--- linux-2.6.32.orig/MAINTAINERS +++ linux-2.6.32/MAINTAINERS @@ -1974,6 +1974,12 @@ S: Maintained F: drivers/platform/x86/eeepc-laptop.c +EFIFB FRAMEBUFFER DRIVER +L: linux-fbdev@vger.kernel.org +M: Peter Jones +S: Maintained +F: drivers/video/efifb.c + EFS FILESYSTEM W: http://aeschi.ch.eu.org/efs/ S: Orphan @@ -5004,8 +5010,7 @@ STABLE BRANCH M: Greg Kroah-Hartman -M: Chris Wright -L: stable@kernel.org +L: stable@vger.kernel.org S: Maintained STAGING SUBSYSTEM @@ -5594,9 +5599,11 @@ F: drivers/net/wireless/rndis_wlan.c USB XHCI DRIVER -M: Sarah Sharp +M: Sarah Sharp L: linux-usb@vger.kernel.org S: Supported +F: drivers/usb/host/xhci* +F: drivers/usb/host/pci-quirks* USB ZC0301 DRIVER M: Luca Risolia @@ -5718,6 +5725,14 @@ S: Maintained F: drivers/net/vmxnet3/ +VMware PVSCSI driver +M: Alok Kataria +M: VMware PV-Drivers +L: linux-scsi@vger.kernel.org +S: Maintained +F: drivers/scsi/vmw_pvscsi.c +F: drivers/scsi/vmw_pvscsi.h + VOLTAGE AND CURRENT REGULATOR FRAMEWORK M: Liam Girdwood M: Mark Brown --- linux-2.6.32.orig/Makefile +++ linux-2.6.32/Makefile @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 32 -EXTRAVERSION = +EXTRAVERSION = .59+drm33.24 NAME = Man-Eating Seals of Antiquity # *DOCUMENTATION* @@ -331,14 +331,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 := -Iinclude \ +LINUXINCLUDE := $(UBUNTUINCLUDE) -Iinclude \ $(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include) \ -I$(srctree)/arch/$(hdr-arch)/include \ -include include/linux/autoconf.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 \ @@ -464,12 +473,12 @@ # Carefully list dependencies so we do not try to build scripts twice # in parallel PHONY += scripts -scripts: scripts_basic include/config/auto.conf +scripts: scripts_basic include/config/auto.conf include/config/tristate.conf $(Q)$(MAKE) $(build)=$(@) # 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/ @@ -491,7 +500,7 @@ # with it and forgot to run make oldconfig. # if auto.conf.cmd is missing then we are probably in a cleaned tree so # we execute the config step to be sure to catch updated Kconfig files -include/config/auto.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd +include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig else # external modules needs include/linux/autoconf.h and include/config/auto.conf @@ -537,6 +546,9 @@ KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector) endif +# This warning generated too much noise in a regular build. +KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable) + ifdef CONFIG_FRAME_POINTER KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls else @@ -565,7 +577,7 @@ KBUILD_CFLAGS += $(call cc-option,-Wdeclaration-after-statement,) # disable pointer signed / unsigned warnings in gcc 4.0 -KBUILD_CFLAGS += $(call cc-option,-Wno-pointer-sign,) +KBUILD_CFLAGS += $(call cc-disable-warning, pointer-sign) # disable invalid "can't wrap" optimizations for signed / pointers KBUILD_CFLAGS += $(call cc-option,-fno-strict-overflow) @@ -876,6 +888,9 @@ PHONY += $(vmlinux-dirs) $(vmlinux-dirs): prepare scripts $(Q)$(MAKE) $(build)=$@ +ifdef CONFIG_MODULES + $(Q)$(MAKE) $(modbuiltin)=$@ +endif # Build the kernel release string # @@ -1126,6 +1141,7 @@ PHONY += modules modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) $(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order + $(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.builtin) > $(objtree)/modules.builtin @$(kecho) ' Building modules, stage 2.'; $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modbuild @@ -1155,6 +1171,7 @@ ln -s $(objtree) $(MODLIB)/build ; \ fi @cp -f $(objtree)/modules.order $(MODLIB)/ + @cp -f $(objtree)/modules.builtin $(MODLIB)/ $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst # This depmod is only for convenience to give the initial @@ -1218,6 +1235,7 @@ -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \ -o -name '*.symtypes' -o -name 'modules.order' \ -o -name 'Module.markers' -o -name '.tmp_*.o.*' \ + -o -name 'modules.builtin' \ -o -name '*.gcno' \) -type f -print | xargs rm -f # mrproper - Delete all generated files, including .config @@ -1416,7 +1434,8 @@ clean: rm-dirs := $(MODVERDIR) clean: rm-files := $(KBUILD_EXTMOD)/Module.symvers \ $(KBUILD_EXTMOD)/Module.markers \ - $(KBUILD_EXTMOD)/modules.order + $(KBUILD_EXTMOD)/modules.order \ + $(KBUILD_EXTMOD)/modules.builtin clean: $(clean-dirs) $(call cmd,rmdirs) $(call cmd,rmfiles) --- linux-2.6.32.orig/Documentation/Changes +++ linux-2.6.32/Documentation/Changes @@ -49,6 +49,8 @@ o udev 081 # udevinfo -V o grub 0.93 # grub --version o mcelog 0.6 +o iptables 1.4.1 # iptables -V + Kernel compilation ================== --- linux-2.6.32.orig/Documentation/HOWTO +++ linux-2.6.32/Documentation/HOWTO @@ -275,8 +275,8 @@ If no 2.6.x.y kernel is available, then the highest numbered 2.6.x kernel is the current stable kernel. -2.6.x.y are maintained by the "stable" team , and are -released as needs dictate. The normal release period is approximately +2.6.x.y are maintained by the "stable" team , and +are released as needs dictate. The normal release period is approximately two weeks, but it can be longer if there are no pressing problems. A security-related problem, instead, can cause a release to happen almost instantly. --- linux-2.6.32.orig/Documentation/Makefile +++ linux-2.6.32/Documentation/Makefile @@ -1,3 +1,3 @@ obj-m := DocBook/ accounting/ auxdisplay/ connector/ \ filesystems/configfs/ ia64/ networking/ \ - pcmcia/ spi/ video4linux/ vm/ watchdog/src/ + pcmcia/ spi/ vm/ watchdog/src/ --- linux-2.6.32.orig/Documentation/kernel-parameters.txt +++ linux-2.6.32/Documentation/kernel-parameters.txt @@ -241,7 +241,7 @@ acpi_sleep= [HW,ACPI] Sleep options Format: { s3_bios, s3_mode, s3_beep, s4_nohwsig, - old_ordering, s4_nonvs } + old_ordering, s4_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 @@ -254,6 +254,9 @@ of _PTS is used by default). s4_nonvs prevents the kernel from saving/restoring the ACPI NVS memory during hibernation. + sci_force_enable causes the kernel to set SCI_EN directly + on resume from S1/S3 (which is against the ACPI spec, + but some broken systems don't work without it). acpi_use_timer_override [HW,ACPI] Use timer override. For some broken Nvidia NF5 boards @@ -875,6 +878,7 @@ i8042.panicblink= [HW] Frequency with which keyboard LEDs should blink when kernel panics (default is 0.5 sec) + i8042.notimeout [HW] Ignore timeout condition signalled by conroller i8042.reset [HW] Reset the controller during init and cleanup i8042.unlock [HW] Unlock (ignore) the keylock @@ -1622,7 +1626,7 @@ noclflush [BUGS=X86] Don't use the CLFLUSH instruction - nodelayacct [KNL] Disable per-task delay accounting + delayacct [KNL] Enable per-task delay accounting nodisconnect [HW,SCSI,M68K] Disables SCSI disconnects. @@ -2574,6 +2578,10 @@ disables clocksource verification at runtime. Used to enable high-resolution timer mode on older hardware, and in virtualized environment. + [x86] noirqtime: Do not use TSC to do irq accounting. + Used to run time disable IRQ_TIME_ACCOUNTING on any + platforms where RDTSC is slow and this accounting + can add overhead. turbografx.map[2|3]= [HW,JOY] TurboGraFX parallel port interface @@ -2645,6 +2653,8 @@ to a common usb-storage quirk flag as follows: a = SANE_SENSE (collect more than 18 bytes of sense data); + b = BAD_SENSE (don't collect more than 18 + bytes of sense data); c = FIX_CAPACITY (decrease the reported device capacity by one sector); h = CAPACITY_HEURISTICS (decrease the @@ -2666,6 +2676,13 @@ medium is write-protected). Example: quirks=0419:aaf5:rl,0421:0433:rc + userpte= + [X86] Flags controlling user PTE allocations. + + nohigh = do not allocate PTE pages in + HIGHMEM regardless of setting + of CONFIG_HIGHPTE. + vdso= [X86,SH] vdso=2: enable compat VDSO (default with COMPAT_VDSO) vdso=1: enable VDSO (default) --- linux-2.6.32.orig/Documentation/stable_kernel_rules.txt +++ linux-2.6.32/Documentation/stable_kernel_rules.txt @@ -25,13 +25,13 @@ Procedure for submitting patches to the -stable tree: - Send the patch, after verifying that it follows the above rules, to - stable@kernel.org. + stable@vger.kernel.org. - The sender will receive an ACK when the patch has been accepted into the queue, or a NAK if the patch is rejected. This response might take a few days, according to the developer's schedules. - If accepted, the patch will be added to the -stable queue, for review by other developers and by the relevant subsystem maintainer. - - If the stable@kernel.org address is added to a patch, when it goes into + - If the stable@vger.kernel.org address is added to a patch, when it goes into Linus's tree it will automatically be emailed to the stable team. - Security patches should not be sent to this alias, but instead to the documented security@kernel.org address. --- linux-2.6.32.orig/Documentation/DocBook/Makefile +++ linux-2.6.32/Documentation/DocBook/Makefile @@ -32,28 +32,37 @@ ### # The targets that may be used. -PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs cleandocs media +PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs cleandocs xmldoclinks BOOKS := $(addprefix $(obj)/,$(DOCBOOKS)) -xmldocs: $(BOOKS) +xmldocs: xmldoclinks $(BOOKS) sgmldocs: xmldocs PS := $(patsubst %.xml, %.ps, $(BOOKS)) -psdocs: $(PS) +psdocs: xmldoclinks $(PS) PDF := $(patsubst %.xml, %.pdf, $(BOOKS)) -pdfdocs: $(PDF) +pdfdocs: xmldoclinks $(PDF) HTML := $(sort $(patsubst %.xml, %.html, $(BOOKS))) -htmldocs: media $(HTML) +htmldocs: xmldoclinks $(HTML) $(call build_main_index) + $(call build_images) MAN := $(patsubst %.xml, %.9, $(BOOKS)) mandocs: $(MAN) -media: - mkdir -p $(srctree)/Documentation/DocBook/media/ - cp $(srctree)/Documentation/DocBook/dvb/*.png $(srctree)/Documentation/DocBook/v4l/*.gif $(srctree)/Documentation/DocBook/media/ +build_images = mkdir -p $(objtree)/Documentation/DocBook/media/ && \ + cp $(srctree)/Documentation/DocBook/dvb/*.png $(srctree)/Documentation/DocBook/v4l/*.gif $(objtree)/Documentation/DocBook/media/ + +xmldoclinks: +ifneq ($(objtree),$(srctree)) + for dep in dvb media-entities.tmpl media-indices.tmpl v4l; do \ + rm -f $(objtree)/Documentation/DocBook/$$dep \ + && ln -s $(srctree)/Documentation/DocBook/$$dep $(objtree)/Documentation/DocBook/ \ + || exit; \ + done +endif installmandocs: mandocs mkdir -p /usr/local/man/man9/ --- linux-2.6.32.orig/Documentation/development-process/5.Posting +++ linux-2.6.32/Documentation/development-process/5.Posting @@ -267,10 +267,10 @@ the linux-kernel list. - If you are fixing a bug, think about whether the fix should go into the - next stable update. If so, stable@kernel.org should get a copy of the - patch. Also add a "Cc: stable@kernel.org" to the tags within the patch - itself; that will cause the stable team to get a notification when your - fix goes into the mainline. + next stable update. If so, stable@vger.kernel.org should get a copy of + the patch. Also add a "Cc: stable@vger.kernel.org" to the tags within + the patch itself; that will cause the stable team to get a notification + when your fix goes into the mainline. When selecting recipients for a patch, it is good to have an idea of who you think will eventually accept the patch and get it merged. While it --- linux-2.6.32.orig/Documentation/kvm/api.txt +++ linux-2.6.32/Documentation/kvm/api.txt @@ -593,6 +593,42 @@ } chip; }; +4.27 KVM_GET_CLOCK + +Capability: KVM_CAP_ADJUST_CLOCK +Architectures: x86 +Type: vm ioctl +Parameters: struct kvm_clock_data (out) +Returns: 0 on success, -1 on error + +Gets the current timestamp of kvmclock as seen by the current guest. In +conjunction with KVM_SET_CLOCK, it is used to ensure monotonicity on scenarios +such as migration. + +struct kvm_clock_data { + __u64 clock; /* kvmclock current value */ + __u32 flags; + __u32 pad[9]; +}; + +4.28 KVM_SET_CLOCK + +Capability: KVM_CAP_ADJUST_CLOCK +Architectures: x86 +Type: vm ioctl +Parameters: struct kvm_clock_data (in) +Returns: 0 on success, -1 on error + +Sets the current timestamp of kvmclock to the valued specific in its parameter. +In conjunction with KVM_GET_CLOCK, it is used to ensure monotonicity on scenarios +such as migration. + +struct kvm_clock_data { + __u64 clock; /* kvmclock current value */ + __u32 flags; + __u32 pad[9]; +}; + 5. The kvm_run structure Application code obtains a pointer to the kvm_run structure by --- linux-2.6.32.orig/Documentation/filesystems/ext4.txt +++ linux-2.6.32/Documentation/filesystems/ext4.txt @@ -153,8 +153,8 @@ identified through its new major/minor numbers encoded in devnum. -noload Don't load the journal on mounting. Note that - if the filesystem was not unmounted cleanly, +norecovery Don't load the journal on mounting. Note that +noload if the filesystem was not unmounted cleanly, skipping the journal replay will lead to the filesystem containing inconsistencies that can lead to any number of problems. @@ -196,7 +196,7 @@ also be used to enable or disable barriers, for consistency with other ext4 mount options. -inode_readahead=n This tuning parameter controls the maximum +inode_readahead_blks=n This tuning parameter controls the maximum number of inode table blocks that ext4's inode table readahead algorithm will pre-read into the buffer cache. The default value is 32 blocks. @@ -353,6 +353,12 @@ system crashes before the delayed allocation blocks are forced to disk. +discard Controls whether ext4 should issue discard/TRIM +nodiscard(*) commands to the underlying block device when + blocks are freed. This is useful for SSD devices + and sparse/thinly-provisioned LUNs, but it is off + by default until sufficient testing has been done. + Data Mode ========= There are 3 different data modes: --- linux-2.6.32.orig/Documentation/filesystems/proc.txt +++ linux-2.6.32/Documentation/filesystems/proc.txt @@ -176,7 +176,6 @@ CapBnd: ffffffffffffffff voluntary_ctxt_switches: 0 nonvoluntary_ctxt_switches: 1 - Stack usage: 12 kB This shows you nearly the same information you would get if you viewed it with the ps command. In fact, ps uses the proc file system to obtain its @@ -230,7 +229,6 @@ Mems_allowed_list Same as previous, but in "list format" voluntary_ctxt_switches number of voluntary context switches nonvoluntary_ctxt_switches number of non voluntary context switches - Stack usage: stack usage high water mark (round up to page size) .............................................................................. Table 1-3: Contents of the statm files (as of 2.6.8-rc3) @@ -309,7 +307,7 @@ 08049000-0804a000 rw-p 00001000 03:00 8312 /opt/test 0804a000-0806b000 rw-p 00000000 00:00 0 [heap] a7cb1000-a7cb2000 ---p 00000000 00:00 0 -a7cb2000-a7eb2000 rw-p 00000000 00:00 0 [threadstack:001ff4b4] +a7cb2000-a7eb2000 rw-p 00000000 00:00 0 a7eb2000-a7eb3000 ---p 00000000 00:00 0 a7eb3000-a7ed5000 rw-p 00000000 00:00 0 a7ed5000-a8008000 r-xp 00000000 03:00 4222 /lib/libc.so.6 @@ -345,7 +343,6 @@ [stack] = the stack of the main process [vdso] = the "virtual dynamic shared object", the kernel system call handler - [threadstack:xxxxxxxx] = the stack of the thread, xxxxxxxx is the stack size or if empty, the mapping is anonymous. --- linux-2.6.32.orig/Documentation/filesystems/tmpfs.txt +++ linux-2.6.32/Documentation/filesystems/tmpfs.txt @@ -82,11 +82,13 @@ all files in that instance (if CONFIG_NUMA is enabled) - which can be adjusted on the fly via 'mount -o remount ...' -mpol=default prefers to allocate memory from the local node +mpol=default use the process allocation policy + (see set_mempolicy(2)) mpol=prefer:Node prefers to allocate memory from the given Node mpol=bind:NodeList allocates memory only from nodes in NodeList mpol=interleave prefers to allocate from each node in turn mpol=interleave:NodeList allocates from each node of NodeList in turn +mpol=local prefers to allocate memory from the local node NodeList format is a comma-separated list of decimal numbers and ranges, a range being two hyphen-separated decimal numbers, the smallest and @@ -134,3 +136,5 @@ Christoph Rohland , 1.12.01 Updated: Hugh Dickins, 4 June 2007 +Updated: + KOSAKI Motohiro, 16 Mar 2010 --- linux-2.6.32.orig/Documentation/hwmon/ltc4245 +++ linux-2.6.32/Documentation/hwmon/ltc4245 @@ -72,9 +72,7 @@ in7_min_alarm 3v output undervoltage alarm in8_min_alarm Vee (-12v) output undervoltage alarm -in9_input GPIO #1 voltage data -in10_input GPIO #2 voltage data -in11_input GPIO #3 voltage data +in9_input GPIO voltage data power1_input 12v power usage (mW) power2_input 5v power usage (mW) --- linux-2.6.32.orig/Documentation/i2c/instantiating-devices +++ linux-2.6.32/Documentation/i2c/instantiating-devices @@ -100,7 +100,7 @@ (...) i2c_adap = i2c_get_adapter(2); memset(&i2c_info, 0, sizeof(struct i2c_board_info)); - strlcpy(i2c_info.name, "isp1301_pnx", I2C_NAME_SIZE); + strlcpy(i2c_info.type, "isp1301_pnx", I2C_NAME_SIZE); isp1301_i2c_client = i2c_new_probed_device(i2c_adap, &i2c_info, normal_i2c); i2c_put_adapter(i2c_adap); --- linux-2.6.32.orig/Documentation/i2c/busses/i2c-i801 +++ linux-2.6.32/Documentation/i2c/busses/i2c-i801 @@ -15,7 +15,8 @@ * Intel 82801I (ICH9) * Intel EP80579 (Tolapai) * Intel 82801JI (ICH10) - * Intel PCH + * Intel 3400/5 Series (PCH) + * Intel Cougar Point (PCH) Datasheets: Publicly available at the Intel website Authors: --- linux-2.6.32.orig/Documentation/kbuild/kbuild.txt +++ linux-2.6.32/Documentation/kbuild/kbuild.txt @@ -1,3 +1,17 @@ +Output files + +modules.order +-------------------------------------------------- +This file records the order in which modules appear in Makefiles. This +is used by modprobe to deterministically resolve aliases that match +multiple modules. + +modules.builtin +-------------------------------------------------- +This file lists all modules that are built into the kernel. This is used +by modprobe to not fail when trying to load something builtin. + + Environment variables KCPPFLAGS --- linux-2.6.32.orig/Documentation/kbuild/kconfig.txt +++ linux-2.6.32/Documentation/kbuild/kconfig.txt @@ -103,6 +103,11 @@ This environment variable can be set to specify the path & name of the "auto.conf" file. Its default value is "include/config/auto.conf". +KCONFIG_TRISTATE +-------------------------------------------------- +This environment variable can be set to specify the path & name of the +"tristate.conf" file. Its default value is "include/config/tristate.conf". + KCONFIG_AUTOHEADER -------------------------------------------------- This environment variable can be set to specify the path & name of the --- linux-2.6.32.orig/Documentation/kbuild/makefiles.txt +++ linux-2.6.32/Documentation/kbuild/makefiles.txt @@ -502,6 +502,18 @@ gcc >= 3.00. For gcc < 3.00, -malign-functions=4 is used. Note: cc-option-align uses KBUILD_CFLAGS for $(CC) options + cc-disable-warning + cc-disable-warning checks if gcc supports a given warning and returns + the commandline switch to disable it. This special function is needed, + because gcc 4.4 and later accept any unknown -Wno-* option and only + warn about it if there is another warning in the source file. + + Example: + KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable) + + In the above example, -Wno-unused-but-set-variable will be added to + KBUILD_CFLAGS only if gcc really accepts it. + cc-version cc-version returns a numerical version of the $(CC) compiler version. The format is where both are two digits. So for example --- linux-2.6.32.orig/Documentation/networking/3c509.txt +++ linux-2.6.32/Documentation/networking/3c509.txt @@ -48,11 +48,11 @@ This configures the first found 3c509 card for IRQ 10, base I/O 0x310, and transceiver type 3 (10base2). The flag "0x3c509" must be set to avoid conflicts with other card types when overriding the I/O address. When the driver is -loaded as a module, only the IRQ and transceiver setting may be overridden. -For example, setting two cards to 10base2/IRQ10 and AUI/IRQ11 is done by using -the xcvr and irq module options: +loaded as a module, only the IRQ may be overridden. For example, +setting two cards to IRQ10 and IRQ11 is done by using the irq module +option: - options 3c509 xcvr=3,1 irq=10,11 + options 3c509 irq=10,11 (2) Full-duplex mode @@ -77,6 +77,8 @@ itself full-duplex capable. This is almost certainly one of two things: a full- duplex-capable Ethernet switch (*not* a hub), or a full-duplex-capable NIC on another system that's connected directly to the 3c509B via a crossover cable. + +Full-duplex mode can be enabled using 'ethtool'. /////Extremely important caution concerning full-duplex mode///// Understand that the 3c509B's hardware's full-duplex support is much more @@ -113,6 +115,8 @@ never automatically enable full-duplex mode in an existing installation; it must always be explicitly enabled via one of these code in order to be activated. + +The transceiver type can be changed using 'ethtool'. (4a) Interpretation of error messages and common problems --- linux-2.6.32.orig/Documentation/networking/README.ipw2200 +++ linux-2.6.32/Documentation/networking/README.ipw2200 @@ -171,7 +171,7 @@ led Can be used to turn on experimental LED code. - 0 = Off, 1 = On. Default is 0. + 0 = Off, 1 = On. Default is 1. mode Can be used to set the default mode of the adapter. --- linux-2.6.32.orig/Documentation/sound/alsa/HD-Audio-Models.txt +++ linux-2.6.32/Documentation/sound/alsa/HD-Audio-Models.txt @@ -401,4 +401,5 @@ Cirrus Logic CS4206/4207 ======================== mbp55 MacBook Pro 5,5 + imac27 IMac 27 Inch auto BIOS setup (default) --- linux-2.6.32.orig/Documentation/usb/usbmon.txt +++ linux-2.6.32/Documentation/usb/usbmon.txt @@ -43,10 +43,11 @@ 2. Find which bus connects to the desired device -Run "cat /proc/bus/usb/devices", and find the T-line which corresponds to -the device. Usually you do it by looking for the vendor string. If you have -many similar devices, unplug one and compare two /proc/bus/usb/devices outputs. -The T-line will have a bus number. Example: +Run "cat /sys/kernel/debug/usb/devices", and find the T-line which corresponds +to the device. Usually you do it by looking for the vendor string. If you have +many similar devices, unplug one and compare the two +/sys/kernel/debug/usb/devices outputs. The T-line will have a bus number. +Example: T: Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 @@ -54,7 +55,10 @@ S: Manufacturer=ATEN S: Product=UC100KM V2.00 -Bus=03 means it's bus 3. +"Bus=03" means it's bus 3. Alternatively, you can look at the output from +"lsusb" and get the bus number from the appropriate line. Example: + +Bus 003 Device 002: ID 0557:2004 ATEN UC100KM V2.00 3. Start 'cat' --- linux-2.6.32.orig/Documentation/usb/proc_usb_info.txt +++ linux-2.6.32/Documentation/usb/proc_usb_info.txt @@ -1,12 +1,17 @@ /proc/bus/usb filesystem output =============================== -(version 2003.05.30) +(version 2010.09.13) The usbfs filesystem for USB devices is traditionally mounted at /proc/bus/usb. It provides the /proc/bus/usb/devices file, as well as the /proc/bus/usb/BBB/DDD files. +In many modern systems the usbfs filsystem isn't used at all. Instead +USB device nodes are created under /dev/usb/ or someplace similar. The +"devices" file is available in debugfs, typically as +/sys/kernel/debug/usb/devices. + **NOTE**: If /proc/bus/usb appears empty, and a host controller driver has been linked, then you need to mount the @@ -106,8 +111,8 @@ Topology info: -T: Bus=dd Lev=dd Prnt=dd Port=dd Cnt=dd Dev#=ddd Spd=ddd MxCh=dd -| | | | | | | | |__MaxChildren +T: Bus=dd Lev=dd Prnt=dd Port=dd Cnt=dd Dev#=ddd Spd=dddd MxCh=dd +| | | | | | | | |__MaxChildren | | | | | | | |__Device Speed in Mbps | | | | | | |__DeviceNumber | | | | | |__Count of devices at this level @@ -120,8 +125,13 @@ Speed may be: 1.5 Mbit/s for low speed USB 12 Mbit/s for full speed USB - 480 Mbit/s for high speed USB (added for USB 2.0) - + 480 Mbit/s for high speed USB (added for USB 2.0); + also used for Wireless USB, which has no fixed speed + 5000 Mbit/s for SuperSpeed USB (added for USB 3.0) + + For reasons lost in the mists of time, the Port number is always + too low by 1. For example, a device plugged into port 4 will + show up with "Port=03". Bandwidth info: B: Alloc=ddd/ddd us (xx%), #Int=ddd, #Iso=ddd @@ -291,7 +301,7 @@ an external hub connected to the root hub, and a mouse and a serial converter connected to the external hub. -T: Bus=00 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 +T: Bus=00 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 B: Alloc= 28/900 us ( 3%), #Int= 2, #Iso= 0 D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 0.00 @@ -301,21 +311,21 @@ I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms -T: Bus=00 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 4 +T: Bus=00 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 4 D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0451 ProdID=1446 Rev= 1.00 C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=255ms -T: Bus=00 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=1.5 MxCh= 0 +T: Bus=00 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=1.5 MxCh= 0 D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=04b4 ProdID=0001 Rev= 0.00 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=mouse E: Ad=81(I) Atr=03(Int.) MxPS= 3 Ivl= 10ms -T: Bus=00 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#= 4 Spd=12 MxCh= 0 +T: Bus=00 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0565 ProdID=0001 Rev= 1.08 S: Manufacturer=Peracom Networks, Inc. @@ -330,12 +340,12 @@ Selecting only the "T:" and "I:" lines from this (for example, by using "procusb ti"), we have: -T: Bus=00 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 -T: Bus=00 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 4 +T: Bus=00 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 +T: Bus=00 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 4 I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub -T: Bus=00 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=1.5 MxCh= 0 +T: Bus=00 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=1.5 MxCh= 0 I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=mouse -T: Bus=00 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#= 4 Spd=12 MxCh= 0 +T: Bus=00 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#= 4 Spd=12 MxCh= 0 I: If#= 0 Alt= 0 #EPs= 3 Cls=00(>ifc ) Sub=00 Prot=00 Driver=serial --- linux-2.6.32.orig/Documentation/video4linux/CARDLIST.saa7134 +++ linux-2.6.32/Documentation/video4linux/CARDLIST.saa7134 @@ -172,3 +172,4 @@ 171 -> Beholder BeholdTV X7 [5ace:7595] 172 -> RoverMedia TV Link Pro FM [19d1:0138] 173 -> Zolid Hybrid TV Tuner PCI [1131:2004] +174 -> Asus Europa Hybrid OEM [1043:4847] --- linux-2.6.32.orig/Documentation/video4linux/gspca.txt +++ linux-2.6.32/Documentation/video4linux/gspca.txt @@ -37,6 +37,7 @@ ov519 041e:4060 Creative Live! VISTA VF0350 ov519 041e:4061 Creative Live! VISTA VF0400 ov519 041e:4064 Creative Live! VISTA VF0420 +ov519 041e:4067 Creative Live! Cam Video IM (VF0350) ov519 041e:4068 Creative Live! VISTA VF0470 spca561 0458:7004 Genius VideoCAM Express V2 sunplus 0458:7006 Genius Dsc 1.3 Smart --- linux-2.6.32.orig/arch/Kconfig +++ linux-2.6.32/arch/Kconfig @@ -6,8 +6,6 @@ tristate "OProfile system profiling (EXPERIMENTAL)" depends on PROFILING depends on HAVE_OPROFILE - depends on TRACING_SUPPORT - select TRACING select RING_BUFFER select RING_BUFFER_ALLOW_SWAP help --- linux-2.6.32.orig/arch/alpha/kernel/err_marvel.c +++ linux-2.6.32/arch/alpha/kernel/err_marvel.c @@ -109,7 +109,7 @@ #define IO7__ERR_CYC__CYCLE__M (0x7) printk("%s Packet In Error: %s\n" - "%s Error in %s, cycle %ld%s%s\n", + "%s Error in %s, cycle %lld%s%s\n", err_print_prefix, packet_desc[EXTRACT(err_cyc, IO7__ERR_CYC__PACKET)], err_print_prefix, @@ -313,7 +313,7 @@ } printk("%s Up Hose Garbage Symptom:\n" - "%s Source Port: %ld - Dest PID: %ld - OpCode: %s\n", + "%s Source Port: %lld - Dest PID: %lld - OpCode: %s\n", err_print_prefix, err_print_prefix, EXTRACT(ugbge_sym, IO7__PO7_UGBGE_SYM__UPH_SRC_PORT), @@ -552,7 +552,7 @@ #define IO7__POX_SPLCMPLT__REM_BYTE_COUNT__M (0xfff) printk("%s Split Completion Error:\n" - "%s Source (Bus:Dev:Func): %ld:%ld:%ld\n", + "%s Source (Bus:Dev:Func): %lld:%lld:%lld\n", err_print_prefix, err_print_prefix, EXTRACT(spl_cmplt, IO7__POX_SPLCMPLT__SOURCE_BUS), --- linux-2.6.32.orig/arch/alpha/kernel/osf_sys.c +++ linux-2.6.32/arch/alpha/kernel/osf_sys.c @@ -178,25 +178,18 @@ unsigned long, prot, unsigned long, flags, unsigned long, fd, unsigned long, off) { - struct file *file = NULL; - unsigned long ret = -EBADF; + unsigned long ret = -EINVAL; #if 0 if (flags & (_MAP_HASSEMAPHORE | _MAP_INHERIT | _MAP_UNALIGNED)) printk("%s: unimplemented OSF mmap flags %04lx\n", current->comm, flags); #endif - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - down_write(¤t->mm->mmap_sem); - ret = do_mmap(file, addr, len, prot, flags, off); - up_write(¤t->mm->mmap_sem); - if (file) - fput(file); + if ((off + PAGE_ALIGN(len)) < off) + goto out; + if (off & ~PAGE_MASK) + goto out; + ret = sys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT); out: return ret; } @@ -438,7 +431,7 @@ return -EFAULT; len = namelen; - if (namelen > 32) + if (len > 32) len = 32; down_read(&uts_sem); @@ -625,7 +618,7 @@ down_read(&uts_sem); res = sysinfo_table[offset]; len = strlen(res)+1; - if (len > count) + if ((unsigned long)len > (unsigned long)count) len = count; if (copy_to_user(buf, res, len)) err = -EFAULT; @@ -680,7 +673,7 @@ return 1; case GSI_GET_HWRPB: - if (nbytes < sizeof(*hwrpb)) + if (nbytes > sizeof(*hwrpb)) return -EINVAL; if (copy_to_user(buffer, hwrpb, nbytes) != 0) return -EFAULT; @@ -1042,6 +1035,7 @@ { struct rusage r; long ret, err; + unsigned int status = 0; mm_segment_t old_fs; if (!ur) @@ -1050,13 +1044,15 @@ old_fs = get_fs(); set_fs (KERNEL_DS); - ret = sys_wait4(pid, ustatus, options, (struct rusage __user *) &r); + ret = sys_wait4(pid, (unsigned int __user *) &status, options, + (struct rusage __user *) &r); set_fs (old_fs); if (!access_ok(VERIFY_WRITE, ur, sizeof(*ur))) return -EFAULT; err = 0; + err |= put_user(status, ustatus); err |= __put_user(r.ru_utime.tv_sec, &ur->ru_utime.tv_sec); err |= __put_user(r.ru_utime.tv_usec, &ur->ru_utime.tv_usec); err |= __put_user(r.ru_stime.tv_sec, &ur->ru_stime.tv_sec); --- linux-2.6.32.orig/arch/arm/Kconfig +++ linux-2.6.32/arch/arm/Kconfig @@ -887,6 +887,18 @@ ACTLR register. Note that setting specific bits in the ACTLR register may not be available in non-secure mode. +config ARM_ERRATA_720789 + bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID" + depends on CPU_V7 && SMP + help + This option enables the workaround for the 720789 Cortex-A9 (prior to + r2p0) erratum. A faulty ASID can be sent to the other CPUs for the + broadcasted CP15 TLB maintenance operations TLBIASIDIS and TLBIMVAIS. + As a consequence of this erratum, some TLB entries which should be + invalidated are not, resulting in an incoherency in the system page + tables. The workaround changes the TLB flushing routines to invalidate + entries regardless of the ASID. + endmenu source "arch/arm/common/Kconfig" @@ -1320,6 +1332,18 @@ Should the atags used to boot the kernel be exported in an "atags" file in procfs. Useful with kexec. +config PL310_ERRATA_769419 + bool "PL310 errata: no automatic Store Buffer drain" + depends on CACHE_L2X0 + help + On revisions of the PL310 prior to r3p2, the Store Buffer does + not automatically drain. This can cause normal, non-cacheable + writes to be retained when the memory system is idle, leading + to suboptimal I/O performance for drivers using coherent DMA. + This option adds a write barrier to the cpu_idle loop so that, + on systems with an outer cache, the store buffer is drained + explicitly. + endmenu menu "CPU Power Management" @@ -1508,6 +1532,8 @@ source "drivers/Kconfig" +source "ubuntu/Kconfig" + source "fs/Kconfig" source "arch/arm/Kconfig.debug" --- linux-2.6.32.orig/arch/arm/boot/compressed/head.S +++ linux-2.6.32/arch/arm/boot/compressed/head.S @@ -162,9 +162,9 @@ .text adr r0, LC0 - ARM( ldmia r0, {r1, r2, r3, r4, r5, r6, ip, sp} ) - THUMB( ldmia r0, {r1, r2, r3, r4, r5, r6, ip} ) - THUMB( ldr sp, [r0, #28] ) + ARM( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip, sp}) + THUMB( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip} ) + THUMB( ldr sp, [r0, #32] ) subs r0, r0, r1 @ calculate the delta offset @ if delta is zero, we are @@ -174,12 +174,13 @@ /* * We're running at a different address. We need to fix * up various pointers: - * r5 - zImage base address - * r6 - GOT start + * r5 - zImage base address (_start) + * r6 - size of decompressed image + * r11 - GOT start * ip - GOT end */ add r5, r5, r0 - add r6, r6, r0 + add r11, r11, r0 add ip, ip, r0 #ifndef CONFIG_ZBOOT_ROM @@ -197,10 +198,10 @@ /* * Relocate all entries in the GOT table. */ -1: ldr r1, [r6, #0] @ relocate entries in the GOT +1: ldr r1, [r11, #0] @ relocate entries in the GOT add r1, r1, r0 @ table. This fixes up the - str r1, [r6], #4 @ C references. - cmp r6, ip + str r1, [r11], #4 @ C references. + cmp r11, ip blo 1b #else @@ -208,12 +209,12 @@ * Relocate entries in the GOT table. We only relocate * the entries that are outside the (relocated) BSS region. */ -1: ldr r1, [r6, #0] @ relocate entries in the GOT +1: ldr r1, [r11, #0] @ relocate entries in the GOT cmp r1, r2 @ entry < bss_start || cmphs r3, r1 @ _end < entry addlo r1, r1, r0 @ table. This fixes up the - str r1, [r6], #4 @ C references. - cmp r6, ip + str r1, [r11], #4 @ C references. + cmp r11, ip blo 1b #endif @@ -239,6 +240,7 @@ * Check to see if we will overwrite ourselves. * r4 = final kernel address * r5 = start of this image + * r6 = size of decompressed image * r2 = end of malloc space (and therefore this image) * We basically want: * r4 >= r2 -> OK @@ -246,8 +248,7 @@ */ cmp r4, r2 bhs wont_overwrite - sub r3, sp, r5 @ > compressed kernel size - add r0, r4, r3, lsl #2 @ allow for 4x expansion + add r0, r4, r6 cmp r0, r5 bls wont_overwrite @@ -263,7 +264,6 @@ * r1-r3 = unused * r4 = kernel execution address * r5 = decompressed kernel start - * r6 = processor ID * r7 = architecture ID * r8 = atags pointer * r9-r12,r14 = corrupted @@ -304,7 +304,8 @@ .word _end @ r3 .word zreladdr @ r4 .word _start @ r5 - .word _got_start @ r6 + .word _image_size @ r6 + .word _got_start @ r11 .word _got_end @ ip .word user_stack+4096 @ sp LC1: .word reloc_end - reloc_start @@ -328,7 +329,6 @@ * * On entry, * r4 = kernel execution address - * r6 = processor ID * r7 = architecture number * r8 = atags pointer * r9 = run-time address of "start" (???) @@ -534,7 +534,6 @@ * r1-r3 = unused * r4 = kernel execution address * r5 = decompressed kernel start - * r6 = processor ID * r7 = architecture ID * r8 = atags pointer * r9-r12,r14 = corrupted @@ -573,19 +572,19 @@ * r1 = corrupted * r2 = corrupted * r3 = block offset - * r6 = corrupted + * r9 = corrupted * r12 = corrupted */ call_cache_fn: adr r12, proc_types #ifdef CONFIG_CPU_CP15 - mrc p15, 0, r6, c0, c0 @ get processor ID + mrc p15, 0, r9, c0, c0 @ get processor ID #else - ldr r6, =CONFIG_PROCESSOR_ID + ldr r9, =CONFIG_PROCESSOR_ID #endif 1: ldr r1, [r12, #0] @ get value ldr r2, [r12, #4] @ get mask - eor r1, r1, r6 @ (real ^ match) + eor r1, r1, r9 @ (real ^ match) tst r1, r2 @ & mask ARM( addeq pc, r12, r3 ) @ call cache function THUMB( addeq r12, r3 ) @@ -764,8 +763,7 @@ * Turn off the Cache and MMU. ARMv3 does not support * reading the control register, but ARMv4 does. * - * On entry, r6 = processor ID - * On exit, r0, r1, r2, r3, r12 corrupted + * On exit, r0, r1, r2, r3, r9, r12 corrupted * This routine must preserve: r4, r6, r7 */ .align 5 @@ -838,10 +836,8 @@ /* * Clean and flush the cache to maintain consistency. * - * On entry, - * r6 = processor ID * On exit, - * r1, r2, r3, r11, r12 corrupted + * r1, r2, r3, r9, r11, r12 corrupted * This routine must preserve: * r0, r4, r5, r6, r7 */ @@ -953,7 +949,7 @@ mov r2, #64*1024 @ default: 32K dcache size (*2) mov r11, #32 @ default: 32 byte line size mrc p15, 0, r3, c0, c0, 1 @ read cache type - teq r3, r6 @ cache ID register present? + teq r3, r9 @ cache ID register present? beq no_cache_id mov r1, r3, lsr #18 and r1, r1, #7 --- linux-2.6.32.orig/arch/arm/boot/compressed/vmlinux.lds.in +++ linux-2.6.32/arch/arm/boot/compressed/vmlinux.lds.in @@ -36,6 +36,9 @@ _etext = .; + /* Assume size of decompressed image is 4x the compressed image */ + _image_size = (_etext - _text) * 4; + _got_start = .; .got : { *(.got) } _got_end = .; --- linux-2.6.32.orig/arch/arm/common/sa1111.c +++ linux-2.6.32/arch/arm/common/sa1111.c @@ -887,8 +887,6 @@ if (!save) return 0; - spin_lock_irqsave(&sachip->lock, flags); - /* * Ensure that the SA1111 is still here. * FIXME: shouldn't do this here. @@ -905,6 +903,13 @@ * First of all, wake up the chip. */ sa1111_wake(sachip); + + /* + * Only lock for write ops. Also, sa1111_wake must be called with + * released spinlock! + */ + spin_lock_irqsave(&sachip->lock, flags); + sa1111_writel(0, sachip->base + SA1111_INTC + SA1111_INTEN0); sa1111_writel(0, sachip->base + SA1111_INTC + SA1111_INTEN1); --- linux-2.6.32.orig/arch/arm/include/asm/assembler.h +++ linux-2.6.32/arch/arm/include/asm/assembler.h @@ -133,6 +133,11 @@ disable_irq .endm + .macro save_and_disable_irqs_notrace, oldcpsr + mrs \oldcpsr, cpsr + disable_irq_notrace + .endm + /* * Restore interrupt state previously stored in a register. We don't * guarantee that this will preserve the flags. @@ -215,7 +220,7 @@ @ Slightly optimised to avoid incrementing the pointer twice usraccoff \instr, \reg, \ptr, \inc, 0, \cond, \abort .if \rept == 2 - usraccoff \instr, \reg, \ptr, \inc, 4, \cond, \abort + usraccoff \instr, \reg, \ptr, \inc, \inc, \cond, \abort .endif add\cond \ptr, #\rept * \inc --- linux-2.6.32.orig/arch/arm/include/asm/mman.h +++ linux-2.6.32/arch/arm/include/asm/mman.h @@ -1 +1,4 @@ #include + +#define arch_mmap_check(addr, len, flags) \ + (((flags) & MAP_FIXED && (addr) < FIRST_USER_ADDRESS) ? -EINVAL : 0) --- linux-2.6.32.orig/arch/arm/include/asm/ptrace.h +++ linux-2.6.32/arch/arm/include/asm/ptrace.h @@ -150,15 +150,24 @@ */ static inline int valid_user_regs(struct pt_regs *regs) { - if (user_mode(regs) && (regs->ARM_cpsr & PSR_I_BIT) == 0) { - regs->ARM_cpsr &= ~(PSR_F_BIT | PSR_A_BIT); - return 1; + unsigned long mode = regs->ARM_cpsr & MODE_MASK; + + /* + * Always clear the F (FIQ) and A (delayed abort) bits + */ + regs->ARM_cpsr &= ~(PSR_F_BIT | PSR_A_BIT); + + if ((regs->ARM_cpsr & PSR_I_BIT) == 0) { + if (mode == USR_MODE) + return 1; + if (elf_hwcap & HWCAP_26BIT && mode == USR26_MODE) + return 1; } /* * Force CPSR to something logical... */ - regs->ARM_cpsr &= PSR_f | PSR_s | (PSR_x & ~PSR_A_BIT) | PSR_T_BIT | MODE32_BIT; + regs->ARM_cpsr &= PSR_f | PSR_s | PSR_x | PSR_T_BIT | MODE32_BIT; if (!(elf_hwcap & HWCAP_26BIT)) regs->ARM_cpsr |= USR_MODE; --- linux-2.6.32.orig/arch/arm/include/asm/tlbflush.h +++ linux-2.6.32/arch/arm/include/asm/tlbflush.h @@ -369,7 +369,11 @@ if (tlb_flag(TLB_V6_I_ASID)) asm("mcr p15, 0, %0, c8, c5, 2" : : "r" (asid) : "cc"); if (tlb_flag(TLB_V7_UIS_ASID)) +#ifdef CONFIG_ARM_ERRATA_720789 + asm("mcr p15, 0, %0, c8, c3, 0" : : "r" (zero) : "cc"); +#else asm("mcr p15, 0, %0, c8, c3, 2" : : "r" (asid) : "cc"); +#endif if (tlb_flag(TLB_BTB)) { /* flush the branch target cache */ @@ -409,7 +413,11 @@ if (tlb_flag(TLB_V6_I_PAGE)) asm("mcr p15, 0, %0, c8, c5, 1" : : "r" (uaddr) : "cc"); if (tlb_flag(TLB_V7_UIS_PAGE)) +#ifdef CONFIG_ARM_ERRATA_720789 + asm("mcr p15, 0, %0, c8, c3, 3" : : "r" (uaddr & PAGE_MASK) : "cc"); +#else asm("mcr p15, 0, %0, c8, c3, 1" : : "r" (uaddr) : "cc"); +#endif if (tlb_flag(TLB_BTB)) { /* flush the branch target cache */ --- linux-2.6.32.orig/arch/arm/kernel/calls.S +++ linux-2.6.32/arch/arm/kernel/calls.S @@ -172,7 +172,7 @@ /* 160 */ CALL(sys_sched_get_priority_min) CALL(sys_sched_rr_get_interval) CALL(sys_nanosleep) - CALL(sys_arm_mremap) + CALL(sys_mremap) CALL(sys_setresuid16) /* 165 */ CALL(sys_getresuid16) CALL(sys_ni_syscall) /* vm86 */ --- linux-2.6.32.orig/arch/arm/kernel/entry-common.S +++ linux-2.6.32/arch/arm/kernel/entry-common.S @@ -382,11 +382,13 @@ sys_sigreturn_wrapper: add r0, sp, #S_OFF + mov why, #0 @ prevent syscall restart handling b sys_sigreturn ENDPROC(sys_sigreturn_wrapper) sys_rt_sigreturn_wrapper: add r0, sp, #S_OFF + mov why, #0 @ prevent syscall restart handling b sys_rt_sigreturn ENDPROC(sys_rt_sigreturn_wrapper) @@ -416,12 +418,12 @@ tst r5, #PGOFF_MASK moveq r5, r5, lsr #PAGE_SHIFT - 12 streq r5, [sp, #4] - beq do_mmap2 + beq sys_mmap_pgoff mov r0, #-EINVAL mov pc, lr #else str r5, [sp, #4] - b do_mmap2 + b sys_mmap_pgoff #endif ENDPROC(sys_mmap2) --- linux-2.6.32.orig/arch/arm/kernel/kprobes-decode.c +++ linux-2.6.32/arch/arm/kernel/kprobes-decode.c @@ -583,13 +583,14 @@ { insn_llret_3arg_fn_t *i_fn = (insn_llret_3arg_fn_t *)&p->ainsn.insn[0]; kprobe_opcode_t insn = p->opcode; + long ppc = (long)p->addr + 8; union reg_pair fnr; int rd = (insn >> 12) & 0xf; int rn = (insn >> 16) & 0xf; int rm = insn & 0xf; long rdv; - long rnv = regs->uregs[rn]; - long rmv = regs->uregs[rm]; /* rm/rmv may be invalid, don't care. */ + long rnv = (rn == 15) ? ppc : regs->uregs[rn]; + long rmv = (rm == 15) ? ppc : regs->uregs[rm]; long cpsr = regs->ARM_cpsr; fnr.dr = insnslot_llret_3arg_rflags(rnv, 0, rmv, cpsr, i_fn); --- linux-2.6.32.orig/arch/arm/kernel/process.c +++ linux-2.6.32/arch/arm/kernel/process.c @@ -156,6 +156,9 @@ #endif local_irq_disable(); +#ifdef CONFIG_PL310_ERRATA_769419 + wmb(); +#endif if (hlt_counter) { local_irq_enable(); cpu_relax(); --- linux-2.6.32.orig/arch/arm/kernel/signal.c +++ linux-2.6.32/arch/arm/kernel/signal.c @@ -389,7 +389,9 @@ unsigned long handler = (unsigned long)ka->sa.sa_handler; unsigned long retcode; int thumb = 0; - unsigned long cpsr = regs->ARM_cpsr & ~PSR_f; + unsigned long cpsr = regs->ARM_cpsr & ~(PSR_f | PSR_E_BIT); + + cpsr |= PSR_ENDSTATE; /* * Maybe we need to deliver a 32-bit signal to a 26-bit task. --- linux-2.6.32.orig/arch/arm/kernel/sys_arm.c +++ linux-2.6.32/arch/arm/kernel/sys_arm.c @@ -28,41 +28,6 @@ #include #include -extern unsigned long do_mremap(unsigned long addr, unsigned long old_len, - unsigned long new_len, unsigned long flags, - unsigned long new_addr); - -/* common code for old and new mmaps */ -inline long do_mmap2( - unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, unsigned long pgoff) -{ - int error = -EINVAL; - struct file * file = NULL; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - - if (flags & MAP_FIXED && addr < FIRST_USER_ADDRESS) - goto out; - - error = -EBADF; - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); -out: - return error; -} - struct mmap_arg_struct { unsigned long addr; unsigned long len; @@ -84,29 +49,11 @@ if (a.offset & ~PAGE_MASK) goto out; - error = do_mmap2(a.addr, a.len, a.prot, a.flags, a.fd, a.offset >> PAGE_SHIFT); + error = sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, a.offset >> PAGE_SHIFT); out: return error; } -asmlinkage unsigned long -sys_arm_mremap(unsigned long addr, unsigned long old_len, - unsigned long new_len, unsigned long flags, - unsigned long new_addr) -{ - unsigned long ret = -EINVAL; - - if (flags & MREMAP_FIXED && new_addr < FIRST_USER_ADDRESS) - goto out; - - down_write(¤t->mm->mmap_sem); - ret = do_mremap(addr, old_len, new_len, flags, new_addr); - up_write(¤t->mm->mmap_sem); - -out: - return ret; -} - /* * Perform the select(nd, in, out, ex, tv) and mmap() system * calls. --- linux-2.6.32.orig/arch/arm/kernel/sys_oabi-compat.c +++ linux-2.6.32/arch/arm/kernel/sys_oabi-compat.c @@ -311,7 +311,7 @@ long err; int i; - if (nsops < 1) + if (nsops < 1 || nsops > SEMOPM) return -EINVAL; sops = kmalloc(sizeof(*sops) * nsops, GFP_KERNEL); if (!sops) --- linux-2.6.32.orig/arch/arm/lib/findbit.S +++ linux-2.6.32/arch/arm/lib/findbit.S @@ -174,8 +174,8 @@ */ .L_found: #if __LINUX_ARM_ARCH__ >= 5 - rsb r1, r3, #0 - and r3, r3, r1 + rsb r0, r3, #0 + and r3, r3, r0 clz r3, r3 rsb r3, r3, #31 add r0, r2, r3 @@ -190,5 +190,7 @@ addeq r2, r2, #1 mov r0, r2 #endif + cmp r1, r0 @ Clamp to maxbit + movlo r0, r1 mov pc, lr --- linux-2.6.32.orig/arch/arm/mach-at91/at91sam9g45_devices.c +++ linux-2.6.32/arch/arm/mach-at91/at91sam9g45_devices.c @@ -46,7 +46,7 @@ .end = AT91_BASE_SYS + AT91_DMA + SZ_512 - 1, .flags = IORESOURCE_MEM, }, - [2] = { + [1] = { .start = AT91SAM9G45_ID_DMA, .end = AT91SAM9G45_ID_DMA, .flags = IORESOURCE_IRQ, --- linux-2.6.32.orig/arch/arm/mach-davinci/board-dm646x-evm.c +++ linux-2.6.32/arch/arm/mach-davinci/board-dm646x-evm.c @@ -502,7 +502,7 @@ int val; u32 value; - if (!vpif_vsclkdis_reg || !cpld_client) + if (!vpif_vidclkctl_reg || !cpld_client) return -ENXIO; val = i2c_smbus_read_byte(cpld_client); @@ -510,7 +510,7 @@ return val; spin_lock_irqsave(&vpif_reg_lock, flags); - value = __raw_readl(vpif_vsclkdis_reg); + value = __raw_readl(vpif_vidclkctl_reg); if (mux_mode) { val &= VPIF_INPUT_TWO_CHANNEL; value |= VIDCH1CLK; @@ -518,7 +518,7 @@ val |= VPIF_INPUT_ONE_CHANNEL; value &= ~VIDCH1CLK; } - __raw_writel(value, vpif_vsclkdis_reg); + __raw_writel(value, vpif_vidclkctl_reg); spin_unlock_irqrestore(&vpif_reg_lock, flags); err = i2c_smbus_write_byte(cpld_client, val); --- linux-2.6.32.orig/arch/arm/mach-davinci/dm646x.c +++ linux-2.6.32/arch/arm/mach-davinci/dm646x.c @@ -789,7 +789,14 @@ .part_no = 0xb770, .manufacturer = 0x017, .cpu_id = DAVINCI_CPU_ID_DM6467, - .name = "dm6467", + .name = "dm6467_rev1.x", + }, + { + .variant = 0x1, + .part_no = 0xb770, + .manufacturer = 0x017, + .cpu_id = DAVINCI_CPU_ID_DM6467, + .name = "dm6467_rev3.x", }, }; --- linux-2.6.32.orig/arch/arm/mach-davinci/board-da850-evm.c +++ linux-2.6.32/arch/arm/mach-davinci/board-da850-evm.c @@ -42,6 +42,32 @@ #define DA850_MMCSD_CD_PIN GPIO_TO_PIN(4, 0) #define DA850_MMCSD_WP_PIN GPIO_TO_PIN(4, 1) +#ifdef CONFIG_MTD +static void da850_evm_m25p80_notify_add(struct mtd_info *mtd) +{ + char *mac_addr = davinci_soc_info.emac_pdata->mac_addr; + size_t retlen; + + if (!strcmp(mtd->name, "MAC-Address")) { + mtd->read(mtd, 0, ETH_ALEN, &retlen, mac_addr); + if (retlen == ETH_ALEN) + pr_info("Read MAC addr from SPI Flash: %pM\n", + mac_addr); + } +} + +static struct mtd_notifier da850evm_spi_notifier = { + .add = da850_evm_m25p80_notify_add, +}; + +static void da850_evm_setup_mac_addr(void) +{ + register_mtd_user(&da850evm_spi_notifier); +} +#else +static void da850_evm_setup_mac_addr(void) { } +#endif + static struct mtd_partition da850_evm_norflash_partition[] = { { .name = "NOR filesystem", @@ -381,6 +407,8 @@ if (ret) pr_warning("da850_evm_init: lcdc registration failed: %d\n", ret); + + da850_evm_setup_mac_addr(); } #ifdef CONFIG_SERIAL_8250_CONSOLE --- linux-2.6.32.orig/arch/arm/mach-davinci/board-dm365-evm.c +++ linux-2.6.32/arch/arm/mach-davinci/board-dm365-evm.c @@ -413,7 +413,7 @@ */ if (have_imager()) { label = "HD imager"; - mux |= 1; + mux |= 2; /* externally mux MMC1/ENET/AIC33 to imager */ mux |= BIT(6) | BIT(5) | BIT(3); @@ -434,7 +434,7 @@ resets &= ~BIT(1); if (have_tvp7002()) { - mux |= 2; + mux |= 1; resets &= ~BIT(2); label = "tvp7002 HD"; } else { --- linux-2.6.32.orig/arch/arm/mach-omap2/board-rx51-peripherals.c +++ linux-2.6.32/arch/arm/mach-omap2/board-rx51-peripherals.c @@ -37,6 +37,10 @@ #define SYSTEM_REV_S_USES_VAUX3 0x8 static int board_keymap[] = { + /* + * Note that KEY(x, 8, KEY_XXX) entries represent "entrire row + * connected to the ground" matrix state. + */ KEY(0, 0, KEY_Q), KEY(0, 1, KEY_O), KEY(0, 2, KEY_P), @@ -44,6 +48,7 @@ KEY(0, 4, KEY_BACKSPACE), KEY(0, 6, KEY_A), KEY(0, 7, KEY_S), + KEY(1, 0, KEY_W), KEY(1, 1, KEY_D), KEY(1, 2, KEY_F), @@ -52,6 +57,7 @@ KEY(1, 5, KEY_J), KEY(1, 6, KEY_K), KEY(1, 7, KEY_L), + KEY(2, 0, KEY_E), KEY(2, 1, KEY_DOT), KEY(2, 2, KEY_UP), @@ -59,6 +65,8 @@ KEY(2, 5, KEY_Z), KEY(2, 6, KEY_X), KEY(2, 7, KEY_C), + KEY(2, 8, KEY_F9), + KEY(3, 0, KEY_R), KEY(3, 1, KEY_V), KEY(3, 2, KEY_B), @@ -67,20 +75,23 @@ KEY(3, 5, KEY_SPACE), KEY(3, 6, KEY_SPACE), KEY(3, 7, KEY_LEFT), + KEY(4, 0, KEY_T), KEY(4, 1, KEY_DOWN), KEY(4, 2, KEY_RIGHT), KEY(4, 4, KEY_LEFTCTRL), KEY(4, 5, KEY_RIGHTALT), KEY(4, 6, KEY_LEFTSHIFT), + KEY(4, 8, KEY_F10), + KEY(5, 0, KEY_Y), + KEY(5, 8, KEY_F11), + KEY(6, 0, KEY_U), + KEY(7, 0, KEY_I), KEY(7, 1, KEY_F7), KEY(7, 2, KEY_F8), - KEY(0xff, 2, KEY_F9), - KEY(0xff, 4, KEY_F10), - KEY(0xff, 5, KEY_F11), }; static struct matrix_keymap_data board_map_data = { --- linux-2.6.32.orig/arch/arm/mach-pxa/cm-x300.c +++ linux-2.6.32/arch/arm/mach-pxa/cm-x300.c @@ -143,10 +143,10 @@ GPIO99_GPIO, /* Ethernet IRQ */ /* RTC GPIOs */ - GPIO95_GPIO, /* RTC CS */ - GPIO96_GPIO, /* RTC WR */ - GPIO97_GPIO, /* RTC RD */ - GPIO98_GPIO, /* RTC IO */ + GPIO95_GPIO | MFP_LPM_DRIVE_HIGH, /* RTC CS */ + GPIO96_GPIO | MFP_LPM_DRIVE_HIGH, /* RTC WR */ + GPIO97_GPIO | MFP_LPM_DRIVE_HIGH, /* RTC RD */ + GPIO98_GPIO, /* RTC IO */ /* Standard I2C */ GPIO21_I2C_SCL, --- linux-2.6.32.orig/arch/arm/mach-pxa/em-x270.c +++ linux-2.6.32/arch/arm/mach-pxa/em-x270.c @@ -497,16 +497,15 @@ goto err_free_vbus_gpio; /* USB Hub power-on and reset */ - gpio_direction_output(usb_hub_reset, 0); + gpio_direction_output(usb_hub_reset, 1); + gpio_direction_output(GPIO9_USB_VBUS_EN, 0); regulator_enable(em_x270_usb_ldo); - gpio_set_value(usb_hub_reset, 1); gpio_set_value(usb_hub_reset, 0); + gpio_set_value(usb_hub_reset, 1); regulator_disable(em_x270_usb_ldo); regulator_enable(em_x270_usb_ldo); - gpio_set_value(usb_hub_reset, 1); - - /* enable VBUS */ - gpio_direction_output(GPIO9_USB_VBUS_EN, 1); + gpio_set_value(usb_hub_reset, 0); + gpio_set_value(GPIO9_USB_VBUS_EN, 1); return 0; --- linux-2.6.32.orig/arch/arm/mach-pxa/include/mach/colibri.h +++ linux-2.6.32/arch/arm/mach-pxa/include/mach/colibri.h @@ -2,6 +2,7 @@ #define _COLIBRI_H_ #include +#include /* * common settings for all modules --- linux-2.6.32.orig/arch/arm/mach-realview/Kconfig +++ linux-2.6.32/arch/arm/mach-realview/Kconfig @@ -18,6 +18,7 @@ bool "Support ARM11MPCore tile" depends on MACH_REALVIEW_EB select CPU_V6 + select ARCH_HAS_BARRIERS if SMP help Enable support for the ARM11MPCore tile on the Realview platform. @@ -35,6 +36,7 @@ select CPU_V6 select ARM_GIC select HAVE_PATA_PLATFORM + select ARCH_HAS_BARRIERS if SMP help Include support for the ARM(R) RealView MPCore Platform Baseboard. PB11MPCore is a platform with an on-board ARM11MPCore and has --- linux-2.6.32.orig/arch/arm/mach-realview/include/mach/barriers.h +++ linux-2.6.32/arch/arm/mach-realview/include/mach/barriers.h @@ -0,0 +1,8 @@ +/* + * Barriers redefined for RealView ARM11MPCore platforms with L220 cache + * controller to work around hardware errata causing the outer_sync() + * operation to deadlock the system. + */ +#define mb() dsb() +#define rmb() dmb() +#define wmb() mb() --- linux-2.6.32.orig/arch/arm/mach-versatile/Kconfig +++ linux-2.6.32/arch/arm/mach-versatile/Kconfig @@ -3,14 +3,14 @@ config ARCH_VERSATILE_PB bool "Support Versatile/PB platform" - select CPU_ARM926T + select CPU_V7 default y help Include support for the ARM(R) Versatile/PB platform. config MACH_VERSATILE_AB bool "Support Versatile/AB platform" - select CPU_ARM926T + select CPU_V7 help Include support for the ARM(R) Versatile/AP platform. --- linux-2.6.32.orig/arch/arm/mm/cache-v7.S +++ linux-2.6.32/arch/arm/mm/cache-v7.S @@ -39,9 +39,15 @@ and r1, r1, #7 @ mask of the bits for current cache only cmp r1, #2 @ see what cache we have at this level blt skip @ skip if no cache, or just i-cache +#ifdef CONFIG_PREEMPT + save_and_disable_irqs_notrace r9 @ make cssr&csidr read atomic +#endif mcr p15, 2, r10, c0, c0, 0 @ select current cache level in cssr isb @ isb to sych the new cssr&csidr mrc p15, 1, r1, c0, c0, 0 @ read the new csidr +#ifdef CONFIG_PREEMPT + restore_irqs_notrace r9 +#endif and r2, r1, #7 @ extract the length of the cache lines add r2, r2, #4 @ add 4 (line length offset) ldr r4, =0x3ff --- linux-2.6.32.orig/arch/arm/mm/copypage-feroceon.c +++ linux-2.6.32/arch/arm/mm/copypage-feroceon.c @@ -18,7 +18,7 @@ { asm("\ stmfd sp!, {r4-r9, lr} \n\ - mov ip, %0 \n\ + mov ip, %2 \n\ 1: mov lr, r1 \n\ ldmia r1!, {r2 - r9} \n\ pld [lr, #32] \n\ @@ -64,7 +64,7 @@ mcr p15, 0, ip, c7, c10, 4 @ drain WB\n\ ldmfd sp!, {r4-r9, pc}" : - : "I" (PAGE_SIZE)); + : "r" (kto), "r" (kfrom), "I" (PAGE_SIZE)); } void feroceon_copy_user_highpage(struct page *to, struct page *from, --- linux-2.6.32.orig/arch/arm/mm/copypage-v4wb.c +++ linux-2.6.32/arch/arm/mm/copypage-v4wb.c @@ -27,7 +27,7 @@ { asm("\ stmfd sp!, {r4, lr} @ 2\n\ - mov r2, %0 @ 1\n\ + mov r2, %2 @ 1\n\ ldmia r1!, {r3, r4, ip, lr} @ 4\n\ 1: mcr p15, 0, r0, c7, c6, 1 @ 1 invalidate D line\n\ stmia r0!, {r3, r4, ip, lr} @ 4\n\ @@ -44,7 +44,7 @@ mcr p15, 0, r1, c7, c10, 4 @ 1 drain WB\n\ ldmfd sp!, {r4, pc} @ 3" : - : "I" (PAGE_SIZE / 64)); + : "r" (kto), "r" (kfrom), "I" (PAGE_SIZE / 64)); } void v4wb_copy_user_highpage(struct page *to, struct page *from, --- linux-2.6.32.orig/arch/arm/mm/copypage-v4wt.c +++ linux-2.6.32/arch/arm/mm/copypage-v4wt.c @@ -25,7 +25,7 @@ { asm("\ stmfd sp!, {r4, lr} @ 2\n\ - mov r2, %0 @ 1\n\ + mov r2, %2 @ 1\n\ ldmia r1!, {r3, r4, ip, lr} @ 4\n\ 1: stmia r0!, {r3, r4, ip, lr} @ 4\n\ ldmia r1!, {r3, r4, ip, lr} @ 4+1\n\ @@ -40,7 +40,7 @@ mcr p15, 0, r2, c7, c7, 0 @ flush ID cache\n\ ldmfd sp!, {r4, pc} @ 3" : - : "I" (PAGE_SIZE / 64)); + : "r" (kto), "r" (kfrom), "I" (PAGE_SIZE / 64)); } void v4wt_copy_user_highpage(struct page *to, struct page *from, --- linux-2.6.32.orig/arch/arm/mm/copypage-xsc3.c +++ linux-2.6.32/arch/arm/mm/copypage-xsc3.c @@ -34,7 +34,7 @@ { asm("\ stmfd sp!, {r4, r5, lr} \n\ - mov lr, %0 \n\ + mov lr, %2 \n\ \n\ pld [r1, #0] \n\ pld [r1, #32] \n\ @@ -67,7 +67,7 @@ \n\ ldmfd sp!, {r4, r5, pc}" : - : "I" (PAGE_SIZE / 64 - 1)); + : "r" (kto), "r" (kfrom), "I" (PAGE_SIZE / 64 - 1)); } void xsc3_mc_copy_user_highpage(struct page *to, struct page *from, --- linux-2.6.32.orig/arch/arm/mm/fault.c +++ linux-2.6.32/arch/arm/mm/fault.c @@ -386,6 +386,9 @@ if (addr < TASK_SIZE) return do_page_fault(addr, fsr, regs); + if (user_mode(regs)) + goto bad_area; + index = pgd_index(addr); /* --- linux-2.6.32.orig/arch/arm/mm/init.c +++ linux-2.6.32/arch/arm/mm/init.c @@ -632,10 +632,10 @@ void free_initmem(void) { #ifdef CONFIG_HAVE_TCM - extern char *__tcm_start, *__tcm_end; + extern char __tcm_start, __tcm_end; - totalram_pages += free_area(__phys_to_pfn(__pa(__tcm_start)), - __phys_to_pfn(__pa(__tcm_end)), + totalram_pages += free_area(__phys_to_pfn(__pa(&__tcm_start)), + __phys_to_pfn(__pa(&__tcm_end)), "TCM link"); #endif --- linux-2.6.32.orig/arch/arm/mm/mmap.c +++ linux-2.6.32/arch/arm/mm/mmap.c @@ -54,7 +54,8 @@ * We enforce the MAP_FIXED case. */ if (flags & MAP_FIXED) { - if (aliasing && flags & MAP_SHARED && addr & (SHMLBA - 1)) + if (aliasing && flags & MAP_SHARED && + (addr - (pgoff << PAGE_SHIFT)) & (SHMLBA - 1)) return -EINVAL; return addr; } --- linux-2.6.32.orig/arch/arm/plat-mxc/gpio.c +++ linux-2.6.32/arch/arm/plat-mxc/gpio.c @@ -223,13 +223,16 @@ struct mxc_gpio_port *port = container_of(chip, struct mxc_gpio_port, chip); u32 l; + unsigned long flags; + spin_lock_irqsave(&port->lock, flags); l = __raw_readl(port->base + GPIO_GDIR); if (dir) l |= 1 << offset; else l &= ~(1 << offset); __raw_writel(l, port->base + GPIO_GDIR); + spin_unlock_irqrestore(&port->lock, flags); } static void mxc_gpio_set(struct gpio_chip *chip, unsigned offset, int value) @@ -238,9 +241,12 @@ container_of(chip, struct mxc_gpio_port, chip); void __iomem *reg = port->base + GPIO_DR; u32 l; + unsigned long flags; + spin_lock_irqsave(&port->lock, flags); l = (__raw_readl(reg) & (~(1 << offset))) | (value << offset); __raw_writel(l, reg); + spin_unlock_irqrestore(&port->lock, flags); } static int mxc_gpio_get(struct gpio_chip *chip, unsigned offset) @@ -294,6 +300,8 @@ port[i].chip.base = i * 32; port[i].chip.ngpio = 32; + spin_lock_init(&port[i].lock); + /* its a serious configuration bug when it fails */ BUG_ON( gpiochip_add(&port[i].chip) < 0 ); --- linux-2.6.32.orig/arch/arm/plat-mxc/pwm.c +++ linux-2.6.32/arch/arm/plat-mxc/pwm.c @@ -31,6 +31,9 @@ #define MX3_PWMSAR 0x0C /* PWM Sample Register */ #define MX3_PWMPR 0x10 /* PWM Period Register */ #define MX3_PWMCR_PRESCALER(x) (((x - 1) & 0xFFF) << 4) +#define MX3_PWMCR_DOZEEN (1 << 24) +#define MX3_PWMCR_WAITEN (1 << 23) +#define MX3_PWMCR_DBGEN (1 << 22) #define MX3_PWMCR_CLKSRC_IPG_HIGH (2 << 16) #define MX3_PWMCR_CLKSRC_IPG (1 << 16) #define MX3_PWMCR_EN (1 << 0) @@ -73,10 +76,21 @@ do_div(c, period_ns); duty_cycles = c; + /* + * according to imx pwm RM, the real period value should be + * PERIOD value in PWMPR plus 2. + */ + if (period_cycles > 2) + period_cycles -= 2; + else + period_cycles = 0; + writel(duty_cycles, pwm->mmio_base + MX3_PWMSAR); writel(period_cycles, pwm->mmio_base + MX3_PWMPR); - cr = MX3_PWMCR_PRESCALER(prescale) | MX3_PWMCR_EN; + cr = MX3_PWMCR_PRESCALER(prescale) | + MX3_PWMCR_DOZEEN | MX3_PWMCR_WAITEN | + MX3_PWMCR_DBGEN | MX3_PWMCR_EN; if (cpu_is_mx25()) cr |= MX3_PWMCR_CLKSRC_IPG; --- linux-2.6.32.orig/arch/arm/plat-mxc/include/mach/gpio.h +++ linux-2.6.32/arch/arm/plat-mxc/include/mach/gpio.h @@ -19,6 +19,7 @@ #ifndef __ASM_ARCH_MXC_GPIO_H__ #define __ASM_ARCH_MXC_GPIO_H__ +#include #include #include @@ -36,6 +37,7 @@ int virtual_irq_start; struct gpio_chip chip; u32 both_edges; + spinlock_t lock; }; int mxc_gpio_init(struct mxc_gpio_port*, int); --- linux-2.6.32.orig/arch/arm/plat-mxc/include/mach/iomux-v3.h +++ linux-2.6.32/arch/arm/plat-mxc/include/mach/iomux-v3.h @@ -73,11 +73,11 @@ #define PAD_CTL_HYS (1 << 8) #define PAD_CTL_PKE (1 << 7) -#define PAD_CTL_PUE (1 << 6) -#define PAD_CTL_PUS_100K_DOWN (0 << 4) -#define PAD_CTL_PUS_47K_UP (1 << 4) -#define PAD_CTL_PUS_100K_UP (2 << 4) -#define PAD_CTL_PUS_22K_UP (3 << 4) +#define PAD_CTL_PUE (1 << 6 | PAD_CTL_PKE) +#define PAD_CTL_PUS_100K_DOWN (0 << 4 | PAD_CTL_PUE) +#define PAD_CTL_PUS_47K_UP (1 << 4 | PAD_CTL_PUE) +#define PAD_CTL_PUS_100K_UP (2 << 4 | PAD_CTL_PUE) +#define PAD_CTL_PUS_22K_UP (3 << 4 | PAD_CTL_PUE) #define PAD_CTL_ODE (1 << 3) --- linux-2.6.32.orig/arch/arm/vfp/vfphw.S +++ linux-2.6.32/arch/arm/vfp/vfphw.S @@ -277,7 +277,7 @@ #ifdef CONFIG_VFPv3 @ d16 - d31 registers .irp dr,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 -1: mcrr p11, 3, r1, r2, c\dr @ fmdrr r1, r2, d\dr +1: mcrr p11, 3, r0, r1, c\dr @ fmdrr r0, r1, d\dr mov pc, lr .org 1b + 8 .endr --- linux-2.6.32.orig/arch/avr32/include/asm/syscalls.h +++ linux-2.6.32/arch/avr32/include/asm/syscalls.h @@ -29,10 +29,6 @@ struct pt_regs *); asmlinkage int sys_rt_sigreturn(struct pt_regs *); -/* kernel/sys_avr32.c */ -asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long, - unsigned long, unsigned long, off_t); - /* mm/cache.c */ asmlinkage int sys_cacheflush(int, void __user *, size_t); --- linux-2.6.32.orig/arch/avr32/kernel/sys_avr32.c +++ linux-2.6.32/arch/avr32/kernel/sys_avr32.c @@ -5,39 +5,8 @@ * 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 - -asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, off_t offset) -{ - int error = -EBADF; - struct file *file = NULL; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - return error; - } - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, offset); - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); - return error; -} - int kernel_execve(const char *file, char **argv, char **envp) { register long scno asm("r8") = __NR_execve; --- linux-2.6.32.orig/arch/avr32/kernel/syscall-stubs.S +++ linux-2.6.32/arch/avr32/kernel/syscall-stubs.S @@ -61,7 +61,7 @@ __sys_mmap2: pushm lr st.w --sp, ARG6 - call sys_mmap2 + call sys_mmap_pgoff sub sp, -4 popm pc --- linux-2.6.32.orig/arch/blackfin/include/asm/cache.h +++ linux-2.6.32/arch/blackfin/include/asm/cache.h @@ -15,6 +15,8 @@ #define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT) #define SMP_CACHE_BYTES L1_CACHE_BYTES +#define ARCH_KMALLOC_MINALIGN L1_CACHE_BYTES + #ifdef CONFIG_SMP #define __cacheline_aligned #else --- linux-2.6.32.orig/arch/blackfin/include/asm/page.h +++ linux-2.6.32/arch/blackfin/include/asm/page.h @@ -10,4 +10,9 @@ #include #define MAP_NR(addr) (((unsigned long)(addr)-PAGE_OFFSET) >> PAGE_SHIFT) +#define VM_DATA_DEFAULT_FLAGS \ + (VM_READ | VM_WRITE | \ + ((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0 ) | \ + VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) + #endif --- linux-2.6.32.orig/arch/blackfin/kernel/sys_bfin.c +++ linux-2.6.32/arch/blackfin/kernel/sys_bfin.c @@ -22,39 +22,6 @@ #include #include -/* common code for old and new mmaps */ -static inline long -do_mmap2(unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, unsigned long pgoff) -{ - int error = -EBADF; - struct file *file = NULL; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); - out: - return error; -} - -asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, unsigned long pgoff) -{ - return do_mmap2(addr, len, prot, flags, fd, pgoff); -} - asmlinkage void *sys_sram_alloc(size_t size, unsigned long flags) { return sram_alloc_with_lsl(size, flags); --- linux-2.6.32.orig/arch/blackfin/mach-common/entry.S +++ linux-2.6.32/arch/blackfin/mach-common/entry.S @@ -1422,7 +1422,7 @@ .long _sys_ni_syscall /* streams2 */ .long _sys_vfork /* 190 */ .long _sys_getrlimit - .long _sys_mmap2 + .long _sys_mmap_pgoff .long _sys_truncate64 .long _sys_ftruncate64 .long _sys_stat64 /* 195 */ --- linux-2.6.32.orig/arch/cris/kernel/sys_cris.c +++ linux-2.6.32/arch/cris/kernel/sys_cris.c @@ -26,31 +26,6 @@ #include #include -/* common code for old and new mmaps */ -static inline long -do_mmap2(unsigned long addr, unsigned long len, unsigned long prot, - unsigned long flags, unsigned long fd, unsigned long pgoff) -{ - int error = -EBADF; - struct file * file = NULL; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); -out: - return error; -} - asmlinkage unsigned long old_mmap(unsigned long __user *args) { unsigned long buffer[6]; @@ -63,7 +38,7 @@ if (buffer[5] & ~PAGE_MASK) /* verify that offset is on page boundary */ goto out; - err = do_mmap2(buffer[0], buffer[1], buffer[2], buffer[3], + err = sys_mmap_pgoff(buffer[0], buffer[1], buffer[2], buffer[3], buffer[4], buffer[5] >> PAGE_SHIFT); out: return err; @@ -73,7 +48,8 @@ sys_mmap2(unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long fd, unsigned long pgoff) { - return do_mmap2(addr, len, prot, flags, fd, pgoff); + /* bug(?): 8Kb pages here */ + return sys_mmap_pgoff(addr, len, prot, flags, fd, pgoff); } /* --- linux-2.6.32.orig/arch/frv/include/asm/cache.h +++ linux-2.6.32/arch/frv/include/asm/cache.h @@ -17,6 +17,8 @@ #define L1_CACHE_SHIFT (CONFIG_FRV_L1_CACHE_SHIFT) #define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT) +#define ARCH_KMALLOC_MINALIGN L1_CACHE_BYTES + #define __cacheline_aligned __attribute__((aligned(L1_CACHE_BYTES))) #define ____cacheline_aligned __attribute__((aligned(L1_CACHE_BYTES))) --- linux-2.6.32.orig/arch/frv/include/asm/page.h +++ linux-2.6.32/arch/frv/include/asm/page.h @@ -63,12 +63,10 @@ #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) -#ifdef CONFIG_MMU #define VM_DATA_DEFAULT_FLAGS \ (VM_READ | VM_WRITE | \ ((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0 ) | \ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) -#endif #endif /* __ASSEMBLY__ */ --- linux-2.6.32.orig/arch/frv/kernel/sys_frv.c +++ linux-2.6.32/arch/frv/kernel/sys_frv.c @@ -31,9 +31,6 @@ unsigned long prot, unsigned long flags, unsigned long fd, unsigned long pgoff) { - int error = -EBADF; - struct file * file = NULL; - /* As with sparc32, make sure the shift for mmap2 is constant (12), no matter what PAGE_SIZE we have.... */ @@ -41,69 +38,10 @@ trying to map something we can't */ if (pgoff & ((1 << (PAGE_SHIFT - 12)) - 1)) return -EINVAL; - pgoff >>= PAGE_SHIFT - 12; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); -out: - return error; -} - -#if 0 /* DAVIDM - do we want this */ -struct mmap_arg_struct64 { - __u32 addr; - __u32 len; - __u32 prot; - __u32 flags; - __u64 offset; /* 64 bits */ - __u32 fd; -}; - -asmlinkage long sys_mmap64(struct mmap_arg_struct64 *arg) -{ - int error = -EFAULT; - struct file * file = NULL; - struct mmap_arg_struct64 a; - unsigned long pgoff; - - if (copy_from_user(&a, arg, sizeof(a))) - return -EFAULT; - - if ((long)a.offset & ~PAGE_MASK) - return -EINVAL; - - pgoff = a.offset >> PAGE_SHIFT; - if ((a.offset >> PAGE_SHIFT) != pgoff) - return -EINVAL; - - if (!(a.flags & MAP_ANONYMOUS)) { - error = -EBADF; - file = fget(a.fd); - if (!file) - goto out; - } - a.flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, a.addr, a.len, a.prot, a.flags, pgoff); - up_write(¤t->mm->mmap_sem); - if (file) - fput(file); -out: - return error; + return sys_mmap_pgoff(addr, len, prot, flags, fd, + pgoff >> (PAGE_SHIFT - 12)); } -#endif /* * sys_ipc() is the de-multiplexer for the SysV IPC calls.. --- linux-2.6.32.orig/arch/h8300/kernel/sys_h8300.c +++ linux-2.6.32/arch/h8300/kernel/sys_h8300.c @@ -26,39 +26,6 @@ #include #include -/* common code for old and new mmaps */ -static inline long do_mmap2( - unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, unsigned long pgoff) -{ - int error = -EBADF; - struct file * file = NULL; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); -out: - return error; -} - -asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, unsigned long pgoff) -{ - return do_mmap2(addr, len, prot, flags, fd, pgoff); -} - /* * Perform the select(nd, in, out, ex, tv) and mmap() system * calls. Linux/m68k cloned Linux/i386, which didn't use to be able to @@ -87,58 +54,12 @@ if (a.offset & ~PAGE_MASK) goto out; - a.flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - - error = do_mmap2(a.addr, a.len, a.prot, a.flags, a.fd, a.offset >> PAGE_SHIFT); + error = sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, + a.offset >> PAGE_SHIFT); out: return error; } -#if 0 /* DAVIDM - do we want this */ -struct mmap_arg_struct64 { - __u32 addr; - __u32 len; - __u32 prot; - __u32 flags; - __u64 offset; /* 64 bits */ - __u32 fd; -}; - -asmlinkage long sys_mmap64(struct mmap_arg_struct64 *arg) -{ - int error = -EFAULT; - struct file * file = NULL; - struct mmap_arg_struct64 a; - unsigned long pgoff; - - if (copy_from_user(&a, arg, sizeof(a))) - return -EFAULT; - - if ((long)a.offset & ~PAGE_MASK) - return -EINVAL; - - pgoff = a.offset >> PAGE_SHIFT; - if ((a.offset >> PAGE_SHIFT) != pgoff) - return -EINVAL; - - if (!(a.flags & MAP_ANONYMOUS)) { - error = -EBADF; - file = fget(a.fd); - if (!file) - goto out; - } - a.flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, a.addr, a.len, a.prot, a.flags, pgoff); - up_write(¤t->mm->mmap_sem); - if (file) - fput(file); -out: - return error; -} -#endif - struct sel_arg_struct { unsigned long n; fd_set *inp, *outp, *exp; --- linux-2.6.32.orig/arch/h8300/kernel/syscalls.S +++ linux-2.6.32/arch/h8300/kernel/syscalls.S @@ -206,7 +206,7 @@ .long SYMBOL_NAME(sys_ni_syscall) /* streams2 */ .long SYMBOL_NAME(sys_vfork) /* 190 */ .long SYMBOL_NAME(sys_getrlimit) - .long SYMBOL_NAME(sys_mmap2) + .long SYMBOL_NAME(sys_mmap_pgoff) .long SYMBOL_NAME(sys_truncate64) .long SYMBOL_NAME(sys_ftruncate64) .long SYMBOL_NAME(sys_stat64) /* 195 */ --- linux-2.6.32.orig/arch/ia64/Kconfig +++ linux-2.6.32/arch/ia64/Kconfig @@ -502,23 +502,6 @@ def_bool y depends on PROC_KCORE -config IA32_SUPPORT - bool "Support for Linux/x86 binaries" - help - IA-64 processors can execute IA-32 (X86) instructions. By - saying Y here, the kernel will include IA-32 system call - emulation support which makes it possible to transparently - run IA-32 Linux binaries on an IA-64 Linux system. - If in doubt, say Y. - -config COMPAT - bool - depends on IA32_SUPPORT - default y - -config COMPAT_FOR_U64_ALIGNMENT - def_bool COMPAT - config IA64_MCA_RECOVERY tristate "MCA recovery from errors other than TLB." --- linux-2.6.32.orig/arch/ia64/hp/common/sba_iommu.c +++ linux-2.6.32/arch/ia64/hp/common/sba_iommu.c @@ -677,12 +677,19 @@ spin_unlock_irqrestore(&ioc->saved_lock, flags); pide = sba_search_bitmap(ioc, dev, pages_needed, 0); - if (unlikely(pide >= (ioc->res_size << 3))) - panic(__FILE__ ": I/O MMU @ %p is out of mapping resources\n", - ioc->ioc_hpa); + if (unlikely(pide >= (ioc->res_size << 3))) { + printk(KERN_WARNING "%s: I/O MMU @ %p is" + "out of mapping resources, %u %u %lx\n", + __func__, ioc->ioc_hpa, ioc->res_size, + pages_needed, dma_get_seg_boundary(dev)); + return -1; + } #else - panic(__FILE__ ": I/O MMU @ %p is out of mapping resources\n", - ioc->ioc_hpa); + printk(KERN_WARNING "%s: I/O MMU @ %p is" + "out of mapping resources, %u %u %lx\n", + __func__, ioc->ioc_hpa, ioc->res_size, + pages_needed, dma_get_seg_boundary(dev)); + return -1; #endif } } @@ -965,6 +972,8 @@ #endif pide = sba_alloc_range(ioc, dev, size); + if (pide < 0) + return 0; iovp = (dma_addr_t) pide << iovp_shift; @@ -1320,6 +1329,7 @@ unsigned long dma_offset, dma_len; /* start/len of DMA stream */ int n_mappings = 0; unsigned int max_seg_size = dma_get_max_seg_size(dev); + int idx; while (nents > 0) { unsigned long vaddr = (unsigned long) sba_sg_address(startsg); @@ -1418,16 +1428,22 @@ vcontig_sg->dma_length = vcontig_len; dma_len = (dma_len + dma_offset + ~iovp_mask) & iovp_mask; ASSERT(dma_len <= DMA_CHUNK_SIZE); - dma_sg->dma_address = (dma_addr_t) (PIDE_FLAG - | (sba_alloc_range(ioc, dev, dma_len) << iovp_shift) - | dma_offset); + idx = sba_alloc_range(ioc, dev, dma_len); + if (idx < 0) { + dma_sg->dma_length = 0; + return -1; + } + dma_sg->dma_address = (dma_addr_t)(PIDE_FLAG | (idx << iovp_shift) + | dma_offset); n_mappings++; } return n_mappings; } - +static void sba_unmap_sg_attrs(struct device *dev, struct scatterlist *sglist, + int nents, enum dma_data_direction dir, + struct dma_attrs *attrs); /** * sba_map_sg - map Scatter/Gather list * @dev: instance of PCI owned by the driver that's asking. @@ -1493,6 +1509,10 @@ ** Access to the virtual address is what forces a two pass algorithm. */ coalesced = sba_coalesce_chunks(ioc, dev, sglist, nents); + if (coalesced < 0) { + sba_unmap_sg_attrs(dev, sglist, nents, dir, attrs); + return 0; + } /* ** Program the I/O Pdir --- linux-2.6.32.orig/arch/ia64/hp/sim/simserial.c +++ linux-2.6.32/arch/ia64/hp/sim/simserial.c @@ -395,7 +395,7 @@ { if ((cmd != TIOCGSERIAL) && (cmd != TIOCSSERIAL) && (cmd != TIOCSERCONFIG) && (cmd != TIOCSERGSTRUCT) && - (cmd != TIOCMIWAIT) && (cmd != TIOCGICOUNT)) { + (cmd != TIOCMIWAIT)) { if (tty->flags & (1 << TTY_IO_ERROR)) return -EIO; } @@ -433,16 +433,6 @@ case TIOCMIWAIT: printk(KERN_INFO "rs_ioctl: TIOCMIWAIT: called\n"); return 0; - /* - * Get counter of input serial line interrupts (DCD,RI,DSR,CTS) - * Return: write counters to the user passed counter struct - * NB: both 1->0 and 0->1 transitions are counted except for - * RI where only 0->1 is counted. - */ - case TIOCGICOUNT: - printk(KERN_INFO "rs_ioctl: TIOCGICOUNT called\n"); - return 0; - case TIOCSERGWILD: case TIOCSERSWILD: /* "setserial -W" is called in Debian boot */ --- linux-2.6.32.orig/arch/ia64/ia32/sys_ia32.c +++ linux-2.6.32/arch/ia64/ia32/sys_ia32.c @@ -858,6 +858,9 @@ prot = get_prot32(prot); + if (flags & MAP_HUGETLB) + return -ENOMEM; + #if PAGE_SHIFT > IA32_PAGE_SHIFT mutex_lock(&ia32_mmap_mutex); { --- linux-2.6.32.orig/arch/ia64/include/asm/acpi.h +++ linux-2.6.32/arch/ia64/include/asm/acpi.h @@ -94,6 +94,7 @@ #define acpi_noirq 0 /* ACPI always enabled on IA64 */ #define acpi_pci_disabled 0 /* ACPI PCI always enabled on IA64 */ #define acpi_strict 1 /* no ACPI spec workarounds on IA64 */ +#define acpi_ht 0 /* no HT-only mode on IA64 */ #endif #define acpi_processor_cstate_check(x) (x) /* no idle limits on IA64 :) */ static inline void disable_acpi(void) { } --- linux-2.6.32.orig/arch/ia64/include/asm/io.h +++ linux-2.6.32/arch/ia64/include/asm/io.h @@ -424,6 +424,8 @@ extern void __iomem * ioremap(unsigned long offset, unsigned long size); extern void __iomem * ioremap_nocache (unsigned long offset, unsigned long size); extern void iounmap (volatile void __iomem *addr); +extern void __iomem * early_ioremap (unsigned long phys_addr, unsigned long size); +extern void early_iounmap (volatile void __iomem *addr, unsigned long size); /* * String version of IO memory access ops: --- linux-2.6.32.orig/arch/ia64/include/asm/system.h +++ linux-2.6.32/arch/ia64/include/asm/system.h @@ -281,10 +281,6 @@ void default_idle(void); -#ifdef CONFIG_VIRT_CPU_ACCOUNTING -extern void account_system_vtime(struct task_struct *); -#endif - #endif /* __KERNEL__ */ #endif /* __ASSEMBLY__ */ --- linux-2.6.32.orig/arch/ia64/include/asm/compat.h +++ linux-2.6.32/arch/ia64/include/asm/compat.h @@ -198,7 +198,7 @@ } static __inline__ void __user * -compat_alloc_user_space (long len) +arch_compat_alloc_user_space (long len) { struct pt_regs *regs = task_pt_regs(current); return (void __user *) (((regs->r12 & 0xffffffff) & -16) - len); --- linux-2.6.32.orig/arch/ia64/kernel/fsys.S +++ linux-2.6.32/arch/ia64/kernel/fsys.S @@ -420,22 +420,31 @@ ;; RSM_PSR_I(p0, r18, r19) // mask interrupt delivery - mov ar.ccv=0 andcm r14=r14,r17 // filter out SIGKILL & SIGSTOP + mov r8=EINVAL // default to EINVAL #ifdef CONFIG_SMP - mov r17=1 - ;; - cmpxchg4.acq r18=[r31],r17,ar.ccv // try to acquire the lock - mov r8=EINVAL // default to EINVAL + // __ticket_spin_trylock(r31) + ld4 r17=[r31] ;; + mov.m ar.ccv=r17 + extr.u r9=r17,17,15 + adds r19=1,r17 + extr.u r18=r17,0,15 + ;; + cmp.eq p6,p7=r9,r18 + ;; +(p6) cmpxchg4.acq r9=[r31],r19,ar.ccv +(p6) dep.z r20=r19,1,15 // next serving ticket for unlock +(p7) br.cond.spnt.many .lock_contention + ;; + cmp4.eq p0,p7=r9,r17 + adds r31=2,r31 +(p7) br.cond.spnt.many .lock_contention ld8 r3=[r2] // re-read current->blocked now that we hold the lock - cmp4.ne p6,p0=r18,r0 -(p6) br.cond.spnt.many .lock_contention ;; #else ld8 r3=[r2] // re-read current->blocked now that we hold the lock - mov r8=EINVAL // default to EINVAL #endif add r18=IA64_TASK_PENDING_OFFSET+IA64_SIGPENDING_SIGNAL_OFFSET,r16 add r19=IA64_TASK_SIGNAL_OFFSET,r16 @@ -490,7 +499,9 @@ (p6) br.cond.spnt.few 1b // yes -> retry #ifdef CONFIG_SMP - st4.rel [r31]=r0 // release the lock + // __ticket_spin_unlock(r31) + st2.rel [r31]=r20 + mov r20=0 // i must not leak kernel bits... #endif SSM_PSR_I(p0, p9, r31) ;; @@ -512,7 +523,8 @@ .sig_pending: #ifdef CONFIG_SMP - st4.rel [r31]=r0 // release the lock + // __ticket_spin_unlock(r31) + st2.rel [r31]=r20 // release the lock #endif SSM_PSR_I(p0, p9, r17) ;; --- linux-2.6.32.orig/arch/ia64/kernel/mca.c +++ linux-2.6.32/arch/ia64/kernel/mca.c @@ -1850,7 +1850,8 @@ data = mca_bootmem(); first_time = 0; } else - data = __get_free_pages(GFP_KERNEL, get_order(sz)); + data = (void *)__get_free_pages(GFP_KERNEL, + get_order(sz)); if (!data) panic("Could not allocate MCA memory for cpu %d\n", cpu); --- linux-2.6.32.orig/arch/ia64/kernel/msi_ia64.c +++ linux-2.6.32/arch/ia64/kernel/msi_ia64.c @@ -25,7 +25,7 @@ if (irq_prepare_move(irq, cpu)) return -1; - read_msi_msg(irq, &msg); + get_cached_msi_msg(irq, &msg); addr = msg.address_lo; addr &= MSI_ADDR_DEST_ID_MASK; --- linux-2.6.32.orig/arch/ia64/kernel/time.c +++ linux-2.6.32/arch/ia64/kernel/time.c @@ -473,7 +473,7 @@ { } -void update_vsyscall(struct timespec *wall, struct clocksource *c) +void update_vsyscall(struct timespec *wall, struct clocksource *c, u32 mult) { unsigned long flags; @@ -481,7 +481,7 @@ /* copy fsyscall clock data */ fsyscall_gtod_data.clk_mask = c->mask; - fsyscall_gtod_data.clk_mult = c->mult; + fsyscall_gtod_data.clk_mult = mult; fsyscall_gtod_data.clk_shift = c->shift; fsyscall_gtod_data.clk_fsys_mmio = c->fsys_mmio; fsyscall_gtod_data.clk_cycle_last = c->cycle_last; --- linux-2.6.32.orig/arch/ia64/kernel/sys_ia64.c +++ linux-2.6.32/arch/ia64/kernel/sys_ia64.c @@ -100,51 +100,7 @@ asmlinkage unsigned long ia64_brk (unsigned long brk) { - unsigned long rlim, retval, newbrk, oldbrk; - struct mm_struct *mm = current->mm; - - /* - * Most of this replicates the code in sys_brk() except for an additional safety - * check and the clearing of r8. However, we can't call sys_brk() because we need - * to acquire the mmap_sem before we can do the test... - */ - down_write(&mm->mmap_sem); - - if (brk < mm->end_code) - goto out; - newbrk = PAGE_ALIGN(brk); - oldbrk = PAGE_ALIGN(mm->brk); - if (oldbrk == newbrk) - goto set_brk; - - /* Always allow shrinking brk. */ - if (brk <= mm->brk) { - if (!do_munmap(mm, newbrk, oldbrk-newbrk)) - goto set_brk; - goto out; - } - - /* Check against unimplemented/unmapped addresses: */ - if ((newbrk - oldbrk) > RGN_MAP_LIMIT || REGION_OFFSET(newbrk) > RGN_MAP_LIMIT) - goto out; - - /* Check against rlimit.. */ - rlim = current->signal->rlim[RLIMIT_DATA].rlim_cur; - if (rlim < RLIM_INFINITY && brk - mm->start_data > rlim) - goto out; - - /* Check against existing mmap mappings. */ - if (find_vma_intersection(mm, oldbrk, newbrk+PAGE_SIZE)) - goto out; - - /* Ok, looks good - let it rip. */ - if (do_brk(oldbrk, newbrk-oldbrk) != oldbrk) - goto out; -set_brk: - mm->brk = brk; -out: - retval = mm->brk; - up_write(&mm->mmap_sem); + unsigned long retval = sys_brk(brk); force_successful_syscall_return(); return retval; } @@ -185,39 +141,6 @@ return 0; } -static inline unsigned long -do_mmap2 (unsigned long addr, unsigned long len, int prot, int flags, int fd, unsigned long pgoff) -{ - struct file *file = NULL; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - return -EBADF; - - if (!file->f_op || !file->f_op->mmap) { - addr = -ENODEV; - goto out; - } - } - - /* Careful about overflows.. */ - len = PAGE_ALIGN(len); - if (!len || len > TASK_SIZE) { - addr = -EINVAL; - goto out; - } - - down_write(¤t->mm->mmap_sem); - addr = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - -out: if (file) - fput(file); - return addr; -} - /* * mmap2() is like mmap() except that the offset is expressed in units * of PAGE_SIZE (instead of bytes). This allows to mmap2() (pieces @@ -226,7 +149,7 @@ asmlinkage unsigned long sys_mmap2 (unsigned long addr, unsigned long len, int prot, int flags, int fd, long pgoff) { - addr = do_mmap2(addr, len, prot, flags, fd, pgoff); + addr = sys_mmap_pgoff(addr, len, prot, flags, fd, pgoff); if (!IS_ERR((void *) addr)) force_successful_syscall_return(); return addr; @@ -238,7 +161,7 @@ if (offset_in_page(off) != 0) return -EINVAL; - addr = do_mmap2(addr, len, prot, flags, fd, off >> PAGE_SHIFT); + addr = sys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT); if (!IS_ERR((void *) addr)) force_successful_syscall_return(); return addr; --- linux-2.6.32.orig/arch/ia64/kvm/kvm-ia64.c +++ linux-2.6.32/arch/ia64/kvm/kvm-ia64.c @@ -1185,6 +1185,11 @@ #define PALE_RESET_ENTRY 0x80000000ffffffb0UL +bool kvm_vcpu_compatible(struct kvm_vcpu *vcpu) +{ + return irqchip_in_kernel(vcpu->kcm) == (vcpu->arch.apic != NULL); +} + int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu) { struct kvm_vcpu *v; @@ -1797,7 +1802,8 @@ { struct kvm_memory_slot *memslot; int r, i; - long n, base; + long base; + unsigned long n; unsigned long *dirty_bitmap = (unsigned long *)(kvm->arch.vm_base + offsetof(struct kvm_vm_data, kvm_mem_dirty_log)); @@ -1810,7 +1816,7 @@ if (!memslot->dirty_bitmap) goto out; - n = ALIGN(memslot->npages, BITS_PER_LONG) / 8; + n = kvm_dirty_bitmap_bytes(memslot); base = memslot->base_gfn / BITS_PER_LONG; for (i = 0; i < n/sizeof(long); ++i) { @@ -1826,7 +1832,7 @@ struct kvm_dirty_log *log) { int r; - int n; + unsigned long n; struct kvm_memory_slot *memslot; int is_dirty = 0; @@ -1844,7 +1850,7 @@ if (is_dirty) { kvm_flush_remote_tlbs(kvm); memslot = &kvm->memslots[log->slot]; - n = ALIGN(memslot->npages, BITS_PER_LONG) / 8; + n = kvm_dirty_bitmap_bytes(memslot); memset(memslot->dirty_bitmap, 0, n); } r = 0; --- linux-2.6.32.orig/arch/ia64/mm/ioremap.c +++ linux-2.6.32/arch/ia64/mm/ioremap.c @@ -22,6 +22,12 @@ } void __iomem * +early_ioremap (unsigned long phys_addr, unsigned long size) +{ + return __ioremap(phys_addr); +} + +void __iomem * ioremap (unsigned long phys_addr, unsigned long size) { void __iomem *addr; @@ -102,6 +108,11 @@ EXPORT_SYMBOL(ioremap_nocache); void +early_iounmap (volatile void __iomem *addr, unsigned long size) +{ +} + +void iounmap (volatile void __iomem *addr) { if (REGION_NUMBER(addr) == RGN_GATE) --- linux-2.6.32.orig/arch/ia64/mm/tlb.c +++ linux-2.6.32/arch/ia64/mm/tlb.c @@ -120,7 +120,7 @@ ia64_invala(); for (;;) { - asm volatile ("ld4.c.nc %0=[%1]" : "=r"(serve) : "r"(&ss->serve) : "memory"); + asm volatile ("ld8.c.nc %0=[%1]" : "=r"(serve) : "r"(&ss->serve) : "memory"); if (time_before(t, serve)) return; cpu_relax(); --- linux-2.6.32.orig/arch/ia64/sn/kernel/msi_sn.c +++ linux-2.6.32/arch/ia64/sn/kernel/msi_sn.c @@ -174,7 +174,7 @@ * Release XIO resources for the old MSI PCI address */ - read_msi_msg(irq, &msg); + get_cached_msi_msg(irq, &msg); sn_pdev = (struct pcidev_info *)sn_irq_info->irq_pciioinfo; pdev = sn_pdev->pdi_linux_pcidev; provider = SN_PCIDEV_BUSPROVIDER(pdev); --- linux-2.6.32.orig/arch/ia64/sn/pci/tioca_provider.c +++ linux-2.6.32/arch/ia64/sn/pci/tioca_provider.c @@ -517,7 +517,7 @@ * use the GART mapped mode. */ static u64 -tioca_dma_map(struct pci_dev *pdev, u64 paddr, size_t byte_count, int dma_flags) +tioca_dma_map(struct pci_dev *pdev, unsigned long paddr, size_t byte_count, int dma_flags) { u64 mapaddr; --- linux-2.6.32.orig/arch/m32r/kernel/sys_m32r.c +++ linux-2.6.32/arch/m32r/kernel/sys_m32r.c @@ -76,30 +76,6 @@ return oldval; } -asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, unsigned long pgoff) -{ - int error = -EBADF; - struct file *file = NULL; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); -out: - return error; -} - /* * sys_ipc() is the de-multiplexer for the SysV IPC calls.. * --- linux-2.6.32.orig/arch/m32r/kernel/syscall_table.S +++ linux-2.6.32/arch/m32r/kernel/syscall_table.S @@ -191,7 +191,7 @@ .long sys_ni_syscall /* streams2 */ .long sys_vfork /* 190 */ .long sys_getrlimit - .long sys_mmap2 + .long sys_mmap_pgoff .long sys_truncate64 .long sys_ftruncate64 .long sys_stat64 /* 195 */ --- linux-2.6.32.orig/arch/m68k/include/asm/cache.h +++ linux-2.6.32/arch/m68k/include/asm/cache.h @@ -8,4 +8,6 @@ #define L1_CACHE_SHIFT 4 #define L1_CACHE_BYTES (1<< L1_CACHE_SHIFT) +#define ARCH_KMALLOC_MINALIGN L1_CACHE_BYTES + #endif --- linux-2.6.32.orig/arch/m68k/kernel/sys_m68k.c +++ linux-2.6.32/arch/m68k/kernel/sys_m68k.c @@ -29,37 +29,16 @@ #include #include -/* common code for old and new mmaps */ -static inline long do_mmap2( - unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, unsigned long pgoff) -{ - int error = -EBADF; - struct file * file = NULL; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); -out: - return error; -} - asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long fd, unsigned long pgoff) { - return do_mmap2(addr, len, prot, flags, fd, pgoff); + /* + * This is wrong for sun3 - there PAGE_SIZE is 8Kb, + * so we need to shift the argument down by 1; m68k mmap64(3) + * (in libc) expects the last argument of mmap2 in 4Kb units. + */ + return sys_mmap_pgoff(addr, len, prot, flags, fd, pgoff); } /* @@ -90,57 +69,11 @@ if (a.offset & ~PAGE_MASK) goto out; - a.flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - - error = do_mmap2(a.addr, a.len, a.prot, a.flags, a.fd, a.offset >> PAGE_SHIFT); -out: - return error; -} - -#if 0 -struct mmap_arg_struct64 { - __u32 addr; - __u32 len; - __u32 prot; - __u32 flags; - __u64 offset; /* 64 bits */ - __u32 fd; -}; - -asmlinkage long sys_mmap64(struct mmap_arg_struct64 *arg) -{ - int error = -EFAULT; - struct file * file = NULL; - struct mmap_arg_struct64 a; - unsigned long pgoff; - - if (copy_from_user(&a, arg, sizeof(a))) - return -EFAULT; - - if ((long)a.offset & ~PAGE_MASK) - return -EINVAL; - - pgoff = a.offset >> PAGE_SHIFT; - if ((a.offset >> PAGE_SHIFT) != pgoff) - return -EINVAL; - - if (!(a.flags & MAP_ANONYMOUS)) { - error = -EBADF; - file = fget(a.fd); - if (!file) - goto out; - } - a.flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, a.addr, a.len, a.prot, a.flags, pgoff); - up_write(¤t->mm->mmap_sem); - if (file) - fput(file); + error = sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, + a.offset >> PAGE_SHIFT); out: return error; } -#endif struct sel_arg_struct { unsigned long n; --- linux-2.6.32.orig/arch/m68k/mm/motorola.c +++ linux-2.6.32/arch/m68k/mm/motorola.c @@ -299,6 +299,8 @@ zones_size[ZONE_DMA] = m68k_memory[i].size >> PAGE_SHIFT; free_area_init_node(i, zones_size, m68k_memory[i].addr >> PAGE_SHIFT, NULL); + if (node_present_pages(i)) + node_set_state(i, N_NORMAL_MEMORY); } } --- linux-2.6.32.orig/arch/m68knommu/kernel/sys_m68k.c +++ linux-2.6.32/arch/m68knommu/kernel/sys_m68k.c @@ -27,39 +27,6 @@ #include #include -/* common code for old and new mmaps */ -static inline long do_mmap2( - unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, unsigned long pgoff) -{ - int error = -EBADF; - struct file * file = NULL; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); -out: - return error; -} - -asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, unsigned long pgoff) -{ - return do_mmap2(addr, len, prot, flags, fd, pgoff); -} - /* * Perform the select(nd, in, out, ex, tv) and mmap() system * calls. Linux/m68k cloned Linux/i386, which didn't use to be able to @@ -88,9 +55,8 @@ if (a.offset & ~PAGE_MASK) goto out; - a.flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - - error = do_mmap2(a.addr, a.len, a.prot, a.flags, a.fd, a.offset >> PAGE_SHIFT); + error = sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, + a.offset >> PAGE_SHIFT); out: return error; } --- linux-2.6.32.orig/arch/m68knommu/kernel/syscalltable.S +++ linux-2.6.32/arch/m68knommu/kernel/syscalltable.S @@ -210,7 +210,7 @@ .long sys_ni_syscall /* streams2 */ .long sys_vfork /* 190 */ .long sys_getrlimit - .long sys_mmap2 + .long sys_mmap_pgoff .long sys_truncate64 .long sys_ftruncate64 .long sys_stat64 /* 195 */ --- linux-2.6.32.orig/arch/microblaze/Makefile +++ linux-2.6.32/arch/microblaze/Makefile @@ -69,12 +69,16 @@ all: linux.bin -BOOT_TARGETS = linux.bin linux.bin.gz simpleImage.% +# With make 3.82 we cannot mix normal and wildcard targets +BOOT_TARGETS1 = linux.bin linux.bin.gz +BOOT_TARGETS2 = simpleImage.% archclean: $(Q)$(MAKE) $(clean)=$(boot) -$(BOOT_TARGETS): vmlinux +$(BOOT_TARGETS1): vmlinux + $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ +$(BOOT_TARGETS2): vmlinux $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ define archhelp --- linux-2.6.32.orig/arch/microblaze/kernel/sys_microblaze.c +++ linux-2.6.32/arch/microblaze/kernel/sys_microblaze.c @@ -62,46 +62,14 @@ return error; } -asmlinkage long -sys_mmap2(unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, unsigned long pgoff) -{ - struct file *file = NULL; - int ret = -EBADF; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) { - printk(KERN_INFO "no fd in mmap\r\n"); - goto out; - } - } - - down_write(¤t->mm->mmap_sem); - ret = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - if (file) - fput(file); -out: - return ret; -} - asmlinkage long sys_mmap(unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long fd, off_t pgoff) { - int err = -EINVAL; - - if (pgoff & ~PAGE_MASK) { - printk(KERN_INFO "no pagemask in mmap\r\n"); - goto out; - } + if (pgoff & ~PAGE_MASK) + return -EINVAL; - err = sys_mmap2(addr, len, prot, flags, fd, pgoff >> PAGE_SHIFT); -out: - return err; + return sys_mmap_pgoff(addr, len, prot, flags, fd, pgoff >> PAGE_SHIFT); } /* --- linux-2.6.32.orig/arch/microblaze/kernel/syscall_table.S +++ linux-2.6.32/arch/microblaze/kernel/syscall_table.S @@ -196,7 +196,7 @@ .long sys_ni_syscall /* reserved for streams2 */ .long sys_vfork /* 190 */ .long sys_getrlimit - .long sys_mmap2 /* mmap2 */ + .long sys_mmap_pgoff /* mmap2 */ .long sys_truncate64 .long sys_ftruncate64 .long sys_stat64 /* 195 */ --- linux-2.6.32.orig/arch/mips/include/asm/atomic.h +++ linux-2.6.32/arch/mips/include/asm/atomic.h @@ -434,7 +434,7 @@ __asm__ __volatile__( " .set mips3 \n" "1: lld %0, %1 # atomic64_add \n" - " addu %0, %2 \n" + " daddu %0, %2 \n" " scd %0, %1 \n" " beqzl %0, 1b \n" " .set mips0 \n" @@ -446,7 +446,7 @@ __asm__ __volatile__( " .set mips3 \n" "1: lld %0, %1 # atomic64_add \n" - " addu %0, %2 \n" + " daddu %0, %2 \n" " scd %0, %1 \n" " beqz %0, 2f \n" " .subsection 2 \n" @@ -479,7 +479,7 @@ __asm__ __volatile__( " .set mips3 \n" "1: lld %0, %1 # atomic64_sub \n" - " subu %0, %2 \n" + " dsubu %0, %2 \n" " scd %0, %1 \n" " beqzl %0, 1b \n" " .set mips0 \n" @@ -491,7 +491,7 @@ __asm__ __volatile__( " .set mips3 \n" "1: lld %0, %1 # atomic64_sub \n" - " subu %0, %2 \n" + " dsubu %0, %2 \n" " scd %0, %1 \n" " beqz %0, 2f \n" " .subsection 2 \n" @@ -524,10 +524,10 @@ __asm__ __volatile__( " .set mips3 \n" "1: lld %1, %2 # atomic64_add_return \n" - " addu %0, %1, %3 \n" + " daddu %0, %1, %3 \n" " scd %0, %2 \n" " beqzl %0, 1b \n" - " addu %0, %1, %3 \n" + " daddu %0, %1, %3 \n" " .set mips0 \n" : "=&r" (result), "=&r" (temp), "=m" (v->counter) : "Ir" (i), "m" (v->counter) @@ -538,10 +538,10 @@ __asm__ __volatile__( " .set mips3 \n" "1: lld %1, %2 # atomic64_add_return \n" - " addu %0, %1, %3 \n" + " daddu %0, %1, %3 \n" " scd %0, %2 \n" " beqz %0, 2f \n" - " addu %0, %1, %3 \n" + " daddu %0, %1, %3 \n" " .subsection 2 \n" "2: b 1b \n" " .previous \n" @@ -576,10 +576,10 @@ __asm__ __volatile__( " .set mips3 \n" "1: lld %1, %2 # atomic64_sub_return \n" - " subu %0, %1, %3 \n" + " dsubu %0, %1, %3 \n" " scd %0, %2 \n" " beqzl %0, 1b \n" - " subu %0, %1, %3 \n" + " dsubu %0, %1, %3 \n" " .set mips0 \n" : "=&r" (result), "=&r" (temp), "=m" (v->counter) : "Ir" (i), "m" (v->counter) @@ -590,10 +590,10 @@ __asm__ __volatile__( " .set mips3 \n" "1: lld %1, %2 # atomic64_sub_return \n" - " subu %0, %1, %3 \n" + " dsubu %0, %1, %3 \n" " scd %0, %2 \n" " beqz %0, 2f \n" - " subu %0, %1, %3 \n" + " dsubu %0, %1, %3 \n" " .subsection 2 \n" "2: b 1b \n" " .previous \n" --- linux-2.6.32.orig/arch/mips/include/asm/compat.h +++ linux-2.6.32/arch/mips/include/asm/compat.h @@ -144,7 +144,7 @@ return (u32)(unsigned long)uptr; } -static inline void __user *compat_alloc_user_space(long len) +static inline void __user *arch_compat_alloc_user_space(long len) { struct pt_regs *regs = (struct pt_regs *) ((unsigned long) current_thread_info() + THREAD_SIZE - 32) - 1; --- linux-2.6.32.orig/arch/mips/include/asm/mipsregs.h +++ linux-2.6.32/arch/mips/include/asm/mipsregs.h @@ -135,6 +135,12 @@ #define FPU_CSR_COND7 0x80000000 /* $fcc7 */ /* + * Bits 18 - 20 of the FPU Status Register will be read as 0, + * and should be written as zero. + */ +#define FPU_CSR_RSVD 0x001c0000 + +/* * X the exception cause indicator * E the exception enable * S the sticky/flag bit @@ -161,7 +167,8 @@ #define FPU_CSR_UDF_S 0x00000008 #define FPU_CSR_INE_S 0x00000004 -/* rounding mode */ +/* Bits 0 and 1 of FPU Status Register specify the rounding mode */ +#define FPU_CSR_RM 0x00000003 #define FPU_CSR_RN 0x0 /* nearest */ #define FPU_CSR_RZ 0x1 /* towards zero */ #define FPU_CSR_RU 0x2 /* towards +Infinity */ --- linux-2.6.32.orig/arch/mips/include/asm/mach-sibyte/war.h +++ linux-2.6.32/arch/mips/include/asm/mach-sibyte/war.h @@ -16,7 +16,11 @@ #if defined(CONFIG_SB1_PASS_1_WORKAROUNDS) || \ defined(CONFIG_SB1_PASS_2_WORKAROUNDS) -#define BCM1250_M3_WAR 1 +#ifndef __ASSEMBLY__ +extern int sb1250_m3_workaround_needed(void); +#endif + +#define BCM1250_M3_WAR sb1250_m3_workaround_needed() #define SIBYTE_1956_WAR 1 #else --- linux-2.6.32.orig/arch/mips/kernel/linux32.c +++ linux-2.6.32/arch/mips/kernel/linux32.c @@ -67,28 +67,13 @@ unsigned long, prot, unsigned long, flags, unsigned long, fd, unsigned long, pgoff) { - struct file * file = NULL; unsigned long error; error = -EINVAL; if (pgoff & (~PAGE_MASK >> 12)) goto out; - pgoff >>= PAGE_SHIFT-12; - - if (!(flags & MAP_ANONYMOUS)) { - error = -EBADF; - file = fget(fd); - if (!file) - goto out; - } - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - if (file) - fput(file); - + error = sys_mmap_pgoff(addr, len, prot, flags, fd, + pgoff >> (PAGE_SHIFT-12)); out: return error; } --- linux-2.6.32.orig/arch/mips/kernel/syscall.c +++ linux-2.6.32/arch/mips/kernel/syscall.c @@ -93,7 +93,8 @@ * We do not accept a shared mapping if it would violate * cache aliasing constraints. */ - if ((flags & MAP_SHARED) && (addr & shm_align_mask)) + if ((flags & MAP_SHARED) && + ((addr - (pgoff << PAGE_SHIFT)) & shm_align_mask)) return -EINVAL; return addr; } @@ -129,31 +130,6 @@ } } -/* common code for old and new mmaps */ -static inline unsigned long -do_mmap2(unsigned long addr, unsigned long len, unsigned long prot, - unsigned long flags, unsigned long fd, unsigned long pgoff) -{ - unsigned long error = -EBADF; - struct file * file = NULL; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); -out: - return error; -} - SYSCALL_DEFINE6(mips_mmap, unsigned long, addr, unsigned long, len, unsigned long, prot, unsigned long, flags, unsigned long, fd, off_t, offset) @@ -164,7 +140,7 @@ if (offset & ~PAGE_MASK) goto out; - result = do_mmap2(addr, len, prot, flags, fd, offset >> PAGE_SHIFT); + result = sys_mmap_pgoff(addr, len, prot, flags, fd, offset >> PAGE_SHIFT); out: return result; @@ -177,7 +153,7 @@ if (pgoff & (~PAGE_MASK >> 12)) return -EINVAL; - return do_mmap2(addr, len, prot, flags, fd, pgoff >> (PAGE_SHIFT-12)); + return sys_mmap_pgoff(addr, len, prot, flags, fd, pgoff >> (PAGE_SHIFT-12)); } save_static_function(sys_fork); --- linux-2.6.32.orig/arch/mips/math-emu/cp1emu.c +++ linux-2.6.32/arch/mips/math-emu/cp1emu.c @@ -75,6 +75,9 @@ #define FPCREG_RID 0 /* $0 = revision id */ #define FPCREG_CSR 31 /* $31 = csr */ +/* Determine rounding mode from the RM bits of the FCSR */ +#define modeindex(v) ((v) & FPU_CSR_RM) + /* Convert Mips rounding mode (0..3) to IEEE library modes. */ static const unsigned char ieee_rm[4] = { [FPU_CSR_RN] = IEEE754_RN, @@ -381,10 +384,14 @@ (void *) (xcp->cp0_epc), MIPSInst_RT(ir), value); #endif - value &= (FPU_CSR_FLUSH | FPU_CSR_ALL_E | FPU_CSR_ALL_S | 0x03); - ctx->fcr31 &= ~(FPU_CSR_FLUSH | FPU_CSR_ALL_E | FPU_CSR_ALL_S | 0x03); - /* convert to ieee library modes */ - ctx->fcr31 |= (value & ~0x3) | ieee_rm[value & 0x3]; + + /* + * Don't write reserved bits, + * and convert to ieee library modes + */ + ctx->fcr31 = (value & + ~(FPU_CSR_RSVD | FPU_CSR_RM)) | + ieee_rm[modeindex(value)]; } if ((ctx->fcr31 >> 5) & ctx->fcr31 & FPU_CSR_ALL_E) { return SIGFPE; --- linux-2.6.32.orig/arch/mips/mm/dma-default.c +++ linux-2.6.32/arch/mips/mm/dma-default.c @@ -43,27 +43,39 @@ static gfp_t massage_gfp_flags(const struct device *dev, gfp_t gfp) { + gfp_t dma_flag; + /* ignore region specifiers */ gfp &= ~(__GFP_DMA | __GFP_DMA32 | __GFP_HIGHMEM); -#ifdef CONFIG_ZONE_DMA +#ifdef CONFIG_ISA if (dev == NULL) - gfp |= __GFP_DMA; - else if (dev->coherent_dma_mask < DMA_BIT_MASK(24)) - gfp |= __GFP_DMA; + dma_flag = __GFP_DMA; else #endif -#ifdef CONFIG_ZONE_DMA32 +#if defined(CONFIG_ZONE_DMA32) && defined(CONFIG_ZONE_DMA) if (dev->coherent_dma_mask < DMA_BIT_MASK(32)) - gfp |= __GFP_DMA32; + dma_flag = __GFP_DMA; + else if (dev->coherent_dma_mask < DMA_BIT_MASK(64)) + dma_flag = __GFP_DMA32; + else +#endif +#if defined(CONFIG_ZONE_DMA32) && !defined(CONFIG_ZONE_DMA) + if (dev->coherent_dma_mask < DMA_BIT_MASK(64)) + dma_flag = __GFP_DMA32; + else +#endif +#if defined(CONFIG_ZONE_DMA) && !defined(CONFIG_ZONE_DMA32) + if (dev->coherent_dma_mask < DMA_BIT_MASK(64)) + dma_flag = __GFP_DMA; else #endif - ; + dma_flag = 0; /* Don't invoke OOM killer */ gfp |= __GFP_NORETRY; - return gfp; + return gfp | dma_flag; } void *dma_alloc_noncoherent(struct device *dev, size_t size, --- linux-2.6.32.orig/arch/mips/mm/tlbex.c +++ linux-2.6.32/arch/mips/mm/tlbex.c @@ -73,9 +73,6 @@ enum label_id { label_second_part = 1, label_leave, -#ifdef MODULE_START - label_module_alloc, -#endif label_vmalloc, label_vmalloc_done, label_tlbw_hazard, @@ -92,9 +89,6 @@ UASM_L_LA(_second_part) UASM_L_LA(_leave) -#ifdef MODULE_START -UASM_L_LA(_module_alloc) -#endif UASM_L_LA(_vmalloc) UASM_L_LA(_vmalloc_done) UASM_L_LA(_tlbw_hazard) @@ -731,10 +725,15 @@ * create the plain linear handler */ if (bcm1250_m3_war()) { - UASM_i_MFC0(&p, K0, C0_BADVADDR); - UASM_i_MFC0(&p, K1, C0_ENTRYHI); + unsigned int segbits = 44; + + uasm_i_dmfc0(&p, K0, C0_BADVADDR); + uasm_i_dmfc0(&p, K1, C0_ENTRYHI); uasm_i_xor(&p, K0, K0, K1); - UASM_i_SRL(&p, K0, K0, PAGE_SHIFT + 1); + uasm_i_dsrl32(&p, K1, K0, 62 - 32); + uasm_i_dsrl(&p, K0, K0, 12 + 1); + uasm_i_dsll32(&p, K0, K0, 64 + 12 + 1 - segbits - 32); + uasm_i_or(&p, K0, K0, K1); uasm_il_bnez(&p, &r, K0, label_leave); /* No need for uasm_i_nop */ } @@ -802,8 +801,6 @@ } else { #if defined(CONFIG_HUGETLB_PAGE) const enum label_id ls = label_tlb_huge_update; -#elif defined(MODULE_START) - const enum label_id ls = label_module_alloc; #else const enum label_id ls = label_vmalloc; #endif @@ -1250,10 +1247,15 @@ memset(relocs, 0, sizeof(relocs)); if (bcm1250_m3_war()) { - UASM_i_MFC0(&p, K0, C0_BADVADDR); - UASM_i_MFC0(&p, K1, C0_ENTRYHI); + unsigned int segbits = 44; + + uasm_i_dmfc0(&p, K0, C0_BADVADDR); + uasm_i_dmfc0(&p, K1, C0_ENTRYHI); uasm_i_xor(&p, K0, K0, K1); - UASM_i_SRL(&p, K0, K0, PAGE_SHIFT + 1); + uasm_i_dsrl32(&p, K1, K0, 62 - 32); + uasm_i_dsrl(&p, K0, K0, 12 + 1); + uasm_i_dsll32(&p, K0, K0, 64 + 12 + 1 - segbits - 32); + uasm_i_or(&p, K0, K0, K1); uasm_il_bnez(&p, &r, K0, label_leave); /* No need for uasm_i_nop */ } --- linux-2.6.32.orig/arch/mips/mm/uasm.c +++ linux-2.6.32/arch/mips/mm/uasm.c @@ -62,7 +62,7 @@ insn_dmtc0, insn_dsll, insn_dsll32, insn_dsra, insn_dsrl, insn_dsrl32, insn_dsubu, insn_eret, insn_j, insn_jal, insn_jr, insn_ld, insn_ll, insn_lld, insn_lui, insn_lw, insn_mfc0, - insn_mtc0, insn_ori, insn_pref, insn_rfe, insn_sc, insn_scd, + insn_mtc0, insn_or, insn_ori, insn_pref, insn_rfe, insn_sc, insn_scd, insn_sd, insn_sll, insn_sra, insn_srl, insn_subu, insn_sw, insn_tlbp, insn_tlbwi, insn_tlbwr, insn_xor, insn_xori }; @@ -116,6 +116,7 @@ { insn_lw, M(lw_op, 0, 0, 0, 0, 0), RS | RT | SIMM }, { insn_mfc0, M(cop0_op, mfc_op, 0, 0, 0, 0), RT | RD | SET}, { insn_mtc0, M(cop0_op, mtc_op, 0, 0, 0, 0), RT | RD | SET}, + { insn_or, M(spec_op, 0, 0, 0, 0, or_op), RS | RT | RD }, { insn_ori, M(ori_op, 0, 0, 0, 0, 0), RS | RT | UIMM }, { insn_pref, M(pref_op, 0, 0, 0, 0, 0), RS | RT | SIMM }, { insn_rfe, M(cop0_op, cop_op, 0, 0, 0, rfe_op), 0 }, @@ -362,6 +363,7 @@ I_u1u2u3(_mfc0) I_u1u2u3(_mtc0) I_u2u1u3(_ori) +I_u3u1u2(_or) I_u2s3u1(_pref) I_0(_rfe) I_u2s3u1(_sc) --- linux-2.6.32.orig/arch/mips/mm/uasm.h +++ linux-2.6.32/arch/mips/mm/uasm.h @@ -78,6 +78,7 @@ Ip_u1u2u3(_mfc0); Ip_u1u2u3(_mtc0); Ip_u2u1u3(_ori); +Ip_u3u1u2(_or); Ip_u2s3u1(_pref); Ip_0(_rfe); Ip_u2s3u1(_sc); --- linux-2.6.32.orig/arch/mips/mti-malta/malta-pci.c +++ linux-2.6.32/arch/mips/mti-malta/malta-pci.c @@ -247,6 +247,8 @@ iomem_resource.end &= 0xfffffffffULL; /* 64 GB */ ioport_resource.end = controller->io_resource->end; + controller->io_map_base = mips_io_port_base; + register_pci_controller(controller); } --- linux-2.6.32.orig/arch/mips/nxp/pnx8550/common/pci.c +++ linux-2.6.32/arch/mips/nxp/pnx8550/common/pci.c @@ -44,6 +44,7 @@ static struct pci_controller pnx8550_controller = { .pci_ops = &pnx8550_pci_ops, + .io_map_base = PNX8550_PORT_BASE, .io_resource = &pci_io_resource, .mem_resource = &pci_mem_resource, }; --- linux-2.6.32.orig/arch/mips/nxp/pnx8550/common/setup.c +++ linux-2.6.32/arch/mips/nxp/pnx8550/common/setup.c @@ -113,7 +113,7 @@ PNX8550_GLB2_ENAB_INTA_O = 0; /* IO/MEM resources. */ - set_io_port_base(KSEG1); + set_io_port_base(PNX8550_PORT_BASE); ioport_resource.start = 0; ioport_resource.end = ~0; iomem_resource.start = 0; --- linux-2.6.32.orig/arch/mips/pci/ops-pmcmsp.c +++ linux-2.6.32/arch/mips/pci/ops-pmcmsp.c @@ -944,6 +944,7 @@ .pci_ops = &msp_pci_ops, .mem_resource = &pci_mem_resource, .mem_offset = 0, + .io_map_base = MSP_PCI_IOSPACE_BASE, .io_resource = &pci_io_resource, .io_offset = 0 }; --- linux-2.6.32.orig/arch/mips/pci/pci-yosemite.c +++ linux-2.6.32/arch/mips/pci/pci-yosemite.c @@ -54,6 +54,7 @@ panic(ioremap_failed); set_io_port_base(io_v_base); + py_controller.io_map_base = io_v_base; TITAN_WRITE(RM9000x2_OCD_LKM7, TITAN_READ(RM9000x2_OCD_LKM7) | 1); ioport_resource.end = TITAN_IO_SIZE - 1; --- linux-2.6.32.orig/arch/mips/sibyte/sb1250/setup.c +++ linux-2.6.32/arch/mips/sibyte/sb1250/setup.c @@ -87,6 +87,21 @@ return ret; } +int sb1250_m3_workaround_needed(void) +{ + switch (soc_type) { + case K_SYS_SOC_TYPE_BCM1250: + case K_SYS_SOC_TYPE_BCM1250_ALT: + case K_SYS_SOC_TYPE_BCM1250_ALT2: + case K_SYS_SOC_TYPE_BCM1125: + case K_SYS_SOC_TYPE_BCM1125H: + return soc_pass < K_SYS_REVISION_BCM1250_C0; + + default: + return 0; + } +} + static int __init setup_bcm112x(void) { int ret = 0; --- linux-2.6.32.orig/arch/mn10300/include/asm/cache.h +++ linux-2.6.32/arch/mn10300/include/asm/cache.h @@ -21,6 +21,8 @@ #define L1_CACHE_DISPARITY L1_CACHE_NENTRIES * L1_CACHE_BYTES #endif +#define ARCH_KMALLOC_MINALIGN L1_CACHE_BYTES + /* data cache purge registers * - read from the register to unconditionally purge that cache line * - write address & 0xffffff00 to conditionally purge that cache line --- linux-2.6.32.orig/arch/mn10300/include/asm/mman.h +++ linux-2.6.32/arch/mn10300/include/asm/mman.h @@ -1 +1,6 @@ #include + +#define MIN_MAP_ADDR PAGE_SIZE /* minimum fixed mmap address */ + +#define arch_mmap_check(addr, len, flags) \ + (((flags) & MAP_FIXED && (addr) < MIN_MAP_ADDR) ? -EINVAL : 0) --- linux-2.6.32.orig/arch/mn10300/kernel/entry.S +++ linux-2.6.32/arch/mn10300/kernel/entry.S @@ -578,7 +578,7 @@ .long sys_ni_syscall /* reserved for streams2 */ .long sys_vfork /* 190 */ .long sys_getrlimit - .long sys_mmap2 + .long sys_mmap_pgoff .long sys_truncate64 .long sys_ftruncate64 .long sys_stat64 /* 195 */ --- linux-2.6.32.orig/arch/mn10300/kernel/sys_mn10300.c +++ linux-2.6.32/arch/mn10300/kernel/sys_mn10300.c @@ -23,47 +23,13 @@ #include -#define MIN_MAP_ADDR PAGE_SIZE /* minimum fixed mmap address */ - -/* - * memory mapping syscall - */ -asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, unsigned long pgoff) -{ - struct file *file = NULL; - long error = -EINVAL; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - - if (flags & MAP_FIXED && addr < MIN_MAP_ADDR) - goto out; - - error = -EBADF; - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); -out: - return error; -} - asmlinkage long old_mmap(unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long fd, unsigned long offset) { if (offset & ~PAGE_MASK) return -EINVAL; - return sys_mmap2(addr, len, prot, flags, fd, offset >> PAGE_SHIFT); + return sys_mmap_pgoff(addr, len, prot, flags, fd, offset >> PAGE_SHIFT); } struct sel_arg_struct { --- linux-2.6.32.orig/arch/parisc/include/asm/compat.h +++ linux-2.6.32/arch/parisc/include/asm/compat.h @@ -146,7 +146,7 @@ return (u32)(unsigned long)uptr; } -static __inline__ void __user *compat_alloc_user_space(long len) +static __inline__ void __user *arch_compat_alloc_user_space(long len) { struct pt_regs *regs = ¤t->thread.regs; return (void __user *)regs->gr[30]; --- linux-2.6.32.orig/arch/parisc/kernel/firmware.c +++ linux-2.6.32/arch/parisc/kernel/firmware.c @@ -1123,42 +1123,23 @@ */ int pdc_iodc_print(const unsigned char *str, unsigned count) { - static int posx; /* for simple TAB-Simulation... */ unsigned int i; unsigned long flags; - for (i = 0; i < count && i < 79;) { + for (i = 0; i < count;) { switch(str[i]) { case '\n': iodc_dbuf[i+0] = '\r'; iodc_dbuf[i+1] = '\n'; i += 2; - posx = 0; goto print; - case '\t': - while (posx & 7) { - iodc_dbuf[i] = ' '; - i++, posx++; - } - break; - case '\b': /* BS */ - posx -= 2; default: iodc_dbuf[i] = str[i]; - i++, posx++; + i++; break; } } - /* if we're at the end of line, and not already inserting a newline, - * insert one anyway. iodc console doesn't claim to support >79 char - * lines. don't account for this in the return value. - */ - if (i == 79 && iodc_dbuf[i-1] != '\n') { - iodc_dbuf[i+0] = '\r'; - iodc_dbuf[i+1] = '\n'; - } - print: spin_lock_irqsave(&pdc_lock, flags); real32_call(PAGE0->mem_cons.iodc_io, --- linux-2.6.32.orig/arch/parisc/kernel/irq.c +++ linux-2.6.32/arch/parisc/kernel/irq.c @@ -117,7 +117,7 @@ int cpu_dest; /* timer and ipi have to always be received on all CPUs */ - if (CHECK_IRQ_PER_CPU(irq)) { + if (CHECK_IRQ_PER_CPU(irq_to_desc(irq)->status)) { /* Bad linux design decision. The mask has already * been set; we must reset it */ cpumask_setall(irq_desc[irq].affinity); --- linux-2.6.32.orig/arch/parisc/kernel/sys_parisc.c +++ linux-2.6.32/arch/parisc/kernel/sys_parisc.c @@ -110,37 +110,14 @@ return addr; } -static unsigned long do_mmap2(unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, unsigned long fd, - unsigned long pgoff) -{ - struct file * file = NULL; - unsigned long error = -EBADF; - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - - if (file != NULL) - fput(file); -out: - return error; -} - asmlinkage unsigned long sys_mmap2(unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long fd, unsigned long pgoff) { /* Make sure the shift for mmap2 is constant (12), no matter what PAGE_SIZE we have. */ - return do_mmap2(addr, len, prot, flags, fd, pgoff >> (PAGE_SHIFT - 12)); + return sys_mmap_pgoff(addr, len, prot, flags, fd, + pgoff >> (PAGE_SHIFT - 12)); } asmlinkage unsigned long sys_mmap(unsigned long addr, unsigned long len, @@ -148,7 +125,8 @@ unsigned long offset) { if (!(offset & ~PAGE_MASK)) { - return do_mmap2(addr, len, prot, flags, fd, offset >> PAGE_SHIFT); + return sys_mmap_pgoff(addr, len, prot, flags, fd, + offset >> PAGE_SHIFT); } else { return -EINVAL; } --- linux-2.6.32.orig/arch/parisc/math-emu/decode_exc.c +++ linux-2.6.32/arch/parisc/math-emu/decode_exc.c @@ -342,6 +342,7 @@ return SIGNALCODE(SIGFPE, FPE_FLTINV); case DIVISIONBYZEROEXCEPTION: update_trap_counts(Fpu_register, aflags, bflags, trap_counts); + Clear_excp_register(exception_index); return SIGNALCODE(SIGFPE, FPE_FLTDIV); case INEXACTEXCEPTION: update_trap_counts(Fpu_register, aflags, bflags, trap_counts); --- linux-2.6.32.orig/arch/parisc/mm/init.c +++ linux-2.6.32/arch/parisc/mm/init.c @@ -265,8 +265,10 @@ } memset(pfnnid_map, 0xff, sizeof(pfnnid_map)); - for (i = 0; i < npmem_ranges; i++) + for (i = 0; i < npmem_ranges; i++) { + node_set_state(i, N_NORMAL_MEMORY); node_set_online(i); + } #endif /* --- linux-2.6.32.orig/arch/powerpc/Kconfig +++ linux-2.6.32/arch/powerpc/Kconfig @@ -935,6 +935,8 @@ source "drivers/Kconfig" +source "ubuntu/Kconfig" + source "fs/Kconfig" source "arch/powerpc/sysdev/qe_lib/Kconfig" --- linux-2.6.32.orig/arch/powerpc/Makefile +++ linux-2.6.32/arch/powerpc/Makefile @@ -158,9 +158,11 @@ # Default to zImage, override when needed all: zImage -BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% cuImage.% simpleImage.% +# With make 3.82 we cannot mix normal and wildcard targets +BOOT_TARGETS1 := zImage zImage.initrd uImage +BOOT_TARGETS2 := zImage% dtbImage% treeImage.% cuImage.% simpleImage.% -PHONY += $(BOOT_TARGETS) +PHONY += $(BOOT_TARGETS1) $(BOOT_TARGETS2) boot := arch/$(ARCH)/boot @@ -175,10 +177,16 @@ zImage: relocs_check endif -$(BOOT_TARGETS): vmlinux +$(BOOT_TARGETS1): vmlinux + $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) +$(BOOT_TARGETS2): vmlinux + $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) + + +bootwrapper_install: $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) -bootwrapper_install %.dtb: +%.dtb: $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) define archhelp --- linux-2.6.32.orig/arch/powerpc/boot/Makefile +++ linux-2.6.32/arch/powerpc/boot/Makefile @@ -364,7 +364,7 @@ extra-installed := $(patsubst $(obj)/%, $(DESTDIR)$(WRAPPER_OBJDIR)/%, $(extra-y)) hostprogs-installed := $(patsubst %, $(DESTDIR)$(WRAPPER_BINDIR)/%, $(hostprogs-y)) wrapper-installed := $(DESTDIR)$(WRAPPER_BINDIR)/wrapper -dts-installed := $(patsubst $(obj)/dts/%, $(DESTDIR)$(WRAPPER_DTSDIR)/%, $(wildcard $(obj)/dts/*.dts)) +dts-installed := $(patsubst $(dtstree)/%, $(DESTDIR)$(WRAPPER_DTSDIR)/%, $(wildcard $(dtstree)/*.dts)) all-installed := $(extra-installed) $(hostprogs-installed) $(wrapper-installed) $(dts-installed) --- linux-2.6.32.orig/arch/powerpc/include/asm/compat.h +++ linux-2.6.32/arch/powerpc/include/asm/compat.h @@ -133,7 +133,7 @@ return (u32)(unsigned long)uptr; } -static inline void __user *compat_alloc_user_space(long len) +static inline void __user *arch_compat_alloc_user_space(long len) { struct pt_regs *regs = current->thread.regs; unsigned long usp = regs->gpr[1]; --- linux-2.6.32.orig/arch/powerpc/include/asm/elf.h +++ linux-2.6.32/arch/powerpc/include/asm/elf.h @@ -236,14 +236,10 @@ #ifdef __powerpc64__ # define SET_PERSONALITY(ex) \ do { \ - unsigned long new_flags = 0; \ if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \ - new_flags = _TIF_32BIT; \ - if ((current_thread_info()->flags & _TIF_32BIT) \ - != new_flags) \ - set_thread_flag(TIF_ABI_PENDING); \ + set_thread_flag(TIF_32BIT); \ else \ - clear_thread_flag(TIF_ABI_PENDING); \ + clear_thread_flag(TIF_32BIT); \ if (personality(current->personality) != PER_LINUX32) \ set_personality(PER_LINUX | \ (current->personality & (~PER_MASK))); \ --- linux-2.6.32.orig/arch/powerpc/include/asm/hvcall.h +++ linux-2.6.32/arch/powerpc/include/asm/hvcall.h @@ -268,6 +268,7 @@ */ #define PLPAR_HCALL9_BUFSIZE 9 long plpar_hcall9(unsigned long opcode, unsigned long *retbuf, ...); +long plpar_hcall9_raw(unsigned long opcode, unsigned long *retbuf, ...); /* For hcall instrumentation. One structure per-hcall, per-CPU */ struct hcall_stats { --- linux-2.6.32.orig/arch/powerpc/include/asm/hw_irq.h +++ linux-2.6.32/arch/powerpc/include/asm/hw_irq.h @@ -135,43 +135,5 @@ */ struct irq_chip; -#ifdef CONFIG_PERF_EVENTS - -#ifdef CONFIG_PPC64 -static inline unsigned long test_perf_event_pending(void) -{ - unsigned long x; - - asm volatile("lbz %0,%1(13)" - : "=r" (x) - : "i" (offsetof(struct paca_struct, perf_event_pending))); - return x; -} - -static inline void set_perf_event_pending(void) -{ - asm volatile("stb %0,%1(13)" : : - "r" (1), - "i" (offsetof(struct paca_struct, perf_event_pending))); -} - -static inline void clear_perf_event_pending(void) -{ - asm volatile("stb %0,%1(13)" : : - "r" (0), - "i" (offsetof(struct paca_struct, perf_event_pending))); -} -#endif /* CONFIG_PPC64 */ - -#else /* CONFIG_PERF_EVENTS */ - -static inline unsigned long test_perf_event_pending(void) -{ - return 0; -} - -static inline void clear_perf_event_pending(void) {} -#endif /* CONFIG_PERF_EVENTS */ - #endif /* __KERNEL__ */ #endif /* _ASM_POWERPC_HW_IRQ_H */ --- linux-2.6.32.orig/arch/powerpc/include/asm/kexec.h +++ linux-2.6.32/arch/powerpc/include/asm/kexec.h @@ -31,6 +31,10 @@ #define KEXEC_ARCH KEXEC_ARCH_PPC #endif +#define KEXEC_STATE_NONE 0 +#define KEXEC_STATE_IRQS_OFF 1 +#define KEXEC_STATE_REAL_MODE 2 + #ifndef __ASSEMBLY__ #include #include --- linux-2.6.32.orig/arch/powerpc/include/asm/module.h +++ linux-2.6.32/arch/powerpc/include/asm/module.h @@ -87,5 +87,10 @@ void sort_ex_table(struct exception_table_entry *start, struct exception_table_entry *finish); +#ifdef CONFIG_MODVERSIONS +#define ARCH_RELOCATES_KCRCTAB + +extern const unsigned long reloc_start[]; +#endif #endif /* __KERNEL__ */ #endif /* _ASM_POWERPC_MODULE_H */ --- linux-2.6.32.orig/arch/powerpc/include/asm/paca.h +++ linux-2.6.32/arch/powerpc/include/asm/paca.h @@ -56,7 +56,7 @@ struct lppaca *lppaca_ptr; /* Pointer to LpPaca for PLIC */ #endif /* CONFIG_PPC_BOOK3S */ /* - * MAGIC: the spinlock functions in arch/powerpc/lib/locks.c + * MAGIC: the spinlock functions in arch/powerpc/lib/locks.c * load lock_token and paca_index with a single lwz * instruction. They must travel together and be properly * aligned. @@ -76,6 +76,7 @@ s16 hw_cpu_id; /* Physical processor number */ u8 cpu_start; /* At startup, processor spins until */ /* this becomes non-zero. */ + u8 kexec_state; /* set when kexec down has irqs off */ #ifdef CONFIG_PPC_STD_MMU_64 struct slb_shadow *slb_shadow_ptr; --- linux-2.6.32.orig/arch/powerpc/include/asm/reg.h +++ linux-2.6.32/arch/powerpc/include/asm/reg.h @@ -858,6 +858,7 @@ #define PV_970 0x0039 #define PV_POWER5 0x003A #define PV_POWER5p 0x003B +#define PV_POWER7 0x003F #define PV_970FX 0x003C #define PV_630 0x0040 #define PV_630p 0x0041 --- linux-2.6.32.orig/arch/powerpc/include/asm/ppc-pci.h +++ linux-2.6.32/arch/powerpc/include/asm/ppc-pci.h @@ -137,6 +137,11 @@ void eeh_sysfs_add_device(struct pci_dev *pdev); void eeh_sysfs_remove_device(struct pci_dev *pdev); +static inline const char *eeh_pci_name(struct pci_dev *pdev) +{ + return pdev ? pci_name(pdev) : ""; +} + #endif /* CONFIG_EEH */ #else /* CONFIG_PCI */ --- linux-2.6.32.orig/arch/powerpc/include/asm/system.h +++ linux-2.6.32/arch/powerpc/include/asm/system.h @@ -540,10 +540,6 @@ #define PTRRELOC(x) ((typeof(x)) add_reloc_offset((unsigned long)(x))) -#ifdef CONFIG_VIRT_CPU_ACCOUNTING -extern void account_system_vtime(struct task_struct *); -#endif - extern struct dentry *powerpc_debugfs_root; #endif /* __KERNEL__ */ --- linux-2.6.32.orig/arch/powerpc/include/asm/thread_info.h +++ linux-2.6.32/arch/powerpc/include/asm/thread_info.h @@ -111,7 +111,6 @@ #define TIF_NOTIFY_RESUME 13 /* callback before returning to user */ #define TIF_FREEZE 14 /* Freezing for suspend */ #define TIF_RUNLATCH 15 /* Is the runlatch enabled? */ -#define TIF_ABI_PENDING 16 /* 32/64 bit switch needed */ /* as above, but as bit values */ #define _TIF_SYSCALL_TRACE (1<thread.vr[reg - 32]; - if (flags & ST) - ret = __copy_to_user(addr, ptr, length); - else { - if (flags & SPLT){ - ret = __copy_from_user(ptr, addr, length); - ptr += length; + lptr = (unsigned long *) ptr; + + if (flags & SW) + sw = elsize-1; + + for (j = 0; j < length; j += elsize) { + for (i = 0; i < elsize; ++i) { + if (flags & ST) + ret |= __put_user(ptr[i^sw], addr + i); + else + ret |= __get_user(ptr[i^sw], addr + i); } - ret |= __copy_from_user(ptr, addr, length); + ptr += elsize; + addr += elsize; } - if (flags & U) - regs->gpr[areg] = regs->dar; - if (ret) + + if (!ret) { + if (flags & U) + regs->gpr[areg] = regs->dar; + + /* Splat load copies the same data to top and bottom 8 bytes */ + if (flags & SPLT) + lptr[1] = lptr[0]; + /* For 8 byte loads, zero the top 8 bytes */ + else if (!(flags & ST) && (8 == length)) + lptr[1] = 0; + } else return -EFAULT; + return 1; } #endif @@ -767,16 +787,25 @@ #ifdef CONFIG_VSX if ((instruction & 0xfc00003e) == 0x7c000018) { - /* Additional register addressing bit (64 VSX vs 32 FPR/GPR */ + unsigned int elsize; + + /* Additional register addressing bit (64 VSX vs 32 FPR/GPR) */ reg |= (instruction & 0x1) << 5; /* Simple inline decoder instead of a table */ + /* VSX has only 8 and 16 byte memory accesses */ + nb = 8; if (instruction & 0x200) nb = 16; - else if (instruction & 0x080) - nb = 8; - else - nb = 4; + + /* Vector stores in little-endian mode swap individual + elements, so process them separately */ + elsize = 4; + if (instruction & 0x80) + elsize = 8; + flags = 0; + if (regs->msr & MSR_LE) + flags |= SW; if (instruction & 0x100) flags |= ST; if (instruction & 0x040) @@ -787,7 +816,7 @@ nb = 8; } PPC_WARN_EMULATED(vsx); - return emulate_vsx(addr, reg, areg, regs, flags, nb); + return emulate_vsx(addr, reg, areg, regs, flags, nb, elsize); } #endif /* A size of 0 indicates an instruction we don't support, with --- linux-2.6.32.orig/arch/powerpc/kernel/asm-offsets.c +++ linux-2.6.32/arch/powerpc/kernel/asm-offsets.c @@ -133,7 +133,6 @@ DEFINE(PACAKMSR, offsetof(struct paca_struct, kernel_msr)); DEFINE(PACASOFTIRQEN, offsetof(struct paca_struct, soft_enabled)); DEFINE(PACAHARDIRQEN, offsetof(struct paca_struct, hard_enabled)); - DEFINE(PACAPERFPEND, offsetof(struct paca_struct, perf_event_pending)); DEFINE(PACACONTEXTID, offsetof(struct paca_struct, context.id)); #ifdef CONFIG_PPC_MM_SLICES DEFINE(PACALOWSLICESPSIZE, offsetof(struct paca_struct, @@ -184,6 +183,7 @@ #endif /* CONFIG_PPC_STD_MMU_64 */ DEFINE(PACAEMERGSP, offsetof(struct paca_struct, emergency_sp)); DEFINE(PACAHWCPUID, offsetof(struct paca_struct, hw_cpu_id)); + DEFINE(PACAKEXECSTATE, offsetof(struct paca_struct, kexec_state)); DEFINE(PACA_STARTPURR, offsetof(struct paca_struct, startpurr)); DEFINE(PACA_STARTSPURR, offsetof(struct paca_struct, startspurr)); DEFINE(PACA_USER_TIME, offsetof(struct paca_struct, user_time)); --- linux-2.6.32.orig/arch/powerpc/kernel/cpu_setup_6xx.S +++ linux-2.6.32/arch/powerpc/kernel/cpu_setup_6xx.S @@ -18,7 +18,7 @@ #include _GLOBAL(__setup_cpu_603) - mflr r4 + mflr r5 BEGIN_MMU_FTR_SECTION li r10,0 mtspr SPRN_SPRG_603_LRU,r10 /* init SW LRU tracking */ @@ -27,60 +27,60 @@ bl __init_fpu_registers END_FTR_SECTION_IFCLR(CPU_FTR_FPU_UNAVAILABLE) bl setup_common_caches - mtlr r4 + mtlr r5 blr _GLOBAL(__setup_cpu_604) - mflr r4 + mflr r5 bl setup_common_caches bl setup_604_hid0 - mtlr r4 + mtlr r5 blr _GLOBAL(__setup_cpu_750) - mflr r4 + mflr r5 bl __init_fpu_registers bl setup_common_caches bl setup_750_7400_hid0 - mtlr r4 + mtlr r5 blr _GLOBAL(__setup_cpu_750cx) - mflr r4 + mflr r5 bl __init_fpu_registers bl setup_common_caches bl setup_750_7400_hid0 bl setup_750cx - mtlr r4 + mtlr r5 blr _GLOBAL(__setup_cpu_750fx) - mflr r4 + mflr r5 bl __init_fpu_registers bl setup_common_caches bl setup_750_7400_hid0 bl setup_750fx - mtlr r4 + mtlr r5 blr _GLOBAL(__setup_cpu_7400) - mflr r4 + mflr r5 bl __init_fpu_registers bl setup_7400_workarounds bl setup_common_caches bl setup_750_7400_hid0 - mtlr r4 + mtlr r5 blr _GLOBAL(__setup_cpu_7410) - mflr r4 + mflr r5 bl __init_fpu_registers bl setup_7410_workarounds bl setup_common_caches bl setup_750_7400_hid0 li r3,0 mtspr SPRN_L2CR2,r3 - mtlr r4 + mtlr r5 blr _GLOBAL(__setup_cpu_745x) - mflr r4 + mflr r5 bl setup_common_caches bl setup_745x_specifics - mtlr r4 + mtlr r5 blr /* Enable caches for 603's, 604, 750 & 7400 */ @@ -194,10 +194,10 @@ cror 4*cr0+eq,4*cr0+eq,4*cr1+eq cror 4*cr0+eq,4*cr0+eq,4*cr2+eq bnelr - lwz r6,CPU_SPEC_FEATURES(r5) + lwz r6,CPU_SPEC_FEATURES(r4) li r7,CPU_FTR_CAN_NAP andc r6,r6,r7 - stw r6,CPU_SPEC_FEATURES(r5) + stw r6,CPU_SPEC_FEATURES(r4) blr /* 750fx specific @@ -225,12 +225,12 @@ andis. r11,r11,L3CR_L3E@h beq 1f END_FTR_SECTION_IFSET(CPU_FTR_L3CR) - lwz r6,CPU_SPEC_FEATURES(r5) + lwz r6,CPU_SPEC_FEATURES(r4) andi. r0,r6,CPU_FTR_L3_DISABLE_NAP beq 1f li r7,CPU_FTR_CAN_NAP andc r6,r6,r7 - stw r6,CPU_SPEC_FEATURES(r5) + stw r6,CPU_SPEC_FEATURES(r4) 1: mfspr r11,SPRN_HID0 --- linux-2.6.32.orig/arch/powerpc/kernel/crash.c +++ linux-2.6.32/arch/powerpc/kernel/crash.c @@ -162,6 +162,30 @@ /* Leave the IPI callback set */ } +/* wait for all the CPUs to hit real mode but timeout if they don't come in */ +#ifdef CONFIG_PPC_STD_MMU_64 +static void crash_kexec_wait_realmode(int cpu) +{ + unsigned int msecs; + int i; + + msecs = 10000; + for (i=0; i < NR_CPUS && msecs > 0; i++) { + if (i == cpu) + continue; + + while (paca[i].kexec_state < KEXEC_STATE_REAL_MODE) { + barrier(); + if (!cpu_possible(i) || !cpu_online(i) || (msecs <= 0)) + break; + msecs--; + mdelay(1); + } + } + mb(); +} +#endif + /* * This function will be called by secondary cpus or by kexec cpu * if soft-reset is activated to stop some CPUs. @@ -347,10 +371,12 @@ EXPORT_SYMBOL(crash_shutdown_unregister); static unsigned long crash_shutdown_buf[JMP_BUF_LEN]; +static int crash_shutdown_cpu = -1; static int handle_fault(struct pt_regs *regs) { - longjmp(crash_shutdown_buf, 1); + if (crash_shutdown_cpu == smp_processor_id()) + longjmp(crash_shutdown_buf, 1); return 0; } @@ -375,11 +401,14 @@ for_each_irq(i) { struct irq_desc *desc = irq_desc + i; + if (!desc || !desc->chip || !desc->chip->eoi) + continue; + if (desc->status & IRQ_INPROGRESS) desc->chip->eoi(i); if (!(desc->status & IRQ_DISABLED)) - desc->chip->disable(i); + desc->chip->shutdown(i); } /* @@ -388,6 +417,7 @@ */ old_handler = __debugger_fault_handler; __debugger_fault_handler = handle_fault; + crash_shutdown_cpu = smp_processor_id(); for (i = 0; crash_shutdown_handles[i]; i++) { if (setjmp(crash_shutdown_buf) == 0) { /* @@ -401,6 +431,7 @@ asm volatile("sync; isync"); } } + crash_shutdown_cpu = -1; __debugger_fault_handler = old_handler; /* @@ -412,6 +443,9 @@ crash_kexec_prepare_cpus(crashing_cpu); cpu_set(crashing_cpu, cpus_in_crash); crash_kexec_stop_spus(); +#if defined(CONFIG_PPC_STD_MMU_64) && defined(CONFIG_SMP) + crash_kexec_wait_realmode(crashing_cpu); +#endif if (ppc_md.kexec_cpu_down) ppc_md.kexec_cpu_down(1, 0); } --- linux-2.6.32.orig/arch/powerpc/kernel/entry_64.S +++ linux-2.6.32/arch/powerpc/kernel/entry_64.S @@ -556,15 +556,6 @@ 2: TRACE_AND_RESTORE_IRQ(r5); -#ifdef CONFIG_PERF_EVENTS - /* check paca->perf_event_pending if we're enabling ints */ - lbz r3,PACAPERFPEND(r13) - and. r3,r3,r5 - beq 27f - bl .perf_event_do_pending -27: -#endif /* CONFIG_PERF_EVENTS */ - /* extract EE bit and use it to restore paca->hard_enabled */ ld r3,_MSR(r1) rldicl r4,r3,49,63 /* r0 = (r3 >> 15) & 1 */ --- linux-2.6.32.orig/arch/powerpc/kernel/irq.c +++ linux-2.6.32/arch/powerpc/kernel/irq.c @@ -53,7 +53,6 @@ #include #include #include -#include #include #include @@ -138,11 +137,6 @@ } #endif /* CONFIG_PPC_STD_MMU_64 */ - if (test_perf_event_pending()) { - clear_perf_event_pending(); - perf_event_do_pending(); - } - /* * if (get_paca()->hard_enabled) return; * But again we need to take care that gcc gets hard_enabled directly --- linux-2.6.32.orig/arch/powerpc/kernel/head_64.S +++ linux-2.6.32/arch/powerpc/kernel/head_64.S @@ -563,15 +563,21 @@ /* Set thread priority to MEDIUM */ HMT_MEDIUM - /* Do early setup for that CPU (stab, slb, hash table pointer) */ - bl .early_setup_secondary - /* Initialize the kernel stack. Just a repeat for iSeries. */ LOAD_REG_ADDR(r3, current_set) sldi r28,r24,3 /* get current_set[cpu#] */ - ldx r1,r3,r28 - addi r1,r1,THREAD_SIZE-STACK_FRAME_OVERHEAD - std r1,PACAKSAVE(r13) + ldx r14,r3,r28 + addi r14,r14,THREAD_SIZE-STACK_FRAME_OVERHEAD + std r14,PACAKSAVE(r13) + + /* Do early setup for that CPU (stab, slb, hash table pointer) */ + bl .early_setup_secondary + + /* + * setup the new stack pointer, but *don't* use this until + * translation is on. + */ + mr r1, r14 /* Clear backchain so we get nice backtraces */ li r7,0 --- linux-2.6.32.orig/arch/powerpc/kernel/paca.c +++ linux-2.6.32/arch/powerpc/kernel/paca.c @@ -14,6 +14,7 @@ #include #include #include +#include /* This symbol is provided by the linker - let it fill in the paca * field correctly */ @@ -97,6 +98,7 @@ new_paca->kernelbase = (unsigned long) _stext; new_paca->kernel_msr = MSR_KERNEL; new_paca->hw_cpu_id = 0xffff; + new_paca->kexec_state = KEXEC_STATE_NONE; new_paca->__current = &init_task; #ifdef CONFIG_PPC_STD_MMU_64 new_paca->slb_shadow_ptr = &slb_shadow[cpu]; --- linux-2.6.32.orig/arch/powerpc/kernel/machine_kexec_64.c +++ linux-2.6.32/arch/powerpc/kernel/machine_kexec_64.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include @@ -155,33 +156,62 @@ #ifdef CONFIG_SMP -/* FIXME: we should schedule this function to be called on all cpus based - * on calling the interrupts, but we would like to call it off irq level - * so that the interrupt controller is clean. - */ +static int kexec_all_irq_disabled; + static void kexec_smp_down(void *arg) { + local_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) + cpu_relax(); + mb(); /* make sure all irqs are disabled before this */ + /* + * Now every CPU has IRQs off, we can clear out any pending + * IPIs and be sure that no more will come in after this. + */ if (ppc_md.kexec_cpu_down) ppc_md.kexec_cpu_down(0, 1); - local_irq_disable(); kexec_smp_wait(); /* NOTREACHED */ } -static void kexec_prepare_cpus(void) +/* + * We need to make sure each present CPU is online. The next kernel will scan + * the device tree and assume primary threads are online and query secondary + * threads via RTAS to online them if required. If we don't online primary + * threads, they will be stuck. However, we also online secondary threads as we + * may be using 'cede offline'. In this case RTAS doesn't see the secondary + * threads as offline -- and again, these CPUs will be stuck. + * + * So, we online all CPUs that should be running, including secondary threads. + */ +static void wake_offline_cpus(void) +{ + int cpu = 0; + + for_each_present_cpu(cpu) { + if (!cpu_online(cpu)) { + printk(KERN_INFO "kexec: Waking offline cpu %d.\n", + cpu); + cpu_up(cpu); + } + } +} + +static void kexec_prepare_cpus_wait(int wait_state) { int my_cpu, i, notified=-1; - smp_call_function(kexec_smp_down, NULL, /* wait */0); + wake_offline_cpus(); my_cpu = get_cpu(); - - /* check the others cpus are now down (via paca hw cpu id == -1) */ + /* Make sure each CPU has atleast made it to the state we need */ for (i=0; i < NR_CPUS; i++) { if (i == my_cpu) continue; - while (paca[i].hw_cpu_id != -1) { + while (paca[i].kexec_state < wait_state) { barrier(); if (!cpu_possible(i)) { printk("kexec: cpu %d hw_cpu_id %d is not" @@ -201,20 +231,35 @@ } if (i != notified) { printk( "kexec: waiting for cpu %d (physical" - " %d) to go down\n", - i, paca[i].hw_cpu_id); + " %d) to enter %i state\n", + i, paca[i].hw_cpu_id, wait_state); notified = i; } } } + mb(); +} + +static void kexec_prepare_cpus(void) +{ + + smp_call_function(kexec_smp_down, NULL, /* wait */0); + local_irq_disable(); + mb(); /* make sure IRQs are disabled before we say they are */ + get_paca()->kexec_state = KEXEC_STATE_IRQS_OFF; + + kexec_prepare_cpus_wait(KEXEC_STATE_IRQS_OFF); + /* we are sure every CPU has IRQs off at this point */ + kexec_all_irq_disabled = 1; /* after we tell the others to go down */ if (ppc_md.kexec_cpu_down) ppc_md.kexec_cpu_down(0, 0); - put_cpu(); +/* Before removing MMU mapings make sure all CPUs have entered real mode */ + kexec_prepare_cpus_wait(KEXEC_STATE_REAL_MODE); - local_irq_disable(); + put_cpu(); } #else /* ! SMP */ --- linux-2.6.32.orig/arch/powerpc/kernel/misc_64.S +++ linux-2.6.32/arch/powerpc/kernel/misc_64.S @@ -24,6 +24,7 @@ #include #include #include +#include .text @@ -462,7 +463,8 @@ * wait for the flag to change, indicating this kernel is going away but * the slave code for the next one is at addresses 0 to 100. * - * This is used by all slaves. + * This is used by all slaves, even those that did not find a matching + * paca in the secondary startup code. * * Physical (hardware) cpu id should be in r3. */ @@ -494,15 +496,18 @@ * note: this is a terminal routine, it does not save lr * * get phys id from paca - * set paca id to -1 to say we got here * switch to real mode + * mark the paca as no longer used * join other cpus in kexec_wait(phys_id) */ _GLOBAL(kexec_smp_wait) lhz r3,PACAHWCPUID(r13) - li r4,-1 - sth r4,PACAHWCPUID(r13) /* let others know we left */ bl real_mode + + li r4,KEXEC_STATE_REAL_MODE + stb r4,PACAKEXECSTATE(r13) + SYNC + b .kexec_wait /* --- linux-2.6.32.orig/arch/powerpc/kernel/pci-common.c +++ linux-2.6.32/arch/powerpc/kernel/pci-common.c @@ -1107,6 +1107,12 @@ list_for_each_entry(dev, &bus->devices, bus_list) { struct dev_archdata *sd = &dev->dev.archdata; + /* Cardbus can call us to add new devices to a bus, so ignore + * those who are already fully discovered + */ + if (dev->is_added) + continue; + /* Setup OF node pointer in archdata */ sd->of_node = pci_device_to_OF_node(dev); @@ -1147,6 +1153,13 @@ } EXPORT_SYMBOL(pcibios_fixup_bus); +void __devinit pci_fixup_cardbus(struct pci_bus *bus) +{ + /* Now fixup devices on that bus */ + pcibios_setup_bus_devices(bus); +} + + static int skip_isa_ioresource_align(struct pci_dev *dev) { if ((ppc_pci_flags & PPC_PCI_CAN_SKIP_ISA_ALIGN) && --- linux-2.6.32.orig/arch/powerpc/kernel/ppc970-pmu.c +++ linux-2.6.32/arch/powerpc/kernel/ppc970-pmu.c @@ -173,9 +173,11 @@ switch (unit) { case PM_VPU: mask = 0x4c; /* byte 0 bits 2,3,6 */ + break; case PM_LSU0: /* byte 2 bits 0,2,3,4,6; all of byte 1 */ mask = 0x085dff00; + break; case PM_LSU1L: mask = 0x50 << 24; /* byte 3 bits 4,6 */ break; --- linux-2.6.32.orig/arch/powerpc/kernel/process.c +++ linux-2.6.32/arch/powerpc/kernel/process.c @@ -554,18 +554,6 @@ void flush_thread(void) { -#ifdef CONFIG_PPC64 - struct thread_info *t = current_thread_info(); - - if (test_ti_thread_flag(t, TIF_ABI_PENDING)) { - clear_ti_thread_flag(t, TIF_ABI_PENDING); - if (test_ti_thread_flag(t, TIF_32BIT)) - clear_ti_thread_flag(t, TIF_32BIT); - else - set_ti_thread_flag(t, TIF_32BIT); - } -#endif - discard_lazy_cpu_state(); if (current->thread.dabr) { --- linux-2.6.32.orig/arch/powerpc/kernel/prom_init.c +++ linux-2.6.32/arch/powerpc/kernel/prom_init.c @@ -890,7 +890,7 @@ } if (addr == 0) return 0; - RELOC(alloc_bottom) = addr; + RELOC(alloc_bottom) = addr + size; prom_debug(" -> %x\n", addr); prom_debug(" alloc_bottom : %x\n", RELOC(alloc_bottom)); @@ -1704,7 +1704,7 @@ chunk = alloc_up(room, 0); if (chunk == 0) prom_panic("No memory for flatten_device_tree (claim failed)"); - *mem_end = RELOC(alloc_top); + *mem_end = chunk + room; } ret = (void *)*mem_start; @@ -1923,7 +1923,7 @@ mem_start = (unsigned long)alloc_up(room, PAGE_SIZE); if (mem_start == 0) prom_panic("Can't allocate initial device-tree chunk\n"); - mem_end = RELOC(alloc_top); + mem_end = mem_start + room; /* Get root of tree */ root = call_prom("peer", 1, 1, (phandle)0); --- linux-2.6.32.orig/arch/powerpc/kernel/rtas_flash.c +++ linux-2.6.32/arch/powerpc/kernel/rtas_flash.c @@ -93,12 +93,8 @@ struct flash_block_list *next; struct flash_block blocks[FLASH_BLOCKS_PER_NODE]; }; -struct flash_block_list_header { /* just the header of flash_block_list */ - unsigned long num_blocks; - struct flash_block_list *next; -}; -static struct flash_block_list_header rtas_firmware_flash_list = {0, NULL}; +static struct flash_block_list *rtas_firmware_flash_list; /* Use slab cache to guarantee 4k alignment */ static struct kmem_cache *flash_block_cache = NULL; @@ -107,13 +103,14 @@ /* Local copy of the flash block list. * We only allow one open of the flash proc file and create this - * list as we go. This list will be put in the - * rtas_firmware_flash_list var once it is fully read. + * list as we go. The rtas_firmware_flash_list varable will be + * set once the data is fully read. * * For convenience as we build the list we use virtual addrs, * we do not fill in the version number, and the length field * is treated as the number of entries currently in the block - * (i.e. not a byte count). This is all fixed on release. + * (i.e. not a byte count). This is all fixed when calling + * the flash routine. */ /* Status int must be first member of struct */ @@ -200,16 +197,16 @@ if (uf->flist) { /* File was opened in write mode for a new flash attempt */ /* Clear saved list */ - if (rtas_firmware_flash_list.next) { - free_flash_list(rtas_firmware_flash_list.next); - rtas_firmware_flash_list.next = NULL; + if (rtas_firmware_flash_list) { + free_flash_list(rtas_firmware_flash_list); + rtas_firmware_flash_list = NULL; } if (uf->status != FLASH_AUTH) uf->status = flash_list_valid(uf->flist); if (uf->status == FLASH_IMG_READY) - rtas_firmware_flash_list.next = uf->flist; + rtas_firmware_flash_list = uf->flist; else free_flash_list(uf->flist); @@ -592,7 +589,7 @@ unsigned long rtas_block_list; int i, status, update_token; - if (rtas_firmware_flash_list.next == NULL) + if (rtas_firmware_flash_list == NULL) return; /* nothing to do */ if (reboot_type != SYS_RESTART) { @@ -609,20 +606,25 @@ return; } - /* NOTE: the "first" block list is a global var with no data - * blocks in the kernel data segment. We do this because - * we want to ensure this block_list addr is under 4GB. + /* + * NOTE: the "first" block must be under 4GB, so we create + * an entry with no data blocks in the reserved buffer in + * the kernel data segment. */ - rtas_firmware_flash_list.num_blocks = 0; - flist = (struct flash_block_list *)&rtas_firmware_flash_list; + spin_lock(&rtas_data_buf_lock); + flist = (struct flash_block_list *)&rtas_data_buf[0]; + flist->num_blocks = 0; + flist->next = rtas_firmware_flash_list; rtas_block_list = virt_to_abs(flist); if (rtas_block_list >= 4UL*1024*1024*1024) { printk(KERN_ALERT "FLASH: kernel bug...flash list header addr above 4GB\n"); + spin_unlock(&rtas_data_buf_lock); return; } printk(KERN_ALERT "FLASH: preparing saved firmware image for flash\n"); /* Update the block_list in place. */ + rtas_firmware_flash_list = NULL; /* too hard to backout on error */ image_size = 0; for (f = flist; f; f = next) { /* Translate data addrs to absolute */ @@ -663,6 +665,7 @@ printk(KERN_ALERT "FLASH: unknown flash return code %d\n", status); break; } + spin_unlock(&rtas_data_buf_lock); } static void remove_flash_pde(struct proc_dir_entry *dp) --- linux-2.6.32.orig/arch/powerpc/kernel/setup_64.c +++ linux-2.6.32/arch/powerpc/kernel/setup_64.c @@ -432,9 +432,18 @@ DBG(" <- setup_system()\n"); } +static u64 slb0_limit(void) +{ + if (cpu_has_feature(CPU_FTR_1T_SEGMENT)) { + return 1UL << SID_SHIFT_1T; + } + return 1UL << SID_SHIFT; +} + #ifdef CONFIG_IRQSTACKS static void __init irqstack_early_init(void) { + u64 limit = slb0_limit(); unsigned int i; /* @@ -444,10 +453,10 @@ for_each_possible_cpu(i) { softirq_ctx[i] = (struct thread_info *) __va(lmb_alloc_base(THREAD_SIZE, - THREAD_SIZE, 0x10000000)); + THREAD_SIZE, limit)); hardirq_ctx[i] = (struct thread_info *) __va(lmb_alloc_base(THREAD_SIZE, - THREAD_SIZE, 0x10000000)); + THREAD_SIZE, limit)); } } #else @@ -478,7 +487,7 @@ */ static void __init emergency_stack_init(void) { - unsigned long limit; + u64 limit; unsigned int i; /* @@ -490,7 +499,7 @@ * bringup, we need to get at them in real mode. This means they * must also be within the RMO region. */ - limit = min(0x10000000ULL, lmb.rmo_size); + limit = min(slb0_limit(), lmb.rmo_size); for_each_possible_cpu(i) { unsigned long sp; --- linux-2.6.32.orig/arch/powerpc/kernel/time.c +++ linux-2.6.32/arch/powerpc/kernel/time.c @@ -530,25 +530,60 @@ } #endif /* CONFIG_PPC_ISERIES */ -#if defined(CONFIG_PERF_EVENTS) && defined(CONFIG_PPC32) -DEFINE_PER_CPU(u8, perf_event_pending); +#ifdef CONFIG_PERF_EVENTS -void set_perf_event_pending(void) +/* + * 64-bit uses a byte in the PACA, 32-bit uses a per-cpu variable... + */ +#ifdef CONFIG_PPC64 +static inline unsigned long test_perf_event_pending(void) { - get_cpu_var(perf_event_pending) = 1; - set_dec(1); - put_cpu_var(perf_event_pending); + unsigned long x; + + asm volatile("lbz %0,%1(13)" + : "=r" (x) + : "i" (offsetof(struct paca_struct, perf_event_pending))); + return x; } +static inline void set_perf_event_pending_flag(void) +{ + asm volatile("stb %0,%1(13)" : : + "r" (1), + "i" (offsetof(struct paca_struct, perf_event_pending))); +} + +static inline void clear_perf_event_pending(void) +{ + asm volatile("stb %0,%1(13)" : : + "r" (0), + "i" (offsetof(struct paca_struct, perf_event_pending))); +} + +#else /* 32-bit */ + +DEFINE_PER_CPU(u8, perf_event_pending); + +#define set_perf_event_pending_flag() __get_cpu_var(perf_event_pending) = 1 #define test_perf_event_pending() __get_cpu_var(perf_event_pending) #define clear_perf_event_pending() __get_cpu_var(perf_event_pending) = 0 -#else /* CONFIG_PERF_EVENTS && CONFIG_PPC32 */ +#endif /* 32 vs 64 bit */ + +void set_perf_event_pending(void) +{ + preempt_disable(); + set_perf_event_pending_flag(); + set_dec(1); + preempt_enable(); +} + +#else /* CONFIG_PERF_EVENTS */ #define test_perf_event_pending() 0 #define clear_perf_event_pending() -#endif /* CONFIG_PERF_EVENTS && CONFIG_PPC32 */ +#endif /* CONFIG_PERF_EVENTS */ /* * For iSeries shared processors, we have to let the hypervisor @@ -576,10 +611,6 @@ set_dec(DECREMENTER_MAX); #ifdef CONFIG_PPC32 - if (test_perf_event_pending()) { - clear_perf_event_pending(); - perf_event_do_pending(); - } if (atomic_read(&ppc_n_lost_interrupts) != 0) do_IRQ(regs); #endif @@ -597,6 +628,11 @@ calculate_steal_time(); + if (test_perf_event_pending()) { + clear_perf_event_pending(); + perf_event_do_pending(); + } + #ifdef CONFIG_PPC_ISERIES if (firmware_has_feature(FW_FEATURE_ISERIES)) get_lppaca()->int_dword.fields.decr_int = 0; @@ -828,7 +864,8 @@ return (cycle_t)get_tb(); } -void update_vsyscall(struct timespec *wall_time, struct clocksource *clock) +void update_vsyscall(struct timespec *wall_time, struct clocksource *clock, + u32 mult) { u64 t2x, stamp_xsec; @@ -841,7 +878,7 @@ /* XXX this assumes clock->shift == 22 */ /* 4611686018 ~= 2^(20+64-22) / 1e9 */ - t2x = (u64) clock->mult * 4611686018ULL; + t2x = (u64) mult * 4611686018ULL; stamp_xsec = (u64) xtime.tv_nsec * XSEC_PER_SEC; do_div(stamp_xsec, 1000000000); stamp_xsec += (u64) xtime.tv_sec * XSEC_PER_SEC; --- linux-2.6.32.orig/arch/powerpc/kernel/syscalls.c +++ linux-2.6.32/arch/powerpc/kernel/syscalls.c @@ -140,7 +140,6 @@ unsigned long prot, unsigned long flags, unsigned long fd, unsigned long off, int shift) { - struct file * file = NULL; unsigned long ret = -EINVAL; if (!arch_validate_prot(prot)) @@ -151,20 +150,8 @@ goto out; off >>= shift; } - - ret = -EBADF; - if (!(flags & MAP_ANONYMOUS)) { - if (!(file = fget(fd))) - goto out; - } - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - down_write(¤t->mm->mmap_sem); - ret = do_mmap_pgoff(file, addr, len, prot, flags, off); - up_write(¤t->mm->mmap_sem); - if (file) - fput(file); + ret = sys_mmap_pgoff(addr, len, prot, flags, fd, off); out: return ret; } --- linux-2.6.32.orig/arch/powerpc/kernel/vector.S +++ linux-2.6.32/arch/powerpc/kernel/vector.S @@ -58,7 +58,7 @@ * all 1's */ mfspr r4,SPRN_VRSAVE - cmpdi 0,r4,0 + cmpwi 0,r4,0 bne+ 1f li r4,-1 mtspr SPRN_VRSAVE,r4 --- linux-2.6.32.orig/arch/powerpc/kernel/perf_event.c +++ linux-2.6.32/arch/powerpc/kernel/perf_event.c @@ -1220,6 +1220,28 @@ return ip; } +static bool pmc_overflow(unsigned long val) +{ + if ((int)val < 0) + return true; + + /* + * Events on POWER7 can roll back if a speculative event doesn't + * eventually complete. Unfortunately in some rare cases they will + * raise a performance monitor exception. We need to catch this to + * ensure we reset the PMC. In all cases the PMC will be 256 or less + * cycles from overflow. + * + * We only do this if the first pass fails to find any overflowing + * PMCs because a user might set a period of less than 256 and we + * don't want to mistakenly reset them. + */ + if (__is_processor(PV_POWER7) && ((0x80000000 - val) <= 256)) + return true; + + return false; +} + /* * Performance monitor interrupt stuff */ @@ -1267,7 +1289,7 @@ if (is_limited_pmc(i + 1)) continue; val = read_pmc(i + 1); - if ((int)val < 0) + if (pmc_overflow(val)) write_pmc(i + 1, 0); } } --- linux-2.6.32.orig/arch/powerpc/kernel/vmlinux.lds.S +++ linux-2.6.32/arch/powerpc/kernel/vmlinux.lds.S @@ -38,6 +38,9 @@ #endif SECTIONS { + . = 0; + reloc_start = .; + . = KERNELBASE; /* --- linux-2.6.32.orig/arch/powerpc/kernel/pci_of_scan.c +++ linux-2.6.32/arch/powerpc/kernel/pci_of_scan.c @@ -300,6 +300,8 @@ /* Scan direct children */ for_each_child_of_node(node, child) { pr_debug(" * %s\n", child->full_name); + if (!of_device_is_available(child)) + continue; reg = of_get_property(child, "reg", ®len); if (reg == NULL || reglen < 20) continue; --- linux-2.6.32.orig/arch/powerpc/kvm/powerpc.c +++ linux-2.6.32/arch/powerpc/kvm/powerpc.c @@ -176,7 +176,8 @@ { struct kvm_vcpu *vcpu; vcpu = kvmppc_core_vcpu_create(kvm, id); - kvmppc_create_vcpu_debugfs(vcpu, id); + if (!IS_ERR(vcpu)) + kvmppc_create_vcpu_debugfs(vcpu, id); return vcpu; } --- linux-2.6.32.orig/arch/powerpc/lib/string.S +++ linux-2.6.32/arch/powerpc/lib/string.S @@ -71,7 +71,7 @@ _GLOBAL(strncmp) PPC_LCMPI r5,0 - beqlr + ble- 2f mtctr r5 addi r5,r3,-1 addi r4,r4,-1 @@ -82,6 +82,8 @@ beqlr 1 bdnzt eq,1b blr +2: li r3,0 + blr _GLOBAL(strlen) addi r4,r3,-1 --- linux-2.6.32.orig/arch/powerpc/mm/fsl_booke_mmu.c +++ linux-2.6.32/arch/powerpc/mm/fsl_booke_mmu.c @@ -131,15 +131,10 @@ TLBCAM[index].MAS3 = (phys & PAGE_MASK) | MAS3_SX | MAS3_SR; TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_SW : 0); -#ifndef CONFIG_KGDB /* want user access for breakpoints */ if (flags & _PAGE_USER) { TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR; TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0); } -#else - TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR; - TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0); -#endif tlbcam_addrs[index].start = virt; tlbcam_addrs[index].limit = virt + size - 1; --- linux-2.6.32.orig/arch/powerpc/oprofile/op_model_cell.c +++ linux-2.6.32/arch/powerpc/oprofile/op_model_cell.c @@ -1077,7 +1077,7 @@ index = ENTRIES-1; /* make sure index is valid */ - if ((index > ENTRIES) || (index < 0)) + if ((index >= ENTRIES) || (index < 0)) index = ENTRIES-1; return initial_lfsr[index]; --- linux-2.6.32.orig/arch/powerpc/oprofile/op_model_power4.c +++ linux-2.6.32/arch/powerpc/oprofile/op_model_power4.c @@ -261,6 +261,28 @@ return is_kernel; } +static bool pmc_overflow(unsigned long val) +{ + if ((int)val < 0) + return true; + + /* + * Events on POWER7 can roll back if a speculative event doesn't + * eventually complete. Unfortunately in some rare cases they will + * raise a performance monitor exception. We need to catch this to + * ensure we reset the PMC. In all cases the PMC will be 256 or less + * cycles from overflow. + * + * We only do this if the first pass fails to find any overflowing + * PMCs because a user might set a period of less than 256 and we + * don't want to mistakenly reset them. + */ + if (__is_processor(PV_POWER7) && ((0x80000000 - val) <= 256)) + return true; + + return false; +} + static void power4_handle_interrupt(struct pt_regs *regs, struct op_counter_config *ctr) { @@ -281,7 +303,7 @@ for (i = 0; i < cur_cpu_spec->num_pmcs; ++i) { val = classic_ctr_read(i); - if (val < 0) { + if (pmc_overflow(val)) { if (oprofile_running && ctr[i].enabled) { oprofile_add_ext_sample(pc, regs, i, is_kernel); classic_ctr_write(i, reset_value[i]); --- linux-2.6.32.orig/arch/powerpc/platforms/pseries/eeh.c +++ linux-2.6.32/arch/powerpc/platforms/pseries/eeh.c @@ -491,7 +491,7 @@ pdn->eeh_mode & EEH_MODE_NOCHECK) { ignored_check++; pr_debug("EEH: Ignored check (%x) for %s %s\n", - pdn->eeh_mode, pci_name (dev), dn->full_name); + pdn->eeh_mode, eeh_pci_name(dev), dn->full_name); return 0; } @@ -515,7 +515,7 @@ printk (KERN_ERR "EEH: %d reads ignored for recovering device at " "location=%s driver=%s pci addr=%s\n", pdn->eeh_check_count, location, - dev->driver->name, pci_name(dev)); + dev->driver->name, eeh_pci_name(dev)); printk (KERN_ERR "EEH: Might be infinite loop in %s driver\n", dev->driver->name); dump_stack(); --- linux-2.6.32.orig/arch/powerpc/platforms/pseries/eeh_driver.c +++ linux-2.6.32/arch/powerpc/platforms/pseries/eeh_driver.c @@ -353,7 +353,7 @@ location = location ? location : "unknown"; printk(KERN_ERR "EEH: Error: Cannot find partition endpoint " "for location=%s pci addr=%s\n", - location, pci_name(event->dev)); + location, eeh_pci_name(event->dev)); return NULL; } @@ -384,7 +384,7 @@ pci_str = pci_name (frozen_pdn->pcidev); drv_str = pcid_name (frozen_pdn->pcidev); } else { - pci_str = pci_name (event->dev); + pci_str = eeh_pci_name(event->dev); drv_str = pcid_name (event->dev); } --- linux-2.6.32.orig/arch/powerpc/platforms/pseries/eeh_event.c +++ linux-2.6.32/arch/powerpc/platforms/pseries/eeh_event.c @@ -80,7 +80,7 @@ eeh_mark_slot(event->dn, EEH_MODE_RECOVERING); printk(KERN_INFO "EEH: Detected PCI bus error on device %s\n", - pci_name(event->dev)); + eeh_pci_name(event->dev)); pdn = handle_eeh_events(event); --- linux-2.6.32.orig/arch/powerpc/platforms/pseries/hotplug-cpu.c +++ linux-2.6.32/arch/powerpc/platforms/pseries/hotplug-cpu.c @@ -66,30 +66,6 @@ for(;;); } -static int qcss_tok; /* query-cpu-stopped-state token */ - -/* Get state of physical CPU. - * Return codes: - * 0 - The processor is in the RTAS stopped state - * 1 - stop-self is in progress - * 2 - The processor is not in the RTAS stopped state - * -1 - Hardware Error - * -2 - Hardware Busy, Try again later. - */ -static int query_cpu_stopped(unsigned int pcpu) -{ - int cpu_status, status; - - status = rtas_call(qcss_tok, 1, 2, &cpu_status, pcpu); - if (status != 0) { - printk(KERN_ERR - "RTAS query-cpu-stopped-state failed: %i\n", status); - return status; - } - - return cpu_status; -} - static int pseries_cpu_disable(void) { int cpu = smp_processor_id(); @@ -113,8 +89,9 @@ unsigned int pcpu = get_hard_smp_processor_id(cpu); for (tries = 0; tries < 25; tries++) { - cpu_status = query_cpu_stopped(pcpu); - if (cpu_status == 0 || cpu_status == -1) + cpu_status = smp_query_cpu_stopped(pcpu); + if (cpu_status == QCSS_STOPPED || + cpu_status == QCSS_HARDWARE_ERROR) break; cpu_relax(); } @@ -256,6 +233,7 @@ { struct device_node *np; const char *typep; + int qcss_tok; for_each_node_by_name(np, "interrupt-controller") { typep = of_get_property(np, "compatible", NULL); --- linux-2.6.32.orig/arch/powerpc/platforms/pseries/hvCall.S +++ linux-2.6.32/arch/powerpc/platforms/pseries/hvCall.S @@ -202,3 +202,41 @@ mtcrf 0xff,r0 blr /* return r3 = status */ + +/* See plpar_hcall_raw to see why this is needed */ +_GLOBAL(plpar_hcall9_raw) + HMT_MEDIUM + + mfcr r0 + stw r0,8(r1) + + std r4,STK_PARM(r4)(r1) /* Save ret buffer */ + + mr r4,r5 + mr r5,r6 + mr r6,r7 + mr r7,r8 + mr r8,r9 + mr r9,r10 + ld r10,STK_PARM(r11)(r1) /* put arg7 in R10 */ + ld r11,STK_PARM(r12)(r1) /* put arg8 in R11 */ + ld r12,STK_PARM(r13)(r1) /* put arg9 in R12 */ + + HVSC /* invoke the hypervisor */ + + mr r0,r12 + ld r12,STK_PARM(r4)(r1) + std r4, 0(r12) + std r5, 8(r12) + std r6, 16(r12) + std r7, 24(r12) + std r8, 32(r12) + std r9, 40(r12) + std r10,48(r12) + std r11,56(r12) + std r0, 64(r12) + + lwz r0,8(r1) + mtcrf 0xff,r0 + + blr /* return r3 = status */ --- linux-2.6.32.orig/arch/powerpc/platforms/pseries/hvconsole.c +++ linux-2.6.32/arch/powerpc/platforms/pseries/hvconsole.c @@ -73,7 +73,7 @@ if (ret == H_SUCCESS) return count; if (ret == H_BUSY) - return 0; + return -EAGAIN; return -EIO; } --- linux-2.6.32.orig/arch/powerpc/platforms/pseries/lpar.c +++ linux-2.6.32/arch/powerpc/platforms/pseries/lpar.c @@ -366,21 +366,28 @@ { unsigned long size_bytes = 1UL << ppc64_pft_size; unsigned long hpte_count = size_bytes >> 4; - unsigned long dummy1, dummy2, dword0; + struct { + unsigned long pteh; + unsigned long ptel; + } ptes[4]; long lpar_rc; - int i; + unsigned long i, j; - /* TODO: Use bulk call */ - for (i = 0; i < hpte_count; i++) { - /* dont remove HPTEs with VRMA mappings */ - lpar_rc = plpar_pte_remove_raw(H_ANDCOND, i, HPTE_V_1TB_SEG, - &dummy1, &dummy2); - if (lpar_rc == H_NOT_FOUND) { - lpar_rc = plpar_pte_read_raw(0, i, &dword0, &dummy1); - if (!lpar_rc && ((dword0 & HPTE_V_VRMA_MASK) - != HPTE_V_VRMA_MASK)) - /* Can be hpte for 1TB Seg. So remove it */ - plpar_pte_remove_raw(0, i, 0, &dummy1, &dummy2); + /* Read in batches of 4, + * invalidate only valid entries not in the VRMA + * hpte_count will be a multiple of 4 + */ + for (i = 0; i < hpte_count; i += 4) { + lpar_rc = plpar_pte_read_4_raw(0, i, (void *)ptes); + if (lpar_rc != H_SUCCESS) + continue; + for (j = 0; j < 4; j++){ + if ((ptes[j].pteh & HPTE_V_VRMA_MASK) == + HPTE_V_VRMA_MASK) + continue; + if (ptes[j].pteh & HPTE_V_VALID) + plpar_pte_remove_raw(0, i + j, 0, + &(ptes[j].pteh), &(ptes[j].ptel)); } } } --- linux-2.6.32.orig/arch/powerpc/platforms/pseries/plpar_wrappers.h +++ linux-2.6.32/arch/powerpc/platforms/pseries/plpar_wrappers.h @@ -4,6 +4,14 @@ #include #include +/* Get state of physical CPU from query_cpu_stopped */ +int smp_query_cpu_stopped(unsigned int pcpu); +#define QCSS_STOPPED 0 +#define QCSS_STOPPING 1 +#define QCSS_NOT_STOPPED 2 +#define QCSS_HARDWARE_ERROR -1 +#define QCSS_HARDWARE_BUSY -2 + static inline long poll_pending(void) { return plpar_hcall_norets(H_POLL_PENDING); @@ -161,6 +169,24 @@ return rc; } +/* + * plpar_pte_read_4_raw can be called in real mode. + * ptes must be 8*sizeof(unsigned long) + */ +static inline long plpar_pte_read_4_raw(unsigned long flags, unsigned long ptex, + unsigned long *ptes) + +{ + long rc; + unsigned long retbuf[PLPAR_HCALL9_BUFSIZE]; + + rc = plpar_hcall9_raw(H_READ, retbuf, flags | H_READ_4, ptex); + + memcpy(ptes, retbuf, 8*sizeof(unsigned long)); + + return rc; +} + static inline long plpar_pte_protect(unsigned long flags, unsigned long ptex, unsigned long avpn) { --- linux-2.6.32.orig/arch/powerpc/platforms/pseries/smp.c +++ linux-2.6.32/arch/powerpc/platforms/pseries/smp.c @@ -56,6 +56,28 @@ */ static cpumask_t of_spin_map; +/* Query where a cpu is now. Return codes #defined in plpar_wrappers.h */ +int smp_query_cpu_stopped(unsigned int pcpu) +{ + int cpu_status, status; + int qcss_tok = rtas_token("query-cpu-stopped-state"); + + if (qcss_tok == RTAS_UNKNOWN_SERVICE) { + printk(KERN_INFO "Firmware doesn't support " + "query-cpu-stopped-state\n"); + return QCSS_HARDWARE_ERROR; + } + + status = rtas_call(qcss_tok, 1, 2, &cpu_status, pcpu); + if (status != 0) { + printk(KERN_ERR + "RTAS query-cpu-stopped-state failed: %i\n", status); + return status; + } + + return cpu_status; +} + /** * smp_startup_cpu() - start the given cpu * @@ -81,6 +103,12 @@ pcpu = get_hard_smp_processor_id(lcpu); + /* Check to see if the CPU out of FW already for kexec */ + if (smp_query_cpu_stopped(pcpu) == QCSS_NOT_STOPPED){ + cpu_set(lcpu, of_spin_map); + return 1; + } + /* Fixup atomic count: it exited inside IRQ handler. */ task_thread_info(paca[lcpu].__current)->preempt_count = 0; --- linux-2.6.32.orig/arch/powerpc/sysdev/fsl_pci.c +++ linux-2.6.32/arch/powerpc/sysdev/fsl_pci.c @@ -392,8 +392,22 @@ DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_MPC8641, quirk_fsl_pcie_header); DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_MPC8641D, quirk_fsl_pcie_header); DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_MPC8610, quirk_fsl_pcie_header); +DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_P1011E, quirk_fsl_pcie_header); +DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_P1011, quirk_fsl_pcie_header); +DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_P1013E, quirk_fsl_pcie_header); +DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_P1013, quirk_fsl_pcie_header); +DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_P1020E, quirk_fsl_pcie_header); +DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_P1020, quirk_fsl_pcie_header); +DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_P1022E, quirk_fsl_pcie_header); +DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_P1022, quirk_fsl_pcie_header); +DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_P2010E, quirk_fsl_pcie_header); +DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_P2010, quirk_fsl_pcie_header); DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_P2020E, quirk_fsl_pcie_header); DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_P2020, quirk_fsl_pcie_header); +DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_P4040E, quirk_fsl_pcie_header); +DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_P4040, quirk_fsl_pcie_header); +DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_P4080E, quirk_fsl_pcie_header); +DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_P4080, quirk_fsl_pcie_header); #endif /* CONFIG_PPC_85xx || CONFIG_PPC_86xx */ #if defined(CONFIG_PPC_83xx) || defined(CONFIG_PPC_MPC512x) --- linux-2.6.32.orig/arch/powerpc/sysdev/fsl_rio.c +++ linux-2.6.32/arch/powerpc/sysdev/fsl_rio.c @@ -832,7 +832,6 @@ if (dsr & DOORBELL_DSR_QFI) { pr_info("RIO: doorbell queue full\n"); out_be32(&priv->msg_regs->dsr, DOORBELL_DSR_QFI); - goto out; } /* XXX Need to check/dispatch until queue empty */ --- linux-2.6.32.orig/arch/s390/Kconfig +++ linux-2.6.32/arch/s390/Kconfig @@ -188,6 +188,9 @@ depends on COMPAT && SYSVIPC default y +config KEYS_COMPAT + def_bool y if COMPAT && KEYS + config AUDIT_ARCH bool default y --- linux-2.6.32.orig/arch/s390/include/asm/compat.h +++ linux-2.6.32/arch/s390/include/asm/compat.h @@ -171,16 +171,9 @@ return test_thread_flag(TIF_31BIT); } -#else - -static inline int is_compat_task(void) -{ - return 0; -} - #endif -static inline void __user *compat_alloc_user_space(long len) +static inline void __user *arch_compat_alloc_user_space(long len) { unsigned long stack; --- linux-2.6.32.orig/arch/s390/include/asm/cputime.h +++ linux-2.6.32/arch/s390/include/asm/cputime.h @@ -183,6 +183,7 @@ unsigned long long idle_count; unsigned long long idle_enter; unsigned long long idle_time; + int nohz_delay; }; DECLARE_PER_CPU(struct s390_idle_data, s390_idle); @@ -198,4 +199,11 @@ vtime_start_cpu(); } +static inline int s390_nohz_delay(int cpu) +{ + return per_cpu(s390_idle, cpu).nohz_delay != 0; +} + +#define arch_needs_cpu(cpu) s390_nohz_delay(cpu) + #endif /* _S390_CPUTIME_H */ --- linux-2.6.32.orig/arch/s390/include/asm/kvm.h +++ linux-2.6.32/arch/s390/include/asm/kvm.h @@ -1,6 +1,5 @@ #ifndef __LINUX_KVM_S390_H #define __LINUX_KVM_S390_H - /* * asm-s390/kvm.h - KVM s390 specific structures and definitions * @@ -15,6 +14,8 @@ */ #include +#define __KVM_S390 + /* for KVM_GET_REGS and KVM_SET_REGS */ struct kvm_regs { /* general purpose regs for s390 */ --- linux-2.6.32.orig/arch/s390/include/asm/processor.h +++ linux-2.6.32/arch/s390/include/asm/processor.h @@ -150,11 +150,6 @@ */ extern unsigned long thread_saved_pc(struct task_struct *t); -/* - * Print register of task into buffer. Used in fs/proc/array.c. - */ -extern void task_show_regs(struct seq_file *m, struct task_struct *task); - extern void show_code(struct pt_regs *regs); unsigned long get_wchan(struct task_struct *p); --- linux-2.6.32.orig/arch/s390/include/asm/system.h +++ linux-2.6.32/arch/s390/include/asm/system.h @@ -97,7 +97,6 @@ extern void account_vtime(struct task_struct *, struct task_struct *); extern void account_tick_vtime(struct task_struct *); -extern void account_system_vtime(struct task_struct *); #ifdef CONFIG_PFAULT extern void pfault_irq_init(void); --- linux-2.6.32.orig/arch/s390/include/asm/vdso.h +++ linux-2.6.32/arch/s390/include/asm/vdso.h @@ -7,7 +7,7 @@ #define VDSO32_LBASE 0 #define VDSO64_LBASE 0 -#define VDSO_VERSION_STRING LINUX_2.6.26 +#define VDSO_VERSION_STRING LINUX_2.6.29 #ifndef __ASSEMBLY__ --- linux-2.6.32.orig/arch/s390/kernel/compat_linux.c +++ linux-2.6.32/arch/s390/kernel/compat_linux.c @@ -683,38 +683,6 @@ u32 offset; }; -/* common code for old and new mmaps */ -static inline long do_mmap2( - unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, unsigned long pgoff) -{ - struct file * file = NULL; - unsigned long error = -EBADF; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - if (!IS_ERR((void *) error) && error + len >= 0x80000000ULL) { - /* Result is out of bounds. */ - do_munmap(current->mm, addr, len); - error = -ENOMEM; - } - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); -out: - return error; -} - - asmlinkage unsigned long old32_mmap(struct mmap_arg_struct_emu31 __user *arg) { @@ -728,7 +696,8 @@ if (a.offset & ~PAGE_MASK) goto out; - error = do_mmap2(a.addr, a.len, a.prot, a.flags, a.fd, a.offset >> PAGE_SHIFT); + error = sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, + a.offset >> PAGE_SHIFT); out: return error; } @@ -741,7 +710,7 @@ if (copy_from_user(&a, arg, sizeof(a))) goto out; - error = do_mmap2(a.addr, a.len, a.prot, a.flags, a.fd, a.offset); + error = sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, a.offset); out: return error; } --- linux-2.6.32.orig/arch/s390/kernel/entry.S +++ linux-2.6.32/arch/s390/kernel/entry.S @@ -571,6 +571,7 @@ mvc __THREAD_per+__PER_access_id(1,%r8),__LC_PER_ACCESS_ID oi __TI_flags+3(%r9),_TIF_SINGLE_STEP # set TIF_SINGLE_STEP TRACE_IRQS_ON + lm %r2,%r6,SP_R2(%r15) # load svc arguments stosm __SF_EMPTY(%r15),0x03 # reenable interrupts b BASED(sysc_do_svc) --- linux-2.6.32.orig/arch/s390/kernel/entry64.S +++ linux-2.6.32/arch/s390/kernel/entry64.S @@ -549,6 +549,7 @@ mvc __THREAD_per+__PER_access_id(1,%r8),__LC_PER_ACCESS_ID oi __TI_flags+7(%r9),_TIF_SINGLE_STEP # set TIF_SINGLE_STEP TRACE_IRQS_ON + lmg %r2,%r6,SP_R2(%r15) # load svc arguments stosm __SF_EMPTY(%r15),0x03 # reenable interrupts j sysc_do_svc --- linux-2.6.32.orig/arch/s390/kernel/head64.S +++ linux-2.6.32/arch/s390/kernel/head64.S @@ -83,6 +83,8 @@ slr %r0,%r0 # set cpuid to zero sigp %r1,%r0,0x12 # switch to esame mode sam64 # switch to 64 bit mode + llgfr %r13,%r13 # clear high-order half of base reg + lmh %r0,%r15,.Lzero64-.LPG1(%r13) # clear high-order half lctlg %c0,%c15,.Lctl-.LPG1(%r13) # load control registers lg %r12,.Lparmaddr-.LPG1(%r13) # pointer to parameter area # move IPL device to lowcore @@ -127,6 +129,7 @@ .L4malign:.quad 0xffffffffffc00000 .Lscan2g:.quad 0x80000000 + 0x20000 - 8 # 2GB + 128K - 8 .Lnop: .long 0x07000700 +.Lzero64:.fill 16,4,0x0 #ifdef CONFIG_ZFCPDUMP .Lcurrent_cpu: .long 0x0 --- linux-2.6.32.orig/arch/s390/kernel/nmi.c +++ linux-2.6.32/arch/s390/kernel/nmi.c @@ -95,7 +95,6 @@ static int notrace s390_revalidate_registers(struct mci *mci) { int kill_task; - u64 tmpclock; u64 zero; void *fpt_save_area, *fpt_creg_save_area; @@ -214,11 +213,10 @@ : "0", "cc"); #endif /* Revalidate clock comparator register */ - asm volatile( - " stck 0(%1)\n" - " sckc 0(%1)" - : "=m" (tmpclock) : "a" (&(tmpclock)) : "cc", "memory"); - + if (S390_lowcore.clock_comparator == -1) + set_clock_comparator(get_clock()); + else + set_clock_comparator(S390_lowcore.clock_comparator); /* Check if old PSW is valid */ if (!mci->wp) /* --- linux-2.6.32.orig/arch/s390/kernel/process.c +++ linux-2.6.32/arch/s390/kernel/process.c @@ -32,7 +32,6 @@ #include #include #include -#include #include #include #include --- linux-2.6.32.orig/arch/s390/kernel/ptrace.c +++ linux-2.6.32/arch/s390/kernel/ptrace.c @@ -36,8 +36,8 @@ #include #include #include +#include #include -#include #include #include #include @@ -632,7 +632,7 @@ asmlinkage long do_syscall_trace_enter(struct pt_regs *regs) { - long ret; + long ret = 0; /* Do the secure computing check first. */ secure_computing(regs->gprs[2]); @@ -641,7 +641,6 @@ * The sysc_tracesys code in entry.S stored the system * call number to gprs[2]. */ - ret = regs->gprs[2]; if (test_thread_flag(TIF_SYSCALL_TRACE) && (tracehook_report_syscall_entry(regs) || regs->gprs[2] >= NR_syscalls)) { @@ -663,7 +662,7 @@ regs->gprs[2], regs->orig_gpr2, regs->gprs[3], regs->gprs[4], regs->gprs[5]); - return ret; + return ret ?: regs->gprs[2]; } asmlinkage void do_syscall_trace_exit(struct pt_regs *regs) --- linux-2.6.32.orig/arch/s390/kernel/setup.c +++ linux-2.6.32/arch/s390/kernel/setup.c @@ -43,6 +43,7 @@ #include #include #include +#include #include #include --- linux-2.6.32.orig/arch/s390/kernel/time.c +++ linux-2.6.32/arch/s390/kernel/time.c @@ -214,7 +214,8 @@ return &clocksource_tod; } -void update_vsyscall(struct timespec *wall_time, struct clocksource *clock) +void update_vsyscall(struct timespec *wall_time, struct clocksource *clock, + u32 mult) { if (clock != &clocksource_tod) return; --- linux-2.6.32.orig/arch/s390/kernel/sys_s390.c +++ linux-2.6.32/arch/s390/kernel/sys_s390.c @@ -32,32 +32,6 @@ #include #include "entry.h" -/* common code for old and new mmaps */ -static inline long do_mmap2( - unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, unsigned long pgoff) -{ - long error = -EBADF; - struct file * file = NULL; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); -out: - return error; -} - /* * Perform the select(nd, in, out, ex, tv) and mmap() system * calls. Linux for S/390 isn't able to handle more than 5 @@ -81,7 +55,7 @@ if (copy_from_user(&a, arg, sizeof(a))) goto out; - error = do_mmap2(a.addr, a.len, a.prot, a.flags, a.fd, a.offset); + error = sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, a.offset); out: return error; } @@ -98,7 +72,7 @@ if (a.offset & ~PAGE_MASK) goto out; - error = do_mmap2(a.addr, a.len, a.prot, a.flags, a.fd, a.offset >> PAGE_SHIFT); + error = sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, a.offset >> PAGE_SHIFT); out: return error; } --- linux-2.6.32.orig/arch/s390/kernel/traps.c +++ linux-2.6.32/arch/s390/kernel/traps.c @@ -243,43 +243,6 @@ show_last_breaking_event(regs); } -/* This is called from fs/proc/array.c */ -void task_show_regs(struct seq_file *m, struct task_struct *task) -{ - struct pt_regs *regs; - - regs = task_pt_regs(task); - seq_printf(m, "task: %p, ksp: %p\n", - task, (void *)task->thread.ksp); - seq_printf(m, "User PSW : %p %p\n", - (void *) regs->psw.mask, (void *)regs->psw.addr); - - seq_printf(m, "User GPRS: " FOURLONG, - regs->gprs[0], regs->gprs[1], - regs->gprs[2], regs->gprs[3]); - seq_printf(m, " " FOURLONG, - regs->gprs[4], regs->gprs[5], - regs->gprs[6], regs->gprs[7]); - seq_printf(m, " " FOURLONG, - regs->gprs[8], regs->gprs[9], - regs->gprs[10], regs->gprs[11]); - seq_printf(m, " " FOURLONG, - regs->gprs[12], regs->gprs[13], - regs->gprs[14], regs->gprs[15]); - seq_printf(m, "User ACRS: %08x %08x %08x %08x\n", - task->thread.acrs[0], task->thread.acrs[1], - task->thread.acrs[2], task->thread.acrs[3]); - seq_printf(m, " %08x %08x %08x %08x\n", - task->thread.acrs[4], task->thread.acrs[5], - task->thread.acrs[6], task->thread.acrs[7]); - seq_printf(m, " %08x %08x %08x %08x\n", - task->thread.acrs[8], task->thread.acrs[9], - task->thread.acrs[10], task->thread.acrs[11]); - seq_printf(m, " %08x %08x %08x %08x\n", - task->thread.acrs[12], task->thread.acrs[13], - task->thread.acrs[14], task->thread.acrs[15]); -} - static DEFINE_SPINLOCK(die_lock); void die(const char * str, struct pt_regs * regs, long err) --- linux-2.6.32.orig/arch/s390/kernel/vtime.c +++ linux-2.6.32/arch/s390/kernel/vtime.c @@ -167,6 +167,8 @@ /* Wait for external, I/O or machine check interrupt. */ psw.mask = psw_kernel_bits | PSW_MASK_WAIT | PSW_MASK_IO | PSW_MASK_EXT; + idle->nohz_delay = 0; + /* Check if the CPU timer needs to be reprogrammed. */ if (vq->do_spt) { __u64 vmax = VTIMER_MAX_SLICE; --- linux-2.6.32.orig/arch/s390/kernel/s390_ext.c +++ linux-2.6.32/arch/s390/kernel/s390_ext.c @@ -126,6 +126,8 @@ /* Serve timer interrupts first. */ clock_comparator_work(); kstat_cpu(smp_processor_id()).irqs[EXTERNAL_INTERRUPT]++; + if (code != 0x1004) + __get_cpu_var(s390_idle).nohz_delay = 1; index = ext_hash(code); for (p = ext_int_hash[index]; p; p = p->next) { if (likely(p->code == code)) --- linux-2.6.32.orig/arch/s390/kvm/intercept.c +++ linux-2.6.32/arch/s390/kvm/intercept.c @@ -213,7 +213,7 @@ return rc2; } -static const intercept_handler_t intercept_funcs[0x48 >> 2] = { +static const intercept_handler_t intercept_funcs[] = { [0x00 >> 2] = handle_noop, [0x04 >> 2] = handle_instruction, [0x08 >> 2] = handle_prog, @@ -230,7 +230,7 @@ intercept_handler_t func; u8 code = vcpu->arch.sie_block->icptcode; - if (code & 3 || code > 0x48) + if (code & 3 || (code >> 2) >= ARRAY_SIZE(intercept_funcs)) return -ENOTSUPP; func = intercept_funcs[code >> 2]; if (func) --- linux-2.6.32.orig/arch/s390/kvm/kvm-s390.c +++ linux-2.6.32/arch/s390/kvm/kvm-s390.c @@ -116,10 +116,16 @@ int kvm_dev_ioctl_check_extension(long ext) { + int r; + switch (ext) { + case KVM_CAP_S390_PSW: + r = 1; + break; default: - return 0; + r = 0; } + return r; } /* Section: vm related */ @@ -302,11 +308,17 @@ struct kvm_vcpu *kvm_arch_vcpu_create(struct kvm *kvm, unsigned int id) { - struct kvm_vcpu *vcpu = kzalloc(sizeof(struct kvm_vcpu), GFP_KERNEL); - int rc = -ENOMEM; + struct kvm_vcpu *vcpu; + int rc = -EINVAL; + + if (id >= KVM_MAX_VCPUS) + goto out; + + rc = -ENOMEM; + vcpu = kzalloc(sizeof(struct kvm_vcpu), GFP_KERNEL); if (!vcpu) - goto out_nomem; + goto out; vcpu->arch.sie_block = (struct kvm_s390_sie_block *) get_zeroed_page(GFP_KERNEL); @@ -332,14 +344,16 @@ rc = kvm_vcpu_init(vcpu, kvm, id); if (rc) - goto out_free_cpu; + goto out_free_sie_block; VM_EVENT(kvm, 3, "create cpu %d at %p, sie block at %p", id, vcpu, vcpu->arch.sie_block); return vcpu; +out_free_sie_block: + free_page((unsigned long)(vcpu->arch.sie_block)); out_free_cpu: kfree(vcpu); -out_nomem: +out: return ERR_PTR(rc); } @@ -419,8 +433,10 @@ vcpu_load(vcpu); if (atomic_read(&vcpu->arch.sie_block->cpuflags) & CPUSTAT_RUNNING) rc = -EBUSY; - else - vcpu->arch.sie_block->gpsw = psw; + else { + vcpu->run->psw_mask = psw.mask; + vcpu->run->psw_addr = psw.addr; + } vcpu_put(vcpu); return rc; } @@ -508,9 +524,6 @@ switch (kvm_run->exit_reason) { case KVM_EXIT_S390_SIEIC: - vcpu->arch.sie_block->gpsw.mask = kvm_run->s390_sieic.mask; - vcpu->arch.sie_block->gpsw.addr = kvm_run->s390_sieic.addr; - break; case KVM_EXIT_UNKNOWN: case KVM_EXIT_INTR: case KVM_EXIT_S390_RESET: @@ -519,6 +532,9 @@ BUG(); } + vcpu->arch.sie_block->gpsw.mask = kvm_run->psw_mask; + vcpu->arch.sie_block->gpsw.addr = kvm_run->psw_addr; + might_fault(); do { @@ -538,8 +554,6 @@ /* intercept cannot be handled in-kernel, prepare kvm-run */ kvm_run->exit_reason = KVM_EXIT_S390_SIEIC; kvm_run->s390_sieic.icptcode = vcpu->arch.sie_block->icptcode; - kvm_run->s390_sieic.mask = vcpu->arch.sie_block->gpsw.mask; - kvm_run->s390_sieic.addr = vcpu->arch.sie_block->gpsw.addr; kvm_run->s390_sieic.ipa = vcpu->arch.sie_block->ipa; kvm_run->s390_sieic.ipb = vcpu->arch.sie_block->ipb; rc = 0; @@ -551,6 +565,9 @@ rc = 0; } + kvm_run->psw_mask = vcpu->arch.sie_block->gpsw.mask; + kvm_run->psw_addr = vcpu->arch.sie_block->gpsw.addr; + if (vcpu->sigset_active) sigprocmask(SIG_SETMASK, &sigsaved, NULL); --- linux-2.6.32.orig/arch/s390/kvm/sigp.c +++ linux-2.6.32/arch/s390/kvm/sigp.c @@ -188,9 +188,9 @@ /* make sure that the new value is valid memory */ address = address & 0x7fffe000u; - if ((copy_from_guest(vcpu, &tmp, - (u64) (address + vcpu->arch.sie_block->gmsor) , 1)) || - (copy_from_guest(vcpu, &tmp, (u64) (address + + if ((copy_from_user(&tmp, (void __user *) + (address + vcpu->arch.sie_block->gmsor) , 1)) || + (copy_from_user(&tmp, (void __user *)(address + vcpu->arch.sie_block->gmsor + PAGE_SIZE), 1))) { *reg |= SIGP_STAT_INVALID_PARAMETER; return 1; /* invalid parameter */ --- linux-2.6.32.orig/arch/s390/lib/delay.c +++ linux-2.6.32/arch/s390/lib/delay.c @@ -29,17 +29,21 @@ { unsigned long mask, cr0, cr0_saved; u64 clock_saved; + u64 end; + mask = psw_kernel_bits | PSW_MASK_WAIT | PSW_MASK_EXT; + end = get_clock() + (usecs << 12); clock_saved = local_tick_disable(); - set_clock_comparator(get_clock() + (usecs << 12)); __ctl_store(cr0_saved, 0, 0); cr0 = (cr0_saved & 0xffff00e0) | 0x00000800; __ctl_load(cr0 , 0, 0); - mask = psw_kernel_bits | PSW_MASK_WAIT | PSW_MASK_EXT; lockdep_off(); - trace_hardirqs_on(); - __load_psw_mask(mask); - local_irq_disable(); + do { + set_clock_comparator(end); + trace_hardirqs_on(); + __load_psw_mask(mask); + local_irq_disable(); + } while (get_clock() < end); lockdep_on(); __ctl_load(cr0_saved, 0, 0); local_tick_enable(clock_saved); --- linux-2.6.32.orig/arch/s390/mm/mmap.c +++ linux-2.6.32/arch/s390/mm/mmap.c @@ -27,8 +27,8 @@ #include #include #include +#include #include -#include /* * Top of mmap area (just below the process stack). --- linux-2.6.32.orig/arch/score/kernel/entry.S +++ linux-2.6.32/arch/score/kernel/entry.S @@ -408,7 +408,7 @@ sw r9, [r0, PT_EPC] cmpi.c r27, __NR_syscalls # check syscall number - bgtu illegal_syscall + bgeu illegal_syscall slli r8, r27, 2 # get syscall routine la r11, sys_call_table --- linux-2.6.32.orig/arch/score/kernel/sys_score.c +++ linux-2.6.32/arch/score/kernel/sys_score.c @@ -36,34 +36,16 @@ sys_mmap2(unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long fd, unsigned long pgoff) { - int error = -EBADF; - struct file *file = NULL; - - if (pgoff & (~PAGE_MASK >> 12)) - return -EINVAL; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - return error; - } - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); - - return error; + return sys_mmap_pgoff(addr, len, prot, flags, fd, pgoff); } asmlinkage long sys_mmap(unsigned long addr, unsigned long len, unsigned long prot, - unsigned long flags, unsigned long fd, off_t pgoff) + unsigned long flags, unsigned long fd, off_t offset) { - return sys_mmap2(addr, len, prot, flags, fd, pgoff >> PAGE_SHIFT); + if (unlikely(offset & ~PAGE_MASK)) + return -EINVAL; + return sys_mmap_pgoff(addr, len, prot, flags, fd, offset >> PAGE_SHIFT); } asmlinkage long --- linux-2.6.32.orig/arch/sh/boot/compressed/misc.c +++ linux-2.6.32/arch/sh/boot/compressed/misc.c @@ -132,7 +132,7 @@ output_addr = (CONFIG_MEMORY_START + 0x2000); #else output_addr = PHYSADDR((unsigned long)&_text+PAGE_SIZE); -#ifdef CONFIG_29BIT +#if defined(CONFIG_29BIT) || defined(CONFIG_PMB_FIXED) output_addr |= P2SEG; #endif #endif --- linux-2.6.32.orig/arch/sh/include/asm/elf.h +++ linux-2.6.32/arch/sh/include/asm/elf.h @@ -212,7 +212,9 @@ #define VSYSCALL_AUX_ENT \ if (vdso_enabled) \ - NEW_AUX_ENT(AT_SYSINFO_EHDR, VDSO_BASE); + NEW_AUX_ENT(AT_SYSINFO_EHDR, VDSO_BASE); \ + else \ + NEW_AUX_ENT(AT_IGNORE, 0); #else #define VSYSCALL_AUX_ENT #endif /* CONFIG_VSYSCALL */ @@ -220,7 +222,7 @@ #ifdef CONFIG_SH_FPU #define FPU_AUX_ENT NEW_AUX_ENT(AT_FPUCW, FPSCR_INIT) #else -#define FPU_AUX_ENT +#define FPU_AUX_ENT NEW_AUX_ENT(AT_IGNORE, 0) #endif extern int l1i_cache_shape, l1d_cache_shape, l2_cache_shape; --- linux-2.6.32.orig/arch/sh/include/asm/pgtable_32.h +++ linux-2.6.32/arch/sh/include/asm/pgtable_32.h @@ -344,7 +344,8 @@ #define pte_special(pte) ((pte).pte_low & _PAGE_SPECIAL) #ifdef CONFIG_X2TLB -#define pte_write(pte) ((pte).pte_high & _PAGE_EXT_USER_WRITE) +#define pte_write(pte) \ + ((pte).pte_high & (_PAGE_EXT_USER_WRITE | _PAGE_EXT_KERN_WRITE)) #else #define pte_write(pte) ((pte).pte_low & _PAGE_RW) #endif @@ -358,7 +359,7 @@ * individually toggled (and user permissions are entirely decoupled from * kernel permissions), we attempt to couple them a bit more sanely here. */ -PTE_BIT_FUNC(high, wrprotect, &= ~_PAGE_EXT_USER_WRITE); +PTE_BIT_FUNC(high, wrprotect, &= ~(_PAGE_EXT_USER_WRITE | _PAGE_EXT_KERN_WRITE)); PTE_BIT_FUNC(high, mkwrite, |= _PAGE_EXT_USER_WRITE | _PAGE_EXT_KERN_WRITE); PTE_BIT_FUNC(high, mkhuge, |= _PAGE_SZHUGE); #else --- linux-2.6.32.orig/arch/sh/kernel/process_64.c +++ linux-2.6.32/arch/sh/kernel/process_64.c @@ -367,7 +367,7 @@ void flush_thread(void) { - /* Called by fs/exec.c (flush_old_exec) to remove traces of a + /* Called by fs/exec.c (setup_new_exec) to remove traces of a * previously running executable. */ #ifdef CONFIG_SH_FPU if (last_task_used_math == current) { --- linux-2.6.32.orig/arch/sh/kernel/smp.c +++ linux-2.6.32/arch/sh/kernel/smp.c @@ -69,6 +69,7 @@ unsigned int cpu; struct mm_struct *mm = &init_mm; + enable_mmu(); atomic_inc(&mm->mm_count); atomic_inc(&mm->mm_users); current->active_mm = mm; --- linux-2.6.32.orig/arch/sh/kernel/sys_sh.c +++ linux-2.6.32/arch/sh/kernel/sys_sh.c @@ -28,37 +28,13 @@ #include #include -static inline long -do_mmap2(unsigned long addr, unsigned long len, unsigned long prot, - unsigned long flags, int fd, unsigned long pgoff) -{ - int error = -EBADF; - struct file *file = NULL; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); -out: - return error; -} - asmlinkage int old_mmap(unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, int fd, unsigned long off) { if (off & ~PAGE_MASK) return -EINVAL; - return do_mmap2(addr, len, prot, flags, fd, off>>PAGE_SHIFT); + return sys_mmap_pgoff(addr, len, prot, flags, fd, off>>PAGE_SHIFT); } asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, @@ -74,7 +50,7 @@ pgoff >>= PAGE_SHIFT - 12; - return do_mmap2(addr, len, prot, flags, fd, pgoff); + return sys_mmap_pgoff(addr, len, prot, flags, fd, pgoff); } /* --- linux-2.6.32.orig/arch/sh/mm/mmap.c +++ linux-2.6.32/arch/sh/mm/mmap.c @@ -54,7 +54,8 @@ /* We do not accept a shared mapping if it would violate * cache aliasing constraints. */ - if ((flags & MAP_SHARED) && (addr & shm_align_mask)) + if ((flags & MAP_SHARED) && + ((addr - (pgoff << PAGE_SHIFT)) & shm_align_mask)) return -EINVAL; return addr; } --- linux-2.6.32.orig/arch/sparc/Makefile +++ linux-2.6.32/arch/sparc/Makefile @@ -27,6 +27,7 @@ LDFLAGS := -m elf32_sparc CHECKFLAGS += -D__sparc__ export BITS := 32 +UTS_MACHINE := sparc #KBUILD_CFLAGS += -g -pipe -fcall-used-g5 -fcall-used-g7 KBUILD_CFLAGS += -m32 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7 @@ -46,6 +47,7 @@ LDFLAGS := -m elf64_sparc export BITS := 64 +UTS_MACHINE := sparc64 KBUILD_CFLAGS += -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow \ -ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare \ --- linux-2.6.32.orig/arch/sparc/include/asm/atomic_64.h +++ linux-2.6.32/arch/sparc/include/asm/atomic_64.h @@ -20,14 +20,14 @@ #define atomic64_set(v, i) (((v)->counter) = i) extern void atomic_add(int, atomic_t *); -extern void atomic64_add(int, atomic64_t *); +extern void atomic64_add(long, atomic64_t *); extern void atomic_sub(int, atomic_t *); -extern void atomic64_sub(int, atomic64_t *); +extern void atomic64_sub(long, atomic64_t *); extern int atomic_add_ret(int, atomic_t *); -extern int atomic64_add_ret(int, atomic64_t *); +extern long atomic64_add_ret(long, atomic64_t *); extern int atomic_sub_ret(int, atomic_t *); -extern int atomic64_sub_ret(int, atomic64_t *); +extern long atomic64_sub_ret(long, atomic64_t *); #define atomic_dec_return(v) atomic_sub_ret(1, v) #define atomic64_dec_return(v) atomic64_sub_ret(1, v) @@ -91,7 +91,7 @@ ((__typeof__((v)->counter))cmpxchg(&((v)->counter), (o), (n))) #define atomic64_xchg(v, new) (xchg(&((v)->counter), new)) -static inline int atomic64_add_unless(atomic64_t *v, long a, long u) +static inline long atomic64_add_unless(atomic64_t *v, long a, long u) { long c, old; c = atomic64_read(v); --- linux-2.6.32.orig/arch/sparc/include/asm/compat.h +++ linux-2.6.32/arch/sparc/include/asm/compat.h @@ -166,7 +166,7 @@ return (u32)(unsigned long)uptr; } -static inline void __user *compat_alloc_user_space(long len) +static inline void __user *arch_compat_alloc_user_space(long len) { struct pt_regs *regs = current_thread_info()->kregs; unsigned long usp = regs->u_regs[UREG_I6]; --- linux-2.6.32.orig/arch/sparc/include/asm/elf_64.h +++ linux-2.6.32/arch/sparc/include/asm/elf_64.h @@ -196,17 +196,10 @@ #define ELF_PLATFORM (NULL) #define SET_PERSONALITY(ex) \ -do { unsigned long new_flags = current_thread_info()->flags; \ - new_flags &= _TIF_32BIT; \ - if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \ - new_flags |= _TIF_32BIT; \ +do { if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \ + set_thread_flag(TIF_32BIT); \ else \ - new_flags &= ~_TIF_32BIT; \ - if ((current_thread_info()->flags & _TIF_32BIT) \ - != new_flags) \ - set_thread_flag(TIF_ABI_PENDING); \ - else \ - clear_thread_flag(TIF_ABI_PENDING); \ + clear_thread_flag(TIF_32BIT); \ /* flush_thread will update pgd cache */ \ if (personality(current->personality) != PER_LINUX32) \ set_personality(PER_LINUX | \ --- linux-2.6.32.orig/arch/sparc/include/asm/io_32.h +++ linux-2.6.32/arch/sparc/include/asm/io_32.h @@ -8,7 +8,7 @@ #include /* IO address mapping routines need this */ #include -#define page_to_phys(page) (((page) - mem_map) << PAGE_SHIFT) +#define page_to_phys(page) (page_to_pfn(page) << PAGE_SHIFT) static inline u32 flip_dword (u32 l) { @@ -249,10 +249,14 @@ #define ioread8(X) readb(X) #define ioread16(X) readw(X) +#define ioread16be(X) __raw_readw(X) #define ioread32(X) readl(X) +#define ioread32be(X) __raw_readl(X) #define iowrite8(val,X) writeb(val,X) #define iowrite16(val,X) writew(val,X) +#define iowrite16be(val,X) __raw_writew(val,X) #define iowrite32(val,X) writel(val,X) +#define iowrite32be(val,X) __raw_writel(val,X) static inline void ioread8_rep(void __iomem *port, void *buf, unsigned long count) { --- linux-2.6.32.orig/arch/sparc/include/asm/io_64.h +++ linux-2.6.32/arch/sparc/include/asm/io_64.h @@ -468,10 +468,14 @@ #define ioread8(X) readb(X) #define ioread16(X) readw(X) +#define ioread16be(X) __raw_readw(X) #define ioread32(X) readl(X) +#define ioread32be(X) __raw_readl(X) #define iowrite8(val,X) writeb(val,X) #define iowrite16(val,X) writew(val,X) +#define iowrite16be(val,X) __raw_writew(val,X) #define iowrite32(val,X) writel(val,X) +#define iowrite32be(val,X) __raw_writel(val,X) /* Create a virtual mapping cookie for an IO port range */ extern void __iomem *ioport_map(unsigned long port, unsigned int nr); --- linux-2.6.32.orig/arch/sparc/include/asm/oplib_64.h +++ linux-2.6.32/arch/sparc/include/asm/oplib_64.h @@ -185,9 +185,8 @@ char *buf, int buflen); /* Retain physical memory to the caller across soft resets. */ -extern unsigned long prom_retain(const char *name, - unsigned long pa_low, unsigned long pa_high, - long size, long align); +extern int prom_retain(const char *name, unsigned long size, + unsigned long align, unsigned long *paddr); /* Load explicit I/D TLB entries into the calling processor. */ extern long prom_itlb_load(unsigned long index, @@ -287,26 +286,6 @@ extern int prom_ihandle2path(int handle, char *buffer, int bufsize); /* Client interface level routines. */ -extern long p1275_cmd(const char *, long, ...); - -#if 0 -#define P1275_SIZE(x) ((((long)((x) / 32)) << 32) | (x)) -#else -#define P1275_SIZE(x) x -#endif - -/* We support at most 16 input and 1 output argument */ -#define P1275_ARG_NUMBER 0 -#define P1275_ARG_IN_STRING 1 -#define P1275_ARG_OUT_BUF 2 -#define P1275_ARG_OUT_32B 3 -#define P1275_ARG_IN_FUNCTION 4 -#define P1275_ARG_IN_BUF 5 -#define P1275_ARG_IN_64B 6 - -#define P1275_IN(x) ((x) & 0xf) -#define P1275_OUT(x) (((x) << 4) & 0xf0) -#define P1275_INOUT(i,o) (P1275_IN(i)|P1275_OUT(o)) -#define P1275_ARG(n,x) ((x) << ((n)*3 + 8)) +extern void p1275_cmd_direct(unsigned long *); #endif /* !(__SPARC64_OPLIB_H) */ --- linux-2.6.32.orig/arch/sparc/include/asm/page_32.h +++ linux-2.6.32/arch/sparc/include/asm/page_32.h @@ -143,7 +143,7 @@ #define phys_to_virt __va #define ARCH_PFN_OFFSET (pfn_base) -#define virt_to_page(kaddr) (mem_map + ((((unsigned long)(kaddr)-PAGE_OFFSET)>>PAGE_SHIFT))) +#define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) #define pfn_valid(pfn) (((pfn) >= (pfn_base)) && (((pfn)-(pfn_base)) < max_mapnr)) #define virt_addr_valid(kaddr) ((((unsigned long)(kaddr)-PAGE_OFFSET)>>PAGE_SHIFT) < max_mapnr) --- linux-2.6.32.orig/arch/sparc/include/asm/parport.h +++ linux-2.6.32/arch/sparc/include/asm/parport.h @@ -228,6 +228,10 @@ .name = "parallel", .compatible = "ns87317-ecpp", }, + { + .name = "parallel", + .compatible = "pnpALI,1533,3", + }, {}, }; --- linux-2.6.32.orig/arch/sparc/include/asm/sigcontext.h +++ linux-2.6.32/arch/sparc/include/asm/sigcontext.h @@ -45,6 +45,19 @@ int si_mask; } __siginfo32_t; +#define __SIGC_MAXWIN 7 + +typedef struct { + unsigned long locals[8]; + unsigned long ins[8]; +} __siginfo_reg_window; + +typedef struct { + int wsaved; + __siginfo_reg_window reg_window[__SIGC_MAXWIN]; + unsigned long rwbuf_stkptrs[__SIGC_MAXWIN]; +} __siginfo_rwin_t; + #ifdef CONFIG_SPARC64 typedef struct { unsigned int si_float_regs [64]; @@ -73,6 +86,7 @@ unsigned long ss_size; } sigc_stack; unsigned long sigc_mask; + __siginfo_rwin_t * sigc_rwin_save; }; #else --- linux-2.6.32.orig/arch/sparc/include/asm/stat.h +++ linux-2.6.32/arch/sparc/include/asm/stat.h @@ -53,8 +53,8 @@ ino_t st_ino; mode_t st_mode; short st_nlink; - uid_t st_uid; - gid_t st_gid; + unsigned short st_uid; + unsigned short st_gid; unsigned short st_rdev; off_t st_size; time_t st_atime; --- linux-2.6.32.orig/arch/sparc/include/asm/thread_info_64.h +++ linux-2.6.32/arch/sparc/include/asm/thread_info_64.h @@ -227,12 +227,11 @@ /* flag bit 8 is available */ #define TIF_SECCOMP 9 /* secure computing */ #define TIF_SYSCALL_AUDIT 10 /* syscall auditing active */ -/* flag bit 11 is available */ /* NOTE: Thread flags >= 12 should be ones we have no interest * in using in assembly, else we can't use the mask as * an immediate value in instructions such as andcc. */ -#define TIF_ABI_PENDING 12 +/* flag bit 12 is available */ #define TIF_MEMDIE 13 #define TIF_POLLING_NRFLAG 14 #define TIF_FREEZE 15 /* is freezing for suspend */ @@ -246,7 +245,6 @@ #define _TIF_32BIT (1<leds_resource.start = (unsigned long) (p->clock_regs + CLOCK_CTRL); - p->leds_resource.end = p->leds_resource.end; + p->leds_resource.end = p->leds_resource.start; p->leds_resource.name = "leds"; p->leds_pdev.name = "sunfire-clockboard-leds"; @@ -194,7 +194,7 @@ if (!p->central) { p->leds_resource.start = (unsigned long) (p->pregs + FHC_PREGS_CTRL); - p->leds_resource.end = p->leds_resource.end; + p->leds_resource.end = p->leds_resource.start; p->leds_resource.name = "leds"; p->leds_pdev.name = "sunfire-fhc-leds"; --- linux-2.6.32.orig/arch/sparc/kernel/ldc.c +++ linux-2.6.32/arch/sparc/kernel/ldc.c @@ -1242,13 +1242,13 @@ snprintf(lp->tx_irq_name, LDC_IRQ_NAME_MAX, "%s TX", name); err = request_irq(lp->cfg.rx_irq, ldc_rx, - IRQF_SAMPLE_RANDOM | IRQF_DISABLED | IRQF_SHARED, + IRQF_SAMPLE_RANDOM | IRQF_DISABLED, lp->rx_irq_name, lp); if (err) return err; err = request_irq(lp->cfg.tx_irq, ldc_tx, - IRQF_SAMPLE_RANDOM | IRQF_DISABLED | IRQF_SHARED, + IRQF_SAMPLE_RANDOM | IRQF_DISABLED, lp->tx_irq_name, lp); if (err) { free_irq(lp->cfg.rx_irq, lp); --- linux-2.6.32.orig/arch/sparc/kernel/nmi.c +++ linux-2.6.32/arch/sparc/kernel/nmi.c @@ -96,7 +96,6 @@ int cpu = smp_processor_id(); clear_softint(1 << irq); - pcr_ops->write(PCR_PIC_PRIV); local_cpu_data().__nmi_count++; @@ -105,6 +104,8 @@ if (notify_die(DIE_NMI, "nmi", regs, 0, pt_regs_trap_type(regs), SIGINT) == NOTIFY_STOP) touched = 1; + else + pcr_ops->write(PCR_PIC_PRIV); sum = kstat_irqs_cpu(0, cpu); if (__get_cpu_var(nmi_touch)) { --- linux-2.6.32.orig/arch/sparc/kernel/of_device_64.c +++ linux-2.6.32/arch/sparc/kernel/of_device_64.c @@ -104,9 +104,19 @@ int i; /* Check address type match */ - if ((addr[0] ^ range[0]) & 0x03000000) - return -EINVAL; + if (!((addr[0] ^ range[0]) & 0x03000000)) + goto type_match; + + /* Special exception, we can map a 64-bit address into + * a 32-bit range. + */ + if ((addr[0] & 0x03000000) == 0x03000000 && + (range[0] & 0x03000000) == 0x02000000) + goto type_match; + + return -EINVAL; +type_match: if (of_out_of_range(addr + 1, range + 1, range + na + pna, na - 1, ns)) return -EINVAL; --- linux-2.6.32.orig/arch/sparc/kernel/pcic.c +++ linux-2.6.32/arch/sparc/kernel/pcic.c @@ -350,8 +350,8 @@ strcpy(pbm->prom_name, namebuf); { - extern volatile int t_nmi[1]; - extern int pcic_nmi_trap_patch[1]; + extern volatile int t_nmi[4]; + extern int pcic_nmi_trap_patch[4]; t_nmi[0] = pcic_nmi_trap_patch[0]; t_nmi[1] = pcic_nmi_trap_patch[1]; --- linux-2.6.32.orig/arch/sparc/kernel/process_32.c +++ linux-2.6.32/arch/sparc/kernel/process_32.c @@ -526,7 +526,7 @@ * Set some valid stack frames to give to the child. */ childstack = (struct sparc_stackf __user *) - (sp & ~0x7UL); + (sp & ~0xfUL); parentstack = (struct sparc_stackf __user *) regs->u_regs[UREG_FP]; --- linux-2.6.32.orig/arch/sparc/kernel/process_64.c +++ linux-2.6.32/arch/sparc/kernel/process_64.c @@ -365,14 +365,6 @@ struct thread_info *t = current_thread_info(); struct mm_struct *mm; - if (test_ti_thread_flag(t, TIF_ABI_PENDING)) { - clear_ti_thread_flag(t, TIF_ABI_PENDING); - if (test_ti_thread_flag(t, TIF_32BIT)) - clear_ti_thread_flag(t, TIF_32BIT); - else - set_ti_thread_flag(t, TIF_32BIT); - } - mm = t->task->mm; if (mm) tsb_context_switch(mm); @@ -406,11 +398,11 @@ } else __get_user(fp, &(((struct reg_window32 __user *)psp)->ins[6])); - /* Now 8-byte align the stack as this is mandatory in the - * Sparc ABI due to how register windows work. This hides - * the restriction from thread libraries etc. -DaveM + /* Now align the stack as this is mandatory in the Sparc ABI + * due to how register windows work. This hides the + * restriction from thread libraries etc. */ - csp &= ~7UL; + csp &= ~15UL; distance = fp - psp; rval = (csp - distance); --- linux-2.6.32.orig/arch/sparc/kernel/signal32.c +++ linux-2.6.32/arch/sparc/kernel/signal32.c @@ -29,6 +29,8 @@ #include #include +#include "sigutil.h" + #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) /* This magic should be in g_upper[0] for all upper parts @@ -44,14 +46,14 @@ struct signal_frame32 { struct sparc_stackf32 ss; __siginfo32_t info; - /* __siginfo_fpu32_t * */ u32 fpu_save; + /* __siginfo_fpu_t * */ u32 fpu_save; unsigned int insns[2]; unsigned int extramask[_COMPAT_NSIG_WORDS - 1]; unsigned int extra_size; /* Should be sizeof(siginfo_extra_v8plus_t) */ /* Only valid if (info.si_regs.psr & (PSR_VERS|PSR_IMPL)) == PSR_V8PLUS */ siginfo_extra_v8plus_t v8plus; - __siginfo_fpu_t fpu_state; -}; + /* __siginfo_rwin_t * */u32 rwin_save; +} __attribute__((aligned(8))); typedef struct compat_siginfo{ int si_signo; @@ -110,18 +112,14 @@ compat_siginfo_t info; struct pt_regs32 regs; compat_sigset_t mask; - /* __siginfo_fpu32_t * */ u32 fpu_save; + /* __siginfo_fpu_t * */ u32 fpu_save; unsigned int insns[2]; stack_t32 stack; unsigned int extra_size; /* Should be sizeof(siginfo_extra_v8plus_t) */ /* Only valid if (regs.psr & (PSR_VERS|PSR_IMPL)) == PSR_V8PLUS */ siginfo_extra_v8plus_t v8plus; - __siginfo_fpu_t fpu_state; -}; - -/* Align macros */ -#define SF_ALIGNEDSZ (((sizeof(struct signal_frame32) + 7) & (~7))) -#define RT_ALIGNEDSZ (((sizeof(struct rt_signal_frame32) + 7) & (~7))) + /* __siginfo_rwin_t * */u32 rwin_save; +} __attribute__((aligned(8))); int copy_siginfo_to_user32(compat_siginfo_t __user *to, siginfo_t *from) { @@ -192,30 +190,13 @@ return 0; } -static int restore_fpu_state32(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) -{ - unsigned long *fpregs = current_thread_info()->fpregs; - unsigned long fprs; - int err; - - err = __get_user(fprs, &fpu->si_fprs); - fprs_write(0); - regs->tstate &= ~TSTATE_PEF; - if (fprs & FPRS_DL) - err |= copy_from_user(fpregs, &fpu->si_float_regs[0], (sizeof(unsigned int) * 32)); - if (fprs & FPRS_DU) - err |= copy_from_user(fpregs+16, &fpu->si_float_regs[32], (sizeof(unsigned int) * 32)); - err |= __get_user(current_thread_info()->xfsr[0], &fpu->si_fsr); - err |= __get_user(current_thread_info()->gsr[0], &fpu->si_gsr); - current_thread_info()->fpsaved[0] |= fprs; - return err; -} - void do_sigreturn32(struct pt_regs *regs) { struct signal_frame32 __user *sf; + compat_uptr_t fpu_save; + compat_uptr_t rwin_save; unsigned int psr; - unsigned pc, npc, fpu_save; + unsigned pc, npc; sigset_t set; unsigned seta[_COMPAT_NSIG_WORDS]; int err, i; @@ -273,8 +254,13 @@ pt_regs_clear_syscall(regs); err |= __get_user(fpu_save, &sf->fpu_save); - if (fpu_save) - err |= restore_fpu_state32(regs, &sf->fpu_state); + if (!err && fpu_save) + err |= restore_fpu_state(regs, compat_ptr(fpu_save)); + err |= __get_user(rwin_save, &sf->rwin_save); + if (!err && rwin_save) { + if (restore_rwin_state(compat_ptr(rwin_save))) + goto segv; + } err |= __get_user(seta[0], &sf->info.si_mask); err |= copy_from_user(seta+1, &sf->extramask, (_COMPAT_NSIG_WORDS - 1) * sizeof(unsigned int)); @@ -300,7 +286,9 @@ asmlinkage void do_rt_sigreturn32(struct pt_regs *regs) { struct rt_signal_frame32 __user *sf; - unsigned int psr, pc, npc, fpu_save, u_ss_sp; + unsigned int psr, pc, npc, u_ss_sp; + compat_uptr_t fpu_save; + compat_uptr_t rwin_save; mm_segment_t old_fs; sigset_t set; compat_sigset_t seta; @@ -359,8 +347,8 @@ pt_regs_clear_syscall(regs); err |= __get_user(fpu_save, &sf->fpu_save); - if (fpu_save) - err |= restore_fpu_state32(regs, &sf->fpu_state); + if (!err && fpu_save) + err |= restore_fpu_state(regs, compat_ptr(fpu_save)); err |= copy_from_user(&seta, &sf->mask, sizeof(compat_sigset_t)); err |= __get_user(u_ss_sp, &sf->stack.ss_sp); st.ss_sp = compat_ptr(u_ss_sp); @@ -376,6 +364,12 @@ do_sigaltstack((stack_t __user *) &st, NULL, (unsigned long)sf); set_fs(old_fs); + err |= __get_user(rwin_save, &sf->rwin_save); + if (!err && rwin_save) { + if (restore_rwin_state(compat_ptr(rwin_save))) + goto segv; + } + switch (_NSIG_WORDS) { case 4: set.sig[3] = seta.sig[6] + (((long)seta.sig[7]) << 32); case 3: set.sig[2] = seta.sig[4] + (((long)seta.sig[5]) << 32); @@ -420,53 +414,98 @@ sp = current->sas_ss_sp + current->sas_ss_size; } + sp -= framesize; + /* Always align the stack frame. This handles two cases. First, * sigaltstack need not be mindful of platform specific stack * alignment. Second, if we took this signal because the stack * is not aligned properly, we'd like to take the signal cleanly * and report that. */ - sp &= ~7UL; + sp &= ~15UL; - return (void __user *)(sp - framesize); + return (void __user *) sp; } -static int save_fpu_state32(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) +/* The I-cache flush instruction only works in the primary ASI, which + * right now is the nucleus, aka. kernel space. + * + * Therefore we have to kick the instructions out using the kernel + * side linear mapping of the physical address backing the user + * instructions. + */ +static void flush_signal_insns(unsigned long address) { - unsigned long *fpregs = current_thread_info()->fpregs; - unsigned long fprs; - int err = 0; - - fprs = current_thread_info()->fpsaved[0]; - if (fprs & FPRS_DL) - err |= copy_to_user(&fpu->si_float_regs[0], fpregs, - (sizeof(unsigned int) * 32)); - if (fprs & FPRS_DU) - err |= copy_to_user(&fpu->si_float_regs[32], fpregs+16, - (sizeof(unsigned int) * 32)); - err |= __put_user(current_thread_info()->xfsr[0], &fpu->si_fsr); - err |= __put_user(current_thread_info()->gsr[0], &fpu->si_gsr); - err |= __put_user(fprs, &fpu->si_fprs); + unsigned long pstate, paddr; + pte_t *ptep, pte; + pgd_t *pgdp; + pud_t *pudp; + pmd_t *pmdp; + + /* Commit all stores of the instructions we are about to flush. */ + wmb(); + + /* Disable cross-call reception. In this way even a very wide + * munmap() on another cpu can't tear down the page table + * hierarchy from underneath us, since that can't complete + * until the IPI tlb flush returns. + */ + + __asm__ __volatile__("rdpr %%pstate, %0" : "=r" (pstate)); + __asm__ __volatile__("wrpr %0, %1, %%pstate" + : : "r" (pstate), "i" (PSTATE_IE)); + + pgdp = pgd_offset(current->mm, address); + if (pgd_none(*pgdp)) + goto out_irqs_on; + pudp = pud_offset(pgdp, address); + if (pud_none(*pudp)) + goto out_irqs_on; + pmdp = pmd_offset(pudp, address); + if (pmd_none(*pmdp)) + goto out_irqs_on; + + ptep = pte_offset_map(pmdp, address); + pte = *ptep; + if (!pte_present(pte)) + goto out_unmap; + + paddr = (unsigned long) page_address(pte_page(pte)); + + __asm__ __volatile__("flush %0 + %1" + : /* no outputs */ + : "r" (paddr), + "r" (address & (PAGE_SIZE - 1)) + : "memory"); + +out_unmap: + pte_unmap(ptep); +out_irqs_on: + __asm__ __volatile__("wrpr %0, 0x0, %%pstate" : : "r" (pstate)); - return err; } -static void setup_frame32(struct k_sigaction *ka, struct pt_regs *regs, - int signo, sigset_t *oldset) +static int setup_frame32(struct k_sigaction *ka, struct pt_regs *regs, + int signo, sigset_t *oldset) { struct signal_frame32 __user *sf; + int i, err, wsaved; + void __user *tail; int sigframe_size; u32 psr; - int i, err; unsigned int seta[_COMPAT_NSIG_WORDS]; /* 1. Make sure everything is clean */ synchronize_user_stack(); save_and_clear_fpu(); - sigframe_size = SF_ALIGNEDSZ; - if (!(current_thread_info()->fpsaved[0] & FPRS_FEF)) - sigframe_size -= sizeof(__siginfo_fpu_t); + wsaved = get_thread_wsaved(); + + sigframe_size = sizeof(*sf); + if (current_thread_info()->fpsaved[0] & FPRS_FEF) + sigframe_size += sizeof(__siginfo_fpu_t); + if (wsaved) + sigframe_size += sizeof(__siginfo_rwin_t); sf = (struct signal_frame32 __user *) get_sigframe(&ka->sa, regs, sigframe_size); @@ -474,8 +513,7 @@ if (invalid_frame_pointer(sf, sigframe_size)) goto sigill; - if (get_thread_wsaved() != 0) - goto sigill; + tail = (sf + 1); /* 2. Save the current process state */ if (test_thread_flag(TIF_32BIT)) { @@ -500,11 +538,22 @@ &sf->v8plus.asi); if (psr & PSR_EF) { - err |= save_fpu_state32(regs, &sf->fpu_state); - err |= __put_user((u64)&sf->fpu_state, &sf->fpu_save); + __siginfo_fpu_t __user *fp = tail; + tail += sizeof(*fp); + err |= save_fpu_state(regs, fp); + err |= __put_user((u64)fp, &sf->fpu_save); } else { err |= __put_user(0, &sf->fpu_save); } + if (wsaved) { + __siginfo_rwin_t __user *rwp = tail; + tail += sizeof(*rwp); + err |= save_rwin_state(wsaved, rwp); + err |= __put_user((u64)rwp, &sf->rwin_save); + set_thread_wsaved(0); + } else { + err |= __put_user(0, &sf->rwin_save); + } switch (_NSIG_WORDS) { case 4: seta[7] = (oldset->sig[3] >> 32); @@ -520,10 +569,21 @@ err |= __copy_to_user(sf->extramask, seta + 1, (_COMPAT_NSIG_WORDS - 1) * sizeof(unsigned int)); - err |= copy_in_user((u32 __user *)sf, - (u32 __user *)(regs->u_regs[UREG_FP]), - sizeof(struct reg_window32)); - + if (!wsaved) { + err |= copy_in_user((u32 __user *)sf, + (u32 __user *)(regs->u_regs[UREG_FP]), + sizeof(struct reg_window32)); + } else { + struct reg_window *rp; + + rp = ¤t_thread_info()->reg_window[wsaved - 1]; + for (i = 0; i < 8; i++) + err |= __put_user(rp->locals[i], &sf->ss.locals[i]); + for (i = 0; i < 6; i++) + err |= __put_user(rp->ins[i], &sf->ss.ins[i]); + err |= __put_user(rp->ins[6], &sf->ss.fp); + err |= __put_user(rp->ins[7], &sf->ss.callers_pc); + } if (err) goto sigsegv; @@ -545,13 +605,7 @@ if (ka->ka_restorer) { regs->u_regs[UREG_I7] = (unsigned long)ka->ka_restorer; } else { - /* Flush instruction space. */ unsigned long address = ((unsigned long)&(sf->insns[0])); - pgd_t *pgdp = pgd_offset(current->mm, address); - pud_t *pudp = pud_offset(pgdp, address); - pmd_t *pmdp = pmd_offset(pudp, address); - pte_t *ptep; - pte_t pte; regs->u_regs[UREG_I7] = (unsigned long) (&(sf->insns[0]) - 2); @@ -559,49 +613,41 @@ err |= __put_user(0x91d02010, &sf->insns[1]); /*t 0x10*/ if (err) goto sigsegv; - - preempt_disable(); - ptep = pte_offset_map(pmdp, address); - pte = *ptep; - if (pte_present(pte)) { - unsigned long page = (unsigned long) - page_address(pte_page(pte)); - - wmb(); - __asm__ __volatile__("flush %0 + %1" - : /* no outputs */ - : "r" (page), - "r" (address & (PAGE_SIZE - 1)) - : "memory"); - } - pte_unmap(ptep); - preempt_enable(); + flush_signal_insns(address); } - return; + return 0; sigill: do_exit(SIGILL); + return -EINVAL; + sigsegv: force_sigsegv(signo, current); + return -EFAULT; } -static void setup_rt_frame32(struct k_sigaction *ka, struct pt_regs *regs, - unsigned long signr, sigset_t *oldset, - siginfo_t *info) +static int setup_rt_frame32(struct k_sigaction *ka, struct pt_regs *regs, + unsigned long signr, sigset_t *oldset, + siginfo_t *info) { struct rt_signal_frame32 __user *sf; + int i, err, wsaved; + void __user *tail; int sigframe_size; u32 psr; - int i, err; compat_sigset_t seta; /* 1. Make sure everything is clean */ synchronize_user_stack(); save_and_clear_fpu(); - sigframe_size = RT_ALIGNEDSZ; - if (!(current_thread_info()->fpsaved[0] & FPRS_FEF)) - sigframe_size -= sizeof(__siginfo_fpu_t); + wsaved = get_thread_wsaved(); + + sigframe_size = sizeof(*sf); + if (current_thread_info()->fpsaved[0] & FPRS_FEF) + sigframe_size += sizeof(__siginfo_fpu_t); + if (wsaved) + sigframe_size += sizeof(__siginfo_rwin_t); sf = (struct rt_signal_frame32 __user *) get_sigframe(&ka->sa, regs, sigframe_size); @@ -609,8 +655,7 @@ if (invalid_frame_pointer(sf, sigframe_size)) goto sigill; - if (get_thread_wsaved() != 0) - goto sigill; + tail = (sf + 1); /* 2. Save the current process state */ if (test_thread_flag(TIF_32BIT)) { @@ -635,11 +680,22 @@ &sf->v8plus.asi); if (psr & PSR_EF) { - err |= save_fpu_state32(regs, &sf->fpu_state); - err |= __put_user((u64)&sf->fpu_state, &sf->fpu_save); + __siginfo_fpu_t __user *fp = tail; + tail += sizeof(*fp); + err |= save_fpu_state(regs, fp); + err |= __put_user((u64)fp, &sf->fpu_save); } else { err |= __put_user(0, &sf->fpu_save); } + if (wsaved) { + __siginfo_rwin_t __user *rwp = tail; + tail += sizeof(*rwp); + err |= save_rwin_state(wsaved, rwp); + err |= __put_user((u64)rwp, &sf->rwin_save); + set_thread_wsaved(0); + } else { + err |= __put_user(0, &sf->rwin_save); + } /* Update the siginfo structure. */ err |= copy_siginfo_to_user32(&sf->info, info); @@ -661,9 +717,21 @@ } err |= __copy_to_user(&sf->mask, &seta, sizeof(compat_sigset_t)); - err |= copy_in_user((u32 __user *)sf, - (u32 __user *)(regs->u_regs[UREG_FP]), - sizeof(struct reg_window32)); + if (!wsaved) { + err |= copy_in_user((u32 __user *)sf, + (u32 __user *)(regs->u_regs[UREG_FP]), + sizeof(struct reg_window32)); + } else { + struct reg_window *rp; + + rp = ¤t_thread_info()->reg_window[wsaved - 1]; + for (i = 0; i < 8; i++) + err |= __put_user(rp->locals[i], &sf->ss.locals[i]); + for (i = 0; i < 6; i++) + err |= __put_user(rp->ins[i], &sf->ss.ins[i]); + err |= __put_user(rp->ins[6], &sf->ss.fp); + err |= __put_user(rp->ins[7], &sf->ss.callers_pc); + } if (err) goto sigsegv; @@ -685,12 +753,7 @@ if (ka->ka_restorer) regs->u_regs[UREG_I7] = (unsigned long)ka->ka_restorer; else { - /* Flush instruction space. */ unsigned long address = ((unsigned long)&(sf->insns[0])); - pgd_t *pgdp = pgd_offset(current->mm, address); - pud_t *pudp = pud_offset(pgdp, address); - pmd_t *pmdp = pmd_offset(pudp, address); - pte_t *ptep; regs->u_regs[UREG_I7] = (unsigned long) (&(sf->insns[0]) - 2); @@ -702,38 +765,32 @@ if (err) goto sigsegv; - preempt_disable(); - ptep = pte_offset_map(pmdp, address); - if (pte_present(*ptep)) { - unsigned long page = (unsigned long) - page_address(pte_page(*ptep)); - - wmb(); - __asm__ __volatile__("flush %0 + %1" - : /* no outputs */ - : "r" (page), - "r" (address & (PAGE_SIZE - 1)) - : "memory"); - } - pte_unmap(ptep); - preempt_enable(); + flush_signal_insns(address); } - return; + return 0; sigill: do_exit(SIGILL); + return -EINVAL; + sigsegv: force_sigsegv(signr, current); + return -EFAULT; } -static inline void handle_signal32(unsigned long signr, struct k_sigaction *ka, - siginfo_t *info, - sigset_t *oldset, struct pt_regs *regs) +static inline int handle_signal32(unsigned long signr, struct k_sigaction *ka, + siginfo_t *info, + sigset_t *oldset, struct pt_regs *regs) { + int err; + if (ka->sa.sa_flags & SA_SIGINFO) - setup_rt_frame32(ka, regs, signr, oldset, info); + err = setup_rt_frame32(ka, regs, signr, oldset, info); else - setup_frame32(ka, regs, signr, oldset); + err = setup_frame32(ka, regs, signr, oldset); + + if (err) + return err; spin_lock_irq(¤t->sighand->siglock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); @@ -741,6 +798,10 @@ sigaddset(¤t->blocked,signr); recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); + + tracehook_signal_handler(signr, info, ka, regs, 0); + + return 0; } static inline void syscall_restart32(unsigned long orig_i0, struct pt_regs *regs, @@ -787,16 +848,14 @@ if (signr > 0) { if (restart_syscall) syscall_restart32(orig_i0, regs, &ka.sa); - handle_signal32(signr, &ka, &info, oldset, regs); - - /* A signal was successfully delivered; the saved - * sigmask will have been stored in the signal frame, - * and will be restored by sigreturn, so we can simply - * clear the TS_RESTORE_SIGMASK flag. - */ - current_thread_info()->status &= ~TS_RESTORE_SIGMASK; - - tracehook_signal_handler(signr, &info, &ka, regs, 0); + if (handle_signal32(signr, &ka, &info, oldset, regs) == 0) { + /* A signal was successfully delivered; the saved + * sigmask will have been stored in the signal frame, + * and will be restored by sigreturn, so we can simply + * clear the TS_RESTORE_SIGMASK flag. + */ + current_thread_info()->status &= ~TS_RESTORE_SIGMASK; + } return; } if (restart_syscall && @@ -807,12 +866,14 @@ regs->u_regs[UREG_I0] = orig_i0; regs->tpc -= 4; regs->tnpc -= 4; + pt_regs_clear_syscall(regs); } if (restart_syscall && regs->u_regs[UREG_I0] == ERESTART_RESTARTBLOCK) { regs->u_regs[UREG_G1] = __NR_restart_syscall; regs->tpc -= 4; regs->tnpc -= 4; + pt_regs_clear_syscall(regs); } /* If there's no signal to deliver, we just put the saved sigmask --- linux-2.6.32.orig/arch/sparc/kernel/signal_32.c +++ linux-2.6.32/arch/sparc/kernel/signal_32.c @@ -26,6 +26,8 @@ #include #include /* flush_sig_insns */ +#include "sigutil.h" + #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) extern void fpsave(unsigned long *fpregs, unsigned long *fsr, @@ -39,8 +41,8 @@ unsigned long insns[2] __attribute__ ((aligned (8))); unsigned int extramask[_NSIG_WORDS - 1]; unsigned int extra_size; /* Should be 0 */ - __siginfo_fpu_t fpu_state; -}; + __siginfo_rwin_t __user *rwin_save; +} __attribute__((aligned(8))); struct rt_signal_frame { struct sparc_stackf ss; @@ -51,8 +53,8 @@ unsigned int insns[2]; stack_t stack; unsigned int extra_size; /* Should be 0 */ - __siginfo_fpu_t fpu_state; -}; + __siginfo_rwin_t __user *rwin_save; +} __attribute__((aligned(8))); /* Align macros */ #define SF_ALIGNEDSZ (((sizeof(struct signal_frame) + 7) & (~7))) @@ -79,43 +81,13 @@ return _sigpause_common(set); } -static inline int -restore_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) -{ - int err; -#ifdef CONFIG_SMP - if (test_tsk_thread_flag(current, TIF_USEDFPU)) - regs->psr &= ~PSR_EF; -#else - if (current == last_task_used_math) { - last_task_used_math = NULL; - regs->psr &= ~PSR_EF; - } -#endif - set_used_math(); - clear_tsk_thread_flag(current, TIF_USEDFPU); - - if (!access_ok(VERIFY_READ, fpu, sizeof(*fpu))) - return -EFAULT; - - err = __copy_from_user(¤t->thread.float_regs[0], &fpu->si_float_regs[0], - (sizeof(unsigned long) * 32)); - err |= __get_user(current->thread.fsr, &fpu->si_fsr); - err |= __get_user(current->thread.fpqdepth, &fpu->si_fpqdepth); - if (current->thread.fpqdepth != 0) - err |= __copy_from_user(¤t->thread.fpqueue[0], - &fpu->si_fpqueue[0], - ((sizeof(unsigned long) + - (sizeof(unsigned long *)))*16)); - return err; -} - asmlinkage void do_sigreturn(struct pt_regs *regs) { struct signal_frame __user *sf; unsigned long up_psr, pc, npc; sigset_t set; __siginfo_fpu_t __user *fpu_save; + __siginfo_rwin_t __user *rwin_save; int err; /* Always make any pending restarted system calls return -EINTR */ @@ -150,9 +122,11 @@ pt_regs_clear_syscall(regs); err |= __get_user(fpu_save, &sf->fpu_save); - if (fpu_save) err |= restore_fpu_state(regs, fpu_save); + err |= __get_user(rwin_save, &sf->rwin_save); + if (rwin_save) + err |= restore_rwin_state(rwin_save); /* This is pretty much atomic, no amount locking would prevent * the races which exist anyways. @@ -180,6 +154,7 @@ struct rt_signal_frame __user *sf; unsigned int psr, pc, npc; __siginfo_fpu_t __user *fpu_save; + __siginfo_rwin_t __user *rwin_save; mm_segment_t old_fs; sigset_t set; stack_t st; @@ -207,8 +182,7 @@ pt_regs_clear_syscall(regs); err |= __get_user(fpu_save, &sf->fpu_save); - - if (fpu_save) + if (!err && fpu_save) err |= restore_fpu_state(regs, fpu_save); err |= __copy_from_user(&set, &sf->mask, sizeof(sigset_t)); @@ -228,6 +202,12 @@ do_sigaltstack((const stack_t __user *) &st, NULL, (unsigned long)sf); set_fs(old_fs); + err |= __get_user(rwin_save, &sf->rwin_save); + if (!err && rwin_save) { + if (restore_rwin_state(rwin_save)) + goto segv; + } + sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sighand->siglock); current->blocked = set; @@ -267,64 +247,36 @@ sp = current->sas_ss_sp + current->sas_ss_size; } + sp -= framesize; + /* Always align the stack frame. This handles two cases. First, * sigaltstack need not be mindful of platform specific stack * alignment. Second, if we took this signal because the stack * is not aligned properly, we'd like to take the signal cleanly * and report that. */ - sp &= ~7UL; + sp &= ~15UL; - return (void __user *)(sp - framesize); + return (void __user *) sp; } -static inline int -save_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) -{ - int err = 0; -#ifdef CONFIG_SMP - if (test_tsk_thread_flag(current, TIF_USEDFPU)) { - put_psr(get_psr() | PSR_EF); - fpsave(¤t->thread.float_regs[0], ¤t->thread.fsr, - ¤t->thread.fpqueue[0], ¤t->thread.fpqdepth); - regs->psr &= ~(PSR_EF); - clear_tsk_thread_flag(current, TIF_USEDFPU); - } -#else - if (current == last_task_used_math) { - put_psr(get_psr() | PSR_EF); - fpsave(¤t->thread.float_regs[0], ¤t->thread.fsr, - ¤t->thread.fpqueue[0], ¤t->thread.fpqdepth); - last_task_used_math = NULL; - regs->psr &= ~(PSR_EF); - } -#endif - err |= __copy_to_user(&fpu->si_float_regs[0], - ¤t->thread.float_regs[0], - (sizeof(unsigned long) * 32)); - err |= __put_user(current->thread.fsr, &fpu->si_fsr); - err |= __put_user(current->thread.fpqdepth, &fpu->si_fpqdepth); - if (current->thread.fpqdepth != 0) - err |= __copy_to_user(&fpu->si_fpqueue[0], - ¤t->thread.fpqueue[0], - ((sizeof(unsigned long) + - (sizeof(unsigned long *)))*16)); - clear_used_math(); - return err; -} - -static void setup_frame(struct k_sigaction *ka, struct pt_regs *regs, - int signo, sigset_t *oldset) +static int setup_frame(struct k_sigaction *ka, struct pt_regs *regs, + int signo, sigset_t *oldset) { struct signal_frame __user *sf; - int sigframe_size, err; + int sigframe_size, err, wsaved; + void __user *tail; /* 1. Make sure everything is clean */ synchronize_user_stack(); - sigframe_size = SF_ALIGNEDSZ; - if (!used_math()) - sigframe_size -= sizeof(__siginfo_fpu_t); + wsaved = current_thread_info()->w_saved; + + sigframe_size = sizeof(*sf); + if (used_math()) + sigframe_size += sizeof(__siginfo_fpu_t); + if (wsaved) + sigframe_size += sizeof(__siginfo_rwin_t); sf = (struct signal_frame __user *) get_sigframe(&ka->sa, regs, sigframe_size); @@ -332,8 +284,7 @@ if (invalid_frame_pointer(sf, sigframe_size)) goto sigill_and_return; - if (current_thread_info()->w_saved != 0) - goto sigill_and_return; + tail = sf + 1; /* 2. Save the current process state */ err = __copy_to_user(&sf->info.si_regs, regs, sizeof(struct pt_regs)); @@ -341,17 +292,34 @@ err |= __put_user(0, &sf->extra_size); if (used_math()) { - err |= save_fpu_state(regs, &sf->fpu_state); - err |= __put_user(&sf->fpu_state, &sf->fpu_save); + __siginfo_fpu_t __user *fp = tail; + tail += sizeof(*fp); + err |= save_fpu_state(regs, fp); + err |= __put_user(fp, &sf->fpu_save); } else { err |= __put_user(0, &sf->fpu_save); } + if (wsaved) { + __siginfo_rwin_t __user *rwp = tail; + tail += sizeof(*rwp); + err |= save_rwin_state(wsaved, rwp); + err |= __put_user(rwp, &sf->rwin_save); + } else { + err |= __put_user(0, &sf->rwin_save); + } err |= __put_user(oldset->sig[0], &sf->info.si_mask); err |= __copy_to_user(sf->extramask, &oldset->sig[1], (_NSIG_WORDS - 1) * sizeof(unsigned int)); - err |= __copy_to_user(sf, (char *) regs->u_regs[UREG_FP], - sizeof(struct reg_window32)); + if (!wsaved) { + err |= __copy_to_user(sf, (char *) regs->u_regs[UREG_FP], + sizeof(struct reg_window32)); + } else { + struct reg_window32 *rp; + + rp = ¤t_thread_info()->reg_window[wsaved - 1]; + err |= __copy_to_user(sf, rp, sizeof(struct reg_window32)); + } if (err) goto sigsegv; @@ -382,33 +350,39 @@ /* Flush instruction space. */ flush_sig_insns(current->mm, (unsigned long) &(sf->insns[0])); } - return; + return 0; sigill_and_return: do_exit(SIGILL); + return -EINVAL; + sigsegv: force_sigsegv(signo, current); + return -EFAULT; } -static void setup_rt_frame(struct k_sigaction *ka, struct pt_regs *regs, - int signo, sigset_t *oldset, siginfo_t *info) +static int setup_rt_frame(struct k_sigaction *ka, struct pt_regs *regs, + int signo, sigset_t *oldset, siginfo_t *info) { struct rt_signal_frame __user *sf; - int sigframe_size; + int sigframe_size, wsaved; + void __user *tail; unsigned int psr; int err; synchronize_user_stack(); - sigframe_size = RT_ALIGNEDSZ; - if (!used_math()) - sigframe_size -= sizeof(__siginfo_fpu_t); + wsaved = current_thread_info()->w_saved; + sigframe_size = sizeof(*sf); + if (used_math()) + sigframe_size += sizeof(__siginfo_fpu_t); + if (wsaved) + sigframe_size += sizeof(__siginfo_rwin_t); sf = (struct rt_signal_frame __user *) get_sigframe(&ka->sa, regs, sigframe_size); if (invalid_frame_pointer(sf, sigframe_size)) goto sigill; - if (current_thread_info()->w_saved != 0) - goto sigill; + tail = sf + 1; err = __put_user(regs->pc, &sf->regs.pc); err |= __put_user(regs->npc, &sf->regs.npc); err |= __put_user(regs->y, &sf->regs.y); @@ -420,11 +394,21 @@ err |= __put_user(0, &sf->extra_size); if (psr & PSR_EF) { - err |= save_fpu_state(regs, &sf->fpu_state); - err |= __put_user(&sf->fpu_state, &sf->fpu_save); + __siginfo_fpu_t *fp = tail; + tail += sizeof(*fp); + err |= save_fpu_state(regs, fp); + err |= __put_user(fp, &sf->fpu_save); } else { err |= __put_user(0, &sf->fpu_save); } + if (wsaved) { + __siginfo_rwin_t *rwp = tail; + tail += sizeof(*rwp); + err |= save_rwin_state(wsaved, rwp); + err |= __put_user(rwp, &sf->rwin_save); + } else { + err |= __put_user(0, &sf->rwin_save); + } err |= __copy_to_user(&sf->mask, &oldset->sig[0], sizeof(sigset_t)); /* Setup sigaltstack */ @@ -432,8 +416,15 @@ err |= __put_user(sas_ss_flags(regs->u_regs[UREG_FP]), &sf->stack.ss_flags); err |= __put_user(current->sas_ss_size, &sf->stack.ss_size); - err |= __copy_to_user(sf, (char *) regs->u_regs[UREG_FP], - sizeof(struct reg_window32)); + if (!wsaved) { + err |= __copy_to_user(sf, (char *) regs->u_regs[UREG_FP], + sizeof(struct reg_window32)); + } else { + struct reg_window32 *rp; + + rp = ¤t_thread_info()->reg_window[wsaved - 1]; + err |= __copy_to_user(sf, rp, sizeof(struct reg_window32)); + } err |= copy_siginfo_to_user(&sf->info, info); @@ -464,22 +455,30 @@ /* Flush instruction space. */ flush_sig_insns(current->mm, (unsigned long) &(sf->insns[0])); } - return; + return 0; sigill: do_exit(SIGILL); + return -EINVAL; + sigsegv: force_sigsegv(signo, current); + return -EFAULT; } -static inline void +static inline int handle_signal(unsigned long signr, struct k_sigaction *ka, siginfo_t *info, sigset_t *oldset, struct pt_regs *regs) { + int err; + if (ka->sa.sa_flags & SA_SIGINFO) - setup_rt_frame(ka, regs, signr, oldset, info); + err = setup_rt_frame(ka, regs, signr, oldset, info); else - setup_frame(ka, regs, signr, oldset); + err = setup_frame(ka, regs, signr, oldset); + + if (err) + return err; spin_lock_irq(¤t->sighand->siglock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); @@ -487,6 +486,10 @@ sigaddset(¤t->blocked, signr); recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); + + tracehook_signal_handler(signr, info, ka, regs, 0); + + return 0; } static inline void syscall_restart(unsigned long orig_i0, struct pt_regs *regs, @@ -544,17 +547,15 @@ if (signr > 0) { if (restart_syscall) syscall_restart(orig_i0, regs, &ka.sa); - handle_signal(signr, &ka, &info, oldset, regs); - - /* a signal was successfully delivered; the saved - * sigmask will have been stored in the signal frame, - * and will be restored by sigreturn, so we can simply - * clear the TIF_RESTORE_SIGMASK flag. - */ - if (test_thread_flag(TIF_RESTORE_SIGMASK)) - clear_thread_flag(TIF_RESTORE_SIGMASK); - - tracehook_signal_handler(signr, &info, &ka, regs, 0); + if (handle_signal(signr, &ka, &info, oldset, regs) == 0) { + /* a signal was successfully delivered; the saved + * sigmask will have been stored in the signal frame, + * and will be restored by sigreturn, so we can simply + * clear the TIF_RESTORE_SIGMASK flag. + */ + if (test_thread_flag(TIF_RESTORE_SIGMASK)) + clear_thread_flag(TIF_RESTORE_SIGMASK); + } return; } if (restart_syscall && @@ -565,12 +566,14 @@ regs->u_regs[UREG_I0] = orig_i0; regs->pc -= 4; regs->npc -= 4; + pt_regs_clear_syscall(regs); } if (restart_syscall && regs->u_regs[UREG_I0] == ERESTART_RESTARTBLOCK) { regs->u_regs[UREG_G1] = __NR_restart_syscall; regs->pc -= 4; regs->npc -= 4; + pt_regs_clear_syscall(regs); } /* if there's no signal to deliver, we just put the saved sigmask --- linux-2.6.32.orig/arch/sparc/kernel/signal_64.c +++ linux-2.6.32/arch/sparc/kernel/signal_64.c @@ -34,6 +34,7 @@ #include "entry.h" #include "systbls.h" +#include "sigutil.h" #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) @@ -236,7 +237,7 @@ __siginfo_fpu_t __user *fpu_save; stack_t stack; sigset_t mask; - __siginfo_fpu_t fpu_state; + __siginfo_rwin_t *rwin_save; }; static long _sigpause_common(old_sigset_t set) @@ -266,33 +267,12 @@ return _sigpause_common(set); } -static inline int -restore_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) -{ - unsigned long *fpregs = current_thread_info()->fpregs; - unsigned long fprs; - int err; - - err = __get_user(fprs, &fpu->si_fprs); - fprs_write(0); - regs->tstate &= ~TSTATE_PEF; - if (fprs & FPRS_DL) - err |= copy_from_user(fpregs, &fpu->si_float_regs[0], - (sizeof(unsigned int) * 32)); - if (fprs & FPRS_DU) - err |= copy_from_user(fpregs+16, &fpu->si_float_regs[32], - (sizeof(unsigned int) * 32)); - err |= __get_user(current_thread_info()->xfsr[0], &fpu->si_fsr); - err |= __get_user(current_thread_info()->gsr[0], &fpu->si_gsr); - current_thread_info()->fpsaved[0] |= fprs; - return err; -} - void do_rt_sigreturn(struct pt_regs *regs) { struct rt_signal_frame __user *sf; unsigned long tpc, tnpc, tstate; __siginfo_fpu_t __user *fpu_save; + __siginfo_rwin_t __user *rwin_save; sigset_t set; int err; @@ -325,8 +305,8 @@ regs->tstate |= (tstate & (TSTATE_ASI | TSTATE_ICC | TSTATE_XCC)); err |= __get_user(fpu_save, &sf->fpu_save); - if (fpu_save) - err |= restore_fpu_state(regs, &sf->fpu_state); + if (!err && fpu_save) + 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); @@ -334,6 +314,12 @@ if (err) goto segv; + err |= __get_user(rwin_save, &sf->rwin_save); + if (!err && rwin_save) { + if (restore_rwin_state(rwin_save)) + goto segv; + } + regs->tpc = tpc; regs->tnpc = tnpc; @@ -351,34 +337,13 @@ } /* Checks if the fp is valid */ -static int invalid_frame_pointer(void __user *fp, int fplen) +static int invalid_frame_pointer(void __user *fp) { - if (((unsigned long) fp) & 7) + if (((unsigned long) fp) & 15) return 1; return 0; } -static inline int -save_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) -{ - unsigned long *fpregs = current_thread_info()->fpregs; - unsigned long fprs; - int err = 0; - - fprs = current_thread_info()->fpsaved[0]; - if (fprs & FPRS_DL) - err |= copy_to_user(&fpu->si_float_regs[0], fpregs, - (sizeof(unsigned int) * 32)); - if (fprs & FPRS_DU) - err |= copy_to_user(&fpu->si_float_regs[32], fpregs+16, - (sizeof(unsigned int) * 32)); - err |= __put_user(current_thread_info()->xfsr[0], &fpu->si_fsr); - err |= __put_user(current_thread_info()->gsr[0], &fpu->si_gsr); - err |= __put_user(fprs, &fpu->si_fprs); - - return err; -} - static inline void __user *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, unsigned long framesize) { unsigned long sp = regs->u_regs[UREG_FP] + STACK_BIAS; @@ -396,50 +361,66 @@ sp = current->sas_ss_sp + current->sas_ss_size; } + sp -= framesize; + /* Always align the stack frame. This handles two cases. First, * sigaltstack need not be mindful of platform specific stack * alignment. Second, if we took this signal because the stack * is not aligned properly, we'd like to take the signal cleanly * and report that. */ - sp &= ~7UL; + sp &= ~15UL; - return (void __user *)(sp - framesize); + return (void __user *) sp; } -static inline void +static inline int setup_rt_frame(struct k_sigaction *ka, struct pt_regs *regs, int signo, sigset_t *oldset, siginfo_t *info) { struct rt_signal_frame __user *sf; - int sigframe_size, err; + int wsaved, err, sf_size; + void __user *tail; /* 1. Make sure everything is clean */ synchronize_user_stack(); save_and_clear_fpu(); - sigframe_size = sizeof(struct rt_signal_frame); - if (!(current_thread_info()->fpsaved[0] & FPRS_FEF)) - sigframe_size -= sizeof(__siginfo_fpu_t); + wsaved = get_thread_wsaved(); + sf_size = sizeof(struct rt_signal_frame); + if (current_thread_info()->fpsaved[0] & FPRS_FEF) + sf_size += sizeof(__siginfo_fpu_t); + if (wsaved) + sf_size += sizeof(__siginfo_rwin_t); sf = (struct rt_signal_frame __user *) - get_sigframe(ka, regs, sigframe_size); - - if (invalid_frame_pointer (sf, sigframe_size)) - goto sigill; + get_sigframe(ka, regs, sf_size); - if (get_thread_wsaved() != 0) + if (invalid_frame_pointer (sf)) goto sigill; + tail = (sf + 1); + /* 2. Save the current process state */ err = copy_to_user(&sf->regs, regs, sizeof (*regs)); if (current_thread_info()->fpsaved[0] & FPRS_FEF) { - err |= save_fpu_state(regs, &sf->fpu_state); - err |= __put_user((u64)&sf->fpu_state, &sf->fpu_save); + __siginfo_fpu_t __user *fpu_save = tail; + tail += sizeof(__siginfo_fpu_t); + err |= save_fpu_state(regs, fpu_save); + err |= __put_user((u64)fpu_save, &sf->fpu_save); } else { err |= __put_user(0, &sf->fpu_save); } + if (wsaved) { + __siginfo_rwin_t __user *rwin_save = tail; + tail += sizeof(__siginfo_rwin_t); + err |= save_rwin_state(wsaved, rwin_save); + err |= __put_user((u64)rwin_save, &sf->rwin_save); + set_thread_wsaved(0); + } else { + err |= __put_user(0, &sf->rwin_save); + } /* Setup sigaltstack */ err |= __put_user(current->sas_ss_sp, &sf->stack.ss_sp); @@ -448,10 +429,17 @@ err |= copy_to_user(&sf->mask, oldset, sizeof(sigset_t)); - err |= copy_in_user((u64 __user *)sf, - (u64 __user *)(regs->u_regs[UREG_FP]+STACK_BIAS), - sizeof(struct reg_window)); + if (!wsaved) { + err |= copy_in_user((u64 __user *)sf, + (u64 __user *)(regs->u_regs[UREG_FP] + + STACK_BIAS), + sizeof(struct reg_window)); + } else { + struct reg_window *rp; + rp = ¤t_thread_info()->reg_window[wsaved - 1]; + err |= copy_to_user(sf, rp, sizeof(struct reg_window)); + } if (info) err |= copy_siginfo_to_user(&sf->info, info); else { @@ -481,26 +469,37 @@ } /* 4. return to kernel instructions */ regs->u_regs[UREG_I7] = (unsigned long)ka->ka_restorer; - return; + return 0; sigill: do_exit(SIGILL); + return -EINVAL; + sigsegv: force_sigsegv(signo, current); + return -EFAULT; } -static inline void handle_signal(unsigned long signr, struct k_sigaction *ka, - siginfo_t *info, - sigset_t *oldset, struct pt_regs *regs) +static inline int handle_signal(unsigned long signr, struct k_sigaction *ka, + siginfo_t *info, + sigset_t *oldset, struct pt_regs *regs) { - setup_rt_frame(ka, regs, signr, oldset, - (ka->sa.sa_flags & SA_SIGINFO) ? info : NULL); + int err; + + err = setup_rt_frame(ka, regs, signr, oldset, + (ka->sa.sa_flags & SA_SIGINFO) ? info : NULL); + if (err) + return err; spin_lock_irq(¤t->sighand->siglock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); if (!(ka->sa.sa_flags & SA_NOMASK)) sigaddset(¤t->blocked,signr); recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); + + tracehook_signal_handler(signr, info, ka, regs, 0); + + return 0; } static inline void syscall_restart(unsigned long orig_i0, struct pt_regs *regs, @@ -569,16 +568,14 @@ if (signr > 0) { if (restart_syscall) syscall_restart(orig_i0, regs, &ka.sa); - handle_signal(signr, &ka, &info, oldset, regs); - - /* A signal was successfully delivered; the saved - * sigmask will have been stored in the signal frame, - * and will be restored by sigreturn, so we can simply - * clear the TS_RESTORE_SIGMASK flag. - */ - current_thread_info()->status &= ~TS_RESTORE_SIGMASK; - - tracehook_signal_handler(signr, &info, &ka, regs, 0); + if (handle_signal(signr, &ka, &info, oldset, regs) == 0) { + /* A signal was successfully delivered; the saved + * sigmask will have been stored in the signal frame, + * and will be restored by sigreturn, so we can simply + * clear the TS_RESTORE_SIGMASK flag. + */ + current_thread_info()->status &= ~TS_RESTORE_SIGMASK; + } return; } if (restart_syscall && @@ -589,12 +586,14 @@ regs->u_regs[UREG_I0] = orig_i0; regs->tpc -= 4; regs->tnpc -= 4; + pt_regs_clear_syscall(regs); } if (restart_syscall && regs->u_regs[UREG_I0] == ERESTART_RESTARTBLOCK) { regs->u_regs[UREG_G1] = __NR_restart_syscall; regs->tpc -= 4; regs->tnpc -= 4; + pt_regs_clear_syscall(regs); } /* If there's no signal to deliver, we just put the saved sigmask --- linux-2.6.32.orig/arch/sparc/kernel/perf_event.c +++ linux-2.6.32/arch/sparc/kernel/perf_event.c @@ -986,6 +986,17 @@ data.addr = 0; cpuc = &__get_cpu_var(cpu_hw_events); + + /* If the PMU has the TOE IRQ enable bits, we need to do a + * dummy write to the %pcr to clear the overflow bits and thus + * the interrupt. + * + * Do this before we peek at the counters to determine + * overflow so we don't lose any events. + */ + if (sparc_pmu->irq_bit) + pcr_ops->write(cpuc->pcr); + for (idx = 0; idx < MAX_HWEVENTS; idx++) { struct perf_event *event = cpuc->events[idx]; struct hw_perf_event *hwc; --- linux-2.6.32.orig/arch/sparc/kernel/systbls.h +++ linux-2.6.32/arch/sparc/kernel/systbls.h @@ -9,7 +9,6 @@ struct new_utsname; extern asmlinkage unsigned long sys_getpagesize(void); -extern asmlinkage unsigned long sparc_brk(unsigned long brk); extern asmlinkage long sparc_pipe(struct pt_regs *regs); extern asmlinkage long sys_ipc(unsigned int call, int first, unsigned long second, --- linux-2.6.32.orig/arch/sparc/kernel/systbls_32.S +++ linux-2.6.32/arch/sparc/kernel/systbls_32.S @@ -19,7 +19,7 @@ /*0*/ .long sys_restart_syscall, sys_exit, sys_fork, sys_read, sys_write /*5*/ .long sys_open, sys_close, sys_wait4, sys_creat, sys_link /*10*/ .long sys_unlink, sunos_execv, sys_chdir, sys_chown16, sys_mknod -/*15*/ .long sys_chmod, sys_lchown16, sparc_brk, sys_nis_syscall, sys_lseek +/*15*/ .long sys_chmod, sys_lchown16, sys_brk, sys_nis_syscall, sys_lseek /*20*/ .long sys_getpid, sys_capget, sys_capset, sys_setuid16, sys_getuid16 /*25*/ .long sys_vmsplice, sys_ptrace, sys_alarm, sys_sigaltstack, sys_pause /*30*/ .long sys_utime, sys_lchown, sys_fchown, sys_access, sys_nice @@ -67,7 +67,7 @@ /*235*/ .long sys_fstatfs64, sys_llseek, sys_mlock, sys_munlock, sys_mlockall /*240*/ .long sys_munlockall, sys_sched_setparam, sys_sched_getparam, sys_sched_setscheduler, sys_sched_getscheduler /*245*/ .long sys_sched_yield, sys_sched_get_priority_max, sys_sched_get_priority_min, sys_sched_rr_get_interval, sys_nanosleep -/*250*/ .long sparc_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nfsservctl +/*250*/ .long sys_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nfsservctl /*255*/ .long sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep /*260*/ .long sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun /*265*/ .long sys_timer_delete, sys_timer_create, sys_nis_syscall, sys_io_setup, sys_io_destroy --- linux-2.6.32.orig/arch/sparc/kernel/sys_sparc_32.c +++ linux-2.6.32/arch/sparc/kernel/sys_sparc_32.c @@ -45,7 +45,8 @@ /* We do not accept a shared mapping if it would violate * cache aliasing constraints. */ - if ((flags & MAP_SHARED) && (addr & (SHMLBA - 1))) + if ((flags & MAP_SHARED) && + ((addr - (pgoff << PAGE_SHIFT)) & (SHMLBA - 1))) return -EINVAL; return addr; } @@ -79,15 +80,6 @@ } } -asmlinkage unsigned long sparc_brk(unsigned long brk) -{ - if(ARCH_SUN4C) { - if ((brk & 0xe0000000) != (current->mm->brk & 0xe0000000)) - return current->mm->brk; - } - return sys_brk(brk); -} - /* * sys_pipe() is the normal C calling standard for creating * a pipe. It's not the way unix traditionally does this, though. @@ -234,31 +226,6 @@ } /* Linux version of mmap */ -static unsigned long do_mmap2(unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, unsigned long fd, - unsigned long pgoff) -{ - struct file * file = NULL; - unsigned long retval = -EBADF; - - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - - len = PAGE_ALIGN(len); - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - - down_write(¤t->mm->mmap_sem); - retval = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); -out: - return retval; -} asmlinkage unsigned long sys_mmap2(unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long fd, @@ -266,14 +233,16 @@ { /* Make sure the shift for mmap2 is constant (12), no matter what PAGE_SIZE we have. */ - return do_mmap2(addr, len, prot, flags, fd, pgoff >> (PAGE_SHIFT - 12)); + return sys_mmap_pgoff(addr, len, prot, flags, fd, + pgoff >> (PAGE_SHIFT - 12)); } asmlinkage unsigned long sys_mmap(unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long fd, unsigned long off) { - return do_mmap2(addr, len, prot, flags, fd, off >> PAGE_SHIFT); + /* no alignment check? */ + return sys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT); } long sparc_remap_file_pages(unsigned long start, unsigned long size, @@ -287,27 +256,6 @@ (pgoff >> (PAGE_SHIFT - 12)), flags); } -extern unsigned long do_mremap(unsigned long addr, - unsigned long old_len, unsigned long new_len, - unsigned long flags, unsigned long new_addr); - -asmlinkage unsigned long sparc_mremap(unsigned long addr, - unsigned long old_len, unsigned long new_len, - unsigned long flags, unsigned long new_addr) -{ - unsigned long ret = -EINVAL; - - if (unlikely(sparc_mmap_check(addr, old_len))) - goto out; - if (unlikely(sparc_mmap_check(new_addr, new_len))) - goto out; - down_write(¤t->mm->mmap_sem); - ret = do_mremap(addr, old_len, new_len, flags, new_addr); - up_write(¤t->mm->mmap_sem); -out: - return ret; -} - /* we come to here via sys_nis_syscall so it can setup the regs argument */ asmlinkage unsigned long c_sys_nis_syscall (struct pt_regs *regs) --- linux-2.6.32.orig/arch/sparc/kernel/sys_sparc_64.c +++ linux-2.6.32/arch/sparc/kernel/sys_sparc_64.c @@ -317,10 +317,14 @@ unsigned long get_fb_unmapped_area(struct file *filp, unsigned long orig_addr, unsigned long len, unsigned long pgoff, unsigned long flags) { unsigned long align_goal, addr = -ENOMEM; + unsigned long (*get_area)(struct file *, unsigned long, + unsigned long, unsigned long, unsigned long); + + get_area = current->mm->get_unmapped_area; if (flags & MAP_FIXED) { /* Ok, don't mess with it. */ - return get_unmapped_area(NULL, orig_addr, len, pgoff, flags); + return get_area(NULL, orig_addr, len, pgoff, flags); } flags &= ~MAP_SHARED; @@ -333,7 +337,7 @@ align_goal = (64UL * 1024); do { - addr = get_unmapped_area(NULL, orig_addr, len + (align_goal - PAGE_SIZE), pgoff, flags); + addr = get_area(NULL, orig_addr, len + (align_goal - PAGE_SIZE), pgoff, flags); if (!(addr & ~PAGE_MASK)) { addr = (addr + (align_goal - 1UL)) & ~(align_goal - 1UL); break; @@ -351,7 +355,7 @@ * be obtained. */ if (addr & ~PAGE_MASK) - addr = get_unmapped_area(NULL, orig_addr, len, pgoff, flags); + addr = get_area(NULL, orig_addr, len, pgoff, flags); return addr; } @@ -399,18 +403,6 @@ } } -SYSCALL_DEFINE1(sparc_brk, unsigned long, brk) -{ - /* People could try to be nasty and use ta 0x6d in 32bit programs */ - if (test_thread_flag(TIF_32BIT) && brk >= STACK_TOP32) - return current->mm->brk; - - if (unlikely(straddles_64bit_va_hole(current->mm->brk, brk))) - return current->mm->brk; - - return sys_brk(brk); -} - /* * sys_pipe() is the normal C calling standard for creating * a pipe. It's not the way unix traditionally does this, though. @@ -568,23 +560,13 @@ unsigned long, prot, unsigned long, flags, unsigned long, fd, unsigned long, off) { - struct file * file = NULL; - unsigned long retval = -EBADF; - - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - len = PAGE_ALIGN(len); + unsigned long retval = -EINVAL; - down_write(¤t->mm->mmap_sem); - retval = do_mmap(file, addr, len, prot, flags, off); - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); + if ((off + PAGE_ALIGN(len)) < off) + goto out; + if (off & ~PAGE_MASK) + goto out; + retval = sys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT); out: return retval; } @@ -614,12 +596,6 @@ if (test_thread_flag(TIF_32BIT)) goto out; - if (unlikely(new_len >= VA_EXCLUDE_START)) - goto out; - if (unlikely(sparc_mmap_check(addr, old_len))) - goto out; - if (unlikely(sparc_mmap_check(new_addr, new_len))) - goto out; down_write(¤t->mm->mmap_sem); ret = do_mremap(addr, old_len, new_len, flags, new_addr); --- linux-2.6.32.orig/arch/sparc/kernel/systbls_64.S +++ linux-2.6.32/arch/sparc/kernel/systbls_64.S @@ -21,7 +21,7 @@ /*0*/ .word sys_restart_syscall, sys32_exit, sys_fork, sys_read, sys_write /*5*/ .word sys32_open, sys_close, sys32_wait4, sys32_creat, sys_link /*10*/ .word sys_unlink, sunos_execv, sys_chdir, sys_chown16, sys32_mknod -/*15*/ .word sys_chmod, sys_lchown16, sys_sparc_brk, sys32_perfctr, sys32_lseek +/*15*/ .word sys_chmod, sys_lchown16, sys_brk, sys32_perfctr, sys32_lseek /*20*/ .word sys_getpid, sys_capget, sys_capset, sys_setuid16, sys_getuid16 /*25*/ .word sys32_vmsplice, compat_sys_ptrace, sys_alarm, sys32_sigaltstack, sys_pause /*30*/ .word compat_sys_utime, sys_lchown, sys_fchown, sys32_access, sys32_nice @@ -96,7 +96,7 @@ /*0*/ .word sys_restart_syscall, sparc_exit, sys_fork, sys_read, sys_write /*5*/ .word sys_open, sys_close, sys_wait4, sys_creat, sys_link /*10*/ .word sys_unlink, sys_nis_syscall, sys_chdir, sys_chown, sys_mknod -/*15*/ .word sys_chmod, sys_lchown, sys_sparc_brk, sys_perfctr, sys_lseek +/*15*/ .word sys_chmod, sys_lchown, sys_brk, sys_perfctr, sys_lseek /*20*/ .word sys_getpid, sys_capget, sys_capset, sys_setuid, sys_getuid /*25*/ .word sys_vmsplice, sys_ptrace, sys_alarm, sys_sigaltstack, sys_nis_syscall /*30*/ .word sys_utime, sys_nis_syscall, sys_nis_syscall, sys_access, sys_nice --- linux-2.6.32.orig/arch/sparc/kernel/sigutil_64.c +++ linux-2.6.32/arch/sparc/kernel/sigutil_64.c @@ -0,0 +1,94 @@ +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "sigutil.h" + +int save_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) +{ + unsigned long *fpregs = current_thread_info()->fpregs; + unsigned long fprs; + int err = 0; + + fprs = current_thread_info()->fpsaved[0]; + if (fprs & FPRS_DL) + err |= copy_to_user(&fpu->si_float_regs[0], fpregs, + (sizeof(unsigned int) * 32)); + if (fprs & FPRS_DU) + err |= copy_to_user(&fpu->si_float_regs[32], fpregs+16, + (sizeof(unsigned int) * 32)); + err |= __put_user(current_thread_info()->xfsr[0], &fpu->si_fsr); + err |= __put_user(current_thread_info()->gsr[0], &fpu->si_gsr); + err |= __put_user(fprs, &fpu->si_fprs); + + return err; +} + +int restore_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) +{ + unsigned long *fpregs = current_thread_info()->fpregs; + unsigned long fprs; + int err; + + err = __get_user(fprs, &fpu->si_fprs); + fprs_write(0); + regs->tstate &= ~TSTATE_PEF; + if (fprs & FPRS_DL) + err |= copy_from_user(fpregs, &fpu->si_float_regs[0], + (sizeof(unsigned int) * 32)); + if (fprs & FPRS_DU) + err |= copy_from_user(fpregs+16, &fpu->si_float_regs[32], + (sizeof(unsigned int) * 32)); + err |= __get_user(current_thread_info()->xfsr[0], &fpu->si_fsr); + err |= __get_user(current_thread_info()->gsr[0], &fpu->si_gsr); + current_thread_info()->fpsaved[0] |= fprs; + return err; +} + +int save_rwin_state(int wsaved, __siginfo_rwin_t __user *rwin) +{ + int i, err = __put_user(wsaved, &rwin->wsaved); + + for (i = 0; i < wsaved; i++) { + struct reg_window *rp = ¤t_thread_info()->reg_window[i]; + unsigned long fp = current_thread_info()->rwbuf_stkptrs[i]; + + err |= copy_to_user(&rwin->reg_window[i], rp, + sizeof(struct reg_window)); + err |= __put_user(fp, &rwin->rwbuf_stkptrs[i]); + } + return err; +} + +int restore_rwin_state(__siginfo_rwin_t __user *rp) +{ + struct thread_info *t = current_thread_info(); + int i, wsaved, err; + + __get_user(wsaved, &rp->wsaved); + if (wsaved > NSWINS) + return -EFAULT; + + err = 0; + for (i = 0; i < wsaved; i++) { + err |= copy_from_user(&t->reg_window[i], + &rp->reg_window[i], + sizeof(struct reg_window)); + err |= __get_user(t->rwbuf_stkptrs[i], + &rp->rwbuf_stkptrs[i]); + } + if (err) + return err; + + set_thread_wsaved(wsaved); + synchronize_user_stack(); + if (get_thread_wsaved()) + return -EFAULT; + return 0; +} --- linux-2.6.32.orig/arch/sparc/kernel/tsb.S +++ linux-2.6.32/arch/sparc/kernel/tsb.S @@ -191,10 +191,12 @@ tsb_itlb_load: /* Executable bit must be set. */ -661: andcc %g5, _PAGE_EXEC_4U, %g0 - .section .sun4v_1insn_patch, "ax" +661: sethi %hi(_PAGE_EXEC_4U), %g4 + andcc %g5, %g4, %g0 + .section .sun4v_2insn_patch, "ax" .word 661b andcc %g5, _PAGE_EXEC_4V, %g0 + nop .previous be,pn %xcc, tsb_do_fault --- linux-2.6.32.orig/arch/sparc/kernel/sigutil.h +++ linux-2.6.32/arch/sparc/kernel/sigutil.h @@ -0,0 +1,9 @@ +#ifndef _SIGUTIL_H +#define _SIGUTIL_H + +int save_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu); +int restore_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu); +int save_rwin_state(int wsaved, __siginfo_rwin_t __user *rwin); +int restore_rwin_state(__siginfo_rwin_t __user *rp); + +#endif /* _SIGUTIL_H */ --- linux-2.6.32.orig/arch/sparc/kernel/sigutil_32.c +++ linux-2.6.32/arch/sparc/kernel/sigutil_32.c @@ -0,0 +1,120 @@ +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "sigutil.h" + +int save_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) +{ + int err = 0; +#ifdef CONFIG_SMP + if (test_tsk_thread_flag(current, TIF_USEDFPU)) { + put_psr(get_psr() | PSR_EF); + fpsave(¤t->thread.float_regs[0], ¤t->thread.fsr, + ¤t->thread.fpqueue[0], ¤t->thread.fpqdepth); + regs->psr &= ~(PSR_EF); + clear_tsk_thread_flag(current, TIF_USEDFPU); + } +#else + if (current == last_task_used_math) { + put_psr(get_psr() | PSR_EF); + fpsave(¤t->thread.float_regs[0], ¤t->thread.fsr, + ¤t->thread.fpqueue[0], ¤t->thread.fpqdepth); + last_task_used_math = NULL; + regs->psr &= ~(PSR_EF); + } +#endif + err |= __copy_to_user(&fpu->si_float_regs[0], + ¤t->thread.float_regs[0], + (sizeof(unsigned long) * 32)); + err |= __put_user(current->thread.fsr, &fpu->si_fsr); + err |= __put_user(current->thread.fpqdepth, &fpu->si_fpqdepth); + if (current->thread.fpqdepth != 0) + err |= __copy_to_user(&fpu->si_fpqueue[0], + ¤t->thread.fpqueue[0], + ((sizeof(unsigned long) + + (sizeof(unsigned long *)))*16)); + clear_used_math(); + return err; +} + +int restore_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) +{ + int err; +#ifdef CONFIG_SMP + if (test_tsk_thread_flag(current, TIF_USEDFPU)) + regs->psr &= ~PSR_EF; +#else + if (current == last_task_used_math) { + last_task_used_math = NULL; + regs->psr &= ~PSR_EF; + } +#endif + set_used_math(); + clear_tsk_thread_flag(current, TIF_USEDFPU); + + if (!access_ok(VERIFY_READ, fpu, sizeof(*fpu))) + return -EFAULT; + + err = __copy_from_user(¤t->thread.float_regs[0], &fpu->si_float_regs[0], + (sizeof(unsigned long) * 32)); + err |= __get_user(current->thread.fsr, &fpu->si_fsr); + err |= __get_user(current->thread.fpqdepth, &fpu->si_fpqdepth); + if (current->thread.fpqdepth != 0) + err |= __copy_from_user(¤t->thread.fpqueue[0], + &fpu->si_fpqueue[0], + ((sizeof(unsigned long) + + (sizeof(unsigned long *)))*16)); + return err; +} + +int save_rwin_state(int wsaved, __siginfo_rwin_t __user *rwin) +{ + int i, err = __put_user(wsaved, &rwin->wsaved); + + for (i = 0; i < wsaved; i++) { + struct reg_window32 *rp; + unsigned long fp; + + rp = ¤t_thread_info()->reg_window[i]; + fp = current_thread_info()->rwbuf_stkptrs[i]; + err |= copy_to_user(&rwin->reg_window[i], rp, + sizeof(struct reg_window32)); + err |= __put_user(fp, &rwin->rwbuf_stkptrs[i]); + } + return err; +} + +int restore_rwin_state(__siginfo_rwin_t __user *rp) +{ + struct thread_info *t = current_thread_info(); + int i, wsaved, err; + + __get_user(wsaved, &rp->wsaved); + if (wsaved > NSWINS) + return -EFAULT; + + err = 0; + for (i = 0; i < wsaved; i++) { + err |= copy_from_user(&t->reg_window[i], + &rp->reg_window[i], + sizeof(struct reg_window32)); + err |= __get_user(t->rwbuf_stkptrs[i], + &rp->rwbuf_stkptrs[i]); + } + if (err) + return err; + + t->w_saved = wsaved; + synchronize_user_stack(); + if (t->w_saved) + return -EFAULT; + return 0; + +} --- linux-2.6.32.orig/arch/sparc/lib/mcount.S +++ linux-2.6.32/arch/sparc/lib/mcount.S @@ -64,8 +64,9 @@ 2: sethi %hi(softirq_stack), %g3 or %g3, %lo(softirq_stack), %g3 ldx [%g3 + %g1], %g7 + sub %g7, STACK_BIAS, %g7 cmp %sp, %g7 - bleu,pt %xcc, 2f + bleu,pt %xcc, 3f sethi %hi(THREAD_SIZE), %g3 add %g7, %g3, %g7 cmp %sp, %g7 @@ -75,7 +76,7 @@ * again, we are already trying to output the stack overflow * message. */ - sethi %hi(ovstack), %g7 ! cant move to panic stack fast enough +3: sethi %hi(ovstack), %g7 ! cant move to panic stack fast enough or %g7, %lo(ovstack), %g7 add %g7, OVSTACKSIZE, %g3 sub %g3, STACK_BIAS + 192, %g3 --- linux-2.6.32.orig/arch/sparc/prom/cif.S +++ linux-2.6.32/arch/sparc/prom/cif.S @@ -9,18 +9,18 @@ #include .text - .globl prom_cif_interface -prom_cif_interface: - sethi %hi(p1275buf), %o0 - or %o0, %lo(p1275buf), %o0 - ldx [%o0 + 0x010], %o1 ! prom_cif_stack - save %o1, -192, %sp - ldx [%i0 + 0x008], %l2 ! prom_cif_handler + .globl prom_cif_direct +prom_cif_direct: + sethi %hi(p1275buf), %o1 + or %o1, %lo(p1275buf), %o1 + ldx [%o1 + 0x0010], %o2 ! prom_cif_stack + save %o2, -192, %sp + ldx [%i1 + 0x0008], %l2 ! prom_cif_handler mov %g4, %l0 mov %g5, %l1 mov %g6, %l3 call %l2 - add %i0, 0x018, %o0 ! prom_args + mov %i0, %o0 ! prom_args mov %l0, %g4 mov %l1, %g5 mov %l3, %g6 --- linux-2.6.32.orig/arch/sparc/prom/console_64.c +++ linux-2.6.32/arch/sparc/prom/console_64.c @@ -21,14 +21,22 @@ inline int prom_nbgetchar(void) { + unsigned long args[7]; char inc; - if (p1275_cmd("read", P1275_ARG(1,P1275_ARG_OUT_BUF)| - P1275_INOUT(3,1), - prom_stdin, &inc, P1275_SIZE(1)) == 1) + args[0] = (unsigned long) "read"; + args[1] = 3; + args[2] = 1; + args[3] = (unsigned int) prom_stdin; + args[4] = (unsigned long) &inc; + args[5] = 1; + args[6] = (unsigned long) -1; + + p1275_cmd_direct(args); + + if (args[6] == 1) return inc; - else - return -1; + return -1; } /* Non blocking put character to console device, returns -1 if @@ -37,12 +45,22 @@ inline int prom_nbputchar(char c) { + unsigned long args[7]; char outc; outc = c; - if (p1275_cmd("write", P1275_ARG(1,P1275_ARG_IN_BUF)| - P1275_INOUT(3,1), - prom_stdout, &outc, P1275_SIZE(1)) == 1) + + args[0] = (unsigned long) "write"; + args[1] = 3; + args[2] = 1; + args[3] = (unsigned int) prom_stdout; + args[4] = (unsigned long) &outc; + args[5] = 1; + args[6] = (unsigned long) -1; + + p1275_cmd_direct(args); + + if (args[6] == 1) return 0; else return -1; @@ -68,7 +86,15 @@ void prom_puts(const char *s, int len) { - p1275_cmd("write", P1275_ARG(1,P1275_ARG_IN_BUF)| - P1275_INOUT(3,1), - prom_stdout, s, P1275_SIZE(len)); + unsigned long args[7]; + + args[0] = (unsigned long) "write"; + args[1] = 3; + args[2] = 1; + args[3] = (unsigned int) prom_stdout; + args[4] = (unsigned long) s; + args[5] = len; + args[6] = (unsigned long) -1; + + p1275_cmd_direct(args); } --- linux-2.6.32.orig/arch/sparc/prom/misc_64.c +++ linux-2.6.32/arch/sparc/prom/misc_64.c @@ -20,10 +20,17 @@ int prom_service_exists(const char *service_name) { - int err = p1275_cmd("test", P1275_ARG(0, P1275_ARG_IN_STRING) | - P1275_INOUT(1, 1), service_name); + unsigned long args[5]; - if (err) + args[0] = (unsigned long) "test"; + args[1] = 1; + args[2] = 1; + args[3] = (unsigned long) service_name; + args[4] = (unsigned long) -1; + + p1275_cmd_direct(args); + + if (args[4]) return 0; return 1; } @@ -31,30 +38,47 @@ void prom_sun4v_guest_soft_state(void) { const char *svc = "SUNW,soft-state-supported"; + unsigned long args[3]; if (!prom_service_exists(svc)) return; - p1275_cmd(svc, P1275_INOUT(0, 0)); + args[0] = (unsigned long) svc; + args[1] = 0; + args[2] = 0; + p1275_cmd_direct(args); } /* Reset and reboot the machine with the command 'bcommand'. */ void prom_reboot(const char *bcommand) { + unsigned long args[4]; + #ifdef CONFIG_SUN_LDOMS if (ldom_domaining_enabled) ldom_reboot(bcommand); #endif - p1275_cmd("boot", P1275_ARG(0, P1275_ARG_IN_STRING) | - P1275_INOUT(1, 0), bcommand); + args[0] = (unsigned long) "boot"; + args[1] = 1; + args[2] = 0; + args[3] = (unsigned long) bcommand; + + p1275_cmd_direct(args); } /* Forth evaluate the expression contained in 'fstring'. */ void prom_feval(const char *fstring) { + unsigned long args[5]; + if (!fstring || fstring[0] == 0) return; - p1275_cmd("interpret", P1275_ARG(0, P1275_ARG_IN_STRING) | - P1275_INOUT(1, 1), fstring); + args[0] = (unsigned long) "interpret"; + args[1] = 1; + args[2] = 1; + args[3] = (unsigned long) fstring; + args[4] = (unsigned long) -1; + + p1275_cmd_direct(args); } EXPORT_SYMBOL(prom_feval); @@ -68,6 +92,7 @@ */ void prom_cmdline(void) { + unsigned long args[3]; unsigned long flags; local_irq_save(flags); @@ -76,7 +101,11 @@ smp_capture(); #endif - p1275_cmd("enter", P1275_INOUT(0, 0)); + args[0] = (unsigned long) "enter"; + args[1] = 0; + args[2] = 0; + + p1275_cmd_direct(args); #ifdef CONFIG_SMP smp_release(); @@ -90,22 +119,32 @@ */ void notrace prom_halt(void) { + unsigned long args[3]; + #ifdef CONFIG_SUN_LDOMS if (ldom_domaining_enabled) ldom_power_off(); #endif again: - p1275_cmd("exit", P1275_INOUT(0, 0)); + args[0] = (unsigned long) "exit"; + args[1] = 0; + args[2] = 0; + p1275_cmd_direct(args); goto again; /* PROM is out to get me -DaveM */ } void prom_halt_power_off(void) { + unsigned long args[3]; + #ifdef CONFIG_SUN_LDOMS if (ldom_domaining_enabled) ldom_power_off(); #endif - p1275_cmd("SUNW,power-off", P1275_INOUT(0, 0)); + args[0] = (unsigned long) "SUNW,power-off"; + args[1] = 0; + args[2] = 0; + p1275_cmd_direct(args); /* if nothing else helps, we just halt */ prom_halt(); @@ -114,10 +153,15 @@ /* Set prom sync handler to call function 'funcp'. */ void prom_setcallback(callback_func_t funcp) { + unsigned long args[5]; if (!funcp) return; - p1275_cmd("set-callback", P1275_ARG(0, P1275_ARG_IN_FUNCTION) | - P1275_INOUT(1, 1), funcp); + args[0] = (unsigned long) "set-callback"; + args[1] = 1; + args[2] = 1; + args[3] = (unsigned long) funcp; + args[4] = (unsigned long) -1; + p1275_cmd_direct(args); } /* Get the idprom and stuff it into buffer 'idbuf'. Returns the @@ -173,57 +217,61 @@ } /* Load explicit I/D TLB entries. */ +static long tlb_load(const char *type, unsigned long index, + unsigned long tte_data, unsigned long vaddr) +{ + unsigned long args[9]; + + args[0] = (unsigned long) prom_callmethod_name; + args[1] = 5; + args[2] = 1; + args[3] = (unsigned long) type; + args[4] = (unsigned int) prom_get_mmu_ihandle(); + args[5] = vaddr; + args[6] = tte_data; + args[7] = index; + args[8] = (unsigned long) -1; + + p1275_cmd_direct(args); + + return (long) args[8]; +} + long prom_itlb_load(unsigned long index, unsigned long tte_data, unsigned long vaddr) { - return p1275_cmd(prom_callmethod_name, - (P1275_ARG(0, P1275_ARG_IN_STRING) | - P1275_ARG(2, P1275_ARG_IN_64B) | - P1275_ARG(3, P1275_ARG_IN_64B) | - P1275_INOUT(5, 1)), - "SUNW,itlb-load", - prom_get_mmu_ihandle(), - /* And then our actual args are pushed backwards. */ - vaddr, - tte_data, - index); + return tlb_load("SUNW,itlb-load", index, tte_data, vaddr); } long prom_dtlb_load(unsigned long index, unsigned long tte_data, unsigned long vaddr) { - return p1275_cmd(prom_callmethod_name, - (P1275_ARG(0, P1275_ARG_IN_STRING) | - P1275_ARG(2, P1275_ARG_IN_64B) | - P1275_ARG(3, P1275_ARG_IN_64B) | - P1275_INOUT(5, 1)), - "SUNW,dtlb-load", - prom_get_mmu_ihandle(), - /* And then our actual args are pushed backwards. */ - vaddr, - tte_data, - index); + return tlb_load("SUNW,dtlb-load", index, tte_data, vaddr); } int prom_map(int mode, unsigned long size, unsigned long vaddr, unsigned long paddr) { - int ret = p1275_cmd(prom_callmethod_name, - (P1275_ARG(0, P1275_ARG_IN_STRING) | - P1275_ARG(3, P1275_ARG_IN_64B) | - P1275_ARG(4, P1275_ARG_IN_64B) | - P1275_ARG(6, P1275_ARG_IN_64B) | - P1275_INOUT(7, 1)), - prom_map_name, - prom_get_mmu_ihandle(), - mode, - size, - vaddr, - 0, - paddr); + unsigned long args[11]; + int ret; + args[0] = (unsigned long) prom_callmethod_name; + args[1] = 7; + args[2] = 1; + args[3] = (unsigned long) prom_map_name; + args[4] = (unsigned int) prom_get_mmu_ihandle(); + args[5] = (unsigned int) mode; + args[6] = size; + args[7] = vaddr; + args[8] = 0; + args[9] = paddr; + args[10] = (unsigned long) -1; + + p1275_cmd_direct(args); + + ret = (int) args[10]; if (ret == 0) ret = -1; return ret; @@ -231,40 +279,51 @@ void prom_unmap(unsigned long size, unsigned long vaddr) { - p1275_cmd(prom_callmethod_name, - (P1275_ARG(0, P1275_ARG_IN_STRING) | - P1275_ARG(2, P1275_ARG_IN_64B) | - P1275_ARG(3, P1275_ARG_IN_64B) | - P1275_INOUT(4, 0)), - prom_unmap_name, - prom_get_mmu_ihandle(), - size, - vaddr); + unsigned long args[7]; + + args[0] = (unsigned long) prom_callmethod_name; + args[1] = 4; + args[2] = 0; + args[3] = (unsigned long) prom_unmap_name; + args[4] = (unsigned int) prom_get_mmu_ihandle(); + args[5] = size; + args[6] = vaddr; + + p1275_cmd_direct(args); } /* Set aside physical memory which is not touched or modified * across soft resets. */ -unsigned long prom_retain(const char *name, - unsigned long pa_low, unsigned long pa_high, - long size, long align) -{ - /* XXX I don't think we return multiple values correctly. - * XXX OBP supposedly returns pa_low/pa_high here, how does - * XXX it work? - */ +int prom_retain(const char *name, unsigned long size, + unsigned long align, unsigned long *paddr) +{ + unsigned long args[11]; - /* If align is zero, the pa_low/pa_high args are passed, - * else they are not. + args[0] = (unsigned long) prom_callmethod_name; + args[1] = 5; + args[2] = 3; + args[3] = (unsigned long) "SUNW,retain"; + args[4] = (unsigned int) prom_get_memory_ihandle(); + args[5] = align; + args[6] = size; + args[7] = (unsigned long) name; + args[8] = (unsigned long) -1; + args[9] = (unsigned long) -1; + args[10] = (unsigned long) -1; + + p1275_cmd_direct(args); + + if (args[8]) + return (int) args[8]; + + /* Next we get "phys_high" then "phys_low". On 64-bit + * the phys_high cell is don't care since the phys_low + * cell has the full value. */ - if (align == 0) - return p1275_cmd("SUNW,retain", - (P1275_ARG(0, P1275_ARG_IN_BUF) | P1275_INOUT(5, 2)), - name, pa_low, pa_high, size, align); - else - return p1275_cmd("SUNW,retain", - (P1275_ARG(0, P1275_ARG_IN_BUF) | P1275_INOUT(3, 2)), - name, size, align); + *paddr = args[10]; + + return 0; } /* Get "Unumber" string for the SIMM at the given @@ -277,62 +336,129 @@ unsigned long phys_addr, char *buf, int buflen) { - return p1275_cmd(prom_callmethod_name, - (P1275_ARG(0, P1275_ARG_IN_STRING) | - P1275_ARG(3, P1275_ARG_OUT_BUF) | - P1275_ARG(6, P1275_ARG_IN_64B) | - P1275_INOUT(8, 2)), - "SUNW,get-unumber", prom_get_memory_ihandle(), - buflen, buf, P1275_SIZE(buflen), - 0, phys_addr, syndrome_code); + unsigned long args[12]; + + args[0] = (unsigned long) prom_callmethod_name; + args[1] = 7; + args[2] = 2; + args[3] = (unsigned long) "SUNW,get-unumber"; + args[4] = (unsigned int) prom_get_memory_ihandle(); + args[5] = buflen; + args[6] = (unsigned long) buf; + args[7] = 0; + args[8] = phys_addr; + args[9] = (unsigned int) syndrome_code; + args[10] = (unsigned long) -1; + args[11] = (unsigned long) -1; + + p1275_cmd_direct(args); + + return (int) args[10]; } /* Power management extensions. */ void prom_sleepself(void) { - p1275_cmd("SUNW,sleep-self", P1275_INOUT(0, 0)); + unsigned long args[3]; + + args[0] = (unsigned long) "SUNW,sleep-self"; + args[1] = 0; + args[2] = 0; + p1275_cmd_direct(args); } int prom_sleepsystem(void) { - return p1275_cmd("SUNW,sleep-system", P1275_INOUT(0, 1)); + unsigned long args[4]; + + args[0] = (unsigned long) "SUNW,sleep-system"; + args[1] = 0; + args[2] = 1; + args[3] = (unsigned long) -1; + p1275_cmd_direct(args); + + return (int) args[3]; } int prom_wakeupsystem(void) { - return p1275_cmd("SUNW,wakeup-system", P1275_INOUT(0, 1)); + unsigned long args[4]; + + args[0] = (unsigned long) "SUNW,wakeup-system"; + args[1] = 0; + args[2] = 1; + args[3] = (unsigned long) -1; + p1275_cmd_direct(args); + + return (int) args[3]; } #ifdef CONFIG_SMP void prom_startcpu(int cpunode, unsigned long pc, unsigned long arg) { - p1275_cmd("SUNW,start-cpu", P1275_INOUT(3, 0), cpunode, pc, arg); + unsigned long args[6]; + + args[0] = (unsigned long) "SUNW,start-cpu"; + args[1] = 3; + args[2] = 0; + args[3] = (unsigned int) cpunode; + args[4] = pc; + args[5] = arg; + p1275_cmd_direct(args); } void prom_startcpu_cpuid(int cpuid, unsigned long pc, unsigned long arg) { - p1275_cmd("SUNW,start-cpu-by-cpuid", P1275_INOUT(3, 0), - cpuid, pc, arg); + unsigned long args[6]; + + args[0] = (unsigned long) "SUNW,start-cpu-by-cpuid"; + args[1] = 3; + args[2] = 0; + args[3] = (unsigned int) cpuid; + args[4] = pc; + args[5] = arg; + p1275_cmd_direct(args); } void prom_stopcpu_cpuid(int cpuid) { - p1275_cmd("SUNW,stop-cpu-by-cpuid", P1275_INOUT(1, 0), - cpuid); + unsigned long args[4]; + + args[0] = (unsigned long) "SUNW,stop-cpu-by-cpuid"; + args[1] = 1; + args[2] = 0; + args[3] = (unsigned int) cpuid; + p1275_cmd_direct(args); } void prom_stopself(void) { - p1275_cmd("SUNW,stop-self", P1275_INOUT(0, 0)); + unsigned long args[3]; + + args[0] = (unsigned long) "SUNW,stop-self"; + args[1] = 0; + args[2] = 0; + p1275_cmd_direct(args); } void prom_idleself(void) { - p1275_cmd("SUNW,idle-self", P1275_INOUT(0, 0)); + unsigned long args[3]; + + args[0] = (unsigned long) "SUNW,idle-self"; + args[1] = 0; + args[2] = 0; + p1275_cmd_direct(args); } void prom_resumecpu(int cpunode) { - p1275_cmd("SUNW,resume-cpu", P1275_INOUT(1, 0), cpunode); + unsigned long args[4]; + + args[0] = (unsigned long) "SUNW,resume-cpu"; + args[1] = 1; + args[2] = 0; + args[3] = (unsigned int) cpunode; + p1275_cmd_direct(args); } #endif --- linux-2.6.32.orig/arch/sparc/prom/p1275.c +++ linux-2.6.32/arch/sparc/prom/p1275.c @@ -22,126 +22,32 @@ long prom_callback; /* 0x00 */ void (*prom_cif_handler)(long *); /* 0x08 */ unsigned long prom_cif_stack; /* 0x10 */ - unsigned long prom_args [23]; /* 0x18 */ - char prom_buffer [3000]; } p1275buf; extern void prom_world(int); -extern void prom_cif_interface(void); +extern void prom_cif_direct(unsigned long *args); extern void prom_cif_callback(void); /* - * This provides SMP safety on the p1275buf. prom_callback() drops this lock - * to allow recursuve acquisition. + * This provides SMP safety on the p1275buf. */ DEFINE_SPINLOCK(prom_entry_lock); -long p1275_cmd(const char *service, long fmt, ...) +void p1275_cmd_direct(unsigned long *args) { - char *p, *q; unsigned long flags; - int nargs, nrets, i; - va_list list; - long attrs, x; - - p = p1275buf.prom_buffer; - - spin_lock_irqsave(&prom_entry_lock, flags); - - p1275buf.prom_args[0] = (unsigned long)p; /* service */ - strcpy (p, service); - p = (char *)(((long)(strchr (p, 0) + 8)) & ~7); - p1275buf.prom_args[1] = nargs = (fmt & 0x0f); /* nargs */ - p1275buf.prom_args[2] = nrets = ((fmt & 0xf0) >> 4); /* nrets */ - attrs = fmt >> 8; - va_start(list, fmt); - for (i = 0; i < nargs; i++, attrs >>= 3) { - switch (attrs & 0x7) { - case P1275_ARG_NUMBER: - p1275buf.prom_args[i + 3] = - (unsigned)va_arg(list, long); - break; - case P1275_ARG_IN_64B: - p1275buf.prom_args[i + 3] = - va_arg(list, unsigned long); - break; - case P1275_ARG_IN_STRING: - strcpy (p, va_arg(list, char *)); - p1275buf.prom_args[i + 3] = (unsigned long)p; - p = (char *)(((long)(strchr (p, 0) + 8)) & ~7); - break; - case P1275_ARG_OUT_BUF: - (void) va_arg(list, char *); - p1275buf.prom_args[i + 3] = (unsigned long)p; - x = va_arg(list, long); - i++; attrs >>= 3; - p = (char *)(((long)(p + (int)x + 7)) & ~7); - p1275buf.prom_args[i + 3] = x; - break; - case P1275_ARG_IN_BUF: - q = va_arg(list, char *); - p1275buf.prom_args[i + 3] = (unsigned long)p; - x = va_arg(list, long); - i++; attrs >>= 3; - memcpy (p, q, (int)x); - p = (char *)(((long)(p + (int)x + 7)) & ~7); - p1275buf.prom_args[i + 3] = x; - break; - case P1275_ARG_OUT_32B: - (void) va_arg(list, char *); - p1275buf.prom_args[i + 3] = (unsigned long)p; - p += 32; - break; - case P1275_ARG_IN_FUNCTION: - p1275buf.prom_args[i + 3] = - (unsigned long)prom_cif_callback; - p1275buf.prom_callback = va_arg(list, long); - break; - } - } - va_end(list); + + raw_local_save_flags(flags); + raw_local_irq_restore(PIL_NMI); + spin_lock(&prom_entry_lock); prom_world(1); - prom_cif_interface(); + prom_cif_direct(args); prom_world(0); - attrs = fmt >> 8; - va_start(list, fmt); - for (i = 0; i < nargs; i++, attrs >>= 3) { - switch (attrs & 0x7) { - case P1275_ARG_NUMBER: - (void) va_arg(list, long); - break; - case P1275_ARG_IN_STRING: - (void) va_arg(list, char *); - break; - case P1275_ARG_IN_FUNCTION: - (void) va_arg(list, long); - break; - case P1275_ARG_IN_BUF: - (void) va_arg(list, char *); - (void) va_arg(list, long); - i++; attrs >>= 3; - break; - case P1275_ARG_OUT_BUF: - p = va_arg(list, char *); - x = va_arg(list, long); - memcpy (p, (char *)(p1275buf.prom_args[i + 3]), (int)x); - i++; attrs >>= 3; - break; - case P1275_ARG_OUT_32B: - p = va_arg(list, char *); - memcpy (p, (char *)(p1275buf.prom_args[i + 3]), 32); - break; - } - } - va_end(list); - x = p1275buf.prom_args [nargs + 3]; - - spin_unlock_irqrestore(&prom_entry_lock, flags); - - return x; + spin_unlock(&prom_entry_lock); + raw_local_irq_restore(flags); } void prom_cif_init(void *cif_handler, void *cif_stack) --- linux-2.6.32.orig/arch/sparc/prom/tree_64.c +++ linux-2.6.32/arch/sparc/prom/tree_64.c @@ -16,22 +16,39 @@ #include #include +static int prom_node_to_node(const char *type, int node) +{ + unsigned long args[5]; + + args[0] = (unsigned long) type; + args[1] = 1; + args[2] = 1; + args[3] = (unsigned int) node; + args[4] = (unsigned long) -1; + + p1275_cmd_direct(args); + + return (int) args[4]; +} + /* Return the child of node 'node' or zero if no this node has no * direct descendent. */ inline int __prom_getchild(int node) { - return p1275_cmd ("child", P1275_INOUT(1, 1), node); + return prom_node_to_node("child", node); } inline int prom_getchild(int node) { int cnode; - if(node == -1) return 0; + if (node == -1) + return 0; cnode = __prom_getchild(node); - if(cnode == -1) return 0; - return (int)cnode; + if (cnode == -1) + return 0; + return cnode; } EXPORT_SYMBOL(prom_getchild); @@ -39,10 +56,12 @@ { int cnode; - if(node == -1) return 0; - cnode = p1275_cmd ("parent", P1275_INOUT(1, 1), node); - if(cnode == -1) return 0; - return (int)cnode; + if (node == -1) + return 0; + cnode = prom_node_to_node("parent", node); + if (cnode == -1) + return 0; + return cnode; } /* Return the next sibling of node 'node' or zero if no more siblings @@ -50,7 +69,7 @@ */ inline int __prom_getsibling(int node) { - return p1275_cmd(prom_peer_name, P1275_INOUT(1, 1), node); + return prom_node_to_node(prom_peer_name, node); } inline int prom_getsibling(int node) @@ -72,11 +91,21 @@ */ inline int prom_getproplen(int node, const char *prop) { - if((!node) || (!prop)) return -1; - return p1275_cmd ("getproplen", - P1275_ARG(1,P1275_ARG_IN_STRING)| - P1275_INOUT(2, 1), - node, prop); + unsigned long args[6]; + + if (!node || !prop) + return -1; + + args[0] = (unsigned long) "getproplen"; + args[1] = 2; + args[2] = 1; + args[3] = (unsigned int) node; + args[4] = (unsigned long) prop; + args[5] = (unsigned long) -1; + + p1275_cmd_direct(args); + + return (int) args[5]; } EXPORT_SYMBOL(prom_getproplen); @@ -87,19 +116,25 @@ inline int prom_getproperty(int node, const char *prop, char *buffer, int bufsize) { + unsigned long args[8]; int plen; plen = prom_getproplen(node, prop); - if ((plen > bufsize) || (plen == 0) || (plen == -1)) { + if ((plen > bufsize) || (plen == 0) || (plen == -1)) return -1; - } else { - /* Ok, things seem all right. */ - return p1275_cmd(prom_getprop_name, - P1275_ARG(1,P1275_ARG_IN_STRING)| - P1275_ARG(2,P1275_ARG_OUT_BUF)| - P1275_INOUT(4, 1), - node, prop, buffer, P1275_SIZE(plen)); - } + + args[0] = (unsigned long) prom_getprop_name; + args[1] = 4; + args[2] = 1; + args[3] = (unsigned int) node; + args[4] = (unsigned long) prop; + args[5] = (unsigned long) buffer; + args[6] = bufsize; + args[7] = (unsigned long) -1; + + p1275_cmd_direct(args); + + return (int) args[7]; } EXPORT_SYMBOL(prom_getproperty); @@ -110,7 +145,7 @@ { int intprop; - if(prom_getproperty(node, prop, (char *) &intprop, sizeof(int)) != -1) + if (prom_getproperty(node, prop, (char *) &intprop, sizeof(int)) != -1) return intprop; return -1; @@ -126,7 +161,8 @@ int retval; retval = prom_getint(node, property); - if(retval == -1) return deflt; + if (retval == -1) + return deflt; return retval; } @@ -138,7 +174,8 @@ int retval; retval = prom_getproplen(node, prop); - if(retval == -1) return 0; + if (retval == -1) + return 0; return 1; } EXPORT_SYMBOL(prom_getbool); @@ -152,7 +189,8 @@ int len; len = prom_getproperty(node, prop, user_buf, ubuf_size); - if(len != -1) return; + if (len != -1) + return; user_buf[0] = 0; return; } @@ -165,7 +203,8 @@ { char namebuf[128]; prom_getproperty(node, "name", namebuf, sizeof(namebuf)); - if(strcmp(namebuf, name) == 0) return 1; + if (strcmp(namebuf, name) == 0) + return 1; return 0; } @@ -191,16 +230,29 @@ } EXPORT_SYMBOL(prom_searchsiblings); +static const char *prom_nextprop_name = "nextprop"; + /* Return the first property type for node 'node'. * buffer should be at least 32B in length */ inline char *prom_firstprop(int node, char *buffer) { + unsigned long args[7]; + *buffer = 0; - if(node == -1) return buffer; - p1275_cmd ("nextprop", P1275_ARG(2,P1275_ARG_OUT_32B)| - P1275_INOUT(3, 0), - node, (char *) 0x0, buffer); + if (node == -1) + return buffer; + + args[0] = (unsigned long) prom_nextprop_name; + args[1] = 3; + args[2] = 1; + args[3] = (unsigned int) node; + args[4] = 0; + args[5] = (unsigned long) buffer; + args[6] = (unsigned long) -1; + + p1275_cmd_direct(args); + return buffer; } EXPORT_SYMBOL(prom_firstprop); @@ -211,9 +263,10 @@ */ inline char *prom_nextprop(int node, const char *oprop, char *buffer) { + unsigned long args[7]; char buf[32]; - if(node == -1) { + if (node == -1) { *buffer = 0; return buffer; } @@ -221,10 +274,17 @@ strcpy (buf, oprop); oprop = buf; } - p1275_cmd ("nextprop", P1275_ARG(1,P1275_ARG_IN_STRING)| - P1275_ARG(2,P1275_ARG_OUT_32B)| - P1275_INOUT(3, 0), - node, oprop, buffer); + + args[0] = (unsigned long) prom_nextprop_name; + args[1] = 3; + args[2] = 1; + args[3] = (unsigned int) node; + args[4] = (unsigned long) oprop; + args[5] = (unsigned long) buffer; + args[6] = (unsigned long) -1; + + p1275_cmd_direct(args); + return buffer; } EXPORT_SYMBOL(prom_nextprop); @@ -232,12 +292,19 @@ int prom_finddevice(const char *name) { + unsigned long args[5]; + if (!name) return 0; - return p1275_cmd(prom_finddev_name, - P1275_ARG(0,P1275_ARG_IN_STRING)| - P1275_INOUT(1, 1), - name); + args[0] = (unsigned long) "finddevice"; + args[1] = 1; + args[2] = 1; + args[3] = (unsigned long) name; + args[4] = (unsigned long) -1; + + p1275_cmd_direct(args); + + return (int) args[4]; } EXPORT_SYMBOL(prom_finddevice); @@ -248,7 +315,7 @@ *buf = 0; do { prom_nextprop(node, buf, buf); - if(!strcmp(buf, prop)) + if (!strcmp(buf, prop)) return 1; } while (*buf); return 0; @@ -261,6 +328,8 @@ int prom_setprop(int node, const char *pname, char *value, int size) { + unsigned long args[8]; + if (size == 0) return 0; if ((pname == 0) || (value == 0)) @@ -272,19 +341,37 @@ return 0; } #endif - return p1275_cmd ("setprop", P1275_ARG(1,P1275_ARG_IN_STRING)| - P1275_ARG(2,P1275_ARG_IN_BUF)| - P1275_INOUT(4, 1), - node, pname, value, P1275_SIZE(size)); + args[0] = (unsigned long) "setprop"; + args[1] = 4; + args[2] = 1; + args[3] = (unsigned int) node; + args[4] = (unsigned long) pname; + args[5] = (unsigned long) value; + args[6] = size; + args[7] = (unsigned long) -1; + + p1275_cmd_direct(args); + + return (int) args[7]; } EXPORT_SYMBOL(prom_setprop); inline int prom_inst2pkg(int inst) { + unsigned long args[5]; int node; - node = p1275_cmd ("instance-to-package", P1275_INOUT(1, 1), inst); - if (node == -1) return 0; + args[0] = (unsigned long) "instance-to-package"; + args[1] = 1; + args[2] = 1; + args[3] = (unsigned int) inst; + args[4] = (unsigned long) -1; + + p1275_cmd_direct(args); + + node = (int) args[4]; + if (node == -1) + return 0; return node; } @@ -297,17 +384,28 @@ int node, inst; inst = prom_devopen (path); - if (inst == 0) return 0; - node = prom_inst2pkg (inst); - prom_devclose (inst); - if (node == -1) return 0; + if (inst == 0) + return 0; + node = prom_inst2pkg(inst); + prom_devclose(inst); + if (node == -1) + return 0; return node; } int prom_ihandle2path(int handle, char *buffer, int bufsize) { - return p1275_cmd("instance-to-path", - P1275_ARG(1,P1275_ARG_OUT_BUF)| - P1275_INOUT(3, 1), - handle, buffer, P1275_SIZE(bufsize)); + unsigned long args[7]; + + args[0] = (unsigned long) "instance-to-path"; + args[1] = 3; + args[2] = 1; + args[3] = (unsigned int) handle; + args[4] = (unsigned long) buffer; + args[5] = bufsize; + args[6] = (unsigned long) -1; + + p1275_cmd_direct(args); + + return (int) args[6]; } --- linux-2.6.32.orig/arch/sparc/prom/devops_64.c +++ linux-2.6.32/arch/sparc/prom/devops_64.c @@ -18,16 +18,32 @@ int prom_devopen(const char *dstr) { - return p1275_cmd ("open", P1275_ARG(0,P1275_ARG_IN_STRING)| - P1275_INOUT(1,1), - dstr); + unsigned long args[5]; + + args[0] = (unsigned long) "open"; + args[1] = 1; + args[2] = 1; + args[3] = (unsigned long) dstr; + args[4] = (unsigned long) -1; + + p1275_cmd_direct(args); + + return (int) args[4]; } /* Close the device described by device handle 'dhandle'. */ int prom_devclose(int dhandle) { - p1275_cmd ("close", P1275_INOUT(1,0), dhandle); + unsigned long args[4]; + + args[0] = (unsigned long) "close"; + args[1] = 1; + args[2] = 0; + args[3] = (unsigned int) dhandle; + + p1275_cmd_direct(args); + return 0; } @@ -37,5 +53,15 @@ void prom_seek(int dhandle, unsigned int seekhi, unsigned int seeklo) { - p1275_cmd ("seek", P1275_INOUT(3,1), dhandle, seekhi, seeklo); + unsigned long args[7]; + + args[0] = (unsigned long) "seek"; + args[1] = 3; + args[2] = 1; + args[3] = (unsigned int) dhandle; + args[4] = seekhi; + args[5] = seeklo; + args[6] = (unsigned long) -1; + + p1275_cmd_direct(args); } --- linux-2.6.32.orig/arch/um/drivers/line.c +++ linux-2.6.32/arch/um/drivers/line.c @@ -727,6 +727,9 @@ static void free_winch(struct winch *winch, int free_irq_ok) { + if (free_irq_ok) + free_irq(WINCH_IRQ, winch); + list_del(&winch->list); if (winch->pid != -1) @@ -735,8 +738,6 @@ os_close_file(winch->fd); if (winch->stack != 0) free_stack(winch->stack, 0); - if (free_irq_ok) - free_irq(WINCH_IRQ, winch); kfree(winch); } --- linux-2.6.32.orig/arch/um/drivers/ubd_kern.c +++ linux-2.6.32/arch/um/drivers/ubd_kern.c @@ -160,6 +160,7 @@ struct scatterlist sg[MAX_SG]; struct request *request; int start_sg, end_sg; + sector_t rq_pos; }; #define DEFAULT_COW { \ @@ -184,6 +185,7 @@ .request = NULL, \ .start_sg = 0, \ .end_sg = 0, \ + .rq_pos = 0, \ } /* Protected by ubd_lock */ @@ -508,8 +510,37 @@ static inline int ubd_file_size(struct ubd *ubd_dev, __u64 *size_out) { char *file; + int fd; + int err; - file = ubd_dev->cow.file ? ubd_dev->cow.file : ubd_dev->file; + __u32 version; + __u32 align; + char *backing_file; + time_t mtime; + unsigned long long size; + int sector_size; + int bitmap_offset; + + if (ubd_dev->file && ubd_dev->cow.file) { + file = ubd_dev->cow.file; + + goto out; + } + + fd = os_open_file(ubd_dev->file, global_openflags, 0); + if (fd < 0) + return fd; + + err = read_cow_header(file_reader, &fd, &version, &backing_file, \ + &mtime, &size, §or_size, &align, &bitmap_offset); + os_close_file(fd); + + if(err == -EINVAL) + file = ubd_dev->file; + else + file = backing_file; + +out: return os_file_size(file, size_out); } @@ -1222,7 +1253,6 @@ { struct io_thread_req *io_req; struct request *req; - sector_t sector; int n; while(1){ @@ -1233,12 +1263,12 @@ return; dev->request = req; + dev->rq_pos = blk_rq_pos(req); dev->start_sg = 0; dev->end_sg = blk_rq_map_sg(q, req, dev->sg); } req = dev->request; - sector = blk_rq_pos(req); while(dev->start_sg < dev->end_sg){ struct scatterlist *sg = &dev->sg[dev->start_sg]; @@ -1250,10 +1280,9 @@ return; } prepare_request(req, io_req, - (unsigned long long)sector << 9, + (unsigned long long)dev->rq_pos << 9, sg->offset, sg->length, sg_page(sg)); - sector += sg->length >> 9; n = os_write_file(thread_fd, &io_req, sizeof(struct io_thread_req *)); if(n != sizeof(struct io_thread_req *)){ @@ -1266,6 +1295,7 @@ return; } + dev->rq_pos += sg->length >> 9; dev->start_sg++; } dev->end_sg = 0; --- linux-2.6.32.orig/arch/um/kernel/dyn.lds.S +++ linux-2.6.32/arch/um/kernel/dyn.lds.S @@ -50,8 +50,18 @@ .rela.got : { *(.rela.got) } .rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } - .rel.plt : { *(.rel.plt) } - .rela.plt : { *(.rela.plt) } + .rel.plt : { + *(.rel.plt) + PROVIDE_HIDDEN(__rel_iplt_start = .); + *(.rel.iplt) + PROVIDE_HIDDEN(__rel_iplt_end = .); + } + .rela.plt : { + *(.rela.plt) + PROVIDE_HIDDEN(__rela_iplt_start = .); + *(.rela.iplt) + PROVIDE_HIDDEN(__rela_iplt_end = .); + } .init : { KEEP (*(.init)) } =0x90909090 --- linux-2.6.32.orig/arch/um/kernel/syscall.c +++ linux-2.6.32/arch/um/kernel/syscall.c @@ -8,6 +8,7 @@ #include "linux/mm.h" #include "linux/sched.h" #include "linux/utsname.h" +#include "linux/syscalls.h" #include "asm/current.h" #include "asm/mman.h" #include "asm/uaccess.h" @@ -37,31 +38,6 @@ return ret; } -/* common code for old and new mmaps */ -long sys_mmap2(unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, unsigned long pgoff) -{ - long error = -EBADF; - struct file * file = NULL; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); - out: - return error; -} - long old_mmap(unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long fd, unsigned long offset) @@ -70,7 +46,7 @@ if (offset & ~PAGE_MASK) goto out; - err = sys_mmap2(addr, len, prot, flags, fd, offset >> PAGE_SHIFT); + err = sys_mmap_pgoff(addr, len, prot, flags, fd, offset >> PAGE_SHIFT); out: return err; } --- linux-2.6.32.orig/arch/um/kernel/uml.lds.S +++ linux-2.6.32/arch/um/kernel/uml.lds.S @@ -22,7 +22,7 @@ _text = .; _stext = .; __init_begin = .; - INIT_TEXT_SECTION(PAGE_SIZE) + INIT_TEXT_SECTION(0) . = ALIGN(PAGE_SIZE); .text : @@ -43,6 +43,23 @@ __syscall_stub_end = .; } + /* + * These are needed even in a static link, even if they wind up being empty. + * Newer glibc needs these __rel{,a}_iplt_{start,end} symbols. + */ + .rel.plt : { + *(.rel.plt) + PROVIDE_HIDDEN(__rel_iplt_start = .); + *(.rel.iplt) + PROVIDE_HIDDEN(__rel_iplt_end = .); + } + .rela.plt : { + *(.rela.plt) + PROVIDE_HIDDEN(__rela_iplt_start = .); + *(.rela.iplt) + PROVIDE_HIDDEN(__rela_iplt_end = .); + } + #include "asm/common.lds.S" init.data : { INIT_DATA } --- linux-2.6.32.orig/arch/um/os-Linux/mem.c +++ linux-2.6.32/arch/um/os-Linux/mem.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include "init.h" --- linux-2.6.32.orig/arch/um/os-Linux/time.c +++ linux-2.6.32/arch/um/os-Linux/time.c @@ -60,7 +60,7 @@ long long disable_timer(void) { struct itimerval time = ((struct itimerval) { { 0, 0 }, { 0, 0 } }); - int remain, max = UM_NSEC_PER_SEC / UM_HZ; + long long remain, max = UM_NSEC_PER_SEC / UM_HZ; if (setitimer(ITIMER_VIRTUAL, &time, &time) < 0) printk(UM_KERN_ERR "disable_timer - setitimer failed, " --- linux-2.6.32.orig/arch/um/sys-i386/shared/sysdep/syscalls.h +++ linux-2.6.32/arch/um/sys-i386/shared/sysdep/syscalls.h @@ -20,7 +20,3 @@ #define EXECUTE_SYSCALL(syscall, regs) \ ((long (*)(struct syscall_args)) \ (*sys_call_table[syscall]))(SYSCALL_ARGS(®s->regs)) - -extern long sys_mmap2(unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, unsigned long pgoff); --- linux-2.6.32.orig/arch/um/sys-x86_64/Makefile +++ linux-2.6.32/arch/um/sys-x86_64/Makefile @@ -8,7 +8,8 @@ setjmp.o signal.o stub.o stub_segv.o syscalls.o syscall_table.o \ sysrq.o ksyms.o tls.o -subarch-obj-y = lib/csum-partial_64.o lib/memcpy_64.o lib/thunk_64.o +subarch-obj-y = lib/csum-partial_64.o lib/memcpy_64.o lib/thunk_64.o \ + lib/rwsem_64.o subarch-obj-$(CONFIG_MODULES) += kernel/module.o ldt-y = ../sys-i386/ldt.o --- linux-2.6.32.orig/arch/x86/Kconfig +++ linux-2.6.32/arch/x86/Kconfig @@ -227,6 +227,11 @@ config KTIME_SCALAR def_bool X86_32 + +config ARCH_CPU_PROBE_RELEASE + def_bool y + depends on HOTPLUG_CPU + source "init/Kconfig" source "kernel/Kconfig.freezer" @@ -370,6 +375,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_ELAN bool "AMD Elan" depends on X86_32 @@ -622,7 +633,7 @@ bool "GART IOMMU support" if EMBEDDED default y select SWIOTLB - depends on X86_64 && PCI + depends on X86_64 && PCI && K8_NB ---help--- Support for full DMA access of devices with 32bit memory access only on systems with more than 3GB. This is usually needed for USB, @@ -748,6 +759,17 @@ making when dealing with multi-core CPU chips at a cost of slightly increased overhead in some places. If unsure say N here. +config IRQ_TIME_ACCOUNTING + bool "Fine granularity task level IRQ time accounting" + default n + ---help--- + Select this option to enable fine granularity task irq time + accounting. This is done by reading a timestamp on each + transitions between softirq and hardirq state, so there can be a + small performance impact. + + If in doubt, say N here. + source "kernel/Kconfig.preempt" config X86_UP_APIC @@ -827,6 +849,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" @@ -984,12 +1014,6 @@ with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to /dev/cpu/31/cpuid. -config X86_CPU_DEBUG - tristate "/sys/kernel/debug/x86/cpu/* - CPU Debug support" - ---help--- - If you select this option, this will provide various x86 CPUs - information through debugfs. - choice prompt "High Memory Support" default HIGHMEM4G if !X86_NUMAQ @@ -1242,6 +1266,11 @@ def_bool X86_64 depends on MEMORY_HOTPLUG +config ILLEGAL_POINTER_VALUE + hex + default 0 if X86_32 + default 0xdead000000000000 if X86_64 + source "mm/Kconfig" config HIGHPTE @@ -2028,7 +2057,7 @@ config K8_NB def_bool y - depends on AGP_AMD64 || (X86_64 && (GART_IOMMU || (PCI && NUMA))) + depends on CPU_SUP_AMD && PCI source "drivers/pcmcia/Kconfig" @@ -2079,6 +2108,8 @@ source "drivers/Kconfig" +source "ubuntu/Kconfig" + source "drivers/firmware/Kconfig" source "fs/Kconfig" --- linux-2.6.32.orig/arch/x86/Kconfig.cpu +++ linux-2.6.32/arch/x86/Kconfig.cpu @@ -323,7 +323,7 @@ config X86_XADD def_bool y - depends on X86_32 && !M386 + depends on X86_64 || !M386 config X86_PPRO_FENCE bool "PentiumPro memory ordering errata workaround" @@ -400,7 +400,7 @@ config X86_CMPXCHG64 def_bool y - depends on !M386 && !M486 + depends on X86_PAE || X86_64 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MATOM # this should be set for all -march=.. options where the compiler # generates cmov. --- linux-2.6.32.orig/arch/x86/Makefile_32.cpu +++ linux-2.6.32/arch/x86/Makefile_32.cpu @@ -46,6 +46,13 @@ # cpu entries cflags-$(CONFIG_X86_GENERIC) += $(call tune,generic,$(call tune,i686)) +# Work around the pentium-mmx code generator madness of gcc4.4.x which +# does stack alignment by generating horrible code _before_ the mcount +# prologue (push %ebp, mov %esp, %ebp) which breaks the function graph +# tracer assumptions. For i686, generic, core2 this is set by the +# compiler anyway +cflags-$(CONFIG_FUNCTION_GRAPH_TRACER) += $(call cc-option,-maccumulate-outgoing-args) + # Bug fix for binutils: this option is required in order to keep # binutils from generating NOPL instructions against our will. ifneq ($(CONFIG_X86_P6_NOP),y) --- linux-2.6.32.orig/arch/x86/crypto/Makefile +++ linux-2.6.32/arch/x86/crypto/Makefile @@ -12,6 +12,7 @@ obj-$(CONFIG_CRYPTO_TWOFISH_X86_64) += twofish-x86_64.o obj-$(CONFIG_CRYPTO_SALSA20_X86_64) += salsa20-x86_64.o obj-$(CONFIG_CRYPTO_AES_NI_INTEL) += aesni-intel.o +obj-$(CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL) += ghash-clmulni-intel.o obj-$(CONFIG_CRYPTO_CRC32C_INTEL) += crc32c-intel.o @@ -24,3 +25,5 @@ salsa20-x86_64-y := salsa20-x86_64-asm_64.o salsa20_glue.o aesni-intel-y := aesni-intel_asm.o aesni-intel_glue.o + +ghash-clmulni-intel-y := ghash-clmulni-intel_asm.o ghash-clmulni-intel_glue.o --- linux-2.6.32.orig/arch/x86/crypto/ghash-clmulni-intel_asm.S +++ linux-2.6.32/arch/x86/crypto/ghash-clmulni-intel_asm.S @@ -0,0 +1,157 @@ +/* + * Accelerated GHASH implementation with Intel PCLMULQDQ-NI + * instructions. This file contains accelerated part of ghash + * implementation. More information about PCLMULQDQ can be found at: + * + * http://software.intel.com/en-us/articles/carry-less-multiplication-and-its-usage-for-computing-the-gcm-mode/ + * + * Copyright (c) 2009 Intel Corp. + * Author: Huang Ying + * Vinodh Gopal + * Erdinc Ozturk + * Deniz Karakoyunlu + * + * 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 + +.align 16 +.Lbswap_mask: + .octa 0x000102030405060708090a0b0c0d0e0f +.Lpoly: + .octa 0xc2000000000000000000000000000001 +.Ltwo_one: + .octa 0x00000001000000000000000000000001 + +#define DATA %xmm0 +#define SHASH %xmm1 +#define T1 %xmm2 +#define T2 %xmm3 +#define T3 %xmm4 +#define BSWAP %xmm5 +#define IN1 %xmm6 + +.text + +/* + * __clmul_gf128mul_ble: internal ABI + * input: + * DATA: operand1 + * SHASH: operand2, hash_key << 1 mod poly + * output: + * DATA: operand1 * operand2 mod poly + * changed: + * T1 + * T2 + * T3 + */ +__clmul_gf128mul_ble: + movaps DATA, T1 + pshufd $0b01001110, DATA, T2 + pshufd $0b01001110, SHASH, T3 + pxor DATA, T2 + pxor SHASH, T3 + + # pclmulqdq $0x00, SHASH, DATA # DATA = a0 * b0 + .byte 0x66, 0x0f, 0x3a, 0x44, 0xc1, 0x00 + # pclmulqdq $0x11, SHASH, T1 # T1 = a1 * b1 + .byte 0x66, 0x0f, 0x3a, 0x44, 0xd1, 0x11 + # pclmulqdq $0x00, T3, T2 # T2 = (a1 + a0) * (b1 + b0) + .byte 0x66, 0x0f, 0x3a, 0x44, 0xdc, 0x00 + pxor DATA, T2 + pxor T1, T2 # T2 = a0 * b1 + a1 * b0 + + movaps T2, T3 + pslldq $8, T3 + psrldq $8, T2 + pxor T3, DATA + pxor T2, T1 # is result of + # carry-less multiplication + + # first phase of the reduction + movaps DATA, T3 + psllq $1, T3 + pxor DATA, T3 + psllq $5, T3 + pxor DATA, T3 + psllq $57, T3 + movaps T3, T2 + pslldq $8, T2 + psrldq $8, T3 + pxor T2, DATA + pxor T3, T1 + + # second phase of the reduction + movaps DATA, T2 + psrlq $5, T2 + pxor DATA, T2 + psrlq $1, T2 + pxor DATA, T2 + psrlq $1, T2 + pxor T2, T1 + pxor T1, DATA + ret + +/* void clmul_ghash_mul(char *dst, const be128 *shash) */ +ENTRY(clmul_ghash_mul) + movups (%rdi), DATA + movups (%rsi), SHASH + movaps .Lbswap_mask, BSWAP + pshufb BSWAP, DATA + call __clmul_gf128mul_ble + pshufb BSWAP, DATA + movups DATA, (%rdi) + ret + +/* + * void clmul_ghash_update(char *dst, const char *src, unsigned int srclen, + * const be128 *shash); + */ +ENTRY(clmul_ghash_update) + cmp $16, %rdx + jb .Lupdate_just_ret # check length + movaps .Lbswap_mask, BSWAP + movups (%rdi), DATA + movups (%rcx), SHASH + pshufb BSWAP, DATA +.align 4 +.Lupdate_loop: + movups (%rsi), IN1 + pshufb BSWAP, IN1 + pxor IN1, DATA + call __clmul_gf128mul_ble + sub $16, %rdx + add $16, %rsi + cmp $16, %rdx + jge .Lupdate_loop + pshufb BSWAP, DATA + movups DATA, (%rdi) +.Lupdate_just_ret: + ret + +/* + * void clmul_ghash_setkey(be128 *shash, const u8 *key); + * + * Calculate hash_key << 1 mod poly + */ +ENTRY(clmul_ghash_setkey) + movaps .Lbswap_mask, BSWAP + movups (%rsi), %xmm0 + pshufb BSWAP, %xmm0 + movaps %xmm0, %xmm1 + psllq $1, %xmm0 + psrlq $63, %xmm1 + movaps %xmm1, %xmm2 + pslldq $8, %xmm1 + psrldq $8, %xmm2 + por %xmm1, %xmm0 + # reduction + pshufd $0b00100100, %xmm2, %xmm1 + pcmpeqd .Ltwo_one, %xmm1 + pand .Lpoly, %xmm1 + pxor %xmm1, %xmm0 + movups %xmm0, (%rdi) + ret --- linux-2.6.32.orig/arch/x86/crypto/ghash-clmulni-intel_glue.c +++ linux-2.6.32/arch/x86/crypto/ghash-clmulni-intel_glue.c @@ -0,0 +1,333 @@ +/* + * Accelerated GHASH implementation with Intel PCLMULQDQ-NI + * instructions. This file contains glue code. + * + * Copyright (c) 2009 Intel Corp. + * Author: Huang Ying + * + * 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 + +#define GHASH_BLOCK_SIZE 16 +#define GHASH_DIGEST_SIZE 16 + +void clmul_ghash_mul(char *dst, const be128 *shash); + +void clmul_ghash_update(char *dst, const char *src, unsigned int srclen, + const be128 *shash); + +void clmul_ghash_setkey(be128 *shash, const u8 *key); + +struct ghash_async_ctx { + struct cryptd_ahash *cryptd_tfm; +}; + +struct ghash_ctx { + be128 shash; +}; + +struct ghash_desc_ctx { + u8 buffer[GHASH_BLOCK_SIZE]; + u32 bytes; +}; + +static int ghash_init(struct shash_desc *desc) +{ + struct ghash_desc_ctx *dctx = shash_desc_ctx(desc); + + memset(dctx, 0, sizeof(*dctx)); + + return 0; +} + +static int ghash_setkey(struct crypto_shash *tfm, + const u8 *key, unsigned int keylen) +{ + struct ghash_ctx *ctx = crypto_shash_ctx(tfm); + + if (keylen != GHASH_BLOCK_SIZE) { + crypto_shash_set_flags(tfm, CRYPTO_TFM_RES_BAD_KEY_LEN); + return -EINVAL; + } + + clmul_ghash_setkey(&ctx->shash, key); + + return 0; +} + +static int ghash_update(struct shash_desc *desc, + const u8 *src, unsigned int srclen) +{ + struct ghash_desc_ctx *dctx = shash_desc_ctx(desc); + struct ghash_ctx *ctx = crypto_shash_ctx(desc->tfm); + u8 *dst = dctx->buffer; + + kernel_fpu_begin(); + if (dctx->bytes) { + int n = min(srclen, dctx->bytes); + u8 *pos = dst + (GHASH_BLOCK_SIZE - dctx->bytes); + + dctx->bytes -= n; + srclen -= n; + + while (n--) + *pos++ ^= *src++; + + if (!dctx->bytes) + clmul_ghash_mul(dst, &ctx->shash); + } + + clmul_ghash_update(dst, src, srclen, &ctx->shash); + kernel_fpu_end(); + + if (srclen & 0xf) { + src += srclen - (srclen & 0xf); + srclen &= 0xf; + dctx->bytes = GHASH_BLOCK_SIZE - srclen; + while (srclen--) + *dst++ ^= *src++; + } + + return 0; +} + +static void ghash_flush(struct ghash_ctx *ctx, struct ghash_desc_ctx *dctx) +{ + u8 *dst = dctx->buffer; + + if (dctx->bytes) { + u8 *tmp = dst + (GHASH_BLOCK_SIZE - dctx->bytes); + + while (dctx->bytes--) + *tmp++ ^= 0; + + kernel_fpu_begin(); + clmul_ghash_mul(dst, &ctx->shash); + kernel_fpu_end(); + } + + dctx->bytes = 0; +} + +static int ghash_final(struct shash_desc *desc, u8 *dst) +{ + struct ghash_desc_ctx *dctx = shash_desc_ctx(desc); + struct ghash_ctx *ctx = crypto_shash_ctx(desc->tfm); + u8 *buf = dctx->buffer; + + ghash_flush(ctx, dctx); + memcpy(dst, buf, GHASH_BLOCK_SIZE); + + return 0; +} + +static struct shash_alg ghash_alg = { + .digestsize = GHASH_DIGEST_SIZE, + .init = ghash_init, + .update = ghash_update, + .final = ghash_final, + .setkey = ghash_setkey, + .descsize = sizeof(struct ghash_desc_ctx), + .base = { + .cra_name = "__ghash", + .cra_driver_name = "__ghash-pclmulqdqni", + .cra_priority = 0, + .cra_flags = CRYPTO_ALG_TYPE_SHASH, + .cra_blocksize = GHASH_BLOCK_SIZE, + .cra_ctxsize = sizeof(struct ghash_ctx), + .cra_module = THIS_MODULE, + .cra_list = LIST_HEAD_INIT(ghash_alg.base.cra_list), + }, +}; + +static int ghash_async_init(struct ahash_request *req) +{ + struct crypto_ahash *tfm = crypto_ahash_reqtfm(req); + struct ghash_async_ctx *ctx = crypto_ahash_ctx(tfm); + struct ahash_request *cryptd_req = ahash_request_ctx(req); + struct cryptd_ahash *cryptd_tfm = ctx->cryptd_tfm; + + if (irq_fpu_usable()) { + memcpy(cryptd_req, req, sizeof(*req)); + ahash_request_set_tfm(cryptd_req, &cryptd_tfm->base); + return crypto_ahash_init(cryptd_req); + } else { + struct shash_desc *desc = cryptd_shash_desc(cryptd_req); + struct crypto_shash *child = cryptd_ahash_child(cryptd_tfm); + + desc->tfm = child; + desc->flags = req->base.flags; + return crypto_shash_init(desc); + } +} + +static int ghash_async_update(struct ahash_request *req) +{ + struct ahash_request *cryptd_req = ahash_request_ctx(req); + + if (irq_fpu_usable()) { + struct crypto_ahash *tfm = crypto_ahash_reqtfm(req); + struct ghash_async_ctx *ctx = crypto_ahash_ctx(tfm); + struct cryptd_ahash *cryptd_tfm = ctx->cryptd_tfm; + + memcpy(cryptd_req, req, sizeof(*req)); + ahash_request_set_tfm(cryptd_req, &cryptd_tfm->base); + return crypto_ahash_update(cryptd_req); + } else { + struct shash_desc *desc = cryptd_shash_desc(cryptd_req); + return shash_ahash_update(req, desc); + } +} + +static int ghash_async_final(struct ahash_request *req) +{ + struct ahash_request *cryptd_req = ahash_request_ctx(req); + + if (irq_fpu_usable()) { + struct crypto_ahash *tfm = crypto_ahash_reqtfm(req); + struct ghash_async_ctx *ctx = crypto_ahash_ctx(tfm); + struct cryptd_ahash *cryptd_tfm = ctx->cryptd_tfm; + + memcpy(cryptd_req, req, sizeof(*req)); + ahash_request_set_tfm(cryptd_req, &cryptd_tfm->base); + return crypto_ahash_final(cryptd_req); + } else { + struct shash_desc *desc = cryptd_shash_desc(cryptd_req); + return crypto_shash_final(desc, req->result); + } +} + +static int ghash_async_digest(struct ahash_request *req) +{ + struct crypto_ahash *tfm = crypto_ahash_reqtfm(req); + struct ghash_async_ctx *ctx = crypto_ahash_ctx(tfm); + struct ahash_request *cryptd_req = ahash_request_ctx(req); + struct cryptd_ahash *cryptd_tfm = ctx->cryptd_tfm; + + if (irq_fpu_usable()) { + memcpy(cryptd_req, req, sizeof(*req)); + ahash_request_set_tfm(cryptd_req, &cryptd_tfm->base); + return crypto_ahash_digest(cryptd_req); + } else { + struct shash_desc *desc = cryptd_shash_desc(cryptd_req); + struct crypto_shash *child = cryptd_ahash_child(cryptd_tfm); + + desc->tfm = child; + desc->flags = req->base.flags; + return shash_ahash_digest(req, desc); + } +} + +static int ghash_async_setkey(struct crypto_ahash *tfm, const u8 *key, + unsigned int keylen) +{ + struct ghash_async_ctx *ctx = crypto_ahash_ctx(tfm); + struct crypto_ahash *child = &ctx->cryptd_tfm->base; + int err; + + crypto_ahash_clear_flags(child, CRYPTO_TFM_REQ_MASK); + crypto_ahash_set_flags(child, crypto_ahash_get_flags(tfm) + & CRYPTO_TFM_REQ_MASK); + err = crypto_ahash_setkey(child, key, keylen); + crypto_ahash_set_flags(tfm, crypto_ahash_get_flags(child) + & CRYPTO_TFM_RES_MASK); + + return 0; +} + +static int ghash_async_init_tfm(struct crypto_tfm *tfm) +{ + struct cryptd_ahash *cryptd_tfm; + struct ghash_async_ctx *ctx = crypto_tfm_ctx(tfm); + + cryptd_tfm = cryptd_alloc_ahash("__ghash-pclmulqdqni", 0, 0); + if (IS_ERR(cryptd_tfm)) + return PTR_ERR(cryptd_tfm); + ctx->cryptd_tfm = cryptd_tfm; + crypto_ahash_set_reqsize(__crypto_ahash_cast(tfm), + sizeof(struct ahash_request) + + crypto_ahash_reqsize(&cryptd_tfm->base)); + + return 0; +} + +static void ghash_async_exit_tfm(struct crypto_tfm *tfm) +{ + struct ghash_async_ctx *ctx = crypto_tfm_ctx(tfm); + + cryptd_free_ahash(ctx->cryptd_tfm); +} + +static struct ahash_alg ghash_async_alg = { + .init = ghash_async_init, + .update = ghash_async_update, + .final = ghash_async_final, + .setkey = ghash_async_setkey, + .digest = ghash_async_digest, + .halg = { + .digestsize = GHASH_DIGEST_SIZE, + .base = { + .cra_name = "ghash", + .cra_driver_name = "ghash-clmulni", + .cra_priority = 400, + .cra_flags = CRYPTO_ALG_TYPE_AHASH | CRYPTO_ALG_ASYNC, + .cra_blocksize = GHASH_BLOCK_SIZE, + .cra_type = &crypto_ahash_type, + .cra_module = THIS_MODULE, + .cra_list = LIST_HEAD_INIT(ghash_async_alg.halg.base.cra_list), + .cra_init = ghash_async_init_tfm, + .cra_exit = ghash_async_exit_tfm, + }, + }, +}; + +static int __init ghash_pclmulqdqni_mod_init(void) +{ + int err; + + if (!cpu_has_pclmulqdq) { + printk(KERN_INFO "Intel PCLMULQDQ-NI instructions are not" + " detected.\n"); + return -ENODEV; + } + + err = crypto_register_shash(&ghash_alg); + if (err) + goto err_out; + err = crypto_register_ahash(&ghash_async_alg); + if (err) + goto err_shash; + + return 0; + +err_shash: + crypto_unregister_shash(&ghash_alg); +err_out: + return err; +} + +static void __exit ghash_pclmulqdqni_mod_exit(void) +{ + crypto_unregister_ahash(&ghash_async_alg); + crypto_unregister_shash(&ghash_alg); +} + +module_init(ghash_pclmulqdqni_mod_init); +module_exit(ghash_pclmulqdqni_mod_exit); + +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("GHASH Message Digest Algorithm, " + "acclerated by PCLMULQDQ-NI"); +MODULE_ALIAS("ghash"); --- linux-2.6.32.orig/arch/x86/ia32/ia32_aout.c +++ linux-2.6.32/arch/x86/ia32/ia32_aout.c @@ -308,14 +308,15 @@ if (retval) return retval; - regs->cs = __USER32_CS; - regs->r8 = regs->r9 = regs->r10 = regs->r11 = regs->r12 = - regs->r13 = regs->r14 = regs->r15 = 0; - /* OK, This is the point of no return */ set_personality(PER_LINUX); set_thread_flag(TIF_IA32); - clear_thread_flag(TIF_ABI_PENDING); + + setup_new_exec(bprm); + + regs->cs = __USER32_CS; + regs->r8 = regs->r9 = regs->r10 = regs->r11 = regs->r12 = + regs->r13 = regs->r14 = regs->r15 = 0; current->mm->end_code = ex.a_text + (current->mm->start_code = N_TXTADDR(ex)); @@ -326,7 +327,6 @@ current->mm->free_area_cache = TASK_UNMAPPED_BASE; current->mm->cached_hole_size = 0; - current->mm->mmap = NULL; install_exec_creds(bprm); current->flags &= ~PF_FORKNOEXEC; --- linux-2.6.32.orig/arch/x86/ia32/ia32entry.S +++ linux-2.6.32/arch/x86/ia32/ia32entry.S @@ -50,7 +50,12 @@ /* * Reload arg registers from stack in case ptrace changed them. * We don't reload %eax because syscall_trace_enter() returned - * the value it wants us to use in the table lookup. + * the %rax value we should see. Instead, we just truncate that + * value to 32 bits again as we did on entry from user mode. + * If it's a new value set by user_regset during entry tracing, + * this matches the normal truncation of the user-mode value. + * If it's -1 to make us punt the syscall, then (u32)-1 is still + * an appropriately invalid value. */ .macro LOAD_ARGS32 offset, _r9=0 .if \_r9 @@ -60,6 +65,7 @@ movl \offset+48(%rsp),%edx movl \offset+56(%rsp),%esi movl \offset+64(%rsp),%edi + movl %eax,%eax /* zero extension */ .endm .macro CFI_STARTPROC32 simple @@ -153,7 +159,7 @@ testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%r10) CFI_REMEMBER_STATE jnz sysenter_tracesys - cmpl $(IA32_NR_syscalls-1),%eax + cmpq $(IA32_NR_syscalls-1),%rax ja ia32_badsys sysenter_do_call: IA32_ARG_FIXUP @@ -195,7 +201,7 @@ movl $AUDIT_ARCH_I386,%edi /* 1st arg: audit arch */ call audit_syscall_entry movl RAX-ARGOFFSET(%rsp),%eax /* reload syscall number */ - cmpl $(IA32_NR_syscalls-1),%eax + cmpq $(IA32_NR_syscalls-1),%rax ja ia32_badsys movl %ebx,%edi /* reload 1st syscall arg */ movl RCX-ARGOFFSET(%rsp),%esi /* reload 2nd syscall arg */ @@ -248,7 +254,7 @@ call syscall_trace_enter LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace changed it */ RESTORE_REST - cmpl $(IA32_NR_syscalls-1),%eax + cmpq $(IA32_NR_syscalls-1),%rax ja int_ret_from_sys_call /* sysenter_tracesys has set RAX(%rsp) */ jmp sysenter_do_call CFI_ENDPROC @@ -314,7 +320,7 @@ testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%r10) CFI_REMEMBER_STATE jnz cstar_tracesys - cmpl $IA32_NR_syscalls-1,%eax + cmpq $IA32_NR_syscalls-1,%rax ja ia32_badsys cstar_do_call: IA32_ARG_FIXUP 1 @@ -367,7 +373,7 @@ LOAD_ARGS32 ARGOFFSET, 1 /* reload args from stack in case ptrace changed it */ RESTORE_REST xchgl %ebp,%r9d - cmpl $(IA32_NR_syscalls-1),%eax + cmpq $(IA32_NR_syscalls-1),%rax ja int_ret_from_sys_call /* cstar_tracesys has set RAX(%rsp) */ jmp cstar_do_call END(ia32_cstar_target) @@ -425,7 +431,7 @@ orl $TS_COMPAT,TI_status(%r10) testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%r10) jnz ia32_tracesys - cmpl $(IA32_NR_syscalls-1),%eax + cmpq $(IA32_NR_syscalls-1),%rax ja ia32_badsys ia32_do_call: IA32_ARG_FIXUP @@ -444,7 +450,7 @@ call syscall_trace_enter LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace changed it */ RESTORE_REST - cmpl $(IA32_NR_syscalls-1),%eax + cmpq $(IA32_NR_syscalls-1),%rax ja int_ret_from_sys_call /* ia32_tracesys has set RAX(%rsp) */ jmp ia32_do_call END(ia32_syscall) @@ -696,7 +702,7 @@ .quad quiet_ni_syscall /* streams2 */ .quad stub32_vfork /* 190 */ .quad compat_sys_getrlimit - .quad sys32_mmap2 + .quad sys_mmap_pgoff .quad sys32_truncate64 .quad sys32_ftruncate64 .quad sys32_stat64 /* 195 */ --- linux-2.6.32.orig/arch/x86/ia32/sys_ia32.c +++ linux-2.6.32/arch/x86/ia32/sys_ia32.c @@ -155,9 +155,6 @@ asmlinkage long sys32_mmap(struct mmap_arg_struct __user *arg) { struct mmap_arg_struct a; - struct file *file = NULL; - unsigned long retval; - struct mm_struct *mm ; if (copy_from_user(&a, arg, sizeof(a))) return -EFAULT; @@ -165,22 +162,8 @@ if (a.offset & ~PAGE_MASK) return -EINVAL; - if (!(a.flags & MAP_ANONYMOUS)) { - file = fget(a.fd); - if (!file) - return -EBADF; - } - - mm = current->mm; - down_write(&mm->mmap_sem); - retval = do_mmap_pgoff(file, a.addr, a.len, a.prot, a.flags, + return sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, a.offset>>PAGE_SHIFT); - if (file) - fput(file); - - up_write(&mm->mmap_sem); - - return retval; } asmlinkage long sys32_mprotect(unsigned long start, size_t len, @@ -539,30 +522,6 @@ return ret; } -asmlinkage long sys32_mmap2(unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, unsigned long pgoff) -{ - struct mm_struct *mm = current->mm; - unsigned long error; - struct file *file = NULL; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - return -EBADF; - } - - down_write(&mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(&mm->mmap_sem); - - if (file) - fput(file); - return error; -} - asmlinkage long sys32_olduname(struct oldold_utsname __user *name) { char *arch = "x86_64"; --- linux-2.6.32.orig/arch/x86/include/asm/acpi.h +++ linux-2.6.32/arch/x86/include/asm/acpi.h @@ -89,6 +89,7 @@ extern int acpi_pci_disabled; extern int acpi_skip_timer_override; extern int acpi_use_timer_override; +extern int acpi_fix_pin2_polarity; extern u8 acpi_sci_flags; extern int acpi_sci_override_gsi; --- linux-2.6.32.orig/arch/x86/include/asm/amd_iommu.h +++ linux-2.6.32/arch/x86/include/asm/amd_iommu.h @@ -32,6 +32,7 @@ extern void amd_iommu_flush_all_devices(void); extern void amd_iommu_shutdown(void); extern void amd_iommu_apply_erratum_63(u16 devid); +extern void amd_iommu_init_api(void); #else static inline int amd_iommu_init(void) { return -ENODEV; } static inline void amd_iommu_detect(void) { } --- linux-2.6.32.orig/arch/x86/include/asm/amd_iommu_types.h +++ linux-2.6.32/arch/x86/include/asm/amd_iommu_types.h @@ -305,6 +305,9 @@ /* capabilities of that IOMMU read from ACPI */ u32 cap; + /* flags read from acpi table */ + u8 acpi_flags; + /* * Capability pointer. There could be more than one IOMMU per PCI * device function if there are more than one AMD IOMMU capability @@ -348,6 +351,15 @@ /* default dma_ops domain for that IOMMU */ struct dma_ops_domain *default_dom; + + /* + * This array is required to work around a potential BIOS bug. + * The BIOS may miss to restore parts of the PCI configuration + * space when the system resumes from S3. The result is that the + * IOMMU does not execute commands anymore which leads to system + * failure. + */ + u32 cache_cfg[4]; }; /* @@ -469,4 +481,10 @@ /* some function prototypes */ extern void amd_iommu_reset_cmd_buffer(struct amd_iommu *iommu); +static inline bool is_rd890_iommu(struct pci_dev *pdev) +{ + return (pdev->vendor == PCI_VENDOR_ID_ATI) && + (pdev->device == PCI_DEVICE_ID_RD890_IOMMU); +} + #endif /* _ASM_X86_AMD_IOMMU_TYPES_H */ --- linux-2.6.32.orig/arch/x86/include/asm/apicdef.h +++ linux-2.6.32/arch/x86/include/asm/apicdef.h @@ -72,6 +72,7 @@ #define APIC_DEST_LOGICAL 0x00800 #define APIC_DEST_PHYSICAL 0x00000 #define APIC_DM_FIXED 0x00000 +#define APIC_DM_FIXED_MASK 0x00700 #define APIC_DM_LOWEST 0x00100 #define APIC_DM_SMI 0x00200 #define APIC_DM_REMRD 0x00300 --- linux-2.6.32.orig/arch/x86/include/asm/cmpxchg_32.h +++ linux-2.6.32/arch/x86/include/asm/cmpxchg_32.h @@ -17,60 +17,33 @@ #define __xg(x) ((struct __xchg_dummy *)(x)) /* - * The semantics of XCHGCMP8B are a bit strange, this is why - * there is a loop and the loading of %%eax and %%edx has to - * be inside. This inlines well in most cases, the cached - * cost is around ~38 cycles. (in the future we might want - * to do an SIMD/3DNOW!/MMX/FPU 64-bit store here, but that - * might have an implicit FPU-save as a cost, so it's not - * clear which path to go.) + * CMPXCHG8B only writes to the target if we had the previous + * value in registers, otherwise it acts as a read and gives us the + * "new previous" value. That is why there is a loop. Preloading + * EDX:EAX is a performance optimization: in the common case it means + * we need only one locked operation. * - * cmpxchg8b must be used with the lock prefix here to allow - * the instruction to be executed atomically, see page 3-102 - * of the instruction set reference 24319102.pdf. We need - * the reader side to see the coherent 64bit value. + * A SIMD/3DNOW!/MMX/FPU 64-bit store here would require at the very + * least an FPU save and/or %cr0.ts manipulation. + * + * cmpxchg8b must be used with the lock prefix here to allow the + * instruction to be executed atomically. We need to have the reader + * side to see the coherent 64bit value. */ -static inline void __set_64bit(unsigned long long *ptr, - unsigned int low, unsigned int high) +static inline void set_64bit(volatile u64 *ptr, u64 value) { + u32 low = value; + u32 high = value >> 32; + u64 prev = *ptr; + asm volatile("\n1:\t" - "movl (%0), %%eax\n\t" - "movl 4(%0), %%edx\n\t" - LOCK_PREFIX "cmpxchg8b (%0)\n\t" + LOCK_PREFIX "cmpxchg8b %0\n\t" "jnz 1b" - : /* no outputs */ - : "D"(ptr), - "b"(low), - "c"(high) - : "ax", "dx", "memory"); -} - -static inline void __set_64bit_constant(unsigned long long *ptr, - unsigned long long value) -{ - __set_64bit(ptr, (unsigned int)value, (unsigned int)(value >> 32)); -} - -#define ll_low(x) *(((unsigned int *)&(x)) + 0) -#define ll_high(x) *(((unsigned int *)&(x)) + 1) - -static inline void __set_64bit_var(unsigned long long *ptr, - unsigned long long value) -{ - __set_64bit(ptr, ll_low(value), ll_high(value)); + : "=m" (*ptr), "+A" (prev) + : "b" (low), "c" (high) + : "memory"); } -#define set_64bit(ptr, value) \ - (__builtin_constant_p((value)) \ - ? __set_64bit_constant((ptr), (value)) \ - : __set_64bit_var((ptr), (value))) - -#define _set_64bit(ptr, value) \ - (__builtin_constant_p(value) \ - ? __set_64bit(ptr, (unsigned int)(value), \ - (unsigned int)((value) >> 32)) \ - : __set_64bit(ptr, ll_low((value)), ll_high((value)))) - /* * Note: no "lock" prefix even on SMP: xchg always implies lock anyway * Note 2: xchg has side effect, so that attribute volatile is necessary, @@ -82,20 +55,20 @@ switch (size) { case 1: asm volatile("xchgb %b0,%1" - : "=q" (x) - : "m" (*__xg(ptr)), "0" (x) + : "=q" (x), "+m" (*__xg(ptr)) + : "0" (x) : "memory"); break; case 2: asm volatile("xchgw %w0,%1" - : "=r" (x) - : "m" (*__xg(ptr)), "0" (x) + : "=r" (x), "+m" (*__xg(ptr)) + : "0" (x) : "memory"); break; case 4: asm volatile("xchgl %0,%1" - : "=r" (x) - : "m" (*__xg(ptr)), "0" (x) + : "=r" (x), "+m" (*__xg(ptr)) + : "0" (x) : "memory"); break; } @@ -139,21 +112,21 @@ unsigned long prev; switch (size) { case 1: - asm volatile(LOCK_PREFIX "cmpxchgb %b1,%2" - : "=a"(prev) - : "q"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile(LOCK_PREFIX "cmpxchgb %b2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "q"(new), "0"(old) : "memory"); return prev; case 2: - asm volatile(LOCK_PREFIX "cmpxchgw %w1,%2" - : "=a"(prev) - : "r"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile(LOCK_PREFIX "cmpxchgw %w2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "r"(new), "0"(old) : "memory"); return prev; case 4: - asm volatile(LOCK_PREFIX "cmpxchgl %1,%2" - : "=a"(prev) - : "r"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile(LOCK_PREFIX "cmpxchgl %2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "r"(new), "0"(old) : "memory"); return prev; } @@ -172,21 +145,21 @@ unsigned long prev; switch (size) { case 1: - asm volatile("lock; cmpxchgb %b1,%2" - : "=a"(prev) - : "q"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile("lock; cmpxchgb %b2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "q"(new), "0"(old) : "memory"); return prev; case 2: - asm volatile("lock; cmpxchgw %w1,%2" - : "=a"(prev) - : "r"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile("lock; cmpxchgw %w2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "r"(new), "0"(old) : "memory"); return prev; case 4: - asm volatile("lock; cmpxchgl %1,%2" - : "=a"(prev) - : "r"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile("lock; cmpxchgl %2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "r"(new), "0"(old) : "memory"); return prev; } @@ -200,21 +173,21 @@ unsigned long prev; switch (size) { case 1: - asm volatile("cmpxchgb %b1,%2" - : "=a"(prev) - : "q"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile("cmpxchgb %b2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "q"(new), "0"(old) : "memory"); return prev; case 2: - asm volatile("cmpxchgw %w1,%2" - : "=a"(prev) - : "r"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile("cmpxchgw %w2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "r"(new), "0"(old) : "memory"); return prev; case 4: - asm volatile("cmpxchgl %1,%2" - : "=a"(prev) - : "r"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile("cmpxchgl %2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "r"(new), "0"(old) : "memory"); return prev; } @@ -226,11 +199,10 @@ unsigned long long new) { unsigned long long prev; - asm volatile(LOCK_PREFIX "cmpxchg8b %3" - : "=A"(prev) + asm volatile(LOCK_PREFIX "cmpxchg8b %1" + : "=A"(prev), "+m" (*__xg(ptr)) : "b"((unsigned long)new), "c"((unsigned long)(new >> 32)), - "m"(*__xg(ptr)), "0"(old) : "memory"); return prev; @@ -241,11 +213,10 @@ unsigned long long new) { unsigned long long prev; - asm volatile("cmpxchg8b %3" - : "=A"(prev) + asm volatile("cmpxchg8b %1" + : "=A"(prev), "+m"(*__xg(ptr)) : "b"((unsigned long)new), "c"((unsigned long)(new >> 32)), - "m"(*__xg(ptr)), "0"(old) : "memory"); return prev; --- linux-2.6.32.orig/arch/x86/include/asm/cmpxchg_64.h +++ linux-2.6.32/arch/x86/include/asm/cmpxchg_64.h @@ -8,13 +8,11 @@ #define __xg(x) ((volatile long *)(x)) -static inline void set_64bit(volatile unsigned long *ptr, unsigned long val) +static inline void set_64bit(volatile u64 *ptr, u64 val) { *ptr = val; } -#define _set_64bit set_64bit - /* * Note: no "lock" prefix even on SMP: xchg always implies lock anyway * Note 2: xchg has side effect, so that attribute volatile is necessary, @@ -26,26 +24,26 @@ switch (size) { case 1: asm volatile("xchgb %b0,%1" - : "=q" (x) - : "m" (*__xg(ptr)), "0" (x) + : "=q" (x), "+m" (*__xg(ptr)) + : "0" (x) : "memory"); break; case 2: asm volatile("xchgw %w0,%1" - : "=r" (x) - : "m" (*__xg(ptr)), "0" (x) + : "=r" (x), "+m" (*__xg(ptr)) + : "0" (x) : "memory"); break; case 4: asm volatile("xchgl %k0,%1" - : "=r" (x) - : "m" (*__xg(ptr)), "0" (x) + : "=r" (x), "+m" (*__xg(ptr)) + : "0" (x) : "memory"); break; case 8: asm volatile("xchgq %0,%1" - : "=r" (x) - : "m" (*__xg(ptr)), "0" (x) + : "=r" (x), "+m" (*__xg(ptr)) + : "0" (x) : "memory"); break; } @@ -66,27 +64,27 @@ unsigned long prev; switch (size) { case 1: - asm volatile(LOCK_PREFIX "cmpxchgb %b1,%2" - : "=a"(prev) - : "q"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile(LOCK_PREFIX "cmpxchgb %b2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "q"(new), "0"(old) : "memory"); return prev; case 2: - asm volatile(LOCK_PREFIX "cmpxchgw %w1,%2" - : "=a"(prev) - : "r"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile(LOCK_PREFIX "cmpxchgw %w2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "r"(new), "0"(old) : "memory"); return prev; case 4: - asm volatile(LOCK_PREFIX "cmpxchgl %k1,%2" - : "=a"(prev) - : "r"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile(LOCK_PREFIX "cmpxchgl %k2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "r"(new), "0"(old) : "memory"); return prev; case 8: - asm volatile(LOCK_PREFIX "cmpxchgq %1,%2" - : "=a"(prev) - : "r"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile(LOCK_PREFIX "cmpxchgq %2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "r"(new), "0"(old) : "memory"); return prev; } @@ -105,21 +103,27 @@ unsigned long prev; switch (size) { case 1: - asm volatile("lock; cmpxchgb %b1,%2" - : "=a"(prev) - : "q"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile("lock; cmpxchgb %b2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "q"(new), "0"(old) : "memory"); return prev; case 2: - asm volatile("lock; cmpxchgw %w1,%2" - : "=a"(prev) - : "r"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile("lock; cmpxchgw %w2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "r"(new), "0"(old) : "memory"); return prev; case 4: - asm volatile("lock; cmpxchgl %1,%2" - : "=a"(prev) - : "r"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile("lock; cmpxchgl %k2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "r"(new), "0"(old) + : "memory"); + return prev; + case 8: + asm volatile("lock; cmpxchgq %2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "r"(new), "0"(old) : "memory"); return prev; } @@ -133,27 +137,27 @@ unsigned long prev; switch (size) { case 1: - asm volatile("cmpxchgb %b1,%2" - : "=a"(prev) - : "q"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile("cmpxchgb %b2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "q"(new), "0"(old) : "memory"); return prev; case 2: - asm volatile("cmpxchgw %w1,%2" - : "=a"(prev) - : "r"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile("cmpxchgw %w2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "r"(new), "0"(old) : "memory"); return prev; case 4: - asm volatile("cmpxchgl %k1,%2" - : "=a"(prev) - : "r"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile("cmpxchgl %k2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "r"(new), "0"(old) : "memory"); return prev; case 8: - asm volatile("cmpxchgq %1,%2" - : "=a"(prev) - : "r"(new), "m"(*__xg(ptr)), "0"(old) + asm volatile("cmpxchgq %2,%1" + : "=a"(prev), "+m"(*__xg(ptr)) + : "r"(new), "0"(old) : "memory"); return prev; } --- linux-2.6.32.orig/arch/x86/include/asm/compat.h +++ linux-2.6.32/arch/x86/include/asm/compat.h @@ -204,7 +204,7 @@ return (u32)(unsigned long)uptr; } -static inline void __user *compat_alloc_user_space(long len) +static inline void __user *arch_compat_alloc_user_space(long len) { struct pt_regs *regs = task_pt_regs(current); return (void __user *)regs->sp - len; --- linux-2.6.32.orig/arch/x86/include/asm/cpufeature.h +++ linux-2.6.32/arch/x86/include/asm/cpufeature.h @@ -150,9 +150,10 @@ #define X86_FEATURE_3DNOWPREFETCH (6*32+ 8) /* 3DNow prefetch instructions */ #define X86_FEATURE_OSVW (6*32+ 9) /* OS Visible Workaround */ #define X86_FEATURE_IBS (6*32+10) /* Instruction Based Sampling */ -#define X86_FEATURE_SSE5 (6*32+11) /* SSE-5 */ +#define X86_FEATURE_XOP (6*32+11) /* extended AVX instructions */ #define X86_FEATURE_SKINIT (6*32+12) /* SKINIT/STGI instructions */ #define X86_FEATURE_WDT (6*32+13) /* Watchdog timer */ +#define X86_FEATURE_NODEID_MSR (6*32+19) /* NodeId MSR */ /* * Auxiliary flags: Linux defined - For features scattered in various @@ -248,6 +249,7 @@ #define cpu_has_x2apic boot_cpu_has(X86_FEATURE_X2APIC) #define cpu_has_xsave boot_cpu_has(X86_FEATURE_XSAVE) #define cpu_has_hypervisor boot_cpu_has(X86_FEATURE_HYPERVISOR) +#define cpu_has_pclmulqdq boot_cpu_has(X86_FEATURE_PCLMULQDQ) #if defined(CONFIG_X86_INVLPG) || defined(CONFIG_X86_64) # define cpu_has_invlpg 1 --- linux-2.6.32.orig/arch/x86/include/asm/desc.h +++ linux-2.6.32/arch/x86/include/asm/desc.h @@ -5,6 +5,7 @@ #include #include #include +#include static inline void fill_ldt(struct desc_struct *desc, const struct user_desc *info) @@ -93,6 +94,9 @@ #define load_TLS(t, cpu) native_load_tls(t, cpu) #define set_ldt native_set_ldt +#ifdef CONFIG_X86_32 +#define load_user_cs_desc native_load_user_cs_desc +#endif /*CONFIG_X86_32*/ #define write_ldt_entry(dt, entry, desc) \ native_write_ldt_entry(dt, entry, desc) @@ -392,4 +396,25 @@ _set_gate(n, GATE_INTERRUPT, addr, 0x3, ist, __KERNEL_CS); } +#ifdef CONFIG_X86_32 +static inline void set_user_cs(struct desc_struct *desc, unsigned long limit) +{ + limit = (limit - 1) / PAGE_SIZE; + desc->a = limit & 0xffff; + desc->b = (limit & 0xf0000) | 0x00c0fb00; +} + +static inline void native_load_user_cs_desc(int cpu, struct mm_struct *mm) +{ + get_cpu_gdt_table(cpu)[GDT_ENTRY_DEFAULT_USER_CS] = (mm)->context.user_cs; +} + +#define arch_add_exec_range arch_add_exec_range +#define arch_remove_exec_range arch_remove_exec_range +#define arch_flush_exec_range arch_flush_exec_range +extern void arch_add_exec_range(struct mm_struct *mm, unsigned long limit); +extern void arch_remove_exec_range(struct mm_struct *mm, unsigned long limit); +extern void arch_flush_exec_range(struct mm_struct *mm); +#endif /* CONFIG_X86_32 */ + #endif /* _ASM_X86_DESC_H */ --- linux-2.6.32.orig/arch/x86/include/asm/dma-mapping.h +++ linux-2.6.32/arch/x86/include/asm/dma-mapping.h @@ -151,8 +151,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-2.6.32.orig/arch/x86/include/asm/io.h +++ linux-2.6.32/arch/x86/include/asm/io.h @@ -172,6 +172,7 @@ extern void iounmap(volatile void __iomem *addr); +extern void set_iounmap_nonlazy(void); #ifdef CONFIG_X86_32 # include "io_32.h" --- linux-2.6.32.orig/arch/x86/include/asm/elf.h +++ linux-2.6.32/arch/x86/include/asm/elf.h @@ -197,14 +197,8 @@ set_fs(USER_DS); \ } while (0) -#define COMPAT_SET_PERSONALITY(ex) \ -do { \ - if (test_thread_flag(TIF_IA32)) \ - clear_thread_flag(TIF_ABI_PENDING); \ - else \ - set_thread_flag(TIF_ABI_PENDING); \ - current->personality |= force_personality32; \ -} while (0) +void set_personality_ia32(void); +#define COMPAT_SET_PERSONALITY(ex) set_personality_ia32() #define COMPAT_ELF_PLATFORM ("i686") --- linux-2.6.32.orig/arch/x86/include/asm/fixmap.h +++ linux-2.6.32/arch/x86/include/asm/fixmap.h @@ -82,6 +82,9 @@ #endif FIX_DBGP_BASE, FIX_EARLYCON_MEM_BASE, +#ifdef CONFIG_PROVIDE_OHCI1394_DMA_INIT + FIX_OHCI1394_BASE, +#endif #ifdef CONFIG_X86_LOCAL_APIC FIX_APIC_BASE, /* local (CPU) APIC) -- required for SMP or not */ #endif @@ -126,9 +129,6 @@ FIX_BTMAP_END = __end_of_permanent_fixed_addresses + 256 - (__end_of_permanent_fixed_addresses & 255), FIX_BTMAP_BEGIN = FIX_BTMAP_END + NR_FIX_BTMAPS*FIX_BTMAPS_SLOTS - 1, -#ifdef CONFIG_PROVIDE_OHCI1394_DMA_INIT - FIX_OHCI1394_BASE, -#endif #ifdef CONFIG_X86_32 FIX_WP_TEST, #endif --- linux-2.6.32.orig/arch/x86/include/asm/hpet.h +++ linux-2.6.32/arch/x86/include/asm/hpet.h @@ -66,6 +66,7 @@ extern unsigned long hpet_address; extern unsigned long force_hpet_address; extern int hpet_force_user; +extern u8 hpet_msi_disable; extern int is_hpet_enabled(void); extern int hpet_enable(void); extern void hpet_disable(void); --- linux-2.6.32.orig/arch/x86/include/asm/io_apic.h +++ linux-2.6.32/arch/x86/include/asm/io_apic.h @@ -160,6 +160,7 @@ struct io_apic_irq_attr; extern int io_apic_set_pci_routing(struct device *dev, int irq, struct io_apic_irq_attr *irq_attr); +void setup_IO_APIC_irq_extra(u32 gsi); extern int (*ioapic_renumber_irq)(int ioapic, int irq); extern void ioapic_init_mappings(void); extern void ioapic_insert_resources(void); --- linux-2.6.32.orig/arch/x86/include/asm/irq_vectors.h +++ linux-2.6.32/arch/x86/include/asm/irq_vectors.h @@ -113,7 +113,7 @@ */ #define LOCAL_PENDING_VECTOR 0xec -#define UV_BAU_MESSAGE 0xec +#define UV_BAU_MESSAGE 0xea /* * Self IPI vector for machine checks --- linux-2.6.32.orig/arch/x86/include/asm/k8.h +++ linux-2.6.32/arch/x86/include/asm/k8.h @@ -13,11 +13,16 @@ extern int k8_scan_nodes(unsigned long start, unsigned long end); #ifdef CONFIG_K8_NB +extern int num_k8_northbridges; + static inline struct pci_dev *node_to_k8_nb_misc(int node) { return (node < num_k8_northbridges) ? k8_northbridges[node] : NULL; } + #else +#define num_k8_northbridges 0 + static inline struct pci_dev *node_to_k8_nb_misc(int node) { return NULL; --- linux-2.6.32.orig/arch/x86/include/asm/mce.h +++ linux-2.6.32/arch/x86/include/asm/mce.h @@ -67,6 +67,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 */ }; /* @@ -214,5 +216,11 @@ void mce_log_therm_throt_event(__u64 status); +#ifdef CONFIG_X86_THERMAL_VECTOR +extern void mcheck_intel_therm_init(void); +#else +static inline void mcheck_intel_therm_init(void) { } +#endif + #endif /* __KERNEL__ */ #endif /* _ASM_X86_MCE_H */ --- linux-2.6.32.orig/arch/x86/include/asm/kvm_host.h +++ linux-2.6.32/arch/x86/include/asm/kvm_host.h @@ -193,6 +193,7 @@ unsigned invalid:1; unsigned cr4_pge:1; unsigned nxe:1; + unsigned cr0_wp:1; }; }; @@ -256,7 +257,8 @@ void (*new_cr3)(struct kvm_vcpu *vcpu); int (*page_fault)(struct kvm_vcpu *vcpu, gva_t gva, u32 err); void (*free)(struct kvm_vcpu *vcpu); - gpa_t (*gva_to_gpa)(struct kvm_vcpu *vcpu, gva_t gva); + gpa_t (*gva_to_gpa)(struct kvm_vcpu *vcpu, gva_t gva, u32 access, + u32 *error); void (*prefetch_page)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *page); int (*sync_page)(struct kvm_vcpu *vcpu, @@ -355,6 +357,9 @@ struct page *time_page; bool singlestep; /* guest is single stepped by KVM */ + u64 last_guest_tsc; + u64 last_kernel_ns; + bool nmi_pending; bool nmi_injected; @@ -412,6 +417,7 @@ unsigned long irq_sources_bitmap; unsigned long irq_states[KVM_IOAPIC_NUM_PINS]; u64 vm_init_tsc; + s64 kvmclock_offset; }; struct kvm_vm_stat { @@ -600,8 +606,7 @@ unsigned long value); void kvm_get_segment(struct kvm_vcpu *vcpu, struct kvm_segment *var, int seg); -int kvm_load_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, - int type_bits, int seg); +int kvm_load_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, int seg); int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int reason); @@ -644,6 +649,10 @@ int kvm_mmu_load(struct kvm_vcpu *vcpu); void kvm_mmu_unload(struct kvm_vcpu *vcpu); void kvm_mmu_sync_roots(struct kvm_vcpu *vcpu); +gpa_t kvm_mmu_gva_to_gpa_read(struct kvm_vcpu *vcpu, gva_t gva, u32 *error); +gpa_t kvm_mmu_gva_to_gpa_fetch(struct kvm_vcpu *vcpu, gva_t gva, u32 *error); +gpa_t kvm_mmu_gva_to_gpa_write(struct kvm_vcpu *vcpu, gva_t gva, u32 *error); +gpa_t kvm_mmu_gva_to_gpa_system(struct kvm_vcpu *vcpu, gva_t gva, u32 *error); int kvm_emulate_hypercall(struct kvm_vcpu *vcpu); @@ -657,6 +666,7 @@ int load_pdptrs(struct kvm_vcpu *vcpu, unsigned long cr3); int complete_pio(struct kvm_vcpu *vcpu); +bool kvm_check_iopl(struct kvm_vcpu *vcpu); struct kvm_memory_slot *gfn_to_memslot_unaliased(struct kvm *kvm, gfn_t gfn); @@ -667,20 +677,6 @@ return (struct kvm_mmu_page *)page_private(page); } -static inline u16 kvm_read_fs(void) -{ - u16 seg; - asm("mov %%fs, %0" : "=g"(seg)); - return seg; -} - -static inline u16 kvm_read_gs(void) -{ - u16 seg; - asm("mov %%gs, %0" : "=g"(seg)); - return seg; -} - static inline u16 kvm_read_ldt(void) { u16 ldt; @@ -688,16 +684,6 @@ return ldt; } -static inline void kvm_load_fs(u16 sel) -{ - asm("mov %0, %%fs" : : "rm"(sel)); -} - -static inline void kvm_load_gs(u16 sel) -{ - asm("mov %0, %%gs" : : "rm"(sel)); -} - static inline void kvm_load_ldt(u16 sel) { asm("lldt %0" : : "rm"(sel)); --- linux-2.6.32.orig/arch/x86/include/asm/mmu.h +++ linux-2.6.32/arch/x86/include/asm/mmu.h @@ -7,12 +7,19 @@ /* * The x86 doesn't have a mmu context, but * we put the segment information here. + * + * exec_limit is used to track the range PROT_EXEC + * mappings span. */ typedef struct { void *ldt; int size; struct mutex lock; void *vdso; +#ifdef CONFIG_X86_32 + struct desc_struct user_cs; + unsigned long exec_limit; +#endif } mm_context_t; #ifdef CONFIG_SMP --- linux-2.6.32.orig/arch/x86/include/asm/mmu_context.h +++ linux-2.6.32/arch/x86/include/asm/mmu_context.h @@ -36,8 +36,6 @@ unsigned cpu = smp_processor_id(); if (likely(prev != next)) { - /* stop flush ipis for the previous mm */ - cpumask_clear_cpu(cpu, mm_cpumask(prev)); #ifdef CONFIG_SMP percpu_write(cpu_tlbstate.state, TLBSTATE_OK); percpu_write(cpu_tlbstate.active_mm, next); @@ -47,6 +45,9 @@ /* Re-load page tables */ load_cr3(next->pgd); + /* stop flush ipis for the previous mm */ + cpumask_clear_cpu(cpu, mm_cpumask(prev)); + /* * load the LDT, if the LDT is different: */ --- linux-2.6.32.orig/arch/x86/include/asm/msr.h +++ linux-2.6.32/arch/x86/include/asm/msr.h @@ -27,6 +27,18 @@ }; }; +struct msr_info { + u32 msr_no; + struct msr reg; + struct msr *msrs; + int err; +}; + +struct msr_regs_info { + u32 *regs; + int err; +}; + static inline unsigned long long native_read_tscp(unsigned int *aux) { unsigned long low, high; @@ -244,11 +256,14 @@ #define write_rdtscp_aux(val) wrmsr(0xc0000103, (val), 0) +struct msr *msrs_alloc(void); +void msrs_free(struct msr *msrs); + #ifdef CONFIG_SMP int rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h); int wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h); -void rdmsr_on_cpus(const cpumask_t *mask, u32 msr_no, struct msr *msrs); -void wrmsr_on_cpus(const cpumask_t *mask, u32 msr_no, struct msr *msrs); +void rdmsr_on_cpus(const struct cpumask *mask, u32 msr_no, struct msr *msrs); +void wrmsr_on_cpus(const struct cpumask *mask, u32 msr_no, struct msr *msrs); int rdmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h); int wrmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h); int rdmsr_safe_regs_on_cpu(unsigned int cpu, u32 regs[8]); --- linux-2.6.32.orig/arch/x86/include/asm/msr-index.h +++ linux-2.6.32/arch/x86/include/asm/msr-index.h @@ -81,11 +81,15 @@ #define MSR_IA32_MC0_ADDR 0x00000402 #define MSR_IA32_MC0_MISC 0x00000403 +#define MSR_AMD64_MC0_MASK 0xc0010044 + #define MSR_IA32_MCx_CTL(x) (MSR_IA32_MC0_CTL + 4*(x)) #define MSR_IA32_MCx_STATUS(x) (MSR_IA32_MC0_STATUS + 4*(x)) #define MSR_IA32_MCx_ADDR(x) (MSR_IA32_MC0_ADDR + 4*(x)) #define MSR_IA32_MCx_MISC(x) (MSR_IA32_MC0_MISC + 4*(x)) +#define MSR_AMD64_MCx_MASK(x) (MSR_AMD64_MC0_MASK + (x)) + /* These are consecutive and not in the normal 4er MCE bank block */ #define MSR_IA32_MC0_CTL2 0x00000280 #define MSR_IA32_MCx_CTL2(x) (MSR_IA32_MC0_CTL2 + (x)) @@ -104,6 +108,9 @@ #define MSR_AMD64_PATCH_LEVEL 0x0000008b #define MSR_AMD64_NB_CFG 0xc001001f #define MSR_AMD64_PATCH_LOADER 0xc0010020 +#define MSR_AMD64_OSVW_ID_LENGTH 0xc0010140 +#define MSR_AMD64_OSVW_STATUS 0xc0010141 +#define MSR_AMD64_DC_CFG 0xc0011022 #define MSR_AMD64_IBSFETCHCTL 0xc0011030 #define MSR_AMD64_IBSFETCHLINAD 0xc0011031 #define MSR_AMD64_IBSFETCHPHYSAD 0xc0011032 @@ -123,6 +130,7 @@ #define FAM10H_MMIO_CONF_BUSRANGE_SHIFT 2 #define FAM10H_MMIO_CONF_BASE_MASK 0xfffffff #define FAM10H_MMIO_CONF_BASE_SHIFT 20 +#define MSR_FAM10H_NODE_ID 0xc001100c /* K8 MSRs */ #define MSR_K8_TOP_MEM1 0xc001001a @@ -195,8 +203,9 @@ #define MSR_IA32_EBL_CR_POWERON 0x0000002a #define MSR_IA32_FEATURE_CONTROL 0x0000003a -#define FEATURE_CONTROL_LOCKED (1<<0) -#define FEATURE_CONTROL_VMXON_ENABLED (1<<2) +#define FEATURE_CONTROL_LOCKED (1<<0) +#define FEATURE_CONTROL_VMXON_ENABLED_INSIDE_SMX (1<<1) +#define FEATURE_CONTROL_VMXON_ENABLED_OUTSIDE_SMX (1<<2) #define MSR_IA32_APICBASE 0x0000001b #define MSR_IA32_APICBASE_BSP (1<<8) --- linux-2.6.32.orig/arch/x86/include/asm/paravirt.h +++ linux-2.6.32/arch/x86/include/asm/paravirt.h @@ -289,6 +289,12 @@ { PVOP_VCALL2(pv_cpu_ops.set_ldt, addr, entries); } +#ifdef CONFIG_X86_32 +static inline void load_user_cs_desc(unsigned int cpu, struct mm_struct *mm) +{ + PVOP_VCALL2(pv_cpu_ops.load_user_cs_desc, cpu, mm); +} +#endif /*CONFIG_X86_32*/ static inline void store_gdt(struct desc_ptr *dtr) { PVOP_VCALL1(pv_cpu_ops.store_gdt, dtr); --- linux-2.6.32.orig/arch/x86/include/asm/kvm_emulate.h +++ linux-2.6.32/arch/x86/include/asm/kvm_emulate.h @@ -54,13 +54,23 @@ struct x86_emulate_ops { /* * read_std: Read bytes of standard (non-emulated/special) memory. - * Used for instruction fetch, stack operations, and others. + * Used for descriptor reading. * @addr: [IN ] Linear address from which to read. * @val: [OUT] Value read from memory, zero-extended to 'u_long'. * @bytes: [IN ] Number of bytes to read from memory. */ int (*read_std)(unsigned long addr, void *val, - unsigned int bytes, struct kvm_vcpu *vcpu); + unsigned int bytes, struct kvm_vcpu *vcpu, u32 *error); + + /* + * fetch: Read bytes of standard (non-emulated/special) memory. + * Used for instruction fetch. + * @addr: [IN ] Linear address from which to read. + * @val: [OUT] Value read from memory, zero-extended to 'u_long'. + * @bytes: [IN ] Number of bytes to read from memory. + */ + int (*fetch)(unsigned long addr, void *val, + unsigned int bytes, struct kvm_vcpu *vcpu, u32 *error); /* * read_emulated: Read bytes from emulated/special memory area. @@ -99,6 +109,8 @@ unsigned int bytes, struct kvm_vcpu *vcpu); + bool (*get_cpuid)(struct kvm_vcpu *vcpu, + u32 *eax, u32 *ebx, u32 *ecx, u32 *edx); }; /* Type, address-of, and value of an instruction's operand. */ @@ -129,7 +141,7 @@ u8 seg_override; unsigned int d; unsigned long regs[NR_VCPU_REGS]; - unsigned long eip; + unsigned long eip, eip_orig; /* modrm */ u8 modrm; u8 modrm_mod; @@ -168,10 +180,24 @@ /* Execution mode, passed to the emulator. */ #define X86EMUL_MODE_REAL 0 /* Real mode. */ +#define X86EMUL_MODE_VM86 1 /* Virtual 8086 mode. */ #define X86EMUL_MODE_PROT16 2 /* 16-bit protected mode. */ #define X86EMUL_MODE_PROT32 4 /* 32-bit protected mode. */ #define X86EMUL_MODE_PROT64 8 /* 64-bit (long) mode. */ +/* CPUID vendors */ +#define X86EMUL_CPUID_VENDOR_AuthenticAMD_ebx 0x68747541 +#define X86EMUL_CPUID_VENDOR_AuthenticAMD_ecx 0x444d4163 +#define X86EMUL_CPUID_VENDOR_AuthenticAMD_edx 0x69746e65 + +#define X86EMUL_CPUID_VENDOR_AMDisbetterI_ebx 0x69444d41 +#define X86EMUL_CPUID_VENDOR_AMDisbetterI_ecx 0x21726574 +#define X86EMUL_CPUID_VENDOR_AMDisbetterI_edx 0x74656273 + +#define X86EMUL_CPUID_VENDOR_GenuineIntel_ebx 0x756e6547 +#define X86EMUL_CPUID_VENDOR_GenuineIntel_ecx 0x6c65746e +#define X86EMUL_CPUID_VENDOR_GenuineIntel_edx 0x49656e69 + /* Host execution mode. */ #if defined(CONFIG_X86_32) #define X86EMUL_MODE_HOST X86EMUL_MODE_PROT32 --- linux-2.6.32.orig/arch/x86/include/asm/pgalloc.h +++ linux-2.6.32/arch/x86/include/asm/pgalloc.h @@ -23,6 +23,11 @@ #endif /* + * Flags to use when allocating a user page table page. + */ +extern gfp_t __userpte_alloc_gfp; + +/* * Allocate and free page tables. */ extern pgd_t *pgd_alloc(struct mm_struct *); --- linux-2.6.32.orig/arch/x86/include/asm/rwsem.h +++ linux-2.6.32/arch/x86/include/asm/rwsem.h @@ -41,6 +41,7 @@ #include #include #include +#include struct rwsem_waiter; @@ -55,17 +56,28 @@ /* * the semaphore definition + * + * The bias values and the counter type limits the number of + * potential readers/writers to 32767 for 32 bits and 2147483647 + * for 64 bits. */ -#define RWSEM_UNLOCKED_VALUE 0x00000000 -#define RWSEM_ACTIVE_BIAS 0x00000001 -#define RWSEM_ACTIVE_MASK 0x0000ffff -#define RWSEM_WAITING_BIAS (-0x00010000) +#ifdef CONFIG_X86_64 +# define RWSEM_ACTIVE_MASK 0xffffffffL +#else +# define RWSEM_ACTIVE_MASK 0x0000ffffL +#endif + +#define RWSEM_UNLOCKED_VALUE 0x00000000L +#define RWSEM_ACTIVE_BIAS 0x00000001L +#define RWSEM_WAITING_BIAS (-RWSEM_ACTIVE_MASK-1) #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS #define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS) +typedef signed long rwsem_count_t; + struct rw_semaphore { - signed long count; + rwsem_count_t count; spinlock_t wait_lock; struct list_head wait_list; #ifdef CONFIG_DEBUG_LOCK_ALLOC @@ -105,7 +117,7 @@ static inline void __down_read(struct rw_semaphore *sem) { asm volatile("# beginning down_read\n\t" - LOCK_PREFIX " incl (%%eax)\n\t" + LOCK_PREFIX _ASM_INC "(%1)\n\t" /* adds 0x00000001, returns the old value */ " jns 1f\n" " call call_rwsem_down_read_failed\n" @@ -121,14 +133,14 @@ */ static inline int __down_read_trylock(struct rw_semaphore *sem) { - __s32 result, tmp; + rwsem_count_t result, tmp; asm volatile("# beginning __down_read_trylock\n\t" - " movl %0,%1\n\t" + " mov %0,%1\n\t" "1:\n\t" - " movl %1,%2\n\t" - " addl %3,%2\n\t" + " mov %1,%2\n\t" + " add %3,%2\n\t" " jle 2f\n\t" - LOCK_PREFIX " cmpxchgl %2,%0\n\t" + LOCK_PREFIX " cmpxchg %2,%0\n\t" " jnz 1b\n\t" "2:\n\t" "# ending __down_read_trylock\n\t" @@ -143,13 +155,13 @@ */ static inline void __down_write_nested(struct rw_semaphore *sem, int subclass) { - int tmp; + rwsem_count_t tmp; tmp = RWSEM_ACTIVE_WRITE_BIAS; asm volatile("# beginning down_write\n\t" - LOCK_PREFIX " xadd %%edx,(%%eax)\n\t" + LOCK_PREFIX " xadd %1,(%2)\n\t" /* subtract 0x0000ffff, returns the old value */ - " testl %%edx,%%edx\n\t" + " test %1,%1\n\t" /* was the count 0 before? */ " jz 1f\n" " call call_rwsem_down_write_failed\n" @@ -170,9 +182,9 @@ */ static inline int __down_write_trylock(struct rw_semaphore *sem) { - signed long ret = cmpxchg(&sem->count, - RWSEM_UNLOCKED_VALUE, - RWSEM_ACTIVE_WRITE_BIAS); + rwsem_count_t ret = cmpxchg(&sem->count, + RWSEM_UNLOCKED_VALUE, + RWSEM_ACTIVE_WRITE_BIAS); if (ret == RWSEM_UNLOCKED_VALUE) return 1; return 0; @@ -183,9 +195,9 @@ */ static inline void __up_read(struct rw_semaphore *sem) { - __s32 tmp = -RWSEM_ACTIVE_READ_BIAS; + rwsem_count_t tmp = -RWSEM_ACTIVE_READ_BIAS; asm volatile("# beginning __up_read\n\t" - LOCK_PREFIX " xadd %%edx,(%%eax)\n\t" + LOCK_PREFIX " xadd %1,(%2)\n\t" /* subtracts 1, returns the old value */ " jns 1f\n\t" " call call_rwsem_wake\n" @@ -201,18 +213,18 @@ */ static inline void __up_write(struct rw_semaphore *sem) { + rwsem_count_t tmp; asm volatile("# beginning __up_write\n\t" - " movl %2,%%edx\n\t" - LOCK_PREFIX " xaddl %%edx,(%%eax)\n\t" + LOCK_PREFIX " xadd %1,(%2)\n\t" /* tries to transition 0xffff0001 -> 0x00000000 */ " jz 1f\n" " call call_rwsem_wake\n" "1:\n\t" "# ending __up_write\n" - : "+m" (sem->count) - : "a" (sem), "i" (-RWSEM_ACTIVE_WRITE_BIAS) - : "memory", "cc", "edx"); + : "+m" (sem->count), "=d" (tmp) + : "a" (sem), "1" (-RWSEM_ACTIVE_WRITE_BIAS) + : "memory", "cc"); } /* @@ -221,33 +233,38 @@ static inline void __downgrade_write(struct rw_semaphore *sem) { asm volatile("# beginning __downgrade_write\n\t" - LOCK_PREFIX " addl %2,(%%eax)\n\t" - /* transitions 0xZZZZ0001 -> 0xYYYY0001 */ + LOCK_PREFIX _ASM_ADD "%2,(%1)\n\t" + /* + * transitions 0xZZZZ0001 -> 0xYYYY0001 (i386) + * 0xZZZZZZZZ00000001 -> 0xYYYYYYYY00000001 (x86_64) + */ " jns 1f\n\t" " call call_rwsem_downgrade_wake\n" "1:\n\t" "# ending __downgrade_write\n" : "+m" (sem->count) - : "a" (sem), "i" (-RWSEM_WAITING_BIAS) + : "a" (sem), "er" (-RWSEM_WAITING_BIAS) : "memory", "cc"); } /* * implement atomic add functionality */ -static inline void rwsem_atomic_add(int delta, struct rw_semaphore *sem) +static inline void rwsem_atomic_add(rwsem_count_t delta, + struct rw_semaphore *sem) { - asm volatile(LOCK_PREFIX "addl %1,%0" + asm volatile(LOCK_PREFIX _ASM_ADD "%1,%0" : "+m" (sem->count) - : "ir" (delta)); + : "er" (delta)); } /* * implement exchange and add functionality */ -static inline int rwsem_atomic_update(int delta, struct rw_semaphore *sem) +static inline rwsem_count_t rwsem_atomic_update(rwsem_count_t delta, + struct rw_semaphore *sem) { - int tmp = delta; + rwsem_count_t tmp = delta; asm volatile(LOCK_PREFIX "xadd %0,%1" : "+r" (tmp), "+m" (sem->count) --- linux-2.6.32.orig/arch/x86/include/asm/pgtable_32.h +++ linux-2.6.32/arch/x86/include/asm/pgtable_32.h @@ -27,6 +27,7 @@ struct vm_area_struct; extern pgd_t swapper_pg_dir[1024]; +extern pgd_t trampoline_pg_dir[1024]; static inline void pgtable_cache_init(void) { } static inline void check_pgt_cache(void) { } --- linux-2.6.32.orig/arch/x86/include/asm/processor.h +++ linux-2.6.32/arch/x86/include/asm/processor.h @@ -180,7 +180,7 @@ unsigned int *ecx, unsigned int *edx) { /* ecx is often an input as well as an output. */ - asm("cpuid" + asm volatile("cpuid" : "=a" (*eax), "=b" (*ebx), "=c" (*ecx), @@ -1052,4 +1052,23 @@ return ratio; } +/* + * AMD errata checking + */ +#ifdef CONFIG_CPU_SUP_AMD +extern const int amd_erratum_400[]; +extern bool cpu_has_amd_erratum(const int *); + +#define AMD_LEGACY_ERRATUM(...) { -1, __VA_ARGS__, 0 } +#define AMD_OSVW_ERRATUM(osvw_id, ...) { osvw_id, __VA_ARGS__, 0 } +#define AMD_MODEL_RANGE(f, m_start, s_start, m_end, s_end) \ + ((f << 24) | (m_start << 16) | (s_start << 12) | (m_end << 4) | (s_end)) +#define AMD_MODEL_RANGE_FAMILY(range) (((range) >> 24) & 0xff) +#define AMD_MODEL_RANGE_START(range) (((range) >> 12) & 0xfff) +#define AMD_MODEL_RANGE_END(range) ((range) & 0xfff) + +#else +#define cpu_has_amd_erratum(x) (false) +#endif /* CONFIG_CPU_SUP_AMD */ + #endif /* _ASM_X86_PROCESSOR_H */ --- linux-2.6.32.orig/arch/x86/include/asm/pvclock.h +++ linux-2.6.32/arch/x86/include/asm/pvclock.h @@ -10,5 +10,44 @@ void pvclock_read_wallclock(struct pvclock_wall_clock *wall, struct pvclock_vcpu_time_info *vcpu, struct timespec *ts); +void pvclock_resume(void); + +/* + * Scale a 64-bit delta by scaling and multiplying by a 32-bit fraction, + * yielding a 64-bit result. + */ +static inline u64 pvclock_scale_delta(u64 delta, u32 mul_frac, int shift) +{ + u64 product; +#ifdef __i386__ + u32 tmp1, tmp2; +#endif + + if (shift < 0) + delta >>= -shift; + else + delta <<= shift; + +#ifdef __i386__ + __asm__ ( + "mul %5 ; " + "mov %4,%%eax ; " + "mov %%edx,%4 ; " + "mul %5 ; " + "xor %5,%5 ; " + "add %4,%%eax ; " + "adc %5,%%edx ; " + : "=A" (product), "=r" (tmp1), "=r" (tmp2) + : "a" ((u32)delta), "1" ((u32)(delta >> 32)), "2" (mul_frac) ); +#elif defined(__x86_64__) + __asm__ ( + "mul %%rdx ; shrd $32,%%rdx,%%rax" + : "=a" (product) : "0" (delta), "d" ((u64)mul_frac) ); +#else +#error implement me! +#endif + + return product; +} #endif /* _ASM_X86_PVCLOCK_H */ --- linux-2.6.32.orig/arch/x86/include/asm/smp.h +++ linux-2.6.32/arch/x86/include/asm/smp.h @@ -50,7 +50,7 @@ void (*smp_prepare_cpus)(unsigned max_cpus); void (*smp_cpus_done)(unsigned max_cpus); - void (*smp_send_stop)(void); + void (*stop_other_cpus)(int wait); void (*smp_send_reschedule)(int cpu); int (*cpu_up)(unsigned cpu); @@ -73,7 +73,12 @@ static inline void smp_send_stop(void) { - smp_ops.smp_send_stop(); + smp_ops.stop_other_cpus(0); +} + +static inline void stop_other_cpus(void) +{ + smp_ops.stop_other_cpus(1); } static inline void smp_prepare_boot_cpu(void) @@ -135,6 +140,8 @@ void native_cpu_die(unsigned int cpu); void native_play_dead(void); void play_dead_common(void); +void wbinvd_on_cpu(int cpu); +int wbinvd_on_all_cpus(void); void native_send_call_func_ipi(const struct cpumask *mask); void native_send_call_func_single_ipi(int cpu); @@ -147,6 +154,13 @@ { return cpumask_weight(cpu_callout_mask); } +#else /* !CONFIG_SMP */ +#define wbinvd_on_cpu(cpu) wbinvd() +static inline int wbinvd_on_all_cpus(void) +{ + wbinvd(); + return 0; +} #endif /* CONFIG_SMP */ extern unsigned disabled_cpus __cpuinitdata; --- linux-2.6.32.orig/arch/x86/include/asm/smpboot_hooks.h +++ linux-2.6.32/arch/x86/include/asm/smpboot_hooks.h @@ -34,7 +34,7 @@ */ CMOS_WRITE(0, 0xf); - *((volatile long *)phys_to_virt(apic->trampoline_phys_low)) = 0; + *((volatile u32 *)phys_to_virt(apic->trampoline_phys_low)) = 0; } static inline void __init smpboot_setup_io_apic(void) --- linux-2.6.32.orig/arch/x86/include/asm/system.h +++ linux-2.6.32/arch/x86/include/asm/system.h @@ -449,7 +449,7 @@ * * (Could use an alternative three way for this if there was one.) */ -static inline void rdtsc_barrier(void) +static __always_inline void rdtsc_barrier(void) { alternative(ASM_NOP3, "mfence", X86_FEATURE_MFENCE_RDTSC); alternative(ASM_NOP3, "lfence", X86_FEATURE_LFENCE_RDTSC); --- linux-2.6.32.orig/arch/x86/include/asm/timer.h +++ linux-2.6.32/arch/x86/include/asm/timer.h @@ -38,6 +38,22 @@ * (mathieu.desnoyers@polymtl.ca) * * -johnstul@us.ibm.com "math is hard, lets go shopping!" + * + * In: + * + * ns = cycles * cyc2ns_scale / SC + * + * Although we may still have enough bits to store the value of ns, + * in some cases, we may not have enough bits to store cycles * cyc2ns_scale, + * leading to an incorrect result. + * + * To avoid this, we can decompose 'cycles' into quotient and remainder + * of division by SC. Then, + * + * ns = (quot * SC + rem) * cyc2ns_scale / SC + * = quot * cyc2ns_scale + (rem * cyc2ns_scale) / SC + * + * - sqazi@google.com */ DECLARE_PER_CPU(unsigned long, cyc2ns); @@ -47,9 +63,14 @@ static inline unsigned long long __cycles_2_ns(unsigned long long cyc) { + unsigned long long quot; + unsigned long long rem; int cpu = smp_processor_id(); unsigned long long ns = per_cpu(cyc2ns_offset, cpu); - ns += cyc * per_cpu(cyc2ns, cpu) >> CYC2NS_SCALE_FACTOR; + quot = (cyc >> CYC2NS_SCALE_FACTOR); + rem = cyc & ((1ULL << CYC2NS_SCALE_FACTOR) - 1); + ns += quot * per_cpu(cyc2ns, cpu) + + ((rem * per_cpu(cyc2ns, cpu)) >> CYC2NS_SCALE_FACTOR); return ns; } --- linux-2.6.32.orig/arch/x86/include/asm/suspend_32.h +++ linux-2.6.32/arch/x86/include/asm/suspend_32.h @@ -15,6 +15,8 @@ struct saved_context { u16 es, fs, gs, ss; unsigned long cr0, cr2, cr3, cr4; + u64 misc_enable; + bool misc_enable_saved; struct desc_ptr gdt; struct desc_ptr idt; u16 ldt; --- linux-2.6.32.orig/arch/x86/include/asm/suspend_64.h +++ linux-2.6.32/arch/x86/include/asm/suspend_64.h @@ -27,6 +27,8 @@ u16 ds, es, fs, gs, ss; unsigned long gs_base, gs_kernel_base, fs_base; unsigned long cr0, cr2, cr3, cr4, cr8; + u64 misc_enable; + bool misc_enable_saved; unsigned long efer; u16 gdt_pad; u16 gdt_limit; --- linux-2.6.32.orig/arch/x86/include/asm/sys_ia32.h +++ linux-2.6.32/arch/x86/include/asm/sys_ia32.h @@ -62,9 +62,6 @@ asmlinkage long sys32_personality(unsigned long); asmlinkage long sys32_sendfile(int, int, compat_off_t __user *, s32); -asmlinkage long sys32_mmap2(unsigned long, unsigned long, unsigned long, - unsigned long, unsigned long, unsigned long); - struct oldold_utsname; struct old_utsname; asmlinkage long sys32_olduname(struct oldold_utsname __user *); --- linux-2.6.32.orig/arch/x86/include/asm/syscalls.h +++ linux-2.6.32/arch/x86/include/asm/syscalls.h @@ -55,8 +55,6 @@ struct oldold_utsname; struct old_utsname; -asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long, - unsigned long, unsigned long, unsigned long); asmlinkage int old_mmap(struct mmap_arg_struct __user *); asmlinkage int old_select(struct sel_arg_struct __user *); asmlinkage int sys_ipc(uint, int, int, int, void __user *, long); --- linux-2.6.32.orig/arch/x86/include/asm/tsc.h +++ linux-2.6.32/arch/x86/include/asm/tsc.h @@ -59,5 +59,7 @@ extern void check_tsc_sync_target(void); extern int notsc_setup(char *); +extern void save_sched_clock_state(void); +extern void restore_sched_clock_state(void); #endif /* _ASM_X86_TSC_H */ --- linux-2.6.32.orig/arch/x86/include/asm/thread_info.h +++ linux-2.6.32/arch/x86/include/asm/thread_info.h @@ -86,7 +86,6 @@ #define TIF_NOTSC 16 /* TSC is not accessible in userland */ #define TIF_IA32 17 /* 32bit process */ #define TIF_FORK 18 /* ret_from_fork */ -#define TIF_ABI_PENDING 19 #define TIF_MEMDIE 20 #define TIF_DEBUG 21 /* uses debug registers */ #define TIF_IO_BITMAP 22 /* uses I/O bitmap */ @@ -110,7 +109,6 @@ #define _TIF_NOTSC (1 << TIF_NOTSC) #define _TIF_IA32 (1 << TIF_IA32) #define _TIF_FORK (1 << TIF_FORK) -#define _TIF_ABI_PENDING (1 << TIF_ABI_PENDING) #define _TIF_DEBUG (1 << TIF_DEBUG) #define _TIF_IO_BITMAP (1 << TIF_IO_BITMAP) #define _TIF_FREEZE (1 << TIF_FREEZE) --- linux-2.6.32.orig/arch/x86/include/asm/trampoline.h +++ linux-2.6.32/arch/x86/include/asm/trampoline.h @@ -13,15 +13,18 @@ extern unsigned long init_rsp; extern unsigned long initial_code; +extern unsigned long initial_page_table; extern unsigned long initial_gs; #define TRAMPOLINE_SIZE roundup(trampoline_end - trampoline_data, PAGE_SIZE) #define TRAMPOLINE_BASE 0x6000 extern unsigned long setup_trampoline(void); +extern void __init setup_trampoline_page_table(void); extern void __init reserve_trampoline_memory(void); #else -static inline void reserve_trampoline_memory(void) {}; +static inline void setup_trampoline_page_table(void) {} +static inline void reserve_trampoline_memory(void) {} #endif /* CONFIG_X86_TRAMPOLINE */ #endif /* __ASSEMBLY__ */ --- linux-2.6.32.orig/arch/x86/include/asm/uaccess.h +++ linux-2.6.32/arch/x86/include/asm/uaccess.h @@ -42,7 +42,7 @@ * Returns 0 if the range is valid, nonzero otherwise. * * This is equivalent to the following test: - * (u33)addr + (u33)size >= (u33)current->addr_limit.seg (u65 for x86_64) + * (u33)addr + (u33)size > (u33)current->addr_limit.seg (u65 for x86_64) * * This needs 33-bit (65-bit for x86_64) arithmetic. We have a carry... */ --- linux-2.6.32.orig/arch/x86/include/asm/vmx.h +++ linux-2.6.32/arch/x86/include/asm/vmx.h @@ -56,6 +56,7 @@ #define SECONDARY_EXEC_ENABLE_VPID 0x00000020 #define SECONDARY_EXEC_WBINVD_EXITING 0x00000040 #define SECONDARY_EXEC_UNRESTRICTED_GUEST 0x00000080 +#define SECONDARY_EXEC_PAUSE_LOOP_EXITING 0x00000400 #define PIN_BASED_EXT_INTR_MASK 0x00000001 @@ -144,6 +145,8 @@ VM_ENTRY_INSTRUCTION_LEN = 0x0000401a, TPR_THRESHOLD = 0x0000401c, SECONDARY_VM_EXEC_CONTROL = 0x0000401e, + PLE_GAP = 0x00004020, + PLE_WINDOW = 0x00004022, VM_INSTRUCTION_ERROR = 0x00004400, VM_EXIT_REASON = 0x00004402, VM_EXIT_INTR_INFO = 0x00004404, @@ -248,6 +251,7 @@ #define EXIT_REASON_MSR_READ 31 #define EXIT_REASON_MSR_WRITE 32 #define EXIT_REASON_MWAIT_INSTRUCTION 36 +#define EXIT_REASON_PAUSE_INSTRUCTION 40 #define EXIT_REASON_MCE_DURING_VMENTRY 41 #define EXIT_REASON_TPR_BELOW_THRESHOLD 43 #define EXIT_REASON_APIC_ACCESS 44 --- linux-2.6.32.orig/arch/x86/include/asm/paravirt_types.h +++ linux-2.6.32/arch/x86/include/asm/paravirt_types.h @@ -118,6 +118,9 @@ void (*store_gdt)(struct desc_ptr *); void (*store_idt)(struct desc_ptr *); void (*set_ldt)(const void *desc, unsigned entries); +#ifdef CONFIG_X86_32 + void (*load_user_cs_desc)(int cpu, struct mm_struct *mm); +#endif /*CONFIG_X86_32*/ unsigned long (*store_tr)(void); void (*load_tls)(struct thread_struct *t, unsigned int cpu); #ifdef CONFIG_X86_64 --- linux-2.6.32.orig/arch/x86/include/asm/uv/uv_hub.h +++ linux-2.6.32/arch/x86/include/asm/uv/uv_hub.h @@ -31,20 +31,20 @@ * contiguous (although various IO spaces may punch holes in * it).. * - * N - Number of bits in the node portion of a socket physical - * address. + * N - Number of bits in the node portion of a socket physical + * address. * - * NASID - network ID of a router, Mbrick or Cbrick. Nasid values of - * routers always have low bit of 1, C/MBricks have low bit - * equal to 0. Most addressing macros that target UV hub chips - * right shift the NASID by 1 to exclude the always-zero bit. - * NASIDs contain up to 15 bits. + * NASID - network ID of a router, Mbrick or Cbrick. Nasid values of + * routers always have low bit of 1, C/MBricks have low bit + * equal to 0. Most addressing macros that target UV hub chips + * right shift the NASID by 1 to exclude the always-zero bit. + * NASIDs contain up to 15 bits. * * GNODE - NASID right shifted by 1 bit. Most mmrs contain gnodes instead * of nasids. * - * PNODE - the low N bits of the GNODE. The PNODE is the most useful variant - * of the nasid for socket usage. + * PNODE - the low N bits of the GNODE. The PNODE is the most useful variant + * of the nasid for socket usage. * * * NumaLink Global Physical Address Format: @@ -71,12 +71,12 @@ * * * APICID format - * NOTE!!!!!! This is the current format of the APICID. However, code - * should assume that this will change in the future. Use functions - * in this file for all APICID bit manipulations and conversion. + * NOTE!!!!!! This is the current format of the APICID. However, code + * should assume that this will change in the future. Use functions + * in this file for all APICID bit manipulations and conversion. * - * 1111110000000000 - * 5432109876543210 + * 1111110000000000 + * 5432109876543210 * pppppppppplc0cch * sssssssssss * @@ -89,9 +89,9 @@ * Note: Processor only supports 12 bits in the APICID register. The ACPI * tables hold all 16 bits. Software needs to be aware of this. * - * Unless otherwise specified, all references to APICID refer to - * the FULL value contained in ACPI tables, not the subset in the - * processor APICID register. + * Unless otherwise specified, all references to APICID refer to + * the FULL value contained in ACPI tables, not the subset in the + * processor APICID register. */ @@ -151,16 +151,16 @@ }; DECLARE_PER_CPU(struct uv_hub_info_s, __uv_hub_info); -#define uv_hub_info (&__get_cpu_var(__uv_hub_info)) +#define uv_hub_info (&__get_cpu_var(__uv_hub_info)) #define uv_cpu_hub_info(cpu) (&per_cpu(__uv_hub_info, cpu)) /* * Local & Global MMR space macros. - * Note: macros are intended to be used ONLY by inline functions - * in this file - not by other kernel code. - * n - NASID (full 15-bit global nasid) - * g - GNODE (full 15-bit global nasid, right shifted 1) - * p - PNODE (local part of nsids, right shifted 1) + * Note: macros are intended to be used ONLY by inline functions + * in this file - not by other kernel code. + * n - NASID (full 15-bit global nasid) + * g - GNODE (full 15-bit global nasid, right shifted 1) + * p - PNODE (local part of nsids, right shifted 1) */ #define UV_NASID_TO_PNODE(n) (((n) >> 1) & uv_hub_info->pnode_mask) #define UV_PNODE_TO_GNODE(p) ((p) |uv_hub_info->gnode_extra) @@ -213,8 +213,8 @@ /* * Macros for converting between kernel virtual addresses, socket local physical * addresses, and UV global physical addresses. - * Note: use the standard __pa() & __va() macros for converting - * between socket virtual and socket physical addresses. + * Note: use the standard __pa() & __va() macros for converting + * between socket virtual and socket physical addresses. */ /* socket phys RAM --> UV global physical address */ @@ -265,21 +265,18 @@ * Access global MMRs using the low memory MMR32 space. This region supports * faster MMR access but not all MMRs are accessible in this space. */ -static inline unsigned long *uv_global_mmr32_address(int pnode, - unsigned long offset) +static inline unsigned long *uv_global_mmr32_address(int pnode, unsigned long offset) { return __va(UV_GLOBAL_MMR32_BASE | UV_GLOBAL_MMR32_PNODE_BITS(pnode) | offset); } -static inline void uv_write_global_mmr32(int pnode, unsigned long offset, - unsigned long val) +static inline void uv_write_global_mmr32(int pnode, unsigned long offset, unsigned long val) { writeq(val, uv_global_mmr32_address(pnode, offset)); } -static inline unsigned long uv_read_global_mmr32(int pnode, - unsigned long offset) +static inline unsigned long uv_read_global_mmr32(int pnode, unsigned long offset) { return readq(uv_global_mmr32_address(pnode, offset)); } @@ -288,25 +285,32 @@ * Access Global MMR space using the MMR space located at the top of physical * memory. */ -static inline unsigned long *uv_global_mmr64_address(int pnode, - unsigned long offset) +static inline unsigned long *uv_global_mmr64_address(int pnode, unsigned long offset) { return __va(UV_GLOBAL_MMR64_BASE | UV_GLOBAL_MMR64_PNODE_BITS(pnode) | offset); } -static inline void uv_write_global_mmr64(int pnode, unsigned long offset, - unsigned long val) +static inline void uv_write_global_mmr64(int pnode, unsigned long offset, unsigned long val) { writeq(val, uv_global_mmr64_address(pnode, offset)); } -static inline unsigned long uv_read_global_mmr64(int pnode, - unsigned long offset) +static inline unsigned long uv_read_global_mmr64(int pnode, unsigned long offset) { return readq(uv_global_mmr64_address(pnode, offset)); } +static inline void uv_write_global_mmr8(int pnode, unsigned long offset, unsigned char val) +{ + writeb(val, uv_global_mmr64_address(pnode, offset)); +} + +static inline unsigned char uv_read_global_mmr8(int pnode, unsigned long offset) +{ + return readb(uv_global_mmr64_address(pnode, offset)); +} + /* * Access hub local MMRs. Faster than using global space but only local MMRs * are accessible. @@ -426,11 +430,17 @@ } } +static inline unsigned long uv_scir_offset(int apicid) +{ + return SCIR_LOCAL_MMR_BASE | (apicid & 0x3f); +} + static inline void uv_set_cpu_scir_bits(int cpu, unsigned char value) { if (uv_cpu_hub_info(cpu)->scir.state != value) { + uv_write_global_mmr8(uv_cpu_to_pnode(cpu), + uv_cpu_hub_info(cpu)->scir.offset, value); uv_cpu_hub_info(cpu)->scir.state = value; - uv_write_local_mmr8(uv_cpu_hub_info(cpu)->scir.offset, value); } } --- linux-2.6.32.orig/arch/x86/kernel/Makefile +++ linux-2.6.32/arch/x86/kernel/Makefile @@ -11,6 +11,8 @@ CFLAGS_REMOVE_tsc.o = -pg CFLAGS_REMOVE_rtc.o = -pg CFLAGS_REMOVE_paravirt-spinlocks.o = -pg +CFLAGS_REMOVE_pvclock.o = -pg +CFLAGS_REMOVE_kvmclock.o = -pg CFLAGS_REMOVE_ftrace.o = -pg CFLAGS_REMOVE_early_printk.o = -pg endif --- linux-2.6.32.orig/arch/x86/kernel/amd_iommu.c +++ linux-2.6.32/arch/x86/kernel/amd_iommu.c @@ -540,11 +540,11 @@ static void flush_devices_by_domain(struct protection_domain *domain) { struct amd_iommu *iommu; - int i; + unsigned long i; for (i = 0; i <= amd_iommu_last_bdf; ++i) { if ((domain == NULL && amd_iommu_pd_table[i] == NULL) || - (amd_iommu_pd_table[i] != domain)) + (domain != NULL && amd_iommu_pd_table[i] != domain)) continue; iommu = amd_iommu_rlookup_table[i]; @@ -842,7 +842,7 @@ if (!pte || !IOMMU_PTE_PRESENT(*pte)) continue; - dma_ops_reserve_addresses(dma_dom, i << PAGE_SHIFT, 1); + dma_ops_reserve_addresses(dma_dom, i >> PAGE_SHIFT, 1); } update_domain(&dma_dom->domain); @@ -1230,9 +1230,10 @@ /* * If we run in passthrough mode the device must be assigned to the - * passthrough domain if it is detached from any other domain + * passthrough domain if it is detached from any other domain. + * Make sure we can deassign from the pt_domain itself. */ - if (iommu_pass_through) { + if (iommu_pass_through && domain != pt_domain) { struct amd_iommu *iommu = amd_iommu_rlookup_table[devid]; __attach_device(iommu, pt_domain, devid); } @@ -1687,6 +1688,7 @@ size_t size, int dir) { + dma_addr_t flush_addr; dma_addr_t i, start; unsigned int pages; @@ -1694,6 +1696,7 @@ (dma_addr + size > dma_dom->aperture_size)) return; + flush_addr = dma_addr; pages = iommu_num_pages(dma_addr, size, PAGE_SIZE); dma_addr &= PAGE_MASK; start = dma_addr; @@ -1708,7 +1711,7 @@ dma_ops_free_addresses(dma_dom, dma_addr, pages); if (amd_iommu_unmap_flush || dma_dom->need_flush) { - iommu_flush_pages(iommu, dma_dom->domain.id, dma_addr, size); + iommu_flush_pages(iommu, dma_dom->domain.id, flush_addr, size); dma_dom->need_flush = false; } } @@ -2047,10 +2050,10 @@ struct pci_dev *dev = NULL; struct dma_ops_domain *dma_dom; struct amd_iommu *iommu; - u16 devid; + u16 devid, __devid; while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { - devid = calc_devid(dev->bus->number, dev->devfn); + __devid = devid = calc_devid(dev->bus->number, dev->devfn); if (devid > amd_iommu_last_bdf) continue; devid = amd_iommu_alias_table[devid]; @@ -2065,6 +2068,10 @@ init_unity_mappings_for_device(dma_dom, devid); dma_dom->target_dev = devid; + attach_device(iommu, &dma_dom->domain, devid); + if (__devid != devid) + attach_device(iommu, &dma_dom->domain, __devid); + list_add_tail(&dma_dom->list, &iommu_pd_list); } } @@ -2079,6 +2086,11 @@ .dma_supported = amd_iommu_dma_supported, }; +void __init amd_iommu_init_api(void) +{ + register_iommu(&amd_iommu_ops); +} + /* * The function which clues the AMD IOMMU driver into dma_ops. */ @@ -2120,8 +2132,6 @@ /* Make the driver finally visible to the drivers */ dma_ops = &amd_iommu_dma_ops; - register_iommu(&amd_iommu_ops); - bus_register_notifier(&pci_bus_type, &device_nb); amd_iommu_stats_init(); @@ -2231,9 +2241,7 @@ free_pagetable(domain); - domain_id_free(domain->id); - - kfree(domain); + protection_domain_free(domain); dom->priv = NULL; } --- linux-2.6.32.orig/arch/x86/kernel/amd_iommu_init.c +++ linux-2.6.32/arch/x86/kernel/amd_iommu_init.c @@ -136,6 +136,11 @@ system */ /* + * Set to true if ACPI table parsing and hardware intialization went properly + */ +static bool amd_iommu_initialized; + +/* * Pointer to the device table which is shared by all AMD IOMMUs * it is indexed by the PCI device id or the HT unit id and contains * information about the domain the device belongs to as well as the @@ -617,6 +622,13 @@ iommu->last_device = calc_devid(MMIO_GET_BUS(range), MMIO_GET_LD(range)); iommu->evt_msi_num = MMIO_MSI_NUM(misc); + + if (is_rd890_iommu(iommu->dev)) { + pci_read_config_dword(iommu->dev, 0xf0, &iommu->cache_cfg[0]); + pci_read_config_dword(iommu->dev, 0xf4, &iommu->cache_cfg[1]); + pci_read_config_dword(iommu->dev, 0xf8, &iommu->cache_cfg[2]); + pci_read_config_dword(iommu->dev, 0xfc, &iommu->cache_cfg[3]); + } } /* @@ -628,35 +640,15 @@ { u8 *p = (u8 *)h; u8 *end = p, flags = 0; - u16 dev_i, devid = 0, devid_start = 0, devid_to = 0; - u32 ext_flags = 0; + u16 devid = 0, devid_start = 0, devid_to = 0; + u32 dev_i, ext_flags = 0; bool alias = false; struct ivhd_entry *e; /* - * First set the recommended feature enable bits from ACPI - * into the IOMMU control registers + * First save the recommended feature enable bits from ACPI */ - h->flags & IVHD_FLAG_HT_TUN_EN_MASK ? - iommu_feature_enable(iommu, CONTROL_HT_TUN_EN) : - iommu_feature_disable(iommu, CONTROL_HT_TUN_EN); - - h->flags & IVHD_FLAG_PASSPW_EN_MASK ? - iommu_feature_enable(iommu, CONTROL_PASSPW_EN) : - iommu_feature_disable(iommu, CONTROL_PASSPW_EN); - - h->flags & IVHD_FLAG_RESPASSPW_EN_MASK ? - iommu_feature_enable(iommu, CONTROL_RESPASSPW_EN) : - iommu_feature_disable(iommu, CONTROL_RESPASSPW_EN); - - h->flags & IVHD_FLAG_ISOC_EN_MASK ? - iommu_feature_enable(iommu, CONTROL_ISOC_EN) : - iommu_feature_disable(iommu, CONTROL_ISOC_EN); - - /* - * make IOMMU memory accesses cache coherent - */ - iommu_feature_enable(iommu, CONTROL_COHERENT_EN); + iommu->acpi_flags = h->flags; /* * Done. Now parse the device entries @@ -804,7 +796,7 @@ /* Initializes the device->iommu mapping for the driver */ static int __init init_iommu_devices(struct amd_iommu *iommu) { - u16 i; + u32 i; for (i = iommu->first_device; i <= iommu->last_device; ++i) set_iommu_for_device(iommu, i); @@ -913,6 +905,8 @@ } WARN_ON(p != end); + amd_iommu_initialized = true; + return 0; } @@ -925,7 +919,7 @@ * ****************************************************************************/ -static int __init iommu_setup_msi(struct amd_iommu *iommu) +static int iommu_setup_msi(struct amd_iommu *iommu) { int r; @@ -1074,7 +1068,7 @@ */ static void init_device_table(void) { - u16 devid; + u32 devid; for (devid = 0; devid <= amd_iommu_last_bdf; ++devid) { set_dev_entry_bit(devid, DEV_ENTRY_VALID); @@ -1082,6 +1076,40 @@ } } +static void iommu_init_flags(struct amd_iommu *iommu) +{ + iommu->acpi_flags & IVHD_FLAG_HT_TUN_EN_MASK ? + iommu_feature_enable(iommu, CONTROL_HT_TUN_EN) : + iommu_feature_disable(iommu, CONTROL_HT_TUN_EN); + + iommu->acpi_flags & IVHD_FLAG_PASSPW_EN_MASK ? + iommu_feature_enable(iommu, CONTROL_PASSPW_EN) : + iommu_feature_disable(iommu, CONTROL_PASSPW_EN); + + iommu->acpi_flags & IVHD_FLAG_RESPASSPW_EN_MASK ? + iommu_feature_enable(iommu, CONTROL_RESPASSPW_EN) : + iommu_feature_disable(iommu, CONTROL_RESPASSPW_EN); + + iommu->acpi_flags & IVHD_FLAG_ISOC_EN_MASK ? + iommu_feature_enable(iommu, CONTROL_ISOC_EN) : + iommu_feature_disable(iommu, CONTROL_ISOC_EN); + + /* + * make IOMMU memory accesses cache coherent + */ + iommu_feature_enable(iommu, CONTROL_COHERENT_EN); +} + +static void iommu_apply_quirks(struct amd_iommu *iommu) +{ + if (is_rd890_iommu(iommu->dev)) { + pci_write_config_dword(iommu->dev, 0xf0, iommu->cache_cfg[0]); + pci_write_config_dword(iommu->dev, 0xf4, iommu->cache_cfg[1]); + pci_write_config_dword(iommu->dev, 0xf8, iommu->cache_cfg[2]); + pci_write_config_dword(iommu->dev, 0xfc, iommu->cache_cfg[3]); + } +} + /* * This function finally enables all IOMMUs found in the system after * they have been initialized @@ -1092,6 +1120,8 @@ for_each_iommu(iommu) { iommu_disable(iommu); + iommu_apply_quirks(iommu); + iommu_init_flags(iommu); iommu_set_device_table(iommu); iommu_enable_command_buffer(iommu); iommu_enable_event_buffer(iommu); @@ -1263,6 +1293,9 @@ if (acpi_table_parse("IVRS", init_iommu_all) != 0) goto free; + if (!amd_iommu_initialized) + goto free; + if (acpi_table_parse("IVRS", init_memory_definitions) != 0) goto free; @@ -1274,14 +1307,17 @@ if (ret) goto free; + enable_iommus(); + if (iommu_pass_through) ret = amd_iommu_init_passthrough(); else ret = amd_iommu_init_dma_ops(); + if (ret) goto free; - enable_iommus(); + amd_iommu_init_api(); if (iommu_pass_through) goto out; @@ -1301,6 +1337,8 @@ return ret; free: + disable_iommus(); + free_pages((unsigned long)amd_iommu_pd_alloc_bitmap, get_order(MAX_DOMAIN_ID/8)); --- linux-2.6.32.orig/arch/x86/kernel/aperture_64.c +++ linux-2.6.32/arch/x86/kernel/aperture_64.c @@ -389,6 +389,7 @@ for (i = 0; i < ARRAY_SIZE(bus_dev_ranges); i++) { int bus; int dev_base, dev_limit; + u32 ctl; bus = bus_dev_ranges[i].bus; dev_base = bus_dev_ranges[i].dev_base; @@ -401,7 +402,19 @@ iommu_detected = 1; gart_iommu_aperture = 1; - aper_order = (read_pci_config(bus, slot, 3, AMD64_GARTAPERTURECTL) >> 1) & 7; + ctl = read_pci_config(bus, slot, 3, + AMD64_GARTAPERTURECTL); + + /* + * Before we do anything else disable the GART. It may + * still be enabled if we boot into a crash-kernel here. + * Reconfiguring the GART while it is enabled could have + * unknown side-effects. + */ + ctl &= ~GARTEN; + write_pci_config(bus, slot, 3, AMD64_GARTAPERTURECTL, ctl); + + aper_order = (ctl >> 1) & 7; aper_size = (32 * 1024 * 1024) << aper_order; aper_base = read_pci_config(bus, slot, 3, AMD64_GARTAPERTUREBASE) & 0x7fff; aper_base <<= 25; --- linux-2.6.32.orig/arch/x86/kernel/cpuid.c +++ linux-2.6.32/arch/x86/kernel/cpuid.c @@ -192,7 +192,8 @@ int i, err = 0; i = 0; - if (register_chrdev(CPUID_MAJOR, "cpu/cpuid", &cpuid_fops)) { + if (__register_chrdev(CPUID_MAJOR, 0, NR_CPUS, + "cpu/cpuid", &cpuid_fops)) { printk(KERN_ERR "cpuid: unable to get major %d for cpuid\n", CPUID_MAJOR); err = -EBUSY; @@ -221,7 +222,7 @@ } class_destroy(cpuid_class); out_chrdev: - unregister_chrdev(CPUID_MAJOR, "cpu/cpuid"); + __unregister_chrdev(CPUID_MAJOR, 0, NR_CPUS, "cpu/cpuid"); out: return err; } @@ -233,7 +234,7 @@ for_each_online_cpu(cpu) cpuid_device_destroy(cpu); class_destroy(cpuid_class); - unregister_chrdev(CPUID_MAJOR, "cpu/cpuid"); + __unregister_chrdev(CPUID_MAJOR, 0, NR_CPUS, "cpu/cpuid"); unregister_hotcpu_notifier(&cpuid_class_cpu_notifier); } --- linux-2.6.32.orig/arch/x86/kernel/crash.c +++ linux-2.6.32/arch/x86/kernel/crash.c @@ -27,7 +27,6 @@ #include #include #include -#include #if defined(CONFIG_SMP) && defined(CONFIG_X86_LOCAL_APIC) @@ -104,10 +103,5 @@ #ifdef CONFIG_HPET_TIMER hpet_disable(); #endif - -#ifdef CONFIG_X86_64 - pci_iommu_shutdown(); -#endif - crash_save_cpu(regs, safe_smp_processor_id()); } --- linux-2.6.32.orig/arch/x86/kernel/crash_dump_64.c +++ linux-2.6.32/arch/x86/kernel/crash_dump_64.c @@ -34,7 +34,7 @@ if (!csize) return 0; - vaddr = ioremap(pfn << PAGE_SHIFT, PAGE_SIZE); + vaddr = ioremap_cache(pfn << PAGE_SHIFT, PAGE_SIZE); if (!vaddr) return -ENOMEM; @@ -46,6 +46,7 @@ } else memcpy(buf, vaddr + offset, csize); + set_iounmap_nonlazy(); iounmap(vaddr); return csize; } --- linux-2.6.32.orig/arch/x86/kernel/e820.c +++ linux-2.6.32/arch/x86/kernel/e820.c @@ -79,7 +79,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; @@ -106,6 +106,7 @@ } return 0; } +EXPORT_SYMBOL_GPL(e820_all_mapped); /* * Add a memory region to the kernel e820 map. @@ -1236,15 +1237,21 @@ if (!p) return -EINVAL; -#ifdef CONFIG_X86_32 if (!strcmp(p, "nopentium")) { +#ifdef CONFIG_X86_32 setup_clear_cpu_cap(X86_FEATURE_PSE); return 0; - } +#else + printk(KERN_WARNING "mem=nopentium ignored! (only supported on x86_32)\n"); + return -EINVAL; #endif + } userdef = 1; mem_size = memparse(p, &p); + /* don't remove all of memory when handling "mem={invalid}" param */ + if (mem_size == 0) + return -EINVAL; e820_remove_range(mem_size, ULLONG_MAX - mem_size, E820_RAM, 1); return 0; --- linux-2.6.32.orig/arch/x86/kernel/early-quirks.c +++ linux-2.6.32/arch/x86/kernel/early-quirks.c @@ -145,15 +145,10 @@ static u32 __init ati_sbx00_rev(int num, int slot, int func) { - u32 old, d; + u32 d; - d = read_pci_config(num, slot, func, 0x70); - old = d; - d &= ~(1<<8); - write_pci_config(num, slot, func, 0x70, d); d = read_pci_config(num, slot, func, 0x8); d &= 0xff; - write_pci_config(num, slot, func, 0x70, old); return d; } @@ -162,11 +157,19 @@ { u32 d, rev; - if (acpi_use_timer_override) + rev = ati_sbx00_rev(num, slot, func); + if (rev >= 0x40) + acpi_fix_pin2_polarity = 1; + + /* + * SB600: revisions 0x11, 0x12, 0x13, 0x14, ... + * SB700: revisions 0x39, 0x3a, ... + * SB800: revisions 0x40, 0x41, ... + */ + if (rev >= 0x39) return; - rev = ati_sbx00_rev(num, slot, func); - if (rev > 0x13) + if (acpi_use_timer_override) return; /* check for IRQ0 interrupt swap */ --- linux-2.6.32.orig/arch/x86/kernel/entry_64.S +++ linux-2.6.32/arch/x86/kernel/entry_64.S @@ -1303,7 +1303,7 @@ decl PER_CPU_VAR(irq_count) jmp error_exit CFI_ENDPROC -END(do_hypervisor_callback) +END(xen_do_hypervisor_callback) /* * Hypervisor uses this for application faults while it executes. --- linux-2.6.32.orig/arch/x86/kernel/head_32.S +++ linux-2.6.32/arch/x86/kernel/head_32.S @@ -324,7 +324,7 @@ /* * Enable paging */ - movl $pa(swapper_pg_dir),%eax + movl pa(initial_page_table), %eax movl %eax,%cr3 /* set the page table pointer.. */ movl %cr0,%eax orl $X86_CR0_PG,%eax @@ -604,6 +604,8 @@ .align 4 ENTRY(initial_code) .long i386_start_kernel +ENTRY(initial_page_table) + .long pa(swapper_pg_dir) /* * BSS section @@ -619,6 +621,10 @@ #endif swapper_pg_fixmap: .fill 1024,4,0 +#ifdef CONFIG_X86_TRAMPOLINE +ENTRY(trampoline_pg_dir) + .fill 1024,4,0 +#endif ENTRY(empty_zero_page) .fill 4096,1,0 --- linux-2.6.32.orig/arch/x86/kernel/hpet.c +++ linux-2.6.32/arch/x86/kernel/hpet.c @@ -27,12 +27,17 @@ #define HPET_DEV_FSB_CAP 0x1000 #define HPET_DEV_PERI_CAP 0x2000 +#define HPET_MIN_CYCLES 128 +#define HPET_MIN_PROG_DELTA (HPET_MIN_CYCLES + (HPET_MIN_CYCLES >> 1)) + #define EVT_TO_HPET_DEV(evt) container_of(evt, struct hpet_dev, evt) /* * HPET address is set in acpi/boot.c, when an ACPI entry exists */ unsigned long hpet_address; +u8 hpet_msi_disable; + #ifdef CONFIG_PCI_MSI static unsigned long hpet_num_timers; #endif @@ -296,8 +301,9 @@ /* Calculate the min / max delta */ hpet_clockevent.max_delta_ns = clockevent_delta2ns(0x7FFFFFFF, &hpet_clockevent); - /* 5 usec minimum reprogramming delta. */ - hpet_clockevent.min_delta_ns = 5000; + /* Setup minimum reprogramming delta. */ + hpet_clockevent.min_delta_ns = clockevent_delta2ns(HPET_MIN_PROG_DELTA, + &hpet_clockevent); /* * Start hpet with the boot cpu mask and make it @@ -377,19 +383,37 @@ struct clock_event_device *evt, int timer) { u32 cnt; + s32 res; cnt = hpet_readl(HPET_COUNTER); cnt += (u32) delta; hpet_writel(cnt, HPET_Tn_CMP(timer)); /* - * We need to read back the CMP register to make sure that - * what we wrote hit the chip before we compare it to the - * counter. + * HPETs are a complete disaster. The compare register is + * based on a equal comparison and neither provides a less + * than or equal functionality (which would require to take + * the wraparound into account) nor a simple count down event + * mode. Further the write to the comparator register is + * delayed internally up to two HPET clock cycles in certain + * chipsets (ATI, ICH9,10). Some newer AMD chipsets have even + * longer delays. We worked around that by reading back the + * compare register, but that required another workaround for + * ICH9,10 chips where the first readout after write can + * return the old stale value. We already had a minimum + * programming delta of 5us enforced, but a NMI or SMI hitting + * between the counter readout and the comparator write can + * move us behind that point easily. Now instead of reading + * the compare register back several times, we make the ETIME + * decision based on the following: Return ETIME if the + * counter value after the write is less than HPET_MIN_CYCLES + * away from the event or if the counter is already ahead of + * the event. The minimum programming delta for the generic + * clockevents code is set to 1.5 * HPET_MIN_CYCLES. */ - WARN_ON_ONCE((u32)hpet_readl(HPET_Tn_CMP(timer)) != cnt); + res = (s32)(cnt - (u32)hpet_readl(HPET_COUNTER)); - return (s32)((u32)hpet_readl(HPET_COUNTER) - cnt) >= 0 ? -ETIME : 0; + return res < HPET_MIN_CYCLES ? -ETIME : 0; } static void hpet_legacy_set_mode(enum clock_event_mode mode, @@ -478,7 +502,7 @@ { unsigned int irq; - irq = create_irq(); + irq = create_irq_nr(0, -1); if (!irq) return -EINVAL; @@ -584,6 +608,11 @@ unsigned int num_timers_used = 0; int i; + if (hpet_msi_disable) + return; + + if (boot_cpu_has(X86_FEATURE_ARAT)) + return; id = hpet_readl(HPET_ID); num_timers = ((id & HPET_ID_NUMBER) >> HPET_ID_NUMBER_SHIFT); @@ -872,10 +901,8 @@ if (id & HPET_ID_LEGSUP) { hpet_legacy_clockevent_register(); - hpet_msi_capability_lookup(2); return 1; } - hpet_msi_capability_lookup(0); return 0; out_nohpet: @@ -908,9 +935,20 @@ if (!hpet_virt_address) return -ENODEV; + if (hpet_readl(HPET_ID) & HPET_ID_LEGSUP) + hpet_msi_capability_lookup(2); + else + hpet_msi_capability_lookup(0); + hpet_reserve_platform_timers(hpet_readl(HPET_ID)); hpet_print_config(); + if (hpet_msi_disable) + return 0; + + if (boot_cpu_has(X86_FEATURE_ARAT)) + return 0; + for_each_online_cpu(cpu) { hpet_cpuhp_notify(NULL, CPU_ONLINE, (void *)(long)cpu); } @@ -924,7 +962,7 @@ void hpet_disable(void) { - if (is_hpet_capable()) { + if (is_hpet_capable() && hpet_virt_address) { unsigned long cfg = hpet_readl(HPET_CFG); if (hpet_legacy_int_enabled) { --- linux-2.6.32.orig/arch/x86/kernel/kprobes.c +++ linux-2.6.32/arch/x86/kernel/kprobes.c @@ -83,8 +83,10 @@ /* * Undefined/reserved opcodes, conditional jump, Opcode Extension * Groups, and some special opcodes can not boost. + * This is non-const to keep gcc from statically optimizing it out, as + * variable_test_bit makes gcc think only *(unsigned long*) is used. */ -static const u32 twobyte_is_boostable[256 / 32] = { +static u32 twobyte_is_boostable[256 / 32] = { /* 0 1 2 3 4 5 6 7 8 9 a b c d e f */ /* ---------------------------------------------- */ W(0x00, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0) | /* 00 */ --- linux-2.6.32.orig/arch/x86/kernel/microcode_amd.c +++ linux-2.6.32/arch/x86/kernel/microcode_amd.c @@ -63,7 +63,6 @@ unsigned int mpb[0]; }; -#define UCODE_MAX_SIZE 2048 #define UCODE_CONTAINER_SECTION_HDR 8 #define UCODE_CONTAINER_HEADER_SIZE 12 @@ -109,12 +108,8 @@ return 0; } - if (mc_header->processor_rev_id != equiv_cpu_id) { - printk(KERN_ERR "microcode: CPU%d: patch mismatch " - "(processor_rev_id: %x, equiv_cpu_id: %x)\n", - cpu, mc_header->processor_rev_id, equiv_cpu_id); + if (mc_header->processor_rev_id != equiv_cpu_id) return 0; - } /* ucode might be chipset specific -- currently we don't support this */ if (mc_header->nb_dev_id || mc_header->sb_dev_id) { @@ -129,6 +124,37 @@ return 1; } +static unsigned int verify_ucode_size(int cpu, const u8 *buf, unsigned int size) +{ + struct cpuinfo_x86 *c = &cpu_data(cpu); + unsigned int max_size, actual_size; + +#define F1XH_MPB_MAX_SIZE 2048 +#define F14H_MPB_MAX_SIZE 1824 +#define F15H_MPB_MAX_SIZE 4096 + + switch (c->x86) { + case 0x14: + max_size = F14H_MPB_MAX_SIZE; + break; + case 0x15: + max_size = F15H_MPB_MAX_SIZE; + break; + default: + max_size = F1XH_MPB_MAX_SIZE; + break; + } + + actual_size = buf[4] + (buf[5] << 8); + + if (actual_size > size || actual_size > max_size) { + pr_err("section size mismatch\n"); + return 0; + } + + return actual_size; +} + static int apply_microcode_amd(int cpu) { u32 rev, dummy; @@ -168,11 +194,11 @@ } static void * -get_next_ucode(const u8 *buf, unsigned int size, unsigned int *mc_size) +get_next_ucode(int cpu, const u8 *buf, unsigned int size, unsigned int *mc_size) { - unsigned int total_size; + unsigned int actual_size = 0; u8 section_hdr[UCODE_CONTAINER_SECTION_HDR]; - void *mc; + void *mc = NULL; if (get_ucode_data(section_hdr, buf, UCODE_CONTAINER_SECTION_HDR)) return NULL; @@ -183,26 +209,18 @@ return NULL; } - total_size = (unsigned long) (section_hdr[4] + (section_hdr[5] << 8)); - - printk(KERN_DEBUG "microcode: size %u, total_size %u\n", - size, total_size); + actual_size = verify_ucode_size(cpu, buf, size); + if (!actual_size) + return NULL; - if (total_size > size || total_size > UCODE_MAX_SIZE) { - printk(KERN_ERR "microcode: error: size mismatch\n"); + mc = vmalloc(actual_size); + if (!mc) return NULL; - } - mc = vmalloc(UCODE_MAX_SIZE); - if (mc) { - memset(mc, 0, UCODE_MAX_SIZE); - if (get_ucode_data(mc, buf + UCODE_CONTAINER_SECTION_HDR, - total_size)) { - vfree(mc); - mc = NULL; - } else - *mc_size = total_size + UCODE_CONTAINER_SECTION_HDR; - } + memset(mc, 0, actual_size); + get_ucode_data(mc, buf + UCODE_CONTAINER_SECTION_HDR, actual_size); + *mc_size = actual_size + UCODE_CONTAINER_SECTION_HDR; + return mc; } @@ -271,7 +289,7 @@ unsigned int uninitialized_var(mc_size); struct microcode_header_amd *mc_header; - mc = get_next_ucode(ucode_ptr, leftover, &mc_size); + mc = get_next_ucode(cpu, ucode_ptr, leftover, &mc_size); if (!mc) break; --- linux-2.6.32.orig/arch/x86/kernel/mpparse.c +++ linux-2.6.32/arch/x86/kernel/mpparse.c @@ -94,8 +94,8 @@ } #endif + set_bit(m->busid, mp_bus_not_pci); if (strncmp(str, BUSTYPE_ISA, sizeof(BUSTYPE_ISA) - 1) == 0) { - set_bit(m->busid, mp_bus_not_pci); #if defined(CONFIG_EISA) || defined(CONFIG_MCA) mp_bus_id_to_type[m->busid] = MP_BUS_ISA; #endif @@ -359,13 +359,6 @@ x86_init.mpparse.mpc_record(1); } -#ifdef CONFIG_X86_BIGSMP - generic_bigsmp_probe(); -#endif - - if (apic->setup_apic_routing) - apic->setup_apic_routing(); - if (!num_processors) printk(KERN_ERR "MPTABLE: no processors registered!\n"); return num_processors; --- linux-2.6.32.orig/arch/x86/kernel/msr.c +++ linux-2.6.32/arch/x86/kernel/msr.c @@ -251,7 +251,7 @@ int i, err = 0; i = 0; - if (register_chrdev(MSR_MAJOR, "cpu/msr", &msr_fops)) { + if (__register_chrdev(MSR_MAJOR, 0, NR_CPUS, "cpu/msr", &msr_fops)) { printk(KERN_ERR "msr: unable to get major %d for msr\n", MSR_MAJOR); err = -EBUSY; @@ -279,7 +279,7 @@ msr_device_destroy(i); class_destroy(msr_class); out_chrdev: - unregister_chrdev(MSR_MAJOR, "cpu/msr"); + __unregister_chrdev(MSR_MAJOR, 0, NR_CPUS, "cpu/msr"); out: return err; } @@ -290,7 +290,7 @@ for_each_online_cpu(cpu) msr_device_destroy(cpu); class_destroy(msr_class); - unregister_chrdev(MSR_MAJOR, "cpu/msr"); + __unregister_chrdev(MSR_MAJOR, 0, NR_CPUS, "cpu/msr"); unregister_hotcpu_notifier(&msr_class_cpu_notifier); } --- linux-2.6.32.orig/arch/x86/kernel/paravirt.c +++ linux-2.6.32/arch/x86/kernel/paravirt.c @@ -345,6 +345,9 @@ .read_tscp = native_read_tscp, .load_tr_desc = native_load_tr_desc, .set_ldt = native_set_ldt, +#ifdef CONFIG_X86_32 + .load_user_cs_desc = native_load_user_cs_desc, +#endif /*CONFIG_X86_32*/ .load_gdt = native_load_gdt, .load_idt = native_load_idt, .store_gdt = native_store_gdt, --- linux-2.6.32.orig/arch/x86/kernel/pci-calgary_64.c +++ linux-2.6.32/arch/x86/kernel/pci-calgary_64.c @@ -102,11 +102,16 @@ #define PMR_SOFTSTOPFAULT 0x40000000 #define PMR_HARDSTOP 0x20000000 -#define MAX_NUM_OF_PHBS 8 /* how many PHBs in total? */ -#define MAX_NUM_CHASSIS 8 /* max number of chassis */ -/* MAX_PHB_BUS_NUM is the maximal possible dev->bus->number */ -#define MAX_PHB_BUS_NUM (MAX_NUM_OF_PHBS * MAX_NUM_CHASSIS * 2) -#define PHBS_PER_CALGARY 4 +/* + * The maximum PHB bus number. + * x3950M2 (rare): 8 chassis, 48 PHBs per chassis = 384 + * x3950M2: 4 chassis, 48 PHBs per chassis = 192 + * x3950 (PCIE): 8 chassis, 32 PHBs per chassis = 256 + * x3950 (PCIX): 8 chassis, 16 PHBs per chassis = 128 + */ +#define MAX_PHB_BUS_NUM 256 + +#define PHBS_PER_CALGARY 4 /* register offsets in Calgary's internal register space */ static const unsigned long tar_offsets[] = { @@ -318,13 +323,15 @@ pdev = to_pci_dev(dev); + /* search up the device tree for an iommu */ pbus = pdev->bus; - - /* is the device behind a bridge? Look for the root bus */ - while (pbus->parent) + do { + tbl = pci_iommu(pbus); + if (tbl && tbl->it_busno == pbus->number) + break; + tbl = NULL; pbus = pbus->parent; - - tbl = pci_iommu(pbus); + } while (pbus); BUG_ON(tbl && (tbl->it_busno != pbus->number)); @@ -1051,8 +1058,6 @@ struct iommu_table *tbl; int ret; - BUG_ON(dev->bus->number >= MAX_PHB_BUS_NUM); - bbar = busno_to_bbar(dev->bus->number); ret = calgary_setup_tar(dev, bbar); if (ret) --- linux-2.6.32.orig/arch/x86/kernel/pci-dma.c +++ linux-2.6.32/arch/x86/kernel/pci-dma.c @@ -214,7 +214,7 @@ if (!strncmp(p, "allowdac", 8)) forbid_dac = 0; if (!strncmp(p, "nodac", 5)) - forbid_dac = -1; + forbid_dac = 1; if (!strncmp(p, "usedac", 6)) { forbid_dac = -1; return 1; --- linux-2.6.32.orig/arch/x86/kernel/ptrace.c +++ linux-2.6.32/arch/x86/kernel/ptrace.c @@ -408,14 +408,14 @@ { if (kbuf) { unsigned long *k = kbuf; - while (count > 0) { + while (count >= sizeof(*k)) { *k++ = getreg(target, pos); count -= sizeof(*k); pos += sizeof(*k); } } else { unsigned long __user *u = ubuf; - while (count > 0) { + while (count >= sizeof(*u)) { if (__put_user(getreg(target, pos), u++)) return -EFAULT; count -= sizeof(*u); @@ -434,14 +434,14 @@ int ret = 0; if (kbuf) { const unsigned long *k = kbuf; - while (count > 0 && !ret) { + while (count >= sizeof(*k) && !ret) { ret = putreg(target, pos, *k++); count -= sizeof(*k); pos += sizeof(*k); } } else { const unsigned long __user *u = ubuf; - while (count > 0 && !ret) { + while (count >= sizeof(*u) && !ret) { unsigned long word; ret = __get_user(word, u++); if (ret) @@ -1219,14 +1219,14 @@ { if (kbuf) { compat_ulong_t *k = kbuf; - while (count > 0) { + while (count >= sizeof(*k)) { getreg32(target, pos, k++); count -= sizeof(*k); pos += sizeof(*k); } } else { compat_ulong_t __user *u = ubuf; - while (count > 0) { + while (count >= sizeof(*u)) { compat_ulong_t word; getreg32(target, pos, &word); if (__put_user(word, u++)) @@ -1247,14 +1247,14 @@ int ret = 0; if (kbuf) { const compat_ulong_t *k = kbuf; - while (count > 0 && !ret) { + while (count >= sizeof(*k) && !ret) { ret = putreg32(target, pos, *k++); count -= sizeof(*k); pos += sizeof(*k); } } else { const compat_ulong_t __user *u = ubuf; - while (count > 0 && !ret) { + while (count >= sizeof(*u) && !ret) { compat_ulong_t word; ret = __get_user(word, u++); if (ret) --- linux-2.6.32.orig/arch/x86/kernel/process.c +++ linux-2.6.32/arch/x86/kernel/process.c @@ -91,18 +91,6 @@ { struct task_struct *tsk = current; -#ifdef CONFIG_X86_64 - if (test_tsk_thread_flag(tsk, TIF_ABI_PENDING)) { - clear_tsk_thread_flag(tsk, TIF_ABI_PENDING); - if (test_tsk_thread_flag(tsk, TIF_IA32)) { - clear_tsk_thread_flag(tsk, TIF_IA32); - } else { - set_tsk_thread_flag(tsk, TIF_IA32); - current_thread_info()->status |= TS_COMPAT; - } - } -#endif - clear_tsk_thread_flag(tsk, TIF_DEBUG); tsk->thread.debugreg0 = 0; @@ -450,24 +438,6 @@ return (edx & MWAIT_EDX_C1); } -/* - * Check for AMD CPUs, which have potentially C1E support - */ -static int __cpuinit check_c1e_idle(const struct cpuinfo_x86 *c) -{ - if (c->x86_vendor != X86_VENDOR_AMD) - return 0; - - if (c->x86 < 0x0F) - return 0; - - /* Family 0x0f models < rev F do not have C1E */ - if (c->x86 == 0x0f && c->x86_model < 0x40) - return 0; - - return 1; -} - static cpumask_var_t c1e_mask; static int c1e_detected; @@ -545,7 +515,8 @@ */ printk(KERN_INFO "using mwait in idle threads.\n"); pm_idle = mwait_idle; - } else if (check_c1e_idle(c)) { + } else if (cpu_has_amd_erratum(amd_erratum_400)) { + /* E400: APIC timer interrupt does not wake up CPU from C1e */ printk(KERN_INFO "using C1E aware idle routine\n"); pm_idle = c1e_idle; } else @@ -607,6 +578,16 @@ unsigned long arch_randomize_brk(struct mm_struct *mm) { unsigned long range_end = mm->brk + 0x02000000; - return randomize_range(mm->brk, range_end, 0) ? : mm->brk; + unsigned long bump = 0; +#ifdef CONFIG_X86_32 + /* in the case of NX emulation, shove the brk segment way out of the + way of the exec randomization area, since it can collide with + future allocations if not. */ + if ( (mm->get_unmapped_exec_area == arch_get_unmapped_exec_area) && + (mm->brk < 0x08000000) ) { + bump = (TASK_SIZE/6); + } +#endif + return bump + (randomize_range(mm->brk, range_end, 0) ? : mm->brk); } --- linux-2.6.32.orig/arch/x86/kernel/process_32.c +++ linux-2.6.32/arch/x86/kernel/process_32.c @@ -296,15 +296,21 @@ void start_thread(struct pt_regs *regs, unsigned long new_ip, unsigned long new_sp) { + int cpu; + set_user_gs(regs, 0); regs->fs = 0; - set_fs(USER_DS); regs->ds = __USER_DS; regs->es = __USER_DS; regs->ss = __USER_DS; regs->cs = __USER_CS; regs->ip = new_ip; regs->sp = new_sp; + + cpu = get_cpu(); + load_user_cs_desc(cpu, current->mm); + put_cpu(); + /* * Free the old FP and other extended state */ @@ -359,6 +365,8 @@ preload_fpu = tsk_used_math(next_p) && next_p->fpu_counter > 5; __unlazy_fpu(prev_p); + if (next_p->mm) + load_user_cs_desc(cpu, next_p->mm); /* we're going to use this soon, after a few expensive things */ if (preload_fpu) @@ -497,3 +505,40 @@ return 0; } +static void modify_cs(struct mm_struct *mm, unsigned long limit) +{ + mm->context.exec_limit = limit; + set_user_cs(&mm->context.user_cs, limit); + if (mm == current->mm) { + int cpu; + + cpu = get_cpu(); + load_user_cs_desc(cpu, mm); + put_cpu(); + } +} + +void arch_add_exec_range(struct mm_struct *mm, unsigned long limit) +{ + if (limit > mm->context.exec_limit) + modify_cs(mm, limit); +} + +void arch_remove_exec_range(struct mm_struct *mm, unsigned long old_end) +{ + struct vm_area_struct *vma; + unsigned long limit = PAGE_SIZE; + + if (old_end == mm->context.exec_limit) { + for (vma = mm->mmap; vma; vma = vma->vm_next) + if ((vma->vm_flags & VM_EXEC) && (vma->vm_end > limit)) + limit = vma->vm_end; + modify_cs(mm, limit); + } +} + +void arch_flush_exec_range(struct mm_struct *mm) +{ + mm->context.exec_limit = 0; + set_user_cs(&mm->context.user_cs, 0); +} --- linux-2.6.32.orig/arch/x86/kernel/process_64.c +++ linux-2.6.32/arch/x86/kernel/process_64.c @@ -295,11 +295,10 @@ set_tsk_thread_flag(p, TIF_FORK); - p->thread.fs = me->thread.fs; - p->thread.gs = me->thread.gs; - savesegment(gs, p->thread.gsindex); + p->thread.gs = p->thread.gsindex ? 0 : me->thread.gs; savesegment(fs, p->thread.fsindex); + p->thread.fs = p->thread.fsindex ? 0 : me->thread.fs; savesegment(es, p->thread.es); savesegment(ds, p->thread.ds); @@ -357,7 +356,6 @@ regs->cs = __USER_CS; regs->ss = __USER_DS; regs->flags = 0x200; - set_fs(USER_DS); /* * Free the old FP and other extended state */ @@ -540,6 +538,18 @@ return do_fork(clone_flags, newsp, regs, 0, parent_tid, child_tid); } +void set_personality_ia32(void) +{ + /* inherit personality from parent */ + + /* Make sure to be in 32bit mode */ + set_thread_flag(TIF_IA32); + current->personality |= force_personality32; + + /* Prepare the first "return" to user space */ + current_thread_info()->status |= TS_COMPAT; +} + unsigned long get_wchan(struct task_struct *p) { unsigned long stack; --- linux-2.6.32.orig/arch/x86/kernel/pvclock.c +++ linux-2.6.32/arch/x86/kernel/pvclock.c @@ -74,7 +74,8 @@ static u64 pvclock_get_nsec_offset(struct pvclock_shadow_time *shadow) { u64 delta = native_read_tsc() - shadow->tsc_timestamp; - return scale_delta(delta, shadow->tsc_to_nsec_mul, shadow->tsc_shift); + return pvclock_scale_delta(delta, shadow->tsc_to_nsec_mul, + shadow->tsc_shift); } /* @@ -109,11 +110,19 @@ return pv_tsc_khz; } +static atomic64_t last_value = ATOMIC64_INIT(0); + +void pvclock_resume(void) +{ + atomic64_set(&last_value, 0); +} + cycle_t pvclock_clocksource_read(struct pvclock_vcpu_time_info *src) { struct pvclock_shadow_time shadow; unsigned version; cycle_t ret, offset; + u64 last; do { version = pvclock_get_time_values(&shadow, src); @@ -123,6 +132,27 @@ barrier(); } while (version != src->version); + /* + * Assumption here is that last_value, a global accumulator, always goes + * forward. If we are less than that, we should not be much smaller. + * We assume there is an error marging we're inside, and then the correction + * does not sacrifice accuracy. + * + * For reads: global may have changed between test and return, + * but this means someone else updated poked the clock at a later time. + * We just need to make sure we are not seeing a backwards event. + * + * For updates: last_value = ret is not enough, since two vcpus could be + * updating at the same time, and one of them could be slightly behind, + * making the assumption that last_value always go forward fail to hold. + */ + last = atomic64_read(&last_value); + do { + if (ret < last) + return last; + last = atomic64_cmpxchg(&last_value, last, ret); + } while (unlikely(last != ret)); + return ret; } --- linux-2.6.32.orig/arch/x86/kernel/quirks.c +++ linux-2.6.32/arch/x86/kernel/quirks.c @@ -491,6 +491,19 @@ break; } } + +/* + * HPET MSI on some boards (ATI SB700/SB800) has side effect on + * floppy DMA. Disable HPET MSI on such platforms. + */ +static void force_disable_hpet_msi(struct pci_dev *unused) +{ + hpet_msi_disable = 1; +} + +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_SBX00_SMBUS, + force_disable_hpet_msi); + #endif #if defined(CONFIG_PCI) && defined(CONFIG_NUMA) @@ -499,6 +512,7 @@ { struct pci_dev *nb_ht; unsigned int devfn; + u32 node; u32 val; devfn = PCI_DEVFN(PCI_SLOT(dev->devfn), 0); @@ -507,7 +521,13 @@ return; pci_read_config_dword(nb_ht, 0x60, &val); - set_dev_node(&dev->dev, val & 7); + node = val & 7; + /* + * Some hardware may return an invalid node ID, + * so check it first: + */ + if (node_online(node)) + set_dev_node(&dev->dev, node); pci_dev_put(nb_ht); } --- linux-2.6.32.orig/arch/x86/kernel/reboot.c +++ linux-2.6.32/arch/x86/kernel/reboot.c @@ -203,6 +203,15 @@ DMI_MATCH(DMI_BOARD_NAME, "0T656F"), }, }, + { /* Handle problems with rebooting on Dell OptiPlex 760 with 0G919G*/ + .callback = set_bios_reboot, + .ident = "Dell OptiPlex 760", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 760"), + DMI_MATCH(DMI_BOARD_NAME, "0G919G"), + }, + }, { /* Handle problems with rebooting on Dell 2400's */ .callback = set_bios_reboot, .ident = "Dell PowerEdge 2400", @@ -259,6 +268,14 @@ DMI_MATCH(DMI_PRODUCT_NAME, "SBC-FITPC2"), }, }, + { /* Handle problems with rebooting on ASUS P4S800 */ + .callback = set_bios_reboot, + .ident = "ASUS P4S800", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), + DMI_MATCH(DMI_BOARD_NAME, "P4S800"), + }, + }, { } }; @@ -444,6 +461,22 @@ DMI_MATCH(DMI_PRODUCT_NAME, "Macmini3,1"), }, }, + { /* Handle problems with rebooting on the iMac9,1. */ + .callback = set_pci_reboot, + .ident = "Apple iMac9,1", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "iMac9,1"), + }, + }, + { /* Handle problems with rebooting on the Latitude E5420. */ + .callback = set_pci_reboot, + .ident = "Dell Latitude E5420", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E5420"), + }, + }, { } }; @@ -608,7 +641,7 @@ /* O.K Now that I'm on the appropriate processor, * stop all of the others. */ - smp_send_stop(); + stop_other_cpus(); #endif lapic_shutdown(); --- linux-2.6.32.orig/arch/x86/kernel/relocate_kernel_32.S +++ linux-2.6.32/arch/x86/kernel/relocate_kernel_32.S @@ -97,6 +97,8 @@ ret identity_mapped: + /* set return address to 0 if not preserving context */ + pushl $0 /* store the start address on the stack */ pushl %edx --- linux-2.6.32.orig/arch/x86/kernel/relocate_kernel_64.S +++ linux-2.6.32/arch/x86/kernel/relocate_kernel_64.S @@ -100,6 +100,8 @@ ret identity_mapped: + /* set return address to 0 if not preserving context */ + pushq $0 /* store the start address on the stack */ pushq %rdx --- linux-2.6.32.orig/arch/x86/kernel/setup.c +++ linux-2.6.32/arch/x86/kernel/setup.c @@ -109,6 +109,8 @@ #ifdef CONFIG_X86_64 #include #endif +#include +#include /* * end_pfn only includes RAM, while max_pfn_mapped includes all e820 entries. @@ -666,19 +668,38 @@ DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix/MSC"), }, }, - { /* - * AMI BIOS with low memory corruption was found on Intel DG45ID board. - * It hase different DMI_BIOS_VENDOR = "Intel Corp.", for now we will + * AMI BIOS with low memory corruption was found on Intel DG45ID and + * DG45FC boards. + * It has a different DMI_BIOS_VENDOR = "Intel Corp.", for now we will * match only DMI_BOARD_NAME and see if there is more bad products * with this vendor. */ + { .callback = dmi_low_memory_corruption, .ident = "AMI BIOS", .matches = { DMI_MATCH(DMI_BOARD_NAME, "DG45ID"), }, }, + { + .callback = dmi_low_memory_corruption, + .ident = "AMI BIOS", + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "DG45FC"), + }, + }, + /* + * The Dell Inspiron Mini 1012 has DMI_BIOS_VENDOR = "Dell Inc.", so + * match on the product name. + */ + { + .callback = dmi_low_memory_corruption, + .ident = "Phoenix BIOS", + .matches = { + DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1012"), + }, + }, #endif {} }; @@ -978,6 +999,8 @@ paging_init(); x86_init.paging.pagetable_setup_done(swapper_pg_dir); + setup_trampoline_page_table(); + tboot_probe(); #ifdef CONFIG_X86_64 @@ -1031,6 +1054,8 @@ #endif #endif x86_init.oem.banner(); + + mcheck_intel_therm_init(); } #ifdef CONFIG_X86_32 --- linux-2.6.32.orig/arch/x86/kernel/smp.c +++ linux-2.6.32/arch/x86/kernel/smp.c @@ -158,10 +158,10 @@ irq_exit(); } -static void native_smp_send_stop(void) +static void native_stop_other_cpus(int wait) { unsigned long flags; - unsigned long wait; + unsigned long timeout; if (reboot_force) return; @@ -178,9 +178,12 @@ if (num_online_cpus() > 1) { apic->send_IPI_allbutself(REBOOT_VECTOR); - /* Don't wait longer than a second */ - wait = USEC_PER_SEC; - while (num_online_cpus() > 1 && wait--) + /* + * Don't wait longer than a second if the caller + * didn't ask us to wait. + */ + timeout = USEC_PER_SEC; + while (num_online_cpus() > 1 && (wait || timeout--)) udelay(1); } @@ -226,7 +229,7 @@ .smp_prepare_cpus = native_smp_prepare_cpus, .smp_cpus_done = native_smp_cpus_done, - .smp_send_stop = native_smp_send_stop, + .stop_other_cpus = native_stop_other_cpus, .smp_send_reschedule = native_smp_send_reschedule, .cpu_up = native_cpu_up, --- linux-2.6.32.orig/arch/x86/kernel/smpboot.c +++ linux-2.6.32/arch/x86/kernel/smpboot.c @@ -70,7 +70,6 @@ #ifdef CONFIG_X86_32 u8 apicid_2_node[MAX_APICID]; -static int low_mappings; #endif /* State of each CPU */ @@ -88,6 +87,25 @@ static DEFINE_PER_CPU(struct task_struct *, idle_thread_array); #define get_idle_for_cpu(x) (per_cpu(idle_thread_array, x)) #define set_idle_for_cpu(x, p) (per_cpu(idle_thread_array, x) = (p)) + +/* + * We need this for trampoline_base protection from concurrent accesses when + * off- and onlining cores wildly. + */ +static DEFINE_MUTEX(x86_cpu_hotplug_driver_mutex); + +void cpu_hotplug_driver_lock() +{ + mutex_lock(&x86_cpu_hotplug_driver_mutex); +} + +void cpu_hotplug_driver_unlock() +{ + mutex_unlock(&x86_cpu_hotplug_driver_mutex); +} + +ssize_t arch_cpu_probe(const char *buf, size_t count) { return -1; } +ssize_t arch_cpu_release(const char *buf, size_t count) { return -1; } #else static struct task_struct *idle_thread_array[NR_CPUS] __cpuinitdata ; #define get_idle_for_cpu(x) (idle_thread_array[(x)]) @@ -273,6 +291,18 @@ * fragile that we want to limit the things done here to the * most necessary things. */ + +#ifdef CONFIG_X86_32 + /* + * Switch away from the trampoline page-table + * + * Do this before cpu_init() because it needs to access per-cpu + * data which may not be mapped in the trampoline page-table. + */ + load_cr3(swapper_pg_dir); + __flush_tlb_all(); +#endif + vmi_bringup(); cpu_init(); preempt_disable(); @@ -291,12 +321,6 @@ enable_8259A_irq(0); } -#ifdef CONFIG_X86_32 - while (low_mappings) - cpu_relax(); - __flush_tlb_all(); -#endif - /* This must be done before setting cpu_online_mask */ set_cpu_sibling_map(raw_smp_processor_id()); wmb(); @@ -722,6 +746,7 @@ #ifdef CONFIG_X86_32 /* Stack for startup_32 can be just as for start_secondary onwards */ irq_ctx_init(cpu); + initial_page_table = __pa(&trampoline_pg_dir); #else clear_tsk_thread_flag(c_idle.idle, TIF_FORK); initial_gs = per_cpu_offset(cpu); @@ -866,20 +891,8 @@ per_cpu(cpu_state, cpu) = CPU_UP_PREPARE; -#ifdef CONFIG_X86_32 - /* init low mem mapping */ - clone_pgd_range(swapper_pg_dir, swapper_pg_dir + KERNEL_PGD_BOUNDARY, - min_t(unsigned long, KERNEL_PGD_PTRS, KERNEL_PGD_BOUNDARY)); - flush_tlb_all(); - low_mappings = 1; - err = do_boot_cpu(apicid, cpu); - zap_low_mappings(false); - low_mappings = 0; -#else - err = do_boot_cpu(apicid, cpu); -#endif if (err) { pr_debug("do_boot_cpu failed %d\n", err); return -EIO; @@ -1066,9 +1079,7 @@ set_cpu_sibling_map(0); enable_IR_x2apic(); -#ifdef CONFIG_X86_64 default_setup_apic_routing(); -#endif if (smp_sanity_check(max_cpus) < 0) { printk(KERN_INFO "SMP disabled\n"); --- linux-2.6.32.orig/arch/x86/kernel/sys_i386_32.c +++ linux-2.6.32/arch/x86/kernel/sys_i386_32.c @@ -24,31 +24,6 @@ #include -asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, unsigned long pgoff) -{ - int error = -EBADF; - struct file *file = NULL; - struct mm_struct *mm = current->mm; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - - down_write(&mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(&mm->mmap_sem); - - if (file) - fput(file); -out: - return error; -} - /* * Perform the select(nd, in, out, ex, tv) and mmap() system * calls. Linux/i386 didn't use to be able to handle more than @@ -77,7 +52,7 @@ if (a.offset & ~PAGE_MASK) goto out; - err = sys_mmap2(a.addr, a.len, a.prot, a.flags, + err = sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, a.offset >> PAGE_SHIFT); out: return err; --- linux-2.6.32.orig/arch/x86/kernel/sys_x86_64.c +++ linux-2.6.32/arch/x86/kernel/sys_x86_64.c @@ -23,26 +23,11 @@ unsigned long, fd, unsigned long, off) { long error; - struct file *file; - error = -EINVAL; if (off & ~PAGE_MASK) goto out; - error = -EBADF; - file = NULL; - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, off >> PAGE_SHIFT); - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); + error = sys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT); out: return error; } --- linux-2.6.32.orig/arch/x86/kernel/syscall_table_32.S +++ linux-2.6.32/arch/x86/kernel/syscall_table_32.S @@ -191,7 +191,7 @@ .long sys_ni_syscall /* reserved for streams2 */ .long ptregs_vfork /* 190 */ .long sys_getrlimit - .long sys_mmap2 + .long sys_mmap_pgoff .long sys_truncate64 .long sys_ftruncate64 .long sys_stat64 /* 195 */ --- linux-2.6.32.orig/arch/x86/kernel/tboot.c +++ linux-2.6.32/arch/x86/kernel/tboot.c @@ -46,6 +46,7 @@ /* Global pointer to shared data; NULL means no measured launch. */ struct tboot *tboot __read_mostly; +EXPORT_SYMBOL(tboot); /* timeout for APs (in secs) to enter wait-for-SIPI state during shutdown */ #define AP_WAIT_TIMEOUT 1 --- linux-2.6.32.orig/arch/x86/kernel/trampoline.c +++ linux-2.6.32/arch/x86/kernel/trampoline.c @@ -1,6 +1,7 @@ #include #include +#include #include #if defined(CONFIG_X86_64) && defined(CONFIG_ACPI_SLEEP) @@ -39,3 +40,19 @@ memcpy(trampoline_base, trampoline_data, TRAMPOLINE_SIZE); return virt_to_phys(trampoline_base); } + +void __init setup_trampoline_page_table(void) +{ +#ifdef CONFIG_X86_32 + /* Copy kernel address range */ + clone_pgd_range(trampoline_pg_dir + KERNEL_PGD_BOUNDARY, + swapper_pg_dir + KERNEL_PGD_BOUNDARY, + KERNEL_PGD_PTRS); + + /* Initialize low mappings */ + clone_pgd_range(trampoline_pg_dir, + swapper_pg_dir + KERNEL_PGD_BOUNDARY, + min_t(unsigned long, KERNEL_PGD_PTRS, + KERNEL_PGD_BOUNDARY)); +#endif +} --- linux-2.6.32.orig/arch/x86/kernel/traps.c +++ linux-2.6.32/arch/x86/kernel/traps.c @@ -115,6 +115,67 @@ if (!user_mode_vm(regs)) die(str, regs, err); } + +static inline int +__compare_user_cs_desc(const struct desc_struct *desc1, + const struct desc_struct *desc2) +{ + return ((desc1->limit0 != desc2->limit0) || + (desc1->limit != desc2->limit) || + (desc1->base0 != desc2->base0) || + (desc1->base1 != desc2->base1) || + (desc1->base2 != desc2->base2)); +} + +/* + * lazy-check for CS validity on exec-shield binaries: + * + * the original non-exec stack patch was written by + * Solar Designer . Thanks! + */ +static int +check_lazy_exec_limit(int cpu, struct pt_regs *regs, long error_code) +{ + struct desc_struct *desc1, *desc2; + struct vm_area_struct *vma; + unsigned long limit; + + if (current->mm == NULL) + return 0; + + limit = -1UL; + if (current->mm->context.exec_limit != -1UL) { + limit = PAGE_SIZE; + spin_lock(¤t->mm->page_table_lock); + for (vma = current->mm->mmap; vma; vma = vma->vm_next) + if ((vma->vm_flags & VM_EXEC) && (vma->vm_end > limit)) + limit = vma->vm_end; + vma = get_gate_vma(current); + if (vma && (vma->vm_flags & VM_EXEC) && (vma->vm_end > limit)) + limit = vma->vm_end; + spin_unlock(¤t->mm->page_table_lock); + if (limit >= TASK_SIZE) + limit = -1UL; + current->mm->context.exec_limit = limit; + } + set_user_cs(¤t->mm->context.user_cs, limit); + + desc1 = ¤t->mm->context.user_cs; + desc2 = get_cpu_gdt_table(cpu) + GDT_ENTRY_DEFAULT_USER_CS; + + if (__compare_user_cs_desc(desc1, desc2)) { + /* + * The CS was not in sync - reload it and retry the + * instruction. If the instruction still faults then + * we won't hit this branch next time around. + */ + load_user_cs_desc(cpu, current->mm); + + return 1; + } + + return 0; +} #endif static void __kprobes @@ -273,6 +334,20 @@ if (!user_mode(regs)) goto gp_in_kernel; +#ifdef CONFIG_X86_32 +{ + int cpu; + int ok; + + cpu = get_cpu(); + ok = check_lazy_exec_limit(cpu, regs, error_code); + put_cpu(); + + if (ok) + return; +} +#endif + tsk->thread.error_code = error_code; tsk->thread.trap_no = 13; @@ -881,11 +956,29 @@ } #ifdef CONFIG_X86_32 +/* + * The fixup code for errors in iret jumps to here (iret_exc). It loses + * the original trap number and erorr code. The bogus trap 32 and error + * code 0 are what the vanilla kernel delivers via: + * DO_ERROR_INFO(32, SIGSEGV, "iret exception", iret_error, ILL_BADSTK, 0, 1) + * + * NOTE: Because of the final "1" in the macro we need to enable interrupts. + * + * In case of a general protection fault in the iret instruction, we + * need to check for a lazy CS update for exec-shield. + */ dotraplinkage void do_iret_error(struct pt_regs *regs, long error_code) { siginfo_t info; + int ok; + int cpu; local_irq_enable(); + cpu = get_cpu(); + ok = check_lazy_exec_limit(cpu, regs, error_code); + put_cpu(); + if (ok) return; + info.si_signo = SIGILL; info.si_errno = 0; info.si_code = ILL_BADSTK; --- linux-2.6.32.orig/arch/x86/kernel/tsc.c +++ linux-2.6.32/arch/x86/kernel/tsc.c @@ -104,10 +104,14 @@ __setup("notsc", notsc_setup); +static int no_sched_irq_time; + static int __init tsc_setup(char *str) { if (!strcmp(str, "reliable")) tsc_clocksource_reliable = 1; + if (!strncmp(str, "noirqtime", 9)) + no_sched_irq_time = 1; return 1; } @@ -626,6 +630,44 @@ local_irq_restore(flags); } +static unsigned long long cyc2ns_suspend; + +void save_sched_clock_state(void) +{ + if (!sched_clock_stable) + return; + + cyc2ns_suspend = sched_clock(); +} + +/* + * Even on processors with invariant TSC, TSC gets reset in some the + * ACPI system sleep states. And in some systems BIOS seem to reinit TSC to + * arbitrary value (still sync'd across cpu's) during resume from such sleep + * states. To cope up with this, recompute the cyc2ns_offset for each cpu so + * that sched_clock() continues from the point where it was left off during + * suspend. + */ +void restore_sched_clock_state(void) +{ + unsigned long long offset; + unsigned long flags; + int cpu; + + if (!sched_clock_stable) + return; + + local_irq_save(flags); + + __get_cpu_var(cyc2ns_offset) = 0; + offset = cyc2ns_suspend - sched_clock(); + + for_each_possible_cpu(cpu) + per_cpu(cyc2ns_offset, cpu) = offset; + + local_irq_restore(flags); +} + #ifdef CONFIG_CPU_FREQ /* Frequency scaling support. Adjust the TSC based timer when the cpu frequency @@ -763,6 +805,8 @@ { if (!tsc_unstable) { tsc_unstable = 1; + sched_clock_stable = 0; + disable_sched_clock_irqtime(); printk(KERN_INFO "Marking TSC unstable due to %s\n", reason); /* Change only the rating, when not registered */ if (clocksource_tsc.mult) @@ -951,6 +995,9 @@ /* now allow native_sched_clock() to use rdtsc */ tsc_disabled = 0; + if (!no_sched_irq_time) + enable_sched_clock_irqtime(); + lpj = ((u64)tsc_khz * 1000); do_div(lpj, HZ); lpj_fine = lpj; --- linux-2.6.32.orig/arch/x86/kernel/k8.c +++ linux-2.6.32/arch/x86/kernel/k8.c @@ -121,3 +121,17 @@ } EXPORT_SYMBOL_GPL(k8_flush_garts); +static __init int init_k8_nbs(void) +{ + int err = 0; + + err = cache_k8_northbridges(); + + if (err < 0) + printk(KERN_NOTICE "K8 NB: Cannot enumerate AMD northbridges.\n"); + + return err; +} + +/* This has to go after the PCI subsystem */ +fs_initcall(init_k8_nbs); --- linux-2.6.32.orig/arch/x86/kernel/vsyscall_64.c +++ linux-2.6.32/arch/x86/kernel/vsyscall_64.c @@ -73,7 +73,8 @@ write_sequnlock_irqrestore(&vsyscall_gtod_data.lock, flags); } -void update_vsyscall(struct timespec *wall_time, struct clocksource *clock) +void update_vsyscall(struct timespec *wall_time, struct clocksource *clock, + u32 mult) { unsigned long flags; @@ -82,7 +83,7 @@ vsyscall_gtod_data.clock.vread = clock->vread; vsyscall_gtod_data.clock.cycle_last = clock->cycle_last; vsyscall_gtod_data.clock.mask = clock->mask; - vsyscall_gtod_data.clock.mult = clock->mult; + vsyscall_gtod_data.clock.mult = mult; vsyscall_gtod_data.clock.shift = clock->shift; vsyscall_gtod_data.wall_time_sec = wall_time->tv_sec; vsyscall_gtod_data.wall_time_nsec = wall_time->tv_nsec; --- linux-2.6.32.orig/arch/x86/kernel/olpc.c +++ linux-2.6.32/arch/x86/kernel/olpc.c @@ -115,6 +115,7 @@ unsigned long flags; int ret = -EIO; int i; + int restarts = 0; spin_lock_irqsave(&ec_lock, flags); @@ -171,7 +172,9 @@ if (wait_on_obf(0x6c, 1)) { printk(KERN_ERR "olpc-ec: timeout waiting for" " EC to provide data!\n"); - goto restart; + if (restarts++ < 10) + goto restart; + goto err; } outbuf[i] = inb(0x68); printk(KERN_DEBUG "olpc-ec: received 0x%x\n", --- linux-2.6.32.orig/arch/x86/kernel/pci-gart_64.c +++ linux-2.6.32/arch/x86/kernel/pci-gart_64.c @@ -553,6 +553,9 @@ enable_gart_translation(dev, __pa(agp_gatt_table)); } + + /* Flush the GART-TLB to remove stale entries */ + k8_flush_garts(); } /* @@ -717,7 +720,7 @@ unsigned long scratch; long i; - if (cache_k8_northbridges() < 0 || num_k8_northbridges == 0) + if (num_k8_northbridges == 0) return; #ifndef CONFIG_AGP_AMD64 @@ -856,7 +859,7 @@ #endif if (isdigit(*p) && get_option(&p, &arg)) iommu_size = arg; - if (!strncmp(p, "fullflush", 8)) + if (!strncmp(p, "fullflush", 9)) iommu_fullflush = 1; if (!strncmp(p, "nofullflush", 11)) iommu_fullflush = 0; --- linux-2.6.32.orig/arch/x86/kernel/tlb_uv.c +++ linux-2.6.32/arch/x86/kernel/tlb_uv.c @@ -817,10 +817,8 @@ */ apicid = blade_to_first_apicid(blade); pa = uv_read_global_mmr64(pnode, UVH_BAU_DATA_CONFIG); - if ((pa & 0xff) != UV_BAU_MESSAGE) { - uv_write_global_mmr64(pnode, UVH_BAU_DATA_CONFIG, + uv_write_global_mmr64(pnode, UVH_BAU_DATA_CONFIG, ((apicid << 32) | UV_BAU_MESSAGE)); - } return 0; } --- linux-2.6.32.orig/arch/x86/kernel/acpi/boot.c +++ linux-2.6.32/arch/x86/kernel/acpi/boot.c @@ -70,6 +70,7 @@ int acpi_sci_override_gsi __initdata; int acpi_skip_timer_override __initdata; int acpi_use_timer_override __initdata; +int acpi_fix_pin2_polarity __initdata; #ifdef CONFIG_X86_LOCAL_APIC static u64 acpi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE; @@ -360,10 +361,15 @@ return 0; } - if (acpi_skip_timer_override && - intsrc->source_irq == 0 && intsrc->global_irq == 2) { - printk(PREFIX "BIOS IRQ0 pin2 override ignored.\n"); - return 0; + if (intsrc->source_irq == 0 && intsrc->global_irq == 2) { + if (acpi_skip_timer_override) { + printk(PREFIX "BIOS IRQ0 pin2 override ignored.\n"); + return 0; + } + if (acpi_fix_pin2_polarity && (intsrc->inti_flags & ACPI_MADT_POLARITY_MASK)) { + intsrc->inti_flags &= ~ACPI_MADT_POLARITY_MASK; + printk(PREFIX "BIOS IRQ0 pin2 override: forcing polarity to high active.\n"); + } } mp_override_legacy_irq(intsrc->source_irq, @@ -446,6 +452,12 @@ int acpi_gsi_to_irq(u32 gsi, unsigned int *irq) { *irq = gsi; + +#ifdef CONFIG_X86_IO_APIC + if (acpi_irq_model == ACPI_IRQ_MODEL_IOAPIC) + setup_IO_APIC_irq_extra(gsi); +#endif + return 0; } @@ -473,7 +485,8 @@ plat_gsi = mp_register_gsi(dev, gsi, trigger, polarity); } #endif - acpi_gsi_to_irq(plat_gsi, &irq); + irq = plat_gsi; + return irq; } @@ -1184,9 +1197,6 @@ if (!error) { acpi_lapic = 1; -#ifdef CONFIG_X86_BIGSMP - generic_bigsmp_probe(); -#endif /* * Parse MADT IO-APIC entries */ @@ -1196,8 +1206,6 @@ acpi_ioapic = 1; smp_found_config = 1; - if (apic->setup_apic_routing) - apic->setup_apic_routing(); } } if (error == -EINVAL) { @@ -1348,14 +1356,6 @@ }, { .callback = force_acpi_ht, - .ident = "ASUS P2B-DS", - .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), - DMI_MATCH(DMI_BOARD_NAME, "P2B-DS"), - }, - }, - { - .callback = force_acpi_ht, .ident = "ASUS CUR-DLS", .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), --- linux-2.6.32.orig/arch/x86/kernel/acpi/cstate.c +++ linux-2.6.32/arch/x86/kernel/acpi/cstate.c @@ -48,7 +48,7 @@ * P4, Core and beyond CPUs */ if (c->x86_vendor == X86_VENDOR_INTEL && - (c->x86 > 0xf || (c->x86 == 6 && c->x86_model >= 14))) + (c->x86 > 0xf || (c->x86 == 6 && c->x86_model >= 0x0f))) flags->bm_control = 0; } EXPORT_SYMBOL(acpi_processor_power_init_bm_check); @@ -145,6 +145,15 @@ percpu_entry->states[cx->index].eax = cx->address; percpu_entry->states[cx->index].ecx = MWAIT_ECX_INTERRUPT_BREAK; } + + /* + * For _CST FFH on Intel, if GAS.access_size bit 1 is cleared, + * then we should skip checking BM_STS for this C-state. + * ref: "Intel Processor Vendor-Specific ACPI Interface Specification" + */ + if ((c->x86_vendor == X86_VENDOR_INTEL) && !(reg->access_size & 0x2)) + cx->bm_sts_skip = 1; + return retval; } EXPORT_SYMBOL_GPL(acpi_processor_ffh_cstate_probe); --- linux-2.6.32.orig/arch/x86/kernel/apic/apic.c +++ linux-2.6.32/arch/x86/kernel/apic/apic.c @@ -51,6 +51,7 @@ #include #include #include +#include unsigned int num_processors; @@ -246,7 +247,7 @@ */ static void native_apic_write_dummy(u32 reg, u32 v) { - WARN_ON_ONCE((cpu_has_apic || !disable_apic)); + WARN_ON_ONCE(cpu_has_apic && !disable_apic); } static u32 native_apic_read_dummy(u32 reg) @@ -941,7 +942,7 @@ unsigned int value; /* APIC hasn't been mapped yet */ - if (!apic_phys) + if (!x2apic_mode && !apic_phys) return; clear_local_APIC(); @@ -1172,8 +1173,13 @@ */ void __cpuinit setup_local_APIC(void) { - unsigned int value; - int i, j; + unsigned int value, queued; + int i, j, acked = 0; + unsigned long long tsc = 0, ntsc; + long long max_loops = cpu_khz; + + if (cpu_has_tsc) + rdtscll(tsc); if (disable_apic) { arch_disable_smp_support(); @@ -1225,13 +1231,32 @@ * the interrupt. Hence a vector might get locked. It was noticed * for timer irq (vector 0x31). Issue an extra EOI to clear ISR. */ - for (i = APIC_ISR_NR - 1; i >= 0; i--) { - value = apic_read(APIC_ISR + i*0x10); - for (j = 31; j >= 0; j--) { - if (value & (1<= 0; i--) + queued |= apic_read(APIC_IRR + i*0x10); + + for (i = APIC_ISR_NR - 1; i >= 0; i--) { + value = apic_read(APIC_ISR + i*0x10); + for (j = 31; j >= 0; j--) { + if (value & (1< 256) { + printk(KERN_ERR "LAPIC pending interrupts after %d EOI\n", + acked); + break; + } + if (cpu_has_tsc) { + rdtscll(ntsc); + max_loops = (cpu_khz << 10) - (ntsc - tsc); + } else + max_loops--; + } while (queued && max_loops > 0); + WARN_ON(max_loops <= 0); /* * Now that we are all set up, enable the APIC @@ -1336,6 +1361,14 @@ setup_apic_nmi_watchdog(NULL); apic_pm_activate(); + + /* + * Now that local APIC setup is completed for BP, configure the fault + * handling for interrupt remapping. + */ + if (!smp_processor_id() && intr_remapping_enabled) + enable_drhd_fault_handling(); + } #ifdef CONFIG_X86_X2APIC @@ -1664,8 +1697,8 @@ } #endif +#ifndef CONFIG_SMP enable_IR_x2apic(); -#ifdef CONFIG_X86_64 default_setup_apic_routing(); #endif @@ -1915,18 +1948,6 @@ if (apicid > max_physical_apicid) max_physical_apicid = apicid; -#ifdef CONFIG_X86_32 - switch (boot_cpu_data.x86_vendor) { - case X86_VENDOR_INTEL: - if (num_processors > 8) - def_to_bigsmp = 1; - break; - case X86_VENDOR_AMD: - if (max_physical_apicid >= 8) - def_to_bigsmp = 1; - } -#endif - #if defined(CONFIG_SMP) || defined(CONFIG_X86_64) early_per_cpu(x86_cpu_to_apicid, cpu) = apicid; early_per_cpu(x86_bios_cpu_apicid, cpu) = apicid; --- linux-2.6.32.orig/arch/x86/kernel/apic/apic_flat_64.c +++ linux-2.6.32/arch/x86/kernel/apic/apic_flat_64.c @@ -240,6 +240,11 @@ printk(KERN_DEBUG "system APIC only can use physical flat"); return 1; } + + if (!strncmp(oem_id, "IBM", 3) && !strncmp(oem_table_id, "EXA", 3)) { + printk(KERN_DEBUG "IBM Summit detected, will use apic physical"); + return 1; + } #endif return 0; --- linux-2.6.32.orig/arch/x86/kernel/apic/io_apic.c +++ linux-2.6.32/arch/x86/kernel/apic/io_apic.c @@ -332,14 +332,19 @@ old_cfg = old_desc->chip_data; - memcpy(cfg, old_cfg, sizeof(struct irq_cfg)); + cfg->vector = old_cfg->vector; + cfg->move_in_progress = old_cfg->move_in_progress; + cpumask_copy(cfg->domain, old_cfg->domain); + cpumask_copy(cfg->old_domain, old_cfg->old_domain); init_copy_irq_2_pin(old_cfg, cfg, node); } -static void free_irq_cfg(struct irq_cfg *old_cfg) +static void free_irq_cfg(struct irq_cfg *cfg) { - kfree(old_cfg); + free_cpumask_var(cfg->domain); + free_cpumask_var(cfg->old_domain); + kfree(cfg); } void arch_free_chip_data(struct irq_desc *old_desc, struct irq_desc *desc) @@ -1405,6 +1410,7 @@ irte.dlvry_mode = apic->irq_delivery_mode; irte.vector = vector; irte.dest_id = IRTE_DEST(destination); + irte.redir_hint = 1; /* Set source-id of interrupt request */ set_ioapic_sid(&irte, apic_id); @@ -1484,7 +1490,7 @@ static void __init setup_IO_APIC_irqs(void) { - int apic_id = 0, pin, idx, irq; + int apic_id, pin, idx, irq; int notcon = 0; struct irq_desc *desc; struct irq_cfg *cfg; @@ -1492,14 +1498,7 @@ apic_printk(APIC_VERBOSE, KERN_DEBUG "init IO_APIC IRQs\n"); -#ifdef CONFIG_ACPI - if (!acpi_disabled && acpi_ioapic) { - apic_id = mp_find_ioapic(0); - if (apic_id < 0) - apic_id = 0; - } -#endif - + for (apic_id = 0; apic_id < nr_ioapics; apic_id++) for (pin = 0; pin < nr_ioapic_registers[apic_id]; pin++) { idx = find_irq_entry(apic_id, pin, mp_INT); if (idx == -1) { @@ -1521,6 +1520,9 @@ irq = pin_2_irq(idx, apic_id, pin); + if ((apic_id > 0) && (irq > 16)) + continue; + /* * Skip the timer IRQ if there's a quirk handler * installed and if it returns 1: @@ -1550,6 +1552,56 @@ } /* + * for the gsit that is not in first ioapic + * but could not use acpi_register_gsi() + * like some special sci in IBM x3330 + */ +void setup_IO_APIC_irq_extra(u32 gsi) +{ + int apic_id = 0, pin, idx, irq; + int node = cpu_to_node(boot_cpu_id); + struct irq_desc *desc; + struct irq_cfg *cfg; + + /* + * Convert 'gsi' to 'ioapic.pin'. + */ + apic_id = mp_find_ioapic(gsi); + if (apic_id < 0) + return; + + pin = mp_find_ioapic_pin(apic_id, gsi); + idx = find_irq_entry(apic_id, pin, mp_INT); + if (idx == -1) + return; + + irq = pin_2_irq(idx, apic_id, pin); +#ifdef CONFIG_SPARSE_IRQ + desc = irq_to_desc(irq); + if (desc) + return; +#endif + desc = irq_to_desc_alloc_node(irq, node); + if (!desc) { + printk(KERN_INFO "can not get irq_desc for %d\n", irq); + return; + } + + cfg = desc->chip_data; + add_pin_to_irq_node(cfg, node, apic_id, pin); + + if (test_bit(pin, mp_ioapic_routing[apic_id].pin_programmed)) { + pr_debug("Pin %d-%d already programmed\n", + mp_ioapics[apic_id].apicid, pin); + return; + } + set_bit(pin, mp_ioapic_routing[apic_id].pin_programmed); + + setup_IO_APIC_irq(apic_id, pin, irq, desc, + irq_trigger(idx), irq_polarity(idx)); +} + +/* * Set up the timer pin, possibly with the 8259A-master behind. */ static void __init setup_timer_IRQ0_pin(unsigned int apic_id, unsigned int pin, @@ -1690,6 +1742,8 @@ struct irq_pin_list *entry; cfg = desc->chip_data; + if (!cfg) + continue; entry = cfg->irq_2_pin; if (!entry) continue; @@ -3157,6 +3211,7 @@ continue; desc_new = move_irq_desc(desc_new, node); + cfg_new = desc_new->chip_data; if (__assign_irq_vector(new, cfg_new, apic->target_cpus()) == 0) irq = new; @@ -3164,12 +3219,9 @@ } spin_unlock_irqrestore(&vector_lock, flags); - if (irq > 0) { - dynamic_irq_init(irq); - /* restore it, in case dynamic_irq_init clear it */ - if (desc_new) - desc_new->chip_data = cfg_new; - } + if (irq > 0) + dynamic_irq_init_keep_chip_data(irq); + return irq; } @@ -3192,17 +3244,12 @@ { unsigned long flags; struct irq_cfg *cfg; - struct irq_desc *desc; - /* store it, in case dynamic_irq_cleanup clear it */ - desc = irq_to_desc(irq); - cfg = desc->chip_data; - dynamic_irq_cleanup(irq); - /* connect back irq_cfg */ - desc->chip_data = cfg; + dynamic_irq_cleanup_keep_chip_data(irq); free_irte(irq); spin_lock_irqsave(&vector_lock, flags); + cfg = irq_to_desc(irq)->chip_data; __clear_irq_vector(irq, cfg); spin_unlock_irqrestore(&vector_lock, flags); } @@ -3243,6 +3290,7 @@ irte.dlvry_mode = apic->irq_delivery_mode; irte.vector = cfg->vector; irte.dest_id = IRTE_DEST(dest); + irte.redir_hint = 1; /* Set source-id of interrupt request */ set_msi_sid(&irte, pdev); @@ -3297,7 +3345,7 @@ cfg = desc->chip_data; - read_msi_msg_desc(desc, &msg); + get_cached_msi_msg_desc(desc, &msg); msg.data &= ~MSI_DATA_VECTOR_MASK; msg.data |= MSI_DATA_VECTOR(cfg->vector); @@ -3519,6 +3567,7 @@ msg.data |= MSI_DATA_VECTOR(cfg->vector); msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK; msg.address_lo |= MSI_ADDR_DEST_ID(dest); + msg.address_hi = MSI_ADDR_BASE_HI | MSI_ADDR_EXT_DEST_ID(dest); dmar_msi_write(irq, &msg); @@ -4040,27 +4089,23 @@ #ifdef CONFIG_SMP void __init setup_ioapic_dest(void) { - int pin, ioapic = 0, irq, irq_entry; + int pin, ioapic, irq, irq_entry; struct irq_desc *desc; const struct cpumask *mask; if (skip_ioapic_setup == 1) return; -#ifdef CONFIG_ACPI - if (!acpi_disabled && acpi_ioapic) { - ioapic = mp_find_ioapic(0); - if (ioapic < 0) - ioapic = 0; - } -#endif - + for (ioapic = 0; ioapic < nr_ioapics; ioapic++) for (pin = 0; pin < nr_ioapic_registers[ioapic]; pin++) { irq_entry = find_irq_entry(ioapic, pin, mp_INT); if (irq_entry == -1) continue; irq = pin_2_irq(irq_entry, ioapic, pin); + if ((ioapic > 0) && (irq > 16)) + continue; + desc = irq_to_desc(irq); /* --- linux-2.6.32.orig/arch/x86/kernel/apic/probe_32.c +++ linux-2.6.32/arch/x86/kernel/apic/probe_32.c @@ -54,6 +54,31 @@ void default_setup_apic_routing(void) { + int version = apic_version[boot_cpu_physical_apicid]; + + if (num_possible_cpus() > 8) { + switch (boot_cpu_data.x86_vendor) { + case X86_VENDOR_INTEL: + if (!APIC_XAPIC(version)) { + def_to_bigsmp = 0; + break; + } + /* If P4 and above fall through */ + case X86_VENDOR_AMD: + def_to_bigsmp = 1; + } + } + +#ifdef CONFIG_X86_BIGSMP + generic_bigsmp_probe(); +#endif + + if (apic->setup_apic_routing) + apic->setup_apic_routing(); +} + +void setup_apic_flat_routing(void) +{ #ifdef CONFIG_X86_IO_APIC printk(KERN_INFO "Enabling APIC mode: Flat. Using %d I/O APICs\n", @@ -103,7 +128,7 @@ .init_apic_ldr = default_init_apic_ldr, .ioapic_phys_id_map = default_ioapic_phys_id_map, - .setup_apic_routing = default_setup_apic_routing, + .setup_apic_routing = setup_apic_flat_routing, .multi_timer_check = NULL, .apicid_to_node = default_apicid_to_node, .cpu_to_logical_apicid = default_cpu_to_logical_apicid, --- linux-2.6.32.orig/arch/x86/kernel/apic/probe_64.c +++ linux-2.6.32/arch/x86/kernel/apic/probe_64.c @@ -67,17 +67,8 @@ } #endif - if (apic == &apic_flat) { - switch (boot_cpu_data.x86_vendor) { - case X86_VENDOR_INTEL: - if (num_processors > 8) - apic = &apic_physflat; - break; - case X86_VENDOR_AMD: - if (max_physical_apicid >= 8) - apic = &apic_physflat; - } - } + if (apic == &apic_flat && num_possible_cpus() > 8) + apic = &apic_physflat; printk(KERN_INFO "Setting APIC routing to %s\n", apic->name); @@ -85,13 +76,6 @@ /* need to update phys_pkg_id */ apic->phys_pkg_id = apicid_phys_pkg_id; } - - /* - * Now that apic routing model is selected, configure the - * fault handling for intr remapping. - */ - if (intr_remapping_enabled) - enable_drhd_fault_handling(); } /* Same for both flat and physical. */ --- linux-2.6.32.orig/arch/x86/kernel/apic/x2apic_uv_x.c +++ linux-2.6.32/arch/x86/kernel/apic/x2apic_uv_x.c @@ -117,7 +117,6 @@ ((start_rip << UVH_IPI_INT_VECTOR_SHFT) >> 12) | APIC_DM_INIT; uv_write_global_mmr64(pnode, UVH_IPI_INT, val); - mdelay(10); val = (1UL << UVH_IPI_INT_SEND_SHFT) | (phys_apicid << UVH_IPI_INT_APIC_ID_SHFT) | @@ -364,13 +363,13 @@ enum map_type {map_wb, map_uc}; -static __init void map_high(char *id, unsigned long base, int shift, - int max_pnode, enum map_type map_type) +static __init void map_high(char *id, unsigned long base, int pshift, + int bshift, int max_pnode, enum map_type map_type) { unsigned long bytes, paddr; - paddr = base << shift; - bytes = (1UL << shift) * (max_pnode + 1); + paddr = base << pshift; + bytes = (1UL << bshift) * (max_pnode + 1); printk(KERN_INFO "UV: Map %s_HI 0x%lx - 0x%lx\n", id, paddr, paddr + bytes); if (map_type == map_uc) @@ -386,7 +385,7 @@ gru.v = uv_read_local_mmr(UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR); if (gru.s.enable) - map_high("GRU", gru.s.base, shift, max_pnode, map_wb); + map_high("GRU", gru.s.base, shift, shift, max_pnode, map_wb); } static __init void map_mmr_high(int max_pnode) @@ -396,7 +395,7 @@ mmr.v = uv_read_local_mmr(UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR); if (mmr.s.enable) - map_high("MMR", mmr.s.base, shift, max_pnode, map_uc); + map_high("MMR", mmr.s.base, shift, shift, max_pnode, map_uc); } static __init void map_mmioh_high(int max_pnode) @@ -406,7 +405,8 @@ mmioh.v = uv_read_local_mmr(UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR); if (mmioh.s.enable) - map_high("MMIOH", mmioh.s.base, shift, max_pnode, map_uc); + map_high("MMIOH", mmioh.s.base, shift, mmioh.s.m_io, + max_pnode, map_uc); } static __init void uv_rtc_init(void) @@ -594,9 +594,11 @@ for (j = 0; j < 64; j++) { if (!test_bit(j, &present)) continue; - uv_blade_info[blade].pnode = (i * 64 + j); + pnode = (i * 64 + j); + uv_blade_info[blade].pnode = pnode; uv_blade_info[blade].nr_possible_cpus = 0; uv_blade_info[blade].nr_online_cpus = 0; + max_pnode = max(pnode, max_pnode); blade++; } } @@ -607,8 +609,10 @@ uv_rtc_init(); for_each_present_cpu(cpu) { + int apicid = per_cpu(x86_cpu_to_apicid, cpu); + nid = cpu_to_node(cpu); - pnode = uv_apicid_to_pnode(per_cpu(x86_cpu_to_apicid, cpu)); + pnode = uv_apicid_to_pnode(apicid); blade = boot_pnode_to_blade(pnode); lcpu = uv_blade_info[blade].nr_possible_cpus; uv_blade_info[blade].nr_possible_cpus++; @@ -629,15 +633,9 @@ uv_cpu_hub_info(cpu)->gnode_extra = gnode_extra; uv_cpu_hub_info(cpu)->global_mmr_base = mmr_base; uv_cpu_hub_info(cpu)->coherency_domain_number = sn_coherency_id; - uv_cpu_hub_info(cpu)->scir.offset = SCIR_LOCAL_MMR_BASE + lcpu; + uv_cpu_hub_info(cpu)->scir.offset = uv_scir_offset(apicid); uv_node_to_blade[nid] = blade; uv_cpu_to_blade[cpu] = blade; - max_pnode = max(pnode, max_pnode); - - printk(KERN_DEBUG "UV: cpu %d, apicid 0x%x, pnode %d, nid %d, " - "lcpu %d, blade %d\n", - cpu, per_cpu(x86_cpu_to_apicid, cpu), pnode, nid, - lcpu, blade); } /* Add blade/pnode info for nodes without cpus */ @@ -649,7 +647,6 @@ pnode = (paddr >> m_val) & pnode_mask; blade = boot_pnode_to_blade(pnode); uv_node_to_blade[nid] = blade; - max_pnode = max(pnode, max_pnode); } map_gru_high(max_pnode); --- linux-2.6.32.orig/arch/x86/kernel/cpu/Makefile +++ linux-2.6.32/arch/x86/kernel/cpu/Makefile @@ -18,8 +18,6 @@ obj-$(CONFIG_X86_32) += bugs.o cmpxchg.o obj-$(CONFIG_X86_64) += bugs_64.o -obj-$(CONFIG_X86_CPU_DEBUG) += cpu_debug.o - obj-$(CONFIG_CPU_SUP_INTEL) += intel.o obj-$(CONFIG_CPU_SUP_AMD) += amd.o obj-$(CONFIG_CPU_SUP_CYRIX_32) += cyrix.o --- linux-2.6.32.orig/arch/x86/kernel/cpu/amd.c +++ linux-2.6.32/arch/x86/kernel/cpu/amd.c @@ -254,59 +254,36 @@ /* * Fixup core topology information for AMD multi-node processors. - * Assumption 1: Number of cores in each internal node is the same. - * Assumption 2: Mixed systems with both single-node and dual-node - * processors are not supported. + * Assumption: Number of cores in each internal node is the same. */ #ifdef CONFIG_X86_HT static void __cpuinit amd_fixup_dcm(struct cpuinfo_x86 *c) { -#ifdef CONFIG_PCI - u32 t, cpn; - u8 n, n_id; + unsigned long long value; + u32 nodes, cores_per_node; int cpu = smp_processor_id(); + if (!cpu_has(c, X86_FEATURE_NODEID_MSR)) + return; + /* fixup topology information only once for a core */ if (cpu_has(c, X86_FEATURE_AMD_DCM)) return; - /* check for multi-node processor on boot cpu */ - t = read_pci_config(0, 24, 3, 0xe8); - if (!(t & (1 << 29))) + rdmsrl(MSR_FAM10H_NODE_ID, value); + + nodes = ((value >> 3) & 7) + 1; + if (nodes == 1) return; set_cpu_cap(c, X86_FEATURE_AMD_DCM); + cores_per_node = c->x86_max_cores / nodes; - /* cores per node: each internal node has half the number of cores */ - cpn = c->x86_max_cores >> 1; - - /* even-numbered NB_id of this dual-node processor */ - n = c->phys_proc_id << 1; - - /* - * determine internal node id and assign cores fifty-fifty to - * each node of the dual-node processor - */ - t = read_pci_config(0, 24 + n, 3, 0xe8); - n = (t>>30) & 0x3; - if (n == 0) { - if (c->cpu_core_id < cpn) - n_id = 0; - else - n_id = 1; - } else { - if (c->cpu_core_id < cpn) - n_id = 1; - else - n_id = 0; - } + /* store NodeID, use llc_shared_map to store sibling info */ + per_cpu(cpu_llc_id, cpu) = value & 7; - /* compute entire NodeID, use llc_shared_map to store sibling info */ - per_cpu(cpu_llc_id, cpu) = (c->phys_proc_id << 1) + n_id; - - /* fixup core id to be in range from 0 to cpn */ - c->cpu_core_id = c->cpu_core_id % cpn; -#endif + /* fixup core id to be in range from 0 to (cores_per_node - 1) */ + c->cpu_core_id = c->cpu_core_id % cores_per_node; } #endif @@ -328,8 +305,7 @@ /* use socket ID also for last level cache */ per_cpu(cpu_llc_id, cpu) = c->phys_proc_id; /* fixup topology information on multi-node processors */ - if ((c->x86 == 0x10) && (c->x86_model == 9)) - amd_fixup_dcm(c); + amd_fixup_dcm(c); #endif } @@ -590,6 +566,35 @@ } } #endif + + /* + * Family 0x12 and above processors have APIC timer + * running in deep C states. + */ + if (c->x86 > 0x11) + set_cpu_cap(c, X86_FEATURE_ARAT); + + /* + * Disable GART TLB Walk Errors on Fam10h. We do this here + * because this is always needed when GART is enabled, even in a + * kernel which has no MCE support built in. + */ + if (c->x86 == 0x10) { + /* + * BIOS should disable GartTlbWlk Errors themself. If + * it doesn't do it here as suggested by the BKDG. + * + * Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=33012 + */ + u64 mask; + int err; + + err = rdmsrl_safe(MSR_AMD64_MCx_MASK(4), &mask); + if (err == 0) { + mask |= (1 << 10); + checking_wrmsrl(MSR_AMD64_MCx_MASK(4), mask); + } + } } #ifdef CONFIG_X86_32 @@ -634,3 +639,68 @@ }; cpu_dev_register(amd_cpu_dev); + +/* + * AMD errata checking + * + * Errata are defined as arrays of ints using the AMD_LEGACY_ERRATUM() or + * AMD_OSVW_ERRATUM() macros. The latter is intended for newer errata that + * have an OSVW id assigned, which it takes as first argument. Both take a + * variable number of family-specific model-stepping ranges created by + * AMD_MODEL_RANGE(). Each erratum also has to be declared as extern const + * int[] in arch/x86/include/asm/processor.h. + * + * Example: + * + * const int amd_erratum_319[] = + * AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x10, 0x2, 0x1, 0x4, 0x2), + * AMD_MODEL_RANGE(0x10, 0x8, 0x0, 0x8, 0x0), + * AMD_MODEL_RANGE(0x10, 0x9, 0x0, 0x9, 0x0)); + */ + +const int amd_erratum_400[] = + AMD_OSVW_ERRATUM(1, AMD_MODEL_RANGE(0xf, 0x41, 0x2, 0xff, 0xf), + AMD_MODEL_RANGE(0x10, 0x2, 0x1, 0xff, 0xf)); + + +bool cpu_has_amd_erratum(const int *erratum) +{ + struct cpuinfo_x86 *cpu = ¤t_cpu_data; + int osvw_id = *erratum++; + u32 range; + u32 ms; + + /* + * If called early enough that current_cpu_data hasn't been initialized + * yet, fall back to boot_cpu_data. + */ + if (cpu->x86 == 0) + cpu = &boot_cpu_data; + + if (cpu->x86_vendor != X86_VENDOR_AMD) + return false; + + if (osvw_id >= 0 && osvw_id < 65536 && + cpu_has(cpu, X86_FEATURE_OSVW)) { + u64 osvw_len; + + rdmsrl(MSR_AMD64_OSVW_ID_LENGTH, osvw_len); + if (osvw_id < osvw_len) { + u64 osvw_bits; + + rdmsrl(MSR_AMD64_OSVW_STATUS + (osvw_id >> 6), + osvw_bits); + return osvw_bits & (1ULL << (osvw_id & 0x3f)); + } + } + + /* OSVW unavailable or ID unknown, match family-model-stepping range */ + ms = (cpu->x86_model << 4) | cpu->x86_mask; + while ((range = *erratum++)) + if ((cpu->x86 == AMD_MODEL_RANGE_FAMILY(range)) && + (ms >= AMD_MODEL_RANGE_START(range)) && + (ms <= AMD_MODEL_RANGE_END(range))) + return true; + + return false; +} --- linux-2.6.32.orig/arch/x86/kernel/cpu/bugs.c +++ linux-2.6.32/arch/x86/kernel/cpu/bugs.c @@ -151,6 +151,20 @@ #endif } +static void __init check_atom(void) +{ + + /* + * Disable 4MB page tables to work around Intel errata AAE44 for + * Atom. We cannot guarantee stopping undefined processor behaviour + * when two pageing structure translations differ with respect to + * page frame sizes. Hence, for Atoms we disable the PSE. + */ + if (boot_cpu_data.x86_model == 0x1c) { + clear_bit(X86_FEATURE_PSE, boot_cpu_data.x86_capability); + printk(KERN_INFO "Disabling 4MB page tables to avoid TLB bug\n"); + } +} void __init check_bugs(void) { @@ -163,6 +177,7 @@ check_fpu(); check_hlt(); check_popad(); + check_atom(); init_utsname()->machine[1] = '0' + (boot_cpu_data.x86 > 6 ? 6 : boot_cpu_data.x86); alternative_instructions(); --- linux-2.6.32.orig/arch/x86/kernel/cpu/common.c +++ linux-2.6.32/arch/x86/kernel/cpu/common.c @@ -540,7 +540,7 @@ } } -static void __cpuinit get_cpu_cap(struct cpuinfo_x86 *c) +void __cpuinit get_cpu_cap(struct cpuinfo_x86 *c) { u32 tfms, xlvl; u32 ebx; @@ -579,6 +579,7 @@ if (c->extended_cpuid_level >= 0x80000007) c->x86_power = cpuid_edx(0x80000007); + init_scattered_cpuid_features(c); } static void __cpuinit identify_cpu_without_cpuid(struct cpuinfo_x86 *c) @@ -727,7 +728,6 @@ get_model_name(c); /* Default name */ - init_scattered_cpuid_features(c); detect_nopl(c); } @@ -798,6 +798,19 @@ /* Filter out anything that depends on CPUID levels we don't have */ filter_cpuid_features(c, true); +#ifdef CONFIG_X86_32 + /* + * emulation of NX with segment limits unfortunately means + * we have to disable the fast system calls, due to the way that + * sysexit clears the segment limits on return. + * If we have NX, then we don't need to do this. + */ +#ifdef CONFIG_X86_PAE + if (!test_cpu_cap(c, X86_FEATURE_NX)) +#endif + clear_cpu_cap(c, X86_FEATURE_SEP); +#endif /*CONFIG_X86_32*/ + /* If the model name is still unset, do table lookup. */ if (!c->x86_model_id[0]) { const char *p; --- linux-2.6.32.orig/arch/x86/kernel/cpu/cpu.h +++ linux-2.6.32/arch/x86/kernel/cpu/cpu.h @@ -33,5 +33,6 @@ *const __x86_cpu_dev_end[]; extern void display_cacheinfo(struct cpuinfo_x86 *c); +extern void get_cpu_cap(struct cpuinfo_x86 *c); #endif --- linux-2.6.32.orig/arch/x86/kernel/cpu/intel.c +++ linux-2.6.32/arch/x86/kernel/cpu/intel.c @@ -40,6 +40,7 @@ misc_enable &= ~MSR_IA32_MISC_ENABLE_LIMIT_CPUID; wrmsrl(MSR_IA32_MISC_ENABLE, misc_enable); c->cpuid_level = cpuid_eax(0); + get_cpu_cap(c); } } @@ -47,6 +48,27 @@ (c->x86 == 0x6 && c->x86_model >= 0x0e)) set_cpu_cap(c, X86_FEATURE_CONSTANT_TSC); + /* + * Atom erratum AAE44/AAF40/AAG38/AAH41: + * + * A race condition between speculative fetches and invalidating + * a large page. This is worked around in microcode, but we + * need the microcode to have already been loaded... so if it is + * not, recommend a BIOS update and disable large pages. + */ + if (c->x86 == 6 && c->x86_model == 0x1c && c->x86_mask <= 2) { + u32 ucode, junk; + + wrmsr(MSR_IA32_UCODE_REV, 0, 0); + sync_core(); + rdmsr(MSR_IA32_UCODE_REV, junk, ucode); + + if (ucode < 0x20e) { + printk(KERN_WARNING "Atom PSE erratum detected, BIOS microcode update recommended\n"); + clear_cpu_cap(c, X86_FEATURE_PSE); + } + } + #ifdef CONFIG_X86_64 set_cpu_cap(c, X86_FEATURE_SYSENTER32); #else @@ -70,8 +92,8 @@ if (c->x86_power & (1 << 8)) { set_cpu_cap(c, X86_FEATURE_CONSTANT_TSC); set_cpu_cap(c, X86_FEATURE_NONSTOP_TSC); - set_cpu_cap(c, X86_FEATURE_TSC_RELIABLE); - sched_clock_stable = 1; + if (!check_tsc_unstable()) + sched_clock_stable = 1; } /* --- linux-2.6.32.orig/arch/x86/kernel/cpu/intel_cacheinfo.c +++ linux-2.6.32/arch/x86/kernel/cpu/intel_cacheinfo.c @@ -18,6 +18,7 @@ #include #include #include +#include #define LVL_1_INST 1 #define LVL_1_DATA 2 @@ -94,7 +95,7 @@ { 0xd1, LVL_3, 1024 }, /* 4-way set assoc, 64 byte line size */ { 0xd2, LVL_3, 2048 }, /* 4-way set assoc, 64 byte line size */ { 0xd6, LVL_3, 1024 }, /* 8-way set assoc, 64 byte line size */ - { 0xd7, LVL_3, 2038 }, /* 8-way set assoc, 64 byte line size */ + { 0xd7, LVL_3, 2048 }, /* 8-way set assoc, 64 byte line size */ { 0xd8, LVL_3, 4096 }, /* 12-way set assoc, 64 byte line size */ { 0xdc, LVL_3, 2048 }, /* 12-way set assoc, 64 byte line size */ { 0xdd, LVL_3, 4096 }, /* 12-way set assoc, 64 byte line size */ @@ -102,6 +103,9 @@ { 0xe2, LVL_3, 2048 }, /* 16-way set assoc, 64 byte line size */ { 0xe3, LVL_3, 4096 }, /* 16-way set assoc, 64 byte line size */ { 0xe4, LVL_3, 8192 }, /* 16-way set assoc, 64 byte line size */ + { 0xea, LVL_3, 12288 }, /* 24-way set assoc, 64 byte line size */ + { 0xeb, LVL_3, 18432 }, /* 24-way set assoc, 64 byte line size */ + { 0xec, LVL_3, 24576 }, /* 24-way set assoc, 64 byte line size */ { 0x00, 0, 0} }; @@ -147,7 +151,8 @@ union _cpuid4_leaf_ebx ebx; union _cpuid4_leaf_ecx ecx; unsigned long size; - unsigned long can_disable; + bool can_disable; + unsigned int l3_indices; DECLARE_BITMAP(shared_cpu_map, NR_CPUS); }; @@ -157,7 +162,8 @@ union _cpuid4_leaf_ebx ebx; union _cpuid4_leaf_ecx ecx; unsigned long size; - unsigned long can_disable; + bool can_disable; + unsigned int l3_indices; }; unsigned short num_cache_leaves; @@ -287,6 +293,36 @@ (ebx->split.ways_of_associativity + 1) - 1; } +struct _cache_attr { + struct attribute attr; + ssize_t (*show)(struct _cpuid4_info *, char *); + ssize_t (*store)(struct _cpuid4_info *, const char *, size_t count); +}; + +#ifdef CONFIG_CPU_SUP_AMD +static unsigned int __cpuinit amd_calc_l3_indices(void) +{ + /* + * We're called over smp_call_function_single() and therefore + * are on the correct cpu. + */ + int cpu = smp_processor_id(); + int node = cpu_to_node(cpu); + struct pci_dev *dev = node_to_k8_nb_misc(node); + unsigned int sc0, sc1, sc2, sc3; + u32 val = 0; + + pci_read_config_dword(dev, 0x1C4, &val); + + /* calculate subcache sizes */ + sc0 = !(val & BIT(0)); + sc1 = !(val & BIT(4)); + sc2 = !(val & BIT(8)) + !(val & BIT(9)); + sc3 = !(val & BIT(12)) + !(val & BIT(13)); + + return (max(max(max(sc0, sc1), sc2), sc3) << 10) - 1; +} + static void __cpuinit amd_check_l3_disable(int index, struct _cpuid4_info_regs *this_leaf) { @@ -296,13 +332,108 @@ if (boot_cpu_data.x86 == 0x11) return; - /* see erratum #382 */ - if ((boot_cpu_data.x86 == 0x10) && (boot_cpu_data.x86_model < 0x8)) + /* see errata #382 and #388 */ + if ((boot_cpu_data.x86 == 0x10) && + ((boot_cpu_data.x86_model < 0x8) || + (boot_cpu_data.x86_mask < 0x1))) return; - this_leaf->can_disable = 1; + /* not in virtualized environments */ + if (num_k8_northbridges == 0) + return; + + this_leaf->can_disable = true; + this_leaf->l3_indices = amd_calc_l3_indices(); +} + +static ssize_t show_cache_disable(struct _cpuid4_info *this_leaf, char *buf, + unsigned int index) +{ + int cpu = cpumask_first(to_cpumask(this_leaf->shared_cpu_map)); + int node = amd_get_nb_id(cpu); + struct pci_dev *dev = node_to_k8_nb_misc(node); + unsigned int reg = 0; + + if (!this_leaf->can_disable) + return -EINVAL; + + if (!dev) + return -EINVAL; + + pci_read_config_dword(dev, 0x1BC + index * 4, ®); + return sprintf(buf, "0x%08x\n", reg); +} + +#define SHOW_CACHE_DISABLE(index) \ +static ssize_t \ +show_cache_disable_##index(struct _cpuid4_info *this_leaf, char *buf) \ +{ \ + return show_cache_disable(this_leaf, buf, index); \ +} +SHOW_CACHE_DISABLE(0) +SHOW_CACHE_DISABLE(1) + +static ssize_t store_cache_disable(struct _cpuid4_info *this_leaf, + const char *buf, size_t count, unsigned int index) +{ + int cpu = cpumask_first(to_cpumask(this_leaf->shared_cpu_map)); + int node = amd_get_nb_id(cpu); + struct pci_dev *dev = node_to_k8_nb_misc(node); + unsigned long val = 0; + +#define SUBCACHE_MASK (3UL << 20) +#define SUBCACHE_INDEX 0xfff + + if (!this_leaf->can_disable) + return -EINVAL; + + if (!capable(CAP_SYS_ADMIN)) + return -EPERM; + + if (!dev) + return -EINVAL; + + if (strict_strtoul(buf, 10, &val) < 0) + return -EINVAL; + + /* do not allow writes outside of allowed bits */ + if ((val & ~(SUBCACHE_MASK | SUBCACHE_INDEX)) || + ((val & SUBCACHE_INDEX) > this_leaf->l3_indices)) + return -EINVAL; + + val |= BIT(30); + pci_write_config_dword(dev, 0x1BC + index * 4, val); + /* + * We need to WBINVD on a core on the node containing the L3 cache which + * indices we disable therefore a simple wbinvd() is not sufficient. + */ + wbinvd_on_cpu(cpu); + pci_write_config_dword(dev, 0x1BC + index * 4, val | BIT(31)); + return count; } +#define STORE_CACHE_DISABLE(index) \ +static ssize_t \ +store_cache_disable_##index(struct _cpuid4_info *this_leaf, \ + const char *buf, size_t count) \ +{ \ + return store_cache_disable(this_leaf, buf, count, index); \ +} +STORE_CACHE_DISABLE(0) +STORE_CACHE_DISABLE(1) + +static struct _cache_attr cache_disable_0 = __ATTR(cache_disable_0, 0644, + show_cache_disable_0, store_cache_disable_0); +static struct _cache_attr cache_disable_1 = __ATTR(cache_disable_1, 0644, + show_cache_disable_1, store_cache_disable_1); + +#else /* CONFIG_CPU_SUP_AMD */ +static void __cpuinit +amd_check_l3_disable(int index, struct _cpuid4_info_regs *this_leaf) +{ +}; +#endif /* CONFIG_CPU_SUP_AMD */ + static int __cpuinit cpuid4_cache_lookup_regs(int index, struct _cpuid4_info_regs *this_leaf) @@ -520,18 +651,19 @@ { struct _cpuid4_info *this_leaf, *sibling_leaf; unsigned long num_threads_sharing; - int index_msb, i; + int index_msb, i, sibling; struct cpuinfo_x86 *c = &cpu_data(cpu); if ((index == 3) && (c->x86_vendor == X86_VENDOR_AMD)) { - struct cpuinfo_x86 *d; - for_each_online_cpu(i) { + for_each_cpu(i, c->llc_shared_map) { if (!per_cpu(cpuid4_info, i)) continue; - d = &cpu_data(i); this_leaf = CPUID4_INFO_IDX(i, index); - cpumask_copy(to_cpumask(this_leaf->shared_cpu_map), - d->llc_shared_map); + for_each_cpu(sibling, c->llc_shared_map) { + if (!cpu_online(sibling)) + continue; + set_bit(sibling, this_leaf->shared_cpu_map); + } } return; } @@ -723,82 +855,6 @@ #define to_object(k) container_of(k, struct _index_kobject, kobj) #define to_attr(a) container_of(a, struct _cache_attr, attr) -static ssize_t show_cache_disable(struct _cpuid4_info *this_leaf, char *buf, - unsigned int index) -{ - int cpu = cpumask_first(to_cpumask(this_leaf->shared_cpu_map)); - int node = cpu_to_node(cpu); - struct pci_dev *dev = node_to_k8_nb_misc(node); - unsigned int reg = 0; - - if (!this_leaf->can_disable) - return -EINVAL; - - if (!dev) - return -EINVAL; - - pci_read_config_dword(dev, 0x1BC + index * 4, ®); - return sprintf(buf, "%x\n", reg); -} - -#define SHOW_CACHE_DISABLE(index) \ -static ssize_t \ -show_cache_disable_##index(struct _cpuid4_info *this_leaf, char *buf) \ -{ \ - return show_cache_disable(this_leaf, buf, index); \ -} -SHOW_CACHE_DISABLE(0) -SHOW_CACHE_DISABLE(1) - -static ssize_t store_cache_disable(struct _cpuid4_info *this_leaf, - const char *buf, size_t count, unsigned int index) -{ - int cpu = cpumask_first(to_cpumask(this_leaf->shared_cpu_map)); - int node = cpu_to_node(cpu); - struct pci_dev *dev = node_to_k8_nb_misc(node); - unsigned long val = 0; - unsigned int scrubber = 0; - - if (!this_leaf->can_disable) - return -EINVAL; - - if (!capable(CAP_SYS_ADMIN)) - return -EPERM; - - if (!dev) - return -EINVAL; - - if (strict_strtoul(buf, 10, &val) < 0) - return -EINVAL; - - val |= 0xc0000000; - - pci_read_config_dword(dev, 0x58, &scrubber); - scrubber &= ~0x1f000000; - pci_write_config_dword(dev, 0x58, scrubber); - - pci_write_config_dword(dev, 0x1BC + index * 4, val & ~0x40000000); - wbinvd(); - pci_write_config_dword(dev, 0x1BC + index * 4, val); - return count; -} - -#define STORE_CACHE_DISABLE(index) \ -static ssize_t \ -store_cache_disable_##index(struct _cpuid4_info *this_leaf, \ - const char *buf, size_t count) \ -{ \ - return store_cache_disable(this_leaf, buf, count, index); \ -} -STORE_CACHE_DISABLE(0) -STORE_CACHE_DISABLE(1) - -struct _cache_attr { - struct attribute attr; - ssize_t (*show)(struct _cpuid4_info *, char *); - ssize_t (*store)(struct _cpuid4_info *, const char *, size_t count); -}; - #define define_one_ro(_name) \ static struct _cache_attr _name = \ __ATTR(_name, 0444, show_##_name, NULL) @@ -813,23 +869,28 @@ define_one_ro(shared_cpu_map); define_one_ro(shared_cpu_list); -static struct _cache_attr cache_disable_0 = __ATTR(cache_disable_0, 0644, - show_cache_disable_0, store_cache_disable_0); -static struct _cache_attr cache_disable_1 = __ATTR(cache_disable_1, 0644, - show_cache_disable_1, store_cache_disable_1); +#define DEFAULT_SYSFS_CACHE_ATTRS \ + &type.attr, \ + &level.attr, \ + &coherency_line_size.attr, \ + &physical_line_partition.attr, \ + &ways_of_associativity.attr, \ + &number_of_sets.attr, \ + &size.attr, \ + &shared_cpu_map.attr, \ + &shared_cpu_list.attr static struct attribute *default_attrs[] = { - &type.attr, - &level.attr, - &coherency_line_size.attr, - &physical_line_partition.attr, - &ways_of_associativity.attr, - &number_of_sets.attr, - &size.attr, - &shared_cpu_map.attr, - &shared_cpu_list.attr, + DEFAULT_SYSFS_CACHE_ATTRS, + NULL +}; + +static struct attribute *default_l3_attrs[] = { + DEFAULT_SYSFS_CACHE_ATTRS, +#ifdef CONFIG_CPU_SUP_AMD &cache_disable_0.attr, &cache_disable_1.attr, +#endif NULL }; @@ -920,6 +981,7 @@ unsigned int cpu = sys_dev->id; unsigned long i, j; struct _index_kobject *this_object; + struct _cpuid4_info *this_leaf; int retval; retval = cpuid4_cache_sysfs_init(cpu); @@ -938,6 +1000,14 @@ this_object = INDEX_KOBJECT_PTR(cpu, i); this_object->cpu = cpu; this_object->index = i; + + this_leaf = CPUID4_INFO_IDX(cpu, i); + + if (this_leaf->can_disable) + ktype_cache.default_attrs = default_l3_attrs; + else + ktype_cache.default_attrs = default_attrs; + retval = kobject_init_and_add(&(this_object->kobj), &ktype_cache, per_cpu(cache_kobject, cpu), --- linux-2.6.32.orig/arch/x86/kernel/cpu/perf_event.c +++ linux-2.6.32/arch/x86/kernel/cpu/perf_event.c @@ -190,6 +190,97 @@ [PERF_COUNT_HW_CACHE_OP_MAX] [PERF_COUNT_HW_CACHE_RESULT_MAX]; +static const u64 westmere_hw_cache_event_ids + [PERF_COUNT_HW_CACHE_MAX] + [PERF_COUNT_HW_CACHE_OP_MAX] + [PERF_COUNT_HW_CACHE_RESULT_MAX] = +{ + [ C(L1D) ] = { + [ C(OP_READ) ] = { + [ C(RESULT_ACCESS) ] = 0x010b, /* MEM_INST_RETIRED.LOADS */ + [ C(RESULT_MISS) ] = 0x0151, /* L1D.REPL */ + }, + [ C(OP_WRITE) ] = { + [ C(RESULT_ACCESS) ] = 0x020b, /* MEM_INST_RETURED.STORES */ + [ C(RESULT_MISS) ] = 0x0251, /* L1D.M_REPL */ + }, + [ C(OP_PREFETCH) ] = { + [ C(RESULT_ACCESS) ] = 0x014e, /* L1D_PREFETCH.REQUESTS */ + [ C(RESULT_MISS) ] = 0x024e, /* L1D_PREFETCH.MISS */ + }, + }, + [ C(L1I ) ] = { + [ C(OP_READ) ] = { + [ C(RESULT_ACCESS) ] = 0x0380, /* L1I.READS */ + [ C(RESULT_MISS) ] = 0x0280, /* L1I.MISSES */ + }, + [ C(OP_WRITE) ] = { + [ C(RESULT_ACCESS) ] = -1, + [ C(RESULT_MISS) ] = -1, + }, + [ C(OP_PREFETCH) ] = { + [ C(RESULT_ACCESS) ] = 0x0, + [ C(RESULT_MISS) ] = 0x0, + }, + }, + [ C(LL ) ] = { + [ C(OP_READ) ] = { + [ C(RESULT_ACCESS) ] = 0x0324, /* L2_RQSTS.LOADS */ + [ C(RESULT_MISS) ] = 0x0224, /* L2_RQSTS.LD_MISS */ + }, + [ C(OP_WRITE) ] = { + [ C(RESULT_ACCESS) ] = 0x0c24, /* L2_RQSTS.RFOS */ + [ C(RESULT_MISS) ] = 0x0824, /* L2_RQSTS.RFO_MISS */ + }, + [ C(OP_PREFETCH) ] = { + [ C(RESULT_ACCESS) ] = 0x4f2e, /* LLC Reference */ + [ C(RESULT_MISS) ] = 0x412e, /* LLC Misses */ + }, + }, + [ C(DTLB) ] = { + [ C(OP_READ) ] = { + [ C(RESULT_ACCESS) ] = 0x010b, /* MEM_INST_RETIRED.LOADS */ + [ C(RESULT_MISS) ] = 0x0108, /* DTLB_LOAD_MISSES.ANY */ + }, + [ C(OP_WRITE) ] = { + [ C(RESULT_ACCESS) ] = 0x020b, /* MEM_INST_RETURED.STORES */ + [ C(RESULT_MISS) ] = 0x010c, /* MEM_STORE_RETIRED.DTLB_MISS */ + }, + [ C(OP_PREFETCH) ] = { + [ C(RESULT_ACCESS) ] = 0x0, + [ C(RESULT_MISS) ] = 0x0, + }, + }, + [ C(ITLB) ] = { + [ C(OP_READ) ] = { + [ C(RESULT_ACCESS) ] = 0x01c0, /* INST_RETIRED.ANY_P */ + [ C(RESULT_MISS) ] = 0x0185, /* ITLB_MISSES.ANY */ + }, + [ C(OP_WRITE) ] = { + [ C(RESULT_ACCESS) ] = -1, + [ C(RESULT_MISS) ] = -1, + }, + [ C(OP_PREFETCH) ] = { + [ C(RESULT_ACCESS) ] = -1, + [ C(RESULT_MISS) ] = -1, + }, + }, + [ C(BPU ) ] = { + [ C(OP_READ) ] = { + [ C(RESULT_ACCESS) ] = 0x00c4, /* BR_INST_RETIRED.ALL_BRANCHES */ + [ C(RESULT_MISS) ] = 0x03e8, /* BPU_CLEARS.ANY */ + }, + [ C(OP_WRITE) ] = { + [ C(RESULT_ACCESS) ] = -1, + [ C(RESULT_MISS) ] = -1, + }, + [ C(OP_PREFETCH) ] = { + [ C(RESULT_ACCESS) ] = -1, + [ C(RESULT_MISS) ] = -1, + }, + }, +}; + static const u64 nehalem_hw_cache_event_ids [PERF_COUNT_HW_CACHE_MAX] [PERF_COUNT_HW_CACHE_OP_MAX] @@ -914,8 +1005,11 @@ if (atomic_read(&active_events) == 0) { if (!reserve_pmc_hardware()) err = -EBUSY; - else + else { err = reserve_bts_hardware(); + if (err) + release_pmc_hardware(); + } } if (!err) atomic_inc(&active_events); @@ -1999,6 +2093,7 @@ * Install the hw-cache-events table: */ switch (boot_cpu_data.x86_model) { + case 15: /* original 65 nm celeron/pentium/core2/xeon, "Merom"/"Conroe" */ case 22: /* single-core 65 nm celeron/core2solo "Merom-L"/"Conroe-L" */ case 23: /* current 45 nm celeron/core2/xeon "Penryn"/"Wolfdale" */ @@ -2009,7 +2104,9 @@ pr_cont("Core2 events, "); break; default: - case 26: + case 26: /* 45 nm nehalem, "Bloomfield" */ + case 30: /* 45 nm nehalem, "Lynnfield" */ + case 46: /* 45 nm nehalem-ex, "Beckton" */ memcpy(hw_cache_event_ids, nehalem_hw_cache_event_ids, sizeof(hw_cache_event_ids)); @@ -2021,6 +2118,14 @@ pr_cont("Atom events, "); break; + + case 37: /* 32 nm nehalem, "Clarkdale" */ + case 44: /* 32 nm nehalem, "Gulftown" */ + memcpy(hw_cache_event_ids, westmere_hw_cache_event_ids, + sizeof(hw_cache_event_ids)); + + pr_cont("Westmere events, "); + break; } return 0; } --- linux-2.6.32.orig/arch/x86/kernel/cpu/vmware.c +++ linux-2.6.32/arch/x86/kernel/cpu/vmware.c @@ -22,6 +22,7 @@ */ #include +#include #include #include #include @@ -50,7 +51,7 @@ static unsigned long vmware_get_tsc_khz(void) { - uint64_t tsc_hz; + uint64_t tsc_hz, lpj; uint32_t eax, ebx, ecx, edx; VMWARE_PORT(GETHZ, eax, ebx, ecx, edx); @@ -61,6 +62,13 @@ printk(KERN_INFO "TSC freq read from hypervisor : %lu.%03lu MHz\n", (unsigned long) tsc_hz / 1000, (unsigned long) tsc_hz % 1000); + + if (!preset_lpj) { + lpj = ((u64)tsc_hz * 1000); + do_div(lpj, HZ); + preset_lpj = lpj; + } + return tsc_hz; } --- linux-2.6.32.orig/arch/x86/kernel/cpu/perfctr-watchdog.c +++ linux-2.6.32/arch/x86/kernel/cpu/perfctr-watchdog.c @@ -712,7 +712,7 @@ switch (boot_cpu_data.x86_vendor) { case X86_VENDOR_AMD: if (boot_cpu_data.x86 != 6 && boot_cpu_data.x86 != 15 && - boot_cpu_data.x86 != 16) + boot_cpu_data.x86 != 16 && boot_cpu_data.x86 != 17) return; wd_ops = &k7_wd_ops; break; --- linux-2.6.32.orig/arch/x86/kernel/cpu/mcheck/Makefile +++ linux-2.6.32/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-2.6.32.orig/arch/x86/kernel/cpu/mcheck/mce-internal.h +++ linux-2.6.32/arch/x86/kernel/cpu/mcheck/mce-internal.h @@ -28,3 +28,4 @@ extern struct mce_bank *mce_banks; +extern void (*mce_cpu_specific_poll)(struct mce *); --- linux-2.6.32.orig/arch/x86/kernel/cpu/mcheck/mce.c +++ linux-2.6.32/arch/x86/kernel/cpu/mcheck/mce.c @@ -91,6 +91,9 @@ pr_emerg("Run the message through 'mcelog --ascii' to decode.\n"); } +void (*mce_cpu_specific_poll)(struct mce *); +EXPORT_SYMBOL_GPL(mce_cpu_specific_poll); + /* * CPU/chipset specific EDAC code can register a callback here to print * MCE errors in a human-readable form: @@ -350,6 +353,11 @@ wrmsrl(msr, v); } +static int under_injection(void) +{ + return __get_cpu_var(injectm).finished; +} + /* * Simple lockless ring to communicate PFNs from the exception handler with the * process context work function. This is vastly simplified because there's @@ -553,6 +561,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. @@ -1374,13 +1386,14 @@ struct timer_list *t = &__get_cpu_var(mce_timer); int *n = &__get_cpu_var(mce_next_interval); + setup_timer(t, mcheck_timer, smp_processor_id()); + if (mce_ignore_ce) return; *n = check_interval * HZ; if (!*n) return; - setup_timer(t, mcheck_timer, smp_processor_id()); t->expires = round_jiffies(jiffies + *n); add_timer_on(t, smp_processor_id()); } @@ -1991,9 +2004,11 @@ break; case CPU_DOWN_FAILED: case CPU_DOWN_FAILED_FROZEN: - t->expires = round_jiffies(jiffies + + if (!mce_ignore_ce && check_interval) { + t->expires = round_jiffies(jiffies + __get_cpu_var(mce_next_interval)); - add_timer_on(t, cpu); + add_timer_on(t, cpu); + } smp_call_function_single(cpu, mce_reenable_cpu, &action, 1); break; case CPU_POST_DEAD: --- linux-2.6.32.orig/arch/x86/kernel/cpu/mcheck/mce_amd.c +++ linux-2.6.32/arch/x86/kernel/cpu/mcheck/mce_amd.c @@ -140,6 +140,7 @@ address = (low & MASK_BLKPTR_LO) >> 21; if (!address) break; + address += MCG_XBLK_ADDR; } else ++address; @@ -147,12 +148,8 @@ if (rdmsr_safe(address, &low, &high)) break; - if (!(high & MASK_VALID_HI)) { - if (block) - continue; - else - break; - } + if (!(high & MASK_VALID_HI)) + continue; if (!(high & MASK_CNTP_HI) || (high & MASK_LOCKED_HI)) @@ -471,6 +468,7 @@ out_free: if (b) { kobject_put(&b->kobj); + list_del(&b->miscj); kfree(b); } return err; --- linux-2.6.32.orig/arch/x86/kernel/cpu/mcheck/therm_throt.c +++ linux-2.6.32/arch/x86/kernel/cpu/mcheck/therm_throt.c @@ -49,6 +49,8 @@ static atomic_t therm_throt_en = ATOMIC_INIT(0); +static u32 lvtthmr_init __read_mostly; + #ifdef CONFIG_SYSFS #define define_therm_throt_sysdev_one_ro(_name) \ static SYSDEV_ATTR(_name, 0444, therm_throt_sysdev_show_##_name, NULL) @@ -254,14 +256,27 @@ ack_APIC_irq(); } +void __init mcheck_intel_therm_init(void) +{ + /* + * This function is only called on boot CPU. Save the init thermal + * LVT value on BSP and use that value to restore APs' thermal LVT + * entry BIOS programmed later + */ + if (cpu_has(&boot_cpu_data, X86_FEATURE_ACPI) && + cpu_has(&boot_cpu_data, X86_FEATURE_ACC)) + lvtthmr_init = apic_read(APIC_LVTTHMR); +} + void intel_init_thermal(struct cpuinfo_x86 *c) { unsigned int cpu = smp_processor_id(); int tm2 = 0; u32 l, h; - /* Thermal monitoring depends on ACPI and clock modulation*/ - if (!cpu_has(c, X86_FEATURE_ACPI) || !cpu_has(c, X86_FEATURE_ACC)) + /* Thermal monitoring depends on APIC, ACPI and clock modulation */ + if (!cpu_has_apic || !cpu_has(c, X86_FEATURE_ACPI) || + !cpu_has(c, X86_FEATURE_ACC)) return; /* @@ -270,7 +285,22 @@ * since it might be delivered via SMI already: */ rdmsr(MSR_IA32_MISC_ENABLE, l, h); - h = apic_read(APIC_LVTTHMR); + + h = lvtthmr_init; + /* + * The initial value of thermal LVT entries on all APs always reads + * 0x10000 because APs are woken up by BSP issuing INIT-SIPI-SIPI + * sequence to them and LVT registers are reset to 0s except for + * the mask bits which are set to 1s when APs receive INIT IPI. + * If BIOS takes over the thermal interrupt and sets its interrupt + * delivery mode to SMI (not fixed), it restores the value that the + * BIOS has programmed on AP based on BSP's info we saved since BIOS + * is always setting the same value for all threads/cores. + */ + if ((h & APIC_DM_FIXED_MASK) != APIC_DM_FIXED) + apic_write(APIC_LVTTHMR, lvtthmr_init); + + if ((l & MSR_IA32_MISC_ENABLE_TM1) && (h & APIC_DM_SMI)) { printk(KERN_DEBUG "CPU%d: Thermal monitoring handled by SMI\n", cpu); --- linux-2.6.32.orig/arch/x86/kernel/cpu/mcheck/mce-xeon75xx.c +++ linux-2.6.32/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-2.6.32.orig/arch/x86/kernel/cpu/mtrr/cleanup.c +++ linux-2.6.32/arch/x86/kernel/cpu/mtrr/cleanup.c @@ -948,7 +948,7 @@ if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD) return 0; - if (boot_cpu_data.x86 < 0xf || boot_cpu_data.x86 > 0x11) + if (boot_cpu_data.x86 < 0xf) return 0; /* In case some hypervisor doesn't pass SYSCFG through: */ if (rdmsr_safe(MSR_K8_SYSCFG, &l, &h) < 0) --- linux-2.6.32.orig/arch/x86/kernel/cpu/mtrr/main.c +++ linux-2.6.32/arch/x86/kernel/cpu/mtrr/main.c @@ -262,14 +262,24 @@ /* * HACK! - * We use this same function to initialize the mtrrs on boot. - * The state of the boot cpu's mtrrs has been saved, and we want - * to replicate across all the APs. - * If we're doing that @reg is set to something special... + * + * We use this same function to initialize the mtrrs during boot, + * resume, runtime cpu online and on an explicit request to set a + * specific MTRR. + * + * During boot or suspend, the state of the boot cpu's mtrrs has been + * saved, and we want to replicate that across all the cpus that come + * online (either at the end of boot or resume or during a runtime cpu + * online). If we're doing that, @reg is set to something special and on + * this cpu we still do mtrr_if->set_all(). During boot/resume, this + * is unnecessary if at this point we are still on the cpu that started + * the boot/resume sequence. But there is no guarantee that we are still + * on the same cpu. So we do mtrr_if->set_all() on this cpu aswell to be + * sure that we are in sync with everyone else. */ if (reg != ~0U) mtrr_if->set(reg, base, size, type); - else if (!mtrr_aps_delayed_init) + else mtrr_if->set_all(); /* Wait for the others */ @@ -762,13 +772,21 @@ } /* - * MTRR initialization for all AP's + * Delayed MTRR initialization for all AP's */ void mtrr_aps_init(void) { if (!use_intel()) return; + /* + * Check if someone has requested the delay of AP MTRR initialization, + * by doing set_mtrr_aps_delayed_init(), prior to this point. If not, + * then we are done. + */ + if (!mtrr_aps_delayed_init) + return; + set_mtrr(~0U, 0, 0, 0); mtrr_aps_delayed_init = false; } --- linux-2.6.32.orig/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c +++ linux-2.6.32/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c @@ -741,6 +741,7 @@ per_cpu(drv_data, policy->cpu) = NULL; acpi_processor_unregister_performance(data->acpi_data, policy->cpu); + kfree(data->freq_table); kfree(data); } --- linux-2.6.32.orig/arch/x86/kernel/cpu/cpufreq/powernow-k8.c +++ linux-2.6.32/arch/x86/kernel/cpu/cpufreq/powernow-k8.c @@ -929,7 +929,8 @@ powernow_table[i].index = index; /* Frequency may be rounded for these */ - if (boot_cpu_data.x86 == 0x10 || boot_cpu_data.x86 == 0x11) { + if ((boot_cpu_data.x86 == 0x10 && boot_cpu_data.x86_model < 10) + || boot_cpu_data.x86 == 0x11) { powernow_table[i].frequency = freq_from_fid_did(lo & 0x3f, (lo >> 6) & 7); } else @@ -1351,6 +1352,7 @@ kfree(data->powernow_table); kfree(data); + per_cpu(powernow_data, pol->cpu) = NULL; return 0; } @@ -1370,7 +1372,7 @@ int err; if (!data) - return -EINVAL; + return 0; smp_call_function_single(cpu, query_values_on_cpu, &err, true); if (err) --- linux-2.6.32.orig/arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c +++ linux-2.6.32/arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c @@ -45,6 +45,7 @@ CPU_DOTHAN_A1, CPU_DOTHAN_A2, CPU_DOTHAN_B0, + CPU_DOTHAN_C0, CPU_MP4HT_D0, CPU_MP4HT_E0, }; @@ -54,6 +55,7 @@ [CPU_DOTHAN_A1] = { 6, 13, 1 }, [CPU_DOTHAN_A2] = { 6, 13, 2 }, [CPU_DOTHAN_B0] = { 6, 13, 6 }, + [CPU_DOTHAN_C0] = { 6, 13, 8 }, [CPU_MP4HT_D0] = {15, 3, 4 }, [CPU_MP4HT_E0] = {15, 4, 1 }, }; @@ -196,6 +198,88 @@ }; #undef OP + +#define OPEX(mhz, base, mva, mvb, mvc, mvd) \ +{ \ + .frequency = (mhz) * 1000, \ + .index = (((mhz)/(base)) << 8) | ((mva - 700) / 16) \ +} + +/* Intel Pentium M processor 730 / 1.60 GHz (Sonoma) */ +static struct cpufreq_frequency_table sonoma_1596[] = +{ + OPEX( 798, 133, 988, 988, 988, 988), + OPEX(1064, 133, 1116, 1111, 1084, 1079), + OPEX(1330, 133, 1244, 1233, 1180, 1169), + OPEX(1596, 133, 1356, 1356, 1260, 1260), + { .frequency = CPUFREQ_TABLE_END } +}; + +/* Intel Pentium M processor 740 / 1.73 GHz (Sonoma) */ +static struct cpufreq_frequency_table sonoma_1729[] = +{ + OPEX( 798, 133, 988, 988, 988, 988), + OPEX(1064, 133, 1100, 1093, 1068, 1066), + OPEX(1330, 133, 1212, 1198, 1148, 1143), + OPEX(1729, 133, 1356, 1356, 1260, 1260), + { .frequency = CPUFREQ_TABLE_END } +}; + +/* Intel Pentium M processor 750 / 1.86 GHz (Sonoma) */ +static struct cpufreq_frequency_table sonoma_1862[] = +{ + OPEX( 798, 133, 988, 988, 988, 988), + OPEX(1064, 133, 1084, 1080, 1068, 1056), + OPEX(1330, 133, 1180, 1172, 1132, 1124), + OPEX(1596, 133, 1276, 1264, 1196, 1192), + OPEX(1862, 133, 1356, 1356, 1260, 1260), + { .frequency = CPUFREQ_TABLE_END } +}; + +/* Intel Pentium M processor 760 / 2.00 GHz (Sonoma) */ +static struct cpufreq_frequency_table sonoma_1995[] = +{ + OPEX( 798, 133, 988, 988, 988, 988), + OPEX(1064, 133, 1084, 1070, 1052, 1048), + OPEX(1330, 133, 1164, 1152, 1116, 1109), + OPEX(1596, 133, 1244, 1233, 1180, 1169), + OPEX(1995, 133, 1356, 1356, 1260, 1260), + { .frequency = CPUFREQ_TABLE_END } +}; +/* Intel Pentium M processor 770 / 2.13 GHz (Sonoma) */ +static struct cpufreq_frequency_table sonoma_2128[] = +{ + OPEX( 798, 133, 988, 988, 988, 988), + OPEX(1064, 133, 1068, 1065, 1052, 1042), + OPEX(1330, 133, 1148, 1142, 1100, 1097), + OPEX(1596, 133, 1228, 1218, 1164, 1151), + OPEX(1862, 133, 1308, 1295, 1212, 1206), + OPEX(2128, 133, 1372, 1372, 1260, 1260), + { .frequency = CPUFREQ_TABLE_END } +}; + +/* Intel Pentium M processor 780 / 2.26 GHz (Sonoma) */ +static struct cpufreq_frequency_table sonoma_2261[] = +{ + OPEX( 798, 133, 988, 988, 988, 988), + OPEX(1064, 133, 1068, 1064, 1052, 1037), + OPEX(1330, 133, 1148, 1139, 1100, 1087), + OPEX(1596, 133, 1228, 1215, 1148, 1136), + OPEX(1862, 133, 1292, 1291, 1196, 1186), + OPEX(2261, 133, 1404, 1404, 1260, 1260), + { .frequency = CPUFREQ_TABLE_END } +}; + +#undef OPEX + +#define SONOMA(cpuid, max, base, name) \ +{ .cpu_id = cpuid, \ + .model_name = "Intel(R) Pentium(R) M processor " name "GHz", \ + .max_freq = (max)*1000, \ + .op_points = sonoma_##max, \ +} + + #define _BANIAS(cpuid, max, name) \ { .cpu_id = cpuid, \ .model_name = "Intel(R) Pentium(R) M processor " name "MHz", \ @@ -218,6 +302,15 @@ BANIAS(1600), BANIAS(1700), + /* Builtin tables for Dothan C0 CPUs, a.k.a Sonoma */ + SONOMA(&cpu_ids[CPU_DOTHAN_C0], 1596, 133, "1.60"), + SONOMA(&cpu_ids[CPU_DOTHAN_C0], 1729, 133, "1.73"), + SONOMA(&cpu_ids[CPU_DOTHAN_C0], 1862, 133, "1.86"), + SONOMA(&cpu_ids[CPU_DOTHAN_C0], 1995, 133, "2.00"), + SONOMA(&cpu_ids[CPU_DOTHAN_C0], 2128, 133, "2.13"), + SONOMA(&cpu_ids[CPU_DOTHAN_C0], 2261, 133, "2.26"), + + /* NULL model_name is a wildcard */ { &cpu_ids[CPU_DOTHAN_A1], NULL, 0, NULL }, { &cpu_ids[CPU_DOTHAN_A2], NULL, 0, NULL }, --- linux-2.6.32.orig/arch/x86/kvm/i8254.c +++ linux-2.6.32/arch/x86/kvm/i8254.c @@ -277,11 +277,15 @@ .is_periodic = kpit_is_periodic, }; -static void create_pit_timer(struct kvm_kpit_state *ps, u32 val, int is_period) +static void create_pit_timer(struct kvm *kvm, u32 val, int is_period) { + struct kvm_kpit_state *ps = &kvm->arch.vpit->pit_state; struct kvm_timer *pt = &ps->pit_timer; s64 interval; + if (!irqchip_in_kernel(kvm)) + return; + interval = muldiv64(val, NSEC_PER_SEC, KVM_PIT_FREQ); pr_debug("pit: create pit timer, interval is %llu nsec\n", interval); @@ -333,13 +337,13 @@ /* FIXME: enhance mode 4 precision */ case 4: if (!(ps->flags & KVM_PIT_FLAGS_HPET_LEGACY)) { - create_pit_timer(ps, val, 0); + create_pit_timer(kvm, val, 0); } break; case 2: case 3: if (!(ps->flags & KVM_PIT_FLAGS_HPET_LEGACY)){ - create_pit_timer(ps, val, 1); + create_pit_timer(kvm, val, 1); } break; default: @@ -465,6 +469,9 @@ return -EOPNOTSUPP; addr &= KVM_PIT_CHANNEL_MASK; + if (addr == 3) + return 0; + s = &pit_state->channels[addr]; mutex_lock(&pit_state->lock); --- linux-2.6.32.orig/arch/x86/kvm/lapic.c +++ linux-2.6.32/arch/x86/kvm/lapic.c @@ -374,6 +374,12 @@ if (unlikely(!apic_enabled(apic))) break; + if (trig_mode) { + apic_debug("level trig mode for vector %d", vector); + apic_set_vector(vector, apic->regs + APIC_TMR); + } else + apic_clear_vector(vector, apic->regs + APIC_TMR); + result = !apic_test_and_set_irr(vector, apic); trace_kvm_apic_accept_irq(vcpu->vcpu_id, delivery_mode, trig_mode, vector, !result); @@ -384,11 +390,6 @@ break; } - if (trig_mode) { - apic_debug("level trig mode for vector %d", vector); - apic_set_vector(vector, apic->regs + APIC_TMR); - } else - apic_clear_vector(vector, apic->regs + APIC_TMR); kvm_vcpu_kick(vcpu); break; @@ -1156,6 +1157,7 @@ hrtimer_cancel(&apic->lapic_timer.timer); update_divide_count(apic); start_apic_timer(apic); + apic->irr_pending = true; } void __kvm_migrate_apic_timer(struct kvm_vcpu *vcpu) --- linux-2.6.32.orig/arch/x86/kvm/mmu.c +++ linux-2.6.32/arch/x86/kvm/mmu.c @@ -136,12 +136,6 @@ #define PT64_PERM_MASK (PT_PRESENT_MASK | PT_WRITABLE_MASK | PT_USER_MASK \ | PT64_NX_MASK) -#define PFERR_PRESENT_MASK (1U << 0) -#define PFERR_WRITE_MASK (1U << 1) -#define PFERR_USER_MASK (1U << 2) -#define PFERR_RSVD_MASK (1U << 3) -#define PFERR_FETCH_MASK (1U << 4) - #define PT_PDPE_LEVEL 3 #define PT_DIRECTORY_LEVEL 2 #define PT_PAGE_TABLE_LEVEL 1 @@ -227,7 +221,7 @@ } EXPORT_SYMBOL_GPL(kvm_mmu_set_mask_ptes); -static int is_write_protection(struct kvm_vcpu *vcpu) +static bool is_write_protection(struct kvm_vcpu *vcpu) { return vcpu->arch.cr0 & X86_CR0_WP; } @@ -477,7 +471,7 @@ addr = gfn_to_hva(kvm, gfn); if (kvm_is_error_hva(addr)) - return page_size; + return PT_PAGE_TABLE_LEVEL; down_read(¤t->mm->mmap_sem); vma = find_vma(current->mm, addr); @@ -515,11 +509,9 @@ if (host_level == PT_PAGE_TABLE_LEVEL) return host_level; - for (level = PT_DIRECTORY_LEVEL; level <= host_level; ++level) { - + for (level = PT_DIRECTORY_LEVEL; level <= host_level; ++level) if (has_wrprotected_page(vcpu->kvm, large_gfn, level)) break; - } return level - 1; } @@ -1504,8 +1496,8 @@ for_each_sp(pages, sp, parents, i) { kvm_mmu_zap_page(kvm, sp); mmu_pages_clear_parents(&parents); + zapped++; } - zapped += pages.nr; kvm_mmu_pages_init(parent, &parents, &pages); } @@ -1556,14 +1548,16 @@ */ if (used_pages > kvm_nr_mmu_pages) { - while (used_pages > kvm_nr_mmu_pages) { + while (used_pages > kvm_nr_mmu_pages && + !list_empty(&kvm->arch.active_mmu_pages)) { struct kvm_mmu_page *page; page = container_of(kvm->arch.active_mmu_pages.prev, struct kvm_mmu_page, link); - kvm_mmu_zap_page(kvm, page); + used_pages -= kvm_mmu_zap_page(kvm, page); used_pages--; } + kvm_nr_mmu_pages = used_pages; kvm->arch.n_free_mmu_pages = 0; } else @@ -1610,7 +1604,8 @@ && !sp->role.invalid) { pgprintk("%s: zap %lx %x\n", __func__, gfn, sp->role.word); - kvm_mmu_zap_page(kvm, sp); + if (kvm_mmu_zap_page(kvm, sp)) + nn = bucket->first; } } } @@ -1641,7 +1636,7 @@ { struct page *page; - gpa_t gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, gva); + gpa_t gpa = kvm_mmu_gva_to_gpa_read(vcpu, gva, NULL); if (gpa == UNMAPPED_GVA) return NULL; @@ -1848,6 +1843,9 @@ spte |= PT_WRITABLE_MASK; + if (!tdp_enabled && !(pte_access & ACC_WRITE_MASK)) + spte &= ~PT_USER_MASK; + /* * Optimization: for pte sync, if spte was writable the hash * lookup is unnecessary (and expensive). Write protection @@ -1903,6 +1901,8 @@ child = page_header(pte & PT64_BASE_ADDR_MASK); mmu_page_remove_parent_pte(child, sptep); + __set_spte(sptep, shadow_trap_nonpresent_pte); + kvm_flush_remote_tlbs(vcpu->kvm); } else if (pfn != spte_to_pfn(*sptep)) { pgprintk("hfn old %lx new %lx\n", spte_to_pfn(*sptep), pfn); @@ -2096,11 +2096,13 @@ direct = 1; if (mmu_check_root(vcpu, root_gfn)) return 1; + spin_lock(&vcpu->kvm->mmu_lock); sp = kvm_mmu_get_page(vcpu, root_gfn, 0, PT64_ROOT_LEVEL, direct, ACC_ALL, NULL); root = __pa(sp->spt); ++sp->root_count; + spin_unlock(&vcpu->kvm->mmu_lock); vcpu->arch.mmu.root_hpa = root; return 0; } @@ -2122,11 +2124,14 @@ root_gfn = 0; if (mmu_check_root(vcpu, root_gfn)) return 1; + spin_lock(&vcpu->kvm->mmu_lock); sp = kvm_mmu_get_page(vcpu, root_gfn, i << 30, PT32_ROOT_LEVEL, direct, ACC_ALL, NULL); root = __pa(sp->spt); ++sp->root_count; + spin_unlock(&vcpu->kvm->mmu_lock); + vcpu->arch.mmu.pae_root[i] = root | PT_PRESENT_MASK; } vcpu->arch.mmu.root_hpa = __pa(vcpu->arch.mmu.pae_root); @@ -2164,8 +2169,11 @@ spin_unlock(&vcpu->kvm->mmu_lock); } -static gpa_t nonpaging_gva_to_gpa(struct kvm_vcpu *vcpu, gva_t vaddr) +static gpa_t nonpaging_gva_to_gpa(struct kvm_vcpu *vcpu, gva_t vaddr, + u32 access, u32 *error) { + if (error) + *error = 0; return vaddr; } @@ -2447,6 +2455,7 @@ r = paging32_init_context(vcpu); vcpu->arch.mmu.base_role.glevels = vcpu->arch.mmu.root_level; + vcpu->arch.mmu.base_role.cr0_wp = is_write_protection(vcpu); return r; } @@ -2486,7 +2495,9 @@ goto out; spin_lock(&vcpu->kvm->mmu_lock); kvm_mmu_free_some_pages(vcpu); + spin_unlock(&vcpu->kvm->mmu_lock); r = mmu_alloc_roots(vcpu); + spin_lock(&vcpu->kvm->mmu_lock); mmu_sync_roots(vcpu); spin_unlock(&vcpu->kvm->mmu_lock); if (r) @@ -2749,7 +2760,7 @@ if (tdp_enabled) return 0; - gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, gva); + gpa = kvm_mmu_gva_to_gpa_read(vcpu, gva, NULL); spin_lock(&vcpu->kvm->mmu_lock); r = kvm_mmu_unprotect_page(vcpu->kvm, gpa >> PAGE_SHIFT); @@ -3247,7 +3258,7 @@ if (is_shadow_present_pte(ent) && !is_last_spte(ent, level)) audit_mappings_page(vcpu, ent, va, level - 1); else { - gpa_t gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, va); + gpa_t gpa = kvm_mmu_gva_to_gpa_read(vcpu, va, NULL); gfn_t gfn = gpa >> PAGE_SHIFT; pfn_t pfn = gfn_to_pfn(vcpu->kvm, gfn); hpa_t hpa = (hpa_t)pfn << PAGE_SHIFT; --- linux-2.6.32.orig/arch/x86/kvm/mmu.h +++ linux-2.6.32/arch/x86/kvm/mmu.h @@ -37,6 +37,12 @@ #define PT32_ROOT_LEVEL 2 #define PT32E_ROOT_LEVEL 3 +#define PFERR_PRESENT_MASK (1U << 0) +#define PFERR_WRITE_MASK (1U << 1) +#define PFERR_USER_MASK (1U << 2) +#define PFERR_RSVD_MASK (1U << 3) +#define PFERR_FETCH_MASK (1U << 4) + int kvm_mmu_get_spte_hierarchy(struct kvm_vcpu *vcpu, u64 addr, u64 sptes[4]); static inline void kvm_mmu_free_some_pages(struct kvm_vcpu *vcpu) --- linux-2.6.32.orig/arch/x86/kvm/svm.c +++ linux-2.6.32/arch/x86/kvm/svm.c @@ -27,6 +27,7 @@ #include #include +#include #include #include @@ -62,6 +63,8 @@ #define nsvm_printk(fmt, args...) do {} while(0) #endif +static bool erratum_383_found __read_mostly; + static const u32 host_save_user_msrs[] = { #ifdef CONFIG_X86_64 MSR_STAR, MSR_LSTAR, MSR_CSTAR, MSR_SYSCALL_MASK, MSR_KERNEL_GS_BASE, @@ -299,6 +302,31 @@ svm_set_interrupt_shadow(vcpu, 0); } +static void svm_init_erratum_383(void) +{ + u32 low, high; + int err; + u64 val; + + /* Only Fam10h is affected */ + if (boot_cpu_data.x86 != 0x10) + return; + + /* Use _safe variants to not break nested virtualization */ + val = native_read_msr_safe(MSR_AMD64_DC_CFG, &err); + if (err) + return; + + val |= (1ULL << 47); + + low = lower_32_bits(val); + high = upper_32_bits(val); + + native_write_msr_safe(MSR_AMD64_DC_CFG, low, high); + + erratum_383_found = true; +} + static int has_svm(void) { const char *msg; @@ -318,7 +346,6 @@ static void svm_hardware_enable(void *garbage) { - struct svm_cpu_data *svm_data; uint64_t efer; struct descriptor_table gdt_descr; @@ -350,6 +377,10 @@ wrmsrl(MSR_VM_HSAVE_PA, page_to_pfn(svm_data->save_area) << PAGE_SHIFT); + + svm_init_erratum_383(); + + return; } static void svm_cpu_uninit(int cpu) @@ -590,7 +621,6 @@ control->iopm_base_pa = iopm_base; control->msrpm_base_pa = __pa(svm->msrpm); - control->tsc_offset = 0; control->int_ctl = V_INTR_MASKING_MASK; init_seg(&save->es); @@ -625,11 +655,12 @@ save->rip = 0x0000fff0; svm->vcpu.arch.regs[VCPU_REGS_RIP] = save->rip; - /* - * cr0 val on cpu init should be 0x60000010, we enable cpu - * cache by default. the orderly way is to enable cache in bios. + /* This is the guest-visible cr0 value. + * svm_set_cr0() sets PG and WP and clears NW and CD on save->cr0. */ - save->cr0 = 0x00000010 | X86_CR0_PG | X86_CR0_WP; + svm->vcpu.arch.cr0 = X86_CR0_NW | X86_CR0_CD | X86_CR0_ET; + kvm_set_cr0(&svm->vcpu, svm->vcpu.arch.cr0); + save->cr4 = X86_CR4_PAE; /* rdx = ?? */ @@ -693,29 +724,28 @@ if (err) goto free_svm; + err = -ENOMEM; page = alloc_page(GFP_KERNEL); - if (!page) { - err = -ENOMEM; + if (!page) goto uninit; - } - err = -ENOMEM; msrpm_pages = alloc_pages(GFP_KERNEL, MSRPM_ALLOC_ORDER); if (!msrpm_pages) - goto uninit; + goto free_page1; nested_msrpm_pages = alloc_pages(GFP_KERNEL, MSRPM_ALLOC_ORDER); if (!nested_msrpm_pages) - goto uninit; - - svm->msrpm = page_address(msrpm_pages); - svm_vcpu_init_msrpm(svm->msrpm); + goto free_page2; hsave_page = alloc_page(GFP_KERNEL); if (!hsave_page) - goto uninit; + goto free_page3; + svm->nested.hsave = page_address(hsave_page); + svm->msrpm = page_address(msrpm_pages); + svm_vcpu_init_msrpm(svm->msrpm); + svm->nested.msrpm = page_address(nested_msrpm_pages); svm->vmcb = page_address(page); @@ -723,6 +753,7 @@ svm->vmcb_pa = page_to_pfn(page) << PAGE_SHIFT; svm->asid_generation = 0; init_vmcb(svm); + svm->vmcb->control.tsc_offset = 0-native_read_tsc(); fx_init(&svm->vcpu); svm->vcpu.fpu_active = 1; @@ -732,6 +763,12 @@ return &svm->vcpu; +free_page3: + __free_pages(nested_msrpm_pages, MSRPM_ALLOC_ORDER); +free_page2: + __free_pages(msrpm_pages, MSRPM_ALLOC_ORDER); +free_page1: + __free_page(page); uninit: kvm_vcpu_uninit(&svm->vcpu); free_svm: @@ -758,17 +795,18 @@ int i; if (unlikely(cpu != vcpu->cpu)) { - u64 tsc_this, delta; + u64 delta; - /* - * Make sure that the guest sees a monotonically - * increasing TSC. - */ - rdtscll(tsc_this); - delta = vcpu->arch.host_tsc - tsc_this; - svm->vmcb->control.tsc_offset += delta; - if (is_nested(svm)) - svm->nested.hsave->control.tsc_offset += delta; + if (check_tsc_unstable()) { + /* + * Make sure that the guest sees a monotonically + * increasing TSC. + */ + delta = vcpu->arch.host_tsc - native_read_tsc(); + svm->vmcb->control.tsc_offset += delta; + if (is_nested(svm)) + svm->nested.hsave->control.tsc_offset += delta; + } vcpu->cpu = cpu; kvm_migrate_timers(vcpu); svm->asid_generation = 0; @@ -1251,8 +1289,59 @@ return 1; } -static int mc_interception(struct vcpu_svm *svm, struct kvm_run *kvm_run) +static bool is_erratum_383(void) { + int err, i; + u64 value; + + if (!erratum_383_found) + return false; + + value = native_read_msr_safe(MSR_IA32_MC0_STATUS, &err); + if (err) + return false; + + /* Bit 62 may or may not be set for this mce */ + value &= ~(1ULL << 62); + + if (value != 0xb600000000010015ULL) + return false; + + /* Clear MCi_STATUS registers */ + for (i = 0; i < 6; ++i) + native_write_msr_safe(MSR_IA32_MCx_STATUS(i), 0, 0); + + value = native_read_msr_safe(MSR_IA32_MCG_STATUS, &err); + if (!err) { + u32 low, high; + + value &= ~(1ULL << 2); + low = lower_32_bits(value); + high = upper_32_bits(value); + + native_write_msr_safe(MSR_IA32_MCG_STATUS, low, high); + } + + /* Flush tlb to evict multi-match entries */ + __flush_tlb_all(); + + return true; +} + +static void svm_handle_mce(struct vcpu_svm *svm) +{ + if (is_erratum_383()) { + /* + * Erratum 383 triggered. Guest state is corrupt so kill the + * guest. + */ + pr_err("KVM: Guest triggered AMD Erratum 383\n"); + + set_bit(KVM_REQ_TRIPLE_FAULT, &svm->vcpu.requests); + + return; + } + /* * On an #MC intercept the MCE handler is not called automatically in * the host. So do it by hand here. @@ -1261,6 +1350,11 @@ "int $0x12\n"); /* not sure if we ever come back to this point */ + return; +} + +static int mc_interception(struct vcpu_svm *svm, struct kvm_run *kvm_run) +{ return 1; } @@ -2018,7 +2112,7 @@ static int iret_interception(struct vcpu_svm *svm, struct kvm_run *kvm_run) { ++svm->vcpu.stat.nmi_window_exits; - svm->vmcb->control.intercept &= ~(1UL << INTERCEPT_IRET); + svm->vmcb->control.intercept &= ~(1ULL << INTERCEPT_IRET); svm->vcpu.arch.hflags |= HF_IRET_MASK; return 1; } @@ -2162,6 +2256,7 @@ } svm->vmcb->control.tsc_offset = tsc_offset + g_tsc_offset; + vcpu->arch.hv_clock.tsc_timestamp = 0; break; } @@ -2413,7 +2508,7 @@ svm->vmcb->control.event_inj = SVM_EVTINJ_VALID | SVM_EVTINJ_TYPE_NMI; vcpu->arch.hflags |= HF_NMI_MASK; - svm->vmcb->control.intercept |= (1UL << INTERCEPT_IRET); + svm->vmcb->control.intercept |= (1ULL << INTERCEPT_IRET); ++vcpu->stat.nmi_injections; } @@ -2604,8 +2699,8 @@ sync_lapic_to_cr8(vcpu); save_host_msrs(vcpu); - fs_selector = kvm_read_fs(); - gs_selector = kvm_read_gs(); + savesegment(fs, fs_selector); + savesegment(gs, gs_selector); ldt_selector = kvm_read_ldt(); svm->vmcb->save.cr2 = vcpu->arch.cr2; /* required for live migration with NPT */ @@ -2692,10 +2787,15 @@ vcpu->arch.regs[VCPU_REGS_RSP] = svm->vmcb->save.rsp; vcpu->arch.regs[VCPU_REGS_RIP] = svm->vmcb->save.rip; - kvm_load_fs(fs_selector); - kvm_load_gs(gs_selector); - kvm_load_ldt(ldt_selector); load_host_msrs(vcpu); + kvm_load_ldt(ldt_selector); + loadsegment(fs, fs_selector); +#ifdef CONFIG_X86_64 + load_gs_index(gs_selector); + wrmsrl(MSR_KERNEL_GS_BASE, current->thread.gs); +#else + loadsegment(gs, gs_selector); +#endif reload_tss(vcpu); @@ -2711,6 +2811,14 @@ vcpu->arch.regs_avail &= ~(1 << VCPU_EXREG_PDPTR); vcpu->arch.regs_dirty &= ~(1 << VCPU_EXREG_PDPTR); } + + /* + * We need to handle MC intercepts here before the vcpu has a chance to + * change the physical cpu + */ + if (unlikely(svm->vmcb->control.exit_code == + SVM_EXIT_EXCP_BASE + MC_VECTOR)) + svm_handle_mce(svm); } #undef R --- linux-2.6.32.orig/arch/x86/kvm/emulate.c +++ linux-2.6.32/arch/x86/kvm/emulate.c @@ -75,6 +75,7 @@ #define Group (1<<14) /* Bits 3:5 of modrm byte extend opcode */ #define GroupDual (1<<15) /* Alternate decoding of mod == 3 */ #define GroupMask 0xff /* Group number stored in bits 0:7 */ +#define Priv (1<<27) /* instruction generates #GP if current CPL != 0 */ /* Source 2 operand type */ #define Src2None (0<<29) #define Src2CL (1<<29) @@ -86,6 +87,7 @@ enum { Group1_80, Group1_81, Group1_82, Group1_83, Group1A, Group3_Byte, Group3, Group4, Group5, Group7, + Group8, Group9, }; static u32 opcode_table[256] = { @@ -203,7 +205,7 @@ SrcNone | ByteOp | ImplicitOps, SrcNone | ImplicitOps, /* 0xF0 - 0xF7 */ 0, 0, 0, 0, - ImplicitOps, ImplicitOps, Group | Group3_Byte, Group | Group3, + ImplicitOps | Priv, ImplicitOps, Group | Group3_Byte, Group | Group3, /* 0xF8 - 0xFF */ ImplicitOps, 0, ImplicitOps, ImplicitOps, ImplicitOps, ImplicitOps, Group | Group4, Group | Group5, @@ -211,16 +213,20 @@ static u32 twobyte_table[256] = { /* 0x00 - 0x0F */ - 0, Group | GroupDual | Group7, 0, 0, 0, ImplicitOps, ImplicitOps, 0, - ImplicitOps, ImplicitOps, 0, 0, 0, ImplicitOps | ModRM, 0, 0, + 0, Group | GroupDual | Group7, 0, 0, + 0, ImplicitOps, ImplicitOps | Priv, 0, + ImplicitOps | Priv, ImplicitOps | Priv, 0, 0, + 0, ImplicitOps | ModRM, 0, 0, /* 0x10 - 0x1F */ 0, 0, 0, 0, 0, 0, 0, 0, ImplicitOps | ModRM, 0, 0, 0, 0, 0, 0, 0, /* 0x20 - 0x2F */ - ModRM | ImplicitOps, ModRM, ModRM | ImplicitOps, ModRM, 0, 0, 0, 0, + ModRM | ImplicitOps | Priv, ModRM | Priv, + ModRM | ImplicitOps | Priv, ModRM | Priv, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x30 - 0x3F */ - ImplicitOps, 0, ImplicitOps, 0, - ImplicitOps, ImplicitOps, 0, 0, + ImplicitOps | Priv, 0, ImplicitOps | Priv, 0, + ImplicitOps, ImplicitOps | Priv, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x40 - 0x47 */ DstReg | SrcMem | ModRM | Mov, DstReg | SrcMem | ModRM | Mov, @@ -258,11 +264,12 @@ 0, 0, ByteOp | DstReg | SrcMem | ModRM | Mov, DstReg | SrcMem16 | ModRM | Mov, /* 0xB8 - 0xBF */ - 0, 0, DstMem | SrcImmByte | ModRM, DstMem | SrcReg | ModRM | BitOp, + 0, 0, Group | Group8, DstMem | SrcReg | ModRM | BitOp, 0, 0, ByteOp | DstReg | SrcMem | ModRM | Mov, DstReg | SrcMem16 | ModRM | Mov, /* 0xC0 - 0xCF */ - 0, 0, 0, DstMem | SrcReg | ModRM | Mov, 0, 0, 0, ImplicitOps | ModRM, + 0, 0, 0, DstMem | SrcReg | ModRM | Mov, + 0, 0, 0, Group | GroupDual | Group9, 0, 0, 0, 0, 0, 0, 0, 0, /* 0xD0 - 0xDF */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -311,24 +318,39 @@ SrcMem | ModRM | Stack, 0, SrcMem | ModRM | Stack, 0, SrcMem | ModRM | Stack, 0, [Group7*8] = - 0, 0, ModRM | SrcMem, ModRM | SrcMem, + 0, 0, ModRM | SrcMem | Priv, ModRM | SrcMem | Priv, SrcNone | ModRM | DstMem | Mov, 0, - SrcMem16 | ModRM | Mov, SrcMem | ModRM | ByteOp, + SrcMem16 | ModRM | Mov | Priv, SrcMem | ModRM | ByteOp | Priv, + [Group8*8] = + 0, 0, 0, 0, + DstMem | SrcImmByte | ModRM, DstMem | SrcImmByte | ModRM, + DstMem | SrcImmByte | ModRM, DstMem | SrcImmByte | ModRM, + [Group9*8] = + 0, ImplicitOps | ModRM, 0, 0, 0, 0, 0, 0, }; static u32 group2_table[] = { [Group7*8] = - SrcNone | ModRM, 0, 0, SrcNone | ModRM, + SrcNone | ModRM | Priv, 0, 0, SrcNone | ModRM, SrcNone | ModRM | DstMem | Mov, 0, SrcMem16 | ModRM | Mov, 0, + [Group9*8] = + 0, 0, 0, 0, 0, 0, 0, 0, }; /* EFLAGS bit definitions. */ +#define EFLG_ID (1<<21) +#define EFLG_VIP (1<<20) +#define EFLG_VIF (1<<19) +#define EFLG_AC (1<<18) #define EFLG_VM (1<<17) #define EFLG_RF (1<<16) +#define EFLG_IOPL (3<<12) +#define EFLG_NT (1<<14) #define EFLG_OF (1<<11) #define EFLG_DF (1<<10) #define EFLG_IF (1<<9) +#define EFLG_TF (1<<8) #define EFLG_SF (1<<7) #define EFLG_ZF (1<<6) #define EFLG_AF (1<<4) @@ -597,7 +619,7 @@ if (linear < fc->start || linear >= fc->end) { size = min(15UL, PAGE_SIZE - offset_in_page(linear)); - rc = ops->read_std(linear, fc->data, size, ctxt->vcpu); + rc = ops->fetch(linear, fc->data, size, ctxt->vcpu, NULL); if (rc) return rc; fc->start = linear; @@ -613,6 +635,9 @@ { int rc = 0; + /* x86 instructions are limited to 15 bytes. */ + if (eip + size - ctxt->decode.eip_orig > 15) + return X86EMUL_UNHANDLEABLE; eip += ctxt->cs_base; while (size--) { rc = do_fetch_insn_byte(ctxt, ops, eip++, dest++); @@ -649,11 +674,11 @@ op_bytes = 3; *address = 0; rc = ops->read_std((unsigned long)ptr, (unsigned long *)size, 2, - ctxt->vcpu); + ctxt->vcpu, NULL); if (rc) return rc; rc = ops->read_std((unsigned long)ptr + 2, address, op_bytes, - ctxt->vcpu); + ctxt->vcpu, NULL); return rc; } @@ -871,12 +896,13 @@ /* Shadow copy of register state. Committed on successful emulation. */ memset(c, 0, sizeof(struct decode_cache)); - c->eip = kvm_rip_read(ctxt->vcpu); + c->eip = c->eip_orig = kvm_rip_read(ctxt->vcpu); ctxt->cs_base = seg_base(ctxt, VCPU_SREG_CS); memcpy(c->regs, ctxt->vcpu->arch.regs, sizeof c->regs); switch (mode) { case X86EMUL_MODE_REAL: + case X86EMUL_MODE_VM86: case X86EMUL_MODE_PROT16: def_op_bytes = def_ad_bytes = 2; break; @@ -1186,6 +1212,49 @@ return rc; } +static int emulate_popf(struct x86_emulate_ctxt *ctxt, + struct x86_emulate_ops *ops, + void *dest, int len) +{ + int rc; + unsigned long val, change_mask; + int iopl = (ctxt->eflags & X86_EFLAGS_IOPL) >> IOPL_SHIFT; + int cpl = kvm_x86_ops->get_cpl(ctxt->vcpu); + + rc = emulate_pop(ctxt, ops, &val, len); + if (rc != X86EMUL_CONTINUE) + return rc; + + change_mask = EFLG_CF | EFLG_PF | EFLG_AF | EFLG_ZF | EFLG_SF | EFLG_OF + | EFLG_TF | EFLG_DF | EFLG_NT | EFLG_RF | EFLG_AC | EFLG_ID; + + switch(ctxt->mode) { + case X86EMUL_MODE_PROT64: + case X86EMUL_MODE_PROT32: + case X86EMUL_MODE_PROT16: + if (cpl == 0) + change_mask |= EFLG_IOPL; + if (cpl <= iopl) + change_mask |= EFLG_IF; + break; + case X86EMUL_MODE_VM86: + if (iopl < 3) { + kvm_inject_gp(ctxt->vcpu, 0); + return X86EMUL_PROPAGATE_FAULT; + } + change_mask |= EFLG_IF; + break; + default: /* real mode */ + change_mask |= (EFLG_IOPL | EFLG_IF); + break; + } + + *(unsigned long *)dest = + (ctxt->eflags & ~change_mask) | (val & change_mask); + + return rc; +} + static inline int emulate_grp1a(struct x86_emulate_ctxt *ctxt, struct x86_emulate_ops *ops) { @@ -1327,7 +1396,7 @@ rc = emulate_pop(ctxt, ops, &cs, c->op_bytes); if (rc) return rc; - rc = kvm_load_segment_descriptor(ctxt->vcpu, (u16)cs, 1, VCPU_SREG_CS); + rc = kvm_load_segment_descriptor(ctxt->vcpu, (u16)cs, VCPU_SREG_CS); return rc; } @@ -1426,20 +1495,73 @@ ss->present = 1; } +static bool syscall_is_enabled(struct x86_emulate_ctxt *ctxt, + struct x86_emulate_ops *ops) +{ + u32 eax, ebx, ecx, edx; + + /* + * syscall should always be enabled in longmode - so only become + * vendor specific (cpuid) if other modes are active... + */ + if (ctxt->mode == X86EMUL_MODE_PROT64) + return true; + + eax = 0x00000000; + ecx = 0x00000000; + if (ops->get_cpuid(ctxt->vcpu, &eax, &ebx, &ecx, &edx)) { + /* + * Intel ("GenuineIntel") + * remark: Intel CPUs only support "syscall" in 64bit + * longmode. Also an 64bit guest with a + * 32bit compat-app running will #UD !! While this + * behaviour can be fixed (by emulating) into AMD + * response - CPUs of AMD can't behave like Intel. + */ + if (ebx == X86EMUL_CPUID_VENDOR_GenuineIntel_ebx && + ecx == X86EMUL_CPUID_VENDOR_GenuineIntel_ecx && + edx == X86EMUL_CPUID_VENDOR_GenuineIntel_edx) + return false; + + /* AMD ("AuthenticAMD") */ + if (ebx == X86EMUL_CPUID_VENDOR_AuthenticAMD_ebx && + ecx == X86EMUL_CPUID_VENDOR_AuthenticAMD_ecx && + edx == X86EMUL_CPUID_VENDOR_AuthenticAMD_edx) + return true; + + /* AMD ("AMDisbetter!") */ + if (ebx == X86EMUL_CPUID_VENDOR_AMDisbetterI_ebx && + ecx == X86EMUL_CPUID_VENDOR_AMDisbetterI_ecx && + edx == X86EMUL_CPUID_VENDOR_AMDisbetterI_edx) + return true; + } + + /* default: (not Intel, not AMD), apply Intel's stricter rules... */ + return false; +} + static int -emulate_syscall(struct x86_emulate_ctxt *ctxt) +emulate_syscall(struct x86_emulate_ctxt *ctxt, struct x86_emulate_ops *ops) { struct decode_cache *c = &ctxt->decode; struct kvm_segment cs, ss; u64 msr_data; + u64 efer = 0; /* syscall is not available in real mode */ if (c->lock_prefix || ctxt->mode == X86EMUL_MODE_REAL - || !(ctxt->vcpu->arch.cr0 & X86_CR0_PE)) + || ctxt->mode == X86EMUL_MODE_VM86) return -1; + if (!(syscall_is_enabled(ctxt, ops))) + return -1; + + kvm_x86_ops->get_msr(ctxt->vcpu, MSR_EFER, &efer); setup_syscalls_segments(ctxt, &cs, &ss); + if (!(efer & EFER_SCE)) + return -1; + kvm_x86_ops->get_msr(ctxt->vcpu, MSR_STAR, &msr_data); msr_data >>= 32; cs.selector = (u16)(msr_data & 0xfffc); @@ -1487,9 +1609,8 @@ if (c->lock_prefix) return -1; - /* inject #GP if in real mode or paging is disabled */ - if (ctxt->mode == X86EMUL_MODE_REAL || - !(ctxt->vcpu->arch.cr0 & X86_CR0_PE)) { + /* inject #GP if in real mode */ + if (ctxt->mode == X86EMUL_MODE_REAL) { kvm_inject_gp(ctxt->vcpu, 0); return -1; } @@ -1553,15 +1674,9 @@ if (c->lock_prefix) return -1; - /* inject #GP if in real mode or paging is disabled */ - if (ctxt->mode == X86EMUL_MODE_REAL - || !(ctxt->vcpu->arch.cr0 & X86_CR0_PE)) { - kvm_inject_gp(ctxt->vcpu, 0); - return -1; - } - - /* sysexit must be called from CPL 0 */ - if (kvm_x86_ops->get_cpl(ctxt->vcpu) != 0) { + /* inject #GP if in real mode or Virtual 8086 mode */ + if (ctxt->mode == X86EMUL_MODE_REAL || + ctxt->mode == X86EMUL_MODE_VM86) { kvm_inject_gp(ctxt->vcpu, 0); return -1; } @@ -1608,6 +1723,57 @@ return 0; } +static bool emulator_bad_iopl(struct x86_emulate_ctxt *ctxt) +{ + int iopl; + if (ctxt->mode == X86EMUL_MODE_REAL) + return false; + if (ctxt->mode == X86EMUL_MODE_VM86) + return true; + iopl = (ctxt->eflags & X86_EFLAGS_IOPL) >> IOPL_SHIFT; + return kvm_x86_ops->get_cpl(ctxt->vcpu) > iopl; +} + +static bool emulator_io_port_access_allowed(struct x86_emulate_ctxt *ctxt, + struct x86_emulate_ops *ops, + u16 port, u16 len) +{ + struct kvm_segment tr_seg; + int r; + u16 io_bitmap_ptr; + u8 perm, bit_idx = port & 0x7; + unsigned mask = (1 << len) - 1; + + kvm_get_segment(ctxt->vcpu, &tr_seg, VCPU_SREG_TR); + if (tr_seg.unusable) + return false; + if (tr_seg.limit < 103) + return false; + r = ops->read_std(tr_seg.base + 102, &io_bitmap_ptr, 2, ctxt->vcpu, + NULL); + if (r != X86EMUL_CONTINUE) + return false; + if (io_bitmap_ptr + port/8 > tr_seg.limit) + return false; + r = ops->read_std(tr_seg.base + io_bitmap_ptr + port/8, &perm, 1, + ctxt->vcpu, NULL); + if (r != X86EMUL_CONTINUE) + return false; + if ((perm >> bit_idx) & mask) + return false; + return true; +} + +static bool emulator_io_permited(struct x86_emulate_ctxt *ctxt, + struct x86_emulate_ops *ops, + u16 port, u16 len) +{ + if (emulator_bad_iopl(ctxt)) + if (!emulator_io_port_access_allowed(ctxt, ops, port, len)) + return false; + return true; +} + int x86_emulate_insn(struct x86_emulate_ctxt *ctxt, struct x86_emulate_ops *ops) { @@ -1629,6 +1795,12 @@ memcpy(c->regs, ctxt->vcpu->arch.regs, sizeof c->regs); saved_eip = c->eip; + /* Privileged instruction can be executed only in CPL=0 */ + if ((c->d & Priv) && kvm_x86_ops->get_cpl(ctxt->vcpu)) { + kvm_inject_gp(ctxt->vcpu, 0); + goto done; + } + if (((c->d & ModRM) && (c->modrm_mod != 3)) || (c->d & MemAbs)) memop = c->modrm_ea; @@ -1761,7 +1933,12 @@ break; case 0x6c: /* insb */ case 0x6d: /* insw/insd */ - if (kvm_emulate_pio_string(ctxt->vcpu, NULL, + if (!emulator_io_permited(ctxt, ops, c->regs[VCPU_REGS_RDX], + (c->d & ByteOp) ? 1 : c->op_bytes)) { + kvm_inject_gp(ctxt->vcpu, 0); + goto done; + } + if (kvm_emulate_pio_string(ctxt->vcpu, NULL, 1, (c->d & ByteOp) ? 1 : c->op_bytes, c->rep_prefix ? @@ -1777,6 +1954,11 @@ return 0; case 0x6e: /* outsb */ case 0x6f: /* outsw/outsd */ + if (!emulator_io_permited(ctxt, ops, c->regs[VCPU_REGS_RDX], + (c->d & ByteOp) ? 1 : c->op_bytes)) { + kvm_inject_gp(ctxt->vcpu, 0); + goto done; + } if (kvm_emulate_pio_string(ctxt->vcpu, NULL, 0, (c->d & ByteOp) ? 1 : c->op_bytes, @@ -1863,25 +2045,19 @@ break; case 0x8e: { /* mov seg, r/m16 */ uint16_t sel; - int type_bits; - int err; sel = c->src.val; - if (c->modrm_reg == VCPU_SREG_SS) - toggle_interruptibility(ctxt, X86_SHADOW_INT_MOV_SS); - if (c->modrm_reg <= 5) { - type_bits = (c->modrm_reg == 1) ? 9 : 1; - err = kvm_load_segment_descriptor(ctxt->vcpu, sel, - type_bits, c->modrm_reg); - } else { - printk(KERN_INFO "Invalid segreg in modrm byte 0x%02x\n", - c->modrm); - goto cannot_emulate; + if (c->modrm_reg == VCPU_SREG_CS || + c->modrm_reg > VCPU_SREG_GS) { + kvm_queue_exception(ctxt->vcpu, UD_VECTOR); + goto done; } - if (err < 0) - goto cannot_emulate; + if (c->modrm_reg == VCPU_SREG_SS) + toggle_interruptibility(ctxt, X86_SHADOW_INT_MOV_SS); + + rc = kvm_load_segment_descriptor(ctxt->vcpu, sel, c->modrm_reg); c->dst.type = OP_NONE; /* Disable writeback. */ break; @@ -1910,7 +2086,10 @@ c->dst.type = OP_REG; c->dst.ptr = (unsigned long *) &ctxt->eflags; c->dst.bytes = c->op_bytes; - goto pop_instruction; + rc = emulate_popf(ctxt, ops, &c->dst.val, c->op_bytes); + if (rc != X86EMUL_CONTINUE) + goto done; + break; case 0xa0 ... 0xa1: /* mov */ c->dst.ptr = (unsigned long *)&c->regs[VCPU_REGS_RAX]; c->dst.val = c->src.val; @@ -2048,11 +2227,9 @@ case 0xe9: /* jmp rel */ goto jmp; case 0xea: /* jmp far */ - if (kvm_load_segment_descriptor(ctxt->vcpu, c->src2.val, 9, - VCPU_SREG_CS) < 0) { - DPRINTF("jmp far: Failed to load CS descriptor\n"); - goto cannot_emulate; - } + if (kvm_load_segment_descriptor(ctxt->vcpu, c->src2.val, + VCPU_SREG_CS)) + goto done; c->eip = c->src.val; break; @@ -2070,7 +2247,13 @@ case 0xef: /* out (e/r)ax,dx */ port = c->regs[VCPU_REGS_RDX]; io_dir_in = 0; - do_io: if (kvm_emulate_pio(ctxt->vcpu, NULL, io_dir_in, + do_io: + if (!emulator_io_permited(ctxt, ops, port, + (c->d & ByteOp) ? 1 : c->op_bytes)) { + kvm_inject_gp(ctxt->vcpu, 0); + goto done; + } + if (kvm_emulate_pio(ctxt->vcpu, NULL, io_dir_in, (c->d & ByteOp) ? 1 : c->op_bytes, port) != 0) { c->eip = saved_eip; @@ -2095,13 +2278,21 @@ c->dst.type = OP_NONE; /* Disable writeback. */ break; case 0xfa: /* cli */ - ctxt->eflags &= ~X86_EFLAGS_IF; - c->dst.type = OP_NONE; /* Disable writeback. */ + if (emulator_bad_iopl(ctxt)) + kvm_inject_gp(ctxt->vcpu, 0); + else { + ctxt->eflags &= ~X86_EFLAGS_IF; + c->dst.type = OP_NONE; /* Disable writeback. */ + } break; case 0xfb: /* sti */ - toggle_interruptibility(ctxt, X86_SHADOW_INT_STI); - ctxt->eflags |= X86_EFLAGS_IF; - c->dst.type = OP_NONE; /* Disable writeback. */ + if (emulator_bad_iopl(ctxt)) + kvm_inject_gp(ctxt->vcpu, 0); + else { + toggle_interruptibility(ctxt, X86_SHADOW_INT_STI); + ctxt->eflags |= X86_EFLAGS_IF; + c->dst.type = OP_NONE; /* Disable writeback. */ + } break; case 0xfc: /* cld */ ctxt->eflags &= ~EFLG_DF; @@ -2204,7 +2395,7 @@ } break; case 0x05: /* syscall */ - if (emulate_syscall(ctxt) == -1) + if (emulate_syscall(ctxt, ops) == -1) goto cannot_emulate; else goto writeback; --- linux-2.6.32.orig/arch/x86/kvm/paging_tmpl.h +++ linux-2.6.32/arch/x86/kvm/paging_tmpl.h @@ -150,7 +150,9 @@ walker->table_gfn[walker->level - 1] = table_gfn; walker->pte_gpa[walker->level - 1] = pte_gpa; - kvm_read_guest(vcpu->kvm, pte_gpa, &pte, sizeof(pte)); + if (kvm_read_guest(vcpu->kvm, pte_gpa, &pte, sizeof(pte))) + goto not_present; + trace_kvm_mmu_paging_element(pte, walker->level); if (!is_present_gpte(pte)) @@ -316,8 +318,32 @@ break; } - if (is_shadow_present_pte(*sptep) && !is_large_pte(*sptep)) - continue; + if (is_shadow_present_pte(*sptep) && !is_large_pte(*sptep)) { + struct kvm_mmu_page *child; + unsigned direct_access; + + if (level != gw->level) + continue; + + /* + * For the direct sp, if the guest pte's dirty bit + * changed form clean to dirty, it will corrupt the + * sp's access: allow writable in the read-only sp, + * so we should update the spte at this point to get + * a new sp with the correct access. + */ + direct_access = gw->pt_access & gw->pte_access; + if (!is_dirty_gpte(gw->ptes[gw->level - 1])) + direct_access &= ~ACC_WRITE_MASK; + + child = page_header(*sptep & PT64_BASE_ADDR_MASK); + if (child->role.access == direct_access) + continue; + + mmu_page_remove_parent_pte(child, sptep); + __set_spte(sptep, shadow_trap_nonpresent_pte); + kvm_flush_remote_tlbs(vcpu->kvm); + } if (is_large_pte(*sptep)) { rmap_remove(vcpu->kvm, sptep); @@ -334,6 +360,7 @@ /* advance table_gfn when emulating 1gb pages with 4k */ if (delta == 0) table_gfn += PT_INDEX(addr, level); + access &= gw->pte_access; } else { direct = 0; table_gfn = gw->table_gfn[level - 2]; @@ -455,8 +482,6 @@ static void FNAME(invlpg)(struct kvm_vcpu *vcpu, gva_t gva) { struct kvm_shadow_walk_iterator iterator; - pt_element_t gpte; - gpa_t pte_gpa = -1; int level; u64 *sptep; int need_flush = 0; @@ -471,10 +496,6 @@ if (level == PT_PAGE_TABLE_LEVEL || ((level == PT_DIRECTORY_LEVEL && is_large_pte(*sptep))) || ((level == PT_PDPE_LEVEL && is_large_pte(*sptep)))) { - struct kvm_mmu_page *sp = page_header(__pa(sptep)); - - pte_gpa = (sp->gfn << PAGE_SHIFT); - pte_gpa += (sptep - sp->spt) * sizeof(pt_element_t); if (is_shadow_present_pte(*sptep)) { rmap_remove(vcpu->kvm, sptep); @@ -493,32 +514,25 @@ if (need_flush) kvm_flush_remote_tlbs(vcpu->kvm); spin_unlock(&vcpu->kvm->mmu_lock); - - if (pte_gpa == -1) - return; - if (kvm_read_guest_atomic(vcpu->kvm, pte_gpa, &gpte, - sizeof(pt_element_t))) - return; - if (is_present_gpte(gpte) && (gpte & PT_ACCESSED_MASK)) { - if (mmu_topup_memory_caches(vcpu)) - return; - kvm_mmu_pte_write(vcpu, pte_gpa, (const u8 *)&gpte, - sizeof(pt_element_t), 0); - } } -static gpa_t FNAME(gva_to_gpa)(struct kvm_vcpu *vcpu, gva_t vaddr) +static gpa_t FNAME(gva_to_gpa)(struct kvm_vcpu *vcpu, gva_t vaddr, u32 access, + u32 *error) { struct guest_walker walker; gpa_t gpa = UNMAPPED_GVA; int r; - r = FNAME(walk_addr)(&walker, vcpu, vaddr, 0, 0, 0); + r = FNAME(walk_addr)(&walker, vcpu, vaddr, + !!(access & PFERR_WRITE_MASK), + !!(access & PFERR_USER_MASK), + !!(access & PFERR_FETCH_MASK)); if (r) { gpa = gfn_to_gpa(walker.gfn); gpa |= vaddr & ~PAGE_MASK; - } + } else if (error) + *error = walker.error_code; return gpa; } --- linux-2.6.32.orig/arch/x86/kvm/vmx.c +++ linux-2.6.32/arch/x86/kvm/vmx.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "kvm_cache_regs.h" #include "x86.h" @@ -61,6 +62,27 @@ static int __read_mostly emulate_invalid_guest_state = 0; module_param(emulate_invalid_guest_state, bool, S_IRUGO); +/* + * These 2 parameters are used to config the controls for Pause-Loop Exiting: + * ple_gap: upper bound on the amount of time between two successive + * executions of PAUSE in a loop. Also indicate if ple enabled. + * According to test, this time is usually small than 41 cycles. + * ple_window: upper bound on the amount of time a guest is allowed to execute + * in a PAUSE loop. Tests indicate that most spinlocks are held for + * less than 2^12 cycles + * Time is measured based on a counter that runs at the same rate as the TSC, + * refer SDM volume 3b section 21.6.13 & 22.1.3. + */ +#define KVM_VMX_DEFAULT_PLE_GAP 41 +#define KVM_VMX_DEFAULT_PLE_WINDOW 4096 +static int ple_gap = KVM_VMX_DEFAULT_PLE_GAP; +module_param(ple_gap, int, S_IRUGO); + +static int ple_window = KVM_VMX_DEFAULT_PLE_WINDOW; +module_param(ple_window, int, S_IRUGO); + +#define RMODE_GUEST_OWNED_EFLAGS_BITS (~(X86_EFLAGS_IOPL | X86_EFLAGS_VM)) + struct vmcs { u32 revision_id; u32 abort; @@ -92,7 +114,7 @@ } host_state; struct { int vm86_active; - u8 save_iopl; + ulong save_rflags; struct kvm_save_segment { u16 selector; unsigned long base; @@ -127,6 +149,7 @@ static DEFINE_PER_CPU(struct vmcs *, vmxarea); static DEFINE_PER_CPU(struct vmcs *, current_vmcs); static DEFINE_PER_CPU(struct list_head, vcpus_on_cpu); +static DEFINE_PER_CPU(struct desc_ptr, host_gdt); static unsigned long *vmx_io_bitmap_a; static unsigned long *vmx_io_bitmap_b; @@ -320,6 +343,12 @@ SECONDARY_EXEC_UNRESTRICTED_GUEST; } +static inline int cpu_has_vmx_ple(void) +{ + return vmcs_config.cpu_based_2nd_exec_ctrl & + SECONDARY_EXEC_PAUSE_LOOP_EXITING; +} + static inline int vm_need_virtualize_apic_accesses(struct kvm *kvm) { return flexpriority_enabled && @@ -625,7 +654,7 @@ */ vmx->host_state.ldt_sel = kvm_read_ldt(); vmx->host_state.gs_ldt_reload_needed = vmx->host_state.ldt_sel; - vmx->host_state.fs_sel = kvm_read_fs(); + savesegment(fs, vmx->host_state.fs_sel); if (!(vmx->host_state.fs_sel & 7)) { vmcs_write16(HOST_FS_SELECTOR, vmx->host_state.fs_sel); vmx->host_state.fs_reload_needed = 0; @@ -633,7 +662,7 @@ vmcs_write16(HOST_FS_SELECTOR, 0); vmx->host_state.fs_reload_needed = 1; } - vmx->host_state.gs_sel = kvm_read_gs(); + savesegment(gs, vmx->host_state.gs_sel); if (!(vmx->host_state.gs_sel & 7)) vmcs_write16(HOST_GS_SELECTOR, vmx->host_state.gs_sel); else { @@ -650,10 +679,7 @@ #endif #ifdef CONFIG_X86_64 - if (is_long_mode(&vmx->vcpu)) - save_msrs(vmx->host_msrs + - vmx->msr_offset_kernel_gs_base, 1); - + save_msrs(vmx->host_msrs + vmx->msr_offset_kernel_gs_base, 1); #endif load_msrs(vmx->guest_msrs, vmx->save_nmsrs); load_transition_efer(vmx); @@ -661,32 +687,36 @@ static void __vmx_load_host_state(struct vcpu_vmx *vmx) { - unsigned long flags; - if (!vmx->host_state.loaded) return; ++vmx->vcpu.stat.host_state_reload; vmx->host_state.loaded = 0; - if (vmx->host_state.fs_reload_needed) - kvm_load_fs(vmx->host_state.fs_sel); +#ifdef CONFIG_X86_64 + if (is_long_mode(&vmx->vcpu)) + save_msrs(vmx->guest_msrs + vmx->msr_offset_kernel_gs_base, 1); +#endif if (vmx->host_state.gs_ldt_reload_needed) { kvm_load_ldt(vmx->host_state.ldt_sel); - /* - * If we have to reload gs, we must take care to - * preserve our gs base. - */ - local_irq_save(flags); - kvm_load_gs(vmx->host_state.gs_sel); #ifdef CONFIG_X86_64 - wrmsrl(MSR_GS_BASE, vmcs_readl(HOST_GS_BASE)); + load_gs_index(vmx->host_state.gs_sel); +#else + loadsegment(gs, vmx->host_state.gs_sel); #endif - local_irq_restore(flags); } + if (vmx->host_state.fs_reload_needed) + loadsegment(fs, vmx->host_state.fs_sel); reload_tss(); +#ifdef CONFIG_X86_64 + save_msrs(vmx->guest_msrs, vmx->msr_offset_kernel_gs_base); + save_msrs(vmx->guest_msrs + vmx->msr_offset_kernel_gs_base + 1, + vmx->save_nmsrs - vmx->msr_offset_kernel_gs_base - 1); +#else save_msrs(vmx->guest_msrs, vmx->save_nmsrs); +#endif load_msrs(vmx->host_msrs, vmx->save_nmsrs); reload_host_efer(vmx); + load_gdt(&__get_cpu_var(host_gdt)); } static void vmx_load_host_state(struct vcpu_vmx *vmx) @@ -783,18 +813,23 @@ static unsigned long vmx_get_rflags(struct kvm_vcpu *vcpu) { - unsigned long rflags; + unsigned long rflags, save_rflags; rflags = vmcs_readl(GUEST_RFLAGS); - if (to_vmx(vcpu)->rmode.vm86_active) - rflags &= ~(unsigned long)(X86_EFLAGS_IOPL | X86_EFLAGS_VM); + if (to_vmx(vcpu)->rmode.vm86_active) { + rflags &= RMODE_GUEST_OWNED_EFLAGS_BITS; + save_rflags = to_vmx(vcpu)->rmode.save_rflags; + rflags |= save_rflags & ~RMODE_GUEST_OWNED_EFLAGS_BITS; + } return rflags; } static void vmx_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags) { - if (to_vmx(vcpu)->rmode.vm86_active) + if (to_vmx(vcpu)->rmode.vm86_active) { + to_vmx(vcpu)->rmode.save_rflags = rflags; rflags |= X86_EFLAGS_IOPL | X86_EFLAGS_VM; + } vmcs_writel(GUEST_RFLAGS, rflags); } @@ -1057,6 +1092,7 @@ case MSR_IA32_TSC: rdtscll(host_tsc); guest_write_tsc(data, host_tsc); + vcpu->arch.hv_clock.tsc_timestamp = 0; break; case MSR_IA32_CR_PAT: if (vmcs_config.vmentry_ctrl & VM_ENTRY_LOAD_IA32_PAT) { @@ -1133,9 +1169,16 @@ u64 msr; rdmsrl(MSR_IA32_FEATURE_CONTROL, msr); - return (msr & (FEATURE_CONTROL_LOCKED | - FEATURE_CONTROL_VMXON_ENABLED)) - == FEATURE_CONTROL_LOCKED; + if (msr & FEATURE_CONTROL_LOCKED) { + if (!(msr & FEATURE_CONTROL_VMXON_ENABLED_INSIDE_SMX) + && tboot_enabled()) + return 1; + if (!(msr & FEATURE_CONTROL_VMXON_ENABLED_OUTSIDE_SMX) + && !tboot_enabled()) + return 1; + } + + return 0; /* locked but not enabled */ } @@ -1143,22 +1186,26 @@ { int cpu = raw_smp_processor_id(); u64 phys_addr = __pa(per_cpu(vmxarea, cpu)); - u64 old; + u64 old, test_bits; INIT_LIST_HEAD(&per_cpu(vcpus_on_cpu, cpu)); rdmsrl(MSR_IA32_FEATURE_CONTROL, old); - if ((old & (FEATURE_CONTROL_LOCKED | - FEATURE_CONTROL_VMXON_ENABLED)) - != (FEATURE_CONTROL_LOCKED | - FEATURE_CONTROL_VMXON_ENABLED)) + + test_bits = FEATURE_CONTROL_LOCKED; + test_bits |= FEATURE_CONTROL_VMXON_ENABLED_OUTSIDE_SMX; + if (tboot_enabled()) + test_bits |= FEATURE_CONTROL_VMXON_ENABLED_INSIDE_SMX; + + if ((old & test_bits) != test_bits) { /* enable and lock */ - wrmsrl(MSR_IA32_FEATURE_CONTROL, old | - FEATURE_CONTROL_LOCKED | - FEATURE_CONTROL_VMXON_ENABLED); + wrmsrl(MSR_IA32_FEATURE_CONTROL, old | test_bits); + } write_cr4(read_cr4() | X86_CR4_VMXE); /* FIXME: not cpu hotplug safe */ asm volatile (ASM_VMX_VMXON_RAX : : "a"(&phys_addr), "m"(phys_addr) : "memory", "cc"); + + store_gdt(&__get_cpu_var(host_gdt)); } static void vmclear_local_vcpus(void) @@ -1250,7 +1297,8 @@ SECONDARY_EXEC_WBINVD_EXITING | SECONDARY_EXEC_ENABLE_VPID | SECONDARY_EXEC_ENABLE_EPT | - SECONDARY_EXEC_UNRESTRICTED_GUEST; + SECONDARY_EXEC_UNRESTRICTED_GUEST | + SECONDARY_EXEC_PAUSE_LOOP_EXITING; if (adjust_vmx_controls(min2, opt2, MSR_IA32_VMX_PROCBASED_CTLS2, &_cpu_based_2nd_exec_control) < 0) @@ -1394,6 +1442,9 @@ if (enable_ept && !cpu_has_vmx_ept_2m_page()) kvm_disable_largepages(); + if (!cpu_has_vmx_ple()) + ple_gap = 0; + return alloc_kvm_area(); } @@ -1431,8 +1482,8 @@ vmcs_write32(GUEST_TR_AR_BYTES, vmx->rmode.tr.ar); flags = vmcs_readl(GUEST_RFLAGS); - flags &= ~(X86_EFLAGS_IOPL | X86_EFLAGS_VM); - flags |= (vmx->rmode.save_iopl << IOPL_SHIFT); + flags &= RMODE_GUEST_OWNED_EFLAGS_BITS; + flags |= vmx->rmode.save_rflags & ~RMODE_GUEST_OWNED_EFLAGS_BITS; vmcs_writel(GUEST_RFLAGS, flags); vmcs_writel(GUEST_CR4, (vmcs_readl(GUEST_CR4) & ~X86_CR4_VME) | @@ -1501,8 +1552,7 @@ vmcs_write32(GUEST_TR_AR_BYTES, 0x008b); flags = vmcs_readl(GUEST_RFLAGS); - vmx->rmode.save_iopl - = (flags & X86_EFLAGS_IOPL) >> IOPL_SHIFT; + vmx->rmode.save_rflags = flags; flags |= X86_EFLAGS_IOPL | X86_EFLAGS_VM; @@ -2302,13 +2352,22 @@ ~SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES; if (vmx->vpid == 0) exec_control &= ~SECONDARY_EXEC_ENABLE_VPID; - if (!enable_ept) + if (!enable_ept) { exec_control &= ~SECONDARY_EXEC_ENABLE_EPT; + enable_unrestricted_guest = 0; + } if (!enable_unrestricted_guest) exec_control &= ~SECONDARY_EXEC_UNRESTRICTED_GUEST; + if (!ple_gap) + exec_control &= ~SECONDARY_EXEC_PAUSE_LOOP_EXITING; vmcs_write32(SECONDARY_VM_EXEC_CONTROL, exec_control); } + if (ple_gap) { + vmcs_write32(PLE_GAP, ple_gap); + vmcs_write32(PLE_WINDOW, ple_window); + } + vmcs_write32(PAGE_FAULT_ERROR_CODE_MASK, !!bypass_guest_pf); vmcs_write32(PAGE_FAULT_ERROR_CODE_MATCH, !!bypass_guest_pf); vmcs_write32(CR3_TARGET_COUNT, 0); /* 22.2.1 */ @@ -2320,8 +2379,8 @@ vmcs_write16(HOST_CS_SELECTOR, __KERNEL_CS); /* 22.2.4 */ vmcs_write16(HOST_DS_SELECTOR, __KERNEL_DS); /* 22.2.4 */ vmcs_write16(HOST_ES_SELECTOR, __KERNEL_DS); /* 22.2.4 */ - vmcs_write16(HOST_FS_SELECTOR, kvm_read_fs()); /* 22.2.4 */ - vmcs_write16(HOST_GS_SELECTOR, kvm_read_gs()); /* 22.2.4 */ + vmcs_write16(HOST_FS_SELECTOR, 0); /* 22.2.4 */ + vmcs_write16(HOST_GS_SELECTOR, 0); /* 22.2.4 */ vmcs_write16(HOST_SS_SELECTOR, __KERNEL_DS); /* 22.2.4 */ #ifdef CONFIG_X86_64 rdmsrl(MSR_FS_BASE, a); @@ -2510,7 +2569,7 @@ if (vmx->vpid != 0) vmcs_write16(VIRTUAL_PROCESSOR_ID, vmx->vpid); - vmx->vcpu.arch.cr0 = 0x60000010; + vmx->vcpu.arch.cr0 = X86_CR0_NW | X86_CR0_CD | X86_CR0_ET; vmx_set_cr0(&vmx->vcpu, vmx->vcpu.arch.cr0); /* enter rmode */ vmx_set_cr4(&vmx->vcpu, 0); vmx_set_efer(&vmx->vcpu, 0); @@ -2674,6 +2733,12 @@ kvm_queue_exception(vcpu, vec); return 1; case BP_VECTOR: + /* + * Update instruction length as we may reinject the exception + * from user space while in guest debugging mode. + */ + to_vmx(vcpu)->vcpu.arch.event_exit_inst_len = + vmcs_read32(VM_EXIT_INSTRUCTION_LEN); if (vcpu->guest_debug & KVM_GUESTDBG_USE_SW_BP) return 0; /* fall through */ @@ -2790,6 +2855,13 @@ kvm_run->debug.arch.dr7 = vmcs_readl(GUEST_DR7); /* fall through */ case BP_VECTOR: + /* + * Update instruction length as we may reinject #BP from + * user space while in guest debugging mode. Reading it for + * #DB as well causes no harm, it is not used in that case. + */ + vmx->vcpu.arch.event_exit_inst_len = + vmcs_read32(VM_EXIT_INSTRUCTION_LEN); kvm_run->exit_reason = KVM_EXIT_DEBUG; kvm_run->debug.arch.pc = vmcs_readl(GUEST_CS_BASE) + rip; kvm_run->debug.arch.exception = ex_no; @@ -3358,6 +3430,18 @@ } /* + * Indicate a busy-waiting vcpu in spinlock. We do not enable the PAUSE + * exiting, so only get here on cpu with PAUSE-Loop-Exiting. + */ +static int handle_pause(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) +{ + skip_emulated_instruction(vcpu); + kvm_vcpu_on_spin(vcpu); + + return 1; +} + +/* * The exit handlers return 1 if the exit was handled fully and guest execution * may resume. Otherwise they set the kvm_run parameter to indicate what needs * to be done to userspace and return 0. @@ -3394,6 +3478,7 @@ [EXIT_REASON_MCE_DURING_VMENTRY] = handle_machine_check, [EXIT_REASON_EPT_VIOLATION] = handle_ept_violation, [EXIT_REASON_EPT_MISCONFIG] = handle_ept_misconfig, + [EXIT_REASON_PAUSE_INSTRUCTION] = handle_pause, }; static const int kvm_vmx_max_exit_handlers = --- linux-2.6.32.orig/arch/x86/kvm/x86.c +++ linux-2.6.32/arch/x86/kvm/x86.c @@ -47,6 +47,7 @@ #include #include #include +#include #define MAX_IO_MSRS 256 #define CR0_RESERVED_BITS \ @@ -297,21 +298,16 @@ void kvm_set_cr0(struct kvm_vcpu *vcpu, unsigned long cr0) { if (cr0 & CR0_RESERVED_BITS) { - printk(KERN_DEBUG "set_cr0: 0x%lx #GP, reserved bits 0x%lx\n", - cr0, vcpu->arch.cr0); kvm_inject_gp(vcpu, 0); return; } if ((cr0 & X86_CR0_NW) && !(cr0 & X86_CR0_CD)) { - printk(KERN_DEBUG "set_cr0: #GP, CD == 0 && NW == 1\n"); kvm_inject_gp(vcpu, 0); return; } if ((cr0 & X86_CR0_PG) && !(cr0 & X86_CR0_PE)) { - printk(KERN_DEBUG "set_cr0: #GP, set PG flag " - "and a clear PE flag\n"); kvm_inject_gp(vcpu, 0); return; } @@ -322,15 +318,11 @@ int cs_db, cs_l; if (!is_pae(vcpu)) { - printk(KERN_DEBUG "set_cr0: #GP, start paging " - "in long mode while PAE is disabled\n"); kvm_inject_gp(vcpu, 0); return; } kvm_x86_ops->get_cs_db_l_bits(vcpu, &cs_db, &cs_l); if (cs_l) { - printk(KERN_DEBUG "set_cr0: #GP, start paging " - "in long mode while CS.L == 1\n"); kvm_inject_gp(vcpu, 0); return; @@ -338,8 +330,6 @@ } else #endif if (is_pae(vcpu) && !load_pdptrs(vcpu, vcpu->arch.cr3)) { - printk(KERN_DEBUG "set_cr0: #GP, pdptrs " - "reserved bits\n"); kvm_inject_gp(vcpu, 0); return; } @@ -356,7 +346,7 @@ void kvm_lmsw(struct kvm_vcpu *vcpu, unsigned long msw) { - kvm_set_cr0(vcpu, (vcpu->arch.cr0 & ~0x0ful) | (msw & 0x0f)); + kvm_set_cr0(vcpu, (vcpu->arch.cr0 & ~0x0eul) | (msw & 0x0f)); } EXPORT_SYMBOL_GPL(kvm_lmsw); @@ -366,28 +356,23 @@ unsigned long pdptr_bits = X86_CR4_PGE | X86_CR4_PSE | X86_CR4_PAE; if (cr4 & CR4_RESERVED_BITS) { - printk(KERN_DEBUG "set_cr4: #GP, reserved bits\n"); kvm_inject_gp(vcpu, 0); return; } if (is_long_mode(vcpu)) { if (!(cr4 & X86_CR4_PAE)) { - printk(KERN_DEBUG "set_cr4: #GP, clearing PAE while " - "in long mode\n"); kvm_inject_gp(vcpu, 0); return; } } else if (is_paging(vcpu) && (cr4 & X86_CR4_PAE) && ((cr4 ^ old_cr4) & pdptr_bits) && !load_pdptrs(vcpu, vcpu->arch.cr3)) { - printk(KERN_DEBUG "set_cr4: #GP, pdptrs reserved bits\n"); kvm_inject_gp(vcpu, 0); return; } if (cr4 & X86_CR4_VMXE) { - printk(KERN_DEBUG "set_cr4: #GP, setting VMXE\n"); kvm_inject_gp(vcpu, 0); return; } @@ -408,21 +393,16 @@ if (is_long_mode(vcpu)) { if (cr3 & CR3_L_MODE_RESERVED_BITS) { - printk(KERN_DEBUG "set_cr3: #GP, reserved bits\n"); kvm_inject_gp(vcpu, 0); return; } } else { if (is_pae(vcpu)) { if (cr3 & CR3_PAE_RESERVED_BITS) { - printk(KERN_DEBUG - "set_cr3: #GP, reserved bits\n"); kvm_inject_gp(vcpu, 0); return; } if (is_paging(vcpu) && !load_pdptrs(vcpu, cr3)) { - printk(KERN_DEBUG "set_cr3: #GP, pdptrs " - "reserved bits\n"); kvm_inject_gp(vcpu, 0); return; } @@ -454,7 +434,6 @@ void kvm_set_cr8(struct kvm_vcpu *vcpu, unsigned long cr8) { if (cr8 & CR8_RESERVED_BITS) { - printk(KERN_DEBUG "set_cr8: #GP, reserved bits 0x%lx\n", cr8); kvm_inject_gp(vcpu, 0); return; } @@ -484,16 +463,19 @@ * and KVM_SET_MSRS, and KVM_GET_MSR_INDEX_LIST. * * This list is modified at module load time to reflect the - * capabilities of the host cpu. + * capabilities of the host cpu. This capabilities test skips MSRs that are + * kvm-specific. Those are put in the beginning of the list. */ + +#define KVM_SAVE_MSRS_BEGIN 2 static u32 msrs_to_save[] = { + MSR_KVM_SYSTEM_TIME, MSR_KVM_WALL_CLOCK, MSR_IA32_SYSENTER_CS, MSR_IA32_SYSENTER_ESP, MSR_IA32_SYSENTER_EIP, MSR_K6_STAR, #ifdef CONFIG_X86_64 MSR_CSTAR, MSR_KERNEL_GS_BASE, MSR_SYSCALL_MASK, MSR_LSTAR, #endif - MSR_IA32_TSC, MSR_KVM_SYSTEM_TIME, MSR_KVM_WALL_CLOCK, - MSR_IA32_PERF_STATUS, MSR_IA32_CR_PAT, MSR_VM_HSAVE_PA + MSR_IA32_TSC, MSR_IA32_PERF_STATUS, MSR_IA32_CR_PAT, MSR_VM_HSAVE_PA }; static unsigned num_msrs_to_save; @@ -502,53 +484,42 @@ MSR_IA32_MISC_ENABLE, }; -static void set_efer(struct kvm_vcpu *vcpu, u64 efer) +static int set_efer(struct kvm_vcpu *vcpu, u64 efer) { - if (efer & efer_reserved_bits) { - printk(KERN_DEBUG "set_efer: 0x%llx #GP, reserved bits\n", - efer); - kvm_inject_gp(vcpu, 0); - return; - } + if (efer & efer_reserved_bits) + return 1; if (is_paging(vcpu) - && (vcpu->arch.shadow_efer & EFER_LME) != (efer & EFER_LME)) { - printk(KERN_DEBUG "set_efer: #GP, change LME while paging\n"); - kvm_inject_gp(vcpu, 0); - return; - } + && (vcpu->arch.shadow_efer & EFER_LME) != (efer & EFER_LME)) + return 1; if (efer & EFER_FFXSR) { struct kvm_cpuid_entry2 *feat; feat = kvm_find_cpuid_entry(vcpu, 0x80000001, 0); - if (!feat || !(feat->edx & bit(X86_FEATURE_FXSR_OPT))) { - printk(KERN_DEBUG "set_efer: #GP, enable FFXSR w/o CPUID capability\n"); - kvm_inject_gp(vcpu, 0); - return; - } + if (!feat || !(feat->edx & bit(X86_FEATURE_FXSR_OPT))) + return 1; } if (efer & EFER_SVME) { struct kvm_cpuid_entry2 *feat; feat = kvm_find_cpuid_entry(vcpu, 0x80000001, 0); - if (!feat || !(feat->ecx & bit(X86_FEATURE_SVM))) { - printk(KERN_DEBUG "set_efer: #GP, enable SVM w/o SVM\n"); - kvm_inject_gp(vcpu, 0); - return; - } + if (!feat || !(feat->ecx & bit(X86_FEATURE_SVM))) + return 1; } - kvm_x86_ops->set_efer(vcpu, efer); - efer &= ~EFER_LMA; efer |= vcpu->arch.shadow_efer & EFER_LMA; + kvm_x86_ops->set_efer(vcpu, efer); + vcpu->arch.shadow_efer = efer; vcpu->arch.mmu.base_role.nxe = (efer & EFER_NX) && !tdp_enabled; kvm_mmu_reset_context(vcpu); + + return 0; } void kvm_enable_efer_bits(u64 mask) @@ -578,14 +549,22 @@ static void kvm_write_wall_clock(struct kvm *kvm, gpa_t wall_clock) { - static int version; + int version; + int r; struct pvclock_wall_clock wc; - struct timespec now, sys, boot; + struct timespec boot; if (!wall_clock) return; - version++; + r = kvm_read_guest(kvm, wall_clock, &version, sizeof(version)); + if (r) + return; + + if (version & 1) + ++version; /* first time write, random junk */ + + ++version; kvm_write_guest(kvm, wall_clock, &version, sizeof(version)); @@ -595,9 +574,7 @@ * wall clock specified here. guest system time equals host * system time for us, thus we must fill in host boot time here. */ - now = current_kernel_time(); - ktime_get_ts(&sys); - boot = ns_to_timespec(timespec_to_ns(&now) - timespec_to_ns(&sys)); + getboottime(&boot); wc.sec = boot.tv_sec; wc.nsec = boot.tv_nsec; @@ -657,6 +634,8 @@ struct kvm_vcpu_arch *vcpu = &v->arch; void *shared_kaddr; unsigned long this_tsc_khz; + s64 kernel_ns, max_kernel_ns; + u64 tsc_timestamp; if ((!vcpu->time_page)) return; @@ -670,14 +649,53 @@ /* Keep irq disabled to prevent changes to the clock */ local_irq_save(flags); - kvm_get_msr(v, MSR_IA32_TSC, &vcpu->hv_clock.tsc_timestamp); + kvm_get_msr(v, MSR_IA32_TSC, &tsc_timestamp); ktime_get_ts(&ts); + monotonic_to_bootbased(&ts); + kernel_ns = timespec_to_ns(&ts); local_irq_restore(flags); + /* + * Time as measured by the TSC may go backwards when resetting the base + * tsc_timestamp. The reason for this is that the TSC resolution is + * higher than the resolution of the other clock scales. Thus, many + * possible measurments of the TSC correspond to one measurement of any + * other clock, and so a spread of values is possible. This is not a + * problem for the computation of the nanosecond clock; with TSC rates + * around 1GHZ, there can only be a few cycles which correspond to one + * nanosecond value, and any path through this code will inevitably + * take longer than that. However, with the kernel_ns value itself, + * the precision may be much lower, down to HZ granularity. If the + * first sampling of TSC against kernel_ns ends in the low part of the + * range, and the second in the high end of the range, we can get: + * + * (TSC - offset_low) * S + kns_old > (TSC - offset_high) * S + kns_new + * + * As the sampling errors potentially range in the thousands of cycles, + * it is possible such a time value has already been observed by the + * guest. To protect against this, we must compute the system time as + * observed by the guest and ensure the new system time is greater. + */ + max_kernel_ns = 0; + if (vcpu->hv_clock.tsc_timestamp && vcpu->last_guest_tsc) { + max_kernel_ns = vcpu->last_guest_tsc - + vcpu->hv_clock.tsc_timestamp; + max_kernel_ns = pvclock_scale_delta(max_kernel_ns, + vcpu->hv_clock.tsc_to_system_mul, + vcpu->hv_clock.tsc_shift); + max_kernel_ns += vcpu->last_kernel_ns; + } + + if (max_kernel_ns > kernel_ns) + kernel_ns = max_kernel_ns; + /* With all the info we got, fill in the values */ - vcpu->hv_clock.system_time = ts.tv_nsec + - (NSEC_PER_SEC * (u64)ts.tv_sec); + vcpu->hv_clock.tsc_timestamp = tsc_timestamp; + vcpu->hv_clock.system_time = kernel_ns + v->kvm->arch.kvmclock_offset; + vcpu->last_kernel_ns = kernel_ns; + vcpu->last_guest_tsc = tsc_timestamp; + /* * The interface expects us to write an even number signaling that the * update is finished. Since the guest won't see the intermediate @@ -823,9 +841,13 @@ if (msr >= MSR_IA32_MC0_CTL && msr < MSR_IA32_MC0_CTL + 4 * bank_num) { u32 offset = msr - MSR_IA32_MC0_CTL; - /* only 0 or all 1s can be written to IA32_MCi_CTL */ + /* only 0 or all 1s can be written to IA32_MCi_CTL + * some Linux kernels though clear bit 10 in bank 4 to + * workaround a BIOS/GART TBL issue on AMD K8s, ignore + * this to avoid an uncatched #GP in the guest + */ if ((offset & 0x3) == 0 && - data != 0 && data != ~(u64)0) + data != 0 && (data | (1 << 10)) != ~(u64)0) return -1; vcpu->arch.mce_banks[offset] = data; break; @@ -839,8 +861,7 @@ { switch (msr) { case MSR_EFER: - set_efer(vcpu, data); - break; + return set_efer(vcpu, data); case MSR_K7_HWCR: data &= ~(u64)0x40; /* ignore flush filter disable */ if (data != 0) { @@ -1224,6 +1245,7 @@ case KVM_CAP_PIT2: case KVM_CAP_PIT_STATE2: case KVM_CAP_SET_IDENTITY_MAP_ADDR: + case KVM_CAP_ADJUST_CLOCK: r = 1; break; case KVM_CAP_COALESCED_MMIO: @@ -1238,8 +1260,8 @@ case KVM_CAP_NR_MEMSLOTS: r = KVM_MEMORY_SLOTS; break; - case KVM_CAP_PV_MMU: - r = !tdp_enabled; + case KVM_CAP_PV_MMU: /* obsolete */ + r = 0; break; case KVM_CAP_IOMMU: r = iommu_found(); @@ -1431,6 +1453,7 @@ { int r; + vcpu_load(vcpu); r = -E2BIG; if (cpuid->nent < vcpu->arch.cpuid_nent) goto out; @@ -1442,6 +1465,7 @@ out: cpuid->nent = vcpu->arch.cpuid_nent; + vcpu_put(vcpu); return r; } @@ -1501,7 +1525,7 @@ const u32 kvm_supported_word6_x86_features = F(LAHF_LM) | F(CMP_LEGACY) | F(SVM) | 0 /* ExtApicSpace */ | F(CR8_LEGACY) | F(ABM) | F(SSE4A) | F(MISALIGNSSE) | - F(3DNOWPREFETCH) | 0 /* OSVW */ | 0 /* IBS */ | F(SSE5) | + F(3DNOWPREFETCH) | 0 /* OSVW */ | 0 /* IBS */ | F(XOP) | 0 /* SKINIT */ | 0 /* WDT */; /* all calls to cpuid_count() should be made on the same cpu */ @@ -1691,6 +1715,7 @@ int r; unsigned bank_num = mcg_cap & 0xff, bank; + vcpu_load(vcpu); r = -EINVAL; if (!bank_num || bank_num >= KVM_MAX_MCE_BANKS) goto out; @@ -1705,6 +1730,7 @@ for (bank = 0; bank < bank_num; bank++) vcpu->arch.mce_banks[bank*4] = ~(u64)0; out: + vcpu_put(vcpu); return r; } @@ -1907,7 +1933,9 @@ r = -EFAULT; if (copy_from_user(&mce, argp, sizeof mce)) goto out; + vcpu_load(vcpu); r = kvm_vcpu_ioctl_x86_set_mce(vcpu, &mce); + vcpu_put(vcpu); break; } default: @@ -2114,6 +2142,7 @@ sizeof(ps->channels)); ps->flags = kvm->arch.vpit->pit_state.flags; mutex_unlock(&kvm->arch.vpit->pit_state.lock); + memset(&ps->reserved, 0, sizeof(ps->reserved)); return r; } @@ -2152,7 +2181,7 @@ struct kvm_dirty_log *log) { int r; - int n; + unsigned long n; struct kvm_memory_slot *memslot; int is_dirty = 0; @@ -2168,7 +2197,7 @@ kvm_mmu_slot_remove_write_access(kvm, log->slot); spin_unlock(&kvm->mmu_lock); memslot = &kvm->memslots[log->slot]; - n = ALIGN(memslot->npages, BITS_PER_LONG) / 8; + n = kvm_dirty_bitmap_bytes(memslot); memset(memslot->dirty_bitmap, 0, n); } r = 0; @@ -2245,6 +2274,9 @@ goto out; break; case KVM_CREATE_IRQCHIP: + r = -EINVAL; + if (atomic_read(&kvm->online_vcpus)) + goto out; r = -ENOMEM; kvm->arch.vpic = kvm_create_pic(kvm); if (kvm->arch.vpic) { @@ -2421,6 +2453,45 @@ r = 0; break; } + case KVM_SET_CLOCK: { + struct timespec now; + struct kvm_clock_data user_ns; + u64 now_ns; + s64 delta; + + r = -EFAULT; + if (copy_from_user(&user_ns, argp, sizeof(user_ns))) + goto out; + + r = -EINVAL; + if (user_ns.flags) + goto out; + + r = 0; + ktime_get_ts(&now); + now_ns = timespec_to_ns(&now); + delta = user_ns.clock - now_ns; + kvm->arch.kvmclock_offset = delta; + break; + } + case KVM_GET_CLOCK: { + struct timespec now; + struct kvm_clock_data user_ns; + u64 now_ns; + + ktime_get_ts(&now); + now_ns = timespec_to_ns(&now); + user_ns.clock = kvm->arch.kvmclock_offset + now_ns; + user_ns.flags = 0; + memset(&user_ns.pad, 0, sizeof(user_ns.pad)); + + r = -EFAULT; + if (copy_to_user(argp, &user_ns, sizeof(user_ns))) + goto out; + r = 0; + break; + } + default: ; } @@ -2433,7 +2504,8 @@ u32 dummy[2]; unsigned i, j; - for (i = j = 0; i < ARRAY_SIZE(msrs_to_save); i++) { + /* skip the first msrs in the list. KVM-specific */ + for (i = j = KVM_SAVE_MSRS_BEGIN; i < ARRAY_SIZE(msrs_to_save); i++) { if (rdmsr_safe(msrs_to_save[i], &dummy[0], &dummy[1]) < 0) continue; if (j < i) @@ -2462,14 +2534,41 @@ return kvm_io_bus_read(&vcpu->kvm->mmio_bus, addr, len, v); } -static int kvm_read_guest_virt(gva_t addr, void *val, unsigned int bytes, - struct kvm_vcpu *vcpu) +gpa_t kvm_mmu_gva_to_gpa_read(struct kvm_vcpu *vcpu, gva_t gva, u32 *error) +{ + u32 access = (kvm_x86_ops->get_cpl(vcpu) == 3) ? PFERR_USER_MASK : 0; + return vcpu->arch.mmu.gva_to_gpa(vcpu, gva, access, error); +} + + gpa_t kvm_mmu_gva_to_gpa_fetch(struct kvm_vcpu *vcpu, gva_t gva, u32 *error) +{ + u32 access = (kvm_x86_ops->get_cpl(vcpu) == 3) ? PFERR_USER_MASK : 0; + access |= PFERR_FETCH_MASK; + return vcpu->arch.mmu.gva_to_gpa(vcpu, gva, access, error); +} + +gpa_t kvm_mmu_gva_to_gpa_write(struct kvm_vcpu *vcpu, gva_t gva, u32 *error) +{ + u32 access = (kvm_x86_ops->get_cpl(vcpu) == 3) ? PFERR_USER_MASK : 0; + access |= PFERR_WRITE_MASK; + return vcpu->arch.mmu.gva_to_gpa(vcpu, gva, access, error); +} + +/* uses this to access any guest's mapped memory without checking CPL */ +gpa_t kvm_mmu_gva_to_gpa_system(struct kvm_vcpu *vcpu, gva_t gva, u32 *error) +{ + return vcpu->arch.mmu.gva_to_gpa(vcpu, gva, 0, error); +} + +static int kvm_read_guest_virt_helper(gva_t addr, void *val, unsigned int bytes, + struct kvm_vcpu *vcpu, u32 access, + u32 *error) { void *data = val; int r = X86EMUL_CONTINUE; while (bytes) { - gpa_t gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr); + gpa_t gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr, access, error); unsigned offset = addr & (PAGE_SIZE-1); unsigned toread = min(bytes, (unsigned)PAGE_SIZE - offset); int ret; @@ -2492,14 +2591,37 @@ return r; } +/* used for instruction fetching */ +static int kvm_fetch_guest_virt(gva_t addr, void *val, unsigned int bytes, + struct kvm_vcpu *vcpu, u32 *error) +{ + u32 access = (kvm_x86_ops->get_cpl(vcpu) == 3) ? PFERR_USER_MASK : 0; + return kvm_read_guest_virt_helper(addr, val, bytes, vcpu, + access | PFERR_FETCH_MASK, error); +} + +static int kvm_read_guest_virt(gva_t addr, void *val, unsigned int bytes, + struct kvm_vcpu *vcpu, u32 *error) +{ + u32 access = (kvm_x86_ops->get_cpl(vcpu) == 3) ? PFERR_USER_MASK : 0; + return kvm_read_guest_virt_helper(addr, val, bytes, vcpu, access, + error); +} + +static int kvm_read_guest_virt_system(gva_t addr, void *val, unsigned int bytes, + struct kvm_vcpu *vcpu, u32 *error) +{ + return kvm_read_guest_virt_helper(addr, val, bytes, vcpu, 0, error); +} + static int kvm_write_guest_virt(gva_t addr, void *val, unsigned int bytes, - struct kvm_vcpu *vcpu) + struct kvm_vcpu *vcpu, u32 *error) { void *data = val; int r = X86EMUL_CONTINUE; while (bytes) { - gpa_t gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr); + gpa_t gpa = kvm_mmu_gva_to_gpa_write(vcpu, addr, error); unsigned offset = addr & (PAGE_SIZE-1); unsigned towrite = min(bytes, (unsigned)PAGE_SIZE - offset); int ret; @@ -2529,6 +2651,7 @@ struct kvm_vcpu *vcpu) { gpa_t gpa; + u32 error_code; if (vcpu->mmio_read_completed) { memcpy(val, vcpu->mmio_data, bytes); @@ -2538,17 +2661,20 @@ return X86EMUL_CONTINUE; } - gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr); + gpa = kvm_mmu_gva_to_gpa_read(vcpu, addr, &error_code); + + if (gpa == UNMAPPED_GVA) { + kvm_inject_page_fault(vcpu, addr, error_code); + return X86EMUL_PROPAGATE_FAULT; + } /* For APIC access vmexit */ if ((gpa & PAGE_MASK) == APIC_DEFAULT_PHYS_BASE) goto mmio; - if (kvm_read_guest_virt(addr, val, bytes, vcpu) + if (kvm_read_guest_virt(addr, val, bytes, vcpu, NULL) == X86EMUL_CONTINUE) return X86EMUL_CONTINUE; - if (gpa == UNMAPPED_GVA) - return X86EMUL_PROPAGATE_FAULT; mmio: /* @@ -2587,11 +2713,12 @@ struct kvm_vcpu *vcpu) { gpa_t gpa; + u32 error_code; - gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr); + gpa = kvm_mmu_gva_to_gpa_write(vcpu, addr, &error_code); if (gpa == UNMAPPED_GVA) { - kvm_inject_page_fault(vcpu, addr, 2); + kvm_inject_page_fault(vcpu, addr, error_code); return X86EMUL_PROPAGATE_FAULT; } @@ -2655,7 +2782,7 @@ char *kaddr; u64 val; - gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr); + gpa = kvm_mmu_gva_to_gpa_write(vcpu, addr, NULL); if (gpa == UNMAPPED_GVA || (gpa & PAGE_MASK) == APIC_DEFAULT_PHYS_BASE) @@ -2700,6 +2827,9 @@ { struct kvm_vcpu *vcpu = ctxt->vcpu; + if (!kvm_x86_ops->get_dr) + return X86EMUL_UNHANDLEABLE; + switch (dr) { case 0 ... 3: *dest = kvm_x86_ops->get_dr(vcpu, dr); @@ -2715,6 +2845,9 @@ unsigned long mask = (ctxt->mode == X86EMUL_MODE_PROT64) ? ~0ULL : ~0U; int exception; + if (!kvm_x86_ops->set_dr) + return X86EMUL_UNHANDLEABLE; + kvm_x86_ops->set_dr(ctxt->vcpu, dr, value & mask, &exception); if (exception) { /* FIXME: better handling */ @@ -2734,18 +2867,41 @@ rip_linear = rip + get_segment_base(vcpu, VCPU_SREG_CS); - kvm_read_guest_virt(rip_linear, (void *)opcodes, 4, vcpu); + kvm_read_guest_virt(rip_linear, (void *)opcodes, 4, vcpu, NULL); printk(KERN_ERR "emulation failed (%s) rip %lx %02x %02x %02x %02x\n", context, rip, opcodes[0], opcodes[1], opcodes[2], opcodes[3]); } EXPORT_SYMBOL_GPL(kvm_report_emulation_failure); +static bool emulator_get_cpuid(struct kvm_vcpu *vcpu, + u32 *eax, u32 *ebx, u32 *ecx, u32 *edx) +{ + struct kvm_cpuid_entry2 *cpuid = NULL; + + if (eax && ecx) + cpuid = kvm_find_cpuid_entry(vcpu, *eax, *ecx); + + if (cpuid) { + *eax = cpuid->eax; + *ecx = cpuid->ecx; + if (ebx) + *ebx = cpuid->ebx; + if (edx) + *edx = cpuid->edx; + return true; + } + + return false; +} + static struct x86_emulate_ops emulate_ops = { - .read_std = kvm_read_guest_virt, + .read_std = kvm_read_guest_virt_system, + .fetch = kvm_fetch_guest_virt, .read_emulated = emulator_read_emulated, .write_emulated = emulator_write_emulated, .cmpxchg_emulated = emulator_cmpxchg_emulated, + .get_cpuid = emulator_get_cpuid, }; static void cache_all_regs(struct kvm_vcpu *vcpu) @@ -2785,8 +2941,9 @@ vcpu->arch.emulate_ctxt.vcpu = vcpu; vcpu->arch.emulate_ctxt.eflags = kvm_x86_ops->get_rflags(vcpu); vcpu->arch.emulate_ctxt.mode = + (!(vcpu->arch.cr0 & X86_CR0_PE)) ? X86EMUL_MODE_REAL : (vcpu->arch.emulate_ctxt.eflags & X86_EFLAGS_VM) - ? X86EMUL_MODE_REAL : cs_l + ? X86EMUL_MODE_VM86 : cs_l ? X86EMUL_MODE_PROT64 : cs_db ? X86EMUL_MODE_PROT32 : X86EMUL_MODE_PROT16; @@ -2878,12 +3035,17 @@ gva_t q = vcpu->arch.pio.guest_gva; unsigned bytes; int ret; + u32 error_code; bytes = vcpu->arch.pio.size * vcpu->arch.pio.cur_count; if (vcpu->arch.pio.in) - ret = kvm_write_guest_virt(q, p, bytes, vcpu); + ret = kvm_write_guest_virt(q, p, bytes, vcpu, &error_code); else - ret = kvm_read_guest_virt(q, p, bytes, vcpu); + ret = kvm_read_guest_virt(q, p, bytes, vcpu, &error_code); + + if (ret == X86EMUL_PROPAGATE_FAULT) + kvm_inject_page_fault(vcpu, q, error_code); + return ret; } @@ -2904,7 +3066,7 @@ if (io->in) { r = pio_copy_data(vcpu); if (r) - return r; + goto out; } delta = 1; @@ -2931,7 +3093,7 @@ kvm_register_write(vcpu, VCPU_REGS_RSI, val); } } - +out: io->count -= io->cur_count; io->cur_count = 0; @@ -2974,6 +3136,8 @@ { unsigned long val; + trace_kvm_pio(!in, port, size, 1); + vcpu->run->exit_reason = KVM_EXIT_IO; vcpu->run->io.direction = in ? KVM_EXIT_IO_IN : KVM_EXIT_IO_OUT; vcpu->run->io.size = vcpu->arch.pio.size = size; @@ -2985,9 +3149,6 @@ vcpu->arch.pio.down = 0; vcpu->arch.pio.rep = 0; - trace_kvm_pio(vcpu->run->io.direction == KVM_EXIT_IO_OUT, port, - size, 1); - val = kvm_register_read(vcpu, VCPU_REGS_RAX); memcpy(vcpu->arch.pio_data, &val, 4); @@ -3006,6 +3167,8 @@ unsigned now, in_page; int ret = 0; + trace_kvm_pio(!in, port, size, count); + vcpu->run->exit_reason = KVM_EXIT_IO; vcpu->run->io.direction = in ? KVM_EXIT_IO_IN : KVM_EXIT_IO_OUT; vcpu->run->io.size = vcpu->arch.pio.size = size; @@ -3017,9 +3180,6 @@ vcpu->arch.pio.down = down; vcpu->arch.pio.rep = rep; - trace_kvm_pio(vcpu->run->io.direction == KVM_EXIT_IO_OUT, port, - size, count); - if (!count) { kvm_x86_ops->skip_emulated_instruction(vcpu); return 1; @@ -3051,10 +3211,8 @@ if (!vcpu->arch.pio.in) { /* string PIO write */ ret = pio_copy_data(vcpu); - if (ret == X86EMUL_PROPAGATE_FAULT) { - kvm_inject_gp(vcpu, 0); + if (ret == X86EMUL_PROPAGATE_FAULT) return 1; - } if (ret == 0 && !pio_string_write(vcpu)) { complete_pio(vcpu); if (vcpu->arch.pio.count == 0) @@ -3602,6 +3760,8 @@ kvm_x86_ops->prepare_guest_switch(vcpu); kvm_load_guest_fpu(vcpu); + kvm_get_msr(vcpu, MSR_IA32_TSC, &vcpu->arch.last_guest_tsc); + local_irq_disable(); clear_bit(KVM_REQ_KICK, &vcpu->requests); @@ -4034,7 +4194,9 @@ kvm_queue_exception_e(vcpu, GP_VECTOR, selector & 0xfffc); return 1; } - return kvm_read_guest_virt(dtable.base + index*8, seg_desc, sizeof(*seg_desc), vcpu); + return kvm_read_guest_virt_system(dtable.base + index*8, + seg_desc, sizeof(*seg_desc), + vcpu, NULL); } /* allowed just for 8 bytes segments */ @@ -4048,15 +4210,23 @@ if (dtable.limit < index * 8 + 7) return 1; - return kvm_write_guest_virt(dtable.base + index*8, seg_desc, sizeof(*seg_desc), vcpu); + return kvm_write_guest_virt(dtable.base + index*8, seg_desc, sizeof(*seg_desc), vcpu, NULL); +} + +static gpa_t get_tss_base_addr_write(struct kvm_vcpu *vcpu, + struct desc_struct *seg_desc) +{ + u32 base_addr = get_desc_base(seg_desc); + + return kvm_mmu_gva_to_gpa_write(vcpu, base_addr, NULL); } -static gpa_t get_tss_base_addr(struct kvm_vcpu *vcpu, +static gpa_t get_tss_base_addr_read(struct kvm_vcpu *vcpu, struct desc_struct *seg_desc) { u32 base_addr = get_desc_base(seg_desc); - return vcpu->arch.mmu.gva_to_gpa(vcpu, base_addr); + return kvm_mmu_gva_to_gpa_read(vcpu, base_addr, NULL); } static u16 get_segment_selector(struct kvm_vcpu *vcpu, int seg) @@ -4067,18 +4237,6 @@ return kvm_seg.selector; } -static int load_segment_descriptor_to_kvm_desct(struct kvm_vcpu *vcpu, - u16 selector, - struct kvm_segment *kvm_seg) -{ - struct desc_struct seg_desc; - - if (load_guest_segment_descriptor(vcpu, selector, &seg_desc)) - return 1; - seg_desct_to_kvm_desct(&seg_desc, selector, kvm_seg); - return 0; -} - static int kvm_load_realmode_segment(struct kvm_vcpu *vcpu, u16 selector, int seg) { struct kvm_segment segvar = { @@ -4096,7 +4254,7 @@ .unusable = 0, }; kvm_x86_ops->set_segment(vcpu, &segvar, seg); - return 0; + return X86EMUL_CONTINUE; } static int is_vm86_segment(struct kvm_vcpu *vcpu, int seg) @@ -4106,24 +4264,113 @@ (kvm_x86_ops->get_rflags(vcpu) & X86_EFLAGS_VM); } -int kvm_load_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, - int type_bits, int seg) +int kvm_load_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, int seg) { struct kvm_segment kvm_seg; + struct desc_struct seg_desc; + u8 dpl, rpl, cpl; + unsigned err_vec = GP_VECTOR; + u32 err_code = 0; + bool null_selector = !(selector & ~0x3); /* 0000-0003 are null */ + int ret; if (is_vm86_segment(vcpu, seg) || !(vcpu->arch.cr0 & X86_CR0_PE)) return kvm_load_realmode_segment(vcpu, selector, seg); - if (load_segment_descriptor_to_kvm_desct(vcpu, selector, &kvm_seg)) - return 1; - kvm_seg.type |= type_bits; - if (seg != VCPU_SREG_SS && seg != VCPU_SREG_CS && - seg != VCPU_SREG_LDTR) - if (!kvm_seg.s) - kvm_seg.unusable = 1; + /* NULL selector is not valid for TR, CS and SS */ + if ((seg == VCPU_SREG_CS || seg == VCPU_SREG_SS || seg == VCPU_SREG_TR) + && null_selector) + goto exception; + + /* TR should be in GDT only */ + if (seg == VCPU_SREG_TR && (selector & (1 << 2))) + goto exception; + + ret = load_guest_segment_descriptor(vcpu, selector, &seg_desc); + if (ret) + return ret; + + seg_desct_to_kvm_desct(&seg_desc, selector, &kvm_seg); + + if (null_selector) { /* for NULL selector skip all following checks */ + kvm_seg.unusable = 1; + goto load; + } + + err_code = selector & 0xfffc; + err_vec = GP_VECTOR; + + /* can't load system descriptor into segment selecor */ + if (seg <= VCPU_SREG_GS && !kvm_seg.s) + goto exception; + + if (!kvm_seg.present) { + err_vec = (seg == VCPU_SREG_SS) ? SS_VECTOR : NP_VECTOR; + goto exception; + } + + rpl = selector & 3; + dpl = kvm_seg.dpl; + cpl = kvm_x86_ops->get_cpl(vcpu); + + switch (seg) { + case VCPU_SREG_SS: + /* + * segment is not a writable data segment or segment + * selector's RPL != CPL or segment selector's RPL != CPL + */ + if (rpl != cpl || (kvm_seg.type & 0xa) != 0x2 || dpl != cpl) + goto exception; + break; + case VCPU_SREG_CS: + if (!(kvm_seg.type & 8)) + goto exception; + + if (kvm_seg.type & 4) { + /* conforming */ + if (dpl > cpl) + goto exception; + } else { + /* nonconforming */ + if (rpl > cpl || dpl != cpl) + goto exception; + } + /* CS(RPL) <- CPL */ + selector = (selector & 0xfffc) | cpl; + break; + case VCPU_SREG_TR: + if (kvm_seg.s || (kvm_seg.type != 1 && kvm_seg.type != 9)) + goto exception; + break; + case VCPU_SREG_LDTR: + if (kvm_seg.s || kvm_seg.type != 2) + goto exception; + break; + default: /* DS, ES, FS, or GS */ + /* + * segment is not a data or readable code segment or + * ((segment is a data or nonconforming code segment) + * and (both RPL and CPL > DPL)) + */ + if ((kvm_seg.type & 0xa) == 0x8 || + (((kvm_seg.type & 0xc) != 0xc) && (rpl > dpl && cpl > dpl))) + goto exception; + break; + } + + if (!kvm_seg.unusable && kvm_seg.s) { + /* mark segment as accessed */ + kvm_seg.type |= 1; + seg_desc.type |= 1; + save_guest_segment_descriptor(vcpu, selector, &seg_desc); + } +load: kvm_set_segment(vcpu, &kvm_seg, seg); - return 0; + return X86EMUL_CONTINUE; +exception: + kvm_queue_exception_e(vcpu, err_vec, err_code); + return X86EMUL_PROPAGATE_FAULT; } static void save_state_to_tss32(struct kvm_vcpu *vcpu, @@ -4149,6 +4396,14 @@ tss->ldt_selector = get_segment_selector(vcpu, VCPU_SREG_LDTR); } +static void kvm_load_segment_selector(struct kvm_vcpu *vcpu, u16 sel, int seg) +{ + struct kvm_segment kvm_seg; + kvm_get_segment(vcpu, &kvm_seg, seg); + kvm_seg.selector = sel; + kvm_set_segment(vcpu, &kvm_seg, seg); +} + static int load_state_from_tss32(struct kvm_vcpu *vcpu, struct tss_segment_32 *tss) { @@ -4166,25 +4421,41 @@ kvm_register_write(vcpu, VCPU_REGS_RSI, tss->esi); kvm_register_write(vcpu, VCPU_REGS_RDI, tss->edi); - if (kvm_load_segment_descriptor(vcpu, tss->ldt_selector, 0, VCPU_SREG_LDTR)) + /* + * SDM says that segment selectors are loaded before segment + * descriptors + */ + kvm_load_segment_selector(vcpu, tss->ldt_selector, VCPU_SREG_LDTR); + kvm_load_segment_selector(vcpu, tss->es, VCPU_SREG_ES); + kvm_load_segment_selector(vcpu, tss->cs, VCPU_SREG_CS); + kvm_load_segment_selector(vcpu, tss->ss, VCPU_SREG_SS); + kvm_load_segment_selector(vcpu, tss->ds, VCPU_SREG_DS); + kvm_load_segment_selector(vcpu, tss->fs, VCPU_SREG_FS); + kvm_load_segment_selector(vcpu, tss->gs, VCPU_SREG_GS); + + /* + * Now load segment descriptors. If fault happenes at this stage + * it is handled in a context of new task + */ + if (kvm_load_segment_descriptor(vcpu, tss->ldt_selector, VCPU_SREG_LDTR)) return 1; - if (kvm_load_segment_descriptor(vcpu, tss->es, 1, VCPU_SREG_ES)) + if (kvm_load_segment_descriptor(vcpu, tss->es, VCPU_SREG_ES)) return 1; - if (kvm_load_segment_descriptor(vcpu, tss->cs, 9, VCPU_SREG_CS)) + if (kvm_load_segment_descriptor(vcpu, tss->cs, VCPU_SREG_CS)) return 1; - if (kvm_load_segment_descriptor(vcpu, tss->ss, 1, VCPU_SREG_SS)) + if (kvm_load_segment_descriptor(vcpu, tss->ss, VCPU_SREG_SS)) return 1; - if (kvm_load_segment_descriptor(vcpu, tss->ds, 1, VCPU_SREG_DS)) + if (kvm_load_segment_descriptor(vcpu, tss->ds, VCPU_SREG_DS)) return 1; - if (kvm_load_segment_descriptor(vcpu, tss->fs, 1, VCPU_SREG_FS)) + if (kvm_load_segment_descriptor(vcpu, tss->fs, VCPU_SREG_FS)) return 1; - if (kvm_load_segment_descriptor(vcpu, tss->gs, 1, VCPU_SREG_GS)) + if (kvm_load_segment_descriptor(vcpu, tss->gs, VCPU_SREG_GS)) return 1; return 0; } @@ -4225,19 +4496,33 @@ kvm_register_write(vcpu, VCPU_REGS_RSI, tss->si); kvm_register_write(vcpu, VCPU_REGS_RDI, tss->di); - if (kvm_load_segment_descriptor(vcpu, tss->ldt, 0, VCPU_SREG_LDTR)) + /* + * SDM says that segment selectors are loaded before segment + * descriptors + */ + kvm_load_segment_selector(vcpu, tss->ldt, VCPU_SREG_LDTR); + kvm_load_segment_selector(vcpu, tss->es, VCPU_SREG_ES); + kvm_load_segment_selector(vcpu, tss->cs, VCPU_SREG_CS); + kvm_load_segment_selector(vcpu, tss->ss, VCPU_SREG_SS); + kvm_load_segment_selector(vcpu, tss->ds, VCPU_SREG_DS); + + /* + * Now load segment descriptors. If fault happenes at this stage + * it is handled in a context of new task + */ + if (kvm_load_segment_descriptor(vcpu, tss->ldt, VCPU_SREG_LDTR)) return 1; - if (kvm_load_segment_descriptor(vcpu, tss->es, 1, VCPU_SREG_ES)) + if (kvm_load_segment_descriptor(vcpu, tss->es, VCPU_SREG_ES)) return 1; - if (kvm_load_segment_descriptor(vcpu, tss->cs, 9, VCPU_SREG_CS)) + if (kvm_load_segment_descriptor(vcpu, tss->cs, VCPU_SREG_CS)) return 1; - if (kvm_load_segment_descriptor(vcpu, tss->ss, 1, VCPU_SREG_SS)) + if (kvm_load_segment_descriptor(vcpu, tss->ss, VCPU_SREG_SS)) return 1; - if (kvm_load_segment_descriptor(vcpu, tss->ds, 1, VCPU_SREG_DS)) + if (kvm_load_segment_descriptor(vcpu, tss->ds, VCPU_SREG_DS)) return 1; return 0; } @@ -4259,7 +4544,7 @@ sizeof tss_segment_16)) goto out; - if (kvm_read_guest(vcpu->kvm, get_tss_base_addr(vcpu, nseg_desc), + if (kvm_read_guest(vcpu->kvm, get_tss_base_addr_read(vcpu, nseg_desc), &tss_segment_16, sizeof tss_segment_16)) goto out; @@ -4267,7 +4552,7 @@ tss_segment_16.prev_task_link = old_tss_sel; if (kvm_write_guest(vcpu->kvm, - get_tss_base_addr(vcpu, nseg_desc), + get_tss_base_addr_write(vcpu, nseg_desc), &tss_segment_16.prev_task_link, sizeof tss_segment_16.prev_task_link)) goto out; @@ -4298,7 +4583,7 @@ sizeof tss_segment_32)) goto out; - if (kvm_read_guest(vcpu->kvm, get_tss_base_addr(vcpu, nseg_desc), + if (kvm_read_guest(vcpu->kvm, get_tss_base_addr_read(vcpu, nseg_desc), &tss_segment_32, sizeof tss_segment_32)) goto out; @@ -4306,7 +4591,7 @@ tss_segment_32.prev_task_link = old_tss_sel; if (kvm_write_guest(vcpu->kvm, - get_tss_base_addr(vcpu, nseg_desc), + get_tss_base_addr_write(vcpu, nseg_desc), &tss_segment_32.prev_task_link, sizeof tss_segment_32.prev_task_link)) goto out; @@ -4328,8 +4613,9 @@ int ret = 0; u32 old_tss_base = get_segment_base(vcpu, VCPU_SREG_TR); u16 old_tss_sel = get_segment_selector(vcpu, VCPU_SREG_TR); + u32 desc_limit; - old_tss_base = vcpu->arch.mmu.gva_to_gpa(vcpu, old_tss_base); + old_tss_base = kvm_mmu_gva_to_gpa_write(vcpu, old_tss_base, NULL); /* FIXME: Handle errors. Failure to read either TSS or their * descriptors should generate a pagefault. @@ -4350,7 +4636,10 @@ } } - if (!nseg_desc.p || get_desc_limit(&nseg_desc) < 0x67) { + desc_limit = get_desc_limit(&nseg_desc); + if (!nseg_desc.p || + ((desc_limit < 0x67 && (nseg_desc.type & 8)) || + desc_limit < 0x2b)) { kvm_queue_exception_e(vcpu, TS_VECTOR, tss_selector & 0xfffc); return 1; } @@ -4538,7 +4827,7 @@ vcpu_load(vcpu); down_read(&vcpu->kvm->slots_lock); - gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, vaddr); + gpa = kvm_mmu_gva_to_gpa_system(vcpu, vaddr, NULL); up_read(&vcpu->kvm->slots_lock); tr->physical_address = gpa; tr->valid = gpa != UNMAPPED_GVA; @@ -4670,12 +4959,7 @@ if (r == 0) r = kvm_mmu_setup(vcpu); vcpu_put(vcpu); - if (r < 0) - goto free_vcpu; - return 0; -free_vcpu: - kvm_x86_ops->vcpu_free(vcpu); return r; } @@ -4726,6 +5010,11 @@ kvm_x86_ops->check_processor_compatibility(rtn); } +bool kvm_vcpu_compatible(struct kvm_vcpu *vcpu) +{ + return irqchip_in_kernel(vcpu->kvm) == (vcpu->arch.apic != NULL); +} + int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu) { struct page *page; @@ -4762,12 +5051,13 @@ GFP_KERNEL); if (!vcpu->arch.mce_banks) { r = -ENOMEM; - goto fail_mmu_destroy; + goto fail_free_lapic; } vcpu->arch.mcg_cap = KVM_MAX_MCE_BANKS; return 0; - +fail_free_lapic: + kvm_free_lapic(vcpu); fail_mmu_destroy: kvm_mmu_destroy(vcpu); fail_free_pio_data: @@ -4778,6 +5068,7 @@ void kvm_arch_vcpu_uninit(struct kvm_vcpu *vcpu) { + kfree(vcpu->arch.mce_banks); kvm_free_lapic(vcpu); down_read(&vcpu->kvm->slots_lock); kvm_mmu_destroy(vcpu); --- linux-2.6.32.orig/arch/x86/lib/Makefile +++ linux-2.6.32/arch/x86/lib/Makefile @@ -2,14 +2,14 @@ # Makefile for x86 specific library files. # -obj-$(CONFIG_SMP) := msr.o +obj-$(CONFIG_SMP) += msr-smp.o cache-smp.o lib-y := delay.o lib-y += thunk_$(BITS).o lib-y += usercopy_$(BITS).o getuser.o putuser.o lib-y += memcpy_$(BITS).o -obj-y += msr-reg.o msr-reg-export.o +obj-y += msr.o msr-reg.o msr-reg-export.o ifeq ($(CONFIG_X86_32),y) obj-y += atomic64_32.o @@ -26,4 +26,5 @@ lib-y += thunk_64.o clear_page_64.o copy_page_64.o lib-y += memmove_64.o memset_64.o lib-y += copy_user_64.o rwlock_64.o copy_user_nocache_64.o + lib-$(CONFIG_RWSEM_XCHGADD_ALGORITHM) += rwsem_64.o endif --- linux-2.6.32.orig/arch/x86/lib/msr.c +++ linux-2.6.32/arch/x86/lib/msr.c @@ -1,226 +1,23 @@ #include #include -#include #include -struct msr_info { - u32 msr_no; - struct msr reg; - struct msr *msrs; - int off; - int err; -}; - -static void __rdmsr_on_cpu(void *info) -{ - struct msr_info *rv = info; - struct msr *reg; - int this_cpu = raw_smp_processor_id(); - - if (rv->msrs) - reg = &rv->msrs[this_cpu - rv->off]; - else - reg = &rv->reg; - - rdmsr(rv->msr_no, reg->l, reg->h); -} - -static void __wrmsr_on_cpu(void *info) -{ - struct msr_info *rv = info; - struct msr *reg; - int this_cpu = raw_smp_processor_id(); - - if (rv->msrs) - reg = &rv->msrs[this_cpu - rv->off]; - else - reg = &rv->reg; - - wrmsr(rv->msr_no, reg->l, reg->h); -} - -int rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h) -{ - int err; - struct msr_info rv; - - memset(&rv, 0, sizeof(rv)); - - rv.msr_no = msr_no; - err = smp_call_function_single(cpu, __rdmsr_on_cpu, &rv, 1); - *l = rv.reg.l; - *h = rv.reg.h; - - return err; -} -EXPORT_SYMBOL(rdmsr_on_cpu); - -int wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h) -{ - int err; - struct msr_info rv; - - memset(&rv, 0, sizeof(rv)); - - rv.msr_no = msr_no; - rv.reg.l = l; - rv.reg.h = h; - err = smp_call_function_single(cpu, __wrmsr_on_cpu, &rv, 1); - - return err; -} -EXPORT_SYMBOL(wrmsr_on_cpu); - -/* rdmsr on a bunch of CPUs - * - * @mask: which CPUs - * @msr_no: which MSR - * @msrs: array of MSR values - * - */ -void rdmsr_on_cpus(const cpumask_t *mask, u32 msr_no, struct msr *msrs) -{ - struct msr_info rv; - int this_cpu; - - memset(&rv, 0, sizeof(rv)); - - rv.off = cpumask_first(mask); - rv.msrs = msrs; - rv.msr_no = msr_no; - - this_cpu = get_cpu(); - - if (cpumask_test_cpu(this_cpu, mask)) - __rdmsr_on_cpu(&rv); - - smp_call_function_many(mask, __rdmsr_on_cpu, &rv, 1); - put_cpu(); -} -EXPORT_SYMBOL(rdmsr_on_cpus); - -/* - * wrmsr on a bunch of CPUs - * - * @mask: which CPUs - * @msr_no: which MSR - * @msrs: array of MSR values - * - */ -void wrmsr_on_cpus(const cpumask_t *mask, u32 msr_no, struct msr *msrs) -{ - struct msr_info rv; - int this_cpu; - - memset(&rv, 0, sizeof(rv)); - - rv.off = cpumask_first(mask); - rv.msrs = msrs; - rv.msr_no = msr_no; - - this_cpu = get_cpu(); - - if (cpumask_test_cpu(this_cpu, mask)) - __wrmsr_on_cpu(&rv); - - smp_call_function_many(mask, __wrmsr_on_cpu, &rv, 1); - put_cpu(); -} -EXPORT_SYMBOL(wrmsr_on_cpus); - -/* These "safe" variants are slower and should be used when the target MSR - may not actually exist. */ -static void __rdmsr_safe_on_cpu(void *info) -{ - struct msr_info *rv = info; - - rv->err = rdmsr_safe(rv->msr_no, &rv->reg.l, &rv->reg.h); -} - -static void __wrmsr_safe_on_cpu(void *info) -{ - struct msr_info *rv = info; - - rv->err = wrmsr_safe(rv->msr_no, rv->reg.l, rv->reg.h); -} - -int rdmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h) +struct msr *msrs_alloc(void) { - int err; - struct msr_info rv; + struct msr *msrs = NULL; - memset(&rv, 0, sizeof(rv)); + msrs = alloc_percpu(struct msr); + if (!msrs) { + pr_warning("%s: error allocating msrs\n", __func__); + return NULL; + } - rv.msr_no = msr_no; - err = smp_call_function_single(cpu, __rdmsr_safe_on_cpu, &rv, 1); - *l = rv.reg.l; - *h = rv.reg.h; - - return err ? err : rv.err; + return msrs; } -EXPORT_SYMBOL(rdmsr_safe_on_cpu); +EXPORT_SYMBOL(msrs_alloc); -int wrmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h) +void msrs_free(struct msr *msrs) { - int err; - struct msr_info rv; - - memset(&rv, 0, sizeof(rv)); - - rv.msr_no = msr_no; - rv.reg.l = l; - rv.reg.h = h; - err = smp_call_function_single(cpu, __wrmsr_safe_on_cpu, &rv, 1); - - return err ? err : rv.err; -} -EXPORT_SYMBOL(wrmsr_safe_on_cpu); - -/* - * These variants are significantly slower, but allows control over - * the entire 32-bit GPR set. - */ -struct msr_regs_info { - u32 *regs; - int err; -}; - -static void __rdmsr_safe_regs_on_cpu(void *info) -{ - struct msr_regs_info *rv = info; - - rv->err = rdmsr_safe_regs(rv->regs); -} - -static void __wrmsr_safe_regs_on_cpu(void *info) -{ - struct msr_regs_info *rv = info; - - rv->err = wrmsr_safe_regs(rv->regs); -} - -int rdmsr_safe_regs_on_cpu(unsigned int cpu, u32 *regs) -{ - int err; - struct msr_regs_info rv; - - rv.regs = regs; - rv.err = -EIO; - err = smp_call_function_single(cpu, __rdmsr_safe_regs_on_cpu, &rv, 1); - - return err ? err : rv.err; -} -EXPORT_SYMBOL(rdmsr_safe_regs_on_cpu); - -int wrmsr_safe_regs_on_cpu(unsigned int cpu, u32 *regs) -{ - int err; - struct msr_regs_info rv; - - rv.regs = regs; - rv.err = -EIO; - err = smp_call_function_single(cpu, __wrmsr_safe_regs_on_cpu, &rv, 1); - - return err ? err : rv.err; + free_percpu(msrs); } -EXPORT_SYMBOL(wrmsr_safe_regs_on_cpu); +EXPORT_SYMBOL(msrs_free); --- linux-2.6.32.orig/arch/x86/lib/copy_user_64.S +++ linux-2.6.32/arch/x86/lib/copy_user_64.S @@ -72,7 +72,7 @@ addq %rdx,%rcx jc bad_to_user cmpq TI_addr_limit(%rax),%rcx - jae bad_to_user + ja bad_to_user ALTERNATIVE_JUMP X86_FEATURE_REP_GOOD,copy_user_generic_unrolled,copy_user_generic_string CFI_ENDPROC ENDPROC(copy_to_user) @@ -85,7 +85,7 @@ addq %rdx,%rcx jc bad_from_user cmpq TI_addr_limit(%rax),%rcx - jae bad_from_user + ja bad_from_user ALTERNATIVE_JUMP X86_FEATURE_REP_GOOD,copy_user_generic_unrolled,copy_user_generic_string CFI_ENDPROC ENDPROC(copy_from_user) --- linux-2.6.32.orig/arch/x86/lib/semaphore_32.S +++ linux-2.6.32/arch/x86/lib/semaphore_32.S @@ -36,7 +36,7 @@ */ #ifdef CONFIG_SMP ENTRY(__write_lock_failed) - CFI_STARTPROC simple + CFI_STARTPROC FRAME 2: LOCK_PREFIX addl $ RW_LOCK_BIAS,(%eax) --- linux-2.6.32.orig/arch/x86/lib/cache-smp.c +++ linux-2.6.32/arch/x86/lib/cache-smp.c @@ -0,0 +1,19 @@ +#include +#include + +static void __wbinvd(void *dummy) +{ + wbinvd(); +} + +void wbinvd_on_cpu(int cpu) +{ + smp_call_function_single(cpu, __wbinvd, NULL, 1); +} +EXPORT_SYMBOL(wbinvd_on_cpu); + +int wbinvd_on_all_cpus(void) +{ + return on_each_cpu(__wbinvd, NULL, 1); +} +EXPORT_SYMBOL(wbinvd_on_all_cpus); --- linux-2.6.32.orig/arch/x86/lib/msr-smp.c +++ linux-2.6.32/arch/x86/lib/msr-smp.c @@ -0,0 +1,204 @@ +#include +#include +#include +#include + +static void __rdmsr_on_cpu(void *info) +{ + struct msr_info *rv = info; + struct msr *reg; + int this_cpu = raw_smp_processor_id(); + + if (rv->msrs) + reg = per_cpu_ptr(rv->msrs, this_cpu); + else + reg = &rv->reg; + + rdmsr(rv->msr_no, reg->l, reg->h); +} + +static void __wrmsr_on_cpu(void *info) +{ + struct msr_info *rv = info; + struct msr *reg; + int this_cpu = raw_smp_processor_id(); + + if (rv->msrs) + reg = per_cpu_ptr(rv->msrs, this_cpu); + else + reg = &rv->reg; + + wrmsr(rv->msr_no, reg->l, reg->h); +} + +int rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h) +{ + int err; + struct msr_info rv; + + memset(&rv, 0, sizeof(rv)); + + rv.msr_no = msr_no; + err = smp_call_function_single(cpu, __rdmsr_on_cpu, &rv, 1); + *l = rv.reg.l; + *h = rv.reg.h; + + return err; +} +EXPORT_SYMBOL(rdmsr_on_cpu); + +int wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h) +{ + int err; + struct msr_info rv; + + memset(&rv, 0, sizeof(rv)); + + rv.msr_no = msr_no; + rv.reg.l = l; + rv.reg.h = h; + err = smp_call_function_single(cpu, __wrmsr_on_cpu, &rv, 1); + + return err; +} +EXPORT_SYMBOL(wrmsr_on_cpu); + +static void __rwmsr_on_cpus(const struct cpumask *mask, u32 msr_no, + struct msr *msrs, + void (*msr_func) (void *info)) +{ + struct msr_info rv; + int this_cpu; + + memset(&rv, 0, sizeof(rv)); + + rv.msrs = msrs; + rv.msr_no = msr_no; + + this_cpu = get_cpu(); + + if (cpumask_test_cpu(this_cpu, mask)) + msr_func(&rv); + + smp_call_function_many(mask, msr_func, &rv, 1); + put_cpu(); +} + +/* rdmsr on a bunch of CPUs + * + * @mask: which CPUs + * @msr_no: which MSR + * @msrs: array of MSR values + * + */ +void rdmsr_on_cpus(const struct cpumask *mask, u32 msr_no, struct msr *msrs) +{ + __rwmsr_on_cpus(mask, msr_no, msrs, __rdmsr_on_cpu); +} +EXPORT_SYMBOL(rdmsr_on_cpus); + +/* + * wrmsr on a bunch of CPUs + * + * @mask: which CPUs + * @msr_no: which MSR + * @msrs: array of MSR values + * + */ +void wrmsr_on_cpus(const struct cpumask *mask, u32 msr_no, struct msr *msrs) +{ + __rwmsr_on_cpus(mask, msr_no, msrs, __wrmsr_on_cpu); +} +EXPORT_SYMBOL(wrmsr_on_cpus); + +/* These "safe" variants are slower and should be used when the target MSR + may not actually exist. */ +static void __rdmsr_safe_on_cpu(void *info) +{ + struct msr_info *rv = info; + + rv->err = rdmsr_safe(rv->msr_no, &rv->reg.l, &rv->reg.h); +} + +static void __wrmsr_safe_on_cpu(void *info) +{ + struct msr_info *rv = info; + + rv->err = wrmsr_safe(rv->msr_no, rv->reg.l, rv->reg.h); +} + +int rdmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h) +{ + int err; + struct msr_info rv; + + memset(&rv, 0, sizeof(rv)); + + rv.msr_no = msr_no; + err = smp_call_function_single(cpu, __rdmsr_safe_on_cpu, &rv, 1); + *l = rv.reg.l; + *h = rv.reg.h; + + return err ? err : rv.err; +} +EXPORT_SYMBOL(rdmsr_safe_on_cpu); + +int wrmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h) +{ + int err; + struct msr_info rv; + + memset(&rv, 0, sizeof(rv)); + + rv.msr_no = msr_no; + rv.reg.l = l; + rv.reg.h = h; + err = smp_call_function_single(cpu, __wrmsr_safe_on_cpu, &rv, 1); + + return err ? err : rv.err; +} +EXPORT_SYMBOL(wrmsr_safe_on_cpu); + +/* + * These variants are significantly slower, but allows control over + * the entire 32-bit GPR set. + */ +static void __rdmsr_safe_regs_on_cpu(void *info) +{ + struct msr_regs_info *rv = info; + + rv->err = rdmsr_safe_regs(rv->regs); +} + +static void __wrmsr_safe_regs_on_cpu(void *info) +{ + struct msr_regs_info *rv = info; + + rv->err = wrmsr_safe_regs(rv->regs); +} + +int rdmsr_safe_regs_on_cpu(unsigned int cpu, u32 *regs) +{ + int err; + struct msr_regs_info rv; + + rv.regs = regs; + rv.err = -EIO; + err = smp_call_function_single(cpu, __rdmsr_safe_regs_on_cpu, &rv, 1); + + return err ? err : rv.err; +} +EXPORT_SYMBOL(rdmsr_safe_regs_on_cpu); + +int wrmsr_safe_regs_on_cpu(unsigned int cpu, u32 *regs) +{ + int err; + struct msr_regs_info rv; + + rv.regs = regs; + rv.err = -EIO; + err = smp_call_function_single(cpu, __wrmsr_safe_regs_on_cpu, &rv, 1); + + return err ? err : rv.err; +} +EXPORT_SYMBOL(wrmsr_safe_regs_on_cpu); --- linux-2.6.32.orig/arch/x86/lib/rwsem_64.S +++ linux-2.6.32/arch/x86/lib/rwsem_64.S @@ -0,0 +1,81 @@ +/* + * x86-64 rwsem wrappers + * + * This interfaces the inline asm code to the slow-path + * C routines. We need to save the call-clobbered regs + * that the asm does not mark as clobbered, and move the + * argument from %rax to %rdi. + * + * NOTE! We don't need to save %rax, because the functions + * will always return the semaphore pointer in %rax (which + * is also the input argument to these helpers) + * + * The following can clobber %rdx because the asm clobbers it: + * call_rwsem_down_write_failed + * call_rwsem_wake + * but %rdi, %rsi, %rcx, %r8-r11 always need saving. + */ + +#include +#include +#include +#include +#include + +#define save_common_regs \ + pushq %rdi; \ + pushq %rsi; \ + pushq %rcx; \ + pushq %r8; \ + pushq %r9; \ + pushq %r10; \ + pushq %r11 + +#define restore_common_regs \ + popq %r11; \ + popq %r10; \ + popq %r9; \ + popq %r8; \ + popq %rcx; \ + popq %rsi; \ + popq %rdi + +/* Fix up special calling conventions */ +ENTRY(call_rwsem_down_read_failed) + save_common_regs + pushq %rdx + movq %rax,%rdi + call rwsem_down_read_failed + popq %rdx + restore_common_regs + ret + ENDPROC(call_rwsem_down_read_failed) + +ENTRY(call_rwsem_down_write_failed) + save_common_regs + movq %rax,%rdi + call rwsem_down_write_failed + restore_common_regs + ret + ENDPROC(call_rwsem_down_write_failed) + +ENTRY(call_rwsem_wake) + decw %dx /* do nothing if still outstanding active readers */ + jnz 1f + save_common_regs + movq %rax,%rdi + call rwsem_wake + restore_common_regs +1: ret + ENDPROC(call_rwsem_wake) + +/* Fix up special calling conventions */ +ENTRY(call_rwsem_downgrade_wake) + save_common_regs + pushq %rdx + movq %rax,%rdi + call rwsem_downgrade_wake + popq %rdx + restore_common_regs + ret + ENDPROC(call_rwsem_downgrade_wake) --- linux-2.6.32.orig/arch/x86/mm/fault.c +++ linux-2.6.32/arch/x86/mm/fault.c @@ -801,8 +801,10 @@ up_read(&mm->mmap_sem); /* Kernel mode? Handle exceptions or die: */ - if (!(error_code & PF_USER)) + if (!(error_code & PF_USER)) { no_context(regs, error_code, address); + return; + } /* User-space => ok to do another page fault: */ if (is_prefetch(regs, error_code, address)) @@ -828,6 +830,13 @@ unsigned long address, unsigned int fault) { if (fault & VM_FAULT_OOM) { + /* Kernel mode? Handle exceptions or die: */ + if (!(error_code & PF_USER)) { + up_read(¤t->mm->mmap_sem); + no_context(regs, error_code, address); + return; + } + out_of_memory(regs, error_code, address); } else { if (fault & (VM_FAULT_SIGBUS|VM_FAULT_HWPOISON)) --- linux-2.6.32.orig/arch/x86/mm/init.c +++ linux-2.6.32/arch/x86/mm/init.c @@ -149,6 +149,14 @@ set_nx(); if (nx_enabled) printk(KERN_INFO "NX (Execute Disable) protection: active\n"); + else +#ifdef CONFIG_X86_32 + printk(KERN_INFO "Using x86 segment limits to approximate " + "NX protection\n"); +#else + printk(KERN_WARNING "Warning: NX (Execute Disable) protection " + "missing in CPU or disabled in BIOS!\n"); +#endif /* Enable PSE if available */ if (cpu_has_pse) --- linux-2.6.32.orig/arch/x86/mm/init_64.c +++ linux-2.6.32/arch/x86/mm/init_64.c @@ -49,6 +49,7 @@ #include #include #include +#include static unsigned long dma_reserve __initdata; @@ -615,6 +616,21 @@ */ #ifdef CONFIG_MEMORY_HOTPLUG /* + * After memory hotplug the variables max_pfn, max_low_pfn and high_memory need + * updating. + */ +static void update_end_of_memory_vars(u64 start, u64 size) +{ + unsigned long end_pfn = PFN_UP(start + size); + + if (end_pfn > max_pfn) { + max_pfn = end_pfn; + max_low_pfn = end_pfn; + high_memory = (void *)__va(max_pfn * PAGE_SIZE - 1) + 1; + } +} + +/* * Memory is added always to NORMAL zone. This means you will never get * additional DMA/DMA32 memory. */ @@ -633,6 +649,9 @@ ret = __add_pages(nid, zone, start_pfn, nr_pages); WARN_ON_ONCE(ret); + /* update max_pfn, max_low_pfn and high_memory */ + update_end_of_memory_vars(start, size); + return ret; } EXPORT_SYMBOL_GPL(arch_add_memory); --- linux-2.6.32.orig/arch/x86/mm/mmap.c +++ linux-2.6.32/arch/x86/mm/mmap.c @@ -87,9 +87,9 @@ */ if (current->flags & PF_RANDOMIZE) { if (mmap_is_ia32()) - rnd = (long)get_random_int() % (1<<8); + rnd = get_random_int() % (1<<8); else - rnd = (long)(get_random_int() % (1<<28)); + rnd = get_random_int() % (1<<28); } return rnd << PAGE_SHIFT; } @@ -131,6 +131,11 @@ } else { mm->mmap_base = mmap_base(); mm->get_unmapped_area = arch_get_unmapped_area_topdown; +#ifdef CONFIG_X86_32 + if (!nx_enabled && !(current->personality & READ_IMPLIES_EXEC) + && mmap_is_ia32()) + mm->get_unmapped_exec_area = arch_get_unmapped_exec_area; +#endif mm->unmap_area = arch_unmap_area_topdown; } } --- linux-2.6.32.orig/arch/x86/mm/pgtable.c +++ linux-2.6.32/arch/x86/mm/pgtable.c @@ -6,6 +6,14 @@ #define PGALLOC_GFP GFP_KERNEL | __GFP_NOTRACK | __GFP_REPEAT | __GFP_ZERO +#ifdef CONFIG_HIGHPTE +#define PGALLOC_USER_GFP __GFP_HIGHMEM +#else +#define PGALLOC_USER_GFP 0 +#endif + +gfp_t __userpte_alloc_gfp = PGALLOC_GFP | PGALLOC_USER_GFP; + pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address) { return (pte_t *)__get_free_page(PGALLOC_GFP); @@ -15,16 +23,29 @@ { struct page *pte; -#ifdef CONFIG_HIGHPTE - pte = alloc_pages(PGALLOC_GFP | __GFP_HIGHMEM, 0); -#else - pte = alloc_pages(PGALLOC_GFP, 0); -#endif + pte = alloc_pages(__userpte_alloc_gfp, 0); if (pte) pgtable_page_ctor(pte); return pte; } +static int __init setup_userpte(char *arg) +{ + if (!arg) + return -EINVAL; + + /* + * "userpte=nohigh" disables allocation of user pagetables in + * high memory. + */ + if (strcmp(arg, "nohigh") == 0) + __userpte_alloc_gfp &= ~__GFP_HIGHMEM; + else + return -EINVAL; + return 0; +} +early_param("userpte", setup_userpte); + void ___pte_free_tlb(struct mmu_gather *tlb, struct page *pte) { pgtable_page_dtor(pte); --- linux-2.6.32.orig/arch/x86/mm/setup_nx.c +++ linux-2.6.32/arch/x86/mm/setup_nx.c @@ -53,6 +53,7 @@ #else void set_nx(void) { + nx_enabled = _PAGE_NX && ((__supported_pte_mask & _PAGE_NX) == _PAGE_NX); } #endif --- linux-2.6.32.orig/arch/x86/mm/tlb.c +++ linux-2.6.32/arch/x86/mm/tlb.c @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -130,6 +131,10 @@ union smp_flush_state *f; cpu = smp_processor_id(); +#ifdef CONFIG_X86_32 + if (current->active_mm) + load_user_cs_desc(cpu, current->active_mm); +#endif /* * orig_rax contains the negated interrupt vector. * Use that to determine where the sender put the data. --- linux-2.6.32.orig/arch/x86/mm/srat_64.c +++ linux-2.6.32/arch/x86/mm/srat_64.c @@ -229,9 +229,11 @@ printk(KERN_ERR "SRAT: Hotplug zone not continuous. Partly ignored\n"); } - if (changed) + if (changed) { + node_set(node, cpu_nodes_parsed); printk(KERN_INFO "SRAT: hot plug zone found %Lx - %Lx\n", nd->start, nd->end); + } } /* Callback for parsing of the Proximity Domain <-> Memory Area mappings */ --- linux-2.6.32.orig/arch/x86/oprofile/backtrace.c +++ linux-2.6.32/arch/x86/oprofile/backtrace.c @@ -11,6 +11,8 @@ #include #include #include +#include + #include #include #include @@ -47,6 +49,42 @@ .address = backtrace_address, }; +/* from arch/x86/kernel/cpu/perf_event.c: */ + +/* + * best effort, GUP based copy_from_user() that assumes IRQ or NMI context + */ +static unsigned long +copy_from_user_nmi(void *to, const void __user *from, unsigned long n) +{ + unsigned long offset, addr = (unsigned long)from; + unsigned long size, len = 0; + struct page *page; + void *map; + int ret; + + do { + ret = __get_user_pages_fast(addr, 1, 0, &page); + if (!ret) + break; + + offset = addr & (PAGE_SIZE - 1); + size = min(PAGE_SIZE - offset, n - len); + + map = kmap_atomic(page, KM_USER0); + memcpy(to, map+offset, size); + kunmap_atomic(map, KM_USER0); + put_page(page); + + len += size; + to += size; + addr += size; + + } while (len < n); + + return len; +} + struct frame_head { struct frame_head *bp; unsigned long ret; @@ -54,12 +92,12 @@ static struct frame_head *dump_user_backtrace(struct frame_head *head) { + /* Also check accessibility of one struct frame_head beyond: */ struct frame_head bufhead[2]; + unsigned long bytes; - /* Also check accessibility of one struct frame_head beyond */ - if (!access_ok(VERIFY_READ, head, sizeof(bufhead))) - return NULL; - if (__copy_from_user_inatomic(bufhead, head, sizeof(bufhead))) + bytes = copy_from_user_nmi(bufhead, head, sizeof(bufhead)); + if (bytes != sizeof(bufhead)) return NULL; oprofile_add_trace(bufhead[0].ret); --- linux-2.6.32.orig/arch/x86/oprofile/init.c +++ linux-2.6.32/arch/x86/oprofile/init.c @@ -21,6 +21,7 @@ extern void op_nmi_exit(void); extern void x86_backtrace(struct pt_regs * const regs, unsigned int depth); +static int nmi_timer; int __init oprofile_arch_init(struct oprofile_operations *ops) { @@ -31,8 +32,9 @@ #ifdef CONFIG_X86_LOCAL_APIC ret = op_nmi_init(ops); #endif + nmi_timer = (ret != 0); #ifdef CONFIG_X86_IO_APIC - if (ret < 0) + if (nmi_timer) ret = op_nmi_timer_init(ops); #endif ops->backtrace = x86_backtrace; @@ -44,6 +46,7 @@ void oprofile_arch_exit(void) { #ifdef CONFIG_X86_LOCAL_APIC - op_nmi_exit(); + if (!nmi_timer) + op_nmi_exit(); #endif } --- linux-2.6.32.orig/arch/x86/oprofile/nmi_int.c +++ linux-2.6.32/arch/x86/oprofile/nmi_int.c @@ -95,7 +95,10 @@ static void nmi_cpu_start(void *dummy) { struct op_msrs const *msrs = &__get_cpu_var(cpu_msrs); - model->start(msrs); + if (!msrs->controls) + WARN_ON_ONCE(1); + else + model->start(msrs); } static int nmi_start(void) @@ -107,7 +110,10 @@ static void nmi_cpu_stop(void *dummy) { struct op_msrs const *msrs = &__get_cpu_var(cpu_msrs); - model->stop(msrs); + if (!msrs->controls) + WARN_ON_ONCE(1); + else + model->stop(msrs); } static void nmi_stop(void) @@ -159,7 +165,7 @@ for_each_possible_cpu(i) { per_cpu(cpu_msrs, i).multiplex = - kmalloc(multiplex_size, GFP_KERNEL); + kzalloc(multiplex_size, GFP_KERNEL); if (!per_cpu(cpu_msrs, i).multiplex) return 0; } @@ -179,7 +185,6 @@ if (counter_config[i].enabled) { multiplex[i].saved = -(u64)counter_config[i].count; } else { - multiplex[i].addr = 0; multiplex[i].saved = 0; } } @@ -189,25 +194,27 @@ static void nmi_cpu_save_mpx_registers(struct op_msrs *msrs) { + struct op_msr *counters = msrs->counters; struct op_msr *multiplex = msrs->multiplex; int i; for (i = 0; i < model->num_counters; ++i) { int virt = op_x86_phys_to_virt(i); - if (multiplex[virt].addr) - rdmsrl(multiplex[virt].addr, multiplex[virt].saved); + if (counters[i].addr) + rdmsrl(counters[i].addr, multiplex[virt].saved); } } static void nmi_cpu_restore_mpx_registers(struct op_msrs *msrs) { + struct op_msr *counters = msrs->counters; struct op_msr *multiplex = msrs->multiplex; int i; for (i = 0; i < model->num_counters; ++i) { int virt = op_x86_phys_to_virt(i); - if (multiplex[virt].addr) - wrmsrl(multiplex[virt].addr, multiplex[virt].saved); + if (counters[i].addr) + wrmsrl(counters[i].addr, multiplex[virt].saved); } } @@ -222,7 +229,7 @@ /* move to next set */ si += model->num_counters; - if ((si > model->num_virt_counters) || (counter_config[si].count == 0)) + if ((si >= model->num_virt_counters) || (counter_config[si].count == 0)) per_cpu(switch_index, cpu) = 0; else per_cpu(switch_index, cpu) = si; @@ -303,11 +310,11 @@ int i; for_each_possible_cpu(i) { - per_cpu(cpu_msrs, i).counters = kmalloc(counters_size, + per_cpu(cpu_msrs, i).counters = kzalloc(counters_size, GFP_KERNEL); if (!per_cpu(cpu_msrs, i).counters) return 0; - per_cpu(cpu_msrs, i).controls = kmalloc(controls_size, + per_cpu(cpu_msrs, i).controls = kzalloc(controls_size, GFP_KERNEL); if (!per_cpu(cpu_msrs, i).controls) return 0; @@ -511,8 +518,13 @@ int error; error = sysdev_class_register(&oprofile_sysclass); - if (!error) - error = sysdev_register(&device_oprofile); + if (error) + return error; + + error = sysdev_register(&device_oprofile); + if (error) + sysdev_class_unregister(&oprofile_sysclass); + return error; } @@ -523,8 +535,10 @@ } #else -#define init_sysfs() do { } while (0) -#define exit_sysfs() do { } while (0) + +static inline int init_sysfs(void) { return 0; } +static inline void exit_sysfs(void) { } + #endif /* CONFIG_PM */ static int __init p4_init(char **cpu_type) @@ -577,6 +591,18 @@ if (force_arch_perfmon && cpu_has_arch_perfmon) return 0; + /* + * Documentation on identifying Intel processors by CPU family + * and model can be found in the Intel Software Developer's + * Manuals (SDM): + * + * http://www.intel.com/products/processor/manuals/ + * + * As of May 2010 the documentation for this was in the: + * "Intel 64 and IA-32 Architectures Software Developer's + * Manual Volume 3B: System Programming Guide", "Table B-1 + * CPUID Signature Values of DisplayFamily_DisplayModel". + */ switch (cpu_model) { case 0 ... 2: *cpu_type = "i386/ppro"; @@ -595,14 +621,19 @@ case 14: *cpu_type = "i386/core"; break; - case 15: case 23: + case 0x0f: + case 0x16: + case 0x17: + case 0x1d: *cpu_type = "i386/core_2"; break; - case 26: + case 0x1a: + case 0x1e: + case 0x2e: spec = &op_arch_perfmon_spec; *cpu_type = "i386/core_i7"; break; - case 28: + case 0x1c: *cpu_type = "i386/atom"; break; default: @@ -624,6 +655,8 @@ char *cpu_type = NULL; int ret = 0; + using_nmi = 0; + if (!cpu_has_apic) return -ENODEV; @@ -706,7 +739,10 @@ mux_init(ops); - init_sysfs(); + ret = init_sysfs(); + if (ret) + return ret; + using_nmi = 1; printk(KERN_INFO "oprofile: using NMI interrupt.\n"); return 0; @@ -714,12 +750,12 @@ void op_nmi_exit(void) { - if (using_nmi) { - exit_sysfs(); + if (!using_nmi) + return; + exit_sysfs(); #ifdef CONFIG_SMP - unregister_cpu_notifier(&oprofile_cpu_nb); + unregister_cpu_notifier(&oprofile_cpu_nb); #endif - } if (model->exit) model->exit(); } --- linux-2.6.32.orig/arch/x86/oprofile/op_model_amd.c +++ linux-2.6.32/arch/x86/oprofile/op_model_amd.c @@ -76,19 +76,6 @@ #ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX -static void op_mux_fill_in_addresses(struct op_msrs * const msrs) -{ - int i; - - for (i = 0; i < NUM_VIRT_COUNTERS; i++) { - int hw_counter = op_x86_virt_to_phys(i); - if (reserve_perfctr_nmi(MSR_K7_PERFCTR0 + i)) - msrs->multiplex[i].addr = MSR_K7_PERFCTR0 + hw_counter; - else - msrs->multiplex[i].addr = 0; - } -} - static void op_mux_switch_ctrl(struct op_x86_model_spec const *model, struct op_msrs const * const msrs) { @@ -98,7 +85,7 @@ /* enable active counters */ for (i = 0; i < NUM_COUNTERS; ++i) { int virt = op_x86_phys_to_virt(i); - if (!counter_config[virt].enabled) + if (!reset_value[virt]) continue; rdmsrl(msrs->controls[i].addr, val); val &= model->reserved; @@ -107,10 +94,6 @@ } } -#else - -static inline void op_mux_fill_in_addresses(struct op_msrs * const msrs) { } - #endif /* functions for op_amd_spec */ @@ -122,18 +105,12 @@ for (i = 0; i < NUM_COUNTERS; i++) { if (reserve_perfctr_nmi(MSR_K7_PERFCTR0 + i)) msrs->counters[i].addr = MSR_K7_PERFCTR0 + i; - else - msrs->counters[i].addr = 0; } for (i = 0; i < NUM_CONTROLS; i++) { if (reserve_evntsel_nmi(MSR_K7_EVNTSEL0 + i)) msrs->controls[i].addr = MSR_K7_EVNTSEL0 + i; - else - msrs->controls[i].addr = 0; } - - op_mux_fill_in_addresses(msrs); } static void op_amd_setup_ctrs(struct op_x86_model_spec const *model, @@ -144,7 +121,8 @@ /* setup reset_value */ for (i = 0; i < NUM_VIRT_COUNTERS; ++i) { - if (counter_config[i].enabled) + if (counter_config[i].enabled + && msrs->counters[op_x86_virt_to_phys(i)].addr) reset_value[i] = counter_config[i].count; else reset_value[i] = 0; @@ -169,9 +147,7 @@ /* enable active counters */ for (i = 0; i < NUM_COUNTERS; ++i) { int virt = op_x86_phys_to_virt(i); - if (!counter_config[virt].enabled) - continue; - if (!msrs->counters[i].addr) + if (!reset_value[virt]) continue; /* setup counter registers */ @@ -405,16 +381,6 @@ return 1; } -#ifdef CONFIG_NUMA - /* Sanity check */ - /* Works only for 64bit with proper numa implementation. */ - if (nodes != num_possible_nodes()) { - printk(KERN_DEBUG "Failed to setup CPU node(s) for IBS, " - "found: %d, expected %d", - nodes, num_possible_nodes()); - return 1; - } -#endif return 0; } --- linux-2.6.32.orig/arch/x86/oprofile/op_model_p4.c +++ linux-2.6.32/arch/x86/oprofile/op_model_p4.c @@ -394,12 +394,6 @@ setup_num_counters(); stag = get_stagger(); - /* initialize some registers */ - for (i = 0; i < num_counters; ++i) - msrs->counters[i].addr = 0; - for (i = 0; i < num_controls; ++i) - msrs->controls[i].addr = 0; - /* the counter & cccr registers we pay attention to */ for (i = 0; i < num_counters; ++i) { addr = p4_counters[VIRT_CTR(stag, i)].counter_address; --- linux-2.6.32.orig/arch/x86/oprofile/op_model_ppro.c +++ linux-2.6.32/arch/x86/oprofile/op_model_ppro.c @@ -37,15 +37,11 @@ for (i = 0; i < num_counters; i++) { if (reserve_perfctr_nmi(MSR_P6_PERFCTR0 + i)) msrs->counters[i].addr = MSR_P6_PERFCTR0 + i; - else - msrs->counters[i].addr = 0; } for (i = 0; i < num_counters; i++) { if (reserve_evntsel_nmi(MSR_P6_EVNTSEL0 + i)) msrs->controls[i].addr = MSR_P6_EVNTSEL0 + i; - else - msrs->controls[i].addr = 0; } } @@ -57,7 +53,7 @@ int i; if (!reset_value) { - reset_value = kmalloc(sizeof(reset_value[0]) * num_counters, + reset_value = kzalloc(sizeof(reset_value[0]) * num_counters, GFP_ATOMIC); if (!reset_value) return; --- linux-2.6.32.orig/arch/x86/pci/i386.c +++ linux-2.6.32/arch/x86/pci/i386.c @@ -282,6 +282,15 @@ return -EINVAL; prot = pgprot_val(vma->vm_page_prot); + + /* + * Return error if pat is not enabled and write_combine is requested. + * Caller can followup with UC MINUS request and add a WC mtrr if there + * is a free mtrr slot. + */ + if (!pat_enabled && write_combine) + return -EINVAL; + if (pat_enabled && write_combine) prot |= _PAGE_CACHE_WC; else if (pat_enabled || boot_cpu_data.x86 > 3) --- linux-2.6.32.orig/arch/x86/pci/irq.c +++ linux-2.6.32/arch/x86/pci/irq.c @@ -590,6 +590,8 @@ case PCI_DEVICE_ID_INTEL_ICH10_1: case PCI_DEVICE_ID_INTEL_ICH10_2: case PCI_DEVICE_ID_INTEL_ICH10_3: + case PCI_DEVICE_ID_INTEL_CPT_LPC1: + case PCI_DEVICE_ID_INTEL_CPT_LPC2: r->name = "PIIX/ICH"; r->get = pirq_piix_get; r->set = pirq_piix_set; --- linux-2.6.32.orig/arch/x86/power/cpu.c +++ linux-2.6.32/arch/x86/power/cpu.c @@ -104,12 +104,15 @@ ctxt->cr4 = read_cr4(); ctxt->cr8 = read_cr8(); #endif + ctxt->misc_enable_saved = !rdmsrl_safe(MSR_IA32_MISC_ENABLE, + &ctxt->misc_enable); } /* Needed by apm.c */ void save_processor_state(void) { __save_processor_state(&saved_context); + save_sched_clock_state(); } #ifdef CONFIG_X86_32 EXPORT_SYMBOL(save_processor_state); @@ -176,6 +179,8 @@ */ static void __restore_processor_state(struct saved_context *ctxt) { + if (ctxt->misc_enable_saved) + wrmsrl(MSR_IA32_MISC_ENABLE, ctxt->misc_enable); /* * control registers */ @@ -249,6 +254,7 @@ void restore_processor_state(void) { __restore_processor_state(&saved_context); + restore_sched_clock_state(); } #ifdef CONFIG_X86_32 EXPORT_SYMBOL(restore_processor_state); --- linux-2.6.32.orig/arch/x86/power/hibernate_asm_32.S +++ linux-2.6.32/arch/x86/power/hibernate_asm_32.S @@ -27,10 +27,17 @@ ret ENTRY(restore_image) + movl mmu_cr4_features, %ecx movl resume_pg_dir, %eax subl $__PAGE_OFFSET, %eax movl %eax, %cr3 + jecxz 1f # cr4 Pentium and higher, skip if zero + andl $~(X86_CR4_PGE), %ecx + movl %ecx, %cr4; # turn off PGE + movl %cr3, %eax; # flush TLB + movl %eax, %cr3 +1: movl restore_pblist, %edx .p2align 4,,7 @@ -54,16 +61,8 @@ movl $swapper_pg_dir, %eax subl $__PAGE_OFFSET, %eax movl %eax, %cr3 - /* Flush TLB, including "global" things (vmalloc) */ movl mmu_cr4_features, %ecx jecxz 1f # cr4 Pentium and higher, skip if zero - movl %ecx, %edx - andl $~(X86_CR4_PGE), %edx - movl %edx, %cr4; # turn off PGE -1: - movl %cr3, %eax; # flush TLB - movl %eax, %cr3 - jecxz 1f # cr4 Pentium and higher, skip if zero movl %ecx, %cr4; # turn PGE back on 1: --- linux-2.6.32.orig/arch/x86/vdso/Makefile +++ linux-2.6.32/arch/x86/vdso/Makefile @@ -25,7 +25,7 @@ export CPPFLAGS_vdso.lds += -P -C -VDSO_LDFLAGS_vdso.lds = -m elf_x86_64 -Wl,-soname=linux-vdso.so.1 \ +VDSO_LDFLAGS_vdso.lds = -m64 -Wl,-soname=linux-vdso.so.1 \ -Wl,-z,max-page-size=4096 -Wl,-z,common-page-size=4096 $(obj)/vdso.o: $(src)/vdso.S $(obj)/vdso.so @@ -69,7 +69,7 @@ vdso32-images = $(vdso32.so-y:%=vdso32-%.so) CPPFLAGS_vdso32.lds = $(CPPFLAGS_vdso.lds) -VDSO_LDFLAGS_vdso32.lds = -m elf_i386 -Wl,-soname=linux-gate.so.1 +VDSO_LDFLAGS_vdso32.lds = -m32 -Wl,-soname=linux-gate.so.1 # This makes sure the $(obj) subdirectory exists even though vdso32/ # is not a kbuild sub-make subdirectory. --- linux-2.6.32.orig/arch/x86/vdso/vdso32-setup.c +++ linux-2.6.32/arch/x86/vdso/vdso32-setup.c @@ -331,7 +331,7 @@ if (compat) addr = VDSO_HIGH_BASE; else { - addr = get_unmapped_area(NULL, 0, PAGE_SIZE, 0, 0); + addr = get_unmapped_area_prot(NULL, 0, PAGE_SIZE, 0, 0, 1); if (IS_ERR_VALUE(addr)) { ret = addr; goto up_fail; --- linux-2.6.32.orig/arch/x86/vdso/vdso32/sysenter.S +++ linux-2.6.32/arch/x86/vdso/vdso32/sysenter.S @@ -43,7 +43,7 @@ .space 7,0x90 /* 14: System call restart point is here! (SYSENTER_RETURN-2) */ - jmp .Lenter_kernel + int $0x80 /* 16: System call normal return point is here! */ VDSO32_SYSENTER_RETURN: /* Symbol used by sysenter.c via vdso32-syms.h */ pop %ebp --- linux-2.6.32.orig/arch/x86/xen/enlighten.c +++ linux-2.6.32/arch/x86/xen/enlighten.c @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -138,24 +139,23 @@ */ void xen_vcpu_restore(void) { - if (have_vcpu_info_placement) { - int cpu; + int cpu; - for_each_online_cpu(cpu) { - bool other_cpu = (cpu != smp_processor_id()); + for_each_online_cpu(cpu) { + bool other_cpu = (cpu != smp_processor_id()); - if (other_cpu && - HYPERVISOR_vcpu_op(VCPUOP_down, cpu, NULL)) - BUG(); + if (other_cpu && + HYPERVISOR_vcpu_op(VCPUOP_down, cpu, NULL)) + BUG(); - xen_vcpu_setup(cpu); + xen_setup_runstate_info(cpu); - if (other_cpu && - HYPERVISOR_vcpu_op(VCPUOP_up, cpu, NULL)) - BUG(); - } + if (have_vcpu_info_placement) + xen_vcpu_setup(cpu); - BUG_ON(!have_vcpu_info_placement); + if (other_cpu && + HYPERVISOR_vcpu_op(VCPUOP_up, cpu, NULL)) + BUG(); } } @@ -332,6 +332,24 @@ xen_mc_issue(PARAVIRT_LAZY_CPU); } +#ifdef CONFIG_X86_32 +static void xen_load_user_cs_desc(int cpu, struct mm_struct *mm) +{ + void *gdt; + xmaddr_t mgdt; + u64 descriptor; + struct desc_struct user_cs; + + gdt = &get_cpu_gdt_table(cpu)[GDT_ENTRY_DEFAULT_USER_CS]; + mgdt = virt_to_machine(gdt); + + user_cs = mm->context.user_cs; + descriptor = (u64) user_cs.a | ((u64) user_cs.b) << 32; + + HYPERVISOR_update_descriptor(mgdt.maddr, descriptor); +} +#endif /*CONFIG_X86_32*/ + static void xen_load_gdt(const struct desc_ptr *dtr) { unsigned long va = dtr->address; @@ -924,7 +942,7 @@ }; static const struct pv_time_ops xen_time_ops __initdata = { - .sched_clock = xen_sched_clock, + .sched_clock = xen_clocksource_read, }; static const struct pv_cpu_ops xen_cpu_ops __initdata = { @@ -958,6 +976,9 @@ .load_tr_desc = paravirt_nop, .set_ldt = xen_set_ldt, +#ifdef CONFIG_X86_32 + .load_user_cs_desc = xen_load_user_cs_desc, +#endif /*CONFIG_X86_32*/ .load_gdt = xen_load_gdt, .load_idt = xen_load_idt, .load_tls = xen_load_tls, @@ -997,10 +1018,6 @@ { struct sched_shutdown r = { .reason = reason }; -#ifdef CONFIG_SMP - smp_send_stop(); -#endif - if (HYPERVISOR_sched_op(SCHEDOP_shutdown, &r)) BUG(); } @@ -1093,6 +1110,12 @@ __supported_pte_mask |= _PAGE_IOMAP; + /* + * Prevent page tables from being allocated in highmem, even + * if CONFIG_HIGHPTE is enabled. + */ + __userpte_alloc_gfp &= ~__GFP_HIGHMEM; + #ifdef CONFIG_X86_64 /* Work out if we support NX */ check_efer(); @@ -1182,6 +1205,8 @@ xen_raw_console_write("about to get started...\n"); + xen_setup_runstate_info(0); + /* Start the world */ #ifdef CONFIG_X86_32 i386_start_kernel(); --- linux-2.6.32.orig/arch/x86/xen/mmu.c +++ linux-2.6.32/arch/x86/xen/mmu.c @@ -185,7 +185,7 @@ } /* Build the parallel p2m_top_mfn structures */ -static void __init xen_build_mfn_list_list(void) +void xen_build_mfn_list_list(void) { unsigned pfn, idx; @@ -1141,7 +1141,7 @@ active_mm = percpu_read(cpu_tlbstate.active_mm); - if (active_mm == mm) + if (active_mm == mm && percpu_read(cpu_tlbstate.state) != TLBSTATE_OK) leave_mm(smp_processor_id()); /* If this cpu still has a stale cr3 reference, then make sure @@ -1432,14 +1432,15 @@ { pgprot_t prot = PAGE_KERNEL; + /* + * We disable highmem allocations for page tables so we should never + * see any calls to kmap_atomic_pte on a highmem page. + */ + BUG_ON(PageHighMem(page)); + if (PagePinned(page)) prot = PAGE_KERNEL_RO; - if (0 && PageHighMem(page)) - printk("mapping highpte %lx type %d prot %s\n", - page_to_pfn(page), type, - (unsigned long)pgprot_val(prot) & _PAGE_RW ? "WRITE" : "READ"); - return kmap_atomic_prot(page, type, prot); } #endif @@ -1657,8 +1658,10 @@ for (pteidx = 0; pteidx < PTRS_PER_PTE; pteidx++, pfn++) { pte_t pte; +#ifdef CONFIG_X86_32 if (pfn > max_pfn_mapped) max_pfn_mapped = pfn; +#endif if (!pte_none(pte_page[pteidx])) continue; @@ -1703,6 +1706,12 @@ pud_t *l3; pmd_t *l2; + /* max_pfn_mapped is the last pfn mapped in the initial memory + * mappings. Considering that on Xen after the kernel mappings we + * have the mappings of some pages that don't exist in pfn space, we + * set max_pfn_mapped to the last real pfn mapped. */ + max_pfn_mapped = PFN_DOWN(__pa(xen_start_info->mfn_list)); + /* Zap identity mapping */ init_level4_pgt[0] = __pgd(0); --- linux-2.6.32.orig/arch/x86/xen/multicalls.c +++ linux-2.6.32/arch/x86/xen/multicalls.c @@ -189,10 +189,10 @@ unsigned argidx = roundup(b->argidx, sizeof(u64)); BUG_ON(preemptible()); - BUG_ON(b->argidx > MC_ARGS); + BUG_ON(b->argidx >= MC_ARGS); if (b->mcidx == MC_BATCH || - (argidx + args) > MC_ARGS) { + (argidx + args) >= MC_ARGS) { mc_stats_flush(b->mcidx == MC_BATCH ? FL_SLOTS : FL_ARGS); xen_mc_flush(); argidx = roundup(b->argidx, sizeof(u64)); @@ -206,7 +206,7 @@ ret.args = &b->args[argidx]; b->argidx = argidx + args; - BUG_ON(b->argidx > MC_ARGS); + BUG_ON(b->argidx >= MC_ARGS); return ret; } @@ -216,7 +216,7 @@ struct multicall_space ret = { NULL, NULL }; BUG_ON(preemptible()); - BUG_ON(b->argidx > MC_ARGS); + BUG_ON(b->argidx >= MC_ARGS); if (b->mcidx == 0) return ret; @@ -224,14 +224,14 @@ if (b->entries[b->mcidx - 1].op != op) return ret; - if ((b->argidx + size) > MC_ARGS) + if ((b->argidx + size) >= MC_ARGS) return ret; ret.mc = &b->entries[b->mcidx - 1]; ret.args = &b->args[b->argidx]; b->argidx += size; - BUG_ON(b->argidx > MC_ARGS); + BUG_ON(b->argidx >= MC_ARGS); return ret; } --- linux-2.6.32.orig/arch/x86/xen/smp.c +++ linux-2.6.32/arch/x86/xen/smp.c @@ -30,6 +30,7 @@ #include #include +#include #include "xen-ops.h" #include "mmu.h" @@ -179,6 +180,15 @@ { unsigned cpu; + if (skip_ioapic_setup) { + char *m = (max_cpus == 0) ? + "The nosmp parameter is incompatible with Xen; " \ + "use Xen dom0_max_vcpus=1 parameter" : + "The noapic parameter is incompatible with Xen"; + + xen_raw_printk(m); + panic(m); + } xen_init_lock_cpu(0); smp_store_cpu_info(0); @@ -295,6 +305,7 @@ (unsigned long)task_stack_page(idle) - KERNEL_STACK_OFFSET + THREAD_SIZE; #endif + xen_setup_runstate_info(cpu); xen_setup_timer(cpu); xen_init_lock_cpu(cpu); @@ -395,9 +406,9 @@ BUG(); } -static void xen_smp_send_stop(void) +static void xen_stop_other_cpus(int wait) { - smp_call_function(stop_self, NULL, 0); + smp_call_function(stop_self, NULL, wait); } static void xen_smp_send_reschedule(int cpu) @@ -465,7 +476,7 @@ .cpu_disable = xen_cpu_disable, .play_dead = xen_play_dead, - .smp_send_stop = xen_smp_send_stop, + .stop_other_cpus = xen_stop_other_cpus, .smp_send_reschedule = xen_smp_send_reschedule, .send_call_func_ipi = xen_smp_send_call_function_ipi, --- linux-2.6.32.orig/arch/x86/xen/suspend.c +++ linux-2.6.32/arch/x86/xen/suspend.c @@ -1,4 +1,5 @@ #include +#include #include #include @@ -27,6 +28,8 @@ void xen_post_suspend(int suspend_cancelled) { + xen_build_mfn_list_list(); + xen_setup_shared_info(); if (suspend_cancelled) { @@ -44,7 +47,19 @@ } +static void xen_vcpu_notify_restore(void *data) +{ + unsigned long reason = (unsigned long)data; + + /* Boot processor notified via generic timekeeping_resume() */ + if ( smp_processor_id() == 0) + return; + + clockevents_notify(reason, NULL); +} + void xen_arch_resume(void) { - /* nothing */ + on_each_cpu(xen_vcpu_notify_restore, + (void *)CLOCK_EVT_NOTIFY_RESUME, 1); } --- linux-2.6.32.orig/arch/x86/xen/time.c +++ linux-2.6.32/arch/x86/xen/time.c @@ -100,7 +100,7 @@ return per_cpu(runstate, vcpu).state == RUNSTATE_runnable; } -static void setup_runstate_info(int cpu) +void xen_setup_runstate_info(int cpu) { struct vcpu_register_runstate_memory_area area; @@ -154,45 +154,6 @@ account_idle_ticks(ticks); } -/* - * Xen sched_clock implementation. Returns the number of unstolen - * nanoseconds, which is nanoseconds the VCPU spent in RUNNING+BLOCKED - * states. - */ -unsigned long long xen_sched_clock(void) -{ - struct vcpu_runstate_info state; - cycle_t now; - u64 ret; - s64 offset; - - /* - * Ideally sched_clock should be called on a per-cpu basis - * anyway, so preempt should already be disabled, but that's - * not current practice at the moment. - */ - preempt_disable(); - - now = xen_clocksource_read(); - - get_runstate_snapshot(&state); - - WARN_ON(state.state != RUNSTATE_running); - - offset = now - state.state_entry_time; - if (offset < 0) - offset = 0; - - ret = state.time[RUNSTATE_blocked] + - state.time[RUNSTATE_running] + - offset; - - preempt_enable(); - - return ret; -} - - /* Get the TSC speed from Xen */ unsigned long xen_tsc_khz(void) { @@ -434,7 +395,9 @@ name = ""; irq = bind_virq_to_irqhandler(VIRQ_TIMER, cpu, xen_timer_interrupt, - IRQF_DISABLED|IRQF_PERCPU|IRQF_NOBALANCING, + IRQF_DISABLED|IRQF_PERCPU| + IRQF_NOBALANCING|IRQF_TIMER| + IRQF_FORCE_RESUME, name, NULL); evt = &per_cpu(xen_clock_events, cpu); @@ -442,8 +405,6 @@ evt->cpumask = cpumask_of(cpu); evt->irq = irq; - - setup_runstate_info(cpu); } void xen_teardown_timer(int cpu) @@ -465,6 +426,8 @@ { int cpu; + pvclock_resume(); + if (xen_clockevent != &xen_vcpuop_clockevent) return; @@ -494,6 +457,7 @@ setup_force_cpu_cap(X86_FEATURE_TSC); + xen_setup_runstate_info(cpu); xen_setup_timer(cpu); xen_setup_cpu_clockevents(); } --- linux-2.6.32.orig/arch/x86/xen/xen-asm_32.S +++ linux-2.6.32/arch/x86/xen/xen-asm_32.S @@ -113,11 +113,13 @@ /* * If there's something pending, mask events again so we can - * jump back into xen_hypervisor_callback + * jump back into xen_hypervisor_callback. Otherwise do not + * touch XEN_vcpu_info_mask. */ - sete XEN_vcpu_info_mask(%eax) + jne 1f + movb $1, XEN_vcpu_info_mask(%eax) - popl %eax +1: popl %eax /* * From this point on the registers are restored and the stack --- linux-2.6.32.orig/arch/x86/xen/xen-asm_64.S +++ linux-2.6.32/arch/x86/xen/xen-asm_64.S @@ -96,7 +96,7 @@ pushq $__USER32_CS pushq %rcx - pushq $VGCF_in_syscall + pushq $0 1: jmp hypercall_iret ENDPATCH(xen_sysret32) RELOC(xen_sysret32, 1b+1) @@ -151,7 +151,7 @@ ENTRY(xen_sysenter_target) lea 16(%rsp), %rsp /* strip %rcx, %r11 */ mov $-ENOSYS, %rax - pushq $VGCF_in_syscall + pushq $0 jmp hypercall_iret ENDPROC(xen_syscall32_target) ENDPROC(xen_sysenter_target) --- linux-2.6.32.orig/arch/x86/xen/xen-ops.h +++ linux-2.6.32/arch/x86/xen/xen-ops.h @@ -25,6 +25,7 @@ void xen_setup_mfn_list_list(void); void xen_setup_shared_info(void); +void xen_build_mfn_list_list(void); void xen_setup_machphys_mapping(void); pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd, unsigned long max_pfn); void xen_ident_map_ISA(void); @@ -41,6 +42,7 @@ void xen_init_irq_ops(void); void xen_setup_timer(int cpu); +void xen_setup_runstate_info(int cpu); void xen_teardown_timer(int cpu); cycle_t xen_clocksource_read(void); void xen_setup_cpu_clockevents(void); --- linux-2.6.32.orig/arch/xtensa/include/asm/cache.h +++ linux-2.6.32/arch/xtensa/include/asm/cache.h @@ -29,5 +29,6 @@ # define CACHE_WAY_SIZE ICACHE_WAY_SIZE #endif +#define ARCH_KMALLOC_MINALIGN L1_CACHE_BYTES #endif /* _XTENSA_CACHE_H */ --- linux-2.6.32.orig/arch/xtensa/include/asm/syscall.h +++ linux-2.6.32/arch/xtensa/include/asm/syscall.h @@ -13,8 +13,6 @@ asmlinkage long xtensa_execve(char*, char**, char**, struct pt_regs*); asmlinkage long xtensa_clone(unsigned long, unsigned long, struct pt_regs*); asmlinkage long xtensa_pipe(int __user *); -asmlinkage long xtensa_mmap2(unsigned long, unsigned long, unsigned long, - unsigned long, unsigned long, unsigned long); asmlinkage long xtensa_ptrace(long, long, long, long); asmlinkage long xtensa_sigreturn(struct pt_regs*); asmlinkage long xtensa_rt_sigreturn(struct pt_regs*); --- linux-2.6.32.orig/arch/xtensa/include/asm/unistd.h +++ linux-2.6.32/arch/xtensa/include/asm/unistd.h @@ -189,7 +189,7 @@ /* File Map / Shared Memory Operations */ #define __NR_mmap2 80 -__SYSCALL( 80, xtensa_mmap2, 6) +__SYSCALL( 80, sys_mmap_pgoff, 6) #define __NR_munmap 81 __SYSCALL( 81, sys_munmap, 2) #define __NR_mprotect 82 --- linux-2.6.32.orig/arch/xtensa/kernel/ptrace.c +++ linux-2.6.32/arch/xtensa/kernel/ptrace.c @@ -136,6 +136,9 @@ elf_xtregs_t *xtregs = uregs; int ret = 0; + if (!access_ok(VERIFY_READ, uregs, sizeof(elf_xtregs_t))) + return -EFAULT; + #if XTENSA_HAVE_COPROCESSORS /* Flush all coprocessors before we overwrite them. */ coprocessor_flush_all(ti); --- linux-2.6.32.orig/arch/xtensa/kernel/syscall.c +++ linux-2.6.32/arch/xtensa/kernel/syscall.c @@ -57,31 +57,6 @@ return error; } - -asmlinkage long xtensa_mmap2(unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, - unsigned long fd, unsigned long pgoff) -{ - int error = -EBADF; - struct file * file = NULL; - - flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (!(flags & MAP_ANONYMOUS)) { - file = fget(fd); - if (!file) - goto out; - } - - down_write(¤t->mm->mmap_sem); - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); - up_write(¤t->mm->mmap_sem); - - if (file) - fput(file); -out: - return error; -} - asmlinkage long xtensa_shmat(int shmid, char __user *shmaddr, int shmflg) { unsigned long ret; --- linux-2.6.32.orig/block/blk-ioc.c +++ linux-2.6.32/block/blk-ioc.c @@ -66,22 +66,22 @@ } /* Called by the exitting task */ -void exit_io_context(void) +void exit_io_context(struct task_struct *task) { struct io_context *ioc; - task_lock(current); - ioc = current->io_context; - current->io_context = NULL; - task_unlock(current); + task_lock(task); + ioc = task->io_context; + task->io_context = NULL; + task_unlock(task); if (atomic_dec_and_test(&ioc->nr_tasks)) { if (ioc->aic && ioc->aic->exit) ioc->aic->exit(ioc->aic); cfq_exit(ioc); - put_io_context(ioc); } + put_io_context(ioc); } struct io_context *alloc_io_context(gfp_t gfp_flags, int node) --- linux-2.6.32.orig/block/blk-merge.c +++ linux-2.6.32/block/blk-merge.c @@ -22,7 +22,7 @@ return 0; fbio = bio; - cluster = test_bit(QUEUE_FLAG_CLUSTER, &q->queue_flags); + cluster = blk_queue_cluster(q); seg_size = 0; phys_size = nr_phys_segs = 0; for_each_bio(bio) { @@ -88,7 +88,7 @@ static int blk_phys_contig_segment(struct request_queue *q, struct bio *bio, struct bio *nxt) { - if (!test_bit(QUEUE_FLAG_CLUSTER, &q->queue_flags)) + if (!blk_queue_cluster(q)) return 0; if (bio->bi_seg_back_size + nxt->bi_seg_front_size > @@ -124,7 +124,7 @@ int nsegs, cluster; nsegs = 0; - cluster = test_bit(QUEUE_FLAG_CLUSTER, &q->queue_flags); + cluster = blk_queue_cluster(q); /* * for each bio in rq --- linux-2.6.32.orig/block/blk-map.c +++ linux-2.6.32/block/blk-map.c @@ -201,6 +201,9 @@ for (i = 0; i < iov_count; i++) { unsigned long uaddr = (unsigned long)iov[i].iov_base; + if (!iov[i].iov_len) + return -EINVAL; + if (uaddr & queue_dma_alignment(q)) { unaligned = 1; break; --- linux-2.6.32.orig/block/blk-settings.c +++ linux-2.6.32/block/blk-settings.c @@ -8,6 +8,7 @@ #include #include /* for max_pfn/max_low_pfn */ #include +#include #include "blk.h" @@ -102,7 +103,7 @@ lim->alignment_offset = 0; lim->io_opt = 0; lim->misaligned = 0; - lim->no_cluster = 0; + lim->cluster = 1; } EXPORT_SYMBOL(blk_set_default_limits); @@ -351,7 +352,7 @@ * hardware can operate on without reverting to read-modify-write * operations. */ -void blk_queue_physical_block_size(struct request_queue *q, unsigned short size) +void blk_queue_physical_block_size(struct request_queue *q, unsigned int size) { q->limits.physical_block_size = size; @@ -476,32 +477,36 @@ void blk_queue_stack_limits(struct request_queue *t, struct request_queue *b) { blk_stack_limits(&t->limits, &b->limits, 0); - - if (!t->queue_lock) - WARN_ON_ONCE(1); - else if (!test_bit(QUEUE_FLAG_CLUSTER, &b->queue_flags)) { - unsigned long flags; - spin_lock_irqsave(t->queue_lock, flags); - queue_flag_clear(QUEUE_FLAG_CLUSTER, t); - spin_unlock_irqrestore(t->queue_lock, flags); - } } EXPORT_SYMBOL(blk_queue_stack_limits); /** * blk_stack_limits - adjust queue_limits for stacked devices - * @t: the stacking driver limits (top) - * @b: the underlying queue limits (bottom) + * @t: the stacking driver limits (top device) + * @b: the underlying queue limits (bottom, component device) * @offset: offset to beginning of data within component device * * Description: - * Merges two queue_limit structs. Returns 0 if alignment didn't - * change. Returns -1 if adding the bottom device caused - * misalignment. + * This function is used by stacking drivers like MD and DM to ensure + * that all component devices have compatible block sizes and + * alignments. The stacking driver must provide a queue_limits + * struct (top) and then iteratively call the stacking function for + * all component (bottom) devices. The stacking function will + * attempt to combine the values and ensure proper alignment. + * + * Returns 0 if the top and bottom queue_limits are compatible. The + * top device's block sizes and alignment offsets may be adjusted to + * ensure alignment with the bottom device. If no compatible sizes + * and alignments exist, -1 is returned and the resulting top + * queue_limits will have the misaligned flag set to indicate that + * the alignment_offset is undefined. */ int blk_stack_limits(struct queue_limits *t, struct queue_limits *b, sector_t offset) { + sector_t alignment; + unsigned int top, bottom, ret = 0; + t->max_sectors = min_not_zero(t->max_sectors, b->max_sectors); t->max_hw_sectors = min_not_zero(t->max_hw_sectors, b->max_hw_sectors); t->bounce_pfn = min_not_zero(t->bounce_pfn, b->bounce_pfn); @@ -518,6 +523,26 @@ t->max_segment_size = min_not_zero(t->max_segment_size, b->max_segment_size); + t->misaligned |= b->misaligned; + + alignment = queue_limit_alignment_offset(b, offset); + + /* Bottom device has different alignment. Check that it is + * compatible with the current top alignment. + */ + if (t->alignment_offset != alignment) { + + top = max(t->physical_block_size, t->io_min) + + t->alignment_offset; + bottom = max(b->physical_block_size, b->io_min) + alignment; + + /* Verify that top and bottom intervals line up */ + if (max(top, bottom) & (min(top, bottom) - 1)) { + t->misaligned = 1; + ret = -1; + } + } + t->logical_block_size = max(t->logical_block_size, b->logical_block_size); @@ -525,41 +550,72 @@ b->physical_block_size); t->io_min = max(t->io_min, b->io_min); - t->no_cluster |= b->no_cluster; + t->io_opt = lcm(t->io_opt, b->io_opt); - /* Bottom device offset aligned? */ - if (offset && - (offset & (b->physical_block_size - 1)) != b->alignment_offset) { + t->cluster &= b->cluster; + + /* Physical block size a multiple of the logical block size? */ + if (t->physical_block_size & (t->logical_block_size - 1)) { + t->physical_block_size = t->logical_block_size; t->misaligned = 1; - return -1; + ret = -1; } - /* If top has no alignment offset, inherit from bottom */ - if (!t->alignment_offset) - t->alignment_offset = - b->alignment_offset & (b->physical_block_size - 1); + /* Minimum I/O a multiple of the physical block size? */ + if (t->io_min & (t->physical_block_size - 1)) { + t->io_min = t->physical_block_size; + t->misaligned = 1; + ret = -1; + } - /* Top device aligned on logical block boundary? */ + /* Optimal I/O a multiple of the physical block size? */ + if (t->io_opt & (t->physical_block_size - 1)) { + t->io_opt = 0; + t->misaligned = 1; + ret = -1; + } + + /* Find lowest common alignment_offset */ + t->alignment_offset = lcm(t->alignment_offset, alignment) + & (max(t->physical_block_size, t->io_min) - 1); + + /* Verify that new alignment_offset is on a logical block boundary */ if (t->alignment_offset & (t->logical_block_size - 1)) { t->misaligned = 1; - return -1; + ret = -1; } - /* Find lcm() of optimal I/O size */ - if (t->io_opt && b->io_opt) - t->io_opt = (t->io_opt * b->io_opt) / gcd(t->io_opt, b->io_opt); - else if (b->io_opt) - t->io_opt = b->io_opt; - - /* Verify that optimal I/O size is a multiple of io_min */ - if (t->io_min && t->io_opt % t->io_min) - return -1; + /* Discard */ + t->max_discard_sectors = min_not_zero(t->max_discard_sectors, + b->max_discard_sectors); - return 0; + return ret; } EXPORT_SYMBOL(blk_stack_limits); /** + * bdev_stack_limits - adjust queue limits for stacked drivers + * @t: the stacking driver limits (top device) + * @bdev: the component block_device (bottom) + * @start: first data sector within component device + * + * Description: + * Merges queue limits for a top device and a block_device. Returns + * 0 if alignment didn't change. Returns -1 if adding the bottom + * device caused misalignment. + */ +int bdev_stack_limits(struct queue_limits *t, struct block_device *bdev, + sector_t start) +{ + struct request_queue *bq = bdev_get_queue(bdev); + + start += get_start_sect(bdev); + + return blk_stack_limits(t, &bq->limits, start << 9); +} +EXPORT_SYMBOL(bdev_stack_limits); + +/** * disk_stack_limits - adjust queue limits for stacked drivers * @disk: MD/DM gendisk (top) * @bdev: the underlying block device (bottom) @@ -587,17 +643,6 @@ printk(KERN_NOTICE "%s: Warning: Device %s is misaligned\n", top, bottom); } - - if (!t->queue_lock) - WARN_ON_ONCE(1); - else if (!test_bit(QUEUE_FLAG_CLUSTER, &b->queue_flags)) { - unsigned long flags; - - spin_lock_irqsave(t->queue_lock, flags); - if (!test_bit(QUEUE_FLAG_CLUSTER, &b->queue_flags)) - queue_flag_clear(QUEUE_FLAG_CLUSTER, t); - spin_unlock_irqrestore(t->queue_lock, flags); - } } EXPORT_SYMBOL(disk_stack_limits); --- linux-2.6.32.orig/block/blk-sysfs.c +++ linux-2.6.32/block/blk-sysfs.c @@ -440,8 +440,10 @@ return ret; ret = kobject_add(&q->kobj, kobject_get(&dev->kobj), "%s", "queue"); - if (ret < 0) + if (ret < 0) { + blk_trace_remove_sysfs(dev); return ret; + } kobject_uevent(&q->kobj, KOBJ_ADD); --- linux-2.6.32.orig/block/blk-timeout.c +++ linux-2.6.32/block/blk-timeout.c @@ -109,6 +109,7 @@ struct request_queue *q = (struct request_queue *) data; unsigned long flags, next = 0; struct request *rq, *tmp; + int next_set = 0; spin_lock_irqsave(q->queue_lock, flags); @@ -122,16 +123,13 @@ if (blk_mark_rq_complete(rq)) continue; blk_rq_timed_out(rq); - } else if (!next || time_after(next, rq->deadline)) + } else if (!next_set || time_after(next, rq->deadline)) { next = rq->deadline; + next_set = 1; + } } - /* - * next can never be 0 here with the list non-empty, since we always - * bump ->deadline to 1 so we can detect if the timer was ever added - * or not. See comment in blk_add_timer() - */ - if (next) + if (next_set) mod_timer(&q->timeout, round_jiffies_up(next)); spin_unlock_irqrestore(q->queue_lock, flags); --- linux-2.6.32.orig/block/bsg.c +++ linux-2.6.32/block/bsg.c @@ -424,7 +424,7 @@ /* * fill in all the output members */ - hdr->device_status = status_byte(rq->errors); + hdr->device_status = rq->errors & 0xff; hdr->transport_status = host_byte(rq->errors); hdr->driver_status = driver_byte(rq->errors); hdr->info = 0; @@ -977,7 +977,8 @@ mutex_lock(&bsg_mutex); idr_remove(&bsg_minor_idr, bcd->minor); - sysfs_remove_link(&q->kobj, "bsg"); + if (q->kobj.sd) + sysfs_remove_link(&q->kobj, "bsg"); device_unregister(bcd->class_dev); bcd->class_dev = NULL; kref_put(&bcd->ref, bsg_kref_release_function); --- linux-2.6.32.orig/block/cfq-iosched.c +++ linux-2.6.32/block/cfq-iosched.c @@ -38,6 +38,12 @@ */ #define CFQ_MIN_TT (2) +/* + * Allow merged cfqqs to perform this amount of seeky I/O before + * deciding to break the queues up again. + */ +#define CFQQ_COOP_TOUT (HZ) + #define CFQ_SLICE_SCALE (5) #define CFQ_HW_QUEUE_MIN (5) @@ -112,7 +118,15 @@ unsigned short ioprio, org_ioprio; unsigned short ioprio_class, org_ioprio_class; + unsigned int seek_samples; + u64 seek_total; + sector_t seek_mean; + sector_t last_request_pos; + unsigned long seeky_start; + pid_t pid; + + struct cfq_queue *new_cfqq; }; /* @@ -195,8 +209,7 @@ CFQ_CFQQ_FLAG_prio_changed, /* task priority has changed */ CFQ_CFQQ_FLAG_slice_new, /* no requests dispatched in slice */ CFQ_CFQQ_FLAG_sync, /* synchronous queue */ - CFQ_CFQQ_FLAG_coop, /* has done a coop jump of the queue */ - CFQ_CFQQ_FLAG_coop_preempt, /* coop preempt */ + CFQ_CFQQ_FLAG_coop, /* cfqq is shared */ }; #define CFQ_CFQQ_FNS(name) \ @@ -223,7 +236,6 @@ CFQ_CFQQ_FNS(slice_new); CFQ_CFQQ_FNS(sync); CFQ_CFQQ_FNS(coop); -CFQ_CFQQ_FNS(coop_preempt); #undef CFQ_CFQQ_FNS #define cfq_log_cfqq(cfqd, cfqq, fmt, args...) \ @@ -945,14 +957,8 @@ static struct cfq_queue *cfq_set_active_queue(struct cfq_data *cfqd, struct cfq_queue *cfqq) { - if (!cfqq) { + if (!cfqq) cfqq = cfq_get_next_queue(cfqd); - if (cfqq && !cfq_cfqq_coop_preempt(cfqq)) - cfq_clear_cfqq_coop(cfqq); - } - - if (cfqq) - cfq_clear_cfqq_coop_preempt(cfqq); __cfq_set_active_queue(cfqd, cfqq); return cfqq; @@ -967,16 +973,16 @@ return cfqd->last_position - blk_rq_pos(rq); } -#define CIC_SEEK_THR 8 * 1024 -#define CIC_SEEKY(cic) ((cic)->seek_mean > CIC_SEEK_THR) +#define CFQQ_SEEK_THR 8 * 1024 +#define CFQQ_SEEKY(cfqq) ((cfqq)->seek_mean > CFQQ_SEEK_THR) -static inline int cfq_rq_close(struct cfq_data *cfqd, struct request *rq) +static inline int cfq_rq_close(struct cfq_data *cfqd, struct cfq_queue *cfqq, + struct request *rq) { - struct cfq_io_context *cic = cfqd->active_cic; - sector_t sdist = cic->seek_mean; + sector_t sdist = cfqq->seek_mean; - if (!sample_valid(cic->seek_samples)) - sdist = CIC_SEEK_THR; + if (!sample_valid(cfqq->seek_samples)) + sdist = CFQQ_SEEK_THR; return cfq_dist_from_last(cfqd, rq) <= sdist; } @@ -1005,7 +1011,7 @@ * will contain the closest sector. */ __cfqq = rb_entry(parent, struct cfq_queue, p_node); - if (cfq_rq_close(cfqd, __cfqq->next_rq)) + if (cfq_rq_close(cfqd, cur_cfqq, __cfqq->next_rq)) return __cfqq; if (blk_rq_pos(__cfqq->next_rq) < sector) @@ -1016,7 +1022,7 @@ return NULL; __cfqq = rb_entry(node, struct cfq_queue, p_node); - if (cfq_rq_close(cfqd, __cfqq->next_rq)) + if (cfq_rq_close(cfqd, cur_cfqq, __cfqq->next_rq)) return __cfqq; return NULL; @@ -1033,16 +1039,13 @@ * assumption. */ static struct cfq_queue *cfq_close_cooperator(struct cfq_data *cfqd, - struct cfq_queue *cur_cfqq, - bool probe) + struct cfq_queue *cur_cfqq) { struct cfq_queue *cfqq; - /* - * A valid cfq_io_context is necessary to compare requests against - * the seek_mean of the current cfqq. - */ - if (!cfqd->active_cic) + if (!cfq_cfqq_sync(cur_cfqq)) + return NULL; + if (CFQQ_SEEKY(cur_cfqq)) return NULL; /* @@ -1054,11 +1057,14 @@ if (!cfqq) return NULL; - if (cfq_cfqq_coop(cfqq)) + /* + * It only makes sense to merge sync queues. + */ + if (!cfq_cfqq_sync(cfqq)) + return NULL; + if (CFQQ_SEEKY(cfqq)) return NULL; - if (!probe) - cfq_mark_cfqq_coop(cfqq); return cfqq; } @@ -1115,7 +1121,7 @@ * seeks. so allow a little bit of time for him to submit a new rq */ sl = cfqd->cfq_slice_idle; - if (sample_valid(cic->seek_samples) && CIC_SEEKY(cic)) + if (sample_valid(cfqq->seek_samples) && CFQQ_SEEKY(cfqq)) sl = min(sl, msecs_to_jiffies(CFQ_MIN_TT)); mod_timer(&cfqd->idle_slice_timer, jiffies + sl); @@ -1175,6 +1181,61 @@ } /* + * Must be called with the queue_lock held. + */ +static int cfqq_process_refs(struct cfq_queue *cfqq) +{ + int process_refs, io_refs; + + io_refs = cfqq->allocated[READ] + cfqq->allocated[WRITE]; + process_refs = atomic_read(&cfqq->ref) - io_refs; + BUG_ON(process_refs < 0); + return process_refs; +} + +static void cfq_setup_merge(struct cfq_queue *cfqq, struct cfq_queue *new_cfqq) +{ + int process_refs, new_process_refs; + struct cfq_queue *__cfqq; + + /* + * If there are no process references on the new_cfqq, then it is + * unsafe to follow the ->new_cfqq chain as other cfqq's in the + * chain may have dropped their last reference (not just their + * last process reference). + */ + if (!cfqq_process_refs(new_cfqq)) + return; + + /* Avoid a circular list and skip interim queue merges */ + while ((__cfqq = new_cfqq->new_cfqq)) { + if (__cfqq == cfqq) + return; + new_cfqq = __cfqq; + } + + process_refs = cfqq_process_refs(cfqq); + new_process_refs = cfqq_process_refs(new_cfqq); + /* + * If the process for the cfqq has gone away, there is no + * sense in merging the queues. + */ + if (process_refs == 0 || new_process_refs == 0) + return; + + /* + * Merge in the direction of the lesser amount of work. + */ + if (new_process_refs >= process_refs) { + cfqq->new_cfqq = new_cfqq; + atomic_add(process_refs, &new_cfqq->ref); + } else { + new_cfqq->new_cfqq = cfqq; + atomic_add(new_process_refs, &cfqq->ref); + } +} + +/* * Select a queue for service. If we have a current active queue, * check whether to continue servicing it, or retrieve and set a new one. */ @@ -1203,11 +1264,14 @@ * If another queue has a request waiting within our mean seek * distance, let it run. The expire code will check for close * cooperators and put the close queue at the front of the service - * tree. + * tree. If possible, merge the expiring queue with the new cfqq. */ - new_cfqq = cfq_close_cooperator(cfqd, cfqq, 0); - if (new_cfqq) + new_cfqq = cfq_close_cooperator(cfqd, cfqq); + if (new_cfqq) { + if (!cfqq->new_cfqq) + cfq_setup_merge(cfqq, new_cfqq); goto expire; + } /* * No requests pending. If the active queue still has requests in @@ -1518,11 +1582,29 @@ static void cfq_exit_cfqq(struct cfq_data *cfqd, struct cfq_queue *cfqq) { + struct cfq_queue *__cfqq, *next; + if (unlikely(cfqq == cfqd->active_queue)) { __cfq_slice_expired(cfqd, cfqq, 0); cfq_schedule_dispatch(cfqd); } + /* + * If this queue was scheduled to merge with another queue, be + * sure to drop the reference taken on that queue (and others in + * the merge chain). See cfq_setup_merge and cfq_merge_cfqqs. + */ + __cfqq = cfqq->new_cfqq; + while (__cfqq) { + if (__cfqq == cfqq) { + WARN(1, "cfqq->new_cfqq loop detected\n"); + break; + } + next = __cfqq->new_cfqq; + cfq_put_queue(__cfqq); + __cfqq = next; + } + cfq_put_queue(cfqq); } @@ -1540,8 +1622,14 @@ cic->dead_key = (unsigned long) cic->key; cic->key = NULL; - if (ioc->ioc_data == cic) + rcu_read_lock(); + if (rcu_dereference(ioc->ioc_data) == cic) { + rcu_read_unlock(); + spin_lock(&ioc->lock); rcu_assign_pointer(ioc->ioc_data, NULL); + spin_unlock(&ioc->lock); + } else + rcu_read_unlock(); if (cic->cfqq[BLK_RW_ASYNC]) { cfq_exit_cfqq(cfqd, cic->cfqq[BLK_RW_ASYNC]); @@ -1893,7 +1981,7 @@ } } - if (ret) + if (ret && ret != -EEXIST) printk(KERN_ERR "cfq: cic link failed!\n"); return ret; @@ -1909,6 +1997,7 @@ { struct io_context *ioc = NULL; struct cfq_io_context *cic; + int ret; might_sleep_if(gfp_mask & __GFP_WAIT); @@ -1916,6 +2005,7 @@ if (!ioc) return NULL; +retry: cic = cfq_cic_lookup(cfqd, ioc); if (cic) goto out; @@ -1924,7 +2014,12 @@ if (cic == NULL) goto err; - if (cfq_cic_link(cfqd, ioc, cic, gfp_mask)) + ret = cfq_cic_link(cfqd, ioc, cic, gfp_mask); + if (ret == -EEXIST) { + /* someone has linked cic to ioc already */ + cfq_cic_free(cic); + goto retry; + } else if (ret) goto err_free; out: @@ -1952,33 +2047,46 @@ } static void -cfq_update_io_seektime(struct cfq_data *cfqd, struct cfq_io_context *cic, +cfq_update_io_seektime(struct cfq_data *cfqd, struct cfq_queue *cfqq, struct request *rq) { sector_t sdist; u64 total; - if (!cic->last_request_pos) + if (!cfqq->last_request_pos) sdist = 0; - else if (cic->last_request_pos < blk_rq_pos(rq)) - sdist = blk_rq_pos(rq) - cic->last_request_pos; + else if (cfqq->last_request_pos < blk_rq_pos(rq)) + sdist = blk_rq_pos(rq) - cfqq->last_request_pos; else - sdist = cic->last_request_pos - blk_rq_pos(rq); + sdist = cfqq->last_request_pos - blk_rq_pos(rq); /* * Don't allow the seek distance to get too large from the * odd fragment, pagein, etc */ - if (cic->seek_samples <= 60) /* second&third seek */ - sdist = min(sdist, (cic->seek_mean * 4) + 2*1024*1024); + if (cfqq->seek_samples <= 60) /* second&third seek */ + sdist = min(sdist, (cfqq->seek_mean * 4) + 2*1024*1024); else - sdist = min(sdist, (cic->seek_mean * 4) + 2*1024*64); + sdist = min(sdist, (cfqq->seek_mean * 4) + 2*1024*64); - cic->seek_samples = (7*cic->seek_samples + 256) / 8; - cic->seek_total = (7*cic->seek_total + (u64)256*sdist) / 8; - total = cic->seek_total + (cic->seek_samples/2); - do_div(total, cic->seek_samples); - cic->seek_mean = (sector_t)total; + cfqq->seek_samples = (7*cfqq->seek_samples + 256) / 8; + cfqq->seek_total = (7*cfqq->seek_total + (u64)256*sdist) / 8; + total = cfqq->seek_total + (cfqq->seek_samples/2); + do_div(total, cfqq->seek_samples); + cfqq->seek_mean = (sector_t)total; + + /* + * If this cfqq is shared between multiple processes, check to + * make sure that those processes are still issuing I/Os within + * the mean seek distance. If not, it may be time to break the + * queues apart again. + */ + if (cfq_cfqq_coop(cfqq)) { + if (CFQQ_SEEKY(cfqq) && !cfqq->seeky_start) + cfqq->seeky_start = jiffies; + else if (!CFQQ_SEEKY(cfqq)) + cfqq->seeky_start = 0; + } } /* @@ -2000,11 +2108,11 @@ enable_idle = old_idle = cfq_cfqq_idle_window(cfqq); if (!atomic_read(&cic->ioc->nr_tasks) || !cfqd->cfq_slice_idle || - (!cfqd->cfq_latency && cfqd->hw_tag && CIC_SEEKY(cic))) + (!cfqd->cfq_latency && cfqd->hw_tag && CFQQ_SEEKY(cfqq))) enable_idle = 0; else if (sample_valid(cic->ttime_samples)) { unsigned int slice_idle = cfqd->cfq_slice_idle; - if (sample_valid(cic->seek_samples) && CIC_SEEKY(cic)) + if (sample_valid(cfqq->seek_samples) && CFQQ_SEEKY(cfqq)) slice_idle = msecs_to_jiffies(CFQ_MIN_TT); if (cic->ttime_mean > slice_idle) enable_idle = 0; @@ -2071,16 +2179,8 @@ * if this request is as-good as one we would expect from the * current cfqq, let it preempt */ - if (cfq_rq_close(cfqd, rq) && (!cfq_cfqq_coop(new_cfqq) || - cfqd->busy_queues == 1)) { - /* - * Mark new queue coop_preempt, so its coop flag will not be - * cleared when new queue gets scheduled at the very first time - */ - cfq_mark_cfqq_coop_preempt(new_cfqq); - cfq_mark_cfqq_coop(new_cfqq); + if (cfq_rq_close(cfqd, cfqq, rq)) return true; - } return false; } @@ -2121,10 +2221,10 @@ cfqq->meta_pending++; cfq_update_io_thinktime(cfqd, cic); - cfq_update_io_seektime(cfqd, cic, rq); + cfq_update_io_seektime(cfqd, cfqq, rq); cfq_update_idle_window(cfqd, cfqq, cic); - cic->last_request_pos = blk_rq_pos(rq) + blk_rq_sectors(rq); + cfqq->last_request_pos = blk_rq_pos(rq) + blk_rq_sectors(rq); if (cfqq == cfqd->active_queue) { /* @@ -2243,7 +2343,7 @@ */ if (cfq_slice_used(cfqq) || cfq_class_idle(cfqq)) cfq_slice_expired(cfqd, 1); - else if (cfqq_empty && !cfq_close_cooperator(cfqd, cfqq, 1) && + else if (cfqq_empty && !cfq_close_cooperator(cfqd, cfqq) && sync && !rq_noidle(rq)) cfq_arm_slice_timer(cfqd); } @@ -2338,6 +2438,43 @@ } } +static struct cfq_queue * +cfq_merge_cfqqs(struct cfq_data *cfqd, struct cfq_io_context *cic, + struct cfq_queue *cfqq) +{ + cfq_log_cfqq(cfqd, cfqq, "merging with queue %p", cfqq->new_cfqq); + cic_set_cfqq(cic, cfqq->new_cfqq, 1); + cfq_mark_cfqq_coop(cfqq->new_cfqq); + cfq_put_queue(cfqq); + return cic_to_cfqq(cic, 1); +} + +static int should_split_cfqq(struct cfq_queue *cfqq) +{ + if (cfqq->seeky_start && + time_after(jiffies, cfqq->seeky_start + CFQQ_COOP_TOUT)) + return 1; + return 0; +} + +/* + * Returns NULL if a new cfqq should be allocated, or the old cfqq if this + * was the last process referring to said cfqq. + */ +static struct cfq_queue * +split_cfqq(struct cfq_io_context *cic, struct cfq_queue *cfqq) +{ + if (cfqq_process_refs(cfqq) == 1) { + cfqq->seeky_start = 0; + cfqq->pid = current->pid; + cfq_clear_cfqq_coop(cfqq); + return cfqq; + } + + cic_set_cfqq(cic, NULL, 1); + cfq_put_queue(cfqq); + return NULL; +} /* * Allocate cfq data structures associated with this request. */ @@ -2360,10 +2497,30 @@ if (!cic) goto queue_fail; +new_queue: cfqq = cic_to_cfqq(cic, is_sync); if (!cfqq || cfqq == &cfqd->oom_cfqq) { cfqq = cfq_get_queue(cfqd, is_sync, cic->ioc, gfp_mask); cic_set_cfqq(cic, cfqq, is_sync); + } else { + /* + * If the queue was seeky for too long, break it apart. + */ + if (cfq_cfqq_coop(cfqq) && should_split_cfqq(cfqq)) { + cfq_log_cfqq(cfqd, cfqq, "breaking apart cfqq"); + cfqq = split_cfqq(cic, cfqq); + if (!cfqq) + goto new_queue; + } + + /* + * Check to see if this queue is scheduled to merge with + * another, closely cooperating queue. The merging of + * queues happens here as it must be done in process context. + * The reference on new_cfqq was taken in merge_cfqqs. + */ + if (cfqq->new_cfqq) + cfqq = cfq_merge_cfqqs(cfqd, cic, cfqq); } cfqq->allocated[rw]++; --- linux-2.6.32.orig/block/scsi_ioctl.c +++ linux-2.6.32/block/scsi_ioctl.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -319,33 +320,47 @@ if (hdr->iovec_count) { const int size = sizeof(struct sg_iovec) * hdr->iovec_count; size_t iov_data_len; - struct sg_iovec *iov; + struct sg_iovec *sg_iov; + struct iovec *iov; + int i; - iov = kmalloc(size, GFP_KERNEL); - if (!iov) { + sg_iov = kmalloc(size, GFP_KERNEL); + if (!sg_iov) { ret = -ENOMEM; goto out; } - if (copy_from_user(iov, hdr->dxferp, size)) { - kfree(iov); + if (copy_from_user(sg_iov, hdr->dxferp, size)) { + kfree(sg_iov); ret = -EFAULT; goto out; } + /* + * Sum up the vecs, making sure they don't overflow + */ + iov = (struct iovec *) sg_iov; + iov_data_len = 0; + for (i = 0; i < hdr->iovec_count; i++) { + if (iov_data_len + iov[i].iov_len < iov_data_len) { + kfree(sg_iov); + ret = -EINVAL; + goto out; + } + iov_data_len += iov[i].iov_len; + } + /* SG_IO howto says that the shorter of the two wins */ - iov_data_len = iov_length((struct iovec *)iov, - hdr->iovec_count); if (hdr->dxfer_len < iov_data_len) { - hdr->iovec_count = iov_shorten((struct iovec *)iov, + hdr->iovec_count = iov_shorten(iov, hdr->iovec_count, hdr->dxfer_len); iov_data_len = hdr->dxfer_len; } - ret = blk_rq_map_user_iov(q, rq, NULL, iov, hdr->iovec_count, + ret = blk_rq_map_user_iov(q, rq, NULL, sg_iov, hdr->iovec_count, iov_data_len, GFP_KERNEL); - kfree(iov); + kfree(sg_iov); } else if (hdr->dxfer_len) ret = blk_rq_map_user(q, rq, NULL, hdr->dxferp, hdr->dxfer_len, GFP_KERNEL); @@ -675,6 +690,57 @@ } EXPORT_SYMBOL(scsi_cmd_ioctl); +int scsi_verify_blk_ioctl(struct block_device *bd, unsigned int cmd) +{ + if (bd && bd == bd->bd_contains) + return 0; + + /* Actually none of these is particularly useful on a partition, + * but they are safe. + */ + switch (cmd) { + case SCSI_IOCTL_GET_IDLUN: + case SCSI_IOCTL_GET_BUS_NUMBER: + case SCSI_IOCTL_GET_PCI: + case SCSI_IOCTL_PROBE_HOST: + case SG_GET_VERSION_NUM: + case SG_SET_TIMEOUT: + case SG_GET_TIMEOUT: + case SG_GET_RESERVED_SIZE: + case SG_SET_RESERVED_SIZE: + case SG_EMULATED_HOST: + return 0; + case CDROM_GET_CAPABILITY: + /* 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. + */ + return -ENOTTY; + default: + break; + } + + /* In particular, rule out all resets and host-specific ioctls. */ + printk_ratelimited(KERN_WARNING + "%s: sending ioctl %x to a partition!\n", current->comm, cmd); + + return capable(CAP_SYS_RAWIO) ? 0 : -ENOTTY; +} +EXPORT_SYMBOL(scsi_verify_blk_ioctl); + +int scsi_cmd_blk_ioctl(struct block_device *bd, fmode_t mode, + unsigned int cmd, void __user *arg) +{ + int ret; + + ret = scsi_verify_blk_ioctl(bd, cmd); + if (ret < 0) + return ret; + + return scsi_cmd_ioctl(bd->bd_disk->queue, bd->bd_disk, mode, cmd, arg); +} +EXPORT_SYMBOL(scsi_cmd_blk_ioctl); + int __init blk_scsi_ioctl_init(void) { blk_set_cmd_filter_defaults(&blk_default_cmd_filter); --- linux-2.6.32.orig/crypto/Kconfig +++ linux-2.6.32/crypto/Kconfig @@ -440,6 +440,15 @@ See also: +config CRYPTO_GHASH_CLMUL_NI_INTEL + tristate "GHASH digest algorithm (CLMUL-NI accelerated)" + depends on (X86 || UML_X86) && 64BIT + select CRYPTO_SHASH + select CRYPTO_CRYPTD + help + GHASH is message digest algorithm for GCM (Galois/Counter Mode). + The implementation is accelerated by CLMUL-NI of Intel. + comment "Ciphers" config CRYPTO_AES --- linux-2.6.32.orig/crypto/authenc.c +++ linux-2.6.32/crypto/authenc.c @@ -46,6 +46,12 @@ char tail[]; }; +static void authenc_request_complete(struct aead_request *req, int err) +{ + if (err != -EINPROGRESS) + aead_request_complete(req, err); +} + static int crypto_authenc_setkey(struct crypto_aead *authenc, const u8 *key, unsigned int keylen) { @@ -142,7 +148,7 @@ crypto_aead_authsize(authenc), 1); out: - aead_request_complete(req, err); + authenc_request_complete(req, err); } static void authenc_geniv_ahash_done(struct crypto_async_request *areq, int err) @@ -208,7 +214,7 @@ err = crypto_ablkcipher_decrypt(abreq); out: - aead_request_complete(req, err); + authenc_request_complete(req, err); } static void authenc_verify_ahash_done(struct crypto_async_request *areq, @@ -245,7 +251,7 @@ err = crypto_ablkcipher_decrypt(abreq); out: - aead_request_complete(req, err); + authenc_request_complete(req, err); } static u8 *crypto_authenc_ahash_fb(struct aead_request *req, unsigned int flags) @@ -379,7 +385,7 @@ err = crypto_authenc_genicv(areq, iv, 0); } - aead_request_complete(areq, err); + authenc_request_complete(areq, err); } static int crypto_authenc_encrypt(struct aead_request *req) @@ -418,7 +424,7 @@ err = crypto_authenc_genicv(areq, greq->giv, 0); } - aead_request_complete(areq, err); + authenc_request_complete(areq, err); } static int crypto_authenc_givencrypt(struct aead_givcrypt_request *req) --- linux-2.6.32.orig/crypto/cryptd.c +++ linux-2.6.32/crypto/cryptd.c @@ -711,6 +711,13 @@ } EXPORT_SYMBOL_GPL(cryptd_ahash_child); +struct shash_desc *cryptd_shash_desc(struct ahash_request *req) +{ + struct cryptd_hash_request_ctx *rctx = ahash_request_ctx(req); + return &rctx->desc; +} +EXPORT_SYMBOL_GPL(cryptd_shash_desc); + void cryptd_free_ahash(struct cryptd_ahash *tfm) { crypto_free_ahash(&tfm->base); --- linux-2.6.32.orig/crypto/ghash-generic.c +++ linux-2.6.32/crypto/ghash-generic.c @@ -67,6 +67,9 @@ struct ghash_ctx *ctx = crypto_shash_ctx(desc->tfm); u8 *dst = dctx->buffer; + if (!ctx->gf128) + return -ENOKEY; + if (dctx->bytes) { int n = min(srclen, dctx->bytes); u8 *pos = dst + (GHASH_BLOCK_SIZE - dctx->bytes); @@ -119,6 +122,9 @@ struct ghash_ctx *ctx = crypto_shash_ctx(desc->tfm); u8 *buf = dctx->buffer; + if (!ctx->gf128) + return -ENOKEY; + ghash_flush(ctx, dctx); memcpy(dst, buf, GHASH_BLOCK_SIZE); --- linux-2.6.32.orig/crypto/md5.c +++ linux-2.6.32/crypto/md5.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #define MD5_DIGEST_SIZE 16 @@ -27,103 +28,12 @@ #define MD5_BLOCK_WORDS 16 #define MD5_HASH_WORDS 4 -#define F1(x, y, z) (z ^ (x & (y ^ z))) -#define F2(x, y, z) F1(z, x, y) -#define F3(x, y, z) (x ^ y ^ z) -#define F4(x, y, z) (y ^ (x | ~z)) - -#define MD5STEP(f, w, x, y, z, in, s) \ - (w += f(x, y, z) + in, w = (w<>(32-s)) + x) - struct md5_ctx { u32 hash[MD5_HASH_WORDS]; u32 block[MD5_BLOCK_WORDS]; u64 byte_count; }; -static void md5_transform(u32 *hash, u32 const *in) -{ - u32 a, b, c, d; - - a = hash[0]; - b = hash[1]; - c = hash[2]; - d = hash[3]; - - MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7); - MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12); - MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17); - MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22); - MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7); - MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12); - MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17); - MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22); - MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7); - MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12); - MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17); - MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22); - MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7); - MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12); - MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17); - MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22); - - MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5); - MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9); - MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14); - MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20); - MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5); - MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9); - MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14); - MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20); - MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5); - MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9); - MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14); - MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20); - MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5); - MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9); - MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14); - MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20); - - MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4); - MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11); - MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16); - MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23); - MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4); - MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11); - MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16); - MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23); - MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4); - MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11); - MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16); - MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23); - MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4); - MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11); - MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16); - MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23); - - MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6); - MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10); - MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15); - MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21); - MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6); - MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10); - MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15); - MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21); - MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6); - MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10); - MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15); - MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21); - MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6); - MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10); - MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15); - MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21); - - hash[0] += a; - hash[1] += b; - hash[2] += c; - hash[3] += d; -} - /* XXX: this stuff can be optimized */ static inline void le32_to_cpu_array(u32 *buf, unsigned int words) { --- linux-2.6.32.orig/crypto/sha512_generic.c +++ linux-2.6.32/crypto/sha512_generic.c @@ -21,8 +21,6 @@ #include #include -static DEFINE_PER_CPU(u64[80], msg_schedule); - static inline u64 Ch(u64 x, u64 y, u64 z) { return z ^ (x & (y ^ z)); @@ -33,11 +31,6 @@ return (x & y) | (z & (x | y)); } -static inline u64 RORu64(u64 x, u64 y) -{ - return (x >> y) | (x << (64 - y)); -} - static const u64 sha512_K[80] = { 0x428a2f98d728ae22ULL, 0x7137449123ef65cdULL, 0xb5c0fbcfec4d3b2fULL, 0xe9b5dba58189dbbcULL, 0x3956c25bf348b538ULL, 0x59f111f1b605d019ULL, @@ -68,10 +61,10 @@ 0x5fcb6fab3ad6faecULL, 0x6c44198c4a475817ULL, }; -#define e0(x) (RORu64(x,28) ^ RORu64(x,34) ^ RORu64(x,39)) -#define e1(x) (RORu64(x,14) ^ RORu64(x,18) ^ RORu64(x,41)) -#define s0(x) (RORu64(x, 1) ^ RORu64(x, 8) ^ (x >> 7)) -#define s1(x) (RORu64(x,19) ^ RORu64(x,61) ^ (x >> 6)) +#define e0(x) (ror64(x,28) ^ ror64(x,34) ^ ror64(x,39)) +#define e1(x) (ror64(x,14) ^ ror64(x,18) ^ ror64(x,41)) +#define s0(x) (ror64(x, 1) ^ ror64(x, 8) ^ (x >> 7)) +#define s1(x) (ror64(x,19) ^ ror64(x,61) ^ (x >> 6)) static inline void LOAD_OP(int I, u64 *W, const u8 *input) { @@ -80,7 +73,7 @@ static inline void BLEND_OP(int I, u64 *W) { - W[I] = s1(W[I-2]) + W[I-7] + s0(W[I-15]) + W[I-16]; + W[I & 15] += s1(W[(I-2) & 15]) + W[(I-7) & 15] + s0(W[(I-15) & 15]); } static void @@ -89,15 +82,7 @@ u64 a, b, c, d, e, f, g, h, t1, t2; int i; - u64 *W = get_cpu_var(msg_schedule); - - /* load the input */ - for (i = 0; i < 16; i++) - LOAD_OP(i, W, input); - - for (i = 16; i < 80; i++) { - BLEND_OP(i, W); - } + u64 W[16]; /* load the state into our registers */ a=state[0]; b=state[1]; c=state[2]; d=state[3]; @@ -105,21 +90,35 @@ /* now iterate */ for (i=0; i<80; i+=8) { - t1 = h + e1(e) + Ch(e,f,g) + sha512_K[i ] + W[i ]; + if (!(i & 8)) { + int j; + + if (i < 16) { + /* load the input */ + for (j = 0; j < 16; j++) + LOAD_OP(i + j, W, input); + } else { + for (j = 0; j < 16; j++) { + BLEND_OP(i + j, W); + } + } + } + + t1 = h + e1(e) + Ch(e,f,g) + sha512_K[i ] + W[(i & 15)]; t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; - t1 = g + e1(d) + Ch(d,e,f) + sha512_K[i+1] + W[i+1]; + t1 = g + e1(d) + Ch(d,e,f) + sha512_K[i+1] + W[(i & 15) + 1]; t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; - t1 = f + e1(c) + Ch(c,d,e) + sha512_K[i+2] + W[i+2]; + t1 = f + e1(c) + Ch(c,d,e) + sha512_K[i+2] + W[(i & 15) + 2]; t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; - t1 = e + e1(b) + Ch(b,c,d) + sha512_K[i+3] + W[i+3]; + t1 = e + e1(b) + Ch(b,c,d) + sha512_K[i+3] + W[(i & 15) + 3]; t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; - t1 = d + e1(a) + Ch(a,b,c) + sha512_K[i+4] + W[i+4]; + t1 = d + e1(a) + Ch(a,b,c) + sha512_K[i+4] + W[(i & 15) + 4]; t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; - t1 = c + e1(h) + Ch(h,a,b) + sha512_K[i+5] + W[i+5]; + t1 = c + e1(h) + Ch(h,a,b) + sha512_K[i+5] + W[(i & 15) + 5]; t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; - t1 = b + e1(g) + Ch(g,h,a) + sha512_K[i+6] + W[i+6]; + t1 = b + e1(g) + Ch(g,h,a) + sha512_K[i+6] + W[(i & 15) + 6]; t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; - t1 = a + e1(f) + Ch(f,g,h) + sha512_K[i+7] + W[i+7]; + t1 = a + e1(f) + Ch(f,g,h) + sha512_K[i+7] + W[(i & 15) + 7]; t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; } @@ -128,8 +127,6 @@ /* erase our data */ a = b = c = d = e = f = g = h = t1 = t2 = 0; - memset(W, 0, sizeof(__get_cpu_var(msg_schedule))); - put_cpu_var(msg_schedule); } static int --- linux-2.6.32.orig/crypto/testmgr.c +++ linux-2.6.32/crypto/testmgr.c @@ -1477,9 +1477,54 @@ return err; } +static int alg_test_null(const struct alg_test_desc *desc, + const char *driver, u32 type, u32 mask) +{ + return 0; +} + /* Please keep this list sorted by algorithm name. */ static const struct alg_test_desc alg_test_descs[] = { { + .alg = "__driver-cbc-aes-aesni", + .test = alg_test_null, + .suite = { + .cipher = { + .enc = { + .vecs = NULL, + .count = 0 + }, + .dec = { + .vecs = NULL, + .count = 0 + } + } + } + }, { + .alg = "__driver-ecb-aes-aesni", + .test = alg_test_null, + .suite = { + .cipher = { + .enc = { + .vecs = NULL, + .count = 0 + }, + .dec = { + .vecs = NULL, + .count = 0 + } + } + } + }, { + .alg = "__ghash-pclmulqdqni", + .test = alg_test_null, + .suite = { + .hash = { + .vecs = NULL, + .count = 0 + } + } + }, { .alg = "ansi_cprng", .test = alg_test_cprng, .fips_allowed = 1, @@ -1623,6 +1668,30 @@ } } }, { + .alg = "cryptd(__driver-ecb-aes-aesni)", + .test = alg_test_null, + .suite = { + .cipher = { + .enc = { + .vecs = NULL, + .count = 0 + }, + .dec = { + .vecs = NULL, + .count = 0 + } + } + } + }, { + .alg = "cryptd(__ghash-pclmulqdqni)", + .test = alg_test_null, + .suite = { + .hash = { + .vecs = NULL, + .count = 0 + } + } + }, { .alg = "ctr(aes)", .test = alg_test_skcipher, .fips_allowed = 1, @@ -1669,6 +1738,21 @@ } } }, { + .alg = "ecb(__aes-aesni)", + .test = alg_test_null, + .suite = { + .cipher = { + .enc = { + .vecs = NULL, + .count = 0 + }, + .dec = { + .vecs = NULL, + .count = 0 + } + } + } + }, { .alg = "ecb(aes)", .test = alg_test_skcipher, .fips_allowed = 1, --- linux-2.6.32.orig/crypto/async_tx/async_raid6_recov.c +++ linux-2.6.32/crypto/async_tx/async_raid6_recov.c @@ -324,6 +324,7 @@ async_raid6_2data_recov(int disks, size_t bytes, int faila, int failb, struct page **blocks, struct async_submit_ctl *submit) { + void *scribble = submit->scribble; int non_zero_srcs, i; BUG_ON(faila == failb); @@ -332,11 +333,13 @@ pr_debug("%s: disks: %d len: %zu\n", __func__, disks, bytes); - /* we need to preserve the contents of 'blocks' for the async - * case, so punt to synchronous if a scribble buffer is not available + /* if a dma resource is not available or a scribble buffer is not + * available punt to the synchronous path. In the 'dma not + * available' case be sure to use the scribble buffer to + * preserve the content of 'blocks' as the caller intended. */ - if (!submit->scribble) { - void **ptrs = (void **) blocks; + if (!async_dma_find_channel(DMA_PQ) || !scribble) { + void **ptrs = scribble ? scribble : (void **) blocks; async_tx_quiesce(&submit->depend_tx); for (i = 0; i < disks; i++) @@ -406,11 +409,13 @@ pr_debug("%s: disks: %d len: %zu\n", __func__, disks, bytes); - /* we need to preserve the contents of 'blocks' for the async - * case, so punt to synchronous if a scribble buffer is not available + /* if a dma resource is not available or a scribble buffer is not + * available punt to the synchronous path. In the 'dma not + * available' case be sure to use the scribble buffer to + * preserve the content of 'blocks' as the caller intended. */ - if (!scribble) { - void **ptrs = (void **) blocks; + if (!async_dma_find_channel(DMA_PQ) || !scribble) { + void **ptrs = scribble ? scribble : (void **) blocks; async_tx_quiesce(&submit->depend_tx); for (i = 0; i < disks; i++) --- linux-2.6.32.orig/debian.master/NOTES +++ linux-2.6.32/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-2.6.32.orig/debian.master/changelog +++ linux-2.6.32/debian.master/changelog @@ -0,0 +1,10648 @@ +linux (2.6.32-41.94) lucid-proposed; urgency=low + + [ Andy Whitcroft ] + + * fix ABI directory naming + + [ Luis Henriques ] + + * Release Tracking Bug + - LP: #1020172 + + -- Andy Whitcroft Fri, 06 Jul 2012 15:46:44 +0100 + +linux (2.6.32-41.93) lucid-proposed; urgency=low + + [ Andy Whitcroft ] + + * No change upload to fix .ddeb generation in the PPA. + + [ Luis Henriques ] + + * Release Tracking Bug + - LP: #1020172 + + -- Andy Whitcroft Fri, 06 Jul 2012 10:21:05 +0100 + +linux (2.6.32-41.92) lucid-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1020172 + + [ Upstream Kernel Changes ] + + * drm/i915: Move Pineview CxSR and watermark code into update_wm hook. + - LP: #1004707 + * drm/i915: Add CxSR support on Pineview DDR3 + - LP: #1004707 + + -- Luis Henriques Mon, 02 Jul 2012 17:07:47 +0100 + +linux (2.6.32-41.91) lucid-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1012014 + + [ Tim Gardner ] + + * SAUCE: async_populate_rootfs: fix build warnings + - LP: #1003417 + + [ Upstream Kernel Changes ] + + * dl2k: Clean up rio_ioctl + - CVE-2012-2313 + * hfsplus: Fix potential buffer overflows + - CVE-2012-2319 + + -- Luis Henriques Tue, 12 Jun 2012 10:04:14 +0100 + +linux (2.6.32-41.90) lucid-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1002389 + + [ Andy Whitcroft ] + + * [Config] control.stub is an intermediate product not a dependancy + - LP: #992414 + + [ Tim Gardner ] + + * [Config] perarch and indep tools builds need separate build directories + + [ Upstream Kernel Changes ] + + * hugepages: fix use after free bug in "quota" handling + - LP: #990368 + - CVE-2012-2133 + + -- Luis Henriques Mon, 21 May 2012 18:25:32 +0100 + +linux (2.6.32-41.89) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #990103 + + [ Tim Gardner ] + + * SAUCE: (no-up) remove __initdata from vesafb_fix + - LP: #969309 + + [ Upstream Kernel Changes ] + + * jbd2: clear BH_Delay & BH_Unwritten in journal_unmap_buffer + - LP: #929781 + - CVE-2011-4086 + * fcaps: clear the same personality flags as suid when fcaps are used + - LP: #987571 + - CVE-2012-2123 + * lucid security: fix compile error in commoncap.c + - LP: #987571 + - CVE-2012-2123 + * KVM: Clean up error handling during VCPU creation + - LP: #971685 + - CVE-2012-1601 + * KVM: Ensure all vcpus are consistent with in-kernel irqchip settings + - LP: #971685 + - CVE-2012-1601 + + -- Herton Ronaldo Krzesinski Fri, 27 Apr 2012 17:59:10 -0300 + +linux (2.6.32-41.88) lucid-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #966443 + + [ Andy Whitcroft ] + + * [Config] restore build-% shortcut + + [ Tim Gardner ] + + * SAUCE: ubuntu drivers: use UMH_WAIT_PROC consistently + - LP: #963685 + + [ Upstream Kernel Changes ] + + * Revert "Revert "USB: xhci - fix unsafe macro definitions"" + - LP: #948139 + * Revert "Revert "USB: xhci - fix math in xhci_get_endpoint_interval()"" + - LP: #948139 + * Revert "Revert "xhci: Fix full speed bInterval encoding."" + - LP: #948139 + * bsg: fix sysfs link remove warning + - LP: #946928 + * hwmon: (f75375s) Fix bit shifting in f75375_write16 + - LP: #948139 + * lib: proportion: lower PROP_MAX_SHIFT to 32 on 64-bit kernel + - LP: #948139 + * relay: prevent integer overflow in relay_open() + - LP: #948139 + * mac80211: timeout a single frame in the rx reorder buffer + - LP: #948139 + * kernel.h: fix wrong usage of __ratelimit() + - LP: #948139 + * printk_ratelimited(): fix uninitialized spinlock + - LP: #948139 + * hwmon: (f75375s) Fix automatic pwm mode setting for F75373 & F75375 + - LP: #948139 + * crypto: sha512 - Use binary and instead of modulus + - LP: #948139 + * crypto: sha512 - Avoid stack bloat on i386 + - LP: #948139 + * crypto: sha512 - use standard ror64() + - LP: #948139 + * SCSI: 3w-9xxx fix bug in sgl loading + - LP: #948139 + * ARM: 7321/1: cache-v7: Disable preemption when reading CCSIDR + - LP: #948139 + * ARM: 7325/1: fix v7 boot with lockdep enabled + - LP: #948139 + * USB: Added Kamstrup VID/PIDs to cp210x serial driver. + - LP: #948139 + * USB: Fix handoff when BIOS disables host PCI device. + - LP: #948139 + * xhci: Fix encoding for HS bulk/control NAK rate. + - LP: #948139 + * hdpvr: fix race conditon during start of streaming + - LP: #948139 + * cdrom: use copy_to_user() without the underscores + - LP: #948139 + * autofs: work around unhappy compat problem on x86-64 + - LP: #948139 + * Fix autofs compile without CONFIG_COMPAT + - LP: #948139 + * compat: fix compile breakage on s390 + - LP: #948139 + * PM: Print a warning if firmware is requested when tasks are frozen + - LP: #948139 + * firmware loader: allow builtin firmware load even if usermodehelper is + disabled + - LP: #948139 + * PM / Sleep: Fix freezer failures due to racy + usermodehelper_is_disabled() + - LP: #948139 + * PM / Sleep: Fix read_unlock_usermodehelper() call. + - LP: #948139 + * Linux 2.6.32.58 + - LP: #948139 + * regset: Prevent null pointer reference on readonly regsets + - LP: #949905 + - CVE-2012-1097 + * regset: Return -EFAULT, not -EIO, on host-side memory fault + - LP: #949905 + - CVE-2012-1097 + * KVM: Remove ability to assign a device without iommu support + - LP: #897812 + - CVE-2011-4347 + * eCryptfs: Copy up lower inode attrs after setting lower xattr + * eCryptfs: Improve statfs reporting + - LP: #885744 + * drm/i915: no lvds quirk for AOpen MP45 + - LP: #955078 + * drm/radeon/kms: fix MSI re-arm on rv370+ + - LP: #955078 + * Linux 2.6.32.58+drm33.24 + - LP: #955078 + * KVM: x86: extend "struct x86_emulate_ops" with "get_cpuid" + - LP: #917842 + - CVE-2012-0045 + * KVM: x86: fix missing checks in syscall emulation + - LP: #917842 + - CVE-2012-0045 + * eCryptfs: Clear ECRYPTFS_NEW_FILE flag during truncate + - LP: #745836 + * compat: Re-add missing asm/compat.h include to fix compile breakage on + s390 + - LP: #959252 + * IA64: Remove COMPAT_IA32 support + - LP: #959252 + * writeback: fixups for !dirty_writeback_centisecs + - LP: #959252 + * KEYS: Enable the compat keyctl wrapper on s390x + - LP: #959252 + * cifs: fix dentry refcount leak when opening a FIFO on lookup + - LP: #959252 + * net/usbnet: avoid recursive locking in usbnet_stop() + - LP: #959252 + * watchdog: hpwdt: clean up set_memory_x call for 32 bit + - LP: #959252 + * blkfront: Fix backtrace in del_gendisk + - LP: #959252 + * Linux 2.6.32.59 + - LP: #959252 + * USB: EHCI: go back to using the system clock for QH unlinks + - LP: #624510 + * kmod: fix resource leak in call_usermodehelper_pipe() + - LP: #963685 + * kmod: add init function to usermodehelper + - LP: #963685 + * usermodehelper: use UMH_WAIT_PROC consistently + - LP: #963685 + * usermodehelper: introduce umh_complete(sub_info) + - LP: #963685 + * usermodehelper: implement UMH_KILLABLE + - LP: #963685 + * usermodehelper: kill umh_wait, renumber UMH_* constants + - LP: #963685 + * usermodehelper: ____call_usermodehelper() doesn't need do_exit() + - LP: #963685 + * kmod: introduce call_modprobe() helper + - LP: #963685 + * kmod: make __request_module() killable + - LP: #963685 + + -- Luis Henriques Tue, 27 Mar 2012 19:44:59 +0100 + +linux (2.6.32-40.87) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #947375 + + [ Upstream Kernel Changes ] + + * IB/mlx4: pass SMP vendor-specific attribute MADs to firmware + - LP: #932043 + * mm/filemap_xip.c: fix race condition in xip_file_fault() + - LP: #932043 + * NFSv4: Fix up the callers of nfs4_state_end_reclaim_reboot + - LP: #932043 + * NFSv4: The state manager shouldn't exit on errors that were handled + - LP: #932043 + * NFSv4: Ensure the state manager handles NFS4ERR_NO_GRACE correctly + - LP: #932043 + * NFSv4: Handle NFS4ERR_GRACE when recovering an expired lease. + - LP: #932043 + * NFSv4: Fix open recovery + - LP: #932043 + * rpc client can not deal with ENOSOCK, so translate it into ENOCONN + - LP: #932043 + * udf: Mark LVID buffer as uptodate before marking it dirty + - LP: #932043 + * eCryptfs: Infinite loop due to overflow in ecryptfs_write() + - LP: #932043 + * atmel_lcdfb: fix usage of CONTRAST_CTR in suspend/resume + - LP: #932043 + * Staging: asus_oled: fix image processing + - LP: #932043 + * Staging: android: binder: Don't call dump_stack in binder_vma_open + - LP: #932043 + * Staging: android: binder: Fix crashes when sharing a binder file + between processes + - LP: #932043 + * usb: gadget: zero: fix bug in loopback autoresume handling + - LP: #932043 + * usb: Skip PCI USB quirk handling for Netlogic XLP + - LP: #932043 + * USB: usbserial: add new PID number (0xa951) to the ftdi driver + - LP: #932043 + * mmc: cb710 core: Add missing spin_lock_init for irq_lock of struct + cb710_chip + - LP: #932043 + * net: fix sk_forward_alloc corruptions + - LP: #932043 + * net: sock_queue_err_skb() dont mess with sk_forward_alloc + - LP: #932043 + * Linux 2.6.32.57 + - LP: #932043 + * Ban ecryptfs over ecryptfs + - LP: #932987 + * eCryptfs: Remove mmap from directory operations + - LP: #400443 + * eCryptfs: Use notify_change for truncating lower inodes + - LP: #451368 + * ecryptfs: read on a directory should return EISDIR if not supported + - LP: #719691 + * eCryptfs: Remove extra d_delete in ecryptfs_rmdir + - LP: #723518 + * eCryptfs: Clear i_nlink in rmdir + - LP: #723518 + * KVM: Device assignment permission checks + - LP: #897812 + - CVE-2011-4347 + * block: Fix io_context leak after clone with CLONE_IO + - LP: #940743 + - CVE-2012-0879 + * block: Fix io_context leak after failure of clone with CLONE_IO + - LP: #940743 + - CVE-2012-0879 + * eCryptfs: Handle failed metadata read in lookup + - LP: #509180 + * drm/i915: Fix TV Out refresh rate. + - LP: #945114 + * Linux 2.6.32.57+drm33.23 + - LP: #945114 + + -- Herton Ronaldo Krzesinski Mon, 05 Mar 2012 16:09:18 -0300 + +linux (2.6.32-39.86) lucid-proposed; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #931647 + + [ Upstream Kernel Changes ] + + * ext4: fix undefined behavior in ext4_fill_flex_info() + - LP: #922315 + * ALSA: snd-usb-us122l: Delete calls to preempt_disable + - LP: #922315 + * ALSA: ice1724 - Check for ac97 to avoid kernel oops + - LP: #922315 + * ALSA: hda - Return the error from get_wcaps_type() for invalid NIDs + - LP: #922315 + * HID: bump maximum global item tag report size to 96 bytes + - LP: #724831, #922315 + * UBI: fix use-after-free on error path + - LP: #922315 + * PCI: Fix PCI_EXP_TYPE_RC_EC value + - LP: #922315 + * PCI: msi: Disable msi interrupts when we initialize a pci device + - LP: #922315 + * xen/xenbus: Reject replies with payload > XENSTORE_PAYLOAD_MAX. + - LP: #922315 + * ima: free duplicate measurement memory + - LP: #922315 + * PNP: work around Dell 1536/1546 BIOS MMCONFIG bug that breaks USB + - LP: #922315 + * x86: Fix mmap random address range + - LP: #922315 + * UBI: fix nameless volumes handling + - LP: #922315 + * i2c: Fix error value returned by several bus drivers + - LP: #922315 + * V4L/DVB: v4l2-ioctl: integer overflow in video_usercopy() + - LP: #922315 + * svcrpc: fix double-free on shutdown of nfsd after changing pool mode + - LP: #922315 + * svcrpc: destroy server sockets all at once + - LP: #922315 + * nfsd: Fix oops when parsing a 0 length export + - LP: #922315 + * USB: cdc-wdm: fix misuse of logical operation in place of bitop + - LP: #922315 + * fix cputime overflow in uptime_proc_show + - LP: #922315 + * USB: Fix 'bad dma' problem on WDM device disconnect + - LP: #922315 + * block: add and use scsi_blk_cmd_ioctl + - LP: #922315 + * kernel.h: add printk_ratelimited and pr__rl + - LP: #922315 + * ALSA: HDA: Fix internal microphone on Dell Studio 16 XPS 1645 + - LP: #795823, #922315 + * sym53c8xx: Fix NULL pointer dereference in slave_destroy + - LP: #922315 + * score: fix off-by-one index into syscall table + - LP: #922315 + * kprobes: initialize before using a hlist + - LP: #922315 + * Linux 2.6.32.55 + - LP: #922315 + * eCryptfs: Sanitize write counts of /dev/ecryptfs + - LP: #926321 + * ecryptfs: Improve metadata read failure logging + - LP: #926321 + * eCryptfs: Make truncate path killable + - LP: #926321 + * crypto: sha512 - make it work, undo percpu message schedule + - LP: #926321 + * crypto: sha512 - reduce stack usage to safe number + - LP: #926321 + * block: fail SCSI passthrough ioctls on partition devices + - LP: #926321 + * dm: do not forward ioctls from logical volumes to the underlying device + - LP: #926321 + * USB: ftdi_sio: fix TIOCSSERIAL baud_base handling + - LP: #926321 + * USB: ftdi_sio: add PID for TI XDS100v2 / BeagleBone A3 + - LP: #926321 + * USB: serial: ftdi additional IDs + - LP: #926321 + * USB: ftdi_sio: Add more identifiers + - LP: #926321 + * USB: cdc-wdm: updating desc->length must be protected by spin_lock + - LP: #926321 + * usb: io_ti: Make edge_remove_sysfs_attrs the port_remove method. + - LP: #926321 + * USB: usbsevseg: fix max length + - LP: #926321 + * hwmon: (f71805f) Fix clamping of temperature limits + - LP: #926321 + * hwmon: (sht15) fix bad error code + - LP: #926321 + * USB: serial: CP210x: Added USB-ID for the Link Instruments MSO-19 + - LP: #926321 + * USB: cp210x: do not map baud rates to B0 + - LP: #926321 + * USB: ftdi_sio: fix initial baud rate + - LP: #926321 + * Linux 2.6.32.56 + - LP: #926321 + * drm: Fix authentication kernel crash + - LP: #931415 + * Linux 2.6.32.56+drm33.22 + - LP: #931415 + + -- Brad Figg Mon, 13 Feb 2012 12:03:58 -0800 + +linux (2.6.32-38.85) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #921562 + + [ Upstream Kernel Changes ] + + * Revert "ARM: 7220/1: mmc: mmci: Fixup error handling for dma" + - LP: #921113 + + -- Herton Ronaldo Krzesinski Wed, 25 Jan 2012 11:32:53 -0200 + +linux (2.6.32-38.84) lucid-proposed; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #920685 + + [ Upstream Kernel Changes ] + + * KVM: x86: Prevent starting PIT timers in the absence of irqchip support + - LP: #911303 + - CVE-2011-4622 + * cfq-iosched: fix cfq_cic_link() race confition + - LP: #913463 + * SCSI: mpt2sas: _scsih_smart_predicted_fault uses GFP_KERNEL in + interrupt context + - LP: #913463 + * MXC PWM: should active during DOZE/WAIT/DBG mode + - LP: #913463 + * vfs: __read_cache_page should use gfp argument rather than GFP_KERNEL + - LP: #913463 + * ARM:imx:fix pwm period value + - LP: #913463 + * ARM: 7220/1: mmc: mmci: Fixup error handling for dma + - LP: #913463 + * watchdog: hpwdt: Changes to handle NX secure bit in 32bit path + - LP: #913463 + * hung_task: fix false positive during vfork + - LP: #913463 + * ath9k: Fix kernel panic in AR2427 in AP mode + - LP: #913463 + * Linux 2.6.32.53 + - LP: #913463 + * MAINTAINERS: stable: Update address + - LP: #915900 + * Documentation: Update stable address + - LP: #915900 + * firmware: Fix an oops on reading fw_priv->fw in sysfs loading file + - LP: #915900 + * offb: Fix setting of the pseudo-palette for >8bpp + - LP: #915900 + * offb: Fix bug in calculating requested vram size + - LP: #915900 + * asix: new device id + - LP: #915900 + * reiserfs: Fix quota mount option parsing + - LP: #915900 + * reiserfs: Force inode evictions before umount to avoid crash + - LP: #915900 + * USB: update documentation for usbmon + - LP: #915900 + * drivers/usb/class/cdc-acm.c: clear dangling pointer + - LP: #915900 + * USB: isight: fix kernel bug when loading firmware + - LP: #915900 + * usb: usb-storage doesn't support dynamic id currently, the patch + disables the feature to fix an oops + - LP: #915900 + * USB: add quirk for another camera + - LP: #915900 + * USB: omninet: fix write_room + - LP: #915900 + * USB: Add USB-ID for Multiplex RC serial adapter to cp210x.c + - LP: #915900 + * asix: fix infinite loop in rx_fixup() + - LP: #915900 + * PM / Sleep: Fix race between CPU hotplug and freezer + - LP: #915900 + * SCSI: scsi_dh: check queuedata pointer before proceeding further + - LP: #915900 + * xfs: validate acl count + - LP: #915900 + * xfs: fix acl count validation in xfs_acl_from_disk() + - LP: #915900 + * Linux 2.6.32.54 + - LP: #915900 + + -- Brad Figg Mon, 23 Jan 2012 14:15:38 -0800 + +linux (2.6.32-38.83) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #911405 + + [ Upstream Kernel Changes ] + + * Revert "clockevents: Set noop handler in clockevents_exchange_device()" + - LP: #911392 + * Linux 2.6.32.52 + - LP: #911392 + + -- Herton Ronaldo Krzesinski Tue, 03 Jan 2012 16:51:53 -0200 + +linux (2.6.32-38.82) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #910906 + + [ Tetsuo Handa ] + + * SAUCE: netns: Add quota for number of NET_NS instances. + + [ Tim Gardner ] + + * [Config] CONFIG_NET_NS=y + - LP: #790863 + + [ Upstream Kernel Changes ] + + * Revert "core: Fix memory leak/corruption on VLAN GRO_DROP, + CVE-2011-1576" + * hfs: fix hfs_find_init() sb->ext_tree NULL ptr oops, CVE-2011-2203 + - LP: #899466 + - CVE-2011-2203 + * net: ipv4: relax AF_INET check in bind() + - LP: #900396 + * KEYS: Fix a NULL pointer deref in the user-defined key type, + CVE-2011-4110 + - LP: #894369 + - CVE-2011-4110 + * i2c-algo-bit: Generate correct i2c address sequence for 10-bit target + - LP: #902317 + * eCryptfs: Extend array bounds for all filename chars + - LP: #902317 + * PCI hotplug: shpchp: don't blindly claim non-AMD 0x7450 device IDs + - LP: #902317 + * ARM: 7161/1: errata: no automatic store buffer drain + - LP: #902317 + * ALSA: lx6464es - fix device communication via command bus + - LP: #902317 + * SUNRPC: Ensure we return EAGAIN in xs_nospace if congestion is cleared + - LP: #902317 + * timekeeping: add arch_offset hook to ktime_get functions + - LP: #902317 + * p54spi: Add missing spin_lock_init + - LP: #902317 + * p54spi: Fix workqueue deadlock + - LP: #902317 + * nl80211: fix MAC address validation + - LP: #902317 + * gro: reset vlan_tci on reuse + - LP: #902317 + * staging: usbip: bugfix for deadlock + - LP: #902317 + * staging: comedi: fix oops for USB DAQ devices. + - LP: #902317 + * Staging: comedi: fix signal handling in read and write + - LP: #902317 + * USB: whci-hcd: fix endian conversion in qset_clear() + - LP: #902317 + * usb: ftdi_sio: add PID for Propox ISPcable III + - LP: #902317 + * usb: option: add SIMCom SIM5218 + - LP: #902317 + * USB: usb-storage: unusual_devs entry for Kingston DT 101 G2 + - LP: #902317 + * SCSI: scsi_lib: fix potential NULL dereference + - LP: #902317 + * SCSI: Silencing 'killing requests for dead queue' + - LP: #902317 + * cifs: fix cifs stable patch cifs-fix-oplock-break-handling-try-2.patch + - LP: #902317 + * sched, x86: Avoid unnecessary overflow in sched_clock + - LP: #902317 + * x86/mpparse: Account for bus types other than ISA and PCI + - LP: #902317 + * oprofile, x86: Fix crash when unloading module (nmi timer mode) + - LP: #902317 + * genirq: Fix race condition when stopping the irq thread + - LP: #902317 + * tick-broadcast: Stop active broadcast device when replacing it + - LP: #902317 + * clockevents: Set noop handler in clockevents_exchange_device() + - LP: #902317 + * Linux 2.6.32.50 + - LP: #902317 + * nfsd4: permit read opens of executable-only files + - LP: #833300 + * ipv6: Allow inet6_dump_addr() to handle more than 64 addresses + - LP: #863394 + * ALSA: sis7019 - give slow codecs more time to reset + - LP: #907774 + * ALSA: hda/realtek - Fix Oops in alc_mux_select() + - LP: #907774 + * ARM: davinci: dm646x evm: wrong register used in + setup_vpif_input_channel_mode + - LP: #907774 + * oprofile: Free potentially owned tasks in case of errors + - LP: #907774 + * oprofile: Fix locking dependency in sync_start() + - LP: #907774 + * percpu: fix chunk range calculation + - LP: #907774 + * xfrm: Fix key lengths for rfc3686(ctr(aes)) + - LP: #907774 + * linux/log2.h: Fix rounddown_pow_of_two(1) + - LP: #907774 + * jbd/jbd2: validate sb->s_first in journal_get_superblock() + - LP: #907774 + * hfs: fix hfs_find_init() sb->ext_tree NULL ptr oops + - LP: #907774 + * export __get_user_pages_fast() function + - LP: #907774 + * oprofile, x86: Fix nmi-unsafe callgraph support + - LP: #907774 + * oprofile, x86: Fix crash when unloading module (timer mode) + - LP: #907774 + * ext4: avoid hangs in ext4_da_should_update_i_disksize() + - LP: #907774 + * USB: cdc-acm: add IDs for Motorola H24 HSPA USB module. + - LP: #907774 + * Linux 2.6.32.51 + - LP: #907774 + + -- Herton Ronaldo Krzesinski Mon, 02 Jan 2012 15:26:33 -0200 + +linux (2.6.32-37.81) lucid-proposed; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #899339 + + [ Upstream Kernel Changes ] + + * (pre-stable) sparc: sigutil: Include + - LP: #899311 + + -- Brad Figg Fri, 02 Dec 2011 11:11:27 -0800 + +linux (2.6.32-37.80) lucid-proposed; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #898283 + + [ Upstream Kernel Changes ] + + * Revert "x86, hotplug: Use mwait to offline a processor, fix the legacy + case" + - LP: #888042 + * Revert "usb: musb: restore INDEX register in resume path" + - LP: #888042 + * Revert "MIPS: MTX-1: Make au1000_eth probe all PHY + - LP: #888042 + * Revert "ALSA: hda: Fix quirk for Dell Inspiron 910" + - LP: #875300 + * USB: ftdi_sio: add Calao reference board support + - LP: #888042 + * USB: EHCI: Do not rely on PORT_SUSPEND to stop USB resuming in + ehci_bus_resume(). + - LP: #888042 + * rt2x00: do not drop usb dev reference counter on suspend + - LP: #888042 + * atm: br2684: Fix oops due to skb->dev being NULL + - LP: #888042 + * sparc: Allow handling signals when stack is corrupted. + - LP: #888042 + * sparc: fix array bounds error setting up PCIC NMI trap + - LP: #888042 + * net: Fix IPv6 GSO type checks in Intel ethernet drivers + - LP: #888042 + * ipv6: Add GSO support on forwarding path + - LP: #888042 + * GRO: fix merging a paged skb after non-paged skbs + - LP: #888042 + * xen-blkfront: fix data size for xenbus_gather in blkfront_connect + - LP: #888042 + * md/linear: avoid corrupting structure while waiting for rcu_free to + complete. + - LP: #888042 + * powerpc/pci: Check devices status property when scanning OF tree + - LP: #888042 + * xen: x86_32: do not enable iterrupts when returning from exception in + interrupt context + - LP: #888042 + * xen/smp: Warn user why they keel over - nosmp or noapic and what to use + instead. + - LP: #888042 + * ARM: davinci: da850 EVM: read mac address from SPI flash + - LP: #888042 + * md: Fix handling for devices from 2TB to 4TB in 0.90 metadata. + - LP: #888042 + * net/9p: fix client code to fail more gracefully on protocol error + - LP: #888042 + * fs/9p: Fid is not valid after a failed clunk. + - LP: #888042 + * net/9p: Fix the msize calculation. + - LP: #888042 + * irda: fix smsc-ircc2 section mismatch warning + - LP: #888042 + * qla2xxx: Correct inadvertent loop state transitions during port-update + handling. + - LP: #888042 + * e1000: Fix driver to be used on PA RISC C8000 workstations + - LP: #888042 + * ASoC: Fix reporting of partial jack updates + - LP: #888042 + * ALSA: HDA: Cirrus - fix "Surround Speaker" volume control name + - LP: #888042 + * b43: Fix beacon problem in ad-hoc mode + - LP: #888042 + * wireless: Reset beacon_found while updating regulatory + - LP: #888042 + * USB: PL2303: correctly handle baudrates above 115200 + - LP: #888042 + * ASIX: Add AX88772B USB ID + - LP: #888042 + * hvc_console: Improve tty/console put_chars handling + - LP: #888042 + * TPM: Call tpm_transmit with correct size + - LP: #888042 + * TPM: Zero buffer after copying to userspace + - LP: #888042 + * libiscsi_tcp: fix LLD data allocation + - LP: #888042 + * cnic: Improve NETDEV_UP event handling + - LP: #888042 + * ALSA: hda/realtek - Avoid bogus HP-pin assignment + - LP: #888042 + * 3w-9xxx: fix iommu_iova leak + - LP: #888042 + * aacraid: reset should disable MSI interrupt + - LP: #888042 + * libsas: fix failure to revalidate domain for anything but the first + expander child. + - LP: #888042 + * cfg80211: Fix validation of AKM suites + - LP: #888042 + * libsas: fix panic when single phy is disabled on a wide port + - LP: #888042 + * ahci: Enable SB600 64bit DMA on Asus M3A + - LP: #888042 + * HID: usbhid: Add support for SiGma Micro chip + - LP: #888042 + * hwmon: (w83627ehf) Properly report thermal diode sensors + - LP: #888042 + * x25: Prevent skb overreads when checking call user data + - LP: #888042 + * staging: quatech_usb2: Potential lost wakeup scenario in TIOCMIWAIT + - LP: #888042 + * USB: qcserial: add device ID for "HP un2430 Mobile Broadband Module" + - LP: #888042 + * xhci-mem.c: Check for ring->first_seg != NULL + - LP: #888042 + * ipr: Always initiate hard reset in kdump kernel + - LP: #888042 + * libsas: set sas_address and device type of rphy + - LP: #888042 + * ALSA: HDA: Add new revision for ALC662 + - LP: #877373, #888042 + * x86: Fix compilation bug in kprobes' twobyte_is_boostable + - LP: #888042 + * epoll: fix spurious lockdep warnings + - LP: #888042 + * usbmon vs. tcpdump: fix dropped packet count + - LP: #888042 + * USB: storage: Use normalized sense when emulating autosense + - LP: #888042 + * USB: pid_ns: ensure pid is not freed during kill_pid_info_as_uid + - LP: #888042 + * usb: cdc-acm: Owen SI-30 support + - LP: #888042 + * USB: add RESET_RESUME for webcams shown to be quirky + - LP: #888042 + * USB: pl2303: add id for SMART device + - LP: #888042 + * USB: ftdi_sio: add PID for Sony Ericsson Urban + - LP: #888042 + * USB: ftdi_sio: Support TI/Luminary Micro Stellaris BD-ICDI Board + - LP: #888042 + * QE/FHCI: fixed the CONTROL bug + - LP: #888042 + * Update email address for stable patch submission + - LP: #888042 + * kobj_uevent: Ignore if some listeners cannot handle message + - LP: #888042 + * kmod: prevent kmod_loop_msg overflow in __request_module() + - LP: #888042 + * time: Change jiffies_to_clock_t() argument type to unsigned long + - LP: #888042 + * nfsd4: Remove check for a 32-bit cookie in nfsd4_readdir() + - LP: #888042 + * nfsd4: ignore WANT bits in open downgrade + - LP: #888042 + * ASoC: ak4642: fixup cache register table + - LP: #888042 + * ASoC: ak4535: fixup cache register table + - LP: #888042 + * KVM: s390: check cpu_id prior to using it + - LP: #888042 + * ccwgroup: move attributes to attribute group + - LP: #888042 + * iommu/amd: Fix wrong shift direction + - LP: #888042 + * carminefb: Fix module parameters permissions + - LP: #888042 + * uvcvideo: Set alternate setting 0 on resume if the bus has been reset + - LP: #888042 + * tuner_xc2028: Allow selection of the frequency adjustment code for + XC3028 + - LP: #888042 + * plat-mxc: iomux-v3.h: implicitly enable pull-up/down when that's + desired + - LP: #888042 + * um: fix ubd cow size + - LP: #888042 + * cfq: calculate the seek_mean per cfq_queue not per cfq_io_context + - LP: #888042 + * cfq: merge cooperating cfq_queues + - LP: #888042 + * cfq: change the meaning of the cfqq_coop flag + - LP: #888042 + * cfq: break apart merged cfqqs if they stop cooperating + - LP: #888042 + * cfq-iosched: get rid of the coop_preempt flag + - LP: #888042 + * cfq: Don't allow queue merges for queues that have no process + references + - LP: #888042 + * xen/timer: Missing IRQF_NO_SUSPEND in timer code broke suspend. + - LP: #888042 + * KVM: x86: Reset tsc_timestamp on TSC writes + - LP: #888042 + * watchdog: mtx1-wdt: fix build failure + - LP: #888042 + * kcore: fix test for end of list + - LP: #888042 + * thinkpad-acpi: module autoloading for newer Lenovo ThinkPads. + - LP: #888042 + * scm: lower SCM_MAX_FD + - LP: #888042 + * NLM: Don't hang forever on NLM unlock requests + - LP: #888042 + * ext4: fix BUG_ON() in ext4_ext_insert_extent() + - LP: #888042 + * drivers/net/rionet.c: fix ethernet address macros for LE platforms + - LP: #888042 + * ext2,ext3,ext4: don't inherit APPEND_FL or IMMUTABLE_FL for new inodes + - LP: #888042 + * USB: Serial: Add device ID for Sierra Wireless MC8305 + - LP: #888042 + * USB: Serial: Add PID(0xF7C0) to FTDI SIO driver for a + zeitcontrol-device + - LP: #888042 + * Linux 2.6.32.47 + - LP: #888042 + * Linux 2.6.32.48 + - LP: #888042 + * drm: radeon: fix sign bug + - LP: #888042 + * drm/radeon/kms: prefer high post dividers in legacy pll algo + - LP: #888042 + * Linux 2.6.32.48+drm33.21 + - LP: #888042 + * crypto: ghash - Avoid null pointer dereference if no key is set + - LP: #887299 + - CVE-2011-4081 + * xfs: Fix possible memory corruption in xfs_readlink, CVE-2011-4077 + - LP: #887298 + - CVE-2011-4077 + * jbd/jbd2: validate sb->s_first in journal_get_superblock() + - LP: #893148 + - CVE-2011-4132 + * hfs: add sanity check for file name length, CVE-2011-4330 + - LP: #894374 + - CVE-2011-4330 + * ipv6: udp: fix the wrong headroom check + - LP: #894373 + - CVE-2011-4326 + * st: fix race in st_scsi_execute_end + - LP: #897377 + * Make scsi_free_queue() kill pending SCSI commands + - LP: #897377 + * NFS/sunrpc: don't use a credential with extra groups. + - LP: #897377 + * netlink: validate NLA_MSECS length + - LP: #897377 + * mtd: mtdchar: add missing initializer on raw write + - LP: #897377 + * PM / Suspend: Off by one in pm_suspend() + - LP: #897377 + * kbuild: Disable -Wunused-but-set-variable for gcc 4.6.0 + - LP: #897377 + * ASoC: wm8940: Properly set codec->dapm.bias_level + - LP: #897377 + * md/raid5: abort any pending parity operations when array fails. + - LP: #897377 + * Remove the old V4L1 v4lgrab.c file + - LP: #897377 + * genirq: Add IRQF_RESUME_EARLY and resume such IRQs earlier + - LP: #897377 + * mm: avoid null pointer access in vm_struct via /proc/vmallocinfo + - LP: #897377 + * kbuild: Fix passing -Wno-* options to gcc 4.4+ + - LP: #897377 + * USB: serial: pl2303: rm duplicate id + - LP: #897377 + * USB: Fix Corruption issue in USB ftdi driver ftdi_sio.c + - LP: #897377 + * usb-storage: Accept 8020i-protocol commands longer than 12 bytes + - LP: #897377 + * USB: add quirk for Logitech C600 web cam + - LP: #897377 + * USB: quirks: adding more quirky webcams to avoid squeaky audio + - LP: #897377 + * Linux 2.6.32.49 + - LP: #897377 + + -- Brad Figg Wed, 30 Nov 2011 10:09:40 -0800 + +linux (2.6.32-36.79) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #887727 + + [ Upstream Kernel Changes ] + + * net_sched: Fix qdisc_notify() - CVE-2011-2525 + - LP: #869250 + - CVE-2011-2525 + * ipv6: restore correct ECN handling on TCP xmit + - LP: #872179 + * nl80211: fix overflow in ssid_len - CVE-2011-2517 + - LP: #869245 + - CVE-2011-2517 + * vm: fix vm_pgoff wrap in stack expansion - CVE-2011-2496 + - LP: #869243 + - CVE-2011-2496 + * vm: fix vm_pgoff wrap in upward expansion - CVE-2011-2496 + - LP: #869243 + - CVE-2011-2496 + * drm: mm: fix range restricted allocations + - LP: #873130 + * NLM: Don't hang forever on NLM unlock requests - CVE-2011-2491 + - LP: #869237 + - CVE-2011-2491 + + -- Herton Ronaldo Krzesinski Tue, 08 Nov 2011 17:20:39 -0200 + +linux (2.6.32-35.78) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #871899 + + [ Andrew Dickinson ] + + * SAUCE: sched: Prevent divide by zero when cpu_power is 0 + - LP: #614853 + + [ Stefan Bader ] + + * [Config] Force perf to use libiberty for demangling + - LP: #783660 + + [ Tim Gardner ] + + * [Config] Simplify binary-udebs dependencies + - LP: #832352 + * [Config] kernel preparation cannot be parallelized + - LP: #832352 + * [Config] Linearize module/abi checks + - LP: #832352 + * [Config] Linearize and simplify tree preparation rules + - LP: #832352 + * [Config] Build kernel image in parallel with modules + - LP: #832352 + * [Config] Set concurrency for kmake invocations + - LP: #832352 + * [Config] Improve install-arch-headers speed + - LP: #832352 + * [Config] Fix binary-perarch dependencies + - LP: #832352 + * [Config] Removed stamp-flavours target + - LP: #832352 + * [Config] Serialize binary indep targets + - LP: #832352 + * [Config] Use build stamp directly + - LP: #832352 + * [Config] Restore prepare-% target + - LP: #832352 + * [Config] Fix binary-% build target + * [Config] Fix install-headers target + - LP: #832352 + * SAUCE: igb: Protect stats update + - LP: #829566 + * SAUCE: rtl8192se spams log + - LP: #859702 + + [ Upstream Kernel Changes ] + + * Add mount option to check uid of device being mounted = expect uid, + CVE-2011-1833 + - LP: #732628 + - CVE-2011-1833 + * crypto: Move md5_transform to lib/md5.c + - LP: #827462 + * net: Compute protocol sequence numbers and fragment IDs using MD5. + - LP: #827462 + * ALSA: timer - Fix Oops at closing slave timer + - LP: #827462 + * ALSA: snd-usb-caiaq: Fix keymap for RigKontrol3 + - LP: #827462 + * powerpc: Fix device tree claim code + - LP: #827462 + * powerpc: pseries: Fix kexec on machines with more than 4TB of RAM + - LP: #827462 + * Linux 2.6.32.45+drm33.19 + - LP: #827462 + * ipv6: make fragment identifications less predictable, CVE-2011-2699 + - LP: #827685 + - CVE-2011-2699 + * tunnels: fix netns vs proto registration ordering + - LP: #823296 + * Fix broken backport for IPv6 tunnels in 2.6.32-longterm kernels. + * USB: xhci: fix OS want to own HC + - LP: #837669 + * USB: assign instead of equal in usbtmc.c + - LP: #837669 + * USB: usb-storage: unusual_devs entry for ARM V2M motherboard. + - LP: #837669 + * USB: Serial: Added device ID for Qualcomm Modem in Sagemcom's HiLo3G + - LP: #837669 + * atm: br2864: sent packets truncated in VC routed mode + - LP: #837669 + * hwmon: (ibmaem) add missing kfree + - LP: #837669 + * ALSA: snd-usb-caiaq: Correct offset fields of outbound iso_frame_desc + - LP: #837669 + * mm: fix wrong vmap address calculations with odd NR_CPUS values + - LP: #837669 + * perf tools: do not look at ./config for configuration + - LP: #837669 + * fs/partitions/efi.c: corrupted GUID partition tables can cause kernel + oops + - LP: #837669 + * befs: Validate length of long symbolic links. + - LP: #837669 + * ALSA: snd_usb_caiaq: track submitted output urbs + - LP: #837669 + * ALSA: ac97: Add HP Compaq dc5100 SFF(PT003AW) to Headphone Jack Sense + whitelist + - LP: #826081, #837669 + * futex: Fix regression with read only mappings + - LP: #837669 + * x86-32, vdso: On system call restart after SYSENTER, use int $0x80 + - LP: #837669 + * x86, UV: Remove UV delay in starting slave cpus + - LP: #837669 + * drm/ttm: fix ttm_bo_add_ttm(user) failure path + - LP: #837669 + * fuse: check size of FUSE_NOTIFY_INVAL_ENTRY message + - LP: #837669 + * igb: Fix lack of flush after register write and before delay + - LP: #837669 + * Linux 2.6.32.46 + - LP: #837669 + * cifs: fix possible memory corruption in CIFSFindNext, CVE-2011-3191 + - LP: #834135 + - CVE-2011-3191 + * Bluetooth: Prevent buffer overflow in l2cap config request, + CVE-2011-2497 + - LP: #838423 + - CVE-2011-2497 + * core: Fix memory leak/corruption on VLAN GRO_DROP, CVE-2011-1576 + - LP: #844361 + - CVE-2011-1576 + * ext4: Fix max file size and logical block counting of extent format + file, CVE-2011-2695 + - LP: #819574 + - CVE-2011-2695 + * drm/i915: prepare for fair lru eviction + - LP: #843904 + * drm/i915: Move the eviction logic to its own file. + - LP: #843904 + * drm/i915: Implement fair lru eviction across both rings. (v2) + - LP: #843904 + * drm/i915: Maintain LRU order of inactive objects upon access by CPU + (v2) + - LP: #843904 + * drm/i915/evict: Ensure we completely cleanup on failure + - LP: #843904 + * drm/i915: Periodically flush the active lists and requests + - LP: #843904 + * Make TASKSTATS require root access, CVE-2011-2494 + - LP: #866021 + - CVE-2011-2494 + * proc: fix a race in do_io_accounting(), CVE-2011-2495 + - LP: #866025 + - CVE-2011-2495 + * drm/i915: Remove BUG_ON from i915_gem_evict_something + - LP: #828550 + * drm/i915: Hold a reference to the object whilst unbinding the eviction + list + - LP: #843904 + * drm/i915: Fix refleak during eviction. + - LP: #843904 + * Linux 2.6.32.46+drm33.20 + + -- Herton Ronaldo Krzesinski Mon, 10 Oct 2011 14:12:26 -0300 + +linux (2.6.32-34.77) lucid-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #849228 + + [ Upstream Kernel Changes ] + + * Revert "drm/i915: Remove BUG_ON from i915_gem_evict_something" + * Revert "drm/i915: Periodically flush the active lists and requests" + * Revert "drm/i915/evict: Ensure we completely cleanup on failure" + * Revert "drm/i915: Maintain LRU order of inactive objects upon access by + CPU (v2)" + * Revert "drm/i915: Implement fair lru eviction across both rings. (v2)" + * Revert "drm/i915: Move the eviction logic to its own file." + * Revert "drm/i915: prepare for fair lru eviction" + + -- Steve Conklin Tue, 13 Sep 2011 13:04:10 -0500 + +linux (2.6.32-34.76) lucid-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #836914 + + [ Upstream Kernel Changes ] + + * Revert "drm/nv50-nvc0: work around an evo channel hang that some people + see" + * Revert "eCryptfs: Handle failed metadata read in lookup" + * Revert "tunnels: fix netns vs proto registration ordering" + + -- Steve Conklin Mon, 29 Aug 2011 13:06:52 -0500 + +linux (2.6.32-34.75) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #832332 + + [ Upstream Kernel Changes ] + + * drm/i915: Remove BUG_ON from i915_gem_evict_something + - LP: #828550 + + -- Herton Ronaldo Krzesinski Tue, 23 Aug 2011 17:35:23 -0300 + +linux (2.6.32-34.74) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #828375 + + [ Upstream Kernel Changes ] + + * proc: fix oops on invalid /proc//maps access, CVE-2011-1020 + - LP: #813026 + - CVE-2011-1020 + + -- Herton Ronaldo Krzesinski Wed, 17 Aug 2011 19:14:22 -0300 + +linux (2.6.32-34.73) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #824148 + + [ Tim Gardner ] + + * SAUCE: rtl8192se: Force a build for a 2.6/3.0 kernel + - LP: #805494 + * [Config] Add enic/fnic to udebs + - LP: #801610 + + [ Upstream Kernel Changes ] + + * tty: icount changeover for other main devices, CVE-2010-4076, + CVE-2010-4077 + - LP: #720189 + - CVE-2010-4077 + * fs/partitions/efi.c: corrupted GUID partition tables can cause kernel + oops + - LP: #795418 + - CVE-2011-1577 + * ftrace: Only update the function code on write to filter files + - LP: #802383 + * kmemleak: Do not return a pointer to an object that kmemleak did not + get + - LP: #802383 + * CPU hotplug, re-create sysfs directory and symlinks + - LP: #802383 + * Fix memory leak in cpufreq_stat + - LP: #802383 + * powerpc/kexec: Fix memory corruption from unallocated slaves + - LP: #802383 + * powerpc/oprofile: Handle events that raise an exception without + overflowing + - LP: #802383 + * mtd: mtdconcat: fix NAND OOB write + - LP: #802383 + * x86, 64-bit: Fix copy_[to/from]_user() checks for the userspace address + limit + - LP: #802383 + * ext3: Fix fs corruption when make_indexed_dir() fails + - LP: #802383 + * jbd: Fix forever sleeping process in do_get_write_access() + - LP: #802383 + * jbd: fix fsync() tid wraparound bug + - LP: #802383 + * ext4: release page cache in ext4_mb_load_buddy error path + - LP: #802383 + * Fix Ultrastor asm snippet + - LP: #802383 + * x86, amd: Do not enable ARAT feature on AMD processors below family + 0x12 + - LP: #802383 + * x86, amd: Use _safe() msr access for GartTlbWlk disable code + - LP: #802383 + * rcu: Fix unpaired rcu_irq_enter() from locking selftests + - LP: #802383 + * staging: usbip: fix wrong endian conversion + - LP: #802383 + * Fix for buffer overflow in ldm_frag_add not sufficient + - LP: #802383 + * seqlock: Don't smp_rmb in seqlock reader spin loop + - LP: #802383 + * ALSA: HDA: Use one dmic only for Dell Studio 1558 + - LP: #731706, #802383 + * ASoC: Ensure output PGA is enabled for line outputs in wm_hubs + - LP: #802383 + * ASoC: Add some missing volume update bit sets for wm_hubs devices + - LP: #802383 + * mm/page_alloc.c: prevent unending loop in __alloc_pages_slowpath() + - LP: #802383 + * loop: limit 'max_part' module param to DISK_MAX_PARTS + - LP: #802383 + * loop: handle on-demand devices correctly + - LP: #802383 + * USB: CP210x Add 4 Device IDs for AC-Services Devices + - LP: #802383 + * USB: moto_modem: Add USB identifier for the Motorola VE240. + - LP: #802383 + * USB: serial: ftdi_sio: adding support for TavIR STK500 + - LP: #802383 + * USB: gamin_gps: Fix for data transfer problems in native mode + - LP: #802383 + * usb/gadget: at91sam9g20 fix end point max packet size + - LP: #802383 + * usb: gadget: rndis: don't test against req->length + - LP: #802383 + * OHCI: fix regression caused by nVidia shutdown workaround + - LP: #802383 + * p54usb: add zoom 4410 usbid + - LP: #802383 + * eCryptfs: Allow 2 scatterlist entries for encrypted filenames + - LP: #802383 + * UBIFS: fix a rare memory leak in ro to rw remounting path + - LP: #802383 + * i8k: Avoid lahf in 64-bit code + - LP: #802383 + * cpuidle: menu: fixed wrapping timers at 4.294 seconds + - LP: #802383 + * dm table: reject devices without request fns + - LP: #802383 + * atm: expose ATM device index in sysfs + - LP: #802383 + * brd: limit 'max_part' module param to DISK_MAX_PARTS + - LP: #802383 + * brd: handle on-demand devices correctly + - LP: #802383 + * SUNRPC: Deal with the lack of a SYN_SENT sk->sk_state_change + callback... + - LP: #802383 + * PCI: Add quirk for setting valid class for TI816X Endpoint + - LP: #802383 + * xen mmu: fix a race window causing leave_mm BUG() + - LP: #802383 + * netfilter: nf_conntrack_reasm: properly handle packets fragmented into + a single fragment + - LP: #802383 + * fix memory leak in scsi_report_lun_scan + - LP: #802383 + * fix refcounting bug in scsi_get_host_dev + - LP: #802383 + * fix duplicate removal on error path in scsi_sysfs_add_sdev + - LP: #802383 + * UBIFS: fix shrinker object count reports + - LP: #802383 + * UBIFS: fix memory leak on error path + - LP: #802383 + * nbd: limit module parameters to a sane value + - LP: #802383 + * mm: fix ENOSPC returned by handle_mm_fault() + - LP: #802383 + * PCI: Set PCIE maxpayload for card during hotplug insertion + - LP: #802383 + * nl80211: fix check for valid SSID size in scan operations + - LP: #802383 + * lockdep: Fix lock_is_held() on recursion + - LP: #802383 + * drm/i915: Add a no lvds quirk for the Asus EeeBox PC EB1007 + - LP: #802383 + * drm/radeon/kms: fix for radeon on systems >4GB without hardware iommu + - LP: #802383 + * fat: Fix corrupt inode flags when remove ATTR_SYS flag + - LP: #802383 + * xen: off by one errors in multicalls.c + - LP: #802383 + * x86/amd-iommu: Fix 3 possible endless loops + - LP: #802383 + * USB: cdc-acm: Adding second ACM channel support for Nokia E7 and C7 + - LP: #802383 + * USB: core: Tolerate protocol stall during hub and port status read + - LP: #802383 + * USB: serial: add another 4N-GALAXY.DE PID to ftdi_sio driver + - LP: #802383 + * ALSA: hda: Fix quirk for Dell Inspiron 910 + - LP: #792712, #802383 + * oprofile, dcookies: Fix possible circular locking dependency + - LP: #802383 + * CPUFREQ: Remove cpufreq_stats sysfs entries on module unload. + - LP: #802383 + * md: check ->hot_remove_disk when removing disk + - LP: #802383 + * md/raid5: fix raid5_set_bi_hw_segments + - LP: #802383 + * md/raid5: fix FUA request handling in ops_run_io() + - LP: #802383 + * ata: use pci_dev->revision + - LP: #802383 + * pata_cmd64x: fix PIO setup + - LP: #802383 + * pata_cmd64x: cmd648_bmdma_stop() fix + - LP: #802383 + * pata_cmd64x: remove unused definitions + - LP: #802383 + * pata_cm64x: fix boot crash on parisc + - LP: #802383 + * ACPI: use _HID when supplied by root-level devices + - LP: #802383 + * xfs: properly account for reclaimed inodes + - LP: #802383 + * exec: delay address limit change until point of no return + - LP: #802383 + * netfilter: IPv6: initialize TOS field in REJECT target module + - LP: #802383 + * netfilter: IPv6: fix DSCP mangle code + - LP: #802383 + * genirq: Add IRQF_FORCE_RESUME + - LP: #802383 + * xen: Use IRQF_FORCE_RESUME + - LP: #802383 + * time: Compensate for rounding on odd-frequency clocksources + - LP: #802383 + * Linux 2.6.32.42 + - LP: #802383 + * taskstats: don't allow duplicate entries in listener mode, + CVE-2011-2484 + - LP: #806390 + - CVE-2011-2484 + * drm_mm: extract check_free_mm_node + - LP: #599017, #807508 + * drm: implement helper functions for scanning lru list + - LP: #599017, #807508 + * drm/i915: prepare for fair lru eviction + - LP: #599017, #807508 + * drm/i915: Move the eviction logic to its own file. + - LP: #599017, #807508 + * drm/i915: Implement fair lru eviction across both rings. (v2) + - LP: #599017, #807508 + * drm/i915: Maintain LRU order of inactive objects upon access by CPU + (v2) + - LP: #599017, #807508 + * drm/i915/evict: Ensure we completely cleanup on failure + - LP: #599017, #807508 + * drm/i915: Periodically flush the active lists and requests + - LP: #599017, #807508 + * Linux 2.6.32.42+drm33.19 + - LP: #807508 + * net: add limit for socket backlog CVE-2010-4251 + - LP: #807462 + * tcp: use limited socket backlog CVE-2010-4251 + - LP: #807462 + * ipv6: udp: Optimise multicast reception + - LP: #807462 + * ipv4: udp: Optimise multicast reception + - LP: #807462 + * udp: multicast RX should increment SNMP/sk_drops counter in allocation + failures CVE-2010-4251 + - LP: #807462 + * udp: use limited socket backlog CVE-2010-4251 + - LP: #807462 + * llc: use limited socket backlog CVE-2010-4251 + - LP: #807462 + * sctp: use limited socket backlog CVE-2010-4251 + - LP: #807462 + * tipc: use limited socket backlog CVE-2010-4251 + - LP: #807462 + * x25: use limited socket backlog CVE-2010-4251 + - LP: #807462 + * net: backlog functions rename CVE-2010-4251 + - LP: #807462 + * net: sk_add_backlog() take rmem_alloc into account CVE-2010-4805 + - LP: #809318 + * ksm: fix NULL pointer dereference in scan_get_next_rmap_item() + - LP: #810425 + * migrate: don't account swapcache as shmem + - LP: #810425 + * clocksource: Make watchdog robust vs. interruption + - LP: #810425 + * TTY: ldisc, do not close until there are readers + - LP: #810425 + * xhci: Reject double add of active endpoints. + - LP: #810425 + * PM: Free memory bitmaps if opening /dev/snapshot fails + - LP: #810425 + * ath5k: fix memory leak when fewer than N_PD_CURVES are in use + - LP: #810425 + * mm: fix negative commitlimit when gigantic hugepages are allocated + - LP: #810425 + * uvcvideo: Remove buffers from the queues when freeing + - LP: #810425 + * watchdog: mtx1-wdt: request gpio before using it + - LP: #810425 + * debugobjects: Fix boot crash when kmemleak and debugobjects enabled + - LP: #810425 + * cfq-iosched: fix locking around ioc->ioc_data assignment + - LP: #810425 + * cfq-iosched: fix a rcu warning + - LP: #810425 + * i2c-taos-evm: Fix log messages + - LP: #810425 + * md: avoid endless recovery loop when waiting for fail device to + complete. + - LP: #810425 + * SUNRPC: Ensure the RPC client only quits on fatal signals + - LP: #810425 + * 6pack,mkiss: fix lock inconsistency + - LP: #810425 + * USB: don't let errors prevent system sleep + - LP: #810425 + * USB: don't let the hub driver prevent system sleep + - LP: #810425 + * uml: fix CONFIG_STATIC_LINK=y build failure with newer glibc + - LP: #810425 + * um: os-linux/mem.c needs sys/stat.h + - LP: #810425 + * inet_diag: fix inet_diag_bc_audit() + - LP: #810425 + * PM / Hibernate: Avoid hitting OOM during preallocation of memory + - LP: #810425 + * PM / Hibernate: Fix free_unnecessary_pages() + - LP: #810425 + * bug.h: Add WARN_RATELIMIT + - LP: #810425 + * net: filter: Use WARN_RATELIMIT + - LP: #810425 + * af_packet: prevent information leak + - LP: #810425 + * net/ipv4: Check for mistakenly passed in non-IPv4 address + - LP: #810425 + * ipv6/udp: Use the correct variable to determine non-blocking condition + - LP: #810425 + * udp/recvmsg: Clear MSG_TRUNC flag when starting over for a new packet + - LP: #810425 + * mm: prevent concurrent unmap_mapping_range() on the same inode + - LP: #810425 + * xen: set max_pfn_mapped to the last pfn mapped + - LP: #810425 + * xen: partially revert "xen: set max_pfn_mapped to the last pfn mapped" + - LP: #810425 + * Linux 2.6.32.43 + - LP: #810425 + * eCryptfs: Handle failed metadata read in lookup + - LP: #509180 + * pagemap: close races with suid execve, CVE-2011-1020 + - LP: #813026 + - CVE-2011-1020 + * report errors in /proc/*/*map* sanely, CVE-2011-1020 + - LP: #813026 + - CVE-2011-1020 + * close race in /proc/*/environ, CVE-2011-1020 + - LP: #813026 + - CVE-2011-1020 + * auxv: require the target to be tracable (or yourself), CVE-2011-1020 + - LP: #813026 + - CVE-2011-1020 + * deal with races in /proc/*/{syscall, stack, personality}, CVE-2011-1020 + - LP: #813026 + - CVE-2011-1020 + * rose_loopback_timer sets VC number <= ROSE_DEFAULT_MAXVC, CVE-2011-1493 + - LP: #816550 + - CVE-2011-1493 + * rose: Add length checks to CALL_REQUEST parsing, CVE-2011-1493 + - LP: #816550 + - CVE-2011-1493 + * Bluetooth: l2cap and rfcomm: fix 1 byte infoleak to userspace. + - LP: #819569 + - CVE-2011-2492 + * drm/nv50-nvc0: work around an evo channel hang that some people see + - LP: #583760 + * ASoC: Fix Blackfin I2S _pointer() implementation return in bounds + values + - LP: #823296 + * v4l2-ioctl.c: prefill tuner type for g_frequency and g/s_tuner + - LP: #823296 + * pvrusb2: fix g/s_tuner support + - LP: #823296 + * bttv: fix s_tuner for radio + - LP: #823296 + * gro: Only reset frag0 when skb can be pulled + - LP: #823296 + * NFSv4.1: update nfs4_fattr_bitmap_maxsz + - LP: #823296 + * SUNRPC: Fix a race between work-queue and rpc_killall_tasks + - LP: #823296 + * SUNRPC: Fix use of static variable in rpcb_getport_async + - LP: #823296 + * si4713-i2c: avoid potential buffer overflow on si4713 + - LP: #823296 + * hwmon: (max1111) Fix race condition causing NULL pointer exception + - LP: #823296 + * bridge: send proper message_age in config BPDU + - LP: #823296 + * davinci: DM365 EVM: fix video input mux bits + - LP: #823296 + * libata: fix unexpectedly frozen port after ata_eh_reset() + - LP: #823296 + * x86: Make Dell Latitude E5420 use reboot=pci + - LP: #823296 + * USB: pl2303: add AdLink ND-6530 USB IDs + - LP: #823296 + * USB: pl2303.h: checkpatch cleanups + - LP: #823296 + * USB: serial: add IDs for WinChipHead USB->RS232 adapter + - LP: #823296 + * staging: comedi: fix infoleak to userspace + - LP: #823296 + * USB: OHCI: fix another regression for NVIDIA controllers + - LP: #823296 + * usb: musb: restore INDEX register in resume path + - LP: #823296 + * USB: dummy-hcd needs the has_tt flag + - LP: #823296 + * ARM: pxa/cm-x300: fix V3020 RTC functionality + - LP: #823296 + * jme: Fix unmap error (Causing system freeze) + - LP: #823296 + * libsas: remove expander from dev list on error + - LP: #823296 + * mac80211: Restart STA timers only on associated state + - LP: #823296 + * Blacklist Traxdata CDR4120 and IOMEGA Zip drive to avoid lock ups. + - LP: #823296 + * ses: requesting a fault indication + - LP: #823296 + * pmcraid: reject negative request size + - LP: #823296 + * kexec, x86: Fix incorrect jump back address if not preserving context + - LP: #823296 + * powerpc/kdump: Fix timeout in crash_kexec_wait_realmode + - LP: #823296 + * PCI: ARI is a PCIe v2 feature + - LP: #823296 + * cciss: do not attempt to read from a write-only register + - LP: #823296 + * xtensa: prevent arbitrary read in ptrace + - LP: #823296 + * ext3: Fix oops in ext3_try_to_allocate_with_rsv() + - LP: #823296 + * svcrpc: fix list-corrupting race on nfsd shutdown + - LP: #823296 + * EHCI: only power off port if over-current is active + - LP: #823296 + * EHCI: fix direction handling for interrupt data toggles + - LP: #823296 + * powerpc/pseries/hvconsole: Fix dropped console output + - LP: #823296 + * x86: Hpet: Avoid the comparator readback penalty + - LP: #823296 + * x86: HPET: Chose a paranoid safe value for the ETIME check + - LP: #823296 + * cifs: clean up cifs_find_smb_ses (try #2) + - LP: #823296 + * cifs: fix NULL pointer dereference in cifs_find_smb_ses + - LP: #823296 + * cifs: check for NULL session password + - LP: #823296 + * gre: fix netns vs proto registration ordering + - LP: #823296 + * netns xfrm: fixup xfrm6_tunnel error propagation + - LP: #823296 + * tunnels: fix netns vs proto registration ordering + - LP: #823296 + * alpha: fix several security issues + - LP: #823296 + * proc: restrict access to /proc/PID/io + - LP: #823296 + * ALSA: sound/core/pcm_compat.c: adjust array index + - LP: #823296 + * dm mpath: fix potential NULL pointer in feature arg processing + - LP: #823296 + * dm: fix idr leak on module removal + - LP: #823296 + * perf: overflow/perf_count_sw_cpu_clock crashes recent kernels + - LP: #823296 + * atm: [br2684] allow routed mode operation again + - LP: #823296 + * Linux 2.6.32.44 + - LP: #823296 + + -- Herton Ronaldo Krzesinski Wed, 10 Aug 2011 16:52:10 -0300 + +linux (2.6.32-33.72) lucid-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #818196 + + [ Upstream Kernel Changes ] + + * Revert "fix oops in scsi_run_queue()" + - LP: #811745 + * Revert "put stricter guards on queue dead checks" + - LP: #811745 + + -- Steve Conklin Fri, 29 Jul 2011 12:33:46 -0500 + +linux (2.6.32-33.71) lucid-proposed; urgency=low + + [Andy Whitcroft] + + * Release Tracking Bug + - LP: #813507 + + [ Upstream Kernel Changes ] + + * splice: direct_splice_actor() should not use pos in sd + - LP: #588861 + + -- Andy Whitcroft Wed, 20 Jul 2011 14:31:11 +0100 + +linux (2.6.32-33.70) lucid-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #807175 + + [ Upstream Kernel Changes ] + + * Revert "x86: Flush TLB if PGD entry is changed in i386 PAE mode" + - LP: #805209 + + -- Steve Conklin Thu, 07 Jul 2011 14:08:13 -0500 + +linux (2.6.32-33.69) lucid-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #802554 + + [ Upstream Kernel Changes ] + + * Revert "af_unix: Only allow recv on connected seqpacket sockets." + + -- Steve Conklin Wed, 22 Jun 2011 10:53:16 -0500 + +linux (2.6.32-33.68) lucid-proposed; urgency=low + + [ Steve Conklin ] + + * Release Tracking Bug + - LP: #798305 + * Fix abi directory + + -- Steve Conklin Fri, 17 Jun 2011 09:41:35 -0500 + +linux (2.6.32-33.67) lucid-proposed; urgency=low + + [ Upstream Kernel Changes ] + + * Revert "iwlagn: Support new 5000 microcode." + + -- Steve Conklin Thu, 16 Jun 2011 10:51:45 -0500 + +linux (2.6.32-33.66) lucid-proposed; urgency=low + + [ Brad Figg ] + + * Release Tracking Bug + - LP: #794098 + + [ Upstream Kernel Changes ] + + * Revert "xhci: Fix full speed bInterval encoding." + * Revert "USB: xhci - fix math in xhci_get_endpoint_interval()" + * Revert "USB: xhci - fix unsafe macro definitions" + + -- Brad Figg Tue, 07 Jun 2011 08:06:27 -0700 + +linux (2.6.32-33.65) lucid-proposed; urgency=low + + [ Upstream Kernel Changes ] + + * xhci: Fix full speed bInterval encoding. + - LP: #792959 + + -- Steve Conklin Sat, 04 Jun 2011 18:41:10 -0500 + +linux (2.6.32-33.64) lucid-proposed; urgency=low + + [ Herton R. Krzesinski ] + + * Release Tracking Bug + - LP: #789325 + + [ Leann Ogasawara ] + + * SAUCE: (no-up) Fix up KVM: VMX: Fix host userspace gsbase corruption + - LP: #787675 + + [ Thomas Schlichter ] + + * SAUCE: vesafb: mtrr module parameter is uint, not bool + - LP: #778043 + + [ Tim Gardner ] + + * Revert "(pre-stable): input: Support Clickpad devices in ClickZone + mode" + - LP: #780588 + + [ Upstream Kernel Changes ] + + * Revert "GFS2: Fix writing to non-page aligned gfs2_quota structures" + - LP: #780588 + * Revert "mmc: build fix: mmc_pm_notify is only available with + CONFIG_PM=y" + - LP: #780588 + * Revert "mmc: fix all hangs related to mmc/sd card insert/removal during + suspend/resume" + - LP: #780588 + * Revert "econet: fix CVE-2010-3848" + - LP: #780588 + * Revert "dell-laptop: Add another Dell laptop family to the DMI + whitelist" + - LP: #780588 + * Revert "dell-laptop: Add another Dell laptop family to the DMI + whitelist" + - LP: #780588 + * Revert "xen: set max_pfn_mapped to the last pfn mapped" + * cifs: always do is_path_accessible check in cifs_mount + - LP: #770050 + * video: sn9c102: world-wirtable sysfs files + - LP: #770050 + * UBIFS: restrict world-writable debugfs files + - LP: #770050 + * NET: cdc-phonet, handle empty phonet header + - LP: #770050 + * x86: Fix a bogus unwind annotation in lib/semaphore_32.S + - LP: #770050 + * tioca: Fix assignment from incompatible pointer warnings + - LP: #770050 + * mca.c: Fix cast from integer to pointer warning + - LP: #770050 + * ramfs: fix memleak on no-mmu arch + - LP: #770050 + * MAINTAINERS: update STABLE BRANCH info + - LP: #770050 + * UBIFS: fix oops when R/O file-system is fsync'ed + - LP: #770050 + * x86, cpu: AMD errata checking framework + - LP: #770050 + * x86, cpu: Clean up AMD erratum 400 workaround + - LP: #770050 + * x86, AMD: Set ARAT feature on AMD processors + - LP: #770050 + * x86, amd: Disable GartTlbWlkErr when BIOS forgets it + - LP: #770050 + * USB: ftdi_sio: Added IDs for CTI USB Serial Devices + - LP: #770050 + * USB: ftdi_sio: add PID for OCT DK201 docking station + - LP: #770050 + * USB: ftdi_sio: add ids for Hameg HO720 and HO730 + - LP: #770050 + * USB: option: Add new ONDA vendor id and product id for ONDA MT825UP + - LP: #770050 + * USB: option: Added support for Samsung GT-B3730/GT-B3710 LTE USB modem. + - LP: #770050 + * next_pidmap: fix overflow condition + - LP: #770050 + * proc: do proper range check on readdir offset + - LP: #770050 + * USB: EHCI: unlink unused QHs when the controller is stopped + - LP: #770050 + * USB: fix formatting of SuperSpeed endpoints in /proc/bus/usb/devices + - LP: #770050 + * USB: xhci - fix unsafe macro definitions + - LP: #770050 + * USB: xhci - fix math in xhci_get_endpoint_interval() + - LP: #770050 + * x86, cpu: Fix regression in AMD errata checking code + - LP: #770050 + * Linux 2.6.32.39 + - LP: #770050 + * fs/partitions/ldm.c: fix oops caused by corrupted partition table, + CVE-2011-1017 + - LP: #771382 + - CVE-2011-1017 + * drm/i915: set DIDL using the ACPI video output device _ADR method + return. + - LP: #775547 + * drm/radeon/kms: MC vram map needs to be >= pci aperture size + - LP: #775547 + * drm/radeon/kms: make sure blit addr masks are 64 bit + - LP: #775547 + * drm/radeon/kms: fix handling of tex lookup disable in cs checker on + r2xx + - LP: #775547 + * drm/i915: Free hardware status page on unload when physically mapped + - LP: #775547 + * drm/i915/overlay: Ensure that the reg_bo is in the GTT prior to + writing. + - LP: #775547 + * drm/radeon/kms/atom: set sane defaults in atombios_get_encoder_mode() + - LP: #775547 + * drm/radeon/kms: fix typos in disabled vbios code + - LP: #775547 + * drm/radeon/kms: add workaround for dce3 ddc line vbios bug + - LP: #775547 + * drm/radeon/kms: fix interlaced and doublescan handling + - LP: #775547 + * drm/i915/sdvo: Always add a 30ms delay to make SDVO TV detection + reliable + - LP: #775547 + * drm/radeon/kms: don't apply 7xx HDP flush workaround on AGP + - LP: #775547 + * drm/ttm: Fix two race conditions + fix busy codepaths + - LP: #775547 + * drm/i915: overlay on gen2 can't address above 1G + - LP: #775547 + * drm/i915: fix memory corruption with GM965 and >4GB RAM + - LP: #775547 + * drm/radeon: add quirk to make HP nx6125 laptop resume. + - LP: #775547 + * drm/radeon/kms: add quirk to make HP DV5000 laptop resume + - LP: #775547 + * ath: add missing regdomain pair 0x5c mapping + - LP: #780588 + * block, blk-sysfs: Fix an err return path in blk_register_queue() + - LP: #780588 + * p54: Initialize extra_len in p54_tx_80211 + - LP: #780588 + * intel-iommu: Unlink domain from iommu + - LP: #780588 + * intel-iommu: Fix get_domain_for_dev() error path + - LP: #780588 + * NFS: nfs_wcc_update_inode() should set nfsi->attr_gencount + - LP: #780588 + * serial/imx: read cts state only after acking cts change irq + - LP: #780588 + * ASoC: Fix output PGA enabling in wm_hubs CODECs + - LP: #780588 + * kconfig: Avoid buffer underrun in choice input + - LP: #780588 + * UBIFS: fix master node recovery + - LP: #780588 + * Remove extra struct page member from the buffer info structure + - LP: #780588 + * dasd: correct device table + - LP: #780588 + * iwlagn: Support new 5000 microcode. + - LP: #780588 + * atl1c: duplicate atl1c_get_tpd + - LP: #780588 + * udp: Fix bogus UFO packet generation + - LP: #780588 + * slub: fix panic with DISCONTIGMEM + - LP: #780588 + * set memory ranges in N_NORMAL_MEMORY when onlined + - LP: #780588 + * FLEXCOP-PCI: fix __xlate_proc_name-warning for flexcop-pci + - LP: #780588 + * m68k/mm: Set all online nodes in N_NORMAL_MEMORY + - LP: #780588 + * nfs: don't lose MS_SYNCHRONOUS on remount of noac mount + - LP: #780588 + * NFSv4.1: Ensure state manager thread dies on last umount + - LP: #780588 + * agp: fix arbitrary kernel memory writes + - LP: #780588 + * agp: fix OOM and buffer overflow + - LP: #780588 + * Input: xen-kbdfront - fix mouse getting stuck after save/restore + - LP: #780588 + * pmcraid: reject negative request size + - LP: #780588 + * mpt2sas: prevent heap overflows and unchecked reads + - LP: #780588 + * put stricter guards on queue dead checks + - LP: #780588 + * mmc: sdhci-pci: Fix error case in sdhci_pci_probe_slot() + - LP: #780588 + * mmc: sdhci: Check mrq->cmd in sdhci_tasklet_finish + - LP: #780588 + * mmc: sdhci: Check mrq != NULL in sdhci_tasklet_finish + - LP: #780588 + * USB: fix regression in usbip by setting has_tt flag + - LP: #780588 + * af_unix: Only allow recv on connected seqpacket sockets. + - LP: #780588 + * ARM: 6891/1: prevent heap corruption in OABI semtimedop + - LP: #780588 + * i8k: Tell gcc that *regs gets clobbered + - LP: #780588 + * Fix gcc 4.5.1 miscompiling drivers/char/i8k.c (again) + - LP: #780588 + * Open with O_CREAT flag set fails to open existing files on non writable + directories + - LP: #780588 + * can: Add missing socket check in can/bcm release. + - LP: #780588 + * netxen: module firmware hints + - LP: #780588 + * bnx2x: declare MODULE_FIRMWARE + - LP: #780588 + * cxgb3: declare MODULE_FIRMWARE + - LP: #780588 + * myri10ge: declare MODULE_FIRMWARE + - LP: #780588 + * netx: declare MODULE_FIRMWARE + - LP: #780588 + * pcnet-cs: declare MODULE_FIRMWARE + - LP: #780588 + * spider-net: declare MODULE_FIRMWARE + - LP: #780588 + * tms380tr: declare MODULE_FIRMWARE + - LP: #780588 + * Input: Add support of Synaptics Clickpad device + - LP: #780588 + * Input: elantech - do not advertise relative events + - LP: #780588 + * Input: elantech - fix firmware version check + - LP: #780588 + * Input: elantech - allow forcing Elantech protocol + - LP: #780588 + * Input: elantech - ignore high bits in the position coordinates + - LP: #780588 + * Input: elantech - use all 3 bytes when checking version + - LP: #780588 + * Input: elantech - relax signature checks + - LP: #780588 + * Input: elantech - discard the first 2 positions on some firmwares + - LP: #780588 + * Staging: rtl8192su: check for skb == NULL + - LP: #780588 + * Staging: rtl8192su: Clean up in case of an error in module + initialisation + - LP: #780588 + * Staging: rtl8192su: Fix procfs code for interfaces not named wlan0 + - LP: #780588 + * Staging: rtl8192su: remove device ids + - LP: #780588 + * Staging: rtl8192su: add device ids + - LP: #780588 + * USB: retain USB device power/wakeup setting across reconfiguration + - LP: #780588 + * USB: don't enable remote wakeup by default + - LP: #780588 + * USB: teach "devices" file about Wireless and SuperSpeed USB + - LP: #780588 + * GFS2: Clean up gfs2_adjust_quota() and do_glock() + - LP: #780588 + * GFS2: Fix writing to non-page aligned gfs2_quota structures + - LP: #780588 + * GFS2: BUG in gfs2_adjust_quota + - LP: #780588 + * SUNRPC: fix NFS client over TCP hangs due to packet loss (Bug 16494) + - LP: #780588 + * nfs4: Ensure that ACL pages sent over NFS were not allocated from the + slab (v3) + - LP: #780588 + * nfs: fix compilation warning + - LP: #780588 + * Fix corrupted OSF partition table parsing + - LP: #780588 + * Increase OSF partition limit from 8 to 18 + - LP: #780588 + * Please add support for Microsoft MN-120 PCMCIA network card + - LP: #780588 + * hwmon: (applesmc) Add iMac9,1 and MacBookPro2,2 support + - LP: #780588 + * hwmon: (applesmc) Add support for MacBook Pro 5,3 and 5,4 + - LP: #780588 + * hwmon: (applesmc) Add generic support for MacBook Pro 6 + - LP: #780588 + * hwmon: (applesmc) Add generic support for MacBook Pro 7 + - LP: #780588 + * hwmon: (applesmc) Add MacBookAir3,1(3,2) support + - LP: #780588 + * ALSA: emux: Add trivial compat ioctl handler + - LP: #780588 + * ALSA: powermac - Reverse HP detection on G4 DA + - LP: #780588 + * ALSA: powermac - Lineout detection on G4 DA + - LP: #780588 + * ALSA: hda - Add support for the new 27 inch IMacs + - LP: #780588 + * ALSA: hda - MacBookPro 5,3 line-in support + - LP: #780588 + * ALSA: hda - Add model=mbp55 entry for MacBookPro 7,1 + - LP: #780588 + * ALSA: hda - MacBookAir3,1(3,2) alsa support + - LP: #780588 + * virtio_net: fix oom handling on tx + - LP: #780588 + * mac80211: Add define for TX headroom reserved by mac80211 itself. + - LP: #780588 + * rt2x00: Centralize setting of extra TX headroom requested by rt2x00. + - LP: #780588 + * rt2x00: Properly request tx headroom for alignment operations. + - LP: #780588 + * rt2x00: use correct headroom for transmission + - LP: #780588 + * Bluetooth: Add support Bluetooth controller of MacbookPro 6,2 + - LP: #780588 + * Bluetooth: Add support Bluetooth controller of MacbookPro 7,1 + - LP: #780588 + * Bluetooth: Add MacBookAir3,1(2) support + - LP: #780588 + * perf tools: Display better error messages on missing packages + - LP: #780588 + * perf tools: Add 'make DEBUG=1' to remove the -O6 cflag + - LP: #780588 + * perf tools: Test -fstack-protector-all compiler option for inclusion in + CFLAGS + - LP: #780588 + * perf tools: Support static build + - LP: #780588 + * perf tools: Add V=2 option to help debug config issues + - LP: #780588 + * perf tools: Suggest static libraries as well + - LP: #780588 + * perf: Use default compiler mode by default + - LP: #780588 + * perf tools: Move QUIET_STDERR def to before first use + - LP: #780588 + * perf tools: Check if /dev/null can be used as the -o gcc argument + - LP: #780588 + * perf symbols: allow forcing use of cplus_demangle + - LP: #780588 + * V4L/DVB: Add Elgato EyeTV Diversity to dibcom driver + - LP: #780588 + * mmc: fix all hangs related to mmc/sd card insert/removal during + suspend/resume + - LP: #780588 + * mmc: build fix: mmc_pm_notify is only available with CONFIG_PM=y + - LP: #780588 + * b43: Fix warning at drivers/mmc/core/core.c:237 in mmc_wait_for_cmd + - LP: #780588 + * econet: Fix redeclaration of symbol len + - LP: #780588 + * econet: fix CVE-2010-3848 + - LP: #780588 + * dell-laptop: Add another Dell laptop to the DMI whitelist + - LP: #780588 + * dell-laptop: Add another Dell laptop family to the DMI whitelist + - LP: #780588 + * scsi_dh_emc: fix mode select request setup + - LP: #780588 + * scsi_dh_emc: request flag cleanup + - LP: #780588 + * cifs: fix another memleak, in cifs_root_iget + - LP: #780588 + * e1000e: Reset 82577/82578 PHY before first PHY register read + - LP: #780588 + * e1000: fix Tx hangs by disabling 64-bit DMA + - LP: #780588 + * btrfs: Require CAP_SYS_ADMIN for filesystem rebalance + - LP: #780588 + * af_unix: limit recursion level + - LP: #780588 + * init, sched: Fix race between init and kthreadd + - LP: #780588 + * backlight: MacBookAir3,1(3,2) mbp-nvidia-bl support + - LP: #780588 + * bonding: Ensure that we unshare skbs prior to calling pskb_may_pull + - LP: #780588 + * HID: add MacBookAir 3,1 and 3,2 support + - LP: #780588 + * intel-iommu: Force-disable IOMMU for iGFX on broken Cantiga revisions. + - LP: #780588 + * ipg: Remove device claimed by dl2k from pci id table + - LP: #780588 + * ipv6: Silence privacy extensions initialization + - LP: #780588 + * l2tp: Fix UDP socket reference count bugs in the pppol2tp driver + - LP: #780588 + * MIPS: DMA: Fix computation of DMA flags from device's + coherent_dma_mask. + - LP: #780588 + * mpt2sas: fix the incorrect scsi_dma_map error checking + - LP: #780588 + * Phonet: device notifier only runs on initial namespace + - LP: #780588 + * powerpc/boot/dts: Install dts from the right directory + - LP: #780588 + * rt2500usb: fallback to SW encryption for TKIP+AES + - LP: #780588 + * sata_via: Delay on vt6420 when starting ATAPI DMA write + - LP: #780588 + * tehuti: Firmware filename is tehuti/bdx.bin + - LP: #780588 + * wireless: b43: fix error path in SDIO + - LP: #780588 + * libata: set queue DMA alignment to sector size for ATAPI too + - LP: #780588 + * usb: musb: core: set has_tt flag + - LP: #780588 + * iwlwifi: fix skb usage after free + - LP: #780588 + * can: add missing socket check in can/raw release + - LP: #780588 + * fix oops in scsi_run_queue() + - LP: #780588 + * Linux 2.6.32.40 + - LP: #780588 + * PCI: allow matching of prefetchable resources to non-prefetchable + windows + - LP: #424142 + * cifs: check for bytes_remaining going to zero in CIFS_SessSetup + - LP: #788602 + * Validate size of EFI GUID partition entries. + - LP: #788602 + * dccp: handle invalid feature options length + - LP: #788602 + * CIFS: Fix memory over bound bug in cifs_parse_mount_options + - LP: #788602 + * Fix time() inconsistencies caused by intermediate xtime_cache values + being read + - LP: #788602 + * ehea: fix wrongly reported speed and port + - LP: #788602 + * NET: slip, fix ldisc->open retval + - LP: #788602 + * ne-h8300: Fix regression caused during net_device_ops conversion + - LP: #788602 + * hydra: Fix regression caused during net_device_ops conversion + - LP: #788602 + * libertas: fix cmdpendingq locking + - LP: #788602 + * zorro8390: Fix regression caused during net_device_ops conversion + - LP: #788602 + * cifs: add fallback in is_path_accessible for old servers + - LP: #788602 + * x86, AMD: Fix ARAT feature setting again + - LP: #788602 + * clocksource: Install completely before selecting + - LP: #788602 + * tick: Clear broadcast active bit when switching to oneshot + - LP: #788602 + * x86, apic: Fix spurious error interrupts triggering on all non-boot APs + - LP: #788602 + * x86, mce, AMD: Fix leaving freed data in a list + - LP: #788602 + * megaraid_sas: Sanity check user supplied length before passing it to + dma_alloc_coherent() + - LP: #788602 + * vmxnet3: Fix inconsistent LRO state after initialization + - LP: #788602 + * netxen: Remove references to unified firmware file + - LP: #788602 + * Linux 2.6.32.41 + - LP: #788602 + * drm/radeon/kms: fix bad shift in atom iio table parser + - LP: #788602 + * Linux 2.6.32.41+drm33.18 + - LP: #788602 + + -- Steve Conklin Tue, 31 May 2011 13:22:59 -0500 + +linux (2.6.32-32.62) lucid-proposed; urgency=low + + [ Brad Figg ] + + * Release Tracking Bug + - LP: #767370 + + [ Stefan Bader ] + + * (config) Disable CONFIG_NET_NS + - LP: #720095 + + [ Upstream Kernel Changes ] + + * Revert "drm/radeon/kms: Fix retrying ttm_bo_init() after it failed + once." + - LP: #736234 + * Revert "drm/radeon: fall back to GTT if bo creation/validation in VRAM + fails." + - LP: #736234 + * x86: pvclock: Move scale_delta into common header + * KVM: x86: Fix a possible backwards warp of kvmclock + * KVM: x86: Fix kvmclock bug + * cpuset: add a missing unlock in cpuset_write_resmask() + - LP: #736234 + * keyboard: integer underflow bug + - LP: #736234 + * RxRPC: Fix v1 keys + - LP: #736234 + * ixgbe: fix for 82599 erratum on Header Splitting + - LP: #736234 + * mm: fix possible cause of a page_mapped BUG + - LP: #736234 + * powerpc/kdump: CPUs assume the context of the oopsing CPU + - LP: #736234 + * powerpc/kdump: Use chip->shutdown to disable IRQs + - LP: #736234 + * powerpc: Use more accurate limit for first segment memory allocations + - LP: #736234 + * powerpc/pseries: Add hcall to read 4 ptes at a time in real mode + - LP: #736234 + * powerpc/kexec: Speedup kexec hash PTE tear down + - LP: #736234 + * powerpc/crashdump: Do not fail on NULL pointer dereferencing + - LP: #736234 + * powerpc/kexec: Fix orphaned offline CPUs across kexec + - LP: #736234 + * netfilter: nf_log: avoid oops in (un)bind with invalid nfproto values + - LP: #736234 + * nfsd: wrong index used in inner loop + - LP: #736234 + * r8169: use RxFIFO overflow workaround for 8168c chipset. + - LP: #736234 + * Staging: comedi: jr3_pci: Don't ioremap too much space. Check result. + - LP: #736234 + * net: don't allow CAP_NET_ADMIN to load non-netdev kernel modules, + CVE-2011-1019 + - LP: #736234 + - CVE-2011-1019 + * ip6ip6: autoload ip6 tunnel + - LP: #736234 + * Linux 2.6.32.33 + - LP: #736234 + * drm/radeon: fall back to GTT if bo creation/validation in VRAM fails. + - LP: #652934, #736234 + * drm/radeon/kms: Fix retrying ttm_bo_init() after it failed once. + - LP: #652934, #736234 + * drm: fix unsigned vs signed comparison issue in modeset ctl ioctl, + CVE-2011-1013 + - LP: #736234 + - CVE-2011-1013 + * Linux 2.6.32.33+drm33.15 + - LP: #736234 + * econet: Fix crash in aun_incoming(). CVE-2010-4342 + - LP: #736394 + - CVE-2010-4342 + * igb: only use vlan_gro_receive if vlans are registered, CVE-2010-4263 + - LP: #737024 + - CVE-2010-4263 + * irda: prevent integer underflow in IRLMP_ENUMDEVICES, CVE-2010-4529 + - LP: #737823 + - CVE-2010-4529 + * hwmon/f71882fg: Set platform drvdata to NULL later + - LP: #742056 + * mtd: add "platform:" prefix for platform modalias + - LP: #742056 + * libata: no special completion processing for EH commands + - LP: #742056 + * MIPS: MTX-1: Make au1000_eth probe all PHY addresses + - LP: #742056 + * x86/mm: Handle mm_fault_error() in kernel space + - LP: #742056 + * ftrace: Fix memory leak with function graph and cpu hotplug + - LP: #742056 + * x86: Fix panic when handling "mem={invalid}" param + - LP: #553464, #742056 + * x86: Emit "mem=nopentium ignored" warning when not supported + - LP: #553464, #742056 + * ahci: AHCI and RAID mode SATA patch for Intel Patsburg DeviceIDs + - LP: #742056 + * ahci: AHCI mode SATA patch for Intel DH89xxCC DeviceIDs + - LP: #742056 + * ahci: AHCI mode SATA patch for Intel Patsburg SATA RAID controller + - LP: #742056 + * RDMA/cma: Fix crash in request handlers + - LP: #742056 + * IB/cm: Bump reference count on cm_id before invoking callback + - LP: #742056 + * ath9k_hw: Fix incorrect macversion and macrev checks + - LP: #742056 + * USB: serial/kobil_sct, fix potential tty NULL dereference + - LP: #742056 + * USB: serial: ch341: add new id + - LP: #742056 + * xhci: Fix cycle bit calculation during stall handling. + - LP: #742056 + * ALSA: hda - fix digital mic selection in mixer on 92HD8X codecs + - LP: #742056 + * PCI: remove quirk for pre-production systems + - LP: #742056 + * PCI: add more checking to ICH region quirks + - LP: #742056 + * PCI: do not create quirk I/O regions below PCIBIOS_MIN_IO for ICH + - LP: #742056 + * PCI: sysfs: Fix failure path for addition of "vpd" attribute + - LP: #742056 + * ALSA: ctxfi - Fix incorrect SPDIF status bit mask + - LP: #742056 + * ALSA: ctxfi - Fix SPDIF status retrieval + - LP: #742056 + * ALSA: ctxfi - Clear input settings before initialization + - LP: #742056 + * SUNRPC: Ensure we always run the tk_callback before tk_action + - LP: #742056 + * perf, powerpc: Handle events that raise an exception without + overflowing + - LP: #742056 + * ext3: Always set dx_node's fake_dirent explicitly. + - LP: #742056 + * call_function_many: fix list delete vs add race + - LP: #742056 + * call_function_many: add missing ordering + - LP: #742056 + * x86: Flush TLB if PGD entry is changed in i386 PAE mode + - LP: #742056 + * isdn: avoid calling tty_ldisc_flush() in atomic context + - LP: #742056 + * smp_call_function_many: handle concurrent clearing of mask + - LP: #742056 + * fix per-cpu flag problem in the cpu affinity checkers + - LP: #742056 + * i2c: Fix typo in instantiating-devices document + - LP: #742056 + * mmc: sdio: remember new card RCA when redetecting card + - LP: #742056 + * powerpc/kexec: Fix race in kexec shutdown + - LP: #742056 + * powerpc/kdump: Fix race in kdump shutdown + - LP: #742056 + * powerpc: rtas_flash needs to use rtas_data_buf + - LP: #742056 + * x86, binutils, xen: Fix another wrong size directive + - LP: #742056 + * hwmon: (sht15) Fix integer overflow in humidity calculation + - LP: #742056 + * Linux 2.6.32.34 + - LP: #742056 + * Linux 2.6.32.35 + - LP: #742056 + * aio: wake all waiters when destroying ctx + - LP: #744921 + * shmem: let shared anonymous be nonlinear again + - LP: #744921 + * PCI hotplug: acpiphp: set current_state to D0 in register_slot + - LP: #744921 + * xen: set max_pfn_mapped to the last pfn mapped + - LP: #744921 + * PCI: return correct value when writing to the "reset" attribute + - LP: #744921 + * Prevent rt_sigqueueinfo and rt_tgsigqueueinfo from spoofing the signal + code + - LP: #744921 + * ext3: skip orphan cleanup on rocompat fs + - LP: #744921 + * procfs: fix /proc//maps heap check + - LP: #744921 + * proc: protect mm start_code/end_code in /proc/pid/stat, CVE-2011-0726 + - LP: #744921 + - CVE-2011-0726 + * fbcon: Bugfix soft cursor detection in Tile Blitting + - LP: #744921 + * nfsd41: modify the members value of nfsd4_op_flags + - LP: #744921 + * nfsd: wrong index used in inner loop + - LP: #744921 + * uvcvideo: Fix uvc_fixup_video_ctrl() format search + - LP: #744921 + * ehci-hcd: Bug fix: don't set a QH's Halt bit + - LP: #744921 + * USB: uss720 fixup refcount position + - LP: #744921 + * USB: cdc-acm: fix memory corruption / panic + - LP: #744921 + * USB: cdc-acm: fix potential null-pointer dereference + - LP: #744921 + * USB: cdc-acm: fix potential null-pointer dereference on disconnect + - LP: #744921 + * Input: xen-kbdfront - advertise either absolute or relative coordinates + - LP: #744921 + * SUNRPC: Never reuse the socket port after an xs_close() + - LP: #744921 + * fs: call security_d_instantiate in d_obtain_alias V2 + - LP: #744921 + * dcdbas: force SMI to happen when expected + - LP: #744921 + * Linux 2.6.32.36 + - LP: #744921 + * drm/radeon/kms: check AA resolve registers on r300, CVE-2011-1016 + - LP: #745686 + - CVE-2011-1016 + * drm/radeon: fix regression with AA resolve checking, CVE-2011-1016 + - LP: #745686 + - CVE-2011-1016 + * xen: events: do not unmask event channels on resume + - LP: #681083 + * drm/radeon/kms: check AA resolve registers on r300 + - LP: #754584 + * drm/radeon: fix regression with AA resolve checking + - LP: #754584 + * Linux 2.6.32.36+drm33.16 + - LP: #754584 + * ALSA: hda - Fix SPDIF out regression on ALC889 + - LP: #764685 + * ALSA: Fix yet another race in disconnection + - LP: #764685 + * perf: Better fit max unprivileged mlock pages for tools needs + - LP: #764685 + * myri10ge: fix rmmod crash + - LP: #764685 + * cciss: fix lost command issue + - LP: #764685 + * sound/oss/opl3: validate voice and channel indexes + - LP: #764685 + * mac80211: initialize sta->last_rx in sta_info_alloc + - LP: #764685 + * ses: show devices for enclosures with no page 7 + - LP: #764685 + * ses: Avoid kernel panic when lun 0 is not mapped + - LP: #764685 + * eCryptfs: Unlock page in write_begin error path + - LP: #764685 + * eCryptfs: ecryptfs_keyring_auth_tok_for_sig() bug fix + - LP: #764685 + * staging: usbip: bugfixes related to kthread conversion + - LP: #764685 + * staging: usbip: bugfix add number of packets for isochronous frames + - LP: #764685 + * staging: usbip: bugfix for isochronous packets and optimization + - LP: #764685 + * staging: hv: Fix GARP not sent after Quick Migration + - LP: #764685 + * staging: hv: use sync_bitops when interacting with the hypervisor + - LP: #764685 + * Relax si_code check in rt_sigqueueinfo and rt_tgsigqueueinfo + - LP: #764685 + * xfs: prevent leaking uninitialized stack memory in FSGEOMETRY_V1 + - LP: #764685 + * irda: validate peer name and attribute lengths + - LP: #764685 + * irda: prevent heap corruption on invalid nickname + - LP: #764685 + * nilfs2: fix data loss in mmap page write for hole blocks + - LP: #764685 + * ASoC: Explicitly say registerless widgets have no register + - LP: #764685 + * ALSA: ens1371: fix Creative Ectiva support + - LP: #764685 + * ROSE: prevent heap corruption with bad facilities + - LP: #764685 + * Btrfs: Fix uninitialized root flags for subvolumes + - LP: #764685 + * x86, mtrr, pat: Fix one cpu getting out of sync during resume + - LP: #764685 + * ath9k: fix a chip wakeup related crash in ath9k_start + - LP: #764685 + * UBIFS: do not read flash unnecessarily + - LP: #764685 + * UBIFS: fix oops on error path in read_pnode + - LP: #764685 + * UBIFS: fix debugging failure in dbg_check_space_info + - LP: #764685 + * quota: Don't write quota info in dquot_commit() + - LP: #764685 + * mm: avoid wrapping vm_pgoff in mremap() + - LP: #764685 + * p54usb: IDs for two new devices + - LP: #764685 + * b43: allocate receive buffers big enough for max frame len + offset + - LP: #764685 + * Bluetooth: sco: fix information leak to userspace + - LP: #764685 + * bridge: netfilter: fix information leak + - LP: #764685 + * Bluetooth: bnep: fix buffer overflow + - LP: #764685 + * Bluetooth: add support for Apple MacBook Pro 8,2 + - LP: #764685 + * Treat writes as new when holes span across page boundaries + - LP: #764685 + * char/tpm: Fix unitialized usage of data buffer + - LP: #764685 + * netfilter: ip_tables: fix infoleak to userspace + - LP: #764685 + * netfilter: arp_tables: fix infoleak to userspace + - LP: #764685 + * netfilter: ipt_CLUSTERIP: fix buffer overflow + - LP: #764685 + * ipv6: netfilter: ip6_tables: fix infoleak to userspace + - LP: #764685 + * mfd: ab3100: world-writable debugfs *_priv files + - LP: #764685 + * drivers/rtc/rtc-ds1511.c: world-writable sysfs nvram file + - LP: #764685 + * drivers/misc/ep93xx_pwm.c: world-writable sysfs files + - LP: #764685 + * econet: 4 byte infoleak to the network + - LP: #764685 + * sound/oss: remove offset from load_patch callbacks + - LP: #764685 + * sound: oss: midi_synth: check get_user() return value + - LP: #764685 + * repair gdbstub to match the gdbserial protocol specification + - LP: #764685 + * gro: Reset dev pointer on reuse + - LP: #764685 + * gro: reset skb_iif on reuse + - LP: #764685 + * x86, amd-ucode: Remove needless log messages + - LP: #764685 + * x86, microcode, AMD: Extend ucode size verification + - LP: #764685 + * powerpc/kexec: Add ifdef CONFIG_PPC_STD_MMU_64 to PPC64 code + - LP: #764685 + * powerpc: Fix default_machine_crash_shutdown #ifdef botch + - LP: #764685 + * Squashfs: handle corruption of directory structure + - LP: #764685 + * sctp: fix to calc the INIT/INIT-ACK chunk length correctly is set + - LP: #764685 + * atm/solos-pci: Don't include frame pseudo-header on transmit hex-dump + - LP: #764685 + * ext4: fix credits computing for indirect mapped files + - LP: #764685 + * nfsd: fix auth_domain reference leak on nlm operations + - LP: #764685 + * CAN: Use inode instead of kernel address for /proc file + - LP: #764685 + * exec: make argv/envp memory visible to oom-killer + - LP: #764685 + * exec: copy-and-paste the fixes into compat_do_execve() paths + - LP: #764685 + * xfs: zero proper structure size for geometry calls + - LP: #764685 + * Linux 2.6.32.37 + - LP: #764685 + * Linux 2.6.32.38 + - LP: #764685 + + -- Brad Figg Wed, 20 Apr 2011 08:28:25 -0700 + +linux (2.6.32-31.61) lucid-proposed; urgency=low + + [ Brad Figg ] + + * Release Tracking Bug + - LP: #754842 + + [ Upstream Kernel Changes ] + + * x86, quirk: Fix SB600 revision check + - LP: #742056 + + -- Brad Figg Fri, 08 Apr 2011 10:08:30 -0700 + +linux (2.6.32-31.60) lucid-proposed; urgency=low + + [ Brad Figg ] + + * Release Tracking Bug + - LP: #734950 + + [ Paolo Pisati ] + + * SAUCE: Clear new_profile in error path + - LP: #732700 + + [ Tim Gardner ] + + * [Config] CONFIG_BOOT_PRINTK_DELAY=y + - LP: #733191 + + [ Upstream Kernel Changes ] + + * Revert "drm/radeon/bo: add some fallback placements for VRAM only + objects." + - LP: #652934 + * drm/radeon: fall back to GTT if bo creation/validation in VRAM fails. + - LP: #652934 + * drm/radeon/kms: Fix retrying ttm_bo_init() after it failed once. + - LP: #652934 + * xfs: always use iget in bulkstat + - LP: #692848 + * drm/radeon/kms: make the mac rv630 quirk generic + - LP: #728687 + * drm/radeon/kms: add pll debugging output + - LP: #728687 + * drm/radeon: remove 0x4243 pci id + - LP: #728687 + * drm/radeon/kms: fix s/r issues with bios scratch regs + - LP: #728687 + * drm/i915/lvds: Add AOpen i915GMm-HFS to the list of false-positive LVDS + - LP: #728687 + * drm/i915: Add dependency on CONFIG_TMPFS + - LP: #728687 + * Linux 2.6.32.29+drm33.14 + - LP: #728687 + * NFSD: memory corruption due to writing beyond the stat array + - LP: #728687 + * mptfusion: mptctl_release is required in mptctl.c + - LP: #728687 + * mptfusion: Fix Incorrect return value in mptscsih_dev_reset + - LP: #728687 + * ocfs2_connection_find() returns pointer to bad structure + - LP: #728687 + * x25: decrement netdev reference counts on unload + - LP: #728687 + * x86, hpet: Disable per-cpu hpet timer if ARAT is supported + - LP: #728687 + * OHCI: work around for nVidia shutdown problem + - LP: #728687 + * x86/pvclock: Zero last_value on resume + - LP: #728687 + * av7110: check for negative array offset + - LP: #728687 + * CRED: Fix get_task_cred() and task_state() to not resurrect dead + credentials + - LP: #728687 + * bonding/vlan: Avoid mangled NAs on slaves without VLAN tag insertion + - LP: #728687 + * CRED: Fix kernel panic upon security_file_alloc() failure. + - LP: #728687 + * CRED: Fix BUG() upon security_cred_alloc_blank() failure + - LP: #728687 + * CRED: Fix memory and refcount leaks upon security_prepare_creds() + failure + - LP: #728687 + * sendfile(): check f_op.splice_write() rather than f_op.sendpage() + - LP: #728687 + * isdn: hisax: Replace the bogus access to irq stats + - LP: #728687 + * ixgbe: add support for 82599 based Express Module X520-P2 + - LP: #728687 + * ixgbe: prevent speculative processing of descriptors before ready + - LP: #728687 + * scsi_dh_alua: add netapp to dev list + - LP: #728687 + * scsi_dh_alua: Add IBM Power Virtual SCSI ALUA device to dev list + - LP: #728687 + * dm raid1: fail writes if errors are not handled and log fails + - LP: #728687 + * GFS2: Fix bmap allocation corner-case bug + - LP: #728687 + * dm raid1: fix null pointer dereference in suspend + - LP: #728687 + * sunrpc/cache: fix module refcnt leak in a failure path + - LP: #728687 + * be2net: Maintain tx and rx counters in driver + - LP: #728687 + * tcp: Make TCP_MAXSEG minimum more correct. + - LP: #728687 + * nfsd: correctly handle return value from nfsd_map_name_to_* + - LP: #728687 + * s390: remove task_show_regs + - LP: #728687 + * PM / Hibernate: Return error code when alloc_image_page() fails + - LP: #728687 + * fs/partitions: Validate map_count in Mac partition tables + - LP: #728687 + * ALSA: HDA: Add position_fix quirk for an Asus device + - LP: #718402, #728687 + * ALSA: caiaq - Fix possible string-buffer overflow + - LP: #728687 + * radio-aimslab.c needs #include + - LP: #728687 + * ARM: Ensure predictable endian state on signal handler entry + - LP: #728687 + * acer-wmi: Fix capitalisation of GUID + - LP: #728687 + * eCryptfs: Copy up lower inode attrs in getattr + - LP: #728687 + * platform: x86: acer-wmi: world-writable sysfs threeg file + - LP: #728687 + * platform: x86: asus_acpi: world-writable procfs files + - LP: #728687 + * platform: x86: tc1100-wmi: world-writable sysfs wireless and jogdial + files + - LP: #728687 + * genirq: Disable the SHIRQ_DEBUG call in request_threaded_irq for now + - LP: #728687 + * usb: musb: omap2430: fix kernel panic on reboot + - LP: #728687 + * USB: add quirks entry for Keytouch QWERTY Panel + - LP: #728687 + * USB: Add Samsung SGH-I500/Android modem ID switch to visor driver + - LP: #728687 + * USB: Add quirk for Samsung Android phone modem + - LP: #728687 + * p54pci: update receive dma buffers before and after processing + - LP: #728687 + * sierra: add new ID for Airprime/Sierra USB IP modem + - LP: #728687 + * staging: usbip: vhci: update reference count for usb_device + - LP: #728687 + * staging: usbip: vhci: give back URBs from in-flight unlink requests + - LP: #728687 + * staging: usbip: vhci: refuse to enqueue for dead connections + - LP: #728687 + * staging: usbip: vhci: use urb->dev->portnum to find port + - LP: #728687 + * epoll: prevent creating circular epoll structures + - LP: #728687 + * ldm: corrupted partition table can cause kernel oops + - LP: #728687 + * md: correctly handle probe of an 'mdp' device. + - LP: #728687 + * x86 quirk: Fix polarity for IRQ0 pin2 override on SB800 systems + - LP: #728687 + * xhci: Avoid BUG() in interrupt context + - LP: #728687 + * xhci: Clarify some expressions in the TRB math + - LP: #728687 + * xhci: Fix errors in the running total calculations in the TRB math + - LP: #728687 + * xhci: Fix an error in count_sg_trbs_needed() + - LP: #728687 + * x25: Do not reference freed memory. + - LP: #728687 + * Linux 2.6.32.30 + - LP: #728687 + * Linux 2.6.32.31 + - LP: #728687 + * Ocfs2/refcounttree: Fix a bug for refcounttree to writeback clusters in + a right number. + - LP: #731226 + * mfd: Fix NULL pointer due to non-initialized ucb1x00-ts absinfo + - LP: #731226 + * x86: Use u32 instead of long to set reset vector back to 0 + - LP: #731226 + * fuse: fix hang of single threaded fuseblk filesystem + - LP: #731226 + * clockevents: Prevent oneshot mode when broadcast device is periodic + - LP: #731226 + * ext2: Fix link count corruption under heavy link+rename load + - LP: #731226 + * sctp: Fix oops when sending queued ASCONF chunks + - LP: #731226 + * virtio: set pci bus master enable bit + - LP: #731226 + * netxen: fix set mac addr + - LP: #731226 + * HID: add support for Acan FG-8100 barcode reader + - LP: #731226 + * p54usb: add Senao NUB-350 usbid + - LP: #731226 + * dccp: fix oops on Reset after close + - LP: #731226 + * e1000e: disable broken PHY wakeup for ICH10 LOMs, use MAC wakeup + instead + - LP: #731226 + * r8169: disable ASPM + - LP: #731226 + * usb: iowarrior: don't trust report_size for buffer size + - LP: #731226 + * arp_notify: unconditionally send gratuitous ARP for + NETDEV_NOTIFY_PEERS. + - LP: #731226 + * CIFS: Fix oplock break handling (try #2) + - LP: #731226 + * Linux 2.6.32.32 + - LP: #731226 + + -- Brad Figg Mon, 14 Mar 2011 07:24:45 -0700 + +linux (2.6.32-30.59) lucid-proposed; urgency=low + + [ Steve Conklin ] + + * Release Tracking Bug + - LP: #727336 + + [ Tim Gardner ] + + * [Config] CONFIG_IRQ_TIME_ACCOUNTING=n + - LP: #723819 + + [ Upstream Kernel Changes ] + + * virtio_net: Add schedule check to napi_enable call + - LP: #579276 + * NFS: fix the return value of nfs_file_fsync() + - LP: #585657 + * block: check for proper length of iov entries earlier in + blk_rq_map_user_iov(), CVE-2010-4163 + - LP: #721504 + - CVE-2010-4163 + * filter: make sure filters dont read uninitialized memory + - LP: #721282 + - CVE-2010-4158 + * tty: Make tiocgicount a handler, CVE-2010-4076, CVE-2010-4077 + - LP: #720189 + - CVE-2010-4077 + * staging: usbip: remove double giveback of URB + - LP: #723819 + * USB: EHCI: ASPM quirk of ISOC on AMD SB800 + - LP: #723819 + * rt2x00: add device id for windy31 usb device + - LP: #723819 + * ALSA: snd-usb-us122l: Fix missing NULL checks + - LP: #723819 + * hwmon: (via686a) Initialize fan_div values + - LP: #723819 + * USB: serial: handle Data Carrier Detect changes + - LP: #723819 + * USB: CP210x Add two device IDs + - LP: #723819 + * USB: CP210x Removed incorrect device ID + - LP: #723819 + * USB: usb-storage: unusual_devs update for Cypress ATACB + - LP: #723819 + * USB: usb-storage: unusual_devs update for TrekStor DataStation maxi g.u + external hard drive enclosure + - LP: #723819 + * USB: usb-storage: unusual_devs entry for CamSport Evo + - LP: #723819 + * USB: usb-storage: unusual_devs entry for Coby MP3 player + - LP: #723819 + * USB: serial: Updated support for ICOM devices + - LP: #723819 + * USB: adding USB support for Cinterion's HC2x, EU3 and PH8 products + - LP: #723819 + * USB: EHCI: ASPM quirk of ISOC on AMD Hudson + - LP: #723819 + * USB: EHCI: fix DMA deallocation bug + - LP: #723819 + * USB: g_printer: fix bug in module parameter definitions + - LP: #723819 + * USB: io_edgeport: fix the reported firmware major and minor + - LP: #723819 + * USB: ti_usb: fix module removal + - LP: #723819 + * USB: Storage: Add unusual_devs entry for VTech Kidizoom + - LP: #723819 + * USB: ftdi_sio: add ST Micro Connect Lite uart support + - LP: #723819 + * USB: cdc-acm: Adding second ACM channel support for Nokia N8 + - LP: #723819 + * USB: ftdi_sio: Add VID=0x0647, PID=0x0100 for Acton Research + spectrograph + - LP: #723819 + * USB: prevent buggy hubs from crashing the USB stack + - LP: #723819 + * staging: comedi: add support for newer jr3 1-channel pci board + - LP: #723819 + * staging: comedi: ni_labpc: Use shared IRQ for PCMCIA card + - LP: #723819 + * Staging: hv: fix sysfs symlink on hv block device + - LP: #723819 + * staging: hv: Enable sending GARP packet after live migration + - LP: #723819 + * hvc_iucv: allocate memory buffers for IUCV in zone DMA + - LP: #723819 + * iwlagn: enable only rfkill interrupt when device is down + - LP: #723819 + * ath9k: Fix bug in delimiter padding computation + - LP: #723819 + * correct vdso version string + - LP: #723819 + * fix medium error problems with some arrays which can cause data + corruption + - LP: #723819 + * libsas: fix runaway error handler problem + - LP: #723819 + * mpt2sas: Fix device removal handshake for zoned devices + - LP: #723819 + * mpt2sas: Correct resizing calculation for max_queue_depth + - LP: #723819 + * mpt2sas: Kernel Panic during Large Topology discovery + - LP: #723819 + * radio-aimslab.c: Fix gcc 4.5+ bug + - LP: #723819 + * em28xx: Fix audio input for Terratec Grabby + - LP: #723819 + * ALSA : au88x0 - Limit number of channels to fix Oops via OSS emu + - LP: #723819 + * ALSA: HDA: Fix dmesg output of HDMI supported bits + - LP: #723819 + * ALSA: hda - Fix memory leaks in conexant jack arrays + - LP: #723819 + * input: bcm5974: Add support for MacBookAir3 + - LP: #723819 + * ALSA: hrtimer: handle delayed timer interrupts + - LP: #723819 + * ASoC: WM8990: msleep() takes milliseconds not jiffies + - LP: #723819 + * ASoC: Blackfin AC97: fix build error after multi-component update + - LP: #723819 + * NFS: Fix "kernel BUG at fs/aio.c:554!" + - LP: #723819 + * rtc-cmos: fix suspend/resume + - LP: #723819 + * iwlagn: Re-enable RF_KILL interrupt when down + - LP: #723819 + * rapidio: fix hang on RapidIO doorbell queue full condition + - LP: #723819 + * PCI: pci-stub: ignore zero-length id parameters + - LP: #723819 + * virtio: remove virtio-pci root device + - LP: #723819 + * ds2760_battery: Fix calculation of time_to_empty_now + - LP: #723819 + * p54: fix sequence no. accounting off-by-one error + - LP: #723819 + * i2c: Unregister dummy devices last on adapter removal + - LP: #723819 + * serial: unbreak billionton CF card + - LP: #723819 + * ptrace: use safer wake up on ptrace_detach() + - LP: #723819 + * x86, mtrr: Avoid MTRR reprogramming on BP during boot on UP platforms + - LP: #723819 + * fix jiffy calculations in calibrate_delay_direct to handle overflow + - LP: #723819 + * USB: serial: pl2303: Hybrid reader Uniform HCR331 + - LP: #723819 + * drivers: update to pl2303 usb-serial to support Motorola cables + - LP: #723819 + * klist: Fix object alignment on 64-bit. + - LP: #723819 + * powerpc: Fix some 6xx/7xxx CPU setup functions + - LP: #723819 + * parisc : Remove broken line wrapping handling pdc_iodc_print() + - LP: #723819 + * kernel/smp.c: fix smp_call_function_many() SMP race + - LP: #723819 + * hostap_cs: fix sleeping function called from invalid context + - LP: #723819 + * md: fix regression with re-adding devices to arrays with no metadata + - LP: #723819 + * pata_mpc52xx: inherit from ata_bmdma_port_ops + - LP: #723819 + * TPM: Long default timeout fix + - LP: #723819 + * tpm_tis: Use timeouts returned from TPM + - LP: #723819 + * SELinux: define permissions for DCB netlink messages + - LP: #723819 + * SELinux: do not compute transition labels on mountpoint labeled + filesystems + - LP: #723819 + * ieee80211: correct IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK macro + - LP: #723819 + * dm: dont take i_mutex to change device size + - LP: #723819 + * dm mpath: disable blk_abort_queue + - LP: #723819 + * x86, mm: avoid possible bogus tlb entries by clearing prev mm_cpumask + after switching mm + - LP: #723819 + * usb: Realloc xHCI structures after a hub is verified. + - LP: #723819 + * sched: Remove USER_SCHED + - LP: #723819 + * sched: Remove remaining USER_SCHED code + - LP: #723819 + * sched: Move sched_avg_update() to update_cpu_load() + - LP: #723819 + * sched: Increment cache_nice_tries only on periodic lb + - LP: #723819 + * sched: Try not to migrate higher priority RT tasks + - LP: #723819 + * sched: Give CPU bound RT tasks preference + - LP: #723819 + * sched: suppress RCU lockdep splat in task_fork_fair + - LP: #723819 + * sched: fix RCU lockdep splat from task_group() + - LP: #723819 + * sched: Do not consider SCHED_IDLE tasks to be cache hot + - LP: #723819 + * sched: Set group_imb only a task can be pulled from the busiest cpu + - LP: #723819 + * sched: Force balancing on newidle balance if local group has capacity + - LP: #723819 + * sched: Drop group_capacity to 1 only if local group has extra capacity + - LP: #723819 + * sched: Fix softirq time accounting + - LP: #723819 + * sched: Consolidate account_system_vtime extern declaration + - LP: #723819 + * sched: Remove unused PF_ALIGNWARN flag + - LP: #723819 + * sched: Add a PF flag for ksoftirqd identification + - LP: #723819 + * sched: Add IRQ_TIME_ACCOUNTING, finer accounting of irq time + - LP: #723819 + * x86: Add IRQ_TIME_ACCOUNTING + - LP: #723819 + * sched: Do not account irq time to current task + - LP: #723819 + * sched: Remove irq time from available CPU power + - LP: #723819 + * sched: Call tick_check_idle before __irq_enter + - LP: #723819 + * sched: Export account_system_vtime() + - LP: #723819 + * sched, cgroup: Fixup broken cgroup movement + - LP: #723819 + * sched: Use group weight, idle cpu metrics to fix imbalances during idle + - LP: #723819 + * sched: Fix cross-sched-class wakeup preemption + - LP: #723819 + * sched: Fix volanomark performance regression + - LP: #723819 + * sched: Fix idle balancing + - LP: #723819 + * sched: Fix wake_affine() vs RT tasks + - LP: #723819 + * sched: Remove some dead code + - LP: #723819 + * kernel/user.c: add lock release annotation on free_user() + - LP: #723819 + * Linux 2.6.32.29 + - LP: #723819 + * rds: Integer overflow in RDS cmsg handling, CVE-2010-4175 + - LP: #721455 + - CVE-2010-4175 + + -- Steve Conklin Tue, 01 Mar 2011 12:09:35 -0600 + +linux (2.6.32-29.58) lucid-proposed; urgency=low + + [ Brad Figg ] + + * Release Tracking Bug + - LP: #716551 + + [ Upstream Kernel Changes ] + + * net: fix rds_iovec page count overflow, CVE-2010-3865 + - LP: #709153 + - CVE-2010-3865 + * net: ax25: fix information leak to userland, CVE-2010-3875 + - LP: #710714 + - CVE-2010-3875 + * net: ax25: fix information leak to userland harder, CVE-2010-3875 + - LP: #710714 + - CVE-2010-3875 + * net: packet: fix information leak to userland, CVE-2010-3876 + - LP: #710714 + - CVE-2010-3876 + * net: tipc: fix information leak to userland, CVE-2010-3877 + - LP: #711291 + - CVE-2010-3877 + * inet_diag: Make sure we actually run the same bytecode we audited, + CVE-2010-3880 + - LP: #711865 + - CVE-2010-3880 + + -- Brad Figg Thu, 10 Feb 2011 09:13:43 -0800 + +linux (2.6.32-29.57) lucid-proposed; urgency=low + + [ Steve Conklin ] + + * Tracking Bug + - LP: #708864 + + [ Tim Gardner ] + + * [Config] Set CONFIG_NR_CPUS=256 for amd64 server + - LP: #706058 + + [ Upstream Kernel Changes ] + + * Input: i8042 - introduce 'notimeout' blacklist for Dell Vostro V13 + - LP: #380126 + * tun: avoid BUG, dump packet on GSO errors + - LP: #698883 + * TTY: Fix error return from tty_ldisc_open() + - LP: #705045 + * x86, hotplug: Use mwait to offline a processor, fix the legacy case + - LP: #705045 + * fuse: verify ioctl retries + - LP: #705045 + * fuse: fix ioctl when server is 32bit + - LP: #705045 + * ALSA: hda: Use model=lg quirk for LG P1 Express to enable playback and + capture + - LP: #595482, #705045 + * nohz: Fix printk_needs_cpu() return value on offline cpus + - LP: #705045 + * nohz: Fix get_next_timer_interrupt() vs cpu hotplug + - LP: #705045 + * nfsd: Fix possible BUG_ON firing in set_change_info + - LP: #705045 + * NFS: Fix fcntl F_GETLK not reporting some conflicts + - LP: #705045 + * sunrpc: prevent use-after-free on clearing XPT_BUSY + - LP: #705045 + * hwmon: (adm1026) Allow 1 as a valid divider value + - LP: #705045 + * hwmon: (adm1026) Fix setting fan_div + - LP: #705045 + * amd64_edac: Fix interleaving check + - LP: #705045 + * IB/uverbs: Handle large number of entries in poll CQ + - LP: #705045 + * PM / Hibernate: Fix PM_POST_* notification with user-space suspend + - LP: #705045 + * ACPICA: Fix Scope() op in module level code + - LP: #705045 + * ACPI: EC: Add another dmi match entry for MSI hardware + - LP: #705045 + * orinoco: fix TKIP countermeasure behaviour + - LP: #705045 + * orinoco: clear countermeasure setting on commit + - LP: #705045 + * x86, amd: Fix panic on AMD CPU family 0x15 + - LP: #705045 + * md: fix bug with re-adding of partially recovered device. + - LP: #705045 + * tracing: Fix panic when lseek() called on "trace" opened for writing + - LP: #705045 + * x86, gcc-4.6: Use gcc -m options when building vdso + - LP: #705045 + * x86: Enable the intr-remap fault handling after local APIC setup + - LP: #705045 + * x86, vt-d: Handle previous faults after enabling fault handling + - LP: #705045 + * x86, vt-d: Fix the vt-d fault handling irq migration in the x2apic mode + - LP: #705045 + * x86, vt-d: Quirk for masking vtd spec errors to platform error handling + logic + - LP: #705045 + * hvc_console: Fix race between hvc_close and hvc_remove + - LP: #705045 + * hvc_console: Fix race between hvc_close and hvc_remove, again + - LP: #705045 + * HID: hidraw: fix window in hidraw_release + - LP: #705045 + * bfa: fix system crash when reading sysfs fc_host statistics + - LP: #705045 + * net: release dst entry while cache-hot for GSO case too + - LP: #705045 + * install_special_mapping skips security_file_mmap check. + - LP: #705045 + * USB: misc: uss720.c: add another vendor/product ID + - LP: #705045 + * USB: ftdi_sio: Add D.O.Tec PID + - LP: #705045 + * USB: usb-storage: unusual_devs entry for the Samsung YP-CP3 + - LP: #705045 + * p54usb: add 5 more USBIDs + - LP: #705045 + * p54usb: New USB ID for Gemtek WUBI-100GW + - LP: #705045 + * sound: Prevent buffer overflow in OSS load_mixer_volumes + - LP: #705045 + * mv_xor: fix race in tasklet function + - LP: #705045 + * ima: fix add LSM rule bug + - LP: #705045 + * ALSA: hda: Use LPIB for Dell Latitude 131L + - LP: #530346, #705045 + * ALSA: hda: Use LPIB quirk for Dell Inspiron m101z/1120 + - LP: #705045 + * block: Deprecate QUEUE_FLAG_CLUSTER and use queue_limits instead + - LP: #705045 + * sctp: Fix a race between ICMP protocol unreachable and connect() + - LP: #705045 + * posix-cpu-timers: workaround to suppress the problems with mt exec + - LP: #705045 + * Linux 2.6.32.28 + - LP: #705045 + * dell-laptop: Add another Dell laptop family to the DMI whitelist + - LP: #693078 + * dell-laptop: Add another Dell laptop family to the DMI whitelist + - LP: #693078 + * drm/ttm: Clear the ghost cpu_writers flag on + ttm_buffer_object_transfer. + - LP: #708769 + * drm/kms: remove spaces from connector names (v2) + - LP: #708769 + * Linux 2.6.32.28+drm33.13 + - LP: #708769 + + -- Steve Conklin Fri, 27 Jan 2011 14:56:42 -0600 + +linux (2.6.32-28.56) lucid-proposed; urgency=low + + [ Brad Figg ] + + * Tracking Bug + - LP: #705565 + + * Just a build number increment for a new upload. There was an issue + in the previous upload that prevented ARMEL from building. The + issue has been resolved in the PPA and a new upload should produce + the requisite images. + + -- Brad Figg Thu, 20 Jan 2011 10:29:06 -0800 + +linux (2.6.32-28.55) lucid-proposed; urgency=low + + * Another version bump because of abi check failure + * Tracking Bug + - LP: #699885 + + -- Steve Conklin Mon, 10 Jan 2011 14:51:10 -0600 + +linux (2.6.32-28.54) lucid-proposed; urgency=low + + * Another version bump because of upload failure + + -- Steve Conklin Mon, 10 Jan 2011 10:31:00 -0600 + +linux (2.6.32-28.53) lucid-proposed; urgency=low + + * Another version bump because of upload failure + + -- Steve Conklin Thu, 06 Jan 2011 21:08:00 -0600 + +linux (2.6.32-28.52) lucid-proposed; urgency=low + + [ Steve Conklin ] + + * (removed old tracking bug link) + + -- Steve Conklin Thu, 06 Jan 2011 15:37:00 -0600 + +linux (2.6.32-28.51) lucid-proposed; urgency=low + + [ Steve Conklin ] + + * bumped version due to build fail + + -- Steve Conklin Wed, 05 Jan 2011 21:01:00 -0600 + +linux (2.6.32-28.50) lucid-proposed; urgency=low + + [ Tim Gardner ] + + * SAUCE: Change nodelayacct boot parameter polarity. + - LP: #493156 + * [Config] CONFIG_TASK_DELAY_ACCT=y + - LP: #493156 + + [ Upstream Kernel Changes ] + + * ipc: initialize structure memory to zero for compat functions + * tcp: Increase TCP_MAXSEG socket option minimum. + - CVE-2010-4165 + * perf_events: Fix perf_counter_mmap() hook in mprotect() + - CVE-2010-4169 + * af_unix: limit unix_tot_inflight + - CVE-2010-4249 + * AppArmor: fix the upper bound check for the next/check table + - LP: #581525 + * NFS: Fix panic after nfs_umount() + - LP: #683938 + * block: Ensure physical block size is unsigned int + - LP: #688669 + * block: limit vec count in bio_kmalloc() and bio_alloc_map_data() + - LP: #688669 + * block: take care not to overflow when calculating total iov length + - LP: #688669 + * block: check for proper length of iov entries in blk_rq_map_user_iov() + - LP: #688669 + * jme: Fix PHY power-off error + - LP: #688669 + * irda: Fix parameter extraction stack overflow + - LP: #688669 + * irda: Fix heap memory corruption in iriap.c + - LP: #688669 + * i2c-pca-platform: Change device name of request_irq + - LP: #688669 + * microblaze: Fix build with make 3.82 + - LP: #688669 + * Staging: asus_oled: fix up some sysfs attribute permissions + - LP: #688669 + * Staging: asus_oled: fix up my fixup for some sysfs attribute + permissions + - LP: #688669 + * Staging: line6: fix up some sysfs attribute permissions + - LP: #688669 + * hpet: fix unwanted interrupt due to stale irq status bit + - LP: #688669 + * hpet: unmap unused I/O space + - LP: #688669 + * olpc_battery: Fix endian neutral breakage for s16 values + - LP: #688669 + * percpu: fix list_head init bug in __percpu_counter_init() + - LP: #688669 + * um: remove PAGE_SIZE alignment in linker script causing kernel + segfault. + - LP: #688669 + * um: fix global timer issue when using CONFIG_NO_HZ + - LP: #688669 + * numa: fix slab_node(MPOL_BIND) + - LP: #688669 + * hwmon: (lm85) Fix ADT7468 frequency table + - LP: #688669 + * mm: fix return value of scan_lru_pages in memory unplug + - LP: #688669 + * mm: fix is_mem_section_removable() page_order BUG_ON check + - LP: #688669 + * ssb: b43-pci-bridge: Add new vendor for BCM4318 + - LP: #688669 + * sgi-xpc: XPC fails to discover partitions with all nasids above 128 + - LP: #688669 + * xen: ensure that all event channels start off bound to VCPU 0 + - LP: #688669 + * xen: don't bother to stop other cpus on shutdown/reboot + - LP: #688669 + * sys_semctl: fix kernel stack leakage + - LP: #688669 + * net: NETIF_F_HW_CSUM does not imply FCoE CRC offload + - LP: #688669 + * drivers/char/vt_ioctl.c: fix VT_OPENQRY error value + - LP: #688669 + * viafb: use proper register for colour when doing fill ops + - LP: #688669 + * eCryptfs: Clear LOOKUP_OPEN flag when creating lower file + - LP: #688669 + * md/raid1: really fix recovery looping when single good device fails. + - LP: #688669 + * md: fix return value of rdev_size_change() + - LP: #688669 + * x86: AMD Northbridge: Verify NB's node is online + - LP: #688669 + * tty: prevent DOS in the flush_to_ldisc + - LP: #688669 + * TTY: restore tty_ldisc_wait_idle + - LP: #688669 + * tty_ldisc: Fix BUG() on hangup + - LP: #688669 + * TTY: ldisc, fix open flag handling + - LP: #688669 + * KVM: VMX: fix vmx null pointer dereference on debug register access + - LP: #688669 + - CVE-2010-0435 + * KVM: x86: fix information leak to userland + - LP: #688669 + * firewire: cdev: fix information leak + - LP: #688669 + * firewire: core: fix an information leak + - LP: #688669 + * firewire: ohci: fix buffer overflow in AR split packet handling + - LP: #688669 + * firewire: ohci: fix race in AR split packet handling + - LP: #688669 + * ALSA: ac97: Apply quirk for Dell Latitude D610 binding Master and + Headphone controls + - LP: #669279, #688669 + * ALSA: HDA: Add an extra DAC for Realtek ALC887-VD + - LP: #688669 + * ALSA: hda: Use "alienware" model quirk for another SSID + - LP: #683695, #688669 + * netfilter: nf_conntrack: allow nf_ct_alloc_hashtable() to get highmem + pages + - LP: #688669 + * latencytop: fix per task accumulator + - LP: #688669 + * mm/vfs: revalidate page->mapping in do_generic_file_read() + - LP: #688669 + * bio: take care not overflow page count when mapping/copying user data + - LP: #688669 + * libata-scsi passthru: fix bug which truncated LBA48 return values + - LP: #688669 + * libata: fix NULL sdev dereference race in atapi_qc_complete() + - LP: #688669 + * PCI: fix size checks for mmap() on /proc/bus/pci files + - LP: #688669 + * PCI: fix offset check for sysfs mmapped files + - LP: #688669 + * efifb: check that the base address is plausible on pci systems + - LP: #688669 + * USB: gadget: AT91: fix typo in atmel_usba_udc driver + - LP: #688669 + * USB: ftdi_sio: add device IDs for Milkymist One JTAG/serial + - LP: #688669 + * USB: option: fix when the driver is loaded incorrectly for some Huawei + devices. + - LP: #688669 + * usb: misc: sisusbvga: fix information leak to userland + - LP: #688669 + * usb: misc: iowarrior: fix information leak to userland + - LP: #688669 + * usb: core: fix information leak to userland + - LP: #688669 + * USB: EHCI: fix obscure race in ehci_endpoint_disable + - LP: #688669 + * USB: storage: sierra_ms: fix sysfs file attribute + - LP: #688669 + * USB: atm: ueagle-atm: fix up some permissions on the sysfs files + - LP: #688669 + * USB: misc: cypress_cy7c63: fix up some sysfs attribute permissions + - LP: #688669 + * USB: misc: usbled: fix up some sysfs attribute permissions + - LP: #688669 + * USB: ftdi_sio: revert "USB: ftdi_sio: fix DTR/RTS line modes" + - LP: #688669 + * USB: misc: trancevibrator: fix up a sysfs attribute permission + - LP: #688669 + * USB: misc: usbsevseg: fix up some sysfs attribute permissions + - LP: #688669 + * USB: ftdi_sio: Add ID for RT Systems USB-29B radio cable + - LP: #688669 + * USB: serial: ftdi_sio: Vardaan USB RS422/485 converter PID added + - LP: #688669 + * acpi-cpufreq: fix a memleak when unloading driver + - LP: #688669 + * ACPI: EC: add Vista incompatibility DMI entry for Toshiba Satellite + L355 + - LP: #688669 + * fuse: fix attributes after open(O_TRUNC) + - LP: #688669 + * do_exit(): make sure that we run with get_fs() == USER_DS + - LP: #688669 + * uml: disable winch irq before freeing handler data + - LP: #688669 + * backlight: grab ops_lock before testing bd->ops + - LP: #688669 + * nommu: yield CPU while disposing VM + - LP: #688669 + * DECnet: don't leak uninitialized stack byte + - LP: #688669 + * ARM: 6489/1: thumb2: fix incorrect optimisation in usracc + - LP: #688669 + * ARM: 6482/2: Fix find_next_zero_bit and related assembly + - LP: #688669 + * Staging: frontier: fix up some sysfs attribute permissions + - LP: #688669 + * staging: rtl8187se: Change panic to warn when RF switch turned off + - LP: #688669 + * HID: hidraw, fix a NULL pointer dereference in hidraw_ioctl + - LP: #688669 + * HID: hidraw, fix a NULL pointer dereference in hidraw_write + - LP: #688669 + * gianfar: Fix crashes on RX path (Was Re: [Bugme-new] [Bug 19692] New: + linux-2.6.36-rc5 crash with gianfar ethernet at full line rate traffic) + - LP: #688669 + * Limit sysctl_tcp_mem and sysctl_udp_mem initializers to prevent integer + overflows. + - LP: #688669 + * sparc64: Fix race in signal instruction flushing. + - LP: #688669 + * sparc: Don't mask signal when we can't setup signal frame. + - LP: #688669 + * sparc: Prevent no-handler signal syscall restart recursion. + - LP: #688669 + * x86, UV: Delete unneeded boot messages + - LP: #688669 + * x86, UV: Fix initialization of max_pnode + - LP: #688669 + * drivers/video/efifb.c: support framebuffer for NVIDIA 9400M in MacBook + Pro 5,1 + - LP: #688669 + * efifb: support the EFI framebuffer on more Apple hardware + - LP: #688669 + * V4L/DVB (13154): uvcvideo: Handle garbage at the end of streaming + interface descriptors + - LP: #688669 + * Input: i8042 - add Sony VAIO VPCZ122GX to nomux list + - LP: #688669 + * x25: Patch to fix bug 15678 - x25 accesses fields beyond end of packet. + - LP: #688669 + * memory corruption in X.25 facilities parsing + - LP: #688669 + * can-bcm: fix minor heap overflow + - LP: #688669 + * V4L/DVB: ivtvfb: prevent reading uninitialized stack memory + - LP: #688669 + * x25: Prevent crashing when parsing bad X.25 facilities + - LP: #688669 + * crypto: padlock - Fix AES-CBC handling on odd-block-sized input + - LP: #688669 + * x86-32: Separate 1:1 pagetables from swapper_pg_dir + - LP: #688669 + * x86, mm: Fix CONFIG_VMSPLIT_1G and 2G_OPT trampoline + - LP: #688669 + * x86-32: Fix dummy trampoline-related inline stubs + - LP: #688669 + * rds: Integer overflow in RDS cmsg handling + - LP: #688669 + * net: Truncate recvfrom and sendto length to INT_MAX. + - LP: #688669 + * net: Limit socket I/O iovec total length to INT_MAX. + - LP: #688669 + * nmi: fix clock comparator revalidation + - LP: #688669 + * UV - XPC: pass nasid instead of nid to gru_create_message_queue + - LP: #688669 + * x86: uv: XPC receive message reuse triggers invalid BUG_ON() + - LP: #688669 + * X86: uv: xpc_make_first_contact hang due to not accepting ACTIVE state + - LP: #688669 + * x86: uv: xpc NULL deref when mesq becomes empty + - LP: #688669 + * Linux 2.6.32.27 + - LP: #688669 + + -- Steve Conklin Wed, 05 Jan 2011 13:42:00 -0600 + +linux (2.6.32-27.49) lucid-proposed; urgency=low + + [ Leann Ogasawara ] + + - LP: #683425 + * Revert "SAUCE: AF_ECONET prevent kernel stack overflow" + * Revert "SAUCE: AF_ECONET SIOCSIFADDR ioctl does not check privileges" + * Revert "SAUCE: AF_ECONET saddr->cookie prevent NULL pointer + dereference" + + [ Tim Gardner ] + + * [Config] Added be2net, be2scsi to udebs + - LP: #628776 + * [Config] Use correct be2iscsi module name in d-i/modules/scsi-modules + - LP: #628776 + + [ Upstream Kernel Changes ] + + * Revert "(pre-stable) ACPI: enable repeated PCIEXP wakeup by clearing + PCIEXP_WAKE_STS on resume" + * Revert "mm: (pre-stable) Move vma_stack_continue into mm.h" + * x86, cpu: After uncapping CPUID, re-run CPU feature detection + - LP: #668380 + * ALSA: sound/pci/rme9652: prevent reading uninitialized stack memory + - LP: #668380 + * ALSA: oxygen: fix analog capture on Claro halo cards + - LP: #668380 + * ALSA: hda - Add Dell Latitude E6400 model quirk + - LP: #643891, #668380 + * ALSA: rawmidi: fix oops (use after free) when unloading a driver module + - LP: #668380 + * USB: fix bug in initialization of interface minor numbers + - LP: #668380 + * usb: musb: gadget: fix kernel panic if using out ep with FIFO_TXRX + style + - LP: #668380 + * usb: musb: gadget: restart request on clearing endpoint halt + - LP: #668380 + * oprofile: Add Support for Intel CPU Family 6 / Model 29 + - LP: #668380 + * RDMA/cxgb3: Turn off RX coalescing for iWARP connections + - LP: #668380 + * mmc: sdhci-s3c: fix NULL ptr access in sdhci_s3c_remove + - LP: #668380 + * x86/amd-iommu: Set iommu configuration flags in enable-loop + - LP: #668380 + * x86/amd-iommu: Fix rounding-bug in __unmap_single + - LP: #668380 + * x86/amd-iommu: Work around S3 BIOS bug + - LP: #668380 + * tracing/x86: Don't use mcount in pvclock.c + - LP: #668380 + * tracing/x86: Don't use mcount in kvmclock.c + - LP: #668380 + * v4l1: fix 32-bit compat microcode loading translation + - LP: #668380 + * V4L/DVB: cx231xx: Avoid an OOPS when card is unknown (card=0) + - LP: #668380 + * V4L/DVB (13966): DVB-T regression fix for saa7134 cards + - LP: #668380 + * Input: joydev - fix JSIOCSAXMAP ioctl + - LP: #668380 + * x86, hpet: Fix bogus error check in hpet_assign_irq() + - LP: #668380 + * x86, irq: Plug memory leak in sparse irq + - LP: #668380 + * ubd: fix incorrect sector handling during request restart + - LP: #668380 + * ring-buffer: Fix typo of time extends per page + - LP: #668380 + * dmaengine: fix interrupt clearing for mv_xor + - LP: #668380 + * hrtimer: Preserve timer state in remove_hrtimer() + - LP: #668380 + * i2c-pca: Fix waitforcompletion() return value + - LP: #668380 + * wext: fix potential private ioctl memory content leak + - LP: #668380 + * atl1: fix resume + - LP: #668380 + * x86, AMD, MCE thresholding: Fix the MCi_MISCj iteration order + - LP: #668380 + * De-pessimize rds_page_copy_user + - LP: #668380 + * xfrm4: strip ECN and IP Precedence bits in policy lookup + - LP: #668380 + * tcp: Fix >4GB writes on 64-bit. + - LP: #668380 + * net: Fix the condition passed to sk_wait_event() + - LP: #668380 + * Phonet: Correct header retrieval after pskb_may_pull + - LP: #668380 + * net: Fix IPv6 PMTU disc. w/ asymmetric routes + - LP: #668380 + * ip: fix truesize mismatch in ip fragmentation + - LP: #668380 + * net: clear heap allocations for privileged ethtool actions + - LP: #668380 + * tcp: Fix race in tcp_poll + - LP: #668380 + * netxen: dont set skb->truesize + - LP: #668380 + * net: blackhole route should always be recalculated + - LP: #668380 + * skge: add quirk to limit DMA + - LP: #668380 + * r8169: allocate with GFP_KERNEL flag when able to sleep + - LP: #668380 + * bsg: fix incorrect device_status value + - LP: #668380 + * r6040: fix r6040_multicast_list + - LP: #668380 + * r6040: Fix multicast list iteration when hash filter is used + - LP: #668380 + * powerpc: Initialise paca->kstack before early_setup_secondary + - LP: #668380 + * powerpc: Don't use kernel stack with translation off + - LP: #668380 + * b44: fix carrier detection on bind + - LP: #668380 + * ACPI: enable repeated PCIEXP wakeup by clearing PCIEXP_WAKE_STS on + resume + - LP: #613381, #668380 + * intel_idle: PCI quirk to prevent Lenovo Ideapad s10-3 boot hang + - LP: #668380 + * ACPI: EC: add Vista incompatibility DMI entry for Toshiba Satellite + L355 + - LP: #668380 + * ACPI: delete ZEPTO idle=nomwait DMI quirk + - LP: #668380 + * ACPI: Disable Windows Vista compatibility for Toshiba P305D + - LP: #668380 + * x86: detect scattered cpuid features earlier + - LP: #668380 + * fix 2.6.32.23 suspend regression caused by commit 6f6198a + - LP: #668380 + * setup_arg_pages: diagnose excessive argument size + - LP: #668380 + * execve: improve interactivity with large arguments + - LP: #668380 + * execve: make responsive to SIGKILL with large arguments + - LP: #668380 + * Phonet: disable network namespace support + - LP: #668380 + * mm: Move vma_stack_continue into mm.h + - LP: #668380 + * Linux 2.6.32.25 + - LP: #668380 + * xfs: validate untrusted inode numbers during lookup + - CVE-2010-2943 + * xfs: rename XFS_IGET_BULKSTAT to XFS_IGET_UNTRUSTED + - CVE-2010-2943 + * xfs: remove block number from inode lookup code + - CVE-2010-2943 + * xfs: fix untrusted inode number lookup + - CVE-2010-2943 + * drm/i915: Sanity check pread/pwrite + - CVE-2010-2962 + * drm/i915: Rephrase pwrite bounds checking to avoid any potential + overflow + - CVE-2010-2962 + * net: clear heap allocation for ETHTOOL_GRXCLSRLALL + - CVE-2010-3861 + * ipc: shm: fix information leak to userland + - CVE-2010-4072 + * staging: usbip: Notify usb core of port status changes + - LP: #681132 + * staging: usbip: Process event flags without delay + - LP: #681132 + * powerpc/perf: Fix sampling enable for PPC970 + - LP: #681132 + * pcmcia: synclink_cs: fix information leak to userland + - LP: #681132 + * sched: Fix string comparison in /proc/sched_features + - LP: #681132 + * bluetooth: Fix missing NULL check + - LP: #681132 + * futex: Fix errors in nested key ref-counting + - LP: #681132 + * mm, x86: Saving vmcore with non-lazy freeing of vmas + - LP: #681132 + * x86, cpu: Fix renamed, not-yet-shipping AMD CPUID feature bit + - LP: #681132 + * x86, kexec: Make sure to stop all CPUs before exiting the kernel + - LP: #681132 + * x86, olpc: Don't retry EC commands forever + - LP: #681132 + * x86, mtrr: Assume SYS_CFG[Tom2ForceMemTypeWB] exists on all future AMD + CPUs + - LP: #681132 + * x86, intr-remap: Set redirection hint in the IRTE + - LP: #681132 + * x86, kdump: Change copy_oldmem_page() to use cached addressing + - LP: #681132 + * KVM: SVM: Fix wrong intercept masks on 32 bit + - LP: #681132 + * KVM: MMU: fix direct sps access corrupted + - LP: #681132 + * KVM: MMU: fix conflict access permissions in direct sp + - LP: #681132 + * KVM: VMX: Fix host GDT.LIMIT corruption + - LP: #681132 + * KVM: SVM: Adjust tsc_offset only if tsc_unstable + - LP: #681132 + * KVM: x86: Fix SVM VMCB reset + - LP: #681132 + * KVM: x86: Move TSC reset out of vmcb_init + - LP: #681132 + * KVM: Fix fs/gs reload oops with invalid ldt + - LP: #681132 + * KVM: Correct ordering of ldt reload wrt fs/gs reload + * KVM: VMX: Fix host userspace gsbase corruption + * pipe: fix failure to return error code on ->confirm() + - LP: #681132 + * p54usb: fix off-by-one on !CONFIG_PM + - LP: #681132 + * p54usb: add five more USBIDs + - LP: #681132 + * drivers/net/wireless/p54/eeprom.c: Return -ENOMEM on memory allocation + failure + - LP: #681132 + * USB: ftdi_sio: Add PID for accesio products + - LP: #681132 + * USB: add PID for FTDI based OpenDCC hardware + - LP: #681132 + * USB: ftdi_sio: new VID/PIDs for various Papouch devices + - LP: #681132 + * USB: ftdi_sio: add device ids for ScienceScope + - LP: #681132 + * usb: musb: blackfin: call gpio_free() on error path in + musb_platform_init() + - LP: #681132 + * USB: option: Add more ZTE modem USB id's + - LP: #681132 + * USB: cp210x: Add Renesas RX-Stick device ID + - LP: #681132 + * USB: cp210x: Add WAGO 750-923 Service Cable device ID + - LP: #681132 + * USB: atmel_usba_udc: force vbus_pin at -EINVAL when gpio_request + failled + - LP: #681132 + * USB: disable endpoints after unbinding interfaces, not before + - LP: #681132 + * USB: opticon: Fix long-standing bugs in opticon driver + - LP: #681132 + * USB: accept some invalid ep0-maxpacket values + - LP: #681132 + * sd name space exhaustion causes system hang + - LP: #681132 + * libsas: fix NCQ mixing with non-NCQ + - LP: #681132 + * gdth: integer overflow in ioctl + - LP: #681132 + * Fix race when removing SCSI devices + - LP: #681132 + * Fix regressions in scsi_internal_device_block + - LP: #681132 + * sgi-xp: incoming XPC channel messages can come in after the channel's + partition structures have been torn down + - LP: #681132 + * Linux 2.6.32.26 + - LP: #681132 + * drm/radeon: fix PCI ID 5657 to be an RV410 + - LP: #683257 + * Linux 2.6.32.26+drm33.12 + - LP: #683257 + * econet: disallow NULL remote addr for sendmsg(), fixes CVE-2010-3849 + - CVE-2010-3849 + * econet: fix CVE-2010-3850 + - CVE-2010-3850 + * econet: fix CVE-2010-3848 + - CVE-2010-3848 + + -- Leann Ogasawara Tue, 30 Nov 2010 11:20:00 -0800 + +linux (2.6.32-26.48) lucid-security; urgency=low + + [ Leann Ogasawara ] + + * SAUCE: AF_ECONET prevent kernel stack overflow + - CVE-2010-3848 + * SAUCE: AF_ECONET SIOCSIFADDR ioctl does not check privileges + - CVE-2010-3850 + * SAUCE: AF_ECONET saddr->cookie prevent NULL pointer dereference + - CVE-2010-3849 + + -- Leann Ogasawara Fri, 19 Nov 2010 16:10:05 -0800 + +linux (2.6.32-26.47) lucid-proposed; urgency=low + + [ Steve Conklin ] + + * Revert "SAUCE: ALSA: HDA: Enable internal mic on Dell E6410 and Dell + E6510" + * Revert "[Config] Added be2net, be2scsi to udebs" + + [ Upstream Kernel Changes ] + + * Revert "(ore-stable) ALSA: hda - Apply ALC269 VAIO fix-up to all Sony + laptops with ALC269" + * Revert "(pre-stable) ALSA: HDA: Correctly apply position_fix quirks for + ATI and VIA controllers" + * Revert "ALSA: hda: Use LPIB for another mainboard" + * Revert "ALSA: hda: Use LPIB for ASUS M2V" + * Revert "ALSA: hda: Use LPIB for an ASUS device" + * Buglink Fixup for reverted unverified fixes + + -- Steve Conklin Mon, 15 Nov 2010 14:59:39 -0500 + +linux (2.6.32-26.46) lucid-proposed; urgency=low + + [ Brad Figg ] + + * SAUCE: ALSA: HDA: Enable internal mic on Dell E6410 and Dell E6510 + - See: #605047, #628961 + + [ Tim Gardner ] + + * [Config] Added be2net, be2scsi to udebs + - See: #628776 + + [ Upstream Kernel Changes ] + + * Revert "(pre-stable) drm/i915: add PANEL_UNLOCK_REGS definition" + - LP: #645444 + * Revert "(pre-stable) drm/i915: make sure we shut off the panel in eDP + configs" + - LP: #645444 + * Revert "(pre-stable) drm/i915: make sure eDP panel is turned on" + - LP: #645444 + * Revert "(pre-stable) drm/radeon/kms: initialize set_surface_reg reg for + rs600 asic" + - LP: #645371 + * Revert "drm/nouveau: Fix fbcon corruption with font width not divisible + by 8" + - LP: #663176 + * mmc: fix all hangs related to mmc/sd card insert/removal during + suspend/resume + - LP: #477106 + * mmc: build fix: mmc_pm_notify is only available with CONFIG_PM=y + - LP: #477106 + * hwmon: (k8temp) Differentiate between AM2 and ASB1 + - LP: #644694 + * xen: handle events as edge-triggered + - LP: #644694 + * xen: use percpu interrupts for IPIs and VIRQs + - LP: #644694 + * ALSA: hda - Rename iMic to Int Mic on Lenovo NB0763 + - LP: #605101, #644694 + * sata_mv: fix broken DSM/TRIM support (v2) + - LP: #644694 + * x86, tsc, sched: Recompute cyc2ns_offset's during resume from sleep + states + - LP: #644694 + * PCI: MSI: Remove unsafe and unnecessary hardware access + - LP: #644694 + * PCI: MSI: Restore read_msi_msg_desc(); add get_cached_msi_msg_desc() + - LP: #644694 + * sched: kill migration thread in CPU_POST_DEAD instead of CPU_DEAD + - LP: #644694 + * sched: revert stable c6fc81a sched: Fix a race between ttwu() and + migrate_task() + - LP: #644694 + * staging: hv: Fix missing functions for net_device_ops + - LP: #644694 + * staging: hv: Fixed bounce kmap problem by using correct index + - LP: #644694 + * staging: hv: Fixed the value of the 64bit-hole inside ring buffer + - LP: #644694 + * staging: hv: Increased storvsc ringbuffer and max_io_requests + - LP: #644694 + * staging: hv: Fixed lockup problem with bounce_buffer scatter list + - LP: #644694 + * fuse: flush background queue on connection close + - LP: #644694 + * ath9k_hw: fix parsing of HT40 5 GHz CTLs + - LP: #644694 + * ocfs2: Fix incorrect checksum validation error + - LP: #644694 + * USB: ehci-ppc-of: problems in unwind + - LP: #644694 + * USB: Fix kernel oops with g_ether and Windows + - LP: #644694 + * USB: CP210x Add new device ID + - LP: #644694 + * USB: cp210x: Add B&G H3000 link cable ID + - LP: #644694 + * USB: ftdi_sio: Added custom PIDs for ChamSys products + - LP: #644694 + * USB: serial: Extra device/vendor ID for mos7840 driver + - LP: #644694 + * usb: serial: mos7840: Add USB ID to support the B&B Electronics + USOPTL4-2P. + - LP: #644694 + * USB: mos7840: fix DMA buffers on stack and endianess bugs + - LP: #644694 + * usb: serial: mos7840: Add USB IDs to support more B&B USB/RS485 + converters. + - LP: #644694 + * USB: Exposing second ACM channel as tty for Nokia S60 phones. + - LP: #644694 + * USB: cdc-acm: add another device quirk + - LP: #644694 + * USB: Expose vendor-specific ACM channel on Nokia 5230 + - LP: #644694 + * USB: cdc-acm: Adding second ACM channel support for various Nokia and + one Samsung phones + - LP: #644694 + * USB: cdc-acm: Add pseudo modem without AT command capabilities + - LP: #644694 + * USB: cdc-acm: Fixing crash when ACM probing interfaces with no endpoint + descriptors. + - LP: #644694 + * ALSA: hda - Fix auto-parser of ALC269vb for HP pin NID 0x21 + - LP: #644694 + * ALSA: seq/oss - Fix double-free at error path of snd_seq_oss_open() + - LP: #644694 + * sysfs: checking for NULL instead of ERR_PTR + - LP: #644694 + * tun: Don't add sysfs attributes to devices without sysfs directories + - LP: #644694 + * oprofile: fix crash when accessing freed task structs + - LP: #644694 + * oprofile, x86: fix init_sysfs error handling + - LP: #644694 + * oprofile, x86: fix init_sysfs() function stub + - LP: #644694 + * HID: usbhid: initialize interface pointers early enough + - LP: #644694 + * HID: fix suspend crash by moving initializations earlier + - LP: #644694 + * libata: skip EH autopsy and recovery during suspend + - LP: #644694 + * tracing: Fix a race in function profile + - LP: #644694 + * tracing: Do not allow llseek to set_ftrace_filter + - LP: #644694 + * tracing: t_start: reset FTRACE_ITER_HASH in case of seek/pread + - LP: #644694 + * irda: off by one + - LP: #644694 + * gcov: fix null-pointer dereference for certain module types + - LP: #644694 + * tmio_mmc: don't clear unhandled pending interrupts + - LP: #644694 + * mmc: fix the use of kunmap_atomic() in tmio_mmc.h + - LP: #644694 + * bounce: call flush_dcache_page() after bounce_copy_vec() + - LP: #644694 + * kernel/groups.c: fix integer overflow in groups_search + - LP: #644694 + * binfmt_misc: fix binfmt_misc priority + - LP: #644694 + * Input: i8042 - fix device removal on unload + - LP: #644694 + * memory hotplug: fix next block calculation in is_removable + - LP: #644694 + * perf: Initialize callchains roots's childen hits + - LP: #644694 + * p54: fix tx feedback status flag check + - LP: #644694 + * ath5k: check return value of ieee80211_get_tx_rate + - LP: #644694 + * wireless extensions: fix kernel heap content leak + - LP: #644694 + * x86, tsc: Fix a preemption leak in restore_sched_clock_state() + - LP: #644694 + * sched: Protect task->cpus_allowed access in sched_getaffinity() + - LP: #644694 + * sched: Protect sched_rr_get_param() access to task->sched_class + - LP: #644694 + * sched: Consolidate select_task_rq() callers + - LP: #644694 + * sched: Remove unused cpu_nr_migrations() + - LP: #644694 + * sched: Remove rq->clock coupling from set_task_cpu() + - LP: #644694 + * sched: Clean up ttwu() rq locking + - LP: #644694 + * sched: Sanitize fork() handling + - LP: #644694 + * sched: Remove forced2_migrations stats + - LP: #644694 + * sched: Make wakeup side and atomic variants of completion API irq safe + - LP: #644694 + * sched: Use rcu in sys_sched_getscheduler/sys_sched_getparam() + - LP: #644694 + * sched: Use rcu in sched_get/set_affinity() + - LP: #644694 + * sched: Use rcu in sched_get_rr_param() + - LP: #644694 + * sched: Fix set_cpu_active() in cpu_down() + - LP: #644694 + * sched: Use TASK_WAKING for fork wakups + - LP: #644694 + * sched: Ensure set_task_cpu() is never called on blocked tasks + - LP: #644694 + * sched: Make warning less noisy + - LP: #644694 + * sched: Fix broken assertion + - LP: #644694 + * sched: Fix sched_exec() balancing + - LP: #644694 + * sched: Fix select_task_rq() vs hotplug issues + - LP: #644694 + * sched: Add pre and post wakeup hooks + - LP: #644694 + * sched: Remove the cfs_rq dependency from set_task_cpu() + - LP: #644694 + * sched: Fix hotplug hang + - LP: #644694 + * sched: Fix fork vs hotplug vs cpuset namespaces + - LP: #644694 + * sched: Fix incorrect sanity check + - LP: #644694 + * sched: Fix race between ttwu() and task_rq_lock() + - LP: #644694 + * sched: Extend enqueue_task to allow head queueing + - LP: #644694 + * sched: Implement head queueing for sched_rt + - LP: #644694 + * sched: Queue a deboosted task to the head of the RT prio queue + - LP: #644694 + * sched: set_cpus_allowed_ptr(): Don't use rq->migration_thread after + unlock + - LP: #644694 + * sched: Kill the broken and deadlockable + cpuset_lock/cpuset_cpus_allowed_locked code + - LP: #644694 + * sched: move_task_off_dead_cpu(): Take rq->lock around + select_fallback_rq() + - LP: #644694 + * sched: move_task_off_dead_cpu(): Remove retry logic + - LP: #644694 + * sched: sched_exec(): Remove the select_fallback_rq() logic + - LP: #644694 + * sched: _cpu_down(): Don't play with current->cpus_allowed + - LP: #644694 + * sched: Make select_fallback_rq() cpuset friendly + - LP: #644694 + * sched: Fix TASK_WAKING vs fork deadlock + - LP: #644694 + * sched: Optimize task_rq_lock() + - LP: #644694 + * sched: Fix nr_uninterruptible count + - LP: #644694 + * sched: Fix rq->clock synchronization when migrating tasks + - LP: #644694 + * sched: Remove unnecessary RCU exclusion + - LP: #644694 + * sched: apply RCU protection to wake_affine() + - LP: #644694 + * sched: Cleanup select_task_rq_fair() + - LP: #644694 + * sched: More generic WAKE_AFFINE vs select_idle_sibling() + - LP: #644694 + * sched: Fix vmark regression on big machines + - LP: #644694 + * sched: Fix select_idle_sibling() + - LP: #644694 + * sched: Pre-compute cpumask_weight(sched_domain_span(sd)) + - LP: #644694 + * sched: Fix select_idle_sibling() logic in select_task_rq_fair() + - LP: #644694 + * sched: cpuacct: Use bigger percpu counter batch values for stats + counters + - LP: #644694 + * ALSA: hda - Handle missing NID 0x1b on ALC259 codec + - LP: #644694 + * ALSA: hda - Handle pin NID 0x1a on ALC259/269 + - LP: #644694 + * arm: fix really nasty sigreturn bug + - LP: #644694 + * hwmon: (f75375s) Shift control mode to the correct bit position + - LP: #644694 + * hwmon: (f75375s) Do not overwrite values read from registers + - LP: #644694 + * apm_power: Add missing break statement + - LP: #644694 + * NFS: Fix a typo in nfs_sockaddr_match_ipaddr6 + - LP: #644694 + * SUNRPC: Fix race corrupting rpc upcall + - LP: #644694 + * Linux 2.6.32.22 + - LP: #644694 + * drm/i915: don't access FW_BLC_SELF on 965G + - LP: #645444 + * drm/i915: gen3 page flipping fixes + - LP: #645444 + * drm/i915: don't queue flips during a flip pending event + - LP: #645444 + * drm/i915: Hold the spinlock whilst resetting unpin_work along error + path + - LP: #645444 + * drm/i915: handle shared framebuffers when flipping + - LP: #645444 + * drm/i915: add PANEL_UNLOCK_REGS definition + - LP: #645444 + * drm/i915: make sure eDP panel is turned on + - LP: #645444 + * drm/i915: make sure we shut off the panel in eDP configs + - LP: #645444 + * Linux 2.6.32.22+drm33.9 + - LP: #645444 + * drm/radeon/kms/igp: sideport is AMD only + - LP: #645371 + * drm/radeon/kms: flush HDP cache on GART table updates. + - LP: #645371 + * drm/radeon/kms/r7xx: add workaround for hw issue with HDP flush + - LP: #645371 + * drm/i915: Check overlay stride errata for i830 and i845 + - LP: #645371 + * i915: fix ironlake edp panel setup (v4) + - LP: #645371 + * drm/radeon/kms: add additional quirk for Acer rv620 laptop + - LP: #645371 + * drm/i915: fixup pageflip ringbuffer commands for i8xx + - LP: #645371 + * drm/i915: i8xx also doesn't like multiple oustanding pageflips + - LP: #645371 + * drm/i915/edp: Flush the write before waiting for PLLs + - LP: #645371 + * drm/radeon/kms: disable MSI on IGP chips + - LP: #645371 + * drm/radeon/kms: don't enable MSIs on AGP boards + - LP: #645371 + * drm/radeon/kms: fix typo in radeon_compute_pll_gain + - LP: #645371 + * drm/radeon/kms/DCE3+: switch pads to ddc mode when going i2c + - LP: #645371 + * drm/radeon/kms: fix sideport detection on newer rs880 boards + - LP: #645371 + * drm/i915: Don't touch PORT_HOTPLUG_EN in intel_dp_detect() + - LP: #645371 + * drm/i915: Kill dangerous pending-flip debugging + - LP: #645371 + * drm/radeon/kms: release AGP bridge at suspend + - LP: #645371 + * drm/radeon/kms: initialize set_surface_reg reg for rs600 asic + - LP: #645371 + * drm/radeon/kms: fix a regression on r7xx AGP due to the HDP flush fix + - LP: #645371 + * Linux 2.6.32.22+drm33.10 + - LP: #645371 + * USB: serial/mos*: prevent reading uninitialized stack memory + - LP: #649483 + * sparc: Provide io{read,write}{16,32}be(). + - LP: #649483 + * gro: fix different skb headrooms + - LP: #649483 + * gro: Re-fix different skb headrooms + - LP: #649483 + * irda: Correctly clean up self->ias_obj on irda_bind() failure. + - LP: #649483 + * tcp: select(writefds) don't hang up when a peer close connection + - LP: #649483 + * tcp: Combat per-cpu skew in orphan tests. + - LP: #649483 + * tcp: fix three tcp sysctls tuning + - LP: #649483 + * bridge: Clear IPCB before possible entry into IP stack + - LP: #649483 + * bridge: Clear INET control block of SKBs passed into ip_fragment(). + - LP: #649483 + * net: Fix oops from tcp_collapse() when using splice() + - LP: #649483 + * rds: fix a leak of kernel memory + - LP: #649483 + * tcp: Prevent overzealous packetization by SWS logic. + - LP: #649483 + * UNIX: Do not loop forever at unix_autobind(). + - LP: #649483 + * r8169: fix random mdio_write failures + - LP: #649483 + * r8169: fix mdio_read and update mdio_write according to hw specs + - LP: #649483 + * sparc64: Get rid of indirect p1275 PROM call buffer. + - LP: #649483 + * drivers/net/usb/hso.c: prevent reading uninitialized memory + - LP: #649483 + * drivers/net/cxgb3/cxgb3_main.c: prevent reading uninitialized stack + memory + - LP: #649483 + * drivers/net/eql.c: prevent reading uninitialized stack memory + - LP: #649483 + * bonding: correctly process non-linear skbs + - LP: #649483 + * Staging: vt6655: fix buffer overflow + - LP: #649483 + * net/llc: make opt unsigned in llc_ui_setsockopt() + - LP: #649483 + * pid: make setpgid() system call use RCU read-side critical section + - LP: #649483 + * sched: Fix user time incorrectly accounted as system time on 32-bit + - LP: #649483 + * oprofile: Add Support for Intel CPU Family 6 / Model 22 (Intel Celeron + 540) + - LP: #649483 + * char: Mark /dev/zero and /dev/kmem as not capable of writeback + - LP: #649483 + * drivers/pci/intel-iommu.c: fix build with older gcc's + - LP: #649483 + * drivers/video/sis/sis_main.c: prevent reading uninitialized stack + memory + - LP: #649483 + * percpu: fix pcpu_last_unit_cpu + - LP: #649483 + * aio: check for multiplication overflow in do_io_submit + - LP: #649483 + * inotify: send IN_UNMOUNT events + - LP: #649483 + * SCSI: mptsas: fix hangs caused by ATA pass-through + - LP: #649483 + * ext4: Fix remaining racy updates of EXT4_I(inode)->i_flags + - LP: #649483 + * IA64: fix siglock + - LP: #649483 + * IA64: Optimize ticket spinlocks in fsys_rt_sigprocmask + - LP: #649483 + * KEYS: Fix RCU no-lock warning in keyctl_session_to_parent() + - LP: #649483 + * KEYS: Fix bug in keyctl_session_to_parent() if parent has no session + keyring + - LP: #649483 + * xfs: prevent reading uninitialized stack memory + - LP: #649483 + * drivers/video/via/ioctl.c: prevent reading uninitialized stack memory + - LP: #649483 + * ACPI: disable _OSI(Windows 2009) on Asus K50IJ + - LP: #649483 + * bnx2: Fix netpoll crash. + - LP: #649483 + * bnx2: Fix hang during rmmod bnx2. + - LP: #649483 + * AT91: change dma resource index + - LP: #649483 + * cxgb3: fix hot plug removal crash + - LP: #649483 + * mm: page allocator: drain per-cpu lists after direct reclaim allocation + fails + - LP: #649483 + * mm: page allocator: calculate a better estimate of NR_FREE_PAGES when + memory is low and kswapd is awake + - LP: #649483 + * mm: page allocator: update free page counters after pages are placed on + the free list + - LP: #649483 + * guard page for stacks that grow upwards + - LP: #649483 + * Fix unprotected access to task credentials in waitid() + - LP: #649483 + * sctp: Do not reset the packet during sctp_packet_config(). + - LP: #649483 + * 3c503: Fix IRQ probing + - LP: #649483 + * asix: fix setting mac address for AX88772 + - LP: #649483 + * dasd: use correct label location for diag fba disks + - LP: #649483 + * clocksource: sh_tmu: compute mult and shift before registration + - LP: #649483 + * gro: Fix bogus gso_size on the first fraglist entry + - LP: #649483 + * hostap_pci: set dev->base_addr during probe + - LP: #649483 + * inotify: fix inotify oneshot support + - LP: #649483 + * Input: add compat support for sysfs and /proc capabilities output + - LP: #649483 + * MIPS: Quit using undefined behavior of ADDU in 64-bit atomic + operations. + - LP: #649483 + * MIPS: Set io_map_base for several PCI bridges lacking it + - LP: #649483 + * MIPS: uasm: Add OR instruction. + - LP: #649483 + * pata_pdc202xx_old: fix UDMA mode for Promise UDMA33 cards + - LP: #649483 + * pata_pdc202xx_old: fix UDMA mode for PDC2026x chipsets + - LP: #649483 + * MIPS: Sibyte: Fix M3 TLB exception handler workaround. + - LP: #649483 + * sis-agp: Remove SIS 760, handled by amd64-agp + - LP: #649483 + * alpha: Fix printk format errors + - LP: #649483 + * x86: Add memory modify constraints to xchg() and cmpxchg() + - LP: #649483 + * Linux 2.6.32.23 + - LP: #649483 + * (pre-stable) [SCSI] megaraid_sas: Add new megaraid SAS 2 controller + support to the driver + - LP: #546091 + * (pre-stable) [SCSI] megaraid_sas: allocate the application cmds to sas2 + controller + - LP: #546091 + * Xen: fix typo in previous patch + - LP: #655456 + * Linux 2.6.32.24 + - LP: #655456 + * (ore-stable) ALSA: hda - Apply ALC269 VAIO fix-up to all Sony laptops + with ALC269 + - See: #546769, #598938, #637291, #642892, #648871, #655386 + * (pre-stable) ALSA: HDA: Correctly apply position_fix quirks for ATI and + VIA controllers + - See: #465942, #580749, #587546 + * (pre-stable) ACPI: enable repeated PCIEXP wakeup by clearing + PCIEXP_WAKE_STS on resume + - LP: #613381 + * i915: return -EFAULT if copy_to_user fails + - LP: #663176 + * i915_gem: return -EFAULT if copy_to_user fails + - LP: #663176 + * drm/i915: Prevent double dpms on + - LP: #663176 + * drm: Only decouple the old_fb from the crtc is we call mode_set* + - LP: #663176 + * drm/radeon/kms: fix potential segfault in r600_ioctl_wait_idle + - LP: #663176 + * drm/i915: Unset cursor if out-of-bounds upon mode change (v4) + - LP: #586325, #663176 + * drm/i915: disable FBC when more than one pipe is active + - LP: #663176 + * drm/radeon/kms: fix macbookpro connector quirk + - LP: #663176 + * drm/nouveau: use ALIGN instead of open coding it + - LP: #663176 + * drm/nouveau: Fix fbcon corruption with font width not divisible by 8 + - LP: #663176 + * drm/i915,agp/intel: Add second set of PCI-IDs for B43 + - LP: #640214, #663176 + * Linux 2.6.32.24+drm33.11 + - LP: #663176 + + -- Brad Figg Fri, 22 Oct 2010 10:41:58 -0700 + +linux (2.6.32-25.45) lucid-security; urgency=low + + [ Upstream Kernel Changes ] + + * v4l: disable dangerous buggy compat function + - CVE-2010-2963 + * Local privilege escalation vulnerability in RDS sockets + - CVE-2010-3904 + * mm: (pre-stable) Move vma_stack_continue into mm.h + - LP: #646114 + * net sched: fix some kernel memory leaks + - CVE-2010-2942 + * irda: Correctly clean up self->ias_obj on irda_bind() failure. + - CVE-2010-2954 + * wireless extensions: fix kernel heap content leak + - CVE-2010-2955 + * KEYS: Fix RCU no-lock warning in keyctl_session_to_parent() + - CVE-2010-2960 + * KEYS: Fix bug in keyctl_session_to_parent() if parent has no session + keyring + - CVE-2010-2960 + * aio: check for multiplication overflow in do_io_submit + - CVE-2010-3067 + * xfs: prevent reading uninitialized stack memory + - CVE-2010-3078 + * ALSA: seq/oss - Fix double-free at error path of snd_seq_oss_open() + - CVE-2010-3080 + * niu: Fix kernel buffer overflow for ETHTOOL_GRXCLSRLALL + - CVE-2010-3084 + * rose: Fix signedness issues wrt. digi count. + - CVE-2010-3310 + * sctp: Do not reset the packet during sctp_packet_config(). + - CVE-2010-3432 + * Fix pktcdvd ioctl dev_minor range check + - CVE-2010-3437 + * ALSA: prevent heap corruption in snd_ctl_new() + - CVE-2010-3442 + * net sched: fix kernel leak in act_police + - CVE-2010-3477 + * Fix out-of-bounds reading in sctp_asoc_get_hmac() + - CVE-2010-3705 + * ocfs2: Don't walk off the end of fast symlinks. + - CVE-2010-NNN2 + + -- Steve Conklin Wed, 06 Oct 2010 16:16:20 +0100 + +linux (2.6.32-25.44) lucid-proposed; urgency=low + + [ Brad Figg ] + + * SAUCE: (no-up) Modularize vesafb -- fix initialization + - LP: #611471 + + [ Stefan Bader ] + + * Revert "SAUCE: sync before umount to reduce time taken by ext4 umount" + - LP: #543617, #585092 + + [ Steve Conklin ] + + * Revert "SAUCE: tulip: Let dmfe handle davicom on non-sparc" + - LP: #607824 + + [ Tim Gardner ] + + * [Config] Added ums-cypress to udeb + - LP: #576066 + + [ Upstream Kernel Changes ] + + * Revert "PCI quirk: Disable MSI on VIA K8T890 systems" + - LP: #607824 + * Revert "PCI quirks: disable msi on AMD rs4xx internal gfx bridges" + - LP: #607824 + * Revert "(pre-stable) Input: psmouse - reset all types of mice before + reconnecting" + - LP: #607824 + * Revert "jbd: jbd-debug and jbd2-debug should be writable" + - LP: #607824 + * Revert "ext4: Make fsync sync new parent directories in no-journal + mode" + - LP: #615548 + * Revert "ext4: Fix compat EXT4_IOC_ADD_GROUP" + - LP: #615548 + * Revert "ext4: Conditionally define compat ioctl numbers" + - LP: #615548 + * Revert "ext4: restart ext4_ext_remove_space() after transaction + restart" + - LP: #615548 + * Revert "ext4: Clear the EXT4_EOFBLOCKS_FL flag only when warranted" + - LP: #615548 + * Revert "ext4: Avoid crashing on NULL ptr dereference on a filesystem + error" + - LP: #615548 + * Revert "ext4: Use bitops to read/modify i_flags in struct + ext4_inode_info" + - LP: #615548 + * Revert "ext4: Show journal_checksum option" + - LP: #615548 + * Revert "ext4: check for a good block group before loading buddy pages" + - LP: #615548 + * Revert "ext4: Prevent creation of files larger than RLIMIT_FSIZE using + fallocate" + - LP: #615548 + * Revert "ext4: Remove extraneous newlines in ext4_msg() calls" + - LP: #615548 + * Revert "ext4: init statistics after journal recovery" + - LP: #615548 + * Revert "ext4: clean up inode bitmaps manipulation in ext4_free_inode" + - LP: #615548 + * Revert "ext4: Do not zero out uninitialized extents beyond i_size" + - LP: #615548 + * Revert "ext4: don't scan/accumulate more pages than mballoc will + allocate" + - LP: #615548 + * Revert "ext4: stop issuing discards if not supported by device" + - LP: #615548 + * Revert "ext4: check s_log_groups_per_flex in online resize code" + - LP: #615548 + * Revert "ext4: fix quota accounting in case of fallocate" + - LP: #615548 + * Revert "ext4: allow defrag (EXT4_IOC_MOVE_EXT) in 32bit compat mode" + - LP: #615548 + * Revert "ext4: rename ext4_mb_release_desc() to ext4_mb_unload_buddy()" + - LP: #615548 + * Revert "ext4: Remove unnecessary call to ext4_get_group_desc() in + mballoc" + - LP: #615548 + * Revert "ext4: fix memory leaks in error path handling of + ext4_ext_zeroout()" + - LP: #615548 + * Revert "ext4: check missed return value in ext4_sync_file()" + - LP: #615548 + * Revert "ext4: Issue the discard operation *before* releasing the blocks + to be reused" + - LP: #615548 + * Revert "ext4: Fix buffer head leaks after calls to + ext4_get_inode_loc()" + - LP: #615548 + * Revert "ext4: Fix possible lost inode write in no journal mode" + - LP: #615548 + * Revert "ext4: Fixed inode allocator to correctly track a flex_bg's + used_dirs" + - LP: #615548 + * Revert "ext4: Fix estimate of # of blocks needed to write + indirect-mapped files" + - LP: #615548 + * Revert "ext4: Code cleanup for EXT4_IOC_MOVE_EXT ioctl" + - LP: #615548 + * Revert "ext4: Fix the NULL reference in double_down_write_data_sem()" + - LP: #615548 + * Revert "ext4: Fix insertion point of extent in + mext_insert_across_blocks()" + - LP: #615548 + * Revert "ext4: make "offset" consistent in ext4_check_dir_entry()" + - LP: #615548 + * Revert "ext4: Handle non empty on-disk orphan link" + - LP: #615548 + * Revert "ext4: explicitly remove inode from orphan list after failed + direct io" + - LP: #615548 + * Revert "ext4: fix error handling in migrate" + - LP: #615548 + * Revert "ext4: Fix fencepost error in chosing choosing group vs file + preallocation." + - LP: #615548 + * Revert "ext4: Add flag to files with blocks intentionally past EOF" + - LP: #615548 + * Revert "ext4: Fix BUG_ON at fs/buffer.c:652 in no journal mode" + - LP: #615548 + * Revert "ext4: Use bitops to read/modify EXT4_I(inode)->i_state" + - LP: #615548 + * Revert "ext4: Drop EXT4_GET_BLOCKS_UPDATE_RESERVE_SPACE flag" + - LP: #615548 + * Revert "ext4: Fix quota accounting error with fallocate" + - LP: #615548 + * Revert "ext4: Handle -EDQUOT error on write" + - LP: #615548 + * Revert "ext4: Calculate metadata requirements more accurately" + - LP: #615548 + * Revert "ext4: Fix accounting of reserved metadata blocks" + - LP: #615548 + * Revert "ext4: Patch up how we claim metadata blocks for quota purposes" + - LP: #615548 + * Revert "ext4: Ensure zeroout blocks have no dirty metadata" + - LP: #615548 + * Revert "ext4: return correct wbc.nr_to_write in ext4_da_writepages" + - LP: #615548 + * Revert "ext4: Eliminate potential double free on error path" + - LP: #615548 + * Revert "ext4, jbd2: Add barriers for file systems with exernal + journals" + - LP: #615548 + * Revert "ext4: replace BUG() with return -EIO in ext4_ext_get_blocks" + - LP: #615548 + * Revert "ext4: Fix potential quota deadlock" + - LP: #615548 + * Revert "ext4: don't return to userspace after freezing the fs with a + mutex held" + - LP: #615548 + * ixgbe: Fix return of invalid txq + - LP: #607824 + * oprofile/x86: fix uninitialized counter usage during cpu hotplug + - LP: #607824 + * oprofile: remove double ring buffering + - LP: #607824 + * cpumask: fix compat getaffinity + - LP: #607824 + * NFSD: don't report compiled-out versions as present + - LP: #607824 + * sata_nv: use ata_pci_sff_activate_host() instead of ata_host_activate() + - LP: #607824 + * ARCNET: Limit com20020 PCI ID matches for SOHARD cards + - LP: #607824 + * rtl8180: fix tx status reporting + - LP: #607824 + * Staging: add Add Sitecom WL-349 to rtl8192su + - LP: #607824 + * staging: vt6655: Fix kernel BUG on driver wpa initialization + - LP: #607824 + * Fix racy use of anon_inode_getfd() in perf_event.c + - LP: #607824 + * posix_timer: Fix error path in timer_create + - LP: #607824 + * libata: disable ATAPI AN by default + - LP: #607824 + * libata: don't flush dcache on slab pages + - LP: #607824 + * mutex: Fix optimistic spinning vs. BKL + - LP: #607824 + * ALSA: hda: Fix model quirk for Dell M1730 + - LP: #576160, #607824 + * ALSA: hda: Use LPIB for Toshiba A100-259 + - LP: #549560, #607824 + * ALSA: hda: Use LPIB for Acer Aspire 5110 + - LP: #583983, #607824 + * ALSA: hda: Use LPIB for Sony VPCS11V9E + - LP: #586347, #607824 + * ALSA: hda: Use LPIB for a Shuttle device + - LP: #551949, #607824 + * ACPI: video: fix acpi_backlight=video + - LP: #573120, #607824 + * V4L/DVB: gspca - stv06xx: Remove the 046d:08da from the stv06xx driver + - LP: #607824 + * HID: Add the GYR4101US USB ID to hid-gyration + - LP: #607824 + * ar9170usb: add a couple more USB IDs + - LP: #607824 + * ar9170usb: fix panic triggered by undersized rxstream buffer + - LP: #607824 + * USB: visor: fix memory leak + - LP: #607824 + * USB: CP210x New Device IDs 11 New device IDs + - LP: #607824 + * USB: kobil: fix memory leak + - LP: #607824 + * USB: option: add PID for ZTE product + - LP: #607824 + * USB: option.c: Add Pirelli VID/PID and indicate Pirelli's modem + interface is 0xff + - LP: #607824 + * USB: serial: option: add cinterion device id + - LP: #607824 + * USB: option.c: OLIVETTI OLICARD100 support + - LP: #607824 + * USB: ir-usb: fix double free + - LP: #607824 + * USB: kl5usb105: fix memory leak + - LP: #607824 + * USB: mxc: gadget: Fix bitfield for calculating maximum packet size + - LP: #607824 + * USB: unusual-dev: Add bad sense flag for Appotech ax203 based picture + frames + - LP: #607824 + * USB: EHCI: clear PHCD before resuming + - LP: #607824 + * USB: xhci: Fix issue with set interface after stall. + - LP: #607824 + * USB: xhci: Fix check for room on the ring. + - LP: #607824 + * USB: xHCI: Fix wrong usage of macro TRB_TYPE + - LP: #607824 + * mac80211: give warning if building w/out rate ctrl algorithm + - LP: #607824 + * mac80211: Fix robust management frame handling (MFP) + - LP: #607824 + * mac80211: fix rts threshold check + - LP: #607824 + * drivers/base/cpu.c: fix the output from /sys/devices/system/cpu/offline + - LP: #607824 + * can: Fix SJA1000 command register writes on SMP systems + - LP: #607824 + * PCI quirk: Disable MSI on VIA K8T890 systems + - LP: #607824 + * PCI quirks: disable msi on AMD rs4xx internal gfx bridges + - LP: #607824 + * PCI: Disable MSI for MCP55 on P5N32-E SLI + - LP: #607824 + * virtio_net: Make delayed refill more reliable + - LP: #607824 + * mm: hugetlb: fix clear_huge_page() + - LP: #607824 + * powerpc: Fix handling of strncmp with zero len + - LP: #607824 + * powerpc/pseries: Only call start-cpu when a CPU is stopped + - LP: #607824 + * powerpc/pseries: Make query_cpu_stopped callable outside hotplug cpu + - LP: #607824 + * powerpc/oprofile: fix potential buffer overrun in op_model_cell.c + - LP: #607824 + * writeback: disable periodic old data writeback for + !dirty_writeback_centisecs + - LP: #607824 + * md/raid1: fix counting of write targets. + - LP: #607824 + * md: Fix read balancing in RAID1 and RAID10 on drives > 2TB + - LP: #607824 + * md: set mddev readonly flag on blkdev BLKROSET ioctl + - LP: #607824 + * x86/amd-iommu: Fix suspend/resume with IOMMU + - LP: #607824 + * exofs: confusion between kmap() and kmap_atomic() api + - LP: #607824 + * mn10300: set ARCH_KMALLOC_MINALIGN + - LP: #607824 + * m68k: set ARCH_KMALLOC_MINALIGN + - LP: #607824 + * rtc-cmos: do dev_set_drvdata() earlier in the initialization + - LP: #607824 + * rtc: s3c: initialize driver data before using it + - LP: #607824 + * frv: set ARCH_KMALLOC_MINALIGN + - LP: #607824 + * xtensa: set ARCH_KMALLOC_MINALIGN + - LP: #607824 + * Blackfin: set ARCH_KMALLOC_MINALIGN + - LP: #607824 + * tmpfs: insert tmpfs cache pages to inactive list at first + - LP: #607824 + * mlx4_core: Fix possible chunk sg list overflow in mlx4_alloc_icm() + - LP: #607824 + * ARM: 6166/1: Proper prefetch abort handling on pre-ARMv6 + - LP: #607824 + * ARM: 6164/1: Add kto and kfrom to input operands list. + - LP: #607824 + * ARM: 6146/1: sa1111: Prevent deadlock in resume path + - LP: #607824 + * ARM: 6144/1: TCM memory bug freeing bug + - LP: #607824 + * ARM: VFP: Fix vfp_put_double() for d16-d31 + - LP: #607824 + * ASoC: Fix dB scales for WM835x + - LP: #607824 + * ASoC: Fix dB scales for WM8400 + - LP: #607824 + * ASoC: Fix dB scales for WM8990 + - LP: #607824 + * hwmon: (ltc4245) Read only one GPIO pin + - LP: #607824 + * signals: check_kill_permission(): don't check creds if + same_thread_group() + - LP: #607824 + * do_generic_file_read: clear page errors when issuing a fresh read of + the page + - LP: #607824 + * ipmi: handle run_to_completion properly in deliver_recv_msg() + - LP: #607824 + * x86, setup: Phoenix BIOS fixup is needed on Dell Inspiron Mini 1012 + - LP: #607824 + * xen: ensure timer tick is resumed even on CPU driving the resume + - LP: #607824 + * xen: avoid allocation causing potential swap activity on the resume + path + - LP: #607824 + * ALSA: hda: Use LPIB for an ASUS device + - See: #465942, #607824 + * ALSA: hda: Use mb31 quirk for an iMac model + - LP: #542550, #607824 + * ALSA: hda: Use LPIB for another mainboard + - See: #580749, #607824 + * ALSA: hda: Use LPIB for ASUS M2V + - LP: #587546, #607824 + * Staging: comedi - correct parameter gainlkup for DAQCard-6024E in + driver ni_mio_cs.c + - LP: #607824 + * clocksource: sh_cmt: compute mult and shift before registration + - LP: #607824 + * ath5k: retain promiscuous setting + - LP: #607824 + * ahci: add pci quirk for JMB362 + - LP: #607824 + * firewire: core: check for 1394a compliant IRM, fix inaccessibility of + Sony camcorder + - LP: #607824 + * perf_events: Fix resource leak in x86 __hw_perf_event_init() + - LP: #607824 + * sata_nv: don't diddle with nIEN on mcp55 + - LP: #607824 + * sata_via: magic vt6421 fix for transmission problems w/ WD drives + - LP: #422994, #607824 + * USB: mos7840: fix null-pointer dereference + - LP: #607824 + * USB: xhci: Wait for host to start running. + - LP: #607824 + * USB: xhci: Wait for controller to be ready after reset. + - LP: #607824 + * USB: ftdi_sio: fix DTR/RTS line modes + - LP: #607824 + * USB: cdc-acm: fix resource reclaim in error path of acm_probe + - LP: #607824 + * p54usb: Add device ID for Dell WLA3310 USB + - LP: #607824 + * atl1e: Allow TX checksum offload and TSO to be disabled and reenabled + - LP: #607824 + * via-velocity: Give RX descriptors to the NIC later on open or MTU + change + - LP: #607824 + * dmfe/tulip: Let dmfe handle DM910x except for SPARC on-board chips + - LP: #607824 + * Documentation/3c509: document ethtool support + - LP: #607824 + * wireless: report reasonable bitrate for MCS rates through wext + - LP: #607824 + * ath9k: add support for 802.11n bonded out AR2427 + - LP: #607824 + * wrong type for 'magic' argument in simple_fill_super() + - LP: #607824 + * iwlwifi: check for aggregation frame and queue + - LP: #607824 + * iwlwifi: recalculate average tpt if not current + - LP: #607824 + * iwlwifi: update supported PCI_ID list for 5xx0 series + - LP: #607824 + * wl1251: fix a memory leak in probe + - LP: #607824 + * vfs: add NOFOLLOW flag to umount(2) + - LP: #607824 + * l2tp: Fix oops in pppol2tp_xmit + - LP: #607824 + * ucc_geth: Fix empty TX queue processing + - LP: #607824 + * ucc_geth: Fix netdev watchdog triggering on link changes + - LP: #607824 + * ucc_geth: Fix full TX queue processing + - LP: #607824 + * Input: psmouse - reset all types of mice before reconnecting + - LP: #607824 + * KVM: s390: Fix possible memory leak of in kvm_arch_vcpu_create() + - LP: #607824 + * KVM: PPC: Do not create debugfs if fail to create vcpu + - LP: #607824 + * x86, paravirt: Add a global synchronization point for pvclock + - LP: #607824 + * KVM: Don't allow lmsw to clear cr0.pe + - LP: #607824 + * KVM: x86: Check LMA bit before set_efer + - LP: #607824 + * KVM: MMU: Segregate shadow pages with different cr0.wp + - LP: #607824 + * KVM: VMX: enable VMXON check with SMX enabled (Intel TXT) + - LP: #607824 + * KVM: MMU: Don't read pdptrs with mmu spinlock held in mmu_alloc_roots + - LP: #607824 + * KVM: Fix wallclock version writing race + - LP: #607824 + * KVM: x86: Add missing locking to arch specific vcpu ioctls + - LP: #607824 + * KVM: x86: Inject #GP with the right rip on efer writes + - LP: #607824 + * jbd: jbd-debug and jbd2-debug should be writable + - LP: #607824 + * parisc: clear floating point exception flag on SIGFPE signal + - LP: #607824 + * dm snapshot: simplify sector_to_chunk expression + - LP: #607824 + * KEYS: Return more accurate error codes + - LP: #607824 + * qla2xxx: Disable MSI on qla24xx chips other than QLA2432. + - LP: #607824 + * Linux 2.6.32.16 + - LP: #607824 + * drm/i915: Fix 82854 PCI ID, and treat it like other 85X + - LP: #607824 + * drm/i915: Reject bind_to_gtt() early if object > aperture + - LP: #607824 + * drm/edid: Fix 1024x768@85Hz + - LP: #607824 + * drm/radeon/kms: reset ddc_bus in object header parsing + - LP: #607824 + * drm/radeon/kms/atom: fix typo in LVDS panel info parsing + - LP: #607824 + * drm/radeon: r100/r200 ums: block ability for userspace app to trash 0 + page and beyond + - LP: #607824 + * drm/radeon: fix the r100/r200 ums block 0 page fix + - LP: #607824 + * drm/i915: Rebind bo if currently bound with incorrect alignment. + - LP: #607824 + * Linux 2.6.32.16+drm33.6 + - LP: #607824 + * virtio-pci: disable msi at startup + - LP: #615548 + * hwmon: (k8temp) Bypass core swapping on single-core processors + - LP: #615548 + * hwmon: (k8temp) Fix temperature reporting for ASB1 processor revisions + - LP: #615548 + * hwmon: (coretemp) Properly label the sensors + - LP: #615548 + * hwmon: (coretemp) Skip duplicate CPU entries + - LP: #615548 + * hwmon: (it87) Fix in7 on IT8720F + - LP: #615548 + * cifs: remove bogus first_time check in NTLMv2 session setup code + - LP: #615548 + * cifs: don't attempt busy-file rename unless it's in same directory + - LP: #615548 + * CIFS: Fix a malicious redirect problem in the DNS lookup code + - LP: #615548 + * ALSA: hda - Add Macbook 5,2 quirk + - LP: #463178, #615548 + * cpmac: do not leak struct net_device on phy_connect errors + - LP: #615548 + * sky2: enable rx/tx in sky2_phy_reinit() + - LP: #615548 + * sparc: Fix use of uid16_t and gid16_t in asm/stat.h + - LP: #615548 + * math-emu: correct test for downshifting fraction in _FP_FROM_INT() + - LP: #615548 + * NFSv4: Fix an embarassing typo in encode_attrs() + - LP: #615548 + * NFSv4: Ensure that /proc/self/mountinfo displays the minor version + number + - LP: #615548 + * SUNRPC: Fix a re-entrancy bug in xs_tcp_read_calldir() + - LP: #615548 + * ath5k: drop warning on jumbo frames + - LP: #615548 + * ath9k: re-enable ps by default for new single chip families + - LP: #615548 + * ath9k: Avoid corrupt frames being forwarded to mac80211. + - LP: #615548 + * hostap: Protect against initialization interrupt + - LP: #615548 + * TPM: ReadPubEK output struct fix + - LP: #615548 + * fb: fix colliding defines for fb flags. + - LP: #615548 + * iwlwifi: cancel scan watchdog in iwl_bg_abort_scan + - LP: #615548 + * mac80211: do not wip out old supported rates + - LP: #615548 + * mac80211: Handle mesh action frames in ieee80211_rx_h_action + - LP: #615548 + * Btrfs: fix checks in BTRFS_IOC_CLONE_RANGE + - LP: #615548 + * p54pci: add Symbol AP-300 minipci adapters pciid + - LP: #615548 + * dynamic debug: move ddebug_remove_module() down into free_module() + - LP: #615548 + * tpm_tis: fix subsequent suspend failures + - LP: #615548 + * ipvs: Add missing locking during connection table hashing and unhashing + - LP: #615548 + * netfilter: ip6t_REJECT: fix a dst leak in ipv6 REJECT + - LP: #615548 + * SCSI: aacraid: Eliminate use after free + - LP: #615548 + * amd64-agp: Probe unknown AGP devices the right way + - LP: #615548 + * perf: Resurrect flat callchains + - LP: #615548 + * x86: Fix vsyscall on gcc 4.5 with -Os + - LP: #615548 + * x86, Calgary: Increase max PHB number + - LP: #615548 + * x86, Calgary: Limit the max PHB number to 256 + - LP: #615548 + * sched: Prevent compiler from optimising the sched_avg_update() loop + - LP: #615548 + * sched: Fix over-scheduling bug + - LP: #615548 + * genirq: Deal with desc->set_type() changing desc->chip + - LP: #615548 + * serial: cpm_uart: implement the cpm_uart_early_write() function for + console poll + - LP: #615548 + * cmd640: fix kernel oops in test_irq() method + - LP: #615548 + * ide: Fix IDE taskfile with cfq scheduler + - LP: #615548 + * net/core: neighbour update Oops + - LP: #615548 + * tcp: fix crash in tcp_xmit_retransmit_queue + - LP: #615548 + * rtc: fix ds1388 time corruption + - LP: #615548 + * ethtool: Fix potential kernel buffer overflow in ETHTOOL_GRXCLSRLALL + - LP: #615548 + * sdhci-s3c: add missing remove function + - LP: #615548 + * ASoC: Remove duplicate AUX definition from WM8776 + - LP: #615548 + * x86: Fix x2apic preenabled system with kexec + - LP: #615548 + * IPoIB: Fix world-writable child interface control sysfs attributes + - LP: #615548 + * Input: i8042 - add Gigabyte Spring Peak to dmi_noloop_table + - LP: #580664, #615548 + * Input: twl40300-keypad - fix handling of "all ground" rows + - LP: #615548 + * ARM: 6201/1: RealView: Do not use outer_sync() on ARM11MPCore boards + with L220 + - LP: #615548 + * ARM: 6226/1: fix kprobe bug in ldr instruction emulation + - LP: #615548 + * x86: Do not try to disable hpet if it hasn't been initialized before + - LP: #615548 + * staging: rtl8192su: add USB VID/PID for HWNUm-300 + - LP: #615548 + * Staging: rtl8192su: add USB ID for 0bda:8171 + - LP: #615548 + * USB: obey the sysfs power/wakeup setting + - LP: #615548 + * USB: g_serial: don't set low_latency flag + - LP: #615548 + * USB: g_serial: fix tty cleanup on unload + - LP: #615548 + * USB: option: add support for 1da5:4518 + - LP: #615548 + * USB: Add PID for Sierra 250U to drivers/usb/serial/sierra.c + - LP: #599569, #615548 + * USB: ftdi_sio: support for Signalyzer tools based on FTDI chips + - LP: #615548 + * USB: option: Add support for AMOI Skypephone S2 + - LP: #615548 + * USB: adds Artisman USB dongle to list of quirky devices + - LP: #615548 + * USB: sisusbvga: Fix for USB 3.0 + - LP: #615548 + * USB: add quirk for Broadcom BT dongle + - LP: #615548 + * USB: FTDI: Add support for the RT System VX-7 radio programming cable + - LP: #615548 + * ethtool: Fix potential user buffer overflow for ETHTOOL_{G, S}RXFH + - LP: #615548 + * ext4: Fix potential quota deadlock + - LP: #615548 + * ext4: replace BUG() with return -EIO in ext4_ext_get_blocks + - LP: #615548 + * ext4, jbd2: Add barriers for file systems with exernal journals + - LP: #615548 + * ext4: Eliminate potential double free on error path + - LP: #615548 + * ext4: return correct wbc.nr_to_write in ext4_da_writepages + - LP: #615548 + * ext4: Ensure zeroout blocks have no dirty metadata + - LP: #615548 + * ext4: Patch up how we claim metadata blocks for quota purposes + - LP: #615548 + * ext4: Fix accounting of reserved metadata blocks + - LP: #615548 + * ext4: Calculate metadata requirements more accurately + - LP: #615548 + * ext4: Handle -EDQUOT error on write + - LP: #615548 + * ext4: Fix quota accounting error with fallocate + - LP: #615548 + * ext4: Drop EXT4_GET_BLOCKS_UPDATE_RESERVE_SPACE flag + - LP: #615548 + * ext4: Use bitops to read/modify EXT4_I(inode)->i_state + - LP: #615548 + * ext4: Fix BUG_ON at fs/buffer.c:652 in no journal mode + - LP: #615548 + * ext4: Add flag to files with blocks intentionally past EOF + - LP: #615548 + * ext4: Fix fencepost error in chosing choosing group vs file + preallocation. + - LP: #615548 + * ext4: fix error handling in migrate + - LP: #615548 + * ext4: explicitly remove inode from orphan list after failed direct io + - LP: #615548 + * ext4: Handle non empty on-disk orphan link + - LP: #615548 + * ext4: make "offset" consistent in ext4_check_dir_entry() + - LP: #615548 + * ext4: Fix insertion point of extent in mext_insert_across_blocks() + - LP: #615548 + * ext4: Fix the NULL reference in double_down_write_data_sem() + - LP: #615548 + * ext4: Code cleanup for EXT4_IOC_MOVE_EXT ioctl + - LP: #615548 + * ext4: Fix estimate of # of blocks needed to write indirect-mapped files + - LP: #615548 + * ext4: Fixed inode allocator to correctly track a flex_bg's used_dirs + - LP: #615548 + * ext4: Fix possible lost inode write in no journal mode + - LP: #615548 + * ext4: Fix buffer head leaks after calls to ext4_get_inode_loc() + - LP: #615548 + * ext4: Issue the discard operation *before* releasing the blocks to be + reused + - LP: #615548 + * ext4: check missed return value in ext4_sync_file() + - LP: #615548 + * ext4: fix memory leaks in error path handling of ext4_ext_zeroout() + - LP: #615548 + * ext4: Remove unnecessary call to ext4_get_group_desc() in mballoc + - LP: #615548 + * ext4: rename ext4_mb_release_desc() to ext4_mb_unload_buddy() + - LP: #615548 + * ext4: allow defrag (EXT4_IOC_MOVE_EXT) in 32bit compat mode + - LP: #615548 + * ext4: fix quota accounting in case of fallocate + - LP: #615548 + * ext4: check s_log_groups_per_flex in online resize code + - LP: #615548 + * ext4: don't return to userspace after freezing the fs with a mutex held + - LP: #615548 + * ext4: stop issuing discards if not supported by device + - LP: #615548 + * ext4: don't scan/accumulate more pages than mballoc will allocate + - LP: #615548 + * ext4: Do not zero out uninitialized extents beyond i_size + - LP: #615548 + * ext4: clean up inode bitmaps manipulation in ext4_free_inode + - LP: #615548 + * ext4: init statistics after journal recovery + - LP: #615548 + * ext4: Remove extraneous newlines in ext4_msg() calls + - LP: #615548 + * ext4: Prevent creation of files larger than RLIMIT_FSIZE using + fallocate + - LP: #615548 + * ext4: check for a good block group before loading buddy pages + - LP: #615548 + * ext4: Show journal_checksum option + - LP: #615548 + * ext4: Use bitops to read/modify i_flags in struct ext4_inode_info + - LP: #615548 + * ext4: Avoid crashing on NULL ptr dereference on a filesystem error + - LP: #615548 + * ext4: Clear the EXT4_EOFBLOCKS_FL flag only when warranted + - LP: #615548 + * ext4: restart ext4_ext_remove_space() after transaction restart + - LP: #615548 + * ext4: Conditionally define compat ioctl numbers + - LP: #615548 + * ext4: Fix compat EXT4_IOC_ADD_GROUP + - LP: #615548 + * ext4: Make fsync sync new parent directories in no-journal mode + - LP: #615548 + * KVM: MMU: Remove user access when allowing kernel access to gpte.w=0 + page + - LP: #615548 + * KVM: SVM: Handle MCEs early in the vmexit process + - LP: #615548 + * KVM: SVM: Implement workaround for Erratum 383 + - LP: #615548 + * KVM: MMU: invalidate and flush on spte small->large page size change + - LP: #615548 + * futex: futex_find_get_task remove credentails check + - LP: #615548 + * GFS2: Fix up system xattrs + - LP: #615548 + * PM / x86: Save/restore MISC_ENABLE register + - LP: #615548 + * ACPI: skip checking BM_STS if the BIOS doesn't ask for it + - LP: #615548 + * ACPI: Unconditionally set SCI_EN on resume + - LP: #615548 + * libertas/sdio: 8686: set ECSI bit for 1-bit transfers + - LP: #615548 + * dm9000: fix "BUG: spinlock recursion" + - LP: #615548 + * firmware_class: fix memory leak - free allocated pages + - LP: #615548 + * revert "[CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second + call site)" + - LP: #615548 + * ALSA: Echoaudio, fix Guru Meditation #00000005.48454C50 + - LP: #615548 + * V4L/DVB: dvb-core: Fix ULE decapsulation bug + - LP: #615548 + * V4L/DVB: FusionHDTV: Use quick reads for I2C IR device probing + - LP: #615548 + * forcedeth: fix tx limit2 flag check + - LP: #615548 + * staging: rtl8192su: add Support for Belkin F5D8053 v6 + - LP: #615548 + * MIPS FPU emulator: allow Cause bits of FCSR to be writeable by ctc1 + - LP: #615548 + * V4L/DVB: budget: Select correct frontends + - LP: #615548 + * cxgb3: fix linkup issue + - LP: #615548 + * mac80211: fix supported rates IE if AP doesn't give us it's rates + - LP: #615548 + * V4L/DVB: uvcvideo: Add support for unbranded Arkmicro 18ec:3290 webcams + - LP: #615548 + * V4L/DVB: uvcvideo: Add support for Packard Bell EasyNote MX52 + integrated webcam + - LP: #615548 + * V4L/DVB: uvcvideo: Add support for V4L2_PIX_FMT_Y16 + - LP: #615548 + * iwlagn: verify flow id in compressed BA packet + - LP: #615548 + * kbuild: Fix modpost segfault + - LP: #615548 + * eeepc-laptop: check wireless hotplug events + - LP: #615548 + * Fix spinaphore down_spin() + - LP: #615548 + * ath5k: initialize ah->ah_current_channel + - LP: #615548 + * Input: RX51 keymap - fix recent compile breakage + - LP: #615548 + * V4L/DVB (13830): uvcvideo: add another YUYV format GUID for iSight + cameras + - LP: #615548 + * Linux 2.6.32.17 + - LP: #615548 + * drm/i915: fix hibernation since i915 self-reclaim fixes + - LP: #615548 + * drm/i915: add 'reclaimable' to i915 self-reclaimable page allocations + - LP: #615548 + * i915: fix lock imbalance on error path... + - LP: #615548 + * drm/i915: Define MI_ARB_STATE bits + - LP: #615548 + * drm/i915: enable low power render writes on GEN3 hardware. + - LP: #615548 + * drm/i915: Make G4X-style PLL search more permissive + - LP: #615548 + * drm/radeon/r200: handle more hw tex coord types + - LP: #615548 + * drm/radeon/r100/r200: fix calculation of compressed cube maps + - LP: #615548 + * drm/radeon/kms: CS checker texture fixes for r1xx/r2xx/r3xx + - LP: #615548 + * drm/radeon/kms: fix shared ddc handling + - LP: #615548 + * drm/radeon/kms: fix shared ddc harder + - LP: #615548 + * drm/radeon/kms: add quirk for ASUS HD 3600 board + - LP: #615548 + * drm/radeon/kms: fix possible mis-detection of sideport on rs690/rs740 + - LP: #615548 + * drm/radeon/kms: fix legacy LVDS dpms sequence + - LP: #615548 + * drm/radeon/kms: fix legacy tv-out pal mode + - LP: #615548 + * Linux 2.6.32.17+drm33.7 + - LP: #615548 + * (pre-stable) writeback: remove the always false + bdi_cap_writeback_dirty() test + - LP: #543617, #585092 + * (pre-stable) writeback: remove unused nonblocking and congestion checks + - LP: #543617, #585092 + * (pre-stable) vfs: improve writeback_inodes_wb() + - LP: #543617, #585092 + * (pre-stable) writeback: add missing kernel-doc notation + - LP: #543617, #585092 + * (pre-stable) writeback: fix writeback completion notifications + - LP: #543617, #585092 + * (pre-stable) writeback: queue work on stack in writeback_inodes_sb + - LP: #543617, #585092 + * (pre-stable) writeback: enforce s_umount locking in writeback_inodes_sb + - LP: #543617, #585092 + * (pre-stable) writeback: fix writeback_inodes_wb from + writeback_inodes_sb + - LP: #543617, #585092 + * (pre-stable) writeback: simplify wakeup_flusher_threads + - LP: #543617, #585092 + * (pre-stable) writeback: simplify and split bdi_start_writeback + - LP: #543617, #585092 + * (pre-stable) writeback: add missing requeue_io in writeback_inodes_wb + - LP: #543617, #585092 + * (pre-stable) writeback: fix pin_sb_for_writeback + - LP: #543617, #585092 + * (pre-stable) writeback: remove writeback_inodes_wbc + - LP: #543617, #585092 + * (pre-stable) writeback: split writeback_inodes_wb + - LP: #543617, #585092 + * (pre-stable) writeback: simplify the write back thread queue + - LP: #543617, #585092 + * (pre-stable) Fix compiling NFS when backporting writeback + - LP: #543617, #585092 + * sched: cgroup: Implement different treatment for idle shares + - LP: #620755 + * mm: fix ia64 crash when gcore reads gate area + - LP: #620755 + * acl trouble after upgrading ubuntu + - LP: #620755 + * comedi: Uncripple 8255-based DIO subdevices + - LP: #620755 + * NFS: kswapd must not block in nfs_release_page + - LP: #620755 + * PARISC: led.c - fix potential stack overflow in led_proc_write() + - LP: #620755 + * arm/imx/gpio: add spinlock protection + - LP: #620755 + * parisc: pass through '\t' to early (iodc) console + - LP: #620755 + * amd64_edac: Fix DCT base address selector + - LP: #620755 + * amd64_edac: Correct scrub rate setting + - LP: #620755 + * e1000e: don't inadvertently re-set INTX_DISABLE + - LP: #620755 + * e1000e: 82577/82578 PHY register access issues + - LP: #620755 + * 9p: strlen() doesn't count the terminator + - LP: #620755 + * ath9k: enable serialize_regmode for non-PCIE AR9160 + - LP: #620755 + * ath9k_hw: fix an off-by-one error in the PDADC boundaries calculation + - LP: #620755 + * ath9k: fix TSF after reset on AR913x + - LP: #620755 + * ath9k: fix yet another buffer leak in the tx aggregation code + - LP: #620755 + * iwlwifi: fix scan abort + - LP: #620755 + * cfg80211: ignore spurious deauth + - LP: #620755 + * cfg80211: don't get expired BSSes + - LP: #620755 + * xfs: prevent swapext from operating on write-only files + - LP: #620755 + * SCSI: enclosure: fix error path - actually return ERR_PTR() on error + - LP: #620755 + * GFS2: rename causes kernel Oops + - LP: #620755 + * slow-work: use get_ref wrapper instead of directly calling get_ref + - LP: #620755 + * CIFS: Remove __exit mark from cifs_exit_dns_resolver() + - LP: #620755 + * CIFS: Fix compile error with __init in cifs_init_dns_resolver() + definition + - LP: #620755 + * xen: drop xen_sched_clock in favour of using plain wallclock time + - LP: #620755 + * ssb: do not read SPROM if it does not exist + - LP: #620755 + * ssb: Look for SPROM at different offset on higher rev CC + - LP: #620755 + * ssb: fix NULL ptr deref when pcihost_wrapper is used + - LP: #620755 + * ssb: Handle alternate SSPROM location + - LP: #620755 + * Linux 2.6.32.18 + - LP: #620755 + * ata_piix: fix locking around SIDPR access + - LP: #622877 + * powerpc: fix build with make 3.82 + - LP: #622877 + * nvram: Fix write beyond end condition; prove to gcc copy is safe + - LP: #622877 + * x86: Add memory modify constraints to xchg() and cmpxchg() + - LP: #622877 + * x86, vmware: Preset lpj values when on VMware. + - LP: #622877 + * Staging: line6: needs to select SND_PCM + - LP: #622877 + * Staging: panel: Prevent double-calling of parport_release - fix oops. + - LP: #622877 + * PCI: Do not run NVidia quirks related to MSI with MSI disabled + - LP: #622877 + * PCI: disable MSI on VIA K8M800 + - LP: #622877 + * solos-pci: Fix race condition in tasklet RX handling + - LP: #622877 + * splice: fix misuse of SPLICE_F_NONBLOCK + - LP: #622877 + * drivers/video/w100fb.c: ignore void return value / fix build failure + - LP: #622877 + * ide-cd: Do not access completed requests in the irq handler + - LP: #622877 + * md/raid10: fix deadlock with unaligned read during resync + - LP: #622877 + * blkdev: cgroup whitelist permission fix + - LP: #622877 + * eCryptfs: Handle ioctl calls with unlocked and compat functions + - LP: #622877 + * ecryptfs: release reference to lower mount if interpose fails + - LP: #622877 + * fs/ecryptfs/file.c: introduce missing free + - LP: #622877 + * bio, fs: update RWA_MASK, READA and SWRITE to match the corresponding + BIO_RW_* bits + - LP: #622877 + * signalfd: fill in ssi_int for posix timers and message queues + - LP: #622877 + * smsc911x: Add spinlocks around registers access + - LP: #622877 + * ARM: 6299/1: errata: TLBIASIDIS and TLBIMVAIS operations can broadcast + a faulty ASID + - LP: #622877 + * ARM: 6280/1: imx: Fix build failure when including + without + - LP: #622877 + * USB: resizing usbmon binary interface buffer causes protection faults + - LP: #622877 + * USB delay init quirk for logitech Harmony 700-series devices + - LP: #622877 + * USB: serial: enabling support for Segway RMP in ftdi_sio + - LP: #622877 + * USB: option: Huawei ETS 1220 support added + - LP: #622877 + * USB: option: add huawei k3765 k4505 devices to work properly + - LP: #622877 + * USB: ftdi_sio: device id for Navitator + - LP: #622877 + * USB: cp210x: Add four new device IDs + - LP: #622877 + * USB: usbtest: avoid to free coherent buffer in atomic context + - LP: #622877 + * USB: fix thread-unsafe anchor utiliy routines + - LP: #622877 + * drm/edid: Fix the HDTV hack sync adjustment + - LP: #622877 + * Bluetooth: Added support for controller shipped with iMac i5 + - LP: #622877 + * jfs: don't allow os2 xattr namespace overlap with others + - LP: #622877 + * arp_notify: allow drivers to explicitly request a notification event. + - LP: #622877 + * xen: netfront: explicitly generate arp_notify event after migration. + - LP: #622877 + * net: Fix NETDEV_NOTIFY_PEERS to not conflict with + NETDEV_BONDING_DESLAVE. + - LP: #622877 + * irq: Add new IRQ flag IRQF_NO_SUSPEND + - LP: #622877 + * xen: Do not suspend IPI IRQs. + - LP: #622877 + * drm/i915: Use RSEN instead of HTPLG for tfp410 monitor detection. + - LP: #622877 + * Btrfs: Avoid superfluous tree-log writeout + - LP: #622877 + * Btrfs: Add btrfs_duplicate_item + - LP: #622877 + * Btrfs: Rewrite btrfs_drop_extents + - LP: #622877 + * Btrfs: Fix disk_i_size update corner case + - LP: #622877 + * Btrfs: Avoid orphan inodes cleanup while replaying log + - LP: #622877 + * Btrfs: Avoid orphan inodes cleanup during committing transaction + - LP: #622877 + * Btrfs: Make fallocate(2) more ENOSPC friendly + - LP: #622877 + * Btrfs: Make truncate(2) more ENOSPC friendly + - LP: #622877 + * Btrfs: Pass transaction handle to security and ACL initialization + functions + - LP: #622877 + * Btrfs: Add delayed iput + - LP: #622877 + * Btrfs: Fix btrfs_drop_extent_cache for skip pinned case + - LP: #622877 + * Btrfs: Fix per root used space accounting + - LP: #622877 + * Btrfs: don't add extent 0 to the free space cache v2 + - LP: #622877 + * Btrfs: fail mount on bad mount options + - LP: #622877 + * Btrfs: deny sys_link across subvolumes. + - LP: #622877 + * Btrfs: Show discard option in /proc/mounts + - LP: #622877 + * Btrfs: make metadata chunks smaller + - LP: #622877 + * Btrfs: make sure fallocate properly starts a transaction + - LP: #622877 + * btrfs: fix missing last-entry in readdir(3) + - LP: #622877 + * Btrfs: align offsets for btrfs_ordered_update_i_size + - LP: #622877 + * Btrfs, fix memory leaks in error paths + - LP: #622877 + * Btrfs: Fix race in btrfs_mark_extent_written + - LP: #622877 + * Btrfs: fix regression in orphan cleanup + - LP: #622877 + * Btrfs: deal with NULL acl sent to btrfs_set_acl + - LP: #622877 + * Btrfs: fix possible panic on unmount + - LP: #622877 + * Btrfs: Use correct values when updating inode i_size on fallocate + - LP: #622877 + * Btrfs: fix a memory leak in btrfs_init_acl + - LP: #622877 + * Btrfs: run orphan cleanup on default fs root + - LP: #622877 + * Btrfs: do not mark the chunk as readonly if in degraded mode + - LP: #622877 + * Btrfs: check return value of open_bdev_exclusive properly + - LP: #622877 + * Btrfs: check total number of devices when removing missing + - LP: #622877 + * Btrfs: fix race between allocate and release extent buffer. + - LP: #622877 + * Btrfs: make error return negative in btrfs_sync_file() + - LP: #622877 + * Btrfs: remove BUG_ON() due to mounting bad filesystem + - LP: #622877 + * Btrfs: Fix oopsen when dropping empty tree. + - LP: #622877 + * Btrfs: do not try and lookup the file extent when finishing ordered io + - LP: #622877 + * Btrfs: apply updated fallocate i_size fix + - LP: #622877 + * Btrfs: btrfs_mark_extent_written uses the wrong slot + - LP: #622877 + * Btrfs: kfree correct pointer during mount option parsing + - LP: #622877 + * nohz: Introduce arch_needs_cpu + - LP: #622877 + * nohz: Reuse ktime in sub-functions of tick_check_idle. + - LP: #622877 + * timekeeping: Fix clock_gettime vsyscall time warp + - LP: #622877 + * sched: Fix granularity of task_u/stime() + - LP: #622877 + * sched, cputime: Introduce thread_group_times() + - LP: #622877 + * mutex: Don't spin when the owner CPU is offline or other weird cases + - LP: #622877 + * fix SBA IOMMU to handle allocation failure properly + - LP: #622877 + * crypto: testmgr - Fix complain about lack test for internal used + algorithm + - LP: #622877 + * memory hotplug: fix a bug on /dev/mem for 64-bit kernels + - LP: #622877 + * x86: Fix out of order of gsi + - LP: #622877 + * HWPOISON: remove the anonymous entry + - LP: #622877 + * HWPOISON: abort on failed unmap + - LP: #622877 + * powerpc/eeh: Fix a bug when pci structure is null + - LP: #622877 + * ACPI: Fix regression where _PPC is not read at boot even when + ignore_ppc=0 + - LP: #622877 + * ext4: Make sure the MOVE_EXT ioctl can't overwrite append-only files + - LP: #622877 + * ext4: Fix optional-arg mount options + - LP: #622877 + * reiserfs: properly honor read-only devices + - LP: #622877 + * reiserfs: fix oops while creating privroot with selinux enabled + - LP: #622877 + * dlm: always use GFP_NOFS + - LP: #622877 + * dlm: fix ordering of bast and cast + - LP: #622877 + * dlm: send reply before bast + - LP: #622877 + * ocfs2: Find proper end cpos for a leaf refcount block. + - LP: #622877 + * ocfs2: Set MS_POSIXACL on remount + - LP: #622877 + * Skip check for mandatory locks when unlocking + - LP: #622877 + * loop: Update mtime when writing using aops + - LP: #622877 + * aic79xx: check for non-NULL scb in ahd_handle_nonpkt_busfree + - LP: #622877 + * ibmvfc: Fix command completion handling + - LP: #622877 + * ibmvfc: Reduce error recovery timeout + - LP: #622877 + * md/raid1: delay reads that could overtake behind-writes. + - LP: #622877 + * mm: fix corruption of hibernation caused by reusing swap during image + saving + - LP: #622877 + * Linux 2.6.32.19 + - LP: #622877 + * Linux 2.6.32.20 + - LP: #622882 + * memstick: fix hangs on unexpected device removal in mspro_blk + - LP: #625392 + * ASoC: Fix inverted mute controls for WM8580 + - LP: #625392 + * ASoC: Remove DSP mode support for WM8776 + - LP: #625392 + * ALSA: riptide - Fix detection / load of firmware files + - LP: #625392 + * ALSA: emu10k1 - delay the PCM interrupts (add pcm_irq_delay parameter) + - LP: #625392 + * ALSA: hda - Fix missing stream for second ADC on Realtek ALC260 HDA + codec + - LP: #625392 + * ocfs2: do not overwrite error codes in ocfs2_init_acl + - LP: #625392 + * ocfs2/dlm: fix a dead lock + - LP: #625392 + * ocfs2 fix o2dlm dlm run purgelist (rev 3) + - LP: #625392 + * ocfs2: Count more refcount records in file system fragmentation. + - LP: #625392 + * ocfs2/dlm: avoid incorrect bit set in refmap on recovery master + - LP: #625392 + * ocfs2/dlm: remove potential deadlock -V3 + - LP: #625392 + * x86, hotplug: Serialize CPU hotplug to avoid bringup concurrency issues + - LP: #625392 + * x86, apic: Fix apic=debug boot crash + - LP: #625392 + * Fix the nested PR lock calling issue in ACL + - LP: #625392 + * hwmon: (pc87360) Fix device resource declaration + - LP: #625392 + * ARM: Tighten check for allowable CPSR values + - LP: #625392 + * nfs: Add "lookupcache" to displayed mount options + - LP: #625392 + * ath5k: disable ASPM L0s for all cards + - LP: #625392 + * pxa3xx: fix ns2cycle equation + - LP: #625392 + * dm mpath: fix NULL pointer dereference when path parameters missing + - LP: #625392 + * dm ioctl: release _hash_lock between devices in remove_all + - LP: #625392 + * mm: make the vma list be doubly linked + - LP: #625392 + * mm: make the mlock() stack guard page checks stricter + - LP: #625392 + * mm: make stack guard page logic use vm_prev pointer + - LP: #625392 + * slab: fix object alignment + - LP: #625392 + * sunxvr500: Ignore secondary output PCI devices. + - LP: #625392 + * sparc64: Add missing ID to parport probing code. + - LP: #625392 + * sparc64: Fix rwsem constant bug leading to hangs. + - LP: #625392 + * sparc64: Fix atomic64_t routine return values. + - LP: #625392 + * net: Fix a memmove bug in dev_gro_receive() + - LP: #625392 + * isdn: fix information leak + - LP: #625392 + * act_nat: the checksum of ICMP doesn't have pseudo header + - LP: #625392 + * vmscan: raise the bar to PAGEOUT_IO_SYNC stalls + - LP: #625392 + * pcmcia: avoid buffer overflow in pcmcia_setup_isa_irq + - LP: #625392 + * ext4: consolidate in_range() definitions + - LP: #625392 + * Oprofile: Change CPUIDS from decimal to hex, and add some comments + - LP: #625392 + * oprofile: add support for Intel processor model 30 + - LP: #625392 + * fixes for using make 3.82 + - LP: #625392 + * ALSA: intel8x0: Mute External Amplifier by default for ThinkPad X31 + - LP: #619439, #625392 + * netlink: fix compat recvmsg + - LP: #625392 + * powerpc: Fix typo in uImage target + - LP: #625392 + * USB: option: add Celot CT-650 + - LP: #625392 + * USB: add device IDs for igotu to navman + - LP: #625392 + * USB: pl2303: New vendor and product id + - LP: #625392 + * USB: CP210x Fix Break On/Off + - LP: #625392 + * USB: ftdi_sio: fix endianess of max packet size + - LP: #625392 + * USB: io_ti: check firmware version before updating + - LP: #625392 + * USB: xhci: Remove buggy assignment in next_trb() + - LP: #625392 + * USB: ftdi_sio: Add ID for Ionics PlugComputer + - LP: #625392 + * USB: ftdi_sio: add product ID for Lenz LI-USB + - LP: #625392 + * x86, apic: ack all pending irqs when crashed/on kexec + - LP: #625392 + * Linux 2.6.32.21 + - LP: #625392 + + -- Stefan Bader Tue, 31 Aug 2010 15:17:31 +0200 + +linux (2.6.32-24.43) lucid-security; urgency=low + + [ Upstream Kernel Changes ] + + * 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 + * compat: Make compat_alloc_user_space() incorporate the access_ok() + - CVE-2010-3081 + + -- Stefan Bader Thu, 16 Sep 2010 10:27:21 +0200 + +linux (2.6.32-24.42) lucid-proposed; urgency=low + + [ Upstream Kernel Changes ] + + * (pre-stable) drm/i915: add PANEL_UNLOCK_REGS definition + - LP: #561802, #578673 + * (pre-stable) drm/i915: make sure eDP panel is turned on + - LP: #578673 + * (pre-stable) drm/i915: make sure we shut off the panel in eDP configs + - LP: #578673 + + -- Stefan Bader Thu, 19 Aug 2010 15:20:42 +0200 + +linux (2.6.32-24.41) lucid-security; urgency=low + + [ Upstream Kernel Changes ] + + * (pre-stable) ext4: fix freeze deadlock under IO + - LP: #595489 + * drm: Initialize ioctl struct when no user data is present + - CVE-2010-2803 + * can: add limit for nframes and clean up signed/unsigned variables + - CVE-2010-2959 + * mm: keep a guard page below a grow-down stack segment + - CVE-2010-2240 + * mm: fix missing page table unmap for stack guard page failure case + - CVE-2010-2240 + * mm: fix page table unmap for stack guard page properly + - CVE-2010-2240 + * mm: fix up some user-visible effects of the stack guard page + - CVE-2010-2240 + * x86: don't send SIGBUS for kernel page faults + - CVE-2010-2240 + + -- Stefan Bader Wed, 18 Aug 2010 14:24:07 +0200 + +linux (2.6.32-24.39) lucid-security; urgency=low + + [ Upstream Kernel Changes ] + + * sctp: Fix skb_over_panic resulting from multiple invalid parameter + errors (CVE-2010-1173) (v4) + - CVE-2010-1173 + * sctp: fix append error cause to ERROR chunk correctly + - CVE-2010-1173 + * GFS2: Fix writing to non-page aligned gfs2_quota structures + - CVE-2010-1436 + * KEYS: find_keyring_by_name() can gain access to a freed keyring + - CVE-2010-1437 + * GFS2: Fix permissions checking for setflags ioctl() + - CVE-2010-1641 + * Btrfs: should add a permission check for setfacl + - CVE-2010-2071 + * ecryptfs: Bugfix for error related to ecryptfs_hash_buckets + - CVE-2010-2492 + + -- Stefan Bader Wed, 21 Jul 2010 10:48:54 +0200 + +linux (2.6.32-24.38) lucid-proposed; urgency=low + + [ Keng-Yu Lin ] + + * SAUCE: dell-laptop: fire SMI when toggling hardware killswitch + (revised) + - LP: #590607 + + [ Upstream Kernel Changes ] + + * sfc: Wait at most 10ms for the MC to finish reading out MAC statistics + - LP: #590783 + * sfc: Always close net device at the end of a disabling reset + - LP: #590783 + * sfc: Change falcon_probe_board() to fail for unsupported boards + - LP: #590783 + * ext4: Fix potential quota deadlock + - LP: #588069 + * jbd: jbd-debug and jbd2-debug should be writable + - LP: #588069 + * ext4: replace BUG() with return -EIO in ext4_ext_get_blocks + - LP: #588069 + * ext4, jbd2: Add barriers for file systems with exernal journals + - LP: #588069 + * ext4: Eliminate potential double free on error path + - LP: #588069 + * ext4: return correct wbc.nr_to_write in ext4_da_writepages + - LP: #588069 + * ext4: Ensure zeroout blocks have no dirty metadata + - LP: #588069 + * ext4: Patch up how we claim metadata blocks for quota purposes + - LP: #588069 + * ext4: Fix accounting of reserved metadata blocks + - LP: #588069 + * ext4: Calculate metadata requirements more accurately + - LP: #588069 + * ext4: Handle -EDQUOT error on write + - LP: #588069 + * ext4: Fix quota accounting error with fallocate + - LP: #588069 + * ext4: Drop EXT4_GET_BLOCKS_UPDATE_RESERVE_SPACE flag + - LP: #588069 + * ext4: Use bitops to read/modify EXT4_I(inode)->i_state + - LP: #588069 + * ext4: Fix BUG_ON at fs/buffer.c:652 in no journal mode + - LP: #588069 + * ext4: Add flag to files with blocks intentionally past EOF + - LP: #588069 + * ext4: Fix fencepost error in chosing choosing group vs file + preallocation. + - LP: #588069 + * ext4: fix error handling in migrate + - LP: #588069 + * ext4: explicitly remove inode from orphan list after failed direct io + - LP: #588069 + * ext4: Handle non empty on-disk orphan link + - LP: #588069 + * ext4: make "offset" consistent in ext4_check_dir_entry() + - LP: #588069 + * ext4: Fix insertion point of extent in mext_insert_across_blocks() + - LP: #588069 + * ext4: Fix the NULL reference in double_down_write_data_sem() + - LP: #588069 + * ext4: Code cleanup for EXT4_IOC_MOVE_EXT ioctl + - LP: #588069 + * ext4: Fix estimate of # of blocks needed to write indirect-mapped files + - LP: #588069 + * ext4: Fixed inode allocator to correctly track a flex_bg's used_dirs + - LP: #588069 + * ext4: Fix possible lost inode write in no journal mode + - LP: #588069 + * ext4: Fix buffer head leaks after calls to ext4_get_inode_loc() + - LP: #588069 + * ext4: Issue the discard operation *before* releasing the blocks to be + reused + - LP: #588069 + * ext4: check missed return value in ext4_sync_file() + - LP: #588069 + * ext4: fix memory leaks in error path handling of ext4_ext_zeroout() + - LP: #588069 + * ext4: Remove unnecessary call to ext4_get_group_desc() in mballoc + - LP: #588069 + * ext4: rename ext4_mb_release_desc() to ext4_mb_unload_buddy() + - LP: #588069 + * ext4: allow defrag (EXT4_IOC_MOVE_EXT) in 32bit compat mode + - LP: #588069 + * ext4: fix quota accounting in case of fallocate + - LP: #588069 + * ext4: check s_log_groups_per_flex in online resize code + - LP: #588069 + * ext4: don't return to userspace after freezing the fs with a mutex held + - LP: #588069 + * ext4: stop issuing discards if not supported by device + - LP: #588069 + * ext4: don't scan/accumulate more pages than mballoc will allocate + - LP: #588069 + * ext4: Do not zero out uninitialized extents beyond i_size + - LP: #588069 + * ext4: clean up inode bitmaps manipulation in ext4_free_inode + - LP: #588069 + * ext4: init statistics after journal recovery + - LP: #588069 + * ext4: Remove extraneous newlines in ext4_msg() calls + - LP: #588069 + * ext4: Prevent creation of files larger than RLIMIT_FSIZE using + fallocate + - LP: #588069 + * ext4: check for a good block group before loading buddy pages + - LP: #588069 + * ext4: Show journal_checksum option + - LP: #588069 + * ext4: Use bitops to read/modify i_flags in struct ext4_inode_info + - LP: #588069 + * ext4: Avoid crashing on NULL ptr dereference on a filesystem error + - LP: #588069 + * ext4: Clear the EXT4_EOFBLOCKS_FL flag only when warranted + - LP: #588069 + * ext4: restart ext4_ext_remove_space() after transaction restart + - LP: #588069 + * ext4: Conditionally define compat ioctl numbers + - LP: #588069 + * ext4: Fix compat EXT4_IOC_ADD_GROUP + - LP: #588069 + * ext4: Make fsync sync new parent directories in no-journal mode + - LP: #588069 + * (pre-stable) ahci,ata_generic: let ata_generic handle new MBP w/ MCP89 + - LP: #576601 + * (pre-stable) ata_generic: implement ATA_GEN_* flags and force enable + DMA on MBP 7,1 + - LP: #576601 + + -- Steve Conklin Fri, 2 Jul 2010 11:06:32 -0500 + +linux (2.6.32-23.37) lucid-proposed; urgency=low + + [ Alex Deucher ] + + * SAUCE: drm/radeon/kms/atom: fix dual-link DVI on DCE3.2/4.0 + - LP: #564559 + + [ Andy Whitcroft ] + + * [Config] ports -- build in dm-mod to enable LVM boot + - LP: #560717 + * tools -- fix perf version extraction for multi-part flavours + - LP: #555130 + * SAUCE: ACPI: EC: Allow multibyte access to EC (v3) + - LP: #526354 + * [Config] enforce -- ensure dm_mod is built-in for LVM + - LP: #560717 + * update to ubuntu-debian:7e708d33054c373faf41da23b73e8b48c342d958 + - LP: #570500, #576274 + + [ Chase Douglas ] + + * Revert "(pre-stable): input: ALPS - Add signature for HP Pavilion dm3 + laptops" + - LP: #550625 + * Enable ftrace function profiler + - LP: #570389 + * enforce CONFIG_TMPFS_POSIX_ACL=y + - LP: #575940 + + [ Leann Ogasawara ] + + * Revert "staging/comdi -- disable" + - LP: #563436 + * [Config] Enable multicast routing for sparc + - LP: #416266 + * [Config] Add ahci.ko to virtual sub-flavour + - LP: #570542 + + [ Stefan Bader ] + + * Revert "SAUCE: drm/i915: Disable FBC on 915GM and 945GM" + - LP: #588832 + + [ Tim Gardner ] + + * ubuntu: rtl8192se -- update to version 0015.0127.2010 + - LP: #567016 + * [Config] Add atl1c to nic-modules udeb + - LP: #557130 + + [ Upstream Kernel Changes ] + + * Revert "(pre-stable) iwlwifi: fix nfreed--" + - LP: #575853 + * Revert "backlight: mbp_nvidia_bl - add five more MacBook variants" + - LP: #575853 + * Revert "(pre-stable) pata_via: Add VIA VX900 support" + - LP: #575853 + * Revert "(pre-stable) x86-32, resume: do a global tlb flush in S4 + resume" + - LP: #575853 + * Revert "x86: disable IOMMUs on kernel crash" + - LP: #575853 + * Revert "sunrpc: fix peername failed on closed listener" + - LP: #575853 + * Revert "sunrpc: move the close processing after do recvfrom method" + - LP: #575853 + * Revert "(pre-stable) drm/edid: allow certain bogus edids to hit a fixup + path rather than fail" + - LP: #575853 + * Revert "drm/radeon/kms: don't print error on -ERESTARTSYS." + - LP: #575853 + * Revert "ath9k: fix lockdep warning when unloading module" on stable + kernels + - LP: #588832 + * Staging: comedi: removed "depricated" from COMEDI_CB_BLOCK + - LP: #483343 + * fat: fix buffer overflow in vfat_create_shortname() + - LP: #575853 + * xfs: simplify inode teardown + - LP: #575853 + * xfs: fix mmap_sem/iolock inversion in xfs_free_eofblocks + - LP: #575853 + * xfs: I/O completion handlers must use NOFS allocations + - LP: #575853 + * xfs: Wrapped journal record corruption on read at recovery + - LP: #575853 + * xfs: Fix error return for fallocate() on XFS + - LP: #575853 + * xfs: check for not fully initialized inodes in xfs_ireclaim + - LP: #575853 + * xfs: fix timestamp handling in xfs_setattr + - LP: #575853 + * xfs: Don't flush stale inodes + - LP: #575853 + * xfs: Ensure we force all busy extents in range to disk + - LP: #575853 + * xfs: reclaim inodes under a write lock + - LP: #575853 + * xfs: Avoid inodes in reclaim when flushing from inode cache + - LP: #575853 + * xfs: reclaim all inodes by background tree walks + - LP: #575853 + * xfs: fix stale inode flush avoidance + - LP: #575853 + * xfs: xfs_swap_extents needs to handle dynamic fork offsets + - LP: #575853 + * xfs: quota limit statvfs available blocks + - LP: #575853 + * xfs: don't hold onto reserved blocks on remount, ro + - LP: #575853 + * xfs: remove invalid barrier optimization from xfs_fsync + - LP: #575853 + * xfs: Non-blocking inode locking in IO completion + - LP: #575853 + * xfs: fix locking for inode cache radix tree tag updates + - LP: #575853 + * sh: Enable the mmu in start_secondary() + - LP: #575853 + * sh: Fix FDPIC binary loader + - LP: #575853 + * libiscsi: Fix recovery slowdown regression + - LP: #575853 + * Freezer: Fix buggy resume test for tasks frozen with cgroup freezer + - LP: #575853 + * iwlwifi: counting number of tfds can be free for 4965 + - LP: #575853 + * iwlwifi: fix nfreed-- + - LP: #575853 + * iwlwifi: range checking issue + - LP: #575853 + * setup correct int pipe type in ar9170_usb_exec_cmd + - LP: #575853 + * mac80211: move netdev queue enabling to correct spot + - LP: #575853 + * mac80211: tear down all agg queues when restart/reconfig hw + - LP: #575853 + * WATCHDOG: hpwdt - fix lower timeout limit + - LP: #575853 + * WATCHDOG: iTCO_wdt: TCO Watchdog patch for additional Intel Cougar + Point DeviceIDs + - LP: #575853 + * genirq: Force MSI irq handlers to run with interrupts disabled + - LP: #575853 + * lis3: fix show rate for 8 bits chips + - LP: #575853 + * pata_ali: Fix regression with old devices + - LP: #575853 + * HID: fix oops in gyration_event() + - LP: #575853 + * raw: fsync method is now required + - LP: #575853 + * readahead: fix NULL filp dereference + - LP: #575853 + * ALSA: mixart: range checking proc file + - LP: #575853 + * ALSA: hda: Fix 0 dB offset for Lenovo Thinkpad models using AD1981 + - LP: #551606, #575853 + * x86, amd: Get multi-node CPU info from NodeId MSR instead of PCI config + space + - LP: #575853 + * resource: move kernel function inside __KERNEL__ + - LP: #575853 + * backlight: mbp_nvidia_bl - add five more MacBook variants + - LP: #575853 + * pata_via: Add VIA VX900 support + - LP: #575853 + * ext3: Don't update the superblock in ext3_statfs() + - LP: #575853 + * ext3: journal all modifications in ext3_xattr_set_handle + - LP: #575853 + * eeepc-laptop: disable cpu speed control on EeePC 701 + - LP: #575853 + * eeepc-laptop: dmi blacklist to disable pci hotplug code + - LP: #575853 + * eeepc-laptop: add hotplug_disable parameter + - LP: #575853 + * eeepc-laptop: disable wireless hotplug for 1201N + - LP: #575853 + * eeepc-laptop: disable wireless hotplug for 1005PE + - LP: #575853 + * libata: disable NCQ on Crucial C300 SSD + - LP: #575853 + * cifs: Fix a kernel BUG with remote OS/2 server (try #3) + - LP: #575853 + * CIFS: initialize nbytes at the beginning of CIFSSMBWrite() + - LP: #575853 + * iwlwifi: need check for valid qos packet before free + - LP: #575853 + * ARM: 6031/1: fix Thumb-2 decompressor + - LP: #575853 + * x86-32, resume: do a global tlb flush in S4 resume + - LP: #575853 + * x86: hpet: Make WARN_ON understandable + - LP: #575853 + * x86, hpet: Erratum workaround for read after write of HPET comparator + - LP: #575853 + * x86: Fix double enable_IR_x2apic() call on SMP kernel on !SMP boards + - LP: #575853 + * sched: sched_getaffinity(): Allow less than NR_CPUS length + - LP: #575853 + * sched: Fix sched_getaffinity() + - LP: #575853 + * NFSv4: Fall back to ordinary lookup if nfs4_atomic_open() returns + EISDIR + - LP: #575853 + * NFSv4: fix delegated locking + - LP: #575853 + * ALSA: hda - add a quirk for Clevo M570U laptop + - LP: #575853 + * ALSA: usb - Fix Oops after usb-midi disconnection + - LP: #575853 + * hwmon: (sht15) Fix sht15_calc_temp interpolation function + - LP: #575853 + * hwmon: (sht15) Properly handle the case CONFIG_REGULATOR=n + - LP: #575853 + * x86/amd-iommu: Use helper function to destroy domain + - LP: #575853 + * x86/amd-iommu: enable iommu before attaching devices + - LP: #575853 + * x86, lib: Add wbinvd smp helpers + - LP: #575853 + * x86, cacheinfo: Fix disabling of L3 cache indices + - LP: #575853 + * intel-agp: Switch to wbinvd_on_all_cpus + - LP: #575853 + * x86, cacheinfo: Add cache index disable sysfs attrs only to L3 caches + - LP: #575853 + * x86, cacheinfo: Calculate L3 indices + - LP: #575853 + * x86, cacheinfo: Remove NUMA dependency, fix for AMD Fam10h rev D1 + - LP: #575853 + * x86, cacheinfo: Enable L3 CID only on AMD + - LP: #575853 + * vgaarb: fix "target=default" passing + - LP: #575853 + * x86-32: clean up rwsem inline asm statements + - LP: #575853 + * x86: clean up rwsem type system + - LP: #575853 + * x86-64, rwsem: 64-bit xadd rwsem implementation + - LP: #575853 + * x86-64: support native xadd rwsem implementation + - LP: #575853 + * x86: Fix breakage of UML from the changes in the rwsem system + - LP: #575853 + * x86-64, rwsem: Avoid store forwarding hazard in __downgrade_write + - LP: #575853 + * fix NFS4 handling of mountpoint stat + - LP: #575853 + * dm mpath: fix stall when requeueing io + - LP: #575853 + * quota: Fix possible dq_flags corruption + - LP: #575853 + * Staging: comedi: fix usbdux timeout bug + - LP: #483343, #575853 + * Staging: comedi: usbdux.c: fix locking up of the driver when the comedi + ringbuffer runs empty + - LP: #483343, #575853 + * ocfs2: set i_mode on disk during acl operations + - LP: #575853 + * ocfs2: Change bg_chain check for ocfs2_validate_gd_parent. + - LP: #575853 + * 9p: Skip check for mandatory locks when unlocking + - LP: #575853 + * fc class: fail fast bsg requests + - LP: #575853 + * SCSI: add scsi target reset support to scsi ioctl + - LP: #575853 + * PCIe AER: prevent AER injection if hardware masks error reporting + - LP: #575853 + * vgaarb: Fix VGA arbiter to accept PCI domains other than 0 + - LP: #575853 + * SCSI: fc-transport: Use packed modifier for fc_bsg_request structure. + - LP: #575853 + * pci: Update pci_set_vga_state() to call arch functions + - LP: #575853 + * PCI: kill off pci_register_set_vga_state() symbol export. + - LP: #575853 + * PCI: fix nested spinlock hang in aer_inject + - LP: #575853 + * IPoIB: Fix TX queue lockup with mixed UD/CM traffic + - LP: #575853 + * x86/PCI: irq and pci_ids patch for Intel Cougar Point DeviceIDs + - LP: #575853 + * ALSA: hda_intel: ALSA HD Audio patch for Intel Cougar Point DeviceIDs + - LP: #575853 + * ALSA: hda - enable snoop for Intel Cougar Point + - LP: #575853 + * ata_piix: IDE Mode SATA patch for Intel Cougar Point DeviceIDs + - LP: #575853 + * ahci: AHCI and RAID mode SATA patch for Intel Cougar Point DeviceIDs + - LP: #575853 + * i2c-i801: Add Intel Cougar Point device IDs + - LP: #575853 + * b43: Remove reset after fatal DMA error + - LP: #575853 + * b43: Allow PIO mode to be selected at module load + - LP: #575853 + * b43: fall back gracefully to PIO mode after fatal DMA errors + - LP: #575853 + * ALSA: hda - Add position_fix quirk for Biostar mobo + - LP: #575853 + * agp/hp: fixup hp agp after ACPI changes + - LP: #575853 + * b43: Optimize PIO scratchbuffer usage + - LP: #575853 + * ecryptfs: fix use with tmpfs by removing d_drop from + ecryptfs_destroy_inode + - LP: #575853 + * eCryptfs: Decrypt symlink target for stat size + - LP: #575853 + * ecryptfs: fix error code for missing xattrs in lower fs + - LP: #575853 + * sched: Fix a race between ttwu() and migrate_task() + - LP: #575853 + * USB: cdc-acm: Update to new autopm API + - LP: #575853 + * USB: cdc-acm: Fix stupid NULL pointer in resume() + - LP: #575853 + * iwlwifi: clear all tx queues when firmware ready + - LP: #575853 + * iwlwifi: fix scan race + - LP: #575853 + * e1000e: stop cleaning when we reach tx_ring->next_to_use + - LP: #575853 + * tcp: fix ICMP-RTO war + - LP: #575853 + * perf_events, x86: Implement Intel Westmere/Nehalem-EX support + - LP: #575853 + * Input: wacom - switch mode upon system resume + - LP: #575853 + * md: deal with merge_bvec_fn in component devices better. + - LP: #575853 + * nfsd4: don't try to map gid's in generic rpc code + - LP: #575853 + * nfsd: ensure sockets are closed on error + - LP: #575853 + * ALSA: hda: Set Front Mic to input vref 50% for Lenovo 3000 Y410 + - LP: #479373, #575853 + * mac80211: fix deferred hardware scan requests + - LP: #575853 + * fs-writeback: Add helper function to start writeback if idle + - LP: #575853 + * ext4: flush delalloc blocks when space is low + - LP: #575853 + * ext4: fix async i/o writes beyond 4GB to a sparse file + - LP: #575853 + * tpm: autoload tpm_tis based on system PnP IDs + - LP: #575853 + * IB/iser: Rewrite SG handling for RDMA logic + - LP: #575853 + * mptctl : Remove printk which floods unnecessary messages to + var/log/message + - LP: #575853 + * mptspi: Fix for incorrect data underrun errata + - LP: #575853 + * sched: Use proper type in sched_getaffinity() + - LP: #575853 + * KVM: SVM: Fix memory leaks that happen when svm_create_vcpu() fails + - LP: #575853 + * KVM: Don't spam kernel log when injecting exceptions due to bad cr + writes + - LP: #575853 + * KVM: allow bit 10 to be cleared in MSR_IA32_MC4_CTL + - LP: #575853 + * KVM: VMX: Save/restore rflags.vm correctly in real mode + - LP: #575853 + * KVM: MMU: fix kvm_mmu_zap_page() and its calling path + - LP: #575853 + * KVM: fix the handling of dirty bitmaps to avoid overflows + - LP: #575853 + * KVM: Increase NR_IOBUS_DEVS limit to 200 + - LP: #575853 + * KVM: x86: Fix TSS size check for 16-bit tasks + - LP: #575853 + * x86/gart: Disable GART explicitly before initialization + - LP: #575853 + * r8169: clean up my printk uglyness + - LP: #562742, #575853 + * Linux 2.6.32.12 + - LP: #575853 + * drm/edid: allow certain bogus edids to hit a fixup path rather than + fail + - LP: #575853 + * drm/radeon: add new RS880 pci id + - LP: #575853 + * drm: remove the EDID blob stored in the EDID property when it is + disconnected + - LP: #575853 + * drm/radeon/kms: never treat rs4xx as AGP + - LP: #575853 + * drm/radeon/kms: Fix NULL pointer dereference if memory allocation + failed in a simple way + - LP: #575853 + * drm/radeon/kms: don't print error on -ERESTARTSYS. + - LP: #575853 + * drm/radeon/kms: fix pal tv-out support on legacy IGP chips + - LP: #575853 + * drm: Return ENODEV if the inode mapping changes + - LP: #575853 + * drm/edid/quirks: Envision EN2028 + - LP: #575853 + * drm/radeon: R300 AD only has one quad pipe. + - LP: #575853 + * drm/radeon/kms: fix washed out image on legacy tv dac + - LP: #575853 + * drm/radeon/kms/combios: verify dac_adj values are valid + - LP: #575853 + * drm/i915: Add no_lvds entry for the Clientron U800 + - LP: #544671, #575853 + * drm/radeon/kms: more atom parser fixes (v2) + - LP: #575853 + * drm/radeon/kms: disable the tv encoder when tv/cv is not in use + - LP: #575853 + * drm/radeon/kms: fix tv dac conflict resolver + - LP: #575853 + * drm/radeon/kms: fix rs600 tlb flush + - LP: #575853 + * drm/radeon/kms: add FireMV 2400 PCI ID. + - LP: #575853 + * Linux 2.6.32.12+drm33.3 + - LP: #575853 + * USB: EHCI: defer reclamation of siTDs + - LP: #583414 + * p54usb: Add usbid for Corega CG-WLUSB2GT. + - LP: #583414 + * md/raid5: allow for more than 2^31 chunks. + - LP: #583414 + * md/raid5: fix previous patch. + - LP: #583414 + * libata: fix locking around blk_abort_request() + - LP: #583414 + * libata: ensure NCQ error result taskfile is fully initialized before + returning it via qc->result_tf. + - LP: #583414 + * w1: w1 temp: fix negative termperature calculation + - LP: #583414 + * memcg: fix prepare migration + - LP: #583414 + * mac80211: remove bogus TX agg state assignment + - LP: #583414 + * flex_array: fix the panic when calling flex_array_alloc() without + __GFP_ZERO + - LP: #583414 + * core, x86: make LIST_POISON less deadly + - LP: #583414 + * hugetlb: fix infinite loop in get_futex_key() when backed by huge pages + - LP: #583414 + * reiserfs: fix corruption during shrinking of xattrs + - LP: #583414 + * nfsd4: bug in read_buf + - LP: #583414 + * keys: the request_key() syscall should link an existing key to the dest + keyring + - LP: #583414 + * staging: usbip: Fix deadlock + - LP: #583414 + * USB: fix remote wakeup settings during system sleep + - LP: #583414 + * USB: Add id for HP ev2210 a.k.a Sierra MC5725 miniPCI-e Cell Modem. + - LP: #511066, #583414 + * USB: fix testing the wrong variable in fs_create_by_name() + - LP: #583414 + * USB: don't choose configs with no interfaces + - LP: #583414 + * USB: OHCI: don't look at the root hub to get the number of ports + - LP: #583414 + * USB: xhci: properly set the "Mult" field of the endpoint context. + - LP: #583414 + * USB: xhci: properly set endpoint context fields for periodic eps. + - LP: #583414 + * procfs: fix tid fdinfo + - LP: #583414 + * ocfs2: Update VFS inode's id info after reflink. + - LP: #583414 + * ocfs2: potential ERR_PTR dereference on error paths + - LP: #583414 + * ocfs2: Compute metaecc for superblocks during online resize. + - LP: #583414 + * ocfs2_dlmfs: Fix math error when reading LVB. + - LP: #583414 + * powernow-k8: Fix frequency reporting + - LP: #572348, #583414 + * nfs d_revalidate() is too trigger-happy with d_drop() + - LP: #583414 + * NFS: rsize and wsize settings ignored on v4 mounts + - LP: #583414 + * Staging: hv: Fix a bug affecting IPv6 + - LP: #583414 + * Staging: hv: Fix up memory leak on HvCleanup + - LP: #583414 + * Staging: hv: name network device ethX rather than sethX + - LP: #583414 + * i2c: Fix probing of FSC hardware monitoring chips + - LP: #583414 + * perf: Fix resource leak in failure path of perf_event_open() + - LP: #583414 + * raid6: fix recovery performance regression + - LP: #583414 + * serial: 8250_pnp - add Fujitsu Wacom device + - LP: #583414 + * block: ensure jiffies wrap is handled correctly in + blk_rq_timed_out_timer + - LP: #583414 + * dm9601: fix phy/eeprom write routine + - LP: #583414 + * p54pci: fix bugs in p54p_check_tx_ring + - LP: #583414 + * edac, mce: Fix wrong mask and macro usage + - LP: #583414 + * x86-64: Clear a 64-bit FS/GS base on fork if selector is nonzero + - LP: #583414 + * x86: Disable large pages on CPUs with Atom erratum AAE44 + - LP: #583414 + * x86, k8 nb: Fix boot crash: enable k8_northbridges unconditionally on + AMD systems + - LP: #583414 + * x86, AMD: Fix stale cpuid4_info shared_map data in shared_cpu_map + cpumasks + - LP: #583414 + * ALSA: hda: Use LPIB quirk for DG965OT board version AAD63733-203 + - LP: #459083, #583414 + * ALSA: hda - Add PCI quirk for HP dv6-1110ax. + - LP: #583414 + * ALSA: hda: Use STAC_DELL_M6_BOTH quirk for Dell Studio XPS 1645 + - LP: #553002, #583414 + * ALSA: hda: Use STAC_DELL_M6_BOTH quirk for Dell Studio 1558 + - LP: #568600, #583414 + * ALSA: hda: Use ALC880_F1734 quirk for Fujitsu Siemens AMILO Xi 1526 + - LP: #567494, #583414 + * ALSA: snd-meastro3: Add amp_gpio quirk for Compaq EVO N600C + - LP: #583414 + * ALSA: snd-meastro3: Ignore spurious HV interrupts during suspend / + resume + - LP: #583414 + * ALSA: hda: Fix max PCM level to 0 dB for Fujitsu-Siemens laptops using + CX20549 (Venice) + - LP: #583414 + * ALSA: hda: Fix 0 dB for Packard Bell models using Conexant CX20549 + (Venice) + - LP: #541802, #583414 + * ALSA: hda: Use olpc-xo-1_5 quirk for Toshiba Satellite Pro T130-15F + - LP: #573284, #583414 + * ALSA: hda: Use olpc-xo-1_5 quirk for Toshiba Satellite + P500-PSPGSC-01800T + - LP: #549267, #583414 + * libata: Fix accesses at LBA28 boundary (old bug, but nasty) (v2) + - LP: #583414 + * ext4: correctly calculate number of blocks for fiemap + - LP: #474597, #583414 + * initramfs: handle unrecognised decompressor when unpacking + - LP: #583414 + * CRED: Fix a race in creds_are_invalid() in credentials debugging + - LP: #583414 + * jfs: fix diAllocExt error in resizing filesystem + - LP: #583414 + * ACPI: introduce kernel parameter acpi_sleep=sci_force_enable + - LP: #553498, #583414 + * p54pci: rx frame length check + - LP: #583414 + * drivers/net/wireless/p54/txrx.c Fix off by one error + - LP: #583414 + * dccp_probe: Fix module load dependencies between dccp and dccp_probe + - LP: #583414 + * KVM: remove unused load_segment_descriptor_to_kvm_desct + - LP: #583414 + * kgdb: don't needlessly skip PAGE_USER test for Fsl booke + - LP: #583414 + * r8169: use correct barrier between cacheable and non-cacheable memory + - LP: #562742, #583414 + * r8169: fix broken register writes + - LP: #562742, #583414 + * r8169: more broken register writes workaround + - LP: #562742, #583414 + * PCI: Ensure we re-enable devices on resume + - LP: #566149, #583414 + * skip sense logging for some ATA PASS-THROUGH cdbs + - LP: #583128, #583414 + * tg3: Fix INTx fallback when MSI fails + - LP: #583414 + * xfs: add a shrinker to background inode reclaim + - LP: #583414 + * qla2xxx: Properly handle UNDERRUN completion statuses. + - LP: #583414 + * bnx2: Fix lost MSI-X problem on 5709 NICs. + - LP: #583414 + * tracing: Fix ftrace_event_call alignment for use with gcc 4.5 + - LP: #583414 + * security: testing the wrong variable in create_by_name() + - LP: #583414 + * md: restore ability of spare drives to spin down. + - LP: #583414 + * virtio: initialize earlier + - LP: #583414 + * md/raid6: Fix raid-6 read-error correction in degraded state + - LP: #583414 + * V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer + dereference" + - LP: #583414 + * ACPI: DMI init_set_sci_en_on_resume for multiple Lenovo ThinkPads + - LP: #583414 + * power_meter: acpi_device_class "power_meter_resource" too long + - LP: #583414 + * ACPI: sleep: init_set_sci_en_on_resume for Dell Studio 155x + - LP: #553498, #583414 + * cpuidle: Fix incorrect optimization + - LP: #583414 + * pxa/colibri: fix missing #include in colibri.h + - LP: #583414 + * SCSI: fix locking around blk_abort_request() + - LP: #583414 + * SCSI: libiscsi: regression: fix header digest errors + - LP: #583414 + * scsi_debug: virtual_gb ignores sector_size + - LP: #583414 + * Enable retries for SYNCRONIZE_CACHE commands to fix I/O error + - LP: #583414 + * SCSI: Retry commands with UNIT_ATTENTION sense codes to fix ext3/ext4 + I/O error + - LP: #583414 + * MIPS: Sibyte: Apply M3 workaround only on affected chip types and + versions. + - LP: #583414 + * Linux 2.6.32.13 + - LP: #583414 + * drm/i915: Add initial bits for VGA modesetting bringup on Sandybridge. + - LP: #583414 + * drm/i915: fix tiling limits for i915 class hw v2 + - LP: #583414 + * Linux 2.6.32.13+drm33.4 + - LP: #583414 + * (pre-stable) Input: psmouse - reset all types of mice before + reconnecting + - LP: #551234 + * ipv4: udp: fix short packet and bad checksum logging + - LP: #588832 + * hp_accel: fix race in device removal + - LP: #588832 + * fbdev: bfin-t350mcqb-fb: fix fbmem allocation with blanking lines + - LP: #588832 + * hugetlbfs: kill applications that use MAP_NORESERVE with SIGBUS instead + of OOM-killer + - LP: #588832 + * dma-mapping: fix dma_sync_single_range_* + - LP: #588832 + * ACPI: sleep: eliminate duplicate entries in acpisleep_dmi_table[] + - LP: #588832 + * mmc: atmel-mci: fix two parameters swapped + - LP: #588832 + * mmc: atmel-mci: prevent kernel oops while removing card + - LP: #588832 + * mmc: atmel-mci: remove data error interrupt after xfer + - LP: #588832 + * ptrace: fix return value of do_syscall_trace_enter() + - LP: #588832 + * powerpc/perf_event: Fix oops due to perf_event_do_pending call + - LP: #588832 + * cifs: guard against hardlinking directories + - LP: #588832 + * serial: imx.c: fix CTS trigger level lower to avoid lost chars + - LP: #588832 + * ALSA: ice1724 - Fix ESI Maya44 capture source control + - LP: #588832 + * ALSA: hda: Fix 0 dB for Lenovo models using Conexant CX20549 (Venice) + - LP: #588832 + * inotify: race use after free/double free in inotify inode marks + - LP: #588832 + * inotify: don't leak user struct on inotify release + - LP: #588832 + * profile: fix stats and data leakage + - LP: #588832 + * x86, k8: Fix build error when K8_NB is disabled + - LP: #588832 + * x86, cacheinfo: Turn off L3 cache index disable feature in virtualized + environments + - LP: #588832 + * x86, amd: Check X86_FEATURE_OSVW bit before accessing OSVW MSRs + - LP: #588832 + * Btrfs: check for read permission on src file in the clone ioctl + - LP: #588832 + * ALSA: hda - New Intel HDA controller + - LP: #588832 + * proc: partially revert "procfs: provide stack information for threads" + - LP: #588832 + * revert "procfs: provide stack information for threads" and its fixup + commits + - LP: #588832 + * iwlwifi: clear all the stop_queue flag after load firmware + - LP: #588832 + * p54: disable channels with incomplete calibration data sets + - LP: #588832 + * CacheFiles: Fix error handling in cachefiles_determine_cache_security() + - LP: #588832 + * megaraid_sas: fix for 32bit apps + - LP: #588832 + * mmap_min_addr check CAP_SYS_RAWIO only for write + - LP: #588832 + * nilfs2: fix sync silent failure + - LP: #588832 + * crypto: authenc - Add EINPROGRESS check + - LP: #588832 + * Linux 2.6.32.14 + - LP: #588832 + * drm/i915: use PIPE_CONTROL instruction on Ironlake and Sandy Bridge + - LP: #588832 + * drm/i915: fix non-Ironlake 965 class crashes + - LP: #588832 + * drm/i915: Disable FBC on 915GM and 945GM. + - LP: #492392, #588832 + * Linux 2.6.32.14+drm33.5 + - LP: #588832 + * Linux 2.6.32.15+drm33.5 + - LP: #588832 + * HID: remove MODULE_VERSION from new drivers + - LP: #583531 + * HID: fix N-trig touch panel with recent firmware + - LP: #583531 + * HID: ntrig: explain firmware quirk + - LP: #583531 + * HID: ntrig: Emit TOUCH with DOUBLETAP for single touch + - LP: #583531 + * HID: ntrig: TipSwitch for single touch mode touch. + - LP: #583531 + * HID: ntrig: Remove unused macro, TripleTap and QuadTap + - LP: #583531 + * (pre-stable) drm/radeon/kms: initialize set_surface_reg reg for rs600 + asic + - LP: #544590 + + -- Stefan Bader Wed, 09 Jun 2010 17:01:09 +0200 + +linux (2.6.32-22.36) lucid-security; urgency=low + + [ Andy Whitcroft ] + + * Revert "kvm: restrict writing of segment selectors to segment + registers" + - LP: #589223 + + -- Andy Whitcroft Thu, 03 Jun 2010 17:11:27 +0100 + +linux (2.6.32-22.35) lucid-security; urgency=low + + [ Leann Ogasawara ] + + * kvm: restrict writing of segment selectors to segment registers + - CVE-2010-0419 + + [ Upstream Kernel Changes ] + + * tty: release_one_tty() forgets to put pids + - CVE-2010-1162 + * oom: fix the unsafe usage of badness() in proc_oom_score() + - CVE-2010-1488 + * Attempt #2 to handle null nameidata + - CVE-2010-1148 + * reiserfs: fix permissions on .reiserfs_priv + - CVE-2010-1146 + * r8169: offical fix for CVE-2009-4537 (overlength frame DMAs) + - CVE-2009-4537 + + -- Stefan Bader Tue, 01 Jun 2010 11:44:28 +0200 + +linux (2.6.32-22.33) lucid-proposed; urgency=low + + [ Andy Whitcroft ] + + * SAUCE: ACPI: EC: Allow multibyte access to EC (v3) + - LP: #526354 + + [ Tim Gardner ] + + * ubuntu: rtl8192se -- update to version 0015.0127.2010 + - LP: #567016 + + -- Andy Whitcroft Mon, 19 Apr 2010 11:06:35 +0100 + +linux (2.6.32-21.32) lucid; 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 + * SAUCE: radeon KMS -- support disabling KMS for known broken devices + - LP: #546743 + * SAUCE: radeon KMS -- blacklist ES1000 + - LP: #546743 + + -- Andy Whitcroft Thu, 15 Apr 2010 17:18:49 +0100 + +linux (2.6.32-21.31) lucid; urgency=low + + [ Andy Whitcroft ] + + * allow modules.builtin to be optional + * d-i: add mpt2sas to the message-modules udeb + - LP: #530361 + + [ Christopher James Halse Rogers ] + + * SAUCE: Nouveau: Add quirk framework to disable acceleration + - LP: #544088, #546393 + * SAUCE: Nouveau: Disable acceleration on MacBook Pros + - LP: #546393 + * SAUCE: Nouveau: Disable acceleration on GeForce3 cards + - LP: #544088 + * SAUCE: Nouveau: Disable acceleration on 6100 cards + - LP: #542950 + + [ Stefan Bader ] + + * SAUCE: dma-mapping: Remove WARN_ON in dma_free_coherent + - LP: #458201 + + [ Surbhi Palande ] + + * SAUCE: sync before umount to reduce time taken by ext4 umount + - LP: #543617 + + [ Upstream Kernel Changes ] + + * tipc: Fix oops on send prior to entering networked mode (v3) + - CVE-2010-1187 + * KVM: x86 emulator: Add Virtual-8086 mode of emulation + - LP: #561425 + * KVM: x86 emulator: fix memory access during x86 emulation + - LP: #561425 + * KVM: x86 emulator: Check IOPL level during io instruction emulation + - LP: #561425 + * KVM: x86 emulator: Fix popf emulation + - LP: #561425 + * KVM: Fix segment descriptor loading + - LP: #561425 + * KVM: VMX: Update instruction length on intercepted BP + - LP: #561425 + * KVM: VMX: Use macros instead of hex value on cr0 initialization + - LP: #561425 + * KVM: SVM: Reset cr0 properly on vcpu reset + - LP: #561425 + * KVM: VMX: Disable unrestricted guest when EPT disabled + - LP: #561425 + * KVM: x86: disable paravirt mmu reporting + - LP: #561425 + * AppArmor: Fix put of unassigned ns if aa_unpack fails + * AppArmor: Fix refcount bug when exec fails + - LP: #562063 + * AppArmor: Take refcount on cxt->profile to ensure it remains a valid + reference + - LP: #367499 + * AppArmor: fix typo in scrubbing environment variable warning + - LP: #562060 + * AppArmor: fix regression by setting default to mediate deleted files + - LP: #562056 + * AppArmor: fix refcount order bug that can trigger during replacement + - LP: #367499 + * AppArmor: Make sure to unmap aliases for vmalloced dfas before they are + live + - LP: #529288 + * AppArmor: address performance regression of replaced profile + - LP: #549428 + * AppArmor: make the global side the correct type + - LP: #562047 + * AppArmor: use the kernel shared workqueue to free vmalloc'ed dfas + * sky2: add register definitions for new chips + - LP: #537168 + * sky2: 88E8059 support + - LP: #537168 + * net: Fix Yukon-2 Optima TCP offload setup + - LP: #537168 + * net: Add missing TST_CFG_WRITE bits around sky2_pci_write + - LP: #537168 + * sky2: print Optima chip name + - LP: #537168 + * (Upstream) dell-laptop: defer dell_rfkill_update to worker thread + - LP: #555261 + * drm/nv40: add LVDS table quirk for Dell Latitude D620 + - LP: #539730 + + -- Andy Whitcroft Tue, 13 Apr 2010 18:50:58 +0100 + +linux (2.6.32-20.30) lucid; urgency=low + + [ Upstream Kernel Changes ] + + * Revert "(pre-stable) ACPI: EC: Allow multibyte access to EC" + - LP: #561151 + + -- Andy Whitcroft Mon, 12 Apr 2010 15:46:31 +0100 + +linux (2.6.32-20.29) lucid; urgency=low + + [ Andy Whitcroft ] + + * Revert "SAUCE: Use MODULE_IMPORT macro to tie intel_agp to i915" + - LP: #542251 + * add Breaks: against hardy lvm2 + - LP: #528155 + + [ Colin Watson ] + + * d-i -- enable udebs for generic-pae + - LP: #160366 + + [ Stefan Bader ] + + * [Config] Add xen netboot support + - LP: #160366 + + [ Takashi Iwai ] + + * (pre-stable): input: Support Clickpad devices in ClickZone mode + - LP: #516329 + + [ Upstream Kernel Changes ] + + * Revert "(pre-stable) Bluetooth: Fix sleeping function in RFCOMM within + invalid context" + - LP: #553837 + * Revert "(pre-stable) USB: fix usbfs regression" + - LP: #553837 + * Revert "(pre-stable) softlockup: Stop spurious softlockup messages due + to overflow" + - LP: #553837 + * Revert "(pre-stable) drm/nouveau: report unknown connector state if lid + closed" + - LP: #553837 + * drivers/scsi/ses.c: eliminate double free + - LP: #553837 + * decompress: fix new decompressor for PIC + - LP: #553837 + * ARM: Fix decompressor's kernel size estimation for ROM=y + - LP: #553837 + * MIPS: Cleanup forgotten label_module_alloc in tlbex.c + - LP: #553837 + * tg3: Fix tg3_poll_controller() passing wrong pointer to tg3_interrupt() + - LP: #553837 + * tg3: Fix 5906 transmit hangs + - LP: #553837 + * ALSA: hda - Fix input source elements of secondary ADCs on Realtek + - LP: #553837 + * ALSA: hda: enable MSI for Gateway M-6866 + - LP: #538918, #553837 + * timekeeping: Prevent oops when GENERIC_TIME=n + - LP: #553837 + * Input: alps - add support for the touchpad on Toshiba Tecra A11-11L + - LP: #553837 + * Input: i8042 - add ALDI/MEDION netbook E1222 to qurik reset table + - LP: #553837 + * i2c-i801: Don't use the block buffer for I2C block writes + - LP: #553837 + * ath5k: dont use external sleep clock in AP mode + - LP: #553837 + * ath5k: fix setup for CAB queue + - LP: #553837 + * ring-buffer: Move disabled check into preempt disable section + - LP: #553837 + * function-graph: Init curr_ret_stack with ret_stack + - LP: #553837 + * Bluetooth: Fix sleeping function in RFCOMM within invalid context + - LP: #553837 + * tracing: Use same local variable when resetting the ring buffer + - LP: #553837 + * tracing: Disable buffer switching when starting or stopping trace + - LP: #553837 + * tracing: Do not record user stack trace from NMI context + - LP: #553837 + * PCI: unconditionally clear AER uncorr status register during cleanup + - LP: #553837 + * efifb: fix framebuffer handoff + - LP: #553837 + * coredump: suppress uid comparison test if core output files are pipes + - LP: #553837 + * V4L/DVB (13961): em28xx-dvb: fix memleak in dvb_fini() + - LP: #553837 + * hrtimer: Tune hrtimer_interrupt hang logic + - LP: #553837 + * x86, apic: Don't use logical-flat mode when CPU hotplug may exceed 8 + CPUs + - LP: #553837 + * mvsas: add support for Adaptec ASC-1045/1405 SAS/SATA HBA + - LP: #553837 + * pci: add support for 82576NS serdes to existing SR-IOV quirk + - LP: #553837 + * sched: Mark boot-cpu active before smp_init() + - LP: #553837 + * sparc64: Make prom entry spinlock NMI safe. + - LP: #553837 + * sysctl: require CAP_SYS_RAWIO to set mmap_min_addr + - LP: #553837 + * e1000e: enable new 82567V-3 device + - LP: #553837 + * ixgbe: add support for 82599 KR device 0x1517 + - LP: #553837 + * ath9k: fix lockdep warning when unloading module + - LP: #553837 + * mqueue: fix mq_open() file descriptor leak on user-space processes + - LP: #553837 + * virtio: fix out of range array access + - LP: #553837 + * sched: Fix SCHED_MC regression caused by change in sched cpu_power + - LP: #553837 + * readahead: add blk_run_backing_dev + - LP: #553837 + * ALSA: hda: Use LPIB and 6stack-dig for eMachines T5212 + - LP: #538895, #553837 + * ALSA: hda - Disable MSI for Nvidia controller + - LP: #553837 + * ALSA: hda - Fix secondary ADC of ALC260 basic model + - LP: #553837 + * ALSA: hda: Fix 0 dB offset for HP laptops using CX20551 (Waikiki) + - LP: #420578, #553837 + * ALSA: cmipci: work around invalid PCM pointer + - LP: #553837 + * gigaset: correct clearing of at_state strings on RING + - LP: #553837 + * gigaset: prune use of tty_buffer_request_room + - LP: #553837 + * perf: Make the install relative to DESTDIR if specified + - LP: #553837 + * perf_event: Fix oops triggered by cpu offline/online + - LP: #553837 + * tmpfs: fix oops on mounts with mpol=default + - LP: #553837 + * tmpfs: mpol=bind:0 don't cause mount error. + - LP: #553837 + * tmpfs: handle MPOL_LOCAL mount option properly + - LP: #553837 + * tmpfs: cleanup mpol_parse_str() + - LP: #553837 + * doc: add the documentation for mpol=local + - LP: #553837 + * SCSI: scsi_transport_fc: Fix synchronization issue while deleting vport + - LP: #553837 + * NFSv4: Don't ignore the NFS_INO_REVAL_FORCED flag in + nfs_revalidate_inode() + - LP: #553837 + * NFS: Avoid a deadlock in nfs_release_page + - LP: #553837 + * NFS: Prevent another deadlock in nfs_release_page() + - LP: #553837 + * tty: Keep the default buffering to sub-page units + - LP: #553837 + * tty: Take a 256 byte padding into account when buffering below sub-page + units + - LP: #553837 + * USB: fix usbfs regression + - LP: #553837 + * USB: EHCI: fix ITD list order + - LP: #553837 + * USB: EHCI: adjust ehci_iso_stream for changes in ehci_qh + - LP: #553837 + * USB: qcserial: add new device ids + - LP: #553837 + * USB: xHCI: re-initialize cmd_completion + - LP: #553837 + * USB: serial: ftdi: add CONTEC vendor and product id + - LP: #553837 + * USB: option: fix incorrect manufacturer name in usb/serial/option: + MAXON->CMOTECH + - LP: #553837 + * USB: option: move hardcoded PID to a macro in usb/serial/option + - LP: #553837 + * USB: option: add support for a new CMOTECH device to usb/serial/option + - LP: #553837 + * usb: r8a66597-hcd: fix removed from an attached hub + - LP: #553837 + * wl1251: fix potential crash + - LP: #553837 + * jme: Fix VLAN memory leak + - LP: #553837 + * jme: Protect vlgrp structure by pause RX actions. + - LP: #553837 + * edac, mce: Filter out invalid values + - LP: #553837 + * iwlwifi: use dma_alloc_coherent + - LP: #553837 + * iwlwifi: Silence tfds_in_queue message + - LP: #553837 + * SUNRPC: Fix a potential memory leak in auth_gss + - LP: #553837 + * sunrpc: handle allocation errors from __rpc_lookup_create() + - LP: #553837 + * if_tunnel.h: add missing ams/byteorder.h include + - LP: #553837 + * fs/partitions/msdos: add support for large disks + - LP: #553837 + * fs/partition/msdos: fix unusable extended partition for > 512B sector + - LP: #553837 + * PCI: fix return value from pcix_get_max_mmrbc() + - LP: #553837 + * PCI: fix access of PCI_X_CMD by pcix get and set mmrbc functions + - LP: #553837 + * PCI: cleanup error return for pcix get and set mmrbc functions + - LP: #553837 + * rt2860sta: Fix argument to linux_pci_unmap_single() + - LP: #553837 + * ath9k: fix BUG_ON triggered by PAE frames + - LP: #553837 + * cpuset: fix the problem that cpuset_mem_spread_node() returns an + offline node + - LP: #553837 + * softlockup: Stop spurious softlockup messages due to overflow + - LP: #553837 + * netfilter: xt_recent: fix regression in rules using a zero hit_count + - LP: #553837 + * x86: Fix placement of FIX_OHCI1394_BASE + - LP: #553837 + * x86, amd: Restrict usage of c1e_idle() + - LP: #553837 + * hwmon: (coretemp) Add missing newline to dev_warn() message + - LP: #553837 + * ALSA: hda: Use LPIB for ga-ma770-ud3 board + - LP: #553837 + * ALSA: ac97: Add Toshiba P500 to ac97 jack sense blacklist + - LP: #481058, #553837 + * ALSA: ac97: Add IBM ThinkPad R40e to Headphone/Line Jack Sense + blacklist + - LP: #303789, #553837 + * ALSA: hda: Use ALC260_WILL quirk for another Acer model (0x1025007f) + - LP: #418627, #553837 + * ath9k: Enable TIM timer interrupt only when needed. + - LP: #553837 + * mac80211: Retry null data frame for power save + - LP: #553837 + * ath9k: Enable IEEE80211_HW_REPORTS_TX_ACK_STATUS flag for ath9k + - LP: #553837 + * mac80211: Reset dynamic ps timer in Rx path. + - LP: #553837 + * leds-gpio: fix default state handling on OF platforms + - LP: #553837 + * quota: manage reserved space when quota is not active [v2] + - LP: #553837 + * quota: Fix warning when a delayed write happens before quota is enabled + - LP: #553837 + * ahci: use BIOS date in broken_suspend list + - LP: #553837 + * Bluetooth: Fix potential bad memory access with sysfs files + - LP: #553837 + * Bluetooth: Fix kernel crash on L2CAP stress tests + - LP: #553837 + * sh: Fix zImage boot using fixed PMB. + - LP: #553837 + * b43: Workaround circular locking in hw-tkip key update callback + - LP: #553837 + * block: Backport of various I/O topology fixes from 2.6.33 and 2.6.34 + - LP: #553837 + * s3cmci: initialize default platform data no_wprotect and no_detect with + 1 + - LP: #553837 + * x86: Fix sched_clock_cpu for systems with unsynchronized TSC + - LP: #553837 + * GFS2: Skip check for mandatory locks when unlocking + - LP: #553837 + * Linux 2.6.32.11 + - LP: #553837 + * drm/i915: fix small leak on overlay error path + - LP: #553837 + * drm/i915: Avoid NULL deref in get_pages() unwind after error. + - LP: #553837 + * drm/nouveau: report unknown connector state if lid closed + - LP: #553837 + * Linux-2.6.32.11+drm33.2 + - LP: #553837 + * mmc: add module parameter to set whether cards are assumed removable + - LP: #477106 + * (pre-stable) ACPI: EC: Allow multibyte access to EC + - LP: #526354 + * PCI quirks: disable msi on AMD rs4xx internal gfx bridges + - LP: #509273 + * drm/i915: Add dependency on the intel agp module + - LP: #542251 + * (pre-stable) drm/edid: allow certain bogus edids to hit a fixup path + rather than fail + - LP: #540632 + * drm/radeon/kms: rework pll algo selection + - LP: #538377 + * drm/radeon/kms: update new pll algo + - LP: #538377 + * PCI quirk: Disable MSI on VIA K8T890 systems + - LP: #544741 + * sched: update load count only once per cpu in 10 tick update window + - LP: #513848 + + -- Andy Whitcroft Fri, 09 Apr 2010 17:44:41 +0100 + +linux (2.6.32-19.28) lucid; urgency=low + + [ Andy Whitcroft ] + + * [Config] enable various multitouch devices + - LP: #541453 + + [ Chase Douglas ] + + * (pre-stable): input: ALPS - Add signature for HP Pavilion dm3 laptops + - LP: #545307 + * SAUCE: Disable function tracing after hitting __schedule_bug + * SAUCE: Reduce ACPI resource conflict message to KERN_INFO, printf + cleanup + - LP: #440470 + + [ Jesse Barnes ] + + * SAUCE: drm/i915: don't change DRM configuration when releasing load + detect pipe + - LP: #488328 + + [ John Johansen ] + + * SAUCE: AppArmor: Remove null_profile's use of PFLAG_NO_LIST_REF + - LP: #539437 + * SAUCE: AppArmor: Stop page allocation warnings that can occur on policy + load + - LP: #458299 + * SAUCE: AppArmor: Return string len rather than the allocation size + - LP: #551844 + * SAUCE: AppArmor: Fix oops in profile verification if profile unpack + fails. + + [ Luke Yelavich ] + + * [Config] Enable Nouveau DRM module on powerpc + + [ Stefan Bader ] + + * SAUCE: Pull in thinkpad-acpi from v2.6.34-rc1 + - LP: #357673 + * [Config] Enable thinkpad-acpi ALSA volume control + - LP: #357673 + + [ Steve Conklin ] + + * SAUCE: drm/i915: Disable FBC on 915GM and 945GM + - LP: #492392, #539609 + + [ Upstream Kernel Changes ] + + * Revert "(pre-stable) drm/i915: blacklist lid status: Sony VGN-BX196VP, + Dell Inspiron 700m" + - LP: #515246 + * (pre-stable) softlockup: Stop spurious softlockup messages due to + overflow + - LP: #551068 + * backlight: mbp_nvidia_bl - add five more MacBook variants + - LP: #511965 + * drm/nv04-nv40: Fix up the programmed horizontal sync pulse delay. + - LP: #529130 + * drm/nouveau: Fix fbcon corruption with font width not divisible by 8 + - LP: #544739 + * (pre-stable) USB: fix usbfs regression + * drm/radeon/bo: add some fallback placements for VRAM only objects. + - LP: #507148 + * drm/radeon/kms: don't print error on -ERESTARTSYS. + - LP: #507148 + * Input: add the ABS_MT_PRESSURE event + - LP: #541453 + * HID: Support for 3M multitouch panel + - LP: #541453 + * HID: make 3M PCT touchscreen driver standalone config option + - LP: #541453 + * HID: add support for Stantum multitouch panel + - LP: #541453 + * HID: make Stantum driver standalone config option + - LP: #541453 + * HID: add support for Acer T230H multitouch + - LP: #541453 + * HID: add support for Pixart Imaging Optical Touch Screen + - LP: #541453 + * HID: fixed bug in single-touch emulation on the stantum panel + - LP: #541453 + * HID: add pressure support for the Stantum multitouch panel + - LP: #541453 + * HID: Support for MosArt multitouch panel + - LP: #541453 + * HID: hid-ntrig add multi input quirk and clean up + - LP: #541453 + * HID: n-trig: remove unnecessary tool switching + - LP: #541453 + * HID: hid-ntrig: multitouch cleanup and fix + - LP: #541453 + * HID: hid-ntrig: Single touch mode tap + - LP: #541453 + * hid: ntrig touch events + - LP: #541453 + * (pre-stable) x86-32, resume: do a global tlb flush in S4 resume + - LP: #531309 + * drm/i915: Part of: Add initial bits for VGA modesetting bringup on + Sandybridge. + - LP: #515246 + * drm/i915: Stop trying to use ACPI lid status to determine LVDS + connection. + - LP: #515246 + + -- Andy Whitcroft Wed, 31 Mar 2010 15:14:32 +0100 + +linux (2.6.32-18.27) lucid; urgency=low + + [ Chase Douglas ] + + * SAUCE: Don't register vga16fb framebuffer if other framebuffers are + present + - LP: #527369 + + [ Loïc Minier ] + + * [Config] armel/versatile: Set CRAMFS=m + - LP: #524893 + * [Config] armel: Reset default command-line + - LP: #524893 + + [ Stefan Bader ] + + * build/modules: Update d-i to reflect recent config changes + - LP: #546929 + + [ Upstream Kernel Changes ] + + * (pre-stable) drm/nouveau: report unknown connector state if lid closed + - LP: #523072 + * (pre-stable) Staging: rt2870: Add USB ID for Buffalo Airstation + WLI-UC-GN + - LP: #441990 + * (pre-stable) iwlwifi: fix nfreed-- + - LP: #545585 + * (pre-stable) pata_via: Add VIA VX900 support + - LP: #548675 + + -- Stefan Bader Fri, 26 Mar 2010 18:39:42 +0100 + +linux (2.6.32-17.26) lucid; urgency=low + + [ Amit Kucheria ] + + * [Config] SECURITY_FILE_CAPABILITIES dissapeared in 2.6.33 + + [ Andy Whitcroft ] + + * rules -- allow architecture configurations to be missing + * SAUCE: cdrom -- default to not locking the tray when in use + - LP: #397734 + * expose the kernel EXTRAVERSION in dmesg and /proc/version_signature + * record the drm version in EXTRAVERSION + * linux-tools -- pull out the perf binary into a binary package + * [Config] enable MMIOTRACE for graphics debugging + * [Config] enable BLK_DEV_BSG + * debian -- fix builds when tools are disabled + * allow us to build default configs for automated builds + * config -- allow locally specified configuration overrides + * [Config] de-modularise PATA disk controllers + * [Config] de-modularise SATA disk controllers + + [ Stefan Bader ] + + * Revert "SAUCE: (pre-stable) netfilter: xt_recent: fix buffer overflow" + - LP: #540231 + * Revert "SAUCE: (pre-stable) netfilter: xt_recent: fix false match" + - LP: #540231 + * [Config] Update configs for 2.6.32.10 + - LP: #540231 + + [ Tim Gardner ] + + * [Config] Add vmw_pvscsi and vmxnet3 to -virtual flavour + - LP: #531017 + * SAUCE: igb: Supress an upstream compiler complaint + * [Config] Fix sub-flavours package conflicts + - LP: #454827 + + [ Upstream Kernel Changes ] + + * Revert "tpm_tis: TPM_STS_DATA_EXPECT workaround" + - LP: #540231 + * Revert "(pre-stable) sched: Fix SMT scheduler regression in + find_busiest_queue()" + - LP: #540231 + * (pre-stable) Bluetooth: Fix sleeping function in RFCOMM within invalid + context + - LP: #534549 + * igb: remove unused temp variable from stats clearing path + * igb: update comments for serdes config and update to handle duplex + * igb: update the approach taken to acquiring and releasing the phy lock + * igb: add locking to reads of the i2c interface + * igb: add combined function for setting rar and pool bits + * igb: make use of the uta to allow for promiscous mode filter + * igb: add support for 82576NS SerDes adapter + * igb: add function to handle mailbox lock + * igb: fix a few items where weren't correctly setup for mbx timeout + * igb: change how we handle alternate mac addresses + * igb: remove microwire support from igb + * igb: move the generic copper link setup code into e1000_phy.c + * igb: add code to retry a phy read in the event of failure on link check + * igb: add additional error handling to the phy code + * igb: add flushes between RAR writes when setting mac address + * igb: Use the instance of net_device_stats from net_device. + * igb: Fix erroneous display of stats by ethtool -S + * igb: add new data structure for handling interrupts and NAPI + * igb: remove rx checksum good counter + * igb: increase minimum rx buffer size to 1K + * igb: move the tx and rx ring specific config into seperate functions + * igb: remove rx_ps_hdr_len + * igb: move SRRCTL register configuration into ring specific config + * igb: change the head and tail offsets into pointers + * igb: add pci device pointer to ring structure + * igb: move rx_buffer_len into the ring structure + * igb: move alloc_failed and csum_err stats into per rx-ring stat + * igb: add a flags value to the ring + * igb: place a pointer to the netdev struct in the ring itself + * igb: move the multiple receive queue configuration into seperate + function + * igb: delay VF reset notification until after interrupts are enabed + * igb: setup vlan tag replication stripping in igb_vmm_control + * igb: re-use ring configuration code in ethtool testing + * igb: make tx ring map and free functionality non-static + * igb: make ethtool use core xmit map and free functionality + * igb: add single vector msi-x testing to interrupt test + * igb: cleanup "todo" code found in igb_ethtool.c + * igb: add support for seperate tx-usecs setting in ethtool + * igb: cleanup some of the code related to hw timestamping + * igb: misc cleanups within igb_ethtool.c + * igb: use packet buffer sizes from RXPBS register + * igb: replace the VF clear_to_send with a flags value + * igb: rework use of VMOLR in regards to PF and VFs + * igb: rework handling of the vfta and vlvf registers in relation to + mng_vlan + * igb: move vf init into a seperate function + * igb: only process global stats in igb_update_stats + * igb: move global_quad_port_a from global into local static define + * igb: make tx hang check multiqueue, check eop descriptor + * igb: cleanup code related to ring resource allocation and free + * igb: change queue ordering for 82576 based adapters + * igb: cleanup interrupt enablement in regards to msix_other + * igb: Remove invalid stats counters + * igb: cleanup igb.h header whitespace and some structure formatting + * igb: cleanup igb xmit frame path + * igb: cleanup clean_rx_irq_adv and alloc_rx_buffers_adv + * igb: replace unecessary &adapter->hw with just hw where applicable + * igb: add pci_dev in few spots to clean up use of dev_err/info/warn + * igb: limit minimum mtu to 68 to keep ip bound to interface + * igb: open up SCTP checksum offloads to all MACs 82576 and newer + * igb: cleanup whitespace issues in igb_main.c + * igb: Fix warnings in igb_set_ringparam() + * igb: change type for ring sizes to u16 in igb_set_ring_param + * igb: move timesync init into a seperate function + * igb: when number of CPUs > 4 combine tx/rx queues to allow more queues + * igb: Rework how netdev->stats is handled + * igb: removed unused tx/rx total bytes/packets from adapter struct + * igb: check for packets on all tx rings when link is down + * igb: only recycle page if it is on our numa node + * igb: add support for the 82580 phy + * igb: add support for 82580 MAC + * igb: Add full support for 82580 devices + * igb: remove use of skb_dma_map from driver + * igb: fix handling of mailbox collisions between PF/VF + * igb: do not force pcs link when in KX mode + * igb: do not force retry count to 1 on 82580 phy + * igb: correctly offset 82575 flow control watermarks by 16 bytes + * igb: check both function bits in status register in wol exception + * igb: make certain to reassign legacy interrupt vectors after reset + * igb/igbvf: cleanup exception handling in tx_map_adv + * fix LOOKUP_FOLLOW on automount "symlinks" + - LP: #540231 + * ARM: 5944/1: scsi: fix timer setup in fas216.c + - LP: #540231 + * V4L/DVB: dvb: l64781.ko broken with gcc 4.5 + - LP: #540231 + * bfin: fix max timeout calculation + - LP: #540231 + * V4L/DVB: Video : pwc : Fix regression in pwc_set_shutter_speed caused + by bad constant => sizeof conversion. + - LP: #540231 + * V4L/DVB: bttv: Move I2C IR initialization + - LP: #540231 + * V4L/DVB: cxusb: Select all required frontend and tuner modules + - LP: #540231 + * memcg: fix oom killing a child process in an other cgroup + - LP: #540231 + * fs/exec.c: fix initial stack reservation + - LP: #540231 + * iwlwifi: error checking for number of tfds in queue + - LP: #540231 + * iwlwifi: set HT flags after channel in rxon + - LP: #540231 + * iwlwifi: sanity check before counting number of tfds can be free + - LP: #540231 + * netlabel: fix export of SELinux categories > 127 + - LP: #540231 + * ahci: disable FPDMA auto-activate optimization on NVIDIA AHCI + - LP: #540231 + * PCI hotplug: ibmphp: read the length of ebda and map entire ebda region + - LP: #540231 + * PCI hotplug: check ioremap() return value in ibmphp_ebda.c + - LP: #540231 + * ACPI: remove Asus P2B-DS from acpi=ht blacklist + - LP: #540231 + * ACPI: fix "acpi=ht" boot option + - LP: #540231 + * thinkpad-acpi: wrong thermal attribute_group removed in thermal_exit() + - LP: #540231 + * ACPI: Be in TS_POLLING state during mwait based C-state entry + - LP: #540231 + * mpt2sas: Delete volume before HBA detach. + - LP: #540231 + * slab: initialize unused alien cache entry as NULL at + alloc_alien_cache(). + - LP: #540231 + * mac80211: quit addba_resp_timer if Tx BA session is torn down + - LP: #540231 + * V4L/DVB (13991): gspca_mr973010a: Fix cif type 1 cameras not streaming + on UHCI controllers + - LP: #540231 + * vfs: take f_lock on modifying f_mode after open time + - LP: #540231 + * readahead: introduce FMODE_RANDOM for POSIX_FADV_RANDOM + - LP: #540231 + * HID: remove TENX iBuddy from blacklist + - LP: #540231 + * HID: add multi-input quirk for NextWindow Touchscreen. + - LP: #540231 + * HID: usbhid: introduce timeout for stuck ctrl/out URBs + - LP: #540231 + * airo: fix setting zero length WEP key + - LP: #540231 + * idr: fix a critical misallocation bug, take#2 + - LP: #540231 + * Switch proc/self to nd_set_link() + - LP: #540231 + * sparc: Align clone and signal stacks to 16 bytes. + - LP: #540231 + * sparc32: Fix page_to_phys(). + - LP: #540231 + * sparc32: Fix struct stat uid/gid types. + - LP: #540231 + * sparc: leds_resource.end assigned to itself in clock_board_probe() + - LP: #540231 + * sparc64: Fix sun4u execute bit check in TSB I-TLB load. + - LP: #540231 + * net: Fix sysctl restarts... + - LP: #540231 + * net-sysfs: Use rtnl_trylock in wireless sysfs methods. + - LP: #540231 + * net: bug fix for vlan + gro issue + - LP: #540231 + * inet: Remove bogus IGMPv3 report handling + - LP: #540231 + * ipv6: conntrack: Add member of user to nf_ct_frag6_queue structure + - LP: #540231 + * drivers/net: ks8851_mll ethernet network driver + - LP: #540231 + * sky2: fix transmit DMA map leakage + - LP: #540231 + * SCSI: qla2xxx: Obtain proper host structure during response-queue + processing. + - LP: #540231 + * rtc-core: fix memory leak + - LP: #540231 + * offb: Add support for framebuffer handoff to offb. + - LP: #540231 + * tpm_tis: TPM_STS_DATA_EXPECT workaround + - LP: #540231 + * rndis_wlan: handle NL80211_AUTHTYPE_AUTOMATIC + - LP: #540231 + * rndis_wlan: fix buffer overflow in rndis_query_oid + - LP: #540231 + * rndis_wlan: disable stall workaround + - LP: #540231 + * net/via-rhine: Fix scheduling while atomic bugs + - LP: #540231 + * clocksource: Fix up a registration/IRQ race in the sh drivers. + - LP: #540231 + * SCSI: qla1280: Drop host_lock while requesting firmware + - LP: #540231 + * Staging: hv: add a pci device table + - LP: #540231 + * Staging: hv: match on DMI values to know if we should run. + - LP: #540231 + * Staging: mimio: remove the mimio driver + - LP: #540231 + * dvb-core: Fix DoS bug in ULE decapsulation code that can be triggered + by an invalid Payload Pointer + - LP: #540231 + * V4L/DVB (13148): uvcvideo: Handle V4L2_CTRL_TYPE_BUTTON control type in + VIDIOC_QUERYCTRL + - LP: #540231 + * PM / Hibernate: Fix preallocating of memory + - LP: #540231 + * macintosh/therm_adt746x: Fix sysfs attributes lifetime + - LP: #540231 + * macintosh/hwmon/ams: Fix device removal sequence + - LP: #540231 + * oprofile/x86: fix perfctr nmi reservation for mulitplexing + - LP: #540231 + * oprofile: remove tracing build dependency + - LP: #540231 + * oprofile/x86: remove node check in AMD IBS initialization + - LP: #540231 + * oprofile/x86: use kzalloc() instead of kmalloc() + - LP: #540231 + * oprofile/x86: fix msr access to reserved counters + - LP: #540231 + * ALSA: hda: Use 3stack quirk for Toshiba Satellite L40-10Q + - LP: #524948, #540231 + * ALSA: via82xx: add quirk for D1289 motherboard + - LP: #540231 + * ALSA: pcm core - fix fifo_size channels interval check + - LP: #540231 + * ALSA: USB MIDI support for Access Music VirusTI + - LP: #540231 + * ALSA: hda: Use LPIB for Dell Latitude 131L + - LP: #530346, #540231 + * ALSA: hda: Use LPIB for a Biostar Microtech board + - LP: #523953, #540231 + * ALSA: hda - Add a position_fix quirk for MSI Wind U115 + - LP: #540231 + * ALSA: hda - Add position_fix quirk for HP dv3 + - LP: #540231 + * ALSA: hda-intel: Add position_fix quirk for ASUS M2V-MX SE. + - LP: #540231 + * ASoC: fix ak4104 register array access + - LP: #540231 + * driver-core: fix race condition in get_device_parent() + - LP: #540231 + * Driver-Core: devtmpfs - reset inode permissions before unlinking + - LP: #540231 + * tty: Fix the ldisc hangup race + - LP: #540231 + * serial: imx: fix NULL dereference Oops when pdata == NULL + - LP: #540231 + * USB: serial: sierra driver indat_callback fix + - LP: #511157, #540231 + * USB: SIS USB2VGA DRIVER: support KAIREN's USB VGA adaptor + USB20SVGA-MB-PLUS + - LP: #540231 + * USB: fix I2C API usage in ohci-pnx4008. + - LP: #540231 + * p54usb: Add the USB ID for Belkin (Accton) FD7050E ver 1010ec + - LP: #540231 + * p54pci: handle dma mapping errors + - LP: #540231 + * gpiolib: Actually set output state in wm831x_gpio_direction_output() + - LP: #540231 + * hwmon: (tmp421) Fix temperature conversions + - LP: #540231 + * hwmon: (tmp421) Restore missing inputs + - LP: #540231 + * pata_hpt3x2n: always stretch UltraDMA timing + - LP: #540231 + * scm: Only support SCM_RIGHTS on unix domain sockets. + - LP: #540231 + * ath9k: fix beacon timer restart after a card reset + - LP: #540231 + * ath9k: fix rate control fallback rate selection + - LP: #540231 + * ath9k: disable RIFS search for AR91xx based chips + - LP: #540231 + * ath5k: use correct packet type when transmitting + - LP: #540231 + * b43/b43legacy: Wake queues in wireless_core_start + - LP: #540231 + * netfilter: xt_recent: fix buffer overflow + - LP: #540231 + * netfilter: xt_recent: fix false match + - LP: #540231 + * sunxvr500: Additional PCI id for sunxvr500 driver + - LP: #540231 + * thinkpad-acpi: fix poll thread auto-start + - LP: #540231 + * thinkpad-acpi: R52 brightness_mode has been confirmed + - LP: #540231 + * thinkpad-acpi: document HKEY event 3006 + - LP: #540231 + * thinkpad-acpi: make driver events work in NVRAM poll mode + - LP: #540231 + * thinkpad-acpi: fix bluetooth/wwan resume + - LP: #540231 + * ocfs2: Only bug out in direct io write for reflinked extent. + - LP: #540231 + * x86, ia32_aout: do not kill argument mapping + - LP: #540231 + * x86: Add iMac9,1 to pci_reboot_dmi_table + - LP: #540231 + * x86, xen: Disable highmem PTE allocation even when CONFIG_HIGHPTE=y + - LP: #540231 + * x86: Avoid race condition in pci_enable_msix() + - LP: #540231 + * x86: Fix SCI on IOAPIC != 0 + - LP: #540231 + * USB: xhci: Fix finding extended capabilities registers + - LP: #540231 + * USB: fix the idProduct value for USB-3.0 root hubs + - LP: #540231 + * USB: fix crash in uhci_scan_schedule + - LP: #540231 + * USB: remove debugging message for uevent constructions + - LP: #540231 + * USB: Move hcd free_dev call into usb_disconnect to fix oops + - LP: #540231 + * USB: ftdi_sio: isolate all device IDs to new ftdi_sio_ids.h header + - LP: #540231 + * USB: ftdi_sio: sort PID/VID entries in new ftdi_sio_ids.h header + - LP: #540231 + * USB: ftdi_sio: new device id for papouch AD4USB + - LP: #540231 + * USB: ftdi_sio: add device IDs (several ELV, one Mindstorms NXT) + - LP: #540231 + * USB: add new ftdi_sio device ids + - LP: #540231 + * USB: serial: ftdi: add CONTEC vendor and product id + - LP: #540231 + * USB: cp210x: Add 81E8 (Zephyr Bioharness) + - LP: #540231 + * USB: unusual_devs: Add support for multiple Option 3G sticks + - LP: #540231 + * sunrpc: remove unnecessary svc_xprt_put + - LP: #540231 + * SUNRPC: Handle EINVAL error returns from the TCP connect operation + - LP: #540231 + * s3cmci: s3cmci_card_present: Use no_detect to decide whether there is a + card detect pin + - LP: #540231 + * rtc-coh901331: fix braces in resume code + - LP: #540231 + * NFS: Fix an allocation-under-spinlock bug + - LP: #540231 + * dm: free dm_io before bio_endio not after + - LP: #540231 + * KVM: x86 emulator: Add group8 instruction decoding + - LP: #540231 + * KVM: x86 emulator: Forbid modifying CS segment register by mov + instruction + - LP: #540231 + * KVM: x86 emulator: Add group9 instruction decoding + - LP: #540231 + * KVM: x86 emulator: Check CPL level during privilege instruction + emulation + - LP: #540231 + * sched: Fix sched_mv_power_savings for !SMT + - LP: #540231 + * sched: Fix SMT scheduler regression in find_busiest_queue() + - LP: #540231 + * sched: Don't use possibly stale sched_class + - LP: #540231 + * x86, mm: Allow highmem user page tables to be disabled at boot time + - LP: #540231 + * Linux 2.6.32.10 + - LP: #540231 + * drm/i915: give up on 8xx lid status + - LP: #540231 + * drm/i915: Use a dmi quirk to skip a broken SDVO TV output. + - LP: #540231 + * drm/ttm: handle OOM in ttm_tt_swapout + - LP: #540231 + * drm/radeon/kms/atom: fix shr/shl ops + - LP: #540231 + * Linux 2.6.32.10+drm33.1 + - LP: #540231 + + -- Andy Whitcroft Fri, 19 Mar 2010 19:17:09 +0000 + +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-2.6.32.orig/debian.master/changelog.historical +++ linux-2.6.32/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-2.6.32.orig/debian.master/control.stub.in +++ linux-2.6.32/debian.master/control.stub.in @@ -0,0 +1,90 @@ +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 lpia], device-tree-compiler [powerpc], libelf-dev, binutils-dev, rsync +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-lucid.git + +Package: SRCPKGNAME-source-PKGVER +Architecture: all +Section: devel +Priority: optional +Provides: SRCPKGNAME-source, SRCPKGNAME-source-2.6 +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-2.6 +Replaces: SRCPKGNAME-doc-2.6 +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: admin +Priority: optional +Depends: ${misc:Depends} +Replaces: SRCPKGNAME-tools (<= 2.6.32-16.25) +Description: Linux kernel specific tools for version PKGVER + This package provides the architecture independent parts for kernel + version locked tools in the PKGVER kernel source. + +Package: linux-headers-PKGVER-ABINUM +Architecture: all +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0) +Provides: SRCPKGNAME-headers, SRCPKGNAME-headers-2.6 +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 lpia ia64 powerpc sparc armel +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 +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 lpia ia64 powerpc sparc armel +Section: devel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-tools-common +Description: Linux kernel tools for version PKGVER-ABINUM + This package provides the architecture dependant parts for kernel + version locked tools for version PKGVER-ABINUM on + DESC. + --- linux-2.6.32.orig/debian.master/copyright +++ linux-2.6.32/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-2.6.32.orig/debian.master/deviations.txt +++ linux-2.6.32/debian.master/deviations.txt @@ -0,0 +1,36 @@ +DRM SUBSYSTEM +L: kernel-team@lists.ubuntu.com +T: git://git.kernel.org/pub/scm/linux/kernel/git/smb/linux-2.6.32.y-drm33.z.git +F: drivers/gpu/drm/* +F: include/drm/* + + Graphics bugs were claimed to be not fixable in 2.6.32. All upstream + had moved to 2.6.33 and abandoned 2.6.32. + The combined 2.6.32.y/DRM33.z tree is maintained as an upstream source + for Ubuntu and Debian. + +SFC DRIVER +L: kernel-team@lists.ubuntu.com +T: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.33.y.git +F: drivers/net/sfc/* + + Was requested in order to support newer servers and driver had changed + beyond a point to SRU it later. + +THINKPAD-ACPI DRIVER +L: kernel-team@lists.ubuntu.com +T: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.34.y.git +F: drivers/platform/x86/thinkpad_acpi.c + + Only the selected driver supported the alsa representation of the + hardware mixer which would be a requisite to handle volume events + correctly. + +HID-NTRIG DRIVER +L: kernel-team@lists.ubuntu.com +T: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.34.y.git +F: drivers/hid/hid-ntrig.c + + In order to be a development ground for multi-touch, this driver was + needed. + --- linux-2.6.32.orig/debian.master/control.stub +++ linux-2.6.32/debian.master/control.stub @@ -0,0 +1,844 @@ +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 lpia], device-tree-compiler [powerpc], libelf-dev, binutils-dev, rsync +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-lucid.git + +Package: linux-source-2.6.32 +Architecture: all +Section: devel +Priority: optional +Provides: linux-source, linux-source-2.6 +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 2.6.32 with Ubuntu patches + This package provides the source code for the Linux kernel version + 2.6.32. + . + 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: linux-doc +Architecture: all +Section: doc +Priority: optional +Depends: ${misc:Depends} +Conflicts: linux-doc-2.6 +Replaces: linux-doc-2.6 +Description: Linux kernel specific documentation for version 2.6.32 + This package provides the various documents in the 2.6.32 kernel + Documentation/ subdirectory. These document kernel subsystems, APIs, device + drivers, and so on. See + /usr/share/doc/linux-doc/00-INDEX for a list of what is + contained in each file. + +Package: linux-tools-common +Architecture: all +Section: admin +Priority: optional +Depends: ${misc:Depends} +Replaces: linux-tools (<= 2.6.32-16.25) +Description: Linux kernel specific tools for version 2.6.32 + This package provides the architecture independent parts for kernel + version locked tools in the 2.6.32 kernel source. + +Package: linux-headers-2.6.32-41 +Architecture: all +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0) +Provides: linux-headers, linux-headers-2.6 +Description: Header files related to Linux kernel version 2.6.32 + This package provides kernel header files for version 2.6.32, for sites + that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details + +Package: linux-libc-dev +Architecture: i386 amd64 lpia ia64 powerpc sparc armel +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), linux-kernel-headers +Replaces: libc6-dev (<< 2.3.2.ds1-6), libc6.1-dev (<< 2.3.2.ds1-6), dvb-dev (<< 1.0.1-6), linux-kernel-headers, libdrm-dev +Provides: linux-kernel-headers +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 linux-headers-* packages for that. + +Package: linux-tools-2.6.32-41 +Architecture: i386 amd64 lpia ia64 powerpc sparc armel +Section: devel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-tools-common +Description: Linux kernel tools for version 2.6.32-41 + This package provides the architecture dependant parts for kernel + version locked tools for version 2.6.32-41 on + DESC. + + +Package: linux-image-2.6.32-41-386 +Architecture: i386 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on i386 + This package contains the Linux kernel image for version 2.6.32 on + i386. + . + 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 Alternate x86 (486 and better) processors. + . + Geared toward desktop systems. + . + You likely do not want to install this package directly. Instead, install + the linux-386 meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-386 +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on i386 + This package provides kernel header files for version 2.6.32 on + i386. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-386-dbgsym +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on i386 + This package provides a kernel debug image for version 2.6.32 on + i386. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-generic +Architecture: i386 amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on x86/x86_64 + This package contains the Linux kernel image for version 2.6.32 on + x86/x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Generic processors. + . + Geared toward desktop 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-2.6.32-41-generic +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on x86/x86_64 + This package provides kernel header files for version 2.6.32 on + x86/x86_64. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-generic-dbgsym +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on x86/x86_64 + This package provides a kernel debug image for version 2.6.32 on + x86/x86_64. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-generic-pae +Architecture: i386 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on x86 + This package contains the Linux kernel image for version 2.6.32 on + x86. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Generic processors. + . + Geared toward 32 bit desktop systems with more then 4GB RAM. + . + You likely do not want to install this package directly. Instead, install + the linux-generic-pae meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-generic-pae +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on x86 + This package provides kernel header files for version 2.6.32 on + x86. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-generic-pae-dbgsym +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on x86 + This package provides a kernel debug image for version 2.6.32 on + x86. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-ia64 +Architecture: ia64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: elilo (>= 3.6-1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on IA-64 SMP + This package contains the Linux kernel image for version 2.6.32 on + IA-64 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 IA-64 SMP processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-ia64 meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-ia64 +Architecture: ia64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on IA-64 SMP + This package provides kernel header files for version 2.6.32 on + IA-64 SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-ia64-dbgsym +Architecture: ia64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on IA-64 SMP + This package provides a kernel debug image for version 2.6.32 on + IA-64 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: linux-image-2.6.32-41-lpia +Architecture: lpia +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, redhat-cluster-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on Intel Atom processors + This package contains the Linux kernel image for version 2.6.32 on + Intel Atom processors. + . + 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 Intel Atom processors. + . + Geared toward LPIA-based mobile devices + . + You likely do not want to install this package directly. Instead, install + the linux-lpia meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-lpia +Architecture: lpia +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on Intel Atom processors + This package provides kernel header files for version 2.6.32 on + Intel Atom processors. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-lpia-dbgsym +Architecture: lpia +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on Intel Atom processors + This package provides a kernel debug image for version 2.6.32 on + Intel Atom processors. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-powerpc +Architecture: powerpc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: yaboot +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 32-bit PowerPC + This package contains the Linux kernel image for version 2.6.32 on + 32-bit PowerPC. + . + 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 32-bit PowerPC processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-powerpc meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-powerpc +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 32-bit PowerPC + This package provides kernel header files for version 2.6.32 on + 32-bit PowerPC. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-powerpc-dbgsym +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 32-bit PowerPC + This package provides a kernel debug image for version 2.6.32 on + 32-bit PowerPC. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-powerpc-smp +Architecture: powerpc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: yaboot +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 32-bit PowerPC SMP + This package contains the Linux kernel image for version 2.6.32 on + 32-bit PowerPC 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 32-bit PowerPC SMP processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-powerpc-smp meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-powerpc-smp +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 32-bit PowerPC SMP + This package provides kernel header files for version 2.6.32 on + 32-bit PowerPC SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-powerpc-smp-dbgsym +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 32-bit PowerPC SMP + This package provides a kernel debug image for version 2.6.32 on + 32-bit PowerPC 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: linux-image-2.6.32-41-powerpc64-smp +Architecture: powerpc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: yaboot +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 64-bit PowerPC SMP + This package contains the Linux kernel image for version 2.6.32 on + 64-bit PowerPC 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 64-bit PowerPC SMP processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-powerpc64-smp meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-powerpc64-smp +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 64-bit PowerPC SMP + This package provides kernel header files for version 2.6.32 on + 64-bit PowerPC SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-powerpc64-smp-dbgsym +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 64-bit PowerPC SMP + This package provides a kernel debug image for version 2.6.32 on + 64-bit PowerPC 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: linux-image-2.6.32-41-preempt +Architecture: amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on x86_64 + This package contains the Linux kernel image for version 2.6.32 on + x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Preempt processors. + . + Geared toward low latency systems. + . + You likely do not want to install this package directly. Instead, install + the linux-preempt meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-preempt +Architecture: amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on x86_64 + This package provides kernel header files for version 2.6.32 on + x86_64. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-preempt-dbgsym +Architecture: amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on x86_64 + This package provides a kernel debug image for version 2.6.32 on + x86_64. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-server +Architecture: amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, kvm-api-4, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on x86_64 + This package contains the Linux kernel image for version 2.6.32 on + x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Server processors. + . + Geared toward 64 bit server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-server meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-server +Architecture: amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on x86_64 + This package provides kernel header files for version 2.6.32 on + x86_64. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-server-dbgsym +Architecture: amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on x86_64 + This package provides a kernel debug image for version 2.6.32 on + x86_64. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-sparc64 +Architecture: sparc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: silo +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 64-bit UltraSPARC + This package contains the Linux kernel image for version 2.6.32 on + 64-bit UltraSPARC. + . + 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 64-bit UltraSPARC processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-sparc64 meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-sparc64 +Architecture: sparc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 64-bit UltraSPARC + This package provides kernel header files for version 2.6.32 on + 64-bit UltraSPARC. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-sparc64-dbgsym +Architecture: sparc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 64-bit UltraSPARC + This package provides a kernel debug image for version 2.6.32 on + 64-bit UltraSPARC. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-sparc64-smp +Architecture: sparc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: silo +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 64-bit UltraSPARC SMP + This package contains the Linux kernel image for version 2.6.32 on + 64-bit UltraSPARC 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 64-bit UltraSPARC SMP processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-sparc64-smp meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-sparc64-smp +Architecture: sparc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 64-bit UltraSPARC SMP + This package provides kernel header files for version 2.6.32 on + 64-bit UltraSPARC SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-sparc64-smp-dbgsym +Architecture: sparc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 64-bit UltraSPARC SMP + This package provides a kernel debug image for version 2.6.32 on + 64-bit UltraSPARC 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: linux-image-2.6.32-41-versatile +Architecture: armel +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on Versatile-based systems + This package contains the Linux kernel image for version 2.6.32 on + Versatile-based systems. + . + 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 Versatile processors. + . + PB, AB, Qemu, etc. + . + You likely do not want to install this package directly. Instead, install + the linux-versatile meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-versatile +Architecture: armel +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on Versatile-based systems + This package provides kernel header files for version 2.6.32 on + Versatile-based systems. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-versatile-dbgsym +Architecture: armel +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on Versatile-based systems + This package provides a kernel debug image for version 2.6.32 on + Versatile-based systems. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-virtual +Architecture: i386 amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules +Depends: ${misc:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3) +Conflicts: hotplug (<< 0.0.20040105-1), linux-image-2.6.32-41-generic-pae, linux-image-2.6.32-41-server +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32 +Description: Linux kernel image for version 2.6.32 on x86/x86_64 + This package contains the Linux kernel image for version 2.6.32 on + x86/x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Virtual processors. + . + Geared toward virtual machine guests. + . + You likely do not want to install this package directly. Instead, install + the linux-virtual meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. --- linux-2.6.32.orig/debian.master/control +++ linux-2.6.32/debian.master/control @@ -0,0 +1,844 @@ +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 lpia], device-tree-compiler [powerpc], libelf-dev, binutils-dev, rsync +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-lucid.git + +Package: linux-source-2.6.32 +Architecture: all +Section: devel +Priority: optional +Provides: linux-source, linux-source-2.6 +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 2.6.32 with Ubuntu patches + This package provides the source code for the Linux kernel version + 2.6.32. + . + 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: linux-doc +Architecture: all +Section: doc +Priority: optional +Depends: ${misc:Depends} +Conflicts: linux-doc-2.6 +Replaces: linux-doc-2.6 +Description: Linux kernel specific documentation for version 2.6.32 + This package provides the various documents in the 2.6.32 kernel + Documentation/ subdirectory. These document kernel subsystems, APIs, device + drivers, and so on. See + /usr/share/doc/linux-doc/00-INDEX for a list of what is + contained in each file. + +Package: linux-tools-common +Architecture: all +Section: admin +Priority: optional +Depends: ${misc:Depends} +Replaces: linux-tools (<= 2.6.32-16.25) +Description: Linux kernel specific tools for version 2.6.32 + This package provides the architecture independent parts for kernel + version locked tools in the 2.6.32 kernel source. + +Package: linux-headers-2.6.32-41 +Architecture: all +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0) +Provides: linux-headers, linux-headers-2.6 +Description: Header files related to Linux kernel version 2.6.32 + This package provides kernel header files for version 2.6.32, for sites + that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details + +Package: linux-libc-dev +Architecture: i386 amd64 lpia ia64 powerpc sparc armel +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), linux-kernel-headers +Replaces: libc6-dev (<< 2.3.2.ds1-6), libc6.1-dev (<< 2.3.2.ds1-6), dvb-dev (<< 1.0.1-6), linux-kernel-headers, libdrm-dev +Provides: linux-kernel-headers +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 linux-headers-* packages for that. + +Package: linux-tools-2.6.32-41 +Architecture: i386 amd64 lpia ia64 powerpc sparc armel +Section: devel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-tools-common +Description: Linux kernel tools for version 2.6.32-41 + This package provides the architecture dependant parts for kernel + version locked tools for version 2.6.32-41 on + DESC. + + +Package: linux-image-2.6.32-41-386 +Architecture: i386 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on i386 + This package contains the Linux kernel image for version 2.6.32 on + i386. + . + 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 Alternate x86 (486 and better) processors. + . + Geared toward desktop systems. + . + You likely do not want to install this package directly. Instead, install + the linux-386 meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-386 +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on i386 + This package provides kernel header files for version 2.6.32 on + i386. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-386-dbgsym +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on i386 + This package provides a kernel debug image for version 2.6.32 on + i386. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-generic +Architecture: i386 amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on x86/x86_64 + This package contains the Linux kernel image for version 2.6.32 on + x86/x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Generic processors. + . + Geared toward desktop 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-2.6.32-41-generic +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on x86/x86_64 + This package provides kernel header files for version 2.6.32 on + x86/x86_64. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-generic-dbgsym +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on x86/x86_64 + This package provides a kernel debug image for version 2.6.32 on + x86/x86_64. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-generic-pae +Architecture: i386 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on x86 + This package contains the Linux kernel image for version 2.6.32 on + x86. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Generic processors. + . + Geared toward 32 bit desktop systems with more then 4GB RAM. + . + You likely do not want to install this package directly. Instead, install + the linux-generic-pae meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-generic-pae +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on x86 + This package provides kernel header files for version 2.6.32 on + x86. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-generic-pae-dbgsym +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on x86 + This package provides a kernel debug image for version 2.6.32 on + x86. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-ia64 +Architecture: ia64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: elilo (>= 3.6-1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on IA-64 SMP + This package contains the Linux kernel image for version 2.6.32 on + IA-64 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 IA-64 SMP processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-ia64 meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-ia64 +Architecture: ia64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on IA-64 SMP + This package provides kernel header files for version 2.6.32 on + IA-64 SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-ia64-dbgsym +Architecture: ia64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on IA-64 SMP + This package provides a kernel debug image for version 2.6.32 on + IA-64 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: linux-image-2.6.32-41-lpia +Architecture: lpia +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, redhat-cluster-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on Intel Atom processors + This package contains the Linux kernel image for version 2.6.32 on + Intel Atom processors. + . + 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 Intel Atom processors. + . + Geared toward LPIA-based mobile devices + . + You likely do not want to install this package directly. Instead, install + the linux-lpia meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-lpia +Architecture: lpia +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on Intel Atom processors + This package provides kernel header files for version 2.6.32 on + Intel Atom processors. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-lpia-dbgsym +Architecture: lpia +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on Intel Atom processors + This package provides a kernel debug image for version 2.6.32 on + Intel Atom processors. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-powerpc +Architecture: powerpc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: yaboot +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 32-bit PowerPC + This package contains the Linux kernel image for version 2.6.32 on + 32-bit PowerPC. + . + 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 32-bit PowerPC processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-powerpc meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-powerpc +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 32-bit PowerPC + This package provides kernel header files for version 2.6.32 on + 32-bit PowerPC. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-powerpc-dbgsym +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 32-bit PowerPC + This package provides a kernel debug image for version 2.6.32 on + 32-bit PowerPC. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-powerpc-smp +Architecture: powerpc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: yaboot +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 32-bit PowerPC SMP + This package contains the Linux kernel image for version 2.6.32 on + 32-bit PowerPC 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 32-bit PowerPC SMP processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-powerpc-smp meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-powerpc-smp +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 32-bit PowerPC SMP + This package provides kernel header files for version 2.6.32 on + 32-bit PowerPC SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-powerpc-smp-dbgsym +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 32-bit PowerPC SMP + This package provides a kernel debug image for version 2.6.32 on + 32-bit PowerPC 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: linux-image-2.6.32-41-powerpc64-smp +Architecture: powerpc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: yaboot +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 64-bit PowerPC SMP + This package contains the Linux kernel image for version 2.6.32 on + 64-bit PowerPC 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 64-bit PowerPC SMP processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-powerpc64-smp meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-powerpc64-smp +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 64-bit PowerPC SMP + This package provides kernel header files for version 2.6.32 on + 64-bit PowerPC SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-powerpc64-smp-dbgsym +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 64-bit PowerPC SMP + This package provides a kernel debug image for version 2.6.32 on + 64-bit PowerPC 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: linux-image-2.6.32-41-preempt +Architecture: amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on x86_64 + This package contains the Linux kernel image for version 2.6.32 on + x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Preempt processors. + . + Geared toward low latency systems. + . + You likely do not want to install this package directly. Instead, install + the linux-preempt meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-preempt +Architecture: amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on x86_64 + This package provides kernel header files for version 2.6.32 on + x86_64. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-preempt-dbgsym +Architecture: amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on x86_64 + This package provides a kernel debug image for version 2.6.32 on + x86_64. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-server +Architecture: amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, kvm-api-4, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on x86_64 + This package contains the Linux kernel image for version 2.6.32 on + x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Server processors. + . + Geared toward 64 bit server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-server meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-server +Architecture: amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on x86_64 + This package provides kernel header files for version 2.6.32 on + x86_64. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-server-dbgsym +Architecture: amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on x86_64 + This package provides a kernel debug image for version 2.6.32 on + x86_64. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-sparc64 +Architecture: sparc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: silo +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 64-bit UltraSPARC + This package contains the Linux kernel image for version 2.6.32 on + 64-bit UltraSPARC. + . + 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 64-bit UltraSPARC processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-sparc64 meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-sparc64 +Architecture: sparc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 64-bit UltraSPARC + This package provides kernel header files for version 2.6.32 on + 64-bit UltraSPARC. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-sparc64-dbgsym +Architecture: sparc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 64-bit UltraSPARC + This package provides a kernel debug image for version 2.6.32 on + 64-bit UltraSPARC. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-sparc64-smp +Architecture: sparc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: silo +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 64-bit UltraSPARC SMP + This package contains the Linux kernel image for version 2.6.32 on + 64-bit UltraSPARC 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 64-bit UltraSPARC SMP processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-sparc64-smp meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-sparc64-smp +Architecture: sparc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 64-bit UltraSPARC SMP + This package provides kernel header files for version 2.6.32 on + 64-bit UltraSPARC SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-sparc64-smp-dbgsym +Architecture: sparc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 64-bit UltraSPARC SMP + This package provides a kernel debug image for version 2.6.32 on + 64-bit UltraSPARC 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: linux-image-2.6.32-41-versatile +Architecture: armel +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on Versatile-based systems + This package contains the Linux kernel image for version 2.6.32 on + Versatile-based systems. + . + 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 Versatile processors. + . + PB, AB, Qemu, etc. + . + You likely do not want to install this package directly. Instead, install + the linux-versatile meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-versatile +Architecture: armel +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on Versatile-based systems + This package provides kernel header files for version 2.6.32 on + Versatile-based systems. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-versatile-dbgsym +Architecture: armel +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on Versatile-based systems + This package provides a kernel debug image for version 2.6.32 on + Versatile-based systems. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-virtual +Architecture: i386 amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules +Depends: ${misc:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3) +Conflicts: hotplug (<< 0.0.20040105-1), linux-image-2.6.32-41-generic-pae, linux-image-2.6.32-41-server +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32 +Description: Linux kernel image for version 2.6.32 on x86/x86_64 + This package contains the Linux kernel image for version 2.6.32 on + x86/x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Virtual processors. + . + Geared toward virtual machine guests. + . + You likely do not want to install this package directly. Instead, install + the linux-virtual meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/abiname +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/abiname @@ -0,0 +1 @@ +41 --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/amd64/generic +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/amd64/generic @@ -0,0 +1,10359 @@ +EXPORT_SYMBOL arch/x86/kvm/kvm 0x24fd4a7a kvm_cpu_has_pending_timer +EXPORT_SYMBOL arch/x86/kvm/kvm 0x8cdda613 kvm_read_guest_atomic +EXPORT_SYMBOL crypto/gf128mul 0x0c2f123f gf128mul_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x1068004b gf128mul_bbe +EXPORT_SYMBOL crypto/gf128mul 0x2f2889a0 gf128mul_init_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x384ef9ce gf128mul_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x56af0dbd gf128mul_x_ble +EXPORT_SYMBOL crypto/gf128mul 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL crypto/gf128mul 0xbd17a0df gf128mul_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0xc0890413 gf128mul_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/acpi/video 0x7a45377b acpi_video_unregister +EXPORT_SYMBOL drivers/acpi/video 0x8826c13b acpi_video_register +EXPORT_SYMBOL drivers/atm/suni 0xceb56a3a suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0xc9a6037b uPD98402_init +EXPORT_SYMBOL drivers/block/paride/paride 0x1e546445 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x291ca06e pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x59af8d33 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x877b6bc1 pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0x9cae3f1e paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0xa08db81d pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xc0a288c7 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xd1024898 pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xd39500f0 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0xe0a6e0e3 paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0xf481afe1 pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0xfe135228 pi_write_regr +EXPORT_SYMBOL drivers/char/agp/intel-agp 0x7b9a6116 intel_agp_enabled +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x0177f5c8 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x14974879 ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x15b255cf ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x26ff333f ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2908b9b7 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x30127ee6 ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x32dc302f ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x37f5990b ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4a46cbb3 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4f5c3b53 ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x59b92e48 ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x601acbbc ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x62484bfd ipmi_register_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x73fb56c4 ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x883bc92d ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x939bef0b ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa02d802d ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd10103a2 ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd298a996 ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe41172c4 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe6a5a068 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xee680a8d ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf7a8dbde ipmi_get_my_address +EXPORT_SYMBOL drivers/char/nsc_gpio 0x52336830 nsc_gpio_dump +EXPORT_SYMBOL drivers/char/nsc_gpio 0x709c3192 nsc_gpio_write +EXPORT_SYMBOL drivers/char/nsc_gpio 0x8f7adfd1 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 0x07d282da edac_mc_find +EXPORT_SYMBOL drivers/edac/edac_core 0x2a6fe144 edac_mc_handle_fbd_ue +EXPORT_SYMBOL drivers/edac/edac_core 0xef490ea8 edac_mc_handle_fbd_ce +EXPORT_SYMBOL drivers/firewire/firewire-core 0x195a66a0 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2b2e6006 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2ea76786 fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3452fbe4 fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x49a29946 fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4bedc53d fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4e86dd83 fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x529ea96f fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6acce7b8 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6b584dc3 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6c45a310 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x79f2de8f fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7d1878f4 fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x89e66aba fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90863005 fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0xa7fbf147 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xae2baf1e fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0xafc1c793 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb047a2c6 fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb6bf45f6 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0xba1b8230 fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc6c2584c fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0xcb547411 fw_core_initiate_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd569457e fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xdd9afce5 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf163bd46 fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xfc0da2f2 fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0xfcb3dfe3 fw_iso_context_start +EXPORT_SYMBOL drivers/firmware/dcdbas 0xa75079d6 dcdbas_smi_request +EXPORT_SYMBOL drivers/gpu/drm/drm 0x015c3c3b drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0836695c drm_sman_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a4a0e8c drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ab6b877 drm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x106f214b drm_get_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13b5dafe drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16b25521 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x193e6f90 drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x199ecc36 drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f072c59 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21451ac4 drm_sman_owner_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2152e43a drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2215c8cb drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25cd5254 drm_agp_chipset_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x266a10fe drm_sg_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2673f4ce drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x27d05283 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2916bf63 drm_sman_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x291707f1 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2eb2f903 drm_sman_free_key +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x314594e0 drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32ff25c8 drm_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x33125503 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x342d3908 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35f63f8b drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a2f21a8 drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a30180e drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a8d2758 drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c9a1409 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d289d78 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d618bce drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40911aaf drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4791691d drm_get_resource_len +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47e5b0da drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x480230ff drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a4acd1d drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a4f45b2 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4be8a07e drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c26967a drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50e8e5ba drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51b3425d drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5460f61d drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x547c0f42 drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54d61c9d drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55977653 drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55cca65e drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55f060ee drm_sman_set_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56217ed2 drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5630b5c9 drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x575af9fc drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57f7dbe6 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x580830f0 drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59fd469b drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59ff4f49 drm_lock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d86bd5b drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5fcd4eb9 drm_agp_bind_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ff52fc7 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6030ca27 drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x623c8e9c drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x631e3b31 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63a293a3 drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6518c19a drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x669755c7 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66da35a5 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68dff059 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6990194a drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69cf99aa drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cffa244 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d2e5837 drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f5aa232 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fc30481 drm_mode_hsync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x701e3f89 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x718cc2ae drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7299e2ac drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76195c06 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76863e24 drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x784915eb drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78f546bc drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a1243bb drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7becf9f2 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c1fd6c8 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e5ec9ef drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x849241ac drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85de09f5 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87d6e7ef drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89721e89 drm_lock_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x899758f0 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e62d513 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e822cac drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93764b34 drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9766af6e drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x98746a54 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99d70454 drm_get_drawable_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d32d125 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d3b01a2 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa37a15f1 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa433988c drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa58849a8 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa74940a4 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa81bb222 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa963963f drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9d7e77b drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab628336 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xabb7e4db drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac051f70 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac7ffe3b drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad6f95d3 drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf29788e drm_sman_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1249a09 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb196dfa4 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1b17618 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb60a528d drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb64e4cd5 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8109826 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9517358 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc9bdf26 drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbcdb5f92 drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe3ff597 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf62f1a1 drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4ea85d8 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc71d4465 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca14e1e8 drm_i_have_hw_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcbd851bd drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd64a331 drm_core_get_reg_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdf2eff4 drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcfb4f4ef drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0535816 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd08fa3f0 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd21ad287 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3028e75 drm_sman_set_manager +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3a1f2b6 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3cd6920 drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3ffab51 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4a9e454 drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4c8a354 drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd63d6819 drm_core_get_map_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd8afc1b6 drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda52a4ea drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdcba6a5d drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd3febe2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd49095c drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde8c1af6 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf809d4e drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1457735 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe24a7b88 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5bdce7e drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe69400eb drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7052610 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe919dd5c drm_sman_owner_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe9a66b03 drm_get_resource_start +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea322a3a drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed359582 drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xedd4d5ff drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef07f86d drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf16def2f drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2777be9 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf42a2b26 drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4a65f7e drm_do_probe_ddc_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf83e3758 drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa769c65 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdaa7eeb drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdfbad19 drm_sman_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x07adfe71 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x12b5b444 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x174343bd drm_fb_helper_setcolreg +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x185bdd35 drm_fb_helper_init_crtc_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x349c9caf drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x394df66f drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x50428889 drm_helper_probe_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7b052cbd drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7b87082e drm_fb_helper_add_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7e673a32 drm_fb_helper_free +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x93642035 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9ed860f7 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa644d4cc drm_helper_hotplug_stage_two +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa67056ac drm_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa76b28f0 drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbc6151ba 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 0xc78154c9 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xce2f3b0d drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd18467a8 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe0e13584 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe7f3c07a drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xedec85f1 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf1826ed3 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfcd95f74 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfd8c1dba drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/i915/i915 0x36b09d1a intelfb_remove +EXPORT_SYMBOL drivers/gpu/drm/i915/i915 0x8ca67677 intelfb_probe +EXPORT_SYMBOL drivers/gpu/drm/i915/i915 0x938ae15c intelfb_resize +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0x1405c426 radeonfb_resize +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0x7a2f3769 radeonfb_remove +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x01c99cb0 ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0f111a83 ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1a7d4fb3 ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1ba8c0ef ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1d455396 ttm_ref_object_add +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1dab216b ttm_mem_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x261df01f ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2a074206 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2d673efd ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2e87eac2 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x35d54bb3 ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x365feb2e ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x37c55af9 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3ade5cfc ttm_base_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3b79b5f6 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3df39355 ttm_object_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3e863634 ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x44409a13 ttm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4d9b60de ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x52ba9bf0 ttm_object_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x56c42d22 ttm_suspend_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5ca5cb47 ttm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61bdb34f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x69313066 ttm_agp_backend_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x69d81dd8 ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x765cbc82 ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7f8879de ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x80807e63 ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x83878306 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x86a4066d ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8db796d4 ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8e14b57f ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x91114fc6 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x913b7875 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x97d5ca21 ttm_base_object_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x98f8f0e5 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa5437f2e ttm_base_object_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xac0e50d1 ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb13ca61c ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb17a9f94 ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb2d91509 ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb5cf2fe9 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb64dd919 ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbadc1e27 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbba2ecf9 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc00a8e96 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc2058ac0 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc3cc0f6a ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc524755f ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc64022a6 ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcbd90e38 ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcc761edf ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcf9a2b18 ttm_object_file_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdd3eedda ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe3f7a3b1 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe9cc7363 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf08835ed ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf9a2aa41 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfcce372b ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfd113d23 ttm_bo_wait +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-bit 0x0f3fd0c0 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xc157864c i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xa3d46422 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xe852d404 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pcf 0xb589c12c i2c_pcf_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x73c7ba5c amd756_smbus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x01542a0b hpsb_selfid_complete +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x04251aee hpsb_unregister_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x061f4017 hpsb_read_cycle_timer +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x06ba2667 hpsb_iso_xmit_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x07f6ab4e hpsb_get_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0b234c4e dma_prog_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0be348c4 hpsb_iso_recv_listen_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0c46a2dc hpsb_iso_recv_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x158ac548 dma_region_offset_to_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1a200e5a csr1212_release_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1be77d17 hpsb_destroy_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1caef759 hpsb_iso_wake +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1d4e1f64 hpsb_iso_xmit_sync +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x23d40200 hpsb_iso_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2a4cc36b csr1212_attach_keyval_to_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2ebf6e5a dma_prog_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x302d6c0c hpsb_get_hostinfo_bykey +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x38513a7c hpsb_make_lockpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3fad3339 hpsb_send_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x49a95dc4 csr1212_get_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4a7f927f hpsb_free_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4a9cd770 csr1212_parse_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4e5782ba dma_region_mmap +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4f5aff2a hpsb_make_lock64packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4fa20139 hpsb_get_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x54f63252 hpsb_create_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x584bcf10 hpsb_make_streampacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5f5fdd2f csr1212_new_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x64c2baa5 hpsb_node_fill_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x66209812 hpsb_register_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x672ad148 dma_region_sync_for_device +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x68b51e47 csr1212_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6cd685bc hpsb_iso_shutdown +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6e029432 hpsb_unregister_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6f35c5c7 hpsb_unregister_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7401440f hpsb_set_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x757e7a76 hpsb_iso_recv_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x76bc1a5c dma_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x78361836 hpsb_iso_recv_unlisten_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7959cd05 hpsb_iso_recv_set_channel_mask +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7b258975 hpsb_update_config_rom_image +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7b928dce hpsb_iso_xmit_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7f63be1a __hpsb_register_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8879f8f0 dma_region_sync_for_cpu +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8d3eee26 hpsb_packet_success +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8da5e80b hpsb_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8ec2b312 dma_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8f89db39 hpsb_bus_reset +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x98f25701 hpsb_alloc_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9caaab96 hpsb_iso_xmit_queue_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9f4acd06 hpsb_resume_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa369cf8d hpsb_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa5fdb5c5 hpsb_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa8a51988 hpsb_node_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xacb089eb hpsb_iso_n_ready +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xacda6e7c hpsb_lock +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaef57bb5 csr1212_detach_keyval_from_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb56b103b hpsb_iso_recv_flush +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc214a502 hpsb_protocol_class +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc44d880f hpsb_iso_recv_release_packets +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc4fd3d36 hpsb_make_writepacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc53ae4d1 hpsb_allocate_and_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcd9e772b dma_prog_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcfc529c1 hpsb_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcfe65671 hpsb_iso_stop +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd03c8f5c hpsb_set_hostinfo_key +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd3621003 hpsb_free_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd364eb95 hpsb_iso_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd4a9db64 hpsb_add_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xde516294 hpsb_remove_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe4f61ea1 hpsb_alloc_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe64e0f7a hpsb_make_readpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe8485522 hpsb_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xea4152ff dma_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xeded944d hpsb_update_config_rom +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xee171f2d hpsb_selfid_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfba57f51 hpsb_speedto_str +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfcfe4e98 hpsb_make_phypacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfd5660eb hpsb_reset_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfe08d84e hpsb_set_packet_complete_task +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x1d5aeebc ohci1394_init_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x8999a4e9 ohci1394_register_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0xc477484e ohci1394_stop_context +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0xf58bfd7e ohci1394_unregister_iso_tasklet +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x18479e37 rdma_copy_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x1a6c9b4f rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x39cd508d rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x8a721ed9 rdma_addr_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xb96ad911 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xc91bb9d3 rdma_addr_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x062d02d7 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x070963e9 ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x12483b53 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x50315afb ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x88c434d3 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x8e34c2fb ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x8e6a5d09 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x8e939067 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x953492cc ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa5ff8bbd ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb07ea6d2 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbcd014c8 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xcb9d93b7 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xdc6754c8 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe263b5b4 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf018cdec ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf2c36ebf ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x05485629 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x059cdd1d ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06830b9a ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0cf0c282 ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0ebee9cb ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14346e25 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x166031de ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1ae700e9 ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e94a1b2 ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1eb0fe14 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x312260f9 ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x346bb6c8 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3805571f ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3bd48ff6 ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3cbfe9e3 ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3db811e7 ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f7567fd ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fd5af67 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x416dd18d ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x437536c9 ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x48875294 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49d78b9f ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4ef9645f ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x54b112d4 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5894754b ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5f6b346b ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6495e295 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x64ec2878 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x683d1ad4 ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x68ec6d4f ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x694476a8 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6bf1d1cc ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6c54ffef ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d1f8e68 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d27d1a4 ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f0e2491 ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f8aff33 ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75e7579c ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8640eaeb ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87b614d8 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x894b3a87 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x908662bd ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x947e70f6 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x94ef3b93 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d804fa1 mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9f7806bf ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9fa54389 ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa57f1b70 ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa5ea8808 ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa74c1506 ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaa8a7c92 ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xad5a4ca7 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xad6093c8 ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb3606270 ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb4aca4cd ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb792dc87 ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xba3234c3 ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbb517af6 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbf2c376b ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc1b62195 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc1f99faa ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd17ba9d1 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd27797af ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdd1797dd ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe03b2bf1 ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe2c70d37 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe343a690 ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeda3535d ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf36498b9 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5e86c98 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf96fc9de ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf9a8899c ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfd530f08 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xff8c5a0a ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x0615bdb4 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x1016dc37 ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6ef787ed ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6f077fcf ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x712be06e ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x7b5d4b7a ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x81b10eb1 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x848fae62 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x85ed21d3 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x93137686 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xa9679b4d ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xbd8ab287 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xc0591fda ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xe5ca7e7e ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xf3972e29 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x05d7b6a4 ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x10db7c03 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x319d5047 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x576fdbac ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x81d580ee ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x8f19ce24 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x92ea5ae3 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x9c56fd34 ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xc86c562c ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xf520d09e ib_sa_register_client +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 0x199a1865 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x2318cdb2 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x34363c6d iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x3e77a640 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x517a1125 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x5ac0ddff iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x9f63767f iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xeecb7c94 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0054386d rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x100a19d7 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x149a1191 rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4b6e9b32 rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4fd93ac9 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5cf43d03 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6e77f8a4 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x740fe255 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x78ef3e3d rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7a0aa45c rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7e67aff7 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x94e0eaf9 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9b04025e rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa95fcc62 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcbb82174 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdf993413 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe3605bb1 rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf034bc90 rdma_set_service_type +EXPORT_SYMBOL drivers/input/gameport/gameport 0x1696e30e __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x52143bce gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x5c240a09 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x66948b79 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x72ba4b85 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0x8cefc5b6 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xa560e4a2 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xd52fc73f gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xeb250a0b gameport_unregister_port +EXPORT_SYMBOL drivers/input/input-polldev 0x0d90e2ae input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x3be2cee6 input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x59722f0a input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xc5138f6f input_allocate_polled_device +EXPORT_SYMBOL drivers/isdn/capi/capifs 0x2c54c957 capifs_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/capifs 0xd0bc06ce capifs_new_ncci +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 0x260b0572 capi_ctr_suspend_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2b8eab1f capilib_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2baa6586 capilib_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31c24aa4 capi20_isinstalled +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x3aa4d902 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x3bbb55c7 capi20_put_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47d3fc51 capi_info2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47dbfa0a capi_message2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x4a95d529 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x50b33ca4 capi_cmsg2message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x6057c6f3 capi_message2cmsg +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x62e32d43 capilib_data_b3_conf +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x71e8d5ba capilib_data_b3_req +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x73232f99 capi20_set_callback +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x788d398c capi_cmsg2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7a33596c capi20_get_serial +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7d8c86e1 capi_ctr_resume_output +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 0x9f823278 register_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xaa165d27 capilib_release_appl +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb19fda8d capi_cmd2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb60e5e5f capi_cmsg_header +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xbb4e0fe5 capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc467bdc8 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xcd4ebba1 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xdf0a2003 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe19a11ac capi20_get_profile +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe9f62f29 cdebbuf_free +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xed061606 capi20_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xf08d5d96 capi20_release +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x234e354c b1_alloc_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x36b188d8 b1_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x3ab7d620 b1_parse_version +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x44fab546 b1_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x58099a24 b1_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x6133aa4d b1_getrevision +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x649c7e68 b1_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x66c291f9 b1_load_t4file +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x6aa92530 b1ctl_read_proc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x80ebf7da avmcard_dma_free +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x836d6bd9 b1_free_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x85f09690 b1_irq_table +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x8e6a3522 b1_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xa476d07c b1_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xad3c7509 b1_loaded +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdee5773a avmcard_dma_alloc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdfd28376 b1_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xeb332f1f b1_load_config +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x1d59c0bb b1dma_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x233ca0dc b1dma_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x61867656 b1dma_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x71ceca01 b1dma_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xb57e4c36 b1dmactl_read_proc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xce2492da b1dma_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xea5f91a1 b1pciv4_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xf8888530 b1dma_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xfd087f2c b1dma_reset +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xfd39aa4e 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 0x2974ead1 DIVA_DIDD_Read +EXPORT_SYMBOL drivers/isdn/hardware/eicon/divadidd 0xad1b9446 proc_net_eicon +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x176e9bf0 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x1fc5211e mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x25e812aa mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x2c4eb2ec mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x5f66a1e9 mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x83078dc0 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x07f4f2ce hisax_unregister +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x0abb1d3c hisax_init_pcmcia +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x148f0c99 FsmFree +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x2844a899 FsmInitTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x93a64734 FsmChangeState +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x9df0cd27 FsmEvent +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xc0c558f9 FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xd94696e8 FsmDelTimer +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_isac 0x3f3b323a isac_d_l2l1 +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x5172692b isac_init +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xa4cf3eb2 isacsx_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xcfe1d3d4 isac_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xd03da89b isacsx_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xea5bf2f7 isac_irq +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x97a49df8 register_isdn +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xd7d251fb isdn_ppp_unregister_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xe3dc3eb8 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 0x01c77a07 confirm_Bsend +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x063b4f8f mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0a821c6f mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0cd1eda2 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x25fa2dc7 recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x33bc6a31 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3ea336fd mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x429129f2 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5dc7400a mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x71a12110 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x73eb61af mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7976b39e recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8c3f6c49 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x908cb9aa mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9632aba5 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x99981181 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xace35cae mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xaef6d115 bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb0916a3d mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xcd4abe5d get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xce341269 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd06b9b69 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd311b17f queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd9a7fbfd mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd9c88d00 mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xdf0958f4 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe50511f2 dchannel_senddata +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/raid6_pq 0x0bd662f6 raid6_gfmul +EXPORT_SYMBOL drivers/md/raid6_pq 0x15fe0cd3 raid6_gfexp +EXPORT_SYMBOL drivers/md/raid6_pq 0x5ba93f9d raid6_gfinv +EXPORT_SYMBOL drivers/md/raid6_pq 0xb0d904b7 raid6_empty_zero_page +EXPORT_SYMBOL drivers/md/raid6_pq 0xce45a6f1 raid6_gfexi +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0xf8746d41 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0x1668a99e mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0x0de0c47e mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x30edf27e mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x6c01f358 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0x79cc1897 qt1010_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 0xfc3ac884 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0x3bdf7033 xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x08e3da37 flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x0f251dfa flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x1aedda2e flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x275e7af6 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x3d2140c0 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x42406606 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x850f9038 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x87da956c flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x94575496 flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xb6785262 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc59a2f3b flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc8fc06e0 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd0f2f2b8 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd32eaf21 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xda5f93c9 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xdf67a347 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xdfd1aabc flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe319766e flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf23ead83 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xfbe27818 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x2aeb5986 bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x74412387 bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x7fa1ca10 bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xc9f8d763 bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x253aa5dd dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x27f7d8c8 dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x33ae4708 write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x69bf67e9 dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x72c686cf rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xa3142d6b dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xcb6ddf38 dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xef12fd14 read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xfd761997 dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0x6f02510c dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0b6167b0 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c457c5c dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c4d4a14 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c747de8 dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0db24447 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1213da02 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1f156afa dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1f1f869d dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x29390c1d dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x2d62a8c4 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x33f9fa79 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3825511f dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3fd4d1ea dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x489f644f dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x511eb6f4 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x51f3767c dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5da7f79a dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x66d9a772 dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6988f784 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x74a5a698 dvb_filter_pes2ts_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x76813e0c dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x798cdb07 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x80e3832d dvb_filter_get_ac3info +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x89d5f637 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9d0783c3 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9dbba37b dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb801e348 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xbc0d91e1 timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcb89fc7d dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcca08cb5 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcce0eeed dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcd9f0ab5 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd3455a35 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd639b9bc dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd7765e69 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd98a8606 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xef62320b dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf826deb0 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x1b87310c dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x407ed773 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x549111ae dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x6ce2ba96 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x8703f816 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xc7e0c946 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xca8eb857 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x3693500b af9005_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xd3383957 af9005_rc_keys_size +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xfd73fea6 af9005_rc_decode +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x07a312be dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x29a0eca6 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x5f451b24 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x7d380fbf dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x811cee7f dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x830349a3 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x94054190 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xc4ef0da6 dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xcc9ccaff dibusb_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xd79b2562 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xf7812cc8 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xfc55d703 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x26467d2a af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522 0xbc8aec3c au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0x02a36d27 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0x923218d3 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0x272d45f3 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0x6083ca1c cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0xb6d3385c cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0xe3b10ec4 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0xa0dce90b cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x075339ac cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x5aa2e14d cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x73e8664e dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xe049f1c2 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xf6bcbe70 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x0f4c7177 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x36e6c062 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x4025ab11 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x5cadb2c2 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x9fdd0760 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xbe7298b5 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xd8cd2267 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xbaa44a22 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xc98dafb7 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x3bf6a6b3 dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x55c4e495 dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x7254b87a dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xa60e8544 dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xdfdf7de1 dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xe08714ba dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x085b6e4e dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x3edb9179 dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x51ef6908 dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xc48cff01 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xd284be30 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x00e36c15 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x672a7896 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xcd5aeece dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xe1905694 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0xdf73bbd0 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x1c8c5dee isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0x9595f18d isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0xa92502e1 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0xa2252afe itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0x7e36839a l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0xc8494fa2 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x06f472cf lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0x8b4c9772 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xec0d2e61 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xf3203458 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0x35f0400d mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0x3f8b6e3a mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0x659f0969 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0x2ca3f43f nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0x75d6a228 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0xf1dfbeb0 or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0xbe68b9ec s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0xa7928cd3 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x893b18f0 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0xa44e0bb4 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x29f1e858 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0x5a11d0cb sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0xce2df379 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0x5bdf3808 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0xf0573d3f stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0x232a0a03 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0x125518ea stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0x7e9a138f stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0xafdcfae1 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0xa9a0a062 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0xed86260b stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0x050669bf stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0x91aae439 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x3660b97f tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0xfb3e2a87 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0xa05730a7 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0xacc1916b tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0xcda56561 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x73955abe tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0xbdf411e6 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0x1d8c550f tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0x149a3ad2 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0x2b5b1e41 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0x95ca1d85 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0x9f2cd8d4 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0x37235bb2 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0xe6f0d092 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0x19f056a0 zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xea1e1539 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x94ce69db ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0xbf096811 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x5e03eb46 bttv_get_pcidev +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 0xd8a5d871 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xf06f5357 bttv_sub_register +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x495e4b0c btcx_calc_skips +EXPORT_SYMBOL drivers/media/video/btcx-risc 0xa85383ef 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 0xde7c4335 btcx_riscmem_free +EXPORT_SYMBOL drivers/media/video/cpia 0x218eb985 cpia_unregister_camera +EXPORT_SYMBOL drivers/media/video/cpia 0xd1b61c3f cpia_register_camera +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x2f83f63f cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0xf4e0a841 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x155650f3 cx2341x_ctrl_get_menu +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 0x5b88faf6 cx2341x_ext_ctrls +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 0xe2c2b5eb cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x50b96a9c vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0xe5e08a67 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x14a9e839 cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x66fd0140 cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xa732dce7 cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xa99e757e cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xb13dd880 cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xb3a0ccf8 cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x0d7840fc cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x4d4e898b cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x6653b126 cx8802_get_device +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x8f3a7d4a cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xa7a67cb7 cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xc3594653 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xf7bb6a0c cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x00860d11 cx88_wakeup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x098a9487 cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x11260e67 cx88_core_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x16d15ebe cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x22d2636a cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x27f2d51f cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x39cd7839 cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x53e0c65f cx88_shutdown +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x59be3619 cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x740f6b50 cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7f832b96 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x8ac395ce cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x8b24d641 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x8b87c9c3 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9153534a cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9b140fff cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xa603766e cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xa6558f1f cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xac4ae13c cx88_reset +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb47f6cda cx88_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xbc1c0d40 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc38be7c4 cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xdd593fa0 cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xf4c1582d cx88_newstation +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x803d9d4c em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x9b52a023 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x10122486 gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x14458158 gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x85925d2a gspca_auto_gain_n_exposure +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xa3c31e61 gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xb79cf698 gspca_get_i_frame +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xc4c2f5c2 gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xff5cf025 gspca_suspend +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x2daf8d64 ivtv_vapi +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x328aaf7e ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x4048a547 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x4edd381b ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x562cc74e ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x717aa809 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x8301f23e ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x8cea1a93 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x9f6f45a8 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xd9ee1901 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xdb8b066a ivtv_udma_prepare +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 0x258abeab saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x2b33282d saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x40d97368 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x43ab21cd saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x4780dce6 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x5ef696e9 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x6d455358 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x7da1656c saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x7ee44b90 saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xaebf6d1c saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xdaa76b58 saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xfdee1e08 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/soc_camera 0x63717cb1 soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0x7b99773d soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0xd1d2a161 soc_camera_format_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0xdab1b5eb soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0xe3111867 soc_camera_apply_sensor_flags +EXPORT_SYMBOL drivers/media/video/tveeprom 0x36ef9f70 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/tveeprom 0x3710fb84 tveeprom_read +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x16a2915c RingQueue_Dequeue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x407a321c RingQueue_WakeUpInterruptible +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x72d5ce30 usbvideo_AllocateDevice +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x744efb34 usbvideo_TestPattern +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xb2854686 usbvideo_register +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xcd774978 usbvideo_Deregister +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xddecac6d RingQueue_Enqueue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xf03cc6f1 usbvideo_RegisterVideoDevice +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xf3074c2a usbvideo_DeinterlaceFrame +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xf5011f67 RingQueue_Flush +EXPORT_SYMBOL drivers/media/video/v4l1-compat 0xf3c587e9 v4l_compat_translate_ioctl +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x03165a85 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x0b4985d3 v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1dcaa0c8 v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1e326b97 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x2f639468 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x42c8e001 v4l2_ctrl_next +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4ed5e0d7 v4l2_chip_match_host +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x50766d69 v4l2_ctrl_query_menu_valid_items +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x76ba9a9a v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x95284709 v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9c7de443 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9eb43ee2 v4l2_ctrl_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xa1edf614 v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xbecd2858 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xd9ee1e3f v4l2_ctrl_query_menu +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x09db2b16 videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x1818ce75 videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x52f6521e videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x5f203aa3 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x7de7fdb1 videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x9b0e5809 videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videodev 0x013fa876 video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x2001c659 video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0x322a5757 video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x6fe0c2ee video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0x80a952d2 video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0x899877a0 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0x97aebee4 video_register_device_no_warn +EXPORT_SYMBOL drivers/media/video/videodev 0xbb2e28bd video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0xe092efab video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x1614552d videocodec_detach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x4e8e259b videocodec_unregister +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x9fd9c1a4 videocodec_attach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xeb068661 videocodec_register +EXPORT_SYMBOL drivers/memstick/core/memstick 0x20513fe9 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3f25aeb4 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x4e1d69c7 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5b392d71 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5d820a02 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x70e61b7b memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0x71bacaf2 memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x90810e8a memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x99c0ae61 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa5c4f45d memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa6803e7c memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xc145c619 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0xcf794ea2 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xdafb83ab memstick_resume_host +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x01783ca6 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x065538fb mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x08d3a533 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0cb0238b mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x136aab74 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1681e210 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x182f18ad mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1933c1d2 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1d936544 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x218d0fdb mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x28422892 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2fbfe95b mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x47d6e364 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4bb83eca mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x60032608 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6259f086 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7c664591 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x828f52af mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x841ffc07 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x852c47e0 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x89365c0d mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8f430e97 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9b15f6e6 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9dbc7155 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xaf73a170 mpt_free_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 0xd9a92a75 mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdbf2295c mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe03d5e3f mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf26de885 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0479144a mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x052dbafb mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x098b362b mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0a467cc2 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x27a33c7e mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x441364a8 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x58a1d805 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x63fb49f1 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x73c8f4d9 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7de12cc9 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fc0c5ce mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x82607d2b mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x871bbae7 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8847e2c2 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8c2e97fc mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x93c10eb2 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9af9cabd mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa9e5d6f3 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xac7eeb73 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xbf1ff828 mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc82d5203 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xcd83b197 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe82bcf11 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf7b471b8 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfedc6703 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xffba26a1 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0a393174 i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0c77d26e i2o_cntxt_list_get_ptr +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x24e47fa3 i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2e3d0adc i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x3383e9a6 i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x428b2ad9 i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x6a56224c i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x72d0bfa0 i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x73dc0fa1 i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x746d621a i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x85e79ca9 i2o_cntxt_list_remove +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xa9389e4e i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xaa3950d0 i2o_cntxt_list_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xaf830d47 i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb73bb859 i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xbafdc00a i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xbf8cff87 i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc1bc86f6 i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc9929944 i2o_cntxt_list_add +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd825f731 i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf3410340 i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf94e55dc i2o_event_register +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x01eae48a ab3100_event_unregister +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x020962a0 ab3100_event_registers_startup_state_get +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x4ae19175 ab3100_mask_and_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x845b791f ab3100_event_register +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x91fcb3ff ab3100_get_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x99161e3a ab3100_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xb8cc188d ab3100_get_chip_type +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xc8b5ffde ab3100_get_register_page_interruptible +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x03888060 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xa7756534 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/mfd-core 0xa6e9d06e mfd_remove_devices +EXPORT_SYMBOL drivers/mfd/mfd-core 0xb3c9a67e mfd_add_devices +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +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/c2port/core 0x4b5bee71 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0xdd74875d c2port_device_register +EXPORT_SYMBOL drivers/misc/ioc4 0x61047470 ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0xb503051b ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x34f91b95 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x3fd292ee tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x49be84bc tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x4bfa6006 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x5aad1c12 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x629a44c6 tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x97ad452b tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0xa3ea03da tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xb5e53e7a tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xc30f58a0 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xc3e19998 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xcd153284 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0xe83b805c tifm_map_sg +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0x810cb0c9 mmc_cleanup_queue +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x07a4c8dc cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x0b39bc28 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x741b19f1 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x4ac80313 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x50034f9c map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xb4cfe262 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xc9611e42 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x17a28caa mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0xe89442cc lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x443ea61d simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x4088585d add_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtd 0xe9ce2acf del_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtdconcat 0x656e5efb mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtdconcat 0x6fa1fe33 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/nand 0x6506f560 nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0x947076fd nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x68d35fec nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xb4b94377 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xf7485e59 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 0x3b6b40c6 onenand_default_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x75453508 onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x8735d33d flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xe3475f00 onenand_scan_bbt +EXPORT_SYMBOL drivers/net/8390 0x0b272a55 ei_tx_timeout +EXPORT_SYMBOL drivers/net/8390 0x18f574df ei_get_stats +EXPORT_SYMBOL drivers/net/8390 0x22760950 ei_netdev_ops +EXPORT_SYMBOL drivers/net/8390 0x51fe27ed NS8390_init +EXPORT_SYMBOL drivers/net/8390 0x778645a7 ei_poll +EXPORT_SYMBOL drivers/net/8390 0x88a7388d ei_start_xmit +EXPORT_SYMBOL drivers/net/8390 0x94346033 ei_close +EXPORT_SYMBOL drivers/net/8390 0xc78f1e90 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/8390 0xdd365790 ei_interrupt +EXPORT_SYMBOL drivers/net/8390 0xebe230c6 ei_open +EXPORT_SYMBOL drivers/net/8390 0xf8e4e5ac __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x23f86078 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x24d10627 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x288035c7 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x2e889f34 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x523d1e99 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x644d33d7 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x81460f07 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x825a28f3 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x99ee7e49 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xd789c04c arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xda069716 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x0a9d2bbb com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x65e4c1d9 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xbc6602eb com20020_found +EXPORT_SYMBOL drivers/net/bnx2 0xaab2583b bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/cnic 0x1ce01c6a cnic_register_driver +EXPORT_SYMBOL drivers/net/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x19b43e3e t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x1b83aecb dev2t3cdev +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x2d339170 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x328fe869 t3_l2t_get +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x558936c1 cxgb3_register_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x55c6aa64 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x584fae4d cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x58943279 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x6cf411f0 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x71a96f8c cxgb3_free_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x78f63c8b cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x98de952f cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x9e68e206 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x9f486cac t3_l2t_send_event +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xb4092055 t3_l2e_free +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xd0573d3b cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x08539c6f hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x3cdaad5c hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xbf2a194f hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xc526e4d6 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xd7d3706e hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x01784c59 sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x0772b1ac sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x0a96a8b4 sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x198908c8 irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x1d3fbd54 sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x2c2bd330 sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x58f0f381 sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x604bcfe3 sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x9fe8b6ea sirdev_write_complete +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xcff00e12 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/mii 0x0b3d6f09 mii_check_media +EXPORT_SYMBOL drivers/net/mii 0x16d1a53a mii_check_link +EXPORT_SYMBOL drivers/net/mii 0x8675fada mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0x91047dbe generic_mii_ioctl +EXPORT_SYMBOL drivers/net/mii 0x95ba6d44 mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0xe535195d mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0xeda16473 mii_ethtool_gset +EXPORT_SYMBOL drivers/net/mii 0xf60c0a18 mii_link_ok +EXPORT_SYMBOL drivers/net/pppox 0x4c690b81 register_pppox_proto +EXPORT_SYMBOL drivers/net/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/pppox 0xed253df1 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/pppox 0xf61e53c0 pppox_ioctl +EXPORT_SYMBOL drivers/net/sungem_phy 0x86f6be10 mii_phy_probe +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x1690460e tms380tr_netdev_ops +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x4bc5a637 tmsdev_init +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd2328794 tms380tr_wait +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd2c43b7c tms380tr_open +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd49af46e tms380tr_interrupt +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd8cabf38 tmsdev_term +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xdaafcd4d tms380tr_close +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 0x0547b23f alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x071b7e3d hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x11e6775f hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x49aa5172 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x54692f18 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x6acf9fee hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0x8b7a47a6 detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x8bbe33e0 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0xaf3bd961 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xcca85415 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd4f262f4 hdlc_close +EXPORT_SYMBOL drivers/net/wireless/airo 0x552d13a1 init_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x9107a21d stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x9180ade6 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x1e41f956 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x31219afb ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x87119a4d ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbe25b39d ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd729b160 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/atmel 0x145a9a11 atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel 0x3ed10b18 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0x70693913 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x026962d1 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0310aee2 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x06b7a41e hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x078c6eb3 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1893ce05 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1b88715a hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x20e64f2e hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x37c6d546 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x39ce6f18 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x39edfaed hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3b77221d hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3d8a54d7 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3f63852e hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4d5a50da hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4f2da7f8 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x71e6496d hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7475d94b hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x862d338e hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9396f913 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa21ead19 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa74999d2 hostap_init_ap_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 0xcdb722f8 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xcf413e6f hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xdfea68b0 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf23eff3a hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfda9dca5 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x1504708f libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x1b4de229 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x1c6c2e4c libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x1eaf0640 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x2dcc6fec free_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x303660d9 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x378f1ed8 libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x38fba418 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x463cd07c libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x57047d14 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x6296aa80 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x66415da7 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x67c30ebd libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x7655b86d libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x82754452 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xa2fab530 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb44d2303 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb870bae0 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xbd8608ea libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd35b801f libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xf6328bf7 alloc_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x07254541 iwl_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x08a18d87 iwl_tt_enter_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x08ff7c69 iwl_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0989c69f iwl_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0a728f5e iwlcore_eeprom_verify_signature +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0b71a610 iwl_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0bef6288 iwl_tx_queue_reclaim +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0d291217 iwl_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0f0fd03b iwl_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x12dffdca iwl_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x18136887 iwl_leds_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x18732723 iwl_hw_detect +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x19f0e900 iwl_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d77b399 iwl_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d871b87 iwl_rx_reply_compressed_ba +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1fa50790 iwl_verify_ucode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1ffdc605 iwl_rx_replenish +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x20eab303 iwl_set_rxon_chain +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x212fad34 iwl_setup_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x25a8038d iwl_eeprom_get_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x266ad1cd iwlcore_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x29053ec6 iwl_rxon_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x294dbfc2 iwl_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2c4e7dbf iwl_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2ca94bdb iwl_free_tfds_in_queue +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2e6de8dd iwl_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2ea17175 iwl_tt_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x30edcae4 iwl_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3275f246 iwl_disable_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x331731dc iwl_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x333dc927 iwl_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3343cda5 iwl_tx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x33445d28 iwl_rx_missed_beacon_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x34740c2e iwl_bg_scan_check +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x35ec524a iwl_reset_run_time_calib +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3d5493eb iwl_tt_exit_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3dd77416 iwl_rx_pm_sleep_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3e8e1cfd iwl_tt_handler +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3ff9b7b6 iwl_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x441a4650 iwl_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4450fbc2 iwl_find_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4492c8ec iwl_hw_txq_ctx_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x44a20960 iwl_txq_check_empty +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x48cca3fe iwl_rx_replenish_now +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x48e6d288 iwlcore_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4adf14f6 iwl_leds_register +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4b1a6b7b iwl_clear_stations_table +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x543315ed iwl_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x54f5000e iwl_send_statistics_request +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x554f6998 iwl_init_sensitivity +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x57cbf908 iwl_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5aa6ac6d iwl_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5e5618f4 iwl_tx_skb +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x60774702 iwl_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6272db3f iwl_rx_reply_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6675e675 iwl_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6792ade4 iwl_bg_abort_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x68277601 iwl_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6903b995 iwl_hwrate_to_tx_control +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6937a4de iwl_configure_filter +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6c41ee8b iwl_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6d10a27d iwl_hw_nic_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x73db38b6 iwl_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x78976e61 iwl_isr_legacy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7a50cd9a iwl_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7b6ef334 iwl_send_static_wepkey_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7bd2660e iwl_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7c65d3c7 iwl_eeprom_check_version +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7c9d09db iwl_set_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7eba0edf iwl_rf_kill_ct_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x816c27dc iwl_tx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x82788277 iwl_sensitivity_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x83dd1f5b iwl_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x84323d7d iwl_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8670273d iwl_hwrate_to_plcp_idx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x871eb493 iwl_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x89d6826b iwl_rx_pm_debug_statistics_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8b62161d iwl_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8e78cacf iwl_rx_queue_restock +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x903e1d75 iwl_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x92eef8de iwlcore_eeprom_enhanced_txpower +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9367b69d iwl_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x979ff9a5 iwl_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9b1b06a7 iwl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9be0d1a6 iwl_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9c5f31a4 iwl_txq_ctx_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9c759d9b iwl_sta_rx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9faced57 iwl_calib_set +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa4106321 iwlcore_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa445cfa2 iwl_chain_noise_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa44cee35 iwl_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa4949769 iwl_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa518492b iwl_rx_statistics +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa5c23a3b iwl_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa7468efa iwl_mac_beacon_update +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaab4db52 iwl_alloc_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaba8e45a iwl_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xabcccd7d iwl_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xade6c98a iwl_setup_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb0162e0f iwl_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb16e6cce iwl_get_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb3d3f2b7 iwl_update_tkip_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb7145388 iwl_set_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb9aa59b1 iwl_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbb8dc64f iwl_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbb8e09bf iwl_alloc_all +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbe2bcb65 iwl_rx_reply_rx_phy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbfeed2d2 iwl_activate_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc2cc2727 iwl_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc44ab89d iwl_get_free_ucode_key_index +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc4fd31e6 iwl_rx_csa +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc538a5b1 iwl_uninit_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc5ddffa9 iwl_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc776a78c iwl_init_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc7794b30 iwl_bg_scan_completed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc7ddf89a iwl_tt_exit +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc99dd303 iwl_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcb35098b iwl_rx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcbaf4931 get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcc86f5a8 iwl_mac_get_tx_stats +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xccafab6d iwl_set_hw_params +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcf5273ec iwl_get_ra_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd3b4fd6f iwlcore_eeprom_acquire_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd5e7885f iwl_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd61ed286 iwl_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd72d42c6 iwl_sta_tx_modify_enable_tid +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd8d92f41 iwl_set_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd9302ed1 iwl_free_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdad3959e iwl_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xde33f2ac iwl_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xde4f434f iwl_rate_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdf2e44e8 iwl_send_calib_results +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe09f55b0 iwl_tx_ant_restriction +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe2ec679c iwl_reset_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe619e228 iwlcore_eeprom_release_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe7ce5d70 iwl_rates +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe90f9278 iwl_remove_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe9d2ffac iwl_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xeda05aad iwl_is_monitor_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf2d68466 iwl_rxq_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf3db6b95 iwl_rx_reply_rx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf85e3341 iwl_remove_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf85e7e11 iwl_sta_rx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf976aa21 iwl_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf98bf8b2 iwl_reset_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf9ec3b6f iwl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xff9498df iwl_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfff55d20 iwl_ht_enabled +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4196c38b hermes_write_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x6501d2a0 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x6a927e18 orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x84eb5a59 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x87df0299 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x8ee1dc28 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x95cdba23 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa031d8e4 hermes_doicmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa1a1e527 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc60b5e9e hermes_bap_pwrite +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd38d8ae2 hermes_read_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd3f714e5 hermes_bap_pread +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5168829 hermes_allocate +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5336e5d hermes_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd54e219d hermes_docmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xe717ba69 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xed47b224 hermes_struct_init +EXPORT_SYMBOL drivers/parport/parport 0x0215ec48 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x041bcb1c parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x0d52f84c parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x1daec37a parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x241a5b79 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x2947ce64 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x29a02bc9 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x3d168fa7 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x3eaaf719 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x4048e90f parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x40570739 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x43eb7f87 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x50ce5119 parport_release +EXPORT_SYMBOL drivers/parport/parport 0x567af616 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x693952ab parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x6a7d7b2f parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x70cfb32c parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x76a4cb5a parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0x8e8b582f parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x93d46b7e parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x9d5eff70 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0xa0e2216e parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0xb0d9dfc3 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0xc7001878 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xc9c18a68 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xdee150c4 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xe6860dfa parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xef85a42a parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0xefdad503 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xfc2e4ae7 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xfe69ae5b parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport_pc 0xcf45a167 parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xe3aa7e7e parport_pc_unregister_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x0dfb6dab pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x2bddeb14 pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x3baf653d pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x448e58c8 pcmcia_get_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x480bf463 pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4fd033a0 pcmcia_error_func +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x549023d5 pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x8490f25e pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x9c4199c5 pcmcia_modify_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xa3fb2dc7 pcmcia_get_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xb05e4c5d pcmcia_request_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xbc55b37a pcmcia_access_configuration_register +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc0e38af9 pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc6d687cf pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc7ce2006 pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xdd65c4fa pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf0a25e12 pcmcia_error_ret +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0055c5ec pcmcia_socket_dev_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x089893ca pcmcia_replace_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0ba6bdc2 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x172ec6bd pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x189d24ca pccard_get_tuple_data +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x1e8cdbee pcmcia_resume_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x1f4a02b6 pcmcia_adjust_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x265f0bc7 pcmcia_find_mem_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x27a887ea pcmcia_insert_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2b98d8d9 pccard_get_next_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2e8d088f pccard_static_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x490b50e6 pccard_get_first_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x576c6a39 pcmcia_socket_dev_early_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5d77b759 pccard_validate_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5f42a69d pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x613e0a37 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x657a9a49 pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x78caa674 pcmcia_suspend_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7fe02acc pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8d0a6217 destroy_cis_cache +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x96f66f34 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa58738b6 pcmcia_read_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xafa27882 pcmcia_write_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb2420fe4 pcmcia_socket_dev_late_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb2cb766d release_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb2f6e098 pcmcia_validate_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc02ef2c8 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc1ab7076 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc7770b48 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc9cae055 pcmcia_eject_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xdc94ae77 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xe6c992ed pcmcia_find_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf300a5cc pcmcia_socket_dev_suspend +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xff579c70 pccard_read_tuple +EXPORT_SYMBOL drivers/pcmcia/rsrc_nonstatic 0x6ff0008e pccard_nonstatic_ops +EXPORT_SYMBOL drivers/platform/x86/sony-laptop 0x5bb1e117 sony_pic_camera_command +EXPORT_SYMBOL drivers/pps/pps_core 0x1e145952 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0xa7859d2c pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xe6a16116 pps_event +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x4d168b1b fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x849daa22 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x8cdef68b fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xbc470346 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xc5eaf4e6 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xdd4cb4e4 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xf48f6a26 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x02f884ee fc_fcp_complete +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x05ac2fa2 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x06581ba9 fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x06829a17 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x076a0909 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0af357c3 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0d6a644a fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0e1aa9bd fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1e89b531 fc_get_host_port_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1f34c1a0 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x23d7bcc2 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2f3f87b5 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x38e450c3 fc_seq_els_rsp_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4d84b5cd fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4e4971df fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x56183917 fc_destroy_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5a992a4f fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5c6ce5ad fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5e1c4e43 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x67750428 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x76635229 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7dec5eea fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7e89dec2 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x99a612ce fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa04fcaa9 fc_fcp_ddp_setup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa086d6d9 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa1452125 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xacaa9653 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaf9e09ef fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbfb26569 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc3e5d63b fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcbb7300c fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcbe26a04 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcc6bedd9 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xce97a6b8 fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd2ecab45 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd382d183 fc_exch_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd6cb3359 fc_setup_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdc3ec222 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xde048c89 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe1f6301d fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe335ad6e fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xeb6b61ba fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xedfa2b49 __fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf7365d60 fc_seq_exch_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfd52d26f fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfdba77ec fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x11311100 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x2250c66e mraid_mm_adapter_app_handle +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x512c956d mraid_mm_unregister_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x010d2654 osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x263fb76c osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x266354a6 osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2e2d8dea osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3035aca6 osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x34e7dc3d osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3aa08c4c osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4038b612 osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x53168d1e osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x5c678449 osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6434fb11 osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x71474668 osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x79bd067f osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7c1739cc osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7d10dc4e osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x811bb697 osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x839f5f87 osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8cf44704 osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x995f89e4 osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9c2f1602 osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa13c6c6f osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xaa05631c osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xaa43625d osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xac498aa9 osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xad4e07c2 osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc2830054 osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc80ae2aa osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xcf65e36f osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd6b82347 osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd8e94c9e osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xea8b0a1d osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf421e97a osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/osd 0x11bb3e0e osduld_put_device +EXPORT_SYMBOL drivers/scsi/osd/osd 0x41c83dcd osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0xf038a93a osduld_register_test +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1a553651 qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x30980b2d qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x43165783 qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x7c6b0ff3 qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xc3fc9fdd qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xdc310b12 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xfb981d3b qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/raid_class 0x68190eb6 raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0xd33820f0 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0xedc76326 raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0725e25e fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1433ac50 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x39aa8028 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3b4b2703 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4c65ca51 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5f36369c fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x939ff279 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xafec3f02 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd52764e8 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd6942034 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf27eb2da fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xfcb72d1b fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x10656e7b sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x154865bf scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1a4a8648 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1cc60632 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x23c058c1 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3158a624 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x325d1cfb sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x347ed3ff sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x41fe7981 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x46728972 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x53aa0048 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x74af1b3f sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7754f0cd sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7d9983d6 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8d4ee569 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa21e32f3 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa6c8e46c sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc24fd6ca sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc4307b21 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd1198793 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdd674a39 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf013aecc sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf5b5a48b sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfaae359e scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfcc4bec5 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xff89fc85 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x15fdee01 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x1e130a84 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x22e4aa90 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x8bcba099 spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xfd6cb7f6 spi_attach_transport +EXPORT_SYMBOL drivers/ssb/ssb 0x0831f90a ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x08b715a5 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x1079447f ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x1e744b9d ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x3c25ea66 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x4c436954 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x4d6ee1ef ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x710c7468 ssb_dma_alloc_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0xa6cbf0ac ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0xb052b1c0 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xc0447183 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xc0dc93e5 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xc6f0461a ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xc7eb942e ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xd382e400 ssb_dma_free_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe28cb7a8 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0xe4c02de8 ssb_dma_set_mask +EXPORT_SYMBOL drivers/ssb/ssb 0xf0ebb89a ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xf2e79232 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xf3536af4 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xf3751ce5 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xfa40b2a9 ssb_device_disable +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x195cf162 check_chanlist +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2c242af0 comedi_get_subdevice_runflags +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x3123c4f9 comedi_buf_write_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x491418e3 comedi_buf_read_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x4fd9d954 comedi_set_subdevice_runflags +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x56f8a5a7 comedi_reset_async_buf +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x786160f4 comedi_buf_read_n_available +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x8531c662 comedi_buf_get +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x9380a2b5 comedi_buf_memcpy_to +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x93a09c29 comedi_buf_read_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x97320e03 comedi_buf_put +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x992b10e4 comedi_event +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xaca2c440 comedi_driver_register +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xb2d558a9 comedi_driver_unregister +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xbb83f6ad comedi_buf_write_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xcb92918a comedi_error +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xe9021ffe comedi_buf_memcpy_from +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x333224f8 subdev_8255_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xb102fbe4 subdev_8255_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xb5aa36bf subdev_8255_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xf8d6c38a subdev_8255_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x4b43044a cfc_write_array_to_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0xc344be4c cfc_handle_events +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0xe6764634 cfc_read_array_from_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x08194808 mite_request_channel_in_range +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x0be10fda mite_setup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x2b65ecb3 mite_bytes_written_to_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x33436e50 mite_bytes_written_to_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x40de2a9d mite_prep_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x4fcf3649 mite_release_channel +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x5b0e4868 mite_dma_disarm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x6e070b61 mite_bytes_read_from_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x6e5e8073 mite_buf_change +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x76218982 mite_bytes_read_from_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x76e6775f mite_bytes_in_transit +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x7d74152b mite_sync_output_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x897f2949 mite_dma_arm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x95cdab7e mite_dma_tcr +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xac237ad7 mite_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xacdc8b80 mite_setup2 +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xc3da04f7 mite_get_status +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xceb7d91c mite_sync_input_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xe01674a1 mite_unsetup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xfb3ba025 mite_list_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xffdbc294 mite_done +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x73472d88 subdev_700_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x77dced41 subdev_700_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x800e19eb subdev_700_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0xe21008be subdev_700_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/pcm_common 0x54fd0d6d comedi_pcm_cmdtest +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x042d55f4 comedi_loglevel +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x0488ce0e comedi_get_n_ranges +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x0cad1c36 comedi_get_subdevice_type +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x13e3042c comedi_command +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x194eb4ae comedi_get_n_channels +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x1c5555d9 comedi_cancel +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x1ec0e2d3 comedi_get_buf_head_pos +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x22318694 comedi_set_user_int_count +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x262e9c18 comedi_dio_write +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x370d69d5 comedi_dio_read +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x3cb614fc comedi_data_write +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x3db41e4f comedi_poll +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x3de6a4a3 comedi_get_buffer_offset +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x409d3263 comedi_do_insn +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x51da786d comedi_register_callback +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x52769094 comedi_find_subdevice_by_type +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x628ed463 comedi_get_n_subdevices +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x671c2623 comedi_get_buffer_size +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x696272c9 comedi_unlock +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x826bd656 comedi_data_read_delayed +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x8e199bbf comedi_perror +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x8fb4413e comedi_data_read_hint +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x9b266320 comedi_get_krange +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x9dde39b5 comedi_strerror +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xa0334b40 comedi_get_driver_name +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xa094eab0 comedi_get_board_name +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xa7c55c52 comedi_open +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xaa456501 comedi_mark_buffer_read +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xb45b8b7b comedi_mark_buffer_written +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xb5396dad comedi_get_maxdata +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xb5c3ac2a comedi_map +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xc4ec62b3 comedi_get_len_chanlist +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xc7d949df comedi_lock +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xd2a9a259 comedi_get_version_code +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xd46a9468 comedi_dio_config +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xd48facbb comedi_command_test +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xddd89421 comedi_close +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xe2208940 comedi_data_read +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xe38c6fb4 comedi_unmap +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xed5731a4 comedi_get_subdevice_flags +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xefd0c778 comedi_fileno +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xf17e03df comedi_dio_bitfield +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xf71581db comedi_get_buffer_contents +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x15b3f68d cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x3eb4ae46 cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x471e1cfb cx25821_devlist +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x67cc5b8b cx25821_sram_channels +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x784853c3 cx25821_print_irqbits +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x91d2ff8c cx25821_sram_channel_setup +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xb82d7880 cx25821_dev_get +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xbe18dbe5 cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xd8407070 cx25821_dev_unregister +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xeb5cd569 cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xfbfad699 cx25821_sram_channel_dump +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0x253f3d14 vmbus_get_interface +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0x6730ff1e vmbus_child_driver_register +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0x91a1e345 vmbus_child_driver_unregister +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0xdf1a5ef6 vmbus_loglevel +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x151918d6 iio_device_unregister +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x19bb3244 iio_remove_event_from_list +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x2e8ef98f __iio_push_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x3f512fe9 iio_unregister_interrupt_line +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x6b43f4bd iio_register_interrupt_line +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x739ae300 iio_devt +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x77941afa iio_allocate_device +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x77a91284 iio_class +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x89b73dcf iio_read_const_attr +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xb214a551 iio_device_register +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xcb842df9 __iio_change_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xd92f55db iio_add_event_to_list +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xdaa508a5 iio_push_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xea831a6b iio_get_new_idr_val +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xf57a4aa3 iio_free_device +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xfcfb4aae iio_free_idr_val +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x350703f2 variax_create_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x35def164 pod_create_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x62664f49 variax_remove_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0xa2b2144a pod_remove_files +EXPORT_SYMBOL drivers/staging/rar/rar_driver 0xf8017f03 get_rar_address +EXPORT_SYMBOL drivers/staging/vme/vme 0x00d7e722 vme_lm_count +EXPORT_SYMBOL drivers/staging/vme/vme 0x072f901c vme_master_rmw +EXPORT_SYMBOL drivers/staging/vme/vme 0x0e10859d vme_lm_get +EXPORT_SYMBOL drivers/staging/vme/vme 0x0ec5babe vme_dma_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x1c1e7371 vme_master_request +EXPORT_SYMBOL drivers/staging/vme/vme 0x20992b00 vme_lm_request +EXPORT_SYMBOL drivers/staging/vme/vme 0x295ae576 vme_request_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0x295c6b76 vme_request_dma +EXPORT_SYMBOL drivers/staging/vme/vme 0x3f68d4cf vme_lm_set +EXPORT_SYMBOL drivers/staging/vme/vme 0x43e2f154 vme_master_read +EXPORT_SYMBOL drivers/staging/vme/vme 0x48b99a13 vme_lm_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x5c0b200d vme_bus_type +EXPORT_SYMBOL drivers/staging/vme/vme 0x5f96b85d vme_generate_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0x601e7bc4 vme_slave_request +EXPORT_SYMBOL drivers/staging/vme/vme 0x6666140f vme_dma_pci_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0x72646cc1 vme_register_bridge +EXPORT_SYMBOL drivers/staging/vme/vme 0x76bab4d4 vme_master_set +EXPORT_SYMBOL drivers/staging/vme/vme 0x7754663b vme_alloc_consistent +EXPORT_SYMBOL drivers/staging/vme/vme 0x7797a741 vme_dma_vme_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0x7cf35220 vme_master_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x880d8250 vme_new_dma_list +EXPORT_SYMBOL drivers/staging/vme/vme 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL drivers/staging/vme/vme 0x946e5eb2 vme_unregister_bridge +EXPORT_SYMBOL drivers/staging/vme/vme 0x9aeb07e8 vme_lm_attach +EXPORT_SYMBOL drivers/staging/vme/vme 0x9d279035 vme_master_write +EXPORT_SYMBOL drivers/staging/vme/vme 0xa09d045f vme_get_size +EXPORT_SYMBOL drivers/staging/vme/vme 0xaba1c4a1 vme_free_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0xc8352002 vme_dma_pattern_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0xcc5b0af0 vme_slave_set +EXPORT_SYMBOL drivers/staging/vme/vme 0xcd2c5c01 vme_dma_list_add +EXPORT_SYMBOL drivers/staging/vme/vme 0xd2f453fb vme_slot_get +EXPORT_SYMBOL drivers/staging/vme/vme 0xdf6c000d vme_dma_list_free +EXPORT_SYMBOL drivers/staging/vme/vme 0xdff905e5 vme_slave_free +EXPORT_SYMBOL drivers/staging/vme/vme 0xe60cbb2f vme_master_get +EXPORT_SYMBOL drivers/staging/vme/vme 0xe61b1e0b vme_slave_get +EXPORT_SYMBOL drivers/staging/vme/vme 0xeccbeafc vme_dma_free_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0xeda9cbaa vme_register_driver +EXPORT_SYMBOL drivers/staging/vme/vme 0xf1b1bb11 vme_free_consistent +EXPORT_SYMBOL drivers/staging/vme/vme 0xf5381a81 vme_dma_list_exec +EXPORT_SYMBOL drivers/staging/vme/vme 0xfaf9c247 vme_unregister_driver +EXPORT_SYMBOL drivers/telephony/ixj 0x40c61efd ixj_pcmcia_probe +EXPORT_SYMBOL drivers/telephony/phonedev 0x6861c3f2 phone_unregister_device +EXPORT_SYMBOL drivers/telephony/phonedev 0x93e2965b phone_register_device +EXPORT_SYMBOL drivers/usb/gadget/dummy_hcd 0x6ac227f6 usb_gadget_register_driver +EXPORT_SYMBOL drivers/usb/gadget/dummy_hcd 0x8ac78cdc net2280_set_fifo_mode +EXPORT_SYMBOL drivers/usb/gadget/dummy_hcd 0xef07c11f usb_gadget_unregister_driver +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x9ddc6a05 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/usbserial 0x4166125b usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x8739a679 usb_serial_resume +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0xc86baa7c corgibl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x0c33df67 lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x44173d99 lcd_device_unregister +EXPORT_SYMBOL drivers/video/console/bitblit 0x603bb13a fbcon_set_bitops +EXPORT_SYMBOL drivers/video/console/font 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL drivers/video/console/font 0xbb99125c get_default_font +EXPORT_SYMBOL drivers/video/console/font 0xf7584a9c find_font +EXPORT_SYMBOL drivers/video/console/softcursor 0x2e7441a9 soft_cursor +EXPORT_SYMBOL drivers/video/console/tileblit 0xedf445e5 fbcon_set_tileops +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0b899388 cyber2000fb_attach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0c3b23f1 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x72663af7 cyber2000fb_get_fb_var +EXPORT_SYMBOL drivers/video/cyber2000fb 0xaf5beef9 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/display/display 0x4a368e2d display_device_unregister +EXPORT_SYMBOL drivers/video/display/display 0x4d297708 display_device_register +EXPORT_SYMBOL drivers/video/macmodes 0x08ed0b62 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/macmodes 0x67f3d0ac mac_find_mode +EXPORT_SYMBOL drivers/video/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x3efd0081 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x66c4d744 g450_mnp2f +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0xe20fb6df matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x1bb43698 matrox_mystique +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x232f651a matrox_G100 +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xd083e88e DAC1064_global_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xf8d56be4 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_Ti3026 0x25fea07e matrox_millennium +EXPORT_SYMBOL drivers/video/matrox/matroxfb_accel 0x64202541 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x01c64582 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x6f44e40c matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x6f886bfe matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xf7374fb0 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x68509f40 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0xc7c29ca7 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x209cec96 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x3bdee0c1 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x450010c8 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x60691a1b matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xabd8e427 matroxfb_var2my +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xda94dfa9 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/output 0xb6246a13 video_output_unregister +EXPORT_SYMBOL drivers/video/output 0xda86c6dc 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 0x00d1fce9 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/svgalib 0x063d828d svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0x06b1ca12 svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0x07b3da30 svga_wseq_multi +EXPORT_SYMBOL drivers/video/svgalib 0x1b95c56a svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x63e898d1 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/svgalib 0x7a3ae959 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x80373a6d svga_tileblit +EXPORT_SYMBOL drivers/video/svgalib 0x80408443 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0x85bbada0 svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0x8fa8438b svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/svgalib 0x8fcf383d svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0xab3b22ad svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/svgalib 0xcfb8352f svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0xdad682b1 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/svgalib 0xe07aba44 svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0xec83c473 svga_match_format +EXPORT_SYMBOL drivers/video/svgalib 0xef774f5d svga_compute_pll +EXPORT_SYMBOL drivers/video/syscopyarea 0x8c65e61a sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0x50545516 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x93198ff2 sys_imageblit +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x13b00025 w1_bq27000_write +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x5be93165 w1_bq27000_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x0261b073 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x0ed22a33 w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x17543457 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x5918c1d5 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/wire 0x285f95a6 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x8dacbeee w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x9ac36368 w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xb988e1d8 w1_register_family +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x04e133fc iTCO_vendor_check_noreboot_on +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x672c9d44 iTCO_vendor_pre_keepalive +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xa78bd894 iTCO_vendor_pre_set_heartbeat +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xa8d6daac iTCO_vendor_pre_start +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xd0efe320 iTCO_vendor_pre_stop +EXPORT_SYMBOL fs/configfs/configfs 0x02b180d6 config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x07ae6098 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x31ce428c configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x6030c8ff config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0x6b64dfed configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x7935d7eb configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x7994fd20 config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0xa0683287 config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xa9468e4c config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0xb702caf3 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0xf11e92b0 config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0xf17ac4dd config_item_init +EXPORT_SYMBOL fs/fscache/fscache 0x0173969d fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x06b56372 __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x100f309e fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x128d16f0 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x1767c331 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x1854c780 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x1ec6b509 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x44917f66 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x496932b9 fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x5331ea08 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0x549dbbbd fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x63f96884 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x698a4e97 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x6ec49bee fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x82775ec1 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x94603545 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xaedc0f28 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xb504e0f5 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xb702edd9 __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xb7444b3d __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xc46b380c __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0xd3912021 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0xd9c8edd5 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0xda1693e7 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0xf11d9a9f fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0xf6ba2722 fscache_object_slow_work_ops +EXPORT_SYMBOL fs/fscache/fscache 0xf96676f0 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xfee4810d __fscache_unregister_netfs +EXPORT_SYMBOL fs/nfsd/nfsd 0x1f573533 nfs4_acl_posix_to_nfsv4 +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 0x96ce9bb4 nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0xdb389aec nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/quota/quota_tree 0x23da5e85 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x31035955 qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x7596d97d qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xaaaec9ca qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xaec9027f qtree_delete_dquot +EXPORT_SYMBOL lib/crc-ccitt 0x651c2313 crc_ccitt +EXPORT_SYMBOL lib/crc-ccitt 0x75811312 crc_ccitt_table +EXPORT_SYMBOL lib/crc-itu-t 0x276c7e62 crc_itu_t +EXPORT_SYMBOL lib/crc-itu-t 0xd29b009f crc_itu_t_table +EXPORT_SYMBOL lib/crc7 0xc086bfba crc7 +EXPORT_SYMBOL lib/crc7 0xd80c3603 crc7_syndrome_table +EXPORT_SYMBOL lib/libcrc32c 0x27000b29 crc32c +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 0xf0caf44b zlib_deflate_workspacesize +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL net/802/p8023 0x94497aa8 make_8023_client +EXPORT_SYMBOL net/802/p8023 0xe77e46ee destroy_8023_client +EXPORT_SYMBOL net/9p/9pnet 0x0b3ac49a p9pdu_dump +EXPORT_SYMBOL net/9p/9pnet 0x0c08973f p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x1221f95e p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x19cb7d2a p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x1c3b51e4 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x2160ec26 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x244c6d40 p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x2b560613 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x3c9d0405 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x3da35774 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x41e6bc51 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x4a27e92e p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x5e0ef374 p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0x61852dea p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0x683efc21 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x6c5e479c p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0x76b79bf1 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x7cbbdb91 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x85bd8fc3 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x85cfa6ec p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x906bd673 p9_client_auth +EXPORT_SYMBOL net/9p/9pnet 0x93fc0779 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0x9ec9a221 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0xaa08b09a p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xbaa17b44 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xc1c4fa03 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0xc32e8895 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0xd0af5654 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xf199a8a0 p9_client_version +EXPORT_SYMBOL net/appletalk/appletalk 0x10c8a41c atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0x9288f9b5 alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0xe2e9bf43 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0xe6fd5268 atalk_find_dev_addr +EXPORT_SYMBOL net/atm/atm 0x1a24e5e2 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0x1bf23764 atm_charge +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x365525ef atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x3677d5e7 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x40cc8ccc atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x578ca7ca register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x5d242531 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x6d1ced27 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x89195dc3 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0x8bb13886 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x8fbf011d atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0xc7ceaa7a atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0xd8ec9f67 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0xf3a08f80 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/ax25/ax25 0x21b3e63d ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x3d2d82ec ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x48bcc61a ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x5fc6280f ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x7d53f28c ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0x9124b90b ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0xa43b75e8 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0xa5bdc36c ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0xa98f05da ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xbefbf882 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xfb2f3ab0 ax25_linkfail_release +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1801ca4e hci_register_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2692eb39 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x31e2154f hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x37196c58 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x38be4b68 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x41e2fb9b bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4286719d bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4c1174e0 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6197731e bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6817fb06 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6d6dbb8d bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7094f8ae bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x789f1386 hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7aba939d bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x809fcf9a hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x83aa3b45 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8be676c5 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8cb359ac hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8e6b4a8c hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x92dbb0a2 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x96afc630 hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa0822b6d bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa38a6a71 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0xac7a48db hci_unregister_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0xafbf3b92 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc5572bca hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc6d97d1 hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd02707a4 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd84b3d9c bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd8ff822f hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe59759f0 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xebdff54d hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/l2cap 0xfc31fe88 l2cap_load +EXPORT_SYMBOL net/bridge/bridge 0xe50d9a93 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x553bccaf ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x7788a5e0 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xfbcc387a ebt_register_table +EXPORT_SYMBOL net/can/can 0x02d4fdb5 can_send +EXPORT_SYMBOL net/can/can 0x0bba0e84 can_rx_register +EXPORT_SYMBOL net/can/can 0x28340978 can_proto_register +EXPORT_SYMBOL net/can/can 0x67d56793 can_proto_unregister +EXPORT_SYMBOL net/can/can 0xdbec9d35 can_rx_unregister +EXPORT_SYMBOL net/ieee802154/nl802154 0x13dbba29 ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x611a265a ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0x7df655bb ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x8e6ceb17 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0xa54eac66 ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0xb396a357 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0xfdf1019c ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/wpan-class 0x0a291780 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/wpan-class 0x35949de6 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/wpan-class 0x58e2da69 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/wpan-class 0x6aa5a496 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/wpan-class 0xba4f2dc9 wpan_phy_alloc +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xafebb7ca arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xcc7645bd arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xe76aa56c arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x15ac9365 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x90ae89e0 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xec132b30 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x2736f279 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x48463aaf nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x54b8a63d nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x871b8688 nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x8831d4b1 nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xac8f0d8b nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xb178517e nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/tunnel4 0x6f359da1 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/tunnel4 0x767a897a xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x24559934 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x2f9fb5b5 ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb5e3959e ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb8bddf33 ip6t_ext_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xe977196c ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/tunnel6 0xda3d9ea4 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0xddbe58cd xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x9cd013f2 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xab14e193 xfrm6_tunnel_free_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xdb1b42d1 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x04da0d79 ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x079968a6 ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x0c0743e6 ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x1c5be161 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x5305a900 ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x5a09e9b2 ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x63bb2fcc ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xe06eb6cb ircomm_flow_request +EXPORT_SYMBOL net/irda/irda 0x01d1fcdb hashbin_delete +EXPORT_SYMBOL net/irda/irda 0x03811b9f irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x0570f157 irda_notify_init +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x072e026f irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x179d8af4 async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x2236f409 irlap_open +EXPORT_SYMBOL net/irda/irda 0x225e8eda irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0x2b4904f7 irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0x3462950f hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x386284dc async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +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 0x51769e61 iriap_close +EXPORT_SYMBOL net/irda/irda 0x6758f8ac irias_new_object +EXPORT_SYMBOL net/irda/irda 0x68b7447c hashbin_find +EXPORT_SYMBOL net/irda/irda 0x69fdcc84 irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x6b043eba irda_init_max_qos_capabilies +EXPORT_SYMBOL net/irda/irda 0x6d45b862 irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0x7042bc54 irlmp_register_client +EXPORT_SYMBOL net/irda/irda 0x747d6779 irias_delete_object +EXPORT_SYMBOL net/irda/irda 0x74b087e0 irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0x7621e908 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0x76243bc9 irias_insert_object +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +EXPORT_SYMBOL net/irda/irda 0x781e2db5 irias_find_object +EXPORT_SYMBOL net/irda/irda 0x7957f728 irlmp_update_client +EXPORT_SYMBOL net/irda/irda 0x7a57b6f3 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x81dac9e3 irlap_close +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0xa579e03b alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0xab77d32f irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0xb22b1540 iriap_open +EXPORT_SYMBOL net/irda/irda 0xb9394173 irias_delete_value +EXPORT_SYMBOL net/irda/irda 0xba8b76e0 proc_irda +EXPORT_SYMBOL net/irda/irda 0xbc71b7a8 irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0xbcd3ef13 irias_object_change_attribute +EXPORT_SYMBOL net/irda/irda 0xbe40ace9 irlmp_discovery_request +EXPORT_SYMBOL net/irda/irda 0xbf8e38d8 irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0xbfd58b19 irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0xc14e9b6a hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0xc93e8805 irda_device_set_media_busy +EXPORT_SYMBOL net/irda/irda 0xcacb6824 irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0xcc4e4bcc irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0xcd41236c hashbin_new +EXPORT_SYMBOL net/irda/irda 0xce6da40a irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0xd6deeaae irda_setup_dma +EXPORT_SYMBOL net/irda/irda 0xd7172ff4 hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0xd8bfb6d4 hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0xd8dc02db irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xe5260e0e irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0xec41fe7f irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xf2113a27 irttp_dup +EXPORT_SYMBOL net/irda/irda 0xf5e3607f iriap_getvaluebyclass_request +EXPORT_SYMBOL net/lapb/lapb 0x043eb774 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x17cbe3ef lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x2569838f lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x550adaef lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x7ba089a3 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0xacc57334 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0xbc3b38cc lapb_register +EXPORT_SYMBOL net/lapb/lapb 0xed8e4a42 lapb_connect_request +EXPORT_SYMBOL net/mac80211/mac80211 0x2253da27 ieee80211_get_tkip_key +EXPORT_SYMBOL net/mac80211/mac80211 0x262ee9d3 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x282bffb0 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x293c27cc ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x2a707ada ieee80211_beacon_get +EXPORT_SYMBOL net/mac80211/mac80211 0x33591947 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x338c4efb ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x34080071 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x34f37295 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x3b9225b4 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x3bb21f8d ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x3df9ca8e ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x43e46e95 ieee80211_start_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0x5491b01e ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x5abf120d ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x5be1e09b wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x5fabd608 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x62e4c586 ieee80211_stop_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0x64861ebd ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x67cf602d ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x6986bc12 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x7e322ead ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x8119482f ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x85a9e36a ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x93796c80 ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xa6e04511 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xa70ecad8 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xa8081a8c ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xaddeb969 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0xb2e4865b __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xbcccb91a ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xc0ebe3bd ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xc4898d00 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xc56b2b86 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xd5191294 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xd74a7192 ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0xe86d687b ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xe8abe42d ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xeeb6b3b1 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xeedd5952 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0xf3e959a1 ieee80211_stop_queue +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x11d3fd53 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x17b3f0d1 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x22e19e6d register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3df56b31 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x41f7697a register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x8704b7bc register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x88b78fd8 ip_vs_skb_replace +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x94b572f0 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa1dbc2d8 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb4c3af58 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe216a877 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xee55c9f8 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x09ed5c64 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x3838dcdc __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x8768b645 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x13389aa4 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x16a5e826 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x26f54539 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x43b34ccd xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x44216fcd xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x53d392fa xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x83a85b02 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x90ac01b8 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xc3ff5dff xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xe19b0679 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0xe323e44a xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xfbb7942b xt_unregister_targets +EXPORT_SYMBOL net/phonet/phonet 0x0704c0c2 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x19ce9fc5 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x1be3efc5 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x8b54e004 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x8d1df378 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x8f6221d1 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0xd357c17b phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0xe76903fa pn_sock_hash +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x05fea278 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x1e355810 rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x23bd5e88 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x2ab7fd9b rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x2ec95379 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x4f6fe782 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x6950cfbc rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x81c2df57 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x94d5e1ae rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xb226e510 rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xb3013321 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xcfdf84b6 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xdcf891e6 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xf63c29f0 rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xfee9536d rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/sunrpc/sunrpc 0x59f479c8 svc_pool_stats_open +EXPORT_SYMBOL net/tipc/tipc 0x01d79962 tipc_register_media +EXPORT_SYMBOL net/tipc/tipc 0x08acf310 tipc_available_nodes +EXPORT_SYMBOL net/tipc/tipc 0x0b074a7b tipc_multicast +EXPORT_SYMBOL net/tipc/tipc 0x10d40fcd tipc_isconnected +EXPORT_SYMBOL net/tipc/tipc 0x1472b270 tipc_disconnect +EXPORT_SYMBOL net/tipc/tipc 0x1479cb03 tipc_deleteport +EXPORT_SYMBOL net/tipc/tipc 0x15b5ecde tipc_set_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x16f27683 tipc_block_bearer +EXPORT_SYMBOL net/tipc/tipc 0x23daecbd tipc_send +EXPORT_SYMBOL net/tipc/tipc 0x259b74f9 tipc_acknowledge +EXPORT_SYMBOL net/tipc/tipc 0x310d1bc9 tipc_detach +EXPORT_SYMBOL net/tipc/tipc 0x3712e340 tipc_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x3976041f tipc_set_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x3f02410d tipc_reject_msg +EXPORT_SYMBOL net/tipc/tipc 0x419b02fc tipc_send2port +EXPORT_SYMBOL net/tipc/tipc 0x48e57b38 tipc_forward_buf2port +EXPORT_SYMBOL net/tipc/tipc 0x4b2243c6 tipc_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x538b228a tipc_withdraw +EXPORT_SYMBOL net/tipc/tipc 0x5637ed44 tipc_get_mode +EXPORT_SYMBOL net/tipc/tipc 0x56e52bc1 tipc_continue +EXPORT_SYMBOL net/tipc/tipc 0x5c0d4b5c tipc_ref_valid +EXPORT_SYMBOL net/tipc/tipc 0x5fa342e8 tipc_createport_raw +EXPORT_SYMBOL net/tipc/tipc 0x62a681a3 tipc_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0x7cbc8507 tipc_send_buf_fast +EXPORT_SYMBOL net/tipc/tipc 0x88051950 tipc_forward_buf2name +EXPORT_SYMBOL net/tipc/tipc 0x88b73627 tipc_get_addr +EXPORT_SYMBOL net/tipc/tipc 0x9c45558e tipc_enable_bearer +EXPORT_SYMBOL net/tipc/tipc 0xa1b42d32 tipc_forward2port +EXPORT_SYMBOL net/tipc/tipc 0xa8c2764d tipc_recv_msg +EXPORT_SYMBOL net/tipc/tipc 0xa936a24b tipc_get_port +EXPORT_SYMBOL net/tipc/tipc 0xaa22e861 tipc_send_buf2name +EXPORT_SYMBOL net/tipc/tipc 0xadd203d0 tipc_connect2port +EXPORT_SYMBOL net/tipc/tipc 0xae0103c3 tipc_shutdown +EXPORT_SYMBOL net/tipc/tipc 0xb1f8eacc tipc_send2name +EXPORT_SYMBOL net/tipc/tipc 0xb35b672c tipc_publish +EXPORT_SYMBOL net/tipc/tipc 0xce7da706 tipc_createport +EXPORT_SYMBOL net/tipc/tipc 0xcec8514a tipc_set_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0xcee290be tipc_forward2name +EXPORT_SYMBOL net/tipc/tipc 0xd44731e5 tipc_ownidentity +EXPORT_SYMBOL net/tipc/tipc 0xda7f9d3f tipc_attach +EXPORT_SYMBOL net/tipc/tipc 0xde2e866f tipc_send_buf +EXPORT_SYMBOL net/tipc/tipc 0xdf5008fc tipc_peer +EXPORT_SYMBOL net/tipc/tipc 0xe71f94e5 tipc_send_buf2port +EXPORT_SYMBOL net/tipc/tipc 0xe7aece47 tipc_ispublished +EXPORT_SYMBOL net/tipc/tipc 0xeefd49b3 tipc_get_handle +EXPORT_SYMBOL net/tipc/tipc 0xef50a1ef tipc_disable_bearer +EXPORT_SYMBOL net/wanrouter/wanrouter 0x036b2879 register_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wimax/wimax 0x23c23755 wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0x43d49d96 wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x03821545 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x051765c4 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x07e7ac5a ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x12eed3b9 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1e3f9687 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x23097c87 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x27649949 __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x2ad9a477 cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x2d6f82b3 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x303970f3 cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x37ac8d05 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x38270c66 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x39eb4fdc cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0x44420cbd wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x4542ff0c cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0x492582e4 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x4a30e147 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x4cb64996 cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0x58397256 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x5c5b9d5e cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x664bfa89 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6b3532b6 cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3fddc1 ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x7c8187af wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x81dc151d wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x88a895bb cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x895c06c0 cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x8bfee299 cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x8c35d732 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x96595247 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x9cce556e cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xa189dfcf cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xa6e6b112 cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0xb124e68e wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xb49e0912 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xc4e85ec5 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xc55d906d wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xca8fe14b cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xccc291b3 ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0xccf02eea wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0xe49f8244 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xf979d0f1 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xfb3fe073 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/lib80211 0x1bbff969 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x230f3ffb lib80211_crypt_deinit_handler +EXPORT_SYMBOL net/wireless/lib80211 0x264ac0f8 lib80211_crypt_deinit_entries +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x8c877de4 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x8d1d7491 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x8e671760 lib80211_crypt_quiescing +EXPORT_SYMBOL net/wireless/lib80211 0x9af551b7 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0xbb8a17ee lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0xf49a15c2 lib80211_unregister_crypto_ops +EXPORT_SYMBOL sound/ac97_bus 0xf8f9396b ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x8b477344 snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x08c19977 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 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 0x71be03e8 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 0x89947013 snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0x9cab330a snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xba1c116c snd_seq_kernel_client_enqueue_blocking +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 0x3278b576 snd_seq_device_new +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x3a57f235 snd_seq_autoload_unlock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xb90668b2 snd_seq_autoload_lock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xc622fb29 snd_seq_device_unregister_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xf3c2fd5b snd_seq_device_register_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 0x17c15809 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x4ad3f518 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x62384d3a snd_midi_event_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x8a348811 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x9df7af8b snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xc482499d snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xd9072e1a snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe6df29c7 snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x012e620d snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x04d6e4b7 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x060271d8 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x06ff859a snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x1432ff46 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x1514e213 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x15a47d8b snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x18e1683f snd_dma_program +EXPORT_SYMBOL sound/core/snd 0x191e88cf snd_dma_pointer +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x1f0439e0 snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x21b83a38 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x239970da snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x24af89ea snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x2ae3deaa release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0x2e5933bb snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3998b0cc snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0x3f1221c6 snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0x40c21b7d snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x42dd7daa snd_device_new +EXPORT_SYMBOL sound/core/snd 0x44085c85 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4f59af6a snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x51878392 snd_device_register +EXPORT_SYMBOL sound/core/snd 0x518bb7f8 copy_from_user_toio +EXPORT_SYMBOL sound/core/snd 0x5520d398 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x578b1e10 snd_card_register +EXPORT_SYMBOL sound/core/snd 0x5a133c59 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x5def3443 snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0x5e5086bc snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x66027b6c snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x71afc379 snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x71b2a89c snd_cards +EXPORT_SYMBOL sound/core/snd 0x72acd6da snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x80f153e2 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x8750eb59 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x90213d37 snd_device_free +EXPORT_SYMBOL sound/core/snd 0x9065c0b3 snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x91df0bda snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x9790e213 snd_card_free +EXPORT_SYMBOL sound/core/snd 0x983891ec snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xa387cf17 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0xa7fed0ad snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xbd54290e snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0xbe6dce37 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0xc023fd2e snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0xc5cea39f snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0xc73b84ab snd_card_create +EXPORT_SYMBOL sound/core/snd 0xca5d8a54 snd_info_register +EXPORT_SYMBOL sound/core/snd 0xd5f49463 snd_component_add +EXPORT_SYMBOL sound/core/snd 0xd8f2fcf3 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0xdd23d712 _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0xe20c9214 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0xe243dde3 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0xf5966f36 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0xfeb0a8e7 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd-hwdep 0x8c502437 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x12279bbd snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x19cc2ce3 snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x2612abbb snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0x43bfaadc snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xb124abd0 snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xc4ab3a19 snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0xc6829020 snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x040004fd snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x1683097c snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x18d53057 snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0x1a74028c snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x1f46793f snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x206512fd snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x24b8a0d2 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x29e53037 snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0x2b348e61 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x2eab6079 snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x30d0582f snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x34fce7e7 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x356a876a snd_pcm_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-pcm 0x376c41cf snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x3893f055 snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x38f41d6b snd_pcm_sgbuf_ops_page +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x46cf1c52 snd_pcm_hw_constraint_list +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 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x62d67ef9 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x67bb761e snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x69b252fe snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x75a66b25 snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0x7fe9d245 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x88cc66cc snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0x90847d7d snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x9460ab89 snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0x94fcac3a snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0x9e0e463a snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xa63ccb3f snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0xa7f51ca1 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0xacd70302 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0xaf688240 snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0xb090229e snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0xb2973a04 snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xb6ceeb17 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbea50746 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xd0b9b8b8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0xd5fce656 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xdc05be0e snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0xe3cc35a0 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0xe51a1c64 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xf2259604 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xf9ce912b snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1787e34a snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2e00af4d snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3a5600d9 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x454b9d55 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x53b448a7 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x54beb4b5 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x70aa263d snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x89b1c75c snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb7fd3abe snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xcbbca1d9 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd1637bbf snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd3a95a9e snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd479fc7e snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe827385e snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0xec5c92b0 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf5a6cf34 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xfa2ffee5 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-timer 0x03d0eb56 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x254752bd snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x5d41e132 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0x6faf941a snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x7eafbcd3 snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0x8d9517e5 snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x8dc5b226 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x9f02a328 snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0xaa42013d snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0xaeb22275 snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0xb7d8f257 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0xc4e05ffb snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0xe2134a36 snd_timer_close +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x4bbb7f27 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x9c10da48 snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc43a3940 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x1219681c snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x1d6f0a0e snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x33735df1 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x3839820b snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x89b20acf snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x8f3fb07b snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xc41cb331 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xd6ac17b5 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xef9b206d snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x3c6cb6c6 snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x433e8a4a snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x4a42185e snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x56b7d4e7 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x78eda936 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x99b88ede snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x9abe68f8 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x9dabc3c4 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xab3e9673 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xaea9272c snd_vx_load_boot_image +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x00e8c4e1 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x027fd52e snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x0e89c41f snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x165c755e snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x65222667 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x8443b0f8 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x8f651ef6 snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x9b5dd47c snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xaf6fa81d snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xb43b3462 snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xb60adcda snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xc7e3c698 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x41508940 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x4bae2a92 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x5a10576e snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xb803915a snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xe68fd919 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xf563dc16 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0xa1755e64 snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0xfc2eeab0 snd_tea575x_init +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x2d322a76 snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x4e78ff91 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x63ccc3ff snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x7a690bd1 snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xe6414ff6 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-i2c 0x024f7166 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x1819aab7 snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0x25101743 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x2dfa02c8 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x4b7901c3 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0x5df8b763 snd_i2c_readbytes +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x215c99a8 snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x394cecbb snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x47b1c563 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x6365d972 snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x8c7610b3 snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x9aeec75c snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xa4afe3e0 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xdf026940 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xe0392085 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xe9336750 snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x3088f7fb snd_sb16dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x42365acf snd_sb16dsp_configure +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xc57f5b54 snd_sb16dsp_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xfd052a53 snd_sb16dsp_get_pcm_ops +EXPORT_SYMBOL sound/oss/ad1848 0x26c427ee ad1848_detect +EXPORT_SYMBOL sound/oss/ad1848 0x55262c70 probe_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0x607f59cc ad1848_init +EXPORT_SYMBOL sound/oss/ad1848 0x720507e3 attach_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0x9bf1cc62 ad1848_unload +EXPORT_SYMBOL sound/oss/ad1848 0xb29a9148 unload_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0xc04f6f67 ad1848_control +EXPORT_SYMBOL sound/oss/mpu401 0x5febf284 unload_mpu401 +EXPORT_SYMBOL sound/oss/mpu401 0xd9ec5db4 probe_mpu401 +EXPORT_SYMBOL sound/oss/mpu401 0xee271d56 attach_mpu401 +EXPORT_SYMBOL sound/oss/sb_lib 0x42424109 sb_be_quiet +EXPORT_SYMBOL sound/oss/sb_lib 0x450f9aea smw_free +EXPORT_SYMBOL sound/oss/sb_lib 0x4ccfe4ac sb_dsp_init +EXPORT_SYMBOL sound/oss/sb_lib 0x74afd69c unload_sbmpu +EXPORT_SYMBOL sound/oss/sb_lib 0xc4884969 sb_dsp_unload +EXPORT_SYMBOL sound/oss/sb_lib 0xd8a2731c sb_dsp_detect +EXPORT_SYMBOL sound/oss/sb_lib 0xf3b6feb8 probe_sbmpu +EXPORT_SYMBOL sound/oss/sound 0x04c87ec8 compute_finetune +EXPORT_SYMBOL sound/oss/sound 0x06339815 sound_unload_synthdev +EXPORT_SYMBOL sound/oss/sound 0x0a2b8461 midi_devs +EXPORT_SYMBOL sound/oss/sound 0x0e1a0924 sound_install_mixer +EXPORT_SYMBOL sound/oss/sound 0x0f280035 conf_printf +EXPORT_SYMBOL sound/oss/sound 0x17ba231d seq_input_event +EXPORT_SYMBOL sound/oss/sound 0x1b3df3cf sound_alloc_mixerdev +EXPORT_SYMBOL sound/oss/sound 0x1f395686 MIDIbuf_avail +EXPORT_SYMBOL sound/oss/sound 0x2161d5e8 sound_timer_init +EXPORT_SYMBOL sound/oss/sound 0x2aa31695 midi_synth_kill_note +EXPORT_SYMBOL sound/oss/sound 0x394cb088 sound_free_dma +EXPORT_SYMBOL sound/oss/sound 0x3f0e15d8 synth_devs +EXPORT_SYMBOL sound/oss/sound 0x418f5fbe sound_close_dma +EXPORT_SYMBOL sound/oss/sound 0x4cd01bdd num_audiodevs +EXPORT_SYMBOL sound/oss/sound 0x4f6e5cff audio_devs +EXPORT_SYMBOL sound/oss/sound 0x4ff47e9d midi_synth_setup_voice +EXPORT_SYMBOL sound/oss/sound 0x51e354b2 sound_alloc_timerdev +EXPORT_SYMBOL sound/oss/sound 0x56504ca2 midi_synth_reset +EXPORT_SYMBOL sound/oss/sound 0x56d7aec8 sound_install_audiodrv +EXPORT_SYMBOL sound/oss/sound 0x5c8aea6d mixer_devs +EXPORT_SYMBOL sound/oss/sound 0x5d986fc9 note_to_freq +EXPORT_SYMBOL sound/oss/sound 0x7679ee76 seq_copy_to_input +EXPORT_SYMBOL sound/oss/sound 0x7bdf0907 conf_printf2 +EXPORT_SYMBOL sound/oss/sound 0x892093e0 midi_synth_controller +EXPORT_SYMBOL sound/oss/sound 0x90bd9714 sequencer_timer +EXPORT_SYMBOL sound/oss/sound 0x987bcf12 DMAbuf_outputintr +EXPORT_SYMBOL sound/oss/sound 0x9a95733f sound_alloc_dma +EXPORT_SYMBOL sound/oss/sound 0x9bdaf24d midi_synth_start_note +EXPORT_SYMBOL sound/oss/sound 0x9d845b18 num_mixers +EXPORT_SYMBOL sound/oss/sound 0xa1d5f04f load_mixer_volumes +EXPORT_SYMBOL sound/oss/sound 0xa1eae7cf num_midis +EXPORT_SYMBOL sound/oss/sound 0xa41ead5f sound_unload_timerdev +EXPORT_SYMBOL sound/oss/sound 0xa51c913b sound_unload_mixerdev +EXPORT_SYMBOL sound/oss/sound 0xa6bb414c sound_unload_mididev +EXPORT_SYMBOL sound/oss/sound 0xa948751e sound_unload_audiodev +EXPORT_SYMBOL sound/oss/sound 0xad45df73 midi_synth_close +EXPORT_SYMBOL sound/oss/sound 0xaef743b2 midi_synth_ioctl +EXPORT_SYMBOL sound/oss/sound 0xb14b22cd midi_synth_hw_control +EXPORT_SYMBOL sound/oss/sound 0xb51587f6 do_midi_msg +EXPORT_SYMBOL sound/oss/sound 0xba413f87 sound_alloc_mididev +EXPORT_SYMBOL sound/oss/sound 0xba7dd041 midi_synth_bender +EXPORT_SYMBOL sound/oss/sound 0xc748d109 sound_alloc_synthdev +EXPORT_SYMBOL sound/oss/sound 0xcab4d5bf midi_synth_load_patch +EXPORT_SYMBOL sound/oss/sound 0xcc4b8797 sound_open_dma +EXPORT_SYMBOL sound/oss/sound 0xd85be938 midi_synth_set_instr +EXPORT_SYMBOL sound/oss/sound 0xdb400afa midi_synth_panning +EXPORT_SYMBOL sound/oss/sound 0xe056b71c DMAbuf_start_dma +EXPORT_SYMBOL sound/oss/sound 0xe2675a79 sound_timer_interrupt +EXPORT_SYMBOL sound/oss/sound 0xe7147a54 sound_timer_devs +EXPORT_SYMBOL sound/oss/sound 0xeb315d99 DMAbuf_inputintr +EXPORT_SYMBOL sound/oss/sound 0xf1ea8a20 midi_synth_aftertouch +EXPORT_SYMBOL sound/oss/sound 0xf6b3a2fb midi_synth_open +EXPORT_SYMBOL sound/oss/sound 0xf78f6363 sequencer_init +EXPORT_SYMBOL sound/oss/sound 0xfa6871be sound_timer_syncinterval +EXPORT_SYMBOL sound/oss/sound 0xfddcbfb3 midi_synth_send_sysex +EXPORT_SYMBOL sound/oss/uart401 0x049cd8b7 uart401intr +EXPORT_SYMBOL sound/oss/uart401 0x8568ad36 probe_uart401 +EXPORT_SYMBOL sound/oss/uart401 0xecfdd9c9 unload_uart401 +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0910ee91 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1b3778d7 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1b41ed9a snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6e0cc209 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x70bc8119 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7115c08f snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x75784cd3 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7f85672a snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x916e2abe snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9313b9af snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x94e2fa41 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa8073da0 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb070b092 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb531df07 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe5dc8e07 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xeb3eb3f4 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xfd873bbe snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x31743777 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x7bd0b82f snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x9b405650 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xc2c97e05 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xcf3c6498 snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xd0bb9e0a snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xd5330641 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xdc0e29d1 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xf7432c20 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0x80b5117b snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x52fc594c snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x9292ca25 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xf17f3b6d snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x012b72a3 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1d9aa543 oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1fd8e490 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2ad68a39 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x457c2154 oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x58aaad0c oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x5b4f3702 oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x5b53040e oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x63f03d34 oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x90e6a81b oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9f02b7f3 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa2c0af7f oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa42da045 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa48cf7a3 oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xbb623ee2 oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd9ff9f15 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe472d2fd oxygen_pci_resume +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xecd558ed oxygen_pci_suspend +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf5b40a18 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xfbb0611b oxygen_write32 +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x06d4e9ef snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x3e9dbcfe snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x68da0971 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xa4b0a4b0 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xee26c14b snd_trident_stop_voice +EXPORT_SYMBOL sound/soc/codecs/snd-soc-uda134x 0xea85cdd5 uda134x_dai +EXPORT_SYMBOL sound/sound_firmware 0x39e3dd23 mod_firmware_load +EXPORT_SYMBOL sound/soundcore 0x06fb3be6 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x1df82141 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x49aef193 register_sound_special +EXPORT_SYMBOL sound/soundcore 0x6913b239 sound_class +EXPORT_SYMBOL sound/soundcore 0x6f49f6dc register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xaba54682 register_sound_midi +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x162035ac snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xa0493727 snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xc3e9fdd0 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xcda77f2f snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xd265b413 snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xdd8a86b5 snd_emux_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x131fbd17 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x3f835418 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x5e2a5655 snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9f2c299c snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xb9bdb5f8 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xc60284be snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xf02dfdcb __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xf39b8b68 snd_util_mem_avail +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x9c7e3221 snd_usb_create_midi_interface +EXPORT_SYMBOL sound/usb/snd-usb-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x1bb5e46f dm_mem_cache_alloc +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x1ed16c40 dm_mem_cache_client_create +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x5bf6330b dm_mem_cache_client_destroy +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x729e1a76 dm_mem_cache_free +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x920a7a41 dm_message_parse +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x96944a3d dm_mem_cache_grow +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0xa16c6711 dm_mem_cache_shrink +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x793238f1 lirc_get_pdata +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x9b2782c8 lirc_register_driver +EXPORT_SYMBOL vmlinux 0x00000000 per_cpu__softirq_work_list +EXPORT_SYMBOL vmlinux 0x0014704e fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x002852b3 locks_init_lock +EXPORT_SYMBOL vmlinux 0x002e62fd i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0x00393203 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x00474d7b netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x004bc308 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x006c5cd4 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x007e2390 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x00978af1 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x009d258f _write_lock +EXPORT_SYMBOL vmlinux 0x00adfab9 pci_restore_state +EXPORT_SYMBOL vmlinux 0x00b0983f blk_register_region +EXPORT_SYMBOL vmlinux 0x00b2fd99 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x010fc41e uart_suspend_port +EXPORT_SYMBOL vmlinux 0x0132d7ba dcache_dir_open +EXPORT_SYMBOL vmlinux 0x014b8e1c sk_wait_data +EXPORT_SYMBOL vmlinux 0x016a08fd rdmsr_on_cpus +EXPORT_SYMBOL vmlinux 0x016c29a8 open_by_devnum +EXPORT_SYMBOL vmlinux 0x0186d073 percpu_counter_set +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x01a4aab6 set_irq_chip_data +EXPORT_SYMBOL vmlinux 0x01b0bf82 register_sysrq_key +EXPORT_SYMBOL vmlinux 0x01d19038 acpi_enable_subsystem +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x0237b57a arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x0256389f bit_waitqueue +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x0272ff3d keyring_clear +EXPORT_SYMBOL vmlinux 0x029444f0 native_read_tsc +EXPORT_SYMBOL vmlinux 0x0298d368 kobject_init +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02a976f8 nf_reinject +EXPORT_SYMBOL vmlinux 0x02aff2f4 acpi_install_gpe_handler +EXPORT_SYMBOL vmlinux 0x02b0d359 mmc_request_done +EXPORT_SYMBOL vmlinux 0x02b82f04 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0x02c40853 textsearch_unregister +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02e05da7 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x02ee8c0d netif_receive_skb +EXPORT_SYMBOL vmlinux 0x032ba55e simple_write_begin +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x033631f9 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x033fdf0a bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x0340d0e1 acpi_pci_osc_control_set +EXPORT_SYMBOL vmlinux 0x0340e0ae schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x03442c61 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x034e0218 dma_pool_free +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03b01bdc xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03c54ba1 pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x04077247 journal_start +EXPORT_SYMBOL vmlinux 0x04168ae3 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x041cb456 vfs_symlink +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x047fff6e force_sig +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x04b3026e vga_client_register +EXPORT_SYMBOL vmlinux 0x04d073c5 get_io_context +EXPORT_SYMBOL vmlinux 0x04d8c750 release_perfctr_nmi +EXPORT_SYMBOL vmlinux 0x04e1b5ce kmem_cache_size +EXPORT_SYMBOL vmlinux 0x0517b727 kern_path +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x054f28b4 pcim_enable_device +EXPORT_SYMBOL vmlinux 0x055611e8 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x05601393 genphy_suspend +EXPORT_SYMBOL vmlinux 0x0568fe9a key_negate_and_link +EXPORT_SYMBOL vmlinux 0x0587956c nobh_writepage +EXPORT_SYMBOL vmlinux 0x058c2449 tty_register_driver +EXPORT_SYMBOL vmlinux 0x05b1c5ed tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x05ce3356 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x05e28d43 __first_cpu +EXPORT_SYMBOL vmlinux 0x05f41378 neigh_update +EXPORT_SYMBOL vmlinux 0x05f7cad7 alloc_etherdev_mq +EXPORT_SYMBOL vmlinux 0x06022d2a skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x06124bd5 unlock_new_inode +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x0643ba95 qdisc_list_del +EXPORT_SYMBOL vmlinux 0x067c8388 dquot_drop +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x0685d6d5 swiotlb_map_sg_attrs +EXPORT_SYMBOL vmlinux 0x068c7263 ioremap_cache +EXPORT_SYMBOL vmlinux 0x06a485f2 __krealloc +EXPORT_SYMBOL vmlinux 0x06a9a527 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x06acc8aa get_unmapped_area_prot +EXPORT_SYMBOL vmlinux 0x06d728b1 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x06fab991 alloc_pages_current +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x06fe8ef2 find_or_create_page +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x073a3e2f genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x073dfa12 generate_resume_trace +EXPORT_SYMBOL vmlinux 0x076fc4e5 generic_writepages +EXPORT_SYMBOL vmlinux 0x07824f24 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x0796125f loop_register_transfer +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x0799c50a param_set_ulong +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07ad7ea3 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x07b95dad bioset_create +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x07e06587 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x080c5546 key_task_permission +EXPORT_SYMBOL vmlinux 0x0824d939 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x0830e278 read_dev_sector +EXPORT_SYMBOL vmlinux 0x084fd1cd grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x0861931f tty_throttle +EXPORT_SYMBOL vmlinux 0x08631fa9 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0x08687f62 rfkill_blocked +EXPORT_SYMBOL vmlinux 0x086d6f66 swiotlb_dma_mapping_error +EXPORT_SYMBOL vmlinux 0x088cfd52 mutex_unlock +EXPORT_SYMBOL vmlinux 0x08b6ee3d phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x08d66a3a warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x0902d72c i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x0933aae1 efi_enabled +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x0952d527 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x098431ba acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09aaff40 md_write_end +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09db5c4c kset_unregister +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a347d61 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x0a63f40c eth_change_mtu +EXPORT_SYMBOL vmlinux 0x0a7de105 nla_put +EXPORT_SYMBOL vmlinux 0x0a9423b0 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0ae7508b scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0x0aec4ff1 sock_no_bind +EXPORT_SYMBOL vmlinux 0x0b0cedab agp_generic_type_to_mask_type +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b271877 mb_cache_shrink +EXPORT_SYMBOL vmlinux 0x0b3b5f40 pci_dev_driver +EXPORT_SYMBOL vmlinux 0x0b61bd0b security_inode_init_security +EXPORT_SYMBOL vmlinux 0x0b6c1009 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x0b6eba81 noop_qdisc +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0bc09b83 arp_create +EXPORT_SYMBOL vmlinux 0x0bd3083f alloc_hippi_dev +EXPORT_SYMBOL vmlinux 0x0bf7dbc4 wireless_spy_update +EXPORT_SYMBOL vmlinux 0x0c19a4d3 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x0c278d59 scsi_print_command +EXPORT_SYMBOL vmlinux 0x0c38207a have_submounts +EXPORT_SYMBOL vmlinux 0x0c3efe93 pnp_register_driver +EXPORT_SYMBOL vmlinux 0x0c502002 rwsem_wake +EXPORT_SYMBOL vmlinux 0x0c637b70 __blk_end_request +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c6e8beb kmem_cache_create +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0c923b7b mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x0ca7b7a8 acpi_check_region +EXPORT_SYMBOL vmlinux 0x0ca80d3b read_cache_page +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cb83f6d fb_set_suspend +EXPORT_SYMBOL vmlinux 0x0cc24803 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x0cccaa92 sget +EXPORT_SYMBOL vmlinux 0x0cd7a14f end_page_writeback +EXPORT_SYMBOL vmlinux 0x0d0456bf __kfree_skb +EXPORT_SYMBOL vmlinux 0x0d057fd1 netlink_dump_start +EXPORT_SYMBOL vmlinux 0x0d26a76d _write_lock_irq +EXPORT_SYMBOL vmlinux 0x0d3dda14 acpi_get_type +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d648f7e acpi_unlock_ac_dir +EXPORT_SYMBOL vmlinux 0x0d8251df mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x0d9e36e6 misc_deregister +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0dbf8cda splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x0dc56514 __nla_put +EXPORT_SYMBOL vmlinux 0x0dccfd57 dcache_dir_close +EXPORT_SYMBOL vmlinux 0x0e1ce6a9 acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0x0e20e5d4 framebuffer_release +EXPORT_SYMBOL vmlinux 0x0e2ed6e6 __nla_reserve +EXPORT_SYMBOL vmlinux 0x0e34944a blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0x0e52592a panic +EXPORT_SYMBOL vmlinux 0x0e610cfc pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x0e6248ab ip6_route_output +EXPORT_SYMBOL vmlinux 0x0e73c19b journal_lock_updates +EXPORT_SYMBOL vmlinux 0x0e83fea1 del_timer_sync +EXPORT_SYMBOL vmlinux 0x0e8eb347 serio_open +EXPORT_SYMBOL vmlinux 0x0ecc21df dma_supported +EXPORT_SYMBOL vmlinux 0x0ecfb721 ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x0f01e39d ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x0f0c57eb pci_iounmap +EXPORT_SYMBOL vmlinux 0x0f10ae66 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x0f1ef871 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x0f233373 __scsi_put_command +EXPORT_SYMBOL vmlinux 0x0f96f0e1 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x0f9bfadd genphy_read_status +EXPORT_SYMBOL vmlinux 0x0faf0e4e generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x0fc5e8eb radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0x0fcab50e blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x0fd00a68 acpi_clear_event +EXPORT_SYMBOL vmlinux 0x0ff09672 take_over_console +EXPORT_SYMBOL vmlinux 0x0ff2b602 slhc_compress +EXPORT_SYMBOL vmlinux 0x0ffa8131 genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0x10023be8 audit_log_start +EXPORT_SYMBOL vmlinux 0x10196393 ip_ct_attach +EXPORT_SYMBOL vmlinux 0x102928f4 lease_modify +EXPORT_SYMBOL vmlinux 0x103f1c8d __scm_send +EXPORT_SYMBOL vmlinux 0x104d79b8 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0x1055423e bioset_integrity_free +EXPORT_SYMBOL vmlinux 0x105e2727 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x1072a394 csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x107d5757 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x10870401 sock_wfree +EXPORT_SYMBOL vmlinux 0x108e8985 param_get_uint +EXPORT_SYMBOL vmlinux 0x109018ca dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x10ae4424 make_EII_client +EXPORT_SYMBOL vmlinux 0x10ba6571 nf_register_hook +EXPORT_SYMBOL vmlinux 0x10de57ac skb_store_bits +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x1106dbe9 should_remove_suid +EXPORT_SYMBOL vmlinux 0x1113c9e0 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x114ed1ce schedule_work_on +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x116c586a dquot_alloc +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x1181084f splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x1194b712 xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0x119863a3 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x11a18b14 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x11b2c3b7 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x11c0586b xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x122106a3 elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x1221f5bf __inet6_hash +EXPORT_SYMBOL vmlinux 0x12368737 iunique +EXPORT_SYMBOL vmlinux 0x1265b3ed xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x1269c76c compat_nf_setsockopt +EXPORT_SYMBOL vmlinux 0x126fa576 skb_gso_segment +EXPORT_SYMBOL vmlinux 0x12860698 input_free_device +EXPORT_SYMBOL vmlinux 0x129bb39e bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x12b0ca39 dst_destroy +EXPORT_SYMBOL vmlinux 0x12d0fd87 swiotlb_map_sg +EXPORT_SYMBOL vmlinux 0x12e4d315 netif_rx_ni +EXPORT_SYMBOL vmlinux 0x12f10736 udplite_table +EXPORT_SYMBOL vmlinux 0x12f2b4be d_prune_aliases +EXPORT_SYMBOL vmlinux 0x12fe7dcb dentry_unhash +EXPORT_SYMBOL vmlinux 0x13253ac9 pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x134019cb directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0x134816fa kset_register +EXPORT_SYMBOL vmlinux 0x135c2168 make_bad_inode +EXPORT_SYMBOL vmlinux 0x136ab238 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x1378e714 acpi_video_display_switch_support +EXPORT_SYMBOL vmlinux 0x138a78d1 set_current_groups +EXPORT_SYMBOL vmlinux 0x13d08da4 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x13e5019d scsi_host_set_state +EXPORT_SYMBOL vmlinux 0x13f14cb3 bio_pair_release +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x14105c88 bdput +EXPORT_SYMBOL vmlinux 0x1430e6e0 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x143ed8d9 generic_setlease +EXPORT_SYMBOL vmlinux 0x143f79d7 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x14af0cf7 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x15592650 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x1562831d inet_addr_type +EXPORT_SYMBOL vmlinux 0x1577d989 bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x15801eda input_set_capability +EXPORT_SYMBOL vmlinux 0x15ac1ccc cad_pid +EXPORT_SYMBOL vmlinux 0x15c4ebb4 current_fs_time +EXPORT_SYMBOL vmlinux 0x15c53306 mdiobus_free +EXPORT_SYMBOL vmlinux 0x15e8ac92 journal_ack_err +EXPORT_SYMBOL vmlinux 0x15ef2dd9 kfifo_free +EXPORT_SYMBOL vmlinux 0x160ea4c8 sfi_disabled +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x163c5e39 twl4030_i2c_read +EXPORT_SYMBOL vmlinux 0x1675606f bad_dma_address +EXPORT_SYMBOL vmlinux 0x167aae04 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x167e7f9d __get_user_1 +EXPORT_SYMBOL vmlinux 0x16913840 llc_sap_close +EXPORT_SYMBOL vmlinux 0x1691f558 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x169a6438 bioset_free +EXPORT_SYMBOL vmlinux 0x16b44c44 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x16eaa758 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x170c25ee acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x175b816c dquot_free_space +EXPORT_SYMBOL vmlinux 0x178d5adf node_data +EXPORT_SYMBOL vmlinux 0x17a7204d xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x17bca877 phy_connect +EXPORT_SYMBOL vmlinux 0x17c115ae scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x17c31930 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x17c4f5e1 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x17c85a66 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x17d0ef2d set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x17ff4469 bitmap_unplug +EXPORT_SYMBOL vmlinux 0x181900d4 tcf_action_exec +EXPORT_SYMBOL vmlinux 0x181b6ff2 mempool_resize +EXPORT_SYMBOL vmlinux 0x1823af9b skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL vmlinux 0x18602107 scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x18688c9f tcp_connect +EXPORT_SYMBOL vmlinux 0x186d64a4 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x18771395 blk_get_request +EXPORT_SYMBOL vmlinux 0x188eaa57 vm_map_ram +EXPORT_SYMBOL vmlinux 0x189b6bac memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x18ac8118 simple_release_fs +EXPORT_SYMBOL vmlinux 0x18b72573 register_kmmio_probe +EXPORT_SYMBOL vmlinux 0x18baa56a blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x18c93935 napi_skb_finish +EXPORT_SYMBOL vmlinux 0x18cc50e1 k8_northbridges +EXPORT_SYMBOL vmlinux 0x18e8401d proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x18f346f6 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x18fdec86 alloc_fddidev +EXPORT_SYMBOL vmlinux 0x190c3d2b dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x1924fc98 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x19377a59 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x19391763 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x1943386e journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x19723ba3 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x1976bc16 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x1985ed3c prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19b4bb0a dm_table_unplug_all +EXPORT_SYMBOL vmlinux 0x19cbf9ba kmem_cache_name +EXPORT_SYMBOL vmlinux 0x19d15fda tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x19d5d20a acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0x1a218de6 fb_show_logo +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a75caa3 _read_lock +EXPORT_SYMBOL vmlinux 0x1a788a27 tcf_hash_create +EXPORT_SYMBOL vmlinux 0x1a893cb6 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x1a8a845e idle_nomwait +EXPORT_SYMBOL vmlinux 0x1abe5069 simple_write_end +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1afec1b6 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b0c7ebd backlight_force_update +EXPORT_SYMBOL vmlinux 0x1b59306c sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x1b5e6e54 ethtool_op_set_tx_hw_csum +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b753783 kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x1b89419f add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b9981cc set_irq_wake +EXPORT_SYMBOL vmlinux 0x1b9c88a5 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1ba4cf1f nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x1bade9ea uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x1baf36cb inode_needs_sync +EXPORT_SYMBOL vmlinux 0x1bcc1369 pipe_lock +EXPORT_SYMBOL vmlinux 0x1bd53af4 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0x1c1af916 set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x1c5f1281 d_alloc_name +EXPORT_SYMBOL vmlinux 0x1c61d98e sock_release +EXPORT_SYMBOL vmlinux 0x1c6c95f0 pci_get_slot +EXPORT_SYMBOL vmlinux 0x1c8a04b0 acpi_reset +EXPORT_SYMBOL vmlinux 0x1c8a5d6b default_file_splice_read +EXPORT_SYMBOL vmlinux 0x1c94b464 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x1cb01d7b dquot_claim_space +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1ccc8a2b set_page_dirty +EXPORT_SYMBOL vmlinux 0x1cefe352 wait_for_completion +EXPORT_SYMBOL vmlinux 0x1cfdffdf pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x1d0a33d5 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x1d2b6b8a journal_start_commit +EXPORT_SYMBOL vmlinux 0x1d2e87c6 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x1d354324 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x1d66722a ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x1d6d1737 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x1da550f1 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x1db7706b __copy_user_nocache +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dca153d bio_endio +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1de7fa1c dev_gro_receive +EXPORT_SYMBOL vmlinux 0x1dffd862 dma_pool_create +EXPORT_SYMBOL vmlinux 0x1e0125de d_delete +EXPORT_SYMBOL vmlinux 0x1e0c2be4 ioremap_wc +EXPORT_SYMBOL vmlinux 0x1e2e427f cpumask_next_and +EXPORT_SYMBOL vmlinux 0x1e41a689 writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x1e49255a iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0x1e66f167 pci_match_id +EXPORT_SYMBOL vmlinux 0x1e684874 thaw_bdev +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e72b042 complete_request_key +EXPORT_SYMBOL vmlinux 0x1e9e1211 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x1ea59331 __ps2_command +EXPORT_SYMBOL vmlinux 0x1eca9935 nf_ct_attach +EXPORT_SYMBOL vmlinux 0x1ee31fa9 sock_no_accept +EXPORT_SYMBOL vmlinux 0x1efe283f __cap_full_set +EXPORT_SYMBOL vmlinux 0x1f0768db input_unregister_device +EXPORT_SYMBOL vmlinux 0x1f2d78f7 pci_clear_master +EXPORT_SYMBOL vmlinux 0x1f41f9e7 pci_get_class +EXPORT_SYMBOL vmlinux 0x1f75e552 pnp_stop_dev +EXPORT_SYMBOL vmlinux 0x1f7f72d6 inet_frag_evictor +EXPORT_SYMBOL vmlinux 0x1fae143d jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x1fb929a1 qdisc_reset +EXPORT_SYMBOL vmlinux 0x1fe99a03 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x1fedf0f4 __request_region +EXPORT_SYMBOL vmlinux 0x1ff19ae9 get_phy_device +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 0x200effc8 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x20385c58 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x204857ac proc_dostring +EXPORT_SYMBOL vmlinux 0x204ce359 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x208739f6 acpi_load_table +EXPORT_SYMBOL vmlinux 0x20a1bc75 vfs_dq_drop +EXPORT_SYMBOL vmlinux 0x20eadeb6 ip_compute_csum +EXPORT_SYMBOL vmlinux 0x20f9322a idr_pre_get +EXPORT_SYMBOL vmlinux 0x212983e7 d_path +EXPORT_SYMBOL vmlinux 0x2158f747 i2c_master_recv +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x2175bb21 __napi_schedule +EXPORT_SYMBOL vmlinux 0x21945706 sk_dst_check +EXPORT_SYMBOL vmlinux 0x21b91839 ndisc_build_skb +EXPORT_SYMBOL vmlinux 0x21bd42c1 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x21c0be6f jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x21d50a51 tcf_hash_release +EXPORT_SYMBOL vmlinux 0x21dbff4b compat_sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x21e0ea22 acpi_get_id +EXPORT_SYMBOL vmlinux 0x21e5679c copy_user_generic +EXPORT_SYMBOL vmlinux 0x21e56b79 serio_rescan +EXPORT_SYMBOL vmlinux 0x22136fcc pagevec_lookup +EXPORT_SYMBOL vmlinux 0x2215c9e6 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x2232cc29 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x22473289 km_report +EXPORT_SYMBOL vmlinux 0x2259a882 bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x226d4cd2 unload_nls +EXPORT_SYMBOL vmlinux 0x226e86a9 audit_log +EXPORT_SYMBOL vmlinux 0x2286a483 elv_queue_empty +EXPORT_SYMBOL vmlinux 0x2288378f system_state +EXPORT_SYMBOL vmlinux 0x22a73912 __tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22b451a8 alloc_trdev +EXPORT_SYMBOL vmlinux 0x22b6533b xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x22da294a sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x22da6e16 mdiobus_register +EXPORT_SYMBOL vmlinux 0x22e87bcd arp_find +EXPORT_SYMBOL vmlinux 0x2310a731 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x232170c4 inode_setattr +EXPORT_SYMBOL vmlinux 0x23269a13 strict_strtoul +EXPORT_SYMBOL vmlinux 0x233c22cc simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x234509f3 strncat +EXPORT_SYMBOL vmlinux 0x23498e11 agp_generic_alloc_pages +EXPORT_SYMBOL vmlinux 0x235d16e0 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x236c8c64 memcpy +EXPORT_SYMBOL vmlinux 0x23b99e92 node_states +EXPORT_SYMBOL vmlinux 0x23c8f257 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x240fa3c9 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x244695f9 __locks_copy_lock +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x24624544 ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x24679122 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x24686293 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x24a96205 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0x24cc5485 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x24d3f093 dev_driver_string +EXPORT_SYMBOL vmlinux 0x24e4bb01 down_write_trylock +EXPORT_SYMBOL vmlinux 0x24ead54f udp_sendmsg +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x2501563d simple_lookup +EXPORT_SYMBOL vmlinux 0x25098555 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x254a4fe5 unlock_super +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258355b4 fb_find_best_mode +EXPORT_SYMBOL vmlinux 0x258a32ec tcf_hash_search +EXPORT_SYMBOL vmlinux 0x259d0854 security_task_getsecid +EXPORT_SYMBOL vmlinux 0x25e1bbfc try_to_release_page +EXPORT_SYMBOL vmlinux 0x25ec1b28 strlen +EXPORT_SYMBOL vmlinux 0x25ef726e md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x26126a4b call_usermodehelper_freeinfo +EXPORT_SYMBOL vmlinux 0x26513c12 register_console +EXPORT_SYMBOL vmlinux 0x266c7f28 uart_register_driver +EXPORT_SYMBOL vmlinux 0x266e5f40 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x267fc65b __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x26800b88 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x2685c3d7 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x26c8dd88 tcp4_gro_complete +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x2727da5d _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x272d394e mtrr_del +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x278a7b10 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x27ad7d2c tcp_poll +EXPORT_SYMBOL vmlinux 0x27aeea2b set_security_override +EXPORT_SYMBOL vmlinux 0x27b35c51 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c33efe csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x27c61ece qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x27d298ee setup_arg_pages +EXPORT_SYMBOL vmlinux 0x27d52d5c blk_requeue_request +EXPORT_SYMBOL vmlinux 0x27edd326 skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x2804ea8f __free_pages +EXPORT_SYMBOL vmlinux 0x282205a3 dev_remove_pack +EXPORT_SYMBOL vmlinux 0x28278703 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x284187c3 lro_vlan_hwaccel_receive_skb +EXPORT_SYMBOL vmlinux 0x28475687 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x28495076 misc_register +EXPORT_SYMBOL vmlinux 0x2849f477 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x285135e6 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x285ac517 strict_strtoll +EXPORT_SYMBOL vmlinux 0x28760b98 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x2876a6d3 memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28b530df bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x28b91404 __alloc_skb +EXPORT_SYMBOL vmlinux 0x28daa2f6 lro_flush_all +EXPORT_SYMBOL vmlinux 0x290ff5f2 mmc_release_host +EXPORT_SYMBOL vmlinux 0x292093f4 native_rdmsr_safe_regs +EXPORT_SYMBOL vmlinux 0x2931df20 unlock_buffer +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x295b9a4b i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0x296a21d7 ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x297305f6 vfs_dq_transfer +EXPORT_SYMBOL vmlinux 0x2997f4ea tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x29bd4c46 __cap_init_eff_set +EXPORT_SYMBOL vmlinux 0x29d01745 ip_dev_find +EXPORT_SYMBOL vmlinux 0x29efe000 pcim_iomap +EXPORT_SYMBOL vmlinux 0x2a09737f remove_proc_entry +EXPORT_SYMBOL vmlinux 0x2a0a80f0 blk_run_queue +EXPORT_SYMBOL vmlinux 0x2a1f81f0 generic_readlink +EXPORT_SYMBOL vmlinux 0x2a25ca34 inet_frag_find +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a3720f6 __breadahead +EXPORT_SYMBOL vmlinux 0x2a3a5158 tcf_exts_change +EXPORT_SYMBOL vmlinux 0x2a3c57ef neigh_destroy +EXPORT_SYMBOL vmlinux 0x2a53fa0b journal_check_used_features +EXPORT_SYMBOL vmlinux 0x2a62bba9 get_sb_ns +EXPORT_SYMBOL vmlinux 0x2a9df173 generic_setxattr +EXPORT_SYMBOL vmlinux 0x2ab5633d netlink_ack +EXPORT_SYMBOL vmlinux 0x2ae232ad vc_resize +EXPORT_SYMBOL vmlinux 0x2aeb2800 mempool_create_node +EXPORT_SYMBOL vmlinux 0x2b006994 netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b2392a6 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x2b34b998 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x2b368814 swiotlb_dma_supported +EXPORT_SYMBOL vmlinux 0x2b3d51a6 get_phy_id +EXPORT_SYMBOL vmlinux 0x2b4a09cd tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x2b5cb285 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x2b6cd28e scsi_device_resume +EXPORT_SYMBOL vmlinux 0x2b92e326 blk_plug_device +EXPORT_SYMBOL vmlinux 0x2ba1d9e0 fb_set_var +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bb55d6e acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x2bb6fde2 __kfifo_put +EXPORT_SYMBOL vmlinux 0x2bbd9724 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x2bed8b4e sk_stream_write_space +EXPORT_SYMBOL vmlinux 0x2bfeb410 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x2c182cf8 compat_ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x2c23f3b4 simple_rmdir +EXPORT_SYMBOL vmlinux 0x2c271bdd tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x2c445b05 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x2c5749e6 acpi_clear_gpe +EXPORT_SYMBOL vmlinux 0x2c599cfc pci_disable_device +EXPORT_SYMBOL vmlinux 0x2c5fe1aa scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x2c985869 names_cachep +EXPORT_SYMBOL vmlinux 0x2ca1c669 __page_symlink +EXPORT_SYMBOL vmlinux 0x2cbf5cb6 file_fsync +EXPORT_SYMBOL vmlinux 0x2ccbc935 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x2d43e70e swiotlb_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x2d47717f scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0x2d5528c9 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x2d6c66a9 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2da28dce serial8250_register_port +EXPORT_SYMBOL vmlinux 0x2dbafbe3 pcibios_align_resource +EXPORT_SYMBOL vmlinux 0x2dca6243 ether_setup +EXPORT_SYMBOL vmlinux 0x2dd16564 arch_register_cpu +EXPORT_SYMBOL vmlinux 0x2de0ba4b bio_free +EXPORT_SYMBOL vmlinux 0x2de89f56 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x2dedc4c2 acpi_format_exception +EXPORT_SYMBOL vmlinux 0x2def7f76 rtc_cmos_write +EXPORT_SYMBOL vmlinux 0x2df43276 dev_mc_add +EXPORT_SYMBOL vmlinux 0x2e005dd1 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x2e03e143 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0x2e06111d cpu_present_mask +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e308acb mmc_host_disable +EXPORT_SYMBOL vmlinux 0x2e4a39f8 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x2e599889 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x2e6a51c2 ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0x2e78088c truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x2e9183f4 tc_classify +EXPORT_SYMBOL vmlinux 0x2e97a729 idr_remove +EXPORT_SYMBOL vmlinux 0x2ea75160 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x2ea8f7b6 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x2eb9a0e8 _read_lock_irq +EXPORT_SYMBOL vmlinux 0x2ed2b791 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x2f10fa6d pci_do_scan_bus +EXPORT_SYMBOL vmlinux 0x2f1791a8 ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x2f1801cc input_unfilter_device +EXPORT_SYMBOL vmlinux 0x2f352f95 icmp_send +EXPORT_SYMBOL vmlinux 0x2f4e42f8 call_usermodehelper_setfns +EXPORT_SYMBOL vmlinux 0x2f7fbcc2 vfs_statfs +EXPORT_SYMBOL vmlinux 0x2f9877ca scsi_register +EXPORT_SYMBOL vmlinux 0x2f9905c0 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x2fa5a500 memcmp +EXPORT_SYMBOL vmlinux 0x2fa94957 cfb_copyarea +EXPORT_SYMBOL vmlinux 0x2fc52982 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0x2fd1d7ad __blk_end_request_all +EXPORT_SYMBOL vmlinux 0x2ff063b5 acpi_get_name +EXPORT_SYMBOL vmlinux 0x30123eb5 icmpv6_statistics +EXPORT_SYMBOL vmlinux 0x30226ddf agp_device_command +EXPORT_SYMBOL vmlinux 0x306ea15f security_file_permission +EXPORT_SYMBOL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL vmlinux 0x309ea809 journal_wipe +EXPORT_SYMBOL vmlinux 0x30bb765e elv_rb_find +EXPORT_SYMBOL vmlinux 0x30c5e4e5 load_nls_default +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30fa6542 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x30ff8206 sock_i_ino +EXPORT_SYMBOL vmlinux 0x30ffe1f7 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x310245bf pci_find_capability +EXPORT_SYMBOL vmlinux 0x31121fe1 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x31445261 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x317fbf4d bio_unmap_user +EXPORT_SYMBOL vmlinux 0x3186c922 journal_get_create_access +EXPORT_SYMBOL vmlinux 0x318e0d53 journal_dirty_data +EXPORT_SYMBOL vmlinux 0x31941e95 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x3199b435 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x319a7d71 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x31afbb5a lookup_bdev +EXPORT_SYMBOL vmlinux 0x31b31f5c csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x31de3976 clip_tbl_hook +EXPORT_SYMBOL vmlinux 0x31e76b57 recalibrate_cpu_khz +EXPORT_SYMBOL vmlinux 0x31ebadcd in_group_p +EXPORT_SYMBOL vmlinux 0x31f12a0b tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x32015c9a __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x320e567e dquot_initialize +EXPORT_SYMBOL vmlinux 0x322eaff7 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x3236cc8d nf_log_register +EXPORT_SYMBOL vmlinux 0x3285cc48 param_set_uint +EXPORT_SYMBOL vmlinux 0x328b09ef sock_no_connect +EXPORT_SYMBOL vmlinux 0x328bd7ce set_pages_array_wb +EXPORT_SYMBOL vmlinux 0x32a5d712 scsi_device_put +EXPORT_SYMBOL vmlinux 0x32e8b5f2 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x32f48972 bio_map_kern +EXPORT_SYMBOL vmlinux 0x33325024 dquot_destroy +EXPORT_SYMBOL vmlinux 0x33723412 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0x338a5d85 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x338e0a94 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x33923ad5 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x339e93ab thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page +EXPORT_SYMBOL vmlinux 0x33ccdbc9 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x33d92f9a prepare_to_wait +EXPORT_SYMBOL vmlinux 0x342c6161 seq_read +EXPORT_SYMBOL vmlinux 0x3457cb68 param_set_long +EXPORT_SYMBOL vmlinux 0x348f1ebb tty_kref_put +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a3da5d tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x34b1a873 rfkill_unregister +EXPORT_SYMBOL vmlinux 0x34cbcf38 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x3506ff98 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x351b9245 find_inode_number +EXPORT_SYMBOL vmlinux 0x352acc59 vm_insert_page +EXPORT_SYMBOL vmlinux 0x35370a79 scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0x3540685f tty_write_room +EXPORT_SYMBOL vmlinux 0x357a6a68 release_firmware +EXPORT_SYMBOL vmlinux 0x357beb40 sock_setsockopt +EXPORT_SYMBOL vmlinux 0x3582ed17 vfs_stat +EXPORT_SYMBOL vmlinux 0x35aca67b disk_stack_limits +EXPORT_SYMBOL vmlinux 0x35b0650f vsnprintf +EXPORT_SYMBOL vmlinux 0x35bb63d5 security_path_rename +EXPORT_SYMBOL vmlinux 0x35c2ba9e refrigerator +EXPORT_SYMBOL vmlinux 0x35cbd155 get_fs_type +EXPORT_SYMBOL vmlinux 0x36058d52 pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x360df0e8 tcf_hash_check +EXPORT_SYMBOL vmlinux 0x36139a51 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x362d13a2 arp_broken_ops +EXPORT_SYMBOL vmlinux 0x36346065 udp_prot +EXPORT_SYMBOL vmlinux 0x364e987b simple_set_mnt +EXPORT_SYMBOL vmlinux 0x3656bf5a lock_kernel +EXPORT_SYMBOL vmlinux 0x367fa6bb ethtool_op_set_tso +EXPORT_SYMBOL vmlinux 0x3681ef0a ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL vmlinux 0x369ab685 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x36cc5d18 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x36e2a902 write_inode_now +EXPORT_SYMBOL vmlinux 0x36e6596a posix_acl_permission +EXPORT_SYMBOL vmlinux 0x36ffcadb scsi_ioctl +EXPORT_SYMBOL vmlinux 0x3701a196 csum_partial_copy_to_user +EXPORT_SYMBOL vmlinux 0x370961e2 kill_pid +EXPORT_SYMBOL vmlinux 0x37237d01 vfs_quota_disable +EXPORT_SYMBOL vmlinux 0x3726de7f tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x372baafb get_super +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x374ffc99 pv_cpu_ops +EXPORT_SYMBOL vmlinux 0x375107cc inode_get_bytes +EXPORT_SYMBOL vmlinux 0x375450f4 alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x375465a7 radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x3791d650 pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0x3796cb8f eth_mac_addr +EXPORT_SYMBOL vmlinux 0x37bdc039 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37cbfe63 check_disk_size_change +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x38119ddc seq_release +EXPORT_SYMBOL vmlinux 0x3824b191 jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0x383eb3f8 dm_table_event +EXPORT_SYMBOL vmlinux 0x3842f1c4 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x384d5b13 ip_mc_rejoin_group +EXPORT_SYMBOL vmlinux 0x384de3c1 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x3859349b agp_generic_alloc_page +EXPORT_SYMBOL vmlinux 0x386897e0 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x387b2072 block_read_full_page +EXPORT_SYMBOL vmlinux 0x3882fc47 pci_find_device +EXPORT_SYMBOL vmlinux 0x38831846 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x388dbbea __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38aacb00 bd_set_size +EXPORT_SYMBOL vmlinux 0x38b92846 llc_remove_pack +EXPORT_SYMBOL vmlinux 0x38cab31c init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x38f33bed dump_fpu +EXPORT_SYMBOL vmlinux 0x38f86aab put_page +EXPORT_SYMBOL vmlinux 0x38f89d42 pci_set_dma_mask +EXPORT_SYMBOL vmlinux 0x39007d37 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x393329f8 dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0x394d3a06 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x39770be6 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x39808c97 vfs_getattr +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x39f9b80f file_permission +EXPORT_SYMBOL vmlinux 0x3a066d96 thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0x3a2204c6 security_netlink_recv +EXPORT_SYMBOL vmlinux 0x3a23f168 compat_mc_setsockopt +EXPORT_SYMBOL vmlinux 0x3a2bf2af xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x3a347929 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x3a541329 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x3a61846f nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x3a691b88 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x3a934e48 dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x3a93b91d tty_port_hangup +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3aa1dbcf _spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x3aaecb02 devm_free_irq +EXPORT_SYMBOL vmlinux 0x3ae831b6 kref_init +EXPORT_SYMBOL vmlinux 0x3aea524b ethtool_op_get_flags +EXPORT_SYMBOL vmlinux 0x3af7e921 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3b27f527 slow_work_enqueue +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b3cccec phy_device_free +EXPORT_SYMBOL vmlinux 0x3b745a37 slow_work_register_user +EXPORT_SYMBOL vmlinux 0x3b80b9b4 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x3b94f41d key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x3bb5556c mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x3bc6397d skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x3bc89f66 path_put +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bf79888 dm_io_client_resize +EXPORT_SYMBOL vmlinux 0x3bf9118b generic_listxattr +EXPORT_SYMBOL vmlinux 0x3c0232a3 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x3c2c5af5 sprintf +EXPORT_SYMBOL vmlinux 0x3c340419 release_sock +EXPORT_SYMBOL vmlinux 0x3c57e352 journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x3c7227bf complete_all +EXPORT_SYMBOL vmlinux 0x3c87116b scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x3c8cb552 cdrom_open +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3cc0a3bb xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x3cc3fd54 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3d071275 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x3d13668a scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x3d1c5553 sock_map_fd +EXPORT_SYMBOL vmlinux 0x3d23e3a0 register_cdrom +EXPORT_SYMBOL vmlinux 0x3d3b780b i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x3d4031ca __devm_release_region +EXPORT_SYMBOL vmlinux 0x3d68bd4b flow_cache_genid +EXPORT_SYMBOL vmlinux 0x3d6f47c3 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x3d7c1ed7 msrs_alloc +EXPORT_SYMBOL vmlinux 0x3d80e712 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x3d85fe0d proto_register +EXPORT_SYMBOL vmlinux 0x3d8728bb memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x3d9ee9f0 clear_page +EXPORT_SYMBOL vmlinux 0x3da171f9 pci_mem_start +EXPORT_SYMBOL vmlinux 0x3da5eb6d kfifo_alloc +EXPORT_SYMBOL vmlinux 0x3db2e258 radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x3dbba24a inode_init_always +EXPORT_SYMBOL vmlinux 0x3e08e4c5 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x3e1f073d wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x3e219de6 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x3e2401fe acpi_lock_ac_dir +EXPORT_SYMBOL vmlinux 0x3e2452f2 flush_signals +EXPORT_SYMBOL vmlinux 0x3e2ae3a8 acpi_release_global_lock +EXPORT_SYMBOL vmlinux 0x3e383385 nf_hooks +EXPORT_SYMBOL vmlinux 0x3e3abf82 bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e64968c napi_frags_skb +EXPORT_SYMBOL vmlinux 0x3e899c9d blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x3eab3156 journal_set_features +EXPORT_SYMBOL vmlinux 0x3eb2268f tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x3ec1d14e tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3efd3426 dm_table_put +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f1899f1 up +EXPORT_SYMBOL vmlinux 0x3f1cedad sock_create_kern +EXPORT_SYMBOL vmlinux 0x3f3b7ab7 audit_log_end +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f5c1eb9 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x3f5fe308 dquot_acquire +EXPORT_SYMBOL vmlinux 0x3f659ea3 read_cache_page_async +EXPORT_SYMBOL vmlinux 0x3f877bd6 alloc_disk_node +EXPORT_SYMBOL vmlinux 0x3f9bd5fe __register_binfmt +EXPORT_SYMBOL vmlinux 0x3fa1e9ec vfs_readlink +EXPORT_SYMBOL vmlinux 0x3fa913da strspn +EXPORT_SYMBOL vmlinux 0x3fcf826d bio_integrity_split +EXPORT_SYMBOL vmlinux 0x3fec048f sg_next +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x40576574 open_exec +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +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 0x40a992a3 unregister_console +EXPORT_SYMBOL vmlinux 0x40c89d46 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0x4101bbde param_set_copystring +EXPORT_SYMBOL vmlinux 0x4108e69a fb_match_mode +EXPORT_SYMBOL vmlinux 0x41166725 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x41286647 set_pages_x +EXPORT_SYMBOL vmlinux 0x41344088 param_get_charp +EXPORT_SYMBOL vmlinux 0x41446b33 do_munmap +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x415ebde5 page_follow_link_light +EXPORT_SYMBOL vmlinux 0x416983d9 netdev_fix_features +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x4197418b ip_route_output_key +EXPORT_SYMBOL vmlinux 0x41a9c68d _spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x41b2930a icmpv6_send +EXPORT_SYMBOL vmlinux 0x41ce1139 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x42224298 sscanf +EXPORT_SYMBOL vmlinux 0x422ff42c sg_miter_start +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x426ae686 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0x4273d97b posix_test_lock +EXPORT_SYMBOL vmlinux 0x428f1877 flush_old_exec +EXPORT_SYMBOL vmlinux 0x4294beb0 blk_make_request +EXPORT_SYMBOL vmlinux 0x42981799 get_sb_pseudo +EXPORT_SYMBOL vmlinux 0x42a4bdf2 in_egroup_p +EXPORT_SYMBOL vmlinux 0x42aa2e12 redraw_screen +EXPORT_SYMBOL vmlinux 0x42acbf72 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x42be8e30 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x42c8de35 ioremap_nocache +EXPORT_SYMBOL vmlinux 0x42d71be2 kobject_set_name +EXPORT_SYMBOL vmlinux 0x42d95895 kill_fasync +EXPORT_SYMBOL vmlinux 0x42e0c277 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x42e4c8eb scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x42f39ed9 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x431310d5 __register_chrdev +EXPORT_SYMBOL vmlinux 0x431480fa fddi_change_mtu +EXPORT_SYMBOL vmlinux 0x4327f0d5 memset_io +EXPORT_SYMBOL vmlinux 0x4333eadb param_set_short +EXPORT_SYMBOL vmlinux 0x43385ad9 acpi_pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x434fa55c release_console_sem +EXPORT_SYMBOL vmlinux 0x436bf25d ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x43827980 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0x439d0346 __seq_open_private +EXPORT_SYMBOL vmlinux 0x43a772c4 tcp4_gro_receive +EXPORT_SYMBOL vmlinux 0x43ab66c3 param_array_get +EXPORT_SYMBOL vmlinux 0x43ce22d2 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x43ec913a put_cmsg +EXPORT_SYMBOL vmlinux 0x44161c19 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x441b2600 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x444779c4 nla_find +EXPORT_SYMBOL vmlinux 0x446e49a0 journal_force_commit +EXPORT_SYMBOL vmlinux 0x44940ca4 napi_complete +EXPORT_SYMBOL vmlinux 0x4495ae88 sk_alloc +EXPORT_SYMBOL vmlinux 0x449739f5 thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0x44aaf30f tsc_khz +EXPORT_SYMBOL vmlinux 0x44b1d0a9 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44ca5541 set_trace_device +EXPORT_SYMBOL vmlinux 0x44d560e3 init_level4_pgt +EXPORT_SYMBOL vmlinux 0x44e2a393 pid_task +EXPORT_SYMBOL vmlinux 0x44e5cb4b inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44fe8d48 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x452f2279 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x45450063 mod_timer +EXPORT_SYMBOL vmlinux 0x4550ba8a register_cpu_notifier +EXPORT_SYMBOL vmlinux 0x455f4f99 pci_scan_slot +EXPORT_SYMBOL vmlinux 0x456e9f7b skb_copy +EXPORT_SYMBOL vmlinux 0x45704798 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x4575315d utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x458a8e3f devm_ioremap +EXPORT_SYMBOL vmlinux 0x45947727 param_array_set +EXPORT_SYMBOL vmlinux 0x45ad7443 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x45d11c43 down_interruptible +EXPORT_SYMBOL vmlinux 0x45d55543 down_write +EXPORT_SYMBOL vmlinux 0x45e190f3 km_query +EXPORT_SYMBOL vmlinux 0x46085e4f add_timer +EXPORT_SYMBOL vmlinux 0x4621a691 dma_sync_wait +EXPORT_SYMBOL vmlinux 0x4659b3ef ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x465a8156 scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0x4664daf6 filp_close +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x468cc6b1 kernel_read +EXPORT_SYMBOL vmlinux 0x46a7f9c5 nf_getsockopt +EXPORT_SYMBOL vmlinux 0x46b5dba9 input_unregister_handler +EXPORT_SYMBOL vmlinux 0x46bb60b8 open_bdev_exclusive +EXPORT_SYMBOL vmlinux 0x46c47fb6 __node_distance +EXPORT_SYMBOL vmlinux 0x46f0c15a generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x470caae2 xfrm_bundle_ok +EXPORT_SYMBOL vmlinux 0x471b65f1 md_done_sync +EXPORT_SYMBOL vmlinux 0x47489694 skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x475f010b acpi_purge_cached_objects +EXPORT_SYMBOL vmlinux 0x477df28a jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x478d10b2 ht_destroy_irq +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47cb2f10 clear_inode +EXPORT_SYMBOL vmlinux 0x47dd8521 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x47e12960 dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x4813aaa6 vfs_mknod +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x481a4709 default_llseek +EXPORT_SYMBOL vmlinux 0x481cb9ab acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x4833737f netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x483f081f tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x4856b288 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486b6407 hweight64 +EXPORT_SYMBOL vmlinux 0x488f412a jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x489ec0b4 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0x48d688e9 setup_new_exec +EXPORT_SYMBOL vmlinux 0x48d93400 alloc_pci_dev +EXPORT_SYMBOL vmlinux 0x48d934f7 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x48ea4514 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x4913ab7f simple_dir_operations +EXPORT_SYMBOL vmlinux 0x49439411 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x494e3393 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x49d2ca11 pci_reenable_device +EXPORT_SYMBOL vmlinux 0x49da9a9a _read_unlock_bh +EXPORT_SYMBOL vmlinux 0x49db4787 scsi_scan_target +EXPORT_SYMBOL vmlinux 0x49e182c0 param_get_string +EXPORT_SYMBOL vmlinux 0x4a2bd97c dev_mc_sync +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a3d9696 wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0x4a44fadb journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x4a613dd1 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x4a98ab41 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x4aa3af9b serio_interrupt +EXPORT_SYMBOL vmlinux 0x4acd93d3 release_resource +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4afebbfc task_nice +EXPORT_SYMBOL vmlinux 0x4aff3068 tty_insert_flip_string +EXPORT_SYMBOL vmlinux 0x4b07e779 _spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL vmlinux 0x4b37574f journal_flush +EXPORT_SYMBOL vmlinux 0x4b8d21ee tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x4b90f3f5 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x4ba5baa0 load_gs_index +EXPORT_SYMBOL vmlinux 0x4bbc3e5f pm_flags +EXPORT_SYMBOL vmlinux 0x4bbd5608 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x4bdf028e idr_find +EXPORT_SYMBOL vmlinux 0x4bfa779a d_obtain_alias +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c1b965c gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x4c2d0309 __secpath_destroy +EXPORT_SYMBOL vmlinux 0x4c4c956e nla_memcmp +EXPORT_SYMBOL vmlinux 0x4c5a6774 acpi_bus_add +EXPORT_SYMBOL vmlinux 0x4c6223ea pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x4c86c2bd scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x4c89a6b5 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4d0542a4 sock_kfree_s +EXPORT_SYMBOL vmlinux 0x4d07bdfd tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x4d15ee74 bdi_register +EXPORT_SYMBOL vmlinux 0x4d171592 netif_napi_del +EXPORT_SYMBOL vmlinux 0x4d7f533d compat_sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x4d8e1a60 ps2_init +EXPORT_SYMBOL vmlinux 0x4d958d78 __serio_register_port +EXPORT_SYMBOL vmlinux 0x4db35772 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x4db67375 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dda726b match_strlcpy +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e52ab00 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x4e652525 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e79a42b blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x4ec7b977 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x4ed3f872 ethtool_op_set_ufo +EXPORT_SYMBOL vmlinux 0x4edd72f7 block_all_signals +EXPORT_SYMBOL vmlinux 0x4edf8824 otg_get_transceiver +EXPORT_SYMBOL vmlinux 0x4ee8263d register_quota_format +EXPORT_SYMBOL vmlinux 0x4f095458 mntput_no_expire +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f43320b unregister_netdevice +EXPORT_SYMBOL vmlinux 0x4f476e96 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x4f4dafdd skb_over_panic +EXPORT_SYMBOL vmlinux 0x4f5438c1 idle_halt +EXPORT_SYMBOL vmlinux 0x4f67091e send_sig_info +EXPORT_SYMBOL vmlinux 0x4f783f30 acpi_read +EXPORT_SYMBOL vmlinux 0x4fa0c8c3 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0x4fd3a29f tty_unregister_device +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4feccfe1 pci_set_master +EXPORT_SYMBOL vmlinux 0x4fedf2eb tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x4ff52ed9 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x5007d144 scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0x50097356 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x501e36f6 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x50269a18 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x5030350a blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x5039907c udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x503dfb38 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x50405b06 otg_set_transceiver +EXPORT_SYMBOL vmlinux 0x505c6c31 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x506746b6 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x50713101 kthread_create +EXPORT_SYMBOL vmlinux 0x507efb6b kill_litter_super +EXPORT_SYMBOL vmlinux 0x50b5cb2d idr_get_new_above +EXPORT_SYMBOL vmlinux 0x50bf49df vfs_quota_sync +EXPORT_SYMBOL vmlinux 0x50bfd97b i2c_verify_client +EXPORT_SYMBOL vmlinux 0x50c467b8 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x50d56018 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x50f27781 vfs_set_dqinfo +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x5142b2b9 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x51523189 vfs_write +EXPORT_SYMBOL vmlinux 0x515a2e8b dev_add_pack +EXPORT_SYMBOL vmlinux 0x5176e654 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x5187ac4b xen_store_evtchn +EXPORT_SYMBOL vmlinux 0x51af954e security_path_link +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51fc9993 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x52095e19 acpi_get_data +EXPORT_SYMBOL vmlinux 0x5252f304 __memcpy_toio +EXPORT_SYMBOL vmlinux 0x52760ca9 getnstimeofday +EXPORT_SYMBOL vmlinux 0x52a58c24 ifla_policy +EXPORT_SYMBOL vmlinux 0x52d46635 devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL vmlinux 0x52df2e98 security_path_unlink +EXPORT_SYMBOL vmlinux 0x52e1ba21 cdev_del +EXPORT_SYMBOL vmlinux 0x52ebb126 param_get_ushort +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x53118d26 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x531b604e __virt_addr_valid +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x53583f05 do_truncate +EXPORT_SYMBOL vmlinux 0x53614667 ppp_register_channel +EXPORT_SYMBOL vmlinux 0x5364ce10 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x536ac0a0 generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x5389992b pci_enable_bridges +EXPORT_SYMBOL vmlinux 0x5392b227 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x53942098 poll_freewait +EXPORT_SYMBOL vmlinux 0x53a5962c scsi_host_put +EXPORT_SYMBOL vmlinux 0x53af7761 __bforget +EXPORT_SYMBOL vmlinux 0x53bcc899 bdget_disk +EXPORT_SYMBOL vmlinux 0x53c0767c sk_chk_filter +EXPORT_SYMBOL vmlinux 0x53c8a218 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x53d8be48 skb_push +EXPORT_SYMBOL vmlinux 0x53e0e035 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x53e3bd90 __page_cache_alloc +EXPORT_SYMBOL vmlinux 0x541e80c7 __netif_schedule +EXPORT_SYMBOL vmlinux 0x54290dc9 nla_validate +EXPORT_SYMBOL vmlinux 0x543798e1 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x5460aa83 log_start_commit +EXPORT_SYMBOL vmlinux 0x54782a2c mpage_readpage +EXPORT_SYMBOL vmlinux 0x54790ab3 i2c_register_driver +EXPORT_SYMBOL vmlinux 0x548d9e87 ip6_frag_init +EXPORT_SYMBOL vmlinux 0x54b1fdbf skb_checksum +EXPORT_SYMBOL vmlinux 0x54c49771 agp_bind_memory +EXPORT_SYMBOL vmlinux 0x54cb57c6 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x54d0d132 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x5502647f input_unregister_handle +EXPORT_SYMBOL vmlinux 0x5531234c thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0x55434722 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x554f0a48 groups_alloc +EXPORT_SYMBOL vmlinux 0x555164c5 bdi_unregister +EXPORT_SYMBOL vmlinux 0x557c5996 agp_find_bridge +EXPORT_SYMBOL vmlinux 0x55819767 ilookup5 +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x559e0201 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x559ef0c9 km_policy_notify +EXPORT_SYMBOL vmlinux 0x55a286bf proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x55a3a393 journal_revoke +EXPORT_SYMBOL vmlinux 0x55f32425 input_allocate_device +EXPORT_SYMBOL vmlinux 0x55fb814b blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x5600904f fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x5603cf43 do_settimeofday +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x562b73fa truncate_pagecache +EXPORT_SYMBOL vmlinux 0x56342af1 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x56383341 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0x563bc1d6 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x563c5a3b acpi_is_video_device +EXPORT_SYMBOL vmlinux 0x569237df netdev_set_master +EXPORT_SYMBOL vmlinux 0x569a8ba3 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56d462f7 cfb_imageblit +EXPORT_SYMBOL vmlinux 0x56df5a59 mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0x56e0e7db pci_get_device +EXPORT_SYMBOL vmlinux 0x56f38712 schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x56f494e0 smp_call_function +EXPORT_SYMBOL vmlinux 0x5713c1d0 bh_submit_read +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x573e21c5 __vlan_hwaccel_rx +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57780bb3 sock_register +EXPORT_SYMBOL vmlinux 0x57adf756 per_cpu__this_cpu_off +EXPORT_SYMBOL vmlinux 0x57b57ebe jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0x57db7242 mangle_path +EXPORT_SYMBOL vmlinux 0x57e0df4a linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x57ecb61f set_pages_nx +EXPORT_SYMBOL vmlinux 0x5812bb27 __scsi_add_device +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x584738f9 rdmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x586490ce neigh_event_ns +EXPORT_SYMBOL vmlinux 0x5878596a update_region +EXPORT_SYMBOL vmlinux 0x5881384d insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x588aaa26 filemap_fault +EXPORT_SYMBOL vmlinux 0x5899abb2 tty_vhangup +EXPORT_SYMBOL vmlinux 0x58e12708 inet_accept +EXPORT_SYMBOL vmlinux 0x58f12017 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x58fee1e0 sock_rfree +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x596903e5 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x5970d999 pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0x59a23fb1 pci_enable_wake +EXPORT_SYMBOL vmlinux 0x59bc9609 acpi_write_bit_register +EXPORT_SYMBOL vmlinux 0x59bfd1b2 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x59cbb933 __napi_complete +EXPORT_SYMBOL vmlinux 0x59d1fe07 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x5a0d7278 dst_release +EXPORT_SYMBOL vmlinux 0x5a1e825b pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x5a26e9f8 pnp_is_active +EXPORT_SYMBOL vmlinux 0x5a34a45c __kmalloc +EXPORT_SYMBOL vmlinux 0x5a4896a8 __put_user_2 +EXPORT_SYMBOL vmlinux 0x5a57d155 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x5a5e7ea3 simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x5a67e40d mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5a779394 pci_bus_type +EXPORT_SYMBOL vmlinux 0x5a872763 pci_iomap +EXPORT_SYMBOL vmlinux 0x5a9b549c unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x5ab0e3a5 call_usermodehelper_setkeys +EXPORT_SYMBOL vmlinux 0x5ab6137c end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x5ac376a5 acpi_install_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x5ad95a12 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x5b0028a6 ethtool_op_get_sg +EXPORT_SYMBOL vmlinux 0x5b069b91 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x5b27bcec sysctl_intvec +EXPORT_SYMBOL vmlinux 0x5b3fe59f thaw_process +EXPORT_SYMBOL vmlinux 0x5b467c2b tcf_em_register +EXPORT_SYMBOL vmlinux 0x5b49ed80 agp_alloc_bridge +EXPORT_SYMBOL vmlinux 0x5b51a5d2 agp_free_memory +EXPORT_SYMBOL vmlinux 0x5b51c6a7 acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x5b5a2a32 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x5b820f43 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x5b9ab11f i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x5ba4be6f sock_no_getname +EXPORT_SYMBOL vmlinux 0x5bae2eac acpi_extract_package +EXPORT_SYMBOL vmlinux 0x5bbfafb9 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x5be89166 block_write_begin +EXPORT_SYMBOL vmlinux 0x5bf0d2d5 ll_rw_block +EXPORT_SYMBOL vmlinux 0x5c277cab mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x5c28617b __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x5c2ae97f bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x5c39ca61 __getblk +EXPORT_SYMBOL vmlinux 0x5c4efcdd vfs_quota_on +EXPORT_SYMBOL vmlinux 0x5c5054f2 slow_work_sleep_till_thread_needed +EXPORT_SYMBOL vmlinux 0x5c58e451 init_special_inode +EXPORT_SYMBOL vmlinux 0x5c5b2d12 per_cpu__cpu_info +EXPORT_SYMBOL vmlinux 0x5c6c1ec4 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x5c6fea74 inet_getname +EXPORT_SYMBOL vmlinux 0x5c872fce inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0x5c9e776a napi_get_frags +EXPORT_SYMBOL vmlinux 0x5ca02919 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x5cad67e8 invalidate_partition +EXPORT_SYMBOL vmlinux 0x5cc8e015 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x5ce0e013 pipe_to_file +EXPORT_SYMBOL vmlinux 0x5d12b3fc twl4030_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x5d1353c7 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x5d14d7d7 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x5d239a47 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x5d4c09f2 mpage_writepage +EXPORT_SYMBOL vmlinux 0x5d4c48d7 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x5d5fc5af scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x5d647993 journal_load +EXPORT_SYMBOL vmlinux 0x5d74dbcf pnp_range_reserved +EXPORT_SYMBOL vmlinux 0x5d8feeb3 splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0x5d9d10da sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x5dadad02 pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0x5daef1fe revert_creds +EXPORT_SYMBOL vmlinux 0x5dc18de8 bio_phys_segments +EXPORT_SYMBOL vmlinux 0x5dc5bd05 nf_unregister_hook +EXPORT_SYMBOL vmlinux 0x5dc91541 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x5dd48060 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x5deeb567 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x5df04936 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x5e21f413 kobject_get +EXPORT_SYMBOL vmlinux 0x5e4307a0 kobject_add +EXPORT_SYMBOL vmlinux 0x5e659ac8 generic_permission +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea520c5 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5efbf280 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x5f56db66 per_cpu__ftrace_event_seq +EXPORT_SYMBOL vmlinux 0x5f6eb190 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x5f932297 aio_complete +EXPORT_SYMBOL vmlinux 0x5f9c24b9 blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0x5f9e904d free_task +EXPORT_SYMBOL vmlinux 0x5fa4402f deactivate_super +EXPORT_SYMBOL vmlinux 0x5fa96dd9 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x5faeaa13 vfs_get_dqinfo +EXPORT_SYMBOL vmlinux 0x5fb4c9ad secpath_dup +EXPORT_SYMBOL vmlinux 0x5fc5e12a get_disk +EXPORT_SYMBOL vmlinux 0x5fc61b20 ____pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x5fe8ce7e tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x5febbf5e pci_dev_put +EXPORT_SYMBOL vmlinux 0x5ff42b08 acpi_video_get_capabilities +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x600c81c3 dump_trace +EXPORT_SYMBOL vmlinux 0x600d64e8 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x600dda5d xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x601d7be1 write_one_page +EXPORT_SYMBOL vmlinux 0x60269e37 llc_set_station_handler +EXPORT_SYMBOL vmlinux 0x602ed00d acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0x60449d42 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x605c8bde radix_tree_delete +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a0ebad __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60d8bf05 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x6103c4c7 per_cpu__irq_stat +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x615a6e74 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x617353a2 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x61799cd0 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x617e85f6 dev_get_stats +EXPORT_SYMBOL vmlinux 0x6184296a agp_generic_enable +EXPORT_SYMBOL vmlinux 0x618d8299 set_notify_swap_entry_free +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x62049256 acpi_disable +EXPORT_SYMBOL vmlinux 0x620dc275 pci_write_vpd +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x6229483a scsi_execute +EXPORT_SYMBOL vmlinux 0x6237f6b5 acpi_enable_event +EXPORT_SYMBOL vmlinux 0x62447f77 seq_open +EXPORT_SYMBOL vmlinux 0x6261e2f2 ip_nat_decode_session +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 0x62af9753 scsi_get_command +EXPORT_SYMBOL vmlinux 0x62eaa833 hippi_neigh_setup_dev +EXPORT_SYMBOL vmlinux 0x6307fc98 del_timer +EXPORT_SYMBOL vmlinux 0x6324ec3f bio_map_user +EXPORT_SYMBOL vmlinux 0x63277cc3 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x632afea0 d_move +EXPORT_SYMBOL vmlinux 0x636a5691 acpi_register_ioapic +EXPORT_SYMBOL vmlinux 0x63906414 devm_iounmap +EXPORT_SYMBOL vmlinux 0x6396ed69 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x63a56d30 set_anon_super +EXPORT_SYMBOL vmlinux 0x63b41449 replace_mount_options +EXPORT_SYMBOL vmlinux 0x63ddbcf7 call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63fc232f strlen_user +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x641e102f inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x6429ee07 mpage_readpages +EXPORT_SYMBOL vmlinux 0x642bc034 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x642e54ac __wake_up +EXPORT_SYMBOL vmlinux 0x644b6cea vga_put +EXPORT_SYMBOL vmlinux 0x64611d2e inet_stream_ops +EXPORT_SYMBOL vmlinux 0x6466a1e6 mempool_alloc +EXPORT_SYMBOL vmlinux 0x6478134c ec_burst_enable +EXPORT_SYMBOL vmlinux 0x6490fd33 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x649fdcdb per_cpu__softnet_data +EXPORT_SYMBOL vmlinux 0x64c9a290 agp_put_bridge +EXPORT_SYMBOL vmlinux 0x64d452cd blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0x64eae7ad set_memory_array_wb +EXPORT_SYMBOL vmlinux 0x64ef6d9b follow_pfn +EXPORT_SYMBOL vmlinux 0x65020739 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x65022a24 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0x650dca72 journal_forget +EXPORT_SYMBOL vmlinux 0x650fb346 add_wait_queue +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65414e67 dev_valid_name +EXPORT_SYMBOL vmlinux 0x655b204c get_write_access +EXPORT_SYMBOL vmlinux 0x65658bda is_container_init +EXPORT_SYMBOL vmlinux 0x6597c30a __put_cred +EXPORT_SYMBOL vmlinux 0x660c9182 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x661a5783 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x662bd099 kill_block_super +EXPORT_SYMBOL vmlinux 0x662c2c2a ethtool_op_set_tx_ipv6_csum +EXPORT_SYMBOL vmlinux 0x66816e8f ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x66909110 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x66cd9e5b unregister_cdrom +EXPORT_SYMBOL vmlinux 0x66d97b75 lookup_one_len +EXPORT_SYMBOL vmlinux 0x66fcf589 kill_anon_super +EXPORT_SYMBOL vmlinux 0x67053080 current_kernel_time +EXPORT_SYMBOL vmlinux 0x672144bd strlcpy +EXPORT_SYMBOL vmlinux 0x6723ca16 phy_start +EXPORT_SYMBOL vmlinux 0x6729d3df __get_user_4 +EXPORT_SYMBOL vmlinux 0x672c8b15 dcache_readdir +EXPORT_SYMBOL vmlinux 0x67353ca4 scsi_allocate_command +EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges +EXPORT_SYMBOL vmlinux 0x6749db1f set_pages_wb +EXPORT_SYMBOL vmlinux 0x676a9b5d bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x677a9595 bd_release +EXPORT_SYMBOL vmlinux 0x67af5383 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67e17a92 blk_free_tags +EXPORT_SYMBOL vmlinux 0x67f1bef7 seq_lseek +EXPORT_SYMBOL vmlinux 0x6801824b kfree_skb +EXPORT_SYMBOL vmlinux 0x683835a4 skb_dma_unmap +EXPORT_SYMBOL vmlinux 0x68432bf0 pnp_device_detach +EXPORT_SYMBOL vmlinux 0x684a32ca put_disk +EXPORT_SYMBOL vmlinux 0x6876652c udp_ioctl +EXPORT_SYMBOL vmlinux 0x68c9c8ac iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x68e5c000 neigh_compat_output +EXPORT_SYMBOL vmlinux 0x6907d4e9 idr_for_each +EXPORT_SYMBOL vmlinux 0x69157428 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x697cb0a0 sysctl_ms_jiffies +EXPORT_SYMBOL vmlinux 0x6980fe91 param_get_int +EXPORT_SYMBOL vmlinux 0x69927dff try_acquire_console_sem +EXPORT_SYMBOL vmlinux 0x69a0ca7d iowrite16be +EXPORT_SYMBOL vmlinux 0x69a358a6 iomem_resource +EXPORT_SYMBOL vmlinux 0x69a4ea3c xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x69ba7d51 mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x69c03dbd migrate_page +EXPORT_SYMBOL vmlinux 0x69c8c1d5 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x69d2575f efi +EXPORT_SYMBOL vmlinux 0x69d3621f dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x69e3ee19 set_device_ro +EXPORT_SYMBOL vmlinux 0x69eb1ec0 journal_abort +EXPORT_SYMBOL vmlinux 0x69fcb6f2 agp_backend_acquire +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a11c8c4 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x6a278a84 acpi_unlock_battery_dir +EXPORT_SYMBOL vmlinux 0x6a3979b3 bio_copy_kern +EXPORT_SYMBOL vmlinux 0x6a3b9b12 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x6a44c773 set_pages_uc +EXPORT_SYMBOL vmlinux 0x6a47571d __set_personality +EXPORT_SYMBOL vmlinux 0x6a52e816 tcp_make_synack +EXPORT_SYMBOL vmlinux 0x6a5f98a0 ida_get_new_above +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a8222a0 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x6a9f26c9 init_timer_key +EXPORT_SYMBOL vmlinux 0x6aae5e0a nf_hook_slow +EXPORT_SYMBOL vmlinux 0x6abd84b8 blkdev_get +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6ad065f4 param_set_charp +EXPORT_SYMBOL vmlinux 0x6ad14b4b cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x6ad85887 acpi_enable_gpe +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6af28385 phy_sanitize_settings +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b1d1b6d scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x6b1f0663 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b4a1336 bdi_destroy +EXPORT_SYMBOL vmlinux 0x6b4e5a52 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x6b54f453 give_up_console +EXPORT_SYMBOL vmlinux 0x6b5f3ea7 compat_ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x6b9b88f3 sleep_on +EXPORT_SYMBOL vmlinux 0x6bb91410 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x6bc1451d lock_super +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bc56c67 radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x6bc6d437 __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x6bcb8ddb pci_release_region +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6bf2eadd unbind_con_driver +EXPORT_SYMBOL vmlinux 0x6bfc1b1a pci_save_state +EXPORT_SYMBOL vmlinux 0x6c11d485 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL vmlinux 0x6c3d1158 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x6c3f033b blk_insert_request +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c7789cd register_con_driver +EXPORT_SYMBOL vmlinux 0x6cc02bf6 phy_device_create +EXPORT_SYMBOL vmlinux 0x6cc36a46 pv_mmu_ops +EXPORT_SYMBOL vmlinux 0x6cf8f709 i2c_master_send +EXPORT_SYMBOL vmlinux 0x6d0b77fe sysctl_data +EXPORT_SYMBOL vmlinux 0x6d0e3039 vfs_fstatat +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 0x6d367585 __scm_destroy +EXPORT_SYMBOL vmlinux 0x6d57b729 netif_notify_peers +EXPORT_SYMBOL vmlinux 0x6d621c40 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d9d8ac8 phy_register_fixup +EXPORT_SYMBOL vmlinux 0x6daba8f9 journal_clear_err +EXPORT_SYMBOL vmlinux 0x6db42067 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0x6dc0c24b complete_and_exit +EXPORT_SYMBOL vmlinux 0x6dcaeb88 per_cpu__kernel_stack +EXPORT_SYMBOL vmlinux 0x6de6bf83 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6e07a54e acpi_get_gpe_status +EXPORT_SYMBOL vmlinux 0x6e566b0d task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x6e696892 fd_install +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e74041b d_validate +EXPORT_SYMBOL vmlinux 0x6e802324 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x6e8baf6b dev_change_flags +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6eb0fdf3 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x6ed5c961 cdev_init +EXPORT_SYMBOL vmlinux 0x6ee8bb7d qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x6f0f4a64 skb_split +EXPORT_SYMBOL vmlinux 0x6f370d15 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x6f556bdb acpi_get_gpe_device +EXPORT_SYMBOL vmlinux 0x6f671b65 request_key +EXPORT_SYMBOL vmlinux 0x6f6b08fa vfs_get_dqblk +EXPORT_SYMBOL vmlinux 0x6fbc143d blk_stop_queue +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd04fca tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x6fd5d7ed put_mnt_ns +EXPORT_SYMBOL vmlinux 0x6feb2039 acpi_write +EXPORT_SYMBOL vmlinux 0x6fff393f time_to_tm +EXPORT_SYMBOL vmlinux 0x700936f7 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x701d7d78 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x70334f2b generic_delete_inode +EXPORT_SYMBOL vmlinux 0x703e75da tcp_splice_read +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x70574ed6 dma_async_device_register +EXPORT_SYMBOL vmlinux 0x705add5b skb_copy_bits +EXPORT_SYMBOL vmlinux 0x70765d1c vfs_lstat +EXPORT_SYMBOL vmlinux 0x707acf6e skb_find_text +EXPORT_SYMBOL vmlinux 0x70953694 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x709ca4b1 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x70a15749 dev_open +EXPORT_SYMBOL vmlinux 0x70aed7cd set_disk_ro +EXPORT_SYMBOL vmlinux 0x70b54744 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70bf9865 security_d_instantiate +EXPORT_SYMBOL vmlinux 0x70cf90c0 generic_file_open +EXPORT_SYMBOL vmlinux 0x70d8ab82 acpi_acquire_global_lock +EXPORT_SYMBOL vmlinux 0x70e0d61f cpu_all_bits +EXPORT_SYMBOL vmlinux 0x70e5ce3e register_sysctl_table +EXPORT_SYMBOL vmlinux 0x70e5d8cc jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x70f44361 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x711aab76 journal_create +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x712aa29b _spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x71320d43 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x71356fba remove_wait_queue +EXPORT_SYMBOL vmlinux 0x7150c474 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x71659c10 get_sb_single +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71766639 tcp_child_process +EXPORT_SYMBOL vmlinux 0x718eb65b input_get_keycode +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71b765a2 pcim_iounmap +EXPORT_SYMBOL vmlinux 0x71bb41e4 wrmsr_on_cpus +EXPORT_SYMBOL vmlinux 0x71d95e02 alloc_mdio_bitbang +EXPORT_SYMBOL vmlinux 0x71f6eb38 sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x7205e022 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x7209736e abort_creds +EXPORT_SYMBOL vmlinux 0x721fd550 __destroy_inode +EXPORT_SYMBOL vmlinux 0x7222ca24 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x723e177d inet_frag_kill +EXPORT_SYMBOL vmlinux 0x7242e96d strnchr +EXPORT_SYMBOL vmlinux 0x7292c11d agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0x729661ee netif_device_attach +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72bf2140 mtrr_add +EXPORT_SYMBOL vmlinux 0x72c3be87 param_set_byte +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x73299395 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x7333b753 input_open_device +EXPORT_SYMBOL vmlinux 0x733eac3d sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x735a0bd5 native_io_delay +EXPORT_SYMBOL vmlinux 0x736210f4 simple_unlink +EXPORT_SYMBOL vmlinux 0x736d0d9e gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x73745f28 seq_bitmap +EXPORT_SYMBOL vmlinux 0x7389c9a8 acpi_bus_get_power +EXPORT_SYMBOL vmlinux 0x739ee22d gen_pool_add +EXPORT_SYMBOL vmlinux 0x73aa7c7d pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x73d47708 inet_frags_init +EXPORT_SYMBOL vmlinux 0x74000e85 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x740a1b95 reserve_evntsel_nmi +EXPORT_SYMBOL vmlinux 0x742cef76 destroy_EII_client +EXPORT_SYMBOL vmlinux 0x7432f326 cdev_add +EXPORT_SYMBOL vmlinux 0x744c0c68 param_get_byte +EXPORT_SYMBOL vmlinux 0x745042f8 pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0x747e1729 mmc_register_driver +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x748caf40 down +EXPORT_SYMBOL vmlinux 0x74941f83 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL vmlinux 0x74aa4f9c md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x74ada856 genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x74bc61d0 dqget +EXPORT_SYMBOL vmlinux 0x74be5608 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x74bfc369 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74ce972f key_revoke +EXPORT_SYMBOL vmlinux 0x74fe71b2 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x7538b132 agp_off +EXPORT_SYMBOL vmlinux 0x75514419 dev_alloc_skb +EXPORT_SYMBOL vmlinux 0x756e6992 strnicmp +EXPORT_SYMBOL vmlinux 0x7575158d pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x7581df49 cpu_sysdev_class +EXPORT_SYMBOL vmlinux 0x75838589 llc_add_pack +EXPORT_SYMBOL vmlinux 0x75990145 blk_end_request_all +EXPORT_SYMBOL vmlinux 0x759987ac hippi_mac_addr +EXPORT_SYMBOL vmlinux 0x75a5d9fb proto_unregister +EXPORT_SYMBOL vmlinux 0x75bdea12 iommu_area_alloc +EXPORT_SYMBOL vmlinux 0x75c62cd0 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0x76093d8a acpi_lock_battery_dir +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x760f35f1 cdev_alloc +EXPORT_SYMBOL vmlinux 0x764bd77c request_resource +EXPORT_SYMBOL vmlinux 0x76624318 dm_register_target +EXPORT_SYMBOL vmlinux 0x767dd8fd acpi_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0x767ddb02 set_memory_wc +EXPORT_SYMBOL vmlinux 0x768755b0 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x768fa6bd vfs_link +EXPORT_SYMBOL vmlinux 0x76915484 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x76bc0a5e __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76eb6137 __tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x76f3f8a5 num_k8_northbridges +EXPORT_SYMBOL vmlinux 0x770ff22f jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x774e5cd6 ip6_xmit +EXPORT_SYMBOL vmlinux 0x775d61e1 phy_attach_direct +EXPORT_SYMBOL vmlinux 0x776bb0d1 per_cpu__cpu_core_map +EXPORT_SYMBOL vmlinux 0x77959d5d dqput +EXPORT_SYMBOL vmlinux 0x77a108df _write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x77a6c0a0 kill_pgrp +EXPORT_SYMBOL vmlinux 0x77a70f6f pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x77ab1d2f tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x77affbda dev_unicast_add +EXPORT_SYMBOL vmlinux 0x77b87ecf ip_getsockopt +EXPORT_SYMBOL vmlinux 0x77cfcfde __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77f53abc acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x77fa5d1f ns_to_timespec +EXPORT_SYMBOL vmlinux 0x780c5410 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x782acba5 crc_t10dif +EXPORT_SYMBOL vmlinux 0x785148a3 idr_destroy +EXPORT_SYMBOL vmlinux 0x78764f4e pv_irq_ops +EXPORT_SYMBOL vmlinux 0x789300e7 follow_down +EXPORT_SYMBOL vmlinux 0x789574a4 netpoll_poll +EXPORT_SYMBOL vmlinux 0x78a484c9 _read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x78c05f40 mb_cache_create +EXPORT_SYMBOL vmlinux 0x78c5f560 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x78d64363 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78fb5599 nf_register_hooks +EXPORT_SYMBOL vmlinux 0x78fbb0f7 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x79068fda acpi_install_method +EXPORT_SYMBOL vmlinux 0x792cea90 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x792d535a xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x7945045a unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x7955bbb8 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x796c774b input_close_device +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x797fb55f ppp_channel_index +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79ad224b tasklet_kill +EXPORT_SYMBOL vmlinux 0x79f82ed1 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x79faecd4 pci_assign_resource +EXPORT_SYMBOL vmlinux 0x7a142de0 security_path_truncate +EXPORT_SYMBOL vmlinux 0x7a2a4ad5 prepare_creds +EXPORT_SYMBOL vmlinux 0x7a2a837d strict_strtol +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a848702 _read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x7aa9b9f6 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x7abd4d53 inet_ioctl +EXPORT_SYMBOL vmlinux 0x7ad4d364 netdev_state_change +EXPORT_SYMBOL vmlinux 0x7adb0b6d aio_put_req +EXPORT_SYMBOL vmlinux 0x7ae73de1 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x7aec9089 clear_user +EXPORT_SYMBOL vmlinux 0x7af9dba1 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x7b0c84c4 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0x7b18ef33 mddev_congested +EXPORT_SYMBOL vmlinux 0x7b1b38ab ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x7b227b00 unlock_page +EXPORT_SYMBOL vmlinux 0x7b52a859 wrmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x7b56bd05 acpi_lid_notifier_register +EXPORT_SYMBOL vmlinux 0x7b6ce00f pnp_activate_dev +EXPORT_SYMBOL vmlinux 0x7b6cfcb4 mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0x7b771c9c d_rehash +EXPORT_SYMBOL vmlinux 0x7b8f4c40 key_create_or_update +EXPORT_SYMBOL vmlinux 0x7ba9528e blk_queue_max_hw_segments +EXPORT_SYMBOL vmlinux 0x7be22d36 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x7be41077 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x7bff3be7 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x7c0f9b6c qdisc_destroy +EXPORT_SYMBOL vmlinux 0x7c15af1e dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x7c1c0c89 pci_request_region +EXPORT_SYMBOL vmlinux 0x7c1cde82 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c4ba0de block_commit_write +EXPORT_SYMBOL vmlinux 0x7c59d7d5 I_BDEV +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c61340c __release_region +EXPORT_SYMBOL vmlinux 0x7c8c2c31 put_tty_driver +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7cb1ae69 cpu_down +EXPORT_SYMBOL vmlinux 0x7cb258d9 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x7cc8a6a1 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x7cfb35de ip_fragment +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d5fb2bd prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x7d64a0fa dm_exception_store_type_register +EXPORT_SYMBOL vmlinux 0x7d6bb587 cpu_online_mask +EXPORT_SYMBOL vmlinux 0x7d6c9536 bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x7d7631f5 unregister_md_personality +EXPORT_SYMBOL vmlinux 0x7d7b8b79 bdevname +EXPORT_SYMBOL vmlinux 0x7d7e7a6e dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x7d94f746 acpi_os_write_port +EXPORT_SYMBOL vmlinux 0x7daf7486 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x7dcbfe3c inet6_bind +EXPORT_SYMBOL vmlinux 0x7dcc1ed9 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x7dce8895 slow_work_unregister_user +EXPORT_SYMBOL vmlinux 0x7dceceac capable +EXPORT_SYMBOL vmlinux 0x7dcfa41f free_netdev +EXPORT_SYMBOL vmlinux 0x7dd554fc unregister_kmmio_probe +EXPORT_SYMBOL vmlinux 0x7df16b89 locks_copy_lock +EXPORT_SYMBOL vmlinux 0x7df97bc5 submit_bh +EXPORT_SYMBOL vmlinux 0x7dfe2451 generic_read_dir +EXPORT_SYMBOL vmlinux 0x7e02b6cd xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x7e06e5f2 inet6_release +EXPORT_SYMBOL vmlinux 0x7e299735 agp_create_memory +EXPORT_SYMBOL vmlinux 0x7e5a5c6e get_sb_bdev +EXPORT_SYMBOL vmlinux 0x7e862ad7 dm_exception_store_create +EXPORT_SYMBOL vmlinux 0x7e9ebb05 kernel_thread +EXPORT_SYMBOL vmlinux 0x7ec9bfbc strncpy +EXPORT_SYMBOL vmlinux 0x7ee91c1d _spin_trylock +EXPORT_SYMBOL vmlinux 0x7ef967b3 d_alloc +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f4f4ae0 pnp_request_card_device +EXPORT_SYMBOL vmlinux 0x7f61fb79 md_check_recovery +EXPORT_SYMBOL vmlinux 0x7f62effb unregister_key_type +EXPORT_SYMBOL vmlinux 0x7f6c3e80 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x7f77b6df scsi_unregister +EXPORT_SYMBOL vmlinux 0x7fb3ac6d xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x7fd59dad md_write_start +EXPORT_SYMBOL vmlinux 0x7fdfbc30 dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x7fef8e35 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x802809fb i2c_transfer +EXPORT_SYMBOL vmlinux 0x802c4cc7 path_lookup +EXPORT_SYMBOL vmlinux 0x8031bef8 bdi_register_dev +EXPORT_SYMBOL vmlinux 0x803222bd phy_enable_interrupts +EXPORT_SYMBOL vmlinux 0x807ea8d3 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x80827668 inet_bind +EXPORT_SYMBOL vmlinux 0x80bc2c10 ip_route_input +EXPORT_SYMBOL vmlinux 0x80c81df3 dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x80ceeef2 remove_inode_hash +EXPORT_SYMBOL vmlinux 0x80d5cff0 per_cpu__irq_regs +EXPORT_SYMBOL vmlinux 0x80e36042 skb_dma_map +EXPORT_SYMBOL vmlinux 0x81087732 kernel_listen +EXPORT_SYMBOL vmlinux 0x812f480a jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x81390c59 otg_put_transceiver +EXPORT_SYMBOL vmlinux 0x814454a8 pci_set_mwi +EXPORT_SYMBOL vmlinux 0x81472677 acpi_get_table +EXPORT_SYMBOL vmlinux 0x8147766e blk_plug_device_unlocked +EXPORT_SYMBOL vmlinux 0x81488aa0 d_splice_alias +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page +EXPORT_SYMBOL vmlinux 0x8168a918 generic_file_llseek_unlocked +EXPORT_SYMBOL vmlinux 0x8186c1f2 dev_alloc_name +EXPORT_SYMBOL vmlinux 0x81946304 skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x8195c959 neigh_table_init +EXPORT_SYMBOL vmlinux 0x8197c568 wireless_send_event +EXPORT_SYMBOL vmlinux 0x81a1b699 input_inject_event +EXPORT_SYMBOL vmlinux 0x81afa0c7 cdev_index +EXPORT_SYMBOL vmlinux 0x81dce01b d_add_ci +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x81fbc67d simple_empty +EXPORT_SYMBOL vmlinux 0x81fc0337 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x820d225f print_mac +EXPORT_SYMBOL vmlinux 0x820fc63c vfsmount_lock +EXPORT_SYMBOL vmlinux 0x8212721d xenbus_dev_request_and_reply +EXPORT_SYMBOL vmlinux 0x82130130 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x824144b5 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0x8247bf68 generic_fillattr +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x82650b03 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x82692209 kref_set +EXPORT_SYMBOL vmlinux 0x8286e845 dm_dirty_log_destroy +EXPORT_SYMBOL vmlinux 0x828910ab get_empty_filp +EXPORT_SYMBOL vmlinux 0x828ceab0 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x828d704c scsi_print_result +EXPORT_SYMBOL vmlinux 0x828e320f blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0x82ac35d0 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82ba99d6 pci_get_bus_and_slot +EXPORT_SYMBOL vmlinux 0x82bc2eae compat_tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x82d3e07d gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x82daeb4f block_write_end +EXPORT_SYMBOL vmlinux 0x82e9c083 csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x82f50fc5 vfs_readdir +EXPORT_SYMBOL vmlinux 0x830e547b ioremap_prot +EXPORT_SYMBOL vmlinux 0x830f8d69 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x8317e20a completion_done +EXPORT_SYMBOL vmlinux 0x8336b890 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x837b98f8 register_exec_domain +EXPORT_SYMBOL vmlinux 0x837fe8d9 agp_generic_mask_memory +EXPORT_SYMBOL vmlinux 0x83879b9f bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83c43dc1 posix_acl_chmod_masq +EXPORT_SYMBOL vmlinux 0x83ea776c test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x83f99500 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x83fc98e9 bio_split +EXPORT_SYMBOL vmlinux 0x83fd9672 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x8405c9a8 request_firmware +EXPORT_SYMBOL vmlinux 0x841185a3 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x8461ff21 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x847ec116 vga_tryget +EXPORT_SYMBOL vmlinux 0x84ac5f2b inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x84f255c7 pci_read_vpd +EXPORT_SYMBOL vmlinux 0x8533e05a scsi_reset_provider +EXPORT_SYMBOL vmlinux 0x854c5636 __pci_register_driver +EXPORT_SYMBOL vmlinux 0x8563f264 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x85abc85f strncmp +EXPORT_SYMBOL vmlinux 0x85cb3672 acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0x85d4b12b blk_queue_ordered +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x8618bcdf tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x862af12e dev_mc_delete +EXPORT_SYMBOL vmlinux 0x8631f188 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86a9d4d0 dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x86c7146d vfs_fstat +EXPORT_SYMBOL vmlinux 0x86d64aa8 pci_enable_device +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x86fe69dd jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x8710fc19 pci_set_consistent_dma_mask +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x871d06b5 __bread +EXPORT_SYMBOL vmlinux 0x8725b236 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0x8733e9a3 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x8740668e may_umount_tree +EXPORT_SYMBOL vmlinux 0x874e2146 __brelse +EXPORT_SYMBOL vmlinux 0x876dafc3 ec_write +EXPORT_SYMBOL vmlinux 0x8785333f console_start +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x87a7112b blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0x87aaddf8 wrmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0x87cb81e6 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x87df4f9e __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x87ef1124 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x87f5fcb9 agp_bridge +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x881fded6 bmap +EXPORT_SYMBOL vmlinux 0x88334c1a compat_sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x8850afa5 mnt_unpin +EXPORT_SYMBOL vmlinux 0x886aa274 posix_acl_create_masq +EXPORT_SYMBOL vmlinux 0x889da329 seq_bitmap_list +EXPORT_SYMBOL vmlinux 0x88a54839 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x88abcd10 pipe_unlock +EXPORT_SYMBOL vmlinux 0x88b7700b end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x88f2e2c1 default_unplug_io_fn +EXPORT_SYMBOL vmlinux 0x88ffca4c register_key_type +EXPORT_SYMBOL vmlinux 0x891f7742 journal_errno +EXPORT_SYMBOL vmlinux 0x892b26a0 set_memory_nx +EXPORT_SYMBOL vmlinux 0x89659e98 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x89915a0f i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x89949018 down_timeout +EXPORT_SYMBOL vmlinux 0x89bf099f blk_complete_request +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d5e2eb eth_header +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x8a1203a9 kref_get +EXPORT_SYMBOL vmlinux 0x8a373fd7 twl4030_i2c_write +EXPORT_SYMBOL vmlinux 0x8a3eabf0 __wait_on_bit +EXPORT_SYMBOL vmlinux 0x8a4f9258 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x8a763823 send_sig +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aad1913 unlock_rename +EXPORT_SYMBOL vmlinux 0x8aaeb23e tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x8abbdb5b __devm_request_region +EXPORT_SYMBOL vmlinux 0x8abfba3e __lock_page +EXPORT_SYMBOL vmlinux 0x8ac108ba sync_inode +EXPORT_SYMBOL vmlinux 0x8ac40297 iommu_area_free +EXPORT_SYMBOL vmlinux 0x8af05487 dev_unicast_unsync +EXPORT_SYMBOL vmlinux 0x8af2454e tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x8af6dcde sock_no_poll +EXPORT_SYMBOL vmlinux 0x8b01f2c2 alloc_file +EXPORT_SYMBOL vmlinux 0x8b17e475 agp_copy_info +EXPORT_SYMBOL vmlinux 0x8b35e873 sg_last +EXPORT_SYMBOL vmlinux 0x8b3e6806 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x8b5f4a2e IO_APIC_get_PCI_irq_vector +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b72e49a pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x8b7fe311 kmemdup +EXPORT_SYMBOL vmlinux 0x8b922c0f __strnlen_user +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8ba50877 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x8bacdd06 register_nls +EXPORT_SYMBOL vmlinux 0x8bb15a0a bio_sector_offset +EXPORT_SYMBOL vmlinux 0x8bba85ac blk_fetch_request +EXPORT_SYMBOL vmlinux 0x8bd313b8 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x8bd5b603 param_get_long +EXPORT_SYMBOL vmlinux 0x8be1da21 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x8bf7d1b0 per_cpu__current_task +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c44743e skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x8c4e7d19 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x8c537c45 posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x8c595e30 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x8c5b143e kmem_ptr_validate +EXPORT_SYMBOL vmlinux 0x8c65230d acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0x8c7fee9f arch_acpi_processor_cleanup_pdc +EXPORT_SYMBOL vmlinux 0x8ca549d8 hippi_type_trans +EXPORT_SYMBOL vmlinux 0x8cac23ea inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0x8cb9cb0b jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8d0a46c0 ps2_drain +EXPORT_SYMBOL vmlinux 0x8d23e762 sk_free +EXPORT_SYMBOL vmlinux 0x8d3894f2 _ctype +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d8c26d6 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x8d8c6f1c bio_integrity_endio +EXPORT_SYMBOL vmlinux 0x8d8d96c6 acpi_get_sleep_type_data +EXPORT_SYMBOL vmlinux 0x8da016a4 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x8dc6afa9 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x8dca832f __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x8deed0f5 blkdev_put +EXPORT_SYMBOL vmlinux 0x8e002cda acpi_remove_gpe_block +EXPORT_SYMBOL vmlinux 0x8e0637ba i8253_lock +EXPORT_SYMBOL vmlinux 0x8e0b7743 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x8e2d96c4 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x8e3c9cc3 vprintk +EXPORT_SYMBOL vmlinux 0x8e3fb7c5 security_inode_readlink +EXPORT_SYMBOL vmlinux 0x8e49f4de module_layout +EXPORT_SYMBOL vmlinux 0x8e763ae1 send_remote_softirq +EXPORT_SYMBOL vmlinux 0x8e7ef552 __invalidate_device +EXPORT_SYMBOL vmlinux 0x8e8199bf copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x8e83107a generic_getxattr +EXPORT_SYMBOL vmlinux 0x8e9cf319 dm_get_device +EXPORT_SYMBOL vmlinux 0x8eb20493 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x8ec1a23c override_creds +EXPORT_SYMBOL vmlinux 0x8ec5c3f6 kthread_stop +EXPORT_SYMBOL vmlinux 0x8ecdd9d6 dev_addr_del +EXPORT_SYMBOL vmlinux 0x8ee69235 timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8ef9ca9f swiotlb_free_coherent +EXPORT_SYMBOL vmlinux 0x8eff7f0c xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x8f1e66df dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x8f2703b7 wbinvd_on_all_cpus +EXPORT_SYMBOL vmlinux 0x8f466e99 page_put_link +EXPORT_SYMBOL vmlinux 0x8f46cd63 set_bdi_congested +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f634ae8 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x8f63795f bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x8f6b7950 set_irq_data +EXPORT_SYMBOL vmlinux 0x8f83ed9e __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x8f9c199c __get_user_2 +EXPORT_SYMBOL vmlinux 0x8fd5da89 cdrom_release +EXPORT_SYMBOL vmlinux 0x8fd80892 request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0x8fe8ad1a rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0x90000fcd kernel_getsockname +EXPORT_SYMBOL vmlinux 0x90035333 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x902daea9 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x904409c6 acpi_set_firmware_waking_vector +EXPORT_SYMBOL vmlinux 0x904b5f18 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x90a1601f dmi_check_system +EXPORT_SYMBOL vmlinux 0x90a83926 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x90ce5f0f netdev_features_change +EXPORT_SYMBOL vmlinux 0x90ceef80 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x90d36602 tcp_check_req +EXPORT_SYMBOL vmlinux 0x90ea10a0 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x90eaba31 dm_io_client_create +EXPORT_SYMBOL vmlinux 0x90fefcf2 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x910ea45a dquot_scan_active +EXPORT_SYMBOL vmlinux 0x91430560 sk_receive_skb +EXPORT_SYMBOL vmlinux 0x9144a8e2 ec_burst_disable +EXPORT_SYMBOL vmlinux 0x91481982 __ratelimit +EXPORT_SYMBOL vmlinux 0x91607d95 set_memory_wb +EXPORT_SYMBOL vmlinux 0x91766c09 param_get_ulong +EXPORT_SYMBOL vmlinux 0x917b8968 scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0x91bc3d61 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x920b15c8 bio_integrity_free +EXPORT_SYMBOL vmlinux 0x9213e359 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x9214ed8a param_get_bool +EXPORT_SYMBOL vmlinux 0x92392cd9 iov_shorten +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x9245cb04 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x924e7f13 km_state_notify +EXPORT_SYMBOL vmlinux 0x927e989f gen_pool_alloc +EXPORT_SYMBOL vmlinux 0x9293cb9e search_binary_handler +EXPORT_SYMBOL vmlinux 0x92b8d618 tcp_prot +EXPORT_SYMBOL vmlinux 0x92d5d3e7 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x92e81a3a touch_atime +EXPORT_SYMBOL vmlinux 0x92ea4ae4 crc32_le +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x9325918e compat_ip_getsockopt +EXPORT_SYMBOL vmlinux 0x9384afe5 dev_load +EXPORT_SYMBOL vmlinux 0x9385667d down_read_trylock +EXPORT_SYMBOL vmlinux 0x93a1b953 fddi_type_trans +EXPORT_SYMBOL vmlinux 0x93a1d001 dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93c651be acpi_info +EXPORT_SYMBOL vmlinux 0x93cbd1ec _spin_lock_bh +EXPORT_SYMBOL vmlinux 0x93d3281e bio_clone +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x94064c06 arp_send +EXPORT_SYMBOL vmlinux 0x941f5ebb fb_validate_mode +EXPORT_SYMBOL vmlinux 0x943e868f ida_get_new +EXPORT_SYMBOL vmlinux 0x944832d6 ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x945bc6a7 copy_from_user +EXPORT_SYMBOL vmlinux 0x94847b23 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x948d99a0 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x948dbae9 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94991ef8 blk_init_tags +EXPORT_SYMBOL vmlinux 0x94ada624 __netdev_alloc_page +EXPORT_SYMBOL vmlinux 0x94b689a2 proc_symlink +EXPORT_SYMBOL vmlinux 0x94d1702d tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x94ef5b9d remap_pfn_range +EXPORT_SYMBOL vmlinux 0x94f32beb __blk_run_queue +EXPORT_SYMBOL vmlinux 0x9531af67 find_get_pages_tag +EXPORT_SYMBOL vmlinux 0x95352ea9 acpi_check_mem_region +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x954cbb26 vsprintf +EXPORT_SYMBOL vmlinux 0x9554165c blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x9561173f phy_driver_register +EXPORT_SYMBOL vmlinux 0x95783dd4 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x95ceb864 key_update +EXPORT_SYMBOL vmlinux 0x95f6270c tty_shutdown +EXPORT_SYMBOL vmlinux 0x96120102 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x9613cf34 genl_register_ops +EXPORT_SYMBOL vmlinux 0x9629486a per_cpu__cpu_number +EXPORT_SYMBOL vmlinux 0x96476765 acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0x964833b7 uart_update_timeout +EXPORT_SYMBOL vmlinux 0x9677fc3f tcp_v4_remember_stamp +EXPORT_SYMBOL vmlinux 0x9680cbfc d_alloc_root +EXPORT_SYMBOL vmlinux 0x9682eae9 proc_mkdir +EXPORT_SYMBOL vmlinux 0x968a93cb dm_dirty_log_create +EXPORT_SYMBOL vmlinux 0x968b0647 register_filesystem +EXPORT_SYMBOL vmlinux 0x968b47ff tty_mutex +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x970b3dde block_fsync +EXPORT_SYMBOL vmlinux 0x9710c39f blk_stack_limits +EXPORT_SYMBOL vmlinux 0x9715fa2c module_put +EXPORT_SYMBOL vmlinux 0x97212e23 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x97224eb4 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x9734e569 mmc_remove_host +EXPORT_SYMBOL vmlinux 0x973873ab _spin_lock +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x9759870c skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x975a9caa kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x97b2ce7b i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x97de0ddd acpi_install_gpe_block +EXPORT_SYMBOL vmlinux 0x9818e1be rtnl_notify +EXPORT_SYMBOL vmlinux 0x98248028 fb_class +EXPORT_SYMBOL vmlinux 0x983235b9 mmc_add_host +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x988863e1 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x988ed85d set_memory_x +EXPORT_SYMBOL vmlinux 0x98a32d41 unregister_quota_format +EXPORT_SYMBOL vmlinux 0x98b80c91 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x98ba3b81 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x98fa0611 unregister_nls +EXPORT_SYMBOL vmlinux 0x998e60e7 da903x_query_status +EXPORT_SYMBOL vmlinux 0x998f955b skb_append +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999d40a9 journal_update_format +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c7a8b8 jbd2_dev_to_name +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99d0e328 scm_detach_fds +EXPORT_SYMBOL vmlinux 0x99dbdc02 lock_may_write +EXPORT_SYMBOL vmlinux 0x99dcafae rfkill_set_states +EXPORT_SYMBOL vmlinux 0x99ea12ce panic_blink +EXPORT_SYMBOL vmlinux 0x9a0ce4e6 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a223a7d skb_free_datagram +EXPORT_SYMBOL vmlinux 0x9a27650b qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x9a9985be percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x9aabc564 crc16 +EXPORT_SYMBOL vmlinux 0x9abf53bb vmtruncate +EXPORT_SYMBOL vmlinux 0x9ad3562a rfkill_destroy +EXPORT_SYMBOL vmlinux 0x9af21719 address_space_init_once +EXPORT_SYMBOL vmlinux 0x9afcd67d dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x9aff8937 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x9b0d45a3 sock_wake_async +EXPORT_SYMBOL vmlinux 0x9b23fdfb md_error +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9badd74d dentry_open +EXPORT_SYMBOL vmlinux 0x9bbb14ac tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x9bc83254 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x9bde0d3e mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x9bf85a0d vfs_readv +EXPORT_SYMBOL vmlinux 0x9c012508 fb_parse_edid +EXPORT_SYMBOL vmlinux 0x9c03af71 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x9c0c22e5 km_new_mapping +EXPORT_SYMBOL vmlinux 0x9c0ea3cd memscan +EXPORT_SYMBOL vmlinux 0x9c46574a pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x9c491f60 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x9c5ef7a0 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x9c6ccf27 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x9c71e738 per_cpu__vm_event_states +EXPORT_SYMBOL vmlinux 0x9ca95a0e sort +EXPORT_SYMBOL vmlinux 0x9caf02ed put_io_context +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cc8958b request_key_async +EXPORT_SYMBOL vmlinux 0x9ccb2622 finish_wait +EXPORT_SYMBOL vmlinux 0x9cd51849 __pagevec_release +EXPORT_SYMBOL vmlinux 0x9ce4ebb9 arp_xmit +EXPORT_SYMBOL vmlinux 0x9ced38aa down_trylock +EXPORT_SYMBOL vmlinux 0x9cefa1c3 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x9cf6eff8 elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d0509dd brioctl_set +EXPORT_SYMBOL vmlinux 0x9d2d6494 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x9d33ef5e acpi_enable +EXPORT_SYMBOL vmlinux 0x9d35f5a9 save_mount_options +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d490769 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x9d57531d pnp_release_card_device +EXPORT_SYMBOL vmlinux 0x9d755509 inet_listen +EXPORT_SYMBOL vmlinux 0x9d766c16 llc_sap_open +EXPORT_SYMBOL vmlinux 0x9d7caf66 journal_get_write_access +EXPORT_SYMBOL vmlinux 0x9d85c068 commit_creds +EXPORT_SYMBOL vmlinux 0x9da659fe bdev_read_only +EXPORT_SYMBOL vmlinux 0x9db21624 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x9dd18764 lookup_hash +EXPORT_SYMBOL vmlinux 0x9e04525b pagecache_write_end +EXPORT_SYMBOL vmlinux 0x9e19f169 poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x9e1e6083 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x9e34dadc __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x9e363b6b acpi_disable_gpe +EXPORT_SYMBOL vmlinux 0x9e447b7e tty_free_termios +EXPORT_SYMBOL vmlinux 0x9e64fbfe rtc_cmos_read +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ea0ad49 __sg_free_table +EXPORT_SYMBOL vmlinux 0x9ea28ec7 acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0x9ebd4c04 adjust_resource +EXPORT_SYMBOL vmlinux 0x9ec7c2de file_remove_suid +EXPORT_SYMBOL vmlinux 0x9ecf243e napi_frags_finish +EXPORT_SYMBOL vmlinux 0x9edbecae snprintf +EXPORT_SYMBOL vmlinux 0x9ee22b6b no_llseek +EXPORT_SYMBOL vmlinux 0x9eecde16 do_brk +EXPORT_SYMBOL vmlinux 0x9ef33171 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x9efe84c2 tty_devnum +EXPORT_SYMBOL vmlinux 0x9f0aa9fb mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x9f0e037c call_usermodehelper_pipe +EXPORT_SYMBOL vmlinux 0x9f2811c1 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f2d613e param_set_bool +EXPORT_SYMBOL vmlinux 0x9f424093 free_user_ns +EXPORT_SYMBOL vmlinux 0x9f4c13b8 key_alloc +EXPORT_SYMBOL vmlinux 0x9f59a16e dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x9f636ca6 dquot_release +EXPORT_SYMBOL vmlinux 0x9f698679 blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x9f87bf5f blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x9f8dba0d key_unlink +EXPORT_SYMBOL vmlinux 0x9f92efc4 mmiotrace_printk +EXPORT_SYMBOL vmlinux 0x9f93c80e pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa274b4 dq_data_lock +EXPORT_SYMBOL vmlinux 0x9fae368e tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x9fdb8cae tcp_shutdown +EXPORT_SYMBOL vmlinux 0xa03523d5 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xa0366540 md_integrity_register +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa05a6220 nf_log_packet +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa0799345 iget_failed +EXPORT_SYMBOL vmlinux 0xa08b8c42 dquot_transfer +EXPORT_SYMBOL vmlinux 0xa08c6a7a create_mnt_ns +EXPORT_SYMBOL vmlinux 0xa0a3103e d_instantiate +EXPORT_SYMBOL vmlinux 0xa0a474a7 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xa0a4ac21 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b4a6a1 remove_arg_zero +EXPORT_SYMBOL vmlinux 0xa0c36e83 is_bad_inode +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0d3d560 ksize +EXPORT_SYMBOL vmlinux 0xa0ecb649 locks_remove_posix +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa100d575 tcp_ioctl +EXPORT_SYMBOL vmlinux 0xa1012177 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xa1034176 acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa13798f8 printk_ratelimit +EXPORT_SYMBOL vmlinux 0xa171b92f f_setown +EXPORT_SYMBOL vmlinux 0xa18d6a1c jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0xa18ef6f2 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1ba4b95 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa1bc3c57 netif_carrier_on +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1ce4c2d blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xa1cea0b8 proc_dointvec +EXPORT_SYMBOL vmlinux 0xa1df2b90 km_state_expired +EXPORT_SYMBOL vmlinux 0xa207c239 bio_copy_user +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa21d2345 stop_tty +EXPORT_SYMBOL vmlinux 0xa2263d7c generic_unplug_device +EXPORT_SYMBOL vmlinux 0xa24534fb netdev_bonding_change +EXPORT_SYMBOL vmlinux 0xa246b161 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xa2576d65 prepare_binprm +EXPORT_SYMBOL vmlinux 0xa268a4d1 input_register_handle +EXPORT_SYMBOL vmlinux 0xa2782320 dm_put_device +EXPORT_SYMBOL vmlinux 0xa28e76e6 schedule_work +EXPORT_SYMBOL vmlinux 0xa29b1708 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0xa2a1e5c9 _write_lock_bh +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2b8a2ba __init_rwsem +EXPORT_SYMBOL vmlinux 0xa2ccf767 blk_queue_bounce +EXPORT_SYMBOL vmlinux 0xa31f172d __copy_from_user_inatomic +EXPORT_SYMBOL vmlinux 0xa324bc31 elevator_init +EXPORT_SYMBOL vmlinux 0xa329f07e register_shrinker +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa33f7c7c nla_strlcpy +EXPORT_SYMBOL vmlinux 0xa350a8f8 set_memory_array_uc +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa373570e dm_dirty_log_type_register +EXPORT_SYMBOL vmlinux 0xa39fbd35 simple_fsync +EXPORT_SYMBOL vmlinux 0xa3a5be95 memmove +EXPORT_SYMBOL vmlinux 0xa3bbcd80 acpi_set_gpe_type +EXPORT_SYMBOL vmlinux 0xa3d0d641 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0xa3d15406 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0xa415b384 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0xa4163bbc kernel_accept +EXPORT_SYMBOL vmlinux 0xa41f9a8f igrab +EXPORT_SYMBOL vmlinux 0xa44ad274 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xa454a92f tcf_generic_walker +EXPORT_SYMBOL vmlinux 0xa47b47fc module_refcount +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4bde9e5 key_type_keyring +EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL vmlinux 0xa4df7f60 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xa50a9ee0 pci_dev_get +EXPORT_SYMBOL vmlinux 0xa536f0e2 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0xa56f1315 mempool_free +EXPORT_SYMBOL vmlinux 0xa5808bbf tasklet_init +EXPORT_SYMBOL vmlinux 0xa58b6804 nla_parse +EXPORT_SYMBOL vmlinux 0xa5922bb1 kfifo_init +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5adbe8c ida_destroy +EXPORT_SYMBOL vmlinux 0xa5bbf77f d_lookup +EXPORT_SYMBOL vmlinux 0xa5f7c25a journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xa5fc1b2c install_exec_creds +EXPORT_SYMBOL vmlinux 0xa5fc669d input_flush_device +EXPORT_SYMBOL vmlinux 0xa606ccb0 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xa61055ce dma_find_channel +EXPORT_SYMBOL vmlinux 0xa617b15f simple_sync_file +EXPORT_SYMBOL vmlinux 0xa626b73e dget_locked +EXPORT_SYMBOL vmlinux 0xa63d85ab slhc_remember +EXPORT_SYMBOL vmlinux 0xa663ddef blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0xa6703808 dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0xa68124fa hweight8 +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa69b2498 sock_get_timestampns +EXPORT_SYMBOL vmlinux 0xa6b64078 vfs_read +EXPORT_SYMBOL vmlinux 0xa6cc0e5f blk_init_queue +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6ec6f2d blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xa6fc8e0a dquot_free_inode +EXPORT_SYMBOL vmlinux 0xa6fd9a4a mdiobus_scan +EXPORT_SYMBOL vmlinux 0xa7052f9f acpi_root_dir +EXPORT_SYMBOL vmlinux 0xa70913e8 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xa70fabbe release_evntsel_nmi +EXPORT_SYMBOL vmlinux 0xa7100878 vfs_quota_enable +EXPORT_SYMBOL vmlinux 0xa71f8cde do_splice_from +EXPORT_SYMBOL vmlinux 0xa7239ea4 dev_unicast_delete +EXPORT_SYMBOL vmlinux 0xa72a0f5b nr_online_nodes +EXPORT_SYMBOL vmlinux 0xa75deeab ethtool_op_get_tso +EXPORT_SYMBOL vmlinux 0xa786950e get_user_pages +EXPORT_SYMBOL vmlinux 0xa789a9ec scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0xa78b569e __lock_buffer +EXPORT_SYMBOL vmlinux 0xa7949cd9 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0xa7a358f2 blk_sync_queue +EXPORT_SYMBOL vmlinux 0xa7aa1548 swiotlb_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0xa7aaeea1 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xa7c221ce tty_hangup +EXPORT_SYMBOL vmlinux 0xa7ca9322 do_sync_read +EXPORT_SYMBOL vmlinux 0xa81ab8f4 inet_csk_accept +EXPORT_SYMBOL vmlinux 0xa835ae44 tty_port_close +EXPORT_SYMBOL vmlinux 0xa8532866 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0xa85b2f0c __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xa85cf089 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0xa869bab8 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0xa8850c29 journal_init_dev +EXPORT_SYMBOL vmlinux 0xa886a958 krealloc +EXPORT_SYMBOL vmlinux 0xa888b302 tty_set_operations +EXPORT_SYMBOL vmlinux 0xa89bd661 consume_skb +EXPORT_SYMBOL vmlinux 0xa8a6f639 __check_region +EXPORT_SYMBOL vmlinux 0xa8bf6889 registered_fb +EXPORT_SYMBOL vmlinux 0xa8caca96 key_put +EXPORT_SYMBOL vmlinux 0xa8d22cd3 keyring_search +EXPORT_SYMBOL vmlinux 0xa8d68abd acpi_warning +EXPORT_SYMBOL vmlinux 0xa8d7a5f1 __kill_fasync +EXPORT_SYMBOL vmlinux 0xa8fbb54c journal_stop +EXPORT_SYMBOL vmlinux 0xa8fbf582 idr_replace +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa8ff6c91 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0xa9012f32 scsi_init_io +EXPORT_SYMBOL vmlinux 0xa90c4971 unregister_binfmt +EXPORT_SYMBOL vmlinux 0xa91b5561 acpi_video_backlight_support +EXPORT_SYMBOL vmlinux 0xa93f04c4 skb_trim +EXPORT_SYMBOL vmlinux 0xa99ce956 init_buffer +EXPORT_SYMBOL vmlinux 0xa9bd2676 __vmalloc +EXPORT_SYMBOL vmlinux 0xa9d59dcb __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xa9f341c5 sk_common_release +EXPORT_SYMBOL vmlinux 0xa9f9d067 block_prepare_write +EXPORT_SYMBOL vmlinux 0xa9fafcb2 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xa9fcf31d wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0xaa1be8f6 tty_port_close_end +EXPORT_SYMBOL vmlinux 0xaa4ff839 sk_filter +EXPORT_SYMBOL vmlinux 0xaa6a3e8c __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xaa84a8ae acpi_processor_power_init_bm_check +EXPORT_SYMBOL vmlinux 0xaab06af8 _write_lock_irqsave +EXPORT_SYMBOL vmlinux 0xaabb6bea tty_port_init +EXPORT_SYMBOL vmlinux 0xaaca670e filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaaea2206 __dst_free +EXPORT_SYMBOL vmlinux 0xaaf45875 acpi_lid_notifier_unregister +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab0d9096 skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0xab33a1ab __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xab34137c __xfrm_lookup +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab65ed80 set_memory_uc +EXPORT_SYMBOL vmlinux 0xab770678 rdmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0xaba9ff34 allocate_resource +EXPORT_SYMBOL vmlinux 0xabb50bdb agp_generic_destroy_page +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabd159cb __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0xabd240e1 llc_sap_find +EXPORT_SYMBOL vmlinux 0xabd360db pci_set_power_state +EXPORT_SYMBOL vmlinux 0xabd3ffb9 agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0xabdcddcb tcp_v4_md5_do_del +EXPORT_SYMBOL vmlinux 0xabe75325 sk_stop_timer +EXPORT_SYMBOL vmlinux 0xabe85a21 idr_init +EXPORT_SYMBOL vmlinux 0xabef257b jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac383451 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0xac58ea5e acpi_unload_table_id +EXPORT_SYMBOL vmlinux 0xac6794a7 seq_write +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac76fb11 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xac7bda58 phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0xac97fe6e journal_release_buffer +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xaccc354f skb_make_writable +EXPORT_SYMBOL vmlinux 0xaccc929f blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xacdeb154 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf565ba load_nls +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad13c689 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xad25fb12 __memcpy +EXPORT_SYMBOL vmlinux 0xad69c9f6 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0xad6b0d82 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xad6bc591 fput +EXPORT_SYMBOL vmlinux 0xad8de1b3 acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0xad8f6e10 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xad9f4db6 pci_get_subsys +EXPORT_SYMBOL vmlinux 0xada7ecbd ipv4_specific +EXPORT_SYMBOL vmlinux 0xada8058f vfs_quota_off +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadaf28b4 datagram_poll +EXPORT_SYMBOL vmlinux 0xae8e83e9 simple_transaction_get +EXPORT_SYMBOL vmlinux 0xaec41102 agp_collect_device_status +EXPORT_SYMBOL vmlinux 0xaed013b9 posix_acl_valid +EXPORT_SYMBOL vmlinux 0xaefeca3f pneigh_enqueue +EXPORT_SYMBOL vmlinux 0xaf06df0e netlink_set_err +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf53a839 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0xaf6e5e61 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0xaf73f1b4 __break_lease +EXPORT_SYMBOL vmlinux 0xafba08c9 sock_get_timestamp +EXPORT_SYMBOL vmlinux 0xafe82e10 strcspn +EXPORT_SYMBOL vmlinux 0xaff90e09 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0xb00ef5ac proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xb0114f5a simple_link +EXPORT_SYMBOL vmlinux 0xb014ac10 do_SAK +EXPORT_SYMBOL vmlinux 0xb0203ac9 pci_pme_active +EXPORT_SYMBOL vmlinux 0xb02b866c uart_match_port +EXPORT_SYMBOL vmlinux 0xb04ea8f0 agp_rebind_memory +EXPORT_SYMBOL vmlinux 0xb051909f ida_init +EXPORT_SYMBOL vmlinux 0xb055d8da posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0xb06f37c8 swiotlb_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0xb07dfb3d acpi_remove_gpe_handler +EXPORT_SYMBOL vmlinux 0xb097a68c unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0xb0a94457 generic_write_end +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0baeaed set_user_nice +EXPORT_SYMBOL vmlinux 0xb0ce26b3 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0xb0df0f46 vfs_quota_on_mount +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb101037b mdio_bus_type +EXPORT_SYMBOL vmlinux 0xb1096f88 kick_iocb +EXPORT_SYMBOL vmlinux 0xb111be59 scsi_host_get +EXPORT_SYMBOL vmlinux 0xb11fa1ce strlcat +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb133fdeb __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0xb1645a2e sg_free_table +EXPORT_SYMBOL vmlinux 0xb165ceb1 path_get +EXPORT_SYMBOL vmlinux 0xb1706904 hippi_change_mtu +EXPORT_SYMBOL vmlinux 0xb1837e35 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xb18e02c3 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xb1904b35 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1a3026f llc_build_and_send_ui_pkt +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1cfad22 rdmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xb1d78986 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xb1f975aa unlock_kernel +EXPORT_SYMBOL vmlinux 0xb20a1aaa inet_stream_connect +EXPORT_SYMBOL vmlinux 0xb20ecf88 acpi_run_osc +EXPORT_SYMBOL vmlinux 0xb219d56c wbinvd_on_cpu +EXPORT_SYMBOL vmlinux 0xb224fbe2 param_get_short +EXPORT_SYMBOL vmlinux 0xb22fe6a3 netdev_increment_features +EXPORT_SYMBOL vmlinux 0xb239fe99 ip_setsockopt +EXPORT_SYMBOL vmlinux 0xb2464c43 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb279d5bf neigh_ifdown +EXPORT_SYMBOL vmlinux 0xb279da12 pv_lock_ops +EXPORT_SYMBOL vmlinux 0xb2826159 inet_shutdown +EXPORT_SYMBOL vmlinux 0xb28c8229 sync_blockdev +EXPORT_SYMBOL vmlinux 0xb2e55898 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xb2fd5ceb __put_user_4 +EXPORT_SYMBOL vmlinux 0xb30d3c96 blk_queue_max_sectors +EXPORT_SYMBOL vmlinux 0xb31157f5 phy_disconnect +EXPORT_SYMBOL vmlinux 0xb3120ded register_netdev +EXPORT_SYMBOL vmlinux 0xb3205415 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0xb3284531 acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xb34d4c2e acpi_terminate +EXPORT_SYMBOL vmlinux 0xb352177e find_first_bit +EXPORT_SYMBOL vmlinux 0xb36d0e7f acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0xb3946ef3 mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0xb397e54e swiotlb_alloc_coherent +EXPORT_SYMBOL vmlinux 0xb3994c7a per_cpu__kstat +EXPORT_SYMBOL vmlinux 0xb3a307c6 si_meminfo +EXPORT_SYMBOL vmlinux 0xb3c42c94 per_cpu__x86_bios_cpu_apicid +EXPORT_SYMBOL vmlinux 0xb3d89a96 dm_dirty_log_type_unregister +EXPORT_SYMBOL vmlinux 0xb3ff1f69 free_pages_exact +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb42453d3 param_get_invbool +EXPORT_SYMBOL vmlinux 0xb4279ab7 downgrade_write +EXPORT_SYMBOL vmlinux 0xb4390f9a mcount +EXPORT_SYMBOL vmlinux 0xb44212f9 acpi_device_hid +EXPORT_SYMBOL vmlinux 0xb45b24f6 k8_nb_ids +EXPORT_SYMBOL vmlinux 0xb4630d36 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb49c8ab0 nla_reserve +EXPORT_SYMBOL vmlinux 0xb49d3bce vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0xb4b0ee4e down_read +EXPORT_SYMBOL vmlinux 0xb4b491f6 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0xb4ca9447 __kfifo_get +EXPORT_SYMBOL vmlinux 0xb4cc9939 md_register_thread +EXPORT_SYMBOL vmlinux 0xb4def5ac simple_rename +EXPORT_SYMBOL vmlinux 0xb5044271 vsscanf +EXPORT_SYMBOL vmlinux 0xb510ba1d compat_mc_getsockopt +EXPORT_SYMBOL vmlinux 0xb512c036 read_cache_pages +EXPORT_SYMBOL vmlinux 0xb523ecaa seq_printf +EXPORT_SYMBOL vmlinux 0xb52b7976 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb59e0375 vfs_create +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5b84f8f ethtool_op_get_rx_csum +EXPORT_SYMBOL vmlinux 0xb5c2b94c bitmap_start_sync +EXPORT_SYMBOL vmlinux 0xb5c39c89 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xb5ca1c46 slhc_free +EXPORT_SYMBOL vmlinux 0xb5cc0828 mmc_host_enable +EXPORT_SYMBOL vmlinux 0xb5cef264 journal_check_available_features +EXPORT_SYMBOL vmlinux 0xb5d52c27 ec_transaction +EXPORT_SYMBOL vmlinux 0xb5f28b5f __any_online_cpu +EXPORT_SYMBOL vmlinux 0xb611fb71 generic_file_aio_read +EXPORT_SYMBOL vmlinux 0xb62032c6 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0xb6244511 sg_init_one +EXPORT_SYMBOL vmlinux 0xb6327ff2 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0xb6353555 per_cpu__x86_cpu_to_apicid +EXPORT_SYMBOL vmlinux 0xb6480e93 netlink_unicast +EXPORT_SYMBOL vmlinux 0xb656ef05 bio_kmalloc +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb68cc290 simple_transaction_set +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6bffb99 kstat_irqs_cpu +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6cbe886 acpi_get_node +EXPORT_SYMBOL vmlinux 0xb6ccde25 dev_set_mtu +EXPORT_SYMBOL vmlinux 0xb6e227aa rtc_lock +EXPORT_SYMBOL vmlinux 0xb7256063 posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0xb73e42fa starget_for_each_device +EXPORT_SYMBOL vmlinux 0xb758b225 acpi_disable_event +EXPORT_SYMBOL vmlinux 0xb76c56f6 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xb77ffea1 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xb79254a5 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0xb798b8e4 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0xb7a47297 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xb7c6a8c9 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0xb7ccb3c7 twl4030_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xb7d7c136 close_bdev_exclusive +EXPORT_SYMBOL vmlinux 0xb807c6c5 submit_bio +EXPORT_SYMBOL vmlinux 0xb80e0c39 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0xb811c171 security_inode_permission +EXPORT_SYMBOL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL vmlinux 0xb818aa78 register_gifconf +EXPORT_SYMBOL vmlinux 0xb81cf266 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xb81d3926 bio_init +EXPORT_SYMBOL vmlinux 0xb839029c elv_rb_add +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb88568ba swiotlb_unmap_sg +EXPORT_SYMBOL vmlinux 0xb893e46c tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8af87a0 mpage_writepages +EXPORT_SYMBOL vmlinux 0xb8b0f28e inet_put_port +EXPORT_SYMBOL vmlinux 0xb8b1d78a blk_put_request +EXPORT_SYMBOL vmlinux 0xb8bd6293 fb_pan_display +EXPORT_SYMBOL vmlinux 0xb8cf4ac8 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0xb8d1968c __rta_fill +EXPORT_SYMBOL vmlinux 0xb8e7ce2c __put_user_8 +EXPORT_SYMBOL vmlinux 0xb8f3aeed xfrm_init_state +EXPORT_SYMBOL vmlinux 0xb8f6bc42 scsi_add_device +EXPORT_SYMBOL vmlinux 0xb904be71 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0xb90f78a0 devm_ioport_map +EXPORT_SYMBOL vmlinux 0xb91c1a83 scsi_free_command +EXPORT_SYMBOL vmlinux 0xb979597a sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb999ff13 xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0xb9fd2205 add_efi_memmap +EXPORT_SYMBOL vmlinux 0xba0f40e0 netpoll_setup +EXPORT_SYMBOL vmlinux 0xba2d8594 ec_read +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba7b2290 zero_fill_bio +EXPORT_SYMBOL vmlinux 0xba855fe1 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0xbaa2782a kstrndup +EXPORT_SYMBOL vmlinux 0xbaaab8ae timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xbb06b8d1 agp_alloc_page_array +EXPORT_SYMBOL vmlinux 0xbb167766 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb19dc3f tcp_read_sock +EXPORT_SYMBOL vmlinux 0xbb1fad6a flush_delayed_work +EXPORT_SYMBOL vmlinux 0xbb251839 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0xbb3a24ff pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xbb458f82 x86_dma_fallback_dev +EXPORT_SYMBOL vmlinux 0xbb5866fd dev_set_mac_address +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb783d89 scsi_remove_device +EXPORT_SYMBOL vmlinux 0xbbbcdaa7 inet_release +EXPORT_SYMBOL vmlinux 0xbbbd5381 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0xbbe0aefc dmam_free_coherent +EXPORT_SYMBOL vmlinux 0xbbe39037 journal_extend +EXPORT_SYMBOL vmlinux 0xbc1fb3f9 fifo_set_limit +EXPORT_SYMBOL vmlinux 0xbc3570de xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbccbb49c idr_remove_all +EXPORT_SYMBOL vmlinux 0xbccdb1d2 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0xbcd9fbeb vfs_rename +EXPORT_SYMBOL vmlinux 0xbcec0aa8 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0xbd0cd6a8 mmc_suspend_host +EXPORT_SYMBOL vmlinux 0xbd270894 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0xbd3505f8 scsi_remove_host +EXPORT_SYMBOL vmlinux 0xbd4dab37 dev_addr_add +EXPORT_SYMBOL vmlinux 0xbd4e6b8f nobh_write_end +EXPORT_SYMBOL vmlinux 0xbdaf5b07 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0xbdbe0e56 dma_set_mask +EXPORT_SYMBOL vmlinux 0xbdc984d5 bdget +EXPORT_SYMBOL vmlinux 0xbde403c5 napi_reuse_skb +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbe025bea netif_napi_add +EXPORT_SYMBOL vmlinux 0xbe2c5c76 inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0xbe3f4b94 agp_free_page_array +EXPORT_SYMBOL vmlinux 0xbe499d81 copy_to_user +EXPORT_SYMBOL vmlinux 0xbe4be58e scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xbe58e340 agp_generic_insert_memory +EXPORT_SYMBOL vmlinux 0xbe59127f splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0xbe6b17f7 textsearch_prepare +EXPORT_SYMBOL vmlinux 0xbe90dfc9 skb_queue_purge +EXPORT_SYMBOL vmlinux 0xbeb66826 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0xbecdce74 ida_pre_get +EXPORT_SYMBOL vmlinux 0xbed7552b pnp_start_dev +EXPORT_SYMBOL vmlinux 0xbee04438 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xbee4b362 mdiobus_alloc +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf28f18a arp_tbl +EXPORT_SYMBOL vmlinux 0xbf2d3d9e rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0xbf3c582a sb_min_blocksize +EXPORT_SYMBOL vmlinux 0xbf3e005b mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf8ce7a2 boot_cpu_data +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfb0442e dev_trans_start +EXPORT_SYMBOL vmlinux 0xbfba49c1 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0xbfbe725e agp_generic_remove_memory +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfcd5404 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0xbfd8cf1f vfs_fsync +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xbfee3bba mdiobus_write +EXPORT_SYMBOL vmlinux 0xc001aca7 rfkill_alloc +EXPORT_SYMBOL vmlinux 0xc003c637 __strncpy_from_user +EXPORT_SYMBOL vmlinux 0xc0044724 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xc00486c8 scsi_target_resume +EXPORT_SYMBOL vmlinux 0xc00ce279 lro_receive_frags +EXPORT_SYMBOL vmlinux 0xc011ec72 textsearch_register +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc05ef80e cap_netlink_recv +EXPORT_SYMBOL vmlinux 0xc06509d1 init_file +EXPORT_SYMBOL vmlinux 0xc06b7fa6 sock_create_lite +EXPORT_SYMBOL vmlinux 0xc07d43ae acpi_evaluate_reference +EXPORT_SYMBOL vmlinux 0xc09651d9 crc32_be +EXPORT_SYMBOL vmlinux 0xc09acf5c scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL vmlinux 0xc0cc02cd unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0xc0d15904 inode_permission +EXPORT_SYMBOL vmlinux 0xc0d2e55e inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xc10d4f6b agp_generic_destroy_pages +EXPORT_SYMBOL vmlinux 0xc13bcae4 fb_blank +EXPORT_SYMBOL vmlinux 0xc14c3f52 set_blocksize +EXPORT_SYMBOL vmlinux 0xc16cffa1 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xc18fa079 slow_work_cancel +EXPORT_SYMBOL vmlinux 0xc1f18cc5 pci_disable_msix +EXPORT_SYMBOL vmlinux 0xc212a47f ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xc235eb34 ilookup +EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL vmlinux 0xc248a2aa xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0xc24b3923 sk_run_filter +EXPORT_SYMBOL vmlinux 0xc254af48 dcache_lock +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc25704d9 iput +EXPORT_SYMBOL vmlinux 0xc27111d4 ethtool_op_set_sg +EXPORT_SYMBOL vmlinux 0xc2a1873b d_find_alias +EXPORT_SYMBOL vmlinux 0xc2bdf68c __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xc2be9086 copy_io_context +EXPORT_SYMBOL vmlinux 0xc2c8ced8 neigh_create +EXPORT_SYMBOL vmlinux 0xc2cd3a0a scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xc2dab4a8 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2e69ad4 sock_i_uid +EXPORT_SYMBOL vmlinux 0xc316b98c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0xc32871e9 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0xc33f6f4c on_each_cpu +EXPORT_SYMBOL vmlinux 0xc34a8df5 buffer_migrate_page +EXPORT_SYMBOL vmlinux 0xc363cfbe scm_fp_dup +EXPORT_SYMBOL vmlinux 0xc37038fa tty_check_change +EXPORT_SYMBOL vmlinux 0xc382660a acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc390e690 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0xc3a5c220 scsi_finish_command +EXPORT_SYMBOL vmlinux 0xc3aaf0a9 __put_user_1 +EXPORT_SYMBOL vmlinux 0xc3aec665 bdi_init +EXPORT_SYMBOL vmlinux 0xc3af587e dev_get_by_index +EXPORT_SYMBOL vmlinux 0xc3c15f07 dev_disable_lro +EXPORT_SYMBOL vmlinux 0xc3c6033a pci_remove_bus +EXPORT_SYMBOL vmlinux 0xc3db1ee1 start_tty +EXPORT_SYMBOL vmlinux 0xc3f5cdb9 lock_rename +EXPORT_SYMBOL vmlinux 0xc402cc99 register_acpi_notifier +EXPORT_SYMBOL vmlinux 0xc4164dc1 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0xc420081d blk_start_request +EXPORT_SYMBOL vmlinux 0xc42765b4 elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0xc427f37d vfs_set_dqblk +EXPORT_SYMBOL vmlinux 0xc456e061 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0xc464cc8f cdrom_ioctl +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4c4708d __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xc4d4584d input_release_device +EXPORT_SYMBOL vmlinux 0xc4d55a2c blk_peek_request +EXPORT_SYMBOL vmlinux 0xc4d89569 vfs_follow_link +EXPORT_SYMBOL vmlinux 0xc4e9c01c cpu_active_mask +EXPORT_SYMBOL vmlinux 0xc5116f5a dev_get_by_flags +EXPORT_SYMBOL vmlinux 0xc5230f65 register_md_personality +EXPORT_SYMBOL vmlinux 0xc52f5714 fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0xc536dfd5 find_vma +EXPORT_SYMBOL vmlinux 0xc53c882d idr_get_new +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc558530d profile_pc +EXPORT_SYMBOL vmlinux 0xc55f7dc7 _write_trylock +EXPORT_SYMBOL vmlinux 0xc580cbbf cont_write_begin +EXPORT_SYMBOL vmlinux 0xc5844fb8 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0xc5a597ca posix_lock_file +EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL vmlinux 0xc5ef0619 netpoll_print_options +EXPORT_SYMBOL vmlinux 0xc5fb3dd6 mutex_lock +EXPORT_SYMBOL vmlinux 0xc640e152 alloc_disk +EXPORT_SYMBOL vmlinux 0xc64b6508 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL vmlinux 0xc691b895 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0xc6b8fdb1 add_disk +EXPORT_SYMBOL vmlinux 0xc6ba6a7f bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0xc6c3835a do_sync_write +EXPORT_SYMBOL vmlinux 0xc7167e26 generic_make_request +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc722227e posix_acl_clone +EXPORT_SYMBOL vmlinux 0xc73d3483 pci_request_regions +EXPORT_SYMBOL vmlinux 0xc740c64a memchr +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a24d76 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7b59c3c pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0xc7c65d2d neigh_for_each +EXPORT_SYMBOL vmlinux 0xc7dc1ccd compat_ip_setsockopt +EXPORT_SYMBOL vmlinux 0xc819f8ce pnp_possible_config +EXPORT_SYMBOL vmlinux 0xc856f189 vfs_quota_on_path +EXPORT_SYMBOL vmlinux 0xc85ad975 simple_readpage +EXPORT_SYMBOL vmlinux 0xc85f3e07 vga_get +EXPORT_SYMBOL vmlinux 0xc863806a security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xc8694c74 acpi_bus_generate_proc_event +EXPORT_SYMBOL vmlinux 0xc872d82a redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0xc897c382 sg_init_table +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8ca3e25 acpi_get_child +EXPORT_SYMBOL vmlinux 0xc8d17a65 thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0xc8d526f5 __ht_create_irq +EXPORT_SYMBOL vmlinux 0xc8e832eb nla_append +EXPORT_SYMBOL vmlinux 0xc90b7716 drop_super +EXPORT_SYMBOL vmlinux 0xc9390b24 unregister_8022_client +EXPORT_SYMBOL vmlinux 0xc971d43b blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0xc98ce8c2 journal_destroy +EXPORT_SYMBOL vmlinux 0xc998d641 icmp_err_convert +EXPORT_SYMBOL vmlinux 0xc9ab2eef acpi_os_wait_events_complete +EXPORT_SYMBOL vmlinux 0xc9b16215 ___pskb_trim +EXPORT_SYMBOL vmlinux 0xc9e6a0cc __ip_select_ident +EXPORT_SYMBOL vmlinux 0xc9e9db44 pci_claim_resource +EXPORT_SYMBOL vmlinux 0xc9ec8704 udp_table +EXPORT_SYMBOL vmlinux 0xc9fc5a34 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xca18511f ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca6b74b2 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0xca7f8b41 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xca8acc78 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xcabdc0ac simple_pin_fs +EXPORT_SYMBOL vmlinux 0xcac440a1 vfs_unlink +EXPORT_SYMBOL vmlinux 0xcac946bd vfs_writev +EXPORT_SYMBOL vmlinux 0xcaeac8bf tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0xcaf86bd6 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0xcaff14a1 scsi_prep_return +EXPORT_SYMBOL vmlinux 0xcb0f5e12 register_8022_client +EXPORT_SYMBOL vmlinux 0xcb26159d neigh_lookup +EXPORT_SYMBOL vmlinux 0xcb319c7c security_path_mkdir +EXPORT_SYMBOL vmlinux 0xcb559bcf inode_change_ok +EXPORT_SYMBOL vmlinux 0xcb6beb40 hweight32 +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcb8210b1 vlan_gro_frags +EXPORT_SYMBOL vmlinux 0xcb8a4d75 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0xcbb9d7db groups_free +EXPORT_SYMBOL vmlinux 0xcbcc61d4 create_proc_entry +EXPORT_SYMBOL vmlinux 0xcbd162a0 generic_show_options +EXPORT_SYMBOL vmlinux 0xcbe12780 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xcbe23a13 dquot_release_reserved_space +EXPORT_SYMBOL vmlinux 0xcbfcf2ca tty_name +EXPORT_SYMBOL vmlinux 0xcc07af75 strnlen +EXPORT_SYMBOL vmlinux 0xcc08196a scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc33d0b8 inode_set_bytes +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc3f176f per_cpu__x86_cpu_to_node_map +EXPORT_SYMBOL vmlinux 0xcc4b444b inet_del_protocol +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc51ee50 dma_spin_lock +EXPORT_SYMBOL vmlinux 0xcc52d4e8 rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0xcc714941 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc80ff0a swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0xcc8a8718 dm_table_get_size +EXPORT_SYMBOL vmlinux 0xcca9aaf6 call_usermodehelper_stdinpipe +EXPORT_SYMBOL vmlinux 0xccac26b4 inet_sendmsg +EXPORT_SYMBOL vmlinux 0xccb6062c key_link +EXPORT_SYMBOL vmlinux 0xccb7fbd2 netlink_broadcast +EXPORT_SYMBOL vmlinux 0xccd373d7 agp_generic_alloc_by_type +EXPORT_SYMBOL vmlinux 0xccd675fc i2c_release_client +EXPORT_SYMBOL vmlinux 0xccf9d636 alloc_fcdev +EXPORT_SYMBOL vmlinux 0xcd248e98 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xcd90fe6b init_net +EXPORT_SYMBOL vmlinux 0xcdbd43bf llc_mac_hdr_init +EXPORT_SYMBOL vmlinux 0xcdf9e930 lock_fb_info +EXPORT_SYMBOL vmlinux 0xcdfbee7b rtc_dev_update_irq_enable_emul +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce28ffd0 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xce36ded6 sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xce3cbb14 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0xce4904a4 acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce61cfa7 compat_sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xcef5f72e bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xcef90d6e fail_migrate_page +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf0ca29e phy_attach +EXPORT_SYMBOL vmlinux 0xcf137365 set_binfmt +EXPORT_SYMBOL vmlinux 0xcf1d28ab acpi_error +EXPORT_SYMBOL vmlinux 0xcf2003d8 rt6_lookup +EXPORT_SYMBOL vmlinux 0xcf4080c5 sock_no_listen +EXPORT_SYMBOL vmlinux 0xcf563c3c tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0xcf6cfe1f msrs_free +EXPORT_SYMBOL vmlinux 0xcf6f73a8 ps2_end_command +EXPORT_SYMBOL vmlinux 0xcf7f5b79 proc_create_data +EXPORT_SYMBOL vmlinux 0xcf987afe inet_select_addr +EXPORT_SYMBOL vmlinux 0xcfadd723 __percpu_counter_add +EXPORT_SYMBOL vmlinux 0xcfaecdba compat_tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xcfb9006e jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0xcfc4ac73 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xcff53400 kref_put +EXPORT_SYMBOL vmlinux 0xcfffc0ce xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xd00de857 eth_validate_addr +EXPORT_SYMBOL vmlinux 0xd00e8140 generic_write_sync +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd01b3bdb ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0xd08197fa acpi_load_tables +EXPORT_SYMBOL vmlinux 0xd0e08675 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL vmlinux 0xd139eaa5 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xd1472061 acpi_pci_register_driver +EXPORT_SYMBOL vmlinux 0xd15f85d5 pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0xd1648503 tty_port_close_start +EXPORT_SYMBOL vmlinux 0xd1878c8c mmc_power_save_host +EXPORT_SYMBOL vmlinux 0xd18b6eb2 acpi_unmap_lsapic +EXPORT_SYMBOL vmlinux 0xd19bb294 acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0xd1a51de8 generic_block_bmap +EXPORT_SYMBOL vmlinux 0xd1c98040 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0xd1f6c5f3 smp_num_siblings +EXPORT_SYMBOL vmlinux 0xd1f91bcd dev_base_lock +EXPORT_SYMBOL vmlinux 0xd2235d73 clocksource_register +EXPORT_SYMBOL vmlinux 0xd22c2144 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0xd2480a30 tcp_alloc_md5sig_pool +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 0xd2651e25 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0xd267d42c down_killable +EXPORT_SYMBOL vmlinux 0xd26d002e neigh_connected_output +EXPORT_SYMBOL vmlinux 0xd27458fc ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0xd27e74cd skb_tx_hash +EXPORT_SYMBOL vmlinux 0xd2858060 vc_cons +EXPORT_SYMBOL vmlinux 0xd28da877 phy_disable_interrupts +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2a75ee0 dmi_first_match +EXPORT_SYMBOL vmlinux 0xd2bddf4f block_truncate_page +EXPORT_SYMBOL vmlinux 0xd2f19882 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0xd2f1e5cd jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xd2f71c4f pci_find_bus +EXPORT_SYMBOL vmlinux 0xd34f0c62 gen_pool_create +EXPORT_SYMBOL vmlinux 0xd3729966 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0xd38ba75b tcp_proc_register +EXPORT_SYMBOL vmlinux 0xd38e2755 phy_device_register +EXPORT_SYMBOL vmlinux 0xd3951da4 acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0xd3996f0d page_readlink +EXPORT_SYMBOL vmlinux 0xd3a870da input_event +EXPORT_SYMBOL vmlinux 0xd3ad6c77 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xd3af979c memdup_user +EXPORT_SYMBOL vmlinux 0xd3f74cf1 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xd4140ffa unregister_con_driver +EXPORT_SYMBOL vmlinux 0xd42b7232 _write_unlock_bh +EXPORT_SYMBOL vmlinux 0xd4406e4f vlan_gro_receive +EXPORT_SYMBOL vmlinux 0xd44d4907 block_sync_page +EXPORT_SYMBOL vmlinux 0xd4596a0f simple_transaction_release +EXPORT_SYMBOL vmlinux 0xd4752913 new_inode +EXPORT_SYMBOL vmlinux 0xd488f642 do_splice_to +EXPORT_SYMBOL vmlinux 0xd48a2307 skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0xd4c4ce79 simple_fill_super +EXPORT_SYMBOL vmlinux 0xd4d7205d clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xd4e79cf7 genphy_update_link +EXPORT_SYMBOL vmlinux 0xd4f46d8f kernel_bind +EXPORT_SYMBOL vmlinux 0xd504feb3 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xd50fef48 acpi_detach_data +EXPORT_SYMBOL vmlinux 0xd51cc572 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xd51fd7e7 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd5296b60 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0xd56b0f72 simple_getattr +EXPORT_SYMBOL vmlinux 0xd57f8789 iommu_num_pages +EXPORT_SYMBOL vmlinux 0xd5840104 dquot_reserve_space +EXPORT_SYMBOL vmlinux 0xd58cfa61 console_stop +EXPORT_SYMBOL vmlinux 0xd5bab189 dev_close +EXPORT_SYMBOL vmlinux 0xd5c7c61d sysctl_string +EXPORT_SYMBOL vmlinux 0xd5d6b881 input_filter_device +EXPORT_SYMBOL vmlinux 0xd5ea4462 __lookup_one_len +EXPORT_SYMBOL vmlinux 0xd5fb47c3 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xd60d7af4 ida_remove +EXPORT_SYMBOL vmlinux 0xd61d42a8 dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd63a37da dquot_commit +EXPORT_SYMBOL vmlinux 0xd6574d39 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xd65fe09b inet_add_protocol +EXPORT_SYMBOL vmlinux 0xd66fa85c acpi_bus_get_device +EXPORT_SYMBOL vmlinux 0xd6a78d08 smp_call_function_single +EXPORT_SYMBOL vmlinux 0xd6b33026 cpu_khz +EXPORT_SYMBOL vmlinux 0xd6c26b7e do_mmap_pgoff +EXPORT_SYMBOL vmlinux 0xd6cc2780 invalidate_bdev +EXPORT_SYMBOL vmlinux 0xd6d68c6b vm_stat +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f9b9b4 eth_header_parse +EXPORT_SYMBOL vmlinux 0xd6fb3735 bitmap_end_sync +EXPORT_SYMBOL vmlinux 0xd6fe73c1 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0xd727f7d5 acpi_bus_start +EXPORT_SYMBOL vmlinux 0xd74e3176 ethtool_op_set_flags +EXPORT_SYMBOL vmlinux 0xd776d599 set_create_files_as +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd7a6fafa panic_notifier_list +EXPORT_SYMBOL vmlinux 0xd7b06cf1 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0xd7dbc82d dm_table_get +EXPORT_SYMBOL vmlinux 0xd7dd777b reserve_perfctr_nmi +EXPORT_SYMBOL vmlinux 0xd804f3c7 file_update_time +EXPORT_SYMBOL vmlinux 0xd8226a2e udplite_prot +EXPORT_SYMBOL vmlinux 0xd826a0a9 sg_miter_next +EXPORT_SYMBOL vmlinux 0xd835a869 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0xd83791bc nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd844f466 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0xd84f1ad6 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xd851af78 up_write +EXPORT_SYMBOL vmlinux 0xd8730dd2 mmc_free_host +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8b89a0b thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0xd8c185f1 vmap +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd9091363 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0xd916ef76 dma_ops +EXPORT_SYMBOL vmlinux 0xd917c158 per_cpu__node_number +EXPORT_SYMBOL vmlinux 0xd922ee1a journal_restart +EXPORT_SYMBOL vmlinux 0xd92e3d96 set_irq_chip +EXPORT_SYMBOL vmlinux 0xd94680cc xfrm_register_km +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd9899619 ppp_input_error +EXPORT_SYMBOL vmlinux 0xd9a22672 rfkill_register +EXPORT_SYMBOL vmlinux 0xd9d80c2a get_sb_nodev +EXPORT_SYMBOL vmlinux 0xda082d8c n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0xda084d3f filp_open +EXPORT_SYMBOL vmlinux 0xda0a6b0e acpi_map_lsapic +EXPORT_SYMBOL vmlinux 0xda1a7335 kasprintf +EXPORT_SYMBOL vmlinux 0xda4107f1 flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0xda44360c may_umount +EXPORT_SYMBOL vmlinux 0xda4629e4 radix_tree_insert +EXPORT_SYMBOL vmlinux 0xda619fd5 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0xda70582c mapping_tagged +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xda928914 nmi_watchdog +EXPORT_SYMBOL vmlinux 0xda9c5189 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xdabf256b fsync_bdev +EXPORT_SYMBOL vmlinux 0xdafdc10c ndisc_mc_map +EXPORT_SYMBOL vmlinux 0xdb0463ea xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0xdb8d385c pci_find_next_bus +EXPORT_SYMBOL vmlinux 0xdb9475ed ndisc_send_skb +EXPORT_SYMBOL vmlinux 0xdba0a2ae request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xdbb5ad5c node_to_cpumask_map +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbda7825 tcp_close +EXPORT_SYMBOL vmlinux 0xdbf24fad dev_mc_unsync +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc053205 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc181d79 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0xdc1df76c pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc64feff sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0xdc70df8a seq_release_private +EXPORT_SYMBOL vmlinux 0xdc7dca15 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xdc861446 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xdc873a70 screen_info +EXPORT_SYMBOL vmlinux 0xdc8eb984 mmc_card_sleep +EXPORT_SYMBOL vmlinux 0xdca0e950 genl_register_family +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcc3bd9e arch_debugfs_dir +EXPORT_SYMBOL vmlinux 0xdcc77f06 clear_bdi_congested +EXPORT_SYMBOL vmlinux 0xdcccd33c tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0xdcfd6b6a scsi_rescan_device +EXPORT_SYMBOL vmlinux 0xdd018cea agp_backend_release +EXPORT_SYMBOL vmlinux 0xdd05bac3 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xdd128d1e inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0xdd56dbac agp_allocate_memory +EXPORT_SYMBOL vmlinux 0xdd68bda0 ht_create_irq +EXPORT_SYMBOL vmlinux 0xdd7614ba eth_header_cache +EXPORT_SYMBOL vmlinux 0xdd77b7df inode_init_once +EXPORT_SYMBOL vmlinux 0xdd964ab6 neigh_table_init_no_netlink +EXPORT_SYMBOL vmlinux 0xddc1a46b write_cache_pages +EXPORT_SYMBOL vmlinux 0xdded2d28 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xde0bdcff memset +EXPORT_SYMBOL vmlinux 0xde137fe7 deny_write_access +EXPORT_SYMBOL vmlinux 0xde20a7d2 arch_acpi_processor_init_pdc +EXPORT_SYMBOL vmlinux 0xde31b902 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xde40dbaa ethtool_op_get_tx_csum +EXPORT_SYMBOL vmlinux 0xde42dbc0 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xde463f98 elevator_exit +EXPORT_SYMBOL vmlinux 0xde57c110 pskb_copy +EXPORT_SYMBOL vmlinux 0xde691076 blk_end_request +EXPORT_SYMBOL vmlinux 0xde75b689 set_irq_type +EXPORT_SYMBOL vmlinux 0xde8346c5 input_register_device +EXPORT_SYMBOL vmlinux 0xde8b75b3 iget_locked +EXPORT_SYMBOL vmlinux 0xde912e0d mmc_resume_host +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL vmlinux 0xdf0ac4a2 scsi_dma_map +EXPORT_SYMBOL vmlinux 0xdf0da3cc acpi_get_devices +EXPORT_SYMBOL vmlinux 0xdf3f8b92 register_qdisc +EXPORT_SYMBOL vmlinux 0xdf4c8767 ns_to_timeval +EXPORT_SYMBOL vmlinux 0xdf4da263 nonseekable_open +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf79edc8 check_disk_change +EXPORT_SYMBOL vmlinux 0xdf7e3e27 tr_type_trans +EXPORT_SYMBOL vmlinux 0xdf86d89c qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0xdf8762fa swiotlb_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0xdf87ff99 con_copy_unimap +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf9b08bd unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xdfb7bada acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xdfbb65b9 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xdfc5169b slhc_init +EXPORT_SYMBOL vmlinux 0xdfd79ec4 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xdfdff17b seq_putc +EXPORT_SYMBOL vmlinux 0xe02633f9 uart_resume_port +EXPORT_SYMBOL vmlinux 0xe0359c9c dev_get_flags +EXPORT_SYMBOL vmlinux 0xe0436b5b pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0xe05181cb agp3_generic_tlbflush +EXPORT_SYMBOL vmlinux 0xe052217d __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xe06ac3bb ethtool_op_get_ufo +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe099924a register_snap_client +EXPORT_SYMBOL vmlinux 0xe0ac8bd2 acpi_bus_generate_netlink_event +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0bc24a1 param_set_ushort +EXPORT_SYMBOL vmlinux 0xe0c9e9a5 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xe0d44865 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xe0d56478 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe11fb40e alloc_netdev_mq +EXPORT_SYMBOL vmlinux 0xe12efbb1 bio_put +EXPORT_SYMBOL vmlinux 0xe133d7ee scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe141aa6d insert_inode_locked +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe18c52a3 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0xe1a55b3f skb_insert +EXPORT_SYMBOL vmlinux 0xe1a790cc neigh_seq_start +EXPORT_SYMBOL vmlinux 0xe1a81c3a icmpv6msg_statistics +EXPORT_SYMBOL vmlinux 0xe1b6cd45 km_policy_expired +EXPORT_SYMBOL vmlinux 0xe1ca295a skb_put +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe211e02d pci_enable_msix +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe23d7acb up_read +EXPORT_SYMBOL vmlinux 0xe24050c7 scnprintf +EXPORT_SYMBOL vmlinux 0xe2474ef3 find_lock_page +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe255cf38 __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xe26cf493 block_invalidatepage +EXPORT_SYMBOL vmlinux 0xe29b04e9 acpi_set_firmware_waking_vector64 +EXPORT_SYMBOL vmlinux 0xe2aaaa4e i2c_clients_command +EXPORT_SYMBOL vmlinux 0xe2b33763 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0xe2bdb23e udp_proc_unregister +EXPORT_SYMBOL vmlinux 0xe2be8e30 input_grab_device +EXPORT_SYMBOL vmlinux 0xe2c730cf unregister_snap_client +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e301ae serio_close +EXPORT_SYMBOL vmlinux 0xe2e5b9d1 __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xe2e98cdb page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0xe30e0d9d mdiobus_read +EXPORT_SYMBOL vmlinux 0xe30f294c scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xe36b2aaa __elv_add_request +EXPORT_SYMBOL vmlinux 0xe38d4458 d_invalidate +EXPORT_SYMBOL vmlinux 0xe39418db sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0xe3a0847e pci_choose_state +EXPORT_SYMBOL vmlinux 0xe3ac860d udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xe3b0192b vscnprintf +EXPORT_SYMBOL vmlinux 0xe3c36fba xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xe3cafe36 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0xe3eefcdc log_wait_commit +EXPORT_SYMBOL vmlinux 0xe3fbe148 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xe43617f7 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0xe456bd3a complete +EXPORT_SYMBOL vmlinux 0xe473d896 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe4870354 _read_trylock +EXPORT_SYMBOL vmlinux 0xe49b8e34 security_path_symlink +EXPORT_SYMBOL vmlinux 0xe4a46fcc pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0xe4b24b8c __next_cpu +EXPORT_SYMBOL vmlinux 0xe4c1df3e _read_lock_bh +EXPORT_SYMBOL vmlinux 0xe4d151c6 nlmsg_notify +EXPORT_SYMBOL vmlinux 0xe4f1695e cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xe4f83f97 phy_detach +EXPORT_SYMBOL vmlinux 0xe511c3ab backlight_device_register +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe52947e7 __phys_addr +EXPORT_SYMBOL vmlinux 0xe52bdfdd fb_find_mode +EXPORT_SYMBOL vmlinux 0xe5375b12 skb_pad +EXPORT_SYMBOL vmlinux 0xe54f2813 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xe55b6363 skb_queue_head +EXPORT_SYMBOL vmlinux 0xe5665703 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0xe57708fe generic_write_checks +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe57b14d4 user_revoke +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe58dc412 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0xe5911276 pci_pme_capable +EXPORT_SYMBOL vmlinux 0xe5a35bf3 filemap_flush +EXPORT_SYMBOL vmlinux 0xe5a8c133 pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0xe5b34589 elv_abort_queue +EXPORT_SYMBOL vmlinux 0xe5bd367a filemap_fdatawait +EXPORT_SYMBOL vmlinux 0xe5c01c7f __bio_clone +EXPORT_SYMBOL vmlinux 0xe5c4c224 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5d5b608 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0xe5e27775 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe5f1db94 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xe64864d9 init_task +EXPORT_SYMBOL vmlinux 0xe65bf169 neigh_parms_release +EXPORT_SYMBOL vmlinux 0xe690b8fd __ipv6_isatap_ifid +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6d8d724 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xe6f570f5 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe6fffe1e inet6_getname +EXPORT_SYMBOL vmlinux 0xe708af3c xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0xe714375c __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xe7160b5c free_buffer_head +EXPORT_SYMBOL vmlinux 0xe716a1e2 genphy_resume +EXPORT_SYMBOL vmlinux 0xe716baed acpi_unregister_ioapic +EXPORT_SYMBOL vmlinux 0xe74b9a17 jbd2_journal_update_format +EXPORT_SYMBOL vmlinux 0xe7698c13 blk_recount_segments +EXPORT_SYMBOL vmlinux 0xe786168c rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0xe78960b9 acpi_get_physical_device +EXPORT_SYMBOL vmlinux 0xe7badac9 ip_defrag +EXPORT_SYMBOL vmlinux 0xe7bd98e6 agp_flush_chipset +EXPORT_SYMBOL vmlinux 0xe7d2aca1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xe7d32407 nmi_active +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7f08233 bio_add_page +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe80ec852 mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0xe8116e08 __kmalloc_node +EXPORT_SYMBOL vmlinux 0xe811ce38 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0xe85060c1 kobject_del +EXPORT_SYMBOL vmlinux 0xe8734cd0 register_framebuffer +EXPORT_SYMBOL vmlinux 0xe8794ce1 slhc_toss +EXPORT_SYMBOL vmlinux 0xe8967cb7 bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0xe8a3605f acpi_processor_set_thermal_limit +EXPORT_SYMBOL vmlinux 0xe8c05ced mdiobus_unregister +EXPORT_SYMBOL vmlinux 0xe8c0ba59 genphy_config_advert +EXPORT_SYMBOL vmlinux 0xe8c8592d agp_enable +EXPORT_SYMBOL vmlinux 0xe8cd902e hweight16 +EXPORT_SYMBOL vmlinux 0xe90dcae0 __request_module +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe92b0d0b dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0xe9484c11 skb_unlink +EXPORT_SYMBOL vmlinux 0xe957bc06 vfs_llseek +EXPORT_SYMBOL vmlinux 0xe96a82b5 set_bh_page +EXPORT_SYMBOL vmlinux 0xe997667b wrmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xe99c6b22 mmc_card_awake +EXPORT_SYMBOL vmlinux 0xe9a5ee8c sock_init_data +EXPORT_SYMBOL vmlinux 0xe9c9c710 kernel_connect +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea147363 printk +EXPORT_SYMBOL vmlinux 0xea376094 simple_statfs +EXPORT_SYMBOL vmlinux 0xea3b748b dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0xea59bc83 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0xea73195a journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xea7518f1 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0xea7a26ff dst_discard +EXPORT_SYMBOL vmlinux 0xea90bdd3 acpi_attach_data +EXPORT_SYMBOL vmlinux 0xead58fb9 print_hex_dump +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeaf140f0 scsi_register_driver +EXPORT_SYMBOL vmlinux 0xeb1fabf6 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0xeb23949d skb_pull +EXPORT_SYMBOL vmlinux 0xeb6ceeba mmc_host_lazy_disable +EXPORT_SYMBOL vmlinux 0xeb74d733 rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xeb7c1057 block_write_full_page +EXPORT_SYMBOL vmlinux 0xeb874792 udp_proc_register +EXPORT_SYMBOL vmlinux 0xeb8f54b3 strstrip +EXPORT_SYMBOL vmlinux 0xeba3ef1b jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0xebb0f5a3 ethtool_op_set_tx_csum +EXPORT_SYMBOL vmlinux 0xebbf1dba strncasecmp +EXPORT_SYMBOL vmlinux 0xebc8c88f md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0xebcae956 ppp_input +EXPORT_SYMBOL vmlinux 0xebd273a6 strict_strtoull +EXPORT_SYMBOL vmlinux 0xebda04e6 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0xebf1509b clocksource_unregister +EXPORT_SYMBOL vmlinux 0xec2ef1ef skb_queue_tail +EXPORT_SYMBOL vmlinux 0xec6a256b tc_classify_compat +EXPORT_SYMBOL vmlinux 0xec71ac98 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0xec794ba0 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0xec7d0569 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0xecde1418 _spin_lock_irq +EXPORT_SYMBOL vmlinux 0xecf43c07 kmalloc_caches +EXPORT_SYMBOL vmlinux 0xed1ac980 lro_vlan_hwaccel_receive_frags +EXPORT_SYMBOL vmlinux 0xed35942c pci_fixup_device +EXPORT_SYMBOL vmlinux 0xed557f14 input_register_handler +EXPORT_SYMBOL vmlinux 0xed65b053 __find_get_block +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xeda62f20 __f_setown +EXPORT_SYMBOL vmlinux 0xeda7d47d atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedcfdedd tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0xeddfd2ca netlink_kernel_create +EXPORT_SYMBOL vmlinux 0xede9ab28 vfs_mkdir +EXPORT_SYMBOL vmlinux 0xedf8a16f __mmc_claim_host +EXPORT_SYMBOL vmlinux 0xee11022d phy_stop +EXPORT_SYMBOL vmlinux 0xee2ae5da inode_add_bytes +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee6b2fdc kernel_getpeername +EXPORT_SYMBOL vmlinux 0xee72f7b9 inet6_ioctl +EXPORT_SYMBOL vmlinux 0xee7893d4 eth_type_trans +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeec1e161 revalidate_disk +EXPORT_SYMBOL vmlinux 0xef3234d9 wake_up_process +EXPORT_SYMBOL vmlinux 0xef37ccd0 unregister_netdev +EXPORT_SYMBOL vmlinux 0xef3de9dc dst_alloc +EXPORT_SYMBOL vmlinux 0xef4376e4 seq_open_private +EXPORT_SYMBOL vmlinux 0xef458902 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xef6ed1ba param_set_invbool +EXPORT_SYMBOL vmlinux 0xef9aedfc boot_option_idle_override +EXPORT_SYMBOL vmlinux 0xefb93069 generic_removexattr +EXPORT_SYMBOL vmlinux 0xefc2a227 set_pages_array_uc +EXPORT_SYMBOL vmlinux 0xefda3731 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefe099c3 acpi_get_event_status +EXPORT_SYMBOL vmlinux 0xeff1f3e7 acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0xeffaf6d0 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf001b0f4 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0xf0189889 vfs_dq_quota_on_remount +EXPORT_SYMBOL vmlinux 0xf01c1fdf fget +EXPORT_SYMBOL vmlinux 0xf02fb623 dev_getbyhwaddr +EXPORT_SYMBOL vmlinux 0xf0408743 devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0xf0538e5e tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf086ec71 agp_unbind_memory +EXPORT_SYMBOL vmlinux 0xf08dfc22 blk_queue_max_phys_segments +EXPORT_SYMBOL vmlinux 0xf0906e5a bitmap_close_sync +EXPORT_SYMBOL vmlinux 0xf0b3f396 key_validate +EXPORT_SYMBOL vmlinux 0xf0b472e3 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0xf0ca23b9 invalidate_inodes +EXPORT_SYMBOL vmlinux 0xf0cd0281 __mutex_init +EXPORT_SYMBOL vmlinux 0xf0cf2a2e find_get_page +EXPORT_SYMBOL vmlinux 0xf0d93f3e pci_map_rom +EXPORT_SYMBOL vmlinux 0xf0e6e2f5 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0xf0eb21f0 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0fdf6cb __stack_chk_fail +EXPORT_SYMBOL vmlinux 0xf106ecb3 acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0xf10707f7 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xf1079b3c kthread_bind +EXPORT_SYMBOL vmlinux 0xf10de535 ioread8 +EXPORT_SYMBOL vmlinux 0xf11543ff find_first_zero_bit +EXPORT_SYMBOL vmlinux 0xf116d4b5 copy_in_user +EXPORT_SYMBOL vmlinux 0xf16da094 uart_add_one_port +EXPORT_SYMBOL vmlinux 0xf174ed48 acquire_console_sem +EXPORT_SYMBOL vmlinux 0xf179627e skb_dequeue +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1976dca pneigh_lookup +EXPORT_SYMBOL vmlinux 0xf19ad0af skb_clone +EXPORT_SYMBOL vmlinux 0xf1b17a02 scsi_put_command +EXPORT_SYMBOL vmlinux 0xf1b7e360 per_cpu__cpu_sibling_map +EXPORT_SYMBOL vmlinux 0xf1d34abd i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xf1d64416 gen_new_estimator +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf206fc24 ps2_handle_response +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf20e73c9 single_open +EXPORT_SYMBOL vmlinux 0xf21685d3 dquot_commit_info +EXPORT_SYMBOL vmlinux 0xf221b71e free_mdio_bitbang +EXPORT_SYMBOL vmlinux 0xf223262d tty_schedule_flip +EXPORT_SYMBOL vmlinux 0xf227432b udp_disconnect +EXPORT_SYMBOL vmlinux 0xf23a63e1 fb_get_mode +EXPORT_SYMBOL vmlinux 0xf23aa1ab tcp_v4_md5_do_add +EXPORT_SYMBOL vmlinux 0xf23b4ddd audit_log_format +EXPORT_SYMBOL vmlinux 0xf27a0469 elv_add_request +EXPORT_SYMBOL vmlinux 0xf2872fb8 udp_poll +EXPORT_SYMBOL vmlinux 0xf2997713 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0xf2c19f85 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xf2d0ead0 phy_connect_direct +EXPORT_SYMBOL vmlinux 0xf2fcbfb5 security_path_mknod +EXPORT_SYMBOL vmlinux 0xf303793a dput +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf3331545 security_path_rmdir +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf33fa27b dm_exception_store_destroy +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf352d31e sock_create +EXPORT_SYMBOL vmlinux 0xf37329ca inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0xf397b9aa __tasklet_schedule +EXPORT_SYMBOL vmlinux 0xf398fa5b cfb_fillrect +EXPORT_SYMBOL vmlinux 0xf3a36f90 xfrm_input +EXPORT_SYMBOL vmlinux 0xf3ac6d5e con_is_bound +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3bf633e serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0xf3e8519a __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xf3ef69be blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0xf40a32fe pci_select_bars +EXPORT_SYMBOL vmlinux 0xf41011f6 rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xf425f498 compat_nf_getsockopt +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf4528073 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0xf4607155 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf49fe399 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0xf4a5c213 avail_to_resrv_perfctr_nmi_bit +EXPORT_SYMBOL vmlinux 0xf4ab6137 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xf4ae60de acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0xf4ca42dd sk_stream_error +EXPORT_SYMBOL vmlinux 0xf4d66985 pci_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f49c0a try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xf4f52f93 dqstats +EXPORT_SYMBOL vmlinux 0xf50212a0 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0xf5044c9f blk_alloc_queue +EXPORT_SYMBOL vmlinux 0xf5197dda cancel_dirty_page +EXPORT_SYMBOL vmlinux 0xf51ae235 touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xf52a3ab0 netif_device_detach +EXPORT_SYMBOL vmlinux 0xf53a4af1 netif_rx +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf57682c8 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0xf588aeb4 elv_rb_del +EXPORT_SYMBOL vmlinux 0xf5c9012e timespec_trunc +EXPORT_SYMBOL vmlinux 0xf5d2b1ef xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0xf5e1efe3 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xf5eb20e3 skb_under_panic +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf5fae172 notify_change +EXPORT_SYMBOL vmlinux 0xf6188de0 phy_print_status +EXPORT_SYMBOL vmlinux 0xf6402855 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0xf643eaac handle_sysrq +EXPORT_SYMBOL vmlinux 0xf660a8b9 phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0xf666cbb3 __memcpy_fromio +EXPORT_SYMBOL vmlinux 0xf67fe8d2 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xf6939ac4 get_agp_version +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6e8d606 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6ecb592 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0xf72c97fe iget5_locked +EXPORT_SYMBOL vmlinux 0xf749534a gen_pool_free +EXPORT_SYMBOL vmlinux 0xf74a63b5 x86_mce_decode_callback +EXPORT_SYMBOL vmlinux 0xf75479fe nf_afinfo +EXPORT_SYMBOL vmlinux 0xf75c9d24 dev_unicast_sync +EXPORT_SYMBOL vmlinux 0xf77b2ccb sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xf783ad23 nf_log_unregister +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf7969df4 seq_path +EXPORT_SYMBOL vmlinux 0xf7a30f31 skb_seq_read +EXPORT_SYMBOL vmlinux 0xf7ecf6e5 freeze_bdev +EXPORT_SYMBOL vmlinux 0xf7f8d104 blk_remove_plug +EXPORT_SYMBOL vmlinux 0xf8101e4d bio_alloc +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82e3d47 acpi_initialize_objects +EXPORT_SYMBOL vmlinux 0xf8341911 seq_puts +EXPORT_SYMBOL vmlinux 0xf843b6e3 pci_release_regions +EXPORT_SYMBOL vmlinux 0xf862d36a qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0xf8714142 follow_up +EXPORT_SYMBOL vmlinux 0xf873bd2a pci_target_state +EXPORT_SYMBOL vmlinux 0xf88e0ee2 acpi_get_table_header +EXPORT_SYMBOL vmlinux 0xf890fe7f pm_idle +EXPORT_SYMBOL vmlinux 0xf8b30e93 mempool_create +EXPORT_SYMBOL vmlinux 0xf8be16d3 scsi_device_get +EXPORT_SYMBOL vmlinux 0xf8cda667 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xf8cf9ee5 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0xf8ea5a1b serio_reconnect +EXPORT_SYMBOL vmlinux 0xf915143a neigh_changeaddr +EXPORT_SYMBOL vmlinux 0xf93b5ad3 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xf93f4b0a dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xf9567e60 ps2_command +EXPORT_SYMBOL vmlinux 0xf96214a6 mutex_trylock +EXPORT_SYMBOL vmlinux 0xf986fac8 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xf9899664 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0xf98a4728 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9ae3ea6 bd_claim +EXPORT_SYMBOL vmlinux 0xf9b50079 kobject_put +EXPORT_SYMBOL vmlinux 0xf9c5b219 i2c_use_client +EXPORT_SYMBOL vmlinux 0xf9c82a29 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0xf9e9f22f tcf_register_action +EXPORT_SYMBOL vmlinux 0xf9f4c4fe skb_recycle_check +EXPORT_SYMBOL vmlinux 0xfa023d36 d_genocide +EXPORT_SYMBOL vmlinux 0xfa0564fc __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfa1576dc register_netdevice +EXPORT_SYMBOL vmlinux 0xfa1603f2 dm_exception_store_type_unregister +EXPORT_SYMBOL vmlinux 0xfa3d51f4 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0xfa908648 sysctl_jiffies +EXPORT_SYMBOL vmlinux 0xfa9a0184 sk_release_kernel +EXPORT_SYMBOL vmlinux 0xfaa08da0 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xfaa89229 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xfac95b55 tty_register_device +EXPORT_SYMBOL vmlinux 0xfaca791b seq_escape +EXPORT_SYMBOL vmlinux 0xfad4daae blk_rq_init +EXPORT_SYMBOL vmlinux 0xfade665f pnp_device_attach +EXPORT_SYMBOL vmlinux 0xfade81ed invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb0443fb acpi_get_parent +EXPORT_SYMBOL vmlinux 0xfb06f93c scsi_execute_req +EXPORT_SYMBOL vmlinux 0xfb0cf2e9 touch_all_softlockup_watchdogs +EXPORT_SYMBOL vmlinux 0xfb44763a mnt_pin +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfba0c2e0 llc_sap_list_lock +EXPORT_SYMBOL vmlinux 0xfbbc0c2d md_unregister_thread +EXPORT_SYMBOL vmlinux 0xfbc5c6ec cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfbf7051c page_symlink +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc086db6 user_path_at +EXPORT_SYMBOL vmlinux 0xfc0a8638 neigh_table_clear +EXPORT_SYMBOL vmlinux 0xfc0b9194 blk_start_queue +EXPORT_SYMBOL vmlinux 0xfc1bcd32 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0xfc2e2f1f dm_io +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc4897cd uart_get_divisor +EXPORT_SYMBOL vmlinux 0xfc6256b9 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xfc62d62c sockfd_lookup +EXPORT_SYMBOL vmlinux 0xfc778de6 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0xfc7b737f journal_init_inode +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcaa4d33 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0xfcb0019a input_set_keycode +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcc4d4e4 mod_timer_pending +EXPORT_SYMBOL vmlinux 0xfccd0fae lock_may_read +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcefd18a mem_section +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd3486a1 dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0xfd41885a inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xfd4203cc agp_generic_alloc_user +EXPORT_SYMBOL vmlinux 0xfd6f4850 native_wrmsr_safe_regs +EXPORT_SYMBOL vmlinux 0xfd7d7713 acpi_exception +EXPORT_SYMBOL vmlinux 0xfd7f8b3a fasync_helper +EXPORT_SYMBOL vmlinux 0xfda7bf76 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xfda85a7d request_threaded_irq +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfdbd38c4 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0xfddcb78a del_gendisk +EXPORT_SYMBOL vmlinux 0xfde24c03 ip6_frag_match +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfe013b6b delayed_slow_work_enqueue +EXPORT_SYMBOL vmlinux 0xfe029bae pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xfe02f30c ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xfe047ce6 acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0xfe26fc7c nr_node_ids +EXPORT_SYMBOL vmlinux 0xfe33b03c alloc_buffer_head +EXPORT_SYMBOL vmlinux 0xfe392bcd generic_segment_checks +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe678338 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0xfe69bffc set_groups +EXPORT_SYMBOL vmlinux 0xfe709597 agp_generic_free_by_type +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe7c4287 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0xfe8945ac mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0xfe9487df sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0xfe96c4ce pnp_get_resource +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfec6c4db poll_initwait +EXPORT_SYMBOL vmlinux 0xfed9c6a8 xfrm_lookup +EXPORT_SYMBOL vmlinux 0xfedd35fc console_suspend_enabled +EXPORT_SYMBOL vmlinux 0xfee836f6 single_release +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xfefdd879 xrlim_allow +EXPORT_SYMBOL vmlinux 0xff107a02 phy_start_aneg +EXPORT_SYMBOL vmlinux 0xff171041 blk_unplug +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff708fd3 mempool_destroy +EXPORT_SYMBOL vmlinux 0xff7559e4 ioport_resource +EXPORT_SYMBOL vmlinux 0xff8f22b0 scsi_block_requests +EXPORT_SYMBOL vmlinux 0xff964b25 param_set_int +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffa4ddd1 ppp_unit_number +EXPORT_SYMBOL vmlinux 0xffad4b37 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xffbbfdd4 mmc_detect_change +EXPORT_SYMBOL vmlinux 0xffc51b58 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0xffc7c184 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +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/kernel/cpu/cpufreq/speedstep-lib 0x16836e04 speedstep_detect_processor +EXPORT_SYMBOL_GPL arch/x86/kernel/cpu/cpufreq/speedstep-lib 0x2af90271 speedstep_get_frequency +EXPORT_SYMBOL_GPL arch/x86/kernel/cpu/cpufreq/speedstep-lib 0xd494ee54 speedstep_get_freqs +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 0x094ac8f4 kvm_get_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x09518019 emulate_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0c4fcce2 kvm_report_emulation_failure +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x12d1b23b kvm_release_pfn_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x17c162b5 kvm_set_cr3 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1997ae42 kvm_mmu_unprotect_page_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1a9df35f __tracepoint_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1e4580bb kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x209ed95b kvm_clear_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x20de5193 kvm_disable_largepages +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2322e039 kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x317f9e6b kvm_enable_efer_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x37c86750 kvm_mmu_invlpg +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x380b869f kvm_release_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3b7706d2 __tracepoint_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3bf67a66 kvm_task_switch +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x438a9fbc kvm_emulate_pio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x46889c51 kvm_cpu_get_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4a7cbe69 is_error_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x55804fe8 gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5aca020c kvm_get_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5c9accf0 kvm_get_cs_db_l_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5cd3f36c kvm_is_visible_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5d33f088 kvm_queue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5fa46ff1 kvm_emulate_hypercall +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x62cb80e6 kvm_mmu_reset_context +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x63c62ae0 emulator_write_emulated +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x647650be kvm_vcpu_cache +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x662a971f kvm_set_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x665c4c1f kvm_cpu_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6d8aa1d7 load_pdptrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x778eb921 kvm_emulate_pio_string +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7b2338c9 kvm_emulate_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7d962708 kvm_queue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7f557368 gfn_to_memslot_unaliased +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8021006e kvm_load_guest_fpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8427a4b5 kvm_vcpu_uninit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8a4bec1d kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8ce4f3ab kvm_enable_tdp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8e7f9b47 segment_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8fbbcf2e kvm_require_cpl +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8fbf7578 kvm_release_page_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x93c776ae kvm_set_cr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x95c68845 kvm_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x96230471 kvm_get_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x97e8186e kvm_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9a2e7b69 kvm_get_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9d30bcc8 kvm_mmu_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa10cb652 gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa361bc65 kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa40b2afd kvm_mmu_load +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa44d27f4 kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa46806dc fx_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa6287ead kvm_put_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa84fd3e0 kvm_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xab7f3b9e kvm_lmsw +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xad6e20e2 kvm_put_guest_fpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb4f81b04 kvm_x86_ops +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb8be40cb kvm_set_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbb00c069 kvm_inject_pending_timer_irqs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd377dc9 kvm_mmu_set_nonpresent_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd86163a kvm_handle_fault_on_reboot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd94103b kvm_mmu_set_base_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc3991f4c kvm_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc5351a64 kvm_set_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc8e02b25 kvm_inject_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc90fae55 kvm_set_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcd7b041f kvm_get_guest_memory_type +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcea5bf57 __tracepoint_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd0b2727a kvm_mmu_set_mask_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd296def9 kvm_is_error_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd3c0a6da __tracepoint_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdcde2537 kvm_set_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdda1fc0e gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdead7e81 __tracepoint_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe395b282 kvm_vcpu_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe656f5db kvm_mmu_get_spte_hierarchy +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf1910cfd kvm_resched +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf2e00fc7 is_error_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf48ed9e2 kvm_emulate_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf9a14a59 __kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfa54acb5 kvm_clear_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfacc2ba7 kvm_get_msr_common +EXPORT_SYMBOL_GPL crypto/aes_generic 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL crypto/aes_generic 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0xff0cee2c crypto_aes_set_key +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xe4767216 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x78606e8b async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xfdc27c4b async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x402d7327 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xc3423d9b async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x2fd504b2 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x7ad2cc39 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x9f9f77d9 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xb3523910 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xbccb5ab6 async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xd3fca047 async_xor +EXPORT_SYMBOL_GPL crypto/cryptd 0x04fd2aea cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x182c7c6b cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x34b4736a cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x63b22f38 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x7894c995 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x964a0f67 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xa4c38057 cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x68da9166 twofish_setkey +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/bluetooth/btmrvl 0x3b3fc9d0 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x53fc95b9 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x62dc227c btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x73721b2a btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7c8e827e btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x90aecb63 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x04915628 tpm_remove_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x1223233c tpm_open +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x1915c757 tpm_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x1d763d0f tpm_register_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x3f65178b tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x4657a928 tpm_show_owned +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x525e60bc tpm_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x558e1287 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x583397da tpm_continue_selftest +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x723b8594 tpm_dev_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x7ef8ba3a tpm_show_pubek +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x80110594 tpm_show_caps +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x855afb0c tpm_get_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x8a612f4d tpm_pm_suspend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x900a5baa tpm_show_pcrs +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x90da7ede tpm_show_active +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x91e1fbad tpm_store_cancel +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x930255dd tpm_dev_vendor_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x94be2f7c tpm_show_enabled +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x9e2382ce tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xa76fd600 tpm_show_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xaedd7763 tpm_gen_interrupt +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xba295d0f tpm_write +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xe7714672 tpm_pm_resume +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm_bios 0x13f9a680 tpm_bios_log_teardown +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm_bios 0xfce943f5 tpm_bios_log_setup +EXPORT_SYMBOL_GPL drivers/dca/dca 0x0ccb465b dca_remove_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0x2e471f01 dca_register_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0x2ebb035f unregister_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x31a2c8df dca_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0x6a72ced2 dca_add_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0x8006c614 dca_unregister_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0xc82b32d0 free_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0xd33880dd dca3_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0xddbf4f00 register_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0xe616c173 alloc_dca_provider +EXPORT_SYMBOL_GPL drivers/edac/amd64_edac_mod 0xc923da92 amd64_get_dram_hole_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x06147dae edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x09576082 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x25ff8968 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x297826df edac_device_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x325a1250 edac_device_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x3a66e14a edac_device_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x3c2d455d edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x43e28449 edac_pci_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x472f8140 edac_mc_alloc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4cde21e3 edac_mc_free +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x51cae0be edac_mc_handle_ce_no_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x57e2cff1 edac_pci_reset_delay_period +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x676afd64 edac_pci_handle_npe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x8790f601 edac_pci_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x8da9ff7c edac_mc_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x8e1b635d edac_mc_add_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xaf38253c edac_mc_handle_ue_no_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xbde70b8c edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xbfa5033d edac_device_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc689b62e edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xce6c7c7b edac_mc_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xcf2fbbcc edac_mc_del_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xdd75498d edac_device_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xf1b72fd7 edac_pci_handle_pe +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x0f0ba55e ii_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x14878009 amd_report_gart_errors +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x1823885a amd_register_ecc_decoder +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x4b01887d pp_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x7509830f to_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x955c1f76 amd_decode_nb_mce +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xb98537cb rrrr_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xc2e765d2 amd_unregister_ecc_decoder +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xd0f094a0 ext_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xe6ff7e0c ll_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xf8dec080 tt_msgs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x02a45ecc drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x98f18613 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/hid/hid 0x02ecf57a hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x08a74ff0 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x105b4fe1 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x161580fb hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x171495d1 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1e953bcd hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x21c23f6d hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x562538fc hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5dd1dad4 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7457b6b7 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x797a48f5 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x96ee021e hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x979986eb hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9e428b98 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb8a77437 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbf360363 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc3219735 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc56fc6e6 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcc7efd29 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd2b5fd3c hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdcf9ed76 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe48cd3b4 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe9dd48b8 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xeffc349a hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf586324d hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x56cdb771 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x5fcc6bfc hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x954da911 usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x1c1ca961 lis3_dev +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x312e6a17 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x3babe982 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x4e1bfabf lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x6c33e494 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x897e4370 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xe6af28c8 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-nforce2 0xc81ea176 nforce2_smbus +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0x2badb07b hpsb_config_rom_ip1394_add +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0x3cd50152 hpsb_config_rom_ip1394_remove +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xec8d18cf hpsb_disable_irm +EXPORT_SYMBOL_GPL drivers/infiniband/hw/ipath/ib_ipath 0x1514b2b2 ipath_debug +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xa95e6ba9 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x05072dd9 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x0db30a48 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x1ce2b1c1 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x26023823 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x3bbc2579 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x3f29c278 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x66078f16 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x68992697 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x6c8e7282 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xa8d99b7f wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xabe676a3 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf71625e7 wm9713_codec +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x0ef38c51 gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x220caf1b gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x2c0979ce gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x31b3ef6d gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x3485d713 gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x685774ac gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x74e4341e gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x7dafd1f5 gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x8aaade4c gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x96d00e9e gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xacc7fe8c gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb7fecc1f gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xbb377cc2 gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xbf301772 gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xde73dbf9 gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xedfebdef gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/leds/led-class 0x87400e7f led_classdev_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xe1b7c35e led_classdev_suspend +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xeb1d3441 led_classdev_register +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xfd2270df led_classdev_resume +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x24935f26 raid6_call +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0xcdc24ab5 raid6_2data_recov +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0xdbab0c01 raid6_datap_recov +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0349c9bd ir_codes_proteus_2309_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0366dcdf ir_codes_videomate_s350_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x110b053a ir_codes_pixelview_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x124cb753 ir_codes_encore_enltv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x183fdfdd ir_codes_gotview7135_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19b4d61c ir_codes_nebula_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19cd2826 ir_codes_behold_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1a9009d6 ir_codes_dm1105_nec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1cb148f5 ir_extract_bits +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x219b69fa ir_input_keydown +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2456e513 ir_decode_pulsedistance +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2cc459b5 ir_codes_flydvb_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2d0e9a49 ir_codes_em_terratec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3136d8ff ir_codes_dntv_live_dvbt_pro_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x32b9033b ir_codes_apac_viewcomp_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3909f4ad ir_codes_terratec_cinergy_xs_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3a84be27 ir_codes_avermedia_a16d_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4267d749 ir_codes_budget_ci_old_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x43c89ef4 ir_decode_biphase +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4c1442c1 ir_codes_real_audio_220_32_keys_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x51ba1643 ir_codes_kworld_plus_tv_analog_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x543db4ff ir_codes_avermedia_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5e95da31 ir_codes_tt_1500_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5fbe6515 ir_codes_pinnacle_color_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x61d039d7 ir_codes_behold_columbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6427a3fb ir_codes_pinnacle_grey_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x64b02fed ir_codes_avermedia_dvbt_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6606596a ir_rc5_timer_keyup +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6809de82 ir_codes_pctv_sedna_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6d6511e7 ir_dump_samples +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x703fc738 ir_codes_avertv_303_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x7283f81d ir_codes_purpletv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x72c2992e ir_codes_powercolor_real_angel_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x76d71b8e ir_codes_dntv_live_dvb_t_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x784e176d ir_codes_asus_pc39_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x828b3ce5 ir_codes_encore_enltv_fm53_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x87a7deb6 ir_input_nokey +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x8acae3dd ir_codes_pinnacle_pctv_hd_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x92d1d181 ir_codes_flyvideo_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x94651dab ir_codes_ati_tv_wonder_hd_600_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x97c35dab ir_codes_msi_tvanywhere_plus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x9944e2e5 ir_codes_hauppauge_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa69aa6ad ir_codes_pv951_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa95157c5 ir_codes_cinergy_1400_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xac15f6c8 ir_codes_kaiomy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xaff22e87 ir_codes_pixelview_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb01a1998 ir_codes_manli_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb0a8ef38 ir_codes_rc5_tv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb57445f7 ir_codes_eztv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb5adb754 ir_codes_cinergy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbd3ce6f0 ir_codes_avermedia_cardbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbeaccbdc ir_codes_gadmei_rm008z_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xcba36c62 ir_codes_videomate_tv_pvr_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xd30c491f ir_codes_norwood_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdc23fec4 ir_codes_fusionhdtv_mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdd4c0a07 ir_codes_evga_indtube_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe1101f4d ir_codes_avermedia_m135a_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe4140c60 ir_codes_genius_tvgo_a11mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xea623b68 ir_input_init +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeb9bb08f ir_codes_npgtech_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xebf345b4 ir_codes_encore_enltv2_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeec89db8 ir_codes_empty_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xef29c40d ir_codes_adstech_dvb_t_pci_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf33c155d ir_codes_msi_tvanywhere_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf3d619ec ir_codes_iodata_bctv7e_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf4f7a4d6 ir_rc5_timer_end +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf5e15e65 ir_codes_winfast_table +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x39616934 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x51091a1a saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x5ebb0e45 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x7ddd7f4c saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xb6765efa saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcf683cf2 saa7146_devices +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe31f8ed5 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe5afeee9 saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xea762426 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xf31079e3 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xfd24551a saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xfec7e35c saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x19f09cf0 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x3b722beb saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x426a627f saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xbc4047eb saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xbf5dec5b saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xc6eee3ea saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xfc4790e3 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x3bcd387f microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0xd3879f2c mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0x0175de09 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0xec4afeed tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x6c0570ca tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xc57239ec tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0x838cf6e5 tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x5b1b93ce tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xc7086518 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x88c645df tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0xfd409bb2 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0x0fe7554b simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x01a74e25 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x030eb1ad sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x058face4 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x2a86d56a sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x320b35c0 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x3b7a87fa smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x3dfa939c smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x4d40eb7f smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x529cf73f sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7dda6e4f smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x822f7948 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x97310f9d smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x9a163a16 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa3a2b042 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa8024569 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xe19a36c3 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xeb9018a2 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xefaab494 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfad8cce2 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfda878c5 sms_get_board +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x0cadcd12 ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x27ff499b ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x657b99bf ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x7513ebe4 ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x8ce9ee3b ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xb723c442 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xbc48bf96 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x5f7e8419 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x6f46a773 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x98179ae9 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xb5045d6d cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xbec92317 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc4c29a75 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xe05f71b5 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xe62db725 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xecf5e01d cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xf60a1b7f cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xf7ac6fb0 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0x582975e7 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x15714476 em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x15a7b92b em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x1d97eb9f em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x5fe31c2e em28xx_isoc_dvb_max_packetsize +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x911cc8d2 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xab12f4ca em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x155cfb79 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x20c779d5 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x9002dff0 saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xad8a6f3e saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xf9c56b49 saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x1e270b74 v4l2_i2c_new_subdev_cfg +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x2d7f29ea v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x97fb6a9f v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xf22049dc 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-compat-ioctl32 0xbdd5900d v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x2d22e054 v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x40f3af06 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x854b312a v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa5228b24 v4l2_int_device_try_attach_all +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xe9899e3a v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x02cf66d7 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x31b6c42e videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x3ea8a2ec videobuf_cgmbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x44cd3bb4 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4556ad9c videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4a7301cf videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x53a88498 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x5ff8a6c1 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6a53242c videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x719eb95e videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x87ec15a0 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x89c3ad2f videobuf_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8fd21938 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x965c91dc videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa31a1580 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa86fadec videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xafd8c671 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xbde50717 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc009477e videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc6b2c00a videobuf_queue_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc86219ef videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd3ee8dca videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd69d98af videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe0d9f6c3 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe9ed7b52 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x2cfd90cb videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x4eb8a5e4 videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x6da23ab4 videobuf_dma_sync +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x73a22249 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x7ad3fde5 videobuf_sg_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x861cd06d videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x8edb8ed2 videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x8f1daf2a videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x933dfb43 videobuf_vmalloc_to_sg +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x94759a4e videobuf_sg_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa38faed2 videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xc3292bf7 videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xc69dc7ed videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xe82bee02 videobuf_dma_init_overlay +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x035d2a2a videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x76b341b2 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x98d767ce videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x020c7243 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x18751877 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x27f29e5d v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x51dec2fc v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc2f6e870 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xfad49154 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x0d371681 i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x17c084c3 i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x1d5bfe44 i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x40aa2246 i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x497f0e67 i2o_pool_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x5535d7f2 i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xf4db7227 i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xfae6ab72 i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x0019c9a9 mc13783_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x41e442b9 mc13783_adc_set_ts_status +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x5259475f mc13783_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x55afd13d mc13783_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x86cef259 mc13783_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xc532891c mc13783_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xdda368ba mc13783_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x43e47afd pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xee5eb9c1 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x015981f7 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x291493ec pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x467cb980 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x71806410 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x7d2b1f70 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x98ac91da pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xc08d6a2a pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xc885731a pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xea388498 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xf5633356 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xf812a3ee pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x0db357ae pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x263340a6 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x739cd9b9 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x94629afd pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xeedec6b6 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x129b5768 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x636d3734 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x716d47d8 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x90a29ef4 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xad2cce50 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xa3150324 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x01c7cb35 wm831x_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x125737ec wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x13322e66 wm831x_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x3189089e wm831x_enable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x3b234f58 wm831x_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x75574058 wm831x_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xb0cd3098 wm831x_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xb77bb434 wm831x_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xc7f26726 wm831x_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xe0376c9d wm831x_disable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xe9510aa9 wm831x_auxadc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xf78c7ebe wm831x_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x01795b4a wm8350_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x198c13d3 wm8350_read_auxadc +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x1e473574 wm8350_block_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x3fcf4c1e wm8350_unmask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x4e73f9e9 wm8350_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x56502f77 wm8350_device_init +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x64a4ea3b wm8350_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x684566ec wm8350_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x813271ec wm8350_mask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x836087ef wm8350_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xab14ed0e wm8350_gpio_config +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xb67cc4e0 wm8350_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xc1af5f48 wm8350_device_exit +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xd0d53d16 wm8350_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xe73e6117 wm8350_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xf5a61210 wm8350_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x432e2768 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x738ce78d wm8400_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0xc6a3b512 wm8400_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0xcd857e18 wm8400_set_bits +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x6d8ccc38 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x97f772d7 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xd5bfb5c1 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xfafb31a7 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x2df115d4 eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d14d2f eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x03e69bb3 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x0f68ded9 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x1f2f1489 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x29cda097 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x5e787db4 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x788c9b53 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xb6143123 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x12256658 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x204a30e9 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x261f0660 sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3f2c09d8 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x748dc0f9 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa9ad070d sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x90558c06 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xb94f77a5 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xef3f64f0 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x696072f7 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x0f8c61fd cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x09079df5 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x5243f04a cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xb0e10076 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2000 0x1c20ce28 DoC2k_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001 0x7dfdcb61 DoCMil_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x2478d4b9 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0a52c284 mtd_table +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x119a31e9 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1f218d2c mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x43a3e2b4 get_sb_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x43c38d9b del_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6301c2f3 parse_mtd_partitions +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6b16202b get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x74019900 register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x93391c66 mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x946a26ab kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9ad75845 default_mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa72a685a put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc2ad2803 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcf0be395 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf12227ff get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf46f19f6 add_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x031c679e add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x17e6c03b register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x356adccd deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xa2300cf7 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x05da2fc3 nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x65c1b1d0 nand_scan_ident +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x73f009ae nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xa668dae6 nand_scan_tail +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xa7db3817 nand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x559afa58 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xdba4bb09 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x0416469f ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2cbf016d ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x37719650 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x3ae5f2c7 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x4a9626b7 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x570f50a9 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x578732d9 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5e5cbdf7 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa1d0189d ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa3ec0b91 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbc505df4 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbd29c4c8 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe3d290ce ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x00280341 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x0c0926a5 alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x0e2c906d can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x3f378f72 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x58ac91d2 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x7cee9964 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xa24f63a1 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xbaf12530 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xbbf1aa3f unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xc1fd73ac close_candev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x4800409f alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x989827af register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xc3310f71 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xc57bf4a3 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xdc9bd500 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x03b0ed66 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x073a399d mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0f7fbcd4 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x17d19903 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x254424a0 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x26ef34b1 mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x2c26bd25 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x3083db95 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x347aefc1 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x37baa3c9 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x38b7318b mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x39bc2772 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x40cde3c8 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x42286458 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x42308f79 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4650076d mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4e1a4b12 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4e683ae4 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x515e3158 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x60e31521 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x63bb0897 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x6587eb08 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x7399f15c mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x87091679 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8fc42637 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9432f8e3 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa104e979 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa3654d2b mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa3b0e6be mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa58636ee mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa63ce300 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa6f67407 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb053ec65 mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb5445565 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb9270548 mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xbe201514 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc1297eb1 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc4adf1cd mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc705914e mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc9ca9ed9 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xcc6a7325 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xcc9dd121 mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xcd97916c mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd1cd0935 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xdc59920b mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe22cc9af mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe99fc09a mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xeb5f02ce mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf36f03fc mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf6333fd0 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf6cd28b4 mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf98d14da mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xfd6e17a3 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x7f16e042 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xf1129280 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x086a04ed rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x21b98dda rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x4b139614 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xa749bffc rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xdb88fe7d rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xe16d23f8 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x10445d36 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x19e3fa01 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x19e96083 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x23097f6f usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5a08ac8f usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5c080920 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x764cb15f usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x795020a2 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7e551a24 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9e120cc6 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa35dabb2 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xaeea52e5 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb9c35ce5 usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcaddfbd5 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcdb6aa74 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcf0db3e0 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcfaeb14f usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd9d221c6 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd9e13cb6 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xda8b5e23 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdb2ac3ca usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf94510e9 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfa0f1e9f usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfd96d240 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x0b4532aa i2400m_cmd_get_state +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x0d558da0 i2400m_queue_work +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x193346e4 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x3af82c01 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x59f7083b i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x76a13cc0 i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x79cd696d i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7aa53707 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7b1d6f83 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x8bea01c0 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x9bf4bef7 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xa1f86826 i2400m_set_init_config +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb88e4ee6 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x1c820b19 libipw_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x3ae28383 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x1ea753b9 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x3ecb9d34 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x44ef4a64 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x76d07524 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x7f457046 lbs_cmd_802_11_rate_adapt_rateset +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x88d73dcd lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8c0a0319 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8cb28e8a lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8cd2b3e4 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x9dda3ff4 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xb281c91f lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xc4660c98 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xca72c582 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xda7defcf lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe06f317e lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x0540b56f lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x16abcd30 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x36a2d4b4 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x5ffed5d9 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x62222705 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc6434fcd lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xd225101c lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xd46f4499 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x3455ec9f if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x7d963ac1 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x07b5322b p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x1371359d p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x34743c3c p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x602ddbd5 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x7b64c544 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x8fa02685 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x94eefcff p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xb1ec68c9 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xbe0f9412 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x02c8cb55 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2a6148cc rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x34255886 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3b4ceb26 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3b971086 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3e1d69cb rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x46415048 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5c2e406d rt2x00queue_get_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5faec28b rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x634367f6 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6c43b30e rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6d9caee9 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9413e763 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa44a7bfd rt2x00mac_get_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa6f7dd2f rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xabcaade7 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc10d762a rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdca9102a rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdeaf343b rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe34c9f4a rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe7b1124c rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe854e5ab rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe97cfbfa rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xed45d6f6 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x060b7f6d rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x1b8eb352 rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x42575703 rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x6055c550 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x95f18e4e rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xd58ed3cf rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xe75adf1e rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xe8b0ef88 rt2x00pci_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xfcef8604 rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x11f11df8 rt2x00usb_kill_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x3ff25237 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x413d1aad rt2x00usb_vendor_request_large_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x4f905d59 rt2x00usb_kick_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x5ec5abd1 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6d4f9f0c rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x70e0f404 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x7998b2bb rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x9b65b9c7 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xa59a18c6 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xbdcad3bf rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xc433d82b rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xcade8e78 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xcb086c16 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xe82eb9aa rt2x00usb_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xece6ed28 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x0994f6b7 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x520ee4a7 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x52bd3b48 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0x3c3f5419 acpiphp_register_attention +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0xce81142c acpiphp_unregister_attention +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xd6483f43 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xd6bd3c56 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x1653410f wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x360b3e32 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x6311d258 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x703956ec wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x9a8d886e wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xd9976fd5 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x8d521125 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x56e02175 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0233f349 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0725d1ed iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0acb5438 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0bf54feb iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0e46105b iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2f133447 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x312fe715 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x36097422 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x374e0b35 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3f9f3ef9 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x41ba1d14 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x46a3b5f2 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4ae9c094 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4e4e2166 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5162ce08 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5956b6f1 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x59b9f1c0 iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5d89ba19 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6914808e iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6a700a0e iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x73df0a49 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x770572fc iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x77cdb621 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7b2aaa3f iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7c6cea27 iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7e2aad19 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x86b03f51 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9565ab99 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xac37e383 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xac8a6027 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xba3e21f7 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc7af8bc2 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc7fca8af iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc8465d47 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdb0e71a4 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe2e90df1 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe888705b iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe8a99d5f iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeda7f709 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf2c23ed1 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf653ccfa iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xff139145 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1e31ad5a iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2384da68 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2786cba2 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2fb8e9b5 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x328d13c3 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x506662bd iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x63192cee iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7107aea1 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7248b7ae iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x803a7212 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x812c03e1 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x81b51324 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x84defd80 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc566a271 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe4e89d01 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe71c0fff iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x02b4a935 sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1b4d323b sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3469ad0f sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3a04680d sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3f54d550 __sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x638385e5 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x63d38fb7 sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6f6d3605 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7ee5e537 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8072dd1c sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x849104c4 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9158bd45 sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x945ed8d4 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9cd116a3 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa0c7f792 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa3091d5f sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb8e8d070 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc53cf23c sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc5f9162d sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc9d0cfea sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xce24934a sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe07c25f5 sas_find_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xefe0da61 sas_slave_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x5736d74e srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x624a17fc srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x7a83613c srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x9f4bc0a7 srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xe90ae256 srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xf49c1a84 srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x115c5550 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x3c28758b scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x6404eccf scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x8882e1a8 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x89dd2a0a scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x9d64442a scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xbcbeab1f scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xf2b66570 scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xfebd2a57 scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x11d78e90 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2a91cd3a iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x33e1949c iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x45b6b915 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4db01c01 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x788f4d12 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7f160eb1 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8e898e8a iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x95ddf05b iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x98aa165b iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9a2f6767 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9b3f11b2 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9efc80db iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb2755f3b iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb9a3da5b iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd1b0b2e2 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd435dbe0 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd8fd4f88 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xeb81f0bb iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xef23ac41 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfe0db61b iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xff0effff iscsi_create_endpoint +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 0x1a095dfa srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x342e798f srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x53328b63 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x887e30cd srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xa3d81d2e srp_release_transport +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x466cc29d spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x4a96c561 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x655ced4a spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xc18d11a7 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xdb59fc02 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xff163e8b spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4740fc22 comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4e4b42d1 comedi_free_board_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x656c3316 comedi_alloc_board_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x813c41b0 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xa940cf72 comedi_get_device_file_info +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb5725623 comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xc57fdaf4 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x86fcde20 das08_cs_boards +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0xa8403a06 das08_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0xbd5c7f77 das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0x10252a12 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 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_labpc 0xb2df656a labpc_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x72d1ecfc ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x88e18c67 ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x8de73efb ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xbc603c7b ni_tio_rinsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xcb918584 ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xda8e3743 ni_tio_winsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xe7bb07e7 ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xf63a1706 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x0881c06a ni_tio_acknowledge_and_confirm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x1ae54024 ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x6960325b ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xb020fb42 ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xe564e1a6 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xf84c460c 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/hv/hv_vmbus 0x0a1ee779 osd_WaitEventWait +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x4cc1b61c osd_WaitEventCreate +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x5432d87a osd_WaitEventSet +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x746d1786 osd_PageAlloc +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x83911c38 osd_PageFree +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0xa1b8d1ad osd_WaitEventWaitEx +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x008b1b94 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x05420969 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x187caa54 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x23340180 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x33ed1c6b usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x601352dd sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x61a81f10 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x62b8fc97 usbip_xmit +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x632d6b20 usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x6aa043c9 usbip_start_threads +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x7b793077 usbip_stop_threads +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x940da4de usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xb13b3d55 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xd51168f0 usbip_task_init +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xda0da877 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xdf51d7a0 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/uio/uio 0x09fe0eda uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xc3cd2c4e __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xedd4ae42 uio_event_notify +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x5e158f6c usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xf2ad58a3 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x01566150 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x0e1e554e usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x2a7f9a7d usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x54409de9 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x965ec5c4 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb77509e5 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xd45791fd usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xde11f8b1 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xfbccb9f8 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x09c752ff usb_serial_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1a89145f usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2ec6cb33 usb_serial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x31ee8cc8 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x420634cb usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x572cf866 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5da541fa ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x673c46b1 usb_serial_generic_resubmit_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7b984931 usb_serial_deregister +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x85ed1847 usb_serial_register +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9947f9b0 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xab8399e1 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xac255683 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc2b90686 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xcc8e57c5 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf55e5c01 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x10e26bc1 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1c33ac90 usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x278a9162 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x38158265 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x527ee8bc fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x5813887a usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x5b889a3f usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x5d2c09ef usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6f7f00fd usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x837b7df2 usb_usual_ignore_device +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8b646c07 usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa42eac36 usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb0883d95 usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb4f39b03 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xbee68a2e usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc56a8188 usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc99b1456 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd7e4184f usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe33537bd usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xec21447b usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf3089095 usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf6a4bce1 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xfab087ce usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x55ac5608 wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x5b0fc154 wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x5c763594 wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x8668d134 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x9fcf8265 __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xa2a79ba9 rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xec5cc785 wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x182bb06e __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1cf62d01 wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x52510d61 wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x6a60b756 wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x6cad9a0d wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x71675aa9 wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x8a9e30a9 wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xa75d65ea wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xa9e49217 wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb016365a wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xc08cd390 wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xd1d1a05f wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xd45d8296 wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xdf6e4f08 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xe996affc wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf770a6b4 wusbd +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf7cf8d9a wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf90067c8 wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xfe2e17d7 wusb_et_name +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x1ec38ee5 i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x4fa3fc9c i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xea7f0e2a i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x1baa5ae4 uwb_pca_base_priority_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x4accec22 uwb_rts_cts_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x5e666737 uwb_phy_rate_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x9607cca3 uwb_ack_policy_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x9a2524f8 uwb_rts_cts_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xbb27f85a uwb_phy_rate_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xeb45e333 uwb_pca_base_priority_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xf625bd31 uwb_ack_policy_store +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x113eb73a umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x3862039e umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xa9470df0 umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xb3c183b2 umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xbe705fa5 umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xc458ba3a umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xde2af4c3 __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xfd65029d umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x02e16a09 uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x05f05757 uwb_rsv_destroy +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0af9fb31 uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x128ae03e uwb_rsv_modify +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1d0f80a8 uwb_rc_pre_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2075ba81 uwb_pal_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x22dc0c80 uwb_radio_stop +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x235bb961 uwb_rsv_create +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2400fa97 uwb_rc_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2cb8fcbf uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x449cac9b uwb_rc_ie_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x469c5f2d uwb_rc_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d57ae3c uwb_rsv_type_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x51d1fd37 __uwb_rc_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5596a9f6 uwb_rc_cmd_async +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x58554226 uwb_rc_cmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x58eff876 uwb_notifs_deregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5c091b6f uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x63dce779 uwb_rc_ie_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6b9377c5 uwb_ie_next +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6bcd28f0 uwb_rc_neh_error +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6dd7d926 uwb_dev_for_each +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7f1e50ca uwb_est_find_size +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8244afea uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x85417e20 uwb_notifs_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8cb42db6 __uwb_addr_print +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x969f738b uwb_pal_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xa5fd908c uwb_rc_get_by_grandpa +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xafb014ec uwb_pal_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb0a09251 uwb_rsv_get_usable_mas +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb56d816f uwb_rc_vcmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb94bcc7e uwb_rc_post_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbbb96d89 uwb_rsv_accept +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbc96fded uwb_rsv_establish +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xca3ff44b uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd15729f4 uwb_rc_neh_grok +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd2e46760 uwb_rc_put +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd7692b0c uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xdb4f63df uwb_rc_dev_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xeb4cab9a uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf7ca313a uwb_est_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xfa22f860 uwb_rsv_terminate +EXPORT_SYMBOL_GPL drivers/uwb/whci 0x5408e067 whci_wait_for +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x0a46ac62 wlp_uuid_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x0aa07da3 wlp_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x135e466d wlp_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x2636433d wlp_wss_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x28d37745 wlp_dev_prim_OUI_sub_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3eb9fa0c wlp_dev_prim_category_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x5249380d wlp_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x56a46db2 wlp_dev_prim_category_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6a411a80 wlp_dev_serial_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6bc4de7e wlp_prepare_tx_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x77e67d54 wlp_receive_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x82ba0175 wlp_wss_activate_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x85e876d7 wlp_dev_model_nr_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x98518b58 wlp_dev_model_nr_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x9f358b88 wlp_dev_model_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xa015dd8d wlp_wss_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xac06d77c wlp_dev_prim_OUI_sub_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xb30c266b wlp_eda_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xb8f1ab1c wlp_dev_prim_OUI_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xbae8df4a wlp_dev_prim_subcat_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xbbe67fb5 wlp_dev_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xbbf8fb3b wlp_dev_prim_subcat_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc11ae0d0 wlp_dev_prim_OUI_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc2a8add4 wlp_wss_activate_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc3921548 wlp_dev_serial_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc3be1330 wlp_eda_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd0691060 wlp_neighborhood_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xdefeba4f wlp_dev_manufacturer_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xe0221a57 wlp_dev_manufacturer_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xea47e3ad wlp_dev_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xea6aa55e wlp_uuid_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf7ede8c5 wlp_dev_model_name_store +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x11450619 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x213c6dc7 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x4683efae ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x54d46523 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xbf2fe6e8 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xbfe08c7d ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xeec84eea ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/fb_ddc 0xef688fda fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x6844a775 fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x97d30a82 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x75258e81 sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x8ae0a91a 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/virtio/virtio 0x541f96d4 register_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x612db4f9 unregister_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x866e4528 register_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x8dd9d7f4 unregister_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0xec83e87f virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x0ac0ab25 vring_interrupt +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x667e4758 vring_new_virtqueue +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x668d2276 vring_transport_features +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x68c71d40 vring_del_virtqueue +EXPORT_SYMBOL_GPL drivers/w1/wire 0x03d3d720 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x05f85617 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x1e04bf02 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x9db4ab79 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe63ddb0e w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xee7f1cce w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0xf19fb0d9 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xfbebaec5 w1_write_block +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x0864c4a4 dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x0de5ddea dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xa8343212 dlm_posix_lock +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 0xf24e636c dlm_posix_get +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0x0f21b73b exportfs_decode_fh +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0x699686e4 exportfs_encode_fh +EXPORT_SYMBOL_GPL fs/fat/fat 0x043b28e1 fat_attach +EXPORT_SYMBOL_GPL fs/fat/fat 0x08ede489 fat_fs_error +EXPORT_SYMBOL_GPL fs/fat/fat 0x3468d170 fat_free_clusters +EXPORT_SYMBOL_GPL fs/fat/fat 0x4e566f1b fat_sync_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x52ba06c2 fat_add_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x58b76c98 fat_getattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x5f7805cf fat_fill_super +EXPORT_SYMBOL_GPL fs/fat/fat 0x62058865 fat_time_unix2fat +EXPORT_SYMBOL_GPL fs/fat/fat 0x62d021f6 fat_scan +EXPORT_SYMBOL_GPL fs/fat/fat 0x7a1a3b30 fat_remove_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x7c7e5fc0 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL fs/fat/fat 0x7d9f2372 fat_flush_inodes +EXPORT_SYMBOL_GPL fs/fat/fat 0x9fb395db fat_setattr +EXPORT_SYMBOL_GPL fs/fat/fat 0xa32f4394 fat_alloc_new_dir +EXPORT_SYMBOL_GPL fs/fat/fat 0xb4ac2004 fat_build_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0xe69adb0c fat_search_long +EXPORT_SYMBOL_GPL fs/fat/fat 0xedf2aa3e fat_dir_empty +EXPORT_SYMBOL_GPL fs/fat/fat 0xfbbf2232 fat_detach +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x0a9226b4 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x1a618932 nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x622f0e6b nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x9204e674 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x9a9ebd62 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa7b91a7b lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xd6aa39a9 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf6933c48 lockd_up +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x0310380f nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xb389ad43 nfsacl_encode +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 0x2b6b2db6 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x36418553 o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x45d0b066 o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x521e0726 o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x9e80bf02 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 0xad834f8e o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xae808bac o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb70536a7 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbaeb4700 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd26bb346 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd60f2c6c o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf56c2017 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf88c724e o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x0cebb6e1 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x328717ed dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x4b38cf12 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x83921c03 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x8680f9c5 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xdb802f89 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0562c415 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x06379db6 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0b5fee49 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0e27f909 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x21db5b88 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x233078e9 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4a1f6fe9 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x81c85a68 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x882a3d27 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x91fab465 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x963932a3 ocfs2_stack_glue_set_locking_protocol +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xa7d5c1c0 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd066711e ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL lib/lzo/lzo_compress 0x2e1d43cf lzo1x_1_compress +EXPORT_SYMBOL_GPL lib/lzo/lzo_decompress 0x2a1538ca lzo1x_decompress_safe +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 0x1353808f garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x27ccdea6 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x34d6780d garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0xb430ec8b garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0xb884e394 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xf5a5815c garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/stp 0x121d00ea stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0xb8bd2207 stp_proto_unregister +EXPORT_SYMBOL_GPL net/ax25/ax25 0xac93ae05 ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0xaeb7451e ax25_defaddr +EXPORT_SYMBOL_GPL net/ax25/ax25 0xda8c7f83 ax25_register_pid +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xa8a98916 bt_class +EXPORT_SYMBOL_GPL net/dccp/dccp 0x067cc0ff dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x19ea02f3 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2a50c5c8 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3224e65f compat_dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x35cf98a9 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4029497b dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x43b37bcb compat_dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4614ea95 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x46831956 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x56ea266a dccp_state_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5cb4fe4b dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x70b1d967 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0x70e6ab36 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x76692c78 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7de6ded8 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8774c108 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8b7d8caf dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8fbdc9a9 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x923c98a3 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x94a76015 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9c6d55da dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa0ad9238 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa10d6e71 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0xab9c4d0e dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb1fcb46a dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb66895e5 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0xba0742b2 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbbf2668a dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbfa668ae dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc0c39c6f dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcf52a414 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd93c7348 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd98a53ad dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe158caa9 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0xebd6b6c9 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf1994c17 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf71eb8ef dccp_insert_option_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf7bdfac5 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x2e9c2c62 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x46277553 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x76f3ddfc dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x954bd05b dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xc824883c dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xdf5a8520 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x6d40a921 need_ipv4_conntrack +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0xb3c69ba4 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 0x07219a28 nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x07ae60b6 nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x3aa20069 nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x43a4279e nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x5bb43902 nf_nat_proto_find_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x94a08134 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xc29d1ce9 nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xe39f0ccb nf_nat_proto_range_to_nlattr +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xf0ccddbe nf_nat_proto_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat_proto_gre 0x636b12c8 nf_nat_need_gre +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x00c699cd tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x238e5db7 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xa5c0f531 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xb36b6c7b tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xd02b3028 tcp_vegas_state +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x34de4510 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5b5a7dbe ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe6476b4a net_vs_ctl_path +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0186662d nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x041013fd nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x080fbe7a nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x120673d4 __nf_conntrack_helper_find_byname +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x17c730b5 nf_conntrack_hash_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1dc74057 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1e77e547 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x277b10b5 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x29193f02 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2ad54c2a nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2ca084ab nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2ca4370d nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2ff2e869 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x318909cc nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4138835f __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x474461f5 nf_conntrack_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b9065a9 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x50c0f24f nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x56cbcecf nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5882ba33 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5bd335b3 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5c3413a9 nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5dadb343 nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6250464c __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6ed04a78 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6f8564ee nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x73c864ee 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 0x7979613e nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7a2c771a nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x819f7ebe __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x81fb7d39 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x865161ec print_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x87236822 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8867ace9 nf_conntrack_in +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 0x9575bb71 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x97521954 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x98efcd95 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9ae8f277 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9af3f6c1 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9d5c84b4 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9e508612 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9f0b1c6f nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa20f1e6d nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa5dee12c nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xae753deb nf_conntrack_untracked +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb3688840 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb373095e nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb65d462e nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xba24c269 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xba3fb980 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbd7da3d6 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbee4a73b __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc0c2dc9c nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc558016c nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcaa4e4a9 nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd0c7fc20 nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd2e34a2f nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd3f3f763 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd49161ec nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf72d299 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe2f19ea2 nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe6a7f761 nf_expect_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf32ca65f nf_ct_unlink_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf892862b nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x9de8a109 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x51eb95ee nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x1d151f5a get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x29149164 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x3f29b1d5 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x511b9cb1 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x58196567 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x844aec51 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd8ed5b4b nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xdca38e7f set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xee17e09c set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf0c3157a nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0xe1a606cf nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x22563430 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xa9be456b nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xc60d6bd7 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xfd5baf7d nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x3cf634e2 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x6ea572ec nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x170ee99c ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x24ac17f9 nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x6428497d nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7c62bb4c ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x836e1516 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8508b776 nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8b440334 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa3ee5c8f ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xc4d2225a nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xd8570680 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xedaed02c nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf94c2073 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x4c5fca70 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x0a70d226 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0xea321174 nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x76d09685 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xab532e46 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xb84db033 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xc23b5c09 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xeca95329 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xef9b4bbd nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x4ff97969 nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x10208fc5 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x161d1417 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x28f6da4b xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x382e7fa4 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x469a21e9 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4f432b51 per_cpu__xt_info_locks +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x588ab925 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5f82f1f7 xt_compat_flush_offsets +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x673571a4 xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x684694c5 xt_compat_add_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6f9aa2fb xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x73081961 xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x87b5faee xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8cbcee74 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa0aadbfa xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa220b181 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa4defae0 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb0d16ab7 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb3da96e0 xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc82fd2a3 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xccbb5869 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe0b4971b xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xc2429b63 xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xfc852663 xt_rateest_put +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x08df5bf4 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x1f428d87 rds_inc_addref +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 0x3a616f6a rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x3e6e753e rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x461fb12e rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x48f3f275 rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x590bc9dd rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x792fe394 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x885b03db rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x8bcc39ac rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0x90b219a8 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0x9b3e6113 per_cpu__rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x9f47a734 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xa75ae972 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0xaef69db2 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0xb0362935 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xc2da8e38 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xccce46bc rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xdb34cccf rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xde0eb73b rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xe7ca407e rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xeaf6cb70 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0xefb92b5e rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xfcffa022 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0xff9ff2f1 rds_message_put +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x32888b5d rxrpc_register_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0xab304866 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 0x021b9b27 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x06863eaf gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x2a404825 gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x3848a457 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x467c46b9 gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x46a24ba9 gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x69881eba gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x6c2ff54b 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 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb64bf8fb svc_gss_principal +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xc73bec46 gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xeabc090b gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x01df5c91 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x036edf7e svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03dc05be svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x047cd06a cache_unregister +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 0x06d9bd07 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x09cf8f76 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0b62ee93 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0b8f8ac6 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0efcda21 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f0e27b2 svc_sock_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x10474147 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x104edd8e xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12bf7d37 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12e280e3 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x136f9a9d rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14152587 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1d86f32a svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2474a65b unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27284360 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2a432b3b xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2aa17774 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b3c27b2 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b5974ab svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d4b7939 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2edf64b3 auth_unix_add_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2ef4f372 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30a6df09 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x388b9424 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a22f40c xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3cbb932d sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d33629f svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3fce52f5 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x41cf8258 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x43199ef4 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4505b16b rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45ba9226 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45eed76b rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4738d79c rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4786ea0e rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48dd60f1 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b941b16 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4bc9377b xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d6c8a14 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ee590a4 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5235548a rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5401b44d xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5429c6c1 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x550547a3 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x552b4f71 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5655a177 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x56f33620 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58619f21 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b14ec1a rpc_put_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bd26000 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c01d94d xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6077f4be rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x625c8d9a rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x62fbbe35 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x63b77690 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x675524ec rpc_sockaddr2uaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x69040610 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a443e50 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c5304c5 rpcb_getport_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6dc63174 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6de168f9 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6eea229d svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7026797d xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70a53b77 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7231219c rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x763139e5 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x775adaf6 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78456da9 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79132a7e xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a4edcaa rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b6748f5 xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7bc83bc9 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7be37612 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ed114dd cache_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8108004f put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x834ab254 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x83833618 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x83d1e3e0 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x84ed8835 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x85871cc4 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x89cb7116 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c47f648 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c632ea5 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8cb8e7ab xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d0f888e xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ed5f916 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9368d1f1 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93b6fcf0 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9487fcd3 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9841063c rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99acd7c4 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9c53f5f3 rpc_get_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d33b43b svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d93a4f5 auth_unix_forget_old +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f9039c2 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa0975289 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9a4cfcc svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9c87b97 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa1df579 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xab0aec83 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xab46efab cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaca90452 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xad5b10ca rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaead4c0f rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb1adda67 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb387b246 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb38dddba svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb41e7596 auth_unix_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb9584646 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbafacee6 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc96eb56 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd119469 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd3587c1 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc0ab7006 xdr_buf_from_iov +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 0xc4a3624d rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc554b883 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8761037 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8d6ef87 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcde83c52 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xced50705 svc_sock_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd0660354 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd14341ce rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7cb927e rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd82c728e rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd954f8db xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9584b4a xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdaa1c475 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc1816b5 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc71c4e3 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd0ff0bd rpc_exit_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd6f799c rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde10329e rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe29e4f50 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4f1a12c rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe987dcec xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea1c12be sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xebee6055 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedd1ba52 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf100a801 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1b9a43b rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1be787f rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6ca8033 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf7baf93e rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf90bb2b1 rpc_mkpipe +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/wimax/wimax 0x11d135d8 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x1481726c wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x314b15d6 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x412f622a wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x51da4797 wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6be375f6 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6cc27aee wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x819cfbf6 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xc3244b0a wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xc8da46a2 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0xe65e6bda wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0xe86348c7 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xeb12e46c wimax_msg_send +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x066722de cfg80211_wext_siwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0b6bbd12 cfg80211_wext_giwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0b7a0bde cfg80211_wext_siwmlme +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x236c6ca9 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x23add8b5 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2d793769 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x35ed31bd cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3648d81c cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x45c3b66a cfg80211_wext_giwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4cd4133c cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x503faee0 cfg80211_wext_giwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x5cbf14a3 cfg80211_wext_siwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x65f557e2 cfg80211_wext_giwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x72fa086b cfg80211_wext_siwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x732fd343 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x87f2c5f8 cfg80211_wext_siwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9907e53e cfg80211_wext_giwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9d384549 cfg80211_wireless_stats +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xabae858e cfg80211_wext_siwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xac96ffaa cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb7453852 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc821ee1c cfg80211_wext_siwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd0308100 cfg80211_wext_giwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd79a83ee cfg80211_wext_siwencodeext +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd80bd51f cfg80211_wext_giwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdc60ee61 cfg80211_wext_siwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe2d6a265 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xeef9fddf cfg80211_wext_siwgenie +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf0fa967c cfg80211_wext_siwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf1f37c52 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf64ec9d7 cfg80211_wext_giwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xfd949c47 cfg80211_wext_siwap +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x7282aa63 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x94130249 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x9b53218d ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xb6066689 ipcomp_init_state +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x07c43a2c snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0a2373e5 snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0e4ba444 snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0ec2a7ad snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0f0a04ca snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x10c46707 snd_hda_parse_pin_def_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x11643473 snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x14fe9803 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1690c8d4 snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x202866b2 snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x21da4a16 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x230463dc snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x25eac466 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2a5d831a snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2d3880fb snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2e3f071b snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x30334364 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x33a2a126 snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x351f13da snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x36059787 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x37452116 snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3a828410 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4068e9c8 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x42341f89 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x52f4f343 snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5418a47d snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x592bb274 snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5a4550a4 snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ae76f73 auto_pin_cfg_labels +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5d2a4fd9 snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6b733560 snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x719ed6d3 snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x725267da snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x72e5fec0 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7a7dc76e snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f778e1b snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f89b77a snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x826986d3 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x834299ea snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x85dbeaf3 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x867abf95 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8abacbb9 snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8bcc8b5a snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x90ec9f9b snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9735cf5d query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9ab6e63f snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9f34a8d6 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa3c85f00 snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad7b01a3 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad87613e snd_print_pcm_rates +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xae946acd snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb960132f snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbde0da61 snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbf2aadb2 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc0f9baf1 snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc34a54c6 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc4340b19 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc4f4a28a snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc827e637 snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcc70694e snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcce27eb0 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcfc2ceb8 snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xda30fc0f snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdd11cbca snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdf717d3f snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe1a27286 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe542dba3 snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe63f17be snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe6b9cd29 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe8287617 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe9459eb8 snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe9491229 snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xed9e91cf snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf228d1bc snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf30862d6 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf3246d78 snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf8692cdd snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfada5061 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfe114af2 snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0x1bceb0d6 soc_codec_dev_ad1836 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0xf4c3edfe ad1836_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0x02638c10 ad1938_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0x3df1fa3d soc_codec_dev_ad1938 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0x0508b1dc ad73311_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0x71d8918d soc_codec_dev_ad73311 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4104 0x98b655e7 soc_codec_device_ak4104 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0x52ce9443 ak4535_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0xfb3f066d soc_codec_dev_ak4535 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0x04e39d96 ak4642_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0xa38429c1 soc_codec_dev_ak4642 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x909c5027 cs4270_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x933ab857 soc_codec_device_cs4270 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x97923f80 max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0x1a4f4ed2 pcm3008_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0x6bcecbb7 soc_codec_dev_pcm3008 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-spdif 0x18352620 dit_stub_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x607bce7c soc_codec_dev_ssm2602 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0xb3a8664b ssm2602_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0x018c6fb9 soc_codec_dev_tlv320aic23 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0xbcd33173 tlv320aic23_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0x6e5c828f aic26_soc_codec_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0x78d9d94a aic26_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x6b25e128 aic3x_button_pressed +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x98a4f81b aic3x_set_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xb2e712b5 soc_codec_dev_aic3x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xd3db0b4f aic3x_get_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xd6c0eba4 aic3x_headset_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xd8045078 aic3x_set_headset_detection +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xebfcb9e2 aic3x_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0xcbf3db46 twl4030_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0xcff64674 soc_codec_dev_twl4030 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda134x 0x0e4e2071 soc_codec_dev_uda134x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x3ff41c18 soc_codec_dev_uda1380 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x79b3ae91 uda1380_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x4fb2913c wm_hubs_add_analogue_routes +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 0xeee2e821 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x18517fba wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x22333b0a wm8350_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x9b9804ea soc_codec_dev_wm8350 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x0084feb8 soc_codec_dev_wm8400 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x7ace1db4 wm8400_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0x38f59902 wm8510_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0x926b81ae soc_codec_dev_wm8510 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0x8f89f131 wm8523_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0xbb006c34 soc_codec_dev_wm8523 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0x5331ca99 wm8580_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0x9dbaba21 soc_codec_dev_wm8580 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0xa76b068f wm8728_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0xf2fd7d74 soc_codec_dev_wm8728 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x22fdac0a soc_codec_dev_wm8731 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x26135cf3 wm8731_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x3f6be1f9 soc_codec_dev_wm8750 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x8e9fba6c wm8750_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x1446b23a soc_codec_dev_wm8753 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x1c09c994 wm8753_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x21ecd087 wm8776_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x6ab59211 soc_codec_dev_wm8776 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0xc92d87f9 wm8900_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0xd97f5421 soc_codec_dev_wm8900 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x4fb9f557 wm8903_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xf25207e2 soc_codec_dev_wm8903 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0x3d62a3ea wm8940_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0xde76fcfd soc_codec_dev_wm8940 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0xaafdb2c3 wm8960_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0xddf22893 soc_codec_dev_wm8960 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0x61a16166 wm8961_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0xc4e919d2 soc_codec_dev_wm8961 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0xc52b73e5 soc_codec_dev_wm8971 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0xc7d66ad2 wm8971_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0x971bfb61 wm8974_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0xb85c87a0 soc_codec_dev_wm8974 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x16914bf3 wm8988_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x1fb58f91 soc_codec_dev_wm8988 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0x5cb5c22a wm8990_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0xd6ae6fae soc_codec_dev_wm8990 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0xda21b084 wm8993_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0xfd833c6d soc_codec_dev_wm8993 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0x39aa1553 wm9081_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0x8e1f52e2 soc_codec_dev_wm9081 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00a82ea3 snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x02c1ae18 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x081fcf22 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x08adf469 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x096b8e4b snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x09bb5b30 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0e79fc27 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x13ac02f5 snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x154f5fef snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1bb142f2 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1c9b5f09 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x207f057d snd_soc_put_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x23aa8d0d snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x25f76426 snd_soc_dapm_stream_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x26594bb4 snd_soc_free_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x27dbfe76 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x27dfa763 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2fc590b8 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x332d3b02 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x38a893ad snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3a9a0bad snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3ae5b8d7 snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3b833d47 snd_soc_info_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4199a190 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x43f334f9 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x448f785e snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4550b23c snd_soc_new_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x477e90d5 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4dfe5a8d snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x52c703bb snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x539a7d45 snd_soc_init_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x55c2ea56 snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x55f942cc snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5b4f33b9 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5c15fefd snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5dc6ed5c snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66586889 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6833f7fb snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6d5d1def dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x793c2fc7 snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7a6a6ad7 snd_soc_add_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7b0e397b snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7fbd8c7e snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x80354793 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x83ad8674 snd_soc_get_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x859fcc23 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8777b5c1 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8fdac8f1 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xae73ae43 snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb160deb1 snd_soc_suspend_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb8ce837f snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xba6d8b80 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbbd1129a snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbf30e45a snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc16f47bb snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc4bb17ce snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc51763b7 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcb19182f snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcb4ffddd snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcd9da781 snd_soc_resume_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd9571ef5 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdba8cb05 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdfcafb4e snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe0ebd735 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xee2cd984 snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf3611682 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf5eccb12 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf6f9d35c snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf7b4c9ba snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf7f7758f snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfb1d7ec1 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x15e0620c xv_destroy_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x4803223f xv_malloc +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x57e771ba xv_get_total_size_bytes +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x88072f01 xv_create_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xaf69699e xv_get_object_size +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xe878f8f2 xv_free +EXPORT_SYMBOL_GPL vmlinux 0x003dbce0 cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0x003ed6a6 hpet_unregister_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x004545f4 inet_csk_compat_getsockopt +EXPORT_SYMBOL_GPL vmlinux 0x00465c94 dm_rh_mark_nosync +EXPORT_SYMBOL_GPL vmlinux 0x00566d8f inotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x0058d2cf apic +EXPORT_SYMBOL_GPL vmlinux 0x005d161d sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x009a5a62 device_move +EXPORT_SYMBOL_GPL vmlinux 0x00a5cbe1 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x00b7201f device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x00b8ecf8 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x00dc7989 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x00f94fde register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x0110b3d1 register_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0x016b9869 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x016f00ad ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x01848a8e local_apic_timer_c2_ok +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01bf2e74 platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01e9acda usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x0243a3fd __class_register +EXPORT_SYMBOL_GPL vmlinux 0x02578683 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x027c35a8 dm_rh_inc_pending +EXPORT_SYMBOL_GPL vmlinux 0x02875d85 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x029235c4 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x02a430cb ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x02b25430 inode_add_to_lists +EXPORT_SYMBOL_GPL vmlinux 0x02ccea56 lock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x02de62c4 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x02ee9194 ata_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x033921a1 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x039622db file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x03a3f86d unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x03b2ef7d crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x03cf3600 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x03e0be38 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x040515e0 inet_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x04069b1d set_irq_nested_thread +EXPORT_SYMBOL_GPL vmlinux 0x0415d56c __pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x04634238 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x0482d837 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x049cb438 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x04c3f2c1 gnttab_empty_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x04e32934 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x04ea8706 __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x0533f438 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x05a896ab usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x05c7ef21 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x06009be9 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x060d1064 set_memory_ro +EXPORT_SYMBOL_GPL vmlinux 0x0619ca8a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x06388092 ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x0638c0d0 pci_configure_slot +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x06ad0b21 usb_buffer_unmap_sg +EXPORT_SYMBOL_GPL vmlinux 0x06b52831 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x071f1ed6 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x075ffe8c power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x077bb459 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0x078993b9 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x07a13f3a rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x07a17fe5 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07ce7344 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x07ff4aea xenbus_scanf +EXPORT_SYMBOL_GPL vmlinux 0x080b7f43 tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x08321f60 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x0846d8f1 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0853a467 dm_rh_stop_recovery +EXPORT_SYMBOL_GPL vmlinux 0x085db0e4 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x08830850 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x0899da9f bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x08a3e5d1 net_ipv6_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0x08d8708f cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x095dc7fa each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x09dc4765 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x0a023b28 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x0a199eff relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x0a1a2ef4 bus_register +EXPORT_SYMBOL_GPL vmlinux 0x0a1f6790 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x0a770fa6 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x0ab16640 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x0aca3a40 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b4c2e73 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x0b5b6a57 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x0bce9d80 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x0bf4450c inet_csk_clone +EXPORT_SYMBOL_GPL vmlinux 0x0c04dc7f inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x0c117a36 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x0c15deb2 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c524a33 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x0c624a4d eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x0c73004b ata_port_disable +EXPORT_SYMBOL_GPL vmlinux 0x0c805f93 clflush_cache_range +EXPORT_SYMBOL_GPL vmlinux 0x0cb88680 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x0cc2c21a ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x0d05b522 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x0d125d1c ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x0d200e8e aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0d9f9322 usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x0db9d428 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x0dbe54f4 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0dc1b770 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x0df5e5d7 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x0e5b03e6 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0e77d09e bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x0ec210b8 xen_start_info +EXPORT_SYMBOL_GPL vmlinux 0x0ecaf541 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x0f0eeee1 ata_sff_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x0f0f6453 pci_unblock_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0x0f203f81 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x0f22c2e8 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x0f73520f klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x0f8bfa2a dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x0fb1e7c0 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x0fe2d570 xenbus_directory +EXPORT_SYMBOL_GPL vmlinux 0x0fea00d5 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x100c13c6 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x100c48a2 unregister_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101c923e __tracepoint_power_start +EXPORT_SYMBOL_GPL vmlinux 0x10621889 hpet_rtc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x10a9c8f5 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x10ff9e31 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x115f9a05 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x1176d0d0 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x11bc6660 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x1218a0c1 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x1243f03d ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x124bb3b4 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1251d30f call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x12a5d367 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x12c9d44f device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x13142672 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x1360fcd2 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x13780514 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x137b6c21 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x1381a048 iommu_map_range +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13cfb36f ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0x13ed245e vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x13ee9a02 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x13f21aa5 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x13f81879 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x1424d598 inotify_init_watch +EXPORT_SYMBOL_GPL vmlinux 0x148f06c3 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x149db923 selinux_string_to_sid +EXPORT_SYMBOL_GPL vmlinux 0x14a049c8 dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x14b2392b devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x14daa75b skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x15118c94 pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x153f0693 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x154a8f0c kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x1550d408 acpi_smbus_unregister_callback +EXPORT_SYMBOL_GPL vmlinux 0x1556756b usermodehelper_is_disabled +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 0x15b8174d sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x16143092 kill_pid_info_as_uid +EXPORT_SYMBOL_GPL vmlinux 0x16356357 pm_request_idle +EXPORT_SYMBOL_GPL vmlinux 0x1640954a class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x165137a7 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x16788d5b bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x1697136d hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x16da3868 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x171741fc bd_release_from_disk +EXPORT_SYMBOL_GPL vmlinux 0x17700099 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x179f6aef rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x17cdf383 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x186f0d2c crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0x1878f62b edac_err_assert +EXPORT_SYMBOL_GPL vmlinux 0x188f05ec __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x18d53420 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0x18efafe5 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x18f83fab gnttab_grant_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0x1903a7bd usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x19373794 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19a77686 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x19b0e167 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x19b70ac1 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x19bb9685 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x1a0d897f tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a474901 tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x1a5037ad usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x1a5424fa crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x1a7d447c pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x1a81f961 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x1a93017c rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0x1a938737 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x1a9b538e ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x1aa8dbd5 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x1acda5b2 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1ad94a98 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1bc6d562 inotify_remove_watch_locked +EXPORT_SYMBOL_GPL vmlinux 0x1bcde060 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x1c309769 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x1c3af716 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x1c7b6c2a eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0x1c852e7c xfrm_calg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c8b0961 crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0x1c8c9676 net_assign_generic +EXPORT_SYMBOL_GPL vmlinux 0x1caa0717 inet_csk_compat_setsockopt +EXPORT_SYMBOL_GPL vmlinux 0x1cd45ecb add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x1cdd5293 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x1cfbf182 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x1d0df04b ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x1d3b9373 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x1d8f8059 __tracepoint_power_end +EXPORT_SYMBOL_GPL vmlinux 0x1d9316a9 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x1db21d74 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x1dee2629 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x1e10c2b7 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x1e5f82de platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x1e69f12e blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ec284c0 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x1ee28364 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x1ef3b12e dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x1ef5e83e led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x1f3d1b77 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x1f42ba38 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1f498899 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x1f4ca7bc ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1f77ffbf per_cpu__gdt_page +EXPORT_SYMBOL_GPL vmlinux 0x1f8ec1b3 acpi_get_pci_rootbridge_handle +EXPORT_SYMBOL_GPL vmlinux 0x1fae7955 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1fb22f70 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x1fb47573 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1ff4aa42 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x205dcd7a klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20d22764 iommu_found +EXPORT_SYMBOL_GPL vmlinux 0x2100c724 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x21451dce __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x215db6e9 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x21da516f class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x21ff3d84 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x22399730 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x22f96dde pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x2349826a kick_process +EXPORT_SYMBOL_GPL vmlinux 0x234e4c9d transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x235ac6ca platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23933a2f register_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0x23a08794 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x23d11587 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x246f4153 pv_time_ops +EXPORT_SYMBOL_GPL vmlinux 0x24a72637 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x24c33079 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x24c7698a xenbus_write +EXPORT_SYMBOL_GPL vmlinux 0x24d6e997 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x25041dad input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x2508d93a sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x2545c170 unregister_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x25b53b6e __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0x25c25102 ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0x25f19d19 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x261aad74 rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x2646d1f8 dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0x267f4ded rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x26bc56ab xenbus_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x26c0d9a1 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26df275e regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x2746fb7f cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x27708c0c usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x278458cc dm_region_hash_create +EXPORT_SYMBOL_GPL vmlinux 0x279265f5 dm_rh_region_context +EXPORT_SYMBOL_GPL vmlinux 0x27adf232 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x27b87606 do_add_mount +EXPORT_SYMBOL_GPL vmlinux 0x27bd87ad sysdev_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x28048b61 pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0x2850f2e6 get_device +EXPORT_SYMBOL_GPL vmlinux 0x285e7e89 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL vmlinux 0x28fb8e09 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x29428260 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x29501527 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x295b0340 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x295e7c1c ip6_dst_blackhole +EXPORT_SYMBOL_GPL vmlinux 0x29b50d25 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x29c8f19d ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x29ddd2c6 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0x2a0a4724 bind_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2b09d67f dm_rh_start_recovery +EXPORT_SYMBOL_GPL vmlinux 0x2b32dd06 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x2b9f8e23 nf_net_ipv4_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x2bcaa8e3 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2bfc4d7f tracepoint_get_iter_range +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c2cb9c6 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x2cb2a318 ip6_sk_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2cc266b9 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d160c75 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x2d40faa2 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x2d5dbeec crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x2d85e769 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x2d9f2ce3 sched_clock_idle_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x2dd8444c trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x2e0df1ce fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x2e2292e0 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x2e47f677 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x2e9ad101 pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x2ec92012 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x2eed2630 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2f0f795b bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f857551 machine_check_poll +EXPORT_SYMBOL_GPL vmlinux 0x2f9a3671 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x2fb39b0c __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x2fbc1675 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x2fcd9e17 dpm_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x2fd41090 xenbus_alloc_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x300155d0 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x307abea5 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x30ef85f5 inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x311312da input_class +EXPORT_SYMBOL_GPL vmlinux 0x318920b1 register_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x31d84d7b usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x31e10192 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x31fccf26 pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0x32109dc7 disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0x3235157b inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x325e677c gnttab_grant_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x3274abbb crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x327e93b8 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x32d5e7fc xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x32f17454 ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x33262a75 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x33500d41 __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x33532f53 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x337c18da crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x338d3dce dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL vmlinux 0x33a6d8b2 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x33d3f03b blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x33d4bfa1 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x33e1d43b rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x34275124 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x343b751f tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x34454312 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x346835bc devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x347afd5a rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x348b1863 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x349533b0 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x34c24076 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x34da6aa1 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x34dc79ff led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x34dee8bc regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x34fd3f9a ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x35213407 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x354502c6 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x356c1403 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x35d8c94a sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x35fd0312 per_cpu__injectm +EXPORT_SYMBOL_GPL vmlinux 0x36046280 ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x3612bacf user_update +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x3657d666 ata_sff_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x36602883 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x368711e0 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x36c09916 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x36cb62e4 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x37ad4176 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x37e1670b scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x37e31358 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x38225c25 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x384958ff sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x38650514 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x38712717 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x3879d0b6 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x387c34ac power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x38ea936e __memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x390c640f hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x392a643e sysdev_class_register +EXPORT_SYMBOL_GPL vmlinux 0x397b9bfb dm_rh_update_states +EXPORT_SYMBOL_GPL vmlinux 0x399f628f scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x39ad4f6b fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x39b64e26 sysdev_register +EXPORT_SYMBOL_GPL vmlinux 0x39bf90fa ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x39c95518 swiotlb_sync_single_range_for_cpu +EXPORT_SYMBOL_GPL vmlinux 0x39cd85e6 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x3a13f9e8 inotify_init +EXPORT_SYMBOL_GPL vmlinux 0x3a3e5e8a ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x3a6de86a power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x3a9eabb0 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x3ab9aa04 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x3af833c3 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x3b09fdc3 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x3b7b114e dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x3b7ea06f __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x3b7fdb6f shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x3be7af02 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3c307dcb skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x3c6488c3 usb_buffer_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x3c6c45ca __tracepoint_power_frequency +EXPORT_SYMBOL_GPL vmlinux 0x3c7d8eda devres_add +EXPORT_SYMBOL_GPL vmlinux 0x3c7fa7a7 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3c9cab97 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x3cb3950a class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x3cc42d71 xenbus_map_ring_valloc +EXPORT_SYMBOL_GPL vmlinux 0x3ccb6c30 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cfdfae5 trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x3cfe9e79 do_sync_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d100a0e ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x3d18a025 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x3d381b7b i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d5acc58 sysdev_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3d5f392d acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0x3d6d0225 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x3d7ea99a gnttab_grant_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x3dc4e2e5 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x3dd5d829 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x3dde0e07 amd_get_nb_id +EXPORT_SYMBOL_GPL vmlinux 0x3de34bfd security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x3e4c44c2 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x3e90049c usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x3ea6ec5d pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x3ecf6cfc wmi_install_notify_handler +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f0348ec crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x3f093a1f spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x3f238101 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x3f2f0897 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x3f75805e sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0x3f84d4c9 gnttab_release_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x3faa08c4 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x40164d85 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x40258e27 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x402a8664 filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0x405211cb sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x405f6eeb ata_port_start +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40be2c41 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x40d3007c ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x40e2477d pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x40eb7312 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x4220181b xenbus_dev_changed +EXPORT_SYMBOL_GPL vmlinux 0x42494cea ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x424acc6d scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x426f13b9 e820_all_mapped +EXPORT_SYMBOL_GPL vmlinux 0x427dd702 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x42a18c66 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x42acfea4 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x42eee679 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0x4304c1f9 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x430f8f74 fib_rules_cleanup_ops +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x435e24b7 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x436080f0 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x437b4ba0 sysdev_create_file +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x43fc6c6b drop_file_write_access +EXPORT_SYMBOL_GPL vmlinux 0x440dbee6 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x44661518 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44a65d5c lock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x44abb265 device_create +EXPORT_SYMBOL_GPL vmlinux 0x4541fe0d mtrr_state +EXPORT_SYMBOL_GPL vmlinux 0x454d5c01 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x4566c152 __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45ce97f6 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x45d14bdf hypercall_page +EXPORT_SYMBOL_GPL vmlinux 0x460f31aa rodata_test_data +EXPORT_SYMBOL_GPL vmlinux 0x463629cd regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x468b6545 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x46dc6a84 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x46eac552 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x470503bc pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x470ce480 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x475c3565 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x47b4e363 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x480b57a0 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x4834d9e1 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x48615514 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x48aec5eb usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x490780ff find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x497de026 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x4985d4b5 sis_info133_for_sata +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x4995f903 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x49ec9877 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x4a577562 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x4af9d82c class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x4afcdb09 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x4b33177c pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0x4b3f7cc7 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x4b580715 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0x4b762828 start_thread +EXPORT_SYMBOL_GPL vmlinux 0x4bb3867b ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x4be479b5 proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0x4bee02f0 cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x4bf3351e usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4cec82ee crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x4cff5e3f sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x4d282023 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x4d2c9a35 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x4d3970eb power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x4d4e4610 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x4d8f4c15 klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4d902f43 ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0x4e2e450f xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x4ea226d7 ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4eb0c7b0 sysdev_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4ed4d7c5 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x4eebbf49 scsi_dh_detach +EXPORT_SYMBOL_GPL vmlinux 0x4f1ff8f4 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x4f2dd2c2 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x4f3537f6 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x4f397825 scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x4f502ba6 device_del +EXPORT_SYMBOL_GPL vmlinux 0x4f6a2efb usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x4f6d1236 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x4fc39726 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x4fc56cce iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x5014b118 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x50184142 pci_get_hp_params +EXPORT_SYMBOL_GPL vmlinux 0x504a2533 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0x50598efd ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x506a697e sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x506e12df platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x50b319ce cpu_bit_bitmap +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 0x511f1d9c inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x513172a3 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x51602ba6 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x516e7df8 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5172ff4c rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x518c2fc6 hpet_rtc_dropped_irq +EXPORT_SYMBOL_GPL vmlinux 0x51b94f4c dm_rh_recovery_end +EXPORT_SYMBOL_GPL vmlinux 0x5255894b clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x527cc9c8 shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x52948366 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x52af98d0 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x52d111ea pm_qos_update_requirement +EXPORT_SYMBOL_GPL vmlinux 0x52e47460 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5324d04f bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x5372dede unregister_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x539eda8d ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x53b36db6 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x54397bcd generic_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x549fe6a9 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x5519bea2 ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x55526907 xen_features +EXPORT_SYMBOL_GPL vmlinux 0x556d11df gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x55dc0a63 sysdev_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x55f2580b __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x561c634a wmi_evaluate_method +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x56398615 mark_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x563fb5c8 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x564f2252 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x568de4ee ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x56947347 dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x57157c6d ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x57217448 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x5779d445 xenbus_exists +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x583b845a __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x583db1a5 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x584b943b ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x5882f459 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x58f3c8a8 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x593a36c2 scsi_dh_handler_exist +EXPORT_SYMBOL_GPL vmlinux 0x5948fa18 scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0x5a0ae43d attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x5a2b1b67 gnttab_free_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5a48fba2 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x5a6b9919 __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5af03a28 gnttab_claim_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5b013610 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x5b435139 unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x5b835e9d relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x5bb3be18 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c1efd0a alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x5c268ced register_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0x5c3f52e6 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x5c8cb862 sysdev_class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x5c967b9f cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x5c9cec05 __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x5cbfd21e ata_sff_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x5cd1db01 xenbus_bind_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x5cda6d19 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x5d0f6f57 kbd_table +EXPORT_SYMBOL_GPL vmlinux 0x5d297383 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x5d2b7649 aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x5d366dec gnttab_cancel_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x5d46fd2b bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d87c067 register_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5d8c1cae mmput +EXPORT_SYMBOL_GPL vmlinux 0x5dd46994 xenbus_watch_pathfmt +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5de1686a class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x5df32a65 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x5e04125e regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x5e2e97b0 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x5e5f964c elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5efa1c4a usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x5f11781c debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x5f2da8c4 check_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x5f8553e4 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x5fa611ee debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x5fca4d68 unregister_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0x5fcdec5d xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x603ab8dd devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6040fd4b read_unlock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0x6058e1f3 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x60838daf sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60bafed5 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x60cd73ed pv_apic_ops +EXPORT_SYMBOL_GPL vmlinux 0x60d55416 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x60f94558 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x60fa50f9 put_device +EXPORT_SYMBOL_GPL vmlinux 0x60fba751 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x61747e09 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x6194ffea do_machine_check +EXPORT_SYMBOL_GPL vmlinux 0x619f70b9 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x61a1808a sysdev_class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x61abe2de tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x61b5cd98 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x61b7aba2 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x61c6f8bf power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x62211d33 bd_claim_by_disk +EXPORT_SYMBOL_GPL vmlinux 0x6242e2ad page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x627ce53a cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x62960cdf crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6298cad9 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x629a7f6e do_posix_clock_nonanosleep +EXPORT_SYMBOL_GPL vmlinux 0x62d9a7d2 ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x6301d114 device_add +EXPORT_SYMBOL_GPL vmlinux 0x631fe87f skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x63583f91 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x635d1370 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x637c0561 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x6393d52c vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x639ec36f ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x63dbe800 sysdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x63f139d8 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x63f4dc09 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x6408368d crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x640ee24f get_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0x65036d45 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x652249a4 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x65343146 d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x654c49e2 aer_irq +EXPORT_SYMBOL_GPL vmlinux 0x65589219 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x6565b802 device_register +EXPORT_SYMBOL_GPL vmlinux 0x656d4891 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x65b3ae79 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x65b95540 dm_requeue_unmapped_request +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 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6657779c swiotlb_sync_single_range_for_device +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x669c87a4 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66d75abe scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66ea1170 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x66eab7f1 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x67254173 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x6790f512 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67e06492 inotify_find_update_watch +EXPORT_SYMBOL_GPL vmlinux 0x68018218 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x686c703f xfrm_count_auth_supported +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x68a668cb hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x68f09f86 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x6901119a trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x69109b31 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x691b8d3d device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6941362d __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x695533ad crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x69882074 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x6994c26a bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x69b6d2ff relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x69c27f29 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x69e5a3ee rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0x69e5fc45 find_module +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6a11e6c9 __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0x6a15fb96 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x6a21cb8c ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6a273798 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0x6a373360 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL vmlinux 0x6a3d9322 dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6a8dc705 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x6adf5eab preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x6ae11d26 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x6b3b7167 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x6b7ab588 trace_define_common_fields +EXPORT_SYMBOL_GPL vmlinux 0x6b83ef55 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x6b87e3b1 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x6b9178b3 xenbus_strstate +EXPORT_SYMBOL_GPL vmlinux 0x6ba7f27a handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x6bdd560a inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0x6be62dfd probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x6bfd2188 fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0x6c0b5808 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x6c404e4c led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c807758 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6c8eb98f xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x6ca6c67a gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x6ce031b4 i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x6d12a543 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d38200d crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6d99bebe sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x6dac1f9a led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x6e58ddf0 gnttab_end_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x6e6089f0 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0x6e7474fc xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x6e990eb1 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x6eb787ee klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x6eeedc32 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x6f1e676a skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x6f47df62 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x6f5041c9 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0x6f52a62e register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x6f6ce32b rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x6f8547b7 sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x6fbed5b4 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x6fe3d8cf ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x7037d79d k8_flush_garts +EXPORT_SYMBOL_GPL vmlinux 0x704cdfc0 put_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x7074e30c securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x708837c5 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71b65ef2 ata_sff_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x71c8bc95 kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x71e40833 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x721babaa sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x722c4f65 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x728583ea sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x729ab9c7 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0x72c55186 xenbus_grant_ring +EXPORT_SYMBOL_GPL vmlinux 0x72d94949 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x72e03bae stop_machine_create +EXPORT_SYMBOL_GPL vmlinux 0x731433ee unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x731a8eab queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x731dba7a xen_domain_type +EXPORT_SYMBOL_GPL vmlinux 0x733e4a90 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x73645832 sysdev_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73e4678a ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x73fcc540 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x742985c2 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x7484075a inotify_inode_queue_event +EXPORT_SYMBOL_GPL vmlinux 0x74abdafa task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74deb10c used_vectors +EXPORT_SYMBOL_GPL vmlinux 0x74f0ae80 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x75085ffc tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x7521afb6 leave_mm +EXPORT_SYMBOL_GPL vmlinux 0x7534cdfd ata_sff_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x7549636b scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x757dc815 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x75bfb8a5 register_net_sysctl_rotable +EXPORT_SYMBOL_GPL vmlinux 0x75deb540 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x760ead7f sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x761188fd dpm_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x7648ee0c cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x7685c882 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x768a0302 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x770dc8b4 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x7712771a unbind_from_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x77127d5e crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x77295421 rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x773ca527 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x776760f9 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x777721f1 rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x77b0ebeb driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x77d241d9 blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x780eed89 acpi_processor_ffh_cstate_enter +EXPORT_SYMBOL_GPL vmlinux 0x781f4ba2 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x78309e2e i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x7840ede6 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x78546758 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x7885c1ed usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x788c852b ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7898d132 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0x78cf003f ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x78e4a4ee klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x792c05f7 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x793a329a sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x79808b10 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x79bc6fc8 spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x79cda9a0 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x79d66d78 xenbus_dev_error +EXPORT_SYMBOL_GPL vmlinux 0x79e36091 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x79eb6e3d acpi_smbus_read +EXPORT_SYMBOL_GPL vmlinux 0x7a0f736b agp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x7a243bce ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x7a2de623 register_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x7a40ad4e hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x7a47cf8a device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x7a4bc1aa dm_rh_get_region_key +EXPORT_SYMBOL_GPL vmlinux 0x7a4c1438 pv_info +EXPORT_SYMBOL_GPL vmlinux 0x7ab3c122 edac_handlers +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7b067a5d __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x7b1d544d edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x7b1d9dfa blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x7bcd2ded klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x7bcebd33 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x7bd7c566 put_driver +EXPORT_SYMBOL_GPL vmlinux 0x7bee2635 cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0x7c3ff30d inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x7c821c56 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x7c8fc5e9 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7de1d673 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e2d7ad6 blk_abort_queue +EXPORT_SYMBOL_GPL vmlinux 0x7e5e301f unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e6f2d92 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x7e8efc10 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x7ecf71bb single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x7ee6c3b7 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7efef236 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x7f19c836 unlock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x7fbe01cf anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8014b6af input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x80189a41 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x80373203 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x8039d043 selinux_secmark_relabel_packet_permission +EXPORT_SYMBOL_GPL vmlinux 0x803bb408 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x80417404 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8085c9d3 gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80bcd3fe set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x80c6e9ee spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x80ee55c3 selinux_secmark_refcount_inc +EXPORT_SYMBOL_GPL vmlinux 0x80f03143 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x8106d775 cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x81524162 fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0x8164859c rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x81683107 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x828c36ba inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x82923f4e acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x82ad1f61 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x82af8b9a devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x82cd19f3 register_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82f776b7 gpio_export +EXPORT_SYMBOL_GPL vmlinux 0x8310e141 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x8333bfde crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x833e051c init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x83b76dbe generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x83bc5dac inotify_destroy +EXPORT_SYMBOL_GPL vmlinux 0x83c67ec2 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x83e52c00 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x83f240e4 xenbus_dev_fatal +EXPORT_SYMBOL_GPL vmlinux 0x840722da dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x842a07ae crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x8436a9ba zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x845cc2c4 unregister_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0x847f2091 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x84b149e9 hypervisor_kobj +EXPORT_SYMBOL_GPL vmlinux 0x84bd9e00 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x850af9da ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0x85291f80 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x85bcad38 __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85cb1c9d get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x85cf26a8 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x85d7edfd hpet_set_periodic_freq +EXPORT_SYMBOL_GPL vmlinux 0x85ec6388 fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x86072866 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x863e3a8c scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq +EXPORT_SYMBOL_GPL vmlinux 0x867c684a setup_APIC_eilvt_ibs +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86a51007 gnttab_end_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x86a5469d ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x86b1667d hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x873fbaea edac_atomic_assert_error +EXPORT_SYMBOL_GPL vmlinux 0x876d29f1 wmi_get_event_data +EXPORT_SYMBOL_GPL vmlinux 0x8774f5ef pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x878cc5de sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x87a79b40 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0x880b189a __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x88406680 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x885142a6 nf_net_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x886dec05 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x88f8be1e sysdev_show_int +EXPORT_SYMBOL_GPL vmlinux 0x891e02b1 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x89ececdf rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8a38b4f3 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x8a4f84f7 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x8a72be8e power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x8a78989f irq_from_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x8aa87543 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x8aa9abca sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x8ab65efd ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x8ae1ad66 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x8ae8f1f9 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x8b0eb79e __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x8b39cf9d unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x8b4660ee usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x8b57f997 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8b9200fd lookup_address +EXPORT_SYMBOL_GPL vmlinux 0x8c06a108 xenbus_transaction_start +EXPORT_SYMBOL_GPL vmlinux 0x8c38074a unregister_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8c88f0ea pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x8c9d686d __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x8cd14218 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8ce008ff security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x8d033df4 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x8d109544 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x8d21e4df da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x8d2e698c regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x8d411d0b unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x8d952dc7 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x8da23728 aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x8da67bf9 usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x8db1a37e cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x8db89810 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x8deb6e3c usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x8df632ae pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0x8dfad02f pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x8e3be7b4 nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x8e3f58df proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x8e558dd7 regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x8e5c0783 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x8eabc8bd setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x8eb58c6e __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x8efe0116 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f8932fa xenbus_switch_state +EXPORT_SYMBOL_GPL vmlinux 0x8f9c4889 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x8fa74514 sysdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8fd922f3 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x9009602a acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x90222119 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x9044591d crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x9078bc46 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90b3689a xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x90f3c78e queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x912ef477 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x91346b63 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x91482eef usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x91640f16 dm_rh_get_region_size +EXPORT_SYMBOL_GPL vmlinux 0x91a456a6 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x91ff1264 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x9244c614 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x9249b012 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x92778d56 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0x929b13fc pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92e33582 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x92fb217b dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0x93260715 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x933265e5 nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0x935893b2 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x935a7c48 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x93aa2bb2 acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0x93c8dad6 inet_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93ebe3f5 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x9418bbb8 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x942a41f4 iommu_unmap_range +EXPORT_SYMBOL_GPL vmlinux 0x94326e33 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x944561ea ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x94a3bf70 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94bef61c lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0x94df3ab0 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x94f57a08 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x94f728e2 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x9505e567 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x952391e8 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x9556688b user_read +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x957323d7 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x95758050 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x95cdc22f ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x961a8cd3 unlock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x961e714a crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x964d5c39 acpi_os_map_memory +EXPORT_SYMBOL_GPL vmlinux 0x966eb1e0 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x96b7d4e5 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x96bc8f23 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x970c8daa fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x9724f911 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x972f2ebd shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x97982542 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x97afc880 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x97c1c194 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x97cc1802 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x980fa92e __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x98215d8d device_rename +EXPORT_SYMBOL_GPL vmlinux 0x9827f7f6 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x9841a4b9 scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0x984cecb0 __pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x9855875a input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x98b56216 __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x98cdfc38 acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0x98ef3fdf usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x98fc63fc __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x99286626 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x9930ed80 __create_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x995d38f8 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9984c858 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a26b000 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x9a369bbd debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x9a4d1034 idle_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x9ad56f09 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x9ae2a3ec pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x9b71b65e tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x9b8b3e51 acpi_processor_ffh_cstate_probe +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9bb94403 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x9be34dea bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x9c0cbc89 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x9c447323 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x9c5a5292 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x9cb18781 dm_rh_get_state +EXPORT_SYMBOL_GPL vmlinux 0x9cb8037b xfrm_count_enc_supported +EXPORT_SYMBOL_GPL vmlinux 0x9cfb6d62 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x9d06688b register_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x9d2ac309 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x9d2b6a58 hpet_register_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x9d308c4d hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x9d381449 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x9d3850e1 gnttab_alloc_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x9d4287a7 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x9d741a89 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x9da688ea pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x9dca1d7c usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x9dcec942 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9df1e5f9 scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0x9dfa0f9f usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x9e01f6d4 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0x9e3dda60 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x9e6b50ce pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x9e711ad2 pm_qos_requirement +EXPORT_SYMBOL_GPL vmlinux 0x9e95459a transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x9ea08a44 __module_address +EXPORT_SYMBOL_GPL vmlinux 0x9efc7366 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0x9f074685 elv_register +EXPORT_SYMBOL_GPL vmlinux 0x9f1c9fd2 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x9f34e098 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f611e62 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x9f6aeb41 blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0x9f85ed90 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0x9fb073e5 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa0255440 net_ipv4_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0xa0686e82 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0xa07c16ae ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0xa1091707 proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0xa157ae34 xenbus_map_ring +EXPORT_SYMBOL_GPL vmlinux 0xa186c8f6 lookup_create +EXPORT_SYMBOL_GPL vmlinux 0xa1b6754a uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xa219ae66 regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xa2294b4c ata_pio_queue_task +EXPORT_SYMBOL_GPL vmlinux 0xa23e6b2b blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xa248a773 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL vmlinux 0xa288efcf unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xa28d8527 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xa29f2d12 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0xa2e67f08 acpi_bus_generate_proc_event4 +EXPORT_SYMBOL_GPL vmlinux 0xa307bd10 driver_find +EXPORT_SYMBOL_GPL vmlinux 0xa353fffc xenbus_rm +EXPORT_SYMBOL_GPL vmlinux 0xa40a8590 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xa413530f ata_bmdma_mode_filter +EXPORT_SYMBOL_GPL vmlinux 0xa4465963 dm_unregister_path_selector +EXPORT_SYMBOL_GPL vmlinux 0xa452c297 hpet_mask_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa4849d12 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0xa4a42813 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0xa4b24ba1 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0xa4d58669 math_state_restore +EXPORT_SYMBOL_GPL vmlinux 0xa4e08dca usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0xa50c2f9f class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xa50ffe56 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xa51105bf spi_async +EXPORT_SYMBOL_GPL vmlinux 0xa519a3eb xenbus_watch_path +EXPORT_SYMBOL_GPL vmlinux 0xa53e6027 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0xa5597e1c cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa5a2b238 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0xa5aa55fa destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa5acc907 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0xa5bf5c3e pm_qos_add_requirement +EXPORT_SYMBOL_GPL vmlinux 0xa5c36cec inotify_unmount_inodes +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa602a8c7 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xa60926cc platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xa6473125 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0xa651d22f sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0xa665a7b1 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa6b28207 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xa765601d ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0xa7680fc4 do_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xa78a2da9 platform_device_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xa78e60a3 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xa79cec1c usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0xa87ae87e bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa891a223 ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0xa8ca6e89 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa9126bff hpet_set_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa9167685 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xa94fea41 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xa9816fb8 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9d5e788 inotify_add_watch +EXPORT_SYMBOL_GPL vmlinux 0xaa0c6338 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xaa17a6dc usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xaa3e3aea __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xaa5310f9 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xaa8c4696 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0xaaa530c3 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xaab88521 dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0xaac98eb5 scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xaad47370 crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xaaddf6ca blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0xaae8e85e acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0xaaf253a0 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xab01acbe gnttab_request_free_callback +EXPORT_SYMBOL_GPL vmlinux 0xab57e311 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xab67f0f3 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xab69b31f save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0xab707c8e scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0xaba8ea48 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0xabf5287d pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xac5811fb skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xac8829c7 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0xac8e3b2f usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0xaca2d970 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0xacafa8e7 vector_used_by_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xacb71686 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xacc19485 ibft_addr +EXPORT_SYMBOL_GPL vmlinux 0xaccf754e sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xad096363 xenbus_printf +EXPORT_SYMBOL_GPL vmlinux 0xad2ecd8a pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0xad792548 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0xad927df0 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xaddc6dd7 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xaddf119c tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae528a75 srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xae6d3fc9 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0xae8e9d00 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0xaeb2c45c fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0xaed1d450 sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0xaed831be rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xaf3f6fe0 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xaf5eb06d crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xaf75725f input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0xaf8a4c74 inotify_rm_wd +EXPORT_SYMBOL_GPL vmlinux 0xafa9bc79 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xafc7c996 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xafe845e8 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xafefd48e ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xb0223109 klist_next +EXPORT_SYMBOL_GPL vmlinux 0xb0348a4f rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xb08e5620 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xb0aa812e fips_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb0ac5ea0 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xb0cf522f devres_get +EXPORT_SYMBOL_GPL vmlinux 0xb0eedea9 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb104c61e ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb131ff95 pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0xb13239b6 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0xb15c20c5 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0xb16f8453 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb1e2177b br_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0xb1e3a2d6 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xb219e9b7 dm_region_hash_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb21d19bb ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0xb29f433d register_posix_clock +EXPORT_SYMBOL_GPL vmlinux 0xb2b42d83 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xb2f74d91 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb2fab611 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xb320cf44 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xb3253ed9 hpet_rtc_timer_init +EXPORT_SYMBOL_GPL vmlinux 0xb33b0067 pci_block_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0xb34b37d7 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xb37fd83b ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0xb38e9a9c class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb3ba5c02 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0xb3d7e262 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0xb42941ee dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0xb42f2903 relay_close +EXPORT_SYMBOL_GPL vmlinux 0xb4534729 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xb4960db2 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0xb49b346a apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0xb4e14553 gnttab_query_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb50bfaca regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb5100fec dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb53ae573 cpu_idle_wait +EXPORT_SYMBOL_GPL vmlinux 0xb58187ba fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb5a0275b devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xb5a6ebe2 wmi_remove_notify_handler +EXPORT_SYMBOL_GPL vmlinux 0xb5c69426 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0xb612444d snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0xb6230f1f gnttab_grant_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xb6247301 blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0xb6416c0d __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xb65091b3 selinux_secmark_refcount_dec +EXPORT_SYMBOL_GPL vmlinux 0xb66f9f1c dm_rh_recovery_start +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb718f2f9 sfi_table_parse +EXPORT_SYMBOL_GPL vmlinux 0xb744fa43 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xb760aaa7 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0xb7918e19 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0xb795637c regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb7d7c12e hpet_set_alarm_time +EXPORT_SYMBOL_GPL vmlinux 0xb7e2eb91 mce_cpu_specific_poll +EXPORT_SYMBOL_GPL vmlinux 0xb7fc2f64 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0xb7fdd0df eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0xb815e909 dm_register_path_selector +EXPORT_SYMBOL_GPL vmlinux 0xb82e6e15 xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0xb841bf22 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xb858b265 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xb87dd3df kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xb8d8958d securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xb903674c scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0xb92d5c88 driver_add_kobj +EXPORT_SYMBOL_GPL vmlinux 0xb9397589 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0xb94db510 register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xb99d5837 xenbus_read +EXPORT_SYMBOL_GPL vmlinux 0xb9b9c1b4 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0xb9e52dbf pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0xb9eb3aa9 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xb9f8736a pm_request_resume +EXPORT_SYMBOL_GPL vmlinux 0xba06c695 pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xba30d904 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xba57a9ec blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xba8979e4 class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0xba8f6b5f scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xbaa6d11b ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0xbac57201 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbae42212 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0xbb08e82f ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0xbb3507a9 xenbus_frontend_closed +EXPORT_SYMBOL_GPL vmlinux 0xbb39b726 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xbb3a3268 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0xbb4a1408 klist_init +EXPORT_SYMBOL_GPL vmlinux 0xbb7ecba1 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xbb802181 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0xbba00578 sysdev_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0xbbb98859 edid_info +EXPORT_SYMBOL_GPL vmlinux 0xbbcc8be3 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0xbbd26fce xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0xbc0760a4 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xbc46d5fd usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0xbc4ac256 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL vmlinux 0xbc6ba3aa scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xbd09b571 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0xbd184340 relay_open +EXPORT_SYMBOL_GPL vmlinux 0xbd1bc65b pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0xbd506a46 unregister_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbddbe90d disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xbdf996cd ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0xbe116723 do_posix_clock_nosettime +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe1ed72b usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xbe3ff7eb inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0xbe608951 smp_ops +EXPORT_SYMBOL_GPL vmlinux 0xbe7889b1 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xbeb4cb93 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0xbeda71b4 crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0xbef8a262 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xbf1e8725 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0xbf56ad1b dm_rh_flush +EXPORT_SYMBOL_GPL vmlinux 0xbf74eb20 probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0xbf8f237a raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xbfa5f898 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0xbfbb1aad ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0xbfbf1d80 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0xbfcd63bf skb_morph +EXPORT_SYMBOL_GPL vmlinux 0xbfd94bb0 bind_virq_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0xbfe0c34f tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xbffde8ec compat_alloc_user_space +EXPORT_SYMBOL_GPL vmlinux 0xc00f413d driver_register +EXPORT_SYMBOL_GPL vmlinux 0xc0a72b6b inotify_dentry_parent_queue_event +EXPORT_SYMBOL_GPL vmlinux 0xc126e890 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xc12f7e0d trace_profile_buf_nmi +EXPORT_SYMBOL_GPL vmlinux 0xc136d9da usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0xc154ecff tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0xc156b663 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc175f4f5 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0xc213f313 ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc22d3a34 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xc26351f8 bind_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xc291a0f3 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0xc3014865 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0xc3301f02 rcu_expedited_torture_stats +EXPORT_SYMBOL_GPL vmlinux 0xc3486f36 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3aa2836 read_lock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0xc3e97864 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0xc4034caa enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xc40f2959 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0xc4118e57 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc42f2f94 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xc437e684 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0xc46a79e2 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4b33aa6 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc4ce6189 idle_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc4fe292e tcp_done +EXPORT_SYMBOL_GPL vmlinux 0xc50393df regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xc512626a __supported_pte_mask +EXPORT_SYMBOL_GPL vmlinux 0xc52ac5c4 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0xc5397da6 xenbus_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xc544c01f ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xc561fff8 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0xc58eb212 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc6252011 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc6724081 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0xc673e23e ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xc687220f pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xc6d9dd4e vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0xc6e2b37a mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xc78984e3 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0xc7aedf1a scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0xc7bff67e shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xc7ec11f6 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xc7ed43f9 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc8254262 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc87e487a sched_clock_idle_sleep_event +EXPORT_SYMBOL_GPL vmlinux 0xc94c1a4d register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9d4b23f kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0xc9d4d6d1 wmi_has_guid +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xca01f51c tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0xca0701e4 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xca295f03 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0xca81ea9a xenbus_transaction_end +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xca8db48d find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0xcaae1e7d sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xcab3abea pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcacdc03b remove_irq +EXPORT_SYMBOL_GPL vmlinux 0xcb3079d1 dm_put +EXPORT_SYMBOL_GPL vmlinux 0xcbf202df driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xcc15647b xenbus_unmap_ring +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc32740a br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xcc6ab305 is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xccb3fc48 tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xcce5f548 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xcd1ca2cb iommu_domain_has_cap +EXPORT_SYMBOL_GPL vmlinux 0xcda7eb6b swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0xcdb8547e ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdce59a5 ata_port_probe +EXPORT_SYMBOL_GPL vmlinux 0xcdd79cab bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xce34fd32 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0xce4cb094 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xceb24a2a get_cpu_sysdev +EXPORT_SYMBOL_GPL vmlinux 0xcf2fd976 tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xcf563700 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xcf64aebc inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0xcf7a962e cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0xcf8af983 trace_profile_buf +EXPORT_SYMBOL_GPL vmlinux 0xcf909837 generic_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0xcfbfa60e rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xcfc68341 synchronize_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcfdc749f tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd03fdcc0 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0xd054873c crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xd0552737 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0d61a40 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0xd0f85d32 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xd0fc1e13 ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd12d0023 mce_chrdev_ops +EXPORT_SYMBOL_GPL vmlinux 0xd134fd42 get_driver +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd179f2fd tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xd18b7de0 ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xd1ba1939 acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0xd1cee293 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xd1e33201 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xd205041e ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0xd2116708 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd284a7be ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xd2a8caf0 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd2e4fab8 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0xd2fc29a7 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0xd315b003 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xd3471369 acpi_smbus_write +EXPORT_SYMBOL_GPL vmlinux 0xd348165a ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xd3f3263e ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0xd41993a4 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xd4366782 sk_clone +EXPORT_SYMBOL_GPL vmlinux 0xd44997e3 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0xd46f3e8d crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xd4b197bc fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd5460733 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0xd56e4afa usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0xd59351de platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xd59764c1 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xd5c8ad5f class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd5f1f3b6 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0xd5ff0c51 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xd624ba84 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0xd62b6993 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0xd69cf070 __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xd69d988e ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0xd6b103e9 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0xd6cb0582 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xd6cbb428 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xd6fc18c3 inotify_find_watch +EXPORT_SYMBOL_GPL vmlinux 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL vmlinux 0xd7020cf1 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd727628a ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0xd73ef534 sysdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xd7432550 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd7893db1 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd7d79132 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd84bcc8e __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xd8b8c91f crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0xd8bdc51c __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0xd8ceab94 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xd8dd22fd ata_sff_host_intr +EXPORT_SYMBOL_GPL vmlinux 0xd9042fa8 scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0xd92fbcd4 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0xd9385c8f crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xd94d5e13 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd9a6ebe0 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xd9d5bead usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda2068ee ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0xda29f8b0 wmi_set_block +EXPORT_SYMBOL_GPL vmlinux 0xda39a88d ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0xda3bdd9c sysdev_store_int +EXPORT_SYMBOL_GPL vmlinux 0xda546148 ata_sff_port_start +EXPORT_SYMBOL_GPL vmlinux 0xda565ad2 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xdac774c9 __xenbus_register_frontend +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb14a4c2 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0xdb274e52 monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0xdb77aac1 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0xdb7ced58 rtnl_kill_links +EXPORT_SYMBOL_GPL vmlinux 0xdba64f1c eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0xdbd848ed spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xdbe41538 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0xdbf2ee5f gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0xdbf3c557 acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0xdc1f8f2e register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xdc393143 regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0xdc47bd0b fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xdc77be9e hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0xdcd30e0f device_attach +EXPORT_SYMBOL_GPL vmlinux 0xdd3cd923 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0xddf72bd1 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0xddfac67a crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde846cf4 pci_hp_change_slot_info +EXPORT_SYMBOL_GPL vmlinux 0xdeccd66a ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xdee00ca0 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xdf1bdb7a usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0xdf2809f7 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xdf445388 map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xdf4c6435 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0xdfca5641 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0xdfd6ce8b __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0xdfd72a48 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xe045c5d6 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xe061c5ab usb_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL vmlinux 0xe0ae4d2e init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xe0ae754c crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0xe0bdf160 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0xe0c77bb5 mce_notify_irq +EXPORT_SYMBOL_GPL vmlinux 0xe0cca33e xfrm_aead_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xe13b48ef inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0xe14722a2 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xe1854364 pci_sriov_migration +EXPORT_SYMBOL_GPL vmlinux 0xe1c2b9f2 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0xe1e0ca57 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xe218a679 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0xe247343b hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0xe25f6273 macvlan_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0xe295c0ff is_hpet_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe2cbeeba user_describe +EXPORT_SYMBOL_GPL vmlinux 0xe2ef9767 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xe350ee6d ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xe3aa4891 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0xe3f1bfa5 ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xe404e4a0 usb_string +EXPORT_SYMBOL_GPL vmlinux 0xe42ad5be alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xe441d07c dm_rh_delay +EXPORT_SYMBOL_GPL vmlinux 0xe4428977 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xe47b92db regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xe49a9344 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0xe49cb4b1 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe49ff3b0 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xe4b15954 dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0xe4c858c2 spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xe4d2d0ab i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0xe4d6144d regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xe50782a7 srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xe513afc0 cache_k8_northbridges +EXPORT_SYMBOL_GPL vmlinux 0xe530071c pm_qos_remove_requirement +EXPORT_SYMBOL_GPL vmlinux 0xe58b9ac0 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xe5a68061 dm_rh_dirty_log +EXPORT_SYMBOL_GPL vmlinux 0xe5aff0d8 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xe5d9e225 fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0xe5e51709 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe623483e securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xe62c2187 dm_rh_dec +EXPORT_SYMBOL_GPL vmlinux 0xe630203b device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe67427eb sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0xe68deb31 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe6e8f340 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0xe7125fe3 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xe739d942 skb_icv_walk +EXPORT_SYMBOL_GPL vmlinux 0xe75b89c3 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0xe7a29673 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe8330866 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe8ad83b9 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0xe8b0a27c tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0xe8ce2630 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0xe8e28dea ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0xe901175f __dev_addr_unsync +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe9d38dbb ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0xe9de78ce debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xe9e0b191 cpufreq_driver_target +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 0xea93796a usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xead40003 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xeae01e45 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeb4c1fc8 __tracepoint_block_remap +EXPORT_SYMBOL_GPL vmlinux 0xeb4c70bb disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xeb5e0751 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xeb72461c usb_autopm_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xebc52bfd nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0xec1a75a9 __dev_addr_sync +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec2f60c0 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xec60c02d acpi_smbus_register_callback +EXPORT_SYMBOL_GPL vmlinux 0xec67fd09 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xeca40cb4 xenbus_free_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xeca68672 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0xed0a2ffd xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0xedbc6f67 gnttab_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xee1f9f6b crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0xeeaba75f ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0xef30bfc2 ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xef570c48 xenbus_unmap_ring_vfree +EXPORT_SYMBOL_GPL vmlinux 0xef65883b platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef86a0da debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0xef99f7e8 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xefae9cbc platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xefb7c31f transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0xefdd5a63 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xf010680e bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0xf0469f04 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf070010f __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xf0880a91 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xf0b45e46 use_module +EXPORT_SYMBOL_GPL vmlinux 0xf10e1793 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf19fa611 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xf1bf476c skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0xf259a084 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0xf279725f free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xf2bc822e bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0xf2c0535f crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0xf2e129d5 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf31f6128 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0xf33ebce6 __set_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xf34806ec hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xf35b7b0f inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xf39cae32 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0xf3c1c0a0 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xf44c39f7 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf4a8385f iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0xf5072d4e page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0xf5369fa4 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0xf5384ac1 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0xf53adbd2 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xf540b5aa devres_remove +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf5799f7a stop_machine_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf582bc80 blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0xf589b391 inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0xf58c2701 swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0xf5945bac gnttab_free_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xf597d394 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5c01ddf driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0xf5f31b1c dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0xf61e43bf class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xf6baf420 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xf6bcbd73 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xf6c5f396 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf7016530 xenbus_gather +EXPORT_SYMBOL_GPL vmlinux 0xf7937d56 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xf79bc8ec __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0xf84c4cf0 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf885c1a2 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0xf8dc68b3 preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf8e8262a scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf920ccf8 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf94793ce inotify_rm_watch +EXPORT_SYMBOL_GPL vmlinux 0xf9765833 dmi_match +EXPORT_SYMBOL_GPL vmlinux 0xf97666a0 set_memory_rw +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xfa01c4a5 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xfa0c1c84 device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0xfa1f4662 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0xfa801799 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0xfb388461 debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xfb882fb7 wmi_query_block +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfbfbad3e inotify_inode_is_dead +EXPORT_SYMBOL_GPL vmlinux 0xfbfd393d blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0xfc1d45a5 usb_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xfc2ae008 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0xfc2b6a9f spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xfc972dfa fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0xfcaa9a80 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xfcb0fd8a user_match +EXPORT_SYMBOL_GPL vmlinux 0xfcef4631 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xfd51b281 gnttab_end_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0xfd55c1d4 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0xfdd59511 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfe37e54a crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0xfe40986d tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0xfe727411 get_phys_to_machine +EXPORT_SYMBOL_GPL vmlinux 0xfe93e366 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfedb5327 devres_find +EXPORT_SYMBOL_GPL vmlinux 0xfeef9f6f bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfefa2adb input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0xff03c03d k_handler +EXPORT_SYMBOL_GPL vmlinux 0xff48c4ac fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff6229d5 agp_remove_bridge +EXPORT_SYMBOL_GPL vmlinux 0xffa2a482 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0xffe4a7ca ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xfff9036b ring_buffer_empty_cpu +EXPORT_UNUSED_SYMBOL vmlinux 0x00000000 simple_prepare_write --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/amd64/generic.compiler +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/amd64/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3 --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/amd64/generic.modules +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/amd64/generic.modules @@ -0,0 +1,2605 @@ +3c359 +3c574_cs +3c589_cs +3c59x +3w-9xxx +3w-xxxx +6pack +8021q +8139cp +8139too +8255 +8390 +9p +9pnet +9pnet_rdma +9pnet_virtio +a100u2w +a3d +aacraid +ab3100 +ab3100-core +ab3100-otp +abituguru +abituguru3 +abyss +ac97_bus +acecad +acenic +acerhdf +acer-wmi +acl7225b +acpi_pad +acpiphp +acpiphp_ibm +acquirewdt +act200l-sir +act_gact +act_ipt +actisys-sir +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +ad1848 +ad7414 +ad7418 +ad7877 +ad7879 +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 +adfs +adi +adl_pci6208 +adl_pci7296 +adl_pci7432 +adl_pci8164 +adl_pci9111 +adl_pci9118 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm8211 +adm9240 +adp5588-keys +adq12b +ads7828 +ads7846 +adt7462 +adt7470 +adt7473 +adt7475 +adutux +adv7170 +adv7175 +advansys +advantechwdt +adv_pci1710 +adv_pci1723 +adv_pci_dio +aedsp16 +aes_generic +aesni-intel +aes-x86_64 +af_802154 +af9013 +affs +af_key +af-rxrpc +ah4 +ah6 +ahci +aic79xx +aic7xxx +aic94xx +aio_aio12_8 +aio_iiro_16 +aiptek +aircable +airo +airo_cs +alauda +ali-ircc +alim1535_wdt +alim7101_wdt +alphatrack +altpciechdma +ambassador +amd64_edac_mod +amd76xrom +amd8111e +amd-rng +amplc_dio200 +amplc_pc236 +amplc_pc263 +amplc_pci224 +amplc_pci230 +analog +ansi_cprng +anubis +aoe +appledisplay +applesmc +appletalk +appletouch +applicom +ar7part +ar9170usb +arc4 +arcfb +arcmsr +arcnet +arc-rawmode +arc-rimi +ark3116 +arkfb +arptable_filter +arp_tables +arpt_mangle +asb100 +asix +asus_atk0110 +asus-laptop +asus_oled +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +aten +ath +ath5k +ath9k +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atlas_btns +atm +atmel +atmel_cs +atmel_pci +atmtcp +atp +atp870u +atxp1 +aty128fb +atyfb +au0828 +au8522 +aufs +authenc +auth_rpcgss +autofs +autofs4 +av5100 +avma1_cs +avm_cs +avmfritz +ax25 +axnet_cs +b1 +b1dma +b1pci +b1pcmcia +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b3dfg +b43 +b43legacy +b44 +bas_gigaset +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcm203x +bcm3510 +bcm5974 +be2iscsi +be2net +befs +belkin_sa +berry_charge +bfa +bfs +bfusb +binfmt_misc +bitblit +block2mtd +blowfish +bluecard_cs +bluetooth +bnep +bnx2 +bnx2i +bnx2x +bonding +bpa10x +bpck +bpqether +bq24022 +bq27x00_battery +br2684 +bridge +broadsheetfb +bsd_comp +bt3c_cs +bt819 +bt856 +bt866 +bt878 +btcx-risc +btmrvl +btmrvl_sdio +btrfs +btsdio +bttv +btuart_cs +btusb +budget +budget-av +budget-ci +budget-core +budget-patch +BusLogic +bw-qcam +c2port-duramar2150 +c4 +c67x00 +c6xdigio +cachefiles +cafe_ccic +cafe_nand +camellia +can +can-bcm +can-dev +can-raw +capi +capidrv +capifs +capmode +carminefb +cassini +cast5 +cast6 +catc +cb710 +cb710-mmc +cb_das16_cs +cb_pcidas +cb_pcidas64 +cb_pcidda +cb_pcidio +cb_pcimdas +cb_pcimdda +cciss +ccm +cdc-acm +cdc_eem +cdc_ether +cdc-phonet +cdc_subset +cdc-wdm +cfag12864b +cfag12864bfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch +ch341 +ch7006 +chipreg +cifs +cirrusfb +ck804xrom +clip +cls_basic +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cm4000_cs +cm4040_cs +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 +core +coretemp +cp210x +cpcihp_generic +cpcihp_zt5550 +cpia +cpia2 +cpia_pp +cpia_usb +cpqarray +cpu5wdt +cpuid +c-qcam +cramfs +cr_bllcd +crc32c +crc32c-intel +crc7 +crc-ccitt +crc-itu-t +crvml +cryptd +cryptoloop +crypto_null +cs5345 +cs53l32a +ct82c710 +ctr +cts +cuse +cx18 +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24123 +cx25821 +cx25821-alsa +cx25840 +cx8800 +cx8802 +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx88xx +cxacru +cxgb +cxgb3 +cxgb3i +cyber2000fb +cyberjack +cyclades +cyclomx +cycx_drv +cypress_cy7c63 +cypress_m8 +cytherm +da9030_battery +da9034-ts +da903x +da903x_bl +dabusb +DAC960 +daqboard2000 +das08 +das08_cs +das16 +das16m1 +das1800 +das6402 +das800 +db9 +dc395x +dca +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dccp_probe +dcdbas +de2104x +de4x5 +de600 +de620 +decnet +deflate +defxx +dell-laptop +dell-led +dell_rbu +dell-wmi +des_generic +dib0070 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dibx000_common +digi_acceleport +diskonchip +display +divacapi +divadidd +diva_idi +diva_mnt +divas +dlci +dlm +dm1105 +dm9601 +dm-crypt +dme1737 +dmfe +dmm32at +dm-queue-length +dm-raid45 +dm-service-time +dmx3191d +dm-zero +dnet +dn_rtmsg +doc2000 +doc2001 +doc2001plus +docecc +docprobe +dpt_i2o +drm +drm_kms_helper +ds1621 +ds1682 +ds2482 +ds2490 +ds2760_battery +ds2782_battery +dsbr100 +dscc4 +dss1_divert +dst +dst_ca +dstr +dt2801 +dt2811 +dt2814 +dt2815 +dt2817 +dt282x +dt3000 +dt9812 +dtl1_cs +dummy +dummy_hcd +dv1394 +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-anysee +dvb-usb-au6610 +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-friio +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-m920x +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +e100 +e1000 +e1000e +e752x_edac +earth-pt1 +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_ulog +ebt_vlan +echo +econet +edac_core +edac_mce_amd +eeepc-laptop +eeprom +eeprom_93cx6 +eeti_ts +efs +elo +elsa_cs +em28xx +em28xx-alsa +em28xx-dvb +em_cmp +emi26 +emi62 +em_meta +em_nbyte +empeg +ems_pci +ems_usb +em_text +emu10k1-gp +em_u32 +enclosure +eni +enic +epat +epca +epia +epic100 +eql +esb2rom +esi-sir +esp4 +esp6 +et131x +et61x251 +eth1394 +ethoc +eurotechwdt +evbug +evtchn +exofs +exportfs +f71805f +f71882fg +f75375s +fakephp +farsync +fat +faulty +fbcon +fb_ddc +fb_sys_fops +fcoe +fcrypt +fdomain +fdomain_cs +fealnx +ff-memless +firedtv +firestream +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +fit2 +fit3 +fl512 +floppy +fm801-gp +fmvj18x_cs +fnic +font +forcedeth +fore_200e +fpu +freevxfs +friq +frpw +fsam7400 +fscache +fschmd +ftdi-elan +ftdi_sio +ftl +fujitsu-laptop +fujitsu_ts +funsoft +g450_pll +g760a +gadgetfs +gamecon +gameport +garmin_gps +garp +g_audio +g_cdc +gcm +gdth +generic +generic_bl +gen_probe +g_ether +gf128mul +gf2k +g_file_storage +gfs2 +ghash-clmulni-intel +ghash-generic +gigaset +girbil-sir +gl518sm +gl520sm +gl620a +gluebi +g_midi +gpio-addr-flash +gpio_keys +gpio_mouse +gpio_vbus +g_printer +grip +grip_mp +gsc_hpdi +g_serial +gspca_conex +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_ov519 +gspca_ov534 +gspca_pac207 +gspca_pac7311 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_stk014 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_tv8532 +gspca_vc032x +gspca_zc3xx +gtco +guillemot +gunze +gx1fb +gxfb +g_zero +hamachi +hangcheck-timer +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-3m-pct +hid-a4tech +hid-apple +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-drff +hid-ezkey +hid-gaff +hid-gyration +hid-kensington +hid-kye +hid-logitech +hid-microsoft +hid-monterey +hid-mosart +hid-ntrig +hid-ortek +hidp +hid-petalynx +hid-pl +hid-quanta +hid-samsung +hid-sjoy +hid-sony +hid-stantum +hid-sunplus +hid-tmff +hid-topseed +hid-twinhan +hid-wacom +hid-zpff +hifn_795x +hisax +hisax_fcpcipnp +hisax_isac +hisax_st5481 +horizon +hostap +hostap_cs +hostap_pci +hostap_plx +hp100 +hp4x +hp_accel +hpfs +hpilo +hptiop +hp-wmi +hso +htc-pasic3 +hv_blkvsc +hv_netvsc +hv_storvsc +hv_vmbus +hwa-hc +hwa-rc +hwmon-vid +hysdn +i1480-dfu-usb +i1480-est +i1480u-wlp +i2400m +i2400m-sdio +i2400m-usb +i2c-algo-bit +i2c-algo-pca +i2c-algo-pcf +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd756-s4882 +i2c-amd8111 +i2c-dev +i2c-gpio +i2c-i801 +i2c-isch +i2c-matroxfb +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-stub +i2c-taos-evm +i2c-tiny-usb +i2c-via +i2c-viapro +i2c-voodoo3 +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_idle +i810 +i82092 +i82975x_edac +i830 +i8k +i915 +ib700wdt +ib_addr +ib_cm +ib_core +ib_ipath +ib_ipoib +ib_iser +ib_mad +ibmaem +ibmasm +ibmasr +ibmcam +ibmpex +ib_mthca +ibmtr_cs +ib_sa +ib_srp +ib_ucm +ib_umad +ib_uverbs +ichxrom +icp_multi +ics932s401 +idmouse +idt77252 +ieee1394 +ifb +iforce +igb +igbvf +ii_pci20kc +ili9320 +imm +industrialio +inexio +inftl +initio +input-polldev +int51x1 +intel-agp +intel_menlow +intel-rng +intel_vr_nor +interact +ioatdma +ioc4 +io_edgeport +io_ti +iowarrior +ip2 +ip6_queue +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_LOG +ip6t_mh +ip6t_REJECT +ip6t_rt +ip6_tunnel +ipaq +ipcomp +ipcomp6 +ipddp +ipg +ip_gre +iphase +ipip +ipmi_devintf +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_watchdog +ip_queue +ipr +ips +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_addrtype +ipt_ah +ipt_CLUSTERIP +ipt_ecn +ipt_ECN +ipt_LOG +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_ULOG +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipw2100 +ipw2200 +ipwireless +ipx +ircomm +ir-common +ircomm-tty +irda +irda-usb +ir-kbd-i2c +irlan +irnet +irtty-sir +ir-usb +iscsi_ibft +iscsi_tcp +iscsi_trgt +isdn +isdn_bsdcomp +isdnhdlc +isight_firmware +isl29003 +isl6405 +isl6421 +isl6423 +isofs +isp116x-hcd +isp1362-hcd +isp1760 +istallion +it87 +it8712f_wdt +it87_wdt +iTCO_vendor_support +iTCO_wdt +itd1000 +iuu_phoenix +ivtv +ivtvfb +iw_c2 +iw_cm +iw_cxgb3 +iwl3945 +iwlagn +iwlcore +iwmc3200wifi +ixgb +ixgbe +ixj +ixj_pcmcia +jedec_probe +jffs2 +jfs +jmb38x_ms +jme +joydev +joydump +jr3_pci +jsm +k8temp +kafs +kahlua +kaweth +kb3886_bl +kbic +kbtab +kcomedilib +ke_counter +kernelcapi +keyspan +keyspan_pda +keyspan_remote +khazad +kingsun-sir +kl5kusb105 +kobil_sct +konicawc +ks0108 +ks0127 +ks8842 +ks8851 +ks8851_mll +ks959-sir +ksdazzle-sir +ktti +kvaser_pci +kvm +kvm-amd +kvm-intel +kxsd9 +kyrofb +l1oip +l2cap +l440gx +l64781 +lanai +lapb +lapbether +lcd +ldusb +lec +led-class +leds-alix2 +leds-bd2802 +leds-da903x +leds-dac124s085 +leds-gpio +leds-lp3944 +leds-pca9532 +leds-pca955x +leds-wm831x-status +leds-wm8350 +ledtrig-backlight +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-timer +legousbtower +lgdt3305 +lgdt330x +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libcrc32c +libertas +libertas_cs +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libosd +libsas +libsrp +lightning +line6usb +linear +lirc_atiusb +lirc_bt829 +lirc_dev +lirc_ene0100 +lirc_i2c +lirc_igorplugusb +lirc_imon +lirc_it87 +lirc_ite8709 +lirc_mceusb +lirc_sasem +lirc_serial +lirc_sir +lirc_streamzap +lirc_ttusbir +lis3l02dq +lis3lv02d +litelink-sir +lkkbd +llc2 +lm63 +lm70 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95241 +lmc +lms283gf05 +lnbp21 +lockd +lp +lp3971 +lpddr_cmds +lpfc +lrw +ltc4215 +ltc4245 +ltv350qv +lxfb +lzo +lzo_compress +lzo_decompress +m25p80 +m52790 +ma600-sir +mac80211 +mac80211_hwsim +machzwd +macmodes +macvlan +magellan +map_absent +map_funcs +map_ram +map_rom +matrix_keypad +matroxfb_accel +matroxfb_base +matroxfb_crtc2 +matroxfb_DAC1064 +matroxfb_g450 +matroxfb_maven +matroxfb_misc +matroxfb_Ti3026 +matrox_w1 +max1111 +max1363 +max1586 +max1619 +max17040_battery +max3100 +max6650 +max6875 +max7301 +max732x +max7359_keypad +mb862xxfb +mbp_nvidia_bl +mc13783 +mc13783-core +mc33880 +mc44s803 +mce-inject +mce-xeon75xx +mcp2120-sir +mcp23s08 +mcs5000_ts +mcs7780 +mcs7830 +mct_u232 +md4 +mdc800 +mdio +me4000 +me_daq +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +memstick +metronomefb +meye +mfd-core +mga +michael_mic +microcode +microtek +mii +minix +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +mite +mk712 +mkiss +mlx4_core +mlx4_en +mlx4_ib +mmc_block +mmc_spi +mos7720 +mos7840 +moto_modem +moxa +mpc624 +mpoa +mpt2sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu401 +msdos +msi-laptop +msp3400 +mspro_block +msr +mt2060 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt9m001 +mt9m111 +mt9t031 +mt9v011 +mt9v022 +mtd +mtd_blkdevs +mtdblock +mtdblock_ro +mtdchar +mtdconcat +mtd_dataflash +mtd_oobtest +mtdoops +mtd_pagetest +mtdram +mtd_readtest +mtd_speedtest +mtd_stresstest +mtd_subpagetest +mtd_torturetest +mtouch +multipath +multiq3 +mvsas +mwave +mwl8k +mxb +mxl5005s +mxl5007t +mxser +myri10ge +n411 +nand +nand_ecc +nand_ids +nandsim +natsemi +navman +nbd +ncpfs +ndiswrapper +ne2k-pci +neofb +net1080 +netconsole +netjet +netrom +netsc520 +nettel +netwave_cs +netxen_nic +newtonkbd +nf_conntrack +nf_conntrack_amanda +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_tftp +nf_defrag_ipv4 +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_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nftl +nf_tproxy_core +n_hdlc +ni_6527 +ni_65xx +ni_660x +ni_670x +ni_at_a2150 +ni_at_ao +ni_atmio +ni_atmio16d +ni_daq_700 +ni_daq_dio24 +ni_labpc +ni_labpc_cs +nilfs2 +ni_mio_cs +ni_pcidio +ni_pcimio +ni_tio +ni_tiocmd +niu +nl802154 +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 +nouveau +nozomi +n_r3964 +ns558 +ns83820 +nsc_gpio +nsc-ircc +nst +ntfs +nvidiafb +nvram +nxt200x +nxt6000 +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +ohci1394 +old_belkin-sir +olympic +omfs +omnibook +omninet +on20 +on26 +onenand +onenand_sim +opencores-kbd +opl3 +oprofile +opticon +option +or51132 +or51211 +orinoco +orinoco_cs +orinoco_nortel +orinoco_pci +orinoco_plx +orinoco_tmd +osd +osdblk +osst +oti6858 +output +ov7670 +ov772x +ovcamchip +oxu210hp-hcd +p4-clockmod +p54common +p54pci +p54spi +p54usb +p8023 +p9auth +padlock-aes +padlock-sha +panasonic-laptop +panel +paride +parkbd +parport +parport_ax88796 +parport_cs +parport_pc +parport_serial +pas2 +pata_ali +pata_amd +pata_artop +pata_atiixp +pata_atp867x +pata_cmd640 +pata_cmd64x +pata_cs5520 +pata_cs5530 +pata_cypress +pata_efar +pata_hpt366 +pata_hpt37x +pata_hpt3x2n +pata_hpt3x3 +pata_it8213 +pata_it821x +pata_jmicron +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_radisys +pata_rdc +pata_rz1000 +pata_sc1200 +pata_sch +pata_serverworks +pata_sil680 +pata_sl82c105 +pata_triflex +pata_via +pbe5 +pc87360 +pc8736x_gpio +pc87413_wdt +pc87427 +pca953x +pcbc +pcd +pcf50633-adc +pcf50633-charger +pcf50633-core +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf857x +pcf8591 +pci +pci200syn +pcilynx +pcips2 +pci-stub +pcl711 +pcl724 +pcl725 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcm3730 +pcmad +pcmcia +pcmcia_core +pcm_common +pcmda12 +pcmmio +pcmuio +pcnet32 +pcnet_cs +pcspkr +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pegasus +penmount +pf +pg +phantom +phison +phonedev +phonet +phram +physmap +pktgen +pl2303 +platform_lcd +plat_nand +plat-ram +plip +plusb +pluto2 +pm2fb +pm3fb +pmc551 +pmcraid +pn_pep +poc +poch +pohmelfs +powermate +power_meter +ppa +ppdev +ppp_async +ppp_deflate +ppp_mppe +pppoatm +pppoe +pppol2tp +pppox +ppp_synctty +pps_core +prism2_usb +prism54 +progear_bl +psmouse +pss +pt +pvrusb2 +pwc +qcserial +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlge +qlogic_cs +qlogicfas408 +qnx4 +qt1010 +quatech_daqp_cs +quatech_usb2 +quickcam_messenger +quota_tree +quota_v1 +quota_v2 +r128 +r8169 +r8192_pci +r8192se_pci +r8192s_usb +r8a66597-hcd +radeon +radeonfb +radio-gemtek-pci +radio-i2c-si470x +radio-maestro +radio-maxiradio +radio-mr800 +radio-si4713 +radio-tea5764 +radio-usb-si470x +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +raid_class +ramzswap +rar_driver +raw +raw1394 +ray_cs +rdma_cm +rdma_ucm +rds +rds_rdma +rds_tcp +redboot +reed_solomon +reiserfs +rfc1051 +rfc1201 +rfcomm +rfd_ftl +ricoh_mmc +rio500 +riscom8 +rivafb +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rndis_wlan +rocket +romfs +rose +rotary_encoder +rpcsec_gss_krb5 +rpcsec_gss_spkm3 +rrunner +rsrc_nonstatic +rt2400pci +rt2500pci +rt2500usb +rt2800usb +rt2860sta +rt2870sta +rt2x00lib +rt2x00pci +rt2x00usb +rt3090sta +rt61pci +rt73usb +rtc-ab3100 +rtc-bq4802 +rtc-ds1286 +rtc-ds1305 +rtc-ds1307 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-ds3234 +rtc-fm3130 +rtc-isl1208 +rtc-m41t80 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-pcf2123 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-r9701 +rtc-rs5c348 +rtc-rs5c372 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-test +rtc-twl4030 +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtd520 +rti800 +rti802 +rtl8150 +rtl8180 +rtl8187 +rtl8187se +rxkad +s1d13xxxfb +s2255drv +s2io +s3fb +s526 +s5h1409 +s5h1411 +s5h1420 +s626 +saa5246a +saa5249 +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +safe_serial +salsa20_generic +salsa20-x86_64 +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 +sb +sb1000 +sbc60xxwdt +sbc8360 +sbc_epx_c3 +sbc_fitpc2_wdt +sbc_gxx +sb_lib +sbni +sbp2 +sc1200wdt +sc520cdp +sc520_wdt +sc92031 +scb2_flash +sch311x_wdt +sch_atm +sch_cbq +sch_drr +sch_dsmark +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_multiq +sch_netem +sch_prio +sch_red +sch_sfq +sch_tbf +sch_teql +sco +scsi_debug +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 +sdhci +sdhci-pci +sdhci-pltfm +sdio_uart +sdricoh_cs +se401 +sedlbauer_cs +seed +sep_driver +seqiv +ser_gigaset +serial2002 +serial_cs +serio_raw +sermouse +serpent +serport +serqt_usb2 +ses +sfc +sha1_generic +sha256_generic +sha512_generic +shpchp +sht15 +si21xx +si4713-i2c +sidewinder +siemens_mpi +sierra +sir-dev +sis +sis190 +sis5595 +sis900 +sis-agp +sisfb +sisusbvga +sit +sja1000 +sja1000_platform +skel +skfp +skge +sky2 +sl811_cs +sl811-hcd +slicoss +slip +slram +sm501 +sm501fb +smbfs +smc91c92_cs +smsc37b787_wdt +smsc47b397 +smsc47m1 +smsc47m192 +smsc9420 +smsc95xx +smsc-ircc2 +smsdvb +smsmdtv +smssdio +smsusb +sn9c102 +snd +snd-ac97-codec +snd-ad1889 +snd-ak4114 +snd-ak4117 +snd-ak4xxx-adda +snd-ali5451 +snd-als300 +snd-als4000 +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-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-atihdmi +snd-hda-codec-ca0110 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-idt +snd-hda-codec-intelhdmi +snd-hda-codec-nvhdmi +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-intel +snd-hdsp +snd-hdspm +snd-hifier +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-korg1212 +snd-layla20 +snd-layla24 +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-pcm-oss +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-oss +snd-seq-virmidi +snd-serial-u16550 +snd-soc-ad1836 +snd-soc-ad1938 +snd-soc-ad73311 +snd-soc-ak4104 +snd-soc-ak4535 +snd-soc-ak4642 +snd-soc-core +snd-soc-cs4270 +snd-soc-l3 +snd-soc-max9877 +snd-soc-pcm3008 +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-tlv320aic23 +snd-soc-tlv320aic26 +snd-soc-tlv320aic3x +snd-soc-twl4030 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wm8350 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8776 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8993 +snd-soc-wm9081 +snd-soc-wm-hubs +snd-sonicvibes +snd-tea575x-tuner +snd-timer +snd-trident +snd-usb-audio +snd-usb-caiaq +snd-usb-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 +softcursor +softdog +solos-pci +sony-laptop +sound +soundcore +sound_firmware +sp8870 +sp887x +spaceball +spaceorb +spcp8x5 +specialix +spectrum_cs +speedfax +speedstep-lib +speedtch +spi_bitbang +spi_butterfly +spidev +spi_gpio +spi_lm70llp +squashfs +ssb +sscape +ssfdc +sst25l +sstfb +ssv_dnp +st +stallion +starfire +stb0899 +stb6000 +stb6100 +stex +stinger +stir4200 +stkwebcam +stowaway +stp +stradis +strip +stv0288 +stv0297 +stv0299 +stv0900 +stv090x +stv6110 +stv6110x +stv680 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +svcrdma +svgalib +sx8 +sym53c500_cs +sym53c8xx +symbolserial +synaptics_i2c +synclink +synclink_cs +synclink_gt +synclinkmp +syscopyarea +sysfillrect +sysimgblt +sysv +t1pci +tcp_bic +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 +tda10086 +tda18271 +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tdfx +tdfxfb +tdo24m +tea +tea5761 +tea5767 +tea6415c +tea6420 +tehuti +tekram-sir +teles_cs +tg3 +tgr192 +thinkpad_acpi +thmc50 +tifm_7xx1 +tifm_core +tifm_ms +tifm_sd +tileblit +timeriomem-rng +tipc +ti_usb_3410_5052 +tlan +tlclk +tle62x0 +tmdc +tmiofb +tmp401 +tmp421 +tms380tr +tmscsim +tmspci +toim3232-sir +topstar-laptop +toshiba_acpi +touchit213 +touchright +touchwin +tpm +tpm_atmel +tpm_bios +tpm_infineon +tpm_nsc +tpm_tis +tps65010 +tps65023-regulator +tps6507x-regulator +trancevibrator +tranzport +tridentfb +trix +ts5500_flash +ts_bm +tsc2007 +ts_fsm +ts_kmp +tsl2550 +tsl2561 +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +tua6100 +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +turbografx +tvaudio +tveeprom +tvp5150 +tw9910 +twidjoy +twl4030-gpio +twl4030_keypad +twl4030-pwrbutton +twl4030-usb +twl4030_wdt +twofish +twofish_common +twofish-x86_64 +typhoon +u132-hcd +uart401 +uart6850 +ubi +ubifs +ucb1400_core +ucb1400_ts +udf +udlfb +ueagle-atm +ufs +uinput +uio +uio_aec +uio_cif +uio_pci_generic +uio_pdrv +uio_pdrv_genirq +uio_sercos3 +uio_smx +uli526x +ultracam +umc +umem +ums-alauda +ums-cypress +ums-datafab +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-sddr09 +ums-sddr55 +ums-usbat +unioxx5 +upd64031a +upd64083 +uPD98402 +usb8xxx +usbatm +usb_debug +usbdux +usbduxfast +usb_gigaset +usbhid +usbip +usbip_common_mod +usblcd +usbled +usblp +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +usbtouchscreen +usbvideo +usbvision +userspace-consumer +uss720 +uvcvideo +uvesafb +uwb +v4l1-compat +v4l2-common +v4l2-compat-ioctl32 +v4l2-int-device +vcan +ves1820 +ves1x93 +vesafb +veth +vfat +vga16fb +vgastate +vgg2432a4 +vhci-hcd +via +via686a +via-agp +viafb +via-ircc +via-rhine +via-rng +via-sdmmc +via-velocity +vicam +video +video1394 +videobuf-core +videobuf-dma-sg +videobuf-dvb +videobuf-vmalloc +videocodec +videodev +virtio +virtio_balloon +virtio_blk +virtio_console +virtio_net +virtio_pci +virtio_ring +virtio-rng +virtual +visor +vivi +vlsi_ir +vmac +vme +vme_ca91cx42 +vme_tsi148 +vme_user +v_midi +vmk80xx +vmlfb +vmw_pvscsi +vmxnet3 +vp27smpx +vpx3220 +vstusb +vsxxxaa +vt1211 +vt6656_stage +vt8231 +vt8623fb +vxge +w1_bq27000 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1-gpio +w1_smem +w1_therm +w6692 +w83627ehf +w83627hf +w83627hf_wdt +w83697hf_wdt +w83697ug_wdt +w83781d +w83791d +w83792d +w83793 +w83877f_wdt +w83977af_ir +w83977f_wdt +w83l785ts +w83l786ng +w9966 +w9968cf +wacom +wacom_w8001 +wafer5823wdt +walkera0701 +wanrouter +wanxl +warrior +wavelan_cs +wbsd +wdt_pci +whci +whci-hcd +whc-rc +whiteheat +wimax +winbond-840 +winbond-cir +wire +wl1251 +wl1251_sdio +wl1251_spi +wl1271 +wl3501_cs +wlp +wm831x +wm831x_bl +wm831x-dcdc +wm831x-gpio +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x_power +wm831x_wdt +wm8350 +wm8350-hwmon +wm8350-i2c +wm8350_power +wm8350-regulator +wm8350_wdt +wm8400-core +wm8400-regulator +wm8739 +wm8775 +wm97xx-ts +wp512 +wpan-class +wusb-cbaf +wusbcore +wusb-wa +x25 +x25_asy +x38_edac +xc5000 +xcbc +xen-blkfront +xen-fbfront +xenfs +xen-kbdfront +xen-netfront +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_ipcomp +xfrm_user +xfs +xhci +xirc2ps_cs +xircom_cb +xor +xpad +xprtrdma +x_tables +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNMARK +xt_CONNSECMARK +xt_conntrack +xt_dccp +xt_dscp +xt_DSCP +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xt_iprange +xtkbd +xt_LED +xt_length +xt_limit +xt_mac +xt_mark +xt_MARK +xt_multiport +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_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_tcpudp +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xusbatm +xvmalloc +yam +yealink +yellowfin +yenta_socket +zatm +zaurus +zc0301 +zd1201 +zd1211rw +zhenhua +zl10036 +zl10039 +zl10353 +zlib +zlib_deflate +zr36016 +zr36050 +zr36060 +zr36067 +zr364xx --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/amd64/preempt +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/amd64/preempt @@ -0,0 +1,10369 @@ +EXPORT_SYMBOL arch/x86/kvm/kvm 0x24fd4a7a kvm_cpu_has_pending_timer +EXPORT_SYMBOL arch/x86/kvm/kvm 0x8cdda613 kvm_read_guest_atomic +EXPORT_SYMBOL crypto/gf128mul 0x0c2f123f gf128mul_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x1068004b gf128mul_bbe +EXPORT_SYMBOL crypto/gf128mul 0x2f2889a0 gf128mul_init_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x384ef9ce gf128mul_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x56af0dbd gf128mul_x_ble +EXPORT_SYMBOL crypto/gf128mul 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL crypto/gf128mul 0xbd17a0df gf128mul_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0xc0890413 gf128mul_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/acpi/video 0x7a45377b acpi_video_unregister +EXPORT_SYMBOL drivers/acpi/video 0x8826c13b acpi_video_register +EXPORT_SYMBOL drivers/atm/suni 0xceb56a3a suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0xc9a6037b uPD98402_init +EXPORT_SYMBOL drivers/block/paride/paride 0x1e546445 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x291ca06e pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x59af8d33 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x877b6bc1 pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0x9cae3f1e paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0xa08db81d pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xc0a288c7 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xd1024898 pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xd39500f0 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0xe0a6e0e3 paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0xf481afe1 pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0xfe135228 pi_write_regr +EXPORT_SYMBOL drivers/char/agp/intel-agp 0x7b9a6116 intel_agp_enabled +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x0177f5c8 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x14974879 ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x15b255cf ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x26ff333f ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2908b9b7 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x30127ee6 ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x32dc302f ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x37f5990b ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4a46cbb3 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4f5c3b53 ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x59b92e48 ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x601acbbc ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x62484bfd ipmi_register_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x73fb56c4 ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x883bc92d ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x939bef0b ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa02d802d ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd10103a2 ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd298a996 ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe41172c4 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe6a5a068 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xee680a8d ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf7a8dbde ipmi_get_my_address +EXPORT_SYMBOL drivers/char/nsc_gpio 0x52336830 nsc_gpio_dump +EXPORT_SYMBOL drivers/char/nsc_gpio 0x709c3192 nsc_gpio_write +EXPORT_SYMBOL drivers/char/nsc_gpio 0x8f7adfd1 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 0x07d282da edac_mc_find +EXPORT_SYMBOL drivers/edac/edac_core 0x2a6fe144 edac_mc_handle_fbd_ue +EXPORT_SYMBOL drivers/edac/edac_core 0xef490ea8 edac_mc_handle_fbd_ce +EXPORT_SYMBOL drivers/firewire/firewire-core 0x195a66a0 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2b2e6006 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2ea76786 fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3452fbe4 fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x49a29946 fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4bedc53d fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4e86dd83 fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x529ea96f fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6acce7b8 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6b584dc3 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6c45a310 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x79f2de8f fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7d1878f4 fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x89e66aba fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90863005 fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0xa7fbf147 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xae2baf1e fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0xafc1c793 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb047a2c6 fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb6bf45f6 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0xba1b8230 fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc6c2584c fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0xcb547411 fw_core_initiate_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd569457e fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xdd9afce5 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf163bd46 fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xfc0da2f2 fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0xfcb3dfe3 fw_iso_context_start +EXPORT_SYMBOL drivers/firmware/dcdbas 0xa75079d6 dcdbas_smi_request +EXPORT_SYMBOL drivers/gpu/drm/drm 0x015c3c3b drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0836695c drm_sman_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a4a0e8c drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ab6b877 drm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x106f214b drm_get_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13b5dafe drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16b25521 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x193e6f90 drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x199ecc36 drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f072c59 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21451ac4 drm_sman_owner_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2152e43a drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2215c8cb drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25cd5254 drm_agp_chipset_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x266a10fe drm_sg_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2673f4ce drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x27d05283 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2916bf63 drm_sman_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x291707f1 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2eb2f903 drm_sman_free_key +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x314594e0 drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32ff25c8 drm_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x33125503 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x342d3908 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35f63f8b drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a2f21a8 drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a30180e drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a8d2758 drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c9a1409 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d289d78 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d618bce drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40911aaf drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4791691d drm_get_resource_len +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47e5b0da drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x480230ff drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a4acd1d drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a4f45b2 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4be8a07e drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c26967a drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50e8e5ba drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51b3425d drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5460f61d drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x547c0f42 drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54d61c9d drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55977653 drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55cca65e drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55f060ee drm_sman_set_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56217ed2 drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5630b5c9 drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x575af9fc drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57f7dbe6 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x580830f0 drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59fd469b drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59ff4f49 drm_lock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d86bd5b drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5fcd4eb9 drm_agp_bind_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ff52fc7 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6030ca27 drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x623c8e9c drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x631e3b31 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63a293a3 drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6518c19a drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x669755c7 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66da35a5 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68dff059 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6990194a drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69cf99aa drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cffa244 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d2e5837 drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f5aa232 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fc30481 drm_mode_hsync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x701e3f89 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x718cc2ae drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7299e2ac drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76195c06 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76863e24 drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x784915eb drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78f546bc drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a1243bb drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7becf9f2 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c1fd6c8 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e5ec9ef drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x849241ac drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85de09f5 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87d6e7ef drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89721e89 drm_lock_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x899758f0 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e62d513 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e822cac drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93764b34 drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9766af6e drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x98746a54 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99d70454 drm_get_drawable_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d32d125 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d3b01a2 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa37a15f1 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa433988c drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa58849a8 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa74940a4 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa81bb222 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa963963f drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9d7e77b drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab628336 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xabb7e4db drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac051f70 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac7ffe3b drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad6f95d3 drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf29788e drm_sman_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1249a09 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb196dfa4 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1b17618 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb60a528d drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb64e4cd5 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8109826 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9517358 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc9bdf26 drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbcdb5f92 drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe3ff597 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf62f1a1 drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4ea85d8 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc71d4465 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca14e1e8 drm_i_have_hw_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcbd851bd drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd64a331 drm_core_get_reg_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdf2eff4 drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcfb4f4ef drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0535816 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd08fa3f0 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd21ad287 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3028e75 drm_sman_set_manager +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3a1f2b6 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3cd6920 drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3ffab51 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4a9e454 drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4c8a354 drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd63d6819 drm_core_get_map_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd8afc1b6 drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda52a4ea drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdcba6a5d drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd3febe2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd49095c drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde8c1af6 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf809d4e drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1457735 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe24a7b88 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5bdce7e drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe69400eb drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7052610 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe919dd5c drm_sman_owner_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe9a66b03 drm_get_resource_start +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea322a3a drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed359582 drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xedd4d5ff drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef07f86d drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf16def2f drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2777be9 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf42a2b26 drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4a65f7e drm_do_probe_ddc_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf83e3758 drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa769c65 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdaa7eeb drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdfbad19 drm_sman_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x07adfe71 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x12b5b444 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x174343bd drm_fb_helper_setcolreg +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x185bdd35 drm_fb_helper_init_crtc_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x349c9caf drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x394df66f drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x50428889 drm_helper_probe_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7b052cbd drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7b87082e drm_fb_helper_add_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7e673a32 drm_fb_helper_free +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x93642035 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9ed860f7 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa644d4cc drm_helper_hotplug_stage_two +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa67056ac drm_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa76b28f0 drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbc6151ba 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 0xc78154c9 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xce2f3b0d drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd18467a8 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe0e13584 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe7f3c07a drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xedec85f1 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf1826ed3 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfcd95f74 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfd8c1dba drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/i915/i915 0x36b09d1a intelfb_remove +EXPORT_SYMBOL drivers/gpu/drm/i915/i915 0x8ca67677 intelfb_probe +EXPORT_SYMBOL drivers/gpu/drm/i915/i915 0x938ae15c intelfb_resize +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0x1405c426 radeonfb_resize +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0x7a2f3769 radeonfb_remove +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x01c99cb0 ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0f111a83 ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1a7d4fb3 ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1ba8c0ef ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1d455396 ttm_ref_object_add +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1dab216b ttm_mem_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x261df01f ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2a074206 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2d673efd ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2e87eac2 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x35d54bb3 ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x365feb2e ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x37c55af9 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3ade5cfc ttm_base_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3b79b5f6 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3df39355 ttm_object_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3e863634 ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x44409a13 ttm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4d9b60de ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x52ba9bf0 ttm_object_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x56c42d22 ttm_suspend_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5ca5cb47 ttm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61bdb34f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x69313066 ttm_agp_backend_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x69d81dd8 ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x765cbc82 ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7f8879de ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x80807e63 ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x83878306 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x86a4066d ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8db796d4 ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8e14b57f ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x91114fc6 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x913b7875 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x97d5ca21 ttm_base_object_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x98f8f0e5 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa5437f2e ttm_base_object_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xac0e50d1 ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb13ca61c ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb17a9f94 ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb2d91509 ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb5cf2fe9 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb64dd919 ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbadc1e27 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbba2ecf9 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc00a8e96 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc2058ac0 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc3cc0f6a ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc524755f ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc64022a6 ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcbd90e38 ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcc761edf ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcf9a2b18 ttm_object_file_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdd3eedda ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe3f7a3b1 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe9cc7363 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf08835ed ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf9a2aa41 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfcce372b ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfd113d23 ttm_bo_wait +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-bit 0x0f3fd0c0 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xc157864c i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xa3d46422 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xe852d404 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pcf 0xb589c12c i2c_pcf_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x73c7ba5c amd756_smbus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x01542a0b hpsb_selfid_complete +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x04251aee hpsb_unregister_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x061f4017 hpsb_read_cycle_timer +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x06ba2667 hpsb_iso_xmit_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x07f6ab4e hpsb_get_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0b234c4e dma_prog_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0be348c4 hpsb_iso_recv_listen_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0c46a2dc hpsb_iso_recv_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x158ac548 dma_region_offset_to_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1a200e5a csr1212_release_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1be77d17 hpsb_destroy_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1caef759 hpsb_iso_wake +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1d4e1f64 hpsb_iso_xmit_sync +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x23d40200 hpsb_iso_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2a4cc36b csr1212_attach_keyval_to_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2ebf6e5a dma_prog_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x302d6c0c hpsb_get_hostinfo_bykey +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x38513a7c hpsb_make_lockpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3fad3339 hpsb_send_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x49a95dc4 csr1212_get_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4a7f927f hpsb_free_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4a9cd770 csr1212_parse_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4e5782ba dma_region_mmap +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4f5aff2a hpsb_make_lock64packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4fa20139 hpsb_get_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x54f63252 hpsb_create_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x584bcf10 hpsb_make_streampacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5f5fdd2f csr1212_new_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x64c2baa5 hpsb_node_fill_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x66209812 hpsb_register_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x672ad148 dma_region_sync_for_device +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x68b51e47 csr1212_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6cd685bc hpsb_iso_shutdown +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6e029432 hpsb_unregister_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6f35c5c7 hpsb_unregister_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7401440f hpsb_set_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x757e7a76 hpsb_iso_recv_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x76bc1a5c dma_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x78361836 hpsb_iso_recv_unlisten_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7959cd05 hpsb_iso_recv_set_channel_mask +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7b258975 hpsb_update_config_rom_image +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7b928dce hpsb_iso_xmit_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7f63be1a __hpsb_register_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8879f8f0 dma_region_sync_for_cpu +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8d3eee26 hpsb_packet_success +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8da5e80b hpsb_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8ec2b312 dma_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8f89db39 hpsb_bus_reset +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x98f25701 hpsb_alloc_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9caaab96 hpsb_iso_xmit_queue_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9f4acd06 hpsb_resume_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa369cf8d hpsb_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa5fdb5c5 hpsb_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa8a51988 hpsb_node_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xacb089eb hpsb_iso_n_ready +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xacda6e7c hpsb_lock +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaef57bb5 csr1212_detach_keyval_from_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb56b103b hpsb_iso_recv_flush +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc214a502 hpsb_protocol_class +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc44d880f hpsb_iso_recv_release_packets +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc4fd3d36 hpsb_make_writepacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc53ae4d1 hpsb_allocate_and_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcd9e772b dma_prog_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcfc529c1 hpsb_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcfe65671 hpsb_iso_stop +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd03c8f5c hpsb_set_hostinfo_key +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd3621003 hpsb_free_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd364eb95 hpsb_iso_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd4a9db64 hpsb_add_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xde516294 hpsb_remove_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe4f61ea1 hpsb_alloc_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe64e0f7a hpsb_make_readpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe8485522 hpsb_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xea4152ff dma_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xeded944d hpsb_update_config_rom +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xee171f2d hpsb_selfid_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfba57f51 hpsb_speedto_str +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfcfe4e98 hpsb_make_phypacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfd5660eb hpsb_reset_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfe08d84e hpsb_set_packet_complete_task +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x177a9edb ohci1394_stop_context +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x1d5aeebc ohci1394_init_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x99ef30cb ohci1394_register_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0xf8bc2d51 ohci1394_unregister_iso_tasklet +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x18479e37 rdma_copy_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x1a6c9b4f rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x39cd508d rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x8a721ed9 rdma_addr_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xb96ad911 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xc91bb9d3 rdma_addr_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1476652a ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x16c8ed70 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x206aeb46 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x293e06e7 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3c2dab21 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x465a9385 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x498c932d cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x59f0a7f6 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x631e66a5 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x77b26517 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x853dbbb1 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x899f797b ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x8e5b2525 ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbb6e70dc ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xcbdccfa8 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe1216bc0 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf931b89a ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x05485629 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x059cdd1d ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06830b9a ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0cf0c282 ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0ebee9cb ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14346e25 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x166031de ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1ae700e9 ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e94a1b2 ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1eb0fe14 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x312260f9 ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x346bb6c8 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3805571f ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3bd48ff6 ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3cbfe9e3 ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3db811e7 ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f7567fd ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fd5af67 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x416dd18d ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x437536c9 ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x48875294 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49d78b9f ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4ef9645f ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x54b112d4 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5894754b ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5f6b346b ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6495e295 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x64ec2878 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x683d1ad4 ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x68ec6d4f ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x694476a8 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6bf1d1cc ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6c54ffef ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d1f8e68 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d27d1a4 ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f0e2491 ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f8aff33 ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75e7579c ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8640eaeb ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87b614d8 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x894b3a87 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x908662bd ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x947e70f6 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x94ef3b93 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d804fa1 mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9f7806bf ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9fa54389 ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa57f1b70 ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa5ea8808 ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa74c1506 ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaa8a7c92 ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xad5a4ca7 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xad6093c8 ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb3606270 ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb4aca4cd ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb792dc87 ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xba3234c3 ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbb517af6 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbf2c376b ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc1b62195 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc1f99faa ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd17ba9d1 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd27797af ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdd1797dd ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe03b2bf1 ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe2c70d37 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe343a690 ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeda3535d ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf36498b9 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5e86c98 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf96fc9de ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf9a8899c ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfd530f08 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xff8c5a0a ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x0615bdb4 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x1016dc37 ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6ef787ed ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6f077fcf ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x712be06e ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x7b5d4b7a ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x81b10eb1 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x848fae62 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x85ed21d3 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x93137686 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xa9679b4d ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xbd8ab287 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xc0591fda ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xe5ca7e7e ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xf3972e29 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x05d7b6a4 ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x0d2d056b ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x505a8989 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x576fdbac ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x6041fc7b ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x8f19ce24 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x92ea5ae3 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x9c56fd34 ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xc86c562c ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xf520d09e ib_sa_register_client +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 0x199a1865 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x2318cdb2 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x34363c6d iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x3e77a640 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x517a1125 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x5ac0ddff iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x9f63767f iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xeecb7c94 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0054386d rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x100a19d7 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x149a1191 rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4b6e9b32 rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4fd93ac9 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5cf43d03 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6e77f8a4 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x740fe255 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x78ef3e3d rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7a0aa45c rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7e67aff7 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x94e0eaf9 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9b04025e rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa95fcc62 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcbb82174 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdf993413 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe3605bb1 rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf034bc90 rdma_set_service_type +EXPORT_SYMBOL drivers/input/gameport/gameport 0x1696e30e __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x52143bce gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x5c240a09 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x66948b79 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x72ba4b85 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0x8cefc5b6 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xa560e4a2 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xd52fc73f gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xeb250a0b gameport_unregister_port +EXPORT_SYMBOL drivers/input/input-polldev 0x0d90e2ae input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x3be2cee6 input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x59722f0a input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xc5138f6f input_allocate_polled_device +EXPORT_SYMBOL drivers/isdn/capi/capifs 0x2c54c957 capifs_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/capifs 0xd0bc06ce capifs_new_ncci +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 0x260b0572 capi_ctr_suspend_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2b8eab1f capilib_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2baa6586 capilib_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31c24aa4 capi20_isinstalled +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x3aa4d902 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x3bbb55c7 capi20_put_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47d3fc51 capi_info2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47dbfa0a capi_message2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x4a95d529 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x50b33ca4 capi_cmsg2message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x6057c6f3 capi_message2cmsg +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x62e32d43 capilib_data_b3_conf +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x71e8d5ba capilib_data_b3_req +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x73232f99 capi20_set_callback +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x788d398c capi_cmsg2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7a33596c capi20_get_serial +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7d8c86e1 capi_ctr_resume_output +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 0x9f823278 register_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xaa165d27 capilib_release_appl +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb19fda8d capi_cmd2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb60e5e5f capi_cmsg_header +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xbb4e0fe5 capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc467bdc8 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xcd4ebba1 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xdf0a2003 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe19a11ac capi20_get_profile +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe9f62f29 cdebbuf_free +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xed061606 capi20_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xf08d5d96 capi20_release +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x05eba7dc b1_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x2e8fd4f5 b1ctl_read_proc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x30dda665 b1_loaded +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x36b188d8 b1_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x37a7dcb5 avmcard_dma_free +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x42ed33d5 b1_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x5a9ab453 b1_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x5efe525d b1_alloc_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x85f09690 b1_irq_table +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xa23c7be5 avmcard_dma_alloc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xaa2370a5 b1_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xaab88193 b1_parse_version +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xb2124258 b1_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdf121294 b1_load_t4file +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdfd28376 b1_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xf423042a b1_free_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xf6f4facf b1_load_config +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xfbec9ff7 b1_getrevision +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x15694944 b1pciv4_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x233ca0dc b1dma_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x52f74db1 b1dma_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x5e18f5d8 b1dma_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x8fe87bb6 b1dma_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xb8ee97e8 b1dmactl_read_proc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xb939b5e9 b1dma_reset +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xbcdbd3f7 b1dma_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xc3f44171 t1pci_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xde07e48b 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 0xad1b9446 proc_net_eicon +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x176e9bf0 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x1fc5211e mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x25e812aa mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x2c4eb2ec mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x5f66a1e9 mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x83078dc0 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x07f4f2ce hisax_unregister +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x148f0c99 FsmFree +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x2844a899 FsmInitTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x8cf02d18 hisax_init_pcmcia +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x93a64734 FsmChangeState +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x9df0cd27 FsmEvent +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xc0c558f9 FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xd94696e8 FsmDelTimer +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_isac 0x31e1a69c isacsx_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x3f3b323a isac_d_l2l1 +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x90b98ad3 isacsx_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xaeafa06a isac_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xbe9c9d6a isac_init +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xdf5d44ad isac_setup +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x97a49df8 register_isdn +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xd7d251fb isdn_ppp_unregister_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xe3dc3eb8 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 0x01c77a07 confirm_Bsend +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x063b4f8f mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0a821c6f mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0cd1eda2 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x25fa2dc7 recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x33bc6a31 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3ea336fd mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x429129f2 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5dc7400a mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x71a12110 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x73eb61af mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7976b39e recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8c3f6c49 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x908cb9aa mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9632aba5 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x99981181 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xace35cae mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xaef6d115 bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb0916a3d mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xcd4abe5d get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xce341269 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd06b9b69 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd311b17f queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd9a7fbfd mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd9c88d00 mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xdf0958f4 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe50511f2 dchannel_senddata +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/raid6_pq 0x0bd662f6 raid6_gfmul +EXPORT_SYMBOL drivers/md/raid6_pq 0x15fe0cd3 raid6_gfexp +EXPORT_SYMBOL drivers/md/raid6_pq 0x5ba93f9d raid6_gfinv +EXPORT_SYMBOL drivers/md/raid6_pq 0xb0d904b7 raid6_empty_zero_page +EXPORT_SYMBOL drivers/md/raid6_pq 0xce45a6f1 raid6_gfexi +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0xf8746d41 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0x1668a99e mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0x0de0c47e mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x30edf27e mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x6c01f358 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0x79cc1897 qt1010_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 0xfc3ac884 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0x3bdf7033 xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x08e3da37 flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x0f251dfa flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x1aedda2e flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x275e7af6 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x3d2140c0 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x42406606 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x850f9038 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x87da956c flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x94575496 flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xb6785262 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc59a2f3b flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc8fc06e0 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd0f2f2b8 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd32eaf21 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xda5f93c9 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xdf67a347 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xdfd1aabc flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe319766e flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf23ead83 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xfbe27818 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x2aeb5986 bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x74412387 bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x7fa1ca10 bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xc9f8d763 bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x253aa5dd dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x27f7d8c8 dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x33ae4708 write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x69bf67e9 dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x72c686cf rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xa3142d6b dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xcb6ddf38 dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xef12fd14 read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xfd761997 dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0x6f02510c dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0b6167b0 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c457c5c dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c4d4a14 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c747de8 dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0db24447 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1213da02 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1f156afa dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1f1f869d dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x29390c1d dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x2d62a8c4 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x33f9fa79 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3825511f dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3fd4d1ea dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x489f644f dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x511eb6f4 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x51f3767c dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5da7f79a dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x66d9a772 dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6988f784 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x74a5a698 dvb_filter_pes2ts_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x76813e0c dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x798cdb07 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x80e3832d dvb_filter_get_ac3info +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x89d5f637 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9d0783c3 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9dbba37b dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb801e348 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xbc0d91e1 timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcb89fc7d dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcca08cb5 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcce0eeed dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcd9f0ab5 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd3455a35 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd639b9bc dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd7765e69 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd98a8606 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xef62320b dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf826deb0 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x1b87310c dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x407ed773 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x549111ae dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x6ce2ba96 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x8703f816 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xc7e0c946 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xca8eb857 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x3693500b af9005_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xd3383957 af9005_rc_keys_size +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xfd73fea6 af9005_rc_decode +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x07a312be dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x29a0eca6 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x5f451b24 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x7d380fbf dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x811cee7f dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x830349a3 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x94054190 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xc4ef0da6 dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xcc9ccaff dibusb_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xd79b2562 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xf7812cc8 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xfc55d703 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x26467d2a af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522 0xbc8aec3c au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0x02a36d27 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0x923218d3 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0x272d45f3 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0x6083ca1c cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0xb6d3385c cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0xe3b10ec4 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0xa0dce90b cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x075339ac cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x5aa2e14d cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x73e8664e dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xe049f1c2 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xf6bcbe70 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x0f4c7177 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x36e6c062 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x4025ab11 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x5cadb2c2 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x9fdd0760 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xbe7298b5 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xd8cd2267 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xbaa44a22 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xc98dafb7 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x3bf6a6b3 dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x55c4e495 dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x7254b87a dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xa60e8544 dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xdfdf7de1 dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xe08714ba dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x085b6e4e dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x3edb9179 dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x51ef6908 dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xc48cff01 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xd284be30 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x00e36c15 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x672a7896 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xcd5aeece dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xe1905694 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0xdf73bbd0 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x1c8c5dee isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0x9595f18d isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0xa92502e1 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0xa2252afe itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0x7e36839a l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0xc8494fa2 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x06f472cf lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0x8b4c9772 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xec0d2e61 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xf3203458 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0x35f0400d mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0x3f8b6e3a mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0x659f0969 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0x2ca3f43f nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0x75d6a228 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0xf1dfbeb0 or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0xbe68b9ec s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0xa7928cd3 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x893b18f0 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0xa44e0bb4 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x29f1e858 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0x5a11d0cb sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0xce2df379 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0x5bdf3808 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0xf0573d3f stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0x232a0a03 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0x125518ea stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0x7e9a138f stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0xafdcfae1 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0xa9a0a062 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0xed86260b stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0x050669bf stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0x91aae439 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x3660b97f tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0xfb3e2a87 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0xa05730a7 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0xacc1916b tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0xcda56561 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x73955abe tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0xbdf411e6 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0x1d8c550f tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0x149a3ad2 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0x2b5b1e41 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0x95ca1d85 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0x9f2cd8d4 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0x37235bb2 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0xe6f0d092 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0x19f056a0 zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xea1e1539 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x94ce69db ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0xbf096811 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x5e03eb46 bttv_get_pcidev +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 0xd8a5d871 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xf06f5357 bttv_sub_register +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x0c2e93e4 btcx_riscmem_free +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x495e4b0c btcx_calc_skips +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x4a746929 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/cpia 0x218eb985 cpia_unregister_camera +EXPORT_SYMBOL drivers/media/video/cpia 0xd1b61c3f cpia_register_camera +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x2f83f63f cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0xf4e0a841 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x155650f3 cx2341x_ctrl_get_menu +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 0x5b88faf6 cx2341x_ext_ctrls +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 0xe2c2b5eb cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x50b96a9c vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0xe5e08a67 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x14a9e839 cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x66fd0140 cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xa732dce7 cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xa99e757e cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xb13dd880 cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xb3a0ccf8 cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x0d7840fc cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x4d4e898b cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x6653b126 cx8802_get_device +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x8f3a7d4a cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xa7a67cb7 cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xc3594653 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xf7bb6a0c cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x00860d11 cx88_wakeup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x098a9487 cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x11260e67 cx88_core_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x16d15ebe cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x22d2636a cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x27f2d51f cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x39cd7839 cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x53e0c65f cx88_shutdown +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x59be3619 cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x740f6b50 cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7f832b96 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x8ac395ce cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x8b24d641 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x8b87c9c3 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9153534a cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9b140fff cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xa603766e cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xa6558f1f cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xac4ae13c cx88_reset +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb47f6cda cx88_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xbc1c0d40 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc38be7c4 cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xdd593fa0 cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xf4c1582d cx88_newstation +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x803d9d4c em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x9b52a023 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x10122486 gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x14458158 gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x85925d2a gspca_auto_gain_n_exposure +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xa3c31e61 gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xb79cf698 gspca_get_i_frame +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xc4c2f5c2 gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xff5cf025 gspca_suspend +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x2daf8d64 ivtv_vapi +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x328aaf7e ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x4048a547 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x4edd381b ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x562cc74e ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x717aa809 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x8301f23e ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x8cea1a93 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x9f6f45a8 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xd9ee1901 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xdb8b066a ivtv_udma_prepare +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 0x258abeab saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x2b33282d saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x40d97368 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x43ab21cd saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x4780dce6 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x5ef696e9 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x6d455358 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x7da1656c saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x7ee44b90 saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xaebf6d1c saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xdaa76b58 saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xfdee1e08 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/soc_camera 0x63717cb1 soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0x7b99773d soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0xd1d2a161 soc_camera_format_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0xdab1b5eb soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0xe3111867 soc_camera_apply_sensor_flags +EXPORT_SYMBOL drivers/media/video/tveeprom 0x36ef9f70 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/tveeprom 0x3710fb84 tveeprom_read +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x16a2915c RingQueue_Dequeue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x407a321c RingQueue_WakeUpInterruptible +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x72d5ce30 usbvideo_AllocateDevice +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x744efb34 usbvideo_TestPattern +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xb2854686 usbvideo_register +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xcd774978 usbvideo_Deregister +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xddecac6d RingQueue_Enqueue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xf03cc6f1 usbvideo_RegisterVideoDevice +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xf3074c2a usbvideo_DeinterlaceFrame +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xf5011f67 RingQueue_Flush +EXPORT_SYMBOL drivers/media/video/v4l1-compat 0xf3c587e9 v4l_compat_translate_ioctl +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x03165a85 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x0b4985d3 v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1dcaa0c8 v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1e326b97 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x2f639468 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x42c8e001 v4l2_ctrl_next +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4ed5e0d7 v4l2_chip_match_host +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x50766d69 v4l2_ctrl_query_menu_valid_items +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x76ba9a9a v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x95284709 v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9c7de443 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9eb43ee2 v4l2_ctrl_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xa1edf614 v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xbecd2858 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xd9ee1e3f v4l2_ctrl_query_menu +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x09db2b16 videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x1818ce75 videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x52f6521e videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x5f203aa3 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x7de7fdb1 videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x9b0e5809 videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videodev 0x013fa876 video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x2001c659 video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0x322a5757 video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x6fe0c2ee video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0x80a952d2 video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0x899877a0 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0x97aebee4 video_register_device_no_warn +EXPORT_SYMBOL drivers/media/video/videodev 0xbb2e28bd video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0xe092efab video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x1614552d videocodec_detach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x4e8e259b videocodec_unregister +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x9fd9c1a4 videocodec_attach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xeb068661 videocodec_register +EXPORT_SYMBOL drivers/memstick/core/memstick 0x20513fe9 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3f25aeb4 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x4e1d69c7 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5b392d71 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5d820a02 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x70e61b7b memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0x71bacaf2 memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x90810e8a memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x99c0ae61 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa5c4f45d memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa6803e7c memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xc145c619 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0xcf794ea2 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xdafb83ab memstick_resume_host +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x01783ca6 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x065538fb mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x08d3a533 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0cb0238b mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x136aab74 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1681e210 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x182f18ad mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1933c1d2 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1d936544 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x218d0fdb mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x28422892 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2fbfe95b mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x47d6e364 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4bb83eca mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x60032608 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6259f086 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7c664591 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x828f52af mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x841ffc07 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x852c47e0 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x89365c0d mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8f430e97 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9b15f6e6 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9dbc7155 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xaf73a170 mpt_free_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 0xd9a92a75 mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdbf2295c mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe03d5e3f mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf26de885 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0479144a mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x052dbafb mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x098b362b mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0a467cc2 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x27a33c7e mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x441364a8 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x58a1d805 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x63fb49f1 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x73c8f4d9 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7de12cc9 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fc0c5ce mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x82607d2b mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x871bbae7 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8847e2c2 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8c2e97fc mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x93c10eb2 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9af9cabd mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa9e5d6f3 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xac7eeb73 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xbf1ff828 mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc82d5203 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xcd83b197 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe82bcf11 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf7b471b8 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfedc6703 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xffba26a1 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0a393174 i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0c77d26e i2o_cntxt_list_get_ptr +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x24e47fa3 i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2e3d0adc i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x3383e9a6 i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x428b2ad9 i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x6a56224c i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x72d0bfa0 i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x73dc0fa1 i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x746d621a i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x85e79ca9 i2o_cntxt_list_remove +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xa9389e4e i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xaa3950d0 i2o_cntxt_list_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xaf830d47 i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb73bb859 i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xbafdc00a i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xbf8cff87 i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc1bc86f6 i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc9929944 i2o_cntxt_list_add +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd825f731 i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf3410340 i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf94e55dc i2o_event_register +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x01eae48a ab3100_event_unregister +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x020962a0 ab3100_event_registers_startup_state_get +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x4ae19175 ab3100_mask_and_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x845b791f ab3100_event_register +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x91fcb3ff ab3100_get_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x99161e3a ab3100_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xb8cc188d ab3100_get_chip_type +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xc8b5ffde ab3100_get_register_page_interruptible +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x730cb5a7 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xe787eac9 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mfd-core 0xa6e9d06e mfd_remove_devices +EXPORT_SYMBOL drivers/mfd/mfd-core 0xb3c9a67e mfd_add_devices +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +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/c2port/core 0x4b5bee71 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0xdd74875d c2port_device_register +EXPORT_SYMBOL drivers/misc/ioc4 0x62991089 ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0xe0d70e71 ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x21996d6f tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x3f7939e0 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x545549df tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x5ca49266 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x7385b510 tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x88e0ca2a tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x9e697f51 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xb35270c8 tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xcd153284 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0xd05c8357 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xeaa2dc0f tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0xf981b884 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0xfd476601 tifm_unregister_driver +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0x810cb0c9 mmc_cleanup_queue +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x07a4c8dc cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x0b39bc28 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x741b19f1 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x4ac80313 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x50034f9c map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xb4cfe262 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xc9611e42 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x17a28caa mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0xe89442cc lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x443ea61d simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x4088585d add_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtd 0xe9ce2acf del_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtdconcat 0x656e5efb mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtdconcat 0x6fa1fe33 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/nand 0x6506f560 nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0x947076fd nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x68d35fec nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xb4b94377 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xf7485e59 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 0x3b6b40c6 onenand_default_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x75453508 onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x8735d33d flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xe3475f00 onenand_scan_bbt +EXPORT_SYMBOL drivers/net/8390 0x3895d487 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/8390 0x41a3b828 ei_close +EXPORT_SYMBOL drivers/net/8390 0x513f875c ei_start_xmit +EXPORT_SYMBOL drivers/net/8390 0x54c750f2 NS8390_init +EXPORT_SYMBOL drivers/net/8390 0x65c58eeb ei_get_stats +EXPORT_SYMBOL drivers/net/8390 0x83273ba7 ei_tx_timeout +EXPORT_SYMBOL drivers/net/8390 0x8b0df033 ei_netdev_ops +EXPORT_SYMBOL drivers/net/8390 0xba73eebc ei_open +EXPORT_SYMBOL drivers/net/8390 0xd4ba783f __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/8390 0xdd365790 ei_interrupt +EXPORT_SYMBOL drivers/net/8390 0xdd4c968d ei_poll +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x23f86078 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x25505c81 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x2d1f3136 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x3519da8c arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x3719fad0 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x3a4f130a arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x4fff5f5e arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x50217673 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x51ba8501 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x5d608f89 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xcd526c1e arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x20a4490f com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x3efb9312 com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xc437cf73 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/bnx2 0xaab2583b bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/cnic 0x1ce01c6a cnic_register_driver +EXPORT_SYMBOL drivers/net/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x19b43e3e t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x1b83aecb dev2t3cdev +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x2d339170 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x328fe869 t3_l2t_get +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x558936c1 cxgb3_register_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x55c6aa64 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x584fae4d cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x58943279 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x6cf411f0 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x71a96f8c cxgb3_free_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x78f63c8b cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x98de952f cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x9e68e206 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x9f486cac t3_l2t_send_event +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xb4092055 t3_l2e_free +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xd0573d3b cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x1b014a2f hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x2d1d1939 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x2e908002 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x640bac38 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xc7f31fe6 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x473d13a9 sirdev_write_complete +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x536e41eb sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x5620750a sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x624d29f7 sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x66baa860 irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x7f99d3ff sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xae88e587 sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xbb0a65fb sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xc3ae72a6 irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xcd0ae5df sirdev_set_dtr_rts +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/mii 0x0ad87669 mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0x3ab49635 mii_ethtool_gset +EXPORT_SYMBOL drivers/net/mii 0x48f069d6 mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0x4cca55c0 mii_check_link +EXPORT_SYMBOL drivers/net/mii 0x56e4117a generic_mii_ioctl +EXPORT_SYMBOL drivers/net/mii 0x5906fdbb mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0x7bb02b90 mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0x9ae640b2 mii_check_media +EXPORT_SYMBOL drivers/net/pppox 0x4c690b81 register_pppox_proto +EXPORT_SYMBOL drivers/net/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/pppox 0xed253df1 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/pppox 0xf61e53c0 pppox_ioctl +EXPORT_SYMBOL drivers/net/sungem_phy 0x46e4155e mii_phy_probe +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x1690460e tms380tr_netdev_ops +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x4bc5a637 tmsdev_init +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd2328794 tms380tr_wait +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd2c43b7c tms380tr_open +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd49af46e tms380tr_interrupt +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd8cabf38 tmsdev_term +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xdaafcd4d tms380tr_close +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 0x01517959 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x0641801a hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0x1317e5d7 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x21e3c652 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x248d77b4 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x34fc6d04 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x879349a0 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x89c0ac01 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc03d0490 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0xcf1b8961 detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xfef3faef unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wireless/airo 0x552d13a1 init_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x9107a21d stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x9180ade6 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x1e41f956 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x31219afb ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x87119a4d ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbe25b39d ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd729b160 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/atmel 0x145a9a11 atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel 0x3ed10b18 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0x70693913 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x026962d1 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0310aee2 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x06b7a41e hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x078c6eb3 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1893ce05 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1b88715a hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x20e64f2e hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x37c6d546 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x39ce6f18 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x39edfaed hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3b77221d hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3d8a54d7 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3f63852e hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4d5a50da hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4f2da7f8 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x71e6496d hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7475d94b hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x862d338e hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9396f913 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa21ead19 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa74999d2 hostap_init_ap_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 0xcdb722f8 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xcf413e6f hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xdfea68b0 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf23eff3a hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfda9dca5 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x1504708f libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x1b4de229 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x1c6c2e4c libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x1eaf0640 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x2dcc6fec free_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x303660d9 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x378f1ed8 libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x38fba418 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x463cd07c libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x57047d14 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x6296aa80 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x66415da7 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x67c30ebd libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x7655b86d libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x82754452 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xa2fab530 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb44d2303 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb870bae0 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xbd8608ea libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd35b801f libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xf6328bf7 alloc_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x07254541 iwl_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x08a18d87 iwl_tt_enter_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x08ff7c69 iwl_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0989c69f iwl_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0a728f5e iwlcore_eeprom_verify_signature +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0b71a610 iwl_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0bef6288 iwl_tx_queue_reclaim +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0d291217 iwl_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0f0fd03b iwl_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x12dffdca iwl_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x18136887 iwl_leds_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x18732723 iwl_hw_detect +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x19f0e900 iwl_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d77b399 iwl_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d871b87 iwl_rx_reply_compressed_ba +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1fa50790 iwl_verify_ucode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1ffdc605 iwl_rx_replenish +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x20eab303 iwl_set_rxon_chain +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x212fad34 iwl_setup_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x25a8038d iwl_eeprom_get_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x266ad1cd iwlcore_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x29053ec6 iwl_rxon_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x294dbfc2 iwl_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2c4e7dbf iwl_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2ca94bdb iwl_free_tfds_in_queue +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2e6de8dd iwl_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2ea17175 iwl_tt_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x30edcae4 iwl_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3275f246 iwl_disable_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x331731dc iwl_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x333dc927 iwl_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3343cda5 iwl_tx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x33445d28 iwl_rx_missed_beacon_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x34740c2e iwl_bg_scan_check +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x35ec524a iwl_reset_run_time_calib +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3d5493eb iwl_tt_exit_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3dd77416 iwl_rx_pm_sleep_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3e8e1cfd iwl_tt_handler +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3ff9b7b6 iwl_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x441a4650 iwl_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4450fbc2 iwl_find_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4492c8ec iwl_hw_txq_ctx_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x44a20960 iwl_txq_check_empty +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x48cca3fe iwl_rx_replenish_now +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x48e6d288 iwlcore_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4adf14f6 iwl_leds_register +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4b1a6b7b iwl_clear_stations_table +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x543315ed iwl_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x54f5000e iwl_send_statistics_request +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x554f6998 iwl_init_sensitivity +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x57cbf908 iwl_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5aa6ac6d iwl_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5e5618f4 iwl_tx_skb +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x60774702 iwl_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6272db3f iwl_rx_reply_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6675e675 iwl_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6792ade4 iwl_bg_abort_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x68277601 iwl_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6903b995 iwl_hwrate_to_tx_control +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6937a4de iwl_configure_filter +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6c41ee8b iwl_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6d10a27d iwl_hw_nic_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x73db38b6 iwl_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x78976e61 iwl_isr_legacy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7a50cd9a iwl_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7b6ef334 iwl_send_static_wepkey_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7bd2660e iwl_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7c65d3c7 iwl_eeprom_check_version +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7c9d09db iwl_set_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7eba0edf iwl_rf_kill_ct_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x816c27dc iwl_tx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x82788277 iwl_sensitivity_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x83dd1f5b iwl_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x84323d7d iwl_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8670273d iwl_hwrate_to_plcp_idx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x871eb493 iwl_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x89d6826b iwl_rx_pm_debug_statistics_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8b62161d iwl_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8e78cacf iwl_rx_queue_restock +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x903e1d75 iwl_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x92eef8de iwlcore_eeprom_enhanced_txpower +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9367b69d iwl_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x979ff9a5 iwl_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9b1b06a7 iwl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9be0d1a6 iwl_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9c5f31a4 iwl_txq_ctx_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9c759d9b iwl_sta_rx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9faced57 iwl_calib_set +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa4106321 iwlcore_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa445cfa2 iwl_chain_noise_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa44cee35 iwl_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa4949769 iwl_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa518492b iwl_rx_statistics +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa5c23a3b iwl_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa7468efa iwl_mac_beacon_update +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaab4db52 iwl_alloc_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaba8e45a iwl_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xabcccd7d iwl_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xade6c98a iwl_setup_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb0162e0f iwl_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb16e6cce iwl_get_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb3d3f2b7 iwl_update_tkip_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb7145388 iwl_set_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb9aa59b1 iwl_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbb8dc64f iwl_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbb8e09bf iwl_alloc_all +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbe2bcb65 iwl_rx_reply_rx_phy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbfeed2d2 iwl_activate_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc2cc2727 iwl_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc44ab89d iwl_get_free_ucode_key_index +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc4fd31e6 iwl_rx_csa +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc538a5b1 iwl_uninit_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc5ddffa9 iwl_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc776a78c iwl_init_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc7794b30 iwl_bg_scan_completed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc7ddf89a iwl_tt_exit +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc99dd303 iwl_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcb35098b iwl_rx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcbaf4931 get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcc86f5a8 iwl_mac_get_tx_stats +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xccafab6d iwl_set_hw_params +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcf5273ec iwl_get_ra_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd3b4fd6f iwlcore_eeprom_acquire_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd5e7885f iwl_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd61ed286 iwl_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd72d42c6 iwl_sta_tx_modify_enable_tid +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd8d92f41 iwl_set_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd9302ed1 iwl_free_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdad3959e iwl_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xde33f2ac iwl_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xde4f434f iwl_rate_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdf2e44e8 iwl_send_calib_results +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe09f55b0 iwl_tx_ant_restriction +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe2ec679c iwl_reset_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe619e228 iwlcore_eeprom_release_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe7ce5d70 iwl_rates +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe90f9278 iwl_remove_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe9d2ffac iwl_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xeda05aad iwl_is_monitor_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf2d68466 iwl_rxq_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf3db6b95 iwl_rx_reply_rx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf85e3341 iwl_remove_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf85e7e11 iwl_sta_rx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf976aa21 iwl_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf98bf8b2 iwl_reset_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf9ec3b6f iwl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xff9498df iwl_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfff55d20 iwl_ht_enabled +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4196c38b hermes_write_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x6501d2a0 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x6a927e18 orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x84eb5a59 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x87df0299 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x8ee1dc28 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x95cdba23 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa031d8e4 hermes_doicmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa1a1e527 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc60b5e9e hermes_bap_pwrite +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd38d8ae2 hermes_read_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd3f714e5 hermes_bap_pread +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5168829 hermes_allocate +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5336e5d hermes_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd54e219d hermes_docmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xe717ba69 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xed47b224 hermes_struct_init +EXPORT_SYMBOL drivers/parport/parport 0x0215ec48 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x041bcb1c parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x0d52f84c parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x1daec37a parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x241a5b79 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x2947ce64 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x29a02bc9 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x3d168fa7 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x3eaaf719 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x4048e90f parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x40570739 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x43eb7f87 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x50ce5119 parport_release +EXPORT_SYMBOL drivers/parport/parport 0x567af616 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x693952ab parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x6a7d7b2f parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x70cfb32c parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x76a4cb5a parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0x8e8b582f parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x93d46b7e parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x9d5eff70 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0xa0e2216e parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0xb0d9dfc3 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0xc7001878 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xc9c18a68 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xdee150c4 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xe6860dfa parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xef85a42a parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0xefdad503 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xfc2e4ae7 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xfe69ae5b parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport_pc 0xcf45a167 parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xe3aa7e7e parport_pc_unregister_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x0dfb6dab pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x2bddeb14 pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x3baf653d pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x448e58c8 pcmcia_get_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x480bf463 pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4fd033a0 pcmcia_error_func +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x549023d5 pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x8490f25e pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x9c4199c5 pcmcia_modify_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xa3fb2dc7 pcmcia_get_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xb05e4c5d pcmcia_request_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xbc55b37a pcmcia_access_configuration_register +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc0e38af9 pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc6d687cf pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc7ce2006 pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xdd65c4fa pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf0a25e12 pcmcia_error_ret +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0055c5ec pcmcia_socket_dev_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x089893ca pcmcia_replace_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0ba6bdc2 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x172ec6bd pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x189d24ca pccard_get_tuple_data +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x1e8cdbee pcmcia_resume_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x1f4a02b6 pcmcia_adjust_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x265f0bc7 pcmcia_find_mem_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x27a887ea pcmcia_insert_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2b98d8d9 pccard_get_next_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2e8d088f pccard_static_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x490b50e6 pccard_get_first_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x576c6a39 pcmcia_socket_dev_early_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5d77b759 pccard_validate_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5f42a69d pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x613e0a37 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x657a9a49 pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x78caa674 pcmcia_suspend_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7fe02acc pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8d0a6217 destroy_cis_cache +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x96f66f34 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa58738b6 pcmcia_read_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xafa27882 pcmcia_write_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb2420fe4 pcmcia_socket_dev_late_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb2cb766d release_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb2f6e098 pcmcia_validate_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc02ef2c8 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc1ab7076 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc7770b48 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc9cae055 pcmcia_eject_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xdc94ae77 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xe6c992ed pcmcia_find_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf300a5cc pcmcia_socket_dev_suspend +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xff579c70 pccard_read_tuple +EXPORT_SYMBOL drivers/pcmcia/rsrc_nonstatic 0x6ff0008e pccard_nonstatic_ops +EXPORT_SYMBOL drivers/platform/x86/sony-laptop 0x5bb1e117 sony_pic_camera_command +EXPORT_SYMBOL drivers/pps/pps_core 0x1e145952 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0xa7859d2c pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xe6a16116 pps_event +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x4d168b1b fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x849daa22 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x8cdef68b fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xbc470346 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xc5eaf4e6 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xdd4cb4e4 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xf48f6a26 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x02f884ee fc_fcp_complete +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x05ac2fa2 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x06581ba9 fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x06829a17 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x076a0909 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0af357c3 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0d6a644a fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0e1aa9bd fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1e89b531 fc_get_host_port_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1f34c1a0 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x23d7bcc2 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2f3f87b5 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x38e450c3 fc_seq_els_rsp_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4d84b5cd fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4e4971df fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x56183917 fc_destroy_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5a992a4f fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5c6ce5ad fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5e1c4e43 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x67750428 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x76635229 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7dec5eea fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7e89dec2 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x99a612ce fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa04fcaa9 fc_fcp_ddp_setup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa086d6d9 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa1452125 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xacaa9653 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaf9e09ef fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbfb26569 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc3e5d63b fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcbb7300c fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcbe26a04 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcc6bedd9 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xce97a6b8 fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd2ecab45 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd382d183 fc_exch_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd6cb3359 fc_setup_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdc3ec222 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xde048c89 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe1f6301d fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe335ad6e fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xeb6b61ba fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xedfa2b49 __fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf7365d60 fc_seq_exch_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfd52d26f fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfdba77ec fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x11311100 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x2250c66e mraid_mm_adapter_app_handle +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x512c956d mraid_mm_unregister_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x010d2654 osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x263fb76c osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x266354a6 osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2e2d8dea osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3035aca6 osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x34e7dc3d osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3aa08c4c osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4038b612 osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x53168d1e osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x5c678449 osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6434fb11 osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x71474668 osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x79bd067f osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7c1739cc osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7d10dc4e osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x811bb697 osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x839f5f87 osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8cf44704 osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x995f89e4 osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9c2f1602 osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa13c6c6f osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xaa05631c osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xaa43625d osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xac498aa9 osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xad4e07c2 osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc2830054 osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc80ae2aa osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xcf65e36f osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd6b82347 osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd8e94c9e osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xea8b0a1d osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf421e97a osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/osd 0x11bb3e0e osduld_put_device +EXPORT_SYMBOL drivers/scsi/osd/osd 0x41c83dcd osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0xf038a93a osduld_register_test +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1a553651 qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x30980b2d qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x43165783 qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x7c6b0ff3 qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xc3fc9fdd qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xdc310b12 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xfb981d3b qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/raid_class 0x68190eb6 raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0xd33820f0 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0xedc76326 raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0725e25e fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1433ac50 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x39aa8028 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3b4b2703 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4c65ca51 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5f36369c fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x939ff279 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xafec3f02 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd52764e8 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd6942034 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf27eb2da fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xfcb72d1b fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x10656e7b sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x154865bf scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1a4a8648 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1cc60632 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x23c058c1 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3158a624 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x325d1cfb sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x347ed3ff sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x41fe7981 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x46728972 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x53aa0048 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x74af1b3f sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7754f0cd sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7d9983d6 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8d4ee569 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa21e32f3 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa6c8e46c sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc24fd6ca sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc4307b21 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd1198793 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdd674a39 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf013aecc sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf5b5a48b sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfaae359e scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfcc4bec5 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xff89fc85 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x15fdee01 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x1e130a84 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x22e4aa90 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x8bcba099 spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xfd6cb7f6 spi_attach_transport +EXPORT_SYMBOL drivers/ssb/ssb 0x0831f90a ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x08b715a5 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x1079447f ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x1e744b9d ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x3c25ea66 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x4c436954 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x4d6ee1ef ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x710c7468 ssb_dma_alloc_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0xa6cbf0ac ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0xb052b1c0 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xc0447183 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xc0dc93e5 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xc6f0461a ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xc7eb942e ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xd382e400 ssb_dma_free_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe28cb7a8 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0xe4c02de8 ssb_dma_set_mask +EXPORT_SYMBOL drivers/ssb/ssb 0xf0ebb89a ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xf2e79232 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xf3536af4 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xf3751ce5 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xfa40b2a9 ssb_device_disable +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x195cf162 check_chanlist +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2c242af0 comedi_get_subdevice_runflags +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x3123c4f9 comedi_buf_write_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x491418e3 comedi_buf_read_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x4fd9d954 comedi_set_subdevice_runflags +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x56f8a5a7 comedi_reset_async_buf +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x786160f4 comedi_buf_read_n_available +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x8531c662 comedi_buf_get +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x9380a2b5 comedi_buf_memcpy_to +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x93a09c29 comedi_buf_read_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x97320e03 comedi_buf_put +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x992b10e4 comedi_event +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xaca2c440 comedi_driver_register +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xb2d558a9 comedi_driver_unregister +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xbb83f6ad comedi_buf_write_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xcb92918a comedi_error +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xe9021ffe comedi_buf_memcpy_from +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x333224f8 subdev_8255_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xb102fbe4 subdev_8255_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xb5aa36bf subdev_8255_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xf8d6c38a subdev_8255_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x4b43044a cfc_write_array_to_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0xc344be4c cfc_handle_events +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0xe6764634 cfc_read_array_from_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x08194808 mite_request_channel_in_range +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x0be10fda mite_setup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x2b65ecb3 mite_bytes_written_to_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x33436e50 mite_bytes_written_to_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x40de2a9d mite_prep_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x4fcf3649 mite_release_channel +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x5b0e4868 mite_dma_disarm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x6e070b61 mite_bytes_read_from_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x6e5e8073 mite_buf_change +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x76218982 mite_bytes_read_from_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x76e6775f mite_bytes_in_transit +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x7d74152b mite_sync_output_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x897f2949 mite_dma_arm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x95cdab7e mite_dma_tcr +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xac237ad7 mite_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xacdc8b80 mite_setup2 +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xc3da04f7 mite_get_status +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xceb7d91c mite_sync_input_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xe01674a1 mite_unsetup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xfb3ba025 mite_list_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xffdbc294 mite_done +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x73472d88 subdev_700_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x77dced41 subdev_700_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x800e19eb subdev_700_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0xe21008be subdev_700_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/pcm_common 0x54fd0d6d comedi_pcm_cmdtest +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x042d55f4 comedi_loglevel +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x0488ce0e comedi_get_n_ranges +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x0cad1c36 comedi_get_subdevice_type +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x13e3042c comedi_command +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x194eb4ae comedi_get_n_channels +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x1c5555d9 comedi_cancel +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x1ec0e2d3 comedi_get_buf_head_pos +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x22318694 comedi_set_user_int_count +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x262e9c18 comedi_dio_write +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x370d69d5 comedi_dio_read +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x3cb614fc comedi_data_write +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x3db41e4f comedi_poll +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x3de6a4a3 comedi_get_buffer_offset +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x409d3263 comedi_do_insn +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x51da786d comedi_register_callback +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x52769094 comedi_find_subdevice_by_type +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x628ed463 comedi_get_n_subdevices +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x671c2623 comedi_get_buffer_size +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x696272c9 comedi_unlock +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x826bd656 comedi_data_read_delayed +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x8e199bbf comedi_perror +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x8fb4413e comedi_data_read_hint +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x9b266320 comedi_get_krange +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x9dde39b5 comedi_strerror +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xa0334b40 comedi_get_driver_name +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xa094eab0 comedi_get_board_name +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xa7c55c52 comedi_open +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xaa456501 comedi_mark_buffer_read +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xb45b8b7b comedi_mark_buffer_written +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xb5396dad comedi_get_maxdata +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xb5c3ac2a comedi_map +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xc4ec62b3 comedi_get_len_chanlist +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xc7d949df comedi_lock +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xd2a9a259 comedi_get_version_code +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xd46a9468 comedi_dio_config +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xd48facbb comedi_command_test +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xddd89421 comedi_close +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xe2208940 comedi_data_read +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xe38c6fb4 comedi_unmap +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xed5731a4 comedi_get_subdevice_flags +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xefd0c778 comedi_fileno +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xf17e03df comedi_dio_bitfield +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xf71581db comedi_get_buffer_contents +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x15b3f68d cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x3eb4ae46 cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x471e1cfb cx25821_devlist +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x67cc5b8b cx25821_sram_channels +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x784853c3 cx25821_print_irqbits +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x91d2ff8c cx25821_sram_channel_setup +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xb82d7880 cx25821_dev_get +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xbe18dbe5 cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xd8407070 cx25821_dev_unregister +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xeb5cd569 cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xfbfad699 cx25821_sram_channel_dump +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0x11012a10 vmbus_child_driver_unregister +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0x253f3d14 vmbus_get_interface +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0x7335fe53 vmbus_child_driver_register +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0xdf1a5ef6 vmbus_loglevel +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x151918d6 iio_device_unregister +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x19bb3244 iio_remove_event_from_list +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x2e8ef98f __iio_push_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x3f512fe9 iio_unregister_interrupt_line +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x6b43f4bd iio_register_interrupt_line +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x739ae300 iio_devt +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x77941afa iio_allocate_device +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x77a91284 iio_class +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x89b73dcf iio_read_const_attr +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xb214a551 iio_device_register +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xcb842df9 __iio_change_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xd92f55db iio_add_event_to_list +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xdaa508a5 iio_push_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xea831a6b iio_get_new_idr_val +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xf57a4aa3 iio_free_device +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xfcfb4aae iio_free_idr_val +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x350703f2 variax_create_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x35def164 pod_create_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x62664f49 variax_remove_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0xa2b2144a pod_remove_files +EXPORT_SYMBOL drivers/staging/rar/rar_driver 0xf8017f03 get_rar_address +EXPORT_SYMBOL drivers/staging/vme/vme 0x00d7e722 vme_lm_count +EXPORT_SYMBOL drivers/staging/vme/vme 0x072f901c vme_master_rmw +EXPORT_SYMBOL drivers/staging/vme/vme 0x0b40a8b6 vme_request_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0x0e10859d vme_lm_get +EXPORT_SYMBOL drivers/staging/vme/vme 0x0ec5babe vme_dma_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x24a0b450 vme_new_dma_list +EXPORT_SYMBOL drivers/staging/vme/vme 0x2b67d0bd vme_free_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0x3f68d4cf vme_lm_set +EXPORT_SYMBOL drivers/staging/vme/vme 0x41e1ed5e vme_dma_list_add +EXPORT_SYMBOL drivers/staging/vme/vme 0x43e2f154 vme_master_read +EXPORT_SYMBOL drivers/staging/vme/vme 0x45f6f50b vme_register_bridge +EXPORT_SYMBOL drivers/staging/vme/vme 0x48b99a13 vme_lm_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x5162936c vme_slave_request +EXPORT_SYMBOL drivers/staging/vme/vme 0x5ac5be6e vme_master_request +EXPORT_SYMBOL drivers/staging/vme/vme 0x6666140f vme_dma_pci_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0x74a43c8c vme_request_dma +EXPORT_SYMBOL drivers/staging/vme/vme 0x76bab4d4 vme_master_set +EXPORT_SYMBOL drivers/staging/vme/vme 0x7754663b vme_alloc_consistent +EXPORT_SYMBOL drivers/staging/vme/vme 0x7797a741 vme_dma_vme_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0x7cf35220 vme_master_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x849ba619 vme_bus_type +EXPORT_SYMBOL drivers/staging/vme/vme 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL drivers/staging/vme/vme 0x9aeb07e8 vme_lm_attach +EXPORT_SYMBOL drivers/staging/vme/vme 0x9d279035 vme_master_write +EXPORT_SYMBOL drivers/staging/vme/vme 0x9e4b2a7e vme_dma_list_free +EXPORT_SYMBOL drivers/staging/vme/vme 0xa09d045f vme_get_size +EXPORT_SYMBOL drivers/staging/vme/vme 0xa3e23c16 vme_register_driver +EXPORT_SYMBOL drivers/staging/vme/vme 0xab5f1531 vme_dma_list_exec +EXPORT_SYMBOL drivers/staging/vme/vme 0xb6b428ac vme_unregister_driver +EXPORT_SYMBOL drivers/staging/vme/vme 0xc8352002 vme_dma_pattern_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0xcc5b0af0 vme_slave_set +EXPORT_SYMBOL drivers/staging/vme/vme 0xdff905e5 vme_slave_free +EXPORT_SYMBOL drivers/staging/vme/vme 0xe30d6ff5 vme_generate_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0xe60cbb2f vme_master_get +EXPORT_SYMBOL drivers/staging/vme/vme 0xe61b1e0b vme_slave_get +EXPORT_SYMBOL drivers/staging/vme/vme 0xe74820b9 vme_lm_request +EXPORT_SYMBOL drivers/staging/vme/vme 0xeccbeafc vme_dma_free_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0xf1b1bb11 vme_free_consistent +EXPORT_SYMBOL drivers/staging/vme/vme 0xfe212bd2 vme_slot_get +EXPORT_SYMBOL drivers/staging/vme/vme 0xfee9f88f vme_unregister_bridge +EXPORT_SYMBOL drivers/telephony/ixj 0x40c61efd ixj_pcmcia_probe +EXPORT_SYMBOL drivers/telephony/phonedev 0x6861c3f2 phone_unregister_device +EXPORT_SYMBOL drivers/telephony/phonedev 0x93e2965b phone_register_device +EXPORT_SYMBOL drivers/usb/gadget/dummy_hcd 0x6ac227f6 usb_gadget_register_driver +EXPORT_SYMBOL drivers/usb/gadget/dummy_hcd 0x8ac78cdc net2280_set_fifo_mode +EXPORT_SYMBOL drivers/usb/gadget/dummy_hcd 0xef07c11f usb_gadget_unregister_driver +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x9ddc6a05 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/usbserial 0x4166125b usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x8739a679 usb_serial_resume +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0xc86baa7c corgibl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x0c33df67 lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x44173d99 lcd_device_unregister +EXPORT_SYMBOL drivers/video/console/bitblit 0x603bb13a fbcon_set_bitops +EXPORT_SYMBOL drivers/video/console/font 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL drivers/video/console/font 0xbb99125c get_default_font +EXPORT_SYMBOL drivers/video/console/font 0xf7584a9c find_font +EXPORT_SYMBOL drivers/video/console/softcursor 0x2e7441a9 soft_cursor +EXPORT_SYMBOL drivers/video/console/tileblit 0xedf445e5 fbcon_set_tileops +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0b899388 cyber2000fb_attach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0c3b23f1 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x72663af7 cyber2000fb_get_fb_var +EXPORT_SYMBOL drivers/video/cyber2000fb 0xaf5beef9 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/display/display 0x4a368e2d display_device_unregister +EXPORT_SYMBOL drivers/video/display/display 0x4d297708 display_device_register +EXPORT_SYMBOL drivers/video/macmodes 0x08ed0b62 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/macmodes 0x67f3d0ac mac_find_mode +EXPORT_SYMBOL drivers/video/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x3efd0081 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x66c4d744 g450_mnp2f +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0xe20fb6df matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x1bb43698 matrox_mystique +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x232f651a matrox_G100 +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xd083e88e DAC1064_global_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xf8d56be4 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_Ti3026 0x25fea07e matrox_millennium +EXPORT_SYMBOL drivers/video/matrox/matroxfb_accel 0x64202541 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x01c64582 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x6f44e40c matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x6f886bfe matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xf7374fb0 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x68509f40 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0xc7c29ca7 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x209cec96 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x3bdee0c1 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x450010c8 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x60691a1b matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xabd8e427 matroxfb_var2my +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xda94dfa9 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/output 0xb6246a13 video_output_unregister +EXPORT_SYMBOL drivers/video/output 0xda86c6dc 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 0x00d1fce9 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/svgalib 0x063d828d svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0x06b1ca12 svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0x07b3da30 svga_wseq_multi +EXPORT_SYMBOL drivers/video/svgalib 0x1b95c56a svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x63e898d1 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/svgalib 0x7a3ae959 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x80373a6d svga_tileblit +EXPORT_SYMBOL drivers/video/svgalib 0x80408443 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0x85bbada0 svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0x8fa8438b svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/svgalib 0x8fcf383d svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0xab3b22ad svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/svgalib 0xcfb8352f svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0xdad682b1 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/svgalib 0xe07aba44 svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0xec83c473 svga_match_format +EXPORT_SYMBOL drivers/video/svgalib 0xef774f5d svga_compute_pll +EXPORT_SYMBOL drivers/video/syscopyarea 0x8c65e61a sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0x50545516 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x93198ff2 sys_imageblit +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x13b00025 w1_bq27000_write +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x5be93165 w1_bq27000_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x0261b073 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x0ed22a33 w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x17543457 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x5918c1d5 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/wire 0x285f95a6 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x8dacbeee w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x9ac36368 w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xb988e1d8 w1_register_family +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x04e133fc iTCO_vendor_check_noreboot_on +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x672c9d44 iTCO_vendor_pre_keepalive +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xa78bd894 iTCO_vendor_pre_set_heartbeat +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xa8d6daac iTCO_vendor_pre_start +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xd0efe320 iTCO_vendor_pre_stop +EXPORT_SYMBOL fs/configfs/configfs 0x02b180d6 config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x07ae6098 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x31ce428c configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x6030c8ff config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0x6b64dfed configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x7935d7eb configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x7994fd20 config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0xa0683287 config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xa9468e4c config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0xb702caf3 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0xf11e92b0 config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0xf17ac4dd config_item_init +EXPORT_SYMBOL fs/fscache/fscache 0x0173969d fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x06b56372 __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x100f309e fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x128d16f0 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x1767c331 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x1854c780 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x1ec6b509 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x44917f66 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x496932b9 fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x5331ea08 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0x549dbbbd fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x63f96884 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x698a4e97 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x6ec49bee fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x82775ec1 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x94603545 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xaedc0f28 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xb504e0f5 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xb702edd9 __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xb7444b3d __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xc46b380c __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0xd3912021 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0xd9c8edd5 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0xda1693e7 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0xf11d9a9f fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0xf6ba2722 fscache_object_slow_work_ops +EXPORT_SYMBOL fs/fscache/fscache 0xf96676f0 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xfee4810d __fscache_unregister_netfs +EXPORT_SYMBOL fs/nfsd/nfsd 0x1f573533 nfs4_acl_posix_to_nfsv4 +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 0x96ce9bb4 nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0xdb389aec nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/quota/quota_tree 0x23da5e85 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x31035955 qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x7596d97d qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xaaaec9ca qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xaec9027f qtree_delete_dquot +EXPORT_SYMBOL lib/crc-ccitt 0x651c2313 crc_ccitt +EXPORT_SYMBOL lib/crc-ccitt 0x75811312 crc_ccitt_table +EXPORT_SYMBOL lib/crc-itu-t 0x276c7e62 crc_itu_t +EXPORT_SYMBOL lib/crc-itu-t 0xd29b009f crc_itu_t_table +EXPORT_SYMBOL lib/crc7 0xc086bfba crc7 +EXPORT_SYMBOL lib/crc7 0xd80c3603 crc7_syndrome_table +EXPORT_SYMBOL lib/libcrc32c 0x27000b29 crc32c +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 0xf0caf44b zlib_deflate_workspacesize +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL net/802/p8023 0x4aecc479 destroy_8023_client +EXPORT_SYMBOL net/802/p8023 0x59ed9169 make_8023_client +EXPORT_SYMBOL net/9p/9pnet 0x0b3ac49a p9pdu_dump +EXPORT_SYMBOL net/9p/9pnet 0x0c08973f p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x1221f95e p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x19cb7d2a p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x1c3b51e4 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x2160ec26 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x244c6d40 p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x2b560613 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x3c9d0405 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x3da35774 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x41e6bc51 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x4a27e92e p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x5e0ef374 p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0x61852dea p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0x683efc21 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x6c5e479c p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0x76b79bf1 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x7cbbdb91 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x85bd8fc3 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x85cfa6ec p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x906bd673 p9_client_auth +EXPORT_SYMBOL net/9p/9pnet 0x93fc0779 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0x9ec9a221 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0xaa08b09a p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xbaa17b44 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xc1c4fa03 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0xc32e8895 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0xd0af5654 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xf199a8a0 p9_client_version +EXPORT_SYMBOL net/appletalk/appletalk 0x10c8a41c atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xe2e9bf43 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0xe6fd5268 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xf23b497a alloc_ltalkdev +EXPORT_SYMBOL net/atm/atm 0x1a24e5e2 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0x1bf23764 atm_charge +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x365525ef atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x3677d5e7 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x40cc8ccc atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x578ca7ca register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x5d242531 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x6d1ced27 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x89195dc3 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0x8bb13886 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x8fbf011d atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0xc7ceaa7a atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0xd8ec9f67 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0xf3a08f80 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/ax25/ax25 0x21b3e63d ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x3d2d82ec ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x48bcc61a ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x5fc6280f ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x7d53f28c ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0x9124b90b ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0xa43b75e8 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0xa5bdc36c ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0xa98f05da ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xbefbf882 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xfb2f3ab0 ax25_linkfail_release +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1801ca4e hci_register_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2692eb39 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x31e2154f hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x37196c58 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x38be4b68 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x41e2fb9b bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4286719d bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4c1174e0 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6197731e bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6817fb06 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6d6dbb8d bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7094f8ae bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x789f1386 hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7aba939d bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x809fcf9a hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x83aa3b45 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8be676c5 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8cb359ac hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8e6b4a8c hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x92dbb0a2 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x96afc630 hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa0822b6d bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa38a6a71 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0xac7a48db hci_unregister_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0xafbf3b92 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc5572bca hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc6d97d1 hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd02707a4 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd84b3d9c bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd8ff822f hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe59759f0 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xebdff54d hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/l2cap 0xfc31fe88 l2cap_load +EXPORT_SYMBOL net/bridge/bridge 0xe50d9a93 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x553bccaf ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x7788a5e0 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xfbcc387a ebt_register_table +EXPORT_SYMBOL net/can/can 0x02d4fdb5 can_send +EXPORT_SYMBOL net/can/can 0x0bba0e84 can_rx_register +EXPORT_SYMBOL net/can/can 0x28340978 can_proto_register +EXPORT_SYMBOL net/can/can 0x67d56793 can_proto_unregister +EXPORT_SYMBOL net/can/can 0xdbec9d35 can_rx_unregister +EXPORT_SYMBOL net/ieee802154/nl802154 0x13dbba29 ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x611a265a ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0x7df655bb ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x8e6ceb17 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0xa54eac66 ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0xb396a357 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0xfdf1019c ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/wpan-class 0x518cc964 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/wpan-class 0x5739776a wpan_phy_register +EXPORT_SYMBOL net/ieee802154/wpan-class 0xc97e23f0 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/wpan-class 0xf05e7c2f wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/wpan-class 0xf38de59e wpan_phy_unregister +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xafebb7ca arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xcc7645bd arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xe76aa56c arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x15ac9365 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x90ae89e0 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xec132b30 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x2736f279 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x48463aaf nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x54b8a63d nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x871b8688 nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x8831d4b1 nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xac8f0d8b nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xb178517e nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/tunnel4 0x6f359da1 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/tunnel4 0x767a897a xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x24559934 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x2f9fb5b5 ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb5e3959e ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb8bddf33 ip6t_ext_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xe977196c ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/tunnel6 0xda3d9ea4 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0xddbe58cd xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x9cd013f2 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xab14e193 xfrm6_tunnel_free_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xdb1b42d1 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x06d489eb ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x28a3ca8c ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x98905be7 ircomm_flow_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xa8e01464 ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xb9279cc5 ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xd7acee6b ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xf2664dd6 ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xf61738ae ircomm_open +EXPORT_SYMBOL net/irda/irda 0x01d1fcdb hashbin_delete +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x072e026f irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x1a5dd9e3 irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x22a70699 irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x2411be67 irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x2753530a irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0x2bdc830c irda_device_set_media_busy +EXPORT_SYMBOL net/irda/irda 0x2cb87f3f irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0x33dca008 irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0x3462950f hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x36920218 iriap_close +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x3c1fb014 async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x3f9a20ca async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0x445d58ed irlmp_open_lsap +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 0x5b8a3ab0 irttp_dup +EXPORT_SYMBOL net/irda/irda 0x603be8f7 proc_irda +EXPORT_SYMBOL net/irda/irda 0x6483feec alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0x6758f8ac irias_new_object +EXPORT_SYMBOL net/irda/irda 0x68b7447c hashbin_find +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 0x72ef5203 irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x747d6779 irias_delete_object +EXPORT_SYMBOL net/irda/irda 0x7621e908 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0x76243bc9 irias_insert_object +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +EXPORT_SYMBOL net/irda/irda 0x781e2db5 irias_find_object +EXPORT_SYMBOL net/irda/irda 0x7957f728 irlmp_update_client +EXPORT_SYMBOL net/irda/irda 0x7a57b6f3 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x8413b672 irlap_close +EXPORT_SYMBOL net/irda/irda 0x8964c1c4 irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0x8eb44117 irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0xb03452e5 iriap_open +EXPORT_SYMBOL net/irda/irda 0xb3ff45a8 irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0xb65f42af 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 0xbdc38c52 irlap_open +EXPORT_SYMBOL net/irda/irda 0xbe40ace9 irlmp_discovery_request +EXPORT_SYMBOL net/irda/irda 0xc14e9b6a hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0xc621c7c6 irda_notify_init +EXPORT_SYMBOL net/irda/irda 0xcd41236c hashbin_new +EXPORT_SYMBOL net/irda/irda 0xcfaff4ba irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0xd069e9d5 iriap_getvaluebyclass_request +EXPORT_SYMBOL net/irda/irda 0xd6deeaae irda_setup_dma +EXPORT_SYMBOL net/irda/irda 0xd7172ff4 hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0xd8bfb6d4 hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xe5260e0e irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0xec41fe7f irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xfcf8e725 irlmp_close_lsap +EXPORT_SYMBOL net/lapb/lapb 0x043eb774 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x17cbe3ef lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x2569838f lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x550adaef lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x7ba089a3 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0xacc57334 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0xbc3b38cc lapb_register +EXPORT_SYMBOL net/lapb/lapb 0xed8e4a42 lapb_connect_request +EXPORT_SYMBOL net/mac80211/mac80211 0x2253da27 ieee80211_get_tkip_key +EXPORT_SYMBOL net/mac80211/mac80211 0x262ee9d3 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x282bffb0 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x293c27cc ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x2a707ada ieee80211_beacon_get +EXPORT_SYMBOL net/mac80211/mac80211 0x33591947 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x338c4efb ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x34080071 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x34f37295 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x3b9225b4 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x3bb21f8d ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x3df9ca8e ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x43e46e95 ieee80211_start_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0x5491b01e ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x5abf120d ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x5be1e09b wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x5fabd608 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x62e4c586 ieee80211_stop_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0x64861ebd ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x67cf602d ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x6986bc12 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x7e322ead ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x8119482f ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x85a9e36a ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x93796c80 ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xa6e04511 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xa70ecad8 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xa8081a8c ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xaddeb969 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0xb2e4865b __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xbcccb91a ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xc0ebe3bd ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xc4898d00 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xc56b2b86 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xd5191294 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xd74a7192 ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0xe86d687b ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xe8abe42d ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xeeb6b3b1 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xeedd5952 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0xf3e959a1 ieee80211_stop_queue +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x11d3fd53 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x17b3f0d1 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x22e19e6d register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3df56b31 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x41f7697a register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x8704b7bc register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x88b78fd8 ip_vs_skb_replace +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x94b572f0 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa1dbc2d8 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb4c3af58 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe216a877 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xee55c9f8 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x09ed5c64 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x3838dcdc __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x8768b645 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x13389aa4 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x16a5e826 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x26f54539 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x43b34ccd xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x44216fcd xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x53d392fa xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x83a85b02 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x90ac01b8 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xc3ff5dff xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xe19b0679 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0xe323e44a xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xfbb7942b xt_unregister_targets +EXPORT_SYMBOL net/phonet/phonet 0x0704c0c2 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x19ce9fc5 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x1be3efc5 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x8b54e004 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x8d1df378 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x8f6221d1 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0xd357c17b phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0xe76903fa pn_sock_hash +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x05fea278 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x1e355810 rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x23bd5e88 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x2ab7fd9b rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x2ec95379 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x4f6fe782 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x6950cfbc rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x81c2df57 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x94d5e1ae rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xb226e510 rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xb3013321 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xcfdf84b6 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xdcf891e6 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xf63c29f0 rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xfee9536d rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/sunrpc/sunrpc 0x59f479c8 svc_pool_stats_open +EXPORT_SYMBOL net/tipc/tipc 0x08acf310 tipc_available_nodes +EXPORT_SYMBOL net/tipc/tipc 0x0b074a7b tipc_multicast +EXPORT_SYMBOL net/tipc/tipc 0x0f2f4965 tipc_register_media +EXPORT_SYMBOL net/tipc/tipc 0x10d40fcd tipc_isconnected +EXPORT_SYMBOL net/tipc/tipc 0x1472b270 tipc_disconnect +EXPORT_SYMBOL net/tipc/tipc 0x1479cb03 tipc_deleteport +EXPORT_SYMBOL net/tipc/tipc 0x15b5ecde tipc_set_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x16f27683 tipc_block_bearer +EXPORT_SYMBOL net/tipc/tipc 0x1ec539ee tipc_forward_buf2name +EXPORT_SYMBOL net/tipc/tipc 0x23daecbd tipc_send +EXPORT_SYMBOL net/tipc/tipc 0x259b74f9 tipc_acknowledge +EXPORT_SYMBOL net/tipc/tipc 0x25ee45fc tipc_send_buf2port +EXPORT_SYMBOL net/tipc/tipc 0x310d1bc9 tipc_detach +EXPORT_SYMBOL net/tipc/tipc 0x3712e340 tipc_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x3976041f tipc_set_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x419b02fc tipc_send2port +EXPORT_SYMBOL net/tipc/tipc 0x4b2243c6 tipc_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x538b228a tipc_withdraw +EXPORT_SYMBOL net/tipc/tipc 0x5637ed44 tipc_get_mode +EXPORT_SYMBOL net/tipc/tipc 0x5679be0b tipc_reject_msg +EXPORT_SYMBOL net/tipc/tipc 0x56e52bc1 tipc_continue +EXPORT_SYMBOL net/tipc/tipc 0x5c0d4b5c tipc_ref_valid +EXPORT_SYMBOL net/tipc/tipc 0x62a681a3 tipc_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0x7369027c tipc_send_buf +EXPORT_SYMBOL net/tipc/tipc 0x7d7452f5 tipc_createport_raw +EXPORT_SYMBOL net/tipc/tipc 0x88b73627 tipc_get_addr +EXPORT_SYMBOL net/tipc/tipc 0x8a1f6e57 tipc_recv_msg +EXPORT_SYMBOL net/tipc/tipc 0x90f77952 tipc_send_buf_fast +EXPORT_SYMBOL net/tipc/tipc 0x9c45558e tipc_enable_bearer +EXPORT_SYMBOL net/tipc/tipc 0xa1b42d32 tipc_forward2port +EXPORT_SYMBOL net/tipc/tipc 0xa936a24b tipc_get_port +EXPORT_SYMBOL net/tipc/tipc 0xadd203d0 tipc_connect2port +EXPORT_SYMBOL net/tipc/tipc 0xae0103c3 tipc_shutdown +EXPORT_SYMBOL net/tipc/tipc 0xb1f8eacc tipc_send2name +EXPORT_SYMBOL net/tipc/tipc 0xb35b672c tipc_publish +EXPORT_SYMBOL net/tipc/tipc 0xc76f79db tipc_forward_buf2port +EXPORT_SYMBOL net/tipc/tipc 0xcec8514a tipc_set_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0xcee290be tipc_forward2name +EXPORT_SYMBOL net/tipc/tipc 0xd37da24a tipc_send_buf2name +EXPORT_SYMBOL net/tipc/tipc 0xd44731e5 tipc_ownidentity +EXPORT_SYMBOL net/tipc/tipc 0xda7f9d3f tipc_attach +EXPORT_SYMBOL net/tipc/tipc 0xdf5008fc tipc_peer +EXPORT_SYMBOL net/tipc/tipc 0xe7aece47 tipc_ispublished +EXPORT_SYMBOL net/tipc/tipc 0xeefd49b3 tipc_get_handle +EXPORT_SYMBOL net/tipc/tipc 0xef50a1ef tipc_disable_bearer +EXPORT_SYMBOL net/tipc/tipc 0xf0e98711 tipc_createport +EXPORT_SYMBOL net/wanrouter/wanrouter 0x036b2879 register_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wimax/wimax 0x23c23755 wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0x43d49d96 wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x03821545 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x051765c4 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x07e7ac5a ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x12eed3b9 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1e3f9687 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x23097c87 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x27649949 __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x2ad9a477 cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x2d6f82b3 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x303970f3 cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x37ac8d05 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x38270c66 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x39eb4fdc cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0x44420cbd wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x4542ff0c cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0x492582e4 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x4a30e147 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x4cb64996 cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0x58397256 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x5c5b9d5e cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x664bfa89 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6b3532b6 cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3fddc1 ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x7c8187af wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x81dc151d wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x88a895bb cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x895c06c0 cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x8bfee299 cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x8c35d732 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x96595247 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x9cce556e cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xa189dfcf cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xa6e6b112 cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0xb124e68e wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xb49e0912 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xc4e85ec5 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xc55d906d wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xca8fe14b cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xccc291b3 ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0xccf02eea wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0xe49f8244 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xf979d0f1 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xfb3fe073 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/lib80211 0x1bbff969 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x230f3ffb lib80211_crypt_deinit_handler +EXPORT_SYMBOL net/wireless/lib80211 0x264ac0f8 lib80211_crypt_deinit_entries +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x8c877de4 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x8d1d7491 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x8e671760 lib80211_crypt_quiescing +EXPORT_SYMBOL net/wireless/lib80211 0x9af551b7 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0xbb8a17ee lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0xf49a15c2 lib80211_unregister_crypto_ops +EXPORT_SYMBOL sound/ac97_bus 0xf8f9396b ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x8b477344 snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x08c19977 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 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 0x71be03e8 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 0x89947013 snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0x9cab330a snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xba1c116c snd_seq_kernel_client_enqueue_blocking +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 0x3278b576 snd_seq_device_new +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x3a57f235 snd_seq_autoload_unlock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xb90668b2 snd_seq_autoload_lock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xc622fb29 snd_seq_device_unregister_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xf3c2fd5b snd_seq_device_register_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 0x17c15809 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x4ad3f518 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x62384d3a snd_midi_event_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x8a348811 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x9df7af8b snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xc482499d snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xd9072e1a snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe6df29c7 snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x012e620d snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x04d6e4b7 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x060271d8 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x06ff859a snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x1432ff46 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x1514e213 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x15a47d8b snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x18e1683f snd_dma_program +EXPORT_SYMBOL sound/core/snd 0x191e88cf snd_dma_pointer +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x1f0439e0 snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x21b83a38 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x239970da snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x24af89ea snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x2ae3deaa release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0x2e5933bb snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3998b0cc snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0x3f1221c6 snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0x40c21b7d snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x42dd7daa snd_device_new +EXPORT_SYMBOL sound/core/snd 0x44085c85 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4f59af6a snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x51878392 snd_device_register +EXPORT_SYMBOL sound/core/snd 0x518bb7f8 copy_from_user_toio +EXPORT_SYMBOL sound/core/snd 0x5520d398 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x578b1e10 snd_card_register +EXPORT_SYMBOL sound/core/snd 0x5a133c59 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x5def3443 snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0x5e5086bc snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x66027b6c snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x71afc379 snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x71b2a89c snd_cards +EXPORT_SYMBOL sound/core/snd 0x72acd6da snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x80f153e2 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x8750eb59 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x90213d37 snd_device_free +EXPORT_SYMBOL sound/core/snd 0x9065c0b3 snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x91df0bda snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x9790e213 snd_card_free +EXPORT_SYMBOL sound/core/snd 0x983891ec snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xa387cf17 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0xa7fed0ad snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xbd54290e snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0xbe6dce37 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0xc023fd2e snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0xc5cea39f snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0xc73b84ab snd_card_create +EXPORT_SYMBOL sound/core/snd 0xca5d8a54 snd_info_register +EXPORT_SYMBOL sound/core/snd 0xd5f49463 snd_component_add +EXPORT_SYMBOL sound/core/snd 0xd8f2fcf3 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0xdd23d712 _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0xe20c9214 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0xe243dde3 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0xf5966f36 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0xfeb0a8e7 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd-hwdep 0x8c502437 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x12279bbd snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x19cc2ce3 snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x2612abbb snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0x43bfaadc snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xb124abd0 snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xc4ab3a19 snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0xc6829020 snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x040004fd snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x1683097c snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x18d53057 snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0x1a74028c snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x1f46793f snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x206512fd snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x24b8a0d2 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x29e53037 snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0x2b348e61 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x2eab6079 snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x30d0582f snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x34fce7e7 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x356a876a snd_pcm_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-pcm 0x376c41cf snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x3893f055 snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x38f41d6b snd_pcm_sgbuf_ops_page +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x46cf1c52 snd_pcm_hw_constraint_list +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 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x62d67ef9 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x67bb761e snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x69b252fe snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x75a66b25 snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0x7fe9d245 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x88cc66cc snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0x90847d7d snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x9460ab89 snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0x94fcac3a snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0x9e0e463a snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xa63ccb3f snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0xa7f51ca1 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0xacd70302 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0xaf688240 snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0xb090229e snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0xb2973a04 snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xb6ceeb17 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbea50746 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xd0b9b8b8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0xd5fce656 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xdc05be0e snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0xe3cc35a0 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0xe51a1c64 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xf2259604 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xf9ce912b snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1787e34a snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2e00af4d snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3a5600d9 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x454b9d55 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x53b448a7 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x54beb4b5 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x70aa263d snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x89b1c75c snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb7fd3abe snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xcbbca1d9 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd1637bbf snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd3a95a9e snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd479fc7e snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe827385e snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0xec5c92b0 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf5a6cf34 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xfa2ffee5 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-timer 0x03d0eb56 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x254752bd snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x5d41e132 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0x6faf941a snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x7eafbcd3 snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0x8d9517e5 snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x8dc5b226 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x9f02a328 snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0xaa42013d snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0xaeb22275 snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0xb7d8f257 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0xc4e05ffb snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0xe2134a36 snd_timer_close +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x4bbb7f27 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x9c10da48 snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc43a3940 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x1219681c snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x1d6f0a0e snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x33735df1 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x3839820b snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x89b20acf snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x8f3fb07b snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xc41cb331 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xd6ac17b5 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xef9b206d snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x3c6cb6c6 snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x433e8a4a snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x4a42185e snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x56b7d4e7 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x78eda936 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x99b88ede snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x9abe68f8 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x9dabc3c4 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xab3e9673 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xaea9272c snd_vx_load_boot_image +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x00e8c4e1 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x027fd52e snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x0e89c41f snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x165c755e snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x65222667 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x8443b0f8 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x8f651ef6 snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x9b5dd47c snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xaf6fa81d snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xb43b3462 snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xb60adcda snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xc7e3c698 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x41508940 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x4bae2a92 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x5a10576e snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xb803915a snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xe68fd919 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xf563dc16 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0xa1755e64 snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0xfc2eeab0 snd_tea575x_init +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x2d322a76 snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x4e78ff91 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x63ccc3ff snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x7a690bd1 snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xe6414ff6 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-i2c 0x024f7166 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x1819aab7 snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0x25101743 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x2dfa02c8 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x4b7901c3 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0x5df8b763 snd_i2c_readbytes +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x215c99a8 snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x394cecbb snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x47b1c563 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x6365d972 snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x8c7610b3 snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x9aeec75c snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xa4afe3e0 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xdf026940 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xe0392085 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xe9336750 snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x3088f7fb snd_sb16dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x42365acf snd_sb16dsp_configure +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xc57f5b54 snd_sb16dsp_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xfd052a53 snd_sb16dsp_get_pcm_ops +EXPORT_SYMBOL sound/oss/ad1848 0x26c427ee ad1848_detect +EXPORT_SYMBOL sound/oss/ad1848 0x55262c70 probe_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0x607f59cc ad1848_init +EXPORT_SYMBOL sound/oss/ad1848 0x720507e3 attach_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0x9bf1cc62 ad1848_unload +EXPORT_SYMBOL sound/oss/ad1848 0xb29a9148 unload_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0xc04f6f67 ad1848_control +EXPORT_SYMBOL sound/oss/mpu401 0x5febf284 unload_mpu401 +EXPORT_SYMBOL sound/oss/mpu401 0xd9ec5db4 probe_mpu401 +EXPORT_SYMBOL sound/oss/mpu401 0xee271d56 attach_mpu401 +EXPORT_SYMBOL sound/oss/sb_lib 0x42424109 sb_be_quiet +EXPORT_SYMBOL sound/oss/sb_lib 0x450f9aea smw_free +EXPORT_SYMBOL sound/oss/sb_lib 0x4ccfe4ac sb_dsp_init +EXPORT_SYMBOL sound/oss/sb_lib 0x74afd69c unload_sbmpu +EXPORT_SYMBOL sound/oss/sb_lib 0xc4884969 sb_dsp_unload +EXPORT_SYMBOL sound/oss/sb_lib 0xd8a2731c sb_dsp_detect +EXPORT_SYMBOL sound/oss/sb_lib 0xf3b6feb8 probe_sbmpu +EXPORT_SYMBOL sound/oss/sound 0x04c87ec8 compute_finetune +EXPORT_SYMBOL sound/oss/sound 0x06339815 sound_unload_synthdev +EXPORT_SYMBOL sound/oss/sound 0x0a2b8461 midi_devs +EXPORT_SYMBOL sound/oss/sound 0x0e1a0924 sound_install_mixer +EXPORT_SYMBOL sound/oss/sound 0x0f280035 conf_printf +EXPORT_SYMBOL sound/oss/sound 0x17ba231d seq_input_event +EXPORT_SYMBOL sound/oss/sound 0x1b3df3cf sound_alloc_mixerdev +EXPORT_SYMBOL sound/oss/sound 0x1f395686 MIDIbuf_avail +EXPORT_SYMBOL sound/oss/sound 0x2161d5e8 sound_timer_init +EXPORT_SYMBOL sound/oss/sound 0x2aa31695 midi_synth_kill_note +EXPORT_SYMBOL sound/oss/sound 0x394cb088 sound_free_dma +EXPORT_SYMBOL sound/oss/sound 0x3f0e15d8 synth_devs +EXPORT_SYMBOL sound/oss/sound 0x418f5fbe sound_close_dma +EXPORT_SYMBOL sound/oss/sound 0x4cd01bdd num_audiodevs +EXPORT_SYMBOL sound/oss/sound 0x4f6e5cff audio_devs +EXPORT_SYMBOL sound/oss/sound 0x4ff47e9d midi_synth_setup_voice +EXPORT_SYMBOL sound/oss/sound 0x51e354b2 sound_alloc_timerdev +EXPORT_SYMBOL sound/oss/sound 0x56504ca2 midi_synth_reset +EXPORT_SYMBOL sound/oss/sound 0x56d7aec8 sound_install_audiodrv +EXPORT_SYMBOL sound/oss/sound 0x5c8aea6d mixer_devs +EXPORT_SYMBOL sound/oss/sound 0x5d986fc9 note_to_freq +EXPORT_SYMBOL sound/oss/sound 0x7679ee76 seq_copy_to_input +EXPORT_SYMBOL sound/oss/sound 0x7bdf0907 conf_printf2 +EXPORT_SYMBOL sound/oss/sound 0x892093e0 midi_synth_controller +EXPORT_SYMBOL sound/oss/sound 0x90bd9714 sequencer_timer +EXPORT_SYMBOL sound/oss/sound 0x987bcf12 DMAbuf_outputintr +EXPORT_SYMBOL sound/oss/sound 0x9a95733f sound_alloc_dma +EXPORT_SYMBOL sound/oss/sound 0x9bdaf24d midi_synth_start_note +EXPORT_SYMBOL sound/oss/sound 0x9d845b18 num_mixers +EXPORT_SYMBOL sound/oss/sound 0xa1d5f04f load_mixer_volumes +EXPORT_SYMBOL sound/oss/sound 0xa1eae7cf num_midis +EXPORT_SYMBOL sound/oss/sound 0xa41ead5f sound_unload_timerdev +EXPORT_SYMBOL sound/oss/sound 0xa51c913b sound_unload_mixerdev +EXPORT_SYMBOL sound/oss/sound 0xa6bb414c sound_unload_mididev +EXPORT_SYMBOL sound/oss/sound 0xa948751e sound_unload_audiodev +EXPORT_SYMBOL sound/oss/sound 0xad45df73 midi_synth_close +EXPORT_SYMBOL sound/oss/sound 0xaef743b2 midi_synth_ioctl +EXPORT_SYMBOL sound/oss/sound 0xb14b22cd midi_synth_hw_control +EXPORT_SYMBOL sound/oss/sound 0xb51587f6 do_midi_msg +EXPORT_SYMBOL sound/oss/sound 0xba413f87 sound_alloc_mididev +EXPORT_SYMBOL sound/oss/sound 0xba7dd041 midi_synth_bender +EXPORT_SYMBOL sound/oss/sound 0xc748d109 sound_alloc_synthdev +EXPORT_SYMBOL sound/oss/sound 0xcab4d5bf midi_synth_load_patch +EXPORT_SYMBOL sound/oss/sound 0xcc4b8797 sound_open_dma +EXPORT_SYMBOL sound/oss/sound 0xd85be938 midi_synth_set_instr +EXPORT_SYMBOL sound/oss/sound 0xdb400afa midi_synth_panning +EXPORT_SYMBOL sound/oss/sound 0xe056b71c DMAbuf_start_dma +EXPORT_SYMBOL sound/oss/sound 0xe2675a79 sound_timer_interrupt +EXPORT_SYMBOL sound/oss/sound 0xe7147a54 sound_timer_devs +EXPORT_SYMBOL sound/oss/sound 0xeb315d99 DMAbuf_inputintr +EXPORT_SYMBOL sound/oss/sound 0xf1ea8a20 midi_synth_aftertouch +EXPORT_SYMBOL sound/oss/sound 0xf6b3a2fb midi_synth_open +EXPORT_SYMBOL sound/oss/sound 0xf78f6363 sequencer_init +EXPORT_SYMBOL sound/oss/sound 0xfa6871be sound_timer_syncinterval +EXPORT_SYMBOL sound/oss/sound 0xfddcbfb3 midi_synth_send_sysex +EXPORT_SYMBOL sound/oss/uart401 0x049cd8b7 uart401intr +EXPORT_SYMBOL sound/oss/uart401 0x8568ad36 probe_uart401 +EXPORT_SYMBOL sound/oss/uart401 0xecfdd9c9 unload_uart401 +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0910ee91 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1b3778d7 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1b41ed9a snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6e0cc209 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x70bc8119 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7115c08f snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x75784cd3 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7f85672a snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x916e2abe snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9313b9af snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x94e2fa41 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa8073da0 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb070b092 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb531df07 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe5dc8e07 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xeb3eb3f4 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xfd873bbe snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x31743777 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x7bd0b82f snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x9b405650 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xc2c97e05 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xcf3c6498 snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xd0bb9e0a snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xd5330641 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xdc0e29d1 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xf7432c20 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0x80b5117b snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x52fc594c snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x9292ca25 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xf17f3b6d snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x012b72a3 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1d9aa543 oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1fd8e490 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2ad68a39 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x457c2154 oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x58aaad0c oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x5b4f3702 oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x5b53040e oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x63f03d34 oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x90e6a81b oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9f02b7f3 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa2c0af7f oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa42da045 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa48cf7a3 oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xbb623ee2 oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd9ff9f15 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe472d2fd oxygen_pci_resume +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xecd558ed oxygen_pci_suspend +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf5b40a18 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xfbb0611b oxygen_write32 +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x06d4e9ef snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x3e9dbcfe snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x68da0971 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xa4b0a4b0 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xee26c14b snd_trident_stop_voice +EXPORT_SYMBOL sound/soc/codecs/snd-soc-uda134x 0xea85cdd5 uda134x_dai +EXPORT_SYMBOL sound/sound_firmware 0x39e3dd23 mod_firmware_load +EXPORT_SYMBOL sound/soundcore 0x06fb3be6 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x1df82141 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x49aef193 register_sound_special +EXPORT_SYMBOL sound/soundcore 0x6913b239 sound_class +EXPORT_SYMBOL sound/soundcore 0x6f49f6dc register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xaba54682 register_sound_midi +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x162035ac snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xa0493727 snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xc3e9fdd0 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xcda77f2f snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xd265b413 snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xdd8a86b5 snd_emux_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x131fbd17 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x3f835418 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x5e2a5655 snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9f2c299c snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xb9bdb5f8 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xc60284be snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xf02dfdcb __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xf39b8b68 snd_util_mem_avail +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x9c7e3221 snd_usb_create_midi_interface +EXPORT_SYMBOL sound/usb/snd-usb-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x1bb5e46f dm_mem_cache_alloc +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x1ed16c40 dm_mem_cache_client_create +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x5bf6330b dm_mem_cache_client_destroy +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x729e1a76 dm_mem_cache_free +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x920a7a41 dm_message_parse +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x96944a3d dm_mem_cache_grow +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0xa16c6711 dm_mem_cache_shrink +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x793238f1 lirc_get_pdata +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x9b2782c8 lirc_register_driver +EXPORT_SYMBOL vmlinux 0x00000000 per_cpu__softirq_work_list +EXPORT_SYMBOL vmlinux 0x002852b3 locks_init_lock +EXPORT_SYMBOL vmlinux 0x002e62fd i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0x00393203 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x00474d7b netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x004bc308 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x006c5cd4 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x007e2390 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x00978af1 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x009d258f _write_lock +EXPORT_SYMBOL vmlinux 0x00b0983f blk_register_region +EXPORT_SYMBOL vmlinux 0x00b2fd99 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x010fc41e uart_suspend_port +EXPORT_SYMBOL vmlinux 0x01254e0f phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x0132d7ba dcache_dir_open +EXPORT_SYMBOL vmlinux 0x014b8e1c sk_wait_data +EXPORT_SYMBOL vmlinux 0x016a08fd rdmsr_on_cpus +EXPORT_SYMBOL vmlinux 0x016c29a8 open_by_devnum +EXPORT_SYMBOL vmlinux 0x0186d073 percpu_counter_set +EXPORT_SYMBOL vmlinux 0x01900255 nla_append +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x01a4aab6 set_irq_chip_data +EXPORT_SYMBOL vmlinux 0x01b0bf82 register_sysrq_key +EXPORT_SYMBOL vmlinux 0x01d19038 acpi_enable_subsystem +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x0237b57a arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x0256389f bit_waitqueue +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x0272ff3d keyring_clear +EXPORT_SYMBOL vmlinux 0x029444f0 native_read_tsc +EXPORT_SYMBOL vmlinux 0x0298d368 kobject_init +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02a976f8 nf_reinject +EXPORT_SYMBOL vmlinux 0x02aff2f4 acpi_install_gpe_handler +EXPORT_SYMBOL vmlinux 0x02b0d359 mmc_request_done +EXPORT_SYMBOL vmlinux 0x02b82f04 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0x02c40853 textsearch_unregister +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02e05da7 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x02ee8c0d netif_receive_skb +EXPORT_SYMBOL vmlinux 0x032ba55e simple_write_begin +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x033631f9 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x033fdf0a bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x0340d0e1 acpi_pci_osc_control_set +EXPORT_SYMBOL vmlinux 0x0340e0ae schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x03442c61 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x034e0218 dma_pool_free +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03b01bdc xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03c54ba1 pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x04077247 journal_start +EXPORT_SYMBOL vmlinux 0x04168ae3 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x041cb456 vfs_symlink +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x047fff6e force_sig +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x04b3026e vga_client_register +EXPORT_SYMBOL vmlinux 0x04d073c5 get_io_context +EXPORT_SYMBOL vmlinux 0x04d8c750 release_perfctr_nmi +EXPORT_SYMBOL vmlinux 0x04e1b5ce kmem_cache_size +EXPORT_SYMBOL vmlinux 0x0517b727 kern_path +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x053aa637 ethtool_op_get_rx_csum +EXPORT_SYMBOL vmlinux 0x055611e8 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x0568fe9a key_negate_and_link +EXPORT_SYMBOL vmlinux 0x058666b1 pci_disable_msix +EXPORT_SYMBOL vmlinux 0x0587956c nobh_writepage +EXPORT_SYMBOL vmlinux 0x058c2449 tty_register_driver +EXPORT_SYMBOL vmlinux 0x05b1c5ed tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x05e28d43 __first_cpu +EXPORT_SYMBOL vmlinux 0x05f41378 neigh_update +EXPORT_SYMBOL vmlinux 0x05f7cad7 alloc_etherdev_mq +EXPORT_SYMBOL vmlinux 0x06022d2a skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x06124bd5 unlock_new_inode +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x0643ba95 qdisc_list_del +EXPORT_SYMBOL vmlinux 0x067c8388 dquot_drop +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x0685d6d5 swiotlb_map_sg_attrs +EXPORT_SYMBOL vmlinux 0x068c7263 ioremap_cache +EXPORT_SYMBOL vmlinux 0x06a485f2 __krealloc +EXPORT_SYMBOL vmlinux 0x06a9a527 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x06acc8aa get_unmapped_area_prot +EXPORT_SYMBOL vmlinux 0x06d728b1 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x06fab991 alloc_pages_current +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x06fe8ef2 find_or_create_page +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x073dfa12 generate_resume_trace +EXPORT_SYMBOL vmlinux 0x076fc4e5 generic_writepages +EXPORT_SYMBOL vmlinux 0x07824f24 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x0796125f loop_register_transfer +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x0799c50a param_set_ulong +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07ad7ea3 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x07b95dad bioset_create +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x080c5546 key_task_permission +EXPORT_SYMBOL vmlinux 0x080e8236 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x0824d939 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x0830e278 read_dev_sector +EXPORT_SYMBOL vmlinux 0x084fd1cd grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x0861931f tty_throttle +EXPORT_SYMBOL vmlinux 0x08631fa9 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0x08687f62 rfkill_blocked +EXPORT_SYMBOL vmlinux 0x086d6f66 swiotlb_dma_mapping_error +EXPORT_SYMBOL vmlinux 0x088cfd52 mutex_unlock +EXPORT_SYMBOL vmlinux 0x08d66a3a warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x0902d72c i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x09050a97 pci_pme_capable +EXPORT_SYMBOL vmlinux 0x0933aae1 efi_enabled +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x0952d527 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x098431ba acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09aaff40 md_write_end +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09db5c4c kset_unregister +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a347d61 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x0a63f40c eth_change_mtu +EXPORT_SYMBOL vmlinux 0x0a9423b0 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0ae7508b scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0x0aec4ff1 sock_no_bind +EXPORT_SYMBOL vmlinux 0x0b0cedab agp_generic_type_to_mask_type +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b271877 mb_cache_shrink +EXPORT_SYMBOL vmlinux 0x0b3b5f40 pci_dev_driver +EXPORT_SYMBOL vmlinux 0x0b61bd0b security_inode_init_security +EXPORT_SYMBOL vmlinux 0x0b6c1009 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x0b6eba81 noop_qdisc +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0bc09b83 arp_create +EXPORT_SYMBOL vmlinux 0x0bd3083f alloc_hippi_dev +EXPORT_SYMBOL vmlinux 0x0bf7dbc4 wireless_spy_update +EXPORT_SYMBOL vmlinux 0x0c19a4d3 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x0c278d59 scsi_print_command +EXPORT_SYMBOL vmlinux 0x0c3204c9 pci_find_device +EXPORT_SYMBOL vmlinux 0x0c38207a have_submounts +EXPORT_SYMBOL vmlinux 0x0c3efe93 pnp_register_driver +EXPORT_SYMBOL vmlinux 0x0c502002 rwsem_wake +EXPORT_SYMBOL vmlinux 0x0c637b70 __blk_end_request +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c6e8beb kmem_cache_create +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0c923b7b mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x0ca7b7a8 acpi_check_region +EXPORT_SYMBOL vmlinux 0x0ca80d3b read_cache_page +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cb83f6d fb_set_suspend +EXPORT_SYMBOL vmlinux 0x0cc24803 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x0cccaa92 sget +EXPORT_SYMBOL vmlinux 0x0cd7a14f end_page_writeback +EXPORT_SYMBOL vmlinux 0x0d0456bf __kfree_skb +EXPORT_SYMBOL vmlinux 0x0d057fd1 netlink_dump_start +EXPORT_SYMBOL vmlinux 0x0d26a76d _write_lock_irq +EXPORT_SYMBOL vmlinux 0x0d3dda14 acpi_get_type +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d648f7e acpi_unlock_ac_dir +EXPORT_SYMBOL vmlinux 0x0d8251df mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x0d9e36e6 misc_deregister +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0dbf8cda splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x0dccfd57 dcache_dir_close +EXPORT_SYMBOL vmlinux 0x0e1ce6a9 acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0x0e20e5d4 framebuffer_release +EXPORT_SYMBOL vmlinux 0x0e34944a blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0x0e52592a panic +EXPORT_SYMBOL vmlinux 0x0e6248ab ip6_route_output +EXPORT_SYMBOL vmlinux 0x0e73c19b journal_lock_updates +EXPORT_SYMBOL vmlinux 0x0e83fea1 del_timer_sync +EXPORT_SYMBOL vmlinux 0x0e8eb347 serio_open +EXPORT_SYMBOL vmlinux 0x0ecc21df dma_supported +EXPORT_SYMBOL vmlinux 0x0ecfb721 ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x0f01e39d ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x0f0c57eb pci_iounmap +EXPORT_SYMBOL vmlinux 0x0f10ae66 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x0f1ef871 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x0f233373 __scsi_put_command +EXPORT_SYMBOL vmlinux 0x0f96f0e1 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x0faf0e4e generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x0fc5e8eb radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0x0fcab50e blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x0fd00a68 acpi_clear_event +EXPORT_SYMBOL vmlinux 0x0ff09672 take_over_console +EXPORT_SYMBOL vmlinux 0x0ff2b602 slhc_compress +EXPORT_SYMBOL vmlinux 0x0ffa8131 genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0x10023be8 audit_log_start +EXPORT_SYMBOL vmlinux 0x10196393 ip_ct_attach +EXPORT_SYMBOL vmlinux 0x102928f4 lease_modify +EXPORT_SYMBOL vmlinux 0x103f1c8d __scm_send +EXPORT_SYMBOL vmlinux 0x1055423e bioset_integrity_free +EXPORT_SYMBOL vmlinux 0x105e2727 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x1072a394 csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x107d5757 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x10870401 sock_wfree +EXPORT_SYMBOL vmlinux 0x108e8985 param_get_uint +EXPORT_SYMBOL vmlinux 0x109018ca dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x10ba6571 nf_register_hook +EXPORT_SYMBOL vmlinux 0x10de57ac skb_store_bits +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x1106dbe9 should_remove_suid +EXPORT_SYMBOL vmlinux 0x1113c9e0 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x114ed1ce schedule_work_on +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x116c586a dquot_alloc +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x1181084f splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x1194b712 xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0x1195e33e phy_connect +EXPORT_SYMBOL vmlinux 0x119863a3 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x11a18b14 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x11b0d555 pci_target_state +EXPORT_SYMBOL vmlinux 0x11b2c3b7 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x11c0586b xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x122106a3 elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x1221f5bf __inet6_hash +EXPORT_SYMBOL vmlinux 0x12368737 iunique +EXPORT_SYMBOL vmlinux 0x1265b3ed xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x1269c76c compat_nf_setsockopt +EXPORT_SYMBOL vmlinux 0x126fa576 skb_gso_segment +EXPORT_SYMBOL vmlinux 0x12860698 input_free_device +EXPORT_SYMBOL vmlinux 0x129bb39e bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x12ac13fb unregister_filesystem +EXPORT_SYMBOL vmlinux 0x12b0ca39 dst_destroy +EXPORT_SYMBOL vmlinux 0x12d0fd87 swiotlb_map_sg +EXPORT_SYMBOL vmlinux 0x12e4d315 netif_rx_ni +EXPORT_SYMBOL vmlinux 0x12f10736 udplite_table +EXPORT_SYMBOL vmlinux 0x12f2b4be d_prune_aliases +EXPORT_SYMBOL vmlinux 0x12fe7dcb dentry_unhash +EXPORT_SYMBOL vmlinux 0x134019cb directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0x134816fa kset_register +EXPORT_SYMBOL vmlinux 0x135c2168 make_bad_inode +EXPORT_SYMBOL vmlinux 0x136ab238 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x1378e714 acpi_video_display_switch_support +EXPORT_SYMBOL vmlinux 0x138a78d1 set_current_groups +EXPORT_SYMBOL vmlinux 0x13d08da4 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x13e5019d scsi_host_set_state +EXPORT_SYMBOL vmlinux 0x13f14cb3 bio_pair_release +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x14105c88 bdput +EXPORT_SYMBOL vmlinux 0x1430e6e0 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x143ed8d9 generic_setlease +EXPORT_SYMBOL vmlinux 0x143f79d7 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x14af0cf7 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x15592650 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x1562831d inet_addr_type +EXPORT_SYMBOL vmlinux 0x1577d989 bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x15801eda input_set_capability +EXPORT_SYMBOL vmlinux 0x15ac1ccc cad_pid +EXPORT_SYMBOL vmlinux 0x15c4ebb4 current_fs_time +EXPORT_SYMBOL vmlinux 0x15e8ac92 journal_ack_err +EXPORT_SYMBOL vmlinux 0x15ef2dd9 kfifo_free +EXPORT_SYMBOL vmlinux 0x160ea4c8 sfi_disabled +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x163c5e39 twl4030_i2c_read +EXPORT_SYMBOL vmlinux 0x1675606f bad_dma_address +EXPORT_SYMBOL vmlinux 0x167aae04 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x167e7f9d __get_user_1 +EXPORT_SYMBOL vmlinux 0x1691f558 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x169a6438 bioset_free +EXPORT_SYMBOL vmlinux 0x16a35878 _read_unlock +EXPORT_SYMBOL vmlinux 0x16b44c44 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x16eaa758 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x170c25ee acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x175b816c dquot_free_space +EXPORT_SYMBOL vmlinux 0x178d5adf node_data +EXPORT_SYMBOL vmlinux 0x17a7204d xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x17c115ae scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x17c31930 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x17c4f5e1 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x17c85a66 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x17d0ef2d set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x17ff4469 bitmap_unplug +EXPORT_SYMBOL vmlinux 0x181900d4 tcf_action_exec +EXPORT_SYMBOL vmlinux 0x181b6ff2 mempool_resize +EXPORT_SYMBOL vmlinux 0x1823af9b skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL vmlinux 0x18602107 scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x18688c9f tcp_connect +EXPORT_SYMBOL vmlinux 0x186d64a4 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x18771395 blk_get_request +EXPORT_SYMBOL vmlinux 0x188c0706 phy_device_create +EXPORT_SYMBOL vmlinux 0x188eaa57 vm_map_ram +EXPORT_SYMBOL vmlinux 0x189b6bac memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x18ac8118 simple_release_fs +EXPORT_SYMBOL vmlinux 0x18b72573 register_kmmio_probe +EXPORT_SYMBOL vmlinux 0x18baa56a blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x18c93935 napi_skb_finish +EXPORT_SYMBOL vmlinux 0x18cc50e1 k8_northbridges +EXPORT_SYMBOL vmlinux 0x18e8401d proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x18f346f6 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x18fdec86 alloc_fddidev +EXPORT_SYMBOL vmlinux 0x190c3d2b dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x19204ade get_phy_id +EXPORT_SYMBOL vmlinux 0x1924fc98 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x19377a59 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x19391763 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x1943386e journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x19723ba3 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x1976bc16 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x1985ed3c prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19b4bb0a dm_table_unplug_all +EXPORT_SYMBOL vmlinux 0x19cbf9ba kmem_cache_name +EXPORT_SYMBOL vmlinux 0x19d15fda tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x19d5d20a acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0x1a218de6 fb_show_logo +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a75caa3 _read_lock +EXPORT_SYMBOL vmlinux 0x1a788a27 tcf_hash_create +EXPORT_SYMBOL vmlinux 0x1a893cb6 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x1a8a845e idle_nomwait +EXPORT_SYMBOL vmlinux 0x1abe5069 simple_write_end +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1afec1b6 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b0c7ebd backlight_force_update +EXPORT_SYMBOL vmlinux 0x1b4809a0 get_fs_type +EXPORT_SYMBOL vmlinux 0x1b4d91bb ethtool_op_get_ufo +EXPORT_SYMBOL vmlinux 0x1b59306c sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b753783 kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x1b89419f add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b9981cc set_irq_wake +EXPORT_SYMBOL vmlinux 0x1b9c88a5 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1ba4cf1f nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x1bade9ea uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x1baf36cb inode_needs_sync +EXPORT_SYMBOL vmlinux 0x1bcc1369 pipe_lock +EXPORT_SYMBOL vmlinux 0x1bd53af4 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0x1c1af916 set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x1c5f1281 d_alloc_name +EXPORT_SYMBOL vmlinux 0x1c61d98e sock_release +EXPORT_SYMBOL vmlinux 0x1c7690da fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x1c8a04b0 acpi_reset +EXPORT_SYMBOL vmlinux 0x1c8a5d6b default_file_splice_read +EXPORT_SYMBOL vmlinux 0x1cb01d7b dquot_claim_space +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1ccc8a2b set_page_dirty +EXPORT_SYMBOL vmlinux 0x1cefe352 wait_for_completion +EXPORT_SYMBOL vmlinux 0x1cfdffdf pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x1d0a33d5 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x1d2b6b8a journal_start_commit +EXPORT_SYMBOL vmlinux 0x1d2e87c6 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x1d66722a ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x1d6d1737 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x1da550f1 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x1db7706b __copy_user_nocache +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dca153d bio_endio +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1de7fa1c dev_gro_receive +EXPORT_SYMBOL vmlinux 0x1dffd862 dma_pool_create +EXPORT_SYMBOL vmlinux 0x1e0125de d_delete +EXPORT_SYMBOL vmlinux 0x1e0c2be4 ioremap_wc +EXPORT_SYMBOL vmlinux 0x1e2e427f cpumask_next_and +EXPORT_SYMBOL vmlinux 0x1e41a689 writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x1e49255a iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0x1e66f167 pci_match_id +EXPORT_SYMBOL vmlinux 0x1e684874 thaw_bdev +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e72b042 complete_request_key +EXPORT_SYMBOL vmlinux 0x1e9e1211 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x1ea59331 __ps2_command +EXPORT_SYMBOL vmlinux 0x1eca9935 nf_ct_attach +EXPORT_SYMBOL vmlinux 0x1ee31fa9 sock_no_accept +EXPORT_SYMBOL vmlinux 0x1efe283f __cap_full_set +EXPORT_SYMBOL vmlinux 0x1f0768db input_unregister_device +EXPORT_SYMBOL vmlinux 0x1f27d6d7 _write_unlock +EXPORT_SYMBOL vmlinux 0x1f75e552 pnp_stop_dev +EXPORT_SYMBOL vmlinux 0x1f7f72d6 inet_frag_evictor +EXPORT_SYMBOL vmlinux 0x1fae143d jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x1fb929a1 qdisc_reset +EXPORT_SYMBOL vmlinux 0x1fe99a03 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x1fedf0f4 __request_region +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 0x200effc8 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x20385c58 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x204857ac proc_dostring +EXPORT_SYMBOL vmlinux 0x204ce359 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x208739f6 acpi_load_table +EXPORT_SYMBOL vmlinux 0x20a1bc75 vfs_dq_drop +EXPORT_SYMBOL vmlinux 0x20eadeb6 ip_compute_csum +EXPORT_SYMBOL vmlinux 0x20f9322a idr_pre_get +EXPORT_SYMBOL vmlinux 0x212983e7 d_path +EXPORT_SYMBOL vmlinux 0x2158f747 i2c_master_recv +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x216bc0a9 mdiobus_write +EXPORT_SYMBOL vmlinux 0x2175bb21 __napi_schedule +EXPORT_SYMBOL vmlinux 0x21945706 sk_dst_check +EXPORT_SYMBOL vmlinux 0x21b33761 i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0x21b91839 ndisc_build_skb +EXPORT_SYMBOL vmlinux 0x21bd42c1 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x21c0be6f jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x21d50a51 tcf_hash_release +EXPORT_SYMBOL vmlinux 0x21dbff4b compat_sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x21e0ea22 acpi_get_id +EXPORT_SYMBOL vmlinux 0x21e5679c copy_user_generic +EXPORT_SYMBOL vmlinux 0x21e56b79 serio_rescan +EXPORT_SYMBOL vmlinux 0x22136fcc pagevec_lookup +EXPORT_SYMBOL vmlinux 0x2215c9e6 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x2232cc29 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x22473289 km_report +EXPORT_SYMBOL vmlinux 0x2259a882 bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x226d4cd2 unload_nls +EXPORT_SYMBOL vmlinux 0x226e86a9 audit_log +EXPORT_SYMBOL vmlinux 0x2286a483 elv_queue_empty +EXPORT_SYMBOL vmlinux 0x2288378f system_state +EXPORT_SYMBOL vmlinux 0x229c82f6 genphy_resume +EXPORT_SYMBOL vmlinux 0x22a73912 __tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22b6533b xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x22be279b nla_reserve +EXPORT_SYMBOL vmlinux 0x22da294a sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x22e87bcd arp_find +EXPORT_SYMBOL vmlinux 0x2310a731 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x232170c4 inode_setattr +EXPORT_SYMBOL vmlinux 0x23269a13 strict_strtoul +EXPORT_SYMBOL vmlinux 0x233c22cc simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x234509f3 strncat +EXPORT_SYMBOL vmlinux 0x23498e11 agp_generic_alloc_pages +EXPORT_SYMBOL vmlinux 0x235d16e0 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x236c8c64 memcpy +EXPORT_SYMBOL vmlinux 0x23b99e92 node_states +EXPORT_SYMBOL vmlinux 0x23c8f257 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x23e4fe09 phy_print_status +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x240fa3c9 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x244695f9 __locks_copy_lock +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x24624544 ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x24679122 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x24686293 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x24a96205 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0x24cc5485 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x24d3f093 dev_driver_string +EXPORT_SYMBOL vmlinux 0x24e4bb01 down_write_trylock +EXPORT_SYMBOL vmlinux 0x24ead54f udp_sendmsg +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x2501563d simple_lookup +EXPORT_SYMBOL vmlinux 0x25098555 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x250cebd8 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x254a4fe5 unlock_super +EXPORT_SYMBOL vmlinux 0x257e4584 ethtool_op_set_sg +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258355b4 fb_find_best_mode +EXPORT_SYMBOL vmlinux 0x258a32ec tcf_hash_search +EXPORT_SYMBOL vmlinux 0x259d0854 security_task_getsecid +EXPORT_SYMBOL vmlinux 0x25e1bbfc try_to_release_page +EXPORT_SYMBOL vmlinux 0x25ec1b28 strlen +EXPORT_SYMBOL vmlinux 0x25ef726e md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x26126a4b call_usermodehelper_freeinfo +EXPORT_SYMBOL vmlinux 0x26513c12 register_console +EXPORT_SYMBOL vmlinux 0x266c7f28 uart_register_driver +EXPORT_SYMBOL vmlinux 0x266e5f40 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x267fc65b __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x26800b88 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x2685c3d7 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x26b4209f ethtool_op_set_tx_hw_csum +EXPORT_SYMBOL vmlinux 0x26c8dd88 tcp4_gro_complete +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x2727da5d _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x272d394e mtrr_del +EXPORT_SYMBOL vmlinux 0x273f066e _write_unlock_irq +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x278a7b10 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x27ad7d2c tcp_poll +EXPORT_SYMBOL vmlinux 0x27aeea2b set_security_override +EXPORT_SYMBOL vmlinux 0x27b35c51 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c33efe csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x27c61ece qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x27d298ee setup_arg_pages +EXPORT_SYMBOL vmlinux 0x27d52d5c blk_requeue_request +EXPORT_SYMBOL vmlinux 0x27edd326 skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x2804ea8f __free_pages +EXPORT_SYMBOL vmlinux 0x282205a3 dev_remove_pack +EXPORT_SYMBOL vmlinux 0x28278703 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x284187c3 lro_vlan_hwaccel_receive_skb +EXPORT_SYMBOL vmlinux 0x28475687 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x28495076 misc_register +EXPORT_SYMBOL vmlinux 0x2849f477 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x285135e6 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x2851a9cd vlan_gro_receive +EXPORT_SYMBOL vmlinux 0x285ac517 strict_strtoll +EXPORT_SYMBOL vmlinux 0x28760b98 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x2876a6d3 memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28b530df bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x28b91404 __alloc_skb +EXPORT_SYMBOL vmlinux 0x28daa2f6 lro_flush_all +EXPORT_SYMBOL vmlinux 0x290ff5f2 mmc_release_host +EXPORT_SYMBOL vmlinux 0x292093f4 native_rdmsr_safe_regs +EXPORT_SYMBOL vmlinux 0x2931df20 unlock_buffer +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x296a21d7 ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x297305f6 vfs_dq_transfer +EXPORT_SYMBOL vmlinux 0x2997f4ea tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x29bd4c46 __cap_init_eff_set +EXPORT_SYMBOL vmlinux 0x29d01745 ip_dev_find +EXPORT_SYMBOL vmlinux 0x29efe000 pcim_iomap +EXPORT_SYMBOL vmlinux 0x2a09737f remove_proc_entry +EXPORT_SYMBOL vmlinux 0x2a0a80f0 blk_run_queue +EXPORT_SYMBOL vmlinux 0x2a1f81f0 generic_readlink +EXPORT_SYMBOL vmlinux 0x2a25ca34 inet_frag_find +EXPORT_SYMBOL vmlinux 0x2a2f9534 dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a3720f6 __breadahead +EXPORT_SYMBOL vmlinux 0x2a3a5158 tcf_exts_change +EXPORT_SYMBOL vmlinux 0x2a3c57ef neigh_destroy +EXPORT_SYMBOL vmlinux 0x2a53fa0b journal_check_used_features +EXPORT_SYMBOL vmlinux 0x2a62bba9 get_sb_ns +EXPORT_SYMBOL vmlinux 0x2a9df173 generic_setxattr +EXPORT_SYMBOL vmlinux 0x2ab5633d netlink_ack +EXPORT_SYMBOL vmlinux 0x2ae232ad vc_resize +EXPORT_SYMBOL vmlinux 0x2aeb2800 mempool_create_node +EXPORT_SYMBOL vmlinux 0x2b006994 netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b2392a6 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x2b321440 pci_find_bus +EXPORT_SYMBOL vmlinux 0x2b34b998 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x2b368814 swiotlb_dma_supported +EXPORT_SYMBOL vmlinux 0x2b4a09cd tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x2b5cb285 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x2b6cd28e scsi_device_resume +EXPORT_SYMBOL vmlinux 0x2b92e326 blk_plug_device +EXPORT_SYMBOL vmlinux 0x2ba1d9e0 fb_set_var +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bb55d6e acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x2bb6fde2 __kfifo_put +EXPORT_SYMBOL vmlinux 0x2bbd9724 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x2bed8b4e sk_stream_write_space +EXPORT_SYMBOL vmlinux 0x2bfeb410 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x2c182cf8 compat_ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x2c23f3b4 simple_rmdir +EXPORT_SYMBOL vmlinux 0x2c271bdd tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x2c5749e6 acpi_clear_gpe +EXPORT_SYMBOL vmlinux 0x2c5fe1aa scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x2c985869 names_cachep +EXPORT_SYMBOL vmlinux 0x2ca1c669 __page_symlink +EXPORT_SYMBOL vmlinux 0x2cbf5cb6 file_fsync +EXPORT_SYMBOL vmlinux 0x2ccbc935 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x2d01fa68 ethtool_op_set_tx_csum +EXPORT_SYMBOL vmlinux 0x2d43e70e swiotlb_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x2d47717f scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0x2d4c9b46 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x2d5528c9 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x2d6c66a9 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x2d6cd1d3 __nla_reserve +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2da28dce serial8250_register_port +EXPORT_SYMBOL vmlinux 0x2dbafbe3 pcibios_align_resource +EXPORT_SYMBOL vmlinux 0x2dca6243 ether_setup +EXPORT_SYMBOL vmlinux 0x2dd16564 arch_register_cpu +EXPORT_SYMBOL vmlinux 0x2de0ba4b bio_free +EXPORT_SYMBOL vmlinux 0x2de89f56 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x2dedc4c2 acpi_format_exception +EXPORT_SYMBOL vmlinux 0x2def7f76 rtc_cmos_write +EXPORT_SYMBOL vmlinux 0x2df43276 dev_mc_add +EXPORT_SYMBOL vmlinux 0x2e005dd1 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x2e03e143 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0x2e06111d cpu_present_mask +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e308acb mmc_host_disable +EXPORT_SYMBOL vmlinux 0x2e4a39f8 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x2e599889 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x2e6a51c2 ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0x2e78088c truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x2e9183f4 tc_classify +EXPORT_SYMBOL vmlinux 0x2e97a729 idr_remove +EXPORT_SYMBOL vmlinux 0x2ea75160 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x2eb9a0e8 _read_lock_irq +EXPORT_SYMBOL vmlinux 0x2ed2b791 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x2f10fa6d pci_do_scan_bus +EXPORT_SYMBOL vmlinux 0x2f1791a8 ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x2f1801cc input_unfilter_device +EXPORT_SYMBOL vmlinux 0x2f352f95 icmp_send +EXPORT_SYMBOL vmlinux 0x2f4e42f8 call_usermodehelper_setfns +EXPORT_SYMBOL vmlinux 0x2f7fbcc2 vfs_statfs +EXPORT_SYMBOL vmlinux 0x2f9877ca scsi_register +EXPORT_SYMBOL vmlinux 0x2f9905c0 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x2fa5a500 memcmp +EXPORT_SYMBOL vmlinux 0x2fa94957 cfb_copyarea +EXPORT_SYMBOL vmlinux 0x2fc52982 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0x2fd1d7ad __blk_end_request_all +EXPORT_SYMBOL vmlinux 0x2ff063b5 acpi_get_name +EXPORT_SYMBOL vmlinux 0x30123eb5 icmpv6_statistics +EXPORT_SYMBOL vmlinux 0x3017ab92 pci_save_state +EXPORT_SYMBOL vmlinux 0x30226ddf agp_device_command +EXPORT_SYMBOL vmlinux 0x306ea15f security_file_permission +EXPORT_SYMBOL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL vmlinux 0x309ea809 journal_wipe +EXPORT_SYMBOL vmlinux 0x30bb765e elv_rb_find +EXPORT_SYMBOL vmlinux 0x30c5e4e5 load_nls_default +EXPORT_SYMBOL vmlinux 0x30e6f25c pci_select_bars +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30fa6542 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x30ff8206 sock_i_ino +EXPORT_SYMBOL vmlinux 0x30ffe1f7 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x31121fe1 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x31445261 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x317fbf4d bio_unmap_user +EXPORT_SYMBOL vmlinux 0x3186c922 journal_get_create_access +EXPORT_SYMBOL vmlinux 0x318e0d53 journal_dirty_data +EXPORT_SYMBOL vmlinux 0x31941e95 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x3199b435 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x319a7d71 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x31afbb5a lookup_bdev +EXPORT_SYMBOL vmlinux 0x31b31f5c csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x31de3976 clip_tbl_hook +EXPORT_SYMBOL vmlinux 0x31e76b57 recalibrate_cpu_khz +EXPORT_SYMBOL vmlinux 0x31ebadcd in_group_p +EXPORT_SYMBOL vmlinux 0x31f12a0b tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x32015c9a __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x320e567e dquot_initialize +EXPORT_SYMBOL vmlinux 0x322eaff7 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x3236cc8d nf_log_register +EXPORT_SYMBOL vmlinux 0x3285cc48 param_set_uint +EXPORT_SYMBOL vmlinux 0x328b09ef sock_no_connect +EXPORT_SYMBOL vmlinux 0x328bd7ce set_pages_array_wb +EXPORT_SYMBOL vmlinux 0x32a5d712 scsi_device_put +EXPORT_SYMBOL vmlinux 0x32ceb937 ethtool_op_get_tso +EXPORT_SYMBOL vmlinux 0x32e8b5f2 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x32f48972 bio_map_kern +EXPORT_SYMBOL vmlinux 0x33325024 dquot_destroy +EXPORT_SYMBOL vmlinux 0x33723412 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0x338a5d85 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x338e0a94 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x33923ad5 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x339e93ab thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page +EXPORT_SYMBOL vmlinux 0x33ccdbc9 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x33d92f9a prepare_to_wait +EXPORT_SYMBOL vmlinux 0x342c6161 seq_read +EXPORT_SYMBOL vmlinux 0x3457cb68 param_set_long +EXPORT_SYMBOL vmlinux 0x348f1ebb tty_kref_put +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a3da5d tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x34b068b4 dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0x34b1a873 rfkill_unregister +EXPORT_SYMBOL vmlinux 0x34c87e78 pci_request_regions +EXPORT_SYMBOL vmlinux 0x34cbcf38 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x3506ff98 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x351b9245 find_inode_number +EXPORT_SYMBOL vmlinux 0x352acc59 vm_insert_page +EXPORT_SYMBOL vmlinux 0x35370a79 scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0x3540685f tty_write_room +EXPORT_SYMBOL vmlinux 0x35767e28 dma_sync_wait +EXPORT_SYMBOL vmlinux 0x357a6a68 release_firmware +EXPORT_SYMBOL vmlinux 0x357beb40 sock_setsockopt +EXPORT_SYMBOL vmlinux 0x3582ed17 vfs_stat +EXPORT_SYMBOL vmlinux 0x35aca67b disk_stack_limits +EXPORT_SYMBOL vmlinux 0x35b0650f vsnprintf +EXPORT_SYMBOL vmlinux 0x35bb63d5 security_path_rename +EXPORT_SYMBOL vmlinux 0x35c2ba9e refrigerator +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x360df0e8 tcf_hash_check +EXPORT_SYMBOL vmlinux 0x36139a51 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x362d13a2 arp_broken_ops +EXPORT_SYMBOL vmlinux 0x36346065 udp_prot +EXPORT_SYMBOL vmlinux 0x364e987b simple_set_mnt +EXPORT_SYMBOL vmlinux 0x3656bf5a lock_kernel +EXPORT_SYMBOL vmlinux 0x3681ef0a ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL vmlinux 0x369ab685 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x36cc5d18 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x36e2a902 write_inode_now +EXPORT_SYMBOL vmlinux 0x36e6596a posix_acl_permission +EXPORT_SYMBOL vmlinux 0x36f254f1 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x36ffcadb scsi_ioctl +EXPORT_SYMBOL vmlinux 0x3701a196 csum_partial_copy_to_user +EXPORT_SYMBOL vmlinux 0x370961e2 kill_pid +EXPORT_SYMBOL vmlinux 0x37237d01 vfs_quota_disable +EXPORT_SYMBOL vmlinux 0x37267678 pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0x3726de7f tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x372baafb get_super +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x374ffc99 pv_cpu_ops +EXPORT_SYMBOL vmlinux 0x375107cc inode_get_bytes +EXPORT_SYMBOL vmlinux 0x375450f4 alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x375465a7 radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x3796cb8f eth_mac_addr +EXPORT_SYMBOL vmlinux 0x37b17ce6 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x37bdc039 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37cbfe63 check_disk_size_change +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x38119ddc seq_release +EXPORT_SYMBOL vmlinux 0x3824b191 jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0x383eb3f8 dm_table_event +EXPORT_SYMBOL vmlinux 0x3842f1c4 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x384d5b13 ip_mc_rejoin_group +EXPORT_SYMBOL vmlinux 0x384de3c1 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x3859349b agp_generic_alloc_page +EXPORT_SYMBOL vmlinux 0x387b2072 block_read_full_page +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38aacb00 bd_set_size +EXPORT_SYMBOL vmlinux 0x38b92846 llc_remove_pack +EXPORT_SYMBOL vmlinux 0x38cab31c init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x38f33bed dump_fpu +EXPORT_SYMBOL vmlinux 0x38f86aab put_page +EXPORT_SYMBOL vmlinux 0x39007d37 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x394d3a06 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x39770be6 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x39808c97 vfs_getattr +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x39e0b4ad cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x39f9b80f file_permission +EXPORT_SYMBOL vmlinux 0x3a066d96 thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0x3a2204c6 security_netlink_recv +EXPORT_SYMBOL vmlinux 0x3a23f168 compat_mc_setsockopt +EXPORT_SYMBOL vmlinux 0x3a2bf2af xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x3a347929 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x3a541329 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x3a61846f nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x3a691b88 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x3a934e48 dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x3a93b91d tty_port_hangup +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3aa1dbcf _spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x3ae831b6 kref_init +EXPORT_SYMBOL vmlinux 0x3b0d63c8 agp_find_bridge +EXPORT_SYMBOL vmlinux 0x3b27f527 slow_work_enqueue +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b342b92 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x3b745a37 slow_work_register_user +EXPORT_SYMBOL vmlinux 0x3b80b9b4 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x3b94f41d key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x3bb5556c mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x3bc6397d skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x3bc89f66 path_put +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bf79888 dm_io_client_resize +EXPORT_SYMBOL vmlinux 0x3bf9118b generic_listxattr +EXPORT_SYMBOL vmlinux 0x3c0232a3 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x3c2c5af5 sprintf +EXPORT_SYMBOL vmlinux 0x3c340419 release_sock +EXPORT_SYMBOL vmlinux 0x3c57e352 journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x3c7227bf complete_all +EXPORT_SYMBOL vmlinux 0x3c87116b scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x3c8cb552 cdrom_open +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3cc0a3bb xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x3cc3fd54 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3d071275 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x3d13668a scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x3d1c5553 sock_map_fd +EXPORT_SYMBOL vmlinux 0x3d23e3a0 register_cdrom +EXPORT_SYMBOL vmlinux 0x3d3b780b i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x3d4031ca __devm_release_region +EXPORT_SYMBOL vmlinux 0x3d68bd4b flow_cache_genid +EXPORT_SYMBOL vmlinux 0x3d6f47c3 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x3d7c1ed7 msrs_alloc +EXPORT_SYMBOL vmlinux 0x3d80e712 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x3d85fe0d proto_register +EXPORT_SYMBOL vmlinux 0x3d8728bb memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x3d9b438b pci_get_class +EXPORT_SYMBOL vmlinux 0x3d9ee9f0 clear_page +EXPORT_SYMBOL vmlinux 0x3da171f9 pci_mem_start +EXPORT_SYMBOL vmlinux 0x3da5eb6d kfifo_alloc +EXPORT_SYMBOL vmlinux 0x3db2e258 radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x3dbba24a inode_init_always +EXPORT_SYMBOL vmlinux 0x3e1f073d wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x3e219de6 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x3e2401fe acpi_lock_ac_dir +EXPORT_SYMBOL vmlinux 0x3e2452f2 flush_signals +EXPORT_SYMBOL vmlinux 0x3e2ae3a8 acpi_release_global_lock +EXPORT_SYMBOL vmlinux 0x3e383385 nf_hooks +EXPORT_SYMBOL vmlinux 0x3e3abf82 bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e64968c napi_frags_skb +EXPORT_SYMBOL vmlinux 0x3e899c9d blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x3eab3156 journal_set_features +EXPORT_SYMBOL vmlinux 0x3eb2268f tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x3ec1d14e tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3efd3426 dm_table_put +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f1899f1 up +EXPORT_SYMBOL vmlinux 0x3f1cedad sock_create_kern +EXPORT_SYMBOL vmlinux 0x3f3b7ab7 audit_log_end +EXPORT_SYMBOL vmlinux 0x3f3fcfba pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f5c1eb9 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x3f5fe308 dquot_acquire +EXPORT_SYMBOL vmlinux 0x3f659ea3 read_cache_page_async +EXPORT_SYMBOL vmlinux 0x3f877bd6 alloc_disk_node +EXPORT_SYMBOL vmlinux 0x3f9bd5fe __register_binfmt +EXPORT_SYMBOL vmlinux 0x3fa1e9ec vfs_readlink +EXPORT_SYMBOL vmlinux 0x3fa913da strspn +EXPORT_SYMBOL vmlinux 0x3fcf826d bio_integrity_split +EXPORT_SYMBOL vmlinux 0x3fec048f sg_next +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x40576574 open_exec +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +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 0x40a992a3 unregister_console +EXPORT_SYMBOL vmlinux 0x40c0f1dc phy_disconnect +EXPORT_SYMBOL vmlinux 0x40c89d46 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0x4101bbde param_set_copystring +EXPORT_SYMBOL vmlinux 0x4108e69a fb_match_mode +EXPORT_SYMBOL vmlinux 0x41166725 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x41286647 set_pages_x +EXPORT_SYMBOL vmlinux 0x41344088 param_get_charp +EXPORT_SYMBOL vmlinux 0x41446b33 do_munmap +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x415ebde5 page_follow_link_light +EXPORT_SYMBOL vmlinux 0x416983d9 netdev_fix_features +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x4197418b ip_route_output_key +EXPORT_SYMBOL vmlinux 0x41a9c68d _spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x41b2930a icmpv6_send +EXPORT_SYMBOL vmlinux 0x41ce1139 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x42224298 sscanf +EXPORT_SYMBOL vmlinux 0x422ff42c sg_miter_start +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x426ae686 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0x4273d97b posix_test_lock +EXPORT_SYMBOL vmlinux 0x428f1877 flush_old_exec +EXPORT_SYMBOL vmlinux 0x4294beb0 blk_make_request +EXPORT_SYMBOL vmlinux 0x42981799 get_sb_pseudo +EXPORT_SYMBOL vmlinux 0x42a4bdf2 in_egroup_p +EXPORT_SYMBOL vmlinux 0x42aa2e12 redraw_screen +EXPORT_SYMBOL vmlinux 0x42acbf72 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x42be8e30 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x42c8de35 ioremap_nocache +EXPORT_SYMBOL vmlinux 0x42d71be2 kobject_set_name +EXPORT_SYMBOL vmlinux 0x42d95895 kill_fasync +EXPORT_SYMBOL vmlinux 0x42e0c277 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x42e4c8eb scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x42f39ed9 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x431310d5 __register_chrdev +EXPORT_SYMBOL vmlinux 0x431480fa fddi_change_mtu +EXPORT_SYMBOL vmlinux 0x4327f0d5 memset_io +EXPORT_SYMBOL vmlinux 0x4333eadb param_set_short +EXPORT_SYMBOL vmlinux 0x43385ad9 acpi_pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x434fa55c release_console_sem +EXPORT_SYMBOL vmlinux 0x435b566d _spin_unlock +EXPORT_SYMBOL vmlinux 0x436bf25d ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x43827980 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0x439d0346 __seq_open_private +EXPORT_SYMBOL vmlinux 0x43a772c4 tcp4_gro_receive +EXPORT_SYMBOL vmlinux 0x43ab66c3 param_array_get +EXPORT_SYMBOL vmlinux 0x43b0c9c3 preempt_schedule +EXPORT_SYMBOL vmlinux 0x43c58227 pci_restore_state +EXPORT_SYMBOL vmlinux 0x43ce22d2 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x43eb904e pnp_get_resource +EXPORT_SYMBOL vmlinux 0x43ec913a put_cmsg +EXPORT_SYMBOL vmlinux 0x44161c19 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x441b2600 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x4435b030 agp_backend_release +EXPORT_SYMBOL vmlinux 0x444779c4 nla_find +EXPORT_SYMBOL vmlinux 0x446e49a0 journal_force_commit +EXPORT_SYMBOL vmlinux 0x44940ca4 napi_complete +EXPORT_SYMBOL vmlinux 0x4495ae88 sk_alloc +EXPORT_SYMBOL vmlinux 0x449739f5 thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0x44aaf30f tsc_khz +EXPORT_SYMBOL vmlinux 0x44b1d0a9 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44d560e3 init_level4_pgt +EXPORT_SYMBOL vmlinux 0x44e2a393 pid_task +EXPORT_SYMBOL vmlinux 0x44e5cb4b inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44fe8d48 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x452f2279 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x45450063 mod_timer +EXPORT_SYMBOL vmlinux 0x4550ba8a register_cpu_notifier +EXPORT_SYMBOL vmlinux 0x455f4f99 pci_scan_slot +EXPORT_SYMBOL vmlinux 0x456e9f7b skb_copy +EXPORT_SYMBOL vmlinux 0x45704798 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x4575315d utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x458a8e3f devm_ioremap +EXPORT_SYMBOL vmlinux 0x45947727 param_array_set +EXPORT_SYMBOL vmlinux 0x45ad7443 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x45d11c43 down_interruptible +EXPORT_SYMBOL vmlinux 0x45d55543 down_write +EXPORT_SYMBOL vmlinux 0x45e190f3 km_query +EXPORT_SYMBOL vmlinux 0x46085e4f add_timer +EXPORT_SYMBOL vmlinux 0x4659b3ef ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x465a8156 scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0x4664daf6 filp_close +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x468cc6b1 kernel_read +EXPORT_SYMBOL vmlinux 0x46a7f9c5 nf_getsockopt +EXPORT_SYMBOL vmlinux 0x46b5dba9 input_unregister_handler +EXPORT_SYMBOL vmlinux 0x46bb60b8 open_bdev_exclusive +EXPORT_SYMBOL vmlinux 0x46c47fb6 __node_distance +EXPORT_SYMBOL vmlinux 0x46f0c15a generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x470bab24 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0x470caae2 xfrm_bundle_ok +EXPORT_SYMBOL vmlinux 0x471b65f1 md_done_sync +EXPORT_SYMBOL vmlinux 0x47489694 skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x4749be77 devm_free_irq +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x475f010b acpi_purge_cached_objects +EXPORT_SYMBOL vmlinux 0x477df28a jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x4785dea0 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x478d10b2 ht_destroy_irq +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47cb2f10 clear_inode +EXPORT_SYMBOL vmlinux 0x47dd8521 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x47e12960 dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x4813aaa6 vfs_mknod +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x481a4709 default_llseek +EXPORT_SYMBOL vmlinux 0x481cb9ab acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x482246c7 llc_mac_hdr_init +EXPORT_SYMBOL vmlinux 0x4833737f netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x4856b288 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486b6407 hweight64 +EXPORT_SYMBOL vmlinux 0x488f412a jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x489ec0b4 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0x48b751e6 pci_set_consistent_dma_mask +EXPORT_SYMBOL vmlinux 0x48d688e9 setup_new_exec +EXPORT_SYMBOL vmlinux 0x48d93400 alloc_pci_dev +EXPORT_SYMBOL vmlinux 0x48d934f7 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x4913ab7f simple_dir_operations +EXPORT_SYMBOL vmlinux 0x49439411 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x494e3393 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x498846e5 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x49da9a9a _read_unlock_bh +EXPORT_SYMBOL vmlinux 0x49db4787 scsi_scan_target +EXPORT_SYMBOL vmlinux 0x49e182c0 param_get_string +EXPORT_SYMBOL vmlinux 0x4a2bd97c dev_mc_sync +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a3d9696 wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0x4a44fadb journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x4a613dd1 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x4a98ab41 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x4aa3af9b serio_interrupt +EXPORT_SYMBOL vmlinux 0x4acd93d3 release_resource +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4afebbfc task_nice +EXPORT_SYMBOL vmlinux 0x4aff3068 tty_insert_flip_string +EXPORT_SYMBOL vmlinux 0x4b07e779 _spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL vmlinux 0x4b37574f journal_flush +EXPORT_SYMBOL vmlinux 0x4b541b7f tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x4b8d21ee tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x4b90f3f5 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x4ba5baa0 load_gs_index +EXPORT_SYMBOL vmlinux 0x4bb56d0c pci_set_master +EXPORT_SYMBOL vmlinux 0x4bbc3e5f pm_flags +EXPORT_SYMBOL vmlinux 0x4bbd5608 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x4bdf028e idr_find +EXPORT_SYMBOL vmlinux 0x4bfa779a d_obtain_alias +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c1b965c gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x4c2d0309 __secpath_destroy +EXPORT_SYMBOL vmlinux 0x4c4c956e nla_memcmp +EXPORT_SYMBOL vmlinux 0x4c5a6774 acpi_bus_add +EXPORT_SYMBOL vmlinux 0x4c6223ea pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x4c6ff041 add_preempt_count +EXPORT_SYMBOL vmlinux 0x4c86c2bd scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x4c89a6b5 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4d0542a4 sock_kfree_s +EXPORT_SYMBOL vmlinux 0x4d07bdfd tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x4d15ee74 bdi_register +EXPORT_SYMBOL vmlinux 0x4d171592 netif_napi_del +EXPORT_SYMBOL vmlinux 0x4d7f533d compat_sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x4d8e1a60 ps2_init +EXPORT_SYMBOL vmlinux 0x4d958d78 __serio_register_port +EXPORT_SYMBOL vmlinux 0x4db35772 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x4db67375 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dda726b match_strlcpy +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e100f60 _spin_unlock_irq +EXPORT_SYMBOL vmlinux 0x4e1f999e ethtool_op_set_ufo +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e52ab00 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x4e652525 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e79a42b blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x4ec7b977 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x4edd72f7 block_all_signals +EXPORT_SYMBOL vmlinux 0x4edf8824 otg_get_transceiver +EXPORT_SYMBOL vmlinux 0x4ee8263d register_quota_format +EXPORT_SYMBOL vmlinux 0x4f095458 mntput_no_expire +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f379b69 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x4f43320b unregister_netdevice +EXPORT_SYMBOL vmlinux 0x4f476e96 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x4f4dafdd skb_over_panic +EXPORT_SYMBOL vmlinux 0x4f5438c1 idle_halt +EXPORT_SYMBOL vmlinux 0x4f67091e send_sig_info +EXPORT_SYMBOL vmlinux 0x4f783f30 acpi_read +EXPORT_SYMBOL vmlinux 0x4fd3a29f tty_unregister_device +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4fedf2eb tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x4ff52ed9 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x5007d144 scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0x50097356 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x501e36f6 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x50269a18 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x5030350a blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x5039907c udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x503dfb38 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x50405b06 otg_set_transceiver +EXPORT_SYMBOL vmlinux 0x505c6c31 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x506746b6 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x50713101 kthread_create +EXPORT_SYMBOL vmlinux 0x507efb6b kill_litter_super +EXPORT_SYMBOL vmlinux 0x50b5cb2d idr_get_new_above +EXPORT_SYMBOL vmlinux 0x50bf49df vfs_quota_sync +EXPORT_SYMBOL vmlinux 0x50bfd97b i2c_verify_client +EXPORT_SYMBOL vmlinux 0x50c467b8 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x50d56018 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x50dc4e9c pci_assign_resource +EXPORT_SYMBOL vmlinux 0x50f27781 vfs_set_dqinfo +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x5142b2b9 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x51523189 vfs_write +EXPORT_SYMBOL vmlinux 0x515a2e8b dev_add_pack +EXPORT_SYMBOL vmlinux 0x5176e654 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x5187ac4b xen_store_evtchn +EXPORT_SYMBOL vmlinux 0x51af954e security_path_link +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51fc9993 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x52095e19 acpi_get_data +EXPORT_SYMBOL vmlinux 0x5252f304 __memcpy_toio +EXPORT_SYMBOL vmlinux 0x52760ca9 getnstimeofday +EXPORT_SYMBOL vmlinux 0x52a58c24 ifla_policy +EXPORT_SYMBOL vmlinux 0x52d46635 devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL vmlinux 0x52d91306 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x52df2e98 security_path_unlink +EXPORT_SYMBOL vmlinux 0x52e1ba21 cdev_del +EXPORT_SYMBOL vmlinux 0x52ebb126 param_get_ushort +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x53118d26 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x531b604e __virt_addr_valid +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x53583f05 do_truncate +EXPORT_SYMBOL vmlinux 0x53614667 ppp_register_channel +EXPORT_SYMBOL vmlinux 0x5364ce10 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x536ac0a0 generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x5389992b pci_enable_bridges +EXPORT_SYMBOL vmlinux 0x5392b227 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x53942098 poll_freewait +EXPORT_SYMBOL vmlinux 0x53a5962c scsi_host_put +EXPORT_SYMBOL vmlinux 0x53af7761 __bforget +EXPORT_SYMBOL vmlinux 0x53bcc899 bdget_disk +EXPORT_SYMBOL vmlinux 0x53c0767c sk_chk_filter +EXPORT_SYMBOL vmlinux 0x53c8a218 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x53d8be48 skb_push +EXPORT_SYMBOL vmlinux 0x53e0e035 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x53e3bd90 __page_cache_alloc +EXPORT_SYMBOL vmlinux 0x541e80c7 __netif_schedule +EXPORT_SYMBOL vmlinux 0x54290dc9 nla_validate +EXPORT_SYMBOL vmlinux 0x543798e1 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x5460aa83 log_start_commit +EXPORT_SYMBOL vmlinux 0x54782a2c mpage_readpage +EXPORT_SYMBOL vmlinux 0x54790ab3 i2c_register_driver +EXPORT_SYMBOL vmlinux 0x548d9e87 ip6_frag_init +EXPORT_SYMBOL vmlinux 0x54b1fdbf skb_checksum +EXPORT_SYMBOL vmlinux 0x54c49771 agp_bind_memory +EXPORT_SYMBOL vmlinux 0x54cb57c6 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x54d0d132 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x5502647f input_unregister_handle +EXPORT_SYMBOL vmlinux 0x551b3ed4 dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0x5531234c thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0x55434722 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x554f0a48 groups_alloc +EXPORT_SYMBOL vmlinux 0x555164c5 bdi_unregister +EXPORT_SYMBOL vmlinux 0x55819767 ilookup5 +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x559e0201 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x559ef0c9 km_policy_notify +EXPORT_SYMBOL vmlinux 0x55a286bf proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x55a3a393 journal_revoke +EXPORT_SYMBOL vmlinux 0x55f32425 input_allocate_device +EXPORT_SYMBOL vmlinux 0x55fb814b blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x5600904f fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x5603cf43 do_settimeofday +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x562b73fa truncate_pagecache +EXPORT_SYMBOL vmlinux 0x56342af1 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x56383341 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0x563bc1d6 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x563c5a3b acpi_is_video_device +EXPORT_SYMBOL vmlinux 0x569237df netdev_set_master +EXPORT_SYMBOL vmlinux 0x569a8ba3 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56d462f7 cfb_imageblit +EXPORT_SYMBOL vmlinux 0x56df5a59 mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0x56f38712 schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x56f494e0 smp_call_function +EXPORT_SYMBOL vmlinux 0x5713c1d0 bh_submit_read +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x5730ebd6 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57780bb3 sock_register +EXPORT_SYMBOL vmlinux 0x5787f84a pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x57adf756 per_cpu__this_cpu_off +EXPORT_SYMBOL vmlinux 0x57b57ebe jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0x57db7242 mangle_path +EXPORT_SYMBOL vmlinux 0x57e0df4a linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x57ecb61f set_pages_nx +EXPORT_SYMBOL vmlinux 0x5812bb27 __scsi_add_device +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x584738f9 rdmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x586490ce neigh_event_ns +EXPORT_SYMBOL vmlinux 0x5878596a update_region +EXPORT_SYMBOL vmlinux 0x5881384d insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x588aaa26 filemap_fault +EXPORT_SYMBOL vmlinux 0x5899abb2 tty_vhangup +EXPORT_SYMBOL vmlinux 0x58e12708 inet_accept +EXPORT_SYMBOL vmlinux 0x58f12017 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x58fee1e0 sock_rfree +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x5944d97d pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x596903e5 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x5970d999 pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0x59b862b9 llc_add_pack +EXPORT_SYMBOL vmlinux 0x59bc9609 acpi_write_bit_register +EXPORT_SYMBOL vmlinux 0x59bfd1b2 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x59cbb933 __napi_complete +EXPORT_SYMBOL vmlinux 0x59d1fe07 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x5a0d7278 dst_release +EXPORT_SYMBOL vmlinux 0x5a26e9f8 pnp_is_active +EXPORT_SYMBOL vmlinux 0x5a34a45c __kmalloc +EXPORT_SYMBOL vmlinux 0x5a4896a8 __put_user_2 +EXPORT_SYMBOL vmlinux 0x5a57d155 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x5a5e7ea3 simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x5a67e40d mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5a779394 pci_bus_type +EXPORT_SYMBOL vmlinux 0x5a872763 pci_iomap +EXPORT_SYMBOL vmlinux 0x5a9b549c unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x5ab0e3a5 call_usermodehelper_setkeys +EXPORT_SYMBOL vmlinux 0x5ab6137c end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x5ac376a5 acpi_install_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x5ad95a12 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x5b069b91 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x5b27bcec sysctl_intvec +EXPORT_SYMBOL vmlinux 0x5b3fe59f thaw_process +EXPORT_SYMBOL vmlinux 0x5b51a5d2 agp_free_memory +EXPORT_SYMBOL vmlinux 0x5b51c6a7 acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x5b5a2a32 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x5b820f43 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x5b9ab11f i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x5ba4be6f sock_no_getname +EXPORT_SYMBOL vmlinux 0x5bae2eac acpi_extract_package +EXPORT_SYMBOL vmlinux 0x5bbfafb9 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x5bdcba43 phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0x5be89166 block_write_begin +EXPORT_SYMBOL vmlinux 0x5bf0d2d5 ll_rw_block +EXPORT_SYMBOL vmlinux 0x5c277cab mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x5c28617b __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x5c2ae97f bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x5c39ca61 __getblk +EXPORT_SYMBOL vmlinux 0x5c4efcdd vfs_quota_on +EXPORT_SYMBOL vmlinux 0x5c5054f2 slow_work_sleep_till_thread_needed +EXPORT_SYMBOL vmlinux 0x5c58e451 init_special_inode +EXPORT_SYMBOL vmlinux 0x5c5b2d12 per_cpu__cpu_info +EXPORT_SYMBOL vmlinux 0x5c6c1ec4 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x5c6fea74 inet_getname +EXPORT_SYMBOL vmlinux 0x5c872fce inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0x5c9e776a napi_get_frags +EXPORT_SYMBOL vmlinux 0x5ca02919 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x5ca7efce pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0x5cad67e8 invalidate_partition +EXPORT_SYMBOL vmlinux 0x5cc8e015 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x5cd879f6 __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x5ce0e013 pipe_to_file +EXPORT_SYMBOL vmlinux 0x5d12b3fc twl4030_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x5d1353c7 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x5d14d7d7 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x5d4c09f2 mpage_writepage +EXPORT_SYMBOL vmlinux 0x5d4c48d7 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x5d5fc5af scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x5d647993 journal_load +EXPORT_SYMBOL vmlinux 0x5d74dbcf pnp_range_reserved +EXPORT_SYMBOL vmlinux 0x5d8feeb3 splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0x5d9d10da sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x5dadad02 pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0x5daef1fe revert_creds +EXPORT_SYMBOL vmlinux 0x5dc18de8 bio_phys_segments +EXPORT_SYMBOL vmlinux 0x5dc5bd05 nf_unregister_hook +EXPORT_SYMBOL vmlinux 0x5dc91541 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x5dd48060 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x5deb4259 pnp_possible_config +EXPORT_SYMBOL vmlinux 0x5deeb567 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x5df04936 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x5e21f413 kobject_get +EXPORT_SYMBOL vmlinux 0x5e4307a0 kobject_add +EXPORT_SYMBOL vmlinux 0x5e659ac8 generic_permission +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea520c5 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5efbf280 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x5f56db66 per_cpu__ftrace_event_seq +EXPORT_SYMBOL vmlinux 0x5f6eb190 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x5f932297 aio_complete +EXPORT_SYMBOL vmlinux 0x5f9c24b9 blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0x5f9e904d free_task +EXPORT_SYMBOL vmlinux 0x5fa4402f deactivate_super +EXPORT_SYMBOL vmlinux 0x5fa96dd9 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x5faeaa13 vfs_get_dqinfo +EXPORT_SYMBOL vmlinux 0x5fb4c9ad secpath_dup +EXPORT_SYMBOL vmlinux 0x5fc5e12a get_disk +EXPORT_SYMBOL vmlinux 0x5fc61b20 ____pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x5fe8ce7e tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x5febbf5e pci_dev_put +EXPORT_SYMBOL vmlinux 0x5ff42b08 acpi_video_get_capabilities +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x600c81c3 dump_trace +EXPORT_SYMBOL vmlinux 0x600d64e8 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x600dd60c register_8022_client +EXPORT_SYMBOL vmlinux 0x600dda5d xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x601d7be1 write_one_page +EXPORT_SYMBOL vmlinux 0x602ed00d acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0x60449d42 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x605c8bde radix_tree_delete +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a0ebad __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60d8bf05 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x6103c4c7 per_cpu__irq_stat +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x615a6e74 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x615dca47 phy_disable_interrupts +EXPORT_SYMBOL vmlinux 0x617353a2 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x61799cd0 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x617e85f6 dev_get_stats +EXPORT_SYMBOL vmlinux 0x6184296a agp_generic_enable +EXPORT_SYMBOL vmlinux 0x618d8299 set_notify_swap_entry_free +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x62049256 acpi_disable +EXPORT_SYMBOL vmlinux 0x620dc275 pci_write_vpd +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x6229483a scsi_execute +EXPORT_SYMBOL vmlinux 0x6237f6b5 acpi_enable_event +EXPORT_SYMBOL vmlinux 0x62447f77 seq_open +EXPORT_SYMBOL vmlinux 0x6261e2f2 ip_nat_decode_session +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 0x62af9753 scsi_get_command +EXPORT_SYMBOL vmlinux 0x62e26785 nla_put +EXPORT_SYMBOL vmlinux 0x62eaa833 hippi_neigh_setup_dev +EXPORT_SYMBOL vmlinux 0x6307fc98 del_timer +EXPORT_SYMBOL vmlinux 0x6324ec3f bio_map_user +EXPORT_SYMBOL vmlinux 0x63277cc3 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x632afea0 d_move +EXPORT_SYMBOL vmlinux 0x634316d1 make_EII_client +EXPORT_SYMBOL vmlinux 0x636a5691 acpi_register_ioapic +EXPORT_SYMBOL vmlinux 0x63906414 devm_iounmap +EXPORT_SYMBOL vmlinux 0x6396ed69 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x63a56d30 set_anon_super +EXPORT_SYMBOL vmlinux 0x63b41449 replace_mount_options +EXPORT_SYMBOL vmlinux 0x63ddbcf7 call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63fc232f strlen_user +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x640e3689 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0x641e102f inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x6429ee07 mpage_readpages +EXPORT_SYMBOL vmlinux 0x642bc034 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x642e54ac __wake_up +EXPORT_SYMBOL vmlinux 0x644b6cea vga_put +EXPORT_SYMBOL vmlinux 0x64611d2e inet_stream_ops +EXPORT_SYMBOL vmlinux 0x6466a1e6 mempool_alloc +EXPORT_SYMBOL vmlinux 0x6478134c ec_burst_enable +EXPORT_SYMBOL vmlinux 0x6490fd33 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x649fdcdb per_cpu__softnet_data +EXPORT_SYMBOL vmlinux 0x64d452cd blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0x64eae7ad set_memory_array_wb +EXPORT_SYMBOL vmlinux 0x64ef6d9b follow_pfn +EXPORT_SYMBOL vmlinux 0x65020739 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x65022a24 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0x650dca72 journal_forget +EXPORT_SYMBOL vmlinux 0x650fb346 add_wait_queue +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65414e67 dev_valid_name +EXPORT_SYMBOL vmlinux 0x655b204c get_write_access +EXPORT_SYMBOL vmlinux 0x65658bda is_container_init +EXPORT_SYMBOL vmlinux 0x657ccdcf phy_sanitize_settings +EXPORT_SYMBOL vmlinux 0x6597c30a __put_cred +EXPORT_SYMBOL vmlinux 0x6612e45c mdiobus_read +EXPORT_SYMBOL vmlinux 0x661a5783 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x662bd099 kill_block_super +EXPORT_SYMBOL vmlinux 0x66816e8f ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x66909110 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x66cd9e5b unregister_cdrom +EXPORT_SYMBOL vmlinux 0x66d97b75 lookup_one_len +EXPORT_SYMBOL vmlinux 0x66fcf589 kill_anon_super +EXPORT_SYMBOL vmlinux 0x67053080 current_kernel_time +EXPORT_SYMBOL vmlinux 0x672144bd strlcpy +EXPORT_SYMBOL vmlinux 0x6729d3df __get_user_4 +EXPORT_SYMBOL vmlinux 0x672c8b15 dcache_readdir +EXPORT_SYMBOL vmlinux 0x67353ca4 scsi_allocate_command +EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges +EXPORT_SYMBOL vmlinux 0x6749db1f set_pages_wb +EXPORT_SYMBOL vmlinux 0x676a9b5d bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x677a9595 bd_release +EXPORT_SYMBOL vmlinux 0x67af5383 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67e17a92 blk_free_tags +EXPORT_SYMBOL vmlinux 0x67f1bef7 seq_lseek +EXPORT_SYMBOL vmlinux 0x6801824b kfree_skb +EXPORT_SYMBOL vmlinux 0x683835a4 skb_dma_unmap +EXPORT_SYMBOL vmlinux 0x68432bf0 pnp_device_detach +EXPORT_SYMBOL vmlinux 0x684a32ca put_disk +EXPORT_SYMBOL vmlinux 0x6876652c udp_ioctl +EXPORT_SYMBOL vmlinux 0x68c9c8ac iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x68e5c000 neigh_compat_output +EXPORT_SYMBOL vmlinux 0x69007a83 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x6907d4e9 idr_for_each +EXPORT_SYMBOL vmlinux 0x69157428 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x697cb0a0 sysctl_ms_jiffies +EXPORT_SYMBOL vmlinux 0x6980fe91 param_get_int +EXPORT_SYMBOL vmlinux 0x69927dff try_acquire_console_sem +EXPORT_SYMBOL vmlinux 0x69a0ca7d iowrite16be +EXPORT_SYMBOL vmlinux 0x69a358a6 iomem_resource +EXPORT_SYMBOL vmlinux 0x69a4ea3c xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x69ba7d51 mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x69c03dbd migrate_page +EXPORT_SYMBOL vmlinux 0x69c8c1d5 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x69d2575f efi +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x69e3ee19 set_device_ro +EXPORT_SYMBOL vmlinux 0x69eb1ec0 journal_abort +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a278a84 acpi_unlock_battery_dir +EXPORT_SYMBOL vmlinux 0x6a3979b3 bio_copy_kern +EXPORT_SYMBOL vmlinux 0x6a3b9b12 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x6a44c773 set_pages_uc +EXPORT_SYMBOL vmlinux 0x6a47571d __set_personality +EXPORT_SYMBOL vmlinux 0x6a52e816 tcp_make_synack +EXPORT_SYMBOL vmlinux 0x6a5f98a0 ida_get_new_above +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a8222a0 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x6a9f26c9 init_timer_key +EXPORT_SYMBOL vmlinux 0x6aae5e0a nf_hook_slow +EXPORT_SYMBOL vmlinux 0x6abd84b8 blkdev_get +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6ad065f4 param_set_charp +EXPORT_SYMBOL vmlinux 0x6ad85887 acpi_enable_gpe +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6b169811 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b1d1b6d scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x6b1f0663 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b4a1336 bdi_destroy +EXPORT_SYMBOL vmlinux 0x6b4e5a52 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x6b54f453 give_up_console +EXPORT_SYMBOL vmlinux 0x6b5f3ea7 compat_ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x6b96d7bd pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0x6b9b88f3 sleep_on +EXPORT_SYMBOL vmlinux 0x6bb91410 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x6bc1451d lock_super +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bc56c67 radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6bf2eadd unbind_con_driver +EXPORT_SYMBOL vmlinux 0x6c11d485 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL vmlinux 0x6c3d1158 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x6c3f033b blk_insert_request +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c7789cd register_con_driver +EXPORT_SYMBOL vmlinux 0x6cc36a46 pv_mmu_ops +EXPORT_SYMBOL vmlinux 0x6cf8f709 i2c_master_send +EXPORT_SYMBOL vmlinux 0x6d0b77fe sysctl_data +EXPORT_SYMBOL vmlinux 0x6d0e3039 vfs_fstatat +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 0x6d367585 __scm_destroy +EXPORT_SYMBOL vmlinux 0x6d57b729 netif_notify_peers +EXPORT_SYMBOL vmlinux 0x6d621c40 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6daba8f9 journal_clear_err +EXPORT_SYMBOL vmlinux 0x6db42067 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0x6dc0c24b complete_and_exit +EXPORT_SYMBOL vmlinux 0x6dcaeb88 per_cpu__kernel_stack +EXPORT_SYMBOL vmlinux 0x6de6bf83 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6e07a54e acpi_get_gpe_status +EXPORT_SYMBOL vmlinux 0x6e54a30f mdiobus_free +EXPORT_SYMBOL vmlinux 0x6e566b0d task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x6e696892 fd_install +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e74041b d_validate +EXPORT_SYMBOL vmlinux 0x6e802324 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x6e8baf6b dev_change_flags +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6eb0fdf3 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x6ed5c961 cdev_init +EXPORT_SYMBOL vmlinux 0x6ee8bb7d qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x6f0f4a64 skb_split +EXPORT_SYMBOL vmlinux 0x6f370d15 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x6f4d53b4 dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x6f556bdb acpi_get_gpe_device +EXPORT_SYMBOL vmlinux 0x6f671b65 request_key +EXPORT_SYMBOL vmlinux 0x6f6b08fa vfs_get_dqblk +EXPORT_SYMBOL vmlinux 0x6fbc143d blk_stop_queue +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd5d7ed put_mnt_ns +EXPORT_SYMBOL vmlinux 0x6feb2039 acpi_write +EXPORT_SYMBOL vmlinux 0x6fff393f time_to_tm +EXPORT_SYMBOL vmlinux 0x700936f7 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x701d7d78 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x70334f2b generic_delete_inode +EXPORT_SYMBOL vmlinux 0x703e75da tcp_splice_read +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x705add5b skb_copy_bits +EXPORT_SYMBOL vmlinux 0x705ec0a3 tr_type_trans +EXPORT_SYMBOL vmlinux 0x70765d1c vfs_lstat +EXPORT_SYMBOL vmlinux 0x707acf6e skb_find_text +EXPORT_SYMBOL vmlinux 0x70953694 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x709ca4b1 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x70a15749 dev_open +EXPORT_SYMBOL vmlinux 0x70aed7cd set_disk_ro +EXPORT_SYMBOL vmlinux 0x70b54744 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70bf9865 security_d_instantiate +EXPORT_SYMBOL vmlinux 0x70cf90c0 generic_file_open +EXPORT_SYMBOL vmlinux 0x70d8ab82 acpi_acquire_global_lock +EXPORT_SYMBOL vmlinux 0x70e0d61f cpu_all_bits +EXPORT_SYMBOL vmlinux 0x70e5ce3e register_sysctl_table +EXPORT_SYMBOL vmlinux 0x70e5d8cc jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x70f44361 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x711aab76 journal_create +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x712aa29b _spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x71320d43 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x71356fba remove_wait_queue +EXPORT_SYMBOL vmlinux 0x7150c474 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x71659c10 get_sb_single +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71766639 tcp_child_process +EXPORT_SYMBOL vmlinux 0x718eb65b input_get_keycode +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71b765a2 pcim_iounmap +EXPORT_SYMBOL vmlinux 0x71bb41e4 wrmsr_on_cpus +EXPORT_SYMBOL vmlinux 0x71d95e02 alloc_mdio_bitbang +EXPORT_SYMBOL vmlinux 0x71f6eb38 sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x7205e022 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x7209736e abort_creds +EXPORT_SYMBOL vmlinux 0x721fd550 __destroy_inode +EXPORT_SYMBOL vmlinux 0x723e177d inet_frag_kill +EXPORT_SYMBOL vmlinux 0x7242e96d strnchr +EXPORT_SYMBOL vmlinux 0x7292c11d agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0x729661ee netif_device_attach +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72bf2140 mtrr_add +EXPORT_SYMBOL vmlinux 0x72c3be87 param_set_byte +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x73299395 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x7333b753 input_open_device +EXPORT_SYMBOL vmlinux 0x733eac3d sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x735a0bd5 native_io_delay +EXPORT_SYMBOL vmlinux 0x736210f4 simple_unlink +EXPORT_SYMBOL vmlinux 0x736d0d9e gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x73745f28 seq_bitmap +EXPORT_SYMBOL vmlinux 0x7389c9a8 acpi_bus_get_power +EXPORT_SYMBOL vmlinux 0x739ee22d gen_pool_add +EXPORT_SYMBOL vmlinux 0x73d47708 inet_frags_init +EXPORT_SYMBOL vmlinux 0x74000e85 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x740a1b95 reserve_evntsel_nmi +EXPORT_SYMBOL vmlinux 0x7432f326 cdev_add +EXPORT_SYMBOL vmlinux 0x744c0c68 param_get_byte +EXPORT_SYMBOL vmlinux 0x747e1729 mmc_register_driver +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x748caf40 down +EXPORT_SYMBOL vmlinux 0x74941f83 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL vmlinux 0x74aa4f9c md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x74bc61d0 dqget +EXPORT_SYMBOL vmlinux 0x74be5608 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x74bfc369 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74ce972f key_revoke +EXPORT_SYMBOL vmlinux 0x74fe71b2 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x7538b132 agp_off +EXPORT_SYMBOL vmlinux 0x75514419 dev_alloc_skb +EXPORT_SYMBOL vmlinux 0x756e6992 strnicmp +EXPORT_SYMBOL vmlinux 0x7575158d pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x7581df49 cpu_sysdev_class +EXPORT_SYMBOL vmlinux 0x75990145 blk_end_request_all +EXPORT_SYMBOL vmlinux 0x759987ac hippi_mac_addr +EXPORT_SYMBOL vmlinux 0x759c5779 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x75a5d9fb proto_unregister +EXPORT_SYMBOL vmlinux 0x75bdea12 iommu_area_alloc +EXPORT_SYMBOL vmlinux 0x75c62cd0 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0x76093d8a acpi_lock_battery_dir +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x760f35f1 cdev_alloc +EXPORT_SYMBOL vmlinux 0x764bd77c request_resource +EXPORT_SYMBOL vmlinux 0x765f96e8 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x76624318 dm_register_target +EXPORT_SYMBOL vmlinux 0x767dd8fd acpi_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0x767ddb02 set_memory_wc +EXPORT_SYMBOL vmlinux 0x768755b0 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x768fa6bd vfs_link +EXPORT_SYMBOL vmlinux 0x76915484 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x769e16c0 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x76bc0a5e __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76eb6137 __tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x76f3f8a5 num_k8_northbridges +EXPORT_SYMBOL vmlinux 0x770ff22f jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x774e5cd6 ip6_xmit +EXPORT_SYMBOL vmlinux 0x776bb0d1 per_cpu__cpu_core_map +EXPORT_SYMBOL vmlinux 0x77959d5d dqput +EXPORT_SYMBOL vmlinux 0x77a108df _write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x77a6c0a0 kill_pgrp +EXPORT_SYMBOL vmlinux 0x77a70f6f pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x77ab1d2f tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x77affbda dev_unicast_add +EXPORT_SYMBOL vmlinux 0x77b87ecf ip_getsockopt +EXPORT_SYMBOL vmlinux 0x77cfcfde __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77f53abc acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x77fa5d1f ns_to_timespec +EXPORT_SYMBOL vmlinux 0x780c5410 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x782acba5 crc_t10dif +EXPORT_SYMBOL vmlinux 0x785148a3 idr_destroy +EXPORT_SYMBOL vmlinux 0x78589865 mdiobus_register +EXPORT_SYMBOL vmlinux 0x786e1a4a register_snap_client +EXPORT_SYMBOL vmlinux 0x78764f4e pv_irq_ops +EXPORT_SYMBOL vmlinux 0x7879af83 destroy_EII_client +EXPORT_SYMBOL vmlinux 0x789300e7 follow_down +EXPORT_SYMBOL vmlinux 0x789574a4 netpoll_poll +EXPORT_SYMBOL vmlinux 0x78a484c9 _read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x78c05f40 mb_cache_create +EXPORT_SYMBOL vmlinux 0x78c5f560 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x78d64363 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78fb5599 nf_register_hooks +EXPORT_SYMBOL vmlinux 0x78fbb0f7 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x79068fda acpi_install_method +EXPORT_SYMBOL vmlinux 0x792cea90 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x792d535a xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x7945045a unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x7955bbb8 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x795edf3f phy_device_register +EXPORT_SYMBOL vmlinux 0x796c774b input_close_device +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x797fb55f ppp_channel_index +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79ad224b tasklet_kill +EXPORT_SYMBOL vmlinux 0x79b33266 __nla_put +EXPORT_SYMBOL vmlinux 0x79f82ed1 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x7a142de0 security_path_truncate +EXPORT_SYMBOL vmlinux 0x7a2a4ad5 prepare_creds +EXPORT_SYMBOL vmlinux 0x7a2a837d strict_strtol +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a848702 _read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x7aa9b9f6 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x7abd4d53 inet_ioctl +EXPORT_SYMBOL vmlinux 0x7ad4d364 netdev_state_change +EXPORT_SYMBOL vmlinux 0x7adb0b6d aio_put_req +EXPORT_SYMBOL vmlinux 0x7ae73de1 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x7aec9089 clear_user +EXPORT_SYMBOL vmlinux 0x7af9dba1 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x7b0c84c4 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0x7b0f47e8 pci_find_capability +EXPORT_SYMBOL vmlinux 0x7b18ef33 mddev_congested +EXPORT_SYMBOL vmlinux 0x7b1b38ab ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x7b227b00 unlock_page +EXPORT_SYMBOL vmlinux 0x7b52a859 wrmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x7b56bd05 acpi_lid_notifier_register +EXPORT_SYMBOL vmlinux 0x7b6ce00f pnp_activate_dev +EXPORT_SYMBOL vmlinux 0x7b6cfcb4 mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0x7b771c9c d_rehash +EXPORT_SYMBOL vmlinux 0x7b84560b agp_put_bridge +EXPORT_SYMBOL vmlinux 0x7b8f4c40 key_create_or_update +EXPORT_SYMBOL vmlinux 0x7ba9528e blk_queue_max_hw_segments +EXPORT_SYMBOL vmlinux 0x7be22d36 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x7be41077 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x7bff3be7 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x7c0f9b6c qdisc_destroy +EXPORT_SYMBOL vmlinux 0x7c15af1e dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x7c1cde82 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c4ba0de block_commit_write +EXPORT_SYMBOL vmlinux 0x7c59d7d5 I_BDEV +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c61340c __release_region +EXPORT_SYMBOL vmlinux 0x7c8c2c31 put_tty_driver +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7cb1ae69 cpu_down +EXPORT_SYMBOL vmlinux 0x7cc8a6a1 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x7cfb35de ip_fragment +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d5fb2bd prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x7d64a0fa dm_exception_store_type_register +EXPORT_SYMBOL vmlinux 0x7d6bb587 cpu_online_mask +EXPORT_SYMBOL vmlinux 0x7d6c9536 bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x7d7631f5 unregister_md_personality +EXPORT_SYMBOL vmlinux 0x7d7b8b79 bdevname +EXPORT_SYMBOL vmlinux 0x7d7e7a6e dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x7d94f746 acpi_os_write_port +EXPORT_SYMBOL vmlinux 0x7daf7486 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x7dcbfe3c inet6_bind +EXPORT_SYMBOL vmlinux 0x7dcc1ed9 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x7dce8895 slow_work_unregister_user +EXPORT_SYMBOL vmlinux 0x7dceceac capable +EXPORT_SYMBOL vmlinux 0x7dcfa41f free_netdev +EXPORT_SYMBOL vmlinux 0x7dd554fc unregister_kmmio_probe +EXPORT_SYMBOL vmlinux 0x7de9f6f5 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x7df16b89 locks_copy_lock +EXPORT_SYMBOL vmlinux 0x7df97bc5 submit_bh +EXPORT_SYMBOL vmlinux 0x7dfe2451 generic_read_dir +EXPORT_SYMBOL vmlinux 0x7e02b6cd xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x7e06e5f2 inet6_release +EXPORT_SYMBOL vmlinux 0x7e299735 agp_create_memory +EXPORT_SYMBOL vmlinux 0x7e5a5c6e get_sb_bdev +EXPORT_SYMBOL vmlinux 0x7e862ad7 dm_exception_store_create +EXPORT_SYMBOL vmlinux 0x7e9ebb05 kernel_thread +EXPORT_SYMBOL vmlinux 0x7ec9bfbc strncpy +EXPORT_SYMBOL vmlinux 0x7ee91c1d _spin_trylock +EXPORT_SYMBOL vmlinux 0x7ef967b3 d_alloc +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f4f4ae0 pnp_request_card_device +EXPORT_SYMBOL vmlinux 0x7f61fb79 md_check_recovery +EXPORT_SYMBOL vmlinux 0x7f62effb unregister_key_type +EXPORT_SYMBOL vmlinux 0x7f6c3e80 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x7f77b6df scsi_unregister +EXPORT_SYMBOL vmlinux 0x7fb3ac6d xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x7fd59dad md_write_start +EXPORT_SYMBOL vmlinux 0x7fdfbc30 dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x802809fb i2c_transfer +EXPORT_SYMBOL vmlinux 0x802c4cc7 path_lookup +EXPORT_SYMBOL vmlinux 0x8031bef8 bdi_register_dev +EXPORT_SYMBOL vmlinux 0x807ea8d3 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x80827668 inet_bind +EXPORT_SYMBOL vmlinux 0x80bc2c10 ip_route_input +EXPORT_SYMBOL vmlinux 0x80c81df3 dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x80ceeef2 remove_inode_hash +EXPORT_SYMBOL vmlinux 0x80d5cff0 per_cpu__irq_regs +EXPORT_SYMBOL vmlinux 0x80e36042 skb_dma_map +EXPORT_SYMBOL vmlinux 0x81087732 kernel_listen +EXPORT_SYMBOL vmlinux 0x812f480a jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x81390c59 otg_put_transceiver +EXPORT_SYMBOL vmlinux 0x81472677 acpi_get_table +EXPORT_SYMBOL vmlinux 0x8147766e blk_plug_device_unlocked +EXPORT_SYMBOL vmlinux 0x81488aa0 d_splice_alias +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page +EXPORT_SYMBOL vmlinux 0x8168a918 generic_file_llseek_unlocked +EXPORT_SYMBOL vmlinux 0x8186c1f2 dev_alloc_name +EXPORT_SYMBOL vmlinux 0x81946304 skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x8195c959 neigh_table_init +EXPORT_SYMBOL vmlinux 0x8197c568 wireless_send_event +EXPORT_SYMBOL vmlinux 0x81a1b699 input_inject_event +EXPORT_SYMBOL vmlinux 0x81afa0c7 cdev_index +EXPORT_SYMBOL vmlinux 0x81dce01b d_add_ci +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x81fbc67d simple_empty +EXPORT_SYMBOL vmlinux 0x81fc0337 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x820d225f print_mac +EXPORT_SYMBOL vmlinux 0x820fc63c vfsmount_lock +EXPORT_SYMBOL vmlinux 0x8212721d xenbus_dev_request_and_reply +EXPORT_SYMBOL vmlinux 0x82130130 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x824144b5 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0x8247bf68 generic_fillattr +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x82650b03 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x82692209 kref_set +EXPORT_SYMBOL vmlinux 0x8286e845 dm_dirty_log_destroy +EXPORT_SYMBOL vmlinux 0x828910ab get_empty_filp +EXPORT_SYMBOL vmlinux 0x828ceab0 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x828d704c scsi_print_result +EXPORT_SYMBOL vmlinux 0x828e320f blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0x82ac35d0 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82bc2eae compat_tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x82d3e07d gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x82daeb4f block_write_end +EXPORT_SYMBOL vmlinux 0x82e9c083 csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x82f50fc5 vfs_readdir +EXPORT_SYMBOL vmlinux 0x830e547b ioremap_prot +EXPORT_SYMBOL vmlinux 0x830f8d69 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x8317e20a completion_done +EXPORT_SYMBOL vmlinux 0x8336b890 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x83720cab ethtool_op_get_sg +EXPORT_SYMBOL vmlinux 0x837b98f8 register_exec_domain +EXPORT_SYMBOL vmlinux 0x837fe8d9 agp_generic_mask_memory +EXPORT_SYMBOL vmlinux 0x83879b9f bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83c43dc1 posix_acl_chmod_masq +EXPORT_SYMBOL vmlinux 0x83ea776c test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x83fc98e9 bio_split +EXPORT_SYMBOL vmlinux 0x83fd9672 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x8405c9a8 request_firmware +EXPORT_SYMBOL vmlinux 0x841185a3 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x8461ff21 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x847ec116 vga_tryget +EXPORT_SYMBOL vmlinux 0x84ac5f2b inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x84f255c7 pci_read_vpd +EXPORT_SYMBOL vmlinux 0x8533e05a scsi_reset_provider +EXPORT_SYMBOL vmlinux 0x854c5636 __pci_register_driver +EXPORT_SYMBOL vmlinux 0x8563f264 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x85abc85f strncmp +EXPORT_SYMBOL vmlinux 0x85cb3672 acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0x85d4b12b blk_queue_ordered +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85f8f692 genphy_config_advert +EXPORT_SYMBOL vmlinux 0x8618bcdf tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x862af12e dev_mc_delete +EXPORT_SYMBOL vmlinux 0x8631f188 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86a9d4d0 dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x86c7146d vfs_fstat +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x86fe69dd jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x871043fb pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x871d06b5 __bread +EXPORT_SYMBOL vmlinux 0x8725b236 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0x8733e9a3 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x8740668e may_umount_tree +EXPORT_SYMBOL vmlinux 0x874e2146 __brelse +EXPORT_SYMBOL vmlinux 0x876dafc3 ec_write +EXPORT_SYMBOL vmlinux 0x8785333f console_start +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x87a7112b blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0x87aaddf8 wrmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0x87cb81e6 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x87d8d37f nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x87df4f9e __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x87ef1124 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x881fded6 bmap +EXPORT_SYMBOL vmlinux 0x88334c1a compat_sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x8850afa5 mnt_unpin +EXPORT_SYMBOL vmlinux 0x886aa274 posix_acl_create_masq +EXPORT_SYMBOL vmlinux 0x889da329 seq_bitmap_list +EXPORT_SYMBOL vmlinux 0x88a54839 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x88abcd10 pipe_unlock +EXPORT_SYMBOL vmlinux 0x88b7700b end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x88c195b2 pci_get_device +EXPORT_SYMBOL vmlinux 0x88d46264 dma_find_channel +EXPORT_SYMBOL vmlinux 0x88f2e2c1 default_unplug_io_fn +EXPORT_SYMBOL vmlinux 0x88ffca4c register_key_type +EXPORT_SYMBOL vmlinux 0x891f7742 journal_errno +EXPORT_SYMBOL vmlinux 0x892b26a0 set_memory_nx +EXPORT_SYMBOL vmlinux 0x89659e98 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x89915a0f i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x89949018 down_timeout +EXPORT_SYMBOL vmlinux 0x89bf099f blk_complete_request +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d5e2eb eth_header +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x8a1203a9 kref_get +EXPORT_SYMBOL vmlinux 0x8a373fd7 twl4030_i2c_write +EXPORT_SYMBOL vmlinux 0x8a3eabf0 __wait_on_bit +EXPORT_SYMBOL vmlinux 0x8a400e4e llc_sap_close +EXPORT_SYMBOL vmlinux 0x8a4f9258 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x8a763823 send_sig +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aad1913 unlock_rename +EXPORT_SYMBOL vmlinux 0x8aaeb23e tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x8abbdb5b __devm_request_region +EXPORT_SYMBOL vmlinux 0x8abfba3e __lock_page +EXPORT_SYMBOL vmlinux 0x8ac108ba sync_inode +EXPORT_SYMBOL vmlinux 0x8ac40297 iommu_area_free +EXPORT_SYMBOL vmlinux 0x8af05487 dev_unicast_unsync +EXPORT_SYMBOL vmlinux 0x8af6dcde sock_no_poll +EXPORT_SYMBOL vmlinux 0x8b01f2c2 alloc_file +EXPORT_SYMBOL vmlinux 0x8b17e475 agp_copy_info +EXPORT_SYMBOL vmlinux 0x8b35e873 sg_last +EXPORT_SYMBOL vmlinux 0x8b3e6806 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x8b5f4a2e IO_APIC_get_PCI_irq_vector +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b72e49a pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x8b7fe311 kmemdup +EXPORT_SYMBOL vmlinux 0x8b922c0f __strnlen_user +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8ba50877 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x8bacdd06 register_nls +EXPORT_SYMBOL vmlinux 0x8bb15a0a bio_sector_offset +EXPORT_SYMBOL vmlinux 0x8bba85ac blk_fetch_request +EXPORT_SYMBOL vmlinux 0x8bc8685e bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x8bd313b8 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x8bd5b603 param_get_long +EXPORT_SYMBOL vmlinux 0x8bf7d1b0 per_cpu__current_task +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c44743e skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x8c537c45 posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x8c5b143e kmem_ptr_validate +EXPORT_SYMBOL vmlinux 0x8c65230d acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0x8c7fee9f arch_acpi_processor_cleanup_pdc +EXPORT_SYMBOL vmlinux 0x8ca549d8 hippi_type_trans +EXPORT_SYMBOL vmlinux 0x8cac23ea inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0x8cb9cb0b jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8d0a46c0 ps2_drain +EXPORT_SYMBOL vmlinux 0x8d23e762 sk_free +EXPORT_SYMBOL vmlinux 0x8d3894f2 _ctype +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d8c26d6 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x8d8c6f1c bio_integrity_endio +EXPORT_SYMBOL vmlinux 0x8d8d96c6 acpi_get_sleep_type_data +EXPORT_SYMBOL vmlinux 0x8da016a4 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x8dc6afa9 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x8dca832f __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x8deed0f5 blkdev_put +EXPORT_SYMBOL vmlinux 0x8e002cda acpi_remove_gpe_block +EXPORT_SYMBOL vmlinux 0x8e0637ba i8253_lock +EXPORT_SYMBOL vmlinux 0x8e0b7743 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x8e2d96c4 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x8e3c9cc3 vprintk +EXPORT_SYMBOL vmlinux 0x8e3fb7c5 security_inode_readlink +EXPORT_SYMBOL vmlinux 0x8e49f4de module_layout +EXPORT_SYMBOL vmlinux 0x8e763ae1 send_remote_softirq +EXPORT_SYMBOL vmlinux 0x8e7ef552 __invalidate_device +EXPORT_SYMBOL vmlinux 0x8e8199bf copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x8e83107a generic_getxattr +EXPORT_SYMBOL vmlinux 0x8e9cf319 dm_get_device +EXPORT_SYMBOL vmlinux 0x8eb20493 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x8ec1a23c override_creds +EXPORT_SYMBOL vmlinux 0x8ec5c3f6 kthread_stop +EXPORT_SYMBOL vmlinux 0x8ecdd9d6 dev_addr_del +EXPORT_SYMBOL vmlinux 0x8ee69235 timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8ef9ca9f swiotlb_free_coherent +EXPORT_SYMBOL vmlinux 0x8eff7f0c xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x8f1e66df dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x8f2703b7 wbinvd_on_all_cpus +EXPORT_SYMBOL vmlinux 0x8f466e99 page_put_link +EXPORT_SYMBOL vmlinux 0x8f46cd63 set_bdi_congested +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f634ae8 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x8f63795f bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x8f6b7950 set_irq_data +EXPORT_SYMBOL vmlinux 0x8f83ed9e __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x8f915ce6 agp_backend_acquire +EXPORT_SYMBOL vmlinux 0x8f9c199c __get_user_2 +EXPORT_SYMBOL vmlinux 0x8fd5da89 cdrom_release +EXPORT_SYMBOL vmlinux 0x8fd80892 request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0x8fe8ad1a rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0x90000fcd kernel_getsockname +EXPORT_SYMBOL vmlinux 0x90035333 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x902daea9 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x904409c6 acpi_set_firmware_waking_vector +EXPORT_SYMBOL vmlinux 0x904b5f18 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x90658f14 pci_enable_msix +EXPORT_SYMBOL vmlinux 0x90a1601f dmi_check_system +EXPORT_SYMBOL vmlinux 0x90a83926 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x90ce5f0f netdev_features_change +EXPORT_SYMBOL vmlinux 0x90ceef80 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x90d36602 tcp_check_req +EXPORT_SYMBOL vmlinux 0x90ea10a0 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x90eaba31 dm_io_client_create +EXPORT_SYMBOL vmlinux 0x90fefcf2 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x910ea45a dquot_scan_active +EXPORT_SYMBOL vmlinux 0x91430560 sk_receive_skb +EXPORT_SYMBOL vmlinux 0x9144a8e2 ec_burst_disable +EXPORT_SYMBOL vmlinux 0x91481982 __ratelimit +EXPORT_SYMBOL vmlinux 0x91607d95 set_memory_wb +EXPORT_SYMBOL vmlinux 0x91766c09 param_get_ulong +EXPORT_SYMBOL vmlinux 0x917b8968 scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0x91bc3d61 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x920b15c8 bio_integrity_free +EXPORT_SYMBOL vmlinux 0x9213e359 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x9214ed8a param_get_bool +EXPORT_SYMBOL vmlinux 0x92392cd9 iov_shorten +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x9245cb04 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x924e7f13 km_state_notify +EXPORT_SYMBOL vmlinux 0x927e989f gen_pool_alloc +EXPORT_SYMBOL vmlinux 0x9293cb9e search_binary_handler +EXPORT_SYMBOL vmlinux 0x92b8d618 tcp_prot +EXPORT_SYMBOL vmlinux 0x92d5d3e7 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x92e81a3a touch_atime +EXPORT_SYMBOL vmlinux 0x92ea4ae4 crc32_le +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x9325918e compat_ip_getsockopt +EXPORT_SYMBOL vmlinux 0x933cdb28 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x934f6745 llc_set_station_handler +EXPORT_SYMBOL vmlinux 0x9384afe5 dev_load +EXPORT_SYMBOL vmlinux 0x9385667d down_read_trylock +EXPORT_SYMBOL vmlinux 0x93a1b953 fddi_type_trans +EXPORT_SYMBOL vmlinux 0x93a1d001 dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93c651be acpi_info +EXPORT_SYMBOL vmlinux 0x93c6b85d pci_reenable_device +EXPORT_SYMBOL vmlinux 0x93cbd1ec _spin_lock_bh +EXPORT_SYMBOL vmlinux 0x93d3281e bio_clone +EXPORT_SYMBOL vmlinux 0x93fb6418 phy_device_free +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x94064c06 arp_send +EXPORT_SYMBOL vmlinux 0x941f5ebb fb_validate_mode +EXPORT_SYMBOL vmlinux 0x9439d50f phy_attach_direct +EXPORT_SYMBOL vmlinux 0x943e868f ida_get_new +EXPORT_SYMBOL vmlinux 0x944832d6 ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x945bc6a7 copy_from_user +EXPORT_SYMBOL vmlinux 0x94847b23 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x948d99a0 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x948dbae9 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94991ef8 blk_init_tags +EXPORT_SYMBOL vmlinux 0x94ada624 __netdev_alloc_page +EXPORT_SYMBOL vmlinux 0x94b689a2 proc_symlink +EXPORT_SYMBOL vmlinux 0x94d1702d tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x94ef5b9d remap_pfn_range +EXPORT_SYMBOL vmlinux 0x94f32beb __blk_run_queue +EXPORT_SYMBOL vmlinux 0x9531af67 find_get_pages_tag +EXPORT_SYMBOL vmlinux 0x95352ea9 acpi_check_mem_region +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x954cbb26 vsprintf +EXPORT_SYMBOL vmlinux 0x9554165c blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x95783dd4 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x95ceb864 key_update +EXPORT_SYMBOL vmlinux 0x95f6270c tty_shutdown +EXPORT_SYMBOL vmlinux 0x96120102 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x9613cf34 genl_register_ops +EXPORT_SYMBOL vmlinux 0x9629486a per_cpu__cpu_number +EXPORT_SYMBOL vmlinux 0x96476765 acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0x964833b7 uart_update_timeout +EXPORT_SYMBOL vmlinux 0x9677fc3f tcp_v4_remember_stamp +EXPORT_SYMBOL vmlinux 0x9680cbfc d_alloc_root +EXPORT_SYMBOL vmlinux 0x9682eae9 proc_mkdir +EXPORT_SYMBOL vmlinux 0x968a93cb dm_dirty_log_create +EXPORT_SYMBOL vmlinux 0x968b47ff tty_mutex +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x970b3dde block_fsync +EXPORT_SYMBOL vmlinux 0x9710c39f blk_stack_limits +EXPORT_SYMBOL vmlinux 0x9715fa2c module_put +EXPORT_SYMBOL vmlinux 0x97212e23 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x97224eb4 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x9734e569 mmc_remove_host +EXPORT_SYMBOL vmlinux 0x973873ab _spin_lock +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x9759870c skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x975a9caa kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x97b2ce7b i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x97de0ddd acpi_install_gpe_block +EXPORT_SYMBOL vmlinux 0x98121176 alloc_trdev +EXPORT_SYMBOL vmlinux 0x9818e1be rtnl_notify +EXPORT_SYMBOL vmlinux 0x98248028 fb_class +EXPORT_SYMBOL vmlinux 0x983235b9 mmc_add_host +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x988863e1 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x988ed85d set_memory_x +EXPORT_SYMBOL vmlinux 0x98a32d41 unregister_quota_format +EXPORT_SYMBOL vmlinux 0x98b80c91 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x98ba3b81 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x98fa0611 unregister_nls +EXPORT_SYMBOL vmlinux 0x998e60e7 da903x_query_status +EXPORT_SYMBOL vmlinux 0x998f955b skb_append +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999d40a9 journal_update_format +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c7a8b8 jbd2_dev_to_name +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99d0e328 scm_detach_fds +EXPORT_SYMBOL vmlinux 0x99dbdc02 lock_may_write +EXPORT_SYMBOL vmlinux 0x99dcafae rfkill_set_states +EXPORT_SYMBOL vmlinux 0x99ea12ce panic_blink +EXPORT_SYMBOL vmlinux 0x9a0ce4e6 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a223a7d skb_free_datagram +EXPORT_SYMBOL vmlinux 0x9a27650b qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x9a9985be percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x9aabc564 crc16 +EXPORT_SYMBOL vmlinux 0x9abf53bb vmtruncate +EXPORT_SYMBOL vmlinux 0x9ad3562a rfkill_destroy +EXPORT_SYMBOL vmlinux 0x9af21719 address_space_init_once +EXPORT_SYMBOL vmlinux 0x9afcd67d dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x9aff8937 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x9b0d45a3 sock_wake_async +EXPORT_SYMBOL vmlinux 0x9b23fdfb md_error +EXPORT_SYMBOL vmlinux 0x9b36a6f8 pci_get_subsys +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9badd74d dentry_open +EXPORT_SYMBOL vmlinux 0x9bbb14ac tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x9bc83254 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x9bde0d3e mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x9bf85a0d vfs_readv +EXPORT_SYMBOL vmlinux 0x9c012508 fb_parse_edid +EXPORT_SYMBOL vmlinux 0x9c03af71 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x9c0c22e5 km_new_mapping +EXPORT_SYMBOL vmlinux 0x9c0ea3cd memscan +EXPORT_SYMBOL vmlinux 0x9c2fc934 ethtool_op_set_tso +EXPORT_SYMBOL vmlinux 0x9c46574a pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x9c491f60 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x9c5ef7a0 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x9c6ccf27 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x9c71e738 per_cpu__vm_event_states +EXPORT_SYMBOL vmlinux 0x9ca95a0e sort +EXPORT_SYMBOL vmlinux 0x9caf02ed put_io_context +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cc8958b request_key_async +EXPORT_SYMBOL vmlinux 0x9ccb2622 finish_wait +EXPORT_SYMBOL vmlinux 0x9cd51849 __pagevec_release +EXPORT_SYMBOL vmlinux 0x9ce4ebb9 arp_xmit +EXPORT_SYMBOL vmlinux 0x9ced38aa down_trylock +EXPORT_SYMBOL vmlinux 0x9cefa1c3 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x9cf6eff8 elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d0509dd brioctl_set +EXPORT_SYMBOL vmlinux 0x9d2d6494 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x9d33ef5e acpi_enable +EXPORT_SYMBOL vmlinux 0x9d35f5a9 save_mount_options +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d490769 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x9d57531d pnp_release_card_device +EXPORT_SYMBOL vmlinux 0x9d755509 inet_listen +EXPORT_SYMBOL vmlinux 0x9d7caf66 journal_get_write_access +EXPORT_SYMBOL vmlinux 0x9d85c068 commit_creds +EXPORT_SYMBOL vmlinux 0x9da659fe bdev_read_only +EXPORT_SYMBOL vmlinux 0x9db21624 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x9dd18764 lookup_hash +EXPORT_SYMBOL vmlinux 0x9e04525b pagecache_write_end +EXPORT_SYMBOL vmlinux 0x9e19f169 poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x9e1e6083 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x9e34dadc __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x9e363b6b acpi_disable_gpe +EXPORT_SYMBOL vmlinux 0x9e447b7e tty_free_termios +EXPORT_SYMBOL vmlinux 0x9e64fbfe rtc_cmos_read +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ea0ad49 __sg_free_table +EXPORT_SYMBOL vmlinux 0x9ea28ec7 acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0x9ebd4c04 adjust_resource +EXPORT_SYMBOL vmlinux 0x9ec7c2de file_remove_suid +EXPORT_SYMBOL vmlinux 0x9ecf243e napi_frags_finish +EXPORT_SYMBOL vmlinux 0x9edbecae snprintf +EXPORT_SYMBOL vmlinux 0x9ee22b6b no_llseek +EXPORT_SYMBOL vmlinux 0x9eecde16 do_brk +EXPORT_SYMBOL vmlinux 0x9ef33171 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x9efe84c2 tty_devnum +EXPORT_SYMBOL vmlinux 0x9f0aa9fb mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x9f0e037c call_usermodehelper_pipe +EXPORT_SYMBOL vmlinux 0x9f2811c1 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f2d613e param_set_bool +EXPORT_SYMBOL vmlinux 0x9f316770 genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x9f424093 free_user_ns +EXPORT_SYMBOL vmlinux 0x9f4c13b8 key_alloc +EXPORT_SYMBOL vmlinux 0x9f636ca6 dquot_release +EXPORT_SYMBOL vmlinux 0x9f698679 blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x9f87bf5f blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x9f8dba0d key_unlink +EXPORT_SYMBOL vmlinux 0x9f92efc4 mmiotrace_printk +EXPORT_SYMBOL vmlinux 0x9f93c80e pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa274b4 dq_data_lock +EXPORT_SYMBOL vmlinux 0x9fae368e tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x9fdb8cae tcp_shutdown +EXPORT_SYMBOL vmlinux 0xa03523d5 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xa0366540 md_integrity_register +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa05a6220 nf_log_packet +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa0799345 iget_failed +EXPORT_SYMBOL vmlinux 0xa07a7678 genphy_read_status +EXPORT_SYMBOL vmlinux 0xa08b8c42 dquot_transfer +EXPORT_SYMBOL vmlinux 0xa08c6a7a create_mnt_ns +EXPORT_SYMBOL vmlinux 0xa0a3103e d_instantiate +EXPORT_SYMBOL vmlinux 0xa0a474a7 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xa0a4ac21 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b4a6a1 remove_arg_zero +EXPORT_SYMBOL vmlinux 0xa0c36e83 is_bad_inode +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0d3d560 ksize +EXPORT_SYMBOL vmlinux 0xa0ecb649 locks_remove_posix +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa100d575 tcp_ioctl +EXPORT_SYMBOL vmlinux 0xa1012177 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xa1034176 acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa13798f8 printk_ratelimit +EXPORT_SYMBOL vmlinux 0xa171b92f f_setown +EXPORT_SYMBOL vmlinux 0xa18d6a1c jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1ba4b95 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa1bc3c57 netif_carrier_on +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1ce4c2d blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xa1cea0b8 proc_dointvec +EXPORT_SYMBOL vmlinux 0xa1df2b90 km_state_expired +EXPORT_SYMBOL vmlinux 0xa207c239 bio_copy_user +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa21d2345 stop_tty +EXPORT_SYMBOL vmlinux 0xa2263d7c generic_unplug_device +EXPORT_SYMBOL vmlinux 0xa24534fb netdev_bonding_change +EXPORT_SYMBOL vmlinux 0xa246b161 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xa2576d65 prepare_binprm +EXPORT_SYMBOL vmlinux 0xa268a4d1 input_register_handle +EXPORT_SYMBOL vmlinux 0xa2782320 dm_put_device +EXPORT_SYMBOL vmlinux 0xa28e76e6 schedule_work +EXPORT_SYMBOL vmlinux 0xa29b1708 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0xa2a1e5c9 _write_lock_bh +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2b8a2ba __init_rwsem +EXPORT_SYMBOL vmlinux 0xa2c55528 dma_async_device_register +EXPORT_SYMBOL vmlinux 0xa2ccf767 blk_queue_bounce +EXPORT_SYMBOL vmlinux 0xa31f172d __copy_from_user_inatomic +EXPORT_SYMBOL vmlinux 0xa324bc31 elevator_init +EXPORT_SYMBOL vmlinux 0xa329f07e register_shrinker +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa33f7c7c nla_strlcpy +EXPORT_SYMBOL vmlinux 0xa350a8f8 set_memory_array_uc +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa373570e dm_dirty_log_type_register +EXPORT_SYMBOL vmlinux 0xa39fbd35 simple_fsync +EXPORT_SYMBOL vmlinux 0xa3a5be95 memmove +EXPORT_SYMBOL vmlinux 0xa3bbcd80 acpi_set_gpe_type +EXPORT_SYMBOL vmlinux 0xa3d0d641 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0xa3d15406 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0xa415b384 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0xa4163bbc kernel_accept +EXPORT_SYMBOL vmlinux 0xa41996db pci_enable_device_io +EXPORT_SYMBOL vmlinux 0xa41f9a8f igrab +EXPORT_SYMBOL vmlinux 0xa444a70a agp_bridge +EXPORT_SYMBOL vmlinux 0xa44ad274 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xa454a92f tcf_generic_walker +EXPORT_SYMBOL vmlinux 0xa468bb3b phy_start_aneg +EXPORT_SYMBOL vmlinux 0xa47b47fc module_refcount +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4bde9e5 key_type_keyring +EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL vmlinux 0xa4df7f60 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xa50a9ee0 pci_dev_get +EXPORT_SYMBOL vmlinux 0xa536f0e2 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0xa56f1315 mempool_free +EXPORT_SYMBOL vmlinux 0xa5808bbf tasklet_init +EXPORT_SYMBOL vmlinux 0xa58b6804 nla_parse +EXPORT_SYMBOL vmlinux 0xa5922bb1 kfifo_init +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5adbe8c ida_destroy +EXPORT_SYMBOL vmlinux 0xa5bbf77f d_lookup +EXPORT_SYMBOL vmlinux 0xa5f7c25a journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xa5fc1b2c install_exec_creds +EXPORT_SYMBOL vmlinux 0xa5fc669d input_flush_device +EXPORT_SYMBOL vmlinux 0xa606ccb0 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xa617b15f simple_sync_file +EXPORT_SYMBOL vmlinux 0xa626b73e dget_locked +EXPORT_SYMBOL vmlinux 0xa63d85ab slhc_remember +EXPORT_SYMBOL vmlinux 0xa650efe9 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0xa663ddef blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0xa6703808 dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0xa68124fa hweight8 +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa69b2498 sock_get_timestampns +EXPORT_SYMBOL vmlinux 0xa6b64078 vfs_read +EXPORT_SYMBOL vmlinux 0xa6cc0e5f blk_init_queue +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6ec6f2d blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xa6fc8e0a dquot_free_inode +EXPORT_SYMBOL vmlinux 0xa7052f9f acpi_root_dir +EXPORT_SYMBOL vmlinux 0xa70913e8 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xa70fabbe release_evntsel_nmi +EXPORT_SYMBOL vmlinux 0xa7100878 vfs_quota_enable +EXPORT_SYMBOL vmlinux 0xa71f8cde do_splice_from +EXPORT_SYMBOL vmlinux 0xa7239ea4 dev_unicast_delete +EXPORT_SYMBOL vmlinux 0xa72a0f5b nr_online_nodes +EXPORT_SYMBOL vmlinux 0xa786950e get_user_pages +EXPORT_SYMBOL vmlinux 0xa789a9ec scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0xa78b569e __lock_buffer +EXPORT_SYMBOL vmlinux 0xa7949cd9 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0xa7a358f2 blk_sync_queue +EXPORT_SYMBOL vmlinux 0xa7aa1548 swiotlb_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0xa7aaeea1 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xa7c221ce tty_hangup +EXPORT_SYMBOL vmlinux 0xa7ca9322 do_sync_read +EXPORT_SYMBOL vmlinux 0xa81ab8f4 inet_csk_accept +EXPORT_SYMBOL vmlinux 0xa835ae44 tty_port_close +EXPORT_SYMBOL vmlinux 0xa8532866 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0xa85b2f0c __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xa869bab8 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0xa8850c29 journal_init_dev +EXPORT_SYMBOL vmlinux 0xa886a958 krealloc +EXPORT_SYMBOL vmlinux 0xa888b302 tty_set_operations +EXPORT_SYMBOL vmlinux 0xa89bd661 consume_skb +EXPORT_SYMBOL vmlinux 0xa8a6f639 __check_region +EXPORT_SYMBOL vmlinux 0xa8bf6889 registered_fb +EXPORT_SYMBOL vmlinux 0xa8caca96 key_put +EXPORT_SYMBOL vmlinux 0xa8d22cd3 keyring_search +EXPORT_SYMBOL vmlinux 0xa8d68abd acpi_warning +EXPORT_SYMBOL vmlinux 0xa8d7a5f1 __kill_fasync +EXPORT_SYMBOL vmlinux 0xa8fbb54c journal_stop +EXPORT_SYMBOL vmlinux 0xa8fbf582 idr_replace +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa8ff6c91 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0xa9012f32 scsi_init_io +EXPORT_SYMBOL vmlinux 0xa90c4971 unregister_binfmt +EXPORT_SYMBOL vmlinux 0xa91b5561 acpi_video_backlight_support +EXPORT_SYMBOL vmlinux 0xa93f04c4 skb_trim +EXPORT_SYMBOL vmlinux 0xa99ce956 init_buffer +EXPORT_SYMBOL vmlinux 0xa9bd2676 __vmalloc +EXPORT_SYMBOL vmlinux 0xa9d59dcb __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xa9f341c5 sk_common_release +EXPORT_SYMBOL vmlinux 0xa9f9d067 block_prepare_write +EXPORT_SYMBOL vmlinux 0xa9fafcb2 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xa9fcf31d wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0xaa1be8f6 tty_port_close_end +EXPORT_SYMBOL vmlinux 0xaa4ff839 sk_filter +EXPORT_SYMBOL vmlinux 0xaa6a3e8c __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xaa84a8ae acpi_processor_power_init_bm_check +EXPORT_SYMBOL vmlinux 0xaab06af8 _write_lock_irqsave +EXPORT_SYMBOL vmlinux 0xaabb6bea tty_port_init +EXPORT_SYMBOL vmlinux 0xaaca670e filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaaea2206 __dst_free +EXPORT_SYMBOL vmlinux 0xaaf45875 acpi_lid_notifier_unregister +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab0d9096 skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0xab33a1ab __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xab34137c __xfrm_lookup +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab65ed80 set_memory_uc +EXPORT_SYMBOL vmlinux 0xab770678 rdmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0xaba77086 pci_set_mwi +EXPORT_SYMBOL vmlinux 0xaba9ff34 allocate_resource +EXPORT_SYMBOL vmlinux 0xabb50bdb agp_generic_destroy_page +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabd159cb __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0xabd3ffb9 agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0xabdcddcb tcp_v4_md5_do_del +EXPORT_SYMBOL vmlinux 0xabe75325 sk_stop_timer +EXPORT_SYMBOL vmlinux 0xabe85a21 idr_init +EXPORT_SYMBOL vmlinux 0xabef257b jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac383451 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0xac58ea5e acpi_unload_table_id +EXPORT_SYMBOL vmlinux 0xac6794a7 seq_write +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac76fb11 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xac97fe6e journal_release_buffer +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xaccc354f skb_make_writable +EXPORT_SYMBOL vmlinux 0xaccc929f blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xacdeb154 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf565ba load_nls +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad041df4 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0xad13c689 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xad25fb12 __memcpy +EXPORT_SYMBOL vmlinux 0xad32d127 ethtool_op_set_flags +EXPORT_SYMBOL vmlinux 0xad69c9f6 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0xad6b0d82 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xad6bc591 fput +EXPORT_SYMBOL vmlinux 0xad8de1b3 acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0xad8f6e10 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xada7ecbd ipv4_specific +EXPORT_SYMBOL vmlinux 0xada8058f vfs_quota_off +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadaf28b4 datagram_poll +EXPORT_SYMBOL vmlinux 0xae8e83e9 simple_transaction_get +EXPORT_SYMBOL vmlinux 0xaec41102 agp_collect_device_status +EXPORT_SYMBOL vmlinux 0xaed013b9 posix_acl_valid +EXPORT_SYMBOL vmlinux 0xaefeca3f pneigh_enqueue +EXPORT_SYMBOL vmlinux 0xaf06df0e netlink_set_err +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf64f1f6 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0xaf6e5e61 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0xaf73f1b4 __break_lease +EXPORT_SYMBOL vmlinux 0xafba08c9 sock_get_timestamp +EXPORT_SYMBOL vmlinux 0xafe82e10 strcspn +EXPORT_SYMBOL vmlinux 0xb00ef5ac proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xb0114f5a simple_link +EXPORT_SYMBOL vmlinux 0xb014ac10 do_SAK +EXPORT_SYMBOL vmlinux 0xb02b866c uart_match_port +EXPORT_SYMBOL vmlinux 0xb04ea8f0 agp_rebind_memory +EXPORT_SYMBOL vmlinux 0xb051909f ida_init +EXPORT_SYMBOL vmlinux 0xb055d8da posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0xb06f37c8 swiotlb_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0xb070777f pci_pme_active +EXPORT_SYMBOL vmlinux 0xb07dfb3d acpi_remove_gpe_handler +EXPORT_SYMBOL vmlinux 0xb097a68c unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0xb0a94457 generic_write_end +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0baeaed set_user_nice +EXPORT_SYMBOL vmlinux 0xb0ce26b3 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0xb0df0f46 vfs_quota_on_mount +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb1096f88 kick_iocb +EXPORT_SYMBOL vmlinux 0xb111be59 scsi_host_get +EXPORT_SYMBOL vmlinux 0xb11fa1ce strlcat +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb133fdeb __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0xb1645a2e sg_free_table +EXPORT_SYMBOL vmlinux 0xb165ceb1 path_get +EXPORT_SYMBOL vmlinux 0xb1706904 hippi_change_mtu +EXPORT_SYMBOL vmlinux 0xb1837e35 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xb18e02c3 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xb1904b35 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1b9ec1b phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1cfad22 rdmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xb1d78986 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xb1f975aa unlock_kernel +EXPORT_SYMBOL vmlinux 0xb20a1aaa inet_stream_connect +EXPORT_SYMBOL vmlinux 0xb20ecf88 acpi_run_osc +EXPORT_SYMBOL vmlinux 0xb219d56c wbinvd_on_cpu +EXPORT_SYMBOL vmlinux 0xb224fbe2 param_get_short +EXPORT_SYMBOL vmlinux 0xb22fe6a3 netdev_increment_features +EXPORT_SYMBOL vmlinux 0xb239fe99 ip_setsockopt +EXPORT_SYMBOL vmlinux 0xb2464c43 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb279d5bf neigh_ifdown +EXPORT_SYMBOL vmlinux 0xb279da12 pv_lock_ops +EXPORT_SYMBOL vmlinux 0xb2826159 inet_shutdown +EXPORT_SYMBOL vmlinux 0xb28c8229 sync_blockdev +EXPORT_SYMBOL vmlinux 0xb2bed11c llc_sap_find +EXPORT_SYMBOL vmlinux 0xb2e55898 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xb2fd5ceb __put_user_4 +EXPORT_SYMBOL vmlinux 0xb30d3c96 blk_queue_max_sectors +EXPORT_SYMBOL vmlinux 0xb3120ded register_netdev +EXPORT_SYMBOL vmlinux 0xb3205415 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0xb3284531 acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xb34d4c2e acpi_terminate +EXPORT_SYMBOL vmlinux 0xb352177e find_first_bit +EXPORT_SYMBOL vmlinux 0xb36d0e7f acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0xb3946ef3 mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0xb397e54e swiotlb_alloc_coherent +EXPORT_SYMBOL vmlinux 0xb3994c7a per_cpu__kstat +EXPORT_SYMBOL vmlinux 0xb3a307c6 si_meminfo +EXPORT_SYMBOL vmlinux 0xb3bc2c57 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0xb3c42c94 per_cpu__x86_bios_cpu_apicid +EXPORT_SYMBOL vmlinux 0xb3d89a96 dm_dirty_log_type_unregister +EXPORT_SYMBOL vmlinux 0xb3ff1f69 free_pages_exact +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb42453d3 param_get_invbool +EXPORT_SYMBOL vmlinux 0xb4279ab7 downgrade_write +EXPORT_SYMBOL vmlinux 0xb4390f9a mcount +EXPORT_SYMBOL vmlinux 0xb44212f9 acpi_device_hid +EXPORT_SYMBOL vmlinux 0xb45b24f6 k8_nb_ids +EXPORT_SYMBOL vmlinux 0xb4630d36 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb49d3bce vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0xb4b0ee4e down_read +EXPORT_SYMBOL vmlinux 0xb4b491f6 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0xb4ca9447 __kfifo_get +EXPORT_SYMBOL vmlinux 0xb4cc9939 md_register_thread +EXPORT_SYMBOL vmlinux 0xb4def5ac simple_rename +EXPORT_SYMBOL vmlinux 0xb5044271 vsscanf +EXPORT_SYMBOL vmlinux 0xb50d3e56 agp_alloc_bridge +EXPORT_SYMBOL vmlinux 0xb510ba1d compat_mc_getsockopt +EXPORT_SYMBOL vmlinux 0xb512c036 read_cache_pages +EXPORT_SYMBOL vmlinux 0xb523ecaa seq_printf +EXPORT_SYMBOL vmlinux 0xb52b7976 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb59e0375 vfs_create +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5c2b94c bitmap_start_sync +EXPORT_SYMBOL vmlinux 0xb5c39c89 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xb5ca1c46 slhc_free +EXPORT_SYMBOL vmlinux 0xb5cc0828 mmc_host_enable +EXPORT_SYMBOL vmlinux 0xb5cef264 journal_check_available_features +EXPORT_SYMBOL vmlinux 0xb5d52c27 ec_transaction +EXPORT_SYMBOL vmlinux 0xb5f28b5f __any_online_cpu +EXPORT_SYMBOL vmlinux 0xb611fb71 generic_file_aio_read +EXPORT_SYMBOL vmlinux 0xb62032c6 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0xb6244511 sg_init_one +EXPORT_SYMBOL vmlinux 0xb6327ff2 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0xb6353555 per_cpu__x86_cpu_to_apicid +EXPORT_SYMBOL vmlinux 0xb63b0749 fifo_set_limit +EXPORT_SYMBOL vmlinux 0xb6480e93 netlink_unicast +EXPORT_SYMBOL vmlinux 0xb656ef05 bio_kmalloc +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb68cc290 simple_transaction_set +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6bffb99 kstat_irqs_cpu +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6cbe886 acpi_get_node +EXPORT_SYMBOL vmlinux 0xb6ccde25 dev_set_mtu +EXPORT_SYMBOL vmlinux 0xb6e227aa rtc_lock +EXPORT_SYMBOL vmlinux 0xb6e49692 pci_release_region +EXPORT_SYMBOL vmlinux 0xb7256063 posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0xb73e42fa starget_for_each_device +EXPORT_SYMBOL vmlinux 0xb7542d7d llc_build_and_send_ui_pkt +EXPORT_SYMBOL vmlinux 0xb758b225 acpi_disable_event +EXPORT_SYMBOL vmlinux 0xb76c56f6 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xb77ffea1 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xb79254a5 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0xb798b8e4 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0xb7a47297 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xb7c6a8c9 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0xb7ccb3c7 twl4030_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xb7d7c136 close_bdev_exclusive +EXPORT_SYMBOL vmlinux 0xb807c6c5 submit_bio +EXPORT_SYMBOL vmlinux 0xb80e0c39 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0xb811c171 security_inode_permission +EXPORT_SYMBOL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL vmlinux 0xb818aa78 register_gifconf +EXPORT_SYMBOL vmlinux 0xb81cf266 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xb81d3926 bio_init +EXPORT_SYMBOL vmlinux 0xb839029c elv_rb_add +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb88568ba swiotlb_unmap_sg +EXPORT_SYMBOL vmlinux 0xb893e46c tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8af87a0 mpage_writepages +EXPORT_SYMBOL vmlinux 0xb8b0f28e inet_put_port +EXPORT_SYMBOL vmlinux 0xb8b1d78a blk_put_request +EXPORT_SYMBOL vmlinux 0xb8bd6293 fb_pan_display +EXPORT_SYMBOL vmlinux 0xb8cf4ac8 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0xb8d1968c __rta_fill +EXPORT_SYMBOL vmlinux 0xb8d6fe01 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0xb8e7ce2c __put_user_8 +EXPORT_SYMBOL vmlinux 0xb8f3aeed xfrm_init_state +EXPORT_SYMBOL vmlinux 0xb8f6bc42 scsi_add_device +EXPORT_SYMBOL vmlinux 0xb904be71 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0xb90f78a0 devm_ioport_map +EXPORT_SYMBOL vmlinux 0xb91c1a83 scsi_free_command +EXPORT_SYMBOL vmlinux 0xb979597a sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xb98298f2 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb999ff13 xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0xb9fd2205 add_efi_memmap +EXPORT_SYMBOL vmlinux 0xba0f40e0 netpoll_setup +EXPORT_SYMBOL vmlinux 0xba11501a genphy_update_link +EXPORT_SYMBOL vmlinux 0xba2d8594 ec_read +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba786e87 mdiobus_scan +EXPORT_SYMBOL vmlinux 0xba7b2290 zero_fill_bio +EXPORT_SYMBOL vmlinux 0xba855fe1 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0xbaa2782a kstrndup +EXPORT_SYMBOL vmlinux 0xbaaab8ae timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xbb06b8d1 agp_alloc_page_array +EXPORT_SYMBOL vmlinux 0xbb167766 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb19dc3f tcp_read_sock +EXPORT_SYMBOL vmlinux 0xbb1fad6a flush_delayed_work +EXPORT_SYMBOL vmlinux 0xbb251839 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0xbb458f82 x86_dma_fallback_dev +EXPORT_SYMBOL vmlinux 0xbb5866fd dev_set_mac_address +EXPORT_SYMBOL vmlinux 0xbb5bd648 pci_get_bus_and_slot +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb783d89 scsi_remove_device +EXPORT_SYMBOL vmlinux 0xbbbcdaa7 inet_release +EXPORT_SYMBOL vmlinux 0xbbbd5381 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0xbbe0aefc dmam_free_coherent +EXPORT_SYMBOL vmlinux 0xbbe39037 journal_extend +EXPORT_SYMBOL vmlinux 0xbc3570de xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbccbb49c idr_remove_all +EXPORT_SYMBOL vmlinux 0xbccdb1d2 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0xbcd9fbeb vfs_rename +EXPORT_SYMBOL vmlinux 0xbcec0aa8 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0xbd0cd6a8 mmc_suspend_host +EXPORT_SYMBOL vmlinux 0xbd270894 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0xbd3505f8 scsi_remove_host +EXPORT_SYMBOL vmlinux 0xbd4dab37 dev_addr_add +EXPORT_SYMBOL vmlinux 0xbd4e6b8f nobh_write_end +EXPORT_SYMBOL vmlinux 0xbd5bba9c phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0xbdaf5b07 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0xbdbe0e56 dma_set_mask +EXPORT_SYMBOL vmlinux 0xbdc984d5 bdget +EXPORT_SYMBOL vmlinux 0xbde403c5 napi_reuse_skb +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbe025bea netif_napi_add +EXPORT_SYMBOL vmlinux 0xbe2c5c76 inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0xbe3f4b94 agp_free_page_array +EXPORT_SYMBOL vmlinux 0xbe499d81 copy_to_user +EXPORT_SYMBOL vmlinux 0xbe4be58e scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xbe58e340 agp_generic_insert_memory +EXPORT_SYMBOL vmlinux 0xbe59127f splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0xbe6b17f7 textsearch_prepare +EXPORT_SYMBOL vmlinux 0xbe90dfc9 skb_queue_purge +EXPORT_SYMBOL vmlinux 0xbeb66826 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0xbecdce74 ida_pre_get +EXPORT_SYMBOL vmlinux 0xbed60566 sub_preempt_count +EXPORT_SYMBOL vmlinux 0xbed7552b pnp_start_dev +EXPORT_SYMBOL vmlinux 0xbee04438 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf28f18a arp_tbl +EXPORT_SYMBOL vmlinux 0xbf2d3d9e rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0xbf3c582a sb_min_blocksize +EXPORT_SYMBOL vmlinux 0xbf3e005b mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf8ce7a2 boot_cpu_data +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfb0442e dev_trans_start +EXPORT_SYMBOL vmlinux 0xbfba49c1 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0xbfbe725e agp_generic_remove_memory +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfcd5404 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0xbfd8cf1f vfs_fsync +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc001aca7 rfkill_alloc +EXPORT_SYMBOL vmlinux 0xc003c637 __strncpy_from_user +EXPORT_SYMBOL vmlinux 0xc0044724 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xc00486c8 scsi_target_resume +EXPORT_SYMBOL vmlinux 0xc00ce279 lro_receive_frags +EXPORT_SYMBOL vmlinux 0xc011ec72 textsearch_register +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc05ef80e cap_netlink_recv +EXPORT_SYMBOL vmlinux 0xc06509d1 init_file +EXPORT_SYMBOL vmlinux 0xc06b7fa6 sock_create_lite +EXPORT_SYMBOL vmlinux 0xc07d43ae acpi_evaluate_reference +EXPORT_SYMBOL vmlinux 0xc09651d9 crc32_be +EXPORT_SYMBOL vmlinux 0xc09acf5c scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL vmlinux 0xc0cc02cd unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0xc0d15904 inode_permission +EXPORT_SYMBOL vmlinux 0xc0d2e55e inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xc10d4f6b agp_generic_destroy_pages +EXPORT_SYMBOL vmlinux 0xc1396280 pci_enable_device +EXPORT_SYMBOL vmlinux 0xc13bcae4 fb_blank +EXPORT_SYMBOL vmlinux 0xc14c3f52 set_blocksize +EXPORT_SYMBOL vmlinux 0xc16cffa1 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xc18fa079 slow_work_cancel +EXPORT_SYMBOL vmlinux 0xc21013f7 phy_connect_direct +EXPORT_SYMBOL vmlinux 0xc235eb34 ilookup +EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL vmlinux 0xc248a2aa xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0xc24b3923 sk_run_filter +EXPORT_SYMBOL vmlinux 0xc254af48 dcache_lock +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc25704d9 iput +EXPORT_SYMBOL vmlinux 0xc2a1873b d_find_alias +EXPORT_SYMBOL vmlinux 0xc2bdf68c __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xc2be9086 copy_io_context +EXPORT_SYMBOL vmlinux 0xc2c8ced8 neigh_create +EXPORT_SYMBOL vmlinux 0xc2cd3a0a scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xc2dab4a8 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2e69ad4 sock_i_uid +EXPORT_SYMBOL vmlinux 0xc316b98c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0xc32871e9 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0xc33f6f4c on_each_cpu +EXPORT_SYMBOL vmlinux 0xc34a8df5 buffer_migrate_page +EXPORT_SYMBOL vmlinux 0xc363cfbe scm_fp_dup +EXPORT_SYMBOL vmlinux 0xc3654cf7 pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0xc37038fa tty_check_change +EXPORT_SYMBOL vmlinux 0xc382660a acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc390e690 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0xc3a5c220 scsi_finish_command +EXPORT_SYMBOL vmlinux 0xc3aaf0a9 __put_user_1 +EXPORT_SYMBOL vmlinux 0xc3aec665 bdi_init +EXPORT_SYMBOL vmlinux 0xc3af587e dev_get_by_index +EXPORT_SYMBOL vmlinux 0xc3c15f07 dev_disable_lro +EXPORT_SYMBOL vmlinux 0xc3c6033a pci_remove_bus +EXPORT_SYMBOL vmlinux 0xc3db1ee1 start_tty +EXPORT_SYMBOL vmlinux 0xc3f5cdb9 lock_rename +EXPORT_SYMBOL vmlinux 0xc402cc99 register_acpi_notifier +EXPORT_SYMBOL vmlinux 0xc4164dc1 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0xc420081d blk_start_request +EXPORT_SYMBOL vmlinux 0xc42765b4 elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0xc427f37d vfs_set_dqblk +EXPORT_SYMBOL vmlinux 0xc44ed2bb tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0xc456e061 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0xc464cc8f cdrom_ioctl +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4c04046 pci_get_slot +EXPORT_SYMBOL vmlinux 0xc4c4708d __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xc4d4584d input_release_device +EXPORT_SYMBOL vmlinux 0xc4d55a2c blk_peek_request +EXPORT_SYMBOL vmlinux 0xc4d89569 vfs_follow_link +EXPORT_SYMBOL vmlinux 0xc4e9c01c cpu_active_mask +EXPORT_SYMBOL vmlinux 0xc5116f5a dev_get_by_flags +EXPORT_SYMBOL vmlinux 0xc5230f65 register_md_personality +EXPORT_SYMBOL vmlinux 0xc52f5714 fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0xc536dfd5 find_vma +EXPORT_SYMBOL vmlinux 0xc53c882d idr_get_new +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc558530d profile_pc +EXPORT_SYMBOL vmlinux 0xc55f7dc7 _write_trylock +EXPORT_SYMBOL vmlinux 0xc580cbbf cont_write_begin +EXPORT_SYMBOL vmlinux 0xc5844fb8 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0xc5a597ca posix_lock_file +EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL vmlinux 0xc5ef0619 netpoll_print_options +EXPORT_SYMBOL vmlinux 0xc5fb3dd6 mutex_lock +EXPORT_SYMBOL vmlinux 0xc610db98 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0xc640e152 alloc_disk +EXPORT_SYMBOL vmlinux 0xc64b6508 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL vmlinux 0xc691b895 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0xc6b8fdb1 add_disk +EXPORT_SYMBOL vmlinux 0xc6ba6a7f bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0xc6c3835a do_sync_write +EXPORT_SYMBOL vmlinux 0xc7167e26 generic_make_request +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc722227e posix_acl_clone +EXPORT_SYMBOL vmlinux 0xc740c64a memchr +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a24d76 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7b59c3c pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0xc7c65d2d neigh_for_each +EXPORT_SYMBOL vmlinux 0xc7dc1ccd compat_ip_setsockopt +EXPORT_SYMBOL vmlinux 0xc856f189 vfs_quota_on_path +EXPORT_SYMBOL vmlinux 0xc85ad975 simple_readpage +EXPORT_SYMBOL vmlinux 0xc85f3e07 vga_get +EXPORT_SYMBOL vmlinux 0xc863806a security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xc8694c74 acpi_bus_generate_proc_event +EXPORT_SYMBOL vmlinux 0xc872d82a redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0xc897c382 sg_init_table +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8ca3e25 acpi_get_child +EXPORT_SYMBOL vmlinux 0xc8d17a65 thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0xc8d526f5 __ht_create_irq +EXPORT_SYMBOL vmlinux 0xc90b7716 drop_super +EXPORT_SYMBOL vmlinux 0xc917e655 debug_smp_processor_id +EXPORT_SYMBOL vmlinux 0xc971d43b blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0xc98ce8c2 journal_destroy +EXPORT_SYMBOL vmlinux 0xc998d641 icmp_err_convert +EXPORT_SYMBOL vmlinux 0xc9ab2eef acpi_os_wait_events_complete +EXPORT_SYMBOL vmlinux 0xc9b16215 ___pskb_trim +EXPORT_SYMBOL vmlinux 0xc9e0c9dc pci_release_regions +EXPORT_SYMBOL vmlinux 0xc9e6a0cc __ip_select_ident +EXPORT_SYMBOL vmlinux 0xc9e9db44 pci_claim_resource +EXPORT_SYMBOL vmlinux 0xc9ec8704 udp_table +EXPORT_SYMBOL vmlinux 0xc9fc5a34 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xca18511f ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca6b74b2 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0xca7f8b41 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xca8acc78 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xcabdc0ac simple_pin_fs +EXPORT_SYMBOL vmlinux 0xcac440a1 vfs_unlink +EXPORT_SYMBOL vmlinux 0xcac946bd vfs_writev +EXPORT_SYMBOL vmlinux 0xcaeac8bf tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0xcaf86bd6 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0xcaff14a1 scsi_prep_return +EXPORT_SYMBOL vmlinux 0xcb26159d neigh_lookup +EXPORT_SYMBOL vmlinux 0xcb319c7c security_path_mkdir +EXPORT_SYMBOL vmlinux 0xcb559bcf inode_change_ok +EXPORT_SYMBOL vmlinux 0xcb6beb40 hweight32 +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcb8a4d75 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0xcbb9d7db groups_free +EXPORT_SYMBOL vmlinux 0xcbcc61d4 create_proc_entry +EXPORT_SYMBOL vmlinux 0xcbd162a0 generic_show_options +EXPORT_SYMBOL vmlinux 0xcbe12780 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xcbe23a13 dquot_release_reserved_space +EXPORT_SYMBOL vmlinux 0xcbfcf2ca tty_name +EXPORT_SYMBOL vmlinux 0xcc07af75 strnlen +EXPORT_SYMBOL vmlinux 0xcc08196a scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc33d0b8 inode_set_bytes +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc3f176f per_cpu__x86_cpu_to_node_map +EXPORT_SYMBOL vmlinux 0xcc4b444b inet_del_protocol +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc51ee50 dma_spin_lock +EXPORT_SYMBOL vmlinux 0xcc52d4e8 rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0xcc5db530 vlan_gro_frags +EXPORT_SYMBOL vmlinux 0xcc714941 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc80ff0a swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0xcc8a8718 dm_table_get_size +EXPORT_SYMBOL vmlinux 0xcca9aaf6 call_usermodehelper_stdinpipe +EXPORT_SYMBOL vmlinux 0xccac26b4 inet_sendmsg +EXPORT_SYMBOL vmlinux 0xccb6062c key_link +EXPORT_SYMBOL vmlinux 0xccb7fbd2 netlink_broadcast +EXPORT_SYMBOL vmlinux 0xccd373d7 agp_generic_alloc_by_type +EXPORT_SYMBOL vmlinux 0xccd675fc i2c_release_client +EXPORT_SYMBOL vmlinux 0xcd248e98 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xcd90fe6b init_net +EXPORT_SYMBOL vmlinux 0xcdf9e930 lock_fb_info +EXPORT_SYMBOL vmlinux 0xcdfbee7b rtc_dev_update_irq_enable_emul +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce28ffd0 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xce36ded6 sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xce3cbb14 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0xce3cd445 pcim_enable_device +EXPORT_SYMBOL vmlinux 0xce4904a4 acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce61cfa7 compat_sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xcef5f72e bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xcef90d6e fail_migrate_page +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf137365 set_binfmt +EXPORT_SYMBOL vmlinux 0xcf1d28ab acpi_error +EXPORT_SYMBOL vmlinux 0xcf2003d8 rt6_lookup +EXPORT_SYMBOL vmlinux 0xcf4080c5 sock_no_listen +EXPORT_SYMBOL vmlinux 0xcf563c3c tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0xcf6cfe1f msrs_free +EXPORT_SYMBOL vmlinux 0xcf6f73a8 ps2_end_command +EXPORT_SYMBOL vmlinux 0xcf7f5b79 proc_create_data +EXPORT_SYMBOL vmlinux 0xcf987afe inet_select_addr +EXPORT_SYMBOL vmlinux 0xcfadd723 __percpu_counter_add +EXPORT_SYMBOL vmlinux 0xcfaecdba compat_tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xcfb9006e jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0xcfc4ac73 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xcff53400 kref_put +EXPORT_SYMBOL vmlinux 0xcfffc0ce xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xd00de857 eth_validate_addr +EXPORT_SYMBOL vmlinux 0xd00e8140 generic_write_sync +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd01b3bdb ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0xd08197fa acpi_load_tables +EXPORT_SYMBOL vmlinux 0xd0e08675 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL vmlinux 0xd139eaa5 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xd1472061 acpi_pci_register_driver +EXPORT_SYMBOL vmlinux 0xd1648503 tty_port_close_start +EXPORT_SYMBOL vmlinux 0xd1878c8c mmc_power_save_host +EXPORT_SYMBOL vmlinux 0xd18b6eb2 acpi_unmap_lsapic +EXPORT_SYMBOL vmlinux 0xd19bb294 acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0xd1a51de8 generic_block_bmap +EXPORT_SYMBOL vmlinux 0xd1f6c5f3 smp_num_siblings +EXPORT_SYMBOL vmlinux 0xd1f91bcd dev_base_lock +EXPORT_SYMBOL vmlinux 0xd210c441 pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0xd2235d73 clocksource_register +EXPORT_SYMBOL vmlinux 0xd22c2144 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0xd2480a30 tcp_alloc_md5sig_pool +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 0xd2651e25 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0xd267d42c down_killable +EXPORT_SYMBOL vmlinux 0xd26d002e neigh_connected_output +EXPORT_SYMBOL vmlinux 0xd27458fc ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0xd27e74cd skb_tx_hash +EXPORT_SYMBOL vmlinux 0xd2858060 vc_cons +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2a75ee0 dmi_first_match +EXPORT_SYMBOL vmlinux 0xd2bddf4f block_truncate_page +EXPORT_SYMBOL vmlinux 0xd2f19882 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0xd2f1e5cd jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xd34f0c62 gen_pool_create +EXPORT_SYMBOL vmlinux 0xd3729966 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0xd38ba75b tcp_proc_register +EXPORT_SYMBOL vmlinux 0xd3951da4 acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0xd3996f0d page_readlink +EXPORT_SYMBOL vmlinux 0xd3a870da input_event +EXPORT_SYMBOL vmlinux 0xd3ad6c77 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xd3af979c memdup_user +EXPORT_SYMBOL vmlinux 0xd3bb8f99 unregister_snap_client +EXPORT_SYMBOL vmlinux 0xd3f74cf1 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xd3fcf396 phy_detach +EXPORT_SYMBOL vmlinux 0xd4140ffa unregister_con_driver +EXPORT_SYMBOL vmlinux 0xd42b7232 _write_unlock_bh +EXPORT_SYMBOL vmlinux 0xd44d4907 block_sync_page +EXPORT_SYMBOL vmlinux 0xd4596a0f simple_transaction_release +EXPORT_SYMBOL vmlinux 0xd4752913 new_inode +EXPORT_SYMBOL vmlinux 0xd488f642 do_splice_to +EXPORT_SYMBOL vmlinux 0xd48a2307 skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0xd4c4ce79 simple_fill_super +EXPORT_SYMBOL vmlinux 0xd4d7205d clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xd4f46d8f kernel_bind +EXPORT_SYMBOL vmlinux 0xd504feb3 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xd50fef48 acpi_detach_data +EXPORT_SYMBOL vmlinux 0xd51cc572 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xd51fd7e7 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd5296b60 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0xd5594de8 phy_enable_interrupts +EXPORT_SYMBOL vmlinux 0xd55b3a1a cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0xd56b0f72 simple_getattr +EXPORT_SYMBOL vmlinux 0xd57f8789 iommu_num_pages +EXPORT_SYMBOL vmlinux 0xd5840104 dquot_reserve_space +EXPORT_SYMBOL vmlinux 0xd58cfa61 console_stop +EXPORT_SYMBOL vmlinux 0xd5bab189 dev_close +EXPORT_SYMBOL vmlinux 0xd5c7c61d sysctl_string +EXPORT_SYMBOL vmlinux 0xd5d6b881 input_filter_device +EXPORT_SYMBOL vmlinux 0xd5ea4462 __lookup_one_len +EXPORT_SYMBOL vmlinux 0xd5fb47c3 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xd60d7af4 ida_remove +EXPORT_SYMBOL vmlinux 0xd61d42a8 dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd63a37da dquot_commit +EXPORT_SYMBOL vmlinux 0xd6574d39 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xd65fe09b inet_add_protocol +EXPORT_SYMBOL vmlinux 0xd66fa85c acpi_bus_get_device +EXPORT_SYMBOL vmlinux 0xd6a78d08 smp_call_function_single +EXPORT_SYMBOL vmlinux 0xd6b33026 cpu_khz +EXPORT_SYMBOL vmlinux 0xd6c26b7e do_mmap_pgoff +EXPORT_SYMBOL vmlinux 0xd6cc2780 invalidate_bdev +EXPORT_SYMBOL vmlinux 0xd6d12b23 phy_stop +EXPORT_SYMBOL vmlinux 0xd6d68c6b vm_stat +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f9b9b4 eth_header_parse +EXPORT_SYMBOL vmlinux 0xd6fb3735 bitmap_end_sync +EXPORT_SYMBOL vmlinux 0xd6fe73c1 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0xd727f7d5 acpi_bus_start +EXPORT_SYMBOL vmlinux 0xd776d599 set_create_files_as +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd7a6fafa panic_notifier_list +EXPORT_SYMBOL vmlinux 0xd7b06cf1 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0xd7d65f2a pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0xd7dbc82d dm_table_get +EXPORT_SYMBOL vmlinux 0xd7dd777b reserve_perfctr_nmi +EXPORT_SYMBOL vmlinux 0xd804f3c7 file_update_time +EXPORT_SYMBOL vmlinux 0xd8226a2e udplite_prot +EXPORT_SYMBOL vmlinux 0xd826a0a9 sg_miter_next +EXPORT_SYMBOL vmlinux 0xd835a869 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0xd83791bc nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd844f466 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0xd84f1ad6 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xd851af78 up_write +EXPORT_SYMBOL vmlinux 0xd8730dd2 mmc_free_host +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8b89a0b thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0xd8c185f1 vmap +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd9091363 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0xd916ef76 dma_ops +EXPORT_SYMBOL vmlinux 0xd917c158 per_cpu__node_number +EXPORT_SYMBOL vmlinux 0xd922ee1a journal_restart +EXPORT_SYMBOL vmlinux 0xd92e3d96 set_irq_chip +EXPORT_SYMBOL vmlinux 0xd94680cc xfrm_register_km +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd9899619 ppp_input_error +EXPORT_SYMBOL vmlinux 0xd9a22672 rfkill_register +EXPORT_SYMBOL vmlinux 0xd9d80c2a get_sb_nodev +EXPORT_SYMBOL vmlinux 0xda082d8c n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0xda084d3f filp_open +EXPORT_SYMBOL vmlinux 0xda0a6b0e acpi_map_lsapic +EXPORT_SYMBOL vmlinux 0xda1a7335 kasprintf +EXPORT_SYMBOL vmlinux 0xda4107f1 flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0xda44360c may_umount +EXPORT_SYMBOL vmlinux 0xda4629e4 radix_tree_insert +EXPORT_SYMBOL vmlinux 0xda619fd5 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0xda70582c mapping_tagged +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xda928914 nmi_watchdog +EXPORT_SYMBOL vmlinux 0xda9c5189 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xdabf256b fsync_bdev +EXPORT_SYMBOL vmlinux 0xdafdc10c ndisc_mc_map +EXPORT_SYMBOL vmlinux 0xdb0463ea xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0xdb069365 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0xdb11a1a2 pci_choose_state +EXPORT_SYMBOL vmlinux 0xdb75196a get_phy_device +EXPORT_SYMBOL vmlinux 0xdb9475ed ndisc_send_skb +EXPORT_SYMBOL vmlinux 0xdba0a2ae request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xdbb5ad5c node_to_cpumask_map +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbda7825 tcp_close +EXPORT_SYMBOL vmlinux 0xdbf24fad dev_mc_unsync +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc053205 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc181d79 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc64feff sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0xdc70df8a seq_release_private +EXPORT_SYMBOL vmlinux 0xdc7dca15 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xdc861446 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xdc873a70 screen_info +EXPORT_SYMBOL vmlinux 0xdc8eb984 mmc_card_sleep +EXPORT_SYMBOL vmlinux 0xdca0e950 genl_register_family +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcc3bd9e arch_debugfs_dir +EXPORT_SYMBOL vmlinux 0xdcc77f06 clear_bdi_congested +EXPORT_SYMBOL vmlinux 0xdcccd33c tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0xdcfd6b6a scsi_rescan_device +EXPORT_SYMBOL vmlinux 0xdd05bac3 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xdd128d1e inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0xdd56dbac agp_allocate_memory +EXPORT_SYMBOL vmlinux 0xdd68bda0 ht_create_irq +EXPORT_SYMBOL vmlinux 0xdd7614ba eth_header_cache +EXPORT_SYMBOL vmlinux 0xdd773d8b pci_enable_wake +EXPORT_SYMBOL vmlinux 0xdd77b7df inode_init_once +EXPORT_SYMBOL vmlinux 0xdd964ab6 neigh_table_init_no_netlink +EXPORT_SYMBOL vmlinux 0xddc1a46b write_cache_pages +EXPORT_SYMBOL vmlinux 0xddd45316 unregister_8022_client +EXPORT_SYMBOL vmlinux 0xdded2d28 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xddf34887 pci_disable_device +EXPORT_SYMBOL vmlinux 0xde0bdcff memset +EXPORT_SYMBOL vmlinux 0xde137fe7 deny_write_access +EXPORT_SYMBOL vmlinux 0xde20a7d2 arch_acpi_processor_init_pdc +EXPORT_SYMBOL vmlinux 0xde31b902 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xde42dbc0 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xde463f98 elevator_exit +EXPORT_SYMBOL vmlinux 0xde57c110 pskb_copy +EXPORT_SYMBOL vmlinux 0xde691076 blk_end_request +EXPORT_SYMBOL vmlinux 0xde75b689 set_irq_type +EXPORT_SYMBOL vmlinux 0xde8346c5 input_register_device +EXPORT_SYMBOL vmlinux 0xde8b75b3 iget_locked +EXPORT_SYMBOL vmlinux 0xde912e0d mmc_resume_host +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL vmlinux 0xdf0ac4a2 scsi_dma_map +EXPORT_SYMBOL vmlinux 0xdf0da3cc acpi_get_devices +EXPORT_SYMBOL vmlinux 0xdf3f8b92 register_qdisc +EXPORT_SYMBOL vmlinux 0xdf4c8767 ns_to_timeval +EXPORT_SYMBOL vmlinux 0xdf4da263 nonseekable_open +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf79edc8 check_disk_change +EXPORT_SYMBOL vmlinux 0xdf86d89c qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0xdf8762fa swiotlb_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0xdf87ff99 con_copy_unimap +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf9b08bd unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xdfb7bada acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xdfbb65b9 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xdfc5169b slhc_init +EXPORT_SYMBOL vmlinux 0xdfd79ec4 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xdfdff17b seq_putc +EXPORT_SYMBOL vmlinux 0xe02633f9 uart_resume_port +EXPORT_SYMBOL vmlinux 0xe0359c9c dev_get_flags +EXPORT_SYMBOL vmlinux 0xe0436b5b pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0xe05181cb agp3_generic_tlbflush +EXPORT_SYMBOL vmlinux 0xe052217d __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe07f8e90 ethtool_op_get_tx_csum +EXPORT_SYMBOL vmlinux 0xe0ac8bd2 acpi_bus_generate_netlink_event +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0bc24a1 param_set_ushort +EXPORT_SYMBOL vmlinux 0xe0c9e9a5 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xe0d44865 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xe0d56478 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe11fb40e alloc_netdev_mq +EXPORT_SYMBOL vmlinux 0xe12efbb1 bio_put +EXPORT_SYMBOL vmlinux 0xe133d7ee scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe141aa6d insert_inode_locked +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe18c52a3 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0xe1a55b3f skb_insert +EXPORT_SYMBOL vmlinux 0xe1a790cc neigh_seq_start +EXPORT_SYMBOL vmlinux 0xe1a81c3a icmpv6msg_statistics +EXPORT_SYMBOL vmlinux 0xe1b6cd45 km_policy_expired +EXPORT_SYMBOL vmlinux 0xe1ca295a skb_put +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe23d7acb up_read +EXPORT_SYMBOL vmlinux 0xe24050c7 scnprintf +EXPORT_SYMBOL vmlinux 0xe2474ef3 find_lock_page +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe255cf38 __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xe26cf493 block_invalidatepage +EXPORT_SYMBOL vmlinux 0xe29b04e9 acpi_set_firmware_waking_vector64 +EXPORT_SYMBOL vmlinux 0xe2aaaa4e i2c_clients_command +EXPORT_SYMBOL vmlinux 0xe2b33763 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0xe2bdb23e udp_proc_unregister +EXPORT_SYMBOL vmlinux 0xe2be8e30 input_grab_device +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2da4868 pci_request_region +EXPORT_SYMBOL vmlinux 0xe2e301ae serio_close +EXPORT_SYMBOL vmlinux 0xe2e5b9d1 __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xe2e98cdb page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0xe30f294c scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xe36b10be tcf_em_register +EXPORT_SYMBOL vmlinux 0xe36b2aaa __elv_add_request +EXPORT_SYMBOL vmlinux 0xe38d4458 d_invalidate +EXPORT_SYMBOL vmlinux 0xe39418db sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0xe3ac860d udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xe3b0192b vscnprintf +EXPORT_SYMBOL vmlinux 0xe3c36fba xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xe3cafe36 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0xe3eefcdc log_wait_commit +EXPORT_SYMBOL vmlinux 0xe3fbe148 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xe43617f7 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0xe452bcaf llc_sap_open +EXPORT_SYMBOL vmlinux 0xe456bd3a complete +EXPORT_SYMBOL vmlinux 0xe473d896 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe4870354 _read_trylock +EXPORT_SYMBOL vmlinux 0xe49b8e34 security_path_symlink +EXPORT_SYMBOL vmlinux 0xe4a46fcc pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0xe4b24b8c __next_cpu +EXPORT_SYMBOL vmlinux 0xe4c1df3e _read_lock_bh +EXPORT_SYMBOL vmlinux 0xe4d151c6 nlmsg_notify +EXPORT_SYMBOL vmlinux 0xe4f1695e cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xe511c3ab backlight_device_register +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe52947e7 __phys_addr +EXPORT_SYMBOL vmlinux 0xe52bdfdd fb_find_mode +EXPORT_SYMBOL vmlinux 0xe5375b12 skb_pad +EXPORT_SYMBOL vmlinux 0xe5446f2e pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0xe54f2813 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xe55b6363 skb_queue_head +EXPORT_SYMBOL vmlinux 0xe5665703 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0xe57708fe generic_write_checks +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe57b14d4 user_revoke +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe5a35bf3 filemap_flush +EXPORT_SYMBOL vmlinux 0xe5a8c133 pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0xe5b34589 elv_abort_queue +EXPORT_SYMBOL vmlinux 0xe5bd367a filemap_fdatawait +EXPORT_SYMBOL vmlinux 0xe5c01c7f __bio_clone +EXPORT_SYMBOL vmlinux 0xe5c4c224 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5d5b608 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0xe5e27775 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe5f1db94 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xe637f021 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0xe64864d9 init_task +EXPORT_SYMBOL vmlinux 0xe65bf169 neigh_parms_release +EXPORT_SYMBOL vmlinux 0xe690b8fd __ipv6_isatap_ifid +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6d8d724 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xe6f570f5 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe6fffe1e inet6_getname +EXPORT_SYMBOL vmlinux 0xe708af3c xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0xe714375c __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xe7160b5c free_buffer_head +EXPORT_SYMBOL vmlinux 0xe716baed acpi_unregister_ioapic +EXPORT_SYMBOL vmlinux 0xe74b9a17 jbd2_journal_update_format +EXPORT_SYMBOL vmlinux 0xe7698c13 blk_recount_segments +EXPORT_SYMBOL vmlinux 0xe786168c rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0xe78960b9 acpi_get_physical_device +EXPORT_SYMBOL vmlinux 0xe7badac9 ip_defrag +EXPORT_SYMBOL vmlinux 0xe7bd98e6 agp_flush_chipset +EXPORT_SYMBOL vmlinux 0xe7d2aca1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xe7d32407 nmi_active +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7f08233 bio_add_page +EXPORT_SYMBOL vmlinux 0xe8099cd4 phy_start +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe80ec852 mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0xe8116e08 __kmalloc_node +EXPORT_SYMBOL vmlinux 0xe811ce38 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0xe85060c1 kobject_del +EXPORT_SYMBOL vmlinux 0xe8734cd0 register_framebuffer +EXPORT_SYMBOL vmlinux 0xe8794ce1 slhc_toss +EXPORT_SYMBOL vmlinux 0xe8967cb7 bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0xe8a3605f acpi_processor_set_thermal_limit +EXPORT_SYMBOL vmlinux 0xe8c8592d agp_enable +EXPORT_SYMBOL vmlinux 0xe8cd902e hweight16 +EXPORT_SYMBOL vmlinux 0xe90dcae0 __request_module +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe92b0d0b dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0xe9484c11 skb_unlink +EXPORT_SYMBOL vmlinux 0xe957bc06 vfs_llseek +EXPORT_SYMBOL vmlinux 0xe96a82b5 set_bh_page +EXPORT_SYMBOL vmlinux 0xe997667b wrmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xe99c6b22 mmc_card_awake +EXPORT_SYMBOL vmlinux 0xe9a5ee8c sock_init_data +EXPORT_SYMBOL vmlinux 0xe9c9c710 kernel_connect +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea147363 printk +EXPORT_SYMBOL vmlinux 0xea376094 simple_statfs +EXPORT_SYMBOL vmlinux 0xea4f73a3 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xea59bc83 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0xea73195a journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xea7518f1 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0xea7a26ff dst_discard +EXPORT_SYMBOL vmlinux 0xea90bdd3 acpi_attach_data +EXPORT_SYMBOL vmlinux 0xead58fb9 print_hex_dump +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeaf140f0 scsi_register_driver +EXPORT_SYMBOL vmlinux 0xeb1fabf6 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0xeb23949d skb_pull +EXPORT_SYMBOL vmlinux 0xeb6ceeba mmc_host_lazy_disable +EXPORT_SYMBOL vmlinux 0xeb74d733 rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xeb7c1057 block_write_full_page +EXPORT_SYMBOL vmlinux 0xeb874792 udp_proc_register +EXPORT_SYMBOL vmlinux 0xeb8f54b3 strstrip +EXPORT_SYMBOL vmlinux 0xeba3ef1b jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0xebbf1dba strncasecmp +EXPORT_SYMBOL vmlinux 0xebc8c88f md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0xebcae956 ppp_input +EXPORT_SYMBOL vmlinux 0xebd273a6 strict_strtoull +EXPORT_SYMBOL vmlinux 0xebda04e6 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0xebf1509b clocksource_unregister +EXPORT_SYMBOL vmlinux 0xec074bf0 register_filesystem +EXPORT_SYMBOL vmlinux 0xec2ef1ef skb_queue_tail +EXPORT_SYMBOL vmlinux 0xec6a256b tc_classify_compat +EXPORT_SYMBOL vmlinux 0xec71ac98 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0xec794ba0 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0xec7d0569 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0xecde1418 _spin_lock_irq +EXPORT_SYMBOL vmlinux 0xecf43c07 kmalloc_caches +EXPORT_SYMBOL vmlinux 0xed1ac980 lro_vlan_hwaccel_receive_frags +EXPORT_SYMBOL vmlinux 0xed35942c pci_fixup_device +EXPORT_SYMBOL vmlinux 0xed557f14 input_register_handler +EXPORT_SYMBOL vmlinux 0xed65b053 __find_get_block +EXPORT_SYMBOL vmlinux 0xed7dd484 phy_attach +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xeda62f20 __f_setown +EXPORT_SYMBOL vmlinux 0xeda7d47d atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedcfdedd tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0xeddfd2ca netlink_kernel_create +EXPORT_SYMBOL vmlinux 0xede9ab28 vfs_mkdir +EXPORT_SYMBOL vmlinux 0xedecf970 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0xedf8a16f __mmc_claim_host +EXPORT_SYMBOL vmlinux 0xee2ae5da inode_add_bytes +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee6b2fdc kernel_getpeername +EXPORT_SYMBOL vmlinux 0xee72f7b9 inet6_ioctl +EXPORT_SYMBOL vmlinux 0xee7893d4 eth_type_trans +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeec1e161 revalidate_disk +EXPORT_SYMBOL vmlinux 0xeec7d768 pci_set_dma_mask +EXPORT_SYMBOL vmlinux 0xef2cf53a ethtool_op_set_tx_ipv6_csum +EXPORT_SYMBOL vmlinux 0xef3234d9 wake_up_process +EXPORT_SYMBOL vmlinux 0xef37ccd0 unregister_netdev +EXPORT_SYMBOL vmlinux 0xef3de9dc dst_alloc +EXPORT_SYMBOL vmlinux 0xef3f4523 ethtool_op_get_flags +EXPORT_SYMBOL vmlinux 0xef4376e4 seq_open_private +EXPORT_SYMBOL vmlinux 0xef458902 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xef6ed1ba param_set_invbool +EXPORT_SYMBOL vmlinux 0xef9aedfc boot_option_idle_override +EXPORT_SYMBOL vmlinux 0xefb93069 generic_removexattr +EXPORT_SYMBOL vmlinux 0xefc2a227 set_pages_array_uc +EXPORT_SYMBOL vmlinux 0xefda3731 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefe099c3 acpi_get_event_status +EXPORT_SYMBOL vmlinux 0xeff1f3e7 acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0xeffaf6d0 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf001b0f4 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0xf0189889 vfs_dq_quota_on_remount +EXPORT_SYMBOL vmlinux 0xf01c1fdf fget +EXPORT_SYMBOL vmlinux 0xf02fb623 dev_getbyhwaddr +EXPORT_SYMBOL vmlinux 0xf0408743 devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0xf0538e5e tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf086ec71 agp_unbind_memory +EXPORT_SYMBOL vmlinux 0xf08dfc22 blk_queue_max_phys_segments +EXPORT_SYMBOL vmlinux 0xf0906e5a bitmap_close_sync +EXPORT_SYMBOL vmlinux 0xf0b3f396 key_validate +EXPORT_SYMBOL vmlinux 0xf0b472e3 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0xf0ca23b9 invalidate_inodes +EXPORT_SYMBOL vmlinux 0xf0cd0281 __mutex_init +EXPORT_SYMBOL vmlinux 0xf0cf2a2e find_get_page +EXPORT_SYMBOL vmlinux 0xf0d93f3e pci_map_rom +EXPORT_SYMBOL vmlinux 0xf0e6e2f5 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0xf0eb21f0 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0fdf6cb __stack_chk_fail +EXPORT_SYMBOL vmlinux 0xf106ecb3 acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0xf10707f7 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xf1079b3c kthread_bind +EXPORT_SYMBOL vmlinux 0xf10de535 ioread8 +EXPORT_SYMBOL vmlinux 0xf11543ff find_first_zero_bit +EXPORT_SYMBOL vmlinux 0xf116d4b5 copy_in_user +EXPORT_SYMBOL vmlinux 0xf16a6941 set_trace_device +EXPORT_SYMBOL vmlinux 0xf16da094 uart_add_one_port +EXPORT_SYMBOL vmlinux 0xf174ed48 acquire_console_sem +EXPORT_SYMBOL vmlinux 0xf179627e skb_dequeue +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1976dca pneigh_lookup +EXPORT_SYMBOL vmlinux 0xf19ad0af skb_clone +EXPORT_SYMBOL vmlinux 0xf1b17a02 scsi_put_command +EXPORT_SYMBOL vmlinux 0xf1b7e360 per_cpu__cpu_sibling_map +EXPORT_SYMBOL vmlinux 0xf1d34abd i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xf1d64416 gen_new_estimator +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf206fc24 ps2_handle_response +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf20e73c9 single_open +EXPORT_SYMBOL vmlinux 0xf21685d3 dquot_commit_info +EXPORT_SYMBOL vmlinux 0xf221b71e free_mdio_bitbang +EXPORT_SYMBOL vmlinux 0xf223262d tty_schedule_flip +EXPORT_SYMBOL vmlinux 0xf227432b udp_disconnect +EXPORT_SYMBOL vmlinux 0xf23a63e1 fb_get_mode +EXPORT_SYMBOL vmlinux 0xf23aa1ab tcp_v4_md5_do_add +EXPORT_SYMBOL vmlinux 0xf23b4ddd audit_log_format +EXPORT_SYMBOL vmlinux 0xf2410b52 mdiobus_alloc +EXPORT_SYMBOL vmlinux 0xf27a0469 elv_add_request +EXPORT_SYMBOL vmlinux 0xf2872fb8 udp_poll +EXPORT_SYMBOL vmlinux 0xf2997713 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0xf2c19f85 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xf2fcbfb5 security_path_mknod +EXPORT_SYMBOL vmlinux 0xf303793a dput +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf3331545 security_path_rmdir +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf33fa27b dm_exception_store_destroy +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf352d31e sock_create +EXPORT_SYMBOL vmlinux 0xf37329ca inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0xf397b9aa __tasklet_schedule +EXPORT_SYMBOL vmlinux 0xf398fa5b cfb_fillrect +EXPORT_SYMBOL vmlinux 0xf3a36f90 xfrm_input +EXPORT_SYMBOL vmlinux 0xf3ac6d5e con_is_bound +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3bf633e serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0xf3e8519a __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xf3ef69be blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0xf41011f6 rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xf425f498 compat_nf_getsockopt +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf4528073 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0xf4607155 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf4a5c213 avail_to_resrv_perfctr_nmi_bit +EXPORT_SYMBOL vmlinux 0xf4ab6137 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xf4ae60de acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0xf4ca42dd sk_stream_error +EXPORT_SYMBOL vmlinux 0xf4d66985 pci_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f49c0a try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xf4f52f93 dqstats +EXPORT_SYMBOL vmlinux 0xf50212a0 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0xf5044c9f blk_alloc_queue +EXPORT_SYMBOL vmlinux 0xf5197dda cancel_dirty_page +EXPORT_SYMBOL vmlinux 0xf51ae235 touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xf52a3ab0 netif_device_detach +EXPORT_SYMBOL vmlinux 0xf53a4af1 netif_rx +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf57682c8 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0xf588aeb4 elv_rb_del +EXPORT_SYMBOL vmlinux 0xf5c9012e timespec_trunc +EXPORT_SYMBOL vmlinux 0xf5d2b1ef xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0xf5e1efe3 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xf5eb20e3 skb_under_panic +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf5fae172 notify_change +EXPORT_SYMBOL vmlinux 0xf6402855 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0xf643eaac handle_sysrq +EXPORT_SYMBOL vmlinux 0xf666cbb3 __memcpy_fromio +EXPORT_SYMBOL vmlinux 0xf67fe8d2 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xf6939ac4 get_agp_version +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6e8d606 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6ecb592 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0xf72c97fe iget5_locked +EXPORT_SYMBOL vmlinux 0xf749534a gen_pool_free +EXPORT_SYMBOL vmlinux 0xf74a63b5 x86_mce_decode_callback +EXPORT_SYMBOL vmlinux 0xf75479fe nf_afinfo +EXPORT_SYMBOL vmlinux 0xf75c9d24 dev_unicast_sync +EXPORT_SYMBOL vmlinux 0xf77b2ccb sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xf783ad23 nf_log_unregister +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf7969df4 seq_path +EXPORT_SYMBOL vmlinux 0xf7a30f31 skb_seq_read +EXPORT_SYMBOL vmlinux 0xf7ecf6e5 freeze_bdev +EXPORT_SYMBOL vmlinux 0xf7f8d104 blk_remove_plug +EXPORT_SYMBOL vmlinux 0xf8101e4d bio_alloc +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82e3d47 acpi_initialize_objects +EXPORT_SYMBOL vmlinux 0xf8341911 seq_puts +EXPORT_SYMBOL vmlinux 0xf862d36a qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0xf8714142 follow_up +EXPORT_SYMBOL vmlinux 0xf88753e5 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0xf88e0ee2 acpi_get_table_header +EXPORT_SYMBOL vmlinux 0xf890fe7f pm_idle +EXPORT_SYMBOL vmlinux 0xf8b30e93 mempool_create +EXPORT_SYMBOL vmlinux 0xf8be16d3 scsi_device_get +EXPORT_SYMBOL vmlinux 0xf8cda667 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xf8cf9ee5 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0xf8ea5a1b serio_reconnect +EXPORT_SYMBOL vmlinux 0xf915143a neigh_changeaddr +EXPORT_SYMBOL vmlinux 0xf92fca8b pci_set_power_state +EXPORT_SYMBOL vmlinux 0xf93b5ad3 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xf93f4b0a dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xf9567e60 ps2_command +EXPORT_SYMBOL vmlinux 0xf96214a6 mutex_trylock +EXPORT_SYMBOL vmlinux 0xf986fac8 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xf9899664 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0xf98a4728 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9ae3ea6 bd_claim +EXPORT_SYMBOL vmlinux 0xf9b50079 kobject_put +EXPORT_SYMBOL vmlinux 0xf9c5b219 i2c_use_client +EXPORT_SYMBOL vmlinux 0xf9c82a29 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0xf9cf1780 pci_clear_master +EXPORT_SYMBOL vmlinux 0xf9e9f22f tcf_register_action +EXPORT_SYMBOL vmlinux 0xf9f4c4fe skb_recycle_check +EXPORT_SYMBOL vmlinux 0xfa023d36 d_genocide +EXPORT_SYMBOL vmlinux 0xfa0564fc __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfa1576dc register_netdevice +EXPORT_SYMBOL vmlinux 0xfa1603f2 dm_exception_store_type_unregister +EXPORT_SYMBOL vmlinux 0xfa3d51f4 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0xfa908648 sysctl_jiffies +EXPORT_SYMBOL vmlinux 0xfa9a0184 sk_release_kernel +EXPORT_SYMBOL vmlinux 0xfaa08da0 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xfaa89229 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xfac95b55 tty_register_device +EXPORT_SYMBOL vmlinux 0xfaca791b seq_escape +EXPORT_SYMBOL vmlinux 0xfad4daae blk_rq_init +EXPORT_SYMBOL vmlinux 0xfade665f pnp_device_attach +EXPORT_SYMBOL vmlinux 0xfade81ed invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb0443fb acpi_get_parent +EXPORT_SYMBOL vmlinux 0xfb06f93c scsi_execute_req +EXPORT_SYMBOL vmlinux 0xfb0cf2e9 touch_all_softlockup_watchdogs +EXPORT_SYMBOL vmlinux 0xfb44763a mnt_pin +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfba0c2e0 llc_sap_list_lock +EXPORT_SYMBOL vmlinux 0xfbbc0c2d md_unregister_thread +EXPORT_SYMBOL vmlinux 0xfbc5c6ec cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfbea4c25 phy_register_fixup +EXPORT_SYMBOL vmlinux 0xfbf7051c page_symlink +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc086db6 user_path_at +EXPORT_SYMBOL vmlinux 0xfc0a8638 neigh_table_clear +EXPORT_SYMBOL vmlinux 0xfc0b9194 blk_start_queue +EXPORT_SYMBOL vmlinux 0xfc1bcd32 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0xfc2e2f1f dm_io +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc457c2d __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0xfc4897cd uart_get_divisor +EXPORT_SYMBOL vmlinux 0xfc6256b9 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xfc62d62c sockfd_lookup +EXPORT_SYMBOL vmlinux 0xfc778de6 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0xfc7b737f journal_init_inode +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcaa4d33 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0xfcb0019a input_set_keycode +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcc4d4e4 mod_timer_pending +EXPORT_SYMBOL vmlinux 0xfccd0fae lock_may_read +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcefd18a mem_section +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd41885a inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xfd4203cc agp_generic_alloc_user +EXPORT_SYMBOL vmlinux 0xfd67140f phy_driver_register +EXPORT_SYMBOL vmlinux 0xfd6f4850 native_wrmsr_safe_regs +EXPORT_SYMBOL vmlinux 0xfd7d7713 acpi_exception +EXPORT_SYMBOL vmlinux 0xfd7f8b3a fasync_helper +EXPORT_SYMBOL vmlinux 0xfd9128ca pci_find_next_bus +EXPORT_SYMBOL vmlinux 0xfda7bf76 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xfda85a7d request_threaded_irq +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfdbd38c4 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0xfddcb78a del_gendisk +EXPORT_SYMBOL vmlinux 0xfde24c03 ip6_frag_match +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfe013b6b delayed_slow_work_enqueue +EXPORT_SYMBOL vmlinux 0xfe02f30c ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xfe047ce6 acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0xfe07e915 __vlan_hwaccel_rx +EXPORT_SYMBOL vmlinux 0xfe26fc7c nr_node_ids +EXPORT_SYMBOL vmlinux 0xfe33b03c alloc_buffer_head +EXPORT_SYMBOL vmlinux 0xfe392bcd generic_segment_checks +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe69bffc set_groups +EXPORT_SYMBOL vmlinux 0xfe709597 agp_generic_free_by_type +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe7c4287 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0xfe8945ac mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0xfe9487df sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfec6c4db poll_initwait +EXPORT_SYMBOL vmlinux 0xfed9c6a8 xfrm_lookup +EXPORT_SYMBOL vmlinux 0xfedd35fc console_suspend_enabled +EXPORT_SYMBOL vmlinux 0xfee836f6 single_release +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xfefdd879 xrlim_allow +EXPORT_SYMBOL vmlinux 0xff171041 blk_unplug +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff708fd3 mempool_destroy +EXPORT_SYMBOL vmlinux 0xff7559e4 ioport_resource +EXPORT_SYMBOL vmlinux 0xff8f22b0 scsi_block_requests +EXPORT_SYMBOL vmlinux 0xff964b25 param_set_int +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffa17de4 genphy_suspend +EXPORT_SYMBOL vmlinux 0xffa4ddd1 ppp_unit_number +EXPORT_SYMBOL vmlinux 0xffad4b37 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xffafdc5c _read_unlock_irq +EXPORT_SYMBOL vmlinux 0xffbbfdd4 mmc_detect_change +EXPORT_SYMBOL vmlinux 0xffc51b58 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0xffc7c184 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +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/kernel/cpu/cpufreq/speedstep-lib 0x16836e04 speedstep_detect_processor +EXPORT_SYMBOL_GPL arch/x86/kernel/cpu/cpufreq/speedstep-lib 0x2af90271 speedstep_get_frequency +EXPORT_SYMBOL_GPL arch/x86/kernel/cpu/cpufreq/speedstep-lib 0xd494ee54 speedstep_get_freqs +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 0x094ac8f4 kvm_get_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x09518019 emulate_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0c4fcce2 kvm_report_emulation_failure +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x12d1b23b kvm_release_pfn_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x17c162b5 kvm_set_cr3 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1997ae42 kvm_mmu_unprotect_page_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1a9df35f __tracepoint_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1e4580bb kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x209ed95b kvm_clear_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x20de5193 kvm_disable_largepages +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2322e039 kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x317f9e6b kvm_enable_efer_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x37c86750 kvm_mmu_invlpg +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x380b869f kvm_release_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3b7706d2 __tracepoint_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3bf67a66 kvm_task_switch +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x438a9fbc kvm_emulate_pio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x46889c51 kvm_cpu_get_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4a7cbe69 is_error_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x55804fe8 gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5aca020c kvm_get_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5c9accf0 kvm_get_cs_db_l_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5cd3f36c kvm_is_visible_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5d33f088 kvm_queue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5fa46ff1 kvm_emulate_hypercall +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x62cb80e6 kvm_mmu_reset_context +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x63c62ae0 emulator_write_emulated +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x647650be kvm_vcpu_cache +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x662a971f kvm_set_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x665c4c1f kvm_cpu_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6d8aa1d7 load_pdptrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x778eb921 kvm_emulate_pio_string +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7b2338c9 kvm_emulate_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7d962708 kvm_queue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7f557368 gfn_to_memslot_unaliased +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8021006e kvm_load_guest_fpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8427a4b5 kvm_vcpu_uninit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8a4bec1d kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8ce4f3ab kvm_enable_tdp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8e7f9b47 segment_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8fbbcf2e kvm_require_cpl +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8fbf7578 kvm_release_page_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x93c776ae kvm_set_cr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x95c68845 kvm_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x96230471 kvm_get_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x97e8186e kvm_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9a2e7b69 kvm_get_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9d30bcc8 kvm_mmu_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa10cb652 gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa361bc65 kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa40b2afd kvm_mmu_load +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa44d27f4 kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa46806dc fx_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa6287ead kvm_put_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa84fd3e0 kvm_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xab7f3b9e kvm_lmsw +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xad6e20e2 kvm_put_guest_fpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb4f81b04 kvm_x86_ops +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb8be40cb kvm_set_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbb00c069 kvm_inject_pending_timer_irqs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd377dc9 kvm_mmu_set_nonpresent_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd86163a kvm_handle_fault_on_reboot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd94103b kvm_mmu_set_base_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc3991f4c kvm_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc5351a64 kvm_set_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc8e02b25 kvm_inject_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc90fae55 kvm_set_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcd7b041f kvm_get_guest_memory_type +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcea5bf57 __tracepoint_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd0b2727a kvm_mmu_set_mask_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd296def9 kvm_is_error_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd3c0a6da __tracepoint_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdcde2537 kvm_set_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdda1fc0e gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdead7e81 __tracepoint_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe395b282 kvm_vcpu_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe656f5db kvm_mmu_get_spte_hierarchy +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf1910cfd kvm_resched +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf2e00fc7 is_error_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf48ed9e2 kvm_emulate_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf9a14a59 __kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfa54acb5 kvm_clear_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfacc2ba7 kvm_get_msr_common +EXPORT_SYMBOL_GPL crypto/aes_generic 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL crypto/aes_generic 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0xff0cee2c crypto_aes_set_key +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xdaebe90f async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x78606e8b async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xfdc27c4b async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x402d7327 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xc3423d9b async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x45b4c9f6 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x9a812628 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x9dc8726a async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xbe712bc7 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x06cd3dd4 async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xc8ce7499 async_xor +EXPORT_SYMBOL_GPL crypto/cryptd 0x04fd2aea cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x182c7c6b cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x34b4736a cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x63b22f38 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x7894c995 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x964a0f67 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xa4c38057 cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x68da9166 twofish_setkey +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/bluetooth/btmrvl 0x3b3fc9d0 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x53fc95b9 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x62dc227c btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x73721b2a btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7c8e827e btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x90aecb63 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x04915628 tpm_remove_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x1223233c tpm_open +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x1915c757 tpm_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x1d763d0f tpm_register_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x3f65178b tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x4657a928 tpm_show_owned +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x525e60bc tpm_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x558e1287 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x583397da tpm_continue_selftest +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x723b8594 tpm_dev_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x7ef8ba3a tpm_show_pubek +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x80110594 tpm_show_caps +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x855afb0c tpm_get_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x8a612f4d tpm_pm_suspend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x900a5baa tpm_show_pcrs +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x90da7ede tpm_show_active +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x91e1fbad tpm_store_cancel +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x930255dd tpm_dev_vendor_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x94be2f7c tpm_show_enabled +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x9e2382ce tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xa76fd600 tpm_show_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xaedd7763 tpm_gen_interrupt +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xba295d0f tpm_write +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xe7714672 tpm_pm_resume +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm_bios 0x13f9a680 tpm_bios_log_teardown +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm_bios 0xfce943f5 tpm_bios_log_setup +EXPORT_SYMBOL_GPL drivers/dca/dca 0x0ccb465b dca_remove_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0x2e471f01 dca_register_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0x2ebb035f unregister_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x31a2c8df dca_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0x6a72ced2 dca_add_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0x8006c614 dca_unregister_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0xc82b32d0 free_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0xd33880dd dca3_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0xddbf4f00 register_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0xe616c173 alloc_dca_provider +EXPORT_SYMBOL_GPL drivers/edac/amd64_edac_mod 0xc923da92 amd64_get_dram_hole_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x06147dae edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x09576082 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x25ff8968 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x297826df edac_device_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x325a1250 edac_device_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x3a66e14a edac_device_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x3c2d455d edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x43e28449 edac_pci_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x472f8140 edac_mc_alloc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4cde21e3 edac_mc_free +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x51cae0be edac_mc_handle_ce_no_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x57e2cff1 edac_pci_reset_delay_period +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x676afd64 edac_pci_handle_npe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x8790f601 edac_pci_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x8da9ff7c edac_mc_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x8e1b635d edac_mc_add_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xaf38253c edac_mc_handle_ue_no_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xbde70b8c edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xbfa5033d edac_device_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc689b62e edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xce6c7c7b edac_mc_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xcf2fbbcc edac_mc_del_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xdd75498d edac_device_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xf1b72fd7 edac_pci_handle_pe +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x0f0ba55e ii_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x14878009 amd_report_gart_errors +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x1823885a amd_register_ecc_decoder +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x4b01887d pp_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x7509830f to_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x955c1f76 amd_decode_nb_mce +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xb98537cb rrrr_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xc2e765d2 amd_unregister_ecc_decoder +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xd0f094a0 ext_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xe6ff7e0c ll_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xf8dec080 tt_msgs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x02a45ecc drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x98f18613 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/hid/hid 0x02ecf57a hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x08a74ff0 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x105b4fe1 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x161580fb hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x171495d1 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1e953bcd hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x21c23f6d hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x562538fc hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5dd1dad4 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7457b6b7 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x797a48f5 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x96ee021e hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x979986eb hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9e428b98 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb8a77437 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbf360363 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc3219735 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc56fc6e6 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcc7efd29 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd2b5fd3c hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdcf9ed76 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe48cd3b4 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe9dd48b8 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xeffc349a hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf586324d hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x56cdb771 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x5fcc6bfc hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x954da911 usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x1c1ca961 lis3_dev +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x312e6a17 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x3babe982 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x4e1bfabf lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x6c33e494 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x897e4370 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xe6af28c8 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-nforce2 0xc81ea176 nforce2_smbus +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0x0e88018f hpsb_config_rom_ip1394_add +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0x281a7e04 hpsb_config_rom_ip1394_remove +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xec8d18cf hpsb_disable_irm +EXPORT_SYMBOL_GPL drivers/infiniband/hw/ipath/ib_ipath 0x1514b2b2 ipath_debug +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xa95e6ba9 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x05072dd9 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x0db30a48 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x1ce2b1c1 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x26023823 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x3bbc2579 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x3f29c278 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x66078f16 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x68992697 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x6c8e7282 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xa8d99b7f wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xabe676a3 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf71625e7 wm9713_codec +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x0ef38c51 gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x220caf1b gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x2c0979ce gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x31b3ef6d gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x3485d713 gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x685774ac gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x74e4341e gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x7dafd1f5 gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x8aaade4c gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x96d00e9e gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xacc7fe8c gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb7fecc1f gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xbb377cc2 gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xbf301772 gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xde73dbf9 gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xedfebdef gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/leds/led-class 0x87400e7f led_classdev_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xe1b7c35e led_classdev_suspend +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xeb1d3441 led_classdev_register +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xfd2270df led_classdev_resume +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x24935f26 raid6_call +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0xcdc24ab5 raid6_2data_recov +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0xdbab0c01 raid6_datap_recov +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x00f78dd1 ir_input_keydown +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0349c9bd ir_codes_proteus_2309_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0366dcdf ir_codes_videomate_s350_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x110b053a ir_codes_pixelview_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x124cb753 ir_codes_encore_enltv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x183fdfdd ir_codes_gotview7135_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19b4d61c ir_codes_nebula_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19cd2826 ir_codes_behold_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1a9009d6 ir_codes_dm1105_nec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1cb148f5 ir_extract_bits +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2456e513 ir_decode_pulsedistance +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2cc459b5 ir_codes_flydvb_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2d0e9a49 ir_codes_em_terratec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3136d8ff ir_codes_dntv_live_dvbt_pro_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x32b9033b ir_codes_apac_viewcomp_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3909f4ad ir_codes_terratec_cinergy_xs_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3a84be27 ir_codes_avermedia_a16d_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4267d749 ir_codes_budget_ci_old_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x43c89ef4 ir_decode_biphase +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4c1442c1 ir_codes_real_audio_220_32_keys_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x51ba1643 ir_codes_kworld_plus_tv_analog_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x543db4ff ir_codes_avermedia_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5e95da31 ir_codes_tt_1500_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5fbe6515 ir_codes_pinnacle_color_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x61d039d7 ir_codes_behold_columbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6427a3fb ir_codes_pinnacle_grey_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x64b02fed ir_codes_avermedia_dvbt_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6606596a ir_rc5_timer_keyup +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6809de82 ir_codes_pctv_sedna_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6d6511e7 ir_dump_samples +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x703fc738 ir_codes_avertv_303_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x7283f81d ir_codes_purpletv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x72c2992e ir_codes_powercolor_real_angel_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x76d71b8e ir_codes_dntv_live_dvb_t_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x784e176d ir_codes_asus_pc39_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x828b3ce5 ir_codes_encore_enltv_fm53_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x8acae3dd ir_codes_pinnacle_pctv_hd_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x91b5b1b6 ir_input_nokey +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x92d1d181 ir_codes_flyvideo_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x94651dab ir_codes_ati_tv_wonder_hd_600_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x97c35dab ir_codes_msi_tvanywhere_plus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x9944e2e5 ir_codes_hauppauge_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa69aa6ad ir_codes_pv951_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa95157c5 ir_codes_cinergy_1400_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xac15f6c8 ir_codes_kaiomy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xaff22e87 ir_codes_pixelview_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb01a1998 ir_codes_manli_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb0a8ef38 ir_codes_rc5_tv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb57445f7 ir_codes_eztv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb5adb754 ir_codes_cinergy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbd3ce6f0 ir_codes_avermedia_cardbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbeaccbdc ir_codes_gadmei_rm008z_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xc946b8eb ir_input_init +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xcba36c62 ir_codes_videomate_tv_pvr_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xd30c491f ir_codes_norwood_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdc23fec4 ir_codes_fusionhdtv_mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdd4c0a07 ir_codes_evga_indtube_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe1101f4d ir_codes_avermedia_m135a_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe4140c60 ir_codes_genius_tvgo_a11mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeb9bb08f ir_codes_npgtech_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xebf345b4 ir_codes_encore_enltv2_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeec89db8 ir_codes_empty_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xef29c40d ir_codes_adstech_dvb_t_pci_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf33c155d ir_codes_msi_tvanywhere_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf3d619ec ir_codes_iodata_bctv7e_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf4f7a4d6 ir_rc5_timer_end +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf5e15e65 ir_codes_winfast_table +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x39616934 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x51091a1a saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x5ebb0e45 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x7ddd7f4c saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xb6765efa saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcf683cf2 saa7146_devices +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe31f8ed5 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe5afeee9 saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xea762426 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xf31079e3 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xfd24551a saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xfec7e35c saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x19f09cf0 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x3b722beb saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x426a627f saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xbc4047eb saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xbf5dec5b saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xc6eee3ea saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xfc4790e3 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x3bcd387f microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0xd3879f2c mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0x0175de09 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0xec4afeed tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x6c0570ca tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xc57239ec tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0x838cf6e5 tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x5b1b93ce tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xc7086518 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x88c645df tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0xfd409bb2 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0x0fe7554b simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x01a74e25 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x030eb1ad sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x058face4 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x2a86d56a sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x320b35c0 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x3b7a87fa smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x3dfa939c smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x4d40eb7f smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x529cf73f sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7dda6e4f smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x822f7948 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x97310f9d smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x9a163a16 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa3a2b042 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa8024569 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xe19a36c3 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xeb9018a2 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xefaab494 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfad8cce2 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfda878c5 sms_get_board +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x0cadcd12 ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x27ff499b ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x657b99bf ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x7513ebe4 ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x8ce9ee3b ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xb723c442 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xbc48bf96 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x5f7e8419 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x6f46a773 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x98179ae9 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xb5045d6d cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xbec92317 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc4c29a75 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xe05f71b5 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xe62db725 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xecf5e01d cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xf60a1b7f cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xf7ac6fb0 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0x582975e7 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x15714476 em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x15a7b92b em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x1d97eb9f em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x5fe31c2e em28xx_isoc_dvb_max_packetsize +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x911cc8d2 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xab12f4ca em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x155cfb79 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x20c779d5 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x9002dff0 saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xad8a6f3e saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xf9c56b49 saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x1e270b74 v4l2_i2c_new_subdev_cfg +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x2d7f29ea v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x97fb6a9f v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xf22049dc 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-compat-ioctl32 0xbdd5900d v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x2d22e054 v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x40f3af06 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x854b312a v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa5228b24 v4l2_int_device_try_attach_all +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xe9899e3a v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x02cf66d7 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x31b6c42e videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x3ea8a2ec videobuf_cgmbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x44cd3bb4 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4556ad9c videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4a7301cf videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x53a88498 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x5ff8a6c1 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6a53242c videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x719eb95e videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x87ec15a0 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x89c3ad2f videobuf_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8fd21938 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x965c91dc videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa31a1580 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa86fadec videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xafd8c671 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xbde50717 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc009477e videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc6b2c00a videobuf_queue_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc86219ef videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd3ee8dca videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd69d98af videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe0d9f6c3 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe9ed7b52 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x2cfd90cb videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x4eb8a5e4 videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x6da23ab4 videobuf_dma_sync +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x73a22249 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x7ad3fde5 videobuf_sg_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x861cd06d videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x8edb8ed2 videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x8f1daf2a videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x933dfb43 videobuf_vmalloc_to_sg +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x94759a4e videobuf_sg_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa38faed2 videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xc3292bf7 videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xc69dc7ed videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xe82bee02 videobuf_dma_init_overlay +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x253e805d videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x27f12084 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x328ec215 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x020c7243 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x18751877 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x27f29e5d v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x51dec2fc v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc2f6e870 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xfad49154 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x0d371681 i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x17c084c3 i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x1d5bfe44 i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x40aa2246 i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x497f0e67 i2o_pool_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x5535d7f2 i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xf4db7227 i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xfae6ab72 i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x54221a82 mc13783_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x62b1ee45 mc13783_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x8759a5fe mc13783_adc_set_ts_status +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xbb81efb3 mc13783_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xbea3f1b5 mc13783_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xc52e47c4 mc13783_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xebbc22a7 mc13783_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x43e47afd pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xee5eb9c1 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x015981f7 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x291493ec pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x467cb980 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x71806410 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x7d2b1f70 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x98ac91da pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xc08d6a2a pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xc885731a pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xea388498 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xf5633356 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xf812a3ee pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x0db357ae pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x263340a6 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x739cd9b9 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x94629afd pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xeedec6b6 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x129b5768 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x636d3734 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x716d47d8 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x90a29ef4 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xad2cce50 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xa3150324 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x01c7cb35 wm831x_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x125737ec wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x13322e66 wm831x_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x3189089e wm831x_enable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x3b234f58 wm831x_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x75574058 wm831x_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xb0cd3098 wm831x_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xb77bb434 wm831x_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xc7f26726 wm831x_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xe0376c9d wm831x_disable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xe9510aa9 wm831x_auxadc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xf78c7ebe wm831x_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x01795b4a wm8350_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x198c13d3 wm8350_read_auxadc +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x1e473574 wm8350_block_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x3fcf4c1e wm8350_unmask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x4e73f9e9 wm8350_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x56502f77 wm8350_device_init +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x64a4ea3b wm8350_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x684566ec wm8350_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x813271ec wm8350_mask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x836087ef wm8350_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xab14ed0e wm8350_gpio_config +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xb67cc4e0 wm8350_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xc1af5f48 wm8350_device_exit +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xd0d53d16 wm8350_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xe73e6117 wm8350_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xf5a61210 wm8350_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x432e2768 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x738ce78d wm8400_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0xc6a3b512 wm8400_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0xcd857e18 wm8400_set_bits +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x6d8ccc38 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x97f772d7 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xd5bfb5c1 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xfafb31a7 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x2df115d4 eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d14d2f eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x03e69bb3 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x0f68ded9 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x1f2f1489 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x29cda097 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x5e787db4 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x788c9b53 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xb6143123 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x12256658 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x204a30e9 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x261f0660 sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3f2c09d8 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x748dc0f9 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa9ad070d sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x90558c06 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xb94f77a5 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xef3f64f0 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x696072f7 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x0f8c61fd cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x09079df5 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x5243f04a cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xb0e10076 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2000 0x1c20ce28 DoC2k_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001 0x7dfdcb61 DoCMil_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x2478d4b9 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0a52c284 mtd_table +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x119a31e9 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1f218d2c mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x43a3e2b4 get_sb_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x43c38d9b del_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6301c2f3 parse_mtd_partitions +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6b16202b get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x74019900 register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x93391c66 mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x946a26ab kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9ad75845 default_mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa72a685a put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc2ad2803 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcf0be395 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf12227ff get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf46f19f6 add_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x031c679e add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x17e6c03b register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x356adccd deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xa2300cf7 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x05da2fc3 nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x65c1b1d0 nand_scan_ident +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x73f009ae nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xa668dae6 nand_scan_tail +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xa7db3817 nand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x559afa58 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xdba4bb09 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x0416469f ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2cbf016d ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x37719650 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x3ae5f2c7 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x4a9626b7 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x570f50a9 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x578732d9 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5e5cbdf7 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa1d0189d ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa3ec0b91 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbc505df4 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbd29c4c8 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe3d290ce ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x124f49d7 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x40fa9097 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x571adba9 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x9d31e64b alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xb294d14d free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xc79b3f8e can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xe2f8e182 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xeef35498 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xf1af97da unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xff8bdd69 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x4800409f alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x989827af register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xc3310f71 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xc57bf4a3 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xdc9bd500 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x03b0ed66 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x073a399d mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0f7fbcd4 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x1048f6f5 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x15c69541 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x17d19903 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x19f73935 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x254424a0 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x26ef34b1 mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x2c26bd25 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x3083db95 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x347aefc1 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x37baa3c9 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x39bc2772 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x42286458 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x42308f79 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4650076d mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4e1a4b12 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x515e3158 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x60e31521 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x63bb0897 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x6587eb08 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x7399f15c mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x87091679 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8fc42637 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9432f8e3 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa104e979 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa3654d2b mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa3b0e6be mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa58636ee mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa63ce300 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa6f67407 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb053ec65 mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb5445565 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb9270548 mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xbe201514 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc1297eb1 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc4adf1cd mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc705914e mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc9ca9ed9 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xcc6a7325 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xcc9dd121 mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xcd97916c mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd1cd0935 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd9adde32 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xdc59920b mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe22cc9af mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xeb5f02ce mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf36f03fc mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf6333fd0 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf6cd28b4 mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf98d14da mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xfd6e17a3 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x7f16e042 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xf1129280 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x086a04ed rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x21b98dda rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x4b139614 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xa749bffc rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xdb88fe7d rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xe16d23f8 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x10445d36 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x19e3fa01 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x19e96083 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x23097f6f usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5a08ac8f usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5c080920 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x764cb15f usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x795020a2 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7e551a24 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9e120cc6 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa35dabb2 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xaeea52e5 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb9c35ce5 usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcaddfbd5 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcdb6aa74 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcf0db3e0 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcfaeb14f usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd9d221c6 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd9e13cb6 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xda8b5e23 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdb2ac3ca usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf94510e9 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfa0f1e9f usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfd96d240 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x0b4532aa i2400m_cmd_get_state +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x0d558da0 i2400m_queue_work +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x193346e4 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x3af82c01 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x59f7083b i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x76a13cc0 i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x79cd696d i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7aa53707 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7b1d6f83 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x8bea01c0 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x9bf4bef7 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xa1f86826 i2400m_set_init_config +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb88e4ee6 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x1c820b19 libipw_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x3ae28383 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x1ea753b9 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x3ecb9d34 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x44ef4a64 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x76d07524 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x7f457046 lbs_cmd_802_11_rate_adapt_rateset +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x88d73dcd lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8c0a0319 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8cb28e8a lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8cd2b3e4 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x9dda3ff4 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xb281c91f lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xc4660c98 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xca72c582 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xda7defcf lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe06f317e lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x0540b56f lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x16abcd30 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x36a2d4b4 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x5ffed5d9 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x62222705 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc6434fcd lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xd225101c lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xd46f4499 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x3455ec9f if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x7d963ac1 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x07b5322b p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x1371359d p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x34743c3c p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x602ddbd5 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x7b64c544 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x8fa02685 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x94eefcff p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xb1ec68c9 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xbe0f9412 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x02c8cb55 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2a6148cc rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x34255886 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3b4ceb26 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3b971086 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3e1d69cb rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x46415048 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5c2e406d rt2x00queue_get_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5faec28b rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x634367f6 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6c43b30e rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6d9caee9 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9413e763 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa44a7bfd rt2x00mac_get_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa6f7dd2f rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xabcaade7 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc10d762a rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdca9102a rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdeaf343b rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe34c9f4a rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe7b1124c rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe854e5ab rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe97cfbfa rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xed45d6f6 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x060b7f6d rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x1b8eb352 rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x42575703 rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x6055c550 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x95f18e4e rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xd58ed3cf rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xe75adf1e rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xe8b0ef88 rt2x00pci_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xfcef8604 rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x11f11df8 rt2x00usb_kill_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x3ff25237 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x413d1aad rt2x00usb_vendor_request_large_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x4f905d59 rt2x00usb_kick_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x5ec5abd1 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6d4f9f0c rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x70e0f404 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x7998b2bb rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x9b65b9c7 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xa59a18c6 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xbdcad3bf rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xc433d82b rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xcade8e78 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xcb086c16 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xe82eb9aa rt2x00usb_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xece6ed28 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x0994f6b7 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x520ee4a7 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x52bd3b48 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0x3c3f5419 acpiphp_register_attention +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0xce81142c acpiphp_unregister_attention +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xd6483f43 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xd6bd3c56 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x1653410f wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x360b3e32 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x6311d258 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x703956ec wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x9a8d886e wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xd9976fd5 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x8d521125 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x56e02175 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0233f349 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0725d1ed iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0acb5438 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0bf54feb iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0e46105b iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2f133447 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x312fe715 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x36097422 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x374e0b35 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3f9f3ef9 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x41ba1d14 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x46a3b5f2 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4ae9c094 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4e4e2166 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5162ce08 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5956b6f1 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x59b9f1c0 iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5d89ba19 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6914808e iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6a700a0e iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x73df0a49 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x770572fc iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x77cdb621 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7b2aaa3f iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7c6cea27 iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7e2aad19 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x86b03f51 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9565ab99 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xac37e383 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xac8a6027 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xba3e21f7 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc7af8bc2 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc7fca8af iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc8465d47 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdb0e71a4 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe2e90df1 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe888705b iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe8a99d5f iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeda7f709 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf2c23ed1 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf653ccfa iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xff139145 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1e31ad5a iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2384da68 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2786cba2 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2fb8e9b5 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x328d13c3 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x506662bd iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x63192cee iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7107aea1 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7248b7ae iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x803a7212 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x812c03e1 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x81b51324 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x84defd80 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc566a271 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe4e89d01 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe71c0fff iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x02b4a935 sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1b4d323b sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3469ad0f sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3a04680d sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3f54d550 __sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x638385e5 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x63d38fb7 sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6f6d3605 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7ee5e537 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8072dd1c sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x849104c4 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9158bd45 sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x945ed8d4 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9cd116a3 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa0c7f792 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa3091d5f sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb8e8d070 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc53cf23c sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc5f9162d sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc9d0cfea sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xce24934a sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe07c25f5 sas_find_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xefe0da61 sas_slave_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x5736d74e srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x624a17fc srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x7a83613c srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x9f4bc0a7 srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xe90ae256 srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xf49c1a84 srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x115c5550 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x3c28758b scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x6404eccf scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x8882e1a8 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x89dd2a0a scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x9d64442a scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xbcbeab1f scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xf2b66570 scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xfebd2a57 scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x11d78e90 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2a91cd3a iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x33e1949c iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x45b6b915 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4db01c01 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x788f4d12 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7f160eb1 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8e898e8a iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x95ddf05b iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x98aa165b iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9a2f6767 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9b3f11b2 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9efc80db iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb2755f3b iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb9a3da5b iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd1b0b2e2 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd435dbe0 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd8fd4f88 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xeb81f0bb iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xef23ac41 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfe0db61b iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xff0effff iscsi_create_endpoint +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 0x1a095dfa srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x342e798f srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x53328b63 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x887e30cd srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xa3d81d2e srp_release_transport +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x10417133 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x3fb2ca50 spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x4b7a8cca spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x8d341833 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x959ed4e3 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xfdb3a61c spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4740fc22 comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4e4b42d1 comedi_free_board_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x656c3316 comedi_alloc_board_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x813c41b0 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xa940cf72 comedi_get_device_file_info +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb5725623 comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xc57fdaf4 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x86fcde20 das08_cs_boards +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0xa8403a06 das08_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0xbd5c7f77 das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0x25e55b95 labpc_1200_is_unipolar +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0x74f4cde2 labpc_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0x8285332a range_labpc_1200_ai +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0xa300db0f labpc_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0xaf1e4347 labpc_1200_ai_gain_bits +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x72d1ecfc ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x88e18c67 ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x8de73efb ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xbc603c7b ni_tio_rinsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xcb918584 ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xda8e3743 ni_tio_winsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xe7bb07e7 ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xf63a1706 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x0881c06a ni_tio_acknowledge_and_confirm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x1ae54024 ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x6960325b ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xb020fb42 ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xe564e1a6 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xf84c460c 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/hv/hv_vmbus 0x0a1ee779 osd_WaitEventWait +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x4cc1b61c osd_WaitEventCreate +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x5432d87a osd_WaitEventSet +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x746d1786 osd_PageAlloc +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x83911c38 osd_PageFree +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0xa1b8d1ad osd_WaitEventWaitEx +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x008b1b94 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x05420969 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x187caa54 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x23340180 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x33ed1c6b usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x601352dd sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x61a81f10 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x62b8fc97 usbip_xmit +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x632d6b20 usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x6aa043c9 usbip_start_threads +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x7b793077 usbip_stop_threads +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x940da4de usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xb13b3d55 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xd51168f0 usbip_task_init +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xda0da877 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xdf51d7a0 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/uio/uio 0x09fe0eda uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xc3cd2c4e __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xedd4ae42 uio_event_notify +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x5e158f6c usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xf2ad58a3 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x01566150 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x0e1e554e usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x2a7f9a7d usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x54409de9 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x965ec5c4 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb77509e5 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xd45791fd usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xde11f8b1 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xfbccb9f8 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x09c752ff usb_serial_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1a89145f usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2ec6cb33 usb_serial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x31ee8cc8 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x420634cb usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x572cf866 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5da541fa ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x673c46b1 usb_serial_generic_resubmit_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7b984931 usb_serial_deregister +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x85ed1847 usb_serial_register +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9947f9b0 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xab8399e1 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xac255683 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc2b90686 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xcc8e57c5 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf55e5c01 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x10e26bc1 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1c33ac90 usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x278a9162 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x38158265 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x527ee8bc fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x5813887a usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x5b889a3f usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x5d2c09ef usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6f7f00fd usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x837b7df2 usb_usual_ignore_device +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8b646c07 usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa42eac36 usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb0883d95 usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb4f39b03 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xbee68a2e usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc56a8188 usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc99b1456 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd7e4184f usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe33537bd usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xec21447b usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf3089095 usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf6a4bce1 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xfab087ce usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x55ac5608 wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x5b0fc154 wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x5c763594 wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x8668d134 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x9fcf8265 __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xa2a79ba9 rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xec5cc785 wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x182bb06e __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1cf62d01 wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x52510d61 wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x6a60b756 wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x6cad9a0d wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x71675aa9 wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x8a9e30a9 wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xa75d65ea wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xa9e49217 wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb016365a wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xc08cd390 wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xd1d1a05f wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xd45d8296 wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xdf6e4f08 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xe996affc wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf770a6b4 wusbd +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf7cf8d9a wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf90067c8 wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xfe2e17d7 wusb_et_name +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x1ec38ee5 i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x4fa3fc9c i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xea7f0e2a i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x1baa5ae4 uwb_pca_base_priority_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x4accec22 uwb_rts_cts_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x5e666737 uwb_phy_rate_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x9607cca3 uwb_ack_policy_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x9a2524f8 uwb_rts_cts_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xbb27f85a uwb_phy_rate_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xeb45e333 uwb_pca_base_priority_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xf625bd31 uwb_ack_policy_store +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x113eb73a umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x3862039e umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xa9470df0 umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xb3c183b2 umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xbe705fa5 umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xc458ba3a umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xde2af4c3 __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xfd65029d umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x02e16a09 uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x05f05757 uwb_rsv_destroy +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0af9fb31 uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x128ae03e uwb_rsv_modify +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1d0f80a8 uwb_rc_pre_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2075ba81 uwb_pal_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x22dc0c80 uwb_radio_stop +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x235bb961 uwb_rsv_create +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2400fa97 uwb_rc_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2cb8fcbf uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2f58a2a4 uwb_rc_dev_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x449cac9b uwb_rc_ie_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x469c5f2d uwb_rc_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d57ae3c uwb_rsv_type_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x51d1fd37 __uwb_rc_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5596a9f6 uwb_rc_cmd_async +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x58554226 uwb_rc_cmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x58eff876 uwb_notifs_deregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5c091b6f uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x63dce779 uwb_rc_ie_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6b9377c5 uwb_ie_next +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6bcd28f0 uwb_rc_neh_error +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6dd7d926 uwb_dev_for_each +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7f1e50ca uwb_est_find_size +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x85417e20 uwb_notifs_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x87f472d4 uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8cb42db6 __uwb_addr_print +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x969f738b uwb_pal_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xa5fd908c uwb_rc_get_by_grandpa +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xafb014ec uwb_pal_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb0a09251 uwb_rsv_get_usable_mas +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb56d816f uwb_rc_vcmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb94bcc7e uwb_rc_post_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbbb96d89 uwb_rsv_accept +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbc96fded uwb_rsv_establish +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xca3ff44b uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd15729f4 uwb_rc_neh_grok +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd2e46760 uwb_rc_put +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd7692b0c uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xeb4cab9a uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf7ca313a uwb_est_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xfa22f860 uwb_rsv_terminate +EXPORT_SYMBOL_GPL drivers/uwb/whci 0x5408e067 whci_wait_for +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x00315c9d wlp_dev_model_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x12cdfa18 wlp_dev_serial_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x1649ecc7 wlp_eda_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x1660a166 wlp_receive_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x176e71cb wlp_wss_activate_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x1d06eb0e wlp_uuid_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x1e6c0ee5 wlp_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x386c86ae wlp_wss_activate_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x42e904ac wlp_dev_prim_OUI_sub_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x4367a6f7 wlp_eda_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x4a424fdb wlp_dev_serial_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x4a71d95b wlp_neighborhood_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x519b2bc0 wlp_dev_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x5666393e wlp_wss_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x5fc17ba2 wlp_dev_model_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x63dfde21 wlp_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6438009a wlp_dev_prim_category_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6faffe7f wlp_dev_model_nr_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x7b647044 wlp_dev_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x80db37ec wlp_dev_prim_subcat_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x837c09a3 wlp_dev_manufacturer_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x98dc02c2 wlp_dev_prim_OUI_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x9ce2e01b wlp_uuid_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xac86d6a1 wlp_dev_manufacturer_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xad45a85b wlp_dev_model_nr_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xbbd6aff1 wlp_dev_prim_subcat_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc7c6f965 wlp_dev_prim_OUI_sub_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xcbedde94 wlp_dev_prim_category_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd16bd874 wlp_prepare_tx_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd9d86b46 wlp_wss_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf882e20a wlp_dev_prim_OUI_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf977ab8c wlp_setup +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x11450619 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x213c6dc7 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x4683efae ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x54d46523 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xbf2fe6e8 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xbfe08c7d ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xeec84eea ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/fb_ddc 0xef688fda fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x6844a775 fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x97d30a82 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x75258e81 sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x8ae0a91a 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/virtio/virtio 0x541f96d4 register_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x612db4f9 unregister_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x866e4528 register_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x8dd9d7f4 unregister_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0xec83e87f virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x0ac0ab25 vring_interrupt +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x667e4758 vring_new_virtqueue +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x668d2276 vring_transport_features +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x68c71d40 vring_del_virtqueue +EXPORT_SYMBOL_GPL drivers/w1/wire 0x03d3d720 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x05f85617 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x1e04bf02 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x9db4ab79 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe63ddb0e w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xee7f1cce w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0xf19fb0d9 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xfbebaec5 w1_write_block +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x0864c4a4 dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x0de5ddea dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xa8343212 dlm_posix_lock +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 0xf24e636c dlm_posix_get +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0x0f21b73b exportfs_decode_fh +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0x699686e4 exportfs_encode_fh +EXPORT_SYMBOL_GPL fs/fat/fat 0x043b28e1 fat_attach +EXPORT_SYMBOL_GPL fs/fat/fat 0x09b502fd fat_time_unix2fat +EXPORT_SYMBOL_GPL fs/fat/fat 0x3468d170 fat_free_clusters +EXPORT_SYMBOL_GPL fs/fat/fat 0x4e566f1b fat_sync_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x52ba06c2 fat_add_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x58b76c98 fat_getattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x5f7805cf fat_fill_super +EXPORT_SYMBOL_GPL fs/fat/fat 0x62d021f6 fat_scan +EXPORT_SYMBOL_GPL fs/fat/fat 0x7a1a3b30 fat_remove_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x7c7e5fc0 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL fs/fat/fat 0x7d9f2372 fat_flush_inodes +EXPORT_SYMBOL_GPL fs/fat/fat 0x9b7020fa fat_fs_error +EXPORT_SYMBOL_GPL fs/fat/fat 0x9fb395db fat_setattr +EXPORT_SYMBOL_GPL fs/fat/fat 0xa32f4394 fat_alloc_new_dir +EXPORT_SYMBOL_GPL fs/fat/fat 0xb4ac2004 fat_build_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0xe69adb0c fat_search_long +EXPORT_SYMBOL_GPL fs/fat/fat 0xedf2aa3e fat_dir_empty +EXPORT_SYMBOL_GPL fs/fat/fat 0xfbbf2232 fat_detach +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x0a9226b4 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x1a618932 nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x622f0e6b nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x9204e674 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x9a9ebd62 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa7b91a7b lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xd6aa39a9 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf6933c48 lockd_up +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x0310380f nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xb389ad43 nfsacl_encode +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 0x2b6b2db6 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x36418553 o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x45d0b066 o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x521e0726 o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x9e80bf02 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 0xad834f8e o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xae808bac o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb70536a7 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbaeb4700 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd26bb346 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd60f2c6c o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf56c2017 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf88c724e o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x0cebb6e1 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x328717ed dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x4b38cf12 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x83921c03 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x8680f9c5 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xdb802f89 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0562c415 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x06379db6 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0b5fee49 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0e27f909 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x21db5b88 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x233078e9 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4a1f6fe9 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x81c85a68 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x882a3d27 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x91fab465 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x963932a3 ocfs2_stack_glue_set_locking_protocol +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xa7d5c1c0 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd066711e ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL lib/lzo/lzo_compress 0x2e1d43cf lzo1x_1_compress +EXPORT_SYMBOL_GPL lib/lzo/lzo_decompress 0x2a1538ca lzo1x_decompress_safe +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 0x1d869ea0 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x766482ac garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x7883e71f garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x8e01bdf2 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xc42925a1 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0xe4023e63 garp_request_leave +EXPORT_SYMBOL_GPL net/802/stp 0x96a0128c stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0xd4f3d73d stp_proto_register +EXPORT_SYMBOL_GPL net/ax25/ax25 0xac93ae05 ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0xaeb7451e ax25_defaddr +EXPORT_SYMBOL_GPL net/ax25/ax25 0xda8c7f83 ax25_register_pid +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xa8a98916 bt_class +EXPORT_SYMBOL_GPL net/dccp/dccp 0x067cc0ff dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x19ea02f3 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2a50c5c8 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3224e65f compat_dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x35cf98a9 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4029497b dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x43b37bcb compat_dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4614ea95 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x46831956 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x56ea266a dccp_state_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5cb4fe4b dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x70b1d967 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0x70e6ab36 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x76692c78 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7de6ded8 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8774c108 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8b7d8caf dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8fbdc9a9 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x923c98a3 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x94a76015 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9c6d55da dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa0ad9238 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa10d6e71 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0xab9c4d0e dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb1fcb46a dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb66895e5 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0xba0742b2 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbbf2668a dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbfa668ae dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc0c39c6f dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcf52a414 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd93c7348 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd98a53ad dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe158caa9 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0xebd6b6c9 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf1994c17 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf71eb8ef dccp_insert_option_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf7bdfac5 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x2e9c2c62 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x46277553 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x76f3ddfc dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x954bd05b dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xc824883c dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xdf5a8520 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x6d40a921 need_ipv4_conntrack +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0xb3c69ba4 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 0x07219a28 nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x07ae60b6 nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x3aa20069 nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x43a4279e nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x5bb43902 nf_nat_proto_find_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x94a08134 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xc29d1ce9 nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xe39f0ccb nf_nat_proto_range_to_nlattr +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xf0ccddbe nf_nat_proto_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat_proto_gre 0x636b12c8 nf_nat_need_gre +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x00c699cd tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x238e5db7 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xa5c0f531 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xb36b6c7b tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xd02b3028 tcp_vegas_state +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x34de4510 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5b5a7dbe ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe6476b4a net_vs_ctl_path +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0186662d nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x041013fd nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x080fbe7a nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x120673d4 __nf_conntrack_helper_find_byname +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x17c730b5 nf_conntrack_hash_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1dc74057 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1e77e547 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x277b10b5 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x29193f02 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2ad54c2a nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2ca084ab nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2ca4370d nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2ff2e869 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x318909cc nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4138835f __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x474461f5 nf_conntrack_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b9065a9 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x50c0f24f nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x56cbcecf nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5882ba33 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5bd335b3 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5c3413a9 nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5dadb343 nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6250464c __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6ed04a78 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6f8564ee nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x73c864ee 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 0x7979613e nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7a2c771a nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x819f7ebe __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x81fb7d39 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x865161ec print_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x87236822 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8867ace9 nf_conntrack_in +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 0x9575bb71 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x97521954 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x98efcd95 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9ae8f277 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9af3f6c1 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9d5c84b4 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9e508612 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9f0b1c6f nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa20f1e6d nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa5dee12c nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xae753deb nf_conntrack_untracked +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb3688840 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb373095e nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb65d462e nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xba24c269 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xba3fb980 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbd7da3d6 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbee4a73b __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc0c2dc9c nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc558016c nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcaa4e4a9 nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd0c7fc20 nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd2e34a2f nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd3f3f763 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd49161ec nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf72d299 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe2f19ea2 nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe6a7f761 nf_expect_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf32ca65f nf_ct_unlink_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf892862b nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x9de8a109 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x51eb95ee nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x1d151f5a get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x29149164 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x3f29b1d5 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x511b9cb1 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x58196567 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x844aec51 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd8ed5b4b nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xdca38e7f set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xee17e09c set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf0c3157a nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0xe1a606cf nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x22563430 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xa9be456b nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xc60d6bd7 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xfd5baf7d nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x3cf634e2 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x6ea572ec nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x170ee99c ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x24ac17f9 nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x6428497d nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7c62bb4c ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x836e1516 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8508b776 nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8b440334 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa3ee5c8f ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xc4d2225a nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xd8570680 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xedaed02c nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf94c2073 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x4c5fca70 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x0a70d226 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0xea321174 nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x76d09685 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xab532e46 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xb84db033 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xc23b5c09 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xeca95329 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xef9b4bbd nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x4ff97969 nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x10208fc5 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x161d1417 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x28f6da4b xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x382e7fa4 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x469a21e9 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4f432b51 per_cpu__xt_info_locks +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x588ab925 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5f82f1f7 xt_compat_flush_offsets +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x673571a4 xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x684694c5 xt_compat_add_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6f9aa2fb xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x73081961 xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x87b5faee xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8cbcee74 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa0aadbfa xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa220b181 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa4defae0 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb0d16ab7 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb3da96e0 xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc82fd2a3 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xccbb5869 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe0b4971b xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xc2429b63 xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xfc852663 xt_rateest_put +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x08df5bf4 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x1f428d87 rds_inc_addref +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 0x3a616f6a rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x3e6e753e rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x461fb12e rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x48f3f275 rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x590bc9dd rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x792fe394 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x885b03db rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x8bcc39ac rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0x90b219a8 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0x9b3e6113 per_cpu__rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x9f47a734 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xa75ae972 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0xaef69db2 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0xb0362935 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xc2da8e38 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xccce46bc rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xdb34cccf rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xde0eb73b rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xe7ca407e rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xeaf6cb70 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0xefb92b5e rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xfcffa022 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0xff9ff2f1 rds_message_put +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x32888b5d rxrpc_register_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0xab304866 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 0x021b9b27 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x06863eaf gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x2a404825 gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x3848a457 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x467c46b9 gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x46a24ba9 gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x69881eba gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x6c2ff54b 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 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb64bf8fb svc_gss_principal +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xc73bec46 gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xeabc090b gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x01df5c91 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x036edf7e svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03dc05be svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x047cd06a cache_unregister +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 0x06d9bd07 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x09cf8f76 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0b62ee93 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0efcda21 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f0e27b2 svc_sock_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x10474147 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12bf7d37 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12e280e3 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x136f9a9d rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14152587 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1d86f32a svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f8e8a7c xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x23aeb317 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2474a65b unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2a964844 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2aa17774 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b5974ab svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d4b7939 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2edf64b3 auth_unix_add_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2ef4f372 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30a6df09 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x388b9424 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3be016ae xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3cbb932d sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d33629f svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3fce52f5 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x401b28e1 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x41cf8258 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4505b16b rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45ba9226 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45eed76b rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4738d79c rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4786ea0e rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48dd60f1 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ad2e218 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b941b16 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4bc9377b xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d6c8a14 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ee590a4 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5235548a rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5429c6c1 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x550547a3 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x552b4f71 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5655a177 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x56f33620 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58619f21 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b14ec1a rpc_put_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bd26000 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d91eca0 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f0db6ec xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6077f4be rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x625c8d9a rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x62fbbe35 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x63b77690 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x675524ec rpc_sockaddr2uaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x67933a64 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x69040610 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a443e50 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c5304c5 rpcb_getport_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6dc63174 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6de168f9 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6eea229d svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7026797d xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70a53b77 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7231219c rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x763139e5 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x775adaf6 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78456da9 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79132a7e xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a4edcaa rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b6748f5 xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7bc83bc9 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7be37612 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ed114dd cache_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8108004f put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x83833618 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x84ed8835 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x85871cc4 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8604984d xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x89cb7116 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c47f648 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c632ea5 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8cb8e7ab xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d0f888e xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ed5f916 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x91c96d7d xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9368d1f1 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93b6fcf0 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9487fcd3 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9841063c rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99acd7c4 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9bfd7f9b xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9c53f5f3 rpc_get_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d33b43b svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d93a4f5 auth_unix_forget_old +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f9039c2 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9fb4ec69 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa0975289 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa4ed9e7e xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9a4cfcc svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9c87b97 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa1df579 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xab46efab cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaca90452 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xad5b10ca rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaead4c0f rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb1adda67 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb387b246 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb38dddba svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb41e7596 auth_unix_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb9584646 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbafacee6 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc96eb56 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd119469 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd3587c1 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4a3624d rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc554b883 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc664cf21 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7869a25 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8761037 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8d6ef87 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcaa74e20 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcde83c52 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xced50705 svc_sock_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd14341ce rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7cb927e rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd82c728e rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc1816b5 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc71c4e3 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd0ff0bd rpc_exit_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd6f799c rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde10329e rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdf5125e3 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe29e4f50 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4f1a12c rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea1c12be sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xebae78dd xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xebee6055 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedd1ba52 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1b9a43b rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1be787f rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6ca8033 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf7baf93e rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf90bb2b1 rpc_mkpipe +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/wimax/wimax 0x314b15d6 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x412f622a wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6158c084 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6be375f6 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x77aaaf65 wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x819cfbf6 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xc3244b0a wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xc8da46a2 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0xe65e6bda wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0xe9e8404d wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0xeb12e46c wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xec49d95a wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf3375f9c wimax_dev_add +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x066722de cfg80211_wext_siwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0b6bbd12 cfg80211_wext_giwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0b7a0bde cfg80211_wext_siwmlme +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x236c6ca9 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x23add8b5 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2d793769 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x35ed31bd cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3648d81c cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x45c3b66a cfg80211_wext_giwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4cd4133c cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x503faee0 cfg80211_wext_giwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x5cbf14a3 cfg80211_wext_siwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x65f557e2 cfg80211_wext_giwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x72fa086b cfg80211_wext_siwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x732fd343 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x87f2c5f8 cfg80211_wext_siwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9907e53e cfg80211_wext_giwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9d384549 cfg80211_wireless_stats +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xabae858e cfg80211_wext_siwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xac96ffaa cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb7453852 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc821ee1c cfg80211_wext_siwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd0308100 cfg80211_wext_giwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd79a83ee cfg80211_wext_siwencodeext +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd80bd51f cfg80211_wext_giwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdc60ee61 cfg80211_wext_siwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe2d6a265 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xeef9fddf cfg80211_wext_siwgenie +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf0fa967c cfg80211_wext_siwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf1f37c52 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf64ec9d7 cfg80211_wext_giwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xfd949c47 cfg80211_wext_siwap +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x7282aa63 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x94130249 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x9b53218d ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xb6066689 ipcomp_init_state +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x07c43a2c snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0a2373e5 snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0e4ba444 snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0ec2a7ad snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0f0a04ca snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x10c46707 snd_hda_parse_pin_def_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x11643473 snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x14fe9803 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1690c8d4 snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x202866b2 snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x21da4a16 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x230463dc snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x25eac466 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2a5d831a snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2d3880fb snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2e3f071b snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x30334364 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x33a2a126 snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x351f13da snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x36059787 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x37452116 snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3a828410 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4068e9c8 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x42341f89 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x52f4f343 snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5418a47d snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x592bb274 snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5a4550a4 snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ae76f73 auto_pin_cfg_labels +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5d2a4fd9 snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6b733560 snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x719ed6d3 snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x725267da snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x72e5fec0 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7a7dc76e snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f778e1b snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f89b77a snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x826986d3 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x834299ea snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x85dbeaf3 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x867abf95 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8abacbb9 snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8bcc8b5a snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x90ec9f9b snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9735cf5d query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9ab6e63f snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9f34a8d6 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa3c85f00 snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad7b01a3 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad87613e snd_print_pcm_rates +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xae946acd snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb960132f snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbde0da61 snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbf2aadb2 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc0f9baf1 snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc34a54c6 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc4340b19 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc4f4a28a snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc827e637 snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcc70694e snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcce27eb0 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcfc2ceb8 snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xda30fc0f snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdd11cbca snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdf717d3f snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe1a27286 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe542dba3 snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe63f17be snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe6b9cd29 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe8287617 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe9459eb8 snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe9491229 snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xed9e91cf snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf228d1bc snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf30862d6 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf3246d78 snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf8692cdd snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfada5061 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfe114af2 snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0x1bceb0d6 soc_codec_dev_ad1836 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0xf4c3edfe ad1836_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0x02638c10 ad1938_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0x3df1fa3d soc_codec_dev_ad1938 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0x0508b1dc ad73311_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0x71d8918d soc_codec_dev_ad73311 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4104 0x98b655e7 soc_codec_device_ak4104 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0x52ce9443 ak4535_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0xfb3f066d soc_codec_dev_ak4535 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0x04e39d96 ak4642_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0xa38429c1 soc_codec_dev_ak4642 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x909c5027 cs4270_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x933ab857 soc_codec_device_cs4270 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x97923f80 max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0x1a4f4ed2 pcm3008_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0x6bcecbb7 soc_codec_dev_pcm3008 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-spdif 0x18352620 dit_stub_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x607bce7c soc_codec_dev_ssm2602 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0xb3a8664b ssm2602_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0x018c6fb9 soc_codec_dev_tlv320aic23 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0xbcd33173 tlv320aic23_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0x6e5c828f aic26_soc_codec_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0x78d9d94a aic26_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x6b25e128 aic3x_button_pressed +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x98a4f81b aic3x_set_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xb2e712b5 soc_codec_dev_aic3x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xd3db0b4f aic3x_get_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xd6c0eba4 aic3x_headset_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xd8045078 aic3x_set_headset_detection +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xebfcb9e2 aic3x_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0xcbf3db46 twl4030_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0xcff64674 soc_codec_dev_twl4030 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda134x 0x0e4e2071 soc_codec_dev_uda134x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x3ff41c18 soc_codec_dev_uda1380 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x79b3ae91 uda1380_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x4fb2913c wm_hubs_add_analogue_routes +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 0xeee2e821 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x18517fba wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x22333b0a wm8350_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x9b9804ea soc_codec_dev_wm8350 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x0084feb8 soc_codec_dev_wm8400 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x7ace1db4 wm8400_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0x38f59902 wm8510_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0x926b81ae soc_codec_dev_wm8510 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0x8f89f131 wm8523_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0xbb006c34 soc_codec_dev_wm8523 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0x5331ca99 wm8580_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0x9dbaba21 soc_codec_dev_wm8580 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0xa76b068f wm8728_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0xf2fd7d74 soc_codec_dev_wm8728 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x22fdac0a soc_codec_dev_wm8731 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x26135cf3 wm8731_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x3f6be1f9 soc_codec_dev_wm8750 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x8e9fba6c wm8750_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x1446b23a soc_codec_dev_wm8753 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x1c09c994 wm8753_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x21ecd087 wm8776_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x6ab59211 soc_codec_dev_wm8776 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0xc92d87f9 wm8900_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0xd97f5421 soc_codec_dev_wm8900 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x4fb9f557 wm8903_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xf25207e2 soc_codec_dev_wm8903 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0x3d62a3ea wm8940_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0xde76fcfd soc_codec_dev_wm8940 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0xaafdb2c3 wm8960_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0xddf22893 soc_codec_dev_wm8960 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0x61a16166 wm8961_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0xc4e919d2 soc_codec_dev_wm8961 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0xc52b73e5 soc_codec_dev_wm8971 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0xc7d66ad2 wm8971_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0x971bfb61 wm8974_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0xb85c87a0 soc_codec_dev_wm8974 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x16914bf3 wm8988_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x1fb58f91 soc_codec_dev_wm8988 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0x5cb5c22a wm8990_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0xd6ae6fae soc_codec_dev_wm8990 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0xda21b084 wm8993_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0xfd833c6d soc_codec_dev_wm8993 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0x39aa1553 wm9081_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0x8e1f52e2 soc_codec_dev_wm9081 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00a82ea3 snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x02c1ae18 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x081fcf22 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x08adf469 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x096b8e4b snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x09bb5b30 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0e79fc27 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x13ac02f5 snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x154f5fef snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1bb142f2 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1c9b5f09 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x207f057d snd_soc_put_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x23aa8d0d snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x25f76426 snd_soc_dapm_stream_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x26594bb4 snd_soc_free_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x27dbfe76 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x27dfa763 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2fc590b8 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x332d3b02 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x38a893ad snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3a9a0bad snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3ae5b8d7 snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3b833d47 snd_soc_info_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4199a190 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x43f334f9 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x448f785e snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4550b23c snd_soc_new_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x477e90d5 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4dfe5a8d snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x52c703bb snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x539a7d45 snd_soc_init_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x55c2ea56 snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x55f942cc snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5b4f33b9 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5c15fefd snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5dc6ed5c snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66586889 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6833f7fb snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6d5d1def dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x793c2fc7 snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7a6a6ad7 snd_soc_add_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7b0e397b snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7fbd8c7e snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x80354793 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x83ad8674 snd_soc_get_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x859fcc23 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8777b5c1 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8fdac8f1 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xae73ae43 snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb160deb1 snd_soc_suspend_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb8ce837f snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xba6d8b80 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbbd1129a snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbf30e45a snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc16f47bb snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc4bb17ce snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc51763b7 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcb19182f snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcb4ffddd snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcd9da781 snd_soc_resume_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd9571ef5 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdba8cb05 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdfcafb4e snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe0ebd735 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xee2cd984 snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf3611682 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf5eccb12 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf6f9d35c snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf7b4c9ba snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf7f7758f snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfb1d7ec1 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x15e0620c xv_destroy_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x4803223f xv_malloc +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x57e771ba xv_get_total_size_bytes +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x88072f01 xv_create_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xaf69699e xv_get_object_size +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xe878f8f2 xv_free +EXPORT_SYMBOL_GPL vmlinux 0x003dbce0 cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0x003ed6a6 hpet_unregister_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x004545f4 inet_csk_compat_getsockopt +EXPORT_SYMBOL_GPL vmlinux 0x00465c94 dm_rh_mark_nosync +EXPORT_SYMBOL_GPL vmlinux 0x00566d8f inotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x0058d2cf apic +EXPORT_SYMBOL_GPL vmlinux 0x005d161d sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x009a5a62 device_move +EXPORT_SYMBOL_GPL vmlinux 0x00a5cbe1 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x00ab0d45 xenbus_map_ring_valloc +EXPORT_SYMBOL_GPL vmlinux 0x00b7201f device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x00b8ecf8 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x00dc7989 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x00f94fde register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x0110b3d1 register_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0x016b9869 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x016f00ad ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x01848a8e local_apic_timer_c2_ok +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01bf2e74 platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01e9acda usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x0243a3fd __class_register +EXPORT_SYMBOL_GPL vmlinux 0x02578683 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x027c35a8 dm_rh_inc_pending +EXPORT_SYMBOL_GPL vmlinux 0x02875d85 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x029235c4 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x02a430cb ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x02b25430 inode_add_to_lists +EXPORT_SYMBOL_GPL vmlinux 0x02ccea56 lock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x02de62c4 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x02ee9194 ata_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x033921a1 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x039622db file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x03a3f86d unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x03cf3600 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x03e0be38 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x040515e0 inet_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x04069b1d set_irq_nested_thread +EXPORT_SYMBOL_GPL vmlinux 0x0415d56c __pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x04634238 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x0482d837 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x049cb438 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x04c3f2c1 gnttab_empty_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x04e32934 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x04ea8706 __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x0533f438 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x05a896ab usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x05c7ef21 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x06009be9 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x060d1064 set_memory_ro +EXPORT_SYMBOL_GPL vmlinux 0x0619ca8a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x06388092 ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x0638c0d0 pci_configure_slot +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x06ad0b21 usb_buffer_unmap_sg +EXPORT_SYMBOL_GPL vmlinux 0x06b52831 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x071f1ed6 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x074fb645 __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x075ffe8c power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x077bb459 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0x078993b9 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x07a13f3a rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07ce7344 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x07ff4aea xenbus_scanf +EXPORT_SYMBOL_GPL vmlinux 0x080b7f43 tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x08321f60 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x0846d8f1 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0853a467 dm_rh_stop_recovery +EXPORT_SYMBOL_GPL vmlinux 0x085db0e4 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x08830850 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x0899da9f bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x08a3e5d1 net_ipv6_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0x08d8708f cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x095dc7fa each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x09dc4765 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x0a023b28 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x0a199eff relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x0a1a2ef4 bus_register +EXPORT_SYMBOL_GPL vmlinux 0x0a1f6790 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x0a770fa6 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x0ab16640 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x0aca3a40 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b4c2e73 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x0b5b6a57 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x0bce9d80 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x0bd34ba4 xenbus_bind_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x0bf4450c inet_csk_clone +EXPORT_SYMBOL_GPL vmlinux 0x0c04dc7f inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x0c117a36 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x0c15deb2 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c524a33 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x0c624a4d eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x0c73004b ata_port_disable +EXPORT_SYMBOL_GPL vmlinux 0x0c7db5a3 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x0c805f93 clflush_cache_range +EXPORT_SYMBOL_GPL vmlinux 0x0cb88680 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x0cc2c21a ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x0d05b522 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x0d125d1c ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x0d200e8e aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0d9f9322 usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x0db9d428 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x0dbe54f4 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0df5e5d7 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x0e32299a xenbus_switch_state +EXPORT_SYMBOL_GPL vmlinux 0x0e5b03e6 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0e77d09e bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x0ec210b8 xen_start_info +EXPORT_SYMBOL_GPL vmlinux 0x0f0eeee1 ata_sff_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x0f0f6453 pci_unblock_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0x0f203f81 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x0f22c2e8 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x0f72403b crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x0f73520f klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x0fb1e7c0 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x0fe2d570 xenbus_directory +EXPORT_SYMBOL_GPL vmlinux 0x0fea00d5 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x100c13c6 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x100c48a2 unregister_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101c923e __tracepoint_power_start +EXPORT_SYMBOL_GPL vmlinux 0x10621889 hpet_rtc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x10a9c8f5 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x10ff9e31 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x115f9a05 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x1176d0d0 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x11bc6660 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x1218a0c1 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x1243f03d ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x124bb3b4 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1251d30f call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x12a5d367 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x12c9d44f device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x13142672 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x1360fcd2 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x13780514 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x137b6c21 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x1381a048 iommu_map_range +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13cfb36f ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0x13ed245e vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x13ee9a02 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x13f21aa5 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x13f81879 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x1424d598 inotify_init_watch +EXPORT_SYMBOL_GPL vmlinux 0x148f06c3 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x149db923 selinux_string_to_sid +EXPORT_SYMBOL_GPL vmlinux 0x14a049c8 dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x14b2392b devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x14daa75b skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x15118c94 pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x152eda33 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x153f0693 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x154a8f0c kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x1550d408 acpi_smbus_unregister_callback +EXPORT_SYMBOL_GPL vmlinux 0x1556756b usermodehelper_is_disabled +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 0x15b8174d sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x16143092 kill_pid_info_as_uid +EXPORT_SYMBOL_GPL vmlinux 0x16356357 pm_request_idle +EXPORT_SYMBOL_GPL vmlinux 0x1640954a class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x165137a7 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x16788d5b bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x1697136d hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x16da3868 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x171741fc bd_release_from_disk +EXPORT_SYMBOL_GPL vmlinux 0x17700099 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x177c9f20 xenbus_alloc_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x179f6aef rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x17cdf383 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x1878f62b edac_err_assert +EXPORT_SYMBOL_GPL vmlinux 0x188f05ec __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x18ca71c1 rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x18d53420 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0x18efafe5 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x18f83fab gnttab_grant_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0x1903a7bd usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x19373794 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19a77686 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x19b0e167 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x19b70ac1 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x19bb9685 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x1a0d897f tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a474901 tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x1a5037ad usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x1a7d447c pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x1a81f961 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x1a93017c rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0x1a938737 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x1a9b538e ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x1aa8dbd5 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x1acda5b2 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1ad94a98 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1bc6d562 inotify_remove_watch_locked +EXPORT_SYMBOL_GPL vmlinux 0x1bcde060 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x1c309769 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x1c3af716 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x1c7b6c2a eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0x1c7e64d1 __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0x1c852e7c xfrm_calg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c8c9676 net_assign_generic +EXPORT_SYMBOL_GPL vmlinux 0x1caa0717 inet_csk_compat_setsockopt +EXPORT_SYMBOL_GPL vmlinux 0x1cd45ecb add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x1cdd5293 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x1cfbf182 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x1d0df04b ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x1d3b9373 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x1d8f8059 __tracepoint_power_end +EXPORT_SYMBOL_GPL vmlinux 0x1d9316a9 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x1daac14a pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x1db21d74 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x1dee2629 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x1e10c2b7 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x1e5f82de platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x1e69f12e blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ee28364 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x1ef3b12e dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x1ef5e83e led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x1f3d1b77 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x1f42ba38 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1f498899 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x1f4ca7bc ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1f77ffbf per_cpu__gdt_page +EXPORT_SYMBOL_GPL vmlinux 0x1f8ec1b3 acpi_get_pci_rootbridge_handle +EXPORT_SYMBOL_GPL vmlinux 0x1fae7955 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1fb22f70 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x1fb47573 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1ff4aa42 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x203dc661 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x205dcd7a klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20d22764 iommu_found +EXPORT_SYMBOL_GPL vmlinux 0x2100c724 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x21451dce __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x215db6e9 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x21da516f class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x21ff3d84 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x22399730 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x2349826a kick_process +EXPORT_SYMBOL_GPL vmlinux 0x234e4c9d transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x235ac6ca platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23933a2f register_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0x23a08794 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x23d11587 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x244ad23f xenbus_frontend_closed +EXPORT_SYMBOL_GPL vmlinux 0x246f4153 pv_time_ops +EXPORT_SYMBOL_GPL vmlinux 0x24a72637 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x24aba469 gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0x24c33079 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x24c7698a xenbus_write +EXPORT_SYMBOL_GPL vmlinux 0x24d6e997 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x25041dad input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x2508d93a sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x2545c170 unregister_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x25c25102 ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0x25f19d19 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2646d1f8 dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0x26bc56ab xenbus_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x26c0d9a1 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26df275e regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x2746fb7f cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x27708c0c usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x278458cc dm_region_hash_create +EXPORT_SYMBOL_GPL vmlinux 0x279265f5 dm_rh_region_context +EXPORT_SYMBOL_GPL vmlinux 0x27adf232 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x27b87606 do_add_mount +EXPORT_SYMBOL_GPL vmlinux 0x2850f2e6 get_device +EXPORT_SYMBOL_GPL vmlinux 0x285e7e89 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL vmlinux 0x28fb8e09 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x28ff0dc1 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x293736f7 sysdev_class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x29428260 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x29501527 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x295b0340 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x295e7c1c ip6_dst_blackhole +EXPORT_SYMBOL_GPL vmlinux 0x29c8f19d ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x29ddd2c6 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0x29e6ac7d crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x2a0a4724 bind_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2b09d67f dm_rh_start_recovery +EXPORT_SYMBOL_GPL vmlinux 0x2b32dd06 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x2b9f8e23 nf_net_ipv4_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x2bcaa8e3 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2bfc4d7f tracepoint_get_iter_range +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c2cb9c6 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x2cb2a318 ip6_sk_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2cc266b9 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d160c75 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x2d40faa2 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x2d5dbeec crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x2d85e769 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x2d992fe8 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x2d9f2ce3 sched_clock_idle_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x2dd8444c trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x2e0df1ce fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x2e2292e0 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x2e47f677 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x2e9ad101 pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x2ec92012 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x2eed2630 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2f0f795b bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f857551 machine_check_poll +EXPORT_SYMBOL_GPL vmlinux 0x2f9a3671 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x2fb39b0c __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x2fbc1675 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x2fcd9e17 dpm_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x300155d0 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x302e9ca5 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x304012dd pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x307abea5 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x30ef85f5 inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x311312da input_class +EXPORT_SYMBOL_GPL vmlinux 0x318920b1 register_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x31d84d7b usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x31e10192 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x31fccf26 pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0x32109dc7 disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0x3235157b inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x325e677c gnttab_grant_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x327e93b8 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x32d5e7fc xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x32f17454 ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x33262a75 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x33500d41 __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x33532f53 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x337c18da crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x338d3dce dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL vmlinux 0x33a6d8b2 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x33d3f03b blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x33d4bfa1 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x33e1d43b rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x34275124 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x343b751f tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x34454312 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x346835bc devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x347afd5a rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x348b1863 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x349533b0 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x34c24076 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x34da6aa1 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x34dc79ff led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x34dee8bc regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x34fd3f9a ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x35213407 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x354502c6 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x356c1403 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x35c802ba sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0x35d8c94a sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x35fd0312 per_cpu__injectm +EXPORT_SYMBOL_GPL vmlinux 0x36046280 ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x3612bacf user_update +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x3657d666 ata_sff_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x36602883 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x368711e0 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x36c09916 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x36cb62e4 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x37ad4176 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x37d573f6 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x37e1670b scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x37e31358 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x384958ff sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x38650514 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x38712717 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x3879d0b6 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x387c34ac power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x38ea936e __memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x390c640f hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x397b9bfb dm_rh_update_states +EXPORT_SYMBOL_GPL vmlinux 0x399f628f scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x39ad4f6b fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x39bf90fa ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x39c6dd54 sysdev_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x39c95518 swiotlb_sync_single_range_for_cpu +EXPORT_SYMBOL_GPL vmlinux 0x39cd85e6 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x3a13f9e8 inotify_init +EXPORT_SYMBOL_GPL vmlinux 0x3a3e5e8a ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x3a6de86a power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x3a9eabb0 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x3ab9aa04 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x3af833c3 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x3b09fdc3 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x3b7b114e dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x3b7ea06f __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x3b7fdb6f shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x3be7af02 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3c307dcb skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x3c6488c3 usb_buffer_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x3c6c45ca __tracepoint_power_frequency +EXPORT_SYMBOL_GPL vmlinux 0x3c7d8eda devres_add +EXPORT_SYMBOL_GPL vmlinux 0x3c7fa7a7 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3c9cab97 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x3cb3950a class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x3ccb6c30 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cfdfae5 trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x3cfe9e79 do_sync_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d100a0e ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x3d18a025 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x3d381b7b i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d5f392d acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0x3d6d0225 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x3d7ea99a gnttab_grant_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x3dc4e2e5 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x3dd5d829 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x3dde0e07 amd_get_nb_id +EXPORT_SYMBOL_GPL vmlinux 0x3de34bfd security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x3e90049c usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x3ecf6cfc wmi_install_notify_handler +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f093a1f spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x3f238101 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x3f2f0897 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x3f7b4e68 rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3f84d4c9 gnttab_release_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x3faa08c4 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x3fbca532 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0x40101f26 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x40164d85 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x40258e27 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x402a8664 filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0x405211cb sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x405f6eeb ata_port_start +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40be2c41 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x40d3007c ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x40eb7312 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x4220181b xenbus_dev_changed +EXPORT_SYMBOL_GPL vmlinux 0x42494cea ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x424acc6d scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x425d2633 sysdev_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x426f13b9 e820_all_mapped +EXPORT_SYMBOL_GPL vmlinux 0x427dd702 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x42acfea4 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x42eee679 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0x4304c1f9 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x430f8f74 fib_rules_cleanup_ops +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x436080f0 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x43fc6c6b drop_file_write_access +EXPORT_SYMBOL_GPL vmlinux 0x440dbee6 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x44661518 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44a65d5c lock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x44abb265 device_create +EXPORT_SYMBOL_GPL vmlinux 0x44b6f080 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x4541fe0d mtrr_state +EXPORT_SYMBOL_GPL vmlinux 0x454d5c01 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45ce97f6 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x45d14bdf hypercall_page +EXPORT_SYMBOL_GPL vmlinux 0x45f74c02 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x46007a8d debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x460f31aa rodata_test_data +EXPORT_SYMBOL_GPL vmlinux 0x463629cd regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x468b6545 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x46dc6a84 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x46eac552 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x470503bc pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x470ce480 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x475c3565 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x47b4e363 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x480b57a0 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x4834d9e1 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x48615514 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x48aec5eb usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x48b7fa71 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x490780ff find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x497de026 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x4985d4b5 sis_info133_for_sata +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x4995f903 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x49ec9877 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x4a0cebc9 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x4a577562 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x4a734efa dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x4af9d82c class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x4afcdb09 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x4b33177c pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0x4b3f7cc7 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x4b580715 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0x4b762828 start_thread +EXPORT_SYMBOL_GPL vmlinux 0x4bb3867b ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x4be479b5 proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0x4bee02f0 cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x4bf3351e usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x4c1e3853 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4cec82ee crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x4d282023 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x4d2c9a35 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x4d3970eb power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x4d4e4610 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x4d8f4c15 klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4d902f43 ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0x4e2e450f xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x4ea226d7 ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4ed4d7c5 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x4eebbf49 scsi_dh_detach +EXPORT_SYMBOL_GPL vmlinux 0x4f1ff8f4 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x4f2dd2c2 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x4f3537f6 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x4f397825 scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x4f502ba6 device_del +EXPORT_SYMBOL_GPL vmlinux 0x4f6a2efb usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x4f6d1236 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x4fc39726 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x4fc56cce iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x5014b118 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x50184142 pci_get_hp_params +EXPORT_SYMBOL_GPL vmlinux 0x504a2533 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0x504b4d51 xenbus_map_ring +EXPORT_SYMBOL_GPL vmlinux 0x50598efd ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x506a697e sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x506e12df platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x50b319ce cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x50b44651 crypto_alloc_instance +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 0x511f1d9c inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x513172a3 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x51602ba6 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x516e7df8 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5172ff4c rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x518c2fc6 hpet_rtc_dropped_irq +EXPORT_SYMBOL_GPL vmlinux 0x51b94f4c dm_rh_recovery_end +EXPORT_SYMBOL_GPL vmlinux 0x5255894b clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x527cc9c8 shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x52948366 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x52af98d0 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x52d111ea pm_qos_update_requirement +EXPORT_SYMBOL_GPL vmlinux 0x52d671eb sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0x52e47460 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5324d04f bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x5372dede unregister_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x539eda8d ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x53b36db6 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x54397bcd generic_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x549fe6a9 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x5519bea2 ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x551d0a94 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x55526907 xen_features +EXPORT_SYMBOL_GPL vmlinux 0x55f2580b __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x561c634a wmi_evaluate_method +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x56319a02 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x56398615 mark_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x563fb5c8 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x564f2252 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x568de4ee ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x56947347 dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x57157c6d ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x57217448 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x5779d445 xenbus_exists +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57d232e3 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x583b845a __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x583db1a5 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x584b943b ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x5882f459 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x58f3c8a8 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x593a36c2 scsi_dh_handler_exist +EXPORT_SYMBOL_GPL vmlinux 0x5948fa18 scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0x5a0ae43d attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x5a2b1b67 gnttab_free_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5a48fba2 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x5a6b9919 __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5af03a28 gnttab_claim_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5b013610 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x5b435139 unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x5b835e9d relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x5bb3be18 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c1efd0a alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x5c268ced register_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0x5c3f52e6 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x5c967b9f cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x5cbfd21e ata_sff_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x5cda6d19 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x5d0f6f57 kbd_table +EXPORT_SYMBOL_GPL vmlinux 0x5d2b7649 aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x5d366dec gnttab_cancel_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x5d46fd2b bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x5d6cff5a __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d87c067 register_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5d8c1cae mmput +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5de1686a class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x5e04125e regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x5e1b382a crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x5e2e97b0 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x5e5f964c elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5e910695 crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x5efa1c4a usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x5f11781c debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x5f2da8c4 check_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x5f8553e4 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x5fa611ee debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x5fca4d68 unregister_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0x5fcdec5d xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x603ab8dd devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6040fd4b read_unlock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0x6058e1f3 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x60838daf sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60bafed5 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x60cd73ed pv_apic_ops +EXPORT_SYMBOL_GPL vmlinux 0x60d55416 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x60f94558 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x60fa50f9 put_device +EXPORT_SYMBOL_GPL vmlinux 0x60fba751 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x61747e09 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x6194ffea do_machine_check +EXPORT_SYMBOL_GPL vmlinux 0x619f70b9 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x61abe2de tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x61b5cd98 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x61b7aba2 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x61c6f8bf power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x62211d33 bd_claim_by_disk +EXPORT_SYMBOL_GPL vmlinux 0x62319cfc sysdev_create_file +EXPORT_SYMBOL_GPL vmlinux 0x6242e2ad page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x627ce53a cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x62960cdf crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6298cad9 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x629a7f6e do_posix_clock_nonanosleep +EXPORT_SYMBOL_GPL vmlinux 0x62d9a7d2 ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x6301d114 device_add +EXPORT_SYMBOL_GPL vmlinux 0x6306bc2f debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x631fe87f skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x6324e79d sysdev_class_register +EXPORT_SYMBOL_GPL vmlinux 0x63583f91 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x635d1370 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x637c0561 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x6393d52c vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x639ec36f ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x63ca2edb sysdev_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x63f139d8 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x63f4dc09 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x640ee24f get_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0x65036d45 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x652249a4 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x65343146 d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x654c49e2 aer_irq +EXPORT_SYMBOL_GPL vmlinux 0x65589219 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x6565b802 device_register +EXPORT_SYMBOL_GPL vmlinux 0x656d4891 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x65b3ae79 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x65b95540 dm_requeue_unmapped_request +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 0x6604454d sysdev_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6657779c swiotlb_sync_single_range_for_device +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x669c87a4 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66d75abe scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66ea1170 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x66eab7f1 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x67254173 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x6790f512 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67af831d crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x67e06492 inotify_find_update_watch +EXPORT_SYMBOL_GPL vmlinux 0x68018218 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x686c703f xfrm_count_auth_supported +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x68a668cb hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x68f09f86 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x6901119a trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x69109b31 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x691b8d3d device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6941362d __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x69882074 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x6994c26a bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x69b6d2ff relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x69c27f29 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x69e5a3ee rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0x69e5fc45 find_module +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6a11e6c9 __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0x6a15fb96 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x6a21cb8c ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6a273798 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0x6a373360 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL vmlinux 0x6a3d9322 dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6a8dc705 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x6adf5eab preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x6ae11d26 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x6b3b7167 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x6b7ab588 trace_define_common_fields +EXPORT_SYMBOL_GPL vmlinux 0x6b83ef55 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x6b87e3b1 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x6b9178b3 xenbus_strstate +EXPORT_SYMBOL_GPL vmlinux 0x6bdd560a inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0x6be62dfd probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x6bfd2188 fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0x6c0b5808 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x6c404e4c led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c807758 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6c8eb98f xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x6ce031b4 i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x6d12a543 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d38200d crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6d99bebe sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x6dac1f9a led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x6e58ddf0 gnttab_end_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x6e6089f0 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0x6e7474fc xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x6e990eb1 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x6eb787ee klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x6eeedc32 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x6f1e676a skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x6f47df62 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x6f5041c9 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0x6f52a62e register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x6f6ce32b rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x6f8547b7 sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x6fbed5b4 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x6fe3d8cf ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x7037d79d k8_flush_garts +EXPORT_SYMBOL_GPL vmlinux 0x704cdfc0 put_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x7074e30c securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x708837c5 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71b65ef2 ata_sff_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x71c8bc95 kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x71e40833 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x721babaa sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x722c4f65 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x728583ea sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x729ab9c7 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0x72d94949 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x72e03bae stop_machine_create +EXPORT_SYMBOL_GPL vmlinux 0x731433ee unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x731a8eab queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x731dba7a xen_domain_type +EXPORT_SYMBOL_GPL vmlinux 0x733e4a90 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73e4678a ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x73fcc540 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x742985c2 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x7484075a inotify_inode_queue_event +EXPORT_SYMBOL_GPL vmlinux 0x74abdafa task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74deb10c used_vectors +EXPORT_SYMBOL_GPL vmlinux 0x74f0ae80 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x75085ffc tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x7521afb6 leave_mm +EXPORT_SYMBOL_GPL vmlinux 0x7534cdfd ata_sff_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x7549636b scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x757dc815 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x75bfb8a5 register_net_sysctl_rotable +EXPORT_SYMBOL_GPL vmlinux 0x75d97d04 xenbus_free_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x75deb540 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x760ead7f sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x761188fd dpm_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x7648ee0c cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x7685c882 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x768a0302 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x76b3246d xenbus_watch_path +EXPORT_SYMBOL_GPL vmlinux 0x770dc8b4 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x7712771a unbind_from_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x77127d5e crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x77295421 rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x773ca527 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x776760f9 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x777721f1 rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x77b0ebeb driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x77d241d9 blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x780eed89 acpi_processor_ffh_cstate_enter +EXPORT_SYMBOL_GPL vmlinux 0x781f4ba2 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x78309e2e i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x7840ede6 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x7885c1ed usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x788c852b ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7898d132 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0x78cf003f ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x78e4a4ee klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x792c05f7 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x793a329a sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x79808b10 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x79bc6fc8 spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x79cda9a0 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x79e36091 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x79eb6e3d acpi_smbus_read +EXPORT_SYMBOL_GPL vmlinux 0x7a243bce ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x7a2de623 register_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x7a40ad4e hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x7a47cf8a device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x7a4bc1aa dm_rh_get_region_key +EXPORT_SYMBOL_GPL vmlinux 0x7a4c1438 pv_info +EXPORT_SYMBOL_GPL vmlinux 0x7ab3c122 edac_handlers +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7b067a5d __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x7b1d544d edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x7b1d9dfa blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x7bcd2ded klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x7bcebd33 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x7bd7c566 put_driver +EXPORT_SYMBOL_GPL vmlinux 0x7bee2635 cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0x7c3ff30d inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x7c4228a0 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x7c8fc5e9 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7d8922f3 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7de1d673 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e2d7ad6 blk_abort_queue +EXPORT_SYMBOL_GPL vmlinux 0x7e5e301f unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e6f2d92 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x7e8efc10 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x7ecf71bb single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x7ee6c3b7 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7efef236 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x7f19c836 unlock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x7fbe01cf anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8014b6af input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x80189a41 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x80373203 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x8039d043 selinux_secmark_relabel_packet_permission +EXPORT_SYMBOL_GPL vmlinux 0x803bb408 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x80417404 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80bcd3fe set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x80c6e9ee spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x80ee55c3 selinux_secmark_refcount_inc +EXPORT_SYMBOL_GPL vmlinux 0x80f03143 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x8106d775 cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x81524162 fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0x8164859c rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x81683107 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x8199a905 xenbus_unmap_ring_vfree +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x824b8cec pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x828c36ba inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x82923f4e acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x82ad1f61 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x82af8b9a devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x82cd19f3 register_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82f776b7 gpio_export +EXPORT_SYMBOL_GPL vmlinux 0x8310e141 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x8333bfde crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x833e051c init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x83b76dbe generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x83bc5dac inotify_destroy +EXPORT_SYMBOL_GPL vmlinux 0x83c67ec2 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x83e52c00 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x840722da dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x842a07ae crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x8436a9ba zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x845cc2c4 unregister_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0x847f2091 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x84b149e9 hypervisor_kobj +EXPORT_SYMBOL_GPL vmlinux 0x84bd9e00 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x850af9da ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0x85291f80 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x852e6ee2 xenbus_unmap_ring +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x85bcad38 __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85cb1c9d get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x85cf26a8 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x85d7edfd hpet_set_periodic_freq +EXPORT_SYMBOL_GPL vmlinux 0x85ec6388 fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x86072866 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x863e3a8c scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq +EXPORT_SYMBOL_GPL vmlinux 0x867c684a setup_APIC_eilvt_ibs +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86a51007 gnttab_end_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x86a5469d ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x86b1667d hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x873fbaea edac_atomic_assert_error +EXPORT_SYMBOL_GPL vmlinux 0x876d29f1 wmi_get_event_data +EXPORT_SYMBOL_GPL vmlinux 0x8774f5ef pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x878cc5de sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x87a79b40 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0x880b189a __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x88406680 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x885142a6 nf_net_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x886dec05 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x891e02b1 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x897dcf87 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x89ececdf rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8a38b4f3 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x8a72be8e power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x8a78989f irq_from_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x8aa9abca sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x8ab65efd ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x8ae1ad66 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x8ae8f1f9 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x8b0eb79e __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x8b39cf9d unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x8b4660ee usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x8b57f997 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8b9200fd lookup_address +EXPORT_SYMBOL_GPL vmlinux 0x8c06a108 xenbus_transaction_start +EXPORT_SYMBOL_GPL vmlinux 0x8c38074a unregister_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8c88f0ea pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x8c9d686d __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x8cd14218 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8ce008ff security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x8d033df4 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x8d109544 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x8d21e4df da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x8d2e698c regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x8d411d0b unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x8d952dc7 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x8da23728 aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x8da67bf9 usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x8db1a37e cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x8db89810 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x8deb6e3c usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x8df632ae pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0x8dfad02f pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x8e3be7b4 nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x8e3f58df proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x8e558dd7 regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x8e5c0783 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x8eabc8bd setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x8eb58c6e __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x8efe0116 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f9c4889 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x8fa74514 sysdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8fd922f3 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x9009602a acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x90222119 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x9044591d crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90b3689a xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x90f3c78e queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x912ef477 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x91346b63 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x91482eef usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x91640f16 dm_rh_get_region_size +EXPORT_SYMBOL_GPL vmlinux 0x91a456a6 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x91ff1264 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x9244c614 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x9249b012 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x92778d56 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0x929b13fc pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92e33582 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x92fb217b dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0x93260715 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x933265e5 nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0x935893b2 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x935a7c48 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x93aa2bb2 acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0x93be3c37 sysdev_register +EXPORT_SYMBOL_GPL vmlinux 0x93c8dad6 inet_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93ebe3f5 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x9418bbb8 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x942a41f4 iommu_unmap_range +EXPORT_SYMBOL_GPL vmlinux 0x94326e33 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x944561ea ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x94a3bf70 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94bef61c lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0x94df3ab0 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x94f57a08 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x94f728e2 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x9505e567 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x9556688b user_read +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x95758050 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x95cdc22f ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x961a8cd3 unlock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x961e714a crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x964d5c39 acpi_os_map_memory +EXPORT_SYMBOL_GPL vmlinux 0x966eb1e0 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x96b7d4e5 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x96bc8f23 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x970c8daa fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x9724f911 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x972f2ebd shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x97982542 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x97afc880 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x97c1c194 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x97cc1802 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x980fa92e __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x98215d8d device_rename +EXPORT_SYMBOL_GPL vmlinux 0x9827f7f6 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x9841a4b9 scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0x984cecb0 __pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x9855875a input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x98b56216 __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x98cdfc38 acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0x98ef3fdf usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x98fc63fc __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x99286626 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x9930ed80 __create_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x995d38f8 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9984c858 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x99d3375b crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a26b000 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x9a4d1034 idle_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x9ad56f09 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x9ae2a3ec pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x9b71b65e tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x9b8b3e51 acpi_processor_ffh_cstate_probe +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9bb94403 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x9be34dea bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x9c0cbc89 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x9c447323 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x9c5a5292 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x9cb18781 dm_rh_get_state +EXPORT_SYMBOL_GPL vmlinux 0x9cb8037b xfrm_count_enc_supported +EXPORT_SYMBOL_GPL vmlinux 0x9d06688b register_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x9d2ac309 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x9d2b6a58 hpet_register_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x9d308c4d hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x9d381449 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x9d3850e1 gnttab_alloc_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x9d4287a7 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x9d741a89 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x9da688ea pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x9dca1d7c usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x9dcec942 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9df1e5f9 scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0x9dfa0f9f usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x9e01f6d4 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0x9e3dda60 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x9e6b50ce pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x9e711ad2 pm_qos_requirement +EXPORT_SYMBOL_GPL vmlinux 0x9e95459a transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x9ea08a44 __module_address +EXPORT_SYMBOL_GPL vmlinux 0x9efc7366 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0x9f074685 elv_register +EXPORT_SYMBOL_GPL vmlinux 0x9f1c9fd2 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x9f34e098 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x9f3eca38 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f6aeb41 blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0x9f85ed90 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0x9f944337 agp_remove_bridge +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa0255440 net_ipv4_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0xa0686e82 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0xa07c16ae ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0xa0b7de80 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0xa0d10520 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0xa1091707 proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0xa11c5004 __set_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xa186c8f6 lookup_create +EXPORT_SYMBOL_GPL vmlinux 0xa1b6754a uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xa219ae66 regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xa2294b4c ata_pio_queue_task +EXPORT_SYMBOL_GPL vmlinux 0xa23e6b2b blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xa248a773 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL vmlinux 0xa288efcf unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xa28d8527 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xa29f2d12 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0xa2e67f08 acpi_bus_generate_proc_event4 +EXPORT_SYMBOL_GPL vmlinux 0xa307bd10 driver_find +EXPORT_SYMBOL_GPL vmlinux 0xa353fffc xenbus_rm +EXPORT_SYMBOL_GPL vmlinux 0xa40a8590 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xa413530f ata_bmdma_mode_filter +EXPORT_SYMBOL_GPL vmlinux 0xa4465963 dm_unregister_path_selector +EXPORT_SYMBOL_GPL vmlinux 0xa452c297 hpet_mask_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa4849d12 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0xa4a42813 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0xa4b24ba1 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0xa4d58669 math_state_restore +EXPORT_SYMBOL_GPL vmlinux 0xa4e08dca usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0xa50c2f9f class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xa50ffe56 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xa51105bf spi_async +EXPORT_SYMBOL_GPL vmlinux 0xa53e6027 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0xa5597e1c cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa5a2b238 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0xa5aa55fa destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa5acc907 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0xa5bf5c3e pm_qos_add_requirement +EXPORT_SYMBOL_GPL vmlinux 0xa5c36cec inotify_unmount_inodes +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa602a8c7 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xa60926cc platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xa6473125 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0xa651d22f sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0xa665a7b1 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa6b28207 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xa765601d ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0xa7680fc4 do_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xa78a2da9 platform_device_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xa78e60a3 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xa79cec1c usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0xa7e6d095 agp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0xa87ae87e bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa891a223 ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0xa8ca6e89 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa9126bff hpet_set_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa9167685 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xa94fea41 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xa9816fb8 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9d5e788 inotify_add_watch +EXPORT_SYMBOL_GPL vmlinux 0xaa0c6338 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xaa17a6dc usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xaa3e3aea __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xaa5310f9 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xaa8c4696 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0xaa91a180 crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0xaaa530c3 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xaab88521 dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0xaac98eb5 scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xaad47370 crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xaaddf6ca blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0xaae8e85e acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0xaaf0eddb debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0xaaf253a0 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xab01acbe gnttab_request_free_callback +EXPORT_SYMBOL_GPL vmlinux 0xab2c5681 gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0xab57e311 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xab67f0f3 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xab69b31f save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0xab707c8e scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0xaba8ea48 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0xac5811fb skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xac8829c7 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0xac8e3b2f usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0xaca2d970 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0xacafa8e7 vector_used_by_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xacb71686 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xacc19485 ibft_addr +EXPORT_SYMBOL_GPL vmlinux 0xaccf754e sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xad096363 xenbus_printf +EXPORT_SYMBOL_GPL vmlinux 0xad792548 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0xad927df0 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xaddc6dd7 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xaddf119c tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae528a75 srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xae6d3fc9 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0xae8e9d00 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0xaeb2c45c fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0xaed831be rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xaf3f6fe0 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xaf5eb06d crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xaf75725f input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0xaf8a4c74 inotify_rm_wd +EXPORT_SYMBOL_GPL vmlinux 0xafa9bc79 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xafc7c996 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xafe845e8 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xafefd48e ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xb0223109 klist_next +EXPORT_SYMBOL_GPL vmlinux 0xb0348a4f rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xb08e5620 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xb0aa812e fips_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb0ac5ea0 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xb0cf522f devres_get +EXPORT_SYMBOL_GPL vmlinux 0xb0eedea9 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb104c61e ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb131ff95 pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0xb13239b6 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0xb15c20c5 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0xb16f8453 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb1e2177b br_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0xb1e3a2d6 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xb219e9b7 dm_region_hash_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb21d19bb ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0xb29f433d register_posix_clock +EXPORT_SYMBOL_GPL vmlinux 0xb2b42d83 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xb2f74d91 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb2fab611 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xb320cf44 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xb3253ed9 hpet_rtc_timer_init +EXPORT_SYMBOL_GPL vmlinux 0xb33b0067 pci_block_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0xb34b37d7 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xb37fd83b ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0xb38e9a9c class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb3ba5c02 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0xb42f2903 relay_close +EXPORT_SYMBOL_GPL vmlinux 0xb4534729 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xb482d36e crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xb4960db2 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0xb49b346a apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0xb4e14553 gnttab_query_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb50bfaca regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb5100fec dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb53ae573 cpu_idle_wait +EXPORT_SYMBOL_GPL vmlinux 0xb58187ba fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb5a0275b devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xb5a6ebe2 wmi_remove_notify_handler +EXPORT_SYMBOL_GPL vmlinux 0xb5c69426 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0xb612444d snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0xb6230f1f gnttab_grant_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xb6247301 blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0xb6416c0d __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xb65091b3 selinux_secmark_refcount_dec +EXPORT_SYMBOL_GPL vmlinux 0xb66f9f1c dm_rh_recovery_start +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb718f2f9 sfi_table_parse +EXPORT_SYMBOL_GPL vmlinux 0xb73c90b4 xenbus_dev_fatal +EXPORT_SYMBOL_GPL vmlinux 0xb744fa43 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xb760aaa7 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0xb7918e19 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0xb795637c regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb7d7c12e hpet_set_alarm_time +EXPORT_SYMBOL_GPL vmlinux 0xb7e2eb91 mce_cpu_specific_poll +EXPORT_SYMBOL_GPL vmlinux 0xb7fc2f64 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0xb7fdd0df eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0xb815e909 dm_register_path_selector +EXPORT_SYMBOL_GPL vmlinux 0xb82e6e15 xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0xb841bf22 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xb858b265 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xb87dd3df kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xb8d8958d securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xb903674c scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0xb92d5c88 driver_add_kobj +EXPORT_SYMBOL_GPL vmlinux 0xb9397589 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0xb94db510 register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xb99d5837 xenbus_read +EXPORT_SYMBOL_GPL vmlinux 0xb9b9c1b4 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0xb9e52dbf pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0xb9eb3aa9 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xb9f8736a pm_request_resume +EXPORT_SYMBOL_GPL vmlinux 0xba06c695 pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xba30d904 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xba57a9ec blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xba8979e4 class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0xba8f6b5f scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xbaa6d11b ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0xbac57201 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbae42212 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0xbb08e82f ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0xbb39b726 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xbb3a3268 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0xbb4a1408 klist_init +EXPORT_SYMBOL_GPL vmlinux 0xbb7ecba1 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xbb802181 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0xbbb98859 edid_info +EXPORT_SYMBOL_GPL vmlinux 0xbbcc8be3 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0xbbd26fce xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0xbc0760a4 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xbc46d5fd usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0xbc4ac256 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL vmlinux 0xbc6ba3aa scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xbd09b571 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0xbd184340 relay_open +EXPORT_SYMBOL_GPL vmlinux 0xbd1bc65b pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0xbd506a46 unregister_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbddbe90d disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xbdf996cd ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0xbe116723 do_posix_clock_nosettime +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe1ed72b usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xbe3ff7eb inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0xbe608951 smp_ops +EXPORT_SYMBOL_GPL vmlinux 0xbe7889b1 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xbeb4cb93 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0xbef8a262 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xbf1e8725 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0xbf56ad1b dm_rh_flush +EXPORT_SYMBOL_GPL vmlinux 0xbf74eb20 probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0xbf8f237a raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xbfa5f898 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0xbfbb1aad ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0xbfbf1d80 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0xbfcd63bf skb_morph +EXPORT_SYMBOL_GPL vmlinux 0xbfd94bb0 bind_virq_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0xbfe0c34f tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xbffde8ec compat_alloc_user_space +EXPORT_SYMBOL_GPL vmlinux 0xc00f413d driver_register +EXPORT_SYMBOL_GPL vmlinux 0xc0a72b6b inotify_dentry_parent_queue_event +EXPORT_SYMBOL_GPL vmlinux 0xc12414e5 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0xc126e890 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xc12f7e0d trace_profile_buf_nmi +EXPORT_SYMBOL_GPL vmlinux 0xc136d9da usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0xc154ecff tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0xc156b663 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc175f4f5 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0xc213f313 ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc22d3a34 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xc26351f8 bind_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xc291a0f3 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0xc3014865 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0xc3301f02 rcu_expedited_torture_stats +EXPORT_SYMBOL_GPL vmlinux 0xc34203bb cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0xc3486f36 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc39f3e6c crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0xc3aa2836 read_lock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0xc4034caa enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xc40f2959 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0xc4118e57 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc42f2f94 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4b33aa6 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc4ce6189 idle_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc4d3e76d xenbus_grant_ring +EXPORT_SYMBOL_GPL vmlinux 0xc4fe292e tcp_done +EXPORT_SYMBOL_GPL vmlinux 0xc50393df regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xc512626a __supported_pte_mask +EXPORT_SYMBOL_GPL vmlinux 0xc52ac5c4 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0xc5397da6 xenbus_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xc544c01f ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xc561fff8 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0xc58eb212 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc6252011 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc6724081 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0xc673e23e ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xc6d9dd4e vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0xc6e2b37a mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xc76fdfb3 sysdev_store_int +EXPORT_SYMBOL_GPL vmlinux 0xc78984e3 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0xc7aedf1a scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0xc7bff67e shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xc7ec11f6 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xc7ed43f9 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc8254262 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc87e487a sched_clock_idle_sleep_event +EXPORT_SYMBOL_GPL vmlinux 0xc94c1a4d register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9d4b23f kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0xc9d4d6d1 wmi_has_guid +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xca01f51c tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0xca0701e4 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xca295f03 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0xca81ea9a xenbus_transaction_end +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xca8db48d find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0xcaae1e7d sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xcab3abea pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcacdc03b remove_irq +EXPORT_SYMBOL_GPL vmlinux 0xcb3079d1 dm_put +EXPORT_SYMBOL_GPL vmlinux 0xcbf202df driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc32740a br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xcc6ab305 is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xcc83d0db __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xccb3fc48 tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xcce5f548 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xcd1ca2cb iommu_domain_has_cap +EXPORT_SYMBOL_GPL vmlinux 0xcda7eb6b swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0xcdb8547e ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdce59a5 ata_port_probe +EXPORT_SYMBOL_GPL vmlinux 0xcdd79cab bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xce310761 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0xce34fd32 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0xceb24a2a get_cpu_sysdev +EXPORT_SYMBOL_GPL vmlinux 0xcf2fd976 tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xcf563700 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xcf64aebc inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0xcf7a962e cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0xcf8af983 trace_profile_buf +EXPORT_SYMBOL_GPL vmlinux 0xcf909837 generic_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0xcfbfa60e rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xcfc68341 synchronize_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcfdc749f tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd03fdcc0 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0d61a40 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0xd0f85d32 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xd0fc1e13 ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd12d0023 mce_chrdev_ops +EXPORT_SYMBOL_GPL vmlinux 0xd134fd42 get_driver +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd175ab60 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0xd179f2fd tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xd18b7de0 ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xd1ba1939 acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0xd1cee293 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xd1e33201 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xd205041e ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0xd2116708 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd284a7be ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xd2a8caf0 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd2e4fab8 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0xd2fc29a7 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0xd315b003 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xd3471369 acpi_smbus_write +EXPORT_SYMBOL_GPL vmlinux 0xd348165a ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xd3f3263e ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0xd41993a4 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xd4366782 sk_clone +EXPORT_SYMBOL_GPL vmlinux 0xd44997e3 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0xd493d9c9 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xd49f4dd4 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0xd4b197bc fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd5460733 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0xd56e4afa usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0xd59351de platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xd59764c1 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xd5ba8d20 sysdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd5c8ad5f class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd5f1f3b6 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0xd620b72a xenbus_dev_error +EXPORT_SYMBOL_GPL vmlinux 0xd624ba84 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0xd62b6993 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0xd69cf070 __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xd69d988e ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0xd6b103e9 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0xd6cb0582 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xd6cbb428 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xd6e15aa6 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xd6fc18c3 inotify_find_watch +EXPORT_SYMBOL_GPL vmlinux 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL vmlinux 0xd7020cf1 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd727628a ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0xd73ef534 sysdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xd7432550 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd7893db1 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd7d79132 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd84bcc8e __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xd8b8c91f crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0xd8bdc51c __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0xd8ceab94 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xd8dd22fd ata_sff_host_intr +EXPORT_SYMBOL_GPL vmlinux 0xd9042fa8 scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0xd92fbcd4 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0xd9385c8f crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xd94d5e13 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd9a5c3c3 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0xd9a6ebe0 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xd9d5bead usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda2068ee ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0xda29f8b0 wmi_set_block +EXPORT_SYMBOL_GPL vmlinux 0xda39a88d ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0xda546148 ata_sff_port_start +EXPORT_SYMBOL_GPL vmlinux 0xda565ad2 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xdac774c9 __xenbus_register_frontend +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb14a4c2 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0xdb274e52 monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0xdb3fffa2 xenbus_watch_pathfmt +EXPORT_SYMBOL_GPL vmlinux 0xdb77aac1 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0xdb7ced58 rtnl_kill_links +EXPORT_SYMBOL_GPL vmlinux 0xdba64f1c eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0xdbd848ed spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xdbe41538 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0xdbf3c557 acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0xdc1f8f2e register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xdc393143 regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0xdc47bd0b fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xdc77be9e hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0xdcd30e0f device_attach +EXPORT_SYMBOL_GPL vmlinux 0xdcede68b sysdev_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xdd15bf63 sysdev_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xdd3cd923 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0xddf72bd1 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0xde009228 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde846cf4 pci_hp_change_slot_info +EXPORT_SYMBOL_GPL vmlinux 0xdec25558 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xdeccd66a ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xdee00ca0 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xdf1bdb7a usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0xdf2809f7 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xdf445388 map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xdf4c6435 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0xdfca5641 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0xdfd6ce8b __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0xdfd72a48 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xe0012341 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xe045c5d6 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xe061c5ab usb_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL vmlinux 0xe0ae4d2e init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xe0ae754c crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0xe0bdf160 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0xe0c77bb5 mce_notify_irq +EXPORT_SYMBOL_GPL vmlinux 0xe0cca33e xfrm_aead_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xe13b48ef inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0xe14722a2 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xe1854364 pci_sriov_migration +EXPORT_SYMBOL_GPL vmlinux 0xe1c2b9f2 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0xe1dd668b dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0xe1e0ca57 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xe218a679 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0xe247343b hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0xe25f6273 macvlan_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0xe295c0ff is_hpet_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe2cbeeba user_describe +EXPORT_SYMBOL_GPL vmlinux 0xe2ef9767 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xe350ee6d ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xe3aa4891 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0xe3f1bfa5 ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xe404e4a0 usb_string +EXPORT_SYMBOL_GPL vmlinux 0xe42ad5be alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xe441d07c dm_rh_delay +EXPORT_SYMBOL_GPL vmlinux 0xe4428977 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xe46f7e1c debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xe47b92db regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xe49a9344 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0xe49cb4b1 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe49ff3b0 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xe4b15954 dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0xe4c858c2 spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xe4d2d0ab i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0xe4d6144d regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xe50782a7 srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xe513afc0 cache_k8_northbridges +EXPORT_SYMBOL_GPL vmlinux 0xe52621fc sysdev_show_int +EXPORT_SYMBOL_GPL vmlinux 0xe530071c pm_qos_remove_requirement +EXPORT_SYMBOL_GPL vmlinux 0xe58b9ac0 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xe5a68061 dm_rh_dirty_log +EXPORT_SYMBOL_GPL vmlinux 0xe5aff0d8 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xe5d9e225 fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0xe5e51709 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe623483e securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xe62c2187 dm_rh_dec +EXPORT_SYMBOL_GPL vmlinux 0xe630203b device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe67427eb sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0xe68deb31 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe6e8f340 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0xe7125fe3 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xe739d942 skb_icv_walk +EXPORT_SYMBOL_GPL vmlinux 0xe75b89c3 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0xe7a29673 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe8330866 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe86bdbe3 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xe8ad83b9 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0xe8b0a27c tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0xe8ce2630 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0xe8e28dea ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0xe901175f __dev_addr_unsync +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe9d38dbb ata_dummy_port_info +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 0xea93796a usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xead40003 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xeae01e45 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeb4c1fc8 __tracepoint_block_remap +EXPORT_SYMBOL_GPL vmlinux 0xeb4c70bb disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xeb5e0751 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xeb630e21 crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xeb72461c usb_autopm_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xebc52bfd nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0xec160f02 pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0xec1a75a9 __dev_addr_sync +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec2f60c0 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xec60c02d acpi_smbus_register_callback +EXPORT_SYMBOL_GPL vmlinux 0xec67fd09 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xeca68672 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0xed0a2ffd xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0xedbc6f67 gnttab_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xee1f9f6b crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0xeeaba75f ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0xef30bfc2 ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xef65883b platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef99f7e8 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xefae9cbc platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xefb7c31f transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0xefdd5a63 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xf010680e bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0xf0469f04 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf070010f __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xf0880a91 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xf0b45e46 use_module +EXPORT_SYMBOL_GPL vmlinux 0xf10e1793 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf19fa611 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xf1bf476c skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0xf259a084 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0xf279725f free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xf2bc822e bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0xf2e129d5 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf31f6128 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0xf34806ec hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xf35b7b0f inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xf3c1c0a0 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xf44c39f7 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf4a8385f iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0xf5072d4e page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0xf5369fa4 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0xf5384ac1 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0xf53adbd2 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xf540b5aa devres_remove +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf5799f7a stop_machine_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf582bc80 blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0xf589b391 inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0xf58c2701 swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0xf5945bac gnttab_free_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xf597d394 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5c01ddf driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0xf5dfeb96 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xf5f31b1c dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0xf61e43bf class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xf6baf420 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xf6bcbd73 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xf6c5f396 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf7016530 xenbus_gather +EXPORT_SYMBOL_GPL vmlinux 0xf7937d56 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xf79bc8ec __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0xf84c4cf0 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf885c1a2 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0xf8dc68b3 preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf8e8262a scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf920ccf8 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf94793ce inotify_rm_watch +EXPORT_SYMBOL_GPL vmlinux 0xf9765833 dmi_match +EXPORT_SYMBOL_GPL vmlinux 0xf97666a0 set_memory_rw +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xfa01c4a5 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xfa0c1c84 device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0xfa1f4662 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0xfa45bdac sysdev_class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xfa801799 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0xfb388461 debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xfb882fb7 wmi_query_block +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfbfbad3e inotify_inode_is_dead +EXPORT_SYMBOL_GPL vmlinux 0xfbfd393d blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0xfc1d45a5 usb_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xfc2ae008 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0xfc2b6a9f spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xfc5766a5 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xfc972dfa fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0xfcaa9a80 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xfcb0fd8a user_match +EXPORT_SYMBOL_GPL vmlinux 0xfcef4631 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xfd51b281 gnttab_end_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0xfd55c1d4 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0xfdd59511 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfe37e54a crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0xfe40986d tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0xfe727411 get_phys_to_machine +EXPORT_SYMBOL_GPL vmlinux 0xfe93e366 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfedb5327 devres_find +EXPORT_SYMBOL_GPL vmlinux 0xfeef9f6f bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfefa2adb input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0xff03c03d k_handler +EXPORT_SYMBOL_GPL vmlinux 0xff48c4ac fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xffa2a482 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0xffe4a7ca ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xfff9036b ring_buffer_empty_cpu +EXPORT_UNUSED_SYMBOL vmlinux 0x00000000 simple_prepare_write --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/amd64/preempt.compiler +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/amd64/preempt.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3 --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/amd64/preempt.modules +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/amd64/preempt.modules @@ -0,0 +1,2605 @@ +3c359 +3c574_cs +3c589_cs +3c59x +3w-9xxx +3w-xxxx +6pack +8021q +8139cp +8139too +8255 +8390 +9p +9pnet +9pnet_rdma +9pnet_virtio +a100u2w +a3d +aacraid +ab3100 +ab3100-core +ab3100-otp +abituguru +abituguru3 +abyss +ac97_bus +acecad +acenic +acerhdf +acer-wmi +acl7225b +acpi_pad +acpiphp +acpiphp_ibm +acquirewdt +act200l-sir +act_gact +act_ipt +actisys-sir +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +ad1848 +ad7414 +ad7418 +ad7877 +ad7879 +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 +adfs +adi +adl_pci6208 +adl_pci7296 +adl_pci7432 +adl_pci8164 +adl_pci9111 +adl_pci9118 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm8211 +adm9240 +adp5588-keys +adq12b +ads7828 +ads7846 +adt7462 +adt7470 +adt7473 +adt7475 +adutux +adv7170 +adv7175 +advansys +advantechwdt +adv_pci1710 +adv_pci1723 +adv_pci_dio +aedsp16 +aes_generic +aesni-intel +aes-x86_64 +af_802154 +af9013 +affs +af_key +af-rxrpc +ah4 +ah6 +ahci +aic79xx +aic7xxx +aic94xx +aio_aio12_8 +aio_iiro_16 +aiptek +aircable +airo +airo_cs +alauda +ali-ircc +alim1535_wdt +alim7101_wdt +alphatrack +altpciechdma +ambassador +amd64_edac_mod +amd76xrom +amd8111e +amd-rng +amplc_dio200 +amplc_pc236 +amplc_pc263 +amplc_pci224 +amplc_pci230 +analog +ansi_cprng +anubis +aoe +appledisplay +applesmc +appletalk +appletouch +applicom +ar7part +ar9170usb +arc4 +arcfb +arcmsr +arcnet +arc-rawmode +arc-rimi +ark3116 +arkfb +arptable_filter +arp_tables +arpt_mangle +asb100 +asix +asus_atk0110 +asus-laptop +asus_oled +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +aten +ath +ath5k +ath9k +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atlas_btns +atm +atmel +atmel_cs +atmel_pci +atmtcp +atp +atp870u +atxp1 +aty128fb +atyfb +au0828 +au8522 +aufs +authenc +auth_rpcgss +autofs +autofs4 +av5100 +avma1_cs +avm_cs +avmfritz +ax25 +axnet_cs +b1 +b1dma +b1pci +b1pcmcia +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b3dfg +b43 +b43legacy +b44 +bas_gigaset +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcm203x +bcm3510 +bcm5974 +be2iscsi +be2net +befs +belkin_sa +berry_charge +bfa +bfs +bfusb +binfmt_misc +bitblit +block2mtd +blowfish +bluecard_cs +bluetooth +bnep +bnx2 +bnx2i +bnx2x +bonding +bpa10x +bpck +bpqether +bq24022 +bq27x00_battery +br2684 +bridge +broadsheetfb +bsd_comp +bt3c_cs +bt819 +bt856 +bt866 +bt878 +btcx-risc +btmrvl +btmrvl_sdio +btrfs +btsdio +bttv +btuart_cs +btusb +budget +budget-av +budget-ci +budget-core +budget-patch +BusLogic +bw-qcam +c2port-duramar2150 +c4 +c67x00 +c6xdigio +cachefiles +cafe_ccic +cafe_nand +camellia +can +can-bcm +can-dev +can-raw +capi +capidrv +capifs +capmode +carminefb +cassini +cast5 +cast6 +catc +cb710 +cb710-mmc +cb_das16_cs +cb_pcidas +cb_pcidas64 +cb_pcidda +cb_pcidio +cb_pcimdas +cb_pcimdda +cciss +ccm +cdc-acm +cdc_eem +cdc_ether +cdc-phonet +cdc_subset +cdc-wdm +cfag12864b +cfag12864bfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch +ch341 +ch7006 +chipreg +cifs +cirrusfb +ck804xrom +clip +cls_basic +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cm4000_cs +cm4040_cs +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 +core +coretemp +cp210x +cpcihp_generic +cpcihp_zt5550 +cpia +cpia2 +cpia_pp +cpia_usb +cpqarray +cpu5wdt +cpuid +c-qcam +cramfs +cr_bllcd +crc32c +crc32c-intel +crc7 +crc-ccitt +crc-itu-t +crvml +cryptd +cryptoloop +crypto_null +cs5345 +cs53l32a +ct82c710 +ctr +cts +cuse +cx18 +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24123 +cx25821 +cx25821-alsa +cx25840 +cx8800 +cx8802 +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx88xx +cxacru +cxgb +cxgb3 +cxgb3i +cyber2000fb +cyberjack +cyclades +cyclomx +cycx_drv +cypress_cy7c63 +cypress_m8 +cytherm +da9030_battery +da9034-ts +da903x +da903x_bl +dabusb +DAC960 +daqboard2000 +das08 +das08_cs +das16 +das16m1 +das1800 +das6402 +das800 +db9 +dc395x +dca +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dccp_probe +dcdbas +de2104x +de4x5 +de600 +de620 +decnet +deflate +defxx +dell-laptop +dell-led +dell_rbu +dell-wmi +des_generic +dib0070 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dibx000_common +digi_acceleport +diskonchip +display +divacapi +divadidd +diva_idi +diva_mnt +divas +dlci +dlm +dm1105 +dm9601 +dm-crypt +dme1737 +dmfe +dmm32at +dm-queue-length +dm-raid45 +dm-service-time +dmx3191d +dm-zero +dnet +dn_rtmsg +doc2000 +doc2001 +doc2001plus +docecc +docprobe +dpt_i2o +drm +drm_kms_helper +ds1621 +ds1682 +ds2482 +ds2490 +ds2760_battery +ds2782_battery +dsbr100 +dscc4 +dss1_divert +dst +dst_ca +dstr +dt2801 +dt2811 +dt2814 +dt2815 +dt2817 +dt282x +dt3000 +dt9812 +dtl1_cs +dummy +dummy_hcd +dv1394 +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-anysee +dvb-usb-au6610 +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-friio +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-m920x +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +e100 +e1000 +e1000e +e752x_edac +earth-pt1 +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_ulog +ebt_vlan +echo +econet +edac_core +edac_mce_amd +eeepc-laptop +eeprom +eeprom_93cx6 +eeti_ts +efs +elo +elsa_cs +em28xx +em28xx-alsa +em28xx-dvb +em_cmp +emi26 +emi62 +em_meta +em_nbyte +empeg +ems_pci +ems_usb +em_text +emu10k1-gp +em_u32 +enclosure +eni +enic +epat +epca +epia +epic100 +eql +esb2rom +esi-sir +esp4 +esp6 +et131x +et61x251 +eth1394 +ethoc +eurotechwdt +evbug +evtchn +exofs +exportfs +f71805f +f71882fg +f75375s +fakephp +farsync +fat +faulty +fbcon +fb_ddc +fb_sys_fops +fcoe +fcrypt +fdomain +fdomain_cs +fealnx +ff-memless +firedtv +firestream +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +fit2 +fit3 +fl512 +floppy +fm801-gp +fmvj18x_cs +fnic +font +forcedeth +fore_200e +fpu +freevxfs +friq +frpw +fsam7400 +fscache +fschmd +ftdi-elan +ftdi_sio +ftl +fujitsu-laptop +fujitsu_ts +funsoft +g450_pll +g760a +gadgetfs +gamecon +gameport +garmin_gps +garp +g_audio +g_cdc +gcm +gdth +generic +generic_bl +gen_probe +g_ether +gf128mul +gf2k +g_file_storage +gfs2 +ghash-clmulni-intel +ghash-generic +gigaset +girbil-sir +gl518sm +gl520sm +gl620a +gluebi +g_midi +gpio-addr-flash +gpio_keys +gpio_mouse +gpio_vbus +g_printer +grip +grip_mp +gsc_hpdi +g_serial +gspca_conex +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_ov519 +gspca_ov534 +gspca_pac207 +gspca_pac7311 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_stk014 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_tv8532 +gspca_vc032x +gspca_zc3xx +gtco +guillemot +gunze +gx1fb +gxfb +g_zero +hamachi +hangcheck-timer +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-3m-pct +hid-a4tech +hid-apple +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-drff +hid-ezkey +hid-gaff +hid-gyration +hid-kensington +hid-kye +hid-logitech +hid-microsoft +hid-monterey +hid-mosart +hid-ntrig +hid-ortek +hidp +hid-petalynx +hid-pl +hid-quanta +hid-samsung +hid-sjoy +hid-sony +hid-stantum +hid-sunplus +hid-tmff +hid-topseed +hid-twinhan +hid-wacom +hid-zpff +hifn_795x +hisax +hisax_fcpcipnp +hisax_isac +hisax_st5481 +horizon +hostap +hostap_cs +hostap_pci +hostap_plx +hp100 +hp4x +hp_accel +hpfs +hpilo +hptiop +hp-wmi +hso +htc-pasic3 +hv_blkvsc +hv_netvsc +hv_storvsc +hv_vmbus +hwa-hc +hwa-rc +hwmon-vid +hysdn +i1480-dfu-usb +i1480-est +i1480u-wlp +i2400m +i2400m-sdio +i2400m-usb +i2c-algo-bit +i2c-algo-pca +i2c-algo-pcf +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd756-s4882 +i2c-amd8111 +i2c-dev +i2c-gpio +i2c-i801 +i2c-isch +i2c-matroxfb +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-stub +i2c-taos-evm +i2c-tiny-usb +i2c-via +i2c-viapro +i2c-voodoo3 +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_idle +i810 +i82092 +i82975x_edac +i830 +i8k +i915 +ib700wdt +ib_addr +ib_cm +ib_core +ib_ipath +ib_ipoib +ib_iser +ib_mad +ibmaem +ibmasm +ibmasr +ibmcam +ibmpex +ib_mthca +ibmtr_cs +ib_sa +ib_srp +ib_ucm +ib_umad +ib_uverbs +ichxrom +icp_multi +ics932s401 +idmouse +idt77252 +ieee1394 +ifb +iforce +igb +igbvf +ii_pci20kc +ili9320 +imm +industrialio +inexio +inftl +initio +input-polldev +int51x1 +intel-agp +intel_menlow +intel-rng +intel_vr_nor +interact +ioatdma +ioc4 +io_edgeport +io_ti +iowarrior +ip2 +ip6_queue +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_LOG +ip6t_mh +ip6t_REJECT +ip6t_rt +ip6_tunnel +ipaq +ipcomp +ipcomp6 +ipddp +ipg +ip_gre +iphase +ipip +ipmi_devintf +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_watchdog +ip_queue +ipr +ips +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_addrtype +ipt_ah +ipt_CLUSTERIP +ipt_ecn +ipt_ECN +ipt_LOG +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_ULOG +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipw2100 +ipw2200 +ipwireless +ipx +ircomm +ir-common +ircomm-tty +irda +irda-usb +ir-kbd-i2c +irlan +irnet +irtty-sir +ir-usb +iscsi_ibft +iscsi_tcp +iscsi_trgt +isdn +isdn_bsdcomp +isdnhdlc +isight_firmware +isl29003 +isl6405 +isl6421 +isl6423 +isofs +isp116x-hcd +isp1362-hcd +isp1760 +istallion +it87 +it8712f_wdt +it87_wdt +iTCO_vendor_support +iTCO_wdt +itd1000 +iuu_phoenix +ivtv +ivtvfb +iw_c2 +iw_cm +iw_cxgb3 +iwl3945 +iwlagn +iwlcore +iwmc3200wifi +ixgb +ixgbe +ixj +ixj_pcmcia +jedec_probe +jffs2 +jfs +jmb38x_ms +jme +joydev +joydump +jr3_pci +jsm +k8temp +kafs +kahlua +kaweth +kb3886_bl +kbic +kbtab +kcomedilib +ke_counter +kernelcapi +keyspan +keyspan_pda +keyspan_remote +khazad +kingsun-sir +kl5kusb105 +kobil_sct +konicawc +ks0108 +ks0127 +ks8842 +ks8851 +ks8851_mll +ks959-sir +ksdazzle-sir +ktti +kvaser_pci +kvm +kvm-amd +kvm-intel +kxsd9 +kyrofb +l1oip +l2cap +l440gx +l64781 +lanai +lapb +lapbether +lcd +ldusb +lec +led-class +leds-alix2 +leds-bd2802 +leds-da903x +leds-dac124s085 +leds-gpio +leds-lp3944 +leds-pca9532 +leds-pca955x +leds-wm831x-status +leds-wm8350 +ledtrig-backlight +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-timer +legousbtower +lgdt3305 +lgdt330x +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libcrc32c +libertas +libertas_cs +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libosd +libsas +libsrp +lightning +line6usb +linear +lirc_atiusb +lirc_bt829 +lirc_dev +lirc_ene0100 +lirc_i2c +lirc_igorplugusb +lirc_imon +lirc_it87 +lirc_ite8709 +lirc_mceusb +lirc_sasem +lirc_serial +lirc_sir +lirc_streamzap +lirc_ttusbir +lis3l02dq +lis3lv02d +litelink-sir +lkkbd +llc2 +lm63 +lm70 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95241 +lmc +lms283gf05 +lnbp21 +lockd +lp +lp3971 +lpddr_cmds +lpfc +lrw +ltc4215 +ltc4245 +ltv350qv +lxfb +lzo +lzo_compress +lzo_decompress +m25p80 +m52790 +ma600-sir +mac80211 +mac80211_hwsim +machzwd +macmodes +macvlan +magellan +map_absent +map_funcs +map_ram +map_rom +matrix_keypad +matroxfb_accel +matroxfb_base +matroxfb_crtc2 +matroxfb_DAC1064 +matroxfb_g450 +matroxfb_maven +matroxfb_misc +matroxfb_Ti3026 +matrox_w1 +max1111 +max1363 +max1586 +max1619 +max17040_battery +max3100 +max6650 +max6875 +max7301 +max732x +max7359_keypad +mb862xxfb +mbp_nvidia_bl +mc13783 +mc13783-core +mc33880 +mc44s803 +mce-inject +mce-xeon75xx +mcp2120-sir +mcp23s08 +mcs5000_ts +mcs7780 +mcs7830 +mct_u232 +md4 +mdc800 +mdio +me4000 +me_daq +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +memstick +metronomefb +meye +mfd-core +mga +michael_mic +microcode +microtek +mii +minix +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +mite +mk712 +mkiss +mlx4_core +mlx4_en +mlx4_ib +mmc_block +mmc_spi +mos7720 +mos7840 +moto_modem +moxa +mpc624 +mpoa +mpt2sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu401 +msdos +msi-laptop +msp3400 +mspro_block +msr +mt2060 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt9m001 +mt9m111 +mt9t031 +mt9v011 +mt9v022 +mtd +mtd_blkdevs +mtdblock +mtdblock_ro +mtdchar +mtdconcat +mtd_dataflash +mtd_oobtest +mtdoops +mtd_pagetest +mtdram +mtd_readtest +mtd_speedtest +mtd_stresstest +mtd_subpagetest +mtd_torturetest +mtouch +multipath +multiq3 +mvsas +mwave +mwl8k +mxb +mxl5005s +mxl5007t +mxser +myri10ge +n411 +nand +nand_ecc +nand_ids +nandsim +natsemi +navman +nbd +ncpfs +ndiswrapper +ne2k-pci +neofb +net1080 +netconsole +netjet +netrom +netsc520 +nettel +netwave_cs +netxen_nic +newtonkbd +nf_conntrack +nf_conntrack_amanda +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_tftp +nf_defrag_ipv4 +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_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nftl +nf_tproxy_core +n_hdlc +ni_6527 +ni_65xx +ni_660x +ni_670x +ni_at_a2150 +ni_at_ao +ni_atmio +ni_atmio16d +ni_daq_700 +ni_daq_dio24 +ni_labpc +ni_labpc_cs +nilfs2 +ni_mio_cs +ni_pcidio +ni_pcimio +ni_tio +ni_tiocmd +niu +nl802154 +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 +nouveau +nozomi +n_r3964 +ns558 +ns83820 +nsc_gpio +nsc-ircc +nst +ntfs +nvidiafb +nvram +nxt200x +nxt6000 +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +ohci1394 +old_belkin-sir +olympic +omfs +omnibook +omninet +on20 +on26 +onenand +onenand_sim +opencores-kbd +opl3 +oprofile +opticon +option +or51132 +or51211 +orinoco +orinoco_cs +orinoco_nortel +orinoco_pci +orinoco_plx +orinoco_tmd +osd +osdblk +osst +oti6858 +output +ov7670 +ov772x +ovcamchip +oxu210hp-hcd +p4-clockmod +p54common +p54pci +p54spi +p54usb +p8023 +p9auth +padlock-aes +padlock-sha +panasonic-laptop +panel +paride +parkbd +parport +parport_ax88796 +parport_cs +parport_pc +parport_serial +pas2 +pata_ali +pata_amd +pata_artop +pata_atiixp +pata_atp867x +pata_cmd640 +pata_cmd64x +pata_cs5520 +pata_cs5530 +pata_cypress +pata_efar +pata_hpt366 +pata_hpt37x +pata_hpt3x2n +pata_hpt3x3 +pata_it8213 +pata_it821x +pata_jmicron +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_radisys +pata_rdc +pata_rz1000 +pata_sc1200 +pata_sch +pata_serverworks +pata_sil680 +pata_sl82c105 +pata_triflex +pata_via +pbe5 +pc87360 +pc8736x_gpio +pc87413_wdt +pc87427 +pca953x +pcbc +pcd +pcf50633-adc +pcf50633-charger +pcf50633-core +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf857x +pcf8591 +pci +pci200syn +pcilynx +pcips2 +pci-stub +pcl711 +pcl724 +pcl725 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcm3730 +pcmad +pcmcia +pcmcia_core +pcm_common +pcmda12 +pcmmio +pcmuio +pcnet32 +pcnet_cs +pcspkr +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pegasus +penmount +pf +pg +phantom +phison +phonedev +phonet +phram +physmap +pktgen +pl2303 +platform_lcd +plat_nand +plat-ram +plip +plusb +pluto2 +pm2fb +pm3fb +pmc551 +pmcraid +pn_pep +poc +poch +pohmelfs +powermate +power_meter +ppa +ppdev +ppp_async +ppp_deflate +ppp_mppe +pppoatm +pppoe +pppol2tp +pppox +ppp_synctty +pps_core +prism2_usb +prism54 +progear_bl +psmouse +pss +pt +pvrusb2 +pwc +qcserial +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlge +qlogic_cs +qlogicfas408 +qnx4 +qt1010 +quatech_daqp_cs +quatech_usb2 +quickcam_messenger +quota_tree +quota_v1 +quota_v2 +r128 +r8169 +r8192_pci +r8192se_pci +r8192s_usb +r8a66597-hcd +radeon +radeonfb +radio-gemtek-pci +radio-i2c-si470x +radio-maestro +radio-maxiradio +radio-mr800 +radio-si4713 +radio-tea5764 +radio-usb-si470x +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +raid_class +ramzswap +rar_driver +raw +raw1394 +ray_cs +rdma_cm +rdma_ucm +rds +rds_rdma +rds_tcp +redboot +reed_solomon +reiserfs +rfc1051 +rfc1201 +rfcomm +rfd_ftl +ricoh_mmc +rio500 +riscom8 +rivafb +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rndis_wlan +rocket +romfs +rose +rotary_encoder +rpcsec_gss_krb5 +rpcsec_gss_spkm3 +rrunner +rsrc_nonstatic +rt2400pci +rt2500pci +rt2500usb +rt2800usb +rt2860sta +rt2870sta +rt2x00lib +rt2x00pci +rt2x00usb +rt3090sta +rt61pci +rt73usb +rtc-ab3100 +rtc-bq4802 +rtc-ds1286 +rtc-ds1305 +rtc-ds1307 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-ds3234 +rtc-fm3130 +rtc-isl1208 +rtc-m41t80 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-pcf2123 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-r9701 +rtc-rs5c348 +rtc-rs5c372 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-test +rtc-twl4030 +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtd520 +rti800 +rti802 +rtl8150 +rtl8180 +rtl8187 +rtl8187se +rxkad +s1d13xxxfb +s2255drv +s2io +s3fb +s526 +s5h1409 +s5h1411 +s5h1420 +s626 +saa5246a +saa5249 +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +safe_serial +salsa20_generic +salsa20-x86_64 +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 +sb +sb1000 +sbc60xxwdt +sbc8360 +sbc_epx_c3 +sbc_fitpc2_wdt +sbc_gxx +sb_lib +sbni +sbp2 +sc1200wdt +sc520cdp +sc520_wdt +sc92031 +scb2_flash +sch311x_wdt +sch_atm +sch_cbq +sch_drr +sch_dsmark +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_multiq +sch_netem +sch_prio +sch_red +sch_sfq +sch_tbf +sch_teql +sco +scsi_debug +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 +sdhci +sdhci-pci +sdhci-pltfm +sdio_uart +sdricoh_cs +se401 +sedlbauer_cs +seed +sep_driver +seqiv +ser_gigaset +serial2002 +serial_cs +serio_raw +sermouse +serpent +serport +serqt_usb2 +ses +sfc +sha1_generic +sha256_generic +sha512_generic +shpchp +sht15 +si21xx +si4713-i2c +sidewinder +siemens_mpi +sierra +sir-dev +sis +sis190 +sis5595 +sis900 +sis-agp +sisfb +sisusbvga +sit +sja1000 +sja1000_platform +skel +skfp +skge +sky2 +sl811_cs +sl811-hcd +slicoss +slip +slram +sm501 +sm501fb +smbfs +smc91c92_cs +smsc37b787_wdt +smsc47b397 +smsc47m1 +smsc47m192 +smsc9420 +smsc95xx +smsc-ircc2 +smsdvb +smsmdtv +smssdio +smsusb +sn9c102 +snd +snd-ac97-codec +snd-ad1889 +snd-ak4114 +snd-ak4117 +snd-ak4xxx-adda +snd-ali5451 +snd-als300 +snd-als4000 +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-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-atihdmi +snd-hda-codec-ca0110 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-idt +snd-hda-codec-intelhdmi +snd-hda-codec-nvhdmi +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-intel +snd-hdsp +snd-hdspm +snd-hifier +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-korg1212 +snd-layla20 +snd-layla24 +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-pcm-oss +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-oss +snd-seq-virmidi +snd-serial-u16550 +snd-soc-ad1836 +snd-soc-ad1938 +snd-soc-ad73311 +snd-soc-ak4104 +snd-soc-ak4535 +snd-soc-ak4642 +snd-soc-core +snd-soc-cs4270 +snd-soc-l3 +snd-soc-max9877 +snd-soc-pcm3008 +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-tlv320aic23 +snd-soc-tlv320aic26 +snd-soc-tlv320aic3x +snd-soc-twl4030 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wm8350 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8776 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8993 +snd-soc-wm9081 +snd-soc-wm-hubs +snd-sonicvibes +snd-tea575x-tuner +snd-timer +snd-trident +snd-usb-audio +snd-usb-caiaq +snd-usb-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 +softcursor +softdog +solos-pci +sony-laptop +sound +soundcore +sound_firmware +sp8870 +sp887x +spaceball +spaceorb +spcp8x5 +specialix +spectrum_cs +speedfax +speedstep-lib +speedtch +spi_bitbang +spi_butterfly +spidev +spi_gpio +spi_lm70llp +squashfs +ssb +sscape +ssfdc +sst25l +sstfb +ssv_dnp +st +stallion +starfire +stb0899 +stb6000 +stb6100 +stex +stinger +stir4200 +stkwebcam +stowaway +stp +stradis +strip +stv0288 +stv0297 +stv0299 +stv0900 +stv090x +stv6110 +stv6110x +stv680 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +svcrdma +svgalib +sx8 +sym53c500_cs +sym53c8xx +symbolserial +synaptics_i2c +synclink +synclink_cs +synclink_gt +synclinkmp +syscopyarea +sysfillrect +sysimgblt +sysv +t1pci +tcp_bic +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 +tda10086 +tda18271 +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tdfx +tdfxfb +tdo24m +tea +tea5761 +tea5767 +tea6415c +tea6420 +tehuti +tekram-sir +teles_cs +tg3 +tgr192 +thinkpad_acpi +thmc50 +tifm_7xx1 +tifm_core +tifm_ms +tifm_sd +tileblit +timeriomem-rng +tipc +ti_usb_3410_5052 +tlan +tlclk +tle62x0 +tmdc +tmiofb +tmp401 +tmp421 +tms380tr +tmscsim +tmspci +toim3232-sir +topstar-laptop +toshiba_acpi +touchit213 +touchright +touchwin +tpm +tpm_atmel +tpm_bios +tpm_infineon +tpm_nsc +tpm_tis +tps65010 +tps65023-regulator +tps6507x-regulator +trancevibrator +tranzport +tridentfb +trix +ts5500_flash +ts_bm +tsc2007 +ts_fsm +ts_kmp +tsl2550 +tsl2561 +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +tua6100 +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +turbografx +tvaudio +tveeprom +tvp5150 +tw9910 +twidjoy +twl4030-gpio +twl4030_keypad +twl4030-pwrbutton +twl4030-usb +twl4030_wdt +twofish +twofish_common +twofish-x86_64 +typhoon +u132-hcd +uart401 +uart6850 +ubi +ubifs +ucb1400_core +ucb1400_ts +udf +udlfb +ueagle-atm +ufs +uinput +uio +uio_aec +uio_cif +uio_pci_generic +uio_pdrv +uio_pdrv_genirq +uio_sercos3 +uio_smx +uli526x +ultracam +umc +umem +ums-alauda +ums-cypress +ums-datafab +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-sddr09 +ums-sddr55 +ums-usbat +unioxx5 +upd64031a +upd64083 +uPD98402 +usb8xxx +usbatm +usb_debug +usbdux +usbduxfast +usb_gigaset +usbhid +usbip +usbip_common_mod +usblcd +usbled +usblp +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +usbtouchscreen +usbvideo +usbvision +userspace-consumer +uss720 +uvcvideo +uvesafb +uwb +v4l1-compat +v4l2-common +v4l2-compat-ioctl32 +v4l2-int-device +vcan +ves1820 +ves1x93 +vesafb +veth +vfat +vga16fb +vgastate +vgg2432a4 +vhci-hcd +via +via686a +via-agp +viafb +via-ircc +via-rhine +via-rng +via-sdmmc +via-velocity +vicam +video +video1394 +videobuf-core +videobuf-dma-sg +videobuf-dvb +videobuf-vmalloc +videocodec +videodev +virtio +virtio_balloon +virtio_blk +virtio_console +virtio_net +virtio_pci +virtio_ring +virtio-rng +virtual +visor +vivi +vlsi_ir +vmac +vme +vme_ca91cx42 +vme_tsi148 +vme_user +v_midi +vmk80xx +vmlfb +vmw_pvscsi +vmxnet3 +vp27smpx +vpx3220 +vstusb +vsxxxaa +vt1211 +vt6656_stage +vt8231 +vt8623fb +vxge +w1_bq27000 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1-gpio +w1_smem +w1_therm +w6692 +w83627ehf +w83627hf +w83627hf_wdt +w83697hf_wdt +w83697ug_wdt +w83781d +w83791d +w83792d +w83793 +w83877f_wdt +w83977af_ir +w83977f_wdt +w83l785ts +w83l786ng +w9966 +w9968cf +wacom +wacom_w8001 +wafer5823wdt +walkera0701 +wanrouter +wanxl +warrior +wavelan_cs +wbsd +wdt_pci +whci +whci-hcd +whc-rc +whiteheat +wimax +winbond-840 +winbond-cir +wire +wl1251 +wl1251_sdio +wl1251_spi +wl1271 +wl3501_cs +wlp +wm831x +wm831x_bl +wm831x-dcdc +wm831x-gpio +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x_power +wm831x_wdt +wm8350 +wm8350-hwmon +wm8350-i2c +wm8350_power +wm8350-regulator +wm8350_wdt +wm8400-core +wm8400-regulator +wm8739 +wm8775 +wm97xx-ts +wp512 +wpan-class +wusb-cbaf +wusbcore +wusb-wa +x25 +x25_asy +x38_edac +xc5000 +xcbc +xen-blkfront +xen-fbfront +xenfs +xen-kbdfront +xen-netfront +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_ipcomp +xfrm_user +xfs +xhci +xirc2ps_cs +xircom_cb +xor +xpad +xprtrdma +x_tables +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNMARK +xt_CONNSECMARK +xt_conntrack +xt_dccp +xt_dscp +xt_DSCP +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xt_iprange +xtkbd +xt_LED +xt_length +xt_limit +xt_mac +xt_mark +xt_MARK +xt_multiport +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_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_tcpudp +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xusbatm +xvmalloc +yam +yealink +yellowfin +yenta_socket +zatm +zaurus +zc0301 +zd1201 +zd1211rw +zhenhua +zl10036 +zl10039 +zl10353 +zlib +zlib_deflate +zr36016 +zr36050 +zr36060 +zr36067 +zr364xx --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/amd64/server +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/amd64/server @@ -0,0 +1,10368 @@ +EXPORT_SYMBOL arch/x86/kvm/kvm 0x05573592 kvm_cpu_has_pending_timer +EXPORT_SYMBOL arch/x86/kvm/kvm 0xc5137940 kvm_read_guest_atomic +EXPORT_SYMBOL crypto/gf128mul 0x0c2f123f gf128mul_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x1068004b gf128mul_bbe +EXPORT_SYMBOL crypto/gf128mul 0x2f2889a0 gf128mul_init_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x384ef9ce gf128mul_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x56af0dbd gf128mul_x_ble +EXPORT_SYMBOL crypto/gf128mul 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL crypto/gf128mul 0xbd17a0df gf128mul_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0xc0890413 gf128mul_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/acpi/video 0x7a45377b acpi_video_unregister +EXPORT_SYMBOL drivers/acpi/video 0x8826c13b acpi_video_register +EXPORT_SYMBOL drivers/atm/suni 0xfdd16cc0 suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0x20ddcc6b uPD98402_init +EXPORT_SYMBOL drivers/block/paride/paride 0x174975c2 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x20100022 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x25d35605 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x4a304ca3 pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0x4a4708d4 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x4f5ecf33 pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x50614eda paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x560da72f pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x82a283ce pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x98039add pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xae06c746 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0xe71f6267 paride_register +EXPORT_SYMBOL drivers/char/agp/intel-agp 0x7b9a6116 intel_agp_enabled +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x045d19f9 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x15ae6a67 ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1e8886e4 ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1fbfe6f6 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2997804b ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2c09520e ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2e3c16cd ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2f782230 ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x41dfb1a0 ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4cf7a870 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x54f40817 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x66566931 ipmi_register_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x91f2908f ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x92929d7b ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa00ff442 ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa9dd4f5a ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xb4964228 ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xbb5cc9dd ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xc1a127e5 ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd4772391 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd7525772 ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xdd65af28 ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xec79fcd5 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/nsc_gpio 0x52336830 nsc_gpio_dump +EXPORT_SYMBOL drivers/char/nsc_gpio 0x709c3192 nsc_gpio_write +EXPORT_SYMBOL drivers/char/nsc_gpio 0x8f7adfd1 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 0x9d36a057 edac_mc_find +EXPORT_SYMBOL drivers/edac/edac_core 0xaf6a5d24 edac_mc_handle_fbd_ce +EXPORT_SYMBOL drivers/edac/edac_core 0xdad9dd0c edac_mc_handle_fbd_ue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x02d9e16c fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x05d2d88a fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x09aa7516 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x15ee6bcb fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1c732b62 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x36862979 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x49a29946 fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4e86dd83 fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5176ac6d fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x552e5db8 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5fb3c6eb fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x627e3805 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x770b6bd2 fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7838991a fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8022891e fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90863005 fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0x94b4fc07 fw_core_initiate_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9f2b2266 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0xa5364edb fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0xafc1c793 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb047a2c6 fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xbaffb68b fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0xbb319d09 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd6dbbc7c fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xea9dbe29 fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf3432ff5 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf63cdfdc fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf9e0da33 fw_run_transaction +EXPORT_SYMBOL drivers/firmware/dcdbas 0xa75079d6 dcdbas_smi_request +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00198412 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00718464 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05ac9c53 drm_core_get_reg_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0x062f51fc drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x06789eb0 drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07163fb3 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0836695c drm_sman_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08cc1dbe drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f9a1555 drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x118c3b4d drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12e588da drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16919b57 drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19310adb drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c973415 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1da8cfd5 drm_lock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f01454a drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f072c59 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2079228c drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21451ac4 drm_sman_owner_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x229ee383 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x22a3bcd7 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2916bf63 drm_sman_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ad70faf drm_i_have_hw_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2bced59e drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2dbca3f3 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2eb2f903 drm_sman_free_key +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ed9476b drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2edb56f9 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2fe91453 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x313c8de3 drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32965b1d drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x332da493 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x33d70830 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35814d06 drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3980808f drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a2f21a8 drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a877828 drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c9a1409 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e2d744a drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3fc0ecc1 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40911aaf drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40bdfbf7 drm_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x466bf066 drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47ed66de drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47f55afb drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x493b6beb drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f29a617 drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55f060ee drm_sman_set_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55f6caff drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56217ed2 drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0x572f1090 drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57f7dbe6 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x580830f0 drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a9f3cfe drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d500fe8 drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ee118ab drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61d5a744 drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61e177f6 drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62f3b87d drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6518c19a drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x682196cd drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68f3dbe6 drm_agp_chipset_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6965ae3a drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6bd039ae drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6bf5bac8 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d2e5837 drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fc30481 drm_mode_hsync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x704fc8ca drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72593f9d drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7395417c drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74fde072 drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76863e24 drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x771ac60d drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x784915eb drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b0465fd drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b2a44c5 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7becf9f2 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c1fd6c8 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x849241ac drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x84e1fe5e drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85de09f5 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x86d3097d drm_agp_bind_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87d6e7ef drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d78a430 drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8defdfae drm_sg_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e62d513 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f1c4da5 drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f84ebfe drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x90570f74 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x90963663 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91caaf19 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91f5097b drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e24bfc9 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa08e7d2d drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa15504a3 drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1cd4b05 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa3243039 drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4baa738 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa511ff3a drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8431b6a drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9237a15 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa73b74e drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac92a4c1 drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad37fd07 drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad5e9e30 drm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaeab1f8c drm_do_probe_ddc_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf29788e drm_sman_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb296d048 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb47f476b drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4e01cda drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb58d3411 drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5b0f139 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb64e4cd5 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9b97864 drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba97412e drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbbe14b87 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd93b307 drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbed422c9 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbfe9a247 drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc00b0c16 drm_get_resource_start +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1d2c109 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2a4f16a drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3c70034 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4ea85d8 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca3ea974 drm_lock_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb47723b drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdf2eff4 drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xceecbe2e drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcfb4f4ef drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd08fa3f0 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd26d1f0c drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3028e75 drm_sman_set_manager +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd34f5a43 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3ffab51 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4c8a354 drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd63d6819 drm_core_get_map_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7f7b801 drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdba54be8 drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd3febe2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd49095c drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf723e21 drm_get_drawable_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1457735 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe14d670f drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe24a7b88 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe30465c9 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5bdce7e drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6e9af4c drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7077df7 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7b023c2 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe919dd5c drm_sman_owner_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb2380bb drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed31136d drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef9023c7 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2592694 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf42a2b26 drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf47c4498 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf771f470 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa266be4 drm_get_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa44fcd2 drm_get_resource_len +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa769c65 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfcd8ac00 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdfbad19 drm_sman_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x034f92c8 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x10481fb8 drm_fb_helper_add_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x14dafe11 drm_helper_probe_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1644cb2d drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1e2cbe03 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x38715b6d drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x50f291b0 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5dfad512 drm_fb_helper_free +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6d0bdc79 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6f6ad3dd i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x70986fb8 drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x724ac382 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7b60f827 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7df5e29c drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fe16928 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7ffda27e drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9bc97b9c drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb1e7fe14 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb3fbf7f7 drm_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc56bd40b drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc9239eb1 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd31ff37d drm_fb_helper_init_crtc_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5b07e68 drm_helper_hotplug_stage_two +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd710364e drm_fb_helper_setcolreg +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd929ed9c drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/i915/i915 0x28c99ce4 intelfb_probe +EXPORT_SYMBOL drivers/gpu/drm/i915/i915 0xd44f7cfd intelfb_resize +EXPORT_SYMBOL drivers/gpu/drm/i915/i915 0xf8b548ce intelfb_remove +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0x3ad5bd60 radeonfb_remove +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0xe87145a3 radeonfb_resize +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x01c99cb0 ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x04932c1b ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1ba8c0ef ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1d455396 ttm_ref_object_add +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1da2b250 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2d673efd ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x365feb2e ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3994f350 ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3ade5cfc ttm_base_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3df39355 ttm_object_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3e5d7ed3 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3face24c ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x44409a13 ttm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x46508ef6 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4feba1b2 ttm_mem_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x51b6c175 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x52ba9bf0 ttm_object_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x56c42d22 ttm_suspend_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5ca5cb47 ttm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5ee52445 ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61bdb34f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x66f3ff27 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x69d81dd8 ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6aae5f36 ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6b975e3a ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x72654ef5 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x765cbc82 ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x778d40c8 ttm_agp_backend_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7f8879de ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8500e4c9 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x86a4066d ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8730a2ea ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x88035575 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8d620636 ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8db796d4 ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9396d199 ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x97d5ca21 ttm_base_object_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa5437f2e ttm_base_object_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xac0e50d1 ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb4e22451 ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb5cf2fe9 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb64dd919 ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb83ba504 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbba2ecf9 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc2058ac0 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc64022a6 ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc84a06d1 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc96c5be3 ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcc7823da ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcdaa4f42 ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcf9a2b18 ttm_object_file_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd6baf631 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd80fc2cb ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd946828b ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xea98aa2b ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf383b066 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf4c4a8a3 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfc36cbfa ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfcce372b ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xffa83fab ttm_bo_evict_mm +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-bit 0x0528c6a2 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xe1e861ff i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x4b80ae42 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x99c6ad0f i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pcf 0xac2edee0 i2c_pcf_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x2a6c333c amd756_smbus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x00ef3f3e hpsb_update_config_rom_image +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0361e549 hpsb_unregister_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x070fffcf hpsb_allocate_and_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0b234c4e dma_prog_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0bed5322 hpsb_make_lockpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x11959ab6 hpsb_alloc_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x158ac548 dma_region_offset_to_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1a200e5a csr1212_release_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1b6cc672 hpsb_update_config_rom +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x20347499 hpsb_iso_recv_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x206d4d1a hpsb_get_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x207ff244 hpsb_iso_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x231d1b65 hpsb_make_readpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x24a4c0f7 hpsb_destroy_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x264623a5 hpsb_iso_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x26c14220 hpsb_iso_recv_listen_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2a4cc36b csr1212_attach_keyval_to_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2ebf6e5a dma_prog_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x30f95b5b hpsb_iso_wake +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x356d6e0d hpsb_set_packet_complete_task +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x39f22e96 hpsb_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3d75b26e hpsb_get_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x40f6d1af hpsb_unregister_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x49a95dc4 csr1212_get_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4a9cd770 csr1212_parse_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x51b77b44 hpsb_iso_n_ready +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x52d393b3 hpsb_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x532f1a1b hpsb_lock +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x57e05b8b hpsb_iso_xmit_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x595c8c60 hpsb_iso_recv_flush +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5f5fdd2f csr1212_new_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x659db551 hpsb_create_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x672ad148 dma_region_sync_for_device +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x68b51e47 csr1212_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6b20e33e hpsb_iso_recv_unlisten_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6e7734f0 hpsb_iso_recv_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6fbac895 hpsb_make_streampacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x70526317 hpsb_remove_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x71970cce hpsb_node_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x71a876eb hpsb_read_cycle_timer +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x71c02d2e hpsb_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7261614f hpsb_reset_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x726cd025 hpsb_free_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x754c74ed hpsb_resume_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x765d19ba hpsb_get_hostinfo_bykey +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x76bc1a5c dma_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7a93b10d hpsb_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7b16e17d hpsb_set_hostinfo_key +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7ce69674 hpsb_make_lock64packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8879f8f0 dma_region_sync_for_cpu +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x89a5a5ce hpsb_alloc_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8ec2b312 dma_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9b261f6d hpsb_set_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa83591b6 hpsb_iso_xmit_queue_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa963c4a9 hpsb_register_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xadfb3c9a hpsb_iso_shutdown +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaef57bb5 csr1212_detach_keyval_from_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb89a6b8d hpsb_selfid_complete +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xbc62e80d hpsb_node_fill_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc09a8185 hpsb_packet_success +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc19c5bd5 __hpsb_register_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc3aa1531 hpsb_unregister_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcc75b5c7 hpsb_iso_stop +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcd9e772b dma_prog_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd653837a hpsb_add_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd74e262c hpsb_make_writepacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd946fb43 hpsb_bus_reset +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xdeb67429 hpsb_protocol_class +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe19742e6 hpsb_iso_recv_set_channel_mask +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe3201aa8 hpsb_iso_xmit_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe3701bf5 hpsb_selfid_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe484a114 hpsb_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xea4152ff dma_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf15f73e3 dma_region_mmap +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf2509dce hpsb_free_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf4c0784f hpsb_iso_xmit_sync +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf5a293e1 hpsb_send_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf685c9bb hpsb_iso_recv_release_packets +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfba57f51 hpsb_speedto_str +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfbfe831c hpsb_make_phypacket +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x097d4f38 ohci1394_stop_context +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x0cee5fac ohci1394_register_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x1d5aeebc ohci1394_init_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x2059d633 ohci1394_unregister_iso_tasklet +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x148eccb0 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x8a721ed9 rdma_addr_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xa9b571b1 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xc91bb9d3 rdma_addr_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xd5ef3d11 rdma_copy_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xe1f441e5 rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x04c15e33 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x04cd1dc2 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x0c76e402 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2084e421 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x42fd128b ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x77958ee4 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x79f456df ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7b4de6c7 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7cacb889 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9520b89a ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa9109c69 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb0e6fdb1 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc095f9e3 ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc94e1d31 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc9a4dc13 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf5a68eab ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xfccf267c cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x04764df3 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0487449f ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0593b13b ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x059cdc7c ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0623361c ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06830b9a ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x070c66fc ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0dec47c9 ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x13785d50 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x139f2f33 ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b4af4f7 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1babd1b8 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1c8e9180 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e4cc422 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b364e44 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x30df5e7b ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3121d809 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x366d567d ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3b2b2e03 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3b67ef92 ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f39994d ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f7567fd ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45a8e7f5 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4afbdb51 ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4dde66d3 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55373772 ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x57705421 ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x59bd429d ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5a820b73 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x62824a27 ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6c6ad26b ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6ca1e496 ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x70da4324 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x71c4be41 ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7529d894 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7c2118e0 ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7e022902 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x815f3be0 ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x85fbf244 ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8640eaeb ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87b614d8 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x89261f8c ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8ae201b6 ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e4fad39 ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9319cc92 ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9947535f ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d804fa1 mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9f080e0e ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa4fda562 ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa6eda28e ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa7243de8 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa9ee14b6 ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaff7cd73 ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb41474aa ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7f11413 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb9783c26 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbaa1d8c4 ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbed2d826 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc06d0115 ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcb636d71 ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcd3d6ae3 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd17ba9d1 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd56aa489 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd622af6c ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe81f2e08 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xea2a036b ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xec3916d6 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf0d813cd ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf14b2d2d ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf266a50a ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf2a0d0fd ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf36498b9 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf96fc9de ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xffdf57ca ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x01cb68b1 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x0c078008 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x1af59aa6 ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x2b9176ba ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x3699c4df ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x4355faf6 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x5334a048 ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x67a06e27 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6e4a430e ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6ef787ed ib_response_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 0x8292de56 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xc6f09280 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xf428a1ae ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x576fdbac ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x6ccb6df4 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x9c56fd34 ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x9fe689f6 ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xa0cd2ec8 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xa8d5f1cd ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xb164920e ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xd3244450 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xe117c89c ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xf520d09e ib_sa_register_client +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 0x01395805 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x1c76ca1f iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x1f0280ca iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x24b6851e iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x9d1a00d7 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x9f4f610a iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xc045b246 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xe7cdd751 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x18fec2c4 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1e9ef519 rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2238f4c8 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2d1750db rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x46724bc7 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4bcc55f9 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x504585ae rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x54b75fa0 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8069a8dd rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8e9bf0f1 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xae41f231 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb44d882a rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb93fafd7 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc94c307e rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd095a57a rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdda67507 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe63074b7 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xefca7beb rdma_create_qp +EXPORT_SYMBOL drivers/input/gameport/gameport 0x1893afcb gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x3e8db5da gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0x4c81cd02 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x5c60f667 gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x90d9fdaf __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x965d0f11 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xb7d7f169 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xb9745519 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe8490c9d gameport_unregister_driver +EXPORT_SYMBOL drivers/input/input-polldev 0x0d90e2ae input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x3be2cee6 input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x59722f0a input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xc5138f6f input_allocate_polled_device +EXPORT_SYMBOL drivers/isdn/capi/capifs 0x2c54c957 capifs_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/capifs 0xd0bc06ce capifs_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x04403fcf unregister_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x0abb15b6 capi_ctr_resume_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x14f2aa5a capi20_get_version +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x24664572 capi_ctr_suspend_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2b8eab1f capilib_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2baa6586 capilib_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2ec6ad41 capi20_set_callback +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31c24aa4 capi20_isinstalled +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47d3fc51 capi_info2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47dbfa0a capi_message2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x50b33ca4 capi_cmsg2message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x59462083 attach_capi_ctr +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 0x6ec7194d capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7128e02b capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x71e8d5ba capilib_data_b3_req +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x788d398c 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 0x843cbed4 detach_capi_ctr +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 0xb19fda8d capi_cmd2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb60e5e5f capi_cmsg_header +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe19a11ac capi20_get_profile +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe5d6f6e7 capi20_put_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe9f62f29 cdebbuf_free +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xed061606 capi20_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xf05fb105 capi20_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xfbfa7fa7 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xfff6da92 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x0d105f05 b1_getrevision +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x0d91a285 b1ctl_read_proc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x144001b3 avmcard_dma_free +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x36b188d8 b1_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x3cdf671f b1_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x4c6cd2f9 b1_load_config +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x6521ae71 b1_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x689195e9 b1_load_t4file +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x85f09690 b1_irq_table +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x8f69d64e b1_loaded +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x966357c5 avmcard_dma_alloc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xa213b822 b1_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xab57000d b1_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xb7c5f73e b1_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xc1432d4a b1_parse_version +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdd31bb9e b1_alloc_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdfd28376 b1_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xf45e0063 b1_free_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x0fd14339 b1dma_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x233ca0dc b1dma_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x24dfc9b0 b1dma_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x3a4e5eb3 t1pci_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x52a34fd2 b1pciv4_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x6fa50328 b1dmactl_read_proc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x7b129e93 b1dma_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x9b3c71fc b1dma_reset +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xcf3b0d9d b1dma_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xe6b906a5 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 0x247f4b21 proc_net_eicon +EXPORT_SYMBOL drivers/isdn/hardware/eicon/divadidd 0x2974ead1 DIVA_DIDD_Read +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x18c52326 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xb635c054 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xb65fd362 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xf5801f36 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x1f0cfcf7 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x3a95129e mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x07f4f2ce hisax_unregister +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x12c47846 hisax_init_pcmcia +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x148f0c99 FsmFree +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x2844a899 FsmInitTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x93a64734 FsmChangeState +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x9df0cd27 FsmEvent +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xc0c558f9 FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xd94696e8 FsmDelTimer +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_isac 0x3f3b323a isac_d_l2l1 +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x6d1af69f isac_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x8006cf55 isacsx_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x9fdab41a isac_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xd58acfec isac_init +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xdd2c123d isacsx_setup +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x60c1daff isdn_ppp_unregister_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x66988efe isdn_ppp_register_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xe9417315 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 0x002d1a08 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x051e3357 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x09d3e8d4 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x22cf7419 recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3ea336fd mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x42763119 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x429129f2 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4f4fb783 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x522f4337 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5dc7400a mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x706746b2 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7beb3186 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8927105a mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9de248b6 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xace35cae mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xadd42df5 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xbe1f7c2d get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xcc4a57cb mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd507996e mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd58a0a7d recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd58e972e confirm_Bsend +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd9a7fbfd mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xdc66f9f7 bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf28af0fd dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf3d56ebd mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf45adc4a mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf5275ee1 mISDN_register_Bprotocol +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/raid6_pq 0x0bd662f6 raid6_gfmul +EXPORT_SYMBOL drivers/md/raid6_pq 0x15fe0cd3 raid6_gfexp +EXPORT_SYMBOL drivers/md/raid6_pq 0x5ba93f9d raid6_gfinv +EXPORT_SYMBOL drivers/md/raid6_pq 0xb0d904b7 raid6_empty_zero_page +EXPORT_SYMBOL drivers/md/raid6_pq 0xce45a6f1 raid6_gfexi +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0xa54b7c86 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0xad12b113 mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0xb69adcf3 mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0xb941d34a mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x1aabd606 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xf06039a3 qt1010_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 0xd7ec2b50 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0x9efc6a59 xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x0cae0498 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x2510ed5f flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x26b2325b flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x3ab1e660 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x4cb03e22 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x5332fb58 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x5680e901 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x61d45b59 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6b489634 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x7d4b8cb2 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x7f766c71 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x818a4241 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x94d45fe1 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x9d373646 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xb0f8b350 flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xb83aad27 flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc989b0ce flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd1e6b4fc flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe8bcb469 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xebfed508 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x4f7522b7 bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x87a6e18b bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xb7ecc8df bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xf3a267c6 bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x36255908 dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x569466a6 dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x7516e4cd write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x7ed83452 dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xb8d53fbe read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xbcfdc18c dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xdbf56ab9 dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe164acbe dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xf5b7e60d rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0x93510736 dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0466b1cd dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c457c5c dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c4d4a14 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0cb093cc dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1c91a271 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1e14d9af dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1fb8626b dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x2e6e41ce dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x36ee3ee8 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x38db2144 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x51f3767c dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6988f784 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7377c1c7 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x74a5a698 dvb_filter_pes2ts_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7be586ac dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7d8af1f8 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7e437005 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x80e3832d dvb_filter_get_ac3info +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x95624cef dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa23655a0 dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa7a46f70 dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xaa8ff921 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb5a2d6c7 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb66e46e2 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb82e2a4e dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb8bc0ece dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb95ca9ce dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xbc0d91e1 timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcb89fc7d dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcca08cb5 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcce0eeed dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd58b349d dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd639b9bc dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd7765e69 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf2510d52 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf826deb0 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xfb9c0c47 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xfec38a5b dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x008708e0 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x0aa30730 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x11688175 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x6a5be5dc dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x83d12ce0 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x8ec5d0b8 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xe56906e7 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x3693500b af9005_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xc77b3bd9 af9005_rc_decode +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xd3383957 af9005_rc_keys_size +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x17f87653 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x19fc52fd dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x3a480929 dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x3ae74c22 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x4cef2aa1 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x5d8ec778 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x6d94d924 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x832627a4 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x8cccadd9 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xcc9ccaff dibusb_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xd5e162a9 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xf4f57b2b dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x7f442ef7 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522 0x63af3197 au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0x2f0b7a12 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0x05b6411c cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0x57b0f216 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0xf70793d3 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x33055bc2 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0xc78cb6e9 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0xcda7f9bd cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x33202040 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x3964ece3 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x911ce671 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x9605f30c dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xb1005230 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x77d7a74c dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x42840ae0 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x4affb06b dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x5abe66ce dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xdce47b94 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xf7f2be14 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xfd08c489 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x56865288 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xec4dc9cc dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x9036c39c dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x9455f400 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xaf521e16 dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xb3daf8dd dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xb66e9754 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xd0e4ea30 dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x199e5c7a dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x5a2247ad dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x697d6718 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x88c37305 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xf5b4513f dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x26af4159 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x88f262c2 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x9d8c347a dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xad3d330b dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0xbcf4fa07 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x79f07b3b isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0xf0e9d758 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0x72ab6da3 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0x556640fb itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0x4db5abaf l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0xde6a9afa lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0xbf5d308f lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0x3999b608 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x3fdf2700 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x60feff3b lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0x30ad280f mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0xf11a8728 mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0xaf6b0d9d nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0x5a6b4b46 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0xbf22a6dc or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0x7389867a or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0xf6cd993b s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0xa58cbf43 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x6e883d68 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0xeafd155e s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x596c5fbd si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0xa8e570a5 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x3cd95317 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0x7bb759a1 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0x0b45ef83 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0xcd213647 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0xe742235f stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0x305c6d7e stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0x5cf27b3e stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x301f4268 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x0d821007 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0x631b5381 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0x066fda81 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x406ce864 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0x40c07abf tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0x9381dec8 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x28bd263a tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x49d9d230 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0xb270c426 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0x2a704829 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0xb4048845 tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0xc926c6c0 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0xd049ccfd tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0x54cd1d14 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0xc8261d2e ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0x2c22af68 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0x206e09cd zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0x8a71abf8 zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0x4077693e ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x1d2f3186 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x36e8304c ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x274b668c bttv_sub_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x30af47bd bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xa8f8c766 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x20c5977d btcx_riscmem_free +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x38e7f7d2 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/cpia 0x7f126dc0 cpia_unregister_camera +EXPORT_SYMBOL drivers/media/video/cpia 0xb9ac48b7 cpia_register_camera +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0xc71f00ae cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0xfa70f346 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x155650f3 cx2341x_ctrl_get_menu +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 0x5b88faf6 cx2341x_ext_ctrls +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 0xe2c2b5eb cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x3f2464b5 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x68660be2 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x3c2727ab cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x80b8308f cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xc1113587 cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xdd0a05e0 cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xe63adfb0 cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xf3d6d8de cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x14cba5eb cx8802_get_device +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x21c78f9b cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x2f9d8182 cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x44c3a575 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x7bc26ba8 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x9efed28e cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xfae730f1 cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x065b8fde cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x0aab74dd cx88_core_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x154b5bd0 cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x21910c8d cx88_reset +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x2651a969 cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x26bc7199 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x28252035 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x3efbc981 cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x407d3d93 cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x4f8ec9f1 cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x69f6d6c0 cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6fd022c3 cx88_newstation +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7a832d05 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7ef03014 cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7f38a48c cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x8c715c42 cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9b140fff cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xaaf81775 cx88_wakeup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xafc51243 cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb436ce27 cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb47f6cda cx88_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xca4b7e28 cx88_shutdown +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xdc193ac1 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xecf4c9e2 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x28f062e0 em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x92fd42f6 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x032db8e0 gspca_suspend +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x4457f2ea gspca_get_i_frame +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x47b75271 gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x54913f43 gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x70fb704c gspca_auto_gain_n_exposure +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x9e2cba21 gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xe6638c98 gspca_resume +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x0613ef39 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x1358540c ivtv_udma_setup +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x1658c03d ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x215eced6 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x2accb1f3 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x5fd3bf4f ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x79adf343 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x7ffcf67b ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x8ee83309 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xa8d2a299 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xe4648b39 ivtv_vapi +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 0x1eb45725 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x351f8bde saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x4063e79b saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x5391e578 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x575f6721 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x64c9eaf1 saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x6aab1aec saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x82960778 saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xa0a59920 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xc14fb14b saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xf3b2bdf5 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xffe05c54 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0x02bc5d98 soc_camera_format_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0x1c757fea soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0xab8743a9 soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0xbe7d1fc7 soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0xeb3bc5cf soc_camera_apply_sensor_flags +EXPORT_SYMBOL drivers/media/video/tveeprom 0x0ffb17c9 tveeprom_read +EXPORT_SYMBOL drivers/media/video/tveeprom 0x96bd9051 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x16a2915c RingQueue_Dequeue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x1fe60416 usbvideo_RegisterVideoDevice +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x407a321c RingQueue_WakeUpInterruptible +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x489b5754 usbvideo_DeinterlaceFrame +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x4ed9500c usbvideo_TestPattern +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x564dd09d usbvideo_Deregister +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x86adff99 usbvideo_register +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xddecac6d RingQueue_Enqueue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xf5011f67 RingQueue_Flush +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xf8d31019 usbvideo_AllocateDevice +EXPORT_SYMBOL drivers/media/video/v4l1-compat 0x90af2467 v4l_compat_translate_ioctl +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x03165a85 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1943d0e3 v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1dcaa0c8 v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1e326b97 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x2f639468 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x369afcb8 v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x42c8e001 v4l2_ctrl_next +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4ed5e0d7 v4l2_chip_match_host +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x50766d69 v4l2_ctrl_query_menu_valid_items +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x76ba9a9a v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x95284709 v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9c7de443 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9eb43ee2 v4l2_ctrl_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xbecd2858 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xd9ee1e3f v4l2_ctrl_query_menu +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x2b437ebc videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x4be5372a videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x5221c3dd videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x56777f10 videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xad0a71ee videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xc6061964 videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videodev 0x0445c910 video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x0ad412e8 video_register_device_no_warn +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x1ddd7068 video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0x2001c659 video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x80a952d2 video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0xb064b62c video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0xbd77d9b0 video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0xd50c182f video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xe62567a0 video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x1614552d videocodec_detach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x4e8e259b videocodec_unregister +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x9fd9c1a4 videocodec_attach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xeb068661 videocodec_register +EXPORT_SYMBOL drivers/memstick/core/memstick 0x20513fe9 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3f25aeb4 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x4e1d69c7 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5b392d71 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5d820a02 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x70e61b7b memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0x71bacaf2 memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x90810e8a memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x99c0ae61 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa5c4f45d memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa6803e7c memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xc145c619 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0xcf794ea2 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xdafb83ab memstick_resume_host +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x07b8b516 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x134bad77 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x17be567e mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x287e557d mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2f7fb3d0 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3794ec73 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x42205243 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5517dc4f mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6397c80f mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6753bb27 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6d70020a mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x796e0ed0 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x85166d87 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x916ba46f mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x932efc74 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa39e8f7f mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xaadb63f0 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xad33297f mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xaf0d50ee mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb9742979 mpt_send_handshake_request +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 0xcb6e2ba7 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd1529b25 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd1ae4c4c mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd4d28711 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd9a92a75 mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdbbf81b1 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xeb75a6ee mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf363d10b mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf37443f5 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x057ec2df mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x07713753 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x135e3a15 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x137e1748 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1f2ba01e mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2488a134 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x32517596 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x41d2a113 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4ec51ad0 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5a5627c9 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x66e309cb mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6e700dec mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8582d34a mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8b10dc94 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9a471a73 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xac09b2b3 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xaff1b3e5 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xbb8b78fe mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xbe03f550 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc8204345 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xcdaeff99 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd442c01b mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xea2ab406 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xeb0381cf mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xed913300 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf46de37d mptscsih_resume +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0923cf09 i2o_cntxt_list_add +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x1c5e231b i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2002f5cb i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x235b761b i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x26e30126 i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a542ca1 i2o_cntxt_list_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x3737ead9 i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x48bc9a5d i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x677c7858 i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x73c98f11 i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x73da7bbb i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x81387fa8 i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x87465edc i2o_cntxt_list_get_ptr +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x9299fa52 i2o_cntxt_list_remove +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x99fe9a9f i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x9b0ca9f5 i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xa8d29a48 i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xbe48abca i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc6281cd2 i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd2813f24 i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xe2f8bca9 i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xe5b6415f i2o_driver_unregister +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x0cfaf658 ab3100_get_chip_type +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x3338933f ab3100_get_register_page_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x580fc7d5 ab3100_event_registers_startup_state_get +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x6e49dc06 ab3100_mask_and_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x7328a183 ab3100_event_register +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xa5b78c00 ab3100_get_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xa849e1b4 ab3100_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xf1a0b594 ab3100_event_unregister +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x03888060 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xa7756534 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/mfd-core 0xa6e9d06e mfd_remove_devices +EXPORT_SYMBOL drivers/mfd/mfd-core 0xb3c9a67e mfd_add_devices +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +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/c2port/core 0x6ccfc3cb c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0xf5746f21 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/ioc4 0x11bad31c ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0xb0b1f4dd ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x15fff54a tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x24428a3f tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x37402c73 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x8879f509 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x91c4482b tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x937263c9 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x977d6c22 tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xa3cfeb7f tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xb18fa43b tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xb2c55790 tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xb904687e tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xbdbe82fe tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0xcd153284 tifm_queue_work +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0x2f7025d0 mmc_cleanup_queue +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x30cafcfd cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x5b3c4817 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xd176733e cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x4ac80313 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x50034f9c map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xb4cfe262 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xc9611e42 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x8ff090ea mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x0f722d64 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x443ea61d simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x4088585d add_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtd 0xe9ce2acf del_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtdconcat 0x4b908506 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/mtdconcat 0x792a9049 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/nand/nand 0x6506f560 nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0x947076fd nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x68d35fec nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xb4b94377 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xf7485e59 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 0x1b3fd713 onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x3b6b40c6 onenand_default_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xd5c82642 flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xe3475f00 onenand_scan_bbt +EXPORT_SYMBOL drivers/net/8390 0x02d11931 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/8390 0x1d4c40c0 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/8390 0x3046f99b ei_close +EXPORT_SYMBOL drivers/net/8390 0x32e6c241 ei_open +EXPORT_SYMBOL drivers/net/8390 0x6e6f8170 ei_poll +EXPORT_SYMBOL drivers/net/8390 0x95e80227 ei_tx_timeout +EXPORT_SYMBOL drivers/net/8390 0xaa062b95 ei_netdev_ops +EXPORT_SYMBOL drivers/net/8390 0xd8571dc7 ei_get_stats +EXPORT_SYMBOL drivers/net/8390 0xdd365790 ei_interrupt +EXPORT_SYMBOL drivers/net/8390 0xeccb39f5 NS8390_init +EXPORT_SYMBOL drivers/net/8390 0xed1cccfd ei_start_xmit +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x07f54ec3 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x1b4dac33 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x23f86078 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x269c8f6f arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x49fa9e1d arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x4ca5b370 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x72455b8f arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x78453393 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x7c1b8c3e arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe5cc89ec arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe696b659 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x1bd9d81e com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x2212ed69 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xf195a7ac com20020_found +EXPORT_SYMBOL drivers/net/bnx2 0x9f32b1cd bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/cnic 0x402d2909 cnic_register_driver +EXPORT_SYMBOL drivers/net/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x178c17cc cxgb3_free_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x1b72f25d cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x2e26c6de t3_l2t_get +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x302e0e0d dev2t3cdev +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x4669ff8f cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x6b9d0640 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x6c60eb23 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x76cf3e7d cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x9ac35f25 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xacbe623c cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xb6fae462 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xbae6f88d t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xbb687839 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xd28ab9ce cxgb3_register_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xde6e08c2 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xe6c8ea75 t3_l2e_free +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x12326121 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x6bf7d53f hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x7ee5c42e hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x9243c993 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xc61460c8 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x05b5b3f4 sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x2060886d sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x2730534a irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x592b6bb6 sirdev_write_complete +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x64baf23c sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x7f18d21c sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xab3e8e3f sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xb5840d93 irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xbc17c542 sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xcbab135f sirdev_put_instance +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/mii 0x1fff51b4 mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0x3bfc7516 generic_mii_ioctl +EXPORT_SYMBOL drivers/net/mii 0x3bfccc25 mii_check_link +EXPORT_SYMBOL drivers/net/mii 0x948e203b mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0xd3973d06 mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0xda27d4a1 mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0xfcfcf20c mii_ethtool_gset +EXPORT_SYMBOL drivers/net/mii 0xfe5023c5 mii_check_media +EXPORT_SYMBOL drivers/net/pppox 0x69569452 register_pppox_proto +EXPORT_SYMBOL drivers/net/pppox 0x865de061 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/pppox 0xb8a426c8 pppox_ioctl +EXPORT_SYMBOL drivers/net/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/sungem_phy 0x4ea341db mii_phy_probe +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x11d18a6e tms380tr_open +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x1d25abb4 tmsdev_init +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x672ea3f4 tms380tr_netdev_ops +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x6f114d58 tmsdev_term +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x8352d29e tms380tr_close +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd2328794 tms380tr_wait +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd49af46e tms380tr_interrupt +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 0x31ad6221 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x3f948180 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x46211109 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x5d50ff27 hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0x6161d315 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xb74bceee unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0xbd004a78 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xcb42bdd1 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xfc1d3599 detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xfdb771fd hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0xfff79d03 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wireless/airo 0x39679c45 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x78573e06 init_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xa1904188 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x31219afb ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbe25b39d ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xc41de114 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd11008d1 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd729b160 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/atmel 0x107f3a98 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0x8cedf9fa stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xda27cbea atmel_open +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x078c6eb3 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x18d73dec hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1faa01e8 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2394f9ea hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3255420e hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x334cebc1 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x385b88b8 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3909adbc hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3978d6d3 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x441e2453 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x455cf924 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x49f5079e hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x6f3de32b hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7230c7ee hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x754e9b54 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x768435f6 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7a7b8c89 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7e2ad171 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x92e5a7db hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa0d24f28 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xab78c48a 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 0xb8d1ea9c hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xbaf3ea18 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xc6325ba4 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xdd07652c hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xdf5a8083 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x150d155e libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x1f0c96c9 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x307ec73a libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x3dde9e36 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x3e2d38a0 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x417ec2ce libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x4d548298 alloc_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x60075916 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x6308d1c2 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x65167ac7 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x65d7a504 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x907f51c3 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x9ae23843 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xa6813909 libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb4d81f57 free_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd40ad028 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe055c97f libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xeb9bf743 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xf1220c5b libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xf9b650f5 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xfaf47153 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0841be78 iwl_tt_handler +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0afda911 iwl_activate_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0afdec8a iwl_tx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0e59151e iwl_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x118f4318 iwlcore_eeprom_enhanced_txpower +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1355769c iwl_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x15e52909 iwl_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x15f4663f iwl_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x18457b2f iwl_rx_reply_rx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x19f0e900 iwl_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1af2db01 iwl_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1ca049f3 iwl_sensitivity_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d77b399 iwl_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1f1beb26 iwl_hw_nic_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x24dedd77 iwl_alloc_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x254dc9fa iwl_sta_rx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2566dee6 iwl_rate_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2569a9cd iwlcore_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2633fdcb iwl_eeprom_check_version +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x266ca166 iwl_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x26e7a6c1 iwl_txq_ctx_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2715bc3c iwl_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2b032555 iwl_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2b326a1b iwl_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2b33daa6 iwl_sta_rx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2c05e06c iwl_set_hw_params +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2d45d4a7 iwl_is_monitor_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x30a4cfe8 iwl_init_sensitivity +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x30b4949c iwl_rx_reply_compressed_ba +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x30c925a7 iwl_rx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x31bd576b iwl_configure_filter +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x32a1e1f2 iwl_reset_run_time_calib +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x32d22e62 iwlcore_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x34740c2e iwl_bg_scan_check +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x34addd33 iwl_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3699554a iwl_tx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x36c23e70 iwl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x38de9e0c iwl_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3d0cb557 iwl_ht_enabled +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x48c20a8f iwl_disable_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4b68bbbe iwl_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4bac97cd iwl_rx_pm_debug_statistics_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4eb029a5 iwl_send_static_wepkey_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4fad7be1 iwl_send_statistics_request +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x516cc287 iwl_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x523b8c4a iwl_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x52774355 iwl_verify_ucode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x52d894bf iwl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x57cbf908 iwl_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5886cae1 iwl_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x59c09928 iwl_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x59c95905 iwl_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5a44600a iwl_send_calib_results +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5a99baf9 iwl_tt_enter_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5c4ac924 iwl_rf_kill_ct_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5dbe5bad iwl_eeprom_get_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x60774702 iwl_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x62d66533 iwl_init_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x63a7d9f6 iwl_remove_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x63bb6803 iwl_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x64203a87 iwl_rxq_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x674b269a iwl_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6792ade4 iwl_bg_abort_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x691549fe iwl_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x69de96c4 iwl_tt_exit_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x74f448eb iwl_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x78976e61 iwl_isr_legacy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x78b235e4 iwl_rx_replenish_now +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7e7eb568 iwl_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x80070d72 iwl_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8150e982 iwl_set_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x859a9c2a iwl_tt_exit +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x85e3735e iwl_rx_pm_sleep_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x865892f2 iwl_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8670273d iwl_hwrate_to_plcp_idx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8694fedc iwl_rx_missed_beacon_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x87cc0d69 iwl_rx_reply_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x89a55a79 iwl_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8a812d1e iwl_rx_queue_restock +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8af9bcbc iwl_leds_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9086c9dd iwl_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x90cdfb6a iwl_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x93496b32 iwl_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x937c56aa iwl_get_ra_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x97e9ded6 iwl_rx_csa +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9856bea2 iwl_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x98ce7b68 iwl_find_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9ac6d04b iwl_set_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9c3b6934 iwlcore_eeprom_acquire_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9d4dd213 iwl_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9e86e47a iwl_setup_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9f945b9a iwl_alloc_all +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9faced57 iwl_calib_set +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa2586798 iwl_tx_queue_reclaim +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa6f19930 iwl_hw_detect +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaa43d6c2 iwl_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xabf910be iwl_clear_stations_table +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xae0b88ae iwlcore_eeprom_release_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xae1f4ec4 iwl_setup_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaf79e699 iwl_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xafe83f6a iwl_tx_ant_restriction +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb08cd8bc iwl_free_tfds_in_queue +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb10a4ec8 iwl_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb222cf74 iwl_rx_replenish +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb261e3c6 iwl_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb3709048 iwl_reset_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb420a34d iwl_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb4b962dc iwl_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb6b0fedc iwl_txq_check_empty +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb6ea1166 iwl_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb763ef3e iwl_rx_statistics +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb9c66343 iwl_get_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbbea1abb iwl_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbc0748ea iwl_get_free_ucode_key_index +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbca046c5 iwl_rxon_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbf3b9d89 iwl_mac_get_tx_stats +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc16cdb2b iwl_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc2162b8c iwl_mac_beacon_update +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc33b3ac1 iwl_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc417d256 iwl_set_rxon_chain +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc5708412 iwl_tx_skb +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc7794b30 iwl_bg_scan_completed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc818a1f1 iwl_tt_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcb995f6d iwl_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcbaf4931 get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcd3d83f7 iwl_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcd4c925e iwl_remove_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd7e946fc iwl_hwrate_to_tx_control +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd8c70cd6 iwl_reset_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd9633c5c iwl_update_tkip_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xda26f1b9 iwl_hw_txq_ctx_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xda2f748a iwl_rx_reply_rx_phy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe19ecdd9 iwl_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe46da750 iwlcore_eeprom_verify_signature +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe56e9bd0 iwl_leds_register +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe576c258 iwlcore_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe61ce25f iwl_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe6304eef iwl_uninit_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe7ce5d70 iwl_rates +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe82cf29f iwl_set_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe88263b9 iwl_chain_noise_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xec163970 iwl_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xec53fdaf iwl_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xeca19dc1 iwl_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xef956eb9 iwl_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf7ccf919 iwl_sta_tx_modify_enable_tid +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf9a763e8 iwl_free_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfcf16ee2 iwl_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4196c38b hermes_write_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x6a927e18 orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x76322d3f orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x780287b6 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x7b0e202a orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa031d8e4 hermes_doicmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa73497f4 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xada242a1 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc60b5e9e hermes_bap_pwrite +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd38d8ae2 hermes_read_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd3f714e5 hermes_bap_pread +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5168829 hermes_allocate +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5336e5d hermes_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd54e219d hermes_docmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd8782083 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xed47b224 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xfe65908f free_orinocodev +EXPORT_SYMBOL drivers/parport/parport 0x00e42e73 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x27e17965 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x2ee37444 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x3831caeb parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x5272fbdc parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x57e2f4bf parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x5b432578 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x5c87b79c parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x64155ac3 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x6688cb09 parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x717195d4 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x737a8d3b parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x7811cd05 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x7f79817d parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x7fdb5cfc parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x871af0ab parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x87285a52 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x987440d3 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x9c3c2e29 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x9d5eff70 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0xa8530b3b parport_release +EXPORT_SYMBOL drivers/parport/parport 0xaf9cba01 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xb02e17d0 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0xb81338b2 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0xc1ea9ac2 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xc5b56005 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0xdbb53f27 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xdc1647ce parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0xe1670591 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0xf6bf42fe parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xfc96c764 parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport_pc 0x582f35fc parport_pc_unregister_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xb87a368f parport_pc_probe_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x0947bb9f pcmcia_get_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x1efd69fe pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x2a6398ab pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x3b8d64bb pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x40ce98e0 pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4fd033a0 pcmcia_error_func +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6f59a4db pcmcia_access_configuration_register +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6ff27fc3 pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xa4867be2 pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xb58a1d65 pcmcia_modify_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xcf137ca6 pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xd707e05e pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xd8f0339a pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xe962b2cd pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf0a25e12 pcmcia_error_ret +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf5ec950b pcmcia_request_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xfd61f9a7 pcmcia_get_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x1578d7ea pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2173bb55 pcmcia_socket_dev_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x344cce4e pcmcia_write_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x396a2e47 pcmcia_adjust_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x397f78f0 pccard_get_first_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x3f7d0075 pcmcia_validate_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x49d5df6d pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x4fda23c1 release_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5f324a03 pccard_static_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5f42a69d pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x64fd5567 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x6bf6c7aa pcmcia_resume_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x6c387b34 pcmcia_replace_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x6d472655 pcmcia_insert_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7692e741 pcmcia_find_mem_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x80d05901 destroy_cis_cache +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x82c23b4d pccard_get_next_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x902ac01f pcmcia_find_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x921ba8e4 pcmcia_socket_dev_late_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x936a62ff pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9895dfca pccard_get_tuple_data +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9b55634f pcmcia_socket_dev_early_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc02ef2c8 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xceeccefd pcmcia_suspend_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcfc4c37f pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xdc2d15d0 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xddcc8ebb pcmcia_eject_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xe90c6da1 pccard_read_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf33ed82d pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf6167d43 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf7c73603 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf9450dfa pcmcia_socket_dev_suspend +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf9ba760c pcmcia_read_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xfd0f29f1 pccard_validate_cis +EXPORT_SYMBOL drivers/pcmcia/rsrc_nonstatic 0x37c03614 pccard_nonstatic_ops +EXPORT_SYMBOL drivers/platform/x86/sony-laptop 0x5bb1e117 sony_pic_camera_command +EXPORT_SYMBOL drivers/pps/pps_core 0x1e145952 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0x51d00b2c pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xe6a16116 pps_event +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x1463a666 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x1c73ccba fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x4b96e035 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x4de03629 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x91ad6e41 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xc954aa49 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xd54755f5 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x05ac2fa2 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x076a0909 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1944e44b fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x258fa46a fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x30815a87 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x38e450c3 fc_seq_els_rsp_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3c1a4154 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3e371f0b fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4134b99e fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x45657913 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x52f36eb3 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x56183917 fc_destroy_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x57c59e2f fc_fcp_complete +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5fdcc69c fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x63d1509b fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x65951ec6 fc_get_host_port_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x67750428 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x73811b8e fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x77cc7855 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7831c689 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9895c1b5 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaca6292d fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaf901369 fc_fcp_ddp_setup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb5b79890 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb65cadc6 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xba701310 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbc592102 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc39a6f17 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc6e8e55a fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd224d02a fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd4b4c6e5 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd6cb3359 fc_setup_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xda2be2bb fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xde44e8b6 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdf1b4004 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe2b7888c fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe6d92439 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe97d9794 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xeb6b61ba fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xebcd93f3 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xedfa2b49 __fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf03f3c57 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf412a4b8 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf68484e3 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf7365d60 fc_seq_exch_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf799ea24 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfd6f3443 fc_exch_alloc +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x2250c66e mraid_mm_adapter_app_handle +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x43a0c386 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x512c956d mraid_mm_unregister_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x00e5ef1a osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x05b1e276 osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0af11365 osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0e10434c osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x21562667 osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2947bdf1 osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x31db7976 osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4854529d osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4a169a8b osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x534cd95d osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6058c67b osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6270ea71 osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x65bd9f80 osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x679058d8 osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x68e5f6c1 osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6d146232 osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x79c0a54e osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8631c108 osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8ecaa18c osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa28067d0 osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa6fe5a07 osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb6d144eb osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb95d7af3 osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xbfe3a1e6 osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc4f9738c osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xce612ecd osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xcf7e7616 osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd37b42c9 osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe504fc6f osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xea2fa4f0 osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xecc188bb osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xfe3c5ee4 osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x9ee6f543 osduld_register_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0xdcd5aaa7 osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0xf016b632 osduld_put_device +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1a416c0b qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x7c3857fb qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x879ef7b6 qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x8bfe55c7 qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xd52ec735 qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xdc310b12 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe14949f4 qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/raid_class 0x2b75cd72 raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0x5916a2d9 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x967cd416 raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x00115795 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x06b84227 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x079dd0d9 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2a8644b5 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x30e7dbc0 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5aa2a5d4 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6766f9ba fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7c4c930e fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7fbdcae8 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x816ee9b4 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc4bb497c fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe2132001 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0853ea9c sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x089f4f29 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0d942807 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1b5cc435 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x41ca1b5f scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x457bfe3c sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4b153957 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x528ed339 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x71838b71 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x73734176 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x77a82e83 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x932e024e sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9d710719 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa206798a sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa63eb0ae scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb1df3d61 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc0baf501 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc3f6f246 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xcaca1a54 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd112ff94 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd6e36cbc sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdc5fe00a sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe5b9a190 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xecbffab3 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xecdb75be sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf475b1be sas_port_alloc +EXPORT_SYMBOL drivers/ssb/ssb 0x09aeb7ae ssb_dma_free_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0x14c50b88 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x281ce39c ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0x55bfac71 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x66df93d9 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x67d86a1d ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x6a8d325c ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x6cb62223 ssb_dma_set_mask +EXPORT_SYMBOL drivers/ssb/ssb 0x72043b04 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x75abeb70 ssb_dma_alloc_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0x835cc432 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x8c8ed024 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xb35a3c36 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xb85e77d0 ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xb9f54748 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0xbb0d3013 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xbfa4b9bb ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xdcbe42e7 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0xe52b17b4 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0xf35a4f7a ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xf9b627ea ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xfd348027 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x052befd9 comedi_buf_memcpy_from +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x0900f0f7 comedi_buf_put +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x22bd1a96 check_chanlist +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x37ec58d9 comedi_buf_memcpy_to +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x3ceec4dd comedi_buf_write_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x5015f6a2 comedi_driver_register +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x5062f102 comedi_buf_write_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x62a49be7 comedi_reset_async_buf +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x7797e5ba comedi_buf_read_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x89dddbe2 comedi_driver_unregister +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x90e8026c comedi_buf_read_n_available +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xad783fa4 comedi_buf_read_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xb4552e9c comedi_get_subdevice_runflags +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xec274cad comedi_event +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xf09e2d5e comedi_set_subdevice_runflags +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xf5d468a4 comedi_buf_get +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xf85d89a9 comedi_error +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x9920ad48 subdev_8255_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xcfde159e subdev_8255_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xec0f6546 subdev_8255_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xf88c09d6 subdev_8255_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x030eaa2d cfc_read_array_from_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x347008d9 cfc_handle_events +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0xb41ec354 cfc_write_array_to_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x12b13134 mite_bytes_written_to_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x14a25a20 mite_done +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x17ecac26 mite_dma_arm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x21460e22 mite_buf_change +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x287539c0 mite_get_status +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x421ffa5e mite_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x4625eb10 mite_setup2 +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x544f7c5b mite_sync_input_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x569ae137 mite_sync_output_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x64546b31 mite_bytes_written_to_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x8310f666 mite_setup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x845df2ac mite_dma_tcr +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x87a79a9b mite_bytes_in_transit +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x880c1518 mite_unsetup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x9230c76d mite_prep_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x9ae46763 mite_release_channel +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x9fd1a410 mite_bytes_read_from_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xa1c63a7a mite_dma_disarm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xd48089cf mite_request_channel_in_range +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xe934fe15 mite_bytes_read_from_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xfb3ba025 mite_list_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x33ad6762 subdev_700_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x70e9192b subdev_700_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x910940f6 subdev_700_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0xfe6d7f6e subdev_700_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/pcm_common 0x2480c8c7 comedi_pcm_cmdtest +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x042d55f4 comedi_loglevel +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x0488ce0e comedi_get_n_ranges +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x0cad1c36 comedi_get_subdevice_type +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x13e3042c comedi_command +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x194eb4ae comedi_get_n_channels +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x1c5555d9 comedi_cancel +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x1ec0e2d3 comedi_get_buf_head_pos +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x22318694 comedi_set_user_int_count +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x262e9c18 comedi_dio_write +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x370d69d5 comedi_dio_read +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x3cb614fc comedi_data_write +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x3db41e4f comedi_poll +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x3de6a4a3 comedi_get_buffer_offset +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x409d3263 comedi_do_insn +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x51da786d comedi_register_callback +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x52769094 comedi_find_subdevice_by_type +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x628ed463 comedi_get_n_subdevices +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x671c2623 comedi_get_buffer_size +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x696272c9 comedi_unlock +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x826bd656 comedi_data_read_delayed +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x8e199bbf comedi_perror +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x8fb4413e comedi_data_read_hint +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x9b266320 comedi_get_krange +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x9dde39b5 comedi_strerror +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xa0334b40 comedi_get_driver_name +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xa094eab0 comedi_get_board_name +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xa7c55c52 comedi_open +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xaa456501 comedi_mark_buffer_read +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xb45b8b7b comedi_mark_buffer_written +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xb5396dad comedi_get_maxdata +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xb5c3ac2a comedi_map +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xc4ec62b3 comedi_get_len_chanlist +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xc7d949df comedi_lock +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xd2a9a259 comedi_get_version_code +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xd46a9468 comedi_dio_config +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xd48facbb comedi_command_test +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xddd89421 comedi_close +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xe2208940 comedi_data_read +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xe38c6fb4 comedi_unmap +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xed5731a4 comedi_get_subdevice_flags +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xefd0c778 comedi_fileno +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xf17e03df comedi_dio_bitfield +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xf71581db comedi_get_buffer_contents +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x13b05e5e cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x1e2519cb cx25821_dev_unregister +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x2278ff04 cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x471e1cfb cx25821_devlist +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x582ef98e cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x67cc5b8b cx25821_sram_channels +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x784853c3 cx25821_print_irqbits +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x9e05feff cx25821_sram_channel_dump +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x9f29907c cx25821_sram_channel_setup +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xb25061bc cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xd1dea060 cx25821_dev_get +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0x253f3d14 vmbus_get_interface +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0x3fe0717e vmbus_child_driver_unregister +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0xc3af681e vmbus_child_driver_register +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0xdf1a5ef6 vmbus_loglevel +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x14d05ef4 iio_class +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x1afa4594 iio_allocate_device +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x3ce8fa88 iio_device_unregister +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x46ea0088 iio_register_interrupt_line +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x739ae300 iio_devt +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x8bcb7b58 iio_read_const_attr +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x8fc02bec iio_push_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x925be768 iio_add_event_to_list +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xb75445d2 iio_remove_event_from_list +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xc333bd58 iio_unregister_interrupt_line +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xcb842df9 __iio_change_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xe5a60398 __iio_push_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xea831a6b iio_get_new_idr_val +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xebc5a780 iio_free_device +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xfcfb4aae iio_free_idr_val +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xfdfa9c38 iio_device_register +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x2706b069 pod_create_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x2bf523b5 variax_remove_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x53ae0e1c variax_create_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0xfc6138de pod_remove_files +EXPORT_SYMBOL drivers/staging/rar/rar_driver 0xf8017f03 get_rar_address +EXPORT_SYMBOL drivers/staging/vme/vme 0x00d7e722 vme_lm_count +EXPORT_SYMBOL drivers/staging/vme/vme 0x072f901c vme_master_rmw +EXPORT_SYMBOL drivers/staging/vme/vme 0x09c8ee6d vme_unregister_bridge +EXPORT_SYMBOL drivers/staging/vme/vme 0x0df85126 vme_generate_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0x0e10859d vme_lm_get +EXPORT_SYMBOL drivers/staging/vme/vme 0x0ec5babe vme_dma_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x16acfb28 vme_request_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0x2b56167f vme_master_request +EXPORT_SYMBOL drivers/staging/vme/vme 0x3f68d4cf vme_lm_set +EXPORT_SYMBOL drivers/staging/vme/vme 0x435705ec vme_bus_type +EXPORT_SYMBOL drivers/staging/vme/vme 0x43e2f154 vme_master_read +EXPORT_SYMBOL drivers/staging/vme/vme 0x48b99a13 vme_lm_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x52da85ed vme_register_bridge +EXPORT_SYMBOL drivers/staging/vme/vme 0x6666140f vme_dma_pci_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0x76bab4d4 vme_master_set +EXPORT_SYMBOL drivers/staging/vme/vme 0x7754663b vme_alloc_consistent +EXPORT_SYMBOL drivers/staging/vme/vme 0x7797a741 vme_dma_vme_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0x7cf35220 vme_master_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x81d0e2d3 vme_unregister_driver +EXPORT_SYMBOL drivers/staging/vme/vme 0x8a114893 vme_free_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL drivers/staging/vme/vme 0x99afb36d vme_dma_list_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x9a434b8a vme_register_driver +EXPORT_SYMBOL drivers/staging/vme/vme 0x9aeb07e8 vme_lm_attach +EXPORT_SYMBOL drivers/staging/vme/vme 0x9d279035 vme_master_write +EXPORT_SYMBOL drivers/staging/vme/vme 0xa09d045f vme_get_size +EXPORT_SYMBOL drivers/staging/vme/vme 0xa96b09f0 vme_new_dma_list +EXPORT_SYMBOL drivers/staging/vme/vme 0xab2d1177 vme_lm_request +EXPORT_SYMBOL drivers/staging/vme/vme 0xadab3e95 vme_dma_list_exec +EXPORT_SYMBOL drivers/staging/vme/vme 0xc65963af vme_slot_get +EXPORT_SYMBOL drivers/staging/vme/vme 0xc8352002 vme_dma_pattern_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0xcc5b0af0 vme_slave_set +EXPORT_SYMBOL drivers/staging/vme/vme 0xcdf1cd73 vme_slave_request +EXPORT_SYMBOL drivers/staging/vme/vme 0xdff905e5 vme_slave_free +EXPORT_SYMBOL drivers/staging/vme/vme 0xe0267ca6 vme_request_dma +EXPORT_SYMBOL drivers/staging/vme/vme 0xe60cbb2f vme_master_get +EXPORT_SYMBOL drivers/staging/vme/vme 0xe61b1e0b vme_slave_get +EXPORT_SYMBOL drivers/staging/vme/vme 0xe8e720dc vme_dma_list_add +EXPORT_SYMBOL drivers/staging/vme/vme 0xeccbeafc vme_dma_free_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0xf1b1bb11 vme_free_consistent +EXPORT_SYMBOL drivers/telephony/ixj 0x5ebf4d30 ixj_pcmcia_probe +EXPORT_SYMBOL drivers/telephony/phonedev 0x1eb0744f phone_register_device +EXPORT_SYMBOL drivers/telephony/phonedev 0xe133ef3a phone_unregister_device +EXPORT_SYMBOL drivers/usb/gadget/dummy_hcd 0x456d879a usb_gadget_register_driver +EXPORT_SYMBOL drivers/usb/gadget/dummy_hcd 0x83b80db7 usb_gadget_unregister_driver +EXPORT_SYMBOL drivers/usb/gadget/dummy_hcd 0xd796ced3 net2280_set_fifo_mode +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x938c6fed 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/usbserial 0xc3322662 usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xf07ccf5e usb_serial_resume +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0xc86baa7c corgibl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x50bf9440 lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0xf2cfac64 lcd_device_unregister +EXPORT_SYMBOL drivers/video/console/bitblit 0x45f58f10 fbcon_set_bitops +EXPORT_SYMBOL drivers/video/console/font 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL drivers/video/console/font 0xbb99125c get_default_font +EXPORT_SYMBOL drivers/video/console/font 0xf7584a9c find_font +EXPORT_SYMBOL drivers/video/console/softcursor 0xc3787796 soft_cursor +EXPORT_SYMBOL drivers/video/console/tileblit 0x46537efd fbcon_set_tileops +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x41a649f7 cyber2000fb_get_fb_var +EXPORT_SYMBOL drivers/video/cyber2000fb 0x81483453 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0xa0ecaf53 cyber2000fb_attach +EXPORT_SYMBOL drivers/video/cyber2000fb 0xac44a336 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/display/display 0x4a368e2d display_device_unregister +EXPORT_SYMBOL drivers/video/display/display 0x4d297708 display_device_register +EXPORT_SYMBOL drivers/video/macmodes 0x08ed0b62 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/macmodes 0x8428e963 mac_find_mode +EXPORT_SYMBOL drivers/video/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x6a123521 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x6c288fb0 matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x7a8beffd g450_mnp2f +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x01cf477c DAC1064_global_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x840d4906 matrox_G100 +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xdf2c1150 matrox_mystique +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xea6c3e9d DAC1064_global_restore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_Ti3026 0x83d78ccb matrox_millennium +EXPORT_SYMBOL drivers/video/matrox/matroxfb_accel 0x76482121 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x6a2fc114 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x81e89f1d matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x8580d902 matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xd779c7e7 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x12e17af3 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x9ad7e1f0 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x05dfdf5c matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x12401a7b matroxfb_read_pins +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x2cc43dae matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xabd8e427 matroxfb_var2my +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xc9e4bf70 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xee0c8681 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/output 0xb6246a13 video_output_unregister +EXPORT_SYMBOL drivers/video/output 0xda86c6dc 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 0x00d1fce9 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/svgalib 0x04baf3a1 svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0x07b3da30 svga_wseq_multi +EXPORT_SYMBOL drivers/video/svgalib 0x1b95c56a svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x1f9a53e8 svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0x2b45580d svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0x63e898d1 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/svgalib 0x6740d660 svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0x680adcf0 svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0x7a3ae959 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x80408443 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0x8fa8438b svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/svgalib 0xa546349e svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0xa74d1f83 svga_tileblit +EXPORT_SYMBOL drivers/video/svgalib 0xab3b22ad svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/svgalib 0xdad682b1 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/svgalib 0xec83c473 svga_match_format +EXPORT_SYMBOL drivers/video/svgalib 0xef774f5d svga_compute_pll +EXPORT_SYMBOL drivers/video/syscopyarea 0xab8fdac7 sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0xd5b74f65 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x6d9869b1 sys_imageblit +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x13b00025 w1_bq27000_write +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x5be93165 w1_bq27000_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x0261b073 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x0ed22a33 w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x17543457 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x5918c1d5 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/wire 0x5f494d3d w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x90c7fcfb w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0xe2bcaa57 w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xe31bb522 w1_add_master_device +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x04e133fc iTCO_vendor_check_noreboot_on +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x672c9d44 iTCO_vendor_pre_keepalive +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xa78bd894 iTCO_vendor_pre_set_heartbeat +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xa8d6daac iTCO_vendor_pre_start +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xd0efe320 iTCO_vendor_pre_stop +EXPORT_SYMBOL fs/configfs/configfs 0x02b180d6 config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x07ae6098 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x31ce428c configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x6030c8ff config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0x6b64dfed configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x7935d7eb configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x7994fd20 config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0xa0683287 config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xa9468e4c config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0xb702caf3 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0xf11e92b0 config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0xf17ac4dd config_item_init +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x10195bac __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x2b065e58 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x370fecf0 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x399a839b fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x44942984 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x475d30d8 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x496932b9 fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x4eef1bf8 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x570b2a0f fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x63631a29 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x63f96884 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x73b94e46 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x8528a382 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x98a7354c fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x996b6a1a __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x9b3e9a11 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xa0f53147 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0xa18d4143 __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xafa4655c __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xb42a533d __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xc0f3a1fe __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0xd2417065 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0xde67194d __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xe1d6efaf __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xe6ef46be fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0xe728a183 __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xe903bdc9 fscache_object_slow_work_ops +EXPORT_SYMBOL fs/fscache/fscache 0xedd353a2 fscache_check_aux +EXPORT_SYMBOL fs/nfsd/nfsd 0x1f573533 nfs4_acl_posix_to_nfsv4 +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 0x96ce9bb4 nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0xdb389aec nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/quota/quota_tree 0x23da5e85 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x31035955 qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x7596d97d qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xaaaec9ca qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xaec9027f qtree_delete_dquot +EXPORT_SYMBOL lib/crc-ccitt 0x651c2313 crc_ccitt +EXPORT_SYMBOL lib/crc-ccitt 0x75811312 crc_ccitt_table +EXPORT_SYMBOL lib/crc-itu-t 0x276c7e62 crc_itu_t +EXPORT_SYMBOL lib/crc-itu-t 0xd29b009f crc_itu_t_table +EXPORT_SYMBOL lib/crc7 0xc086bfba crc7 +EXPORT_SYMBOL lib/crc7 0xd80c3603 crc7_syndrome_table +EXPORT_SYMBOL lib/libcrc32c 0x27000b29 crc32c +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 0xf0caf44b zlib_deflate_workspacesize +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL net/802/p8023 0xa2bb0a65 destroy_8023_client +EXPORT_SYMBOL net/802/p8023 0xe94c7956 make_8023_client +EXPORT_SYMBOL net/9p/9pnet 0x00477940 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x0b3ac49a p9pdu_dump +EXPORT_SYMBOL net/9p/9pnet 0x0f16d356 p9_client_version +EXPORT_SYMBOL net/9p/9pnet 0x1212294b p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x244c6d40 p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x2b560613 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x31a6ba49 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x3da35774 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x41e6bc51 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x459d9a68 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x46acb4f2 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x47a4357b p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x4fa9952f p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x5b404193 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x5e0ef374 p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0x61852dea p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0x683efc21 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x6c5e479c p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0x76b79bf1 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x7e033f30 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x99817082 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xbaa17b44 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xc42255b0 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xcafe9e7f p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0xd0af5654 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0xd4c9b2f6 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe69ae13c p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0xf691b9a6 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0xf9dcf532 p9_client_auth +EXPORT_SYMBOL net/appletalk/appletalk 0x019514e4 alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0xa8faee95 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0xf3088c94 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xfb2c5f0f atalk_find_dev_addr +EXPORT_SYMBOL net/atm/atm 0x0c3094c7 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x162c9caf atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x1a24e5e2 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0x1f71392b register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x2980e343 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x6d1ced27 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x7472bf89 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x86db60ed atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x89195dc3 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xdaa05844 atm_charge +EXPORT_SYMBOL net/atm/atm 0xeb8fe9f9 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xf3f64c80 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xfbc1f25e atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0xfd74277f atm_dev_deregister +EXPORT_SYMBOL net/ax25/ax25 0x18169d71 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x1dbc5308 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x3d2d82ec ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x3e8d8fcd ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x5fc6280f ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x611ff405 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x7a5056d5 ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x8406f68e ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x8c174938 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xacd21d81 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xe3192f0b ax25_rebuild_header +EXPORT_SYMBOL net/bluetooth/bluetooth 0x021dff94 hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0x086f6f13 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x08e87bb4 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0c382c7e hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x11e41283 hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x21ee3faa bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x299b2a6f bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2ee77b11 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4eadb9b6 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0x59fc263f hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5ed15300 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x67d91179 hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6aedd17e hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7094f8ae bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x789c73cd bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x78a51057 hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x803b2d33 hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0x807f2d5b hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x90ced164 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x91ed9ced hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x95dc0586 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9b8c27ea hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9c717918 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd484e830 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd5f2b2c7 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdbbeb5de hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe4ce7230 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe4d7c02e hci_unregister_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0xeb57e806 hci_register_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0xebd39592 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfa3181b0 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfd87af98 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/l2cap 0xfc31fe88 l2cap_load +EXPORT_SYMBOL net/bridge/bridge 0xe310f332 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x028e0e42 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x2c832128 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xef7d575e ebt_do_table +EXPORT_SYMBOL net/can/can 0x0340bdb6 can_proto_unregister +EXPORT_SYMBOL net/can/can 0x13d211c9 can_rx_register +EXPORT_SYMBOL net/can/can 0x14c0942f can_proto_register +EXPORT_SYMBOL net/can/can 0xad10a5ab can_rx_unregister +EXPORT_SYMBOL net/can/can 0xd9c0b202 can_send +EXPORT_SYMBOL net/ieee802154/nl802154 0x1febee3a ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0x672d5584 ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x86c51983 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0xa22c8b57 ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0xa61fd445 ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0xbaa59f7b ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0xc43b48ee ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/wpan-class 0x615a3f51 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/wpan-class 0x74a150e2 wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/wpan-class 0x936ff593 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/wpan-class 0xc7ccc852 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/wpan-class 0xd36876be wpan_phy_find +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x063bc99c arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x8f889c8e arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xef240b60 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x43f10c54 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x9862092e ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xb1b8fdef ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x0fa235a5 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x30bef2ee nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x330f5d41 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x4300c4fc nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x62487fbe nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x796b7559 nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xbb8d5a45 nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/tunnel4 0xbe208351 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xc63652b7 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x406efef6 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x46bb4f92 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x495b596b ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x67cca25b ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb8bddf33 ip6t_ext_hdr +EXPORT_SYMBOL net/ipv6/tunnel6 0x11fe6570 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0xd7c6d598 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x9cd013f2 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xab14e193 xfrm6_tunnel_free_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xdb1b42d1 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x0aa1aea8 ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x1a484985 ircomm_flow_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x591aecae ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x76f270f5 ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xb5497aba ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xd6ddf453 ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xe6e4fcb4 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xf99b06c2 ircomm_data_request +EXPORT_SYMBOL net/irda/irda 0x01d1fcdb hashbin_delete +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x072e026f irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x088e325a async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x1891b27a irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x30ee6f7a irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x3462950f hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x375ffda8 irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0x3853fc22 irttp_dup +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x448b8aaa irda_qos_bits_to_value +EXPORT_SYMBOL net/irda/irda 0x4647e21b iriap_close +EXPORT_SYMBOL net/irda/irda 0x46c1c4a2 irlmp_unregister_service +EXPORT_SYMBOL net/irda/irda 0x4712f503 iriap_getvaluebyclass_request +EXPORT_SYMBOL net/irda/irda 0x49ee683b irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0x50513092 irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0x5811e2f9 alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0x6758f8ac irias_new_object +EXPORT_SYMBOL net/irda/irda 0x68b7447c hashbin_find +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 0x7409adf3 proc_irda +EXPORT_SYMBOL net/irda/irda 0x747d6779 irias_delete_object +EXPORT_SYMBOL net/irda/irda 0x7621e908 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0x76243bc9 irias_insert_object +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +EXPORT_SYMBOL net/irda/irda 0x76f6d4de irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0x781e2db5 irias_find_object +EXPORT_SYMBOL net/irda/irda 0x7957f728 irlmp_update_client +EXPORT_SYMBOL net/irda/irda 0x7a57b6f3 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x8c58b01c irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0x8dd71668 irda_notify_init +EXPORT_SYMBOL net/irda/irda 0x8df80972 irlap_close +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x92818aed irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x97706328 async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0xadad86e9 iriap_open +EXPORT_SYMBOL net/irda/irda 0xb075cfc6 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 0xbfff0af0 irlap_open +EXPORT_SYMBOL net/irda/irda 0xc14e9b6a hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0xc3541a6f irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0xcd41236c hashbin_new +EXPORT_SYMBOL net/irda/irda 0xce3fe73b irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0xd6879445 irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0xd6deeaae irda_setup_dma +EXPORT_SYMBOL net/irda/irda 0xd7172ff4 hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0xd8bfb6d4 hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xe5260e0e irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0xec41fe7f irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xee1323a9 irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0xf7b865de irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0xff9c2aa7 irda_device_set_media_busy +EXPORT_SYMBOL net/lapb/lapb 0x09df2e3a lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x188fecf7 lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x2a74cf53 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x7ab4745f lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0xa350a826 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0xd4c71a9a lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0xd54912a0 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0xf3290593 lapb_connect_request +EXPORT_SYMBOL net/mac80211/mac80211 0x0dfed450 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x122c7e69 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x1c5811e3 ieee80211_beacon_get +EXPORT_SYMBOL net/mac80211/mac80211 0x1d124190 ieee80211_get_tkip_key +EXPORT_SYMBOL net/mac80211/mac80211 0x26984fe9 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x320e7f3e ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x423055a2 ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0x4e5c84e3 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x542abea2 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x5568d491 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x57cbe8f8 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x71673239 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x7567d992 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x799c12b8 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x871a2bc8 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x8d21a2ca ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x9767d983 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x989b4cf5 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x98e5e6aa ieee80211_stop_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0x9c674e7a ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x9d329ddc ieee80211_start_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0x9fdf2451 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xa17f1872 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0xa7a4f3fa ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xa7a86972 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xa9e78ae0 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xad458c96 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xafb6d53c ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xb2b8d401 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xb8c8d3fc ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xc0d1c095 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xc511765b ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xc9a2e082 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xd9a05db4 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xdd224ba3 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xe377b38f ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xe56d0130 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xe8abe42d ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xf10176ee ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xf17c542b ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0xf4618462 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x085f43fb ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x131cadfe ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x161c4350 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3eb770e7 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x552febf5 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7000af55 ip_vs_skb_replace +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa1dbc2d8 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xcdc5488f register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd0a9b78a ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd3b0b174 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe2edce72 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xf2e59352 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x1e40951a __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xb92e435a __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x11347795 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x16a5e826 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x1b370804 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x1e9f9594 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x383a2afb xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x4d97357b xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x92a5c60d xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xb2501052 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xb2b74917 xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0xc3ff5dff xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xd6189e9a xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0xe233fff2 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xe6fcbac0 xt_unregister_target +EXPORT_SYMBOL net/phonet/phonet 0x2a24fa65 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x719d0fdc phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x7cc917cc phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x8a5c2290 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x911f9cd5 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0xa4c82e4d pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0xb13ae1d1 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0xbd39dcc0 pn_sock_get_port +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x0aec3819 rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x2ff0d0be rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x3c8fcf78 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x4f70ba5d rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x782c64e5 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x827635fa rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x9d8a82a2 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xa895e287 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xb27f65d4 rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xc4113e16 rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xc6400174 rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xd18ed318 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xeddbe57d rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xf1439979 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xfd05e6f1 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/sunrpc/sunrpc 0xc2acfbc8 svc_pool_stats_open +EXPORT_SYMBOL net/tipc/tipc 0x079edab6 tipc_createport_raw +EXPORT_SYMBOL net/tipc/tipc 0x08acf310 tipc_available_nodes +EXPORT_SYMBOL net/tipc/tipc 0x0b074a7b tipc_multicast +EXPORT_SYMBOL net/tipc/tipc 0x0e0e8a08 tipc_recv_msg +EXPORT_SYMBOL net/tipc/tipc 0x10d40fcd tipc_isconnected +EXPORT_SYMBOL net/tipc/tipc 0x1472b270 tipc_disconnect +EXPORT_SYMBOL net/tipc/tipc 0x1479cb03 tipc_deleteport +EXPORT_SYMBOL net/tipc/tipc 0x15b5ecde tipc_set_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x16f27683 tipc_block_bearer +EXPORT_SYMBOL net/tipc/tipc 0x23daecbd tipc_send +EXPORT_SYMBOL net/tipc/tipc 0x259b74f9 tipc_acknowledge +EXPORT_SYMBOL net/tipc/tipc 0x2ec9a242 tipc_createport +EXPORT_SYMBOL net/tipc/tipc 0x310d1bc9 tipc_detach +EXPORT_SYMBOL net/tipc/tipc 0x3712e340 tipc_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x3976041f tipc_set_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x419b02fc tipc_send2port +EXPORT_SYMBOL net/tipc/tipc 0x4b2243c6 tipc_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x538b228a tipc_withdraw +EXPORT_SYMBOL net/tipc/tipc 0x54904ff1 tipc_forward_buf2name +EXPORT_SYMBOL net/tipc/tipc 0x5637ed44 tipc_get_mode +EXPORT_SYMBOL net/tipc/tipc 0x56e52bc1 tipc_continue +EXPORT_SYMBOL net/tipc/tipc 0x5c0d4b5c tipc_ref_valid +EXPORT_SYMBOL net/tipc/tipc 0x62a681a3 tipc_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0x65e8c06d tipc_forward_buf2port +EXPORT_SYMBOL net/tipc/tipc 0x8829cbd4 tipc_register_media +EXPORT_SYMBOL net/tipc/tipc 0x88b73627 tipc_get_addr +EXPORT_SYMBOL net/tipc/tipc 0x8f2c8990 tipc_reject_msg +EXPORT_SYMBOL net/tipc/tipc 0x9c45558e tipc_enable_bearer +EXPORT_SYMBOL net/tipc/tipc 0xa1b42d32 tipc_forward2port +EXPORT_SYMBOL net/tipc/tipc 0xa936a24b tipc_get_port +EXPORT_SYMBOL net/tipc/tipc 0xadd203d0 tipc_connect2port +EXPORT_SYMBOL net/tipc/tipc 0xae0103c3 tipc_shutdown +EXPORT_SYMBOL net/tipc/tipc 0xb1f8eacc tipc_send2name +EXPORT_SYMBOL net/tipc/tipc 0xb35b672c tipc_publish +EXPORT_SYMBOL net/tipc/tipc 0xcec8514a tipc_set_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0xcee290be tipc_forward2name +EXPORT_SYMBOL net/tipc/tipc 0xd15ab0b4 tipc_send_buf2name +EXPORT_SYMBOL net/tipc/tipc 0xd44731e5 tipc_ownidentity +EXPORT_SYMBOL net/tipc/tipc 0xd7069dd1 tipc_send_buf2port +EXPORT_SYMBOL net/tipc/tipc 0xda7f9d3f tipc_attach +EXPORT_SYMBOL net/tipc/tipc 0xdf5008fc tipc_peer +EXPORT_SYMBOL net/tipc/tipc 0xe5d3a569 tipc_send_buf +EXPORT_SYMBOL net/tipc/tipc 0xe7aece47 tipc_ispublished +EXPORT_SYMBOL net/tipc/tipc 0xe9ca240d tipc_send_buf_fast +EXPORT_SYMBOL net/tipc/tipc 0xeefd49b3 tipc_get_handle +EXPORT_SYMBOL net/tipc/tipc 0xef50a1ef tipc_disable_bearer +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0x29ad5b06 register_wan_device +EXPORT_SYMBOL net/wimax/wimax 0xcb3fcfd4 wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0xd876a083 wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x05b23420 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x07e7ac5a ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x0a04ca3b __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x13de4dd2 cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x26a7bb0d regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x26b82c27 cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x2b1b704f wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x34d7e201 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x35eabf61 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x37ac8d05 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x3cac442f cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0x49075e06 cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0x4eaf5d39 cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0x500b0330 cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x5084feeb wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x5498af4d wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0x54fee7fa cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x5bed9ed3 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x7280ee96 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x730d5a07 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x7874a76c cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3fddc1 ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x871147a0 cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x88421bd7 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x891e1a99 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x8c35d732 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x9f825acb cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0xa27e0b3c cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xa56a143b ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xa6df31d7 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0xa8a0b477 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xb09110c8 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xb57726c9 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xba722d99 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0xc307130f cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xc4aa671e wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xc4e85ec5 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xccc291b3 ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0xd3d4c12b cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0xe415d963 wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0xe49f8244 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xe8f8fcc7 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xfab0eff4 cfg80211_roamed +EXPORT_SYMBOL net/wireless/lib80211 0x1bbff969 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x230f3ffb lib80211_crypt_deinit_handler +EXPORT_SYMBOL net/wireless/lib80211 0x264ac0f8 lib80211_crypt_deinit_entries +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x8c877de4 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x8d1d7491 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x8e671760 lib80211_crypt_quiescing +EXPORT_SYMBOL net/wireless/lib80211 0x9af551b7 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0xbb8a17ee lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0xf49a15c2 lib80211_unregister_crypto_ops +EXPORT_SYMBOL sound/ac97_bus 0xf8f9396b ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0xcf3bb328 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 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x57aabdbd 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 0x89947013 snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0xa09239ef snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xaf1d016b snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xcac0a3be snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0xf32ae979 snd_seq_kernel_client_enqueue_blocking +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x2f230c3f 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 0x99f4012a 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 0x17c15809 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x4ad3f518 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x62384d3a snd_midi_event_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x8a348811 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x9df7af8b snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xc482499d snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xd9072e1a snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe6df29c7 snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0xc97c2cc6 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x086657e2 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x0fbd6eea snd_seq_root +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 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x2ae3deaa release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0x33387554 snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0x336b0339 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x356c19de snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x35b63635 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x36883d88 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x36f8020a snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3a414c05 snd_card_free +EXPORT_SYMBOL sound/core/snd 0x3fd6dd66 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4e9e390f snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x518bb7f8 copy_from_user_toio +EXPORT_SYMBOL sound/core/snd 0x56299560 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x58e4e978 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x67a102f8 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x765d7299 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x7f8796d4 snd_device_register +EXPORT_SYMBOL sound/core/snd 0x82b2e288 snd_component_add +EXPORT_SYMBOL sound/core/snd 0x87ab18cf snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x8888841f snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x9272d45c snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x947cda32 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x9b1fe530 snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0x9f5974dd snd_info_register +EXPORT_SYMBOL sound/core/snd 0xa30db9f0 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0xa56761ea snd_card_register +EXPORT_SYMBOL sound/core/snd 0xa65948f6 snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0xa890453a _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb8bbef7c snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0xbb29005a snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0xc1237a8e snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0xc599d935 snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0xc7799855 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0xc89d0558 snd_device_new +EXPORT_SYMBOL sound/core/snd 0xd25cd381 snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0xd3479e67 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0xd9fa670d snd_device_free +EXPORT_SYMBOL sound/core/snd 0xdc98a912 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0xdf6e82a3 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0xe11c5317 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0xe20c9214 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0xe243dde3 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0xe256a48f snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0xe33b1431 snd_cards +EXPORT_SYMBOL sound/core/snd 0xe93a3949 snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0xef7b4a35 snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0xf8f0987f snd_card_create +EXPORT_SYMBOL sound/core/snd 0xfe3c23c9 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0xffb5684a snd_jack_report +EXPORT_SYMBOL sound/core/snd 0xfffb2d43 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd-hwdep 0xb6a48e4e snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x14af11ae snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x19cc2ce3 snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x5543642b snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0x96cf8962 snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0xc6829020 snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xd34a4171 snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xfd75b57d snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x07cfcab5 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x0baff000 snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0x11bc5b9e snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x138aba97 snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x1426ad0e snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x1db5add3 snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0x1e4ae96e snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0x20b2b856 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x258319ae snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x2fe8b1e7 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x37ae4548 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x467fad41 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x4b54677c snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x4fc6812a snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x54ebb0dd snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x5a519621 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x5af068b9 snd_pcm_sgbuf_ops_page +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x613fec92 snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x6708cc85 snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x6a92b62d snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x79c46733 snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0x7ba22132 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x840b9e14 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x88cc66cc snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0x8a7f10f7 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x8da70e50 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x8e926196 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x9392f09f snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0xa23d5223 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xb106ee27 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xb65db154 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xd0b9b8b8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0xd2b12657 snd_pcm_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-pcm 0xd2b13e84 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0xd4376189 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0xddde43b7 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xdff3d782 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0xe51a1c64 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xeb4a0f1e snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xeccc6e0d snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xf5631218 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0xf5f81e49 snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0dfc5607 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1435550e snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x15014a78 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1c0fec18 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1c9fa137 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x24c3ff79 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3e868aa6 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3fb48a42 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x43c7ad0e snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4f7c9907 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5fb62ed6 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x66ccf04f snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7c8bafa7 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x9c473ed7 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0xdbd1bb01 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe0049e04 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xfc33e146 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-timer 0x0c03d75e snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0x238e02a3 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x4d50cd6f snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x5ebc1b54 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0x685d7079 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0x7bd41b62 snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0x7fb2bd7d snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x84d2ad9e snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0xa982f662 snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0xcae90537 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0xd1517916 snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0xe88e69c0 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0xf6a31408 snd_timer_global_register +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x4bbb7f27 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xb7cf2711 snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc43a3940 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x0089ddc2 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x262f0de9 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x283d46d0 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x2a218180 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x30092e60 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x709f48ff snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7142c441 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x8a106199 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xd2496fbb snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x2def93dd snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x34a01927 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x45f59df7 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x61ee1548 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x99b88ede snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xc0bc43a8 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xd31f404e snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xedad2758 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xee9a4f55 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xfbd40606 snd_vx_setup_firmware +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x5a449905 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x79a562b1 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x9217b72a snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xa69e4568 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xcbccc619 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xd2929df4 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x158c6808 snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x3d4542bd snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x761a2844 snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xab5c349c snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xc6a45832 snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xf4ee59a3 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x3c5212a0 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x5051dbeb snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x517dc9f0 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x71073c98 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x2261511c snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xb2cda088 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x84a5d660 snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0xadfdfcb5 snd_tea575x_init +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x385061b1 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x9a60e6ff snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xa3d90865 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xe23a0aa5 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xf3f767ac snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-i2c 0x037ec012 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x8b24c059 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x98ff425f snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xca50b88c snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xf5619220 snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0xface366e snd_i2c_device_free +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x03ce20ef snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x3e766e66 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x3f93ada0 snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x44167b64 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x7e137191 snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x81ae5a0e snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x88a57212 snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x9c529e71 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xeb2770a8 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xf2c6ed2b snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x36538465 snd_sb16dsp_get_pcm_ops +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xa6947cb1 snd_sb16dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xa91df509 snd_sb16dsp_configure +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xc57f5b54 snd_sb16dsp_interrupt +EXPORT_SYMBOL sound/oss/ad1848 0x26c427ee ad1848_detect +EXPORT_SYMBOL sound/oss/ad1848 0x4624688c ad1848_init +EXPORT_SYMBOL sound/oss/ad1848 0x55262c70 probe_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0x9bf1cc62 ad1848_unload +EXPORT_SYMBOL sound/oss/ad1848 0xb29a9148 unload_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0xc04f6f67 ad1848_control +EXPORT_SYMBOL sound/oss/ad1848 0xd8eb3e68 attach_ms_sound +EXPORT_SYMBOL sound/oss/mpu401 0x5febf284 unload_mpu401 +EXPORT_SYMBOL sound/oss/mpu401 0xbc3b01cd attach_mpu401 +EXPORT_SYMBOL sound/oss/mpu401 0xd9ec5db4 probe_mpu401 +EXPORT_SYMBOL sound/oss/sb_lib 0x42424109 sb_be_quiet +EXPORT_SYMBOL sound/oss/sb_lib 0x450f9aea smw_free +EXPORT_SYMBOL sound/oss/sb_lib 0x45c571fc probe_sbmpu +EXPORT_SYMBOL sound/oss/sb_lib 0x74afd69c unload_sbmpu +EXPORT_SYMBOL sound/oss/sb_lib 0x9609e0aa sb_dsp_init +EXPORT_SYMBOL sound/oss/sb_lib 0xc4884969 sb_dsp_unload +EXPORT_SYMBOL sound/oss/sb_lib 0xd8a2731c sb_dsp_detect +EXPORT_SYMBOL sound/oss/sound 0x04c87ec8 compute_finetune +EXPORT_SYMBOL sound/oss/sound 0x06339815 sound_unload_synthdev +EXPORT_SYMBOL sound/oss/sound 0x0f280035 conf_printf +EXPORT_SYMBOL sound/oss/sound 0x17ba231d seq_input_event +EXPORT_SYMBOL sound/oss/sound 0x1b3df3cf sound_alloc_mixerdev +EXPORT_SYMBOL sound/oss/sound 0x1b8f1435 sound_install_mixer +EXPORT_SYMBOL sound/oss/sound 0x1f395686 MIDIbuf_avail +EXPORT_SYMBOL sound/oss/sound 0x2161d5e8 sound_timer_init +EXPORT_SYMBOL sound/oss/sound 0x2aa31695 midi_synth_kill_note +EXPORT_SYMBOL sound/oss/sound 0x394cb088 sound_free_dma +EXPORT_SYMBOL sound/oss/sound 0x418f5fbe sound_close_dma +EXPORT_SYMBOL sound/oss/sound 0x4cd01bdd num_audiodevs +EXPORT_SYMBOL sound/oss/sound 0x4ff47e9d midi_synth_setup_voice +EXPORT_SYMBOL sound/oss/sound 0x51e354b2 sound_alloc_timerdev +EXPORT_SYMBOL sound/oss/sound 0x56504ca2 midi_synth_reset +EXPORT_SYMBOL sound/oss/sound 0x5d986fc9 note_to_freq +EXPORT_SYMBOL sound/oss/sound 0x7679ee76 seq_copy_to_input +EXPORT_SYMBOL sound/oss/sound 0x7bdf0907 conf_printf2 +EXPORT_SYMBOL sound/oss/sound 0x86ff299d sound_timer_devs +EXPORT_SYMBOL sound/oss/sound 0x892093e0 midi_synth_controller +EXPORT_SYMBOL sound/oss/sound 0x90bd9714 sequencer_timer +EXPORT_SYMBOL sound/oss/sound 0x987bcf12 DMAbuf_outputintr +EXPORT_SYMBOL sound/oss/sound 0x9a95733f sound_alloc_dma +EXPORT_SYMBOL sound/oss/sound 0x9bdaf24d midi_synth_start_note +EXPORT_SYMBOL sound/oss/sound 0x9d845b18 num_mixers +EXPORT_SYMBOL sound/oss/sound 0xa1d5f04f load_mixer_volumes +EXPORT_SYMBOL sound/oss/sound 0xa1eae7cf num_midis +EXPORT_SYMBOL sound/oss/sound 0xa41ead5f sound_unload_timerdev +EXPORT_SYMBOL sound/oss/sound 0xa51c913b sound_unload_mixerdev +EXPORT_SYMBOL sound/oss/sound 0xa6bb414c sound_unload_mididev +EXPORT_SYMBOL sound/oss/sound 0xa948751e sound_unload_audiodev +EXPORT_SYMBOL sound/oss/sound 0xaacb64b9 audio_devs +EXPORT_SYMBOL sound/oss/sound 0xad45df73 midi_synth_close +EXPORT_SYMBOL sound/oss/sound 0xad48861a synth_devs +EXPORT_SYMBOL sound/oss/sound 0xaef743b2 midi_synth_ioctl +EXPORT_SYMBOL sound/oss/sound 0xb14b22cd midi_synth_hw_control +EXPORT_SYMBOL sound/oss/sound 0xb51587f6 do_midi_msg +EXPORT_SYMBOL sound/oss/sound 0xba413f87 sound_alloc_mididev +EXPORT_SYMBOL sound/oss/sound 0xba7dd041 midi_synth_bender +EXPORT_SYMBOL sound/oss/sound 0xc748d109 sound_alloc_synthdev +EXPORT_SYMBOL sound/oss/sound 0xcab4d5bf midi_synth_load_patch +EXPORT_SYMBOL sound/oss/sound 0xcc4b8797 sound_open_dma +EXPORT_SYMBOL sound/oss/sound 0xd85be938 midi_synth_set_instr +EXPORT_SYMBOL sound/oss/sound 0xd8626d3d sound_install_audiodrv +EXPORT_SYMBOL sound/oss/sound 0xdb400afa midi_synth_panning +EXPORT_SYMBOL sound/oss/sound 0xe056b71c DMAbuf_start_dma +EXPORT_SYMBOL sound/oss/sound 0xe2675a79 sound_timer_interrupt +EXPORT_SYMBOL sound/oss/sound 0xeb315d99 DMAbuf_inputintr +EXPORT_SYMBOL sound/oss/sound 0xed565e80 midi_devs +EXPORT_SYMBOL sound/oss/sound 0xf046b91e mixer_devs +EXPORT_SYMBOL sound/oss/sound 0xf1ea8a20 midi_synth_aftertouch +EXPORT_SYMBOL sound/oss/sound 0xf6b3a2fb midi_synth_open +EXPORT_SYMBOL sound/oss/sound 0xf78f6363 sequencer_init +EXPORT_SYMBOL sound/oss/sound 0xfa6871be sound_timer_syncinterval +EXPORT_SYMBOL sound/oss/sound 0xfddcbfb3 midi_synth_send_sysex +EXPORT_SYMBOL sound/oss/uart401 0x049cd8b7 uart401intr +EXPORT_SYMBOL sound/oss/uart401 0x12a7b2a9 probe_uart401 +EXPORT_SYMBOL sound/oss/uart401 0xecfdd9c9 unload_uart401 +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x08c5c7da snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x12952a24 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x33634ec3 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x3c82a669 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x43bab2ea snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x49efa3fa snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x512cacf7 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x79222faf snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x81bd7faf snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8636c5ff snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x93c01225 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xad3b3e42 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb22daa08 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb7e6889a snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd9120d8c snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe68cde03 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xee6042b3 snd_ac97_update +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x28581cd0 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x3408bfef snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x54187668 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x71c5ad82 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x9c1eef4b snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xb736a06d snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xdc132a56 snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xe45df4a3 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xf4bbc4fa snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0xa8ab69f7 snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xddc973a1 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xebbe58c7 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xf2eac5b5 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x0dfcb762 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x16b29596 oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x59859d13 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x5b3300a3 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x6613bad2 oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x6de0b2d2 oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7bae6631 oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7f61372f oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x8c18ee6d oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa1eb6c59 oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa9eb5b06 oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xbba08178 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc7639e24 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd4a971a7 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe2313681 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe6f20ae7 oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xeaaf0fbe oxygen_pci_resume +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xed8e7b07 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xedfd3cc4 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xfdb298d7 oxygen_pci_suspend +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x0e81e11d snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x154f0358 snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x2b749b35 snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x63ac2517 snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xa559115f snd_trident_start_voice +EXPORT_SYMBOL sound/soc/codecs/snd-soc-uda134x 0xfdcbf802 uda134x_dai +EXPORT_SYMBOL sound/sound_firmware 0x39e3dd23 mod_firmware_load +EXPORT_SYMBOL sound/soundcore 0x24420355 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x732af479 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x773d64b7 sound_class +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xcb1b04ef register_sound_midi +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xcdc7e3db register_sound_special +EXPORT_SYMBOL sound/soundcore 0xf81ac2c4 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x135bbfbc snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x1686fedb snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x7226fca8 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xcfb54cf1 snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xe0c5f2bd snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xeecb9fc6 snd_emux_register +EXPORT_SYMBOL sound/synth/snd-util-mem 0x1c70e905 snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x1edb55af snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x20f5804b snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x3473ceed __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x73f507eb snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0x7e8afa30 snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xaf732cf4 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xc77893d0 __snd_util_memblk_new +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usb-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL sound/usb/snd-usb-lib 0xdc2fa853 snd_usb_create_midi_interface +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x0c90d121 dm_mem_cache_shrink +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x24eba0a3 dm_mem_cache_client_destroy +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x5079558f dm_mem_cache_client_create +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x707ed102 dm_mem_cache_grow +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x920a7a41 dm_message_parse +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0xa4fcc197 dm_mem_cache_free +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0xf899a65e dm_mem_cache_alloc +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0xb971a556 lirc_register_driver +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0xcc82c68c lirc_get_pdata +EXPORT_SYMBOL vmlinux 0x00000000 per_cpu__softirq_work_list +EXPORT_SYMBOL vmlinux 0x0000e6ec __lock_buffer +EXPORT_SYMBOL vmlinux 0x000ca49d scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x000e4268 devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0x00206af9 qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0x002f7245 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x00379795 skb_insert +EXPORT_SYMBOL vmlinux 0x0055fdb0 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x00572541 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x0062d588 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x006862bd nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x00852045 input_filter_device +EXPORT_SYMBOL vmlinux 0x009c2dbf scsi_reset_provider +EXPORT_SYMBOL vmlinux 0x009d258f _write_lock +EXPORT_SYMBOL vmlinux 0x00b739a1 dev_add_pack +EXPORT_SYMBOL vmlinux 0x00bd82b0 unbind_con_driver +EXPORT_SYMBOL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL vmlinux 0x00e1091f set_pages_nx +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x0101071f blk_queue_max_hw_segments +EXPORT_SYMBOL vmlinux 0x014d3a73 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x015af3ea arch_acpi_processor_init_pdc +EXPORT_SYMBOL vmlinux 0x0186d073 percpu_counter_set +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x01a0bbab inode_init_once +EXPORT_SYMBOL vmlinux 0x01a183b7 sk_stream_error +EXPORT_SYMBOL vmlinux 0x01a4aab6 set_irq_chip_data +EXPORT_SYMBOL vmlinux 0x01d19038 acpi_enable_subsystem +EXPORT_SYMBOL vmlinux 0x01eb49aa noop_qdisc +EXPORT_SYMBOL vmlinux 0x01ff7835 bd_claim +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x021de2e3 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x0237b57a arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x0238950a dqget +EXPORT_SYMBOL vmlinux 0x0256389f bit_waitqueue +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x0277fa0c netpoll_setup +EXPORT_SYMBOL vmlinux 0x027d4204 security_path_truncate +EXPORT_SYMBOL vmlinux 0x0280ec8d dma_pool_free +EXPORT_SYMBOL vmlinux 0x029444f0 native_read_tsc +EXPORT_SYMBOL vmlinux 0x0298d368 kobject_init +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02aff2f4 acpi_install_gpe_handler +EXPORT_SYMBOL vmlinux 0x02c059ac unregister_filesystem +EXPORT_SYMBOL vmlinux 0x02c40853 textsearch_unregister +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02e8a4d8 jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0x030b8485 nf_hook_slow +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x0340d0e1 acpi_pci_osc_control_set +EXPORT_SYMBOL vmlinux 0x0340e0ae schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x0353085e scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x037baccd eth_header_cache +EXPORT_SYMBOL vmlinux 0x03a0960f pci_choose_state +EXPORT_SYMBOL vmlinux 0x03b41135 vc_cons +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03fce771 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x0409e1cf scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x043b0bec tcp_prot +EXPORT_SYMBOL vmlinux 0x046f5510 kernel_listen +EXPORT_SYMBOL vmlinux 0x04866449 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x0486e455 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x04927208 cpu_active_mask +EXPORT_SYMBOL vmlinux 0x04a6eace iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x04b0b0f2 open_bdev_exclusive +EXPORT_SYMBOL vmlinux 0x04cb4730 swiotlb_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0x04d073c5 get_io_context +EXPORT_SYMBOL vmlinux 0x04d4c837 cdrom_release +EXPORT_SYMBOL vmlinux 0x04d8c750 release_perfctr_nmi +EXPORT_SYMBOL vmlinux 0x04de5dfd dma_pool_destroy +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x054433da acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0x05630868 sk_stop_timer +EXPORT_SYMBOL vmlinux 0x0592e13b iput +EXPORT_SYMBOL vmlinux 0x05d46a07 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x05dff25d input_unregister_handle +EXPORT_SYMBOL vmlinux 0x05ed045b arp_xmit +EXPORT_SYMBOL vmlinux 0x060b0782 phy_register_fixup +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x061f131d pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x062a7d1b tcf_action_exec +EXPORT_SYMBOL vmlinux 0x062f49c2 dev_close +EXPORT_SYMBOL vmlinux 0x0631c26b misc_deregister +EXPORT_SYMBOL vmlinux 0x0652fba1 pci_write_vpd +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x068c7263 ioremap_cache +EXPORT_SYMBOL vmlinux 0x06a485f2 __krealloc +EXPORT_SYMBOL vmlinux 0x06ab9803 clip_tbl_hook +EXPORT_SYMBOL vmlinux 0x06bf9a55 rt6_lookup +EXPORT_SYMBOL vmlinux 0x06ca1f8e inode_set_bytes +EXPORT_SYMBOL vmlinux 0x06d728b1 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x06f271a7 fb_show_logo +EXPORT_SYMBOL vmlinux 0x06f4f9cf blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x0706039b simple_fsync +EXPORT_SYMBOL vmlinux 0x0716b5d5 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x07228a90 dma_find_channel +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x0739b7ab register_filesystem +EXPORT_SYMBOL vmlinux 0x073dfa12 generate_resume_trace +EXPORT_SYMBOL vmlinux 0x075583e2 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x07794292 bdi_destroy +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x0799c50a param_set_ulong +EXPORT_SYMBOL vmlinux 0x07a079de security_path_unlink +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07c84dd6 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07ceca16 skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x07d5c76a jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x07e06587 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x0824d939 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x0827ca0c find_inode_number +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x0830f841 blkdev_get +EXPORT_SYMBOL vmlinux 0x085bc461 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x08b5fbb6 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0x08b73cee i2c_del_driver +EXPORT_SYMBOL vmlinux 0x08bd486e d_genocide +EXPORT_SYMBOL vmlinux 0x08d66a3a warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x08e3163b vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x08ea5b4a __brelse +EXPORT_SYMBOL vmlinux 0x08f119a5 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x08fd7b8b qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x0916b906 compat_sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x0927dadf inet_del_protocol +EXPORT_SYMBOL vmlinux 0x0933aae1 efi_enabled +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x095e45c3 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x096fc396 alloc_netdev_mq +EXPORT_SYMBOL vmlinux 0x0980c7cb md_write_start +EXPORT_SYMBOL vmlinux 0x098431ba acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x0991591e ppp_register_channel +EXPORT_SYMBOL vmlinux 0x09bc0bc5 skb_dequeue +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09db5c4c kset_unregister +EXPORT_SYMBOL vmlinux 0x0a04ddb4 lro_vlan_hwaccel_receive_skb +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a2c080b pci_claim_resource +EXPORT_SYMBOL vmlinux 0x0a2f0511 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x0a329673 find_get_page +EXPORT_SYMBOL vmlinux 0x0a5e854c key_validate +EXPORT_SYMBOL vmlinux 0x0a89f46f unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0accea8f pci_get_subsys +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 0x0b2a24cc neigh_compat_output +EXPORT_SYMBOL vmlinux 0x0b51064a scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0x0b7146a2 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b7c9d5d agp_copy_info +EXPORT_SYMBOL vmlinux 0x0ba5e8c4 phy_sanitize_settings +EXPORT_SYMBOL vmlinux 0x0bb54439 audit_log_format +EXPORT_SYMBOL vmlinux 0x0bbfc8fb dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x0bc35748 posix_lock_file +EXPORT_SYMBOL vmlinux 0x0c0d0cc4 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x0c15a71b skb_seq_read +EXPORT_SYMBOL vmlinux 0x0c168781 iget5_locked +EXPORT_SYMBOL vmlinux 0x0c29bd5b vfs_create +EXPORT_SYMBOL vmlinux 0x0c35638b pci_enable_msix +EXPORT_SYMBOL vmlinux 0x0c3efe93 pnp_register_driver +EXPORT_SYMBOL vmlinux 0x0c4f7239 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x0c502002 rwsem_wake +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c7ff14d sk_stream_write_space +EXPORT_SYMBOL vmlinux 0x0c83db75 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0c9ffb79 compat_nf_getsockopt +EXPORT_SYMBOL vmlinux 0x0ca29b3f __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x0ca7b7a8 acpi_check_region +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cbf3e67 tty_shutdown +EXPORT_SYMBOL vmlinux 0x0cbf7752 cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x0cd6d63d pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x0cddfd16 __locks_copy_lock +EXPORT_SYMBOL vmlinux 0x0d09fc10 agp_bridge +EXPORT_SYMBOL vmlinux 0x0d0c9907 genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x0d26a76d _write_lock_irq +EXPORT_SYMBOL vmlinux 0x0d2ea6fe inet_put_port +EXPORT_SYMBOL vmlinux 0x0d3dda14 acpi_get_type +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d557800 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0dbdbcf3 d_splice_alias +EXPORT_SYMBOL vmlinux 0x0e0423c7 __bforget +EXPORT_SYMBOL vmlinux 0x0e1a0778 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x0e354ce8 unlock_buffer +EXPORT_SYMBOL vmlinux 0x0e52592a panic +EXPORT_SYMBOL vmlinux 0x0e58a209 pci_get_device +EXPORT_SYMBOL vmlinux 0x0e6e9078 __find_get_block +EXPORT_SYMBOL vmlinux 0x0e83fea1 del_timer_sync +EXPORT_SYMBOL vmlinux 0x0ea34412 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x0eb0501f nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x0ec1d9ba pnp_possible_config +EXPORT_SYMBOL vmlinux 0x0f03d39d dm_exception_store_type_register +EXPORT_SYMBOL vmlinux 0x0f04255c unlock_super +EXPORT_SYMBOL vmlinux 0x0f198321 journal_abort +EXPORT_SYMBOL vmlinux 0x0f1ef871 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x0f7f4c97 kmem_cache_create +EXPORT_SYMBOL vmlinux 0x0f8def1d set_user_nice +EXPORT_SYMBOL vmlinux 0x0fbef379 nf_register_hooks +EXPORT_SYMBOL vmlinux 0x0fc5e8eb radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0x0fd00a68 acpi_clear_event +EXPORT_SYMBOL vmlinux 0x0fd4c8e2 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x0fe875dd set_bh_page +EXPORT_SYMBOL vmlinux 0x0ff2b602 slhc_compress +EXPORT_SYMBOL vmlinux 0x0ffec155 ppp_input +EXPORT_SYMBOL vmlinux 0x103679e9 aio_put_req +EXPORT_SYMBOL vmlinux 0x103d77c1 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x103e4326 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x10481a88 scsi_device_get +EXPORT_SYMBOL vmlinux 0x105b64aa tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x105e2727 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x106c50bf netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x1072a394 csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x1072df39 dquot_acquire +EXPORT_SYMBOL vmlinux 0x107d5757 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x108e8985 param_get_uint +EXPORT_SYMBOL vmlinux 0x109d3922 compat_sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x10b2a901 agp_generic_destroy_page +EXPORT_SYMBOL vmlinux 0x10c8d6c9 tty_mutex +EXPORT_SYMBOL vmlinux 0x10dc2d36 pci_set_dma_mask +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x10f78ae9 pci_clear_master +EXPORT_SYMBOL vmlinux 0x110a9450 napi_get_frags +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x1148a413 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x11498826 tcf_exts_change +EXPORT_SYMBOL vmlinux 0x114ed1ce schedule_work_on +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x116b080d tr_type_trans +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x11a18b14 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x11db6f68 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0x11df87f6 netlink_ack +EXPORT_SYMBOL vmlinux 0x11e09d4d agp_alloc_page_array +EXPORT_SYMBOL vmlinux 0x120659f7 nonseekable_open +EXPORT_SYMBOL vmlinux 0x1222c1ca mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0x12330bab make_EII_client +EXPORT_SYMBOL vmlinux 0x124cda91 pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0x126ecd24 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x126fa21b con_is_bound +EXPORT_SYMBOL vmlinux 0x12815e65 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x128db321 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x128ebd60 simple_statfs +EXPORT_SYMBOL vmlinux 0x129de341 wrmsr_on_cpus +EXPORT_SYMBOL vmlinux 0x12c49980 netdev_set_master +EXPORT_SYMBOL vmlinux 0x12d43c0f rtnl_notify +EXPORT_SYMBOL vmlinux 0x12f10736 udplite_table +EXPORT_SYMBOL vmlinux 0x1306cf92 block_sync_page +EXPORT_SYMBOL vmlinux 0x131cb47c ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x134816fa kset_register +EXPORT_SYMBOL vmlinux 0x135c2168 make_bad_inode +EXPORT_SYMBOL vmlinux 0x13651d0c ip_getsockopt +EXPORT_SYMBOL vmlinux 0x13732756 napi_skb_finish +EXPORT_SYMBOL vmlinux 0x1378e714 acpi_video_display_switch_support +EXPORT_SYMBOL vmlinux 0x13806862 free_buffer_head +EXPORT_SYMBOL vmlinux 0x138a78d1 set_current_groups +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x1426cc09 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x1430e6e0 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x1449e868 acpi_unlock_battery_dir +EXPORT_SYMBOL vmlinux 0x144e75ac pci_select_bars +EXPORT_SYMBOL vmlinux 0x14735595 __nla_reserve +EXPORT_SYMBOL vmlinux 0x1479e5a8 nla_append +EXPORT_SYMBOL vmlinux 0x1486d955 kfree_skb +EXPORT_SYMBOL vmlinux 0x148b5cc4 acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0x14af0cf7 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x14d95a16 scsi_add_device +EXPORT_SYMBOL vmlinux 0x14fd1dc5 i2c_clients_command +EXPORT_SYMBOL vmlinux 0x1503b0cd __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x152449b0 journal_init_dev +EXPORT_SYMBOL vmlinux 0x154ff3b7 inet_getname +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x155f423a pipe_lock +EXPORT_SYMBOL vmlinux 0x158f575e compat_mc_getsockopt +EXPORT_SYMBOL vmlinux 0x159d2032 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0x15b064ee __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x15ef2dd9 kfifo_free +EXPORT_SYMBOL vmlinux 0x160d105f arch_debugfs_dir +EXPORT_SYMBOL vmlinux 0x160ea4c8 sfi_disabled +EXPORT_SYMBOL vmlinux 0x16144d0c devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x163c5e39 twl4030_i2c_read +EXPORT_SYMBOL vmlinux 0x1646e7b0 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x1675606f bad_dma_address +EXPORT_SYMBOL vmlinux 0x1678399f splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0x167dd7bd unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x167e7f9d __get_user_1 +EXPORT_SYMBOL vmlinux 0x16915793 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x16a3a808 locks_init_lock +EXPORT_SYMBOL vmlinux 0x16be2b02 simple_dir_operations +EXPORT_SYMBOL vmlinux 0x16c177cd jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x16d6ee84 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x16e8abdd generic_write_sync +EXPORT_SYMBOL vmlinux 0x16fe73d4 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x170c25ee acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x172f03bf acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0x1736c306 qdisc_destroy +EXPORT_SYMBOL vmlinux 0x17735e52 phy_attach_direct +EXPORT_SYMBOL vmlinux 0x1786f577 dma_sync_wait +EXPORT_SYMBOL vmlinux 0x178a871c xrlim_allow +EXPORT_SYMBOL vmlinux 0x179d71c8 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x17b642d2 sk_common_release +EXPORT_SYMBOL vmlinux 0x17c85a66 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x17cb0e0f filemap_fdatawait +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17e8ce2b pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x17eb400a consume_skb +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x181b6ff2 mempool_resize +EXPORT_SYMBOL vmlinux 0x181d587b send_sig_info +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL vmlinux 0x185b852e d_move +EXPORT_SYMBOL vmlinux 0x185c7df8 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x186d64a4 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x18734964 __mutex_init +EXPORT_SYMBOL vmlinux 0x187b8303 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x189b6bac memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x18b72573 register_kmmio_probe +EXPORT_SYMBOL vmlinux 0x18cd3c6d blk_plug_device +EXPORT_SYMBOL vmlinux 0x18e8401d proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x18f81d73 dm_io_client_create +EXPORT_SYMBOL vmlinux 0x190b2664 set_binfmt +EXPORT_SYMBOL vmlinux 0x191640a6 input_set_keycode +EXPORT_SYMBOL vmlinux 0x192d410b ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0x19391763 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x194dd2ce security_path_rename +EXPORT_SYMBOL vmlinux 0x195270d2 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x19763c08 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x1976bc16 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x19846391 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x1985ed3c prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x198ed6d5 proc_create_data +EXPORT_SYMBOL vmlinux 0x19906a00 bio_endio +EXPORT_SYMBOL vmlinux 0x19936e73 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19be50cb blk_put_request +EXPORT_SYMBOL vmlinux 0x19c85c86 secpath_dup +EXPORT_SYMBOL vmlinux 0x19c910b9 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x19d5d20a acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0x19f628e4 xfrm_init_state +EXPORT_SYMBOL vmlinux 0x19fb255f pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a75caa3 _read_lock +EXPORT_SYMBOL vmlinux 0x1a7616ad rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0x1a8a845e idle_nomwait +EXPORT_SYMBOL vmlinux 0x1ac22694 pci_pme_active +EXPORT_SYMBOL vmlinux 0x1acaa664 may_umount_tree +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1adcb9b9 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x1ade34af put_tty_driver +EXPORT_SYMBOL vmlinux 0x1ae894e5 find_or_create_page +EXPORT_SYMBOL vmlinux 0x1afefe99 flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b059509 pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0x1b0cca06 get_super +EXPORT_SYMBOL vmlinux 0x1b114926 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x1b2a2fe9 bd_set_size +EXPORT_SYMBOL vmlinux 0x1b56d351 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b669f87 dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x1b74a5e3 fb_pan_display +EXPORT_SYMBOL vmlinux 0x1b89419f add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b9359c9 register_framebuffer +EXPORT_SYMBOL vmlinux 0x1b9981cc set_irq_wake +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1bba0f18 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x1bd0556b slow_work_cancel +EXPORT_SYMBOL vmlinux 0x1bf51660 skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x1bfa7717 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x1c0c1825 register_sysrq_key +EXPORT_SYMBOL vmlinux 0x1c101caa tty_hangup +EXPORT_SYMBOL vmlinux 0x1c1af916 set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x1c84ca35 nf_register_hook +EXPORT_SYMBOL vmlinux 0x1c8a04b0 acpi_reset +EXPORT_SYMBOL vmlinux 0x1ca03058 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1cefe352 wait_for_completion +EXPORT_SYMBOL vmlinux 0x1cfeae11 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x1d2c5c26 names_cachep +EXPORT_SYMBOL vmlinux 0x1d2e87c6 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x1d724631 wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0x1d872048 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x1d876ac8 follow_down +EXPORT_SYMBOL vmlinux 0x1d8da520 dquot_free_space +EXPORT_SYMBOL vmlinux 0x1da4b71d security_path_mkdir +EXPORT_SYMBOL vmlinux 0x1db7706b __copy_user_nocache +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dcf8dfc write_inode_now +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1de5d49f blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x1e079033 __destroy_inode +EXPORT_SYMBOL vmlinux 0x1e0c2be4 ioremap_wc +EXPORT_SYMBOL vmlinux 0x1e343bc8 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x1e5b92e2 bitmap_unplug +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1ea0d6e2 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x1ea3346a sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x1eddf952 acpi_get_physical_device +EXPORT_SYMBOL vmlinux 0x1efe283f __cap_full_set +EXPORT_SYMBOL vmlinux 0x1f0248d5 dma_async_device_register +EXPORT_SYMBOL vmlinux 0x1f0c39f8 pci_set_mwi +EXPORT_SYMBOL vmlinux 0x1f697faf kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x1f75e552 pnp_stop_dev +EXPORT_SYMBOL vmlinux 0x1f77f53b ethtool_op_get_flags +EXPORT_SYMBOL vmlinux 0x1f7f72d6 inet_frag_evictor +EXPORT_SYMBOL vmlinux 0x1f9c8a05 journal_release_buffer +EXPORT_SYMBOL vmlinux 0x1fab8902 ndisc_build_skb +EXPORT_SYMBOL vmlinux 0x1fedf0f4 __request_region +EXPORT_SYMBOL vmlinux 0x1ff45945 fifo_set_limit +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x2003b398 __napi_schedule +EXPORT_SYMBOL vmlinux 0x2005e68a acpi_remove_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x20092385 acpi_enter_sleep_state_s4bios +EXPORT_SYMBOL vmlinux 0x200effc8 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x2021f373 nobh_write_end +EXPORT_SYMBOL vmlinux 0x20385c58 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x20447dbf get_disk +EXPORT_SYMBOL vmlinux 0x204857ac proc_dostring +EXPORT_SYMBOL vmlinux 0x20550788 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x206a9c09 ethtool_op_set_tso +EXPORT_SYMBOL vmlinux 0x207e4ead dev_change_flags +EXPORT_SYMBOL vmlinux 0x20810127 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x208739f6 acpi_load_table +EXPORT_SYMBOL vmlinux 0x209ba067 compat_ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x20c5e3d0 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x20c69d9a pci_iomap +EXPORT_SYMBOL vmlinux 0x20d0162c blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x20eadeb6 ip_compute_csum +EXPORT_SYMBOL vmlinux 0x20f1e933 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x20f9322a idr_pre_get +EXPORT_SYMBOL vmlinux 0x211f6d11 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x2130d946 posix_test_lock +EXPORT_SYMBOL vmlinux 0x21504fcb __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x215c4bbe scsi_register_driver +EXPORT_SYMBOL vmlinux 0x215cb50a scsi_host_set_state +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x2162352b rfkill_alloc +EXPORT_SYMBOL vmlinux 0x21821794 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x2193fd95 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x21984e49 acpi_bus_get_device +EXPORT_SYMBOL vmlinux 0x219fd127 llc_add_pack +EXPORT_SYMBOL vmlinux 0x21a7bb1d flush_old_exec +EXPORT_SYMBOL vmlinux 0x21d50a51 tcf_hash_release +EXPORT_SYMBOL vmlinux 0x21e0ea22 acpi_get_id +EXPORT_SYMBOL vmlinux 0x21e1bbb7 blkdev_put +EXPORT_SYMBOL vmlinux 0x21e5679c copy_user_generic +EXPORT_SYMBOL vmlinux 0x21e5c71a journal_set_features +EXPORT_SYMBOL vmlinux 0x221959d1 pv_mmu_ops +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x2246a0b2 vfs_dq_drop +EXPORT_SYMBOL vmlinux 0x2246ebc3 journal_check_used_features +EXPORT_SYMBOL vmlinux 0x225e03b8 input_register_device +EXPORT_SYMBOL vmlinux 0x226d4cd2 unload_nls +EXPORT_SYMBOL vmlinux 0x226e86a9 audit_log +EXPORT_SYMBOL vmlinux 0x227f2d0e llc_sap_find +EXPORT_SYMBOL vmlinux 0x2288378f system_state +EXPORT_SYMBOL vmlinux 0x2288744d backlight_device_register +EXPORT_SYMBOL vmlinux 0x22a73912 __tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22b6533b xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x22c2870c dquot_commit +EXPORT_SYMBOL vmlinux 0x22f36f1d tty_write_room +EXPORT_SYMBOL vmlinux 0x23006d4c skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0x23269a13 strict_strtoul +EXPORT_SYMBOL vmlinux 0x23343cac input_open_device +EXPORT_SYMBOL vmlinux 0x234509f3 strncat +EXPORT_SYMBOL vmlinux 0x235e13ee inet_addr_type +EXPORT_SYMBOL vmlinux 0x236c8c64 memcpy +EXPORT_SYMBOL vmlinux 0x23757082 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x239b4777 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0x23a746c1 agp_allocate_memory +EXPORT_SYMBOL vmlinux 0x23ae2207 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x23b99e92 node_states +EXPORT_SYMBOL vmlinux 0x23c8f257 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x23dfe1ea dump_trace +EXPORT_SYMBOL vmlinux 0x23f744d5 input_allocate_device +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x242d203e bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x243ce8f7 scsi_register +EXPORT_SYMBOL vmlinux 0x24404ed1 lookup_bdev +EXPORT_SYMBOL vmlinux 0x2441e883 agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x2447636d bdi_register_dev +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x24624544 ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x24686293 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x246e39b5 __blk_run_queue +EXPORT_SYMBOL vmlinux 0x24792ea7 journal_init_inode +EXPORT_SYMBOL vmlinux 0x24976564 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x24ac64f2 sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x24d3f093 dev_driver_string +EXPORT_SYMBOL vmlinux 0x24e4bb01 down_write_trylock +EXPORT_SYMBOL vmlinux 0x24e97a62 slow_work_enqueue +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x250c9db8 vfs_get_dqblk +EXPORT_SYMBOL vmlinux 0x25360fde slow_work_sleep_till_thread_needed +EXPORT_SYMBOL vmlinux 0x253cd86e lease_get_mtime +EXPORT_SYMBOL vmlinux 0x256e77f4 blk_remove_plug +EXPORT_SYMBOL vmlinux 0x2578644e xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258355b4 fb_find_best_mode +EXPORT_SYMBOL vmlinux 0x25d66bde get_sb_nodev +EXPORT_SYMBOL vmlinux 0x25da8f24 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x25dc0945 pci_disable_msix +EXPORT_SYMBOL vmlinux 0x25ec1b28 strlen +EXPORT_SYMBOL vmlinux 0x25f4250c skb_recycle_check +EXPORT_SYMBOL vmlinux 0x264aa41f key_unlink +EXPORT_SYMBOL vmlinux 0x26624b68 pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0x267fc65b __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x2685ba4f vm_insert_page +EXPORT_SYMBOL vmlinux 0x2685c3d7 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x26890a1e bd_release +EXPORT_SYMBOL vmlinux 0x2697c43c lro_flush_all +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x2727da5d _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x272d394e mtrr_del +EXPORT_SYMBOL vmlinux 0x272ed4f4 get_unmapped_area_prot +EXPORT_SYMBOL vmlinux 0x2749e7bd ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x2751f8d1 ip_dev_find +EXPORT_SYMBOL vmlinux 0x275337be pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x275e6122 mapping_tagged +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x278a3ebc tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x278c4845 hippi_change_mtu +EXPORT_SYMBOL vmlinux 0x279ccb32 fasync_helper +EXPORT_SYMBOL vmlinux 0x27a3f508 tcf_register_action +EXPORT_SYMBOL vmlinux 0x27aeea2b set_security_override +EXPORT_SYMBOL vmlinux 0x27b35c51 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c33efe csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x27c61ece qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x27d9c162 scsi_scan_target +EXPORT_SYMBOL vmlinux 0x27e8b8ff lro_receive_skb +EXPORT_SYMBOL vmlinux 0x27fe0c1c generic_file_open +EXPORT_SYMBOL vmlinux 0x28185517 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x285135e6 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x285422fe poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x285ac517 strict_strtoll +EXPORT_SYMBOL vmlinux 0x2869bc21 dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0x2876a6d3 memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x287abd03 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28b0aa18 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x28c97d95 swiotlb_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x28ddba35 blk_init_queue +EXPORT_SYMBOL vmlinux 0x28f0f8ec dm_table_get_size +EXPORT_SYMBOL vmlinux 0x2915f16d netdev_bonding_change +EXPORT_SYMBOL vmlinux 0x292093f4 native_rdmsr_safe_regs +EXPORT_SYMBOL vmlinux 0x29406477 acpi_root_dir +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x295b9a4b i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0x295d7309 mnt_unpin +EXPORT_SYMBOL vmlinux 0x296b8d74 framebuffer_release +EXPORT_SYMBOL vmlinux 0x29bd4c46 __cap_init_eff_set +EXPORT_SYMBOL vmlinux 0x29cdea0a bio_copy_user +EXPORT_SYMBOL vmlinux 0x29e033d1 sock_release +EXPORT_SYMBOL vmlinux 0x29f24646 filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0x2a20c466 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x2a25ca34 inet_frag_find +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a526ad6 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x2a531136 bio_integrity_endio +EXPORT_SYMBOL vmlinux 0x2a6939d9 stop_tty +EXPORT_SYMBOL vmlinux 0x2a7dc9b3 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x2a83d158 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x2a93bb77 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x2ab84718 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x2ab9c4dd input_inject_event +EXPORT_SYMBOL vmlinux 0x2abbc3c6 i2c_use_client +EXPORT_SYMBOL vmlinux 0x2ac4fb36 path_lookup +EXPORT_SYMBOL vmlinux 0x2ac9f02c input_unregister_device +EXPORT_SYMBOL vmlinux 0x2ace4469 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x2aeb2800 mempool_create_node +EXPORT_SYMBOL vmlinux 0x2aee85bd ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b19b3a6 elv_rb_del +EXPORT_SYMBOL vmlinux 0x2b1bd607 bio_map_user +EXPORT_SYMBOL vmlinux 0x2b2ef1ae km_new_mapping +EXPORT_SYMBOL vmlinux 0x2b9a0cca pci_pme_capable +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2ba9089a block_prepare_write +EXPORT_SYMBOL vmlinux 0x2bb55d6e acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x2bb6fde2 __kfifo_put +EXPORT_SYMBOL vmlinux 0x2bc077b4 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x2bde66ff dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x2bea18ed pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x2bec3846 kernel_read +EXPORT_SYMBOL vmlinux 0x2bfeb410 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x2c13c6cb agp_generic_destroy_pages +EXPORT_SYMBOL vmlinux 0x2c16bb2b tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x2c278c8a tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x2c3d355a kill_pid +EXPORT_SYMBOL vmlinux 0x2c44fc04 netdev_features_change +EXPORT_SYMBOL vmlinux 0x2c54f60b task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x2c5749e6 acpi_clear_gpe +EXPORT_SYMBOL vmlinux 0x2c68246e md_integrity_register +EXPORT_SYMBOL vmlinux 0x2c90a66f unregister_quota_format +EXPORT_SYMBOL vmlinux 0x2c924bb9 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x2cbca78d release_firmware +EXPORT_SYMBOL vmlinux 0x2cc8a67e nobh_write_begin +EXPORT_SYMBOL vmlinux 0x2cdc477b file_fsync +EXPORT_SYMBOL vmlinux 0x2d20e7cf nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x2d5528c9 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x2d5cfaaf md_error +EXPORT_SYMBOL vmlinux 0x2d7334c9 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x2d868b5a dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2d8a700e tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x2db43e20 md_done_sync +EXPORT_SYMBOL vmlinux 0x2dbafbe3 pcibios_align_resource +EXPORT_SYMBOL vmlinux 0x2dd16564 arch_register_cpu +EXPORT_SYMBOL vmlinux 0x2dedc4c2 acpi_format_exception +EXPORT_SYMBOL vmlinux 0x2def7f76 rtc_cmos_write +EXPORT_SYMBOL vmlinux 0x2dfdcdc2 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x2e126f4e give_up_console +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e320fb7 alloc_hippi_dev +EXPORT_SYMBOL vmlinux 0x2e4a39f8 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x2e5cc4a0 spi_schedule_dv_device +EXPORT_SYMBOL vmlinux 0x2e635c11 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x2e824f02 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x2e97a729 idr_remove +EXPORT_SYMBOL vmlinux 0x2eadbfe2 arp_broken_ops +EXPORT_SYMBOL vmlinux 0x2eb87690 bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x2eb8bd3f del_gendisk +EXPORT_SYMBOL vmlinux 0x2eb9a0e8 _read_lock_irq +EXPORT_SYMBOL vmlinux 0x2ec54dc4 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x2ecac4ba scsi_device_put +EXPORT_SYMBOL vmlinux 0x2eeb3532 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x2f024766 journal_revoke +EXPORT_SYMBOL vmlinux 0x2f3464d5 generic_readlink +EXPORT_SYMBOL vmlinux 0x2f36aa3f jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x2f380ac1 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x2f3e659a loop_register_transfer +EXPORT_SYMBOL vmlinux 0x2f4b5584 agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0x2f815c15 dentry_unhash +EXPORT_SYMBOL vmlinux 0x2f9a6bc6 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x2f9c437b pci_save_state +EXPORT_SYMBOL vmlinux 0x2fa5a500 memcmp +EXPORT_SYMBOL vmlinux 0x2fa79ba9 generic_unplug_device +EXPORT_SYMBOL vmlinux 0x2ff063b5 acpi_get_name +EXPORT_SYMBOL vmlinux 0x2ffd2969 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x30123eb5 icmpv6_statistics +EXPORT_SYMBOL vmlinux 0x30226ddf agp_device_command +EXPORT_SYMBOL vmlinux 0x30321fb9 log_wait_commit +EXPORT_SYMBOL vmlinux 0x3035fab7 __scsi_put_command +EXPORT_SYMBOL vmlinux 0x303cfd05 swiotlb_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x3055d2dc ethtool_op_set_flags +EXPORT_SYMBOL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL vmlinux 0x307fca80 bio_integrity_split +EXPORT_SYMBOL vmlinux 0x3080b147 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x3088a728 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x30c5e4e5 load_nls_default +EXPORT_SYMBOL vmlinux 0x30d0f38b jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30e8efe9 icmpv6_send +EXPORT_SYMBOL vmlinux 0x30ffe1f7 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x31121fe1 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x31307484 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x315950ca ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x3188027c pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x318bd96b bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x318e0d02 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x319afd50 put_mnt_ns +EXPORT_SYMBOL vmlinux 0x31b31f5c csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x31c4d6c7 scsi_finish_command +EXPORT_SYMBOL vmlinux 0x31e76b57 recalibrate_cpu_khz +EXPORT_SYMBOL vmlinux 0x31ebadcd in_group_p +EXPORT_SYMBOL vmlinux 0x321e1034 touch_atime +EXPORT_SYMBOL vmlinux 0x324cc06e skb_copy_expand +EXPORT_SYMBOL vmlinux 0x3255c959 km_state_notify +EXPORT_SYMBOL vmlinux 0x3285cc48 param_set_uint +EXPORT_SYMBOL vmlinux 0x3289945b i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x328caa0b tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x329ff766 thaw_bdev +EXPORT_SYMBOL vmlinux 0x32b190be __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x32c4cbd7 blk_free_tags +EXPORT_SYMBOL vmlinux 0x32ddf131 blk_queue_max_phys_segments +EXPORT_SYMBOL vmlinux 0x32debb16 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x32df4502 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x32e08fae do_splice_from +EXPORT_SYMBOL vmlinux 0x32e11d4d input_grab_device +EXPORT_SYMBOL vmlinux 0x32fcb867 kernel_getpeername +EXPORT_SYMBOL vmlinux 0x333d55ad remove_inode_hash +EXPORT_SYMBOL vmlinux 0x333ec4b1 agp_generic_alloc_user +EXPORT_SYMBOL vmlinux 0x3350e0ff eth_type_trans +EXPORT_SYMBOL vmlinux 0x3368e884 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x336b6ff1 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x338c7fca fget +EXPORT_SYMBOL vmlinux 0x339e93ab thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page +EXPORT_SYMBOL vmlinux 0x33d92f9a prepare_to_wait +EXPORT_SYMBOL vmlinux 0x33e2245f set_pages_wb +EXPORT_SYMBOL vmlinux 0x33f29c58 napi_complete +EXPORT_SYMBOL vmlinux 0x34034918 skb_trim +EXPORT_SYMBOL vmlinux 0x34076dfc mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x341cbed2 cpu_present_mask +EXPORT_SYMBOL vmlinux 0x342c6161 seq_read +EXPORT_SYMBOL vmlinux 0x343abedb __kill_fasync +EXPORT_SYMBOL vmlinux 0x3456b558 lock_super +EXPORT_SYMBOL vmlinux 0x3457cb68 param_set_long +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34bab2f8 sg_miter_next +EXPORT_SYMBOL vmlinux 0x34bc9fff dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x3505f691 alloc_etherdev_mq +EXPORT_SYMBOL vmlinux 0x35221789 neigh_lookup +EXPORT_SYMBOL vmlinux 0x353234a2 dquot_drop +EXPORT_SYMBOL vmlinux 0x35477cbe con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x355bc8c0 md_check_recovery +EXPORT_SYMBOL vmlinux 0x3582ed17 vfs_stat +EXPORT_SYMBOL vmlinux 0x3598727d sk_run_filter +EXPORT_SYMBOL vmlinux 0x35b0650f vsnprintf +EXPORT_SYMBOL vmlinux 0x35c2ba9e refrigerator +EXPORT_SYMBOL vmlinux 0x35e48ba7 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x35f83303 sget +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x36139a51 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x36164131 journal_restart +EXPORT_SYMBOL vmlinux 0x36562f37 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x3656bf5a lock_kernel +EXPORT_SYMBOL vmlinux 0x365dbe57 __page_symlink +EXPORT_SYMBOL vmlinux 0x3678c0c0 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x3686ea09 spi_print_msg +EXPORT_SYMBOL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL vmlinux 0x3701a196 csum_partial_copy_to_user +EXPORT_SYMBOL vmlinux 0x37058ffc vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x3723a0ea journal_wipe +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x374f8ad8 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x375465a7 radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x37af2787 sk_filter +EXPORT_SYMBOL vmlinux 0x37b6ef5f qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37efda01 blk_peek_request +EXPORT_SYMBOL vmlinux 0x38119ddc seq_release +EXPORT_SYMBOL vmlinux 0x381987aa devm_iounmap +EXPORT_SYMBOL vmlinux 0x3819bbed dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x382b1ee8 get_fs_type +EXPORT_SYMBOL vmlinux 0x384d2fc6 elevator_exit +EXPORT_SYMBOL vmlinux 0x384dce46 tty_port_close_end +EXPORT_SYMBOL vmlinux 0x388971f3 compat_tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38b22648 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x38b92846 llc_remove_pack +EXPORT_SYMBOL vmlinux 0x38c3aaa4 bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x38c89f56 register_quota_format +EXPORT_SYMBOL vmlinux 0x38cab31c init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x38e85b81 simple_fill_super +EXPORT_SYMBOL vmlinux 0x38f266c1 netif_napi_add +EXPORT_SYMBOL vmlinux 0x38f33bed dump_fpu +EXPORT_SYMBOL vmlinux 0x39032545 __ps2_command +EXPORT_SYMBOL vmlinux 0x3905b386 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x3928efe9 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x393c7ef8 vfs_readlink +EXPORT_SYMBOL vmlinux 0x39533a82 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x395360f4 skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0x395d3990 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x39690fd7 inode_permission +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x398b07d8 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x39a04ae9 compat_mc_setsockopt +EXPORT_SYMBOL vmlinux 0x39a23edc blk_execute_rq +EXPORT_SYMBOL vmlinux 0x39c1fce0 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x3a0023a8 vfs_quota_disable +EXPORT_SYMBOL vmlinux 0x3a059012 sock_create_lite +EXPORT_SYMBOL vmlinux 0x3a066d96 thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0x3a2204c6 security_netlink_recv +EXPORT_SYMBOL vmlinux 0x3a4b6c1a input_close_device +EXPORT_SYMBOL vmlinux 0x3a5517c4 unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x3a6f6020 tcp4_gro_receive +EXPORT_SYMBOL vmlinux 0x3a98e0b1 skb_dma_unmap +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3aa1dbcf _spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x3aad2fe5 rfkill_blocked +EXPORT_SYMBOL vmlinux 0x3aaecb02 devm_free_irq +EXPORT_SYMBOL vmlinux 0x3ab59dfa mmc_register_driver +EXPORT_SYMBOL vmlinux 0x3aba6c5d ppp_channel_index +EXPORT_SYMBOL vmlinux 0x3ae831b6 kref_init +EXPORT_SYMBOL vmlinux 0x3af40e47 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x3afce6a7 bdi_register +EXPORT_SYMBOL vmlinux 0x3b0646ac xfrm_bundle_ok +EXPORT_SYMBOL vmlinux 0x3b1e751b __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x3b299980 bioset_create +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b3fe9b7 dst_destroy +EXPORT_SYMBOL vmlinux 0x3b51783c xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x3b5d6f7c bdput +EXPORT_SYMBOL vmlinux 0x3b5df3d0 dm_table_put +EXPORT_SYMBOL vmlinux 0x3b68b514 block_fsync +EXPORT_SYMBOL vmlinux 0x3ba140ff sock_rfree +EXPORT_SYMBOL vmlinux 0x3bc0e2e3 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3c154f6d dma_ops +EXPORT_SYMBOL vmlinux 0x3c182dcd scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x3c25c1c7 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0x3c2c5af5 sprintf +EXPORT_SYMBOL vmlinux 0x3c4e07ec acpi_bus_start +EXPORT_SYMBOL vmlinux 0x3c7227bf complete_all +EXPORT_SYMBOL vmlinux 0x3c8710ab qdisc_list_del +EXPORT_SYMBOL vmlinux 0x3c8de819 release_sock +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3cb2f7a8 md_write_end +EXPORT_SYMBOL vmlinux 0x3cc0a3bb xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x3ccccccc neigh_create +EXPORT_SYMBOL vmlinux 0x3cd0d863 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3ce619b2 scsi_free_command +EXPORT_SYMBOL vmlinux 0x3cec9e12 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x3d4031ca __devm_release_region +EXPORT_SYMBOL vmlinux 0x3d41de05 pcim_iounmap +EXPORT_SYMBOL vmlinux 0x3d457636 kmem_ptr_validate +EXPORT_SYMBOL vmlinux 0x3d46d690 alloc_trdev +EXPORT_SYMBOL vmlinux 0x3d68bd4b flow_cache_genid +EXPORT_SYMBOL vmlinux 0x3d7c1ed7 msrs_alloc +EXPORT_SYMBOL vmlinux 0x3d8645b9 bio_kmalloc +EXPORT_SYMBOL vmlinux 0x3d8728bb memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x3d978728 cad_pid +EXPORT_SYMBOL vmlinux 0x3d9ee9f0 clear_page +EXPORT_SYMBOL vmlinux 0x3da171f9 pci_mem_start +EXPORT_SYMBOL vmlinux 0x3da5eb6d kfifo_alloc +EXPORT_SYMBOL vmlinux 0x3db2e258 radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x3dbc5adc pci_reenable_device +EXPORT_SYMBOL vmlinux 0x3dc3cf5c security_task_getsecid +EXPORT_SYMBOL vmlinux 0x3ddd71bd inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0x3e16dd38 mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0x3e1f073d wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x3e219de6 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x3e2ae3a8 acpi_release_global_lock +EXPORT_SYMBOL vmlinux 0x3e383385 nf_hooks +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e69f60f jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x3e899c9d blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x3e8d368c sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x3ec1d14e tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f128fc6 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x3f1899f1 up +EXPORT_SYMBOL vmlinux 0x3f1ae08d cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x3f2de6f9 hippi_type_trans +EXPORT_SYMBOL vmlinux 0x3f389f9e inet_ioctl +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f61518c i2c_register_driver +EXPORT_SYMBOL vmlinux 0x3f6d66e6 __pci_register_driver +EXPORT_SYMBOL vmlinux 0x3f7223c1 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x3f94af27 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x3fa913da strspn +EXPORT_SYMBOL vmlinux 0x3fad7e21 unregister_key_type +EXPORT_SYMBOL vmlinux 0x3fec048f sg_next +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x4011114d thaw_process +EXPORT_SYMBOL vmlinux 0x401441cd bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x4025d7b6 ps2_end_command +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x40739fdd key_negate_and_link +EXPORT_SYMBOL vmlinux 0x4081b12c security_path_symlink +EXPORT_SYMBOL vmlinux 0x4087771d tty_port_close +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 0x40bfe03f rfkill_destroy +EXPORT_SYMBOL vmlinux 0x40c86fd3 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x40c89d46 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0x40e60485 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x40ec7870 vfs_llseek +EXPORT_SYMBOL vmlinux 0x40f77066 blk_start_queue +EXPORT_SYMBOL vmlinux 0x40f7a038 register_con_driver +EXPORT_SYMBOL vmlinux 0x410039a6 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0x41008b36 rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0x4101bbde param_set_copystring +EXPORT_SYMBOL vmlinux 0x4108e69a fb_match_mode +EXPORT_SYMBOL vmlinux 0x4115f84e dcache_dir_open +EXPORT_SYMBOL vmlinux 0x41166725 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x412ba1f0 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x41344088 param_get_charp +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x4160ba9a aio_complete +EXPORT_SYMBOL vmlinux 0x416983d9 netdev_fix_features +EXPORT_SYMBOL vmlinux 0x4180a5e5 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x418561bc neigh_table_clear +EXPORT_SYMBOL vmlinux 0x41878723 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41a9c68d _spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x41c9ffa4 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x421ecc19 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x42224298 sscanf +EXPORT_SYMBOL vmlinux 0x4228af32 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x426403d4 tcf_hash_search +EXPORT_SYMBOL vmlinux 0x42855565 pci_release_regions +EXPORT_SYMBOL vmlinux 0x428d3e19 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0x429e5b14 tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x42a4bdf2 in_egroup_p +EXPORT_SYMBOL vmlinux 0x42acbf72 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x42c8de35 ioremap_nocache +EXPORT_SYMBOL vmlinux 0x42d71be2 kobject_set_name +EXPORT_SYMBOL vmlinux 0x42e458cf elv_rb_add +EXPORT_SYMBOL vmlinux 0x42f8f658 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x43131003 put_disk +EXPORT_SYMBOL vmlinux 0x431de7b0 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x432487ce ip6_frag_match +EXPORT_SYMBOL vmlinux 0x4327f0d5 memset_io +EXPORT_SYMBOL vmlinux 0x4333eadb param_set_short +EXPORT_SYMBOL vmlinux 0x43385ad9 acpi_pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x434fa55c release_console_sem +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x437ff61f sock_init_data +EXPORT_SYMBOL vmlinux 0x43837894 create_mnt_ns +EXPORT_SYMBOL vmlinux 0x439d0346 __seq_open_private +EXPORT_SYMBOL vmlinux 0x43ab66c3 param_array_get +EXPORT_SYMBOL vmlinux 0x43ad28f1 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x43c60dc5 pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0x43d576ce fb_set_var +EXPORT_SYMBOL vmlinux 0x43e298d3 unregister_netdev +EXPORT_SYMBOL vmlinux 0x43ec913a put_cmsg +EXPORT_SYMBOL vmlinux 0x43ee4fa3 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x44161c19 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x44183066 ps2_command +EXPORT_SYMBOL vmlinux 0x443d4d2e uart_match_port +EXPORT_SYMBOL vmlinux 0x444779c4 nla_find +EXPORT_SYMBOL vmlinux 0x4451faf8 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x446c520a pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x44778152 ethtool_op_get_sg +EXPORT_SYMBOL vmlinux 0x449739f5 thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0x44aaf30f tsc_khz +EXPORT_SYMBOL vmlinux 0x44b0a6a9 serio_close +EXPORT_SYMBOL vmlinux 0x44b2d9fb in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44bafe34 swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x44c1d71b journal_force_commit +EXPORT_SYMBOL vmlinux 0x44c3820a arp_create +EXPORT_SYMBOL vmlinux 0x44ca5541 set_trace_device +EXPORT_SYMBOL vmlinux 0x44d560e3 init_level4_pgt +EXPORT_SYMBOL vmlinux 0x44e7a2ab ip6_route_output +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x45450063 mod_timer +EXPORT_SYMBOL vmlinux 0x4550ba8a register_cpu_notifier +EXPORT_SYMBOL vmlinux 0x455d1d3f ethtool_op_set_tx_ipv6_csum +EXPORT_SYMBOL vmlinux 0x45704798 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x4575315d utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x45947727 param_array_set +EXPORT_SYMBOL vmlinux 0x45ad9141 alloc_file +EXPORT_SYMBOL vmlinux 0x45adf09a may_umount +EXPORT_SYMBOL vmlinux 0x45b28caa kill_litter_super +EXPORT_SYMBOL vmlinux 0x45becd8b scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x45c71659 brioctl_set +EXPORT_SYMBOL vmlinux 0x45c89fcb acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0x45d11c43 down_interruptible +EXPORT_SYMBOL vmlinux 0x45d55543 down_write +EXPORT_SYMBOL vmlinux 0x45d92aa6 get_phy_id +EXPORT_SYMBOL vmlinux 0x45fa5246 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x46085e4f add_timer +EXPORT_SYMBOL vmlinux 0x461f6fb0 vfs_follow_link +EXPORT_SYMBOL vmlinux 0x4635f472 register_qdisc +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x4695ac19 get_sb_ns +EXPORT_SYMBOL vmlinux 0x46b2b354 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x46be16ba pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x46c47fb6 __node_distance +EXPORT_SYMBOL vmlinux 0x46d107ef jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x46d2261e fput +EXPORT_SYMBOL vmlinux 0x46e1f55d cdev_index +EXPORT_SYMBOL vmlinux 0x47144592 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x473164dd redraw_screen +EXPORT_SYMBOL vmlinux 0x474a7dbe bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x4750d15b scsi_prep_state_check +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 0x4792b39c scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x47941554 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x47982bde xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47f5d6c0 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x481cb9ab acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x4837a554 request_key +EXPORT_SYMBOL vmlinux 0x48461cb6 sock_no_accept +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x485d8992 have_submounts +EXPORT_SYMBOL vmlinux 0x486b6407 hweight64 +EXPORT_SYMBOL vmlinux 0x488cc3de inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0x48b3c268 dev_gro_receive +EXPORT_SYMBOL vmlinux 0x48b9291f dm_exception_store_destroy +EXPORT_SYMBOL vmlinux 0x48bc6499 scm_fp_dup +EXPORT_SYMBOL vmlinux 0x4924164d security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x4939478f set_create_files_as +EXPORT_SYMBOL vmlinux 0x49439411 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x494bbdfc blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x494e3393 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x49554c57 dm_register_target +EXPORT_SYMBOL vmlinux 0x4958e8c6 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x495fea53 simple_empty +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x4968652d per_cpu__cpu_sibling_map +EXPORT_SYMBOL vmlinux 0x4993425d tty_name +EXPORT_SYMBOL vmlinux 0x49c9bf57 tcp_make_synack +EXPORT_SYMBOL vmlinux 0x49cf583a vfs_quota_sync +EXPORT_SYMBOL vmlinux 0x49da9a9a _read_unlock_bh +EXPORT_SYMBOL vmlinux 0x49e182c0 param_get_string +EXPORT_SYMBOL vmlinux 0x49f58352 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a3ead48 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x4a585d76 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x4a5a6298 vga_client_register +EXPORT_SYMBOL vmlinux 0x4a7cb547 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x4a903f18 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x4a9b2a0d sockfd_lookup +EXPORT_SYMBOL vmlinux 0x4ac25120 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x4acd93d3 release_resource +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4affef4d sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x4b046978 ll_rw_block +EXPORT_SYMBOL vmlinux 0x4b07e779 _spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL vmlinux 0x4b0b08e2 skb_queue_head +EXPORT_SYMBOL vmlinux 0x4b0d260a xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x4b19d315 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0x4b41668a simple_rename +EXPORT_SYMBOL vmlinux 0x4b4500ef find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x4b5992c8 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0x4b68abfc blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0x4b8d21ee tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x4b8d69c9 arch_acpi_processor_cleanup_pdc +EXPORT_SYMBOL vmlinux 0x4ba5baa0 load_gs_index +EXPORT_SYMBOL vmlinux 0x4bbc3e5f pm_flags +EXPORT_SYMBOL vmlinux 0x4bc00e3b grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x4bc549f8 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x4bc7b5f5 vmap +EXPORT_SYMBOL vmlinux 0x4bdf028e idr_find +EXPORT_SYMBOL vmlinux 0x4c04adee inet_listen +EXPORT_SYMBOL vmlinux 0x4c0ddb13 qdisc_reset +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c1b965c gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x4c35bb50 tcp_v4_remember_stamp +EXPORT_SYMBOL vmlinux 0x4c39eb27 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x4c407c84 dst_discard +EXPORT_SYMBOL vmlinux 0x4c4c6b71 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x4c4c956e nla_memcmp +EXPORT_SYMBOL vmlinux 0x4c5f8816 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0x4c646b3d blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x4c65e814 pagecache_write_end +EXPORT_SYMBOL vmlinux 0x4c89165e blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x4c9edbe8 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x4c9f1624 user_revoke +EXPORT_SYMBOL vmlinux 0x4ca5cb70 dma_pool_create +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cc7a0e8 nlmsg_notify +EXPORT_SYMBOL vmlinux 0x4ce928c0 free_netdev +EXPORT_SYMBOL vmlinux 0x4cf14772 revalidate_disk +EXPORT_SYMBOL vmlinux 0x4cfac5b7 llc_set_station_handler +EXPORT_SYMBOL vmlinux 0x4d02e801 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x4d102e6d jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x4d3d8525 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x4d77e172 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x4d987cff find_vma +EXPORT_SYMBOL vmlinux 0x4dbba2b7 eth_change_mtu +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dd3245d dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x4dda726b match_strlcpy +EXPORT_SYMBOL vmlinux 0x4ddc024d dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x4ddc5260 request_firmware +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4df2f484 agp_generic_alloc_by_type +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e2e20c9 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e436b79 netdev_state_change +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e824fd1 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x4e825955 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x4edd72f7 block_all_signals +EXPORT_SYMBOL vmlinux 0x4edf8824 otg_get_transceiver +EXPORT_SYMBOL vmlinux 0x4ee359cf vfs_link +EXPORT_SYMBOL vmlinux 0x4ef66937 pci_target_state +EXPORT_SYMBOL vmlinux 0x4ef790d6 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x4f0be2a2 vc_resize +EXPORT_SYMBOL vmlinux 0x4f12ba12 devm_ioremap +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f33e561 netlink_broadcast +EXPORT_SYMBOL vmlinux 0x4f443673 unlock_new_inode +EXPORT_SYMBOL vmlinux 0x4f44e3da create_proc_entry +EXPORT_SYMBOL vmlinux 0x4f476e96 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x4f5438c1 idle_halt +EXPORT_SYMBOL vmlinux 0x4f783f30 acpi_read +EXPORT_SYMBOL vmlinux 0x4f9d916f kmalloc_caches +EXPORT_SYMBOL vmlinux 0x4fb6b4dd dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4feb8cbe i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x5007f7fa pci_find_device +EXPORT_SYMBOL vmlinux 0x5013d9d1 ethtool_op_set_tx_csum +EXPORT_SYMBOL vmlinux 0x5017d587 file_permission +EXPORT_SYMBOL vmlinux 0x501e9369 genphy_read_status +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x50405b06 otg_set_transceiver +EXPORT_SYMBOL vmlinux 0x505fb00e llc_sap_close +EXPORT_SYMBOL vmlinux 0x5063b93a inet_accept +EXPORT_SYMBOL vmlinux 0x506746b6 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x50a635b8 bio_free +EXPORT_SYMBOL vmlinux 0x50b5cb2d idr_get_new_above +EXPORT_SYMBOL vmlinux 0x50d56018 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x5123997b scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0x51794636 journal_start +EXPORT_SYMBOL vmlinux 0x51824c76 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x5187ac4b xen_store_evtchn +EXPORT_SYMBOL vmlinux 0x5190d92c mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x51b2a87e blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x51c0fc04 journal_dirty_data +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51e1c5bb init_net +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x52095e19 acpi_get_data +EXPORT_SYMBOL vmlinux 0x520a5437 acpi_bus_add +EXPORT_SYMBOL vmlinux 0x5210aa6c d_prune_aliases +EXPORT_SYMBOL vmlinux 0x5215c589 ip_route_output_key +EXPORT_SYMBOL vmlinux 0x524f8182 kthread_bind +EXPORT_SYMBOL vmlinux 0x5252f304 __memcpy_toio +EXPORT_SYMBOL vmlinux 0x5253c539 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x526285d5 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x5265b83a mmc_detect_change +EXPORT_SYMBOL vmlinux 0x526685c2 udp_proc_unregister +EXPORT_SYMBOL vmlinux 0x52717cb7 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x52760ca9 getnstimeofday +EXPORT_SYMBOL vmlinux 0x527c74c3 pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0x528c91ff skb_make_writable +EXPORT_SYMBOL vmlinux 0x52a58c24 ifla_policy +EXPORT_SYMBOL vmlinux 0x52a6319d bioset_free +EXPORT_SYMBOL vmlinux 0x52b5be0e bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x52c99565 skb_over_panic +EXPORT_SYMBOL vmlinux 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL vmlinux 0x52e5f010 set_disk_ro +EXPORT_SYMBOL vmlinux 0x52ebb126 param_get_ushort +EXPORT_SYMBOL vmlinux 0x52ec65c6 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x52f91bcb xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x53032ece tty_port_close_start +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x5316e500 deactivate_super +EXPORT_SYMBOL vmlinux 0x531b604e __virt_addr_valid +EXPORT_SYMBOL vmlinux 0x5330fcf7 tty_port_init +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x53391bed tcp_splice_read +EXPORT_SYMBOL vmlinux 0x5351d20c qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x535b2770 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x53611d53 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x5384cd9f posix_unblock_lock +EXPORT_SYMBOL vmlinux 0x5386db26 inet_bind +EXPORT_SYMBOL vmlinux 0x53c0767c sk_chk_filter +EXPORT_SYMBOL vmlinux 0x53cc994d scsi_put_command +EXPORT_SYMBOL vmlinux 0x53e3e9ef skb_store_bits +EXPORT_SYMBOL vmlinux 0x5423719f blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0x54259b2d bio_add_page +EXPORT_SYMBOL vmlinux 0x54290dc9 nla_validate +EXPORT_SYMBOL vmlinux 0x544866eb journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x54644637 pci_disable_device +EXPORT_SYMBOL vmlinux 0x547858ef scsi_execute_req +EXPORT_SYMBOL vmlinux 0x54acaade do_sync_read +EXPORT_SYMBOL vmlinux 0x54b81fd3 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x54b84c27 ip_mc_rejoin_group +EXPORT_SYMBOL vmlinux 0x54baecbd block_read_full_page +EXPORT_SYMBOL vmlinux 0x54dddcf2 key_task_permission +EXPORT_SYMBOL vmlinux 0x54de335f uart_suspend_port +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54e74333 generic_read_dir +EXPORT_SYMBOL vmlinux 0x5513f39a dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x55179e7e __inet6_hash +EXPORT_SYMBOL vmlinux 0x552c6693 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x5531234c thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0x554f0a48 groups_alloc +EXPORT_SYMBOL vmlinux 0x5558c077 agp_create_memory +EXPORT_SYMBOL vmlinux 0x556e018b sock_i_uid +EXPORT_SYMBOL vmlinux 0x558be55d i2c_master_send +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55a286bf proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x55e80503 blk_stop_queue +EXPORT_SYMBOL vmlinux 0x55f85258 kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x5600904f fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x5603cf43 do_settimeofday +EXPORT_SYMBOL vmlinux 0x560e7cd8 page_readlink +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x5633b26d inode_get_bytes +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x56383341 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0x5663e958 security_d_instantiate +EXPORT_SYMBOL vmlinux 0x56bd1935 dm_io +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56df5a59 mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0x56f02a6c cdev_add +EXPORT_SYMBOL vmlinux 0x56f38712 schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x56f494e0 smp_call_function +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x573a0b01 dm_table_event +EXPORT_SYMBOL vmlinux 0x5740a51f udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x57432517 blk_init_tags +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57adf756 per_cpu__this_cpu_off +EXPORT_SYMBOL vmlinux 0x57b57ebe jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0x57c509fd acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0x57c8f095 node_data +EXPORT_SYMBOL vmlinux 0x57db7242 mangle_path +EXPORT_SYMBOL vmlinux 0x57e150ce set_pages_array_wb +EXPORT_SYMBOL vmlinux 0x5832ec7c vfs_rename +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x584738f9 rdmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x586155ff rtnl_unicast +EXPORT_SYMBOL vmlinux 0x58641e0a vfs_quota_on_mount +EXPORT_SYMBOL vmlinux 0x58642ac8 __scm_send +EXPORT_SYMBOL vmlinux 0x588e23b3 dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x5894db67 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x58969bf1 pnp_release_card_device +EXPORT_SYMBOL vmlinux 0x58b63bbd netpoll_print_options +EXPORT_SYMBOL vmlinux 0x58c2eb0a submit_bio +EXPORT_SYMBOL vmlinux 0x58caa715 dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x5907c012 input_get_keycode +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x59361495 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x596a49d0 pci_set_master +EXPORT_SYMBOL vmlinux 0x59748f08 splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0x5978ea34 blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x59a46225 inet_add_protocol +EXPORT_SYMBOL vmlinux 0x59a86dab alloc_pci_dev +EXPORT_SYMBOL vmlinux 0x59bc9609 acpi_write_bit_register +EXPORT_SYMBOL vmlinux 0x59cb4200 agp_free_memory +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59f935e5 phy_device_free +EXPORT_SYMBOL vmlinux 0x5a0cf4aa agp_collect_device_status +EXPORT_SYMBOL vmlinux 0x5a10ff1f in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x5a1d0bdf agp_generic_alloc_pages +EXPORT_SYMBOL vmlinux 0x5a2260f8 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0x5a26e9f8 pnp_is_active +EXPORT_SYMBOL vmlinux 0x5a34a45c __kmalloc +EXPORT_SYMBOL vmlinux 0x5a4896a8 __put_user_2 +EXPORT_SYMBOL vmlinux 0x5a57d155 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x5a5e7ea3 simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5a796ded call_usermodehelper_setkeys +EXPORT_SYMBOL vmlinux 0x5a7eda87 posix_acl_permission +EXPORT_SYMBOL vmlinux 0x5aa1972b inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x5aa3cbeb blk_sync_queue +EXPORT_SYMBOL vmlinux 0x5aab2064 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x5ac376a5 acpi_install_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x5ae74a61 fddi_type_trans +EXPORT_SYMBOL vmlinux 0x5aeadad2 set_page_dirty +EXPORT_SYMBOL vmlinux 0x5aed53e8 alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x5b0555ad skb_copy +EXPORT_SYMBOL vmlinux 0x5b26f356 phy_device_register +EXPORT_SYMBOL vmlinux 0x5b27bcec sysctl_intvec +EXPORT_SYMBOL vmlinux 0x5b4009c0 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x5b51c6a7 acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x5b571983 arp_send +EXPORT_SYMBOL vmlinux 0x5b8c3942 md_register_thread +EXPORT_SYMBOL vmlinux 0x5b8d059f inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x5b958838 generic_show_options +EXPORT_SYMBOL vmlinux 0x5b97ad34 input_free_device +EXPORT_SYMBOL vmlinux 0x5b9f79aa lock_may_read +EXPORT_SYMBOL vmlinux 0x5bae2eac acpi_extract_package +EXPORT_SYMBOL vmlinux 0x5bbaf7d1 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x5bbfafb9 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x5bd672d4 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x5c205b05 test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x5c77dc1c filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x5c7bce10 agp_generic_alloc_page +EXPORT_SYMBOL vmlinux 0x5c9c686b mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x5cc4e7b4 serio_rescan +EXPORT_SYMBOL vmlinux 0x5cc8e015 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x5cdfdd7f bio_split +EXPORT_SYMBOL vmlinux 0x5ce61d9b sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x5d04df2a vfs_dq_quota_on_remount +EXPORT_SYMBOL vmlinux 0x5d0c28af phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x5d12b3fc twl4030_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x5d3b0209 slow_work_register_user +EXPORT_SYMBOL vmlinux 0x5d44a99e ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x5d513dea inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x5d74dbcf pnp_range_reserved +EXPORT_SYMBOL vmlinux 0x5d96df3c default_unplug_io_fn +EXPORT_SYMBOL vmlinux 0x5da754a7 dev_unicast_delete +EXPORT_SYMBOL vmlinux 0x5daef1fe revert_creds +EXPORT_SYMBOL vmlinux 0x5dbc36b5 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x5df170d3 dquot_release +EXPORT_SYMBOL vmlinux 0x5df21e51 nf_reinject +EXPORT_SYMBOL vmlinux 0x5e1fcfca xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x5e21f413 kobject_get +EXPORT_SYMBOL vmlinux 0x5e4307a0 kobject_add +EXPORT_SYMBOL vmlinux 0x5e61b330 swiotlb_map_sg +EXPORT_SYMBOL vmlinux 0x5e639f4c md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea520c5 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x5eafa6e7 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x5ec1ac81 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x5ec8ae3c phy_connect +EXPORT_SYMBOL vmlinux 0x5ec9c5f8 phy_start +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed6899a scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5f044d2f end_page_writeback +EXPORT_SYMBOL vmlinux 0x5f0f1bde pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x5f1425f4 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x5f43ab70 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x5f470e14 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x5f56db66 per_cpu__ftrace_event_seq +EXPORT_SYMBOL vmlinux 0x5fd14731 follow_pfn +EXPORT_SYMBOL vmlinux 0x5fdaa554 rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0x5fdbf4e9 block_truncate_page +EXPORT_SYMBOL vmlinux 0x5ff42b08 acpi_video_get_capabilities +EXPORT_SYMBOL vmlinux 0x600362d9 dqput +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x600794e8 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x6010a85d tty_port_hangup +EXPORT_SYMBOL vmlinux 0x60293958 vfs_symlink +EXPORT_SYMBOL vmlinux 0x602cdffc neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x602ed00d acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0x6038849d scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0x6043fe3c wireless_spy_update +EXPORT_SYMBOL vmlinux 0x6055c5c9 agp_generic_type_to_mask_type +EXPORT_SYMBOL vmlinux 0x6056c2ba bdi_init +EXPORT_SYMBOL vmlinux 0x605c8bde radix_tree_delete +EXPORT_SYMBOL vmlinux 0x608b05bb acpi_is_video_device +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a0ebad __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60e6ea7b blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x60fced2c kernel_getsockname +EXPORT_SYMBOL vmlinux 0x6103c4c7 per_cpu__irq_stat +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x613e226b open_by_devnum +EXPORT_SYMBOL vmlinux 0x61412a7c netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x6144ed74 dev_addr_add +EXPORT_SYMBOL vmlinux 0x6173b33b ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x61744415 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x618d8299 set_notify_swap_entry_free +EXPORT_SYMBOL vmlinux 0x619074ee kernel_accept +EXPORT_SYMBOL vmlinux 0x61980a87 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x619a1cad neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x61a09ec5 vfs_unlink +EXPORT_SYMBOL vmlinux 0x61aa2678 __nla_put +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61d1c513 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x61d3711c vga_tryget +EXPORT_SYMBOL vmlinux 0x62049256 acpi_disable +EXPORT_SYMBOL vmlinux 0x620ae6c0 pv_cpu_ops +EXPORT_SYMBOL vmlinux 0x621de89e __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x6237f6b5 acpi_enable_event +EXPORT_SYMBOL vmlinux 0x62447f77 seq_open +EXPORT_SYMBOL vmlinux 0x6246e134 pci_get_bus_and_slot +EXPORT_SYMBOL vmlinux 0x625670f6 lookup_hash +EXPORT_SYMBOL vmlinux 0x62592ec0 datagram_poll +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62748e70 acpi_set_current_resources +EXPORT_SYMBOL vmlinux 0x62764f82 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x6286816d framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x629838f1 sock_no_listen +EXPORT_SYMBOL vmlinux 0x62bf3fcd netlink_set_err +EXPORT_SYMBOL vmlinux 0x62d8052e rfkill_register +EXPORT_SYMBOL vmlinux 0x62ddee0a grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0x6307fc98 del_timer +EXPORT_SYMBOL vmlinux 0x636a5691 acpi_register_ioapic +EXPORT_SYMBOL vmlinux 0x636adf69 xfrm_input +EXPORT_SYMBOL vmlinux 0x6372cc06 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x63e372f6 ip_fragment +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63ee986f remove_arg_zero +EXPORT_SYMBOL vmlinux 0x63f9044a agp_find_bridge +EXPORT_SYMBOL vmlinux 0x63fc232f strlen_user +EXPORT_SYMBOL vmlinux 0x6403e1e9 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x6413b9cf filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x642e54ac __wake_up +EXPORT_SYMBOL vmlinux 0x6441b005 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x645b6a1a udp_sendmsg +EXPORT_SYMBOL vmlinux 0x6466a1e6 mempool_alloc +EXPORT_SYMBOL vmlinux 0x6476a09e mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x6478134c ec_burst_enable +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64a2de40 phy_driver_register +EXPORT_SYMBOL vmlinux 0x64eae7ad set_memory_array_wb +EXPORT_SYMBOL vmlinux 0x64f30108 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x65022a24 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0x650fb346 add_wait_queue +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x6525b428 uart_update_timeout +EXPORT_SYMBOL vmlinux 0x653a7c79 generic_removexattr +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65414e67 dev_valid_name +EXPORT_SYMBOL vmlinux 0x655208d3 follow_up +EXPORT_SYMBOL vmlinux 0x6574d977 block_invalidatepage +EXPORT_SYMBOL vmlinux 0x6583f2af vlan_gro_receive +EXPORT_SYMBOL vmlinux 0x6587df3a mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x6597c30a __put_cred +EXPORT_SYMBOL vmlinux 0x65b03237 mmc_free_host +EXPORT_SYMBOL vmlinux 0x661a5783 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x6638d0e2 uart_resume_port +EXPORT_SYMBOL vmlinux 0x66757e59 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x66aa48d0 elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0x66ade894 blk_complete_request +EXPORT_SYMBOL vmlinux 0x66c59092 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x67053080 current_kernel_time +EXPORT_SYMBOL vmlinux 0x671b7e46 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x672144bd strlcpy +EXPORT_SYMBOL vmlinux 0x67280a02 journal_flush +EXPORT_SYMBOL vmlinux 0x6729d3df __get_user_4 +EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges +EXPORT_SYMBOL vmlinux 0x674e5a94 pci_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0x6768c050 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x67806e28 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67d7c864 fsync_bdev +EXPORT_SYMBOL vmlinux 0x67e6f480 keyring_clear +EXPORT_SYMBOL vmlinux 0x67f1bef7 seq_lseek +EXPORT_SYMBOL vmlinux 0x67fffc97 __breadahead +EXPORT_SYMBOL vmlinux 0x68021d60 key_link +EXPORT_SYMBOL vmlinux 0x680f37e0 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x6812691c pci_match_id +EXPORT_SYMBOL vmlinux 0x68432bf0 pnp_device_detach +EXPORT_SYMBOL vmlinux 0x6858b238 blk_queue_max_sectors +EXPORT_SYMBOL vmlinux 0x686dd14e i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x68ae425f __dst_free +EXPORT_SYMBOL vmlinux 0x6907d4e9 idr_for_each +EXPORT_SYMBOL vmlinux 0x6913b834 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x6928fe92 blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0x695f5e85 poll_initwait +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x697b4e53 tcp_close +EXPORT_SYMBOL vmlinux 0x697cb0a0 sysctl_ms_jiffies +EXPORT_SYMBOL vmlinux 0x6980fe91 param_get_int +EXPORT_SYMBOL vmlinux 0x6981f3e9 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x69927dff try_acquire_console_sem +EXPORT_SYMBOL vmlinux 0x699a6ebe shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x699bb514 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x69a0ca7d iowrite16be +EXPORT_SYMBOL vmlinux 0x69a358a6 iomem_resource +EXPORT_SYMBOL vmlinux 0x69aef723 per_cpu__cpu_info +EXPORT_SYMBOL vmlinux 0x69b0ade4 security_inode_permission +EXPORT_SYMBOL vmlinux 0x69c8c1d5 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x69caaa70 inet6_bind +EXPORT_SYMBOL vmlinux 0x69d2575f efi +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69d7b27d __scsi_add_device +EXPORT_SYMBOL vmlinux 0x69e0da74 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a47571d __set_personality +EXPORT_SYMBOL vmlinux 0x6a54baea page_symlink +EXPORT_SYMBOL vmlinux 0x6a5f98a0 ida_get_new_above +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a94ced7 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x6a9f26c9 init_timer_key +EXPORT_SYMBOL vmlinux 0x6ac2c6a4 elv_abort_queue +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6ad065f4 param_set_charp +EXPORT_SYMBOL vmlinux 0x6ad14b4b cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x6ad85887 acpi_enable_gpe +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6aeb0696 mmc_card_sleep +EXPORT_SYMBOL vmlinux 0x6b168185 pcim_iomap +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b4e5a52 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x6b5499c8 notify_change +EXPORT_SYMBOL vmlinux 0x6b66aa4a module_layout +EXPORT_SYMBOL vmlinux 0x6b8fef6a sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x6b9b88f3 sleep_on +EXPORT_SYMBOL vmlinux 0x6ba39619 get_write_access +EXPORT_SYMBOL vmlinux 0x6ba49d45 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x6baabdc0 bio_init +EXPORT_SYMBOL vmlinux 0x6baaf4a5 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x6bbcf264 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bc56c67 radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x6bd76217 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6be7e998 __pagevec_release +EXPORT_SYMBOL vmlinux 0x6c331489 ethtool_op_set_tx_hw_csum +EXPORT_SYMBOL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL vmlinux 0x6c5837f8 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x6c5ac193 blk_end_request +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c656ba5 md_unregister_thread +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c7a4d86 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x6c7f7a8f neigh_for_each +EXPORT_SYMBOL vmlinux 0x6c8b00b2 ndisc_send_skb +EXPORT_SYMBOL vmlinux 0x6ca27d0a dm_table_get +EXPORT_SYMBOL vmlinux 0x6cb84b9e pipe_to_file +EXPORT_SYMBOL vmlinux 0x6ce420dc mmc_release_host +EXPORT_SYMBOL vmlinux 0x6cee137f dm_dirty_log_create +EXPORT_SYMBOL vmlinux 0x6cf45a10 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x6d0b77fe sysctl_data +EXPORT_SYMBOL vmlinux 0x6d0e3039 vfs_fstatat +EXPORT_SYMBOL vmlinux 0x6d27ef64 __bitmap_empty +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d2c308f elv_add_request +EXPORT_SYMBOL vmlinux 0x6d334118 __get_user_8 +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d5d3586 fb_validate_mode +EXPORT_SYMBOL vmlinux 0x6d616dd1 unregister_cdrom +EXPORT_SYMBOL vmlinux 0x6d656eb4 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d77b8e9 simple_transaction_release +EXPORT_SYMBOL vmlinux 0x6da856c2 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x6dc0c24b complete_and_exit +EXPORT_SYMBOL vmlinux 0x6dca8e49 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x6dcaeb88 per_cpu__kernel_stack +EXPORT_SYMBOL vmlinux 0x6dd999b0 pci_dev_put +EXPORT_SYMBOL vmlinux 0x6de6bf83 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6e063d30 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x6e07a54e acpi_get_gpe_status +EXPORT_SYMBOL vmlinux 0x6e082976 swiotlb_free_coherent +EXPORT_SYMBOL vmlinux 0x6e0baa0f skb_under_panic +EXPORT_SYMBOL vmlinux 0x6e0f4648 init_special_inode +EXPORT_SYMBOL vmlinux 0x6e378255 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e7dd77c tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x6e802324 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x6e82571d scsi_print_result +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea2c55c tcp_read_sock +EXPORT_SYMBOL vmlinux 0x6eaa06c2 mddev_congested +EXPORT_SYMBOL vmlinux 0x6eb0fdf3 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x6ec1b731 con_copy_unimap +EXPORT_SYMBOL vmlinux 0x6f03183b simple_unlink +EXPORT_SYMBOL vmlinux 0x6f035a2f __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x6f16b467 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x6f344d97 bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x6f4c508e blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x6f556bdb acpi_get_gpe_device +EXPORT_SYMBOL vmlinux 0x6f565f52 input_unregister_handler +EXPORT_SYMBOL vmlinux 0x6f597ced unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x6f7712d4 agp_bind_memory +EXPORT_SYMBOL vmlinux 0x6f891462 request_key_async +EXPORT_SYMBOL vmlinux 0x6f8ac9da task_nice +EXPORT_SYMBOL vmlinux 0x6fc34786 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6feb2039 acpi_write +EXPORT_SYMBOL vmlinux 0x6fff393f time_to_tm +EXPORT_SYMBOL vmlinux 0x700936f7 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x703273e5 pci_find_bus +EXPORT_SYMBOL vmlinux 0x703bc7b5 kthread_stop +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x70765d1c vfs_lstat +EXPORT_SYMBOL vmlinux 0x7078dc17 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x707b9549 i2c_release_client +EXPORT_SYMBOL vmlinux 0x70917b83 take_over_console +EXPORT_SYMBOL vmlinux 0x709c9efc generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x70a20009 d_rehash +EXPORT_SYMBOL vmlinux 0x70aeaadc jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x70b788a3 ip_setsockopt +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70d8ab82 acpi_acquire_global_lock +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x712aa29b _spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x712e09d7 register_8022_client +EXPORT_SYMBOL vmlinux 0x71356fba remove_wait_queue +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x7177bf78 invalidate_partition +EXPORT_SYMBOL vmlinux 0x717eb0c7 dcache_dir_close +EXPORT_SYMBOL vmlinux 0x71a38c2d __free_pages +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71bde0cd vga_put +EXPORT_SYMBOL vmlinux 0x71be426b mntput_no_expire +EXPORT_SYMBOL vmlinux 0x71c3775b rfkill_unregister +EXPORT_SYMBOL vmlinux 0x71d30e69 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x71d95e02 alloc_mdio_bitbang +EXPORT_SYMBOL vmlinux 0x71f6eb38 sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x7209333f scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x7209736e abort_creds +EXPORT_SYMBOL vmlinux 0x723e177d inet_frag_kill +EXPORT_SYMBOL vmlinux 0x7242e96d strnchr +EXPORT_SYMBOL vmlinux 0x7250c7d4 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x728fbfd7 sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x72a8a198 __netdev_alloc_page +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72bf2140 mtrr_add +EXPORT_SYMBOL vmlinux 0x72c1be40 netif_device_detach +EXPORT_SYMBOL vmlinux 0x72c3be87 param_set_byte +EXPORT_SYMBOL vmlinux 0x72e147d0 kill_anon_super +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x73069c5a complete_request_key +EXPORT_SYMBOL vmlinux 0x730868e2 unlock_rename +EXPORT_SYMBOL vmlinux 0x73197ca9 skb_dma_map +EXPORT_SYMBOL vmlinux 0x731cb7ca tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x7326478f pci_set_consistent_dma_mask +EXPORT_SYMBOL vmlinux 0x733aa71b alloc_fddidev +EXPORT_SYMBOL vmlinux 0x733f95dd security_path_mknod +EXPORT_SYMBOL vmlinux 0x734e53a3 scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0x735a0bd5 native_io_delay +EXPORT_SYMBOL vmlinux 0x736b337e tty_free_termios +EXPORT_SYMBOL vmlinux 0x736d0d9e gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x73704fb6 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x73745f28 seq_bitmap +EXPORT_SYMBOL vmlinux 0x737a6917 send_sig +EXPORT_SYMBOL vmlinux 0x7389c9a8 acpi_bus_get_power +EXPORT_SYMBOL vmlinux 0x738a2c27 proc_symlink +EXPORT_SYMBOL vmlinux 0x738c7bcd alloc_pages_current +EXPORT_SYMBOL vmlinux 0x739ee22d gen_pool_add +EXPORT_SYMBOL vmlinux 0x73cf0c25 vfs_fsync +EXPORT_SYMBOL vmlinux 0x73d47708 inet_frags_init +EXPORT_SYMBOL vmlinux 0x73f075b6 napi_frags_skb +EXPORT_SYMBOL vmlinux 0x740a1b95 reserve_evntsel_nmi +EXPORT_SYMBOL vmlinux 0x741195ea path_get +EXPORT_SYMBOL vmlinux 0x7416c016 ip6_frag_init +EXPORT_SYMBOL vmlinux 0x7445c62c dev_get_flags +EXPORT_SYMBOL vmlinux 0x744c0c68 param_get_byte +EXPORT_SYMBOL vmlinux 0x74628101 f_setown +EXPORT_SYMBOL vmlinux 0x74652cce fddi_change_mtu +EXPORT_SYMBOL vmlinux 0x747e69c7 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x748caf40 down +EXPORT_SYMBOL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL vmlinux 0x74aed565 vfs_set_dqinfo +EXPORT_SYMBOL vmlinux 0x74bfc369 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74d6fafb phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x7538b132 agp_off +EXPORT_SYMBOL vmlinux 0x75396cca tcp_disconnect +EXPORT_SYMBOL vmlinux 0x755a15ea vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x7560c33c __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x756e6992 strnicmp +EXPORT_SYMBOL vmlinux 0x75754f18 sock_no_poll +EXPORT_SYMBOL vmlinux 0x7579ae44 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x75bdea12 iommu_area_alloc +EXPORT_SYMBOL vmlinux 0x75c8fab9 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x75e9f869 netif_rx +EXPORT_SYMBOL vmlinux 0x75f947b6 lro_vlan_hwaccel_receive_frags +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x76103d07 neigh_event_ns +EXPORT_SYMBOL vmlinux 0x76254c6a do_sync_write +EXPORT_SYMBOL vmlinux 0x764bd77c request_resource +EXPORT_SYMBOL vmlinux 0x764f5e90 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x76577b7e neigh_table_init_no_netlink +EXPORT_SYMBOL vmlinux 0x766226bf mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x767dd8fd acpi_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0x767ddb02 set_memory_wc +EXPORT_SYMBOL vmlinux 0x7683453b elv_queue_empty +EXPORT_SYMBOL vmlinux 0x7685259e xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x76869ac8 rdmsr_on_cpus +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76c188a7 d_path +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76e9fea0 d_add_ci +EXPORT_SYMBOL vmlinux 0x76f069f1 arp_tbl +EXPORT_SYMBOL vmlinux 0x76f3f8a5 num_k8_northbridges +EXPORT_SYMBOL vmlinux 0x76fa8bb6 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x770be49a blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x77244bd3 kmem_cache_name +EXPORT_SYMBOL vmlinux 0x772814b8 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x77391108 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x7742680a check_disk_change +EXPORT_SYMBOL vmlinux 0x774c00f8 netlink_dump_start +EXPORT_SYMBOL vmlinux 0x774efd16 bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x77912376 blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0x77a108df _write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x77a83b04 dquot_commit_info +EXPORT_SYMBOL vmlinux 0x77cfcfde __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x77e86c2d fail_migrate_page +EXPORT_SYMBOL vmlinux 0x77ec97b4 scsi_remove_host +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77f53abc acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x77f94d08 blk_plug_device_unlocked +EXPORT_SYMBOL vmlinux 0x77fa5d1f ns_to_timespec +EXPORT_SYMBOL vmlinux 0x782acba5 crc_t10dif +EXPORT_SYMBOL vmlinux 0x783d0c5d blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x785148a3 idr_destroy +EXPORT_SYMBOL vmlinux 0x785360a8 phy_device_create +EXPORT_SYMBOL vmlinux 0x78645918 migrate_page +EXPORT_SYMBOL vmlinux 0x78764f4e pv_irq_ops +EXPORT_SYMBOL vmlinux 0x788c580d pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0x78a3d3a6 xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0x78a484c9 _read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78fde59f tcf_em_register +EXPORT_SYMBOL vmlinux 0x79068fda acpi_install_method +EXPORT_SYMBOL vmlinux 0x790aa7d7 pci_fixup_device +EXPORT_SYMBOL vmlinux 0x7926b0d8 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x792cfba1 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x792d68ed genphy_config_advert +EXPORT_SYMBOL vmlinux 0x796157ae mutex_unlock +EXPORT_SYMBOL vmlinux 0x796926e4 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79ad224b tasklet_kill +EXPORT_SYMBOL vmlinux 0x79d1c41b journal_ack_err +EXPORT_SYMBOL vmlinux 0x79d323f7 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x79f82ed1 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x7a06af88 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x7a14bcd9 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x7a2a4ad5 prepare_creds +EXPORT_SYMBOL vmlinux 0x7a2a837d strict_strtol +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a7c0d25 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x7a848702 _read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x7aaa3085 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x7ae73de1 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x7aec9089 clear_user +EXPORT_SYMBOL vmlinux 0x7b0c84c4 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0x7b2b5acc dquot_destroy +EXPORT_SYMBOL vmlinux 0x7b2bfb68 unregister_netdevice +EXPORT_SYMBOL vmlinux 0x7b342e6f blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0x7b3bf824 copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x7b4dad67 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x7b52a859 wrmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x7b538e36 set_device_ro +EXPORT_SYMBOL vmlinux 0x7b56bd05 acpi_lid_notifier_register +EXPORT_SYMBOL vmlinux 0x7b6ce00f pnp_activate_dev +EXPORT_SYMBOL vmlinux 0x7b7fe54c agp_enable +EXPORT_SYMBOL vmlinux 0x7b8a5287 deny_write_access +EXPORT_SYMBOL vmlinux 0x7b8f4c40 key_create_or_update +EXPORT_SYMBOL vmlinux 0x7ba0c1af km_policy_notify +EXPORT_SYMBOL vmlinux 0x7ba113ec vfs_set_dqblk +EXPORT_SYMBOL vmlinux 0x7bab4675 read_cache_page_async +EXPORT_SYMBOL vmlinux 0x7bb8fc3a unregister_con_driver +EXPORT_SYMBOL vmlinux 0x7bff3be7 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x7c17c6f1 elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0x7c1cde82 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x7c1dfed8 __page_cache_alloc +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c61340c __release_region +EXPORT_SYMBOL vmlinux 0x7c820401 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7cb1ae69 cpu_down +EXPORT_SYMBOL vmlinux 0x7cbf7a7a security_inode_readlink +EXPORT_SYMBOL vmlinux 0x7ceb77e4 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x7cedbb6d starget_for_each_device +EXPORT_SYMBOL vmlinux 0x7d002bc3 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x7d0d28b8 bio_copy_kern +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d207465 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x7d3b165f nf_getsockopt +EXPORT_SYMBOL vmlinux 0x7d41367f mdiobus_alloc +EXPORT_SYMBOL vmlinux 0x7d4d64f1 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x7d6c7008 mmc_suspend_host +EXPORT_SYMBOL vmlinux 0x7d6faa1a block_write_end +EXPORT_SYMBOL vmlinux 0x7d7aaeab skb_append +EXPORT_SYMBOL vmlinux 0x7d94f746 acpi_os_write_port +EXPORT_SYMBOL vmlinux 0x7dac7f76 dev_set_mtu +EXPORT_SYMBOL vmlinux 0x7daf7486 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x7dbb15ee pci_restore_state +EXPORT_SYMBOL vmlinux 0x7dceceac capable +EXPORT_SYMBOL vmlinux 0x7dd1881a md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x7dd554fc unregister_kmmio_probe +EXPORT_SYMBOL vmlinux 0x7e1c41fa skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x7e325dd5 filp_open +EXPORT_SYMBOL vmlinux 0x7e4bbcd6 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x7e7cd0fb security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x7e837b5a tc_classify_compat +EXPORT_SYMBOL vmlinux 0x7e9ebb05 kernel_thread +EXPORT_SYMBOL vmlinux 0x7ea15bf9 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x7ea5f716 sk_dst_check +EXPORT_SYMBOL vmlinux 0x7ec9bfbc strncpy +EXPORT_SYMBOL vmlinux 0x7ee91c1d _spin_trylock +EXPORT_SYMBOL vmlinux 0x7efdc83d pci_release_region +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f2c7121 bio_clone +EXPORT_SYMBOL vmlinux 0x7f531237 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x7f5e081a nf_ct_attach +EXPORT_SYMBOL vmlinux 0x7f64abfe __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0x7f6b2186 dm_table_unplug_all +EXPORT_SYMBOL vmlinux 0x7f942630 register_md_personality +EXPORT_SYMBOL vmlinux 0x7fa32f2c inet_stream_connect +EXPORT_SYMBOL vmlinux 0x7fd6903d inode_change_ok +EXPORT_SYMBOL vmlinux 0x7ffc34c9 inet_sendmsg +EXPORT_SYMBOL vmlinux 0x80139cbe dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x801a82d1 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x8068c3ee generic_permission +EXPORT_SYMBOL vmlinux 0x806cc33e __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x8071d294 pnp_get_resource +EXPORT_SYMBOL vmlinux 0x8072dbb2 simple_link +EXPORT_SYMBOL vmlinux 0x80980e39 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x80b9078e agp_generic_remove_memory +EXPORT_SYMBOL vmlinux 0x80d5cff0 per_cpu__irq_regs +EXPORT_SYMBOL vmlinux 0x81231614 register_gifconf +EXPORT_SYMBOL vmlinux 0x81251ecb ilookup5 +EXPORT_SYMBOL vmlinux 0x81390c59 otg_put_transceiver +EXPORT_SYMBOL vmlinux 0x813b0461 set_irq_chip +EXPORT_SYMBOL vmlinux 0x8140a3da bio_alloc +EXPORT_SYMBOL vmlinux 0x8143f232 journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x81472677 acpi_get_table +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page +EXPORT_SYMBOL vmlinux 0x81932ac4 phy_disable_interrupts +EXPORT_SYMBOL vmlinux 0x81b1124f add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x81f138dd remap_pfn_range +EXPORT_SYMBOL vmlinux 0x820d225f print_mac +EXPORT_SYMBOL vmlinux 0x820fc63c vfsmount_lock +EXPORT_SYMBOL vmlinux 0x82120d1c pipe_unlock +EXPORT_SYMBOL vmlinux 0x8212721d xenbus_dev_request_and_reply +EXPORT_SYMBOL vmlinux 0x821c6e7d pskb_copy +EXPORT_SYMBOL vmlinux 0x821ce54d phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x8222c149 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x823d8a44 security_path_rmdir +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x82692209 kref_set +EXPORT_SYMBOL vmlinux 0x827a2333 tcp_v4_md5_do_add +EXPORT_SYMBOL vmlinux 0x8289296c tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x828a9267 blk_make_request +EXPORT_SYMBOL vmlinux 0x828cd18d sock_wake_async +EXPORT_SYMBOL vmlinux 0x82a267fd xfrm_lookup +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82af3b4a tty_insert_flip_string +EXPORT_SYMBOL vmlinux 0x82b11262 tty_set_operations +EXPORT_SYMBOL vmlinux 0x82b43ab7 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x82b5b37d simple_write_begin +EXPORT_SYMBOL vmlinux 0x82d3e07d gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x82e9c083 csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x830e547b ioremap_prot +EXPORT_SYMBOL vmlinux 0x8311a271 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x8317e20a completion_done +EXPORT_SYMBOL vmlinux 0x83226796 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x832d7249 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x83509e9e hippi_mac_addr +EXPORT_SYMBOL vmlinux 0x835423dc xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x8369fd1d xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x8374153a write_one_page +EXPORT_SYMBOL vmlinux 0x837d10dd bmap +EXPORT_SYMBOL vmlinux 0x837fdad2 uart_get_divisor +EXPORT_SYMBOL vmlinux 0x83811858 __tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x8385a1f9 inet_select_addr +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83ad0131 pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0x83c43dc1 posix_acl_chmod_masq +EXPORT_SYMBOL vmlinux 0x83de64c7 ethtool_op_get_tso +EXPORT_SYMBOL vmlinux 0x83f54e60 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x83f747d8 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x83fbc626 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x8403c1ed add_disk +EXPORT_SYMBOL vmlinux 0x840aca4b posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0x841bd460 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x84bc7cda dev_open +EXPORT_SYMBOL vmlinux 0x84d35323 inet6_getname +EXPORT_SYMBOL vmlinux 0x854cd7c2 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x855ff1e2 scsi_execute +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x857164c1 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x8582a086 dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x8582fcbd read_cache_pages +EXPORT_SYMBOL vmlinux 0x85a523f6 cont_write_begin +EXPORT_SYMBOL vmlinux 0x85abc85f strncmp +EXPORT_SYMBOL vmlinux 0x85c23045 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e87baa no_llseek +EXPORT_SYMBOL vmlinux 0x860359ca jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x8631f188 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x863b57c6 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x8647b791 lock_rename +EXPORT_SYMBOL vmlinux 0x865d4a23 serio_open +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x868329b8 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x8690054f update_region +EXPORT_SYMBOL vmlinux 0x86c7146d vfs_fstat +EXPORT_SYMBOL vmlinux 0x86db91c6 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x86e6bc73 swiotlb_dma_supported +EXPORT_SYMBOL vmlinux 0x86e84c86 tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x86ef8194 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x8725b236 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0x8733e9a3 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x8739c087 udp_poll +EXPORT_SYMBOL vmlinux 0x876dafc3 ec_write +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x8797241f i2c_transfer +EXPORT_SYMBOL vmlinux 0x87aaddf8 wrmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0x87e825de dmam_pool_create +EXPORT_SYMBOL vmlinux 0x88029aa8 get_agp_version +EXPORT_SYMBOL vmlinux 0x88044c03 do_truncate +EXPORT_SYMBOL vmlinux 0x88052cb5 dm_exception_store_type_unregister +EXPORT_SYMBOL vmlinux 0x88082e6f sk_release_kernel +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x883a9b4e skb_checksum +EXPORT_SYMBOL vmlinux 0x8855b661 simple_write_end +EXPORT_SYMBOL vmlinux 0x886aa274 posix_acl_create_masq +EXPORT_SYMBOL vmlinux 0x88813e2a skb_push +EXPORT_SYMBOL vmlinux 0x889da329 seq_bitmap_list +EXPORT_SYMBOL vmlinux 0x88a2e33c bio_sector_offset +EXPORT_SYMBOL vmlinux 0x88f2f748 read_dev_sector +EXPORT_SYMBOL vmlinux 0x890353c9 cdev_del +EXPORT_SYMBOL vmlinux 0x892b26a0 set_memory_nx +EXPORT_SYMBOL vmlinux 0x893f2a1e skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x8981ec76 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x89949018 down_timeout +EXPORT_SYMBOL vmlinux 0x89adc8ed pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x89c3835f pci_enable_bridges +EXPORT_SYMBOL vmlinux 0x89d3d2e4 phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x8a1203a9 kref_get +EXPORT_SYMBOL vmlinux 0x8a1d2c1f dm_table_get_md +EXPORT_SYMBOL vmlinux 0x8a373fd7 twl4030_i2c_write +EXPORT_SYMBOL vmlinux 0x8a3eabf0 __wait_on_bit +EXPORT_SYMBOL vmlinux 0x8a63349d mpage_readpage +EXPORT_SYMBOL vmlinux 0x8a707293 acpi_unlock_ac_dir +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aad6f5f tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x8abbdb5b __devm_request_region +EXPORT_SYMBOL vmlinux 0x8ac40297 iommu_area_free +EXPORT_SYMBOL vmlinux 0x8b34b7f6 set_blocksize +EXPORT_SYMBOL vmlinux 0x8b35e873 sg_last +EXPORT_SYMBOL vmlinux 0x8b481ebc xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x8b5f4a2e IO_APIC_get_PCI_irq_vector +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b78361b dquot_reserve_space +EXPORT_SYMBOL vmlinux 0x8b7fe311 kmemdup +EXPORT_SYMBOL vmlinux 0x8b87618e devm_ioport_map +EXPORT_SYMBOL vmlinux 0x8b922c0f __strnlen_user +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8bacdd06 register_nls +EXPORT_SYMBOL vmlinux 0x8bb287b9 tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x8bbdf32f nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x8bc36a94 inode_add_bytes +EXPORT_SYMBOL vmlinux 0x8bd313b8 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x8bd5b603 param_get_long +EXPORT_SYMBOL vmlinux 0x8bd90c15 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x8bf508fc elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c2d1e63 vmtruncate +EXPORT_SYMBOL vmlinux 0x8c4bc930 iget_locked +EXPORT_SYMBOL vmlinux 0x8c537c45 posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x8c5f5810 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x8c70347f filemap_fault +EXPORT_SYMBOL vmlinux 0x8c72b2b9 inet6_ioctl +EXPORT_SYMBOL vmlinux 0x8cbe8171 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x8cc36dd4 ethtool_op_get_ufo +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8d3894f2 _ctype +EXPORT_SYMBOL vmlinux 0x8d3e8bab balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d5bef2a bdget_disk +EXPORT_SYMBOL vmlinux 0x8d6906d4 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x8d8d96c6 acpi_get_sleep_type_data +EXPORT_SYMBOL vmlinux 0x8d90426e skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x8dc79fad generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x8dca832f __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x8dd2469b check_disk_size_change +EXPORT_SYMBOL vmlinux 0x8e002cda acpi_remove_gpe_block +EXPORT_SYMBOL vmlinux 0x8e0637ba i8253_lock +EXPORT_SYMBOL vmlinux 0x8e0b7743 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x8e157d97 blk_start_request +EXPORT_SYMBOL vmlinux 0x8e38903c pci_set_power_state +EXPORT_SYMBOL vmlinux 0x8e3c9cc3 vprintk +EXPORT_SYMBOL vmlinux 0x8e592377 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x8e763ae1 send_remote_softirq +EXPORT_SYMBOL vmlinux 0x8ec1a23c override_creds +EXPORT_SYMBOL vmlinux 0x8ec769fe alloc_disk_node +EXPORT_SYMBOL vmlinux 0x8ee69235 timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8ef4a714 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x8f191d6d log_start_commit +EXPORT_SYMBOL vmlinux 0x8f2703b7 wbinvd_on_all_cpus +EXPORT_SYMBOL vmlinux 0x8f3c6c8a dev_get_stats +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f5724fd audit_log_start +EXPORT_SYMBOL vmlinux 0x8f6b7950 set_irq_data +EXPORT_SYMBOL vmlinux 0x8f6c05b6 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x8f9c199c __get_user_2 +EXPORT_SYMBOL vmlinux 0x8fc9d840 generic_write_end +EXPORT_SYMBOL vmlinux 0x8fcf8ea6 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x8fda3f1f jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x8fe8ad1a rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0x8ff7b1ff km_query +EXPORT_SYMBOL vmlinux 0x8ff937c9 init_buffer +EXPORT_SYMBOL vmlinux 0x90035333 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x900a4834 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x901fefff __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x9025db0b scsi_prep_return +EXPORT_SYMBOL vmlinux 0x9043df17 bio_pair_release +EXPORT_SYMBOL vmlinux 0x904409c6 acpi_set_firmware_waking_vector +EXPORT_SYMBOL vmlinux 0x904b44a5 eth_header_parse +EXPORT_SYMBOL vmlinux 0x908d2f9e rfkill_set_states +EXPORT_SYMBOL vmlinux 0x908fd708 dm_put_device +EXPORT_SYMBOL vmlinux 0x90a12997 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x90a1601f dmi_check_system +EXPORT_SYMBOL vmlinux 0x90a21c70 do_SAK +EXPORT_SYMBOL vmlinux 0x90a30754 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x90c9d5c8 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x90ee2f27 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x90f0c03b request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0x910d852c blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x912a63e5 swiotlb_alloc_coherent +EXPORT_SYMBOL vmlinux 0x9144a8e2 ec_burst_disable +EXPORT_SYMBOL vmlinux 0x91481982 __ratelimit +EXPORT_SYMBOL vmlinux 0x914f1450 __xfrm_lookup +EXPORT_SYMBOL vmlinux 0x91607d95 set_memory_wb +EXPORT_SYMBOL vmlinux 0x9173b015 uart_register_driver +EXPORT_SYMBOL vmlinux 0x91766c09 param_get_ulong +EXPORT_SYMBOL vmlinux 0x9198f6a7 ilookup +EXPORT_SYMBOL vmlinux 0x91a2c915 simple_sync_file +EXPORT_SYMBOL vmlinux 0x91c013b4 bdev_read_only +EXPORT_SYMBOL vmlinux 0x91c39ca4 page_put_link +EXPORT_SYMBOL vmlinux 0x920df444 tcp_check_req +EXPORT_SYMBOL vmlinux 0x9214ed8a param_get_bool +EXPORT_SYMBOL vmlinux 0x92392cd9 iov_shorten +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x923d4df2 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x924e489c rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x925de410 __scm_destroy +EXPORT_SYMBOL vmlinux 0x926151c7 kernel_connect +EXPORT_SYMBOL vmlinux 0x92728cd3 dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0x927e989f gen_pool_alloc +EXPORT_SYMBOL vmlinux 0x92c2aca3 unlock_page +EXPORT_SYMBOL vmlinux 0x92d2b47d blk_queue_bounce +EXPORT_SYMBOL vmlinux 0x92e0d6ae netif_notify_peers +EXPORT_SYMBOL vmlinux 0x92ea4ae4 crc32_le +EXPORT_SYMBOL vmlinux 0x92f56bad phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x92f7bf35 tty_vhangup +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x93223288 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x9331aa8f dm_dirty_log_type_unregister +EXPORT_SYMBOL vmlinux 0x933231fc generic_file_aio_read +EXPORT_SYMBOL vmlinux 0x93407803 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x934ba8e8 block_write_full_page +EXPORT_SYMBOL vmlinux 0x93647179 proc_mkdir +EXPORT_SYMBOL vmlinux 0x937735ba jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x93796757 mutex_lock +EXPORT_SYMBOL vmlinux 0x9385667d down_read_trylock +EXPORT_SYMBOL vmlinux 0x938f66d2 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93a95bed clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x93b677ce tcp_poll +EXPORT_SYMBOL vmlinux 0x93c651be acpi_info +EXPORT_SYMBOL vmlinux 0x93cbd1ec _spin_lock_bh +EXPORT_SYMBOL vmlinux 0x93f2d0bd bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x943e868f ida_get_new +EXPORT_SYMBOL vmlinux 0x94428de9 open_exec +EXPORT_SYMBOL vmlinux 0x9442c4fe agp_generic_enable +EXPORT_SYMBOL vmlinux 0x944832d6 ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x944e9697 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x945bc6a7 copy_from_user +EXPORT_SYMBOL vmlinux 0x945cfcef vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x94847b23 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x949a7420 skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x94a44cc1 registered_fb +EXPORT_SYMBOL vmlinux 0x94cd465c neigh_parms_release +EXPORT_SYMBOL vmlinux 0x94cd5b54 get_phy_device +EXPORT_SYMBOL vmlinux 0x94d9edbe scsi_host_get +EXPORT_SYMBOL vmlinux 0x94de54b9 kill_fasync +EXPORT_SYMBOL vmlinux 0x9532269c mnt_pin +EXPORT_SYMBOL vmlinux 0x95352ea9 acpi_check_mem_region +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x954cbb26 vsprintf +EXPORT_SYMBOL vmlinux 0x955892a6 tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x95700b24 inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0x95ceb864 key_update +EXPORT_SYMBOL vmlinux 0x95ebd84b mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x9629486a per_cpu__cpu_number +EXPORT_SYMBOL vmlinux 0x966b2db5 d_find_alias +EXPORT_SYMBOL vmlinux 0x9671b219 elevator_init +EXPORT_SYMBOL vmlinux 0x96739b8d journal_load +EXPORT_SYMBOL vmlinux 0x9678c605 udp_ioctl +EXPORT_SYMBOL vmlinux 0x96b0d797 bdevname +EXPORT_SYMBOL vmlinux 0x96b809b7 bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96d38c3b eth_header +EXPORT_SYMBOL vmlinux 0x970a3940 ethtool_op_set_sg +EXPORT_SYMBOL vmlinux 0x9710c39f blk_stack_limits +EXPORT_SYMBOL vmlinux 0x9715212b napi_frags_finish +EXPORT_SYMBOL vmlinux 0x973873ab _spin_lock +EXPORT_SYMBOL vmlinux 0x97518d35 blk_register_region +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x9787362d inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x97cc57cd __blk_end_request_all +EXPORT_SYMBOL vmlinux 0x97de0ddd acpi_install_gpe_block +EXPORT_SYMBOL vmlinux 0x982a0c49 dev_addr_del +EXPORT_SYMBOL vmlinux 0x98383b3b blk_requeue_request +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x988ed85d set_memory_x +EXPORT_SYMBOL vmlinux 0x9898ff06 acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0x98ba3b81 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x98df7e20 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x98e5cb40 pci_get_class +EXPORT_SYMBOL vmlinux 0x98e73bb7 ps2_drain +EXPORT_SYMBOL vmlinux 0x98f457e8 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x98fa0611 unregister_nls +EXPORT_SYMBOL vmlinux 0x990780d1 unregister_console +EXPORT_SYMBOL vmlinux 0x992a20a2 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x998104d1 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99b9d023 pid_task +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c7a8b8 jbd2_dev_to_name +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99e225a2 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x99ea12ce panic_blink +EXPORT_SYMBOL vmlinux 0x9a108cf9 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a3bb102 scsi_print_command +EXPORT_SYMBOL vmlinux 0x9a411deb fb_set_cmap +EXPORT_SYMBOL vmlinux 0x9a4b5dc8 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x9a4f082a nla_reserve +EXPORT_SYMBOL vmlinux 0x9a897831 nf_afinfo +EXPORT_SYMBOL vmlinux 0x9a8b1125 mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0x9a9985be percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x9aabc564 crc16 +EXPORT_SYMBOL vmlinux 0x9af6bc10 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x9b10792c journal_lock_updates +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b4955d8 neigh_connected_output +EXPORT_SYMBOL vmlinux 0x9b5f15f2 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x9b77a0cd tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x9ba44050 genphy_update_link +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9bcf9d05 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x9c012508 fb_parse_edid +EXPORT_SYMBOL vmlinux 0x9c0ea3cd memscan +EXPORT_SYMBOL vmlinux 0x9c48e25e iunique +EXPORT_SYMBOL vmlinux 0x9c491f60 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x9c71e738 per_cpu__vm_event_states +EXPORT_SYMBOL vmlinux 0x9c74c4b2 acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0x9c946d2f jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x9ca37eba kthread_create +EXPORT_SYMBOL vmlinux 0x9ca95a0e sort +EXPORT_SYMBOL vmlinux 0x9caa8365 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x9cac8447 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x9cac90ff spi_display_xfer_agreement +EXPORT_SYMBOL vmlinux 0x9caf02ed put_io_context +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9ccb2622 finish_wait +EXPORT_SYMBOL vmlinux 0x9ced38aa down_trylock +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d00d3c3 pci_scan_slot +EXPORT_SYMBOL vmlinux 0x9d03798e udp_proc_register +EXPORT_SYMBOL vmlinux 0x9d09a4fb address_space_init_once +EXPORT_SYMBOL vmlinux 0x9d2bb421 invalidate_inodes +EXPORT_SYMBOL vmlinux 0x9d33ef5e acpi_enable +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d3ab3c0 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x9d85c068 commit_creds +EXPORT_SYMBOL vmlinux 0x9db123b4 serio_interrupt +EXPORT_SYMBOL vmlinux 0x9db21624 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x9ddfe604 compat_sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x9e0fd067 d_lookup +EXPORT_SYMBOL vmlinux 0x9e162bfd km_state_expired +EXPORT_SYMBOL vmlinux 0x9e1efa0c skb_put +EXPORT_SYMBOL vmlinux 0x9e2ab2b6 mb_cache_shrink +EXPORT_SYMBOL vmlinux 0x9e2b048c tcp_proc_register +EXPORT_SYMBOL vmlinux 0x9e363b6b acpi_disable_gpe +EXPORT_SYMBOL vmlinux 0x9e64fbfe rtc_cmos_read +EXPORT_SYMBOL vmlinux 0x9e79e566 sk_receive_skb +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e837330 kill_block_super +EXPORT_SYMBOL vmlinux 0x9e9a29ea ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ea0ad49 __sg_free_table +EXPORT_SYMBOL vmlinux 0x9ea28ec7 acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0x9ea3672b pci_enable_wake +EXPORT_SYMBOL vmlinux 0x9ebd4c04 adjust_resource +EXPORT_SYMBOL vmlinux 0x9ed27bdd pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x9edbecae snprintf +EXPORT_SYMBOL vmlinux 0x9ee6cea2 register_exec_domain +EXPORT_SYMBOL vmlinux 0x9eecde16 do_brk +EXPORT_SYMBOL vmlinux 0x9f06d786 block_write_begin +EXPORT_SYMBOL vmlinux 0x9f07346e bioset_integrity_free +EXPORT_SYMBOL vmlinux 0x9f09df5c xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x9f1e52e1 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x9f235d7e ps2_init +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f2d613e param_set_bool +EXPORT_SYMBOL vmlinux 0x9f424093 free_user_ns +EXPORT_SYMBOL vmlinux 0x9f6cb336 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x9f723159 __elv_add_request +EXPORT_SYMBOL vmlinux 0x9f81e1fc __blk_end_request +EXPORT_SYMBOL vmlinux 0x9f92efc4 mmiotrace_printk +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa274b4 dq_data_lock +EXPORT_SYMBOL vmlinux 0x9ffc9fd5 blk_run_queue +EXPORT_SYMBOL vmlinux 0xa009f018 d_instantiate +EXPORT_SYMBOL vmlinux 0xa012b7bc jbd2_journal_update_format +EXPORT_SYMBOL vmlinux 0xa01fb2f2 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0xa0226b81 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0xa03523d5 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xa046a10b inet6_release +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa04f3b65 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa0603367 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0xa06bed0e call_usermodehelper_setfns +EXPORT_SYMBOL vmlinux 0xa0799345 iget_failed +EXPORT_SYMBOL vmlinux 0xa09b53e6 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0xa0a4ac21 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0xa0aa8357 nf_setsockopt +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b9aa95 agp_generic_mask_memory +EXPORT_SYMBOL vmlinux 0xa0c36e83 is_bad_inode +EXPORT_SYMBOL vmlinux 0xa0c8ddb9 pcim_enable_device +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0d3d560 ksize +EXPORT_SYMBOL vmlinux 0xa0f8a57c blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa13798f8 printk_ratelimit +EXPORT_SYMBOL vmlinux 0xa1812524 journal_extend +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1ba4b95 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1cea0b8 proc_dointvec +EXPORT_SYMBOL vmlinux 0xa1d14db2 vfs_writev +EXPORT_SYMBOL vmlinux 0xa1e62dc4 iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0xa204cbb9 skb_tx_hash +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa22aca06 register_snap_client +EXPORT_SYMBOL vmlinux 0xa2801b23 scsi_target_resume +EXPORT_SYMBOL vmlinux 0xa28e76e6 schedule_work +EXPORT_SYMBOL vmlinux 0xa29b1708 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0xa2a1e5c9 _write_lock_bh +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2b0ca06 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0xa2b8a2ba __init_rwsem +EXPORT_SYMBOL vmlinux 0xa2bc60ee set_anon_super +EXPORT_SYMBOL vmlinux 0xa2d1e2f7 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0xa2dac6f4 mmc_host_disable +EXPORT_SYMBOL vmlinux 0xa3025ef3 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0xa3028bd1 skb_find_text +EXPORT_SYMBOL vmlinux 0xa307699c file_update_time +EXPORT_SYMBOL vmlinux 0xa307c25c handle_sysrq +EXPORT_SYMBOL vmlinux 0xa31f172d __copy_from_user_inatomic +EXPORT_SYMBOL vmlinux 0xa31f38c4 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xa329f07e register_shrinker +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa33f7c7c nla_strlcpy +EXPORT_SYMBOL vmlinux 0xa34c57da mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0xa350a8f8 set_memory_array_uc +EXPORT_SYMBOL vmlinux 0xa35ba8e0 ht_create_irq +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa3615b29 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0xa36f09ee install_exec_creds +EXPORT_SYMBOL vmlinux 0xa3922aa9 dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0xa3959e7c kernel_setsockopt +EXPORT_SYMBOL vmlinux 0xa3a5be95 memmove +EXPORT_SYMBOL vmlinux 0xa3bbcd80 acpi_set_gpe_type +EXPORT_SYMBOL vmlinux 0xa3e72343 filp_close +EXPORT_SYMBOL vmlinux 0xa415b384 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0xa421a52e generic_file_splice_write +EXPORT_SYMBOL vmlinux 0xa42c3d72 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xa44ad274 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xa47ffd5b simple_release_fs +EXPORT_SYMBOL vmlinux 0xa48ffd73 fb_find_mode +EXPORT_SYMBOL vmlinux 0xa49a5aef tty_schedule_flip +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL vmlinux 0xa4e166f3 ip_route_input +EXPORT_SYMBOL vmlinux 0xa4f46b81 poll_freewait +EXPORT_SYMBOL vmlinux 0xa5245e1c phy_disconnect +EXPORT_SYMBOL vmlinux 0xa56f1315 mempool_free +EXPORT_SYMBOL vmlinux 0xa57850b3 key_payload_reserve +EXPORT_SYMBOL vmlinux 0xa57dd385 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xa58060bf do_munmap +EXPORT_SYMBOL vmlinux 0xa5808bbf tasklet_init +EXPORT_SYMBOL vmlinux 0xa58b6804 nla_parse +EXPORT_SYMBOL vmlinux 0xa5922bb1 kfifo_init +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa59b0712 journal_start_commit +EXPORT_SYMBOL vmlinux 0xa5adbe8c ida_destroy +EXPORT_SYMBOL vmlinux 0xa5e4f65c __next_cpu_nr +EXPORT_SYMBOL vmlinux 0xa63d85ab slhc_remember +EXPORT_SYMBOL vmlinux 0xa640559b vfs_mkdir +EXPORT_SYMBOL vmlinux 0xa679bbbd simple_rmdir +EXPORT_SYMBOL vmlinux 0xa68124fa hweight8 +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6a41e4b dm_dirty_log_destroy +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6e0eecf pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0xa70913e8 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xa70fabbe release_evntsel_nmi +EXPORT_SYMBOL vmlinux 0xa71be657 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0xa72a0f5b nr_online_nodes +EXPORT_SYMBOL vmlinux 0xa73f8b81 __alloc_skb +EXPORT_SYMBOL vmlinux 0xa76faeea get_sb_bdev +EXPORT_SYMBOL vmlinux 0xa7924002 igrab +EXPORT_SYMBOL vmlinux 0xa79e3097 zero_fill_bio +EXPORT_SYMBOL vmlinux 0xa7d97d9e dev_getbyhwaddr +EXPORT_SYMBOL vmlinux 0xa811a87c vfs_write +EXPORT_SYMBOL vmlinux 0xa831f63a cfb_copyarea +EXPORT_SYMBOL vmlinux 0xa845c9f7 sock_register +EXPORT_SYMBOL vmlinux 0xa8700f2f scsi_allocate_command +EXPORT_SYMBOL vmlinux 0xa87dba0e simple_getattr +EXPORT_SYMBOL vmlinux 0xa886a958 krealloc +EXPORT_SYMBOL vmlinux 0xa8a212f2 sock_setsockopt +EXPORT_SYMBOL vmlinux 0xa8a6f639 __check_region +EXPORT_SYMBOL vmlinux 0xa8d255f5 setup_arg_pages +EXPORT_SYMBOL vmlinux 0xa8d68abd acpi_warning +EXPORT_SYMBOL vmlinux 0xa8fbf582 idr_replace +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa8ffa664 __register_chrdev +EXPORT_SYMBOL vmlinux 0xa9123b81 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0xa91b5561 acpi_video_backlight_support +EXPORT_SYMBOL vmlinux 0xa93961a3 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0xa973f194 mdiobus_free +EXPORT_SYMBOL vmlinux 0xa9bd2676 __vmalloc +EXPORT_SYMBOL vmlinux 0xa9d72920 slow_work_unregister_user +EXPORT_SYMBOL vmlinux 0xa9f45f73 dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xa9f7ae2b compat_tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xa9fcf31d wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0xaa0406af tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0xaa18656e bio_phys_segments +EXPORT_SYMBOL vmlinux 0xaa2e82d8 find_get_pages_tag +EXPORT_SYMBOL vmlinux 0xaa40c15a netif_device_attach +EXPORT_SYMBOL vmlinux 0xaa511a15 freeze_bdev +EXPORT_SYMBOL vmlinux 0xaa5beb87 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xaa5ff91b dm_io_client_resize +EXPORT_SYMBOL vmlinux 0xaa654d7b input_flush_device +EXPORT_SYMBOL vmlinux 0xaa84a8ae acpi_processor_power_init_bm_check +EXPORT_SYMBOL vmlinux 0xaa85fe22 unregister_binfmt +EXPORT_SYMBOL vmlinux 0xaa93e339 __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xaaa85311 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xaab06af8 _write_lock_irqsave +EXPORT_SYMBOL vmlinux 0xaada4bf5 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaaf45875 acpi_lid_notifier_unregister +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab0cd5c4 scsi_remove_device +EXPORT_SYMBOL vmlinux 0xab13517f ps2_handle_response +EXPORT_SYMBOL vmlinux 0xab1c9f58 elv_rb_find +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab65ed80 set_memory_uc +EXPORT_SYMBOL vmlinux 0xab770678 rdmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0xab8625f1 close_bdev_exclusive +EXPORT_SYMBOL vmlinux 0xaba29f11 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xaba9ff34 allocate_resource +EXPORT_SYMBOL vmlinux 0xababaab5 __vlan_hwaccel_rx +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabe85a21 idr_init +EXPORT_SYMBOL vmlinux 0xabfa9a72 inode_setattr +EXPORT_SYMBOL vmlinux 0xabfc4365 bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac1084e0 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xac383451 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0xac58ea5e acpi_unload_table_id +EXPORT_SYMBOL vmlinux 0xac6794a7 seq_write +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac759b02 sg_miter_start +EXPORT_SYMBOL vmlinux 0xaca4dcdc sock_wfree +EXPORT_SYMBOL vmlinux 0xacb781c1 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xacdeb154 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xaced0868 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf565ba load_nls +EXPORT_SYMBOL vmlinux 0xacff4464 sock_create +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad04c822 agp_backend_acquire +EXPORT_SYMBOL vmlinux 0xad13c689 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xad25fb12 __memcpy +EXPORT_SYMBOL vmlinux 0xad2c18c9 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0xad3add6a fd_install +EXPORT_SYMBOL vmlinux 0xad8de1b3 acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadc8cd85 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xadd17fc2 skb_clone +EXPORT_SYMBOL vmlinux 0xae01e626 generic_listxattr +EXPORT_SYMBOL vmlinux 0xae10d5b8 ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0xae3f56e0 input_register_handle +EXPORT_SYMBOL vmlinux 0xae49db04 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0xae4c452e set_bdi_congested +EXPORT_SYMBOL vmlinux 0xae565f65 kill_pgrp +EXPORT_SYMBOL vmlinux 0xae76ecb7 dcache_readdir +EXPORT_SYMBOL vmlinux 0xae9aa241 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0xaead7eb6 mpage_readpages +EXPORT_SYMBOL vmlinux 0xaec225c4 drop_super +EXPORT_SYMBOL vmlinux 0xaec92719 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xaed013b9 posix_acl_valid +EXPORT_SYMBOL vmlinux 0xaed09516 vlan_gro_frags +EXPORT_SYMBOL vmlinux 0xaef8b3d3 fb_class +EXPORT_SYMBOL vmlinux 0xaeff6d8f invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf5220e5 locks_copy_lock +EXPORT_SYMBOL vmlinux 0xaf6e5e61 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0xaf757e5d skb_pull +EXPORT_SYMBOL vmlinux 0xaf7659cc keyring_search +EXPORT_SYMBOL vmlinux 0xaf877d99 mb_cache_create +EXPORT_SYMBOL vmlinux 0xafe82e10 strcspn +EXPORT_SYMBOL vmlinux 0xafef8fa9 register_memory_notifier +EXPORT_SYMBOL vmlinux 0xaffd5411 tty_register_device +EXPORT_SYMBOL vmlinux 0xaffdbc7b inet_release +EXPORT_SYMBOL vmlinux 0xb002470f inetdev_by_index +EXPORT_SYMBOL vmlinux 0xb00ef5ac proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xb0232186 simple_transaction_read +EXPORT_SYMBOL vmlinux 0xb03f2c80 backlight_force_update +EXPORT_SYMBOL vmlinux 0xb04ea8f0 agp_rebind_memory +EXPORT_SYMBOL vmlinux 0xb051909f ida_init +EXPORT_SYMBOL vmlinux 0xb055d8da posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0xb07dfb3d acpi_remove_gpe_handler +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0d2be78 inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0xb0dac753 dquot_initialize +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0ea492a uart_write_wakeup +EXPORT_SYMBOL vmlinux 0xb0fd2ba7 acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0xb0fde061 pci_get_slot +EXPORT_SYMBOL vmlinux 0xb0fe88ec tcp_shutdown +EXPORT_SYMBOL vmlinux 0xb11fa1ce strlcat +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb1214f15 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0xb12c096a jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xb1645a2e sg_free_table +EXPORT_SYMBOL vmlinux 0xb186e9ba phy_detach +EXPORT_SYMBOL vmlinux 0xb18e02c3 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xb18ef625 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1cfad22 rdmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xb1d921df simple_lookup +EXPORT_SYMBOL vmlinux 0xb1f975aa unlock_kernel +EXPORT_SYMBOL vmlinux 0xb20ecf88 acpi_run_osc +EXPORT_SYMBOL vmlinux 0xb219d56c wbinvd_on_cpu +EXPORT_SYMBOL vmlinux 0xb224fbe2 param_get_short +EXPORT_SYMBOL vmlinux 0xb22fe6a3 netdev_increment_features +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb279b734 dst_release +EXPORT_SYMBOL vmlinux 0xb279da12 pv_lock_ops +EXPORT_SYMBOL vmlinux 0xb2dbc0a2 journal_destroy +EXPORT_SYMBOL vmlinux 0xb2fd5ceb __put_user_4 +EXPORT_SYMBOL vmlinux 0xb316f1e0 clear_inode +EXPORT_SYMBOL vmlinux 0xb31b2298 mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0xb3205415 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0xb3284531 acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xb33029d4 llc_sap_open +EXPORT_SYMBOL vmlinux 0xb34d4c2e acpi_terminate +EXPORT_SYMBOL vmlinux 0xb352177e find_first_bit +EXPORT_SYMBOL vmlinux 0xb363f4be netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0xb37bd635 dm_exception_store_create +EXPORT_SYMBOL vmlinux 0xb3994c7a per_cpu__kstat +EXPORT_SYMBOL vmlinux 0xb3a307c6 si_meminfo +EXPORT_SYMBOL vmlinux 0xb3b7721f bitmap_start_sync +EXPORT_SYMBOL vmlinux 0xb3c42c94 per_cpu__x86_bios_cpu_apicid +EXPORT_SYMBOL vmlinux 0xb3d0e116 d_validate +EXPORT_SYMBOL vmlinux 0xb3ff1f69 free_pages_exact +EXPORT_SYMBOL vmlinux 0xb41da25c dev_unicast_unsync +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb42453d3 param_get_invbool +EXPORT_SYMBOL vmlinux 0xb4279ab7 downgrade_write +EXPORT_SYMBOL vmlinux 0xb4298269 destroy_EII_client +EXPORT_SYMBOL vmlinux 0xb432ab59 replace_mount_options +EXPORT_SYMBOL vmlinux 0xb4390f9a mcount +EXPORT_SYMBOL vmlinux 0xb444fabc generic_setlease +EXPORT_SYMBOL vmlinux 0xb455277e insert_inode_locked +EXPORT_SYMBOL vmlinux 0xb45b24f6 k8_nb_ids +EXPORT_SYMBOL vmlinux 0xb45e0071 d_delete +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb4953ab7 default_llseek +EXPORT_SYMBOL vmlinux 0xb49d03c8 register_cdrom +EXPORT_SYMBOL vmlinux 0xb4ae698f serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0xb4b0ee4e down_read +EXPORT_SYMBOL vmlinux 0xb4bec81c register_sysctl_table +EXPORT_SYMBOL vmlinux 0xb4ca9447 __kfifo_get +EXPORT_SYMBOL vmlinux 0xb4d37e78 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xb4e108f5 tcp_child_process +EXPORT_SYMBOL vmlinux 0xb4ec3610 swiotlb_unmap_sg +EXPORT_SYMBOL vmlinux 0xb5044271 vsscanf +EXPORT_SYMBOL vmlinux 0xb523ecaa seq_printf +EXPORT_SYMBOL vmlinux 0xb5263bc8 vfs_quota_on_path +EXPORT_SYMBOL vmlinux 0xb5278e28 vfs_statfs +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb5488a6b bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0xb567a501 get_user_pages +EXPORT_SYMBOL vmlinux 0xb5807a1b tcf_hash_check +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5b11990 inode_needs_sync +EXPORT_SYMBOL vmlinux 0xb5bec777 vfs_quota_on +EXPORT_SYMBOL vmlinux 0xb5ca1c46 slhc_free +EXPORT_SYMBOL vmlinux 0xb5d52c27 ec_transaction +EXPORT_SYMBOL vmlinux 0xb5dc4da7 setup_new_exec +EXPORT_SYMBOL vmlinux 0xb6045f07 sync_inode +EXPORT_SYMBOL vmlinux 0xb61c93de i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0xb6244511 sg_init_one +EXPORT_SYMBOL vmlinux 0xb6353555 per_cpu__x86_cpu_to_apicid +EXPORT_SYMBOL vmlinux 0xb63ed5c6 tcf_hash_create +EXPORT_SYMBOL vmlinux 0xb64ba92b ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb681f451 ethtool_op_set_ufo +EXPORT_SYMBOL vmlinux 0xb6a2cbfd pci_request_regions +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6bc5c04 module_put +EXPORT_SYMBOL vmlinux 0xb6bffb99 kstat_irqs_cpu +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6c63e75 sk_wait_data +EXPORT_SYMBOL vmlinux 0xb6cbe886 acpi_get_node +EXPORT_SYMBOL vmlinux 0xb6e227aa rtc_lock +EXPORT_SYMBOL vmlinux 0xb6f9dad9 __napi_complete +EXPORT_SYMBOL vmlinux 0xb750542c dma_supported +EXPORT_SYMBOL vmlinux 0xb758b225 acpi_disable_event +EXPORT_SYMBOL vmlinux 0xb78f0bfa skb_pad +EXPORT_SYMBOL vmlinux 0xb798b8e4 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0xb7ccb3c7 twl4030_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xb7d64622 netpoll_poll +EXPORT_SYMBOL vmlinux 0xb7ef29a9 tc_classify +EXPORT_SYMBOL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL vmlinux 0xb850d1e6 bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0xb85a8092 agp_free_page_array +EXPORT_SYMBOL vmlinux 0xb86a6de3 start_tty +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb86f1aab generic_writepages +EXPORT_SYMBOL vmlinux 0xb88459b5 boot_cpu_data +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8e7ce2c __put_user_8 +EXPORT_SYMBOL vmlinux 0xb9249d16 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xb9707913 dm_get_device +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb9a7fdaf __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xb9cf433a llc_mac_hdr_init +EXPORT_SYMBOL vmlinux 0xb9d5a945 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0xb9e1ee6d netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xb9eaa3e1 tcp4_gro_complete +EXPORT_SYMBOL vmlinux 0xb9fd2205 add_efi_memmap +EXPORT_SYMBOL vmlinux 0xba112c1a clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0xba11890e ndisc_mc_map +EXPORT_SYMBOL vmlinux 0xba2d8594 ec_read +EXPORT_SYMBOL vmlinux 0xba37d2cc end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0xba430d41 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xbaa2782a kstrndup +EXPORT_SYMBOL vmlinux 0xbaa328d6 cdev_init +EXPORT_SYMBOL vmlinux 0xbaaab8ae timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xbad0417d bh_submit_read +EXPORT_SYMBOL vmlinux 0xbae8c342 writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0xbaf3b929 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xbaf54b10 dev_mc_add +EXPORT_SYMBOL vmlinux 0xbb063912 phy_start_aneg +EXPORT_SYMBOL vmlinux 0xbb167766 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb1fad6a flush_delayed_work +EXPORT_SYMBOL vmlinux 0xbb46730b sock_create_kern +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbbd0d0a2 simple_transaction_get +EXPORT_SYMBOL vmlinux 0xbc25a86a sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xbc43326f proc_net_netfilter +EXPORT_SYMBOL vmlinux 0xbc5ad16f ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xbc5c84b9 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xbc5d32d1 swiotlb_dma_mapping_error +EXPORT_SYMBOL vmlinux 0xbc613df0 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0xbc86ba9f sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xbc8c159a nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbccbb49c idr_remove_all +EXPORT_SYMBOL vmlinux 0xbd100793 cpu_online_mask +EXPORT_SYMBOL vmlinux 0xbd33425d is_container_init +EXPORT_SYMBOL vmlinux 0xbd5c73fc blk_get_request +EXPORT_SYMBOL vmlinux 0xbd6a7a1d inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xbdaf5b07 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0xbdeb2d81 phy_enable_interrupts +EXPORT_SYMBOL vmlinux 0xbdeceffa km_policy_expired +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbe1d0a7f blk_end_request_all +EXPORT_SYMBOL vmlinux 0xbe499d81 copy_to_user +EXPORT_SYMBOL vmlinux 0xbe670618 call_usermodehelper_pipe +EXPORT_SYMBOL vmlinux 0xbe6b17f7 textsearch_prepare +EXPORT_SYMBOL vmlinux 0xbe7c6e8e dev_alloc_name +EXPORT_SYMBOL vmlinux 0xbe95c537 dquot_free_inode +EXPORT_SYMBOL vmlinux 0xbeb195e1 arp_find +EXPORT_SYMBOL vmlinux 0xbecdce74 ida_pre_get +EXPORT_SYMBOL vmlinux 0xbed7552b pnp_start_dev +EXPORT_SYMBOL vmlinux 0xbedbfcd1 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0xbeefd7d2 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf204be3 simple_readpage +EXPORT_SYMBOL vmlinux 0xbf55c222 sock_no_getname +EXPORT_SYMBOL vmlinux 0xbf566d7e xfrm_register_km +EXPORT_SYMBOL vmlinux 0xbf6303dc simple_set_mnt +EXPORT_SYMBOL vmlinux 0xbf6a9a0e pci_bus_type +EXPORT_SYMBOL vmlinux 0xbf71ea93 new_inode +EXPORT_SYMBOL vmlinux 0xbf7b2047 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf8b797c cpu_sysdev_class +EXPORT_SYMBOL vmlinux 0xbf912749 scsi_device_resume +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfd75657 udplite_prot +EXPORT_SYMBOL vmlinux 0xbfe7c689 netif_receive_skb +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc003c637 __strncpy_from_user +EXPORT_SYMBOL vmlinux 0xc0044724 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xc00a0a1c save_mount_options +EXPORT_SYMBOL vmlinux 0xc011ec72 textsearch_register +EXPORT_SYMBOL vmlinux 0xc016d5c9 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0xc054f5ad module_refcount +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc05ef80e cap_netlink_recv +EXPORT_SYMBOL vmlinux 0xc07d43ae acpi_evaluate_reference +EXPORT_SYMBOL vmlinux 0xc09651d9 crc32_be +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0b3f916 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xc0b855ea tty_port_tty_set +EXPORT_SYMBOL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL vmlinux 0xc0d0e9e9 phy_attach +EXPORT_SYMBOL vmlinux 0xc0e7e03d ip_defrag +EXPORT_SYMBOL vmlinux 0xc136502a key_revoke +EXPORT_SYMBOL vmlinux 0xc1587ffa proto_register +EXPORT_SYMBOL vmlinux 0xc15ce4e1 napi_gro_receive +EXPORT_SYMBOL vmlinux 0xc17c1b91 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xc194ec12 kmem_cache_free +EXPORT_SYMBOL vmlinux 0xc195d55b icmp_send +EXPORT_SYMBOL vmlinux 0xc1beac8a agp_flush_chipset +EXPORT_SYMBOL vmlinux 0xc1d3ed88 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0xc1f5d197 km_report +EXPORT_SYMBOL vmlinux 0xc2164878 generic_delete_inode +EXPORT_SYMBOL vmlinux 0xc22ee2c9 sock_kmalloc +EXPORT_SYMBOL vmlinux 0xc23b9418 __getblk +EXPORT_SYMBOL vmlinux 0xc23c24b8 skb_queue_tail +EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL vmlinux 0xc24a6172 d_alloc_root +EXPORT_SYMBOL vmlinux 0xc24cd473 __register_binfmt +EXPORT_SYMBOL vmlinux 0xc254af48 dcache_lock +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc25a3aab tcp_ioctl +EXPORT_SYMBOL vmlinux 0xc27cb64b remove_proc_entry +EXPORT_SYMBOL vmlinux 0xc28029b7 bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0xc2b0f6a1 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xc2b72696 skb_unlink +EXPORT_SYMBOL vmlinux 0xc2be9086 copy_io_context +EXPORT_SYMBOL vmlinux 0xc2c44f5c tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2f0ca73 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xc316b98c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0xc31c9839 call_usermodehelper_stdinpipe +EXPORT_SYMBOL vmlinux 0xc3208780 mpage_writepage +EXPORT_SYMBOL vmlinux 0xc32c3133 free_task +EXPORT_SYMBOL vmlinux 0xc33b0658 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0xc33f6f4c on_each_cpu +EXPORT_SYMBOL vmlinux 0xc3408f42 mutex_trylock +EXPORT_SYMBOL vmlinux 0xc350f671 default_file_splice_read +EXPORT_SYMBOL vmlinux 0xc351232f tty_check_change +EXPORT_SYMBOL vmlinux 0xc3738a17 dev_alloc_skb +EXPORT_SYMBOL vmlinux 0xc3aaf0a9 __put_user_1 +EXPORT_SYMBOL vmlinux 0xc3c12888 pagevec_lookup +EXPORT_SYMBOL vmlinux 0xc3d0970d pci_assign_resource +EXPORT_SYMBOL vmlinux 0xc3d8cf97 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xc402cc99 register_acpi_notifier +EXPORT_SYMBOL vmlinux 0xc4100e40 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0xc426e5c9 generic_make_request +EXPORT_SYMBOL vmlinux 0xc45b60dd genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4b1f5df key_alloc +EXPORT_SYMBOL vmlinux 0xc4b491bc phy_connect_direct +EXPORT_SYMBOL vmlinux 0xc4c1d57f nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xc4c30829 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0xc4c6ba6a block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0xc4e3986f register_netdevice +EXPORT_SYMBOL vmlinux 0xc512bbe2 pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0xc52f5714 fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0xc53c882d idr_get_new +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc558530d profile_pc +EXPORT_SYMBOL vmlinux 0xc55f7dc7 _write_trylock +EXPORT_SYMBOL vmlinux 0xc5697e6e register_netdev +EXPORT_SYMBOL vmlinux 0xc5ac0c5f swiotlb_sync_single_for_device +EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL vmlinux 0xc5da49ae i2c_master_recv +EXPORT_SYMBOL vmlinux 0xc5dfd34e generic_setxattr +EXPORT_SYMBOL vmlinux 0xc5f149e5 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0xc5fb5ad1 security_file_permission +EXPORT_SYMBOL vmlinux 0xc60c78ab __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xc621aa72 vfs_read +EXPORT_SYMBOL vmlinux 0xc62802bf netif_rx_ni +EXPORT_SYMBOL vmlinux 0xc64bd466 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL vmlinux 0xc6e61a50 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0xc6fd8ef4 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc722227e posix_acl_clone +EXPORT_SYMBOL vmlinux 0xc7263f7f __netif_schedule +EXPORT_SYMBOL vmlinux 0xc740c64a memchr +EXPORT_SYMBOL vmlinux 0xc77771ed user_path_at +EXPORT_SYMBOL vmlinux 0xc78341f7 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a24d76 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7c04b7d input_release_device +EXPORT_SYMBOL vmlinux 0xc7e6909c alloc_disk +EXPORT_SYMBOL vmlinux 0xc7e784cf blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0xc7f78636 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0xc7f8c116 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xc7fe6667 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xc8609e54 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0xc86d7b44 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0xc87cabb4 __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xc88ad0b3 acpi_bus_generate_proc_event +EXPORT_SYMBOL vmlinux 0xc897c382 sg_init_table +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8bb4e1b get_sb_single +EXPORT_SYMBOL vmlinux 0xc8ca3e25 acpi_get_child +EXPORT_SYMBOL vmlinux 0xc8d17a65 thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0xc90b2d5d ip6_xmit +EXPORT_SYMBOL vmlinux 0xc90ef253 d_invalidate +EXPORT_SYMBOL vmlinux 0xc94442d7 call_usermodehelper_freeinfo +EXPORT_SYMBOL vmlinux 0xc9454af1 sk_free +EXPORT_SYMBOL vmlinux 0xc9539c94 d_alloc_name +EXPORT_SYMBOL vmlinux 0xc998d641 icmp_err_convert +EXPORT_SYMBOL vmlinux 0xc9ab2eef acpi_os_wait_events_complete +EXPORT_SYMBOL vmlinux 0xc9e3c3d5 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0xc9ec8704 udp_table +EXPORT_SYMBOL vmlinux 0xc9eea124 init_task +EXPORT_SYMBOL vmlinux 0xc9f45a7f mdiobus_unregister +EXPORT_SYMBOL vmlinux 0xca238cb8 mdiobus_read +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca78cdaf directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0xca8acc78 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xcab2783c compat_ip_getsockopt +EXPORT_SYMBOL vmlinux 0xcab86bc4 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xcafaa498 dev_mc_delete +EXPORT_SYMBOL vmlinux 0xcb024f81 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0xcb1a14c0 I_BDEV +EXPORT_SYMBOL vmlinux 0xcb295084 journal_get_write_access +EXPORT_SYMBOL vmlinux 0xcb381b17 skb_queue_purge +EXPORT_SYMBOL vmlinux 0xcb6beb40 hweight32 +EXPORT_SYMBOL vmlinux 0xcb702854 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcbb9d7db groups_free +EXPORT_SYMBOL vmlinux 0xcbbb7884 mmc_add_host +EXPORT_SYMBOL vmlinux 0xcbbb828b sock_get_timestamp +EXPORT_SYMBOL vmlinux 0xcbd8acc3 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0xcc07af75 strnlen +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc3f176f per_cpu__x86_cpu_to_node_map +EXPORT_SYMBOL vmlinux 0xcc40c579 acpi_lock_ac_dir +EXPORT_SYMBOL vmlinux 0xcc41e716 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc506049 mmc_remove_host +EXPORT_SYMBOL vmlinux 0xcc51ee50 dma_spin_lock +EXPORT_SYMBOL vmlinux 0xcc52d4e8 rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0xcc598fb7 tty_unthrottle +EXPORT_SYMBOL vmlinux 0xcc76e8b8 ethtool_op_get_tx_csum +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcca9e7df xfrm_state_walk +EXPORT_SYMBOL vmlinux 0xccd754a0 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0xccde6ccb lro_receive_frags +EXPORT_SYMBOL vmlinux 0xcd0c8098 scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0xcd65cf3d udp_lib_unhash +EXPORT_SYMBOL vmlinux 0xcd7983b3 kern_path +EXPORT_SYMBOL vmlinux 0xcda02a81 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0xcddf9cec request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xcded0ed6 dquot_alloc +EXPORT_SYMBOL vmlinux 0xcdf94117 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0xce17216a kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce36ded6 sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xce4904a4 acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xce54c6fc cfb_imageblit +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce78c510 scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0xce96e359 blk_fetch_request +EXPORT_SYMBOL vmlinux 0xceb00469 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0xceef667a force_sig +EXPORT_SYMBOL vmlinux 0xcef4449d blk_unplug +EXPORT_SYMBOL vmlinux 0xcef88b04 journal_check_available_features +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf1105ef llc_build_and_send_ui_pkt +EXPORT_SYMBOL vmlinux 0xcf1d28ab acpi_error +EXPORT_SYMBOL vmlinux 0xcf2c7315 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0xcf2efbfd sock_no_mmap +EXPORT_SYMBOL vmlinux 0xcf3a9e39 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0xcf3cb792 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xcf596c00 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xcf6892ed inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0xcf6cfe1f msrs_free +EXPORT_SYMBOL vmlinux 0xcf7c043b dm_dirty_log_type_register +EXPORT_SYMBOL vmlinux 0xcf827485 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0xcfadd723 __percpu_counter_add +EXPORT_SYMBOL vmlinux 0xcfb409d4 unregister_md_personality +EXPORT_SYMBOL vmlinux 0xcfb9006e jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0xcfbb9cc8 vfs_get_dqinfo +EXPORT_SYMBOL vmlinux 0xcfe9da68 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0xcff53400 kref_put +EXPORT_SYMBOL vmlinux 0xd009edd8 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd018bd0d scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xd020d44a __ht_create_irq +EXPORT_SYMBOL vmlinux 0xd05b39d3 dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0xd05e5331 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xd08197fa acpi_load_tables +EXPORT_SYMBOL vmlinux 0xd0a79f01 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0xd0c1770a security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xd0c51494 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0xd0c7018b spi_attach_transport +EXPORT_SYMBOL vmlinux 0xd0c7c5b3 input_event +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL vmlinux 0xd1472061 acpi_pci_register_driver +EXPORT_SYMBOL vmlinux 0xd18b6eb2 acpi_unmap_lsapic +EXPORT_SYMBOL vmlinux 0xd191c408 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0xd191dddb tty_devnum +EXPORT_SYMBOL vmlinux 0xd19bb294 acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0xd1a4fbd2 lease_modify +EXPORT_SYMBOL vmlinux 0xd1b974b5 inet_csk_accept +EXPORT_SYMBOL vmlinux 0xd1c34584 dev_unicast_add +EXPORT_SYMBOL vmlinux 0xd1f6c5f3 smp_num_siblings +EXPORT_SYMBOL vmlinux 0xd1f91bcd dev_base_lock +EXPORT_SYMBOL vmlinux 0xd1fb71fa acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0xd1fb98c2 scsi_print_sense +EXPORT_SYMBOL vmlinux 0xd2000c31 spi_release_transport +EXPORT_SYMBOL vmlinux 0xd2235d73 clocksource_register +EXPORT_SYMBOL vmlinux 0xd251d7b0 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xd25541de atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xd2555f19 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd25ea439 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0xd267d42c down_killable +EXPORT_SYMBOL vmlinux 0xd269f314 inet_stream_ops +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2a75ee0 dmi_first_match +EXPORT_SYMBOL vmlinux 0xd2b8927d key_type_keyring +EXPORT_SYMBOL vmlinux 0xd2d55687 xfrm_register_type +EXPORT_SYMBOL vmlinux 0xd2f3a40d tcp_hashinfo +EXPORT_SYMBOL vmlinux 0xd30b510e alloc_fcdev +EXPORT_SYMBOL vmlinux 0xd326ee94 vfs_readv +EXPORT_SYMBOL vmlinux 0xd34f0c62 gen_pool_create +EXPORT_SYMBOL vmlinux 0xd35aed96 unregister_8022_client +EXPORT_SYMBOL vmlinux 0xd3730689 filemap_flush +EXPORT_SYMBOL vmlinux 0xd38f4ace dev_unicast_sync +EXPORT_SYMBOL vmlinux 0xd3951da4 acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0xd3a1a9cb misc_register +EXPORT_SYMBOL vmlinux 0xd3af979c memdup_user +EXPORT_SYMBOL vmlinux 0xd3d04654 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0xd3e1ffc9 agp_unbind_memory +EXPORT_SYMBOL vmlinux 0xd3e46ff3 init_file +EXPORT_SYMBOL vmlinux 0xd3e704fa ethtool_op_get_rx_csum +EXPORT_SYMBOL vmlinux 0xd3e72f0f rtc_dev_update_irq_enable_emul +EXPORT_SYMBOL vmlinux 0xd3f09a65 agp_generic_insert_memory +EXPORT_SYMBOL vmlinux 0xd3f74cf1 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xd3f75d78 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0xd3fc054e wake_up_process +EXPORT_SYMBOL vmlinux 0xd42b7232 _write_unlock_bh +EXPORT_SYMBOL vmlinux 0xd42d0572 pci_iounmap +EXPORT_SYMBOL vmlinux 0xd437bc18 mark_page_accessed +EXPORT_SYMBOL vmlinux 0xd43f1f2b mmc_host_enable +EXPORT_SYMBOL vmlinux 0xd4447ea4 security_path_link +EXPORT_SYMBOL vmlinux 0xd44ce8d3 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xd4885b21 pci_do_scan_bus +EXPORT_SYMBOL vmlinux 0xd4b02802 dev_load +EXPORT_SYMBOL vmlinux 0xd4c956d9 per_cpu__softnet_data +EXPORT_SYMBOL vmlinux 0xd4ca9a22 ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0xd4d7205d clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xd4eaf4e9 phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0xd50ef5c3 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0xd50fef48 acpi_detach_data +EXPORT_SYMBOL vmlinux 0xd51ae002 nf_log_packet +EXPORT_SYMBOL vmlinux 0xd51f19d0 acpi_device_hid +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd53cfe46 lock_may_write +EXPORT_SYMBOL vmlinux 0xd553e7e3 ether_setup +EXPORT_SYMBOL vmlinux 0xd556ace5 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0xd57f8789 iommu_num_pages +EXPORT_SYMBOL vmlinux 0xd58bab49 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xd58f50d6 mark_info_dirty +EXPORT_SYMBOL vmlinux 0xd5ad06d1 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0xd5c17c32 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0xd5c7c61d sysctl_string +EXPORT_SYMBOL vmlinux 0xd5e97436 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0xd5eac736 bio_put +EXPORT_SYMBOL vmlinux 0xd5fc8a4f pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0xd604507b agp_put_bridge +EXPORT_SYMBOL vmlinux 0xd6080e13 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0xd6096398 cfb_fillrect +EXPORT_SYMBOL vmlinux 0xd60d7af4 ida_remove +EXPORT_SYMBOL vmlinux 0xd61a9745 simple_transaction_set +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd6537632 kick_iocb +EXPORT_SYMBOL vmlinux 0xd66835b2 sock_no_connect +EXPORT_SYMBOL vmlinux 0xd67b01b1 pnp_request_card_device +EXPORT_SYMBOL vmlinux 0xd67b568b xfrm_state_update +EXPORT_SYMBOL vmlinux 0xd6a78d08 smp_call_function_single +EXPORT_SYMBOL vmlinux 0xd6b33026 cpu_khz +EXPORT_SYMBOL vmlinux 0xd6d03e77 skb_free_datagram +EXPORT_SYMBOL vmlinux 0xd6d68c6b vm_stat +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd700b79b current_fs_time +EXPORT_SYMBOL vmlinux 0xd70b2bf8 inet_shutdown +EXPORT_SYMBOL vmlinux 0xd75e011c mdiobus_scan +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd7873d4b generic_file_llseek_unlocked +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd79b93b0 vga_get +EXPORT_SYMBOL vmlinux 0xd7a6fafa panic_notifier_list +EXPORT_SYMBOL vmlinux 0xd7bbd897 proto_unregister +EXPORT_SYMBOL vmlinux 0xd7dd777b reserve_perfctr_nmi +EXPORT_SYMBOL vmlinux 0xd7eee5ed nobh_writepage +EXPORT_SYMBOL vmlinux 0xd8045ce7 vfs_getattr +EXPORT_SYMBOL vmlinux 0xd813ae52 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0xd83791bc nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd849de12 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0xd851af78 up_write +EXPORT_SYMBOL vmlinux 0xd85fea77 journal_forget +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a645e9 nla_put +EXPORT_SYMBOL vmlinux 0xd8b89a0b thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0xd8d61f5f neigh_seq_next +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd8f9dc63 d_obtain_alias +EXPORT_SYMBOL vmlinux 0xd9091363 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0xd913e6a7 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xd917c158 per_cpu__node_number +EXPORT_SYMBOL vmlinux 0xd92a54a9 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0xd92d0bca pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0xd93ec026 vm_map_ram +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd9e34436 dquot_scan_active +EXPORT_SYMBOL vmlinux 0xd9e57b4a scsi_init_io +EXPORT_SYMBOL vmlinux 0xda084228 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0xda0a6b0e acpi_map_lsapic +EXPORT_SYMBOL vmlinux 0xda1a7335 kasprintf +EXPORT_SYMBOL vmlinux 0xda4629e4 radix_tree_insert +EXPORT_SYMBOL vmlinux 0xda47d21e kernel_getsockopt +EXPORT_SYMBOL vmlinux 0xda577d84 dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0xda6b06a4 ip_ct_attach +EXPORT_SYMBOL vmlinux 0xda6b758d kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xda928914 nmi_watchdog +EXPORT_SYMBOL vmlinux 0xdada7c00 __break_lease +EXPORT_SYMBOL vmlinux 0xdadbd1ca swiotlb_map_sg_attrs +EXPORT_SYMBOL vmlinux 0xdb001ac4 neigh_table_init +EXPORT_SYMBOL vmlinux 0xdb23c7e5 tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0xdb703c0f ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbdbc926 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc053205 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0xdc09deb5 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0xdc11b50b jbd2_journal_load +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc285685 napi_reuse_skb +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc52d8d5 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xdc6eef47 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0xdc70df8a seq_release_private +EXPORT_SYMBOL vmlinux 0xdc7c1c0c fb_blank +EXPORT_SYMBOL vmlinux 0xdc873a70 screen_info +EXPORT_SYMBOL vmlinux 0xdca0e950 genl_register_family +EXPORT_SYMBOL vmlinux 0xdca20e1f xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0xdca5fb14 put_page +EXPORT_SYMBOL vmlinux 0xdcaeb500 vfs_quota_off +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcb95b5b sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xdccf8e53 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0xdcd3b629 ppp_unit_number +EXPORT_SYMBOL vmlinux 0xdcfca25c pci_scan_bridge +EXPORT_SYMBOL vmlinux 0xdd19a7ae x86_dma_fallback_dev +EXPORT_SYMBOL vmlinux 0xdd1daf55 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0xdd2a2937 block_commit_write +EXPORT_SYMBOL vmlinux 0xdd88dde2 generic_fillattr +EXPORT_SYMBOL vmlinux 0xdd8dcfd9 udp_disconnect +EXPORT_SYMBOL vmlinux 0xdda703a2 journal_create +EXPORT_SYMBOL vmlinux 0xdda85e1e ____pagevec_lru_add +EXPORT_SYMBOL vmlinux 0xddf66d0c flush_signals +EXPORT_SYMBOL vmlinux 0xde0bdcff memset +EXPORT_SYMBOL vmlinux 0xde0e22e9 audit_log_end +EXPORT_SYMBOL vmlinux 0xde21ee5e mmc_host_lazy_disable +EXPORT_SYMBOL vmlinux 0xde2fca97 input_set_capability +EXPORT_SYMBOL vmlinux 0xde31b902 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xde52f5d8 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0xde5c0109 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0xde75b689 set_irq_type +EXPORT_SYMBOL vmlinux 0xde79ffd9 register_console +EXPORT_SYMBOL vmlinux 0xde85ac6e netif_napi_del +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL vmlinux 0xdefae4cf read_cache_page +EXPORT_SYMBOL vmlinux 0xdf027500 agp_backend_release +EXPORT_SYMBOL vmlinux 0xdf0da3cc acpi_get_devices +EXPORT_SYMBOL vmlinux 0xdf0e597c pci_dev_driver +EXPORT_SYMBOL vmlinux 0xdf2001d3 file_remove_suid +EXPORT_SYMBOL vmlinux 0xdf2d6584 register_key_type +EXPORT_SYMBOL vmlinux 0xdf4bcd71 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xdf4c8767 ns_to_timeval +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf6d16bd uart_add_one_port +EXPORT_SYMBOL vmlinux 0xdf8823d6 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdfa89108 scsi_get_command +EXPORT_SYMBOL vmlinux 0xdfb07805 should_remove_suid +EXPORT_SYMBOL vmlinux 0xdfb7bada acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xdfc5169b slhc_init +EXPORT_SYMBOL vmlinux 0xdfdb056b unregister_snap_client +EXPORT_SYMBOL vmlinux 0xdfdf615e nf_unregister_hook +EXPORT_SYMBOL vmlinux 0xdfdff17b seq_putc +EXPORT_SYMBOL vmlinux 0xe0042f10 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0xe0552455 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0xe064e642 compat_ip_setsockopt +EXPORT_SYMBOL vmlinux 0xe0686d3e __lock_page +EXPORT_SYMBOL vmlinux 0xe06e4199 cpu_all_bits +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe0a111dd tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xe0ac8bd2 acpi_bus_generate_netlink_event +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0bc24a1 param_set_ushort +EXPORT_SYMBOL vmlinux 0xe0dcb911 smp_call_function_many +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe11ae492 generic_write_checks +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe149b12a i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xe14da631 bio_unmap_user +EXPORT_SYMBOL vmlinux 0xe15b2dd9 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xe15c16f5 dquot_transfer +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe18f521a tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0xe1a81c3a icmpv6msg_statistics +EXPORT_SYMBOL vmlinux 0xe1ad5323 agp_alloc_bridge +EXPORT_SYMBOL vmlinux 0xe1b7f532 dquot_claim_space +EXPORT_SYMBOL vmlinux 0xe1d6dcb2 __bread +EXPORT_SYMBOL vmlinux 0xe1ebb496 key_put +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe23d7acb up_read +EXPORT_SYMBOL vmlinux 0xe24050c7 scnprintf +EXPORT_SYMBOL vmlinux 0xe2494d54 bio_integrity_free +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe296402e bio_map_kern +EXPORT_SYMBOL vmlinux 0xe2993f38 do_splice_to +EXPORT_SYMBOL vmlinux 0xe29b04e9 acpi_set_firmware_waking_vector64 +EXPORT_SYMBOL vmlinux 0xe29b8420 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0xe2a7a383 __ip_select_ident +EXPORT_SYMBOL vmlinux 0xe2b50b94 dput +EXPORT_SYMBOL vmlinux 0xe2cafc1f mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe34f0946 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0xe351d8c8 lock_fb_info +EXPORT_SYMBOL vmlinux 0xe39add4a __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xe3ae89c3 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0xe3b0192b vscnprintf +EXPORT_SYMBOL vmlinux 0xe3e12008 __first_cpu +EXPORT_SYMBOL vmlinux 0xe3fbe148 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xe3fd8560 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0xe3ff438e tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0xe41c2992 generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xe43617f7 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0xe4451bb6 prepare_binprm +EXPORT_SYMBOL vmlinux 0xe456bd3a complete +EXPORT_SYMBOL vmlinux 0xe46236b0 get_sb_pseudo +EXPORT_SYMBOL vmlinux 0xe471dc1f journal_stop +EXPORT_SYMBOL vmlinux 0xe4761914 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe4870354 _read_trylock +EXPORT_SYMBOL vmlinux 0xe49d2503 dev_disable_lro +EXPORT_SYMBOL vmlinux 0xe4b6d709 do_mmap_pgoff +EXPORT_SYMBOL vmlinux 0xe4b726cb blk_recount_segments +EXPORT_SYMBOL vmlinux 0xe4c1df3e _read_lock_bh +EXPORT_SYMBOL vmlinux 0xe4f06caa tcp_v4_md5_do_del +EXPORT_SYMBOL vmlinux 0xe4f1695e cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xe5030309 pci_enable_device +EXPORT_SYMBOL vmlinux 0xe51336dc pci_remove_bus +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe52947e7 __phys_addr +EXPORT_SYMBOL vmlinux 0xe5324f5a generic_block_bmap +EXPORT_SYMBOL vmlinux 0xe5776d22 bdget +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe599851d ipv4_specific +EXPORT_SYMBOL vmlinux 0xe5a51f6a blk_rq_init +EXPORT_SYMBOL vmlinux 0xe5b4c89a acpi_lock_battery_dir +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5e88e24 __kfree_skb +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe6071cd5 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xe61e4305 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xe61ea76c mmc_request_done +EXPORT_SYMBOL vmlinux 0xe690b8fd __ipv6_isatap_ifid +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6f42429 call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0xe6fb675c node_to_cpumask_map +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe714375c __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xe716baed acpi_unregister_ioapic +EXPORT_SYMBOL vmlinux 0xe727fba4 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0xe732a1c5 genphy_suspend +EXPORT_SYMBOL vmlinux 0xe7337792 spi_dv_device +EXPORT_SYMBOL vmlinux 0xe73b8ea7 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0xe786168c rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0xe7a7a647 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0xe7c63588 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0xe7d2aca1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xe7d32407 nmi_active +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7e34570 __f_setown +EXPORT_SYMBOL vmlinux 0xe7f3b5ce kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xe80c9622 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe8116e08 __kmalloc_node +EXPORT_SYMBOL vmlinux 0xe82ab2e6 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0xe85060c1 kobject_del +EXPORT_SYMBOL vmlinux 0xe85e3efe ps2_sendbyte +EXPORT_SYMBOL vmlinux 0xe8794ce1 slhc_toss +EXPORT_SYMBOL vmlinux 0xe8a3605f acpi_processor_set_thermal_limit +EXPORT_SYMBOL vmlinux 0xe8ca20c9 console_start +EXPORT_SYMBOL vmlinux 0xe8cd902e hweight16 +EXPORT_SYMBOL vmlinux 0xe8dbafef __next_cpu +EXPORT_SYMBOL vmlinux 0xe8df13a6 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0xe90dcae0 __request_module +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe94a790d tcp_connect +EXPORT_SYMBOL vmlinux 0xe95c7e15 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0xe966cacb kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0xe97304a2 kernel_bind +EXPORT_SYMBOL vmlinux 0xe997667b wrmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xe99976a4 dquot_release_reserved_space +EXPORT_SYMBOL vmlinux 0xe9b65595 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0xe9d3b0c9 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xe9e5869d __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xe9e896af journal_errno +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea147363 printk +EXPORT_SYMBOL vmlinux 0xea3f3fea pci_request_region +EXPORT_SYMBOL vmlinux 0xea45e9d0 page_follow_link_light +EXPORT_SYMBOL vmlinux 0xea547374 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xea90bdd3 acpi_attach_data +EXPORT_SYMBOL vmlinux 0xea99a61f __lookup_one_len +EXPORT_SYMBOL vmlinux 0xea9d1e5e genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0xead376d5 pci_find_capability +EXPORT_SYMBOL vmlinux 0xead58fb9 print_hex_dump +EXPORT_SYMBOL vmlinux 0xead89878 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeb07850f scsi_host_lookup +EXPORT_SYMBOL vmlinux 0xeb1fabf6 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0xeb8f54b3 strstrip +EXPORT_SYMBOL vmlinux 0xebaeb27f pci_map_rom +EXPORT_SYMBOL vmlinux 0xebbf1dba strncasecmp +EXPORT_SYMBOL vmlinux 0xebd273a6 strict_strtoull +EXPORT_SYMBOL vmlinux 0xebf1509b clocksource_unregister +EXPORT_SYMBOL vmlinux 0xec71a622 try_to_release_page +EXPORT_SYMBOL vmlinux 0xec794ba0 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0xec7f42c3 blk_queue_ordered +EXPORT_SYMBOL vmlinux 0xec7f92c7 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0xec81e6f1 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0xec87b9df dentry_open +EXPORT_SYMBOL vmlinux 0xeca74769 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0xecd85b35 compat_ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xecde1418 _spin_lock_irq +EXPORT_SYMBOL vmlinux 0xecdf0905 journal_update_format +EXPORT_SYMBOL vmlinux 0xece1a4a6 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0xed0cf782 console_stop +EXPORT_SYMBOL vmlinux 0xed17f39f scsi_scan_host +EXPORT_SYMBOL vmlinux 0xed2360e6 i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0xed2abb9b sync_blockdev +EXPORT_SYMBOL vmlinux 0xed699583 d_alloc +EXPORT_SYMBOL vmlinux 0xed925409 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedf40cb5 __serio_register_port +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee4535a4 __bio_clone +EXPORT_SYMBOL vmlinux 0xee736f28 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xeea2a56e jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeeab51b6 set_pages_uc +EXPORT_SYMBOL vmlinux 0xeebb2f26 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xeec1216c mmc_resume_host +EXPORT_SYMBOL vmlinux 0xeef12bb2 dst_alloc +EXPORT_SYMBOL vmlinux 0xef4376e4 seq_open_private +EXPORT_SYMBOL vmlinux 0xef45414c buffer_migrate_page +EXPORT_SYMBOL vmlinux 0xef49d0cf pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0xef6ed1ba param_set_invbool +EXPORT_SYMBOL vmlinux 0xef80c3cb __invalidate_device +EXPORT_SYMBOL vmlinux 0xef8643b6 input_register_handler +EXPORT_SYMBOL vmlinux 0xef9aedfc boot_option_idle_override +EXPORT_SYMBOL vmlinux 0xefac3c79 sock_no_bind +EXPORT_SYMBOL vmlinux 0xefb19ce9 dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0xefb40ed9 acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0xefce44a2 hippi_neigh_setup_dev +EXPORT_SYMBOL vmlinux 0xefd56f23 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefe099c3 acpi_get_event_status +EXPORT_SYMBOL vmlinux 0xefe9e456 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0xeffcd465 pci_dev_get +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf0089b1b skb_copy_bits +EXPORT_SYMBOL vmlinux 0xf01266e6 sock_map_fd +EXPORT_SYMBOL vmlinux 0xf0397902 compat_nf_setsockopt +EXPORT_SYMBOL vmlinux 0xf0508054 fb_get_mode +EXPORT_SYMBOL vmlinux 0xf05dc059 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf083a91d ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0fdf6cb __stack_chk_fail +EXPORT_SYMBOL vmlinux 0xf106ecb3 acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0xf10de535 ioread8 +EXPORT_SYMBOL vmlinux 0xf11543ff find_first_zero_bit +EXPORT_SYMBOL vmlinux 0xf116d4b5 copy_in_user +EXPORT_SYMBOL vmlinux 0xf12ba346 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0xf14861a9 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xf1561733 dev_remove_pack +EXPORT_SYMBOL vmlinux 0xf174ed48 acquire_console_sem +EXPORT_SYMBOL vmlinux 0xf17775b7 mdiobus_write +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1cf0b9e disk_stack_limits +EXPORT_SYMBOL vmlinux 0xf1d64416 gen_new_estimator +EXPORT_SYMBOL vmlinux 0xf1d7dc84 neigh_ifdown +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1de0a6d linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0xf1e82ecc fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf20e73c9 single_open +EXPORT_SYMBOL vmlinux 0xf20e771c scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0xf21c6ccd agp_generic_free_by_type +EXPORT_SYMBOL vmlinux 0xf221b71e free_mdio_bitbang +EXPORT_SYMBOL vmlinux 0xf231258b __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0xf2997713 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0xf2ec1db0 dget_locked +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 0xf35f075f serial8250_register_port +EXPORT_SYMBOL vmlinux 0xf361ec06 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0xf3655996 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0xf397b9aa __tasklet_schedule +EXPORT_SYMBOL vmlinux 0xf3b62e11 blk_insert_request +EXPORT_SYMBOL vmlinux 0xf3b9f3fb cdev_alloc +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3e33663 tty_register_driver +EXPORT_SYMBOL vmlinux 0xf3f967fc per_cpu__current_task +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf4501a53 set_pages_x +EXPORT_SYMBOL vmlinux 0xf4528073 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0xf4607155 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0xf4690ff6 ppp_input_error +EXPORT_SYMBOL vmlinux 0xf479d9a4 genphy_resume +EXPORT_SYMBOL vmlinux 0xf48145b4 mmc_power_save_host +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf4974f8d tcp_parse_options +EXPORT_SYMBOL vmlinux 0xf497c6cb phy_print_status +EXPORT_SYMBOL vmlinux 0xf4a5c213 avail_to_resrv_perfctr_nmi_bit +EXPORT_SYMBOL vmlinux 0xf4ce9df2 da903x_query_status +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f43b75 sock_kfree_s +EXPORT_SYMBOL vmlinux 0xf4f52f93 dqstats +EXPORT_SYMBOL vmlinux 0xf500fbd4 nf_log_register +EXPORT_SYMBOL vmlinux 0xf50ccc59 sock_i_ino +EXPORT_SYMBOL vmlinux 0xf51ae235 touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xf53a96e1 __rta_fill +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf57682c8 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0xf58aa9b3 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0xf591cf35 vfs_dq_transfer +EXPORT_SYMBOL vmlinux 0xf5c013a2 delayed_slow_work_enqueue +EXPORT_SYMBOL vmlinux 0xf5c830ec truncate_pagecache +EXPORT_SYMBOL vmlinux 0xf5c9012e timespec_trunc +EXPORT_SYMBOL vmlinux 0xf5e5ba8d vfs_mknod +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf60a342f n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0xf62af181 neigh_update +EXPORT_SYMBOL vmlinux 0xf63117d9 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xf666cbb3 __memcpy_fromio +EXPORT_SYMBOL vmlinux 0xf66bf993 mdiobus_register +EXPORT_SYMBOL vmlinux 0xf6892a68 bdi_unregister +EXPORT_SYMBOL vmlinux 0xf68aee06 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xf68f6a27 scm_detach_fds +EXPORT_SYMBOL vmlinux 0xf690a74f eth_validate_addr +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6c0f905 dma_set_mask +EXPORT_SYMBOL vmlinux 0xf6c207c1 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf7093a94 generic_getxattr +EXPORT_SYMBOL vmlinux 0xf7100595 path_put +EXPORT_SYMBOL vmlinux 0xf749534a gen_pool_free +EXPORT_SYMBOL vmlinux 0xf74a63b5 x86_mce_decode_callback +EXPORT_SYMBOL vmlinux 0xf7506c41 __any_online_cpu +EXPORT_SYMBOL vmlinux 0xf76161f5 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0xf7679e06 find_lock_page +EXPORT_SYMBOL vmlinux 0xf78956f3 compat_sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf7969df4 seq_path +EXPORT_SYMBOL vmlinux 0xf7bc1e99 pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0xf7c464b6 k8_northbridges +EXPORT_SYMBOL vmlinux 0xf7c4e970 phy_stop +EXPORT_SYMBOL vmlinux 0xf7c89461 skb_gso_segment +EXPORT_SYMBOL vmlinux 0xf7efe0eb input_unfilter_device +EXPORT_SYMBOL vmlinux 0xf7faff97 udp_prot +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf81db89d tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82e3d47 acpi_initialize_objects +EXPORT_SYMBOL vmlinux 0xf8324091 set_pages_array_uc +EXPORT_SYMBOL vmlinux 0xf8341911 seq_puts +EXPORT_SYMBOL vmlinux 0xf83afd1c i2c_verify_client +EXPORT_SYMBOL vmlinux 0xf83e2f69 tty_kref_put +EXPORT_SYMBOL vmlinux 0xf843e170 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0xf88e0ee2 acpi_get_table_header +EXPORT_SYMBOL vmlinux 0xf88e5477 get_empty_filp +EXPORT_SYMBOL vmlinux 0xf890fe7f pm_idle +EXPORT_SYMBOL vmlinux 0xf8b30e93 mempool_create +EXPORT_SYMBOL vmlinux 0xf8b5ca2d journal_clear_err +EXPORT_SYMBOL vmlinux 0xf8bddc02 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0xf8cf9ee5 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0xf8e536ad tty_throttle +EXPORT_SYMBOL vmlinux 0xf9153128 dev_trans_start +EXPORT_SYMBOL vmlinux 0xf92791c5 wireless_send_event +EXPORT_SYMBOL vmlinux 0xf9547565 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0xf9623390 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xf96bc768 netlink_unicast +EXPORT_SYMBOL vmlinux 0xf979b202 cdrom_open +EXPORT_SYMBOL vmlinux 0xf9899664 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9b50079 kobject_put +EXPORT_SYMBOL vmlinux 0xf9e6a0e4 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xf9ffd4a5 genl_register_ops +EXPORT_SYMBOL vmlinux 0xfa0564fc __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfa1b7e4e sk_alloc +EXPORT_SYMBOL vmlinux 0xfa6b9b13 mmc_card_awake +EXPORT_SYMBOL vmlinux 0xfa6fc726 neigh_destroy +EXPORT_SYMBOL vmlinux 0xfa908648 sysctl_jiffies +EXPORT_SYMBOL vmlinux 0xfa9709c8 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0xfa9f718e qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0xfac76911 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xfaca791b seq_escape +EXPORT_SYMBOL vmlinux 0xfad6050e __secpath_destroy +EXPORT_SYMBOL vmlinux 0xfade665f pnp_device_attach +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb0443fb acpi_get_parent +EXPORT_SYMBOL vmlinux 0xfb0cf2e9 touch_all_softlockup_watchdogs +EXPORT_SYMBOL vmlinux 0xfb17f9b7 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0xfb606d01 vfs_readdir +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb6f98c2 write_cache_pages +EXPORT_SYMBOL vmlinux 0xfba0c2e0 llc_sap_list_lock +EXPORT_SYMBOL vmlinux 0xfbbebbc1 scsi_host_put +EXPORT_SYMBOL vmlinux 0xfbc2bbf4 inode_init_always +EXPORT_SYMBOL vmlinux 0xfbe14a56 skb_split +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfbeaf41e fb_set_suspend +EXPORT_SYMBOL vmlinux 0xfbedb212 journal_get_create_access +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc04ffa7 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc6256b9 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xfc6b850e ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xfc989a49 per_cpu__cpu_core_map +EXPORT_SYMBOL vmlinux 0xfc9aadf3 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0xfc9b74ea mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcc4d4e4 mod_timer_pending +EXPORT_SYMBOL vmlinux 0xfccc518d __sk_dst_check +EXPORT_SYMBOL vmlinux 0xfcd9be6a tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcefd18a mem_section +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd3827cd vfs_quota_enable +EXPORT_SYMBOL vmlinux 0xfd5a09fa mpage_writepages +EXPORT_SYMBOL vmlinux 0xfd61399e skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0xfd6f4850 native_wrmsr_safe_regs +EXPORT_SYMBOL vmlinux 0xfd7d7713 acpi_exception +EXPORT_SYMBOL vmlinux 0xfd8d4405 dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0xfda85a7d request_threaded_irq +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfdbd38c4 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0xfdcc80ac journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xfdf5cafc neigh_seq_start +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfe047ce6 acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0xfe26fc7c nr_node_ids +EXPORT_SYMBOL vmlinux 0xfe392bcd generic_segment_checks +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe69bffc set_groups +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe7c4287 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0xfec0c2dc __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfec86d98 submit_bh +EXPORT_SYMBOL vmlinux 0xfec8b4c9 agp3_generic_tlbflush +EXPORT_SYMBOL vmlinux 0xfedd35fc console_suspend_enabled +EXPORT_SYMBOL vmlinux 0xfee836f6 single_release +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff4105a5 scsi_unregister +EXPORT_SYMBOL vmlinux 0xff4584b9 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff6ecd7a lookup_one_len +EXPORT_SYMBOL vmlinux 0xff708fd3 mempool_destroy +EXPORT_SYMBOL vmlinux 0xff754d08 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0xff7559e4 ioport_resource +EXPORT_SYMBOL vmlinux 0xff850cf0 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0xff8ecbae jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0xff964b25 param_set_int +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffa1a725 scsi_ioctl +EXPORT_SYMBOL vmlinux 0xffa1e8f1 serio_reconnect +EXPORT_SYMBOL vmlinux 0xffc7c184 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xffd1ffdb blk_queue_io_min +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xfff31926 search_binary_handler +EXPORT_SYMBOL vmlinux 0xfff89643 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xfffa5de5 pci_read_vpd +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/kernel/cpu/cpufreq/speedstep-lib 0x16836e04 speedstep_detect_processor +EXPORT_SYMBOL_GPL arch/x86/kernel/cpu/cpufreq/speedstep-lib 0x2af90271 speedstep_get_frequency +EXPORT_SYMBOL_GPL arch/x86/kernel/cpu/cpufreq/speedstep-lib 0xd494ee54 speedstep_get_freqs +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 0x05b22eb1 kvm_get_guest_memory_type +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x094ac8f4 kvm_get_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0a37a028 kvm_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0b7da2ca emulate_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0c2536ee kvm_get_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0dc4cec5 kvm_set_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x12d1b23b kvm_release_pfn_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1a9df35f __tracepoint_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1ba3db3b kvm_get_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1c97dd6f kvm_cpu_get_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1e4580bb kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x20de5193 kvm_disable_largepages +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2322e039 kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2babec3b kvm_mmu_invlpg +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2f1cb8de kvm_vcpu_cache +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x317f9e6b kvm_enable_efer_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x34a68b94 kvm_report_emulation_failure +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3b7706d2 __tracepoint_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3b7713a6 kvm_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3ed8cb36 kvm_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x42987008 kvm_load_guest_fpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x42ec8ff0 kvm_get_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x45e707d9 kvm_emulate_pio_string +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x46de2a13 kvm_mmu_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x47666178 kvm_set_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4a7cbe69 is_error_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4c778165 is_error_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x583fcc24 gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x587ca56b __kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5b43658e kvm_vcpu_uninit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5b83f42a kvm_queue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5c6747c1 kvm_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x611699db kvm_resched +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x665ddedd kvm_mmu_get_spte_hierarchy +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x673ee6c1 kvm_emulate_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x67d28e3f kvm_queue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x68e6ccac kvm_set_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x69d581c3 kvm_inject_pending_timer_irqs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6e2568f7 kvm_set_cr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x74289971 kvm_mmu_load +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7e0e817f kvm_get_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x80fc39fa kvm_set_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x84cdddfc kvm_vcpu_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8badc5df kvm_x86_ops +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8ce4f3ab kvm_enable_tdp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8e7f9b47 segment_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x97c57ae9 kvm_emulate_pio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9bfd8696 kvm_get_cs_db_l_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa28745dd kvm_require_cpl +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa361bc65 kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa3739a4a gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa4441d2e kvm_inject_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xabd743f5 kvm_mmu_reset_context +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xac71e52c kvm_release_page_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaf932f52 gfn_to_memslot_unaliased +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb89f05ef kvm_put_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb99b5682 kvm_set_cr3 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbc2452b7 kvm_emulate_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd377dc9 kvm_mmu_set_nonpresent_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd86163a kvm_handle_fault_on_reboot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd94103b kvm_mmu_set_base_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xca2387a9 kvm_lmsw +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcb608fdd kvm_emulate_hypercall +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcd54b97b kvm_set_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcd616a2a gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcea5bf57 __tracepoint_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd0b2727a kvm_mmu_set_mask_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd296def9 kvm_is_error_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd3c0a6da __tracepoint_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd5432ddb kvm_task_switch +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd5e5bb69 kvm_mmu_unprotect_page_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd950ea62 kvm_put_guest_fpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdd1804e0 fx_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdead7e81 __tracepoint_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe64d3e08 kvm_clear_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xeab416bb kvm_clear_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf033d0bc kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf08c8126 kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf3115523 load_pdptrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf341e655 kvm_release_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf4be4de4 kvm_cpu_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf836fd92 emulator_write_emulated +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xff5dc8e5 kvm_is_visible_gfn +EXPORT_SYMBOL_GPL crypto/aes_generic 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL crypto/aes_generic 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0xff0cee2c crypto_aes_set_key +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x37e13666 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x9112ef79 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xd4bff9ac async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x0574baca async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xc45b8978 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x348bdadd __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x528b7d47 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xb3cae420 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xe967a89b async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xbb10968a async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xf600b199 async_xor +EXPORT_SYMBOL_GPL crypto/cryptd 0x4a01862d cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x5dc0ad06 cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xc5ebf601 cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xd42d55f8 cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xfc86e11d cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xfe4741b0 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0xff214f15 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x68da9166 twofish_setkey +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/bluetooth/btmrvl 0x233466d0 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x6ee6f739 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x738a1d83 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x9f464303 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xbf6cb9f7 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xd430f4e4 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x09026107 tpm_write +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x150d130e tpm_show_enabled +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x290f8496 tpm_get_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x29885414 tpm_store_cancel +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x2f641772 tpm_gen_interrupt +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x334b7600 tpm_show_pubek +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x52e65c9d tpm_show_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x5811b793 tpm_show_caps +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x5c644045 tpm_open +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x6185316c tpm_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x67203739 tpm_register_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x6b990afc tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x733499b3 tpm_pm_suspend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x7d0adf7e tpm_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x8042e87f tpm_dev_vendor_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x9507c006 tpm_show_pcrs +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x9550a863 tpm_show_active +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xb4b9719e tpm_dev_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xba2da659 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xba691615 tpm_continue_selftest +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xbef023b4 tpm_pm_resume +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xcf017fa2 tpm_show_owned +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xd5212b1d tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xe31365ee tpm_remove_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm_bios 0x20339ec1 tpm_bios_log_teardown +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm_bios 0x445511e9 tpm_bios_log_setup +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 0x4ba0dfe3 dca_add_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0x6f4aaaa1 register_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x8006c614 dca_unregister_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0x946de288 unregister_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0xa7eea27d free_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0xdfa25def dca_remove_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0xe6e5f124 dca3_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0xefe1f8b9 alloc_dca_provider +EXPORT_SYMBOL_GPL drivers/edac/amd64_edac_mod 0x556cd18c amd64_get_dram_hole_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c957d41 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0d67b1d9 edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x19f1deb9 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x23cec3aa edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x2a1003ed edac_mc_add_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x2c330e76 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x2daf747e edac_device_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x389c8ffb edac_device_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x48a55147 edac_pci_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x547d11ab edac_device_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x58af4b8c edac_mc_del_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x5b35257f edac_mc_handle_ce_no_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x65e4755b edac_pci_handle_pe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x782fc36c edac_device_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x868387d2 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xac05deba edac_device_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb32c906f edac_mc_alloc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb5d65e7b edac_mc_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb5e86132 edac_pci_reset_delay_period +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb98e177b edac_mc_handle_ue_no_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xbfffd91d edac_mc_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc2d1ad05 edac_pci_handle_npe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc88462a2 edac_mc_free +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xcaad1c24 edac_pci_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x0f0ba55e ii_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x14878009 amd_report_gart_errors +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x1823885a amd_register_ecc_decoder +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x4b01887d pp_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x7509830f to_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x955c1f76 amd_decode_nb_mce +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xb98537cb rrrr_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xc2e765d2 amd_unregister_ecc_decoder +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xd0f094a0 ext_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xe6ff7e0c ll_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xf8dec080 tt_msgs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7749ee2f drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf9e1f74c drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x055b75d9 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x057ce0ba hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x08a74ff0 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x105b4fe1 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x121f8a8c __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1a8e1be2 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1b6e4f66 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x21c23f6d hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2f857cdb hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3909a2e2 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3a8887be hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3e67c1a1 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x51e8f454 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x65dc9906 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x803bbc65 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x853be9bb hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8ebfabd4 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9945218b hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb396ff8e hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb9a06a32 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc09fae01 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc4e3a8b4 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcf33dd15 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe9dd48b8 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfe734722 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x391a4895 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x424e94c1 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x5bab47ed usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x51ca9b1b lis3_dev +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x6a34bd76 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x6c33e494 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x8462c1a6 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x94ebbaba lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xe6af28c8 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xfce567e6 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-nforce2 0x2b8c336d nforce2_smbus +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0x17ba5e3e hpsb_config_rom_ip1394_add +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xec8d18cf hpsb_disable_irm +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xef9a55b7 hpsb_config_rom_ip1394_remove +EXPORT_SYMBOL_GPL drivers/infiniband/hw/ipath/ib_ipath 0x1514b2b2 ipath_debug +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xa95e6ba9 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x22f511a9 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x4a9192ba wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x541bdd05 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x572f8fe0 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x8016b603 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x8308ef72 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x863b9224 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x8c10dbe4 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x9a7ce5e1 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xa2a2fe06 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xcc56202d wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xd1555a28 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x049b5aca gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x0bc80cf0 gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x1e4b8c08 gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x29d9e717 gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x2c0979ce gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x30e8d4c4 gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x3cfbe333 gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x5a6ea4ca gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x661d7828 gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x7a5c1043 gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x82e50619 gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x8b50cb13 gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xbd36d8fb gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xc30ce724 gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xdb2a7d32 gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xf0b21d33 gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/leds/led-class 0x87400e7f led_classdev_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xe1b7c35e led_classdev_suspend +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xeb1d3441 led_classdev_register +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xfd2270df led_classdev_resume +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x24935f26 raid6_call +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0xcdc24ab5 raid6_2data_recov +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0xdbab0c01 raid6_datap_recov +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0349c9bd ir_codes_proteus_2309_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0366dcdf ir_codes_videomate_s350_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x110b053a ir_codes_pixelview_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x124cb753 ir_codes_encore_enltv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x183fdfdd ir_codes_gotview7135_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19b4d61c ir_codes_nebula_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19cd2826 ir_codes_behold_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1a9009d6 ir_codes_dm1105_nec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1cb148f5 ir_extract_bits +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x219b69fa ir_input_keydown +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2456e513 ir_decode_pulsedistance +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2cc459b5 ir_codes_flydvb_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2d0e9a49 ir_codes_em_terratec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3136d8ff ir_codes_dntv_live_dvbt_pro_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x32b9033b ir_codes_apac_viewcomp_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3909f4ad ir_codes_terratec_cinergy_xs_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3a84be27 ir_codes_avermedia_a16d_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4267d749 ir_codes_budget_ci_old_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x43c89ef4 ir_decode_biphase +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4c1442c1 ir_codes_real_audio_220_32_keys_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x51ba1643 ir_codes_kworld_plus_tv_analog_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x543db4ff ir_codes_avermedia_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5e95da31 ir_codes_tt_1500_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5fbe6515 ir_codes_pinnacle_color_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x61d039d7 ir_codes_behold_columbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6427a3fb ir_codes_pinnacle_grey_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x64b02fed ir_codes_avermedia_dvbt_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6606596a ir_rc5_timer_keyup +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6809de82 ir_codes_pctv_sedna_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6d6511e7 ir_dump_samples +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x703fc738 ir_codes_avertv_303_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x7283f81d ir_codes_purpletv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x72c2992e ir_codes_powercolor_real_angel_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x76d71b8e ir_codes_dntv_live_dvb_t_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x784e176d ir_codes_asus_pc39_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x828b3ce5 ir_codes_encore_enltv_fm53_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x87a7deb6 ir_input_nokey +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x8acae3dd ir_codes_pinnacle_pctv_hd_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x92d1d181 ir_codes_flyvideo_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x94651dab ir_codes_ati_tv_wonder_hd_600_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x97c35dab ir_codes_msi_tvanywhere_plus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x9944e2e5 ir_codes_hauppauge_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa69aa6ad ir_codes_pv951_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa95157c5 ir_codes_cinergy_1400_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xac15f6c8 ir_codes_kaiomy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xaff22e87 ir_codes_pixelview_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb01a1998 ir_codes_manli_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb0a8ef38 ir_codes_rc5_tv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb57445f7 ir_codes_eztv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb5adb754 ir_codes_cinergy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbd3ce6f0 ir_codes_avermedia_cardbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbeaccbdc ir_codes_gadmei_rm008z_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xcba36c62 ir_codes_videomate_tv_pvr_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xd30c491f ir_codes_norwood_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdc23fec4 ir_codes_fusionhdtv_mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdd4c0a07 ir_codes_evga_indtube_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe1101f4d ir_codes_avermedia_m135a_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe4140c60 ir_codes_genius_tvgo_a11mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xea623b68 ir_input_init +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeb9bb08f ir_codes_npgtech_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xebf345b4 ir_codes_encore_enltv2_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeec89db8 ir_codes_empty_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xef29c40d ir_codes_adstech_dvb_t_pci_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf33c155d ir_codes_msi_tvanywhere_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf3d619ec ir_codes_iodata_bctv7e_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf4f7a4d6 ir_rc5_timer_end +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf5e15e65 ir_codes_winfast_table +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x1da227f4 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x45be03bf saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x5e6c8cd8 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x6a7c4f9c saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x7adbf737 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x88adbe7c saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x971f27ef saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xbe91ec27 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xc1da4a66 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xc3a85d99 saa7146_i2c_adapter_prepare +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 0xf73bfcd4 saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x1ad50634 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x24a33450 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x30543bfd saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xb5ab1078 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xb8a47c08 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xe86e3535 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xf4cdb928 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0xf9e1d50a microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0x200f8075 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0xe146a46f tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0xb337c4b7 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x0f863d18 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xb57cd29a tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0x4f2eae0f tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x0196bc47 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xe8139342 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x3bde42ed tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0xd47a146e tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0xcfc77c9c simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x03189301 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x0f9ad691 sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x18243bfa smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x2822a6d8 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x2e595139 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x3a842123 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x5957e568 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x5991e0c0 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x5b61d787 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x5fc66183 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x713470b3 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x957aa57d sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xaf95b8c8 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xb878fc00 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbebb26fa smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xca51deb6 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd102e907 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd2066da5 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xeb733480 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfda878c5 sms_get_board +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x45795965 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x53a62560 ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x5eace4a2 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 0xd98823c4 ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xeaba7569 ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xed7bb237 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xfcce1367 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x17b4b60a cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x391dc6b0 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x4ae34a89 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x6873f084 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x68d50e54 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x7261ab4c cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x83609118 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x9597f1ad cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xa08db0d3 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xa1bc54c9 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc2346fcf cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0x11f4cbca cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x5df70406 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x73212b22 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7bb30332 em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xde55f5f2 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xe7e28371 em28xx_isoc_dvb_max_packetsize +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xf030c779 em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x6505e99b saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x6f96bce9 saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x7ad3b190 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x7d8051cc saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xf18ec82d saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x050cde2e v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x319855c6 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x4215a3a8 v4l2_i2c_new_subdev_cfg +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xcdcf7026 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-compat-ioctl32 0x647c947f v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x2d22e054 v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x40f3af06 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x854b312a v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa5228b24 v4l2_int_device_try_attach_all +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xe9899e3a v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x083b1680 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x115bf1e0 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x1b9c86d1 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x25cbd299 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x26b57644 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4d56df68 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4fb1172a videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x5e8820c9 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x64dab75f videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6ae4b704 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x90affcf0 videobuf_queue_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x9a82594e videobuf_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa8cec0a0 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xacc889b1 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xb67c3dd9 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xb7f70986 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xbb1e9b65 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc0b62450 videobuf_cgmbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd714b77e videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xde5857f2 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe385d3e8 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe3ed6933 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xee5c0952 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf654c26e videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf7b25a78 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x20766be9 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x45f5ac91 videobuf_sg_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x4ba09ff3 videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x7a973e2c videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x89869cf5 videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x8b7c5b89 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x933dfb43 videobuf_vmalloc_to_sg +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x938d46d0 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa38faed2 videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xc5d82037 videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xcb73ac93 videobuf_dma_sync +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xcba5d39f videobuf_dma_init_overlay +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xdb56321d videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xdbd0d3ee videobuf_sg_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x00ede7dc videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x516ababf videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xac280f2b videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x02a6e473 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x1f081188 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x3c14cb07 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x4e2c8ea0 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x9bea8f91 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa0fd5bf7 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x1c071602 i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x3e4d6e92 i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x406a34e4 i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x717d4378 i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x8f633890 i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xda14c568 i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xf178f4a0 i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xf3defe6b i2o_pool_free +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x0019c9a9 mc13783_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x41e442b9 mc13783_adc_set_ts_status +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x5259475f mc13783_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x55afd13d mc13783_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x86cef259 mc13783_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xc532891c mc13783_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xdda368ba mc13783_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xe65aeb4c pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xea26cade pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x0abf768b pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x0e2ee371 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x0e4c6c62 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x114a0018 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x184cf49e pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x24425cba pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x5c6450d9 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x797cadcb pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xa1bc5889 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xd31f5d70 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xff54474a pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x07bed7b1 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x68c7e0ca pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x7e98e94f pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xab99f8a1 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xf7ebedfb pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x193ab60e sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x43f08789 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x63f9f475 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xdd632e8b sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xddbcaf25 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xef629993 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x3be6a959 wm831x_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x3d78a4f4 wm831x_enable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x4d1d7170 wm831x_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x4dd6e9e1 wm831x_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x5187c89b wm831x_auxadc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x57ca7bb9 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x79d6ed8f wm831x_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x7c19d0c9 wm831x_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x7f20a8de wm831x_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xa4a04b2a wm831x_disable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xb37d1417 wm831x_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xd15b03c5 wm831x_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x1080d3cb wm8350_unmask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x13d16855 wm8350_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x3324dadc wm8350_block_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x4eae0819 wm8350_device_init +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x6e62a218 wm8350_mask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x79dc9d59 wm8350_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x84fec68a wm8350_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x8ffecf2a wm8350_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x959ccc8c wm8350_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x9d14f6f1 wm8350_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xaa900f55 wm8350_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xb82f99e1 wm8350_gpio_config +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xd44d332d wm8350_read_auxadc +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xe935c900 wm8350_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xef9312f4 wm8350_device_exit +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xf076920e wm8350_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x491d8fed wm8400_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x9a1c5ac2 wm8400_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x9b2cb936 wm8400_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0xc0aab1a4 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x391c08a4 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x4fb090c7 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x78cb553e cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xaafb86f3 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x2df115d4 eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d14d2f eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x03e69bb3 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x0f68ded9 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x1f2f1489 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x29cda097 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x5e787db4 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x788c9b53 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xb6143123 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x01d63331 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x06abfe21 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2fc5e3d0 sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x8891491e sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb1beedb8 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xfd41e794 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x0cd084f6 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x25ca7f55 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x5aa097a3 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xdcff81a4 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xba1392ae cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x30958946 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x449dbd41 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xe1174708 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2000 0xbc3e7002 DoC2k_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001 0x7dfdcb61 DoCMil_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x2478d4b9 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x09292165 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1f218d2c mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x21b6c8df mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x43a3e2b4 get_sb_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x450fda8f register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x50483910 add_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x58eff9a1 default_mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6301c2f3 parse_mtd_partitions +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x74019900 register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x75f8d81a put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7779cc0b del_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7d9c6dc1 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x85f5ba1e unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x946a26ab kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcf0be395 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe7aa4b0c mtd_table +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x2cf4673f deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x7a135fc7 register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xa164e1a2 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xcf3b28b0 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x91aa637e nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xa2df54bd nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xc29cab16 nand_scan_ident +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xc75ee68c nand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xe978320f nand_scan_tail +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x21cffb4f onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xd9b00187 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x06d6e57e ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x219de2ab ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x21f99c74 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2e7bb462 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x574bc8b6 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x9f1c27c3 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x9f97024e ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xaf7f8d36 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbc505df4 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd44cac96 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe2bba67d ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe770333f ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xeddafc84 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x213c6b23 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x2dae858e alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x312b509f can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x3d3ccacb can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x611cf7cb can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x7ec021f8 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x7f95def8 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xd5708994 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xd6d92c63 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xdba3e85d unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x1caa9b20 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x85cb1163 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xafc50aa1 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xcf054728 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xdc9bd500 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x02312221 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x06f54d7d mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0ca6e573 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0cf70389 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x10a050da mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x195b3210 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x2149db2a mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x28c6f62f mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x2bb0653f mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x33524a3f mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x340a442b mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x35d9369d mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x35f57d82 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x37672c49 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x39d42281 mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4256b3c8 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4c9388d9 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x601be2e7 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x6841907e mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x743364fa mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x75c48df7 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x75d06a42 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x78bd3164 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x7908ec57 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x7a2285fb mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x80972ac4 mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x844f68dd mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8834a3cf mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x89bef5d7 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x90c408ab mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9245e68b mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x932aff9b __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x94cdcac8 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x99b22391 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9a3d9ef5 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9c68f0b1 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa3741143 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xaafb8a56 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xaf5c9247 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb77f1e69 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc599a0f4 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc6857f10 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc90e1c50 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xcb44e97f mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd5812612 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xda60df54 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe2199264 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe39a8bd9 mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xea3383f4 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xec9582d5 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf3509146 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf50e8465 mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xfccdf0dc mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x3471f27a usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x73b6d9a2 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x30dcf5a0 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x4cdd8696 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x7e518fa6 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xc7ce633f rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xf224ceae rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xf616f4c0 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x112a566d usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x27f94464 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3cf06c32 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3dc66c12 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4177c74e usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x47ff17e2 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x486fb89f usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4ff97cc0 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6723b4d4 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x72885804 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x82a3d706 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x840f0087 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x89775d5b usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8978ef20 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa21533b9 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb13dab86 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb4a79273 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbbf4861f usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcd97ce6e usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd7ec6b09 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe90cba0a usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf1368ddf usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf72b8eaa usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfbdb890a usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x56168efc i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x594e6cc7 i2400m_cmd_get_state +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x5bd4dd11 i2400m_set_init_config +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x5c31e212 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x606f1b46 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x60dca91f i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x69c1e28e i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x784f0659 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x798c0e53 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xd4acce19 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xeb56c187 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xeeb2053b i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xfd5dc757 i2400m_queue_work +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x0998cacd libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x1c820b19 libipw_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x0d5f7063 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x1eeec54d lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x39580fd0 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x4fc013d1 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x58f1954a lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x6398b7b8 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x691433a2 lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x7d32fd33 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8b7ff327 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8f522ea3 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x97e09868 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa67ae2a0 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xaf0c7cd9 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xdf5c97bb lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xfd89e10f lbs_cmd_802_11_rate_adapt_rateset +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x03874696 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x106670d4 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x33170f1f lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x8d875bae lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xb3f36f1c lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc5cb590d lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xe04d6102 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xee70f7f3 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xa65caa68 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xedd4e490 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x016afc71 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x5b13c58c p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x6af3bc2d p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x789433da p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x98e28086 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xbefe6aac p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xc94658fd p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xeb03b325 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xff303354 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x02274e72 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x16a76fe2 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1ec1fa4f rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x297ddca9 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2a4f8e45 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x35feca9c rt2x00queue_get_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3868ebb2 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3bb7d80c rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x480ff50f rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x54b6d97a rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x72f7f273 rt2x00mac_get_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x79e78dcc rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x7a41fc1d rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8915bf64 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8e115ad3 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8fd3a502 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9b7e4ddf rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa1d79f72 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa63ada72 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc150e7d5 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd275932b rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdd365405 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe0b3794d rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xeaae8821 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x02f5d641 rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x031de29e rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x0b488b81 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x3e07d9e2 rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x4d354a32 rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x6889f5e2 rt2x00pci_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x83fee0bd rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xa7814e10 rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xf3a0800f rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x1843764f rt2x00usb_vendor_request_large_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x2a9d8e5d rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x42fd242e rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x4d33479d rt2x00usb_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x4dab1c10 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x64da98a9 rt2x00usb_kill_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6e42163d rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x72412003 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x7ef108f6 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x8558da9f rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xa51a0af0 rt2x00usb_kick_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xb14943ba rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xbf2a07d3 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xc1821d32 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xc98161f2 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xf5ab5ac4 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x87ecdc0f wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x9d37b482 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0xebc6acd4 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0x3ee84ea8 acpiphp_register_attention +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0xea053f30 acpiphp_unregister_attention +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x288c154c pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xaf5b3497 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x1ecd5975 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x4a89f3c2 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x6555168a wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x71b3b619 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x7df6d077 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xf5a25146 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x53d5283b wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x6ec312dd fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00bcd540 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0233f349 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x04eea475 iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x05e81e53 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0b91cb86 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x132ac06d iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x13f4529a iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x15bcc55b iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x195aef7d iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1ada7cde iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1bdf11a3 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x24c5be57 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2701a211 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2a3af79a iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2a828680 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3d3531df iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3f2ecda7 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x41ba1d14 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4b2fa2d2 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4b4aad67 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x590b83d3 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5aa27880 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x65d692e1 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x68e11a41 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x70d22977 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x78e6232c iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7bd81666 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7c600dfc iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x80d22d57 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x816f6450 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9190b922 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x94776676 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9da19bef iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9ea4d818 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9f82fc95 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xaee1cb08 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc5558071 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd9c5e1e0 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdfb7c35a iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xee3c7fd1 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf92228b6 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfdb1a15f iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x010c2bff iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1b35f9ab iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1f669430 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x292c4b01 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x41b6b38f iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4ce6ef7e iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x788d6fdd iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x85b2e0a5 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x8996f4ef iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa1a27654 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb471085c iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xbdec32d1 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd1e8b84a iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd295ffa0 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe5e83aaa iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfffe9f88 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x08e967b8 sas_slave_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0f476bf7 sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1f2047e3 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1f32323a sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x272b06c1 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x45287f54 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x526e2152 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x630f18c0 __sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x70106514 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8554c3b4 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x87b9f76d sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x970c4bb7 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9dc0522a sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xab4b72cd sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb8aac97f sas_find_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbc7c7282 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc930b456 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xcee46d55 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd797b368 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xed1cf704 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf30e8cc7 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf8d11ba7 sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfef774ea sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x1eca6b9d srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x27077de1 srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x2b1e5d34 srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x7ca26015 srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x8be57413 srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x9bf82d3b srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x3682bc06 scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x9c85fe65 scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa9102c73 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xb330ee2e scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xb75125ad scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xc2fe1682 scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xc938311d scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xd6abbbf0 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xf3b86b83 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x04e04c53 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x08fb3f6f iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1244332e iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x214d40fd iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2c87880e iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4d203653 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5a1fdc04 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5dec4b70 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x78d859b5 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7afd65bb iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7c987b93 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7e33398d iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x91f1ebe0 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa155b1b3 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa623f4d5 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb8d37438 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbecbf8bd iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdac7444d iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdd3af917 iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe1237005 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe295ce02 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe6808587 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x29597ae2 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x67b42da7 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x84e73f8d srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xcd6552f7 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xeaadde1c srp_attach_transport +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x466cc29d spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x4a96c561 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x655ced4a spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xc18d11a7 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xdb59fc02 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xff163e8b spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0249c24f comedi_get_device_file_info +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4740fc22 comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4e4b42d1 comedi_free_board_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x813c41b0 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb5725623 comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xc57fdaf4 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd7a6c7b7 comedi_alloc_board_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x2ec4023c das08_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x86fcde20 das08_cs_boards +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0xf86744c0 das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0x25e55b95 labpc_1200_is_unipolar +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0x6adab010 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_labpc 0xb3b1885c labpc_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x08b31ab3 ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x0b7a0464 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x2f6a2c41 ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x530c4823 ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x846497af ni_tio_rinsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x90514a50 ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xac00c13a ni_tio_winsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xac14bc93 ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x58821a42 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x76f69816 ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x7b4e1221 ni_tio_acknowledge_and_confirm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x9cf6e967 ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xd6150c2f ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xe23b6fc1 ni_tio_cmdtest +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/hv/hv_vmbus 0x0a1ee779 osd_WaitEventWait +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x4cc1b61c osd_WaitEventCreate +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x5432d87a osd_WaitEventSet +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x746d1786 osd_PageAlloc +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x83911c38 osd_PageFree +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0xa1b8d1ad osd_WaitEventWaitEx +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x1b604e6f usbip_task_init +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x2105c7f4 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x2b2cd4f0 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x3339e671 usbip_start_threads +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x4c27147c usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x557838a8 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x73ae2c85 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x7c769f98 usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x80735418 usbip_stop_threads +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x832ab718 sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x99689649 usbip_xmit +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x9a539a30 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xb613bb5a usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xc7f91cbd usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xcea384f8 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xe40fae65 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/uio/uio 0x213ecb81 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x333f0859 __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x4e708c51 uio_event_notify +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x02866289 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x5c7260de usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x2448ec78 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x2e0db62a usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x83cad316 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x97e33547 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xbe106c55 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xc2bc4b6f usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xe0bb8020 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xea9b09cd usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xf4d6b39e usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0382a877 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x05d61f6b usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1695ece5 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2189cfde ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x74c4b91d usb_serial_generic_resubmit_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x779fa664 usb_serial_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x8080e236 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x91151d80 usb_serial_register +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9e741b63 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xaed32268 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb4430e3b usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc9e9dccb usb_serial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd36bea06 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf41c5ce7 usb_serial_deregister +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf5b186ef usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf6a01d74 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x03076779 usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x073444c0 usb_usual_ignore_device +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x19860572 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x19e71cc9 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x23fca9a9 usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x406f2945 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x47385c6e usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x4adf52dc usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x51073d9c usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x524a07c6 usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x5e2c89e5 usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x5f0473c1 usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x657a08b8 usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8cb5492f usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x96db1df5 usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x997ef96b usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa171e243 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa942a3f2 usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd662e508 fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe334cada usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe3e71b5e usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xefe6515b usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xfca66cdd usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x329e393d rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x512a967f __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x5b0fc154 wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x68852e78 wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x73d4650a wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x8668d134 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xdb580afe wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x02e0c410 wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x2efc3567 wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x4c619f08 wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x57c4c9fb wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x5889f7c5 __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x662434d2 wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x7761fc17 wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x793fead6 wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x8ff9b608 wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xa5c3d8a0 wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb0d61911 wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xbaa972e2 wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xbc1673b0 wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xdb1a6cf0 wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xdf6e4f08 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xe6cf3066 wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf6f045e4 wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf770a6b4 wusbd +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xfe2e17d7 wusb_et_name +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x0630023e i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x36ae2d65 i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x7b817d6f i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x1539c0c8 uwb_rts_cts_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x23ca0c43 uwb_rts_cts_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x44f34021 uwb_pca_base_priority_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x5e49905a uwb_ack_policy_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xb68edf20 uwb_phy_rate_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xdef6da2b uwb_phy_rate_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xe0ac934b uwb_pca_base_priority_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xe2a7223f uwb_ack_policy_show +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x18330f0d umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x3c59558b __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x85d6b1d6 umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xaa095419 umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xb3ac96d5 umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xcd73d3c0 umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xf21618d4 umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xfb279d26 umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x02e16a09 uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x05f05757 uwb_rsv_destroy +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x128ae03e uwb_rsv_modify +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x14dfc9c3 uwb_rc_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1d0f80a8 uwb_rc_pre_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2075ba81 uwb_pal_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x22dc0c80 uwb_radio_stop +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x235bb961 uwb_rsv_create +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2c3bece3 uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2cb8fcbf uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x449cac9b uwb_rc_ie_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x469c5f2d uwb_rc_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d57ae3c uwb_rsv_type_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5596a9f6 uwb_rc_cmd_async +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x58554226 uwb_rc_cmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x58eff876 uwb_notifs_deregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x618912e1 uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x626e8a87 __uwb_rc_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x63cea5d0 uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x63dce779 uwb_rc_ie_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6b9377c5 uwb_ie_next +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6bcd28f0 uwb_rc_neh_error +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6dd7d926 uwb_dev_for_each +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6f1f3831 uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x727c2b3c uwb_rc_get_by_grandpa +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7f1e50ca uwb_est_find_size +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x85417e20 uwb_notifs_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8cb42db6 __uwb_addr_print +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x969f738b uwb_pal_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9b85ccc3 uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xafb014ec uwb_pal_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb0a09251 uwb_rsv_get_usable_mas +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb56d816f uwb_rc_vcmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb94bcc7e uwb_rc_post_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbbb96d89 uwb_rsv_accept +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbc96fded uwb_rsv_establish +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc19ca7a4 uwb_rc_put +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xccaed364 uwb_rc_dev_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd15729f4 uwb_rc_neh_grok +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xeb4cab9a uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf7ca313a uwb_est_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xfa22f860 uwb_rsv_terminate +EXPORT_SYMBOL_GPL drivers/uwb/whci 0x24c44a8f whci_wait_for +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x0e571ca3 wlp_dev_prim_OUI_sub_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x116dbc09 wlp_dev_manufacturer_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x16c0df3c wlp_eda_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x30daab2e wlp_dev_serial_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x31a3cdc7 wlp_eda_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3572c005 wlp_neighborhood_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3a276996 wlp_dev_model_nr_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3cafc4ec wlp_dev_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x4b4974f0 wlp_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x51c2b98d wlp_dev_prim_subcat_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x544b0a52 wlp_prepare_tx_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6c0a8dd2 wlp_dev_prim_OUI_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6d3f9b91 wlp_dev_manufacturer_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6daf5cff wlp_dev_model_nr_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6f92f08e wlp_dev_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x737a360e wlp_dev_prim_subcat_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x74ff280a wlp_receive_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x7dfbf7f6 wlp_dev_model_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x82ba0175 wlp_wss_activate_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x8bd960df wlp_dev_serial_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x947a23ed wlp_dev_prim_category_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xa015dd8d wlp_wss_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xa8c8ecd4 wlp_dev_prim_category_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xaf3b7eea wlp_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xb0c343de wlp_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc2a8add4 wlp_wss_activate_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc2d4d696 wlp_dev_prim_OUI_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc408bc71 wlp_dev_model_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc593870f wlp_uuid_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xcf576ce5 wlp_wss_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xe723848d wlp_uuid_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xfe9a94d1 wlp_dev_prim_OUI_sub_store +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x05aec9e1 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x0c79c765 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x42581a85 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x8a7edfbb ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x8b7f1085 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xc015feec ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xd062b5a2 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/fb_ddc 0x3b78ba8f fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0xa52d52c7 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0xee01b47c fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x832e4f5e sis_free_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0xdfd71082 sis_malloc_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/w1/wire 0x03d3d720 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x05f85617 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x1e04bf02 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x9db4ab79 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe63ddb0e w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xee7f1cce w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0xf19fb0d9 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xfbebaec5 w1_write_block +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x0864c4a4 dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xba2c94d1 dlm_posix_get +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 0xec962b4e dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xfb2cca3c dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0x50a25645 exportfs_encode_fh +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0xd8abc92a exportfs_decode_fh +EXPORT_SYMBOL_GPL fs/fat/fat 0x0ddfc890 fat_setattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x1bdbc703 fat_search_long +EXPORT_SYMBOL_GPL fs/fat/fat 0x2fd63d20 fat_flush_inodes +EXPORT_SYMBOL_GPL fs/fat/fat 0x340d87da fat_alloc_new_dir +EXPORT_SYMBOL_GPL fs/fat/fat 0x3fc59266 fat_fs_error +EXPORT_SYMBOL_GPL fs/fat/fat 0x454679d4 fat_add_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x56b325ec fat_attach +EXPORT_SYMBOL_GPL fs/fat/fat 0x5e186d0c fat_free_clusters +EXPORT_SYMBOL_GPL fs/fat/fat 0x7cd80dad fat_dir_empty +EXPORT_SYMBOL_GPL fs/fat/fat 0x8dda0060 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL fs/fat/fat 0x952d16df fat_scan +EXPORT_SYMBOL_GPL fs/fat/fat 0xa7d5b6e4 fat_remove_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0xb0c3475c fat_time_unix2fat +EXPORT_SYMBOL_GPL fs/fat/fat 0xb3054069 fat_getattr +EXPORT_SYMBOL_GPL fs/fat/fat 0xb6c60c2b fat_detach +EXPORT_SYMBOL_GPL fs/fat/fat 0xcc764984 fat_fill_super +EXPORT_SYMBOL_GPL fs/fat/fat 0xd3032d7e fat_build_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0xfaed1b04 fat_sync_inode +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x1a618932 nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x524c7097 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x9f4d9965 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa7b91a7b lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xb73bcb4f nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xdac1d10f nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf459748a nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf6933c48 lockd_up +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x2c32ccbb nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x524236c7 nfsacl_encode +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1206f9df o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x14a87767 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 0x1d747ce3 o2hb_check_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x22767630 o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x2efb9493 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 0x521e0726 o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x740c7dad o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x8caed5e0 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 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 0xd60f2c6c o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xe8d258df o2nm_get_node_by_num +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 0x09c33d57 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x0a2362db dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x12f420dd dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x52f56f8e dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xdcf24bed dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xe39d7295 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0562c415 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x06379db6 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0b5fee49 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0e27f909 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x21db5b88 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x233078e9 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4a1f6fe9 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x81c85a68 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x882a3d27 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x91fab465 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x963932a3 ocfs2_stack_glue_set_locking_protocol +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xa7d5c1c0 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd066711e ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL lib/lzo/lzo_compress 0x2e1d43cf lzo1x_1_compress +EXPORT_SYMBOL_GPL lib/lzo/lzo_decompress 0x2a1538ca lzo1x_decompress_safe +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 0x3bc4c1f1 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x9b5bd1e2 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xbf65c8ca garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xcd23b82f garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0xd1ec6cca garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0xf18423de garp_unregister_application +EXPORT_SYMBOL_GPL net/802/stp 0x18a863e2 stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0x26180507 stp_proto_register +EXPORT_SYMBOL_GPL net/ax25/ax25 0x299f545a 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 0x5354dd68 bt_class +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0488474d dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x07c0c97f dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x09960635 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1c79d7f7 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d29fbcd dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d865ffd dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x266ca64a dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2c9db916 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2e418e5d dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3b8213b3 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3b850105 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3f048c43 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3f6d52a6 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x44e3df4e dccp_insert_option_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x56ea266a dccp_state_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x588d0001 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5b9481f6 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x66e0cab2 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x685e0ac4 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x68c62074 compat_dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6d330e02 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x70b1d967 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0x729ee7ac dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x780251a0 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x886a740e dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8b7d8caf dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8f5ffc48 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x92469b62 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9a41e6ed compat_dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9d5bd0aa dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa494747a dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb127430b inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb842c6c8 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbc773a30 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xedf6c8c1 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0xef180ce3 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf54868c9 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf603d853 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x34e37b98 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x7e083c2f dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xaef3f0cd dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xb5bcaf2f dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xd7c17259 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xec3cd6e3 dccp_v4_connect +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x6d40a921 need_ipv4_conntrack +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0xb3b45e30 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 0x07ae60b6 nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x0a2e063b nf_nat_proto_range_to_nlattr +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x19596aa4 nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x6d19080c nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x919d9ee7 nf_nat_proto_find_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x947903b4 nf_nat_proto_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x94a08134 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x9bc8520a nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xbc6c8f20 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat_proto_gre 0x636b12c8 nf_nat_need_gre +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x0c1aba9e tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x18b051e9 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x1c2cf4fc tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x7512049c tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x82974ea1 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe98431d0 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xf10277ad ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe6476b4a net_vs_ctl_path +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x011977be nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x041013fd nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x07d4e84c __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x097e17c0 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0e08e6a2 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0f2e5965 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1017db25 nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1497eef3 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x15615031 nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1730a0c4 nf_expect_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x206d5d0a nf_conntrack_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x214284fe nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2221b9a7 nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x248b48a7 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2b8a87b9 __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2ef1b2a3 nf_conntrack_hash_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x31d9cb90 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 0x4083b94e __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x444e0497 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b9065a9 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x52b8ecf9 nf_conntrack_untracked +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x53ee787b nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x557bb6ca __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x561834ec nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5882ba33 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5df737be nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x64cdadb7 __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x662218b1 print_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x689b1feb nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6ae1d57f nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x74f6e417 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7513cff9 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x757191f3 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7835577e nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x79823d4f nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7f220c06 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7f9ec777 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x81531874 nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x819b2473 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8333639c nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x837a0154 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x88ce346e nf_ct_unlink_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8f655f27 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 0x9371914a nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9af3f6c1 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9db8a409 nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa020128a nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa095e773 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa2e03c22 nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa6c393e6 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xae45f66f nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaf8ec68b nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb5c85f0f nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb6af79d1 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb7320738 __nf_conntrack_helper_find_byname +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb9fb8687 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbf7e5220 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc170c986 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcfc9b58f nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf3a0ab9 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe8497881 nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xee5c669e nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf6ebe9ff nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf93ce505 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x9ab81d47 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0xfeae526e nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x0ea74edc set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x1b6e4706 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x29aac942 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x49de50d4 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x505cba08 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x643db70b set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x8489efdc get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x939768c0 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xc7a72b60 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd7d9f424 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x9bdea1c7 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x2822370f nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xa0db66d6 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xbc175b72 nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xde96280b nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x2debd257 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x7a96bf18 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x0c709dc9 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x1a3ae7ac nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x1c427f06 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x3cf97c15 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4f9673a4 nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x55601fec ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8b65985b nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xabf8af93 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xb63e7c74 nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xb98f13b5 nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe2d3ca4a nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf5f81bc2 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x1318a07e nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x2957a1fe nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x4f50d9fc nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x12c5fee7 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5705120e nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x87986864 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xa2f50ad4 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xeca95329 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xef9b4bbd nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x42236c05 nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x02b75d6c xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x0f068a84 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1137dc0c xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x12355fd8 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x161d1417 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x2cef47f9 xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4f432b51 per_cpu__xt_info_locks +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5f82f1f7 xt_compat_flush_offsets +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6419d4d5 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x684694c5 xt_compat_add_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6d1f406a xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6f9aa2fb xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x723a0c88 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7407d31d xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7c31d8d0 xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8371fc68 xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9d19fd85 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb7e7cb8a xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd7034151 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe0b4971b xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe1b61c7c xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xfb7b9c45 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xc2429b63 xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xfc852663 xt_rateest_put +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x0e993a17 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x1d5b43f1 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x2bf77fa8 rds_info_copy +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 0x3dc98b27 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x4a13c3c2 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x568eb84c rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x5cd2fd82 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x62fc8e47 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x6b460f8a rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x800e26b2 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x865726e3 rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x885b03db rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x8a0c05a6 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0x8bb428e8 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x8cde65c7 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x9b3e6113 per_cpu__rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x9e2f1b78 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0xbae9f5ea rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0xc2da8e38 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xc4f80aaa rds_inc_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xcdc1f196 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0xdc76dfff rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xf15e1b2a rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xf4fc2d26 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xf9dd1202 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x862cb0b6 rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0xb8f3553c 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 0x032a03b1 gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x3cd3d24e gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x4d84ccc6 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x60ac4078 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7667022a gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7b208bbf gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8d1a827e svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x91fec755 gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x99f4e48d gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xca0a7594 gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xcff9799f svc_gss_principal +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xdf67966b svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00c3cc44 svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x011943ab xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x023e0ed3 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03207054 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x035789ce rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03ffcdfc xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0478b132 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x060786b2 auth_unix_forget_old +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x07a6c94b svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x07bceea5 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x09050be4 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d661ce7 xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0efcda21 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12e280e3 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x16bb1f9e xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x180bb248 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a884991 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1b173953 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f7acdda svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f8285bf cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20783deb xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2147daec rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x235d778b rpc_get_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2393f057 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2505edc8 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25d96f49 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x280728b5 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2aa17774 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b2c95d2 auth_unix_add_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2bd5f3e3 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2bdb0a5f xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c606e4b rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d28e271 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e30c829 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x306dab33 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30eea69e svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x331cceeb xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x331d732e rpc_exit_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x35443842 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36ced7e0 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a4ee997 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3b2b1aca xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3c2d5684 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d605bd9 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3de144fd rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4061bb88 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42301850 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x44b38a9c xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x452095aa xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x455bc843 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4693739c cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x46d709a1 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4702dd7e xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b76d4fb rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4bc4e982 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d4d34d3 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4f1b597f xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x517f5d3b rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x525672a2 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x550547a3 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x55ae3bda xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5983d1cb svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a22ce50 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b14ec1a rpc_put_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bd26000 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d67d1bf svc_sock_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d809384 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5ed952be sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f9cdf4e xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x630ac4de svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x65e12165 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x675524ec rpc_sockaddr2uaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x67850d2a svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x68712e8d rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c5304c5 rpcb_getport_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c7faf22 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6eea229d svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70fe4221 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7231219c rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x775adaf6 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a9eaf9d xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ae5f4e6 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d806b80 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x80ca4fc1 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81d09a18 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81f03eea auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82c593cd rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x83e7c4fd rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8884db4c rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8a46137b cache_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8dbfc185 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90f4fa63 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x92fab26f auth_unix_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x953b5415 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99631db6 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x999fff5d rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99f192e9 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9cf33ec7 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa44adaa0 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa44d5112 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa77f9367 sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa80f117f svc_sock_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa99ebf04 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xabc93dd5 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf9acc61 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb06c8ae8 rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb11be9fc rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb236d1a8 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3315fe4 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb387b246 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb6922bfa rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb87c97b0 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba673181 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba6a1369 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbacb9f20 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbdcb5700 cache_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbe177e25 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbea4be42 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf848657 rpc_malloc +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 0xc195b502 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc37135fe rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcac589d2 rpc_mkpipe +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcdd8ca48 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf4346a9 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcfb5264c sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd0236889 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd0e3db82 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2aa9a18 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd45bf282 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7ba938a svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7ecb35b svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd82c728e rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde16a3e9 rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde2e608d rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe02f40a7 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3f1ceb1 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4620404 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe554de65 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe76f8b76 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7920f14 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea8ffadc rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeccc261f svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeceaeaf6 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedd1ba52 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeddc64a6 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xef3359b2 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf490f94f xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfca3f5b3 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/wimax/wimax 0x104d3868 wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x104eded7 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0x17f33601 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x2d80f905 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0x3e27589e wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x78996d7b wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8008a71c wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8963b069 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x9e18641c wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0xc3569cb4 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0xc438960c wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd6c74863 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf9d6b94e wimax_msg_data +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0a430269 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0dc38470 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x19ca1148 cfg80211_wext_siwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1afb8842 cfg80211_wext_giwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2a008573 cfg80211_wext_giwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2a1c26e3 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x31aa8089 cfg80211_wext_siwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x47b139fb cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4e0855b0 cfg80211_wext_giwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4f67497f cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x58f26ff4 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x62a7b1f7 cfg80211_wext_siwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x63c12641 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x74f42529 cfg80211_wext_siwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x81974881 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8ea86092 cfg80211_wext_siwmlme +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x99313d19 cfg80211_wext_siwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x99369a99 cfg80211_wext_giwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9c7e3977 cfg80211_wext_giwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa9ca3028 cfg80211_wext_siwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb24a3051 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb28d8193 cfg80211_wext_siwencodeext +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xbbfe88fd cfg80211_wext_siwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc36de379 cfg80211_wext_siwgenie +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcb369b9d cfg80211_wext_giwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd6550c79 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xde05f85d cfg80211_wext_giwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdf050dda cfg80211_wireless_stats +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe596940b cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xebc3d79e cfg80211_wext_siwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xec3ccc05 cfg80211_wext_giwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf3b4f152 cfg80211_wext_siwtxpower +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x8dd8c230 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x9716f9c5 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x9ae795bd ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xbb9b9349 ipcomp_destroy +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x057f2055 snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x068a14d1 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0707f878 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x078f3bfa snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0cf48cac snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0dfb2a9a snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x153d7788 snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x165a33f8 snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1b04e663 snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1cce7889 snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1d3fc358 snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2008f45e snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x23f17a70 snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x24457803 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2867fb03 query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x290d07e5 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2e02033c snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2e4ce61b snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3b8a7dbd snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x41f35821 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x48d1e966 snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4ed9e266 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4f096159 snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4fc3d904 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x504d2ff1 snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ae76f73 auto_pin_cfg_labels +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5e938063 snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6117bdce snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x68c91e87 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6bc80e7f snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6c7ba972 snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6c7d5f9c snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6edb0dfc snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6ef9f084 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7b4624a0 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7eb2944d snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x83381bc2 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x87111fb3 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8857d733 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8bed90bf snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8bee206a snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8d83e7fb snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e7ce7cc snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e7e52df snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8edec569 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8fb7809c snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x905a3a11 snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x91475dd2 snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x97fabae0 snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a2d7788 snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9b77fbb8 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2bacf54 snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa74ad678 snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xab275361 snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad87613e snd_print_pcm_rates +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xafd6dbe8 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb2bdcec8 snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb99614ec snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbde63e91 snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbdfdaa97 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc34a54c6 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc7837798 snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcce27eb0 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xce7f6f68 snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd3761934 snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd7d29b35 snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xde1d9d83 snd_hda_parse_pin_def_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdf4fcacb snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe7ca972d snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe7cc61c3 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe9ac5a52 snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeaa68391 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xef22a851 snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf032de49 snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf415c7b6 snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf6a6112e snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf9dddde7 snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfa9e7e62 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xff9b758e snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0x0d487960 ad1836_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0x76fbb284 soc_codec_dev_ad1836 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0x50c4f86f soc_codec_dev_ad1938 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0xfbe8188e ad1938_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0x1246840b ad73311_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0xf4d09457 soc_codec_dev_ad73311 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4104 0x930b09f5 soc_codec_device_ak4104 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0x960a043f soc_codec_dev_ak4535 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0xab4500dd ak4535_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0xceb12b93 soc_codec_dev_ak4642 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0xfd680908 ak4642_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x6917c4b9 cs4270_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x9887e445 soc_codec_device_cs4270 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0xa92d478c max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0x0d017b05 pcm3008_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0xeec6ce6d soc_codec_dev_pcm3008 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-spdif 0x00952f62 dit_stub_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0xa4e6539c ssm2602_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0xe573cba6 soc_codec_dev_ssm2602 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0x1ba50908 soc_codec_dev_tlv320aic23 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0xc8d97064 tlv320aic23_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0x4a9228d6 aic26_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0x86ba3b9a aic26_soc_codec_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x5a01aba0 soc_codec_dev_aic3x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xae987209 aic3x_button_pressed +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xb5ec6916 aic3x_set_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xb6be9029 aic3x_set_headset_detection +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xd97bf1b5 aic3x_headset_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xd9b7487e aic3x_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xe8e2be4a aic3x_get_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0x4afe43ae soc_codec_dev_twl4030 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0xcfab5adc twl4030_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda134x 0x8b4625ab soc_codec_dev_uda134x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x7deb2f0b uda1380_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0xbafc19c2 soc_codec_dev_uda1380 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x0686f423 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x5b47d599 wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x757206d5 wm_hubs_spkmix_tlv +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x7263c328 wm8350_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x8f70cded wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xc37bec5f soc_codec_dev_wm8350 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x2a9ee596 wm8400_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x5867160d soc_codec_dev_wm8400 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0xc17e0d9c wm8510_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0xff5e83fc soc_codec_dev_wm8510 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0x760265af wm8523_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0xd6356e66 soc_codec_dev_wm8523 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0xe8a2471a wm8580_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0xf08fb873 soc_codec_dev_wm8580 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0x5ee09211 wm8728_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0x9fc87f26 soc_codec_dev_wm8728 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x4fc8ae58 soc_codec_dev_wm8731 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0xdf98c86d wm8731_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x525ee3ab soc_codec_dev_wm8750 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x77142ef2 wm8750_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x7973b068 soc_codec_dev_wm8753 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x9fae4612 wm8753_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x07809043 soc_codec_dev_wm8776 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x9a7f5d04 wm8776_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0x30a61367 wm8900_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0xb44a5673 soc_codec_dev_wm8900 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x9f6705b0 soc_codec_dev_wm8903 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xb63261c9 wm8903_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0xb343feaf soc_codec_dev_wm8940 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0xc4e93774 wm8940_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0x5376265d wm8960_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0xb0c72ac1 soc_codec_dev_wm8960 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0x982af5f8 wm8961_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0xa9dc1b80 soc_codec_dev_wm8961 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0x3e5dfe4c wm8971_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0xa81e71b7 soc_codec_dev_wm8971 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0x6e906fff wm8974_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0xd56985f2 soc_codec_dev_wm8974 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x72808dc3 soc_codec_dev_wm8988 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0xef1adf6d wm8988_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0xa53e56b4 wm8990_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0xbb9b6dfc soc_codec_dev_wm8990 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0x23aa241a wm8993_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0x90b63e3f soc_codec_dev_wm8993 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0xc02181cd wm9081_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0xe32a50b0 soc_codec_dev_wm9081 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0096794b snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x013e0fb3 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x09b55d59 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c38df26 snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1026fdb6 snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x131a6b64 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x23bd2783 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x24ca1795 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2586500b snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x26c1c9d8 snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2efdc15e snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x316bf47d snd_soc_init_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3cb2601a snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3e3791b2 snd_soc_info_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4623d57e snd_soc_get_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4762bccc snd_soc_resume_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4837cbd8 snd_soc_add_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4842b4ba snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4a066743 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4a20dc55 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4a776c78 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4aa3ce2e snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4d3e5ae1 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x53b0104a snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x56ffa5cc snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5c1928fa snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x60dfffcd snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x63e15ac8 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x673f87d0 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x70675e64 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x734d016f snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7438f85b dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7487cc3f snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x786af8e1 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x78edbbd5 snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x791395d1 snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7a45508e snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7ca8f67b snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8387910d snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8a9674bf snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8d01a0ff snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e39b36f snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e6eab4c snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8f0b6d54 snd_soc_dapm_stream_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x90f27dd8 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9793b83a snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa5c25d2a snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa8b344de snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa94b1527 snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xab5ea3ea snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb0e53186 snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb1fd3f5a snd_soc_suspend_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb36391c5 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb8bc93a8 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcc3adec6 snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd7d9b666 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xda67e30c snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdbf86b62 snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe3501f7f snd_soc_put_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe60dbf6f snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe622ae1b snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xec7db433 snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xedeedcac snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xefe2cb5c snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf0595292 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf376c4db snd_soc_free_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf53907a6 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf6c36882 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf6e48938 snd_soc_new_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf7a7381d snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfa9888d6 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x15e0620c xv_destroy_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x4803223f xv_malloc +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x57e771ba xv_get_total_size_bytes +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x88072f01 xv_create_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xaf69699e xv_get_object_size +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xe878f8f2 xv_free +EXPORT_SYMBOL_GPL vmlinux 0x000902a2 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x003ed6a6 hpet_unregister_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x00566d8f inotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x00639f0f tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x009a5a62 device_move +EXPORT_SYMBOL_GPL vmlinux 0x00a5cbe1 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x00abeb09 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x00b8ecf8 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x00bdc5c0 dm_rh_mark_nosync +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x00f03c43 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x00f94fde register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x010082a8 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x0110b3d1 register_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0x0113e98d blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x016b9869 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x01848a8e local_apic_timer_c2_ok +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x0243a3fd __class_register +EXPORT_SYMBOL_GPL vmlinux 0x02b8b299 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x02ccea56 lock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x02dcb7d3 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x02f15a4d ata_port_start +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x03a3f86d unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x03b2ef7d crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x03d9f7ff register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x04069b1d set_irq_nested_thread +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x04ac5693 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0x04bb8cfa sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x04c3f2c1 gnttab_empty_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x04ea8706 __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x050d4503 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x055496e5 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x055b3ccf register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x05804015 bd_claim_by_disk +EXPORT_SYMBOL_GPL vmlinux 0x0586a855 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x058d70d9 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x05ae1cac ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x05f3b03d inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x060d1064 set_memory_ro +EXPORT_SYMBOL_GPL vmlinux 0x0619ca8a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x0636b91b inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x06411731 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x06822a9f set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x0695cdcc ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x06a86c73 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x06b84abb dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0x06fce6d7 ata_port_disable +EXPORT_SYMBOL_GPL vmlinux 0x0732ebb7 dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x07435329 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x07454eb6 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x0748e067 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x075ffe8c power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0783d0ac ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x078bdaf2 drop_file_write_access +EXPORT_SYMBOL_GPL vmlinux 0x07a78577 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07ce7344 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x07d64618 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x07f91aa7 inotify_add_watch +EXPORT_SYMBOL_GPL vmlinux 0x07ff4aea xenbus_scanf +EXPORT_SYMBOL_GPL vmlinux 0x080a6b9f get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x080f43cf usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x0815668d __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x08519258 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0x085db0e4 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x086aa988 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x0899da9f bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x08a3e5d1 net_ipv6_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0x08d8708f cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x08e82552 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x09020208 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x092d25ec shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x094cf2d6 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0x0969f242 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x0974dd91 __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0x09dc4765 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x09e94242 ip6_dst_blackhole +EXPORT_SYMBOL_GPL vmlinux 0x0a1a2ef4 bus_register +EXPORT_SYMBOL_GPL vmlinux 0x0a549819 pci_configure_slot +EXPORT_SYMBOL_GPL vmlinux 0x0ac0ab25 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x0ae53984 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b8f99d2 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x0c2aebc4 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c48d5f3 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x0c805f93 clflush_cache_range +EXPORT_SYMBOL_GPL vmlinux 0x0c8480e4 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x0cb88680 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x0ccf3180 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x0d1bf8fd usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x0d1bfb00 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x0d9ebb9f tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x0da26049 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x0dd101b1 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x0e77d09e bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x0eb3636d usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x0ec210b8 xen_start_info +EXPORT_SYMBOL_GPL vmlinux 0x0ed70eea ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL vmlinux 0x0f467b8e crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x0f73520f klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x0f834dc3 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x0f86288e device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x0fbd44ae inotify_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0fbe6f33 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0fe04ada usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x0fe2d570 xenbus_directory +EXPORT_SYMBOL_GPL vmlinux 0x0fea00d5 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x100c13c6 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x100c48a2 unregister_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101c923e __tracepoint_power_start +EXPORT_SYMBOL_GPL vmlinux 0x103d0a0d ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x10464364 __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x10621889 hpet_rtc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x107e5392 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x11030694 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x113215bb ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x11344e97 crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x1176d0d0 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x119af014 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x11b815b2 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x11e16d45 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x11f9c899 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x122545fd ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x122d9ff5 bd_release_from_disk +EXPORT_SYMBOL_GPL vmlinux 0x124bb3b4 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1251d30f call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x126895a1 inet_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x129f19f4 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x12c9d44f device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x12db89e0 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x12ed5cc4 device_attach +EXPORT_SYMBOL_GPL vmlinux 0x13227cf4 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x135833fa pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0x1362c9a3 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x1381a048 iommu_map_range +EXPORT_SYMBOL_GPL vmlinux 0x139c27c6 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13b33183 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x13ce6c07 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0x13df2dbc ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x13e5b376 register_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0x147e698a raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x149db923 selinux_string_to_sid +EXPORT_SYMBOL_GPL vmlinux 0x14b2392b devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x14dd431d register_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x154f051a regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x1556756b usermodehelper_is_disabled +EXPORT_SYMBOL_GPL vmlinux 0x15769c29 page_cache_async_readahead +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 0x1627d0ca skb_icv_walk +EXPORT_SYMBOL_GPL vmlinux 0x1640954a class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x16627ee4 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x167301bb dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x16788d5b bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x16881e82 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x168b3f84 fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1697136d hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x16c2a2b4 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x16e7784c pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x170433fd sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x17cdf383 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x17efb4cd fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x186f0d2c crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0x1878f62b edac_err_assert +EXPORT_SYMBOL_GPL vmlinux 0x1882f804 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x18d53420 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0x18f83fab gnttab_grant_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0x1990c1e4 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x199aba35 __create_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19b70ac1 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x1a2901a8 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a474901 tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x1a535fd1 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x1a5424fa crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x1a938737 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x1a9b538e ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x1acda5b2 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1ad94a98 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x1b582928 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1bcee3d7 tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0x1c309769 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x1c3af716 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x1c7b6c2a eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0x1c852e7c xfrm_calg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c8919f2 tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x1c8b0961 crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0x1c9b8685 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x1cd666e0 sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0x1d0d0e2c scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x1d5ee85c __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0x1d8f8059 __tracepoint_power_end +EXPORT_SYMBOL_GPL vmlinux 0x1db21d74 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x1ddc05ff usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x1dee2629 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x1defc477 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x1e14e7e7 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x1e20e916 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ef06a7e console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x1ef5e83e led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x1ef726b1 regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x1f3d1b77 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x1f4957fc platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1f6c4916 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x1f77ffbf per_cpu__gdt_page +EXPORT_SYMBOL_GPL vmlinux 0x1f8031c8 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x1f8ec1b3 acpi_get_pci_rootbridge_handle +EXPORT_SYMBOL_GPL vmlinux 0x1fae7955 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1ffa1a39 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x205dcd7a klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x20621851 inotify_init_watch +EXPORT_SYMBOL_GPL vmlinux 0x2074687d acpi_smbus_read +EXPORT_SYMBOL_GPL vmlinux 0x20bbe6e7 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20d22764 iommu_found +EXPORT_SYMBOL_GPL vmlinux 0x20f85373 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x210d879d inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0x213d1d84 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x2154e796 ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0x215db6e9 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x21602a38 agp_remove_bridge +EXPORT_SYMBOL_GPL vmlinux 0x21da516f class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x21ddd8d9 crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x21fec306 pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x2290928f skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x22969fac usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x22acefcd shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x22b89781 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x231abe45 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x233359d7 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x234e4c9d transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23af9be7 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x23bf3750 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x23d97b01 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x246f4153 pv_time_ops +EXPORT_SYMBOL_GPL vmlinux 0x24919e12 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x24c7698a xenbus_write +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24fa04f7 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x2545c170 unregister_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x26132617 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x261aad74 rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x267f4ded rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x269eef25 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x26b0d2bd __pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x273c4ebc fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x278b6dd3 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x27a8d660 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x27adf232 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x27bd87ad sysdev_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x2803515b ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x28070d13 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x282d519f unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x2850f2e6 get_device +EXPORT_SYMBOL_GPL vmlinux 0x285df492 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x28bc3568 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL vmlinux 0x29501527 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x29636644 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x296b83c1 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x29b50d25 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x2a0a4724 bind_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x2a25344c pci_unblock_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a77e33b sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x2aacc378 inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x2af24443 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2b034a23 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x2b2eb2f7 pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x2b5771aa ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x2b5cbc4e ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x2b5d39c6 swiotlb_sync_single_range_for_device +EXPORT_SYMBOL_GPL vmlinux 0x2b932905 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x2b9f8e23 nf_net_ipv4_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x2ba1a3dc sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x2ba371f8 tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x2bcaa8e3 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2bfc4d7f tracepoint_get_iter_range +EXPORT_SYMBOL_GPL vmlinux 0x2c16d9e9 scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c2cb9c6 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x2ca0b6e5 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d3cee35 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x2d5dbeec crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x2d98d076 get_cpu_sysdev +EXPORT_SYMBOL_GPL vmlinux 0x2d9f2ce3 sched_clock_idle_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x2dcde57a scsi_dh_detach +EXPORT_SYMBOL_GPL vmlinux 0x2dd8444c trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x2e30dd44 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x2e47f677 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x2e62b085 do_sync_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x2e7d3283 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x2e932207 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x2ec92012 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x2ee78cd3 mce_chrdev_ops +EXPORT_SYMBOL_GPL vmlinux 0x2eed2630 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2f0f795b bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f8370d0 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x2f857551 machine_check_poll +EXPORT_SYMBOL_GPL vmlinux 0x2fcd9e17 dpm_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x2fd41090 xenbus_alloc_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x2fefefeb pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x3005efa8 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x30086ac4 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x300a069f inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x301a7556 blk_abort_queue +EXPORT_SYMBOL_GPL vmlinux 0x30222d7f ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x30741ed7 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x30ed7a9d __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x3142d42f dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x31514d35 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x318920b1 register_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x31c7bf44 do_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x3227bdcf blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0x3252d2c7 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x325e677c gnttab_grant_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x3274abbb crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x328f92ac crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x32d5e7fc xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x32f17454 ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x33262a75 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x334aca5b ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x33ab8564 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x33d4bfa1 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x340ca82e rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x34204a36 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x34275124 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x346835bc devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x347a9949 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x34c24076 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x34dc79ff led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x34e03b53 pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0x34efcb18 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x34f8d695 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x35213407 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x353361b4 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x35824896 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x35c4bcda input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x35d8c94a sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x35fd0312 per_cpu__injectm +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362068fb vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x3666b0f7 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x36794556 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x36b7ad49 user_match +EXPORT_SYMBOL_GPL vmlinux 0x370b8d95 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x371bf9f4 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x372565e1 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x3750b2e0 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x3799fc3d sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x37ad4176 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x38225c25 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x3832935f pskb_put +EXPORT_SYMBOL_GPL vmlinux 0x384958ff sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x3879f331 dm_rh_dec +EXPORT_SYMBOL_GPL vmlinux 0x387c34ac power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x38d36765 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x38ea936e __memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x38f3300b usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x38f4c7b0 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x392a643e sysdev_class_register +EXPORT_SYMBOL_GPL vmlinux 0x39467243 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x3984642e register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x39b64e26 sysdev_register +EXPORT_SYMBOL_GPL vmlinux 0x39bd4382 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x39d70bc0 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x3a18a981 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x3a6de86a power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x3ad53a01 ata_sff_host_intr +EXPORT_SYMBOL_GPL vmlinux 0x3ae91615 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x3aeeb512 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x3b09fdc3 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x3b139140 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x3bdc3755 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x3be79c19 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x3be7af02 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3c6a0a82 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x3c6c45ca __tracepoint_power_frequency +EXPORT_SYMBOL_GPL vmlinux 0x3c6ec20a blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x3c7d8eda devres_add +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3cb2d902 elv_register +EXPORT_SYMBOL_GPL vmlinux 0x3cb3950a class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x3cc42d71 xenbus_map_ring_valloc +EXPORT_SYMBOL_GPL vmlinux 0x3ccb6c30 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cd5dc42 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x3cd6edf1 generic_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0x3cdaca33 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x3cfdfae5 trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d13a11c cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x3d1c5f99 xenbus_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d5acc58 sysdev_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3d5f392d acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0x3d61c0e2 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x3d6d0225 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x3d7ea99a gnttab_grant_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x3d95e2bc sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x3dd5d829 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x3dde0e07 amd_get_nb_id +EXPORT_SYMBOL_GPL vmlinux 0x3de73cc3 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x3eb0bde8 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x3eb7adb6 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0x3ecf6cfc wmi_install_notify_handler +EXPORT_SYMBOL_GPL vmlinux 0x3eef875c tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f0348ec crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x3f093a1f spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x3f21b77f ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x3f238101 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x3f84d4c9 gnttab_release_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x3fc7f7e0 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x407f6f82 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x4085208e ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40be2c41 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x40eb7312 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x41397b76 disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0x416d7824 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x417928f1 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x41880284 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x4241f555 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x42494cea ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x424acc6d scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x426f13b9 e820_all_mapped +EXPORT_SYMBOL_GPL vmlinux 0x42c85552 cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x433df38e debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x435c5da4 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x4364d0ae pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0x437b4ba0 sysdev_create_file +EXPORT_SYMBOL_GPL vmlinux 0x4387f891 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x43907971 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x43f1483e kick_process +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x4446b96a platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44a65d5c lock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x44abb265 device_create +EXPORT_SYMBOL_GPL vmlinux 0x44c970e9 pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0x44d98c65 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x44fd4442 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x451f5b12 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x4541fe0d mtrr_state +EXPORT_SYMBOL_GPL vmlinux 0x454d5c01 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x456c94b3 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x456fc06b inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x458cdc5d cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x45a57820 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x45b7ec22 acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45d14bdf hypercall_page +EXPORT_SYMBOL_GPL vmlinux 0x45ec4404 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x45ed73e9 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x460f31aa rodata_test_data +EXPORT_SYMBOL_GPL vmlinux 0x464468d5 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x464808f7 inotify_remove_watch_locked +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x469b2e96 shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x46a19c9a dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x46d74efa ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x4756d4a4 ata_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x475c3565 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x4762e164 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x479b400a __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x47a48684 ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x47b1ee72 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x483a4da4 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x48521ffd ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x48910836 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x496f2168 kill_pid_info_as_uid +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x4995f903 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x49d77916 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x4a2c1e48 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x4a4edbf7 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x4a76a309 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x4a9c068e destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x4aa965f7 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x4ad40a64 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x4ad6c07e hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x4ae0b66a queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x4af9d82c class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x4b432f30 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x4b4bc965 acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0x4b5a6d2e xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x4b762828 start_thread +EXPORT_SYMBOL_GPL vmlinux 0x4bfd9f73 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4cc84312 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x4cec82ee crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x4cff5e3f sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x4d3970eb power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x4d76c314 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x4d7b031e find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x4d8f4c15 klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4d935305 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x4e422a76 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x4eb0c7b0 sysdev_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4ed4d7c5 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x4f502ba6 device_del +EXPORT_SYMBOL_GPL vmlinux 0x4f6944d9 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x4f84579b ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x4f8ac95c mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x4fb3d80d usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x4fc56cce iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4ffc2279 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x500498d4 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x5029c884 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x504153f2 dm_rh_inc_pending +EXPORT_SYMBOL_GPL vmlinux 0x507de8c6 add_memory +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x508c5831 usb_unanchor_urb +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 0x5122d798 srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x518c2fc6 hpet_rtc_dropped_irq +EXPORT_SYMBOL_GPL vmlinux 0x519fcb8c pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x51ae7ca4 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x51f0af9c da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x5247a60f debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x528edff0 init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x52a7f5dc cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x52aac8f6 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x52afdcd7 ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x52d111ea pm_qos_update_requirement +EXPORT_SYMBOL_GPL vmlinux 0x52e00443 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x5300d26f usb_string +EXPORT_SYMBOL_GPL vmlinux 0x5324d04f bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x5326873c ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x5362e8cf init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x5372dede unregister_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5388f501 acpi_smbus_register_callback +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x53c070c8 rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5404a695 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x541f96d4 register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x544a4b4b ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x5498c36b blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x549fe6a9 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x54abc45c ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x54ae4432 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x54e9ae2c pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x55182b2c rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x553b58d5 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x55526907 xen_features +EXPORT_SYMBOL_GPL vmlinux 0x556d11df gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x556dc508 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x5592985f dm_rh_start_recovery +EXPORT_SYMBOL_GPL vmlinux 0x55c435ac ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x55dc0a63 sysdev_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x55f2580b __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x561c634a wmi_evaluate_method +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x56398615 mark_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x563fb5c8 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x56947347 dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x56a69eac get_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0x577642b2 user_update +EXPORT_SYMBOL_GPL vmlinux 0x5779d445 xenbus_exists +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57d78b75 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x57fa2e39 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x58722048 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x589eb980 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x58bb7493 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x58d9634a dm_rh_delay +EXPORT_SYMBOL_GPL vmlinux 0x592e43b2 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x593a36c2 scsi_dh_handler_exist +EXPORT_SYMBOL_GPL vmlinux 0x5a0ae43d attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x5a2b1b67 gnttab_free_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5a37893c ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x5a48fba2 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5aa8cda5 scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0x5aaf9818 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x5aee526d cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x5af03a28 gnttab_claim_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5b2b6b5e skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x5b435139 unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x5bef29ad tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c4cb1e3 blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x5c8cb862 sysdev_class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x5cd1db01 xenbus_bind_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x5d0f6f57 kbd_table +EXPORT_SYMBOL_GPL vmlinux 0x5d366dec gnttab_cancel_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d87c067 register_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5dcde6de platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x5dd46994 xenbus_watch_pathfmt +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5dde433c pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x5de1686a class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x5df32a65 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x5e1464c4 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x5e2f98db platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x5e3f6b3f crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x5e41b7b4 pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x5e668a41 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x5ec6fc5b ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x5f2da8c4 check_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x5f46849f regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x5faf077e ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x5fcdec5d xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x603309eb acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x603ab8dd devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6040fd4b read_unlock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0x60995b60 inet_csk_clone +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60cd73ed pv_apic_ops +EXPORT_SYMBOL_GPL vmlinux 0x60cf0ab7 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x60fa50f9 put_device +EXPORT_SYMBOL_GPL vmlinux 0x612db4f9 unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x61747e09 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x6194ffea do_machine_check +EXPORT_SYMBOL_GPL vmlinux 0x619c4110 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x619f70b9 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x61a1808a sysdev_class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x61c6f8bf power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x61e1ca5c usb_buffer_unmap_sg +EXPORT_SYMBOL_GPL vmlinux 0x6203ffa2 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x621b8fdc cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0x6258e56f proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0x625e5ad0 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x6279ef6b dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x627c89ba usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x629a7f6e do_posix_clock_nonanosleep +EXPORT_SYMBOL_GPL vmlinux 0x62d1c8d0 __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0x62d56d3b dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x6301d114 device_add +EXPORT_SYMBOL_GPL vmlinux 0x6334ee6d shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x63583f91 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x63dbe800 sysdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x63f4dc09 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x6408368d crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x646fb998 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x64a85ce9 rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0x64ade6ba ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x6534fa73 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x654c49e2 aer_irq +EXPORT_SYMBOL_GPL vmlinux 0x6565b802 device_register +EXPORT_SYMBOL_GPL vmlinux 0x65896c00 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x65b3ae79 transport_class_unregister +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 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x661cf965 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x667e4758 vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6685eabf crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x668d2276 vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0x66a9f2dc tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66cd6a83 srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66f67792 crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x672d7bb8 ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0x6752dbea scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x6853a640 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x686c703f xfrm_count_auth_supported +EXPORT_SYMBOL_GPL vmlinux 0x6873af1c trace_define_common_fields +EXPORT_SYMBOL_GPL vmlinux 0x687f6f36 regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x68a668cb hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x68c71d40 vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x68cc0ec2 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x6901119a trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x6905d974 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x690ad8a4 register_posix_clock +EXPORT_SYMBOL_GPL vmlinux 0x691562f6 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x691b8d3d device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x691bcf21 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x691e3305 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x692a1cd5 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0x695533ad crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x695b6e86 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x6982334c dm_rh_stop_recovery +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x69efea1e ata_sff_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x69fde8e6 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x6a19f629 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6a1a8328 crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6aacccf8 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x6ad2bd12 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x6ad8b8e9 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x6b08cc6b usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x6b82061c sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x6b9178b3 xenbus_strstate +EXPORT_SYMBOL_GPL vmlinux 0x6b972bcf tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x6bd89ac1 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x6be62dfd probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x6c404e4c led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c4bb9ba ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x6c59b789 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x6c74b50c crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x6c85aac4 map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6c8eb98f xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x6c958a6b platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x6ca6c67a gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x6d12a543 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d866a8f preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6d8c7b42 fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0x6dac1f9a led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x6dcc8ee9 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x6de797ea ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x6e58ddf0 gnttab_end_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x6e5985e4 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x6e7474fc xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x6eb18150 skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x6eb787ee klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x6ed05176 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x6f34e508 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x6fbed5b4 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x6fd10e67 sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x6fe3d8cf ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x6feb2525 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x7037d79d k8_flush_garts +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x708b782a fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x70ad3fc6 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x70c2f26d da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x70c73797 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x70c90b20 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x71052384 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x7113fa43 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x711c938b pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x713a9326 __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71c8bc95 kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x71ff9fc0 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x72021272 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x720c2be5 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x722c4f65 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x72a2c255 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x72c55186 xenbus_grant_ring +EXPORT_SYMBOL_GPL vmlinux 0x72e03bae stop_machine_create +EXPORT_SYMBOL_GPL vmlinux 0x7306a062 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x731433ee unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x731aef58 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL vmlinux 0x731dba7a xen_domain_type +EXPORT_SYMBOL_GPL vmlinux 0x733e4a90 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x73645832 sysdev_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x7373efbd hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x7383a136 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x7384a5f2 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73b15760 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x73ef2dd8 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x74abdafa task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74deb10c used_vectors +EXPORT_SYMBOL_GPL vmlinux 0x74e51c57 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x74fc0f5d tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x7521afb6 leave_mm +EXPORT_SYMBOL_GPL vmlinux 0x755f370f usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x757dc815 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x75804f96 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x758d40e9 __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x75b4dfdb ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x75ce4fa2 single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x75ecdf80 inet_csk_compat_setsockopt +EXPORT_SYMBOL_GPL vmlinux 0x760f7bdf regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x761188fd dpm_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x7632910c scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x765ddee1 __remove_pages +EXPORT_SYMBOL_GPL vmlinux 0x767afb5e locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x767c4d53 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x76996cf6 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x76b328bc nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x76c21b8f usb_autopm_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x76ea20d9 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x770dc8b4 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x7712771a unbind_from_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x773ca527 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x777252c6 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x777c637d ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x7782f454 lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0x77914ee5 i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x77968206 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x77b0ebeb driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x77c3e7d0 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x77f555dc inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x780eed89 acpi_processor_ffh_cstate_enter +EXPORT_SYMBOL_GPL vmlinux 0x78374aef ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x78546758 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x78b2147c blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x78dea77f sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x78e4a4ee klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x7918b361 usb_buffer_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x7947aeeb debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x796222a3 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x7995bbac sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x79ba96ce page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x79bc6fc8 spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x79d66d78 xenbus_dev_error +EXPORT_SYMBOL_GPL vmlinux 0x7a0280b1 pci_get_hp_params +EXPORT_SYMBOL_GPL vmlinux 0x7a47cf8a device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x7a4c1438 pv_info +EXPORT_SYMBOL_GPL vmlinux 0x7a67efe1 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x7a75e702 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x7a7d35e9 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x7a9f6fa2 ip6_sk_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7ab3c122 edac_handlers +EXPORT_SYMBOL_GPL vmlinux 0x7ab95b63 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x7acc42a8 inode_add_to_lists +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7b1d544d edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x7b30b753 blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x7b51bf3e fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7b6e7556 dm_rh_get_state +EXPORT_SYMBOL_GPL vmlinux 0x7b865f03 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x7bc7a124 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x7bc7f7ca regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x7bcd2ded klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x7bce10a7 smp_ops +EXPORT_SYMBOL_GPL vmlinux 0x7bd36a34 xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0x7bd7c566 put_driver +EXPORT_SYMBOL_GPL vmlinux 0x7c4248b1 k_handler +EXPORT_SYMBOL_GPL vmlinux 0x7c7166c4 platform_device_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x7c821c56 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x7c83caa0 acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x7cf61d5f unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x7d358ea4 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x7d7fa840 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x7d948d04 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x7daf2703 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e24c32b seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e321245 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x7e5e301f unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e839409 inotify_inode_queue_event +EXPORT_SYMBOL_GPL vmlinux 0x7ea95132 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x7ebe3c4b __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x7f19c836 unlock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x7f2898a4 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x7f2ab4fc ata_sff_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x7f4ade3c usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x7f6c812e ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x7f7a0976 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x7fa0ce99 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fbe01cf anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x7fd62d67 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x7fe25037 __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x7fe5f136 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x7fe8e556 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7ff49c8d cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0x8014b6af input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x801afd66 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x8039d043 selinux_secmark_relabel_packet_permission +EXPORT_SYMBOL_GPL vmlinux 0x8085c9d3 gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80c6e9ee spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x80ee55c3 selinux_secmark_refcount_inc +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x81618786 usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x8170c890 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x818ff77d sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x81f003af part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0x81fa2eb6 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x8220ef9b inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x829f6e77 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x82a5a399 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x82af8b9a devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x82bf79c7 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x82cd19f3 register_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82f776b7 gpio_export +EXPORT_SYMBOL_GPL vmlinux 0x83577711 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x836775e9 aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x83a3a0ce usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x83b16f92 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0x83e52c00 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x83f240e4 xenbus_dev_fatal +EXPORT_SYMBOL_GPL vmlinux 0x842a07ae crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x847efcf2 fib_rules_cleanup_ops +EXPORT_SYMBOL_GPL vmlinux 0x8480b8cb proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0x84afebd3 fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0x84b149e9 hypervisor_kobj +EXPORT_SYMBOL_GPL vmlinux 0x84e98f8c pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x84f87860 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x851d36c5 ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x8580d509 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x85a09e24 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x85a60edf crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0x85b4e4e5 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85d7edfd hpet_set_periodic_freq +EXPORT_SYMBOL_GPL vmlinux 0x8614227d blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x862c16bc ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq +EXPORT_SYMBOL_GPL vmlinux 0x866e4528 register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x867c684a setup_APIC_eilvt_ibs +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86a51007 gnttab_end_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x86b1667d hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x8722e5ea hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x873fbaea edac_atomic_assert_error +EXPORT_SYMBOL_GPL vmlinux 0x876d29f1 wmi_get_event_data +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x87ee2265 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x87fb346f register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x880b189a __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x883ae28e inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x885142a6 nf_net_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x886b0bf1 acpi_smbus_write +EXPORT_SYMBOL_GPL vmlinux 0x8884ff37 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x88e3a7cf fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x88f22377 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x88f8be1e sysdev_show_int +EXPORT_SYMBOL_GPL vmlinux 0x8902a8a2 save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0x8982c123 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x8a72be8e power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x8a78989f irq_from_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x8a8dd834 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x8abb0c6c fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x8acba27a debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x8ada53b2 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x8ae8f1f9 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x8b0a3866 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x8b1e7748 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x8b39cf9d unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x8b55a287 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8b9200fd lookup_address +EXPORT_SYMBOL_GPL vmlinux 0x8ba6b62b usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x8bafa4cd tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x8c04837a ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x8c06a108 xenbus_transaction_start +EXPORT_SYMBOL_GPL vmlinux 0x8c0b9c12 queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x8c38074a unregister_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8c5cfec9 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x8c62e796 blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x8c9d686d __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x8c9d7a3b uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x8cc1ebf6 dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0x8d033df4 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x8d109544 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x8d1bb101 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x8d2609ba sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x8d276b3b aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x8db1a37e cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x8db89810 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x8dd0f28b unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x8dd9d7f4 unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x8df671ab ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x8e0a9a44 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x8e22df51 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x8e3f58df proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x8e50a52a sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x8e53dc6c shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x8e78458a platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x8eb502e6 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x8eb58c6e __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x8efc73df ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x8efe0116 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8eff29ba scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x8f68fe64 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f88b4a6 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x8f8932fa xenbus_switch_state +EXPORT_SYMBOL_GPL vmlinux 0x8f9cd9bd sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x8fa74514 sysdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8fd3ccbd regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x9009602a acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x9049a5c0 scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90af4c38 inet_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x91034620 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x91482eef usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x91591f88 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x91a2b170 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x91de7c9d page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x91ef82f8 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x92010bb7 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x92015f33 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x9230d1ef usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x926be658 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x92a422ca inotify_dentry_parent_queue_event +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92fb217b dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0x93260715 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x9370c643 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93d40a17 dm_rh_flush +EXPORT_SYMBOL_GPL vmlinux 0x93d799d3 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x93dcc8e2 find_module +EXPORT_SYMBOL_GPL vmlinux 0x93f24427 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x94120777 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x942a41f4 iommu_unmap_range +EXPORT_SYMBOL_GPL vmlinux 0x9431ae5c fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x943f5b10 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94b4b1a4 pm_request_idle +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x950cc8ec sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x9528c6e2 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x95490884 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x956695aa securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x956944de kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x9573578b ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x95758050 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x95a664be ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x95dc052f xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x961a8cd3 unlock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x96255823 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x964d5c39 acpi_os_map_memory +EXPORT_SYMBOL_GPL vmlinux 0x96a6be62 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96cc1bad sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x970c8daa fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x973f5c94 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x975d4675 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x978caf9c platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x97982542 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x97ed5fd6 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x98215d8d device_rename +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x988cffc4 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x9890ddc4 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x9892cef5 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x98d80248 d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x98f77350 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x9917f97b usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x993f8ef2 ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x995d38f8 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9977ed70 acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0x9984c858 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x99a79fb2 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x99cb0dbb platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x99e96caa dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x99f37dce filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a28eac2 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x9a4d1034 idle_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x9a74d59f find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x9aa79db3 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9b07fc24 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x9b3d37be dm_rh_get_region_key +EXPORT_SYMBOL_GPL vmlinux 0x9b8b3e51 acpi_processor_ffh_cstate_probe +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9bc0829f regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9bcf3d1d ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x9c289f32 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x9c2de449 memory_add_physaddr_to_nid +EXPORT_SYMBOL_GPL vmlinux 0x9c7ed5bb __set_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x9cb8037b xfrm_count_enc_supported +EXPORT_SYMBOL_GPL vmlinux 0x9d06688b register_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x9d2a96a7 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x9d2b6a58 hpet_register_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x9d308c4d hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x9d36007d scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x9d3850e1 gnttab_alloc_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x9d960d41 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x9e01f6d4 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0x9e160494 use_module +EXPORT_SYMBOL_GPL vmlinux 0x9e243645 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x9e26281d flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x9e389dd4 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x9e711ad2 pm_qos_requirement +EXPORT_SYMBOL_GPL vmlinux 0x9e95459a transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x9ea13d09 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x9ec90efe dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f85ed90 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0x9f9424d2 dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa00f8da8 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xa0255440 net_ipv4_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0xa081eaca do_add_mount +EXPORT_SYMBOL_GPL vmlinux 0xa0c44211 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL vmlinux 0xa0d332ac add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xa0f01f94 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0xa0fa393a find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xa12e646f ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0xa14c2555 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0xa157ae34 xenbus_map_ring +EXPORT_SYMBOL_GPL vmlinux 0xa1a907f3 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xa1adc04f ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0xa1ba648c skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0xa1d27af3 swiotlb_sync_single_range_for_cpu +EXPORT_SYMBOL_GPL vmlinux 0xa1d9003f platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa20e30c5 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0xa28555c1 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xa28d8527 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xa2c1a9d3 acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0xa2e2f876 inotify_rm_wd +EXPORT_SYMBOL_GPL vmlinux 0xa2e67f08 acpi_bus_generate_proc_event4 +EXPORT_SYMBOL_GPL vmlinux 0xa307bd10 driver_find +EXPORT_SYMBOL_GPL vmlinux 0xa30b8668 pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xa34f1aea tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0xa353fffc xenbus_rm +EXPORT_SYMBOL_GPL vmlinux 0xa3809732 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0xa3d7114f mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa3ed920b ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xa40484e0 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xa40a8590 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xa42b9cc1 lookup_create +EXPORT_SYMBOL_GPL vmlinux 0xa43094a0 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0xa452b68a ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0xa452c297 hpet_mask_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa4a42813 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0xa4b1bdda tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xa4d58669 math_state_restore +EXPORT_SYMBOL_GPL vmlinux 0xa4d5d70d regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0xa4e785ab ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0xa4e82fa2 dm_unregister_path_selector +EXPORT_SYMBOL_GPL vmlinux 0xa50c2f9f class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xa51105bf spi_async +EXPORT_SYMBOL_GPL vmlinux 0xa519a3eb xenbus_watch_path +EXPORT_SYMBOL_GPL vmlinux 0xa5597e1c cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa576e273 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0xa585b901 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0xa5995bfe ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0xa5bf5c3e pm_qos_add_requirement +EXPORT_SYMBOL_GPL vmlinux 0xa5c36cec inotify_unmount_inodes +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa656d156 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xa675461c sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0xa69916d9 tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0xa6a1cba9 sis_info133_for_sata +EXPORT_SYMBOL_GPL vmlinux 0xa80e3287 usb_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa84ddee4 each_symbol +EXPORT_SYMBOL_GPL vmlinux 0xa869c055 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0xa87ae87e bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa885378a skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0xa895515a sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0xa8ca38cd blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa9126bff hpet_set_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa949157b __pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0xa97dafa1 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xa9a60408 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9f8fb98 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0xaa1eb3c1 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xaa34b0ae __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xaa3e3aea __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xaa44aee9 rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0xaa527a9b relay_open +EXPORT_SYMBOL_GPL vmlinux 0xaa5310f9 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xaa646e4d tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xaa8c4696 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0xaa947258 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0xaaddf6ca blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0xaaf253a0 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xab01acbe gnttab_request_free_callback +EXPORT_SYMBOL_GPL vmlinux 0xab25c306 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0xab2a7a79 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0xab39ba0e blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0xab42828b sk_clone +EXPORT_SYMBOL_GPL vmlinux 0xab57e311 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xab67f0f3 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xab8e3571 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xabf2039c da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xabf9c391 ata_sff_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0xac8daac8 crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xaca949b9 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0xacafa8e7 vector_used_by_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xacc19485 ibft_addr +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xacf96d2a pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0xad096363 xenbus_printf +EXPORT_SYMBOL_GPL vmlinux 0xad728ced rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0xad769421 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xadbd8d1c ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0xadc7a072 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae5660a4 mmput +EXPORT_SYMBOL_GPL vmlinux 0xae733573 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0xae9de67e __xenbus_register_frontend +EXPORT_SYMBOL_GPL vmlinux 0xaf11d14b scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xaf23c335 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xaf2de635 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0xaf3f6fe0 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xaf69ecec sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0xaf701f15 ata_bmdma_mode_filter +EXPORT_SYMBOL_GPL vmlinux 0xafbdd6ee shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xafc7c996 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xafe845e8 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xb0223109 klist_next +EXPORT_SYMBOL_GPL vmlinux 0xb02959a5 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xb0aa812e fips_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb0ac5ea0 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xb0b82393 ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0xb0cf522f devres_get +EXPORT_SYMBOL_GPL vmlinux 0xb0eedea9 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb15b05e0 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0xb17475b8 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0xb17873c5 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb1c7caa4 user_describe +EXPORT_SYMBOL_GPL vmlinux 0xb2d5427b put_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0xb2f4013d inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xb313fb5b cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0xb3141b81 scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0xb3253ed9 hpet_rtc_timer_init +EXPORT_SYMBOL_GPL vmlinux 0xb3291acf ata_sff_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xb38e9a9c class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb3e4d130 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xb3ef4bf5 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0xb4524d5a __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xb45464e4 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xb4759adc stop_machine +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 0xb53ae573 cpu_idle_wait +EXPORT_SYMBOL_GPL vmlinux 0xb56eeb85 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb58e95a2 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0xb5a0275b devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xb5a2fc1a nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0xb5a6ebe2 wmi_remove_notify_handler +EXPORT_SYMBOL_GPL vmlinux 0xb612444d snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0xb615e6f2 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb6230f1f gnttab_grant_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xb65091b3 selinux_secmark_refcount_dec +EXPORT_SYMBOL_GPL vmlinux 0xb69c413d ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6ce6a94 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0xb6db2061 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xb6db7ba7 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xb718f2f9 sfi_table_parse +EXPORT_SYMBOL_GPL vmlinux 0xb744fa43 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xb7d45a52 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0xb7d7c12e hpet_set_alarm_time +EXPORT_SYMBOL_GPL vmlinux 0xb7d97627 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xb7e2eb91 mce_cpu_specific_poll +EXPORT_SYMBOL_GPL vmlinux 0xb7e36fec raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xb7fdd0df eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0xb8409063 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0xb87dd3df kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xb8985f34 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xb903674c scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0xb92d5c88 driver_add_kobj +EXPORT_SYMBOL_GPL vmlinux 0xb94db510 register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xb963bdc5 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xb9722eb2 unregister_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0xb97f3a65 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0xb97f7471 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0xb98e57bd inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0xb99d5837 xenbus_read +EXPORT_SYMBOL_GPL vmlinux 0xb9e3d1e4 dm_rh_recovery_end +EXPORT_SYMBOL_GPL vmlinux 0xb9eb3aa9 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xba2ea519 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xba51780a ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0xba677f43 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0xba7e5534 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0xba8979e4 class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbb081a9b ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xbb13fb01 dm_rh_region_context +EXPORT_SYMBOL_GPL vmlinux 0xbb2de8ad ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0xbb3507a9 xenbus_frontend_closed +EXPORT_SYMBOL_GPL vmlinux 0xbb4a1408 klist_init +EXPORT_SYMBOL_GPL vmlinux 0xbb802181 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0xbba00578 sysdev_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0xbbacc529 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0xbbb98859 edid_info +EXPORT_SYMBOL_GPL vmlinux 0xbbcc8be3 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0xbccf6a45 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xbcd068fd pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xbd37d077 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0xbd506a46 unregister_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbdf25b2c crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0xbe100fb8 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xbe116723 do_posix_clock_nosettime +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe35a192 dm_rh_get_region_size +EXPORT_SYMBOL_GPL vmlinux 0xbe3c42c3 register_net_sysctl_rotable +EXPORT_SYMBOL_GPL vmlinux 0xbe6b92d9 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0xbe72f5f0 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0xbeb4cb93 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0xbeb5bb6f srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xbeda71b4 crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0xbefe5188 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0xbf03f599 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xbf58947a ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xbf63e1c3 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0xbf74eb20 probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0xbf9805f5 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0xbfd94bb0 bind_virq_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0xbfe1e585 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0xbffde8ec compat_alloc_user_space +EXPORT_SYMBOL_GPL vmlinux 0xc00f413d driver_register +EXPORT_SYMBOL_GPL vmlinux 0xc0a2adeb ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0xc0de0438 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xc1139839 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0xc11f1495 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xc126e890 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xc12f7e0d trace_profile_buf_nmi +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc179f4d2 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0xc1ce8e09 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0xc1fe3c6d usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0xc21472c5 ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc22d2e70 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xc254b983 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xc26351f8 bind_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xc272284b skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc27b5c5d pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0xc2b91f9b dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xc2f47947 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0xc3301f02 rcu_expedited_torture_stats +EXPORT_SYMBOL_GPL vmlinux 0xc34c57f9 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc34c7c07 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3aa2836 read_lock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0xc3ba77b9 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xc4034caa enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc42f2f94 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xc45431bd debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0xc468e980 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4b33aa6 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc4ce6189 idle_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc4f3da06 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xc5036f70 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xc512626a __supported_pte_mask +EXPORT_SYMBOL_GPL vmlinux 0xc5397da6 xenbus_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xc5461004 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xc5da3795 nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc6252011 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc6692f96 ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0xc6724081 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0xc673e23e ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xc6779eb8 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0xc6899714 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0xc6906117 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0xc6c79870 unregister_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0xc705d7e9 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0xc727ebe8 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0xc73d46d5 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xc7842b70 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xc78984e3 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0xc7cc5fbc crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xc7ec11f6 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xc82b6fb6 register_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0xc862c0b7 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc87e487a sched_clock_idle_sleep_event +EXPORT_SYMBOL_GPL vmlinux 0xc8af0121 user_read +EXPORT_SYMBOL_GPL vmlinux 0xc8deced8 pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0xc8ed86ab xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9b84e5f ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0xc9d4d6d1 wmi_has_guid +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xca012503 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0xca01f51c tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0xca0701e4 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xca10a64d anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0xca295f03 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0xca3547b5 pciserial_suspend_ports +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 0xcb231daa __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xcb496241 usb_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xcb58fd7d sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0xcb9a4b78 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0xcbd080af rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0xcbf202df driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xcc15647b xenbus_unmap_ring +EXPORT_SYMBOL_GPL vmlinux 0xcc1aa1db anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc3c0add acpi_smbus_unregister_callback +EXPORT_SYMBOL_GPL vmlinux 0xcc60a389 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0xcc6ab305 is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xcc7330a5 pm_request_resume +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xcd0a23d6 crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0xcd1ca2cb iommu_domain_has_cap +EXPORT_SYMBOL_GPL vmlinux 0xcd282a2e inotify_find_watch +EXPORT_SYMBOL_GPL vmlinux 0xcd49ee65 inotify_init +EXPORT_SYMBOL_GPL vmlinux 0xcda94e9b ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xcdbf3614 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdd79cab bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xcdeaafe9 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xce34fd32 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0xce3c3cf4 regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0xce4cb094 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xce898156 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0xcebeb5d2 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0xcecdeb58 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcf67040c filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xcf7a962e cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0xcf8af983 trace_profile_buf +EXPORT_SYMBOL_GPL vmlinux 0xcf8c60e9 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0xcf8e686e inotify_find_update_watch +EXPORT_SYMBOL_GPL vmlinux 0xcfbaddc4 input_class +EXPORT_SYMBOL_GPL vmlinux 0xcfbb62a7 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xcfc68341 synchronize_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcfd8b1fa usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0xcffa2aff spi_populate_width_msg +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd03fdcc0 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0xd054873c crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xd0989489 agp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0xd0b73b98 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0d68dc5 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd0dc2a21 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0xd0f85d32 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xd121f820 ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0xd134fd42 get_driver +EXPORT_SYMBOL_GPL vmlinux 0xd142ab42 dm_rh_recovery_start +EXPORT_SYMBOL_GPL vmlinux 0xd154f359 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd17a06cf crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0xd1f6bc2c dm_region_hash_create +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd2a8caf0 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd2b590a4 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0xd2d0b82f dm_rh_bio_to_region +EXPORT_SYMBOL_GPL vmlinux 0xd36150ff fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0xd3813bac unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xd3cc2924 xenbus_dev_changed +EXPORT_SYMBOL_GPL vmlinux 0xd3e7e3d2 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd40524be pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd465051a vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xd46709d7 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xd46f3e8d crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xd495bcc3 inotify_inode_is_dead +EXPORT_SYMBOL_GPL vmlinux 0xd4b0063f ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd4b61058 ata_port_probe +EXPORT_SYMBOL_GPL vmlinux 0xd4d9b092 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0xd4dd083c crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0xd5072980 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xd585c6f0 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0xd5c8ad5f class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd5ff0c51 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xd5ff0d3b usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0xd62b6993 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0xd63117ac usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xd63501cf tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0xd6a8dd46 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd70ba857 debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0xd70e5875 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0xd73819d7 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xd73ef534 sysdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xd7667411 ata_sff_port_start +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd7c1e913 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xd7d79132 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd8279c99 ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xd883c186 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xd9042fa8 scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0xd926826b srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd92fbcd4 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0xd95d2c8c usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda2511dc __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xda29f8b0 wmi_set_block +EXPORT_SYMBOL_GPL vmlinux 0xda3bdd9c sysdev_store_int +EXPORT_SYMBOL_GPL vmlinux 0xda68eb28 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xdaa9f73d pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb274e52 monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0xdb45fd36 inotify_rm_watch +EXPORT_SYMBOL_GPL vmlinux 0xdb6e4835 dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0xdba64f1c eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0xdbd0dece pci_block_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0xdbd848ed spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xdbf2ee5f gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0xdc02f715 fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0xdc0ead78 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0xdc1f8f2e register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xdc53b4c9 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0xdc6daa07 pci_hp_change_slot_info +EXPORT_SYMBOL_GPL vmlinux 0xdd32ca3c sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0xdd94aa78 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xddc0db13 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xddeb987c tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xddfac67a crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xde251fb8 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde4c8375 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0xde5c9c72 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0xdeffdf21 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0xdf0a9256 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xdf41c1ed __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0xdf4ae6c4 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0xdf72b7e2 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0xdfe0497d sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xdff399af __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL vmlinux 0xe09ca53c regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xe0c77bb5 mce_notify_irq +EXPORT_SYMBOL_GPL vmlinux 0xe0cca33e xfrm_aead_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xe0d77134 dm_region_hash_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe14c9fa3 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0xe16c3a9b raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0xe172219d pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xe1a15d2e sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0xe1f3c3ff single_release_net +EXPORT_SYMBOL_GPL vmlinux 0xe2037042 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xe215735f swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0xe247343b hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0xe28e64cd sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xe295c0ff is_hpet_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe2ef9767 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xe34dce4d sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0xe34f585e apic +EXPORT_SYMBOL_GPL vmlinux 0xe357b93e rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0xe3dd65ae __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0xe3e4c625 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0xe405bca5 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xe42b51ac debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xe4428977 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xe49ff3b0 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xe4c858c2 spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xe502e3a3 queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe513afc0 cache_k8_northbridges +EXPORT_SYMBOL_GPL vmlinux 0xe5209789 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xe52f05fb input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0xe530071c pm_qos_remove_requirement +EXPORT_SYMBOL_GPL vmlinux 0xe59c1a1b swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0xe5c523dd user_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe630203b device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe68c31a1 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0xe6e4df5e ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xe6e8f340 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0xe6f2317a tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0xe71d30fb skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0xe72bb1b4 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xe74e9311 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0xe777c840 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0xe78eb8dd ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0xe7a29673 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0xe7dca988 __add_pages +EXPORT_SYMBOL_GPL vmlinux 0xe7f7b76c regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe81157fd rtnl_kill_links +EXPORT_SYMBOL_GPL vmlinux 0xe830b724 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe8b0ecb3 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xe8c8f5c4 blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0xe901175f __dev_addr_unsync +EXPORT_SYMBOL_GPL vmlinux 0xe91c1021 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9425993 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe990d3fd tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0xe9a59a87 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe9b1c7e4 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xe9b2f5a4 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xe9e988b0 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xe9fd8bc1 rt_mutex_lock_interruptible +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 0xea9e7583 __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xeae01e45 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeae92c99 sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xeaffd7d5 pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xeb01a647 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0xeb4030aa cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0xeb4c1fc8 __tracepoint_block_remap +EXPORT_SYMBOL_GPL vmlinux 0xeb86ccad generic_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0xeb8ea071 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xec0788e8 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0xec1a75a9 __dev_addr_sync +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec2547af xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0xec54a891 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xec6118d4 dm_rh_update_states +EXPORT_SYMBOL_GPL vmlinux 0xec8114d4 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0xec83e87f virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0xeca40cb4 xenbus_free_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xeca63e71 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0xeca68672 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0xecaff739 remove_irq +EXPORT_SYMBOL_GPL vmlinux 0xed65e787 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xedbc6f67 gnttab_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xede12d76 preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xee600034 ata_pio_queue_task +EXPORT_SYMBOL_GPL vmlinux 0xee6d7fbc skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0xee7ac1a1 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0xef18cbce br_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0xef32fee0 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0xef3fbe92 sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0xef570c48 xenbus_unmap_ring_vfree +EXPORT_SYMBOL_GPL vmlinux 0xef614503 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef774b56 macvlan_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0xefb7c31f transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0xefc09d9d disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0xefdd5a63 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xeff65ca8 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0xf010680e bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0xf03eb97c __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0xf0469f04 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf09b0350 dm_register_path_selector +EXPORT_SYMBOL_GPL vmlinux 0xf0a52cc0 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0xf0a6462c usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xf0da09f2 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xf1795415 inet_csk_compat_getsockopt +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf188419e sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0xf1a84ebb dm_rh_dirty_log +EXPORT_SYMBOL_GPL vmlinux 0xf1e86457 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0xf25282f5 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xf29b219e securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xf29f34d1 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0xf2a4cba2 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xf2bc822e bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0xf2c0535f crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf31f6128 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0xf34806ec hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xf3710565 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xf37aa171 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf39cae32 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0xf3c1c0a0 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xf3f3b12a dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf4a8385f iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0xf4c19c71 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xf4cd81bc relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0xf5384ac1 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0xf540b5aa devres_remove +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf5679a61 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0xf5799f7a stop_machine_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf589b391 inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0xf5945bac gnttab_free_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5b78ea7 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xf5c01ddf driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0xf5c102e6 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xf61e43bf class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xf6319c33 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xf645e2f9 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0xf6bcbd73 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xf6c5f396 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf6e48b64 __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6fde936 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf7016530 xenbus_gather +EXPORT_SYMBOL_GPL vmlinux 0xf7394cda ata_sff_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xf74c18a5 ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xf759246e i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0xf79bc8ec __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0xf7d4ef39 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0xf7edda61 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0xf7f05214 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xf8568194 inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf90949e3 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xf93c312b usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xf97373cd net_assign_generic +EXPORT_SYMBOL_GPL vmlinux 0xf9765833 dmi_match +EXPORT_SYMBOL_GPL vmlinux 0xf97666a0 set_memory_rw +EXPORT_SYMBOL_GPL vmlinux 0xf986fd76 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf9924426 arch_add_memory +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9a8695a rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xf9eed2b0 i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0xfa0c1c84 device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0xfa1f4662 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0xfa277270 scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xfb68f479 __module_address +EXPORT_SYMBOL_GPL vmlinux 0xfb7dc381 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0xfb882fb7 wmi_query_block +EXPORT_SYMBOL_GPL vmlinux 0xfb9044bc pci_sriov_migration +EXPORT_SYMBOL_GPL vmlinux 0xfb92923f relay_close +EXPORT_SYMBOL_GPL vmlinux 0xfbc0ec9b tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xfbdb3859 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfc2b6a9f spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xfc4c11dc usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xfc7f723d crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xfcbec040 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0xfcd65469 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xfd11d3d5 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0xfd51b281 gnttab_end_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfdfeb462 cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0xfe12ba8d regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xfe1fdcd3 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0xfe727411 get_phys_to_machine +EXPORT_SYMBOL_GPL vmlinux 0xfe72defe rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xfe85b2e1 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfed94c16 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0xfedb5327 devres_find +EXPORT_SYMBOL_GPL vmlinux 0xfeef9f6f bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfefa2adb input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0xff15215d ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0xff1ac935 pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xff48451d inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0xff48c4ac fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_UNUSED_SYMBOL vmlinux 0x00000000 simple_prepare_write --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/amd64/server.compiler +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/amd64/server.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3 --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/amd64/server.modules +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/amd64/server.modules @@ -0,0 +1,2599 @@ +3c359 +3c574_cs +3c589_cs +3c59x +3w-9xxx +3w-xxxx +6pack +8021q +8139cp +8139too +8255 +8390 +9p +9pnet +9pnet_rdma +9pnet_virtio +a100u2w +a3d +aacraid +ab3100 +ab3100-core +ab3100-otp +abituguru +abituguru3 +abyss +ac97_bus +acecad +acenic +acerhdf +acer-wmi +acl7225b +acpi_memhotplug +acpi_pad +acpiphp +acpiphp_ibm +acquirewdt +act200l-sir +act_gact +act_ipt +actisys-sir +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +ad1848 +ad7414 +ad7418 +ad7877 +ad7879 +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 +adfs +adi +adl_pci6208 +adl_pci7296 +adl_pci7432 +adl_pci8164 +adl_pci9111 +adl_pci9118 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm8211 +adm9240 +adp5588-keys +adq12b +ads7828 +ads7846 +adt7462 +adt7470 +adt7473 +adt7475 +adutux +adv7170 +adv7175 +advansys +advantechwdt +adv_pci1710 +adv_pci1723 +adv_pci_dio +aedsp16 +aes_generic +aesni-intel +aes-x86_64 +af_802154 +af9013 +affs +af_key +af-rxrpc +ah4 +ah6 +ahci +aic79xx +aic7xxx +aic94xx +aio_aio12_8 +aio_iiro_16 +aiptek +aircable +airo +airo_cs +alauda +ali-ircc +alim1535_wdt +alim7101_wdt +alphatrack +altpciechdma +ambassador +amd64_edac_mod +amd76xrom +amd8111e +amd-rng +amplc_dio200 +amplc_pc236 +amplc_pc263 +amplc_pci224 +amplc_pci230 +analog +ansi_cprng +anubis +aoe +appledisplay +applesmc +appletalk +appletouch +applicom +ar7part +ar9170usb +arc4 +arcfb +arcmsr +arcnet +arc-rawmode +arc-rimi +ark3116 +arkfb +arptable_filter +arp_tables +arpt_mangle +asb100 +asix +asus_atk0110 +asus-laptop +asus_oled +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +aten +ath +ath5k +ath9k +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atlas_btns +atm +atmel +atmel_cs +atmel_pci +atmtcp +atp +atp870u +atxp1 +aty128fb +atyfb +au0828 +au8522 +aufs +authenc +auth_rpcgss +autofs +autofs4 +av5100 +avma1_cs +avm_cs +avmfritz +ax25 +axnet_cs +b1 +b1dma +b1pci +b1pcmcia +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b3dfg +b43 +b43legacy +b44 +bas_gigaset +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcm203x +bcm3510 +bcm5974 +be2iscsi +be2net +befs +belkin_sa +berry_charge +bfa +bfs +bfusb +binfmt_misc +bitblit +block2mtd +blowfish +bluecard_cs +bluetooth +bnep +bnx2 +bnx2i +bnx2x +bonding +bpa10x +bpck +bpqether +bq24022 +bq27x00_battery +br2684 +bridge +broadsheetfb +bsd_comp +bt3c_cs +bt819 +bt856 +bt866 +bt878 +btcx-risc +btmrvl +btmrvl_sdio +btrfs +btsdio +bttv +btuart_cs +btusb +budget +budget-av +budget-ci +budget-core +budget-patch +BusLogic +bw-qcam +c2port-duramar2150 +c4 +c67x00 +c6xdigio +cachefiles +cafe_ccic +cafe_nand +camellia +can +can-bcm +can-dev +can-raw +capi +capidrv +capifs +capmode +carminefb +cassini +cast5 +cast6 +catc +cb710 +cb710-mmc +cb_das16_cs +cb_pcidas +cb_pcidas64 +cb_pcidda +cb_pcidio +cb_pcimdas +cb_pcimdda +cciss +ccm +cdc-acm +cdc_eem +cdc_ether +cdc-phonet +cdc_subset +cdc-wdm +cfag12864b +cfag12864bfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch +ch341 +ch7006 +chipreg +cifs +cirrusfb +ck804xrom +clip +cls_basic +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cm4000_cs +cm4040_cs +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 +core +coretemp +cp210x +cpcihp_generic +cpcihp_zt5550 +cpia +cpia2 +cpia_pp +cpia_usb +cpqarray +cpu5wdt +cpuid +c-qcam +cramfs +cr_bllcd +crc32c +crc32c-intel +crc7 +crc-ccitt +crc-itu-t +crvml +cryptd +cryptoloop +crypto_null +cs5345 +cs53l32a +ct82c710 +ctr +cts +cuse +cx18 +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24123 +cx25821 +cx25821-alsa +cx25840 +cx8800 +cx8802 +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx88xx +cxacru +cxgb +cxgb3 +cxgb3i +cyber2000fb +cyberjack +cyclades +cyclomx +cycx_drv +cypress_cy7c63 +cypress_m8 +cytherm +da9030_battery +da9034-ts +da903x +da903x_bl +dabusb +DAC960 +daqboard2000 +das08 +das08_cs +das16 +das16m1 +das1800 +das6402 +das800 +db9 +dc395x +dca +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dccp_probe +dcdbas +de2104x +de4x5 +de600 +de620 +decnet +deflate +defxx +dell-laptop +dell-led +dell_rbu +dell-wmi +des_generic +dib0070 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dibx000_common +digi_acceleport +diskonchip +display +divacapi +divadidd +diva_idi +diva_mnt +divas +dlci +dlm +dm1105 +dm9601 +dm-crypt +dme1737 +dmfe +dmm32at +dm-queue-length +dm-raid45 +dm-service-time +dmx3191d +dm-zero +dnet +dn_rtmsg +doc2000 +doc2001 +doc2001plus +docecc +docprobe +dpt_i2o +drm +drm_kms_helper +ds1621 +ds1682 +ds2482 +ds2490 +ds2760_battery +ds2782_battery +dsbr100 +dscc4 +dss1_divert +dst +dst_ca +dstr +dt2801 +dt2811 +dt2814 +dt2815 +dt2817 +dt282x +dt3000 +dt9812 +dtl1_cs +dummy +dummy_hcd +dv1394 +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-anysee +dvb-usb-au6610 +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-friio +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-m920x +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +e100 +e1000 +e1000e +e752x_edac +earth-pt1 +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_ulog +ebt_vlan +echo +econet +edac_core +edac_mce_amd +eeepc-laptop +eeprom +eeprom_93cx6 +eeti_ts +efs +elo +elsa_cs +em28xx +em28xx-alsa +em28xx-dvb +em_cmp +emi26 +emi62 +em_meta +em_nbyte +empeg +ems_pci +ems_usb +em_text +emu10k1-gp +em_u32 +enclosure +eni +enic +epat +epca +epia +epic100 +eql +esb2rom +esi-sir +esp4 +esp6 +et131x +et61x251 +eth1394 +ethoc +eurotechwdt +evbug +evtchn +exofs +exportfs +f71805f +f71882fg +f75375s +fakephp +farsync +fat +faulty +fbcon +fb_ddc +fb_sys_fops +fcoe +fcrypt +fdomain +fdomain_cs +fealnx +ff-memless +firedtv +firestream +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +fit2 +fit3 +fl512 +floppy +fm801-gp +fmvj18x_cs +fnic +font +forcedeth +fore_200e +fpu +freevxfs +friq +frpw +fsam7400 +fscache +fschmd +ftdi-elan +ftdi_sio +ftl +fujitsu-laptop +fujitsu_ts +funsoft +g450_pll +g760a +gadgetfs +gamecon +gameport +garmin_gps +garp +g_audio +g_cdc +gcm +gdth +generic +generic_bl +gen_probe +g_ether +gf128mul +gf2k +g_file_storage +gfs2 +ghash-clmulni-intel +ghash-generic +gigaset +girbil-sir +gl518sm +gl520sm +gl620a +gluebi +g_midi +gpio-addr-flash +gpio_keys +gpio_mouse +gpio_vbus +g_printer +grip +grip_mp +gsc_hpdi +g_serial +gspca_conex +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_ov519 +gspca_ov534 +gspca_pac207 +gspca_pac7311 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_stk014 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_tv8532 +gspca_vc032x +gspca_zc3xx +gtco +guillemot +gunze +gx1fb +gxfb +g_zero +hamachi +hangcheck-timer +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-3m-pct +hid-a4tech +hid-apple +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-drff +hid-ezkey +hid-gaff +hid-gyration +hid-kensington +hid-kye +hid-logitech +hid-microsoft +hid-monterey +hid-mosart +hid-ntrig +hid-ortek +hidp +hid-petalynx +hid-pl +hid-quanta +hid-samsung +hid-sjoy +hid-sony +hid-stantum +hid-sunplus +hid-tmff +hid-topseed +hid-twinhan +hid-wacom +hid-zpff +hifn_795x +hisax +hisax_fcpcipnp +hisax_isac +hisax_st5481 +horizon +hostap +hostap_cs +hostap_pci +hostap_plx +hp100 +hp4x +hp_accel +hpfs +hpilo +hptiop +hp-wmi +hso +htc-pasic3 +hv_blkvsc +hv_netvsc +hv_storvsc +hv_vmbus +hwa-hc +hwa-rc +hwmon-vid +hysdn +i1480-dfu-usb +i1480-est +i1480u-wlp +i2400m +i2400m-sdio +i2400m-usb +i2c-algo-bit +i2c-algo-pca +i2c-algo-pcf +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd756-s4882 +i2c-amd8111 +i2c-dev +i2c-gpio +i2c-i801 +i2c-isch +i2c-matroxfb +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-stub +i2c-taos-evm +i2c-tiny-usb +i2c-via +i2c-viapro +i2c-voodoo3 +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_idle +i810 +i82092 +i82975x_edac +i830 +i8k +i915 +ib700wdt +ib_addr +ib_cm +ib_core +ib_ipath +ib_ipoib +ib_iser +ib_mad +ibmaem +ibmasm +ibmasr +ibmcam +ibmpex +ib_mthca +ibmtr_cs +ib_sa +ib_srp +ib_ucm +ib_umad +ib_uverbs +ichxrom +icp_multi +ics932s401 +idmouse +idt77252 +ieee1394 +ifb +iforce +igb +igbvf +ii_pci20kc +ili9320 +imm +industrialio +inexio +inftl +initio +input-polldev +int51x1 +intel-agp +intel_menlow +intel-rng +intel_vr_nor +interact +ioatdma +ioc4 +io_edgeport +io_ti +iowarrior +ip2 +ip6_queue +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_LOG +ip6t_mh +ip6t_REJECT +ip6t_rt +ip6_tunnel +ipaq +ipcomp +ipcomp6 +ipddp +ipg +ip_gre +iphase +ipip +ipmi_devintf +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_watchdog +ip_queue +ipr +ips +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_addrtype +ipt_ah +ipt_CLUSTERIP +ipt_ecn +ipt_ECN +ipt_LOG +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_ULOG +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipw2100 +ipw2200 +ipwireless +ipx +ircomm +ir-common +ircomm-tty +irda +irda-usb +ir-kbd-i2c +irlan +irnet +irtty-sir +ir-usb +iscsi_ibft +iscsi_tcp +iscsi_trgt +isdn +isdn_bsdcomp +isdnhdlc +isight_firmware +isl29003 +isl6405 +isl6421 +isl6423 +isofs +isp116x-hcd +isp1362-hcd +isp1760 +istallion +it87 +it8712f_wdt +it87_wdt +iTCO_vendor_support +iTCO_wdt +itd1000 +iuu_phoenix +ivtv +ivtvfb +iw_c2 +iw_cm +iw_cxgb3 +iwl3945 +iwlagn +iwlcore +iwmc3200wifi +ixgb +ixgbe +ixj +ixj_pcmcia +jedec_probe +jffs2 +jfs +jmb38x_ms +jme +joydev +joydump +jr3_pci +jsm +k8temp +kafs +kahlua +kaweth +kb3886_bl +kbic +kbtab +kcomedilib +ke_counter +kernelcapi +keyspan +keyspan_pda +keyspan_remote +khazad +kingsun-sir +kl5kusb105 +kobil_sct +konicawc +ks0108 +ks0127 +ks8842 +ks8851 +ks8851_mll +ks959-sir +ksdazzle-sir +ktti +kvaser_pci +kvm +kvm-amd +kvm-intel +kxsd9 +kyrofb +l1oip +l2cap +l440gx +l64781 +lanai +lapb +lapbether +lcd +ldusb +lec +led-class +leds-alix2 +leds-bd2802 +leds-da903x +leds-dac124s085 +leds-gpio +leds-lp3944 +leds-pca9532 +leds-pca955x +leds-wm831x-status +leds-wm8350 +ledtrig-backlight +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-timer +legousbtower +lgdt3305 +lgdt330x +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libcrc32c +libertas +libertas_cs +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libosd +libsas +libsrp +lightning +line6usb +linear +lirc_atiusb +lirc_bt829 +lirc_dev +lirc_ene0100 +lirc_i2c +lirc_igorplugusb +lirc_imon +lirc_it87 +lirc_ite8709 +lirc_mceusb +lirc_sasem +lirc_serial +lirc_sir +lirc_streamzap +lirc_ttusbir +lis3l02dq +lis3lv02d +litelink-sir +lkkbd +llc2 +lm63 +lm70 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95241 +lmc +lms283gf05 +lnbp21 +lockd +lp +lp3971 +lpddr_cmds +lpfc +lrw +ltc4215 +ltc4245 +ltv350qv +lxfb +lzo +lzo_compress +lzo_decompress +m25p80 +m52790 +ma600-sir +mac80211 +mac80211_hwsim +machzwd +macmodes +macvlan +magellan +map_absent +map_funcs +map_ram +map_rom +matrix_keypad +matroxfb_accel +matroxfb_base +matroxfb_crtc2 +matroxfb_DAC1064 +matroxfb_g450 +matroxfb_maven +matroxfb_misc +matroxfb_Ti3026 +matrox_w1 +max1111 +max1363 +max1586 +max1619 +max17040_battery +max3100 +max6650 +max6875 +max7301 +max732x +max7359_keypad +mb862xxfb +mbp_nvidia_bl +mc13783 +mc13783-core +mc33880 +mc44s803 +mce-inject +mce-xeon75xx +mcp2120-sir +mcp23s08 +mcs5000_ts +mcs7780 +mcs7830 +mct_u232 +md4 +mdc800 +mdio +me4000 +me_daq +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +memstick +metronomefb +meye +mfd-core +mga +michael_mic +microcode +microtek +mii +minix +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +mite +mk712 +mkiss +mlx4_core +mlx4_en +mlx4_ib +mmc_block +mmc_spi +mos7720 +mos7840 +moto_modem +moxa +mpc624 +mpoa +mpt2sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu401 +msdos +msi-laptop +msp3400 +mspro_block +msr +mt2060 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt9m001 +mt9m111 +mt9t031 +mt9v011 +mt9v022 +mtd +mtd_blkdevs +mtdblock +mtdblock_ro +mtdchar +mtdconcat +mtd_dataflash +mtd_oobtest +mtdoops +mtd_pagetest +mtdram +mtd_readtest +mtd_speedtest +mtd_stresstest +mtd_subpagetest +mtd_torturetest +mtouch +multipath +multiq3 +mvsas +mwave +mwl8k +mxb +mxl5005s +mxl5007t +mxser +myri10ge +n411 +nand +nand_ecc +nand_ids +nandsim +natsemi +navman +nbd +ncpfs +ndiswrapper +ne2k-pci +neofb +net1080 +netconsole +netjet +netrom +netsc520 +nettel +netwave_cs +netxen_nic +newtonkbd +nf_conntrack +nf_conntrack_amanda +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_tftp +nf_defrag_ipv4 +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_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nftl +nf_tproxy_core +n_hdlc +ni_6527 +ni_65xx +ni_660x +ni_670x +ni_at_a2150 +ni_at_ao +ni_atmio +ni_atmio16d +ni_daq_700 +ni_daq_dio24 +ni_labpc +ni_labpc_cs +nilfs2 +ni_mio_cs +ni_pcidio +ni_pcimio +ni_tio +ni_tiocmd +niu +nl802154 +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 +nouveau +nozomi +n_r3964 +ns558 +ns83820 +nsc_gpio +nsc-ircc +nst +ntfs +nvidiafb +nvram +nxt200x +nxt6000 +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +ohci1394 +old_belkin-sir +olympic +omfs +omnibook +omninet +on20 +on26 +onenand +onenand_sim +opencores-kbd +opl3 +oprofile +opticon +option +or51132 +or51211 +orinoco +orinoco_cs +orinoco_nortel +orinoco_pci +orinoco_plx +orinoco_tmd +osd +osdblk +osst +oti6858 +output +ov7670 +ov772x +ovcamchip +oxu210hp-hcd +p4-clockmod +p54common +p54pci +p54spi +p54usb +p8023 +p9auth +padlock-aes +padlock-sha +panasonic-laptop +panel +paride +parkbd +parport +parport_ax88796 +parport_cs +parport_pc +parport_serial +pas2 +pata_ali +pata_amd +pata_artop +pata_atiixp +pata_atp867x +pata_cmd640 +pata_cmd64x +pata_cs5520 +pata_cs5530 +pata_cypress +pata_efar +pata_hpt366 +pata_hpt37x +pata_hpt3x2n +pata_hpt3x3 +pata_it8213 +pata_it821x +pata_jmicron +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_radisys +pata_rdc +pata_rz1000 +pata_sc1200 +pata_sch +pata_serverworks +pata_sil680 +pata_sl82c105 +pata_triflex +pata_via +pbe5 +pc87360 +pc8736x_gpio +pc87413_wdt +pc87427 +pca953x +pcbc +pcd +pcf50633-adc +pcf50633-charger +pcf50633-core +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf857x +pcf8591 +pci +pci200syn +pcilynx +pcips2 +pci-stub +pcl711 +pcl724 +pcl725 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcm3730 +pcmad +pcmcia +pcmcia_core +pcm_common +pcmda12 +pcmmio +pcmuio +pcnet32 +pcnet_cs +pcspkr +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pegasus +penmount +pf +pg +phantom +phison +phonedev +phonet +phram +physmap +pktgen +pl2303 +platform_lcd +plat_nand +plat-ram +plip +plusb +pluto2 +pm2fb +pm3fb +pmc551 +pmcraid +pn_pep +poc +poch +pohmelfs +powermate +power_meter +ppa +ppdev +ppp_async +ppp_deflate +ppp_mppe +pppoatm +pppoe +pppol2tp +pppox +ppp_synctty +pps_core +prism2_usb +prism54 +progear_bl +psmouse +pss +pt +pvrusb2 +pwc +qcserial +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlge +qlogic_cs +qlogicfas408 +qnx4 +qt1010 +quatech_daqp_cs +quatech_usb2 +quickcam_messenger +quota_tree +quota_v1 +quota_v2 +r128 +r8169 +r8192_pci +r8192se_pci +r8192s_usb +r8a66597-hcd +radeon +radeonfb +radio-gemtek-pci +radio-i2c-si470x +radio-maestro +radio-maxiradio +radio-mr800 +radio-si4713 +radio-tea5764 +radio-usb-si470x +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +raid_class +ramzswap +rar_driver +raw +raw1394 +ray_cs +rdma_cm +rdma_ucm +rds +rds_rdma +rds_tcp +redboot +reed_solomon +reiserfs +rfc1051 +rfc1201 +rfcomm +rfd_ftl +ricoh_mmc +rio500 +riscom8 +rivafb +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rndis_wlan +rocket +romfs +rose +rotary_encoder +rpcsec_gss_krb5 +rpcsec_gss_spkm3 +rrunner +rsrc_nonstatic +rt2400pci +rt2500pci +rt2500usb +rt2800usb +rt2860sta +rt2870sta +rt2x00lib +rt2x00pci +rt2x00usb +rt3090sta +rt61pci +rt73usb +rtc-ab3100 +rtc-bq4802 +rtc-ds1286 +rtc-ds1305 +rtc-ds1307 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-ds3234 +rtc-fm3130 +rtc-isl1208 +rtc-m41t80 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-pcf2123 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-r9701 +rtc-rs5c348 +rtc-rs5c372 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-test +rtc-twl4030 +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtd520 +rti800 +rti802 +rtl8150 +rtl8180 +rtl8187 +rtl8187se +rxkad +s1d13xxxfb +s2255drv +s2io +s3fb +s526 +s5h1409 +s5h1411 +s5h1420 +s626 +saa5246a +saa5249 +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +safe_serial +salsa20_generic +salsa20-x86_64 +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 +sb +sb1000 +sbc60xxwdt +sbc8360 +sbc_epx_c3 +sbc_fitpc2_wdt +sbc_gxx +sb_lib +sbni +sbp2 +sc1200wdt +sc520cdp +sc520_wdt +sc92031 +scb2_flash +sch311x_wdt +sch_atm +sch_cbq +sch_drr +sch_dsmark +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_multiq +sch_netem +sch_prio +sch_red +sch_sfq +sch_tbf +sch_teql +sco +scsi_debug +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 +sdhci +sdhci-pci +sdhci-pltfm +sdio_uart +sdricoh_cs +se401 +sedlbauer_cs +seed +sep_driver +seqiv +ser_gigaset +serial2002 +serial_cs +serio_raw +sermouse +serpent +serport +serqt_usb2 +ses +sfc +sha1_generic +sha256_generic +sha512_generic +shpchp +sht15 +si21xx +si4713-i2c +sidewinder +siemens_mpi +sierra +sir-dev +sis +sis190 +sis5595 +sis900 +sis-agp +sisfb +sisusbvga +sit +sja1000 +sja1000_platform +skel +skfp +skge +sky2 +sl811_cs +sl811-hcd +slicoss +slip +slram +sm501 +sm501fb +smbfs +smc91c92_cs +smsc37b787_wdt +smsc47b397 +smsc47m1 +smsc47m192 +smsc9420 +smsc95xx +smsc-ircc2 +smsdvb +smsmdtv +smssdio +smsusb +sn9c102 +snd +snd-ac97-codec +snd-ad1889 +snd-ak4114 +snd-ak4117 +snd-ak4xxx-adda +snd-ali5451 +snd-als300 +snd-als4000 +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-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-atihdmi +snd-hda-codec-ca0110 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-idt +snd-hda-codec-intelhdmi +snd-hda-codec-nvhdmi +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-intel +snd-hdsp +snd-hdspm +snd-hifier +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-korg1212 +snd-layla20 +snd-layla24 +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-pcm-oss +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-oss +snd-seq-virmidi +snd-serial-u16550 +snd-soc-ad1836 +snd-soc-ad1938 +snd-soc-ad73311 +snd-soc-ak4104 +snd-soc-ak4535 +snd-soc-ak4642 +snd-soc-core +snd-soc-cs4270 +snd-soc-l3 +snd-soc-max9877 +snd-soc-pcm3008 +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-tlv320aic23 +snd-soc-tlv320aic26 +snd-soc-tlv320aic3x +snd-soc-twl4030 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wm8350 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8776 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8993 +snd-soc-wm9081 +snd-soc-wm-hubs +snd-sonicvibes +snd-tea575x-tuner +snd-timer +snd-trident +snd-usb-audio +snd-usb-caiaq +snd-usb-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 +softcursor +softdog +solos-pci +sony-laptop +sound +soundcore +sound_firmware +sp8870 +sp887x +spaceball +spaceorb +spcp8x5 +specialix +spectrum_cs +speedfax +speedstep-lib +speedtch +spi_bitbang +spi_butterfly +spidev +spi_gpio +spi_lm70llp +squashfs +ssb +sscape +ssfdc +sst25l +sstfb +ssv_dnp +st +stallion +starfire +stb0899 +stb6000 +stb6100 +stex +stinger +stir4200 +stkwebcam +stowaway +stp +stradis +strip +stv0288 +stv0297 +stv0299 +stv0900 +stv090x +stv6110 +stv6110x +stv680 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +svcrdma +svgalib +sx8 +sym53c500_cs +symbolserial +synaptics_i2c +synclink +synclink_cs +synclink_gt +synclinkmp +syscopyarea +sysfillrect +sysimgblt +sysv +t1pci +tcp_bic +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 +tda10086 +tda18271 +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tdfx +tdfxfb +tdo24m +tea +tea5761 +tea5767 +tea6415c +tea6420 +tehuti +tekram-sir +teles_cs +tg3 +tgr192 +thinkpad_acpi +thmc50 +tifm_7xx1 +tifm_core +tifm_ms +tifm_sd +tileblit +timeriomem-rng +tipc +ti_usb_3410_5052 +tlan +tlclk +tle62x0 +tmdc +tmiofb +tmp401 +tmp421 +tms380tr +tmscsim +tmspci +toim3232-sir +topstar-laptop +toshiba_acpi +touchit213 +touchright +touchwin +tpm +tpm_atmel +tpm_bios +tpm_infineon +tpm_nsc +tpm_tis +tps65010 +tps65023-regulator +tps6507x-regulator +trancevibrator +tranzport +tridentfb +trix +ts5500_flash +ts_bm +tsc2007 +ts_fsm +ts_kmp +tsl2550 +tsl2561 +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +tua6100 +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +turbografx +tvaudio +tveeprom +tvp5150 +tw9910 +twidjoy +twl4030-gpio +twl4030_keypad +twl4030-pwrbutton +twl4030-usb +twl4030_wdt +twofish +twofish_common +twofish-x86_64 +typhoon +u132-hcd +uart401 +uart6850 +ubi +ubifs +ucb1400_core +ucb1400_ts +udf +udlfb +ueagle-atm +ufs +uinput +uio +uio_aec +uio_cif +uio_pci_generic +uio_pdrv +uio_pdrv_genirq +uio_sercos3 +uio_smx +uli526x +ultracam +umc +umem +ums-alauda +ums-cypress +ums-datafab +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-sddr09 +ums-sddr55 +ums-usbat +unioxx5 +upd64031a +upd64083 +uPD98402 +usb8xxx +usbatm +usb_debug +usbdux +usbduxfast +usb_gigaset +usbhid +usbip +usbip_common_mod +usblcd +usbled +usblp +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +usbtouchscreen +usbvideo +usbvision +userspace-consumer +uss720 +uvcvideo +uvesafb +uwb +v4l1-compat +v4l2-common +v4l2-compat-ioctl32 +v4l2-int-device +vcan +ves1820 +ves1x93 +vesafb +veth +vfat +vga16fb +vgastate +vgg2432a4 +vhci-hcd +via +via686a +via-agp +viafb +via-ircc +via-rhine +via-rng +via-sdmmc +via-velocity +vicam +video +video1394 +videobuf-core +videobuf-dma-sg +videobuf-dvb +videobuf-vmalloc +videocodec +videodev +virtio_balloon +virtio_console +virtio-rng +virtual +visor +vivi +vlsi_ir +vmac +vme +vme_ca91cx42 +vme_tsi148 +vme_user +v_midi +vmk80xx +vmlfb +vmw_pvscsi +vmxnet3 +vp27smpx +vpx3220 +vstusb +vsxxxaa +vt1211 +vt6656_stage +vt8231 +vt8623fb +vxge +w1_bq27000 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1-gpio +w1_smem +w1_therm +w6692 +w83627ehf +w83627hf +w83627hf_wdt +w83697hf_wdt +w83697ug_wdt +w83781d +w83791d +w83792d +w83793 +w83877f_wdt +w83977af_ir +w83977f_wdt +w83l785ts +w83l786ng +w9966 +w9968cf +wacom +wacom_w8001 +wafer5823wdt +walkera0701 +wanrouter +wanxl +warrior +wavelan_cs +wbsd +wdt_pci +whci +whci-hcd +whc-rc +whiteheat +wimax +winbond-840 +winbond-cir +wire +wl1251 +wl1251_sdio +wl1251_spi +wl1271 +wl3501_cs +wlp +wm831x +wm831x_bl +wm831x-dcdc +wm831x-gpio +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x_power +wm831x_wdt +wm8350 +wm8350-hwmon +wm8350-i2c +wm8350_power +wm8350-regulator +wm8350_wdt +wm8400-core +wm8400-regulator +wm8739 +wm8775 +wm97xx-ts +wp512 +wpan-class +wusb-cbaf +wusbcore +wusb-wa +x25 +x25_asy +x38_edac +xc5000 +xcbc +xen-blkfront +xen-fbfront +xenfs +xen-kbdfront +xen-netfront +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_ipcomp +xfrm_user +xfs +xhci +xirc2ps_cs +xircom_cb +xor +xpad +xprtrdma +x_tables +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNMARK +xt_CONNSECMARK +xt_conntrack +xt_dccp +xt_dscp +xt_DSCP +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xt_iprange +xtkbd +xt_LED +xt_length +xt_limit +xt_mac +xt_mark +xt_MARK +xt_multiport +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_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_tcpudp +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xusbatm +xvmalloc +yam +yealink +yellowfin +yenta_socket +zatm +zaurus +zc0301 +zd1201 +zd1211rw +zhenhua +zl10036 +zl10039 +zl10353 +zlib +zlib_deflate +zr36016 +zr36050 +zr36060 +zr36067 +zr364xx --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/armel/versatile +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/armel/versatile @@ -0,0 +1,8260 @@ +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/char/apm-emulation 0x129e74f2 apm_get_power_status +EXPORT_SYMBOL drivers/char/apm-emulation 0xdf3329b8 apm_queue_event +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/firewire/firewire-core 0x04dd92ce fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0b553fa7 fw_core_initiate_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1c22888b fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x24c7eb4d fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4059de00 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4333d98f fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x47fcf22e fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4d5d4eca fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4ed7efd9 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4f724aaf fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5e5df87f fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x63eb1b8a fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x739c097a fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7989b6e8 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7d7e10ae fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86b7c172 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90863005 fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0x95c69f46 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9f12c1c4 fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xa49e3226 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xa672e1b0 fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xadee432c fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xafc1c793 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb047a2c6 fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe25c2348 fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe2c10f33 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe84ee19d fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf23acf32 fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0096e80f drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05d840f4 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0612cc51 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0836695c drm_sman_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x088ddf1f drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09e3aee1 drm_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b9bdd1e drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0cddabe2 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d3dffa2 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0da19e97 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x134f4d62 drm_i_have_hw_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1573fa78 drm_lock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16a43509 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x173b87e7 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1771170f drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d8ba2e8 drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1dd21d16 drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e7b1976 drm_sg_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f072c59 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f41d9d7 drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21451ac4 drm_sman_owner_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2178d5be drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26bf33c9 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2916bf63 drm_sman_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29dac398 drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a718c44 drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2cf148a9 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2eb2f903 drm_sman_free_key +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3100920f drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3233958f drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x33c0b336 drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35fd0891 drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c9a1409 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x400d4d61 drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x413b0880 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x428cc1a6 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x453a4305 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x455b6eb9 drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x46de9f34 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49982230 drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a900f10 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b4c0615 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ff5a484 drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55f060ee drm_sman_set_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x580830f0 drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5aae92a5 drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d0f8e7d drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ea53c9c drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5eca9af9 drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6344e510 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64cd2440 drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6566c539 drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x659d0c8a drm_get_resource_start +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65d88b21 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6679151d drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x691b62fd drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ca4a5e2 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d2e5837 drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fc30481 drm_mode_hsync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x709c9d60 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7584503f drm_do_probe_ddc_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x784915eb drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a190368 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7af7aea3 drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7becf9f2 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c1fd6c8 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83008264 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83a466f3 drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85de09f5 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87052549 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87175e46 drm_get_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x872c1d45 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87d6e7ef drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b07529b drm_core_get_reg_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b594099 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e856d53 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8fd164cf drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x920fc600 drm_lock_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9604d97c drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9adf31e6 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b1a3f83 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9bd99924 drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d380e91 drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9dad7c06 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa11b98c6 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1b2565b drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa670b23d drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa54c009 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab0e76af drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab500096 drm_get_drawable_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac191238 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf29788e drm_sman_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1512670 drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb79f1d46 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7aefa7b drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe05581b drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf949cec drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc18e612c drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1a45cd4 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2719b64 drm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc294b330 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6794f16 drm_core_get_map_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc69bd111 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6f2730d drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc9cb5805 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcae8d219 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc4072f0 drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdf2eff4 drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf87c815 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0634f3a drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd08fa3f0 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0ea79e2 drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3028e75 drm_sman_set_manager +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3f2a994 drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3ffab51 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd47e9950 drm_get_resource_len +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4e04b69 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5d2a3e6 drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd6676de9 drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd74cfd7a drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdac2f57a drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdb7f62c8 drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc4e6525 drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd3febe2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd49095c drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdeea95fa drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf77b07e drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1457735 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe24a7b88 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe33f4949 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe39e563a drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe3bf9212 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5bdce7e drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe603c380 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7c41432 drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe919dd5c drm_sman_owner_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb6c8f0d drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb908c30 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xecff39b7 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef0a73d3 drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0cba3fd drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1d27a58 drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2d4ab9a drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2f75812 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf42a2b26 drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb36277d drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc1c9bde drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdfbad19 drm_sman_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0225e187 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1219f8e1 drm_fb_helper_setcolreg +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x17f231f6 drm_helper_probe_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1ebf82bb drm_fb_helper_free +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x20b4d1f8 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x20efc742 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2bc52aec drm_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x321914c6 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x437fd830 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4a1bd365 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x701c1d23 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x708e6a8b drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x77be6281 drm_helper_hotplug_stage_two +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x85f2ee9e drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9a97c624 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9be1ec57 drm_fb_helper_init_crtc_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa06f8bbc drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa5fae4cc drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xafbf31e7 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd0556bac drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd45bb898 drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xde98407e drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe6316773 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf784db0f drm_fb_helper_add_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf85b2556 drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0440ec56 ttm_object_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x07787990 ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x09005038 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0cce8bc0 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0de98dc9 ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x11896be5 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x11d92c11 ttm_ref_object_add +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x132b05be ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1773b2da ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x19e1819e ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1c74c2bc ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x22d8c4b4 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x24536b5d ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x255f4a57 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2a1a7541 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2f9ffb34 ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2fd5244e ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x31dbda73 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x34704ea7 ttm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x34790b98 ttm_base_object_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x361f3e56 ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x365feb2e ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x376ac7be ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3c3c3af1 ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x45c95639 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x52bba757 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x59609446 ttm_suspend_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5cf7871a ttm_object_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5ff8f0c7 ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61bdb34f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x66666d70 ttm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6b7426a8 ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x79dc0f96 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7b567ab4 ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7cf70f0c ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x854c9346 ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x86a4066d ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x91a09f83 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x967315bc ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x997c79fb ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9df2d215 ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9f9bad52 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa77b51bc ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xacc80e98 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb8f9d883 ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc111e2f4 ttm_base_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc43b400c ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc566911c ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xca98ebdf ttm_base_object_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcb1655af ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcee74341 ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcf456adf ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd101feb1 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe006b316 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xeb426cca ttm_mem_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf3f109ff ttm_object_file_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf723fd5d ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfa6e7726 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfe362a63 ttm_io_prot +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x12e9d053 i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x8efd292c i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x1a4036ac i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x5a998b50 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pcf 0x25c9216f i2c_pcf_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x941d0ab2 amd756_smbus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x04a900eb hpsb_iso_recv_release_packets +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x06ec0dc4 hpsb_make_phypacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0e466ec5 hpsb_free_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0f65267a hpsb_set_packet_complete_task +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x198ef14e hpsb_alloc_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1a200e5a csr1212_release_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1c8e31f0 hpsb_make_lock64packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1d706d60 hpsb_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x202dac20 hpsb_iso_recv_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x219cbabe dma_region_offset_to_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x260be297 hpsb_create_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2a4cc36b csr1212_attach_keyval_to_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2a620957 hpsb_iso_xmit_queue_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2c9a843b hpsb_iso_recv_flush +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x30d18149 hpsb_selfid_complete +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3ba773c5 hpsb_update_config_rom_image +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3cb01bc7 hpsb_iso_shutdown +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4060e0a7 hpsb_protocol_class +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4599f4da hpsb_get_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4dc46aaa hpsb_iso_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x517972c7 hpsb_get_hostinfo_bykey +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x57f98332 hpsb_iso_xmit_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5ab2bba5 hpsb_iso_xmit_sync +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5d537711 hpsb_iso_recv_set_channel_mask +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5ee14831 hpsb_iso_recv_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5f5fdd2f csr1212_new_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6138beb8 __hpsb_register_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x672ad148 dma_region_sync_for_device +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6a1b8562 hpsb_make_readpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6b85f4a6 hpsb_make_lockpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6f3afd84 hpsb_make_writepacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6f6cfd11 hpsb_unregister_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x72797392 hpsb_iso_wake +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x76bc1a5c dma_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x78135af2 hpsb_set_hostinfo_key +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x78950ee5 hpsb_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7b47edbb hpsb_unregister_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7fac5f73 hpsb_set_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x81e99347 hpsb_read_cycle_timer +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x831cfaef hpsb_iso_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x86021bf1 hpsb_iso_stop +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8879f8f0 dma_region_sync_for_cpu +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x89a619ff hpsb_resume_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8aa00c72 hpsb_free_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8b7902bd hpsb_update_config_rom +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8d0f682b hpsb_bus_reset +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8ec2b312 dma_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9339797e hpsb_allocate_and_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x94bce230 csr1212_get_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x979b3052 dma_prog_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x99992fd9 hpsb_node_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9c22a3b6 hpsb_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9e2703e3 hpsb_reset_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa924dac6 dma_prog_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaef36a24 hpsb_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaef57bb5 csr1212_detach_keyval_from_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaefbd374 csr1212_parse_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb1ee11cd hpsb_selfid_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xbb1ec485 hpsb_destroy_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xbba70620 dma_prog_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc11e00f9 hpsb_alloc_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc1632a34 hpsb_packet_success +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc75d963c hpsb_lock +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc828fcc2 hpsb_unregister_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xca0f05d1 hpsb_iso_recv_unlisten_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcae53a81 hpsb_get_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcd59f491 hpsb_register_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd0921fe0 hpsb_iso_xmit_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd6b9e573 hpsb_remove_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xdb4d1aa2 hpsb_iso_n_ready +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xdd2022f8 hpsb_send_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe0da264c dma_region_mmap +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe12ae4e0 hpsb_iso_recv_listen_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe42d633f hpsb_make_streampacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xea4152ff dma_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xec1e0489 hpsb_add_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xece0b6c0 hpsb_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xefe824dc hpsb_node_fill_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfab27536 csr1212_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfba57f51 hpsb_speedto_str +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x1d5aeebc ohci1394_init_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x2e75decc ohci1394_unregister_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x3989b03f ohci1394_register_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0xac6ff3de ohci1394_stop_context +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x0007daeb rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x08a37740 rdma_addr_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x72e87a9d rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x840a2fcb rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xb0900f14 rdma_addr_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xe43ce3ce rdma_copy_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x044e2672 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x0724ce4f ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x09bae299 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x11977888 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1aa10ffa ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3fa54628 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x41d7dd2e ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x45b5209f ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x5267c6c0 ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x6bbcb7ab ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9ce60bee cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9e7221d8 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb2196cb7 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbcbcb7e0 ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf064ee78 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf587cb31 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xfac59133 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0307e8f8 ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x04a992bc ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0d6ab2e4 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x142b15b9 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14dac0f7 ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14dedf7e ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x174ec2dd ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x20cba6f1 ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x28275dc0 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x28466ed5 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2fda1580 ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x31ed7d9e ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x363336fb ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x37adff18 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f7567fd ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x42ca37b3 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x42e99ff2 ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x43364dc0 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x44255281 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x463e1fda ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x520b2638 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x59a80404 ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5b2b74e6 ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5ba4cbf5 ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x602fa9c7 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x616f22a7 ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x69eca3c7 ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x70bbd557 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x72c75a45 ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x791815f2 ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7bc39ff4 ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7c90c050 ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8060487b ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x837aefa7 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x84a37960 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x84dd669b ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8640eaeb ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x869540d9 ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87b156b0 ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87b614d8 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8acb9d96 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8d2f1ac4 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x925b2eb4 ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9567c537 ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x98bd6d56 ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9c76b97a ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d804fa1 mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9eb548db ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xacbe4468 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xad61661a ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xadf50ab1 ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae8ba7e1 ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb08b7e12 ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb1a312e1 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb362f8c0 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb4cc6cec ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbffe4b59 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcbc61294 ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xccfdc022 ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcd7847e3 ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcf2afa22 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd17ba9d1 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd880b76a ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda8cace7 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdd0b83ef ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe92e443f ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeb429ed8 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xede2f25d ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf36498b9 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6211941 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6f673a8 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfacec8b1 ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfb7aa04d ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xffcf040d ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x1dab4075 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x249d3b79 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x4247d28b ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x57d839a4 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6713ed57 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6ef787ed ib_response_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 0x82def097 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x84eb2056 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x9793a267 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xb69c3d5c ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xdf43d1de ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xe619e7b6 ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xee1504dd ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x1cc266e3 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x37deafe5 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x576fdbac ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x5d72dabc ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x70e41822 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x70ed99c4 ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x73a64cb5 ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x93456a60 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xa53ad7ef ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xdb8bad19 ib_sa_cancel_query +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 0x12d5d1db iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x1318fdb7 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x1ae5de66 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x56e7fc4d iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xaafde47b iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xb963a7b1 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xbdde4a3c iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xfe6c517c iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x16dc9d5e rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2b06d48c rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x387b8024 rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3c319027 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x45437d75 rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4a99a3d5 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x63be2ecb rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7cbe9d02 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x80967774 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8a7094fd rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8e2b9b62 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9b62a673 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa95fdf00 rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xad475dfe rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbf7688a0 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc2d55f2c rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdeb853b3 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe1c451c9 rdma_notify +EXPORT_SYMBOL drivers/input/input-polldev 0x4b68be10 input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xba47e3bd input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xc21353a0 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xd972405d input_register_polled_device +EXPORT_SYMBOL drivers/md/raid6_pq 0x0bd662f6 raid6_gfmul +EXPORT_SYMBOL drivers/md/raid6_pq 0x15fe0cd3 raid6_gfexp +EXPORT_SYMBOL drivers/md/raid6_pq 0x5ba93f9d raid6_gfinv +EXPORT_SYMBOL drivers/md/raid6_pq 0xb0d904b7 raid6_empty_zero_page +EXPORT_SYMBOL drivers/md/raid6_pq 0xce45a6f1 raid6_gfexi +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0x689a5afe mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0x42af4961 mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0xa84f6956 mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x1b661090 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xe16e83bf qt1010_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 0x93e8c7ff xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0xb482052d xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x19ef21b5 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x1df5778d flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x1e2a646d flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x2f140dd3 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x39c57630 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x3a07f55c flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x66cbf0a7 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6ce832f5 flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x7f15c1c3 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x9133483b flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x97879e37 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa70da36d flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xaace0f9d flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xaf4c5258 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc1f2f5a0 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc2c4ba08 flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd6908c40 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd6974cc2 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xdfee0c9c flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xfcec248c flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00cbdc37 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c4d4a14 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c79ee0f dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x13ee8494 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x14ab1afc dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x14c136db dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x16f0683b dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1e60b7a1 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x2e75ad26 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3615e35c dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3842c7a4 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4a5ad2b0 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4b016fe5 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5908fe37 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6b00c62c dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x74a5a698 dvb_filter_pes2ts_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7774728b dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7b6bfd1d dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x80e3832d dvb_filter_get_ac3info +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x84813a02 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x893066b5 dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x939d743b dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9ba8112e dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9dc1d596 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9fc64f54 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa758a60c dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xaa493a14 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xbc0d91e1 timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcc41083f dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe20c965c dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe54b83ca dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe8074fa5 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe8827459 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xeaf34d9f dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xef28ba30 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf2031ad9 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf56739d6 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf826deb0 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x00b160c6 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x340d2b23 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x5e0cf72a dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x72d9cd12 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xc7872d54 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xdde77eb5 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xf7c57371 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x0a317d60 af9005_rc_decode +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x3693500b af9005_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xd3383957 af9005_rc_keys_size +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x07dfdbd0 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x081a466d dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x0ecb8280 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x257ab839 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x2603931c dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x3e9f3db2 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x6fdb61df dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xbaa2823c dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xc29f8369 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xcb04eda5 dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xcc9ccaff dibusb_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xcf5aaa6b dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x8e88177c af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0x39bb6fc5 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0xfab513ef cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0xbb1ec326 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0xaf64eeaa cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0xc91e17cf cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x5e638062 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x326cccf7 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xe1f6a466 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x04aaa866 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x7f142145 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xb31e3879 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0xb2d7c92e dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x29f217e5 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x8a58baab dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x91c805de dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xc05ea7c4 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xe7938c1a dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xefba8317 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x229d7cf1 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x891a4f96 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x10a4bfa2 dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x5b49f157 dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x78be2269 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x89b22ec4 dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xd3ff86b8 dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xe5e0c030 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x3992d172 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x446fb059 dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x6cb56037 dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x7c26d606 dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xe67759fd dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x4f37e3db dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x72ae4033 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x89f934b3 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xca1835cf dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0x9387d4d8 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0x26ddb478 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0x3217b69d isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0x98a5563a itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0xc32d4a64 l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0xcc017a2d lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0xcff09a60 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0x2f41f92e lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x9d8b34c6 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xdd1fefa0 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0x6ebe0027 mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0xb716335a mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0x270c35ce nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0x1f80ec9d nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0x1f5ed61b s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0xe1f5354a s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0xf9c8ac50 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0xb5c26e8d si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0x982dfc3b stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0x572ca9d1 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0xf8ca8d95 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0x7a2e6f8b stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0x5f3ed8a6 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0xd37f576c stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x11964839 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0x5af45cfa stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0xcef43203 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0xc1e3003e tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x960b9b92 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0xf76f6f98 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x87a26ba1 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0xd5731ada tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0x7c5bad88 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0x313bcae5 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0xce06f6db ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0xfa425f76 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0x024291ac zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xd2d5be71 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0xcb8a4ab5 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0xe04d4b7f ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/memstick/core/memstick 0x1586d69d memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x29aeefd5 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x2dc810d9 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0x59a4a44e memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x69a99839 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7650759f memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x886593a6 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8947184e memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8e1c48c5 memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa823ba11 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xad22d87a memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xcab02ae9 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0xdb46e650 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xedb26092 memstick_new_req +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x08ebc8d1 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0aac0add mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0abbfff7 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0ac6ee6e mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1f0d6ee4 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x21fc83dd mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x29a14970 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2e78bb08 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2f9b497b mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3b53b8de mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x49d0c4a3 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x50ab21d2 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5a4d46e7 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5fa20613 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x65188a5b mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x90e077bf mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9155f5ac mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9ba4da44 mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa4a6309f mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb718a9d5 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc0e69f82 mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc113cd9c mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc47c22e8 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xcbf041e8 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd2d9403d mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd9485245 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd9a92a75 mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdccd2efc mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xde092f7a mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf298c034 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfb2c7643 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x11728bf7 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1b89556e mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1c5019d0 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1e8dccbb mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3b4a9e20 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3fd077a6 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x41ca23d9 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4b708372 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4d3f39bd mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5d3dc0f7 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x685e1b30 mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7b1c51cb mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7cd7deae mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa04d78d6 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa53a494d mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb0a5e561 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb2946f5a mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb335d0e4 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb900753e mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc7b1e7d3 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc99f6022 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xca07079c mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd732f755 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe86e3427 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xeb064521 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xed7cc76f mptscsih_resume +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0c8ff038 i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x1b9afee0 i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x28efe199 i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x33604e7f i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x42f7eadf i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x49517ce0 i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x4fe9c777 i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x5a0dd54e i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x5f8dfc0b i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x609795b7 i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x6827af28 i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x6996b0da i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x6ac85678 i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x7733fdc0 i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x8324e921 i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb8f69e3b i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc46ea303 i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf2d38b48 i2o_parm_field_get +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x0408e139 ab3100_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x08be8d6b ab3100_event_unregister +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x48ca6848 ab3100_get_register_page_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x61ec1999 ab3100_event_register +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x84ccee37 ab3100_event_registers_startup_state_get +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x8d67fa57 ab3100_mask_and_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x95a5050b ab3100_get_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xd0262e87 ab3100_get_chip_type +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x71b42414 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xadb5572b pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mfd-core 0x2aac8a67 mfd_add_devices +EXPORT_SYMBOL drivers/mfd/mfd-core 0x43974255 mfd_remove_devices +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +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/c2port/core 0x2da244b2 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0xe3f95139 c2port_device_register +EXPORT_SYMBOL drivers/misc/ioc4 0x189a54ba ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0xa5888da7 ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x17d421ca tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x26697783 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x506f6f8d tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x660eae88 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x6e0145be tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x8b205979 tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xc61334d2 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xcddcbd45 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xd63a98f5 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xd90f4ba2 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xeb6479ca tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xf0caf6c6 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0xf89b8058 tifm_eject +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0xd1cdb4de lpddr_cmdset +EXPORT_SYMBOL drivers/net/8390 0x31f408c7 NS8390_init +EXPORT_SYMBOL drivers/net/8390 0x3b54eb64 ei_netdev_ops +EXPORT_SYMBOL drivers/net/8390 0x4a4064e1 ei_start_xmit +EXPORT_SYMBOL drivers/net/8390 0x5024301c __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/8390 0x57b0c7d3 ei_open +EXPORT_SYMBOL drivers/net/8390 0x83f62e75 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/8390 0xa56af2d3 ei_poll +EXPORT_SYMBOL drivers/net/8390 0xa84d24e6 ei_close +EXPORT_SYMBOL drivers/net/8390 0xbf141728 ei_tx_timeout +EXPORT_SYMBOL drivers/net/8390 0xcc9ec6d3 ei_get_stats +EXPORT_SYMBOL drivers/net/8390 0xdd365790 ei_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x01e16637 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x0a53e8f1 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x1d182d3b arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x23f86078 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x2723e6ce arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x2a230c78 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x2b07dbb6 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x96cb16ac arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xeacec3e2 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xedfc6eac arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xef6a16f5 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x0e7f9694 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x1272875f com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xb1d7ef97 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/bnx2 0x6e25819e bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/cnic 0xf6575d22 cnic_register_driver +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x064a8ad3 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x0cf14da7 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x17f885fe t3_l2e_free +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x24033e14 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x280fec04 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x3b71e8be cxgb3_free_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x819eb958 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x9866b0f7 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x9b3cadd6 t3_l2t_get +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xa42b640e cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xb87a6bec cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xbec31f7b t3_l2t_send_event +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xcdd1cf33 dev2t3cdev +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xd916f849 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xdc26cc3e cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xea920249 cxgb3_register_client +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x24e49bc3 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x5524d0e3 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x69a86813 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xe91c1b56 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xf7b7e6a1 hdlcdrv_arbitrate +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/pppox 0x62ddb146 register_pppox_proto +EXPORT_SYMBOL drivers/net/pppox 0x8465b818 pppox_ioctl +EXPORT_SYMBOL drivers/net/pppox 0xb068d6de pppox_unbind_sock +EXPORT_SYMBOL drivers/net/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x063ac651 tms380tr_close +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x6c97c759 tms380tr_open +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x74dc92ae tmsdev_init +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x8b4e690d tms380tr_netdev_ops +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xb5c0c1f1 tmsdev_term +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd2328794 tms380tr_wait +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd49af46e tms380tr_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x296dae59 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x31219afb ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x38f36657 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7305be74 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbe25b39d ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/atmel 0x02ed0be8 atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel 0xea45e7fe init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xf4154ef9 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1b0f328f hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1ec43986 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4a3a7e29 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x62e6bcd2 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x64d3935c prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x71b90f28 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7f55a924 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x95596276 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9968f1a6 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9ddb8830 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa597155c hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xaa62a904 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xab7638b6 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xada52f54 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xae0665fa hostap_set_hostapd +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 0xbc261e28 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xbd98d09a hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xc6baf1c6 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xc8e6a73c hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xcd15c728 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xcf127773 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe5873ee2 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe6b3bedf hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf07502b0 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf2ea1778 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf98658d1 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x0b923568 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x0c59f4a0 libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x0d9d9948 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x220ddc1e libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x39c8948a libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x4bfd1420 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x50bac49f libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x52c915b1 free_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x5ee3dd6b libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x60d0ecc9 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x65b087a5 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x710d16e5 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x728dcbac libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x922d2394 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xa1341be9 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xaa7114ec libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xbe11271e libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd238b603 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd8df8a03 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe50a0bc2 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xf0a4a3fe alloc_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x023faa2a iwl_send_statistics_request +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0294547b iwl_rx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0666c32b iwl_clear_stations_table +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0684d996 iwl_rx_replenish_now +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0952f8fa iwl_ht_enabled +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x09b0bab7 iwl_reset_run_time_calib +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x11775886 iwl_rx_missed_beacon_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x12fb4110 iwl_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x15e4abd3 iwl_rx_reply_compressed_ba +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x178cf438 iwl_set_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x179af463 iwl_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1862b7a7 iwl_remove_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x197311fb iwl_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1991b5b5 iwl_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x19f0e900 iwl_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d77b399 iwl_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1e687635 iwl_setup_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1f473518 iwl_setup_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x20ec8c39 iwl_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x22334007 iwl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x22dc4fb9 iwl_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x23da9324 iwl_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x268c0240 iwl_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x288cbe8a iwl_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2d3470e5 iwl_sta_rx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x315371ba iwl_hw_detect +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x34365e91 iwlcore_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3b03eb76 iwl_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x418dcfb5 iwlcore_eeprom_release_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x438750fa iwl_chain_noise_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x479b1988 iwl_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4bb8ec47 iwl_get_ra_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4e3f8195 iwl_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4ed1f3f2 iwl_rx_csa +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x508890df iwl_rx_reply_rx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x525a9938 iwl_tx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x53dc62b4 iwl_configure_filter +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x57cbf908 iwl_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x59ecebcc iwl_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5a53d70c iwl_leds_register +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5a5ba9e7 iwl_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5b844917 iwl_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5c281ff1 iwl_verify_ucode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5d8fad78 iwlcore_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5db40c73 iwl_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5dc39f77 iwl_set_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5eef3d82 iwl_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x615d842d iwl_rate_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x62727d56 iwl_calib_set +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x639831a1 iwl_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x64188dda iwl_free_tfds_in_queue +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x643b65d7 iwl_sta_tx_modify_enable_tid +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x66de7536 iwl_rx_pm_sleep_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6bd77265 iwl_tt_exit +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6d914afb iwl_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6ddf504a iwl_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6fbda82f iwl_get_free_ucode_key_index +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x70b731fb iwl_tt_handler +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x71599b5c iwl_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7483160a iwl_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x74f57cfb iwl_rxq_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x75ed6c5a iwl_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7653bbaf iwl_reset_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x779aebbb iwl_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x78268ddc iwl_reset_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x78976e61 iwl_isr_legacy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7aef2b16 iwl_free_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7be73a7b iwl_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7c4fe07e iwl_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7c72a0c9 iwl_update_tkip_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8028a33c iwl_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x810625ae iwl_txq_ctx_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x82508ff2 iwl_txq_check_empty +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8312af62 iwl_rf_kill_ct_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x85c07b4c iwl_leds_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8670273d iwl_hwrate_to_plcp_idx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x89b87a15 iwl_eeprom_check_version +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8bc41e5f iwl_uninit_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8c11b152 iwl_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x916db1ab iwl_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x927e424e iwl_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x93e16e57 iwl_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x95699ca3 iwl_rx_pm_debug_statistics_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x95e1cdf1 iwl_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x965bd969 iwl_find_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x96699f36 iwl_tt_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x96b320d9 iwlcore_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9a425691 iwl_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9a5021f1 iwl_hw_txq_ctx_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9a60af0b iwl_bg_scan_check +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9a7c5281 iwl_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9ae8106f iwl_mac_get_tx_stats +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9c09eacf iwl_tx_ant_restriction +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9cde1f24 iwl_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9e86e8e0 iwl_bg_abort_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9f34f7f2 iwl_rx_reply_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa195301e iwl_send_calib_results +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa3152679 iwl_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa4983430 iwl_activate_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa762128b iwl_rxon_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaad0846e iwl_bg_scan_completed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xac09e472 iwl_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xae35c664 iwl_sensitivity_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaea95953 iwl_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaf1d9eb9 iwl_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb0ccf8bd iwl_hw_nic_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb16558ba iwl_alloc_all +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb40e9457 iwl_get_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb5acc4b6 iwl_send_static_wepkey_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xba00637f iwl_alloc_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbacda4b2 iwl_hwrate_to_tx_control +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbb536155 iwl_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbe5bbce0 iwl_mac_beacon_update +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc2c1be76 iwl_sta_rx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc43f722e iwl_rx_statistics +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc6a0ce06 iwl_set_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc7d28c04 iwl_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcab41a13 iwl_is_monitor_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcbaf4931 get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xce02df0c iwl_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xce078b99 iwl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd5da1533 iwl_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd7034329 iwl_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xda983fe2 iwl_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdadf8c89 iwl_tx_queue_reclaim +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdaf7f60b iwl_disable_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xde7ed18f iwl_eeprom_get_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe478cbdb iwl_tt_exit_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe4afc486 iwl_init_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe6f8babb iwlcore_eeprom_enhanced_txpower +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe7ce5d70 iwl_rates +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe924795d iwl_rx_replenish +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xeacac31c iwl_tt_enter_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xeb5dad29 iwl_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xebd45f31 iwl_tx_skb +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xed1d165c iwl_rx_queue_restock +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xefb957da iwlcore_eeprom_acquire_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf113e4cf iwl_set_rxon_chain +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf1851848 iwlcore_eeprom_verify_signature +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf24af5ca iwl_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf5e2a53b iwl_set_hw_params +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf6d05ec5 iwl_init_sensitivity +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf8073a93 iwl_rx_reply_rx_phy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfc6d1ea6 iwl_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfcccce70 iwl_remove_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfcfe9c2b iwl_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfe27e7e2 iwl_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xff0450f2 iwl_tx_agg_start +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x3b54d8a2 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4196c38b hermes_write_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4c8bc7b5 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x5477720e free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x6a927e18 orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x6ff65f6d orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa031d8e4 hermes_doicmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xb868d478 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xba7ee782 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc60b5e9e hermes_bap_pwrite +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xcbe33501 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd38d8ae2 hermes_read_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd3f714e5 hermes_bap_pread +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5168829 hermes_allocate +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5336e5d hermes_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd54e219d hermes_docmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xed47b224 hermes_struct_init +EXPORT_SYMBOL drivers/pps/pps_core 0x1a5ae581 pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0x1e145952 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0xe6a16116 pps_event +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x00b44dba fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x1d1b7c9d fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x269d9827 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x5d0d5cae fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xa11c8c88 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xada66d87 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xcbc2d111 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00d3fb30 fc_fcp_ddp_setup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0347e32d fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0411056e __fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x076a0909 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0b1cecf6 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1bb46f65 fc_seq_els_rsp_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x27a07390 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2a9845b5 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x31879313 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x344a7ae0 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3eace2b1 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x40909132 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x40939b5f fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4422e1b0 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x56183917 fc_destroy_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x585f8523 fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5f577b5c fc_exch_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6080dc52 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x67750428 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6781def8 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x69ebeec3 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6ed629d6 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x778980c1 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x790f57ba fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8dc3685c fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x96db33f5 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa8372742 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa8d75b21 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaa7ce63b fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xabd8e275 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xad6fde2e fc_get_host_port_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb7301bdc fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb9468089 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb99f3313 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbdd113d4 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc58e9b47 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc65eba3e fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcb91b9e7 fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcefdcbe3 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd6cb3359 fc_setup_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd81068b9 fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdacdecd9 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdbec21b7 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdffba745 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe748d5c1 fc_fcp_complete +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf7365d60 fc_seq_exch_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfefb47cc fc_exch_mgr_del +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 0xb5efbd56 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x265ca6e6 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x442678a9 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x48932570 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x490d5c77 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x701b6041 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x84dd763c scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa466c0c3 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa579ed1d fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe4003930 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf3189973 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf34da03b fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xfe9653e3 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x08a639de scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x18a082fe sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1ec904bb sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3ee770df sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x42fbdbb7 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4a653cea sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6ddcf638 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7d467fa4 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7f37a229 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x82f6adf3 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x940fd0ab sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x950b7725 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9a16e787 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa3ed4012 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xaeeb5736 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb119a03c scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb1318e01 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb57d190c sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc2800a36 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc910b43f sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xcab07e6e sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xcd0cdb03 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe612a36a sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf02f09de scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf25e008b sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf2ef2f45 sas_rphy_remove +EXPORT_SYMBOL drivers/serial/8250 0x52175c93 serial8250_register_port +EXPORT_SYMBOL drivers/serial/8250 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL drivers/serial/8250 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL drivers/serial/8250 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL drivers/ssb/ssb 0x01a5bc87 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x0e9f2bad ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x19b466a5 ssb_dma_alloc_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0x373af2e4 ssb_dma_set_mask +EXPORT_SYMBOL drivers/ssb/ssb 0x47e90d51 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x52acad41 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x559edf03 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x579afc48 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x696e460e ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x9bcc3fc2 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x9f765694 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xba4bbc79 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xc101ba73 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0xcf27b567 ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xd53e16b1 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xdc2a26f5 ssb_dma_free_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0xdeab4a69 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xe24eeb45 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xea9ea9bd ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0xec9f34b7 ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xeccdc4e7 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xed642a00 ssb_driver_unregister +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x0e655aa3 iio_class +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x196c22a3 iio_push_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x3d77575c __iio_change_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x439d0167 iio_free_device +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x4e3b12ca iio_unregister_interrupt_line +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x739ae300 iio_devt +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x816eaddc iio_device_register +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x84a5ce70 iio_device_unregister +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x85f6f948 iio_allocate_device +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x98267333 iio_remove_event_from_list +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xbf0f3065 __iio_push_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xcda27160 iio_free_idr_val +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xe9784f42 iio_get_new_idr_val +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xeca2294d iio_read_const_attr +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xf64ae03f iio_add_event_to_list +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xf8156343 iio_register_interrupt_line +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x2950f711 variax_remove_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x4bab34ff pod_remove_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x7092de60 pod_create_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0xd573b8c3 variax_create_files +EXPORT_SYMBOL drivers/staging/rar/rar_driver 0xf8017f03 get_rar_address +EXPORT_SYMBOL drivers/staging/vme/vme 0x00d7e722 vme_lm_count +EXPORT_SYMBOL drivers/staging/vme/vme 0x072f901c vme_master_rmw +EXPORT_SYMBOL drivers/staging/vme/vme 0x08ead735 vme_master_request +EXPORT_SYMBOL drivers/staging/vme/vme 0x0e10859d vme_lm_get +EXPORT_SYMBOL drivers/staging/vme/vme 0x0e32a330 vme_request_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0x0ec5babe vme_dma_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x251b9ed8 vme_slave_set +EXPORT_SYMBOL drivers/staging/vme/vme 0x398b03fe vme_unregister_driver +EXPORT_SYMBOL drivers/staging/vme/vme 0x3d1af350 vme_dma_pci_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0x3f68d4cf vme_lm_set +EXPORT_SYMBOL drivers/staging/vme/vme 0x44846485 vme_dma_list_add +EXPORT_SYMBOL drivers/staging/vme/vme 0x48b99a13 vme_lm_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x50fa5866 vme_new_dma_list +EXPORT_SYMBOL drivers/staging/vme/vme 0x5b79528f vme_request_dma +EXPORT_SYMBOL drivers/staging/vme/vme 0x66227eae vme_alloc_consistent +EXPORT_SYMBOL drivers/staging/vme/vme 0x76bab4d4 vme_master_set +EXPORT_SYMBOL drivers/staging/vme/vme 0x7797a741 vme_dma_vme_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0x7cf35220 vme_master_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x7fde2edb vme_master_read +EXPORT_SYMBOL drivers/staging/vme/vme 0x8e12daf0 vme_unregister_bridge +EXPORT_SYMBOL drivers/staging/vme/vme 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL drivers/staging/vme/vme 0x93dff61f vme_slave_get +EXPORT_SYMBOL drivers/staging/vme/vme 0x94b2590f vme_free_consistent +EXPORT_SYMBOL drivers/staging/vme/vme 0x954cdb9d vme_slot_get +EXPORT_SYMBOL drivers/staging/vme/vme 0x9aeb07e8 vme_lm_attach +EXPORT_SYMBOL drivers/staging/vme/vme 0x9c50cf04 vme_dma_list_exec +EXPORT_SYMBOL drivers/staging/vme/vme 0xa4dbed16 vme_register_bridge +EXPORT_SYMBOL drivers/staging/vme/vme 0xaa4333e8 vme_bus_type +EXPORT_SYMBOL drivers/staging/vme/vme 0xb7f31567 vme_register_driver +EXPORT_SYMBOL drivers/staging/vme/vme 0xc07d1ef3 vme_slave_request +EXPORT_SYMBOL drivers/staging/vme/vme 0xc8352002 vme_dma_pattern_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0xd3448224 vme_lm_request +EXPORT_SYMBOL drivers/staging/vme/vme 0xd60268f5 vme_dma_list_free +EXPORT_SYMBOL drivers/staging/vme/vme 0xd797b9a5 vme_master_write +EXPORT_SYMBOL drivers/staging/vme/vme 0xdff905e5 vme_slave_free +EXPORT_SYMBOL drivers/staging/vme/vme 0xe60cbb2f vme_master_get +EXPORT_SYMBOL drivers/staging/vme/vme 0xe693a6ce vme_get_size +EXPORT_SYMBOL drivers/staging/vme/vme 0xe7da370a vme_generate_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0xebd0fa26 vme_free_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0xeccbeafc vme_dma_free_attribute +EXPORT_SYMBOL drivers/telephony/ixj 0x0a562462 ixj_pcmcia_probe +EXPORT_SYMBOL drivers/telephony/phonedev 0x2c02446b phone_unregister_device +EXPORT_SYMBOL drivers/telephony/phonedev 0x56fcf748 phone_register_device +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x0dfd2ee7 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/usbserial 0x41cfe460 usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xb2d6dab6 usb_serial_suspend +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0xc86baa7c corgibl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x5bd9568f lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xe9da6c2d lcd_device_register +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x58b772d5 cyber2000fb_get_fb_var +EXPORT_SYMBOL drivers/video/cyber2000fb 0x62869922 cyber2000fb_attach +EXPORT_SYMBOL drivers/video/cyber2000fb 0xcc137b81 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0xce2cf2c1 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/display/display 0xce2a87ab display_device_unregister +EXPORT_SYMBOL drivers/video/display/display 0xe41cb677 display_device_register +EXPORT_SYMBOL drivers/video/macmodes 0x08ed0b62 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/macmodes 0xd43c26a2 mac_find_mode +EXPORT_SYMBOL drivers/video/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x4633103a g450_mnp2f +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x75b2bf6f matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0xf99471c8 matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x33598e37 matrox_G100 +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x8889b02e matrox_mystique +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xa08f0caf DAC1064_global_restore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xabc9c45d DAC1064_global_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_Ti3026 0x93ba1c68 matrox_millennium +EXPORT_SYMBOL drivers/video/matrox/matroxfb_accel 0x2ebe2a30 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x12ba581c matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x21e9fcb5 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x6596c31a matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xc3ff502d matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x1dc7c168 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0xc1afcf0d matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x14cfc5cc matroxfb_read_pins +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x3c5cd864 matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x7edb0624 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x8d393910 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x9f35d6ba matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xabd8e427 matroxfb_var2my +EXPORT_SYMBOL drivers/video/output 0xeb22bb6a video_output_unregister +EXPORT_SYMBOL drivers/video/output 0xff6f6e52 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 0x00d1fce9 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/svgalib 0x07b3da30 svga_wseq_multi +EXPORT_SYMBOL drivers/video/svgalib 0x0fa2c204 svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0x1b95c56a svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x2881ca61 svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0x63e898d1 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/svgalib 0x73fb175f svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0x7a3ae959 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x80408443 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0x8fa8438b svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/svgalib 0xa12be525 svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0xab3b22ad svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/svgalib 0xc85c9542 svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0xc92eca1d svga_tileblit +EXPORT_SYMBOL drivers/video/svgalib 0xd246ecc3 svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0xdad682b1 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/svgalib 0xec83c473 svga_match_format +EXPORT_SYMBOL drivers/video/svgalib 0xef774f5d svga_compute_pll +EXPORT_SYMBOL drivers/video/syscopyarea 0xa9898c83 sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0x2a68080c sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0xb4b08baf sys_imageblit +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x39c560ed w1_bq27000_write +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0xf64f31d3 w1_bq27000_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x0eba9152 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x43c1f966 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x467dc0f9 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x66c2495e w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/wire 0x2a468345 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x42841c9a w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xe220b69f w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0xefe8b952 w1_unregister_family +EXPORT_SYMBOL fs/configfs/configfs 0x52616088 config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0x52662026 configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x570e77bd configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0x6274aecf config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x89696ba2 configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x8fad5827 config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0xd4557837 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xd593b919 config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0xd66bda53 config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0xd976d844 config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0xf9de6b7f config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xfaaad5a3 config_item_put +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x169d2efa fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x1ac74b41 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x2e130e16 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0x2ee5b4ff fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x305a5127 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x367efd2e fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x37b116ff __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x411cbb68 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x4138e8f9 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x49260749 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x496932b9 fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x51c063b7 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x5f735588 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x661bb22d fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x69c9046d __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x868905ed fscache_object_slow_work_ops +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x8b001ea0 __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xa0260920 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xaaefa6c8 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0xbf17b872 fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0xc0abbf06 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xd780062d __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xdae130ce fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xe3e5d2e0 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0xebd812a8 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0xee40e64b __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xf107ac10 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xf90bd124 __fscache_attr_changed +EXPORT_SYMBOL fs/nfsd/nfsd 0x0e195c1c nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/nfsd/nfsd 0x2095976a nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0x28fb929b nfs4_acl_posix_to_nfsv4 +EXPORT_SYMBOL fs/nfsd/nfsd 0x35e33c1e nfs4_acl_write_who +EXPORT_SYMBOL fs/nfsd/nfsd 0x5a157ae4 nfs4_acl_get_whotype +EXPORT_SYMBOL fs/quota/quota_tree 0x07c79f50 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x2d9efc04 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x4c66b0aa qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x80a49dd6 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xac474abe qtree_entry_unused +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/libcrc32c 0x27000b29 crc32c +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 0xf0caf44b zlib_deflate_workspacesize +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL net/802/p8023 0x0907545d make_8023_client +EXPORT_SYMBOL net/802/p8023 0x4bab0573 destroy_8023_client +EXPORT_SYMBOL net/9p/9pnet 0x06b04ecb p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x0b11ff5a p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0x3194730b p9_client_auth +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x451b3eb7 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x4783e6c0 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x4fa0def9 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x51d1e99a p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x5220c0e6 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x5ee047c5 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x6b754e6f p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x6f230b67 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x707165bd p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x707fa3dc p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x7310a66f p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0x76b79bf1 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x8a345b50 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x8f34fe15 p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0x99a7f30f p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0x99aa7841 p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x9acde21c p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xa447d6d1 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xb2a44baf p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0xb8cbc599 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0xbd8cca47 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0xce07b413 p9_client_version +EXPORT_SYMBOL net/9p/9pnet 0xd331fc1d p9pdu_dump +EXPORT_SYMBOL net/9p/9pnet 0xd74ec547 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe66e2d65 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0xefa5094a v9fs_register_trans +EXPORT_SYMBOL net/ax25/ax25 0x15cfc7c9 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x1d66a7c6 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x23597d27 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x3d2d82ec ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x564d9f14 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xbdd815bd ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xc317eaa8 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0xce1ea0e6 ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0xcfee35aa ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xd6119f95 ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0xe23b83c8 ax25_header_ops +EXPORT_SYMBOL net/bridge/bridge 0x48fc2879 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x7a57329f ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x946241c6 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xc497d5a5 ebt_do_table +EXPORT_SYMBOL net/can/can 0x164ad585 can_proto_register +EXPORT_SYMBOL net/can/can 0x6c5ce7d3 can_send +EXPORT_SYMBOL net/can/can 0x87f947dd can_rx_register +EXPORT_SYMBOL net/can/can 0x9a42c5b1 can_proto_unregister +EXPORT_SYMBOL net/can/can 0xf315415a can_rx_unregister +EXPORT_SYMBOL net/ieee802154/nl802154 0x168e25f5 ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x53068fee ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0x584c2aaf ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0xb30537b3 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0xcf5d01e0 ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0xe3201f57 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0xf31e5100 ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/wpan-class 0x165e807e wpan_phy_find +EXPORT_SYMBOL net/ieee802154/wpan-class 0x2d7048c4 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/wpan-class 0x75f3ed62 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/wpan-class 0xa0c6e6ab wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/wpan-class 0xb86ed85b wpan_phy_unregister +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x1f93fc60 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x5a5b27b1 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xb52c48d8 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x0e2d54aa ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x7ee5a778 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xa091d0ab ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x2c7f0f27 nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x9aafc108 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xa6f456b2 nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xae7337e1 nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xee07e93b nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xfca66ab2 nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xfe6072b7 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/tunnel4 0x09ee0747 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xe80e1b4b xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x31158241 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x48d32e42 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x5574c002 ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x621be50c ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb8bddf33 ip6t_ext_hdr +EXPORT_SYMBOL net/ipv6/tunnel6 0x71be46fd xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0xdd5589c9 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x9cd013f2 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xab14e193 xfrm6_tunnel_free_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xdb1b42d1 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/mac80211/mac80211 0x08c4261b ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x0aafd1a4 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x0c8352f1 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x0fae7105 ieee80211_start_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0x10b7b3f1 ieee80211_beacon_get +EXPORT_SYMBOL net/mac80211/mac80211 0x13051604 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x14bf1981 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x1549d23a ieee80211_get_tkip_key +EXPORT_SYMBOL net/mac80211/mac80211 0x32686927 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x3dd67455 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x3e4e602a ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x4059dd15 ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x4a189f5c wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x4d6439e2 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x4f33ba81 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x57459b6d ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x575da82c ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x5dd2c1ff ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x5eb33b9f ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x6535c0e8 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x65e7bbb6 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x673ba020 ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0x6bd28108 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x77141095 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x7edbe937 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x8302d298 ieee80211_stop_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0x830f1b08 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x8589fe59 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x8cf92cfb ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x8e95438f ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x95ec3662 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x9629fcf9 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xa5e6e8c1 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xa62289ef ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xad69b03e ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xc72fe15f __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xddb83b74 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xe8abe42d ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xee550682 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xf139eaf1 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0xfd064eac ieee80211_queue_work +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x2412dc7c unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4355ce14 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x5f6bc069 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x692f7d80 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x96eb4df3 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa1dbc2d8 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa330faf5 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb917f16f register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xbd919e26 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd3b79ff8 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe4abca98 ip_vs_skb_replace +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xea36fc72 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x673595d3 __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xa72f0194 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0xae654c6d nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x16a5e826 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x4b903717 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x6d081737 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x712a67e7 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0xa3219ab0 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xbc77c74b xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xc1db31c7 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xc3ff5dff xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xe86689db xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xecc95976 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0xef977d11 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xf1e8494a xt_find_target +EXPORT_SYMBOL net/phonet/phonet 0x04f6d30b phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x0708cefb pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x54de3643 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x751f26da pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x8844fa16 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x9e2f1843 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x9f30ff21 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0xa9adf415 phonet_proto_unregister +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x12324e69 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x147ca879 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x1d76b040 rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x3e076bbb rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x41e67095 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x48fae4f8 rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x4a47c828 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x52626a7a rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x55c34312 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x65549a24 rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x7b027f88 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x8378c968 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x8c7bbcbb rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xa8ce87b0 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xc06fc5f7 rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/sunrpc/sunrpc 0xe5e31c23 svc_pool_stats_open +EXPORT_SYMBOL net/wimax/wimax 0xcce5a8b8 wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0xed63247b wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x01d4ba26 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x04775aa8 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x07e7ac5a ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x090546a5 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x0c623150 cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1d28696d wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x31b57720 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x37ac8d05 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x37f046cc cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x399270c5 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x4fa33cd7 cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0x55a07e3d wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x605fafcf cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x717526a7 cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x73892b11 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x81affc01 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x82459d44 __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x8278b0e8 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x8bcb666f wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x8c35d732 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x90eb5e02 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x971f9197 wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x9e7cde9c cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xb4560984 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xb51c6179 cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0xb8b19c7b cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0xc2017168 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xc4e85ec5 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xc7966eb0 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xc931a03d ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0xcb6555b2 cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0xccc291b3 ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0xd74bf3f7 cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xd9fcb60c ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0xda15c6b3 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xddf8dbc4 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xe56f8516 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0xe5ed0ce7 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xe70986e2 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0xf00d3056 cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0xf71f851c cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xf7fd2d67 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0xfd654605 freq_reg_info +EXPORT_SYMBOL net/wireless/lib80211 0x03997daf lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x230f3ffb lib80211_crypt_deinit_handler +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x41ec02ad lib80211_crypt_deinit_entries +EXPORT_SYMBOL net/wireless/lib80211 0x6a9caaab lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x72abd401 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x75abac3f lib80211_crypt_quiescing +EXPORT_SYMBOL net/wireless/lib80211 0x7c7fd4f4 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x7e4ccb20 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0xcbb5d8b1 lib80211_crypt_info_init +EXPORT_SYMBOL sound/ac97_bus 0x28078673 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0xc8685765 snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/snd 0x0212c343 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0x03382d9b snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x0a3a1cc0 snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0x0b677db7 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x0ee7771d snd_device_free +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x24344948 snd_device_register +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x2609f6e2 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x27f32239 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x3717634a snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x37bfcc65 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x393c6e68 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x41bfc4da snd_card_register +EXPORT_SYMBOL sound/core/snd 0x4719764f snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x47b8b497 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x51c88a6e snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x58135c45 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0x59b278a0 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x5bb4e85a snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x5be190df snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x5d46d7ec snd_device_new +EXPORT_SYMBOL sound/core/snd 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x62171b29 snd_component_add +EXPORT_SYMBOL sound/core/snd 0x647a9181 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x64dda487 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x6c00e717 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x74cad64d _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0x776ee022 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x804931c5 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x865e53c2 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x92ee916a snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x9669e348 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x96a469f4 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0x9a7937f1 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xa2effb61 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0xa912e5c3 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0xabeba497 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb5f4eaf9 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0xc487ed3e snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0xcb9adc8a snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0xcbb1a51e snd_card_create +EXPORT_SYMBOL sound/core/snd 0xce3ca308 copy_from_user_toio +EXPORT_SYMBOL sound/core/snd 0xd1157735 release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0xd2366314 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0xd3df3061 snd_card_free +EXPORT_SYMBOL sound/core/snd 0xd651e8a7 snd_cards +EXPORT_SYMBOL sound/core/snd 0xd72cd7ae snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0xd9a9e8a8 snd_info_register +EXPORT_SYMBOL sound/core/snd 0xe20c9214 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0xfa63eb25 snd_power_wait +EXPORT_SYMBOL sound/core/snd-hwdep 0xfc6b833a snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x3b91f3af snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x6bd150bc snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x960b772f snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xade88e76 snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xb5368f4c snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0xcd9d574c snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0xe19b9663 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 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x2127276c snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x214418bd snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x2479cb54 snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0x2f59803a snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x36ba5012 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x395e287f snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x3cee44ab snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x483a2765 snd_pcm_hw_param_first +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 0x511d4e69 snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x57f0d7d3 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x58997429 snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x5f346e40 snd_pcm_release_substream +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 0x69d8f3e1 snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x7ad22213 snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0x7f3ada95 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x7fdc2135 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0x842fbc7b snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x869c74f1 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x8e933db9 snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0x90fcaad7 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x943dc315 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x99338f81 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x99a81eb5 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x9f826591 snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0xa154986b snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0xa5a1dbb1 snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xa723a93f snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0xaafc0ed0 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0xb076c0c5 snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0xb93728f5 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xc2f8a2de snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0xc89953bf snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xd0b9b8b8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0xd2f92a50 snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xdcd84f61 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xe79a3f25 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xf611151e snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xf6b8c9fc snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-rawmidi 0x087b9045 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2939b285 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2eef35b8 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x35ac2404 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x35ba8045 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x36e67bc9 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4258985f snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5d96890f snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x793aada4 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7d33d1d4 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7d361a3c snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xabbcd154 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xacb88f0d snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb3e8f855 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbde14463 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc3371ec2 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe1be9b79 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-timer 0x0e8bfbc0 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x320ff9c4 snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0x344a276b snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0x5a38aba4 snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x8907753a snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0x99d82c5a snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0xa5548268 snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0xb9aa842b snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0xbcf87c6e snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0xdbf19f1a snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0xdf1c789e snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0xeb204c39 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0xf49b1a7f snd_timer_close +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x4bbb7f27 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d4f158f snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc43a3940 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x1368502f snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x5f1cfd67 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x6d1d400e snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xa90046c2 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xe9925365 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf6038853 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xfd6681f0 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x43353334 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x48edc5fa snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x6053c012 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x895985df snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x94453ca0 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x99b88ede snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xa14d2ca6 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xbd5cad9d snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xcf0ebabf snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xdc85f843 snd_vx_setup_firmware +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x1f87bf33 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x42d18038 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x437a71d2 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xa04d984b snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xe5a4ad00 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xf9495630 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x502924e3 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x61fc9602 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xac39f96e snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xdc0a4a48 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x2ffc79a9 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x53f7284f snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x81dfe6f5 snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xa98ebe48 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xbe4880cd snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xc2218e9a snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xc445e77a snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-i2c 0x4e46f536 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0x4f0aeb09 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x7c1af134 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x7c8a8911 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x8ac6e056 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x950e7da5 snd_i2c_probeaddr +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1e6cef5f snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x28669647 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x35791c52 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x409d8e7a snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6131c5a9 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x66347cac snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x68f928cf snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7ae60c32 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7e162141 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8f4152e3 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xbec2ea5d snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc0e12b34 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd2973f92 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd3402429 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe6bf7564 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe95ceb5b snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xea69d393 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x13e1eb20 snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x1c651944 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x6083abc4 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x60a64bb4 snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x74170ea7 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x8c6c2454 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa2414aa2 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xe56028f7 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xec446d8c snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0xe1e49c4e snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x0b19cbe7 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x1a51bd88 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x4be98a28 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1688e182 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x25af839a oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2c1f8b99 oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x3a0eea88 oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4c1fb87f oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x64e683e1 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x65ce12b4 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x755bf386 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7ec013b1 oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x98b9a3af oxygen_pci_resume +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9de9eb7a oxygen_pci_suspend +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa09c23a2 oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb61e1ea3 oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc1d54c0b oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xcfb46a2d oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd6f25618 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xdef4e934 oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf4a7f91b oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf930eb45 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xfb3e0136 oxygen_pci_remove +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x142bb6cd snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x453ae941 snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x8bd5e355 snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xc6b7fb3b snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xefdc091c snd_trident_start_voice +EXPORT_SYMBOL sound/soc/codecs/snd-soc-uda134x 0x7dd4fe5e uda134x_dai +EXPORT_SYMBOL sound/sound_firmware 0x39e3dd23 mod_firmware_load +EXPORT_SYMBOL sound/soundcore 0x0cfed660 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x1bb6b8a7 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x3309f2ad register_sound_special +EXPORT_SYMBOL sound/soundcore 0x786a6c13 register_sound_midi +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x8cf57ebc sound_class +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0x9cb463bb register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/snd-util-mem 0x01e234f2 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x0895e1a9 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x15cfaea4 snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x2ba29873 snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0x45c2abb1 snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x5d2130f4 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xab810f2e __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xb2676a58 snd_util_mem_free +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x1e782fb0 snd_usb_create_midi_interface +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usb-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x0e255b70 dm_mem_cache_client_create +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x4263f6d6 dm_mem_cache_client_destroy +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x68f455c9 dm_mem_cache_grow +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x920a7a41 dm_message_parse +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x92734834 dm_mem_cache_shrink +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0xa1379dfb dm_mem_cache_free +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0xf68ebb23 dm_mem_cache_alloc +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x28dfea68 lirc_register_driver +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x5231d45e lirc_get_pdata +EXPORT_SYMBOL vmlinux 0x00000000 fp_printk +EXPORT_SYMBOL vmlinux 0x00000000 fp_send_sig +EXPORT_SYMBOL vmlinux 0x00000000 kern_fp_enter +EXPORT_SYMBOL vmlinux 0x00000000 per_cpu__softirq_work_list +EXPORT_SYMBOL vmlinux 0x000eec0d init_task +EXPORT_SYMBOL vmlinux 0x00164b27 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x004a143e clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x005c9113 ps2_command +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x00b177ec splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0x00b933de inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL vmlinux 0x00e8097b csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x00eef49e __strnlen_user +EXPORT_SYMBOL vmlinux 0x00f9b3b1 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x01482235 pci_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0x01591f61 ____pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x0160ec06 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x016ab59c tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x01a4aab6 set_irq_chip_data +EXPORT_SYMBOL vmlinux 0x01a710fe fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x01c53cf3 mdiobus_register +EXPORT_SYMBOL vmlinux 0x01e05a68 load_nls +EXPORT_SYMBOL vmlinux 0x020627ac vfs_statfs +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x02196324 __aeabi_idiv +EXPORT_SYMBOL vmlinux 0x0222461d do_splice_to +EXPORT_SYMBOL vmlinux 0x024594ba dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x02640ca1 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x027d6218 journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x0298c28a jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02abccc3 dquot_commit +EXPORT_SYMBOL vmlinux 0x02ac9c53 __elv_add_request +EXPORT_SYMBOL vmlinux 0x02ba6f55 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x02c8317c bio_copy_user +EXPORT_SYMBOL vmlinux 0x02eb24ef write_inode_now +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x031487b0 dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x0337973e pid_task +EXPORT_SYMBOL vmlinux 0x033f6f27 tcp_poll +EXPORT_SYMBOL vmlinux 0x0350e2f4 up_read +EXPORT_SYMBOL vmlinux 0x036c3ee6 bio_copy_kern +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03a54d97 dma_mark_declared_memory_occupied +EXPORT_SYMBOL vmlinux 0x03b9bc69 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03c86379 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x03ce56e3 dev_open +EXPORT_SYMBOL vmlinux 0x03fa11a2 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x0400429e set_irq_chip +EXPORT_SYMBOL vmlinux 0x0400b644 ilookup5 +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x043b8483 __kfifo_get +EXPORT_SYMBOL vmlinux 0x0446e70f vfs_symlink +EXPORT_SYMBOL vmlinux 0x045e795c amba_request_regions +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x04ed04f7 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x04ff5035 dm_register_target +EXPORT_SYMBOL vmlinux 0x051e084e i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x054124b6 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x0552a3fc inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x0554b572 fb_find_mode +EXPORT_SYMBOL vmlinux 0x055802ff inet_bind +EXPORT_SYMBOL vmlinux 0x056584a9 pci_assign_resource +EXPORT_SYMBOL vmlinux 0x057ce975 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x05a07305 drop_super +EXPORT_SYMBOL vmlinux 0x05d6674f splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0x05d6f38c tcf_em_register +EXPORT_SYMBOL vmlinux 0x05e996ec __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x05ebfbbc bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x06090de7 __sg_free_table +EXPORT_SYMBOL vmlinux 0x0609a075 pci_clear_master +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x06184902 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x0618e633 dump_fpu +EXPORT_SYMBOL vmlinux 0x061efd7e tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x06239bf2 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x062aba95 mempool_free +EXPORT_SYMBOL vmlinux 0x064e3439 kobject_set_name +EXPORT_SYMBOL vmlinux 0x0654c3cf unlock_buffer +EXPORT_SYMBOL vmlinux 0x066b559f phy_disable_interrupts +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x06b60306 tty_throttle +EXPORT_SYMBOL vmlinux 0x06b8a46e netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x06d728b1 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x06d8bae1 idr_get_new +EXPORT_SYMBOL vmlinux 0x06f2d33f journal_init_dev +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x0709803a free_netdev +EXPORT_SYMBOL vmlinux 0x070c78fb __alloc_skb +EXPORT_SYMBOL vmlinux 0x0747daf4 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x075727d6 mmc_host_disable +EXPORT_SYMBOL vmlinux 0x075a43b1 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x076a5184 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x0794da02 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x0799c50a param_set_ulong +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 0x07f5e8e1 try_to_release_page +EXPORT_SYMBOL vmlinux 0x07fb6792 vfs_get_dqblk +EXPORT_SYMBOL vmlinux 0x081a8ab1 ethtool_op_set_ufo +EXPORT_SYMBOL vmlinux 0x082b8f7f pci_enable_device +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x0833de84 do_sync_write +EXPORT_SYMBOL vmlinux 0x0862a895 fb_set_var +EXPORT_SYMBOL vmlinux 0x08728140 malloc_sizes +EXPORT_SYMBOL vmlinux 0x08773744 generic_read_dir +EXPORT_SYMBOL vmlinux 0x087a21fe mnt_pin +EXPORT_SYMBOL vmlinux 0x088c61e2 sock_init_data +EXPORT_SYMBOL vmlinux 0x089ce0ee sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x08b35093 fb_show_logo +EXPORT_SYMBOL vmlinux 0x08d174b5 vfs_read +EXPORT_SYMBOL vmlinux 0x08d66a3a warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x0908a70c block_prepare_write +EXPORT_SYMBOL vmlinux 0x090e0471 vfs_mknod +EXPORT_SYMBOL vmlinux 0x091379ea ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0x09144253 sysctl_string +EXPORT_SYMBOL vmlinux 0x092b007a sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x095573b2 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x095bb830 down_interruptible +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x0994d6e3 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x09b798f9 init_special_inode +EXPORT_SYMBOL vmlinux 0x09b96c8c remove_proc_entry +EXPORT_SYMBOL vmlinux 0x09ba8377 scsi_reset_provider +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09d8ad67 sk_filter +EXPORT_SYMBOL vmlinux 0x09e08173 d_validate +EXPORT_SYMBOL vmlinux 0x0a0ff8d8 inet_getname +EXPORT_SYMBOL vmlinux 0x0a1bebc5 kernel_execve +EXPORT_SYMBOL vmlinux 0x0a1f204a dquot_claim_space +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a4747ff allocate_resource +EXPORT_SYMBOL vmlinux 0x0a4d2f3a dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x0a59d116 mpage_readpage +EXPORT_SYMBOL vmlinux 0x0a6eb641 mmc_cleanup_queue +EXPORT_SYMBOL vmlinux 0x0a7227c0 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x0a7859ab inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0x0a90dc50 do_SAK +EXPORT_SYMBOL vmlinux 0x0aa13d05 __raw_readsw +EXPORT_SYMBOL vmlinux 0x0aacbac5 __blk_end_request +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0addeeef scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b147935 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x0b199534 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b5f2d2c sg_next +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b878f64 mddev_congested +EXPORT_SYMBOL vmlinux 0x0b96a991 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x0bbba273 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x0bdaf780 inode_init_once +EXPORT_SYMBOL vmlinux 0x0beab1ce inet_ioctl +EXPORT_SYMBOL vmlinux 0x0c03132a tty_insert_flip_string +EXPORT_SYMBOL vmlinux 0x0c3a70f2 simple_rename +EXPORT_SYMBOL vmlinux 0x0c47f306 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x0c518bf2 rt6_lookup +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c76e015 serio_close +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0c95b16b netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0caef94d __netdev_alloc_page +EXPORT_SYMBOL vmlinux 0x0cd150c7 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x0cd8d82c thaw_process +EXPORT_SYMBOL vmlinux 0x0cdbdc00 fb_get_mode +EXPORT_SYMBOL vmlinux 0x0ce0781a jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x0cfbc1a3 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x0d0fe2f4 down_trylock +EXPORT_SYMBOL vmlinux 0x0d3966e0 release_sock +EXPORT_SYMBOL vmlinux 0x0d3def21 idr_pre_get +EXPORT_SYMBOL vmlinux 0x0d3f57a2 _find_next_bit_le +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d5e05c8 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x0d73b8d9 alloc_hippi_dev +EXPORT_SYMBOL vmlinux 0x0d85e6f3 revalidate_disk +EXPORT_SYMBOL vmlinux 0x0d8f19f4 open_bdev_exclusive +EXPORT_SYMBOL vmlinux 0x0d9899c6 udp_disconnect +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0dc7b10e dma_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x0de4f8f9 get_sb_pseudo +EXPORT_SYMBOL vmlinux 0x0decb38a md_check_recovery +EXPORT_SYMBOL vmlinux 0x0e295bc5 blk_stop_queue +EXPORT_SYMBOL vmlinux 0x0e2cde27 proc_dostring +EXPORT_SYMBOL vmlinux 0x0e3bcf99 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x0e4e68b9 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x0e52592a panic +EXPORT_SYMBOL vmlinux 0x0e5a4712 pci_choose_state +EXPORT_SYMBOL vmlinux 0x0e5e6c32 invalidate_inodes +EXPORT_SYMBOL vmlinux 0x0e5f39d6 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x0e8a21be rfkill_alloc +EXPORT_SYMBOL vmlinux 0x0eaa18d4 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x0ebaee23 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x0ebc9885 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x0f1b04b4 blk_run_queue +EXPORT_SYMBOL vmlinux 0x0f1ef871 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x0f21212e zero_fill_bio +EXPORT_SYMBOL vmlinux 0x0f446b10 request_key_async +EXPORT_SYMBOL vmlinux 0x0f560bb6 dm_table_event +EXPORT_SYMBOL vmlinux 0x0f7c4a83 get_sb_single +EXPORT_SYMBOL vmlinux 0x0f8c05b5 cfi_varsize_frob +EXPORT_SYMBOL vmlinux 0x0fa2a45e __memzero +EXPORT_SYMBOL vmlinux 0x0fad91cd rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x0fd191b1 mmc_detect_change +EXPORT_SYMBOL vmlinux 0x0fd77d84 mb_cache_shrink +EXPORT_SYMBOL vmlinux 0x0ff178f6 __aeabi_idivmod +EXPORT_SYMBOL vmlinux 0x0ff2b602 slhc_compress +EXPORT_SYMBOL vmlinux 0x101a639f scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0x10352427 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x103917e5 dm_get_device +EXPORT_SYMBOL vmlinux 0x10579454 sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x105e2727 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x1068ba20 submit_bh +EXPORT_SYMBOL vmlinux 0x1072a394 csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x107697a9 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x108e8985 param_get_uint +EXPORT_SYMBOL vmlinux 0x109728bf vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x10b6dcb8 read_cache_page +EXPORT_SYMBOL vmlinux 0x10c2fde0 sk_wait_data +EXPORT_SYMBOL vmlinux 0x10d1aff8 default_unplug_io_fn +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x10f851f9 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x10fad90a f_setown +EXPORT_SYMBOL vmlinux 0x1101d997 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x111470b3 keyring_search +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x1132f866 filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0x114a10cb __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x1185a871 security_inode_permission +EXPORT_SYMBOL vmlinux 0x119b50e7 elf_check_arch +EXPORT_SYMBOL vmlinux 0x11bcb381 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x11cab901 journal_wipe +EXPORT_SYMBOL vmlinux 0x11e66e0b sk_dst_check +EXPORT_SYMBOL vmlinux 0x12035efc inetdev_by_index +EXPORT_SYMBOL vmlinux 0x1211f90f dma_pool_destroy +EXPORT_SYMBOL vmlinux 0x12321ad5 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x1267b316 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x12883674 notify_change +EXPORT_SYMBOL vmlinux 0x12bb70bd netif_notify_peers +EXPORT_SYMBOL vmlinux 0x12bbed38 pipe_lock +EXPORT_SYMBOL vmlinux 0x12da5bb2 __kmalloc +EXPORT_SYMBOL vmlinux 0x12fda2d0 kobject_get +EXPORT_SYMBOL vmlinux 0x1302c211 simple_release_fs +EXPORT_SYMBOL vmlinux 0x1331ec81 kill_block_super +EXPORT_SYMBOL vmlinux 0x136fe8e8 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x13a35758 lookup_bdev +EXPORT_SYMBOL vmlinux 0x13b297bd kernel_sendpage +EXPORT_SYMBOL vmlinux 0x13b66321 dma_alloc_from_coherent +EXPORT_SYMBOL vmlinux 0x13f1f671 call_usermodehelper_stdinpipe +EXPORT_SYMBOL vmlinux 0x14109c87 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x14198b2e journal_create +EXPORT_SYMBOL vmlinux 0x143ed5ea km_state_notify +EXPORT_SYMBOL vmlinux 0x144ed3a1 dev_base_lock +EXPORT_SYMBOL vmlinux 0x147393c4 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x14778cad proc_dointvec +EXPORT_SYMBOL vmlinux 0x1494e683 generic_file_llseek_unlocked +EXPORT_SYMBOL vmlinux 0x14a75e4c pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x14c6389f input_allocate_device +EXPORT_SYMBOL vmlinux 0x14ca0430 poll_freewait +EXPORT_SYMBOL vmlinux 0x14cdc4f9 bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0x14cfc74b mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x14f481a7 phy_driver_register +EXPORT_SYMBOL vmlinux 0x154891a1 slow_work_unregister_user +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x156d2207 vfs_fsync +EXPORT_SYMBOL vmlinux 0x157aec20 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x158bc340 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x15ba4e07 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x15da844a generic_file_aio_read +EXPORT_SYMBOL vmlinux 0x15ea6e24 free_buffer_head +EXPORT_SYMBOL vmlinux 0x15f20c73 ioremap_page +EXPORT_SYMBOL vmlinux 0x1615ef32 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x163c5e39 twl4030_i2c_read +EXPORT_SYMBOL vmlinux 0x16416b17 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0x16479e8f panic_notifier_list +EXPORT_SYMBOL vmlinux 0x165936b7 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x166e74a2 cpu_v7_set_pte_ext +EXPORT_SYMBOL vmlinux 0x16773fe4 sk_receive_skb +EXPORT_SYMBOL vmlinux 0x16a930a3 nf_afinfo +EXPORT_SYMBOL vmlinux 0x16d10e54 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x16e130ed ppp_register_channel +EXPORT_SYMBOL vmlinux 0x16e2db1a end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x16eb5738 locks_copy_lock +EXPORT_SYMBOL vmlinux 0x16fba40e bio_endio +EXPORT_SYMBOL vmlinux 0x17088d0d lro_vlan_hwaccel_receive_frags +EXPORT_SYMBOL vmlinux 0x171566f1 uart_suspend_port +EXPORT_SYMBOL vmlinux 0x172b0153 key_unlink +EXPORT_SYMBOL vmlinux 0x175f05e7 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x17692db1 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x1781f8e6 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x17a142df __copy_from_user +EXPORT_SYMBOL vmlinux 0x17a64cb6 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x17a6b258 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x17ad5e79 unbind_con_driver +EXPORT_SYMBOL vmlinux 0x17bafc2d fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0x17c7219a clk_get +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x18268a5a pci_get_subsys +EXPORT_SYMBOL vmlinux 0x183282fe register_framebuffer +EXPORT_SYMBOL vmlinux 0x183e3ac1 mtd_do_chip_probe +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL vmlinux 0x187c8d7c directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0x1885a45e nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x188662e6 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x18b927f6 tcp4_gro_receive +EXPORT_SYMBOL vmlinux 0x18bdd582 get_unmapped_area_prot +EXPORT_SYMBOL vmlinux 0x18c6e104 pci_release_regions +EXPORT_SYMBOL vmlinux 0x18f797a1 arp_create +EXPORT_SYMBOL vmlinux 0x1903b673 task_nice +EXPORT_SYMBOL vmlinux 0x192498c4 block_fsync +EXPORT_SYMBOL vmlinux 0x192a90e8 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x193a87f4 nlmsg_notify +EXPORT_SYMBOL vmlinux 0x1955670a journal_ack_err +EXPORT_SYMBOL vmlinux 0x195c117d phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x19616502 xfrm_bundle_ok +EXPORT_SYMBOL vmlinux 0x1970959b xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x19722341 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x1976bc16 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x19927079 dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19a9c0d4 scsi_execute_req +EXPORT_SYMBOL vmlinux 0x19d16dc8 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x1a142bae scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0x1a19f0c3 dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x1a29e601 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x1a65f4ad __arm_ioremap_pfn +EXPORT_SYMBOL vmlinux 0x1a78cdb8 pci_read_vpd +EXPORT_SYMBOL vmlinux 0x1a8f8be5 dmam_release_declared_memory +EXPORT_SYMBOL vmlinux 0x1ac5fb81 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x1acb6a7c sock_no_listen +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1ad1f2e7 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0x1aff3368 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b15ab64 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b90cba4 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x1b931317 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x1b9981cc set_irq_wake +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1bb7738d netif_device_detach +EXPORT_SYMBOL vmlinux 0x1be0aac6 aio_complete +EXPORT_SYMBOL vmlinux 0x1be6d238 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x1be94dce __rta_fill +EXPORT_SYMBOL vmlinux 0x1c01a258 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x1c1abb3f journal_abort +EXPORT_SYMBOL vmlinux 0x1c1af916 set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x1c324357 idr_replace +EXPORT_SYMBOL vmlinux 0x1c390bdc jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x1c7d7907 ip_mc_rejoin_group +EXPORT_SYMBOL vmlinux 0x1c808484 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0x1c869a4a alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1ceea920 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x1ceebdf2 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x1cf16491 __seq_open_private +EXPORT_SYMBOL vmlinux 0x1d0aaf41 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x1d1ac5e7 bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x1d20873c dma_cache_maint_page +EXPORT_SYMBOL vmlinux 0x1d2e87c6 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dc45029 register_nls +EXPORT_SYMBOL vmlinux 0x1dc80673 find_lock_page +EXPORT_SYMBOL vmlinux 0x1dced8ad writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1df36fb6 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x1e263c8e single_open +EXPORT_SYMBOL vmlinux 0x1e30f732 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x1e34d83b genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x1e35c71f pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0x1e49daa8 sg_init_one +EXPORT_SYMBOL vmlinux 0x1e559615 udp_proc_unregister +EXPORT_SYMBOL vmlinux 0x1e678e9d tcp_v4_md5_do_add +EXPORT_SYMBOL vmlinux 0x1e6aabb2 simple_empty +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e94812a inet_register_protosw +EXPORT_SYMBOL vmlinux 0x1ecb9943 posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x1edc9598 _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x1ef195f4 remap_pfn_range +EXPORT_SYMBOL vmlinux 0x1efe283f __cap_full_set +EXPORT_SYMBOL vmlinux 0x1f29efc4 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x1f70d32d dma_cache_maint +EXPORT_SYMBOL vmlinux 0x1f7bb82e input_unregister_device +EXPORT_SYMBOL vmlinux 0x1f7cc628 mempool_create +EXPORT_SYMBOL vmlinux 0x1fae7a0b wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x1fc208d3 skb_split +EXPORT_SYMBOL vmlinux 0x1fc50782 sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x1fdf7fc1 scsi_add_device +EXPORT_SYMBOL vmlinux 0x1ff69dd8 vfs_fstatat +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x20039234 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x2010da10 scm_detach_fds +EXPORT_SYMBOL vmlinux 0x2014fad2 add_timer +EXPORT_SYMBOL vmlinux 0x2019811e tcp_v4_md5_do_del +EXPORT_SYMBOL vmlinux 0x20385c58 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x2069271e genphy_resume +EXPORT_SYMBOL vmlinux 0x208d6156 fb_blank +EXPORT_SYMBOL vmlinux 0x20aed59b skb_unlink +EXPORT_SYMBOL vmlinux 0x20fcf30d inet_stream_connect +EXPORT_SYMBOL vmlinux 0x210cc8fc icst307_khz +EXPORT_SYMBOL vmlinux 0x211331fa __divsi3 +EXPORT_SYMBOL vmlinux 0x2122c439 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x212c6664 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x212f7eeb jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0x2141d0f3 dm_table_get +EXPORT_SYMBOL vmlinux 0x2143a139 cfi_fixup +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x2167ef7d sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x216de517 console_stop +EXPORT_SYMBOL vmlinux 0x21ed0984 input_set_keycode +EXPORT_SYMBOL vmlinux 0x21ee0152 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x22456724 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x2265ade9 vfs_unlink +EXPORT_SYMBOL vmlinux 0x226e86a9 audit_log +EXPORT_SYMBOL vmlinux 0x22707eed neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x2288378f system_state +EXPORT_SYMBOL vmlinux 0x22a73912 __tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22b62fb7 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x22b6533b xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x22bcd18b seq_path +EXPORT_SYMBOL vmlinux 0x22bd830d udp_poll +EXPORT_SYMBOL vmlinux 0x22c98034 put_tty_driver +EXPORT_SYMBOL vmlinux 0x22dfd5c5 security_path_symlink +EXPORT_SYMBOL vmlinux 0x23009e13 spi_attach_transport +EXPORT_SYMBOL vmlinux 0x23047ea0 unregister_snap_client +EXPORT_SYMBOL vmlinux 0x230a4a46 simple_link +EXPORT_SYMBOL vmlinux 0x231cf494 up_write +EXPORT_SYMBOL vmlinux 0x23269a13 strict_strtoul +EXPORT_SYMBOL vmlinux 0x2346464b unregister_quota_format +EXPORT_SYMBOL vmlinux 0x23548635 sock_setsockopt +EXPORT_SYMBOL vmlinux 0x23647df3 cfb_imageblit +EXPORT_SYMBOL vmlinux 0x23838107 __down_write +EXPORT_SYMBOL vmlinux 0x23950028 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x23a17254 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x23a51359 dm_io_client_resize +EXPORT_SYMBOL vmlinux 0x23c8f257 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x23f675e0 flush_signals +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x24624544 ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x24626647 udp_proc_register +EXPORT_SYMBOL vmlinux 0x24868274 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x24e49b3c xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x2501039f unload_nls +EXPORT_SYMBOL vmlinux 0x250113b4 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x251698b7 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x2563a1d7 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258355b4 fb_find_best_mode +EXPORT_SYMBOL vmlinux 0x25ac4d4c neigh_event_ns +EXPORT_SYMBOL vmlinux 0x25b15a09 set_user_nice +EXPORT_SYMBOL vmlinux 0x25ba121c mempool_resize +EXPORT_SYMBOL vmlinux 0x25c2eb01 skb_trim +EXPORT_SYMBOL vmlinux 0x25fa6f17 wait_for_completion +EXPORT_SYMBOL vmlinux 0x260747d8 sock_no_poll +EXPORT_SYMBOL vmlinux 0x261c1766 __backtrace +EXPORT_SYMBOL vmlinux 0x261e6f55 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x262852fe jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x26477c07 __vmalloc +EXPORT_SYMBOL vmlinux 0x26687451 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x266ea231 ip_defrag +EXPORT_SYMBOL vmlinux 0x267fc65b __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x2690658f serio_interrupt +EXPORT_SYMBOL vmlinux 0x269931dc i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0x26bdd2ba pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x27276aec skb_over_panic +EXPORT_SYMBOL vmlinux 0x2765b034 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x2768b42a cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x276ae206 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x276e63fe bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27ac42e4 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c3865c pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x27c61ece qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x27d38909 block_commit_write +EXPORT_SYMBOL vmlinux 0x27dbaa13 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x27fbc592 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0x28118cb6 __get_user_1 +EXPORT_SYMBOL vmlinux 0x285ac517 strict_strtoll +EXPORT_SYMBOL vmlinux 0x288be554 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28be53da tcp_shutdown +EXPORT_SYMBOL vmlinux 0x28c37552 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x28e73b33 filemap_fdatawait +EXPORT_SYMBOL vmlinux 0x28f9662b mmc_resume_host +EXPORT_SYMBOL vmlinux 0x28feef4c uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x293094a2 uart_update_timeout +EXPORT_SYMBOL vmlinux 0x293bf996 register_qdisc +EXPORT_SYMBOL vmlinux 0x2950a46b bitmap_unplug +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x29bd4c46 __cap_init_eff_set +EXPORT_SYMBOL vmlinux 0x29cbb8a1 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x29dc35f6 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x2a1bae79 sk_release_kernel +EXPORT_SYMBOL vmlinux 0x2a29feab __tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a3974bc write_one_page +EXPORT_SYMBOL vmlinux 0x2a658775 get_sb_ns +EXPORT_SYMBOL vmlinux 0x2a77dd3d d_obtain_alias +EXPORT_SYMBOL vmlinux 0x2a79ac13 clkdev_add +EXPORT_SYMBOL vmlinux 0x2a90f749 elv_rb_find +EXPORT_SYMBOL vmlinux 0x2a943adb mmc_card_awake +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2aacd0df simple_transaction_get +EXPORT_SYMBOL vmlinux 0x2ac7b461 address_space_init_once +EXPORT_SYMBOL vmlinux 0x2ac9bf60 skb_tx_hash +EXPORT_SYMBOL vmlinux 0x2adf6e37 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x2af15f74 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x2afa0c04 kill_pgrp +EXPORT_SYMBOL vmlinux 0x2b0802c5 nf_hook_slow +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b40baff __down_write_nested +EXPORT_SYMBOL vmlinux 0x2b415ec4 get_sb_bdev +EXPORT_SYMBOL vmlinux 0x2b4c2106 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x2b570dc0 ida_pre_get +EXPORT_SYMBOL vmlinux 0x2b62b6e9 cap_netlink_recv +EXPORT_SYMBOL vmlinux 0x2b661759 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x2b7dd661 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x2b9e5a1e bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2ba9db60 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x2bd297c5 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x2bdeef6d remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x2bf87030 log_wait_commit +EXPORT_SYMBOL vmlinux 0x2bf9feef module_layout +EXPORT_SYMBOL vmlinux 0x2c74a46b xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x2c86190d call_usermodehelper_pipe +EXPORT_SYMBOL vmlinux 0x2c9fc360 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x2ca091ad pcim_iounmap +EXPORT_SYMBOL vmlinux 0x2cbb7ab7 backlight_force_update +EXPORT_SYMBOL vmlinux 0x2ccf97c5 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x2d121c88 follow_pfn +EXPORT_SYMBOL vmlinux 0x2d2f6e2c key_task_permission +EXPORT_SYMBOL vmlinux 0x2d32bd94 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x2d509213 check_disk_change +EXPORT_SYMBOL vmlinux 0x2d53c035 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x2d5bb3dd tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0x2d6507b5 _find_next_zero_bit_le +EXPORT_SYMBOL vmlinux 0x2d676ecf tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x2d6e96f2 bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2dcb0123 schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x2dcf7a95 journal_destroy +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e238745 amba_device_unregister +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e3794e3 vfs_quota_on +EXPORT_SYMBOL vmlinux 0x2e4a39f8 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x2e5810c6 __aeabi_unwind_cpp_pr1 +EXPORT_SYMBOL vmlinux 0x2e651a5d elv_add_request +EXPORT_SYMBOL vmlinux 0x2e676bb3 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x2e7ce199 get_io_context +EXPORT_SYMBOL vmlinux 0x2ea01558 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x2ea66cf3 napi_frags_skb +EXPORT_SYMBOL vmlinux 0x2ebc950b journal_clear_err +EXPORT_SYMBOL vmlinux 0x2ecbf126 unregister_netdev +EXPORT_SYMBOL vmlinux 0x2ed8a205 arp_broken_ops +EXPORT_SYMBOL vmlinux 0x2ee58184 sock_create +EXPORT_SYMBOL vmlinux 0x2ef5e70c __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x2efa7c1e nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x2efcd0e3 ppp_input +EXPORT_SYMBOL vmlinux 0x2f028f73 phy_disconnect +EXPORT_SYMBOL vmlinux 0x2f04378c arp_find +EXPORT_SYMBOL vmlinux 0x2f7ef568 kmap_high +EXPORT_SYMBOL vmlinux 0x2f969bc8 framebuffer_release +EXPORT_SYMBOL vmlinux 0x2fb74aa6 skb_make_writable +EXPORT_SYMBOL vmlinux 0x2fcc30d2 ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0x2fdab3db netdev_bonding_change +EXPORT_SYMBOL vmlinux 0x2fedbbe8 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x30123eb5 icmpv6_statistics +EXPORT_SYMBOL vmlinux 0x303c4878 d_add_ci +EXPORT_SYMBOL vmlinux 0x306ba72d __pci_register_driver +EXPORT_SYMBOL vmlinux 0x308af673 get_fs_type +EXPORT_SYMBOL vmlinux 0x30a06b9c key_negate_and_link +EXPORT_SYMBOL vmlinux 0x30ac20d0 netlink_broadcast +EXPORT_SYMBOL vmlinux 0x30bbb3fb pci_dev_put +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x310917fe sort +EXPORT_SYMBOL vmlinux 0x31121fe1 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x3124e4ca filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x31285081 generic_delete_inode +EXPORT_SYMBOL vmlinux 0x313341a3 _set_bit_le +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x31562620 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x3191f109 __krealloc +EXPORT_SYMBOL vmlinux 0x31b21f51 bdget_disk +EXPORT_SYMBOL vmlinux 0x31b31f5c csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x31bb03ee loop_register_transfer +EXPORT_SYMBOL vmlinux 0x31bd4b0d pci_reenable_device +EXPORT_SYMBOL vmlinux 0x31ca55cf log_start_commit +EXPORT_SYMBOL vmlinux 0x3201a44c tcp_prot +EXPORT_SYMBOL vmlinux 0x3207d7e0 give_up_console +EXPORT_SYMBOL vmlinux 0x321d3add sock_wfree +EXPORT_SYMBOL vmlinux 0x323222ba mutex_unlock +EXPORT_SYMBOL vmlinux 0x32323d9e do_mmap_pgoff +EXPORT_SYMBOL vmlinux 0x3248d9f2 no_llseek +EXPORT_SYMBOL vmlinux 0x3259ff0b neigh_connected_output +EXPORT_SYMBOL vmlinux 0x326df9e1 vfs_stat +EXPORT_SYMBOL vmlinux 0x3285cc48 param_set_uint +EXPORT_SYMBOL vmlinux 0x328a05f1 strncpy +EXPORT_SYMBOL vmlinux 0x32ba9112 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x32ce623a sg_last +EXPORT_SYMBOL vmlinux 0x32e48af5 tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x32eb9c78 read_cache_pages +EXPORT_SYMBOL vmlinux 0x3324f5d7 inet6_ioctl +EXPORT_SYMBOL vmlinux 0x3355de11 dev_gro_receive +EXPORT_SYMBOL vmlinux 0x33590a0a pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x3363d22a serio_rescan +EXPORT_SYMBOL vmlinux 0x336fd80b phy_enable_interrupts +EXPORT_SYMBOL vmlinux 0x3395d1dc __nla_put +EXPORT_SYMBOL vmlinux 0x33f89ff1 abort_creds +EXPORT_SYMBOL vmlinux 0x33fbfb48 spi_release_transport +EXPORT_SYMBOL vmlinux 0x342ac5e8 skb_append +EXPORT_SYMBOL vmlinux 0x343a0759 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x34461905 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x345295fe vga_get +EXPORT_SYMBOL vmlinux 0x3457cb68 param_set_long +EXPORT_SYMBOL vmlinux 0x345d80dc netdev_set_master +EXPORT_SYMBOL vmlinux 0x34908c14 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x3490f209 redraw_screen +EXPORT_SYMBOL vmlinux 0x3499b768 arp_xmit +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a91eac inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x34d42b53 vfs_readlink +EXPORT_SYMBOL vmlinux 0x353e3fa5 __get_user_4 +EXPORT_SYMBOL vmlinux 0x3560c4ff nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x359ca5b7 sk_stop_timer +EXPORT_SYMBOL vmlinux 0x35a0f9ca tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x35a441d9 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x35ac2736 scsi_prep_return +EXPORT_SYMBOL vmlinux 0x35b13e90 input_close_device +EXPORT_SYMBOL vmlinux 0x35bfca2c sock_kfree_s +EXPORT_SYMBOL vmlinux 0x35c2ba9e refrigerator +EXPORT_SYMBOL vmlinux 0x35da2e61 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x35da924c xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x35e5ea7c kernel_getpeername +EXPORT_SYMBOL vmlinux 0x35f09bdb pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x36404e0a page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x36606849 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x36784180 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x3686ea09 spi_print_msg +EXPORT_SYMBOL vmlinux 0x36e11c7a napi_gro_frags +EXPORT_SYMBOL vmlinux 0x36e47222 remove_wait_queue +EXPORT_SYMBOL vmlinux 0x36ebe42d kmem_cache_free +EXPORT_SYMBOL vmlinux 0x371c829d mpage_writepage +EXPORT_SYMBOL vmlinux 0x37242530 pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0x3724e150 inet_sendmsg +EXPORT_SYMBOL vmlinux 0x3727ed90 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x374ed073 scnprintf +EXPORT_SYMBOL vmlinux 0x375d8c17 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x3768db21 tc_classify_compat +EXPORT_SYMBOL vmlinux 0x3770c07e netif_rx +EXPORT_SYMBOL vmlinux 0x3782ef33 vfs_dq_quota_on_remount +EXPORT_SYMBOL vmlinux 0x37af6a0a abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37e74642 get_jiffies_64 +EXPORT_SYMBOL vmlinux 0x37f12900 inet_stream_ops +EXPORT_SYMBOL vmlinux 0x37f5a54a skb_pull +EXPORT_SYMBOL vmlinux 0x3807af14 pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0x381c4bb1 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x3837d08f dquot_acquire +EXPORT_SYMBOL vmlinux 0x3846b79d neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x384d7f01 llc_build_and_send_ui_pkt +EXPORT_SYMBOL vmlinux 0x384f55d4 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x385474a7 i2c_master_send +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38b92846 llc_remove_pack +EXPORT_SYMBOL vmlinux 0x38d079cf kobject_init +EXPORT_SYMBOL vmlinux 0x38e8378d pgprot_kernel +EXPORT_SYMBOL vmlinux 0x390c74fd qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0x3918f092 blk_queue_bounce +EXPORT_SYMBOL vmlinux 0x395ff552 bio_alloc +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x399880c1 llc_sap_find +EXPORT_SYMBOL vmlinux 0x39a32e6d netif_carrier_off +EXPORT_SYMBOL vmlinux 0x39d9355f blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x39e28f08 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x39f17d13 mmc_suspend_host +EXPORT_SYMBOL vmlinux 0x39f3a0d5 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x3a0e0aec backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x3a0f3564 sg_miter_start +EXPORT_SYMBOL vmlinux 0x3a2204c6 security_netlink_recv +EXPORT_SYMBOL vmlinux 0x3a275488 sock_map_fd +EXPORT_SYMBOL vmlinux 0x3a4f20bb mb_cache_create +EXPORT_SYMBOL vmlinux 0x3a5f4e7a cont_write_begin +EXPORT_SYMBOL vmlinux 0x3a636e32 i2c_use_client +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3ab26a60 kernel_getsockname +EXPORT_SYMBOL vmlinux 0x3adc15b9 posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x3ae831b6 kref_init +EXPORT_SYMBOL vmlinux 0x3af0dfa8 stop_tty +EXPORT_SYMBOL vmlinux 0x3afd6dda __xfrm_lookup +EXPORT_SYMBOL vmlinux 0x3aff44b6 scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0x3b75a49d tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x3bb78130 set_current_groups +EXPORT_SYMBOL vmlinux 0x3bb9410b scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bee802d ip6_xmit +EXPORT_SYMBOL vmlinux 0x3bf8f583 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0x3c24b2b7 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x3c2c5af5 sprintf +EXPORT_SYMBOL vmlinux 0x3c345cdc scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x3c356f1e atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x3c47a56d skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x3c47dc86 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x3c4c97bc mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x3c57b075 register_exec_domain +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3caae5ff call_usermodehelper_setfns +EXPORT_SYMBOL vmlinux 0x3cbc896f inet_del_protocol +EXPORT_SYMBOL vmlinux 0x3cc0a3bb xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x3ce12edd cpu_user +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3d3c540f elf_hwcap +EXPORT_SYMBOL vmlinux 0x3d5a4545 amba_driver_register +EXPORT_SYMBOL vmlinux 0x3d674e95 bh_submit_read +EXPORT_SYMBOL vmlinux 0x3d68bd4b flow_cache_genid +EXPORT_SYMBOL vmlinux 0x3d931f95 devm_free_irq +EXPORT_SYMBOL vmlinux 0x3daa69da vfs_lstat +EXPORT_SYMBOL vmlinux 0x3daf0ff6 vfs_get_dqinfo +EXPORT_SYMBOL vmlinux 0x3dd7328c scsi_device_get +EXPORT_SYMBOL vmlinux 0x3dffd04d xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0x3e0550e1 dev_driver_string +EXPORT_SYMBOL vmlinux 0x3e37809c d_invalidate +EXPORT_SYMBOL vmlinux 0x3e383385 nf_hooks +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e474c2b end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x3e6caebd add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x3e74b02b end_page_writeback +EXPORT_SYMBOL vmlinux 0x3e899c9d blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x3e8d450f iget5_locked +EXPORT_SYMBOL vmlinux 0x3e974f31 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x3e99ebef xfrm_state_update +EXPORT_SYMBOL vmlinux 0x3e9cab9c filemap_flush +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3f26054c netlink_set_err +EXPORT_SYMBOL vmlinux 0x3f342c20 da903x_query_status +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f6533ca tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x3f80f3f8 dma_pool_create +EXPORT_SYMBOL vmlinux 0x3f876563 fb_validate_mode +EXPORT_SYMBOL vmlinux 0x3f8abce5 phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x3f8ac251 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x3fc915b0 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x3fed4fe9 __napi_complete +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x40123aeb idr_for_each +EXPORT_SYMBOL vmlinux 0x402d66e0 d_genocide +EXPORT_SYMBOL vmlinux 0x4047fdc7 mem_map +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x407136b1 __put_user_8 +EXPORT_SYMBOL vmlinux 0x407600ed sock_create_kern +EXPORT_SYMBOL vmlinux 0x4077e416 eth_type_trans +EXPORT_SYMBOL vmlinux 0x408b8347 llc_sap_open +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x4098cdd4 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x40a27c37 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x40a6f522 __arm_ioremap +EXPORT_SYMBOL vmlinux 0x40b831bb fasync_helper +EXPORT_SYMBOL vmlinux 0x40c5eecd cdev_init +EXPORT_SYMBOL vmlinux 0x40d3e8ff seq_release +EXPORT_SYMBOL vmlinux 0x40d6d334 set_device_ro +EXPORT_SYMBOL vmlinux 0x40de568e ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x40f07981 __ashldi3 +EXPORT_SYMBOL vmlinux 0x4101bbde param_set_copystring +EXPORT_SYMBOL vmlinux 0x4108e69a fb_match_mode +EXPORT_SYMBOL vmlinux 0x4111316c may_umount +EXPORT_SYMBOL vmlinux 0x41166725 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x411892c2 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x412ddc0c dcache_lock +EXPORT_SYMBOL vmlinux 0x41344088 param_get_charp +EXPORT_SYMBOL vmlinux 0x413ffa29 d_rehash +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x41645826 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x416983d9 netdev_fix_features +EXPORT_SYMBOL vmlinux 0x4183091f blk_queue_ordered +EXPORT_SYMBOL vmlinux 0x4185cf4b radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x41885ac6 tty_port_init +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x418957ef input_register_handler +EXPORT_SYMBOL vmlinux 0x41d2f991 start_tty +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x42224298 sscanf +EXPORT_SYMBOL vmlinux 0x4226acdb ps2_drain +EXPORT_SYMBOL vmlinux 0x422890ee pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x423b0472 audit_log_end +EXPORT_SYMBOL vmlinux 0x424f32ae bio_unmap_user +EXPORT_SYMBOL vmlinux 0x4252bd10 page_symlink +EXPORT_SYMBOL vmlinux 0x425f7208 generic_writepages +EXPORT_SYMBOL vmlinux 0x426b8f1b __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x4289ced1 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x428b8c1c pci_find_capability +EXPORT_SYMBOL vmlinux 0x42dfd4f2 dev_get_flags +EXPORT_SYMBOL vmlinux 0x42e7db5c sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x430205aa __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4316e0c8 blk_get_request +EXPORT_SYMBOL vmlinux 0x4333eadb param_set_short +EXPORT_SYMBOL vmlinux 0x434d722b ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x434fa55c release_console_sem +EXPORT_SYMBOL vmlinux 0x4376a92d qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x4391040c unregister_8022_client +EXPORT_SYMBOL vmlinux 0x4395531b scsi_register_driver +EXPORT_SYMBOL vmlinux 0x43a7ed76 ethtool_op_set_tso +EXPORT_SYMBOL vmlinux 0x43ab66c3 param_array_get +EXPORT_SYMBOL vmlinux 0x43efa658 neigh_ifdown +EXPORT_SYMBOL vmlinux 0x4410d36d journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x44161c19 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x44314efb radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x444779c4 nla_find +EXPORT_SYMBOL vmlinux 0x44643b93 __aeabi_lmul +EXPORT_SYMBOL vmlinux 0x446a3938 pci_bus_type +EXPORT_SYMBOL vmlinux 0x44770eb9 scm_fp_dup +EXPORT_SYMBOL vmlinux 0x44923180 page_readlink +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44bf0b0f sg_miter_next +EXPORT_SYMBOL vmlinux 0x44c13315 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x44c214d1 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x44cc3366 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x44da5d0f __csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44f21fab dm_table_get_md +EXPORT_SYMBOL vmlinux 0x4575315d utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x45794cd2 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x4586229f dma_mmap_writecombine +EXPORT_SYMBOL vmlinux 0x45936267 dma_mmap_coherent +EXPORT_SYMBOL vmlinux 0x45947727 param_array_set +EXPORT_SYMBOL vmlinux 0x45951e1d tcp_check_req +EXPORT_SYMBOL vmlinux 0x45a55ec8 __iounmap +EXPORT_SYMBOL vmlinux 0x45b4c8db generic_file_splice_write +EXPORT_SYMBOL vmlinux 0x45bda0d5 system_serial_low +EXPORT_SYMBOL vmlinux 0x4619ce4f elv_rb_add +EXPORT_SYMBOL vmlinux 0x4627e498 bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x463bbc0e inode_init_always +EXPORT_SYMBOL vmlinux 0x465fa56e lock_fb_info +EXPORT_SYMBOL vmlinux 0x46616d6f scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x469f5d8b inode_get_bytes +EXPORT_SYMBOL vmlinux 0x46bec63e blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x46d3b28c __div0 +EXPORT_SYMBOL vmlinux 0x46e3c788 xfrm_register_km +EXPORT_SYMBOL vmlinux 0x4703b123 xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x4711062d __blk_end_request_all +EXPORT_SYMBOL vmlinux 0x4719ba4e kfifo_free +EXPORT_SYMBOL vmlinux 0x472702ed generic_unplug_device +EXPORT_SYMBOL vmlinux 0x472d2a9a radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x4796dbeb skb_dequeue +EXPORT_SYMBOL vmlinux 0x47e2be0c journal_start_commit +EXPORT_SYMBOL vmlinux 0x47e8d092 security_path_truncate +EXPORT_SYMBOL vmlinux 0x47f757de elf_platform +EXPORT_SYMBOL vmlinux 0x47f93c1f xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x481f027f generic_permission +EXPORT_SYMBOL vmlinux 0x484d738e dquot_scan_active +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x4867ef36 simple_readpage +EXPORT_SYMBOL vmlinux 0x486b6407 hweight64 +EXPORT_SYMBOL vmlinux 0x489c3b71 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x48a5b067 __machine_arch_type +EXPORT_SYMBOL vmlinux 0x48bbe618 mmc_add_host +EXPORT_SYMBOL vmlinux 0x48dc8591 d_lookup +EXPORT_SYMBOL vmlinux 0x48f9f12d complete_all +EXPORT_SYMBOL vmlinux 0x4908adf1 security_path_rmdir +EXPORT_SYMBOL vmlinux 0x4912233f aio_put_req +EXPORT_SYMBOL vmlinux 0x49439411 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x49443594 clk_round_rate +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x4986da2e fddi_type_trans +EXPORT_SYMBOL vmlinux 0x49884041 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x49c6486a pskb_expand_head +EXPORT_SYMBOL vmlinux 0x49cecab5 pci_write_vpd +EXPORT_SYMBOL vmlinux 0x49db6385 blk_complete_request +EXPORT_SYMBOL vmlinux 0x49e182c0 param_get_string +EXPORT_SYMBOL vmlinux 0x49f0f8ff set_bdi_congested +EXPORT_SYMBOL vmlinux 0x49f29c2d scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x4a170810 dev_disable_lro +EXPORT_SYMBOL vmlinux 0x4a1941e3 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x4a1f6b7a pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a72e2b1 bd_release +EXPORT_SYMBOL vmlinux 0x4a7d15b0 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x4a971ec7 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x4a9f4914 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x4ae20ae2 ethtool_op_get_tx_csum +EXPORT_SYMBOL vmlinux 0x4af39e3e sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x4afba478 rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b1099c5 rtc_dev_update_irq_enable_emul +EXPORT_SYMBOL vmlinux 0x4b12580f __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x4b17dffa wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x4b204d5d sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x4b34fbf5 block_all_signals +EXPORT_SYMBOL vmlinux 0x4b3bbaf4 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x4b47e227 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x4b4d3ed0 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x4b5fae97 simple_write_end +EXPORT_SYMBOL vmlinux 0x4b79975a save_time_delta +EXPORT_SYMBOL vmlinux 0x4b7fd036 set_create_files_as +EXPORT_SYMBOL vmlinux 0x4b8edde9 complete_and_exit +EXPORT_SYMBOL vmlinux 0x4b9ad1f5 textsearch_unregister +EXPORT_SYMBOL vmlinux 0x4b9f3684 kfifo_init +EXPORT_SYMBOL vmlinux 0x4bbc3e5f pm_flags +EXPORT_SYMBOL vmlinux 0x4be89934 blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0x4bf13f79 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c35a9c9 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x4c5c8d15 napi_get_frags +EXPORT_SYMBOL vmlinux 0x4c835d1a fb_class +EXPORT_SYMBOL vmlinux 0x4c9616a5 __secpath_destroy +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cd41b24 bio_kmalloc +EXPORT_SYMBOL vmlinux 0x4d0d163d copy_page +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d40f687 llc_set_station_handler +EXPORT_SYMBOL vmlinux 0x4d6cb816 nf_ct_attach +EXPORT_SYMBOL vmlinux 0x4d8a6f2c jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x4d936809 current_fs_time +EXPORT_SYMBOL vmlinux 0x4db38551 xfrm_lookup +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dc9a04a dcache_dir_close +EXPORT_SYMBOL vmlinux 0x4dec6038 memscan +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4e0009da idr_get_new_above +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e125e6d rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x4e2646eb truncate_pagecache +EXPORT_SYMBOL vmlinux 0x4e297c92 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x4e301a4d kunmap +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e3ad0a1 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x4e3dde81 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x4e41c847 gen_pool_create +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e70f2bb rtnl_notify +EXPORT_SYMBOL vmlinux 0x4e830a3e strnicmp +EXPORT_SYMBOL vmlinux 0x4e833757 unregister_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0x4ec5518a ethtool_op_set_flags +EXPORT_SYMBOL vmlinux 0x4ee4f9d7 seq_bitmap +EXPORT_SYMBOL vmlinux 0x4eefaf04 close_bdev_exclusive +EXPORT_SYMBOL vmlinux 0x4ef041b0 serio_open +EXPORT_SYMBOL vmlinux 0x4ef374b9 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x4efa54e3 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x4f0ea0c0 up +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f1fc7c1 sock_i_ino +EXPORT_SYMBOL vmlinux 0x4f25becb pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x4f4044fb file_fsync +EXPORT_SYMBOL vmlinux 0x4f476e96 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x4fb8cd7a journal_stop +EXPORT_SYMBOL vmlinux 0x4fc8a772 inet_shutdown +EXPORT_SYMBOL vmlinux 0x4fdf3169 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x4fe11eaf vfs_write +EXPORT_SYMBOL vmlinux 0x5006262f __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x5053c4b5 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x506746b6 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x506f854a nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x50870c2a n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x508cf41d check_disk_size_change +EXPORT_SYMBOL vmlinux 0x5093fa82 _clear_bit_le +EXPORT_SYMBOL vmlinux 0x50cb13df dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x5107a5c4 seq_write +EXPORT_SYMBOL vmlinux 0x511510ca wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x5126dae8 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x51493d94 finish_wait +EXPORT_SYMBOL vmlinux 0x51908eb8 __raw_writesl +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51e77c97 pfn_valid +EXPORT_SYMBOL vmlinux 0x51ef33b8 kstrndup +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x522129a2 input_filter_device +EXPORT_SYMBOL vmlinux 0x522b525e dev_addr_add +EXPORT_SYMBOL vmlinux 0x52301ced __devm_request_region +EXPORT_SYMBOL vmlinux 0x52354a0b mutex_trylock +EXPORT_SYMBOL vmlinux 0x52563b8b nf_register_hooks +EXPORT_SYMBOL vmlinux 0x52760ca9 getnstimeofday +EXPORT_SYMBOL vmlinux 0x527e2ec5 netdev_state_change +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x528c911c del_timer +EXPORT_SYMBOL vmlinux 0x528ff0ad dst_destroy +EXPORT_SYMBOL vmlinux 0x52a58c24 ifla_policy +EXPORT_SYMBOL vmlinux 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL vmlinux 0x52e5de7f xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0x52ebb126 param_get_ushort +EXPORT_SYMBOL vmlinux 0x52f53c4a __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x530b6eb5 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x5339f1f9 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x5383c379 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x53c0767c sk_chk_filter +EXPORT_SYMBOL vmlinux 0x53ece63d blk_recount_segments +EXPORT_SYMBOL vmlinux 0x5415b3ba dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x54290dc9 nla_validate +EXPORT_SYMBOL vmlinux 0x542f0714 bdi_register_dev +EXPORT_SYMBOL vmlinux 0x543f5bd5 free_task +EXPORT_SYMBOL vmlinux 0x545a664c sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x5468124b single_release +EXPORT_SYMBOL vmlinux 0x5474cfad security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x54817cc1 posix_test_lock +EXPORT_SYMBOL vmlinux 0x54c60a83 tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x54d0e4fb ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x54d42936 seq_printf +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54eacb45 lookup_hash +EXPORT_SYMBOL vmlinux 0x54f6fb78 blk_unplug +EXPORT_SYMBOL vmlinux 0x551affeb input_unregister_handler +EXPORT_SYMBOL vmlinux 0x5559fcc4 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x556643e3 llc_sap_list_lock +EXPORT_SYMBOL vmlinux 0x556dcf9e in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55a533dc generic_file_mmap +EXPORT_SYMBOL vmlinux 0x55b04eaf __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x55bbaf08 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x55c77acf __destroy_inode +EXPORT_SYMBOL vmlinux 0x55d6ac37 blk_remove_plug +EXPORT_SYMBOL vmlinux 0x55fdaf24 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x5600904f fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x5603cf43 do_settimeofday +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x56433392 km_new_mapping +EXPORT_SYMBOL vmlinux 0x564ec7d8 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x5658a77b mapping_tagged +EXPORT_SYMBOL vmlinux 0x5668caf0 icst307_khz_to_vco +EXPORT_SYMBOL vmlinux 0x5679490d scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x568655e4 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x56c76e2f blk_end_request_all +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56d5ef51 tty_vhangup +EXPORT_SYMBOL vmlinux 0x56df5a59 mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0x56e0a85b ppp_input_error +EXPORT_SYMBOL vmlinux 0x56e75408 bio_clone +EXPORT_SYMBOL vmlinux 0x56e99062 security_inode_readlink +EXPORT_SYMBOL vmlinux 0x56ff54be inet_frag_find +EXPORT_SYMBOL vmlinux 0x570d5d9f neigh_table_init +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x573a8d01 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x57700f98 register_netdev +EXPORT_SYMBOL vmlinux 0x5796a7d4 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x57a6504e vsnprintf +EXPORT_SYMBOL vmlinux 0x57b57ebe jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0x57c28d47 pci_enable_wake +EXPORT_SYMBOL vmlinux 0x57db7242 mangle_path +EXPORT_SYMBOL vmlinux 0x57e88617 do_munmap +EXPORT_SYMBOL vmlinux 0x57f4c344 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x5803b6bc sock_i_uid +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x5843a469 pci_iomap +EXPORT_SYMBOL vmlinux 0x5857e434 groups_free +EXPORT_SYMBOL vmlinux 0x5863c58f posix_lock_file +EXPORT_SYMBOL vmlinux 0x5869b705 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x586f3832 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0x58753c84 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x58843f3e ethtool_op_set_tx_ipv6_csum +EXPORT_SYMBOL vmlinux 0x588762ae arp_tbl +EXPORT_SYMBOL vmlinux 0x58a9ac92 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x58e8d79b cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x58f5881b tcp_close +EXPORT_SYMBOL vmlinux 0x590aba7b sg_miter_stop +EXPORT_SYMBOL vmlinux 0x590bbcfe ppp_unit_number +EXPORT_SYMBOL vmlinux 0x591363e7 thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0x592f8af0 dev_mc_delete +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x594e1317 __modsi3 +EXPORT_SYMBOL vmlinux 0x5997c5df iget_locked +EXPORT_SYMBOL vmlinux 0x59b44d6b security_path_unlink +EXPORT_SYMBOL vmlinux 0x59bf8bb5 inet_addr_type +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59d80303 call_usermodehelper_freeinfo +EXPORT_SYMBOL vmlinux 0x59d8223a ioport_resource +EXPORT_SYMBOL vmlinux 0x59e01f53 lro_vlan_hwaccel_receive_skb +EXPORT_SYMBOL vmlinux 0x59e5070d __do_div64 +EXPORT_SYMBOL vmlinux 0x59fa9727 pci_remove_bus +EXPORT_SYMBOL vmlinux 0x5a1c30e9 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x5a4d92ce scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5aa3a300 ipv4_specific +EXPORT_SYMBOL vmlinux 0x5ac7961e blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x5adda122 skb_copy +EXPORT_SYMBOL vmlinux 0x5af42b66 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x5afeecb2 per_cpu__softnet_data +EXPORT_SYMBOL vmlinux 0x5b0e18aa tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x5b108e9c mii_nway_restart +EXPORT_SYMBOL vmlinux 0x5b19634d div_s64_rem +EXPORT_SYMBOL vmlinux 0x5b36fe43 backlight_device_register +EXPORT_SYMBOL vmlinux 0x5b507c69 register_snap_client +EXPORT_SYMBOL vmlinux 0x5b5e7e91 tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x5bdc5c99 mii_check_media +EXPORT_SYMBOL vmlinux 0x5c13b3e1 bioset_free +EXPORT_SYMBOL vmlinux 0x5c2b08c6 uart_resume_port +EXPORT_SYMBOL vmlinux 0x5c673bc8 tty_mutex +EXPORT_SYMBOL vmlinux 0x5c6ae75c ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x5c9284a0 processor_id +EXPORT_SYMBOL vmlinux 0x5cac41f6 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x5cb25b1c scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x5cd5491e bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x5cdaaf6c fd_install +EXPORT_SYMBOL vmlinux 0x5d05cb2c cdrom_open +EXPORT_SYMBOL vmlinux 0x5d12b3fc twl4030_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x5d19139f phy_start +EXPORT_SYMBOL vmlinux 0x5d3f039d gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x5d56ac3f dcache_dir_open +EXPORT_SYMBOL vmlinux 0x5dae54b4 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x5db15535 ethtool_op_get_ufo +EXPORT_SYMBOL vmlinux 0x5db604b4 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x5dd7048a setup_new_exec +EXPORT_SYMBOL vmlinux 0x5df3ce71 mmc_power_save_host +EXPORT_SYMBOL vmlinux 0x5e0bb06d pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x5e1a9538 generic_removexattr +EXPORT_SYMBOL vmlinux 0x5e844962 pskb_copy +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5e9e13c2 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x5ea520c5 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x5eb4a4c5 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x5ebb56fb down_read +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5ef9b966 dquot_alloc +EXPORT_SYMBOL vmlinux 0x5f1c09fd key_validate +EXPORT_SYMBOL vmlinux 0x5f3d0eeb i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x5f3feab1 vfs_llseek +EXPORT_SYMBOL vmlinux 0x5f70d23d starget_for_each_device +EXPORT_SYMBOL vmlinux 0x5f754e5a memset +EXPORT_SYMBOL vmlinux 0x5f8a904e __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x5fabd393 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x5fb17975 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x5feaed55 scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0x5ff5b48d skb_queue_head +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x60299c6b genphy_suspend +EXPORT_SYMBOL vmlinux 0x6029b2c1 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x60414316 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x6047c4da gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x6070dfa5 dm_exception_store_destroy +EXPORT_SYMBOL vmlinux 0x6090c5ce blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a0ebad __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60a4efe2 ida_get_new +EXPORT_SYMBOL vmlinux 0x60e01104 restore_time_delta +EXPORT_SYMBOL vmlinux 0x60e1ce0a open_exec +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x612e6e93 __inet6_hash +EXPORT_SYMBOL vmlinux 0x612ec6df key_put +EXPORT_SYMBOL vmlinux 0x615490c8 d_path +EXPORT_SYMBOL vmlinux 0x6156c819 phy_device_create +EXPORT_SYMBOL vmlinux 0x615fa4d5 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x6171af8a phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x61880a6e netif_napi_del +EXPORT_SYMBOL vmlinux 0x618d8299 set_notify_swap_entry_free +EXPORT_SYMBOL vmlinux 0x6193995f posix_unblock_lock +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61ce558c vc_resize +EXPORT_SYMBOL vmlinux 0x621102f1 bdput +EXPORT_SYMBOL vmlinux 0x621e2805 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x62235e08 release_firmware +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x62283f90 scsi_free_command +EXPORT_SYMBOL vmlinux 0x62378d6c i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x624770bd delayed_slow_work_enqueue +EXPORT_SYMBOL vmlinux 0x625d0937 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x62607586 flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x6278234a dev_load +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x62994ec4 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x62a741b8 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x62b37737 key_link +EXPORT_SYMBOL vmlinux 0x62cc569e cpu_present_mask +EXPORT_SYMBOL vmlinux 0x62cec5f4 thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0x62d0023c vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x62eaf132 pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0x62f37cba vfs_quota_sync +EXPORT_SYMBOL vmlinux 0x6381840d security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x639f5ab0 tcp_child_process +EXPORT_SYMBOL vmlinux 0x63ab1248 sync_blockdev +EXPORT_SYMBOL vmlinux 0x63eb369c tcp_proc_register +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63efc536 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0x63fa5c17 mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x640a7078 posix_acl_create_masq +EXPORT_SYMBOL vmlinux 0x6413ed1a netdev_features_change +EXPORT_SYMBOL vmlinux 0x641445a7 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x6424cc71 neigh_seq_start +EXPORT_SYMBOL vmlinux 0x6452354c request_key +EXPORT_SYMBOL vmlinux 0x64534b35 nonseekable_open +EXPORT_SYMBOL vmlinux 0x6457112f inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x64722851 blk_start_request +EXPORT_SYMBOL vmlinux 0x64924f5d tty_kref_put +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64b1f4fb i2c_del_driver +EXPORT_SYMBOL vmlinux 0x64be4360 eth_change_mtu +EXPORT_SYMBOL vmlinux 0x64c3f8cb kill_litter_super +EXPORT_SYMBOL vmlinux 0x64c989b3 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x64f80bf4 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x6511ddb9 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x65378645 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65414e67 dev_valid_name +EXPORT_SYMBOL vmlinux 0x65553d2c bdi_init +EXPORT_SYMBOL vmlinux 0x6566e3ad rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x659311d4 follow_down +EXPORT_SYMBOL vmlinux 0x65e1d258 secpath_dup +EXPORT_SYMBOL vmlinux 0x661ba793 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x665bd53d vfs_dq_transfer +EXPORT_SYMBOL vmlinux 0x666a586d inet_frag_evictor +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x668fc90d clk_enable +EXPORT_SYMBOL vmlinux 0x66bb63ca kobject_del +EXPORT_SYMBOL vmlinux 0x67053080 current_kernel_time +EXPORT_SYMBOL vmlinux 0x673beda0 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x678e988d blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x67a0cffe per_cpu____irq_regs +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67be1d3d cpu_active_mask +EXPORT_SYMBOL vmlinux 0x67f2cee5 udp_table +EXPORT_SYMBOL vmlinux 0x67f57751 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x6806e58e pci_pme_capable +EXPORT_SYMBOL vmlinux 0x680f2f82 pci_set_consistent_dma_mask +EXPORT_SYMBOL vmlinux 0x681636ac clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x681da6b7 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x685d91a1 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x6881b58f mii_link_ok +EXPORT_SYMBOL vmlinux 0x6894a34b pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x6898a756 sg_init_table +EXPORT_SYMBOL vmlinux 0x68a08d5d xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x68b8daa9 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x68e5834d ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x68effdd5 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x690198e6 clocksource_unregister +EXPORT_SYMBOL vmlinux 0x6934a4b5 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x6958744e scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x695b3c55 set_blocksize +EXPORT_SYMBOL vmlinux 0x695b4354 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x6969e2a7 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x696c956b iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x69759caf bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x6980fe91 param_get_int +EXPORT_SYMBOL vmlinux 0x69827a86 jbd2_journal_update_format +EXPORT_SYMBOL vmlinux 0x69927dff try_acquire_console_sem +EXPORT_SYMBOL vmlinux 0x69af2327 idr_init +EXPORT_SYMBOL vmlinux 0x69c8c1d5 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x69cde25d unlock_rename +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a270bd2 sk_common_release +EXPORT_SYMBOL vmlinux 0x6a4650af pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x6a47571d __set_personality +EXPORT_SYMBOL vmlinux 0x6a54fd4e unregister_md_personality +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a832946 lock_may_write +EXPORT_SYMBOL vmlinux 0x6a9ebc09 tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x6ab9fecc pci_get_device +EXPORT_SYMBOL vmlinux 0x6ac22bb2 d_delete +EXPORT_SYMBOL vmlinux 0x6ac45c28 __up_write +EXPORT_SYMBOL vmlinux 0x6ad065f4 param_set_charp +EXPORT_SYMBOL vmlinux 0x6af6550d ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x6b173ff6 scsi_device_resume +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b28395b sysctl_jiffies +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b6057ae tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x6ba50015 __scm_destroy +EXPORT_SYMBOL vmlinux 0x6bc196d1 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6c042357 sk_run_filter +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c2e1707 keyring_clear +EXPORT_SYMBOL vmlinux 0x6c36a5c1 __mutex_init +EXPORT_SYMBOL vmlinux 0x6c5e996e inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c790867 register_8022_client +EXPORT_SYMBOL vmlinux 0x6c83208a otg_put_transceiver +EXPORT_SYMBOL vmlinux 0x6c930c20 tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x6cba3052 misc_register +EXPORT_SYMBOL vmlinux 0x6cc700f7 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x6cdc5c6b nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6cdf92c7 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x6cee3faf napi_gro_flush +EXPORT_SYMBOL vmlinux 0x6ceeac39 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x6d06679d generic_fillattr +EXPORT_SYMBOL vmlinux 0x6d27ef64 __bitmap_empty +EXPORT_SYMBOL vmlinux 0x6d288375 radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d402ed3 skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x6d5eadcf bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x6d662533 _find_first_bit_le +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6dd79334 inet_select_addr +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6e05b659 blk_peek_request +EXPORT_SYMBOL vmlinux 0x6e1f5971 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x6e4baba8 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x6e611cb7 vga_client_register +EXPORT_SYMBOL vmlinux 0x6e67218e input_grab_device +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e749094 tty_port_close +EXPORT_SYMBOL vmlinux 0x6e8a0474 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea0a611 register_md_personality +EXPORT_SYMBOL vmlinux 0x6ee5d6af nf_getsockopt +EXPORT_SYMBOL vmlinux 0x6f144950 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x6f169b5a wireless_send_event +EXPORT_SYMBOL vmlinux 0x6f2b6f0a __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x6f4e1ad0 bio_integrity_endio +EXPORT_SYMBOL vmlinux 0x6f9d50d5 registered_fb +EXPORT_SYMBOL vmlinux 0x6f9fac71 blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x6fa331e3 tty_shutdown +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fe2d998 eth_header_cache +EXPORT_SYMBOL vmlinux 0x6fff393f time_to_tm +EXPORT_SYMBOL vmlinux 0x700c0a2b kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x701d0ebd snprintf +EXPORT_SYMBOL vmlinux 0x70321bb8 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x703d0664 mdiobus_read +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x706b001f deactivate_super +EXPORT_SYMBOL vmlinux 0x7085b2bc netif_rx_ni +EXPORT_SYMBOL vmlinux 0x70b167cf ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x70b28e15 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x70ba27a6 test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70d820d4 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x70eddaf7 find_get_page +EXPORT_SYMBOL vmlinux 0x7113eedf sock_recvmsg +EXPORT_SYMBOL vmlinux 0x7117752f cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x713f6d95 cpu_sysdev_class +EXPORT_SYMBOL vmlinux 0x71462059 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0x714958dd skb_clone +EXPORT_SYMBOL vmlinux 0x7152cf1b km_state_expired +EXPORT_SYMBOL vmlinux 0x7158463f fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x719243a1 bio_sector_offset +EXPORT_SYMBOL vmlinux 0x719564ec blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71ab03da bdevname +EXPORT_SYMBOL vmlinux 0x71c90087 memcmp +EXPORT_SYMBOL vmlinux 0x71cbec59 alloc_fddidev +EXPORT_SYMBOL vmlinux 0x71e230f7 sock_create_lite +EXPORT_SYMBOL vmlinux 0x71e2c598 key_type_keyring +EXPORT_SYMBOL vmlinux 0x71e9e3f2 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x71ef919c genphy_update_link +EXPORT_SYMBOL vmlinux 0x71f6d94a cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x71fc168c flush_dcache_page +EXPORT_SYMBOL vmlinux 0x723bd528 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x725cae61 wake_up_process +EXPORT_SYMBOL vmlinux 0x72835843 __scm_send +EXPORT_SYMBOL vmlinux 0x72913f47 dm_exception_store_type_unregister +EXPORT_SYMBOL vmlinux 0x72921a18 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x72b183af cfi_read_pri +EXPORT_SYMBOL vmlinux 0x72c3be87 param_set_byte +EXPORT_SYMBOL vmlinux 0x72d41e5b pci_set_power_state +EXPORT_SYMBOL vmlinux 0x72d5af61 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x732449fd pci_dev_get +EXPORT_SYMBOL vmlinux 0x732a4c4f iput +EXPORT_SYMBOL vmlinux 0x7362dd1e vfs_fstat +EXPORT_SYMBOL vmlinux 0x736f3aa1 module_refcount +EXPORT_SYMBOL vmlinux 0x737540f7 mpage_readpages +EXPORT_SYMBOL vmlinux 0x7388057a commit_creds +EXPORT_SYMBOL vmlinux 0x73c97f58 clk_set_rate +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x73e4ae7a pci_get_bus_and_slot +EXPORT_SYMBOL vmlinux 0x740893ac get_empty_filp +EXPORT_SYMBOL vmlinux 0x7426aa12 phy_device_free +EXPORT_SYMBOL vmlinux 0x744c0c68 param_get_byte +EXPORT_SYMBOL vmlinux 0x7452799e kobject_put +EXPORT_SYMBOL vmlinux 0x74731d26 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x747b5a28 inet_release +EXPORT_SYMBOL vmlinux 0x747dd1a3 blk_free_tags +EXPORT_SYMBOL vmlinux 0x748290a1 sock_no_getname +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x749260ea mmc_host_lazy_disable +EXPORT_SYMBOL vmlinux 0x7492b410 __invalidate_device +EXPORT_SYMBOL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL vmlinux 0x749eefea skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x74a6f209 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x74be9cc8 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x74beb442 skb_put +EXPORT_SYMBOL vmlinux 0x74bfc369 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x74e75e0b truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x74fe5de9 security_task_getsecid +EXPORT_SYMBOL vmlinux 0x75037ef1 vfs_quota_disable +EXPORT_SYMBOL vmlinux 0x7511cdaa __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x753f91ba proto_unregister +EXPORT_SYMBOL vmlinux 0x758eb0c3 rfkill_register +EXPORT_SYMBOL vmlinux 0x759a0126 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0x75acbb9f scsi_execute +EXPORT_SYMBOL vmlinux 0x75b257d8 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x75e648fd nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x75fee7fd __raw_writesb +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b2465 icst307_ps_to_vco +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x7622e719 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x762e0b40 misc_deregister +EXPORT_SYMBOL vmlinux 0x763d15ff pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0x765f75fb pgprot_user +EXPORT_SYMBOL vmlinux 0x766aeea4 pci_set_master +EXPORT_SYMBOL vmlinux 0x76700b1c gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x76881360 leds_event +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76c15913 mpage_writepages +EXPORT_SYMBOL vmlinux 0x76cf47f6 __aeabi_llsl +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76fca30b contig_page_data +EXPORT_SYMBOL vmlinux 0x7737a38d vfs_quota_enable +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x773ce7b8 call_usermodehelper_setkeys +EXPORT_SYMBOL vmlinux 0x775a78f3 tcp_make_synack +EXPORT_SYMBOL vmlinux 0x77695bc8 make_bad_inode +EXPORT_SYMBOL vmlinux 0x77775adc ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x777edf4c xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x77ba254a kset_register +EXPORT_SYMBOL vmlinux 0x77cfcfde __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77fa5d1f ns_to_timespec +EXPORT_SYMBOL vmlinux 0x78143277 write_cache_pages +EXPORT_SYMBOL vmlinux 0x78400ede tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x787f67fd scsi_host_put +EXPORT_SYMBOL vmlinux 0x788fe103 iomem_resource +EXPORT_SYMBOL vmlinux 0x78b23cad mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x78b6edad vfs_readv +EXPORT_SYMBOL vmlinux 0x78c451a7 neigh_destroy +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78e8a086 pci_request_regions +EXPORT_SYMBOL vmlinux 0x78ed6ff5 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x791eff5f __f_setown +EXPORT_SYMBOL vmlinux 0x793ab729 dma_release_declared_memory +EXPORT_SYMBOL vmlinux 0x794487ee disable_hlt +EXPORT_SYMBOL vmlinux 0x794e21a0 igrab +EXPORT_SYMBOL vmlinux 0x79600d4a wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x7963359b block_write_full_page +EXPORT_SYMBOL vmlinux 0x7963eb33 register_sysctl_table +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x7974ec5e bio_init +EXPORT_SYMBOL vmlinux 0x7984dd84 __vlan_hwaccel_rx +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79ad224b tasklet_kill +EXPORT_SYMBOL vmlinux 0x79b49102 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0x7a06d891 kick_iocb +EXPORT_SYMBOL vmlinux 0x7a2a837d strict_strtol +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a6e68ec task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x7a6ed7e0 request_firmware +EXPORT_SYMBOL vmlinux 0x7a91726b clkdev_alloc +EXPORT_SYMBOL vmlinux 0x7ae96cad netif_napi_add +EXPORT_SYMBOL vmlinux 0x7aebd222 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x7af6274e sock_no_bind +EXPORT_SYMBOL vmlinux 0x7b07284e vfs_set_dqinfo +EXPORT_SYMBOL vmlinux 0x7b135227 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x7b2ec30c blk_plug_device_unlocked +EXPORT_SYMBOL vmlinux 0x7b4c7684 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x7b57056e __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x7b6812e3 destroy_EII_client +EXPORT_SYMBOL vmlinux 0x7b81270f init_buffer +EXPORT_SYMBOL vmlinux 0x7b9435f9 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x7bba21e1 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x7bbaa695 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x7be7f3e0 scsi_put_command +EXPORT_SYMBOL vmlinux 0x7bf7fa3d tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x7c28a3ee tcp_read_sock +EXPORT_SYMBOL vmlinux 0x7c2fc88d neigh_compat_output +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c6a1e4b vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x7c77b4ed xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7cc035a7 __ucmpdi2 +EXPORT_SYMBOL vmlinux 0x7cd7dde0 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x7d06b1a8 touch_atime +EXPORT_SYMBOL vmlinux 0x7d0b2ea2 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d1fd8e9 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x7d623c22 __break_lease +EXPORT_SYMBOL vmlinux 0x7d64b7c0 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x7da3f580 block_read_full_page +EXPORT_SYMBOL vmlinux 0x7dae5f0f generic_write_sync +EXPORT_SYMBOL vmlinux 0x7dceceac capable +EXPORT_SYMBOL vmlinux 0x7df8c4dd amba_device_register +EXPORT_SYMBOL vmlinux 0x7e1292f4 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x7e146db2 tty_name +EXPORT_SYMBOL vmlinux 0x7e1ae9bc key_alloc +EXPORT_SYMBOL vmlinux 0x7e4bc506 vfs_set_dqblk +EXPORT_SYMBOL vmlinux 0x7e5f9a4b per_cpu__ftrace_event_seq +EXPORT_SYMBOL vmlinux 0x7e7cc958 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x7e8a802e inet_put_port +EXPORT_SYMBOL vmlinux 0x7e9ebb05 kernel_thread +EXPORT_SYMBOL vmlinux 0x7ebf5b8e key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x7ed9c7dd audit_log_start +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f4ebb4b dqput +EXPORT_SYMBOL vmlinux 0x7f63b31e _memcpy_toio +EXPORT_SYMBOL vmlinux 0x7f70a7e0 tty_register_driver +EXPORT_SYMBOL vmlinux 0x7fee961e llc_mac_hdr_init +EXPORT_SYMBOL vmlinux 0x8000577b register_gifconf +EXPORT_SYMBOL vmlinux 0x800e4ffa __muldi3 +EXPORT_SYMBOL vmlinux 0x80129e50 writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x8062a675 eth_header +EXPORT_SYMBOL vmlinux 0x8063f83d radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x806fd865 __breadahead +EXPORT_SYMBOL vmlinux 0x8085c7b1 prepare_to_wait +EXPORT_SYMBOL vmlinux 0x809200ab __bio_clone +EXPORT_SYMBOL vmlinux 0x80a3a218 dma_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x80db5795 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x80ed4265 journal_revoke +EXPORT_SYMBOL vmlinux 0x80efdae1 inet6_bind +EXPORT_SYMBOL vmlinux 0x80f39596 filp_open +EXPORT_SYMBOL vmlinux 0x8100025b vm_map_ram +EXPORT_SYMBOL vmlinux 0x811748b4 bio_integrity_split +EXPORT_SYMBOL vmlinux 0x811ac567 textsearch_register +EXPORT_SYMBOL vmlinux 0x8126dfb0 iunique +EXPORT_SYMBOL vmlinux 0x813bd1bb bio_map_user +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x81799cee vscnprintf +EXPORT_SYMBOL vmlinux 0x8187776b mdio_bus_type +EXPORT_SYMBOL vmlinux 0x81ad9b8f napi_complete +EXPORT_SYMBOL vmlinux 0x81b26b73 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x81ba15e0 scsi_target_resume +EXPORT_SYMBOL vmlinux 0x81c92973 scsi_host_get +EXPORT_SYMBOL vmlinux 0x81e88780 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x81fe9225 hippi_change_mtu +EXPORT_SYMBOL vmlinux 0x820d225f print_mac +EXPORT_SYMBOL vmlinux 0x820e2622 skb_store_bits +EXPORT_SYMBOL vmlinux 0x8233f151 nf_unregister_hook +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x8262f64b tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x8268ed02 scsi_remove_host +EXPORT_SYMBOL vmlinux 0x82692209 kref_set +EXPORT_SYMBOL vmlinux 0x8271822c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x829af375 proc_symlink +EXPORT_SYMBOL vmlinux 0x82a223f7 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x82a3e151 del_gendisk +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82b8aed7 tcf_action_exec +EXPORT_SYMBOL vmlinux 0x82e5a238 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x8320bea8 __umodsi3 +EXPORT_SYMBOL vmlinux 0x83246bdb unlock_new_inode +EXPORT_SYMBOL vmlinux 0x836bd0d2 pci_restore_state +EXPORT_SYMBOL vmlinux 0x839d89ea tty_set_operations +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83e2ec6d sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x83ef3e58 skb_dma_unmap +EXPORT_SYMBOL vmlinux 0x84175768 wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0x841efe07 ps2_init +EXPORT_SYMBOL vmlinux 0x846bc3c4 udplite_prot +EXPORT_SYMBOL vmlinux 0x846c5be5 clk_disable +EXPORT_SYMBOL vmlinux 0x84717409 __pagevec_release +EXPORT_SYMBOL vmlinux 0x8475122b iget_failed +EXPORT_SYMBOL vmlinux 0x84a5b13d genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x84a85550 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x84ab882c journal_extend +EXPORT_SYMBOL vmlinux 0x84b183ae strncmp +EXPORT_SYMBOL vmlinux 0x84ec3283 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x8500e34e skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x851432b8 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x855fc049 cdev_index +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x857ad970 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0x85994f76 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x85a69949 send_sig +EXPORT_SYMBOL vmlinux 0x85a6daf1 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x85ac7f10 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x85d00d36 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x85d22bc1 mmc_release_host +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e7deb2 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x8608337a dev_unicast_unsync +EXPORT_SYMBOL vmlinux 0x86499c4a netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x868a4e4b i2c_master_recv +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86aa688c pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x8708eacf inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x87198f96 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x872927b8 down_timeout +EXPORT_SYMBOL vmlinux 0x876522ce blk_insert_request +EXPORT_SYMBOL vmlinux 0x877d41c9 register_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x878dff96 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x879754dd journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x87b312f0 dmam_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x87b644c6 do_sync_read +EXPORT_SYMBOL vmlinux 0x87ca328a __lock_page +EXPORT_SYMBOL vmlinux 0x87d2db3c bio_put +EXPORT_SYMBOL vmlinux 0x87eb3717 wireless_spy_update +EXPORT_SYMBOL vmlinux 0x87f15c26 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x87f438a2 sysctl_intvec +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x8836a156 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x88414bb7 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x884a8672 file_update_time +EXPORT_SYMBOL vmlinux 0x88557ca3 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x886529a6 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x88844ff1 sock_wake_async +EXPORT_SYMBOL vmlinux 0x8884f63b kfree_skb +EXPORT_SYMBOL vmlinux 0x888991b6 ethtool_op_set_tx_hw_csum +EXPORT_SYMBOL vmlinux 0x88a0b530 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x88b57d36 nla_put +EXPORT_SYMBOL vmlinux 0x88cb1e05 simple_unlink +EXPORT_SYMBOL vmlinux 0x88dd30c1 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x88fc8812 i2c_clients_command +EXPORT_SYMBOL vmlinux 0x88ff7577 rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0x8901a5ee tc_classify +EXPORT_SYMBOL vmlinux 0x890bfcbf elv_rb_del +EXPORT_SYMBOL vmlinux 0x891e32b8 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x89207bf3 input_unfilter_device +EXPORT_SYMBOL vmlinux 0x8927cddd thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x89c5b0fd mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89f4b2c1 file_permission +EXPORT_SYMBOL vmlinux 0x89fc9523 __register_binfmt +EXPORT_SYMBOL vmlinux 0x8a10f8f0 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x8a1203a9 kref_get +EXPORT_SYMBOL vmlinux 0x8a373fd7 twl4030_i2c_write +EXPORT_SYMBOL vmlinux 0x8a3c98ce set_binfmt +EXPORT_SYMBOL vmlinux 0x8a4ba84d submit_bio +EXPORT_SYMBOL vmlinux 0x8a4fa83b __aeabi_llsr +EXPORT_SYMBOL vmlinux 0x8a526636 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x8a737932 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x8a73d2aa otg_set_transceiver +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aa47fc7 simple_fsync +EXPORT_SYMBOL vmlinux 0x8ae77528 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x8b005e88 scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0x8b0f0355 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x8b1389cc __bforget +EXPORT_SYMBOL vmlinux 0x8b185d14 md_write_end +EXPORT_SYMBOL vmlinux 0x8b339bce inet_frags_init +EXPORT_SYMBOL vmlinux 0x8b38078e __free_pages +EXPORT_SYMBOL vmlinux 0x8b49863f inet_frag_kill +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b79f30b create_proc_entry +EXPORT_SYMBOL vmlinux 0x8b82b0ca mnt_unpin +EXPORT_SYMBOL vmlinux 0x8b9a4149 ida_destroy +EXPORT_SYMBOL vmlinux 0x8bc2cffa kill_anon_super +EXPORT_SYMBOL vmlinux 0x8bcb8abd kmap_atomic +EXPORT_SYMBOL vmlinux 0x8bcd0e88 rfkill_destroy +EXPORT_SYMBOL vmlinux 0x8bd313b8 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x8bd5b603 param_get_long +EXPORT_SYMBOL vmlinux 0x8c10a2fb __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x8c3cb225 security_path_link +EXPORT_SYMBOL vmlinux 0x8c3f63ed blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x8c69210a sock_release +EXPORT_SYMBOL vmlinux 0x8c7bc348 ida_remove +EXPORT_SYMBOL vmlinux 0x8c82f918 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x8c882ccf scsi_scan_target +EXPORT_SYMBOL vmlinux 0x8c894805 dev_unicast_add +EXPORT_SYMBOL vmlinux 0x8cb4d6f1 journal_start +EXPORT_SYMBOL vmlinux 0x8cd43b28 dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x8cf71ea1 make_EII_client +EXPORT_SYMBOL vmlinux 0x8d03afe4 ethtool_op_get_rx_csum +EXPORT_SYMBOL vmlinux 0x8d108f91 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x8d1b83d7 sock_register +EXPORT_SYMBOL vmlinux 0x8d1dbdd6 blk_register_region +EXPORT_SYMBOL vmlinux 0x8d3894f2 _ctype +EXPORT_SYMBOL vmlinux 0x8d488843 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d5642fc wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0x8d603f58 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0x8d6f81b4 __div64_32 +EXPORT_SYMBOL vmlinux 0x8d820e7d fget +EXPORT_SYMBOL vmlinux 0x8d84d92c tty_port_close_end +EXPORT_SYMBOL vmlinux 0x8dcb5c27 idr_remove +EXPORT_SYMBOL vmlinux 0x8dd392a4 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x8e0b7743 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x8e2e1ae3 vlan_gro_receive +EXPORT_SYMBOL vmlinux 0x8e3c9cc3 vprintk +EXPORT_SYMBOL vmlinux 0x8e426a7f mod_timer_pending +EXPORT_SYMBOL vmlinux 0x8e63261e d_alloc +EXPORT_SYMBOL vmlinux 0x8e763ae1 send_remote_softirq +EXPORT_SYMBOL vmlinux 0x8e82c20d icmp_send +EXPORT_SYMBOL vmlinux 0x8e8cd6e6 unregister_cdrom +EXPORT_SYMBOL vmlinux 0x8ee69235 timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8f078994 file_remove_suid +EXPORT_SYMBOL vmlinux 0x8f07d8ca __wait_on_bit +EXPORT_SYMBOL vmlinux 0x8f22d827 do_truncate +EXPORT_SYMBOL vmlinux 0x8f3b8921 mmc_free_host +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f573c9b simple_getattr +EXPORT_SYMBOL vmlinux 0x8f6674e8 find_get_pages_tag +EXPORT_SYMBOL vmlinux 0x8f69a242 __timecompare_update +EXPORT_SYMBOL vmlinux 0x8f6b7950 set_irq_data +EXPORT_SYMBOL vmlinux 0x8f7a1e9c scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x8f8adfc5 blk_put_request +EXPORT_SYMBOL vmlinux 0x8f92ed70 register_sysrq_key +EXPORT_SYMBOL vmlinux 0x8f9b86b2 kfifo_alloc +EXPORT_SYMBOL vmlinux 0x8fa5c4e8 vfs_quota_off +EXPORT_SYMBOL vmlinux 0x8fe3dd47 kmap +EXPORT_SYMBOL vmlinux 0x8ff0bc78 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x8ff9d61a seq_release_private +EXPORT_SYMBOL vmlinux 0x8ffdb3b8 crc16 +EXPORT_SYMBOL vmlinux 0x90035333 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x900e6871 dget_locked +EXPORT_SYMBOL vmlinux 0x90326b18 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x9051b8a6 call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x90c9023c unlock_super +EXPORT_SYMBOL vmlinux 0x90eddb68 alloc_etherdev_mq +EXPORT_SYMBOL vmlinux 0x90fc7fb4 sk_stream_error +EXPORT_SYMBOL vmlinux 0x91009452 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x9105f400 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x91481982 __ratelimit +EXPORT_SYMBOL vmlinux 0x91598b69 unregister_key_type +EXPORT_SYMBOL vmlinux 0x915e4a12 complete_request_key +EXPORT_SYMBOL vmlinux 0x915f4310 pci_disable_device +EXPORT_SYMBOL vmlinux 0x91766c09 param_get_ulong +EXPORT_SYMBOL vmlinux 0x9181daa4 pagecache_write_end +EXPORT_SYMBOL vmlinux 0x918b5d94 devm_ioport_map +EXPORT_SYMBOL vmlinux 0x919029aa __readwrite_bug +EXPORT_SYMBOL vmlinux 0x919d4818 prepare_binprm +EXPORT_SYMBOL vmlinux 0x91edcf2f xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x9214ed8a param_get_bool +EXPORT_SYMBOL vmlinux 0x923e5dea __dst_free +EXPORT_SYMBOL vmlinux 0x926401f2 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x929eecac __strncpy_from_user +EXPORT_SYMBOL vmlinux 0x92a241a2 genl_register_ops +EXPORT_SYMBOL vmlinux 0x92a6594d journal_lock_updates +EXPORT_SYMBOL vmlinux 0x92fa78ce mdiobus_write +EXPORT_SYMBOL vmlinux 0x933316f3 dcache_readdir +EXPORT_SYMBOL vmlinux 0x93541470 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x937fd3a0 amba_driver_unregister +EXPORT_SYMBOL vmlinux 0x93859d5b inet_add_protocol +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93d4fc99 generic_show_options +EXPORT_SYMBOL vmlinux 0x93fb4b67 unregister_console +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x94078388 d_prune_aliases +EXPORT_SYMBOL vmlinux 0x943f8dd4 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x94431793 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x944832d6 ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x945a458b search_binary_handler +EXPORT_SYMBOL vmlinux 0x94847b23 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x948768a7 cad_pid +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94fd3cbc vfs_quota_on_path +EXPORT_SYMBOL vmlinux 0x9501d078 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x95169807 pipe_unlock +EXPORT_SYMBOL vmlinux 0x9528ce42 __devm_release_region +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x954cbb26 vsprintf +EXPORT_SYMBOL vmlinux 0x9562cffd eth_mac_addr +EXPORT_SYMBOL vmlinux 0x95a57ca6 find_or_create_page +EXPORT_SYMBOL vmlinux 0x95ac603d bdi_unregister +EXPORT_SYMBOL vmlinux 0x95beaa49 ip6_frag_init +EXPORT_SYMBOL vmlinux 0x95dbe078 __get_user_2 +EXPORT_SYMBOL vmlinux 0x95f70e1c md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x961815dc pcim_iomap +EXPORT_SYMBOL vmlinux 0x961f2584 datagram_poll +EXPORT_SYMBOL vmlinux 0x9631e358 simple_statfs +EXPORT_SYMBOL vmlinux 0x963d4415 ip6_frag_match +EXPORT_SYMBOL vmlinux 0x964eaea5 km_report +EXPORT_SYMBOL vmlinux 0x965231db audit_log_format +EXPORT_SYMBOL vmlinux 0x967b394f add_disk +EXPORT_SYMBOL vmlinux 0x96898769 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x96c4055d ether_setup +EXPORT_SYMBOL vmlinux 0x96ccf9cf i2c_transfer +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96f9a24b blk_plug_device +EXPORT_SYMBOL vmlinux 0x970a0cca skb_recycle_check +EXPORT_SYMBOL vmlinux 0x971997d2 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x97235f4b mark_info_dirty +EXPORT_SYMBOL vmlinux 0x97255bdf strlen +EXPORT_SYMBOL vmlinux 0x972605ae mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0x972f366a dm_dirty_log_destroy +EXPORT_SYMBOL vmlinux 0x97325fa9 lease_modify +EXPORT_SYMBOL vmlinux 0x973b40af skb_under_panic +EXPORT_SYMBOL vmlinux 0x973b78bb simple_transaction_read +EXPORT_SYMBOL vmlinux 0x97471726 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x9785c272 inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0x97889c66 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x9795bb05 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x97a04163 set_groups +EXPORT_SYMBOL vmlinux 0x97b1c51f phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x97eb7db8 alloc_netdev_mq +EXPORT_SYMBOL vmlinux 0x97f00138 seq_read +EXPORT_SYMBOL vmlinux 0x97fd0d06 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x97fea11f tty_unthrottle +EXPORT_SYMBOL vmlinux 0x97fea540 register_quota_format +EXPORT_SYMBOL vmlinux 0x98082893 __copy_to_user +EXPORT_SYMBOL vmlinux 0x981ea9e5 simple_transaction_release +EXPORT_SYMBOL vmlinux 0x983ab6e3 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x986d2fe7 pci_set_mwi +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x986f6087 alloc_trdev +EXPORT_SYMBOL vmlinux 0x98b5dc7c __blk_run_queue +EXPORT_SYMBOL vmlinux 0x990023c0 generic_getxattr +EXPORT_SYMBOL vmlinux 0x991dd654 scsi_print_result +EXPORT_SYMBOL vmlinux 0x9921b8c5 dev_change_flags +EXPORT_SYMBOL vmlinux 0x99434da2 pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0x99464a06 dev_add_pack +EXPORT_SYMBOL vmlinux 0x99531fae journal_get_write_access +EXPORT_SYMBOL vmlinux 0x9953ea1c tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x99583c96 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x99800b82 mdiobus_free +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999c3148 __raw_readsb +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99ad6936 __kill_fasync +EXPORT_SYMBOL vmlinux 0x99bb8806 memmove +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c7a8b8 jbd2_dev_to_name +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99ea12ce panic_blink +EXPORT_SYMBOL vmlinux 0x9a07c2ce neigh_update +EXPORT_SYMBOL vmlinux 0x9a178d91 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a52c798 kset_unregister +EXPORT_SYMBOL vmlinux 0x9a6a846a blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x9a7b6d7f unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x9aa13341 unlock_page +EXPORT_SYMBOL vmlinux 0x9aac385e alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x9ae8296f get_sb_nodev +EXPORT_SYMBOL vmlinux 0x9afc790c pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x9b11e340 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0x9b191d92 kunmap_high +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b3ac998 d_splice_alias +EXPORT_SYMBOL vmlinux 0x9b6eb137 ksize +EXPORT_SYMBOL vmlinux 0x9b759e8d xfrm_input +EXPORT_SYMBOL vmlinux 0x9b8727e0 sock_no_connect +EXPORT_SYMBOL vmlinux 0x9b8b6202 input_inject_event +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9baee6e2 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x9bce482f __release_region +EXPORT_SYMBOL vmlinux 0x9bd98b18 timecompare_offset +EXPORT_SYMBOL vmlinux 0x9be9eec3 alloc_disk_node +EXPORT_SYMBOL vmlinux 0x9c012508 fb_parse_edid +EXPORT_SYMBOL vmlinux 0x9c2571f4 __down_read +EXPORT_SYMBOL vmlinux 0x9c2c735a input_get_keycode +EXPORT_SYMBOL vmlinux 0x9c40dbae skb_dma_map +EXPORT_SYMBOL vmlinux 0x9c6fc1f0 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x9c7077bd enable_hlt +EXPORT_SYMBOL vmlinux 0x9c7f7984 generic_make_request +EXPORT_SYMBOL vmlinux 0x9c9481c9 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x9c96517f blk_make_request +EXPORT_SYMBOL vmlinux 0x9c9ae8a7 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x9ca17a15 genphy_config_advert +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cc94f6d lro_flush_pkt +EXPORT_SYMBOL vmlinux 0x9cd0bf12 journal_force_commit +EXPORT_SYMBOL vmlinux 0x9cdd11b3 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x9ce1acfc nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x9ceb163c memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d03b366 names_cachep +EXPORT_SYMBOL vmlinux 0x9d246ec0 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x9d36b138 dm_dirty_log_type_unregister +EXPORT_SYMBOL vmlinux 0x9d3a4299 sget +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d669763 memcpy +EXPORT_SYMBOL vmlinux 0x9d8ce7b6 d_move +EXPORT_SYMBOL vmlinux 0x9da0c783 put_page +EXPORT_SYMBOL vmlinux 0x9df388cb copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x9df59743 pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0x9dfb17af override_creds +EXPORT_SYMBOL vmlinux 0x9e09a2dd hippi_type_trans +EXPORT_SYMBOL vmlinux 0x9e0c43bb blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x9e0c5619 dqget +EXPORT_SYMBOL vmlinux 0x9e10dda1 send_sig_info +EXPORT_SYMBOL vmlinux 0x9e120414 ida_get_new_above +EXPORT_SYMBOL vmlinux 0x9e2000a7 memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x9e31a655 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x9e45e85f jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x9e621da1 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x9e7a6ea6 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e8b5d2d tcf_hash_create +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ea6aac6 phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0x9eae0e55 phy_attach_direct +EXPORT_SYMBOL vmlinux 0x9ec28db5 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x9ec56ee3 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x9ed685ee iov_iter_advance +EXPORT_SYMBOL vmlinux 0x9eecde16 do_brk +EXPORT_SYMBOL vmlinux 0x9f26d91c handle_sysrq +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f2d613e param_set_bool +EXPORT_SYMBOL vmlinux 0x9f411008 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x9f424093 free_user_ns +EXPORT_SYMBOL vmlinux 0x9f5a3e30 kthread_create +EXPORT_SYMBOL vmlinux 0x9f5a6685 dm_table_put +EXPORT_SYMBOL vmlinux 0x9f68ce3f udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x9f729ccd set_disk_ro +EXPORT_SYMBOL vmlinux 0x9f72c2eb init_timer_key +EXPORT_SYMBOL vmlinux 0x9f797747 neigh_parms_release +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa23b2a input_flush_device +EXPORT_SYMBOL vmlinux 0x9fa325c0 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x9fb3dd30 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9fc40631 phy_print_status +EXPORT_SYMBOL vmlinux 0x9fcae273 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x9fe16148 dput +EXPORT_SYMBOL vmlinux 0x9fe2ad4a otg_get_transceiver +EXPORT_SYMBOL vmlinux 0xa00c7b7d pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0xa0335b12 lro_receive_frags +EXPORT_SYMBOL vmlinux 0xa03523d5 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa05b24bc journal_get_create_access +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa05eb0d5 remove_arg_zero +EXPORT_SYMBOL vmlinux 0xa068e4ff mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0xa07a8d22 sleep_on +EXPORT_SYMBOL vmlinux 0xa07ac24b irq_stat +EXPORT_SYMBOL vmlinux 0xa08dcb52 bd_claim +EXPORT_SYMBOL vmlinux 0xa0a3a22f journal_errno +EXPORT_SYMBOL vmlinux 0xa0a814b3 d_alloc_root +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b20b4f thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0da501d path_put +EXPORT_SYMBOL vmlinux 0xa0e640fa pci_release_region +EXPORT_SYMBOL vmlinux 0xa0f0cd2c do_map_probe +EXPORT_SYMBOL vmlinux 0xa0fa4157 register_cdrom +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa0ff1fb7 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa13613b1 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xa13798f8 printk_ratelimit +EXPORT_SYMBOL vmlinux 0xa148b2c3 dev_addr_del +EXPORT_SYMBOL vmlinux 0xa160f384 vfs_readdir +EXPORT_SYMBOL vmlinux 0xa16ca870 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0xa17e6b16 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0xa18e32f8 get_super +EXPORT_SYMBOL vmlinux 0xa19ca792 __kfifo_put +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1c26771 pci_map_rom +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa218bf61 complete +EXPORT_SYMBOL vmlinux 0xa21f6f54 alloc_file +EXPORT_SYMBOL vmlinux 0xa2361b19 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0xa25234ef inet_accept +EXPORT_SYMBOL vmlinux 0xa2598ce6 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xa259c573 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0xa267f042 get_phy_device +EXPORT_SYMBOL vmlinux 0xa28ba446 inode_change_ok +EXPORT_SYMBOL vmlinux 0xa29a506f blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0xa29b1708 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0xa2a0ee0f vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2bc33a3 lock_super +EXPORT_SYMBOL vmlinux 0xa2e986c9 cdev_alloc +EXPORT_SYMBOL vmlinux 0xa2f28dbb phy_start_aneg +EXPORT_SYMBOL vmlinux 0xa2f8d962 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xa3003ec9 phy_stop +EXPORT_SYMBOL vmlinux 0xa329beea skb_seq_read +EXPORT_SYMBOL vmlinux 0xa329f07e register_shrinker +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa334d852 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xa34f1ef5 crc32_le +EXPORT_SYMBOL vmlinux 0xa355a1bd dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa35f9a1a remove_inode_hash +EXPORT_SYMBOL vmlinux 0xa36dbab8 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0xa36f8d56 skb_push +EXPORT_SYMBOL vmlinux 0xa39d45d5 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0xa3c34a79 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0xa3e95894 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0xa3f85854 mmc_request_done +EXPORT_SYMBOL vmlinux 0xa4327f0b lro_flush_all +EXPORT_SYMBOL vmlinux 0xa434979e security_path_mkdir +EXPORT_SYMBOL vmlinux 0xa43b9539 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa447f26d qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0xa4b442b7 fifo_set_limit +EXPORT_SYMBOL vmlinux 0xa4bd5893 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xa4c93b29 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0xa5148eb5 rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xa51b8b6b block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0xa547ab12 security_path_rename +EXPORT_SYMBOL vmlinux 0xa5632711 con_is_bound +EXPORT_SYMBOL vmlinux 0xa568d4b2 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0xa5808bbf tasklet_init +EXPORT_SYMBOL vmlinux 0xa58b6804 nla_parse +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5bbb17e proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0xa5cef8ad release_resource +EXPORT_SYMBOL vmlinux 0xa5e03f04 input_register_device +EXPORT_SYMBOL vmlinux 0xa610cc65 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0xa612bb59 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0xa6346da2 netif_device_attach +EXPORT_SYMBOL vmlinux 0xa63a7f9f blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xa63d85ab slhc_remember +EXPORT_SYMBOL vmlinux 0xa68124fa hweight8 +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa69e2e28 thaw_bdev +EXPORT_SYMBOL vmlinux 0xa6b961b3 i2c_register_driver +EXPORT_SYMBOL vmlinux 0xa6c4d953 generic_readlink +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6ddbe37 skb_queue_purge +EXPORT_SYMBOL vmlinux 0xa6e6018f md_register_thread +EXPORT_SYMBOL vmlinux 0xa6ebb049 simple_fill_super +EXPORT_SYMBOL vmlinux 0xa6f5655b block_sync_page +EXPORT_SYMBOL vmlinux 0xa6f822f3 del_mtd_partitions +EXPORT_SYMBOL vmlinux 0xa6ff6c20 should_remove_suid +EXPORT_SYMBOL vmlinux 0xa74478ac amba_find_device +EXPORT_SYMBOL vmlinux 0xa77583b4 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xa794ba03 scsi_register +EXPORT_SYMBOL vmlinux 0xa7aed5a6 generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0xa7b74221 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xa7c379c2 security_d_instantiate +EXPORT_SYMBOL vmlinux 0xa7eea97a d_instantiate +EXPORT_SYMBOL vmlinux 0xa7f6460f pci_select_bars +EXPORT_SYMBOL vmlinux 0xa7f76c61 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xa8125f00 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xa817d5e6 simple_rmdir +EXPORT_SYMBOL vmlinux 0xa8337c79 inet6_release +EXPORT_SYMBOL vmlinux 0xa834f836 register_console +EXPORT_SYMBOL vmlinux 0xa846980d __ps2_command +EXPORT_SYMBOL vmlinux 0xa875cbdb dquot_destroy +EXPORT_SYMBOL vmlinux 0xa877e305 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xa89ce182 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0xa8ac4d52 copy_io_context +EXPORT_SYMBOL vmlinux 0xa8bae46d dev_mc_add +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa90f0a6d jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0xa9466e3b bioset_create +EXPORT_SYMBOL vmlinux 0xa95007d3 soft_cursor +EXPORT_SYMBOL vmlinux 0xa97e687a blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xa990f88a bdget +EXPORT_SYMBOL vmlinux 0xa99b52e9 revert_creds +EXPORT_SYMBOL vmlinux 0xa9a92354 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0xa9b949e7 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0xa9d02c9e blk_execute_rq +EXPORT_SYMBOL vmlinux 0xa9e51183 pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0xa9f1ed23 bit_waitqueue +EXPORT_SYMBOL vmlinux 0xa9fb1a0c unregister_netdevice +EXPORT_SYMBOL vmlinux 0xaa85d4d8 blk_init_tags +EXPORT_SYMBOL vmlinux 0xaa8c28a5 save_mount_options +EXPORT_SYMBOL vmlinux 0xaa9ed8d3 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0xaae26c0a ethtool_op_get_flags +EXPORT_SYMBOL vmlinux 0xaaf20fe1 dma_unmap_sg +EXPORT_SYMBOL vmlinux 0xaaf526b7 __napi_schedule +EXPORT_SYMBOL vmlinux 0xaaf86c30 generic_setxattr +EXPORT_SYMBOL vmlinux 0xaafc75ae ip_ct_attach +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab04e990 lease_get_mtime +EXPORT_SYMBOL vmlinux 0xab1b36e8 __scsi_put_command +EXPORT_SYMBOL vmlinux 0xab2fbe9c pcim_enable_device +EXPORT_SYMBOL vmlinux 0xab53b0a8 mempool_alloc +EXPORT_SYMBOL vmlinux 0xab560842 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0xab58eb4f pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab63be2a vfs_follow_link +EXPORT_SYMBOL vmlinux 0xab680c96 __down_read_trylock +EXPORT_SYMBOL vmlinux 0xab7badd9 posix_acl_permission +EXPORT_SYMBOL vmlinux 0xab7fd0f3 blk_fetch_request +EXPORT_SYMBOL vmlinux 0xab838bf7 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0xabc84cff fddi_change_mtu +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabd47787 down_killable +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac235c19 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xac50372b __kfree_skb +EXPORT_SYMBOL vmlinux 0xac54fc9f mempool_destroy +EXPORT_SYMBOL vmlinux 0xac5aa75e ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xac5c8d79 __getblk +EXPORT_SYMBOL vmlinux 0xac5da09f kmem_cache_create +EXPORT_SYMBOL vmlinux 0xac5f113d cpu_all_bits +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xaca8f71d phy_sanitize_settings +EXPORT_SYMBOL vmlinux 0xacba9bba cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0xacc2d0e4 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0xacca9176 seq_bitmap_list +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xaccb0cee dquot_free_inode +EXPORT_SYMBOL vmlinux 0xacda9b8e inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0xacdeb154 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xacf2f970 neigh_table_init_no_netlink +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad00fd52 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad43ec16 kernel_accept +EXPORT_SYMBOL vmlinux 0xad53a0f1 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0xad631b86 blk_init_queue +EXPORT_SYMBOL vmlinux 0xad96dd2f pcie_set_readrq +EXPORT_SYMBOL vmlinux 0xadb2f8e8 unregister_nls +EXPORT_SYMBOL vmlinux 0xadb792c2 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xadf42bd5 __request_region +EXPORT_SYMBOL vmlinux 0xadf4ace7 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xae013d0b amba_release_regions +EXPORT_SYMBOL vmlinux 0xae1074c9 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0xae10765b scsi_device_put +EXPORT_SYMBOL vmlinux 0xae13f7e0 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0xae266d3b scsi_allocate_command +EXPORT_SYMBOL vmlinux 0xae395308 per_cpu__vm_event_states +EXPORT_SYMBOL vmlinux 0xae5367d7 kill_fasync +EXPORT_SYMBOL vmlinux 0xae5793df generic_file_splice_read +EXPORT_SYMBOL vmlinux 0xae58de70 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0xae98ce0c md_write_start +EXPORT_SYMBOL vmlinux 0xaec655c7 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0xaed013b9 posix_acl_valid +EXPORT_SYMBOL vmlinux 0xaed72d36 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0xaee7307c __brelse +EXPORT_SYMBOL vmlinux 0xaeecae51 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xaef05c21 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xaef9c0e1 page_put_link +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf3f7dd5 dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0xaf466237 poll_initwait +EXPORT_SYMBOL vmlinux 0xaf50e76d elf_set_personality +EXPORT_SYMBOL vmlinux 0xaf881586 journal_release_buffer +EXPORT_SYMBOL vmlinux 0xaf8aa518 system_rev +EXPORT_SYMBOL vmlinux 0xafadf1d9 netlink_ack +EXPORT_SYMBOL vmlinux 0xafbacadb tcf_hash_release +EXPORT_SYMBOL vmlinux 0xafc918b2 skb_pad +EXPORT_SYMBOL vmlinux 0xafce482a init_file +EXPORT_SYMBOL vmlinux 0xafe72d4e journal_restart +EXPORT_SYMBOL vmlinux 0xb0161a0d sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xb030a6fa skb_free_datagram +EXPORT_SYMBOL vmlinux 0xb035c5a4 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xb0418788 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0xb0581834 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0xb076c890 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0xb07ff304 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xb0b76f58 register_netdevice +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0cd9c2b netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb1473412 security_path_mknod +EXPORT_SYMBOL vmlinux 0xb14f0fd3 dma_free_coherent +EXPORT_SYMBOL vmlinux 0xb1819d33 journal_init_inode +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1ad28e0 __gnu_mcount_nc +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1cca7d8 md_done_sync +EXPORT_SYMBOL vmlinux 0xb1f2195a ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xb224fbe2 param_get_short +EXPORT_SYMBOL vmlinux 0xb22fe6a3 netdev_increment_features +EXPORT_SYMBOL vmlinux 0xb2346c2a inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0xb24fc0a9 filemap_fault +EXPORT_SYMBOL vmlinux 0xb261a8e3 pci_save_state +EXPORT_SYMBOL vmlinux 0xb2668bcd seq_puts +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb272fd2a proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xb28a7bbe request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0xb298f487 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0xb2bf1312 __up_read +EXPORT_SYMBOL vmlinux 0xb2c9de27 tty_register_device +EXPORT_SYMBOL vmlinux 0xb2d72cc7 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xb2f338b1 put_disk +EXPORT_SYMBOL vmlinux 0xb3393c77 kunmap_atomic +EXPORT_SYMBOL vmlinux 0xb345b0ad dmam_free_coherent +EXPORT_SYMBOL vmlinux 0xb376d79d radix_tree_tagged +EXPORT_SYMBOL vmlinux 0xb3a307c6 si_meminfo +EXPORT_SYMBOL vmlinux 0xb3b66e1b module_put +EXPORT_SYMBOL vmlinux 0xb3e40734 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0xb3e7dccb dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0xb3fe02b1 down_write +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb42453d3 param_get_invbool +EXPORT_SYMBOL vmlinux 0xb436ffa3 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xb4390f9a mcount +EXPORT_SYMBOL vmlinux 0xb43afe1e lock_rename +EXPORT_SYMBOL vmlinux 0xb4489bf7 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xb44b996c block_invalidatepage +EXPORT_SYMBOL vmlinux 0xb46def87 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb4aaeeaa bio_uncopy_user +EXPORT_SYMBOL vmlinux 0xb4d48e04 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0xb5044271 vsscanf +EXPORT_SYMBOL vmlinux 0xb50a1f8b kernel_connect +EXPORT_SYMBOL vmlinux 0xb50c3b4e mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xb534763c sg_free_table +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb548b765 generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5b204b4 dm_io_client_create +EXPORT_SYMBOL vmlinux 0xb5b7ecbf generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xb5ca1c46 slhc_free +EXPORT_SYMBOL vmlinux 0xb62ed484 read_cache_page_async +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb67a0d2f bitmap_startwrite +EXPORT_SYMBOL vmlinux 0xb6896671 crc_t10dif +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6bffb99 kstat_irqs_cpu +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6c6a2eb dev_alloc_name +EXPORT_SYMBOL vmlinux 0xb6c70a7d __wake_up +EXPORT_SYMBOL vmlinux 0xb6cabbdf uart_get_divisor +EXPORT_SYMBOL vmlinux 0xb6cb62a8 blk_end_request +EXPORT_SYMBOL vmlinux 0xb6d5b4d3 spi_schedule_dv_device +EXPORT_SYMBOL vmlinux 0xb726d05d inet_frags_fini +EXPORT_SYMBOL vmlinux 0xb7278a93 netpoll_poll +EXPORT_SYMBOL vmlinux 0xb75502f7 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xb798b8e4 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0xb7ad3321 ida_init +EXPORT_SYMBOL vmlinux 0xb7b61546 crc32_be +EXPORT_SYMBOL vmlinux 0xb7ba76c7 __aeabi_unwind_cpp_pr2 +EXPORT_SYMBOL vmlinux 0xb7ccb3c7 twl4030_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xb7ceecd2 dquot_free_space +EXPORT_SYMBOL vmlinux 0xb7d34e90 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xb7d77747 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xb80a1bcd con_copy_unimap +EXPORT_SYMBOL vmlinux 0xb80ca345 pci_match_id +EXPORT_SYMBOL vmlinux 0xb83df960 nobh_write_end +EXPORT_SYMBOL vmlinux 0xb84ed32f proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb87356d2 ip_getsockopt +EXPORT_SYMBOL vmlinux 0xb87916cb vfs_rmdir +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8aa2342 __check_region +EXPORT_SYMBOL vmlinux 0xb8c88f71 phy_attach +EXPORT_SYMBOL vmlinux 0xb8f8f0b2 tcf_exts_change +EXPORT_SYMBOL vmlinux 0xb8f91929 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0xb9113d19 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xb91c9247 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0xb95f98d6 _memset_io +EXPORT_SYMBOL vmlinux 0xb979ed6e mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0xb97d4c9c mutex_lock +EXPORT_SYMBOL vmlinux 0xb983f924 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb98ef804 vm_stat +EXPORT_SYMBOL vmlinux 0xb9acd3d9 __put_user_2 +EXPORT_SYMBOL vmlinux 0xb9c31240 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0xb9f779e9 dev_remove_pack +EXPORT_SYMBOL vmlinux 0xba1b80e3 blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0xba3bda2a __downgrade_write +EXPORT_SYMBOL vmlinux 0xba48f299 set_security_override +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba555d83 devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0xba66e738 dquot_release +EXPORT_SYMBOL vmlinux 0xba8f8b68 completion_done +EXPORT_SYMBOL vmlinux 0xbaaab8ae timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xbaba9dda blk_rq_init +EXPORT_SYMBOL vmlinux 0xbad15cfb fsync_bdev +EXPORT_SYMBOL vmlinux 0xbb0a6cf8 take_over_console +EXPORT_SYMBOL vmlinux 0xbb167766 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb30cf12 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xbb485c4e vfs_create +EXPORT_SYMBOL vmlinux 0xbb4f7b20 path_get +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb6d2099 pci_find_device +EXPORT_SYMBOL vmlinux 0xbb72d4fe __put_user_1 +EXPORT_SYMBOL vmlinux 0xbb7c3976 put_mnt_ns +EXPORT_SYMBOL vmlinux 0xbb88100e scsi_unregister +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbbc6ab4a pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0xbbed1d65 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0xbbf50c87 dma_alloc_writecombine +EXPORT_SYMBOL vmlinux 0xbc0ea1b1 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xbc10dd97 __put_user_4 +EXPORT_SYMBOL vmlinux 0xbc147455 blk_requeue_request +EXPORT_SYMBOL vmlinux 0xbc3e5a99 block_write_end +EXPORT_SYMBOL vmlinux 0xbc52dd08 kthread_bind +EXPORT_SYMBOL vmlinux 0xbc8a403d simple_lookup +EXPORT_SYMBOL vmlinux 0xbca4b7a9 get_write_access +EXPORT_SYMBOL vmlinux 0xbcb0a41b may_umount_tree +EXPORT_SYMBOL vmlinux 0xbd0908c2 insert_inode_locked +EXPORT_SYMBOL vmlinux 0xbd8c68ad security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0xbda0e3b4 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xbdb80ef1 clk_add_alias +EXPORT_SYMBOL vmlinux 0xbdb9e7dd sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xbdc371b4 vga_tryget +EXPORT_SYMBOL vmlinux 0xbdc8cf24 simple_write_begin +EXPORT_SYMBOL vmlinux 0xbdd335a0 phy_connect +EXPORT_SYMBOL vmlinux 0xbdf2580d __raw_readsl +EXPORT_SYMBOL vmlinux 0xbdf2d3f1 blkdev_get +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbe02ac02 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0xbe02bf92 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0xbe093dee tcp_ioctl +EXPORT_SYMBOL vmlinux 0xbe0e5118 nla_memcmp +EXPORT_SYMBOL vmlinux 0xbe63ee40 request_resource +EXPORT_SYMBOL vmlinux 0xbe834d03 scsi_dma_map +EXPORT_SYMBOL vmlinux 0xbe9d57a6 dev_set_mtu +EXPORT_SYMBOL vmlinux 0xbea96756 pipe_to_file +EXPORT_SYMBOL vmlinux 0xbedb2276 have_submounts +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf01db90 generic_ro_fops +EXPORT_SYMBOL vmlinux 0xbf11e350 input_open_device +EXPORT_SYMBOL vmlinux 0xbf276fdd textsearch_prepare +EXPORT_SYMBOL vmlinux 0xbf4d2a7d tty_register_ldisc +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfb87011 dm_io +EXPORT_SYMBOL vmlinux 0xbfbbc4dd pcibios_fixup_bus +EXPORT_SYMBOL vmlinux 0xbfdccf68 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc0044724 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xc00f9590 pci_claim_resource +EXPORT_SYMBOL vmlinux 0xc011560f bio_phys_segments +EXPORT_SYMBOL vmlinux 0xc02cf69b clkdev_drop +EXPORT_SYMBOL vmlinux 0xc02ec41b scsi_remove_device +EXPORT_SYMBOL vmlinux 0xc044c7be generic_file_direct_write +EXPORT_SYMBOL vmlinux 0xc04b5552 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc066fef2 sock_sendmsg +EXPORT_SYMBOL vmlinux 0xc090ce11 gen_pool_alloc +EXPORT_SYMBOL vmlinux 0xc09a0af5 spi_display_xfer_agreement +EXPORT_SYMBOL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL vmlinux 0xc0cb394a vga_put +EXPORT_SYMBOL vmlinux 0xc0d2faae sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0xc0edbff5 __register_chrdev +EXPORT_SYMBOL vmlinux 0xc11bdc95 mii_check_link +EXPORT_SYMBOL vmlinux 0xc11d8093 iov_shorten +EXPORT_SYMBOL vmlinux 0xc1322758 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0xc140b3fc sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0xc1513e89 cdrom_release +EXPORT_SYMBOL vmlinux 0xc151ebf4 slow_work_enqueue +EXPORT_SYMBOL vmlinux 0xc1601a4f _change_bit_le +EXPORT_SYMBOL vmlinux 0xc1b76199 bd_set_size +EXPORT_SYMBOL vmlinux 0xc1d25627 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0xc1f25439 ip_route_output_key +EXPORT_SYMBOL vmlinux 0xc1fc4511 _test_and_change_bit_le +EXPORT_SYMBOL vmlinux 0xc200732f is_container_init +EXPORT_SYMBOL vmlinux 0xc21e5d0c pci_set_dma_mask +EXPORT_SYMBOL vmlinux 0xc223b5d3 dm_table_unplug_all +EXPORT_SYMBOL vmlinux 0xc22616f1 __init_rwsem +EXPORT_SYMBOL vmlinux 0xc23db12a ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc26d3d36 mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0xc27487dd __bug +EXPORT_SYMBOL vmlinux 0xc29531e2 map_destroy +EXPORT_SYMBOL vmlinux 0xc2d711e1 krealloc +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2ebd5a9 md_unregister_thread +EXPORT_SYMBOL vmlinux 0xc316b98c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0xc3174b06 devm_ioremap +EXPORT_SYMBOL vmlinux 0xc32880ca tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xc359fb65 abort +EXPORT_SYMBOL vmlinux 0xc36819eb create_mnt_ns +EXPORT_SYMBOL vmlinux 0xc3758f28 set_bh_page +EXPORT_SYMBOL vmlinux 0xc38140bf cdev_del +EXPORT_SYMBOL vmlinux 0xc38d7a0e blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0xc39b13ae tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0xc3c19d02 seq_putc +EXPORT_SYMBOL vmlinux 0xc3c41dbe journal_flush +EXPORT_SYMBOL vmlinux 0xc3c5b649 arp_send +EXPORT_SYMBOL vmlinux 0xc3cb09b8 bdev_read_only +EXPORT_SYMBOL vmlinux 0xc3cf1128 in_group_p +EXPORT_SYMBOL vmlinux 0xc4040bdf ethtool_op_get_sg +EXPORT_SYMBOL vmlinux 0xc440c451 sg_alloc_table +EXPORT_SYMBOL vmlinux 0xc4429c76 scsi_finish_command +EXPORT_SYMBOL vmlinux 0xc458b2ea gen_pool_add +EXPORT_SYMBOL vmlinux 0xc466b1e9 slow_work_cancel +EXPORT_SYMBOL vmlinux 0xc4992fa9 get_disk +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc50aeb49 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0xc516dde0 vfs_dq_drop +EXPORT_SYMBOL vmlinux 0xc52f5714 fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0xc5323e1e __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xc55fb162 tcf_hash_check +EXPORT_SYMBOL vmlinux 0xc57b43f1 scsi_init_io +EXPORT_SYMBOL vmlinux 0xc598fd98 deny_write_access +EXPORT_SYMBOL vmlinux 0xc5db8c81 sock_rfree +EXPORT_SYMBOL vmlinux 0xc6144a0f kmem_cache_size +EXPORT_SYMBOL vmlinux 0xc61676f7 hippi_mac_addr +EXPORT_SYMBOL vmlinux 0xc6184045 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xc6246eb6 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0xc62eb10c vm_insert_page +EXPORT_SYMBOL vmlinux 0xc633495b schedule_work +EXPORT_SYMBOL vmlinux 0xc695baae jbd2_journal_load +EXPORT_SYMBOL vmlinux 0xc6e0e167 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xc702d765 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xc7038dde set_anon_super +EXPORT_SYMBOL vmlinux 0xc71d0552 napi_reuse_skb +EXPORT_SYMBOL vmlinux 0xc71ef011 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0xc722227e posix_acl_clone +EXPORT_SYMBOL vmlinux 0xc77397be input_free_device +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7ad3e28 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xc7c3e3c1 pci_find_bus +EXPORT_SYMBOL vmlinux 0xc7ec4e02 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0xc7ec6c27 strspn +EXPORT_SYMBOL vmlinux 0xc7eee87e get_mem_type +EXPORT_SYMBOL vmlinux 0xc7f8874b seq_escape +EXPORT_SYMBOL vmlinux 0xc80de694 down_write_trylock +EXPORT_SYMBOL vmlinux 0xc80e2e4b tcp_parse_options +EXPORT_SYMBOL vmlinux 0xc82c328a scsi_ioctl +EXPORT_SYMBOL vmlinux 0xc85033bc serio_reconnect +EXPORT_SYMBOL vmlinux 0xc8519b82 inet_csk_accept +EXPORT_SYMBOL vmlinux 0xc8850263 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xc89f75f5 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8d1d9ad hippi_neigh_setup_dev +EXPORT_SYMBOL vmlinux 0xc8d9fd17 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xc8e7f60c ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0xc8ee036a blk_sync_queue +EXPORT_SYMBOL vmlinux 0xc8fa8acf ps2_end_command +EXPORT_SYMBOL vmlinux 0xc9084d37 cdev_add +EXPORT_SYMBOL vmlinux 0xc9242666 mod_timer +EXPORT_SYMBOL vmlinux 0xc954975f xfrm_init_state +EXPORT_SYMBOL vmlinux 0xc95d0fe7 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0xc974485d __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xc98136b1 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0xc984e0b4 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xc987bba0 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0xc998d641 icmp_err_convert +EXPORT_SYMBOL vmlinux 0xc99a5b75 ethtool_op_set_tx_csum +EXPORT_SYMBOL vmlinux 0xc9cc2e3e ip_fragment +EXPORT_SYMBOL vmlinux 0xc9ce7a4e ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0xc9cff711 journal_check_used_features +EXPORT_SYMBOL vmlinux 0xc9e4a1e3 __put_cred +EXPORT_SYMBOL vmlinux 0xca2b85fc scsi_mode_sense +EXPORT_SYMBOL vmlinux 0xca455345 generic_file_open +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca6c2e40 sync_inode +EXPORT_SYMBOL vmlinux 0xca7ae4ed page_follow_link_light +EXPORT_SYMBOL vmlinux 0xca886714 brioctl_set +EXPORT_SYMBOL vmlinux 0xcac8f347 dev_unicast_sync +EXPORT_SYMBOL vmlinux 0xcadd0154 xrlim_allow +EXPORT_SYMBOL vmlinux 0xcaded1d5 user_path_at +EXPORT_SYMBOL vmlinux 0xcadf9455 __lock_buffer +EXPORT_SYMBOL vmlinux 0xcb0096cb dev_getbyhwaddr +EXPORT_SYMBOL vmlinux 0xcb07077d phy_connect_direct +EXPORT_SYMBOL vmlinux 0xcb0fcf3b set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0xcb35341b __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0xcb6beb40 hweight32 +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcbc29f4e gen_new_estimator +EXPORT_SYMBOL vmlinux 0xcbd717e5 kernel_bind +EXPORT_SYMBOL vmlinux 0xcbe94a5b __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0xcc060dd7 timecompare_transform +EXPORT_SYMBOL vmlinux 0xcc1376de dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xcc1de8a5 get_phy_id +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc378ff8 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xcc42cfff netif_receive_skb +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5a1d23 scsi_print_sense +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc93002f bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0xcc9995df blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0xcc9c14d3 freeze_bdev +EXPORT_SYMBOL vmlinux 0xccbf5024 invalidate_partition +EXPORT_SYMBOL vmlinux 0xcccca482 _test_and_clear_bit_le +EXPORT_SYMBOL vmlinux 0xcd06f3c0 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xcd486a51 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0xcd63c845 __aeabi_lasr +EXPORT_SYMBOL vmlinux 0xcd91668b scsi_print_command +EXPORT_SYMBOL vmlinux 0xcd963b46 pci_request_region +EXPORT_SYMBOL vmlinux 0xcdbb616b bitmap_start_sync +EXPORT_SYMBOL vmlinux 0xcdc09a3c km_policy_expired +EXPORT_SYMBOL vmlinux 0xcde42114 slow_work_sleep_till_thread_needed +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce23f08b scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xce2e4788 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xce338b55 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0xce36ded6 sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce6f1026 force_sig +EXPORT_SYMBOL vmlinux 0xceb2a11e textsearch_destroy +EXPORT_SYMBOL vmlinux 0xceeca4de elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0xcefba83d simple_transaction_set +EXPORT_SYMBOL vmlinux 0xcf076a41 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xcf504fd4 tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0xcf63ab9f neigh_changeaddr +EXPORT_SYMBOL vmlinux 0xcf7c1f7d qdisc_destroy +EXPORT_SYMBOL vmlinux 0xcf8c647b llc_sap_close +EXPORT_SYMBOL vmlinux 0xcf952ffd bdi_register +EXPORT_SYMBOL vmlinux 0xcfada491 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0xcfb9006e jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0xcfc8751c inet6_getname +EXPORT_SYMBOL vmlinux 0xcfcf9f39 phy_detach +EXPORT_SYMBOL vmlinux 0xcff53400 kref_put +EXPORT_SYMBOL vmlinux 0xd00fbd1b mmc_register_driver +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd01a5c42 tcp_v4_remember_stamp +EXPORT_SYMBOL vmlinux 0xd0204255 dm_exception_store_create +EXPORT_SYMBOL vmlinux 0xd0235d5a udp_ioctl +EXPORT_SYMBOL vmlinux 0xd0319d6a inode_add_bytes +EXPORT_SYMBOL vmlinux 0xd04e731e per_cpu__kstat +EXPORT_SYMBOL vmlinux 0xd06435e0 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xd09f63c4 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0xd09f8f4b open_by_devnum +EXPORT_SYMBOL vmlinux 0xd0aecfed ip_route_input +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd109f8cb sock_no_socketpair +EXPORT_SYMBOL vmlinux 0xd1300d73 unregister_con_driver +EXPORT_SYMBOL vmlinux 0xd14a86ef generic_write_checks +EXPORT_SYMBOL vmlinux 0xd165a1dc netlink_dump_start +EXPORT_SYMBOL vmlinux 0xd1780a83 devm_iounmap +EXPORT_SYMBOL vmlinux 0xd196c0c1 pci_iounmap +EXPORT_SYMBOL vmlinux 0xd19e3e01 bdi_destroy +EXPORT_SYMBOL vmlinux 0xd1c1c168 default_file_splice_read +EXPORT_SYMBOL vmlinux 0xd1efb47f iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xd1fb24d1 sysctl_ms_jiffies +EXPORT_SYMBOL vmlinux 0xd20b5b85 simple_pin_fs +EXPORT_SYMBOL vmlinux 0xd2199a45 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xd2320158 blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0xd25093ec blk_queue_find_tag +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 0xd2763640 follow_up +EXPORT_SYMBOL vmlinux 0xd2770f16 nf_register_hook +EXPORT_SYMBOL vmlinux 0xd283f056 sock_no_accept +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2a68761 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0xd2b10ca8 vfs_mkdir +EXPORT_SYMBOL vmlinux 0xd2c27d3b blkdev_put +EXPORT_SYMBOL vmlinux 0xd2d4f4d0 uart_add_one_port +EXPORT_SYMBOL vmlinux 0xd2d8df6e dm_table_get_size +EXPORT_SYMBOL vmlinux 0xd2df09e8 update_region +EXPORT_SYMBOL vmlinux 0xd2f74256 skb_gso_segment +EXPORT_SYMBOL vmlinux 0xd32e52c7 posix_acl_chmod_masq +EXPORT_SYMBOL vmlinux 0xd3427f73 mempool_create_node +EXPORT_SYMBOL vmlinux 0xd39a1f8e __find_get_block +EXPORT_SYMBOL vmlinux 0xd3dbfbc4 _find_first_zero_bit_le +EXPORT_SYMBOL vmlinux 0xd3e6db54 install_exec_creds +EXPORT_SYMBOL vmlinux 0xd3fad1f9 do_splice_from +EXPORT_SYMBOL vmlinux 0xd418e1c0 adjust_resource +EXPORT_SYMBOL vmlinux 0xd41a1e1f genphy_read_status +EXPORT_SYMBOL vmlinux 0xd4396794 dst_release +EXPORT_SYMBOL vmlinux 0xd45c9a9a input_event +EXPORT_SYMBOL vmlinux 0xd464e348 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0xd4812a20 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0xd4b51a9c generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xd4df9a18 unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0xd4ef4c01 neigh_lookup +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd53baf25 simple_sync_file +EXPORT_SYMBOL vmlinux 0xd559e0f2 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xd55d44dc ppp_channel_index +EXPORT_SYMBOL vmlinux 0xd5688a7a radix_tree_insert +EXPORT_SYMBOL vmlinux 0xd57868bc cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xd5a6e632 put_io_context +EXPORT_SYMBOL vmlinux 0xd5b461a6 get_user_pages +EXPORT_SYMBOL vmlinux 0xd5c06ef1 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0xd5c8ba50 input_set_capability +EXPORT_SYMBOL vmlinux 0xd5d8bfad pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0xd627480b strncat +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd62ec627 mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0xd64cebc1 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0xd65ee9f3 simple_set_mnt +EXPORT_SYMBOL vmlinux 0xd66c6228 down_read_trylock +EXPORT_SYMBOL vmlinux 0xd66edf37 __scsi_add_device +EXPORT_SYMBOL vmlinux 0xd6905449 nla_append +EXPORT_SYMBOL vmlinux 0xd6a78d08 smp_call_function_single +EXPORT_SYMBOL vmlinux 0xd6de1124 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd71b1793 __nla_reserve +EXPORT_SYMBOL vmlinux 0xd7249c4c dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0xd73ba198 bio_add_page +EXPORT_SYMBOL vmlinux 0xd75830a8 elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0xd77a1fe5 journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd78ccf8b neigh_seq_next +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd7b69fae idr_find +EXPORT_SYMBOL vmlinux 0xd7ba52fd pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0xd7c26379 consume_skb +EXPORT_SYMBOL vmlinux 0xd7e6f987 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xd7e7ebd5 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0xd7ed80ea scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0xd81ab64d dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xd81f0de3 qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0xd8282ff0 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0xd83791bc nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd8463b5c input_unregister_handle +EXPORT_SYMBOL vmlinux 0xd8735fd6 posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0xd8a2ab95 in_egroup_p +EXPORT_SYMBOL vmlinux 0xd8cdd05e user_revoke +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd901ad3b elevator_init +EXPORT_SYMBOL vmlinux 0xd90cd369 devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0xd954f352 seq_lseek +EXPORT_SYMBOL vmlinux 0xd963a74a flush_delayed_work +EXPORT_SYMBOL vmlinux 0xd964d491 replace_mount_options +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd99b7095 sock_get_timestampns +EXPORT_SYMBOL vmlinux 0xd9ce8f0c strnlen +EXPORT_SYMBOL vmlinux 0xd9fceb3e fib_default_rule_add +EXPORT_SYMBOL vmlinux 0xda1a7335 kasprintf +EXPORT_SYMBOL vmlinux 0xda1fc224 cpu_cache +EXPORT_SYMBOL vmlinux 0xda3cb8b1 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0xda4b7b97 xfrm_state_add +EXPORT_SYMBOL vmlinux 0xda5ea696 _test_and_set_bit_le +EXPORT_SYMBOL vmlinux 0xda6f22b3 vc_cons +EXPORT_SYMBOL vmlinux 0xda7379fa vfs_link +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xda8b5096 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xda966a97 dev_get_stats +EXPORT_SYMBOL vmlinux 0xda97fc7f sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xda9e25e5 alloc_mdio_bitbang +EXPORT_SYMBOL vmlinux 0xdaa57ec3 totalhigh_pages +EXPORT_SYMBOL vmlinux 0xdaae49aa __netif_schedule +EXPORT_SYMBOL vmlinux 0xdadbf995 ethtool_op_get_tso +EXPORT_SYMBOL vmlinux 0xdaec947f insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0xdb02b264 pci_get_slot +EXPORT_SYMBOL vmlinux 0xdb2247ff elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0xdb4c88b4 groups_alloc +EXPORT_SYMBOL vmlinux 0xdb4fce56 neigh_for_each +EXPORT_SYMBOL vmlinux 0xdb71dc5a sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0xdb7aee85 vmap +EXPORT_SYMBOL vmlinux 0xdb864d65 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xdb9ee394 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0xdba37084 kernel_read +EXPORT_SYMBOL vmlinux 0xdba44fea journal_dirty_data +EXPORT_SYMBOL vmlinux 0xdba90f24 fb_set_suspend +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbd887d9 proc_mkdir +EXPORT_SYMBOL vmlinux 0xdbe5f6ee dst_alloc +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc053205 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0xdc101195 netpoll_setup +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc1fbae0 dentry_unhash +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc2e7c2f pci_pme_active +EXPORT_SYMBOL vmlinux 0xdc42573b sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc74cc24 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xdca0e950 genl_register_family +EXPORT_SYMBOL vmlinux 0xdcb018cc __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcb2c64c tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0xdcc0e800 __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xdccd63a7 icmpv6_send +EXPORT_SYMBOL vmlinux 0xdd019744 neigh_create +EXPORT_SYMBOL vmlinux 0xdd0a2ba2 strlcat +EXPORT_SYMBOL vmlinux 0xdd0f689f dst_discard +EXPORT_SYMBOL vmlinux 0xdd157e32 scsi_host_set_state +EXPORT_SYMBOL vmlinux 0xdd1f4305 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0xdd27fa87 memchr +EXPORT_SYMBOL vmlinux 0xdd42282d pci_fixup_device +EXPORT_SYMBOL vmlinux 0xdd6bfccd radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0xdd6e66af ethtool_op_set_sg +EXPORT_SYMBOL vmlinux 0xdda89018 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xddc4007b tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0xddd69380 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0xde31b902 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xde3c68a6 cpu_online_mask +EXPORT_SYMBOL vmlinux 0xde40243d dquot_commit_info +EXPORT_SYMBOL vmlinux 0xde4b0ac8 dma_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0xde5d413e block_write_begin +EXPORT_SYMBOL vmlinux 0xde75b689 set_irq_type +EXPORT_SYMBOL vmlinux 0xde8d0a6b inode_setattr +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xde98ed39 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xde994284 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xde9cf8e5 uart_match_port +EXPORT_SYMBOL vmlinux 0xde9e33f7 tty_free_termios +EXPORT_SYMBOL vmlinux 0xdeb5d796 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0xdee075ba gen_pool_free +EXPORT_SYMBOL vmlinux 0xdefc7cc7 bio_free +EXPORT_SYMBOL vmlinux 0xdf1623e7 tty_hangup +EXPORT_SYMBOL vmlinux 0xdf16efc2 vfsmount_lock +EXPORT_SYMBOL vmlinux 0xdf1b904e pagevec_lookup +EXPORT_SYMBOL vmlinux 0xdf1c61ae phy_register_fixup +EXPORT_SYMBOL vmlinux 0xdf2f3fcf jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0xdf4c8767 ns_to_timeval +EXPORT_SYMBOL vmlinux 0xdf52e673 dquot_release_reserved_space +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf69f578 dma_map_sg +EXPORT_SYMBOL vmlinux 0xdf821c6a dm_put_device +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf9c961b spi_dv_device +EXPORT_SYMBOL vmlinux 0xdfb01a80 cpu_v7_dcache_clean_area +EXPORT_SYMBOL vmlinux 0xdfc5169b slhc_init +EXPORT_SYMBOL vmlinux 0xdfde8ce8 free_mdio_bitbang +EXPORT_SYMBOL vmlinux 0xdfe6470c blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0xdfef885a inet_listen +EXPORT_SYMBOL vmlinux 0xe036c8fb bio_integrity_free +EXPORT_SYMBOL vmlinux 0xe03e4bef mdiobus_alloc +EXPORT_SYMBOL vmlinux 0xe0607d6e pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe09d3a94 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0bc24a1 param_set_ushort +EXPORT_SYMBOL vmlinux 0xe0dfc443 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0xe0e3cbf1 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0xe0f0c1d1 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0xe0f35738 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0xe1033059 tr_type_trans +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe154df7c pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe1787358 kthread_stop +EXPORT_SYMBOL vmlinux 0xe1886dfc ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xe1a81c3a icmpv6msg_statistics +EXPORT_SYMBOL vmlinux 0xe1c9dd8d ps2_begin_command +EXPORT_SYMBOL vmlinux 0xe1d12bae ip6_route_output +EXPORT_SYMBOL vmlinux 0xe1dc2dfb __serio_register_port +EXPORT_SYMBOL vmlinux 0xe1dfecd1 ip_setsockopt +EXPORT_SYMBOL vmlinux 0xe1ec3f99 bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe204aa1b pci_target_state +EXPORT_SYMBOL vmlinux 0xe217cab9 __lookup_one_len +EXPORT_SYMBOL vmlinux 0xe23728e6 tty_port_hangup +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe26001d9 tcf_register_action +EXPORT_SYMBOL vmlinux 0xe260abda elevator_exit +EXPORT_SYMBOL vmlinux 0xe286f981 clk_get_rate +EXPORT_SYMBOL vmlinux 0xe2c8e2e1 find_inode_number +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e8065e memdup_user +EXPORT_SYMBOL vmlinux 0xe2e9d480 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0xe2fae716 kmemdup +EXPORT_SYMBOL vmlinux 0xe3139778 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xe32a7d17 ndisc_send_skb +EXPORT_SYMBOL vmlinux 0xe335bd44 elv_abort_queue +EXPORT_SYMBOL vmlinux 0xe34ee931 pci_enable_bridges +EXPORT_SYMBOL vmlinux 0xe3612091 dma_pool_free +EXPORT_SYMBOL vmlinux 0xe381ab89 nla_reserve +EXPORT_SYMBOL vmlinux 0xe3820c5c vmtruncate +EXPORT_SYMBOL vmlinux 0xe3a5ecd1 ndisc_build_skb +EXPORT_SYMBOL vmlinux 0xe3dadecf journal_forget +EXPORT_SYMBOL vmlinux 0xe3f393f3 scsi_register_interface +EXPORT_SYMBOL vmlinux 0xe426ea7b path_lookup +EXPORT_SYMBOL vmlinux 0xe448a8ad scsi_get_command +EXPORT_SYMBOL vmlinux 0xe4a968d1 bio_split +EXPORT_SYMBOL vmlinux 0xe4a97c71 __down_write_trylock +EXPORT_SYMBOL vmlinux 0xe4c80097 cacheid +EXPORT_SYMBOL vmlinux 0xe4dd4a39 sysctl_data +EXPORT_SYMBOL vmlinux 0xe4dda3ab lock_may_read +EXPORT_SYMBOL vmlinux 0xe4f1695e cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xe4f9c9ae prepare_creds +EXPORT_SYMBOL vmlinux 0xe501b88c jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xe5156034 nf_log_register +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe54d5c83 inode_set_bytes +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe5aa6b04 tcf_hash_search +EXPORT_SYMBOL vmlinux 0xe5aaa03f seq_open +EXPORT_SYMBOL vmlinux 0xe5ad28e4 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5cac621 kill_pid +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe60914e8 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0xe61bf830 skb_insert +EXPORT_SYMBOL vmlinux 0xe641de09 init_net +EXPORT_SYMBOL vmlinux 0xe65029e4 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0xe6562614 udplite_table +EXPORT_SYMBOL vmlinux 0xe67aac64 skb_queue_tail +EXPORT_SYMBOL vmlinux 0xe690b8fd __ipv6_isatap_ifid +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6c3ebb0 __raw_writesw +EXPORT_SYMBOL vmlinux 0xe6d1c4da nf_log_packet +EXPORT_SYMBOL vmlinux 0xe6e1ef5a rfkill_blocked +EXPORT_SYMBOL vmlinux 0xe6e5fe37 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0xe6ebc016 key_create_or_update +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe707d823 __aeabi_uidiv +EXPORT_SYMBOL vmlinux 0xe714375c __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xe72d6e09 blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0xe734ac4f blk_start_queue +EXPORT_SYMBOL vmlinux 0xe7a2f2b7 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xe7a70500 inode_permission +EXPORT_SYMBOL vmlinux 0xe7bbb0f8 km_policy_notify +EXPORT_SYMBOL vmlinux 0xe7d2aca1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7d56679 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0xe7dae90e register_key_type +EXPORT_SYMBOL vmlinux 0xe7e4dc0c call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0xe7ed9c44 dm_dirty_log_create +EXPORT_SYMBOL vmlinux 0xe7fa97e3 register_filesystem +EXPORT_SYMBOL vmlinux 0xe8182a56 bmap +EXPORT_SYMBOL vmlinux 0xe8794ce1 slhc_toss +EXPORT_SYMBOL vmlinux 0xe8958ccf pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xe8992803 key_revoke +EXPORT_SYMBOL vmlinux 0xe8a117e4 neigh_table_clear +EXPORT_SYMBOL vmlinux 0xe8a1c56c tty_write_room +EXPORT_SYMBOL vmlinux 0xe8b0b057 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0xe8cd902e hweight16 +EXPORT_SYMBOL vmlinux 0xe8e4c09d pci_get_class +EXPORT_SYMBOL vmlinux 0xe90dcae0 __request_module +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe9164872 flush_old_exec +EXPORT_SYMBOL vmlinux 0xe95e790f nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0xe9795b8b xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0xe97ba47c nf_reinject +EXPORT_SYMBOL vmlinux 0xe9a940a5 bio_map_kern +EXPORT_SYMBOL vmlinux 0xe9b4dbf3 alloc_disk +EXPORT_SYMBOL vmlinux 0xe9cb6572 blk_queue_max_hw_segments +EXPORT_SYMBOL vmlinux 0xe9df4633 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0xe9e779f5 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea147363 printk +EXPORT_SYMBOL vmlinux 0xea1b7f24 clear_inode +EXPORT_SYMBOL vmlinux 0xea2d33a2 radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0xea309d18 km_query +EXPORT_SYMBOL vmlinux 0xea3ff406 mmc_host_enable +EXPORT_SYMBOL vmlinux 0xea491e60 genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0xea4ef7a6 uart_register_driver +EXPORT_SYMBOL vmlinux 0xea5e2d14 eth_header_parse +EXPORT_SYMBOL vmlinux 0xea7987f1 key_update +EXPORT_SYMBOL vmlinux 0xea83d916 locks_init_lock +EXPORT_SYMBOL vmlinux 0xea858cb5 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xea9fc25e skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0xeaa0d396 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0xeab6c5b9 journal_check_available_features +EXPORT_SYMBOL vmlinux 0xeac190e4 dev_get_by_flags +EXPORT_SYMBOL vmlinux 0xeac539fd qdisc_reset +EXPORT_SYMBOL vmlinux 0xead4dc7f journal_set_features +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeafff3ca generic_write_end +EXPORT_SYMBOL vmlinux 0xeb459961 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0xeb595e26 cfb_copyarea +EXPORT_SYMBOL vmlinux 0xeb8f54b3 strstrip +EXPORT_SYMBOL vmlinux 0xebd273a6 strict_strtoull +EXPORT_SYMBOL vmlinux 0xebe785b7 tty_check_change +EXPORT_SYMBOL vmlinux 0xebfdcbdf system_serial_high +EXPORT_SYMBOL vmlinux 0xec216124 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0xec24ee3b __page_symlink +EXPORT_SYMBOL vmlinux 0xec45f0f0 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xec4c1442 skb_copy_bits +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec794ba0 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0xec9f4673 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0xece3964b generic_block_bmap +EXPORT_SYMBOL vmlinux 0xecfad065 tcp4_gro_complete +EXPORT_SYMBOL vmlinux 0xed3c8703 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0xed8d4953 simple_dir_operations +EXPORT_SYMBOL vmlinux 0xed99fa4d llc_add_pack +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedbdf436 dev_alloc_skb +EXPORT_SYMBOL vmlinux 0xedc03a83 rtnl_unicast +EXPORT_SYMBOL vmlinux 0xedc24c2e napi_gro_receive +EXPORT_SYMBOL vmlinux 0xedc95a25 __bread +EXPORT_SYMBOL vmlinux 0xedd64bf6 mntput_no_expire +EXPORT_SYMBOL vmlinux 0xedd9106d __ashrdi3 +EXPORT_SYMBOL vmlinux 0xedda906e jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xeddbf9e0 dma_alloc_coherent +EXPORT_SYMBOL vmlinux 0xedf86a63 md_integrity_register +EXPORT_SYMBOL vmlinux 0xedfea240 unregister_filesystem +EXPORT_SYMBOL vmlinux 0xee0115db i2c_put_adapter +EXPORT_SYMBOL vmlinux 0xee1c240d clocksource_register +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee6fcc72 fb_pan_display +EXPORT_SYMBOL vmlinux 0xee90884e dq_data_lock +EXPORT_SYMBOL vmlinux 0xeea780c0 sk_free +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeebeec31 journal_update_format +EXPORT_SYMBOL vmlinux 0xeec341de noop_qdisc +EXPORT_SYMBOL vmlinux 0xeeeac2ed dm_table_get_mode +EXPORT_SYMBOL vmlinux 0xeeecc2bd md_error +EXPORT_SYMBOL vmlinux 0xeefd15bd block_truncate_page +EXPORT_SYMBOL vmlinux 0xef0a946c udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0xef1a561a add_mtd_partitions +EXPORT_SYMBOL vmlinux 0xef26544b mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0xef6ed1ba param_set_invbool +EXPORT_SYMBOL vmlinux 0xef6f6b64 is_bad_inode +EXPORT_SYMBOL vmlinux 0xef769c64 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xef785270 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0xef9043f7 journal_load +EXPORT_SYMBOL vmlinux 0xefbf1401 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0xefd6cf06 __aeabi_unwind_cpp_pr0 +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xeffad5a3 qdisc_list_del +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf01cc4e2 pneigh_lookup +EXPORT_SYMBOL vmlinux 0xf05f9d83 ilookup +EXPORT_SYMBOL vmlinux 0xf0c7d664 console_start +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf15dee60 invalidate_bdev +EXPORT_SYMBOL vmlinux 0xf16a507a xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xf173f4ec empty_zero_page +EXPORT_SYMBOL vmlinux 0xf174ed48 acquire_console_sem +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1a1a0c1 filp_close +EXPORT_SYMBOL vmlinux 0xf1b7c6dd jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1deabf2 div64_u64 +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf21cc787 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0xf2200924 d_alloc_name +EXPORT_SYMBOL vmlinux 0xf22cb9ee sock_no_ioctl +EXPORT_SYMBOL vmlinux 0xf250b91d inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0xf272df4e pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0xf2965ff7 blk_queue_max_sectors +EXPORT_SYMBOL vmlinux 0xf2997713 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0xf2d4ff39 sk_reset_timer +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 0xf376d81b scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xf378c1b4 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xf37b2283 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xf388fe74 alloc_pci_dev +EXPORT_SYMBOL vmlinux 0xf38abed3 new_inode +EXPORT_SYMBOL vmlinux 0xf397b9aa __tasklet_schedule +EXPORT_SYMBOL vmlinux 0xf39bf4d9 put_cmsg +EXPORT_SYMBOL vmlinux 0xf3b13820 vlan_gro_frags +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3fac1c0 generic_setlease +EXPORT_SYMBOL vmlinux 0xf410a412 generic_listxattr +EXPORT_SYMBOL vmlinux 0xf4200454 tcp_connect +EXPORT_SYMBOL vmlinux 0xf43b7fba security_file_permission +EXPORT_SYMBOL vmlinux 0xf455547b vfs_writev +EXPORT_SYMBOL vmlinux 0xf4621a12 mmc_card_sleep +EXPORT_SYMBOL vmlinux 0xf47fa6c4 ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0xf480de49 dev_get_by_index +EXPORT_SYMBOL vmlinux 0xf4895874 d_find_alias +EXPORT_SYMBOL vmlinux 0xf492a7c4 dentry_open +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf49f5d78 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f52f93 dqstats +EXPORT_SYMBOL vmlinux 0xf5043fe3 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0xf50dc8a2 vfs_rename +EXPORT_SYMBOL vmlinux 0xf51c639f interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf564412a __aeabi_ulcmp +EXPORT_SYMBOL vmlinux 0xf56b10f1 find_vma +EXPORT_SYMBOL vmlinux 0xf57d7ff6 ip_dev_find +EXPORT_SYMBOL vmlinux 0xf5bc27b1 tty_devnum +EXPORT_SYMBOL vmlinux 0xf5c05914 generic_segment_checks +EXPORT_SYMBOL vmlinux 0xf5c375e9 skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0xf5c9012e timespec_trunc +EXPORT_SYMBOL vmlinux 0xf5ccdffd blk_stack_limits +EXPORT_SYMBOL vmlinux 0xf5e6899b dquot_reserve_space +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf5fd6551 __neigh_event_send +EXPORT_SYMBOL vmlinux 0xf60cd93d register_con_driver +EXPORT_SYMBOL vmlinux 0xf6156130 dquot_initialize +EXPORT_SYMBOL vmlinux 0xf63322d6 netlink_unicast +EXPORT_SYMBOL vmlinux 0xf67adea1 input_release_device +EXPORT_SYMBOL vmlinux 0xf686362c dquot_transfer +EXPORT_SYMBOL vmlinux 0xf691ec94 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0xf69285de phy_device_register +EXPORT_SYMBOL vmlinux 0xf694f344 nobh_writepage +EXPORT_SYMBOL vmlinux 0xf69a454d generic_shutdown_super +EXPORT_SYMBOL vmlinux 0xf69f9f3f default_llseek +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6ec2030 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xf728221a unregister_binfmt +EXPORT_SYMBOL vmlinux 0xf7384f52 downgrade_write +EXPORT_SYMBOL vmlinux 0xf73da67d scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0xf74ba03c dev_unicast_delete +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf75c176c iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0xf7623914 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0xf77fbb46 idr_remove_all +EXPORT_SYMBOL vmlinux 0xf7802486 __aeabi_uidivmod +EXPORT_SYMBOL vmlinux 0xf786b0b8 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0xf78af3f0 fput +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf78e828b tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xf7a6d38c scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0xf7b21131 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf824b8d1 udp_prot +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82c577c seq_open_private +EXPORT_SYMBOL vmlinux 0xf8347524 dev_trans_start +EXPORT_SYMBOL vmlinux 0xf890fe7f pm_idle +EXPORT_SYMBOL vmlinux 0xf89351e1 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xf8a28881 vfs_getattr +EXPORT_SYMBOL vmlinux 0xf8aeaf01 bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0xf8d01e2c skb_find_text +EXPORT_SYMBOL vmlinux 0xf8ef0819 i2c_release_client +EXPORT_SYMBOL vmlinux 0xf8f0b794 tcp_sendpage +EXPORT_SYMBOL vmlinux 0xf8fbb4f0 __bad_xchg +EXPORT_SYMBOL vmlinux 0xf93c0530 vfs_quota_on_mount +EXPORT_SYMBOL vmlinux 0xf94bd11e poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0xf95f2f3e thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0xf95f75c7 setup_arg_pages +EXPORT_SYMBOL vmlinux 0xf97dbb0d pci_dev_driver +EXPORT_SYMBOL vmlinux 0xf989f26e blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0xf99f843d dquot_drop +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9b28bac interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0xf9d2ea02 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xfa251f08 load_nls_default +EXPORT_SYMBOL vmlinux 0xfa3131b8 set_page_dirty +EXPORT_SYMBOL vmlinux 0xfa32c62d slow_work_register_user +EXPORT_SYMBOL vmlinux 0xfa331c82 kern_path +EXPORT_SYMBOL vmlinux 0xfa8405c1 dm_exception_store_type_register +EXPORT_SYMBOL vmlinux 0xfa920a83 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0xfabc8468 __locks_copy_lock +EXPORT_SYMBOL vmlinux 0xfac68eba arm_elf_read_implies_exec +EXPORT_SYMBOL vmlinux 0xfad466de proc_create_data +EXPORT_SYMBOL vmlinux 0xfada0c96 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0xfae6270d blk_queue_max_phys_segments +EXPORT_SYMBOL vmlinux 0xfaeb3551 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0xfaed5386 i2c_verify_client +EXPORT_SYMBOL vmlinux 0xfaf5822a tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb0cf2e9 touch_all_softlockup_watchdogs +EXPORT_SYMBOL vmlinux 0xfb10a8d0 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0xfb115930 elv_queue_empty +EXPORT_SYMBOL vmlinux 0xfb296ae1 I_BDEV +EXPORT_SYMBOL vmlinux 0xfb2e7f2d inet_sock_destruct +EXPORT_SYMBOL vmlinux 0xfb326a5d down +EXPORT_SYMBOL vmlinux 0xfb336e55 dma_release_from_coherent +EXPORT_SYMBOL vmlinux 0xfb58121b __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb7d9c45 __udivsi3 +EXPORT_SYMBOL vmlinux 0xfb88a1bd tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0xfbc4c8f9 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0xfbd118f0 lookup_one_len +EXPORT_SYMBOL vmlinux 0xfbdf07c0 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc102970 dm_dirty_log_type_register +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc47f6ae skb_checksum +EXPORT_SYMBOL vmlinux 0xfc533f85 schedule_work_on +EXPORT_SYMBOL vmlinux 0xfc556427 bio_pair_release +EXPORT_SYMBOL vmlinux 0xfc869a8e tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xfc912d5d xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcb4fae4 read_dev_sector +EXPORT_SYMBOL vmlinux 0xfcb5dc94 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcda63a3 node_states +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd0b7f04 page_address +EXPORT_SYMBOL vmlinux 0xfd19c45d inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xfd305341 walk_stackframe +EXPORT_SYMBOL vmlinux 0xfd33ae6c scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xfd35d588 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0xfd4f4d08 inode_needs_sync +EXPORT_SYMBOL vmlinux 0xfd57b9a0 napi_skb_finish +EXPORT_SYMBOL vmlinux 0xfd8dba4c add_wait_queue +EXPORT_SYMBOL vmlinux 0xfd91ab38 blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0xfda85a7d request_threaded_irq +EXPORT_SYMBOL vmlinux 0xfdb3e65a kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xfddd2d23 kernel_listen +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfe0c7e87 ll_rw_block +EXPORT_SYMBOL vmlinux 0xfe16775f idr_destroy +EXPORT_SYMBOL vmlinux 0xfe25d909 pci_scan_slot +EXPORT_SYMBOL vmlinux 0xfe2d5fbb sk_alloc +EXPORT_SYMBOL vmlinux 0xfe2e9ae0 proto_register +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe740574 dev_close +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe83bc90 input_register_handle +EXPORT_SYMBOL vmlinux 0xfe90865d kobject_add +EXPORT_SYMBOL vmlinux 0xfe9ad798 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0xfe9b0a38 sock_kmalloc +EXPORT_SYMBOL vmlinux 0xfebdbbb4 dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0xfec1d6f8 skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfedd35fc console_suspend_enabled +EXPORT_SYMBOL vmlinux 0xfee4b0df skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff1768a5 pcim_pin_device +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff59f046 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0xff67b37f __lshrdi3 +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff964b25 param_set_int +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffb16c87 napi_frags_finish +EXPORT_SYMBOL vmlinux 0xffb57cfa thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffe14324 mmc_remove_host +EXPORT_SYMBOL_GPL crypto/aes_generic 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x2241df41 crypto_aes_set_key +EXPORT_SYMBOL_GPL crypto/aes_generic 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL crypto/aes_generic 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x6fbb17af async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x268e126e async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x3533a45f async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xe68b3665 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xfddd333a async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x31bb293c async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xbe09062e async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xf7f95dd7 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x40b19cd2 async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x464dcd2a async_xor_val +EXPORT_SYMBOL_GPL crypto/cryptd 0x45cd45ea cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x6f6775d1 cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xab0ad485 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0xc338a251 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xc93c4990 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xf2c1e8e8 cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xf72084c1 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xd2d9c8c4 twofish_setkey +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x04a3d2c7 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x2fece9fb drm_class_device_register +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1f2bf5db hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x22988e86 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2e365915 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2ffc8fc8 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x36e2d20d hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x373aa3dc hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x380a202d hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4d7148dc hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x52c17db8 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x58b51d49 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6da6d5a0 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x79e8af42 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa0bf3242 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa46a164f hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb444af07 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbc2f73ab hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd4502d50 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd6aab10a hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdc11aea9 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xddf27dd1 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe02166f7 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe6c12872 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe8475030 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf590f7ba hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfe167984 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x3ec9965a usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xb488d8c0 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xef89506c usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0x3528a4d2 hpsb_config_rom_ip1394_remove +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0x7666e301 hpsb_config_rom_ip1394_add +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xec8d18cf hpsb_disable_irm +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xe8f7bcb8 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/leds/led-class 0x1c351dbc led_classdev_register +EXPORT_SYMBOL_GPL drivers/leds/led-class 0x423427c6 led_classdev_suspend +EXPORT_SYMBOL_GPL drivers/leds/led-class 0x5d9d6736 led_classdev_resume +EXPORT_SYMBOL_GPL drivers/leds/led-class 0x9734cff4 led_classdev_unregister +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x05513b71 raid6_call +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x0b8ef590 raid6_2data_recov +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x4a48d81c raid6_datap_recov +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0349c9bd ir_codes_proteus_2309_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0366dcdf ir_codes_videomate_s350_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x110b053a ir_codes_pixelview_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x124cb753 ir_codes_encore_enltv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x183fdfdd ir_codes_gotview7135_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19b4d61c ir_codes_nebula_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19cd2826 ir_codes_behold_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1a9009d6 ir_codes_dm1105_nec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1cb148f5 ir_extract_bits +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2456e513 ir_decode_pulsedistance +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2cc459b5 ir_codes_flydvb_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2d0e9a49 ir_codes_em_terratec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3136d8ff ir_codes_dntv_live_dvbt_pro_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x32b9033b ir_codes_apac_viewcomp_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3909f4ad ir_codes_terratec_cinergy_xs_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3a84be27 ir_codes_avermedia_a16d_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4267d749 ir_codes_budget_ci_old_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x43c89ef4 ir_decode_biphase +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4c1442c1 ir_codes_real_audio_220_32_keys_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x51ba1643 ir_codes_kworld_plus_tv_analog_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x543db4ff ir_codes_avermedia_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5e95da31 ir_codes_tt_1500_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5fbe6515 ir_codes_pinnacle_color_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x61d039d7 ir_codes_behold_columbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6427a3fb ir_codes_pinnacle_grey_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x64b02fed ir_codes_avermedia_dvbt_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6606596a ir_rc5_timer_keyup +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6809de82 ir_codes_pctv_sedna_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6d6511e7 ir_dump_samples +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x703fc738 ir_codes_avertv_303_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x7283f81d ir_codes_purpletv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x72c2992e ir_codes_powercolor_real_angel_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x76d71b8e ir_codes_dntv_live_dvb_t_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x784e176d ir_codes_asus_pc39_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x828b3ce5 ir_codes_encore_enltv_fm53_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x8acae3dd ir_codes_pinnacle_pctv_hd_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x92d1d181 ir_codes_flyvideo_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x94651dab ir_codes_ati_tv_wonder_hd_600_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x97c35dab ir_codes_msi_tvanywhere_plus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x9944e2e5 ir_codes_hauppauge_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x9d39179e ir_input_keydown +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa69aa6ad ir_codes_pv951_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa95157c5 ir_codes_cinergy_1400_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xac15f6c8 ir_codes_kaiomy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xaff22e87 ir_codes_pixelview_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb01a1998 ir_codes_manli_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb0a8ef38 ir_codes_rc5_tv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb361dbd2 ir_input_nokey +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb57445f7 ir_codes_eztv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb5adb754 ir_codes_cinergy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbd3ce6f0 ir_codes_avermedia_cardbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbeaccbdc ir_codes_gadmei_rm008z_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xcba36c62 ir_codes_videomate_tv_pvr_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xd30c491f ir_codes_norwood_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdc23fec4 ir_codes_fusionhdtv_mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdd4c0a07 ir_codes_evga_indtube_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe1101f4d ir_codes_avermedia_m135a_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe4140c60 ir_codes_genius_tvgo_a11mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeb82b24f ir_input_init +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeb9bb08f ir_codes_npgtech_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xebf345b4 ir_codes_encore_enltv2_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeec89db8 ir_codes_empty_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xef29c40d ir_codes_adstech_dvb_t_pci_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf33c155d ir_codes_msi_tvanywhere_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf3d619ec ir_codes_iodata_bctv7e_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf4f7a4d6 ir_rc5_timer_end +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf5e15e65 ir_codes_winfast_table +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x0fabb3e6 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x15f8b32e saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x20312007 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x5f9b45b5 saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x6c6ef107 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x7ef68416 saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x81509b2f saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x87fa918b saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x912cd740 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xbffa3d83 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 0xe6273964 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x7cd88c94 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0x6353473c mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0xeabc2f31 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0xdf20c04e tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x3f9f91c7 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x87e1054b tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0xb3042408 tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x91d8e566 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xdbbaeafc tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x01ade73c tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0xe1f21456 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0xcd64095e simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x0a7a515e smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x108a8a05 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x3001b9c2 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x38a32c2e sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x58199243 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x5a84f245 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x628a4a84 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x6abd80c6 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x6ea0cef9 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x8e2edaad smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x9350dbb2 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa68903bf smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa8bffcac smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa9a145bc sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd0f0c8d0 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd72090db smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd895c1fc smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xe55b2f41 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf0af32c9 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfda878c5 sms_get_board +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x40415953 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x59a912ac ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x89a59214 ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xa34c4a67 ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xab785de7 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xb74003a9 ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xf046e398 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x083cb622 i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x0a9d36bd i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x1987a31b i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x311c8768 i2o_pool_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x48119e5b i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x9d02bf07 i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xa0c8f9b7 i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xfd629517 i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x5d3dda5b pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x7c16cf62 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x3267c623 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x4283881c pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x5263ac73 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x748bf6b1 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x76fc5ec6 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x88cd4e86 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x8bcd8759 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x9a619908 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xd82a5978 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xe78e503a pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xf587b81c pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x060910fc pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x30ae97bb pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x4cf4d1fa pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xa9ec5071 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xbfefad2d pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x25a96500 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x3f40501d sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x4b799d9b sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x77434774 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xf68f3ef9 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xb4e4ae47 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x0366bf0b wm831x_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x17853b21 wm831x_enable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x578b5d90 wm831x_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x5e92aff6 wm831x_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x5ef9863b wm831x_auxadc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x9366e29d wm831x_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x9aa73a2e wm831x_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x9b151f6e wm831x_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xadeb13e5 wm831x_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xc98c8716 wm831x_disable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xef180b7d wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xef6a840f wm831x_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x0aed7057 wm8350_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x0dd99293 wm8350_mask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x13f289e2 wm8350_unmask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x27ab1371 wm8350_device_init +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x30858675 wm8350_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x3cb4b271 wm8350_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x467c7cd3 wm8350_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x4ea82ee9 wm8350_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x6b879004 wm8350_read_auxadc +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x70a1062f wm8350_device_exit +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x7b5315ef wm8350_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x7e58ebff wm8350_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x845a3388 wm8350_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x97de3939 wm8350_block_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xd406cf0b wm8350_gpio_config +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xed3f9c88 wm8350_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x0ef9cc61 wm8400_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x236d7f90 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x7eb46a6c wm8400_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0xfc891a40 wm8400_reg_read +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x256bb964 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x50f96107 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x9bb5ee0f cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xe255369d cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x2df115d4 eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d14d2f eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x04e295c2 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x0862abf8 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x2ee3f196 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x8492f663 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x97c13aef enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xacd4a897 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf647b5b1 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2ec02a9b sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x328d187b sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7b13071c sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x8178ee20 sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa6078e59 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd8f4e1ae sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x0487e49c ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x057ee459 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x20a3193e ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x35f9505e ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x3e8982e5 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x75630132 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7d18773c ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x90d409ee ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x913b9a2b ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x99090c22 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xac4b2974 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbc505df4 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xdca430a8 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x17fb9b50 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x1ffa36b1 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x31884864 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x3c72dc22 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x3dad04ac alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x5e118ecf can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x6af0c613 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x716b7752 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xdb84c47c unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xdf83e040 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x0f2aea35 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x3b326319 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x789a2497 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xcda0c4b4 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xdc9bd500 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x00e57a5a mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x08892f26 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0b9584ff mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x1066e91d mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x125403c3 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x1d9bddb9 mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x29041f36 mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x2bb05f4e mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x349960f7 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x3766ad75 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x39dd34c1 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x3ad05097 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x3c2317e5 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x44eaa87c mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x46d09fa7 mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x56cbb379 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x597c0e6c mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x5b286b98 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x6af801c9 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x79d16a47 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x7a7e4952 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x7e80dfad mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8611cb77 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8af46778 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8de2ef86 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8efa9e34 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9406126e mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x957dab64 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x966edc08 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9c570f04 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9d062f08 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9fd21b7c mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa0a8e251 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa3a82d1e mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa8e70fad mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xca0a9075 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd1b271ac mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd253caa5 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd4c141ec mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd4e4c5f5 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd606dafb mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xda7a7f2c mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xdec39ac6 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe4bbf8b1 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe802b0d7 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xebb11911 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf639ddaa mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf64f7a4d mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf64f81c3 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf9d1f679 mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xfa0b16c5 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xfaa7a577 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xff022dfc mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x40a2f560 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x661430e1 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x19f243e9 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x2907b524 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x3327ed73 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x5cf9773d rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x781af35b rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x86aabbad rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0c8f6cd0 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x108fd9ae usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x206bedb5 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x52cb1749 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x59cc942d usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5a09990f usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8b7b5685 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8d5359ce usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9008803b usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9339fa3e usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x980b91f5 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9c80c3f3 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9e9c65b0 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb15519fd usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc21c1a9a usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc9cf17e0 usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd5f4f8b2 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe27720bf usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe27b3156 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xec454601 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xed477f53 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf5ddae26 usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf7a4350a usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf92c0415 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x0f9620dd i2400m_cmd_get_state +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x14e43f7c i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x2d852eaa i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x386551a5 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x63ca2e34 i2400m_queue_work +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x69d88b32 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x8919621f i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x98e60ec0 i2400m_set_init_config +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb64d4838 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xc1ea02dc i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf6841666 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf8fb700b i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf9eb8f27 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x1c820b19 libipw_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0xa396567e libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x086ce0eb lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x0cb40bd6 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x281b6b8b lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x2b9852d1 lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x37048700 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x38b62c26 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x399a0da3 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5a986d32 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xad194a17 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xcfe91d53 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xd310c9ee lbs_cmd_802_11_rate_adapt_rateset +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xd7a94749 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xdb37b870 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xdc28a0ed lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf35747ca lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x497c56e9 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x4ff8ee03 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x52fffe5b __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x6ad692c9 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x8a9bab7d lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x9895ba07 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xb68505ac lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xea4f6588 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x9f3c5f81 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xaf100b3d if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x1bd7c716 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x2d02482b p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x3133befb p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x3aec2cf4 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x4158877d p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x75630ff7 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xb11feaf5 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xbba2fb37 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xe0eb825f p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x11c0c3ae rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x34a49828 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x34ce812d rt2x00mac_get_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3991ccc5 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3fd3ee45 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5776d809 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6383ec21 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x683af669 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x792823f5 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8c133527 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8dbd85ff rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa19be661 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xaf3db13e rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb1245246 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb9fdee02 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xbefe3a43 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd53fe6e7 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd898dced rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe3e5e7d3 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xefffde69 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf71e4c04 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfc9544d1 rt2x00queue_get_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfe998210 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfec834e7 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x123448c3 rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x2ed855da rt2x00pci_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x3770a02f rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x3e43ac40 rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x58bfbc58 rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xa62a5d33 rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xc0984697 rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xdc20b110 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xfc63b26e rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x015651f5 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x0c7c0187 rt2x00usb_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x1f3700a2 rt2x00usb_vendor_request_large_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x210117a6 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x30811ac2 rt2x00usb_kill_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x39e9a2be rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x4d556ad2 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x5f957e65 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x64e89fb7 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6c81a650 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x72a38488 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x73faf892 rt2x00usb_kick_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x8346bdb6 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x89a2bee7 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xc5a3bb59 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xf1595933 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x6943acb5 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0xd7ccf0f4 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0xf3293cb9 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x0c67f5dc pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xbadf5715 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x3ae07288 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x43f0f4f1 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x64b61d11 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x91bc64b3 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xa30309fb wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xac36fa4d wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0xbed3bf1d wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xe779c78f fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00206cd4 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x042c5ad1 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0569fe1c iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x06659959 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0949f921 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x09bff150 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x106b6fe8 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1f3f9916 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x24ea2898 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x26a32a99 iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x36e0c211 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3f60c8d3 iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x409dde22 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x454e9453 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4d1d6954 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4f655b78 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x51d4f859 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x58b75d1f iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6648bb5f iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6c4e149f iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7500667f iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7d9c9441 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x805bd2db iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x84913f87 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8b7d377b iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8bd58b23 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x902e8753 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x90d1e58b iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x93086cea iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9ecd87b3 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb3451014 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbea76ac0 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc2b823a6 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xca0eeff9 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcf9ac07f iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd9875748 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xda66800b iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe9631e07 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xebc3e42a iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xec0b73a8 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xef76ed09 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfda30614 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x16987291 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1fa3fd97 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3f4fcd6c iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5494d560 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6528f4ad iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x67acba98 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6f430ec1 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7b2b68ac iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x825824d1 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x827853f9 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x89781702 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x921b32bc iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa0ba43ac iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf3d40c03 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf8194f8e iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfe448ed6 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x17f7ba93 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1981968d sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x22f6d44a sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x27e6d9ca sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2fa64f60 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x370480c5 sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3c0ec7e3 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4a2e0a6c sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4c3cb1ff __sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x517c50b6 sas_find_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x641e3248 sas_slave_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6a514a3f sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7d463c58 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8705944e sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8e14dbc6 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x938a6346 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x955b6bcd sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa5acbc43 sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb5d19776 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc986a38d sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xdca5f81e sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe74627f3 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf371da4e sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x098d3a52 srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x187065cb srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x48fa0343 srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x617c0806 srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xc4b7d4dc srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xe7aaf206 srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x0f07589b scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x381ecb80 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x3f45ae1c scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x99b12e6a scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xc4049f22 scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xd46566db scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xe0df28b7 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xeaaafed3 scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xef0e312b scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0d993de2 iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0e901298 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x13258dee iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x19d69761 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x46133dbb iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5aedc945 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5ed43ff2 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x638a395e iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6bdd3b41 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x77c1ef4c iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x77cccb22 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8b565d5a iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9a1de61c iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa76c936d iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa9fb3096 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaa992f7e iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbd051d35 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc5aef058 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd6de3f00 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdaf5380b iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf6bac0b2 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf714ddf0 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x31daf641 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x7c8786c5 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xb8cc4b27 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xc7e3274e srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xe1df514d srp_release_transport +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0x057bb125 pciserial_suspend_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0x6dcc6505 pciserial_init_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0x93b09b08 pciserial_remove_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0xbf1e2fd3 pciserial_resume_ports +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/usbip/usbip_common_mod 0x04a4e04e usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x206a3e4e usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x23c448ff usbip_stop_threads +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x2c74d193 sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x354d2c31 usbip_xmit +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x3f7881d5 usbip_start_threads +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x6568a2f0 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x6607fe51 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x675570e6 usbip_task_init +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x76f5283e usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x77bbd6b3 usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x9d230170 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xab9a5a88 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xc6511d8c usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xcb10a237 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xe879ed54 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/uio/uio 0x8883a932 __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xb56c4e16 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xeb5a9618 uio_event_notify +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x010276e9 usb_get_intf +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x03411be7 usb_find_interface +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x03509b1f usb_ep0_reinit +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x06a3d1b8 usb_get_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x0e9e6682 usb_register_device_driver +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x10e823e2 usb_string +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x1752b06f usb_deregister_dev +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x1c771d92 usb_set_interface +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x1c8b740d usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x20596565 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x251a82a3 usb_deregister_device_driver +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x2ae3e42c usb_sg_wait +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x36c7a32e usb_unlink_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x3d969d43 usb_control_msg +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x3f0f6af9 usb_put_hcd +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x41e8d0f3 usb_get_from_anchor +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x44e8c363 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x45f7e674 usb_poison_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x46c72860 usb_bus_list_lock +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x4afdc480 usb_alloc_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x4c23aab4 usb_register_dev +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x4c53eb60 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x4fa650fc usb_get_dev +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x54553993 usb_driver_release_interface +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x56cc10ed usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x5b7dae12 ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x5cbec9d9 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x5e9325d1 usb_driver_set_configuration +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x5ed4d3fd usb_reset_configuration +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x5f1149a7 usb_mon_register +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x63d46b54 usb_reset_device +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x651d41ea usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x68a025f0 usb_register_driver +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x6ab4495c usb_put_dev +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x6bd78c60 usb_buffer_map_sg +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x6f71af5a usb_create_hcd +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x7119623d usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x78253cf9 usb_debug_root +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x79d2f8a1 usb_anchor_empty +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x7d1a156b usb_anchor_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x812b6309 usb_get_status +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x84f09717 usb_deregister +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x8561cbe9 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x87326f2a usb_queue_reset_device +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x886c2ad0 usb_init_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x8d2831ad usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x93d2f41f usb_get_descriptor +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x99452897 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x9950171e usb_buffer_free +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x9a8a0173 usb_reset_endpoint +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x9bdc0f2e usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x9d2f0a17 usb_bulk_msg +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xa29a1214 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xa4c60823 usb_buffer_alloc +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xa5afcb95 usb_interrupt_msg +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xa6eaeb66 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xa81ce159 usb_autopm_put_interface +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xaba87b2e usb_match_id +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xabaceef8 usb_ifnum_to_if +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xad915028 usb_set_device_state +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xafcefc3b usb_match_one_id +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xb36b646b usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xb5f2e170 usb_store_new_id +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xb7ca6a6d usb_hcd_pci_remove +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xbfe7385b usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xc1f16eaf usb_remove_hcd +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xc2d24c80 usb_submit_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xc65b5e1e usb_sg_cancel +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xcc344f44 usb_sg_init +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xcc79a266 usb_put_intf +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xcf3f30e2 usb_unanchor_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xcfcaeab4 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xd74d4456 usb_autopm_set_interface +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xd84de7e8 usb_autopm_get_interface +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xda4d7d96 usb_hc_died +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xdb4202dd usb_add_hcd +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xdef94546 usb_get_current_frame_number +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xdfb19238 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xdfeac457 usb_get_hcd +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xe4a3b13f usb_free_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xe714a704 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xea80a580 usb_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xee3dc084 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xee4096d8 usb_kill_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xf1e38f0c usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xf3f6721b usb_buffer_unmap_sg +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xfa055a94 usb_driver_claim_interface +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xfb676f66 usb_unpoison_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xfdfb8c25 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x451a0cd0 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x4864649a usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x4a4c69e7 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x719125d0 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7c7eb398 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb1822a51 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb72e9a9e usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xe863e7d3 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xf89c9fd3 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x03f56c50 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0a65f303 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1c7668a5 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1e09dfa4 usb_serial_deregister +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x32856ee7 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x4eba2178 usb_serial_generic_resubmit_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x514063ca usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x555351ae usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5599a2e5 usb_serial_register +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x97c156d0 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa1fad340 usb_serial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb3236d52 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc39f6297 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe3d85093 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xeba89552 usb_serial_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf7e2a1b9 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x201626f5 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x2776e48f usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x2c04941d usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x2c0d22b1 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x384217d7 usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3a854a4b usb_usual_ignore_device +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3c255062 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x58fb8aa6 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x68938991 usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x7ef8cc60 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8380845b usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8a37b15a usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x906bbe37 usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x971e7f03 usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xaf98dca5 usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xbb2c8792 usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xbeea182f usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc4cf3235 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd090066a usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd6f5bedd usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe78fc8fe usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe7ad2cfe fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf06d64c4 usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x09f3c921 wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x3e558e21 __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x7b11bf00 wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x8668d134 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x939ff09c rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xdcb2e7e1 wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xf2d807b6 wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x03800919 wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x13e519e6 __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1b52ef65 wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x28f38bfa wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x40e2ab88 wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x7a8af95d wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x80a85c6d wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x94c81d11 wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x9ea1c6fa wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xa303f375 wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb0df6451 wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xc54e28f8 wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xce3ae22f wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xd4159e2b wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xdf6e4f08 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xee4b8e3f wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf17a3c5b wusbhc_reset_all +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 0x275ac102 i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x3a9109f7 i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x54a654eb i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x1885a194 uwb_phy_rate_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x268be260 uwb_pca_base_priority_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x943bec09 uwb_ack_policy_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x96f9997a uwb_rts_cts_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xa768d07f uwb_rts_cts_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xb3aa3381 uwb_phy_rate_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xd001a229 uwb_pca_base_priority_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xefde0736 uwb_ack_policy_store +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x1ca1f060 umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x4e86ed0f umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x61900d47 umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x84b272d5 umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x9c1ed202 umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xb7cf374f umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xc7ae9ba6 umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xc9732964 __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0b11b463 uwb_radio_stop +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0b8aad57 uwb_est_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0e725dd1 uwb_rsv_create +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x11c776b3 uwb_rc_neh_error +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x12500cc5 uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x12d8a2c7 uwb_rc_pre_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1c0be0c9 uwb_pal_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1f1eadbd uwb_rc_vcmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2baf9ba5 uwb_notifs_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x35017aa1 uwb_est_find_size +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x356164df uwb_rc_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x409a3601 uwb_pal_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x428da45f uwb_rc_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x45f2a191 uwb_rsv_get_usable_mas +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x47858022 uwb_rc_neh_grok +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d57ae3c uwb_rsv_type_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4da60469 uwb_rsv_modify +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5763c71d uwb_rsv_accept +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x595b12ab uwb_rsv_establish +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5af6bb70 uwb_dev_for_each +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5e4bc088 __uwb_addr_print +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x631308ec uwb_rc_post_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x63fbe76f uwb_rc_cmd_async +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x67db435f uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7140d3f7 uwb_rc_dev_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7893db27 uwb_rc_get_by_grandpa +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7b940b58 uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7dcfcd23 uwb_ie_next +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x84559ea6 uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x92d47406 uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x95c4228d uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xa79aaa6a uwb_rsv_terminate +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xcb85889c uwb_rc_ie_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd5200c29 uwb_notifs_deregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd769baca uwb_rc_put +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe1716f06 uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe6101ebb uwb_rsv_destroy +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe88ded72 __uwb_rc_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xeac09471 uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xeae4394a uwb_rc_cmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf285b2d4 uwb_rc_ie_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xff74ca0f uwb_pal_init +EXPORT_SYMBOL_GPL drivers/uwb/whci 0xfe8f1afb whci_wait_for +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x09d21c21 wlp_dev_serial_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x0cb39793 wlp_dev_prim_OUI_sub_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x1627166d wlp_eda_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x18861055 wlp_dev_model_nr_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x237e1225 wlp_dev_prim_OUI_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x32ee2b34 wlp_dev_prim_OUI_sub_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3638e4b1 wlp_dev_prim_category_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3b5b82dc wlp_dev_manufacturer_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x443d9af9 wlp_dev_prim_category_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x4a29139a wlp_wss_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x5c041c79 wlp_dev_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x64422fab wlp_prepare_tx_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x777091c9 wlp_dev_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x7c5dbecb wlp_dev_serial_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x7e682674 wlp_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x7e714240 wlp_dev_model_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x849cba36 wlp_eda_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x84c8cb5f wlp_receive_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x859d4488 wlp_dev_model_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x895c85e6 wlp_neighborhood_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x89cd205a wlp_dev_model_nr_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x8b33f6d7 wlp_wss_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x91d7eecb wlp_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xa84407c7 wlp_uuid_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xaaf6628e wlp_wss_activate_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xab468c89 wlp_dev_prim_subcat_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xb9c877f9 wlp_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd1e0f4db wlp_wss_activate_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xdc6d726b wlp_dev_manufacturer_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xe756d2a5 wlp_dev_prim_subcat_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf3d2e6ab wlp_dev_prim_OUI_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xfb1f3230 wlp_uuid_store +EXPORT_SYMBOL_GPL drivers/video/fb_ddc 0xc18bb0fb fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x337208d8 fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x5a1a2c38 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x312e3746 sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0xdc23655c sis_free_new +EXPORT_SYMBOL_GPL drivers/w1/wire 0x07145ca3 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x26b3f460 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x3865b4e7 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x4798910e w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x87f654e3 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x9ba1287a w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0xbf685c5a w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xddf1f7f3 w1_touch_block +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x0864c4a4 dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x4c08d83d dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x5009ce1b dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x8a02d95f dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xdc583c08 dlm_unlock +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0x6868a07a exportfs_decode_fh +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0xc5109656 exportfs_encode_fh +EXPORT_SYMBOL_GPL fs/fat/fat 0x149e60b9 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL fs/fat/fat 0x21d28997 fat_sync_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x2e44a9b4 fat_setattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x31859791 fat_build_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x639220d7 fat_attach +EXPORT_SYMBOL_GPL fs/fat/fat 0x67712c30 fat_add_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x799b4804 fat_detach +EXPORT_SYMBOL_GPL fs/fat/fat 0x82aca8a4 fat_search_long +EXPORT_SYMBOL_GPL fs/fat/fat 0x84ca94e0 fat_getattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x8e86dab8 fat_free_clusters +EXPORT_SYMBOL_GPL fs/fat/fat 0x938fa5c5 fat_alloc_new_dir +EXPORT_SYMBOL_GPL fs/fat/fat 0x9f7513b7 fat_scan +EXPORT_SYMBOL_GPL fs/fat/fat 0xac524b2e fat_fill_super +EXPORT_SYMBOL_GPL fs/fat/fat 0xc5c44995 fat_remove_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0xc9cdbbf1 fat_time_unix2fat +EXPORT_SYMBOL_GPL fs/fat/fat 0xe0c0d07c fat_flush_inodes +EXPORT_SYMBOL_GPL fs/fat/fat 0xe4e823e9 fat_dir_empty +EXPORT_SYMBOL_GPL fs/fat/fat 0xfd660e41 fat_fs_error +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x10f8d111 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x1a618932 nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x25718d36 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x993890af nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x9cc82a1a nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa7b91a7b lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xb63d7fd3 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf6933c48 lockd_up +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x6970ab6e nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xbddb7f75 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 0x1d00ef40 o2nm_get_node_by_num +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 0x547e529e o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x687f6251 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa0e6ec7e 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 0xb65bbf5c o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbaeb4700 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xcad49070 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd60f2c6c o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xe1f7c005 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xe4cb2a7d o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x00d67caf dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x0edb9ca2 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x1eabcd96 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7cd2d372 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 0xe3ead532 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xebc5770d dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0562c415 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x06379db6 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0e27f909 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x21db5b88 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4a1f6fe9 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x53b6a5c2 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x6f233a40 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7a37fb61 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x81c85a68 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x91fab465 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x963932a3 ocfs2_stack_glue_set_locking_protocol +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xa7d5c1c0 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd066711e ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL lib/lzo/lzo_compress 0x56b63670 lzo1x_1_compress +EXPORT_SYMBOL_GPL lib/lzo/lzo_decompress 0xf30fda27 lzo1x_decompress_safe +EXPORT_SYMBOL_GPL net/802/garp 0x08797d47 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x88e09da2 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0xc6fa9af0 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xdc17a23b garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xe394698e garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0xf25788e9 garp_register_application +EXPORT_SYMBOL_GPL net/802/stp 0x7688c3d0 stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0xfe5cfd03 stp_proto_register +EXPORT_SYMBOL_GPL net/ax25/ax25 0x4b817854 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/dccp/dccp 0x12c6bf47 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x18eee912 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1a879761 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x238167ce dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x240d444d dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3518adeb dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3c21ffe7 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3cf77298 dccp_reqsk_init +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 0x559caf65 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x56ea266a dccp_state_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5bd5703a dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5c542d0f dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5cb1a0ad dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x603e2973 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6830579a dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6b4176f4 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6c2ec402 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6e0a5905 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x74642764 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7da5857b dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fb5ed1d dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x866b8fac dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8b6042a0 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8b7d8caf dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8e5ec4d0 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0x90d6e79a inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9ad5aea6 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa09fddec dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa7a8fd6b dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb4c15792 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbc7f707b dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdfbfd275 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe8d12872 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xeae2d065 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfa2fae74 dccp_insert_option_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x020b7ed6 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x5859b10b dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x6f8402e9 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x789f33d6 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xa96e42f0 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xbf709c77 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x4800ce81 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 0x07ae60b6 nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x72c84dae nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x9257b5ca nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x94a08134 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xc6832af9 nf_nat_proto_find_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xceb7d389 nf_nat_proto_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xe0a849a9 nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xeff9a4aa nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xf7c01597 nf_nat_proto_range_to_nlattr +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat_proto_gre 0x636b12c8 nf_nat_need_gre +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb40509f0 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xda01317f ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe6476b4a net_vs_ctl_path +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x039d9538 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x05368948 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x05e931bf nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0b549c86 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0ebbb7c2 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x20ec53bd nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2946c81b nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2ceb42bc nf_ct_unlink_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x334237c0 __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x34bf1bd3 nf_conntrack_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x36c2cfec nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3acc4d5d nf_conntrack_untracked +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x40947707 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b9065a9 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4c85e38d nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x522e3639 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x55bde7eb __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5882ba33 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5fbe5b30 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x605c719e nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x66f15398 __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6a4f4aee nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6aad6d3e __nf_conntrack_helper_find_byname +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6d61fac8 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x764bdc63 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x79b170b0 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7c5ef894 nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x86b79a0e nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8d08b318 nf_expect_event_cb +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 0x9270abf6 nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x94a6e162 print_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9af3f6c1 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9b88bd83 nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9c539c5f nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa649f8aa nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa9460835 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa9bedf01 nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaa795484 nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xac12f292 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xacc78137 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xada45d08 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb167bd1c nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb2049e67 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb792cad6 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbcd06a92 nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbf0a00ab nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc6878a02 nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd332529e nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd3559012 nf_conntrack_hash_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd420044f nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd51568ff nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdbef8b57 nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf44aa6b nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf756304 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe551f995 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe63fb389 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf0e4848e __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf191bec7 nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf394e9e8 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf451eaf2 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf4ac9d9d nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf4b1e880 nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfbaa9e3b __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe36817c __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x54c7517e nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x342bbae6 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x09dbaa5c set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x1c01e567 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x2719ef18 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x30a51256 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x55f25bd3 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6ab64a92 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x87a30287 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x8b91d8c2 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xc3876590 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xe389763c nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0xcaf56c6a nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x414d32a5 nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x6ce12302 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x836bd74c nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xf4d55f1b nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x1ff2baa7 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xf40d4b23 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x07240c70 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x0fa5b86c ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x1ace3a7f ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x20f3be67 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x3367e12b nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x403c59cb nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7b426861 nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7ffcfb2c nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x81f8b487 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa49bd172 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf84d50e6 nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xfee78809 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x011a44ab nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x05355313 nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x53f2765f nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x279b9c80 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xa9932a47 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xae8fa88a nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xccc2b830 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xeca95329 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xef9b4bbd nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x483f61d4 nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1468ea9e xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x18abad28 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x32670a0d xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x34a1bdbc xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6c247891 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7b87717a xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9b1c0a89 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa1cce8f9 per_cpu__xt_info_locks +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbc8bcd0c xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc45af2b6 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd7d3e2e9 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x3d225a19 xt_rateest_put +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xa8ac8b53 xt_rateest_lookup +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x0f78915c rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0x238cfa1f rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x2c5c5514 rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x3101936e rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x500a765f rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x5fed2df0 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x6cbc7a05 rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x6e8cfb86 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x80e25bf1 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x8491dc0c rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x894d32f9 per_cpu__rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x8c6c1918 rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x96fafe85 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x9f49909b rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xa1121751 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xa36c0728 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xac7e61ca rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0xb74806b6 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0xc192b225 rds_inc_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xc4617263 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0xcb80d26d rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xd4f68368 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0xd63b333b rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xef2ca6eb rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xf459f159 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0xf5587fc3 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xfa058dbb rds_info_register_func +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x21315bc5 rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x24fe04e0 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 0x1641a983 gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x1dc4e901 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x35975653 svc_gss_principal +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x3fb0d236 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x621f3a75 gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x64e37b5a gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x6877f026 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 0x9900a2be svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xa53dbd1b gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xbbb2d6fe gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xc950f5d1 gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x000d7999 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00443611 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00519d4d svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x01279ab5 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x01e98b5d svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x01f53fb8 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x053f98e6 svc_close_xprt +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 0x0df366e2 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f0472ba svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f9fd9c0 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12896c91 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12e280e3 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x132c980c xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x13f197a2 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x16662d3a svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1bc94eee rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1cd4d1af svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1d11ced9 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20a5d393 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21c02197 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x249edac1 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25b1d831 rpc_get_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2aa17774 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2acc8515 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2da273ad svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e6ae25f xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3442ae02 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3520a95c svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3701e25b xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3822adff auth_unix_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3985499f rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x39d229fc auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a36de2c xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3b969142 rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x409a08a0 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x429efb58 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4646f163 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x470f0129 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ad2c33e svc_sock_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b9de6de rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e72b7a8 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ed9bd4f cache_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4f805243 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x50b417e7 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x51a3dfbc cache_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x528d3ede rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5435527c xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x59262a5d svc_sock_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5aa5a7ef svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b14ec1a rpc_put_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bd26000 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5de9b15d sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5e9fa43a svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5eb0b46f cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5eb2f2e2 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f0aa862 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6423d285 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x647578b5 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64b1f002 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x675524ec rpc_sockaddr2uaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x682effee svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x68faaefe svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c5304c5 rpcb_getport_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6cc5da21 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6de3f4d7 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e389395 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e494a16 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e9c5769 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6eea229d svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70b690e2 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71076974 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x725c6800 auth_unix_add_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x732273b3 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x799c1644 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b214a22 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de83deb rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81e4a79e xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x83afb92a xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x862127ba xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86ed282a rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8970bd54 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8985d78d xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x89dc7f2e svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8a61e636 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8b5c6c81 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c9f7f0b rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d670ebe svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90230bc0 xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90e1c91d rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x922f31c0 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x926f5413 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x929c34be xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x92ee8dc5 xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x947674d5 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94d3911d csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x96ce329c xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9a7e9cc9 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ab06735 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9afe026d rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa0f0741b xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa556e8ee rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaaefb23b rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xae550b73 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xafb6b663 rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb19205e2 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2560026 sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb41c01e6 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb4db6e06 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb5fd93f2 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb603c84a put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb649f919 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb88dc3b0 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc05f5f9d xprt_release_xprt +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 0xc4cd7047 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7197272 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc483dc7 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc9bd5e1 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xccc2372e rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcfd28646 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd05c4f0b xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd110127f xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd25e3341 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2d19daa xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd56db238 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd62edb6c rpc_exit_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd65ce477 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd85f12d9 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd90c3e17 rpc_mkpipe +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdabf3e66 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb598d03 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd1fa5cd xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd658687 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde6bd624 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdf89ea71 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe064b232 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe2e3e525 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe32f7b7e svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe61fb8d1 auth_unix_forget_old +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6bc9574 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6d62ca4 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed493941 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee665b85 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeebe4033 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1c418be read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf61cea4b svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf7ebe3d2 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc375dc5 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe496a1e svc_proc_register +EXPORT_SYMBOL_GPL net/wimax/wimax 0x3ffa35e2 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x4be09690 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x52073cfd wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x5590526f wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0x60f779da wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x67ddd20e wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x682dbea0 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x80327c0d wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8da1d7c2 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0x9caae3e4 wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb0559c13 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd8b50de0 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0xfeb2533f wimax_dev_rm +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0033014b cfg80211_wext_siwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0ae2748f cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0c1e04e4 cfg80211_wext_siwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x139fbb71 cfg80211_wext_siwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x17144965 cfg80211_wext_giwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x26292e4e cfg80211_wext_siwmlme +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2c47a428 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x304c3e80 cfg80211_wext_siwgenie +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x38a4528c cfg80211_wext_siwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x404577d3 cfg80211_wext_giwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x5e916a6c cfg80211_wext_giwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x66be411c cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7cdd7666 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7dd363fb cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7ec8caa0 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x89c7ccf5 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x977633fa cfg80211_wext_siwencodeext +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x993e0f3e cfg80211_wext_giwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9b51c8d5 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9e7874df cfg80211_wext_giwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa132cc25 cfg80211_wext_giwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xaaebc0d1 cfg80211_wext_siwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb16839b7 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc73ab2bc cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcbb161b6 cfg80211_wext_siwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd57fa3fe cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdf28ec3f cfg80211_wext_giwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe3028537 cfg80211_wext_giwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe3847f14 cfg80211_wireless_stats +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe9d3f0f3 cfg80211_wext_siwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf425cd19 cfg80211_wext_siwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf862c0b6 cfg80211_wext_siwencode +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x596dde6a ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xb5b35ff1 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xbde46a5f ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xf4954bd9 ipcomp_init_state +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0876966f snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0943ea5c snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x09c825c8 snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0bb11256 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0e1fa6e6 snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x121e747f snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1a7b38ad snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1ac7baab snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1c7c29b2 snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1e9331a3 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2c355de4 snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3234fdd0 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x32f7dac2 snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x33d7adc0 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38f2d449 snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3d68908a snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3eaba582 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x402fe0cd snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4392c01f snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x43b84373 snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x466726b3 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4af2f959 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4de5c68c snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4fd0a3cd snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5002e09d snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x514d94c9 snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x519ba643 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5238c8c7 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x546326b7 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x553cf71b snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x55f19389 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ae76f73 auto_pin_cfg_labels +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5c5546e5 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ec37d06 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x622e3e55 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x632fd9f3 snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x650607e8 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x69df7b92 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6bfc496e snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6dd10184 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6f0d994a snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7597ed51 snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7ad980eb snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f6dc891 snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x80845359 snd_hda_parse_pin_def_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8cf58f41 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e52410b snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9b59f3c5 snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa032c361 snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa0fc8d00 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa206255e snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa30171f0 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa357abaa snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa78180f5 snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa90153d1 snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad87613e snd_print_pcm_rates +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb20680b4 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb3082868 snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb5a6ce4c snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe03cf87 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc34a54c6 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc48ea487 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc508e99d snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc63459e8 snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc8af6bb8 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc9305a3b snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcce27eb0 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcda3edd7 snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xce2611bd snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd3616af1 snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdb6ce202 snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe059726c snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe0666c00 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe084c141 query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe702eeb9 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe74672ff snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe958e061 snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf0398469 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf4f0acda snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0x6c7898be soc_codec_dev_ad73311 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0x92598257 ad73311_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0xd1249748 ak4535_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0xec26517d soc_codec_dev_ak4535 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0x87099e9d ak4642_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0xb49d7ed1 soc_codec_dev_ak4642 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x1376532c cs4270_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x1e8d7863 soc_codec_device_cs4270 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x8cf60ae0 max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0x766ec284 soc_codec_dev_pcm3008 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0x8d1e7d59 pcm3008_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-spdif 0x62c82dbb dit_stub_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x24f955c0 ssm2602_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x7ddbc74f soc_codec_dev_ssm2602 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0x21c2d349 soc_codec_dev_tlv320aic23 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0x6d6d3172 tlv320aic23_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x1c0e412b soc_codec_dev_aic3x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x33acd4cc aic3x_button_pressed +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xa74a65f6 aic3x_set_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xc9d26ba0 aic3x_set_headset_detection +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xd27a75f5 aic3x_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xdd123606 aic3x_headset_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xfd2853af aic3x_get_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0xd2564f47 soc_codec_dev_twl4030 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0xd2e83bb9 twl4030_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda134x 0x13ee2942 soc_codec_dev_uda134x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x2254152b soc_codec_dev_uda1380 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x60a84e6e uda1380_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x253e70c2 wm_hubs_add_analogue_controls +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 0xcf6ae807 wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x5456d888 soc_codec_dev_wm8350 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xa9a88a00 wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xd6644658 wm8350_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x8e9960e6 wm8400_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0xcf4a22da soc_codec_dev_wm8400 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0x8572d6be soc_codec_dev_wm8510 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0xbb1f9a09 wm8510_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0x0c63f23a wm8523_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0xac193b24 soc_codec_dev_wm8523 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0x56563a3d wm8580_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0x8aa3ed31 soc_codec_dev_wm8580 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0x24810584 wm8728_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0xe5e42a64 soc_codec_dev_wm8728 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x35e4fb1a soc_codec_dev_wm8731 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0xa5f95ff8 wm8731_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x0d75b967 wm8750_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x2872b6e9 soc_codec_dev_wm8750 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x035fe52a soc_codec_dev_wm8753 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x6bdf4702 wm8753_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x248b2023 wm8776_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x7dacc501 soc_codec_dev_wm8776 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0x4ac784f2 wm8900_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0xce660331 soc_codec_dev_wm8900 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xcc53f65c wm8903_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xe54b50f2 soc_codec_dev_wm8903 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0xbe88a0e1 wm8940_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0xc96fabed soc_codec_dev_wm8940 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0x2917b1c8 wm8960_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0xcaeb7f83 soc_codec_dev_wm8960 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0xd3f04ec2 soc_codec_dev_wm8961 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0xe24b626d wm8961_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0x443c69d9 wm8971_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0xd23224f5 soc_codec_dev_wm8971 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0x14f1f86a wm8974_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0xaf45d0b0 soc_codec_dev_wm8974 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x08acd881 soc_codec_dev_wm8988 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x957b48f8 wm8988_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0xc1b738be soc_codec_dev_wm8990 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0xdf5fc121 wm8990_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0x59cbb38f wm8993_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0xea9a6b7d soc_codec_dev_wm8993 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0x990605f2 soc_codec_dev_wm9081 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0xba401658 wm9081_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00fa487c snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x025913da snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x03ae20e6 snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0617f0e0 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x06747124 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x06bcd1bc snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x075a1251 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x075c1f5e snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0f1149a2 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1334ec9c snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x162bb0ee snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x17daa9f6 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x17fb5812 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1bca3570 snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1c8858bd dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2db9532a snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x33bc9c17 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3718dc2c snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3ef4559c snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x41b1dc7c snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x41d2421b snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x43faa91f snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x445b4e0c snd_soc_new_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x45d0ab23 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x47f9fc26 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x48d52ab9 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x49406503 snd_soc_suspend_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4c4f8c07 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4dba42f7 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4e036e1c snd_soc_get_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4ef02ac6 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4ef67954 snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x519366f6 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5853db52 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x597f44d5 snd_soc_free_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5b7e4474 snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x65e833f5 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x68cbf34d snd_soc_dapm_stream_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6ad66e16 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6f437d11 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6f62de5f snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7cf516ce snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x820ce538 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x84f549e9 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8c7833e6 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x96fb5429 snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9841408e snd_soc_resume_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9f445832 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa4aa981a snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaa74c8ab snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb06befc6 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb1adbff4 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb471a668 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbdeaf3d7 snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbe0609d3 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc0749cc0 snd_soc_add_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8525444 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8a8fbe9 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd5d7c400 snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd82e0303 snd_soc_put_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd9561d99 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe56a24cc snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe820c352 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe8582b44 snd_soc_info_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe92109da snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf05cdae7 snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf0aaa5a0 snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf3efa7f1 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf80a694e snd_soc_init_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9039707 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9e6781e snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x24e660a0 xv_create_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x67ed7575 xv_malloc +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xa3b7474c xv_free +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xaf69699e xv_get_object_size +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xbf39bf05 xv_destroy_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xc96aa6af xv_get_total_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0x000e5a79 unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x00566d8f inotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x0058ae24 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x007ae0f5 fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x007f69e6 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x0098d611 register_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x016b9869 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x01749e90 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x017df910 blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0x018a21bf dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x01a39fce __create_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01bb9926 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x023b99a2 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x028137ad __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x029373c1 sysdev_show_int +EXPORT_SYMBOL_GPL vmlinux 0x03100b09 queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x0314fc7f inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x0340cbab pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x0380ac6e __class_create +EXPORT_SYMBOL_GPL vmlinux 0x03829f74 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x03886af6 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x03dd4557 scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x04069b1d set_irq_nested_thread +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x0448db91 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x04758393 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x0495a4d2 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x04c2785c regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x04e57697 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x0507457a mtd_table +EXPORT_SYMBOL_GPL vmlinux 0x052f7ab3 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x05965169 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x05fb3da5 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x0619ca8a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x064d133a proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x0668ce5f ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x0683047a ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x069ec574 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x069f22c2 get_cpu_sysdev +EXPORT_SYMBOL_GPL vmlinux 0x06afa15d ata_bmdma_mode_filter +EXPORT_SYMBOL_GPL vmlinux 0x06d13f1f ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x06d85e44 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x07944dd9 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x079793da ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07ce7344 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x07f74407 eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x08461fcd inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x085af1b0 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL vmlinux 0x087bf1d8 ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x08a3e5d1 net_ipv6_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0x08a475ad fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0x08b1087d fib_rules_cleanup_ops +EXPORT_SYMBOL_GPL vmlinux 0x08c6c60b led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x08d17de8 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x08d21013 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x091f7530 ata_port_start +EXPORT_SYMBOL_GPL vmlinux 0x09cf5678 scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x09d63f0f devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x0a105793 proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0x0a93432b vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b2c080d pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0x0b353396 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x0b3af906 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x0b87bfe5 register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x0be15b27 register_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0x0c0c41a5 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c34a5c9 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x0cb88680 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x0cc34556 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x0d076c16 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0d5d5c3f crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x0d6aa66b crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x0ddb73cd cfi_cmdset_0200 +EXPORT_SYMBOL_GPL vmlinux 0x0df0ea18 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x0e19d1de sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x0ece1a35 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x0eda90ed simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL vmlinux 0x0f4cf1bb device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0f7833ad vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x0f84b5f0 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x0f893a71 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x0fe49f65 register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x0ff193c6 pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101c923e __tracepoint_power_start +EXPORT_SYMBOL_GPL vmlinux 0x105b9208 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x109f71ab mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x10d71945 inet_csk_clone +EXPORT_SYMBOL_GPL vmlinux 0x11b10b3c crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x11d3672b regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x121ed7cc __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1251d30f call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1256c3e9 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0x12639aa2 rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x1272ef77 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x130cb9e8 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x137dca36 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13f1017c tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0x142b6408 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x14485194 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x1449f832 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x144ca71b klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x146d606f class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x149db923 selinux_string_to_sid +EXPORT_SYMBOL_GPL vmlinux 0x14e636cc ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x150f91f5 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x1547ea65 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x1556756b usermodehelper_is_disabled +EXPORT_SYMBOL_GPL vmlinux 0x15892417 async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1598dc9d unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x16413bdc invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x16f76869 probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x174c0954 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x174d0364 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0x17507c44 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x17556865 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x17808720 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x178e8645 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x17b6cb54 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x17ee5eab crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x182243ed filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0x18447ca9 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x18d296f3 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x18d53420 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0x18efe1fc pci_sriov_migration +EXPORT_SYMBOL_GPL vmlinux 0x191fb096 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x1972c35c attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x19f081a3 unregister_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a3311d9 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x1a399f32 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0x1a406c97 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x1a474901 tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x1a5ed4e5 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x1b24178e relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x1b4c4c5b ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x1b7f9f8a klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1c852e7c xfrm_calg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1d1271a0 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x1d1280e0 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x1d54cfba ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1d667a1e bus_register +EXPORT_SYMBOL_GPL vmlinux 0x1d8f8059 __tracepoint_power_end +EXPORT_SYMBOL_GPL vmlinux 0x1db21d74 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x1dd5d0a7 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x1dee2629 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x1e1012be ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e7edb7e shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ec7c603 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x1ed1fb6e sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x1f16fb92 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x1f67e238 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x1f689cb9 dm_rh_stop_recovery +EXPORT_SYMBOL_GPL vmlinux 0x1f9bbf49 device_create +EXPORT_SYMBOL_GPL vmlinux 0x1fcbacd9 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1fefdae5 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x201601b5 ata_port_disable +EXPORT_SYMBOL_GPL vmlinux 0x202873d4 sysdev_create_file +EXPORT_SYMBOL_GPL vmlinux 0x204c2d35 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0x208bf772 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20ddf9bf firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x215b1703 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x215bcbe0 klist_next +EXPORT_SYMBOL_GPL vmlinux 0x215db6e9 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x21615692 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x2210f2ba task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x224f12a3 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x2254264e sysdev_store_int +EXPORT_SYMBOL_GPL vmlinux 0x227f1ffa debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x22a70925 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x22ccb60b class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x22e2c20b atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x230c339a crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x2359beef pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x2362ecad platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x23679939 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x237c2a85 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x238165de devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23869dc7 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x23b68302 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x23b910e4 nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x23be95e0 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x23c5b936 get_sb_mtd +EXPORT_SYMBOL_GPL vmlinux 0x23dfd49a ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x2409a830 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x241db1df user_update +EXPORT_SYMBOL_GPL vmlinux 0x241e61c3 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2493924a ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x24d3becc ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x2516288a inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x25b3874e seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0x25f2d751 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL vmlinux 0x266482bd sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x2676808d inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x2680b9ba mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x26987dfd blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x26b1d6ff fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26d62830 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x2787db00 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x27adf232 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x27fd12c2 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x2801a815 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x283caebd ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x286e062b sysdev_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x288cbdfa ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x28a07236 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x28b2cc80 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL vmlinux 0x28ee560b ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x28f20666 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x29adaa7a crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x29f1ac14 pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x2a0f43a8 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x2a1442f4 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a8eede8 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x2abbef92 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0x2ac61e0f unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x2adb453f ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x2b02be26 __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x2b582f55 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x2b8c3f26 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x2b9f8e23 nf_net_ipv4_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x2bd14911 blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0x2bf67733 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x2bfc4d7f tracepoint_get_iter_range +EXPORT_SYMBOL_GPL vmlinux 0x2c1c635d __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c7c4da9 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d0cd818 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x2d314652 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x2d74c220 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x2dd8444c trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x2de66e84 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x2deb25d1 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x2e107235 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x2e1209c7 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x2e3b261a attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x2e3d08b9 crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x2e47f677 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x2e4d6280 shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x2e611142 ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2ea00c05 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x2ea8cc50 sysdev_class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x2ec50edd __pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x2efd7c83 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x2f246937 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2f27fdd3 __module_address +EXPORT_SYMBOL_GPL vmlinux 0x2f9bc41d sk_clone +EXPORT_SYMBOL_GPL vmlinux 0x2fae1ae2 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x2fcd9e17 dpm_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x2fcea969 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x2fe33435 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x301ad50c pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x303fc741 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x304273d7 dm_rh_update_states +EXPORT_SYMBOL_GPL vmlinux 0x306e6c9f __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x307cf300 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x30a4f4ca bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x30b70233 dm_rh_flush +EXPORT_SYMBOL_GPL vmlinux 0x30e6770c put_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0x311a5aba tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x3128507d inotify_find_watch +EXPORT_SYMBOL_GPL vmlinux 0x31526ceb del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0x31a07d7b tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0x31d8db1d class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x32059a0a crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x327338ae crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x3281fc9d get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x32829b14 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x32b59b39 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x32d5e7fc xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x32f17454 ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x33262c67 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x333ae26f ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x3354df2a inotify_rm_watch +EXPORT_SYMBOL_GPL vmlinux 0x33809cb0 dm_rh_recovery_end +EXPORT_SYMBOL_GPL vmlinux 0x3399e5f8 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x33dac172 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x33fb5729 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x34275124 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x3466683d sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x3502bb46 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x35349876 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0x35d8c94a sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x363157cb sysdev_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x3677371c __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x36846ea1 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x36a08832 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x36ae4ca6 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x36bd4105 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x372d2421 bd_release_from_disk +EXPORT_SYMBOL_GPL vmlinux 0x3730b71e fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x3752e992 pci_unblock_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0x3761cdd5 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x37ad4176 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x37e41008 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x384f175a net_assign_generic +EXPORT_SYMBOL_GPL vmlinux 0x3858697a dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x390ff1d7 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x3910e137 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x393378d9 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x393e6e9a eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0x3946f814 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x396b7558 transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x396d31b4 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x397e6723 fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x39819646 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x3996329e ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x39a7be70 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x39b233ab fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x3a0a1030 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x3a5a7736 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0x3aab337a driver_register +EXPORT_SYMBOL_GPL vmlinux 0x3ab17bf8 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0x3adb362c eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0x3af230bd ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x3af74f71 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x3b15c694 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x3b87269e nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0x3b9cd243 inotify_inode_is_dead +EXPORT_SYMBOL_GPL vmlinux 0x3bbf2dd3 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x3bc33f65 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x3be7af02 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x3c380a14 put_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x3c486d7a get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x3c4ca177 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x3c6c45ca __tracepoint_power_frequency +EXPORT_SYMBOL_GPL vmlinux 0x3c8b2e72 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cd97234 kill_mtd_super +EXPORT_SYMBOL_GPL vmlinux 0x3cfdfae5 trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x3cfe49b9 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d21a254 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d7187c4 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x3da7c21a sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x3dd0e1b6 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x3dd4d3a7 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x3df04843 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x3e55d9c6 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0x3e5ca12d ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x3ef7cc22 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x3f01570a probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x3f238101 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x3f5c1da6 disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0x3f64d961 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x3f6d8b6e deregister_mtd_blktrans +EXPORT_SYMBOL_GPL vmlinux 0x3fd29f0e devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x3fde26b6 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x40033b87 scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x40127b0b class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4022b239 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x4064b872 __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40b97e38 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x40c30178 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x411000b7 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x4146d8cd debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x41d83ef1 crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0x41df969d user_match +EXPORT_SYMBOL_GPL vmlinux 0x42494cea ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x42873aae pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x42c1d798 ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0x42c9d8ae d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x42fefd60 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x43108ddb disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x43201505 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x4325b4ad blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x438a113f pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x43b3bf39 platform_device_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x43c9c61f tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x43d8d54c led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x43da657b device_register +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x44126ac7 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x447c49b6 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x449e76a3 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x457dc1a5 devres_find +EXPORT_SYMBOL_GPL vmlinux 0x4588ad03 parse_mtd_partitions +EXPORT_SYMBOL_GPL vmlinux 0x45ab792e inotify_add_watch +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x460eccd9 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x46dd7d67 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x46eab828 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x4751ca63 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x47695c9a __class_register +EXPORT_SYMBOL_GPL vmlinux 0x47888ecd debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x47b71231 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x48044b36 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x481e9bcc unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x4826193a ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x4863259b driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x48e457a3 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x49878df7 dm_unregister_path_selector +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49ffeabd inode_add_to_lists +EXPORT_SYMBOL_GPL vmlinux 0x4a4db27e vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x4a548620 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x4a67b130 regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x4aa84925 dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0x4ad4fba6 inotify_dentry_parent_queue_event +EXPORT_SYMBOL_GPL vmlinux 0x4ae4e16b ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x4ae5a3e4 crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x4aee44e8 get_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0x4b0781ba blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x4b30118c da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x4b752a5f inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x4b88d4b0 drop_file_write_access +EXPORT_SYMBOL_GPL vmlinux 0x4bc920c1 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x4bd4a279 regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x4bdbbbdd cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x4be2118c regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4c3c0f4d nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x4c3f7079 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4c848371 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x4c889200 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0x4c8c3a12 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x4d1f052c __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x4d4be508 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x4d8f4c15 klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4dc513fd scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x4e11415a add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x4e71d2ed inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x4ed08e8d crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x4f6ab79e ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe08422 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4fe49e75 blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +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 0x51347d59 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x520309dd __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x5217f2c7 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x521c4dd3 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x524b2b42 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x52b8d49d vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x52d111ea pm_qos_update_requirement +EXPORT_SYMBOL_GPL vmlinux 0x52f9ba01 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x5326b6f2 sysdev_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x5348a7a0 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x538454d2 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x5384d780 dm_region_hash_destroy +EXPORT_SYMBOL_GPL vmlinux 0x53919352 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5415375a crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0x542a37d8 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x5449d317 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54f4e1aa register_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0x551d8d2f hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x5542b913 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x55858c4e ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x55b1e7e1 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x5619c8c6 scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x563fb5c8 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x56576685 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x56966617 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x56bd6eef ata_sff_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x56c1b115 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x56d42418 thread_notify_head +EXPORT_SYMBOL_GPL vmlinux 0x56d88e69 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x56e23078 fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x5752c65c ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0x57898851 br_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0x579cd7ce inet_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x58157640 scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0x581d0c04 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5872150c raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x58cd1179 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x58d284ad led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x5931f175 __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0x593a36c2 scsi_dh_handler_exist +EXPORT_SYMBOL_GPL vmlinux 0x59ca3224 inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x5a15c2af uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x5a48f457 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x5a543d32 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x5a5e7797 add_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a7c8e1a dm_rh_dirty_log +EXPORT_SYMBOL_GPL vmlinux 0x5aa80d8b __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x5ac74803 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x5acf2882 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x5b168f37 rtnl_kill_links +EXPORT_SYMBOL_GPL vmlinux 0x5b34494d da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5b7a4b34 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x5b8ba6df devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x5bd4f574 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x5be6d1f6 inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c1a868a __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x5c5f17e2 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x5c89dd89 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x5c9cb17b ip6_dst_blackhole +EXPORT_SYMBOL_GPL vmlinux 0x5cec0157 led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x5d0f6f57 kbd_table +EXPORT_SYMBOL_GPL vmlinux 0x5d19f076 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x5d22fd55 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x5d455509 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x5d4a4572 ktime_sub_ns +EXPORT_SYMBOL_GPL vmlinux 0x5d51c295 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x5d52ae36 do_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x5d695a65 inotify_init +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d754bd1 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5de7abd8 ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x5df8b4f3 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x5e1a84b8 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x5e787b27 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x5e940cd3 ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x5f1cced5 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0x5f387f6b dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x5f9623ec ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x5fb3a523 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x5fcc1c94 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x5fcd39f2 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x5fcdec5d xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x600d3f4f inotify_init_watch +EXPORT_SYMBOL_GPL vmlinux 0x6040fd4b read_unlock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0x60668857 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x6077686f rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60ea74e3 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x61150930 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x615e41f2 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x6172b469 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x61a0005c ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x61c8ea20 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x61e23a07 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x622b235f ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x622b3e2c srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x623914ec rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x629a7f6e do_posix_clock_nonanosleep +EXPORT_SYMBOL_GPL vmlinux 0x62b45310 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x62cf655e dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x631bb094 dm_rh_mark_nosync +EXPORT_SYMBOL_GPL vmlinux 0x631cf71e kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x638c65cd input_class +EXPORT_SYMBOL_GPL vmlinux 0x63be58a6 remove_irq +EXPORT_SYMBOL_GPL vmlinux 0x63eca7fb raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x63f22fb1 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x6430a86f dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x649e9592 klist_init +EXPORT_SYMBOL_GPL vmlinux 0x64c13d9d __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x64fce0f9 aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d6d0f0 gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x65e2a655 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66da735c tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x66e26a61 inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0x66f43953 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x66f5b2e0 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x67124029 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x675b1831 sysdev_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x679b9fb4 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x67afee17 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x67d5915f sysdev_class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x67d9ef27 driver_add_kobj +EXPORT_SYMBOL_GPL vmlinux 0x67f203c8 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x680fe947 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x68225a03 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x683b25f6 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x683d5869 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x685c5de4 crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x686c703f xfrm_count_auth_supported +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6901119a trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x6911bdbc user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x692f5c47 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x695d79b3 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x6994cd30 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x69ae2127 get_mtd_device_nm +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6a5fb821 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x6a6a7113 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x6a889b0c fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6a941275 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x6aa4f8b6 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6ab0a014 sysdev_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6ab76f06 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x6ada04a5 lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0x6adc3245 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x6c2a0d9b regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6c8eb98f xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x6c922418 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x6ce08c3d debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d3a59fb crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x6d4ae3ab tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x6d50e282 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x6d615808 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x6d6da22d shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x6da7dda4 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x6dc8ad1b ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x6e1024dc bd_claim_by_disk +EXPORT_SYMBOL_GPL vmlinux 0x6e1a5ef5 sis_info133_for_sata +EXPORT_SYMBOL_GPL vmlinux 0x6e63f648 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x6e6a3de1 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x6e7474fc xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x6ee2a94f platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x6f03a075 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x6f4113aa bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x7019a40b ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x7033980a regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7033a466 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x70d60cf0 user_describe +EXPORT_SYMBOL_GPL vmlinux 0x71063b40 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x7141ac42 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x71424bac driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x7169eeda ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x7193ace6 i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x71be7335 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x71c8bc95 kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x71f2aeb3 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x71f9246a leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x71fa3af5 default_mtd_writev +EXPORT_SYMBOL_GPL vmlinux 0x720d1bf9 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x720edcea __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x7222fe91 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x72ca215c ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x73114c02 rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x732ec1f2 pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0x7386d10e skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x7406b339 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x7455e389 pci_block_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0x748f91ab da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x74abdafa task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x74aecc04 kill_pid_info_as_uid +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x750f458f inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x751d3d72 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x75240f23 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x753ebc18 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x754337c8 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x755cd9f8 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x755efe14 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x761188fd dpm_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x761237c2 blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x7649be08 regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x767b26c2 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x76945b5d dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x76a5b7ec crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x76cff3e3 device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0x76dea4ca scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x7704bdcf relay_close +EXPORT_SYMBOL_GPL vmlinux 0x77199f61 sysdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x773ca527 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x77a0073e sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x781acb7a __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x78324ad8 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x783efacf ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x784a5d1f inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x7868fa4b pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0x78970809 crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x78af7c8f init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x78c16bd4 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x78e4a4ee klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x78f0f82a blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x7924ed63 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x793e5501 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x793f5cf0 device_add +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x7948d109 srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x79dd5ec0 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x7a14eee9 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x7a604bff dm_rh_get_region_size +EXPORT_SYMBOL_GPL vmlinux 0x7a703c5b elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7a78b670 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x7af68cfc ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x7b133668 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7b34f7d0 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x7b398cab platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x7b3d39f9 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x7b4884b4 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x7b5ec9ac pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x7c2eb9f7 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x7c595934 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7c6784ef ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x7dab8911 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x7dbb57ee netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e9f1181 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7ebd2045 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x7ebf81bc security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x7edd76c2 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x7ee2cf15 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x7eef4ba0 fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0x7f0448b4 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x7f474966 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x7fbfa401 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8014b6af input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x8033bb17 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x8039d043 selinux_secmark_relabel_packet_permission +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80c55238 unregister_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0x80ee55c3 selinux_secmark_refcount_inc +EXPORT_SYMBOL_GPL vmlinux 0x811b22d3 scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0x813558af zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x813ea8cd inotify_remove_watch_locked +EXPORT_SYMBOL_GPL vmlinux 0x8141860a bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x8146251b __pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x81dded66 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x820555b2 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x8227e990 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x82c34125 ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0x82d0313a ata_pio_queue_task +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82e4eba6 skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x82f776b7 gpio_export +EXPORT_SYMBOL_GPL vmlinux 0x834926cd pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x83553786 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x836d2cc9 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8377f7ca mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x83892cf0 tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x83b6014a ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x83b7fa72 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x8412e3c5 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x8444c619 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x848086e8 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x848ddd59 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x84d6cf68 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x84e7eaaf dm_rh_recovery_start +EXPORT_SYMBOL_GPL vmlinux 0x851fbc43 inotify_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8536f971 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x85521819 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0x855c3290 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x857e9b6d mtd_erase_callback +EXPORT_SYMBOL_GPL vmlinux 0x859714fc crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x85bbba00 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x8605da76 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x860b9b02 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x865ddb2f ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x8681a0bc init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x86875836 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86b1667d hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86ce34e1 sysdev_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86ff1104 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x873642f3 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x875f0349 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x87766cb2 cfi_qry_mode_off +EXPORT_SYMBOL_GPL vmlinux 0x87ac1bc6 klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x87b32ba3 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x8846902f inotify_inode_queue_event +EXPORT_SYMBOL_GPL vmlinux 0x8850c7d5 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x885142a6 nf_net_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x88558b82 get_device +EXPORT_SYMBOL_GPL vmlinux 0x88566529 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x88ad8e34 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x88c6dbe4 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x8926e70b crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x892d47b4 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0x892e370a rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x8935816f user_read +EXPORT_SYMBOL_GPL vmlinux 0x896c712c platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x8a30c374 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x8a6813a9 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x8a73f634 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x8a95326a kmem_cache_name +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8c5d9086 sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x8c840138 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8c8c470e regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x8ca37080 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x8ca3fb7c get_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x8cc69fcd dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x8cccc9c0 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x8cee00ec ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x8d033df4 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x8d20bd1c scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x8d217692 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x8dff0c86 filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0x8e15a0d7 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0x8e408015 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x8e6e52d3 ata_sff_host_intr +EXPORT_SYMBOL_GPL vmlinux 0x8e87181f ata_sff_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x8ee7ee50 blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x8f5ff02d pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x8f64f15a device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x8f6a8bcc hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f976992 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x8fa74514 sysdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x901f137b regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x90337ef4 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x90500451 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x906aef54 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90adad13 use_module +EXPORT_SYMBOL_GPL vmlinux 0x90df51c7 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x9138e3b0 sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x9170bbf3 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x91aab624 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x91b5727b ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x92297c6d __set_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x924d61be init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92e0395e skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x92e70cde power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x92fb217b dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0x93404e04 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x93484658 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x9384a808 pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x938e6927 dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x94092f29 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x949c0fed pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94ced84c sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x94e41b24 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x951a9044 register_posix_clock +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x9533fd22 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x95539fa1 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x95577f68 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x959a45f6 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x95a1e54b crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x975bdb3c class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x977389e9 unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x97746e4b xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x97a58ad0 xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x97d4ee9b inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x97edf007 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x9818cddb clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x98196f5b blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x98739c1b ata_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x98c4c682 dm_rh_get_region_key +EXPORT_SYMBOL_GPL vmlinux 0x98c671f2 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x98deb6ba module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x9905328f ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x992403a0 class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x9991e6d9 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x99cb36c9 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x9a112161 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a3b914c platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x9a42912b trace_define_common_fields +EXPORT_SYMBOL_GPL vmlinux 0x9a6f40ec rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x9a832ba7 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x9a8f48a5 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x9abb70c6 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x9aef5b89 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x9b683b45 scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ba1a095 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9bb8f3bb fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x9bbfa820 aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x9c11db7d unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x9c2c9e83 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x9c30347e sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x9c3e1a6b devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x9c3ecdf0 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x9c674e57 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x9c7912d3 __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x9c8ef204 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x9c8f578b ata_sff_port_start +EXPORT_SYMBOL_GPL vmlinux 0x9cb8037b xfrm_count_enc_supported +EXPORT_SYMBOL_GPL vmlinux 0x9d05ffbd crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x9d1d57a9 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x9d2df0c6 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x9d469284 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x9d49c8f7 lookup_create +EXPORT_SYMBOL_GPL vmlinux 0x9d6c0f43 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x9d99dff7 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x9df77049 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x9e0b4335 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x9e66cb8d ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x9e711ad2 pm_qos_requirement +EXPORT_SYMBOL_GPL vmlinux 0x9e7d95f3 register_mtd_blktrans +EXPORT_SYMBOL_GPL vmlinux 0x9ef6dbec regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x9f0247de ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f4e70b3 put_device +EXPORT_SYMBOL_GPL vmlinux 0x9f760d2c driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x9f805872 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x9f85ed90 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0x9fb088b6 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa0255440 net_ipv4_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL vmlinux 0xa0fba45a rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa141f8b6 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0xa16bdd5f cfi_qry_mode_on +EXPORT_SYMBOL_GPL vmlinux 0xa2aa2fa2 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xa3c59a17 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xa40a8590 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xa415fc36 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0xa4616f27 i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0xa485284f blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0xa4ad7891 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xa4d2981b sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0xa516ddc9 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0xa57afc74 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xa580012d register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xa5919f4e device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xa5bf5c3e pm_qos_add_requirement +EXPORT_SYMBOL_GPL vmlinux 0xa5c36cec inotify_unmount_inodes +EXPORT_SYMBOL_GPL vmlinux 0xa5cb3083 rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa5da6d18 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0xa5dd6fae arm_pm_restart +EXPORT_SYMBOL_GPL vmlinux 0xa5ded5f5 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa63cafb3 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0xa6473a69 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xa65f9329 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xa6aeee4e map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xa6cdd8eb inotify_find_update_watch +EXPORT_SYMBOL_GPL vmlinux 0xa70c7f6f crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0xa719fd13 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0xa71bb34d rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xa72f885c enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xa7412a72 register_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0xa7b48446 register_net_sysctl_rotable +EXPORT_SYMBOL_GPL vmlinux 0xa7b8bfe1 proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xa884d7b6 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xa8cdc826 platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xa8d7947d register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa903bc4d ata_port_probe +EXPORT_SYMBOL_GPL vmlinux 0xa95479e8 unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xa98f8cba crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9f47e25 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9fcae4b bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0xaa2a72bf __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0xaa3774c5 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0xaa42bc31 inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0xaa44aa45 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0xaa5310f9 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xaa8c4696 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0xaaafe871 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0xaabac924 __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xaac4417c single_open_net +EXPORT_SYMBOL_GPL vmlinux 0xaace3560 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xaad89928 scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xab3a62c9 queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0xab57e311 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xab815ae2 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xab8e6d31 rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0xab974cab sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xac03f0bb platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xac779a4e blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0xac8191f9 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xac8a169c driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xac9a2298 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xacd4e5ca input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0xacd69fa9 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xad03a8cd ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0xad67e0a2 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0xad88f272 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae40df74 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xae90d4b9 tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0xaeb3bf2d dm_rh_bio_to_region +EXPORT_SYMBOL_GPL vmlinux 0xaef1f613 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0xaef27b65 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0xaf3b7b70 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0xaf3f6fe0 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xaf43ff70 do_add_mount +EXPORT_SYMBOL_GPL vmlinux 0xaf488c18 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0xaf5b4d6b ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0xaf63294b sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0xafdb2c8b device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xafe0af7d __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xafe50c92 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xb01d6e9b md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xb02a7869 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0xb0aa812e fips_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb0cb520b devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xb0f4c4a9 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xb10cae45 get_driver +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb1ed290d relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xb24ca866 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xb28c57aa ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0xb2d104e8 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xb2d30f88 ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0xb3708846 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0xb3ba64f7 dm_rh_start_recovery +EXPORT_SYMBOL_GPL vmlinux 0xb3ce537c relay_open +EXPORT_SYMBOL_GPL vmlinux 0xb41ceaf0 sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xb449ed11 mtd_table_mutex +EXPORT_SYMBOL_GPL vmlinux 0xb45a9be7 device_attach +EXPORT_SYMBOL_GPL vmlinux 0xb46c730b ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0xb4a4b9fb blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb50ca928 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xb54e18df del_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0xb560d9db destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb5e7fe6b tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xb6086f49 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0xb65091b3 selinux_secmark_refcount_dec +EXPORT_SYMBOL_GPL vmlinux 0xb693efc1 device_del +EXPORT_SYMBOL_GPL vmlinux 0xb6a1997e ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb705db7b ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0xb7174b04 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0xb730edeb uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0xb744fa43 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xb7ad2c3f do_sync_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0xb7af628d __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0xb7dbe5db fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0xb8759c2c srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xb876d8be sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0xb893ff0d simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xb8fee532 blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0xb917b6d7 return_address +EXPORT_SYMBOL_GPL vmlinux 0xb9230e05 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0xb9eb3aa9 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xba571c61 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0xbabf93b4 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbad0e73b dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbaf7a7e6 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0xbb6759a3 find_module +EXPORT_SYMBOL_GPL vmlinux 0xbb731012 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0xbb9685da relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xbb9a2c75 ktime_add_ns +EXPORT_SYMBOL_GPL vmlinux 0xbba189dd sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xbbac4449 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xbc51c3b8 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0xbcb8cfc4 blk_abort_queue +EXPORT_SYMBOL_GPL vmlinux 0xbcc9c336 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xbcd80d23 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xbceb667d skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbcf15716 each_symbol +EXPORT_SYMBOL_GPL vmlinux 0xbcf987c4 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0xbd4c1176 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xbd5de87d crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0xbdafa8f4 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbdf77348 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0xbe0541d4 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0xbe116723 do_posix_clock_nosettime +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe612f47 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0xbeabd021 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xbedc62da schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0xbeea7a2b srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc046b946 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0xc0691435 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0xc0891ced vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0xc126e890 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xc13cfcd2 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0xc18bf5d4 generic_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc312f5b3 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xc32dbd4e macvlan_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0xc3301f02 rcu_expedited_torture_stats +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc3527505 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xc3576979 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0xc38fc193 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3aa2836 read_lock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0xc3eb68e1 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xc40365db ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xc417fec5 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4adbbbd sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0xc4b33aa6 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc514b827 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc673e23e ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xc6a2bdb4 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc6ffcb2d init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0xc720d7db dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0xc721c0b2 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc7477c87 device_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc7c6e88d regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xc7fc30fe tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xc86b144f pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9e5b8ac ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xc9eba7ee power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0xca0abe2b tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xcab7edf2 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcaf2d00b ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xcb0c2ebf __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xcb4cf82a pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0xcb51cabe klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xcc05dca1 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0xcc0c769d ip6_sk_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc33b832 crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xcc5c2035 dm_rh_dec +EXPORT_SYMBOL_GPL vmlinux 0xcca39e14 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xcd3a1101 fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0xcd9335ba get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xce0c45d8 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0xce429bd7 put_driver +EXPORT_SYMBOL_GPL vmlinux 0xceb728a0 elv_register +EXPORT_SYMBOL_GPL vmlinux 0xcebbad10 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0xcecb5842 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0xced31b44 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0xced9ff39 ata_sff_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xcefc1212 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xcefc5182 dm_rh_inc_pending +EXPORT_SYMBOL_GPL vmlinux 0xcf4e9da6 gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0xcf69c3d9 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xcf7a962e cn_add_callback +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 0xd0398e12 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd091b075 inotify_rm_wd +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd1341db1 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0xd1546fff ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0xd1593e0a ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd1886e8e find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xd1c81f39 inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0xd1d48940 inet_diag_register +EXPORT_SYMBOL_GPL vmlinux 0xd2013048 dm_rh_delay +EXPORT_SYMBOL_GPL vmlinux 0xd21ec21f ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xd25ab479 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0xd261f035 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd2ae5dac platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0xd331fc06 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd332f796 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0xd381c91a ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xd42457d2 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0xd42b26d5 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0xd463bce7 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xd4948607 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0xd4d8fb87 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xd4f3fe7d sysdev_register +EXPORT_SYMBOL_GPL vmlinux 0xd517df80 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0xd590c960 debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0xd6cdbea0 pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xd7009a60 blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0xd71206a2 xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0xd73ef534 sysdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xd741cfcf blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xd74f8463 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd78e08bc security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0xd7efa4b4 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0xd7f0f764 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0xd821964e add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd87afa0a crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0xd8b358fe inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0xd8c03686 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0xd8cba368 rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0xd8da6499 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xd8e7da0a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd911222d sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xd92859a6 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xd9300760 unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xd939846c dm_region_hash_create +EXPORT_SYMBOL_GPL vmlinux 0xd9ec8251 scsi_dh_detach +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda333ea6 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0xda431189 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xda469529 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xdaa8af1b xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0xdab21aec k_handler +EXPORT_SYMBOL_GPL vmlinux 0xdae247c3 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb274e52 monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0xdb395c6b tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0xdb469bb0 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xdb494ff9 pm_request_idle +EXPORT_SYMBOL_GPL vmlinux 0xdb94755b ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0xdbe16efa ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0xdc659687 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0xdc9d99b2 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xdcadcc32 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xdcdaf06f regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xdcf325c1 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xdcf65061 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0xdd006572 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xdd225f1d pm_request_resume +EXPORT_SYMBOL_GPL vmlinux 0xddea1370 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xde0a87ff regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde88001b ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0xdea92006 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xdf41f63d regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0xdf9f4280 page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0xe03043db sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0xe08847a8 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe0935a57 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xe0962f47 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0xe0a8d811 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0xe0cca33e xfrm_aead_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xe0e7af06 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0xe1190478 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xe1504d99 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xe153b88d sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xe1af2615 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0xe2ada94e regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xe2b42ee8 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0xe2ba19cf platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xe361c5f1 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0xe36ac442 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0xe3fb5d3e cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0xe49709d5 gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0xe49e1f6c ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe49ff3b0 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xe4e5765e anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xe514fafa disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xe530071c pm_qos_remove_requirement +EXPORT_SYMBOL_GPL vmlinux 0xe538c574 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xe56f6cba __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xe5923561 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0xe5dbc620 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xe5e022df da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe5fbf2e9 __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe6a91c0c crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0xe6db00ba scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0xe706fcb1 devres_add +EXPORT_SYMBOL_GPL vmlinux 0xe74480a0 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xe795a7bd pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xe7d09d27 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe8789a12 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0xe893262c crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe89d9da3 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0xe8d989eb crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xe901175f __dev_addr_unsync +EXPORT_SYMBOL_GPL vmlinux 0xe917e733 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe943b912 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0xe9672de7 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xe99d3880 sysdev_class_register +EXPORT_SYMBOL_GPL vmlinux 0xe9dd54bf ata_sff_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xe9fec34f tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0xea065e01 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea3fffb0 register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0xea7215b2 register_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0xea8715c4 ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0xead09d5a rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeb43c62c unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xeb4c1fc8 __tracepoint_block_remap +EXPORT_SYMBOL_GPL vmlinux 0xeb62c375 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL vmlinux 0xeb894e0e debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xeb9e5b26 crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xebb23e4a ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0xec1a75a9 __dev_addr_sync +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xed1d971c rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xed2ff1c6 cfi_qry_present +EXPORT_SYMBOL_GPL vmlinux 0xed4e6718 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0xed5837ed debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0xed5919ea crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0xed7fef76 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xeda7ed92 generic_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0xedb49cec device_move +EXPORT_SYMBOL_GPL vmlinux 0xedceff04 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xedf893c5 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0xee3cfe9a crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0xee9a6ec5 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xeedc5ce4 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0xef44f32e crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0xef4e963e __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xef5e94fc dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef82fdba srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0xef98423b blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0xefa643ff rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0xefd18aab devres_get +EXPORT_SYMBOL_GPL vmlinux 0xefdd5a63 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xefe21106 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0xf0634e87 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0xf1463412 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf18edc86 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0xf1fea8ad free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xf209739d sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0xf24071cf hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0xf2bb71c5 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf2feaec4 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0xf34806ec hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xf3503b1c ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0xf3590657 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0xf38a0a5b device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0xf41989a1 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0xf43d17e6 deregister_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0xf47a7b27 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf4a46f4d user_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf53115ed regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xf5384ac1 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0xf538cfb3 skb_icv_walk +EXPORT_SYMBOL_GPL vmlinux 0xf5446db6 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf5a50701 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5d9d1a1 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0xf5f49572 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0xf6bcbd73 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf70076be find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0xf7116669 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xf770959c dm_rh_region_context +EXPORT_SYMBOL_GPL vmlinux 0xf785b6df tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xf7fbc574 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0xf807fd65 scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0xf863e82a flush_work +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf8d2786d sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf923e40f __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xf97e2c77 unregister_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xfa03f3fa ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xfa1a3410 dm_rh_get_state +EXPORT_SYMBOL_GPL vmlinux 0xfa6bf2bd rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0xfad546e2 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xfb3adb6f inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0xfb916080 dm_register_path_selector +EXPORT_SYMBOL_GPL vmlinux 0xfb9bd2b9 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0xfbf01f34 __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfca846eb dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xfcbd7e87 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0xfdb81a04 bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfdea39fb add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0xfe7dcb1c ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xfe8ed3e0 mmput +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfee58a16 shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xfefe0271 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xfefe68b4 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff787b33 ata_sff_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0xffaf7bbb __wake_up_sync +EXPORT_UNUSED_SYMBOL vmlinux 0x00000000 simple_prepare_write --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/armel/versatile.compiler +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/armel/versatile.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3 --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/armel/versatile.modules +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/armel/versatile.modules @@ -0,0 +1,1561 @@ +3c359 +3c59x +3w-9xxx +3w-xxxx +6pack +8021q +8139cp +8139too +8250 +8250_pci +8390 +9p +9pnet +9pnet_rdma +a100u2w +aacraid +ab3100 +ab3100-core +ab3100-otp +abyss +ac97_bus +acecad +acenic +act_gact +act_ipt +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +adfs +adm8211 +adp5588-keys +adutux +aes_generic +af_802154 +af9013 +affs +af_key +af-rxrpc +ah4 +ah6 +ahci +aic79xx +aic7xxx +aic94xx +aiptek +aircable +alphatrack +altpciechdma +amd8111e +ansi_cprng +anubis +aoe +apm-emulation +apm_power +appledisplay +appletouch +applicom +ar7part +ar9170usb +arc4 +arcmsr +arcnet +arc-rawmode +arc-rimi +ark3116 +arkfb +arptable_filter +arp_tables +arpt_mangle +asix +asus_oled +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at76c50x-usb +ath +ath5k +ath9k +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atmel +atmel_pci +aty128fb +atyfb +aufs +authenc +auth_rpcgss +autofs +autofs4 +ax25 +ax88796 +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b3dfg +baycom_ser_fdx +baycom_ser_hdx +bcm3510 +bcm5974 +be2iscsi +be2net +befs +belkin_sa +berry_charge +bfa +bfs +binfmt_aout +binfmt_misc +block2mtd +blowfish +bnx2 +bnx2i +bnx2x +bonding +bpqether +bq24022 +bq27x00_battery +bridge +broadsheetfb +bsd_comp +btrfs +budget +budget-ci +budget-core +c67x00 +cachefiles +camellia +can +can-bcm +can-dev +can-raw +capmode +carminefb +cassini +cast5 +cast6 +catc +cb710 +cb710-mmc +cciss +ccm +cdc-acm +cdc_eem +cdc_ether +cdc-phonet +cdc_subset +cdc-wdm +cfg80211 +ch +ch341 +ch7006 +cifs +cirrusfb +cls_basic +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cnic +coda +com20020 +com20020-pci +com90io +com90xx +configfs +core +cp210x +cpqarray +cramfs +crc32c +crc7 +crc-ccitt +crc-itu-t +cryptd +cryptoloop +crypto_null +ctr +cts +cuse +cx22700 +cx22702 +cx24113 +cx24116 +cx24123 +cxgb +cxgb3 +cxgb3i +cyber2000fb +cyberjack +cyclades +cypress_cy7c63 +cypress_m8 +cytherm +da9030_battery +da903x +da903x_bl +dabusb +DAC960 +dc395x +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dccp_probe +de2104x +de4x5 +decnet +deflate +defxx +des_generic +dib0070 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dibx000_common +digi_acceleport +display +dlm +dm1105 +dm9601 +dm-crypt +dmfe +dm-queue-length +dm-raid45 +dm-service-time +dmx3191d +dm-zero +dnet +dn_rtmsg +dpt_i2o +drm +drm_kms_helper +ds1682 +ds1wm +ds2482 +ds2490 +ds2760_battery +ds2782_battery +dummy +dv1394 +dvb-core +dvb-pll +dvb-ttusb-budget +dvb-usb +dvb-usb-a800 +dvb-usb-af9005 +dvb-usb-af9005-remote +dvb-usb-af9015 +dvb-usb-anysee +dvb-usb-au6610 +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-friio +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-m920x +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +e100 +e1000 +e1000e +earth-pt1 +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_ulog +ebt_vlan +echo +econet +eeprom +eeprom_93cx6 +efs +ehci-hcd +em_cmp +emi26 +emi62 +em_meta +em_nbyte +empeg +ems_pci +ems_usb +em_text +em_u32 +enclosure +enic +epca +epic100 +eql +esp4 +esp6 +et131x +eth1394 +ethoc +evbug +exportfs +fat +faulty +fb_ddc +fb_sys_fops +fcoe +fcrypt +fdomain +fealnx +ff-memless +firedtv +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +forcedeth +freevxfs +fscache +ftdi-elan +ftdi_sio +funsoft +g450_pll +garmin_gps +garp +gcm +generic_bl +gf128mul +gfs2 +ghash-generic +gl620a +gluebi +gpio_keys +gpio_mouse +gpio_vbus +gtco +hamachi +hdlcdrv +hfs +hfsplus +hid +hid-3m-pct +hid-a4tech +hid-apple +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-drff +hid-ezkey +hid-gaff +hid-gyration +hid-kensington +hid-kye +hid-logitech +hid-microsoft +hid-monterey +hid-mosart +hid-ntrig +hid-ortek +hid-petalynx +hid-pl +hid-quanta +hid-samsung +hid-sjoy +hid-sony +hid-stantum +hid-sunplus +hid-tmff +hid-topseed +hid-twinhan +hid-zpff +hifn_795x +hostap +hostap_pci +hostap_plx +hp100 +hp4x +hpfs +hpilo +hptiop +hso +htc-pasic3 +hwa-hc +hwa-rc +i1480-dfu-usb +i1480-est +i1480u-wlp +i2400m +i2400m-sdio +i2400m-usb +i2c-algo-bit +i2c-algo-pca +i2c-algo-pcf +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd8111 +i2c-designware +i2c-dev +i2c-gpio +i2c-i801 +i2c-isch +i2c-matroxfb +i2c-nforce2 +i2c-ocores +i2c-parport-light +i2c-pca-platform +i2c-piix4 +i2c-simtec +i2c-sis5595 +i2c-sis630 +i2c-sis96x +i2c-stub +i2c-taos-evm +i2c-tiny-usb +i2c-versatile +i2c-via +i2c-viapro +i2c-voodoo3 +i2o_block +i2o_bus +i2o_config +i2o_core +i2o_proc +i2o_scsi +ib_addr +ib_cm +ib_core +ib_ipoib +ib_iser +ib_mad +ib_mthca +ib_sa +ib_srp +ib_ucm +ib_umad +ib_uverbs +ics932s401 +idmouse +ieee1394 +ifb +igb +igbvf +industrialio +inftl +initio +input-polldev +int51x1 +intel_vr_nor +ioc4 +io_edgeport +io_ti +iowarrior +ip2 +ip6_queue +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_LOG +ip6t_mh +ip6t_REJECT +ip6t_rt +ip6_tunnel +ipaq +ipcomp +ipcomp6 +ipg +ip_gre +ipip +ip_queue +ipr +ips +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_addrtype +ipt_ah +ipt_CLUSTERIP +ipt_ecn +ipt_ECN +ipt_LOG +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_ULOG +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipw2100 +ipw2200 +ipx +ir-common +ir-usb +iscsi_tcp +iscsi_trgt +isight_firmware +isl29003 +isl6421 +isl6423 +isofs +isp116x-hcd +isp1760 +istallion +itd1000 +iuu_phoenix +iw_c2 +iw_cm +iw_cxgb3 +iwl3945 +iwlagn +iwlcore +iwmc3200wifi +ixgb +ixgbe +ixj +jffs2 +jfs +jmb38x_ms +jme +jsm +kafs +kaweth +kbtab +keyspan +keyspan_pda +keyspan_remote +khazad +kl5kusb105 +kobil_sct +ks8842 +ks8851_mll +kvaser_pci +kyrofb +l64781 +lanstreamer +lcd +ldusb +led-class +leds-bd2802 +leds-da903x +leds-gpio +leds-lp3944 +leds-pca9532 +leds-pca955x +leds-wm831x-status +leds-wm8350 +ledtrig-backlight +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-timer +legousbtower +lgdt3305 +lgdt330x +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libcrc32c +libertas +libertas_sdio +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libsas +libsrp +line6usb +linear +lirc_atiusb +lirc_bt829 +lirc_dev +lirc_ene0100 +lirc_i2c +lirc_igorplugusb +lirc_imon +lirc_it87 +lirc_ite8709 +lirc_mceusb +lirc_sasem +lirc_serial +lirc_sir +lirc_streamzap +lirc_ttusbir +lm8323 +lnbp21 +lockd +lp3971 +lpddr_cmds +lpfc +lrw +lzo +lzo_compress +lzo_decompress +mac80211 +mac80211_hwsim +macmodes +macvlan +matrix_keypad +matroxfb_accel +matroxfb_base +matroxfb_crtc2 +matroxfb_DAC1064 +matroxfb_g450 +matroxfb_maven +matroxfb_misc +matroxfb_Ti3026 +matrox_w1 +max1363 +max1586 +max17040_battery +max6875 +max732x +max7359_keypad +mb862xxfb +mc44s803 +mcs7830 +mct_u232 +md4 +mdc800 +mdio +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +memstick +metronomefb +mfd-core +mga +mg_disk +michael_mic +microtek +minix +mkiss +mlx4_core +mlx4_en +mlx4_ib +mos7720 +mos7840 +moto_modem +moxa +mpt2sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +msdos +mspro_block +mt2060 +mt20xx +mt2266 +mt312 +mt352 +mtd_oobtest +mtdoops +mtd_pagetest +mtd_readtest +mtd_speedtest +mtd_stresstest +mtd_subpagetest +mtd_torturetest +multipath +mvsas +mwl8k +mxl5005s +mxl5007t +mxser +myri10ge +natsemi +navman +nbd +ncpfs +ne2k-pci +neofb +net1080 +netconsole +netrom +netxen_nic +nf_conntrack +nf_conntrack_amanda +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_tftp +nf_defrag_ipv4 +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_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nf_tproxy_core +n_hdlc +nilfs2 +niu +nl802154 +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 +nop-usb-xceiv +nouveau +nozomi +ns83820 +nst +ntfs +nvidiafb +nvram +nxt200x +nxt6000 +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +ohci1394 +ohci-hcd +olympic +omfs +omninet +opencores-kbd +oprofile +opticon +option +orinoco +orinoco_nortel +orinoco_pci +orinoco_plx +orinoco_tmd +osst +oti6858 +output +oxu210hp-hcd +p54common +p54pci +p54usb +p8023 +p9auth +pata_ali +pata_amd +pata_artop +pata_atiixp +pata_atp867x +pata_cmd640 +pata_cmd64x +pata_cs5520 +pata_cs5530 +pata_cypress +pata_efar +pata_hpt366 +pata_hpt37x +pata_hpt3x2n +pata_hpt3x3 +pata_it8213 +pata_it821x +pata_jmicron +pata_marvell +pata_mpiix +pata_netcell +pata_ninja32 +pata_ns87410 +pata_ns87415 +pata_oldpiix +pata_opti +pata_optidma +pata_pdc2027x +pata_pdc202xx_old +pata_radisys +pata_rdc +pata_rz1000 +pata_sc1200 +pata_sch +pata_serverworks +pata_sil680 +pata_sl82c105 +pata_triflex +pata_via +pca953x +pcbc +pcf50633-adc +pcf50633-charger +pcf50633-core +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf857x +pcilynx +pcips2 +pci-stub +pcnet32 +pda_power +pegasus +phantom +phison +phonedev +phonet +pktgen +pl2303 +platform_lcd +plusb +pluto2 +pm2fb +pm3fb +pmc551 +pmcraid +pn_pep +pohmelfs +powermate +ppp_async +ppp_deflate +ppp_mppe +pppoe +pppol2tp +pppox +ppp_synctty +pps_core +prism2_usb +prism54 +qcserial +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlge +qnx4 +qt1010 +quatech_usb2 +quota_tree +quota_v1 +quota_v2 +r128 +r8169 +r8192_pci +r8192s_usb +r8a66597-hcd +radeonfb +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +ramzswap +rar_driver +raw +raw1394 +rdma_cm +rdma_ucm +rds +rds_rdma +rds_tcp +reiserfs +rfc1051 +rfc1201 +ricoh_mmc +rio500 +riscom8 +rivafb +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rndis_wlan +rocket +romfs +rose +rotary_encoder +rpcsec_gss_krb5 +rrunner +rt2400pci +rt2500pci +rt2500usb +rt2800usb +rt2x00lib +rt2x00pci +rt2x00usb +rt61pci +rt73usb +rtc-ab3100 +rtc-bq4802 +rtc-ds1286 +rtc-ds1307 +rtc-ds1374 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-fm3130 +rtc-isl1208 +rtc-m41t80 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-rs5c372 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-test +rtc-twl4030 +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtl8150 +rtl8180 +rtl8187 +rtl8187se +rxkad +s2io +s3fb +s5h1411 +s5h1420 +saa7146 +safe_serial +salsa20_generic +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 +sbp2 +sc92031 +sch_cbq +sch_drr +sch_dsmark +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_multiq +sch_netem +sch_prio +sch_red +sch_sfq +sch_tbf +sch_teql +scsi_debug +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 +sdhci +sdhci-pci +sdhci-pltfm +sdio_uart +seed +sep_driver +seqiv +serio_raw +sermouse +serpent +serport +serqt_usb2 +ses +sfc +sha1_generic +sha256_generic +sha512_generic +si21xx +siemens_mpi +sierra +sis190 +sis900 +sisfb +sisusbvga +sit +sja1000 +sja1000_platform +skfp +skge +sky2 +sl811-hcd +slip +sm501 +sm501fb +smbfs +smc911x +smsc911x +smsc9420 +smsc95xx +smsdvb +smsmdtv +smssdio +smsusb +snd +snd-aaci +snd-ac97-codec +snd-ad1889 +snd-ak4114 +snd-ak4xxx-adda +snd-als300 +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-cs5535audio +snd-cs8427 +snd-ctxfi +snd-darla20 +snd-darla24 +snd-dummy +snd-echo3g +snd-emu10k1 +snd-emu10k1x +snd-ens1370 +snd-ens1371 +snd-es1938 +snd-es1968 +snd-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-atihdmi +snd-hda-codec-ca0110 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-idt +snd-hda-codec-intelhdmi +snd-hda-codec-nvhdmi +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-intel +snd-hdsp +snd-hdspm +snd-hifier +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-korg1212 +snd-layla20 +snd-layla24 +snd-lx6464es +snd-maestro3 +snd-mia +snd-mixart +snd-mixer-oss +snd-mona +snd-mpu401-uart +snd-nm256 +snd-opl3-lib +snd-oxygen +snd-oxygen-lib +snd-page-alloc +snd-pcm +snd-pcm-oss +snd-pcxhr +snd-pt2258 +snd-rawmidi +snd-riptide +snd-rme32 +snd-rme96 +snd-rme9652 +snd-soc-ad73311 +snd-soc-ak4535 +snd-soc-ak4642 +snd-soc-core +snd-soc-cs4270 +snd-soc-l3 +snd-soc-max9877 +snd-soc-pcm3008 +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-tlv320aic23 +snd-soc-tlv320aic3x +snd-soc-twl4030 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wm8350 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8776 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8993 +snd-soc-wm9081 +snd-soc-wm-hubs +snd-sonicvibes +snd-timer +snd-trident +snd-usb-audio +snd-usb-caiaq +snd-usb-lib +snd-util-mem +snd-via82xx +snd-via82xx-modem +snd-virtuoso +snd-vx222 +snd-vx-lib +snd-ymfpci +soundcore +sound_firmware +spcp8x5 +specialix +squashfs +ssb +ssfdc +sstfb +st +stallion +starfire +stb0899 +stb6000 +stb6100 +stex +stowaway +stp +strip +stv0288 +stv0297 +stv0299 +stv090x +stv6110x +sundance +sunhme +sunrpc +svcrdma +svgalib +sx8 +symbolserial +synaptics_i2c +synclink_gt +synclinkmp +syscopyarea +sysfillrect +sysimgblt +sysv +tcp_probe +tcrypt +tda10021 +tda10023 +tda1004x +tda10086 +tda18271 +tda8083 +tda826x +tda827x +tda8290 +tda9887 +tdfx +tdfxfb +tea +tea5761 +tea5767 +tehuti +tg3 +tgr192 +tifm_7xx1 +tifm_core +tifm_ms +tifm_sd +timeriomem-rng +ti_usb_3410_5052 +tlan +tmiofb +tms380tr +tmscsim +tmspci +tps65010 +tps65023-regulator +tps6507x-regulator +trancevibrator +tranzport +tridentfb +ts_bm +ts_fsm +ts_kmp +tsl2550 +tsl2561 +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +tulip +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +twl4030-gpio +twl4030_keypad +twl4030-pwrbutton +twl4030-usb +twofish +twofish_common +typhoon +u132-hcd +ubi +ubifs +ucb1400_core +udf +udlfb +ufs +uhci-hcd +uinput +uio +uio_aec +uio_cif +uio_pci_generic +uio_pdrv +uio_pdrv_genirq +uio_sercos3 +uio_smx +uli526x +umc +umem +ums-alauda +ums-cypress +ums-datafab +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-sddr09 +ums-sddr55 +ums-usbat +usb8xxx +usbcore +usb_debug +usbhid +usbip +usbip_common_mod +usblcd +usbled +usblp +usbmon +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +userspace-consumer +uvesafb +uwb +vcan +ves1820 +ves1x93 +veth +vfat +vgastate +vhci-hcd +via +viafb +via-rhine +via-sdmmc +via-velocity +video1394 +virtual +visor +vmac +vme +vme_user +vstusb +vt8623fb +vxge +w1_bq27000 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1-gpio +w1_smem +w1_therm +wacom +whci +whci-hcd +whc-rc +whiteheat +wimax +winbond-840 +wire +wl1251 +wl1251_sdio +wlp +wm831x +wm831x_bl +wm831x-dcdc +wm831x-gpio +wm831x-isink +wm831x-ldo +wm831x-on +wm831x_power +wm8350 +wm8350-i2c +wm8350_power +wm8350-regulator +wm8400-core +wm8400-regulator +wp512 +wpan-class +wusb-cbaf +wusbcore +wusb-wa +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_ipcomp +xfrm_user +xfs +xhci +xor +xprtrdma +x_tables +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNMARK +xt_CONNSECMARK +xt_conntrack +xt_dccp +xt_dscp +xt_DSCP +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xt_iprange +xt_LED +xt_length +xt_limit +xt_mac +xt_mark +xt_MARK +xt_multiport +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_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_tcpudp +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xvmalloc +yam +yealink +yellowfin +zaurus +zd1201 +zd1211rw +zl10039 +zl10353 +zlib +zlib_deflate --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/i386/386 +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/i386/386 @@ -0,0 +1,10435 @@ +EXPORT_SYMBOL arch/x86/kernel/scx200 0x254e5667 scx200_gpio_base +EXPORT_SYMBOL arch/x86/kernel/scx200 0x35a3c008 scx200_gpio_configure +EXPORT_SYMBOL arch/x86/kernel/scx200 0x8cfa375c scx200_gpio_shadow +EXPORT_SYMBOL arch/x86/kernel/scx200 0x907665bd scx200_cb_base +EXPORT_SYMBOL arch/x86/kvm/kvm 0x1bd04f15 kvm_read_guest_atomic +EXPORT_SYMBOL arch/x86/kvm/kvm 0x5078dd93 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 0x7a45377b acpi_video_unregister +EXPORT_SYMBOL drivers/acpi/video 0x8826c13b acpi_video_register +EXPORT_SYMBOL drivers/atm/suni 0x73394d57 suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0xf68fb592 uPD98402_init +EXPORT_SYMBOL drivers/block/paride/paride 0x1d0472bf paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0x280e0a24 paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x37f88987 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x527d8cb0 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x6e71eb15 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x7522fa50 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x7a5a0dde pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x8bf06692 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x9f079257 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0xc01175c6 pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0xea9c1a4f pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xee4d4d3a pi_write_block +EXPORT_SYMBOL drivers/char/agp/agpgart 0x052d14bf agp_generic_create_gatt_table +EXPORT_SYMBOL drivers/char/agp/agpgart 0x05dbd299 agp_allocate_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x23c1fc7f agp_generic_type_to_mask_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0x24f7afca get_agp_version +EXPORT_SYMBOL drivers/char/agp/agpgart 0x2918f62a agp_generic_alloc_user +EXPORT_SYMBOL drivers/char/agp/agpgart 0x2991baa6 agp_collect_device_status +EXPORT_SYMBOL drivers/char/agp/agpgart 0x30226ddf agp_device_command +EXPORT_SYMBOL drivers/char/agp/agpgart 0x30b79762 agp_generic_alloc_pages +EXPORT_SYMBOL drivers/char/agp/agpgart 0x3199eace agp_backend_acquire +EXPORT_SYMBOL drivers/char/agp/agpgart 0x325d303c agp_copy_info +EXPORT_SYMBOL drivers/char/agp/agpgart 0x3cbdce52 agp_generic_mask_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x42ae7fca agp_generic_destroy_pages +EXPORT_SYMBOL drivers/char/agp/agpgart 0x432f276c agp_generic_free_gatt_table +EXPORT_SYMBOL drivers/char/agp/agpgart 0x445265d3 agp_find_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0x466256fb agp_generic_destroy_page +EXPORT_SYMBOL drivers/char/agp/agpgart 0x49d025c3 agp_flush_chipset +EXPORT_SYMBOL drivers/char/agp/agpgart 0x49dfc6f4 agp_bind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL drivers/char/agp/agpgart 0x5e47954c agp_generic_insert_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x673f815e agp_bridges +EXPORT_SYMBOL drivers/char/agp/agpgart 0x7538b132 agp_off +EXPORT_SYMBOL drivers/char/agp/agpgart 0x75da2f32 agp_enable +EXPORT_SYMBOL drivers/char/agp/agpgart 0x774c33be agp_create_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x83c97203 agp_generic_alloc_by_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0x841ca963 agp3_generic_tlbflush +EXPORT_SYMBOL drivers/char/agp/agpgart 0x90255aa6 agp_free_page_array +EXPORT_SYMBOL drivers/char/agp/agpgart 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL drivers/char/agp/agpgart 0xaa310420 agp_alloc_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0xaf6b6ba9 agp_generic_free_by_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb04ea8f0 agp_rebind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb71d2270 agp_alloc_page_array +EXPORT_SYMBOL drivers/char/agp/agpgart 0xbdb05fa2 agp_free_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc6442bc1 agp_generic_enable +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL drivers/char/agp/agpgart 0xce3dc914 agp_backend_release +EXPORT_SYMBOL drivers/char/agp/agpgart 0xd0ee21e2 agp_generic_remove_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL drivers/char/agp/agpgart 0xd9ae4203 agp_unbind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL drivers/char/agp/agpgart 0xe31d671b agp_generic_alloc_page +EXPORT_SYMBOL drivers/char/agp/agpgart 0xe52113f1 agp_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0xfae332b1 agp_put_bridge +EXPORT_SYMBOL drivers/char/agp/intel-agp 0x7b9a6116 intel_agp_enabled +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x0131fa0a ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x10837411 ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x26a99390 ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2a4ffa9a ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2ed3f325 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x462cb87a ipmi_register_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4b9de914 ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5050a1f2 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x52857634 ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x55f47db2 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x671235db ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7e55531f ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x95b89f27 ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x99f8634f ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x9e1ec774 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x9f9956d2 ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa505996e ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xbe4bbec6 ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd6aff959 ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd6dffeb1 ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd93befb2 ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf3334a64 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfb99e835 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/nsc_gpio 0x128c3fd9 nsc_gpio_write +EXPORT_SYMBOL drivers/char/nsc_gpio 0x52012cdc nsc_gpio_dump +EXPORT_SYMBOL drivers/char/nsc_gpio 0x7902b916 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 0x415550c4 edac_mc_handle_fbd_ue +EXPORT_SYMBOL drivers/edac/edac_core 0x7034f8ae edac_mc_handle_fbd_ce +EXPORT_SYMBOL drivers/edac/edac_core 0xab15362f edac_mc_find +EXPORT_SYMBOL drivers/firewire/firewire-core 0x04dd92ce fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x094f8d29 fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x10a335ed fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1bed49b9 fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3107bfda fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x31904366 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3610e5e4 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4d5d4eca fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4ee34955 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5ebfdc0c fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6eca84a5 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x70cc2d07 fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7261558b fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x74632c48 fw_core_initiate_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8491a49f fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90863005 fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0x916ef652 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x944afede fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x97f88e43 fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaa0e5c3a fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xab5c6b42 fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xafc1c793 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb047a2c6 fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb35468f7 fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd4a7b7a3 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe446c331 fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xeb9cb740 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf9cbae9d fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firmware/dcdbas 0xa75079d6 dcdbas_smi_request +EXPORT_SYMBOL drivers/gpu/drm/drm 0x042171b9 drm_sg_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05d33d96 drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x06f9ec18 drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0836695c drm_sman_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ac2e636 drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b9bb26d drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d81ce25 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10fd5e44 drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16fba578 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x17c926fa drm_get_drawable_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d7498f8 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f072c59 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2111d1f3 drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21451ac4 drm_sman_owner_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x22b75c26 drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2383048b drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2480e15c drm_get_resource_len +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2916bf63 drm_sman_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ad41a11 drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b08d34c drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2eb2f903 drm_sman_free_key +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x34483234 drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36301c9a drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37edbe5a drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x387e7b84 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a16771c drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a2f21a8 drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c611aef drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c9a1409 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3de0c007 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e80c80c drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ec7ee8b drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40911aaf drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x42302f17 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x46ee42d7 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a97ec71 drm_agp_chipset_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b188dc3 drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4bd6fa4e drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d94a47f drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f2c0bb7 drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f9772f4 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x507d5e97 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x515a410c drm_agp_bind_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5245fc2a drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x532dbb3f drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5391b6df drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55b1556b drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55f060ee drm_sman_set_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56217ed2 drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57a82b4e drm_lock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57f7dbe6 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x580830f0 drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a31942f drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a65955b drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f4f210e drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7fcdea drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60286f57 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60c18185 drm_core_get_reg_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6285e9cc drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63b5c8d4 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6518c19a drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6859213d drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x689c4607 drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a6e0a1b drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b87a226 drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d2e5837 drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6df03702 drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e530bf6 drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e8f1397 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fc30481 drm_mode_hsync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72d20029 drm_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x745705a4 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76863e24 drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76de891d drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x784915eb drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a20ef0c drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7becf9f2 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c1fd6c8 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c94c3dc drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e2ec622 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82d2e6f6 drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82d63d60 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83bd0e09 drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8485bee9 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x849241ac drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85612d39 drm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85de09f5 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87d6e7ef drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89e2fd71 drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8a9a173b drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8bcda2e3 drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c0bb39d drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e62d513 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8fadb71c drm_i_have_hw_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8ffb2db8 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x922cdf49 drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9285e4c1 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x92bde69e drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93153f86 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99c1143f drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ac12e18 drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0faee20 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5b11444 drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7f79ab0 drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa4b7860 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xadfc174f drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaefaf080 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf29788e drm_sman_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2d0ec97 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3e8def1 drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb64e4cd5 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb77376a2 drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb89ee240 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba3e6f23 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb70d165 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbbf45eed drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd6f7a39 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe931293 drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf696f5f drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf85c3ce drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0c41b41 drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1349d76 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1626115 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc19b5395 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4ea85d8 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc633a11e drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6794f16 drm_core_get_map_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc697ac91 drm_lock_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcaa3663d drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc89f4e8 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdf2eff4 drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xce249baa drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcfb4f4ef drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd08fa3f0 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3028e75 drm_sman_set_manager +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3ffab51 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4c8a354 drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd58b0d51 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd9228bfa drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd260a6c drm_get_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd3febe2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd49095c drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde59fb18 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe11f1576 drm_get_resource_start +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1457735 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe24a7b88 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5bdce7e drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe678a012 drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe919dd5c drm_sman_owner_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xecbdc6b2 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0ad1eb4 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf159d606 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf20a9d0e drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf42a2b26 drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf5661a40 drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6f24c18 drm_do_probe_ddc_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa388ddd drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa769c65 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfad8beb3 drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdfbad19 drm_sman_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff39b7bf drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x017cfc5b drm_helper_hotplug_stage_two +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0644abc2 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x35f8351e drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x38abc907 drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x52629428 drm_fb_helper_init_crtc_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x52f18ad6 drm_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59a599f8 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5afe2464 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x70d928b8 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7a5d9362 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x81c7e48b drm_fb_helper_free +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x86096d34 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x88ca9835 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa64289a9 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaa328a0a drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbb25dc09 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbb7b198a drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc47ea2f4 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc953d94b drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcedc4d26 drm_fb_helper_add_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcf8e1715 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd8cfd016 drm_helper_probe_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe97e523d drm_fb_helper_setcolreg +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf6b00991 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfcbab48f drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/i915/i915 0x0a020770 intelfb_remove +EXPORT_SYMBOL drivers/gpu/drm/i915/i915 0x0d0ab3b5 intelfb_resize +EXPORT_SYMBOL drivers/gpu/drm/i915/i915 0x56f9cacf intelfb_probe +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0xab280645 radeonfb_remove +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0xc9e06c2a radeonfb_resize +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x01c99cb0 ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x07787990 ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x104300e8 ttm_object_file_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x11c9c73c ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x132b05be ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x15e215de ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x161262d6 ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x17a98fa2 ttm_object_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1ba8c0ef ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1e4e7e87 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1e62c13a ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x20bb3550 ttm_mem_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2288c71d ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2699dc93 ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2d673efd ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x34704ea7 ttm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x365feb2e ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3c3c3af1 ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3de60c1d ttm_agp_backend_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x47ea3265 ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x49fd9a24 ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4f02f2ca ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x52cb7d91 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x56c42d22 ttm_suspend_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x594f03fe ttm_object_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5d6b0558 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61bdb34f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6277c681 ttm_base_object_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x66666d70 ttm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6e7203cd ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x74472c90 ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x765cbc82 ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x79a55313 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7f8879de ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x805de088 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x83c50151 ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x86a4066d ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x86d07664 ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x88999a13 ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x896164ef ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8db796d4 ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa2568058 ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa4b0ba5e ttm_ref_object_add +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xacda7271 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xad6ff88f ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xae0b98c8 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb05bfad7 ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb5cf2fe9 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb905caf0 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb9e927c4 ttm_base_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbba2ecf9 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbe3eadc6 ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbf69f5ca ttm_base_object_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc2058ac0 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xca1c929c ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd10a6531 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd247208b ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd24d2a79 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdebb0548 ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe09f320a ttm_tt_bind +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-bit 0x77af9741 i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x8e001e0a i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x675b9a3b i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x890d3ff7 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pcf 0x8bd38eab i2c_pcf_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0xe393951d amd756_smbus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x00cc7ff9 hpsb_iso_xmit_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x04f7398f hpsb_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0715a847 hpsb_iso_xmit_queue_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x07b61a51 hpsb_lock +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1622051c hpsb_add_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1a200e5a csr1212_release_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1aee01de hpsb_destroy_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1db8e4de hpsb_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1f38a93c hpsb_selfid_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x219cbabe dma_region_offset_to_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x237f4af5 hpsb_free_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x25dbf1f5 hpsb_iso_recv_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x29299582 hpsb_unregister_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2a4cc36b csr1212_attach_keyval_to_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2d133076 hpsb_set_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3384546d hpsb_reset_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x34fdf20a hpsb_make_lock64packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x35855902 hpsb_remove_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x43f6375c hpsb_make_lockpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x49cdde2e hpsb_make_readpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x534f95d3 hpsb_send_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x54f6be1c hpsb_free_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5518e381 hpsb_register_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5f5fdd2f csr1212_new_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x672ad148 dma_region_sync_for_device +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x68fd6863 hpsb_allocate_and_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6b3eee33 hpsb_iso_wake +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6d759f8b hpsb_iso_recv_set_channel_mask +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x708291a6 dma_region_mmap +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7385d803 hpsb_iso_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x73aaee09 hpsb_create_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x74bf1fbd hpsb_iso_recv_listen_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x76bc1a5c dma_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x771850eb hpsb_iso_recv_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x77b4798d hpsb_iso_n_ready +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x86c195b1 hpsb_node_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8843a431 hpsb_iso_recv_flush +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8879f8f0 dma_region_sync_for_cpu +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8ec2b312 dma_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x947bfc43 hpsb_unregister_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x94bce230 csr1212_get_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x968e40b0 hpsb_read_cycle_timer +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x979b3052 dma_prog_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9d24b60c hpsb_set_packet_complete_task +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa0f7ceee hpsb_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa1652776 __hpsb_register_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa30036f0 hpsb_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa489232a hpsb_iso_stop +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa4e26f31 hpsb_iso_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa5aadd4c hpsb_iso_xmit_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa7a35106 hpsb_iso_recv_unlisten_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa7c4d55f hpsb_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa7f26b5c hpsb_iso_shutdown +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa8246be0 hpsb_update_config_rom +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa924dac6 dma_prog_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa94ee4a0 hpsb_alloc_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa9fceb0c hpsb_update_config_rom_image +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xab3ce4cd hpsb_get_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xabb4ff9f hpsb_node_fill_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaef57bb5 csr1212_detach_keyval_from_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaefbd374 csr1212_parse_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb544df5b hpsb_get_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb5fd0e2f hpsb_make_streampacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb85de268 hpsb_iso_xmit_sync +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb962253f hpsb_protocol_class +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xbba70620 dma_prog_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xbbfbf477 hpsb_resume_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xbd445c2b hpsb_alloc_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc4dd3185 hpsb_unregister_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc68c0286 hpsb_selfid_complete +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd9e5c7df hpsb_make_phypacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xdc7eabaa hpsb_set_hostinfo_key +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe59993b1 hpsb_get_hostinfo_bykey +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xea4152ff dma_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xeead1bde hpsb_make_writepacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf6b5504a hpsb_packet_success +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf94d7c4c hpsb_bus_reset +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfab27536 csr1212_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfaef6c3f hpsb_iso_recv_release_packets +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfba57f51 hpsb_speedto_str +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x1d5aeebc ohci1394_init_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x8cbad2e1 ohci1394_unregister_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0xcb890d2d ohci1394_register_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0xfb695ed0 ohci1394_stop_context +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x2a5f6528 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x46aafb4b rdma_copy_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x5c937f19 rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x8a721ed9 rdma_addr_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xaa4fa377 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xc91bb9d3 rdma_addr_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x0290e9e1 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x0a5c9ba1 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x20164c84 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x313c823d cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3407432b ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x47bf20ca ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x4b91cdb4 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x50deba2b ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x5721510a ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7f59515e ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x86d58541 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x876d8232 ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9da1ac39 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa2583549 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc4af2cb7 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe53b7d84 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xedd53723 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x075a99a1 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07a2eac7 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0bfd4641 ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0ce3dcab ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0db0e47a ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x13f35410 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1bc4e651 ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1c1a4141 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x21c1d8ba ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2223eb82 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x276202fa ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2cbffb09 ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x333f8b4b ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f7567fd ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4140f6b9 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4995704f ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50f97de8 ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x520b2638 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x543d6b13 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x57a4bbdb ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58d57dcf ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x595d508c ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5c4caf2b ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5daad22d ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5f3142cb ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x614cb7ae ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x62f0ea1c ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x66c04d59 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6892fd3c ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6ab69b2b ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7115a27e ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x757348ad ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77c91267 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x79e5b623 ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7f003cf5 ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x81e8e117 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x844aeeb1 ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8640eaeb ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x874ecd73 ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87b614d8 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8844ea72 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8c6d1340 ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8c8093a7 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8d233ae4 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x93ca9656 ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9a584e0e ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d804fa1 mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa4463516 ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa9fc070e ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb1a312e1 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb3030235 ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb37ae8c8 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb9a551a2 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xba1bd02e ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbacc5332 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc2e9f6a8 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc8d49617 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcee3a1b2 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd064365f ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd17ba9d1 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd9f51415 ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdf4dc510 ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe098b47d ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5b4cb7b ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe93ff376 ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf07fb4a1 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf10c73ef ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf36498b9 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf4cdc515 ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf571718b ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6c25cdc ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc56cbd6 ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfddba6c7 ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfdf77e24 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x0fb88d05 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x128b55f7 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x33db0466 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x3739ac65 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x3da51504 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x4400c351 ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x56773353 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x57c6a328 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6ef787ed ib_response_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 0x9ce95031 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xb71edee8 ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xf199c297 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xfbdc4dea ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x4cff5195 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x576fdbac ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x66eadb66 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x6baad75a ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x7495c5a3 ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x816f4b5b ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x9c56fd34 ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xc4ef6aef ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xda7fc486 ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xf520d09e ib_sa_register_client +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 0x1a12861f iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x40f0a793 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x6fe2419c iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x9a593a90 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xa878beec iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xa882ea7f iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xbcd1ce4c iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xea30e406 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0c66ad93 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x102b3b27 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x12a8ab53 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2fbdf956 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x32c6049a rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x47245251 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x51df1fd0 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x754f54fe rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x98c9e69b rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9b3ae7e1 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa6075757 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb689dd6a rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb6c14ec2 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc3e87c0f rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd3ec2649 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xedeaa389 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf1a9fffa rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf9447645 rdma_set_ib_paths +EXPORT_SYMBOL drivers/input/gameport/gameport 0x3417ebe9 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x3c26cc4e gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x4896f397 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x49133f46 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x5cb7f38d gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7f5e7242 gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe0b81f18 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe51f0312 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xfa987099 __gameport_register_driver +EXPORT_SYMBOL drivers/input/input-polldev 0x2026705f input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x85460b00 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x8fe5a871 input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xc75b3311 input_free_polled_device +EXPORT_SYMBOL drivers/isdn/capi/capifs 0x2c54c957 capifs_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/capifs 0xd0bc06ce capifs_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x04403fcf unregister_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x0b88e160 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x14f2aa5a capi20_get_version +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2b8eab1f capilib_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2baa6586 capilib_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2e946b45 attach_capi_ctr +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 0x629b2ea1 capi_ctr_suspend_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x62dcc1c4 capi20_set_callback +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 0x88458443 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8f699913 capilib_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x9f823278 register_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xa1740fb1 capi20_put_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xa3d1242e capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xa7c4fd6c capi_message2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xa8dbd7e8 capi_ctr_resume_output +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 0xb1ae0b8b capi_ctr_handle_message +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 0xc4f80d45 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 0xed061606 capi20_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xf4ad52dd capi20_release +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x069b4abf b1_load_config +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x15821c42 b1_load_t4file +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x36b188d8 b1_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x3c6180a7 b1ctl_read_proc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x472691ea b1_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x59a12b7b b1_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x5fea9e02 b1_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x85f09690 b1_irq_table +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x87f14955 b1_free_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x8a8db2e1 b1_loaded +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x8d47524a b1_getrevision +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xa31c532f avmcard_dma_alloc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xabb1e071 b1_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xbedd00b7 b1_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdecfc795 b1_alloc_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdfd28376 b1_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xe22e0b9e avmcard_dma_free +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xecbb326d b1_parse_version +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x0bf4f173 b1dma_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x14ae29ad b1dma_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x233ca0dc b1dma_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x3b5593fa t1pci_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x4483c5f3 b1dma_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x468339de b1dma_reset +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xa59d296b b1dmactl_read_proc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xb166f69e b1dma_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xe98fb8a6 b1dma_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xf56e66d1 b1pciv4_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 0x2974ead1 DIVA_DIDD_Read +EXPORT_SYMBOL drivers/isdn/hardware/eicon/divadidd 0x2b6870c9 proc_net_eicon +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x61b1c1c3 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x7262750b mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x9a1ef78c mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xf0e89c34 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xd43c3e59 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xd60adc12 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 0x2844a899 FsmInitTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x93a64734 FsmChangeState +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x9be8e3b3 hisax_init_pcmcia +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x9df0cd27 FsmEvent +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xc0c558f9 FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xd94696e8 FsmDelTimer +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_isac 0x05934207 isac_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x3f3b323a isac_d_l2l1 +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x4bb79db1 isacsx_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x57a655fa isac_init +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xb394e72c isac_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xd51dffac isacsx_irq +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x53a43c26 register_isdn +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xded7de43 isdn_ppp_register_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xe17d7486 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 0x0230cb77 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0bf9c307 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0d6b4cf8 bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0fd4bbd4 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x159306ce create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x331bfaf5 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3564b0cf recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3addaa2b confirm_Bsend +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3b981bca get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3e789409 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3ea336fd mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x429129f2 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4cf389e7 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5448391e recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x56ca9b42 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5dc7400a mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6758b82a mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6a489fa4 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6c38fa0e mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x76f85ff4 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x79980e4c mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9a7c31fe get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xace35cae mISDN_FsmDelTimer +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 0xd9a7fbfd mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe485437c queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xed135f54 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf9e7832f mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfb434ac7 mISDN_unregister_device +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/raid6_pq 0x0bd662f6 raid6_gfmul +EXPORT_SYMBOL drivers/md/raid6_pq 0x15fe0cd3 raid6_gfexp +EXPORT_SYMBOL drivers/md/raid6_pq 0x5ba93f9d raid6_gfinv +EXPORT_SYMBOL drivers/md/raid6_pq 0xb0d904b7 raid6_empty_zero_page +EXPORT_SYMBOL drivers/md/raid6_pq 0xce45a6f1 raid6_gfexi +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0xb63f7477 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0x52366c45 mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0x49be01a5 mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x24083496 mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x6595997a mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0x6d29de7f qt1010_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 0x137f6a6a xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0x08fb0f90 xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x08466cc0 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x26411de5 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x2cd96527 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x355067e4 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x4d2238e6 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x668e2ee1 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x87da2b9b flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x8e026819 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x9e1d0cf8 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc423b339 flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc92df6a7 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xcab9dc9c flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xccb11bd6 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd10a0970 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd1dc2e2b flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xdc93f313 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe67bb78f flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe6a5f462 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xed80815f flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf795cc61 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x0059292e bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x7586173e bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x7cced371 bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xe590c605 bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x3c476c53 dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x578bf1a3 dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x61b3444b dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x88b23ab1 dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xa15d0dfa write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xb77a8574 rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xbfd17ab2 dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xd30ba553 read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xdc1eb4c8 dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0x8422a4d2 dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x08b4f9a7 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c4d4a14 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0d12d29f dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0e957a31 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1163a4b6 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x14eb630c dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1c2b225d dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1d593152 dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1d63375b dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x2ae6f39e dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x420949e2 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4626cdd0 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4a0d08b1 dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6f7f7d73 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6f9c72e3 dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x74a5a698 dvb_filter_pes2ts_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x781aaccd dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7da58df4 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x80e3832d dvb_filter_get_ac3info +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x878bfc2e dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x886c3a1b dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x912dcc75 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x923aa88e dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa2b182d3 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa316b4a8 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb2db2592 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb5b95805 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xbc0d91e1 timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc9422389 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcc098acf dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xdaa37526 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xddcc7d91 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xdf2fab84 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe252e3ce dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe4cb3ac2 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe7949e59 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xeb7daf80 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf826deb0 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x0397176c dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x50c482a4 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x54f3e133 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x5cc314cb usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x7641a8ed dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xccd0cb74 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xdcbb80ad dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x3693500b af9005_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x8a50a6f4 af9005_rc_decode +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xd3383957 af9005_rc_keys_size +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x0905e521 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x1b268372 dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x1b46d22d dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x227f3139 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x3b23aa65 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x4287ff9c dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x8baf3e8c dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x978a3a30 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x9853560b dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xbed18cbf dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xbf303c75 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xcc9ccaff dibusb_rc_keys +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x1e3be177 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522 0xddba714a au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0xb57bdc0f bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0x038c7984 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0xcd1ca2c0 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0xf13dab4b cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x847ea583 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0xec3b9030 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x2e30587a cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x4d91a255 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xa3793ced cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x4d64fd6d dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xd21c8b71 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xd6ec61b1 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0xa5c2f700 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x00b603ec dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x44a57335 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x5232534f dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x595329cb dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xb76a5d80 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xe89513f3 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x69fe0046 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xb0f52208 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x0337ae5f dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x2e6286d0 dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x469aef68 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xbea74016 dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xead67c90 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xf829c75a dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x03f0c85c dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x11640816 dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x13195b11 dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x5c60e55f dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x8342b3be dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x0499d3f4 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x243fc2c0 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x44385b54 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x5e427015 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0xdf71d2c2 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x28fcd30b isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0xa1e57f68 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0x159225ee isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0x4685207a itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0x134e1df1 l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0xa5243496 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0xeb1b5424 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0x1c1ede37 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xed772d31 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xffc5f2e0 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0xfa049e8d mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0x62fc4b72 mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0xc51a5344 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0x4ca4334e nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0xd553f805 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0x61ea3f10 or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0xabea8f4d s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0x435b1800 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x05d29bf2 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x70e0c550 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0xc3c00f6b si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0x07db6893 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x93e74b21 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0x2a436147 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0x5c68d9f7 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0xce5d7dfd stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0x6af31559 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0xf122466f stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0x77be7362 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x41a4ee2c stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0xb60833f8 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0xa0a99556 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0xa22238f7 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0xfc6541a5 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0xa92e6ebc tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0xa124f9fe tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x2d09059b tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x4c6df191 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0xa809b8cf tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0x2c4a70b1 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0xd9a7dd2c tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0x4c5f8be7 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0x8764fa89 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0x4cb9e8a5 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0xd0b6ba36 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0x926ad995 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0x65ed58b9 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0xeb6e5856 zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0x3242b419 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x5cda3356 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x771d329c ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x37d11264 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x9cd6f47e bttv_sub_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xddfaad39 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x23261138 btcx_riscmem_free +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x41ef689d 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/cpia 0x6dda8d8e cpia_register_camera +EXPORT_SYMBOL drivers/media/video/cpia 0xaa91920d cpia_unregister_camera +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x5e6a2d24 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0xf73d961a cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x155650f3 cx2341x_ctrl_get_menu +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 0x5b88faf6 cx2341x_ext_ctrls +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 0xe2c2b5eb cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x1d12a1af vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0xcc42e8bf vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x4dda916f cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x539f6f64 cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x6842cb3e cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x74391c5e cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x8a743a17 cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xe3d5a8bb cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x023a9ab8 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x1b8963c4 cx8802_get_device +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x75592b2b cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x94e9e29b cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x966416cf cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xbcb16a97 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xf90d65c6 cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x10779289 cx88_wakeup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x11cabf2f cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x1a7e304d cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x1c1fed9f cx88_newstation +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x25e91aaa cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x31db7981 cx88_reset +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x50fdaf0b cx88_core_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x591fcfca cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x5e314d8e cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x71b493aa cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x82bd4672 cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x8722cd89 cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x8bdaf1a8 cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x90a390cb cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9287bca3 cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9a043621 cx88_shutdown +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9b140fff cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xa1209448 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb081bc6d cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb47f6cda cx88_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc0a00e51 cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc82dce26 cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xdda51300 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xede3fa90 cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0xcbb06213 em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0xd007a192 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x2669c7fa gspca_suspend +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x2f6ce6be gspca_get_i_frame +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x9d9a397d gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xbd3521b0 gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xbf83f5c6 gspca_auto_gain_n_exposure +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xd6bf271f gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xec79faeb gspca_disconnect +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x01871b0a ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x0f1f35b2 ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x1519bb24 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x225fa5ff ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x3554bded ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x4a10d267 ivtv_vapi +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x63a11e59 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x9ea665b7 ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xaea73536 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xc88c09c7 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xd8a5080f ivtv_udma_setup +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 0x172f2acb saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x39b91f42 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x448fced8 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x451027cd saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x4618e553 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x78335d0d saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x9829d9bd saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xbd340edc saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xcd5f4d5c saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xe3a3f017 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xe6e86da2 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xe7ebd1d3 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/soc_camera 0x01494c27 soc_camera_format_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0x845478df soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0xd4125c20 soc_camera_apply_sensor_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0xdf380613 soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0xf02d9a29 soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/tveeprom 0x29579111 tveeprom_read +EXPORT_SYMBOL drivers/media/video/tveeprom 0x7a019d96 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x006b7a4b usbvideo_RegisterVideoDevice +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x040b2759 usbvideo_DeinterlaceFrame +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x16a2915c RingQueue_Dequeue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x407a321c RingQueue_WakeUpInterruptible +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x4ab586c5 usbvideo_register +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x5f0811db usbvideo_AllocateDevice +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xd761e467 usbvideo_TestPattern +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xddecac6d RingQueue_Enqueue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xf5011f67 RingQueue_Flush +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xf68d5249 usbvideo_Deregister +EXPORT_SYMBOL drivers/media/video/v4l1-compat 0xa2f0d2bf v4l_compat_translate_ioctl +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x03165a85 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1dcaa0c8 v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1e326b97 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x2f639468 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x42c8e001 v4l2_ctrl_next +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4ed5e0d7 v4l2_chip_match_host +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x50766d69 v4l2_ctrl_query_menu_valid_items +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x5e710d0f v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x76ba9a9a v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x95284709 v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9c7de443 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9eb43ee2 v4l2_ctrl_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xbecd2858 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xd9ee1e3f v4l2_ctrl_query_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xf576b13d v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x32debf41 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x70332c9c videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xa36cd921 videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xa6fc95de videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xa7bd91d4 videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xdb5ceda6 videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x1d687ec7 video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0x2d2594b2 video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x3b2bd9f6 video_register_device_no_warn +EXPORT_SYMBOL drivers/media/video/videodev 0x484d1764 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x61ebc583 video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0x6adafbb5 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0x777d0367 video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0xa9f8429c video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/videodev 0xf7249d06 video_usercopy +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x7e11e12e videocodec_register +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xcc8b396d videocodec_unregister +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xcebadbd3 videocodec_detach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xecac1f82 videocodec_attach +EXPORT_SYMBOL drivers/memstick/core/memstick 0x1d71e567 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x208f5fc9 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x25999ee2 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x2d1ef899 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0x35fd4dc9 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5b5c17c8 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6bd986e5 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8c9b5da4 memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xadd9d406 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xae651b21 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xbb4d73f9 memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xc93d7940 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xca1af924 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0xec42ef05 memstick_add_host +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x00c9f03a mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0c8566e3 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0d105399 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0e1d37f9 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0e66d4dd mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x32e4d765 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x383115a8 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3bbfd089 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x44c4c6ab mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x578459c0 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x57b4bde1 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x607d6527 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x778d2798 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fde3fba mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8361b6e3 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x90f880ec mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x947d0f6e mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x962f4074 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x97eb1eb6 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9949058c mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9c9e3f78 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa527fbee mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xad4aa092 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc0e69f82 mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc47c22e8 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc5766a14 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd8c3cdda mpt_resume +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 0xdef8b0f2 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe7a5ba79 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfe06dd7a mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x04edab13 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0f794aef mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0fa55cca mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x107ed5c2 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2308d7a8 mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x35f462f7 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x370b69c2 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3d8d6869 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x48cbc36a mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x50438faf mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x56c0b894 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5a5de459 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5be42d51 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5bfb65dd mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7a042bf0 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x81779536 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x83b47268 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8675741a mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x99170e75 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa6da45ff mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb00cb5c4 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb2ca1f2a mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb903eb51 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xddb09f3f mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf7c9b9c2 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfea0b658 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x028fbd56 i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0c439042 i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0ca441d8 i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x1547be22 i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x25fda221 i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x27f1ec69 i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x66e335e2 i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x85e510f7 i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x8c6b61aa i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x9abf620f i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xa444e83f i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xa742433c i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb823c5d2 i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xceda7ec3 i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd404c6a8 i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd5e495d3 i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xe6574f27 i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf31ccf9c i2o_device_claim +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x3a446800 ab3100_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x3e4e5023 ab3100_get_chip_type +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x52fc64c0 ab3100_get_register_page_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x5f787e22 ab3100_event_unregister +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x61722ecb ab3100_event_register +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x9d290466 ab3100_mask_and_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xa1620831 ab3100_get_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xf96f2cae ab3100_event_registers_startup_state_get +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x7a5af6e0 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x9595f403 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mfd-core 0x7d99472e mfd_add_devices +EXPORT_SYMBOL drivers/mfd/mfd-core 0x80914636 mfd_remove_devices +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +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/c2port/core 0x20371b0b c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0x4d44fc2d c2port_device_register +EXPORT_SYMBOL drivers/misc/ioc4 0x90766f6d ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0xa033c72e ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x026bf296 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x17d421ca tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x4a0aacd2 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x4e4397c0 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x54d1eb87 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x5f9ab970 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x8bb9ceab tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xa08947d6 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xaef175e7 tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xbc4aba30 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xbdc0630a tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xeec23b69 tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xfac9875d tifm_free_device +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0x8bc97488 mmc_cleanup_queue +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x70495d78 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xc37f68f5 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xd8022d67 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x417dd822 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x7a2c7d38 map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x7aed2d12 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x7d67f82a unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0xce33ee23 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x385cdaab lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x69305298 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x9a6c7bad del_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtd 0xebbdc6e9 add_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtdconcat 0x73685395 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtdconcat 0xcfacc0c6 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/nand 0x6a6877de nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0x782bddb5 nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xaea16757 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xb4b94377 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xd6d0fd3a nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0x836bdb72 nand_flash_ids +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0xa336feb7 nand_manuf_ids +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x24713675 flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x9448bffa onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x96be1358 onenand_scan_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xf4c04898 onenand_default_bbt +EXPORT_SYMBOL drivers/net/8390 0x1a5aac3c NS8390_init +EXPORT_SYMBOL drivers/net/8390 0x1a87c93b ei_close +EXPORT_SYMBOL drivers/net/8390 0x42f58ce5 ei_tx_timeout +EXPORT_SYMBOL drivers/net/8390 0x474ea0c1 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/8390 0x55ae7de0 ei_open +EXPORT_SYMBOL drivers/net/8390 0x6e600fea ei_start_xmit +EXPORT_SYMBOL drivers/net/8390 0x6ef4317c __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/8390 0xa3ab0f34 ei_get_stats +EXPORT_SYMBOL drivers/net/8390 0xc257d000 ei_poll +EXPORT_SYMBOL drivers/net/8390 0xcd12987b ei_netdev_ops +EXPORT_SYMBOL drivers/net/8390 0xdd365790 ei_interrupt +EXPORT_SYMBOL drivers/net/8390p 0x03007c33 eip_poll +EXPORT_SYMBOL drivers/net/8390p 0x04734f00 eip_get_stats +EXPORT_SYMBOL drivers/net/8390p 0x31935684 eip_set_multicast_list +EXPORT_SYMBOL drivers/net/8390p 0x850608b9 eip_start_xmit +EXPORT_SYMBOL drivers/net/8390p 0x93b08e10 NS8390p_init +EXPORT_SYMBOL drivers/net/8390p 0x9a923805 __alloc_eip_netdev +EXPORT_SYMBOL drivers/net/8390p 0xb37b401d eip_tx_timeout +EXPORT_SYMBOL drivers/net/8390p 0xb663e226 eip_interrupt +EXPORT_SYMBOL drivers/net/8390p 0xbb7434e6 eip_open +EXPORT_SYMBOL drivers/net/8390p 0xf2cd2393 eip_netdev_ops +EXPORT_SYMBOL drivers/net/8390p 0xf30ab647 eip_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x09fbb994 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x22bea7c3 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x23f86078 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x28703e27 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x37fae346 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x64ef169e arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x697b2c05 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x79812679 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xa52283e0 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xa9f70039 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xff6326f9 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x94133d53 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xf213cd45 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xfac120ba com20020_found +EXPORT_SYMBOL drivers/net/bnx2 0xb27e51bb bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/cnic 0x0e19d1a5 cnic_register_driver +EXPORT_SYMBOL drivers/net/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x31f59751 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x6fe285c2 cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x72cc4e41 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x789bb66c cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x89f4038d cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xaa0e54a3 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xad474b88 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xb4ddf5e0 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xccb60453 t3_l2e_free +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xd0251450 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xd0fc0121 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xda4aea39 cxgb3_register_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xdeb647dd t3_l2t_get +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xe159c91c t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xee368c30 dev2t3cdev +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xf59ac598 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x06313b02 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x7a7af4d9 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x88ba4091 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xb25ee2ed hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xda9ac5b1 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x02c327e3 irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x071e8175 sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x0b74e302 sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x52725c07 sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x651a64e2 sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x75983541 sirdev_write_complete +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x8e08d7e3 sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xb4a6fbe5 sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xc27a619d sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xd40d223c 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/mii 0x48bdc6f0 mii_check_link +EXPORT_SYMBOL drivers/net/mii 0x742ad401 mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0x855bb01d mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0xb4521d05 mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0xbfa7bdbe mii_ethtool_gset +EXPORT_SYMBOL drivers/net/mii 0xd5c5e290 mii_check_media +EXPORT_SYMBOL drivers/net/mii 0xdf5b18de generic_mii_ioctl +EXPORT_SYMBOL drivers/net/mii 0xf3f8415e mii_link_ok +EXPORT_SYMBOL drivers/net/pppox 0x5baf5e7c register_pppox_proto +EXPORT_SYMBOL drivers/net/pppox 0x8a8055d0 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/pppox 0xc942e6c8 pppox_ioctl +EXPORT_SYMBOL drivers/net/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/sungem_phy 0x3a0aa9d8 mii_phy_probe +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x776e7808 tms380tr_open +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x7e1ec0f9 tms380tr_netdev_ops +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xb982a790 tmsdev_init +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd2328794 tms380tr_wait +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd49af46e tms380tr_interrupt +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xdcfd1fe8 tmsdev_term +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xf9f67e20 tms380tr_close +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 0x00e24eb5 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x03638f2b hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x0e46a6ff attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x230f762a detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x2657d7a3 hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0x322b8139 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x92e9568e hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc1d8e6c9 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0xca96ec2c register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd8939feb hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0xff904ecc unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/z85230 0x09a63363 z8530_sync_open +EXPORT_SYMBOL drivers/net/wan/z85230 0x10c78988 z8530_dead_port +EXPORT_SYMBOL drivers/net/wan/z85230 0x190c5737 z8530_sync +EXPORT_SYMBOL drivers/net/wan/z85230 0x213abac6 z8530_interrupt +EXPORT_SYMBOL drivers/net/wan/z85230 0x2a49ea59 z8530_channel_load +EXPORT_SYMBOL drivers/net/wan/z85230 0x5243676d z8530_sync_close +EXPORT_SYMBOL drivers/net/wan/z85230 0x5cd24d29 z8530_hdlc_kilostream +EXPORT_SYMBOL drivers/net/wan/z85230 0x6b4af8e2 z8530_sync_txdma_open +EXPORT_SYMBOL drivers/net/wan/z85230 0x91ef3e7c z8530_sync_dma_open +EXPORT_SYMBOL drivers/net/wan/z85230 0x97aebc82 z8530_describe +EXPORT_SYMBOL drivers/net/wan/z85230 0xc89e3810 z8530_sync_txdma_close +EXPORT_SYMBOL drivers/net/wan/z85230 0xdfd32395 z8530_sync_dma_close +EXPORT_SYMBOL drivers/net/wan/z85230 0xe3d80064 z8530_hdlc_kilostream_85230 +EXPORT_SYMBOL drivers/net/wan/z85230 0xe6cd5187 z8530_init +EXPORT_SYMBOL drivers/net/wan/z85230 0xed8d62d6 z8530_shutdown +EXPORT_SYMBOL drivers/net/wan/z85230 0xee4749e5 z8530_nop +EXPORT_SYMBOL drivers/net/wan/z85230 0xf1a835ca z8530_null_rx +EXPORT_SYMBOL drivers/net/wan/z85230 0xf1ab6726 z8530_queue_xmit +EXPORT_SYMBOL drivers/net/wireless/airo 0x1415c9a0 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x4fd9db93 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x538dfb4d init_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x31219afb ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x3ce7c8e1 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbe25b39d ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbe6d87b0 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd4087dcd ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/atmel 0x26b4995d atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel 0xa2655c22 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xe484e483 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0a2c5404 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0b16768a hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x126469cd hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x27118f2f hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x34487623 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x394b1ba0 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x45a01ad7 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x5bb8f21a hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x64a35f30 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x75ad4ecf prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7de6e323 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7f55a924 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x8f2d9c82 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xadef82a5 hostap_80211_ops +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 0xb5c451d9 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb8e80c01 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb9a4fe2b hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xc306a97f hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xd76d925d hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xdb5b972b hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xde5e0f02 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xde987d55 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe137356d hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xeca7da55 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf21324eb hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xff6f8eb6 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x018b706e libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x03fb7af1 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x0afeb751 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x1b26084c libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x2a0e4e27 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x34bba835 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x3d372d2f libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x43b854c9 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x447760ae libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x486ad2d9 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x4a039240 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x55db3a62 libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x5b8e49ba libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x7f032623 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x99e72cda libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xaeb56c45 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xaf15c8cb libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb9b7884b alloc_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xbc7c848c libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd44df38b libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd7f4815c free_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x021ae798 iwl_send_static_wepkey_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x027214b0 iwl_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x03332c57 iwl_sta_tx_modify_enable_tid +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x03a73e8b iwl_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x04e820c1 iwl_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x07f2b788 iwl_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x09e11959 iwl_leds_register +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0a54dbff iwl_update_tkip_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0aeaba7f iwl_send_statistics_request +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0b4b78ce iwl_free_tfds_in_queue +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0e26aff1 iwl_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0ee3824e iwl_tt_handler +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x12097073 iwl_clear_stations_table +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1271941d iwl_disable_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x138ecbe9 iwl_rf_kill_ct_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1449beb3 iwl_rx_statistics +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1648c5fa iwl_set_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x175c67c1 iwl_rx_queue_restock +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x182d4d00 iwl_hw_txq_ctx_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1830c834 iwl_rx_csa +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x18cd4047 iwl_rx_pm_debug_statistics_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1998e863 iwl_set_hw_params +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x19f0e900 iwl_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1a724376 iwl_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1b237b41 iwl_tx_skb +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1b809c21 iwl_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d77b399 iwl_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1de47077 iwl_eeprom_get_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1edb62c5 iwl_find_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x21a5c79f iwl_tt_exit +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x21f8efc9 iwl_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x238915e6 iwl_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x249a66d8 iwl_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x25586ee1 iwl_alloc_all +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x25d867fa iwl_rxq_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x263448e6 iwl_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x27128c80 iwl_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x27cc8b74 iwlcore_eeprom_verify_signature +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x27ef6dae iwl_rx_reply_rx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x29f071a4 iwl_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2b5a9704 iwl_rx_reply_compressed_ba +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2c787fe3 iwl_set_rxon_chain +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2ccd3c98 iwl_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3342400b iwl_tt_exit_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x38d6ee7d iwl_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x395030bb iwl_txq_ctx_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3d3b5725 iwl_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3e246ef4 iwl_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3ed3e868 iwl_activate_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x419ef0d6 iwlcore_eeprom_release_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4305978f iwl_sensitivity_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x48ddbba9 iwl_set_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x49a751d0 iwl_send_calib_results +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4a1add2e iwl_get_free_ucode_key_index +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4b205494 iwl_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5197e08a iwl_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x55cea1d0 iwl_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x55ecf5a3 iwl_tx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x57cbf908 iwl_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x582aba40 iwl_sta_rx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5d2073f2 iwl_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5f662a0b iwl_remove_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6049fd1e iwl_rx_replenish_now +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x62727d56 iwl_calib_set +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x65e6a1de iwl_hw_nic_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6a3f5c67 iwl_reset_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6ac740eb iwl_rx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x705e744c iwl_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x732fd13a iwl_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x73ac7e1c iwl_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x73efd3ac iwl_reset_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x754ff325 iwlcore_eeprom_enhanced_txpower +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7614960b iwl_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x763947b0 iwl_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x78976e61 iwl_isr_legacy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x78f6612a iwl_hwrate_to_tx_control +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x83c30f28 iwl_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8670273d iwl_hwrate_to_plcp_idx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x86751a20 iwl_verify_ucode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x86dcec2c iwl_rxon_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x889ebf8e iwl_tx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8e1adfa0 iwl_rx_reply_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8e7978dc iwl_tx_queue_reclaim +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x97662413 iwl_mac_get_tx_stats +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x98c9b3eb iwl_rx_replenish +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x994b4ef6 iwl_setup_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9a60af0b iwl_bg_scan_check +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9b529223 iwl_rx_missed_beacon_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9b8dfbea iwl_tt_enter_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9cde1f24 iwl_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9e08692a iwl_mac_beacon_update +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9e86e8e0 iwl_bg_abort_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa2787dec iwl_get_ra_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa3fa0419 iwl_rx_reply_rx_phy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa725ea23 iwl_sta_rx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa8262444 iwl_set_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaad0846e iwl_bg_scan_completed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xab3ee13f iwl_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xac3348a8 iwl_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xac997030 iwl_rate_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xae49a7a6 iwl_remove_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaf3f984c iwl_chain_noise_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb0c0db9f iwl_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb10425d5 iwl_is_monitor_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb40bd12c iwl_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb574c480 iwl_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb687e1b0 iwl_get_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbb051f60 iwl_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbc93814e iwlcore_eeprom_acquire_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbc98dbcd iwl_hw_detect +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbed529a3 iwl_free_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbf721c92 iwlcore_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbf95b531 iwl_alloc_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc1e853df iwl_init_sensitivity +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc71ba6cc iwl_ht_enabled +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc991f26c iwl_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc9cfa1ea iwl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcac717d2 iwl_leds_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcb37c7f6 iwl_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcbaf4931 get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcca223b6 iwl_tx_ant_restriction +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcfb1103c iwl_uninit_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd33863a4 iwl_configure_filter +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd3661ef7 iwl_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd44b543e iwl_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd9511641 iwlcore_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd99f3012 iwl_reset_run_time_calib +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdae1a678 iwl_setup_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdc9cbf31 iwl_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdfd5d351 iwl_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdfdac1e2 iwl_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe02e6ae5 iwl_rx_pm_sleep_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe2204be9 iwl_tt_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe220d962 iwl_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe7ce5d70 iwl_rates +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xec3ae06a iwl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xedb63299 iwl_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xef46b698 iwl_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf0ba61f3 iwl_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf423756d iwl_eeprom_check_version +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf67c19c6 iwlcore_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf9509881 iwl_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf9d50da6 iwl_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfb1f2e23 iwl_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfb6dfd38 iwl_txq_check_empty +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfc483f47 iwl_init_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfd029937 iwl_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfe138983 iwl_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x02af0305 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4196c38b hermes_write_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x5a02be8e orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x6387ca06 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x6a927e18 orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x8b0cef4b orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x92b2840b orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa031d8e4 hermes_doicmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa05dfb50 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc60b5e9e hermes_bap_pwrite +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd38d8ae2 hermes_read_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd3f714e5 hermes_bap_pread +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5168829 hermes_allocate +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5336e5d hermes_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd54e219d hermes_docmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xed47b224 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xf4eea442 alloc_orinocodev +EXPORT_SYMBOL drivers/parport/parport 0x055c235d parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x12a9b21a parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x1337aca4 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x154bbd77 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x1f18d991 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x284a4804 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x3533e10b parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x397ba37d parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x4008680d parport_write +EXPORT_SYMBOL drivers/parport/parport 0x4b005b00 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x4d73995d parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x52c77d6e parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x5f3a8655 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x629030eb parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x68a42a0f parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x7c636044 parport_release +EXPORT_SYMBOL drivers/parport/parport 0x865ca403 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0x872bcb57 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x9d5eff70 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0xaa20b046 parport_read +EXPORT_SYMBOL drivers/parport/parport 0xbffacba9 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xc62ba963 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xca311ba7 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0xd105e91f parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xd99c21cf parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0xdc570cd6 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xe31fee1f parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0xeb0970cb parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xf2ce56a5 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xf74a375e parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xfa99d559 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport_pc 0x2a2c30a0 parport_pc_unregister_port +EXPORT_SYMBOL drivers/parport/parport_pc 0x4456330b parport_pc_probe_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x1a728905 pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x331c86f4 pcmcia_request_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4fd033a0 pcmcia_error_func +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x575d9951 pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6214ddaa pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6f49a913 pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x732dcdf8 pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x8a696523 pcmcia_get_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x95db2b8e pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x9812dddd pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xa07010c7 pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xa65deb6e pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xbd0cdde5 pcmcia_access_configuration_register +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xcce28163 pcmcia_modify_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf0a25e12 pcmcia_error_ret +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf32ed7ed pcmcia_get_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xfdc2b2a5 pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x082d7d54 pcmcia_validate_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x13b25171 pccard_get_next_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x19a7b50e pccard_read_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2767a692 pcmcia_suspend_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x32d16fc7 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x34182f70 pcmcia_write_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x3d034306 release_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x44479e62 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x4669e1e0 pcmcia_read_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x492161f2 pcmcia_socket_dev_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x4ccb0c84 pccard_static_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x51e34108 pcmcia_find_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x54fa04ec pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5bb7ac96 pcmcia_resume_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5f42a69d pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x695e1754 pcmcia_find_mem_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x70540ec6 pcmcia_insert_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x759fbca0 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x858a62bd pcmcia_replace_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x86532c69 pcmcia_eject_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8808ebdc pccard_get_first_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8a52ce35 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9235458f pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x97ba4f45 destroy_cis_cache +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9ccd676e pcmcia_socket_dev_suspend +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa3b4f114 pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xab1f2f94 pcmcia_socket_dev_late_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc02ef2c8 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc192166d pcmcia_adjust_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcd8300ba pcmcia_socket_dev_early_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcfd3fce1 pccard_validate_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xde3dacf5 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xed3097d1 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xfd77b87e pccard_get_tuple_data +EXPORT_SYMBOL drivers/pcmcia/rsrc_nonstatic 0x4f5a49c9 pccard_nonstatic_ops +EXPORT_SYMBOL drivers/platform/x86/sony-laptop 0x5bb1e117 sony_pic_camera_command +EXPORT_SYMBOL drivers/pps/pps_core 0x1e145952 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0x81ce31d4 pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xe6a16116 pps_event +EXPORT_SYMBOL drivers/scsi/53c700 0x6c4a467e NCR_700_release +EXPORT_SYMBOL drivers/scsi/53c700 0x7ae945b1 NCR_700_detect +EXPORT_SYMBOL drivers/scsi/53c700 0xf13d9adc NCR_700_intr +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x30bf9230 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x6de8f7e9 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x74a27f3a fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x8a60787b fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xd75c128a fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xe7b2fcec fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xfcc17d11 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00895c3d fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x02451c05 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x076a0909 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0b3a6e5b fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0bda63ae fc_seq_els_rsp_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1a488da6 fc_fcp_complete +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1deb57d2 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x21c00cf5 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x33011fd1 fc_fcp_ddp_setup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x379e8203 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3c224bc1 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3ef1026c fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4461fd71 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x48664c1d fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x495594a8 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4f3a7a22 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x56183917 fc_destroy_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x563dce02 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6150a444 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x67750428 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x698c7c19 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6eb44459 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x71df8fc8 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7589f84c fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7d17665d fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8aec87d7 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8b00b496 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8b7a5159 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8d1a8ff4 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8f894adb fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x90a1cd7b fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x95d2118b fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x99424d85 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x99500b0e fc_get_host_port_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa53554e2 fc_exch_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb476ffd4 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb4f3588a __fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbb41f4d0 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc0efdd5a fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd6cb3359 fc_setup_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdb59408e fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe095b67a fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe3262cc0 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe35f85ad fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xee75c9a7 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf7365d60 fc_seq_exch_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfe44ae4d fc_rport_terminate_io +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 0x9da9f6f1 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x12b380fe osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x13a128ae osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1c76a274 osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x23b63242 osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3b9463eb osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3c97e7df osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3d8fdc3e osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3f262a32 osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3fba93e0 osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x42549b01 osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4569d15f osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x47b3707f osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4e1ca611 osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x5534cf2a osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x5a66139f osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x747a4493 osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7b359531 osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x80478411 osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x921e4dc7 osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9249b373 osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x95c4ec37 osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa979eaa3 osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa98769e3 osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xac82f829 osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe193ed36 osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xeae1e3cb osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xeb5ea90a osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xeb69a1d5 osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xec429a3c osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xec62801c osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf780b96f osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf87a6c94 osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/osd 0x28b21359 osduld_register_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x3bf5d29e osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0xc3b64df0 osduld_put_device +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x19a7b7a7 qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x5246a896 qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x5c940b10 qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x62c469f1 qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xbfad1cae qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xdc310b12 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xdd0569f9 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 0x017693b3 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x3afa00a1 raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0xbe45ab37 raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x183c41be scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x18bff9ab fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1d38b59a fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1e43bf84 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x43f39dcb scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4e574e94 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x786820ef fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7e2d59b7 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc773a2cf fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc86209c0 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd6c07ef1 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe1bcd16e fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00d68ccd sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x01c1d3de sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1fcaed0f sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2681a014 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x389d3d16 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3e462468 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x402d508b sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x58312f2c scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6eccaeae sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7bda5af8 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8f8e3016 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8ff625f1 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x90026c21 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x99fa5c89 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9a684550 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9bbd63dd sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9ef9f853 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xaeca4f41 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc630d086 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xcfb51e31 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdc13dbcf scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe444c81a sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xeba344ec sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf6679f1d sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfc46a946 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfc958930 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x0846afda spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x2c9f3a13 spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3bab00a1 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x5b21d517 spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xe74d51cc spi_display_xfer_agreement +EXPORT_SYMBOL drivers/ssb/ssb 0x071a8cdb ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x190560c6 ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x22d9f756 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x2687de10 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x2e4a0847 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x322003c4 ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x34ac5fde ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x3d7d1063 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x4294ca2e ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0x46f6a9eb ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x48a0938f ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x553044ae ssb_dma_free_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0x757690e3 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x81f954a0 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x85a7cd45 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x9422984b ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xb112b579 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xc05faf3d ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xc12005a1 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xc1525c94 ssb_dma_set_mask +EXPORT_SYMBOL drivers/ssb/ssb 0xcb825d09 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xf4437fdc ssb_dma_alloc_consistent +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x053f62bd comedi_event +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x081a8a43 comedi_buf_memcpy_to +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2030e414 comedi_driver_register +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2b6eec58 comedi_buf_read_n_available +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x423f9cec comedi_buf_read_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x69e21453 comedi_buf_write_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x6c393637 comedi_driver_unregister +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x6c910eb0 comedi_error +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x70752add comedi_buf_memcpy_from +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x7094600b comedi_buf_read_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xa6e071f4 comedi_buf_write_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xa7f05da4 comedi_set_subdevice_runflags +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xbafed5dc check_chanlist +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xbb8e0bba comedi_reset_async_buf +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xc10dca85 comedi_get_subdevice_runflags +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xd7628c27 comedi_buf_put +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xfbb32723 comedi_buf_get +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x116fc8a3 subdev_8255_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x4c2f92a5 subdev_8255_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x5632db47 subdev_8255_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xe32f6edc subdev_8255_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x3fd66426 cfc_read_array_from_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x582d763a cfc_handle_events +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0xac240a66 cfc_write_array_to_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x2580dfe9 mite_request_channel_in_range +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x2631cafc mite_bytes_read_from_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x478a77ef mite_sync_output_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x4cc61b7c mite_sync_input_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x51e9acd2 mite_buf_change +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x57a5661e mite_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x62af672d mite_setup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x6428b7d1 mite_bytes_read_from_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x64e5ce92 mite_dma_tcr +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x73ba0f77 mite_done +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x7ec604f6 mite_setup2 +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x82eaed72 mite_bytes_written_to_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x84d32cf9 mite_bytes_in_transit +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x8d90433e mite_release_channel +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x9f978286 mite_get_status +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xb4311496 mite_dma_disarm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xc0f3905f mite_bytes_written_to_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xd8cece76 mite_dma_arm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xe640fa03 mite_unsetup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xef2c282f mite_prep_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xfb3ba025 mite_list_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x672c54a9 subdev_700_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0xaa9cc3b2 subdev_700_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0xd8293cae subdev_700_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0xee8eeaea subdev_700_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/pcm_common 0x4ddd93fc comedi_pcm_cmdtest +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x042d55f4 comedi_loglevel +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x0488ce0e comedi_get_n_ranges +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x0cad1c36 comedi_get_subdevice_type +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x13e3042c comedi_command +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x194eb4ae comedi_get_n_channels +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x1c5555d9 comedi_cancel +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x1ec0e2d3 comedi_get_buf_head_pos +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x22318694 comedi_set_user_int_count +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x262e9c18 comedi_dio_write +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x370d69d5 comedi_dio_read +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x3cb614fc comedi_data_write +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x3db41e4f comedi_poll +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x3de6a4a3 comedi_get_buffer_offset +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x409d3263 comedi_do_insn +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x51da786d comedi_register_callback +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x52769094 comedi_find_subdevice_by_type +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x628ed463 comedi_get_n_subdevices +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x671c2623 comedi_get_buffer_size +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x696272c9 comedi_unlock +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x826bd656 comedi_data_read_delayed +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x8e199bbf comedi_perror +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x8fb4413e comedi_data_read_hint +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x9b266320 comedi_get_krange +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x9dde39b5 comedi_strerror +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xa0334b40 comedi_get_driver_name +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xa094eab0 comedi_get_board_name +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xa7c55c52 comedi_open +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xaa456501 comedi_mark_buffer_read +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xb45b8b7b comedi_mark_buffer_written +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xb5396dad comedi_get_maxdata +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xb5c3ac2a comedi_map +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xc4ec62b3 comedi_get_len_chanlist +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xc7d949df comedi_lock +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xd2a9a259 comedi_get_version_code +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xd46a9468 comedi_dio_config +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xd48facbb comedi_command_test +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xddd89421 comedi_close +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xe2208940 comedi_data_read +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xe38c6fb4 comedi_unmap +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xed5731a4 comedi_get_subdevice_flags +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xefd0c778 comedi_fileno +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xf17e03df comedi_dio_bitfield +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xf71581db comedi_get_buffer_contents +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x0a0dc036 cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x471e1cfb cx25821_devlist +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x6494a526 cx25821_dev_unregister +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x67cc5b8b cx25821_sram_channels +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x762c795a cx25821_dev_get +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x784853c3 cx25821_print_irqbits +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x7b2758e4 cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xb33c6df3 cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xd26890ca cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xdc77d5bd cx25821_sram_channel_setup +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xe0598277 cx25821_sram_channel_dump +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0x1cb36e36 vmbus_child_driver_register +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0x1f07d908 vmbus_child_driver_unregister +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0x253f3d14 vmbus_get_interface +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0xdf1a5ef6 vmbus_loglevel +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x055e90fa iio_read_const_attr +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x392595e8 iio_add_event_to_list +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x3fadeb06 iio_register_interrupt_line +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x567d56c7 iio_push_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x60f7253a iio_free_idr_val +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x61f2a25b __iio_push_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x620464a9 iio_class +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x739ae300 iio_devt +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x94bd9949 iio_allocate_device +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x97fc1c07 iio_device_unregister +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xb6edaf14 iio_get_new_idr_val +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xbe069bfc iio_device_register +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xc893c4d6 iio_free_device +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xcb842df9 __iio_change_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xcfe13031 iio_unregister_interrupt_line +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xe6414bad iio_remove_event_from_list +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x03964d35 pod_create_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x19d86086 variax_create_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x692388f8 variax_remove_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x746c98ca pod_remove_files +EXPORT_SYMBOL drivers/staging/rar/rar_driver 0xf8017f03 get_rar_address +EXPORT_SYMBOL drivers/staging/vme/vme 0x00d7e722 vme_lm_count +EXPORT_SYMBOL drivers/staging/vme/vme 0x072f901c vme_master_rmw +EXPORT_SYMBOL drivers/staging/vme/vme 0x0e10859d vme_lm_get +EXPORT_SYMBOL drivers/staging/vme/vme 0x0ec5babe vme_dma_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x196001dd vme_slave_request +EXPORT_SYMBOL drivers/staging/vme/vme 0x251b9ed8 vme_slave_set +EXPORT_SYMBOL drivers/staging/vme/vme 0x2852f0c7 vme_register_bridge +EXPORT_SYMBOL drivers/staging/vme/vme 0x29996232 vme_lm_request +EXPORT_SYMBOL drivers/staging/vme/vme 0x3d1af350 vme_dma_pci_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0x3f68d4cf vme_lm_set +EXPORT_SYMBOL drivers/staging/vme/vme 0x48b99a13 vme_lm_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x57c9dda2 vme_unregister_driver +EXPORT_SYMBOL drivers/staging/vme/vme 0x607f9acf vme_dma_list_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x66227eae vme_alloc_consistent +EXPORT_SYMBOL drivers/staging/vme/vme 0x6d48940b vme_unregister_bridge +EXPORT_SYMBOL drivers/staging/vme/vme 0x76bab4d4 vme_master_set +EXPORT_SYMBOL drivers/staging/vme/vme 0x7707e678 vme_register_driver +EXPORT_SYMBOL drivers/staging/vme/vme 0x7797a741 vme_dma_vme_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0x7cf35220 vme_master_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x7fde2edb vme_master_read +EXPORT_SYMBOL drivers/staging/vme/vme 0x8bea6208 vme_request_dma +EXPORT_SYMBOL drivers/staging/vme/vme 0x8c2083dc vme_request_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0x8e08a296 vme_new_dma_list +EXPORT_SYMBOL drivers/staging/vme/vme 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL drivers/staging/vme/vme 0x93dff61f vme_slave_get +EXPORT_SYMBOL drivers/staging/vme/vme 0x94b2590f vme_free_consistent +EXPORT_SYMBOL drivers/staging/vme/vme 0x9923ed20 vme_dma_list_exec +EXPORT_SYMBOL drivers/staging/vme/vme 0x99317fec vme_master_request +EXPORT_SYMBOL drivers/staging/vme/vme 0x9aeb07e8 vme_lm_attach +EXPORT_SYMBOL drivers/staging/vme/vme 0xab48b280 vme_bus_type +EXPORT_SYMBOL drivers/staging/vme/vme 0xbbc0a61c vme_dma_list_add +EXPORT_SYMBOL drivers/staging/vme/vme 0xbf73f4ef vme_free_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0xc8352002 vme_dma_pattern_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0xd797b9a5 vme_master_write +EXPORT_SYMBOL drivers/staging/vme/vme 0xdb67364e vme_generate_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0xdff905e5 vme_slave_free +EXPORT_SYMBOL drivers/staging/vme/vme 0xe13841e6 vme_slot_get +EXPORT_SYMBOL drivers/staging/vme/vme 0xe60cbb2f vme_master_get +EXPORT_SYMBOL drivers/staging/vme/vme 0xe693a6ce vme_get_size +EXPORT_SYMBOL drivers/staging/vme/vme 0xeccbeafc vme_dma_free_attribute +EXPORT_SYMBOL drivers/telephony/ixj 0x50d494b4 ixj_pcmcia_probe +EXPORT_SYMBOL drivers/telephony/phonedev 0x72f5071d phone_unregister_device +EXPORT_SYMBOL drivers/telephony/phonedev 0xfdaa4306 phone_register_device +EXPORT_SYMBOL drivers/usb/gadget/dummy_hcd 0x2e730f4d usb_gadget_unregister_driver +EXPORT_SYMBOL drivers/usb/gadget/dummy_hcd 0xc3688f4b net2280_set_fifo_mode +EXPORT_SYMBOL drivers/usb/gadget/dummy_hcd 0xcd4b55f7 usb_gadget_register_driver +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0xb5d50d30 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/usbserial 0xe87e0e28 usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xf001a4b8 usb_serial_resume +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0xc86baa7c corgibl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x2d0be73c lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x9b7842a3 lcd_device_unregister +EXPORT_SYMBOL drivers/video/console/bitblit 0x8e2d6eaa fbcon_set_bitops +EXPORT_SYMBOL drivers/video/console/font 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL drivers/video/console/font 0xbb99125c get_default_font +EXPORT_SYMBOL drivers/video/console/font 0xf7584a9c find_font +EXPORT_SYMBOL drivers/video/console/softcursor 0x61315047 soft_cursor +EXPORT_SYMBOL drivers/video/console/tileblit 0xaa1d8553 fbcon_set_tileops +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x44a0a81a cyber2000fb_get_fb_var +EXPORT_SYMBOL drivers/video/cyber2000fb 0x50d0b784 cyber2000fb_attach +EXPORT_SYMBOL drivers/video/cyber2000fb 0xc1a5902a cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0xef11669f cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/display/display 0x2e01e3c5 display_device_register +EXPORT_SYMBOL drivers/video/display/display 0xfe40e88e display_device_unregister +EXPORT_SYMBOL drivers/video/macmodes 0x08ed0b62 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/macmodes 0x43f53e49 mac_find_mode +EXPORT_SYMBOL drivers/video/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x5fe4f2e0 g450_mnp2f +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x869b4560 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0xbb0bc9bb matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x3ac91b0f matrox_G100 +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x4e5328c5 matrox_mystique +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xed981df5 DAC1064_global_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xedb80ff2 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_Ti3026 0xd0e4ebe3 matrox_millennium +EXPORT_SYMBOL drivers/video/matrox/matroxfb_accel 0x27161c46 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xb13d5318 matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xe20686de matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xea911749 matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xf1b51074 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x2434f0fd matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x9667f391 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x25c3e2f4 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x445d80e3 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xabd8e427 matroxfb_var2my +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xe266102e matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xe3e3fbc7 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xfaecadc7 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/output 0x3f513bd4 video_output_register +EXPORT_SYMBOL drivers/video/output 0x4d3898c4 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 0x00d1fce9 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/svgalib 0x07b3da30 svga_wseq_multi +EXPORT_SYMBOL drivers/video/svgalib 0x1b95c56a svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x2613f2c6 svga_tileblit +EXPORT_SYMBOL drivers/video/svgalib 0x480a7868 svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0x5752a970 svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0x63e898d1 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/svgalib 0x7a3ae959 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x80408443 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0x8fa8438b svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/svgalib 0x9b188098 svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0xab3b22ad svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/svgalib 0xd1d97cbd svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0xdad682b1 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/svgalib 0xec83c473 svga_match_format +EXPORT_SYMBOL drivers/video/svgalib 0xece5f0bc svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0xef774f5d svga_compute_pll +EXPORT_SYMBOL drivers/video/svgalib 0xf336cec2 svga_tilecopy +EXPORT_SYMBOL drivers/video/syscopyarea 0xb42c3924 sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0x0985f750 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x756b5567 sys_imageblit +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x71ed0080 w1_bq27000_write +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x988a849a w1_bq27000_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x041b1f1d w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x4b42af54 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x672561b1 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xb8befa67 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/wire 0x7089f009 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x785ca164 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x93690dab w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xb8486332 w1_register_family +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x04e133fc iTCO_vendor_check_noreboot_on +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x672c9d44 iTCO_vendor_pre_keepalive +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xa78bd894 iTCO_vendor_pre_set_heartbeat +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xa8d6daac iTCO_vendor_pre_start +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xd0efe320 iTCO_vendor_pre_stop +EXPORT_SYMBOL fs/configfs/configfs 0x07058d0a config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x122b8c11 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x18e75381 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x1ace8327 config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0x2c3d29ac configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0x426ba3fb config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x445b2b2f config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0x825887c3 config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0x948d67dd configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0xb678785f configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xde330c9f config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0xf3be71a3 config_group_init +EXPORT_SYMBOL fs/fscache/fscache 0x007d6f80 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x203b7ba4 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x2eff010b __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x3e62259e __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x3f0eda91 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x496932b9 fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x4de7d6dd __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0x580afdc5 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x5825a3af __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x632bd23e __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x63f96884 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x6406f5c6 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0x68e095e1 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x6ee58f72 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x72a748c9 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x8cfd8aa2 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x96d965f3 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x9ebadea2 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xa0d71bb7 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0xa87ef20d __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0xae02123f fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0xbb4db348 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xc4d7cc50 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xcc528aa5 __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xd8d1ecc1 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0xef9d401a fscache_object_slow_work_ops +EXPORT_SYMBOL fs/fscache/fscache 0xf3ab3b2c fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0xfdb8dc50 fscache_put_operation +EXPORT_SYMBOL fs/nfsd/nfsd 0x0e195c1c nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/nfsd/nfsd 0x2095976a nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0x28fb929b nfs4_acl_posix_to_nfsv4 +EXPORT_SYMBOL fs/nfsd/nfsd 0x35e33c1e nfs4_acl_write_who +EXPORT_SYMBOL fs/nfsd/nfsd 0x5a157ae4 nfs4_acl_get_whotype +EXPORT_SYMBOL fs/quota/quota_tree 0x2a40674f qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x6b882ebd qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x82e5108e qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xacf563d5 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xc961e402 qtree_release_dquot +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/libcrc32c 0x27000b29 crc32c +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 0xf0caf44b zlib_deflate_workspacesize +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL net/802/p8023 0xa03178d0 make_8023_client +EXPORT_SYMBOL net/802/p8023 0xf02a898d destroy_8023_client +EXPORT_SYMBOL net/9p/9pnet 0x022865e5 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x0cb7c473 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x1324e39b p9_client_version +EXPORT_SYMBOL net/9p/9pnet 0x196a152d v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x1e1a077f p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x246f099d p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x3455711e p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0x377c81d8 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x46aaf122 p9_client_auth +EXPORT_SYMBOL net/9p/9pnet 0x48b32ba9 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x59a5cb7f p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x6b754e6f p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x76b79bf1 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x7cfc8cf0 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x963d3dac v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xa86bae60 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0xaab8671a p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0xb5377fc7 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0xb8e39195 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0xc7a490c9 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0xcae61af3 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xce70f0d3 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xd0faf92e p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0xd331fc1d p9pdu_dump +EXPORT_SYMBOL net/9p/9pnet 0xe21777bd p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe78cfc2b v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xef7127b0 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0xf545e280 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xffa396e7 p9_client_clunk +EXPORT_SYMBOL net/appletalk/appletalk 0x20c9352f alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0x944e9ee3 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xc3ea9d36 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0xd1270cfa atalk_find_dev_addr +EXPORT_SYMBOL net/atm/atm 0x0cd6934e vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x1a24e5e2 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0x2be966b4 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x3dadab1d atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x4878b4f9 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x4eaef9b7 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x5a301e6d atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x6d1ced27 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x89195dc3 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0x8a182b6e atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0xb9df9f86 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xbbd2cc03 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0xd3c94cd3 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xfc53d7d2 atm_charge +EXPORT_SYMBOL net/ax25/ax25 0x1b09c000 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x23a1880d ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x3d2d82ec ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x564d9f14 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x736068ec ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0x878c6251 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0x9d07cbdd ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0xaddb568f ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xe5a7cb7a ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0xee1b1bd5 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0xf843e2cb ax25_listen_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x02858f5c hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x035bb4d4 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1f4f558d bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2b1e3f87 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x33fa78a0 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4d1cb2a6 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x509f1872 hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x55e04172 hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6003ab99 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x610646ee bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x64c9c1cf hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7094f8ae bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x765b7463 hci_register_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0x771ba247 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7a20d66b hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x874231fa bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8d8e3744 hci_unregister_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0x91f668af hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa28a7ec6 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa9f6679f hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb3449c23 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb7e556c8 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbaaa156f hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc06545e3 bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc45b27ff bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcdba1a0f hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd64cab74 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd81c1f56 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdb82d651 hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf475dc4d hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfbb1efed hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0xff7b1a83 hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/l2cap 0xfc31fe88 l2cap_load +EXPORT_SYMBOL net/bridge/bridge 0x6580d775 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x13f5c85e ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x381bbf15 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xc9d1262d ebt_unregister_table +EXPORT_SYMBOL net/can/can 0x077d1de2 can_proto_register +EXPORT_SYMBOL net/can/can 0x6cd00d67 can_send +EXPORT_SYMBOL net/can/can 0xb500f83f can_rx_unregister +EXPORT_SYMBOL net/can/can 0xdb66e202 can_rx_register +EXPORT_SYMBOL net/can/can 0xf605e36d can_proto_unregister +EXPORT_SYMBOL net/ieee802154/nl802154 0x2bd02d99 ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0x51345746 ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x674637bd ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x9b29f5f1 ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0xba67430f ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0xbc409b14 ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0xff64ca49 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/wpan-class 0x21427a32 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/wpan-class 0x4416f6cb wpan_phy_free +EXPORT_SYMBOL net/ieee802154/wpan-class 0x9d540708 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/wpan-class 0xc46790e6 wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/wpan-class 0xf21c3ecf wpan_phy_unregister +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x4f43615c arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x8a6c77fe arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xb523c2c6 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x3a214ff7 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xcd1bd938 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xcff667f1 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x4a8a94a8 nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x4dd9a8a3 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x93adf258 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x9e7422d6 nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xb9d69165 nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xc2a5c803 nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xe4061e92 nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/tunnel4 0x556854b8 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xb4344618 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x38d48f82 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x9febfba8 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb8bddf33 ip6t_ext_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xe28f7860 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xec743a55 ip6t_register_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x1fb77051 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0x6451b9a5 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x9cd013f2 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xab14e193 xfrm6_tunnel_free_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xdb1b42d1 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x4a5bfdff ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x5b0b4396 ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x81d6e445 ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x97cb7ed7 ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xa0de2247 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xb5dc7047 ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xd80be765 ircomm_flow_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xdc94977b ircomm_data_request +EXPORT_SYMBOL net/irda/irda 0x01d1fcdb hashbin_delete +EXPORT_SYMBOL net/irda/irda 0x047b9975 async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x072e026f irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x17b7e40a irlap_close +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x3462950f hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x3462f518 irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +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 0x4a42188c irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x54bca82a irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0x5c4e4cb8 irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0x5d14038b irda_device_set_media_busy +EXPORT_SYMBOL net/irda/irda 0x5f0272a8 irttp_dup +EXPORT_SYMBOL net/irda/irda 0x61107fe8 proc_irda +EXPORT_SYMBOL net/irda/irda 0x6758f8ac irias_new_object +EXPORT_SYMBOL net/irda/irda 0x68b7447c hashbin_find +EXPORT_SYMBOL net/irda/irda 0x6b043eba irda_init_max_qos_capabilies +EXPORT_SYMBOL net/irda/irda 0x6e22011a iriap_open +EXPORT_SYMBOL net/irda/irda 0x7042bc54 irlmp_register_client +EXPORT_SYMBOL net/irda/irda 0x747d6779 irias_delete_object +EXPORT_SYMBOL net/irda/irda 0x7621e908 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0x76243bc9 irias_insert_object +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +EXPORT_SYMBOL net/irda/irda 0x7649888b iriap_getvaluebyclass_request +EXPORT_SYMBOL net/irda/irda 0x781e2db5 irias_find_object +EXPORT_SYMBOL net/irda/irda 0x7957f728 irlmp_update_client +EXPORT_SYMBOL net/irda/irda 0x7a57b6f3 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x7c3e3740 alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0x82a7d160 irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0x8a760020 irlap_open +EXPORT_SYMBOL net/irda/irda 0x8fc89bda irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0xa94c37fd irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0xab1ca4da irda_notify_init +EXPORT_SYMBOL net/irda/irda 0xb057590f irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0xb2c8473a irttp_disconnect_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 0xc105aa5d irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0xc14e9b6a hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0xcd41236c hashbin_new +EXPORT_SYMBOL net/irda/irda 0xcee70cc8 iriap_close +EXPORT_SYMBOL net/irda/irda 0xcf17118e irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0xd53e9b39 async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0xd7172ff4 hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0xd8bfb6d4 hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0xd8eeed20 irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xe42aeb53 irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0xe5260e0e irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0xec41fe7f irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xf39b7fe0 irda_setup_dma +EXPORT_SYMBOL net/irda/irda 0xfafdf495 irlmp_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x1a05d3d3 lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x41dae21d lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x4a036ce7 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x4ab19cc7 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x4cc540f0 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0xaddb8cb9 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0xdcd995a6 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0xfbe7bbad lapb_data_received +EXPORT_SYMBOL net/mac80211/mac80211 0x066f96e9 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x08cf1a8a ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x0d9ae0e2 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x10aa537a ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x14a3caa7 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x24226429 ieee80211_start_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0x254c96b1 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x25ee3e13 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x2962c52e ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x2d454d30 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x32420335 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x3bb39a36 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x3e09c73a ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x3e6a11f6 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x5b68e627 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x64727dac ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x686f3417 ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0x6b122a39 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x7b00dd74 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x7e0be28c ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x88caefa5 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x8c45de2f ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x948dbe4a ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x96c33981 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x9907fb53 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x9c61e5ad ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xa01fe0d9 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xab9fbf39 ieee80211_get_tkip_key +EXPORT_SYMBOL net/mac80211/mac80211 0xad8528d4 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xbd317fd6 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xc1666663 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xc1ebc329 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xcf63dbeb ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xd2e7e612 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0xd35ace30 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xe8abe42d ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xed8163b2 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xedc76850 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xf8dccf94 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xfd4e6d66 ieee80211_stop_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0xfffde1db ieee80211_beacon_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3a633491 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x55b34050 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x61b8004c unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7ff801dd ip_vs_skb_replace +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x9baae576 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa14e07a6 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa1dbc2d8 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xaaada8bb register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xbc6e97cc unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc235f430 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xcf655401 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd4360a51 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x41862922 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xdd181a60 __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0xa8981d8c nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x036b7247 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x082f29bb xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x0c9266b8 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x16a5e826 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x26cd1929 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x4c494eed xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x68323131 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x8988e006 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0xb3cb44f1 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xbe447ed6 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xc3ff5dff xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xd3ef8713 xt_register_match +EXPORT_SYMBOL net/phonet/phonet 0x1f91db99 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x3373b0dc phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x464b4af9 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x58b4c34c pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0xa27eb7f8 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0xa3e35e24 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0xbb996c03 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0xd6817564 phonet_proto_unregister +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x040d2e6d rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x20c6ffdf rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x26cbbe7d rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x3be78707 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x4bc7766f rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x715d5f91 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x87cf5b60 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x94ece976 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xa761fe04 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xc6187779 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xc9bb88f7 rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xd25b9d1f rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe44807b3 rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xeaa0e399 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xee1789ad rxrpc_kernel_end_call +EXPORT_SYMBOL net/sunrpc/sunrpc 0x1b756d03 svc_pool_stats_open +EXPORT_SYMBOL net/tipc/tipc 0x06f43b6e tipc_forward_buf2name +EXPORT_SYMBOL net/tipc/tipc 0x08acf310 tipc_available_nodes +EXPORT_SYMBOL net/tipc/tipc 0x10d40fcd tipc_isconnected +EXPORT_SYMBOL net/tipc/tipc 0x1472b270 tipc_disconnect +EXPORT_SYMBOL net/tipc/tipc 0x1479cb03 tipc_deleteport +EXPORT_SYMBOL net/tipc/tipc 0x15b5ecde tipc_set_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x15d08c98 tipc_createport +EXPORT_SYMBOL net/tipc/tipc 0x16f27683 tipc_block_bearer +EXPORT_SYMBOL net/tipc/tipc 0x259b74f9 tipc_acknowledge +EXPORT_SYMBOL net/tipc/tipc 0x27d8bb58 tipc_send2port +EXPORT_SYMBOL net/tipc/tipc 0x289fc4a9 tipc_send_buf_fast +EXPORT_SYMBOL net/tipc/tipc 0x310d1bc9 tipc_detach +EXPORT_SYMBOL net/tipc/tipc 0x357637b7 tipc_recv_msg +EXPORT_SYMBOL net/tipc/tipc 0x3712e340 tipc_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x3976041f tipc_set_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x4b2243c6 tipc_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x4ba3cfc8 tipc_send2name +EXPORT_SYMBOL net/tipc/tipc 0x5167a30f tipc_send_buf2name +EXPORT_SYMBOL net/tipc/tipc 0x538b228a tipc_withdraw +EXPORT_SYMBOL net/tipc/tipc 0x5637ed44 tipc_get_mode +EXPORT_SYMBOL net/tipc/tipc 0x56e52bc1 tipc_continue +EXPORT_SYMBOL net/tipc/tipc 0x5c0d4b5c tipc_ref_valid +EXPORT_SYMBOL net/tipc/tipc 0x62a681a3 tipc_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0x64357d3c tipc_multicast +EXPORT_SYMBOL net/tipc/tipc 0x712574a5 tipc_register_media +EXPORT_SYMBOL net/tipc/tipc 0x7b5eeb22 tipc_send_buf2port +EXPORT_SYMBOL net/tipc/tipc 0x8001e3d7 tipc_forward2port +EXPORT_SYMBOL net/tipc/tipc 0x82ca4665 tipc_send_buf +EXPORT_SYMBOL net/tipc/tipc 0x88b73627 tipc_get_addr +EXPORT_SYMBOL net/tipc/tipc 0x8aee4a6c tipc_createport_raw +EXPORT_SYMBOL net/tipc/tipc 0x9c45558e tipc_enable_bearer +EXPORT_SYMBOL net/tipc/tipc 0xa936a24b tipc_get_port +EXPORT_SYMBOL net/tipc/tipc 0xadd203d0 tipc_connect2port +EXPORT_SYMBOL net/tipc/tipc 0xae0103c3 tipc_shutdown +EXPORT_SYMBOL net/tipc/tipc 0xb01ffc2c tipc_forward2name +EXPORT_SYMBOL net/tipc/tipc 0xb35b672c tipc_publish +EXPORT_SYMBOL net/tipc/tipc 0xbb2b2504 tipc_send +EXPORT_SYMBOL net/tipc/tipc 0xcec8514a tipc_set_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0xd44731e5 tipc_ownidentity +EXPORT_SYMBOL net/tipc/tipc 0xda35b06c tipc_forward_buf2port +EXPORT_SYMBOL net/tipc/tipc 0xda7f9d3f tipc_attach +EXPORT_SYMBOL net/tipc/tipc 0xdf5008fc tipc_peer +EXPORT_SYMBOL net/tipc/tipc 0xe7aece47 tipc_ispublished +EXPORT_SYMBOL net/tipc/tipc 0xeefd49b3 tipc_get_handle +EXPORT_SYMBOL net/tipc/tipc 0xef4141a6 tipc_reject_msg +EXPORT_SYMBOL net/tipc/tipc 0xef50a1ef tipc_disable_bearer +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0xab37f913 register_wan_device +EXPORT_SYMBOL net/wimax/wimax 0x6d0673ad wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0xb3b140d9 wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x07e7ac5a ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x0b5e6a13 cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0x10c47012 cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x2df1f0d9 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x31c768cb cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x34f0aab6 cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x37ac8d05 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x394c820f cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0x3db40c5c wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x444ec394 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x46836734 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x4931fd51 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x53e7ebe6 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x5af2b658 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x65420b18 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x65d19f73 cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6eea2c00 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x6f80ff0d cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x76339463 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x83ce403a cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x8c35d732 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x90eb5e02 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x91c6f19b cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x945cd2e8 cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x982eb0e5 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x9c8b7419 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0xae58102d cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xb2c9a423 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0xb8bf75db cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xc15ff9a0 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0xc4e85ec5 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xc8f5009b wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0xc931a03d ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0xcbfc45b2 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xccc291b3 ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0xd19279e5 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xd30f4ada cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xd5ae7488 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0xd831c83b cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0xdbcbec08 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xed37676b ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xef9769bb __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xf33b9d02 cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/lib80211 0x0297697a lib80211_crypt_quiescing +EXPORT_SYMBOL net/wireless/lib80211 0x1b52ae1c lib80211_crypt_deinit_entries +EXPORT_SYMBOL net/wireless/lib80211 0x230f3ffb lib80211_crypt_deinit_handler +EXPORT_SYMBOL net/wireless/lib80211 0x29032852 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0xb41b6f19 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0xbb86eb8e lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xbc6ad4ff lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xecbaa1e6 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0xf1c559a6 lib80211_register_crypto_ops +EXPORT_SYMBOL sound/ac97_bus 0x0ed108f5 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0xb19fee1d 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 0x1cea94f7 snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6bb71038 snd_seq_delete_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6c33bd05 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 0x89947013 snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0xa7c7cb95 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0xae0f76bb snd_seq_kernel_client_enqueue_blocking +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xcac0a3be snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x3a57f235 snd_seq_autoload_unlock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x68952c09 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-device 0xcc447acf snd_seq_device_register_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 0x17c15809 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x4ad3f518 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x62384d3a snd_midi_event_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x8a348811 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x9df7af8b snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xc482499d snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xd9072e1a snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe6df29c7 snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0xb87a96cd snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x000a0fd9 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x00e4fe09 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x0e0c0bd2 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0x18e1683f snd_dma_program +EXPORT_SYMBOL sound/core/snd 0x191e88cf snd_dma_pointer +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x200c026f snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x291094de snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x2c8bd551 snd_card_register +EXPORT_SYMBOL sound/core/snd 0x2d9a3099 snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x304a8cc8 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x36a034cd snd_card_free +EXPORT_SYMBOL sound/core/snd 0x3726476c snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3afc05ba snd_cards +EXPORT_SYMBOL sound/core/snd 0x48a7d069 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4a4a42d5 snd_component_add +EXPORT_SYMBOL sound/core/snd 0x4ab22093 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x56423592 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x59c1d825 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x62b1f010 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x644e6db6 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x64b98fa2 snd_device_free +EXPORT_SYMBOL sound/core/snd 0x68fc6a88 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x70fb5c83 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x7fa9256b snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x864d5c1a snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x8955158f snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x92ff0320 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0x93264126 snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0x96c11d23 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x978e8ee7 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x985f20fe snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xb178bb9d snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb588a03c snd_jack_report +EXPORT_SYMBOL sound/core/snd 0xb5d29a61 snd_card_create +EXPORT_SYMBOL sound/core/snd 0xb5f0bff9 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0xb6e0ce24 snd_device_new +EXPORT_SYMBOL sound/core/snd 0xbe00e3d9 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0xc3167520 snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0xce3ca308 copy_from_user_toio +EXPORT_SYMBOL sound/core/snd 0xcf0ebd87 _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0xd1157735 release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0xd99fbe93 snd_device_register +EXPORT_SYMBOL sound/core/snd 0xdbf76bd5 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0xdd729ada snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0xdfcd1c98 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0xe20c9214 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0xea8e8c0f snd_power_wait +EXPORT_SYMBOL sound/core/snd 0xf4294edc snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0xf47ad1f1 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0xf6413317 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd-hwdep 0x7effae05 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x30f5f1e7 snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x3b91f3af snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x489cddf3 snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x6ff6de86 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x8aeef6fe snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0x8c621967 snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xade88e76 snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x06670854 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x093e0e3e snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x0ad39062 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x0b6c20a5 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x0d889e31 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x150221cd snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x1753a3d4 snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0x1b9c9439 snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x249cec77 snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0x2630aa26 snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0x2793f880 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x3067e1db snd_pcm_hw_rule_add +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 0x3c8a0293 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x3cd194fa snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0x41b10afc snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x4d9b6d35 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x5972a7b9 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x643d1e62 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x6481a6e3 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x65c47226 snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x6a4e393a snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x7315e605 snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0x7577ccfb snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x8051c801 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x81523ad1 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x88cc66cc snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0x8d7e0b9c snd_pcm_sgbuf_ops_page +EXPORT_SYMBOL sound/core/snd-pcm 0x8edff727 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x941593f5 snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0x98894ce8 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xb29fb0f2 snd_pcm_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbd1bdbb3 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xbeb817c6 snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xbf1dfa92 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0xc846f277 snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0xc99f2880 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0xd0b9b8b8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0xd69ecf5a snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xe2d54b35 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xed7e168d snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0xeeac46df snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xf4eb50e5 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-rawmidi 0x016de57b snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x18bcc11e snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x297e741f snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3226d390 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x355079d9 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x362dd0a1 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6df70b9c snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x72e57232 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x9a2365a4 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb843d8d1 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc0efe292 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc1aa0a73 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc6114810 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xcd113e7a snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xdfde1b93 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe29c5e68 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe81a633b snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-timer 0x09af7056 snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x0b05793a snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0x188c1221 snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0x355d650c snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x3de41217 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0x40d60be0 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x4f52f14b snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x5680ed4b snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x6f5bde1d snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0xb37cb197 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0xb83a8e88 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0xcbf175f0 snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0xec0318ee snd_timer_global_free +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x0fab6082 snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x4bbb7f27 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc43a3940 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x1f8d1a86 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x24f05408 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x4c6b955a snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x77a2a336 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x79f22a0a snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x8ada7615 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xbf236e9a snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xcfff3f7e snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf874e0a9 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0x5b6219fd snd_opl4_write_memory +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0x608795aa snd_opl4_write +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0x670840bd snd_opl4_read_memory +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0x69771a56 snd_opl4_read +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0x747a8b67 snd_opl4_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x2137abf8 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x2b269885 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x3771ff8e snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x58c1d4bd snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x67aad982 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x99b88ede snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x9f9124b2 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xae55a282 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xcf48dac8 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xd3ea8906 snd_vx_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x182f986e snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x60d94ab4 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x7add7bcc snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x8c521697 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xcdc2dcd8 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xea47bc0f snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x3546a73d snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x8f5b5477 snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xa12f2cc4 snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xa97c35c4 snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xacc3cbf9 snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xfd5739b2 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x1e0d5882 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x6501fd18 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x73e333bc snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xedb473bc snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x186b6e60 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x92fd8113 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x37692cfb snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0xaf5f27a1 snd_tea575x_init +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x15c6fad3 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x6cf6e976 snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xa65fd1f8 snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xb368714f snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xc5971f90 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-i2c 0x05e094d3 snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0x45eab84b snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x8b8abee3 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xa1110062 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0xc0d5786b snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xc5f3a23a snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-tea6330t 0x1ffe577f snd_tea6330t_update_mixer +EXPORT_SYMBOL sound/i2c/snd-tea6330t 0x3c37e576 snd_tea6330t_detect +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0x7414505d snd_es1688_pcm +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0x80c7d3ff snd_es1688_mixer_write +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0x8cac73c3 snd_es1688_create +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0xbca8428c snd_es1688_mixer +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x0275a30d snd_gf1_write_addr +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x099699e2 snd_gf1_mem_alloc +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x0db8db26 snd_gf1_i_look8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x0f4a9758 snd_gf1_poke +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x10741a42 snd_gf1_write16 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x35b0d26c snd_gf1_i_look16 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x35b7c871 snd_gf1_translate_freq +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x36766235 snd_gf1_pcm_new +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x3c3d20bd snd_gf1_mem_free +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x4576022a snd_gf1_mem_xfree +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x45c2ab53 snd_gf1_peek +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x46db8d67 snd_gf1_lvol_to_gvol_raw +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x49b5a90c snd_gf1_write8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x4dc9a33e snd_gf1_mem_lock +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x598c939a snd_gus_dram_write +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x68de4abf snd_gf1_new_mixer +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x6e10426b snd_gf1_alloc_voice +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x78c1fb61 snd_gf1_look16 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x79522204 snd_gf1_dram_addr +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x83be95df snd_gus_initialize +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x896ce4c5 snd_gus_interrupt +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x8fb044df snd_gf1_stop_voice +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x9981ad60 snd_gus_create +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x9e6dbe89 snd_gf1_delay +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xb26abdb7 snd_gus_dram_read +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xb76e115b snd_gf1_rawmidi_new +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xc251f124 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 0xd0c123c6 snd_gus_use_inc +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xdcaf5299 snd_gus_use_dec +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xe7d24326 snd_gf1_look8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xf00456e8 snd_gf1_ctrl_stop +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xfca3f74b snd_gf1_i_write8 +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x00e65490 snd_msnd_pcm +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x050af9b5 snd_msnd_DAPQ +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x07b5dc1c snd_msndmix_new +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x0e096be3 snd_msnd_init_queue +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x183070ef snd_msnd_enable_irq +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x1fda840f snd_msnd_send_dsp_cmd +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x3174edc6 snd_msnd_DARQ +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x63e99a7c snd_msnd_upload_host +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x75026b24 snd_msndmidi_input_read +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x78b89357 snd_msndmix_setup +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x830dd9a9 snd_msndmix_force_recsrc +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x886dca76 snd_msnd_disable_irq +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0xd3d54065 snd_msnd_dsp_halt +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0xf392fedf snd_msnd_send_word +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x10326704 snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x161d6a45 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x4763ac70 snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x56aadc88 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x76ef36a7 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x8377ddad snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x8c959f6e snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xc7c13592 snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xcd60429f snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xd7d4464a snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb16-csp 0xb8c0bc47 snd_sb_csp_new +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x08727b60 snd_sb16dsp_configure +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xaf40d256 snd_sb16dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xc57f5b54 snd_sb16dsp_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xcbf7f056 snd_sb16dsp_get_pcm_ops +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0x2d38f2e7 snd_sb8dsp_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0x52cd47d8 snd_sb8dsp_midi_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0xb270e9a4 snd_sb8dsp_midi +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0xfc61ee38 snd_sb8dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x0921e83b snd_emu8000_update_chorus_mode +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x157bdf4e snd_emu8000_load_reverb_fx +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x39519f56 snd_emu8000_load_chorus_fx +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x475c7ab6 snd_emu8000_update_equalizer +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x7a407e09 snd_emu8000_peek +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x9ff8fae9 snd_emu8000_dma_chan +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xa67a9c8f snd_emu8000_init_fm +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xd4b9effb snd_emu8000_update_reverb_mode +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xd815ee56 snd_emu8000_poke +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xd9788f9c snd_emu8000_poke_dw +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xe7aac569 snd_emu8000_peek_dw +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x155dc3e4 snd_wss_create +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x20188112 snd_wss_get_double +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x31eea749 snd_wss_free +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x3decaf88 snd_wss_mce_down +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x403f914d snd_wss_info_single +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x505177d1 snd_wss_get_single +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x5621a5b2 snd_wss_in +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x633ddd48 snd_wss_info_double +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x6e2b2f92 snd_cs4236_ext_out +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x81c8f08c snd_cs4236_ext_in +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x93b0cbb0 snd_wss_mixer +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xb44faa69 snd_wss_put_single +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xb9a189c2 snd_wss_timer +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xc4065caa snd_wss_put_double +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xd2d057a9 snd_wss_mce_up +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xd5ddcb39 snd_wss_chip_id +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xec283f81 snd_wss_overrange +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xedde91bc snd_wss_get_pcm_ops +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xee5023e5 snd_wss_interrupt +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xf97224fe snd_wss_pcm +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xfffdfe23 snd_wss_out +EXPORT_SYMBOL sound/oss/ad1848 0x2b5d9dae ad1848_detect +EXPORT_SYMBOL sound/oss/ad1848 0x3eabfbe6 ad1848_init +EXPORT_SYMBOL sound/oss/ad1848 0x6169976a attach_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0x9bf1cc62 ad1848_unload +EXPORT_SYMBOL sound/oss/ad1848 0xa3e16c6b probe_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0xb29a9148 unload_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0xc04f6f67 ad1848_control +EXPORT_SYMBOL sound/oss/mpu401 0x5febf284 unload_mpu401 +EXPORT_SYMBOL sound/oss/mpu401 0x61641749 probe_mpu401 +EXPORT_SYMBOL sound/oss/mpu401 0x6d5657bb attach_mpu401 +EXPORT_SYMBOL sound/oss/msnd 0x1186f48f msnd_fifo_read +EXPORT_SYMBOL sound/oss/msnd 0x234f64e0 msnd_register +EXPORT_SYMBOL sound/oss/msnd 0x340a3ddf msnd_init_queue +EXPORT_SYMBOL sound/oss/msnd 0x54230dc1 msnd_fifo_write +EXPORT_SYMBOL sound/oss/msnd 0x5fb94ecb msnd_unregister +EXPORT_SYMBOL sound/oss/msnd 0x6587640b msnd_disable_irq +EXPORT_SYMBOL sound/oss/msnd 0x6601493b msnd_fifo_make_empty +EXPORT_SYMBOL sound/oss/msnd 0x8e3c524b msnd_send_dsp_cmd +EXPORT_SYMBOL sound/oss/msnd 0x9274d677 msnd_fifo_free +EXPORT_SYMBOL sound/oss/msnd 0x95d37486 msnd_upload_host +EXPORT_SYMBOL sound/oss/msnd 0xa1bcc420 msnd_send_word +EXPORT_SYMBOL sound/oss/msnd 0xade99e25 msnd_fifo_alloc +EXPORT_SYMBOL sound/oss/msnd 0xb3520772 msnd_fifo_init +EXPORT_SYMBOL sound/oss/msnd 0xdf0f59eb msnd_fifo_write_io +EXPORT_SYMBOL sound/oss/msnd 0xefdd1843 msnd_enable_irq +EXPORT_SYMBOL sound/oss/msnd 0xf4c4f662 msnd_fifo_read_io +EXPORT_SYMBOL sound/oss/sb_lib 0x42424109 sb_be_quiet +EXPORT_SYMBOL sound/oss/sb_lib 0x450f9aea smw_free +EXPORT_SYMBOL sound/oss/sb_lib 0x74afd69c unload_sbmpu +EXPORT_SYMBOL sound/oss/sb_lib 0x9ab34899 probe_sbmpu +EXPORT_SYMBOL sound/oss/sb_lib 0xc4884969 sb_dsp_unload +EXPORT_SYMBOL sound/oss/sb_lib 0xd8a2731c sb_dsp_detect +EXPORT_SYMBOL sound/oss/sb_lib 0xe3c09d53 sb_dsp_init +EXPORT_SYMBOL sound/oss/sound 0x04c87ec8 compute_finetune +EXPORT_SYMBOL sound/oss/sound 0x06339815 sound_unload_synthdev +EXPORT_SYMBOL sound/oss/sound 0x0f280035 conf_printf +EXPORT_SYMBOL sound/oss/sound 0x17ba231d seq_input_event +EXPORT_SYMBOL sound/oss/sound 0x1b3df3cf sound_alloc_mixerdev +EXPORT_SYMBOL sound/oss/sound 0x1f395686 MIDIbuf_avail +EXPORT_SYMBOL sound/oss/sound 0x2161d5e8 sound_timer_init +EXPORT_SYMBOL sound/oss/sound 0x2aa31695 midi_synth_kill_note +EXPORT_SYMBOL sound/oss/sound 0x33d6960d sound_install_mixer +EXPORT_SYMBOL sound/oss/sound 0x394cb088 sound_free_dma +EXPORT_SYMBOL sound/oss/sound 0x418f5fbe sound_close_dma +EXPORT_SYMBOL sound/oss/sound 0x4cd01bdd num_audiodevs +EXPORT_SYMBOL sound/oss/sound 0x4ff47e9d midi_synth_setup_voice +EXPORT_SYMBOL sound/oss/sound 0x51e354b2 sound_alloc_timerdev +EXPORT_SYMBOL sound/oss/sound 0x56504ca2 midi_synth_reset +EXPORT_SYMBOL sound/oss/sound 0x5d986fc9 note_to_freq +EXPORT_SYMBOL sound/oss/sound 0x5ddc0462 synth_devs +EXPORT_SYMBOL sound/oss/sound 0x7679ee76 seq_copy_to_input +EXPORT_SYMBOL sound/oss/sound 0x7bdf0907 conf_printf2 +EXPORT_SYMBOL sound/oss/sound 0x7c48d21b audio_devs +EXPORT_SYMBOL sound/oss/sound 0x87abb246 sound_install_audiodrv +EXPORT_SYMBOL sound/oss/sound 0x892093e0 midi_synth_controller +EXPORT_SYMBOL sound/oss/sound 0x90bd9714 sequencer_timer +EXPORT_SYMBOL sound/oss/sound 0x987bcf12 DMAbuf_outputintr +EXPORT_SYMBOL sound/oss/sound 0x9a95733f sound_alloc_dma +EXPORT_SYMBOL sound/oss/sound 0x9bdaf24d midi_synth_start_note +EXPORT_SYMBOL sound/oss/sound 0x9d845b18 num_mixers +EXPORT_SYMBOL sound/oss/sound 0xa1d5f04f load_mixer_volumes +EXPORT_SYMBOL sound/oss/sound 0xa1eae7cf num_midis +EXPORT_SYMBOL sound/oss/sound 0xa41ead5f sound_unload_timerdev +EXPORT_SYMBOL sound/oss/sound 0xa51c913b sound_unload_mixerdev +EXPORT_SYMBOL sound/oss/sound 0xa6bb414c sound_unload_mididev +EXPORT_SYMBOL sound/oss/sound 0xa948751e sound_unload_audiodev +EXPORT_SYMBOL sound/oss/sound 0xad45df73 midi_synth_close +EXPORT_SYMBOL sound/oss/sound 0xaef743b2 midi_synth_ioctl +EXPORT_SYMBOL sound/oss/sound 0xb14b22cd midi_synth_hw_control +EXPORT_SYMBOL sound/oss/sound 0xb51587f6 do_midi_msg +EXPORT_SYMBOL sound/oss/sound 0xba413f87 sound_alloc_mididev +EXPORT_SYMBOL sound/oss/sound 0xba7dd041 midi_synth_bender +EXPORT_SYMBOL sound/oss/sound 0xc748d109 sound_alloc_synthdev +EXPORT_SYMBOL sound/oss/sound 0xcab4d5bf midi_synth_load_patch +EXPORT_SYMBOL sound/oss/sound 0xcc4b8797 sound_open_dma +EXPORT_SYMBOL sound/oss/sound 0xd85be938 midi_synth_set_instr +EXPORT_SYMBOL sound/oss/sound 0xda3fdfce midi_devs +EXPORT_SYMBOL sound/oss/sound 0xdb400afa midi_synth_panning +EXPORT_SYMBOL sound/oss/sound 0xe056b71c DMAbuf_start_dma +EXPORT_SYMBOL sound/oss/sound 0xe2675a79 sound_timer_interrupt +EXPORT_SYMBOL sound/oss/sound 0xeb315d99 DMAbuf_inputintr +EXPORT_SYMBOL sound/oss/sound 0xf1ea8a20 midi_synth_aftertouch +EXPORT_SYMBOL sound/oss/sound 0xf499e821 mixer_devs +EXPORT_SYMBOL sound/oss/sound 0xf6b3a2fb midi_synth_open +EXPORT_SYMBOL sound/oss/sound 0xf78f6363 sequencer_init +EXPORT_SYMBOL sound/oss/sound 0xf8a5dd60 sound_timer_devs +EXPORT_SYMBOL sound/oss/sound 0xfa6871be sound_timer_syncinterval +EXPORT_SYMBOL sound/oss/sound 0xfddcbfb3 midi_synth_send_sysex +EXPORT_SYMBOL sound/oss/uart401 0x049cd8b7 uart401intr +EXPORT_SYMBOL sound/oss/uart401 0x65e60397 probe_uart401 +EXPORT_SYMBOL sound/oss/uart401 0xecfdd9c9 unload_uart401 +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x00f1ac7a snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x058966cf snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2d09a267 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x344f73cf snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x3a1af2f5 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x45817b5c snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4f98c81b snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x52e1e7f5 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5c156108 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5eacef9b snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x83f23394 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb87dd21a snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xbd15d28a snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc7987da6 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xce1938b3 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd67d32e3 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xda763ca7 snd_ac97_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x0da1c2b3 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x134ae927 snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x1e124118 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x2b3ea805 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x35b8f5c0 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x409257d1 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x9f8f863a snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xbbc87201 snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xe8aad007 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0xe39e814f snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x1374846c snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x3e057fb6 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xa754c7c1 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x028232bf oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x029ea9be oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x19e502bf oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x226f5c59 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2bf94979 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x37f97d14 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x449bec27 oxygen_pci_suspend +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x705cb1e0 oxygen_pci_resume +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x77b43a6b oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x8d63e039 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa63b4d2f oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb0ebed08 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xbc9c3e3f oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xbe953388 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xcbaa75a8 oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd56626fc oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xef514e06 oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf8ddea90 oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xfabd8ec3 oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xfca09f6c oxygen_write16_masked +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x551ff261 snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x882c80de snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x9b214f38 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xbb871e50 snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xc933e92b snd_trident_free_voice +EXPORT_SYMBOL sound/soc/codecs/snd-soc-uda134x 0xc5e140f3 uda134x_dai +EXPORT_SYMBOL sound/sound_firmware 0x39e3dd23 mod_firmware_load +EXPORT_SYMBOL sound/soundcore 0x0c6d43c9 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x24093d8a sound_class +EXPORT_SYMBOL sound/soundcore 0x39fb8b13 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xbdcf1086 register_sound_special +EXPORT_SYMBOL sound/soundcore 0xbde06982 register_sound_midi +EXPORT_SYMBOL sound/soundcore 0xc0ffe010 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x03d95661 snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x5112c24b snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x5d071c43 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 0x8d588b78 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xbed6dca6 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xe48482f5 snd_emux_register +EXPORT_SYMBOL sound/synth/snd-util-mem 0x3cb8aa4a snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x50188c19 snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x6f10b9f7 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x6fbee29a snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9ebed484 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xbca0ab87 snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0xd7f605c0 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xf1df0594 snd_util_memhdr_free +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x22f0dc12 snd_usb_create_midi_interface +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usb-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x0b307b11 dm_mem_cache_client_destroy +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x3661f592 dm_mem_cache_grow +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x3ce87bc7 dm_mem_cache_free +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x5981a79a dm_mem_cache_shrink +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x7343721d dm_mem_cache_alloc +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x920a7a41 dm_message_parse +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0xf0457e18 dm_mem_cache_client_create +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x61c7367d lirc_get_pdata +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0xcf5c6635 lirc_register_driver +EXPORT_SYMBOL vmlinux 0x00000000 per_cpu__softirq_work_list +EXPORT_SYMBOL vmlinux 0x00311088 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x00519a88 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x00546468 put_io_context +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x00858f06 elevator_exit +EXPORT_SYMBOL vmlinux 0x009d258f _write_lock +EXPORT_SYMBOL vmlinux 0x00ab66b6 skb_over_panic +EXPORT_SYMBOL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL vmlinux 0x00c8ccaf vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x00e8097b csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x00fd47fa generic_readlink +EXPORT_SYMBOL vmlinux 0x00ff6b38 elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x01143d7c fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x01471ea2 kset_unregister +EXPORT_SYMBOL vmlinux 0x0186d073 percpu_counter_set +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x01a4aab6 set_irq_chip_data +EXPORT_SYMBOL vmlinux 0x01a77e20 pci_target_state +EXPORT_SYMBOL vmlinux 0x01c19697 mca_device_status +EXPORT_SYMBOL vmlinux 0x01d19038 acpi_enable_subsystem +EXPORT_SYMBOL vmlinux 0x01e08962 dget_locked +EXPORT_SYMBOL vmlinux 0x01e25c2f tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x0204ba5f sync_blockdev +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x0214460b blk_plug_device +EXPORT_SYMBOL vmlinux 0x021ca87b mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x022da5cd arch_acpi_processor_init_pdc +EXPORT_SYMBOL vmlinux 0x0237b57a arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x0256389f bit_waitqueue +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x02679ffe nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x02701009 simple_transaction_get +EXPORT_SYMBOL vmlinux 0x029444f0 native_read_tsc +EXPORT_SYMBOL vmlinux 0x029ed7b0 inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02aff2f4 acpi_install_gpe_handler +EXPORT_SYMBOL vmlinux 0x02ccfd7f posix_test_lock +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02e6bf78 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x02eab1d1 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x02f692b7 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x0309b8f5 llc_build_and_send_ui_pkt +EXPORT_SYMBOL vmlinux 0x030eb083 tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x03190455 vmap +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x0340d0e1 acpi_pci_osc_control_set +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03ae7fd5 ip_route_output_key +EXPORT_SYMBOL vmlinux 0x03b5445d serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x03b8211b dquot_release_reserved_space +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03d41776 acpi_unlock_battery_dir +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x043140ec jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x04329478 new_inode +EXPORT_SYMBOL vmlinux 0x0438ad4b tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x04667c89 acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x04b8ae2f xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x04c39666 scsi_free_command +EXPORT_SYMBOL vmlinux 0x04d8c750 release_perfctr_nmi +EXPORT_SYMBOL vmlinux 0x04df01d8 journal_stop +EXPORT_SYMBOL vmlinux 0x0512fb51 skb_seq_read +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x05527d29 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x055c3739 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x057a787e wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x057ce975 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x05b597c4 invalidate_inodes +EXPORT_SYMBOL vmlinux 0x06023b8b __blk_run_queue +EXPORT_SYMBOL vmlinux 0x060acefd kernel_accept +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x06398f89 skb_free_datagram +EXPORT_SYMBOL vmlinux 0x064bdf56 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x065cf703 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x065cfa0a sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x0660e0ee invalidate_bdev +EXPORT_SYMBOL vmlinux 0x066cb2a9 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x0675c04d make_EII_client +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x06935920 dentry_unhash +EXPORT_SYMBOL vmlinux 0x06add1fe fb_blank +EXPORT_SYMBOL vmlinux 0x06bf97db nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x06c598ba bh_submit_read +EXPORT_SYMBOL vmlinux 0x06cf0198 netdev_set_master +EXPORT_SYMBOL vmlinux 0x06d41458 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x06d728b1 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x0735a85b tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x073dfa12 generate_resume_trace +EXPORT_SYMBOL vmlinux 0x074ed1e6 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x0758d94a dm_get_device +EXPORT_SYMBOL vmlinux 0x075fabd8 kick_iocb +EXPORT_SYMBOL vmlinux 0x07608604 acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x0799c50a param_set_ulong +EXPORT_SYMBOL vmlinux 0x079f72f3 alloc_netdev_mq +EXPORT_SYMBOL vmlinux 0x07a3dd2c blk_queue_max_sectors +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d50a24 csum_partial +EXPORT_SYMBOL vmlinux 0x07d98454 __bio_clone +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x07ebcd06 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x080bf458 call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x080f6f7d register_sysctl_table +EXPORT_SYMBOL vmlinux 0x081dc68e get_sb_nodev +EXPORT_SYMBOL vmlinux 0x0827c0a7 sock_create_lite +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x0834f7ae blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x083a9117 __register_chrdev +EXPORT_SYMBOL vmlinux 0x083e0623 pcim_iounmap +EXPORT_SYMBOL vmlinux 0x08a400f7 vfs_quota_enable +EXPORT_SYMBOL vmlinux 0x08a71fb3 starget_for_each_device +EXPORT_SYMBOL vmlinux 0x08d51069 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0x08d66a3a warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x08e396c5 kernel_listen +EXPORT_SYMBOL vmlinux 0x08f82a48 nf_ct_attach +EXPORT_SYMBOL vmlinux 0x090f1050 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x09144253 sysctl_string +EXPORT_SYMBOL vmlinux 0x09258e84 km_state_expired +EXPORT_SYMBOL vmlinux 0x0933aae1 efi_enabled +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09e78ee4 unregister_key_type +EXPORT_SYMBOL vmlinux 0x09f76614 mdiobus_alloc +EXPORT_SYMBOL vmlinux 0x0a051e44 sock_wake_async +EXPORT_SYMBOL vmlinux 0x0a082916 input_register_handler +EXPORT_SYMBOL vmlinux 0x0a1e87f9 atomic64_add_negative +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a262892 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a4747ff allocate_resource +EXPORT_SYMBOL vmlinux 0x0a6b4705 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x0a75ef75 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x0aac1dad tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0b06ac53 bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x0b0c2dd5 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b10d8d1 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b4d6cb2 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x0b6a8233 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b946ed5 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x0b9d1d01 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x0b9f4944 register_netdev +EXPORT_SYMBOL vmlinux 0x0bf9b834 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x0c069012 request_key_async +EXPORT_SYMBOL vmlinux 0x0c0b745a blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x0c13a878 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x0c600ea3 fsync_bdev +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c701019 skb_queue_head +EXPORT_SYMBOL vmlinux 0x0c7452dc vfs_mkdir +EXPORT_SYMBOL vmlinux 0x0c83361e simple_dir_operations +EXPORT_SYMBOL vmlinux 0x0c8ba030 put_disk +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0c9482ee dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cbebb5e pnp_stop_dev +EXPORT_SYMBOL vmlinux 0x0cc1fb95 simple_getattr +EXPORT_SYMBOL vmlinux 0x0ce256e9 d_genocide +EXPORT_SYMBOL vmlinux 0x0d05d902 input_get_keycode +EXPORT_SYMBOL vmlinux 0x0d26a76d _write_lock_irq +EXPORT_SYMBOL vmlinux 0x0d32135e rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x0d3dda14 acpi_get_type +EXPORT_SYMBOL vmlinux 0x0d427285 tcp_check_req +EXPORT_SYMBOL vmlinux 0x0d43327b splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x0d4b77b7 gen_pool_add +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d6c963c copy_from_user +EXPORT_SYMBOL vmlinux 0x0d880cb2 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x0d8a53cb filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0da6bbcd d_add_ci +EXPORT_SYMBOL vmlinux 0x0db98384 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x0dc0e91d dm_dirty_log_destroy +EXPORT_SYMBOL vmlinux 0x0ddb634c elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0x0de39fbf sk_receive_skb +EXPORT_SYMBOL vmlinux 0x0e0be358 unregister_con_driver +EXPORT_SYMBOL vmlinux 0x0e1930b4 scsi_allocate_command +EXPORT_SYMBOL vmlinux 0x0e2cde27 proc_dostring +EXPORT_SYMBOL vmlinux 0x0e39aa87 dqput +EXPORT_SYMBOL vmlinux 0x0e411853 ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x0e423fa5 acpi_bus_generate_proc_event +EXPORT_SYMBOL vmlinux 0x0e480a88 input_open_device +EXPORT_SYMBOL vmlinux 0x0e4e5e4c xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x0e52592a panic +EXPORT_SYMBOL vmlinux 0x0e5465af journal_get_create_access +EXPORT_SYMBOL vmlinux 0x0e693ed9 k8_northbridges +EXPORT_SYMBOL vmlinux 0x0e8157ee netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x0e83fea1 del_timer_sync +EXPORT_SYMBOL vmlinux 0x0ea492a7 generic_file_llseek_unlocked +EXPORT_SYMBOL vmlinux 0x0eb2055e xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x0eb205d9 generic_delete_inode +EXPORT_SYMBOL vmlinux 0x0ebc9885 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x0ec64ff1 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x0ecc9826 follow_up +EXPORT_SYMBOL vmlinux 0x0ee6abce nf_hook_slow +EXPORT_SYMBOL vmlinux 0x0f0e68e8 iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0x0f1ef871 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x0f206f84 pci_find_bus +EXPORT_SYMBOL vmlinux 0x0f5ed603 nf_log_packet +EXPORT_SYMBOL vmlinux 0x0f615c56 tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x0fa8244b sk_filter +EXPORT_SYMBOL vmlinux 0x0fc17127 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0x0fc2c54d dev_addr_add +EXPORT_SYMBOL vmlinux 0x0fd00a68 acpi_clear_event +EXPORT_SYMBOL vmlinux 0x0ff2b602 slhc_compress +EXPORT_SYMBOL vmlinux 0x105e2727 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x108e8985 param_get_uint +EXPORT_SYMBOL vmlinux 0x1098c922 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x10a7fb69 nobh_write_end +EXPORT_SYMBOL vmlinux 0x10ad2524 vc_resize +EXPORT_SYMBOL vmlinux 0x10b8424c simple_unlink +EXPORT_SYMBOL vmlinux 0x10e2a642 fddi_change_mtu +EXPORT_SYMBOL vmlinux 0x10e389cb open_by_devnum +EXPORT_SYMBOL vmlinux 0x10e3bb29 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x10ff42a4 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x1129f521 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x116f79f6 mntput_no_expire +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x11a18b14 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x11a2cbcc dm_put_device +EXPORT_SYMBOL vmlinux 0x11a9b40b tty_port_close_end +EXPORT_SYMBOL vmlinux 0x11cca353 pci_get_subsys +EXPORT_SYMBOL vmlinux 0x11d2269b unregister_netdevice +EXPORT_SYMBOL vmlinux 0x11ee6063 slow_work_enqueue +EXPORT_SYMBOL vmlinux 0x120507ac idr_get_new +EXPORT_SYMBOL vmlinux 0x1260c08b xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x126936fd contig_page_data +EXPORT_SYMBOL vmlinux 0x129f88fb ps2_drain +EXPORT_SYMBOL vmlinux 0x12da5bb2 __kmalloc +EXPORT_SYMBOL vmlinux 0x12f10736 udplite_table +EXPORT_SYMBOL vmlinux 0x12f5bbd0 d_alloc_name +EXPORT_SYMBOL vmlinux 0x13082cb2 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x13622820 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x136c2c83 block_write_full_page +EXPORT_SYMBOL vmlinux 0x13718c93 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x1378e714 acpi_video_display_switch_support +EXPORT_SYMBOL vmlinux 0x13bc9509 acpi_lock_battery_dir +EXPORT_SYMBOL vmlinux 0x13d6217d send_sig +EXPORT_SYMBOL vmlinux 0x13e73422 xfrm_init_state +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x1430e6e0 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x14519e97 mdiobus_register +EXPORT_SYMBOL vmlinux 0x14580a4e nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x14778cad proc_dointvec +EXPORT_SYMBOL vmlinux 0x147e004c vfs_fsync +EXPORT_SYMBOL vmlinux 0x14a04e10 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x14af0cf7 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x14bf0022 current_fs_time +EXPORT_SYMBOL vmlinux 0x151d2992 pci_restore_state +EXPORT_SYMBOL vmlinux 0x1546a81c md_unregister_thread +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x1556e323 find_get_page +EXPORT_SYMBOL vmlinux 0x15d9ada5 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x15ef2dd9 kfifo_free +EXPORT_SYMBOL vmlinux 0x15fc643a generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x160ea4c8 sfi_disabled +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x16311892 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x1635d608 iput +EXPORT_SYMBOL vmlinux 0x16376f86 misc_register +EXPORT_SYMBOL vmlinux 0x163c5e39 twl4030_i2c_read +EXPORT_SYMBOL vmlinux 0x1666466a flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x167cd4ce dma_set_mask +EXPORT_SYMBOL vmlinux 0x167e7f9d __get_user_1 +EXPORT_SYMBOL vmlinux 0x16a52302 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x16cafbff deactivate_super +EXPORT_SYMBOL vmlinux 0x16e39a42 netdev_features_change +EXPORT_SYMBOL vmlinux 0x16ee33a5 simple_fsync +EXPORT_SYMBOL vmlinux 0x170c25ee acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x1717a79c alloc_file +EXPORT_SYMBOL vmlinux 0x171ccea6 pnpbios_protocol +EXPORT_SYMBOL vmlinux 0x17375a3e input_close_device +EXPORT_SYMBOL vmlinux 0x175f625c i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x176a5740 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x1780bcab seq_puts +EXPORT_SYMBOL vmlinux 0x17afd432 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x17b53f96 vfs_quota_sync +EXPORT_SYMBOL vmlinux 0x17b99486 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x17c9f677 kernel_getsockname +EXPORT_SYMBOL vmlinux 0x17d512ee netif_napi_del +EXPORT_SYMBOL vmlinux 0x17dee287 tty_port_init +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17e2915f blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x17f2151f cfb_fillrect +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x181b6ff2 mempool_resize +EXPORT_SYMBOL vmlinux 0x181de7ab journal_init_dev +EXPORT_SYMBOL vmlinux 0x1828341c inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x1845e7c5 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL vmlinux 0x184ec5d2 vfs_write +EXPORT_SYMBOL vmlinux 0x185c4e1c pnp_register_driver +EXPORT_SYMBOL vmlinux 0x187c800a netif_rx +EXPORT_SYMBOL vmlinux 0x187fea42 acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0x18926509 netif_receive_skb +EXPORT_SYMBOL vmlinux 0x18b44ebf bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x18e2bd55 insert_inode_locked +EXPORT_SYMBOL vmlinux 0x19011144 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x19056b80 per_cpu__current_task +EXPORT_SYMBOL vmlinux 0x195a42b3 loop_register_transfer +EXPORT_SYMBOL vmlinux 0x195e7d1b check_disk_size_change +EXPORT_SYMBOL vmlinux 0x196a1134 acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0x19728a8b bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x1976bc16 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x1985ed3c prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x19908542 bio_copy_kern +EXPORT_SYMBOL vmlinux 0x199afd80 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x199f619e request_firmware +EXPORT_SYMBOL vmlinux 0x19a2cbbc tty_unthrottle +EXPORT_SYMBOL vmlinux 0x19d5d20a acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0x19fbc50d get_unmapped_area_prot +EXPORT_SYMBOL vmlinux 0x1a1ae86e dm_register_target +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a75caa3 _read_lock +EXPORT_SYMBOL vmlinux 0x1a8a845e idle_nomwait +EXPORT_SYMBOL vmlinux 0x1ab1340b xfrm_register_km +EXPORT_SYMBOL vmlinux 0x1aca90ba set_groups +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1aef4c0d jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x1af1b05d backlight_device_register +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b1689f2 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x1b18dac9 inet_frags_init +EXPORT_SYMBOL vmlinux 0x1b1b9f3b dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x1b40ce3f journal_release_buffer +EXPORT_SYMBOL vmlinux 0x1b500e06 ip_dev_find +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b88d883 skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x1b89419f add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b9981cc set_irq_wake +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1ba85239 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x1bab32ca tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x1bc4aeea register_cdrom +EXPORT_SYMBOL vmlinux 0x1bc9051a kunmap_high +EXPORT_SYMBOL vmlinux 0x1bdf4684 dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0x1c0cbdb6 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x1c1af916 set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x1c5dc9b9 __blk_end_request_all +EXPORT_SYMBOL vmlinux 0x1c8a04b0 acpi_reset +EXPORT_SYMBOL vmlinux 0x1c94280e __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x1caffb4d clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x1cb097cd __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x1cb22739 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x1cb79055 __pci_register_driver +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1ce7ec4c rwsem_wake +EXPORT_SYMBOL vmlinux 0x1cefe352 wait_for_completion +EXPORT_SYMBOL vmlinux 0x1ceffff8 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x1cfa47ce tty_kref_put +EXPORT_SYMBOL vmlinux 0x1d0f5561 dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x1d2e87c6 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x1d7260bc register_qdisc +EXPORT_SYMBOL vmlinux 0x1d746641 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x1dada15d pci_dev_driver +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dcffa4f inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1dee4990 dev_add_pack +EXPORT_SYMBOL vmlinux 0x1dff3f2c inet_csk_accept +EXPORT_SYMBOL vmlinux 0x1e4e29b1 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x1e4eb11a napi_frags_finish +EXPORT_SYMBOL vmlinux 0x1e6387b8 set_device_ro +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e790b14 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x1e7da043 block_write_begin +EXPORT_SYMBOL vmlinux 0x1ea9b2cb llc_set_station_handler +EXPORT_SYMBOL vmlinux 0x1ecb9943 posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x1edc1e4a dput +EXPORT_SYMBOL vmlinux 0x1edcd65c find_inode_number +EXPORT_SYMBOL vmlinux 0x1ef08f00 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x1efcde06 blk_requeue_request +EXPORT_SYMBOL vmlinux 0x1efe283f __cap_full_set +EXPORT_SYMBOL vmlinux 0x1f210bf8 block_truncate_page +EXPORT_SYMBOL vmlinux 0x1f305993 kobject_set_name +EXPORT_SYMBOL vmlinux 0x1f495b9b neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x1f66ea29 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x1f69573a kset_register +EXPORT_SYMBOL vmlinux 0x1f80a973 write_inode_now +EXPORT_SYMBOL vmlinux 0x1f9d2b69 input_grab_device +EXPORT_SYMBOL vmlinux 0x1fb9bfad __nla_reserve +EXPORT_SYMBOL vmlinux 0x1fe2d893 tcf_em_register +EXPORT_SYMBOL vmlinux 0x1feb6553 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x1ff69dd8 vfs_fstatat +EXPORT_SYMBOL vmlinux 0x1fff307c pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x2005e68a acpi_remove_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x20385c58 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x203ab9bb __bforget +EXPORT_SYMBOL vmlinux 0x204e72b5 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x20592713 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x20750ce9 unregister_nls +EXPORT_SYMBOL vmlinux 0x2075a81d mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0x208739f6 acpi_load_table +EXPORT_SYMBOL vmlinux 0x20a3f3d4 simple_transaction_release +EXPORT_SYMBOL vmlinux 0x20b0b0d7 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x20cbb958 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x20fa4436 clear_inode +EXPORT_SYMBOL vmlinux 0x210514ae serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x2121cd66 netlink_broadcast +EXPORT_SYMBOL vmlinux 0x2127373f bdi_register_dev +EXPORT_SYMBOL vmlinux 0x212ba11e get_write_access +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x2160586d __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x2173f299 override_creds +EXPORT_SYMBOL vmlinux 0x217cc013 default_llseek +EXPORT_SYMBOL vmlinux 0x21990731 __ht_create_irq +EXPORT_SYMBOL vmlinux 0x219dc050 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x21d50a51 tcf_hash_release +EXPORT_SYMBOL vmlinux 0x21e0ea22 acpi_get_id +EXPORT_SYMBOL vmlinux 0x220ea3ea mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x2245e563 input_set_capability +EXPORT_SYMBOL vmlinux 0x226e86a9 audit_log +EXPORT_SYMBOL vmlinux 0x22737f92 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x2288378f system_state +EXPORT_SYMBOL vmlinux 0x22904475 submit_bio +EXPORT_SYMBOL vmlinux 0x229f21c4 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x22a73912 __tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22b6533b xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x22b75002 genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0x22da43f4 notify_change +EXPORT_SYMBOL vmlinux 0x231c4a5f __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x23269a13 strict_strtoul +EXPORT_SYMBOL vmlinux 0x234c3d3d install_exec_creds +EXPORT_SYMBOL vmlinux 0x2359fefd have_submounts +EXPORT_SYMBOL vmlinux 0x2398d01b keyring_search +EXPORT_SYMBOL vmlinux 0x23b511b5 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x23b744dc sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x23c76c9f qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x23c8f257 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x23dc5d00 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x23f1d07d blk_fetch_request +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x24068d97 locks_copy_lock +EXPORT_SYMBOL vmlinux 0x240ee02c mca_device_read_pos +EXPORT_SYMBOL vmlinux 0x240f9bb5 blk_init_queue +EXPORT_SYMBOL vmlinux 0x242d1cd3 slow_work_register_user +EXPORT_SYMBOL vmlinux 0x2435f27f task_nice +EXPORT_SYMBOL vmlinux 0x243ffddc idr_destroy +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x245e754a bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x24624544 ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x2476142f inet_bind +EXPORT_SYMBOL vmlinux 0x24a79b53 single_release +EXPORT_SYMBOL vmlinux 0x24e4bb01 down_write_trylock +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x250113b4 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x252137e6 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x2522b91c tcp_poll +EXPORT_SYMBOL vmlinux 0x25394db1 __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x257da7c7 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258355b4 fb_find_best_mode +EXPORT_SYMBOL vmlinux 0x2597f10a pnp_possible_config +EXPORT_SYMBOL vmlinux 0x25a3cdb2 pci_set_consistent_dma_mask +EXPORT_SYMBOL vmlinux 0x25b61768 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x25d3e2a3 atomic64_dec_return +EXPORT_SYMBOL vmlinux 0x2656dfbf jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x267827a5 devm_ioport_map +EXPORT_SYMBOL vmlinux 0x267fc65b __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x2686dc9a pci_enable_msix +EXPORT_SYMBOL vmlinux 0x268cc6a2 sys_close +EXPORT_SYMBOL vmlinux 0x26bb9fb3 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x26e8fcb6 vfs_quota_on_mount +EXPORT_SYMBOL vmlinux 0x26fe3f88 mmc_power_save_host +EXPORT_SYMBOL vmlinux 0x2701b940 generic_make_request +EXPORT_SYMBOL vmlinux 0x27059102 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x271ddfca journal_create +EXPORT_SYMBOL vmlinux 0x2721f66b journal_extend +EXPORT_SYMBOL vmlinux 0x2727da5d _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x272d394e mtrr_del +EXPORT_SYMBOL vmlinux 0x273a44cf xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27b35c51 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c61ece qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x27d33a3c __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x27f4940e get_super +EXPORT_SYMBOL vmlinux 0x282fb555 nf_afinfo +EXPORT_SYMBOL vmlinux 0x283e0d73 __destroy_inode +EXPORT_SYMBOL vmlinux 0x284573d1 d_move +EXPORT_SYMBOL vmlinux 0x285ac517 strict_strtoll +EXPORT_SYMBOL vmlinux 0x285bc526 get_phy_id +EXPORT_SYMBOL vmlinux 0x285f7e51 hippi_change_mtu +EXPORT_SYMBOL vmlinux 0x2869c447 qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x289a09ba bd_set_size +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28a3c479 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x28b715a6 isapnp_cfg_end +EXPORT_SYMBOL vmlinux 0x28e1144f simple_rename +EXPORT_SYMBOL vmlinux 0x29093269 tty_free_termios +EXPORT_SYMBOL vmlinux 0x292093f4 native_rdmsr_safe_regs +EXPORT_SYMBOL vmlinux 0x2939c886 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x293d385d qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x29b1c366 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x29b1e6e2 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x29b92322 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x29bd4c46 __cap_init_eff_set +EXPORT_SYMBOL vmlinux 0x29c7346f dev_mc_delete +EXPORT_SYMBOL vmlinux 0x29d85c0e jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x29daa33b pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a9bdab0 generic_write_end +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2aeb2800 mempool_create_node +EXPORT_SYMBOL vmlinux 0x2af3156a mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b44dca3 dm_table_put +EXPORT_SYMBOL vmlinux 0x2b4d4796 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0x2b5999f8 dev_getbyhwaddr +EXPORT_SYMBOL vmlinux 0x2b6d9fe9 ipv4_specific +EXPORT_SYMBOL vmlinux 0x2b7b2ed1 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bb55d6e acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x2bb6fde2 __kfifo_put +EXPORT_SYMBOL vmlinux 0x2bc95bd4 memset +EXPORT_SYMBOL vmlinux 0x2be0b3b9 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x2be8dcd8 mca_register_driver_integrated +EXPORT_SYMBOL vmlinux 0x2bf74902 lookup_one_len +EXPORT_SYMBOL vmlinux 0x2bfeb410 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x2c04ae7a phy_attach +EXPORT_SYMBOL vmlinux 0x2c12c816 set_page_dirty +EXPORT_SYMBOL vmlinux 0x2c1d9d29 fifo_set_limit +EXPORT_SYMBOL vmlinux 0x2c1f3d7a log_wait_commit +EXPORT_SYMBOL vmlinux 0x2c23877f tcp_v4_remember_stamp +EXPORT_SYMBOL vmlinux 0x2c4301f4 dma_sync_wait +EXPORT_SYMBOL vmlinux 0x2c5749e6 acpi_clear_gpe +EXPORT_SYMBOL vmlinux 0x2c81dede dm_io +EXPORT_SYMBOL vmlinux 0x2c8f5989 acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0x2c9874fe ida_remove +EXPORT_SYMBOL vmlinux 0x2caa318f hippi_type_trans +EXPORT_SYMBOL vmlinux 0x2cad9300 sock_no_getname +EXPORT_SYMBOL vmlinux 0x2cb06027 writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x2ccf71ea seq_open +EXPORT_SYMBOL vmlinux 0x2cf23c81 netpoll_poll +EXPORT_SYMBOL vmlinux 0x2d05223a x86_dma_fallback_dev +EXPORT_SYMBOL vmlinux 0x2d241a74 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x2d37342e cpu_online_mask +EXPORT_SYMBOL vmlinux 0x2d7dd282 tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2d89c2b4 vfs_follow_link +EXPORT_SYMBOL vmlinux 0x2d8ecbf8 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x2da1d11e simple_pin_fs +EXPORT_SYMBOL vmlinux 0x2dbd9ee8 tty_name +EXPORT_SYMBOL vmlinux 0x2dcb0123 schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x2dd16564 arch_register_cpu +EXPORT_SYMBOL vmlinux 0x2dedc4c2 acpi_format_exception +EXPORT_SYMBOL vmlinux 0x2def7f76 rtc_cmos_write +EXPORT_SYMBOL vmlinux 0x2df91661 input_filter_device +EXPORT_SYMBOL vmlinux 0x2e1a3753 inet_getname +EXPORT_SYMBOL vmlinux 0x2e1e96ee i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x2e2a9e65 thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e3df06d pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x2e41fc31 simple_sync_file +EXPORT_SYMBOL vmlinux 0x2e4a39f8 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x2e60bace memcpy +EXPORT_SYMBOL vmlinux 0x2e6dbd64 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x2e83a427 napi_get_frags +EXPORT_SYMBOL vmlinux 0x2eb9a0e8 _read_lock_irq +EXPORT_SYMBOL vmlinux 0x2ebb4ba7 mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0x2edb35f3 vfs_readlink +EXPORT_SYMBOL vmlinux 0x2efe5e09 atomic64_xchg +EXPORT_SYMBOL vmlinux 0x2f0346f7 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x2f27597c scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x2f287f0d copy_to_user +EXPORT_SYMBOL vmlinux 0x2f850bd3 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0x2f89b7c8 rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0x2fb733a5 uart_match_port +EXPORT_SYMBOL vmlinux 0x2fd33d69 vfs_symlink +EXPORT_SYMBOL vmlinux 0x2fd6a68d udplite_prot +EXPORT_SYMBOL vmlinux 0x2ff24549 journal_clear_err +EXPORT_SYMBOL vmlinux 0x30065096 phy_start_aneg +EXPORT_SYMBOL vmlinux 0x30123eb5 icmpv6_statistics +EXPORT_SYMBOL vmlinux 0x302cf423 skb_insert +EXPORT_SYMBOL vmlinux 0x302fe6e1 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x304841af hippi_neigh_setup_dev +EXPORT_SYMBOL vmlinux 0x305ff19c sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL vmlinux 0x30c22f83 llc_add_pack +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x310917fe sort +EXPORT_SYMBOL vmlinux 0x31121fe1 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x311782eb elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x31206d94 d_instantiate +EXPORT_SYMBOL vmlinux 0x312d17dc ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3146f5a0 d_alloc_root +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x317b9193 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x3191f109 __krealloc +EXPORT_SYMBOL vmlinux 0x31a68cd2 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x31acf506 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x31aece16 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x31c2fb6f get_sb_pseudo +EXPORT_SYMBOL vmlinux 0x31c5b821 replace_mount_options +EXPORT_SYMBOL vmlinux 0x31e76b57 recalibrate_cpu_khz +EXPORT_SYMBOL vmlinux 0x31ebece8 tty_throttle +EXPORT_SYMBOL vmlinux 0x32080822 set_trace_device +EXPORT_SYMBOL vmlinux 0x32192b0e seq_release +EXPORT_SYMBOL vmlinux 0x324209b3 tcf_exts_change +EXPORT_SYMBOL vmlinux 0x32612215 dm_io_client_create +EXPORT_SYMBOL vmlinux 0x32698dbf sg_miter_next +EXPORT_SYMBOL vmlinux 0x326bbde6 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x326df9e1 vfs_stat +EXPORT_SYMBOL vmlinux 0x3270c570 open_exec +EXPORT_SYMBOL vmlinux 0x3285cc48 param_set_uint +EXPORT_SYMBOL vmlinux 0x32962ef2 cont_write_begin +EXPORT_SYMBOL vmlinux 0x3297ed67 block_sync_page +EXPORT_SYMBOL vmlinux 0x32a614e8 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x32ad706a blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x32f23e0c rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x330589f6 pci_disable_device +EXPORT_SYMBOL vmlinux 0x33254936 audit_log_end +EXPORT_SYMBOL vmlinux 0x332b28eb dev_driver_string +EXPORT_SYMBOL vmlinux 0x33373e86 acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0x3349b760 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x3389de9f dcache_readdir +EXPORT_SYMBOL vmlinux 0x3391c144 do_munmap +EXPORT_SYMBOL vmlinux 0x33b7a319 scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0x33d92f9a prepare_to_wait +EXPORT_SYMBOL vmlinux 0x33dd52ed uart_get_divisor +EXPORT_SYMBOL vmlinux 0x33f55028 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x342f60fe apm_info +EXPORT_SYMBOL vmlinux 0x344c80c4 slow_work_sleep_till_thread_needed +EXPORT_SYMBOL vmlinux 0x344cb544 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x3457cb68 param_set_long +EXPORT_SYMBOL vmlinux 0x34593f73 nf_log_register +EXPORT_SYMBOL vmlinux 0x3484aa26 inet_stream_ops +EXPORT_SYMBOL vmlinux 0x34872ddd __seq_open_private +EXPORT_SYMBOL vmlinux 0x3487a894 dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x34896788 __devm_release_region +EXPORT_SYMBOL vmlinux 0x348ac691 clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x348e07c7 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x34908c14 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x3495b164 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x34976784 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a6af86 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x34aefaac vfs_quota_off +EXPORT_SYMBOL vmlinux 0x34c59b18 inet_release +EXPORT_SYMBOL vmlinux 0x34f71008 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x350f27fe blk_run_queue +EXPORT_SYMBOL vmlinux 0x3510de7a xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x3548ed59 sock_map_fd +EXPORT_SYMBOL vmlinux 0x355cbd57 blk_start_queue +EXPORT_SYMBOL vmlinux 0x357b2289 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0x359e168d kill_anon_super +EXPORT_SYMBOL vmlinux 0x35b1de1f lro_receive_skb +EXPORT_SYMBOL vmlinux 0x35c27bf5 bdev_read_only +EXPORT_SYMBOL vmlinux 0x35c2ba9e refrigerator +EXPORT_SYMBOL vmlinux 0x35c2c077 da903x_query_status +EXPORT_SYMBOL vmlinux 0x35c7a441 seq_write +EXPORT_SYMBOL vmlinux 0x35cd2978 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x35da2e61 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x35da5e3e dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x35e722de journal_ack_err +EXPORT_SYMBOL vmlinux 0x35f0faa2 acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0x35fc61dd pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0x36024ddf dma_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x3656bf5a lock_kernel +EXPORT_SYMBOL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL vmlinux 0x369adcfa pci_bus_type +EXPORT_SYMBOL vmlinux 0x36b62dbb jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x36c578c5 tty_write_room +EXPORT_SYMBOL vmlinux 0x36e2fd84 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x36e5ac5c blk_end_request_all +EXPORT_SYMBOL vmlinux 0x36ed9fd3 phy_disable_interrupts +EXPORT_SYMBOL vmlinux 0x36fd351d dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x36fe81ca __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x3711c4c1 ht_create_irq +EXPORT_SYMBOL vmlinux 0x37361506 audit_log_format +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x374ed073 scnprintf +EXPORT_SYMBOL vmlinux 0x379d65f5 gen_pool_alloc +EXPORT_SYMBOL vmlinux 0x37b5de1e ethtool_op_get_rx_csum +EXPORT_SYMBOL vmlinux 0x37be2d35 bio_integrity_split +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37c3c255 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37de0766 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x37e74642 get_jiffies_64 +EXPORT_SYMBOL vmlinux 0x37f0935a inode_needs_sync +EXPORT_SYMBOL vmlinux 0x37fe3e32 open_bdev_exclusive +EXPORT_SYMBOL vmlinux 0x380ef00f block_fsync +EXPORT_SYMBOL vmlinux 0x380f97ae ndisc_send_skb +EXPORT_SYMBOL vmlinux 0x3812c6b4 blk_sync_queue +EXPORT_SYMBOL vmlinux 0x381c4bb1 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x382f028c __kfree_skb +EXPORT_SYMBOL vmlinux 0x3831d008 bio_pair_release +EXPORT_SYMBOL vmlinux 0x38458d92 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x38693174 sock_setsockopt +EXPORT_SYMBOL vmlinux 0x3876471d neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x387f02e2 user_revoke +EXPORT_SYMBOL vmlinux 0x388799f6 unregister_kmmio_probe +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x389de6d4 brioctl_set +EXPORT_SYMBOL vmlinux 0x38b92846 llc_remove_pack +EXPORT_SYMBOL vmlinux 0x38cab31c init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x38de505e bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x38ef542b phy_device_create +EXPORT_SYMBOL vmlinux 0x3923dee9 dev_load +EXPORT_SYMBOL vmlinux 0x3930a473 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x394ffe66 tty_port_hangup +EXPORT_SYMBOL vmlinux 0x395cedbb jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x39d91d16 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x39e60f4d __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x3a108ddd security_path_truncate +EXPORT_SYMBOL vmlinux 0x3a2204c6 security_netlink_recv +EXPORT_SYMBOL vmlinux 0x3a3f3094 elv_add_request +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3aa1dbcf _spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x3abb5ed5 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0x3ac095a7 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x3ad73532 proc_symlink +EXPORT_SYMBOL vmlinux 0x3adc15b9 posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x3ae831b6 kref_init +EXPORT_SYMBOL vmlinux 0x3af98f9e ioremap_nocache +EXPORT_SYMBOL vmlinux 0x3b1f61ba tcf_hash_create +EXPORT_SYMBOL vmlinux 0x3b216900 bmap +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b51bfcd km_report +EXPORT_SYMBOL vmlinux 0x3b74a7e3 skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0x3b815ec9 dma_find_channel +EXPORT_SYMBOL vmlinux 0x3b9adeb7 dm_dirty_log_type_register +EXPORT_SYMBOL vmlinux 0x3bb78130 set_current_groups +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bdc7034 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x3c2c5af5 sprintf +EXPORT_SYMBOL vmlinux 0x3c44a6c6 phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0x3c4cde55 i2c_use_client +EXPORT_SYMBOL vmlinux 0x3c631b75 netif_rx_ni +EXPORT_SYMBOL vmlinux 0x3c7227bf complete_all +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3cc0a3bb xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x3ccf2d53 ethtool_op_get_flags +EXPORT_SYMBOL vmlinux 0x3cd05676 qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0x3cd3b4fc nonseekable_open +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3ceec1cb kmem_cache_free +EXPORT_SYMBOL vmlinux 0x3d355c3b pci_get_bus_and_slot +EXPORT_SYMBOL vmlinux 0x3d478222 __blk_end_request +EXPORT_SYMBOL vmlinux 0x3d5f7d21 simple_link +EXPORT_SYMBOL vmlinux 0x3d68bd4b flow_cache_genid +EXPORT_SYMBOL vmlinux 0x3d6f894e bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x3d7c1ed7 msrs_alloc +EXPORT_SYMBOL vmlinux 0x3d7f75af scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x3d954c72 registered_fb +EXPORT_SYMBOL vmlinux 0x3d9995af devm_free_irq +EXPORT_SYMBOL vmlinux 0x3da171f9 pci_mem_start +EXPORT_SYMBOL vmlinux 0x3da5eb6d kfifo_alloc +EXPORT_SYMBOL vmlinux 0x3daa69da vfs_lstat +EXPORT_SYMBOL vmlinux 0x3dbb1da5 locks_init_lock +EXPORT_SYMBOL vmlinux 0x3dd94fe6 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x3e1f073d wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x3e219de6 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x3e27e7b6 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x3e2ae3a8 acpi_release_global_lock +EXPORT_SYMBOL vmlinux 0x3e383385 nf_hooks +EXPORT_SYMBOL vmlinux 0x3e3f7c8d sock_kmalloc +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e75a8b1 skb_push +EXPORT_SYMBOL vmlinux 0x3e8750da follow_pfn +EXPORT_SYMBOL vmlinux 0x3e899c9d blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x3ec1d14e tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0x3ed105f4 key_alloc +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f0f60ed genphy_config_advert +EXPORT_SYMBOL vmlinux 0x3f1899f1 up +EXPORT_SYMBOL vmlinux 0x3f21066f i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x3f3d20da kunmap +EXPORT_SYMBOL vmlinux 0x3f43a887 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f9f6eb6 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x3faa34f6 wireless_spy_update +EXPORT_SYMBOL vmlinux 0x3fb0ba55 input_free_device +EXPORT_SYMBOL vmlinux 0x3fbf2791 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x3fc47858 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x3fd77da7 unlock_page +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x40144de3 __register_binfmt +EXPORT_SYMBOL vmlinux 0x4024e9a6 __lookup_one_len +EXPORT_SYMBOL vmlinux 0x404d773c thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x4060d6e7 do_sync_read +EXPORT_SYMBOL vmlinux 0x4063920f ethtool_op_set_tx_ipv6_csum +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 0x40c89d46 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0x40c9efc1 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x4101bbde param_set_copystring +EXPORT_SYMBOL vmlinux 0x4108e69a fb_match_mode +EXPORT_SYMBOL vmlinux 0x41166725 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x4132e386 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x41344088 param_get_charp +EXPORT_SYMBOL vmlinux 0x4146db0f neigh_table_clear +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x414cc80c cmpxchg8b_emu +EXPORT_SYMBOL vmlinux 0x415f44ed call_usermodehelper_stdinpipe +EXPORT_SYMBOL vmlinux 0x416983d9 netdev_fix_features +EXPORT_SYMBOL vmlinux 0x4185cf4b radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41a3990f xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x41a4a70b tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x41a9c68d _spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x41b113a3 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x41b8f450 serial8250_register_port +EXPORT_SYMBOL vmlinux 0x41c33c95 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x41cf78e7 dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x41d21a19 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x41d63cab i2c_register_driver +EXPORT_SYMBOL vmlinux 0x420532de inode_set_bytes +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x42139ef1 seq_printf +EXPORT_SYMBOL vmlinux 0x42224298 sscanf +EXPORT_SYMBOL vmlinux 0x422ac0a1 lro_receive_frags +EXPORT_SYMBOL vmlinux 0x42361405 bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x424cc81f elv_queue_empty +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x4292364c schedule +EXPORT_SYMBOL vmlinux 0x42bb1597 genphy_resume +EXPORT_SYMBOL vmlinux 0x42cedc2f dquot_scan_active +EXPORT_SYMBOL vmlinux 0x42cfe26c journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x42e44418 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x430649c0 simple_transaction_set +EXPORT_SYMBOL vmlinux 0x4309412a xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x4309a4e4 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x431a1414 phy_stop +EXPORT_SYMBOL vmlinux 0x43320e06 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0x4333eadb param_set_short +EXPORT_SYMBOL vmlinux 0x43385ad9 acpi_pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x434fa55c release_console_sem +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x4385be3b gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x43ab66c3 param_array_get +EXPORT_SYMBOL vmlinux 0x43f27cb9 security_path_unlink +EXPORT_SYMBOL vmlinux 0x44161c19 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x441a36a7 fput +EXPORT_SYMBOL vmlinux 0x44262259 update_region +EXPORT_SYMBOL vmlinux 0x44314efb radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x444779c4 nla_find +EXPORT_SYMBOL vmlinux 0x4458feb8 get_sb_bdev +EXPORT_SYMBOL vmlinux 0x44774b03 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x447a9d07 serio_close +EXPORT_SYMBOL vmlinux 0x44812a25 md_done_sync +EXPORT_SYMBOL vmlinux 0x44a0d820 eth_type_trans +EXPORT_SYMBOL vmlinux 0x44aaf30f tsc_khz +EXPORT_SYMBOL vmlinux 0x44b2978e blkdev_put +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44c2ddae skb_append +EXPORT_SYMBOL vmlinux 0x44c782cb inet_sendmsg +EXPORT_SYMBOL vmlinux 0x44cc6cb7 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44edc0a1 dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x44f1b986 xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0x44f21bea idr_for_each +EXPORT_SYMBOL vmlinux 0x450f2b13 d_invalidate +EXPORT_SYMBOL vmlinux 0x451cd099 scsi_put_command +EXPORT_SYMBOL vmlinux 0x4521273a module_put +EXPORT_SYMBOL vmlinux 0x453448b3 dquot_release +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x45450063 mod_timer +EXPORT_SYMBOL vmlinux 0x4550ba8a register_cpu_notifier +EXPORT_SYMBOL vmlinux 0x4575315d utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x457a64a7 mpage_readpages +EXPORT_SYMBOL vmlinux 0x457f40f6 set_binfmt +EXPORT_SYMBOL vmlinux 0x45947727 param_array_set +EXPORT_SYMBOL vmlinux 0x459d24e2 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x45adeddc kernel_sendpage +EXPORT_SYMBOL vmlinux 0x45b00743 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x45b2ce46 vfs_set_dqinfo +EXPORT_SYMBOL vmlinux 0x45d11c43 down_interruptible +EXPORT_SYMBOL vmlinux 0x45d55543 down_write +EXPORT_SYMBOL vmlinux 0x45f7c929 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x46008ef9 otg_put_transceiver +EXPORT_SYMBOL vmlinux 0x46085e4f add_timer +EXPORT_SYMBOL vmlinux 0x460f3158 bdi_unregister +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x467914d9 input_register_device +EXPORT_SYMBOL vmlinux 0x467dd42c sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x46ce17f6 iget_locked +EXPORT_SYMBOL vmlinux 0x470fb815 mutex_trylock +EXPORT_SYMBOL vmlinux 0x472d2a9a radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x473cbac4 netdev_state_change +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x475f010b acpi_purge_cached_objects +EXPORT_SYMBOL vmlinux 0x47785524 nf_getsockopt +EXPORT_SYMBOL vmlinux 0x47786069 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x478d10b2 ht_destroy_irq +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47a4f995 fb_pan_display +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x481cb9ab acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x4849f684 ip_defrag +EXPORT_SYMBOL vmlinux 0x48588d77 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486b6407 hweight64 +EXPORT_SYMBOL vmlinux 0x4877dbe4 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x487bf497 journal_start_commit +EXPORT_SYMBOL vmlinux 0x48816857 tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x48829792 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x489badea blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x48a1a7b8 napi_complete +EXPORT_SYMBOL vmlinux 0x48a226b5 key_put +EXPORT_SYMBOL vmlinux 0x48c8ae87 netlink_set_err +EXPORT_SYMBOL vmlinux 0x48d9e09e kobject_init +EXPORT_SYMBOL vmlinux 0x48f98a8a arp_tbl +EXPORT_SYMBOL vmlinux 0x49363374 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x49439411 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x494e3393 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x497afe44 scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0x49a348f3 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x49da9a9a _read_unlock_bh +EXPORT_SYMBOL vmlinux 0x49e182c0 param_get_string +EXPORT_SYMBOL vmlinux 0x4a26b03f revert_creds +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a7bdf89 acpi_device_hid +EXPORT_SYMBOL vmlinux 0x4a88b727 __locks_copy_lock +EXPORT_SYMBOL vmlinux 0x4a971ec7 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x4aeb1c8f tcp_read_sock +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b07e779 _spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x4b254e9b bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x4b34fbf5 block_all_signals +EXPORT_SYMBOL vmlinux 0x4b359cb7 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x4b475e84 free_buffer_head +EXPORT_SYMBOL vmlinux 0x4b47f83f i2c_clients_command +EXPORT_SYMBOL vmlinux 0x4b4ea8fd phy_enable_interrupts +EXPORT_SYMBOL vmlinux 0x4b8d21ee tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x4ba0bbb8 block_invalidatepage +EXPORT_SYMBOL vmlinux 0x4ba990e1 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x4bbc3e5f pm_flags +EXPORT_SYMBOL vmlinux 0x4bfee15a atomic64_set +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c1b965c gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x4c232f09 set_user_nice +EXPORT_SYMBOL vmlinux 0x4c742c7a init_buffer +EXPORT_SYMBOL vmlinux 0x4c7433be inet_stream_connect +EXPORT_SYMBOL vmlinux 0x4c7945c1 napi_frags_skb +EXPORT_SYMBOL vmlinux 0x4ca7863c xfrm_bundle_ok +EXPORT_SYMBOL vmlinux 0x4cb34550 fb_show_logo +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cd6a66c set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x4cdf85dc mmc_request_done +EXPORT_SYMBOL vmlinux 0x4ce0b511 cdrom_release +EXPORT_SYMBOL vmlinux 0x4cf20b83 acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0x4d0adb3d dm_table_get_size +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d7422b2 tcp_v4_md5_do_del +EXPORT_SYMBOL vmlinux 0x4d82bc49 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x4db209fd do_truncate +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4deb9fb5 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e0a6c5a pci_enable_wake +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e717d0d set_security_override +EXPORT_SYMBOL vmlinux 0x4e73532e bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x4e81d3ed thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0x4e830a3e strnicmp +EXPORT_SYMBOL vmlinux 0x4e8885bd skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x4e90f967 seq_escape +EXPORT_SYMBOL vmlinux 0x4eb3cad8 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x4eb60889 vfs_readdir +EXPORT_SYMBOL vmlinux 0x4ecaf515 neigh_parms_release +EXPORT_SYMBOL vmlinux 0x4ee38b65 test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x4ee76065 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x4eeee74d input_unregister_device +EXPORT_SYMBOL vmlinux 0x4efe94d6 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f274221 __devm_request_region +EXPORT_SYMBOL vmlinux 0x4f27a821 kmem_ptr_validate +EXPORT_SYMBOL vmlinux 0x4f476e96 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x4f4f3baf phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x4f4fcea0 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x4f5438c1 idle_halt +EXPORT_SYMBOL vmlinux 0x4f783f30 acpi_read +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4ffc66d4 kernel_connect +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x506746b6 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x5071f91f generic_ro_fops +EXPORT_SYMBOL vmlinux 0x507a5228 seq_open_private +EXPORT_SYMBOL vmlinux 0x5084b868 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x50bdd470 boot_cpu_data +EXPORT_SYMBOL vmlinux 0x50c39d9e dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x50d2706c bio_free +EXPORT_SYMBOL vmlinux 0x50dff344 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x50e547e8 set_bdi_congested +EXPORT_SYMBOL vmlinux 0x50e5648b phy_detach +EXPORT_SYMBOL vmlinux 0x5107639e scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x511bf5cb filp_open +EXPORT_SYMBOL vmlinux 0x514d617c dst_release +EXPORT_SYMBOL vmlinux 0x5152e605 memcmp +EXPORT_SYMBOL vmlinux 0x51812be3 pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0x5186518f profile_pc +EXPORT_SYMBOL vmlinux 0x5195395e sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x51c932a5 kthread_bind +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +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 0x52095e19 acpi_get_data +EXPORT_SYMBOL vmlinux 0x521bddbd eth_change_mtu +EXPORT_SYMBOL vmlinux 0x5226df1a bio_put +EXPORT_SYMBOL vmlinux 0x52503ec9 cdev_alloc +EXPORT_SYMBOL vmlinux 0x525bcce1 ip6_frag_init +EXPORT_SYMBOL vmlinux 0x52760ca9 getnstimeofday +EXPORT_SYMBOL vmlinux 0x5282303c scsi_unregister +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x52917f41 sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x52a58c24 ifla_policy +EXPORT_SYMBOL vmlinux 0x52bfc0da pci_choose_state +EXPORT_SYMBOL vmlinux 0x52c5449b ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL vmlinux 0x52daf294 sget +EXPORT_SYMBOL vmlinux 0x52ebb126 param_get_ushort +EXPORT_SYMBOL vmlinux 0x530002a2 dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x530abcb1 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x530b1e4c rdmsr_on_cpus +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x531b604e __virt_addr_valid +EXPORT_SYMBOL vmlinux 0x53249abb mutex_lock +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x5337c897 blk_free_tags +EXPORT_SYMBOL vmlinux 0x53437b7f journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x53454576 f_setown +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x5387932c path_lookup +EXPORT_SYMBOL vmlinux 0x539856e1 load_nls +EXPORT_SYMBOL vmlinux 0x53a1efc4 arp_find +EXPORT_SYMBOL vmlinux 0x53b72f23 lro_flush_all +EXPORT_SYMBOL vmlinux 0x53c0767c sk_chk_filter +EXPORT_SYMBOL vmlinux 0x53c3a230 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x53d81f7f d_delete +EXPORT_SYMBOL vmlinux 0x541dfef4 atomic64_inc +EXPORT_SYMBOL vmlinux 0x54290dc9 nla_validate +EXPORT_SYMBOL vmlinux 0x544b3e87 isapnp_protocol +EXPORT_SYMBOL vmlinux 0x544e9e05 nf_unregister_hook +EXPORT_SYMBOL vmlinux 0x54542f67 mca_device_set_name +EXPORT_SYMBOL vmlinux 0x5456a2fe vm_map_ram +EXPORT_SYMBOL vmlinux 0x547c830c tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x54935666 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0x54a6d074 atomic64_dec +EXPORT_SYMBOL vmlinux 0x54a8c1c4 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x54aaee95 ppp_channel_index +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x5548fdbf journal_wipe +EXPORT_SYMBOL vmlinux 0x555c3b94 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x55612ad8 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x557814fe rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x5596e07c scsi_scan_target +EXPORT_SYMBOL vmlinux 0x55b3133e dma_release_from_coherent +EXPORT_SYMBOL vmlinux 0x55b943e7 rt6_lookup +EXPORT_SYMBOL vmlinux 0x5600904f fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x5603cf43 do_settimeofday +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x5629b143 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x562c9b43 netif_device_detach +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x565dac3b jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x566564ac mca_device_set_claim +EXPORT_SYMBOL vmlinux 0x567abff0 __scm_send +EXPORT_SYMBOL vmlinux 0x56a038b9 pci_request_regions +EXPORT_SYMBOL vmlinux 0x56adc556 ethtool_op_set_tx_csum +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56c98a34 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x56d0040f fb_find_mode +EXPORT_SYMBOL vmlinux 0x56df5a59 mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0x56eb07a5 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x56ed77e8 file_permission +EXPORT_SYMBOL vmlinux 0x56f494e0 smp_call_function +EXPORT_SYMBOL vmlinux 0x570fa218 __free_pages +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x574b330a udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x57544a49 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x5768dcb9 mapping_tagged +EXPORT_SYMBOL vmlinux 0x57774aab make_bad_inode +EXPORT_SYMBOL vmlinux 0x579fbcd2 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x57a6504e vsnprintf +EXPORT_SYMBOL vmlinux 0x57adf756 per_cpu__this_cpu_off +EXPORT_SYMBOL vmlinux 0x57af7c46 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x57afa1b6 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x57b57ebe jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0x57db7242 mangle_path +EXPORT_SYMBOL vmlinux 0x5828cc86 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x584738f9 rdmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x5857e434 groups_free +EXPORT_SYMBOL vmlinux 0x5859b1a7 seq_bitmap +EXPORT_SYMBOL vmlinux 0x587bf489 blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x589aa13d netdev_bonding_change +EXPORT_SYMBOL vmlinux 0x589daa30 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x58d99e7a set_pages_uc +EXPORT_SYMBOL vmlinux 0x58f473ec pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x58f5672d end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x58fef6f8 ist_info +EXPORT_SYMBOL vmlinux 0x590ce04d generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x590e5765 dev_disable_lro +EXPORT_SYMBOL vmlinux 0x59108ff2 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x591a866a bio_add_page +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x596a44de blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x596f6761 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0x597f767b rtnl_create_link +EXPORT_SYMBOL vmlinux 0x59a49e3f blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x59acb3e9 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x59bc9609 acpi_write_bit_register +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59d8223a ioport_resource +EXPORT_SYMBOL vmlinux 0x59f0237c mmc_register_driver +EXPORT_SYMBOL vmlinux 0x59ffcda3 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x5a2a6bfe __lock_buffer +EXPORT_SYMBOL vmlinux 0x5a4896a8 __put_user_2 +EXPORT_SYMBOL vmlinux 0x5a57d155 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x5a71daca phy_disconnect +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5ac376a5 acpi_install_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x5acb6756 ps2_command +EXPORT_SYMBOL vmlinux 0x5b015052 register_gifconf +EXPORT_SYMBOL vmlinux 0x5b19634d div_s64_rem +EXPORT_SYMBOL vmlinux 0x5b196455 vfs_get_dqblk +EXPORT_SYMBOL vmlinux 0x5b51c6a7 acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x5b871bf1 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x5bcbb9c7 kmem_cache_name +EXPORT_SYMBOL vmlinux 0x5c0bf507 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x5c151f87 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x5c265cba sg_init_one +EXPORT_SYMBOL vmlinux 0x5c3bc3e0 ip6_frag_match +EXPORT_SYMBOL vmlinux 0x5c4a57a3 lock_fb_info +EXPORT_SYMBOL vmlinux 0x5c55aba6 copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x5c68705b mca_read_pos +EXPORT_SYMBOL vmlinux 0x5c8c2f5b cdev_add +EXPORT_SYMBOL vmlinux 0x5cadd9fb arp_xmit +EXPORT_SYMBOL vmlinux 0x5cbc652f blk_queue_max_phys_segments +EXPORT_SYMBOL vmlinux 0x5cc8d232 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x5ce8b103 serio_open +EXPORT_SYMBOL vmlinux 0x5d12b3fc twl4030_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x5d37b126 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x5d455923 scsi_get_command +EXPORT_SYMBOL vmlinux 0x5d636634 vmtruncate +EXPORT_SYMBOL vmlinux 0x5d7a130b xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x5d975074 complete_request_key +EXPORT_SYMBOL vmlinux 0x5da7c940 dmam_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x5db85608 journal_lock_updates +EXPORT_SYMBOL vmlinux 0x5dc472cd skb_unlink +EXPORT_SYMBOL vmlinux 0x5dde2b8e bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x5dea2c84 mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x5df9edfb inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x5e16e6ab __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x5e28641a sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x5e2d7f4e serio_rescan +EXPORT_SYMBOL vmlinux 0x5e3e91ac pci_find_device +EXPORT_SYMBOL vmlinux 0x5e44df37 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x5e4c621b ethtool_op_set_flags +EXPORT_SYMBOL vmlinux 0x5e51f8a0 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x5e5bd6e6 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x5e67b34b default_unplug_io_fn +EXPORT_SYMBOL vmlinux 0x5e87ebf6 mnt_unpin +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5e992ee0 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x5e997c09 blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0x5ea520c5 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x5eb1b630 pci_release_region +EXPORT_SYMBOL vmlinux 0x5ebb2b06 tcf_action_exec +EXPORT_SYMBOL vmlinux 0x5eccde28 block_write_end +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5f0384ff __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0x5f1bd579 mca_find_adapter +EXPORT_SYMBOL vmlinux 0x5f56db66 per_cpu__ftrace_event_seq +EXPORT_SYMBOL vmlinux 0x5f58593d tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x5fa99c36 pci_reenable_device +EXPORT_SYMBOL vmlinux 0x5fd28824 security_path_symlink +EXPORT_SYMBOL vmlinux 0x5fde10eb cdev_index +EXPORT_SYMBOL vmlinux 0x5fe138e8 pci_scan_slot +EXPORT_SYMBOL vmlinux 0x5ff42b08 acpi_video_get_capabilities +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x6013b345 generic_read_dir +EXPORT_SYMBOL vmlinux 0x60243b7d dma_async_device_register +EXPORT_SYMBOL vmlinux 0x602ed00d acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0x6043092c atomic64_dec_and_test +EXPORT_SYMBOL vmlinux 0x6050b399 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x607c46cb tty_mutex +EXPORT_SYMBOL vmlinux 0x6083772e dev_unicast_add +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a0ebad __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x60a279ff pci_do_scan_bus +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60c5eb2f simple_write_end +EXPORT_SYMBOL vmlinux 0x60d36e22 get_disk +EXPORT_SYMBOL vmlinux 0x60d7fe75 nf_register_hooks +EXPORT_SYMBOL vmlinux 0x60f5b5ae pnp_find_dev +EXPORT_SYMBOL vmlinux 0x6114facd pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x6134274b framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x6134eb97 register_8022_client +EXPORT_SYMBOL vmlinux 0x614a28cd __pagevec_release +EXPORT_SYMBOL vmlinux 0x6169437d linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x6174c291 security_d_instantiate +EXPORT_SYMBOL vmlinux 0x61877940 page_address +EXPORT_SYMBOL vmlinux 0x618d8299 set_notify_swap_entry_free +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x62049256 acpi_disable +EXPORT_SYMBOL vmlinux 0x62193598 pnp_range_reserved +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x622b21e3 arp_create +EXPORT_SYMBOL vmlinux 0x6237f6b5 acpi_enable_event +EXPORT_SYMBOL vmlinux 0x6241a2ab __copy_from_user_ll_nocache +EXPORT_SYMBOL vmlinux 0x6241fd2c acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x6276c7ab llc_sap_find +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x6284c724 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x62937fba blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x6299938c dmam_pool_create +EXPORT_SYMBOL vmlinux 0x62dbd1c6 page_follow_link_light +EXPORT_SYMBOL vmlinux 0x63073cf2 dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x6307fc98 del_timer +EXPORT_SYMBOL vmlinux 0x6357ae4f security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x635be19f skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x636a5691 acpi_register_ioapic +EXPORT_SYMBOL vmlinux 0x639e7d28 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0x63e82bc3 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63efc536 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x640a7078 posix_acl_create_masq +EXPORT_SYMBOL vmlinux 0x641b3db1 dma_pool_free +EXPORT_SYMBOL vmlinux 0x6429458f i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x642e54ac __wake_up +EXPORT_SYMBOL vmlinux 0x64526a93 atomic64_sub_return +EXPORT_SYMBOL vmlinux 0x645d2eb8 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x6466a1e6 mempool_alloc +EXPORT_SYMBOL vmlinux 0x6478134c ec_burst_enable +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64dbd981 free_task +EXPORT_SYMBOL vmlinux 0x64e000bd proc_net_netfilter +EXPORT_SYMBOL vmlinux 0x64eae7ad set_memory_array_wb +EXPORT_SYMBOL vmlinux 0x650fb346 add_wait_queue +EXPORT_SYMBOL vmlinux 0x6519715d arp_broken_ops +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652115ea inet_add_protocol +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65414e67 dev_valid_name +EXPORT_SYMBOL vmlinux 0x655c1009 rfkill_destroy +EXPORT_SYMBOL vmlinux 0x6567b967 d_find_alias +EXPORT_SYMBOL vmlinux 0x6586d07a blk_start_request +EXPORT_SYMBOL vmlinux 0x65913d0f poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x65a377ad vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x65c29dcd __scm_destroy +EXPORT_SYMBOL vmlinux 0x65d24b91 sock_release +EXPORT_SYMBOL vmlinux 0x65e12b89 dev_trans_start +EXPORT_SYMBOL vmlinux 0x661333df simple_write_begin +EXPORT_SYMBOL vmlinux 0x664b8b79 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x6653e54d tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0x66591fc1 bio_integrity_endio +EXPORT_SYMBOL vmlinux 0x666400ef __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x66792cdb block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x667aefc9 km_new_mapping +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x6693e972 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x66aa01b9 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x66b2730d pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x66cf8f7b sk_stream_error +EXPORT_SYMBOL vmlinux 0x66d983aa acpi_root_dir +EXPORT_SYMBOL vmlinux 0x66e3c5ce deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x670332f2 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x67053080 current_kernel_time +EXPORT_SYMBOL vmlinux 0x6729d3df __get_user_4 +EXPORT_SYMBOL vmlinux 0x675218ea uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x675d89e7 dev_change_flags +EXPORT_SYMBOL vmlinux 0x67621ea5 ethtool_op_set_tx_hw_csum +EXPORT_SYMBOL vmlinux 0x6768a28d scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x676a87fe per_cpu__softnet_data +EXPORT_SYMBOL vmlinux 0x676d049d journal_check_available_features +EXPORT_SYMBOL vmlinux 0x6770557c generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x67804a19 __any_online_cpu +EXPORT_SYMBOL vmlinux 0x678435ff scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0x67aca2a6 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b71af6 register_quota_format +EXPORT_SYMBOL vmlinux 0x67be3d4f set_pages_array_wb +EXPORT_SYMBOL vmlinux 0x67d106b3 generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x67f580cb netpoll_setup +EXPORT_SYMBOL vmlinux 0x68176274 vfs_statfs +EXPORT_SYMBOL vmlinux 0x681e07e9 tcp_child_process +EXPORT_SYMBOL vmlinux 0x68332af2 otg_set_transceiver +EXPORT_SYMBOL vmlinux 0x68730e98 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x6886f0b6 dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0x688a661f genphy_suspend +EXPORT_SYMBOL vmlinux 0x689bf10a mb_cache_shrink +EXPORT_SYMBOL vmlinux 0x68a7297b devm_ioremap +EXPORT_SYMBOL vmlinux 0x68a7bacd i2c_master_send +EXPORT_SYMBOL vmlinux 0x68b197aa unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x6919a9a7 try_to_release_page +EXPORT_SYMBOL vmlinux 0x693c01e2 kill_block_super +EXPORT_SYMBOL vmlinux 0x694157d2 __inet6_hash +EXPORT_SYMBOL vmlinux 0x6953e87a thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x6980fe91 param_get_int +EXPORT_SYMBOL vmlinux 0x69927dff try_acquire_console_sem +EXPORT_SYMBOL vmlinux 0x69a0ca7d iowrite16be +EXPORT_SYMBOL vmlinux 0x69b393b5 sg_miter_start +EXPORT_SYMBOL vmlinux 0x69c8c1d5 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x69d2575f efi +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a22eaaf pcim_pin_device +EXPORT_SYMBOL vmlinux 0x6a27bfce csum_partial_copy_generic +EXPORT_SYMBOL vmlinux 0x6a285d84 inet6_release +EXPORT_SYMBOL vmlinux 0x6a316d61 km_policy_notify +EXPORT_SYMBOL vmlinux 0x6a47571d __set_personality +EXPORT_SYMBOL vmlinux 0x6a4a4a2d inode_change_ok +EXPORT_SYMBOL vmlinux 0x6a69edc8 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x6a6a1141 rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0x6a73912e journal_start +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a9f26c9 init_timer_key +EXPORT_SYMBOL vmlinux 0x6aa1e5e1 directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0x6ac1d51d tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6acfd528 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x6ad065f4 param_set_charp +EXPORT_SYMBOL vmlinux 0x6ad399e6 inet6_getname +EXPORT_SYMBOL vmlinux 0x6ad85887 acpi_enable_gpe +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6afbdc70 ppp_input_error +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b28395b sysctl_jiffies +EXPORT_SYMBOL vmlinux 0x6b29ab58 blk_insert_request +EXPORT_SYMBOL vmlinux 0x6b2ab172 pcibios_set_irq_routing +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b7c6bff pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x6b878166 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x6b913c9e input_inject_event +EXPORT_SYMBOL vmlinux 0x6b937ffb mca_mark_as_used +EXPORT_SYMBOL vmlinux 0x6b9b88f3 sleep_on +EXPORT_SYMBOL vmlinux 0x6bb812e7 atomic64_add_return +EXPORT_SYMBOL vmlinux 0x6bbc92f6 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x6bc05d05 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bce2cd0 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x6bcf278b scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x6bdc9a24 tty_register_device +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6bea7cb8 tty_port_close +EXPORT_SYMBOL vmlinux 0x6c041202 pci_dev_get +EXPORT_SYMBOL vmlinux 0x6c19113a nla_append +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c20ee77 uart_add_one_port +EXPORT_SYMBOL vmlinux 0x6c2bf2b1 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0x6c2e3320 strncmp +EXPORT_SYMBOL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6cb3dcda vfs_dq_drop +EXPORT_SYMBOL vmlinux 0x6cbad823 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x6cbca491 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x6cd34e7d redraw_screen +EXPORT_SYMBOL vmlinux 0x6cdc5c6b nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6cdea169 pci_read_vpd +EXPORT_SYMBOL vmlinux 0x6ce24c5f key_type_keyring +EXPORT_SYMBOL vmlinux 0x6d19fdd4 bio_phys_segments +EXPORT_SYMBOL vmlinux 0x6d1d1eaa phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x6d22185d dm_dirty_log_type_unregister +EXPORT_SYMBOL vmlinux 0x6d27ef64 __bitmap_empty +EXPORT_SYMBOL vmlinux 0x6d288375 radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d358217 register_framebuffer +EXPORT_SYMBOL vmlinux 0x6d37e493 acpi_bus_start +EXPORT_SYMBOL vmlinux 0x6d464175 __sg_free_table +EXPORT_SYMBOL vmlinux 0x6d56994a cmpxchg_486_u64 +EXPORT_SYMBOL vmlinux 0x6d57dbf0 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6db1fe3a sock_no_connect +EXPORT_SYMBOL vmlinux 0x6dc0c24b complete_and_exit +EXPORT_SYMBOL vmlinux 0x6dcb4816 set_blocksize +EXPORT_SYMBOL vmlinux 0x6dcb53ed eisa_bus_type +EXPORT_SYMBOL vmlinux 0x6dd0ddcb cdev_init +EXPORT_SYMBOL vmlinux 0x6dd62aa6 get_empty_filp +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6e07a54e acpi_get_gpe_status +EXPORT_SYMBOL vmlinux 0x6e45c791 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e812e20 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x6e9cfbaa security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6eb0fdf3 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x6ebb5c85 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x6ebeb626 init_task +EXPORT_SYMBOL vmlinux 0x6ef21234 ppp_register_channel +EXPORT_SYMBOL vmlinux 0x6ef773d5 icmpv6_send +EXPORT_SYMBOL vmlinux 0x6f207dd6 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x6f2debf0 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x6f50844e journal_set_features +EXPORT_SYMBOL vmlinux 0x6f556bdb acpi_get_gpe_device +EXPORT_SYMBOL vmlinux 0x6fa8123e tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x6fbf3a46 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fe909bf __find_get_block +EXPORT_SYMBOL vmlinux 0x6feb2039 acpi_write +EXPORT_SYMBOL vmlinux 0x6fff393f time_to_tm +EXPORT_SYMBOL vmlinux 0x700e64f9 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x701d0ebd snprintf +EXPORT_SYMBOL vmlinux 0x702fc2bd pagecache_write_end +EXPORT_SYMBOL vmlinux 0x702fc6d0 dev_get_stats +EXPORT_SYMBOL vmlinux 0x7032ba4a scsi_scan_host +EXPORT_SYMBOL vmlinux 0x7048b0d5 slow_work_cancel +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x706ac77d pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x7072313f __secpath_destroy +EXPORT_SYMBOL vmlinux 0x70adbeb8 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70d1f8f3 strncat +EXPORT_SYMBOL vmlinux 0x70d8ab82 acpi_acquire_global_lock +EXPORT_SYMBOL vmlinux 0x70dc114f pnp_device_attach +EXPORT_SYMBOL vmlinux 0x70e37549 kmem_cache_create +EXPORT_SYMBOL vmlinux 0x70e6ba76 tcp_prot +EXPORT_SYMBOL vmlinux 0x70f3b713 set_pages_x +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x712aa29b _spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x712be006 dm_exception_store_create +EXPORT_SYMBOL vmlinux 0x71356fba remove_wait_queue +EXPORT_SYMBOL vmlinux 0x714c7a81 acpi_check_mem_region +EXPORT_SYMBOL vmlinux 0x716f3790 scsi_print_command +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71ea4dcf devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0x721d1833 dquot_destroy +EXPORT_SYMBOL vmlinux 0x7222a71c arp_send +EXPORT_SYMBOL vmlinux 0x724f9f5b bio_map_kern +EXPORT_SYMBOL vmlinux 0x72636d48 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x72700728 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x72727d02 security_path_rmdir +EXPORT_SYMBOL vmlinux 0x728d95d5 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x7299f357 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x72a3b3d7 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0x72aa82be acpi_get_physical_device +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72b53ad3 mmc_add_host +EXPORT_SYMBOL vmlinux 0x72bbe65a udp_proc_unregister +EXPORT_SYMBOL vmlinux 0x72bf2140 mtrr_add +EXPORT_SYMBOL vmlinux 0x72c3be87 param_set_byte +EXPORT_SYMBOL vmlinux 0x72dda130 pnp_is_active +EXPORT_SYMBOL vmlinux 0x72e35cf9 unregister_md_personality +EXPORT_SYMBOL vmlinux 0x72e7ce2d in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x73264484 module_refcount +EXPORT_SYMBOL vmlinux 0x732c5a7c scsi_execute_req +EXPORT_SYMBOL vmlinux 0x735a0bd5 native_io_delay +EXPORT_SYMBOL vmlinux 0x73607e3f blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x7362dd1e vfs_fstat +EXPORT_SYMBOL vmlinux 0x736675e0 dst_alloc +EXPORT_SYMBOL vmlinux 0x737fab85 get_phy_device +EXPORT_SYMBOL vmlinux 0x73808f93 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x7382eae6 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x738803e6 strnlen +EXPORT_SYMBOL vmlinux 0x7389c9a8 acpi_bus_get_power +EXPORT_SYMBOL vmlinux 0x7392c16d ethtool_op_set_ufo +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x740a1b95 reserve_evntsel_nmi +EXPORT_SYMBOL vmlinux 0x7413793a EISA_bus +EXPORT_SYMBOL vmlinux 0x744c0c68 param_get_byte +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x748caf40 down +EXPORT_SYMBOL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL vmlinux 0x74ae981e kill_pgrp +EXPORT_SYMBOL vmlinux 0x74b57de9 acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0x74b7b22b neigh_table_init_no_netlink +EXPORT_SYMBOL vmlinux 0x74bfc369 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74d44a39 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0x750339cd scm_detach_fds +EXPORT_SYMBOL vmlinux 0x75271716 save_processor_state +EXPORT_SYMBOL vmlinux 0x75454332 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x756736ee journal_force_commit +EXPORT_SYMBOL vmlinux 0x759813eb pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x759f34da pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x75b3b8e5 alloc_disk +EXPORT_SYMBOL vmlinux 0x75b9d339 vfs_dq_transfer +EXPORT_SYMBOL vmlinux 0x75c3f08d vlan_gro_receive +EXPORT_SYMBOL vmlinux 0x75d1414e generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x75dd5c55 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x75f4cb99 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x75f9f8b3 set_irq_chip +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x7630fc2b journal_errno +EXPORT_SYMBOL vmlinux 0x763bc3b1 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0x764a8670 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x764ddd09 register_md_personality +EXPORT_SYMBOL vmlinux 0x76592c50 unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x766544de tty_port_close_start +EXPORT_SYMBOL vmlinux 0x7674e9a5 __page_symlink +EXPORT_SYMBOL vmlinux 0x767d7ada read_cache_page_async +EXPORT_SYMBOL vmlinux 0x767ddb02 set_memory_wc +EXPORT_SYMBOL vmlinux 0x76853b4f pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0x768db238 neigh_seq_next +EXPORT_SYMBOL vmlinux 0x769fea8b sock_register +EXPORT_SYMBOL vmlinux 0x76b0f8f8 bad_dma_address +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76c6aac0 scsi_device_put +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76f3f8a5 num_k8_northbridges +EXPORT_SYMBOL vmlinux 0x77061a99 filp_close +EXPORT_SYMBOL vmlinux 0x770a0036 isapnp_cfg_begin +EXPORT_SYMBOL vmlinux 0x770c0852 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x7716c092 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x7736b553 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x7754b2d9 mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0x7773e638 acpi_lock_ac_dir +EXPORT_SYMBOL vmlinux 0x77a108df _write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x77c40831 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x77cfcfde __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x77dfe043 vfs_llseek +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77f2580f tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x77f285e6 scsi_remove_host +EXPORT_SYMBOL vmlinux 0x77fa5d1f ns_to_timespec +EXPORT_SYMBOL vmlinux 0x7828b2e0 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x7830580c seq_lseek +EXPORT_SYMBOL vmlinux 0x7846012d tcp_parse_options +EXPORT_SYMBOL vmlinux 0x787f6526 elv_rb_find +EXPORT_SYMBOL vmlinux 0x788fe103 iomem_resource +EXPORT_SYMBOL vmlinux 0x789800aa bio_init +EXPORT_SYMBOL vmlinux 0x78a484c9 _read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78e1d4f1 __scsi_put_command +EXPORT_SYMBOL vmlinux 0x78f43843 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x79068fda acpi_install_method +EXPORT_SYMBOL vmlinux 0x794487ee disable_hlt +EXPORT_SYMBOL vmlinux 0x7946e830 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x79a4e815 datagram_poll +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79ad224b tasklet_kill +EXPORT_SYMBOL vmlinux 0x79b7b54f xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x7a107d23 dmam_release_declared_memory +EXPORT_SYMBOL vmlinux 0x7a1cf5af tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x7a25105e qdisc_reset +EXPORT_SYMBOL vmlinux 0x7a2a837d strict_strtol +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a4fccd5 ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0x7a848702 _read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x7ae2c51f stop_tty +EXPORT_SYMBOL vmlinux 0x7aec9089 clear_user +EXPORT_SYMBOL vmlinux 0x7af0ba1e __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x7b0c84c4 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0x7b134ddf acpi_get_name +EXPORT_SYMBOL vmlinux 0x7b19fe8a jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x7b1abb3c create_proc_entry +EXPORT_SYMBOL vmlinux 0x7b2cd375 register_key_type +EXPORT_SYMBOL vmlinux 0x7b404e32 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x7b52a859 wrmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x7b561d7e fb_class +EXPORT_SYMBOL vmlinux 0x7b56bd05 acpi_lid_notifier_register +EXPORT_SYMBOL vmlinux 0x7b6902fa pci_set_dma_mask +EXPORT_SYMBOL vmlinux 0x7ba5b0c3 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x7bb4ec12 fb_set_var +EXPORT_SYMBOL vmlinux 0x7bd508ca pnp_activate_dev +EXPORT_SYMBOL vmlinux 0x7be81fb9 register_exec_domain +EXPORT_SYMBOL vmlinux 0x7c0edd7d acpi_check_region +EXPORT_SYMBOL vmlinux 0x7c186daf put_tty_driver +EXPORT_SYMBOL vmlinux 0x7c24e0fc dev_open +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c464165 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c77ca62 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c976ad6 keyring_clear +EXPORT_SYMBOL vmlinux 0x7c983f4c phy_device_register +EXPORT_SYMBOL vmlinux 0x7c9a7de5 mdiobus_write +EXPORT_SYMBOL vmlinux 0x7cb1ae69 cpu_down +EXPORT_SYMBOL vmlinux 0x7cf6baf8 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d1b3d44 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x7d3d54ef xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x7d40a62b do_sync_write +EXPORT_SYMBOL vmlinux 0x7d51d21b scsi_device_get +EXPORT_SYMBOL vmlinux 0x7d966508 bio_split +EXPORT_SYMBOL vmlinux 0x7da0b66b dqget +EXPORT_SYMBOL vmlinux 0x7dceceac capable +EXPORT_SYMBOL vmlinux 0x7e26ec49 secpath_dup +EXPORT_SYMBOL vmlinux 0x7e59dc80 rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0x7e5a356b netif_napi_add +EXPORT_SYMBOL vmlinux 0x7e6c4c5c blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x7e8952c2 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x7e9ebb05 kernel_thread +EXPORT_SYMBOL vmlinux 0x7ebbd901 pci_pme_active +EXPORT_SYMBOL vmlinux 0x7ebd7ffc lookup_hash +EXPORT_SYMBOL vmlinux 0x7ecb001b __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x7ee1abff fb_validate_mode +EXPORT_SYMBOL vmlinux 0x7ee91c1d _spin_trylock +EXPORT_SYMBOL vmlinux 0x7ef04a96 journal_destroy +EXPORT_SYMBOL vmlinux 0x7f0a0bb9 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x7f186aad skb_dequeue +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f2db84f skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x7f357fa6 write_one_page +EXPORT_SYMBOL vmlinux 0x7f42b0fd blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x7f594bf3 bio_alloc +EXPORT_SYMBOL vmlinux 0x7f6d7fe2 journal_dirty_data +EXPORT_SYMBOL vmlinux 0x7f7a2c0c xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x7fc8e079 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x7fc9656c prepare_creds +EXPORT_SYMBOL vmlinux 0x80022e11 dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x802cf809 neigh_update +EXPORT_SYMBOL vmlinux 0x80365468 vfs_link +EXPORT_SYMBOL vmlinux 0x803cf5e2 devm_iounmap +EXPORT_SYMBOL vmlinux 0x804d00e7 pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0x804f5ece blk_integrity_register +EXPORT_SYMBOL vmlinux 0x8063f83d radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x80aa5d2a inet_put_port +EXPORT_SYMBOL vmlinux 0x80d4e9eb try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x80f8130d inet6_bind +EXPORT_SYMBOL vmlinux 0x81062d6b sk_common_release +EXPORT_SYMBOL vmlinux 0x81078307 scsi_prep_return +EXPORT_SYMBOL vmlinux 0x810f3f16 filemap_flush +EXPORT_SYMBOL vmlinux 0x81227988 input_set_keycode +EXPORT_SYMBOL vmlinux 0x81296490 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x812d284f generic_permission +EXPORT_SYMBOL vmlinux 0x81472677 acpi_get_table +EXPORT_SYMBOL vmlinux 0x81511c6b bd_release +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815c56d0 cpu_present_mask +EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page +EXPORT_SYMBOL vmlinux 0x81799cee vscnprintf +EXPORT_SYMBOL vmlinux 0x817bca17 pnp_start_dev +EXPORT_SYMBOL vmlinux 0x81802620 scsi_reset_provider +EXPORT_SYMBOL vmlinux 0x818a7060 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x81b1e4fc mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x81d67fe6 qdisc_destroy +EXPORT_SYMBOL vmlinux 0x81dbec08 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x81ed952b acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0x81fa4af9 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x820d225f print_mac +EXPORT_SYMBOL vmlinux 0x820fc63c vfsmount_lock +EXPORT_SYMBOL vmlinux 0x821f9d03 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x8227391b unlock_new_inode +EXPORT_SYMBOL vmlinux 0x8235805b memmove +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x825c943e register_console +EXPORT_SYMBOL vmlinux 0x82692209 kref_set +EXPORT_SYMBOL vmlinux 0x8273abdf __tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x8289d72c uart_update_timeout +EXPORT_SYMBOL vmlinux 0x828fd9e5 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82b8ba1b rtc_dev_update_irq_enable_emul +EXPORT_SYMBOL vmlinux 0x8317e20a completion_done +EXPORT_SYMBOL vmlinux 0x834360c4 input_register_handle +EXPORT_SYMBOL vmlinux 0x834a2463 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x83631e8a pci_save_state +EXPORT_SYMBOL vmlinux 0x836d0598 skb_under_panic +EXPORT_SYMBOL vmlinux 0x83904ad4 per_cpu__irq_regs +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83d0c02d uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x83d64fc7 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x83d7db28 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x84149562 free_netdev +EXPORT_SYMBOL vmlinux 0x84288efe request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0x843ba0c6 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x844aba69 sync_inode +EXPORT_SYMBOL vmlinux 0x8454c9b9 dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x8477dbad blk_rq_init +EXPORT_SYMBOL vmlinux 0x84c9c961 bdi_init +EXPORT_SYMBOL vmlinux 0x84f95670 setup_arg_pages +EXPORT_SYMBOL vmlinux 0x850c687e skb_checksum +EXPORT_SYMBOL vmlinux 0x85336bd1 write_cache_pages +EXPORT_SYMBOL vmlinux 0x853d53c4 md_check_recovery +EXPORT_SYMBOL vmlinux 0x85483d42 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x856a070a lock_super +EXPORT_SYMBOL vmlinux 0x857369f5 dev_unicast_delete +EXPORT_SYMBOL vmlinux 0x858ba58c sk_wait_data +EXPORT_SYMBOL vmlinux 0x85ac7f10 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x85ca0d85 pci_dev_put +EXPORT_SYMBOL vmlinux 0x85d97f04 freeze_bdev +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e7deb2 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x86491658 get_sb_ns +EXPORT_SYMBOL vmlinux 0x865e180f ip_fragment +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x86712a32 kmap_atomic_to_page +EXPORT_SYMBOL vmlinux 0x8671cc91 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x867b5a80 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x868694d7 put_mnt_ns +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86e28efa ethtool_op_get_sg +EXPORT_SYMBOL vmlinux 0x86e6d7f4 dev_unicast_sync +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x87034634 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x8708b20a seq_read +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x872f9086 sk_dst_check +EXPORT_SYMBOL vmlinux 0x8733e9a3 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x876dafc3 ec_write +EXPORT_SYMBOL vmlinux 0x876f2cbc xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x877195c1 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x8782f89f bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x87a7e142 simple_readpage +EXPORT_SYMBOL vmlinux 0x87aaddf8 wrmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0x87f438a2 sysctl_intvec +EXPORT_SYMBOL vmlinux 0x880c5c84 km_policy_expired +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x885d6383 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0x887188d9 uart_register_driver +EXPORT_SYMBOL vmlinux 0x8872fadc skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x88c0c198 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x88d58b6c xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x88dc48cd d_splice_alias +EXPORT_SYMBOL vmlinux 0x88e88136 ioremap_prot +EXPORT_SYMBOL vmlinux 0x890b26ad pci_disable_msi +EXPORT_SYMBOL vmlinux 0x892b26a0 set_memory_nx +EXPORT_SYMBOL vmlinux 0x8969b997 ida_get_new +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x897c73fd __nla_put +EXPORT_SYMBOL vmlinux 0x89851cd7 skb_copy +EXPORT_SYMBOL vmlinux 0x898cd8b1 mca_device_claimed +EXPORT_SYMBOL vmlinux 0x898dcc91 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x89949018 down_timeout +EXPORT_SYMBOL vmlinux 0x89ad9029 ilookup5 +EXPORT_SYMBOL vmlinux 0x89c741ab set_pages_nx +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89e7e210 dm_table_event +EXPORT_SYMBOL vmlinux 0x89ec9760 netlink_dump_start +EXPORT_SYMBOL vmlinux 0x8a1203a9 kref_get +EXPORT_SYMBOL vmlinux 0x8a1214c3 dm_exception_store_type_register +EXPORT_SYMBOL vmlinux 0x8a1b2d65 llc_sap_open +EXPORT_SYMBOL vmlinux 0x8a2c6fba tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x8a373fd7 twl4030_i2c_write +EXPORT_SYMBOL vmlinux 0x8a3eabf0 __wait_on_bit +EXPORT_SYMBOL vmlinux 0x8a5578b7 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x8a5b26b3 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aa15789 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x8aa6fead skb_copy_bits +EXPORT_SYMBOL vmlinux 0x8abd04f2 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x8ac1a9ec tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x8ac6395b per_cpu__cpu_info +EXPORT_SYMBOL vmlinux 0x8ad835f2 input_unregister_handler +EXPORT_SYMBOL vmlinux 0x8adf0cbf bioset_integrity_free +EXPORT_SYMBOL vmlinux 0x8ae77528 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x8aed4990 tcp4_gro_complete +EXPORT_SYMBOL vmlinux 0x8afb6d28 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x8b05654c elv_rb_del +EXPORT_SYMBOL vmlinux 0x8b18496f __copy_to_user_ll +EXPORT_SYMBOL vmlinux 0x8b2c2000 call_usermodehelper_setkeys +EXPORT_SYMBOL vmlinux 0x8b337154 thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0x8b4cd36d llc_sap_close +EXPORT_SYMBOL vmlinux 0x8b5f4a2e IO_APIC_get_PCI_irq_vector +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b8493bf consume_skb +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8bb2fee2 bio_copy_user +EXPORT_SYMBOL vmlinux 0x8bc00de9 unregister_netdev +EXPORT_SYMBOL vmlinux 0x8bd313b8 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x8bd5b603 param_get_long +EXPORT_SYMBOL vmlinux 0x8bdac817 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x8be94638 vga_put +EXPORT_SYMBOL vmlinux 0x8bf47e1a mmc_card_awake +EXPORT_SYMBOL vmlinux 0x8bf98d6e neigh_ifdown +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c260aa0 register_sysrq_key +EXPORT_SYMBOL vmlinux 0x8c59b13c mmc_host_enable +EXPORT_SYMBOL vmlinux 0x8c62f795 find_or_create_page +EXPORT_SYMBOL vmlinux 0x8c6f1781 aio_put_req +EXPORT_SYMBOL vmlinux 0x8c7ed588 simple_fill_super +EXPORT_SYMBOL vmlinux 0x8c8bfc09 __brelse +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8cd0b8dd mmc_host_disable +EXPORT_SYMBOL vmlinux 0x8cdc3fb5 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x8cf4bf46 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x8cf5749e md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x8cfc63b1 simple_set_mnt +EXPORT_SYMBOL vmlinux 0x8d045d0d tty_devnum +EXPORT_SYMBOL vmlinux 0x8d09b820 __scsi_add_device +EXPORT_SYMBOL vmlinux 0x8d12b3e9 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x8d200fb4 xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x8d2e3f96 inet_frag_find +EXPORT_SYMBOL vmlinux 0x8d35cf80 d_path +EXPORT_SYMBOL vmlinux 0x8d3894f2 _ctype +EXPORT_SYMBOL vmlinux 0x8d499706 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d5b56ba inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0x8d6f81b4 __div64_32 +EXPORT_SYMBOL vmlinux 0x8d7032f8 napi_skb_finish +EXPORT_SYMBOL vmlinux 0x8d7fc9c3 __ps2_command +EXPORT_SYMBOL vmlinux 0x8d8d96c6 acpi_get_sleep_type_data +EXPORT_SYMBOL vmlinux 0x8d9e6fb9 filemap_fault +EXPORT_SYMBOL vmlinux 0x8dc6e564 restore_processor_state +EXPORT_SYMBOL vmlinux 0x8dc9bed0 tty_vhangup +EXPORT_SYMBOL vmlinux 0x8dca832f __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x8dd63087 generic_setxattr +EXPORT_SYMBOL vmlinux 0x8dde1117 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x8df02bde dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x8e002cda acpi_remove_gpe_block +EXPORT_SYMBOL vmlinux 0x8e0637ba i8253_lock +EXPORT_SYMBOL vmlinux 0x8e0b7743 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x8e0d8363 nla_reserve +EXPORT_SYMBOL vmlinux 0x8e3a3538 con_copy_unimap +EXPORT_SYMBOL vmlinux 0x8e4a2950 md_write_start +EXPORT_SYMBOL vmlinux 0x8e763ae1 send_remote_softirq +EXPORT_SYMBOL vmlinux 0x8e888ec3 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x8ed26eaa __breadahead +EXPORT_SYMBOL vmlinux 0x8ed66a7f scsi_remove_device +EXPORT_SYMBOL vmlinux 0x8ed6affc ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x8ee69235 timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8efcf671 vfs_writev +EXPORT_SYMBOL vmlinux 0x8f2703b7 wbinvd_on_all_cpus +EXPORT_SYMBOL vmlinux 0x8f30f5dd __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f6b7950 set_irq_data +EXPORT_SYMBOL vmlinux 0x8f763238 blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0x8f931bbd __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x8f9a3d5d xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x8f9b97e5 bio_sector_offset +EXPORT_SYMBOL vmlinux 0x8f9c199c __get_user_2 +EXPORT_SYMBOL vmlinux 0x8fad946b log_start_commit +EXPORT_SYMBOL vmlinux 0x8fcfc438 start_tty +EXPORT_SYMBOL vmlinux 0x8ff4079b pv_irq_ops +EXPORT_SYMBOL vmlinux 0x8ffdb3b8 crc16 +EXPORT_SYMBOL vmlinux 0x900130b2 security_path_link +EXPORT_SYMBOL vmlinux 0x90018570 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x90035333 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x904409c6 acpi_set_firmware_waking_vector +EXPORT_SYMBOL vmlinux 0x905845ce blk_recount_segments +EXPORT_SYMBOL vmlinux 0x905d122b skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0x908371cb neigh_create +EXPORT_SYMBOL vmlinux 0x909a55d7 neigh_destroy +EXPORT_SYMBOL vmlinux 0x90a1601f dmi_check_system +EXPORT_SYMBOL vmlinux 0x91009452 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x9120c8f9 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x913f18a8 dev_mc_add +EXPORT_SYMBOL vmlinux 0x9144a8e2 ec_burst_disable +EXPORT_SYMBOL vmlinux 0x91481982 __ratelimit +EXPORT_SYMBOL vmlinux 0x914ba7cc cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x91607d95 set_memory_wb +EXPORT_SYMBOL vmlinux 0x91766c09 param_get_ulong +EXPORT_SYMBOL vmlinux 0x9176af07 console_stop +EXPORT_SYMBOL vmlinux 0x917bf223 netif_notify_peers +EXPORT_SYMBOL vmlinux 0x91e4d1d7 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x91ed8598 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x9214ed8a param_get_bool +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x92410b0c mddev_congested +EXPORT_SYMBOL vmlinux 0x925665cd inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x9271ebdb phy_print_status +EXPORT_SYMBOL vmlinux 0x927ca4d3 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x92897e3d default_idle +EXPORT_SYMBOL vmlinux 0x92de5b86 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x93170efb xrlim_allow +EXPORT_SYMBOL vmlinux 0x931d206a tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x9330cb9f sg_alloc_table +EXPORT_SYMBOL vmlinux 0x93560404 genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x9358ecb5 ndisc_build_skb +EXPORT_SYMBOL vmlinux 0x935c9944 touch_atime +EXPORT_SYMBOL vmlinux 0x936711b9 ____pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x9385667d down_read_trylock +EXPORT_SYMBOL vmlinux 0x938be8a3 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x9399b26d eth_rebuild_header +EXPORT_SYMBOL vmlinux 0x93a4ccaa neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93bd7796 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x93c651be acpi_info +EXPORT_SYMBOL vmlinux 0x93cbd1ec _spin_lock_bh +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x94068ddd netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x9422cd77 bio_unmap_user +EXPORT_SYMBOL vmlinux 0x94236610 inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0x943c3b92 console_start +EXPORT_SYMBOL vmlinux 0x944832d6 ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x9481a9c8 task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x94847b23 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x94932ccd pnp_find_card +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94a6467e kobject_put +EXPORT_SYMBOL vmlinux 0x94b541b5 cpu_active_mask +EXPORT_SYMBOL vmlinux 0x94bd3ebf __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x94bfcd8f dquot_transfer +EXPORT_SYMBOL vmlinux 0x94d89d3b __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x94f9ab65 bitmap_unplug +EXPORT_SYMBOL vmlinux 0x94ffda11 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x954148de I_BDEV +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x954cbb26 vsprintf +EXPORT_SYMBOL vmlinux 0x956452ca tr_type_trans +EXPORT_SYMBOL vmlinux 0x956c5776 wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0x956e6252 set_bh_page +EXPORT_SYMBOL vmlinux 0x95a6d41c grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x95baad24 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x95c56476 nla_put +EXPORT_SYMBOL vmlinux 0x95e2cb68 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x95e69a2c neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x95f3a8e1 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x95f79477 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x960d7b43 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x961dca85 blk_complete_request +EXPORT_SYMBOL vmlinux 0x961fb70a phy_connect_direct +EXPORT_SYMBOL vmlinux 0x9629486a per_cpu__cpu_number +EXPORT_SYMBOL vmlinux 0x962c5cfb textsearch_unregister +EXPORT_SYMBOL vmlinux 0x962df776 proc_create_data +EXPORT_SYMBOL vmlinux 0x964b874b jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x965160ea mdiobus_read +EXPORT_SYMBOL vmlinux 0x9679f309 mpage_writepages +EXPORT_SYMBOL vmlinux 0x96898769 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x96ae5cd5 journal_update_format +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96d26893 blk_stop_queue +EXPORT_SYMBOL vmlinux 0x96d71810 bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x96e48247 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x9718aa2b mpage_writepage +EXPORT_SYMBOL vmlinux 0x9730c824 vfs_rename +EXPORT_SYMBOL vmlinux 0x973873ab _spin_lock +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x979fb7a6 pci_iomap +EXPORT_SYMBOL vmlinux 0x97ac0d31 ip_mc_rejoin_group +EXPORT_SYMBOL vmlinux 0x97c4ae6c pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x97de0ddd acpi_install_gpe_block +EXPORT_SYMBOL vmlinux 0x98012bec uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x980bc899 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0x983b5456 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x983d09a3 inet_ioctl +EXPORT_SYMBOL vmlinux 0x986347a9 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x98721402 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x987e5b74 arch_acpi_processor_cleanup_pdc +EXPORT_SYMBOL vmlinux 0x988ed85d set_memory_x +EXPORT_SYMBOL vmlinux 0x98ba3b81 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x98ba4177 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x98cdcb51 pci_set_mwi +EXPORT_SYMBOL vmlinux 0x99052a84 acpi_os_write_port +EXPORT_SYMBOL vmlinux 0x99256860 inet_accept +EXPORT_SYMBOL vmlinux 0x996b4db8 dma_ops +EXPORT_SYMBOL vmlinux 0x996daa8e neigh_lookup +EXPORT_SYMBOL vmlinux 0x998378ca pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999885cd pci_write_vpd +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99ac36c6 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c06faa phy_register_fixup +EXPORT_SYMBOL vmlinux 0x99c0d908 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x99c7a8b8 jbd2_dev_to_name +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99ea12ce panic_blink +EXPORT_SYMBOL vmlinux 0x99f76cd1 rfkill_unregister +EXPORT_SYMBOL vmlinux 0x9a10f226 journal_flush +EXPORT_SYMBOL vmlinux 0x9a153717 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a22b0e1 scsi_init_io +EXPORT_SYMBOL vmlinux 0x9a266bb0 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0x9a449b06 simple_empty +EXPORT_SYMBOL vmlinux 0x9a59bdc1 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x9a6a83f9 cmos_lock +EXPORT_SYMBOL vmlinux 0x9a7d73b7 skb_make_writable +EXPORT_SYMBOL vmlinux 0x9a84def3 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x9a8d1cf5 fb_get_mode +EXPORT_SYMBOL vmlinux 0x9a949fd2 is_bad_inode +EXPORT_SYMBOL vmlinux 0x9a9985be percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x9a9fe923 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x9aa523f5 blk_end_request +EXPORT_SYMBOL vmlinux 0x9ad8ed4b eth_header_parse +EXPORT_SYMBOL vmlinux 0x9aedabcc sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x9af78068 kill_pid +EXPORT_SYMBOL vmlinux 0x9b072727 i2c_transfer +EXPORT_SYMBOL vmlinux 0x9b14a593 wireless_send_event +EXPORT_SYMBOL vmlinux 0x9b2ec843 dev_set_mtu +EXPORT_SYMBOL vmlinux 0x9b335bb8 generic_unplug_device +EXPORT_SYMBOL vmlinux 0x9b3683f4 key_unlink +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b44a9fa vfs_getattr +EXPORT_SYMBOL vmlinux 0x9b4de8eb idr_replace +EXPORT_SYMBOL vmlinux 0x9b6d64fd d_prune_aliases +EXPORT_SYMBOL vmlinux 0x9b6eb137 ksize +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9bad61ca bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0x9bc2ae73 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x9bc6e1c4 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x9bce482f __release_region +EXPORT_SYMBOL vmlinux 0x9bd227b6 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x9be235bc tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x9be580f3 alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x9c012508 fb_parse_edid +EXPORT_SYMBOL vmlinux 0x9c13ab87 find_lock_page +EXPORT_SYMBOL vmlinux 0x9c176317 tcp_v4_md5_do_add +EXPORT_SYMBOL vmlinux 0x9c2c944a __copy_from_user_ll_nocache_nozero +EXPORT_SYMBOL vmlinux 0x9c2f753e aio_complete +EXPORT_SYMBOL vmlinux 0x9c3442e8 inet_addr_type +EXPORT_SYMBOL vmlinux 0x9c4ef2dd __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0x9c5a5924 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x9c7077bd enable_hlt +EXPORT_SYMBOL vmlinux 0x9c71e738 per_cpu__vm_event_states +EXPORT_SYMBOL vmlinux 0x9c851f2e sock_wfree +EXPORT_SYMBOL vmlinux 0x9c95dfaf d_obtain_alias +EXPORT_SYMBOL vmlinux 0x9cb5e0cd ps2_init +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cbafe4a netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x9cbcd208 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x9ccb2622 finish_wait +EXPORT_SYMBOL vmlinux 0x9ccc82cc disk_stack_limits +EXPORT_SYMBOL vmlinux 0x9ce80954 mem_map +EXPORT_SYMBOL vmlinux 0x9ce96228 kfree_skb +EXPORT_SYMBOL vmlinux 0x9ceb163c memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x9ced0d42 is_container_init +EXPORT_SYMBOL vmlinux 0x9ced38aa down_trylock +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d141ab0 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x9d15f4ae tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x9d2a956f textsearch_register +EXPORT_SYMBOL vmlinux 0x9d33ef5e acpi_enable +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d3cb5e4 tcf_register_action +EXPORT_SYMBOL vmlinux 0x9d42f7b0 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0x9d4318df close_bdev_exclusive +EXPORT_SYMBOL vmlinux 0x9d50783b netpoll_print_options +EXPORT_SYMBOL vmlinux 0x9d5f5a37 vfs_mknod +EXPORT_SYMBOL vmlinux 0x9db22b51 poll_initwait +EXPORT_SYMBOL vmlinux 0x9dc7575e pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0x9e085095 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x9e1f044a md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x9e2000a7 memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x9e363b6b acpi_disable_gpe +EXPORT_SYMBOL vmlinux 0x9e64fbfe rtc_cmos_read +EXPORT_SYMBOL vmlinux 0x9e672ff6 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x9e74620f scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e90f3e1 per_cpu__irq_stat +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9eb31b95 destroy_EII_client +EXPORT_SYMBOL vmlinux 0x9ec68dba pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x9ed659d3 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x9ed685ee iov_iter_advance +EXPORT_SYMBOL vmlinux 0x9eecde16 do_brk +EXPORT_SYMBOL vmlinux 0x9ef2f6be vfs_readv +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f2d613e param_set_bool +EXPORT_SYMBOL vmlinux 0x9f424093 free_user_ns +EXPORT_SYMBOL vmlinux 0x9f54bfc0 page_symlink +EXPORT_SYMBOL vmlinux 0x9f92d128 file_update_time +EXPORT_SYMBOL vmlinux 0x9f92efc4 mmiotrace_printk +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa274b4 dq_data_lock +EXPORT_SYMBOL vmlinux 0x9fa39fbf i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x9fb3dd30 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9fccb1ef netpoll_cleanup +EXPORT_SYMBOL vmlinux 0xa00cd5b3 rfkill_alloc +EXPORT_SYMBOL vmlinux 0xa017dfa7 neigh_seq_start +EXPORT_SYMBOL vmlinux 0xa02d2d61 mmc_detect_change +EXPORT_SYMBOL vmlinux 0xa03523d5 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa0525a2c mca_unregister_driver +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa07ad845 __alloc_skb +EXPORT_SYMBOL vmlinux 0xa07c4cba inet_frag_evictor +EXPORT_SYMBOL vmlinux 0xa07d3c17 journal_restart +EXPORT_SYMBOL vmlinux 0xa0898533 dentry_open +EXPORT_SYMBOL vmlinux 0xa08d8230 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0xa092d115 simple_statfs +EXPORT_SYMBOL vmlinux 0xa0a4ac21 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b73236 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0xa0c9d22c elv_rb_add +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0d28fb8 mdiobus_free +EXPORT_SYMBOL vmlinux 0xa0e7ec9b ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa1099607 proc_mkdir +EXPORT_SYMBOL vmlinux 0xa11fe137 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa13798f8 printk_ratelimit +EXPORT_SYMBOL vmlinux 0xa142d50e __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xa14983f6 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0xa156be1e tty_set_operations +EXPORT_SYMBOL vmlinux 0xa159114c tcp_proc_register +EXPORT_SYMBOL vmlinux 0xa16262d0 set_pages_array_uc +EXPORT_SYMBOL vmlinux 0xa19805e8 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xa1a5ba66 blk_plug_device_unlocked +EXPORT_SYMBOL vmlinux 0xa1b26d45 unbind_con_driver +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1d86b8f pnp_request_card_device +EXPORT_SYMBOL vmlinux 0xa1f5adb2 mb_cache_create +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa22ff01c bdevname +EXPORT_SYMBOL vmlinux 0xa2669400 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0xa27010ed unregister_quota_format +EXPORT_SYMBOL vmlinux 0xa29b1708 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0xa2a1e5c9 _write_lock_bh +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2b8a2ba __init_rwsem +EXPORT_SYMBOL vmlinux 0xa329f07e register_shrinker +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa33a826a find_get_pages_tag +EXPORT_SYMBOL vmlinux 0xa33b796f mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0xa33e429d pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xa34f1ef5 crc32_le +EXPORT_SYMBOL vmlinux 0xa350a8f8 set_memory_array_uc +EXPORT_SYMBOL vmlinux 0xa358afd8 udp_poll +EXPORT_SYMBOL vmlinux 0xa35c1f05 acpi_extract_package +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa36863a8 journal_get_write_access +EXPORT_SYMBOL vmlinux 0xa3b3a6a5 udp_prot +EXPORT_SYMBOL vmlinux 0xa3b3b3ee register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xa3bbcd80 acpi_set_gpe_type +EXPORT_SYMBOL vmlinux 0xa3c6bf4c pagevec_lookup +EXPORT_SYMBOL vmlinux 0xa3f92147 tty_insert_flip_string +EXPORT_SYMBOL vmlinux 0xa415b384 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0xa41c08d4 dma_release_declared_memory +EXPORT_SYMBOL vmlinux 0xa4396c54 xfrm_lookup +EXPORT_SYMBOL vmlinux 0xa43b9539 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa44ad274 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xa45df4ee rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0xa46ab7ed scsi_device_resume +EXPORT_SYMBOL vmlinux 0xa482b8dd pci_enable_bridges +EXPORT_SYMBOL vmlinux 0xa4ad37bd file_remove_suid +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa50ce492 md_integrity_register +EXPORT_SYMBOL vmlinux 0xa50d5126 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0xa5123cc5 phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0xa51cdfe8 __FIXADDR_TOP +EXPORT_SYMBOL vmlinux 0xa56f1315 mempool_free +EXPORT_SYMBOL vmlinux 0xa5808bbf tasklet_init +EXPORT_SYMBOL vmlinux 0xa589a039 sg_miter_stop +EXPORT_SYMBOL vmlinux 0xa58b6804 nla_parse +EXPORT_SYMBOL vmlinux 0xa591199d mca_device_transform_ioport +EXPORT_SYMBOL vmlinux 0xa5922bb1 kfifo_init +EXPORT_SYMBOL vmlinux 0xa595a2b1 md_register_thread +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5a633b9 sg_last +EXPORT_SYMBOL vmlinux 0xa5a94b21 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0xa5b5a507 ethtool_op_get_tx_csum +EXPORT_SYMBOL vmlinux 0xa5bbb17e proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0xa5c5bf97 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xa5cef8ad release_resource +EXPORT_SYMBOL vmlinux 0xa5cf9e21 phy_attach_direct +EXPORT_SYMBOL vmlinux 0xa5da0abd acpi_enter_sleep_state_s4bios +EXPORT_SYMBOL vmlinux 0xa5dce446 lro_vlan_hwaccel_receive_frags +EXPORT_SYMBOL vmlinux 0xa5ee973a mmc_remove_host +EXPORT_SYMBOL vmlinux 0xa617217b user_path_at +EXPORT_SYMBOL vmlinux 0xa63d85ab slhc_remember +EXPORT_SYMBOL vmlinux 0xa6485ca4 jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0xa68124fa hweight8 +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6a0e0eb d_instantiate_unique +EXPORT_SYMBOL vmlinux 0xa6bbeb2f blk_queue_make_request +EXPORT_SYMBOL vmlinux 0xa6c8c217 drop_super +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6e4993d mmc_host_lazy_disable +EXPORT_SYMBOL vmlinux 0xa703bf12 key_link +EXPORT_SYMBOL vmlinux 0xa7046549 vprintk +EXPORT_SYMBOL vmlinux 0xa70c6d0a tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0xa70decdf rtnl_unicast +EXPORT_SYMBOL vmlinux 0xa70fabbe release_evntsel_nmi +EXPORT_SYMBOL vmlinux 0xa71e7463 __first_cpu +EXPORT_SYMBOL vmlinux 0xa751f9ed mdio_bus_type +EXPORT_SYMBOL vmlinux 0xa7b4055c blk_put_request +EXPORT_SYMBOL vmlinux 0xa7b63dd8 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xa7d18379 __invalidate_device +EXPORT_SYMBOL vmlinux 0xa7eaf3b5 generic_listxattr +EXPORT_SYMBOL vmlinux 0xa8040da1 scsi_host_put +EXPORT_SYMBOL vmlinux 0xa804c0b4 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0xa806ba76 kernel_read +EXPORT_SYMBOL vmlinux 0xa85e036d iget5_locked +EXPORT_SYMBOL vmlinux 0xa8680729 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0xa89acbb3 acpi_evaluate_reference +EXPORT_SYMBOL vmlinux 0xa8a689a9 ethtool_op_set_sg +EXPORT_SYMBOL vmlinux 0xa8d68abd acpi_warning +EXPORT_SYMBOL vmlinux 0xa8fb3c49 set_anon_super +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa8feffe5 dquot_commit +EXPORT_SYMBOL vmlinux 0xa91b5561 acpi_video_backlight_support +EXPORT_SYMBOL vmlinux 0xa92bca1c sk_alloc +EXPORT_SYMBOL vmlinux 0xa964c0b8 release_sock +EXPORT_SYMBOL vmlinux 0xa9897656 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xa9a2c2ad give_up_console +EXPORT_SYMBOL vmlinux 0xa9bd2676 __vmalloc +EXPORT_SYMBOL vmlinux 0xa9fcf31d wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0xaa0865d5 tcp_make_synack +EXPORT_SYMBOL vmlinux 0xaa08b7cd ilookup5_nowait +EXPORT_SYMBOL vmlinux 0xaa0d444f blk_queue_ordered +EXPORT_SYMBOL vmlinux 0xaa25e841 pci_assign_resource +EXPORT_SYMBOL vmlinux 0xaa3945ce vfs_fsync_range +EXPORT_SYMBOL vmlinux 0xaa497268 tty_unregister_device +EXPORT_SYMBOL vmlinux 0xaa4b4172 ilookup +EXPORT_SYMBOL vmlinux 0xaa5bdb6b cfb_copyarea +EXPORT_SYMBOL vmlinux 0xaa6fb17a alloc_pci_dev +EXPORT_SYMBOL vmlinux 0xaa84a8ae acpi_processor_power_init_bm_check +EXPORT_SYMBOL vmlinux 0xaaaaacd1 ioremap_wc +EXPORT_SYMBOL vmlinux 0xaab06af8 _write_lock_irqsave +EXPORT_SYMBOL vmlinux 0xaab578bb skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0xaad0fe9b elevator_init +EXPORT_SYMBOL vmlinux 0xaae2780a eth_header_cache +EXPORT_SYMBOL vmlinux 0xaae50943 ps2_end_command +EXPORT_SYMBOL vmlinux 0xaae7fbc2 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaaebe34f mca_write_pos +EXPORT_SYMBOL vmlinux 0xaaf45875 acpi_lid_notifier_unregister +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab26d109 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab65ed80 set_memory_uc +EXPORT_SYMBOL vmlinux 0xab770678 rdmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0xab803609 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0xab8065db submit_bh +EXPORT_SYMBOL vmlinux 0xabb16e07 pcim_enable_device +EXPORT_SYMBOL vmlinux 0xabb9406d cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0xabc81efe kthread_create +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabe58975 tty_register_driver +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac29356a ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0xac4ef4b5 pci_request_region +EXPORT_SYMBOL vmlinux 0xac58ea5e acpi_unload_table_id +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xacc97b8e page_readlink +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xacdeb154 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xacdffcf0 pipe_to_file +EXPORT_SYMBOL vmlinux 0xace52bd5 napi_gro_receive +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad13c689 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xad158261 kmap_atomic_prot +EXPORT_SYMBOL vmlinux 0xad68eda5 eisa_driver_unregister +EXPORT_SYMBOL vmlinux 0xad81cae6 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0xad846d5b skb_gso_segment +EXPORT_SYMBOL vmlinux 0xad8d2367 dev_close +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadb0713e skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0xadc06f3d pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0xadc8c0af nf_reinject +EXPORT_SYMBOL vmlinux 0xadd4efdd tty_hung_up_p +EXPORT_SYMBOL vmlinux 0xadf42bd5 __request_region +EXPORT_SYMBOL vmlinux 0xae0e3313 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xae758d48 i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0xae75f004 ida_destroy +EXPORT_SYMBOL vmlinux 0xae8d2090 generic_file_open +EXPORT_SYMBOL vmlinux 0xaeb5fc16 ip_route_input +EXPORT_SYMBOL vmlinux 0xaebc654d posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0xaec655c7 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0xaed013b9 posix_acl_valid +EXPORT_SYMBOL vmlinux 0xaef109f8 generic_show_options +EXPORT_SYMBOL vmlinux 0xaf0b984e free_mdio_bitbang +EXPORT_SYMBOL vmlinux 0xaf1570d6 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0xaf2f9a4a generic_removexattr +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf4b1540 acpi_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0xaf57e11e textsearch_destroy +EXPORT_SYMBOL vmlinux 0xaf635ee6 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0xaf8ffc57 __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xaf99dac4 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0xafa5d12d __serio_register_port +EXPORT_SYMBOL vmlinux 0xafb32e4c register_netdevice +EXPORT_SYMBOL vmlinux 0xafce957e sk_run_filter +EXPORT_SYMBOL vmlinux 0xafe36015 mca_device_read_stored_pos +EXPORT_SYMBOL vmlinux 0xaff1cb2b i2c_del_driver +EXPORT_SYMBOL vmlinux 0xaffef7cf sk_send_sigurg +EXPORT_SYMBOL vmlinux 0xb0010a83 pid_task +EXPORT_SYMBOL vmlinux 0xb037337b generic_write_checks +EXPORT_SYMBOL vmlinux 0xb045580f rfkill_register +EXPORT_SYMBOL vmlinux 0xb077ef32 acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0xb07dfb3d acpi_remove_gpe_handler +EXPORT_SYMBOL vmlinux 0xb08f76ad gen_pool_free +EXPORT_SYMBOL vmlinux 0xb09c57a9 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0c2df6e wait_for_key_construction +EXPORT_SYMBOL vmlinux 0xb0db0388 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0xb0dec233 skb_dma_map +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb131946b udp_proc_register +EXPORT_SYMBOL vmlinux 0xb140f3c4 __break_lease +EXPORT_SYMBOL vmlinux 0xb146e378 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0xb153941c pipe_lock +EXPORT_SYMBOL vmlinux 0xb156a86b ppp_input +EXPORT_SYMBOL vmlinux 0xb15cd4da sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xb16ecdd3 inode_add_bytes +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1cfad22 rdmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xb1ddcda2 skb_recycle_check +EXPORT_SYMBOL vmlinux 0xb1f975aa unlock_kernel +EXPORT_SYMBOL vmlinux 0xb219d56c wbinvd_on_cpu +EXPORT_SYMBOL vmlinux 0xb224fbe2 param_get_short +EXPORT_SYMBOL vmlinux 0xb22fe6a3 netdev_increment_features +EXPORT_SYMBOL vmlinux 0xb23e0587 mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0xb24f5c0a do_SAK +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb272fd2a proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xb27510ef atomic64_inc_return +EXPORT_SYMBOL vmlinux 0xb279da12 pv_lock_ops +EXPORT_SYMBOL vmlinux 0xb29bc8bd idr_remove +EXPORT_SYMBOL vmlinux 0xb29f2094 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0xb2a70f28 kmap_high +EXPORT_SYMBOL vmlinux 0xb2bbd699 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0xb2e8666e dquot_drop +EXPORT_SYMBOL vmlinux 0xb2efb6be mca_read_stored_pos +EXPORT_SYMBOL vmlinux 0xb2fd5ceb __put_user_4 +EXPORT_SYMBOL vmlinux 0xb30abf8d idr_get_new_above +EXPORT_SYMBOL vmlinux 0xb31526ee sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0xb3205415 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0xb3284531 acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xb33c7dc6 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0xb3480a33 dm_table_get +EXPORT_SYMBOL vmlinux 0xb34d4c2e acpi_terminate +EXPORT_SYMBOL vmlinux 0xb352177e find_first_bit +EXPORT_SYMBOL vmlinux 0xb368e7a9 journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xb376d79d radix_tree_tagged +EXPORT_SYMBOL vmlinux 0xb38495a1 md_write_end +EXPORT_SYMBOL vmlinux 0xb3912fd9 check_disk_change +EXPORT_SYMBOL vmlinux 0xb3994c7a per_cpu__kstat +EXPORT_SYMBOL vmlinux 0xb3a307c6 si_meminfo +EXPORT_SYMBOL vmlinux 0xb3ae5d52 pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0xb3c13f63 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0xb3c42c94 per_cpu__x86_bios_cpu_apicid +EXPORT_SYMBOL vmlinux 0xb3cca7e4 set_disk_ro +EXPORT_SYMBOL vmlinux 0xb3d0d449 i2c_master_recv +EXPORT_SYMBOL vmlinux 0xb3d2a8ab kmem_cache_size +EXPORT_SYMBOL vmlinux 0xb3e0590d acpi_set_current_resources +EXPORT_SYMBOL vmlinux 0xb3fc421b phy_start +EXPORT_SYMBOL vmlinux 0xb3fe0641 input_flush_device +EXPORT_SYMBOL vmlinux 0xb411da38 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb42453d3 param_get_invbool +EXPORT_SYMBOL vmlinux 0xb4277064 sock_i_uid +EXPORT_SYMBOL vmlinux 0xb4279ab7 downgrade_write +EXPORT_SYMBOL vmlinux 0xb4390f9a mcount +EXPORT_SYMBOL vmlinux 0xb45578b8 memscan +EXPORT_SYMBOL vmlinux 0xb458ad27 read_cache_page +EXPORT_SYMBOL vmlinux 0xb45b24f6 k8_nb_ids +EXPORT_SYMBOL vmlinux 0xb45eacc6 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb47174dd acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0xb4864f82 kmalloc_caches +EXPORT_SYMBOL vmlinux 0xb4b0ee4e down_read +EXPORT_SYMBOL vmlinux 0xb4ca9447 __kfifo_get +EXPORT_SYMBOL vmlinux 0xb4dd94f8 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0xb4e7a0d7 sock_get_timestampns +EXPORT_SYMBOL vmlinux 0xb5044271 vsscanf +EXPORT_SYMBOL vmlinux 0xb51bdc26 skb_dma_unmap +EXPORT_SYMBOL vmlinux 0xb5418861 atomic64_add +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb54ca40c dev_unicast_unsync +EXPORT_SYMBOL vmlinux 0xb55fe93e scsi_add_device +EXPORT_SYMBOL vmlinux 0xb576f48e framebuffer_release +EXPORT_SYMBOL vmlinux 0xb586b488 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0xb58d2de3 dquot_alloc +EXPORT_SYMBOL vmlinux 0xb5a13c8c con_is_bound +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5ac6aa3 scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0xb5ad75bd ethtool_op_get_ufo +EXPORT_SYMBOL vmlinux 0xb5ca1c46 slhc_free +EXPORT_SYMBOL vmlinux 0xb5d52c27 ec_transaction +EXPORT_SYMBOL vmlinux 0xb5ec215d file_fsync +EXPORT_SYMBOL vmlinux 0xb5ef81e6 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0xb60f338d vfs_set_dqblk +EXPORT_SYMBOL vmlinux 0xb61659da security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0xb6205de6 dquot_commit_info +EXPORT_SYMBOL vmlinux 0xb62c2f09 remove_proc_entry +EXPORT_SYMBOL vmlinux 0xb6353555 per_cpu__x86_cpu_to_apicid +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb6896671 crc_t10dif +EXPORT_SYMBOL vmlinux 0xb6938314 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6bffb99 kstat_irqs_cpu +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6c7a4af __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0xb6e227aa rtc_lock +EXPORT_SYMBOL vmlinux 0xb6ed1e53 strncpy +EXPORT_SYMBOL vmlinux 0xb72397d5 printk +EXPORT_SYMBOL vmlinux 0xb72907e5 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xb758b225 acpi_disable_event +EXPORT_SYMBOL vmlinux 0xb761708d __netdev_alloc_page +EXPORT_SYMBOL vmlinux 0xb76c25f5 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xb77731a9 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xb77d177e call_usermodehelper_pipe +EXPORT_SYMBOL vmlinux 0xb798b8e4 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0xb7af8a28 uart_resume_port +EXPORT_SYMBOL vmlinux 0xb7b61546 crc32_be +EXPORT_SYMBOL vmlinux 0xb7b8815f pci_disable_msix +EXPORT_SYMBOL vmlinux 0xb7bc6886 kthread_stop +EXPORT_SYMBOL vmlinux 0xb7ccb3c7 twl4030_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xb7f085e7 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xb80ab00b bdget_disk +EXPORT_SYMBOL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL vmlinux 0xb829e6e1 kern_path +EXPORT_SYMBOL vmlinux 0xb83b56e5 bioset_create +EXPORT_SYMBOL vmlinux 0xb84e9337 tty_hangup +EXPORT_SYMBOL vmlinux 0xb84ed32f proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0xb86436dd alloc_trdev +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb8905b9d acpi_bus_get_device +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8aa2342 __check_region +EXPORT_SYMBOL vmlinux 0xb8c1daa6 vfs_quota_on +EXPORT_SYMBOL vmlinux 0xb8e57f26 dquot_initialize +EXPORT_SYMBOL vmlinux 0xb8e7ce2c __put_user_8 +EXPORT_SYMBOL vmlinux 0xb90d5727 cfb_imageblit +EXPORT_SYMBOL vmlinux 0xb91cd734 udp_disconnect +EXPORT_SYMBOL vmlinux 0xb924e8c1 dev_mc_sync +EXPORT_SYMBOL vmlinux 0xb942b513 smp_call_function_many +EXPORT_SYMBOL vmlinux 0xb94847db xfrm_input +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb98ef804 vm_stat +EXPORT_SYMBOL vmlinux 0xb99e91e3 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xb9bc36b1 unregister_8022_client +EXPORT_SYMBOL vmlinux 0xb9bdb16a scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0xb9ddfec7 dma_mark_declared_memory_occupied +EXPORT_SYMBOL vmlinux 0xb9fd2205 add_efi_memmap +EXPORT_SYMBOL vmlinux 0xba1f15a8 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xba2d8594 ec_read +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba6eba6a kernel_getpeername +EXPORT_SYMBOL vmlinux 0xba8757b1 pci_map_rom +EXPORT_SYMBOL vmlinux 0xba90165d inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xba9c90ad unregister_qdisc +EXPORT_SYMBOL vmlinux 0xbaaab8ae timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xbac1dfe0 blk_queue_max_hw_segments +EXPORT_SYMBOL vmlinux 0xbafd65ab bio_integrity_advance +EXPORT_SYMBOL vmlinux 0xbb167766 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xbb17e6c6 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xbb18892b scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb5225cf key_validate +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb60c02b inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0xbb89de17 ida_init +EXPORT_SYMBOL vmlinux 0xbb954238 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xbc14ef33 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0xbc280480 pci_find_capability +EXPORT_SYMBOL vmlinux 0xbc2a8310 dev_get_by_name +EXPORT_SYMBOL vmlinux 0xbc771cbf filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xbc7c37e7 phy_driver_register +EXPORT_SYMBOL vmlinux 0xbc8c14ee cap_netlink_recv +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbcc5fd54 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xbd058cda put_page +EXPORT_SYMBOL vmlinux 0xbd20911d inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0xbd39bc5f revalidate_disk +EXPORT_SYMBOL vmlinux 0xbdb0f40b pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0xbdb377f9 journal_forget +EXPORT_SYMBOL vmlinux 0xbdb50170 seq_putc +EXPORT_SYMBOL vmlinux 0xbdb6500e per_cpu__cpu_core_map +EXPORT_SYMBOL vmlinux 0xbdb6e94a request_key +EXPORT_SYMBOL vmlinux 0xbde9be46 pci_get_class +EXPORT_SYMBOL vmlinux 0xbdf33cfa scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbe0e5118 nla_memcmp +EXPORT_SYMBOL vmlinux 0xbe5f4037 dquot_acquire +EXPORT_SYMBOL vmlinux 0xbe63ee40 request_resource +EXPORT_SYMBOL vmlinux 0xbe8d99ac cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0xbee2539f set_pages_wb +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf255a7f mca_device_write_pos +EXPORT_SYMBOL vmlinux 0xbf42eed0 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0xbf60f337 scsi_host_get +EXPORT_SYMBOL vmlinux 0xbf610131 vga_get +EXPORT_SYMBOL vmlinux 0xbf7096a9 force_sig +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf8b39e9 isapnp_present +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xbff2b0c4 fget +EXPORT_SYMBOL vmlinux 0xbffcc31d skb_find_text +EXPORT_SYMBOL vmlinux 0xc003c637 __strncpy_from_user +EXPORT_SYMBOL vmlinux 0xc0044724 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xc01eed33 __copy_from_user_ll_nozero +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc073afb8 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0xc09affcd skb_pull +EXPORT_SYMBOL vmlinux 0xc09eac00 tcf_hash_search +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0aa5751 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xc0b3f7ff sock_sendmsg +EXPORT_SYMBOL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL vmlinux 0xc0f65988 machine_real_restart +EXPORT_SYMBOL vmlinux 0xc0fef76c __dst_free +EXPORT_SYMBOL vmlinux 0xc1032376 pskb_copy +EXPORT_SYMBOL vmlinux 0xc1147a40 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0xc11d8093 iov_shorten +EXPORT_SYMBOL vmlinux 0xc12e29b7 dst_destroy +EXPORT_SYMBOL vmlinux 0xc139a5c5 i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0xc1433af3 mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0xc19c8163 atomic64_cmpxchg +EXPORT_SYMBOL vmlinux 0xc1a59564 km_query +EXPORT_SYMBOL vmlinux 0xc1ac2d68 pci_match_id +EXPORT_SYMBOL vmlinux 0xc1e39862 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0xc1e4cf7e scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xc1e86310 vc_cons +EXPORT_SYMBOL vmlinux 0xc22eb9ca iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0xc254af48 dcache_lock +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc26625cb dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0xc280a525 __copy_from_user_ll +EXPORT_SYMBOL vmlinux 0xc28e38dc netlink_ack +EXPORT_SYMBOL vmlinux 0xc2939e7d rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0xc2a15e90 search_binary_handler +EXPORT_SYMBOL vmlinux 0xc2b95960 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xc2bdd15c posix_acl_permission +EXPORT_SYMBOL vmlinux 0xc2d711e1 krealloc +EXPORT_SYMBOL vmlinux 0xc2d8c2a8 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0xc2e3e86f __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2edcb6b skb_trim +EXPORT_SYMBOL vmlinux 0xc2f0f03a pci_enable_device_io +EXPORT_SYMBOL vmlinux 0xc302ef26 splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0xc311314f i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0xc316b98c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0xc33f6f4c on_each_cpu +EXPORT_SYMBOL vmlinux 0xc33f81d2 unregister_console +EXPORT_SYMBOL vmlinux 0xc3461903 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0xc34b1013 scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0xc34fa44e skb_queue_tail +EXPORT_SYMBOL vmlinux 0xc3654d60 pnp_get_resource +EXPORT_SYMBOL vmlinux 0xc38256d2 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xc38c0053 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xc3aaf0a9 __put_user_1 +EXPORT_SYMBOL vmlinux 0xc3cf1128 in_group_p +EXPORT_SYMBOL vmlinux 0xc3fa6a59 memchr +EXPORT_SYMBOL vmlinux 0xc402cc99 register_acpi_notifier +EXPORT_SYMBOL vmlinux 0xc406a40e vfs_dq_quota_on_remount +EXPORT_SYMBOL vmlinux 0xc41dc729 inet_del_protocol +EXPORT_SYMBOL vmlinux 0xc41efd47 vga_client_register +EXPORT_SYMBOL vmlinux 0xc430082b flush_old_exec +EXPORT_SYMBOL vmlinux 0xc441f99a single_open +EXPORT_SYMBOL vmlinux 0xc456b0ef __put_cred +EXPORT_SYMBOL vmlinux 0xc457a7da neigh_event_ns +EXPORT_SYMBOL vmlinux 0xc4733e29 mpage_readpage +EXPORT_SYMBOL vmlinux 0xc4774900 xfrm_state_add +EXPORT_SYMBOL vmlinux 0xc47a0a45 pci_set_power_state +EXPORT_SYMBOL vmlinux 0xc494cb61 qdisc_list_del +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4a49d94 skb_tx_hash +EXPORT_SYMBOL vmlinux 0xc509d0cf kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0xc52dd49a scsi_host_set_state +EXPORT_SYMBOL vmlinux 0xc52f5714 fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0xc54bbbf2 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc5567579 security_path_mknod +EXPORT_SYMBOL vmlinux 0xc55f7dc7 _write_trylock +EXPORT_SYMBOL vmlinux 0xc5718627 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0xc578aa37 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xc5909549 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xc5b95aa6 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0xc5bc3b44 security_file_permission +EXPORT_SYMBOL vmlinux 0xc5c115e3 vfs_quota_disable +EXPORT_SYMBOL vmlinux 0xc5f87870 ll_rw_block +EXPORT_SYMBOL vmlinux 0xc61204a3 thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0xc61a8cc7 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0xc62c329a find_vma +EXPORT_SYMBOL vmlinux 0xc633495b schedule_work +EXPORT_SYMBOL vmlinux 0xc64968ac md_error +EXPORT_SYMBOL vmlinux 0xc64b8442 copy_io_context +EXPORT_SYMBOL vmlinux 0xc68a6752 bio_map_user +EXPORT_SYMBOL vmlinux 0xc69fe1e5 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xc6a8175e slow_work_unregister_user +EXPORT_SYMBOL vmlinux 0xc6a8f9fe default_file_splice_read +EXPORT_SYMBOL vmlinux 0xc6ac6e9c kmap_atomic +EXPORT_SYMBOL vmlinux 0xc6ae3775 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0xc6b8ebd0 send_sig_info +EXPORT_SYMBOL vmlinux 0xc6c0d826 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xc7131591 pcibios_align_resource +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc722227e posix_acl_clone +EXPORT_SYMBOL vmlinux 0xc732d1e2 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0xc768de19 cpu_all_bits +EXPORT_SYMBOL vmlinux 0xc778207d wake_up_process +EXPORT_SYMBOL vmlinux 0xc77f2690 follow_down +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a1b204 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7d9c5b4 load_nls_default +EXPORT_SYMBOL vmlinux 0xc7e8cd16 bioset_free +EXPORT_SYMBOL vmlinux 0xc7ec6c27 strspn +EXPORT_SYMBOL vmlinux 0xc7ed14d1 rfkill_set_states +EXPORT_SYMBOL vmlinux 0xc854ae4b do_mmap_pgoff +EXPORT_SYMBOL vmlinux 0xc8671c9c end_buffer_async_write +EXPORT_SYMBOL vmlinux 0xc88906b7 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0xc8943eb0 posix_lock_file +EXPORT_SYMBOL vmlinux 0xc898625d atomic64_inc_and_test +EXPORT_SYMBOL vmlinux 0xc8a04b7f skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8bf1a34 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xc8ca3e25 acpi_get_child +EXPORT_SYMBOL vmlinux 0xc8db684b unlock_super +EXPORT_SYMBOL vmlinux 0xc8ecbb95 blkdev_get +EXPORT_SYMBOL vmlinux 0xc90b6b74 d_lookup +EXPORT_SYMBOL vmlinux 0xc923f612 ps2_begin_command +EXPORT_SYMBOL vmlinux 0xc93e33a5 take_over_console +EXPORT_SYMBOL vmlinux 0xc95adc21 tcp_ioctl +EXPORT_SYMBOL vmlinux 0xc998d641 icmp_err_convert +EXPORT_SYMBOL vmlinux 0xc9ab2eef acpi_os_wait_events_complete +EXPORT_SYMBOL vmlinux 0xc9c23c5b elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0xc9ec8704 udp_table +EXPORT_SYMBOL vmlinux 0xca24e31e journal_check_used_features +EXPORT_SYMBOL vmlinux 0xca2b39e9 phy_connect +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca854bbc pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0xca8acc78 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xcac33900 dev_remove_pack +EXPORT_SYMBOL vmlinux 0xcb062934 init_special_inode +EXPORT_SYMBOL vmlinux 0xcb16d40a d_validate +EXPORT_SYMBOL vmlinux 0xcb2cd585 udp_ioctl +EXPORT_SYMBOL vmlinux 0xcb3a03ae tcp_sendpage +EXPORT_SYMBOL vmlinux 0xcb485b14 read_cache_pages +EXPORT_SYMBOL vmlinux 0xcb6beb40 hweight32 +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcb797364 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0xcb7c52c2 inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0xcb8025f9 audit_log_start +EXPORT_SYMBOL vmlinux 0xcb9aa59a get_fs_type +EXPORT_SYMBOL vmlinux 0xcbab40c0 dcache_dir_open +EXPORT_SYMBOL vmlinux 0xcbb11170 create_mnt_ns +EXPORT_SYMBOL vmlinux 0xcbc1b6ac tty_check_change +EXPORT_SYMBOL vmlinux 0xcbd89027 alloc_hippi_dev +EXPORT_SYMBOL vmlinux 0xcc0b790c inode_setattr +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc43290c kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xcc4b9394 module_layout +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc51ee50 dma_spin_lock +EXPORT_SYMBOL vmlinux 0xcc5aecc3 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc9d5c63 elv_abort_queue +EXPORT_SYMBOL vmlinux 0xccc986bb pci_enable_device +EXPORT_SYMBOL vmlinux 0xccd4e08f netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0xccf55d56 blk_queue_bounce +EXPORT_SYMBOL vmlinux 0xcd46092f ip_route_me_harder +EXPORT_SYMBOL vmlinux 0xcd4aa44a abort_creds +EXPORT_SYMBOL vmlinux 0xcd5ed293 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xcd6f4e34 sk_release_kernel +EXPORT_SYMBOL vmlinux 0xcda07e8a dst_discard +EXPORT_SYMBOL vmlinux 0xcdd2ef14 fd_install +EXPORT_SYMBOL vmlinux 0xcdf87af9 kobject_add +EXPORT_SYMBOL vmlinux 0xce199d31 call_usermodehelper_freeinfo +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce2519dc lro_flush_pkt +EXPORT_SYMBOL vmlinux 0xce36ded6 sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xce4474f8 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xce4904a4 acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce7c791e dev_alloc_skb +EXPORT_SYMBOL vmlinux 0xce8fd6f6 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0xceae0e71 napi_reuse_skb +EXPORT_SYMBOL vmlinux 0xceb07184 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0xcecef14b eth_header +EXPORT_SYMBOL vmlinux 0xcee599c7 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf1a1511 bdi_destroy +EXPORT_SYMBOL vmlinux 0xcf1d28ab acpi_error +EXPORT_SYMBOL vmlinux 0xcf28a7a6 filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0xcf438fc4 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0xcf4545bd generic_getxattr +EXPORT_SYMBOL vmlinux 0xcf6cfe1f msrs_free +EXPORT_SYMBOL vmlinux 0xcf9eef2e vfs_create +EXPORT_SYMBOL vmlinux 0xcfa6e1fb delayed_slow_work_enqueue +EXPORT_SYMBOL vmlinux 0xcfadd723 __percpu_counter_add +EXPORT_SYMBOL vmlinux 0xcfb9006e jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0xcfc5e865 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xcfd67e90 end_page_writeback +EXPORT_SYMBOL vmlinux 0xcfe05d4d register_kmmio_probe +EXPORT_SYMBOL vmlinux 0xcff53400 kref_put +EXPORT_SYMBOL vmlinux 0xd00e6792 kill_fasync +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd01c8477 d_rehash +EXPORT_SYMBOL vmlinux 0xd02c784f jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0xd037e855 mca_register_driver +EXPORT_SYMBOL vmlinux 0xd0433b08 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0xd07a9b0b pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0xd08197fa acpi_load_tables +EXPORT_SYMBOL vmlinux 0xd098d697 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0xd0b9c55e unlock_rename +EXPORT_SYMBOL vmlinux 0xd0c4ffe5 napi_gro_frags +EXPORT_SYMBOL vmlinux 0xd0ce0347 scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0xd0d8621b strlen +EXPORT_SYMBOL vmlinux 0xd0eb8db7 devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd0f13300 proto_unregister +EXPORT_SYMBOL vmlinux 0xd11e7624 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xd12f14d7 kmap +EXPORT_SYMBOL vmlinux 0xd13cb40f bio_endio +EXPORT_SYMBOL vmlinux 0xd1472061 acpi_pci_register_driver +EXPORT_SYMBOL vmlinux 0xd152a9bf __getblk +EXPORT_SYMBOL vmlinux 0xd15a0127 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0xd174dcf0 vfs_unlink +EXPORT_SYMBOL vmlinux 0xd17ecc22 per_cpu__cpu_sibling_map +EXPORT_SYMBOL vmlinux 0xd18b6eb2 acpi_unmap_lsapic +EXPORT_SYMBOL vmlinux 0xd19c8031 names_cachep +EXPORT_SYMBOL vmlinux 0xd19cd3e5 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0xd1a82441 do_splice_to +EXPORT_SYMBOL vmlinux 0xd1e890f9 kunmap_atomic +EXPORT_SYMBOL vmlinux 0xd1f6c5f3 smp_num_siblings +EXPORT_SYMBOL vmlinux 0xd1f91bcd dev_base_lock +EXPORT_SYMBOL vmlinux 0xd1fb24d1 sysctl_ms_jiffies +EXPORT_SYMBOL vmlinux 0xd2001bd0 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xd2445025 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xd251d7b0 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xd2555f19 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xd25a9ff1 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd267d42c down_killable +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2a68761 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0xd2a75ee0 dmi_first_match +EXPORT_SYMBOL vmlinux 0xd2a941d4 sg_init_table +EXPORT_SYMBOL vmlinux 0xd2d86d4a generic_file_aio_read +EXPORT_SYMBOL vmlinux 0xd2ee19fa tcp_disconnect +EXPORT_SYMBOL vmlinux 0xd32e52c7 posix_acl_chmod_masq +EXPORT_SYMBOL vmlinux 0xd34f0c62 gen_pool_create +EXPORT_SYMBOL vmlinux 0xd3540ea5 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xd35a46d3 pci_get_slot +EXPORT_SYMBOL vmlinux 0xd37d58e8 noop_qdisc +EXPORT_SYMBOL vmlinux 0xd380d20f path_put +EXPORT_SYMBOL vmlinux 0xd390b0cb sk_stop_timer +EXPORT_SYMBOL vmlinux 0xd3951da4 acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0xd3a710d4 skb_put +EXPORT_SYMBOL vmlinux 0xd3d967f8 mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0xd3eb3f7d km_state_notify +EXPORT_SYMBOL vmlinux 0xd3f74cf1 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xd3f91bb9 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xd418e1c0 adjust_resource +EXPORT_SYMBOL vmlinux 0xd426c1f1 lock_may_read +EXPORT_SYMBOL vmlinux 0xd427a815 cdev_del +EXPORT_SYMBOL vmlinux 0xd42b7232 _write_unlock_bh +EXPORT_SYMBOL vmlinux 0xd42d67a8 security_task_getsecid +EXPORT_SYMBOL vmlinux 0xd4645c65 eisa_driver_register +EXPORT_SYMBOL vmlinux 0xd46a0238 uart_suspend_port +EXPORT_SYMBOL vmlinux 0xd47bae49 inetdev_by_index +EXPORT_SYMBOL vmlinux 0xd488483f pci_pme_capable +EXPORT_SYMBOL vmlinux 0xd4caa9c1 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0xd4d2c67c dquot_reserve_space +EXPORT_SYMBOL vmlinux 0xd4ddf73a bdget +EXPORT_SYMBOL vmlinux 0xd50fef48 acpi_detach_data +EXPORT_SYMBOL vmlinux 0xd5100ede genl_register_ops +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd527afff neigh_for_each +EXPORT_SYMBOL vmlinux 0xd52a3e6d neigh_resolve_output +EXPORT_SYMBOL vmlinux 0xd53290b3 dev_alloc_name +EXPORT_SYMBOL vmlinux 0xd54343d2 pnp_device_detach +EXPORT_SYMBOL vmlinux 0xd55001ab sock_create_kern +EXPORT_SYMBOL vmlinux 0xd55e08e2 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0xd5638e48 journal_load +EXPORT_SYMBOL vmlinux 0xd5688a7a radix_tree_insert +EXPORT_SYMBOL vmlinux 0xd57145db scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0xd5962c22 simple_rmdir +EXPORT_SYMBOL vmlinux 0xd5ef6ca9 ip_ct_attach +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd63c1cc0 udp_sendmsg +EXPORT_SYMBOL vmlinux 0xd65c7b4c pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0xd688b460 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0xd6a78d08 smp_call_function_single +EXPORT_SYMBOL vmlinux 0xd6b2fd46 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0xd6b33026 cpu_khz +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f17664 pci_fixup_device +EXPORT_SYMBOL vmlinux 0xd7114e01 bio_kmalloc +EXPORT_SYMBOL vmlinux 0xd73d7d58 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0xd73eb17d tcf_em_unregister +EXPORT_SYMBOL vmlinux 0xd74bbeaa simple_transaction_read +EXPORT_SYMBOL vmlinux 0xd75bc185 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0xd75f406f seq_release_private +EXPORT_SYMBOL vmlinux 0xd77784ad address_space_init_once +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd7a6fafa panic_notifier_list +EXPORT_SYMBOL vmlinux 0xd7ae2506 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0xd7c72359 security_inode_readlink +EXPORT_SYMBOL vmlinux 0xd7cc3a93 tcp_close +EXPORT_SYMBOL vmlinux 0xd7d2e83e acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0xd7d36d1a idr_find +EXPORT_SYMBOL vmlinux 0xd7d67687 get_io_context +EXPORT_SYMBOL vmlinux 0xd7dd777b reserve_perfctr_nmi +EXPORT_SYMBOL vmlinux 0xd7e9988d posix_unblock_lock +EXPORT_SYMBOL vmlinux 0xd82613c0 atomic64_sub_and_test +EXPORT_SYMBOL vmlinux 0xd8282ff0 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0xd82b6642 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xd83791bc nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd843c736 blk_register_region +EXPORT_SYMBOL vmlinux 0xd8493aa2 __f_setown +EXPORT_SYMBOL vmlinux 0xd849a352 lease_modify +EXPORT_SYMBOL vmlinux 0xd84f5ad1 lookup_bdev +EXPORT_SYMBOL vmlinux 0xd851af78 up_write +EXPORT_SYMBOL vmlinux 0xd8594068 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xd872f46b i2c_release_client +EXPORT_SYMBOL vmlinux 0xd87af5fd inet6_del_protocol +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a2ab95 in_egroup_p +EXPORT_SYMBOL vmlinux 0xd8a544e0 ip_setsockopt +EXPORT_SYMBOL vmlinux 0xd8a65c38 atomic64_sub +EXPORT_SYMBOL vmlinux 0xd8ac3add pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd9091363 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0xd91f1e46 phy_sanitize_settings +EXPORT_SYMBOL vmlinux 0xd953d515 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xd957c5bb nlmsg_notify +EXPORT_SYMBOL vmlinux 0xd960e09d scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xd963a74a flush_delayed_work +EXPORT_SYMBOL vmlinux 0xd96f1970 pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0xd96f4dd5 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd996d859 idr_pre_get +EXPORT_SYMBOL vmlinux 0xd999c118 dma_alloc_from_coherent +EXPORT_SYMBOL vmlinux 0xd99e60fe sock_init_data +EXPORT_SYMBOL vmlinux 0xd9aa6a5e init_file +EXPORT_SYMBOL vmlinux 0xd9c272aa mca_mark_as_unused +EXPORT_SYMBOL vmlinux 0xd9c8782f sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0xd9ea6859 tc_classify_compat +EXPORT_SYMBOL vmlinux 0xda08c0d7 pcibios_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0xda0a6b0e acpi_map_lsapic +EXPORT_SYMBOL vmlinux 0xda1a7335 kasprintf +EXPORT_SYMBOL vmlinux 0xda20271a scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xda3863ca inet_frag_kill +EXPORT_SYMBOL vmlinux 0xda3f8abb nobh_write_begin +EXPORT_SYMBOL vmlinux 0xda52676b unregister_snap_client +EXPORT_SYMBOL vmlinux 0xda60d773 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xda7c7d28 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xda8b3f76 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0xda8fd495 isapnp_write_byte +EXPORT_SYMBOL vmlinux 0xda928914 nmi_watchdog +EXPORT_SYMBOL vmlinux 0xda93d6cf input_unfilter_device +EXPORT_SYMBOL vmlinux 0xdaa57ec3 totalhigh_pages +EXPORT_SYMBOL vmlinux 0xdb4c07bf dev_addr_del +EXPORT_SYMBOL vmlinux 0xdb4c88b4 groups_alloc +EXPORT_SYMBOL vmlinux 0xdb604fe5 may_umount_tree +EXPORT_SYMBOL vmlinux 0xdb864d65 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xdba23867 __kill_fasync +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc053205 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc342dcc path_get +EXPORT_SYMBOL vmlinux 0xdc3790dd tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0xdc3ca3b5 add_disk +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc50cfee gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0xdc6bce07 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xdc873a70 screen_info +EXPORT_SYMBOL vmlinux 0xdc91d9ba skb_copy_expand +EXPORT_SYMBOL vmlinux 0xdc95da79 bio_clone +EXPORT_SYMBOL vmlinux 0xdca0e950 genl_register_family +EXPORT_SYMBOL vmlinux 0xdca10fe2 acpi_is_video_device +EXPORT_SYMBOL vmlinux 0xdca13b05 truncate_pagecache +EXPORT_SYMBOL vmlinux 0xdcbca35a fb_is_primary_device +EXPORT_SYMBOL vmlinux 0xdd08793b tty_shutdown +EXPORT_SYMBOL vmlinux 0xdd0a2ba2 strlcat +EXPORT_SYMBOL vmlinux 0xdd1f9d95 mmc_release_host +EXPORT_SYMBOL vmlinux 0xdd2509aa register_snap_client +EXPORT_SYMBOL vmlinux 0xdd2d285d dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0xdd6bfccd radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0xdd7e9277 dm_dirty_log_create +EXPORT_SYMBOL vmlinux 0xdda4c992 dm_table_unplug_all +EXPORT_SYMBOL vmlinux 0xdda7aacf blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0xddadbef6 page_put_link +EXPORT_SYMBOL vmlinux 0xddd3f999 dquot_claim_space +EXPORT_SYMBOL vmlinux 0xddd8c922 generic_setlease +EXPORT_SYMBOL vmlinux 0xde1fd694 acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0xde217adb vfs_rmdir +EXPORT_SYMBOL vmlinux 0xde31b902 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xde49a7e0 sock_get_timestamp +EXPORT_SYMBOL vmlinux 0xde69a5dd blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0xde75b689 set_irq_type +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xde9bc1d2 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0xdec3843e mmc_suspend_host +EXPORT_SYMBOL vmlinux 0xdedc9e6c cdrom_mode_select +EXPORT_SYMBOL vmlinux 0xdedcf48f clocksource_register +EXPORT_SYMBOL vmlinux 0xdee312e3 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0xdf0da3cc acpi_get_devices +EXPORT_SYMBOL vmlinux 0xdf198401 scsi_target_resume +EXPORT_SYMBOL vmlinux 0xdf2a12db netif_device_attach +EXPORT_SYMBOL vmlinux 0xdf4c638b key_negate_and_link +EXPORT_SYMBOL vmlinux 0xdf4c8767 ns_to_timeval +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf614058 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0xdf63135f kernel_getsockopt +EXPORT_SYMBOL vmlinux 0xdf6fa9e8 del_gendisk +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf904155 nf_register_hook +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf9d3e0b blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0xdf9e2236 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xdfa3a303 generic_write_sync +EXPORT_SYMBOL vmlinux 0xdfa8144b nobh_writepage +EXPORT_SYMBOL vmlinux 0xdfc5169b slhc_init +EXPORT_SYMBOL vmlinux 0xdfd053ef ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0xdfed75ea pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0xe0027988 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xe006774a pci_set_master +EXPORT_SYMBOL vmlinux 0xe027859b tcp_connect +EXPORT_SYMBOL vmlinux 0xe042ed9b inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0xe04a78a4 __elv_add_request +EXPORT_SYMBOL vmlinux 0xe074c932 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe094ef39 sg_next +EXPORT_SYMBOL vmlinux 0xe0a501e3 idr_remove_all +EXPORT_SYMBOL vmlinux 0xe0ac8bd2 acpi_bus_generate_netlink_event +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0bc24a1 param_set_ushort +EXPORT_SYMBOL vmlinux 0xe0c9b23f serio_reconnect +EXPORT_SYMBOL vmlinux 0xe0e65458 tcf_hash_check +EXPORT_SYMBOL vmlinux 0xe0f105a3 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0xe10cf83f cpu_sysdev_class +EXPORT_SYMBOL vmlinux 0xe120e4ba __ip_select_ident +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe152fc9d dump_trace +EXPORT_SYMBOL vmlinux 0xe1603228 vfs_get_dqinfo +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe1881ac4 vfs_quota_on_path +EXPORT_SYMBOL vmlinux 0xe190cbb6 ps2_handle_response +EXPORT_SYMBOL vmlinux 0xe1a74fa5 blk_remove_plug +EXPORT_SYMBOL vmlinux 0xe1a81c3a icmpv6msg_statistics +EXPORT_SYMBOL vmlinux 0xe1bbf2fe fddi_type_trans +EXPORT_SYMBOL vmlinux 0xe1dd9288 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0xe1fc26a6 dev_gro_receive +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe23d7acb up_read +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe2507bc4 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xe25946ba pci_release_regions +EXPORT_SYMBOL vmlinux 0xe2a6f98c zero_fill_bio +EXPORT_SYMBOL vmlinux 0xe2c4485a tcp4_gro_receive +EXPORT_SYMBOL vmlinux 0xe2d49ab7 pci_iounmap +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e5bff7 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xe2e8065e memdup_user +EXPORT_SYMBOL vmlinux 0xe2fae716 kmemdup +EXPORT_SYMBOL vmlinux 0xe345a3cc inet_shutdown +EXPORT_SYMBOL vmlinux 0xe3690e24 register_nls +EXPORT_SYMBOL vmlinux 0xe37e9202 __netif_schedule +EXPORT_SYMBOL vmlinux 0xe398d435 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xe3a4d5ed xfrm_register_type +EXPORT_SYMBOL vmlinux 0xe3ee034e mmc_card_sleep +EXPORT_SYMBOL vmlinux 0xe3fbe148 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xe4348d3f cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0xe43617f7 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0xe438cd51 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xe4405404 neigh_compat_output +EXPORT_SYMBOL vmlinux 0xe4446c75 key_revoke +EXPORT_SYMBOL vmlinux 0xe4516824 eth_mac_addr +EXPORT_SYMBOL vmlinux 0xe451aa48 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xe456bd3a complete +EXPORT_SYMBOL vmlinux 0xe456c0cb __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0xe4732daa __bread +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe4870354 _read_trylock +EXPORT_SYMBOL vmlinux 0xe48f3039 ida_get_new_above +EXPORT_SYMBOL vmlinux 0xe4b6f55e tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0xe4b8c35c deny_write_access +EXPORT_SYMBOL vmlinux 0xe4c1df3e _read_lock_bh +EXPORT_SYMBOL vmlinux 0xe4dd4a39 sysctl_data +EXPORT_SYMBOL vmlinux 0xe4f1695e cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xe4f597fe ip_getsockopt +EXPORT_SYMBOL vmlinux 0xe51fbf9e remove_inode_hash +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe525756f no_llseek +EXPORT_SYMBOL vmlinux 0xe53f0cb6 pci_claim_resource +EXPORT_SYMBOL vmlinux 0xe54d2151 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0xe56488e6 pipe_unlock +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe5827f7c scsi_execute +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe5a787b2 inet_select_addr +EXPORT_SYMBOL vmlinux 0xe5b941d7 call_usermodehelper_setfns +EXPORT_SYMBOL vmlinux 0xe5baf2d6 iunique +EXPORT_SYMBOL vmlinux 0xe5be8822 security_path_mkdir +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5e98b87 splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0xe5eb474c otg_get_transceiver +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe6093527 __rta_fill +EXPORT_SYMBOL vmlinux 0xe62f3275 vlan_gro_frags +EXPORT_SYMBOL vmlinux 0xe630995f dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0xe63665d7 vga_tryget +EXPORT_SYMBOL vmlinux 0xe6439eb5 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0xe64ea1c3 genphy_read_status +EXPORT_SYMBOL vmlinux 0xe654e430 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0xe655294b vfs_read +EXPORT_SYMBOL vmlinux 0xe68bb5c0 jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0xe690b8fd __ipv6_isatap_ifid +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6ada1ed ethtool_op_set_tso +EXPORT_SYMBOL vmlinux 0xe6c7ed07 block_commit_write +EXPORT_SYMBOL vmlinux 0xe6ebc016 key_create_or_update +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe70ef967 clocksource_unregister +EXPORT_SYMBOL vmlinux 0xe714375c __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xe716baed acpi_unregister_ioapic +EXPORT_SYMBOL vmlinux 0xe74d4ba8 bdput +EXPORT_SYMBOL vmlinux 0xe77bdebb scm_fp_dup +EXPORT_SYMBOL vmlinux 0xe7a1b7bd alloc_fddidev +EXPORT_SYMBOL vmlinux 0xe7a5116a journal_revoke +EXPORT_SYMBOL vmlinux 0xe7d2aca1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xe7d32407 nmi_active +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7f53efd blk_init_tags +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe8332c4c security_inode_permission +EXPORT_SYMBOL vmlinux 0xe85fde81 blk_peek_request +EXPORT_SYMBOL vmlinux 0xe867118f pci_remove_bus +EXPORT_SYMBOL vmlinux 0xe8794ce1 slhc_toss +EXPORT_SYMBOL vmlinux 0xe87ee839 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xe8959398 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0xe8a3605f acpi_processor_set_thermal_limit +EXPORT_SYMBOL vmlinux 0xe8ad94bd dma_pool_create +EXPORT_SYMBOL vmlinux 0xe8b68849 wrmsr_on_cpus +EXPORT_SYMBOL vmlinux 0xe8cd902e hweight16 +EXPORT_SYMBOL vmlinux 0xe8f804a3 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0xe90dcae0 __request_module +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe920054a neigh_table_init +EXPORT_SYMBOL vmlinux 0xe94481f4 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0xe95ec312 mca_bus_type +EXPORT_SYMBOL vmlinux 0xe95f80ac mca_device_transform_memory +EXPORT_SYMBOL vmlinux 0xe962553e scsi_print_sense +EXPORT_SYMBOL vmlinux 0xe997667b wrmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xe9b91c18 ethtool_op_get_tso +EXPORT_SYMBOL vmlinux 0xe9cc27a0 sock_kfree_s +EXPORT_SYMBOL vmlinux 0xe9ea1795 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea261622 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xea2d33a2 radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0xea410741 genphy_update_link +EXPORT_SYMBOL vmlinux 0xea493f3c fasync_helper +EXPORT_SYMBOL vmlinux 0xea7987f1 key_update +EXPORT_SYMBOL vmlinux 0xea852925 rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0xea858cb5 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xea90b3f3 skb_queue_purge +EXPORT_SYMBOL vmlinux 0xea90bdd3 acpi_attach_data +EXPORT_SYMBOL vmlinux 0xeabc7d59 input_release_device +EXPORT_SYMBOL vmlinux 0xeac6b184 kill_litter_super +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeb070f5d jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xeb1fabf6 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0xeb72219a ppp_unit_number +EXPORT_SYMBOL vmlinux 0xeb7e28b0 pnp_release_card_device +EXPORT_SYMBOL vmlinux 0xeb8452db security_path_rename +EXPORT_SYMBOL vmlinux 0xeb8f54b3 strstrip +EXPORT_SYMBOL vmlinux 0xeb96fd11 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xeb9703ff prepare_binprm +EXPORT_SYMBOL vmlinux 0xebbf7474 netlink_unicast +EXPORT_SYMBOL vmlinux 0xebd273a6 strict_strtoull +EXPORT_SYMBOL vmlinux 0xebe3eb15 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0xebfc3ce2 lro_vlan_hwaccel_receive_skb +EXPORT_SYMBOL vmlinux 0xebfd5b51 block_prepare_write +EXPORT_SYMBOL vmlinux 0xec052716 thaw_bdev +EXPORT_SYMBOL vmlinux 0xec196fa1 dm_exception_store_type_unregister +EXPORT_SYMBOL vmlinux 0xec345a77 scsi_print_result +EXPORT_SYMBOL vmlinux 0xec34d9f6 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0xec794ba0 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0xec8611a4 simple_lookup +EXPORT_SYMBOL vmlinux 0xeca783dc scsi_prep_fn +EXPORT_SYMBOL vmlinux 0xecaae2a5 pci_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0xecb01ce1 dm_exception_store_destroy +EXPORT_SYMBOL vmlinux 0xecb6c601 pci_get_device +EXPORT_SYMBOL vmlinux 0xecc8921e __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xecc9519e xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0xecde1418 _spin_lock_irq +EXPORT_SYMBOL vmlinux 0xecece7a1 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0xed26da93 dma_supported +EXPORT_SYMBOL vmlinux 0xed7cb191 cdrom_open +EXPORT_SYMBOL vmlinux 0xed80ad8c ether_setup +EXPORT_SYMBOL vmlinux 0xed9c86fb should_remove_suid +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xedadbd89 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedbe7927 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedeb06cb inet6_ioctl +EXPORT_SYMBOL vmlinux 0xeded3386 remap_pfn_range +EXPORT_SYMBOL vmlinux 0xee1350d9 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0xee27cb3e blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee6e1f10 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0xee73eb45 lock_may_write +EXPORT_SYMBOL vmlinux 0xee74d5bc md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xee8ca171 vm_insert_page +EXPORT_SYMBOL vmlinux 0xee923928 get_sb_single +EXPORT_SYMBOL vmlinux 0xeea817a2 rtnl_notify +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeebef2f5 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0xeece32c9 skb_clone +EXPORT_SYMBOL vmlinux 0xeef2b1e9 journal_abort +EXPORT_SYMBOL vmlinux 0xeef41656 generic_fillattr +EXPORT_SYMBOL vmlinux 0xef0879e0 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xef226683 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0xef3bd862 mca_find_unused_adapter +EXPORT_SYMBOL vmlinux 0xef6be7ef jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0xef6ed1ba param_set_invbool +EXPORT_SYMBOL vmlinux 0xef8c7af7 inode_init_always +EXPORT_SYMBOL vmlinux 0xef912e98 igrab +EXPORT_SYMBOL vmlinux 0xef9aedfc boot_option_idle_override +EXPORT_SYMBOL vmlinux 0xefa1c7d3 blk_get_request +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefe099c3 acpi_get_event_status +EXPORT_SYMBOL vmlinux 0xeff14be9 ioremap_cache +EXPORT_SYMBOL vmlinux 0xeff430a8 generic_block_bmap +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf024f6e4 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0xf04905b9 alloc_etherdev_mq +EXPORT_SYMBOL vmlinux 0xf050cc8e input_allocate_device +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf06af73e may_umount +EXPORT_SYMBOL vmlinux 0xf0860b90 ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0xf0b4e4ee cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xf0c0fa8a mmc_resume_host +EXPORT_SYMBOL vmlinux 0xf0c83191 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xf0e0d7f2 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xf0ec460c cad_pid +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0fdf6cb __stack_chk_fail +EXPORT_SYMBOL vmlinux 0xf1037350 unlock_buffer +EXPORT_SYMBOL vmlinux 0xf1046bc1 commit_creds +EXPORT_SYMBOL vmlinux 0xf10de535 ioread8 +EXPORT_SYMBOL vmlinux 0xf112e1b4 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0xf11543ff find_first_zero_bit +EXPORT_SYMBOL vmlinux 0xf120251d acpi_bus_add +EXPORT_SYMBOL vmlinux 0xf15cc9ab mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0xf174ed48 acquire_console_sem +EXPORT_SYMBOL vmlinux 0xf17c57e5 phy_device_free +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1d64416 gen_new_estimator +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1deabf2 div64_u64 +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1f71ac3 sock_i_ino +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf210dc56 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0xf21570eb gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0xf22a6636 hippi_mac_addr +EXPORT_SYMBOL vmlinux 0xf243d496 key_task_permission +EXPORT_SYMBOL vmlinux 0xf2997713 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0xf2a9d205 d_alloc +EXPORT_SYMBOL vmlinux 0xf2d353fa dcache_dir_close +EXPORT_SYMBOL vmlinux 0xf2e74040 mca_set_adapter_name +EXPORT_SYMBOL vmlinux 0xf2f2743e serio_interrupt +EXPORT_SYMBOL vmlinux 0xf2fc6eeb generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0xf30f5003 sock_no_accept +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 0xf348b556 ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0xf34f0ecd register_con_driver +EXPORT_SYMBOL vmlinux 0xf35b35e8 sock_rfree +EXPORT_SYMBOL vmlinux 0xf3600a9a elv_rb_former_request +EXPORT_SYMBOL vmlinux 0xf3766f69 __lock_page +EXPORT_SYMBOL vmlinux 0xf397b9aa __tasklet_schedule +EXPORT_SYMBOL vmlinux 0xf39bf4d9 put_cmsg +EXPORT_SYMBOL vmlinux 0xf3a0e15a sk_free +EXPORT_SYMBOL vmlinux 0xf3bd9875 acpi_unlock_ac_dir +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3de4f9b poll_freewait +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf46eff19 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xf48a2c4c MCA_bus +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf4a5c213 avail_to_resrv_perfctr_nmi_bit +EXPORT_SYMBOL vmlinux 0xf4ae9d51 ida_pre_get +EXPORT_SYMBOL vmlinux 0xf4b9ba22 blk_unplug +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f52f93 dqstats +EXPORT_SYMBOL vmlinux 0xf502d273 acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0xf5079e6f journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xf510bbba input_event +EXPORT_SYMBOL vmlinux 0xf51ae235 touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf57682c8 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0xf584cc71 scsi_finish_command +EXPORT_SYMBOL vmlinux 0xf58c90d9 do_splice_from +EXPORT_SYMBOL vmlinux 0xf59466d8 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xf5b1e2ae seq_path +EXPORT_SYMBOL vmlinux 0xf5c05914 generic_segment_checks +EXPORT_SYMBOL vmlinux 0xf5c7e745 llc_mac_hdr_init +EXPORT_SYMBOL vmlinux 0xf5c9012e timespec_trunc +EXPORT_SYMBOL vmlinux 0xf5ccdffd blk_stack_limits +EXPORT_SYMBOL vmlinux 0xf5cd8708 thaw_process +EXPORT_SYMBOL vmlinux 0xf5d01cdf mca_device_transform_irq +EXPORT_SYMBOL vmlinux 0xf5e02432 register_filesystem +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf5f2ec06 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0xf611eece inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xf6283ede mmc_free_host +EXPORT_SYMBOL vmlinux 0xf643bed8 jbd2_journal_update_format +EXPORT_SYMBOL vmlinux 0xf6607c68 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0xf6a6b3d8 fb_set_suspend +EXPORT_SYMBOL vmlinux 0xf6af7f4c arch_debugfs_dir +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6ce6d9c locks_remove_posix +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf74a63b5 x86_mce_decode_callback +EXPORT_SYMBOL vmlinux 0xf7533668 kobject_get +EXPORT_SYMBOL vmlinux 0xf7623914 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0xf76c32cd scsi_block_requests +EXPORT_SYMBOL vmlinux 0xf7828808 init_net +EXPORT_SYMBOL vmlinux 0xf786ef5e idr_init +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf79e9ee6 lock_rename +EXPORT_SYMBOL vmlinux 0xf7a5544d tc_classify +EXPORT_SYMBOL vmlinux 0xf7ac3032 unload_nls +EXPORT_SYMBOL vmlinux 0xf7d702e9 sock_no_bind +EXPORT_SYMBOL vmlinux 0xf80935ae unregister_cdrom +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf81425f4 icmp_send +EXPORT_SYMBOL vmlinux 0xf815a488 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xf81aeb74 mutex_unlock +EXPORT_SYMBOL vmlinux 0xf81be984 skb_split +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82e3d47 acpi_initialize_objects +EXPORT_SYMBOL vmlinux 0xf83653dd dm_io_client_resize +EXPORT_SYMBOL vmlinux 0xf83ae291 release_firmware +EXPORT_SYMBOL vmlinux 0xf8527dd6 pv_cpu_ops +EXPORT_SYMBOL vmlinux 0xf8630f3c generic_writepages +EXPORT_SYMBOL vmlinux 0xf88b366e __vlan_hwaccel_rx +EXPORT_SYMBOL vmlinux 0xf88e0ee2 acpi_get_table_header +EXPORT_SYMBOL vmlinux 0xf890fe7f pm_idle +EXPORT_SYMBOL vmlinux 0xf8b30e93 mempool_create +EXPORT_SYMBOL vmlinux 0xf8c5dbe9 scsi_register +EXPORT_SYMBOL vmlinux 0xf8cb9582 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0xf8cf9ee5 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0xf8d2a0f3 __napi_complete +EXPORT_SYMBOL vmlinux 0xf8eecd56 neigh_connected_output +EXPORT_SYMBOL vmlinux 0xf92e7b50 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0xf93f251c rfkill_blocked +EXPORT_SYMBOL vmlinux 0xf940a328 __next_cpu +EXPORT_SYMBOL vmlinux 0xf94e938b kobject_del +EXPORT_SYMBOL vmlinux 0xf954b036 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0xf9609efe journal_init_inode +EXPORT_SYMBOL vmlinux 0xf96228fb netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0xf96797b7 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0xf9691066 bdi_register +EXPORT_SYMBOL vmlinux 0xf970a2ae blk_make_request +EXPORT_SYMBOL vmlinux 0xf974a74b scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0xf9899664 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9ab6ff5 blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0xf9ba8034 napi_gro_flush +EXPORT_SYMBOL vmlinux 0xf9c1a755 mnt_pin +EXPORT_SYMBOL vmlinux 0xf9c59337 block_read_full_page +EXPORT_SYMBOL vmlinux 0xf9e00178 lease_get_mtime +EXPORT_SYMBOL vmlinux 0xf9e67d60 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xf9f96b0c xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0xfa0564fc __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfa0c13e4 skb_pad +EXPORT_SYMBOL vmlinux 0xfa21b73f acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0xfa296d62 scsi_ioctl +EXPORT_SYMBOL vmlinux 0xfa39074e seq_bitmap_list +EXPORT_SYMBOL vmlinux 0xfa410748 skb_store_bits +EXPORT_SYMBOL vmlinux 0xfa60b5ab save_mount_options +EXPORT_SYMBOL vmlinux 0xfa738dc7 simple_release_fs +EXPORT_SYMBOL vmlinux 0xfa75310e proto_register +EXPORT_SYMBOL vmlinux 0xfaac8671 pci_clear_master +EXPORT_SYMBOL vmlinux 0xfae63a24 flush_signals +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfafccbe5 dev_get_flags +EXPORT_SYMBOL vmlinux 0xfb0443fb acpi_get_parent +EXPORT_SYMBOL vmlinux 0xfb0cf2e9 touch_all_softlockup_watchdogs +EXPORT_SYMBOL vmlinux 0xfb29b50b inet6_register_protosw +EXPORT_SYMBOL vmlinux 0xfb2bc891 bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0xfb2da8fe dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xfb300e1a __xfrm_lookup +EXPORT_SYMBOL vmlinux 0xfb34934f alloc_disk_node +EXPORT_SYMBOL vmlinux 0xfb595b9b dquot_free_space +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfba0c2e0 llc_sap_list_lock +EXPORT_SYMBOL vmlinux 0xfbc24758 pv_mmu_ops +EXPORT_SYMBOL vmlinux 0xfbc81f76 bio_integrity_free +EXPORT_SYMBOL vmlinux 0xfbd21539 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0xfbdf50cf inode_init_once +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfbe62e79 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc2b48b6 set_create_files_as +EXPORT_SYMBOL vmlinux 0xfc2e3121 dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc4e7122 bd_claim +EXPORT_SYMBOL vmlinux 0xfc533f85 schedule_work_on +EXPORT_SYMBOL vmlinux 0xfc562165 acpi_run_osc +EXPORT_SYMBOL vmlinux 0xfc610f0b scsi_is_target_device +EXPORT_SYMBOL vmlinux 0xfc6256b9 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xfc73c928 handle_sysrq +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcc4d4e4 mod_timer_pending +EXPORT_SYMBOL vmlinux 0xfcc7fe60 clip_tbl_hook +EXPORT_SYMBOL vmlinux 0xfcda63a3 node_states +EXPORT_SYMBOL vmlinux 0xfce167d1 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xfce90a72 inet_listen +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd3303c4 kernel_bind +EXPORT_SYMBOL vmlinux 0xfd4b6ccb thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0xfd530a02 pci_select_bars +EXPORT_SYMBOL vmlinux 0xfd56da89 pcim_iomap +EXPORT_SYMBOL vmlinux 0xfd6f4850 native_wrmsr_safe_regs +EXPORT_SYMBOL vmlinux 0xfd7d7713 acpi_exception +EXPORT_SYMBOL vmlinux 0xfd9f2e62 ip6_xmit +EXPORT_SYMBOL vmlinux 0xfda85a7d request_threaded_irq +EXPORT_SYMBOL vmlinux 0xfdb28664 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0xfdb6d7a7 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfdc492ad get_user_pages +EXPORT_SYMBOL vmlinux 0xfdd3fdee generic_file_mmap +EXPORT_SYMBOL vmlinux 0xfde8b1a1 setup_new_exec +EXPORT_SYMBOL vmlinux 0xfdf2c006 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfe00aa53 iget_failed +EXPORT_SYMBOL vmlinux 0xfe1a7d4b ip6_route_output +EXPORT_SYMBOL vmlinux 0xfe316c9b sock_no_poll +EXPORT_SYMBOL vmlinux 0xfe3f542b sock_no_listen +EXPORT_SYMBOL vmlinux 0xfe584d1a sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe686114 read_dev_sector +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe79d253 alloc_mdio_bitbang +EXPORT_SYMBOL vmlinux 0xfe7c4287 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0xfea294d2 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfedd35fc console_suspend_enabled +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff0dd2f8 sock_create +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff2c3f47 misc_deregister +EXPORT_SYMBOL vmlinux 0xff41a3a1 inode_permission +EXPORT_SYMBOL vmlinux 0xff480992 dump_fpu +EXPORT_SYMBOL vmlinux 0xff48ef0b filemap_fdatawait +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff698037 invalidate_partition +EXPORT_SYMBOL vmlinux 0xff708fd3 mempool_destroy +EXPORT_SYMBOL vmlinux 0xff964b25 param_set_int +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xff9e7bf5 __napi_schedule +EXPORT_SYMBOL vmlinux 0xffb9e153 create_empty_buffers +EXPORT_SYMBOL vmlinux 0xffc7c184 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffdb82bc sg_free_table +EXPORT_SYMBOL vmlinux 0xfffa77d8 backlight_force_update +EXPORT_SYMBOL vmlinux 0xfffeefc1 __mutex_init +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/kernel/microcode 0xdf66ca81 ucode_cpu_info +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x00aaf935 kvm_disable_tdp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x05539d4b kvm_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x07e73e67 kvm_get_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x094ac8f4 kvm_get_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x123966cc kvm_queue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x12d1b23b kvm_release_pfn_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x19d30ff7 gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1a9df35f __tracepoint_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1ae7ab21 kvm_is_visible_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1e4580bb kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x20de5193 kvm_disable_largepages +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x22d4d941 kvm_x86_ops +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x22dfe5fb kvm_release_page_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2322e039 kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x244692ee kvm_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x290c6e54 kvm_get_cs_db_l_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2c5c34ae kvm_emulate_hypercall +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3059c282 kvm_put_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x317f9e6b kvm_enable_efer_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x36768b6c load_pdptrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3b7706d2 __tracepoint_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x430d6ff9 kvm_clear_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x47f8c16c kvm_put_guest_fpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4918e71e kvm_vcpu_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4a0e0937 emulate_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4a7cbe69 is_error_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4dd29701 kvm_release_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4df8a709 kvm_mmu_get_spte_hierarchy +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5021775c fx_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x51bc453b kvm_mmu_load +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x599086dd kvm_handle_fault_on_reboot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x60b410d1 kvm_get_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x68de986a kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x76f3d130 kvm_require_cpl +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7b11459c kvm_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7b8e403a kvm_inject_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7c63dbd9 kvm_vcpu_uninit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7dfa52ef kvm_emulate_pio_string +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7f714a84 kvm_set_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x800402aa kvm_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x867a5b76 kvm_resched +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x876b1723 kvm_inject_pending_timer_irqs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8a567ccb kvm_set_cr3 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8ce4f3ab kvm_enable_tdp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8d989a8a kvm_clear_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8e7f9b47 segment_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x92ee2150 gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x96681f8f gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x99b30b15 kvm_emulate_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9c96ad24 kvm_task_switch +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa216635c kvm_vcpu_cache +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa361bc65 kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa62a06f0 gfn_to_memslot_unaliased +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xab964c05 kvm_emulate_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb2ab4f15 kvm_mmu_invlpg +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbaf47f21 kvm_set_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbc314ac4 emulator_write_emulated +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd377dc9 kvm_mmu_set_nonpresent_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd94103b kvm_mmu_set_base_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbf2099f4 kvm_get_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc054fa12 kvm_mmu_reset_context +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc647af61 kvm_set_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc8dfa47c is_error_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcc5a8a8a kvm_cpu_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcc63535d kvm_report_emulation_failure +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xce38adbc kvm_cpu_get_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcea5bf57 __tracepoint_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd0b2727a kvm_mmu_set_mask_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd296def9 kvm_is_error_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd3c0a6da __tracepoint_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd435bbe9 kvm_mmu_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd8b7136b kvm_queue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xda3bf69b kvm_mmu_unprotect_page_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdbf6f9fd kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdead7e81 __tracepoint_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe38fad11 __kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe4de1ed1 kvm_get_guest_memory_type +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe500cb1d kvm_get_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe894dc4f kvm_set_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf1fba18c kvm_load_guest_fpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf3150126 kvm_set_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf87eb5a3 kvm_emulate_pio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfa6a4a01 kvm_set_cr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfcaab400 kvm_lmsw +EXPORT_SYMBOL_GPL crypto/aes_generic 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL crypto/aes_generic 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x67502576 crypto_aes_set_key +EXPORT_SYMBOL_GPL crypto/aes_generic 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x81b76e3e async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x08868b82 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x6c681813 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x78909090 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xd2242364 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x040f3be3 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x58b8eb95 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x90c79863 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xcf4443fc async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x5c453a11 async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xfab85e36 async_xor +EXPORT_SYMBOL_GPL crypto/cryptd 0x65f867a4 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x6b6f0e4c cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x78e21307 cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x7d907e23 cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x99fb5726 cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xcac17698 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0xd34948e6 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x13ee602f twofish_setkey +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/bluetooth/btmrvl 0x60a094e9 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x727b6ce4 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7ffa7369 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x964137ed btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xfabc58a7 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xfed1a6b6 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0x0c268b5c agp_add_bridge +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0xdf1059e8 agp_remove_bridge +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL drivers/char/scx200_gpio 0x24a2a743 scx200_gpio_ops +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x068607cf tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x079a3b33 tpm_show_active +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x0b70a573 tpm_pm_suspend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x1043e50f tpm_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x138c8006 tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x35c64e3a tpm_show_caps +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x3f585c7b tpm_show_pcrs +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x5edd7f17 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x62512611 tpm_store_cancel +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x64e11fab tpm_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x6677bfa3 tpm_get_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x691ecbdd tpm_show_enabled +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x7ab81f97 tpm_pm_resume +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x7ad058c6 tpm_show_owned +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x7e1b87c0 tpm_remove_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x95039abb tpm_write +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x955c7769 tpm_show_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x9903387e tpm_open +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xa8f9243d tpm_show_pubek +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xbaae64f8 tpm_register_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xca929245 tpm_dev_vendor_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xdbafc7e8 tpm_gen_interrupt +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xdc1f6675 tpm_dev_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xdcb1545c tpm_continue_selftest +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm_bios 0x5e8bee5a tpm_bios_log_teardown +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm_bios 0x68bbb46b tpm_bios_log_setup +EXPORT_SYMBOL_GPL drivers/dca/dca 0x0e2d7723 register_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x2e471f01 dca_register_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0x31a2c8df dca_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0x62bf850c free_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x6456b131 dca3_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0x8006c614 dca_unregister_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0xbfc94adb dca_add_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0xd30e7c55 alloc_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0xf64d8d24 dca_remove_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0xf92f96b5 unregister_dca_provider +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x033b2561 edac_pci_reset_delay_period +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x1e0da331 edac_device_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x26b53fbf edac_mc_free +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x34dcb937 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4ba27101 edac_pci_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x5c0fb7a4 edac_mc_handle_ce_no_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x5d25e082 edac_mc_handle_ue_no_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6ffc3608 edac_pci_handle_npe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x851ff1b1 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x88ae2103 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x8f535229 edac_mc_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x9a6132b8 edac_mc_del_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x9aa62ad0 edac_device_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x9f4b0640 edac_mc_alloc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xae1e2599 edac_pci_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xafe689db edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb1987ef4 edac_device_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb21cf749 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb8e2fe17 edac_device_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc6c40965 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xd3ecbb6b edac_mc_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xd71c6ca5 edac_pci_handle_pe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xe9220e1d edac_device_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xf8950273 edac_mc_add_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x0f0ba55e ii_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x14878009 amd_report_gart_errors +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x1823885a amd_register_ecc_decoder +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x4b01887d pp_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x7509830f to_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x955c1f76 amd_decode_nb_mce +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xb98537cb rrrr_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xc2e765d2 amd_unregister_ecc_decoder +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xd0f094a0 ext_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xe6ff7e0c ll_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xf8dec080 tt_msgs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x956b049a drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf662cd6b drm_class_device_register +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1966176c hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2001b7d7 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x29c16a89 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x30b293f9 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4b052248 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5bfb1142 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5d9f5a67 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x71a43137 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7ac05194 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7e9ce2a2 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7f846786 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8eef6fdd hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa32ef158 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xada23b03 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xaeb8cf39 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbc0ad5b9 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd107f6f5 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd888ebf1 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe29e12d5 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe374b104 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe9dffd29 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf445ce21 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf8d695aa hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfaa9c167 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfc0e645f hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x3982df49 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x632bb5f9 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x946bb654 usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x01dd2757 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x4993b9d4 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x51a48faf lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x6c33e494 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xd2a44296 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xd512c57b lis3_dev +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xe6af28c8 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-nforce2 0xc75ceb91 nforce2_smbus +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xb3cb2980 hpsb_config_rom_ip1394_remove +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xb8e0229a hpsb_config_rom_ip1394_add +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xec8d18cf hpsb_disable_irm +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x175ad33d input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x35c01582 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x525481ee wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x5cbd3a45 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x68a30e09 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x764005c8 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x879706c4 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x9edecdc7 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xa4090e97 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb3ffb281 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb9b713cd wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xbe27fe10 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xe18af8fc wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x210f9148 gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x25bd233f gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x3cbeac33 gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x4e792275 gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x54dc4c26 gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x5c1d4019 gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x6fcde1b4 gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x7a3ed5f1 gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x89fd882b gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x933b303f gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x9c7d0a71 gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb93dd708 gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xd2f41707 gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xd99bece4 gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xfb204ca5 gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xffb63550 gigaset_initcs +EXPORT_SYMBOL_GPL drivers/leds/led-class 0x86d2618c led_classdev_resume +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xdcfd9303 led_classdev_suspend +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xf258cf55 led_classdev_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xf796213e led_classdev_register +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x05513b71 raid6_call +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x0b8ef590 raid6_2data_recov +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x4a48d81c raid6_datap_recov +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0349c9bd ir_codes_proteus_2309_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0366dcdf ir_codes_videomate_s350_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x110b053a ir_codes_pixelview_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x124cb753 ir_codes_encore_enltv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x183fdfdd ir_codes_gotview7135_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19b4d61c ir_codes_nebula_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19cd2826 ir_codes_behold_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1a9009d6 ir_codes_dm1105_nec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1cb148f5 ir_extract_bits +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2456e513 ir_decode_pulsedistance +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2cc459b5 ir_codes_flydvb_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2d0e9a49 ir_codes_em_terratec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3136d8ff ir_codes_dntv_live_dvbt_pro_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x32b9033b ir_codes_apac_viewcomp_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x379309cd ir_input_init +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3909f4ad ir_codes_terratec_cinergy_xs_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3a84be27 ir_codes_avermedia_a16d_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4267d749 ir_codes_budget_ci_old_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x43c89ef4 ir_decode_biphase +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4c1442c1 ir_codes_real_audio_220_32_keys_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x51ba1643 ir_codes_kworld_plus_tv_analog_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x543db4ff ir_codes_avermedia_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5e95da31 ir_codes_tt_1500_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5fbe6515 ir_codes_pinnacle_color_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x61d039d7 ir_codes_behold_columbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6427a3fb ir_codes_pinnacle_grey_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x64b02fed ir_codes_avermedia_dvbt_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6606596a ir_rc5_timer_keyup +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6809de82 ir_codes_pctv_sedna_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6d6511e7 ir_dump_samples +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x703fc738 ir_codes_avertv_303_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x7283f81d ir_codes_purpletv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x72c2992e ir_codes_powercolor_real_angel_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x76d71b8e ir_codes_dntv_live_dvb_t_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x784e176d ir_codes_asus_pc39_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x828b3ce5 ir_codes_encore_enltv_fm53_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x8acae3dd ir_codes_pinnacle_pctv_hd_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x92d1d181 ir_codes_flyvideo_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x94651dab ir_codes_ati_tv_wonder_hd_600_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x95eb8195 ir_input_keydown +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x97c35dab ir_codes_msi_tvanywhere_plus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x9944e2e5 ir_codes_hauppauge_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa69aa6ad ir_codes_pv951_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa95157c5 ir_codes_cinergy_1400_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xac15f6c8 ir_codes_kaiomy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xaff22e87 ir_codes_pixelview_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb01a1998 ir_codes_manli_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb0a8ef38 ir_codes_rc5_tv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb57445f7 ir_codes_eztv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb5adb754 ir_codes_cinergy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbd3ce6f0 ir_codes_avermedia_cardbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbeaccbdc ir_codes_gadmei_rm008z_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xcba36c62 ir_codes_videomate_tv_pvr_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xd30c491f ir_codes_norwood_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xd8161baf ir_input_nokey +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdc23fec4 ir_codes_fusionhdtv_mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdd4c0a07 ir_codes_evga_indtube_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe1101f4d ir_codes_avermedia_m135a_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe4140c60 ir_codes_genius_tvgo_a11mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeb9bb08f ir_codes_npgtech_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xebf345b4 ir_codes_encore_enltv2_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeec89db8 ir_codes_empty_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xef29c40d ir_codes_adstech_dvb_t_pci_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf33c155d ir_codes_msi_tvanywhere_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf3d619ec ir_codes_iodata_bctv7e_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf4f7a4d6 ir_rc5_timer_end +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf5e15e65 ir_codes_winfast_table +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x35cc5fa7 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x3675714b saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x3da1b306 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x469e7e50 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x5507d57f saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x6e0aec3c saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x7ef04962 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x8533a510 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x8e4f26ed saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xb26898e3 saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcf683cf2 saa7146_devices +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe6d448eb saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x10e5e285 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x2fd2f391 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x50f6dcff saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x76309255 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x809ad371 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xd5745659 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xf7ef857f saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0xaede4d19 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0x1bbb3e81 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0xda22049b tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x418e4ccf tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x65f763c1 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xdeacac9b tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0xf51bc5e4 tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x4415ed33 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x56dd438b tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x7e5d1399 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x9be342c1 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0x5e766c3c simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x092d3474 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x0af8eb52 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x2e6c31c3 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x972be2d4 sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x9b032e45 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x9fc83329 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa7dea8d6 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xaf3ab12a smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xb28df344 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xc1f65660 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xc27e0342 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd9ab9d09 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xe23d927d smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xe7cfcd6e smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xea4b8ba3 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf2071c05 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf22c1443 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf7b524a5 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfa4aa275 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfda878c5 sms_get_board +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x1b2baa4e ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x3113ac91 ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x4f2b3756 ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x57ba93cf ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x9b6ef637 ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xdce3fadf ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xeb5e185f ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x06c3f880 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x2f57ec12 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x2ffc26bd cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x556f05c0 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x59475280 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x685eadd2 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x6d5f8cc6 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x7f5875af cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x9400f924 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xca2cf53c cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xf11e7559 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0x3ca7cc52 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x2d0557e4 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x686a5070 em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7c58197b em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xe1e4d434 em28xx_isoc_dvb_max_packetsize +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xf1149b39 em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xfd490aef em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x39717f26 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x6395090c saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xaf3b751b saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xbb0daf8c saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xe9699318 saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x2c0d7923 v4l2_i2c_new_subdev_cfg +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x610419e9 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xa489c4d1 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xc848baca 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 0x0e5bb3c9 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x1fbf7b0a v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x32ac9481 v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa5228b24 v4l2_int_device_try_attach_all +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xcce29c1c v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2d879df4 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2e8639fc videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x46041411 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x474b0bd0 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4ba5a594 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x5a108b08 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x5ab5a86c videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x7253728e videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x7d560619 videobuf_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x84e66139 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8536278b videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x862c4fa9 videobuf_queue_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x87ab4723 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x97f8249d videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x99bb98cb videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x9ac815b7 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa39bb1ca videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xb1e65d61 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xba3399a0 videobuf_cgmbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xbb4dd823 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc1280834 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xccc0151b videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xce9c6d28 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf0851dbf __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf44f2e3c videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x05179396 videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x1de95ed2 videobuf_sg_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x5c3ec92a videobuf_sg_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x662e94fe videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x6d926066 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x774f6b0e videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x7833ac85 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa825c75b videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xb1b914a3 videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xbb5fec3b videobuf_dma_sync +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xda168a1a videobuf_dma_init_overlay +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xe0c9999e videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xe8a24336 videobuf_vmalloc_to_sg +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xff8b3b9e videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x076a3578 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x910ac779 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xa6148584 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x54838b1c v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x64006086 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x9a2d5786 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x9c617a13 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa5297263 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xb259f95b v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x570de5a2 i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x768d3f6d i2o_pool_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x882ad5f7 i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xc24ede98 i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xd56a77c8 i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xd956a25d i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xe8b7ffbe i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xeafd8798 i2o_dma_free +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x01155b36 mc13783_adc_set_ts_status +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x6c97dca5 mc13783_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x7fcf6efa mc13783_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xa1c6e8a7 mc13783_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xb6525bd6 mc13783_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xcbbecda4 mc13783_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xed5fe09f mc13783_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x4f6d8ae3 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xf7f5b89a pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x0cbf837a pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x2f9161aa pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x3576b648 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x8d2b1b7b pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x911dd8b9 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x91266f5e pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xa3c426d0 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xd83da8c2 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xd93be046 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xdc37b385 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xecfbfc74 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x5147a46c pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x7c73a2bf pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xcee600a0 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xe79188fc pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xfa72d092 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x35ea7154 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x6f365c5e sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x7b243a59 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xade66972 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xf5c6a12f sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xf0813fa2 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x11925c92 wm831x_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x271cd479 wm831x_disable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x358e5c1b wm831x_enable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x5082a14d wm831x_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x638e175b wm831x_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x6ace681d wm831x_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x751a3f43 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x8134a810 wm831x_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x85a675ed wm831x_auxadc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xaab3cf3b wm831x_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xf76be69d wm831x_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xfaa916c9 wm831x_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x074d68fa wm8350_unmask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x0c0c55c8 wm8350_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x189d2b05 wm8350_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x21ac039b wm8350_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x4e4bf431 wm8350_device_init +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x535685a9 wm8350_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x629e0a4f wm8350_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x73a6aa1b wm8350_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x8851aa2b wm8350_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xb25825e5 wm8350_block_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xb46cbcd1 wm8350_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xd0784719 wm8350_mask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xde1fec30 wm8350_gpio_config +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xdf251c10 wm8350_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xf10988c9 wm8350_device_exit +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xf9edf090 wm8350_read_auxadc +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x0b8c031c wm8400_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x98ec0a4f wm8400_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0xadfcc435 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0xae558ab4 wm8400_reg_read +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x04f88bf1 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x75c5c2f2 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xb2fd817e cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xd4dd9615 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x2df115d4 eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d14d2f eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x37ba2c32 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x82f72eae enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xa6ac9afa enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xcc1afc0d enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xe217de0b enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf01665be enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf4cde7fb enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3b30ae66 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5082f7a8 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x92e00590 sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa8961f34 sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xca8569df sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe36cc3a1 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x1abfbac9 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x33a5416a cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x4ccfa99c cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xca90bf9b cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xac7cac91 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x40f50f04 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x5ef2fcbb cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xefc3ddbf cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2000 0x0d769336 DoC2k_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001 0x1ab97dcd DoCMil_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x75221dd6 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0339977b parse_mtd_partitions +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x13815e53 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x28c6d23b get_sb_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x28dfba13 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2edbe50c register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x39fd087a mtd_table +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x720fec65 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x80b1e7ea del_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x913cf58b mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x94eb2c51 mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa2dc2810 default_mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa72f3f8f get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc10933c9 add_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd82c0b35 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xeba7752a register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xee491158 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x32eaf0da add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x4aaef4ce del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x90afe0f8 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xa1facf1f register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x1e40e873 nand_scan_ident +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x224b8003 nand_scan_tail +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x2b93b78a nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xc2ec5adc nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xeb61c3a5 nand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x0ef2413d onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x4cce0910 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x01bb7d21 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x25afefa3 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x37800435 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x48350e7c ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5a51cad6 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5af4d7c2 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x76c42229 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x9ad6627f ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbc505df4 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbfb9e874 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xcec86807 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd2a108bb ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd7a5a881 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x1babf045 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x1fb12a56 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x4422dbe0 alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x89ba546f register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x8b682207 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x9f63f063 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xac01bf05 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xd3511aeb can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xddf12478 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xf13f19ce free_candev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x03e0f8f9 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x0654c931 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x0b4ee31c alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xdc9bd500 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xf46c6f59 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x04780409 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x08d6fa8e mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x098820fa mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0bdfbce9 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0c6d8dc5 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0f3827de mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x158c37a7 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x172a739e mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x20c5a396 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x291e85aa mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x33c819fb mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x355399eb mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x35b9a120 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x3ff1a0ca mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x40fd0424 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x464cbbef mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x477db9b2 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x53e6ce98 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x5a7814e8 mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x5c7f78fb mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x5fffe3a4 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x67269af5 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x74b63f88 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x7cb1466a mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8557d950 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8785e6d8 mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x87f06555 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8ab63189 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8ea68f1d mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x973b1120 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9e5f9f0a mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9fe08831 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa4922591 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa86fcf09 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xae8a65f3 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xafcd90f6 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb0858150 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb3ec904a mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb7e476b2 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xba20f47c mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xbdaf0f5d mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc26d383f mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc5a80add mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc69bd10b mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xcb47c79d mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xccce3017 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd32a82eb mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd6770147 mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd8b4d384 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe5176d81 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe76bc72a mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xed9ebfb6 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xfe9c3d9e mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x30b9e233 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xd614f10a usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x067b232d rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x06ad0272 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x3f968f8c rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x6500bc21 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xcc590583 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xda806f8a rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x163817e3 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x227ac6dc usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x22a9af98 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x25d29331 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4517f3f2 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5f982f41 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x65e1ce97 usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6ed1b949 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x729a3b54 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9b001728 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa807b0e8 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbd216493 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc86ee6b4 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc9d5811c usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xce4c3642 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd1f0472a usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd67b0571 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe0bd2e59 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe0d18f5c usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe1538488 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe86473b0 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xee6691e0 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf0e28026 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf9c05e9a usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x02a30bf4 i2400m_cmd_get_state +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x1057ab2f i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x1bef7351 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x3db0fc65 i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x60f7304c i2400m_set_init_config +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x8e93d6ad i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xa66e78d1 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xaabf00b3 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xac092612 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xbe893617 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xbfc31e6a i2400m_queue_work +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xdb3a879e i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xe7ac95d8 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x1c820b19 libipw_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x6ebff6ec libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x0544dd87 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x091d402c lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x1844a33e lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x246dfcda lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x29c00221 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x38d6d253 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x519f0538 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5dd8b51b lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x60f4c66a lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x650457b0 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x65cc758d lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xaa71622c lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xd16d2d82 lbs_cmd_802_11_rate_adapt_rateset +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xfba197c5 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xfec33b97 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x4425d8b2 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x4470271d lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x57daa423 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xb944dbe5 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xdee33851 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xefbf338f lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xff3ad85f lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xffad39f0 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x32dd589e if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x6f046c2f if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x155700ee p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x44ff6984 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x55659412 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x841f34ae p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x8d0a789f p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xbf9640ec p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xe5dea8e7 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xee4c4e75 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xf9e0fca9 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0e40ea96 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0f85b12b rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1064c525 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x27f2e647 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2a0617a2 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2c06758d rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x321a9b58 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x34615e82 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x37d30b36 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4e028c0d rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5455baf9 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5a103b95 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5ff122df rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x708a3b84 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x70b978e6 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x72451628 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x827ec6ec rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x885ec2de rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x96fa3639 rt2x00mac_get_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9c938462 rt2x00queue_get_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa1df5190 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb5bb4c35 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc59a2725 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc7687a4d rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x04c39b01 rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x081fada4 rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x3a7c901f rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x7c7814dc rt2x00pci_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x8af0ddc5 rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xa75ea91e rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xd5065306 rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xd9999bc1 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xf8caec1d rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x0aba2207 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x22f5b3f3 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x2e6ad8b5 rt2x00usb_vendor_request_large_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x3259b548 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x510f3492 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x529b9072 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6356a2a9 rt2x00usb_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x878359f5 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x87cf4ae2 rt2x00usb_kill_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x8b8638b7 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x9af92b34 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xa52f2425 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xb3a1781e rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xb6b6f380 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xd369bf5d rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xff4aa82b rt2x00usb_kick_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x7337cd6a wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0xa4d0f0cf wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0xfa062ccc wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0x0d1f0187 acpiphp_unregister_attention +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0x896fcea6 acpiphp_register_attention +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x2745b237 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x4bdadbfb pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x35498332 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x73ec6635 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x749c7fda wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x87b3d37b wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xa03bd5af wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xea4be394 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0xb486227d wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x44f37508 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0198586e iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x01f4c2f9 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0233f349 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0efe52df iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1a0a977a iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1ebedb5e iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1f1fc604 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x21399ccb iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x251d6c4e iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x26907ba6 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2a66a95f iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2e25390a iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2e4f80bf iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x408f84d0 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x41ba1d14 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x42637e1c iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x55666ae3 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x60dd4c33 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x651465c6 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x72d46caa iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7668101b iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x790f601a iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x80075942 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x804898b2 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x877b106a iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x950fa13c iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9a4e79d9 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa7ba3fa0 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb41f4d07 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb7948630 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbbfcf12a iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbcac82f6 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbd0acc08 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbfb3c4b2 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc67e761e iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcbefa6d0 iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcff1c794 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe5a90f78 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe6fd9c0c iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe81e3bbf iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfb245e71 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfcb521c5 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0a27a96e iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x24d322e7 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3a956609 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4260301a iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5339dcb8 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5538642d iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x70cf622e iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7203d636 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x99de4e18 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa4b77e46 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb889e741 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xbaff9eee iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd5bb0efa iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xdae40967 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf701eb55 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfbc630f8 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x18f025d2 sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1aeeac2e sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x21c8dd82 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2c6a2760 sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x32775c6b sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x33bb1a41 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x368937ff sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6b0133a9 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6dd3630d sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6e8279ab __sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x755f8904 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x780ac924 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8ac9c3b6 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa3492704 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa6e17d82 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc255c3fc sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xca381b3a sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd04f7074 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd252904b sas_find_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd9d487fc sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe369f726 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf396e25d sas_slave_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf3be3a56 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x2d0b3196 srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x77e1b52d srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x9c177300 srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xadc3afb0 srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xc364aacc srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xf8235f06 srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x150f1b5b scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x16e65435 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x4c97ebdf scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x576944fa scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x5fcca917 scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x7f4754f2 scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xc0202116 scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xd3c03e3e scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xdcf8cc44 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x08a319be iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x149aad44 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x28ce7292 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x38f7ffff iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3aa7f39d iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4424d137 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4738e56c iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x486d02fb iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4dcd91f7 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x54ddcbae iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5567d7b6 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5da037d1 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x76060d1a iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x781c0319 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x818301f8 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9760b2de iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9c0ae6ef iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9d93e66c iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa19d5ce8 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa54e0bb4 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaaa07adb iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcdd560b9 iscsi_create_endpoint +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 0x1be9eaa1 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x9d4719a3 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xd2f99795 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xf26a99e7 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xf73e636f srp_rport_del +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x41bd03ce spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x7cd19ab2 spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xaa84dae9 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xb467f6e9 spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xd2fc1512 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xfc9e5388 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4740fc22 comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4e4b42d1 comedi_free_board_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x813c41b0 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb5725623 comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xc57fdaf4 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf5e55497 comedi_alloc_board_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xff70a9ee comedi_get_device_file_info +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x86fcde20 das08_cs_boards +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0xafd5d44c das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0xe08b885e das08_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 0x3ddfb868 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_labpc 0xe9693292 labpc_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x0f90e79f ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x244c3c9e ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x49bf0b4e ni_tio_winsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x6ca3b66d ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x7eb7a645 ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x8b5f727a ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xf43021b3 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xf8e1849f ni_tio_rinsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x04189fae ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x46f1f9c1 ni_tio_acknowledge_and_confirm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x551ac4f5 ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x70e629ec ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x82be56ae ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x9eeb4756 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/hv/hv_vmbus 0x0a1ee779 osd_WaitEventWait +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x4cc1b61c osd_WaitEventCreate +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x5432d87a osd_WaitEventSet +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x746d1786 osd_PageAlloc +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x83911c38 osd_PageFree +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0xa1b8d1ad osd_WaitEventWaitEx +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x30e6a109 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x3947c657 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x4f4a69d5 usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x53f9f97a sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x5ae03a2a usbip_start_threads +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x7704713b usbip_task_init +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x7aeefbdd usbip_xmit +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x8460d6c4 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x94800bd9 usbip_stop_threads +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xaeb571a8 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xc31420a7 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xd293ccc5 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xe338bc99 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xf17d0977 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xf98271ad usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xfdb8c25c usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/uio/uio 0x138311bc uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x87b6e70f __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xb556ded0 uio_event_notify +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x22c60786 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xf5d22be4 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x0e1bbcbe usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x185d0a03 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x18ecf99e usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x84c9a680 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x8dc7fa17 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb0c12d77 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xbf1b1632 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xcad6d315 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xf29843bf usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x01890813 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x09ebabaf usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0f8f3d91 usb_serial_generic_resubmit_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x10ee058b usb_serial_register +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x16b1dd5a usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x49b7f8dd usb_serial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x4e3e0bf5 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x525a6a0d usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x6b461e96 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x76081865 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x89d38762 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9ffc565a usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa0e00613 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe5a2e45f usb_serial_deregister +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe95f7bc7 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf30f3270 usb_serial_probe +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0b0d1b84 usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x10b228b5 usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x184fbaba usb_usual_ignore_device +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1a45dd36 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x2004bc1c usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x283dd9ba usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x5d14c500 usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6f336fc9 usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x792757b2 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x79a537a7 usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8156ce1f usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x81e03efd usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x85068af3 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8a2a80bf usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x9f06bfe0 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa349333e usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb4fd1539 usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc4654aa4 usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe851e334 usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf72320f3 fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf771eae8 usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xfa1742b1 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xfa4877d3 usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x09f3c921 wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x2df53e2f wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x6a14de0a wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x8653cbc8 wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x8668d134 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x9bb1eab1 __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xad62da17 rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0c00d876 wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1c578dd7 __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1d6c4818 wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x35224e36 wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x3562e361 wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x55654783 wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x56d6ee02 wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x62ca7a61 wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x6f686eb6 wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x7010c3cd wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xa85b5e97 wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb862833a wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xbf7599ad wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xcc11a5a1 wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xd615072d wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xd6ab4cc9 wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xdf6e4f08 wusb_dev_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 0x04611d0b i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xac91732c i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xb8f0517c i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x420a81da uwb_rts_cts_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x4838d84a uwb_ack_policy_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x62372654 uwb_rts_cts_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x7eba28a8 uwb_phy_rate_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x992b078e uwb_pca_base_priority_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xb9894e65 uwb_ack_policy_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xbc0c2f7d uwb_phy_rate_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xd2de42fd uwb_pca_base_priority_store +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x086d6c26 umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x73ba154a __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x83a8f17b umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x8ec174fe umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xab7e4712 umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xb607dc7a umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xc7cc7443 umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xd9c8067e umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0b8aad57 uwb_est_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0fdae85c uwb_rc_neh_error +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x10c5e50b uwb_rc_put +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x15b21b9e uwb_rc_cmd_async +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1e457d85 uwb_rc_ie_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1fa6e437 uwb_rc_dev_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x27d324f2 uwb_rc_post_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2b5ebf2b uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x3c8cca5a uwb_rc_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x43ebe71f uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4898a9ab uwb_notifs_deregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d57ae3c uwb_rsv_type_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d88b838 uwb_pal_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x519e6d7d uwb_rsv_destroy +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x58af0e20 uwb_rc_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5cbb4758 uwb_rsv_terminate +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5e4bc088 __uwb_addr_print +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6057079a uwb_rc_cmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x62c6a25a __uwb_rc_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6759db8d uwb_rc_ie_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6de3b541 uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6ec81fbc uwb_rc_neh_grok +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7dcfcd23 uwb_ie_next +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x84dda1ec uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8667eb45 uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x905e13d9 uwb_rsv_get_usable_mas +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98a99a68 uwb_rsv_establish +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9f237356 uwb_pal_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9f3e3f32 uwb_radio_stop +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xa9a9be96 uwb_rc_pre_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb061f05b uwb_rsv_create +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb541ed50 uwb_rc_get_by_grandpa +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbcf528a7 uwb_pal_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xce3be8ad uwb_est_find_size +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xce84850e uwb_dev_for_each +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd450bc22 uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd77737f8 uwb_rsv_accept +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe1716f06 uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xea1f7ffb uwb_notifs_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xed50e126 uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf784b2c1 uwb_rc_vcmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xffdd866c uwb_rsv_modify +EXPORT_SYMBOL_GPL drivers/uwb/whci 0xaea7983d whci_wait_for +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x0815063a wlp_dev_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x124a383e wlp_dev_manufacturer_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x1a838fff wlp_eda_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x21309fd2 wlp_wss_activate_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x2cfd81f3 wlp_dev_model_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3289e0fa wlp_wss_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x34277545 wlp_uuid_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3a743687 wlp_dev_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3b05a9f6 wlp_dev_prim_OUI_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x4a318e6f wlp_dev_model_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x628234dc wlp_dev_serial_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6addff4a wlp_wss_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x74a7a958 wlp_prepare_tx_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x750f444a wlp_dev_prim_subcat_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x778b4487 wlp_dev_model_nr_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x7f24f820 wlp_dev_prim_category_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x8b29a389 wlp_neighborhood_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x8d80036d wlp_dev_prim_OUI_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xa1546b70 wlp_dev_prim_OUI_sub_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xbae67a12 wlp_wss_activate_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc23eb102 wlp_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc77f92e5 wlp_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xdf9a38b6 wlp_receive_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xe2acf866 wlp_dev_prim_subcat_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xeb7e72d2 wlp_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xef6389d7 wlp_dev_prim_OUI_sub_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf046a77f wlp_dev_serial_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf15bd8dc wlp_eda_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf587691f wlp_uuid_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf8c87f9c wlp_dev_model_nr_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf932894b wlp_dev_manufacturer_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xff7b51ba wlp_dev_prim_category_show +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x059672d8 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x15ab75cc ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x34929c1b ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x5e3aa8e2 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x6432e0d6 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x970bc13c ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xa352f397 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/fb_ddc 0x39e35fe2 fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x0f35c3f6 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x1e6480bf fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x3c699c5c sis_free_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0xe5e6d945 sis_malloc_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/virtio/virtio 0x12c45d11 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x3fb85651 register_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x8b44cb39 register_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0xcd9ea48e unregister_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0xcdac0c9a unregister_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x0ac0ab25 vring_interrupt +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x47945bfc vring_new_virtqueue +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x7ec0e5d3 vring_del_virtqueue +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xaf0060c7 vring_transport_features +EXPORT_SYMBOL_GPL drivers/w1/wire 0x29f97589 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x577e0726 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x98ccea54 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xa7e840c2 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xdda4e3b1 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe31e0d41 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe67a8f40 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xee12e119 w1_reset_bus +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x0864c4a4 dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x3e55ccc6 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x99b4f3fd dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xa7d90056 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xdc583c08 dlm_unlock +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0x9d32c010 exportfs_decode_fh +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0xe22514f3 exportfs_encode_fh +EXPORT_SYMBOL_GPL fs/fat/fat 0x0a07b9ae fat_alloc_new_dir +EXPORT_SYMBOL_GPL fs/fat/fat 0x0a5070fb fat_getattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x0a5bd890 fat_time_unix2fat +EXPORT_SYMBOL_GPL fs/fat/fat 0x12bf5a50 fat_detach +EXPORT_SYMBOL_GPL fs/fat/fat 0x1f8933a6 fat_search_long +EXPORT_SYMBOL_GPL fs/fat/fat 0x1f8dfab3 fat_attach +EXPORT_SYMBOL_GPL fs/fat/fat 0x600bec51 fat_dir_empty +EXPORT_SYMBOL_GPL fs/fat/fat 0x606406c7 fat_scan +EXPORT_SYMBOL_GPL fs/fat/fat 0x68a68807 fat_add_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x6e9055d8 fat_remove_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x82873fb2 fat_sync_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x86ec8d1d fat_get_dotdot_entry +EXPORT_SYMBOL_GPL fs/fat/fat 0x976a0a05 fat_free_clusters +EXPORT_SYMBOL_GPL fs/fat/fat 0x97b7f5cc fat_flush_inodes +EXPORT_SYMBOL_GPL fs/fat/fat 0xb3ede1a4 fat_build_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0xc41f28e0 fat_setattr +EXPORT_SYMBOL_GPL fs/fat/fat 0xc7d10415 fat_fs_error +EXPORT_SYMBOL_GPL fs/fat/fat 0xf92c945b fat_fill_super +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x1a618932 nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x247cef6b nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x4bcaae5b nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x55809f2c nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa7b91a7b lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xd663299c nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xdec6c65d nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf6933c48 lockd_up +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x7903fa6f nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x9c26579b nfsacl_encode +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x0a7eca0a o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x0b408738 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x18ea7620 o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b02006e o2nm_node_get +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 0x25b4fe6e 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 0x62f85ad7 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x687f6251 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x8d36d5f6 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa82a8645 o2nm_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa9f5379a o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xae808bac o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbaeb4700 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd60f2c6c o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x0b812ac4 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x817891a5 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x91b4b560 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xa5b14f58 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 0xdb9d90f9 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xf3620e20 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0562c415 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x06379db6 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0e27f909 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x15df1f1d ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x21db5b88 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4a1f6fe9 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x81c85a68 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x91fab465 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x963932a3 ocfs2_stack_glue_set_locking_protocol +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xa7d5c1c0 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xb5fea631 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xca37382e ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd066711e ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL lib/lzo/lzo_compress 0x56b63670 lzo1x_1_compress +EXPORT_SYMBOL_GPL lib/lzo/lzo_decompress 0xf30fda27 lzo1x_decompress_safe +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 0x0c147c24 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x5d4015d5 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0x8371c734 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x8d85b0fd garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xcfab6ba6 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xfa3cb3ca garp_init_applicant +EXPORT_SYMBOL_GPL net/802/stp 0x07af75a6 stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0xf9e155a7 stp_proto_unregister +EXPORT_SYMBOL_GPL net/ax25/ax25 0x217fbbd1 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 0x090bcc52 bt_class +EXPORT_SYMBOL_GPL net/dccp/dccp 0x02919534 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x036ad208 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0d54e05d dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2ae78bd0 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2d8810bf dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x420b2c60 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4bb33df3 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4c2d11fe dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4dfcc732 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4ec97b84 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5090129b dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x56751123 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x56ea266a dccp_state_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x577818a5 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5fc3060b dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x64b1c238 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x70b1d967 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0x798f4525 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fe98caa dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x83705e36 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8b7d8caf dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x914f9cb7 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x91c6b4c9 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb6b8886f inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb7278dbe dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb982a1b4 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc2bd33fd dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc39ca1c8 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcf9c547c dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd00fda02 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe1c331a3 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe3e8f4b1 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe7a96373 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xec1327e8 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0xef71cdbc dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf0e7d807 dccp_insert_option_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x31d787ad dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x6dc461a0 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x9d97bbe5 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xa9e02608 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xd51fa33a dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xfbda831f dccp_invalid_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x6d40a921 need_ipv4_conntrack +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0xba093ffe 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 0x07ae60b6 nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x70978ab2 nf_nat_proto_range_to_nlattr +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x791e0fb5 nf_nat_proto_find_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x7e193fb0 nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x8c7b727f nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x94a08134 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xb4606ded nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xbba43fee nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xc9fda211 nf_nat_proto_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat_proto_gre 0x636b12c8 nf_nat_need_gre +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x53edc7b6 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x63e41a6b tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x7150ff1e tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xaeb7d602 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xb1f43714 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x6bc1070d ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xfdb99fa4 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe6476b4a net_vs_ctl_path +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x041013fd nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0e7b90f3 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x12d73c2d nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1629fa60 nf_conntrack_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1b7e2462 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1bd1134d __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1cb3c6de nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1d167750 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1dc9dc0d nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1ed81120 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1ee70876 nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2349b4cc seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x24ccf5dd nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x258a8fb6 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x25ca3c1d nf_expect_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x29108dba nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2cd16af4 nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2ef32e7c nf_conntrack_hash_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3243e942 nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3642b337 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x366fbe6e nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3c479b9e nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3d0adafa nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x421c27ba print_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x463ede6d nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4adb4e41 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b9065a9 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5882ba33 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x59719259 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5d4daf19 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62db1f0d nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6c0d2dcf __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6cdd1c47 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8251cb69 nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x858d72b4 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8a94905a nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8e61b328 nf_conntrack_register_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 0x939145d3 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x94c8b675 nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9af3f6c1 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9c8eaf01 nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9d516bdb __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa504c7f7 nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa6694de0 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaee1c1b8 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafadcfc7 nf_ct_unlink_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb4baa77c __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb546be55 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbd18e498 __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbe355dfe nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc1e2d849 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc1e36c89 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd7e8a064 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd9f3abde __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdbf6c5cf nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe27d5aeb nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe8e36c73 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe9c0a74d nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf17019bf __nf_conntrack_helper_find_byname +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf4ef5b26 nf_conntrack_untracked +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf64c72ed nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf8a5d677 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfb20bf7f nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfd8a168f nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x875045b1 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0xd01864ab nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x06155665 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x1163ee30 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x1472b7d2 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x18802c98 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x36e76e12 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x4a342e93 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x50ba8a7b nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x5692f20c nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xecf45d96 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf6d1a184 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x65477f3d nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xcdd69a96 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xe25f03d9 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xeb97274f nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xfdeafb36 nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x4d7bbfcc nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xa54c3d4a nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x1e967d22 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x42c2a4fd ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4466b861 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4f588a3a nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x58faec71 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x9d175b0b nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa6c997f0 nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xab6e6d38 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xcd0fc2a0 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe1ba4ca4 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe78353b4 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xffe187ad nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x778ca8e8 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x408f6dc6 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x4d798261 nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1c08507c nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3ae9e733 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3b4d2411 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xeca95329 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xef9b4bbd nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xf47c00d3 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0xa104de99 nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x0e749087 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1a582d63 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x2b6d5a49 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4f432b51 per_cpu__xt_info_locks +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5696cd14 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x88eb3c1c xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x93f741f1 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x97225b61 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb7450915 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcb15af43 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcf99fc26 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xc2429b63 xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xfc852663 xt_rateest_put +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x1b20a71d rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x1dba7869 rds_conn_create +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 0x32222499 rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x34bd1b2b rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x3571b8cf rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0x43756551 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x4e9d44ae rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x5508938e rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0x5b6b6d36 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x73f23717 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x82e36f70 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x881bf1aa rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x885b03db rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x89bfa4a9 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x96fafe85 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x9b3e6113 per_cpu__rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x9c993d0c rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xa771437d rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0xab41835a rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0xcae4a311 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xdc1d0ab3 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0xdd2969b4 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xed77f596 rds_inc_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xf92431fd rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xfa3c542f rds_connect_complete +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x23fb31e6 rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x314daafd rxrpc_register_security +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x0075f14e svc_gss_principal +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00c52ef5 g_make_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x0118b6c2 gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x1c93aebe gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x78456173 gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x82afa52b gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8d1a827e svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8e92ed50 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd8139507 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xe9483ece gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xecf43905 gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf0d0d196 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xfd5f230d gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00cd6964 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00de95da xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0106eb00 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x01ffb2c5 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03b72cd8 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x04251816 rpc_run_task +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 0x07e323fe rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x09c597ad xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a4bc081 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0b173e16 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d0e0a73 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0da0dde5 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e5e10c6 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e6da581 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f9fd9c0 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1037bbff xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12e280e3 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1357d654 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1366bed6 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x13b66a71 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14cc3d25 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1759be07 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x18bf2c42 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x18d6f17b xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a8c14f4 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1b92b9e4 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f0ebda4 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f63db0d svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2225ddc7 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26d43c33 cache_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29dd4455 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2aa17774 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c089dfb xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2caf88f8 xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d12435d svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2da01a19 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2f3b489a auth_unix_add_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x346fef8c xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3520477c xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x35346a7c svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36af8de4 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36e747f8 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x372f0f37 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3db0e2f5 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x41a6995f rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42a9c44c rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x440d35a7 rpc_exit_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4553d59d rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x47b31511 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x49b8e44b rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b2982c8 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d8ddc32 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x51a41c6e rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54c10eef svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x550547a3 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5862d90b svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x587b4b46 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58cce14d rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b14ec1a rpc_put_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bd26000 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5fdc9d0b rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x623c128f rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x63b04ade svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x65a47dcf svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66ab0b58 svc_sock_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x675524ec rpc_sockaddr2uaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6767bef7 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x686c7e33 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c5304c5 rpcb_getport_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6cbf76ae svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e656522 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6eea229d svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x701604ed auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71ca869c rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x728b3750 rpc_get_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x73bde250 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79ad8a07 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7bdb17eb rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7db23d66 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e9afead sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f4df5f1 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fbab7a4 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x817d2a2d rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82681184 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8476ac83 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x853b6f53 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x85ee05d6 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86ed282a rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8897bba3 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d83e906 auth_unix_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8e5d65c7 svc_sock_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8fc44cc9 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x928ff744 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x939c27d5 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x96f7a050 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x97a38968 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x98463fe8 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9994d814 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9bf1aad8 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e8ec798 cache_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa3439bed unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa40d0f8f xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa58dedcc rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa61c8129 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa6450404 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa98ac387 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9e3a8a6 sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac0a402f rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac75e59a xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xae48acc0 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf381c10 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb387b246 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb605cf4e rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc091397 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbcb85dc5 auth_unix_forget_old +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf004585 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2fe8d4f svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc562f63c svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7df5cf2 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc86cc381 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca7b571d rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xccc2372e rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce5163b2 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf0471de put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd00c221c xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd5885342 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd82c728e rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd8b21014 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xda8d172d __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdab5e184 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb14b305 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe18c3a84 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe26ad6a5 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe306cfbd sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe37b0c3d xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5b5bc32 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6609ffa xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe71e28db xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe9177534 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeb6729d7 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed87219f svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedd1ba52 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xefa350b4 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2454afc rpc_mkpipe +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf7bc5bc8 svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa710b0c xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfaf448f6 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfd7ee886 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/wimax/wimax 0x2399c0f4 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x31e84fd6 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x5c1ac856 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x664d7d48 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0x9f9cc91b wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb2a8baf8 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb5dc44eb wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb8924910 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0xbbb3936e wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0xc2cc0196 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd6f00af4 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0xdf2609f2 wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0xe46dd427 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x032d640e cfg80211_wext_siwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0d3dc84e cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1dc6b1cc cfg80211_wext_siwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1e409418 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x22faa350 cfg80211_wext_giwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x28730a6d cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x33fd27ec cfg80211_wext_giwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x44e9a400 cfg80211_wext_siwgenie +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4b4e707c cfg80211_wext_siwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x622e6cfa cfg80211_wext_siwmlme +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6800a721 cfg80211_wext_giwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6f1471e0 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x75c0d05f cfg80211_wext_siwencodeext +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7e759361 cfg80211_wireless_stats +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8ca06f59 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8e3accbf cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8ff94cdd cfg80211_wext_siwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9488ba94 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x96f75231 cfg80211_wext_giwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9d80ee7d cfg80211_wext_siwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa3dbd8a0 cfg80211_wext_giwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xad77a807 cfg80211_wext_siwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb9f455d3 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xbb73857c cfg80211_wext_giwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xbc702cbb cfg80211_wext_siwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc5734f83 cfg80211_wext_siwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd2ff4a5a cfg80211_wext_giwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdba9cfe6 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe5a86092 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf000dfaa cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf5531910 cfg80211_wext_giwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xff83a51d cfg80211_wext_siwfreq +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x4a348e9f ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x6cd7d3d8 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xccd53ba3 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xffb711c0 ipcomp_init_state +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x049dda00 snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0c4ea767 snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x10ffa5c3 snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x126ca87c snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1479f1f6 snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x19b9025b snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1ba0eaee snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1e5043bc snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x20750e76 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x219bbd4d snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x21efe74a snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x22aa442e snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x22f486de snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2449d553 snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x288b924c snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2a7fce81 snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x335e513b snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x347e97d7 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x371acb15 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x39f7925d snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x43bd8807 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x44ecf787 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x49e3a32f snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4b073066 snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4c2c1552 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dc104f6 snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4eee1c6c snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x50c7876c snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x548ab07e snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x55dd3339 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5a3b1c50 query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ae76f73 auto_pin_cfg_labels +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5fcd4041 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x61094c4f snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x617d584c snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x638214f9 snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x70133d78 snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7e685ec1 snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f42f95f snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x80563093 snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x827d78c9 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x867d2859 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x86fa9c67 snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x88bceaa1 snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x892a07d1 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8b606828 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x90507249 snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x908e91cc snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9bf1d677 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9ec39f70 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9ffac133 snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2014820 snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa3f8fe41 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad87613e snd_print_pcm_rates +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xae198232 snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xae407bf4 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaebd14c2 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xafc3d83b snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb2cf0643 snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb2fddcd0 snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb6afe1d7 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc34a54c6 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc632df61 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcaca07a1 snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcce27eb0 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd0d11519 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdcc44a06 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdece18fa snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe4ec58b7 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe66ce28f snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe6a6223d snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe7f46bd7 snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeb692292 snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xecc5e182 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xef06cfe2 snd_hda_parse_pin_def_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf04201e1 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf0514a2b snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf88cb944 snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfbbfa4d7 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0x27f423f5 soc_codec_dev_ad1836 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0xff324cc2 ad1836_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0x01cb691e soc_codec_dev_ad1938 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0x09922d2c ad1938_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0x2a6c3cfa ad73311_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0xd383da6c soc_codec_dev_ad73311 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4104 0x3eddad09 soc_codec_device_ak4104 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0x593f357f ak4535_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0xc705954e soc_codec_dev_ak4535 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0x0f123caa ak4642_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0x9fbebae2 soc_codec_dev_ak4642 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x355140b9 soc_codec_device_cs4270 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x9b6df11b cs4270_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x02714ea3 max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0x352bc3f4 pcm3008_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0xc9958056 soc_codec_dev_pcm3008 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-spdif 0xca17c750 dit_stub_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x9ccceb6d ssm2602_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0xc220859d soc_codec_dev_ssm2602 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0x72176d9e soc_codec_dev_tlv320aic23 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0x7a27dab8 tlv320aic23_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0x52a7c485 aic26_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0x572b70ab aic26_soc_codec_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x2140a6fb aic3x_headset_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x45912188 aic3x_set_headset_detection +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x5894be1b aic3x_button_pressed +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x8b90e091 soc_codec_dev_aic3x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xb81872b1 aic3x_get_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xc182a42d aic3x_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xd2ade305 aic3x_set_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0x6dad0d95 soc_codec_dev_twl4030 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0xd42528c7 twl4030_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda134x 0xac156b90 soc_codec_dev_uda134x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x66655d10 uda1380_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x9daf57f9 soc_codec_dev_uda1380 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x12dcbb75 wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x55ad5b5e wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x757206d5 wm_hubs_spkmix_tlv +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x4e8d9677 wm8350_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x7e2af4e7 soc_codec_dev_wm8350 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xd22aea94 wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x1670b0c9 wm8400_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0xe5360eb5 soc_codec_dev_wm8400 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0x3304383e wm8510_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0xae51128d soc_codec_dev_wm8510 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0x8478500d wm8523_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0x873aff17 soc_codec_dev_wm8523 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0xa1802902 soc_codec_dev_wm8580 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0xab03b3a3 wm8580_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0xac9aa7b3 wm8728_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0xcec7ee57 soc_codec_dev_wm8728 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x1ec73f29 soc_codec_dev_wm8731 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x2de2fdcf wm8731_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x035172da soc_codec_dev_wm8750 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x856e1b50 wm8750_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x10792647 wm8753_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x287c2119 soc_codec_dev_wm8753 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x568f0132 soc_codec_dev_wm8776 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0xd9dea9bd wm8776_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0xc2dc26c5 wm8900_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0xe545c702 soc_codec_dev_wm8900 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x4448546b wm8903_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xce6894c1 soc_codec_dev_wm8903 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0x369302d6 wm8940_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0xe24c6fde soc_codec_dev_wm8940 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0xa10c13ff wm8960_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0xe1c8bbb0 soc_codec_dev_wm8960 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0x6a50c05a wm8961_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0xf8d38af1 soc_codec_dev_wm8961 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0xcc27cbee wm8971_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0xf911e0c6 soc_codec_dev_wm8971 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0x84661483 soc_codec_dev_wm8974 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0x9cea5a5d wm8974_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x1d60eacf wm8988_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x238f1cb2 soc_codec_dev_wm8988 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0x57446316 wm8990_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0xea94fc8d soc_codec_dev_wm8990 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0xc1b9af4e soc_codec_dev_wm8993 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0xd1d011b8 wm8993_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0x325bb46f wm9081_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0xb225c1c1 soc_codec_dev_wm9081 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x045473f1 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x06d8ec39 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1313b23c snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x16e3d356 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x18d1fdd4 snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1b9e30fe snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1c57f07d snd_soc_new_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x22996bc3 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2502d8c3 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x287687af snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x29cde712 snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x304b8139 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x334a4ee2 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x33a51ea6 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x352aa21c snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x36aaf4df snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x38f493d2 snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3daefaa2 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x42290710 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x439d82fc snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4cc92bea snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4eb77a79 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x560968c8 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6013985d snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x62029f8a snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6357d509 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6d22d219 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6e1ba6f8 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x73a913f7 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x73b112a9 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x78200bf7 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7f73f208 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x81dece6c snd_soc_suspend_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8682b16c snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8d043627 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9c1ff65e snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9e27a090 snd_soc_dapm_stream_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa0137f4c snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa13585bc snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa1b6180a snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa886b4d4 snd_soc_free_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaa743e4b snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xad836c01 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xae6a07d1 snd_soc_get_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb0c770be snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb47d2fa6 snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb4840a4a snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb74a266a snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb815a407 snd_soc_put_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb9e14ffc snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbada6d47 snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbc716a41 snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc113fcb1 snd_soc_info_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc11459b1 snd_soc_add_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc17879f9 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc64bee1b snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8468ab1 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcd35a79c snd_soc_init_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd3940e9b snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd47c9007 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd63beae6 snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdb13e3ef dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdbbcd9dc snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xddb2f2e6 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdf2912bc snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdf298740 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe4e24dbc snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe7ce74bc snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xee40bc18 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9477d4a snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfae1425b snd_soc_resume_device +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x2e0a0be5 xv_destroy_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x51958fac xv_malloc +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x7e80b9f6 xv_create_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x9a79aa81 xv_free +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xaf69699e xv_get_object_size +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xc1f55d16 xv_get_total_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0x001e4470 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x002ff5a3 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x00349e16 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x003ed6a6 hpet_unregister_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x00566d8f inotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x0077d878 pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x009c8781 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x00c78839 fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x00ebe324 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x010b3618 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x0110b3d1 register_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0x013e1be4 pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x0146be4b blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x014e6643 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x016b9869 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x0174f3bf crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x01848a8e local_apic_timer_c2_ok +EXPORT_SYMBOL_GPL vmlinux 0x019da578 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01b8fdb3 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x01cb4883 __set_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x01cdea51 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01ed404a crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x0231afa8 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x0248f8ef skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x02543efb scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x029d03f1 pm_request_idle +EXPORT_SYMBOL_GPL vmlinux 0x02ccbbc2 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x02ccea56 lock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x032a90da clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x03b93f5d sysdev_class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x03de0abf ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x04069b1d set_irq_nested_thread +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x045b46a8 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0x047e024e crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x0489957c hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x0492f013 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x04b4a333 class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x04fb1ac5 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0x0508e606 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x05b8ebce vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x05d81a4f led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x05ff6ff7 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x060d1064 set_memory_ro +EXPORT_SYMBOL_GPL vmlinux 0x0619ca8a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x06605ecb debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x06734576 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x06778eb2 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x069ba96a __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0x06a551ef ata_pio_queue_task +EXPORT_SYMBOL_GPL vmlinux 0x06f38a41 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x07484db3 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x0782099b each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x079c6be9 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07be2862 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x07ce7344 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x0800619a sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x0804e27a usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x080df92b ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x081e4f62 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x08a3e5d1 net_ipv6_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0x08c7fa5b tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0x08f6f7f3 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x09adbd97 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x09be91ec pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x09d60450 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x0a254565 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x0a415fff ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0x0a6cb76f cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x0a90af6f register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x0aee9879 crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b6f526b ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x0b8e453d skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x0b91b3ac tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x0bd77544 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x0bfc88ef ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x0c01d97e regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c3f9026 register_posix_clock +EXPORT_SYMBOL_GPL vmlinux 0x0c805f93 clflush_cache_range +EXPORT_SYMBOL_GPL vmlinux 0x0cb88680 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x0ceafb14 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x0d0ec7a5 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x0d186d6b hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0d63de99 acpi_smbus_write +EXPORT_SYMBOL_GPL vmlinux 0x0deb0ade register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x0e109316 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x0e6c5d3c register_net_sysctl_rotable +EXPORT_SYMBOL_GPL vmlinux 0x0e7de34f crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x0ed04ea8 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x0ef2970a shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x0f2fd21e skb_icv_walk +EXPORT_SYMBOL_GPL vmlinux 0x0f52f2b6 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x0f5919bf sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0x0f6b1d3f sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x0f73520f klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x0f7e60dc ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x0f824a3b platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x0fa00085 rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0x0fc8ae18 inode_add_to_lists +EXPORT_SYMBOL_GPL vmlinux 0x0ff2df02 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0x100c13c6 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x100c48a2 unregister_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x10173b7d regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x101c923e __tracepoint_power_start +EXPORT_SYMBOL_GPL vmlinux 0x1034b866 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x1038bfc3 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x103b7a91 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x104fce35 unregister_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0x10621889 hpet_rtc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x106b58b8 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x10c5f808 get_driver +EXPORT_SYMBOL_GPL vmlinux 0x10da02cd sysdev_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1114f98f fib_rules_cleanup_ops +EXPORT_SYMBOL_GPL vmlinux 0x11303819 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x1178ae1f usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x118bdf4a blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x119660a9 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x11de5a72 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x11e10b3b ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x12407b9e crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1251d30f call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1263b94e usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x126d44e4 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x1272e1d4 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x12c71a61 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x12d35637 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x13354608 scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x133f8e76 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x136a4bac simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13d0200e dm_unregister_path_selector +EXPORT_SYMBOL_GPL vmlinux 0x13e5a0f7 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x14418c59 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x14596d2d ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x149db923 selinux_string_to_sid +EXPORT_SYMBOL_GPL vmlinux 0x153dd358 put_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0x1556756b usermodehelper_is_disabled +EXPORT_SYMBOL_GPL vmlinux 0x156257e3 apic +EXPORT_SYMBOL_GPL vmlinux 0x156cb224 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x15892417 async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1598dc9d unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x15b0606e e820_any_mapped +EXPORT_SYMBOL_GPL vmlinux 0x15badb33 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x161bb890 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x16836e04 speedstep_detect_processor +EXPORT_SYMBOL_GPL vmlinux 0x1697136d hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x16c508be platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x16c57b0c unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x16c639e7 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x16f76869 probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x171b577b unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x1720e969 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x172e72d4 vdso_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1779439f ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x180a3eb9 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x182b4539 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x185172c8 scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x18583aac sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x185e2600 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x18678cc3 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0x1878f62b edac_err_assert +EXPORT_SYMBOL_GPL vmlinux 0x1890c7a2 inotify_dentry_parent_queue_event +EXPORT_SYMBOL_GPL vmlinux 0x18d53420 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0x18d9ed83 mce_chrdev_ops +EXPORT_SYMBOL_GPL vmlinux 0x1928bd1f sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0x197dbe54 gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19aadb0e scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x1a306122 lookup_create +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a39863d ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x1a474901 tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x1a938737 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x1a9b538e ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x1ac885b1 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x1acda5b2 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1b90ac8a ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1bcdc539 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x1c5ab484 k_handler +EXPORT_SYMBOL_GPL vmlinux 0x1c7b6c2a eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0x1c852e7c xfrm_calg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1ccb1b0d ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x1d28d92f debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x1d8f8059 __tracepoint_power_end +EXPORT_SYMBOL_GPL vmlinux 0x1d9cd49a ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x1db21d74 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x1dee2629 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x1e2ecda6 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x1e682e94 pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e929cf7 user_describe +EXPORT_SYMBOL_GPL vmlinux 0x1eb8e160 isa_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1f3d1b77 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x1f8ec1b3 acpi_get_pci_rootbridge_handle +EXPORT_SYMBOL_GPL vmlinux 0x1fa2f0c2 sysdev_store_int +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x205dcd7a klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20d80fdf usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x20e01bc9 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x20edf1bd pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x20f64759 __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x215db6e9 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x216b983e usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x216d19f0 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x21e0a633 dm_rh_start_recovery +EXPORT_SYMBOL_GPL vmlinux 0x22095df2 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x2224dfa0 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x223064b9 pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x22eda46b regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x22ff0c83 pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0x23253735 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x23314a32 inotify_rm_watch +EXPORT_SYMBOL_GPL vmlinux 0x23679939 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23869dc7 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x239a44bf crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x2405ef3f spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x240b739a iomap_create_wc +EXPORT_SYMBOL_GPL vmlinux 0x2426ba64 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x24297e77 scsi_dh_detach +EXPORT_SYMBOL_GPL vmlinux 0x24416537 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x246f4153 pv_time_ops +EXPORT_SYMBOL_GPL vmlinux 0x24748a9c get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x24a0d51d ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x24a2611e hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x25461bda tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x256ffa4e inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x25a09262 scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x25addbd8 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x25bcf256 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x25bffd81 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x25d46f3e da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x260dc92b usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x264886e9 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x267cd1c0 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x2698e29c rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26df3c61 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x26eba495 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x2714a01f device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x272bec72 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x275045ed crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x2754a705 inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x2787db00 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x27893d39 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x27adf232 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x27b74afd crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x28290453 init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x284be072 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x2894d26d debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x289dd0de inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x28d3eaa7 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL vmlinux 0x292132ed usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x29501527 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x2980c410 power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2a010ab1 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x2a56e017 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a7209a1 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x2a8474dd securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x2aa10291 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x2ab7cd0b ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x2ac1d500 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x2af90271 speedstep_get_frequency +EXPORT_SYMBOL_GPL vmlinux 0x2b9f8e23 nf_net_ipv4_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x2bbaf669 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x2bbbd9fe ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x2bc06b1f blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x2be3a2eb sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x2be7fb8e disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x2bfc4d7f tracepoint_get_iter_range +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c8af2a8 pci_configure_slot +EXPORT_SYMBOL_GPL vmlinux 0x2ce07e63 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d49dea5 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x2d53afee anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x2d7ec441 __pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x2d9f2ce3 sched_clock_idle_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x2dd11777 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x2dd8444c trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x2de0bb64 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x2deaa4ce skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x2e082fe1 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x2e47f677 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x2e5e53b7 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x2e81a831 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x2eb91dfe scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0x2ebd80f3 scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0x2f0209e1 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f857551 machine_check_poll +EXPORT_SYMBOL_GPL vmlinux 0x2f9c0a39 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x2fcd9e17 dpm_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x3032b4cf platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x30634b60 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x30a4f4ca bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x30b97b1e usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x30bfce97 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x30e40b90 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x3103d84d rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x315a4989 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x318920b1 register_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3189d4df driver_register +EXPORT_SYMBOL_GPL vmlinux 0x31988ac0 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x31c54454 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0x31d5bcfe sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x31edbcb2 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x3202cf22 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x321d948a dm_region_hash_create +EXPORT_SYMBOL_GPL vmlinux 0x32d5e7fc xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x32d5ec86 ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0x32f17454 ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x330f3078 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x333da16b pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x334e6848 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x33606b39 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x336975d7 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x33cb1562 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x34275124 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x34459182 usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x34636486 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x347d81d9 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x34e767ac relay_close +EXPORT_SYMBOL_GPL vmlinux 0x353942ea queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x35a87ef2 acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x35b44d01 blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x35be5708 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x35d8c94a sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x35fa3962 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x35fd0312 per_cpu__injectm +EXPORT_SYMBOL_GPL vmlinux 0x361b8930 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x365d2a67 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x3714af78 put_device +EXPORT_SYMBOL_GPL vmlinux 0x371c525f init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x372c9ba3 devres_get +EXPORT_SYMBOL_GPL vmlinux 0x374a690c device_create +EXPORT_SYMBOL_GPL vmlinux 0x375f57ef sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x377000f0 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x37ad4176 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x37dc0546 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x383dd870 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x3841ab01 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x3854b16c __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x38840b4e __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x388d75b8 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x38b08e90 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x38ea936e __memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x390476d7 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3916cb7b ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x39287f45 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x393fa9cb dm_rh_update_states +EXPORT_SYMBOL_GPL vmlinux 0x3950fd25 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x3955b1a7 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x3968d9f0 device_del +EXPORT_SYMBOL_GPL vmlinux 0x3987ba15 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x39b14247 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x3a18960c unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x3a8ab7ae __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x3ab2b357 ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0x3ab8ea8d ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x3ac2ef70 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x3af5ccc6 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x3b54bb9c srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x3ba57bd2 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x3bb6f00b nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0x3bba0f8a blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x3bd04670 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x3be7af02 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3c01f67c ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x3c2044f6 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x3c2eefcf generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x3c3cea8a ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x3c5cba5f __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x3c6c45ca __tracepoint_power_frequency +EXPORT_SYMBOL_GPL vmlinux 0x3c80ced3 ata_sff_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x3c884996 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cdd5d2c elv_register +EXPORT_SYMBOL_GPL vmlinux 0x3cfdfae5 trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d6f8695 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x3d9c52bd ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x3dd4d3a7 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x3dd52c77 generic_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x3dd5d829 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x3dde0e07 amd_get_nb_id +EXPORT_SYMBOL_GPL vmlinux 0x3e2004e9 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x3e45e228 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x3e757637 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x3ecf6cfc wmi_install_notify_handler +EXPORT_SYMBOL_GPL vmlinux 0x3ef9d0ce blk_abort_queue +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f01570a probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x3f032c39 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x3f0e7a1c crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x3f238101 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x3f298985 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x3f3346f3 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x3f5a1050 sysdev_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x3f6dc7be inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x3fcfd6ba crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x40a129bf skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40be2c41 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x40c2ccae uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x40c38f7b rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x40d98fd9 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x40da6366 __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x40dff36f dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x40e6016f dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x413c9b2a spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x41538d6d regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x42334230 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x42494cea ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x426f13b9 e820_all_mapped +EXPORT_SYMBOL_GPL vmlinux 0x426fac16 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x42745d9f usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x429622e1 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x42987e4e da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x42b364ef scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x42b42291 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x42d5d96b ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x42ec50eb pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x435c24a4 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x43709069 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x4426b8a7 pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0x445b2aa0 fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x447b2c51 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44a65d5c lock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x44d0232b ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x44f43555 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x4541fe0d mtrr_state +EXPORT_SYMBOL_GPL vmlinux 0x45495252 __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x454d5c01 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x455cfd98 aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45dc0b07 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x460f31aa rodata_test_data +EXPORT_SYMBOL_GPL vmlinux 0x4648a74f driver_find +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x467ccee5 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x46bba254 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x47206b84 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x472ccfa7 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x472ee99a ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x474543e2 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x4746fb45 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x477e571d __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x48b81617 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x48c6c97e ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49db8db4 register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x49f787d2 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x4a31d8ab usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x4a63b329 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x4a68541b usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x4a714c36 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x4a7a57b3 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x4aafcfaa crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x4aecccc5 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x4b64f065 inotify_remove_watch_locked +EXPORT_SYMBOL_GPL vmlinux 0x4b94c084 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL vmlinux 0x4b9f2fbd ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x4c2f30d4 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x4c4f0ec9 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4c96fcfd crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x4cb30da8 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0x4cec82ee crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x4cf7961f sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x4d39e7a0 ata_sff_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x4d3b7584 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x4d8f4c15 klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4dd477d2 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x4ddbfacf regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x4ec32a28 __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x4f0bce29 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x4f4a53fb ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4f79850f ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x4f95f211 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0x4fb3daa0 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x4fb429bd ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x501f0c99 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x502a21ee inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x503b69b8 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0x50547c12 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x50c89f23 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x50d1f870 pgprot_writecombine +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50f37cae sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x50f5e532 call_rcu_sched +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x50ffd4e9 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x5108b3fc acpi_os_map_memory +EXPORT_SYMBOL_GPL vmlinux 0x510b5dec rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x513a7f9e ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x51475910 net_assign_generic +EXPORT_SYMBOL_GPL vmlinux 0x518c2fc6 hpet_rtc_dropped_irq +EXPORT_SYMBOL_GPL vmlinux 0x5198b603 sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x51aed35d usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x51e11472 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x5210c759 inotify_init_watch +EXPORT_SYMBOL_GPL vmlinux 0x5212785e get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x521452ad ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x52329a8f fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5232ba5a sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x5243b132 __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x52496c50 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x52bff0dc vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x52d111ea pm_qos_update_requirement +EXPORT_SYMBOL_GPL vmlinux 0x52d45324 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x52f15a0e usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x52f512bd dm_rh_get_region_size +EXPORT_SYMBOL_GPL vmlinux 0x5317f07e regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x531b4e82 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x531f884c sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x532aa03e usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x533340e7 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x5334ed3e pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x53644d3d macvlan_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0x5370f0c7 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x5372dede unregister_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5374e0de skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x53befd56 inet_csk_clone +EXPORT_SYMBOL_GPL vmlinux 0x53d02b03 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x540113cd i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x540a7fb9 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x54141c60 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x5414732b screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x542a293a usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x545ac9a6 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x545bcd5c pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x545fc1c5 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x5492ef1b kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54cfe1c7 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x554a4d25 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x555313fc ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x5585f3cb usb_buffer_unmap_sg +EXPORT_SYMBOL_GPL vmlinux 0x55ae7aad queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x55ba2dd2 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x55cc78d9 srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x55f957df ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x56398615 mark_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x563fb5c8 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x5648b99b vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x564cfe53 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x56947347 dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x569b6134 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57cfb339 do_sync_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x58286771 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x583de0ef crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x585dfab4 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x58665763 rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x589f3eab dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x58eeff44 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x590e2dad preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x590f4bb3 acpi_smbus_read +EXPORT_SYMBOL_GPL vmlinux 0x5916acb3 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x593a36c2 scsi_dh_handler_exist +EXPORT_SYMBOL_GPL vmlinux 0x59629b7e relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x5978f450 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x59a1294b i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x59ca3224 inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x59d26f28 sysdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x59d2f498 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x5a6ec452 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5afe5890 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x5b31f8cd ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x5b42c496 dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x5bd224ce crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c11b85d spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x5c290344 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x5c30c250 crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5c3e7099 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x5c8c4ea4 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x5c9b768d attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x5d0f6f57 kbd_table +EXPORT_SYMBOL_GPL vmlinux 0x5d51bcf7 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d87c067 register_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5d8d0297 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5dc78542 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5e51671d platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5ea947fa scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0x5ec3dcf8 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x5ed42d90 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x5ef081a7 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x5f2da8c4 check_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x5f3ec9e0 inotify_inode_queue_event +EXPORT_SYMBOL_GPL vmlinux 0x5f726c20 fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0x5f7b23ac usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x5f81412c crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x5f85a9f8 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x5fb026c7 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x5fcdec5d xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x5fcee70e crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x5fcf4b05 rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x5fd5b103 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x6040fd4b read_unlock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0x6088aeaf sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60cd73ed pv_apic_ops +EXPORT_SYMBOL_GPL vmlinux 0x60e5f765 spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x60ff63d4 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x61328f66 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x61747e09 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x61eda3c8 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x6231e666 use_module +EXPORT_SYMBOL_GPL vmlinux 0x6248e402 cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x627ce923 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x629a7f6e do_posix_clock_nonanosleep +EXPORT_SYMBOL_GPL vmlinux 0x62e749ef alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x63006e3b dm_rh_dirty_log +EXPORT_SYMBOL_GPL vmlinux 0x6341631a sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x63583f91 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x63668979 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x636a6e2c ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x63aa7a65 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x63cf18ec ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x643a1944 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x6448f312 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x64d6374c ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x64ddffad hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x64e06003 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x64ebe677 wmi_query_block +EXPORT_SYMBOL_GPL vmlinux 0x653f9a6b rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x654c49e2 aer_irq +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 0x660b41aa debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6652835a usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x6674c364 blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x668f928e usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66fab731 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x66fc6128 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x6759541b ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x6776bfbf scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67c36a6a raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x67cefbc6 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x67e032ac power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x686c703f xfrm_count_auth_supported +EXPORT_SYMBOL_GPL vmlinux 0x688fa032 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x68a668cb hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x68ddf21b usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x6901119a trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x6903b103 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x690f1ab5 page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x69357a76 filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0x69371c4d platform_device_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x698a3f53 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x69921f1b acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x69f67a58 __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x6a08d025 get_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0x6a262bd2 tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6ab50ade single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x6ad2337e devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x6adde166 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x6b81a703 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x6b92424a crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x6b94c408 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x6b9b4596 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x6be8e97c register_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0x6c19e73b led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x6c25e9a7 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c8bb56c blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6c8eb98f xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x6c9deb13 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x6cd22e7e srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6da5a97b trace_define_common_fields +EXPORT_SYMBOL_GPL vmlinux 0x6e7474fc xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x6eb787ee klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x6ebcd661 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x6ee3f6c7 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x6ef6cbbe __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x6efa29b3 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0x6f9853b3 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x6fb43d2d da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x6fbdacd7 acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0x6fe3d8cf ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x6fefcc9e set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x7015b73c transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x7036ec22 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x7037d79d k8_flush_garts +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x70734d8a ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x70cdae65 user_match +EXPORT_SYMBOL_GPL vmlinux 0x70d79741 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x71152ada dm_rh_region_to_sector +EXPORT_SYMBOL_GPL vmlinux 0x7122c2f3 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x712e4e74 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x7177bcc2 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x71ab6911 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x71b2ab15 acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0x71c8bc95 kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x722c4f65 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x724a57d7 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x7285f84f unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x72c2a9d7 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x72c34976 __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x72e03bae stop_machine_create +EXPORT_SYMBOL_GPL vmlinux 0x72f32a87 scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x72fd1d0b ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x72fe780a task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x735e6a2f sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x739adef0 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73d0c1fa __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x73ff4175 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x740b7860 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x745bdb26 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x74645723 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x74abdafa task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x74b2e5cc fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74deb10c used_vectors +EXPORT_SYMBOL_GPL vmlinux 0x74f5776d ip6_dst_blackhole +EXPORT_SYMBOL_GPL vmlinux 0x7521afb6 leave_mm +EXPORT_SYMBOL_GPL vmlinux 0x756d2cec xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x7571894c regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x75a6afc2 sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x75b1e45b fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x75f47f59 pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x761188fd dpm_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x762186c8 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x764dd992 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x767080d1 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x76ad995c device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x76bed0f5 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x76c8b95f ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x771f211f crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0x773ca527 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x775783de register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x778cf73f usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x77dc3387 ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x780eed89 acpi_processor_ffh_cstate_enter +EXPORT_SYMBOL_GPL vmlinux 0x780f8418 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x7819cd6c sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x7867be87 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x7868c054 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x78a4043d __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x78ae96cf inotify_find_watch +EXPORT_SYMBOL_GPL vmlinux 0x78e4a4ee klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x793629c6 ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x7940f2e1 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x79a8277a sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x79aaa52a cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x79ca97d9 ata_port_disable +EXPORT_SYMBOL_GPL vmlinux 0x7a2892d2 iomap_atomic_prot_pfn +EXPORT_SYMBOL_GPL vmlinux 0x7a4c1438 pv_info +EXPORT_SYMBOL_GPL vmlinux 0x7a4f65e1 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x7ab3c122 edac_handlers +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7ae8eda1 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7b1d544d edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x7b31db56 dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x7b3de126 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x7bb39690 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x7bc5dfb7 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x7bcd2ded klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x7c11208e ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x7c9c70aa da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x7ccb85a9 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x7ce1aa41 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x7cf3931e crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x7d2a310d ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x7d4280a6 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x7d5354d6 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x7dab1ae5 cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7dd51bd1 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x7de2c322 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e7a3398 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x7ea349df rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x7ec6155c cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x7ed2c908 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x7ee35b05 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x7f15bae7 ata_sff_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x7f19c836 unlock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x7f220180 gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0x7f78db05 d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x7fbbf29f crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x7fd6e315 bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7ff0dffa spi_async +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8014b6af input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x8039d043 selinux_secmark_relabel_packet_permission +EXPORT_SYMBOL_GPL vmlinux 0x806b7a87 preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80d8805d cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0x80ee55c3 selinux_secmark_refcount_inc +EXPORT_SYMBOL_GPL vmlinux 0x80efb732 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x8103b13f ata_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x8115961f sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x81620cee fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x817b3b7f find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x81d17d0c ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x81f25b66 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x82124b1c regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x823b58ac blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x825eb777 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x826609a4 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0x8271e59c platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x8271ee5f usb_buffer_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x82945f8a vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82ee09e8 drop_file_write_access +EXPORT_SYMBOL_GPL vmlinux 0x82f776b7 gpio_export +EXPORT_SYMBOL_GPL vmlinux 0x834d8eee attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x8376e03e securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x843ad4e4 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x8442a557 class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x844c5600 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x8453dcb7 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x847dc5ed usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x8484b14f blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0x8486984e fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x84d544b2 ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x85774ef4 kick_process +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85d7edfd hpet_set_periodic_freq +EXPORT_SYMBOL_GPL vmlinux 0x8619b681 kill_pid_info_as_uid +EXPORT_SYMBOL_GPL vmlinux 0x862ac4f3 do_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x8643517d crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x867c684a setup_APIC_eilvt_ibs +EXPORT_SYMBOL_GPL vmlinux 0x86856b0d dm_register_path_selector +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86b1667d hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86d2870f usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x87198bbd input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x873fbaea edac_atomic_assert_error +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x877c1897 dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x8788fcd2 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x87b2a522 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x87bc750b shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x87c336c1 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0x87c78af3 destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x880b189a __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x8823a488 acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0x885142a6 nf_net_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x885efe7a ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x886736fc olpc_platform_info +EXPORT_SYMBOL_GPL vmlinux 0x88a87a85 ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0x88d11928 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x88eea58a aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x88f4beb8 sis_info133_for_sata +EXPORT_SYMBOL_GPL vmlinux 0x897fd962 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x89e59c93 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x8a294f67 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x8a9f7fb2 pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8aa85b89 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x8abd4b65 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x8ae58547 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x8ae6b27b ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x8ae8f1f9 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8b7db255 device_register +EXPORT_SYMBOL_GPL vmlinux 0x8b8a0c21 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x8c225b5f crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x8c9d686d __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x8cd7a730 sysdev_show_int +EXPORT_SYMBOL_GPL vmlinux 0x8d033df4 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x8d421742 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x8d44d765 __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x8d7b40fb set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x8d935c5a anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x8d97e2f9 dm_rh_flush +EXPORT_SYMBOL_GPL vmlinux 0x8da17b42 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x8dbbbfe4 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x8dc89377 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x8dffb94d usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x8e2e50ae __class_register +EXPORT_SYMBOL_GPL vmlinux 0x8e335804 relay_open +EXPORT_SYMBOL_GPL vmlinux 0x8e8ba44e aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x8eae69ba kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x8eb58c6e __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x8ec5ea02 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x8f50121a __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8fa74514 sysdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8fe2b959 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x8fedc888 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x8ff3da26 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x9000b132 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9009602a acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x904be910 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x9061444e ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x90790b53 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90e7a79d rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x91102f82 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x91482eef usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x9148a9fa i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x91a704fe sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x91f94ca3 ata_port_start +EXPORT_SYMBOL_GPL vmlinux 0x92224446 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x92300ec6 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x92673c36 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x92732398 put_driver +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d74e64 sysdev_class_register +EXPORT_SYMBOL_GPL vmlinux 0x92eef345 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x92fb217b dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9311a5c9 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x931e94ee page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x937b6b42 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x937fd941 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x93885ace pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x93bf114b cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x93c36363 ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93f17b6a ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x9425ebb8 inet_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x945d5bae security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94aa8400 bus_register +EXPORT_SYMBOL_GPL vmlinux 0x94de3391 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x94e6418a ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x94fcbe03 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x9543bc5d device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0x95646231 user_read +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x95758050 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x958c213e tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x95916ff4 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x95c9395a ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x961a8cd3 unlock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x964920c5 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x9668f06d inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x9699cc8d console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96d14974 dm_rh_get_state +EXPORT_SYMBOL_GPL vmlinux 0x970b9fcf crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x971ea812 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x975aeeab raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x975c56a3 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x976eab5d pci_get_hp_params +EXPORT_SYMBOL_GPL vmlinux 0x97982542 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x97a4ccaf usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x97c68536 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x98173363 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x9863ab17 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x986cf200 rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x9886df5d crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0x98bff275 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0x991437bd inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x9984c858 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x99c3775c kmap_atomic_pfn +EXPORT_SYMBOL_GPL vmlinux 0x9a04c379 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a1444dc transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x9a95d243 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x9aefb022 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x9b2d12da root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9b31d285 sysdev_register +EXPORT_SYMBOL_GPL vmlinux 0x9b849f94 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x9b8b3e51 acpi_processor_ffh_cstate_probe +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9bab1cf0 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x9bc8c8a7 cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0x9bd95409 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x9be55be7 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x9c311efd device_attach +EXPORT_SYMBOL_GPL vmlinux 0x9c31d063 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x9c33d049 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x9c4897f6 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x9cb8037b xfrm_count_enc_supported +EXPORT_SYMBOL_GPL vmlinux 0x9d030b99 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0x9d14ae6c ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x9d2b6a58 hpet_register_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x9d308c4d hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x9d675b0b pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x9d7ff4c9 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x9dad2d45 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x9dd53ad0 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL vmlinux 0x9e01f6d4 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0x9e3367c8 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x9e5c9d7d scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0x9e6687f8 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x9e711ad2 pm_qos_requirement +EXPORT_SYMBOL_GPL vmlinux 0x9e922c95 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x9ebff902 start_thread +EXPORT_SYMBOL_GPL vmlinux 0x9edf10f8 get_device +EXPORT_SYMBOL_GPL vmlinux 0x9f2685a7 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f418ff9 fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9f7192a2 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9f807b95 ata_sff_port_start +EXPORT_SYMBOL_GPL vmlinux 0x9f85ed90 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0x9f99df43 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fedee71 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0xa0255440 net_ipv4_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0xa077d353 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0xa08ee79a get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0xa0e22e1f ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xa0e53e24 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0xa14b0a98 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xa15e65a8 crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xa18f3d5c iounmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0xa1a9c957 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0xa1ab74c8 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0xa1b66cb1 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0xa1c72b1b locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0xa1d766e9 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0xa1f7eb2b register_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xa28d8527 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xa2978799 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xa2e67f08 acpi_bus_generate_proc_event4 +EXPORT_SYMBOL_GPL vmlinux 0xa2f71244 sysdev_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa336cd95 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xa3c0910e ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xa3c7c686 proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0xa3d292c9 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0xa40a8590 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xa452c297 hpet_mask_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa4f3460a usb_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa4ffe211 inotify_find_update_watch +EXPORT_SYMBOL_GPL vmlinux 0xa5633362 fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0xa5798f45 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xa5bf5c3e pm_qos_add_requirement +EXPORT_SYMBOL_GPL vmlinux 0xa5bfb061 acpi_smbus_register_callback +EXPORT_SYMBOL_GPL vmlinux 0xa5c36cec inotify_unmount_inodes +EXPORT_SYMBOL_GPL vmlinux 0xa5ee6c3d sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa616f7a2 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0xa649959e platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0xa6598651 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0xa66ca854 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xa6740715 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0xa68381e6 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0xa73bbecb xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0xa74f50b8 dm_put +EXPORT_SYMBOL_GPL vmlinux 0xa7e1e2a1 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0xa8023e23 inotify_add_watch +EXPORT_SYMBOL_GPL vmlinux 0xa81bb815 device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0xa8543488 ata_sff_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xa8817b28 tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa9126bff hpet_set_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa93fb75e br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xa94e1622 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa990200c ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xa9936cf7 dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL vmlinux 0xa9a480bf usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xa9b7afd8 wmi_set_block +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9ea0484 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0xaa028894 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xaa250bfb skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0xaa2a72bf __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0xaa3e3aea __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xaa5310f9 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xaa718c53 inotify_rm_wd +EXPORT_SYMBOL_GPL vmlinux 0xaa7d0cf7 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xaa8c4696 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0xaa8f52c2 inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0xaaddf6ca blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0xaaec1bde xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0xaafed964 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0xab18606e blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0xab410444 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xab41bd91 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0xab57e311 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xabb326ba sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xac157aa6 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0xac2475f5 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xac5c2cc3 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0xac76fb45 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xac83ef60 dm_rh_recovery_start +EXPORT_SYMBOL_GPL vmlinux 0xacafa8e7 vector_used_by_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xacc19485 ibft_addr +EXPORT_SYMBOL_GPL vmlinux 0xacc8b52e driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xad0dcf5b inotify_destroy +EXPORT_SYMBOL_GPL vmlinux 0xad13c8d5 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0xad3ba9f0 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xad3d8b6a crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0xad64be2a crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0xad7a93e8 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0xada09a43 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0xadbc3638 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0xade3e74f xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae47dd1c queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0xaea2b045 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0xaeb793c3 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0xaf3d67e7 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xaf3f6fe0 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xafc7c996 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xafef2086 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaffd105e debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0xb0223109 klist_next +EXPORT_SYMBOL_GPL vmlinux 0xb0911f4e dm_rh_delay +EXPORT_SYMBOL_GPL vmlinux 0xb096da39 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0xb0aa812e fips_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb0eedea9 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb0fe34d3 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb12ba28a __pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0xb1451ff3 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb18506b9 smp_ops +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb23232b2 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0xb28b72e2 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0xb2ddff96 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xb31b2140 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xb31e885a tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0xb3253ed9 hpet_rtc_timer_init +EXPORT_SYMBOL_GPL vmlinux 0xb3a3cac9 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0xb3ae8971 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0xb3b66cf6 cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0xb3d03316 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0xb43ef6c1 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0xb49cd28b inotify_init +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4ef0d32 sysdev_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb52eaf2d tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0xb53ae573 cpu_idle_wait +EXPORT_SYMBOL_GPL vmlinux 0xb54f9fbd driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb5954e71 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0xb5a6ebe2 wmi_remove_notify_handler +EXPORT_SYMBOL_GPL vmlinux 0xb5b5ee9d sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0xb5d8913d register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xb65091b3 selinux_secmark_refcount_dec +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6c018f4 dm_rh_inc_pending +EXPORT_SYMBOL_GPL vmlinux 0xb6ea78ea get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0xb718f2f9 sfi_table_parse +EXPORT_SYMBOL_GPL vmlinux 0xb744fa43 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xb781becd regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb7d7c12e hpet_set_alarm_time +EXPORT_SYMBOL_GPL vmlinux 0xb7db42b0 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xb7e2eb91 mce_cpu_specific_poll +EXPORT_SYMBOL_GPL vmlinux 0xb7fdd0df eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0xb84e4c47 iomap_free +EXPORT_SYMBOL_GPL vmlinux 0xb8857caf class_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb888c736 bd_claim_by_disk +EXPORT_SYMBOL_GPL vmlinux 0xb8af6c97 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0xb8de734f mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xb8e3d5e7 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0xb90045b4 device_add +EXPORT_SYMBOL_GPL vmlinux 0xb94ba2f8 ata_bmdma_mode_filter +EXPORT_SYMBOL_GPL vmlinux 0xb956f9f3 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb97d43a5 pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xb986cc6e bd_release_from_disk +EXPORT_SYMBOL_GPL vmlinux 0xb9b40802 dm_rh_stop_recovery +EXPORT_SYMBOL_GPL vmlinux 0xb9eb3aa9 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xba002a90 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xba690e41 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbaa52d5d led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbaf79647 ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0xbb1e85ea bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbb4a1408 klist_init +EXPORT_SYMBOL_GPL vmlinux 0xbb4a79c5 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0xbb6254ce proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0xbbb98859 edid_info +EXPORT_SYMBOL_GPL vmlinux 0xbbcb85e7 rtnl_kill_links +EXPORT_SYMBOL_GPL vmlinux 0xbbfb1bb6 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xbc42bffa dm_rh_recovery_end +EXPORT_SYMBOL_GPL vmlinux 0xbc6857cb xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0xbcb7c376 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0xbcfdcf35 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0xbd0f69f2 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0xbd506a46 unregister_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xbd93cef7 dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0xbdacd6a8 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbe116723 do_posix_clock_nosettime +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe584033 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0xbe9ed175 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0xbed2bb47 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xbef0ce12 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xbf16fe3f dm_region_hash_destroy +EXPORT_SYMBOL_GPL vmlinux 0xbf41ee5c ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xbf8c1b0e ip6_sk_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0xbf991722 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbfa23701 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0xbfd5655a crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xc02a9829 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xc03712a3 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0xc05beb8d dm_rh_dec +EXPORT_SYMBOL_GPL vmlinux 0xc1139676 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0xc126e890 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xc163ae64 ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0xc171a65e inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc1916594 crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xc1b79bab dm_disk +EXPORT_SYMBOL_GPL vmlinux 0xc1c8c6a2 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0xc2026d3c ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xc20f7a94 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc22b5d4e regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xc24403bd sysdev_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xc297055e ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xc309445c crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0xc3301f02 rcu_expedited_torture_stats +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc35f3692 ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3aa2836 read_lock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0xc3aded03 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0xc3dbf0f0 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0xc403fcfc simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4b33aa6 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc502554d md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xc50bea5a register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xc512626a __supported_pte_mask +EXPORT_SYMBOL_GPL vmlinux 0xc51b5f4d transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xc532a021 srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc539b0dc tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xc580fe3f ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0xc58cdb60 lookup_address +EXPORT_SYMBOL_GPL vmlinux 0xc5a5d116 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0xc5bb71c7 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xc5e2e9fd dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xc5e3dddf wmi_get_event_data +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc654e643 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0xc673e23e ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xc6844749 mmput +EXPORT_SYMBOL_GPL vmlinux 0xc6aca21a driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xc6e7e932 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0xc6ffa8bc platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0xc7079bc1 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0xc77a6cf6 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0xc7bf2dea i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0xc7d19f6b ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xc7ec11f6 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xc80ee048 pci_sriov_migration +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc87e487a sched_clock_idle_sleep_event +EXPORT_SYMBOL_GPL vmlinux 0xc8c3b41d pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0xc8ca93c2 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0xc9119655 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xc94c7f5b do_add_mount +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9999c5a anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0xc9a28931 find_module +EXPORT_SYMBOL_GPL vmlinux 0xc9d4d6d1 wmi_has_guid +EXPORT_SYMBOL_GPL vmlinux 0xc9e6ccdf cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9f5c1f2 usb_autopm_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xca01f51c tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0xca0ae6e9 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xca8eb935 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcafb88ce aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0xcafe2511 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0xcaffab2b ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0xcb02579e devres_find +EXPORT_SYMBOL_GPL vmlinux 0xcb85cf0d blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xcba265a6 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xcba688bd blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xcbd2239f pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc6ab305 is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xcca67bb8 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xcd132c85 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xcd2f83d3 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xcd405f28 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xce33b02c bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0xce74aa27 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0xceb918a2 unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xcebc36bd acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0xcef25677 rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcf7a962e cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0xcf7b01ac __put_net +EXPORT_SYMBOL_GPL vmlinux 0xcfc68341 synchronize_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcfd905c0 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0xd0189dd0 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xd02965ec get_cpu_sysdev +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd03fdcc0 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0xd05abc2b nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0e598b9 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0xd0fce4e1 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0xd12ac59b olpc_ec_cmd +EXPORT_SYMBOL_GPL vmlinux 0xd137168a driver_add_kobj +EXPORT_SYMBOL_GPL vmlinux 0xd1392c43 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0xd1568727 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd19bbcea devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd2020f92 disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0xd270827c blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd27d65fe fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0xd27fb81c inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xd2a8caf0 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd30a809f inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0xd3867882 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xd3a48732 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0xd3a6d7b9 sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0xd3c230b4 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xd3c583b6 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0xd3c5a8d3 sysdev_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0xd3c9c264 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xd3e2fd0a ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xd4349621 dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0xd48ece34 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0xd494ee54 speedstep_get_freqs +EXPORT_SYMBOL_GPL vmlinux 0xd49f211c device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd49f5e68 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xd4bc6c21 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0xd4e3ab88 dm_rh_mark_nosync +EXPORT_SYMBOL_GPL vmlinux 0xd5051eb7 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd56529fd usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0xd5b89c2b class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xd66a4d4a device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0xd687079c ata_port_probe +EXPORT_SYMBOL_GPL vmlinux 0xd6f534ad ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0xd6f54ade ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd6f707d3 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xd6f889f5 pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd73ef534 sysdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xd757577f sysdev_create_file +EXPORT_SYMBOL_GPL vmlinux 0xd76412eb usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd7888ff4 ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd7a6c612 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xd7d79132 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd8290e75 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xd83eb380 ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xd8a481db usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xd8eb4fa7 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xd8f04835 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0xd8fb3988 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0xd92963ac __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xd9b037de handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xda093834 tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0xda0b4bc2 pci_unblock_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda5430ee sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0xda6aa81b device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xda807fed fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0xda93c09d regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xda965789 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xdaa61f0c proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xdab911c4 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0xdaea0006 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdafa0010 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0xdb274e52 monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0xdb47881c crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0xdb65723c lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0xdba64f1c eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0xdbbe978a br_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0xdbe469b0 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0xdc15007d class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdc26874b pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xdc3bc370 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0xdc66219e task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0xdc714560 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xdc739b86 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xdc7c5ef7 sysdev_class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xdca7e5ae inet_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdceef46b ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0xdd3f0d0d tcp_done +EXPORT_SYMBOL_GPL vmlinux 0xdd79d97f tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0xddd62f58 usb_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xddd9c97d save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0xddf5b55a pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0xde393dd2 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde48df18 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xde680cd6 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xdec589d4 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xdefae149 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0xdf04f345 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xdf0c74a4 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xdf128c80 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0xdf370352 pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xdf6178f9 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0xdf800229 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xdfa13ef4 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0xdfafb983 per_cpu__gdt_page +EXPORT_SYMBOL_GPL vmlinux 0xe02208ba usb_string +EXPORT_SYMBOL_GPL vmlinux 0xe03c00fb __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0xe099346d ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0xe09a97c8 __module_address +EXPORT_SYMBOL_GPL vmlinux 0xe0a5d6a7 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe0c77bb5 mce_notify_irq +EXPORT_SYMBOL_GPL vmlinux 0xe0cca33e xfrm_aead_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xe0f36f81 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0xe118f713 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xe132126f pskb_put +EXPORT_SYMBOL_GPL vmlinux 0xe1628399 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0xe16a74cd crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0xe17e8e3f sk_clone +EXPORT_SYMBOL_GPL vmlinux 0xe1b795b2 __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0xe1e1cecf pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0xe227c607 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xe2426710 wmi_evaluate_method +EXPORT_SYMBOL_GPL vmlinux 0xe247343b hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0xe24ceb02 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0xe2530bfc user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xe26d91bd flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xe27551b7 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xe295c0ff is_hpet_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe2b55128 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xe2f08344 blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xe2f8b772 unregister_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0xe30c9973 pci_hp_change_slot_info +EXPORT_SYMBOL_GPL vmlinux 0xe30cd6cb __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xe311f468 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xe34c44ae class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xe41d6788 ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0xe439006a zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0xe46390b8 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xe49ff3b0 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xe4a1b66b platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0xe4c331b6 acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0xe513afc0 cache_k8_northbridges +EXPORT_SYMBOL_GPL vmlinux 0xe530071c pm_qos_remove_requirement +EXPORT_SYMBOL_GPL vmlinux 0xe55173ea crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xe566144c cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0xe609efac tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe6a4bcd7 ata_sff_host_intr +EXPORT_SYMBOL_GPL vmlinux 0xe6b48291 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0xe747e1eb ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0xe7608aba crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0xe78c5a2e usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0xe7b78b3d security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe893cc39 remove_irq +EXPORT_SYMBOL_GPL vmlinux 0xe89e2d5c sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0xe8a90fd3 inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0xe8b31877 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0xe8c54fb7 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xe8ea6d9b inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0xe8fcc4df __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0xe901175f __dev_addr_unsync +EXPORT_SYMBOL_GPL vmlinux 0xe910a7c3 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xe9241c59 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe943e015 blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0xe94489f6 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe95e1142 dm_rh_get_region_key +EXPORT_SYMBOL_GPL vmlinux 0xea065e01 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea25831a usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xea2eca10 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0xea45e036 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0xea480abf pm_request_resume +EXPORT_SYMBOL_GPL vmlinux 0xea4ac873 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0xea5a1f98 dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xeaa2d895 isa_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xeabf5bcc ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0xeac3f3ed sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeb42cc02 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0xeb4c1fc8 __tracepoint_block_remap +EXPORT_SYMBOL_GPL vmlinux 0xeb58fab0 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0xeb80d8f9 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0xebae4832 regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xebcf95ef led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0xebd0e2cc map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xec19d5cf ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xec1a75a9 __dev_addr_sync +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec3d7f24 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xec5c7970 generic_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0xeceb611d kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0xecfd220c nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0xed3fa7a5 ata_sff_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0xed97ff07 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0xedf3f1f1 do_machine_check +EXPORT_SYMBOL_GPL vmlinux 0xedfe2400 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xee477fb9 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0xee4c3ab8 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0xee86f997 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0xeeca39f0 pci_block_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef744b29 user_update +EXPORT_SYMBOL_GPL vmlinux 0xefa91775 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0xefd2efcf ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0xefdd5a63 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xefe21106 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0xefef0909 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xf0237768 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf06c1cc7 unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xf08c0b27 queue_work +EXPORT_SYMBOL_GPL vmlinux 0xf0cd21d4 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xf1463412 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0xf16ac418 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0xf181aa95 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf19d9b59 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0xf1a1548d debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0xf1e6dca5 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xf2214ae1 __create_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0xf24f1aa3 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0xf2690ba8 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0xf27c8490 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0xf2910c52 device_move +EXPORT_SYMBOL_GPL vmlinux 0xf2a94fb5 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xf2ce933a shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0xf2de3a68 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf302b004 sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xf3099352 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xf313ae7a uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xf32f420c mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf34236f3 acpi_smbus_unregister_callback +EXPORT_SYMBOL_GPL vmlinux 0xf34445d6 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xf34806ec hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xf34c1c9f relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0xf3c1c0a0 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xf3fb6430 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0xf420a2b1 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0xf430821b inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0xf43fa2b2 inotify_inode_is_dead +EXPORT_SYMBOL_GPL vmlinux 0xf44617f1 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0xf44f8dc8 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0xf47f8c8b pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf4e55653 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xf50379ad blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0xf5384ac1 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0xf5388bd9 platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xf53ed33d device_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf5799f7a stop_machine_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf59b4051 ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5add1c7 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xf5ae201d da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0xf5c56eaf scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xf5ff0452 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0xf6238d75 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xf68bda75 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xf6bcbd73 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xf6e6f74e usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf7224170 __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xf74599db sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xf74f54fd rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0xf80d8c80 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xf82ea8f2 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0xf863e82a flush_work +EXPORT_SYMBOL_GPL vmlinux 0xf87df534 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf8928fe7 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0xf89f175a rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0xf8a04774 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8fd8cee regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf90cef5e debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xf92fddf2 pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xf94fad1a crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0xf9765833 dmi_match +EXPORT_SYMBOL_GPL vmlinux 0xf97666a0 set_memory_rw +EXPORT_SYMBOL_GPL vmlinux 0xf97d6dc4 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0xf98332fb ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0xf9945569 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xf9fcd8d8 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0xf9ff787e input_class +EXPORT_SYMBOL_GPL vmlinux 0xfb072362 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xfb25d0bb inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0xfb2a3293 math_state_restore +EXPORT_SYMBOL_GPL vmlinux 0xfb2b278a crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0xfb5d2b97 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0xfb69281a kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xfb8c9507 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfc0f5306 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xfc2cf564 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xfcce8a14 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xfce54680 dm_rh_region_context +EXPORT_SYMBOL_GPL vmlinux 0xfce8f444 devres_add +EXPORT_SYMBOL_GPL vmlinux 0xfd02e89a spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0xfd090b91 register_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0xfd477fb8 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xfd5cb6a2 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfdfb088a inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0xfe7ab611 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xff157bae fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0xff213256 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xffb39319 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xffc503d2 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0xffde5450 sata_link_hardreset +EXPORT_UNUSED_SYMBOL vmlinux 0x00000000 simple_prepare_write --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/i386/386.compiler +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/i386/386.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3 --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/i386/386.modules +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/i386/386.modules @@ -0,0 +1,2799 @@ +3c359 +3c501 +3c503 +3c505 +3c507 +3c509 +3c515 +3c523 +3c527 +3c574_cs +3c589_cs +3c59x +3w-9xxx +3w-xxxx +53c700 +6pack +8021q +8139cp +8139too +8250_accent +8250_boca +8250_exar_st16c554 +8250_fourport +8250_hub6 +8250_mca +8255 +82596 +8390 +8390p +9p +9pnet +9pnet_rdma +9pnet_virtio +a100u2w +a3d +aacraid +ab3100 +ab3100-core +ab3100-otp +abituguru +abituguru3 +abyss +ac3200 +ac97_bus +acecad +acenic +acerhdf +acer-wmi +acl7225b +acpi_pad +acpiphp +acpiphp_ibm +acquirewdt +act2000 +act200l-sir +act_gact +act_ipt +actisys-sir +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +ad1848 +ad7414 +ad7418 +ad7877 +ad7879 +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 +adfs +adi +adl_pci6208 +adl_pci7296 +adl_pci7432 +adl_pci8164 +adl_pci9111 +adl_pci9118 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm8211 +adm9240 +adp5588-keys +adq12b +ads7828 +ads7846 +adt7462 +adt7470 +adt7473 +adt7475 +adutux +adv7170 +adv7175 +advansys +advantechwdt +adv_pci1710 +adv_pci1723 +adv_pci_dio +aedsp16 +aes_generic +aes-i586 +af_802154 +af9013 +affs +af_key +af-rxrpc +agpgart +ah4 +ah6 +aha152x +aha152x_cs +aha1542 +aha1740 +ahci +aic79xx +aic7xxx +aic94xx +aio_aio12_8 +aio_iiro_16 +aiptek +aircable +airo +airo_cs +alauda +ali-agp +ali-ircc +alim1535_wdt +alim7101_wdt +alphatrack +altpciechdma +ambassador +amd64-agp +amd76x_edac +amd76xrom +amd8111e +amd-k7-agp +amd-rng +amplc_dio200 +amplc_pc236 +amplc_pc263 +amplc_pci224 +amplc_pci230 +analog +ansi_cprng +anubis +aoe +apm +appledisplay +applesmc +appletalk +appletouch +applicom +ar7part +ar9170usb +arc4 +arcfb +arcmsr +arcnet +arc-rawmode +arc-rimi +ark3116 +arkfb +arlan +arptable_filter +arp_tables +arpt_mangle +asb100 +asix +asus_atk0110 +asus-laptop +asus_oled +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at1700 +at24 +at25 +at76c50x-usb +aten +ath +ath5k +ath9k +ati-agp +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atlas_btns +atm +atmel +atmel_cs +atmel_pci +atmtcp +atp +atp870u +atxp1 +aty128fb +atyfb +au0828 +au8522 +aufs +authenc +auth_rpcgss +autofs +autofs4 +av5100 +avma1_cs +avm_cs +avmfritz +ax25 +axnet_cs +b1 +b1dma +b1isa +b1pci +b1pcmcia +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b3dfg +b43 +b43legacy +b44 +bas_gigaset +baycom_epp +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcm203x +bcm3510 +bcm5974 +be2iscsi +be2net +befs +belkin_sa +berry_charge +bfa +bfs +bfusb +binfmt_aout +binfmt_misc +bitblit +block2mtd +blowfish +bluecard_cs +bluetooth +bnep +bnx2 +bnx2i +bnx2x +bonding +bpa10x +bpck +bpck6 +bpqether +bq24022 +bq27x00_battery +br2684 +bridge +broadsheetfb +bsd_comp +bt3c_cs +bt819 +bt856 +bt866 +bt878 +btcx-risc +btmrvl +btmrvl_sdio +btrfs +btsdio +bttv +btuart_cs +btusb +budget +budget-av +budget-ci +budget-core +budget-patch +BusLogic +bw-qcam +c101 +c2port-duramar2150 +c4 +c67x00 +c6xdigio +cachefiles +cafe_ccic +cafe_nand +camellia +can +can-bcm +can-dev +can-raw +capi +capidrv +capifs +capmode +carminefb +cassini +cast5 +cast6 +catc +cb710 +cb710-mmc +cb_das16_cs +cb_pcidas +cb_pcidas64 +cb_pcidda +cb_pcidio +cb_pcimdas +cb_pcimdda +cciss +ccm +cdc-acm +cdc_eem +cdc_ether +cdc-phonet +cdc_subset +cdc-wdm +cfag12864b +cfag12864bfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch +ch341 +ch7006 +chipreg +cifs +cirrusfb +ck804xrom +clip +cls_basic +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cm4000_cs +cm4040_cs +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 +core +coretemp +cosa +cp210x +cpcihp_generic +cpcihp_zt5550 +cpia +cpia2 +cpia_pp +cpia_usb +cpqarray +cpqphp +cpu5wdt +cpuid +c-qcam +cramfs +cr_bllcd +crc32c +crc32c-intel +crc7 +crc-ccitt +crc-itu-t +crvml +cryptd +cryptoloop +crypto_null +cs5345 +cs53l32a +cs5535_gpio +cs553x_nand +cs89x0 +ct82c710 +ctr +cts +cuse +cx18 +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24123 +cx25821 +cx25821-alsa +cx25840 +cx8800 +cx8802 +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx88xx +cxacru +cxgb +cxgb3 +cxgb3i +cyber2000fb +cyberjack +cyclades +cyclomx +cycx_drv +cypress_cy7c63 +cypress_m8 +cytherm +da9030_battery +da9034-ts +da903x +da903x_bl +dabusb +DAC960 +daqboard2000 +das08 +das08_cs +das16 +das16m1 +das1800 +das6402 +das800 +db9 +dc395x +dca +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dccp_probe +dcdbas +de2104x +de4x5 +de600 +de620 +decnet +deflate +defxx +dell-laptop +dell-led +dell_rbu +dell-wmi +depca +des_generic +dib0070 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dibx000_common +digi_acceleport +diskonchip +display +divacapi +divadidd +diva_idi +diva_mnt +divas +dlci +dlm +dm1105 +dm9601 +dm-crypt +dme1737 +dmfe +dmm32at +dm-queue-length +dm-raid45 +dm-service-time +dmx3191d +dm-zero +dnet +dn_rtmsg +doc2000 +doc2001 +doc2001plus +docecc +docprobe +donauboe +dpt_i2o +drm +drm_kms_helper +ds1621 +ds1682 +ds2482 +ds2490 +ds2760_battery +ds2782_battery +dsbr100 +dscc4 +dss1_divert +dst +dst_ca +dstr +dt2801 +dt2811 +dt2814 +dt2815 +dt2817 +dt282x +dt3000 +dt9812 +dtc +dtl1_cs +dtlk +dummy +dummy_hcd +dv1394 +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-anysee +dvb-usb-au6610 +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-friio +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-m920x +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +e100 +e1000 +e1000e +e2100 +e752x_edac +e7xxx_edac +earth-pt1 +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_ulog +ebt_vlan +echo +econet +edac_core +edac_mce_amd +eeepc-laptop +eepro +eeprom +eeprom_93cx6 +eeti_ts +eexpress +efficeon-agp +efs +elo +elsa_cs +em28xx +em28xx-alsa +em28xx-dvb +em_cmp +emi26 +emi62 +em_meta +em_nbyte +empeg +ems_pci +ems_usb +em_text +emu10k1-gp +em_u32 +enclosure +eni +enic +epat +epca +epia +epic100 +e_powersaver +eql +es3210 +esb2rom +esi-sir +esp4 +esp6 +et131x +et61x251 +eth1394 +eth16i +ethoc +eurotechwdt +evbug +ewrk3 +exofs +exportfs +f71805f +f71882fg +f75375s +fakephp +farsync +fat +faulty +fbcon +fb_ddc +fb_sys_fops +fcoe +fcrypt +fd_mcs +fdomain +fdomain_cs +fealnx +ff-memless +firedtv +firestream +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +fit2 +fit3 +fl512 +floppy +fm801-gp +fmvj18x_cs +fnic +font +forcedeth +fore_200e +freevxfs +friq +frpw +fsam7400 +fscache +fschmd +ftdi-elan +ftdi_sio +ftl +fujitsu-laptop +fujitsu_ts +funsoft +g450_pll +g760a +gadgetfs +gamecon +gameport +garmin_gps +garp +g_audio +g_cdc +gcm +gdth +generic +generic_bl +gen_probe +geode-aes +geode-rng +g_ether +gf128mul +gf2k +g_file_storage +gfs2 +ghash-generic +gigaset +girbil-sir +gl518sm +gl520sm +gl620a +gluebi +g_midi +g_NCR5380 +g_NCR5380_mmio +gpio-addr-flash +gpio_keys +gpio_mouse +gpio_vbus +g_printer +grip +grip_mp +gsc_hpdi +g_serial +gspca_conex +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_ov519 +gspca_ov534 +gspca_pac207 +gspca_pac7311 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_stk014 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_tv8532 +gspca_vc032x +gspca_zc3xx +gtco +guillemot +gunze +gx1fb +gxfb +g_zero +hamachi +hangcheck-timer +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-3m-pct +hid-a4tech +hid-apple +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-drff +hid-ezkey +hid-gaff +hid-gyration +hid-kensington +hid-kye +hid-logitech +hid-microsoft +hid-monterey +hid-mosart +hid-ntrig +hid-ortek +hidp +hid-petalynx +hid-pl +hid-quanta +hid-samsung +hid-sjoy +hid-sony +hid-stantum +hid-sunplus +hid-tmff +hid-topseed +hid-twinhan +hid-wacom +hid-zpff +hifn_795x +hisax +hisax_fcpcipnp +hisax_isac +hisax_st5481 +horizon +hostap +hostap_cs +hostap_pci +hostap_plx +hostess_sv11 +hp +hp100 +hp4x +hp_accel +hpfs +hpilo +hp-plus +hptiop +hp-wmi +hso +htc-pasic3 +htcpen +hv_blkvsc +hv_netvsc +hv_storvsc +hv_vmbus +hwa-hc +hwa-rc +hwmon-vid +hysdn +i1480-dfu-usb +i1480-est +i1480u-wlp +i2400m +i2400m-sdio +i2400m-usb +i2c-algo-bit +i2c-algo-pca +i2c-algo-pcf +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd756-s4882 +i2c-amd8111 +i2c-dev +i2c-gpio +i2c-i801 +i2c-isch +i2c-matroxfb +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-stub +i2c-taos-evm +i2c-tiny-usb +i2c-via +i2c-viapro +i2c-voodoo3 +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 +i810 +i810fb +i82092 +i82365 +i82860_edac +i82875p_edac +i82975x_edac +i830 +i8k +i915 +ib700wdt +ib_addr +ib_cm +ib_core +ib_ipoib +ib_iser +ib_mad +ibmaem +ibmasm +ibmasr +ibmcam +ibmlana +ibmmca +ibmpex +ibmphp +ib_mthca +ibmtr +ibmtr_cs +ib_sa +ib_srp +ib_ucm +ib_umad +ib_uverbs +ichxrom +icn +icp_multi +ics932s401 +idmouse +idt77252 +ieee1394 +ifb +iforce +igb +igbvf +ii_pci20kc +ili9320 +imm +in2000 +industrialio +inexio +inftl +initio +inport +input-polldev +int51x1 +intel-agp +intel_menlow +intel-rng +intel_vr_nor +interact +ioatdma +ioc4 +io_edgeport +io_ti +iowarrior +ip2 +ip6_queue +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_LOG +ip6t_mh +ip6t_REJECT +ip6t_rt +ip6_tunnel +ipaq +ipcomp +ipcomp6 +ipddp +ipg +ip_gre +iphase +ipip +ipmi_devintf +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_watchdog +ip_queue +ipr +ips +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_addrtype +ipt_ah +ipt_CLUSTERIP +ipt_ecn +ipt_ECN +ipt_LOG +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_ULOG +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipw2100 +ipw2200 +ipwireless +ipx +ircomm +ir-common +ircomm-tty +irda +irda-usb +ir-kbd-i2c +irlan +irnet +irtty-sir +ir-usb +iscsi_ibft +iscsi_tcp +iscsi_trgt +isdn +isdn_bsdcomp +isdnhdlc +isight_firmware +isl29003 +isl6405 +isl6421 +isl6423 +isofs +isp116x-hcd +isp1362-hcd +isp1760 +istallion +it87 +it8712f_wdt +it87_wdt +iTCO_vendor_support +iTCO_wdt +itd1000 +iuu_phoenix +ivtv +ivtvfb +iw_c2 +iw_cm +iw_cxgb3 +iwl3945 +iwlagn +iwlcore +iwmc3200wifi +ixgb +ixgbe +ixj +ixj_pcmcia +jedec_probe +jffs2 +jfs +jmb38x_ms +jme +joydev +joydump +jr3_pci +jsm +k8temp +kafs +kahlua +kaweth +kb3886_bl +kbic +kbtab +kcomedilib +ke_counter +kernelcapi +keyspan +keyspan_pda +keyspan_remote +khazad +kingsun-sir +kl5kusb105 +kobil_sct +konicawc +ks0108 +ks0127 +ks8842 +ks8851 +ks8851_mll +ks959-sir +ksdazzle-sir +ktti +kvaser_pci +kvm +kvm-amd +kvm-intel +kxsd9 +kyrofb +l1oip +l2cap +l440gx +l64781 +lanai +lance +lanstreamer +lapb +lapbether +lcd +ldusb +lec +led-class +leds-alix2 +leds-bd2802 +leds-da903x +leds-dac124s085 +leds-gpio +leds-lp3944 +leds-net48xx +leds-pca9532 +leds-pca955x +leds-wm831x-status +leds-wm8350 +leds-wrap +ledtrig-backlight +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-timer +legousbtower +lgdt3305 +lgdt330x +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libcrc32c +libertas +libertas_cs +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libosd +libsas +libsrp +lightning +line6usb +linear +lirc_atiusb +lirc_bt829 +lirc_dev +lirc_ene0100 +lirc_i2c +lirc_igorplugusb +lirc_imon +lirc_it87 +lirc_ite8709 +lirc_mceusb +lirc_sasem +lirc_serial +lirc_sir +lirc_streamzap +lirc_ttusbir +lis3l02dq +lis3lv02d +litelink-sir +lkkbd +llc2 +lm63 +lm70 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95241 +lmc +lms283gf05 +lnbp21 +lne390 +lockd +logibm +lp +lp3971 +lp486e +lpddr_cmds +lpfc +lrw +ltc4215 +ltc4245 +ltpc +ltv350qv +lxfb +lzo +lzo_compress +lzo_decompress +m25p80 +m52790 +ma600-sir +mac80211 +mac80211_hwsim +machzwd +macmodes +macvlan +madgemc +magellan +map_absent +map_funcs +map_ram +map_rom +matrix_keypad +matroxfb_accel +matroxfb_base +matroxfb_crtc2 +matroxfb_DAC1064 +matroxfb_g450 +matroxfb_maven +matroxfb_misc +matroxfb_Ti3026 +matrox_w1 +max1111 +max1363 +max1586 +max1619 +max17040_battery +max3100 +max6650 +max6875 +max7301 +max732x +max7359_keypad +mb862xxfb +mbp_nvidia_bl +mc13783 +mc13783-core +mc33880 +mc44s803 +mce-inject +mce-xeon75xx +mcp2120-sir +mcp23s08 +mcs5000_ts +mcs7780 +mcs7830 +mct_u232 +md4 +mdacon +mdc800 +mdio +me4000 +me_daq +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +memstick +metronomefb +meye +mfd-core +mga +michael_mic +microcode +microtek +mii +minix +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +mite +mixcomwd +mk712 +mkiss +mlx4_core +mlx4_en +mlx4_ib +mmc_block +mos7720 +mos7840 +moto_modem +moxa +mpc624 +mpoa +mpt2sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu401 +msdos +msi-laptop +msnd +msnd_classic +msnd_pinnacle +msp3400 +mspro_block +msr +mt2060 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt9m001 +mt9m111 +mt9t031 +mt9v011 +mt9v022 +mtd +mtd_blkdevs +mtdblock +mtdblock_ro +mtdchar +mtdconcat +mtd_dataflash +mtd_oobtest +mtdoops +mtd_pagetest +mtdram +mtd_readtest +mtd_speedtest +mtd_stresstest +mtd_subpagetest +mtd_torturetest +mtouch +multipath +multiq3 +mvsas +mwave +mwl8k +mxb +mxl5005s +mxl5007t +mxser +myri10ge +n2 +n411 +nand +nand_ecc +nand_ids +nandsim +natsemi +navman +nbd +ncpfs +NCR53c406a +NCR_D700 +NCR_Q720_mod +ndiswrapper +ne +ne2 +ne2k-pci +ne3210 +neofb +net1080 +netconsole +netjet +netrom +netsc520 +nettel +netwave_cs +netxen_nic +newtonkbd +nf_conntrack +nf_conntrack_amanda +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_tftp +nf_defrag_ipv4 +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_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nftl +nf_tproxy_core +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 +nl802154 +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 +nouveau +nozomi +n_r3964 +ns558 +ns83820 +nsc_gpio +nsc-ircc +nsp32 +nsp_cs +nst +ntfs +nvidia-agp +nvidiafb +nvram +nxt200x +nxt6000 +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +ohci1394 +old_belkin-sir +olpc_battery +olympic +omfs +omnibook +omninet +on20 +on26 +onenand +onenand_sim +opencores-kbd +opl3 +oprofile +opticon +option +or51132 +or51211 +orinoco +orinoco_cs +orinoco_nortel +orinoco_pci +orinoco_plx +orinoco_tmd +osd +osdblk +osst +oti6858 +output +ov7670 +ov772x +ovcamchip +oxu210hp-hcd +p4-clockmod +p54common +p54pci +p54spi +p54usb +p8023 +p9auth +padlock-aes +padlock-sha +panasonic-laptop +panel +paride +parkbd +parport +parport_ax88796 +parport_cs +parport_pc +parport_serial +pas16 +pas2 +pata_ali +pata_amd +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_qdi +pata_radisys +pata_rdc +pata_rz1000 +pata_sc1200 +pata_sch +pata_serverworks +pata_sil680 +pata_sl82c105 +pata_triflex +pata_via +pata_winbond +pbe5 +pc110pad +pc87360 +pc8736x_gpio +pc87413_wdt +pc87427 +pca953x +pcbc +pcbit +pcd +pcf50633-adc +pcf50633-charger +pcf50633-core +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf857x +pcf8591 +pci +pci200syn +pcilynx +pcips2 +pci-stub +pcl711 +pcl724 +pcl725 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcm3730 +pcmad +pcmcia +pcmcia_core +pcm_common +pcmda12 +pcmmio +pcmuio +pcnet32 +pcnet_cs +pcspkr +pcwd +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pegasus +penmount +pf +pg +phantom +phison +phonedev +phonet +phram +physmap +pktgen +pl2303 +platform_lcd +plat_nand +plat-ram +plip +plusb +pluto2 +pm2fb +pm3fb +pmc551 +pmcraid +pms +pn_pep +poc +poch +pohmelfs +powermate +power_meter +ppa +ppdev +ppp_async +ppp_deflate +ppp_mppe +pppoatm +pppoe +pppol2tp +pppox +ppp_synctty +pps_core +prism2_usb +prism54 +progear_bl +proteon +psmouse +pss +pt +pvrusb2 +pwc +qcserial +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlge +qlogic_cs +qlogicfas +qlogicfas408 +qnx4 +qt1010 +quatech_daqp_cs +quatech_usb2 +quickcam_messenger +quota_tree +quota_v1 +quota_v2 +r128 +r8169 +r8192_pci +r8192se_pci +r8192s_usb +r82600_edac +r8a66597-hcd +radeon +radeonfb +radio-aimslab +radio-aztech +radio-cadet +radio-gemtek +radio-gemtek-pci +radio-i2c-si470x +radio-maestro +radio-maxiradio +radio-mr800 +radio-rtrack2 +radio-sf16fmi +radio-sf16fmr2 +radio-si4713 +radio-tea5764 +radio-terratec +radio-trust +radio-typhoon +radio-usb-si470x +radio-zoltrix +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +raid_class +ramzswap +rar_driver +raw +raw1394 +ray_cs +rdma_cm +rdma_ucm +rds +rds_rdma +rds_tcp +redboot +reed_solomon +reiserfs +rfc1051 +rfc1201 +rfcomm +rfd_ftl +ricoh_mmc +rio500 +riscom8 +rivafb +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rndis_wlan +rocket +romfs +rose +rotary_encoder +rpcsec_gss_krb5 +rpcsec_gss_spkm3 +rrunner +rsrc_nonstatic +rt2400pci +rt2500pci +rt2500usb +rt2800usb +rt2860sta +rt2870sta +rt2x00lib +rt2x00pci +rt2x00usb +rt3090sta +rt61pci +rt73usb +rtc-ab3100 +rtc-bq4802 +rtc-ds1286 +rtc-ds1305 +rtc-ds1307 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-ds3234 +rtc-fm3130 +rtc-isl1208 +rtc-m41t80 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-pcf2123 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-r9701 +rtc-rs5c348 +rtc-rs5c372 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-test +rtc-twl4030 +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtd520 +rti800 +rti802 +rtl8150 +rtl8180 +rtl8187 +rtl8187se +rxkad +s1d13xxxfb +s2255drv +s2io +s3fb +s526 +s5h1409 +s5h1411 +s5h1420 +s626 +saa5246a +saa5249 +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +safe_serial +salsa20_generic +salsa20-i586 +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 +sb +sb1000 +sbc60xxwdt +sbc7240_wdt +sbc8360 +sbc_epx_c3 +sbc_fitpc2_wdt +sbc_gxx +sb_lib +sbni +sbp2 +sc +sc1200wdt +sc520cdp +sc520_wdt +sc92031 +scb2_flash +scc +sch311x_wdt +sch_atm +sch_cbq +sch_drr +sch_dsmark +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_multiq +sch_netem +sch_prio +sch_red +sch_sfq +sch_tbf +sch_teql +sco +scsi_debug +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 +scx200 +scx200_acb +scx200_docflash +scx200_gpio +scx200_hrt +scx200_i2c +scx200_wdt +sdhci +sdhci-pci +sdhci-pltfm +sdio_uart +sdla +sdricoh_cs +se401 +sealevel +sedlbauer_cs +seed +seeq8005 +sep_driver +seqiv +ser_gigaset +serial2002 +serial_cs +serio_raw +sermouse +serpent +serport +serqt_usb2 +ses +sfc +sha1_generic +sha256_generic +sha512_generic +shpchp +sht15 +si21xx +si4713-i2c +sidewinder +siemens_mpi +sierra +sim710 +sir-dev +sis +sis190 +sis5595 +sis900 +sis-agp +sisfb +sisusbvga +sit +sja1000 +sja1000_isa +sja1000_platform +skel +skfp +skge +skisa +sky2 +sl811_cs +sl811-hcd +slicoss +slip +slram +sm501 +sm501fb +smbfs +smc9194 +smc91c92_cs +smc-mca +smctr +smc-ultra +smc-ultra32 +smsc37b787_wdt +smsc47b397 +smsc47m1 +smsc47m192 +smsc9420 +smsc95xx +smsc-ircc2 +smsdvb +smsmdtv +smssdio +smsusb +sn9c102 +snd +snd-ac97-codec +snd-ad1816a +snd-ad1848 +snd-ad1889 +snd-adlib +snd-ak4114 +snd-ak4117 +snd-ak4xxx-adda +snd-ali5451 +snd-als100 +snd-als300 +snd-als4000 +snd-atiixp +snd-atiixp-modem +snd-au8810 +snd-au8820 +snd-au8830 +snd-aw2 +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-dt019x +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-es968 +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-atihdmi +snd-hda-codec-ca0110 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-idt +snd-hda-codec-intelhdmi +snd-hda-codec-nvhdmi +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-intel +snd-hdsp +snd-hdspm +snd-hifier +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-korg1212 +snd-layla20 +snd-layla24 +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-pcm-oss +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-oss +snd-seq-virmidi +snd-serial-u16550 +snd-sgalaxy +snd-sis7019 +snd-soc-ad1836 +snd-soc-ad1938 +snd-soc-ad73311 +snd-soc-ak4104 +snd-soc-ak4535 +snd-soc-ak4642 +snd-soc-core +snd-soc-cs4270 +snd-soc-l3 +snd-soc-max9877 +snd-soc-pcm3008 +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-tlv320aic23 +snd-soc-tlv320aic26 +snd-soc-tlv320aic3x +snd-soc-twl4030 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wm8350 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8776 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8993 +snd-soc-wm9081 +snd-soc-wm-hubs +snd-sonicvibes +snd-sscape +snd-tea575x-tuner +snd-tea6330t +snd-timer +snd-trident +snd-usb-audio +snd-usb-caiaq +snd-usb-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 +softcursor +softdog +solos-pci +sony-laptop +sonypi +sound +soundcore +sound_firmware +sp8870 +sp887x +spaceball +spaceorb +spcp8x5 +specialix +spectrum_cs +speedfax +speedtch +spi_bitbang +spi_butterfly +spidev +spi_gpio +spi_lm70llp +squashfs +ssb +sscape +ssfdc +sst25l +sstfb +ssv_dnp +st +stallion +starfire +stb0899 +stb6000 +stb6100 +stex +stinger +stir4200 +stkwebcam +stowaway +stp +stradis +strip +stv0288 +stv0297 +stv0299 +stv0900 +stv090x +stv6110 +stv6110x +stv680 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +svcrdma +svgalib +sworks-agp +sx8 +sym53c416 +sym53c500_cs +sym53c8xx +symbolserial +synaptics_i2c +synclink +synclink_cs +synclink_gt +synclinkmp +syscopyarea +sysfillrect +sysimgblt +sysv +t128 +t1isa +t1pci +tc1100-wmi +tcic +tcp_bic +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 +tda10086 +tda18271 +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tdfx +tdfxfb +tdo24m +tea +tea5761 +tea5767 +tea6415c +tea6420 +tehuti +tekram-sir +teles_cs +tg3 +tgr192 +thinkpad_acpi +thmc50 +tifm_7xx1 +tifm_core +tifm_ms +tifm_sd +tileblit +timeriomem-rng +tipc +ti_usb_3410_5052 +tlan +tlclk +tle62x0 +tmdc +tmiofb +tmp401 +tmp421 +tms380tr +tmscsim +tmspci +toim3232-sir +topstar-laptop +toshiba_acpi +touchit213 +touchright +touchwin +tpm +tpm_atmel +tpm_bios +tpm_infineon +tpm_nsc +tpm_tis +tps65010 +tps65023-regulator +tps6507x-regulator +trancevibrator +tranzport +tridentfb +trix +ts5500_flash +ts_bm +tsc2007 +ts_fsm +ts_kmp +tsl2550 +tsl2561 +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +tua6100 +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +turbografx +tvaudio +tveeprom +tvp5150 +tw9910 +twidjoy +twl4030-gpio +twl4030_keypad +twl4030-pwrbutton +twl4030-usb +twl4030_wdt +twofish +twofish_common +twofish-i586 +typhoon +u132-hcd +u14-34f +uart401 +uart6850 +ubi +ubifs +ucb1400_core +ucb1400_ts +udf +udlfb +ueagle-atm +ufs +uinput +uio +uio_aec +uio_cif +uio_pci_generic +uio_pdrv +uio_pdrv_genirq +uio_sercos3 +uio_smx +uli526x +ultracam +ultrastor +umc +umem +ums-alauda +ums-cypress +ums-datafab +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-sddr09 +ums-sddr55 +ums-usbat +unioxx5 +upd64031a +upd64083 +uPD98402 +usb8xxx +usbatm +usb_debug +usbdux +usbduxfast +usb_gigaset +usbhid +usbip +usbip_common_mod +usblcd +usbled +usblp +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +usbtouchscreen +usbvideo +usbvision +userspace-consumer +uss720 +uvcvideo +uvesafb +uwb +v4l1-compat +v4l2-common +v4l2-int-device +vcan +ves1820 +ves1x93 +vesafb +veth +vfat +vga16fb +vgastate +vgg2432a4 +vhci-hcd +via +via686a +via-agp +viafb +via-ircc +via-rhine +via-rng +via-sdmmc +via-velocity +vicam +video +video1394 +videobuf-core +videobuf-dma-sg +videobuf-dvb +videobuf-vmalloc +videocodec +videodev +virtio +virtio_balloon +virtio_blk +virtio_console +virtio_net +virtio_pci +virtio_ring +virtio-rng +virtual +visor +vivi +vlsi_ir +vmac +vme +vme_ca91cx42 +vme_tsi148 +vme_user +v_midi +vmk80xx +vmlfb +vmw_pvscsi +vmxnet3 +vp27smpx +vpx3220 +vstusb +vsxxxaa +vt1211 +vt6656_stage +vt8231 +vt8623fb +vxge +w1_bq27000 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1-gpio +w1_smem +w1_therm +w6692 +w83627ehf +w83627hf +w83627hf_wdt +w83697hf_wdt +w83697ug_wdt +w83781d +w83791d +w83792d +w83793 +w83877f_wdt +w83977af_ir +w83977f_wdt +w83l785ts +w83l786ng +w9966 +w9968cf +wacom +wacom_w8001 +wafer5823wdt +walkera0701 +wanrouter +wanxl +warrior +wavelan +wavelan_cs +wbsd +wd +wd7000 +wdt +wdt_pci +whci +whci-hcd +whc-rc +whiteheat +wimax +winbond-840 +winbond-cir +wire +wistron_btns +wl1251 +wl1251_sdio +wl1251_spi +wl1271 +wl3501_cs +wlp +wm831x +wm831x_bl +wm831x-dcdc +wm831x-gpio +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x_power +wm831x_wdt +wm8350 +wm8350-hwmon +wm8350-i2c +wm8350_power +wm8350-regulator +wm8350_wdt +wm8400-core +wm8400-regulator +wm8739 +wm8775 +wm97xx-ts +wp512 +wpan-class +wusb-cbaf +wusbcore +wusb-wa +x25 +x25_asy +x38_edac +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_ipcomp +xfrm_user +xfs +xhci +xirc2ps_cs +xircom_cb +xor +xpad +xprtrdma +x_tables +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNMARK +xt_CONNSECMARK +xt_conntrack +xt_dccp +xt_dscp +xt_DSCP +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xt_iprange +xtkbd +xt_LED +xt_length +xt_limit +xt_mac +xt_mark +xt_MARK +xt_multiport +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_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_tcpudp +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xusbatm +xvmalloc +yam +yealink +yellowfin +yenta_socket +z85230 +zatm +zaurus +zc0301 +zd1201 +zd1211rw +zhenhua +zl10036 +zl10039 +zl10353 +zlib +zlib_deflate +znet +zr36016 +zr36050 +zr36060 +zr36067 +zr364xx --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/i386/generic +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/i386/generic @@ -0,0 +1,10438 @@ +EXPORT_SYMBOL arch/x86/kernel/scx200 0x254e5667 scx200_gpio_base +EXPORT_SYMBOL arch/x86/kernel/scx200 0x35a3c008 scx200_gpio_configure +EXPORT_SYMBOL arch/x86/kernel/scx200 0x8cfa375c scx200_gpio_shadow +EXPORT_SYMBOL arch/x86/kernel/scx200 0x907665bd scx200_cb_base +EXPORT_SYMBOL arch/x86/kvm/kvm 0x83759bd7 kvm_cpu_has_pending_timer +EXPORT_SYMBOL arch/x86/kvm/kvm 0xb299f76b kvm_read_guest_atomic +EXPORT_SYMBOL crypto/gf128mul 0x0c2f123f gf128mul_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x1068004b gf128mul_bbe +EXPORT_SYMBOL crypto/gf128mul 0x2f2889a0 gf128mul_init_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x384ef9ce gf128mul_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x56af0dbd gf128mul_x_ble +EXPORT_SYMBOL crypto/gf128mul 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL crypto/gf128mul 0xbd17a0df gf128mul_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0xc0890413 gf128mul_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/acpi/video 0x7a45377b acpi_video_unregister +EXPORT_SYMBOL drivers/acpi/video 0x8826c13b acpi_video_register +EXPORT_SYMBOL drivers/atm/suni 0x44237749 suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0x6e63ebf2 uPD98402_init +EXPORT_SYMBOL drivers/block/paride/paride 0x0b311e6d pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0x190a2439 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x300d3c82 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x34bd1298 paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x3f16d601 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x6d9224e8 pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x7226379a pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x7ffa7360 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x9c3ea286 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0xa7b0eb9f pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xe37c271d pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xeb6a17f7 pi_connect +EXPORT_SYMBOL drivers/char/agp/agpgart 0x08987f5a agp_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0x1a6df7a0 agp_generic_alloc_user +EXPORT_SYMBOL drivers/char/agp/agpgart 0x1b195918 agp_generic_free_gatt_table +EXPORT_SYMBOL drivers/char/agp/agpgart 0x2d9a1c09 agp_copy_info +EXPORT_SYMBOL drivers/char/agp/agpgart 0x2d9d34de agp_backend_release +EXPORT_SYMBOL drivers/char/agp/agpgart 0x30226ddf agp_device_command +EXPORT_SYMBOL drivers/char/agp/agpgart 0x33b0292a agp_generic_remove_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x38050a5d agp_free_page_array +EXPORT_SYMBOL drivers/char/agp/agpgart 0x39242bac agp_free_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x48647374 agp_generic_enable +EXPORT_SYMBOL drivers/char/agp/agpgart 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL drivers/char/agp/agpgart 0x561f5894 agp_generic_alloc_by_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0x63de8502 agp_generic_mask_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x673f815e agp_bridges +EXPORT_SYMBOL drivers/char/agp/agpgart 0x6854f2b4 agp_unbind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x72c122f1 agp_backend_acquire +EXPORT_SYMBOL drivers/char/agp/agpgart 0x7538b132 agp_off +EXPORT_SYMBOL drivers/char/agp/agpgart 0x7eb65e86 agp_generic_alloc_page +EXPORT_SYMBOL drivers/char/agp/agpgart 0x802744c2 agp_bind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x89334635 agp_find_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0x90c8ebf3 agp_alloc_page_array +EXPORT_SYMBOL drivers/char/agp/agpgart 0xa0586825 agp3_generic_tlbflush +EXPORT_SYMBOL drivers/char/agp/agpgart 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL drivers/char/agp/agpgart 0xa6399a92 agp_flush_chipset +EXPORT_SYMBOL drivers/char/agp/agpgart 0xa8bb0e33 agp_generic_destroy_pages +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb04ea8f0 agp_rebind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb420c549 agp_put_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0xbb522770 agp_create_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc10e9b0e agp_generic_destroy_page +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL drivers/char/agp/agpgart 0xca61cd5d agp_generic_create_gatt_table +EXPORT_SYMBOL drivers/char/agp/agpgart 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL drivers/char/agp/agpgart 0xd61248a7 get_agp_version +EXPORT_SYMBOL drivers/char/agp/agpgart 0xde5bb208 agp_generic_free_by_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL drivers/char/agp/agpgart 0xdfba84c4 agp_allocate_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xe0c1ae97 agp_generic_type_to_mask_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0xe1f692c6 agp_enable +EXPORT_SYMBOL drivers/char/agp/agpgart 0xe213b229 agp_alloc_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0xf1499cbc agp_generic_alloc_pages +EXPORT_SYMBOL drivers/char/agp/agpgart 0xf476e1dc agp_generic_insert_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xf55c4a16 agp_collect_device_status +EXPORT_SYMBOL drivers/char/agp/intel-agp 0x7b9a6116 intel_agp_enabled +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x055b3748 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x10728cf7 ipmi_register_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x19f52371 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1eeadaca ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1fb11822 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x3d3c12b3 ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x41762684 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4585fb18 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x53831c2f ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x689ce765 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x89567bcb ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x96f19369 ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x9a2ee77f ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa77d7f56 ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xab6fa4e1 ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xaddeca19 ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xb75f8a29 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xbe6d7fb2 ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xcad9aaaa ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd580118f ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xdbb6f5d6 ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xdbd4c511 ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf2a0e1f8 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/nsc_gpio 0x128c3fd9 nsc_gpio_write +EXPORT_SYMBOL drivers/char/nsc_gpio 0x52012cdc nsc_gpio_dump +EXPORT_SYMBOL drivers/char/nsc_gpio 0x7902b916 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 0x5c163731 edac_mc_handle_fbd_ue +EXPORT_SYMBOL drivers/edac/edac_core 0x64ef9320 edac_mc_find +EXPORT_SYMBOL drivers/edac/edac_core 0xc5eec299 edac_mc_handle_fbd_ce +EXPORT_SYMBOL drivers/firewire/firewire-core 0x04dd92ce fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x094f8d29 fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x10a335ed fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1bed49b9 fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3107bfda fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x31904366 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3610e5e4 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4d5d4eca fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4ee34955 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5ebfdc0c fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6eca84a5 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x70cc2d07 fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7261558b fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x74632c48 fw_core_initiate_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8491a49f fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90863005 fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0x916ef652 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x944afede fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x97f88e43 fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaa0e5c3a fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xab5c6b42 fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xafc1c793 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb047a2c6 fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb35468f7 fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd4a7b7a3 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe446c331 fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xeb9cb740 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf9cbae9d fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firmware/dcdbas 0xa75079d6 dcdbas_smi_request +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00c6391c drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x011c7cab drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0430a23b drm_agp_chipset_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x062bab83 drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0836695c drm_sman_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c626b86 drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10eee424 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1118a4d2 drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12b445c7 drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13106882 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x143e5ecc drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15f6cb64 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16b8934f drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x199e127a drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1bba9030 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d29a384 drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f072c59 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1fdb669b drm_get_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20557fd1 drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21451ac4 drm_sman_owner_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x223ab701 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25732a4d drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25bfb24d drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x261c256e drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2916bf63 drm_sman_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29790b83 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e536b32 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2eb2f903 drm_sman_free_key +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3157f2c0 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32b5a8ec drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38b4ff2b drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a2f21a8 drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c51c200 drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c9a1409 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c9ae463 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40066953 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40911aaf drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43fb15c5 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48aa6690 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x497acbc6 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a4e540f drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c9c406e drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d508fa7 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d8b39e6 drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x505cab5b drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50825d6e drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0x548bbe96 drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55f060ee drm_sman_set_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56217ed2 drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0x563c9e42 drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57f7dbe6 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x580830f0 drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x585231e2 drm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59f19bd1 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5eb704a6 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f43c733 drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60a49901 drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60c82130 drm_do_probe_ddc_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6518c19a drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x668afb67 drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6711f2dc drm_core_get_reg_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0x672ba6da drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x673f9d0e drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x67b066e2 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c615c84 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d2e5837 drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e1eb7a5 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f14cc63 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f5214d7 drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fc30481 drm_mode_hsync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x717c568d drm_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71d43e82 drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x760e005f drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76863e24 drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77657498 drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x784915eb drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7becf9f2 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c1fd6c8 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7cd6c139 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7da41dc4 drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f029890 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80824967 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x818ef09b drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81de216a drm_sg_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x825b81f5 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83a36b83 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x849241ac drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85de09f5 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87a3f79a drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87d6e7ef drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x887486fa drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e62d513 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e6d4c95 drm_agp_bind_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x908945d8 drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x939d7f93 drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x948cb80d drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9595d46e drm_get_resource_len +EXPORT_SYMBOL drivers/gpu/drm/drm 0x97067d1b drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x987ab3db drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9903dfe2 drm_get_resource_start +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9acefc91 drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9dfe1b62 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa2281f4b drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5ed6af6 drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa160baa drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad66e499 drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae64c381 drm_i_have_hw_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf29788e drm_sman_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0a859cc drm_get_drawable_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2989189 drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb48a0909 drm_lock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb58b3c52 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb64e4cd5 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb92afa8d drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc479081 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe3d78ef drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbfaa1f0b drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc15811e3 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1792355 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc25a2da5 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4ea85d8 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6794f16 drm_core_get_map_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8ead6eb drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc933da04 drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc95137a6 drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc9c6d60d drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcadac25f drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xccc76a5c drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0723d2 drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdf2eff4 drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcfb4f4ef drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd08fa3f0 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0ce42df drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3028e75 drm_sman_set_manager +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3ffab51 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4c8a354 drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd79d9ec5 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdb245bec drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc2df56f drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd3febe2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd49095c drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1457735 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe24a7b88 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe2887b50 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe3a34021 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5bdce7e drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8d02e79 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe919dd5c drm_sman_owner_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xedd6a024 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xee8cf856 drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1ae4ee0 drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2c05215 drm_lock_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf387a596 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf42a2b26 drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf8560482 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9fed64e drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa3ad044 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa769c65 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb7a62b8 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd956a1d drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdfbad19 drm_sman_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06b2889e drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0930f6c6 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1834d945 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1af7b664 drm_fb_helper_init_crtc_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2cbab69c drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2cf4a626 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2ef9901a drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3b46b2f6 drm_fb_helper_add_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5357b568 drm_fb_helper_setcolreg +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x586fd2de drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58d564cf drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5fec5e90 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6305eca5 drm_fb_helper_free +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x668a934e drm_helper_hotplug_stage_two +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x794237f6 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9c0e9cad 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 0x9d2b6f70 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa1c6d283 drm_helper_probe_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb78915eb drm_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd6eff889 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe47fee35 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe6757da5 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe797ab1d drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf047114b drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfddae7d9 drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/i915/i915 0x889a135d intelfb_probe +EXPORT_SYMBOL drivers/gpu/drm/i915/i915 0xa9436c04 intelfb_resize +EXPORT_SYMBOL drivers/gpu/drm/i915/i915 0xf05224ff intelfb_remove +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0x6ce80823 radeonfb_remove +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0xcd4333a0 radeonfb_resize +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x01c99cb0 ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x03bab705 ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x044db796 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x07787990 ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x101fb898 ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x104300e8 ttm_object_file_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x132b05be ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x161262d6 ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x17a98fa2 ttm_object_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x186f1f06 ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x19ce8f1f ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1a09f00a ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1ba8c0ef ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1e4e7e87 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x28412ad8 ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2d673efd ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x315a8f1a ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x34704ea7 ttm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x365feb2e ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3c3c3af1 ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3ce50883 ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3de60c1d ttm_agp_backend_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3e07f091 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x48239b15 ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x49fd9a24 ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4e4ff7f1 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5179e52f ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x56c42d22 ttm_suspend_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x594f03fe ttm_object_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5dcc1e64 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5dea47d6 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5ee29691 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61bdb34f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6277c681 ttm_base_object_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x642f7bc9 ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x66666d70 ttm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x67698dc1 ttm_mem_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6b977dc3 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6fb1de52 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7045423d ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x765cbc82 ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7f8879de ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x86a4066d ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8db796d4 ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9370aadd ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa0a403f9 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa4b0ba5e ttm_ref_object_add +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa621eec1 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb5cf2fe9 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb9e927c4 ttm_base_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbba2ecf9 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbbeb7a60 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbe3eadc6 ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbf69f5ca ttm_base_object_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc2058ac0 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc9a91fdd ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd8d96a13 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe0627f77 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xee10525e ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf421cf51 ttm_bo_device_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-bit 0x1e846fb0 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x33e2b5bd i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xb63bbf8d i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xc9f348ee i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pcf 0xbc09d819 i2c_pcf_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0xab237856 amd756_smbus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x018b2466 hpsb_node_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x07efa2af hpsb_free_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0879f860 hpsb_iso_recv_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0b83a6ce hpsb_bus_reset +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x181a7b8b hpsb_make_lockpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x19db53ef hpsb_iso_wake +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1a200e5a csr1212_release_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1edf0d3f hpsb_update_config_rom +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x21490d46 hpsb_iso_recv_listen_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x21577ede hpsb_node_fill_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x219cbabe dma_region_offset_to_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x25dcd5d4 hpsb_reset_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2a4cc36b csr1212_attach_keyval_to_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2fe112e1 hpsb_iso_xmit_sync +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x358e6fb2 __hpsb_register_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3a8e32b4 hpsb_update_config_rom_image +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3c868e14 hpsb_selfid_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4087fd6a hpsb_make_writepacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x44965b7c hpsb_alloc_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4d3e59dd hpsb_iso_recv_release_packets +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4d86a039 hpsb_selfid_complete +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x52b90646 hpsb_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x596126f7 hpsb_make_streampacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5f5fdd2f csr1212_new_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x671852b0 hpsb_iso_stop +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x672ad148 dma_region_sync_for_device +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6af78239 hpsb_get_hostinfo_bykey +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6b488da8 hpsb_resume_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6c1c1b8a hpsb_alloc_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6c73dc0a hpsb_make_phypacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6c778b8b hpsb_unregister_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6f11bedd hpsb_make_lock64packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x71377ea7 hpsb_send_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x73ba74a8 hpsb_remove_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x73f95d24 hpsb_iso_n_ready +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x74255635 hpsb_lock +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x76bc1a5c dma_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7a1bb0f7 hpsb_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7a295b83 hpsb_get_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7ab8a367 hpsb_iso_recv_unlisten_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7e31d52e hpsb_iso_shutdown +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7ec3006f hpsb_create_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7fadd772 hpsb_iso_xmit_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7fc27bd1 hpsb_iso_recv_set_channel_mask +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x842a43b8 hpsb_iso_recv_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8566c6cb hpsb_packet_success +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x86f8570f hpsb_get_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8879f8f0 dma_region_sync_for_cpu +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8ec2b312 dma_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x911df112 hpsb_read_cycle_timer +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9334cb1c hpsb_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x94bce230 csr1212_get_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9790e11c hpsb_iso_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x979b3052 dma_prog_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9d3a954a hpsb_protocol_class +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa063fb3c hpsb_free_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa475fab4 hpsb_set_hostinfo_key +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa764e384 hpsb_set_packet_complete_task +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa924dac6 dma_prog_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa986a08c dma_region_mmap +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaef57bb5 csr1212_detach_keyval_from_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaefbd374 csr1212_parse_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaf759962 hpsb_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb1d820bc hpsb_unregister_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb9e219db hpsb_set_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xbba70620 dma_prog_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcb1b0149 hpsb_make_readpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xccc9431f hpsb_add_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd05a3adc hpsb_iso_xmit_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd7f77bc3 hpsb_iso_recv_flush +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xda9b2f31 hpsb_destroy_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe437fd4d hpsb_allocate_and_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe8bf7cc2 hpsb_unregister_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xea4152ff dma_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xed00ee5e hpsb_iso_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xed89a506 hpsb_register_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xeea7c5e8 hpsb_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfab27536 csr1212_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfba57f51 hpsb_speedto_str +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xff47d4c7 hpsb_iso_xmit_queue_packet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x1d5aeebc ohci1394_init_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x8cbad2e1 ohci1394_unregister_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0xcb890d2d ohci1394_register_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0xfb695ed0 ohci1394_stop_context +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x2ab66254 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x68b7c3d9 rdma_copy_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x8459529e rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x8a721ed9 rdma_addr_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xc4a99c17 rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xc91bb9d3 rdma_addr_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x0290e9e1 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x0a5c9ba1 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x20164c84 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x313c823d cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3407432b ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x47bf20ca ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x4b91cdb4 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x50deba2b ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x5721510a ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7f59515e ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x86d58541 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x876d8232 ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9da1ac39 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa2583549 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc4af2cb7 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe53b7d84 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xedd53723 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07a2eac7 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0db0e47a ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x13bbd16f ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x13f35410 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1c1a4141 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x21c1d8ba ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2223eb82 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x276202fa ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2acecd08 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x333f8b4b ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3ba4640c ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f7567fd ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4140f6b9 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x441053f1 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x47bba95c ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4995704f ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50f97de8 ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x520b2638 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x543d6b13 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x57a4bbdb ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58d57dcf ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x595d508c ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5daad22d ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5f3142cb ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x614cb7ae ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x62f0ea1c ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x66c04d59 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6892fd3c ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6ab69b2b ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6bfda4a8 ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7115a27e ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x757348ad ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77c91267 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x79e5b623 ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7f003cf5 ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x81e8e117 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x844aeeb1 ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8640eaeb ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x874ecd73 ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87b614d8 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8844ea72 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8c6d1340 ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8c8093a7 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8d233ae4 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8d9ccda3 ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x93ca9656 ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9a584e0e ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d804fa1 mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa4463516 ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa9fc070e ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb1a312e1 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb3030235 ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb37ae8c8 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb71a235e ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb9a551a2 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xba1bd02e ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbacc5332 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcee3a1b2 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd064365f ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd17ba9d1 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd9f51415 ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdf4dc510 ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe098b47d ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5b4cb7b ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe93ff376 ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf07fb4a1 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf10c73ef ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf36498b9 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf4cdc515 ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf571718b ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6c25cdc ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc56cbd6 ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfddba6c7 ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfdf77e24 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x0fb88d05 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x128b55f7 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x33db0466 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x3739ac65 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x3da51504 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x4400c351 ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x56773353 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x57c6a328 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6ef787ed ib_response_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 0x9ce95031 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xb71edee8 ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xf199c297 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xfbdc4dea ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x4cff5195 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x576fdbac ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x66eadb66 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x6baad75a ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x7495c5a3 ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x816f4b5b ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x9c56fd34 ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xc4ef6aef ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xda7fc486 ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xf520d09e ib_sa_register_client +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 0x0604a7d2 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x3df8cbb6 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x50894c5a iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x58304249 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xa62109ba iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xacefc642 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xb77e79eb iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xdd2e466d iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0ab1eb44 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x17c5b6ae rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x20bdc33c rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x38e40697 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4cbdb1bb rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5c3f7eaf rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x652d34bb rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x69d0913f rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x96af58c5 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xac157df5 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb3a53fce rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb8363903 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcd88f822 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcefce47b rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd9a7465a rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe136d743 rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xefcf29b3 rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf3b29460 rdma_listen +EXPORT_SYMBOL drivers/input/gameport/gameport 0x227c9351 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x25aadc46 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x498d6047 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x50193ade gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x5ad4971d gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7d33bfd7 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xcf6f91ab gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xea66dc94 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xf18fa7ec __gameport_register_port +EXPORT_SYMBOL drivers/input/input-polldev 0x2026705f input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x85460b00 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x8fe5a871 input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xc75b3311 input_free_polled_device +EXPORT_SYMBOL drivers/isdn/capi/capifs 0x2c54c957 capifs_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/capifs 0xd0bc06ce capifs_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x04403fcf unregister_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x05e8b18c capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x083fae2c capi20_put_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x14f2aa5a capi20_get_version +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x227512b6 capi_ctr_resume_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x24f89299 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x26bcf8c7 capi_ctr_suspend_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2b8eab1f capilib_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2baa6586 capilib_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31c24aa4 capi20_isinstalled +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47d3fc51 capi_info2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 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 0x78f406d3 capi20_release +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 0x9f823278 register_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xa23a51f7 capi20_set_callback +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xa7c4fd6c capi_message2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xaa165d27 capilib_release_appl +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb19fda8d capi_cmd2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb60e5e5f capi_cmsg_header +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc10fe128 cdebbuf_free +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc136d001 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xdac3f6d3 attach_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 0xeb201622 capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xed061606 capi20_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xf8934193 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x024f5cd7 b1_load_config +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x11560a2a b1_load_t4file +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x130f0ade b1_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x23eb9153 b1_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x25d61a44 b1_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x36b188d8 b1_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x4be78d52 b1ctl_read_proc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x80a3a665 b1_parse_version +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x84b0d003 b1_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x85f09690 b1_irq_table +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xb33de63d b1_free_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xb98bfd22 b1_getrevision +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xbe411d89 b1_loaded +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xc3f49772 avmcard_dma_alloc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xd1ffba13 b1_alloc_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdfd28376 b1_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xf5355719 avmcard_dma_free +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xffd59880 b1_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x0866512f b1dma_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x233ca0dc b1dma_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x258e3078 b1pciv4_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x71be4b5b b1dma_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x72f0b777 b1dma_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x96636f77 b1dma_reset +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x9ac9d398 b1dma_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xa8872091 b1dma_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xd21b249e b1dmactl_read_proc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xebb5c553 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 0x2974ead1 DIVA_DIDD_Read +EXPORT_SYMBOL drivers/isdn/hardware/eicon/divadidd 0x660ada7d proc_net_eicon +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x52798e9f mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xb1d7da2c mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xb2dad46b mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xf5175147 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x0ca863db mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x56fcd9bd 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 0x2844a899 FsmInitTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x613b8adf hisax_init_pcmcia +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x93a64734 FsmChangeState +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x9df0cd27 FsmEvent +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xc0c558f9 FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xd94696e8 FsmDelTimer +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_isac 0x2decefd2 isac_init +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x31fd2799 isacsx_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x3f3b323a isac_d_l2l1 +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x7fd9f82f isac_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xaf574584 isacsx_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xc9de5d04 isac_setup +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x956bd5d8 isdn_ppp_register_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x9c97ada3 register_isdn +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xd6451f30 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 0x03eb6008 mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x091f324a recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0bde05be create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3002345e mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3ea336fd mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x429129f2 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x54bc6f25 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5a099158 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5dc7400a mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x65a141ae bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7a18d7f2 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7a710a24 confirm_Bsend +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7b6b521e mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x88f0c753 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x913fa9f5 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x989e7fdb mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa18b3c5e recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa7d81d8f recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xaa53906b dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xace35cae mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb070297d mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb09da388 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc4432c5b mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xcbe00c4e mISDN_initdchannel +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 0xd9a7fbfd mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe0c1ed7e get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xeb8b55fd recv_Dchannel_skb +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/raid6_pq 0x0bd662f6 raid6_gfmul +EXPORT_SYMBOL drivers/md/raid6_pq 0x15fe0cd3 raid6_gfexp +EXPORT_SYMBOL drivers/md/raid6_pq 0x5ba93f9d raid6_gfinv +EXPORT_SYMBOL drivers/md/raid6_pq 0xb0d904b7 raid6_empty_zero_page +EXPORT_SYMBOL drivers/md/raid6_pq 0xce45a6f1 raid6_gfexi +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0x9b46d748 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0x9a62f941 mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0x81ea94a1 mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x211ebb74 mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x7fbc88a0 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0x683f519d qt1010_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 0xa199b39c xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0x740770cf xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x12a5aa78 flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x1e391255 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x3146eeeb flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x393c7358 flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x3a301fe6 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x46def880 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x4f16a40e flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x527106a7 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x75052da7 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x75ae9232 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x7b861b87 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x8bf1bb31 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x91726921 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa36a38cc flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xaaccf145 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xb9ed33ba flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xcff55c07 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe4dc69ec flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe9d552b9 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xeb5aa135 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x559b3e8a bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x9e5d406f bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xa62e9985 bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xf27d0ee3 bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x5420803d write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x7b80abb7 dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x925566d4 dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x93709c4a read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x9aedfa4a dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xa7c2cc08 dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xae6431fe dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xc857cbcf dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xf9c2acbc rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0x2ff758a4 dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x028cb090 dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c4d4a14 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x14eb630c dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x29bb8312 dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x2dabec76 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x376969ca dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3fc33ffd dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4303d659 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x539c1869 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x57cb9020 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5aabc2a6 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5ff67e07 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6f7f7d73 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6f9c72e3 dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x74a5a698 dvb_filter_pes2ts_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x76bc6b53 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7d181c8b dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x80e3832d dvb_filter_get_ac3info +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x8f132427 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x923aa88e dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x92f5b071 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa5c81c03 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb2db2592 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb5b95805 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xbc0d91e1 timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xbf98b024 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc0e5084c dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc48e560b dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcf845d68 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xdc0a3bf5 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe7949e59 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xeb576d3f dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xeb7daf80 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf0139c8d dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf49ca7b0 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf66b74f9 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf826deb0 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf8aa5ebf dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x141d9006 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x341ddb25 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x42f29b9d dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x52ce9246 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x896f7e06 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x9f29a635 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xe35176a1 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x3693500b af9005_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x6f4a42e4 af9005_rc_decode +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xd3383957 af9005_rc_keys_size +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x13cd2d24 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x366dbd5d dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x3dd70968 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x47c9da20 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x4f48128a dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x76a3e3d0 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x9b0d889f dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xbf7982af dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xcc9ccaff dibusb_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xd9584f93 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xe7a69816 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xf553428f dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x451d1628 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522 0x3374a92c au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0x3811f70a bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0x07246c06 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0x2fb597de cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0xf595bec9 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x6fff1402 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0xbdedc92e cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x60bc6995 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x97e3abe6 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xa292be89 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xa61d26bb dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xccc1ec1a dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xe425f111 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x6f598a79 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x4b681bec dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x73feb51c dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x8defabb0 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x99edba20 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xb4a97109 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xc6015f8c dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x15c33aea dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x6d9cfe7b dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x27633049 dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x4fe06472 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x6b9d5b69 dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x93793d66 dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xd333d668 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xeb1d690e dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x18f95974 dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x42a0eee5 dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x4c5722b6 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xa3eb3e9d dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xbfef3a99 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x6ba6b21f dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x87aed3b6 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xc3d3cd43 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xd094f742 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0x5f5db4c4 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x8a94351b isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0x038d9978 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0xc38dd6a1 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0x57ca2ab3 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0xfccf1876 l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0x92b89f29 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x2b0ac0ab lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0xfdbf6ddb lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x91da0eab lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xe2e04f12 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0x4c4fca13 mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0xc5e3af01 mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0x06fb63b7 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0xb3c94e3b nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0x16b2c8f6 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0x692dde69 or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0xf963c096 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0x86805e48 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x447a525b s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x58e1bbe9 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x21693a75 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0xfc36a8cf sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x680a8b7d sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0xee2e6961 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0x26b11dd2 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0xd95c88ea stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0xee5c0705 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0x1c9c1492 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0xab2566ad stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0xbfa5a05f stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0xe31d0636 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0xb10fe981 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0x6484abbb stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x7e9758f0 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0xcb77dc71 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0xda3bd636 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0xb643e038 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0xd7271432 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x159a60e4 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0x28e26533 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0x562d40cf tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0x05914aec tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0xfdbd3eac tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0x541f09ae ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0xabfa08c9 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0x351d524e zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0xd673d532 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0x69984d76 zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0x12ce8804 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0xcaefd996 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0xe128d85c ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x8762b1c7 bttv_sub_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xb42d85c6 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xc044888b bttv_get_pcidev +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x23261138 btcx_riscmem_free +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x41ef689d 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/cpia 0xfd826f4b cpia_register_camera +EXPORT_SYMBOL drivers/media/video/cpia 0xfe34e03f cpia_unregister_camera +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0xa79a26e5 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0xd049a38b cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x155650f3 cx2341x_ctrl_get_menu +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 0x5b88faf6 cx2341x_ext_ctrls +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 0xe2c2b5eb cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0xaf1a789d vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0xb0b198bb vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x3bf3e8bd cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x4828b8c8 cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x4a1f6883 cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xd0658c2f cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xe09fd567 cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xf3e87287 cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x01daf8f9 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x11c3bd33 cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x5f287dd1 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x8a7b126b cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x9994075b cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xb4fd99e3 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xcb438ac0 cx8802_get_device +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x16e74de5 cx88_newstation +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x20112f78 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x2d00936c cx88_shutdown +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x2d526962 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x39339d7a cx88_reset +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x50f75426 cx88_core_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x543917e9 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6183013c cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6cadb4c1 cx88_wakeup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x75075054 cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x97a8f42c cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9b140fff cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xa7e877f9 cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xab0ec10e cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb20838fc cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb47f6cda cx88_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb5dd507d cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb7d0d8c9 cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xbd8a0d56 cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xbec7d183 cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc3f28453 cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xeab5fa5d cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xebd2519c cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xfcbab81e cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x05d1912a em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x7c96fbfd em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x03bf2048 gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x08880020 gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x3f7034df gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x5a776263 gspca_auto_gain_n_exposure +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x7b9f87d4 gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xa6bf0250 gspca_get_i_frame +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xe6a7b595 gspca_suspend +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x03ebfa16 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x0b108519 ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x15d931aa ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x494a1d93 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x624946a6 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x80600060 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xa5075e9b ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xdc1038f7 ivtv_vapi +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xe44d7f07 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xe65a5cf2 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xf41c3056 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x042f775f saa7134_set_gpio +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 0x1d574bb5 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x2c4b98eb saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x530a17d8 saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x5753b137 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x8646d2de saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xa303f9c8 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xb3f9280d saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xba4af247 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xc6254b1e saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xd3d85fb1 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xf4a09adf saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0x0770dc39 soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0x154df8de soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0x555648b2 soc_camera_apply_sensor_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0xd981c71a soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0xefaa707c soc_camera_format_by_fourcc +EXPORT_SYMBOL drivers/media/video/tveeprom 0x0a033382 tveeprom_read +EXPORT_SYMBOL drivers/media/video/tveeprom 0xbeecb0eb tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x16a2915c RingQueue_Dequeue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x2e6efb4b usbvideo_RegisterVideoDevice +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x407a321c RingQueue_WakeUpInterruptible +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x60438d8b usbvideo_DeinterlaceFrame +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x8266d34f usbvideo_Deregister +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xae6b7aea usbvideo_TestPattern +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xce9217d4 usbvideo_AllocateDevice +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xddecac6d RingQueue_Enqueue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xf5011f67 RingQueue_Flush +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xf5a2b9ae usbvideo_register +EXPORT_SYMBOL drivers/media/video/v4l1-compat 0xfdfe499c v4l_compat_translate_ioctl +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x03165a85 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1dcaa0c8 v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1e326b97 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x2f639468 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x42c8e001 v4l2_ctrl_next +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4ed5e0d7 v4l2_chip_match_host +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x50766d69 v4l2_ctrl_query_menu_valid_items +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x76ba9a9a v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x8d800de3 v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x918b1386 v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x95284709 v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9c7de443 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9eb43ee2 v4l2_ctrl_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xbecd2858 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xd9ee1e3f v4l2_ctrl_query_menu +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x24495e1d videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x459044df videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x4beec5aa videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x4f373620 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xa5fc9c93 videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xe0648782 videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x1d687ec7 video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0x2d2594b2 video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x3b2bd9f6 video_register_device_no_warn +EXPORT_SYMBOL drivers/media/video/videodev 0x484d1764 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x61ebc583 video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0x6adafbb5 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0x777d0367 video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0xa9f8429c video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/videodev 0xf7249d06 video_usercopy +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x7e11e12e videocodec_register +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xcc8b396d videocodec_unregister +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xcebadbd3 videocodec_detach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xecac1f82 videocodec_attach +EXPORT_SYMBOL drivers/memstick/core/memstick 0x0ebebda3 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x334ded89 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3ef1254e memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x40fea5a4 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x45e8648f memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5b5c17c8 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x805913cf memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8925d443 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8c9b5da4 memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xaf7dc262 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0xb1cc5438 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xb705ab51 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xc8beef40 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xde2a48bf memstick_free_host +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0803e3b7 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0d5ca3d2 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x191ec28c mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1aacffa7 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x389dbe13 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x39cdb356 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3f1a175c mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x46f43d1b mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x50256ce7 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x58d18c12 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x58d51d32 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6e0a91b4 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7e5a7d1f mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x940cd6fa mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x98161f26 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa12f4f2b mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xab7d1620 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xac750a85 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xaf0d5a39 mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb155dbc9 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb8ba1097 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xbd3d0667 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc0e69f82 mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc47c22e8 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc504e22b mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc717318a mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xce72900c mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd968fccf mpt_attach +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 0xfa738711 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfeaa7638 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0a006cc7 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x14874a2c mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1bf6ad3d mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2e9af643 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2eeb4252 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x354005c3 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x382540be mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3ed4b57e mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3fa7a600 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x468e2ee7 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5739e07d mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x724cc596 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7e92b090 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8ef461da mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9c986e28 mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb762f5e5 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc6fc3857 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc8cacc6a mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd20acfaa mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd4840090 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdde76967 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdde8be38 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xde266210 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf139bd36 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf3bd6ea2 mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfc817b7d mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0c439042 i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0ca441d8 i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x159ad73f i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x25fda221 i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x30b0aa07 i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x7301da86 i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x7a12d9f8 i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x9abf620f i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xa444e83f i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xa742433c i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xbd307d80 i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xcb607a5d i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xceda7ec3 i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd404c6a8 i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd5e495d3 i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xe6574f27 i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf31ccf9c i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf952b602 i2o_find_iop +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x136027c3 ab3100_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x1d817b91 ab3100_get_register_page_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x37714fc2 ab3100_event_registers_startup_state_get +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x50726d72 ab3100_get_chip_type +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x5800bd54 ab3100_mask_and_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xc0a86d0b ab3100_event_register +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xc7eeada8 ab3100_event_unregister +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xe610e2e6 ab3100_get_register_interruptible +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x7a5af6e0 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x9595f403 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mfd-core 0x7d99472e mfd_add_devices +EXPORT_SYMBOL drivers/mfd/mfd-core 0x80914636 mfd_remove_devices +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +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/c2port/core 0x0175f1f3 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0x4993481d c2port_device_register +EXPORT_SYMBOL drivers/misc/ioc4 0x90766f6d ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0xa033c72e ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x026bf296 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x17d421ca tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x4a0aacd2 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x4e4397c0 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x54d1eb87 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x5f9ab970 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x8bb9ceab tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xa08947d6 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xaef175e7 tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xbc4aba30 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xbdc0630a tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xeec23b69 tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xfac9875d tifm_free_device +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0xf12c11c1 mmc_cleanup_queue +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x11ac5da7 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x389c4ba6 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xd45045c4 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x417dd822 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x7a2c7d38 map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x7aed2d12 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x7d67f82a unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x50606bca mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x73f7c010 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x69305298 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x9a6c7bad del_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtd 0xebbdc6e9 add_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtdconcat 0x63e5f709 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtdconcat 0xbf91f185 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/nand 0x6a6877de nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0x782bddb5 nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xaea16757 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xb4b94377 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xd6d0fd3a nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0x836bdb72 nand_flash_ids +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0xa336feb7 nand_manuf_ids +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x24cce386 flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x96be1358 onenand_scan_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xd58724c8 onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xf4c04898 onenand_default_bbt +EXPORT_SYMBOL drivers/net/8390 0x0ec8a375 ei_open +EXPORT_SYMBOL drivers/net/8390 0x1202d779 ei_start_xmit +EXPORT_SYMBOL drivers/net/8390 0x19935270 ei_tx_timeout +EXPORT_SYMBOL drivers/net/8390 0x1c287e54 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/8390 0x1f90837a NS8390_init +EXPORT_SYMBOL drivers/net/8390 0x41e117ae ei_close +EXPORT_SYMBOL drivers/net/8390 0x8793e31f __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/8390 0x99310e95 ei_poll +EXPORT_SYMBOL drivers/net/8390 0xd6012b47 ei_netdev_ops +EXPORT_SYMBOL drivers/net/8390 0xdd365790 ei_interrupt +EXPORT_SYMBOL drivers/net/8390 0xf8cdd1a1 ei_get_stats +EXPORT_SYMBOL drivers/net/8390p 0x4ec06f35 __alloc_eip_netdev +EXPORT_SYMBOL drivers/net/8390p 0x5866a2a6 eip_poll +EXPORT_SYMBOL drivers/net/8390p 0x5f159195 eip_get_stats +EXPORT_SYMBOL drivers/net/8390p 0x6af58811 eip_set_multicast_list +EXPORT_SYMBOL drivers/net/8390p 0x967aa156 NS8390p_init +EXPORT_SYMBOL drivers/net/8390p 0xa86c68d2 eip_close +EXPORT_SYMBOL drivers/net/8390p 0xb663e226 eip_interrupt +EXPORT_SYMBOL drivers/net/8390p 0xddb94ca7 eip_netdev_ops +EXPORT_SYMBOL drivers/net/8390p 0xe012ea73 eip_open +EXPORT_SYMBOL drivers/net/8390p 0xe81d9e88 eip_tx_timeout +EXPORT_SYMBOL drivers/net/8390p 0xf964d02a eip_start_xmit +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x23f86078 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6f188927 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x71774e3a arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xbc6f589d arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xceba0c5f arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xd98212ad alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe25dc1d4 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xf027e2a7 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xfa3ee9c0 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xfc0cfb70 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xffe2e6a8 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x8413ccb7 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xcf75e3c6 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xff0b0ffc com20020_found +EXPORT_SYMBOL drivers/net/bnx2 0x08950266 bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/cnic 0x972c60c5 cnic_register_driver +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x1404b0fc cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x3de0a78e t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x4f30ce6b cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x5f1aa714 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x787405a6 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x92b3c6e6 t3_l2e_free +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x95dc5397 dev2t3cdev +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xa3332d5f cxgb3_register_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xbddf2c89 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xcfc2e95b cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xdae7d61b cxgb3_free_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xe5404e67 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xe8bb682e t3_l2t_get +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xea85f648 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xf873eabd cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xfc01f107 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x336f0011 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x81fc1b24 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x8700d9fe hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xfb4b1625 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xfc2b0d04 hdlcdrv_register +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x0df1092a sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x295d8363 sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x568971b9 irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x64ac6cd5 sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x80477466 irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xb52202f2 sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xd0d79086 sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xd2cd61c1 sirdev_write_complete +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xd7228f2e sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xdb98214b sirdev_get_instance +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/mii 0x177c4cdf mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0x346df6ad generic_mii_ioctl +EXPORT_SYMBOL drivers/net/mii 0x50d61084 mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0x7f872f38 mii_check_media +EXPORT_SYMBOL drivers/net/mii 0x90aed980 mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0xac39cb71 mii_check_link +EXPORT_SYMBOL drivers/net/mii 0xcd247b19 mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0xf7d876ba mii_ethtool_gset +EXPORT_SYMBOL drivers/net/pppox 0x3acebf02 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/pppox 0x51f17a9f pppox_ioctl +EXPORT_SYMBOL drivers/net/pppox 0x525e46e0 register_pppox_proto +EXPORT_SYMBOL drivers/net/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/sungem_phy 0x728b5eb6 mii_phy_probe +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x045ea37b tms380tr_netdev_ops +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x107d72b2 tms380tr_open +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x641e4e12 tmsdev_init +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x688b88cd tms380tr_close +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xbdd448b0 tmsdev_term +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd2328794 tms380tr_wait +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd49af46e tms380tr_interrupt +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 0x000668e8 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x0c63af24 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x2fc6dfce hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0x61bafb1f unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x709e0c0c detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x8b02e5cd hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x987a4332 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xad7ce1d2 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc1782ca8 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc8f8c6b2 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0xced8c6c6 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/z85230 0x10c78988 z8530_dead_port +EXPORT_SYMBOL drivers/net/wan/z85230 0x14d8dd21 z8530_sync_txdma_open +EXPORT_SYMBOL drivers/net/wan/z85230 0x213abac6 z8530_interrupt +EXPORT_SYMBOL drivers/net/wan/z85230 0x26087b9c z8530_nop +EXPORT_SYMBOL drivers/net/wan/z85230 0x2dd142ae z8530_sync_close +EXPORT_SYMBOL drivers/net/wan/z85230 0x301dd19d z8530_sync +EXPORT_SYMBOL drivers/net/wan/z85230 0x4f2f61fc z8530_describe +EXPORT_SYMBOL drivers/net/wan/z85230 0x5cd24d29 z8530_hdlc_kilostream +EXPORT_SYMBOL drivers/net/wan/z85230 0x620cfb23 z8530_init +EXPORT_SYMBOL drivers/net/wan/z85230 0x694cc872 z8530_shutdown +EXPORT_SYMBOL drivers/net/wan/z85230 0x763416a0 z8530_sync_open +EXPORT_SYMBOL drivers/net/wan/z85230 0xa0410656 z8530_sync_dma_close +EXPORT_SYMBOL drivers/net/wan/z85230 0xb70c1dd3 z8530_sync_txdma_close +EXPORT_SYMBOL drivers/net/wan/z85230 0xc501f979 z8530_queue_xmit +EXPORT_SYMBOL drivers/net/wan/z85230 0xc502ab95 z8530_null_rx +EXPORT_SYMBOL drivers/net/wan/z85230 0xd589e29f z8530_channel_load +EXPORT_SYMBOL drivers/net/wan/z85230 0xe3d80064 z8530_hdlc_kilostream_85230 +EXPORT_SYMBOL drivers/net/wan/z85230 0xee7d1bbf z8530_sync_dma_open +EXPORT_SYMBOL drivers/net/wireless/airo 0x252e5da9 init_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x566764d0 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x5de96c38 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x31219afb ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4d7b99e2 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x90524b29 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbe25b39d ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd4087dcd ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/atmel 0x35ccd922 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0x69be713d atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel 0x725333d9 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x118a85cd hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1f09bdf4 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2f36d371 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3054e903 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x31181b29 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x31d88c1e hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4bba4c7d hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x53e77229 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x5fd1775f hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x60138972 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x60a517c0 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7aafc1e9 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7f55a924 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x94571d4d hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9ad88ccf hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9e33fdb8 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa29176d1 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xab77d5ff hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xafad6a2d hostap_set_encryption +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 0xba2c9744 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xbcf49321 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xca55433a hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xddb08146 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xdf36f273 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf35a3c55 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf9320c9e hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x077b2057 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x0f9681e3 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x160d4070 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x20ffa461 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x233585ee free_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x256f569a libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x3c8608be libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x50d8d316 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x6146772e alloc_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x7356d5df libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x84fb890e libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x8b88f9f6 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x8ba5e5ad libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x8f7c3108 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xa975e8a4 libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb8f71961 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xbb51c49f libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xc65e4353 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xc780be73 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd4642510 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe988896e libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0626c3c8 iwl_set_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0bb0d4b2 iwl_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0da9c5fa iwl_rx_reply_rx_phy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0df85a21 iwl_rxon_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0e612b17 iwl_verify_ucode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0e66221d iwl_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0eec3fff iwl_tx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1044ffb0 iwlcore_eeprom_acquire_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x10722f54 iwl_rx_reply_compressed_ba +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x11286e32 iwlcore_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x124559f9 iwl_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x16771d08 iwl_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x17386f04 iwl_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x17ce5b0f iwl_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x17d2619e iwl_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x19f0e900 iwl_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d0f5ae8 iwl_tx_ant_restriction +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d77b399 iwl_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1da6075a iwl_update_tkip_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1e219ed5 iwl_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1eba19ba iwlcore_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2418105a iwl_chain_noise_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x24e558b6 iwl_eeprom_get_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2c4438da iwl_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2e69cc97 iwl_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2ec58598 iwl_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x341ecd15 iwl_rx_replenish +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x350153c0 iwl_rx_missed_beacon_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x375a8514 iwl_tt_enter_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3bee8e95 iwl_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3d2b0d79 iwl_sta_rx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3ef39f49 iwl_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x437e9399 iwl_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4a7a4380 iwl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4ef73517 iwl_tt_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x52267b07 iwl_tx_queue_reclaim +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x535fa6d8 iwl_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x53e748a5 iwl_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x57cbf908 iwl_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x58d1f4bf iwl_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x58f40b93 iwl_eeprom_check_version +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5c097ed4 iwl_reset_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6209c9a8 iwl_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x62103498 iwlcore_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x62727d56 iwl_calib_set +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6294c8ae iwl_hw_txq_ctx_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x644ff098 iwl_is_monitor_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x65118db9 iwl_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x655d18bd iwl_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x65d949bb iwl_send_statistics_request +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6610692c iwl_leds_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x66cbca08 iwl_remove_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6ab39947 iwl_tx_skb +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6bccd832 iwl_ht_enabled +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6cfbc1e1 iwl_rx_pm_debug_statistics_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6d3f2d21 iwl_init_sensitivity +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6e79ee76 iwl_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x73a43888 iwl_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x75484eec iwl_reset_run_time_calib +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x78976e61 iwl_isr_legacy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7f90c00b iwl_sta_rx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x83f32107 iwl_rate_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x85c207a7 iwl_get_ra_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8670273d iwl_hwrate_to_plcp_idx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x86ff3812 iwl_txq_check_empty +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x882e76ea iwl_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x890f1904 iwl_rxq_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x896832e9 iwl_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x89bcac4d iwl_rx_reply_rx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8b0ba825 iwl_reset_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8b1bf58a iwlcore_eeprom_verify_signature +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8b82e062 iwl_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8bc5f27e iwl_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8d72b961 iwl_tt_exit +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8fb1c204 iwl_mac_get_tx_stats +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x913d9bfb iwl_get_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x918bc447 iwl_set_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x91a555c5 iwl_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x91cb90d5 iwl_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x940c66d8 iwl_free_tfds_in_queue +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x962e4c56 iwl_txq_ctx_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9997ccb1 iwl_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x99db8db7 iwl_alloc_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9a45011b iwl_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9a60af0b iwl_bg_scan_check +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9cde1f24 iwl_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9e86e8e0 iwl_bg_abort_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9f953ef5 iwl_tt_exit_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa2192ef8 iwl_set_rxon_chain +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa234fcb0 iwl_tt_handler +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa3e13887 iwl_set_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa53667a7 iwl_leds_register +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa6aa817f iwl_setup_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa6d8726b iwl_find_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaad0846e iwl_bg_scan_completed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaea56a4e iwl_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaf704075 iwl_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaff4a3cd iwl_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb3655be7 iwl_setup_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb757e2df iwl_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb7a9cd27 iwl_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb8310177 iwl_hw_detect +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb86cfed0 iwl_rf_kill_ct_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xba1a7f50 iwl_rx_statistics +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbb8b193f iwl_rx_queue_restock +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbd317999 iwl_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbd868d60 iwl_sta_tx_modify_enable_tid +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbdb64bc3 iwl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbe7e5176 iwl_configure_filter +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbea56e60 iwl_set_hw_params +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbec6f405 iwl_alloc_all +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbede0e8d iwl_clear_stations_table +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc0465d8f iwl_hwrate_to_tx_control +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc2421045 iwl_init_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc33817ed iwl_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc80327d2 iwl_activate_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc8221f99 iwl_sensitivity_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc860752c iwl_hw_nic_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xca837ed8 iwl_rx_csa +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcbaf4931 get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcc9e83e0 iwl_rx_replenish_now +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd00c5400 iwl_disable_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd0db5bbe iwl_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd1ea20e6 iwl_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd2fca19a iwl_rx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd45a5788 iwl_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd8a5fce9 iwl_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd9988ddb iwlcore_eeprom_enhanced_txpower +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdaee394e iwl_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdc0518c5 iwl_tx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdc890ab2 iwl_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdf4dc45a iwl_uninit_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe0b2dfc7 iwl_remove_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe5702f2e iwl_send_calib_results +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe6cda3d0 iwl_get_free_ucode_key_index +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe7ce5d70 iwl_rates +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe7f72a6a iwl_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe85fb1bd iwl_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe8cf4c34 iwl_mac_beacon_update +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xed498e28 iwlcore_eeprom_release_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xed9b01a0 iwl_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xee54719e iwl_rx_reply_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xeea24424 iwl_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf262941e iwl_free_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf3694acc iwl_rx_pm_sleep_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf48a0e5b iwl_send_static_wepkey_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf711c753 iwl_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfd409e74 iwl_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x16662ecf orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4196c38b hermes_write_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x57d82c02 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x6a927e18 orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x9522e797 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x97037f8e free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa031d8e4 hermes_doicmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xafa9b359 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc2e22691 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc60b5e9e hermes_bap_pwrite +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xcd3b8484 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd38d8ae2 hermes_read_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd3f714e5 hermes_bap_pread +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5168829 hermes_allocate +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5336e5d hermes_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd54e219d hermes_docmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xed47b224 hermes_struct_init +EXPORT_SYMBOL drivers/parport/parport 0x013ba047 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x049d9b6e parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x1185601a parport_release +EXPORT_SYMBOL drivers/parport/parport 0x20cf43a2 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x25e1b0bd parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x2a982b86 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x2f4ab714 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x3f80a200 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x43a9beb6 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x470f2dc6 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x491aa78f parport_read +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x526675c6 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x704380bb parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x7b4ab2f6 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x7cf6a7f7 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0x8143818e parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x814f5b73 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x9a0ea2c5 parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x9d49d66d parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x9d5eff70 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x9eb26dd5 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0xa8752c7e parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xb96aef9c parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0xbb407415 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0xc1ae9c03 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0xc638f02d parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xd2128ef2 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xd610fe70 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0xe1be924b parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xece44c53 parport_write +EXPORT_SYMBOL drivers/parport/parport 0xfcbf635a parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport_pc 0x77db8ead parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0x8d8a0873 parport_pc_unregister_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x332f88e7 pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4fd033a0 pcmcia_error_func +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x53bc7a54 pcmcia_request_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6d0a08d0 pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x7a6dbd17 pcmcia_access_configuration_register +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x81b5f6c0 pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x8438ec5b pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x8a12fa77 pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x99ad80d8 pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xa14738d5 pcmcia_modify_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xab1992dd pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc02b49bc pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xd33c8a8c pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xe04b55a7 pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xe84ee523 pcmcia_get_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf0a25e12 pcmcia_error_ret +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf3643d5b pcmcia_get_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0d40b319 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x18573d15 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x1d5f435e pcmcia_read_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2e75fd15 destroy_cis_cache +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x348d42ea pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x3de1d02b pcmcia_find_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x4d45f897 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x51d1a710 pcmcia_adjust_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x53ad88f7 pcmcia_suspend_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x54bca651 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5532dea6 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5e2caf5a pccard_static_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5f42a69d pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5f5fb093 pcmcia_replace_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x63334a60 pcmcia_socket_dev_suspend +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7325efe3 pcmcia_insert_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x86b38870 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x876a3707 pccard_validate_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x89a861c9 pccard_get_tuple_data +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8dbd7dbe pcmcia_resume_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9726bf77 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa7eb945c pcmcia_find_mem_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb44e562a pccard_read_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb87a8934 pcmcia_write_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc02ef2c8 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc320b9fd pcmcia_socket_dev_early_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc40aacae pccard_get_first_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xd111c78a release_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xd6eabc90 pcmcia_socket_dev_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xe761dc68 pccard_get_next_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xea050429 pcmcia_validate_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xedd2b81b pcmcia_socket_dev_late_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf03f9c62 pcmcia_eject_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf3d6b138 pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/rsrc_nonstatic 0x7b6365c9 pccard_nonstatic_ops +EXPORT_SYMBOL drivers/platform/x86/sony-laptop 0x5bb1e117 sony_pic_camera_command +EXPORT_SYMBOL drivers/pps/pps_core 0x0ca11615 pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0x1e145952 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0xe6a16116 pps_event +EXPORT_SYMBOL drivers/scsi/53c700 0x67ddb3f7 NCR_700_detect +EXPORT_SYMBOL drivers/scsi/53c700 0x6dafca77 NCR_700_release +EXPORT_SYMBOL drivers/scsi/53c700 0xf13d9adc NCR_700_intr +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x1337813e fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x18280090 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x458638ad fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x971f3ea7 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x9cddce67 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xb5963420 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xbc9478fb fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x076a0909 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x08ab59ad fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0ba6d2cd fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0bda63ae fc_seq_els_rsp_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0e4260d6 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0f084a31 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x23e528bb fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x28f43487 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2e6e3a63 fc_fcp_complete +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2f412913 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x379e8203 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x460636b0 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x51813c3f fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x56183917 fc_destroy_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x598d5b69 fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x67750428 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6fb97eb6 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x71bf9d49 fc_get_host_port_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x75bc3f71 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x78576d8b fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7c4b10af fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7d6df9c6 fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x81a3500a fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x82bedfac fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8e827abd fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8e830b11 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x97f931f1 fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x99424d85 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xab3ce894 fc_exch_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xad74a92e fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xadc5efda fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb3b1f85b fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb4f3588a __fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb5cca9f1 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc9a2c5dd fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xccd4e3a2 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xce447c9b fc_fcp_ddp_setup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd6cb3359 fc_setup_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdbf51097 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdd556009 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xde410a88 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe79cc6ac fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf062e9a1 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf30b2bff fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf7365d60 fc_seq_exch_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfc3949a0 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfd503abf fc_linkdown +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 0x588f4269 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x060785b5 osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x10c5f27e osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x12ec970a osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3d88035b osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4482f421 osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x44d1cd2a osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x45458a90 osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4f06176a osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x53422b6a osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x53a18d3e osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x55119919 osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x5f0c1546 osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x60369b4e osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8178fd48 osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x822089af osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa43882e8 osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb183fe23 osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb70d63f5 osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc29ecdc4 osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd2e723b8 osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd47d5667 osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xdacb267d osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe0af2e03 osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe56650c9 osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe5a463cf osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe75c8fe7 osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xeb908a4d osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xeba051e8 osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xeeb51251 osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf42c7faa osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xfb58a9db osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xfbcd1686 osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/osd 0x58b8a9ed osduld_register_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0xa0b8b94c osduld_put_device +EXPORT_SYMBOL drivers/scsi/osd/osd 0xefe6e222 osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x5bb5debf qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x7004e170 qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x90de5a7f qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xb383168b qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xcd815796 qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xcfc3995e qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xdc310b12 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/raid_class 0x16e132c5 raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0x57bca8d5 raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0x9d161df0 raid_class_release +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x252356a3 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2aae97a0 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2fd3b56f scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x377e96fb scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x477078d5 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x58661303 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x65e6cd4a fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8359243c fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x89bfee2b fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x9bc47630 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xb46a42eb fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc14e4b8e fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x10277da8 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1bfbc9ac scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1debd7bb sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x30ebab4b sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x41d42dc8 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x508bd212 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x51c88166 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x53b2357d sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x611ce9f1 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6912fe78 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8006a0a4 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8672af53 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x99975fd6 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9c680484 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xaa91b16b sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xab93fe75 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xad6a8ef7 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbdbba723 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xcb956bb4 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xce8e54bc sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd0e23acb sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe2495572 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe6943aca sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe96ecc74 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfa9905f5 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfc9b419b sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x1a230e6a spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x1d31c189 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x24f0cc95 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x7af37c28 spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xdd9647d9 spi_attach_transport +EXPORT_SYMBOL drivers/ssb/ssb 0x071a8cdb ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x139d2bb6 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x165b837b ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x17c555d4 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0x48a0938f ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x4bc74c26 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x55d4af9a ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x63068ae0 ssb_dma_free_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0x6b845794 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x85a7cd45 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x916c7a03 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x9861c5d3 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x9cff5fa8 ssb_dma_set_mask +EXPORT_SYMBOL drivers/ssb/ssb 0xba31f6a8 ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xbe83727b ssb_dma_alloc_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xcb825d09 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xcc03bb1a ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0xcfb5a7eb ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xddcfc58b ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0xe9cb1116 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xedcdeac7 ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xf2657df9 ssb_clockspeed +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x053f62bd comedi_event +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x081a8a43 comedi_buf_memcpy_to +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2030e414 comedi_driver_register +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2b6eec58 comedi_buf_read_n_available +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x423f9cec comedi_buf_read_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x69e21453 comedi_buf_write_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x6c393637 comedi_driver_unregister +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x6c910eb0 comedi_error +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x70752add comedi_buf_memcpy_from +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x7094600b comedi_buf_read_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xa6e071f4 comedi_buf_write_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xa7f05da4 comedi_set_subdevice_runflags +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xbafed5dc check_chanlist +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xbb8e0bba comedi_reset_async_buf +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xc10dca85 comedi_get_subdevice_runflags +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xd7628c27 comedi_buf_put +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xfbb32723 comedi_buf_get +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x116fc8a3 subdev_8255_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x4c2f92a5 subdev_8255_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x5632db47 subdev_8255_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xe32f6edc subdev_8255_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x3fd66426 cfc_read_array_from_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x582d763a cfc_handle_events +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0xac240a66 cfc_write_array_to_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x2580dfe9 mite_request_channel_in_range +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x2631cafc mite_bytes_read_from_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x478a77ef mite_sync_output_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x4cc61b7c mite_sync_input_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x51e9acd2 mite_buf_change +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x57a5661e mite_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x62af672d mite_setup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x6428b7d1 mite_bytes_read_from_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x64e5ce92 mite_dma_tcr +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x73ba0f77 mite_done +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x7ec604f6 mite_setup2 +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x82eaed72 mite_bytes_written_to_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x84d32cf9 mite_bytes_in_transit +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x8d90433e mite_release_channel +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x9f978286 mite_get_status +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xb4311496 mite_dma_disarm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xc0f3905f mite_bytes_written_to_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xd8cece76 mite_dma_arm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xe640fa03 mite_unsetup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xef2c282f mite_prep_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xfb3ba025 mite_list_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x0fbf292c subdev_700_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0xa97c9b85 subdev_700_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0xea99a452 subdev_700_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0xed4a15b3 subdev_700_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/pcm_common 0x4ddd93fc comedi_pcm_cmdtest +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x042d55f4 comedi_loglevel +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x0488ce0e comedi_get_n_ranges +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x0cad1c36 comedi_get_subdevice_type +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x13e3042c comedi_command +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x194eb4ae comedi_get_n_channels +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x1c5555d9 comedi_cancel +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x1ec0e2d3 comedi_get_buf_head_pos +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x22318694 comedi_set_user_int_count +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x262e9c18 comedi_dio_write +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x370d69d5 comedi_dio_read +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x3cb614fc comedi_data_write +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x3db41e4f comedi_poll +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x3de6a4a3 comedi_get_buffer_offset +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x409d3263 comedi_do_insn +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x51da786d comedi_register_callback +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x52769094 comedi_find_subdevice_by_type +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x628ed463 comedi_get_n_subdevices +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x671c2623 comedi_get_buffer_size +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x696272c9 comedi_unlock +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x826bd656 comedi_data_read_delayed +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x8e199bbf comedi_perror +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x8fb4413e comedi_data_read_hint +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x9b266320 comedi_get_krange +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x9dde39b5 comedi_strerror +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xa0334b40 comedi_get_driver_name +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xa094eab0 comedi_get_board_name +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xa7c55c52 comedi_open +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xaa456501 comedi_mark_buffer_read +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xb45b8b7b comedi_mark_buffer_written +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xb5396dad comedi_get_maxdata +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xb5c3ac2a comedi_map +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xc4ec62b3 comedi_get_len_chanlist +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xc7d949df comedi_lock +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xd2a9a259 comedi_get_version_code +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xd46a9468 comedi_dio_config +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xd48facbb comedi_command_test +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xddd89421 comedi_close +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xe2208940 comedi_data_read +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xe38c6fb4 comedi_unmap +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xed5731a4 comedi_get_subdevice_flags +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xefd0c778 comedi_fileno +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xf17e03df comedi_dio_bitfield +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xf71581db comedi_get_buffer_contents +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x0176ed77 cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x471e1cfb cx25821_devlist +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x67cc5b8b cx25821_sram_channels +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x71917d0a cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x784853c3 cx25821_print_irqbits +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x787070d8 cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xacc083d6 cx25821_sram_channel_dump +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xb0e817d0 cx25821_sram_channel_setup +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xb3d2cf27 cx25821_dev_unregister +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xd71bb865 cx25821_dev_get +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xfde8a061 cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0x1cb36e36 vmbus_child_driver_register +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0x1f07d908 vmbus_child_driver_unregister +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0x253f3d14 vmbus_get_interface +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0xdf1a5ef6 vmbus_loglevel +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x0d8ddfcd iio_remove_event_from_list +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x20f1ab51 iio_read_const_attr +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x60f7253a iio_free_idr_val +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x739ae300 iio_devt +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x7919e04f iio_unregister_interrupt_line +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x842338f0 iio_class +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xb5366e91 iio_allocate_device +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xb6edaf14 iio_get_new_idr_val +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xb829312b __iio_push_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xbc0a712c iio_add_event_to_list +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xc130f4cc iio_register_interrupt_line +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xc5e9a53a iio_device_unregister +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xcb842df9 __iio_change_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xcd3555f1 iio_device_register +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xe7bdc847 iio_push_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xed9871e1 iio_free_device +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x9329a079 variax_remove_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0xa0f179d0 pod_remove_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0xb9839b6f variax_create_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0xfe69cf4d pod_create_files +EXPORT_SYMBOL drivers/staging/rar/rar_driver 0xf8017f03 get_rar_address +EXPORT_SYMBOL drivers/staging/vme/vme 0x00d7e722 vme_lm_count +EXPORT_SYMBOL drivers/staging/vme/vme 0x072f901c vme_master_rmw +EXPORT_SYMBOL drivers/staging/vme/vme 0x0e10859d vme_lm_get +EXPORT_SYMBOL drivers/staging/vme/vme 0x0ec5babe vme_dma_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x106aa612 vme_lm_request +EXPORT_SYMBOL drivers/staging/vme/vme 0x1a8cacff vme_dma_list_add +EXPORT_SYMBOL drivers/staging/vme/vme 0x251b9ed8 vme_slave_set +EXPORT_SYMBOL drivers/staging/vme/vme 0x2b596133 vme_slave_request +EXPORT_SYMBOL drivers/staging/vme/vme 0x3d1af350 vme_dma_pci_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0x3f68d4cf vme_lm_set +EXPORT_SYMBOL drivers/staging/vme/vme 0x41e14beb vme_dma_list_exec +EXPORT_SYMBOL drivers/staging/vme/vme 0x48b99a13 vme_lm_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x5118beb5 vme_new_dma_list +EXPORT_SYMBOL drivers/staging/vme/vme 0x60700c03 vme_dma_list_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x66227eae vme_alloc_consistent +EXPORT_SYMBOL drivers/staging/vme/vme 0x76bab4d4 vme_master_set +EXPORT_SYMBOL drivers/staging/vme/vme 0x7797a741 vme_dma_vme_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0x7cf35220 vme_master_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x7fde2edb vme_master_read +EXPORT_SYMBOL drivers/staging/vme/vme 0x8add1537 vme_free_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL drivers/staging/vme/vme 0x93dff61f vme_slave_get +EXPORT_SYMBOL drivers/staging/vme/vme 0x94b2590f vme_free_consistent +EXPORT_SYMBOL drivers/staging/vme/vme 0x9aeb07e8 vme_lm_attach +EXPORT_SYMBOL drivers/staging/vme/vme 0x9b26b538 vme_unregister_driver +EXPORT_SYMBOL drivers/staging/vme/vme 0xa980feff vme_generate_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0xac3507d0 vme_master_request +EXPORT_SYMBOL drivers/staging/vme/vme 0xc8352002 vme_dma_pattern_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0xc8a7a1c3 vme_bus_type +EXPORT_SYMBOL drivers/staging/vme/vme 0xcebe6ed0 vme_request_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0xd4f28ba3 vme_slot_get +EXPORT_SYMBOL drivers/staging/vme/vme 0xd797b9a5 vme_master_write +EXPORT_SYMBOL drivers/staging/vme/vme 0xd8ebd216 vme_register_driver +EXPORT_SYMBOL drivers/staging/vme/vme 0xddd2a03e vme_register_bridge +EXPORT_SYMBOL drivers/staging/vme/vme 0xdff905e5 vme_slave_free +EXPORT_SYMBOL drivers/staging/vme/vme 0xe60cbb2f vme_master_get +EXPORT_SYMBOL drivers/staging/vme/vme 0xe693a6ce vme_get_size +EXPORT_SYMBOL drivers/staging/vme/vme 0xe8044f37 vme_unregister_bridge +EXPORT_SYMBOL drivers/staging/vme/vme 0xeccbeafc vme_dma_free_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0xf5d704ce vme_request_dma +EXPORT_SYMBOL drivers/telephony/ixj 0xb44be5d9 ixj_pcmcia_probe +EXPORT_SYMBOL drivers/telephony/phonedev 0x72f5071d phone_unregister_device +EXPORT_SYMBOL drivers/telephony/phonedev 0xfdaa4306 phone_register_device +EXPORT_SYMBOL drivers/usb/gadget/dummy_hcd 0x214cf8bb net2280_set_fifo_mode +EXPORT_SYMBOL drivers/usb/gadget/dummy_hcd 0x91c8a5e5 usb_gadget_unregister_driver +EXPORT_SYMBOL drivers/usb/gadget/dummy_hcd 0xbad7c7a9 usb_gadget_register_driver +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x39aee6de 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/usbserial 0x09bd136b usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x8537d249 usb_serial_suspend +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0xc86baa7c corgibl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x1608c484 lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0x7608eb92 lcd_device_register +EXPORT_SYMBOL drivers/video/console/bitblit 0xd75f7cd9 fbcon_set_bitops +EXPORT_SYMBOL drivers/video/console/font 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL drivers/video/console/font 0xbb99125c get_default_font +EXPORT_SYMBOL drivers/video/console/font 0xf7584a9c find_font +EXPORT_SYMBOL drivers/video/console/softcursor 0x804de9db soft_cursor +EXPORT_SYMBOL drivers/video/console/tileblit 0x2c85b85b fbcon_set_tileops +EXPORT_SYMBOL drivers/video/cyber2000fb 0x07c4327e cyber2000fb_attach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x444495e5 cyber2000fb_get_fb_var +EXPORT_SYMBOL drivers/video/cyber2000fb 0x46c1081f cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0x9276bfef cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/display/display 0x2e01e3c5 display_device_register +EXPORT_SYMBOL drivers/video/display/display 0xfe40e88e display_device_unregister +EXPORT_SYMBOL drivers/video/macmodes 0x08ed0b62 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/macmodes 0x1e788aa3 mac_find_mode +EXPORT_SYMBOL drivers/video/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x2e0de37e g450_mnp2f +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x43b893c0 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x466798ee matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x0c22676c matrox_G100 +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x481b5ea2 matrox_mystique +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x63966c41 DAC1064_global_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x98188951 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_Ti3026 0x433ec4c2 matrox_millennium +EXPORT_SYMBOL drivers/video/matrox/matroxfb_accel 0xde6d1a46 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x77dfa97d matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xae74d052 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xb13c6a31 matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xc5161df2 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x8167bec7 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0xa7f9d054 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x0bd0b0ba matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x563fe2ad matroxfb_read_pins +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x8a674e70 matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xabd8e427 matroxfb_var2my +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xecdb2bd1 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xffa07931 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/output 0x3f513bd4 video_output_register +EXPORT_SYMBOL drivers/video/output 0x4d3898c4 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 0x00d1fce9 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/svgalib 0x07b3da30 svga_wseq_multi +EXPORT_SYMBOL drivers/video/svgalib 0x1b95c56a svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x4cabdcee svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0x63e898d1 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/svgalib 0x68fc35b5 svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0x6a7358f1 svga_tileblit +EXPORT_SYMBOL drivers/video/svgalib 0x6e4fdced svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0x74049463 svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0x7a3ae959 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x80408443 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0x8fa8438b svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/svgalib 0xab3b22ad svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/svgalib 0xdad682b1 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/svgalib 0xe2d40d84 svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0xe64c4abf svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0xec83c473 svga_match_format +EXPORT_SYMBOL drivers/video/svgalib 0xef774f5d svga_compute_pll +EXPORT_SYMBOL drivers/video/syscopyarea 0x5d58c8ad sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0x6cc85443 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0xce896936 sys_imageblit +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x71ed0080 w1_bq27000_write +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x988a849a w1_bq27000_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x041b1f1d w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x4b42af54 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x672561b1 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xb8befa67 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/wire 0x096845a0 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0xc4525477 w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xf3b87210 w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0xf6dd6641 w1_add_master_device +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x04e133fc iTCO_vendor_check_noreboot_on +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x672c9d44 iTCO_vendor_pre_keepalive +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xa78bd894 iTCO_vendor_pre_set_heartbeat +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xa8d6daac iTCO_vendor_pre_start +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xd0efe320 iTCO_vendor_pre_stop +EXPORT_SYMBOL fs/configfs/configfs 0x07058d0a config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x122b8c11 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x18e75381 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x1ace8327 config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0x2c3d29ac configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0x426ba3fb config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x445b2b2f config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0x825887c3 config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0x948d67dd configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0xb678785f configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xde330c9f config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0xf3be71a3 config_group_init +EXPORT_SYMBOL fs/fscache/fscache 0x06af4f84 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x07bcc60d fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x08657b14 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x182e45fa __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x1cc51ab7 fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x1fec81b7 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x21162d24 fscache_object_slow_work_ops +EXPORT_SYMBOL fs/fscache/fscache 0x317f892e __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x3c299d66 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x3efded61 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x404b06ec __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x496932b9 fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x5febed82 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x63f96884 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x855703b2 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x9b082500 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x9ec48984 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0xac55f89f fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0xbb71f8ee __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xbd8b7bec __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xc0513718 __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xde1797b1 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0xe3015bf6 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0xe98a4d89 __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xeadc1d3a __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xf6a9206f fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0xf6c0ecf7 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0xffdc3533 fscache_withdraw_cache +EXPORT_SYMBOL fs/nfsd/nfsd 0x0e195c1c nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/nfsd/nfsd 0x2095976a nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0x28fb929b nfs4_acl_posix_to_nfsv4 +EXPORT_SYMBOL fs/nfsd/nfsd 0x35e33c1e nfs4_acl_write_who +EXPORT_SYMBOL fs/nfsd/nfsd 0x5a157ae4 nfs4_acl_get_whotype +EXPORT_SYMBOL fs/quota/quota_tree 0x2a40674f qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x6b882ebd qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x82e5108e qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xacf563d5 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xc961e402 qtree_release_dquot +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/libcrc32c 0x27000b29 crc32c +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 0xf0caf44b zlib_deflate_workspacesize +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL net/802/p8023 0x6f096775 make_8023_client +EXPORT_SYMBOL net/802/p8023 0xaca78825 destroy_8023_client +EXPORT_SYMBOL net/9p/9pnet 0x009be916 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x06031364 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x0861a00c p9_client_version +EXPORT_SYMBOL net/9p/9pnet 0x196a152d v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x3455711e p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x3de7158b p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x4961be0c p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x52e8125a p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x632e788f p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x66d5ccde p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x6b754e6f p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x75f6f6ee p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x768acc28 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x76b79bf1 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x83e2b191 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x8660431a p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x963d3dac v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xa713d304 p9_client_auth +EXPORT_SYMBOL net/9p/9pnet 0xaab8671a p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0xafde3fdc p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0xb7b59864 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0xb8e39195 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0xcae61af3 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xce151065 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0xd0faf92e p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0xd331fc1d p9pdu_dump +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe78cfc2b v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xef7127b0 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0xfb88b8c7 p9_client_fcreate +EXPORT_SYMBOL net/appletalk/appletalk 0x7db09ad9 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0x821ef234 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0x879cd538 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0xec23f304 alloc_ltalkdev +EXPORT_SYMBOL net/atm/atm 0x03e730f6 atm_charge +EXPORT_SYMBOL net/atm/atm 0x1587448d atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x1a24e5e2 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x51bf83d0 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x59f12644 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x5fcb4976 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x64752c93 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x6d1ced27 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x89195dc3 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0x97ede1da atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0xad46b986 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0xbd5ce025 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0xd43e9efd deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xe33a8ad1 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/ax25/ax25 0x0f997460 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x159af351 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x3d2d82ec ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x564d9f14 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x68d2bf1a ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x84092cb6 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x8dbd6a74 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0x9dccf31d ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0xa0ab493d ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0xba545f10 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd361e0f3 ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0a6fd393 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1213cf57 hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x172c088f hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1db467d4 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1e61846a hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x31ffad2d bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x34c43810 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3da4eb7c hci_unregister_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0x42a260ab hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x44960b16 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4d29120c hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x663186f4 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6800be8e hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6c59577d hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6d08dd0e hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7094f8ae bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7237ddab bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x819f8aa1 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x890e7b0e hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0x89517054 hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x899fcd5a hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9e1cc5aa hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa056e55b bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa673d1d3 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xaae4feaf hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0xac255dc0 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb640cf18 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd4872dd5 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd5b567b5 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd914b6b0 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe7950503 hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0xed1f3a4e hci_register_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/l2cap 0xfc31fe88 l2cap_load +EXPORT_SYMBOL net/bridge/bridge 0x4c8361c7 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x38940686 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xa2e87a43 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xb18855b2 ebt_do_table +EXPORT_SYMBOL net/can/can 0x5248f8ec can_rx_unregister +EXPORT_SYMBOL net/can/can 0x750825b6 can_proto_unregister +EXPORT_SYMBOL net/can/can 0x8d65e290 can_send +EXPORT_SYMBOL net/can/can 0xc47549be can_proto_register +EXPORT_SYMBOL net/can/can 0xffc8df01 can_rx_register +EXPORT_SYMBOL net/ieee802154/nl802154 0x09293ee8 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x25e2df04 ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0x4abbc004 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0x823bb152 ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x92d63bc5 ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0xb1d2371d ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0xb201983e ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/wpan-class 0x21427a32 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/wpan-class 0x4416f6cb wpan_phy_free +EXPORT_SYMBOL net/ieee802154/wpan-class 0x9d540708 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/wpan-class 0xc46790e6 wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/wpan-class 0xf21c3ecf wpan_phy_unregister +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xb6e2a2a3 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xc396b5da arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xe33f3144 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x3908053e ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x89f1a377 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xcb7cdf1a ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x2c85e0b0 nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x34a1a0c5 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x39aed0ee nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x3d951401 nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x71f080ce nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xadad5c08 nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xfdefe937 nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/tunnel4 0x706789c9 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xf616f363 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x20b354d7 ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x4969e011 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x7ad19ae0 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb8bddf33 ip6t_ext_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xf27a1772 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x4807c324 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0xfb98d9ed xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x9cd013f2 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xab14e193 xfrm6_tunnel_free_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xdb1b42d1 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x441d1f07 ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x84dae1b9 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x893a66e6 ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x99053f76 ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x9ec0b8d4 ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xaaca2cd6 ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xc382cbea ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xf406911f ircomm_flow_request +EXPORT_SYMBOL net/irda/irda 0x01d1fcdb hashbin_delete +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x072e026f irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x0930a44c async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0x16a2baaf alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0x18a578b4 iriap_open +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x2d405f25 irttp_dup +EXPORT_SYMBOL net/irda/irda 0x3462950f hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x3b85c310 iriap_getvaluebyclass_request +EXPORT_SYMBOL net/irda/irda 0x3fa6679b irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x41868a0f irttp_udata_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 0x490c343e irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0x51dc641a irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0x5ec60ec2 async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x5f810d49 irda_notify_init +EXPORT_SYMBOL net/irda/irda 0x61107fe8 proc_irda +EXPORT_SYMBOL net/irda/irda 0x6758f8ac irias_new_object +EXPORT_SYMBOL net/irda/irda 0x68b7447c hashbin_find +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 0x7450c38c irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x747d6779 irias_delete_object +EXPORT_SYMBOL net/irda/irda 0x7621e908 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0x76243bc9 irias_insert_object +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +EXPORT_SYMBOL net/irda/irda 0x76cce558 irlap_close +EXPORT_SYMBOL net/irda/irda 0x781e2db5 irias_find_object +EXPORT_SYMBOL net/irda/irda 0x7957f728 irlmp_update_client +EXPORT_SYMBOL net/irda/irda 0x7a57b6f3 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x7baec95f irda_device_set_media_busy +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0x9b68d378 irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0x9f12001b irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0xaaf8e500 irlmp_data_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 0xc14e9b6a hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0xc31afbb2 irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0xcd41236c hashbin_new +EXPORT_SYMBOL net/irda/irda 0xd2e604f3 irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0xd3c8e047 iriap_close +EXPORT_SYMBOL net/irda/irda 0xd7172ff4 hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0xd8bfb6d4 hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0xdb43fad8 irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xe218a01f irlap_open +EXPORT_SYMBOL net/irda/irda 0xe5260e0e irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0xe74825ee irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0xe81dd190 irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0xec41fe7f irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xf39b7fe0 irda_setup_dma +EXPORT_SYMBOL net/irda/irda 0xfaaeb13f irttp_open_tsap +EXPORT_SYMBOL net/lapb/lapb 0x10c96d5f lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x381b2291 lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x4a020369 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x7db9c49c lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0xab707c4e lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0xdd55f5c6 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0xe5b29cbe lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0xf46d31be lapb_setparms +EXPORT_SYMBOL net/mac80211/mac80211 0x0a90ca26 ieee80211_get_tkip_key +EXPORT_SYMBOL net/mac80211/mac80211 0x0c6cb83a ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x10344778 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x19934ab7 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x1affcd09 ieee80211_start_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0x1e947e74 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x205f4280 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x2a7e6387 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x3a0fede9 ieee80211_beacon_get +EXPORT_SYMBOL net/mac80211/mac80211 0x3b447fc1 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x47211e31 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x4bade50c __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x4e909681 ieee80211_stop_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0x4f338ae4 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x530a9f3f ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x5c01d82a __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x5f13b07c rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0x682c4df6 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x6c635ecd ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x8384b34f ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x83c2b8ad ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xa2bc4c8d ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xa7406ad5 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xab760656 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xb4b6465a ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0xbbe3cb39 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xbc0af432 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xbe599635 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xc3c6f3cb __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xc40962e0 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0xc8d2dae4 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xcdaf0b98 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0xcf52b3f5 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xd3fb9318 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xd4aeed78 ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xdb38b728 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xe83f6518 ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0xe8abe42d ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xf40ec569 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xf744204c __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xfe0e3d99 ieee80211_stop_queues +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x079e6844 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4ab24f59 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x696404c6 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x782f448b ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x86cde617 ip_vs_skb_replace +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa1dbc2d8 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb37cd1fa ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb9ed16cd unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xdd8d06b9 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe7ee33b2 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe9bd9195 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xeeb528c0 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x9c30af8d __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xdf236d37 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0xa06b816d nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x16a5e826 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x25ddeec0 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x2f48a597 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x3ee920ee xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x417db949 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xa2d86877 xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0xaabd8dcf xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0xb4ff1d54 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xba4ef84f xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xbfbb46a8 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xc3ff5dff xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xf0daeada xt_register_match +EXPORT_SYMBOL net/phonet/phonet 0x27d8d376 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x5fa119c6 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x775daefa phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x7d0b2343 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0xb4708565 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0xd02774ce pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0xd8c3fbbb phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0xf3d0f95b pn_skb_send +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x0deec186 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x1aa923e4 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x50437507 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x53e06632 rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x6e7ad6c4 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x9130ebb9 rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xb3f3f4a7 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xc2017d2b rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xccfaa4b3 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xd06d0fdc rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xd35d9387 rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe033d477 rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xebffad3e rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xef846c68 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xff7e80b7 rxrpc_kernel_free_skb +EXPORT_SYMBOL net/sunrpc/sunrpc 0xbb9f36d9 svc_pool_stats_open +EXPORT_SYMBOL net/tipc/tipc 0x08acf310 tipc_available_nodes +EXPORT_SYMBOL net/tipc/tipc 0x10d40fcd tipc_isconnected +EXPORT_SYMBOL net/tipc/tipc 0x13ee6a3c tipc_send_buf_fast +EXPORT_SYMBOL net/tipc/tipc 0x1472b270 tipc_disconnect +EXPORT_SYMBOL net/tipc/tipc 0x1479cb03 tipc_deleteport +EXPORT_SYMBOL net/tipc/tipc 0x15b5ecde tipc_set_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x165c291f tipc_createport_raw +EXPORT_SYMBOL net/tipc/tipc 0x16f27683 tipc_block_bearer +EXPORT_SYMBOL net/tipc/tipc 0x259b74f9 tipc_acknowledge +EXPORT_SYMBOL net/tipc/tipc 0x27d8bb58 tipc_send2port +EXPORT_SYMBOL net/tipc/tipc 0x2ae856d5 tipc_forward_buf2port +EXPORT_SYMBOL net/tipc/tipc 0x310d1bc9 tipc_detach +EXPORT_SYMBOL net/tipc/tipc 0x3712e340 tipc_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x3976041f tipc_set_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x4a007d31 tipc_send_buf2name +EXPORT_SYMBOL net/tipc/tipc 0x4b2243c6 tipc_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x4ba3cfc8 tipc_send2name +EXPORT_SYMBOL net/tipc/tipc 0x538b228a tipc_withdraw +EXPORT_SYMBOL net/tipc/tipc 0x5637ed44 tipc_get_mode +EXPORT_SYMBOL net/tipc/tipc 0x56e52bc1 tipc_continue +EXPORT_SYMBOL net/tipc/tipc 0x5c0d4b5c tipc_ref_valid +EXPORT_SYMBOL net/tipc/tipc 0x6039351c tipc_send_buf2port +EXPORT_SYMBOL net/tipc/tipc 0x62a681a3 tipc_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0x64357d3c tipc_multicast +EXPORT_SYMBOL net/tipc/tipc 0x8001e3d7 tipc_forward2port +EXPORT_SYMBOL net/tipc/tipc 0x88b73627 tipc_get_addr +EXPORT_SYMBOL net/tipc/tipc 0x99ad985b tipc_send_buf +EXPORT_SYMBOL net/tipc/tipc 0x9c45558e tipc_enable_bearer +EXPORT_SYMBOL net/tipc/tipc 0xa936a24b tipc_get_port +EXPORT_SYMBOL net/tipc/tipc 0xa9f35570 tipc_register_media +EXPORT_SYMBOL net/tipc/tipc 0xadd203d0 tipc_connect2port +EXPORT_SYMBOL net/tipc/tipc 0xae0103c3 tipc_shutdown +EXPORT_SYMBOL net/tipc/tipc 0xb01ffc2c tipc_forward2name +EXPORT_SYMBOL net/tipc/tipc 0xb35b672c tipc_publish +EXPORT_SYMBOL net/tipc/tipc 0xbb2b2504 tipc_send +EXPORT_SYMBOL net/tipc/tipc 0xcec8514a tipc_set_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0xd430ef33 tipc_reject_msg +EXPORT_SYMBOL net/tipc/tipc 0xd44731e5 tipc_ownidentity +EXPORT_SYMBOL net/tipc/tipc 0xda7f9d3f tipc_attach +EXPORT_SYMBOL net/tipc/tipc 0xdf5008fc tipc_peer +EXPORT_SYMBOL net/tipc/tipc 0xe7aece47 tipc_ispublished +EXPORT_SYMBOL net/tipc/tipc 0xe82768e4 tipc_recv_msg +EXPORT_SYMBOL net/tipc/tipc 0xeed11d6e tipc_forward_buf2name +EXPORT_SYMBOL net/tipc/tipc 0xeefd49b3 tipc_get_handle +EXPORT_SYMBOL net/tipc/tipc 0xef50a1ef tipc_disable_bearer +EXPORT_SYMBOL net/tipc/tipc 0xfdd37803 tipc_createport +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0f10a92f register_wan_device +EXPORT_SYMBOL net/wimax/wimax 0xcdc039e5 wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0xda10a8c0 wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x03ff29b9 cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0x0706ec4b cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0x07e7ac5a ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x08ede0c1 __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1884f88e wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x18b1d8e6 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x1facafd1 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x37ac8d05 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x39f99869 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x459f211b wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x4d463bc1 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x582e57a1 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x5f3baf8e cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x60c6b692 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x6137c8d6 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x620b1232 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x7957101c wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0x7a7e3255 cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0x84b65248 cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x86710358 cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x8c35d732 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x8e52e8da wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x90eb5e02 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x98f0983a cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x9bc3c5fd cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0x9e628f33 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xa27ebac3 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xa336c545 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xa90cfce9 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xb2ba7065 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xb3f428fc wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0xbbbdb1a2 cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0xc1b9d1a2 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xc4e85ec5 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xc931a03d ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0xccc291b3 ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0xcea8896c regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xd2ac6607 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0xd450a7a3 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0xd8ec3215 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0xe2de3f95 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0xe57c8aae cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0xf252d807 cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/lib80211 0x0297697a lib80211_crypt_quiescing +EXPORT_SYMBOL net/wireless/lib80211 0x1b52ae1c lib80211_crypt_deinit_entries +EXPORT_SYMBOL net/wireless/lib80211 0x230f3ffb lib80211_crypt_deinit_handler +EXPORT_SYMBOL net/wireless/lib80211 0x29032852 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0xb41b6f19 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0xbb86eb8e lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xbc6ad4ff lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xecbaa1e6 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0xf1c559a6 lib80211_register_crypto_ops +EXPORT_SYMBOL sound/ac97_bus 0x0ed108f5 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x64bb063f 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 0x2bc7899d snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6ae40ba8 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 0x732cce89 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 0x89947013 snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0xac075e94 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xcac0a3be snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x28682b03 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 0x7ebd965f 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 0x17c15809 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x4ad3f518 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x62384d3a snd_midi_event_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x8a348811 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x9df7af8b snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xc482499d snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xd9072e1a snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe6df29c7 snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0xa91b528e snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x00ba2e0d snd_device_register +EXPORT_SYMBOL sound/core/snd 0x051768f0 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x12197457 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x149d3e7f snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x18e1683f snd_dma_program +EXPORT_SYMBOL sound/core/snd 0x191e88cf snd_dma_pointer +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x259b6989 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x2d483451 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x35fbb5d4 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0x38a12a12 snd_card_register +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3b9e3252 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x41fe02f1 snd_device_new +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x508344d6 snd_cards +EXPORT_SYMBOL sound/core/snd 0x534246f8 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x54231157 snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x54e8e2e3 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x56a7dcd7 snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0x5c5f174f snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x5ff4b616 snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x61319ca3 snd_card_create +EXPORT_SYMBOL sound/core/snd 0x68132953 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x69d0cd16 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x6ec8fb45 snd_component_add +EXPORT_SYMBOL sound/core/snd 0x70705db9 snd_card_free +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x72e7c707 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x7940451d snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x7f630b49 snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0x8520dcf8 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x88d0fb69 snd_register_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 0x96b33cdb snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x9791f67f snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x9abdc1af snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xadc3eac0 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0xae62628e snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0xaf8b20a1 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb445caf8 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0xb5099d0c _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0xb8f5943b snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0xbbcf6142 snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0xc45dedc8 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0xce3ca308 copy_from_user_toio +EXPORT_SYMBOL sound/core/snd 0xd1157735 release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0xda3ea972 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0xe20c9214 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0xec6a2dc7 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0xed692320 snd_device_free +EXPORT_SYMBOL sound/core/snd 0xef5ba109 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0xf3657d74 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0xf8a5a0d6 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0xf9a716e4 snd_card_set_id +EXPORT_SYMBOL sound/core/snd-hwdep 0xe218cc91 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x30f5f1e7 snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x3b91f3af snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x489cddf3 snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x6ff6de86 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x8aeef6fe snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0x8c621967 snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xade88e76 snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x0010a5ba snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x030612a4 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x07818378 snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0x08aa1027 snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0x08fea966 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x0bf0830c snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0x0c261d3e snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x153cb1aa snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x29ac5bf4 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x318d1ee0 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x322bb0fa snd_pcm_hw_constraint_list +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 0x40d4024b snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0x43ad8724 snd_pcm_lib_ioctl +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 0x500784d9 snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x503e8793 snd_pcm_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x57e8f014 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0x5adc999f snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x647178a2 snd_pcm_kernel_ioctl +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 0x68f8accb snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x7d600f0d snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x8072b609 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x82c13d22 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x88cc66cc snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0x8d33a539 snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x9474f71c snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x9dba88e3 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0xa23482ef snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xaf6f3efa snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0xb0242a8b snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xb9913b48 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0xc0bb3acd snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0xc72604c7 snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0xcce8215c snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0xd0b9b8b8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0xd151b019 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xe1637a62 snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xe1ac569a snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0xe1e6f998 snd_pcm_sgbuf_ops_page +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xeb64378c snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xf94430cb snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xfa349184 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x02899148 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0d4346f7 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2a87100e snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2cd59dcb snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5a78ed8e snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5d0a5771 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6e44329f snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x8c3b0d67 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x8cd94e2d snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x9479e274 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x9fc2a338 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbe0d1799 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xdc978ecd snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0xecc6f19b snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf24dceb4 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf4d4206a snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xfa2a5d14 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-timer 0x01ea15e5 snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0x08d35fb5 snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x112b0f55 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x21b08ed8 snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x2c656105 snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x2d5e1aa4 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0x5fdb1b12 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x61427bbf snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0x730ba24f snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0x7a92f304 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x7ae31de9 snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0xa58f011f snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0xc761bda5 snd_timer_global_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x4bbb7f27 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xa330e6cf snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc43a3940 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x1df5b7d3 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x3ff8f7eb snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x533bbe1e snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7023dc75 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x8c7e389b snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x8d0649b0 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xac92160f snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xe1f8858b snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xfe90daf2 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0x24d01cf2 snd_opl4_write +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0x5aa999c5 snd_opl4_write_memory +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0xb3c8972e snd_opl4_read_memory +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0xf2d1faa7 snd_opl4_read +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0xf4ce19c8 snd_opl4_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x3ace1166 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x445ca54a snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x48dd43ef snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x524cbbd0 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x6485b7bc snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x6fd51531 snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x8e7fdea0 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x99b88ede snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xd7a1aadb snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf657322f snd_vx_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x0b879a35 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x100bd4b6 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x5fb0b793 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x7e00f1cb snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x9ec8bc1f snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xdfe748ac snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x016b9ce0 snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x057c15f5 snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x1b0af64d snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x303bf908 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x32919580 snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x3d2adc23 snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x2f61cbcd snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x461256f1 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x961448e1 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xcdb0b420 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xa2c8dbe4 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xcdf6dbbd snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x2d93d8d0 snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0xb4a4ee57 snd_tea575x_init +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x1ee9a202 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x3d9e3c2f snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x62f4b6a5 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xdb50cb0e snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xeb2a2d97 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-i2c 0x5489d9ad snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x615bc2f0 snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0x80f39413 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x91443e4b snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xd6531b2f snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0xdf926f83 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-tea6330t 0x1833c2f5 snd_tea6330t_update_mixer +EXPORT_SYMBOL sound/i2c/snd-tea6330t 0xc7dc2306 snd_tea6330t_detect +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0x3037fc9e snd_es1688_pcm +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0x42876020 snd_es1688_mixer +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0x801218ac snd_es1688_mixer_write +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0x8720f9a4 snd_es1688_create +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x1327e464 snd_gf1_i_look16 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x1563d0d9 snd_gf1_write16 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x15b8f56e snd_gus_dram_read +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x2ba6a00a snd_gf1_mem_xfree +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x2bc8f16e snd_gus_use_dec +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x2c8df5c7 snd_gf1_translate_freq +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x2dc19a3d snd_gf1_ctrl_stop +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x43a6e264 snd_gf1_write8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x46db8d67 snd_gf1_lvol_to_gvol_raw +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x4e9a6706 snd_gf1_stop_voice +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x4ed89544 snd_gf1_mem_alloc +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x56d546fb snd_gus_initialize +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x5aaf2afd snd_gf1_write_addr +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x5dc28225 snd_gf1_i_look8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x64005b3a snd_gf1_free_voice +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x659edac9 snd_gf1_poke +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x6a556ce3 snd_gf1_peek +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x7378652c snd_gf1_new_mixer +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x7727a702 snd_gf1_alloc_voice +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x779229ad snd_gus_dram_write +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x886e66ef snd_gf1_mem_free +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x896ce4c5 snd_gus_interrupt +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x8b243559 snd_gus_use_inc +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x92588409 snd_gf1_look8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xa2b92829 snd_gf1_look16 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xa2bfc045 snd_gf1_pcm_new +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xa3c56a14 snd_gf1_delay +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xc43a5527 snd_gf1_atten_table +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xd35acba7 snd_gf1_mem_lock +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xddfd7b18 snd_gf1_rawmidi_new +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xf75d98e2 snd_gf1_i_write8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xf87f3839 snd_gus_create +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xfdd9a87a snd_gf1_dram_addr +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x0e096be3 snd_msnd_init_queue +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x32a99532 snd_msnd_upload_host +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x44e2ed8e snd_msnd_send_dsp_cmd +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x4a4c83df snd_msnd_dsp_halt +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x504f7e2d snd_msnd_DARQ +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x61d21590 snd_msndmix_new +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x7159673e snd_msndmix_setup +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x75026b24 snd_msndmidi_input_read +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x789395f7 snd_msnd_send_word +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x88f13de9 snd_msnd_DAPQ +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x940154f3 snd_msnd_disable_irq +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0xb6342ac0 snd_msnd_enable_irq +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0xfe62675a snd_msnd_pcm +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0xfe95cfef snd_msndmix_force_recsrc +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x07982cf6 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x341785a4 snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x358171e8 snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x45bf6c70 snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x4ea975ee snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x8226c04a snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x8fdcba66 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xc010a260 snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xdb1007b8 snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xe72e25f2 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb16-csp 0x0fdbfcad snd_sb_csp_new +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x4967bc39 snd_sb16dsp_configure +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x82718920 snd_sb16dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xc57f5b54 snd_sb16dsp_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xfa2ebff8 snd_sb16dsp_get_pcm_ops +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0x1a4efb2c snd_sb8dsp_midi_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0x81c30f4f snd_sb8dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0xb531c21a snd_sb8dsp_midi +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0xc462f460 snd_sb8dsp_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x02f44876 snd_emu8000_peek +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x119fbbdb snd_emu8000_dma_chan +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x213c1eca snd_emu8000_update_reverb_mode +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x338978a5 snd_emu8000_poke +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x39284950 snd_emu8000_load_reverb_fx +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x75b22c67 snd_emu8000_poke_dw +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x820cdfc1 snd_emu8000_load_chorus_fx +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x88e5003a snd_emu8000_update_equalizer +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x95a10656 snd_emu8000_peek_dw +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xb30324e6 snd_emu8000_init_fm +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xf1145c3a snd_emu8000_update_chorus_mode +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x01a5e5a3 snd_wss_info_single +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x287e4e41 snd_wss_pcm +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x29d60952 snd_wss_put_single +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x30f92913 snd_wss_put_double +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x39377f43 snd_cs4236_ext_in +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x42b3d535 snd_wss_info_double +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x4caf9cd5 snd_wss_get_double +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x5580bc94 snd_wss_get_single +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x5892c9c2 snd_wss_get_pcm_ops +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x6d9d38ef snd_cs4236_ext_out +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x97ffcf89 snd_wss_mixer +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xa55e6d46 snd_wss_create +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xa56cfb3e snd_wss_out +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xb576b5fd snd_wss_mce_up +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xc8c05b84 snd_wss_overrange +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xdb4c18d7 snd_wss_in +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xe5f1e426 snd_wss_chip_id +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xe7b5252e snd_wss_mce_down +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xee5023e5 snd_wss_interrupt +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xf465a82a snd_wss_free +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xfc5e17d5 snd_wss_timer +EXPORT_SYMBOL sound/oss/ad1848 0x1e1fb343 ad1848_init +EXPORT_SYMBOL sound/oss/ad1848 0x2425193f attach_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0x2b5d9dae ad1848_detect +EXPORT_SYMBOL sound/oss/ad1848 0x9bf1cc62 ad1848_unload +EXPORT_SYMBOL sound/oss/ad1848 0xa3e16c6b probe_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0xb29a9148 unload_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0xc04f6f67 ad1848_control +EXPORT_SYMBOL sound/oss/mpu401 0x3ff7343e attach_mpu401 +EXPORT_SYMBOL sound/oss/mpu401 0x5febf284 unload_mpu401 +EXPORT_SYMBOL sound/oss/mpu401 0x61641749 probe_mpu401 +EXPORT_SYMBOL sound/oss/msnd 0x1186f48f msnd_fifo_read +EXPORT_SYMBOL sound/oss/msnd 0x234f64e0 msnd_register +EXPORT_SYMBOL sound/oss/msnd 0x340a3ddf msnd_init_queue +EXPORT_SYMBOL sound/oss/msnd 0x54230dc1 msnd_fifo_write +EXPORT_SYMBOL sound/oss/msnd 0x5fb94ecb msnd_unregister +EXPORT_SYMBOL sound/oss/msnd 0x6587640b msnd_disable_irq +EXPORT_SYMBOL sound/oss/msnd 0x6601493b msnd_fifo_make_empty +EXPORT_SYMBOL sound/oss/msnd 0x8e3c524b msnd_send_dsp_cmd +EXPORT_SYMBOL sound/oss/msnd 0x9274d677 msnd_fifo_free +EXPORT_SYMBOL sound/oss/msnd 0x95d37486 msnd_upload_host +EXPORT_SYMBOL sound/oss/msnd 0xa1bcc420 msnd_send_word +EXPORT_SYMBOL sound/oss/msnd 0xade99e25 msnd_fifo_alloc +EXPORT_SYMBOL sound/oss/msnd 0xb3520772 msnd_fifo_init +EXPORT_SYMBOL sound/oss/msnd 0xdf0f59eb msnd_fifo_write_io +EXPORT_SYMBOL sound/oss/msnd 0xefdd1843 msnd_enable_irq +EXPORT_SYMBOL sound/oss/msnd 0xf4c4f662 msnd_fifo_read_io +EXPORT_SYMBOL sound/oss/sb_lib 0x42424109 sb_be_quiet +EXPORT_SYMBOL sound/oss/sb_lib 0x450f9aea smw_free +EXPORT_SYMBOL sound/oss/sb_lib 0x68551b87 sb_dsp_init +EXPORT_SYMBOL sound/oss/sb_lib 0x74afd69c unload_sbmpu +EXPORT_SYMBOL sound/oss/sb_lib 0xa38dd522 probe_sbmpu +EXPORT_SYMBOL sound/oss/sb_lib 0xc4884969 sb_dsp_unload +EXPORT_SYMBOL sound/oss/sb_lib 0xd8a2731c sb_dsp_detect +EXPORT_SYMBOL sound/oss/sound 0x04c87ec8 compute_finetune +EXPORT_SYMBOL sound/oss/sound 0x06339815 sound_unload_synthdev +EXPORT_SYMBOL sound/oss/sound 0x0f280035 conf_printf +EXPORT_SYMBOL sound/oss/sound 0x113f4942 sound_timer_devs +EXPORT_SYMBOL sound/oss/sound 0x17ba231d seq_input_event +EXPORT_SYMBOL sound/oss/sound 0x1b3df3cf sound_alloc_mixerdev +EXPORT_SYMBOL sound/oss/sound 0x1f395686 MIDIbuf_avail +EXPORT_SYMBOL sound/oss/sound 0x2161d5e8 sound_timer_init +EXPORT_SYMBOL sound/oss/sound 0x2aa31695 midi_synth_kill_note +EXPORT_SYMBOL sound/oss/sound 0x394cb088 sound_free_dma +EXPORT_SYMBOL sound/oss/sound 0x3dc12116 sound_install_audiodrv +EXPORT_SYMBOL sound/oss/sound 0x418f5fbe sound_close_dma +EXPORT_SYMBOL sound/oss/sound 0x4cd01bdd num_audiodevs +EXPORT_SYMBOL sound/oss/sound 0x4ff47e9d midi_synth_setup_voice +EXPORT_SYMBOL sound/oss/sound 0x51e354b2 sound_alloc_timerdev +EXPORT_SYMBOL sound/oss/sound 0x5348c00d sound_install_mixer +EXPORT_SYMBOL sound/oss/sound 0x56504ca2 midi_synth_reset +EXPORT_SYMBOL sound/oss/sound 0x5d986fc9 note_to_freq +EXPORT_SYMBOL sound/oss/sound 0x7679ee76 seq_copy_to_input +EXPORT_SYMBOL sound/oss/sound 0x78b34f10 mixer_devs +EXPORT_SYMBOL sound/oss/sound 0x7af1d8a9 midi_devs +EXPORT_SYMBOL sound/oss/sound 0x7bdf0907 conf_printf2 +EXPORT_SYMBOL sound/oss/sound 0x7f687527 synth_devs +EXPORT_SYMBOL sound/oss/sound 0x892093e0 midi_synth_controller +EXPORT_SYMBOL sound/oss/sound 0x90bd9714 sequencer_timer +EXPORT_SYMBOL sound/oss/sound 0x987bcf12 DMAbuf_outputintr +EXPORT_SYMBOL sound/oss/sound 0x9a95733f sound_alloc_dma +EXPORT_SYMBOL sound/oss/sound 0x9bdaf24d midi_synth_start_note +EXPORT_SYMBOL sound/oss/sound 0x9d845b18 num_mixers +EXPORT_SYMBOL sound/oss/sound 0xa007c2c8 audio_devs +EXPORT_SYMBOL sound/oss/sound 0xa1d5f04f load_mixer_volumes +EXPORT_SYMBOL sound/oss/sound 0xa1eae7cf num_midis +EXPORT_SYMBOL sound/oss/sound 0xa41ead5f sound_unload_timerdev +EXPORT_SYMBOL sound/oss/sound 0xa51c913b sound_unload_mixerdev +EXPORT_SYMBOL sound/oss/sound 0xa6bb414c sound_unload_mididev +EXPORT_SYMBOL sound/oss/sound 0xa948751e sound_unload_audiodev +EXPORT_SYMBOL sound/oss/sound 0xad45df73 midi_synth_close +EXPORT_SYMBOL sound/oss/sound 0xaef743b2 midi_synth_ioctl +EXPORT_SYMBOL sound/oss/sound 0xb14b22cd midi_synth_hw_control +EXPORT_SYMBOL sound/oss/sound 0xb51587f6 do_midi_msg +EXPORT_SYMBOL sound/oss/sound 0xba413f87 sound_alloc_mididev +EXPORT_SYMBOL sound/oss/sound 0xba7dd041 midi_synth_bender +EXPORT_SYMBOL sound/oss/sound 0xc748d109 sound_alloc_synthdev +EXPORT_SYMBOL sound/oss/sound 0xcab4d5bf midi_synth_load_patch +EXPORT_SYMBOL sound/oss/sound 0xcc4b8797 sound_open_dma +EXPORT_SYMBOL sound/oss/sound 0xd85be938 midi_synth_set_instr +EXPORT_SYMBOL sound/oss/sound 0xdb400afa midi_synth_panning +EXPORT_SYMBOL sound/oss/sound 0xe056b71c DMAbuf_start_dma +EXPORT_SYMBOL sound/oss/sound 0xe2675a79 sound_timer_interrupt +EXPORT_SYMBOL sound/oss/sound 0xeb315d99 DMAbuf_inputintr +EXPORT_SYMBOL sound/oss/sound 0xf1ea8a20 midi_synth_aftertouch +EXPORT_SYMBOL sound/oss/sound 0xf6b3a2fb midi_synth_open +EXPORT_SYMBOL sound/oss/sound 0xf78f6363 sequencer_init +EXPORT_SYMBOL sound/oss/sound 0xfa6871be sound_timer_syncinterval +EXPORT_SYMBOL sound/oss/sound 0xfddcbfb3 midi_synth_send_sysex +EXPORT_SYMBOL sound/oss/uart401 0x049cd8b7 uart401intr +EXPORT_SYMBOL sound/oss/uart401 0x3e6c7720 probe_uart401 +EXPORT_SYMBOL sound/oss/uart401 0xecfdd9c9 unload_uart401 +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x080e3555 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0960b369 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x140b4542 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x169e759d snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x193cc9d8 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x373d7068 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x425198ba snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4ee833b3 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7d6099a4 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9195bb3e snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x98b02e95 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa3dedf23 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd15b81d3 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe9b51170 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xec679333 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf392ec94 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xfda7cd51 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x18eeb6f4 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x442d3114 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x443768d2 snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x66486f01 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x7cc0bddd snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x87b015e0 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x91b2f9db snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x9fc50937 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xfb908388 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0x38604289 snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x804e6df7 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xea3caab4 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xf7e3526d snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x176bf40d oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x3934806f oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x487437f6 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4b4ce751 oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x569b67fd oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x58b4129e oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x68e89457 oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x6ef181dd oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7856f51f oxygen_pci_resume +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x8ad1b988 oxygen_pci_suspend +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x905d0a0e oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x933ba07e oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9ce30972 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9fef7175 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa20870bd oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb456c6b5 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd49b9328 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xecb5c1ab oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xefde63fc oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xfd722e9f oxygen_pci_remove +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x4f8fe06d snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x6863855c snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xa59bd2d9 snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xd2b5a75d snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xdea6d734 snd_trident_alloc_voice +EXPORT_SYMBOL sound/soc/codecs/snd-soc-uda134x 0x2a7aaa10 uda134x_dai +EXPORT_SYMBOL sound/sound_firmware 0x39e3dd23 mod_firmware_load +EXPORT_SYMBOL sound/soundcore 0x060651a1 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x4194c2d5 register_sound_midi +EXPORT_SYMBOL sound/soundcore 0x6815485e register_sound_special +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xc46a73c8 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xc801dad5 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xe7d21f44 sound_class +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x4ad530db snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x56cb07a1 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x9424d3ba snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xe9ac3668 snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xf21bd168 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xfb428266 snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/snd-util-mem 0x070c29c5 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x3d7e0426 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x4d6e68b8 snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x5401d8ba snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9df199f3 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9f12f0a1 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xf93f8a10 snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xfd4102f4 snd_util_mem_avail +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usb-lib 0xcd746c1b snd_usb_create_midi_interface +EXPORT_SYMBOL sound/usb/snd-usb-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x3aa45027 dm_mem_cache_client_destroy +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x903d75be dm_mem_cache_client_create +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x920a7a41 dm_message_parse +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0xafd511e3 dm_mem_cache_grow +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0xb2c35eab dm_mem_cache_free +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0xcc2450a4 dm_mem_cache_alloc +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0xe552788a dm_mem_cache_shrink +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x2157d1d2 lirc_get_pdata +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0xe58c71d4 lirc_register_driver +EXPORT_SYMBOL vmlinux 0x00000000 per_cpu__softirq_work_list +EXPORT_SYMBOL vmlinux 0x00546468 put_io_context +EXPORT_SYMBOL vmlinux 0x00783069 put_disk +EXPORT_SYMBOL vmlinux 0x007d1346 d_rehash +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x009d258f _write_lock +EXPORT_SYMBOL vmlinux 0x00b0b7a1 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x00b28299 tc_classify +EXPORT_SYMBOL vmlinux 0x00b4e0df neigh_destroy +EXPORT_SYMBOL vmlinux 0x00c16698 netdev_features_change +EXPORT_SYMBOL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL vmlinux 0x00d1ca9c tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x00e8097b csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x011230a3 slow_work_register_user +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x0125623e slow_work_enqueue +EXPORT_SYMBOL vmlinux 0x0127a323 kernel_accept +EXPORT_SYMBOL vmlinux 0x013c8bb2 tcp4_gro_receive +EXPORT_SYMBOL vmlinux 0x01471ea2 kset_unregister +EXPORT_SYMBOL vmlinux 0x017c328a dev_add_pack +EXPORT_SYMBOL vmlinux 0x0186d073 percpu_counter_set +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x0192eb1f skb_copy_expand +EXPORT_SYMBOL vmlinux 0x0199766e input_register_device +EXPORT_SYMBOL vmlinux 0x01a4aab6 set_irq_chip_data +EXPORT_SYMBOL vmlinux 0x01a77e20 pci_target_state +EXPORT_SYMBOL vmlinux 0x01c19697 mca_device_status +EXPORT_SYMBOL vmlinux 0x01d0b30a scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0x01d19038 acpi_enable_subsystem +EXPORT_SYMBOL vmlinux 0x01f42092 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x020e209e grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x022278e0 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x022f6275 input_flush_device +EXPORT_SYMBOL vmlinux 0x0237b57a arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x0256389f bit_waitqueue +EXPORT_SYMBOL vmlinux 0x025fe966 tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x026efa1a __tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x029444f0 native_read_tsc +EXPORT_SYMBOL vmlinux 0x029d518f have_submounts +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02aff2f4 acpi_install_gpe_handler +EXPORT_SYMBOL vmlinux 0x02c8e6a7 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02e2e4d7 rfkill_destroy +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x02f9dc24 sk_filter +EXPORT_SYMBOL vmlinux 0x02fbd3bb netif_rx +EXPORT_SYMBOL vmlinux 0x03185f98 mmc_request_done +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x03378912 cdev_del +EXPORT_SYMBOL vmlinux 0x0340d0e1 acpi_pci_osc_control_set +EXPORT_SYMBOL vmlinux 0x03437b7a da903x_query_status +EXPORT_SYMBOL vmlinux 0x036057fe bio_alloc +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x037b7984 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x0381a2ff invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x0388b574 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x03b06a5c dm_unregister_target +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03db785a sock_no_mmap +EXPORT_SYMBOL vmlinux 0x03f08ca1 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x0444a0e4 default_unplug_io_fn +EXPORT_SYMBOL vmlinux 0x04459d8b __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x045e27d4 genphy_config_advert +EXPORT_SYMBOL vmlinux 0x04826547 key_put +EXPORT_SYMBOL vmlinux 0x04854eee dev_get_drvdata +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x04a813a3 may_umount_tree +EXPORT_SYMBOL vmlinux 0x04d8c750 release_perfctr_nmi +EXPORT_SYMBOL vmlinux 0x04e6b7ba __inet6_hash +EXPORT_SYMBOL vmlinux 0x04e6fbb3 dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x04f73ff4 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x05279af1 mpage_writepage +EXPORT_SYMBOL vmlinux 0x0546b152 mutex_trylock +EXPORT_SYMBOL vmlinux 0x056b57b5 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x057ce975 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x05c809a3 flush_signals +EXPORT_SYMBOL vmlinux 0x05ce2097 ps2_end_command +EXPORT_SYMBOL vmlinux 0x0604acb3 journal_force_commit +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x061befe6 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x06202d7a scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x0626689f blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x064bdf56 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x065254d0 mnt_pin +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x06ac8ac8 acpi_unlock_battery_dir +EXPORT_SYMBOL vmlinux 0x06bd7dc5 dcache_dir_close +EXPORT_SYMBOL vmlinux 0x06d728b1 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x06efd628 tty_shutdown +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x0715e1ff phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x072bcf8d blk_init_queue +EXPORT_SYMBOL vmlinux 0x073dfa12 generate_resume_trace +EXPORT_SYMBOL vmlinux 0x07422b8a unregister_console +EXPORT_SYMBOL vmlinux 0x075344cb llc_set_station_handler +EXPORT_SYMBOL vmlinux 0x07608604 acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x0771f7bf skb_queue_head +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x0799c50a param_set_ulong +EXPORT_SYMBOL vmlinux 0x079d3739 cfb_copyarea +EXPORT_SYMBOL vmlinux 0x079fe107 igrab +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07cf6e94 sk_release_kernel +EXPORT_SYMBOL vmlinux 0x07d14afc tcp_v4_md5_do_del +EXPORT_SYMBOL vmlinux 0x07d50a24 csum_partial +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x080c90b2 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x082db74f pci_fixup_device +EXPORT_SYMBOL vmlinux 0x083e0623 pcim_iounmap +EXPORT_SYMBOL vmlinux 0x0875d598 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x08981dba blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x08ccdd4b scsi_host_put +EXPORT_SYMBOL vmlinux 0x08d66a3a warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x08db9d6f bio_integrity_endio +EXPORT_SYMBOL vmlinux 0x08f278dc generic_unplug_device +EXPORT_SYMBOL vmlinux 0x08facac8 input_get_keycode +EXPORT_SYMBOL vmlinux 0x09144253 sysctl_string +EXPORT_SYMBOL vmlinux 0x0933aae1 efi_enabled +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x0972aa39 pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x0a1bf72e dst_release +EXPORT_SYMBOL vmlinux 0x0a1e87f9 atomic64_add_negative +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a4747ff allocate_resource +EXPORT_SYMBOL vmlinux 0x0a76a690 sock_setsockopt +EXPORT_SYMBOL vmlinux 0x0a9b4fdb alloc_netdev_mq +EXPORT_SYMBOL vmlinux 0x0ab069ca jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0af41017 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x0affdb80 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x0b0c2dd5 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b55cb5b journal_clear_err +EXPORT_SYMBOL vmlinux 0x0b5717af phy_start_aneg +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b7ea1d8 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x0b946ed5 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x0ba145d7 unlock_page +EXPORT_SYMBOL vmlinux 0x0bac22dc nf_ct_attach +EXPORT_SYMBOL vmlinux 0x0bb3b4ce try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x0bd0df51 d_validate +EXPORT_SYMBOL vmlinux 0x0c04017b elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0x0c120b64 filp_open +EXPORT_SYMBOL vmlinux 0x0c1bc1f3 proc_create_data +EXPORT_SYMBOL vmlinux 0x0c20d3f1 fddi_change_mtu +EXPORT_SYMBOL vmlinux 0x0c3596ac hippi_change_mtu +EXPORT_SYMBOL vmlinux 0x0c3a6694 mntput_no_expire +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c6bcc03 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0c9482ee dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cae77b9 d_genocide +EXPORT_SYMBOL vmlinux 0x0cbebb5e pnp_stop_dev +EXPORT_SYMBOL vmlinux 0x0cee0f6b xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x0cfd46f2 rtnl_notify +EXPORT_SYMBOL vmlinux 0x0d26a76d _write_lock_irq +EXPORT_SYMBOL vmlinux 0x0d30240a key_unlink +EXPORT_SYMBOL vmlinux 0x0d34cbf4 unregister_quota_format +EXPORT_SYMBOL vmlinux 0x0d3dda14 acpi_get_type +EXPORT_SYMBOL vmlinux 0x0d414b7e generic_show_options +EXPORT_SYMBOL vmlinux 0x0d4b0dfd dm_io +EXPORT_SYMBOL vmlinux 0x0d4b77b7 gen_pool_add +EXPORT_SYMBOL vmlinux 0x0d4c2a08 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d6c963c copy_from_user +EXPORT_SYMBOL vmlinux 0x0d91ea74 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0dbcd8ea phy_disable_interrupts +EXPORT_SYMBOL vmlinux 0x0dc8a03c bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x0de7b71e pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x0e23d66c locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x0e2cde27 proc_dostring +EXPORT_SYMBOL vmlinux 0x0e35ba53 dev_get_flags +EXPORT_SYMBOL vmlinux 0x0e52592a panic +EXPORT_SYMBOL vmlinux 0x0e693ed9 k8_northbridges +EXPORT_SYMBOL vmlinux 0x0e82ae50 bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x0e83fea1 del_timer_sync +EXPORT_SYMBOL vmlinux 0x0e97ef69 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x0ebc9885 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x0ef96124 starget_for_each_device +EXPORT_SYMBOL vmlinux 0x0efd0fc8 ip_mc_rejoin_group +EXPORT_SYMBOL vmlinux 0x0f1ef871 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x0f206f84 pci_find_bus +EXPORT_SYMBOL vmlinux 0x0f312cc5 vfs_quota_disable +EXPORT_SYMBOL vmlinux 0x0f3dbbdc scsi_host_get +EXPORT_SYMBOL vmlinux 0x0f92c4c2 tty_port_hangup +EXPORT_SYMBOL vmlinux 0x0fa53898 dma_pool_free +EXPORT_SYMBOL vmlinux 0x0faa46e3 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x0fd00a68 acpi_clear_event +EXPORT_SYMBOL vmlinux 0x0fed8645 cad_pid +EXPORT_SYMBOL vmlinux 0x0ff2b602 slhc_compress +EXPORT_SYMBOL vmlinux 0x102eb5b2 mmc_host_enable +EXPORT_SYMBOL vmlinux 0x105e2727 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x107d8229 rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0x108e8985 param_get_uint +EXPORT_SYMBOL vmlinux 0x1090e028 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x109378d7 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0x1094884a call_usermodehelper_setfns +EXPORT_SYMBOL vmlinux 0x10a54c54 cdev_add +EXPORT_SYMBOL vmlinux 0x10adf939 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x10ff42a4 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x11131f23 acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x112c6756 bitmap_unplug +EXPORT_SYMBOL vmlinux 0x1161e479 dentry_open +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x1178794c inet_ioctl +EXPORT_SYMBOL vmlinux 0x118e4903 dquot_transfer +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x1190f817 __brelse +EXPORT_SYMBOL vmlinux 0x11994a52 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x11a18b14 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x11b6f5dc xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x11cca353 pci_get_subsys +EXPORT_SYMBOL vmlinux 0x11e0be13 pagevec_lookup +EXPORT_SYMBOL vmlinux 0x11f8015a arp_xmit +EXPORT_SYMBOL vmlinux 0x11f93848 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x11fdf750 drop_super +EXPORT_SYMBOL vmlinux 0x120507ac idr_get_new +EXPORT_SYMBOL vmlinux 0x120a7aed check_disk_change +EXPORT_SYMBOL vmlinux 0x12167c2c mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x1216e96d bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x12330082 cont_write_begin +EXPORT_SYMBOL vmlinux 0x12467d73 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x12529dc1 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x12750c85 block_write_end +EXPORT_SYMBOL vmlinux 0x12b045eb journal_set_features +EXPORT_SYMBOL vmlinux 0x12c548dd journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x12da5bb2 __kmalloc +EXPORT_SYMBOL vmlinux 0x12e6a2e7 jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0x12f10736 udplite_table +EXPORT_SYMBOL vmlinux 0x13145333 alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x132091c9 should_remove_suid +EXPORT_SYMBOL vmlinux 0x1334161a tcp_prot +EXPORT_SYMBOL vmlinux 0x1378e714 acpi_video_display_switch_support +EXPORT_SYMBOL vmlinux 0x13d23d5a km_policy_expired +EXPORT_SYMBOL vmlinux 0x13dddebf mddev_congested +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x140c4436 vfs_write +EXPORT_SYMBOL vmlinux 0x1430e6e0 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x14423bf6 __netif_schedule +EXPORT_SYMBOL vmlinux 0x145b1e2f netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x145c6eed kthread_bind +EXPORT_SYMBOL vmlinux 0x14778cad proc_dointvec +EXPORT_SYMBOL vmlinux 0x149ed9d8 path_lookup +EXPORT_SYMBOL vmlinux 0x14a04e10 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x14af0cf7 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x14d44c3e put_tty_driver +EXPORT_SYMBOL vmlinux 0x1501cb52 security_path_symlink +EXPORT_SYMBOL vmlinux 0x151d2992 pci_restore_state +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x1564b817 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x157053e0 dquot_release_reserved_space +EXPORT_SYMBOL vmlinux 0x1587aff0 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x15b16fbc dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x15b2b2e5 pci_dev_driver +EXPORT_SYMBOL vmlinux 0x15bb73d8 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x15bde137 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0x15d1a469 filemap_fault +EXPORT_SYMBOL vmlinux 0x15ef2dd9 kfifo_free +EXPORT_SYMBOL vmlinux 0x15f7afb9 unregister_8022_client +EXPORT_SYMBOL vmlinux 0x15fac1b6 arch_acpi_processor_cleanup_pdc +EXPORT_SYMBOL vmlinux 0x160999b0 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x160ea4c8 sfi_disabled +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x163bfbfd dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x163c5e39 twl4030_i2c_read +EXPORT_SYMBOL vmlinux 0x164397fc truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x167e7f9d __get_user_1 +EXPORT_SYMBOL vmlinux 0x168f2e44 input_close_device +EXPORT_SYMBOL vmlinux 0x169f3bbd tty_port_close +EXPORT_SYMBOL vmlinux 0x16a52302 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x16d53cbe jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x170c25ee acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x17382314 dev_open +EXPORT_SYMBOL vmlinux 0x177c298c pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0x177c94c2 block_truncate_page +EXPORT_SYMBOL vmlinux 0x1780bcab seq_puts +EXPORT_SYMBOL vmlinux 0x1789ac44 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17e50654 dm_dirty_log_create +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x1807c355 dev_disable_lro +EXPORT_SYMBOL vmlinux 0x181826a0 acpi_lock_ac_dir +EXPORT_SYMBOL vmlinux 0x181b6ff2 mempool_resize +EXPORT_SYMBOL vmlinux 0x181cc6ef kernel_sendpage +EXPORT_SYMBOL vmlinux 0x1828341c inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x18295f49 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x1830bc17 journal_load +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x1845e7c5 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL vmlinux 0x185c4e1c pnp_register_driver +EXPORT_SYMBOL vmlinux 0x187fea42 acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0x188123e3 get_unmapped_area_prot +EXPORT_SYMBOL vmlinux 0x18afcf30 setup_new_exec +EXPORT_SYMBOL vmlinux 0x18c55c40 commit_creds +EXPORT_SYMBOL vmlinux 0x18f3d778 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x18f5418e ether_setup +EXPORT_SYMBOL vmlinux 0x19410536 vfs_dq_drop +EXPORT_SYMBOL vmlinux 0x1943af69 lock_rename +EXPORT_SYMBOL vmlinux 0x194c29ac sk_stop_timer +EXPORT_SYMBOL vmlinux 0x1976bc16 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x1985ed3c prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19a3be9e backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x19b00b19 vfs_quota_on +EXPORT_SYMBOL vmlinux 0x19b6b7ee keyring_search +EXPORT_SYMBOL vmlinux 0x19d5d20a acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0x19df6a3e __ip_select_ident +EXPORT_SYMBOL vmlinux 0x19dff069 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x1a0f85c4 init_task +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a75caa3 _read_lock +EXPORT_SYMBOL vmlinux 0x1a8a845e idle_nomwait +EXPORT_SYMBOL vmlinux 0x1a9e01ea d_find_alias +EXPORT_SYMBOL vmlinux 0x1abc280f kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1ae29a6c invalidate_partition +EXPORT_SYMBOL vmlinux 0x1aea1a37 proc_mkdir +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b18dac9 inet_frags_init +EXPORT_SYMBOL vmlinux 0x1b3ca184 dput +EXPORT_SYMBOL vmlinux 0x1b5f7b7e iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b86c9ce arch_acpi_processor_init_pdc +EXPORT_SYMBOL vmlinux 0x1b89419f add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b9981cc set_irq_wake +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1ba2afe7 unregister_md_personality +EXPORT_SYMBOL vmlinux 0x1bbc620b neigh_event_ns +EXPORT_SYMBOL vmlinux 0x1bdf4684 dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0x1bf2ddc9 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x1c1af916 set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x1c346797 d_add_ci +EXPORT_SYMBOL vmlinux 0x1c3e8998 tty_register_device +EXPORT_SYMBOL vmlinux 0x1c4514c0 insert_inode_locked +EXPORT_SYMBOL vmlinux 0x1c88a03f blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x1c8a04b0 acpi_reset +EXPORT_SYMBOL vmlinux 0x1c98a9c3 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x1c9e70c1 do_mmap_pgoff +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1ce7ec4c rwsem_wake +EXPORT_SYMBOL vmlinux 0x1cefe352 wait_for_completion +EXPORT_SYMBOL vmlinux 0x1d0f5561 dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x1d2e87c6 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x1d3371dd dm_get_device +EXPORT_SYMBOL vmlinux 0x1d67014a bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x1dc322df __secpath_destroy +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dcffa4f inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1dda6a42 ps2_drain +EXPORT_SYMBOL vmlinux 0x1de0da1d pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x1dea4327 alloc_trdev +EXPORT_SYMBOL vmlinux 0x1e1a5baa jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x1e1c7348 ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x1e2669d7 free_netdev +EXPORT_SYMBOL vmlinux 0x1e388a4f inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x1e417667 kthread_stop +EXPORT_SYMBOL vmlinux 0x1e48e324 __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x1e4983bb invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e808ae2 dm_exception_store_type_unregister +EXPORT_SYMBOL vmlinux 0x1e8b66a4 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x1e92943d vfs_readv +EXPORT_SYMBOL vmlinux 0x1ec010c2 blk_recount_segments +EXPORT_SYMBOL vmlinux 0x1ecb9943 posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x1eceff01 fsync_bdev +EXPORT_SYMBOL vmlinux 0x1eec0bb5 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x1eefaaa8 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x1efe283f __cap_full_set +EXPORT_SYMBOL vmlinux 0x1f05ac47 stop_tty +EXPORT_SYMBOL vmlinux 0x1f07d4a6 unregister_netdev +EXPORT_SYMBOL vmlinux 0x1f165463 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x1f305993 kobject_set_name +EXPORT_SYMBOL vmlinux 0x1f450e53 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x1f5d497d journal_release_buffer +EXPORT_SYMBOL vmlinux 0x1f659d99 set_pages_array_wb +EXPORT_SYMBOL vmlinux 0x1f69573a kset_register +EXPORT_SYMBOL vmlinux 0x1f94365b __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x1f9ba9a6 kill_pgrp +EXPORT_SYMBOL vmlinux 0x1fdde732 search_binary_handler +EXPORT_SYMBOL vmlinux 0x1feb6553 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x1ff69dd8 vfs_fstatat +EXPORT_SYMBOL vmlinux 0x1fff307c pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x2005e68a acpi_remove_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x201960d7 file_fsync +EXPORT_SYMBOL vmlinux 0x20385c58 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x20750ce9 unregister_nls +EXPORT_SYMBOL vmlinux 0x208739f6 acpi_load_table +EXPORT_SYMBOL vmlinux 0x2091ddf9 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x209bcad7 inet_add_protocol +EXPORT_SYMBOL vmlinux 0x20ea091b blk_queue_max_phys_segments +EXPORT_SYMBOL vmlinux 0x20f1ef60 __mutex_init +EXPORT_SYMBOL vmlinux 0x20f73f39 sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x21123891 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x2125394d set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x21470b31 scsi_execute +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x21990731 __ht_create_irq +EXPORT_SYMBOL vmlinux 0x21a60fd8 vga_get +EXPORT_SYMBOL vmlinux 0x21d50a51 tcf_hash_release +EXPORT_SYMBOL vmlinux 0x21e0ea22 acpi_get_id +EXPORT_SYMBOL vmlinux 0x21e7fc93 bdi_init +EXPORT_SYMBOL vmlinux 0x221aed8c fb_set_suspend +EXPORT_SYMBOL vmlinux 0x221c7759 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x22604477 acpi_lock_battery_dir +EXPORT_SYMBOL vmlinux 0x226e86a9 audit_log +EXPORT_SYMBOL vmlinux 0x2284779e current_fs_time +EXPORT_SYMBOL vmlinux 0x2288378f system_state +EXPORT_SYMBOL vmlinux 0x22a5a5ae ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x22a73912 __tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x22b2b84a tcp_v4_remember_stamp +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22b6533b xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x22e95fa9 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x22f8f7aa rfkill_alloc +EXPORT_SYMBOL vmlinux 0x23028116 request_key +EXPORT_SYMBOL vmlinux 0x231a8371 blk_get_request +EXPORT_SYMBOL vmlinux 0x23269a13 strict_strtoul +EXPORT_SYMBOL vmlinux 0x2334cf5f sk_free +EXPORT_SYMBOL vmlinux 0x233702fd follow_pfn +EXPORT_SYMBOL vmlinux 0x239e8409 netif_device_attach +EXPORT_SYMBOL vmlinux 0x23c8f257 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x23ca33b7 input_unfilter_device +EXPORT_SYMBOL vmlinux 0x23cda5a6 dentry_unhash +EXPORT_SYMBOL vmlinux 0x23e31568 tty_kref_put +EXPORT_SYMBOL vmlinux 0x23ec797a simple_set_mnt +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x240ee02c mca_device_read_pos +EXPORT_SYMBOL vmlinux 0x242fa60c clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x243ffddc idr_destroy +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x2442a75f xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x24624544 ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x24a79b53 single_release +EXPORT_SYMBOL vmlinux 0x24bfbfdf module_put +EXPORT_SYMBOL vmlinux 0x24ca4b43 tcp_close +EXPORT_SYMBOL vmlinux 0x24e4bb01 down_write_trylock +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x250113b4 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x252cf6e5 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0x253abf0e grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258355b4 fb_find_best_mode +EXPORT_SYMBOL vmlinux 0x2597f10a pnp_possible_config +EXPORT_SYMBOL vmlinux 0x25a3cdb2 pci_set_consistent_dma_mask +EXPORT_SYMBOL vmlinux 0x25d3e2a3 atomic64_dec_return +EXPORT_SYMBOL vmlinux 0x25d62d10 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x25da4f88 kmem_cache_create +EXPORT_SYMBOL vmlinux 0x261b4915 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x263d0406 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x2653f563 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x266acdec kunmap_high +EXPORT_SYMBOL vmlinux 0x267827a5 devm_ioport_map +EXPORT_SYMBOL vmlinux 0x267fc65b __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x2686dc9a pci_enable_msix +EXPORT_SYMBOL vmlinux 0x268cc6a2 sys_close +EXPORT_SYMBOL vmlinux 0x26db76b1 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x270918e1 md_unregister_thread +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x2727da5d _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x27295f2c blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x272d394e mtrr_del +EXPORT_SYMBOL vmlinux 0x27412429 contig_page_data +EXPORT_SYMBOL vmlinux 0x277aaa55 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x277cf5e1 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x279ea63f key_revoke +EXPORT_SYMBOL vmlinux 0x27b35c51 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c61ece qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x27cfcd1b scsi_prep_fn +EXPORT_SYMBOL vmlinux 0x27e73cd0 sock_no_poll +EXPORT_SYMBOL vmlinux 0x27ec4897 acpi_bus_get_device +EXPORT_SYMBOL vmlinux 0x2800ca58 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x2838cd8a tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x285a8174 nla_put +EXPORT_SYMBOL vmlinux 0x285ac517 strict_strtoll +EXPORT_SYMBOL vmlinux 0x286568b9 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x286eeeb3 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28b06402 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x28b3c4f0 write_inode_now +EXPORT_SYMBOL vmlinux 0x28b715a6 isapnp_cfg_end +EXPORT_SYMBOL vmlinux 0x28bf1e68 __page_symlink +EXPORT_SYMBOL vmlinux 0x290d9f48 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x292093f4 native_rdmsr_safe_regs +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x2963e8d1 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x2983068a phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x29b1c366 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x29bd4c46 __cap_init_eff_set +EXPORT_SYMBOL vmlinux 0x29daa33b pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a458a0d rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x2a539e60 ipv4_specific +EXPORT_SYMBOL vmlinux 0x2a608a81 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x2a6cdc9e eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x2a8fedc9 mmc_host_disable +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2aa1cede tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x2ac2592b elv_queue_empty +EXPORT_SYMBOL vmlinux 0x2ad07da7 acpi_root_dir +EXPORT_SYMBOL vmlinux 0x2aeb2800 mempool_create_node +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b2ec32b inode_init_once +EXPORT_SYMBOL vmlinux 0x2b66ec70 sock_no_getname +EXPORT_SYMBOL vmlinux 0x2b92b000 update_region +EXPORT_SYMBOL vmlinux 0x2b98689e kmem_ptr_validate +EXPORT_SYMBOL vmlinux 0x2b9ff55d __pci_register_driver +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bb4b1fc blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x2bb55d6e acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x2bb6fde2 __kfifo_put +EXPORT_SYMBOL vmlinux 0x2bc95bd4 memset +EXPORT_SYMBOL vmlinux 0x2be8dcd8 mca_register_driver_integrated +EXPORT_SYMBOL vmlinux 0x2bf2e67b get_sb_nodev +EXPORT_SYMBOL vmlinux 0x2bfeb410 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x2c0f471c tty_hangup +EXPORT_SYMBOL vmlinux 0x2c1370f1 acpi_bus_generate_proc_event +EXPORT_SYMBOL vmlinux 0x2c4301f4 dma_sync_wait +EXPORT_SYMBOL vmlinux 0x2c5749e6 acpi_clear_gpe +EXPORT_SYMBOL vmlinux 0x2c7ad725 security_inode_readlink +EXPORT_SYMBOL vmlinux 0x2c835233 handle_sysrq +EXPORT_SYMBOL vmlinux 0x2c8f5989 acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0x2c95068d blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x2c9874fe ida_remove +EXPORT_SYMBOL vmlinux 0x2cb14194 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x2ccf71ea seq_open +EXPORT_SYMBOL vmlinux 0x2cdebdee inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x2cee96ba sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x2d0ba4b5 set_pages_wb +EXPORT_SYMBOL vmlinux 0x2d12e1b7 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x2d1415bb cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x2d211c96 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x2d37342e cpu_online_mask +EXPORT_SYMBOL vmlinux 0x2d415259 phy_connect_direct +EXPORT_SYMBOL vmlinux 0x2d52a3cc vfs_get_dqinfo +EXPORT_SYMBOL vmlinux 0x2d74c89b override_creds +EXPORT_SYMBOL vmlinux 0x2d84969a blk_start_request +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2dbeaa36 cdev_index +EXPORT_SYMBOL vmlinux 0x2dcb0123 schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x2dd16564 arch_register_cpu +EXPORT_SYMBOL vmlinux 0x2de6dd81 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x2dedc4c2 acpi_format_exception +EXPORT_SYMBOL vmlinux 0x2def3890 scsi_reset_provider +EXPORT_SYMBOL vmlinux 0x2def7f76 rtc_cmos_write +EXPORT_SYMBOL vmlinux 0x2df2b332 skb_over_panic +EXPORT_SYMBOL vmlinux 0x2dfe3a30 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x2e2a9e65 thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e3df06d pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x2e4a39f8 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x2e5674cd generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x2e60bace memcpy +EXPORT_SYMBOL vmlinux 0x2e61d5a1 scm_fp_dup +EXPORT_SYMBOL vmlinux 0x2eb9a0e8 _read_lock_irq +EXPORT_SYMBOL vmlinux 0x2edf38ce set_disk_ro +EXPORT_SYMBOL vmlinux 0x2ef8b83b neigh_ifdown +EXPORT_SYMBOL vmlinux 0x2efe5e09 atomic64_xchg +EXPORT_SYMBOL vmlinux 0x2f0344e0 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x2f08167a security_path_rename +EXPORT_SYMBOL vmlinux 0x2f12e2d7 lookup_one_len +EXPORT_SYMBOL vmlinux 0x2f14a9fd sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x2f1cf65c iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x2f287f0d copy_to_user +EXPORT_SYMBOL vmlinux 0x2f516a1e scsi_host_set_state +EXPORT_SYMBOL vmlinux 0x2f6566dd netif_receive_skb +EXPORT_SYMBOL vmlinux 0x2f67a35e shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x2f91b5f3 page_follow_link_light +EXPORT_SYMBOL vmlinux 0x2fb9a041 pnpbios_protocol +EXPORT_SYMBOL vmlinux 0x2ff5fdfc inet_select_addr +EXPORT_SYMBOL vmlinux 0x30123eb5 icmpv6_statistics +EXPORT_SYMBOL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL vmlinux 0x30879691 misc_register +EXPORT_SYMBOL vmlinux 0x30dae821 vfs_set_dqinfo +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x310917fe sort +EXPORT_SYMBOL vmlinux 0x310e1939 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x31121fe1 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x312db9f8 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x313a60ca skb_under_panic +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x3188b911 sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x3191f109 __krealloc +EXPORT_SYMBOL vmlinux 0x31a4662b inet_listen +EXPORT_SYMBOL vmlinux 0x31adc8ae aio_put_req +EXPORT_SYMBOL vmlinux 0x31db14ac bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0x31e76b57 recalibrate_cpu_khz +EXPORT_SYMBOL vmlinux 0x32080822 set_trace_device +EXPORT_SYMBOL vmlinux 0x320abc06 kmem_cache_name +EXPORT_SYMBOL vmlinux 0x32126cf5 scsi_unregister +EXPORT_SYMBOL vmlinux 0x32192b0e seq_release +EXPORT_SYMBOL vmlinux 0x32254d1d sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x3238cab4 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x32430961 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x32451ad8 journal_start_commit +EXPORT_SYMBOL vmlinux 0x326df9e1 vfs_stat +EXPORT_SYMBOL vmlinux 0x3285cc48 param_set_uint +EXPORT_SYMBOL vmlinux 0x32a6ef8c generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x32dbd347 dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x32fb65c6 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x330589f6 pci_disable_device +EXPORT_SYMBOL vmlinux 0x330aebcf udp_ioctl +EXPORT_SYMBOL vmlinux 0x330b5374 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0x332b1d27 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x332b28eb dev_driver_string +EXPORT_SYMBOL vmlinux 0x336c8df7 elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x336e2cfd inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0x3379a638 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x337f8f75 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x33814b0b xfrm_state_update +EXPORT_SYMBOL vmlinux 0x33b6c704 dm_io_client_create +EXPORT_SYMBOL vmlinux 0x33d0820e icmp_send +EXPORT_SYMBOL vmlinux 0x33d92f9a prepare_to_wait +EXPORT_SYMBOL vmlinux 0x33f0bb6c dst_discard +EXPORT_SYMBOL vmlinux 0x33f4571d xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x33fcfbfe ip_getsockopt +EXPORT_SYMBOL vmlinux 0x342a1c50 input_filter_device +EXPORT_SYMBOL vmlinux 0x342f60fe apm_info +EXPORT_SYMBOL vmlinux 0x343879a3 journal_destroy +EXPORT_SYMBOL vmlinux 0x3439e7ce skb_queue_tail +EXPORT_SYMBOL vmlinux 0x344cb544 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x3453ef2e xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x3457cb68 param_set_long +EXPORT_SYMBOL vmlinux 0x345fdb8f check_disk_size_change +EXPORT_SYMBOL vmlinux 0x347240a3 mmc_register_driver +EXPORT_SYMBOL vmlinux 0x34872ddd __seq_open_private +EXPORT_SYMBOL vmlinux 0x34896788 __devm_release_region +EXPORT_SYMBOL vmlinux 0x3490361e phy_start_interrupts +EXPORT_SYMBOL vmlinux 0x34908c14 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x349c3dc5 proto_register +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a1ad22 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x34ac36df bio_phys_segments +EXPORT_SYMBOL vmlinux 0x34e396ff __nla_put +EXPORT_SYMBOL vmlinux 0x355abefa inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x355c97ea deny_write_access +EXPORT_SYMBOL vmlinux 0x35659be4 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x35a9d65f sg_miter_start +EXPORT_SYMBOL vmlinux 0x35c2ba9e refrigerator +EXPORT_SYMBOL vmlinux 0x35c7a441 seq_write +EXPORT_SYMBOL vmlinux 0x35da2e61 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x35da5e3e dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x35f0faa2 acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0x35f11d65 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x35fc61dd pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0x36024ddf dma_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x360dabd7 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x36187201 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x362408ed dm_table_get +EXPORT_SYMBOL vmlinux 0x3628136f dev_unicast_sync +EXPORT_SYMBOL vmlinux 0x3649f490 dm_table_get_size +EXPORT_SYMBOL vmlinux 0x3656bf5a lock_kernel +EXPORT_SYMBOL vmlinux 0x36630271 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x3665d161 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL vmlinux 0x36b795e1 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0x36b7da17 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0x36c190bc block_commit_write +EXPORT_SYMBOL vmlinux 0x36e2fd84 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x36fd351d dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x3710091e tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x3711c4c1 ht_create_irq +EXPORT_SYMBOL vmlinux 0x3713235c nf_unregister_hook +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x374ed073 scnprintf +EXPORT_SYMBOL vmlinux 0x375cce94 mmc_suspend_host +EXPORT_SYMBOL vmlinux 0x3764e087 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x376b9681 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x377937bd release_sock +EXPORT_SYMBOL vmlinux 0x379d65f5 gen_pool_alloc +EXPORT_SYMBOL vmlinux 0x37a46285 acpi_get_physical_device +EXPORT_SYMBOL vmlinux 0x37b66b41 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37e74642 get_jiffies_64 +EXPORT_SYMBOL vmlinux 0x37ee1cc9 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x381c4bb1 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x381d3e62 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x383e1af5 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x3848a13d read_cache_page_async +EXPORT_SYMBOL vmlinux 0x388799f6 unregister_kmmio_probe +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x389f8e7b set_pages_uc +EXPORT_SYMBOL vmlinux 0x389ffac1 rt6_lookup +EXPORT_SYMBOL vmlinux 0x38a315bf skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x38a6a01c kmem_cache_free +EXPORT_SYMBOL vmlinux 0x38b92846 llc_remove_pack +EXPORT_SYMBOL vmlinux 0x38ba9a60 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x38c19ea7 filemap_flush +EXPORT_SYMBOL vmlinux 0x38cab31c init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x38f88bf7 pid_task +EXPORT_SYMBOL vmlinux 0x390b9990 mem_map +EXPORT_SYMBOL vmlinux 0x3927733a file_update_time +EXPORT_SYMBOL vmlinux 0x393cbf45 sk_wait_data +EXPORT_SYMBOL vmlinux 0x397843cf journal_check_available_features +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x39e0db6e remap_pfn_range +EXPORT_SYMBOL vmlinux 0x39e92b48 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x39fbe317 input_grab_device +EXPORT_SYMBOL vmlinux 0x3a2204c6 security_netlink_recv +EXPORT_SYMBOL vmlinux 0x3a38102c vlan_gro_frags +EXPORT_SYMBOL vmlinux 0x3a49d947 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x3a4da778 scsi_remove_host +EXPORT_SYMBOL vmlinux 0x3a662146 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3aa1dbcf _spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x3abbba27 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x3adc15b9 posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x3add6325 vfs_create +EXPORT_SYMBOL vmlinux 0x3ade2c69 scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0x3ae831b6 kref_init +EXPORT_SYMBOL vmlinux 0x3af97acf registered_fb +EXPORT_SYMBOL vmlinux 0x3af98f9e ioremap_nocache +EXPORT_SYMBOL vmlinux 0x3b158f10 call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x3b293446 read_cache_pages +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b571d67 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x3b596050 kernel_getsockname +EXPORT_SYMBOL vmlinux 0x3b815ec9 dma_find_channel +EXPORT_SYMBOL vmlinux 0x3bb78130 set_current_groups +EXPORT_SYMBOL vmlinux 0x3bba8eb2 sget +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3c2c5af5 sprintf +EXPORT_SYMBOL vmlinux 0x3c7227bf complete_all +EXPORT_SYMBOL vmlinux 0x3c769bd7 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x3c8cdebd register_md_personality +EXPORT_SYMBOL vmlinux 0x3c8e52a2 nf_register_hooks +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3cb10026 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x3cc0a3bb xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3d329378 mutex_unlock +EXPORT_SYMBOL vmlinux 0x3d355c3b pci_get_bus_and_slot +EXPORT_SYMBOL vmlinux 0x3d415ad6 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x3d605053 register_sysctl_table +EXPORT_SYMBOL vmlinux 0x3d68bd4b flow_cache_genid +EXPORT_SYMBOL vmlinux 0x3d697e51 thaw_bdev +EXPORT_SYMBOL vmlinux 0x3d6d0930 netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x3d7c1ed7 msrs_alloc +EXPORT_SYMBOL vmlinux 0x3d9995af devm_free_irq +EXPORT_SYMBOL vmlinux 0x3da171f9 pci_mem_start +EXPORT_SYMBOL vmlinux 0x3da5eb6d kfifo_alloc +EXPORT_SYMBOL vmlinux 0x3daa69da vfs_lstat +EXPORT_SYMBOL vmlinux 0x3e1f073d wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x3e219de6 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x3e2ae3a8 acpi_release_global_lock +EXPORT_SYMBOL vmlinux 0x3e383385 nf_hooks +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e4cb5f6 bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x3e7d80ba skb_put +EXPORT_SYMBOL vmlinux 0x3e853e5e bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x3e899c9d blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x3ea592cd inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x3eb39257 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x3ebec42b __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x3ec1d14e tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3edfe2a1 qdisc_destroy +EXPORT_SYMBOL vmlinux 0x3ef13606 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f1899f1 up +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f46fdc5 submit_bio +EXPORT_SYMBOL vmlinux 0x3f65f492 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x3fa203f5 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x3fa6b7fa pipe_unlock +EXPORT_SYMBOL vmlinux 0x3fc67fd3 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x3fde2450 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x3fe58c19 get_phy_device +EXPORT_SYMBOL vmlinux 0x3fe86f6f call_usermodehelper_stdinpipe +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x3ffe7752 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x4012002d __xfrm_lookup +EXPORT_SYMBOL vmlinux 0x402a844b unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x402ea9c2 bioset_free +EXPORT_SYMBOL vmlinux 0x404d773c thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x405eaca6 km_state_expired +EXPORT_SYMBOL vmlinux 0x40616dd6 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x407a39d9 kmap_atomic_to_page +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 0x40bfc3a4 no_llseek +EXPORT_SYMBOL vmlinux 0x40c89d46 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0x40c9efc1 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x40d6b5c4 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x40f7478d neigh_table_init +EXPORT_SYMBOL vmlinux 0x4101bbde param_set_copystring +EXPORT_SYMBOL vmlinux 0x4108e69a fb_match_mode +EXPORT_SYMBOL vmlinux 0x41166725 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x41344088 param_get_charp +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x414cc80c cmpxchg8b_emu +EXPORT_SYMBOL vmlinux 0x416983d9 netdev_fix_features +EXPORT_SYMBOL vmlinux 0x416ab824 mpage_readpage +EXPORT_SYMBOL vmlinux 0x4177c3d5 dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x4185cf4b radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x418f0ca8 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x41a5a31d mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x41a9c68d _spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x41d99052 dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x41dfe4d9 lro_flush_all +EXPORT_SYMBOL vmlinux 0x41e1e486 per_cpu__softnet_data +EXPORT_SYMBOL vmlinux 0x41e9ab1f skb_make_writable +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x42139ef1 seq_printf +EXPORT_SYMBOL vmlinux 0x42224298 sscanf +EXPORT_SYMBOL vmlinux 0x422ea446 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x4231aabf sock_i_ino +EXPORT_SYMBOL vmlinux 0x424a1f56 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x4254f0cd xfrm_register_km +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x42686035 inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0x4272928d nf_register_hook +EXPORT_SYMBOL vmlinux 0x4292364c schedule +EXPORT_SYMBOL vmlinux 0x4294a346 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x42ad2bab elevator_exit +EXPORT_SYMBOL vmlinux 0x42debf43 iget_locked +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4309a4e4 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x43130882 input_free_device +EXPORT_SYMBOL vmlinux 0x432063e8 inet6_bind +EXPORT_SYMBOL vmlinux 0x4328952b nf_log_register +EXPORT_SYMBOL vmlinux 0x4333eadb param_set_short +EXPORT_SYMBOL vmlinux 0x43385ad9 acpi_pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x434fa55c release_console_sem +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x43750d13 __blk_end_request_all +EXPORT_SYMBOL vmlinux 0x4385be3b gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x43ab66c3 param_array_get +EXPORT_SYMBOL vmlinux 0x44161c19 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x44314efb radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x444779c4 nla_find +EXPORT_SYMBOL vmlinux 0x44713466 scsi_device_get +EXPORT_SYMBOL vmlinux 0x44aaf30f tsc_khz +EXPORT_SYMBOL vmlinux 0x44b2ec4e kernel_bind +EXPORT_SYMBOL vmlinux 0x44b69e41 audit_log_end +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44cc6f8c bd_release +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44ef06c0 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x44f21bea idr_for_each +EXPORT_SYMBOL vmlinux 0x44fdc5dc __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x454029c3 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x4540fbe7 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x45450063 mod_timer +EXPORT_SYMBOL vmlinux 0x4550ba8a register_cpu_notifier +EXPORT_SYMBOL vmlinux 0x4574cf41 tty_check_change +EXPORT_SYMBOL vmlinux 0x4575315d utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x4578447d vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x45947727 param_array_set +EXPORT_SYMBOL vmlinux 0x4599244e tc_classify_compat +EXPORT_SYMBOL vmlinux 0x45a9bd49 ethtool_op_set_tx_ipv6_csum +EXPORT_SYMBOL vmlinux 0x45d11c43 down_interruptible +EXPORT_SYMBOL vmlinux 0x45d55543 down_write +EXPORT_SYMBOL vmlinux 0x45d5fdd1 xfrm_input +EXPORT_SYMBOL vmlinux 0x45d9d2dc sock_rfree +EXPORT_SYMBOL vmlinux 0x45f53aca file_permission +EXPORT_SYMBOL vmlinux 0x46008ef9 otg_put_transceiver +EXPORT_SYMBOL vmlinux 0x46085e4f add_timer +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x46468623 kill_anon_super +EXPORT_SYMBOL vmlinux 0x46543f29 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x466b7b68 page_readlink +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x4696b1fe linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x46a7270e register_cdrom +EXPORT_SYMBOL vmlinux 0x46b3d46b nf_getsockopt +EXPORT_SYMBOL vmlinux 0x46cdee2d vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x46d01f51 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x472d2a9a radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x472f6222 dev_mc_add +EXPORT_SYMBOL vmlinux 0x474f421e mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x475f010b acpi_purge_cached_objects +EXPORT_SYMBOL vmlinux 0x477bc92c bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x478a8f0e locks_copy_lock +EXPORT_SYMBOL vmlinux 0x478d10b2 ht_destroy_irq +EXPORT_SYMBOL vmlinux 0x479ab856 mdiobus_register +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47c0c17d nf_reinject +EXPORT_SYMBOL vmlinux 0x47c97875 phy_device_register +EXPORT_SYMBOL vmlinux 0x47d53471 bio_clone +EXPORT_SYMBOL vmlinux 0x47de4025 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x47f00e4f qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x4814ac60 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x481cb9ab acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x48588d77 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486b6407 hweight64 +EXPORT_SYMBOL vmlinux 0x4877dbe4 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x48aa9728 alloc_etherdev_mq +EXPORT_SYMBOL vmlinux 0x48acc0c4 alloc_file +EXPORT_SYMBOL vmlinux 0x48b3520d block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x48d9e09e kobject_init +EXPORT_SYMBOL vmlinux 0x48ed28f4 arp_create +EXPORT_SYMBOL vmlinux 0x48f0f9a6 dquot_alloc +EXPORT_SYMBOL vmlinux 0x49439411 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x494e3393 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x49a1bd8c llc_sap_find +EXPORT_SYMBOL vmlinux 0x49b05f83 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x49b255a1 generic_write_end +EXPORT_SYMBOL vmlinux 0x49da9a9a _read_unlock_bh +EXPORT_SYMBOL vmlinux 0x49e182c0 param_get_string +EXPORT_SYMBOL vmlinux 0x4a001840 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a60133a sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x4a971ec7 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x4ade9a8e bdi_unregister +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b032dc3 journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x4b07e779 _spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x4b1ecad6 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x4b30872a simple_dir_operations +EXPORT_SYMBOL vmlinux 0x4b34fbf5 block_all_signals +EXPORT_SYMBOL vmlinux 0x4b359cb7 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x4b8d21ee tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x4bbc3e5f pm_flags +EXPORT_SYMBOL vmlinux 0x4bf9691a uart_resume_port +EXPORT_SYMBOL vmlinux 0x4bfee15a atomic64_set +EXPORT_SYMBOL vmlinux 0x4c04240b acpi_device_hid +EXPORT_SYMBOL vmlinux 0x4c0ebb32 bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c1b965c gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x4c2fe50b lookup_bdev +EXPORT_SYMBOL vmlinux 0x4c6c491c scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0x4c6e6573 delayed_slow_work_enqueue +EXPORT_SYMBOL vmlinux 0x4c72776a ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x4c77d1b0 ppp_unit_number +EXPORT_SYMBOL vmlinux 0x4c9c8fe0 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cc4245a bio_unmap_user +EXPORT_SYMBOL vmlinux 0x4d282d12 simple_sync_file +EXPORT_SYMBOL vmlinux 0x4d2be09b nf_setsockopt +EXPORT_SYMBOL vmlinux 0x4d39b3d7 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d560ecc elv_abort_queue +EXPORT_SYMBOL vmlinux 0x4d75ad3b sock_kfree_s +EXPORT_SYMBOL vmlinux 0x4d90ce9b jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dd3b698 do_splice_from +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e0a6c5a pci_enable_wake +EXPORT_SYMBOL vmlinux 0x4e0c2cf6 set_device_ro +EXPORT_SYMBOL vmlinux 0x4e0e2c4b start_tty +EXPORT_SYMBOL vmlinux 0x4e30ead4 input_register_handle +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e374ea8 register_gifconf +EXPORT_SYMBOL vmlinux 0x4e413e46 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x4e549cd8 page_address +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e70cb73 get_sb_pseudo +EXPORT_SYMBOL vmlinux 0x4e7ad56b security_path_mknod +EXPORT_SYMBOL vmlinux 0x4e81d3ed thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0x4e830a3e strnicmp +EXPORT_SYMBOL vmlinux 0x4e90f967 seq_escape +EXPORT_SYMBOL vmlinux 0x4eb135aa neigh_table_clear +EXPORT_SYMBOL vmlinux 0x4ebf4d2d d_alloc_root +EXPORT_SYMBOL vmlinux 0x4ec457c9 user_revoke +EXPORT_SYMBOL vmlinux 0x4ed58d6a bioset_integrity_free +EXPORT_SYMBOL vmlinux 0x4ee5f747 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x4ee76065 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x4ef0f024 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x4f0bc4d5 release_firmware +EXPORT_SYMBOL vmlinux 0x4f11f422 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f274221 __devm_request_region +EXPORT_SYMBOL vmlinux 0x4f4133e9 dqget +EXPORT_SYMBOL vmlinux 0x4f476e96 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x4f5438c1 idle_halt +EXPORT_SYMBOL vmlinux 0x4f6fa67d console_stop +EXPORT_SYMBOL vmlinux 0x4f783f30 acpi_read +EXPORT_SYMBOL vmlinux 0x4f99f93a tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x4fa9bd7f sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x4fcc2ead scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x4fd1289c bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x4fd481d1 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x5017d706 xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0x50192399 __pagevec_release +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x506746b6 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x507a5228 seq_open_private +EXPORT_SYMBOL vmlinux 0x5081a33d jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x508eea79 hippi_type_trans +EXPORT_SYMBOL vmlinux 0x50bdd470 boot_cpu_data +EXPORT_SYMBOL vmlinux 0x50c39d9e dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x50ceb3d9 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x50da6260 scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0x50dff344 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x50e2bb06 log_start_commit +EXPORT_SYMBOL vmlinux 0x510941d6 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x5140832b set_groups +EXPORT_SYMBOL vmlinux 0x5149f2a8 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x5152e605 memcmp +EXPORT_SYMBOL vmlinux 0x5160e1f5 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x51668329 dcache_readdir +EXPORT_SYMBOL vmlinux 0x51710ef8 journal_stop +EXPORT_SYMBOL vmlinux 0x517c5fca blk_peek_request +EXPORT_SYMBOL vmlinux 0x517fe3e6 scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x51812be3 pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0x5186518f profile_pc +EXPORT_SYMBOL vmlinux 0x5197127e elv_rb_del +EXPORT_SYMBOL vmlinux 0x51a6601f jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x51b60db5 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x51c9cd1e inode_setattr +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51e6fd34 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x51ef056e journal_init_dev +EXPORT_SYMBOL vmlinux 0x51ef33b8 kstrndup +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x52095e19 acpi_get_data +EXPORT_SYMBOL vmlinux 0x5236f169 block_prepare_write +EXPORT_SYMBOL vmlinux 0x52760ca9 getnstimeofday +EXPORT_SYMBOL vmlinux 0x528bfc74 vga_client_register +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x52a58c24 ifla_policy +EXPORT_SYMBOL vmlinux 0x52bfc0da pci_choose_state +EXPORT_SYMBOL vmlinux 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL vmlinux 0x52ebb126 param_get_ushort +EXPORT_SYMBOL vmlinux 0x530b1e4c rdmsr_on_cpus +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x53117f02 bio_free +EXPORT_SYMBOL vmlinux 0x53197252 journal_abort +EXPORT_SYMBOL vmlinux 0x531b604e __virt_addr_valid +EXPORT_SYMBOL vmlinux 0x532a3b61 rfkill_blocked +EXPORT_SYMBOL vmlinux 0x532b9db0 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x533c8c53 prepare_creds +EXPORT_SYMBOL vmlinux 0x535209d3 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x5366c9e8 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x5367ea10 ethtool_op_set_tx_csum +EXPORT_SYMBOL vmlinux 0x536bd500 lock_fb_info +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x539856e1 load_nls +EXPORT_SYMBOL vmlinux 0x53a8e462 splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0x53c0767c sk_chk_filter +EXPORT_SYMBOL vmlinux 0x53d7bad2 __register_chrdev +EXPORT_SYMBOL vmlinux 0x53db2126 genphy_suspend +EXPORT_SYMBOL vmlinux 0x53eef539 fb_is_primary_device +EXPORT_SYMBOL vmlinux 0x541dfef4 atomic64_inc +EXPORT_SYMBOL vmlinux 0x54290dc9 nla_validate +EXPORT_SYMBOL vmlinux 0x544b3e87 isapnp_protocol +EXPORT_SYMBOL vmlinux 0x54542f67 mca_device_set_name +EXPORT_SYMBOL vmlinux 0x546a3a49 cfb_imageblit +EXPORT_SYMBOL vmlinux 0x54743c98 fasync_helper +EXPORT_SYMBOL vmlinux 0x54935666 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0x54988266 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x549e47a5 km_query +EXPORT_SYMBOL vmlinux 0x54a6d074 atomic64_dec +EXPORT_SYMBOL vmlinux 0x54a8b376 neigh_for_each +EXPORT_SYMBOL vmlinux 0x54c66973 blk_end_request +EXPORT_SYMBOL vmlinux 0x54d9385f filp_close +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x5532e582 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x55346904 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x557e0233 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55a95659 napi_skb_finish +EXPORT_SYMBOL vmlinux 0x55b3133e dma_release_from_coherent +EXPORT_SYMBOL vmlinux 0x55b803ba fddi_type_trans +EXPORT_SYMBOL vmlinux 0x55c623c6 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x55d30039 bdevname +EXPORT_SYMBOL vmlinux 0x55d9c302 block_read_full_page +EXPORT_SYMBOL vmlinux 0x55f2bf3e __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x55fe8272 d_prune_aliases +EXPORT_SYMBOL vmlinux 0x5600904f fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x5603cf43 do_settimeofday +EXPORT_SYMBOL vmlinux 0x5608d2f0 input_unregister_device +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x561f67fc blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x56586183 console_start +EXPORT_SYMBOL vmlinux 0x566564ac mca_device_set_claim +EXPORT_SYMBOL vmlinux 0x56a038b9 pci_request_regions +EXPORT_SYMBOL vmlinux 0x56c0bfb7 inet_addr_type +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56cc21b9 pagecache_write_end +EXPORT_SYMBOL vmlinux 0x56dc4815 vfs_mkdir +EXPORT_SYMBOL vmlinux 0x56df5a59 mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0x56eb07a5 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x56eee6e0 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x56f00fb0 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x56f494e0 smp_call_function +EXPORT_SYMBOL vmlinux 0x5705fffd md_write_start +EXPORT_SYMBOL vmlinux 0x57107407 neigh_lookup +EXPORT_SYMBOL vmlinux 0x5722cc09 get_sb_single +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x5732d665 fget +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57774aab make_bad_inode +EXPORT_SYMBOL vmlinux 0x57821547 blk_make_request +EXPORT_SYMBOL vmlinux 0x579e5bc3 default_file_splice_read +EXPORT_SYMBOL vmlinux 0x579fbcd2 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x57a6504e vsnprintf +EXPORT_SYMBOL vmlinux 0x57adf756 per_cpu__this_cpu_off +EXPORT_SYMBOL vmlinux 0x57ae3e67 dev_unicast_delete +EXPORT_SYMBOL vmlinux 0x57af7c46 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x57b1f6e4 pv_cpu_ops +EXPORT_SYMBOL vmlinux 0x57b57ebe jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0x57cf67ea xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x57db7242 mangle_path +EXPORT_SYMBOL vmlinux 0x58115039 slow_work_cancel +EXPORT_SYMBOL vmlinux 0x581de6a9 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x5828cc86 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x58398508 nobh_writepage +EXPORT_SYMBOL vmlinux 0x584738f9 rdmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x5857e434 groups_free +EXPORT_SYMBOL vmlinux 0x5859b1a7 seq_bitmap +EXPORT_SYMBOL vmlinux 0x585eb114 mmc_card_sleep +EXPORT_SYMBOL vmlinux 0x5870ff40 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x58a9a74e get_sb_ns +EXPORT_SYMBOL vmlinux 0x58b090cb lock_super +EXPORT_SYMBOL vmlinux 0x58f473ec pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x58fef6f8 ist_info +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x5960a650 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x599f63d3 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x59b3ffae cdrom_release +EXPORT_SYMBOL vmlinux 0x59bc9609 acpi_write_bit_register +EXPORT_SYMBOL vmlinux 0x59c5e9a0 vfs_dq_quota_on_remount +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59d8223a ioport_resource +EXPORT_SYMBOL vmlinux 0x59f465f9 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x5a287afc mb_cache_create +EXPORT_SYMBOL vmlinux 0x5a4896a8 __put_user_2 +EXPORT_SYMBOL vmlinux 0x5a57d155 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x5a5c1194 lock_may_read +EXPORT_SYMBOL vmlinux 0x5a71c326 input_event +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5a7c40d1 journal_extend +EXPORT_SYMBOL vmlinux 0x5ac376a5 acpi_install_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x5af0b6bf page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x5b19634d div_s64_rem +EXPORT_SYMBOL vmlinux 0x5b1e52f1 journal_check_used_features +EXPORT_SYMBOL vmlinux 0x5b2ee994 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x5b3b0699 d_invalidate +EXPORT_SYMBOL vmlinux 0x5b4c573e task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x5b51c6a7 acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x5b864d5d ethtool_op_set_flags +EXPORT_SYMBOL vmlinux 0x5b9e01de vga_put +EXPORT_SYMBOL vmlinux 0x5ba0eab2 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x5bc8a155 security_path_link +EXPORT_SYMBOL vmlinux 0x5bcd035a blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x5be02196 tty_port_close_end +EXPORT_SYMBOL vmlinux 0x5bfaae73 pci_match_id +EXPORT_SYMBOL vmlinux 0x5bfc6abe ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x5c21a9d0 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x5c265cba sg_init_one +EXPORT_SYMBOL vmlinux 0x5c2d4946 set_bh_page +EXPORT_SYMBOL vmlinux 0x5c4df2bf vfs_get_dqblk +EXPORT_SYMBOL vmlinux 0x5c68705b mca_read_pos +EXPORT_SYMBOL vmlinux 0x5c71f59a blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x5c96b1bc kernel_listen +EXPORT_SYMBOL vmlinux 0x5ca313d8 eth_header +EXPORT_SYMBOL vmlinux 0x5cc1be16 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x5cc85866 __kfree_skb +EXPORT_SYMBOL vmlinux 0x5d12b3fc twl4030_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x5d2186d2 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x5d28351a i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0x5d3c16c0 skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x5d4786d4 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x5d6016f0 generic_block_bmap +EXPORT_SYMBOL vmlinux 0x5d7e9392 security_path_rmdir +EXPORT_SYMBOL vmlinux 0x5da7c940 dmam_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x5dc62311 poll_initwait +EXPORT_SYMBOL vmlinux 0x5de1b4a8 i2c_master_send +EXPORT_SYMBOL vmlinux 0x5e239123 dquot_acquire +EXPORT_SYMBOL vmlinux 0x5e3e91ac pci_find_device +EXPORT_SYMBOL vmlinux 0x5e424744 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x5e442388 d_alloc_name +EXPORT_SYMBOL vmlinux 0x5e51f8a0 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x5e5c58c2 dquot_free_space +EXPORT_SYMBOL vmlinux 0x5e862765 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea520c5 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x5eb1b630 pci_release_region +EXPORT_SYMBOL vmlinux 0x5ebc6d6c abort_creds +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5ee30132 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x5ef5d89b dma_pool_create +EXPORT_SYMBOL vmlinux 0x5efeaf42 neigh_create +EXPORT_SYMBOL vmlinux 0x5f1bd579 mca_find_adapter +EXPORT_SYMBOL vmlinux 0x5f56db66 per_cpu__ftrace_event_seq +EXPORT_SYMBOL vmlinux 0x5f64f5e7 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x5f655cfc generic_make_request +EXPORT_SYMBOL vmlinux 0x5f8a88c1 d_instantiate +EXPORT_SYMBOL vmlinux 0x5fa83cb3 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x5fa99c36 pci_reenable_device +EXPORT_SYMBOL vmlinux 0x5fb0ff9c __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x5fb1d128 skb_gso_segment +EXPORT_SYMBOL vmlinux 0x5fc1b129 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x5fc6d679 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0x5fcd4516 i2c_clients_command +EXPORT_SYMBOL vmlinux 0x5fe138e8 pci_scan_slot +EXPORT_SYMBOL vmlinux 0x5ff42b08 acpi_video_get_capabilities +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x60243b7d dma_async_device_register +EXPORT_SYMBOL vmlinux 0x602ed00d acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0x6043092c atomic64_dec_and_test +EXPORT_SYMBOL vmlinux 0x605e7d2e skb_store_bits +EXPORT_SYMBOL vmlinux 0x60764839 backlight_device_register +EXPORT_SYMBOL vmlinux 0x607d314f rfkill_register +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a0ebad __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x60a279ff pci_do_scan_bus +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60b5860e dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x60c1538d sk_dst_check +EXPORT_SYMBOL vmlinux 0x60cb375f unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x60f5b5ae pnp_find_dev +EXPORT_SYMBOL vmlinux 0x6114facd pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0x611d5736 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x61209df3 phy_disconnect +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x612c6cc8 sk_stream_error +EXPORT_SYMBOL vmlinux 0x6146f301 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x618d8299 set_notify_swap_entry_free +EXPORT_SYMBOL vmlinux 0x61b5dd04 qdisc_list_del +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61ccfc6f dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x61e9e8e7 vfs_quota_off +EXPORT_SYMBOL vmlinux 0x62049256 acpi_disable +EXPORT_SYMBOL vmlinux 0x62193598 pnp_range_reserved +EXPORT_SYMBOL vmlinux 0x62202f63 scsi_register +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x6237f6b5 acpi_enable_event +EXPORT_SYMBOL vmlinux 0x623fc9cb simple_fill_super +EXPORT_SYMBOL vmlinux 0x6241a2ab __copy_from_user_ll_nocache +EXPORT_SYMBOL vmlinux 0x6241fd2c acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0x6261ecfd ip6_route_output +EXPORT_SYMBOL vmlinux 0x626cbc80 iget5_locked +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x629ea944 generic_write_checks +EXPORT_SYMBOL vmlinux 0x62a831e3 ethtool_op_set_tx_hw_csum +EXPORT_SYMBOL vmlinux 0x62b5f7cc page_put_link +EXPORT_SYMBOL vmlinux 0x62b7d606 write_one_page +EXPORT_SYMBOL vmlinux 0x62c85ffb acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0x62ee21b5 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0x62f1f107 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x6307fc98 del_timer +EXPORT_SYMBOL vmlinux 0x6319ca34 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x631c6832 d_path +EXPORT_SYMBOL vmlinux 0x636a5691 acpi_register_ioapic +EXPORT_SYMBOL vmlinux 0x63738778 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63efc536 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x640a7078 posix_acl_create_masq +EXPORT_SYMBOL vmlinux 0x641c9211 dm_table_event +EXPORT_SYMBOL vmlinux 0x642e54ac __wake_up +EXPORT_SYMBOL vmlinux 0x64526a93 atomic64_sub_return +EXPORT_SYMBOL vmlinux 0x6466a1e6 mempool_alloc +EXPORT_SYMBOL vmlinux 0x6476a646 alloc_disk_node +EXPORT_SYMBOL vmlinux 0x6478134c ec_burst_enable +EXPORT_SYMBOL vmlinux 0x647a11a4 __find_get_block +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64bf1010 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x64eae7ad set_memory_array_wb +EXPORT_SYMBOL vmlinux 0x64ff4568 fb_show_logo +EXPORT_SYMBOL vmlinux 0x650227d1 blk_sync_queue +EXPORT_SYMBOL vmlinux 0x650bb503 unlock_buffer +EXPORT_SYMBOL vmlinux 0x650fb346 add_wait_queue +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65414e67 dev_valid_name +EXPORT_SYMBOL vmlinux 0x656a5ce5 ip_fragment +EXPORT_SYMBOL vmlinux 0x65c6861c scsi_get_command +EXPORT_SYMBOL vmlinux 0x65de310d blk_free_tags +EXPORT_SYMBOL vmlinux 0x6600ede2 __netdev_alloc_page +EXPORT_SYMBOL vmlinux 0x66523962 pipe_lock +EXPORT_SYMBOL vmlinux 0x665a8b6b sock_map_fd +EXPORT_SYMBOL vmlinux 0x665f2b2c generic_file_open +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x669b9779 tcf_hash_search +EXPORT_SYMBOL vmlinux 0x66b2730d pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x66b8d422 __nla_reserve +EXPORT_SYMBOL vmlinux 0x66d10008 kill_pid +EXPORT_SYMBOL vmlinux 0x66f04da1 dquot_initialize +EXPORT_SYMBOL vmlinux 0x67053080 current_kernel_time +EXPORT_SYMBOL vmlinux 0x6729d3df __get_user_4 +EXPORT_SYMBOL vmlinux 0x677b2570 blk_requeue_request +EXPORT_SYMBOL vmlinux 0x67804a19 __any_online_cpu +EXPORT_SYMBOL vmlinux 0x67a92cfe jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x67a9f3c6 ethtool_op_get_flags +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x68332af2 otg_set_transceiver +EXPORT_SYMBOL vmlinux 0x683406b4 rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0x6886f0b6 dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0x688cd1ad fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x68a7297b devm_ioremap +EXPORT_SYMBOL vmlinux 0x68d487a2 skb_append +EXPORT_SYMBOL vmlinux 0x68e0d994 blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0x690e716e tcp_splice_read +EXPORT_SYMBOL vmlinux 0x691eb2b7 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x6953e87a thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0x696c6e11 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x6980fe91 param_get_int +EXPORT_SYMBOL vmlinux 0x69927dff try_acquire_console_sem +EXPORT_SYMBOL vmlinux 0x69a0ca7d iowrite16be +EXPORT_SYMBOL vmlinux 0x69c8c1d5 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x69d2575f efi +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a165cf2 inode_needs_sync +EXPORT_SYMBOL vmlinux 0x6a21e8cf dma_set_mask +EXPORT_SYMBOL vmlinux 0x6a22eaaf pcim_pin_device +EXPORT_SYMBOL vmlinux 0x6a27bfce csum_partial_copy_generic +EXPORT_SYMBOL vmlinux 0x6a3c423d sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x6a47571d __set_personality +EXPORT_SYMBOL vmlinux 0x6a6687bf scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a9f26c9 init_timer_key +EXPORT_SYMBOL vmlinux 0x6ab67340 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6ad065f4 param_set_charp +EXPORT_SYMBOL vmlinux 0x6ad3ad79 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x6ad85887 acpi_enable_gpe +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6b0b452b ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b203cee vfs_unlink +EXPORT_SYMBOL vmlinux 0x6b28395b sysctl_jiffies +EXPORT_SYMBOL vmlinux 0x6b2ab172 pcibios_set_irq_routing +EXPORT_SYMBOL vmlinux 0x6b2d9fb2 journal_start +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b7c6bff pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x6b9357cf scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x6b937ffb mca_mark_as_used +EXPORT_SYMBOL vmlinux 0x6b96c5a9 replace_mount_options +EXPORT_SYMBOL vmlinux 0x6b97f171 serio_rescan +EXPORT_SYMBOL vmlinux 0x6b9b88f3 sleep_on +EXPORT_SYMBOL vmlinux 0x6bb423b2 phy_detach +EXPORT_SYMBOL vmlinux 0x6bb812e7 atomic64_add_return +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bd8a802 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6bfcccbe tcp_read_sock +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c2e3320 strncmp +EXPORT_SYMBOL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL vmlinux 0x6c475752 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x6c4f5301 d_move +EXPORT_SYMBOL vmlinux 0x6c5e9b2c kmap_atomic_prot +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6ca9527d dquot_commit_info +EXPORT_SYMBOL vmlinux 0x6ca99719 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x6cd3008b ethtool_op_get_rx_csum +EXPORT_SYMBOL vmlinux 0x6cdc51f1 scsi_device_put +EXPORT_SYMBOL vmlinux 0x6cdc5c6b nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6d069f23 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x6d27ef64 __bitmap_empty +EXPORT_SYMBOL vmlinux 0x6d288375 radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d3cc0f6 zero_fill_bio +EXPORT_SYMBOL vmlinux 0x6d464175 __sg_free_table +EXPORT_SYMBOL vmlinux 0x6d56994a cmpxchg_486_u64 +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d8eb692 register_8022_client +EXPORT_SYMBOL vmlinux 0x6db7e6e5 input_set_keycode +EXPORT_SYMBOL vmlinux 0x6dc0c24b complete_and_exit +EXPORT_SYMBOL vmlinux 0x6dcb53ed eisa_bus_type +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6e07a54e acpi_get_gpe_status +EXPORT_SYMBOL vmlinux 0x6e1d27ae keyring_clear +EXPORT_SYMBOL vmlinux 0x6e4e5f44 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e917a21 ip_route_input +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6eb0fdf3 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x6ebe49dd unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x6ee0d33c generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x6ef71d72 netlink_broadcast +EXPORT_SYMBOL vmlinux 0x6ef9af47 bio_pair_release +EXPORT_SYMBOL vmlinux 0x6f2760e5 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x6f3b843e scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x6f556bdb acpi_get_gpe_device +EXPORT_SYMBOL vmlinux 0x6f55fe3a dm_dirty_log_type_register +EXPORT_SYMBOL vmlinux 0x6faa3852 skb_seq_read +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fdc017b tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x6feb2039 acpi_write +EXPORT_SYMBOL vmlinux 0x6fec6ff9 scsi_execute_req +EXPORT_SYMBOL vmlinux 0x6fff393f time_to_tm +EXPORT_SYMBOL vmlinux 0x7005d5b3 scsi_ioctl +EXPORT_SYMBOL vmlinux 0x700749c4 tcf_em_register +EXPORT_SYMBOL vmlinux 0x701200ca journal_update_format +EXPORT_SYMBOL vmlinux 0x701d0ebd snprintf +EXPORT_SYMBOL vmlinux 0x701fefc4 phy_enable_interrupts +EXPORT_SYMBOL vmlinux 0x7042a83f dm_register_target +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x70616eb9 bio_map_user +EXPORT_SYMBOL vmlinux 0x706ac77d pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x70857ee6 write_cache_pages +EXPORT_SYMBOL vmlinux 0x70bbea46 input_inject_event +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70d1f8f3 strncat +EXPORT_SYMBOL vmlinux 0x70d287a9 redraw_screen +EXPORT_SYMBOL vmlinux 0x70d8ab82 acpi_acquire_global_lock +EXPORT_SYMBOL vmlinux 0x70dc114f pnp_device_attach +EXPORT_SYMBOL vmlinux 0x70ffbbe0 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x71062993 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x711c93d4 bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x711e693c ip_setsockopt +EXPORT_SYMBOL vmlinux 0x711f9bf6 set_bdi_congested +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x712aa29b _spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x71356fba remove_wait_queue +EXPORT_SYMBOL vmlinux 0x714c7a81 acpi_check_mem_region +EXPORT_SYMBOL vmlinux 0x71548ca5 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71b2dc95 dqput +EXPORT_SYMBOL vmlinux 0x71d492d5 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x71e0bf8c mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0x71e75ad3 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x726e6902 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x72773ea8 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72bea26d dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x72bf2140 mtrr_add +EXPORT_SYMBOL vmlinux 0x72c3be87 param_set_byte +EXPORT_SYMBOL vmlinux 0x72c9556d rfkill_unregister +EXPORT_SYMBOL vmlinux 0x72c991c2 find_inode_number +EXPORT_SYMBOL vmlinux 0x72ca97fa vc_cons +EXPORT_SYMBOL vmlinux 0x72cf52c9 tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x72dda130 pnp_is_active +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72f1bc8b journal_errno +EXPORT_SYMBOL vmlinux 0x73213ab5 tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x735a0bd5 native_io_delay +EXPORT_SYMBOL vmlinux 0x735dc8b2 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x7362dd1e vfs_fstat +EXPORT_SYMBOL vmlinux 0x738803e6 strnlen +EXPORT_SYMBOL vmlinux 0x7389c9a8 acpi_bus_get_power +EXPORT_SYMBOL vmlinux 0x73a3fef8 fb_validate_mode +EXPORT_SYMBOL vmlinux 0x73d87427 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x73dad496 may_umount +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x740668f1 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x740a1b95 reserve_evntsel_nmi +EXPORT_SYMBOL vmlinux 0x7413793a EISA_bus +EXPORT_SYMBOL vmlinux 0x741978d1 simple_release_fs +EXPORT_SYMBOL vmlinux 0x744c0c68 param_get_byte +EXPORT_SYMBOL vmlinux 0x746d3b5f rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x74840718 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x748caf40 down +EXPORT_SYMBOL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL vmlinux 0x74aa0ac4 generic_permission +EXPORT_SYMBOL vmlinux 0x74bfc369 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x74c1a801 dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74f565fe blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x75184308 generic_setxattr +EXPORT_SYMBOL vmlinux 0x75271716 save_processor_state +EXPORT_SYMBOL vmlinux 0x754d9c51 get_write_access +EXPORT_SYMBOL vmlinux 0x75620386 set_anon_super +EXPORT_SYMBOL vmlinux 0x759f34da pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x75af0b61 ip_route_output_key +EXPORT_SYMBOL vmlinux 0x75af9366 udp_disconnect +EXPORT_SYMBOL vmlinux 0x75f4cb99 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x75f9f8b3 set_irq_chip +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x7619fe63 unregister_snap_client +EXPORT_SYMBOL vmlinux 0x762971c7 new_inode +EXPORT_SYMBOL vmlinux 0x762b4df2 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x76367f6e kick_iocb +EXPORT_SYMBOL vmlinux 0x763ec35f xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x7658ee2b ethtool_op_set_ufo +EXPORT_SYMBOL vmlinux 0x767ddb02 set_memory_wc +EXPORT_SYMBOL vmlinux 0x76853b4f pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0x76b0f8f8 bad_dma_address +EXPORT_SYMBOL vmlinux 0x76b0fa85 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x76be103a bio_kmalloc +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76ecad99 mutex_lock +EXPORT_SYMBOL vmlinux 0x76f3f8a5 num_k8_northbridges +EXPORT_SYMBOL vmlinux 0x770586e9 do_SAK +EXPORT_SYMBOL vmlinux 0x770a0036 isapnp_cfg_begin +EXPORT_SYMBOL vmlinux 0x771a8c06 sock_create_kern +EXPORT_SYMBOL vmlinux 0x77282f5c blk_put_request +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x774b3b4b tcp_check_req +EXPORT_SYMBOL vmlinux 0x775ff05a xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x77615e14 register_exec_domain +EXPORT_SYMBOL vmlinux 0x77895458 key_task_permission +EXPORT_SYMBOL vmlinux 0x77a108df _write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x77ac4a66 input_register_handler +EXPORT_SYMBOL vmlinux 0x77bfd17e udp_proc_register +EXPORT_SYMBOL vmlinux 0x77cfcfde __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77fa5d1f ns_to_timespec +EXPORT_SYMBOL vmlinux 0x7825b310 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x7830580c seq_lseek +EXPORT_SYMBOL vmlinux 0x784b532d phy_stop +EXPORT_SYMBOL vmlinux 0x787a3804 freeze_bdev +EXPORT_SYMBOL vmlinux 0x787f0131 vfs_quota_on_mount +EXPORT_SYMBOL vmlinux 0x788fe103 iomem_resource +EXPORT_SYMBOL vmlinux 0x789396c5 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x78a484c9 _read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78f43843 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x79068fda acpi_install_method +EXPORT_SYMBOL vmlinux 0x79240f0c tty_insert_flip_string +EXPORT_SYMBOL vmlinux 0x793a8597 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x794487ee disable_hlt +EXPORT_SYMBOL vmlinux 0x79465218 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x7975477f inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79ad224b tasklet_kill +EXPORT_SYMBOL vmlinux 0x79de3469 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x79ea52ae genphy_resume +EXPORT_SYMBOL vmlinux 0x79edc0de scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x7a107d23 dmam_release_declared_memory +EXPORT_SYMBOL vmlinux 0x7a1bda9d register_con_driver +EXPORT_SYMBOL vmlinux 0x7a2a837d strict_strtol +EXPORT_SYMBOL vmlinux 0x7a31fc39 dev_load +EXPORT_SYMBOL vmlinux 0x7a41e20f f_setown +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a4fbeb1 phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x7a7fb0cd simple_transaction_release +EXPORT_SYMBOL vmlinux 0x7a848702 _read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x7adecb2f unlock_rename +EXPORT_SYMBOL vmlinux 0x7aea237b jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x7aec9089 clear_user +EXPORT_SYMBOL vmlinux 0x7afee150 dma_supported +EXPORT_SYMBOL vmlinux 0x7b0591bb mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0x7b0c84c4 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0x7b10d1ea take_over_console +EXPORT_SYMBOL vmlinux 0x7b134ddf acpi_get_name +EXPORT_SYMBOL vmlinux 0x7b2d8ae4 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x7b38cbf0 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x7b46e767 fb_blank +EXPORT_SYMBOL vmlinux 0x7b52a859 wrmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x7b56bd05 acpi_lid_notifier_register +EXPORT_SYMBOL vmlinux 0x7b5c9200 bd_claim +EXPORT_SYMBOL vmlinux 0x7b626f15 blk_stop_queue +EXPORT_SYMBOL vmlinux 0x7b6902fa pci_set_dma_mask +EXPORT_SYMBOL vmlinux 0x7b70e023 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x7b75527e skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x7b7ffb3f tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x7b9b8441 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x7bd508ca pnp_activate_dev +EXPORT_SYMBOL vmlinux 0x7c0edd7d acpi_check_region +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c67c1e0 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x7c6c8574 blk_init_tags +EXPORT_SYMBOL vmlinux 0x7c8fa086 hippi_mac_addr +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c9c95ac dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x7ca0abed nlmsg_notify +EXPORT_SYMBOL vmlinux 0x7cb1ae69 cpu_down +EXPORT_SYMBOL vmlinux 0x7cca07be tcf_hash_check +EXPORT_SYMBOL vmlinux 0x7cd98f67 skb_unlink +EXPORT_SYMBOL vmlinux 0x7d07d26c llc_sap_open +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d13609b wake_up_process +EXPORT_SYMBOL vmlinux 0x7d57b2cd alloc_disk +EXPORT_SYMBOL vmlinux 0x7d71d313 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x7d766f20 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x7da02470 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x7da29be1 dm_put_device +EXPORT_SYMBOL vmlinux 0x7da6135c simple_link +EXPORT_SYMBOL vmlinux 0x7dceceac capable +EXPORT_SYMBOL vmlinux 0x7dcee933 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0x7df6e349 __free_pages +EXPORT_SYMBOL vmlinux 0x7e03f4f1 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x7e1931ef dget_locked +EXPORT_SYMBOL vmlinux 0x7e1b8ba3 get_empty_filp +EXPORT_SYMBOL vmlinux 0x7e1ba0d2 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x7e20cce3 netlink_set_err +EXPORT_SYMBOL vmlinux 0x7e59dc80 rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0x7e5fcb4f ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x7e61d379 __vlan_hwaccel_rx +EXPORT_SYMBOL vmlinux 0x7e7ed98c inode_permission +EXPORT_SYMBOL vmlinux 0x7e9ebb05 kernel_thread +EXPORT_SYMBOL vmlinux 0x7ea872ad generic_write_sync +EXPORT_SYMBOL vmlinux 0x7ebbd901 pci_pme_active +EXPORT_SYMBOL vmlinux 0x7ebcd77c blk_execute_rq +EXPORT_SYMBOL vmlinux 0x7ecb001b __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x7ee03413 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x7ee60ace i2c_master_recv +EXPORT_SYMBOL vmlinux 0x7ee80f3a dst_destroy +EXPORT_SYMBOL vmlinux 0x7ee91c1d _spin_trylock +EXPORT_SYMBOL vmlinux 0x7ef9e739 posix_lock_file +EXPORT_SYMBOL vmlinux 0x7f02b680 tty_write_room +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f27c867 dma_ops +EXPORT_SYMBOL vmlinux 0x7f6669ee xfrm_bundle_ok +EXPORT_SYMBOL vmlinux 0x7f8d84aa lro_vlan_hwaccel_receive_frags +EXPORT_SYMBOL vmlinux 0x7fa2eca6 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x7fb77ac9 dev_getbyhwaddr +EXPORT_SYMBOL vmlinux 0x7ffc0d72 phy_register_fixup +EXPORT_SYMBOL vmlinux 0x801d65a4 kill_litter_super +EXPORT_SYMBOL vmlinux 0x8026a4ec framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x8032f698 remove_inode_hash +EXPORT_SYMBOL vmlinux 0x803a135f unregister_netdevice +EXPORT_SYMBOL vmlinux 0x803cf5e2 devm_iounmap +EXPORT_SYMBOL vmlinux 0x803f3ba6 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x804d00e7 pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0x8063f83d radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x807938ff simple_rmdir +EXPORT_SYMBOL vmlinux 0x807d4f82 rtc_dev_update_irq_enable_emul +EXPORT_SYMBOL vmlinux 0x807ec91e uart_suspend_port +EXPORT_SYMBOL vmlinux 0x808e3163 dev_unicast_unsync +EXPORT_SYMBOL vmlinux 0x808ed7a1 security_path_unlink +EXPORT_SYMBOL vmlinux 0x80e9129d scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x8113bc56 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x812ea6d5 md_integrity_register +EXPORT_SYMBOL vmlinux 0x8130a983 scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0x81472677 acpi_get_table +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815c56d0 cpu_present_mask +EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page +EXPORT_SYMBOL vmlinux 0x81799cee vscnprintf +EXPORT_SYMBOL vmlinux 0x817bca17 pnp_start_dev +EXPORT_SYMBOL vmlinux 0x817c1b13 posix_acl_permission +EXPORT_SYMBOL vmlinux 0x81a2cfb1 find_get_page +EXPORT_SYMBOL vmlinux 0x81a793e3 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x81a86b8d inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x81cfe886 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x820d225f print_mac +EXPORT_SYMBOL vmlinux 0x820fc63c vfsmount_lock +EXPORT_SYMBOL vmlinux 0x821147e6 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x821f9d03 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x822e400b journal_dirty_data +EXPORT_SYMBOL vmlinux 0x8235805b memmove +EXPORT_SYMBOL vmlinux 0x824486fc xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x8251d6aa tcp_poll +EXPORT_SYMBOL vmlinux 0x82692209 kref_set +EXPORT_SYMBOL vmlinux 0x82728349 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x828468e1 blkdev_get +EXPORT_SYMBOL vmlinux 0x8286adc3 find_lock_page +EXPORT_SYMBOL vmlinux 0x82a3ef13 proc_symlink +EXPORT_SYMBOL vmlinux 0x82a7ec2a xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82e819c1 fput +EXPORT_SYMBOL vmlinux 0x82fa0269 netif_rx_ni +EXPORT_SYMBOL vmlinux 0x8317e20a completion_done +EXPORT_SYMBOL vmlinux 0x832d0429 fb_set_var +EXPORT_SYMBOL vmlinux 0x8336a10f do_splice_to +EXPORT_SYMBOL vmlinux 0x833fb471 __breadahead +EXPORT_SYMBOL vmlinux 0x8354db12 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x8358aa93 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x83631e8a pci_save_state +EXPORT_SYMBOL vmlinux 0x83904ad4 per_cpu__irq_regs +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83a9e8bf kmap_high +EXPORT_SYMBOL vmlinux 0x83dfd755 clear_inode +EXPORT_SYMBOL vmlinux 0x83ee6b28 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x83f214f4 bio_add_page +EXPORT_SYMBOL vmlinux 0x8403666f alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x843e2678 phy_connect +EXPORT_SYMBOL vmlinux 0x84590a5f ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x8473890e udp_prot +EXPORT_SYMBOL vmlinux 0x84829c84 register_framebuffer +EXPORT_SYMBOL vmlinux 0x84954180 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x8495ab9a serio_reconnect +EXPORT_SYMBOL vmlinux 0x8497298e key_negate_and_link +EXPORT_SYMBOL vmlinux 0x84f1d9c5 __destroy_inode +EXPORT_SYMBOL vmlinux 0x84f8ca57 get_user_pages +EXPORT_SYMBOL vmlinux 0x84fbbff9 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x84fffc7b make_EII_client +EXPORT_SYMBOL vmlinux 0x85087fc9 __kill_fasync +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x8578e238 vfs_follow_link +EXPORT_SYMBOL vmlinux 0x85ac7f10 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x85b5c537 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e7deb2 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x85f66869 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x85fd69f5 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x861252e9 dquot_drop +EXPORT_SYMBOL vmlinux 0x8616ca05 acpi_unlock_ac_dir +EXPORT_SYMBOL vmlinux 0x865758bf path_put +EXPORT_SYMBOL vmlinux 0x865d3ec8 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x86767c67 fb_pan_display +EXPORT_SYMBOL vmlinux 0x8681b48d mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86963d97 qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x86a1d805 generic_read_dir +EXPORT_SYMBOL vmlinux 0x86b1a016 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x86d6edcd vm_insert_page +EXPORT_SYMBOL vmlinux 0x86df7460 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x86ff30bb __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x8703462c poll_freewait +EXPORT_SYMBOL vmlinux 0x8708b20a seq_read +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x8733e9a3 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x876dafc3 ec_write +EXPORT_SYMBOL vmlinux 0x877ba63c nf_log_packet +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x87aaddf8 wrmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0x87b70373 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x87f438a2 sysctl_intvec +EXPORT_SYMBOL vmlinux 0x88021129 blk_unplug +EXPORT_SYMBOL vmlinux 0x880f5979 posix_test_lock +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x8815aec2 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x881f9d52 try_to_release_page +EXPORT_SYMBOL vmlinux 0x885d7b9a audit_log_format +EXPORT_SYMBOL vmlinux 0x8878e928 block_invalidatepage +EXPORT_SYMBOL vmlinux 0x887fa5c8 prepare_binprm +EXPORT_SYMBOL vmlinux 0x88ad0522 phy_start +EXPORT_SYMBOL vmlinux 0x88ade8ef posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0x88bd2d04 serio_interrupt +EXPORT_SYMBOL vmlinux 0x88be77b9 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x88c1da72 genl_register_ops +EXPORT_SYMBOL vmlinux 0x88e88136 ioremap_prot +EXPORT_SYMBOL vmlinux 0x890b26ad pci_disable_msi +EXPORT_SYMBOL vmlinux 0x892b26a0 set_memory_nx +EXPORT_SYMBOL vmlinux 0x893aee4b netif_notify_peers +EXPORT_SYMBOL vmlinux 0x8969b997 ida_get_new +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x898cd8b1 mca_device_claimed +EXPORT_SYMBOL vmlinux 0x89949018 down_timeout +EXPORT_SYMBOL vmlinux 0x899a4bce scsi_scan_target +EXPORT_SYMBOL vmlinux 0x89c957de security_d_instantiate +EXPORT_SYMBOL vmlinux 0x89d01f7d blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x8a1203a9 kref_get +EXPORT_SYMBOL vmlinux 0x8a2760cb ip_dev_find +EXPORT_SYMBOL vmlinux 0x8a29a557 ip_defrag +EXPORT_SYMBOL vmlinux 0x8a373fd7 twl4030_i2c_write +EXPORT_SYMBOL vmlinux 0x8a3eabf0 __wait_on_bit +EXPORT_SYMBOL vmlinux 0x8a403d6d blk_queue_ordered +EXPORT_SYMBOL vmlinux 0x8a7223f9 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a805a3a revalidate_disk +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aa0bc7a blk_integrity_register +EXPORT_SYMBOL vmlinux 0x8aa2cec4 proto_unregister +EXPORT_SYMBOL vmlinux 0x8abdf654 netlink_unicast +EXPORT_SYMBOL vmlinux 0x8ac6395b per_cpu__cpu_info +EXPORT_SYMBOL vmlinux 0x8ae3165e journal_ack_err +EXPORT_SYMBOL vmlinux 0x8ae77528 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x8b18496f __copy_to_user_ll +EXPORT_SYMBOL vmlinux 0x8b217c72 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x8b25b567 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x8b337154 thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0x8b5785db dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x8b5f4a2e IO_APIC_get_PCI_irq_vector +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b88fe9b sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x8b90cde9 nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8ba20b10 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x8bb61773 netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0x8bca23a6 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x8bd313b8 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x8bd5b603 param_get_long +EXPORT_SYMBOL vmlinux 0x8bf83dfb qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x8c1212b9 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c1dbb52 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x8c368ed3 blk_complete_request +EXPORT_SYMBOL vmlinux 0x8c4e77af udp_poll +EXPORT_SYMBOL vmlinux 0x8c5b488a is_container_init +EXPORT_SYMBOL vmlinux 0x8c64b2c7 locks_init_lock +EXPORT_SYMBOL vmlinux 0x8c787687 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x8c9c99a0 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x8cb6e31b end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x8cc66327 acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8cd2043f blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0x8cd40a09 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x8d12b3e9 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x8d2e3f96 inet_frag_find +EXPORT_SYMBOL vmlinux 0x8d3894f2 _ctype +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 0x8dbea14f ndisc_send_skb +EXPORT_SYMBOL vmlinux 0x8dc6e564 restore_processor_state +EXPORT_SYMBOL vmlinux 0x8dca832f __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x8dd219ef vmap +EXPORT_SYMBOL vmlinux 0x8dd319a7 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x8deb7eb3 generic_file_llseek_unlocked +EXPORT_SYMBOL vmlinux 0x8e002cda acpi_remove_gpe_block +EXPORT_SYMBOL vmlinux 0x8e0637ba i8253_lock +EXPORT_SYMBOL vmlinux 0x8e0b7743 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x8e2cc249 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x8e3910b3 module_refcount +EXPORT_SYMBOL vmlinux 0x8e3a3538 con_copy_unimap +EXPORT_SYMBOL vmlinux 0x8e423f7e xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x8e470cc2 __blk_end_request +EXPORT_SYMBOL vmlinux 0x8e712e3b inet_stream_connect +EXPORT_SYMBOL vmlinux 0x8e763ae1 send_remote_softirq +EXPORT_SYMBOL vmlinux 0x8e888ec3 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x8e8bf742 xrlim_allow +EXPORT_SYMBOL vmlinux 0x8ee15524 kunmap +EXPORT_SYMBOL vmlinux 0x8ee1f053 unlock_new_inode +EXPORT_SYMBOL vmlinux 0x8ee44df1 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x8ee69235 timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8f1cf658 neigh_compat_output +EXPORT_SYMBOL vmlinux 0x8f2703b7 wbinvd_on_all_cpus +EXPORT_SYMBOL vmlinux 0x8f29509f napi_frags_skb +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f4965b2 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x8f4c4505 find_or_create_page +EXPORT_SYMBOL vmlinux 0x8f6b7950 set_irq_data +EXPORT_SYMBOL vmlinux 0x8f72fc7f cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x8f9c199c __get_user_2 +EXPORT_SYMBOL vmlinux 0x8fd67268 vfs_readlink +EXPORT_SYMBOL vmlinux 0x8ff4079b pv_irq_ops +EXPORT_SYMBOL vmlinux 0x8ffdb3b8 crc16 +EXPORT_SYMBOL vmlinux 0x90035333 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x902fc465 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x904409c6 acpi_set_firmware_waking_vector +EXPORT_SYMBOL vmlinux 0x905816ed inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x9062cbba tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x906bac8d unbind_con_driver +EXPORT_SYMBOL vmlinux 0x9091e217 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x9099dff3 mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0x90a1601f dmi_check_system +EXPORT_SYMBOL vmlinux 0x90b467ee ppp_input_error +EXPORT_SYMBOL vmlinux 0x90c2dec2 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x90c76a03 kernel_read +EXPORT_SYMBOL vmlinux 0x90fd0c9e close_bdev_exclusive +EXPORT_SYMBOL vmlinux 0x91009452 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x910c7e3d dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x911dee40 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x9144a8e2 ec_burst_disable +EXPORT_SYMBOL vmlinux 0x91481982 __ratelimit +EXPORT_SYMBOL vmlinux 0x91607d95 set_memory_wb +EXPORT_SYMBOL vmlinux 0x9165b770 flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x91766c09 param_get_ulong +EXPORT_SYMBOL vmlinux 0x91a7bb1b set_pages_array_uc +EXPORT_SYMBOL vmlinux 0x91aa4280 __alloc_skb +EXPORT_SYMBOL vmlinux 0x9203d86b read_dev_sector +EXPORT_SYMBOL vmlinux 0x9214ed8a param_get_bool +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x9249237c do_truncate +EXPORT_SYMBOL vmlinux 0x928670dc scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x92897e3d default_idle +EXPORT_SYMBOL vmlinux 0x929be21a ___pskb_trim +EXPORT_SYMBOL vmlinux 0x92a01195 __napi_complete +EXPORT_SYMBOL vmlinux 0x92ac7c22 submit_bh +EXPORT_SYMBOL vmlinux 0x92ad6950 eth_header_cache +EXPORT_SYMBOL vmlinux 0x92af21d0 slow_work_unregister_user +EXPORT_SYMBOL vmlinux 0x92cd7162 find_vma +EXPORT_SYMBOL vmlinux 0x92d0f7bc dm_dirty_log_type_unregister +EXPORT_SYMBOL vmlinux 0x92e84186 neigh_seq_start +EXPORT_SYMBOL vmlinux 0x92fc878d generic_removexattr +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x9330cb9f sg_alloc_table +EXPORT_SYMBOL vmlinux 0x936a3568 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x9385667d down_read_trylock +EXPORT_SYMBOL vmlinux 0x938d3892 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93c651be acpi_info +EXPORT_SYMBOL vmlinux 0x93cbd1ec _spin_lock_bh +EXPORT_SYMBOL vmlinux 0x93d39461 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x93ed7ede jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x94352977 kill_block_super +EXPORT_SYMBOL vmlinux 0x944832d6 ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x94551423 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x94847b23 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x94932ccd pnp_find_card +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94978d87 flush_old_exec +EXPORT_SYMBOL vmlinux 0x94a6467e kobject_put +EXPORT_SYMBOL vmlinux 0x94b541b5 cpu_active_mask +EXPORT_SYMBOL vmlinux 0x94b87ea5 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x94d1a9ae scsi_prep_return +EXPORT_SYMBOL vmlinux 0x94d962ec km_new_mapping +EXPORT_SYMBOL vmlinux 0x94d990ef nonseekable_open +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x954cbb26 vsprintf +EXPORT_SYMBOL vmlinux 0x95524700 kmap +EXPORT_SYMBOL vmlinux 0x955abf45 blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x95d51e03 dev_addr_add +EXPORT_SYMBOL vmlinux 0x95e5929b tr_type_trans +EXPORT_SYMBOL vmlinux 0x96051c70 generic_delete_inode +EXPORT_SYMBOL vmlinux 0x9623199c tty_mutex +EXPORT_SYMBOL vmlinux 0x9629486a per_cpu__cpu_number +EXPORT_SYMBOL vmlinux 0x962c5cfb textsearch_unregister +EXPORT_SYMBOL vmlinux 0x96418422 copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x9642ed75 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x964e0968 vc_resize +EXPORT_SYMBOL vmlinux 0x968359da unlock_super +EXPORT_SYMBOL vmlinux 0x96898769 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x969561e5 md_write_end +EXPORT_SYMBOL vmlinux 0x96979e37 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x96aee5dd set_blocksize +EXPORT_SYMBOL vmlinux 0x96c26b39 ps2_init +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96f94f34 blk_plug_device +EXPORT_SYMBOL vmlinux 0x9707c004 set_binfmt +EXPORT_SYMBOL vmlinux 0x972141ea bdev_read_only +EXPORT_SYMBOL vmlinux 0x9725db50 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x972f2ee6 dquot_claim_space +EXPORT_SYMBOL vmlinux 0x973463bf add_disk +EXPORT_SYMBOL vmlinux 0x973873ab _spin_lock +EXPORT_SYMBOL vmlinux 0x97422178 jbd2_journal_update_format +EXPORT_SYMBOL vmlinux 0x97462bc5 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x974c0a84 sk_alloc +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x9756c141 skb_push +EXPORT_SYMBOL vmlinux 0x975f3e95 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x97660bbb ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x978c2ba9 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x979fb7a6 pci_iomap +EXPORT_SYMBOL vmlinux 0x97c4ae6c pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x97c8149d touch_atime +EXPORT_SYMBOL vmlinux 0x97de0ddd acpi_install_gpe_block +EXPORT_SYMBOL vmlinux 0x97ec7db5 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x980bc899 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0x981c8e25 pci_dev_get +EXPORT_SYMBOL vmlinux 0x98365e8c ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x988ed85d set_memory_x +EXPORT_SYMBOL vmlinux 0x988fcce5 mmc_resume_host +EXPORT_SYMBOL vmlinux 0x98ba3b81 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x98bb29c2 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x98cdcb51 pci_set_mwi +EXPORT_SYMBOL vmlinux 0x98e32690 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x99052a84 acpi_os_write_port +EXPORT_SYMBOL vmlinux 0x992acbc8 ilookup5 +EXPORT_SYMBOL vmlinux 0x996fac07 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x998378ca pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c7a8b8 jbd2_dev_to_name +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99d380c1 inet_del_protocol +EXPORT_SYMBOL vmlinux 0x99ea12ce panic_blink +EXPORT_SYMBOL vmlinux 0x99f62fdd unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x9a03db78 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a365fb5 block_write_begin +EXPORT_SYMBOL vmlinux 0x9a443297 simple_getattr +EXPORT_SYMBOL vmlinux 0x9a51b024 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x9a6a83f9 cmos_lock +EXPORT_SYMBOL vmlinux 0x9a6bad8f __dst_free +EXPORT_SYMBOL vmlinux 0x9a8c5700 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x9a949fd2 is_bad_inode +EXPORT_SYMBOL vmlinux 0x9a953ec0 llc_mac_hdr_init +EXPORT_SYMBOL vmlinux 0x9a9985be percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x9aaabf77 request_key_async +EXPORT_SYMBOL vmlinux 0x9ab11d50 filemap_fdatawait +EXPORT_SYMBOL vmlinux 0x9ab48602 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x9ad30be0 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x9ae96cce rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b419f5c devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0x9b4ba431 vfs_fsync +EXPORT_SYMBOL vmlinux 0x9b4d4ec9 sk_receive_skb +EXPORT_SYMBOL vmlinux 0x9b4d79e4 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x9b4de8eb idr_replace +EXPORT_SYMBOL vmlinux 0x9b67b3ea __scm_send +EXPORT_SYMBOL vmlinux 0x9b6eb137 ksize +EXPORT_SYMBOL vmlinux 0x9b72759d sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9baa9283 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0x9bad5569 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x9bbd6021 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x9bce482f __release_region +EXPORT_SYMBOL vmlinux 0x9bd23478 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x9bd36cd5 tty_vhangup +EXPORT_SYMBOL vmlinux 0x9bdb8427 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x9beef962 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x9bf5cbc5 security_file_permission +EXPORT_SYMBOL vmlinux 0x9c012508 fb_parse_edid +EXPORT_SYMBOL vmlinux 0x9c027294 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x9c098b84 dev_alloc_name +EXPORT_SYMBOL vmlinux 0x9c19ad20 eth_type_trans +EXPORT_SYMBOL vmlinux 0x9c1ba255 complete_request_key +EXPORT_SYMBOL vmlinux 0x9c2c944a __copy_from_user_ll_nocache_nozero +EXPORT_SYMBOL vmlinux 0x9c3bdabc neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x9c6d55cf blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0x9c7077bd enable_hlt +EXPORT_SYMBOL vmlinux 0x9c71e738 per_cpu__vm_event_states +EXPORT_SYMBOL vmlinux 0x9cb45574 get_sb_bdev +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9ccb2622 finish_wait +EXPORT_SYMBOL vmlinux 0x9ceb163c memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x9ced38aa down_trylock +EXPORT_SYMBOL vmlinux 0x9cf9656c __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d02db63 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x9d16855e input_release_device +EXPORT_SYMBOL vmlinux 0x9d2a956f textsearch_register +EXPORT_SYMBOL vmlinux 0x9d2bf726 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x9d33ef5e acpi_enable +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d461d4a blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x9d608c30 writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x9d6ac6c6 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x9d8e6569 dev_alloc_skb +EXPORT_SYMBOL vmlinux 0x9da65585 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x9dc6e4b5 dquot_release +EXPORT_SYMBOL vmlinux 0x9dd719a1 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x9de7a2e6 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x9dfcf083 qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0x9e0c4876 generic_readlink +EXPORT_SYMBOL vmlinux 0x9e2000a7 memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x9e363b6b acpi_disable_gpe +EXPORT_SYMBOL vmlinux 0x9e4ee07a inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x9e543be6 __ps2_command +EXPORT_SYMBOL vmlinux 0x9e581a02 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x9e64fbfe rtc_cmos_read +EXPORT_SYMBOL vmlinux 0x9e672ff6 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x9e6e80d8 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x9e71e2c5 journal_restart +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ec68dba pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x9ed685ee iov_iter_advance +EXPORT_SYMBOL vmlinux 0x9eecde16 do_brk +EXPORT_SYMBOL vmlinux 0x9f0a4e98 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x9f1a9a56 unregister_key_type +EXPORT_SYMBOL vmlinux 0x9f24c1ea inet6_release +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f2d613e param_set_bool +EXPORT_SYMBOL vmlinux 0x9f424093 free_user_ns +EXPORT_SYMBOL vmlinux 0x9f577ca3 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x9f92efc4 mmiotrace_printk +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa274b4 dq_data_lock +EXPORT_SYMBOL vmlinux 0x9fa37585 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x9fa68832 xfrm_lookup +EXPORT_SYMBOL vmlinux 0x9fb3d877 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x9fb3dd30 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9ff77d17 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0xa0035054 send_sig +EXPORT_SYMBOL vmlinux 0xa03523d5 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa0525a2c mca_unregister_driver +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa07c4cba inet_frag_evictor +EXPORT_SYMBOL vmlinux 0xa088299b ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xa09ef07d force_sig +EXPORT_SYMBOL vmlinux 0xa0a4ac21 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b3546f key_link +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0dc2457 vfs_quota_enable +EXPORT_SYMBOL vmlinux 0xa0e79828 skb_trim +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa126b20c udp_proc_unregister +EXPORT_SYMBOL vmlinux 0xa13798f8 printk_ratelimit +EXPORT_SYMBOL vmlinux 0xa13c0c8d splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0xa176cff8 dev_addr_del +EXPORT_SYMBOL vmlinux 0xa1772c89 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0xa1882017 loop_register_transfer +EXPORT_SYMBOL vmlinux 0xa19805e8 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xa1b02f9a notify_change +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1bbff89 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1d86b8f pnp_request_card_device +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa21928a1 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xa235019d bio_copy_user +EXPORT_SYMBOL vmlinux 0xa27eca6d blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0xa29b1708 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0xa2a1dc2e jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xa2a1e5c9 _write_lock_bh +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2aa92db slow_work_sleep_till_thread_needed +EXPORT_SYMBOL vmlinux 0xa2b8a2ba __init_rwsem +EXPORT_SYMBOL vmlinux 0xa30b6160 init_file +EXPORT_SYMBOL vmlinux 0xa32833eb sock_no_accept +EXPORT_SYMBOL vmlinux 0xa329f07e register_shrinker +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa33b8089 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0xa346c9b6 dm_exception_store_destroy +EXPORT_SYMBOL vmlinux 0xa34f1ef5 crc32_le +EXPORT_SYMBOL vmlinux 0xa350a8f8 set_memory_array_uc +EXPORT_SYMBOL vmlinux 0xa353ea48 nf_afinfo +EXPORT_SYMBOL vmlinux 0xa359c9d6 inet_csk_accept +EXPORT_SYMBOL vmlinux 0xa35c1f05 acpi_extract_package +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa3964b98 __neigh_event_send +EXPORT_SYMBOL vmlinux 0xa3bbcd80 acpi_set_gpe_type +EXPORT_SYMBOL vmlinux 0xa3d176cf dm_exception_store_create +EXPORT_SYMBOL vmlinux 0xa415b384 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0xa41c08d4 dma_release_declared_memory +EXPORT_SYMBOL vmlinux 0xa4247357 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xa43b9539 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa4435347 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0xa44ad274 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xa44ae46e __napi_schedule +EXPORT_SYMBOL vmlinux 0xa45df4ee rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0xa463bef8 sock_init_data +EXPORT_SYMBOL vmlinux 0xa46f6f50 get_phy_id +EXPORT_SYMBOL vmlinux 0xa482b8dd pci_enable_bridges +EXPORT_SYMBOL vmlinux 0xa48db15d i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0xa48df4d1 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0xa4b5ff9f block_sync_page +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa50d5126 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0xa51cdfe8 __FIXADDR_TOP +EXPORT_SYMBOL vmlinux 0xa5413509 acpi_is_video_device +EXPORT_SYMBOL vmlinux 0xa552510f inet_bind +EXPORT_SYMBOL vmlinux 0xa56f1315 mempool_free +EXPORT_SYMBOL vmlinux 0xa5808bbf tasklet_init +EXPORT_SYMBOL vmlinux 0xa58a7391 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xa58b6804 nla_parse +EXPORT_SYMBOL vmlinux 0xa591199d mca_device_transform_ioport +EXPORT_SYMBOL vmlinux 0xa5922bb1 kfifo_init +EXPORT_SYMBOL vmlinux 0xa5984244 serial8250_register_port +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5a633b9 sg_last +EXPORT_SYMBOL vmlinux 0xa5bbb17e proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0xa5cef8ad release_resource +EXPORT_SYMBOL vmlinux 0xa5d6f79c dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xa5da0abd acpi_enter_sleep_state_s4bios +EXPORT_SYMBOL vmlinux 0xa60f0533 block_fsync +EXPORT_SYMBOL vmlinux 0xa61a4269 bitmap_start_sync +EXPORT_SYMBOL vmlinux 0xa61ac01f vfs_mknod +EXPORT_SYMBOL vmlinux 0xa63d85ab slhc_remember +EXPORT_SYMBOL vmlinux 0xa6403ef0 register_key_type +EXPORT_SYMBOL vmlinux 0xa68124fa hweight8 +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa687c7cb fifo_set_limit +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa7046549 vprintk +EXPORT_SYMBOL vmlinux 0xa70fabbe release_evntsel_nmi +EXPORT_SYMBOL vmlinux 0xa71cca97 llc_build_and_send_ui_pkt +EXPORT_SYMBOL vmlinux 0xa71e7463 __first_cpu +EXPORT_SYMBOL vmlinux 0xa7267c6d netif_carrier_off +EXPORT_SYMBOL vmlinux 0xa7395133 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xa73b3ab4 elevator_init +EXPORT_SYMBOL vmlinux 0xa7473b2a __blk_run_queue +EXPORT_SYMBOL vmlinux 0xa74e4501 dquot_free_inode +EXPORT_SYMBOL vmlinux 0xa751f9ed mdio_bus_type +EXPORT_SYMBOL vmlinux 0xa7591d5e register_netdev +EXPORT_SYMBOL vmlinux 0xa7b996e9 i2c_release_client +EXPORT_SYMBOL vmlinux 0xa7c672ee pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0xa7efdaa7 sock_recvmsg +EXPORT_SYMBOL vmlinux 0xa807433d genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xa80768fd ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0xa8254098 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0xa838e464 journal_revoke +EXPORT_SYMBOL vmlinux 0xa89acbb3 acpi_evaluate_reference +EXPORT_SYMBOL vmlinux 0xa8ae6a32 bio_integrity_split +EXPORT_SYMBOL vmlinux 0xa8c46b65 init_buffer +EXPORT_SYMBOL vmlinux 0xa8d04498 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0xa8d22a7d set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0xa8d68abd acpi_warning +EXPORT_SYMBOL vmlinux 0xa8e97708 eth_change_mtu +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa91b5561 acpi_video_backlight_support +EXPORT_SYMBOL vmlinux 0xa91d7aaf vlan_gro_receive +EXPORT_SYMBOL vmlinux 0xa920ace2 phy_print_status +EXPORT_SYMBOL vmlinux 0xa9248298 journal_lock_updates +EXPORT_SYMBOL vmlinux 0xa94e7df6 security_inode_permission +EXPORT_SYMBOL vmlinux 0xa954e80d input_set_capability +EXPORT_SYMBOL vmlinux 0xa96386fb d_lookup +EXPORT_SYMBOL vmlinux 0xa96652ab register_snap_client +EXPORT_SYMBOL vmlinux 0xa9683588 lock_may_write +EXPORT_SYMBOL vmlinux 0xa9775359 pci_bus_type +EXPORT_SYMBOL vmlinux 0xa9ad40ef blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0xa9bd2676 __vmalloc +EXPORT_SYMBOL vmlinux 0xa9d45e3f tcp_child_process +EXPORT_SYMBOL vmlinux 0xa9e68970 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xa9e95bc1 netpoll_poll +EXPORT_SYMBOL vmlinux 0xa9fcf31d wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0xaa24bba7 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xaa25e841 pci_assign_resource +EXPORT_SYMBOL vmlinux 0xaa2ba38e kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0xaa2d38f7 get_super +EXPORT_SYMBOL vmlinux 0xaa3d0921 scsi_print_result +EXPORT_SYMBOL vmlinux 0xaa3d23cf vfs_statfs +EXPORT_SYMBOL vmlinux 0xaa3edf58 register_console +EXPORT_SYMBOL vmlinux 0xaa428d5a dev_get_stats +EXPORT_SYMBOL vmlinux 0xaa662e6b i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0xaa6fb17a alloc_pci_dev +EXPORT_SYMBOL vmlinux 0xaa84a8ae acpi_processor_power_init_bm_check +EXPORT_SYMBOL vmlinux 0xaaaaacd1 ioremap_wc +EXPORT_SYMBOL vmlinux 0xaaacb176 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0xaab06af8 _write_lock_irqsave +EXPORT_SYMBOL vmlinux 0xaab95570 bitmap_endwrite +EXPORT_SYMBOL vmlinux 0xaabecf5d llc_sap_close +EXPORT_SYMBOL vmlinux 0xaac81004 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0xaacb7a5d put_page +EXPORT_SYMBOL vmlinux 0xaacd4b44 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaaebe34f mca_write_pos +EXPORT_SYMBOL vmlinux 0xaaf45875 acpi_lid_notifier_unregister +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab21ce96 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xab31e55a mmc_power_save_host +EXPORT_SYMBOL vmlinux 0xab389b66 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xab47ac13 mmc_release_host +EXPORT_SYMBOL vmlinux 0xab4dcb48 dev_gro_receive +EXPORT_SYMBOL vmlinux 0xab4ffd7c qdisc_reset +EXPORT_SYMBOL vmlinux 0xab5ed4f9 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab65ed80 set_memory_uc +EXPORT_SYMBOL vmlinux 0xab770678 rdmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0xab7cfa77 alloc_fddidev +EXPORT_SYMBOL vmlinux 0xabb16e07 pcim_enable_device +EXPORT_SYMBOL vmlinux 0xabb9406d cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabdf92a6 __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0xac04a8bf install_exec_creds +EXPORT_SYMBOL vmlinux 0xac051345 cancel_dirty_page +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac4ef4b5 pci_request_region +EXPORT_SYMBOL vmlinux 0xac58ea5e acpi_unload_table_id +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac71d4f8 scsi_allocate_command +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xacdeb154 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xace34039 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad06217b register_netdevice +EXPORT_SYMBOL vmlinux 0xad12b0d5 module_layout +EXPORT_SYMBOL vmlinux 0xad13c689 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xad4db090 dev_remove_pack +EXPORT_SYMBOL vmlinux 0xad68eda5 eisa_driver_unregister +EXPORT_SYMBOL vmlinux 0xad6ca6ef ethtool_op_set_sg +EXPORT_SYMBOL vmlinux 0xad81cae6 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadb8a474 __scsi_add_device +EXPORT_SYMBOL vmlinux 0xadc06f3d pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0xadc52fe0 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0xadd48fcd __scm_destroy +EXPORT_SYMBOL vmlinux 0xadf260c9 security_inode_init_security +EXPORT_SYMBOL vmlinux 0xadf42bd5 __request_region +EXPORT_SYMBOL vmlinux 0xae2a7aca bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0xae75f004 ida_destroy +EXPORT_SYMBOL vmlinux 0xaeb4c1cc bdi_register +EXPORT_SYMBOL vmlinux 0xaebb1a82 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0xaec655c7 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0xaed013b9 posix_acl_valid +EXPORT_SYMBOL vmlinux 0xaee546a0 mmc_host_lazy_disable +EXPORT_SYMBOL vmlinux 0xaeefc015 kfree_skb +EXPORT_SYMBOL vmlinux 0xaf0b984e free_mdio_bitbang +EXPORT_SYMBOL vmlinux 0xaf133966 sock_register +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf4b1540 acpi_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0xaf4caad7 pci_read_vpd +EXPORT_SYMBOL vmlinux 0xaf57e11e textsearch_destroy +EXPORT_SYMBOL vmlinux 0xaf86bf16 vfs_rename +EXPORT_SYMBOL vmlinux 0xaf8c3fec tty_throttle +EXPORT_SYMBOL vmlinux 0xaf901532 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xafb02f9c xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xafb06d63 bio_endio +EXPORT_SYMBOL vmlinux 0xafe2a977 __break_lease +EXPORT_SYMBOL vmlinux 0xafe36015 mca_device_read_stored_pos +EXPORT_SYMBOL vmlinux 0xb01c2166 netif_napi_del +EXPORT_SYMBOL vmlinux 0xb0224e3d dmam_pool_create +EXPORT_SYMBOL vmlinux 0xb06ddb20 __lookup_one_len +EXPORT_SYMBOL vmlinux 0xb077ef32 acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0xb07dfb3d acpi_remove_gpe_handler +EXPORT_SYMBOL vmlinux 0xb0846b21 ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0xb08f76ad gen_pool_free +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0bd12e5 napi_frags_finish +EXPORT_SYMBOL vmlinux 0xb0dec233 skb_dma_map +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb1313416 sock_release +EXPORT_SYMBOL vmlinux 0xb1442901 x86_dma_fallback_dev +EXPORT_SYMBOL vmlinux 0xb155f843 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xb15db500 ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0xb18cc06d sk_run_filter +EXPORT_SYMBOL vmlinux 0xb191070b phy_attach_direct +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1a1b57d sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xb1a9db6f udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xb1aefaed inet_getname +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1cb9e8e qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0xb1cfad22 rdmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xb1f975aa unlock_kernel +EXPORT_SYMBOL vmlinux 0xb213401a security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0xb219d56c wbinvd_on_cpu +EXPORT_SYMBOL vmlinux 0xb224fbe2 param_get_short +EXPORT_SYMBOL vmlinux 0xb2253c28 __put_cred +EXPORT_SYMBOL vmlinux 0xb2256cf7 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0xb22fe6a3 netdev_increment_features +EXPORT_SYMBOL vmlinux 0xb23e512c journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xb23e6260 generic_setlease +EXPORT_SYMBOL vmlinux 0xb2487f57 arp_find +EXPORT_SYMBOL vmlinux 0xb265950b create_proc_entry +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb272fd2a proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xb27510ef atomic64_inc_return +EXPORT_SYMBOL vmlinux 0xb279da12 pv_lock_ops +EXPORT_SYMBOL vmlinux 0xb28a02b2 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xb29bc8bd idr_remove +EXPORT_SYMBOL vmlinux 0xb2bd664d vfs_quota_sync +EXPORT_SYMBOL vmlinux 0xb2dfc28d ethtool_op_get_tso +EXPORT_SYMBOL vmlinux 0xb2efb6be mca_read_stored_pos +EXPORT_SYMBOL vmlinux 0xb2f1e6d2 lock_sock_nested +EXPORT_SYMBOL vmlinux 0xb2fd5ceb __put_user_4 +EXPORT_SYMBOL vmlinux 0xb3098f34 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0xb30abf8d idr_get_new_above +EXPORT_SYMBOL vmlinux 0xb31526ee sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0xb3205415 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0xb3284531 acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xb34d4c2e acpi_terminate +EXPORT_SYMBOL vmlinux 0xb352177e find_first_bit +EXPORT_SYMBOL vmlinux 0xb3623b73 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0xb372de0d vga_tryget +EXPORT_SYMBOL vmlinux 0xb376d79d radix_tree_tagged +EXPORT_SYMBOL vmlinux 0xb398bac1 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0xb3994c7a per_cpu__kstat +EXPORT_SYMBOL vmlinux 0xb3a307c6 si_meminfo +EXPORT_SYMBOL vmlinux 0xb3aaf16f kern_path +EXPORT_SYMBOL vmlinux 0xb3ae5d52 pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0xb3c42c94 per_cpu__x86_bios_cpu_apicid +EXPORT_SYMBOL vmlinux 0xb3e0590d acpi_set_current_resources +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb42453d3 param_get_invbool +EXPORT_SYMBOL vmlinux 0xb4279ab7 downgrade_write +EXPORT_SYMBOL vmlinux 0xb4390f9a mcount +EXPORT_SYMBOL vmlinux 0xb439c1ba scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xb43ed8e8 napi_complete +EXPORT_SYMBOL vmlinux 0xb45578b8 memscan +EXPORT_SYMBOL vmlinux 0xb45b24f6 k8_nb_ids +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb4a439a0 bio_split +EXPORT_SYMBOL vmlinux 0xb4a7b2b1 security_path_truncate +EXPORT_SYMBOL vmlinux 0xb4ac4fee neigh_parms_release +EXPORT_SYMBOL vmlinux 0xb4b0ee4e down_read +EXPORT_SYMBOL vmlinux 0xb4ca9447 __kfifo_get +EXPORT_SYMBOL vmlinux 0xb4e336dd sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0xb4f29d12 __f_setown +EXPORT_SYMBOL vmlinux 0xb4fb56a9 lro_receive_frags +EXPORT_SYMBOL vmlinux 0xb4fc718c jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xb5018ff2 read_cache_page +EXPORT_SYMBOL vmlinux 0xb5044271 vsscanf +EXPORT_SYMBOL vmlinux 0xb51bdc26 skb_dma_unmap +EXPORT_SYMBOL vmlinux 0xb5418861 atomic64_add +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb5647d0e mmc_add_host +EXPORT_SYMBOL vmlinux 0xb5710c8b tcp_gro_receive +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5b5a841 send_sig_info +EXPORT_SYMBOL vmlinux 0xb5ca1c46 slhc_free +EXPORT_SYMBOL vmlinux 0xb5d52c27 ec_transaction +EXPORT_SYMBOL vmlinux 0xb5e1bda3 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0xb5e5dc89 simple_empty +EXPORT_SYMBOL vmlinux 0xb5e9a3f5 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xb6018072 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xb60767eb __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xb6353555 per_cpu__x86_cpu_to_apicid +EXPORT_SYMBOL vmlinux 0xb651097e tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xb66cec31 skb_split +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb687eec2 acpi_bus_start +EXPORT_SYMBOL vmlinux 0xb6896671 crc_t10dif +EXPORT_SYMBOL vmlinux 0xb69d078b mnt_unpin +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6b48c2f tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0xb6bffb99 kstat_irqs_cpu +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6e227aa rtc_lock +EXPORT_SYMBOL vmlinux 0xb6ed1e53 strncpy +EXPORT_SYMBOL vmlinux 0xb711f135 ip6_frag_init +EXPORT_SYMBOL vmlinux 0xb721c6b4 mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0xb72397d5 printk +EXPORT_SYMBOL vmlinux 0xb758b225 acpi_disable_event +EXPORT_SYMBOL vmlinux 0xb78a60a8 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0xb798b8e4 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0xb799a03d pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0xb7ad91fa blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xb7b42bf3 tcf_action_exec +EXPORT_SYMBOL vmlinux 0xb7b61546 crc32_be +EXPORT_SYMBOL vmlinux 0xb7b8815f pci_disable_msix +EXPORT_SYMBOL vmlinux 0xb7ba89aa tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0xb7ccb3c7 twl4030_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xb7dff951 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL vmlinux 0xb82ce80a bd_set_size +EXPORT_SYMBOL vmlinux 0xb8456b11 file_remove_suid +EXPORT_SYMBOL vmlinux 0xb84ed32f proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0xb8602a1b arp_send +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb87a8411 inet_shutdown +EXPORT_SYMBOL vmlinux 0xb88ebb55 generic_file_llseek +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8aa2342 __check_region +EXPORT_SYMBOL vmlinux 0xb8db202a tcf_em_unregister +EXPORT_SYMBOL vmlinux 0xb8e7ce2c __put_user_8 +EXPORT_SYMBOL vmlinux 0xb8ed7756 skb_tx_hash +EXPORT_SYMBOL vmlinux 0xb900f852 generic_fillattr +EXPORT_SYMBOL vmlinux 0xb90566ef mdiobus_write +EXPORT_SYMBOL vmlinux 0xb942b513 smp_call_function_many +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb98ef804 vm_stat +EXPORT_SYMBOL vmlinux 0xb9ddfec7 dma_mark_declared_memory_occupied +EXPORT_SYMBOL vmlinux 0xb9f0d066 deactivate_super +EXPORT_SYMBOL vmlinux 0xb9fd2205 add_efi_memmap +EXPORT_SYMBOL vmlinux 0xba05cc9c udplite_prot +EXPORT_SYMBOL vmlinux 0xba208d08 netdev_bonding_change +EXPORT_SYMBOL vmlinux 0xba2d8594 ec_read +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba4d62ef tcp_parse_options +EXPORT_SYMBOL vmlinux 0xba8757b1 pci_map_rom +EXPORT_SYMBOL vmlinux 0xbaaab8ae timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xbab98bde tcp_proc_register +EXPORT_SYMBOL vmlinux 0xbabb84e5 invalidate_inodes +EXPORT_SYMBOL vmlinux 0xbac57347 kill_fasync +EXPORT_SYMBOL vmlinux 0xbae141d9 vm_map_ram +EXPORT_SYMBOL vmlinux 0xbb00147d set_user_nice +EXPORT_SYMBOL vmlinux 0xbb167766 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb3e932d jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xbb5ad809 vfs_symlink +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb831c37 simple_write_begin +EXPORT_SYMBOL vmlinux 0xbb89de17 ida_init +EXPORT_SYMBOL vmlinux 0xbb98a538 md_error +EXPORT_SYMBOL vmlinux 0xbbbe5b6f serio_close +EXPORT_SYMBOL vmlinux 0xbbd0d2f2 i2c_use_client +EXPORT_SYMBOL vmlinux 0xbbdcda50 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xbc00e700 vfs_read +EXPORT_SYMBOL vmlinux 0xbc08b048 ilookup +EXPORT_SYMBOL vmlinux 0xbc280480 pci_find_capability +EXPORT_SYMBOL vmlinux 0xbc4bbbee uart_update_timeout +EXPORT_SYMBOL vmlinux 0xbc4fb34c acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xbc5622c2 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0xbc654059 pci_write_vpd +EXPORT_SYMBOL vmlinux 0xbc8c14ee cap_netlink_recv +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbd13f5b0 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xbd376084 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0xbd3c53df journal_get_create_access +EXPORT_SYMBOL vmlinux 0xbd798970 task_nice +EXPORT_SYMBOL vmlinux 0xbdb50170 seq_putc +EXPORT_SYMBOL vmlinux 0xbdb6500e per_cpu__cpu_core_map +EXPORT_SYMBOL vmlinux 0xbde9be46 pci_get_class +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbe0e5118 nla_memcmp +EXPORT_SYMBOL vmlinux 0xbe3b03a7 netlink_dump_start +EXPORT_SYMBOL vmlinux 0xbe63ee40 request_resource +EXPORT_SYMBOL vmlinux 0xbe6c7334 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xbecf8ca3 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbefb8644 netif_device_detach +EXPORT_SYMBOL vmlinux 0xbf00b402 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0xbf255a7f mca_device_write_pos +EXPORT_SYMBOL vmlinux 0xbf4e2cb1 dev_trans_start +EXPORT_SYMBOL vmlinux 0xbf4fdca9 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xbf54201d noop_qdisc +EXPORT_SYMBOL vmlinux 0xbf6ae6e8 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0xbf770705 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf801477 __register_binfmt +EXPORT_SYMBOL vmlinux 0xbf8b39e9 isapnp_present +EXPORT_SYMBOL vmlinux 0xbf8ffc3d tty_unregister_driver +EXPORT_SYMBOL vmlinux 0xbf92127b scsi_free_command +EXPORT_SYMBOL vmlinux 0xbf9b7327 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbf9ce2c0 bdi_register_dev +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfc27bc9 __sk_dst_check +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc003c637 __strncpy_from_user +EXPORT_SYMBOL vmlinux 0xc0044724 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xc01eed33 __copy_from_user_ll_nozero +EXPORT_SYMBOL vmlinux 0xc03f1f14 blk_remove_plug +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc08ac03a call_usermodehelper_pipe +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL vmlinux 0xc0f65988 machine_real_restart +EXPORT_SYMBOL vmlinux 0xc0f83230 simple_rename +EXPORT_SYMBOL vmlinux 0xc11d8093 iov_shorten +EXPORT_SYMBOL vmlinux 0xc124d31e scsi_finish_command +EXPORT_SYMBOL vmlinux 0xc1372ab2 mmc_card_awake +EXPORT_SYMBOL vmlinux 0xc139a5c5 i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0xc14e69e4 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0xc17200d8 brioctl_set +EXPORT_SYMBOL vmlinux 0xc1798534 md_check_recovery +EXPORT_SYMBOL vmlinux 0xc1913d8a tcf_exts_change +EXPORT_SYMBOL vmlinux 0xc19c8163 atomic64_cmpxchg +EXPORT_SYMBOL vmlinux 0xc1b8ef40 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0xc1bb54cf request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xc1ca61ad simple_fsync +EXPORT_SYMBOL vmlinux 0xc204bca3 scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0xc22f816b dev_set_mtu +EXPORT_SYMBOL vmlinux 0xc23e1a3d destroy_EII_client +EXPORT_SYMBOL vmlinux 0xc2466be4 blk_fetch_request +EXPORT_SYMBOL vmlinux 0xc254af48 dcache_lock +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc26cc5b8 netif_napi_add +EXPORT_SYMBOL vmlinux 0xc2721d6f inode_change_ok +EXPORT_SYMBOL vmlinux 0xc280a525 __copy_from_user_ll +EXPORT_SYMBOL vmlinux 0xc2c2153d bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0xc2d711e1 krealloc +EXPORT_SYMBOL vmlinux 0xc2e1ad12 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2e66c3f save_mount_options +EXPORT_SYMBOL vmlinux 0xc2e91f3c genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0xc2f0f03a pci_enable_device_io +EXPORT_SYMBOL vmlinux 0xc304f780 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xc30e25be set_security_override +EXPORT_SYMBOL vmlinux 0xc30e3401 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xc316b98c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0xc33ea8da xfrm_register_type +EXPORT_SYMBOL vmlinux 0xc33f6f4c on_each_cpu +EXPORT_SYMBOL vmlinux 0xc3454352 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0xc3494eb6 sock_sendmsg +EXPORT_SYMBOL vmlinux 0xc356d092 audit_log_start +EXPORT_SYMBOL vmlinux 0xc3640fc2 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xc3654d60 pnp_get_resource +EXPORT_SYMBOL vmlinux 0xc3825507 cdrom_open +EXPORT_SYMBOL vmlinux 0xc3aaf0a9 __put_user_1 +EXPORT_SYMBOL vmlinux 0xc3adb95a xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xc3bc9bba misc_deregister +EXPORT_SYMBOL vmlinux 0xc3cf1128 in_group_p +EXPORT_SYMBOL vmlinux 0xc3ed6146 __scsi_put_command +EXPORT_SYMBOL vmlinux 0xc3fa6a59 memchr +EXPORT_SYMBOL vmlinux 0xc3faec41 ll_rw_block +EXPORT_SYMBOL vmlinux 0xc3fe5895 log_wait_commit +EXPORT_SYMBOL vmlinux 0xc402cc99 register_acpi_notifier +EXPORT_SYMBOL vmlinux 0xc40849c7 tcf_hash_create +EXPORT_SYMBOL vmlinux 0xc4206145 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0xc441f99a single_open +EXPORT_SYMBOL vmlinux 0xc4738284 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xc47a0a45 pci_set_power_state +EXPORT_SYMBOL vmlinux 0xc47e6d98 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc49c03c0 ____pagevec_lru_add +EXPORT_SYMBOL vmlinux 0xc49c2590 skb_copy +EXPORT_SYMBOL vmlinux 0xc4a12f62 tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xc4e61f48 inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0xc504bafb qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0xc5223783 __rta_fill +EXPORT_SYMBOL vmlinux 0xc52f5714 fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0xc538ff9e mmc_free_host +EXPORT_SYMBOL vmlinux 0xc53cba2b unregister_con_driver +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc55705a7 do_munmap +EXPORT_SYMBOL vmlinux 0xc55f7dc7 _write_trylock +EXPORT_SYMBOL vmlinux 0xc565b449 blk_plug_device_unlocked +EXPORT_SYMBOL vmlinux 0xc5718627 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0xc584bea6 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xc5b07241 netif_carrier_on +EXPORT_SYMBOL vmlinux 0xc5b41b3a sync_blockdev +EXPORT_SYMBOL vmlinux 0xc5ceae92 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0xc5dccf80 simple_readpage +EXPORT_SYMBOL vmlinux 0xc5f0e086 ppp_channel_index +EXPORT_SYMBOL vmlinux 0xc5ff45e4 disk_stack_limits +EXPORT_SYMBOL vmlinux 0xc6082257 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0xc609f8b3 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0xc61204a3 thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0xc633495b schedule_work +EXPORT_SYMBOL vmlinux 0xc6339d9c d_alloc +EXPORT_SYMBOL vmlinux 0xc64b8442 copy_io_context +EXPORT_SYMBOL vmlinux 0xc65e9cc6 dquot_reserve_space +EXPORT_SYMBOL vmlinux 0xc696ebc1 blk_start_queue +EXPORT_SYMBOL vmlinux 0xc6b0a886 dquot_alloc_space +EXPORT_SYMBOL vmlinux 0xc6da9cf1 simple_write_end +EXPORT_SYMBOL vmlinux 0xc7131591 pcibios_align_resource +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc722227e posix_acl_clone +EXPORT_SYMBOL vmlinux 0xc72a2f7f page_symlink +EXPORT_SYMBOL vmlinux 0xc7351919 inet_accept +EXPORT_SYMBOL vmlinux 0xc768de19 cpu_all_bits +EXPORT_SYMBOL vmlinux 0xc7762544 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7d9c5b4 load_nls_default +EXPORT_SYMBOL vmlinux 0xc7e0959c blkdev_put +EXPORT_SYMBOL vmlinux 0xc7ec6c27 strspn +EXPORT_SYMBOL vmlinux 0xc84eb9bd kernel_connect +EXPORT_SYMBOL vmlinux 0xc88906b7 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0xc898625d atomic64_inc_and_test +EXPORT_SYMBOL vmlinux 0xc8a1d54c mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8ca3e25 acpi_get_child +EXPORT_SYMBOL vmlinux 0xc8d21651 bdget +EXPORT_SYMBOL vmlinux 0xc8d8331b __elv_add_request +EXPORT_SYMBOL vmlinux 0xc8e9becc bioset_create +EXPORT_SYMBOL vmlinux 0xc9004943 inet_put_port +EXPORT_SYMBOL vmlinux 0xc9070ab8 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0xc93e3a7c truncate_pagecache +EXPORT_SYMBOL vmlinux 0xc960381d simple_statfs +EXPORT_SYMBOL vmlinux 0xc97f2298 fb_class +EXPORT_SYMBOL vmlinux 0xc98fe599 skb_dequeue +EXPORT_SYMBOL vmlinux 0xc998d641 icmp_err_convert +EXPORT_SYMBOL vmlinux 0xc9a95137 bio_put +EXPORT_SYMBOL vmlinux 0xc9ab2eef acpi_os_wait_events_complete +EXPORT_SYMBOL vmlinux 0xc9babec2 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xc9db276a uart_register_driver +EXPORT_SYMBOL vmlinux 0xc9ec8704 udp_table +EXPORT_SYMBOL vmlinux 0xc9f59b6a acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0xca075d5d i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xca2d10dc phy_device_free +EXPORT_SYMBOL vmlinux 0xca34e3be bdput +EXPORT_SYMBOL vmlinux 0xca50aae6 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca854bbc pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0xca8acc78 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xcabe7abb register_qdisc +EXPORT_SYMBOL vmlinux 0xcb263a19 inet6_getname +EXPORT_SYMBOL vmlinux 0xcb29db71 ps2_command +EXPORT_SYMBOL vmlinux 0xcb2e56af jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0xcb39f343 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xcb54df4e __bforget +EXPORT_SYMBOL vmlinux 0xcb6beb40 hweight32 +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcb9aa59a get_fs_type +EXPORT_SYMBOL vmlinux 0xcb9f80d4 blk_rq_init +EXPORT_SYMBOL vmlinux 0xcba6ea37 skb_copy_bits +EXPORT_SYMBOL vmlinux 0xcbdba993 scsi_device_resume +EXPORT_SYMBOL vmlinux 0xcbf51cbf __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0xcc142c9a tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0xcc1fef1d elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc31dafa skb_recycle_check +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc3c136d key_validate +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc51ee50 dma_spin_lock +EXPORT_SYMBOL vmlinux 0xcc7061c2 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc9c9b5c set_pages_nx +EXPORT_SYMBOL vmlinux 0xcc9f4482 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xccab0acf ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xccb303cc register_quota_format +EXPORT_SYMBOL vmlinux 0xccc4b0d3 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0xccc986bb pci_enable_device +EXPORT_SYMBOL vmlinux 0xccd7d698 mb_cache_shrink +EXPORT_SYMBOL vmlinux 0xccf39896 dev_get_by_name +EXPORT_SYMBOL vmlinux 0xcd11ce9f generic_listxattr +EXPORT_SYMBOL vmlinux 0xcd6fc2d3 setup_arg_pages +EXPORT_SYMBOL vmlinux 0xcd82f954 vfs_getattr +EXPORT_SYMBOL vmlinux 0xcd9708e7 cdev_alloc +EXPORT_SYMBOL vmlinux 0xcdde1d2a skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0xcdded691 neigh_update +EXPORT_SYMBOL vmlinux 0xcde6a648 mdiobus_alloc +EXPORT_SYMBOL vmlinux 0xcdf87af9 kobject_add +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce36ded6 sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xce3c1105 d_splice_alias +EXPORT_SYMBOL vmlinux 0xce4904a4 acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xce555072 blk_run_queue +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce5c87d0 inode_add_bytes +EXPORT_SYMBOL vmlinux 0xce6dea6f rtnl_unicast +EXPORT_SYMBOL vmlinux 0xce8be872 scsi_put_command +EXPORT_SYMBOL vmlinux 0xcebaba61 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0xceda390d tcf_register_action +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf1d28ab acpi_error +EXPORT_SYMBOL vmlinux 0xcf1e9749 blk_queue_max_sectors +EXPORT_SYMBOL vmlinux 0xcf438fc4 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0xcf489de3 neigh_table_init_no_netlink +EXPORT_SYMBOL vmlinux 0xcf5b6700 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xcf6cfe1f msrs_free +EXPORT_SYMBOL vmlinux 0xcf91be79 scsi_add_device +EXPORT_SYMBOL vmlinux 0xcfa120b5 scsi_init_io +EXPORT_SYMBOL vmlinux 0xcfadd723 __percpu_counter_add +EXPORT_SYMBOL vmlinux 0xcfb442f4 datagram_poll +EXPORT_SYMBOL vmlinux 0xcfb9006e jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0xcfcc51f3 skb_clone +EXPORT_SYMBOL vmlinux 0xcfe05d4d register_kmmio_probe +EXPORT_SYMBOL vmlinux 0xcfeeb0ba revert_creds +EXPORT_SYMBOL vmlinux 0xcff045b2 tcp_make_synack +EXPORT_SYMBOL vmlinux 0xcff26b4b fb_find_mode +EXPORT_SYMBOL vmlinux 0xcff53400 kref_put +EXPORT_SYMBOL vmlinux 0xcff799fe security_task_getsecid +EXPORT_SYMBOL vmlinux 0xd0008a03 blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0xd015916e vfs_link +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd037e855 mca_register_driver +EXPORT_SYMBOL vmlinux 0xd040201c inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xd042f655 unregister_cdrom +EXPORT_SYMBOL vmlinux 0xd054d237 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xd05ca4f4 remove_proc_entry +EXPORT_SYMBOL vmlinux 0xd07a9b0b pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0xd07ed584 tty_free_termios +EXPORT_SYMBOL vmlinux 0xd08197fa acpi_load_tables +EXPORT_SYMBOL vmlinux 0xd09e5bd3 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0xd0d8621b strlen +EXPORT_SYMBOL vmlinux 0xd0eb8db7 devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd0f8ac9f mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0xd1087298 lease_get_mtime +EXPORT_SYMBOL vmlinux 0xd1104078 genphy_update_link +EXPORT_SYMBOL vmlinux 0xd12222e6 lease_modify +EXPORT_SYMBOL vmlinux 0xd1272bd6 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0xd1472061 acpi_pci_register_driver +EXPORT_SYMBOL vmlinux 0xd179b57c xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0xd17ecc22 per_cpu__cpu_sibling_map +EXPORT_SYMBOL vmlinux 0xd18b6eb2 acpi_unmap_lsapic +EXPORT_SYMBOL vmlinux 0xd1ae7161 do_sync_read +EXPORT_SYMBOL vmlinux 0xd1d5576a udp_lib_get_port +EXPORT_SYMBOL vmlinux 0xd1e890f9 kunmap_atomic +EXPORT_SYMBOL vmlinux 0xd1f44e7d tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0xd1f6c5f3 smp_num_siblings +EXPORT_SYMBOL vmlinux 0xd1f91bcd dev_base_lock +EXPORT_SYMBOL vmlinux 0xd1fb24d1 sysctl_ms_jiffies +EXPORT_SYMBOL vmlinux 0xd22e35f4 nla_append +EXPORT_SYMBOL vmlinux 0xd230c4b4 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xd247d281 skb_free_datagram +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 0xd267d42c down_killable +EXPORT_SYMBOL vmlinux 0xd26edc68 dev_change_flags +EXPORT_SYMBOL vmlinux 0xd28b03fe set_pages_x +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2a68761 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0xd2a75ee0 dmi_first_match +EXPORT_SYMBOL vmlinux 0xd2a941d4 sg_init_table +EXPORT_SYMBOL vmlinux 0xd2b75eb2 sk_reset_timer +EXPORT_SYMBOL vmlinux 0xd2b84411 input_unregister_handler +EXPORT_SYMBOL vmlinux 0xd328f8c4 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xd32b3168 dm_io_client_resize +EXPORT_SYMBOL vmlinux 0xd32e52c7 posix_acl_chmod_masq +EXPORT_SYMBOL vmlinux 0xd32f2a63 address_space_init_once +EXPORT_SYMBOL vmlinux 0xd337d123 sg_miter_next +EXPORT_SYMBOL vmlinux 0xd3480bf4 km_policy_notify +EXPORT_SYMBOL vmlinux 0xd34f0c62 gen_pool_create +EXPORT_SYMBOL vmlinux 0xd353d25d sock_create_lite +EXPORT_SYMBOL vmlinux 0xd35a46d3 pci_get_slot +EXPORT_SYMBOL vmlinux 0xd3951da4 acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0xd3adf81d serio_unregister_port +EXPORT_SYMBOL vmlinux 0xd3c90c65 xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0xd3d3df0b blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xd3e0c9af rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0xd3e288f7 __locks_copy_lock +EXPORT_SYMBOL vmlinux 0xd3ea9924 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xd3f74cf1 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xd3f91bb9 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xd3fd227c km_state_notify +EXPORT_SYMBOL vmlinux 0xd418e1c0 adjust_resource +EXPORT_SYMBOL vmlinux 0xd42b7232 _write_unlock_bh +EXPORT_SYMBOL vmlinux 0xd4645c65 eisa_driver_register +EXPORT_SYMBOL vmlinux 0xd479703c sock_kmalloc +EXPORT_SYMBOL vmlinux 0xd488483f pci_pme_capable +EXPORT_SYMBOL vmlinux 0xd4b7f0fa follow_up +EXPORT_SYMBOL vmlinux 0xd4df6d2b phy_device_create +EXPORT_SYMBOL vmlinux 0xd5036d4a __wait_on_buffer +EXPORT_SYMBOL vmlinux 0xd50fef48 acpi_detach_data +EXPORT_SYMBOL vmlinux 0xd51b0959 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xd51f2c25 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd54343d2 pnp_device_detach +EXPORT_SYMBOL vmlinux 0xd5688a7a radix_tree_insert +EXPORT_SYMBOL vmlinux 0xd575b88d inet_stream_ops +EXPORT_SYMBOL vmlinux 0xd57fa27a scsi_target_resume +EXPORT_SYMBOL vmlinux 0xd599e489 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0xd59c350d vfs_dq_transfer +EXPORT_SYMBOL vmlinux 0xd5bcdb4c tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0xd5cf53b3 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0xd60a0c7b serio_open +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd665f792 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xd66fe310 clear_bdi_congested +EXPORT_SYMBOL vmlinux 0xd6a78d08 smp_call_function_single +EXPORT_SYMBOL vmlinux 0xd6b225f7 skb_queue_purge +EXPORT_SYMBOL vmlinux 0xd6b33026 cpu_khz +EXPORT_SYMBOL vmlinux 0xd6b79305 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xd6e457e7 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f2f443 sock_i_uid +EXPORT_SYMBOL vmlinux 0xd6fd40b5 set_create_files_as +EXPORT_SYMBOL vmlinux 0xd7027dee d_obtain_alias +EXPORT_SYMBOL vmlinux 0xd70e6ea5 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xd723ba09 tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0xd724e229 simple_lookup +EXPORT_SYMBOL vmlinux 0xd75b2771 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xd75f406f seq_release_private +EXPORT_SYMBOL vmlinux 0xd76ab32e md_register_thread +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd78b5f7e create_mnt_ns +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd7a6fafa panic_notifier_list +EXPORT_SYMBOL vmlinux 0xd7bb295a filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xd7c03d49 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0xd7d2e83e acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0xd7d36d1a idr_find +EXPORT_SYMBOL vmlinux 0xd7d67687 get_io_context +EXPORT_SYMBOL vmlinux 0xd7dd777b reserve_perfctr_nmi +EXPORT_SYMBOL vmlinux 0xd811db13 journal_flush +EXPORT_SYMBOL vmlinux 0xd815e319 generic_getxattr +EXPORT_SYMBOL vmlinux 0xd82613c0 atomic64_sub_and_test +EXPORT_SYMBOL vmlinux 0xd8282ff0 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0xd837549c filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0xd83791bc nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd8460efc inet_sendmsg +EXPORT_SYMBOL vmlinux 0xd851af78 up_write +EXPORT_SYMBOL vmlinux 0xd859421c security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xd859a032 security_path_mkdir +EXPORT_SYMBOL vmlinux 0xd88dd01a i2c_register_driver +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a2ab95 in_egroup_p +EXPORT_SYMBOL vmlinux 0xd8a32071 clocksource_register +EXPORT_SYMBOL vmlinux 0xd8a65c38 atomic64_sub +EXPORT_SYMBOL vmlinux 0xd8ac3add pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0xd8ac4f09 dm_dirty_log_destroy +EXPORT_SYMBOL vmlinux 0xd8c1d21a tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd9091363 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0xd90a7c7e skb_checksum +EXPORT_SYMBOL vmlinux 0xd94301cc skb_insert +EXPORT_SYMBOL vmlinux 0xd963a74a flush_delayed_work +EXPORT_SYMBOL vmlinux 0xd963b19c journal_forget +EXPORT_SYMBOL vmlinux 0xd96f1970 pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0xd977e355 wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd9944853 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0xd996d859 idr_pre_get +EXPORT_SYMBOL vmlinux 0xd999c118 dma_alloc_from_coherent +EXPORT_SYMBOL vmlinux 0xd9c272aa mca_mark_as_unused +EXPORT_SYMBOL vmlinux 0xd9e6ed9e in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xd9fcd9d2 nobh_write_begin +EXPORT_SYMBOL vmlinux 0xda08c0d7 pcibios_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0xda0a6b0e acpi_map_lsapic +EXPORT_SYMBOL vmlinux 0xda1a7335 kasprintf +EXPORT_SYMBOL vmlinux 0xda3863ca inet_frag_kill +EXPORT_SYMBOL vmlinux 0xda455c7b scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0xda56b740 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xda6d8ad0 request_firmware +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda80d992 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xda8fd495 isapnp_write_byte +EXPORT_SYMBOL vmlinux 0xda928914 nmi_watchdog +EXPORT_SYMBOL vmlinux 0xdaa32110 ppp_input +EXPORT_SYMBOL vmlinux 0xdaa57ec3 totalhigh_pages +EXPORT_SYMBOL vmlinux 0xdac20856 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0xdac5cc33 mmc_detect_change +EXPORT_SYMBOL vmlinux 0xdadb543d secpath_dup +EXPORT_SYMBOL vmlinux 0xdb3dfd22 vfs_llseek +EXPORT_SYMBOL vmlinux 0xdb4c88b4 groups_alloc +EXPORT_SYMBOL vmlinux 0xdb858f7c tty_port_tty_get +EXPORT_SYMBOL vmlinux 0xdb864d65 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xdb89eb65 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0xdba6f32f wireless_send_event +EXPORT_SYMBOL vmlinux 0xdbc3c5f2 sock_wake_async +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbf5a1d8 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc053205 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0xdc0e0704 journal_create +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc1a2d91 vfs_quota_on_path +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc4577ef i2c_transfer +EXPORT_SYMBOL vmlinux 0xdc50cfee gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0xdc873a70 screen_info +EXPORT_SYMBOL vmlinux 0xdca0e950 genl_register_family +EXPORT_SYMBOL vmlinux 0xdcb1dc88 skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0xdcb2b4af vfs_readdir +EXPORT_SYMBOL vmlinux 0xdcd0a4d5 arp_tbl +EXPORT_SYMBOL vmlinux 0xdce7f205 uart_match_port +EXPORT_SYMBOL vmlinux 0xdd0a2ba2 strlcat +EXPORT_SYMBOL vmlinux 0xdd18cda2 lro_vlan_hwaccel_receive_skb +EXPORT_SYMBOL vmlinux 0xdd1fe6fa genphy_read_status +EXPORT_SYMBOL vmlinux 0xdd201630 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0xdd2d285d dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0xdd3b390b filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xdd6bfccd radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0xdd782064 skb_find_text +EXPORT_SYMBOL vmlinux 0xdd84506f ethtool_op_get_sg +EXPORT_SYMBOL vmlinux 0xdd84a07d ndisc_build_skb +EXPORT_SYMBOL vmlinux 0xdd85a58d remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0xddcaba87 netpoll_setup +EXPORT_SYMBOL vmlinux 0xddcec3f2 simple_transaction_read +EXPORT_SYMBOL vmlinux 0xddd15330 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0xddfaa6a5 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0xde00856d elv_rb_find +EXPORT_SYMBOL vmlinux 0xde027238 pv_mmu_ops +EXPORT_SYMBOL vmlinux 0xde15b1ff elv_add_request +EXPORT_SYMBOL vmlinux 0xde17f5f2 inode_set_bytes +EXPORT_SYMBOL vmlinux 0xde1fd694 acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0xde2a20fd default_llseek +EXPORT_SYMBOL vmlinux 0xde31b902 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xde75b689 set_irq_type +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xdeabe977 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xdeb210f7 xfrm_init_state +EXPORT_SYMBOL vmlinux 0xdeeb4950 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xdf0da3cc acpi_get_devices +EXPORT_SYMBOL vmlinux 0xdf35e5e6 napi_reuse_skb +EXPORT_SYMBOL vmlinux 0xdf4c8767 ns_to_timeval +EXPORT_SYMBOL vmlinux 0xdf5d5c2a scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf711c7b bio_init +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf945b7e iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0xdfc5169b slhc_init +EXPORT_SYMBOL vmlinux 0xdfd0c4b3 thaw_process +EXPORT_SYMBOL vmlinux 0xdfed75ea pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0xdfed924c fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xdff23e39 skb_pull +EXPORT_SYMBOL vmlinux 0xe001404c pskb_copy +EXPORT_SYMBOL vmlinux 0xe006774a pci_set_master +EXPORT_SYMBOL vmlinux 0xe006d81e xfrm_state_add +EXPORT_SYMBOL vmlinux 0xe019a749 request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0xe01eaf16 sock_no_listen +EXPORT_SYMBOL vmlinux 0xe026e353 simple_unlink +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe082651a pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xe08558d4 init_special_inode +EXPORT_SYMBOL vmlinux 0xe094ef39 sg_next +EXPORT_SYMBOL vmlinux 0xe0a501e3 idr_remove_all +EXPORT_SYMBOL vmlinux 0xe0ac8bd2 acpi_bus_generate_netlink_event +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0bc24a1 param_set_ushort +EXPORT_SYMBOL vmlinux 0xe0bce1ae skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0xe0c42e52 scsi_remove_device +EXPORT_SYMBOL vmlinux 0xe0d1460a __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xe0f105a3 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0xe0fa3a68 open_bdev_exclusive +EXPORT_SYMBOL vmlinux 0xe1048212 init_net +EXPORT_SYMBOL vmlinux 0xe1338b91 mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe13ec1dc scsi_print_command +EXPORT_SYMBOL vmlinux 0xe1596872 per_cpu__irq_stat +EXPORT_SYMBOL vmlinux 0xe1712d99 clocksource_unregister +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe1959d90 rfkill_set_states +EXPORT_SYMBOL vmlinux 0xe1a81c3a icmpv6msg_statistics +EXPORT_SYMBOL vmlinux 0xe1dd9288 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0xe1fbc30d scsi_remove_target +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe22b346f follow_down +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe23d7acb up_read +EXPORT_SYMBOL vmlinux 0xe247a587 get_disk +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe24e597f phy_sanitize_settings +EXPORT_SYMBOL vmlinux 0xe25946ba pci_release_regions +EXPORT_SYMBOL vmlinux 0xe26b77fc dev_mc_delete +EXPORT_SYMBOL vmlinux 0xe2962e54 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0xe297c1f2 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0xe2a5773c mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0xe2becdc0 wireless_spy_update +EXPORT_SYMBOL vmlinux 0xe2d43c5f blk_register_region +EXPORT_SYMBOL vmlinux 0xe2d49ab7 pci_iounmap +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e8065e memdup_user +EXPORT_SYMBOL vmlinux 0xe2e914a4 pipe_to_file +EXPORT_SYMBOL vmlinux 0xe2fae716 kmemdup +EXPORT_SYMBOL vmlinux 0xe303d9ea elv_rb_add +EXPORT_SYMBOL vmlinux 0xe33c3c8f key_alloc +EXPORT_SYMBOL vmlinux 0xe3678eab ethtool_op_set_tso +EXPORT_SYMBOL vmlinux 0xe3690e24 register_nls +EXPORT_SYMBOL vmlinux 0xe36ce589 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0xe3865969 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0xe3891347 __getblk +EXPORT_SYMBOL vmlinux 0xe3b1def8 tcp4_gro_complete +EXPORT_SYMBOL vmlinux 0xe3b2c23d mapping_tagged +EXPORT_SYMBOL vmlinux 0xe3fbe148 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xe42ebe00 blk_queue_bounce +EXPORT_SYMBOL vmlinux 0xe431b004 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xe43617f7 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0xe44105e7 ip6_frag_match +EXPORT_SYMBOL vmlinux 0xe4495fcd ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0xe456bd3a complete +EXPORT_SYMBOL vmlinux 0xe4604a18 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0xe471f273 __serio_register_port +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe4870354 _read_trylock +EXPORT_SYMBOL vmlinux 0xe48f3039 ida_get_new_above +EXPORT_SYMBOL vmlinux 0xe4c1df3e _read_lock_bh +EXPORT_SYMBOL vmlinux 0xe4d128b0 kmem_cache_size +EXPORT_SYMBOL vmlinux 0xe4d45366 vmtruncate +EXPORT_SYMBOL vmlinux 0xe4dd4a39 sysctl_data +EXPORT_SYMBOL vmlinux 0xe4e14df9 dm_exception_store_type_register +EXPORT_SYMBOL vmlinux 0xe4e46854 neigh_connected_output +EXPORT_SYMBOL vmlinux 0xe4f1695e cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe53f0cb6 pci_claim_resource +EXPORT_SYMBOL vmlinux 0xe545488b test_set_page_writeback +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe58850a2 framebuffer_release +EXPORT_SYMBOL vmlinux 0xe5a73d4c vfs_set_dqblk +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5db116a bmap +EXPORT_SYMBOL vmlinux 0xe5eb474c otg_get_transceiver +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe63345fe xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xe690b8fd __ipv6_isatap_ifid +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6a74602 acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0xe6d8914c block_write_full_page +EXPORT_SYMBOL vmlinux 0xe6ebc016 key_create_or_update +EXPORT_SYMBOL vmlinux 0xe6f18999 tty_port_init +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe714375c __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xe716baed acpi_unregister_ioapic +EXPORT_SYMBOL vmlinux 0xe766c23a phy_driver_register +EXPORT_SYMBOL vmlinux 0xe7915152 sock_no_bind +EXPORT_SYMBOL vmlinux 0xe7a53686 __bread +EXPORT_SYMBOL vmlinux 0xe7b3f238 __lock_buffer +EXPORT_SYMBOL vmlinux 0xe7d2aca1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xe7d32407 nmi_active +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7eb0edf __bio_clone +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe814dae5 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0xe84c66b7 icmpv6_send +EXPORT_SYMBOL vmlinux 0xe855c6e7 I_BDEV +EXPORT_SYMBOL vmlinux 0xe867118f pci_remove_bus +EXPORT_SYMBOL vmlinux 0xe8794ce1 slhc_toss +EXPORT_SYMBOL vmlinux 0xe87ef09d tcp_connect +EXPORT_SYMBOL vmlinux 0xe88ecaa1 free_buffer_head +EXPORT_SYMBOL vmlinux 0xe8a3605f acpi_processor_set_thermal_limit +EXPORT_SYMBOL vmlinux 0xe8b68849 wrmsr_on_cpus +EXPORT_SYMBOL vmlinux 0xe8b84030 key_type_keyring +EXPORT_SYMBOL vmlinux 0xe8cd902e hweight16 +EXPORT_SYMBOL vmlinux 0xe8e88ed6 phy_attach +EXPORT_SYMBOL vmlinux 0xe90dcae0 __request_module +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe92e6036 names_cachep +EXPORT_SYMBOL vmlinux 0xe95ec312 mca_bus_type +EXPORT_SYMBOL vmlinux 0xe95f80ac mca_device_transform_memory +EXPORT_SYMBOL vmlinux 0xe96d050d rtnl_create_link +EXPORT_SYMBOL vmlinux 0xe990e1b8 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xe997667b wrmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xe9976845 kernel_getsockopt +EXPORT_SYMBOL vmlinux 0xe9c2d803 bh_submit_read +EXPORT_SYMBOL vmlinux 0xe9e87662 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xe9ecdb93 tcp_v4_md5_do_add +EXPORT_SYMBOL vmlinux 0xe9f04f63 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea2d33a2 radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0xea705442 hippi_neigh_setup_dev +EXPORT_SYMBOL vmlinux 0xea769dcf scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0xea7987f1 key_update +EXPORT_SYMBOL vmlinux 0xea7c05e5 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xea852925 rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0xea858cb5 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xea90bdd3 acpi_attach_data +EXPORT_SYMBOL vmlinux 0xeac86ec3 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0xeacb4759 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xead9557f bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeb1610ef __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xeb1fabf6 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0xeb549459 journal_get_write_access +EXPORT_SYMBOL vmlinux 0xeb6688e5 clip_tbl_hook +EXPORT_SYMBOL vmlinux 0xeb6fa3e0 kernel_getpeername +EXPORT_SYMBOL vmlinux 0xeb7e28b0 pnp_release_card_device +EXPORT_SYMBOL vmlinux 0xeb873797 path_get +EXPORT_SYMBOL vmlinux 0xeb8f54b3 strstrip +EXPORT_SYMBOL vmlinux 0xebd273a6 strict_strtoull +EXPORT_SYMBOL vmlinux 0xebd43ce3 tcp_ioctl +EXPORT_SYMBOL vmlinux 0xebddfda1 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0xec001f9a tty_schedule_flip +EXPORT_SYMBOL vmlinux 0xec1b1b14 con_is_bound +EXPORT_SYMBOL vmlinux 0xec49b46a sock_create +EXPORT_SYMBOL vmlinux 0xec690805 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0xec794ba0 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0xecaae2a5 pci_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0xecb6c601 pci_get_device +EXPORT_SYMBOL vmlinux 0xeccd6b74 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0xecde1418 _spin_lock_irq +EXPORT_SYMBOL vmlinux 0xed136a3f km_report +EXPORT_SYMBOL vmlinux 0xed4153f7 journal_init_inode +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xedb57bf5 tty_register_driver +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedd3adc3 inet6_ioctl +EXPORT_SYMBOL vmlinux 0xedd3b179 napi_get_frags +EXPORT_SYMBOL vmlinux 0xedde873c uart_add_one_port +EXPORT_SYMBOL vmlinux 0xedebc1d7 eth_validate_addr +EXPORT_SYMBOL vmlinux 0xee2cf97d tty_set_operations +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee479cc8 tty_devnum +EXPORT_SYMBOL vmlinux 0xee7cdc28 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xee8e3514 eth_header_parse +EXPORT_SYMBOL vmlinux 0xeea5febb d_delete +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeecbab28 ethtool_op_get_ufo +EXPORT_SYMBOL vmlinux 0xeecd014b call_usermodehelper_setkeys +EXPORT_SYMBOL vmlinux 0xeeda0ebc input_allocate_device +EXPORT_SYMBOL vmlinux 0xef243996 give_up_console +EXPORT_SYMBOL vmlinux 0xef3a1cd4 arp_broken_ops +EXPORT_SYMBOL vmlinux 0xef3bd862 mca_find_unused_adapter +EXPORT_SYMBOL vmlinux 0xef6ed1ba param_set_invbool +EXPORT_SYMBOL vmlinux 0xef7b3178 create_empty_buffers +EXPORT_SYMBOL vmlinux 0xef80b26e netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xef9aedfc boot_option_idle_override +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefe099c3 acpi_get_event_status +EXPORT_SYMBOL vmlinux 0xeff14be9 ioremap_cache +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf0037aed vfs_writev +EXPORT_SYMBOL vmlinux 0xf01303d9 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0xf01db246 sock_no_connect +EXPORT_SYMBOL vmlinux 0xf04420f0 ip_ct_attach +EXPORT_SYMBOL vmlinux 0xf05cae6e blk_end_request_all +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf0750cf3 poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0xf086d773 backlight_force_update +EXPORT_SYMBOL vmlinux 0xf0b31302 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xf0b4a61c end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0xf0bad981 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0xf0ca4143 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0xf0e699a8 iunique +EXPORT_SYMBOL vmlinux 0xf0edce68 open_by_devnum +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0fdf6cb __stack_chk_fail +EXPORT_SYMBOL vmlinux 0xf10de535 ioread8 +EXPORT_SYMBOL vmlinux 0xf10de911 uart_get_divisor +EXPORT_SYMBOL vmlinux 0xf10eb685 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0xf11543ff find_first_zero_bit +EXPORT_SYMBOL vmlinux 0xf11a70c3 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0xf1498e5d __lock_page +EXPORT_SYMBOL vmlinux 0xf14c84fe tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xf16b0a25 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xf174ed48 acquire_console_sem +EXPORT_SYMBOL vmlinux 0xf17e9406 dquot_scan_active +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1a06328 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0xf1bfbf5c iput +EXPORT_SYMBOL vmlinux 0xf1d64416 gen_new_estimator +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1deabf2 div64_u64 +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1f49783 fd_install +EXPORT_SYMBOL vmlinux 0xf208c3d8 call_usermodehelper_freeinfo +EXPORT_SYMBOL vmlinux 0xf20bbc9a generic_file_aio_read +EXPORT_SYMBOL vmlinux 0xf20bd0a0 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xf20c49ec del_gendisk +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf2142bde nf_hook_slow +EXPORT_SYMBOL vmlinux 0xf21570eb gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0xf22a4aac find_get_pages_tag +EXPORT_SYMBOL vmlinux 0xf2339117 input_open_device +EXPORT_SYMBOL vmlinux 0xf24c903e mpage_readpages +EXPORT_SYMBOL vmlinux 0xf24e2da2 ppp_register_channel +EXPORT_SYMBOL vmlinux 0xf24f520d genl_unregister_ops +EXPORT_SYMBOL vmlinux 0xf2997713 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0xf2a0de13 alloc_hippi_dev +EXPORT_SYMBOL vmlinux 0xf2a25c5d acpi_bus_add +EXPORT_SYMBOL vmlinux 0xf2c6c0bf register_sysrq_key +EXPORT_SYMBOL vmlinux 0xf2d1d7f9 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0xf2e74040 mca_set_adapter_name +EXPORT_SYMBOL vmlinux 0xf2efa8c3 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xf30441bf inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf3149e88 consume_skb +EXPORT_SYMBOL vmlinux 0xf319a979 mdiobus_free +EXPORT_SYMBOL vmlinux 0xf322b9c1 xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf33b8daf dcache_dir_open +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf3575066 dquot_destroy +EXPORT_SYMBOL vmlinux 0xf397b9aa __tasklet_schedule +EXPORT_SYMBOL vmlinux 0xf39bf4d9 put_cmsg +EXPORT_SYMBOL vmlinux 0xf3a14aff lookup_hash +EXPORT_SYMBOL vmlinux 0xf3a7c4b9 alloc_fcdev +EXPORT_SYMBOL vmlinux 0xf3aae061 netdev_state_change +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3e24030 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0xf3fac71e kthread_create +EXPORT_SYMBOL vmlinux 0xf412b274 sk_common_release +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf4775bd6 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0xf4794644 __invalidate_device +EXPORT_SYMBOL vmlinux 0xf47d9ed8 end_page_writeback +EXPORT_SYMBOL vmlinux 0xf48a2c4c MCA_bus +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf4972b27 blk_insert_request +EXPORT_SYMBOL vmlinux 0xf4a3a96d vfs_rmdir +EXPORT_SYMBOL vmlinux 0xf4a5c213 avail_to_resrv_perfctr_nmi_bit +EXPORT_SYMBOL vmlinux 0xf4a9f810 do_sync_write +EXPORT_SYMBOL vmlinux 0xf4ae9d51 ida_pre_get +EXPORT_SYMBOL vmlinux 0xf4aef2cb i2c_del_adapter +EXPORT_SYMBOL vmlinux 0xf4b54755 rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xf4c1cebc kmap_atomic +EXPORT_SYMBOL vmlinux 0xf4c7dc19 blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0xf4daeb0c skb_pad +EXPORT_SYMBOL vmlinux 0xf4dea546 input_unregister_handle +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f52f93 dqstats +EXPORT_SYMBOL vmlinux 0xf502d273 acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0xf50cfb72 mark_info_dirty +EXPORT_SYMBOL vmlinux 0xf515e9a9 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xf51ae235 touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xf521d543 tty_name +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf57682c8 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0xf57b62fb generic_ro_fops +EXPORT_SYMBOL vmlinux 0xf57e8d65 cdev_init +EXPORT_SYMBOL vmlinux 0xf5805659 dm_table_unplug_all +EXPORT_SYMBOL vmlinux 0xf5b1e2ae seq_path +EXPORT_SYMBOL vmlinux 0xf5b218d9 dst_alloc +EXPORT_SYMBOL vmlinux 0xf5b9342a mmc_remove_host +EXPORT_SYMBOL vmlinux 0xf5bfdaa7 blk_queue_max_hw_segments +EXPORT_SYMBOL vmlinux 0xf5c05914 generic_segment_checks +EXPORT_SYMBOL vmlinux 0xf5c9012e timespec_trunc +EXPORT_SYMBOL vmlinux 0xf5ccdffd blk_stack_limits +EXPORT_SYMBOL vmlinux 0xf5d01cdf mca_device_transform_irq +EXPORT_SYMBOL vmlinux 0xf5e02432 register_filesystem +EXPORT_SYMBOL vmlinux 0xf5e47fc4 mpage_writepages +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf639ceef sock_get_timestampns +EXPORT_SYMBOL vmlinux 0xf6428bbb directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0xf66f4daf dm_table_put +EXPORT_SYMBOL vmlinux 0xf6af7f4c arch_debugfs_dir +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf70ce8ec nla_reserve +EXPORT_SYMBOL vmlinux 0xf71f134e free_task +EXPORT_SYMBOL vmlinux 0xf7309ae0 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xf7340ddc neigh_resolve_output +EXPORT_SYMBOL vmlinux 0xf7475e52 i2c_verify_client +EXPORT_SYMBOL vmlinux 0xf74a63b5 x86_mce_decode_callback +EXPORT_SYMBOL vmlinux 0xf7533668 kobject_get +EXPORT_SYMBOL vmlinux 0xf7623914 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0xf780ae2b open_exec +EXPORT_SYMBOL vmlinux 0xf786ef5e idr_init +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf79dbf07 netlink_ack +EXPORT_SYMBOL vmlinux 0xf79f631f bio_copy_kern +EXPORT_SYMBOL vmlinux 0xf7a10304 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xf7aa8859 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xf7ac3032 unload_nls +EXPORT_SYMBOL vmlinux 0xf7b78acd sg_miter_stop +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82e3d47 acpi_initialize_objects +EXPORT_SYMBOL vmlinux 0xf82f4f9e fb_get_mode +EXPORT_SYMBOL vmlinux 0xf83e000a inet_release +EXPORT_SYMBOL vmlinux 0xf871e108 acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0xf889cc35 inode_init_always +EXPORT_SYMBOL vmlinux 0xf88e0ee2 acpi_get_table_header +EXPORT_SYMBOL vmlinux 0xf890fe7f pm_idle +EXPORT_SYMBOL vmlinux 0xf8b30e93 mempool_create +EXPORT_SYMBOL vmlinux 0xf8cf9ee5 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0xf8d2c768 put_mnt_ns +EXPORT_SYMBOL vmlinux 0xf8d7cddc dquot_commit +EXPORT_SYMBOL vmlinux 0xf8e227c2 cpu_sysdev_class +EXPORT_SYMBOL vmlinux 0xf8f939e4 mdiobus_read +EXPORT_SYMBOL vmlinux 0xf8fad2b7 ip6_xmit +EXPORT_SYMBOL vmlinux 0xf9273054 user_path_at +EXPORT_SYMBOL vmlinux 0xf940a328 __next_cpu +EXPORT_SYMBOL vmlinux 0xf94e938b kobject_del +EXPORT_SYMBOL vmlinux 0xf96f66a2 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xf973b8f4 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0xf9899664 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0xf997a170 generic_writepages +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9ad6dfc bio_sector_offset +EXPORT_SYMBOL vmlinux 0xf9b202ae splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0xf9d62f1f dev_close +EXPORT_SYMBOL vmlinux 0xf9d7c12b dev_unicast_add +EXPORT_SYMBOL vmlinux 0xfa0564fc __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfa0f983f sync_inode +EXPORT_SYMBOL vmlinux 0xfa21b73f acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0xfa36ba0e dump_trace +EXPORT_SYMBOL vmlinux 0xfa39074e seq_bitmap_list +EXPORT_SYMBOL vmlinux 0xfa82fad9 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0xfaac8671 pci_clear_master +EXPORT_SYMBOL vmlinux 0xfac23e4a netdev_set_master +EXPORT_SYMBOL vmlinux 0xfac3858a kmalloc_caches +EXPORT_SYMBOL vmlinux 0xfae06308 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb0443fb acpi_get_parent +EXPORT_SYMBOL vmlinux 0xfb04be8d bdget_disk +EXPORT_SYMBOL vmlinux 0xfb0cf2e9 touch_all_softlockup_watchdogs +EXPORT_SYMBOL vmlinux 0xfb5efc9b jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0xfb61ff3f llc_add_pack +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb82a669 nobh_write_end +EXPORT_SYMBOL vmlinux 0xfb873f5b mmc_align_data_size +EXPORT_SYMBOL vmlinux 0xfb995004 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0xfba0c2e0 llc_sap_list_lock +EXPORT_SYMBOL vmlinux 0xfbd21539 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc0bbe0c xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xfc2e3121 dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc43f5ac per_cpu__current_task +EXPORT_SYMBOL vmlinux 0xfc533f85 schedule_work_on +EXPORT_SYMBOL vmlinux 0xfc562165 acpi_run_osc +EXPORT_SYMBOL vmlinux 0xfc5fa93e set_page_dirty +EXPORT_SYMBOL vmlinux 0xfc6256b9 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcbe7f8f skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0xfcbf9878 scm_detach_fds +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcc4d4e4 mod_timer_pending +EXPORT_SYMBOL vmlinux 0xfccf41fa bdi_destroy +EXPORT_SYMBOL vmlinux 0xfcda63a3 node_states +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd430c52 sock_wfree +EXPORT_SYMBOL vmlinux 0xfd4b6ccb thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0xfd530a02 pci_select_bars +EXPORT_SYMBOL vmlinux 0xfd56da89 pcim_iomap +EXPORT_SYMBOL vmlinux 0xfd6f4850 native_wrmsr_safe_regs +EXPORT_SYMBOL vmlinux 0xfd7d7713 acpi_exception +EXPORT_SYMBOL vmlinux 0xfd7fe45c filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0xfda85a7d request_threaded_irq +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfdcb4e2c pci_dev_put +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfe00aa53 iget_failed +EXPORT_SYMBOL vmlinux 0xfe2d035d jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0xfe3a49c0 md_done_sync +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe79d253 alloc_mdio_bitbang +EXPORT_SYMBOL vmlinux 0xfe7c4287 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0xfe95f5a5 simple_transaction_get +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfed37b92 ethtool_op_get_tx_csum +EXPORT_SYMBOL vmlinux 0xfedd35fc console_suspend_enabled +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff119292 aio_complete +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff480992 dump_fpu +EXPORT_SYMBOL vmlinux 0xff4a4cb9 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0xff588124 bio_map_kern +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff708fd3 mempool_destroy +EXPORT_SYMBOL vmlinux 0xff78f759 simple_transaction_set +EXPORT_SYMBOL vmlinux 0xff93ac92 journal_wipe +EXPORT_SYMBOL vmlinux 0xff964b25 param_set_int +EXPORT_SYMBOL vmlinux 0xff97536e blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffa3a03c request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xffc7c184 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xffd2b363 bio_integrity_free +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffdb82bc sg_free_table +EXPORT_SYMBOL vmlinux 0xffe34990 rtnetlink_put_metrics +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/kernel/microcode 0xdf66ca81 ucode_cpu_info +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x00aaf935 kvm_disable_tdp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0366caf0 kvm_set_cr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x05bc7b87 kvm_cpu_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x094ac8f4 kvm_get_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0d6f7c1b kvm_emulate_pio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x12d1b23b kvm_release_pfn_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x12f118d5 kvm_x86_ops +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x14b278e6 __kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1832d637 kvm_report_emulation_failure +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1a9df35f __tracepoint_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1aa94cd4 kvm_mmu_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1c1a2436 kvm_mmu_unprotect_page_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1de571b7 kvm_set_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1e4580bb kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x20de5193 kvm_disable_largepages +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x226b9d75 kvm_mmu_reset_context +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x22f13a76 kvm_get_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2322e039 kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x264a0f42 kvm_emulate_hypercall +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x279b528e kvm_task_switch +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x296ede41 kvm_lmsw +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2a51e964 gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2d5cfed9 kvm_get_guest_memory_type +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x30957ddd kvm_mmu_load +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x317f9e6b kvm_enable_efer_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3926959d kvm_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x39d7ae7a kvm_require_cpl +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3b7706d2 __tracepoint_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3e61bc7e kvm_set_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3f48c9f8 kvm_get_cs_db_l_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x401961f7 fx_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x438d836b kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x43e312ec kvm_release_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4616c781 gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x46320c46 kvm_release_page_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4a7cbe69 is_error_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5410dbe5 kvm_is_visible_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x599086dd kvm_handle_fault_on_reboot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x67759313 kvm_cpu_get_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6b9fb6cc kvm_get_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6e232e78 is_error_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x71eb11ee kvm_put_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x72adde0c gfn_to_memslot_unaliased +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7427f3fb kvm_clear_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7655f4e8 kvm_get_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x77fd5c28 kvm_emulate_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7d5bb812 kvm_set_cr3 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8220483e kvm_queue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x86a75172 kvm_set_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8ce4f3ab kvm_enable_tdp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8de6cbf6 kvm_vcpu_cache +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8e7f9b47 segment_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9168e22c kvm_emulate_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x94f5d607 kvm_queue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa361bc65 kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa60687a1 kvm_vcpu_uninit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa99bef88 kvm_clear_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaa0ab468 kvm_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xae076f6e kvm_put_guest_fpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xafbffdc0 kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb001cbe0 emulate_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbb9c37e3 kvm_mmu_invlpg +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd377dc9 kvm_mmu_set_nonpresent_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd94103b kvm_mmu_set_base_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc2826b0f kvm_load_guest_fpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc29a0c03 kvm_set_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc3b89d50 kvm_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xce6be969 kvm_inject_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcea5bf57 __tracepoint_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcf45d625 load_pdptrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd0b2727a kvm_mmu_set_mask_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd296def9 kvm_is_error_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd3c0a6da __tracepoint_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd6ed9f8c gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd710f246 kvm_set_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd7a33068 emulator_write_emulated +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdead7e81 __tracepoint_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe19c47aa kvm_inject_pending_timer_irqs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe474ed15 kvm_mmu_get_spte_hierarchy +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xeaaf9361 kvm_resched +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xed6ee6da kvm_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xedb34109 kvm_get_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfb0341cb kvm_emulate_pio_string +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfdb2993f kvm_vcpu_init +EXPORT_SYMBOL_GPL crypto/aes_generic 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL crypto/aes_generic 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x67502576 crypto_aes_set_key +EXPORT_SYMBOL_GPL crypto/aes_generic 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x53e2f71a async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x6f8546cb async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xdfaf0bfa async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x37621e80 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xbda2a099 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x040f3be3 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x58b8eb95 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x90c79863 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xcf4443fc async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x5c453a11 async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xfab85e36 async_xor +EXPORT_SYMBOL_GPL crypto/cryptd 0x22b2f31c cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x74949c8e cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x77c00028 cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x950a028a cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xb2fbc2a9 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xb9c941c6 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xbab4c160 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x13ee602f twofish_setkey +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/bluetooth/btmrvl 0x13251a1f btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x4cbe2758 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x4f508ccf btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x9ff6de7b btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xae6ba7a9 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xb0ecb1b4 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0x115875ad agp_add_bridge +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0x5f8e6d65 agp_remove_bridge +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL drivers/char/scx200_gpio 0xcf3ae0e9 scx200_gpio_ops +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x0818742c tpm_show_caps +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x098b1891 tpm_show_pcrs +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x1b1a4282 tpm_write +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x1b3ca3a9 tpm_show_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x1e8ddfd6 tpm_store_cancel +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x3e041656 tpm_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x3e3ab7a1 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x3f112708 tpm_get_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x4eaf44ac tpm_show_enabled +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x58c2bfbc tpm_pm_suspend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x703eab2b tpm_remove_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x880cefcc tpm_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x900e5734 tpm_continue_selftest +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xa9e4cae3 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xb349207d tpm_open +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xc11ef838 tpm_dev_vendor_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xc8df9d6b tpm_show_owned +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xd050ab4f tpm_show_pubek +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xe492fc9d tpm_dev_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xe4937c44 tpm_show_active +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xe95b109c tpm_gen_interrupt +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xf826e49a tpm_register_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xfe101b14 tpm_pm_resume +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xff969e52 tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm_bios 0x357d8a41 tpm_bios_log_setup +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm_bios 0x5cc79e25 tpm_bios_log_teardown +EXPORT_SYMBOL_GPL drivers/dca/dca 0x0e2d7723 register_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x2e471f01 dca_register_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0x31a2c8df dca_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0x62bf850c free_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x6456b131 dca3_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0x8006c614 dca_unregister_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0xbfc94adb dca_add_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0xd30e7c55 alloc_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0xf64d8d24 dca_remove_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0xf92f96b5 unregister_dca_provider +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x3eb9647c edac_pci_handle_pe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x44fa8bc2 edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4eee2596 edac_mc_free +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4fa13d93 edac_mc_alloc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x519ceb08 edac_pci_reset_delay_period +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x5a8d97ea edac_device_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x5e25857c edac_mc_del_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x7704b620 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x7a2db357 edac_mc_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x84ffe4e4 edac_pci_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x871c4ed5 edac_device_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x89ec774f edac_device_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x8a041b9f edac_device_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x8a5a2025 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x8fb8928e edac_pci_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x90205d79 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb4d510e3 edac_mc_handle_ce_no_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb83d0f62 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc16c1966 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc9cb403b edac_mc_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xce0e33b0 edac_mc_handle_ue_no_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xdfeeca80 edac_mc_add_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xe1f9b8a7 edac_device_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xf734bcf0 edac_pci_handle_npe +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x0f0ba55e ii_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x14878009 amd_report_gart_errors +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x1823885a amd_register_ecc_decoder +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x4b01887d pp_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x7509830f to_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x955c1f76 amd_decode_nb_mce +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xb98537cb rrrr_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xc2e765d2 amd_unregister_ecc_decoder +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xd0f094a0 ext_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xe6ff7e0c ll_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xf8dec080 tt_msgs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb16c0468 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb7e6f0a5 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x06af5bb0 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0cc7cd4f hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0cf2beec hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x17f68db7 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x21900f7e hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2c5bf572 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x40a44211 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x412d41ba hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x45b2d696 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x474bb6a0 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5d9f5a67 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x64b382ac hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x740bc0d8 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x804a715e hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8b30ac74 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8e555e6a hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8eef6fdd hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa24eeaae hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa32ef158 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa93e716a hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xac6f7c79 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd0107f85 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd4e8eff7 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe12a2121 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfc0e645f hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x1502da28 usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x306b6b16 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xcc41cd2f hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x13f64d4a lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x2660890b lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x33570112 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x406e8438 lis3_dev +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x6c33e494 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xcba04e7b lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xe6af28c8 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-nforce2 0x9b22b7d5 nforce2_smbus +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xb3cb2980 hpsb_config_rom_ip1394_remove +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xb8e0229a hpsb_config_rom_ip1394_add +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xec8d18cf hpsb_disable_irm +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x175ad33d input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x06caed33 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x1b74f069 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x225a05fb wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x2c759b54 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x626dc755 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x63888cea wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x8b1ae96e wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x8e122a04 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xca60edad wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xddc8b1e1 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xe792bf5b wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf82ca930 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x01c9294b gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x0aacfbee gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x493012b1 gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x4a6efa6b gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x4e792275 gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x59354081 gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x7af6f0a2 gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa7dc1dbe gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xaa45aafc gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb5e2ed1d gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb7711f8c gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xc5794a00 gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe34b5936 gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe5733961 gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xeda7347a gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xf93764a2 gigaset_freecs +EXPORT_SYMBOL_GPL drivers/leds/led-class 0x86d2618c led_classdev_resume +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xdcfd9303 led_classdev_suspend +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xf258cf55 led_classdev_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xf796213e led_classdev_register +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x05513b71 raid6_call +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x0b8ef590 raid6_2data_recov +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x4a48d81c raid6_datap_recov +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0349c9bd ir_codes_proteus_2309_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0366dcdf ir_codes_videomate_s350_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x110b053a ir_codes_pixelview_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x124cb753 ir_codes_encore_enltv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x183fdfdd ir_codes_gotview7135_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19b4d61c ir_codes_nebula_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19cd2826 ir_codes_behold_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1a9009d6 ir_codes_dm1105_nec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1cb148f5 ir_extract_bits +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2456e513 ir_decode_pulsedistance +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2cc459b5 ir_codes_flydvb_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2d0e9a49 ir_codes_em_terratec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3136d8ff ir_codes_dntv_live_dvbt_pro_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x32b9033b ir_codes_apac_viewcomp_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x379309cd ir_input_init +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3909f4ad ir_codes_terratec_cinergy_xs_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3a84be27 ir_codes_avermedia_a16d_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4267d749 ir_codes_budget_ci_old_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x43c89ef4 ir_decode_biphase +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4c1442c1 ir_codes_real_audio_220_32_keys_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x51ba1643 ir_codes_kworld_plus_tv_analog_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x543db4ff ir_codes_avermedia_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5e95da31 ir_codes_tt_1500_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5fbe6515 ir_codes_pinnacle_color_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x61d039d7 ir_codes_behold_columbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6427a3fb ir_codes_pinnacle_grey_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x64b02fed ir_codes_avermedia_dvbt_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6606596a ir_rc5_timer_keyup +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6809de82 ir_codes_pctv_sedna_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6d6511e7 ir_dump_samples +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x703fc738 ir_codes_avertv_303_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x7283f81d ir_codes_purpletv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x72c2992e ir_codes_powercolor_real_angel_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x76d71b8e ir_codes_dntv_live_dvb_t_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x784e176d ir_codes_asus_pc39_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x828b3ce5 ir_codes_encore_enltv_fm53_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x8acae3dd ir_codes_pinnacle_pctv_hd_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x92d1d181 ir_codes_flyvideo_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x94651dab ir_codes_ati_tv_wonder_hd_600_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x95eb8195 ir_input_keydown +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x97c35dab ir_codes_msi_tvanywhere_plus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x9944e2e5 ir_codes_hauppauge_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa69aa6ad ir_codes_pv951_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa95157c5 ir_codes_cinergy_1400_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xac15f6c8 ir_codes_kaiomy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xaff22e87 ir_codes_pixelview_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb01a1998 ir_codes_manli_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb0a8ef38 ir_codes_rc5_tv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb57445f7 ir_codes_eztv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb5adb754 ir_codes_cinergy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbd3ce6f0 ir_codes_avermedia_cardbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbeaccbdc ir_codes_gadmei_rm008z_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xcba36c62 ir_codes_videomate_tv_pvr_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xd30c491f ir_codes_norwood_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xd8161baf ir_input_nokey +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdc23fec4 ir_codes_fusionhdtv_mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdd4c0a07 ir_codes_evga_indtube_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe1101f4d ir_codes_avermedia_m135a_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe4140c60 ir_codes_genius_tvgo_a11mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeb9bb08f ir_codes_npgtech_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xebf345b4 ir_codes_encore_enltv2_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeec89db8 ir_codes_empty_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xef29c40d ir_codes_adstech_dvb_t_pci_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf33c155d ir_codes_msi_tvanywhere_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf3d619ec ir_codes_iodata_bctv7e_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf4f7a4d6 ir_rc5_timer_end +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf5e15e65 ir_codes_winfast_table +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x02b38dcc saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x1502d54c saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x30ab1f3f saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x39fc4140 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x3a347545 saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x4fdd2889 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x5fbea44c saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x7dca5fc6 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x8f8f1b26 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xb04d009d saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcf683cf2 saa7146_devices +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xd021380d saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x16a64781 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x258f9498 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x329d3345 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x4009c158 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x7811f842 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xe0001c60 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xe4752e03 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0xe5a0409a microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0xfb992dd5 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0xec9792a3 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x92b48c40 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xa6165332 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xe1174e5c tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0x2c89d96c tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x27b8649b tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xf78b60b8 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x0f5e07cc tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0xcdc39e12 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0x4fe6b369 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x333e8885 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x3e90f26e smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x401fb622 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x47573205 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x4be086d7 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x4e22ed4d smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x6428ef2e sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x68ee7e3e sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x6d14373f sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x6ece5f71 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x8062408c smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x86d11096 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x8d328f83 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x97e98e2e smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x9cd1cefc smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa4cf5387 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xaf935e8e smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xcacc12e8 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xdf921cc5 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfda878c5 sms_get_board +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x0dd538c4 ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x1db59a8a ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x3303d001 ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x4ed40dd6 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x59f0d7da ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xa297a4cc ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xc1121a0c ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x0b15b396 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x3340eeee cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x4ecc2619 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x7c095ed1 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x8c3120d3 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x99c955f3 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xab4eba49 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xaea9252f cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xcc86e18e cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xd617fe12 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xf64d6d2f cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0xb0a72511 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x15ff1c0c em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x25b99eff em28xx_isoc_dvb_max_packetsize +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x431d3bf1 em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x9b833436 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xd8bf7773 em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xf1dcb3ff em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x0b715725 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x11c6ecc0 saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xa65c24b9 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xc57ade45 saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xe8fc9cc4 saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x3895475d v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xb92274bb v4l2_i2c_new_subdev_cfg +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xcf3683b9 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xdcd80c50 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 0x0e5bb3c9 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x1fbf7b0a v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x32ac9481 v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa5228b24 v4l2_int_device_try_attach_all +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xcce29c1c v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x11afa9aa videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x22093280 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x343fa76e videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x40690847 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x44d12e4d videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x44e4f5fe __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x46e41002 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x47d45030 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4e8ae797 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4fef9d93 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x63c65ed8 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6c22d9b8 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6e3d1f36 videobuf_queue_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x7d0100ef videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8ef31d0e videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x9014f165 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x9f35bc48 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa4eded8f videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa9e6fbc0 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xb557ce9c videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd5a5ef0f videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd81e4628 videobuf_cgmbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf79042dd videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf9b4f451 videobuf_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xff9e48ac videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x39b885ca videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x52d83617 videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x65a59bdd videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x6a805d3a videobuf_dma_sync +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x730ffa02 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x791f1c2f videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x807dac36 videobuf_dma_init_overlay +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x92b19a90 videobuf_sg_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x9962faf4 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x9cc0ed0e videobuf_sg_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa825c75b videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xcc444e9b videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xe8a24336 videobuf_vmalloc_to_sg +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xef9a5516 videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x1208bf15 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x371f7dd7 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x66d4ea31 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x2ab81e81 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x47e186d3 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x5a1ec319 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x6374c39d v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x94539a44 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xe3b2f42f v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x570de5a2 i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x768d3f6d i2o_pool_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x882ad5f7 i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xc24ede98 i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xd56a77c8 i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xd956a25d i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xe8b7ffbe i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xeafd8798 i2o_dma_free +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x01155b36 mc13783_adc_set_ts_status +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x6c97dca5 mc13783_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x7fcf6efa mc13783_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xa1c6e8a7 mc13783_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xb6525bd6 mc13783_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xcbbecda4 mc13783_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xed5fe09f mc13783_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x2a6f5a2a pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x5445dd81 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x02bb17ca pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x11f75719 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x2aa0e192 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x2df496ce pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x33d57282 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x3e6e02f5 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x649e2d62 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x73d09a87 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x88a5bd32 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x8e767a8f pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xf7849e41 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x01fe09a0 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x0a6cfebd pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x0f096404 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x6e049e7b pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xc7c90928 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x1f006d3b sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x7582dc19 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x9ab791d8 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xae42412c sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xeffd7682 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xfb4e0396 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x0fafe7b7 wm831x_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x1b3b5c5b wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x1d069850 wm831x_auxadc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x1ea56771 wm831x_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x6a940d26 wm831x_disable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x82d7cb61 wm831x_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x864c8af0 wm831x_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x9547e99f wm831x_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x96eb099d wm831x_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xa5382e33 wm831x_enable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xb683be91 wm831x_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xe978f708 wm831x_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x12b81661 wm8350_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x181bb660 wm8350_device_init +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x24888a0d wm8350_mask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x2bcafe86 wm8350_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x390fbf36 wm8350_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x51e198eb wm8350_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x63d9225b wm8350_device_exit +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x64a843a0 wm8350_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x8ccb6ae7 wm8350_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xa7290ea1 wm8350_unmask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xb2f8e8c6 wm8350_block_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xb7181f89 wm8350_read_auxadc +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xc509e770 wm8350_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xc63f7610 wm8350_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xf6f0696d wm8350_gpio_config +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xfcc0d3a9 wm8350_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x2dca268f wm8400_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x68e2424e wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0xb72e740a wm8400_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0xf8cc8082 wm8400_set_bits +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x95426738 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xa26af059 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xdec85a42 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xfd9c21ab cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x2df115d4 eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d14d2f eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x37ba2c32 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x82f72eae enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xa6ac9afa enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xcc1afc0d enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xe217de0b enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf01665be enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf4cde7fb enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x31f38523 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3c773d4d sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x66dc5787 sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x73ca5539 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x838be243 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xce28126a sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x2c98de15 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x53f236e3 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x7ae8cd40 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xaac7c812 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xcc2bdb18 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x9eb877ab cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xa5174d36 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xb4ca4aba cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2000 0x180a785e DoC2k_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001 0x1ab97dcd DoCMil_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x75221dd6 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0339977b parse_mtd_partitions +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x25d19836 mtd_table +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x28c6d23b get_sb_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x28dfba13 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x33e6a9b3 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x620fced4 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x720fec65 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7f927186 mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x94eb2c51 mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9a8855db add_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xad3fcd71 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb39a16e2 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcd184f22 default_mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xce4df682 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xeba7752a register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf2a4f262 del_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x06709a95 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x8695476c del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x9fcd1970 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xc0c9b4a4 register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x661c6467 nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x7d1371c0 nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xa17203c4 nand_scan_tail +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xc3069620 nand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xe89351d3 nand_scan_ident +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x7cb90e77 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xbdd6a0bf onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x16a533e9 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x19d2a87f ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x291023a5 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2a2b728f ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x343257fd ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x4f1dcde1 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6d9a3023 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x825de171 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbc505df4 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xc7c0f934 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd999657c ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe83b58e1 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf8545812 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x102e070f unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x12fc7167 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x191c7398 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x3528828a can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x37479a0d can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x46b70170 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x6a793cc6 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x791a6802 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x80edd54d close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xee4c3599 alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x0eb22eda register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x5e22cdb1 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x74b12d9e unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xdc9bd500 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xe9d34c3e alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x04780409 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x08d6fa8e mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x098820fa mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0bdfbce9 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0c6d8dc5 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0f3827de mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x158c37a7 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x172a739e mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x20c5a396 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x291e85aa mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x2ed62dd6 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x355399eb mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x35b9a120 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x3ff1a0ca mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x40fd0424 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x464cbbef mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x477db9b2 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x53e6ce98 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x5a7814e8 mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x5c7f78fb mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x5fffe3a4 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x67269af5 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x73465be7 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x74b63f88 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x7cb1466a mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8557d950 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8785e6d8 mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x87f06555 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8ab63189 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8ea68f1d mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x973b1120 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9e5f9f0a mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9fe08831 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa4922591 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa86fcf09 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xae8a65f3 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xafcd90f6 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb0858150 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb3ec904a mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb7e476b2 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb86ce1bb mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xba20f47c mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xbdaf0f5d mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc26d383f mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc5a80add mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc69bd10b mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xcb47c79d mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xccce3017 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd32a82eb mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd6770147 mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe5176d81 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe76bc72a mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xfe9c3d9e mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x3fdf28e5 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xa54091b0 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x1bb7bde6 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x52a4da52 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x65f37518 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x7afc856f rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xa062cd39 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xd27b0435 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0c325c5f usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x21b40c1b usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x34a05158 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4547bc78 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4c509f52 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4c8ad57b usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x631e2ac1 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x69a5ae41 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x756f291d usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x76710ab7 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x781760ff usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x937f298f usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9c84aae2 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa617c59b usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xae6b5894 usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb5382232 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb5ca2a2f usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc51a6c14 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc8c72401 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd862c595 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdfbd409f usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xeb1b4572 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf7e1f1da usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfd29bb14 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x27017fe8 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x2ffdc9c5 i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x382e8855 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x3bb86aa0 i2400m_cmd_get_state +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x44d9de8a i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x785fabee i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x8955163e i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x89ea6e4f i2400m_set_init_config +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x94ffb646 i2400m_queue_work +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xa3f0952b i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xbcb108bc i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xc4da9566 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xe18ddf59 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x1c820b19 libipw_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0xf3766558 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x2152c697 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x2452471b lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x3ec4e4d9 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5168ca6c lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x53f66fb2 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x6b889668 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x859e15a8 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x91fe64c4 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xabe7c916 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xbb735387 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xbddc2942 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xbff2b855 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xcd06b254 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe31618bf lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf520394d lbs_cmd_802_11_rate_adapt_rateset +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x1a6d9639 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x1ef90365 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x6264ff02 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x64e2f079 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x7a4cd8b4 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x87d97e47 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xa1478289 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc663712c lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x01a9392a if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xb794d3f2 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x2f6cd018 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x53173813 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x800f956a p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x851841df p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x8b9d73f8 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x950751e1 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x97a327b6 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xb129f03b p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xc4af388b p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1b216537 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1c138672 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3558b5dd rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x373a9e8f rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3d502ef0 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x418c7a61 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4245ae92 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5a22859d rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5bd32fcf rt2x00queue_get_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x70a77492 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x89093bdc rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8ff840d0 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa2e98dd9 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa7e86ab4 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xaa5646ad rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xabd9fc3a rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb508f9d7 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb6653690 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb6fb3a41 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xbfaba55b rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdf0b500b rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe00850b8 rt2x00mac_get_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe87d8d4e rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf06fa3e4 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x00335a51 rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x081fada4 rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x3a7c901f rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x72096b89 rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x9fda9c7a rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xd5065306 rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xd9999bc1 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xdad2e11d rt2x00pci_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xfc3a2d4d rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x07c6a7db rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x07d0338b rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x0bb88ba6 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x22cb94a0 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x23bbdf6f rt2x00usb_vendor_request_large_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x24ddb552 rt2x00usb_kill_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x30686bed rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x3c8ba48b rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x3d6da65b rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6b25e7ee rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x812b45ef rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x8fd721df rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xc1c8f0b2 rt2x00usb_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xcb979ca5 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xf75d040b rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xfda397d6 rt2x00usb_kick_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x112947cf wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x9753493a wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0xc9859539 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0x3319893a acpiphp_unregister_attention +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0xaabc3c04 acpiphp_register_attention +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x5cf73340 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x86875719 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x043661a8 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xaf92cbdd wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xcb042fa1 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xd27b399f wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xf1e89a62 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xfecf5a7d wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0xfe9ef4b5 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x40e2a52f fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0233f349 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x02a4b415 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x08e80052 iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0fd1d31d iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x11909a70 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1408b18c iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1545a67f iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x18f26dab iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1a008f40 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1c369f7b iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1ef16bef iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1f0acbe2 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2973bce5 iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2ec31f81 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x41ba1d14 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x452c5863 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x46f31672 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x48c7e0b5 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5151dcc1 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x56215eb6 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5782c92c iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x578fc470 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5b089c64 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5c6d2c97 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5f0c2d18 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x70a143a6 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7b3f4b76 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x81f97103 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x82c78cf0 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8cdea84a iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9b6530de __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa618f95f iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa940266a iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xaa95690b iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb294da1b iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb7bdca42 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd1ea298a iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xde85d4fb iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe3902267 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe3990d90 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf483566d iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xffaf2a67 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0079cc23 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x182484e6 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x27b36290 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2e4a8e57 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x375b5753 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5932978e iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6ea628dd iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x918054cb iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x92903614 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9dd85852 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xbfb853ce iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd287145c iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd40eafe5 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe532b3f1 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfaecd488 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfdb9e11b iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x01b459ff sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0dd4eaef sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x14dd5229 sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1b97a61a sas_slave_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1c5e385d sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3120c828 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4ed6b13e sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x627afac9 sas_find_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x62b0dcdb sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6521c638 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x67f9ac9c sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6f2487d4 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x82113e0f sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x837b8530 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8ecdcd19 sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x91dd766f sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa8a3dc72 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xcafc780b sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd409c842 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd49df3d0 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfa0bf952 __sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfb9b0bd1 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xff8d760b sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x07ecd7f7 srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x1a8e6963 srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x7e597564 srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xae59fb88 srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xb00df4ee srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xcfd5022e srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x060f5d4a scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x1943b087 scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x49f9602b scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x7a3de799 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa275263c scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xb77951b8 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xbb8f607e scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xc1634ca1 scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xeef8771b scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x16608433 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x17dca01a iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x242877f5 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2f4c2626 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x502cbf80 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x50953266 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x535ed0bd iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5cfb31f1 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x665e9352 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x68080407 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x71d73e0b iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x739312f6 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x790fa42c iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8bcf3adf iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb91eeccf iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xca5231ea iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd34621f3 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdc51c64f iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdca28ad1 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdcb2941b iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe6d6d254 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf7cef32d iscsi_destroy_session +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 0x00c149d9 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x2c26575d srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xdbe65824 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xe8087f17 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xfbd9b0ef srp_rport_del +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x41bd03ce spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x7cd19ab2 spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xaa84dae9 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xb467f6e9 spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xd2fc1512 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xfc9e5388 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4740fc22 comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4e4b42d1 comedi_free_board_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x813c41b0 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb5725623 comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xc57fdaf4 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf5e55497 comedi_alloc_board_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xff70a9ee comedi_get_device_file_info +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x86fcde20 das08_cs_boards +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0xafd5d44c das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0xe08b885e das08_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 0x3ddfb868 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_labpc 0xe9693292 labpc_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x0f90e79f ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x244c3c9e ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x49bf0b4e ni_tio_winsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x6ca3b66d ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x7eb7a645 ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x8b5f727a ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xf43021b3 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xf8e1849f ni_tio_rinsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x04189fae ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x46f1f9c1 ni_tio_acknowledge_and_confirm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x551ac4f5 ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x70e629ec ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x82be56ae ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x9eeb4756 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/hv/hv_vmbus 0x0a1ee779 osd_WaitEventWait +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x4cc1b61c osd_WaitEventCreate +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x5432d87a osd_WaitEventSet +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x746d1786 osd_PageAlloc +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x83911c38 osd_PageFree +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0xa1b8d1ad osd_WaitEventWaitEx +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x14cbfbad dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x29e22a00 sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x2bd83716 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x45d3c509 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x4dd7c0e9 usbip_stop_threads +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x5be01722 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x5c143f3c usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x5fdb3a9a usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x71d8c322 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x728a8fdb usbip_start_threads +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x9b41625b usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x9c2b1ffc usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xb279945e usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xb3838beb usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xca82d9ea usbip_task_init +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xed5e7052 usbip_xmit +EXPORT_SYMBOL_GPL drivers/uio/uio 0x567929fb uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0x957dd3cf uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xbeac4922 __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x1e1840c8 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x9ca47012 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x00b70edd usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x03622d5d usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x1d48208c usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x2e78c394 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x5c520f62 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x755cbb5d usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xab76b7bd usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb62fa18f ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xfd726436 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x280f9738 usb_serial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2945ec5c usb_serial_register +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x33865991 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x522200d5 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x52ca915b ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5c55507c usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5c73968d usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x60d45078 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x66ecd97a usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa1962160 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb19815e9 usb_serial_deregister +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xbfc7ed60 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc54fa902 usb_serial_generic_resubmit_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xca7b3fc8 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xcb8484a8 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf687a324 usb_serial_probe +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x155ad9c7 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x2a1c1c21 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x4843ad5e usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x524be847 usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x56fe5324 fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x69e6a80c usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x76d27095 usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x7eb52f30 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x87dfb263 usb_usual_ignore_device +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8d5a7dd4 usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa507358b usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa9b38129 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xaef2231d usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb0025689 usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb45d6d4a usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc81cef31 usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd5eb7dd9 usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xdc18a583 usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xdd15d9a9 usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xdf36f590 usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf6332bad usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xfa8d8dc5 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xfc7cd642 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x09f3c921 wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x0b6cc46a wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x2ca7a02b wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x608f4f9b rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x8668d134 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x8b644de1 __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xa2fc706e wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0b99617b wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0ba286bd wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0cb63ba5 wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x18e61212 wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1aeb80b6 wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1c4e5ca7 wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x2a0d4dc7 __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x3bca70cc wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x429b634e wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x6c1a7b5a wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x76d26046 wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x889996f2 wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb53319fa wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xdf6e4f08 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xecd09395 wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xee3f8b5f wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf534075a wusbhc_giveback_urb +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 0x04611d0b i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xac91732c i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xb8f0517c i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x17bb7a71 uwb_phy_rate_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x37da1613 uwb_ack_policy_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x59aa7d59 uwb_phy_rate_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x8876c5ef uwb_rts_cts_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x900945d0 uwb_ack_policy_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xcf4ad30a uwb_pca_base_priority_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xe9369e7c uwb_rts_cts_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xf342f2dc uwb_pca_base_priority_show +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x086d6c26 umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x73ba154a __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x83a8f17b umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x8ec174fe umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xab7e4712 umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xb607dc7a umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xc7cc7443 umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xd9c8067e umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x01a3ffe3 uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0b8aad57 uwb_est_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0fdae85c uwb_rc_neh_error +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x15b21b9e uwb_rc_cmd_async +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x196d1891 __uwb_rc_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1e457d85 uwb_rc_ie_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1fa6e437 uwb_rc_dev_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x27d324f2 uwb_rc_post_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2887b956 uwb_rc_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x39d6cc63 uwb_rc_get_by_grandpa +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x43ebe71f uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x48849ae5 uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4898a9ab uwb_notifs_deregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d57ae3c uwb_rsv_type_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d88b838 uwb_pal_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x519e6d7d uwb_rsv_destroy +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x58af0e20 uwb_rc_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5cbb4758 uwb_rsv_terminate +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5e4bc088 __uwb_addr_print +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5ee95ad0 uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6057079a uwb_rc_cmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6759db8d uwb_rc_ie_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6c5245db uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6de3b541 uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6ec81fbc uwb_rc_neh_grok +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7dcfcd23 uwb_ie_next +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8667eb45 uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x905e13d9 uwb_rsv_get_usable_mas +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98a99a68 uwb_rsv_establish +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9f237356 uwb_pal_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9f3e3f32 uwb_radio_stop +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xa9a9be96 uwb_rc_pre_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb061f05b uwb_rsv_create +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbcf528a7 uwb_pal_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xce3be8ad uwb_est_find_size +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xce84850e uwb_dev_for_each +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd77737f8 uwb_rsv_accept +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe1716f06 uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xea1f7ffb uwb_notifs_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xea5b928e uwb_rc_put +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf784b2c1 uwb_rc_vcmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xffdd866c uwb_rsv_modify +EXPORT_SYMBOL_GPL drivers/uwb/whci 0xaea7983d whci_wait_for +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x065dd668 wlp_neighborhood_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x12085827 wlp_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x208f33a4 wlp_dev_prim_category_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x21309fd2 wlp_wss_activate_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x22c44add wlp_receive_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x28208f03 wlp_dev_model_nr_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3aee503d wlp_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3b489bf7 wlp_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x4528447b wlp_eda_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x4de1f3ba wlp_dev_manufacturer_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x57becdbe wlp_dev_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6217fc36 wlp_dev_prim_OUI_sub_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6addff4a wlp_wss_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6b8cbec1 wlp_uuid_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6e3aec80 wlp_wss_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x720f245b wlp_dev_prim_category_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x73564a77 wlp_dev_model_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x7446fcaa wlp_dev_manufacturer_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x75bc0a7d wlp_dev_model_nr_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x78f31cfe wlp_uuid_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x7c2fad3d wlp_eda_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x89f9db33 wlp_prepare_tx_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xafed6cfb wlp_dev_serial_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xb671dc17 wlp_dev_prim_OUI_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xb7004366 wlp_dev_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xbae67a12 wlp_wss_activate_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xbd0733e2 wlp_dev_prim_subcat_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc745fb8e wlp_dev_model_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd22bc8e9 wlp_dev_prim_OUI_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xeff6413d wlp_dev_serial_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf87b31ab wlp_dev_prim_subcat_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xfeffa0f4 wlp_dev_prim_OUI_sub_store +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x01d85701 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x233e1724 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x4760eb3c ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x4ec6222c ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x514f4cc9 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x5fd42a69 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xe6e19739 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/fb_ddc 0xae4c3790 fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x3a69f102 fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0xb48962ee fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0xb83fb283 sis_free_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0xc6f761cc sis_malloc_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/virtio/virtio 0x12c45d11 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x3fb85651 register_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x8b44cb39 register_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0xcd9ea48e unregister_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0xcdac0c9a unregister_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x0ac0ab25 vring_interrupt +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x47945bfc vring_new_virtqueue +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x7ec0e5d3 vring_del_virtqueue +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xaf0060c7 vring_transport_features +EXPORT_SYMBOL_GPL drivers/w1/wire 0x29f97589 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x577e0726 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x98ccea54 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xa7e840c2 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xdda4e3b1 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe31e0d41 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe67a8f40 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xee12e119 w1_reset_bus +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x0864c4a4 dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x2ac37d6e dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9d4b4131 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcc9fa388 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xdc583c08 dlm_unlock +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0x7b4cc138 exportfs_encode_fh +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0x894212ca exportfs_decode_fh +EXPORT_SYMBOL_GPL fs/fat/fat 0x0d0e53a1 fat_search_long +EXPORT_SYMBOL_GPL fs/fat/fat 0x131b6fb2 fat_alloc_new_dir +EXPORT_SYMBOL_GPL fs/fat/fat 0x2a6c2815 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL fs/fat/fat 0x2a95ed9f fat_fill_super +EXPORT_SYMBOL_GPL fs/fat/fat 0x2c367725 fat_sync_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x494a123d fat_free_clusters +EXPORT_SYMBOL_GPL fs/fat/fat 0x4a33d93c fat_flush_inodes +EXPORT_SYMBOL_GPL fs/fat/fat 0x4c7df655 fat_getattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x554f9f8c fat_remove_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x5a38a4d8 fat_scan +EXPORT_SYMBOL_GPL fs/fat/fat 0x7713af0b fat_setattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x9beecbfb fat_build_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0xb39e95d3 fat_detach +EXPORT_SYMBOL_GPL fs/fat/fat 0xbf141f87 fat_attach +EXPORT_SYMBOL_GPL fs/fat/fat 0xce32b3b1 fat_time_unix2fat +EXPORT_SYMBOL_GPL fs/fat/fat 0xde098c58 fat_dir_empty +EXPORT_SYMBOL_GPL fs/fat/fat 0xf67602cf fat_add_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0xf873fbd9 fat_fs_error +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x05023022 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x19a1fc63 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x1a618932 nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x4c1d2afd nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x9416b71b nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x942ebef7 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa7b91a7b lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf6933c48 lockd_up +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x7903fa6f nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x9c26579b 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 0x2cc0c5ec o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x36418553 o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x44376b04 o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x60a870cf o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x687f6251 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7e9d321e o2hb_setup_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 0xd60f2c6c o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xdd0b341c o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xe503e217 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xfc48c24b o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x0f443c2c dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x60a1bf2b dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x98ea501e dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x9fa51a0e dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xbe3ee845 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd3051071 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0562c415 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x06379db6 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0e27f909 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x15df1f1d ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x21db5b88 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4a1f6fe9 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x81c85a68 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x91fab465 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x963932a3 ocfs2_stack_glue_set_locking_protocol +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xa7d5c1c0 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xb5fea631 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xca37382e ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd066711e ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL lib/lzo/lzo_compress 0x56b63670 lzo1x_1_compress +EXPORT_SYMBOL_GPL lib/lzo/lzo_decompress 0xf30fda27 lzo1x_decompress_safe +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 0x2d352981 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x514f2896 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x64d8f0fa garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x7d5a0d70 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xa2509291 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0xad9fa858 garp_request_leave +EXPORT_SYMBOL_GPL net/802/stp 0x0d442f60 stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0xf30a0f61 stp_proto_unregister +EXPORT_SYMBOL_GPL net/ax25/ax25 0xac93ae05 ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0xaeb7451e ax25_defaddr +EXPORT_SYMBOL_GPL net/ax25/ax25 0xf01ba17a ax25_register_pid +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x429c74b6 bt_class +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00ee1243 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x15671000 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x173cbdd3 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1eaaa5b6 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x20163e38 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x40a2f23d dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x437f433e dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x46f293f3 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x51a32969 dccp_insert_option_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x54bb157b dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x56ea266a dccp_state_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x589db4a4 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5e34a23b dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5f4214e3 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x634d211a dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6698c011 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6a6bada0 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x70b1d967 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7a7087b8 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7b8a88b1 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7cde3207 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x821329c5 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x892f6bca dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8a09bd12 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8b7d8caf dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa1dd5718 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa36d5b73 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb061f76d dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbdf47675 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbe1bd503 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcccaa928 dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdffa62d4 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe3dd1371 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe9553397 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe986868a dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf56267fd dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x1407bbf3 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x389c7496 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x7c1a6928 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xb40a599d dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xd8496a3d dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xe2df8e59 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x6d40a921 need_ipv4_conntrack +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0xe060efdf 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 0x07ae60b6 nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x18dc98b2 nf_nat_proto_find_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x41c56c05 nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x7946878b nf_nat_proto_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x94a08134 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xbd0563c6 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xd29fae1e nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xe4a646e2 nf_nat_proto_range_to_nlattr +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xfa8c8a03 nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat_proto_gre 0x636b12c8 nf_nat_need_gre +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x5f8dd403 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x90120da1 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xa11c5408 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xda844321 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xdb5e3765 tcp_vegas_init +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x40f7a681 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd68f3e28 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe6476b4a net_vs_ctl_path +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x02c70f13 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x041013fd nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x07af8d25 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x090bd431 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0c408422 nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x15cf84c5 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x161b8412 __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x17cd64f8 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1ac0cf12 nf_ct_unlink_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1c2aa2f7 nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2492069a __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2c2da88f nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x318fd520 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x31f2d76c nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x32699d90 nf_conntrack_untracked +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x330cb844 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x351de88a nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3dc6274b nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x456a5bd2 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x47ca0ea3 nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x495ca376 nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b9065a9 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4c7f7259 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x51b21840 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5724cc94 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5882ba33 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x66a28ebe nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x68383857 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6cea621e nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6fe7b915 __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6ffc18a8 nf_conntrack_hash_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x72b50029 nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x75fc6c21 nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7c72f596 print_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7d8cd8c2 __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7f2c325c nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x802e7436 nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x90e78f63 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x90ff6c9f nf_ct_invert_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9af3f6c1 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9bf6a4d3 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa2b1aaed nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa71c3d3e nf_expect_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa9cbd99e nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa9dec60b nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb21816b4 nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbc11955f nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbea86c40 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbef1f286 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc115dae5 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc2e8cff9 nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xca4d635a nf_conntrack_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xce2c5545 nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xce50cec1 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd1c946d0 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd60f2560 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdc78466a nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe4a5a30f nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe7b46e22 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf1d678f6 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf4070377 nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf535558d __nf_conntrack_helper_find_byname +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf94c5fc5 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf9aae2c9 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe30706e nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x4a4e5311 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x98823690 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x0a71b05b nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x45b64360 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x588f313a set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x619a51fe nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x61db2baa set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x90e77ef8 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x9496bc08 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xa356d024 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xa60405f9 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xe606cd55 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x56e3a4b0 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x0c80b301 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x66a5ce2e nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x9c55b66f nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xa01793aa nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xae8f27b2 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xd9323803 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x0c23e770 nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x1366485f ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x21b21d71 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x2c8af8ef nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x5ce50246 nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x737fddc5 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x81a290c9 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xabf3c331 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xad3c6cc5 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xad50c130 nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xceb473e3 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf3232d35 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x28ab56bd nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x06e7a44e nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x141b37b5 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x18ef411a nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x369c8d5f nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x78fc86aa nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x7e83c813 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xeca95329 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xef9b4bbd nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x254d7d6f nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x0e749087 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x11ae2af0 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1a582d63 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4f432b51 per_cpu__xt_info_locks +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x531651f5 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc67201b3 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc7cbced7 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xce9533a2 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcf99fc26 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xdb1824db xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xdc3a36bd xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xc2429b63 xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xfc852663 xt_rateest_put +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x00afbfff rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x02cc390e rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x0817c437 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x177e27c3 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x1a71b142 rds_page_copy_user +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 0x395c96c0 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x3a3eacf3 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x48bae89d rds_inc_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x55b069dc rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x55e87532 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x5dc90389 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x60ec5b61 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x66529892 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x7b7b089e rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x86dfe1dd rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x885b03db rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x8b21510d rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x96fafe85 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x9b3e6113 per_cpu__rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x9c26ecff rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xa87fb819 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0xbd2fe701 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0xcd492cd8 rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0xe4a3a503 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0xfef5cc0d rds_message_unmapped +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x72a67f15 rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0xe608a641 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 0x3aaece93 gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x4e595765 svc_gss_principal +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x5578bd49 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x860a2811 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x86f0705c 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 0xab5fbebc gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xafca3c8b gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xba9352f1 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf62ac13c svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xfe0ff150 gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xff85403e gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0106eb00 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x04990a28 xprt_reserve_xprt_cong +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 0x06ff9ce2 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0819af19 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x09fd0104 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0b035f63 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0df13c50 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e280e67 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f9fd9c0 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x105200e6 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1229da74 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12e280e3 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x13886d73 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x13df10ca svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x13ed280a xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1bdce869 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1c1b2f6d svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20ce73eb rpc_mkpipe +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20dadc10 rpc_get_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2aa17774 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2da01a19 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2dd26b88 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e3db6f7 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e5c34fe svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e697c45 rpc_exit_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x33fc5c60 xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x342e3bc6 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x380c49aa xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3b6bb549 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ee46777 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3fca6d4d rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x40bea1f4 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x44e24b8c rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45419507 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4588063e rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4597cdd2 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x476fbbab unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x47f3184c rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4988af74 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x49983f4b xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a661a89 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4bea3977 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4f87d9ee rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x508ae3d7 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x51396f5b svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x51d72751 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x550547a3 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x57071cd1 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x59751fd6 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b14ec1a rpc_put_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bd26000 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5e1ad216 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f0e6aeb rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5fcc8634 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6296f63e rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x65064d26 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x65ed8f97 rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x675524ec rpc_sockaddr2uaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c5304c5 rpcb_getport_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6cbf76ae svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6edd5202 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6eea229d svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6f6d0ff1 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x701604ed auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7669d7d6 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x76f137d3 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x780c4c7f xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78b7d232 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79cae625 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b8f203f xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81341538 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8322e99d xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x83b21abb xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8492bba0 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x84f7cbd7 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86ed282a rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x88364d7d rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8b642a03 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8cd848a8 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90677749 svc_sock_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x913950a8 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x924c9d0a xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94aed2f5 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x96f7a050 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9712d82d rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x98463fe8 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x999e46db svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9aacc776 sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9c66d549 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9da885b7 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e137d55 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f7c6356 auth_unix_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa4696ba3 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa918d985 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9890fba xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xabe0ad8d rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaefe443d rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb09854c0 cache_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb0b45575 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb18c9060 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2063530 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb387b246 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb44695e5 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb44aa44b auth_unix_forget_old +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb45a7210 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb4c47651 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb5ec1c86 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb6e73cae svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbbcabf99 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbcffcd04 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd21faf4 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc0a4d207 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc0bbb1cc svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2092043 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc34715e3 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc463dc01 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc5b33bab xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xccc2372e rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcebe83d5 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf83abb3 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd113dc6f xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd1af923d svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd36d9044 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd572afd2 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd592c74f xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6cf7538 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd82c728e rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdaf1c473 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb77b875 auth_unix_add_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdcf77f5a read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdecee2f9 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1f2010c rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe394c45a rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe8a6442e svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeaa1d967 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeadb4007 rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedd1ba52 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xefd56e24 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf53292a1 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf60bfbc3 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf62f1e67 svc_sock_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d020f0 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfbd760f4 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfcee0a28 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfdc59b68 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfea83bf6 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff13dd24 cache_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff980730 xdr_inline_pages +EXPORT_SYMBOL_GPL net/wimax/wimax 0x1b2f9bc6 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x210733f9 wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x38ee160a wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x449c6f7d wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x53cae99e wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6680766c wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0xa9db4f3e wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0xad9affe2 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xaf4d9141 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb58f7512 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0xca3bccb0 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd6a19450 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xee4651c6 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0ed985b9 cfg80211_wext_giwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x11d7f572 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1e22fc3b cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2008dd0d cfg80211_wext_siwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2c00f5fc cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3906c3e1 cfg80211_wext_giwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3ef9d32a cfg80211_wext_siwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x40f919d5 cfg80211_wext_giwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x427ec97a cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x47fab012 cfg80211_wext_siwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x56fd34ae cfg80211_wext_siwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x58514409 cfg80211_wext_giwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x660a72d4 cfg80211_wext_siwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x679881e3 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6f02263d cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x772af3f0 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x82373019 cfg80211_wireless_stats +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x86e1fec5 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8c2f8605 cfg80211_wext_giwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8e4a4cf6 cfg80211_wext_siwencodeext +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x938a3b88 cfg80211_wext_giwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x949eed49 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x99a4f053 cfg80211_wext_siwmlme +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa1536942 cfg80211_wext_siwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb0c4ecd5 cfg80211_wext_siwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xbf6338a9 cfg80211_wext_siwgenie +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xbfeb5424 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc877bb45 cfg80211_wext_giwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd9703ff9 cfg80211_wext_giwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe64c2d65 cfg80211_wext_siwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf6b754e7 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf8a7f8a7 cfg80211_wext_siwretry +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x343cc37f ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x8b838028 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x8dd0049d ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x9cadb700 ipcomp_destroy +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x00c40141 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x03079e74 snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x035cd5e9 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x04d10560 snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0d7a7155 snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x166a08eb snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x196e45bb snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1e82b55d snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1f17f289 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x20819194 snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x21c60ac2 snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x252898f2 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2a65bb72 snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2bfa2eda snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2cb4b1d7 snd_hda_parse_pin_def_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2e6a5e57 snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x33d0ded8 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x388702e1 snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3cfec99d snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3f3dd37b snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3f7997f8 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4409fb3e snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x45cc2c30 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4672cfc2 snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4c0b91f4 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dc9e610 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4e6b20c2 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x53274c2d snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x58ef35bf snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x59ec9c2e snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ae76f73 auto_pin_cfg_labels +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x609d12dc snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6639d607 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x687c6504 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6a92b689 snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7100da1e snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7b3ebe9d snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7cbae943 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7d8df244 snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x83ddc89b snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x861a14c5 snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x87ccf1ca snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8b4712bc snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e80f2af snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x935ed701 snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9551940c snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9b2d00e6 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa063d614 snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa08333b8 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa40d2ae8 snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa4290725 snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa54e48e4 snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa808b1d5 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa94ace10 snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad87613e snd_print_pcm_rates +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb2fefb23 snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb462f842 snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb5e96a36 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb7b1c78b snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xba1f666f snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbeac9ce8 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbf31db78 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc34a54c6 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcce27eb0 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd3f135b4 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd42a8f4a snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd5263f1f snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd8b04756 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdb0f6279 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdb6bd3de snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdedfc15b query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe0dda5ca snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe4b60a7d snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe90ef868 snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe9ec88a4 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 0xfac05dc2 snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfdb3937a snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfdf2f4a3 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xff8a413a snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0x562d13c6 soc_codec_dev_ad1836 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0xb1c88581 ad1836_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0x4768e46f ad1938_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0x7012592d soc_codec_dev_ad1938 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0x6c22624a soc_codec_dev_ad73311 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0xc5f7d619 ad73311_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4104 0x38b9aa32 soc_codec_device_ak4104 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0x17c5fc3c ak4535_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0xb6dca57d soc_codec_dev_ak4535 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0x41e8f5e9 ak4642_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0xee678ad1 soc_codec_dev_ak4642 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x33354782 soc_codec_device_cs4270 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0xd5973858 cs4270_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x56be2ded max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0x76343870 soc_codec_dev_pcm3008 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0xdab02917 pcm3008_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-spdif 0xf3fbef78 dit_stub_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x7357018e ssm2602_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x7d813dbb soc_codec_dev_ssm2602 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0xb898cd20 tlv320aic23_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0xd0c11161 soc_codec_dev_tlv320aic23 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0x3f9ecaef aic26_soc_codec_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0xacedd367 aic26_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x0785b167 aic3x_set_headset_detection +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x1008f4f0 aic3x_get_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x3fc8b3cf aic3x_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x71933d80 aic3x_set_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xa8c70dbf aic3x_headset_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xd71a8757 aic3x_button_pressed +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xe3255ad5 soc_codec_dev_aic3x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0xd20cb5b3 soc_codec_dev_twl4030 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0xee6e6fad twl4030_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda134x 0x13b4d3b6 soc_codec_dev_uda134x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x220eefdf soc_codec_dev_uda1380 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x5c2e1a7a uda1380_dai +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 0x9bb07cd0 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xaaf36955 wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x4b20c8c9 wm8350_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xb08d3183 wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xb22e6abf soc_codec_dev_wm8350 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x13ddee77 wm8400_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x293290ed soc_codec_dev_wm8400 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0x7dfef17d wm8510_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0xdf8822be soc_codec_dev_wm8510 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0xca82994e wm8523_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0xf6e3cf24 soc_codec_dev_wm8523 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0xc3eb8c1f wm8580_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0xd0591931 soc_codec_dev_wm8580 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0xbf1ede64 soc_codec_dev_wm8728 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0xe2606ef0 wm8728_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x6318348c wm8731_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x6f1e0f1a soc_codec_dev_wm8731 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x728842e9 soc_codec_dev_wm8750 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0xcb94d213 wm8750_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x59a5112a soc_codec_dev_wm8753 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0xee6f8226 wm8753_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x27563101 soc_codec_dev_wm8776 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0xb1369601 wm8776_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0x8c26ef86 wm8900_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0x949cf731 soc_codec_dev_wm8900 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x0ab29d28 wm8903_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xbfb1a4f2 soc_codec_dev_wm8903 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0x7869cb95 wm8940_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0x93955fed soc_codec_dev_wm8940 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0x90118b83 soc_codec_dev_wm8960 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0xeff6dabc wm8960_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0x24aa0919 wm8961_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0x890abac2 soc_codec_dev_wm8961 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0x82dd02ad wm8971_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0x88c8d0f5 soc_codec_dev_wm8971 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0xd210931e wm8974_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0xf5bf24b0 soc_codec_dev_wm8974 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x52562c81 soc_codec_dev_wm8988 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x539a238c wm8988_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0x19beaa55 wm8990_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0x9b4dccbe soc_codec_dev_wm8990 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0x9f2ad8fb wm8993_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0xb0609f7d soc_codec_dev_wm8993 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0x7ca17d2c wm9081_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0xc3fcf1f2 soc_codec_dev_wm9081 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x02d80bb4 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0503469f snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x05638a6d snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x072cc375 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x072f5fe9 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x09b0a42a snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0a008d06 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0d72f7bf snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0fdceb8d snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1396b481 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1453d0f7 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1b5a65b7 snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1c8fc445 snd_soc_dapm_stream_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1d8ba885 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2100cca7 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x27b7a5e9 snd_soc_resume_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2877f897 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2c8bc214 snd_soc_new_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2cfac5c8 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3d9c4037 snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4391b0a9 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x43f28dd1 snd_soc_put_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x46380632 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x46bcc910 snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4c17ac2f snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4d038ce4 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x50388677 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x506514a9 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x523ca473 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x53f7f834 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x544c79ed snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5791f3c5 snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5eeeef98 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x600ebeba snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x61f6e888 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6875bc36 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6b00a35e snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6f199ae3 snd_soc_add_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x802bf138 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x830f5b56 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x85e92b7e snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8809a293 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8a4ac5d6 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e6ba8de snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9065283a snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x936a4db6 snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x96f4abfd dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x99806d3f snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa1b5343e snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xab548958 snd_soc_info_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xac97d9a2 snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xae9a257a snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb05ff05b snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb178d6e2 snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb9a93cb4 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xba61dc0e snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbf814067 snd_soc_get_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcb97dd5f snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd06c6ffc snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd2cdf809 snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd48dafa7 snd_soc_suspend_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd71aab90 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdac2d89a snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdc0e885a snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe2054881 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe729a801 snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe77ec091 snd_soc_init_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe9c47719 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xee9767b7 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xef0b66e4 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfaf99ca7 snd_soc_free_pcms +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x2e0a0be5 xv_destroy_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x51958fac xv_malloc +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x7e80b9f6 xv_create_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x9a79aa81 xv_free +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xaf69699e xv_get_object_size +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xc1f55d16 xv_get_total_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0x002ff5a3 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x003ed6a6 hpet_unregister_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x0051f451 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x00566d8f inotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x0063f206 inotify_remove_watch_locked +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x0077d878 pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x007c672c acpi_smbus_register_callback +EXPORT_SYMBOL_GPL vmlinux 0x00b63b84 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x00d35551 ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x010b3618 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x0110b3d1 register_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0x011fbfb1 rtnl_kill_links +EXPORT_SYMBOL_GPL vmlinux 0x016b9869 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x0183b462 put_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0x01848a8e local_apic_timer_c2_ok +EXPORT_SYMBOL_GPL vmlinux 0x018c2320 get_cpu_sysdev +EXPORT_SYMBOL_GPL vmlinux 0x018e8b48 ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01ba9815 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x01cb4883 __set_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x01de9872 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01eea5ed securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x025cac35 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x0284e5d3 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x02ccea56 lock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x02dd54ad ata_port_disable +EXPORT_SYMBOL_GPL vmlinux 0x032a90da clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x035dd539 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x03b93f5d sysdev_class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x040013a0 debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x04069b1d set_irq_nested_thread +EXPORT_SYMBOL_GPL vmlinux 0x0422701e get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x04265c8f ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x042f8b0e do_sync_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x044e7e36 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x04a06fbb __pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x04a073b6 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x04b4a333 class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x04b86de5 relay_close +EXPORT_SYMBOL_GPL vmlinux 0x0519ea21 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x0599130e ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x059ca8ab scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x05d5d52e srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x05d81a4f led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x060d1064 set_memory_ro +EXPORT_SYMBOL_GPL vmlinux 0x060f4dcd ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x0619ca8a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x065bccc6 input_class +EXPORT_SYMBOL_GPL vmlinux 0x06734576 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x0682e9f6 user_update +EXPORT_SYMBOL_GPL vmlinux 0x069587be uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x06f2460f ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x06fd725a invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x07302d43 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07ce7344 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x0811e78c find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x087bc2aa rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x08a3e5d1 net_ipv6_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0x08c0d963 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x08daeaf5 inet_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x08f74fb7 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x09bce8ac ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0x09be91ec pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x09c99ae6 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x09d0cd40 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x09d52e33 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x09d60450 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x0a6cb76f cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x0ab328f6 inotify_init +EXPORT_SYMBOL_GPL vmlinux 0x0afded2b ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b76b93a tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x0b91b1f5 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x0c0d548d sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c7f0932 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x0c805f93 clflush_cache_range +EXPORT_SYMBOL_GPL vmlinux 0x0ca689a9 tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0x0cb88680 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x0d186d6b hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0d75f7ab fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x0d81a187 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x0dc8e0c8 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x0deb0ade register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x0dff6657 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x0e109316 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x0e1bd935 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x0e27f0a1 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x0e28ba0d sis_info133_for_sata +EXPORT_SYMBOL_GPL vmlinux 0x0e3fa26f usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x0f2a6977 dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x0f389a04 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x0f3e952b init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x0f73520f klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x0f824a3b platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x0f8dd1c0 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x0f9550f5 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x0fbec68a usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x0fd300f0 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x0ff9a866 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x100c13c6 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x100c48a2 unregister_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101c923e __tracepoint_power_start +EXPORT_SYMBOL_GPL vmlinux 0x103e4d05 blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x10621889 hpet_rtc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x10c5f808 get_driver +EXPORT_SYMBOL_GPL vmlinux 0x10da02cd sysdev_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x112bb43a regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x113c0b27 acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0x1142ced8 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x1143feb9 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x1180262c sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x118da2f1 bd_release_from_disk +EXPORT_SYMBOL_GPL vmlinux 0x11a758dd ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x11e902eb blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1251d30f call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x1294d597 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0x12ce02e2 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x12e006a8 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x132a6027 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x13354608 scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x13616f8e usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13dbd858 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x13e68211 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x149db923 selinux_string_to_sid +EXPORT_SYMBOL_GPL vmlinux 0x1555faaa usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x1556756b usermodehelper_is_disabled +EXPORT_SYMBOL_GPL vmlinux 0x156257e3 apic +EXPORT_SYMBOL_GPL vmlinux 0x15642e0f inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x156fb4b0 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x15892417 async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x15935ef7 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x1598dc9d unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x15a85a2c d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x15b0606e e820_any_mapped +EXPORT_SYMBOL_GPL vmlinux 0x15b2b99d ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x15bab2a4 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0x15ff4700 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x163cb85a skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0x1642388c skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x16836e04 speedstep_detect_processor +EXPORT_SYMBOL_GPL vmlinux 0x1697136d hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x16c508be platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x16c57b0c unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x16d45037 dm_rh_recovery_end +EXPORT_SYMBOL_GPL vmlinux 0x16ede402 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x16f76869 probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x1709b2a7 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x171b577b unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x172e72d4 vdso_enabled +EXPORT_SYMBOL_GPL vmlinux 0x178160ca regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x17bdbe1f remove_irq +EXPORT_SYMBOL_GPL vmlinux 0x1814685f ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x182b4539 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x18415c69 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x18564dfd blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x1878f62b edac_err_assert +EXPORT_SYMBOL_GPL vmlinux 0x1884bc07 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x188c2ec0 use_module +EXPORT_SYMBOL_GPL vmlinux 0x18d53420 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0x18e6a40b task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x19247935 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x197dbe54 gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0x198d2d5a ata_bmdma_mode_filter +EXPORT_SYMBOL_GPL vmlinux 0x19918575 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19b70ac1 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x19eb034b rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x19f757b6 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x19f9be3d regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a474901 tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x1a764a81 aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x1a938737 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x1a9b538e ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x1a9c2be2 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x1acda5b2 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1b3f907c usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x1b4c336c tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1bd5e7de uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x1c00d8ab sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x1c31cf2e crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x1c38689a usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x1c400b17 ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0x1c7b6c2a eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0x1c852e7c xfrm_calg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1d4bad6c k_handler +EXPORT_SYMBOL_GPL vmlinux 0x1d5652fa xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x1d8f8059 __tracepoint_power_end +EXPORT_SYMBOL_GPL vmlinux 0x1db21d74 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x1de40db5 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x1dee2629 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x1e5a797b regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x1e682e94 pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e9a7024 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1eb8e160 isa_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1f1c7afc dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x1f3d1b77 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x1f8d4da9 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x1f8ec1b3 acpi_get_pci_rootbridge_handle +EXPORT_SYMBOL_GPL vmlinux 0x1fa2f0c2 sysdev_store_int +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x200517ab user_match +EXPORT_SYMBOL_GPL vmlinux 0x2016a9d2 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x205dcd7a klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x20a8ac66 usb_buffer_unmap_sg +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20e01bc9 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x20e449ce rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x212ab85b register_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0x2157736c inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x215db6e9 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x216c72cc crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x222ec69f usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x226a3bc7 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x22811131 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x22975ee8 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x22b4b20f ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x22d83155 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x22df4857 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x22ff0c83 pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0x23253735 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x23679939 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23869dc7 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x2405ef3f spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x240b739a iomap_create_wc +EXPORT_SYMBOL_GPL vmlinux 0x24114502 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x242c6cbb aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x246f4153 pv_time_ops +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x2530f046 inotify_rm_watch +EXPORT_SYMBOL_GPL vmlinux 0x255708cf inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x258b24f7 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x260bee28 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x262b2ab4 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x267cd1c0 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x268a1d69 map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x268b5ec7 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x26a49cea crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0x26c41936 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26de1716 pci_configure_slot +EXPORT_SYMBOL_GPL vmlinux 0x2714a01f device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x274e9e24 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x27549f23 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x27680209 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x2787db00 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x27a9c879 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x27adf232 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x27bbf533 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x27e9f4a4 scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0x27f1ad96 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL vmlinux 0x291f6500 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x29238150 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x292cd2db preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2942fa57 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x29501527 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x29571769 sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x29696da5 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x2980c410 power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x29c7cf32 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a784f56 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x2a8c2607 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x2aa35a0a crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x2ab9dc35 __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2ac72f63 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x2aeb0f8a xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x2af3bd89 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x2af90271 speedstep_get_frequency +EXPORT_SYMBOL_GPL vmlinux 0x2afa2563 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x2b12288d dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0x2b7bdf02 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x2b9f8e23 nf_net_ipv4_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x2be46ff2 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x2be7fb8e disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x2bfc4d7f tracepoint_get_iter_range +EXPORT_SYMBOL_GPL vmlinux 0x2c08f62d destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x2c1c0f64 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2cfe339e ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x2d1e305b usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x2d53afee anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x2d9f2ce3 sched_clock_idle_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x2da1e760 disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0x2da6f698 mmput +EXPORT_SYMBOL_GPL vmlinux 0x2dd11777 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x2dd8444c trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x2ddb54c4 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x2ddf102e inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x2def23d8 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x2e099383 __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x2e47f677 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x2e56c62a relay_open +EXPORT_SYMBOL_GPL vmlinux 0x2e6a20ef dm_rh_delay +EXPORT_SYMBOL_GPL vmlinux 0x2eb91dfe scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0x2f3ba74e ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f485fb8 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2f62b925 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x2f857551 machine_check_poll +EXPORT_SYMBOL_GPL vmlinux 0x2fca1825 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x2fcd9e17 dpm_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x2fd9e874 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x2fdf7ba0 rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x3020e829 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x3032b4cf platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x30808f3f rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x30a4f4ca bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x318920b1 register_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3189d4df driver_register +EXPORT_SYMBOL_GPL vmlinux 0x31c54454 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0x31cb159d crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x31d45547 ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x32394b2b crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x327d8b8f unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x328817fd ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x32d5e7fc xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x32f17454 ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x3303e68d crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x333da16b pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x3359b4c9 dm_region_hash_create +EXPORT_SYMBOL_GPL vmlinux 0x336baaf9 pci_get_hp_params +EXPORT_SYMBOL_GPL vmlinux 0x33af2eea cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x33b19e1d skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x33b37d7d rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0x33b65428 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x33cb1562 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x33d8f6f4 pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x33dc96c2 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x34275124 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x34736057 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x34816b1a dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x34a3a67d init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x34b07184 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x34b16f8f crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x34c70e65 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x34dddfd1 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0x34e553f0 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x359df85f usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x35be5708 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x35cbf7c3 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x35d6fd78 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x35d8c94a sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x35dad98b ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x35fd0312 per_cpu__injectm +EXPORT_SYMBOL_GPL vmlinux 0x3610669f ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0x361b8930 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x365615b1 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x366a9e15 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x366ad6b3 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x36730ed2 trace_define_common_fields +EXPORT_SYMBOL_GPL vmlinux 0x3682790e ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x3714af78 put_device +EXPORT_SYMBOL_GPL vmlinux 0x372c9ba3 devres_get +EXPORT_SYMBOL_GPL vmlinux 0x374a690c device_create +EXPORT_SYMBOL_GPL vmlinux 0x377a3f10 ata_sff_port_start +EXPORT_SYMBOL_GPL vmlinux 0x37ad4176 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x37d46b32 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x37dc0546 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x3825dd76 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x3841ab01 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x384a147c ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x38840b4e __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x38a9b544 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x38b741d5 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x38ea936e __memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x39287f45 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x3968d9f0 device_del +EXPORT_SYMBOL_GPL vmlinux 0x39b14247 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x39dbbadc user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x39f1e9e0 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x3a48aa06 rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x3a59692b regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x3ac2ef70 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x3b1bd2c5 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x3b51ac89 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x3b9c40f9 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x3bd04670 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x3bd4f961 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x3bd77776 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x3be1dc53 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x3be7af02 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3bf72a1d pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x3bff9a96 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x3c1fab5d crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x3c2044f6 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x3c6c45ca __tracepoint_power_frequency +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3cb3218f usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x3cbd2c49 dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x3cbd51db register_net_sysctl_rotable +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cfdfae5 trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d6f8695 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x3d83268f cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x3dc56054 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x3dd4d3a7 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x3dd5d829 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x3ddb13a0 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x3dde0e07 amd_get_nb_id +EXPORT_SYMBOL_GPL vmlinux 0x3e2004e9 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x3e757637 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x3ecf6cfc wmi_install_notify_handler +EXPORT_SYMBOL_GPL vmlinux 0x3eead410 regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f01570a probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x3f0e7a1c crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x3f0f9400 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x3f238101 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x3f289e62 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x3f5a1050 sysdev_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x3f5df093 crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x3fa1b3a4 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x3fd0a3fc skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x402272ea fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x4053599b ata_sff_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x4054d62e ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40be2c41 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x40eb52a1 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x410bebcb sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0x413993ee __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x413c9b2a spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x416f0c3c usb_string +EXPORT_SYMBOL_GPL vmlinux 0x41960b52 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x41f308e4 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x420f9f9e sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x42131ef7 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x42494cea ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x426cf886 crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x426f13b9 e820_all_mapped +EXPORT_SYMBOL_GPL vmlinux 0x42881d61 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x42b36097 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x42b364ef scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x42eea094 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x42ffd65b ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x435c24a4 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x4364e9af __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x4394e9f2 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x43e43fc3 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x43e65608 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x447b2c51 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44990b98 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x44a65d5c lock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x44dc0f9b ip6_dst_blackhole +EXPORT_SYMBOL_GPL vmlinux 0x44dea593 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x450fdd70 __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x4541fe0d mtrr_state +EXPORT_SYMBOL_GPL vmlinux 0x454d5c01 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x4559363e debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45b53db5 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x460f31aa rodata_test_data +EXPORT_SYMBOL_GPL vmlinux 0x46265da3 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x4648a74f driver_find +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x469ef723 queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x46fb5761 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x47392d6d usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x473b58f8 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x474da31c ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x4779c5bf add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x47aadb15 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x47c0dc4b relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x47d42588 scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x47fca00a relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x485ed43f scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x48a89cc4 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x492c2bcc fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x496f8448 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49db8db4 register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x4a748770 cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x4a85a41c ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x4ae75ec5 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x4b14acf0 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x4b49924a unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x4b5701e9 ata_sff_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x4bf6f130 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x4c0b0d98 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x4c22ec0f tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x4c2f30d4 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x4c3be985 __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4c3ff1ed get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x4c547c4e crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4c84ad87 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0x4c98644d sk_clone +EXPORT_SYMBOL_GPL vmlinux 0x4cac3cae sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x4ce515bf debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x4cec82ee crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x4cf211c7 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x4d0e0147 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4d15e0c7 ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4d264493 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x4d3b7584 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x4d4974d1 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x4d52b8f3 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x4d77a7d2 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x4d8f4c15 klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4dc1b3c7 crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x4dc64991 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x4de37f31 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x4e32f1bd crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x4e877196 scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x4ec32a28 __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x4f0bce29 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x4f52bac2 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x4f794164 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x4f95f211 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe7d9b1 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x503a8da2 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x50c89f23 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x50d1f870 pgprot_writecombine +EXPORT_SYMBOL_GPL vmlinux 0x50d29dff ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x50d835c9 regulator_get_current_limit +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 0x513e75f5 dm_register_path_selector +EXPORT_SYMBOL_GPL vmlinux 0x51459516 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x515c20f2 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x517607c0 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x518c2fc6 hpet_rtc_dropped_irq +EXPORT_SYMBOL_GPL vmlinux 0x51a4ae50 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x51acb7a0 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x51cfc7d6 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0x5243b132 __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x52496c50 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x527bce69 acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x5297dfb9 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0x52d111ea pm_qos_update_requirement +EXPORT_SYMBOL_GPL vmlinux 0x531b4e82 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x531f884c sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x533e0cfe regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x5370f0c7 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x5372dede unregister_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x537b9e72 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x53865af7 lookup_create +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x53cfd174 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x53dbd7eb crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0x545ac9a6 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x545bcd5c pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x54781076 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x5492ef1b kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x5499ebb2 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x549d027b zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x54cfe1c7 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x54def6e9 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x54f1d26f preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x5593c0c2 bd_claim_by_disk +EXPORT_SYMBOL_GPL vmlinux 0x55a137d0 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x55ae88f3 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x56398615 mark_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x563fb5c8 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x56947347 dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x569f5ee2 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x56d2dd2c skb_icv_walk +EXPORT_SYMBOL_GPL vmlinux 0x56dffa1e pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x571d58d4 pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0x5775af4c fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57f4b0d0 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x580f2768 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x58286771 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x582eb5a8 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x5839f96f rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x58471167 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x58665763 rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5916acb3 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x5928bf4f crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x593a36c2 scsi_dh_handler_exist +EXPORT_SYMBOL_GPL vmlinux 0x59ca3224 inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x59d26f28 sysdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x59d4f066 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x59e16dd1 device_attach +EXPORT_SYMBOL_GPL vmlinux 0x5a08a0bc da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x5a4ab668 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x5a6ec452 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5aba3cf1 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x5b2ef51b regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x5b42c496 dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x5bb062b8 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c11b85d spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x5c365550 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x5c3e7099 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x5c91ca5e seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0x5c9b768d attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x5cb207a9 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x5cd04214 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x5ce5f1e0 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x5cf602f8 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x5d0375b1 lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0x5d0f6f57 kbd_table +EXPORT_SYMBOL_GPL vmlinux 0x5d51bcf7 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d7536e4 acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0x5d87c067 register_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5dc78542 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5ded0d7f crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x5e05edde fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x5e11da85 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x5e3251cd scsi_dh_detach +EXPORT_SYMBOL_GPL vmlinux 0x5e51671d platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5e577fca blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x5e9354af kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x5f2da8c4 check_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x5f5aedf9 ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0x5f85a9f8 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x5f9002b9 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x5faac7e7 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x5fb3e445 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x5fcdec5d xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x5fcee70e crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x5fd5b103 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x6020434a acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0x6039f26d ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x6040fd4b read_unlock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0x605a1327 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x6076a3f4 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x609acde9 proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60b4ebad blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x60cd73ed pv_apic_ops +EXPORT_SYMBOL_GPL vmlinux 0x60cfabee alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x60e5f765 spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x61120e92 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x6121ff2c dm_rh_region_context +EXPORT_SYMBOL_GPL vmlinux 0x61747e09 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x620c7c14 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6248e402 cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x627a6fa6 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x629a7f6e do_posix_clock_nonanosleep +EXPORT_SYMBOL_GPL vmlinux 0x63583f91 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x6379f8de queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x6382e659 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x63a83227 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x63ebb125 crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x64439195 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x6448f312 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x6462ec6b ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x647845fc inotify_add_watch +EXPORT_SYMBOL_GPL vmlinux 0x64c7b20a sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x64e48225 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x64ebe677 wmi_query_block +EXPORT_SYMBOL_GPL vmlinux 0x65088c94 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x651d88e1 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x6535b2e4 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x654c49e2 aer_irq +EXPORT_SYMBOL_GPL vmlinux 0x6560e734 save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0x65850c7d inet6_csk_addr2sockaddr +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 0x65f906f4 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x662cea72 nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0x6645d6ab da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66a8210a synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x66b29df5 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66f36c69 each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x66fab731 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x66fc6128 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x66fe4d61 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x67238c31 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x6774168b ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67a9f56f fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x67e032ac power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x686c703f xfrm_count_auth_supported +EXPORT_SYMBOL_GPL vmlinux 0x688fa032 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x68a668cb hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x6901119a trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x6907ce65 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x69112df0 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x69371c4d platform_device_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x697430c7 __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x697544db net_assign_generic +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6a044eab crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x6a543771 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6a869e32 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x6ad2337e devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x6b039ff3 dm_rh_inc_pending +EXPORT_SYMBOL_GPL vmlinux 0x6b126efd __create_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x6b8b55d1 dm_rh_get_state +EXPORT_SYMBOL_GPL vmlinux 0x6b94c408 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x6ba933bb ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x6be8d2fb sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0x6bfbdb00 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x6c069992 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x6c19e73b led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x6c360019 nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c7e9040 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6c8eb98f xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d7ff3c9 ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0x6dbaa144 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x6e079068 i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x6e4a9927 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x6e7474fc xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x6eaa6b65 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x6eb3fc35 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x6eb787ee klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x6efceabc rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x6fd04fc1 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x6fd62d17 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x6fe3d8cf ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x7007f4b1 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x7015b73c transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x7037d79d k8_flush_garts +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x7078e6dc blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x709f0674 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x70d79741 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x70ec134c blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x70fbb25b init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x716d1c56 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71c8bc95 kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x71d7c7c6 inotify_dentry_parent_queue_event +EXPORT_SYMBOL_GPL vmlinux 0x722988b1 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x722c4f65 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x724a57d7 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x7282adc9 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x7285f84f unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x72dea863 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0x72e03bae stop_machine_create +EXPORT_SYMBOL_GPL vmlinux 0x72f78cc0 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0x732f3bd0 elv_register +EXPORT_SYMBOL_GPL vmlinux 0x735cb11a ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x738d9765 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x739adef0 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73ebfba6 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x73ff4175 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x7423c4ff ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x7446f8cb inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x747a6d8a skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x74abdafa task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x74b2e5cc fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74de9d92 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x74deb10c used_vectors +EXPORT_SYMBOL_GPL vmlinux 0x74e90302 debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x7521afb6 leave_mm +EXPORT_SYMBOL_GPL vmlinux 0x759a08c2 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL vmlinux 0x759bb4fc usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x75b65091 ata_sff_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x75f47f59 pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x761188fd dpm_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x762f7c64 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x76a1348a ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0x76a7c256 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x76ace25d inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x76ad995c device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x77206f53 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x773ca527 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x77654342 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x7779008f inet_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x77a343a3 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x77f0692a crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x77f5a8e7 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x780b5aa3 fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0x780eed89 acpi_processor_ffh_cstate_enter +EXPORT_SYMBOL_GPL vmlinux 0x783e8b36 ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x7868c054 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x78a7700a shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x78cad82c debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x78e4a4ee klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x78ed3241 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x7940f2e1 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x79880bb5 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x7989fa10 dm_rh_dirty_log +EXPORT_SYMBOL_GPL vmlinux 0x798fcde1 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x79ea6332 user_read +EXPORT_SYMBOL_GPL vmlinux 0x79f12478 usb_autopm_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x79f50a2b unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x7a101d7b inotify_init_watch +EXPORT_SYMBOL_GPL vmlinux 0x7a2892d2 iomap_atomic_prot_pfn +EXPORT_SYMBOL_GPL vmlinux 0x7a47b68f tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x7a4c1438 pv_info +EXPORT_SYMBOL_GPL vmlinux 0x7a69999b dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7a8fb80b ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x7a98775f ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x7ab3c122 edac_handlers +EXPORT_SYMBOL_GPL vmlinux 0x7aba1487 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x7acddd8d blk_abort_queue +EXPORT_SYMBOL_GPL vmlinux 0x7ad992e6 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7af0c8a9 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x7b1d544d edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x7b617972 ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0x7bb39690 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x7bcd2ded klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x7c20bba1 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x7c913d0d blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x7cb1429b bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x7cde4d16 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7d139772 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x7d8200ac elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e23c01b ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e7a3398 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x7e8075e2 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x7e834853 blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0x7ee35b05 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x7f073ec4 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x7f19c836 unlock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x7f220180 gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0x7f23d6d6 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x7f31ae5d nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x7fac94da usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fd6e315 bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7ff0dffa spi_async +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8014b6af input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x8039d043 selinux_secmark_relabel_packet_permission +EXPORT_SYMBOL_GPL vmlinux 0x8054ed20 filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80d5f30f invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x80ee55c3 selinux_secmark_refcount_inc +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x8156bd65 __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x816809ac usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x81ba3703 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x81dc0190 dm_rh_get_region_size +EXPORT_SYMBOL_GPL vmlinux 0x81ea15f2 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x8271e59c platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x828c2ca5 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x8293b534 tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0x82aeb568 acpi_smbus_read +EXPORT_SYMBOL_GPL vmlinux 0x82be496c generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82f776b7 gpio_export +EXPORT_SYMBOL_GPL vmlinux 0x831ad772 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x832ad090 pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x834d8eee attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x834ff459 unregister_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0x8388dd3b usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x83a0671a srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x83e43c86 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x84109af3 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x841daea0 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x8432d0e2 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x8442a557 class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x847a6a4c tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x850fc18b crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85d7edfd hpet_set_periodic_freq +EXPORT_SYMBOL_GPL vmlinux 0x85fa2317 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x867c684a setup_APIC_eilvt_ibs +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86b1667d hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86beec27 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x86d0a086 single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x870c3a5e sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x8717a430 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x871dc7f5 usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x873fbaea edac_atomic_assert_error +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x87d54e71 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x87e98d61 ata_sff_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x880b189a __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x88233033 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x8843adff usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x885142a6 nf_net_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x886736fc olpc_platform_info +EXPORT_SYMBOL_GPL vmlinux 0x887a3c5e crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x88860656 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x88ede403 inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x8918ff0d rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0x893e3fe9 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x894bcc9a bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x897fd962 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x89a35f32 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x89f10cae acpi_smbus_write +EXPORT_SYMBOL_GPL vmlinux 0x8a03ef10 register_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0x8a81ae7b ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x8a93ab26 ata_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x8ae8f1f9 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x8b4343f9 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x8b5440c1 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8b7db255 device_register +EXPORT_SYMBOL_GPL vmlinux 0x8bf3b284 unregister_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0x8bf8c7c3 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0x8c067007 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x8c069440 inotify_inode_queue_event +EXPORT_SYMBOL_GPL vmlinux 0x8c2bdee8 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x8c564553 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x8c7fe872 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x8c9d686d __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x8cd7a730 sysdev_show_int +EXPORT_SYMBOL_GPL vmlinux 0x8d033df4 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x8d08c235 regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x8d19123b register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x8d2c22d2 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x8d2ce107 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x8d6a7512 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x8da17b42 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x8da5ecb9 acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x8dc9925d scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x8dd254f5 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x8dfcd085 drop_file_write_access +EXPORT_SYMBOL_GPL vmlinux 0x8e2e50ae __class_register +EXPORT_SYMBOL_GPL vmlinux 0x8e408419 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x8e802550 get_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0x8ea91a6d usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x8eae69ba kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x8eb58c6e __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x8ebd5360 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f6f266b cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x8f7aae1f i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x8f9671b4 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x8fa74514 sysdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9009602a acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x901fa0e9 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x904be910 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90ee6c05 crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x91102f82 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x91448607 sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x91482eef usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x91a704fe sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x91c5588d ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x9244ecde tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x9259f21d ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x9266451b vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x92732398 put_driver +EXPORT_SYMBOL_GPL vmlinux 0x92781f40 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x9288c95a usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d74e64 sysdev_class_register +EXPORT_SYMBOL_GPL vmlinux 0x92fb217b dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0x93885ace pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x93adfc6a srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x93b6254f scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x93bf114b cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x93ce557a ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x9407d9b3 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x94924a2c skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x94949608 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x9497361e ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94aa8400 bus_register +EXPORT_SYMBOL_GPL vmlinux 0x94bae584 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x94de3391 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x94ecc4c9 rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x94fb62ea acpi_smbus_unregister_callback +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x952c4502 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x9543bc5d device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0x95501e22 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x95628f8c inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x95737068 blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x95758050 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9579f004 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x958d5db9 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x959edc1b sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0x961a8cd3 unlock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x9621090c inode_add_to_lists +EXPORT_SYMBOL_GPL vmlinux 0x9635c963 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x966d8ebb ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x967a3862 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9712e130 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0x974fa6bf blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x975c56a3 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x976b3537 xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x97982542 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x979fc0c2 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x97b47546 usb_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x97c68536 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x97d639cf kick_process +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x986cf200 rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x991437bd inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x991a36a6 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x994b1fa2 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x9951d4ca sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x99724e88 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x9984c858 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x99926558 shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x99c3775c kmap_atomic_pfn +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a1444dc transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x9a8dcf86 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x9a95d243 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x9a976b3e ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x9aac43d2 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x9ab0a6c5 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0x9aba690e proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0x9af74ab5 usb_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x9afdae95 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x9b2d12da root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9b31d285 sysdev_register +EXPORT_SYMBOL_GPL vmlinux 0x9b358a36 inotify_rm_wd +EXPORT_SYMBOL_GPL vmlinux 0x9b3d0e63 pci_hp_change_slot_info +EXPORT_SYMBOL_GPL vmlinux 0x9b57555a ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x9b8b3e51 acpi_processor_ffh_cstate_probe +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9bab1cf0 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x9bbc1603 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x9bc8c8a7 cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0x9c0709bb ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x9c33d049 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x9c77a1a3 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x9cb8037b xfrm_count_enc_supported +EXPORT_SYMBOL_GPL vmlinux 0x9d030b99 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0x9d2b6a58 hpet_register_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x9d308c4d hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x9d675b0b pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x9d85691a generic_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0x9d89fb1b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x9e01f6d4 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0x9e5be71a ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x9e711ad2 pm_qos_requirement +EXPORT_SYMBOL_GPL vmlinux 0x9e98311a ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x9ebff902 start_thread +EXPORT_SYMBOL_GPL vmlinux 0x9ec20b9c sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x9ec99268 inotify_find_update_watch +EXPORT_SYMBOL_GPL vmlinux 0x9edf10f8 get_device +EXPORT_SYMBOL_GPL vmlinux 0x9ee020fc dm_rh_flush +EXPORT_SYMBOL_GPL vmlinux 0x9eff714c usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x9f27df6e tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f6399fe usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x9f7192a2 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9f85ed90 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0x9fb109a8 ip6_sk_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa0255440 net_ipv4_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0xa09caa0c mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa18f3d5c iounmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0xa1a9c957 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0xa1d692d3 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0xa25a3d95 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0xa27150b4 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa28d8527 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xa2c1eccc tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0xa2e2c80a sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xa2e67f08 acpi_bus_generate_proc_event4 +EXPORT_SYMBOL_GPL vmlinux 0xa2f71244 sysdev_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa2fdcc18 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0xa343d178 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0xa39d9271 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0xa4035e73 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xa40a8590 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xa431ef33 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xa43e20fc regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xa452c297 hpet_mask_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa4669983 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xa47304b6 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xa48022c3 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0xa4d559b5 ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xa522db3e skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0xa5a66c57 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0xa5b82ace usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xa5bf5c3e pm_qos_add_requirement +EXPORT_SYMBOL_GPL vmlinux 0xa5c36cec inotify_unmount_inodes +EXPORT_SYMBOL_GPL vmlinux 0xa5d84518 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa607d6ea regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xa618a79b inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0xa62ed67b __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0xa6329275 pci_unblock_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0xa649959e platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0xa66ca854 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xa68381e6 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0xa6b0aac5 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0xa6c1bc65 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xa6d8d24c user_describe +EXPORT_SYMBOL_GPL vmlinux 0xa6de57a4 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0xa71f4f03 inotify_inode_is_dead +EXPORT_SYMBOL_GPL vmlinux 0xa762d9d5 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0xa793dc5e usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0xa7b8b81e dm_rh_stop_recovery +EXPORT_SYMBOL_GPL vmlinux 0xa7c1a1af ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xa7e1e2a1 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0xa81bb815 device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0xa8d8fb89 inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa9126bff hpet_set_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa93b79a2 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xa967ae59 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xa9985a45 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0xa9b7afd8 wmi_set_block +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaa0648e5 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0xaa0ed2d3 find_module +EXPORT_SYMBOL_GPL vmlinux 0xaa2a72bf __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0xaa3e3aea __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xaa5310f9 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xaa558d22 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0xaa6ed9c2 br_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0xaa8c4696 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0xaab1efaf scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0xaaddf6ca blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0xab0c126d tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0xab410444 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xab41bd91 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0xab51c53b pskb_put +EXPORT_SYMBOL_GPL vmlinux 0xab57e311 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xab5d7a0e rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0xab7524ee scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0xabbc167b input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xac0f4e39 do_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xac44edc7 fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0xacafa8e7 vector_used_by_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xacc19485 ibft_addr +EXPORT_SYMBOL_GPL vmlinux 0xacc8b52e driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xacfd01a6 dm_rh_mark_nosync +EXPORT_SYMBOL_GPL vmlinux 0xad010128 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xad13f8d3 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0xad35918f cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xad3ba9f0 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xadbc3638 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0xadfb8894 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae4d2cb5 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xae628161 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xae8c3814 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0xaed5bfb7 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0xaede7335 cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0xaef0cf22 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0xaf3f6fe0 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xaf5297bd usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0xaf6bfb85 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xaf88a345 pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xafc7c996 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xafcbf965 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0xb0223109 klist_next +EXPORT_SYMBOL_GPL vmlinux 0xb02337ba pci_block_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0xb073f384 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0xb0910dbf raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0xb0995896 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xb0aa812e fips_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb0bdba5f shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xb0eedea9 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb1010141 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb1368cba tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0xb16e5ee6 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb18506b9 smp_ops +EXPORT_SYMBOL_GPL vmlinux 0xb1a94185 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb20c49dc get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0xb2503ad1 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xb3214432 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xb3253ed9 hpet_rtc_timer_init +EXPORT_SYMBOL_GPL vmlinux 0xb33daeff dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0xb3990e03 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xb3ae8971 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0xb3f94309 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xb40b27d1 dm_rh_update_states +EXPORT_SYMBOL_GPL vmlinux 0xb42402d6 ata_sff_host_intr +EXPORT_SYMBOL_GPL vmlinux 0xb4251f3c inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xb44af816 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0xb454d448 __pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0xb46d8bc5 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0xb4ad702d dm_rh_dec +EXPORT_SYMBOL_GPL vmlinux 0xb4e496a6 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4ef0d32 sysdev_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0xb4f8efe5 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb53ae573 cpu_idle_wait +EXPORT_SYMBOL_GPL vmlinux 0xb54f9fbd driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb5a6ebe2 wmi_remove_notify_handler +EXPORT_SYMBOL_GPL vmlinux 0xb5cc2703 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0xb5d744ef usb_buffer_map_sg +EXPORT_SYMBOL_GPL vmlinux 0xb5d8913d register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xb6031625 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0xb609c191 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0xb626a4a9 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0xb65091b3 selinux_secmark_refcount_dec +EXPORT_SYMBOL_GPL vmlinux 0xb6656830 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0xb66eb1a1 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6b99c39 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xb718f2f9 sfi_table_parse +EXPORT_SYMBOL_GPL vmlinux 0xb72061e7 scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0xb744fa43 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xb7d7c12e hpet_set_alarm_time +EXPORT_SYMBOL_GPL vmlinux 0xb7db42b0 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xb7e2eb91 mce_cpu_specific_poll +EXPORT_SYMBOL_GPL vmlinux 0xb7fdd0df eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0xb8465067 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0xb84e4c47 iomap_free +EXPORT_SYMBOL_GPL vmlinux 0xb8857caf class_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb8de734f mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xb90045b4 device_add +EXPORT_SYMBOL_GPL vmlinux 0xb94e7f29 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0xb956f9f3 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb970c4fb usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0xb97d43a5 pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xb98be177 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xb9db776c pm_request_resume +EXPORT_SYMBOL_GPL vmlinux 0xb9eb3aa9 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xb9f9005f __module_address +EXPORT_SYMBOL_GPL vmlinux 0xba690e41 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbaa52d5d led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbaf69fa4 do_add_mount +EXPORT_SYMBOL_GPL vmlinux 0xbafc89e8 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xbb1bdd46 page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0xbb1d2db4 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0xbb1e85ea bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbb4a1408 klist_init +EXPORT_SYMBOL_GPL vmlinux 0xbbb98859 edid_info +EXPORT_SYMBOL_GPL vmlinux 0xbcb33785 crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xbcb7c376 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0xbcfdcf35 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0xbd506a46 unregister_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xbd8c740b fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0xbdacd6a8 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbdeb19ad ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xbe0303d6 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0xbe116723 do_posix_clock_nosettime +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe584033 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0xbe70ca2b regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xbe73a867 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0xbeac013d da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbee27ccb uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xbee6b3d9 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0xbee787ef ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xbefb2fc8 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xbf4dd86f usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0xbf991722 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbfad5222 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0xbfd3e92b relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xc0077e62 scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0xc0334e13 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0xc0ede805 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0xc0ffdca5 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xc1008c71 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0xc1139676 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0xc126e890 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xc12f7e0d trace_profile_buf_nmi +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc1c7e498 pm_request_idle +EXPORT_SYMBOL_GPL vmlinux 0xc1d9d438 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc24403bd sysdev_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xc309da55 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0xc3301f02 rcu_expedited_torture_stats +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc392ea84 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3aa2836 read_lock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0xc3d3dca2 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4959a9e hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xc4b33aa6 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc512626a __supported_pte_mask +EXPORT_SYMBOL_GPL vmlinux 0xc51b5f4d transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xc53a8ede ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc5641de2 ata_port_start +EXPORT_SYMBOL_GPL vmlinux 0xc58cdb60 lookup_address +EXPORT_SYMBOL_GPL vmlinux 0xc5e2e9fd dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xc5e3dddf wmi_get_event_data +EXPORT_SYMBOL_GPL vmlinux 0xc605165a ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc673e23e ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xc6ffa8bc platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0xc7541e9c regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xc7a66ca2 __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0xc7eba0a4 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc7ec11f6 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xc80ee048 pci_sriov_migration +EXPORT_SYMBOL_GPL vmlinux 0xc822ea65 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0xc86564b1 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc87e487a sched_clock_idle_sleep_event +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc975ed04 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0xc9beff42 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0xc9d4d6d1 wmi_has_guid +EXPORT_SYMBOL_GPL vmlinux 0xc9e6ccdf cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xca01f51c tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0xca4f9a34 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0xca5de565 crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xca8eb935 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xcaa702bc device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcb02579e devres_find +EXPORT_SYMBOL_GPL vmlinux 0xcb067cf3 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0xcb0fb700 xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0xcb20b496 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0xcb280533 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xcba265a6 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xcbd2239f pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0xcbf312a2 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc56166e ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0xcc656c66 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0xcc6ab305 is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xcc6bcb9a inotify_destroy +EXPORT_SYMBOL_GPL vmlinux 0xcc86dc08 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xcca9463c sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xcd132c85 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xcd2f83d3 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdedfd49 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0xce0897a7 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0xce118541 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xce33b02c bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0xce3639d8 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0xce3fe9e2 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0xcec3fef0 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xcf7a962e cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0xcf8a3942 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xcf8af983 trace_profile_buf +EXPORT_SYMBOL_GPL vmlinux 0xcf940808 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xcfc68341 synchronize_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd00e2547 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd03d8679 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0xd03fdcc0 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0xd0b6e807 fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0da060a xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0xd1228235 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0xd12ac59b olpc_ec_cmd +EXPORT_SYMBOL_GPL vmlinux 0xd137168a driver_add_kobj +EXPORT_SYMBOL_GPL vmlinux 0xd1568727 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd180b6a2 queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0xd19bbcea devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd20e6e0a ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xd237546b simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd2a36bf7 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0xd2a8caf0 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd2e92c84 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xd3070c6a fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0xd3c230b4 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xd3c5a8d3 sysdev_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0xd3d3bcdc inotify_find_watch +EXPORT_SYMBOL_GPL vmlinux 0xd4125c41 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xd41b39dd regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0xd44b27c5 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0xd46bfa3b blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0xd494ee54 speedstep_get_freqs +EXPORT_SYMBOL_GPL vmlinux 0xd49f211c device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd49f5e68 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xd4bc169d ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0xd4e17a47 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xd4e4502c blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0xd5051eb7 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd54c0071 dm_rh_recovery_start +EXPORT_SYMBOL_GPL vmlinux 0xd5b89c2b class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xd5c03ac5 register_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xd62a6c06 dm_unregister_path_selector +EXPORT_SYMBOL_GPL vmlinux 0xd6b3836e pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd73ef534 sysdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xd757577f sysdev_create_file +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd76a4023 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0xd7d79132 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd7e8796f sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0xd80715b6 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0xd83ebe05 pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0xd8699e12 dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xd8873da1 ata_pio_queue_task +EXPORT_SYMBOL_GPL vmlinux 0xd8bfdfc4 __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0xd8cd9404 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL vmlinux 0xd8ec5be4 pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0xd91d2ac7 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xd91dbbe2 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd9563d2d __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0xd98e8ef9 register_posix_clock +EXPORT_SYMBOL_GPL vmlinux 0xd9a10e71 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0xd9a1a715 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xd9b037de handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda6aa81b device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xda7bb8d4 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xda7ce6e7 crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0xdaa61f0c proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xdaed8100 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdafa0010 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0xdb274e52 monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0xdba64f1c eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0xdbe469b0 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0xdc0860ca user_destroy +EXPORT_SYMBOL_GPL vmlinux 0xdc15007d class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdc3b33bd mce_chrdev_ops +EXPORT_SYMBOL_GPL vmlinux 0xdc3bc370 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0xdc714560 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xdc7c5ef7 sysdev_class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xdc97a1f4 ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xdd162a5b sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xdd20e6a7 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0xdd263a90 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xdd51c5b0 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0xddd29aea usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0xddf5b55a pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde48df18 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xde680cd6 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xde6e4b20 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xde785529 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0xde8636c6 macvlan_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0xdec589d4 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xdec824c7 regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xdef43d54 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0xdef7cf30 fib_rules_cleanup_ops +EXPORT_SYMBOL_GPL vmlinux 0xdf07c390 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0xdf0c5997 kill_pid_info_as_uid +EXPORT_SYMBOL_GPL vmlinux 0xdf335cda acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0xdf64fc23 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xdf800229 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xdfa13ef4 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0xdfafb983 per_cpu__gdt_page +EXPORT_SYMBOL_GPL vmlinux 0xe01e609e debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0xe0c77bb5 mce_notify_irq +EXPORT_SYMBOL_GPL vmlinux 0xe0cca33e xfrm_aead_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xe0eefb95 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xe0f2d9e0 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0xe0f36f81 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0xe118f713 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xe1412a97 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0xe1b795b2 __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0xe1cb635e tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0xe1e1cecf pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0xe20f6b0f pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe2426710 wmi_evaluate_method +EXPORT_SYMBOL_GPL vmlinux 0xe247343b hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0xe25c5976 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xe2671d12 usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xe27551b7 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xe2888aad crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe28aa8f7 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0xe295c0ff is_hpet_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe33b26b5 queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe34c44ae class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xe429bf5b inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xe49c2d59 __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xe49ff3b0 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xe4a1b66b platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0xe4c331b6 acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0xe513afc0 cache_k8_northbridges +EXPORT_SYMBOL_GPL vmlinux 0xe530071c pm_qos_remove_requirement +EXPORT_SYMBOL_GPL vmlinux 0xe5513bb0 dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL vmlinux 0xe566144c cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0xe56637b3 ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe65500c9 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xe668e3ce fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe6b3565a hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe6cc992e regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xe7295650 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0xe768b574 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe7880151 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0xe7c8130d bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe817ef08 crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xe8505280 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe8709bac usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xe87fae93 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0xe8c2012e fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0xe8fcc4df __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0xe901175f __dev_addr_unsync +EXPORT_SYMBOL_GPL vmlinux 0xe90c78c0 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe94276ac dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0xe95065c3 dm_rh_get_region_key +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +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 0xea45e036 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0xeaa2d895 isa_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xeac5d79b skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeb1d4249 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xeb1f4c37 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0xeb1ff22e cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xeb4863e7 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xeb4c1fc8 __tracepoint_block_remap +EXPORT_SYMBOL_GPL vmlinux 0xeb58fab0 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0xeb84007c crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0xebb12e35 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0xebcf95ef led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0xebd51798 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xebe9282d ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0xebfc7bc1 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xec1a75a9 __dev_addr_sync +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec67b1c1 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xec69f839 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xec7865b0 inet_csk_clone +EXPORT_SYMBOL_GPL vmlinux 0xed09a363 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0xed1a976f i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0xed4c82ab usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xed4fdc2c sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0xedae0965 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xedf3f1f1 do_machine_check +EXPORT_SYMBOL_GPL vmlinux 0xedfb6eb4 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xefc69426 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xefceac63 dm_rh_start_recovery +EXPORT_SYMBOL_GPL vmlinux 0xefdd5a63 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xefe21106 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0xefef0909 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xeff98e6c usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xf0150d63 generic_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0xf03b8475 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0xf052fdaf usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf06c1cc7 unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xf0961dda shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0xf0d76628 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0xf0ed3da0 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xf1039eb8 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf120c2d9 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0xf1463412 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf1b2b58f blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0xf1d7db3e srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf20ead41 ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0xf213eac4 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xf25779ae fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xf25f7c85 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0xf2910c52 device_move +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf34806ec hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xf3c1c0a0 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xf3d11c68 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xf420a2b1 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0xf44617f1 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0xf46bd814 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0xf46ea0ef ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf4d76029 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf4f5dc3a __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0xf50dfff5 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0xf5139203 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0xf5384ac1 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0xf5388bd9 platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xf53ed33d device_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf5799f7a stop_machine_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf5944b96 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf68b689e sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0xf69897a4 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xf6bcbd73 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xf6e4f240 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf71533ac security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0xf717c381 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xf726f565 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xf728ec96 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xf7be406f __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xf863e82a flush_work +EXPORT_SYMBOL_GPL vmlinux 0xf873037a ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf8c7dda4 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xf8d5bf8e dm_region_hash_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf945aa92 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0xf9765833 dmi_match +EXPORT_SYMBOL_GPL vmlinux 0xf97666a0 set_memory_rw +EXPORT_SYMBOL_GPL vmlinux 0xf98d0b73 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xf9917123 ata_sff_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xf9945569 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xf9f30107 ata_port_probe +EXPORT_SYMBOL_GPL vmlinux 0xfa6a9962 blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0xfa7763c1 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0xfab0ce21 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xfae28845 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xfb072362 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xfb2a3293 math_state_restore +EXPORT_SYMBOL_GPL vmlinux 0xfb5d2b97 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0xfb69281a kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xfb6b9e3d security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xfb769517 fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0xfb8c9507 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0xfbcaa663 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfc0ec634 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xfcace499 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xfcce8a14 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xfce719ff sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0xfce8f444 devres_add +EXPORT_SYMBOL_GPL vmlinux 0xfceca382 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xfd02e89a spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0xfd94c60f eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfe4d5872 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfed9f853 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xff271b4d sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xff3b81e3 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xffc503d2 spi_alloc_master +EXPORT_UNUSED_SYMBOL vmlinux 0x00000000 simple_prepare_write --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/i386/generic-pae +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/i386/generic-pae @@ -0,0 +1,10501 @@ +EXPORT_SYMBOL arch/x86/kernel/scx200 0x254e5667 scx200_gpio_base +EXPORT_SYMBOL arch/x86/kernel/scx200 0x35a3c008 scx200_gpio_configure +EXPORT_SYMBOL arch/x86/kernel/scx200 0x8cfa375c scx200_gpio_shadow +EXPORT_SYMBOL arch/x86/kernel/scx200 0x907665bd scx200_cb_base +EXPORT_SYMBOL arch/x86/kvm/kvm 0x8e1b9150 kvm_cpu_has_pending_timer +EXPORT_SYMBOL arch/x86/kvm/kvm 0xd54bda44 kvm_read_guest_atomic +EXPORT_SYMBOL crypto/gf128mul 0x0c2f123f gf128mul_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x1068004b gf128mul_bbe +EXPORT_SYMBOL crypto/gf128mul 0x2f2889a0 gf128mul_init_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x384ef9ce gf128mul_64k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x56af0dbd gf128mul_x_ble +EXPORT_SYMBOL crypto/gf128mul 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL crypto/gf128mul 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL crypto/gf128mul 0xbd17a0df gf128mul_4k_lle +EXPORT_SYMBOL crypto/gf128mul 0xc0890413 gf128mul_64k_lle +EXPORT_SYMBOL crypto/gf128mul 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/acpi/video 0x7a45377b acpi_video_unregister +EXPORT_SYMBOL drivers/acpi/video 0x8826c13b acpi_video_register +EXPORT_SYMBOL drivers/atm/suni 0xec886fd2 suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0x681a2ebe uPD98402_init +EXPORT_SYMBOL drivers/block/paride/paride 0x091d6e0f pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0x13b1e09c pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x3856d50c pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x5255f72a pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x5cb13924 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x72f3eecc pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x740025f8 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0x80510181 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0xc4064a57 paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0xd7bf8e29 pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xe5aa88a5 pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0xff398ac9 pi_schedule_claimed +EXPORT_SYMBOL drivers/char/agp/agpgart 0x00596597 agp_generic_type_to_mask_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0x051f63bc agp_generic_create_gatt_table +EXPORT_SYMBOL drivers/char/agp/agpgart 0x0e19f689 agp_generic_destroy_page +EXPORT_SYMBOL drivers/char/agp/agpgart 0x1104a5f1 agp_put_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0x24ae8e07 agp_generic_alloc_pages +EXPORT_SYMBOL drivers/char/agp/agpgart 0x24dbed16 agp_alloc_page_array +EXPORT_SYMBOL drivers/char/agp/agpgart 0x27003a73 agp_generic_insert_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x2a3e55d6 agp_backend_acquire +EXPORT_SYMBOL drivers/char/agp/agpgart 0x2af1309d agp_generic_alloc_page +EXPORT_SYMBOL drivers/char/agp/agpgart 0x2d0d69f4 agp_free_page_array +EXPORT_SYMBOL drivers/char/agp/agpgart 0x2f39964c agp_free_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x30226ddf agp_device_command +EXPORT_SYMBOL drivers/char/agp/agpgart 0x350361e1 get_agp_version +EXPORT_SYMBOL drivers/char/agp/agpgart 0x38b13dd9 agp_alloc_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0x460d2b16 agp_generic_remove_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x46f91e6e agp_allocate_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL drivers/char/agp/agpgart 0x508120a5 agp_generic_free_gatt_table +EXPORT_SYMBOL drivers/char/agp/agpgart 0x543a1952 agp_enable +EXPORT_SYMBOL drivers/char/agp/agpgart 0x598a9efc agp_generic_alloc_user +EXPORT_SYMBOL drivers/char/agp/agpgart 0x5ea25707 agp3_generic_tlbflush +EXPORT_SYMBOL drivers/char/agp/agpgart 0x673f815e agp_bridges +EXPORT_SYMBOL drivers/char/agp/agpgart 0x7538b132 agp_off +EXPORT_SYMBOL drivers/char/agp/agpgart 0x7912ab94 agp_collect_device_status +EXPORT_SYMBOL drivers/char/agp/agpgart 0x8adb3f44 agp_generic_mask_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x94ff57a9 agp_create_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x995be62c agp_generic_destroy_pages +EXPORT_SYMBOL drivers/char/agp/agpgart 0x9d974830 agp_find_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL drivers/char/agp/agpgart 0xafe5eadf agp_copy_info +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb04ea8f0 agp_rebind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb9e82836 agp_generic_alloc_by_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL drivers/char/agp/agpgart 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL drivers/char/agp/agpgart 0xdb24a001 agp_flush_chipset +EXPORT_SYMBOL drivers/char/agp/agpgart 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL drivers/char/agp/agpgart 0xeafc8191 agp_generic_enable +EXPORT_SYMBOL drivers/char/agp/agpgart 0xed637f3a agp_bind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xf48d5344 agp_generic_free_by_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0xf8cab62a agp_backend_release +EXPORT_SYMBOL drivers/char/agp/agpgart 0xfc21f203 agp_unbind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xfd92d3b5 agp_bridge +EXPORT_SYMBOL drivers/char/agp/intel-agp 0x7b9a6116 intel_agp_enabled +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00a9c5ee ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x11f58df0 ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x17f19bec ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1e2ab01d ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x3083662f ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4ffa0361 ipmi_register_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x60f51f34 ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x61b33528 ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x770119f3 ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x792a3246 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x862c92c1 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x8b7c3a70 ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x8cbd7b77 ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x9572a241 ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xb220175e ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xbf65176b ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xc3e30efa ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xcf84ac5f ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd1092a7d ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe345942c ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xed6de951 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xeffc5d31 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfb9fb3b7 ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/nsc_gpio 0x1c87bf17 nsc_gpio_read +EXPORT_SYMBOL drivers/char/nsc_gpio 0x52012cdc nsc_gpio_dump +EXPORT_SYMBOL drivers/char/nsc_gpio 0x8b57b372 nsc_gpio_write +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 0x9be9c56e edac_mc_handle_fbd_ue +EXPORT_SYMBOL drivers/edac/edac_core 0xbe82a304 edac_mc_handle_fbd_ce +EXPORT_SYMBOL drivers/edac/edac_core 0xef39a1e1 edac_mc_find +EXPORT_SYMBOL drivers/firewire/firewire-core 0x04dd92ce fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x19c00d0a fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x206872af fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x21fe561c fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x22b34dd2 fw_core_initiate_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3850125d fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x392802e1 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3a0512a5 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3f297fee fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4d5d4eca fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x54ee252d fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x621c1317 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8c9bfa26 fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8fb81bf0 fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90863005 fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9edf92ac fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0xa9aee9ce fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0xac7da6bc fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaf1d9b69 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0xafc1c793 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb047a2c6 fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xbac94f4e fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc68f3b35 fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xce5fa58b fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe621a1b3 fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0xeb3ab983 fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xeb9cb740 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf9647f2b fw_core_add_address_handler +EXPORT_SYMBOL drivers/firmware/dcdbas 0xa75079d6 dcdbas_smi_request +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01842a7f drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0467a7b9 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0631d92f drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07d8648f drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07e3fddd drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0836695c drm_sman_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a8700f2 drm_agp_chipset_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e9e7968 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1148ff2d drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x17326818 drm_do_probe_ddc_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1caa6888 drm_get_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ccf0c3f drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ef8d076 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f072c59 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21451ac4 drm_sman_owner_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21e2a5fe drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23a0ced9 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2457c627 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24961bb4 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24e5026a drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25a70b15 drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25c1103e drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2916bf63 drm_sman_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29acbdc9 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2eb2f903 drm_sman_free_key +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2fe31f67 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35e4cce8 drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36823849 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3725bba0 drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a1f302b drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a2f21a8 drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a76b91a drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c9a1409 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e188583 drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ef5c4c3 drm_lock_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3efb8615 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3fa83ac1 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40911aaf drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x425b80ec drm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x437582af drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x470ce38e drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d489180 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x504760b3 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5473140e drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x558e2301 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55f060ee drm_sman_set_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56217ed2 drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0x571959df drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57f7dbe6 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x580830f0 drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c731b61 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5cbe33ec drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ce6144c drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ea5074d drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5edb122d drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f54ca36 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f700779 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6035d117 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x607d0913 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60f548b1 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x634a9189 drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63d708b7 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6518c19a drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x699c06bd drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69fbfc8a drm_agp_bind_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c7f6cb3 drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d2e5837 drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6eb2da4b drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f73bb83 drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fc30481 drm_mode_hsync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fdcb75a drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72400726 drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73562ccb drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7544f79f drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x765f446a drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76863e24 drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7812aba9 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x784915eb drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7becf9f2 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c1fd6c8 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7da0999b drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e2d1f31 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83a08211 drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x849241ac drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85603258 drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85de09f5 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x86022930 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87d6e7ef drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b5d60d4 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d70240e drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e62d513 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96d51ae8 drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9729bf06 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b65d948 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c8f379b drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f03c514 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa2d35d4b drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa465dee0 drm_sg_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4b347a2 drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5d9af34 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa89d354c drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab17224a drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xacd7ce78 drm_get_resource_start +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad00cbfc drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf29788e drm_sman_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb64e4cd5 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8f3322d drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb91adbdc drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbacd3205 drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbdbae640 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf4d4167 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0725f77 drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1512a6a drm_core_get_reg_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc29ca659 drm_i_have_hw_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc33d8ac6 drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc48bfd48 drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4ea85d8 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7295a21 drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc735bef2 drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc98e3d9f drm_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcba3b573 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdc842fe drm_lock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdf2eff4 drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcfb4f4ef drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd08fa3f0 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd127c437 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3028e75 drm_sman_set_manager +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3c3e091 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3ffab51 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4b182f2 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4c8a354 drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd63d6819 drm_core_get_map_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd65c55ea drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd77c4883 drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc2b979c drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc7151ba drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd3febe2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd49095c drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde7ab4d6 drm_get_drawable_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1457735 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe211fc0c drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe24a7b88 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe3b93528 drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe3f0f86c drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe552df64 drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5bdce7e drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8d04cf3 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe919dd5c drm_sman_owner_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb7b2cc4 drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0xecc2b6b4 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xedcaee61 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xee965199 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xefd2c282 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf086111c drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf18764d7 drm_get_resource_len +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf28f4368 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf42a2b26 drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa769c65 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa8bca25 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc223131 drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdfbad19 drm_sman_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x12a6b317 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1a7dbd9e drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x22a02d4a drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2e99701f drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x356e9f44 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3c461ff8 drm_helper_hotplug_stage_two +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4415ca4f drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4864f6e8 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x572d8ffe drm_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5c08003b drm_fb_helper_init_crtc_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5e831f29 drm_fb_helper_setcolreg +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6df94d50 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6dfd27fb drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7c98072e drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7d484cef drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc085da76 drm_fb_helper_add_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcf1e27db drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xde665df7 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe9b5b147 drm_helper_probe_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xedd75a5b drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeff4767f drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2350a82 drm_fb_helper_free +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf400d643 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfc0e9bcf drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xff551fd5 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/i915/i915 0x1c957548 intelfb_probe +EXPORT_SYMBOL drivers/gpu/drm/i915/i915 0x4a0b5a20 intelfb_resize +EXPORT_SYMBOL drivers/gpu/drm/i915/i915 0x7dc898bd intelfb_remove +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0x2fc3f7cd radeonfb_resize +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0xefefe2af radeonfb_remove +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x01c99cb0 ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x07787990 ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x095499a3 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0b8def08 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0e553e1a ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0e7bcf63 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x104300e8 ttm_object_file_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x11a565ec ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x132b05be ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x161262d6 ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x17371a04 ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x17a98fa2 ttm_object_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1ba8c0ef ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2a928044 ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2d673efd ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x34704ea7 ttm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x365feb2e ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x37618ced ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3c3c3af1 ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3dbaa9d3 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x40037590 ttm_agp_backend_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x43d7e9e5 ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x49fd9a24 ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x506f1ea6 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5504c85d ttm_mem_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x56c42d22 ttm_suspend_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x594f03fe ttm_object_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5f950fa8 ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61bdb34f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6277c681 ttm_base_object_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x66666d70 ttm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6cada4a6 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x765cbc82 ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x77524c51 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x781e0956 ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7f8879de ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x86a4066d ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x881a941a ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8db796d4 ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8e04c87f ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x906127df ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9c09065a ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa4a477ff ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa4b0ba5e ttm_ref_object_add +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb55e3d40 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb5cf2fe9 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb9e927c4 ttm_base_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbba2ecf9 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbf69f5ca ttm_base_object_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc0667b5a ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc628249f ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcf3a69e4 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd20706ac ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd7de4d88 ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd928c11d ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd937a461 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdbdffd33 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdc4cf967 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf544e0f1 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf60c4915 ttm_io_prot +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-bit 0x6bee97f3 i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xda890ff0 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x03309e6d i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xacd663aa i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pcf 0x703dc748 i2c_pcf_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x4b42f4ca amd756_smbus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x03567d49 hpsb_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x06380e5f hpsb_make_phypacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x069728dc hpsb_lock +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x08f4030e hpsb_update_config_rom_image +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0930c154 hpsb_make_streampacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0ad68e79 hpsb_update_config_rom +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0b234c4e dma_prog_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0b350688 hpsb_node_fill_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0c759840 hpsb_alloc_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0f725a30 hpsb_register_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x11432335 hpsb_alloc_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x12b73fb6 hpsb_iso_xmit_sync +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1328d22d dma_region_mmap +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x13ef8be1 hpsb_selfid_complete +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x158ac548 dma_region_offset_to_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x19a83583 hpsb_iso_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1a200e5a csr1212_release_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x292d3b7e hpsb_make_lock64packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2a4cc36b csr1212_attach_keyval_to_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2ac71608 hpsb_allocate_and_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2ebf6e5a dma_prog_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x30338de8 hpsb_iso_stop +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x32a7c4b8 hpsb_iso_shutdown +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x41d33b1a hpsb_get_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4901203c hpsb_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5d839105 hpsb_make_writepacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5e26fe28 hpsb_make_lockpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5f5fdd2f csr1212_new_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5fa7df58 hpsb_unregister_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x615d7528 hpsb_unregister_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x64904003 hpsb_iso_recv_unlisten_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x65b01f5d hpsb_free_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x672ad148 dma_region_sync_for_device +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x709699bc hpsb_node_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x74d5422c hpsb_iso_recv_listen_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x765541da hpsb_iso_n_ready +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x76bc1a5c dma_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7b22dbf9 hpsb_reset_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8147ee70 hpsb_unregister_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x822aa664 hpsb_resume_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x82cd0ded hpsb_packet_success +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8696f7d2 hpsb_get_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8879f8f0 dma_region_sync_for_cpu +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8ec2b312 dma_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x90cbd26c hpsb_set_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x94706d07 hpsb_iso_xmit_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x94bce230 csr1212_get_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x95dd2cf9 hpsb_iso_xmit_queue_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x96d88fb9 hpsb_iso_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9a8c9d63 hpsb_iso_recv_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa2f9eec8 hpsb_remove_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa4adc69f hpsb_iso_recv_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa6633bd8 hpsb_destroy_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa85cdb2a hpsb_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xab321143 hpsb_make_readpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xabc10149 hpsb_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xacd1c331 hpsb_create_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaef57bb5 csr1212_detach_keyval_from_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaefbd374 csr1212_parse_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb043ee61 hpsb_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb29bd232 hpsb_iso_wake +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xbf0a794a hpsb_set_packet_complete_task +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc26843ef hpsb_selfid_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc9a8b9df hpsb_read_cycle_timer +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xca41cede hpsb_iso_recv_flush +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xccbb5763 hpsb_add_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcd9e772b dma_prog_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcf88cccf __hpsb_register_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd0b47f7c hpsb_bus_reset +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd379e98d hpsb_iso_xmit_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd6428ba9 hpsb_iso_recv_set_channel_mask +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xdf86c047 hpsb_protocol_class +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe52ac7a0 hpsb_get_hostinfo_bykey +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xea4152ff dma_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xecda42a6 hpsb_send_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xef40e255 hpsb_free_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfab27536 csr1212_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfba57f51 hpsb_speedto_str +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfd638cc3 hpsb_set_hostinfo_key +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xff6578bb hpsb_iso_recv_release_packets +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x10ea31f5 ohci1394_unregister_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x1d5aeebc ohci1394_init_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x747c879d ohci1394_stop_context +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0xf7c2cbb1 ohci1394_register_iso_tasklet +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x565762e2 rdma_copy_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x58651880 rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x8a721ed9 rdma_addr_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xaf07e529 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xb3d7b24b rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xc91bb9d3 rdma_addr_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x0f53ff2b ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1e128bf3 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x26ce0b1f ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x313c823d cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3bbb711e ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x77ce2e38 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7cfe2139 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7d33a8b8 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x80364291 ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x97a9ac11 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9adeaf65 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa4e3dc69 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa4f3aa68 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xaf0b9c41 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb646749a ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc12ef5d2 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xff1d2f72 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x039b1f1a ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x03d6d2c4 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07c52bdf ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x09b94bce ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0e5d4f0c ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0f68090c ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1081ffdb ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x126ca700 ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x17fccc2c ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b3f1230 ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x20472b2f ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x20c6d7e9 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x250cf36c ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x27129957 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x293fd18d ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2dacea8f ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x317040e8 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x37a2f08e ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3d1adf2e ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f7567fd ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x40680019 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x407c0e93 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x41e24ed1 ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4d7c1039 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4fdb4299 ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x520b2638 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x524e859a ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55b0bc14 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5c48530a ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5d8f05a8 ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5e9166cc ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x62ec167d ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d3bc1a5 ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75aa710e ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7c4c569d ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7de334e3 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x81cbb462 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x838e845a ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8640eaeb ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87b614d8 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8bccc7ba ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e25d014 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x92657b95 ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9385044e ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9569ccee ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d804fa1 mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa081d462 ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa15ad332 ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa58ccb7c ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa89340ff ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaa0dd38b ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae8e8049 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb1a312e1 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb344e9db ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc5f81188 ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc6732f46 ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc765499d ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc7bfbdf3 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcd3f7063 ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd105693b ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd17ba9d1 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd28eeb41 ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd3771b46 ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd4cd0a27 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd8444d4d ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdba2374e ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdd2e7980 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe211bc9b ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe53583e3 ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe6119b1f ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xed3c6e45 ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf36498b9 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf44e60b8 ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfb0ea129 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x1c80ec7f ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x32c0b9ce ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x383aae6a ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x535f1e80 ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6ef787ed ib_response_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 0x9011bfd3 ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x9413d5ad ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x95ec079e ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xa9b5abdf ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xaaca6dd3 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xabfe2fe8 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xb0b98ad9 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xc88bd479 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x2d3e2005 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x39d2eaf6 ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x576fdbac ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x61555a44 ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x92ed738d ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x9c56fd34 ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xa38cc1f9 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xc1678022 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xedda2762 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xf520d09e ib_sa_register_client +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 0x02977167 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x29b59b17 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x328b47d6 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x444b4d43 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x536561a9 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x741914dd iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x8ef379a9 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xde71f1cb iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0ecf58b9 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1f5656ce rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4d17f889 rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x55d022e8 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5de3c4b9 rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6eacfaf2 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x77336d14 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa0ef1f7e rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa443a4f3 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa70c85bd rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb8a42ab0 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc0384469 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcf1a7c36 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe772fb01 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xeb78de45 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf1727ab7 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf1c61df0 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf2fcce2a rdma_create_id +EXPORT_SYMBOL drivers/input/gameport/gameport 0x4566e656 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x79e89cdd gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7ad75247 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xabd52e76 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xacd77a3f __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xce131662 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0xd6d40042 gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xd90aa2f7 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xec6b4797 gameport_stop_polling +EXPORT_SYMBOL drivers/input/input-polldev 0x36a41f82 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xaa72f009 input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xdce8c295 input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xe2662dfc input_allocate_polled_device +EXPORT_SYMBOL drivers/isdn/capi/capifs 0x2c54c957 capifs_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/capifs 0xd0bc06ce capifs_new_ncci +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 0x1cbc67d2 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2b8eab1f capilib_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2baa6586 capilib_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x3199d7b7 capi20_set_callback +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31c24aa4 capi20_isinstalled +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47108161 capi_ctr_handle_message +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 0x64f59299 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x6b24d973 capi_ctr_suspend_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x6e6de5f6 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x71e8d5ba capilib_data_b3_req +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7a33596c capi20_get_serial +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7e6f1307 capi20_get_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8f699913 capilib_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x926a68f4 capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x963b2c2d 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 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 0xca441bdc capi20_put_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xcc187d89 capi20_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe19a11ac capi20_get_profile +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe6f7e483 detach_capi_ctr +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 0x0d74f750 b1_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x1f2ee5fa b1_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x2697f0ad b1_free_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x36b188d8 b1_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x50e6ec3c b1_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x5956eeef b1_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x600c8348 avmcard_dma_free +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x69cdb021 avmcard_dma_alloc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x6c9b449a b1_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x77a39984 b1_alloc_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x80f9dfa8 b1_load_t4file +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x85f09690 b1_irq_table +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x87cbf312 b1ctl_read_proc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x98960c91 b1_parse_version +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xc6738222 b1_load_config +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdfd28376 b1_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xe8a2521c b1_loaded +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xf284bab5 b1_getrevision +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x092d470f b1dma_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x110aa6f0 b1dma_reset +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x233ca0dc b1dma_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x4c470a0e b1dma_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x65517581 b1pciv4_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x8aa90150 b1dmactl_read_proc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x8b441661 t1pci_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xcf80269f b1dma_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xd87e2584 b1dma_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xfd8ddbbf b1dma_send_message +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 0xd01934d7 proc_net_eicon +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x5f10a770 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xad1e3863 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xbf8a9234 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xc9dfbd5e mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x3545b404 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x71d4d9c6 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 0x2844a899 FsmInitTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x6020a42a hisax_init_pcmcia +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x93a64734 FsmChangeState +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x9df0cd27 FsmEvent +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xc0c558f9 FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xd94696e8 FsmDelTimer +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_isac 0x3f3b323a isac_d_l2l1 +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x43a2c1d3 isac_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x7e9c1acb isac_init +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xa12b2625 isacsx_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xa491fe8b isacsx_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xd8192de2 isac_setup +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x499d4e81 register_isdn +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x5c88e48c isdn_ppp_register_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x8a823843 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 0x0df33fb6 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x1eccd03d recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x254f55be get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x27e1eb58 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2c8018c3 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3b480704 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3ea336fd mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x429129f2 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x478f4c42 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4df3a582 bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x59447ad8 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x59a5361b queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5dc7400a mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x63835488 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7c5b144a mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x85efadf7 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8c790c0b recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xaad24a33 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xac42cc57 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xace35cae mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xaf8a40c6 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc4a3bf8a mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xca93e38b confirm_Bsend +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 0xd9a7fbfd mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe4b6f802 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe617ca36 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe6b4c41c mISDN_clear_bchannel +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/raid6_pq 0x0bd662f6 raid6_gfmul +EXPORT_SYMBOL drivers/md/raid6_pq 0x15fe0cd3 raid6_gfexp +EXPORT_SYMBOL drivers/md/raid6_pq 0x5ba93f9d raid6_gfinv +EXPORT_SYMBOL drivers/md/raid6_pq 0xb0d904b7 raid6_empty_zero_page +EXPORT_SYMBOL drivers/md/raid6_pq 0xce45a6f1 raid6_gfexi +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0x21994759 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0xa2c0f209 mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0xb9489fe9 mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0xdda58e54 mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x55e95d60 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0x948464bd qt1010_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 0x1001ed16 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0x3d29effe xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x0375198f flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x07de251f flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x095da536 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x19dd778b flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x28a200fa flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x3c00b8fb flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x4a3c1852 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x529ddd42 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x52b90084 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x533e7d36 flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x58229f24 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x640b73f2 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x996fbd12 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x9c5c8dfc flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa5ce8715 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe7496360 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe7ecc975 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf1a971c8 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf8207c36 flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xfc730d5e flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x239afc9e bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x88fc6bcc bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xafe523e2 bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xdd8f32c1 bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x046da58f dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x0b5ae4cd rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x12f26f10 read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x338df725 write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x424c81d0 dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x58c15418 dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xc809703c dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xf2ab6f8c dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xf8696334 dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0xde3c1ad0 dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0bca1792 dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c4d4a14 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x14eb630c dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x254de892 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x27852c86 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x2dffd244 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x33792beb dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3aa69ca3 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x41fbb6d0 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x42893bd1 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x43d4a685 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x45c3d14b dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6e2fcd6f dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6f7f7d73 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6f9c72e3 dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x74a5a698 dvb_filter_pes2ts_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x78fdca10 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7f80dd61 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x80e3832d dvb_filter_get_ac3info +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x87c0b23c dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x923aa88e dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x968a44ac dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x98d6f63e dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa048fd02 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa4680647 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa486ac6c dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb2db2592 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb379ef9f dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb5b95805 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb90f168a dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xbc0d91e1 timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcbdc2e5a dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd3809880 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd95f51c8 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xdedabcf9 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe7949e59 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xeb7daf80 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf826deb0 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x1aff8c26 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x260671ec usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x29f52eab dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x64f418e7 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x6a8c3034 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xaa28f184 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xf3135c29 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x3693500b af9005_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xd3383957 af9005_rc_keys_size +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xf89c677f af9005_rc_decode +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x15c55802 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x2442d060 dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x3ee0fee6 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x484aaea0 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x4a1335b2 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x6d002bf3 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x76c5c0d1 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x7bc29dd2 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xad195abc dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xbb2862de dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xcc9ccaff dibusb_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xef3402b5 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0xc840c3db af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522 0x9a546a55 au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0xfd51fd3b bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0x4ec4cee1 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0xe97a7970 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0xbc751c2e cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x153698a0 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x8ca9b7b2 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x4ec1d727 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x00e03802 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xd2a2156f cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x09279e05 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x702f055c dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x81de9e82 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0xa7f7e4c1 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x2461b3b1 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x40be75db dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x90a7fc65 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xaf83a62d dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xdc567216 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xf8b89c46 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x4596105a dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x71a0b055 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x1fb54ec2 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x238f1d51 dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x7f78ecd2 dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x8512e0e6 dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x8a83d473 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xe8415f7c dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x826bdd74 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xbcccc737 dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xd943f803 dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xe7146347 dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xefb4b6e9 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x1a04c452 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x21ae007b dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x63b358f9 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x6548c24e dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0x64d1778f dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x0d9608f5 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0x848fa496 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0x93a94706 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0x94fd3689 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0xca4e1eef l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0xd0ca1d02 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0xf36ddaf9 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0xccb62413 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x7507b857 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xe87e7383 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0x26453571 mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0x6911eeb9 mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0xa5ed267b nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0xd97ad7d5 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0xb5a48d3a or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0x7218c4a6 or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0xa9172de8 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0x3afb21aa s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x013becd2 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x316ccd4d s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0xe7a6d4db si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0xc28473d1 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x56b85063 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0xb7a07c60 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0x2fdd367b stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0x7a8a8261 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0x815b9dcc stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0xb6d9acf0 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0x48b87d25 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x1d55b180 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0xaefb2afd stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0xb91e087e stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0x3722f645 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x09a1c027 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0x29a0a1ff tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0x08da483f tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x20322f88 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x4156db82 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x745db5ef tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0x6102c7d4 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0x2ce568e1 tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0xf3b267eb tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0xf4d11505 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0x7915f7c2 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0xa45c1c3d ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0x49c18003 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0x0c14573e zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0x44d43319 zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0x6667a2dc ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x968e35ba ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0xbd493470 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x51d473b2 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x78e0d455 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x81d8fa28 bttv_sub_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x03f54f71 btcx_riscmem_free +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x495e4b0c btcx_calc_skips +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x6a04d1f2 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/cpia 0x29b5a6ed cpia_register_camera +EXPORT_SYMBOL drivers/media/video/cpia 0xcbd0029b cpia_unregister_camera +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x613c7858 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0xa815b97c cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x155650f3 cx2341x_ctrl_get_menu +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 0x5b88faf6 cx2341x_ext_ctrls +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 0xe2c2b5eb cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x54ee37b4 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x8517076b vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x06b30bc5 cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x2b3239d4 cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x34301232 cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x852094ac cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x89a651c4 cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xbc7a8294 cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x1068c9b0 cx8802_get_device +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x3fdfc61a cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x8283bd42 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xaa1d7791 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xb21b6498 cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xbd7f9c4c cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xea2895b2 cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x0ab4fbb5 cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x135e0856 cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x1c43b5ec cx88_newstation +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x1f9e26ab cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x21f6dc85 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x27472068 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x34fa6015 cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x3645a452 cx88_reset +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x3fa8e60f cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x442725e6 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x469842b1 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x4b64f79e cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x56dce3cc cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x69d3106c cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x99695bef cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9b140fff cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xa26be287 cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb035f52f cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb41ecd9b cx88_shutdown +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb47f6cda cx88_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xbc8236ab cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc196e419 cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xe333f2c9 cx88_core_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xfdef0e58 cx88_wakeup +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x722ae118 em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0xcab6e3a9 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x0aefffa2 gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x588abbd5 gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x794997f3 gspca_get_i_frame +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xd2c51127 gspca_auto_gain_n_exposure +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xeeb1174b gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xf8501824 gspca_suspend +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xfd1eb8dc gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x17942ad1 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x44df4d01 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x50ba0584 ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x635038b0 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x705ce81e ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x720c88e0 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x8ca1bc2f ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xa8c037c5 ivtv_vapi +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xcaff12f5 ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xd4a151d9 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xf679b2aa ivtv_udma_setup +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x0c5ec11a saa7134_devlist_lock +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 0x2d8e8b31 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x37b7c193 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x424f2954 saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x799327af saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x7aa63b75 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x8194183e saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x881c3b00 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xa856db66 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xab017a42 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xe38e4d7c saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xf9b78198 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/soc_camera 0x1c07c11c soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0x5722c336 soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0x5be0e11a soc_camera_apply_sensor_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0x952d8a88 soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0xd682d58e soc_camera_format_by_fourcc +EXPORT_SYMBOL drivers/media/video/tveeprom 0x24a60b8d tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/tveeprom 0xae1916e6 tveeprom_read +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x16a2915c RingQueue_Dequeue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x407a321c RingQueue_WakeUpInterruptible +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x4371cd51 usbvideo_RegisterVideoDevice +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x4c65cdb8 usbvideo_register +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x5514b6bd usbvideo_AllocateDevice +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x88eba522 usbvideo_Deregister +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xa0b322eb usbvideo_DeinterlaceFrame +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xddecac6d RingQueue_Enqueue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xdf11d4f3 usbvideo_TestPattern +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xf5011f67 RingQueue_Flush +EXPORT_SYMBOL drivers/media/video/v4l1-compat 0x45ab8683 v4l_compat_translate_ioctl +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x03165a85 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1dcaa0c8 v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1e326b97 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x2f639468 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x42c8e001 v4l2_ctrl_next +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4ed5e0d7 v4l2_chip_match_host +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x50766d69 v4l2_ctrl_query_menu_valid_items +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x6002f380 v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x76ba9a9a v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x95284709 v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x967e3188 v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9c7de443 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9eb43ee2 v4l2_ctrl_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xbecd2858 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xd9ee1e3f v4l2_ctrl_query_menu +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x2a8548f7 videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x3db9e820 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x428c7787 videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x8bc772b1 videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xd679f8d6 videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xf9b45369 videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x408b2788 video_register_device_no_warn +EXPORT_SYMBOL drivers/media/video/videodev 0x4540c9fa video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0x520810a5 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x9536c1f1 video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0xb8aa17fb video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0xba667770 video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0xc851aea8 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0xcb1ada96 video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/videodev 0xfd65b44f video_usercopy +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x7e11e12e videocodec_register +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xcc8b396d videocodec_unregister +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xcebadbd3 videocodec_detach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xecac1f82 videocodec_attach +EXPORT_SYMBOL drivers/memstick/core/memstick 0x0833e86f memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x22f44f43 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5d820a02 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x69a2966f memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6cb45744 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x786fe982 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x83373082 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x961ee98b memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa56f26a3 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa5987a36 memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xcb7b17c4 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe4f41da0 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf260ba5f memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf88b306f memstick_alloc_host +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x05035e55 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x05e9cf4f mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x18c300e4 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x27980546 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x29dded65 mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x30b244c6 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x39701387 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x485b4b96 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4bad999c mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5f9fee03 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6a28dcab mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6bd9a193 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8368c2da mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8953d2c2 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x912ac682 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x92d5c82e mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa61e907b mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb2430bb1 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb698d11c mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xba006822 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc0e69f82 mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc47c22e8 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc65ffe36 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xca53311d mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xcca2f7e3 mpt_suspend +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 0xe29c2dc6 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe9c5953f mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xecc6f2bc mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf4394356 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf7b46244 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x13b02aac mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x28980aac mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x37dd974d mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3a275b83 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3ecbbd2c mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4a1447c3 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x528154f0 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x607c1965 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x63c48e5f mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x72e3d427 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7b65faa6 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x824d4aa7 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x88f0105e mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8aae2464 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x95a39c6f mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x98c0a965 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa17a20c8 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa8c4d770 mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xaf2c52f6 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc0311336 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc78cf741 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd0ede035 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd58acf2d mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe447cb01 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe705a55c mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe70d75f3 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x1638ec86 i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x297f5a94 i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x33532821 i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x38c09a98 i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x55721d2a i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x7ca8bc6b i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x7ec42a2a i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x82f8f5d9 i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x88c15e7b i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc5481fa5 i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc6dc89bb i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc6f50701 i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd47805f6 i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xe1826f95 i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xebd0e0d6 i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf7388f9d i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xfa071264 i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xfcc717e5 i2o_msg_get_wait +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x0a8694a4 ab3100_get_chip_type +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x2ddc7a14 ab3100_mask_and_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x87726473 ab3100_event_register +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x97b081cb ab3100_get_register_page_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xbd93e5c4 ab3100_get_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xd2f174e2 ab3100_event_unregister +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xdf749608 ab3100_event_registers_startup_state_get +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xee23639e ab3100_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x7a5af6e0 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x9595f403 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mfd-core 0x5e2789bc mfd_add_devices +EXPORT_SYMBOL drivers/mfd/mfd-core 0x80914636 mfd_remove_devices +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +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/c2port/core 0x1b3a8a60 c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0xb9931678 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/ioc4 0x4738b0a2 ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0xae47bebe ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x026bf296 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x17d421ca tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x4a0aacd2 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x4e4397c0 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x54d1eb87 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x5f9ab970 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x6785ebc5 tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x8bb9ceab tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xa08947d6 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xbc4aba30 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xbdc0630a tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xedfff24b tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xfac9875d tifm_free_device +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0xe70b8652 mmc_cleanup_queue +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x09aa1b7c cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x267439a6 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x55f6fccf cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x0c04e1dd map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x708679f6 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xad38c1ce register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xc7e1cd22 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x9e1a28f9 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0xc137e4a4 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x85fb4cfc simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x0bbcd7b4 del_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtd 0x7a5cf52b add_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtdconcat 0xace01096 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/mtdconcat 0xd5c3b7f1 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/nand/nand 0x5e6330da nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0x7afd7405 nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x37dc752a nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x83ad91d1 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xb4b94377 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0x836bdb72 nand_flash_ids +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0xa336feb7 nand_manuf_ids +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x2365b97f flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x3809d50d onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x78410787 onenand_scan_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xf764e776 onenand_default_bbt +EXPORT_SYMBOL drivers/net/8390 0x04aa41ac ei_get_stats +EXPORT_SYMBOL drivers/net/8390 0x09ccfeab ei_open +EXPORT_SYMBOL drivers/net/8390 0x2f5c44f5 ei_tx_timeout +EXPORT_SYMBOL drivers/net/8390 0x44ecf5a9 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/8390 0x7c2718a5 ei_start_xmit +EXPORT_SYMBOL drivers/net/8390 0x8011ea49 ei_netdev_ops +EXPORT_SYMBOL drivers/net/8390 0x9901d3f5 ei_poll +EXPORT_SYMBOL drivers/net/8390 0xa3722469 ei_close +EXPORT_SYMBOL drivers/net/8390 0xace640f7 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/8390 0xdd365790 ei_interrupt +EXPORT_SYMBOL drivers/net/8390 0xe8a378f8 NS8390_init +EXPORT_SYMBOL drivers/net/8390p 0x3a577161 eip_netdev_ops +EXPORT_SYMBOL drivers/net/8390p 0x3b7a5f8e eip_set_multicast_list +EXPORT_SYMBOL drivers/net/8390p 0x50635fe9 eip_start_xmit +EXPORT_SYMBOL drivers/net/8390p 0x6c01069a __alloc_eip_netdev +EXPORT_SYMBOL drivers/net/8390p 0x76100289 eip_poll +EXPORT_SYMBOL drivers/net/8390p 0xa1dd8916 eip_close +EXPORT_SYMBOL drivers/net/8390p 0xad3278c1 eip_tx_timeout +EXPORT_SYMBOL drivers/net/8390p 0xb62d9912 NS8390p_init +EXPORT_SYMBOL drivers/net/8390p 0xb663e226 eip_interrupt +EXPORT_SYMBOL drivers/net/8390p 0xcbf28b68 eip_open +EXPORT_SYMBOL drivers/net/8390p 0xf2a457e3 eip_get_stats +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x1ad7a5c4 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x1e48c836 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x23f86078 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x24cde4d7 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x3b5fb372 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x7f72b8cc arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x971af94e arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x9dedd601 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb38a0a4b arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xc82ddf13 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xca8c0246 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x52446931 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xad490df2 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xe8ffa617 com20020_found +EXPORT_SYMBOL drivers/net/bnx2 0xe41426f2 bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/cnic 0x161c87fd cnic_register_driver +EXPORT_SYMBOL drivers/net/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x0f43e0b6 t3_l2e_free +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x12881dc3 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x171d7d56 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x3553ec96 dev2t3cdev +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x494f99c9 t3_l2t_get +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x4b66cccd cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x550c6fbc cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x85c97e3a t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x91527a4c cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x985b2f58 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x9c594e33 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xbdc8e234 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xc01830c5 cxgb3_register_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xcae4517f cxgb3_free_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xe1ada4a7 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xf76240f7 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x42d5c667 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x9454d037 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xbc4337d1 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xc455df75 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xce2bae65 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x0ba5c40f sirdev_write_complete +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x1756d79f sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x2e7eef58 sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x893c0e96 irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x95b27103 sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xbf84dad1 sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xd164ec99 irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xddfec8be sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xe0843466 sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xec18ef33 sirdev_set_dtr_rts +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/mii 0x201a8a71 mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0x322558cb generic_mii_ioctl +EXPORT_SYMBOL drivers/net/mii 0x35239578 mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0x3f9cb23c mii_check_media +EXPORT_SYMBOL drivers/net/mii 0x45bdc633 mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0x84f9641a mii_check_link +EXPORT_SYMBOL drivers/net/mii 0xb9fce051 mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0xd7f3ef2a mii_ethtool_gset +EXPORT_SYMBOL drivers/net/pppox 0x3c21874c pppox_unbind_sock +EXPORT_SYMBOL drivers/net/pppox 0x9df28182 register_pppox_proto +EXPORT_SYMBOL drivers/net/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/pppox 0xe6d81214 pppox_ioctl +EXPORT_SYMBOL drivers/net/sungem_phy 0xf0ae0819 mii_phy_probe +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x4227dd53 tms380tr_open +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x4f43bcdc tmsdev_init +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x78039cc4 tmsdev_term +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xcd4e1eb6 tms380tr_close +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd2328794 tms380tr_wait +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd49af46e tms380tr_interrupt +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xf3e1a245 tms380tr_netdev_ops +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 0x062a0fec detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x0cee9534 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x249f26fe unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x36d4a702 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x43a14b6a hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x6a4c5e0e hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0x774f3548 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x94251cb8 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0xde379ffc unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xed5316a8 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0xfe7a251f hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/z85230 0x04dbaab6 z8530_sync_dma_close +EXPORT_SYMBOL drivers/net/wan/z85230 0x10c78988 z8530_dead_port +EXPORT_SYMBOL drivers/net/wan/z85230 0x17ec7982 z8530_sync +EXPORT_SYMBOL drivers/net/wan/z85230 0x213abac6 z8530_interrupt +EXPORT_SYMBOL drivers/net/wan/z85230 0x54dad45d z8530_shutdown +EXPORT_SYMBOL drivers/net/wan/z85230 0x5a9d7316 z8530_null_rx +EXPORT_SYMBOL drivers/net/wan/z85230 0x5cd24d29 z8530_hdlc_kilostream +EXPORT_SYMBOL drivers/net/wan/z85230 0x67709407 z8530_channel_load +EXPORT_SYMBOL drivers/net/wan/z85230 0x730b9687 z8530_init +EXPORT_SYMBOL drivers/net/wan/z85230 0x8a0f140b z8530_sync_open +EXPORT_SYMBOL drivers/net/wan/z85230 0x9435128b z8530_sync_txdma_close +EXPORT_SYMBOL drivers/net/wan/z85230 0x97f948fb z8530_describe +EXPORT_SYMBOL drivers/net/wan/z85230 0xa8646c82 z8530_queue_xmit +EXPORT_SYMBOL drivers/net/wan/z85230 0xb69442bc z8530_sync_txdma_open +EXPORT_SYMBOL drivers/net/wan/z85230 0xc10caff2 z8530_sync_close +EXPORT_SYMBOL drivers/net/wan/z85230 0xd5e1ceed z8530_nop +EXPORT_SYMBOL drivers/net/wan/z85230 0xe3d80064 z8530_hdlc_kilostream_85230 +EXPORT_SYMBOL drivers/net/wan/z85230 0xe731eeb3 z8530_sync_dma_open +EXPORT_SYMBOL drivers/net/wireless/airo 0x3a084427 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xc10b0e1a init_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xf19879e1 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x31219afb ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x64a2ef4e ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbe25b39d ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd4087dcd ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xe21165dd ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/atmel 0x36a4e0ae init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0x8e694a68 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xe91f3f44 atmel_open +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x066f03dc prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0bf4f116 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0c7d8861 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0e2317f9 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x236b0028 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2976561d hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2b1f75aa hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3cde53c5 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x462c26c9 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x529f74e6 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x53de5bec hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x76d3253f hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7f44cba5 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7f55a924 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7fa0f28c hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x85087ee8 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x8a7aa982 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x8bcbf414 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x95f09ce7 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9870ffd6 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9ead245c hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa384253b 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 0xbea2045e hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xdc6224bf hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xee21887e hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf1c9969d hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x043c5b52 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x0c580fd9 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x14f3d398 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x17603621 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x210a56cb libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x28961079 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x3a9d384d libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x404f5e12 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x4b2e5043 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x4c94d620 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x543cd9ab libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x57e1d310 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x8ccde593 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb30ade2f libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xbe37a58f libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xc90a72e3 libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd5cdab5c libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe04f4820 alloc_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe3ee54d8 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe897dbcc libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xf3d77b3c free_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x006e28d6 iwl_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x038ad7f1 iwl_get_ra_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x060f98c1 iwl_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x067a5c13 iwl_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x078230b6 iwl_sta_rx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0b169372 iwl_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1001218b iwl_hw_txq_ctx_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x119cf144 iwl_reset_run_time_calib +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x14830a2f iwl_rx_csa +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1920d416 iwl_set_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x19f0e900 iwl_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1b43dcc3 iwlcore_eeprom_acquire_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d77b399 iwl_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1e6733eb iwl_rx_reply_rx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1fb79315 iwl_rx_missed_beacon_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x22ed58b7 iwl_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x23b6ebd5 iwl_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x26888d93 iwl_configure_filter +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2c565d6c iwl_get_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2e07dfe7 iwl_tx_queue_reclaim +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x304284a6 iwl_tt_enter_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x31556dc9 iwl_rx_reply_rx_phy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x31e5a2cd iwl_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x333b8565 iwl_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x34a77cd6 iwl_hw_nic_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x358199e8 iwl_send_static_wepkey_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3583f79c iwl_tt_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x35cf7919 iwlcore_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x382e21ec iwl_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x38748a8f iwl_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3ab48d7c iwl_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3e9e17c1 iwl_rx_statistics +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3ea6f785 iwl_update_tkip_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3ebcfaa6 iwl_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x42830a64 iwl_get_free_ucode_key_index +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x43ae8c29 iwl_set_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x457fb029 iwl_find_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x496509e1 iwl_free_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x49d5a2c2 iwl_rxq_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4caf12ef iwl_leds_register +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5290574b iwl_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x52ddc5ee iwl_tx_ant_restriction +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x53389b98 iwl_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x53555e2a iwl_remove_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x55a2dafa iwl_rx_pm_sleep_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x57cbf908 iwl_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5936e663 iwl_tt_exit +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5981667b iwl_sta_tx_modify_enable_tid +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x59a27334 iwl_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5b296082 iwl_set_rxon_chain +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5b5afeb1 iwl_rx_replenish_now +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5c49a013 iwl_reset_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5f166792 iwl_tx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x60774702 iwl_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x62727d56 iwl_calib_set +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x627d10c0 iwl_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x648eebd8 iwl_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x65879cd4 iwl_leds_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6a525bdb iwl_tt_exit_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6b594629 iwl_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6bce04f1 iwl_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6bee8207 iwl_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6c36a30c iwl_mac_get_tx_stats +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x71899a54 iwlcore_eeprom_release_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x73e5b62b iwl_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x741b775c iwl_init_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x74698775 iwl_verify_ucode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x767e3305 iwl_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x769a66c3 iwl_is_monitor_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x78976e61 iwl_isr_legacy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x791cd636 iwl_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7beccaa8 iwl_sensitivity_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7bf73138 iwl_send_calib_results +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7da6d039 iwl_tx_skb +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7e4a91ce iwl_setup_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x80cf3035 iwl_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x83cfcaac iwl_rx_replenish +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8670273d iwl_hwrate_to_plcp_idx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x869995be iwl_init_sensitivity +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x86c11570 iwl_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x86d3b271 iwlcore_eeprom_verify_signature +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x89bc4221 iwl_ht_enabled +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8a40bab5 iwl_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8ac4c5c0 iwl_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8f72be02 iwl_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x942175cf iwl_set_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9a60af0b iwl_bg_scan_check +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9a8d46cc iwl_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9b63f039 iwl_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9c47e42e iwl_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9e86e8e0 iwl_bg_abort_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa3df668b iwl_txq_ctx_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa4c504d2 iwl_eeprom_get_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa5f4dc0f iwl_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa7cf04ba iwl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa9fad599 iwl_rxon_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaad0846e iwl_bg_scan_completed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xab963561 iwlcore_eeprom_enhanced_txpower +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb035f1df iwl_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb42927f0 iwl_rx_pm_debug_statistics_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb70f3db5 iwl_uninit_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb88debda iwl_rf_kill_ct_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb97ddb8a iwl_hw_detect +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xba2c47b6 iwl_txq_check_empty +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbaa3856d iwl_remove_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbad12a00 iwl_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbfb1411c iwl_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc2ff2e33 iwl_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc3e52f69 iwl_alloc_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc4555f5f iwlcore_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc6aac606 iwl_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc8d223e4 iwl_rate_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc9622bf9 iwl_alloc_all +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xca16bba9 iwl_tx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcadecaf6 iwl_sta_rx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcbaf4931 get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcea1a4bc iwl_mac_beacon_update +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcf5b9256 iwl_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcf641719 iwl_rx_queue_restock +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcf928d3a iwl_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcfc625f5 iwl_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd2907e44 iwl_activate_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd3b1149b iwl_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd6139b56 iwl_rx_reply_compressed_ba +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd8010ebd iwl_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdc654973 iwl_tt_handler +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdfc35190 iwl_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe0eba2f8 iwl_set_hw_params +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe15ba7d0 iwl_eeprom_check_version +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe3b2d4b7 iwl_rx_reply_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe3b993fc iwl_disable_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe499c1a8 iwl_chain_noise_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe5e0d744 iwl_setup_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe697ae14 iwl_clear_stations_table +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe6ab0f75 iwl_hwrate_to_tx_control +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe6aea0b2 iwl_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe7ce5d70 iwl_rates +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe9abea58 iwl_free_tfds_in_queue +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xeac346ca iwl_rx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xed50ffb8 iwl_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xef7b8422 iwl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf2413955 iwl_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf3fb8e41 iwl_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf4e86b45 iwlcore_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf6488f89 iwl_send_statistics_request +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf8ab8bc7 iwl_reset_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfa441377 iwl_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfba35018 iwl_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x1e5c10cf orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4146949b orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4196c38b hermes_write_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x504c41b2 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x6a927e18 orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x975f0cc6 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa031d8e4 hermes_doicmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc0de5e3e free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc60b5e9e hermes_bap_pwrite +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd38d8ae2 hermes_read_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd3f714e5 hermes_bap_pread +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5168829 hermes_allocate +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5336e5d hermes_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd54e219d hermes_docmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xe43a044a orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xed47b224 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xed736aaf alloc_orinocodev +EXPORT_SYMBOL drivers/parport/parport 0x1d28b3c6 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x22e27279 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x237fb137 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x2a5df8a3 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x35ebc84e parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x36d5c0ac parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0x395fb9a6 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x3de66103 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x3faa9c96 parport_release +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x5033a6ca parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x5321dbbf parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x5d7b466b parport_write +EXPORT_SYMBOL drivers/parport/parport 0x6a14b72c parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x75788e2e parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x915f494e parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x9d5eff70 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x9e75ac95 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xad704e06 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0xb0558b64 parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0xc4035893 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0xc6437233 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xcd8ce22c parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0xd1007992 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xe065bd4a parport_read +EXPORT_SYMBOL drivers/parport/parport 0xe5dcf338 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0xf026c714 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0xf18c9b72 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xf2d3b231 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xf9e108ee parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xfa49c17b parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xfabe21ad parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport_pc 0x30ce83cf parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xe46656fc parport_pc_unregister_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x0db2437a pcmcia_get_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x12560da0 pcmcia_request_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x223541a9 pcmcia_access_configuration_register +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x24ae6010 pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x3d1be91f pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4fd033a0 pcmcia_error_func +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4fe3ac09 pcmcia_modify_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6658bb33 pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6e32726a pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x837f8af9 pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x98cf33c5 pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xae187f0f pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc6f3281e pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xd26579d4 pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xd4d75d5d pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xec1c8a5f pcmcia_get_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf0a25e12 pcmcia_error_ret +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x00a8f1f8 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x00abd297 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0658911c pcmcia_find_mem_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0ee68bf5 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x16352536 pccard_get_tuple_data +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x235afee4 destroy_cis_cache +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x30d4f497 pcmcia_find_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x40195229 pcmcia_validate_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x4ca002ee pccard_static_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x55d81c3d pcmcia_resume_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x59428768 pcmcia_socket_dev_late_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5f42a69d pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x61ce571a pccard_validate_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x65129e60 pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x6fe07265 pcmcia_replace_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x80ece5a0 pcmcia_eject_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x81d298fc pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa17d3caa pccard_get_next_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa42bd86a pcmcia_suspend_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa878fedf pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xafe9bee1 pccard_get_first_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb2b68484 pcmcia_insert_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc02ef2c8 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc6a7c8b1 pcmcia_socket_dev_suspend +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcc5b281e pcmcia_socket_dev_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcfa74332 pccard_read_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xd2124f68 pcmcia_adjust_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xd6638c98 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xd9488abb release_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xdf42a26c pcmcia_read_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf09c4aa3 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf392ba39 pcmcia_socket_dev_early_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf6b00823 pcmcia_write_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf879c000 pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/rsrc_nonstatic 0x64af4a65 pccard_nonstatic_ops +EXPORT_SYMBOL drivers/platform/x86/sony-laptop 0x5bb1e117 sony_pic_camera_command +EXPORT_SYMBOL drivers/pps/pps_core 0x1e145952 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0x7c08bec3 pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xe6a16116 pps_event +EXPORT_SYMBOL drivers/scsi/53c700 0x69270487 NCR_700_release +EXPORT_SYMBOL drivers/scsi/53c700 0xc569a822 NCR_700_detect +EXPORT_SYMBOL drivers/scsi/53c700 0xf13d9adc NCR_700_intr +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x2ec16f79 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x5fe7fd4e fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7ca67889 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x92308af9 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x9ddcdb29 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xdfe634b1 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xe454095f fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x053c140f fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x05f2fbf9 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x076a0909 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0a579dfd fc_fcp_complete +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0a75553a fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0bda63ae fc_seq_els_rsp_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x106849d3 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1625a186 fc_get_host_port_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1b7eae00 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x223aebab fc_fcp_ddp_setup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2ac8acfd fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x35b7b368 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x35c8db95 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x372b6a2d fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x379e8203 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x52219e1a fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x56183917 fc_destroy_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x67750428 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x68217da0 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6f6b64ff fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x75d6c3c0 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x79648f8b fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7ebe77d8 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x801c9ed6 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8b2b0107 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8d9c6a60 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x939adc40 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x99424d85 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa2c8af59 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa6ba2246 fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb29c160f fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb4f3588a __fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc14bfb79 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc71ad3df fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd0a0ab51 fc_exch_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd33214f0 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd438573b fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd6cb3359 fc_setup_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd81db9f4 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd9c4ba6c fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdbbaacfa fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe4ff543c fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf126ef0d fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf3212bc8 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf7365d60 fc_seq_exch_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfcf34f54 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfdb0b308 fc_set_mfs +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 0xb269e215 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x00a2fe42 osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x01d72d47 osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0a23055a osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x148983f0 osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x154c0066 osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x17c08838 osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1aa0e69e osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1de20154 osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x26feaab6 osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2ea3873d osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x35f9451e osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3a77d129 osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x45114f0d osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x618988d1 osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x687da7fa osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8a34ee63 osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8ca0dc18 osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x94fa30c0 osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9859a662 osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9aef2c19 osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xae455173 osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb8f7c45c osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb9763e32 osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xbcc516ef osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc69cb102 osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xccd1b153 osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd34e11f0 osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd6002d04 osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd780524b osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xdb73e556 osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe5c32b43 osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf32e1fa0 osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/osd 0x569e9b96 osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x8c03e906 osduld_put_device +EXPORT_SYMBOL drivers/scsi/osd/osd 0xc6d384e6 osduld_register_test +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x21f22dd0 qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x5d54772e qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x7f8871fb qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x83a3567d qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x97c33742 qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xdc310b12 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf632becf qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/raid_class 0x6fb03915 raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0x96f610b7 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0xe3adb831 raid_class_attach +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0e2943d8 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x10ce9e07 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x15e86c87 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x15e9c2cb fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x38fcd4c8 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3d750d04 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6896fec8 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6d577e31 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7a984b92 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xae435e4e fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd3daa69b fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf4dc6c63 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0c447e59 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1d918399 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x25ef7d1a sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3271bf6b sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4d22068d sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x547e14f9 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5ec2f83d sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7022ef5c sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x899eff29 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8a064c1c scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8c6b6d2e sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x92d0ba38 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9b2ab1bb sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa5b0d1e5 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xaf04e423 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb7d23e01 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc3647016 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc8a88174 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc90d9c22 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd0a20c6d sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd3c1b6b4 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdc4ed995 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe449873d sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe687f6cf sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xeb1099d5 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf11030d3 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/ssb/ssb 0x05301868 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x1378bed4 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x1ef2a423 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x38208289 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x49d540d5 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x4bda11b6 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x519593b8 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x6c34f71b ssb_dma_set_mask +EXPORT_SYMBOL drivers/ssb/ssb 0x7cfaf3bc ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x7dc7a791 ssb_dma_free_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0x80bdcdd2 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x90ef6368 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x92c974fa ssb_dma_alloc_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0xaa921782 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xb44a85e8 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0xbaa069f2 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xd1d73c1a ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xd4635b0f ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe19401bc ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0xefa6613a ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xf3f68fd1 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0xf86ac2f0 ssb_set_devtypedata +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x031a824e comedi_buf_read_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x0c5d211a comedi_driver_unregister +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x4054f339 comedi_driver_register +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x44af2230 comedi_buf_memcpy_to +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x4f5d3c86 comedi_buf_read_n_available +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x62f51b76 check_chanlist +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x68669e1e comedi_buf_read_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x7110ea46 comedi_buf_write_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x816a4fc2 comedi_buf_put +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xa1152d0c comedi_set_subdevice_runflags +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xb1409587 comedi_event +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xb3d0db62 comedi_error +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xb8b31765 comedi_get_subdevice_runflags +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xbe128fe1 comedi_buf_write_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xdad7e588 comedi_buf_get +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xdfbddb64 comedi_reset_async_buf +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xe30a56d0 comedi_buf_memcpy_from +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x35434005 subdev_8255_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x575099e6 subdev_8255_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x721e53e1 subdev_8255_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xf850659f subdev_8255_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x090d251e cfc_read_array_from_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x9aff4b5e cfc_write_array_to_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0xec528100 cfc_handle_events +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x021e9dbb mite_setup2 +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x0529bbc6 mite_get_status +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x0e515970 mite_dma_tcr +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x134bf2ca mite_release_channel +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x18fe0f1e mite_bytes_in_transit +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x47ebf6e7 mite_buf_change +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x524b9e9f mite_bytes_written_to_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x52b6ff27 mite_request_channel_in_range +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x56a3b28c mite_bytes_read_from_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x59564595 mite_done +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x5cf3a73d mite_prep_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x61c6fff4 mite_dma_disarm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x783c0c0f mite_bytes_written_to_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x7cd4201c mite_bytes_read_from_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x816cbade mite_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x8f422217 mite_sync_input_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xaf90bbee mite_unsetup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xd083fc8c mite_setup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xd21b4f4a mite_sync_output_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xece3c4dd mite_dma_arm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xfb3ba025 mite_list_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x331fa3d5 subdev_700_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x4803dda3 subdev_700_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0xc08347e6 subdev_700_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0xd07aeca2 subdev_700_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/pcm_common 0x7ddd7675 comedi_pcm_cmdtest +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x042d55f4 comedi_loglevel +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x0488ce0e comedi_get_n_ranges +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x0cad1c36 comedi_get_subdevice_type +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x13e3042c comedi_command +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x194eb4ae comedi_get_n_channels +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x1c5555d9 comedi_cancel +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x1ec0e2d3 comedi_get_buf_head_pos +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x22318694 comedi_set_user_int_count +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x262e9c18 comedi_dio_write +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x370d69d5 comedi_dio_read +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x3cb614fc comedi_data_write +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x3db41e4f comedi_poll +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x3de6a4a3 comedi_get_buffer_offset +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x409d3263 comedi_do_insn +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x51da786d comedi_register_callback +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x52769094 comedi_find_subdevice_by_type +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x628ed463 comedi_get_n_subdevices +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x671c2623 comedi_get_buffer_size +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x696272c9 comedi_unlock +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x826bd656 comedi_data_read_delayed +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x8e199bbf comedi_perror +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x8fb4413e comedi_data_read_hint +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x9b266320 comedi_get_krange +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x9dde39b5 comedi_strerror +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xa0334b40 comedi_get_driver_name +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xa094eab0 comedi_get_board_name +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xa7c55c52 comedi_open +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xaa456501 comedi_mark_buffer_read +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xb45b8b7b comedi_mark_buffer_written +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xb5396dad comedi_get_maxdata +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xb5c3ac2a comedi_map +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xc4ec62b3 comedi_get_len_chanlist +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xc7d949df comedi_lock +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xd2a9a259 comedi_get_version_code +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xd46a9468 comedi_dio_config +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xd48facbb comedi_command_test +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xddd89421 comedi_close +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xe2208940 comedi_data_read +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xe38c6fb4 comedi_unmap +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xed5731a4 comedi_get_subdevice_flags +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xefd0c778 comedi_fileno +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xf17e03df comedi_dio_bitfield +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xf71581db comedi_get_buffer_contents +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x1d9a1af3 cx25821_dev_unregister +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x257a2c3d cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x2b70a02f cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x471e1cfb cx25821_devlist +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x56c41370 cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x67cc5b8b cx25821_sram_channels +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x726063f7 cx25821_sram_channel_dump +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0x784853c3 cx25821_print_irqbits +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xb5485b40 cx25821_dev_get +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xb9655a54 cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/staging/cx25821/cx25821 0xe7e08cfb cx25821_sram_channel_setup +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0x1cb36e36 vmbus_child_driver_register +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0x1f07d908 vmbus_child_driver_unregister +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0x253f3d14 vmbus_get_interface +EXPORT_SYMBOL drivers/staging/hv/hv_vmbus 0xdf1a5ef6 vmbus_loglevel +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x132b46fd iio_unregister_interrupt_line +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x1df1425b iio_device_register +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x60f7253a iio_free_idr_val +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x739ae300 iio_devt +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x853f3182 __iio_push_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x8d964581 iio_device_unregister +EXPORT_SYMBOL drivers/staging/iio/industrialio 0x9a65da1d iio_register_interrupt_line +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xa0d70353 iio_remove_event_from_list +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xa8584d90 iio_read_const_attr +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xb6edaf14 iio_get_new_idr_val +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xb7b3d087 iio_class +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xbb5b7a24 iio_allocate_device +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xcb842df9 __iio_change_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xe27d1d94 iio_push_event +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xed82e437 iio_free_device +EXPORT_SYMBOL drivers/staging/iio/industrialio 0xf65a4566 iio_add_event_to_list +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x3b384191 variax_create_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x930e38c0 pod_remove_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0x953c895f pod_create_files +EXPORT_SYMBOL drivers/staging/line6/line6usb 0xd99ba29e variax_remove_files +EXPORT_SYMBOL drivers/staging/rar/rar_driver 0xf8017f03 get_rar_address +EXPORT_SYMBOL drivers/staging/vme/vme 0x00d7e722 vme_lm_count +EXPORT_SYMBOL drivers/staging/vme/vme 0x06348f2a vme_unregister_driver +EXPORT_SYMBOL drivers/staging/vme/vme 0x072f901c vme_master_rmw +EXPORT_SYMBOL drivers/staging/vme/vme 0x0e10859d vme_lm_get +EXPORT_SYMBOL drivers/staging/vme/vme 0x0ec5babe vme_dma_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x3f68d4cf vme_lm_set +EXPORT_SYMBOL drivers/staging/vme/vme 0x41862ad4 vme_alloc_consistent +EXPORT_SYMBOL drivers/staging/vme/vme 0x48b99a13 vme_lm_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x494fee0c vme_dma_list_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x4e626633 vme_slave_request +EXPORT_SYMBOL drivers/staging/vme/vme 0x59482f1a vme_bus_type +EXPORT_SYMBOL drivers/staging/vme/vme 0x5d64b1bf vme_register_bridge +EXPORT_SYMBOL drivers/staging/vme/vme 0x656a0601 vme_free_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0x6666140f vme_dma_pci_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0x686ce4ed vme_request_dma +EXPORT_SYMBOL drivers/staging/vme/vme 0x6bd19c06 vme_request_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0x76bab4d4 vme_master_set +EXPORT_SYMBOL drivers/staging/vme/vme 0x7797a741 vme_dma_vme_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0x7cdbe838 vme_generate_irq +EXPORT_SYMBOL drivers/staging/vme/vme 0x7cf35220 vme_master_free +EXPORT_SYMBOL drivers/staging/vme/vme 0x7d2f3eae vme_unregister_bridge +EXPORT_SYMBOL drivers/staging/vme/vme 0x7fde2edb vme_master_read +EXPORT_SYMBOL drivers/staging/vme/vme 0x83fd3025 vme_new_dma_list +EXPORT_SYMBOL drivers/staging/vme/vme 0x8c34274d vme_master_request +EXPORT_SYMBOL drivers/staging/vme/vme 0x90695906 vme_free_consistent +EXPORT_SYMBOL drivers/staging/vme/vme 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL drivers/staging/vme/vme 0x9aeb07e8 vme_lm_attach +EXPORT_SYMBOL drivers/staging/vme/vme 0xa03dc9b6 vme_register_driver +EXPORT_SYMBOL drivers/staging/vme/vme 0xa18fd85b vme_lm_request +EXPORT_SYMBOL drivers/staging/vme/vme 0xa7502e85 vme_dma_list_add +EXPORT_SYMBOL drivers/staging/vme/vme 0xba9e73a1 vme_dma_list_exec +EXPORT_SYMBOL drivers/staging/vme/vme 0xc8352002 vme_dma_pattern_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0xcc5b0af0 vme_slave_set +EXPORT_SYMBOL drivers/staging/vme/vme 0xd797b9a5 vme_master_write +EXPORT_SYMBOL drivers/staging/vme/vme 0xdff905e5 vme_slave_free +EXPORT_SYMBOL drivers/staging/vme/vme 0xe60cbb2f vme_master_get +EXPORT_SYMBOL drivers/staging/vme/vme 0xe61b1e0b vme_slave_get +EXPORT_SYMBOL drivers/staging/vme/vme 0xe693a6ce vme_get_size +EXPORT_SYMBOL drivers/staging/vme/vme 0xeccbeafc vme_dma_free_attribute +EXPORT_SYMBOL drivers/staging/vme/vme 0xf565caaa vme_slot_get +EXPORT_SYMBOL drivers/telephony/ixj 0xfd7a18b8 ixj_pcmcia_probe +EXPORT_SYMBOL drivers/telephony/phonedev 0x5a1b1a1e phone_register_device +EXPORT_SYMBOL drivers/telephony/phonedev 0xb786d497 phone_unregister_device +EXPORT_SYMBOL drivers/usb/gadget/dummy_hcd 0x2cabd10f net2280_set_fifo_mode +EXPORT_SYMBOL drivers/usb/gadget/dummy_hcd 0x4e0f0a13 usb_gadget_register_driver +EXPORT_SYMBOL drivers/usb/gadget/dummy_hcd 0x6efee9a7 usb_gadget_unregister_driver +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x2428e711 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/usbserial 0x2b5554f9 usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x5ca685d4 usb_serial_suspend +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0xc86baa7c corgibl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x662127fd lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xb65a4320 lcd_device_register +EXPORT_SYMBOL drivers/video/console/bitblit 0x34ad19e6 fbcon_set_bitops +EXPORT_SYMBOL drivers/video/console/font 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL drivers/video/console/font 0xbb99125c get_default_font +EXPORT_SYMBOL drivers/video/console/font 0xf7584a9c find_font +EXPORT_SYMBOL drivers/video/console/softcursor 0x6b16c857 soft_cursor +EXPORT_SYMBOL drivers/video/console/tileblit 0xfb1818c4 fbcon_set_tileops +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x3cd0fbae cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0x6c1b3f20 cyber2000fb_get_fb_var +EXPORT_SYMBOL drivers/video/cyber2000fb 0x92e95957 cyber2000fb_attach +EXPORT_SYMBOL drivers/video/cyber2000fb 0xa9f81f1a cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/display/display 0x2e01e3c5 display_device_register +EXPORT_SYMBOL drivers/video/display/display 0xfe40e88e display_device_unregister +EXPORT_SYMBOL drivers/video/macmodes 0x08ed0b62 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/macmodes 0x4c661a8e mac_find_mode +EXPORT_SYMBOL drivers/video/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x4d601aaf g450_mnp2f +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x6ce6f86c matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x8b1076fc matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x1340d727 matrox_mystique +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x29c83378 matrox_G100 +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x6d47932f DAC1064_global_restore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x8f1bc7c7 DAC1064_global_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_Ti3026 0x91aec813 matrox_millennium +EXPORT_SYMBOL drivers/video/matrox/matroxfb_accel 0xb2d9a760 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x041df2aa matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x1565f62c matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x94a6299d matroxfb_register_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x9960b610 matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x86534092 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0xc41e9c4d matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x15246ff6 matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x95463149 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xabd8e427 matroxfb_var2my +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xae901c66 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xcccee368 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xf9321f9f matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/output 0x3f513bd4 video_output_register +EXPORT_SYMBOL drivers/video/output 0x4d3898c4 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 0x00d1fce9 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/svgalib 0x07b3da30 svga_wseq_multi +EXPORT_SYMBOL drivers/video/svgalib 0x09cfeb06 svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0x1b95c56a svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x291ba0a6 svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0x4a502f72 svga_tileblit +EXPORT_SYMBOL drivers/video/svgalib 0x63e898d1 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/svgalib 0x7a3ae959 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x80408443 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0x8fa8438b svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/svgalib 0x96884d5a svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0xab34a78a svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0xab3b22ad svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/svgalib 0xc0428106 svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0xd9ea2b5b svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0xdad682b1 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/svgalib 0xec83c473 svga_match_format +EXPORT_SYMBOL drivers/video/svgalib 0xef774f5d svga_compute_pll +EXPORT_SYMBOL drivers/video/syscopyarea 0xda3e0c67 sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0xb2082a34 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x45073a05 sys_imageblit +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x71ed0080 w1_bq27000_write +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x988a849a w1_bq27000_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x041b1f1d w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x4b42af54 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x672561b1 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xb8befa67 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/wire 0x38d3fb0c w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x4a1e1d2e w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0x51d826a3 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0xdc599dd3 w1_remove_master_device +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x04e133fc iTCO_vendor_check_noreboot_on +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x672c9d44 iTCO_vendor_pre_keepalive +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xa78bd894 iTCO_vendor_pre_set_heartbeat +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xa8d6daac iTCO_vendor_pre_start +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xd0efe320 iTCO_vendor_pre_stop +EXPORT_SYMBOL fs/configfs/configfs 0x07058d0a config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x122b8c11 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x1ace8327 config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0x426ba3fb config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x445b2b2f config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0x49dc883c configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x7e1a250e configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0x825887c3 config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0xde330c9f config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0xf3be71a3 config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0xf69ee210 configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xfecd449f configfs_unregister_subsystem +EXPORT_SYMBOL fs/fscache/fscache 0x012b0262 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x062e8783 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x21091e9d fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0x2a1116cb __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x2c6ed48a __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x300dcf24 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x3516543d __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x3ce32c95 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x3dac0cfa __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0x3e6b8ac4 fscache_object_slow_work_ops +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x454d00ef __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x46bcf22f fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x496932b9 fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x55c62af3 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x637f8e12 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x63f96884 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x6cbd9336 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x7c820074 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x99876cdb fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x9f24a340 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0xad92dabe __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xba8baf44 __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xbd97f382 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xbea14ba3 fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0xd5c777e8 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0xe46a2d69 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0xe8b6d776 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xf2120f81 __fscache_maybe_release_page +EXPORT_SYMBOL fs/nfsd/nfsd 0x0e195c1c nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/nfsd/nfsd 0x2095976a nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0x28fb929b nfs4_acl_posix_to_nfsv4 +EXPORT_SYMBOL fs/nfsd/nfsd 0x35e33c1e nfs4_acl_write_who +EXPORT_SYMBOL fs/nfsd/nfsd 0x5a157ae4 nfs4_acl_get_whotype +EXPORT_SYMBOL fs/quota/quota_tree 0x16854e60 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x6f865805 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x948b75a3 qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x9ce56fea qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xbce27ec3 qtree_delete_dquot +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/libcrc32c 0x27000b29 crc32c +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 0xf0caf44b zlib_deflate_workspacesize +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL net/802/p8023 0x6d9e8055 destroy_8023_client +EXPORT_SYMBOL net/802/p8023 0xb38d9128 make_8023_client +EXPORT_SYMBOL net/9p/9pnet 0x1350180f p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x196a152d v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x2612bfe9 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x2888c896 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x3455711e p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x4664e19e p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x64ed655f p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x6b754e6f p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x6fea94f7 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x769e174f p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x76b79bf1 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x801ad17e p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x83f3b3b5 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x963d3dac v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xaab8671a p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0xb106c0a7 p9_client_auth +EXPORT_SYMBOL net/9p/9pnet 0xb8e39195 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0xba841a84 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0xc2611286 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0xcae61af3 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xcfc3a6e3 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0xd0faf92e p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0xd116234c p9_client_version +EXPORT_SYMBOL net/9p/9pnet 0xd331fc1d p9pdu_dump +EXPORT_SYMBOL net/9p/9pnet 0xd560eca2 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xdce4dcbe p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe78cfc2b v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xeb602329 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0xef7127b0 p9_idpool_put +EXPORT_SYMBOL net/appletalk/appletalk 0x1aa78e1d aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0x487b12d8 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xcbf01dc6 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xe9700768 alloc_ltalkdev +EXPORT_SYMBOL net/atm/atm 0x0807dc28 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x0d0767f8 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x1a24e5e2 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x33e3df77 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x3c0e91dd atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x637cca7a atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x6d1ced27 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x7201cc4d vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x72667381 atm_charge +EXPORT_SYMBOL net/atm/atm 0x795854e8 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x89195dc3 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xa0ab8fa8 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0xaf19d8fc atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xff67739e deregister_atm_ioctl +EXPORT_SYMBOL net/ax25/ax25 0x059f4297 ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x0f0c00bb ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x3d2d82ec ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x564d9f14 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x7fdaf423 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xaa82d323 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xc451a9bc ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0xc5290504 ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0xcbbbcc23 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xdb27b42e ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0xeea25460 ax25_listen_release +EXPORT_SYMBOL net/bluetooth/bluetooth 0x12602c65 hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x14344701 hci_unregister_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0x143bb6c5 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x161b553a hci_register_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0x172d636d hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x295ff5ec bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3c69cf6b hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x556b086c bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x570f78f0 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6386fde3 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x68623931 hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7094f8ae bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x73ce6b63 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7608b8ec bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7e0e45cf hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7f518f19 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7f5c53c6 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x821dc3a3 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8918d428 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8cd59044 hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8d49ad17 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9ddcb164 hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9f19c1c1 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa408a296 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0xaed5a0dc bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb1fc7446 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb723fdc8 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc72085a7 hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcb21e02a bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd3d8984a bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe4a1409f hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfe954e90 bt_sock_register +EXPORT_SYMBOL net/bluetooth/l2cap 0xfc31fe88 l2cap_load +EXPORT_SYMBOL net/bridge/bridge 0x745acb10 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x6d25d0e5 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xadc4ec7e ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xf7bdb43a ebt_register_table +EXPORT_SYMBOL net/can/can 0x5f512480 can_rx_unregister +EXPORT_SYMBOL net/can/can 0x96944499 can_rx_register +EXPORT_SYMBOL net/can/can 0xa728af54 can_proto_unregister +EXPORT_SYMBOL net/can/can 0xb021f601 can_proto_register +EXPORT_SYMBOL net/can/can 0xcc51e15b can_send +EXPORT_SYMBOL net/ieee802154/nl802154 0x0bce88d7 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x2f1c227c ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x3e82662d ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0x4c199508 ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x7da75910 ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0xb1ba132f ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0xf193d69b ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/wpan-class 0x21427a32 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/wpan-class 0x4416f6cb wpan_phy_free +EXPORT_SYMBOL net/ieee802154/wpan-class 0x9d540708 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/wpan-class 0xc46790e6 wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/wpan-class 0xf21c3ecf wpan_phy_unregister +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x618a1d3c arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x78f81a82 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xf8222d12 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x012028b0 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x86978908 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xb71bc49d ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x27d30f07 nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x3e510d71 nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x61d59c89 nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x62cdbf2a nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x9d88325a nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xae90dc82 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xbaf9c46c nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/tunnel4 0x14a476d6 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0x431f4bb1 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x06c4628c ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x3e577f09 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb8208531 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb8bddf33 ip6t_ext_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xecdd5e82 ip6t_register_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x8eba41ce xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0x90e6ffd3 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x9cd013f2 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xab14e193 xfrm6_tunnel_free_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xdb1b42d1 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x26dae377 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x4658a802 ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x7beaad19 ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x9d665a5f ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xd5a6f830 ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xf04b11d1 ircomm_flow_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xf8bb5cbd ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xff29c320 ircomm_open +EXPORT_SYMBOL net/irda/irda 0x01c18078 irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x01d1fcdb hashbin_delete +EXPORT_SYMBOL net/irda/irda 0x063e4dca iriap_close +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x072e026f irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x0c374011 irttp_dup +EXPORT_SYMBOL net/irda/irda 0x0f5fb89c irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0x1903b4c4 irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x1dbde641 irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0x1ec474bc irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x340e17c7 iriap_open +EXPORT_SYMBOL net/irda/irda 0x3462950f hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x4047204e irda_device_set_media_busy +EXPORT_SYMBOL net/irda/irda 0x448b8aaa irda_qos_bits_to_value +EXPORT_SYMBOL net/irda/irda 0x44b61ced irda_notify_init +EXPORT_SYMBOL net/irda/irda 0x46c1c4a2 irlmp_unregister_service +EXPORT_SYMBOL net/irda/irda 0x4c2e3490 irlap_open +EXPORT_SYMBOL net/irda/irda 0x6758f8ac irias_new_object +EXPORT_SYMBOL net/irda/irda 0x67ef42d2 alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0x68b7447c hashbin_find +EXPORT_SYMBOL net/irda/irda 0x691eda40 irttp_connect_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 0x747d6779 irias_delete_object +EXPORT_SYMBOL net/irda/irda 0x7621e908 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0x76243bc9 irias_insert_object +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +EXPORT_SYMBOL net/irda/irda 0x781e2db5 irias_find_object +EXPORT_SYMBOL net/irda/irda 0x7957f728 irlmp_update_client +EXPORT_SYMBOL net/irda/irda 0x7a57b6f3 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x859213a4 irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0x8c1d0e21 iriap_getvaluebyclass_request +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0x9fdbd106 irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0xb4a50eba async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0xb511d483 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 0xbe8ac5eb irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0xc0fe6fa7 irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0xc14e9b6a hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0xc278f133 proc_irda +EXPORT_SYMBOL net/irda/irda 0xcd41236c hashbin_new +EXPORT_SYMBOL net/irda/irda 0xd35f8992 async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0xd37b1e9d irlap_close +EXPORT_SYMBOL net/irda/irda 0xd6deeaae irda_setup_dma +EXPORT_SYMBOL net/irda/irda 0xd7172ff4 hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0xd8bfb6d4 hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0xd98086e3 irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xe5260e0e irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0xec41fe7f irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xfacaf630 irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0xfff66105 irttp_close_tsap +EXPORT_SYMBOL net/lapb/lapb 0x11516182 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x31a6cfcd lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x48b27548 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x76dc8fac lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0xc6c567c4 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0xdcfdbb03 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0xdd99029c lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0xebd243ba lapb_disconnect_request +EXPORT_SYMBOL net/mac80211/mac80211 0x04b67564 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x1497d01c ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x17793a0f ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x19c745f6 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x1a1f62ed ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x1d6d6550 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0x1f8cccd0 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x244105e2 ieee80211_get_tkip_key +EXPORT_SYMBOL net/mac80211/mac80211 0x2bc358af ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x2d39ea03 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x31c40cbe ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x365b4b83 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x373da424 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x3abe8ae6 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x3c03c5fd ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x3fdc5bca ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x46eb3518 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x4fa202ce ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x6c0fbb40 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x6edf3e95 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x7c341e7a ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x869954b6 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x911dbdfd ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x912f80e1 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x92af558f __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x9a181c18 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x9be8293e ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0xa45cfdc9 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xace5b74f ieee80211_beacon_get +EXPORT_SYMBOL net/mac80211/mac80211 0xb81dd72d ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xb83d38d7 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xc136f67d ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xc3c3268e ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0xca970a1a ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xdec7e1df __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xe44bfdf3 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xe5896d50 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xe8abe42d ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xf81b7804 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xfceff70f ieee80211_start_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0xfd9564ca ieee80211_stop_tx_ba_cb +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0bbd7d77 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x19b05272 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4f4be05c register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x6cc2d913 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7c6e07d3 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7d2eb601 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x80b727e9 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa1dbc2d8 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb2b4b2a4 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe4f202d8 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe6dc1f1d ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xf08c79f7 ip_vs_skb_replace +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x85d1d8f1 __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xdd61af80 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0xf79fb875 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x16a5e826 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x23f88890 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x43dda90f xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x70036660 xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x75665d89 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x849fc42f xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xc3ff5dff xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xcf38c02a xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0xdecc1012 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xe0253357 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xe4ca1e4d xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xe743ff08 xt_unregister_match +EXPORT_SYMBOL net/phonet/phonet 0x1158fb57 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x1a94357e phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x296da77a pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x6aa033ff phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x8824df51 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x89293670 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x9885fe4a phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0xd270cf97 pn_sock_get_port +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x0161b0d6 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x0a6dbb45 rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x38644799 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x440ccdb1 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x4cdc70c3 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x5efcca03 rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x72bf911a rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x8871e47c rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x8cfc12e2 rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xa7e960cc rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xb79a46ed rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xb9017e29 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xbdf87bcf rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe7381225 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xfec0356d rxrpc_kernel_end_call +EXPORT_SYMBOL net/sunrpc/sunrpc 0xe8824431 svc_pool_stats_open +EXPORT_SYMBOL net/tipc/tipc 0x026fa09b tipc_register_media +EXPORT_SYMBOL net/tipc/tipc 0x08acf310 tipc_available_nodes +EXPORT_SYMBOL net/tipc/tipc 0x0d704106 tipc_send_buf_fast +EXPORT_SYMBOL net/tipc/tipc 0x10d40fcd tipc_isconnected +EXPORT_SYMBOL net/tipc/tipc 0x112f095b tipc_reject_msg +EXPORT_SYMBOL net/tipc/tipc 0x1472b270 tipc_disconnect +EXPORT_SYMBOL net/tipc/tipc 0x1479cb03 tipc_deleteport +EXPORT_SYMBOL net/tipc/tipc 0x15b5ecde tipc_set_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x16f27683 tipc_block_bearer +EXPORT_SYMBOL net/tipc/tipc 0x1a8d01ce tipc_send_buf2name +EXPORT_SYMBOL net/tipc/tipc 0x259b74f9 tipc_acknowledge +EXPORT_SYMBOL net/tipc/tipc 0x27d8bb58 tipc_send2port +EXPORT_SYMBOL net/tipc/tipc 0x310d1bc9 tipc_detach +EXPORT_SYMBOL net/tipc/tipc 0x3712e340 tipc_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x3976041f tipc_set_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x459cd7da tipc_forward_buf2name +EXPORT_SYMBOL net/tipc/tipc 0x4b2243c6 tipc_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x4ba3cfc8 tipc_send2name +EXPORT_SYMBOL net/tipc/tipc 0x538b228a tipc_withdraw +EXPORT_SYMBOL net/tipc/tipc 0x5637ed44 tipc_get_mode +EXPORT_SYMBOL net/tipc/tipc 0x56e52bc1 tipc_continue +EXPORT_SYMBOL net/tipc/tipc 0x5c0d4b5c tipc_ref_valid +EXPORT_SYMBOL net/tipc/tipc 0x61ee3530 tipc_createport_raw +EXPORT_SYMBOL net/tipc/tipc 0x62a681a3 tipc_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0x64357d3c tipc_multicast +EXPORT_SYMBOL net/tipc/tipc 0x8001e3d7 tipc_forward2port +EXPORT_SYMBOL net/tipc/tipc 0x8241a877 tipc_send_buf +EXPORT_SYMBOL net/tipc/tipc 0x87af90b8 tipc_recv_msg +EXPORT_SYMBOL net/tipc/tipc 0x88b73627 tipc_get_addr +EXPORT_SYMBOL net/tipc/tipc 0x97fd1e72 tipc_createport +EXPORT_SYMBOL net/tipc/tipc 0x9c45558e tipc_enable_bearer +EXPORT_SYMBOL net/tipc/tipc 0xa936a24b tipc_get_port +EXPORT_SYMBOL net/tipc/tipc 0xadd203d0 tipc_connect2port +EXPORT_SYMBOL net/tipc/tipc 0xae0103c3 tipc_shutdown +EXPORT_SYMBOL net/tipc/tipc 0xb01ffc2c tipc_forward2name +EXPORT_SYMBOL net/tipc/tipc 0xb35b672c tipc_publish +EXPORT_SYMBOL net/tipc/tipc 0xbb2b2504 tipc_send +EXPORT_SYMBOL net/tipc/tipc 0xcec8514a tipc_set_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0xd44731e5 tipc_ownidentity +EXPORT_SYMBOL net/tipc/tipc 0xd9c9bc7e tipc_forward_buf2port +EXPORT_SYMBOL net/tipc/tipc 0xda7f9d3f tipc_attach +EXPORT_SYMBOL net/tipc/tipc 0xdf5008fc tipc_peer +EXPORT_SYMBOL net/tipc/tipc 0xe4f7ebe7 tipc_send_buf2port +EXPORT_SYMBOL net/tipc/tipc 0xe7aece47 tipc_ispublished +EXPORT_SYMBOL net/tipc/tipc 0xeefd49b3 tipc_get_handle +EXPORT_SYMBOL net/tipc/tipc 0xef50a1ef tipc_disable_bearer +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0xb364e022 register_wan_device +EXPORT_SYMBOL net/wimax/wimax 0x275c78b3 wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0x82772377 wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x07e7ac5a ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x0b8124a1 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x0bf95b9a wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x108b8f63 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x12987f78 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x149d847b cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0x158242f3 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x21ca21ae freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x2902bae1 cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x2f4495cf cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x373b82e5 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x37ac8d05 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x45b4fb6e wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x46c3bc5b cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x4cdc2121 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x4e64f9a8 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x61f96f0a cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x6476581a __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6b0c6073 cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0x89cd35ad ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x8c35d732 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x8ec9ee72 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x90eb5e02 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x94f54dd1 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x9eb4c58c cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xa0b20e0a cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xb564b110 cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0xc4e85ec5 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xc931a03d ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0xccc291b3 ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0xcf8a62a7 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xd301004d cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0xd923cf40 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0xda1697f8 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xdcfca9c5 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0xe8530a11 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xf1c768d0 cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xf30a2161 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xf5b82abd cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0xf8de4760 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xf92b51b0 cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xfa16f9a8 cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0xfa1f3c90 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/lib80211 0x0297697a lib80211_crypt_quiescing +EXPORT_SYMBOL net/wireless/lib80211 0x1b52ae1c lib80211_crypt_deinit_entries +EXPORT_SYMBOL net/wireless/lib80211 0x230f3ffb lib80211_crypt_deinit_handler +EXPORT_SYMBOL net/wireless/lib80211 0x29032852 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0xb41b6f19 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0xbb86eb8e lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xbc6ad4ff lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xecbaa1e6 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0xf1c559a6 lib80211_register_crypto_ops +EXPORT_SYMBOL sound/ac97_bus 0x0ed108f5 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x1cea066c snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1a49e9f6 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 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x4c03a7b7 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 0x7418a216 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 0x89947013 snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0x9b6d86ca snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xcac0a3be snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x0d001720 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 0x43901cdf snd_seq_device_new +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xb90668b2 snd_seq_autoload_lock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xc622fb29 snd_seq_device_unregister_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x6ea09972 snd_midi_channel_alloc_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x833a3e07 snd_midi_channel_set_clear +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xb9948d2c snd_midi_channel_free_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xf0a1fdb3 snd_midi_process_event +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x17c15809 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x4ad3f518 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x62384d3a snd_midi_event_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x8a348811 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x9df7af8b snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xc482499d snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xd9072e1a snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe6df29c7 snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x29dd16d3 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x17946fb7 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x18e1683f snd_dma_program +EXPORT_SYMBOL sound/core/snd 0x191e88cf snd_dma_pointer +EXPORT_SYMBOL sound/core/snd 0x197e0635 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x1a6a7048 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x1ff3ccd5 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0x20a3dbb4 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x2961409a snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x2ae3deaa release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0x2f5ede3d snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x3224ff0d snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x33959edb snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3d96efbd snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x3ecfbbb1 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4bc4b338 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x4c82f626 snd_card_create +EXPORT_SYMBOL sound/core/snd 0x4f93cc09 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x53f55493 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x5b7f65bf snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x60f1afa4 snd_component_add +EXPORT_SYMBOL sound/core/snd 0x623f2852 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0x62c97983 snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x6db2a780 snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x709944a2 _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x7782a1a9 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x81496659 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x847370a4 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x9df1a553 snd_cards +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xa27ad4db snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0xa5ed3db6 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0xa65ad5f3 snd_info_register +EXPORT_SYMBOL sound/core/snd 0xa7b38c90 snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0xa98dcb3f snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0xa9fc6b31 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0xab40e00e snd_device_free +EXPORT_SYMBOL sound/core/snd 0xadd7c662 snd_card_free +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb823ac2a snd_seq_root +EXPORT_SYMBOL sound/core/snd 0xb84a86b7 snd_card_register +EXPORT_SYMBOL sound/core/snd 0xb88db50f snd_jack_new +EXPORT_SYMBOL sound/core/snd 0xc8b68497 snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0xcdba82a2 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0xce3ca308 copy_from_user_toio +EXPORT_SYMBOL sound/core/snd 0xd65af2bb snd_jack_report +EXPORT_SYMBOL sound/core/snd 0xda5aece0 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0xe20c9214 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0xe3735114 snd_device_register +EXPORT_SYMBOL sound/core/snd 0xe93f1e69 snd_device_new +EXPORT_SYMBOL sound/core/snd 0xe94480c4 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0xf4d6a1c3 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0xfb725d52 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd-hwdep 0x1348ac55 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x083f5f26 snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x3b91f3af snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x3e1ab74b snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0x551e5d0f snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x67ed0b2b snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xade88e76 snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xee1a907f snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x03443177 snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x20b9d80e snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0x2aec7ca0 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x32a5030a snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x32daf0df snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0x347ab64c snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x3515e850 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x384cef52 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x3ce5d816 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x431db148 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x4afcba45 snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0x4b6d6d00 snd_pcm_lib_free_pages +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 0x52607c48 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x574a42ad snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x5add72bc snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x5dfb2476 snd_pcm_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x6cf2c65f snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x78f7ea73 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x8575694e snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0x88cc66cc snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0x8aa45eaa snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x918d8630 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x9b5d14dd snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x9f063bab snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xb0066e5b snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0xb06cd93b snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0xb3917fe7 snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbc36811f snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0xc0adf0d4 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xc1fb2260 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xc55b4a2b snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xc7f42e49 snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0xcc295f48 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0xcfd80d92 snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0xd0b9b8b8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0xd925a207 snd_pcm_sgbuf_ops_page +EXPORT_SYMBOL sound/core/snd-pcm 0xe1d4e7f6 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xe97c9b6c snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0xed6fab5c snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0xf27cafa3 snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xf465cb00 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-rawmidi 0x104071e5 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x11a2bd72 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1302570f snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x19d40229 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1f84a012 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x50d7d610 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5a98a2c4 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6183fbd7 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7f95d364 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x905a428e snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x9581c0ba snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x9c9d5f42 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb4a0f428 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbe6ceafc snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd5f586a9 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe469940b snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf46fd717 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-timer 0x167946d1 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0x3424164d snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x4149d65f snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0x430dd6bf snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x44cf2f1f snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x4cb34896 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x531ba3a4 snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0x684cf910 snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x7bc585a1 snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0xa217b25e snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0xa7e2af4f snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0xcaf2b234 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0xdc78c077 snd_timer_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x18ca7493 snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x4bbb7f27 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc43a3940 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x010051cd snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x22196a22 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x389aaab5 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x79732338 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xbfb59691 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xd7811c2e snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xe18287d5 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xe575e3a0 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xfeb6fea9 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0x021b1923 snd_opl4_create +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0x84faa4dc snd_opl4_read_memory +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0xdbfab55e snd_opl4_write_memory +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0xe599c12a snd_opl4_write +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0xf2368a9c snd_opl4_read +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x05d2e3c9 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x19ba857c snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x3588f0bb snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x397ed7d0 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x41579f71 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x4f1a79a2 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x4fbcd346 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x5dedaef8 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x99b88ede snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xb4557ae5 snd_vx_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x10b5086e snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x3b6575e7 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x55fa2e6c snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x6928465d snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xc1485fa3 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xce520bae snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x63c1bdfc snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xa3dd7a3c snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xbb85b0f8 snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xc2b288fa snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xcb22205e snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xcf8172fe snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x6a821cef snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xa7d9c032 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xc98f88e9 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xd0658f3c snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x1f154a4a snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x75adad9d snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x649db3c6 snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0xcc8b9571 snd_tea575x_init +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x140a62ec snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x19ae4b67 snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x2687e7e5 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x932c6199 snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xd6da8d95 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-i2c 0x228bd960 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x57d9f9e3 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x6cd2fb05 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xae2cf865 snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0xd3a85339 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xf6c6abe1 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-tea6330t 0x2c5f80c8 snd_tea6330t_detect +EXPORT_SYMBOL sound/i2c/snd-tea6330t 0xec3725ee snd_tea6330t_update_mixer +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0x07102b23 snd_es1688_create +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0x1d837cf5 snd_es1688_mixer_write +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0x9da4ea3e snd_es1688_mixer +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0xfbc9108f snd_es1688_pcm +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x075ee65b snd_gf1_peek +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x0e59f186 snd_gf1_write8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x0f6462bf snd_gf1_ctrl_stop +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x23b4d424 snd_gf1_alloc_voice +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x2436755b snd_gf1_write_addr +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x2cf43944 snd_gf1_mem_xfree +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x2e1d5cba snd_gus_use_inc +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x39ba22d8 snd_gf1_i_look16 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x3e2027c0 snd_gus_initialize +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x46db8d67 snd_gf1_lvol_to_gvol_raw +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x47649555 snd_gf1_rawmidi_new +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x4f525280 snd_gf1_mem_alloc +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x51cd507c snd_gf1_poke +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x51f079cb snd_gf1_translate_freq +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x577f6c8a snd_gf1_delay +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x586e634f snd_gus_create +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x6820ce9a snd_gf1_look16 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x6c6cf014 snd_gf1_write16 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x6cc0ef41 snd_gf1_pcm_new +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x860eff44 snd_gus_dram_read +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x87670c47 snd_gf1_i_look8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x896ce4c5 snd_gus_interrupt +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x8a0a369c snd_gus_use_dec +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x942d5a64 snd_gf1_new_mixer +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xabb3abfe snd_gf1_stop_voice +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xb7f2b57a snd_gf1_mem_free +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xb921d228 snd_gf1_look8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xc43a5527 snd_gf1_atten_table +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xd18e6417 snd_gf1_i_write8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xdeb90024 snd_gus_dram_write +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xe1e0247d snd_gf1_dram_addr +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xe96dbee4 snd_gf1_free_voice +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xf2fb139e snd_gf1_mem_lock +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x0e096be3 snd_msnd_init_queue +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x0f0cf009 snd_msnd_send_word +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x355f118a snd_msndmix_force_recsrc +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x462512e2 snd_msndmix_new +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x6ecdcc98 snd_msnd_enable_irq +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x75026b24 snd_msndmidi_input_read +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x7d5cabfc snd_msnd_DARQ +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x9014f4ab snd_msndmix_setup +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x9ef04ebe snd_msnd_dsp_halt +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0xd241e867 snd_msnd_DAPQ +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0xdd787903 snd_msnd_send_dsp_cmd +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0xe2c5e6df snd_msnd_pcm +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0xf31d7d2c snd_msnd_disable_irq +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0xf5a175ed snd_msnd_upload_host +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x0bec421b snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x0eb3b109 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x1daa8af8 snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x29ad35b5 snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x380851e4 snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x50f34437 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x7ca701a7 snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x7d5dc745 snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xa62b19bb snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xd5082c41 snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb16-csp 0x5e5f7aa5 snd_sb_csp_new +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x90e525d9 snd_sb16dsp_get_pcm_ops +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x9c7239b4 snd_sb16dsp_configure +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xb600fa7c snd_sb16dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xc57f5b54 snd_sb16dsp_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0x413a8720 snd_sb8dsp_midi +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0x7df6ca75 snd_sb8dsp_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0xb1716de9 snd_sb8dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0xb52aef72 snd_sb8dsp_midi_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x2f96748d snd_emu8000_peek +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x43c30ca5 snd_emu8000_load_reverb_fx +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x4dc645b0 snd_emu8000_update_equalizer +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x687f7573 snd_emu8000_init_fm +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x68e40d89 snd_emu8000_poke +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x83b27502 snd_emu8000_peek_dw +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x9c6dac74 snd_emu8000_load_chorus_fx +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xa0a328cb snd_emu8000_update_chorus_mode +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xdb74ba76 snd_emu8000_update_reverb_mode +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xf4294bc6 snd_emu8000_poke_dw +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xfe2ffa04 snd_emu8000_dma_chan +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x156bcf9b snd_wss_info_single +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x1b4ded05 snd_wss_chip_id +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x2bb5858e snd_wss_mixer +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x3a04b983 snd_wss_timer +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x3c209dbd snd_wss_pcm +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x47cbae37 snd_wss_get_double +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x51455004 snd_wss_in +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x5447bd35 snd_wss_overrange +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x5a16edf7 snd_wss_put_double +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x5a6f9347 snd_wss_info_double +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x84b84b14 snd_wss_out +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x8a294175 snd_wss_create +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x8c8bbac0 snd_wss_get_pcm_ops +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x990358c5 snd_wss_mce_down +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xb92a82b6 snd_wss_mce_up +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xc3037d89 snd_cs4236_ext_out +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xc8e13494 snd_wss_get_single +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xd0020140 snd_wss_free +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xd53c7754 snd_wss_put_single +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xee5023e5 snd_wss_interrupt +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xf15f0bd4 snd_cs4236_ext_in +EXPORT_SYMBOL sound/oss/ad1848 0x26c427ee ad1848_detect +EXPORT_SYMBOL sound/oss/ad1848 0x3c350a2d ad1848_init +EXPORT_SYMBOL sound/oss/ad1848 0x55262c70 probe_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0x9bf1cc62 ad1848_unload +EXPORT_SYMBOL sound/oss/ad1848 0xb29a9148 unload_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0xc04f6f67 ad1848_control +EXPORT_SYMBOL sound/oss/ad1848 0xe867f458 attach_ms_sound +EXPORT_SYMBOL sound/oss/mpu401 0x5febf284 unload_mpu401 +EXPORT_SYMBOL sound/oss/mpu401 0xd9ec5db4 probe_mpu401 +EXPORT_SYMBOL sound/oss/mpu401 0xe1f1b4c5 attach_mpu401 +EXPORT_SYMBOL sound/oss/msnd 0x1186f48f msnd_fifo_read +EXPORT_SYMBOL sound/oss/msnd 0x234f64e0 msnd_register +EXPORT_SYMBOL sound/oss/msnd 0x340a3ddf msnd_init_queue +EXPORT_SYMBOL sound/oss/msnd 0x54230dc1 msnd_fifo_write +EXPORT_SYMBOL sound/oss/msnd 0x5fb94ecb msnd_unregister +EXPORT_SYMBOL sound/oss/msnd 0x6587640b msnd_disable_irq +EXPORT_SYMBOL sound/oss/msnd 0x6601493b msnd_fifo_make_empty +EXPORT_SYMBOL sound/oss/msnd 0x8e3c524b msnd_send_dsp_cmd +EXPORT_SYMBOL sound/oss/msnd 0x9274d677 msnd_fifo_free +EXPORT_SYMBOL sound/oss/msnd 0x95d37486 msnd_upload_host +EXPORT_SYMBOL sound/oss/msnd 0xa1bcc420 msnd_send_word +EXPORT_SYMBOL sound/oss/msnd 0xade99e25 msnd_fifo_alloc +EXPORT_SYMBOL sound/oss/msnd 0xb3520772 msnd_fifo_init +EXPORT_SYMBOL sound/oss/msnd 0xdf0f59eb msnd_fifo_write_io +EXPORT_SYMBOL sound/oss/msnd 0xefdd1843 msnd_enable_irq +EXPORT_SYMBOL sound/oss/msnd 0xf4c4f662 msnd_fifo_read_io +EXPORT_SYMBOL sound/oss/sb_lib 0x42424109 sb_be_quiet +EXPORT_SYMBOL sound/oss/sb_lib 0x437e4986 sb_dsp_init +EXPORT_SYMBOL sound/oss/sb_lib 0x450f9aea smw_free +EXPORT_SYMBOL sound/oss/sb_lib 0x5d5a4583 probe_sbmpu +EXPORT_SYMBOL sound/oss/sb_lib 0x74afd69c unload_sbmpu +EXPORT_SYMBOL sound/oss/sb_lib 0xc4884969 sb_dsp_unload +EXPORT_SYMBOL sound/oss/sb_lib 0xd8a2731c sb_dsp_detect +EXPORT_SYMBOL sound/oss/sound 0x04c87ec8 compute_finetune +EXPORT_SYMBOL sound/oss/sound 0x06339815 sound_unload_synthdev +EXPORT_SYMBOL sound/oss/sound 0x0f280035 conf_printf +EXPORT_SYMBOL sound/oss/sound 0x17ba231d seq_input_event +EXPORT_SYMBOL sound/oss/sound 0x1b3df3cf sound_alloc_mixerdev +EXPORT_SYMBOL sound/oss/sound 0x1f395686 MIDIbuf_avail +EXPORT_SYMBOL sound/oss/sound 0x2161d5e8 sound_timer_init +EXPORT_SYMBOL sound/oss/sound 0x2aa31695 midi_synth_kill_note +EXPORT_SYMBOL sound/oss/sound 0x394cb088 sound_free_dma +EXPORT_SYMBOL sound/oss/sound 0x418f5fbe sound_close_dma +EXPORT_SYMBOL sound/oss/sound 0x4cd01bdd num_audiodevs +EXPORT_SYMBOL sound/oss/sound 0x4ff47e9d midi_synth_setup_voice +EXPORT_SYMBOL sound/oss/sound 0x51e354b2 sound_alloc_timerdev +EXPORT_SYMBOL sound/oss/sound 0x56504ca2 midi_synth_reset +EXPORT_SYMBOL sound/oss/sound 0x5d986fc9 note_to_freq +EXPORT_SYMBOL sound/oss/sound 0x5da44f51 mixer_devs +EXPORT_SYMBOL sound/oss/sound 0x72ff1686 synth_devs +EXPORT_SYMBOL sound/oss/sound 0x7679ee76 seq_copy_to_input +EXPORT_SYMBOL sound/oss/sound 0x7bdf0907 conf_printf2 +EXPORT_SYMBOL sound/oss/sound 0x892093e0 midi_synth_controller +EXPORT_SYMBOL sound/oss/sound 0x90bd9714 sequencer_timer +EXPORT_SYMBOL sound/oss/sound 0x987bcf12 DMAbuf_outputintr +EXPORT_SYMBOL sound/oss/sound 0x9a95733f sound_alloc_dma +EXPORT_SYMBOL sound/oss/sound 0x9bdaf24d midi_synth_start_note +EXPORT_SYMBOL sound/oss/sound 0x9d845b18 num_mixers +EXPORT_SYMBOL sound/oss/sound 0xa1d5f04f load_mixer_volumes +EXPORT_SYMBOL sound/oss/sound 0xa1eae7cf num_midis +EXPORT_SYMBOL sound/oss/sound 0xa41ead5f sound_unload_timerdev +EXPORT_SYMBOL sound/oss/sound 0xa51c913b sound_unload_mixerdev +EXPORT_SYMBOL sound/oss/sound 0xa6bb414c sound_unload_mididev +EXPORT_SYMBOL sound/oss/sound 0xa948751e sound_unload_audiodev +EXPORT_SYMBOL sound/oss/sound 0xa9eefced sound_install_audiodrv +EXPORT_SYMBOL sound/oss/sound 0xad45df73 midi_synth_close +EXPORT_SYMBOL sound/oss/sound 0xaef743b2 midi_synth_ioctl +EXPORT_SYMBOL sound/oss/sound 0xb14b22cd midi_synth_hw_control +EXPORT_SYMBOL sound/oss/sound 0xb2c70867 audio_devs +EXPORT_SYMBOL sound/oss/sound 0xb51587f6 do_midi_msg +EXPORT_SYMBOL sound/oss/sound 0xba413f87 sound_alloc_mididev +EXPORT_SYMBOL sound/oss/sound 0xba7dd041 midi_synth_bender +EXPORT_SYMBOL sound/oss/sound 0xc697487b sound_install_mixer +EXPORT_SYMBOL sound/oss/sound 0xc748d109 sound_alloc_synthdev +EXPORT_SYMBOL sound/oss/sound 0xcab4d5bf midi_synth_load_patch +EXPORT_SYMBOL sound/oss/sound 0xcc4b8797 sound_open_dma +EXPORT_SYMBOL sound/oss/sound 0xd85be938 midi_synth_set_instr +EXPORT_SYMBOL sound/oss/sound 0xdb400afa midi_synth_panning +EXPORT_SYMBOL sound/oss/sound 0xddd81f64 midi_devs +EXPORT_SYMBOL sound/oss/sound 0xe056b71c DMAbuf_start_dma +EXPORT_SYMBOL sound/oss/sound 0xe2675a79 sound_timer_interrupt +EXPORT_SYMBOL sound/oss/sound 0xeb315d99 DMAbuf_inputintr +EXPORT_SYMBOL sound/oss/sound 0xf1ea8a20 midi_synth_aftertouch +EXPORT_SYMBOL sound/oss/sound 0xf6b3a2fb midi_synth_open +EXPORT_SYMBOL sound/oss/sound 0xf78f6363 sequencer_init +EXPORT_SYMBOL sound/oss/sound 0xfa6871be sound_timer_syncinterval +EXPORT_SYMBOL sound/oss/sound 0xfbeb8d19 sound_timer_devs +EXPORT_SYMBOL sound/oss/sound 0xfddcbfb3 midi_synth_send_sysex +EXPORT_SYMBOL sound/oss/uart401 0x049cd8b7 uart401intr +EXPORT_SYMBOL sound/oss/uart401 0x5bf2d632 probe_uart401 +EXPORT_SYMBOL sound/oss/uart401 0xecfdd9c9 unload_uart401 +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x101af03d snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1903090e snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x226d85bb snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x37487312 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x3a6361e1 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4b182924 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5f3d2fa7 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x70300c59 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7111eecc snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8ee0b728 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9f733a39 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb13731e9 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb146c5cb snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xef6b6eb8 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf5e96ff8 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xfa17fb0e snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xfb56cc46 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x24c1b2d1 snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x274e4412 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x6d00c02e snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x6fb01ec9 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x7aae1d63 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x90e34b7c snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa8a10d07 snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xbec1368a snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xcd002f99 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0x756b5dd0 snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x93c6d071 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xab9af88c snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xf490fc0f snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x052a8cd1 oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1b6bdcb0 oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2433f436 oxygen_pci_suspend +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x316f1377 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x36930da6 oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x3d4f0e0a oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x614bc1bf oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x61906ef3 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x67346c7e oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x688bf872 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x6c7370d8 oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x70a9555b oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x799c4323 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7a6f5611 oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x91b1221e oxygen_pci_resume +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9968ad0d oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb06c0dae oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xdd0edc9a oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe6f46af4 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf3557466 oxygen_read8 +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x377f6bc4 snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x8adb771f snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x9b5587ef snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xcb05cc24 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xf15ee2ec snd_trident_start_voice +EXPORT_SYMBOL sound/soc/codecs/snd-soc-uda134x 0x45845a91 uda134x_dai +EXPORT_SYMBOL sound/sound_firmware 0x39e3dd23 mod_firmware_load +EXPORT_SYMBOL sound/soundcore 0x1ff70f39 sound_class +EXPORT_SYMBOL sound/soundcore 0x3bd18c3e register_sound_special +EXPORT_SYMBOL sound/soundcore 0x4b9100e3 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x7dd937b7 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x84735ee2 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xba26497a register_sound_midi +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x0261d565 snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x34af6244 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x5b91b460 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 0xb9b9af2d snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xd1d7eaae snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xdce283b9 snd_emux_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x09966cca __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x0d7e60bc snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x45bbf6e6 snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0x6faf8d5a snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x988fef82 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xba2b764f __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xf4628cbe snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xf5efba18 snd_util_mem_alloc +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x0a0cd1bd snd_usb_create_midi_interface +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usb-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x0dc35ee3 dm_mem_cache_shrink +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x310aa23e dm_mem_cache_grow +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x6ee13f6a dm_mem_cache_client_destroy +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x7bb78c27 dm_mem_cache_client_create +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x7f3ae85e dm_mem_cache_alloc +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x920a7a41 dm_message_parse +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x99c3fdcf dm_mem_cache_free +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x49e1b932 lirc_register_driver +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x9496d423 lirc_get_pdata +EXPORT_SYMBOL vmlinux 0x00000000 per_cpu__softirq_work_list +EXPORT_SYMBOL vmlinux 0x004479a2 find_inode_number +EXPORT_SYMBOL vmlinux 0x00546468 put_io_context +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x0083c2f3 pci_release_regions +EXPORT_SYMBOL vmlinux 0x009270e1 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x009d258f _write_lock +EXPORT_SYMBOL vmlinux 0x00ab0a99 tty_shutdown +EXPORT_SYMBOL vmlinux 0x00adec8c sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x00c20395 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL vmlinux 0x00d29090 tty_write_room +EXPORT_SYMBOL vmlinux 0x00e8097b csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x0109e6b1 rfkill_blocked +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x0116b92f kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0x01471ea2 kset_unregister +EXPORT_SYMBOL vmlinux 0x016de041 pci_set_power_state +EXPORT_SYMBOL vmlinux 0x01727a39 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x0186d073 percpu_counter_set +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x0191a87c put_disk +EXPORT_SYMBOL vmlinux 0x01a029e2 kunmap +EXPORT_SYMBOL vmlinux 0x01a4aab6 set_irq_chip_data +EXPORT_SYMBOL vmlinux 0x01c19697 mca_device_status +EXPORT_SYMBOL vmlinux 0x01d19038 acpi_enable_subsystem +EXPORT_SYMBOL vmlinux 0x01d2ee76 call_usermodehelper_stdinpipe +EXPORT_SYMBOL vmlinux 0x01df16ba arp_send +EXPORT_SYMBOL vmlinux 0x01ffc2a3 napi_reuse_skb +EXPORT_SYMBOL vmlinux 0x0204d200 skb_copy +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x02257d5c generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x022effd4 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x0237b57a arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x0244c5c4 call_usermodehelper_freeinfo +EXPORT_SYMBOL vmlinux 0x0256389f bit_waitqueue +EXPORT_SYMBOL vmlinux 0x02584102 bioset_free +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x0269e699 mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x027d4a8f ppp_register_channel +EXPORT_SYMBOL vmlinux 0x02876ffa __bread +EXPORT_SYMBOL vmlinux 0x0291829b kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x029444f0 native_read_tsc +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02aff2f4 acpi_install_gpe_handler +EXPORT_SYMBOL vmlinux 0x02b124d0 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x02b35133 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02ebb631 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x03093c31 should_remove_suid +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x0337037e send_sig_info +EXPORT_SYMBOL vmlinux 0x03403725 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x0340d0e1 acpi_pci_osc_control_set +EXPORT_SYMBOL vmlinux 0x03774008 posix_test_lock +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x037f5c9a pv_mmu_ops +EXPORT_SYMBOL vmlinux 0x038c1ee9 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x03a09f8d simple_readpage +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03dadb35 vfs_writev +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x041ad5c7 tcf_hash_check +EXPORT_SYMBOL vmlinux 0x041df904 get_fs_type +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x0456249c end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x0482ad8a request_firmware +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x04a0b3f7 register_con_driver +EXPORT_SYMBOL vmlinux 0x04b13993 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x04b247fd zero_fill_bio +EXPORT_SYMBOL vmlinux 0x04b250ae nla_put +EXPORT_SYMBOL vmlinux 0x04b60a7a inet_ioctl +EXPORT_SYMBOL vmlinux 0x04d8c750 release_perfctr_nmi +EXPORT_SYMBOL vmlinux 0x0515d2dd scsi_host_set_state +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x0525dc8c generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x055f0d3c scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x057ce975 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x05b608ce eth_header_cache +EXPORT_SYMBOL vmlinux 0x05d3f01b xfrm_init_state +EXPORT_SYMBOL vmlinux 0x05e73a94 serio_reconnect +EXPORT_SYMBOL vmlinux 0x060247fb lookup_one_len +EXPORT_SYMBOL vmlinux 0x060e5f1d filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x061dd282 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x06220194 block_prepare_write +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x0682b993 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x068c7263 ioremap_cache +EXPORT_SYMBOL vmlinux 0x06b73547 remap_pfn_range +EXPORT_SYMBOL vmlinux 0x06d728b1 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x06ea361e sock_no_accept +EXPORT_SYMBOL vmlinux 0x06f69e41 dquot_destroy +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x072f8b9a __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x073dfa12 generate_resume_trace +EXPORT_SYMBOL vmlinux 0x07508f8b mb_cache_shrink +EXPORT_SYMBOL vmlinux 0x07514aaf ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x07608604 acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x079034f1 arp_find +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x0799c50a param_set_ulong +EXPORT_SYMBOL vmlinux 0x079f74bf vfs_readv +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07a9ed10 tty_port_close_end +EXPORT_SYMBOL vmlinux 0x07adb4ce dquot_scan_active +EXPORT_SYMBOL vmlinux 0x07af0fd9 journal_forget +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07ccfcfe blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x07d50a24 csum_partial +EXPORT_SYMBOL vmlinux 0x07d5d3ce lookup_bdev +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x07f165c1 rfkill_unregister +EXPORT_SYMBOL vmlinux 0x0806fa49 netif_receive_skb +EXPORT_SYMBOL vmlinux 0x080ff6fe poll_freewait +EXPORT_SYMBOL vmlinux 0x08223dd2 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x0836e9ba dentry_unhash +EXPORT_SYMBOL vmlinux 0x084adf37 scsi_device_put +EXPORT_SYMBOL vmlinux 0x084b8e00 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x0851ec92 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x08594c86 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x0866a727 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x088e3cff pcim_iounmap +EXPORT_SYMBOL vmlinux 0x089d308a locks_copy_lock +EXPORT_SYMBOL vmlinux 0x08a20636 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x08bdb4a0 cdrom_open +EXPORT_SYMBOL vmlinux 0x08cef602 llc_sap_open +EXPORT_SYMBOL vmlinux 0x08d66a3a warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x08ddebe3 dma_ops +EXPORT_SYMBOL vmlinux 0x08e4c1bf xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x08ed1ad2 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x090f1d86 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x0913d4a7 vfs_set_dqblk +EXPORT_SYMBOL vmlinux 0x09144253 sysctl_string +EXPORT_SYMBOL vmlinux 0x091e3eac ip_fragment +EXPORT_SYMBOL vmlinux 0x0933aae1 efi_enabled +EXPORT_SYMBOL vmlinux 0x093b7943 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x09444b55 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x0951ff57 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x0953993b pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x096f1972 netdev_set_master +EXPORT_SYMBOL vmlinux 0x0979fd74 __napi_schedule +EXPORT_SYMBOL vmlinux 0x097e82e9 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09a1c9a2 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x09aceef1 wireless_send_event +EXPORT_SYMBOL vmlinux 0x09b05948 phy_attach +EXPORT_SYMBOL vmlinux 0x09bb081d acpi_bus_generate_proc_event +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09dea8b0 unregister_netdevice +EXPORT_SYMBOL vmlinux 0x0a1e87f9 atomic64_add_negative +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a266f07 ethtool_op_get_tx_csum +EXPORT_SYMBOL vmlinux 0x0a2a0a84 dquot_claim_space +EXPORT_SYMBOL vmlinux 0x0a2c63d5 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a8f49f8 dev_unicast_delete +EXPORT_SYMBOL vmlinux 0x0a9734fd skb_put +EXPORT_SYMBOL vmlinux 0x0aa3fae1 dqget +EXPORT_SYMBOL vmlinux 0x0abd98ab open_by_devnum +EXPORT_SYMBOL vmlinux 0x0ac8703e __dst_free +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0af1fc0e uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x0b0c2dd5 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b105622 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0x0b166716 unregister_key_type +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b5d8620 generic_file_aio_read +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b790dc2 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x0b85ec51 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x0bc045e6 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x0c340990 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x0c5f27eb get_sb_single +EXPORT_SYMBOL vmlinux 0x0c604ca3 pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c7463e1 xfrm_policy_destroy +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 0x0cbebb5e pnp_stop_dev +EXPORT_SYMBOL vmlinux 0x0cbef08d module_layout +EXPORT_SYMBOL vmlinux 0x0ccf0db8 datagram_poll +EXPORT_SYMBOL vmlinux 0x0cf86669 blk_complete_request +EXPORT_SYMBOL vmlinux 0x0d1bef4b blk_sync_queue +EXPORT_SYMBOL vmlinux 0x0d244065 mmc_remove_host +EXPORT_SYMBOL vmlinux 0x0d26a76d _write_lock_irq +EXPORT_SYMBOL vmlinux 0x0d3dda14 acpi_get_type +EXPORT_SYMBOL vmlinux 0x0d4b77b7 gen_pool_add +EXPORT_SYMBOL vmlinux 0x0d53e15c nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d5b1719 ethtool_op_get_rx_csum +EXPORT_SYMBOL vmlinux 0x0d6c963c copy_from_user +EXPORT_SYMBOL vmlinux 0x0d8320f7 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x0d8cf1d4 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0dae1184 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x0df45278 neigh_destroy +EXPORT_SYMBOL vmlinux 0x0e2cde27 proc_dostring +EXPORT_SYMBOL vmlinux 0x0e30fa11 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x0e39bcf8 dev_change_flags +EXPORT_SYMBOL vmlinux 0x0e4f4755 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x0e50c7ac elv_add_request +EXPORT_SYMBOL vmlinux 0x0e52592a panic +EXPORT_SYMBOL vmlinux 0x0e71edd0 blk_put_request +EXPORT_SYMBOL vmlinux 0x0e83fea1 del_timer_sync +EXPORT_SYMBOL vmlinux 0x0e987ab7 consume_skb +EXPORT_SYMBOL vmlinux 0x0ebc9885 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x0edc4273 ps2_command +EXPORT_SYMBOL vmlinux 0x0ee19185 unregister_netdev +EXPORT_SYMBOL vmlinux 0x0ef048e2 dma_pool_create +EXPORT_SYMBOL vmlinux 0x0f1ef871 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x0f31d6a0 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x0f3b9527 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x0f420217 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x0f81f648 spi_attach_transport +EXPORT_SYMBOL vmlinux 0x0f8bbec6 inet6_release +EXPORT_SYMBOL vmlinux 0x0f8f7c1b blk_plug_device_unlocked +EXPORT_SYMBOL vmlinux 0x0f991198 pci_bus_type +EXPORT_SYMBOL vmlinux 0x0fafb5cf xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x0fd00a68 acpi_clear_event +EXPORT_SYMBOL vmlinux 0x0fd421f5 ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x0feaa54c xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x0ff2b602 slhc_compress +EXPORT_SYMBOL vmlinux 0x100758fc in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x102ec3a9 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x103fe7c6 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x10483bf9 update_region +EXPORT_SYMBOL vmlinux 0x105e2727 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x107dee75 qdisc_destroy +EXPORT_SYMBOL vmlinux 0x107e9040 pci_disable_msix +EXPORT_SYMBOL vmlinux 0x108e8985 param_get_uint +EXPORT_SYMBOL vmlinux 0x108ec5cf mmc_detect_change +EXPORT_SYMBOL vmlinux 0x1090d4e1 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x10a134e6 inode_add_bytes +EXPORT_SYMBOL vmlinux 0x10d4795e tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x10ff42a4 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x11036aa3 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x1137390e prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x113f44d6 dcache_dir_open +EXPORT_SYMBOL vmlinux 0x116338ab ethtool_op_set_flags +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x1180f2be mb_cache_create +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x11a18b14 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x11b8b69b submit_bio +EXPORT_SYMBOL vmlinux 0x11d4639e tcp_close +EXPORT_SYMBOL vmlinux 0x11d9799f xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x11d98dc3 end_page_writeback +EXPORT_SYMBOL vmlinux 0x11dfebf4 bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x120507ac idr_get_new +EXPORT_SYMBOL vmlinux 0x12298dea pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0x1242123d __scsi_add_device +EXPORT_SYMBOL vmlinux 0x1255db4f dm_unregister_target +EXPORT_SYMBOL vmlinux 0x1266ee03 thaw_bdev +EXPORT_SYMBOL vmlinux 0x1273d3d2 skb_append +EXPORT_SYMBOL vmlinux 0x1298f100 write_one_page +EXPORT_SYMBOL vmlinux 0x12a4cbe0 xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0x12da5bb2 __kmalloc +EXPORT_SYMBOL vmlinux 0x12dcb1a6 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x12e5b14e dm_table_put +EXPORT_SYMBOL vmlinux 0x12f10736 udplite_table +EXPORT_SYMBOL vmlinux 0x12ff0556 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x130e66ce journal_force_commit +EXPORT_SYMBOL vmlinux 0x131a1601 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x135e2767 __ps2_command +EXPORT_SYMBOL vmlinux 0x136e6ca2 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x1378e714 acpi_video_display_switch_support +EXPORT_SYMBOL vmlinux 0x137c37e1 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x13b3281a set_bdi_congested +EXPORT_SYMBOL vmlinux 0x13e664c3 nf_getsockopt +EXPORT_SYMBOL vmlinux 0x13e8fd1d i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x14113463 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0x1430e6e0 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x143c22f1 get_phy_id +EXPORT_SYMBOL vmlinux 0x145bffaa blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x14778cad proc_dointvec +EXPORT_SYMBOL vmlinux 0x1484f1ff ilookup5 +EXPORT_SYMBOL vmlinux 0x14a04e10 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x14a3e924 dm_dirty_log_type_unregister +EXPORT_SYMBOL vmlinux 0x14af0cf7 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x15159464 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x151925f3 scm_detach_fds +EXPORT_SYMBOL vmlinux 0x153a7269 kthread_create +EXPORT_SYMBOL vmlinux 0x154432e1 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x15624c3f tty_hangup +EXPORT_SYMBOL vmlinux 0x157589e1 posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0x1581d17f bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x15950417 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x15a59a38 dm_put_device +EXPORT_SYMBOL vmlinux 0x15c17830 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x15c2229d vfs_dq_transfer +EXPORT_SYMBOL vmlinux 0x15cfc7c9 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x15da37b2 inode_setattr +EXPORT_SYMBOL vmlinux 0x15ef2dd9 kfifo_free +EXPORT_SYMBOL vmlinux 0x160ea4c8 sfi_disabled +EXPORT_SYMBOL vmlinux 0x1613cf37 dm_dirty_log_type_register +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x163c5e39 twl4030_i2c_read +EXPORT_SYMBOL vmlinux 0x16747ceb dev_addr_add +EXPORT_SYMBOL vmlinux 0x1675606f bad_dma_address +EXPORT_SYMBOL vmlinux 0x167e7f9d __get_user_1 +EXPORT_SYMBOL vmlinux 0x168fdac9 rtnl_notify +EXPORT_SYMBOL vmlinux 0x16925094 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x169447d7 journal_init_dev +EXPORT_SYMBOL vmlinux 0x16bfd7c2 invalidate_partition +EXPORT_SYMBOL vmlinux 0x16c6f977 phy_connect +EXPORT_SYMBOL vmlinux 0x16c70594 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x16ebadd3 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x16f4ed76 phy_detach +EXPORT_SYMBOL vmlinux 0x16f50745 bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x16f8d96d do_sync_write +EXPORT_SYMBOL vmlinux 0x17092dd0 journal_ack_err +EXPORT_SYMBOL vmlinux 0x170c25ee acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x1730b3a0 qdisc_reset +EXPORT_SYMBOL vmlinux 0x1780bcab seq_puts +EXPORT_SYMBOL vmlinux 0x1789dc07 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x1792b030 genphy_read_status +EXPORT_SYMBOL vmlinux 0x179b5efc pagevec_lookup +EXPORT_SYMBOL vmlinux 0x17a9c2a0 alloc_hippi_dev +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x181b6ff2 mempool_resize +EXPORT_SYMBOL vmlinux 0x181dd1ce sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x1828341c inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x18296163 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x182d86b9 scsi_prep_return +EXPORT_SYMBOL vmlinux 0x1839968c bio_clone +EXPORT_SYMBOL vmlinux 0x183edcca __blk_run_queue +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x1845e7c5 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x184b2a10 path_put +EXPORT_SYMBOL vmlinux 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL vmlinux 0x185c4e1c pnp_register_driver +EXPORT_SYMBOL vmlinux 0x18754b45 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x1895713c blk_recount_segments +EXPORT_SYMBOL vmlinux 0x18a18249 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x18c55c40 commit_creds +EXPORT_SYMBOL vmlinux 0x18d11fb8 pci_get_slot +EXPORT_SYMBOL vmlinux 0x195fcf92 dm_io_client_create +EXPORT_SYMBOL vmlinux 0x1976bc16 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x1985ed3c prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19b219c6 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x19d046a0 tty_throttle +EXPORT_SYMBOL vmlinux 0x19d5d20a acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0x19ef6e5e scsi_device_get +EXPORT_SYMBOL vmlinux 0x1a11a524 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a4eb47c locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x1a75caa3 _read_lock +EXPORT_SYMBOL vmlinux 0x1a7a1a65 blkdev_put +EXPORT_SYMBOL vmlinux 0x1a8a845e idle_nomwait +EXPORT_SYMBOL vmlinux 0x1aa34342 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x1aac532b input_flush_device +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1ae8fbf0 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b18dac9 inet_frags_init +EXPORT_SYMBOL vmlinux 0x1b1c9e9f __brelse +EXPORT_SYMBOL vmlinux 0x1b1cf551 ethtool_op_set_tx_ipv6_csum +EXPORT_SYMBOL vmlinux 0x1b5111c2 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b6d89c8 ethtool_op_get_flags +EXPORT_SYMBOL vmlinux 0x1b75f02f km_state_expired +EXPORT_SYMBOL vmlinux 0x1b7b5ef9 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x1b89419f add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x1b8b6657 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b9981cc set_irq_wake +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1bb2065b ip_route_input +EXPORT_SYMBOL vmlinux 0x1bb692eb dm_table_get +EXPORT_SYMBOL vmlinux 0x1be7c57d save_mount_options +EXPORT_SYMBOL vmlinux 0x1befdc3c new_inode +EXPORT_SYMBOL vmlinux 0x1c1af916 set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x1c352ff4 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x1c4b0b30 simple_getattr +EXPORT_SYMBOL vmlinux 0x1c4ff72a seq_open +EXPORT_SYMBOL vmlinux 0x1c552d12 kernel_accept +EXPORT_SYMBOL vmlinux 0x1c69cb76 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x1c8a04b0 acpi_reset +EXPORT_SYMBOL vmlinux 0x1c9d09ac blk_fetch_request +EXPORT_SYMBOL vmlinux 0x1c9e978a ps2_drain +EXPORT_SYMBOL vmlinux 0x1cb30052 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1ce7ec4c rwsem_wake +EXPORT_SYMBOL vmlinux 0x1cefe352 wait_for_completion +EXPORT_SYMBOL vmlinux 0x1d19c130 block_commit_write +EXPORT_SYMBOL vmlinux 0x1d2e87c6 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x1d44be4b jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x1d455f4b i2c_verify_client +EXPORT_SYMBOL vmlinux 0x1d69c7f8 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x1d742dd2 address_space_init_once +EXPORT_SYMBOL vmlinux 0x1da11c3c skb_dequeue +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dcffa4f inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1e0c2be4 ioremap_wc +EXPORT_SYMBOL vmlinux 0x1e25ef68 acpi_get_physical_device +EXPORT_SYMBOL vmlinux 0x1e3e9a49 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x1e4d9860 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1ea7516f create_empty_buffers +EXPORT_SYMBOL vmlinux 0x1ecb9943 posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x1ef7e641 inet_addr_type +EXPORT_SYMBOL vmlinux 0x1efe283f __cap_full_set +EXPORT_SYMBOL vmlinux 0x1f028660 pci_select_bars +EXPORT_SYMBOL vmlinux 0x1f0bc84c napi_complete +EXPORT_SYMBOL vmlinux 0x1f305993 kobject_set_name +EXPORT_SYMBOL vmlinux 0x1f57702a uart_get_divisor +EXPORT_SYMBOL vmlinux 0x1f69573a kset_register +EXPORT_SYMBOL vmlinux 0x1f76d2fd bdget_disk +EXPORT_SYMBOL vmlinux 0x1f8caf04 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x1fd36831 d_invalidate +EXPORT_SYMBOL vmlinux 0x1fdbe325 iunique +EXPORT_SYMBOL vmlinux 0x1feb6553 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x1fedf0f4 __request_region +EXPORT_SYMBOL vmlinux 0x1ff69dd8 vfs_fstatat +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x2005e68a acpi_remove_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x20326d28 mmc_suspend_host +EXPORT_SYMBOL vmlinux 0x2033b9ab bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x2035247a tcf_exts_change +EXPORT_SYMBOL vmlinux 0x20385c58 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x203963c7 clear_inode +EXPORT_SYMBOL vmlinux 0x203eb062 find_lock_page +EXPORT_SYMBOL vmlinux 0x204df1fd mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x20750ce9 unregister_nls +EXPORT_SYMBOL vmlinux 0x208739f6 acpi_load_table +EXPORT_SYMBOL vmlinux 0x208db445 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x20b07c6e sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x20cde35f udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x20e5c58b da903x_query_status +EXPORT_SYMBOL vmlinux 0x20e757ce keyring_clear +EXPORT_SYMBOL vmlinux 0x21136250 d_rehash +EXPORT_SYMBOL vmlinux 0x21210b76 sg_miter_start +EXPORT_SYMBOL vmlinux 0x21461540 elv_abort_queue +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x21d50a51 tcf_hash_release +EXPORT_SYMBOL vmlinux 0x21e0ea22 acpi_get_id +EXPORT_SYMBOL vmlinux 0x221654a6 dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x2236aa69 simple_fill_super +EXPORT_SYMBOL vmlinux 0x2238dbea task_nice +EXPORT_SYMBOL vmlinux 0x223ecef5 release_firmware +EXPORT_SYMBOL vmlinux 0x22482941 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x226e86a9 audit_log +EXPORT_SYMBOL vmlinux 0x227a3614 pci_get_device +EXPORT_SYMBOL vmlinux 0x2288378f system_state +EXPORT_SYMBOL vmlinux 0x22a73912 __tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x22a7a26a ip6_frag_match +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22b5d203 bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x22b6533b xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x22d34153 sock_no_poll +EXPORT_SYMBOL vmlinux 0x22e896a2 kernel_bind +EXPORT_SYMBOL vmlinux 0x22f91a62 serio_close +EXPORT_SYMBOL vmlinux 0x23269a13 strict_strtoul +EXPORT_SYMBOL vmlinux 0x2344b23c genphy_config_advert +EXPORT_SYMBOL vmlinux 0x235afb76 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x2371ae12 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x238feff6 pcibios_set_irq_routing +EXPORT_SYMBOL vmlinux 0x23909de2 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x23a5f7b7 phy_start +EXPORT_SYMBOL vmlinux 0x23b3ec4a tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x23c8f257 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x23cfea7c tcp_sendpage +EXPORT_SYMBOL vmlinux 0x23d301bf write_cache_pages +EXPORT_SYMBOL vmlinux 0x23f505d7 __xfrm_lookup +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x24057331 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x240ee02c mca_device_read_pos +EXPORT_SYMBOL vmlinux 0x243ffddc idr_destroy +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x244cb03c mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0x244e40e2 phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0x24581012 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x24624544 ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x24add62e netlink_dump_start +EXPORT_SYMBOL vmlinux 0x24e4bb01 down_write_trylock +EXPORT_SYMBOL vmlinux 0x24fbc46d get_disk +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x250113b4 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x2517b603 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x2548b858 blk_unplug +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258355b4 fb_find_best_mode +EXPORT_SYMBOL vmlinux 0x259f6f78 add_disk +EXPORT_SYMBOL vmlinux 0x25d3e2a3 atomic64_dec_return +EXPORT_SYMBOL vmlinux 0x25d64e9d ip_setsockopt +EXPORT_SYMBOL vmlinux 0x2611202b sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x26225031 pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0x262f6b0c __find_get_block +EXPORT_SYMBOL vmlinux 0x2653622f jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x267827a5 devm_ioport_map +EXPORT_SYMBOL vmlinux 0x267cd748 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x267fc65b __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x2685c3d7 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x268a2f20 request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0x268cc6a2 sys_close +EXPORT_SYMBOL vmlinux 0x26983d83 sock_wfree +EXPORT_SYMBOL vmlinux 0x269dbfce i2c_release_client +EXPORT_SYMBOL vmlinux 0x26adee28 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x26f2ffe6 make_bad_inode +EXPORT_SYMBOL vmlinux 0x27036b01 skb_queue_head +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x2727da5d _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x272d394e mtrr_del +EXPORT_SYMBOL vmlinux 0x2731ce56 dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0x274b0396 neigh_table_init +EXPORT_SYMBOL vmlinux 0x27679e5b open_bdev_exclusive +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27af4c45 unbind_con_driver +EXPORT_SYMBOL vmlinux 0x27b0f639 i2c_register_driver +EXPORT_SYMBOL vmlinux 0x27b35c51 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c61ece qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x27f0b798 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x27f19ad5 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x27fbd1df pci_disable_msi +EXPORT_SYMBOL vmlinux 0x28170f89 unregister_cdrom +EXPORT_SYMBOL vmlinux 0x282489f4 dm_get_device +EXPORT_SYMBOL vmlinux 0x285ac517 strict_strtoll +EXPORT_SYMBOL vmlinux 0x2888612e ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28ace8af vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x28b715a6 isapnp_cfg_end +EXPORT_SYMBOL vmlinux 0x2901ac40 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x290572b5 input_event +EXPORT_SYMBOL vmlinux 0x290f69b3 setup_arg_pages +EXPORT_SYMBOL vmlinux 0x292093f4 native_rdmsr_safe_regs +EXPORT_SYMBOL vmlinux 0x2922f76b bio_alloc +EXPORT_SYMBOL vmlinux 0x293c1636 unregister_8022_client +EXPORT_SYMBOL vmlinux 0x2949bbf8 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x296cd436 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x29762a59 kfree_skb +EXPORT_SYMBOL vmlinux 0x2988a144 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x2999c389 dquot_drop +EXPORT_SYMBOL vmlinux 0x29a604e3 input_release_device +EXPORT_SYMBOL vmlinux 0x29bd4c46 __cap_init_eff_set +EXPORT_SYMBOL vmlinux 0x29c36cf4 bd_set_size +EXPORT_SYMBOL vmlinux 0x29ed9934 dma_set_mask +EXPORT_SYMBOL vmlinux 0x29f5bf7d unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x2a0167f4 kern_path +EXPORT_SYMBOL vmlinux 0x2a029140 key_alloc +EXPORT_SYMBOL vmlinux 0x2a0628be xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x2a0e335a dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x2a1d0885 sock_kfree_s +EXPORT_SYMBOL vmlinux 0x2a2cbdba blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a4dd5ad scm_fp_dup +EXPORT_SYMBOL vmlinux 0x2a593d85 clip_tbl_hook +EXPORT_SYMBOL vmlinux 0x2a639619 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x2a7fda3d iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2aba2a80 jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0x2aeb2800 mempool_create_node +EXPORT_SYMBOL vmlinux 0x2af4a420 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b1202af rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x2b378b03 skb_make_writable +EXPORT_SYMBOL vmlinux 0x2b5a6dd8 kill_pid +EXPORT_SYMBOL vmlinux 0x2b5f6d8e blk_start_queue +EXPORT_SYMBOL vmlinux 0x2b919129 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bb55d6e acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x2bb6fde2 __kfifo_put +EXPORT_SYMBOL vmlinux 0x2bc95bd4 memset +EXPORT_SYMBOL vmlinux 0x2bd36e3d tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x2be8dcd8 mca_register_driver_integrated +EXPORT_SYMBOL vmlinux 0x2beca4b2 elevator_init +EXPORT_SYMBOL vmlinux 0x2bfeb410 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x2c128cd4 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x2c3d0906 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x2c3f0ce7 pci_claim_resource +EXPORT_SYMBOL vmlinux 0x2c4918a0 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x2c5749e6 acpi_clear_gpe +EXPORT_SYMBOL vmlinux 0x2c6ff8b9 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x2c8f5989 acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0x2c9874fe ida_remove +EXPORT_SYMBOL vmlinux 0x2c98bfe9 k8_northbridges +EXPORT_SYMBOL vmlinux 0x2cc3a247 pcim_iomap +EXPORT_SYMBOL vmlinux 0x2ceefdd6 tcp_v4_remember_stamp +EXPORT_SYMBOL vmlinux 0x2cf38c4f netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x2d0db08f generic_removexattr +EXPORT_SYMBOL vmlinux 0x2d1ddc3d bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x2d340881 journal_lock_updates +EXPORT_SYMBOL vmlinux 0x2d37342e cpu_online_mask +EXPORT_SYMBOL vmlinux 0x2d463b3d dentry_open +EXPORT_SYMBOL vmlinux 0x2d5dd196 is_bad_inode +EXPORT_SYMBOL vmlinux 0x2d74c89b override_creds +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2dbafbe3 pcibios_align_resource +EXPORT_SYMBOL vmlinux 0x2dc0543e acpi_lock_ac_dir +EXPORT_SYMBOL vmlinux 0x2dcb0123 schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x2dd16564 arch_register_cpu +EXPORT_SYMBOL vmlinux 0x2dedc4c2 acpi_format_exception +EXPORT_SYMBOL vmlinux 0x2def7f76 rtc_cmos_write +EXPORT_SYMBOL vmlinux 0x2e06961d inet_getname +EXPORT_SYMBOL vmlinux 0x2e07f920 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x2e2a9e65 thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e2f1595 set_create_files_as +EXPORT_SYMBOL vmlinux 0x2e4a39f8 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x2e52be75 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x2e60bace memcpy +EXPORT_SYMBOL vmlinux 0x2e7fca36 secpath_dup +EXPORT_SYMBOL vmlinux 0x2e9cc836 unregister_md_personality +EXPORT_SYMBOL vmlinux 0x2eb9a0e8 _read_lock_irq +EXPORT_SYMBOL vmlinux 0x2ee41c0a dm_exception_store_type_unregister +EXPORT_SYMBOL vmlinux 0x2efe5e09 atomic64_xchg +EXPORT_SYMBOL vmlinux 0x2f1f0bb2 dst_destroy +EXPORT_SYMBOL vmlinux 0x2f287f0d copy_to_user +EXPORT_SYMBOL vmlinux 0x2f413b79 netdev_state_change +EXPORT_SYMBOL vmlinux 0x2f481093 call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x2f9398aa noop_qdisc +EXPORT_SYMBOL vmlinux 0x2faf89a8 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x2fb96289 tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x2fd35268 __bforget +EXPORT_SYMBOL vmlinux 0x2fef62e5 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x30123eb5 icmpv6_statistics +EXPORT_SYMBOL vmlinux 0x30531b07 dev_gro_receive +EXPORT_SYMBOL vmlinux 0x305a96f8 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x3079abf7 input_register_device +EXPORT_SYMBOL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL vmlinux 0x30882815 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x308b7ee2 scsi_put_command +EXPORT_SYMBOL vmlinux 0x30ac6cdb scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x30c71d1b dst_release +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x310917fe sort +EXPORT_SYMBOL vmlinux 0x31121fe1 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x31123203 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x312ca87f security_path_symlink +EXPORT_SYMBOL vmlinux 0x3142261d set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x314ece87 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0x315e6d14 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x31794c8d blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x3180d227 blk_peek_request +EXPORT_SYMBOL vmlinux 0x3191f109 __krealloc +EXPORT_SYMBOL vmlinux 0x319c69d6 mmc_release_host +EXPORT_SYMBOL vmlinux 0x31d0003b dev_get_stats +EXPORT_SYMBOL vmlinux 0x31e76b57 recalibrate_cpu_khz +EXPORT_SYMBOL vmlinux 0x32080822 set_trace_device +EXPORT_SYMBOL vmlinux 0x320bf8eb pci_save_state +EXPORT_SYMBOL vmlinux 0x324afdee rt6_lookup +EXPORT_SYMBOL vmlinux 0x326d6614 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x326df9e1 vfs_stat +EXPORT_SYMBOL vmlinux 0x3283dfa3 vfs_unlink +EXPORT_SYMBOL vmlinux 0x3285cc48 param_set_uint +EXPORT_SYMBOL vmlinux 0x328601d5 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x32864e04 filemap_flush +EXPORT_SYMBOL vmlinux 0x329352eb md_check_recovery +EXPORT_SYMBOL vmlinux 0x32ad3f04 __destroy_inode +EXPORT_SYMBOL vmlinux 0x32c1c6fd tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x32e05ef0 tcp_prot +EXPORT_SYMBOL vmlinux 0x32e713fd neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x32ec02c9 neigh_table_init_no_netlink +EXPORT_SYMBOL vmlinux 0x33112e20 skb_trim +EXPORT_SYMBOL vmlinux 0x332b28eb dev_driver_string +EXPORT_SYMBOL vmlinux 0x332db9b7 pci_find_device +EXPORT_SYMBOL vmlinux 0x33377bb3 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x33a8adf4 nobh_writepage +EXPORT_SYMBOL vmlinux 0x33ba4657 inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0x33cb1450 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x33d92f9a prepare_to_wait +EXPORT_SYMBOL vmlinux 0x33f0ed66 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x33fe5422 inet_sendmsg +EXPORT_SYMBOL vmlinux 0x340ab260 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x342f60fe apm_info +EXPORT_SYMBOL vmlinux 0x3457cb68 param_set_long +EXPORT_SYMBOL vmlinux 0x3461923c pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0x347a1000 bh_submit_read +EXPORT_SYMBOL vmlinux 0x34908c14 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x3492dc86 genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0x3494c7c7 get_write_access +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x349f3f0b jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x349fe47e destroy_EII_client +EXPORT_SYMBOL vmlinux 0x34b7b6ec scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x34e54c15 xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0x34e75aed pci_iomap +EXPORT_SYMBOL vmlinux 0x34ea63aa scsi_print_result +EXPORT_SYMBOL vmlinux 0x34eb6947 bio_unmap_user +EXPORT_SYMBOL vmlinux 0x34f5f398 acpi_bus_add +EXPORT_SYMBOL vmlinux 0x3536d16b jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x353f22ea blk_queue_ordered +EXPORT_SYMBOL vmlinux 0x355de638 blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0x3586f63e xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x35901022 elv_rb_add +EXPORT_SYMBOL vmlinux 0x359b7bc1 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x35a7d239 dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0x35bdd20e __alloc_skb +EXPORT_SYMBOL vmlinux 0x35c19678 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x35c2ba9e refrigerator +EXPORT_SYMBOL vmlinux 0x35c7a441 seq_write +EXPORT_SYMBOL vmlinux 0x35da2e61 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x35eb5e75 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x35f0faa2 acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0x35f7d7b1 set_page_dirty +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x361d2854 skb_queue_purge +EXPORT_SYMBOL vmlinux 0x361e002f xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x36235577 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0x3623edf6 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x36299163 spi_release_transport +EXPORT_SYMBOL vmlinux 0x3656bf5a lock_kernel +EXPORT_SYMBOL vmlinux 0x3686ea09 spi_print_msg +EXPORT_SYMBOL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL vmlinux 0x36e2fd84 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x36fa7401 pipe_to_file +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x374ed073 scnprintf +EXPORT_SYMBOL vmlinux 0x376c964b xfrm_register_km +EXPORT_SYMBOL vmlinux 0x3784703e skb_copy_bits +EXPORT_SYMBOL vmlinux 0x379d65f5 gen_pool_alloc +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37d3c351 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37e6ce18 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x37e74642 get_jiffies_64 +EXPORT_SYMBOL vmlinux 0x381c4bb1 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x3821ff9f security_path_unlink +EXPORT_SYMBOL vmlinux 0x384886af blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x385bcb88 arp_create +EXPORT_SYMBOL vmlinux 0x3861a6cb cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x388799f6 unregister_kmmio_probe +EXPORT_SYMBOL vmlinux 0x3887e3b9 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x388cff32 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38a2c16a dev_alloc_name +EXPORT_SYMBOL vmlinux 0x38a7561d netif_device_detach +EXPORT_SYMBOL vmlinux 0x38b01a42 phy_print_status +EXPORT_SYMBOL vmlinux 0x38b92846 llc_remove_pack +EXPORT_SYMBOL vmlinux 0x38cab31c init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x38d51702 proto_unregister +EXPORT_SYMBOL vmlinux 0x38f39b77 inet_del_protocol +EXPORT_SYMBOL vmlinux 0x38f91bda pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x3907cabf ppp_channel_index +EXPORT_SYMBOL vmlinux 0x3912a25f serio_interrupt +EXPORT_SYMBOL vmlinux 0x39448684 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x39a86ecf neigh_compat_output +EXPORT_SYMBOL vmlinux 0x39d7af1d xfrm_state_add +EXPORT_SYMBOL vmlinux 0x39dc272a block_fsync +EXPORT_SYMBOL vmlinux 0x39e60731 ndisc_build_skb +EXPORT_SYMBOL vmlinux 0x3a1585a9 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x3a2204c6 security_netlink_recv +EXPORT_SYMBOL vmlinux 0x3a36f3b5 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x3a37e67c ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x3a7908ce dev_unicast_sync +EXPORT_SYMBOL vmlinux 0x3a8405de napi_gro_frags +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3aa1dbcf _spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x3ab16f08 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x3ac8563e simple_fsync +EXPORT_SYMBOL vmlinux 0x3adc15b9 posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x3ae831b6 kref_init +EXPORT_SYMBOL vmlinux 0x3aea7ab1 unlock_rename +EXPORT_SYMBOL vmlinux 0x3aed4e19 simple_write_begin +EXPORT_SYMBOL vmlinux 0x3afd5050 misc_deregister +EXPORT_SYMBOL vmlinux 0x3b1de801 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b4674e7 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x3b70ea43 __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0x3b9e6975 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x3ba1b106 tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x3bb78130 set_current_groups +EXPORT_SYMBOL vmlinux 0x3bbc4e14 send_sig +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bd678c9 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x3be2124b simple_lookup +EXPORT_SYMBOL vmlinux 0x3bf17b34 block_sync_page +EXPORT_SYMBOL vmlinux 0x3bff9769 mnt_pin +EXPORT_SYMBOL vmlinux 0x3c073072 module_put +EXPORT_SYMBOL vmlinux 0x3c2c5af5 sprintf +EXPORT_SYMBOL vmlinux 0x3c2ec6e9 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x3c7227bf complete_all +EXPORT_SYMBOL vmlinux 0x3c760a50 key_negate_and_link +EXPORT_SYMBOL vmlinux 0x3c7cecd1 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3cb3931b sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x3cc0a3bb xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x3cd9c6cf grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cef3fcd __neigh_event_send +EXPORT_SYMBOL vmlinux 0x3d118dc0 stop_tty +EXPORT_SYMBOL vmlinux 0x3d68bd4b flow_cache_genid +EXPORT_SYMBOL vmlinux 0x3d6ff114 skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x3d764572 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x3d7c1ed7 msrs_alloc +EXPORT_SYMBOL vmlinux 0x3d9995af devm_free_irq +EXPORT_SYMBOL vmlinux 0x3da171f9 pci_mem_start +EXPORT_SYMBOL vmlinux 0x3da5eb6d kfifo_alloc +EXPORT_SYMBOL vmlinux 0x3daa69da vfs_lstat +EXPORT_SYMBOL vmlinux 0x3dd8a9c8 dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x3e025d24 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x3e1f073d wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x3e219de6 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x3e2ae3a8 acpi_release_global_lock +EXPORT_SYMBOL vmlinux 0x3e3207bc alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x3e383385 nf_hooks +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e6cd462 register_netdevice +EXPORT_SYMBOL vmlinux 0x3e899c9d blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x3ec1d14e tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3ed96eb9 file_update_time +EXPORT_SYMBOL vmlinux 0x3edbc14d netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x3ef78d80 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x3f017707 fb_get_mode +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f1899f1 up +EXPORT_SYMBOL vmlinux 0x3f324b19 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f47661b kill_anon_super +EXPORT_SYMBOL vmlinux 0x3f65b542 genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x3f758644 fasync_helper +EXPORT_SYMBOL vmlinux 0x3f7940cf scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0x3fb30d38 journal_errno +EXPORT_SYMBOL vmlinux 0x3fb6ec83 open_exec +EXPORT_SYMBOL vmlinux 0x3fc6a574 netdev_features_change +EXPORT_SYMBOL vmlinux 0x3fe6243a nonseekable_open +EXPORT_SYMBOL vmlinux 0x3fec048f sg_next +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x4007fbc8 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0x40186f60 bio_sector_offset +EXPORT_SYMBOL vmlinux 0x4022ed85 free_buffer_head +EXPORT_SYMBOL vmlinux 0x402502e4 bdi_register_dev +EXPORT_SYMBOL vmlinux 0x4044af13 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x404d773c thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x40880723 generic_file_splice_read +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 0x40bf13ee md_integrity_register +EXPORT_SYMBOL vmlinux 0x40c89d46 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0x4101bbde param_set_copystring +EXPORT_SYMBOL vmlinux 0x4106c5b4 pci_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0x4108e69a fb_match_mode +EXPORT_SYMBOL vmlinux 0x41166725 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x412fdc76 bio_copy_kern +EXPORT_SYMBOL vmlinux 0x41344088 param_get_charp +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x4159ff9c key_task_permission +EXPORT_SYMBOL vmlinux 0x415ea29e proc_symlink +EXPORT_SYMBOL vmlinux 0x416983d9 netdev_fix_features +EXPORT_SYMBOL vmlinux 0x4185cf4b radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41a9c68d _spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x41bede52 block_write_full_page +EXPORT_SYMBOL vmlinux 0x41db88bc tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x41e6ff86 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x42139ef1 seq_printf +EXPORT_SYMBOL vmlinux 0x421687ec call_usermodehelper_pipe +EXPORT_SYMBOL vmlinux 0x42224298 sscanf +EXPORT_SYMBOL vmlinux 0x42369da0 single_open +EXPORT_SYMBOL vmlinux 0x4242e399 get_user_pages +EXPORT_SYMBOL vmlinux 0x424567b7 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x4272901e xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x4292364c schedule +EXPORT_SYMBOL vmlinux 0x4292af54 pci_find_bus +EXPORT_SYMBOL vmlinux 0x42b70bf9 blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0x42c8de35 ioremap_nocache +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4333eadb param_set_short +EXPORT_SYMBOL vmlinux 0x43385ad9 acpi_pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x434fa55c release_console_sem +EXPORT_SYMBOL vmlinux 0x435cea58 phy_stop +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x4379d034 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0x4385be3b gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x438f1819 bd_release +EXPORT_SYMBOL vmlinux 0x43a6b9f6 create_proc_entry +EXPORT_SYMBOL vmlinux 0x43aaddee register_cdrom +EXPORT_SYMBOL vmlinux 0x43ab66c3 param_array_get +EXPORT_SYMBOL vmlinux 0x43b17a3d scsi_host_get +EXPORT_SYMBOL vmlinux 0x43ca770a inet6_getname +EXPORT_SYMBOL vmlinux 0x43d927e5 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x43ea6739 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x43f0a035 pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0x44161c19 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x4416bff2 __lock_buffer +EXPORT_SYMBOL vmlinux 0x44203560 sync_inode +EXPORT_SYMBOL vmlinux 0x442b3670 ip_dev_find +EXPORT_SYMBOL vmlinux 0x44314efb radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x444779c4 nla_find +EXPORT_SYMBOL vmlinux 0x444d3e63 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x449339f3 rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0x44aaf30f tsc_khz +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44ddc10b sync_blockdev +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44f18087 seq_release_private +EXPORT_SYMBOL vmlinux 0x44f21bea idr_for_each +EXPORT_SYMBOL vmlinux 0x450d0b92 set_device_ro +EXPORT_SYMBOL vmlinux 0x450e1b99 file_permission +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x45450063 mod_timer +EXPORT_SYMBOL vmlinux 0x4550ba8a register_cpu_notifier +EXPORT_SYMBOL vmlinux 0x4575315d utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x45947727 param_array_set +EXPORT_SYMBOL vmlinux 0x459c2786 arp_broken_ops +EXPORT_SYMBOL vmlinux 0x45ba6d0d md_write_end +EXPORT_SYMBOL vmlinux 0x45d11c43 down_interruptible +EXPORT_SYMBOL vmlinux 0x45d55543 down_write +EXPORT_SYMBOL vmlinux 0x45db55aa test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x46008ef9 otg_put_transceiver +EXPORT_SYMBOL vmlinux 0x46085e4f add_timer +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x462d4e47 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x466939d2 pskb_copy +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x46708975 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x469ffb5b iget_failed +EXPORT_SYMBOL vmlinux 0x46a0c226 skb_push +EXPORT_SYMBOL vmlinux 0x46b74f80 vfs_rename +EXPORT_SYMBOL vmlinux 0x46bae416 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x46efb487 eth_type_trans +EXPORT_SYMBOL vmlinux 0x46f9ad4c alloc_etherdev_mq +EXPORT_SYMBOL vmlinux 0x4707457b wireless_spy_update +EXPORT_SYMBOL vmlinux 0x470ac8f7 pci_map_rom +EXPORT_SYMBOL vmlinux 0x472d2a9a radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x473ea676 alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x473f2721 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x475f010b acpi_purge_cached_objects +EXPORT_SYMBOL vmlinux 0x476ce545 d_validate +EXPORT_SYMBOL vmlinux 0x478d10b2 ht_destroy_irq +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x479dedd3 acpi_is_video_device +EXPORT_SYMBOL vmlinux 0x47b506ee uart_add_one_port +EXPORT_SYMBOL vmlinux 0x47e0ed82 seq_release +EXPORT_SYMBOL vmlinux 0x47fc6aec tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x481cb9ab acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x482473fc filp_open +EXPORT_SYMBOL vmlinux 0x48399775 md_done_sync +EXPORT_SYMBOL vmlinux 0x4845d8c6 thaw_process +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x485bf632 tty_vhangup +EXPORT_SYMBOL vmlinux 0x486b6407 hweight64 +EXPORT_SYMBOL vmlinux 0x48781ddc slow_work_enqueue +EXPORT_SYMBOL vmlinux 0x48cd5000 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x48d9e09e kobject_init +EXPORT_SYMBOL vmlinux 0x48f993d3 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x4903f4ba pci_dev_get +EXPORT_SYMBOL vmlinux 0x492134d2 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x49245f87 journal_extend +EXPORT_SYMBOL vmlinux 0x49260139 scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0x49439411 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x4947db81 scsi_finish_command +EXPORT_SYMBOL vmlinux 0x494ffde5 vmtruncate +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x49772ac2 rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0x4978b8df skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x4978ba5e dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x497f311d aio_put_req +EXPORT_SYMBOL vmlinux 0x498a87de ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x49b548dc pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x49c6b033 mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x49c9d49b slow_work_sleep_till_thread_needed +EXPORT_SYMBOL vmlinux 0x49da9a9a _read_unlock_bh +EXPORT_SYMBOL vmlinux 0x49e182c0 param_get_string +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a5589e5 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x4a88fab1 eth_change_mtu +EXPORT_SYMBOL vmlinux 0x4a971ec7 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x4ac004a9 iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0x4acd93d3 release_resource +EXPORT_SYMBOL vmlinux 0x4aec60d6 tty_register_device +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b07e779 _spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x4b2fac03 lookup_hash +EXPORT_SYMBOL vmlinux 0x4b34fbf5 block_all_signals +EXPORT_SYMBOL vmlinux 0x4b359cb7 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x4b8d21ee tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x4b9145a5 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x4b984a4b generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x4b9f5452 __netdev_alloc_page +EXPORT_SYMBOL vmlinux 0x4bbc3e5f pm_flags +EXPORT_SYMBOL vmlinux 0x4bca6571 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x4bcccbc3 vga_tryget +EXPORT_SYMBOL vmlinux 0x4bed707f vm_insert_page +EXPORT_SYMBOL vmlinux 0x4bfee15a atomic64_set +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c1b965c gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x4c310cf0 vmap +EXPORT_SYMBOL vmlinux 0x4ca60229 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cd03923 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x4d094db4 get_unmapped_area_prot +EXPORT_SYMBOL vmlinux 0x4d153e84 security_path_mknod +EXPORT_SYMBOL vmlinux 0x4d17f24b force_sig +EXPORT_SYMBOL vmlinux 0x4d1c8b53 journal_init_inode +EXPORT_SYMBOL vmlinux 0x4d29cac2 free_task +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d63e5f9 blkdev_get +EXPORT_SYMBOL vmlinux 0x4d80d993 blk_run_queue +EXPORT_SYMBOL vmlinux 0x4dadcaaf sk_stream_write_space +EXPORT_SYMBOL vmlinux 0x4dae2e0a blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dcfb8f9 __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x4ddacfb6 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4df3e3ea pipe_lock +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e0d9910 inet_release +EXPORT_SYMBOL vmlinux 0x4e355bba mnt_unpin +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e3bb2e2 generic_delete_inode +EXPORT_SYMBOL vmlinux 0x4e41df83 skb_under_panic +EXPORT_SYMBOL vmlinux 0x4e52d852 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e7d8242 acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0x4e81d3ed thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0x4e830a3e strnicmp +EXPORT_SYMBOL vmlinux 0x4e90f967 seq_escape +EXPORT_SYMBOL vmlinux 0x4e92daf3 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x4ea07a87 sock_rfree +EXPORT_SYMBOL vmlinux 0x4ea54a1c blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x4eb5b350 uart_update_timeout +EXPORT_SYMBOL vmlinux 0x4ebd0cdb dquot_alloc +EXPORT_SYMBOL vmlinux 0x4ec950f8 __blk_end_request +EXPORT_SYMBOL vmlinux 0x4ed8465a ip_ct_attach +EXPORT_SYMBOL vmlinux 0x4edefb61 scsi_execute_req +EXPORT_SYMBOL vmlinux 0x4ee76065 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x4ef23bc8 uart_resume_port +EXPORT_SYMBOL vmlinux 0x4ef2833a bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0x4f02dcc0 simple_release_fs +EXPORT_SYMBOL vmlinux 0x4f102d27 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f471bdd skb_pad +EXPORT_SYMBOL vmlinux 0x4f476e96 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x4f5438c1 idle_halt +EXPORT_SYMBOL vmlinux 0x4f5e95b0 vfs_quota_on +EXPORT_SYMBOL vmlinux 0x4f5ff885 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x4f783f30 acpi_read +EXPORT_SYMBOL vmlinux 0x4f9b37b7 dst_alloc +EXPORT_SYMBOL vmlinux 0x4fa3f234 page_readlink +EXPORT_SYMBOL vmlinux 0x4fcdb476 do_munmap +EXPORT_SYMBOL vmlinux 0x4fdb83e2 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4fe1dcae udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x501427e8 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x5026f029 generic_unplug_device +EXPORT_SYMBOL vmlinux 0x5059afd2 blk_register_region +EXPORT_SYMBOL vmlinux 0x506746b6 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x50862b93 netpoll_setup +EXPORT_SYMBOL vmlinux 0x50bdd470 boot_cpu_data +EXPORT_SYMBOL vmlinux 0x50f38c47 genphy_suspend +EXPORT_SYMBOL vmlinux 0x510f4a40 serio_rescan +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x511a7389 pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0x511b3347 ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0x5122d5b4 inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0x5140832b set_groups +EXPORT_SYMBOL vmlinux 0x5150108f phy_connect_direct +EXPORT_SYMBOL vmlinux 0x5152e605 memcmp +EXPORT_SYMBOL vmlinux 0x51593bcd tty_free_termios +EXPORT_SYMBOL vmlinux 0x517ec755 dcache_dir_close +EXPORT_SYMBOL vmlinux 0x51812be3 pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0x5186518f profile_pc +EXPORT_SYMBOL vmlinux 0x51866532 bio_endio +EXPORT_SYMBOL vmlinux 0x5187ac4b xen_store_evtchn +EXPORT_SYMBOL vmlinux 0x51b1c477 generic_block_bmap +EXPORT_SYMBOL vmlinux 0x51c6173d llc_set_station_handler +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51d58c73 kill_fasync +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 0x52071287 input_register_handler +EXPORT_SYMBOL vmlinux 0x52095e19 acpi_get_data +EXPORT_SYMBOL vmlinux 0x523119e4 netif_device_attach +EXPORT_SYMBOL vmlinux 0x5233402b copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x527044e4 submit_bh +EXPORT_SYMBOL vmlinux 0x5271ddea dev_mc_add +EXPORT_SYMBOL vmlinux 0x52760ca9 getnstimeofday +EXPORT_SYMBOL vmlinux 0x527c23e4 names_cachep +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x528d348d generic_writepages +EXPORT_SYMBOL vmlinux 0x52a54b94 tc_classify_compat +EXPORT_SYMBOL vmlinux 0x52a58c24 ifla_policy +EXPORT_SYMBOL vmlinux 0x52af6c0c scsi_get_command +EXPORT_SYMBOL vmlinux 0x52affa63 vfs_quota_enable +EXPORT_SYMBOL vmlinux 0x52c1e4c3 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x52cc7ba8 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL vmlinux 0x52ebb126 param_get_ushort +EXPORT_SYMBOL vmlinux 0x530b1e4c rdmsr_on_cpus +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x531b604e __virt_addr_valid +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x533c8c53 prepare_creds +EXPORT_SYMBOL vmlinux 0x5348f621 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x534e73df kernel_getpeername +EXPORT_SYMBOL vmlinux 0x535f52e9 dquot_release +EXPORT_SYMBOL vmlinux 0x5371e154 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x5377a0c5 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x5379e511 elv_queue_empty +EXPORT_SYMBOL vmlinux 0x53818c79 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x53883165 console_start +EXPORT_SYMBOL vmlinux 0x539856e1 load_nls +EXPORT_SYMBOL vmlinux 0x53b2e76d journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x53bc83bb generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0x53c0767c sk_chk_filter +EXPORT_SYMBOL vmlinux 0x5414676b mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x541dfef4 atomic64_inc +EXPORT_SYMBOL vmlinux 0x54290dc9 nla_validate +EXPORT_SYMBOL vmlinux 0x542c25f2 fsync_bdev +EXPORT_SYMBOL vmlinux 0x543b2fc1 register_key_type +EXPORT_SYMBOL vmlinux 0x544b3e87 isapnp_protocol +EXPORT_SYMBOL vmlinux 0x544e1631 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x54542f67 mca_device_set_name +EXPORT_SYMBOL vmlinux 0x545a9c13 fd_install +EXPORT_SYMBOL vmlinux 0x54935666 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0x54a6d074 atomic64_dec +EXPORT_SYMBOL vmlinux 0x54afad96 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54fe56ce serial8250_register_port +EXPORT_SYMBOL vmlinux 0x550ebe34 generic_file_open +EXPORT_SYMBOL vmlinux 0x552f6336 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x5530f862 fb_validate_mode +EXPORT_SYMBOL vmlinux 0x55619ade bdevname +EXPORT_SYMBOL vmlinux 0x55733126 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x557603cb rfkill_destroy +EXPORT_SYMBOL vmlinux 0x557753eb dm_io_client_resize +EXPORT_SYMBOL vmlinux 0x559411d3 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55ab3bad dev_get_flags +EXPORT_SYMBOL vmlinux 0x55b3133e dma_release_from_coherent +EXPORT_SYMBOL vmlinux 0x55c9b644 simple_transaction_set +EXPORT_SYMBOL vmlinux 0x55db80d8 napi_skb_finish +EXPORT_SYMBOL vmlinux 0x55f09610 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x55f282a3 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x5600904f fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x5603cf43 do_settimeofday +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x56471e90 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x564e31a6 dquot_transfer +EXPORT_SYMBOL vmlinux 0x566564ac mca_device_set_claim +EXPORT_SYMBOL vmlinux 0x569627cb input_register_handle +EXPORT_SYMBOL vmlinux 0x569cf80f hippi_mac_addr +EXPORT_SYMBOL vmlinux 0x56ab2fe2 bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56df5a59 mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0x56f494e0 smp_call_function +EXPORT_SYMBOL vmlinux 0x5705088a __vmalloc +EXPORT_SYMBOL vmlinux 0x5719cf4e sk_wait_data +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x5750f00e cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57810956 ppp_input_error +EXPORT_SYMBOL vmlinux 0x57810ce9 bdi_init +EXPORT_SYMBOL vmlinux 0x579fbcd2 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x57a6504e vsnprintf +EXPORT_SYMBOL vmlinux 0x57adf756 per_cpu__this_cpu_off +EXPORT_SYMBOL vmlinux 0x57b57ebe jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0x57d67662 dma_mark_declared_memory_occupied +EXPORT_SYMBOL vmlinux 0x57db7242 mangle_path +EXPORT_SYMBOL vmlinux 0x57def324 nla_append +EXPORT_SYMBOL vmlinux 0x57f4e037 neigh_create +EXPORT_SYMBOL vmlinux 0x5808d194 acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0x58094048 generic_fillattr +EXPORT_SYMBOL vmlinux 0x58111cf0 scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0x5838ad9b xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x583ff8cc pci_match_id +EXPORT_SYMBOL vmlinux 0x58401d3a neigh_seq_start +EXPORT_SYMBOL vmlinux 0x58424ed3 skb_find_text +EXPORT_SYMBOL vmlinux 0x584738f9 rdmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x5857e434 groups_free +EXPORT_SYMBOL vmlinux 0x5859b1a7 seq_bitmap +EXPORT_SYMBOL vmlinux 0x588a0cd7 blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x58abc1d3 unregister_snap_client +EXPORT_SYMBOL vmlinux 0x58b98294 deny_write_access +EXPORT_SYMBOL vmlinux 0x58c1af5a bio_split +EXPORT_SYMBOL vmlinux 0x58cbcdda pci_request_region +EXPORT_SYMBOL vmlinux 0x58ebee6f loop_register_transfer +EXPORT_SYMBOL vmlinux 0x58fef6f8 ist_info +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x593cda08 tcp_connect +EXPORT_SYMBOL vmlinux 0x594b6ade init_buffer +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x59500449 inet6_ioctl +EXPORT_SYMBOL vmlinux 0x598dcf97 vfs_quota_off +EXPORT_SYMBOL vmlinux 0x59bc9609 acpi_write_bit_register +EXPORT_SYMBOL vmlinux 0x59bdcd55 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x59bf515a pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x59c66fc5 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x5a1833c3 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x5a4896a8 __put_user_2 +EXPORT_SYMBOL vmlinux 0x5a57d155 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x5a606e16 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x5a60f2e4 vlan_gro_frags +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5a7c1da3 generic_setlease +EXPORT_SYMBOL vmlinux 0x5a995532 pci_remove_bus +EXPORT_SYMBOL vmlinux 0x5ac376a5 acpi_install_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x5ad55d70 fb_set_var +EXPORT_SYMBOL vmlinux 0x5ae4b113 __scsi_put_command +EXPORT_SYMBOL vmlinux 0x5af70678 cont_write_begin +EXPORT_SYMBOL vmlinux 0x5b19634d div_s64_rem +EXPORT_SYMBOL vmlinux 0x5b314324 __serio_register_port +EXPORT_SYMBOL vmlinux 0x5b51c6a7 acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x5b56a693 flush_old_exec +EXPORT_SYMBOL vmlinux 0x5b7231a1 bio_map_user +EXPORT_SYMBOL vmlinux 0x5b82740e inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x5bccdd1f acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0x5bd88183 set_pages_array_wb +EXPORT_SYMBOL vmlinux 0x5bec4e1c scsi_remove_host +EXPORT_SYMBOL vmlinux 0x5bfaf9ff generic_getxattr +EXPORT_SYMBOL vmlinux 0x5c0a2c8b kill_block_super +EXPORT_SYMBOL vmlinux 0x5c3b4b16 kmem_cache_name +EXPORT_SYMBOL vmlinux 0x5c4570d2 input_set_keycode +EXPORT_SYMBOL vmlinux 0x5c68705b mca_read_pos +EXPORT_SYMBOL vmlinux 0x5c8cf327 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x5c9b89af nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x5cbab0f0 security_path_link +EXPORT_SYMBOL vmlinux 0x5cc6e44a jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x5cdcba9c dm_exception_store_type_register +EXPORT_SYMBOL vmlinux 0x5cf6efa7 set_pages_uc +EXPORT_SYMBOL vmlinux 0x5cf9dd00 spi_dv_device +EXPORT_SYMBOL vmlinux 0x5d12b3fc twl4030_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x5d206ee1 ethtool_op_set_tx_hw_csum +EXPORT_SYMBOL vmlinux 0x5d4d0967 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x5d6a4ad0 pci_fixup_device +EXPORT_SYMBOL vmlinux 0x5d74dbcf pnp_range_reserved +EXPORT_SYMBOL vmlinux 0x5dc4aabd kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x5deb9c9f tcf_hash_search +EXPORT_SYMBOL vmlinux 0x5e1a3b72 neigh_lookup +EXPORT_SYMBOL vmlinux 0x5e38d2b9 pci_iounmap +EXPORT_SYMBOL vmlinux 0x5e49cf45 seq_lseek +EXPORT_SYMBOL vmlinux 0x5e51f8a0 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x5e679e02 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea520c5 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x5ebc6d6c abort_creds +EXPORT_SYMBOL vmlinux 0x5ec5f5ae vfs_dq_drop +EXPORT_SYMBOL vmlinux 0x5ece1c92 find_get_page +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5edc9fa0 pci_set_mwi +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5ee48513 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0x5ee4ad07 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x5f0d0c4f pv_cpu_ops +EXPORT_SYMBOL vmlinux 0x5f1bd579 mca_find_adapter +EXPORT_SYMBOL vmlinux 0x5f3aaf09 ethtool_op_set_tx_csum +EXPORT_SYMBOL vmlinux 0x5f56db66 per_cpu__ftrace_event_seq +EXPORT_SYMBOL vmlinux 0x5f58a09f register_gifconf +EXPORT_SYMBOL vmlinux 0x5f5a2ae2 dev_alloc_skb +EXPORT_SYMBOL vmlinux 0x5f67b6cb acpi_unlock_battery_dir +EXPORT_SYMBOL vmlinux 0x5f6fc8cc tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x5f896c5b iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x5fc68cb6 cad_pid +EXPORT_SYMBOL vmlinux 0x5fcfef8e tcf_action_exec +EXPORT_SYMBOL vmlinux 0x5ff42b08 acpi_video_get_capabilities +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x60096fb9 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x6009cf24 journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x601772c7 vfs_getattr +EXPORT_SYMBOL vmlinux 0x602ed00d acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0x6038f9bc follow_down +EXPORT_SYMBOL vmlinux 0x6043092c atomic64_dec_and_test +EXPORT_SYMBOL vmlinux 0x608ad9df __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x609f932a __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x60a0ebad __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60a4e61a unlock_super +EXPORT_SYMBOL vmlinux 0x60f0bdf3 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x60f5b5ae pnp_find_dev +EXPORT_SYMBOL vmlinux 0x610fcbfe bitmap_unplug +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x6150aded neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x618d8299 set_notify_swap_entry_free +EXPORT_SYMBOL vmlinux 0x61b3bce9 d_move +EXPORT_SYMBOL vmlinux 0x61b4fc79 tcp_proc_register +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61c58df6 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x61c78197 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x61d00906 generic_write_checks +EXPORT_SYMBOL vmlinux 0x61f0ac11 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x62049256 acpi_disable +EXPORT_SYMBOL vmlinux 0x62113dba jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x6237f6b5 acpi_enable_event +EXPORT_SYMBOL vmlinux 0x6241a2ab __copy_from_user_ll_nocache +EXPORT_SYMBOL vmlinux 0x6241fd2c acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0x62624f87 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x626a705d skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x62a3f7c1 udp_proc_unregister +EXPORT_SYMBOL vmlinux 0x62a585be simple_link +EXPORT_SYMBOL vmlinux 0x62d22431 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x63019288 journal_start_commit +EXPORT_SYMBOL vmlinux 0x6307fc98 del_timer +EXPORT_SYMBOL vmlinux 0x633a87e8 scsi_unregister +EXPORT_SYMBOL vmlinux 0x63419b3d mpage_readpage +EXPORT_SYMBOL vmlinux 0x634f0143 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x636a5691 acpi_register_ioapic +EXPORT_SYMBOL vmlinux 0x63ad9157 phy_enable_interrupts +EXPORT_SYMBOL vmlinux 0x63c18a85 tty_port_close +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63efc536 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0x63f1ca7b vfs_mknod +EXPORT_SYMBOL vmlinux 0x63f665af d_add_ci +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x640a7078 posix_acl_create_masq +EXPORT_SYMBOL vmlinux 0x642e54ac __wake_up +EXPORT_SYMBOL vmlinux 0x64331f09 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x644cf82b jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x64526a93 atomic64_sub_return +EXPORT_SYMBOL vmlinux 0x645cfa19 alloc_netdev_mq +EXPORT_SYMBOL vmlinux 0x6466a1e6 mempool_alloc +EXPORT_SYMBOL vmlinux 0x64749727 __secpath_destroy +EXPORT_SYMBOL vmlinux 0x6477ab83 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x6478134c ec_burst_enable +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64b6381b iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x64ca3465 fb_class +EXPORT_SYMBOL vmlinux 0x64eae7ad set_memory_array_wb +EXPORT_SYMBOL vmlinux 0x650756a0 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x650fb346 add_wait_queue +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65414e67 dev_valid_name +EXPORT_SYMBOL vmlinux 0x6565d33f scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x6572b364 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x65a13965 elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0x65ad1d6d igrab +EXPORT_SYMBOL vmlinux 0x65bfa6d4 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x662023a5 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x663240fe tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x66507e73 aio_complete +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x66bd096c arch_acpi_processor_init_pdc +EXPORT_SYMBOL vmlinux 0x66be63be pci_get_bus_and_slot +EXPORT_SYMBOL vmlinux 0x66e7f361 ppp_unit_number +EXPORT_SYMBOL vmlinux 0x66f98393 blk_get_request +EXPORT_SYMBOL vmlinux 0x67053080 current_kernel_time +EXPORT_SYMBOL vmlinux 0x670a5b51 proc_create_data +EXPORT_SYMBOL vmlinux 0x6729d3df __get_user_4 +EXPORT_SYMBOL vmlinux 0x67428dcf pci_get_class +EXPORT_SYMBOL vmlinux 0x6751bda1 call_usermodehelper_setkeys +EXPORT_SYMBOL vmlinux 0x67804a19 __any_online_cpu +EXPORT_SYMBOL vmlinux 0x6784ace7 xrlim_allow +EXPORT_SYMBOL vmlinux 0x678e678b security_path_rename +EXPORT_SYMBOL vmlinux 0x67b0b025 __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x67b1cafc filemap_fault +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67be047e dev_addr_del +EXPORT_SYMBOL vmlinux 0x67bf8bc3 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x67caa58c jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x68332af2 otg_set_transceiver +EXPORT_SYMBOL vmlinux 0x68338d3b scsi_init_io +EXPORT_SYMBOL vmlinux 0x68552f82 skb_unlink +EXPORT_SYMBOL vmlinux 0x68900dbb set_pages_wb +EXPORT_SYMBOL vmlinux 0x6896f648 blk_init_tags +EXPORT_SYMBOL vmlinux 0x68af1e27 setup_new_exec +EXPORT_SYMBOL vmlinux 0x68cbd85e scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x68e7f664 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x69378255 sock_create +EXPORT_SYMBOL vmlinux 0x6953e87a thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0x695f2fca bdi_unregister +EXPORT_SYMBOL vmlinux 0x69600d1c dev_set_mtu +EXPORT_SYMBOL vmlinux 0x6966d043 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x6980fe91 param_get_int +EXPORT_SYMBOL vmlinux 0x69927dff try_acquire_console_sem +EXPORT_SYMBOL vmlinux 0x69a0ca7d iowrite16be +EXPORT_SYMBOL vmlinux 0x69a15b22 scsi_add_device +EXPORT_SYMBOL vmlinux 0x69a358a6 iomem_resource +EXPORT_SYMBOL vmlinux 0x69a4286d skb_clone +EXPORT_SYMBOL vmlinux 0x69a47007 md_write_start +EXPORT_SYMBOL vmlinux 0x69a733d7 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x69ad366b dquot_release_reserved_space +EXPORT_SYMBOL vmlinux 0x69c8c1d5 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x69d2575f efi +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x69f5ee9b km_report +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a27bfce csum_partial_copy_generic +EXPORT_SYMBOL vmlinux 0x6a4666ba scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x6a47571d __set_personality +EXPORT_SYMBOL vmlinux 0x6a62c988 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a9f26c9 init_timer_key +EXPORT_SYMBOL vmlinux 0x6aa81417 skb_checksum +EXPORT_SYMBOL vmlinux 0x6ab3db94 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6ad065f4 param_set_charp +EXPORT_SYMBOL vmlinux 0x6ad5865b rfkill_alloc +EXPORT_SYMBOL vmlinux 0x6ad85887 acpi_enable_gpe +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6af029a2 km_query +EXPORT_SYMBOL vmlinux 0x6af2b90f llc_sap_close +EXPORT_SYMBOL vmlinux 0x6afa83e2 framebuffer_release +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b28395b sysctl_jiffies +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b47f64f llc_add_pack +EXPORT_SYMBOL vmlinux 0x6b5c77e2 journal_load +EXPORT_SYMBOL vmlinux 0x6b823207 mdiobus_register +EXPORT_SYMBOL vmlinux 0x6b937ffb mca_mark_as_used +EXPORT_SYMBOL vmlinux 0x6b9b88f3 sleep_on +EXPORT_SYMBOL vmlinux 0x6ba311a9 tr_type_trans +EXPORT_SYMBOL vmlinux 0x6bb45466 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0x6bb812e7 atomic64_add_return +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6bdf965f dma_find_channel +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c2e3320 strncmp +EXPORT_SYMBOL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL vmlinux 0x6c57d132 dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c78241e ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x6c8625bc jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x6c9296c3 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x6c94113b cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x6cabb962 may_umount +EXPORT_SYMBOL vmlinux 0x6cd66f45 elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0x6cdc5c6b nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6d18635b sg_miter_stop +EXPORT_SYMBOL vmlinux 0x6d19c43b pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x6d27ef64 __bitmap_empty +EXPORT_SYMBOL vmlinux 0x6d288375 radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d29e767 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d76d2e5 scsi_free_command +EXPORT_SYMBOL vmlinux 0x6d87bb56 inode_init_once +EXPORT_SYMBOL vmlinux 0x6d8c6c28 blk_insert_request +EXPORT_SYMBOL vmlinux 0x6db7cbb2 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x6dc0c24b complete_and_exit +EXPORT_SYMBOL vmlinux 0x6dc5ee28 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x6dcb53ed eisa_bus_type +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6e07a54e acpi_get_gpe_status +EXPORT_SYMBOL vmlinux 0x6e3f6c3c alloc_disk +EXPORT_SYMBOL vmlinux 0x6e5d1d9c sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e820ff7 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6eafdd11 register_netdev +EXPORT_SYMBOL vmlinux 0x6eb0fdf3 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x6f30d8d8 __nla_reserve +EXPORT_SYMBOL vmlinux 0x6f556bdb acpi_get_gpe_device +EXPORT_SYMBOL vmlinux 0x6f5e67e7 dput +EXPORT_SYMBOL vmlinux 0x6f7f6d69 iget5_locked +EXPORT_SYMBOL vmlinux 0x6f963ced inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x6fc5b091 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6feb2039 acpi_write +EXPORT_SYMBOL vmlinux 0x6fff393f time_to_tm +EXPORT_SYMBOL vmlinux 0x701d0ebd snprintf +EXPORT_SYMBOL vmlinux 0x702c7cb6 mmc_host_lazy_disable +EXPORT_SYMBOL vmlinux 0x7039ced5 journal_restart +EXPORT_SYMBOL vmlinux 0x7041a07d xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x705c798f blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x7062a6c1 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x70949a22 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x709f85df con_copy_unimap +EXPORT_SYMBOL vmlinux 0x70ab2f8d scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x70b3c0ce close_bdev_exclusive +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70d1f8f3 strncat +EXPORT_SYMBOL vmlinux 0x70d86c15 d_instantiate +EXPORT_SYMBOL vmlinux 0x70d8ab82 acpi_acquire_global_lock +EXPORT_SYMBOL vmlinux 0x70dc114f pnp_device_attach +EXPORT_SYMBOL vmlinux 0x70ff27b2 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x71048ca1 set_anon_super +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x712aa29b _spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x71356fba remove_wait_queue +EXPORT_SYMBOL vmlinux 0x71495136 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x7152bb43 blk_free_tags +EXPORT_SYMBOL vmlinux 0x71635852 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x7172deae netif_rx_ni +EXPORT_SYMBOL vmlinux 0x718247c0 alloc_trdev +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71bda479 arp_tbl +EXPORT_SYMBOL vmlinux 0x71eba064 __scm_destroy +EXPORT_SYMBOL vmlinux 0x724ca84d I_BDEV +EXPORT_SYMBOL vmlinux 0x729f7279 dm_exception_store_create +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72bc1552 genphy_resume +EXPORT_SYMBOL vmlinux 0x72bf2140 mtrr_add +EXPORT_SYMBOL vmlinux 0x72c3be87 param_set_byte +EXPORT_SYMBOL vmlinux 0x72dda130 pnp_is_active +EXPORT_SYMBOL vmlinux 0x72e930ed tcp4_gro_complete +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72fb0f7d netif_napi_del +EXPORT_SYMBOL vmlinux 0x73034088 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x731b2cc7 acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0x732e2553 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x732e53a7 arp_xmit +EXPORT_SYMBOL vmlinux 0x735a0bd5 native_io_delay +EXPORT_SYMBOL vmlinux 0x7362dd1e vfs_fstat +EXPORT_SYMBOL vmlinux 0x7381afc4 mapping_tagged +EXPORT_SYMBOL vmlinux 0x7387fac0 kunmap_high +EXPORT_SYMBOL vmlinux 0x738803e6 strnlen +EXPORT_SYMBOL vmlinux 0x7389c9a8 acpi_bus_get_power +EXPORT_SYMBOL vmlinux 0x738afb33 blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0x73a935a5 generic_show_options +EXPORT_SYMBOL vmlinux 0x73b0df48 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x73d384d8 dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0x73d8311f proc_mkdir +EXPORT_SYMBOL vmlinux 0x73e0df6c journal_start +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x73ec1d0f file_fsync +EXPORT_SYMBOL vmlinux 0x73ee4e08 wake_up_process +EXPORT_SYMBOL vmlinux 0x74084f7f unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x74085dd5 lock_may_write +EXPORT_SYMBOL vmlinux 0x740a1b95 reserve_evntsel_nmi +EXPORT_SYMBOL vmlinux 0x7413793a EISA_bus +EXPORT_SYMBOL vmlinux 0x741a246f vfs_quota_on_path +EXPORT_SYMBOL vmlinux 0x744c0c68 param_get_byte +EXPORT_SYMBOL vmlinux 0x745abc51 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x7477121d audit_log_format +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x748caf40 down +EXPORT_SYMBOL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL vmlinux 0x749ba00a f_setown +EXPORT_SYMBOL vmlinux 0x74bdb58b xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x74bfc369 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x74c38fdc icmp_send +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74e59cd6 nf_reinject +EXPORT_SYMBOL vmlinux 0x74f04b0b pcim_enable_device +EXPORT_SYMBOL vmlinux 0x74f7e8f2 bdev_read_only +EXPORT_SYMBOL vmlinux 0x75080379 generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x750852f3 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x750e7e9d locks_init_lock +EXPORT_SYMBOL vmlinux 0x75271716 save_processor_state +EXPORT_SYMBOL vmlinux 0x752c50b4 ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x7554bf38 udp_prot +EXPORT_SYMBOL vmlinux 0x756ef098 neigh_for_each +EXPORT_SYMBOL vmlinux 0x75accf3b pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x75ca33e5 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x75e093b5 d_delete +EXPORT_SYMBOL vmlinux 0x75f4f87a ppp_input +EXPORT_SYMBOL vmlinux 0x75f9f8b3 set_irq_chip +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x764bd77c request_resource +EXPORT_SYMBOL vmlinux 0x764d3570 register_sysrq_key +EXPORT_SYMBOL vmlinux 0x7653a97b uart_register_driver +EXPORT_SYMBOL vmlinux 0x7671328c __break_lease +EXPORT_SYMBOL vmlinux 0x767ddb02 set_memory_wc +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76cdc14a pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76f3f8a5 num_k8_northbridges +EXPORT_SYMBOL vmlinux 0x76fb103a misc_register +EXPORT_SYMBOL vmlinux 0x770a0036 isapnp_cfg_begin +EXPORT_SYMBOL vmlinux 0x7711bd60 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x771459e6 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x772ad241 tty_port_hangup +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x773be5e7 iput +EXPORT_SYMBOL vmlinux 0x77a108df _write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x77b61e88 put_page +EXPORT_SYMBOL vmlinux 0x77cfcfde __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x77da4236 dm_exception_store_destroy +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77fa5d1f ns_to_timespec +EXPORT_SYMBOL vmlinux 0x785ce27a n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x786cb464 alloc_disk_node +EXPORT_SYMBOL vmlinux 0x786dd666 inode_permission +EXPORT_SYMBOL vmlinux 0x788a07a9 dev_mc_delete +EXPORT_SYMBOL vmlinux 0x788b6352 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x789396c5 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x78a484c9 _read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x78abf68e __nla_put +EXPORT_SYMBOL vmlinux 0x78c3f044 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x78ca8eb7 dm_table_get_size +EXPORT_SYMBOL vmlinux 0x78cf01c2 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78ff9400 skb_queue_tail +EXPORT_SYMBOL vmlinux 0x79007d0e mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0x79068fda acpi_install_method +EXPORT_SYMBOL vmlinux 0x79269b1c kill_litter_super +EXPORT_SYMBOL vmlinux 0x792e03eb fddi_type_trans +EXPORT_SYMBOL vmlinux 0x794487ee disable_hlt +EXPORT_SYMBOL vmlinux 0x7945ad29 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x7951bd87 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x7981cf17 remove_inode_hash +EXPORT_SYMBOL vmlinux 0x7993b394 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x7998a21a __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79ad224b tasklet_kill +EXPORT_SYMBOL vmlinux 0x79d84367 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x7a107d23 dmam_release_declared_memory +EXPORT_SYMBOL vmlinux 0x7a1dc718 lro_receive_frags +EXPORT_SYMBOL vmlinux 0x7a276eda __elv_add_request +EXPORT_SYMBOL vmlinux 0x7a2a837d strict_strtol +EXPORT_SYMBOL vmlinux 0x7a2d67e4 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x7a3465a4 skb_split +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a848702 _read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x7a99ef26 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x7a9ded7c __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x7aaa1933 alloc_pci_dev +EXPORT_SYMBOL vmlinux 0x7ae3320c kernel_read +EXPORT_SYMBOL vmlinux 0x7ae3bab2 inode_change_ok +EXPORT_SYMBOL vmlinux 0x7ae5ce6f genphy_update_link +EXPORT_SYMBOL vmlinux 0x7aec9089 clear_user +EXPORT_SYMBOL vmlinux 0x7b036d7e ip_getsockopt +EXPORT_SYMBOL vmlinux 0x7b0c84c4 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0x7b134ddf acpi_get_name +EXPORT_SYMBOL vmlinux 0x7b26ecbb __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x7b328abc tty_port_init +EXPORT_SYMBOL vmlinux 0x7b4b79ed pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x7b52a859 wrmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x7b56bd05 acpi_lid_notifier_register +EXPORT_SYMBOL vmlinux 0x7b5a9fe4 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x7b734824 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x7bd508ca pnp_activate_dev +EXPORT_SYMBOL vmlinux 0x7bef77bf generic_make_request +EXPORT_SYMBOL vmlinux 0x7bf3aeab __pci_register_driver +EXPORT_SYMBOL vmlinux 0x7c11d9d4 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x7c1e2565 pipe_unlock +EXPORT_SYMBOL vmlinux 0x7c3d7a00 register_md_personality +EXPORT_SYMBOL vmlinux 0x7c4583c3 scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c61340c __release_region +EXPORT_SYMBOL vmlinux 0x7c6d72a9 dma_async_device_register +EXPORT_SYMBOL vmlinux 0x7c70ae38 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x7c862f10 dmam_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x7c8712ea i2c_master_send +EXPORT_SYMBOL vmlinux 0x7c896aa6 journal_get_create_access +EXPORT_SYMBOL vmlinux 0x7c90481d xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c90e716 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x7c930327 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x7c9babc0 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x7ca64e79 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x7caebdad unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x7cb1ae69 cpu_down +EXPORT_SYMBOL vmlinux 0x7cd37b4f get_sb_pseudo +EXPORT_SYMBOL vmlinux 0x7cd9c40d generic_setxattr +EXPORT_SYMBOL vmlinux 0x7ce2e600 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d47126f kmap +EXPORT_SYMBOL vmlinux 0x7d5cb414 current_fs_time +EXPORT_SYMBOL vmlinux 0x7d60627e posix_acl_permission +EXPORT_SYMBOL vmlinux 0x7d79334a scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x7da7b4b0 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x7dceceac capable +EXPORT_SYMBOL vmlinux 0x7de1dfa9 delayed_slow_work_enqueue +EXPORT_SYMBOL vmlinux 0x7df676b4 invalidate_inodes +EXPORT_SYMBOL vmlinux 0x7e2b23b1 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x7e32d00d bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0x7e400b1d rtc_dev_update_irq_enable_emul +EXPORT_SYMBOL vmlinux 0x7e50a2c8 udp_poll +EXPORT_SYMBOL vmlinux 0x7e59dc80 rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0x7e636d09 tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x7e68ff1a md_unregister_thread +EXPORT_SYMBOL vmlinux 0x7e879499 mdiobus_free +EXPORT_SYMBOL vmlinux 0x7e9ebb05 kernel_thread +EXPORT_SYMBOL vmlinux 0x7ecb001b __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x7ee0d0c0 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x7ee91c1d _spin_trylock +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f383fd4 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x7f5e0d0b dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x7f683e3b do_splice_from +EXPORT_SYMBOL vmlinux 0x7f9d99a2 pci_disable_device +EXPORT_SYMBOL vmlinux 0x7fb79335 sock_release +EXPORT_SYMBOL vmlinux 0x7fcab7ac per_cpu__softnet_data +EXPORT_SYMBOL vmlinux 0x7ff9b057 blk_make_request +EXPORT_SYMBOL vmlinux 0x80152999 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x80199b5e vfs_readlink +EXPORT_SYMBOL vmlinux 0x803cf5e2 devm_iounmap +EXPORT_SYMBOL vmlinux 0x803da5fc jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x804d00e7 pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0x8063f83d radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x807330e8 con_is_bound +EXPORT_SYMBOL vmlinux 0x80796080 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x80a786bc bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x80afc5a3 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x80cc776d blk_queue_max_hw_segments +EXPORT_SYMBOL vmlinux 0x80fa5e66 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x81472677 acpi_get_table +EXPORT_SYMBOL vmlinux 0x815afa09 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815c56d0 cpu_present_mask +EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page +EXPORT_SYMBOL vmlinux 0x81799cee vscnprintf +EXPORT_SYMBOL vmlinux 0x817bca17 pnp_start_dev +EXPORT_SYMBOL vmlinux 0x8182e275 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x81a7dd8b md_error +EXPORT_SYMBOL vmlinux 0x81a961fe pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x81bff0e4 dev_disable_lro +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x820d225f print_mac +EXPORT_SYMBOL vmlinux 0x820fc63c vfsmount_lock +EXPORT_SYMBOL vmlinux 0x8212721d xenbus_dev_request_and_reply +EXPORT_SYMBOL vmlinux 0x82247ad9 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x8235805b memmove +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x82692209 kref_set +EXPORT_SYMBOL vmlinux 0x826f3464 dev_unicast_unsync +EXPORT_SYMBOL vmlinux 0x827f24d3 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x8292124b simple_rename +EXPORT_SYMBOL vmlinux 0x829596dc blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82b1281f pci_request_regions +EXPORT_SYMBOL vmlinux 0x82be15b1 block_truncate_page +EXPORT_SYMBOL vmlinux 0x82c929eb tcf_hash_create +EXPORT_SYMBOL vmlinux 0x82e5672b netif_carrier_on +EXPORT_SYMBOL vmlinux 0x82e6e528 tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x82e94c26 bioset_create +EXPORT_SYMBOL vmlinux 0x82ef7c29 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x830bc79a task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x830e1171 tcf_em_register +EXPORT_SYMBOL vmlinux 0x830e547b ioremap_prot +EXPORT_SYMBOL vmlinux 0x8317e20a completion_done +EXPORT_SYMBOL vmlinux 0x832c0e8c truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x83904ad4 per_cpu__irq_regs +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83b68368 cfb_imageblit +EXPORT_SYMBOL vmlinux 0x83da36ee security_file_permission +EXPORT_SYMBOL vmlinux 0x83dbd298 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x8450f19c pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x8475dce1 journal_clear_err +EXPORT_SYMBOL vmlinux 0x8478733a bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x84a6bcf9 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x84ba9111 __register_binfmt +EXPORT_SYMBOL vmlinux 0x84c833b1 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x84cf1b95 mdiobus_write +EXPORT_SYMBOL vmlinux 0x84d778d6 vga_get +EXPORT_SYMBOL vmlinux 0x851c4703 uart_match_port +EXPORT_SYMBOL vmlinux 0x8533e9a8 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x85ac7f10 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x85df7ee9 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e7deb2 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x860e2225 redraw_screen +EXPORT_SYMBOL vmlinux 0x86188eed scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x864ce2df rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x8668715c journal_abort +EXPORT_SYMBOL vmlinux 0x8687dd2b input_allocate_device +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86ca7965 nla_reserve +EXPORT_SYMBOL vmlinux 0x86d26217 key_put +EXPORT_SYMBOL vmlinux 0x86fab072 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x8712ac8d inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x871ede2b scsi_register +EXPORT_SYMBOL vmlinux 0x8733e9a3 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x87556a1a generic_file_llseek_unlocked +EXPORT_SYMBOL vmlinux 0x876dafc3 ec_write +EXPORT_SYMBOL vmlinux 0x878a7896 install_exec_creds +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x878ea65e pci_release_region +EXPORT_SYMBOL vmlinux 0x87a4b07a __devm_release_region +EXPORT_SYMBOL vmlinux 0x87aaddf8 wrmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0x87b144b5 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x87bb1041 scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0x87c822bf tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x87f438a2 sysctl_intvec +EXPORT_SYMBOL vmlinux 0x87f6c4c2 kmap_atomic +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x8845710f bio_map_kern +EXPORT_SYMBOL vmlinux 0x884e9096 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0x8880c913 flush_signals +EXPORT_SYMBOL vmlinux 0x88a2ad6a llc_mac_hdr_init +EXPORT_SYMBOL vmlinux 0x88ac818c iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x88adf428 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x88b89fba journal_update_format +EXPORT_SYMBOL vmlinux 0x88c9e2dd simple_transaction_get +EXPORT_SYMBOL vmlinux 0x88fadbb2 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x8914c4c3 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x8914fda5 pnp_get_resource +EXPORT_SYMBOL vmlinux 0x892b26a0 set_memory_nx +EXPORT_SYMBOL vmlinux 0x8936b3a8 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x89447102 lock_may_read +EXPORT_SYMBOL vmlinux 0x894ba6d4 mmc_add_host +EXPORT_SYMBOL vmlinux 0x8969b997 ida_get_new +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x898cd8b1 mca_device_claimed +EXPORT_SYMBOL vmlinux 0x89949018 down_timeout +EXPORT_SYMBOL vmlinux 0x89d0a39d register_8022_client +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89e3487f inet_stream_ops +EXPORT_SYMBOL vmlinux 0x8a1203a9 kref_get +EXPORT_SYMBOL vmlinux 0x8a23f20f pnp_possible_config +EXPORT_SYMBOL vmlinux 0x8a2ce7f6 page_follow_link_light +EXPORT_SYMBOL vmlinux 0x8a373fd7 twl4030_i2c_write +EXPORT_SYMBOL vmlinux 0x8a3a83c2 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x8a3eabf0 __wait_on_bit +EXPORT_SYMBOL vmlinux 0x8a58e66a key_revoke +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aafa7a5 get_super +EXPORT_SYMBOL vmlinux 0x8ac44bbc __napi_complete +EXPORT_SYMBOL vmlinux 0x8ac6395b per_cpu__cpu_info +EXPORT_SYMBOL vmlinux 0x8ad34075 dev_open +EXPORT_SYMBOL vmlinux 0x8ae77528 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x8af13acc scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x8b18496f __copy_to_user_ll +EXPORT_SYMBOL vmlinux 0x8b337154 thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0x8b35e873 sg_last +EXPORT_SYMBOL vmlinux 0x8b5f4a2e IO_APIC_get_PCI_irq_vector +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b823657 cdev_add +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8bae5f84 sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x8bc18eff unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x8bc4a6c2 have_submounts +EXPORT_SYMBOL vmlinux 0x8bd313b8 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x8bd5b603 param_get_long +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c21834a journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x8c31af51 __tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x8c4fe685 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x8c54164e hippi_change_mtu +EXPORT_SYMBOL vmlinux 0x8c6df8d6 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x8c730ff7 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x8c9428cd napi_get_frags +EXPORT_SYMBOL vmlinux 0x8cbc1c4d lock_super +EXPORT_SYMBOL vmlinux 0x8cc0dfc2 neigh_ifdown +EXPORT_SYMBOL vmlinux 0x8cc6ee7e no_llseek +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8cea0392 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x8ceb9185 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x8cf66524 netlink_unicast +EXPORT_SYMBOL vmlinux 0x8d12b3e9 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x8d1cc4e7 read_cache_page +EXPORT_SYMBOL vmlinux 0x8d2e3f96 inet_frag_find +EXPORT_SYMBOL vmlinux 0x8d3894f2 _ctype +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d6f81b4 __div64_32 +EXPORT_SYMBOL vmlinux 0x8d8bc68e xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x8d8d96c6 acpi_get_sleep_type_data +EXPORT_SYMBOL vmlinux 0x8d985b2f nlmsg_notify +EXPORT_SYMBOL vmlinux 0x8d9ed690 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x8da65ae5 qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0x8dc6e564 restore_processor_state +EXPORT_SYMBOL vmlinux 0x8dca832f __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x8dd372e9 kernel_listen +EXPORT_SYMBOL vmlinux 0x8dd9c7ff scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x8de2d9e8 fb_show_logo +EXPORT_SYMBOL vmlinux 0x8e002cda acpi_remove_gpe_block +EXPORT_SYMBOL vmlinux 0x8e0637ba i8253_lock +EXPORT_SYMBOL vmlinux 0x8e0b7743 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x8e1eaf50 journal_release_buffer +EXPORT_SYMBOL vmlinux 0x8e323e9a phy_device_free +EXPORT_SYMBOL vmlinux 0x8e35e6c5 tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0x8e42e8ee scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x8e763ae1 send_remote_softirq +EXPORT_SYMBOL vmlinux 0x8e80ed65 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x8e888ec3 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x8eb686f8 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x8ee69235 timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8eedc380 input_inject_event +EXPORT_SYMBOL vmlinux 0x8eee444d d_alloc_root +EXPORT_SYMBOL vmlinux 0x8ef08c48 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x8ef726df cdrom_release +EXPORT_SYMBOL vmlinux 0x8f2703b7 wbinvd_on_all_cpus +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f6b7950 set_irq_data +EXPORT_SYMBOL vmlinux 0x8f6e811b __ip_select_ident +EXPORT_SYMBOL vmlinux 0x8f89e545 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x8f9c199c __get_user_2 +EXPORT_SYMBOL vmlinux 0x8fd3186e netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x8ff4079b pv_irq_ops +EXPORT_SYMBOL vmlinux 0x8ffdb3b8 crc16 +EXPORT_SYMBOL vmlinux 0x90035333 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x904409c6 acpi_set_firmware_waking_vector +EXPORT_SYMBOL vmlinux 0x90765072 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x9087b91a iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x90a1601f dmi_check_system +EXPORT_SYMBOL vmlinux 0x90b0c27e bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x90b5c054 phy_sanitize_settings +EXPORT_SYMBOL vmlinux 0x90d5b1ff wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0x90e3d2db blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0x90ee392b vlan_gro_receive +EXPORT_SYMBOL vmlinux 0x91009452 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x911eaad2 dev_getbyhwaddr +EXPORT_SYMBOL vmlinux 0x9130dc21 check_disk_change +EXPORT_SYMBOL vmlinux 0x9144a8e2 ec_burst_disable +EXPORT_SYMBOL vmlinux 0x91481982 __ratelimit +EXPORT_SYMBOL vmlinux 0x91607d95 set_memory_wb +EXPORT_SYMBOL vmlinux 0x9168bed1 tcp_read_sock +EXPORT_SYMBOL vmlinux 0x91766c09 param_get_ulong +EXPORT_SYMBOL vmlinux 0x917e9599 scsi_ioctl +EXPORT_SYMBOL vmlinux 0x9192f0e0 sock_no_connect +EXPORT_SYMBOL vmlinux 0x919670bd default_unplug_io_fn +EXPORT_SYMBOL vmlinux 0x91acf3f5 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x91cc6571 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x91e013a4 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x9214ed8a param_get_bool +EXPORT_SYMBOL vmlinux 0x92257986 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x923955a6 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x923f000d dm_io +EXPORT_SYMBOL vmlinux 0x9267c833 pci_clear_master +EXPORT_SYMBOL vmlinux 0x926df7fc flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x92766733 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x9285114f vfs_mkdir +EXPORT_SYMBOL vmlinux 0x92897e3d default_idle +EXPORT_SYMBOL vmlinux 0x92b30f6b __netif_schedule +EXPORT_SYMBOL vmlinux 0x92ec7e77 security_task_getsecid +EXPORT_SYMBOL vmlinux 0x92fa3c7a ipv4_specific +EXPORT_SYMBOL vmlinux 0x92fd2ed9 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x9318a7d9 kmap_atomic_prot +EXPORT_SYMBOL vmlinux 0x934d4d52 tcp_check_req +EXPORT_SYMBOL vmlinux 0x936414cf security_inode_permission +EXPORT_SYMBOL vmlinux 0x9385667d down_read_trylock +EXPORT_SYMBOL vmlinux 0x9393d35b ethtool_op_set_sg +EXPORT_SYMBOL vmlinux 0x93a1c3cd set_pages_x +EXPORT_SYMBOL vmlinux 0x93a22b77 registered_fb +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93a749b2 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x93bd0454 napi_frags_finish +EXPORT_SYMBOL vmlinux 0x93c651be acpi_info +EXPORT_SYMBOL vmlinux 0x93cbd1ec _spin_lock_bh +EXPORT_SYMBOL vmlinux 0x93d6ebd7 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x944832d6 ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x9458ed53 pci_enable_bridges +EXPORT_SYMBOL vmlinux 0x94771a7c nobh_write_end +EXPORT_SYMBOL vmlinux 0x94847b23 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x94932ccd pnp_find_card +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94a3d48a scsi_execute +EXPORT_SYMBOL vmlinux 0x94a6467e kobject_put +EXPORT_SYMBOL vmlinux 0x94b541b5 cpu_active_mask +EXPORT_SYMBOL vmlinux 0x94c313b2 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x94e61493 phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x94e6466c pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x95352ea9 acpi_check_mem_region +EXPORT_SYMBOL vmlinux 0x954310be bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x9544a4c1 phy_attach_direct +EXPORT_SYMBOL vmlinux 0x954cbb26 vsprintf +EXPORT_SYMBOL vmlinux 0x955bc02d sk_dst_check +EXPORT_SYMBOL vmlinux 0x959aafd4 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x95dd5f60 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x95ed29ea udplite_prot +EXPORT_SYMBOL vmlinux 0x961db233 neigh_update +EXPORT_SYMBOL vmlinux 0x9629486a per_cpu__cpu_number +EXPORT_SYMBOL vmlinux 0x962c5cfb textsearch_unregister +EXPORT_SYMBOL vmlinux 0x962ffb77 __lookup_one_len +EXPORT_SYMBOL vmlinux 0x96682682 register_quota_format +EXPORT_SYMBOL vmlinux 0x967e06c7 free_netdev +EXPORT_SYMBOL vmlinux 0x968347e2 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x96898769 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x96af1a48 contig_page_data +EXPORT_SYMBOL vmlinux 0x96afd6a4 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x97002dfa input_set_capability +EXPORT_SYMBOL vmlinux 0x970a811c jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x971cb541 dma_pool_free +EXPORT_SYMBOL vmlinux 0x973383b4 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x973873ab _spin_lock +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x97622d75 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x97d1f62c sock_wake_async +EXPORT_SYMBOL vmlinux 0x97de0ddd acpi_install_gpe_block +EXPORT_SYMBOL vmlinux 0x97e200eb pagecache_write_end +EXPORT_SYMBOL vmlinux 0x9802beaa take_over_console +EXPORT_SYMBOL vmlinux 0x984383a5 netlink_broadcast +EXPORT_SYMBOL vmlinux 0x986d7aa1 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x988ed85d set_memory_x +EXPORT_SYMBOL vmlinux 0x98ba3b81 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x98e60476 read_dev_sector +EXPORT_SYMBOL vmlinux 0x98ff67a7 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x99052a84 acpi_os_write_port +EXPORT_SYMBOL vmlinux 0x991e90b6 lro_vlan_hwaccel_receive_frags +EXPORT_SYMBOL vmlinux 0x994f9e2c jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x996832e8 kthread_bind +EXPORT_SYMBOL vmlinux 0x998f8721 pci_get_subsys +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x99959695 kmap_high +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99ab8235 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x99b62f3a __bio_clone +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c7a8b8 jbd2_dev_to_name +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99ea12ce panic_blink +EXPORT_SYMBOL vmlinux 0x99f358cd vfs_dq_quota_on_remount +EXPORT_SYMBOL vmlinux 0x9a0c0346 brioctl_set +EXPORT_SYMBOL vmlinux 0x9a1d8d44 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a2b62b7 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x9a55b592 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x9a6a83f9 cmos_lock +EXPORT_SYMBOL vmlinux 0x9a6d9699 dquot_free_space +EXPORT_SYMBOL vmlinux 0x9a6e75d8 dm_dirty_log_create +EXPORT_SYMBOL vmlinux 0x9a94d8a1 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x9a9985be percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x9aa6c1ac phy_device_create +EXPORT_SYMBOL vmlinux 0x9ab0b81a pnpbios_protocol +EXPORT_SYMBOL vmlinux 0x9ac5093c dquot_reserve_space +EXPORT_SYMBOL vmlinux 0x9acc6e67 generic_listxattr +EXPORT_SYMBOL vmlinux 0x9b074241 dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x9b1b99ac inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x9b2483c2 blk_end_request_all +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b4530f5 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0x9b4de8eb idr_replace +EXPORT_SYMBOL vmlinux 0x9b6eb137 ksize +EXPORT_SYMBOL vmlinux 0x9b86eadf simple_transaction_read +EXPORT_SYMBOL vmlinux 0x9b8aafc6 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x9b9c5b5a find_or_create_page +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9bd73e3a ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x9bfbe543 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x9c012508 fb_parse_edid +EXPORT_SYMBOL vmlinux 0x9c2c944a __copy_from_user_ll_nocache_nozero +EXPORT_SYMBOL vmlinux 0x9c491f60 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x9c55519d try_to_release_page +EXPORT_SYMBOL vmlinux 0x9c5c9e73 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x9c6fe5f5 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x9c7077bd enable_hlt +EXPORT_SYMBOL vmlinux 0x9c71e738 per_cpu__vm_event_states +EXPORT_SYMBOL vmlinux 0x9c720303 journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x9c7421cc netif_notify_peers +EXPORT_SYMBOL vmlinux 0x9c8a8c6f xfrm_register_type +EXPORT_SYMBOL vmlinux 0x9c8b3c2f splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x9ca915b4 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9ccb2622 finish_wait +EXPORT_SYMBOL vmlinux 0x9ccc0920 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x9ceb163c memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x9ced38aa down_trylock +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d1bd0f8 get_sb_nodev +EXPORT_SYMBOL vmlinux 0x9d209431 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x9d2a956f textsearch_register +EXPORT_SYMBOL vmlinux 0x9d33ef5e acpi_enable +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d44ab3a set_disk_ro +EXPORT_SYMBOL vmlinux 0x9d5eff0e simple_statfs +EXPORT_SYMBOL vmlinux 0x9ddd6adb qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x9e2000a7 memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x9e2e1b95 __vlan_hwaccel_rx +EXPORT_SYMBOL vmlinux 0x9e363b6b acpi_disable_gpe +EXPORT_SYMBOL vmlinux 0x9e4b3747 sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x9e64fbfe rtc_cmos_read +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ea0ad49 __sg_free_table +EXPORT_SYMBOL vmlinux 0x9ebd4c04 adjust_resource +EXPORT_SYMBOL vmlinux 0x9ec50265 tcp_v4_md5_do_add +EXPORT_SYMBOL vmlinux 0x9ecff3ec udp_sendmsg +EXPORT_SYMBOL vmlinux 0x9ed685ee iov_iter_advance +EXPORT_SYMBOL vmlinux 0x9eecde16 do_brk +EXPORT_SYMBOL vmlinux 0x9f23f137 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x9f275a14 ethtool_op_set_tso +EXPORT_SYMBOL vmlinux 0x9f283a49 simple_sync_file +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f2d613e param_set_bool +EXPORT_SYMBOL vmlinux 0x9f424093 free_user_ns +EXPORT_SYMBOL vmlinux 0x9f856198 elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x9f92efc4 mmiotrace_printk +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9f9c0988 ht_create_irq +EXPORT_SYMBOL vmlinux 0x9fa274b4 dq_data_lock +EXPORT_SYMBOL vmlinux 0x9fb3dd30 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9fcbe39a lro_vlan_hwaccel_receive_skb +EXPORT_SYMBOL vmlinux 0x9fcfc05e alloc_fcdev +EXPORT_SYMBOL vmlinux 0xa02715a1 release_sock +EXPORT_SYMBOL vmlinux 0xa03523d5 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xa04751a8 __mutex_init +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa0525a2c mca_unregister_driver +EXPORT_SYMBOL vmlinux 0xa0587e30 kmem_cache_create +EXPORT_SYMBOL vmlinux 0xa05badff inet_register_protosw +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa07c4cba inet_frag_evictor +EXPORT_SYMBOL vmlinux 0xa0a4ac21 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b34a20 invalidate_bdev +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0e87b85 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa0fd0cd2 nf_log_register +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa11935df __kfree_skb +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa128c8c9 unregister_quota_format +EXPORT_SYMBOL vmlinux 0xa13798f8 printk_ratelimit +EXPORT_SYMBOL vmlinux 0xa15f7791 sock_get_timestampns +EXPORT_SYMBOL vmlinux 0xa172ab15 bdget +EXPORT_SYMBOL vmlinux 0xa172bcc5 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xa172c676 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1c7d807 llc_build_and_send_ui_pkt +EXPORT_SYMBOL vmlinux 0xa1ca42b0 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0xa1d86b8f pnp_request_card_device +EXPORT_SYMBOL vmlinux 0xa2030322 d_alloc +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa2125c96 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0xa214182f mpage_writepage +EXPORT_SYMBOL vmlinux 0xa234eefe dev_get_by_flags +EXPORT_SYMBOL vmlinux 0xa27d0c86 slow_work_cancel +EXPORT_SYMBOL vmlinux 0xa296e391 user_path_at +EXPORT_SYMBOL vmlinux 0xa29b1708 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0xa2a1e5c9 _write_lock_bh +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2ae9f4c serio_unregister_port +EXPORT_SYMBOL vmlinux 0xa2b8a2ba __init_rwsem +EXPORT_SYMBOL vmlinux 0xa2e1de19 init_file +EXPORT_SYMBOL vmlinux 0xa2e3fde7 skb_seq_read +EXPORT_SYMBOL vmlinux 0xa315d121 __locks_copy_lock +EXPORT_SYMBOL vmlinux 0xa328f052 skb_gso_segment +EXPORT_SYMBOL vmlinux 0xa329f07e register_shrinker +EXPORT_SYMBOL vmlinux 0xa330b231 sock_i_uid +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa34444bb tty_register_ldisc +EXPORT_SYMBOL vmlinux 0xa34c1e25 module_refcount +EXPORT_SYMBOL vmlinux 0xa34f1ef5 crc32_le +EXPORT_SYMBOL vmlinux 0xa350a8f8 set_memory_array_uc +EXPORT_SYMBOL vmlinux 0xa35c1f05 acpi_extract_package +EXPORT_SYMBOL vmlinux 0xa35d4743 mmc_free_host +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa36e4b20 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0xa380f284 bdput +EXPORT_SYMBOL vmlinux 0xa3a773bc netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0xa3bbcd80 acpi_set_gpe_type +EXPORT_SYMBOL vmlinux 0xa3bc3e90 cpu_sysdev_class +EXPORT_SYMBOL vmlinux 0xa3cd4840 d_splice_alias +EXPORT_SYMBOL vmlinux 0xa415b384 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0xa41c08d4 dma_release_declared_memory +EXPORT_SYMBOL vmlinux 0xa4377d70 filp_close +EXPORT_SYMBOL vmlinux 0xa43b9539 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa43e7848 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0xa441cf11 vfs_write +EXPORT_SYMBOL vmlinux 0xa4470e20 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0xa44ad274 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xa45df4ee rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0xa46c94c0 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0xa4753325 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xa4b3500c acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4d9e6c2 key_payload_reserve +EXPORT_SYMBOL vmlinux 0xa51cdfe8 __FIXADDR_TOP +EXPORT_SYMBOL vmlinux 0xa5699e63 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0xa56f1315 mempool_free +EXPORT_SYMBOL vmlinux 0xa575179c vfs_quota_disable +EXPORT_SYMBOL vmlinux 0xa57b5528 netif_napi_add +EXPORT_SYMBOL vmlinux 0xa5808bbf tasklet_init +EXPORT_SYMBOL vmlinux 0xa58b6804 nla_parse +EXPORT_SYMBOL vmlinux 0xa58cf978 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xa591199d mca_device_transform_ioport +EXPORT_SYMBOL vmlinux 0xa5922bb1 kfifo_init +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5bbb17e proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0xa5da0abd acpi_enter_sleep_state_s4bios +EXPORT_SYMBOL vmlinux 0xa62ea9c6 sock_wmalloc +EXPORT_SYMBOL vmlinux 0xa63d85ab slhc_remember +EXPORT_SYMBOL vmlinux 0xa65ad351 handle_sysrq +EXPORT_SYMBOL vmlinux 0xa668f2ce netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xa68124fa hweight8 +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa68e2997 skb_over_panic +EXPORT_SYMBOL vmlinux 0xa6d3d2ed simple_empty +EXPORT_SYMBOL vmlinux 0xa6d70338 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa7019e91 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0xa7046549 vprintk +EXPORT_SYMBOL vmlinux 0xa70fabbe release_evntsel_nmi +EXPORT_SYMBOL vmlinux 0xa71e7463 __first_cpu +EXPORT_SYMBOL vmlinux 0xa7225d3f pci_target_state +EXPORT_SYMBOL vmlinux 0xa751f9ed mdio_bus_type +EXPORT_SYMBOL vmlinux 0xa78d7453 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0xa7a14f53 is_container_init +EXPORT_SYMBOL vmlinux 0xa7a1f7f8 scsi_allocate_command +EXPORT_SYMBOL vmlinux 0xa7bf3390 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0xa7c8109a __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xa818656e neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0xa82a3692 rfkill_register +EXPORT_SYMBOL vmlinux 0xa82bb751 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0xa82e7883 keyring_search +EXPORT_SYMBOL vmlinux 0xa85caaf9 pci_dev_driver +EXPORT_SYMBOL vmlinux 0xa89acbb3 acpi_evaluate_reference +EXPORT_SYMBOL vmlinux 0xa8a6f639 __check_region +EXPORT_SYMBOL vmlinux 0xa8b1194b __register_chrdev +EXPORT_SYMBOL vmlinux 0xa8d22a7d set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0xa8d68abd acpi_warning +EXPORT_SYMBOL vmlinux 0xa8dff2a3 lock_sock_nested +EXPORT_SYMBOL vmlinux 0xa8e0d11f pci_scan_bridge +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa91b5561 acpi_video_backlight_support +EXPORT_SYMBOL vmlinux 0xa91e3e23 arch_acpi_processor_cleanup_pdc +EXPORT_SYMBOL vmlinux 0xa933bada d_alloc_name +EXPORT_SYMBOL vmlinux 0xa9ab10a5 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0xa9b053bd backlight_device_register +EXPORT_SYMBOL vmlinux 0xa9c677fe set_pages_nx +EXPORT_SYMBOL vmlinux 0xa9fcf31d wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0xaa15d02e mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0xaa2a8e48 mmc_register_driver +EXPORT_SYMBOL vmlinux 0xaa3e5628 dquot_commit +EXPORT_SYMBOL vmlinux 0xaa631506 simple_transaction_release +EXPORT_SYMBOL vmlinux 0xaa84a8ae acpi_processor_power_init_bm_check +EXPORT_SYMBOL vmlinux 0xaa8f315b nf_register_hooks +EXPORT_SYMBOL vmlinux 0xaa9e7446 key_type_keyring +EXPORT_SYMBOL vmlinux 0xaaa533cf __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xaab06af8 _write_lock_irqsave +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaaebe34f mca_write_pos +EXPORT_SYMBOL vmlinux 0xaaf45875 acpi_lid_notifier_unregister +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab09039f tty_devnum +EXPORT_SYMBOL vmlinux 0xab3481e7 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab65ed80 set_memory_uc +EXPORT_SYMBOL vmlinux 0xab73fcf6 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0xab770678 rdmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0xaba66cde jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xaba9ff34 allocate_resource +EXPORT_SYMBOL vmlinux 0xabb09610 poll_initwait +EXPORT_SYMBOL vmlinux 0xabb9406d cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabf3af17 request_key_async +EXPORT_SYMBOL vmlinux 0xabf7a847 slow_work_unregister_user +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac1eed29 kernel_connect +EXPORT_SYMBOL vmlinux 0xac57fa34 console_stop +EXPORT_SYMBOL vmlinux 0xac58ea5e acpi_unload_table_id +EXPORT_SYMBOL vmlinux 0xac5ee7cf bio_kmalloc +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac930809 generic_permission +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xaccb132f acpi_lock_battery_dir +EXPORT_SYMBOL vmlinux 0xacce32d8 vfs_read +EXPORT_SYMBOL vmlinux 0xacdeb154 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad03904c inet_listen +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad07fe39 path_lookup +EXPORT_SYMBOL vmlinux 0xad13c689 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xad23ded8 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0xad3f4a83 sock_setsockopt +EXPORT_SYMBOL vmlinux 0xad4ca104 bitmap_startwrite +EXPORT_SYMBOL vmlinux 0xad57ae36 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0xad64d133 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0xad68eda5 eisa_driver_unregister +EXPORT_SYMBOL vmlinux 0xad6a2ac8 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0xad6e5da1 fb_pan_display +EXPORT_SYMBOL vmlinux 0xad81cae6 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0xad9ddcd7 acpi_root_dir +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadbd9d6a tty_unregister_device +EXPORT_SYMBOL vmlinux 0xaddc4adf security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0xaddeaef4 journal_check_used_features +EXPORT_SYMBOL vmlinux 0xadef1800 llc_sap_find +EXPORT_SYMBOL vmlinux 0xadfdd5e1 ndisc_send_skb +EXPORT_SYMBOL vmlinux 0xae1d15c8 pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0xae6b8eff init_task +EXPORT_SYMBOL vmlinux 0xae70fbf6 register_snap_client +EXPORT_SYMBOL vmlinux 0xae731be0 ip6_route_output +EXPORT_SYMBOL vmlinux 0xae75f004 ida_destroy +EXPORT_SYMBOL vmlinux 0xae7c7e3a skb_tx_hash +EXPORT_SYMBOL vmlinux 0xae7dd2a2 __invalidate_device +EXPORT_SYMBOL vmlinux 0xae8c2827 devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0xae923935 blk_stop_queue +EXPORT_SYMBOL vmlinux 0xae993973 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0xaeb6c36a neigh_connected_output +EXPORT_SYMBOL vmlinux 0xaec655c7 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0xaed013b9 posix_acl_valid +EXPORT_SYMBOL vmlinux 0xaed688d9 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xaefb2c14 follow_pfn +EXPORT_SYMBOL vmlinux 0xaefd2fb7 pneigh_lookup +EXPORT_SYMBOL vmlinux 0xaefff6e0 deactivate_super +EXPORT_SYMBOL vmlinux 0xaf0b8781 bio_integrity_advance +EXPORT_SYMBOL vmlinux 0xaf0b984e free_mdio_bitbang +EXPORT_SYMBOL vmlinux 0xaf186e56 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xaf2d7f87 blk_end_request +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf4b1540 acpi_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0xaf57e11e textsearch_destroy +EXPORT_SYMBOL vmlinux 0xafb65c26 vfs_get_dqblk +EXPORT_SYMBOL vmlinux 0xafdfe1bf simple_dir_operations +EXPORT_SYMBOL vmlinux 0xafe36015 mca_device_read_stored_pos +EXPORT_SYMBOL vmlinux 0xafe5e442 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0xb03ab2c0 fb_is_primary_device +EXPORT_SYMBOL vmlinux 0xb0506f4b fb_blank +EXPORT_SYMBOL vmlinux 0xb06d95d7 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xb077ef32 acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0xb07de451 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xb07dfb3d acpi_remove_gpe_handler +EXPORT_SYMBOL vmlinux 0xb08c5f19 pci_assign_resource +EXPORT_SYMBOL vmlinux 0xb08f76ad gen_pool_free +EXPORT_SYMBOL vmlinux 0xb0b291b7 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0d90077 vfs_create +EXPORT_SYMBOL vmlinux 0xb0dec233 skb_dma_map +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb128548b bd_claim +EXPORT_SYMBOL vmlinux 0xb1645a2e sg_free_table +EXPORT_SYMBOL vmlinux 0xb1846542 may_umount_tree +EXPORT_SYMBOL vmlinux 0xb18d0b74 scsi_host_put +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1ac9283 elv_rb_del +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1cd8fa5 path_get +EXPORT_SYMBOL vmlinux 0xb1cfad22 rdmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xb1f1960e log_wait_commit +EXPORT_SYMBOL vmlinux 0xb1f47917 ethtool_op_set_ufo +EXPORT_SYMBOL vmlinux 0xb1f975aa unlock_kernel +EXPORT_SYMBOL vmlinux 0xb200405a nf_ct_attach +EXPORT_SYMBOL vmlinux 0xb2122799 sk_stream_error +EXPORT_SYMBOL vmlinux 0xb215c732 dump_trace +EXPORT_SYMBOL vmlinux 0xb219d56c wbinvd_on_cpu +EXPORT_SYMBOL vmlinux 0xb224fbe2 param_get_short +EXPORT_SYMBOL vmlinux 0xb2253c28 __put_cred +EXPORT_SYMBOL vmlinux 0xb22fe6a3 netdev_increment_features +EXPORT_SYMBOL vmlinux 0xb23807ab filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0xb254fb21 create_mnt_ns +EXPORT_SYMBOL vmlinux 0xb2600bcb security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xb2629b7a security_inode_readlink +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb272fd2a proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xb27510ef atomic64_inc_return +EXPORT_SYMBOL vmlinux 0xb279da12 pv_lock_ops +EXPORT_SYMBOL vmlinux 0xb27f206a vfs_quota_on_mount +EXPORT_SYMBOL vmlinux 0xb2955d74 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0xb29bc8bd idr_remove +EXPORT_SYMBOL vmlinux 0xb2af5392 acpi_device_hid +EXPORT_SYMBOL vmlinux 0xb2af6d33 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xb2c33749 pci_restore_state +EXPORT_SYMBOL vmlinux 0xb2d58e6c eth_header +EXPORT_SYMBOL vmlinux 0xb2d6b769 pci_reenable_device +EXPORT_SYMBOL vmlinux 0xb2d7f781 ____pagevec_lru_add +EXPORT_SYMBOL vmlinux 0xb2ecd490 pci_pme_capable +EXPORT_SYMBOL vmlinux 0xb2efb6be mca_read_stored_pos +EXPORT_SYMBOL vmlinux 0xb2fd5ceb __put_user_4 +EXPORT_SYMBOL vmlinux 0xb30abf8d idr_get_new_above +EXPORT_SYMBOL vmlinux 0xb3194089 pci_do_scan_bus +EXPORT_SYMBOL vmlinux 0xb3205415 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0xb3206da5 dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0xb324ce9a input_filter_device +EXPORT_SYMBOL vmlinux 0xb32554ef ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xb3284531 acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xb34d4c2e acpi_terminate +EXPORT_SYMBOL vmlinux 0xb34ea0e7 do_splice_to +EXPORT_SYMBOL vmlinux 0xb34ee473 sock_create_kern +EXPORT_SYMBOL vmlinux 0xb352177e find_first_bit +EXPORT_SYMBOL vmlinux 0xb376d79d radix_tree_tagged +EXPORT_SYMBOL vmlinux 0xb37fb214 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0xb382de5c scsi_prep_fn +EXPORT_SYMBOL vmlinux 0xb3994c7a per_cpu__kstat +EXPORT_SYMBOL vmlinux 0xb3a307c6 si_meminfo +EXPORT_SYMBOL vmlinux 0xb3c42c94 per_cpu__x86_bios_cpu_apicid +EXPORT_SYMBOL vmlinux 0xb3e0590d acpi_set_current_resources +EXPORT_SYMBOL vmlinux 0xb3e6f7e9 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb42453d3 param_get_invbool +EXPORT_SYMBOL vmlinux 0xb4279ab7 downgrade_write +EXPORT_SYMBOL vmlinux 0xb4390f9a mcount +EXPORT_SYMBOL vmlinux 0xb449735a security_d_instantiate +EXPORT_SYMBOL vmlinux 0xb4527407 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0xb45578b8 memscan +EXPORT_SYMBOL vmlinux 0xb45b24f6 k8_nb_ids +EXPORT_SYMBOL vmlinux 0xb46d50eb mutex_lock_killable +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb4835530 journal_set_features +EXPORT_SYMBOL vmlinux 0xb48a93e0 tcp_ioctl +EXPORT_SYMBOL vmlinux 0xb4b0ee4e down_read +EXPORT_SYMBOL vmlinux 0xb4be2259 sget +EXPORT_SYMBOL vmlinux 0xb4c2205e kmalloc_caches +EXPORT_SYMBOL vmlinux 0xb4c86ef0 revalidate_disk +EXPORT_SYMBOL vmlinux 0xb4ca9447 __kfifo_get +EXPORT_SYMBOL vmlinux 0xb4d8b768 inet_shutdown +EXPORT_SYMBOL vmlinux 0xb5044271 vsscanf +EXPORT_SYMBOL vmlinux 0xb51bdc26 skb_dma_unmap +EXPORT_SYMBOL vmlinux 0xb52153a4 i2c_transfer +EXPORT_SYMBOL vmlinux 0xb5265543 journal_destroy +EXPORT_SYMBOL vmlinux 0xb53ac78e inet_select_addr +EXPORT_SYMBOL vmlinux 0xb5418861 atomic64_add +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb54b5040 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0xb56483df pci_set_consistent_dma_mask +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aadf81 skb_store_bits +EXPORT_SYMBOL vmlinux 0xb5ca1c46 slhc_free +EXPORT_SYMBOL vmlinux 0xb5d52c27 ec_transaction +EXPORT_SYMBOL vmlinux 0xb6244511 sg_init_one +EXPORT_SYMBOL vmlinux 0xb6353555 per_cpu__x86_cpu_to_apicid +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb6896671 crc_t10dif +EXPORT_SYMBOL vmlinux 0xb699397c napi_gro_receive +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6a8097f mutex_unlock +EXPORT_SYMBOL vmlinux 0xb6b2f3b6 dm_table_event +EXPORT_SYMBOL vmlinux 0xb6bffb99 kstat_irqs_cpu +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6d1f05c inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xb6dcd159 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xb6e227aa rtc_lock +EXPORT_SYMBOL vmlinux 0xb6ed1e53 strncpy +EXPORT_SYMBOL vmlinux 0xb6ef9a9e tty_register_driver +EXPORT_SYMBOL vmlinux 0xb7049f02 mdiobus_alloc +EXPORT_SYMBOL vmlinux 0xb714b0d6 blk_init_queue +EXPORT_SYMBOL vmlinux 0xb7231707 sk_receive_skb +EXPORT_SYMBOL vmlinux 0xb72397d5 printk +EXPORT_SYMBOL vmlinux 0xb74a704b journal_stop +EXPORT_SYMBOL vmlinux 0xb7536188 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0xb758b225 acpi_disable_event +EXPORT_SYMBOL vmlinux 0xb75e3206 pci_write_vpd +EXPORT_SYMBOL vmlinux 0xb75fe237 kthread_stop +EXPORT_SYMBOL vmlinux 0xb7755c10 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0xb798b8e4 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0xb799dc7e simple_set_mnt +EXPORT_SYMBOL vmlinux 0xb79a5ca8 find_get_pages_tag +EXPORT_SYMBOL vmlinux 0xb7b61546 crc32_be +EXPORT_SYMBOL vmlinux 0xb7cb02ad xfrm_state_update +EXPORT_SYMBOL vmlinux 0xb7ccb3c7 twl4030_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xb7e966ff __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0xb7f3323d hippi_neigh_setup_dev +EXPORT_SYMBOL vmlinux 0xb80c33f9 del_gendisk +EXPORT_SYMBOL vmlinux 0xb8138585 key_link +EXPORT_SYMBOL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL vmlinux 0xb82a15d4 skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0xb82b742a cdrom_ioctl +EXPORT_SYMBOL vmlinux 0xb82f2acb __mmc_claim_host +EXPORT_SYMBOL vmlinux 0xb84ed32f proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8d0d414 cfb_copyarea +EXPORT_SYMBOL vmlinux 0xb8e7ce2c __put_user_8 +EXPORT_SYMBOL vmlinux 0xb9045f92 spi_display_xfer_agreement +EXPORT_SYMBOL vmlinux 0xb942b513 smp_call_function_many +EXPORT_SYMBOL vmlinux 0xb9464c5c bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0xb9859903 skb_free_datagram +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb98ef804 vm_stat +EXPORT_SYMBOL vmlinux 0xb9933423 jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0xb9947b79 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0xb9aaf8fc grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xb9dda7cc ll_rw_block +EXPORT_SYMBOL vmlinux 0xb9fa307b netlink_ack +EXPORT_SYMBOL vmlinux 0xb9fd2205 add_efi_memmap +EXPORT_SYMBOL vmlinux 0xba21b830 key_validate +EXPORT_SYMBOL vmlinux 0xba22b3b7 kmap_atomic_to_page +EXPORT_SYMBOL vmlinux 0xba2d8594 ec_read +EXPORT_SYMBOL vmlinux 0xba3417e1 kmem_ptr_validate +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba4f75a3 mdiobus_read +EXPORT_SYMBOL vmlinux 0xba5ba35a single_release +EXPORT_SYMBOL vmlinux 0xba65f3a1 dm_register_target +EXPORT_SYMBOL vmlinux 0xba739a23 spi_schedule_dv_device +EXPORT_SYMBOL vmlinux 0xbaaab8ae timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xbac01695 bio_pair_release +EXPORT_SYMBOL vmlinux 0xbadf0c09 __getblk +EXPORT_SYMBOL vmlinux 0xbb167766 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb1a4d2a journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xbb32c867 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xbb379b6f vm_map_ram +EXPORT_SYMBOL vmlinux 0xbb4b55a4 dquot_acquire +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb853814 km_policy_notify +EXPORT_SYMBOL vmlinux 0xbb88803e serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xbb89de17 ida_init +EXPORT_SYMBOL vmlinux 0xbbb5a1cc mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0xbbd9b13e cdrom_mode_select +EXPORT_SYMBOL vmlinux 0xbbead8cd security_path_truncate +EXPORT_SYMBOL vmlinux 0xbbef27da bio_init +EXPORT_SYMBOL vmlinux 0xbc48a2f3 jbd2_journal_update_format +EXPORT_SYMBOL vmlinux 0xbc48c3bf set_blocksize +EXPORT_SYMBOL vmlinux 0xbc5dd728 alloc_file +EXPORT_SYMBOL vmlinux 0xbc8c14ee cap_netlink_recv +EXPORT_SYMBOL vmlinux 0xbc9fe645 log_start_commit +EXPORT_SYMBOL vmlinux 0xbca82c25 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0xbcaaa295 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbcc5ddab cdev_init +EXPORT_SYMBOL vmlinux 0xbcdc3c58 mmc_power_save_host +EXPORT_SYMBOL vmlinux 0xbcdf1719 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0xbcf113f5 simple_write_end +EXPORT_SYMBOL vmlinux 0xbd0e1ad6 rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0xbd263f70 journal_dirty_data +EXPORT_SYMBOL vmlinux 0xbd33cf97 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0xbd539144 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0xbd7c93e3 vfs_statfs +EXPORT_SYMBOL vmlinux 0xbd7d13b8 unregister_console +EXPORT_SYMBOL vmlinux 0xbda5056f dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0xbdb50170 seq_putc +EXPORT_SYMBOL vmlinux 0xbdb6500e per_cpu__cpu_core_map +EXPORT_SYMBOL vmlinux 0xbdd9aefd xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbe02fcfb dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xbe0e5118 nla_memcmp +EXPORT_SYMBOL vmlinux 0xbe1b0f55 dquot_commit_info +EXPORT_SYMBOL vmlinux 0xbe48388f dget_locked +EXPORT_SYMBOL vmlinux 0xbe4fd622 inode_set_bytes +EXPORT_SYMBOL vmlinux 0xbe7a89a9 directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0xbe905543 do_mmap_pgoff +EXPORT_SYMBOL vmlinux 0xbe9574d0 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0xbe983db8 pid_task +EXPORT_SYMBOL vmlinux 0xbec34cbd blk_queue_bounce +EXPORT_SYMBOL vmlinux 0xbed114a1 seq_read +EXPORT_SYMBOL vmlinux 0xbed2d4e4 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0xbee080b0 scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf255a7f mca_device_write_pos +EXPORT_SYMBOL vmlinux 0xbf5bc3a4 nf_hook_slow +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf806f08 mmc_card_sleep +EXPORT_SYMBOL vmlinux 0xbf8b39e9 isapnp_present +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfbc9232 find_vma +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfe0e4ed inet_add_protocol +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc003c637 __strncpy_from_user +EXPORT_SYMBOL vmlinux 0xc0044724 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xc01eed33 __copy_from_user_ll_nozero +EXPORT_SYMBOL vmlinux 0xc0265364 tty_port_close_start +EXPORT_SYMBOL vmlinux 0xc02a4028 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xc046b645 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc06314a3 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0xc0647462 nf_log_packet +EXPORT_SYMBOL vmlinux 0xc0890417 truncate_pagecache +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL vmlinux 0xc0c32e46 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xc0f65988 machine_real_restart +EXPORT_SYMBOL vmlinux 0xc1057510 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xc11d8093 iov_shorten +EXPORT_SYMBOL vmlinux 0xc1308bcc set_binfmt +EXPORT_SYMBOL vmlinux 0xc139a5c5 i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0xc153203f jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0xc17bde95 lease_modify +EXPORT_SYMBOL vmlinux 0xc17da848 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0xc18cffbc dev_remove_pack +EXPORT_SYMBOL vmlinux 0xc18d82de set_bh_page +EXPORT_SYMBOL vmlinux 0xc19c8163 atomic64_cmpxchg +EXPORT_SYMBOL vmlinux 0xc1b9a1e1 iget_locked +EXPORT_SYMBOL vmlinux 0xc1c88de8 qdisc_list_del +EXPORT_SYMBOL vmlinux 0xc1cc7060 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0xc254af48 dcache_lock +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc2619176 security_inode_init_security +EXPORT_SYMBOL vmlinux 0xc274e480 remove_proc_entry +EXPORT_SYMBOL vmlinux 0xc27d06ff clear_bdi_congested +EXPORT_SYMBOL vmlinux 0xc280a525 __copy_from_user_ll +EXPORT_SYMBOL vmlinux 0xc291723c tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xc2b2acd4 init_special_inode +EXPORT_SYMBOL vmlinux 0xc2baf7ff __inet6_hash +EXPORT_SYMBOL vmlinux 0xc2d711e1 krealloc +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2e67c55 fddi_change_mtu +EXPORT_SYMBOL vmlinux 0xc2f34d40 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xc2ffa122 blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0xc30e25be set_security_override +EXPORT_SYMBOL vmlinux 0xc316b98c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0xc33f6f4c on_each_cpu +EXPORT_SYMBOL vmlinux 0xc371f6e1 check_disk_size_change +EXPORT_SYMBOL vmlinux 0xc37fcb5c inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0xc38488fb elv_rb_find +EXPORT_SYMBOL vmlinux 0xc39ebefb sk_filter +EXPORT_SYMBOL vmlinux 0xc3a44bde input_unregister_device +EXPORT_SYMBOL vmlinux 0xc3a909a9 journal_wipe +EXPORT_SYMBOL vmlinux 0xc3aaf0a9 __put_user_1 +EXPORT_SYMBOL vmlinux 0xc3cf1128 in_group_p +EXPORT_SYMBOL vmlinux 0xc3f408cb get_phy_device +EXPORT_SYMBOL vmlinux 0xc3fa6a59 memchr +EXPORT_SYMBOL vmlinux 0xc402cc99 register_acpi_notifier +EXPORT_SYMBOL vmlinux 0xc42c323c sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xc432f0f6 __pagevec_release +EXPORT_SYMBOL vmlinux 0xc4385833 sock_map_fd +EXPORT_SYMBOL vmlinux 0xc4694adb dev_load +EXPORT_SYMBOL vmlinux 0xc47d8bb1 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xc48d46fc cdev_index +EXPORT_SYMBOL vmlinux 0xc48fbb73 scsi_remove_target +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4a15b44 sock_no_bind +EXPORT_SYMBOL vmlinux 0xc4e71917 kick_iocb +EXPORT_SYMBOL vmlinux 0xc4f69bd8 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xc52f5714 fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0xc535e5f6 __page_symlink +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc55f7dc7 _write_trylock +EXPORT_SYMBOL vmlinux 0xc5636f5b mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0xc571569d dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xc5a355bc tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0xc5b3a4df fifo_create_dflt +EXPORT_SYMBOL vmlinux 0xc5b69d97 input_grab_device +EXPORT_SYMBOL vmlinux 0xc61204a3 thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0xc633495b schedule_work +EXPORT_SYMBOL vmlinux 0xc6341751 page_address +EXPORT_SYMBOL vmlinux 0xc64b8442 copy_io_context +EXPORT_SYMBOL vmlinux 0xc659067c xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xc6656836 __seq_open_private +EXPORT_SYMBOL vmlinux 0xc6912f56 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0xc6946676 inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0xc697f59d tcp_gro_receive +EXPORT_SYMBOL vmlinux 0xc6b9275b pci_set_master +EXPORT_SYMBOL vmlinux 0xc6b95e41 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xc6e0daeb read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xc6f00eb0 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0xc70da1b2 mpage_readpages +EXPORT_SYMBOL vmlinux 0xc71607d2 input_unregister_handle +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc722227e posix_acl_clone +EXPORT_SYMBOL vmlinux 0xc722671d skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0xc723d5b1 generic_file_llseek +EXPORT_SYMBOL vmlinux 0xc7315b5a writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0xc73d9891 bmap +EXPORT_SYMBOL vmlinux 0xc756b81f ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0xc768de19 cpu_all_bits +EXPORT_SYMBOL vmlinux 0xc785acff sock_no_mmap +EXPORT_SYMBOL vmlinux 0xc794d5d2 dcache_readdir +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7cb906d tcp_v4_md5_do_del +EXPORT_SYMBOL vmlinux 0xc7d9c5b4 load_nls_default +EXPORT_SYMBOL vmlinux 0xc7ec6c27 strspn +EXPORT_SYMBOL vmlinux 0xc83aaaf7 ethtool_op_get_tso +EXPORT_SYMBOL vmlinux 0xc84458c2 kernel_getsockname +EXPORT_SYMBOL vmlinux 0xc88906b7 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0xc895adc2 default_file_splice_read +EXPORT_SYMBOL vmlinux 0xc897c382 sg_init_table +EXPORT_SYMBOL vmlinux 0xc898625d atomic64_inc_and_test +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8ca3e25 acpi_get_child +EXPORT_SYMBOL vmlinux 0xc8d4f9e4 audit_log_start +EXPORT_SYMBOL vmlinux 0xc8d74250 rtnl_unicast +EXPORT_SYMBOL vmlinux 0xc8e689ad blk_queue_max_sectors +EXPORT_SYMBOL vmlinux 0xc8f471fe pci_choose_state +EXPORT_SYMBOL vmlinux 0xc91af01e blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xc994bdbf generic_readlink +EXPORT_SYMBOL vmlinux 0xc998d641 icmp_err_convert +EXPORT_SYMBOL vmlinux 0xc9ab2eef acpi_os_wait_events_complete +EXPORT_SYMBOL vmlinux 0xc9c47f86 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xc9cb9caf phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0xc9e025c4 mmc_card_awake +EXPORT_SYMBOL vmlinux 0xc9e0751f jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0xc9ec8704 udp_table +EXPORT_SYMBOL vmlinux 0xc9f096d0 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xc9f2f411 ip6_xmit +EXPORT_SYMBOL vmlinux 0xca0d8094 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0xca16e994 cdev_alloc +EXPORT_SYMBOL vmlinux 0xca1f1d2e vfs_link +EXPORT_SYMBOL vmlinux 0xca25f3cb sock_no_ioctl +EXPORT_SYMBOL vmlinux 0xca2f3bb4 inet_csk_accept +EXPORT_SYMBOL vmlinux 0xca355cf8 md_register_thread +EXPORT_SYMBOL vmlinux 0xca3d07a1 ip6_frag_init +EXPORT_SYMBOL vmlinux 0xca5378e0 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0xca5711fb splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca66eebf disk_stack_limits +EXPORT_SYMBOL vmlinux 0xca80eeb7 dev_unicast_add +EXPORT_SYMBOL vmlinux 0xca897f02 vfs_quota_sync +EXPORT_SYMBOL vmlinux 0xca8acc78 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xcb236ebc d_obtain_alias +EXPORT_SYMBOL vmlinux 0xcb2bb36e bio_copy_user +EXPORT_SYMBOL vmlinux 0xcb35b51c __f_setown +EXPORT_SYMBOL vmlinux 0xcb38a890 __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xcb446362 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0xcb475dab bio_phys_segments +EXPORT_SYMBOL vmlinux 0xcb58a194 audit_log_end +EXPORT_SYMBOL vmlinux 0xcb6beb40 hweight32 +EXPORT_SYMBOL vmlinux 0xcb6f015a lock_rename +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb72500c ip_mc_rejoin_group +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcba142fc kernel_getsockopt +EXPORT_SYMBOL vmlinux 0xcbb044dd register_sysctl_paths +EXPORT_SYMBOL vmlinux 0xcbb2655e skb_checksum_help +EXPORT_SYMBOL vmlinux 0xcbb42935 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xcbbb1a29 arch_debugfs_dir +EXPORT_SYMBOL vmlinux 0xcc0177da key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc2c58e9 dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0xcc342327 block_read_full_page +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc51ee50 dma_spin_lock +EXPORT_SYMBOL vmlinux 0xcc53334f bio_integrity_split +EXPORT_SYMBOL vmlinux 0xcc5f723e pcim_iomap_table +EXPORT_SYMBOL vmlinux 0xcc7b6027 read_cache_page_async +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xccd52baa dma_supported +EXPORT_SYMBOL vmlinux 0xcd0c0585 netif_rx +EXPORT_SYMBOL vmlinux 0xcd19a090 acpi_bus_start +EXPORT_SYMBOL vmlinux 0xcd3f087a pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0xcd5e46e3 tty_check_change +EXPORT_SYMBOL vmlinux 0xcdbb6eea xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0xcdf87af9 kobject_add +EXPORT_SYMBOL vmlinux 0xce172a0d fput +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce36ded6 sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xce39ee55 ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0xce480669 inet_put_port +EXPORT_SYMBOL vmlinux 0xce4904a4 acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce860141 pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0xceb0a634 inet6_bind +EXPORT_SYMBOL vmlinux 0xcec447e5 poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0xcee8fec5 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0xceea83e4 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf0a59d7 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0xcf1d28ab acpi_error +EXPORT_SYMBOL vmlinux 0xcf2e1d53 cdev_del +EXPORT_SYMBOL vmlinux 0xcf697890 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0xcf6cfe1f msrs_free +EXPORT_SYMBOL vmlinux 0xcf78a7b4 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xcf83486d ethtool_op_get_ufo +EXPORT_SYMBOL vmlinux 0xcfadd723 __percpu_counter_add +EXPORT_SYMBOL vmlinux 0xcfb22d71 skb_insert +EXPORT_SYMBOL vmlinux 0xcfb2dfec freeze_bdev +EXPORT_SYMBOL vmlinux 0xcfb9006e jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0xcfe05d4d register_kmmio_probe +EXPORT_SYMBOL vmlinux 0xcfeeb0ba revert_creds +EXPORT_SYMBOL vmlinux 0xcff53400 kref_put +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd037e855 mca_register_driver +EXPORT_SYMBOL vmlinux 0xd0520deb tcp_make_synack +EXPORT_SYMBOL vmlinux 0xd0584094 d_path +EXPORT_SYMBOL vmlinux 0xd059748d register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xd07ed5cc i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0xd08197fa acpi_load_tables +EXPORT_SYMBOL vmlinux 0xd0d8621b strlen +EXPORT_SYMBOL vmlinux 0xd0e6f247 cfb_fillrect +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd0f3c2b4 x86_dma_fallback_dev +EXPORT_SYMBOL vmlinux 0xd132b283 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xd1394e87 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xd1472061 acpi_pci_register_driver +EXPORT_SYMBOL vmlinux 0xd14d3f96 netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0xd17ecc22 per_cpu__cpu_sibling_map +EXPORT_SYMBOL vmlinux 0xd18b6eb2 acpi_unmap_lsapic +EXPORT_SYMBOL vmlinux 0xd1b271fe genl_register_ops +EXPORT_SYMBOL vmlinux 0xd1e890f9 kunmap_atomic +EXPORT_SYMBOL vmlinux 0xd1f304c4 do_sync_read +EXPORT_SYMBOL vmlinux 0xd1f6c5f3 smp_num_siblings +EXPORT_SYMBOL vmlinux 0xd1f91bcd dev_base_lock +EXPORT_SYMBOL vmlinux 0xd1fb24d1 sysctl_ms_jiffies +EXPORT_SYMBOL vmlinux 0xd20d3cca __lock_page +EXPORT_SYMBOL vmlinux 0xd22a27b1 vfs_set_dqinfo +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 0xd2619df1 icmpv6_send +EXPORT_SYMBOL vmlinux 0xd267d42c down_killable +EXPORT_SYMBOL vmlinux 0xd26b948a register_qdisc +EXPORT_SYMBOL vmlinux 0xd27674f0 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0xd2790e5c blk_plug_device +EXPORT_SYMBOL vmlinux 0xd27a437c dquot_initialize +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2a68761 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0xd2a75ee0 dmi_first_match +EXPORT_SYMBOL vmlinux 0xd2ad791f jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0xd2b53e89 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0xd2f69022 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0xd32e52c7 posix_acl_chmod_masq +EXPORT_SYMBOL vmlinux 0xd34f0c62 gen_pool_create +EXPORT_SYMBOL vmlinux 0xd3656277 hippi_type_trans +EXPORT_SYMBOL vmlinux 0xd36d9f41 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0xd36e1afe vfs_readdir +EXPORT_SYMBOL vmlinux 0xd37e8419 km_state_notify +EXPORT_SYMBOL vmlinux 0xd3951da4 acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0xd395e252 elevator_exit +EXPORT_SYMBOL vmlinux 0xd3b934d7 journal_check_available_features +EXPORT_SYMBOL vmlinux 0xd3bd5d5e mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0xd3cf1095 udp_ioctl +EXPORT_SYMBOL vmlinux 0xd3d8b84c pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0xd3e2ead8 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0xd3f74cf1 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xd3f91bb9 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xd42b7232 _write_unlock_bh +EXPORT_SYMBOL vmlinux 0xd433e499 do_SAK +EXPORT_SYMBOL vmlinux 0xd4392c6f con_set_default_unimap +EXPORT_SYMBOL vmlinux 0xd4467760 register_framebuffer +EXPORT_SYMBOL vmlinux 0xd45b9906 sock_init_data +EXPORT_SYMBOL vmlinux 0xd45c05b6 notify_change +EXPORT_SYMBOL vmlinux 0xd4645c65 eisa_driver_register +EXPORT_SYMBOL vmlinux 0xd479c7ad sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xd4d19ab4 phy_device_register +EXPORT_SYMBOL vmlinux 0xd4d4f05e pci_enable_wake +EXPORT_SYMBOL vmlinux 0xd4f7bb13 __ht_create_irq +EXPORT_SYMBOL vmlinux 0xd4f887b1 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xd5044e18 d_genocide +EXPORT_SYMBOL vmlinux 0xd50fef48 acpi_detach_data +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd5293093 dev_trans_start +EXPORT_SYMBOL vmlinux 0xd54343d2 pnp_device_detach +EXPORT_SYMBOL vmlinux 0xd5688a7a radix_tree_insert +EXPORT_SYMBOL vmlinux 0xd5975771 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0xd5998c6f slow_work_register_user +EXPORT_SYMBOL vmlinux 0xd5a3f7ad blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xd5a43ca4 page_put_link +EXPORT_SYMBOL vmlinux 0xd5f2c89b dqput +EXPORT_SYMBOL vmlinux 0xd6046e55 make_EII_client +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd63e5e3b __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0xd67aa76d sk_reset_timer +EXPORT_SYMBOL vmlinux 0xd67be2e0 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0xd6a78d08 smp_call_function_single +EXPORT_SYMBOL vmlinux 0xd6b33026 cpu_khz +EXPORT_SYMBOL vmlinux 0xd6d33751 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0xd6e8c3ab pci_set_dma_mask +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f31a3c generic_ro_fops +EXPORT_SYMBOL vmlinux 0xd6f5c740 skb_pull +EXPORT_SYMBOL vmlinux 0xd7580f00 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd79647f2 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd7a6fafa panic_notifier_list +EXPORT_SYMBOL vmlinux 0xd7b37422 d_prune_aliases +EXPORT_SYMBOL vmlinux 0xd7c2cc69 sk_release_kernel +EXPORT_SYMBOL vmlinux 0xd7d2e83e acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0xd7d36d1a idr_find +EXPORT_SYMBOL vmlinux 0xd7d67687 get_io_context +EXPORT_SYMBOL vmlinux 0xd7db5116 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0xd7dd777b reserve_perfctr_nmi +EXPORT_SYMBOL vmlinux 0xd7e87252 dev_add_pack +EXPORT_SYMBOL vmlinux 0xd7fae2d6 register_sysctl_table +EXPORT_SYMBOL vmlinux 0xd82613c0 atomic64_sub_and_test +EXPORT_SYMBOL vmlinux 0xd8282ff0 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0xd8337e16 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0xd83791bc nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd851af78 up_write +EXPORT_SYMBOL vmlinux 0xd8591779 blk_integrity_register +EXPORT_SYMBOL vmlinux 0xd85d3cc0 dev_get_by_index +EXPORT_SYMBOL vmlinux 0xd86c3935 drop_super +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a2ab95 in_egroup_p +EXPORT_SYMBOL vmlinux 0xd8a32071 clocksource_register +EXPORT_SYMBOL vmlinux 0xd8a65c38 atomic64_sub +EXPORT_SYMBOL vmlinux 0xd8b0be53 input_get_keycode +EXPORT_SYMBOL vmlinux 0xd8d9423f ether_setup +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd9091363 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0xd9186188 init_net +EXPORT_SYMBOL vmlinux 0xd91faa42 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0xd9428ae8 nf_afinfo +EXPORT_SYMBOL vmlinux 0xd959fc1f lease_get_mtime +EXPORT_SYMBOL vmlinux 0xd95b75c6 ip_route_output_key +EXPORT_SYMBOL vmlinux 0xd95f7125 tty_mutex +EXPORT_SYMBOL vmlinux 0xd963a74a flush_delayed_work +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd996d859 idr_pre_get +EXPORT_SYMBOL vmlinux 0xd9b2a230 set_user_nice +EXPORT_SYMBOL vmlinux 0xd9c272aa mca_mark_as_unused +EXPORT_SYMBOL vmlinux 0xd9e5279c rtnl_create_link +EXPORT_SYMBOL vmlinux 0xd9ef3515 tc_classify +EXPORT_SYMBOL vmlinux 0xda08c0d7 pcibios_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0xda0a6b0e acpi_map_lsapic +EXPORT_SYMBOL vmlinux 0xda185e07 block_invalidatepage +EXPORT_SYMBOL vmlinux 0xda1a7335 kasprintf +EXPORT_SYMBOL vmlinux 0xda3863ca inet_frag_kill +EXPORT_SYMBOL vmlinux 0xda4a3e03 sock_i_ino +EXPORT_SYMBOL vmlinux 0xda656a19 scsi_target_resume +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 0xda928914 nmi_watchdog +EXPORT_SYMBOL vmlinux 0xdaa194e7 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0xdaa32707 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0xdaa57ec3 totalhigh_pages +EXPORT_SYMBOL vmlinux 0xdacf088a d_find_alias +EXPORT_SYMBOL vmlinux 0xdafe8fcc key_unlink +EXPORT_SYMBOL vmlinux 0xdb4c88b4 groups_alloc +EXPORT_SYMBOL vmlinux 0xdb5a0f84 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0xdb60b4c1 do_truncate +EXPORT_SYMBOL vmlinux 0xdb864d65 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xdb8df7cd pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0xdbb55752 mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbe3bedf dev_close +EXPORT_SYMBOL vmlinux 0xdbe61361 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0xdbef8907 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0xdbff70a8 xfrm_lookup +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc053205 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc3c2371 scsi_reset_provider +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc50cfee gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0xdc5b1a05 skb_recycle_check +EXPORT_SYMBOL vmlinux 0xdc78f1db skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0xdc7adaaa rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0xdc873a70 screen_info +EXPORT_SYMBOL vmlinux 0xdc89a635 tcp4_gro_receive +EXPORT_SYMBOL vmlinux 0xdca0e950 genl_register_family +EXPORT_SYMBOL vmlinux 0xdcaacccc starget_for_each_device +EXPORT_SYMBOL vmlinux 0xdcb2fd61 pci_find_capability +EXPORT_SYMBOL vmlinux 0xdcd664f6 ps2_end_command +EXPORT_SYMBOL vmlinux 0xdd0a2ba2 strlcat +EXPORT_SYMBOL vmlinux 0xdd195e44 netdev_bonding_change +EXPORT_SYMBOL vmlinux 0xdd3f5de0 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xdd52f2df user_revoke +EXPORT_SYMBOL vmlinux 0xdd6bfccd radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0xdd6f5c7a pci_scan_slot +EXPORT_SYMBOL vmlinux 0xdd74c96d mem_map +EXPORT_SYMBOL vmlinux 0xdda80155 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0xddd57864 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0xdde5051c devm_ioremap +EXPORT_SYMBOL vmlinux 0xde123791 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xde1fd694 acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0xde31b902 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xde406623 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0xde43aa99 sg_miter_next +EXPORT_SYMBOL vmlinux 0xde4669fe __breadahead +EXPORT_SYMBOL vmlinux 0xde7100a3 inetdev_by_index +EXPORT_SYMBOL vmlinux 0xde75b689 set_irq_type +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xdeb2726d neigh_event_ns +EXPORT_SYMBOL vmlinux 0xdeb2a4e4 generic_write_end +EXPORT_SYMBOL vmlinux 0xdeb4989a posix_lock_file +EXPORT_SYMBOL vmlinux 0xdedcf0c1 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0xdeee82df elv_rb_former_request +EXPORT_SYMBOL vmlinux 0xdefc8da4 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xdefd5612 journal_revoke +EXPORT_SYMBOL vmlinux 0xdf0da3cc acpi_get_devices +EXPORT_SYMBOL vmlinux 0xdf255099 ps2_init +EXPORT_SYMBOL vmlinux 0xdf3f1620 xfrm_bundle_ok +EXPORT_SYMBOL vmlinux 0xdf4c8767 ns_to_timeval +EXPORT_SYMBOL vmlinux 0xdf4f475d pci_pme_active +EXPORT_SYMBOL vmlinux 0xdf517833 i2c_use_client +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf841b10 dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0xdf85fe8a netpoll_poll +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf9f31c2 journal_create +EXPORT_SYMBOL vmlinux 0xdfb7bada acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xdfc06181 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0xdfc5169b slhc_init +EXPORT_SYMBOL vmlinux 0xdfcff859 alloc_fddidev +EXPORT_SYMBOL vmlinux 0xdff58bc3 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0xdffb583b dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xe03a5f05 scsi_device_resume +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe07fdea9 get_sb_bdev +EXPORT_SYMBOL vmlinux 0xe099ae43 sock_no_getname +EXPORT_SYMBOL vmlinux 0xe0a501e3 idr_remove_all +EXPORT_SYMBOL vmlinux 0xe0ac8bd2 acpi_bus_generate_netlink_event +EXPORT_SYMBOL vmlinux 0xe0aebd80 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0bc24a1 param_set_ushort +EXPORT_SYMBOL vmlinux 0xe0dfa88d block_write_end +EXPORT_SYMBOL vmlinux 0xe0f105a3 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0xe0f54da4 tcp_child_process +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe1596872 per_cpu__irq_stat +EXPORT_SYMBOL vmlinux 0xe15b520e acpi_bus_get_device +EXPORT_SYMBOL vmlinux 0xe1712d99 clocksource_unregister +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe18c6036 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0xe1a68fdf netif_carrier_off +EXPORT_SYMBOL vmlinux 0xe1a81c3a icmpv6msg_statistics +EXPORT_SYMBOL vmlinux 0xe1afb442 __rta_fill +EXPORT_SYMBOL vmlinux 0xe1b6e9f8 inet_bind +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe209b921 nf_register_hook +EXPORT_SYMBOL vmlinux 0xe20b3f89 mmc_request_done +EXPORT_SYMBOL vmlinux 0xe2135992 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0xe21602f4 proto_register +EXPORT_SYMBOL vmlinux 0xe2200f29 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe23d7acb up_read +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe269d6b6 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xe28269a6 scsi_remove_device +EXPORT_SYMBOL vmlinux 0xe2aeec37 lock_fb_info +EXPORT_SYMBOL vmlinux 0xe2ca0510 vfs_follow_link +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e8065e memdup_user +EXPORT_SYMBOL vmlinux 0xe2fae716 kmemdup +EXPORT_SYMBOL vmlinux 0xe3125866 insert_inode_locked +EXPORT_SYMBOL vmlinux 0xe313228b bio_free +EXPORT_SYMBOL vmlinux 0xe32ae30f udp_proc_register +EXPORT_SYMBOL vmlinux 0xe342b4aa tcf_register_action +EXPORT_SYMBOL vmlinux 0xe3690e24 register_nls +EXPORT_SYMBOL vmlinux 0xe37b488b inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0xe3870e79 give_up_console +EXPORT_SYMBOL vmlinux 0xe39af011 vfs_rmdir +EXPORT_SYMBOL vmlinux 0xe3a1c478 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xe3df5342 __scm_send +EXPORT_SYMBOL vmlinux 0xe3ee933e mntput_no_expire +EXPORT_SYMBOL vmlinux 0xe3eec5b0 pci_dev_put +EXPORT_SYMBOL vmlinux 0xe3f1510e xfrm_input +EXPORT_SYMBOL vmlinux 0xe3fbe148 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xe42c086e tcp_shutdown +EXPORT_SYMBOL vmlinux 0xe43617f7 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0xe44cb41e elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0xe456bd3a complete +EXPORT_SYMBOL vmlinux 0xe4599763 ip_defrag +EXPORT_SYMBOL vmlinux 0xe45a2676 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0xe47a54bd __kill_fasync +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe4870354 _read_trylock +EXPORT_SYMBOL vmlinux 0xe48f3039 ida_get_new_above +EXPORT_SYMBOL vmlinux 0xe492161f search_binary_handler +EXPORT_SYMBOL vmlinux 0xe4c1df3e _read_lock_bh +EXPORT_SYMBOL vmlinux 0xe4cb55e2 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0xe4d1eeae __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xe4dd4a39 sysctl_data +EXPORT_SYMBOL vmlinux 0xe4f1695e cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xe517591b generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe58c8462 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xe59b266b mutex_lock +EXPORT_SYMBOL vmlinux 0xe5b075dd write_inode_now +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5eb474c otg_get_transceiver +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe63e496a km_policy_expired +EXPORT_SYMBOL vmlinux 0xe642abae sock_create_lite +EXPORT_SYMBOL vmlinux 0xe6496825 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xe65a856c jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0xe67bcc7a simple_rmdir +EXPORT_SYMBOL vmlinux 0xe67e1d79 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xe68a238e tty_kref_put +EXPORT_SYMBOL vmlinux 0xe690b8fd __ipv6_isatap_ifid +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6be2858 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xe6e879a3 start_tty +EXPORT_SYMBOL vmlinux 0xe6ebc016 key_create_or_update +EXPORT_SYMBOL vmlinux 0xe6f3718d skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe714375c __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xe716baed acpi_unregister_ioapic +EXPORT_SYMBOL vmlinux 0xe72023f0 mutex_trylock +EXPORT_SYMBOL vmlinux 0xe744f743 generic_write_sync +EXPORT_SYMBOL vmlinux 0xe7b1934b neigh_parms_release +EXPORT_SYMBOL vmlinux 0xe7d2aca1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xe7d32407 nmi_active +EXPORT_SYMBOL vmlinux 0xe7d40253 inet_accept +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7e8845d ip_route_me_harder +EXPORT_SYMBOL vmlinux 0xe7f7e189 inet_stream_connect +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe82a1e6f scsi_print_command +EXPORT_SYMBOL vmlinux 0xe84c74a3 dma_alloc_from_coherent +EXPORT_SYMBOL vmlinux 0xe8588f1f uart_suspend_port +EXPORT_SYMBOL vmlinux 0xe8794ce1 slhc_toss +EXPORT_SYMBOL vmlinux 0xe8a3605f acpi_processor_set_thermal_limit +EXPORT_SYMBOL vmlinux 0xe8b68849 wrmsr_on_cpus +EXPORT_SYMBOL vmlinux 0xe8cd902e hweight16 +EXPORT_SYMBOL vmlinux 0xe90dcae0 __request_module +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe955809a nf_unregister_hook +EXPORT_SYMBOL vmlinux 0xe95b6573 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0xe95ec312 mca_bus_type +EXPORT_SYMBOL vmlinux 0xe95f80ac mca_device_transform_memory +EXPORT_SYMBOL vmlinux 0xe971befc pci_enable_device +EXPORT_SYMBOL vmlinux 0xe97efa10 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xe98690bd jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0xe997667b wrmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xe9a6e09a filemap_fdatawait +EXPORT_SYMBOL vmlinux 0xe9d2c681 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xe9dcb2ef dm_dirty_log_destroy +EXPORT_SYMBOL vmlinux 0xe9ec4c90 pci_enable_msix +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea0c40a3 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea2d33a2 radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0xea769baa dm_table_unplug_all +EXPORT_SYMBOL vmlinux 0xea7987f1 key_update +EXPORT_SYMBOL vmlinux 0xea79a591 get_empty_filp +EXPORT_SYMBOL vmlinux 0xea852925 rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0xea858cb5 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xea90bdd3 acpi_attach_data +EXPORT_SYMBOL vmlinux 0xea9e70ec dma_sync_wait +EXPORT_SYMBOL vmlinux 0xeacd7f51 ilookup +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeaeb9b7f xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xeb0b7e62 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xeb129e9a mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0xeb1fabf6 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0xeb2bcced input_free_device +EXPORT_SYMBOL vmlinux 0xeb5cfb31 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xeb645e8d read_cache_pages +EXPORT_SYMBOL vmlinux 0xeb677cd8 touch_atime +EXPORT_SYMBOL vmlinux 0xeb73949a tcp_tso_segment +EXPORT_SYMBOL vmlinux 0xeb7e28b0 pnp_release_card_device +EXPORT_SYMBOL vmlinux 0xeb868892 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0xeb8f54b3 strstrip +EXPORT_SYMBOL vmlinux 0xebd273a6 strict_strtoull +EXPORT_SYMBOL vmlinux 0xebfe555e register_exec_domain +EXPORT_SYMBOL vmlinux 0xec086b47 acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0xec62caf6 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0xec697879 sk_free +EXPORT_SYMBOL vmlinux 0xec74ed5a tcf_exts_dump +EXPORT_SYMBOL vmlinux 0xec75522d fb_set_cmap +EXPORT_SYMBOL vmlinux 0xec794ba0 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0xec95e0f5 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xecc64caa devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0xecde1418 _spin_lock_irq +EXPORT_SYMBOL vmlinux 0xece95925 unregister_con_driver +EXPORT_SYMBOL vmlinux 0xed24af95 sk_common_release +EXPORT_SYMBOL vmlinux 0xed3b2eab call_usermodehelper_setfns +EXPORT_SYMBOL vmlinux 0xed634946 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xedb88745 input_open_device +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedbb046d dm_table_get_md +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee370105 security_path_rmdir +EXPORT_SYMBOL vmlinux 0xee6ec92b napi_frags_skb +EXPORT_SYMBOL vmlinux 0xee76095b put_mnt_ns +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xee7eec12 vc_resize +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xef0cad7b dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0xef1f3ea2 __devm_request_region +EXPORT_SYMBOL vmlinux 0xef313b5d per_cpu__current_task +EXPORT_SYMBOL vmlinux 0xef3bd862 mca_find_unused_adapter +EXPORT_SYMBOL vmlinux 0xef6ed1ba param_set_invbool +EXPORT_SYMBOL vmlinux 0xef9aedfc boot_option_idle_override +EXPORT_SYMBOL vmlinux 0xef9f807f __blk_end_request_all +EXPORT_SYMBOL vmlinux 0xefa7fce8 page_symlink +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefe099c3 acpi_get_event_status +EXPORT_SYMBOL vmlinux 0xefe44f2d mdiobus_scan +EXPORT_SYMBOL vmlinux 0xeff29d9e pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0xeff6e9c5 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf0089e65 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0xf0397e65 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xf04b7e8c bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf07fbbd3 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xf0c954a9 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0xf0e73875 fifo_set_limit +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0f92bbb sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xf0fdf6cb __stack_chk_fail +EXPORT_SYMBOL vmlinux 0xf10de535 ioread8 +EXPORT_SYMBOL vmlinux 0xf11543ff find_first_zero_bit +EXPORT_SYMBOL vmlinux 0xf13959b9 seq_open_private +EXPORT_SYMBOL vmlinux 0xf13d8d90 vga_client_register +EXPORT_SYMBOL vmlinux 0xf14f35ef vfs_symlink +EXPORT_SYMBOL vmlinux 0xf1658b16 input_unfilter_device +EXPORT_SYMBOL vmlinux 0xf174ed48 acquire_console_sem +EXPORT_SYMBOL vmlinux 0xf17bb8e4 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1a3ef68 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0xf1d64416 gen_new_estimator +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1deabf2 div64_u64 +EXPORT_SYMBOL vmlinux 0xf1e464ba follow_up +EXPORT_SYMBOL vmlinux 0xf1e4a5e7 register_filesystem +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1f5c224 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf214d051 phy_disconnect +EXPORT_SYMBOL vmlinux 0xf21570eb gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0xf2234b52 blk_start_request +EXPORT_SYMBOL vmlinux 0xf235a26f mddev_congested +EXPORT_SYMBOL vmlinux 0xf2391e40 replace_mount_options +EXPORT_SYMBOL vmlinux 0xf2690ad7 input_unregister_handler +EXPORT_SYMBOL vmlinux 0xf2997713 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0xf2ae6b2d tty_insert_flip_string +EXPORT_SYMBOL vmlinux 0xf2afec4a block_write_begin +EXPORT_SYMBOL vmlinux 0xf2e74040 mca_set_adapter_name +EXPORT_SYMBOL vmlinux 0xf30a6797 dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf3147e99 phy_disable_interrupts +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf350c7c2 eth_header_parse +EXPORT_SYMBOL vmlinux 0xf3528be0 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0xf366c9a6 tcp_poll +EXPORT_SYMBOL vmlinux 0xf37190b2 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0xf393846f genl_unregister_ops +EXPORT_SYMBOL vmlinux 0xf397b9aa __tasklet_schedule +EXPORT_SYMBOL vmlinux 0xf39bf4d9 put_cmsg +EXPORT_SYMBOL vmlinux 0xf3ab6bec set_pages_array_uc +EXPORT_SYMBOL vmlinux 0xf3ba3714 sock_no_listen +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3c45bf4 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xf3d5422f inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0xf3e97d2f dquot_free_inode +EXPORT_SYMBOL vmlinux 0xf3f05554 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0xf4082c7d inode_init_always +EXPORT_SYMBOL vmlinux 0xf4095bf3 bdi_destroy +EXPORT_SYMBOL vmlinux 0xf40d7998 vfs_get_dqinfo +EXPORT_SYMBOL vmlinux 0xf40dcae1 dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0xf42bb0c7 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0xf4314020 fget +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf45cdab6 ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0xf45dcbfa sk_run_filter +EXPORT_SYMBOL vmlinux 0xf4711953 file_remove_suid +EXPORT_SYMBOL vmlinux 0xf48a2c4c MCA_bus +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf49ecee9 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0xf4a5c213 avail_to_resrv_perfctr_nmi_bit +EXPORT_SYMBOL vmlinux 0xf4ae9d51 ida_pre_get +EXPORT_SYMBOL vmlinux 0xf4bca3cb filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0xf4c94644 bio_integrity_free +EXPORT_SYMBOL vmlinux 0xf4db25d0 blk_queue_max_phys_segments +EXPORT_SYMBOL vmlinux 0xf4e107a5 kill_pgrp +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f52f93 dqstats +EXPORT_SYMBOL vmlinux 0xf502d273 acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0xf51ae235 touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf54fcd5a put_tty_driver +EXPORT_SYMBOL vmlinux 0xf57682c8 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0xf579340c lro_flush_all +EXPORT_SYMBOL vmlinux 0xf59723b5 scsi_scan_target +EXPORT_SYMBOL vmlinux 0xf5aa5dc1 udp_disconnect +EXPORT_SYMBOL vmlinux 0xf5ac49f1 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0xf5c05914 generic_segment_checks +EXPORT_SYMBOL vmlinux 0xf5c12d71 bio_add_page +EXPORT_SYMBOL vmlinux 0xf5c9012e timespec_trunc +EXPORT_SYMBOL vmlinux 0xf5ccdffd blk_stack_limits +EXPORT_SYMBOL vmlinux 0xf5d01cdf mca_device_transform_irq +EXPORT_SYMBOL vmlinux 0xf5e5b337 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf60fd111 qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0xf6278d8a acpi_unlock_ac_dir +EXPORT_SYMBOL vmlinux 0xf64f6fc1 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0xf66ad02c vfs_fsync +EXPORT_SYMBOL vmlinux 0xf6afb025 get_sb_ns +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6c060d3 tty_name +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf74a63b5 x86_mce_decode_callback +EXPORT_SYMBOL vmlinux 0xf7533668 kobject_get +EXPORT_SYMBOL vmlinux 0xf757336c remove_arg_zero +EXPORT_SYMBOL vmlinux 0xf7623914 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0xf7683f9c sk_stop_timer +EXPORT_SYMBOL vmlinux 0xf786ef5e idr_init +EXPORT_SYMBOL vmlinux 0xf788e12d sock_register +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf7ac3032 unload_nls +EXPORT_SYMBOL vmlinux 0xf7ad06e5 __free_pages +EXPORT_SYMBOL vmlinux 0xf7c5eb55 i2c_master_recv +EXPORT_SYMBOL vmlinux 0xf7d30be4 acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82e3d47 acpi_initialize_objects +EXPORT_SYMBOL vmlinux 0xf878d34d end_buffer_async_write +EXPORT_SYMBOL vmlinux 0xf88e0ee2 acpi_get_table_header +EXPORT_SYMBOL vmlinux 0xf890fe7f pm_idle +EXPORT_SYMBOL vmlinux 0xf8b30e93 mempool_create +EXPORT_SYMBOL vmlinux 0xf8cf9ee5 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0xf8d40b12 sk_alloc +EXPORT_SYMBOL vmlinux 0xf8e9531c __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0xf8fc947c neigh_seq_next +EXPORT_SYMBOL vmlinux 0xf93cf992 generic_read_dir +EXPORT_SYMBOL vmlinux 0xf940a328 __next_cpu +EXPORT_SYMBOL vmlinux 0xf94e938b kobject_del +EXPORT_SYMBOL vmlinux 0xf95bb4e5 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0xf9899664 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0xf99f33b3 pci_read_vpd +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9b28e8c blk_remove_plug +EXPORT_SYMBOL vmlinux 0xf9de8573 dst_discard +EXPORT_SYMBOL vmlinux 0xf9ebaf4b invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0xfa0564fc __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfa0be45c phy_driver_register +EXPORT_SYMBOL vmlinux 0xfa21b73f acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0xfa39074e seq_bitmap_list +EXPORT_SYMBOL vmlinux 0xfa506bd5 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xfa54736f skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0xfa9432be complete_request_key +EXPORT_SYMBOL vmlinux 0xfaaad93b unlock_new_inode +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb0443fb acpi_get_parent +EXPORT_SYMBOL vmlinux 0xfb0cf2e9 touch_all_softlockup_watchdogs +EXPORT_SYMBOL vmlinux 0xfb173a1d register_console +EXPORT_SYMBOL vmlinux 0xfb256480 inode_needs_sync +EXPORT_SYMBOL vmlinux 0xfb3cf53c unlock_page +EXPORT_SYMBOL vmlinux 0xfb4af4c6 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0xfb4eef77 serio_open +EXPORT_SYMBOL vmlinux 0xfb613d5f sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb85f802 splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0xfb9dae16 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0xfb9e6ae8 request_key +EXPORT_SYMBOL vmlinux 0xfba0c2e0 llc_sap_list_lock +EXPORT_SYMBOL vmlinux 0xfba98072 blk_requeue_request +EXPORT_SYMBOL vmlinux 0xfbb66a71 d_lookup +EXPORT_SYMBOL vmlinux 0xfbcfcdea mpage_writepages +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc533f85 schedule_work_on +EXPORT_SYMBOL vmlinux 0xfc562165 acpi_run_osc +EXPORT_SYMBOL vmlinux 0xfc60cf08 bio_integrity_endio +EXPORT_SYMBOL vmlinux 0xfc6256b9 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xfc62a3c1 seq_path +EXPORT_SYMBOL vmlinux 0xfc6aa733 vfs_llseek +EXPORT_SYMBOL vmlinux 0xfc6f634d unregister_binfmt +EXPORT_SYMBOL vmlinux 0xfc710420 mmc_resume_host +EXPORT_SYMBOL vmlinux 0xfc72aeb4 i2c_clients_command +EXPORT_SYMBOL vmlinux 0xfc72d4f0 unlock_buffer +EXPORT_SYMBOL vmlinux 0xfc841ab8 netlink_set_err +EXPORT_SYMBOL vmlinux 0xfc90f025 default_llseek +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcb4888a journal_flush +EXPORT_SYMBOL vmlinux 0xfcbd931c prepare_binprm +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcc4d4e4 mod_timer_pending +EXPORT_SYMBOL vmlinux 0xfcda63a3 node_states +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcf6954d mmc_host_enable +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd3df566 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0xfd480507 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0xfd4b6ccb thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0xfd5af47d vc_cons +EXPORT_SYMBOL vmlinux 0xfd6b84e1 vga_put +EXPORT_SYMBOL vmlinux 0xfd6f4850 native_wrmsr_safe_regs +EXPORT_SYMBOL vmlinux 0xfd7d7713 acpi_exception +EXPORT_SYMBOL vmlinux 0xfd93a46e dma_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0xfda32f71 bio_put +EXPORT_SYMBOL vmlinux 0xfda69829 blk_rq_init +EXPORT_SYMBOL vmlinux 0xfda85a7d request_threaded_irq +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfdd8119e dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xfdecd6a8 mmc_host_disable +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfe07e63c pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0xfe0db943 km_new_mapping +EXPORT_SYMBOL vmlinux 0xfe3893bb call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0xfe58148d input_close_device +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe79d253 alloc_mdio_bitbang +EXPORT_SYMBOL vmlinux 0xfe7c4287 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfedd35fc console_suspend_enabled +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff12f842 phy_register_fixup +EXPORT_SYMBOL vmlinux 0xff1c606f bdi_register +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff480992 dump_fpu +EXPORT_SYMBOL vmlinux 0xff4f1bb7 tty_set_operations +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff708fd3 mempool_destroy +EXPORT_SYMBOL vmlinux 0xff7559e4 ioport_resource +EXPORT_SYMBOL vmlinux 0xff964b25 param_set_int +EXPORT_SYMBOL vmlinux 0xff99a9a9 ethtool_op_get_sg +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffb9cc31 simple_unlink +EXPORT_SYMBOL vmlinux 0xffbaf306 journal_get_write_access +EXPORT_SYMBOL vmlinux 0xffc79c0c xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xffc7c184 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xffcdb2c0 backlight_force_update +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffdcde62 fb_find_mode +EXPORT_SYMBOL vmlinux 0xffeb3b39 phy_start_aneg +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/kernel/microcode 0xdf66ca81 ucode_cpu_info +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x00aaf935 kvm_disable_tdp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x08313abf kvm_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x08aff4b8 kvm_emulate_pio_string +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x094ac8f4 kvm_get_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x09b21407 gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0bbcad3b kvm_set_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0bed3a9e kvm_vcpu_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x12d1b23b kvm_release_pfn_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x147862d0 kvm_release_page_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x17f07d81 emulator_write_emulated +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1a9df35f __tracepoint_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1e4580bb kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x20de5193 kvm_disable_largepages +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2322e039 kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2579e526 kvm_set_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27d2637d kvm_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x288b7d78 kvm_put_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2a2d1550 kvm_emulate_hypercall +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2c75958b kvm_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2d0ce06f kvm_mmu_invlpg +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2d532ff8 kvm_release_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2e01a2ae kvm_mmu_load +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2f1efcaf kvm_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x300e7b87 kvm_clear_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x317f9e6b kvm_enable_efer_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3b7706d2 __tracepoint_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x42583dc1 is_error_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x437e4561 kvm_emulate_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x46126ce5 kvm_get_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4a7cbe69 is_error_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4b822347 kvm_task_switch +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4d9ba84c kvm_is_visible_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5616dbcc kvm_set_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5851ab53 kvm_set_cr3 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x599086dd kvm_handle_fault_on_reboot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5ebe829f kvm_queue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x62d09c60 kvm_set_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x63d34944 kvm_x86_ops +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x67085af7 kvm_mmu_reset_context +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x67ce1f82 emulate_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6aa41592 kvm_vcpu_cache +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6f17df88 kvm_put_guest_fpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x712ff6cb kvm_get_cs_db_l_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7df58272 kvm_resched +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7f786a8a fx_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x80dc5edc kvm_cpu_get_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8c7e9ba2 kvm_get_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8ce4f3ab kvm_enable_tdp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8e7f9b47 segment_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x94291580 kvm_cpu_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa361bc65 kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xabacf5d9 kvm_set_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb298cc77 kvm_clear_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb2c83a33 kvm_mmu_get_spte_hierarchy +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb2d0d2e0 kvm_get_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb31f0d17 kvm_inject_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb360d1a5 kvm_lmsw +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb59c402e kvm_emulate_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbada330c kvm_inject_pending_timer_irqs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd331194 kvm_queue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd377dc9 kvm_mmu_set_nonpresent_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd94103b kvm_mmu_set_base_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbdd59441 gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbdf11c53 kvm_vcpu_uninit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc813d7c9 kvm_mmu_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcc39548b kvm_mmu_unprotect_page_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcea5bf57 __tracepoint_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd0b2727a kvm_mmu_set_mask_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd24178a4 __kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd296def9 kvm_is_error_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd3c0a6da __tracepoint_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd45ff45e kvm_set_cr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd4835d11 kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd6797d31 kvm_report_emulation_failure +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xda0a3ca0 gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdead7e81 __tracepoint_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe34bdb9e kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe5e60104 gfn_to_memslot_unaliased +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xec8653dc kvm_load_guest_fpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xed58d756 kvm_require_cpl +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xef545c50 kvm_get_guest_memory_type +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf6b24be7 kvm_emulate_pio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfb34b4ea load_pdptrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfbaa627c kvm_get_kvm +EXPORT_SYMBOL_GPL crypto/aes_generic 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL crypto/aes_generic 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x67502576 crypto_aes_set_key +EXPORT_SYMBOL_GPL crypto/aes_generic 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x223ab5c8 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x432822b1 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xa2915c94 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x7de3d56c async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xcbe538c2 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x2c10c4c9 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x62543a72 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xba80560c async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xf3da8aef async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x6292813b async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xdb1e43b3 async_xor +EXPORT_SYMBOL_GPL crypto/cryptd 0x1ff2167a cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x2d589274 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x38d1f871 cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x99c82acd cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xb0cb3b8f cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0xc8feb63d cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xe44d2bef cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x13ee602f twofish_setkey +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/bluetooth/btmrvl 0x01963fda btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x3ca2678f btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x6f3e9141 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x8efeacef btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xb0a17f28 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xcd3b883a btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0xd5db7f15 agp_remove_bridge +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0xecabdf48 agp_add_bridge +EXPORT_SYMBOL_GPL drivers/char/scx200_gpio 0xe878560a scx200_gpio_ops +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x0280ac68 tpm_store_cancel +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x19f0427b tpm_show_pubek +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x206d7924 tpm_dev_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x3505b8ee tpm_pm_resume +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x466bf130 tpm_continue_selftest +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x4f7f5d3f tpm_show_enabled +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x53e933ef tpm_register_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x66506c50 tpm_show_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x73e1a5a3 tpm_show_owned +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x74c68f77 tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x7d0e4ef8 tpm_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x9af5008d tpm_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x9d69e106 tpm_open +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xa495a69b tpm_pm_suspend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xb6869ffd tpm_remove_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xb931fa2a tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xcfbfd655 tpm_write +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xd5f3e9aa tpm_get_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xd6942bf9 tpm_show_pcrs +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xda75487b tpm_gen_interrupt +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xdf706a75 tpm_show_caps +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xf8698d80 tpm_show_active +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xfc0d1ae6 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xff6e84e3 tpm_dev_vendor_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm_bios 0x60796d90 tpm_bios_log_setup +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm_bios 0x837d0d97 tpm_bios_log_teardown +EXPORT_SYMBOL_GPL drivers/dca/dca 0x0e2d7723 register_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x2e471f01 dca_register_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0x31a2c8df dca_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0x62bf850c free_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x6456b131 dca3_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0x8006c614 dca_unregister_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0xbfc94adb dca_add_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0xd30e7c55 alloc_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0xf64d8d24 dca_remove_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0xf92f96b5 unregister_dca_provider +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x06b77d91 edac_device_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x09fe6370 edac_mc_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0d125240 edac_device_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x1b701f71 edac_mc_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x2680c1f3 edac_mc_handle_ue_no_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x3a6ff0da edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4872012a edac_mc_add_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4f6423f0 edac_mc_handle_ce_no_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x5ef607c4 edac_pci_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x64d5b771 edac_pci_reset_delay_period +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x666c5944 edac_mc_alloc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x73be2d92 edac_device_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x818406aa edac_mc_del_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x8f2f203e edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x93a0bf77 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x9ef106f8 edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xac5c45b5 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb63a4193 edac_device_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xdaf5ae6f edac_pci_handle_pe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xe124fefd edac_mc_free +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xe9adee7a edac_pci_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xef0910ff edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xf0ebd8cb edac_device_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xfc31ded2 edac_pci_handle_npe +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x0f0ba55e ii_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x14878009 amd_report_gart_errors +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x1823885a amd_register_ecc_decoder +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x4b01887d pp_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x7509830f to_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x955c1f76 amd_decode_nb_mce +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xb98537cb rrrr_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xc2e765d2 amd_unregister_ecc_decoder +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xd0f094a0 ext_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xe6ff7e0c ll_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0xf8dec080 tt_msgs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x00049eb9 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xbfde1872 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0aac9b0a hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0eeb8aaa hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x10568041 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x13884d9f hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1b4f6370 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2e53f36b hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x356d4a06 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x373e2b57 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x386fe747 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x43208ed2 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x561acc7a hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x56939434 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x57c8d26f hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6615aef6 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x684390ad hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x693a782a hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7cb37dd8 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb81bbec4 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcbfe6e65 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcc085bf6 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcd15486d hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcf1ef716 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd299e174 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf6b22c28 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfded8624 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x1c5cd3e4 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x2cd9ef0f usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x710d116f hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x4670ee33 lis3_dev +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x61ed49ad lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x6a9c9b7c lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x6c33e494 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x9e083b80 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xd879edd1 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xe6af28c8 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-nforce2 0xc2a87028 nforce2_smbus +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xb3cb2980 hpsb_config_rom_ip1394_remove +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xb8e0229a hpsb_config_rom_ip1394_add +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xec8d18cf hpsb_disable_irm +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x375b5eaf input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x1cc45428 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x365d66cd wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x3f3ad8f9 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x5f5b1ea7 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7068dded wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x760005c0 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xa17cc029 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xbaf779cf wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xbcc2dd73 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xc1d5f663 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xe1f3ef70 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xe8182076 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x2d447d29 gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x36a05ac3 gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x3fce9170 gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x4e792275 gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x6a1c0be1 gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x84c56d40 gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x85ab19c7 gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x952231aa gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa419bda7 gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xc11a98d6 gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xc9f03f57 gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xd206bab8 gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xea568df5 gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xec87d98f gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xef23de0a gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xfb2706fa gigaset_stop +EXPORT_SYMBOL_GPL drivers/leds/led-class 0x86d2618c led_classdev_resume +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xdcfd9303 led_classdev_suspend +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xf258cf55 led_classdev_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xf796213e led_classdev_register +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x05513b71 raid6_call +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x0b8ef590 raid6_2data_recov +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x4a48d81c raid6_datap_recov +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0349c9bd ir_codes_proteus_2309_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0366dcdf ir_codes_videomate_s350_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x110b053a ir_codes_pixelview_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x124cb753 ir_codes_encore_enltv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x183fdfdd ir_codes_gotview7135_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19b4d61c ir_codes_nebula_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19cd2826 ir_codes_behold_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1a9009d6 ir_codes_dm1105_nec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1cb148f5 ir_extract_bits +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1dc126c5 ir_input_init +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2456e513 ir_decode_pulsedistance +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2cc459b5 ir_codes_flydvb_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2d0e9a49 ir_codes_em_terratec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3136d8ff ir_codes_dntv_live_dvbt_pro_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x32b9033b ir_codes_apac_viewcomp_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3909f4ad ir_codes_terratec_cinergy_xs_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3a84be27 ir_codes_avermedia_a16d_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4267d749 ir_codes_budget_ci_old_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x43c89ef4 ir_decode_biphase +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4c1442c1 ir_codes_real_audio_220_32_keys_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x51ba1643 ir_codes_kworld_plus_tv_analog_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x543db4ff ir_codes_avermedia_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5e95da31 ir_codes_tt_1500_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5fbe6515 ir_codes_pinnacle_color_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x61d039d7 ir_codes_behold_columbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6427a3fb ir_codes_pinnacle_grey_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x64b02fed ir_codes_avermedia_dvbt_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6606596a ir_rc5_timer_keyup +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6809de82 ir_codes_pctv_sedna_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6d6511e7 ir_dump_samples +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x703fc738 ir_codes_avertv_303_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x7283f81d ir_codes_purpletv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x72c2992e ir_codes_powercolor_real_angel_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x76d71b8e ir_codes_dntv_live_dvb_t_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x784e176d ir_codes_asus_pc39_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x828b3ce5 ir_codes_encore_enltv_fm53_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x8acae3dd ir_codes_pinnacle_pctv_hd_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x92d1d181 ir_codes_flyvideo_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x94651dab ir_codes_ati_tv_wonder_hd_600_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x97c35dab ir_codes_msi_tvanywhere_plus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x9944e2e5 ir_codes_hauppauge_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa69aa6ad ir_codes_pv951_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa95157c5 ir_codes_cinergy_1400_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xac15f6c8 ir_codes_kaiomy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xaff22e87 ir_codes_pixelview_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb01a1998 ir_codes_manli_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb0a8ef38 ir_codes_rc5_tv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb57445f7 ir_codes_eztv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb5adb754 ir_codes_cinergy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbd3ce6f0 ir_codes_avermedia_cardbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbeaccbdc ir_codes_gadmei_rm008z_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbec93bd3 ir_input_keydown +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xc3bf3dea ir_input_nokey +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xcba36c62 ir_codes_videomate_tv_pvr_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xd30c491f ir_codes_norwood_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdc23fec4 ir_codes_fusionhdtv_mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdd4c0a07 ir_codes_evga_indtube_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe1101f4d ir_codes_avermedia_m135a_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe4140c60 ir_codes_genius_tvgo_a11mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeb9bb08f ir_codes_npgtech_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xebf345b4 ir_codes_encore_enltv2_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeec89db8 ir_codes_empty_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xef29c40d ir_codes_adstech_dvb_t_pci_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf33c155d ir_codes_msi_tvanywhere_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf3d619ec ir_codes_iodata_bctv7e_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf4f7a4d6 ir_rc5_timer_end +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf5e15e65 ir_codes_winfast_table +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x0473fee9 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x12aa931f saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x285fa119 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x4be74956 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x5bae55a7 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x84c857c3 saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x8d91b65e saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x99a3a1f0 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x9f9e94d0 saa7146_i2c_adapter_prepare +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 0xe5798c34 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xf97019c8 saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x06bf86fb saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x11d6430b saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x2ee1a275 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x53b4446d saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x84072335 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xb12e54b4 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xfad9f47a saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x4aa337fd microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0x8005e9b3 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0xf6b9801d tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0xfe3c8c5f tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x050016fe tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x06c1c4f1 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0xe581ae1a tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x2dece2b4 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xe9123b7d tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x17a41c1e tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x7fa0d0ff tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0xa7dadb34 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x23e3af61 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x585969c7 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x6a849aaa sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x74f335bc sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x77a655c4 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x8cd48e60 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x93f0fabf smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa2c1b18b smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa7f844e4 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa8499cfb smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xad96f67c sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xaf117c6c smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xb418c3be smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xcdf3e7fa sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xcfa910a6 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd6292e17 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd9cdfded smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xe970f332 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf47ddc90 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfda878c5 sms_get_board +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x0e567e92 ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x1905993c ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x33c1e3a2 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x4fbc2493 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x6a920e33 ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x75f7d792 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x7f597f4b ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x137da4b2 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x22f6ddc6 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x2fe1eb39 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x33318268 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x44fd6771 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x6f1ea384 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x736abc1a cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x777c35e7 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xcb4f23ac cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xcbeaf1e7 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xda5d35d9 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0x154952bc cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x47e35a89 em28xx_isoc_dvb_max_packetsize +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7d503213 em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x85eb55f6 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x94cda690 em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x9da12686 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xf3897de0 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x69eec1b3 saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x77e016cb saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xce6d8e37 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xd368a0d0 saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xdd0c74c0 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x3dcfc825 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x5a814bac v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x5e938b25 v4l2_i2c_new_subdev_cfg +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xdbb4800c v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xf2a353ac v4l2_i2c_tuner_addrs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xf5ef842e v4l_bound_align_image +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x0e5bb3c9 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x1fbf7b0a v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x32ac9481 v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa5228b24 v4l2_int_device_try_attach_all +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xcce29c1c v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x087a4387 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x088ee90d videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x15f8ef45 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x1fb26abe videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x20146eb4 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x33ca5162 videobuf_queue_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x43f1bb68 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4666bfe0 videobuf_cgmbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4696dcc0 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4a9cd6e7 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4ab69621 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4d955ea7 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x55d14eb0 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6b691e16 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6ecb76c1 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x714856c7 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x93f712f3 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x9476554a videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x94db3ed0 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x971d36f1 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x999f5a2b videobuf_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xb9210127 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xb99dc38a __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd705abf5 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xdd6a548f videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x1185134e videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x40d5c611 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x57a2a738 videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x5d788bed videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x830012f6 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x90fc9c5c videobuf_sg_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x933dfb43 videobuf_vmalloc_to_sg +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa825c75b videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xad01d499 videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xbd642ca3 videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xd7ca862f videobuf_sg_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xdbca1c10 videobuf_dma_init_overlay +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xe6079bbe videobuf_dma_sync +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xeb2290a7 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x32679787 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x3f8a17da videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xfab08928 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x0a619e12 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x36820744 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x46e64c1e v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa2792e32 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xaad22684 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xe7bdc94e v4l2_device_register +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x0c7bd418 i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x12806222 i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x49df3d18 i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x768d3f6d i2o_pool_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x93eb2092 i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x97cc3cdc i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xc24ede98 i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xcfd14b78 i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x01155b36 mc13783_adc_set_ts_status +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x6c97dca5 mc13783_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x7fcf6efa mc13783_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xa1c6e8a7 mc13783_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xb6525bd6 mc13783_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xcbbecda4 mc13783_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xed5fe09f mc13783_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x440d3acf pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x7edab522 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x0af1d7ef pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x2206c040 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x4c7430f3 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x7580f8f3 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x773c2a79 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x8931d854 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x9303705e pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x98cdb730 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xbd0e7592 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xc6aba0dc pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xcbf26e03 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x93be9870 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xba8b4b81 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xdcc29992 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xfd93929f pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xfe01458a pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x543e94dc sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x98c9fed4 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xafe75e05 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xd5c82d87 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xe4c095ab sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xf582c3e8 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x1850e815 wm831x_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x1edb999c wm831x_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x3065e7b3 wm831x_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x3a02e56f wm831x_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x496f7d4d wm831x_enable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x5769d38a wm831x_disable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x5d68d85f wm831x_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x65c7c184 wm831x_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x78cc2c99 wm831x_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x998d08a5 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xaf2ea60e wm831x_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xe7002d8a wm831x_auxadc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x01671d72 wm8350_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x19642dff wm8350_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x5253e72d wm8350_gpio_config +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x552d95f6 wm8350_mask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x56cc33b1 wm8350_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x61cbd25f wm8350_unmask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x65608f13 wm8350_device_exit +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x712e4646 wm8350_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x810a8226 wm8350_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xbc11ea88 wm8350_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xc3ec1f01 wm8350_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xcd10b3af wm8350_block_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xdc58433d wm8350_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xdd4eed58 wm8350_read_auxadc +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xe7745aa9 wm8350_device_init +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xf8c15784 wm8350_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x67dbe8b5 wm8400_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x9f999c26 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0xe5bc32b3 wm8400_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0xfab4a785 wm8400_block_read +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x0a7416c6 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x38014e9e cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x40c7f818 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x91c3e9c5 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x2df115d4 eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d14d2f eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x37ba2c32 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x82f72eae enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xa6ac9afa enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xcc1afc0d enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xe217de0b enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf01665be enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf4cde7fb enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3b6713e5 sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5b217720 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x6d632866 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x792519db sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x915bd309 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe6f4a267 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x93010640 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xc5711515 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xec6beeb6 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x155e1047 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x73b2034d cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x2a187210 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xbc224b7d cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xc51cae27 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2000 0xabfb3c45 DoC2k_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001 0xfa286fcb DoCMil_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0xa86f0b00 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x076e40d5 mtd_table +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3cb5d60a mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3d900c94 add_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x61141289 parse_mtd_partitions +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x73c2d225 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7c7001b8 get_sb_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8c118eb0 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9031e98a kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9879bc5f default_mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa20f8a1a del_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc42262a3 register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc4a79b3c unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd4ee05ba get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe4db811a get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xed0632bf deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfd423f8d mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x0bb34672 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x6de6f33c add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x9cc6bf3c deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x9ff4c378 register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x063f71e0 nand_scan_tail +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x0cc3887a nand_scan_ident +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x87ec4c3c nand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xb1c27b2c nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xcc9e6566 nand_release +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xb08a4a27 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xe7351456 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x0a43f834 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x1b498b7c ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2ad10920 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x40638a5c ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6b004ea0 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x75edd409 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x87b5d461 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x90cd3124 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x955a2ca0 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa006bfcc ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbc505df4 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd9d6ca8c ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xff1f488c ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x124c7255 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x18211b03 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x762ea771 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x803419b8 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xc69ec8c5 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xc7f5c352 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xdc95689c can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xdeee118e register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xe97d75aa alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xeccb19fe close_candev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x00719d85 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x09a393d4 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x4705103b alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x543b1b6c free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xdc9bd500 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0649aab6 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x080143c4 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0b036c30 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0bd90534 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x12447f61 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x1a875232 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x1c4e5f42 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x268c14f0 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x27c12c71 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x316efe74 mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x33307e44 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x39cc259f mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x40d7049b mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x425b800e mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x44ebf29e mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4536a128 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4c13fc52 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4f94116c mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x504400f3 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x5481ed23 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x5d42b66b mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x5f00bce1 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x5f0f0c1d mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x604310f6 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x65884ffc mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x6862cf59 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x6b9aa971 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x754eda68 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x7865e0ff mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x7951ebf8 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x84f8cb85 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x855ec85a mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x85f0a493 mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x863d7353 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x89cd260b mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8be4f57c mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8d126459 mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x95a19d96 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x98a680a3 mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9b4b8f7c mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa688b677 mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xacbf8c02 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb7a42c57 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd4a934f5 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xda65f70f mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xdd8ceb43 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe512cd08 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe66224a9 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe93e78f8 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xeae25ed5 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xecad4f60 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xeef62dd8 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf6ed857c mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x64125e45 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x64fcfeae usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x0baff68d rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x20333a17 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x2c30fcf3 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xc69a0d4b rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xd2836ed3 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xe75632e0 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0c7cbf9f usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x117b47f4 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2bc4dc10 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2dda7e1d usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x35a865c7 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x60b39fd3 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x66bac9bd usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6a482e79 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6e22b21f usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7b59fafb usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7c68d639 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8ce7600c usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x94b35a80 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x965049bf usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa3ce136c usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa8ec3beb usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbac57ef3 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbba55880 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcb12c72b usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd168904f usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd3611ef5 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd46a44af usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf34e5bb2 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfb3229bb usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x02b02aab i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x0735ce76 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x574faa9d i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x5b77e365 i2400m_queue_work +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x69a0dd6b i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7c1512e1 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7f713133 i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x9700a13e i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xae4aa28c i2400m_cmd_get_state +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xbbdbb720 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xbbe1f761 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xc5cd1363 i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xd6fbcb30 i2400m_set_init_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x1b3cc5c8 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x1c820b19 libipw_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x10c4c1dc lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x29f227b9 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x3d3804d7 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x446dfac0 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x4a9b979c lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x4fef5246 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x594dd62f lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x677ddc25 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x84ead49a lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8c16138f lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8ef57f62 lbs_cmd_802_11_rate_adapt_rateset +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x9a0c9bfe lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa078d7f5 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa59546ba lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xfdb0a470 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x0562d593 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x372b9db4 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x731f543a lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x94b0cb68 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x9ff0a023 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc3488076 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xd3eebfa7 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xdf442820 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x17ccfc05 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xf4f97795 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x2749ffd6 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x33d5ba5e p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x53c080ac p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x84f227de p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xbd92cdf8 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xbdde691e p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xcf56a729 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xd1944903 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xfe374617 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0ad9d95b rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0f7fd725 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x118aa792 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x17155910 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1c9486e8 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x37a96b5a rt2x00mac_get_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3d2f686e rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5426c092 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x673840a2 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6a8f766b rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6bc97ee1 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x76637fca rt2x00queue_get_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x78affe5d rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x795e1ce3 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x7b7e8afa rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8fbc1732 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x914ff668 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9fba6ed3 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb7c11f43 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb9b5e15c rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xbe4ef072 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc75678fa rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd8ebd4d1 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xedfbe664 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x0929ba71 rt2x00pci_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x3587ad2a rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x3e0aba73 rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x4741c769 rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x5a277f1a rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x61080867 rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x62b3b61d rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x78634379 rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x79b0c2a2 rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x04643d73 rt2x00usb_kick_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x1ac884ce rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x2737a9b1 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x4fd4f8a4 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x501d094d rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x51e4ba95 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x56b2d01f rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6690d4b8 rt2x00usb_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6e92d00a rt2x00usb_kill_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x75676cd8 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x8b78bea7 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x987e6c51 rt2x00usb_vendor_request_large_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x9b95d6a5 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xbbb41c7e rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xfbbc7625 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xfc274a3a rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x08dc3010 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x1ad65d09 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x1e96529b wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0x79281bed acpiphp_unregister_attention +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0xe8b3bc02 acpiphp_register_attention +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x3a3c32c6 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x4565f11a pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x0cd98407 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x366b216b wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x5c2453ca wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x8dbda085 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xc5181348 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xfb0c1eb0 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x8dff6111 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb041378c fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x021b0fab iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0233f349 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x03fcdd17 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x048e222a iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x04cebb95 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x141a92f2 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1ab8eca5 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2456b7bb iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x306eca26 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x31026d94 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x33074f62 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x41ba1d14 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4b337078 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4dfcc32b iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x512c5ac1 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5541b58f iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5c4098c1 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5f3d2d28 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x63be1325 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x66c2216e iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6877c03f iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6d55708e iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6e2fe1cb iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x72504041 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7d9d1400 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8314c66d iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x83ac21ef iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8b2a015e iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x974c9eb4 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa60a2e59 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb8d46499 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc62a4d10 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xca14ddef iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcab3ba60 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xce307494 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd040fbae iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd417bd26 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdabfb087 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdca4b41d iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe05bc749 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf562befd iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfa5c1ca4 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x09340a2e iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x12ccc800 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x140ecf85 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x34c255bc iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x43eafd45 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5d55aac8 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x71d5a800 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x812984bc iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x83ef06de iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x8dcced82 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x969560f7 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9f03f471 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xba413be3 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc154a2aa iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe528eb7f iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfe03c062 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0cd78be9 sas_slave_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x164b8d0f sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2bda1e55 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2cd961aa sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2db249a3 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3a7275a1 sas_find_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3ddd2bea sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4eff73b8 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x52b493ea sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5b872e18 sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x68074394 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x68ff75ee sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6a25c6d5 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7cfecf55 __sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fed63fe sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x987e1b0d sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa3efba22 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb89a6ffc sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb9cf1b59 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbaebc8e2 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd3731846 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd818f831 sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf611fe61 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x3a66bff3 srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x4727c011 srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x5122c5bd srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x9cb3d7e6 srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xd0f3cbfb srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xd3c4409a srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x1e9e2366 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x2370db8c scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x301a2432 scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x339fc566 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x469608c2 scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x61ece110 scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xb653742a scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xe7b73066 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xe8f3f92b scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0da03e72 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1422eb90 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x17644e6c iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1b779818 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x37cae235 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x37eb55e7 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x38c47b3d iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x49df47d9 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4d9609af iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5f6219f9 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6ad6ffa4 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6cb6c7e5 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x74798597 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x94e6c710 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb1d2c77c iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb8dc8a73 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd5f3251b iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd8fef705 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe934a0f7 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xecf3672e iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf90cebb2 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfe34a47b iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x3c1d0221 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x5dc432fc srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x6a8abddf srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x8ba7be01 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xa518d64e srp_attach_transport +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x02934974 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x40b0d6f8 spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x7cd19ab2 spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xd2fc1512 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xe9aa9053 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xfc9e5388 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4740fc22 comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4e4b42d1 comedi_free_board_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x813c41b0 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb5725623 comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbb210ec9 comedi_get_device_file_info +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xc57fdaf4 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf5e55497 comedi_alloc_board_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x86fcde20 das08_cs_boards +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0xc7d72661 das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0xe7ed141e das08_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 0x2f738acf labpc_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0x3ab92428 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 0x173ac314 ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x1dc4e4ea ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x5738ca1b ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x5beb083b ni_tio_winsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x6bfc29d0 ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xa35b6365 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xeab587ea ni_tio_rinsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xf2a2a6e8 ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x14d56984 ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x9c7c1015 ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xbbc14bb3 ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xcbd6a724 ni_tio_acknowledge_and_confirm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xdadd78ca ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xedaa4ea7 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/hv/hv_vmbus 0x0a1ee779 osd_WaitEventWait +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x4cc1b61c osd_WaitEventCreate +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x5432d87a osd_WaitEventSet +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x746d1786 osd_PageAlloc +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0x83911c38 osd_PageFree +EXPORT_SYMBOL_GPL drivers/staging/hv/hv_vmbus 0xa1b8d1ad osd_WaitEventWaitEx +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x0a5c3ccb usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x1d4b060e usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x3a240867 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x3ddabac0 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x67ee5c20 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x6afb90d6 usbip_task_init +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x75906573 usbip_xmit +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x8592403b usbip_start_threads +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0x9dde48a6 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xbfe36f74 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xdad7096b usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xe65976fb usbip_stop_threads +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xea560580 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xf749636c dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xf8fe2477 sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip_common_mod 0xf9971916 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/uio/uio 0x272054fb __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x4ff078bb uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x7f04b0e3 uio_event_notify +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x02829b00 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x4fc45893 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x21fa7c44 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x4fb398a6 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x71715c64 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xa45c5676 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xad09ba75 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xad4a6dc5 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xd5d60c75 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xdc25b2ae usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xe7f450e8 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x10499f12 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x33c391a1 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x6bb9e87e usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x99f908a7 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9a3ea6d0 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9aa42c9e usb_serial_register +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9c47b6b7 usb_serial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb061f672 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb99f4df7 usb_serial_deregister +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xbd73c1dc usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc107df8b usb_serial_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc4304bdf usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xcf8ae81d ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xdd7e843c usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xee48f6ac usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf522be01 usb_serial_generic_resubmit_read_urb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x03b44536 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x36f39b6b usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x390f54ed usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x46d55c5e usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x556c8660 usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6956f7cf usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x708a09b4 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x7af6864d usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x921f26da usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x928d8805 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x96fa3e2c usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x9cbff7e0 usb_usual_ignore_device +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa96c9c86 usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xad59ca78 usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xbf77aa32 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc1dde92f usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc6ce905e usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd83f41c3 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd94bbda1 usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xdbfbd526 usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe0f8068d fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe14b1e10 usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf934a80d usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x03af85ff wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x09f3c921 wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x33d92ace __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x3f926c05 wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x7a0c8b46 rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x8668d134 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xb6df1cfb wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1b367443 wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x2a1a29cd wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x2cb24b61 wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x49664975 wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x558637f7 wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x65377900 wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x99f3fd95 wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x9bea3712 wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xa21da7a6 wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb59d977f wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xbe1649a8 wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xd0a58820 wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xdf6e4f08 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xe3a86e82 wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xe6a4daa2 __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf038c291 wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf770a6b4 wusbd +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xfbf1c3d3 wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xfe2e17d7 wusb_et_name +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x04611d0b i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xac91732c i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xb8f0517c i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x1bf0d3b9 uwb_phy_rate_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x244e9f74 uwb_ack_policy_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x28ffec7c uwb_rts_cts_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x60b1db4a uwb_pca_base_priority_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x670f46a5 uwb_pca_base_priority_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xd01f04cc uwb_ack_policy_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xd0a201e4 uwb_phy_rate_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xff176661 uwb_rts_cts_store +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x1ca01107 umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x1f5f5ca9 umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x436e36dd umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x7d7e2ea6 umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xb607dc7a umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xc7fb1d28 __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xd22d5987 umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xda74c053 umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0b8aad57 uwb_est_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0fdae85c uwb_rc_neh_error +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x15b21b9e uwb_rc_cmd_async +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1e457d85 uwb_rc_ie_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1fa6e437 uwb_rc_dev_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x27d324f2 uwb_rc_post_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2e43046e uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x3e402c47 uwb_rc_put +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x3e8d3463 uwb_rc_get_by_grandpa +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x43ebe71f uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4898a9ab uwb_notifs_deregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d57ae3c uwb_rsv_type_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x519e6d7d uwb_rsv_destroy +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x58af0e20 uwb_rc_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5cbb4758 uwb_rsv_terminate +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5e4bc088 __uwb_addr_print +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6057079a uwb_rc_cmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6759db8d uwb_rc_ie_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6de3b541 uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6ec81fbc uwb_rc_neh_grok +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7815a672 uwb_pal_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7dcfcd23 uwb_ie_next +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7f53e852 uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8667eb45 uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x905e13d9 uwb_rsv_get_usable_mas +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x97af46a3 __uwb_rc_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98a99a68 uwb_rsv_establish +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9f3e3f32 uwb_radio_stop +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xa9a9be96 uwb_rc_pre_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb061f05b uwb_rsv_create +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbfd53e2b uwb_rc_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc1ac00e6 uwb_pal_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xce3be8ad uwb_est_find_size +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xce84850e uwb_dev_for_each +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd77737f8 uwb_rsv_accept +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xdea8fd4d uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xdf3438ae uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe1716f06 uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xea1f7ffb uwb_notifs_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xed8028ad uwb_pal_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf784b2c1 uwb_rc_vcmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xffdd866c uwb_rsv_modify +EXPORT_SYMBOL_GPL drivers/uwb/whci 0xaea7983d whci_wait_for +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x08438e67 wlp_eda_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x1e16bc81 wlp_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x1fac10b4 wlp_dev_prim_subcat_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x21309fd2 wlp_wss_activate_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x2a140fba wlp_dev_prim_OUI_sub_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3161b080 wlp_uuid_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3283ad8d wlp_dev_prim_subcat_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x487ef4e5 wlp_dev_manufacturer_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x5a11dbb0 wlp_receive_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6addff4a wlp_wss_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x789f35d5 wlp_dev_model_nr_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x7fad529f wlp_wss_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x8552275e wlp_dev_model_nr_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x86280309 wlp_neighborhood_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x9888bd8d wlp_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x99ef44df wlp_dev_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xab931463 wlp_dev_model_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xaf5a88f8 wlp_dev_manufacturer_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xb4af24b4 wlp_dev_serial_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xbae67a12 wlp_wss_activate_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc26c8adf wlp_prepare_tx_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xcc1eec6d wlp_dev_model_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd345bf99 wlp_dev_prim_category_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd4350f60 wlp_dev_prim_category_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd8f36113 wlp_dev_prim_OUI_sub_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xeb91154d wlp_dev_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xed186af4 wlp_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xed4045c1 wlp_uuid_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf17d8b86 wlp_dev_prim_OUI_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf8373fd1 wlp_eda_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xfce49da5 wlp_dev_serial_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xfd2232f7 wlp_dev_prim_OUI_store +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x01f5788c ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x1585a1fd ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x611ba810 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xaea49e53 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xb2887ac9 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xe8cd6864 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xf7f013a8 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/fb_ddc 0x024a37ec fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x224e69be fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x5e42da67 fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x786f2db2 sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0xed6f6075 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/w1/wire 0x29f97589 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x577e0726 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x98ccea54 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xa7e840c2 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xdda4e3b1 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe31e0d41 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe67a8f40 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xee12e119 w1_reset_bus +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x04d7357c dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x0864c4a4 dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x1d1af957 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x74e264d7 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xdc583c08 dlm_unlock +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0x0a495092 exportfs_decode_fh +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0x4348b392 exportfs_encode_fh +EXPORT_SYMBOL_GPL fs/fat/fat 0x0ae8432a fat_free_clusters +EXPORT_SYMBOL_GPL fs/fat/fat 0x19a95bcc fat_add_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x3df73e99 fat_flush_inodes +EXPORT_SYMBOL_GPL fs/fat/fat 0x50cac0fc fat_remove_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x5216e4de fat_time_unix2fat +EXPORT_SYMBOL_GPL fs/fat/fat 0x61113fb1 fat_sync_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x672c0ea5 fat_getattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x696692b0 fat_attach +EXPORT_SYMBOL_GPL fs/fat/fat 0x69ff2597 fat_alloc_new_dir +EXPORT_SYMBOL_GPL fs/fat/fat 0x6fbe38bf fat_get_dotdot_entry +EXPORT_SYMBOL_GPL fs/fat/fat 0x8c087db4 fat_fill_super +EXPORT_SYMBOL_GPL fs/fat/fat 0x9052aa2e fat_fs_error +EXPORT_SYMBOL_GPL fs/fat/fat 0xc595bb88 fat_dir_empty +EXPORT_SYMBOL_GPL fs/fat/fat 0xc667f93f fat_setattr +EXPORT_SYMBOL_GPL fs/fat/fat 0xd2214775 fat_search_long +EXPORT_SYMBOL_GPL fs/fat/fat 0xd6adfeb0 fat_build_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0xe6898766 fat_scan +EXPORT_SYMBOL_GPL fs/fat/fat 0xe6c86c67 fat_detach +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x1a618932 nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x2efcb295 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x63bf67be nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x8d2af67b nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa7b91a7b lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xc711e2d3 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf6933c48 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf81a9b35 nlmclnt_done +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x656fdf31 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x96dd0d2b 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 0x1e94f3ac o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x2256a07e o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x22d65c89 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x36418553 o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x687f6251 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x68f21d05 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x90a6e669 o2hb_setup_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 0xb4e4043b o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb9628561 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbaeb4700 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd60f2c6c o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x013f6e19 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x170c2cdb dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7860d110 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x8332c3f4 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xc801f3cd dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xdfda0a3c dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0562c415 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x06379db6 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0e27f909 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x21db5b88 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4a1f6fe9 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4e005f65 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x81c85a68 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x8f5c5ec9 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x91fab465 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x963932a3 ocfs2_stack_glue_set_locking_protocol +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xa7d5c1c0 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xa94869e4 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd066711e ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL lib/lzo/lzo_compress 0x56b63670 lzo1x_1_compress +EXPORT_SYMBOL_GPL lib/lzo/lzo_decompress 0xf30fda27 lzo1x_decompress_safe +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 0x01b146c3 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x02db6a72 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x2ba2976a garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x3bec05ae garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x4065eeff garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xea97b47a garp_request_leave +EXPORT_SYMBOL_GPL net/802/stp 0x6a3f33f2 stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0xf4d32b1c stp_proto_unregister +EXPORT_SYMBOL_GPL net/ax25/ax25 0x81349966 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 0x4271a602 bt_class +EXPORT_SYMBOL_GPL net/dccp/dccp 0x03564f6c dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x06c170f4 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x125250bb dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x25e7811a dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3707b6bc dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3c8d5f1b dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3d2eee7c dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3e756719 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x448351a2 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5397c8fe dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x542fc2ff dccp_insert_option_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5471d96a dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x56ea266a dccp_state_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x576026e2 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5d8daa52 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6d01cedf dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6f037a38 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x70b1d967 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0x745d4750 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7cfb9a79 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7f8f21fa dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8b7d8caf dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8d746bfc dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8eed9599 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9750e273 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9fb9ec91 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa75efc75 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xaa0ddb7a dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb154e8e0 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbe981691 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc6e1e91a dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd993a31e dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0xda947bb5 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdebacdc1 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdfa1d9cc dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xed730647 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x2b1a0ad7 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x2c983131 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x426511b0 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x862cd410 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xa3f2837d dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xed67affd dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x543c9052 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 0x07ae60b6 nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x0cf7961e nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x0d802ece nf_nat_proto_find_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x1fbe01e6 nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x232ec157 nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x314e3702 nf_nat_proto_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x385b75f9 nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x8f9fa758 nf_nat_proto_range_to_nlattr +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x94a08134 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat_proto_gre 0x636b12c8 nf_nat_need_gre +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x06067477 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x1cb2fee7 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x582cff52 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x999f2042 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xad464fee tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x949d2750 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xddf83927 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe6476b4a net_vs_ctl_path +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x041013fd nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0746efd8 nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0fa82a20 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1715968b nf_expect_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1bc2a74f nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1bef5434 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x26b4bf5e nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x29039063 nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2d8000ef __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x35708d5a nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f8420e5 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4ad00517 __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b30c210 nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b9065a9 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x53f64d39 nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x54ca3df9 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5882ba33 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5c16a15c nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x61c02fbb nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x636c95bc nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x63e33f80 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x64ca2dd2 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x68fff3b2 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e00e2e1 __nf_conntrack_helper_find_byname +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6f72a49b nf_conntrack_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x709103e4 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x74495942 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x75fe7952 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7972afe1 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x81c37fc4 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x827e816c nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x831cd302 nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8dac908d __nf_conntrack_find +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 0x928db7f4 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x93791f10 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x950ebb19 __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9af3f6c1 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9b9da9f0 nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9c8cf395 nf_conntrack_untracked +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa25d53bf print_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa2d0da71 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa3e9839c nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb5c0c2bc nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb8fbcddf nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbb6f087f nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbcf55368 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc066bd35 nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc3c9495d nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcd6d4b52 nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd23f1a7d nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd2a9a55a nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd2ed5561 nf_conntrack_hash_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd47ae506 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd49adf00 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe5cc998e nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe746da48 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xeb2295ed nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xefc2843c nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf03dd123 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf4d2d1c2 nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfac42db5 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfbf1f9be nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe2f041d nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xff6feb88 nf_ct_unlink_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x269f275a nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x529611b7 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x0eedbc18 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x14f4d6e6 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x31919846 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x673b9e9c set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6befb956 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7efc8956 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x865195d1 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xcedae2b2 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xdbfe50f9 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xeed0385d nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x3c915e46 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x0836afa4 nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x324fc77c nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x6a22ca77 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xdacd040d nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x3ebe2f80 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xfd3ceb14 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x10ed3bca ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x489f18e7 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x5d7e6471 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x5f4b2fef nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x6b177696 nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7d428cd4 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8a359f23 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x933c1936 nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x935158a4 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa8011fdc nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xc7845275 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe82dd2d7 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x3091475b nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0xf103b7d2 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0xf11678f1 nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x46b076c6 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x61d90401 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x9f7ff0ed nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xeca95329 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xef9b4bbd nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xf9e46caa nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x8c702ce0 nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x0e749087 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1a582d63 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x209a4629 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4f432b51 per_cpu__xt_info_locks +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7695a761 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x792095ee xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x89b9f362 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8ee0735a xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbb8193e6 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcf99fc26 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xfb50a767 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xc2429b63 xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xfc852663 xt_rateest_put +EXPORT_SYMBOL_GPL net/rds/rds 0x009c5b98 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x12e75609 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0x203a42fa rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x2a361424 rds_inc_addref +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 0x36d3cf8d rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0x3ca7c567 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x456a3acc rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x51b76650 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x54ea936c rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x82ae0c14 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x855af7c1 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x885b03db rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x89d352a7 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x96fafe85 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x9b3e6113 per_cpu__rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x9fe8d7c8 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0xa0d7b18e rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xa95e74a1 rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0xaa2abd91 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0xb39926eb rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xba626309 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0xbaf9632c rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xda564772 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xfb1913ce rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xfdf594c7 rds_conn_drop +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x833f219b rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x9c3623b7 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 0x14e7c37a gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x36267746 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x5503dccb gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x615030b6 gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x6c95833e gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x83935a1d 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 0xb5cb3724 gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb6f3f7a0 gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd467eae3 svc_gss_principal +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xdc21c2ad svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf3f968a1 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 0x00188241 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x01f6fbf7 rpc_queue_upcall +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 0x071d5e2d svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x092a761d xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0da850ba xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f9fd9c0 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1086e626 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12e280e3 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12e7e7f7 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x169c2d81 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x16ed4b46 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x171b6d01 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x17c4d504 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1897c0ba svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e5f3f3c svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20612bca unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21fbd96e xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x229ea25a svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2626cee4 rpc_exit_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27c3a194 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x295d13be auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2a5d2711 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2aa17774 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2aab2358 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2ae881ca svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b3765a6 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2dbe6605 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x33563601 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x386c2a5b cache_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ac5bc2a svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ad35a5e rpc_get_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3c037b2a rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d2158a8 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3dc41ee8 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42dd24de sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4340adf9 auth_unix_forget_old +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x43836017 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x47c2f4f1 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4898c43f xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4cb1fd01 rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e18f736 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5144725c xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5328b156 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x550547a3 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x55482d20 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x57298f5b xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x577eab3f rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x591d34c7 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a2b579e svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b14ec1a rpc_put_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bd26000 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c4246d1 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5cabde13 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5cf79142 rpc_mkpipe +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5e33372d auth_unix_add_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x675524ec rpc_sockaddr2uaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6980cc8d rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x69d731cd svc_sock_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c5304c5 rpcb_getport_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e053ce7 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e651324 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6eea229d svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x77913fa6 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f63fae9 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fc33852 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x805f5fa7 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x807e1393 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81ff43bd xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x822bd629 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x83a3bac2 svc_sock_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86ed282a rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x87e946c3 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x88ae5a4b svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x89f82921 xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8bab3203 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d2e8cec svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9088f3d5 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94329e6d sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9433c455 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ba861ec cache_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ce9a5b9 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9edaa2d0 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa01729b4 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa11a3893 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa147326f xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa171aa7c xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa280d683 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa6566ff4 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa7baeed7 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9048da4 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa34b2af xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac231252 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xafe34355 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb387b246 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3b2f59d xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7727784 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb818eb31 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba0cc192 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf31686d rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc869f965 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9070a19 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc96fd331 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc970d7a1 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb95f2ba sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc4ab914 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xccc2372e rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd046ed7 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf94b0e6 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd030537e rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd032ffb4 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd254ea01 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2fc8375 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd3bc4789 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd3e0a7f8 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd51fb76f rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd557c061 rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd599d101 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd82c728e rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd8dc1782 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd8e2614f csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdbf7b182 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdca1dcb7 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd61d077 auth_unix_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3205aef svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3bcbe2b svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe44277cb svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe44f3409 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4dfa410 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7a7ecd6 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe852ee4c svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe8602e37 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xebee13d9 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xecb760de rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedb54060 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedd1ba52 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee23f5fa rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeffb9993 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2a0553b rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf420a544 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf5908be3 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf5ad2a3d svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6c760e5 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9061d5d xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf92a5437 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9b7b1cc xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb522321 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfcb2b75e rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfeae8249 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/wimax/wimax 0x05dbc993 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0x16d8190f wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0x245220c2 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x5a6dc913 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x62c432c9 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x70d97946 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x784271b0 wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8c698244 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0xa0613779 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xbbf69c5d wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0xbe7368c9 wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0xdb42da5b wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0xfe1f26f9 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x02b02862 cfg80211_wext_giwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x050670b4 cfg80211_wext_giwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x15281825 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1ce5f650 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x231222cd cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2f8be077 cfg80211_wext_siwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x37e1e235 cfg80211_wext_giwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3a411b3d cfg80211_wext_siwmlme +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3b78208f cfg80211_wext_siwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3c986065 cfg80211_wext_siwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3cecffa3 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3fd7c7b3 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x443faa5b cfg80211_wext_siwgenie +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x636412be cfg80211_wext_giwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x690e73b8 cfg80211_wext_siwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x716471fa cfg80211_wext_giwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x749e7f3b cfg80211_wext_siwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7e0066e8 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x84772c5e cfg80211_wext_siwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8f2ba1cc cfg80211_wext_siwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x91319645 cfg80211_wext_siwencodeext +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x95287660 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa4522adb cfg80211_wext_giwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa9db4aec cfg80211_wext_giwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xacf6c955 cfg80211_wireless_stats +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc1a0c387 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcc3e3231 cfg80211_wext_giwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdd61680f cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdff51db5 cfg80211_wext_siwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe659ff1e cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xfd5f53a6 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xfe2e5413 cfg80211_wext_siwap +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x23ce215b ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x974a2b91 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xb293d9a0 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xed024c71 ipcomp_input +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x030e3676 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0795ca38 snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x08fda28b snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x16b90fa4 snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1ed6056d snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x228193f3 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2abb7d11 snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2ae98418 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2d66bddd snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2fa11316 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x34c790df snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x362d19f6 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x36d3ec34 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3842bd13 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3870e2b2 snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3fec86fb snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4137fc54 snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x41e61348 snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4804b8b0 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4e6e9fb8 snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x51a595b2 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x51c16941 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5379f6bb snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ae76f73 auto_pin_cfg_labels +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x60878dcb snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x625dd9a3 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x642e83fc snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x682f793c snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x68cfacaf snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6cbf5272 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6f4e9e22 snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x71cc9c57 snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x72d1c24c snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7748864b snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7949cda9 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7ae75165 snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7c0b4e7f snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7d8faefe snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7e5b275d snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x80a2179b snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x86224c44 snd_hda_parse_pin_def_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8af4ecbd snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x93bfead7 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9435f27c snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x96754c58 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x99290dcc snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9b34dcfe snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9b82be28 snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9c3fd163 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa0da3587 snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad87613e snd_print_pcm_rates +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xafe51f56 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb996a420 snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc137983f snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc34a54c6 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc4ad81e0 query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcce27eb0 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcd0d41d8 snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcd4a631c snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xce18ed60 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcf9a970c snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd44f12eb snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdcebc948 snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdf3f7839 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe0e33398 snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe27e0a3a snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe7d13ff2 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xec1d9dc0 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xed26f088 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xed4a8ad9 snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xed8f0d68 snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xee99db95 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf3193dd4 snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf4eba7db snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf597f7e4 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf637c4d2 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf7129e5a snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfccc54f2 snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xff3c9784 snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0x2fdc71b0 soc_codec_dev_ad1836 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0xff4fe557 ad1836_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0x09e33b5b soc_codec_dev_ad1938 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0x09ef84b9 ad1938_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0xaa092698 ad73311_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0xd53d4721 soc_codec_dev_ad73311 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4104 0xf5b47506 soc_codec_device_ak4104 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0x59429cea ak4535_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0xcf2dc70b soc_codec_dev_ak4535 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0x0f6f953f ak4642_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0x9796e8a7 soc_codec_dev_ak4642 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x9b10588e cs4270_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0xfe3898b6 soc_codec_device_cs4270 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0xe9c6d20c max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0xb54ed996 pcm3008_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0xcf2b1d1b soc_codec_dev_pcm3008 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-spdif 0x692ba23e dit_stub_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x1ca9f10f ssm2602_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0xc49e18d0 soc_codec_dev_ssm2602 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0x0f8bdf54 tlv320aic23_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0x7d87e0de soc_codec_dev_tlv320aic23 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0x124418e6 aic26_soc_codec_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0x2f0e5185 aic26_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x350e4f44 aic3x_set_headset_detection +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x56e51379 aic3x_get_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x97a6edf6 aic3x_set_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xb176dec8 aic3x_button_pressed +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xbc2b312d aic3x_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xceff88dc soc_codec_dev_aic3x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xd81a56ba aic3x_headset_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0x56841504 twl4030_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0x6b1390d8 soc_codec_dev_twl4030 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda134x 0xaaabf6dd soc_codec_dev_uda134x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x9b11cab4 soc_codec_dev_uda1380 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0xe4c460d3 uda1380_dai +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 0x98c525c7 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xf8e83297 wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x36000411 soc_codec_dev_wm8350 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xfb08babe wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xfc33099a wm8350_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0xa4ce2f24 wm8400_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0xad1cfe43 soc_codec_dev_wm8400 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0x337991ab wm8510_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0xa67940c8 soc_codec_dev_wm8510 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0x8405f998 wm8523_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0x8f12ad52 soc_codec_dev_wm8523 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0x6da5c361 wm8580_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0xa9a87b47 soc_codec_dev_wm8580 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0xace70e26 wm8728_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0xc6efbc12 soc_codec_dev_wm8728 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x16ef6d6c soc_codec_dev_wm8731 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x2d9f545a wm8731_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x0b79209f soc_codec_dev_wm8750 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x8513b2c5 wm8750_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x2054735c soc_codec_dev_wm8753 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0xb9b02411 wm8753_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x1f78d97f wm8776_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x5ea75377 soc_codec_dev_wm8776 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0xc2a18f50 wm8900_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0xed6d9547 soc_codec_dev_wm8900 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x4435fdfe wm8903_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xc640c684 soc_codec_dev_wm8903 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0x36eeab43 wm8940_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0xea643d9b soc_codec_dev_wm8940 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0xa171ba6a wm8960_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0xe9e0e9f5 soc_codec_dev_wm8960 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0x6a2d69cf wm8961_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0xf0fbd8b4 soc_codec_dev_wm8961 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0xcc5a627b wm8971_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0xf139b283 soc_codec_dev_wm8971 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0x8c4e46c6 soc_codec_dev_wm8974 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0x9c97f3c8 wm8974_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x1d1d435a wm8988_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x2ba74ef7 soc_codec_dev_wm8988 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0x5739ca83 wm8990_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0xe2bcaec8 soc_codec_dev_wm8990 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0xc991fd0b soc_codec_dev_wm8993 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0xd1adb82d wm8993_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0x32261dfa wm9081_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0xba0d9384 soc_codec_dev_wm9081 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x04a0d292 dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x04b82f95 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0867eed1 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0975d6d7 snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0b5d3166 snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c5b6a9a snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0cdd10f3 snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0dce8885 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0e173eec snd_soc_free_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0e280d89 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0f310990 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x11ed1c9d snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x19789c44 snd_soc_new_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2373369b snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x23fb0347 snd_soc_get_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x27ca26c2 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2ba1e0fa snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2c5799c3 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x30f26b88 snd_soc_put_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x32b7d345 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3850053b snd_soc_resume_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x39a0e17e snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3bc8b3aa snd_soc_init_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4ab5f525 snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4c0ddcbb snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4e4cc15b snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x548282fd snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x57d974ea snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x598702a0 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5b5b0398 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6231cc0a snd_soc_dapm_stream_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6351ec90 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x65126fd0 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x65475eec snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6aedb749 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x73a0d2c0 snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x783219cb snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7851917d snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7db97aa7 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x82c816d8 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x881559e8 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x884ec813 snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ee5772d snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x96ab1f38 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9b6d117f snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9dec1fe2 snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9ed96a81 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa9c798c5 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaa3c1ad5 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaae5c1e0 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xadb28b2a snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb4f529cf snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb6e97492 snd_soc_info_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xba0cd257 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbdb305b6 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc1d50356 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc1e17952 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xccc39ebd snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xccca37db snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xce1e8070 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xceea48b0 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd327524c snd_soc_add_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd4bf450e snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdb7f09aa snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdd3a56ec snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe43792b0 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe91be3a1 snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xec75ec2a snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfd2fa044 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfd48180f snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfed3a22c snd_soc_suspend_device +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x2e0a0be5 xv_destroy_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x51958fac xv_malloc +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x7e80b9f6 xv_create_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x9a79aa81 xv_free +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xaf69699e xv_get_object_size +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xc1f55d16 xv_get_total_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0x000d9287 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x002ff5a3 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x003ed6a6 hpet_unregister_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x004fe30f crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x00566d8f inotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x008208a2 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x008b9c50 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x0107f84f dm_rh_bio_to_region +EXPORT_SYMBOL_GPL vmlinux 0x010abd3c sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x010b3618 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x0110b3d1 register_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0x01123a0d rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x0151f66b usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x016b9869 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x01848a8e local_apic_timer_c2_ok +EXPORT_SYMBOL_GPL vmlinux 0x019fd517 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01b7bb55 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x01cb4883 __set_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01eb45f8 d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x020f9c9f kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x021d8c1e ata_port_probe +EXPORT_SYMBOL_GPL vmlinux 0x025ae5e5 xenbus_map_ring_valloc +EXPORT_SYMBOL_GPL vmlinux 0x028ce666 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x02ccea56 lock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x02f25f42 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x0311f796 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x032926b2 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x032a90da clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x034a03d6 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x03aad584 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x03b93f5d sysdev_class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x03c3b3ee platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x03cfb40b rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x03e47b2e mmput +EXPORT_SYMBOL_GPL vmlinux 0x04069b1d set_irq_nested_thread +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x04522bd7 lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0x049a98a0 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x04b4a333 class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x04c3f2c1 gnttab_empty_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x04e31b28 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x05187b4c acpi_smbus_read +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x054b704a raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x0593d7d9 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x0597ce1b regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x05d81a4f led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x060d1064 set_memory_ro +EXPORT_SYMBOL_GPL vmlinux 0x060f5e5b fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x0619ca8a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x062e055c each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x06734576 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x068d4e89 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x0697126e pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x07193bf1 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x07b382ab usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07ce7344 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x07ff4aea xenbus_scanf +EXPORT_SYMBOL_GPL vmlinux 0x08067da6 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x08117352 nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0x08a3e5d1 net_ipv6_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0x08bcd118 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x0930a9c5 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x095bb233 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x09c4effc ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x09d60450 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x0a03d02e xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x0a143872 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x0a5937c1 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x0a6cb76f cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x0ab1b3b7 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x0ac0ab25 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x0adcc7cd queue_work +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b35a2e2 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x0bb02b86 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c805f93 clflush_cache_range +EXPORT_SYMBOL_GPL vmlinux 0x0cb88680 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x0cdb244f dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL vmlinux 0x0cdc4559 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x0d186d6b hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0d2907b2 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0d61d653 get_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0x0da9043c ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0x0dbca508 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x0dd103c8 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x0deb0ade register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x0dec69fa usb_autopm_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x0e0248ef ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x0e08ee85 usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x0e109316 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x0e4fd0dc elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0e607bb1 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x0e676d17 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x0ea969d0 acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0x0ebaac6e crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x0ec0806c ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x0ec210b8 xen_start_info +EXPORT_SYMBOL_GPL vmlinux 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL vmlinux 0x0efde336 __pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x0f0b6527 do_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x0f73520f klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x0fdda2d3 pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x0fe2c578 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x0fe2d570 xenbus_directory +EXPORT_SYMBOL_GPL vmlinux 0x0ffa7775 fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x100c13c6 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x100c48a2 unregister_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101c923e __tracepoint_power_start +EXPORT_SYMBOL_GPL vmlinux 0x10621889 hpet_rtc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x107efbe6 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x109be214 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x10b6f257 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x10c5f808 get_driver +EXPORT_SYMBOL_GPL vmlinux 0x10da02cd sysdev_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x10e9bf06 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x114a3caf ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x116fe567 dm_rh_get_region_size +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x121fcda2 __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x124aeaa0 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1251d30f call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x12580a2f ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x1277da09 elv_register +EXPORT_SYMBOL_GPL vmlinux 0x12926442 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x12bed8db ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x12deb4ea ata_sff_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13c9f718 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x13e3fa99 pci_get_hp_params +EXPORT_SYMBOL_GPL vmlinux 0x1404796d register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x14254f95 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x145d6b33 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x149bd35c usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x149db923 selinux_string_to_sid +EXPORT_SYMBOL_GPL vmlinux 0x14ed9d3f platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x152b2b81 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0x1556756b usermodehelper_is_disabled +EXPORT_SYMBOL_GPL vmlinux 0x15568631 lookup_address +EXPORT_SYMBOL_GPL vmlinux 0x156257e3 apic +EXPORT_SYMBOL_GPL vmlinux 0x1562ab85 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x158179c9 fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x15892417 async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1596f928 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x1598dc9d unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x15b0606e e820_any_mapped +EXPORT_SYMBOL_GPL vmlinux 0x15d9f9ff scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x160b973d queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x162e3ebb input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x163d36f8 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x1670e37a inet_csk_clone +EXPORT_SYMBOL_GPL vmlinux 0x16836e04 speedstep_detect_processor +EXPORT_SYMBOL_GPL vmlinux 0x1697136d hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x16adaca7 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x16c57b0c unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x16c6af26 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x16f76869 probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x1717fe8b fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x171b577b unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x172e72d4 vdso_enabled +EXPORT_SYMBOL_GPL vmlinux 0x17724ad5 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x17abf088 pci_unblock_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0x17adf2f1 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x1810581d dm_rh_start_recovery +EXPORT_SYMBOL_GPL vmlinux 0x182b4539 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x18534d96 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x1878f62b edac_err_assert +EXPORT_SYMBOL_GPL vmlinux 0x18835b7d ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x188a693d crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x18ca4dde scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x18d53420 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0x18e5198e scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x18f3e1aa __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x18f83fab gnttab_grant_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0x192cbbc1 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x19437098 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x197dbe54 gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0x198b1fa9 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x199ea346 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19b70ac1 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x19b805b1 crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x19c3adcc get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a34edbb scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x1a432e92 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x1a474901 tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x1a938737 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x1a9b538e ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x1acda5b2 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1ae14ed3 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x1b2d40dd ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x1b7d9541 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1bb9f553 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x1c2cb88e usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x1c7b6c2a eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0x1c852e7c xfrm_calg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c8c42a0 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x1cc6b2e5 proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0x1ce1a938 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x1d20d622 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x1d6030f0 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x1d8f8059 __tracepoint_power_end +EXPORT_SYMBOL_GPL vmlinux 0x1da11106 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x1da65581 dm_rh_stop_recovery +EXPORT_SYMBOL_GPL vmlinux 0x1db21d74 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x1dbf984c cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x1dee2629 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x1e080456 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x1e3d1d59 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1eadd817 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x1eb8e160 isa_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1f3d1b77 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x1f8ec1b3 acpi_get_pci_rootbridge_handle +EXPORT_SYMBOL_GPL vmlinux 0x1fa2f0c2 sysdev_store_int +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1fd08d88 platform_device_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x200deea9 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x204b917f usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x205dcd7a klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x206f85e5 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x20a80599 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20e01bc9 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x20fb826f ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x210dbbad part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0x211ad049 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x215db6e9 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x2172eb09 scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0x2184b64f sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x2278c013 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x2278e5c5 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x2294384d dm_rh_get_region_key +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x229cd5da trace_define_common_fields +EXPORT_SYMBOL_GPL vmlinux 0x22d6af56 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x230dce96 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x2312a29e relay_open +EXPORT_SYMBOL_GPL vmlinux 0x23253735 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2325d6a0 inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0x233989b2 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x23616d26 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x23679939 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23869dc7 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x23a6ffe5 fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0x23fd2a34 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x2405ef3f spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x240ea049 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x24495712 regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x246f4153 pv_time_ops +EXPORT_SYMBOL_GPL vmlinux 0x2471ed23 crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0x247c41b7 ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x24866ad7 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x24c26e09 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x24c7698a xenbus_write +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x25244437 input_class +EXPORT_SYMBOL_GPL vmlinux 0x252a366d sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x2545c170 unregister_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x25817901 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x25adfed1 blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x25e8aa9c tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x260442c1 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x265f573b vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x267cd1c0 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x26995e53 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x26bb4ab0 fib_rules_cleanup_ops +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x27071bc7 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x2714a01f device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x2717c303 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x274a949f ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x2758817c dm_rh_dec +EXPORT_SYMBOL_GPL vmlinux 0x277593e5 pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x2787db00 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x279d5878 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x27adf232 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x27c2a4f9 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x281e44da crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x288de21c iomap_atomic_prot_pfn +EXPORT_SYMBOL_GPL vmlinux 0x288e5f60 fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0x28c045ba crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x28cdd248 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28dd174b usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL vmlinux 0x29292e86 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x29501527 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x29763af4 xenbus_unmap_ring +EXPORT_SYMBOL_GPL vmlinux 0x2980c410 power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2998ba57 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x2a0a4724 bind_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x2a33906b page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x2a34de0b rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2a476d28 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a6fde37 srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x2a993ebf ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x2aafbaaf pci_sriov_migration +EXPORT_SYMBOL_GPL vmlinux 0x2af90271 speedstep_get_frequency +EXPORT_SYMBOL_GPL vmlinux 0x2b12c58f sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x2b52d13b usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x2b9f8e23 nf_net_ipv4_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x2baa21da crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x2bc5b9f4 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x2be7fb8e disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x2bfc4d7f tracepoint_get_iter_range +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c972890 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x2cbe5380 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x2ce6cfa3 ata_port_start +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d53afee anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x2d5cedd6 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x2d9f2ce3 sched_clock_idle_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x2dd11777 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x2dd8444c trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x2df05483 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x2e2c7396 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x2e47f677 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x2f3b13a3 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f857551 machine_check_poll +EXPORT_SYMBOL_GPL vmlinux 0x2f89e1a5 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x2fcd9e17 dpm_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x2fcea0d4 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x2ff41901 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x2ff54cb1 acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0x3009a680 usb_buffer_unmap_sg +EXPORT_SYMBOL_GPL vmlinux 0x304edd32 acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x30856092 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x30a4f4ca bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x30dfbdf0 dm_rh_delay +EXPORT_SYMBOL_GPL vmlinux 0x30f591cf pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x31117114 rtnl_kill_links +EXPORT_SYMBOL_GPL vmlinux 0x318920b1 register_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3189d4df driver_register +EXPORT_SYMBOL_GPL vmlinux 0x3195c066 ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0x31c54454 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0x3204d4cc crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x325a5c26 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL vmlinux 0x325e677c gnttab_grant_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x32924a4d scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x32bf8a2d blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x32d5e7fc xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x32f17454 ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x330dae7f relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x33697f3b platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x3392859a generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x3392fe4c unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x33c54d7b dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x33d8a23d filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0x34275124 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x3435998b pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x345cad16 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x3471cf7c usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x34a3a67d init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x34a944cc crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x34dfd89a tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x354c6072 crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x35be5708 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x35d8c94a sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x35e6c470 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x35fd0312 per_cpu__injectm +EXPORT_SYMBOL_GPL vmlinux 0x36184378 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x361b8930 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x36e61d68 inotify_inode_queue_event +EXPORT_SYMBOL_GPL vmlinux 0x3714af78 put_device +EXPORT_SYMBOL_GPL vmlinux 0x372c9ba3 devres_get +EXPORT_SYMBOL_GPL vmlinux 0x373b1f59 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0x374a690c device_create +EXPORT_SYMBOL_GPL vmlinux 0x37ad4176 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x3841ab01 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x38993e51 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x38a80cee device_attach +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x38af7029 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x38ea936e __memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x39287f45 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x3928f35a acpi_smbus_register_callback +EXPORT_SYMBOL_GPL vmlinux 0x3948711e tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x3968d9f0 device_del +EXPORT_SYMBOL_GPL vmlinux 0x39764a00 macvlan_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0x397738d6 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x39ec0a5c crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x39f8139d dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x39fa9604 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x3a3483fd __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x3a7ea5bb srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x3a8da803 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x3ac2ef70 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x3b767680 xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x3b890af3 xenbus_unmap_ring_vfree +EXPORT_SYMBOL_GPL vmlinux 0x3b9eee2a sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x3ba610e0 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x3bd04670 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x3be7af02 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3c2044f6 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x3c37f58b regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x3c45d035 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x3c51a4a2 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x3c6c45ca __tracepoint_power_frequency +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3ca8f8de sk_clone +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cfdfae5 trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d581ced tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x3d63080b cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x3d6e5447 put_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0x3d7ea99a gnttab_grant_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x3dd4d3a7 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x3dd5d829 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x3dde0e07 amd_get_nb_id +EXPORT_SYMBOL_GPL vmlinux 0x3dea9482 ata_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x3dff519e ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x3e70373b sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x3e73564c netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x3e757637 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x3ecf6cfc wmi_install_notify_handler +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f01570a probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x3f0e7a1c crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x3f238101 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x3f5a1050 sysdev_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x3f84d4c9 gnttab_release_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x3f91dd72 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0x3fe49d3f blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0x401cd77e inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40b07e4e dm_rh_recovery_end +EXPORT_SYMBOL_GPL vmlinux 0x40be2c41 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4102f234 inotify_rm_wd +EXPORT_SYMBOL_GPL vmlinux 0x41074320 skb_icv_walk +EXPORT_SYMBOL_GPL vmlinux 0x4135d271 inotify_init +EXPORT_SYMBOL_GPL vmlinux 0x413c9b2a spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x41a603c3 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x41adf226 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x4204b4e9 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x42494cea ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x424acc6d scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x424be8a4 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x4261e932 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x42646664 sis_info133_for_sata +EXPORT_SYMBOL_GPL vmlinux 0x426f13b9 e820_all_mapped +EXPORT_SYMBOL_GPL vmlinux 0x42a4231b ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x42d70e51 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0x4309c983 pci_block_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x435c24a4 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x439a5f5f xenbus_dev_fatal +EXPORT_SYMBOL_GPL vmlinux 0x43a34db8 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x44312bcf ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x4448bf31 user_describe +EXPORT_SYMBOL_GPL vmlinux 0x4456b625 nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x4460a8a0 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x44727e81 ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x447b2c51 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44a65d5c lock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x44b2ba93 crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0x44f119ec blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x4510eaf2 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x4541fe0d mtrr_state +EXPORT_SYMBOL_GPL vmlinux 0x454d5c01 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x45512ba7 regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x455bc3a2 tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45982802 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45bfcefe crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x45c127f7 inotify_remove_watch_locked +EXPORT_SYMBOL_GPL vmlinux 0x45d14bdf hypercall_page +EXPORT_SYMBOL_GPL vmlinux 0x460aa93f ata_sff_port_start +EXPORT_SYMBOL_GPL vmlinux 0x460f31aa rodata_test_data +EXPORT_SYMBOL_GPL vmlinux 0x4624d620 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x463d5807 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x4648a74f driver_find +EXPORT_SYMBOL_GPL vmlinux 0x46560d36 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x466a2755 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x46708188 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x4705bd87 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x47776ffb fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x4797b17f tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x47c52267 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x47c8ba85 pm_request_resume +EXPORT_SYMBOL_GPL vmlinux 0x47ea8a7f kill_pid_info_as_uid +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49a84764 ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x49db8db4 register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x4a43c6c8 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x4a59da0f unregister_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0x4a835e75 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4a91cb4b preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4ab3cca7 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x4b222951 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x4b6e75f6 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x4bebcf16 sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x4c181aff ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x4c2f30d4 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x4c3cbe86 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x4c40963d ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x4c705271 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4c814a44 ata_sff_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x4cbf341f usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x4cec82ee crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x4d35a984 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x4d3b7584 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x4d8c365c crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x4d8f4c15 klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4db26b42 ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0x4ddbd097 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x4e431410 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x4e52959b sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x4e7548eb pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x4ee02e94 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x4eedd8f5 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x4f05bad0 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x4f0bce29 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x4f646911 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x4f7e429a pci_configure_slot +EXPORT_SYMBOL_GPL vmlinux 0x4f95f211 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0x4fad79d7 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x5000c998 pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x50c1d92a usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x50c89f23 __alloc_percpu +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 0x51786fa6 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x518c2fc6 hpet_rtc_dropped_irq +EXPORT_SYMBOL_GPL vmlinux 0x51be173e regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x51d423fe scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x51f72375 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x521b8759 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x52496c50 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x52526007 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x526ddd08 srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x52710558 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x5281f665 pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x52c90dc2 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x52ca52a6 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0x52d111ea pm_qos_update_requirement +EXPORT_SYMBOL_GPL vmlinux 0x533aaff1 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x534f0477 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x5370f0c7 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x5372dede unregister_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x53783243 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x53cc1ded ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x5411fc65 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x54511151 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x545ac9a6 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x54677c26 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x5492ef1b kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54b9dbd5 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x54cfe1c7 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x54d155ce hypervisor_kobj +EXPORT_SYMBOL_GPL vmlinux 0x55432304 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x55526907 xen_features +EXPORT_SYMBOL_GPL vmlinux 0x55958530 get_cpu_sysdev +EXPORT_SYMBOL_GPL vmlinux 0x55cd2f35 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x55cdc66d ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x55e8d260 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x5614d1e2 queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x56398615 mark_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x563fb5c8 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x56947347 dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x56dbfe60 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x56fdcc9d debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x5710fa94 usb_buffer_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x5722cf95 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x57318787 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x5779d445 xenbus_exists +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x580b20ad __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x580cc049 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x58286771 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x5853084f rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x58671446 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x58f965ef aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x5916acb3 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x591df925 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x593a36c2 scsi_dh_handler_exist +EXPORT_SYMBOL_GPL vmlinux 0x593ee010 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x59507087 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x59ca3224 inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x59d26f28 sysdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5a1c9633 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x5a2b1b67 gnttab_free_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5a6ec452 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5af03a28 gnttab_claim_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5af20371 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x5b0781ee usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x5b309b3d bd_release_from_disk +EXPORT_SYMBOL_GPL vmlinux 0x5b33a11a __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c11b85d spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x5c3e7099 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x5c4037c4 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x5c5d603f pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x5c9b768d attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x5cf04dcf pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0x5d0f6f57 kbd_table +EXPORT_SYMBOL_GPL vmlinux 0x5d2614d9 acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x5d366dec gnttab_cancel_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x5d6a4471 br_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d87c067 register_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5d9ef447 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x5dc78542 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5dd69273 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x5dd7e267 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x5e3960fa fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x5e509d5b pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0x5e65a6ed ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0x5e6d58b6 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x5e82ac06 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x5ebab351 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x5f058e67 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x5f2da8c4 check_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x5f4dc9d6 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x5f700500 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x5f9372b3 inotify_find_update_watch +EXPORT_SYMBOL_GPL vmlinux 0x5fc9bf15 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x5fcdec5d xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x5fcee70e crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x600c2197 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x603fd481 inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x6040fd4b read_unlock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60cd73ed pv_apic_ops +EXPORT_SYMBOL_GPL vmlinux 0x60e5f765 spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x615d8880 dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x6160ea69 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x61747e09 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x61a3246e dm_rh_region_to_sector +EXPORT_SYMBOL_GPL vmlinux 0x61c3fd14 ata_port_disable +EXPORT_SYMBOL_GPL vmlinux 0x61d9e25c ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x61f5ed64 crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x62203a7d crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0x6223a49d fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x6248e402 cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x629a7f6e do_posix_clock_nonanosleep +EXPORT_SYMBOL_GPL vmlinux 0x62c5fcd0 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x62d84361 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x63583f91 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x636d12dd rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x63712c84 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x64423785 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x64d2710e sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x64ebe677 wmi_query_block +EXPORT_SYMBOL_GPL vmlinux 0x654c49e2 aer_irq +EXPORT_SYMBOL_GPL vmlinux 0x656540b9 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x658699ec cpuidle_unregister_device +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 0x65f826f0 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x660a613d tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x665f1cb9 pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0x666883e4 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66b48f58 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66fab731 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x66fc6128 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x672d5ccc usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67a0c347 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x67cfd95f __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x67e032ac power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x67e9e115 crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6806bef5 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x686c703f xfrm_count_auth_supported +EXPORT_SYMBOL_GPL vmlinux 0x688fa032 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x68a668cb hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x6901119a trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x695eb753 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x6974a909 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x698c50e0 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x699250be get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6a08ea65 fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0x6a10639e blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0x6a19f910 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x6a33d0f8 shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6aa97a25 i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x6aaa6143 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x6ab5ce93 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x6ac4d520 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x6ad2337e devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x6b0b5ebe usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x6b5a4dda ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x6b82a1c7 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x6b8a17df queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x6b8cefa0 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x6b9178b3 xenbus_strstate +EXPORT_SYMBOL_GPL vmlinux 0x6b94c408 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x6bb6cfab do_add_mount +EXPORT_SYMBOL_GPL vmlinux 0x6c0335d9 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x6c18752f dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x6c19e73b led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x6c40cf5b inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c63b0ff ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6c756591 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6c8eb98f xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x6cacf828 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x6cad4ac9 ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x6d0ebc4d find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x6d2e942e sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6def5a31 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x6e09bcb8 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x6e1650ae xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x6e4e5501 pm_request_idle +EXPORT_SYMBOL_GPL vmlinux 0x6e58ddf0 gnttab_end_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x6e7474fc xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x6e782c23 iomap_create_wc +EXPORT_SYMBOL_GPL vmlinux 0x6eb787ee klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x6ec2b8c9 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x6ede179b tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x6f1dda13 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6f2b8faa __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x6fde383e __pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x6fe3d8cf ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x7015b73c transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x7037d79d k8_flush_garts +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x707d9a20 inotify_add_watch +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x70ab0edf cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x70ada95b inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x70b96e85 xenbus_watch_pathfmt +EXPORT_SYMBOL_GPL vmlinux 0x7104532a dm_region_hash_create +EXPORT_SYMBOL_GPL vmlinux 0x714d35e3 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x719e9d0f fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x71c801cc raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x71c8bc95 kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x71c91c7a fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x71d29a5c register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x72235a8b aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x722c4f65 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x723dcec8 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x7285f84f unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x72e03bae stop_machine_create +EXPORT_SYMBOL_GPL vmlinux 0x72f43020 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x72ffe20b tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x731dba7a xen_domain_type +EXPORT_SYMBOL_GPL vmlinux 0x7343c70d disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x73495c6c unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x7375d6ac do_sync_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x739adef0 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73ff4175 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x740ac182 __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x740ff4d5 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x741eca04 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x743d90d4 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x74abdafa task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74deb10c used_vectors +EXPORT_SYMBOL_GPL vmlinux 0x7521afb6 leave_mm +EXPORT_SYMBOL_GPL vmlinux 0x7567d095 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x75ecf8e9 tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0x761188fd dpm_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x762e27de blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x76411fad pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x76625f57 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x76ad995c device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x76db4aad device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x7712771a unbind_from_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x773ca527 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x773cbab9 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x777e14f7 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x77f2db2e dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x7809906a dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x780eed89 acpi_processor_ffh_cstate_enter +EXPORT_SYMBOL_GPL vmlinux 0x781495ce sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x786ad990 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x78997770 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x78c04f6a debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x78e4a4ee klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x78f868be map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x7929091d platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x79850094 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x79e5f252 inet_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x7a24c084 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x7a4c1438 pv_info +EXPORT_SYMBOL_GPL vmlinux 0x7a8468ba tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0x7a8b56e6 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7aab2c45 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7aad98c7 pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0x7ab3c122 edac_handlers +EXPORT_SYMBOL_GPL vmlinux 0x7ab4d787 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7b034036 acpi_smbus_write +EXPORT_SYMBOL_GPL vmlinux 0x7b123804 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x7b1d544d edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x7b30f010 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x7b7d32c3 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0x7b9de079 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x7bae06df inotify_dentry_parent_queue_event +EXPORT_SYMBOL_GPL vmlinux 0x7bb39690 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x7bbbc3b3 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x7bcd2ded klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x7c2ebda0 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x7c31c2ac regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x7c4a5c0d md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x7c5be1f3 crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0x7c64e61a usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x7c65dcff rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7c6ef537 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x7c9717af inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x7cf5dbd3 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x7d0eaeaf crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x7d3d3598 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x7d67591b sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x7d8101b4 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7dff1476 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x7e0a478a __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e63dadf disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e7a3398 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x7e897c9e regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x7ed54ca5 destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x7ee1ddf3 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x7ee35b05 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x7ee8bd91 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x7efe1fc0 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x7f19c836 unlock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x7f220180 gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0x7f517b68 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x7fb02858 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x7fd6e315 bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7ff0dffa spi_async +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7ff256bc security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x8013fec2 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x8014b6af input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x8039d043 selinux_secmark_relabel_packet_permission +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80d9d673 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x80ee55c3 selinux_secmark_refcount_inc +EXPORT_SYMBOL_GPL vmlinux 0x80f18ee5 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x81084bb2 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x8111225f platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x81500b93 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x815b4f3a crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0x816faeb3 register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x81db3199 inode_add_to_lists +EXPORT_SYMBOL_GPL vmlinux 0x81e6d146 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x81e8c393 inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x82369400 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x82462391 xenbus_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x82a6f5b0 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x82cd19f3 register_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82f776b7 gpio_export +EXPORT_SYMBOL_GPL vmlinux 0x8308afc7 sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x833d9dc6 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x834c055e ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x834d8eee attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x83955d77 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0x840da5ac ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x8410daad kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x841b6e0b pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x8442a557 class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x846710f4 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x8481d007 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x850c7fa4 __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x857222d7 dm_rh_dirty_log +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85d7edfd hpet_set_periodic_freq +EXPORT_SYMBOL_GPL vmlinux 0x860f7444 dm_rh_get_state +EXPORT_SYMBOL_GPL vmlinux 0x86171039 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x862f0b3c ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq +EXPORT_SYMBOL_GPL vmlinux 0x866dba19 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x867c684a setup_APIC_eilvt_ibs +EXPORT_SYMBOL_GPL vmlinux 0x8680c348 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86a51007 gnttab_end_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x86b1667d hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86b483d2 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0x86cae041 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x873fbaea edac_atomic_assert_error +EXPORT_SYMBOL_GPL vmlinux 0x875087e1 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x876f24d0 pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x876ff8c8 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x87caff31 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x87dab61e platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x87f06200 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x880b189a __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x88108f03 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x883d628f tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x883dea1b get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x885142a6 nf_net_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x886736fc olpc_platform_info +EXPORT_SYMBOL_GPL vmlinux 0x88743dc4 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x88c02b58 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x89286c72 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x89484b9c __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x897fd962 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x89e3c517 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x8a060d4f fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x8a3817ca tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x8a78989f irq_from_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x8a83592c xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x8aa57a82 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x8ae8f1f9 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x8b50207b __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8b7db255 device_register +EXPORT_SYMBOL_GPL vmlinux 0x8ba3bc3b unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x8bba4c5b trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x8bcd1547 blk_abort_queue +EXPORT_SYMBOL_GPL vmlinux 0x8c06a108 xenbus_transaction_start +EXPORT_SYMBOL_GPL vmlinux 0x8c3484cc disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x8c38074a unregister_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8c3bf4f1 register_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x8c681003 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8c6f30fd ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x8c9d686d __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x8ccd0b6f __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x8cd17437 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x8cd7a730 sysdev_show_int +EXPORT_SYMBOL_GPL vmlinux 0x8ce45f99 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x8d033df4 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x8d41eb33 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x8d8b14f9 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x8dacba77 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x8e2e50ae __class_register +EXPORT_SYMBOL_GPL vmlinux 0x8eae69ba kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x8eb58c6e __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x8eb6bec9 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x8ed542d9 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x8edcfbc7 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x8f0cc814 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8fa74514 sysdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9009602a acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x9027261c use_module +EXPORT_SYMBOL_GPL vmlinux 0x9041e2ba relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x904be910 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x90508a7f usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x9085f917 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x9099669c vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90c20f88 tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x91102f82 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x91482eef usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x9159e1f1 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x91889eaf regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x91a255ae aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x91a46373 fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x91d93d40 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x92732398 put_driver +EXPORT_SYMBOL_GPL vmlinux 0x92ad33d3 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0x92c78cab ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d74e64 sysdev_class_register +EXPORT_SYMBOL_GPL vmlinux 0x92f238cd regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x92f4b081 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x92fb217b dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9347ec04 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x935b3b15 __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0x937f0e42 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x93bf114b cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93f4fda3 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x943cf13d __module_address +EXPORT_SYMBOL_GPL vmlinux 0x9449c320 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x945c2b1a filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0x949cf064 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94aa8400 bus_register +EXPORT_SYMBOL_GPL vmlinux 0x94d574f8 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x94de3391 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x94f66ebf dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x953bbbda inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x9543bc5d device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x95758050 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x95b892bf platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x961a8cd3 unlock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x963ac09e bd_claim_by_disk +EXPORT_SYMBOL_GPL vmlinux 0x96631e74 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9755bb7e crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x975c56a3 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x97982542 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x97c68536 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x985094e0 __create_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x985ce993 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x9888f881 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x98c00171 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x98fbf286 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x99517d70 single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x99821219 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x9984c858 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x99bace10 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x99c3775c kmap_atomic_pfn +EXPORT_SYMBOL_GPL vmlinux 0x99c98c4a acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0x99ca4f4e regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x99cbffc4 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x99ef6d00 crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0x99f9cadb sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a1444dc transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x9a7da800 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x9a95d243 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x9ae626e3 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x9b05c8dc ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x9b2d12da root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9b31d285 sysdev_register +EXPORT_SYMBOL_GPL vmlinux 0x9b49b9c2 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x9b691b4f blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x9b6adcf3 vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x9b7c29a5 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x9b7eedcf ip6_sk_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9b8b3e51 acpi_processor_ffh_cstate_probe +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ba5be24 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x9bab1cf0 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x9bc8c8a7 cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0x9c81f13d ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0x9c99da13 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x9cb8037b xfrm_count_enc_supported +EXPORT_SYMBOL_GPL vmlinux 0x9cba4b82 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9cde0f64 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x9d030b99 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0x9d06688b register_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x9d1280e4 dm_rh_update_states +EXPORT_SYMBOL_GPL vmlinux 0x9d2b6a58 hpet_register_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x9d308c4d hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x9d3850e1 gnttab_alloc_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x9d459e97 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x9d627132 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0x9d776301 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x9d7c73d1 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x9da483d9 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x9da5ecff usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x9dc1f12c usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x9dccd248 dm_rh_flush +EXPORT_SYMBOL_GPL vmlinux 0x9e01f6d4 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0x9e2c380c __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x9e37af87 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9e416a86 ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x9e711ad2 pm_qos_requirement +EXPORT_SYMBOL_GPL vmlinux 0x9e889e79 sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x9ebff902 start_thread +EXPORT_SYMBOL_GPL vmlinux 0x9edf10f8 get_device +EXPORT_SYMBOL_GPL vmlinux 0x9f3178f3 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0x9f3ffea2 lookup_create +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f7192a2 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9f85ed90 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fd7e8f1 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0xa0255440 net_ipv4_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0xa03a5e9b blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0xa053def6 proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xa05f5466 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL vmlinux 0xa10b3a89 scsi_dh_detach +EXPORT_SYMBOL_GPL vmlinux 0xa1325a52 mce_chrdev_ops +EXPORT_SYMBOL_GPL vmlinux 0xa1462743 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0xa17686c1 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xa18f3d5c iounmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0xa1fea124 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0xa205833f crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xa25d4e64 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0xa28d8527 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xa2e67f08 acpi_bus_generate_proc_event4 +EXPORT_SYMBOL_GPL vmlinux 0xa2f71244 sysdev_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa353fffc xenbus_rm +EXPORT_SYMBOL_GPL vmlinux 0xa3b7c41c ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0xa3eaa069 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xa3efa8e4 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0xa3f4fdd8 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xa3f9dc98 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xa400234a ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0xa40a8590 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xa42f4cc5 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0xa452c297 hpet_mask_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa46cdefb dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0xa4a96f7d pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0xa4df7ffb scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0xa4f05155 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0xa4f5f2e9 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0xa5037c66 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0xa50c456b br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xa54279cf user_update +EXPORT_SYMBOL_GPL vmlinux 0xa54e2db6 register_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0xa56cd768 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0xa5bf5c3e pm_qos_add_requirement +EXPORT_SYMBOL_GPL vmlinux 0xa5c36cec inotify_unmount_inodes +EXPORT_SYMBOL_GPL vmlinux 0xa5cf1f99 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0xa5e01388 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa6027c9a inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xa66ca854 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xa68381e6 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0xa69da0b3 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0xa7793117 tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0xa7c87e99 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xa7e1e2a1 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0xa81bb815 device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0xa84e9995 rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa8df106a pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa9126bff hpet_set_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa9424868 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xa943329f dm_rh_mark_nosync +EXPORT_SYMBOL_GPL vmlinux 0xa97c43d6 xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0xa9b7afd8 wmi_set_block +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9ca15c0 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0xa9f4c5e5 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0xaa2a72bf __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0xaa3e3aea __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xaa5310f9 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xaa8c4696 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0xaab3ca01 inet_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaaddf6ca blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0xaae1cc11 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0xab01acbe gnttab_request_free_callback +EXPORT_SYMBOL_GPL vmlinux 0xab15564c inotify_inode_is_dead +EXPORT_SYMBOL_GPL vmlinux 0xab1f0a2a dm_region_hash_destroy +EXPORT_SYMBOL_GPL vmlinux 0xab23b543 k_handler +EXPORT_SYMBOL_GPL vmlinux 0xab3cbfc4 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xab410444 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xab41bd91 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0xab57e311 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xab605b4e __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0xabaf109e input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0xabe18d53 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0xac1c0597 usb_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xac3aec5c unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xac3d880d user_match +EXPORT_SYMBOL_GPL vmlinux 0xac454dd9 dm_rh_recovery_start +EXPORT_SYMBOL_GPL vmlinux 0xacafa8e7 vector_used_by_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xacc19485 ibft_addr +EXPORT_SYMBOL_GPL vmlinux 0xacc8b52e driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0xacdd08b4 ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0xace2ee83 ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xad01cb93 inotify_find_watch +EXPORT_SYMBOL_GPL vmlinux 0xad04a35c usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0xad096363 xenbus_printf +EXPORT_SYMBOL_GPL vmlinux 0xad3ba9f0 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xad52006f rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0xad5d7c80 dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xad9bfb55 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0xadbc3638 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0xadfd33e2 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae1eaf06 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0xae35e4d8 register_net_sysctl_rotable +EXPORT_SYMBOL_GPL vmlinux 0xae3d0f1e console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xae3e9b0f ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0xae80b24b seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0xaebfec5e sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xaec95ebd ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0xaee61eb9 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0xaeeb9952 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0xaf3f6fe0 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xaf6a556c __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xafa15674 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0xafaa2be8 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0xafc7c996 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xb0223109 klist_next +EXPORT_SYMBOL_GPL vmlinux 0xb08bb460 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0xb0aa812e fips_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb0eedea9 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb10ce237 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb120812b ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb18506b9 smp_ops +EXPORT_SYMBOL_GPL vmlinux 0xb1852bb8 unregister_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb1f868c5 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0xb2e5e74d crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0xb320f061 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xb3253ed9 hpet_rtc_timer_init +EXPORT_SYMBOL_GPL vmlinux 0xb346550e usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xb3555489 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb416269c rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xb4647502 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0xb4671695 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0xb491cd57 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0xb4e14553 gnttab_query_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4ef0d32 sysdev_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb53ae573 cpu_idle_wait +EXPORT_SYMBOL_GPL vmlinux 0xb54e3920 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0xb54f9fbd driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb5a6ebe2 wmi_remove_notify_handler +EXPORT_SYMBOL_GPL vmlinux 0xb5ae3f1f user_read +EXPORT_SYMBOL_GPL vmlinux 0xb5d8913d register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xb6230f1f gnttab_grant_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xb6383dce ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0xb65091b3 selinux_secmark_refcount_dec +EXPORT_SYMBOL_GPL vmlinux 0xb67eb743 drop_file_write_access +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6bc49a9 __supported_pte_mask +EXPORT_SYMBOL_GPL vmlinux 0xb6c1fa11 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xb6eaedfe usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xb6f5e1ad ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xb718f2f9 sfi_table_parse +EXPORT_SYMBOL_GPL vmlinux 0xb744fa43 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xb7600a3e crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xb7614962 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0xb761526d ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0xb76385bd sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0xb78e3f4c regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb7d7c12e hpet_set_alarm_time +EXPORT_SYMBOL_GPL vmlinux 0xb7e2eb91 mce_cpu_specific_poll +EXPORT_SYMBOL_GPL vmlinux 0xb7fc92ad scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0xb7fdd0df eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0xb8857caf class_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb8865276 nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0xb8ae1bec generic_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0xb8bae48e ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xb8ce7de7 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xb8de734f mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xb8fc8446 xenbus_alloc_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xb90045b4 device_add +EXPORT_SYMBOL_GPL vmlinux 0xb903674c scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0xb92cb1f3 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0xb94a8234 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb956f9f3 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb9776683 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xb98c9f8f ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0xb99d5837 xenbus_read +EXPORT_SYMBOL_GPL vmlinux 0xb9b424c5 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xb9ea670e sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0xb9eb3aa9 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xb9ebc402 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0xb9f123f6 xenbus_free_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xba287d49 ata_sff_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xba690e41 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xba8179c8 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0xbaa52d5d led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0xbaa893b9 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0xbadbd6ed ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbb1e85ea bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbb2c5188 inotify_destroy +EXPORT_SYMBOL_GPL vmlinux 0xbb4a1408 klist_init +EXPORT_SYMBOL_GPL vmlinux 0xbb501413 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0xbb58b814 iomap_free +EXPORT_SYMBOL_GPL vmlinux 0xbbb98859 edid_info +EXPORT_SYMBOL_GPL vmlinux 0xbbf4af4d __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0xbc6d1291 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0xbc9bb097 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xbca5c7a3 ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0xbcb90888 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbd19d1f7 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0xbd506a46 unregister_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xbd8782e9 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0xbdacd6a8 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbdf624af virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0xbe116723 do_posix_clock_nosettime +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe2597af save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0xbe25a81c ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0xbe584033 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0xbeaa68dd dm_rh_inc_pending +EXPORT_SYMBOL_GPL vmlinux 0xbef72b95 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0xbf456d26 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0xbf4f0cda securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xbf5d6287 xenbus_map_ring +EXPORT_SYMBOL_GPL vmlinux 0xbf7d38eb blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0xbfa146fe usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0xbfd94bb0 bind_virq_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0xc044f496 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xc098f17c sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xc1139676 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0xc126e890 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xc12f7e0d trace_profile_buf_nmi +EXPORT_SYMBOL_GPL vmlinux 0xc16d0a75 usb_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc1e4e9f2 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0xc208deb0 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc24403bd sysdev_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xc26351f8 bind_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xc29c1c2e register_posix_clock +EXPORT_SYMBOL_GPL vmlinux 0xc3301f02 rcu_expedited_torture_stats +EXPORT_SYMBOL_GPL vmlinux 0xc33c1b78 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc36d45f0 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3aa2836 read_lock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0xc3b80d04 preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xc40591fb crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc42f2f94 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xc4702c9f register_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4b33aa6 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc4cdf335 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xc51b5f4d transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xc5397da6 xenbus_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xc55c631a sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xc5c62762 regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0xc5d8053f get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xc5dde511 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0xc5e2e9fd dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xc5e3dddf wmi_get_event_data +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc6545d64 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xc673e23e ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xc688210c skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0xc6c17d7d debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0xc7729ceb usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xc7bfc53e page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xc7ec11f6 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc87e487a sched_clock_idle_sleep_event +EXPORT_SYMBOL_GPL vmlinux 0xc8eb5766 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0xc904a168 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc9343715 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc97d01b8 ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xc9a57696 ata_sff_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0xc9d4d6d1 wmi_has_guid +EXPORT_SYMBOL_GPL vmlinux 0xc9e13f58 inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0xc9e6ccdf cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xca01f51c tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0xca08257c usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xca6bd777 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0xca81ea9a xenbus_transaction_end +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xca8eb935 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcabe4864 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0xcac409c9 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcae9b7a1 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0xcb02579e devres_find +EXPORT_SYMBOL_GPL vmlinux 0xcb060564 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcb2fa2d7 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xcb759cbb xenbus_switch_state +EXPORT_SYMBOL_GPL vmlinux 0xcba265a6 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xcbb234e3 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc6ab305 is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xcc8191bf pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0xccba1f3c ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0xccc3a20b sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xcd2f83d3 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xcd4b7b98 register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0xcdac31bc tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xcdb33713 proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xce1df360 debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xce33b02c bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0xcebd4457 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xcee2a73c ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xcf72d8cb find_symbol +EXPORT_SYMBOL_GPL vmlinux 0xcf7a962e cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0xcf8391f7 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0xcf8af983 trace_profile_buf +EXPORT_SYMBOL_GPL vmlinux 0xcf8bb9fa inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0xcf8f43c3 crypto_unregister_alg +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 0xd03536d2 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd03fdcc0 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0xd065f847 net_assign_generic +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0c110fb usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0xd10c2183 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0xd12ac59b olpc_ec_cmd +EXPORT_SYMBOL_GPL vmlinux 0xd137168a driver_add_kobj +EXPORT_SYMBOL_GPL vmlinux 0xd1568727 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd19bbcea devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd1c2c081 platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xd1f972d9 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd20d1eef usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0xd2205aec pci_intx +EXPORT_SYMBOL_GPL vmlinux 0xd23bc8a3 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xd245780a sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd2a6d3bb sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0xd2a8caf0 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd312f2b2 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xd36d16b4 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xd37bc9bb hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xd39a47fa acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0xd39c834a user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xd3b15cba ata_sff_host_intr +EXPORT_SYMBOL_GPL vmlinux 0xd3c230b4 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xd3c5a8d3 sysdev_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0xd3dd1bf2 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xd409c18e aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0xd42319b0 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0xd438a662 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xd4711f60 skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0xd47429f5 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0xd484b603 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0xd494ee54 speedstep_get_freqs +EXPORT_SYMBOL_GPL vmlinux 0xd49f211c device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd4baf821 ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd4eed84a uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0xd5051eb7 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd544e902 pgprot_writecombine +EXPORT_SYMBOL_GPL vmlinux 0xd54789a1 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xd54fa78f screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0xd57da570 xenbus_bind_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xd59d0758 dm_unregister_path_selector +EXPORT_SYMBOL_GPL vmlinux 0xd5b89c2b class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xd6e97436 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd72771cc ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xd73ef534 sysdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xd747aa96 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xd757577f sysdev_create_file +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd79fbaf9 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xd7aae81c crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0xd7aba476 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0xd7d79132 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd7f499f3 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xd7fa6ff4 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xd81658e7 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0xd878d7c6 xenbus_dev_error +EXPORT_SYMBOL_GPL vmlinux 0xd9042fa8 scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0xd9b037de handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xd9c1b708 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0xd9df18e0 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0xd9f632be cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda69731d usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0xda6ad292 crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdafa0010 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0xdb002e70 __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xdb1fbf67 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0xdb274e52 monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0xdb29abf6 xenbus_grant_ring +EXPORT_SYMBOL_GPL vmlinux 0xdb5f963b cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xdb926e55 dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0xdba19ee8 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xdba64f1c eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0xdbe1aaad vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xdbf49b77 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xdc034fbb crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xdc15007d class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdc3bc370 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0xdc58a033 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xdc714560 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xdc7c5ef7 sysdev_class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xdc89a505 scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0xdc9eaeb1 pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0xdcc8179a pci_hp_change_slot_info +EXPORT_SYMBOL_GPL vmlinux 0xdcd672a9 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0xdd2d72e8 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0xdd4a3893 ata_bmdma_mode_filter +EXPORT_SYMBOL_GPL vmlinux 0xdd884c3e device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0xddb1717f generic_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0xddd2471b __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xde3504f8 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde48df18 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xde88bca5 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0xdec589d4 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xdf2e2226 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xdf3d96e5 inotify_init_watch +EXPORT_SYMBOL_GPL vmlinux 0xdf800229 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xdf936e1b pskb_put +EXPORT_SYMBOL_GPL vmlinux 0xdfa13ef4 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0xdfafb983 per_cpu__gdt_page +EXPORT_SYMBOL_GPL vmlinux 0xdfc8db60 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0xdff4586f inotify_rm_watch +EXPORT_SYMBOL_GPL vmlinux 0xe01eda75 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0xe0539850 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0xe0792e1b ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0xe09bbed0 find_module +EXPORT_SYMBOL_GPL vmlinux 0xe0c77bb5 mce_notify_irq +EXPORT_SYMBOL_GPL vmlinux 0xe0c89de2 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0xe0cca33e xfrm_aead_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xe0f36f81 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0xe118f713 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xe1b795b2 __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0xe1b9dce6 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xe1fe1aa9 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0xe2034e95 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0xe2194014 crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xe2228d90 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xe22bfe79 pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0xe22d33b0 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe23308e7 i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0xe2426710 wmi_evaluate_method +EXPORT_SYMBOL_GPL vmlinux 0xe247343b hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0xe24c77bb usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0xe24db3a9 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xe2525839 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe2652d32 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0xe27551b7 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xe295c0ff is_hpet_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe2d02f4c unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xe2e61a37 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0xe2f5bc19 kick_process +EXPORT_SYMBOL_GPL vmlinux 0xe3293d70 dm_register_path_selector +EXPORT_SYMBOL_GPL vmlinux 0xe34c44ae class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xe38631cf usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xe4699010 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xe48a9041 shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xe49ff3b0 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xe4c331b6 acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0xe4d85ccf usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0xe4db39dc dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xe4ddb6b1 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe513afc0 cache_k8_northbridges +EXPORT_SYMBOL_GPL vmlinux 0xe530071c pm_qos_remove_requirement +EXPORT_SYMBOL_GPL vmlinux 0xe53dab60 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xe54d9427 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0xe566144c cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0xe6018587 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0xe60a957d crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xe614d477 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe66bb93d skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xe6ae42fb crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0xe6c542c0 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xe70a8904 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0xe798468d sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe85bad07 ata_pio_queue_task +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe87033e4 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xe8bbc143 scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0xe8c1385c sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xe8ec4702 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xe8fcc4df __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0xe901175f __dev_addr_unsync +EXPORT_SYMBOL_GPL vmlinux 0xe9095956 remove_irq +EXPORT_SYMBOL_GPL vmlinux 0xe90d952c disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xe90fd066 vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe9e836d0 xenbus_dev_changed +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 0xea579f55 usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0xeaa2d895 isa_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeb2342e1 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0xeb3723e7 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xeb4c1fc8 __tracepoint_block_remap +EXPORT_SYMBOL_GPL vmlinux 0xeb58fab0 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0xeb6c1f83 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0xeba1468e vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0xebcf95ef led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0xebf7bc01 debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0xebf7d37c file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0xec1a75a9 __dev_addr_sync +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec35180e pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0xec3fac5f ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xec4ab55d ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xec792bb7 blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0xec8e901e sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0xecab0eb3 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xed436936 ip6_dst_blackhole +EXPORT_SYMBOL_GPL vmlinux 0xed703b23 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0xed760ef4 cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0xed9a328f ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0xedbc6f67 gnttab_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xedca50d8 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xedf0787f ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xedf3f1f1 do_machine_check +EXPORT_SYMBOL_GPL vmlinux 0xee60b557 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xeed0e419 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xeed751dc sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xef0791de ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xefa24a20 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0xefa56372 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0xefc3c395 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0xefd635d4 __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0xefdd5a63 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xefe21106 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0xefef0909 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xeff824cf usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0xf00dd5a0 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xf027274d vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0xf03e6bb7 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0xf0470b22 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf06c1cc7 unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xf13f6dca scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xf1463412 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0xf14e4919 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf1cdee0f dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0xf1ef847f init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xf2220aa3 usb_string +EXPORT_SYMBOL_GPL vmlinux 0xf2910c52 device_move +EXPORT_SYMBOL_GPL vmlinux 0xf2bbfcab ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf34806ec hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xf37e7344 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0xf388e57e crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0xf3b7a7e0 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xf3ba2561 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xf3c1c0a0 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xf3ebea81 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xf3ec0965 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xf420a2b1 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0xf44617f1 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0xf4851a67 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0xf486fe2d rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0xf48feac4 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf5266591 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0xf5384ac1 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0xf53875ea ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf53ed33d device_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf5515e5c blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf5799f7a stop_machine_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf5945bac gnttab_free_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf60f0321 xenbus_frontend_closed +EXPORT_SYMBOL_GPL vmlinux 0xf6bcbd73 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xf6d0bd0b ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf7016530 xenbus_gather +EXPORT_SYMBOL_GPL vmlinux 0xf73291da xenbus_watch_path +EXPORT_SYMBOL_GPL vmlinux 0xf758bd5f init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xf7c7c35a acpi_smbus_unregister_callback +EXPORT_SYMBOL_GPL vmlinux 0xf7e33198 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0xf7ff393b scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0xf85e5cba hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0xf860d0a4 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xf863e82a flush_work +EXPORT_SYMBOL_GPL vmlinux 0xf8686bbd __xenbus_register_frontend +EXPORT_SYMBOL_GPL vmlinux 0xf869abeb ata_sff_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf8d07e0c ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf961c8ab blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xf975fbd5 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0xf9765833 dmi_match +EXPORT_SYMBOL_GPL vmlinux 0xf97666a0 set_memory_rw +EXPORT_SYMBOL_GPL vmlinux 0xf97ea8b0 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xf9945569 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9a467bf debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xf9cc58f3 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0xf9cf7eae ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0xf9f4b1ef inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xfa048f3b sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xfa1f4662 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0xfa849360 relay_close +EXPORT_SYMBOL_GPL vmlinux 0xfae20d8e ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0xfaf8adf4 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xfb072362 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xfb10c8d5 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfb18f5bb ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xfb2a3293 math_state_restore +EXPORT_SYMBOL_GPL vmlinux 0xfb359000 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0xfb69281a kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xfb8c86ea usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0xfb8c9507 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0xfbe45950 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xfbf77015 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfcce8a14 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xfce8f444 devres_add +EXPORT_SYMBOL_GPL vmlinux 0xfced2044 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfd02e89a spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0xfd51b281 gnttab_end_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0xfd56a836 scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xfdb72003 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0xfdcde7ea ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xfdd6d0f1 rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfe03dd41 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xfe561496 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xfe727411 get_phys_to_machine +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfeb20374 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xffc503d2 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0xffe84155 dm_rh_region_context +EXPORT_UNUSED_SYMBOL vmlinux 0x00000000 simple_prepare_write --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/i386/generic-pae.compiler +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/i386/generic-pae.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3 --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/i386/generic-pae.modules +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/i386/generic-pae.modules @@ -0,0 +1,2798 @@ +3c359 +3c501 +3c503 +3c505 +3c507 +3c509 +3c515 +3c523 +3c527 +3c574_cs +3c589_cs +3c59x +3w-9xxx +3w-xxxx +53c700 +6pack +8021q +8139cp +8139too +8250_accent +8250_boca +8250_exar_st16c554 +8250_fourport +8250_hub6 +8250_mca +8255 +82596 +8390 +8390p +9p +9pnet +9pnet_rdma +9pnet_virtio +a100u2w +a3d +aacraid +ab3100 +ab3100-core +ab3100-otp +abituguru +abituguru3 +abyss +ac3200 +ac97_bus +acecad +acenic +acerhdf +acer-wmi +acl7225b +acpi_pad +acpiphp +acpiphp_ibm +acquirewdt +act2000 +act200l-sir +act_gact +act_ipt +actisys-sir +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +ad1848 +ad7414 +ad7418 +ad7877 +ad7879 +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 +adfs +adi +adl_pci6208 +adl_pci7296 +adl_pci7432 +adl_pci8164 +adl_pci9111 +adl_pci9118 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm8211 +adm9240 +adp5588-keys +adq12b +ads7828 +ads7846 +adt7462 +adt7470 +adt7473 +adt7475 +adutux +adv7170 +adv7175 +advansys +advantechwdt +adv_pci1710 +adv_pci1723 +adv_pci_dio +aedsp16 +aes_generic +aes-i586 +af_802154 +af9013 +affs +af_key +af-rxrpc +agpgart +ah4 +ah6 +aha152x +aha152x_cs +aha1542 +aha1740 +ahci +aic79xx +aic7xxx +aic94xx +aio_aio12_8 +aio_iiro_16 +aiptek +aircable +airo +airo_cs +alauda +ali-agp +ali-ircc +alim1535_wdt +alim7101_wdt +alphatrack +altpciechdma +ambassador +amd64-agp +amd76x_edac +amd76xrom +amd8111e +amd-k7-agp +amd-rng +amplc_dio200 +amplc_pc236 +amplc_pc263 +amplc_pci224 +amplc_pci230 +analog +ansi_cprng +anubis +aoe +apm +appledisplay +applesmc +appletalk +appletouch +applicom +ar7part +ar9170usb +arc4 +arcfb +arcmsr +arcnet +arc-rawmode +arc-rimi +ark3116 +arkfb +arlan +arptable_filter +arp_tables +arpt_mangle +asb100 +asix +asus_atk0110 +asus-laptop +asus_oled +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at1700 +at24 +at25 +at76c50x-usb +aten +ath +ath5k +ath9k +ati-agp +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atlas_btns +atm +atmel +atmel_cs +atmel_pci +atmtcp +atp +atp870u +atxp1 +aty128fb +atyfb +au0828 +au8522 +aufs +authenc +auth_rpcgss +autofs +autofs4 +av5100 +avma1_cs +avm_cs +avmfritz +ax25 +axnet_cs +b1 +b1dma +b1isa +b1pci +b1pcmcia +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b3dfg +b43 +b43legacy +b44 +bas_gigaset +baycom_epp +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcm203x +bcm3510 +bcm5974 +be2iscsi +be2net +befs +belkin_sa +berry_charge +bfa +bfs +bfusb +binfmt_aout +binfmt_misc +bitblit +block2mtd +blowfish +bluecard_cs +bluetooth +bnep +bnx2 +bnx2i +bnx2x +bonding +bpa10x +bpck +bpck6 +bpqether +bq24022 +bq27x00_battery +br2684 +bridge +broadsheetfb +bsd_comp +bt3c_cs +bt819 +bt856 +bt866 +bt878 +btcx-risc +btmrvl +btmrvl_sdio +btrfs +btsdio +bttv +btuart_cs +btusb +budget +budget-av +budget-ci +budget-core +budget-patch +BusLogic +bw-qcam +c101 +c2port-duramar2150 +c4 +c67x00 +c6xdigio +cachefiles +cafe_ccic +cafe_nand +camellia +can +can-bcm +can-dev +can-raw +capi +capidrv +capifs +capmode +carminefb +cassini +cast5 +cast6 +catc +cb710 +cb710-mmc +cb_das16_cs +cb_pcidas +cb_pcidas64 +cb_pcidda +cb_pcidio +cb_pcimdas +cb_pcimdda +cciss +ccm +cdc-acm +cdc_eem +cdc_ether +cdc-phonet +cdc_subset +cdc-wdm +cfag12864b +cfag12864bfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch +ch341 +ch7006 +chipreg +cifs +cirrusfb +ck804xrom +clip +cls_basic +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cm4000_cs +cm4040_cs +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 +core +coretemp +cosa +cp210x +cpcihp_generic +cpcihp_zt5550 +cpia +cpia2 +cpia_pp +cpia_usb +cpqarray +cpqphp +cpu5wdt +cpuid +c-qcam +cramfs +cr_bllcd +crc32c +crc32c-intel +crc7 +crc-ccitt +crc-itu-t +crvml +cryptd +cryptoloop +crypto_null +cs5345 +cs53l32a +cs5535_gpio +cs553x_nand +cs89x0 +ct82c710 +ctr +cts +cuse +cx18 +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24123 +cx25821 +cx25821-alsa +cx25840 +cx8800 +cx8802 +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx88xx +cxacru +cxgb +cxgb3 +cxgb3i +cyber2000fb +cyberjack +cyclades +cyclomx +cycx_drv +cypress_cy7c63 +cypress_m8 +cytherm +da9030_battery +da9034-ts +da903x +da903x_bl +dabusb +DAC960 +daqboard2000 +das08 +das08_cs +das16 +das16m1 +das1800 +das6402 +das800 +db9 +dc395x +dca +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dccp_probe +dcdbas +de2104x +de4x5 +de600 +de620 +decnet +deflate +defxx +dell-laptop +dell-led +dell_rbu +dell-wmi +depca +des_generic +dib0070 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dibx000_common +digi_acceleport +diskonchip +display +divacapi +divadidd +diva_idi +diva_mnt +divas +dlci +dlm +dm1105 +dm9601 +dm-crypt +dme1737 +dmfe +dmm32at +dm-queue-length +dm-raid45 +dm-service-time +dmx3191d +dm-zero +dnet +dn_rtmsg +doc2000 +doc2001 +doc2001plus +docecc +docprobe +donauboe +dpt_i2o +drm +drm_kms_helper +ds1621 +ds1682 +ds2482 +ds2490 +ds2760_battery +ds2782_battery +dsbr100 +dscc4 +dss1_divert +dst +dst_ca +dstr +dt2801 +dt2811 +dt2814 +dt2815 +dt2817 +dt282x +dt3000 +dt9812 +dtc +dtl1_cs +dtlk +dummy +dummy_hcd +dv1394 +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-anysee +dvb-usb-au6610 +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-friio +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-m920x +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +e100 +e1000 +e1000e +e2100 +e752x_edac +e7xxx_edac +earth-pt1 +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_ulog +ebt_vlan +echo +econet +edac_core +edac_mce_amd +eeepc-laptop +eepro +eeprom +eeprom_93cx6 +eeti_ts +eexpress +efficeon-agp +efs +elo +elsa_cs +em28xx +em28xx-alsa +em28xx-dvb +em_cmp +emi26 +emi62 +em_meta +em_nbyte +empeg +ems_pci +ems_usb +em_text +emu10k1-gp +em_u32 +enclosure +eni +enic +epat +epca +epia +epic100 +e_powersaver +eql +es3210 +esb2rom +esi-sir +esp4 +esp6 +et131x +et61x251 +eth1394 +eth16i +ethoc +eurotechwdt +evbug +evtchn +ewrk3 +exofs +exportfs +f71805f +f71882fg +f75375s +fakephp +farsync +fat +faulty +fbcon +fb_ddc +fb_sys_fops +fcoe +fcrypt +fd_mcs +fdomain +fdomain_cs +fealnx +ff-memless +firedtv +firestream +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +fit2 +fit3 +fl512 +floppy +fm801-gp +fmvj18x_cs +fnic +font +forcedeth +fore_200e +freevxfs +friq +frpw +fsam7400 +fscache +fschmd +ftdi-elan +ftdi_sio +ftl +fujitsu-laptop +fujitsu_ts +funsoft +g450_pll +g760a +gadgetfs +gamecon +gameport +garmin_gps +garp +g_audio +g_cdc +gcm +gdth +generic +generic_bl +gen_probe +geode-aes +geode-rng +g_ether +gf128mul +gf2k +g_file_storage +gfs2 +ghash-generic +gigaset +girbil-sir +gl518sm +gl520sm +gl620a +gluebi +g_midi +g_NCR5380 +g_NCR5380_mmio +gpio-addr-flash +gpio_keys +gpio_mouse +gpio_vbus +g_printer +grip +grip_mp +gsc_hpdi +g_serial +gspca_conex +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_ov519 +gspca_ov534 +gspca_pac207 +gspca_pac7311 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_stk014 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_tv8532 +gspca_vc032x +gspca_zc3xx +gtco +guillemot +gunze +gx1fb +gxfb +g_zero +hamachi +hangcheck-timer +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-3m-pct +hid-a4tech +hid-apple +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-drff +hid-ezkey +hid-gaff +hid-gyration +hid-kensington +hid-kye +hid-logitech +hid-microsoft +hid-monterey +hid-mosart +hid-ntrig +hid-ortek +hidp +hid-petalynx +hid-pl +hid-quanta +hid-samsung +hid-sjoy +hid-sony +hid-stantum +hid-sunplus +hid-tmff +hid-topseed +hid-twinhan +hid-wacom +hid-zpff +hifn_795x +hisax +hisax_fcpcipnp +hisax_isac +hisax_st5481 +horizon +hostap +hostap_cs +hostap_pci +hostap_plx +hostess_sv11 +hp +hp100 +hp4x +hp_accel +hpfs +hpilo +hp-plus +hptiop +hp-wmi +hso +htc-pasic3 +htcpen +hv_blkvsc +hv_netvsc +hv_storvsc +hv_vmbus +hwa-hc +hwa-rc +hwmon-vid +hysdn +i1480-dfu-usb +i1480-est +i1480u-wlp +i2400m +i2400m-sdio +i2400m-usb +i2c-algo-bit +i2c-algo-pca +i2c-algo-pcf +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd756-s4882 +i2c-amd8111 +i2c-dev +i2c-gpio +i2c-i801 +i2c-isch +i2c-matroxfb +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-stub +i2c-taos-evm +i2c-tiny-usb +i2c-via +i2c-viapro +i2c-voodoo3 +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 +i810 +i810fb +i82092 +i82365 +i82860_edac +i82875p_edac +i82975x_edac +i830 +i8k +i915 +ib700wdt +ib_addr +ib_cm +ib_core +ib_ipoib +ib_iser +ib_mad +ibmaem +ibmasm +ibmasr +ibmcam +ibmlana +ibmmca +ibmpex +ibmphp +ib_mthca +ibmtr +ibmtr_cs +ib_sa +ib_srp +ib_ucm +ib_umad +ib_uverbs +ichxrom +icn +icp_multi +ics932s401 +idmouse +idt77252 +ieee1394 +ifb +iforce +igb +igbvf +ii_pci20kc +ili9320 +imm +in2000 +industrialio +inexio +inftl +initio +inport +input-polldev +int51x1 +intel-agp +intel_menlow +intel-rng +intel_vr_nor +interact +ioatdma +ioc4 +io_edgeport +io_ti +iowarrior +ip2 +ip6_queue +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_LOG +ip6t_mh +ip6t_REJECT +ip6t_rt +ip6_tunnel +ipaq +ipcomp +ipcomp6 +ipddp +ipg +ip_gre +iphase +ipip +ipmi_devintf +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_watchdog +ip_queue +ipr +ips +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_addrtype +ipt_ah +ipt_CLUSTERIP +ipt_ecn +ipt_ECN +ipt_LOG +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_ULOG +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipw2100 +ipw2200 +ipwireless +ipx +ircomm +ir-common +ircomm-tty +irda +irda-usb +ir-kbd-i2c +irlan +irnet +irtty-sir +ir-usb +iscsi_ibft +iscsi_tcp +iscsi_trgt +isdn +isdn_bsdcomp +isdnhdlc +isight_firmware +isl29003 +isl6405 +isl6421 +isl6423 +isofs +isp116x-hcd +isp1362-hcd +isp1760 +istallion +it87 +it8712f_wdt +it87_wdt +iTCO_vendor_support +iTCO_wdt +itd1000 +iuu_phoenix +ivtv +ivtvfb +iw_c2 +iw_cm +iw_cxgb3 +iwl3945 +iwlagn +iwlcore +iwmc3200wifi +ixgb +ixgbe +ixj +ixj_pcmcia +jedec_probe +jffs2 +jfs +jmb38x_ms +jme +joydev +joydump +jr3_pci +jsm +k8temp +kafs +kahlua +kaweth +kb3886_bl +kbic +kbtab +kcomedilib +ke_counter +kernelcapi +keyspan +keyspan_pda +keyspan_remote +khazad +kingsun-sir +kl5kusb105 +kobil_sct +konicawc +ks0108 +ks0127 +ks8842 +ks8851 +ks8851_mll +ks959-sir +ksdazzle-sir +ktti +kvaser_pci +kvm +kvm-amd +kvm-intel +kxsd9 +kyrofb +l1oip +l2cap +l440gx +l64781 +lanai +lance +lanstreamer +lapb +lapbether +lcd +ldusb +lec +led-class +leds-alix2 +leds-bd2802 +leds-da903x +leds-dac124s085 +leds-gpio +leds-lp3944 +leds-net48xx +leds-pca9532 +leds-pca955x +leds-wm831x-status +leds-wm8350 +leds-wrap +ledtrig-backlight +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-timer +legousbtower +lgdt3305 +lgdt330x +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libcrc32c +libertas +libertas_cs +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libosd +libsas +libsrp +lightning +line6usb +linear +lirc_atiusb +lirc_bt829 +lirc_dev +lirc_ene0100 +lirc_i2c +lirc_igorplugusb +lirc_imon +lirc_it87 +lirc_ite8709 +lirc_mceusb +lirc_sasem +lirc_serial +lirc_sir +lirc_streamzap +lirc_ttusbir +lis3l02dq +lis3lv02d +litelink-sir +lkkbd +llc2 +lm63 +lm70 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95241 +lmc +lms283gf05 +lnbp21 +lne390 +lockd +logibm +lp +lp3971 +lp486e +lpddr_cmds +lpfc +lrw +ltc4215 +ltc4245 +ltpc +ltv350qv +lxfb +lzo +lzo_compress +lzo_decompress +m25p80 +m52790 +ma600-sir +mac80211 +mac80211_hwsim +machzwd +macmodes +macvlan +madgemc +magellan +map_absent +map_funcs +map_ram +map_rom +matrix_keypad +matroxfb_accel +matroxfb_base +matroxfb_crtc2 +matroxfb_DAC1064 +matroxfb_g450 +matroxfb_maven +matroxfb_misc +matroxfb_Ti3026 +matrox_w1 +max1111 +max1363 +max1586 +max1619 +max17040_battery +max3100 +max6650 +max6875 +max7301 +max732x +max7359_keypad +mb862xxfb +mbp_nvidia_bl +mc13783 +mc13783-core +mc33880 +mc44s803 +mce-inject +mce-xeon75xx +mcp2120-sir +mcp23s08 +mcs5000_ts +mcs7780 +mcs7830 +mct_u232 +md4 +mdacon +mdc800 +mdio +me4000 +me_daq +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +memstick +metronomefb +meye +mfd-core +mga +michael_mic +microcode +microtek +mii +minix +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +mite +mixcomwd +mk712 +mkiss +mlx4_core +mlx4_en +mlx4_ib +mmc_block +mos7720 +mos7840 +moto_modem +moxa +mpc624 +mpoa +mpt2sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu401 +msdos +msi-laptop +msnd +msnd_classic +msnd_pinnacle +msp3400 +mspro_block +msr +mt2060 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt9m001 +mt9m111 +mt9t031 +mt9v011 +mt9v022 +mtd +mtd_blkdevs +mtdblock +mtdblock_ro +mtdchar +mtdconcat +mtd_dataflash +mtd_oobtest +mtdoops +mtd_pagetest +mtdram +mtd_readtest +mtd_speedtest +mtd_stresstest +mtd_subpagetest +mtd_torturetest +mtouch +multipath +multiq3 +mvsas +mwave +mwl8k +mxb +mxl5005s +mxl5007t +mxser +myri10ge +n2 +n411 +nand +nand_ecc +nand_ids +nandsim +natsemi +navman +nbd +ncpfs +NCR53c406a +NCR_D700 +NCR_Q720_mod +ndiswrapper +ne +ne2 +ne2k-pci +ne3210 +neofb +net1080 +netconsole +netjet +netrom +netsc520 +nettel +netwave_cs +netxen_nic +newtonkbd +nf_conntrack +nf_conntrack_amanda +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_tftp +nf_defrag_ipv4 +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_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nftl +nf_tproxy_core +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 +nl802154 +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 +nouveau +nozomi +n_r3964 +ns558 +ns83820 +nsc_gpio +nsc-ircc +nsp32 +nsp_cs +nst +ntfs +nvidia-agp +nvidiafb +nvram +nxt200x +nxt6000 +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +ohci1394 +old_belkin-sir +olpc_battery +olympic +omfs +omnibook +omninet +on20 +on26 +onenand +onenand_sim +opencores-kbd +opl3 +oprofile +opticon +option +or51132 +or51211 +orinoco +orinoco_cs +orinoco_nortel +orinoco_pci +orinoco_plx +orinoco_tmd +osd +osdblk +osst +oti6858 +output +ov7670 +ov772x +ovcamchip +oxu210hp-hcd +p4-clockmod +p54common +p54pci +p54spi +p54usb +p8023 +p9auth +padlock-aes +padlock-sha +panasonic-laptop +panel +paride +parkbd +parport +parport_ax88796 +parport_cs +parport_pc +parport_serial +pas16 +pas2 +pata_ali +pata_amd +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_qdi +pata_radisys +pata_rdc +pata_rz1000 +pata_sc1200 +pata_sch +pata_serverworks +pata_sil680 +pata_sl82c105 +pata_triflex +pata_via +pata_winbond +pbe5 +pc110pad +pc87360 +pc8736x_gpio +pc87413_wdt +pc87427 +pca953x +pcbc +pcbit +pcd +pcf50633-adc +pcf50633-charger +pcf50633-core +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf857x +pcf8591 +pci +pci200syn +pcilynx +pcips2 +pci-stub +pcl711 +pcl724 +pcl725 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcm3730 +pcmad +pcmcia +pcmcia_core +pcm_common +pcmda12 +pcmmio +pcmuio +pcnet32 +pcnet_cs +pcspkr +pcwd +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pegasus +penmount +pf +pg +phantom +phison +phonedev +phonet +phram +physmap +pktgen +pl2303 +platform_lcd +plat_nand +plat-ram +plip +plusb +pluto2 +pm2fb +pm3fb +pmc551 +pmcraid +pms +pn_pep +poc +poch +pohmelfs +powermate +power_meter +ppa +ppdev +ppp_async +ppp_deflate +ppp_mppe +pppoatm +pppoe +pppol2tp +pppox +ppp_synctty +pps_core +prism2_usb +prism54 +progear_bl +proteon +psmouse +pss +pt +pvrusb2 +pwc +qcserial +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlge +qlogic_cs +qlogicfas +qlogicfas408 +qnx4 +qt1010 +quatech_daqp_cs +quatech_usb2 +quickcam_messenger +quota_tree +quota_v1 +quota_v2 +r128 +r8169 +r8192_pci +r8192se_pci +r8192s_usb +r82600_edac +r8a66597-hcd +radeon +radeonfb +radio-aimslab +radio-aztech +radio-cadet +radio-gemtek +radio-gemtek-pci +radio-i2c-si470x +radio-maestro +radio-maxiradio +radio-mr800 +radio-rtrack2 +radio-sf16fmi +radio-sf16fmr2 +radio-si4713 +radio-tea5764 +radio-terratec +radio-trust +radio-typhoon +radio-usb-si470x +radio-zoltrix +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +raid_class +ramzswap +rar_driver +raw +raw1394 +ray_cs +rdma_cm +rdma_ucm +rds +rds_rdma +rds_tcp +redboot +reed_solomon +reiserfs +rfc1051 +rfc1201 +rfcomm +rfd_ftl +ricoh_mmc +rio500 +riscom8 +rivafb +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rndis_wlan +rocket +romfs +rose +rotary_encoder +rpcsec_gss_krb5 +rpcsec_gss_spkm3 +rrunner +rsrc_nonstatic +rt2400pci +rt2500pci +rt2500usb +rt2800usb +rt2860sta +rt2870sta +rt2x00lib +rt2x00pci +rt2x00usb +rt3090sta +rt61pci +rt73usb +rtc-ab3100 +rtc-bq4802 +rtc-ds1286 +rtc-ds1305 +rtc-ds1307 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-ds3234 +rtc-fm3130 +rtc-isl1208 +rtc-m41t80 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-pcf2123 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-r9701 +rtc-rs5c348 +rtc-rs5c372 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-test +rtc-twl4030 +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtd520 +rti800 +rti802 +rtl8150 +rtl8180 +rtl8187 +rtl8187se +rxkad +s1d13xxxfb +s2255drv +s2io +s3fb +s526 +s5h1409 +s5h1411 +s5h1420 +s626 +saa5246a +saa5249 +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +safe_serial +salsa20_generic +salsa20-i586 +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 +sb +sb1000 +sbc60xxwdt +sbc7240_wdt +sbc8360 +sbc_epx_c3 +sbc_fitpc2_wdt +sbc_gxx +sb_lib +sbni +sbp2 +sc +sc1200wdt +sc520cdp +sc520_wdt +sc92031 +scb2_flash +scc +sch311x_wdt +sch_atm +sch_cbq +sch_drr +sch_dsmark +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_multiq +sch_netem +sch_prio +sch_red +sch_sfq +sch_tbf +sch_teql +sco +scsi_debug +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 +scx200 +scx200_acb +scx200_docflash +scx200_gpio +scx200_hrt +scx200_i2c +scx200_wdt +sdhci +sdhci-pci +sdhci-pltfm +sdio_uart +sdla +sdricoh_cs +se401 +sealevel +sedlbauer_cs +seed +seeq8005 +sep_driver +seqiv +ser_gigaset +serial2002 +serial_cs +serio_raw +sermouse +serpent +serport +serqt_usb2 +ses +sfc +sha1_generic +sha256_generic +sha512_generic +shpchp +sht15 +si21xx +si4713-i2c +sidewinder +siemens_mpi +sierra +sim710 +sir-dev +sis +sis190 +sis5595 +sis900 +sis-agp +sisfb +sisusbvga +sit +sja1000 +sja1000_isa +sja1000_platform +skel +skfp +skge +skisa +sky2 +sl811_cs +sl811-hcd +slicoss +slip +slram +sm501 +sm501fb +smbfs +smc9194 +smc91c92_cs +smc-mca +smctr +smc-ultra +smc-ultra32 +smsc37b787_wdt +smsc47b397 +smsc47m1 +smsc47m192 +smsc9420 +smsc95xx +smsc-ircc2 +smsdvb +smsmdtv +smssdio +smsusb +sn9c102 +snd +snd-ac97-codec +snd-ad1816a +snd-ad1848 +snd-ad1889 +snd-adlib +snd-ak4114 +snd-ak4117 +snd-ak4xxx-adda +snd-ali5451 +snd-als100 +snd-als300 +snd-als4000 +snd-atiixp +snd-atiixp-modem +snd-au8810 +snd-au8820 +snd-au8830 +snd-aw2 +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-dt019x +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-es968 +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-atihdmi +snd-hda-codec-ca0110 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-idt +snd-hda-codec-intelhdmi +snd-hda-codec-nvhdmi +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-intel +snd-hdsp +snd-hdspm +snd-hifier +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-korg1212 +snd-layla20 +snd-layla24 +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-pcm-oss +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-oss +snd-seq-virmidi +snd-serial-u16550 +snd-sgalaxy +snd-sis7019 +snd-soc-ad1836 +snd-soc-ad1938 +snd-soc-ad73311 +snd-soc-ak4104 +snd-soc-ak4535 +snd-soc-ak4642 +snd-soc-core +snd-soc-cs4270 +snd-soc-l3 +snd-soc-max9877 +snd-soc-pcm3008 +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-tlv320aic23 +snd-soc-tlv320aic26 +snd-soc-tlv320aic3x +snd-soc-twl4030 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wm8350 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8776 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8993 +snd-soc-wm9081 +snd-soc-wm-hubs +snd-sonicvibes +snd-sscape +snd-tea575x-tuner +snd-tea6330t +snd-timer +snd-trident +snd-usb-audio +snd-usb-caiaq +snd-usb-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 +softcursor +softdog +solos-pci +sony-laptop +sonypi +sound +soundcore +sound_firmware +sp8870 +sp887x +spaceball +spaceorb +spcp8x5 +specialix +spectrum_cs +speedfax +speedtch +spi_bitbang +spi_butterfly +spidev +spi_gpio +spi_lm70llp +squashfs +ssb +sscape +ssfdc +sst25l +sstfb +ssv_dnp +st +stallion +starfire +stb0899 +stb6000 +stb6100 +stex +stinger +stir4200 +stkwebcam +stowaway +stp +stradis +strip +stv0288 +stv0297 +stv0299 +stv0900 +stv090x +stv6110 +stv6110x +stv680 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +svcrdma +svgalib +sworks-agp +sx8 +sym53c416 +sym53c500_cs +symbolserial +synaptics_i2c +synclink +synclink_cs +synclink_gt +synclinkmp +syscopyarea +sysfillrect +sysimgblt +sysv +t128 +t1isa +t1pci +tc1100-wmi +tcic +tcp_bic +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 +tda10086 +tda18271 +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tdfx +tdfxfb +tdo24m +tea +tea5761 +tea5767 +tea6415c +tea6420 +tehuti +tekram-sir +teles_cs +tg3 +tgr192 +thinkpad_acpi +thmc50 +tifm_7xx1 +tifm_core +tifm_ms +tifm_sd +tileblit +timeriomem-rng +tipc +ti_usb_3410_5052 +tlan +tlclk +tle62x0 +tmdc +tmiofb +tmp401 +tmp421 +tms380tr +tmscsim +tmspci +toim3232-sir +topstar-laptop +toshiba_acpi +touchit213 +touchright +touchwin +tpm +tpm_atmel +tpm_bios +tpm_infineon +tpm_nsc +tpm_tis +tps65010 +tps65023-regulator +tps6507x-regulator +trancevibrator +tranzport +tridentfb +trix +ts5500_flash +ts_bm +tsc2007 +ts_fsm +ts_kmp +tsl2550 +tsl2561 +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +tua6100 +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +turbografx +tvaudio +tveeprom +tvp5150 +tw9910 +twidjoy +twl4030-gpio +twl4030_keypad +twl4030-pwrbutton +twl4030-usb +twl4030_wdt +twofish +twofish_common +twofish-i586 +typhoon +u132-hcd +u14-34f +uart401 +uart6850 +ubi +ubifs +ucb1400_core +ucb1400_ts +udf +udlfb +ueagle-atm +ufs +uinput +uio +uio_aec +uio_cif +uio_pci_generic +uio_pdrv +uio_pdrv_genirq +uio_sercos3 +uio_smx +uli526x +ultracam +ultrastor +umc +umem +ums-alauda +ums-cypress +ums-datafab +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-sddr09 +ums-sddr55 +ums-usbat +unioxx5 +upd64031a +upd64083 +uPD98402 +usb8xxx +usbatm +usb_debug +usbdux +usbduxfast +usb_gigaset +usbhid +usbip +usbip_common_mod +usblcd +usbled +usblp +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +usbtouchscreen +usbvideo +usbvision +userspace-consumer +uss720 +uvcvideo +uvesafb +uwb +v4l1-compat +v4l2-common +v4l2-int-device +vcan +ves1820 +ves1x93 +vesafb +veth +vfat +vga16fb +vgastate +vgg2432a4 +vhci-hcd +via +via686a +via-agp +viafb +via-ircc +via-rhine +via-rng +via-sdmmc +via-velocity +vicam +video +video1394 +videobuf-core +videobuf-dma-sg +videobuf-dvb +videobuf-vmalloc +videocodec +videodev +virtio_balloon +virtio_console +virtio-rng +virtual +visor +vivi +vlsi_ir +vmac +vme +vme_ca91cx42 +vme_tsi148 +vme_user +v_midi +vmk80xx +vmlfb +vmw_pvscsi +vmxnet3 +vp27smpx +vpx3220 +vstusb +vsxxxaa +vt1211 +vt6656_stage +vt8231 +vt8623fb +vxge +w1_bq27000 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1-gpio +w1_smem +w1_therm +w6692 +w83627ehf +w83627hf +w83627hf_wdt +w83697hf_wdt +w83697ug_wdt +w83781d +w83791d +w83792d +w83793 +w83877f_wdt +w83977af_ir +w83977f_wdt +w83l785ts +w83l786ng +w9966 +w9968cf +wacom +wacom_w8001 +wafer5823wdt +walkera0701 +wanrouter +wanxl +warrior +wavelan +wavelan_cs +wbsd +wd +wd7000 +wdt +wdt_pci +whci +whci-hcd +whc-rc +whiteheat +wimax +winbond-840 +winbond-cir +wire +wistron_btns +wl1251 +wl1251_sdio +wl1251_spi +wl1271 +wl3501_cs +wlp +wm831x +wm831x_bl +wm831x-dcdc +wm831x-gpio +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x_power +wm831x_wdt +wm8350 +wm8350-hwmon +wm8350-i2c +wm8350_power +wm8350-regulator +wm8350_wdt +wm8400-core +wm8400-regulator +wm8739 +wm8775 +wm97xx-ts +wp512 +wpan-class +wusb-cbaf +wusbcore +wusb-wa +x25 +x25_asy +x38_edac +xc5000 +xcbc +xen-blkfront +xen-fbfront +xenfs +xen-kbdfront +xen-netfront +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_ipcomp +xfrm_user +xfs +xhci +xirc2ps_cs +xircom_cb +xor +xpad +xprtrdma +x_tables +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNMARK +xt_CONNSECMARK +xt_conntrack +xt_dccp +xt_dscp +xt_DSCP +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xt_iprange +xtkbd +xt_LED +xt_length +xt_limit +xt_mac +xt_mark +xt_MARK +xt_multiport +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_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_tcpudp +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xusbatm +xvmalloc +yam +yealink +yellowfin +yenta_socket +z85230 +zatm +zaurus +zc0301 +zd1201 +zd1211rw +zhenhua +zl10036 +zl10039 +zl10353 +zlib +zlib_deflate +znet +zr36016 +zr36050 +zr36060 +zr36067 +zr364xx --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/i386/generic.compiler +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/i386/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3 --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/i386/generic.modules +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/i386/generic.modules @@ -0,0 +1,2799 @@ +3c359 +3c501 +3c503 +3c505 +3c507 +3c509 +3c515 +3c523 +3c527 +3c574_cs +3c589_cs +3c59x +3w-9xxx +3w-xxxx +53c700 +6pack +8021q +8139cp +8139too +8250_accent +8250_boca +8250_exar_st16c554 +8250_fourport +8250_hub6 +8250_mca +8255 +82596 +8390 +8390p +9p +9pnet +9pnet_rdma +9pnet_virtio +a100u2w +a3d +aacraid +ab3100 +ab3100-core +ab3100-otp +abituguru +abituguru3 +abyss +ac3200 +ac97_bus +acecad +acenic +acerhdf +acer-wmi +acl7225b +acpi_pad +acpiphp +acpiphp_ibm +acquirewdt +act2000 +act200l-sir +act_gact +act_ipt +actisys-sir +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +ad1848 +ad7414 +ad7418 +ad7877 +ad7879 +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 +adfs +adi +adl_pci6208 +adl_pci7296 +adl_pci7432 +adl_pci8164 +adl_pci9111 +adl_pci9118 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm8211 +adm9240 +adp5588-keys +adq12b +ads7828 +ads7846 +adt7462 +adt7470 +adt7473 +adt7475 +adutux +adv7170 +adv7175 +advansys +advantechwdt +adv_pci1710 +adv_pci1723 +adv_pci_dio +aedsp16 +aes_generic +aes-i586 +af_802154 +af9013 +affs +af_key +af-rxrpc +agpgart +ah4 +ah6 +aha152x +aha152x_cs +aha1542 +aha1740 +ahci +aic79xx +aic7xxx +aic94xx +aio_aio12_8 +aio_iiro_16 +aiptek +aircable +airo +airo_cs +alauda +ali-agp +ali-ircc +alim1535_wdt +alim7101_wdt +alphatrack +altpciechdma +ambassador +amd64-agp +amd76x_edac +amd76xrom +amd8111e +amd-k7-agp +amd-rng +amplc_dio200 +amplc_pc236 +amplc_pc263 +amplc_pci224 +amplc_pci230 +analog +ansi_cprng +anubis +aoe +apm +appledisplay +applesmc +appletalk +appletouch +applicom +ar7part +ar9170usb +arc4 +arcfb +arcmsr +arcnet +arc-rawmode +arc-rimi +ark3116 +arkfb +arlan +arptable_filter +arp_tables +arpt_mangle +asb100 +asix +asus_atk0110 +asus-laptop +asus_oled +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at1700 +at24 +at25 +at76c50x-usb +aten +ath +ath5k +ath9k +ati-agp +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atlas_btns +atm +atmel +atmel_cs +atmel_pci +atmtcp +atp +atp870u +atxp1 +aty128fb +atyfb +au0828 +au8522 +aufs +authenc +auth_rpcgss +autofs +autofs4 +av5100 +avma1_cs +avm_cs +avmfritz +ax25 +axnet_cs +b1 +b1dma +b1isa +b1pci +b1pcmcia +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b3dfg +b43 +b43legacy +b44 +bas_gigaset +baycom_epp +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcm203x +bcm3510 +bcm5974 +be2iscsi +be2net +befs +belkin_sa +berry_charge +bfa +bfs +bfusb +binfmt_aout +binfmt_misc +bitblit +block2mtd +blowfish +bluecard_cs +bluetooth +bnep +bnx2 +bnx2i +bnx2x +bonding +bpa10x +bpck +bpck6 +bpqether +bq24022 +bq27x00_battery +br2684 +bridge +broadsheetfb +bsd_comp +bt3c_cs +bt819 +bt856 +bt866 +bt878 +btcx-risc +btmrvl +btmrvl_sdio +btrfs +btsdio +bttv +btuart_cs +btusb +budget +budget-av +budget-ci +budget-core +budget-patch +BusLogic +bw-qcam +c101 +c2port-duramar2150 +c4 +c67x00 +c6xdigio +cachefiles +cafe_ccic +cafe_nand +camellia +can +can-bcm +can-dev +can-raw +capi +capidrv +capifs +capmode +carminefb +cassini +cast5 +cast6 +catc +cb710 +cb710-mmc +cb_das16_cs +cb_pcidas +cb_pcidas64 +cb_pcidda +cb_pcidio +cb_pcimdas +cb_pcimdda +cciss +ccm +cdc-acm +cdc_eem +cdc_ether +cdc-phonet +cdc_subset +cdc-wdm +cfag12864b +cfag12864bfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch +ch341 +ch7006 +chipreg +cifs +cirrusfb +ck804xrom +clip +cls_basic +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cm4000_cs +cm4040_cs +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 +core +coretemp +cosa +cp210x +cpcihp_generic +cpcihp_zt5550 +cpia +cpia2 +cpia_pp +cpia_usb +cpqarray +cpqphp +cpu5wdt +cpuid +c-qcam +cramfs +cr_bllcd +crc32c +crc32c-intel +crc7 +crc-ccitt +crc-itu-t +crvml +cryptd +cryptoloop +crypto_null +cs5345 +cs53l32a +cs5535_gpio +cs553x_nand +cs89x0 +ct82c710 +ctr +cts +cuse +cx18 +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24123 +cx25821 +cx25821-alsa +cx25840 +cx8800 +cx8802 +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx88xx +cxacru +cxgb +cxgb3 +cxgb3i +cyber2000fb +cyberjack +cyclades +cyclomx +cycx_drv +cypress_cy7c63 +cypress_m8 +cytherm +da9030_battery +da9034-ts +da903x +da903x_bl +dabusb +DAC960 +daqboard2000 +das08 +das08_cs +das16 +das16m1 +das1800 +das6402 +das800 +db9 +dc395x +dca +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dccp_probe +dcdbas +de2104x +de4x5 +de600 +de620 +decnet +deflate +defxx +dell-laptop +dell-led +dell_rbu +dell-wmi +depca +des_generic +dib0070 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dibx000_common +digi_acceleport +diskonchip +display +divacapi +divadidd +diva_idi +diva_mnt +divas +dlci +dlm +dm1105 +dm9601 +dm-crypt +dme1737 +dmfe +dmm32at +dm-queue-length +dm-raid45 +dm-service-time +dmx3191d +dm-zero +dnet +dn_rtmsg +doc2000 +doc2001 +doc2001plus +docecc +docprobe +donauboe +dpt_i2o +drm +drm_kms_helper +ds1621 +ds1682 +ds2482 +ds2490 +ds2760_battery +ds2782_battery +dsbr100 +dscc4 +dss1_divert +dst +dst_ca +dstr +dt2801 +dt2811 +dt2814 +dt2815 +dt2817 +dt282x +dt3000 +dt9812 +dtc +dtl1_cs +dtlk +dummy +dummy_hcd +dv1394 +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-anysee +dvb-usb-au6610 +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-friio +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-m920x +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +e100 +e1000 +e1000e +e2100 +e752x_edac +e7xxx_edac +earth-pt1 +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_ulog +ebt_vlan +echo +econet +edac_core +edac_mce_amd +eeepc-laptop +eepro +eeprom +eeprom_93cx6 +eeti_ts +eexpress +efficeon-agp +efs +elo +elsa_cs +em28xx +em28xx-alsa +em28xx-dvb +em_cmp +emi26 +emi62 +em_meta +em_nbyte +empeg +ems_pci +ems_usb +em_text +emu10k1-gp +em_u32 +enclosure +eni +enic +epat +epca +epia +epic100 +e_powersaver +eql +es3210 +esb2rom +esi-sir +esp4 +esp6 +et131x +et61x251 +eth1394 +eth16i +ethoc +eurotechwdt +evbug +ewrk3 +exofs +exportfs +f71805f +f71882fg +f75375s +fakephp +farsync +fat +faulty +fbcon +fb_ddc +fb_sys_fops +fcoe +fcrypt +fd_mcs +fdomain +fdomain_cs +fealnx +ff-memless +firedtv +firestream +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +fit2 +fit3 +fl512 +floppy +fm801-gp +fmvj18x_cs +fnic +font +forcedeth +fore_200e +freevxfs +friq +frpw +fsam7400 +fscache +fschmd +ftdi-elan +ftdi_sio +ftl +fujitsu-laptop +fujitsu_ts +funsoft +g450_pll +g760a +gadgetfs +gamecon +gameport +garmin_gps +garp +g_audio +g_cdc +gcm +gdth +generic +generic_bl +gen_probe +geode-aes +geode-rng +g_ether +gf128mul +gf2k +g_file_storage +gfs2 +ghash-generic +gigaset +girbil-sir +gl518sm +gl520sm +gl620a +gluebi +g_midi +g_NCR5380 +g_NCR5380_mmio +gpio-addr-flash +gpio_keys +gpio_mouse +gpio_vbus +g_printer +grip +grip_mp +gsc_hpdi +g_serial +gspca_conex +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_ov519 +gspca_ov534 +gspca_pac207 +gspca_pac7311 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_stk014 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_tv8532 +gspca_vc032x +gspca_zc3xx +gtco +guillemot +gunze +gx1fb +gxfb +g_zero +hamachi +hangcheck-timer +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-3m-pct +hid-a4tech +hid-apple +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-drff +hid-ezkey +hid-gaff +hid-gyration +hid-kensington +hid-kye +hid-logitech +hid-microsoft +hid-monterey +hid-mosart +hid-ntrig +hid-ortek +hidp +hid-petalynx +hid-pl +hid-quanta +hid-samsung +hid-sjoy +hid-sony +hid-stantum +hid-sunplus +hid-tmff +hid-topseed +hid-twinhan +hid-wacom +hid-zpff +hifn_795x +hisax +hisax_fcpcipnp +hisax_isac +hisax_st5481 +horizon +hostap +hostap_cs +hostap_pci +hostap_plx +hostess_sv11 +hp +hp100 +hp4x +hp_accel +hpfs +hpilo +hp-plus +hptiop +hp-wmi +hso +htc-pasic3 +htcpen +hv_blkvsc +hv_netvsc +hv_storvsc +hv_vmbus +hwa-hc +hwa-rc +hwmon-vid +hysdn +i1480-dfu-usb +i1480-est +i1480u-wlp +i2400m +i2400m-sdio +i2400m-usb +i2c-algo-bit +i2c-algo-pca +i2c-algo-pcf +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd756-s4882 +i2c-amd8111 +i2c-dev +i2c-gpio +i2c-i801 +i2c-isch +i2c-matroxfb +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-stub +i2c-taos-evm +i2c-tiny-usb +i2c-via +i2c-viapro +i2c-voodoo3 +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 +i810 +i810fb +i82092 +i82365 +i82860_edac +i82875p_edac +i82975x_edac +i830 +i8k +i915 +ib700wdt +ib_addr +ib_cm +ib_core +ib_ipoib +ib_iser +ib_mad +ibmaem +ibmasm +ibmasr +ibmcam +ibmlana +ibmmca +ibmpex +ibmphp +ib_mthca +ibmtr +ibmtr_cs +ib_sa +ib_srp +ib_ucm +ib_umad +ib_uverbs +ichxrom +icn +icp_multi +ics932s401 +idmouse +idt77252 +ieee1394 +ifb +iforce +igb +igbvf +ii_pci20kc +ili9320 +imm +in2000 +industrialio +inexio +inftl +initio +inport +input-polldev +int51x1 +intel-agp +intel_menlow +intel-rng +intel_vr_nor +interact +ioatdma +ioc4 +io_edgeport +io_ti +iowarrior +ip2 +ip6_queue +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_LOG +ip6t_mh +ip6t_REJECT +ip6t_rt +ip6_tunnel +ipaq +ipcomp +ipcomp6 +ipddp +ipg +ip_gre +iphase +ipip +ipmi_devintf +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_watchdog +ip_queue +ipr +ips +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_addrtype +ipt_ah +ipt_CLUSTERIP +ipt_ecn +ipt_ECN +ipt_LOG +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_ULOG +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipw2100 +ipw2200 +ipwireless +ipx +ircomm +ir-common +ircomm-tty +irda +irda-usb +ir-kbd-i2c +irlan +irnet +irtty-sir +ir-usb +iscsi_ibft +iscsi_tcp +iscsi_trgt +isdn +isdn_bsdcomp +isdnhdlc +isight_firmware +isl29003 +isl6405 +isl6421 +isl6423 +isofs +isp116x-hcd +isp1362-hcd +isp1760 +istallion +it87 +it8712f_wdt +it87_wdt +iTCO_vendor_support +iTCO_wdt +itd1000 +iuu_phoenix +ivtv +ivtvfb +iw_c2 +iw_cm +iw_cxgb3 +iwl3945 +iwlagn +iwlcore +iwmc3200wifi +ixgb +ixgbe +ixj +ixj_pcmcia +jedec_probe +jffs2 +jfs +jmb38x_ms +jme +joydev +joydump +jr3_pci +jsm +k8temp +kafs +kahlua +kaweth +kb3886_bl +kbic +kbtab +kcomedilib +ke_counter +kernelcapi +keyspan +keyspan_pda +keyspan_remote +khazad +kingsun-sir +kl5kusb105 +kobil_sct +konicawc +ks0108 +ks0127 +ks8842 +ks8851 +ks8851_mll +ks959-sir +ksdazzle-sir +ktti +kvaser_pci +kvm +kvm-amd +kvm-intel +kxsd9 +kyrofb +l1oip +l2cap +l440gx +l64781 +lanai +lance +lanstreamer +lapb +lapbether +lcd +ldusb +lec +led-class +leds-alix2 +leds-bd2802 +leds-da903x +leds-dac124s085 +leds-gpio +leds-lp3944 +leds-net48xx +leds-pca9532 +leds-pca955x +leds-wm831x-status +leds-wm8350 +leds-wrap +ledtrig-backlight +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-timer +legousbtower +lgdt3305 +lgdt330x +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libcrc32c +libertas +libertas_cs +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libosd +libsas +libsrp +lightning +line6usb +linear +lirc_atiusb +lirc_bt829 +lirc_dev +lirc_ene0100 +lirc_i2c +lirc_igorplugusb +lirc_imon +lirc_it87 +lirc_ite8709 +lirc_mceusb +lirc_sasem +lirc_serial +lirc_sir +lirc_streamzap +lirc_ttusbir +lis3l02dq +lis3lv02d +litelink-sir +lkkbd +llc2 +lm63 +lm70 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95241 +lmc +lms283gf05 +lnbp21 +lne390 +lockd +logibm +lp +lp3971 +lp486e +lpddr_cmds +lpfc +lrw +ltc4215 +ltc4245 +ltpc +ltv350qv +lxfb +lzo +lzo_compress +lzo_decompress +m25p80 +m52790 +ma600-sir +mac80211 +mac80211_hwsim +machzwd +macmodes +macvlan +madgemc +magellan +map_absent +map_funcs +map_ram +map_rom +matrix_keypad +matroxfb_accel +matroxfb_base +matroxfb_crtc2 +matroxfb_DAC1064 +matroxfb_g450 +matroxfb_maven +matroxfb_misc +matroxfb_Ti3026 +matrox_w1 +max1111 +max1363 +max1586 +max1619 +max17040_battery +max3100 +max6650 +max6875 +max7301 +max732x +max7359_keypad +mb862xxfb +mbp_nvidia_bl +mc13783 +mc13783-core +mc33880 +mc44s803 +mce-inject +mce-xeon75xx +mcp2120-sir +mcp23s08 +mcs5000_ts +mcs7780 +mcs7830 +mct_u232 +md4 +mdacon +mdc800 +mdio +me4000 +me_daq +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +memstick +metronomefb +meye +mfd-core +mga +michael_mic +microcode +microtek +mii +minix +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +mite +mixcomwd +mk712 +mkiss +mlx4_core +mlx4_en +mlx4_ib +mmc_block +mos7720 +mos7840 +moto_modem +moxa +mpc624 +mpoa +mpt2sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu401 +msdos +msi-laptop +msnd +msnd_classic +msnd_pinnacle +msp3400 +mspro_block +msr +mt2060 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt9m001 +mt9m111 +mt9t031 +mt9v011 +mt9v022 +mtd +mtd_blkdevs +mtdblock +mtdblock_ro +mtdchar +mtdconcat +mtd_dataflash +mtd_oobtest +mtdoops +mtd_pagetest +mtdram +mtd_readtest +mtd_speedtest +mtd_stresstest +mtd_subpagetest +mtd_torturetest +mtouch +multipath +multiq3 +mvsas +mwave +mwl8k +mxb +mxl5005s +mxl5007t +mxser +myri10ge +n2 +n411 +nand +nand_ecc +nand_ids +nandsim +natsemi +navman +nbd +ncpfs +NCR53c406a +NCR_D700 +NCR_Q720_mod +ndiswrapper +ne +ne2 +ne2k-pci +ne3210 +neofb +net1080 +netconsole +netjet +netrom +netsc520 +nettel +netwave_cs +netxen_nic +newtonkbd +nf_conntrack +nf_conntrack_amanda +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_tftp +nf_defrag_ipv4 +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_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nftl +nf_tproxy_core +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 +nl802154 +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 +nouveau +nozomi +n_r3964 +ns558 +ns83820 +nsc_gpio +nsc-ircc +nsp32 +nsp_cs +nst +ntfs +nvidia-agp +nvidiafb +nvram +nxt200x +nxt6000 +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +ohci1394 +old_belkin-sir +olpc_battery +olympic +omfs +omnibook +omninet +on20 +on26 +onenand +onenand_sim +opencores-kbd +opl3 +oprofile +opticon +option +or51132 +or51211 +orinoco +orinoco_cs +orinoco_nortel +orinoco_pci +orinoco_plx +orinoco_tmd +osd +osdblk +osst +oti6858 +output +ov7670 +ov772x +ovcamchip +oxu210hp-hcd +p4-clockmod +p54common +p54pci +p54spi +p54usb +p8023 +p9auth +padlock-aes +padlock-sha +panasonic-laptop +panel +paride +parkbd +parport +parport_ax88796 +parport_cs +parport_pc +parport_serial +pas16 +pas2 +pata_ali +pata_amd +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_qdi +pata_radisys +pata_rdc +pata_rz1000 +pata_sc1200 +pata_sch +pata_serverworks +pata_sil680 +pata_sl82c105 +pata_triflex +pata_via +pata_winbond +pbe5 +pc110pad +pc87360 +pc8736x_gpio +pc87413_wdt +pc87427 +pca953x +pcbc +pcbit +pcd +pcf50633-adc +pcf50633-charger +pcf50633-core +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf857x +pcf8591 +pci +pci200syn +pcilynx +pcips2 +pci-stub +pcl711 +pcl724 +pcl725 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcm3730 +pcmad +pcmcia +pcmcia_core +pcm_common +pcmda12 +pcmmio +pcmuio +pcnet32 +pcnet_cs +pcspkr +pcwd +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pegasus +penmount +pf +pg +phantom +phison +phonedev +phonet +phram +physmap +pktgen +pl2303 +platform_lcd +plat_nand +plat-ram +plip +plusb +pluto2 +pm2fb +pm3fb +pmc551 +pmcraid +pms +pn_pep +poc +poch +pohmelfs +powermate +power_meter +ppa +ppdev +ppp_async +ppp_deflate +ppp_mppe +pppoatm +pppoe +pppol2tp +pppox +ppp_synctty +pps_core +prism2_usb +prism54 +progear_bl +proteon +psmouse +pss +pt +pvrusb2 +pwc +qcserial +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlge +qlogic_cs +qlogicfas +qlogicfas408 +qnx4 +qt1010 +quatech_daqp_cs +quatech_usb2 +quickcam_messenger +quota_tree +quota_v1 +quota_v2 +r128 +r8169 +r8192_pci +r8192se_pci +r8192s_usb +r82600_edac +r8a66597-hcd +radeon +radeonfb +radio-aimslab +radio-aztech +radio-cadet +radio-gemtek +radio-gemtek-pci +radio-i2c-si470x +radio-maestro +radio-maxiradio +radio-mr800 +radio-rtrack2 +radio-sf16fmi +radio-sf16fmr2 +radio-si4713 +radio-tea5764 +radio-terratec +radio-trust +radio-typhoon +radio-usb-si470x +radio-zoltrix +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +raid_class +ramzswap +rar_driver +raw +raw1394 +ray_cs +rdma_cm +rdma_ucm +rds +rds_rdma +rds_tcp +redboot +reed_solomon +reiserfs +rfc1051 +rfc1201 +rfcomm +rfd_ftl +ricoh_mmc +rio500 +riscom8 +rivafb +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rndis_wlan +rocket +romfs +rose +rotary_encoder +rpcsec_gss_krb5 +rpcsec_gss_spkm3 +rrunner +rsrc_nonstatic +rt2400pci +rt2500pci +rt2500usb +rt2800usb +rt2860sta +rt2870sta +rt2x00lib +rt2x00pci +rt2x00usb +rt3090sta +rt61pci +rt73usb +rtc-ab3100 +rtc-bq4802 +rtc-ds1286 +rtc-ds1305 +rtc-ds1307 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-ds3234 +rtc-fm3130 +rtc-isl1208 +rtc-m41t80 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-pcf2123 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-r9701 +rtc-rs5c348 +rtc-rs5c372 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-test +rtc-twl4030 +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtd520 +rti800 +rti802 +rtl8150 +rtl8180 +rtl8187 +rtl8187se +rxkad +s1d13xxxfb +s2255drv +s2io +s3fb +s526 +s5h1409 +s5h1411 +s5h1420 +s626 +saa5246a +saa5249 +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +safe_serial +salsa20_generic +salsa20-i586 +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 +sb +sb1000 +sbc60xxwdt +sbc7240_wdt +sbc8360 +sbc_epx_c3 +sbc_fitpc2_wdt +sbc_gxx +sb_lib +sbni +sbp2 +sc +sc1200wdt +sc520cdp +sc520_wdt +sc92031 +scb2_flash +scc +sch311x_wdt +sch_atm +sch_cbq +sch_drr +sch_dsmark +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_multiq +sch_netem +sch_prio +sch_red +sch_sfq +sch_tbf +sch_teql +sco +scsi_debug +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 +scx200 +scx200_acb +scx200_docflash +scx200_gpio +scx200_hrt +scx200_i2c +scx200_wdt +sdhci +sdhci-pci +sdhci-pltfm +sdio_uart +sdla +sdricoh_cs +se401 +sealevel +sedlbauer_cs +seed +seeq8005 +sep_driver +seqiv +ser_gigaset +serial2002 +serial_cs +serio_raw +sermouse +serpent +serport +serqt_usb2 +ses +sfc +sha1_generic +sha256_generic +sha512_generic +shpchp +sht15 +si21xx +si4713-i2c +sidewinder +siemens_mpi +sierra +sim710 +sir-dev +sis +sis190 +sis5595 +sis900 +sis-agp +sisfb +sisusbvga +sit +sja1000 +sja1000_isa +sja1000_platform +skel +skfp +skge +skisa +sky2 +sl811_cs +sl811-hcd +slicoss +slip +slram +sm501 +sm501fb +smbfs +smc9194 +smc91c92_cs +smc-mca +smctr +smc-ultra +smc-ultra32 +smsc37b787_wdt +smsc47b397 +smsc47m1 +smsc47m192 +smsc9420 +smsc95xx +smsc-ircc2 +smsdvb +smsmdtv +smssdio +smsusb +sn9c102 +snd +snd-ac97-codec +snd-ad1816a +snd-ad1848 +snd-ad1889 +snd-adlib +snd-ak4114 +snd-ak4117 +snd-ak4xxx-adda +snd-ali5451 +snd-als100 +snd-als300 +snd-als4000 +snd-atiixp +snd-atiixp-modem +snd-au8810 +snd-au8820 +snd-au8830 +snd-aw2 +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-dt019x +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-es968 +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-atihdmi +snd-hda-codec-ca0110 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-idt +snd-hda-codec-intelhdmi +snd-hda-codec-nvhdmi +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-intel +snd-hdsp +snd-hdspm +snd-hifier +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-korg1212 +snd-layla20 +snd-layla24 +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-pcm-oss +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-oss +snd-seq-virmidi +snd-serial-u16550 +snd-sgalaxy +snd-sis7019 +snd-soc-ad1836 +snd-soc-ad1938 +snd-soc-ad73311 +snd-soc-ak4104 +snd-soc-ak4535 +snd-soc-ak4642 +snd-soc-core +snd-soc-cs4270 +snd-soc-l3 +snd-soc-max9877 +snd-soc-pcm3008 +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-tlv320aic23 +snd-soc-tlv320aic26 +snd-soc-tlv320aic3x +snd-soc-twl4030 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wm8350 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8776 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8993 +snd-soc-wm9081 +snd-soc-wm-hubs +snd-sonicvibes +snd-sscape +snd-tea575x-tuner +snd-tea6330t +snd-timer +snd-trident +snd-usb-audio +snd-usb-caiaq +snd-usb-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 +softcursor +softdog +solos-pci +sony-laptop +sonypi +sound +soundcore +sound_firmware +sp8870 +sp887x +spaceball +spaceorb +spcp8x5 +specialix +spectrum_cs +speedfax +speedtch +spi_bitbang +spi_butterfly +spidev +spi_gpio +spi_lm70llp +squashfs +ssb +sscape +ssfdc +sst25l +sstfb +ssv_dnp +st +stallion +starfire +stb0899 +stb6000 +stb6100 +stex +stinger +stir4200 +stkwebcam +stowaway +stp +stradis +strip +stv0288 +stv0297 +stv0299 +stv0900 +stv090x +stv6110 +stv6110x +stv680 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +svcrdma +svgalib +sworks-agp +sx8 +sym53c416 +sym53c500_cs +sym53c8xx +symbolserial +synaptics_i2c +synclink +synclink_cs +synclink_gt +synclinkmp +syscopyarea +sysfillrect +sysimgblt +sysv +t128 +t1isa +t1pci +tc1100-wmi +tcic +tcp_bic +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 +tda10086 +tda18271 +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tdfx +tdfxfb +tdo24m +tea +tea5761 +tea5767 +tea6415c +tea6420 +tehuti +tekram-sir +teles_cs +tg3 +tgr192 +thinkpad_acpi +thmc50 +tifm_7xx1 +tifm_core +tifm_ms +tifm_sd +tileblit +timeriomem-rng +tipc +ti_usb_3410_5052 +tlan +tlclk +tle62x0 +tmdc +tmiofb +tmp401 +tmp421 +tms380tr +tmscsim +tmspci +toim3232-sir +topstar-laptop +toshiba_acpi +touchit213 +touchright +touchwin +tpm +tpm_atmel +tpm_bios +tpm_infineon +tpm_nsc +tpm_tis +tps65010 +tps65023-regulator +tps6507x-regulator +trancevibrator +tranzport +tridentfb +trix +ts5500_flash +ts_bm +tsc2007 +ts_fsm +ts_kmp +tsl2550 +tsl2561 +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +tua6100 +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +turbografx +tvaudio +tveeprom +tvp5150 +tw9910 +twidjoy +twl4030-gpio +twl4030_keypad +twl4030-pwrbutton +twl4030-usb +twl4030_wdt +twofish +twofish_common +twofish-i586 +typhoon +u132-hcd +u14-34f +uart401 +uart6850 +ubi +ubifs +ucb1400_core +ucb1400_ts +udf +udlfb +ueagle-atm +ufs +uinput +uio +uio_aec +uio_cif +uio_pci_generic +uio_pdrv +uio_pdrv_genirq +uio_sercos3 +uio_smx +uli526x +ultracam +ultrastor +umc +umem +ums-alauda +ums-cypress +ums-datafab +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-sddr09 +ums-sddr55 +ums-usbat +unioxx5 +upd64031a +upd64083 +uPD98402 +usb8xxx +usbatm +usb_debug +usbdux +usbduxfast +usb_gigaset +usbhid +usbip +usbip_common_mod +usblcd +usbled +usblp +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +usbtouchscreen +usbvideo +usbvision +userspace-consumer +uss720 +uvcvideo +uvesafb +uwb +v4l1-compat +v4l2-common +v4l2-int-device +vcan +ves1820 +ves1x93 +vesafb +veth +vfat +vga16fb +vgastate +vgg2432a4 +vhci-hcd +via +via686a +via-agp +viafb +via-ircc +via-rhine +via-rng +via-sdmmc +via-velocity +vicam +video +video1394 +videobuf-core +videobuf-dma-sg +videobuf-dvb +videobuf-vmalloc +videocodec +videodev +virtio +virtio_balloon +virtio_blk +virtio_console +virtio_net +virtio_pci +virtio_ring +virtio-rng +virtual +visor +vivi +vlsi_ir +vmac +vme +vme_ca91cx42 +vme_tsi148 +vme_user +v_midi +vmk80xx +vmlfb +vmw_pvscsi +vmxnet3 +vp27smpx +vpx3220 +vstusb +vsxxxaa +vt1211 +vt6656_stage +vt8231 +vt8623fb +vxge +w1_bq27000 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1-gpio +w1_smem +w1_therm +w6692 +w83627ehf +w83627hf +w83627hf_wdt +w83697hf_wdt +w83697ug_wdt +w83781d +w83791d +w83792d +w83793 +w83877f_wdt +w83977af_ir +w83977f_wdt +w83l785ts +w83l786ng +w9966 +w9968cf +wacom +wacom_w8001 +wafer5823wdt +walkera0701 +wanrouter +wanxl +warrior +wavelan +wavelan_cs +wbsd +wd +wd7000 +wdt +wdt_pci +whci +whci-hcd +whc-rc +whiteheat +wimax +winbond-840 +winbond-cir +wire +wistron_btns +wl1251 +wl1251_sdio +wl1251_spi +wl1271 +wl3501_cs +wlp +wm831x +wm831x_bl +wm831x-dcdc +wm831x-gpio +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x_power +wm831x_wdt +wm8350 +wm8350-hwmon +wm8350-i2c +wm8350_power +wm8350-regulator +wm8350_wdt +wm8400-core +wm8400-regulator +wm8739 +wm8775 +wm97xx-ts +wp512 +wpan-class +wusb-cbaf +wusbcore +wusb-wa +x25 +x25_asy +x38_edac +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_ipcomp +xfrm_user +xfs +xhci +xirc2ps_cs +xircom_cb +xor +xpad +xprtrdma +x_tables +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNMARK +xt_CONNSECMARK +xt_conntrack +xt_dccp +xt_dscp +xt_DSCP +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xt_iprange +xtkbd +xt_LED +xt_length +xt_limit +xt_mac +xt_mark +xt_MARK +xt_multiport +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_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_tcpudp +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xusbatm +xvmalloc +yam +yealink +yellowfin +yenta_socket +z85230 +zatm +zaurus +zc0301 +zd1201 +zd1211rw +zhenhua +zl10036 +zl10039 +zl10353 +zlib +zlib_deflate +znet +zr36016 +zr36050 +zr36060 +zr36067 +zr364xx --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/ia64/ia64 +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/ia64/ia64 @@ -0,0 +1,9250 @@ +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/button 0x48193639 acpi_lid_open +EXPORT_SYMBOL drivers/acpi/button 0x7b56bd05 acpi_lid_notifier_register +EXPORT_SYMBOL drivers/acpi/button 0xaaf45875 acpi_lid_notifier_unregister +EXPORT_SYMBOL drivers/acpi/processor 0x01ea811f acpi_processor_unregister_performance +EXPORT_SYMBOL drivers/acpi/processor 0x4e6904ba acpi_processor_preregister_performance +EXPORT_SYMBOL drivers/acpi/processor 0x748008be acpi_processor_notify_smm +EXPORT_SYMBOL drivers/acpi/processor 0xa5c3de7f acpi_processor_register_performance +EXPORT_SYMBOL drivers/acpi/processor 0xe8a3605f acpi_processor_set_thermal_limit +EXPORT_SYMBOL drivers/atm/suni 0xa9fab69d suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0xd2a19264 uPD98402_init +EXPORT_SYMBOL drivers/block/loop 0x5c4ec6c4 loop_register_transfer +EXPORT_SYMBOL drivers/block/loop 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL drivers/block/paride/paride 0x0029a15e paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x30fe392e pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x4726c462 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0x71765cc8 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x82ab4efb pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x881e331f pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x95d3ba47 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0xa0ff8559 pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0xaee4f72f pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xc6beff9f pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0xcc3682e2 pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xf902a648 pi_release +EXPORT_SYMBOL drivers/cdrom/cdrom 0x07c96024 cdrom_release +EXPORT_SYMBOL drivers/cdrom/cdrom 0x1ed4724b unregister_cdrom +EXPORT_SYMBOL drivers/cdrom/cdrom 0x4f476e96 init_cdrom_command +EXPORT_SYMBOL drivers/cdrom/cdrom 0x4f59b90d cdrom_get_last_written +EXPORT_SYMBOL drivers/cdrom/cdrom 0x708620d0 cdrom_mode_select +EXPORT_SYMBOL drivers/cdrom/cdrom 0x86624a20 cdrom_media_changed +EXPORT_SYMBOL drivers/cdrom/cdrom 0x8ba1967b cdrom_ioctl +EXPORT_SYMBOL drivers/cdrom/cdrom 0xb2560b50 cdrom_open +EXPORT_SYMBOL drivers/cdrom/cdrom 0xc4574b01 cdrom_number_of_slots +EXPORT_SYMBOL drivers/cdrom/cdrom 0xdc7a13b7 cdrom_mode_sense +EXPORT_SYMBOL drivers/cdrom/cdrom 0xde096833 register_cdrom +EXPORT_SYMBOL drivers/cdrom/cdrom 0xfa8dca1e cdrom_get_media_event +EXPORT_SYMBOL drivers/char/agp/agpgart 0x06cd0c63 agp3_generic_tlbflush +EXPORT_SYMBOL drivers/char/agp/agpgart 0x09deb02d agp_generic_type_to_mask_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0x11b0bfa1 agp_bind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x13d83d5c agp_alloc_page_array +EXPORT_SYMBOL drivers/char/agp/agpgart 0x16c90b7f agp_flush_chipset +EXPORT_SYMBOL drivers/char/agp/agpgart 0x198eeeb8 agp_generic_free_by_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0x1a9efc36 agp_generic_remove_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x2cac88ed agp_alloc_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0x30226ddf agp_device_command +EXPORT_SYMBOL drivers/char/agp/agpgart 0x3678951e agp_generic_insert_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x392adb4e agp_generic_free_gatt_table +EXPORT_SYMBOL drivers/char/agp/agpgart 0x3af5f7b6 agp_generic_enable +EXPORT_SYMBOL drivers/char/agp/agpgart 0x3cd64478 agp_backend_acquire +EXPORT_SYMBOL drivers/char/agp/agpgart 0x4adf9e56 agp_free_page_array +EXPORT_SYMBOL drivers/char/agp/agpgart 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL drivers/char/agp/agpgart 0x673f815e agp_bridges +EXPORT_SYMBOL drivers/char/agp/agpgart 0x6b5de936 agp_collect_device_status +EXPORT_SYMBOL drivers/char/agp/agpgart 0x7538b132 agp_off +EXPORT_SYMBOL drivers/char/agp/agpgart 0x798728ef agp_allocate_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x7ce5d9d6 agp_generic_create_gatt_table +EXPORT_SYMBOL drivers/char/agp/agpgart 0x8a357271 agp_generic_alloc_user +EXPORT_SYMBOL drivers/char/agp/agpgart 0xa0fcc760 agp_free_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xa2845f2b agp_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0xa2a3c0e4 agp_generic_destroy_pages +EXPORT_SYMBOL drivers/char/agp/agpgart 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL drivers/char/agp/agpgart 0xaa5a8dc6 agp_create_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb04ea8f0 agp_rebind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb2bc0583 agp_generic_destroy_page +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb628e6cb agp_unbind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xba644a17 agp_copy_info +EXPORT_SYMBOL drivers/char/agp/agpgart 0xbc1d356c agp_backend_release +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc7a3ef4d agp_find_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL drivers/char/agp/agpgart 0xd36878cd agp_put_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0xdd7e9831 get_agp_version +EXPORT_SYMBOL drivers/char/agp/agpgart 0xde4c78fe agp_generic_mask_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL drivers/char/agp/agpgart 0xeb8932a2 agp_enable +EXPORT_SYMBOL drivers/char/agp/agpgart 0xedef4c63 agp_generic_alloc_pages +EXPORT_SYMBOL drivers/char/agp/agpgart 0xf910b2cb agp_generic_alloc_by_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0xfc139f79 agp_generic_alloc_page +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0448f7cd drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08090245 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0836695c drm_sman_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a29f5b4 drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0bb7dc52 drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0de74114 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e0f993d drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e701519 drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1065765a drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1079c7eb drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11608cf5 drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16cf4426 drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x18eb398b drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x197c7a06 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a7897e9 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c20f483 drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f072c59 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f426dcc drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21451ac4 drm_sman_owner_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2916bf63 drm_sman_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2be27fa7 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d895923 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2dc93ffb drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e3ffb5b drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2eb2f903 drm_sman_free_key +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3099032f drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30a93a84 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30b5d3d6 drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x311a493e drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b72eb9 drm_agp_chipset_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32d66190 drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x355e3071 drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36a09c26 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37090305 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37b1e6e2 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39772835 drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a40c430 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c9a1409 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3fa8a96e drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x417256e6 drm_get_resource_start +EXPORT_SYMBOL drivers/gpu/drm/drm 0x424c447a drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d7e19f1 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e5194e1 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f075aef drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x530eed81 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x548d44ab drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x559cfcef drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55f060ee drm_sman_set_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x568a617b drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x580830f0 drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x58c11201 drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x595f5842 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5aa89437 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b2bcd69 drm_i_have_hw_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ecc7565 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60d247a9 drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x617efe86 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64261761 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65232523 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x663d78d7 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c41540f drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c5dc3bd drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cd1e7f4 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d2e5837 drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d521f52 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6db62b01 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fc30481 drm_mode_hsync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7150087f drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73650b26 drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7429eb63 drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7523bb89 drm_get_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7567e367 drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76634048 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77880a35 drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77e9925a drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x784915eb drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78fb6141 drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79db0568 drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7becf9f2 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7bf104ff drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c1fd6c8 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7cac2444 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e827536 drm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8057f144 drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82778587 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82cc36ae drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85de09f5 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8748d922 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87d6e7ef drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d751d51 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x917203d1 drm_get_resource_len +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9471717a drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94c0e017 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95f0e76b drm_get_drawable_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96aab6eb drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b2e0215 drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa3e4f68e drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa81bbc6c drm_do_probe_ddc_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa302e40 drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa7a17d9 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab40bdf7 drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf29788e drm_sman_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf7e6fe8 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb144f072 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3b10655 drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5911a4c drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7249c82 drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7a09345 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba6ed3df drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb5afb46 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb6f8757 drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc1032c5 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf957f7c drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbfa833c8 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1c7458d drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc41980a1 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc465c63e drm_lock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5758fef drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6085062 drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8ed0503 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcadb2cd6 drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb25d88c drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcca8e801 drm_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdf2eff4 drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xce9235c7 drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf5c40c3 drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0765f72 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd08fa3f0 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3028e75 drm_sman_set_manager +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3a10e18 drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3ffab51 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd63d6819 drm_core_get_map_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd91d855f drm_core_get_reg_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbcdb931 drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc309f60 drm_sg_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd3febe2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd49095c drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde21f5ba drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0714a77 drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0d8acbb drm_agp_bind_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1457735 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe24a7b88 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe3e2206e drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe58098e2 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5bdce7e drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5f56d29 drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe898eba4 drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a66dfe drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe919dd5c drm_sman_owner_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe9c04bc8 drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb5c357a drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec7e0dba drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeca2d217 drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xecab73aa drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xecb3c8e8 drm_lock_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf42a2b26 drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6daf01c drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6e0a7ec drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf98e3e1b drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd0cd072 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdfbad19 drm_sman_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x010ad584 drm_helper_hotplug_stage_two +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x17d06300 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x28706046 drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2bc5d6ea drm_fb_helper_init_crtc_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x37c9c6a6 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x39631fd8 drm_fb_helper_setcolreg +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3eeee064 drm_fb_helper_free +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x467996ac drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x548d51bb drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x54e6f71d drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5ba31c07 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b699b71 drm_fb_helper_add_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6ef89879 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x70696b01 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fbe5f0f drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8b9f08e1 drm_helper_probe_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8dc153f2 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x912e4e38 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc5aad927 drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd3afb17b drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd4d742f8 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe18c7818 drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf34b6128 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf5942daf drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfdd199d7 drm_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0xac8196aa radeonfb_resize +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0xe1cc0099 radeonfb_remove +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0136382e ttm_suspend_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0e2a554f ttm_mem_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x11d2a328 ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x15dc273b ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x18e79cde ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1b7040cc ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1dfa9ddd ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x227074a4 ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2345bf54 ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2a030f9e ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2cbf4d77 ttm_base_object_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2e252bc8 ttm_object_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2e31c439 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2e8d799b ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x32f43631 ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x365feb2e ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3b2cba7f ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3e734d83 ttm_object_file_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3f74f529 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x44409a13 ttm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x45deca4b ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4d9fe9fd ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x578a1752 ttm_agp_backend_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x58abe8f4 ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5a101489 ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5c1fa37e ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5ca5cb47 ttm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61bdb34f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x67d0846d ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6dfbf60f ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x73227906 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7753b24d ttm_ref_object_add +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x77b9ce98 ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x77e743d4 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x816082ea ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x82e8f971 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x86a4066d ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8ae685b9 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x91b4756e ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x92b5e140 ttm_object_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9bca0653 ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9f23b6ed ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa903675e ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xac0e50d1 ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb06436f2 ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc3c598d9 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc64022a6 ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd18f7a9f ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd857d1d1 ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xda55937a ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe10d1379 ttm_base_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe72c4f08 ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe802381e ttm_base_object_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xef5d2b66 ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf5533216 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf90467aa ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfa2537ae ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfcce372b ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfdb31cfa ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfed54626 ttm_bo_evict_mm +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 0x81e7bd4a i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xf1ba1ef0 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x3d2c42e9 amd756_smbus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x00ca2b70 hpsb_make_lockpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x04e24aa4 hpsb_packet_success +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0514dd9a hpsb_iso_recv_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x080f6e7d hpsb_iso_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0b234c4e dma_prog_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0d70e496 hpsb_node_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x158ac548 dma_region_offset_to_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1625efd0 dma_region_mmap +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x164ef2a4 hpsb_make_writepacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x17076baf hpsb_iso_n_ready +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x19d148d9 hpsb_node_fill_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1a200e5a csr1212_release_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1b78f306 hpsb_iso_wake +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1c5f5aed hpsb_set_packet_complete_task +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1cec491b hpsb_set_hostinfo_key +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x252c1b41 hpsb_make_streampacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2a4cc36b csr1212_attach_keyval_to_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2ebb04f8 hpsb_bus_reset +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2ebf6e5a dma_prog_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x34867d60 hpsb_read_cycle_timer +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x390488b9 hpsb_alloc_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3a3aa5cd hpsb_make_phypacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x434664d8 hpsb_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x46f00a21 hpsb_iso_recv_unlisten_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x47297a2d hpsb_protocol_class +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x49a95dc4 csr1212_get_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4a4cc026 hpsb_iso_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4a9cd770 csr1212_parse_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4c7a508f hpsb_iso_shutdown +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4e99d1be hpsb_unregister_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4f728927 hpsb_iso_xmit_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x51e42907 hpsb_reset_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x53df2e52 hpsb_selfid_complete +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x55d11057 hpsb_free_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x56729d3b hpsb_alloc_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x57194fd6 hpsb_iso_recv_listen_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x58a909d8 hpsb_lock +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5ed5d83a hpsb_destroy_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5f5fdd2f csr1212_new_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x671c8368 hpsb_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x672ad148 dma_region_sync_for_device +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x68b51e47 csr1212_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6d0f3d7b __hpsb_register_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6d6d2841 hpsb_unregister_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7024ca63 hpsb_update_config_rom +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x70ee7dfc hpsb_update_config_rom_image +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x740a104d hpsb_get_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x76bc1a5c dma_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x77c1ee26 hpsb_make_lock64packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7901ad3f hpsb_make_readpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7f9f631e hpsb_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8215e4e2 hpsb_iso_xmit_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x83cde8e8 hpsb_resume_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8721bba0 hpsb_register_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8879f8f0 dma_region_sync_for_cpu +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8cc9d59d hpsb_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8ec2b312 dma_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x94df0fde hpsb_set_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x959377f3 hpsb_iso_recv_release_packets +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x96f809bc hpsb_free_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa6d2f9d3 hpsb_iso_stop +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa81fae14 hpsb_get_hostinfo_bykey +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xad397861 hpsb_iso_xmit_queue_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaef57bb5 csr1212_detach_keyval_from_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaf7973ab hpsb_selfid_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb4310656 hpsb_unregister_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xbdf4b0dd hpsb_remove_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xccbbbfa4 hpsb_add_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcd9e772b dma_prog_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xce6b3cb0 hpsb_get_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd1b1c1c1 hpsb_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd374e13d hpsb_create_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe7d3925a hpsb_iso_recv_set_channel_mask +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xea4152ff dma_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xea7d57ae hpsb_send_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf03555e1 hpsb_iso_xmit_sync +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf20a77ac hpsb_allocate_and_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf40cb64e hpsb_iso_recv_flush +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf5c1cbf0 hpsb_iso_recv_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfba57f51 hpsb_speedto_str +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x03feeea4 ohci1394_unregister_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x1d5aeebc ohci1394_init_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x625b27da ohci1394_register_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x8721ffd5 ohci1394_stop_context +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x063e80b1 rdma_addr_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x23617e3e rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x5b735b71 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x9c0df2ec rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x9f7b5224 rdma_addr_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xb3eb6a3c rdma_copy_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1e6ab4dd ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x32e1eaec ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3553ac3f ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7eff3ee9 ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x804df2bf ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x826dfb4e ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x8347cc94 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x897ce302 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa7206052 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xaaf4a5e0 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb982c7c8 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbec8c5bf ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xcd3fda91 ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe800fa11 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xeb4c1f88 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf95afc74 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xfed2f0fa ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06830b9a ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0737b323 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07c55f7c ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0ceed320 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0d6eedfd ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1111e33c ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x154cfb2f ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x16644570 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1963b6fd ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x216ba6f6 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x23fc00b1 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x28dfdbfd ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2fc80d0f ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x36a0e6fb ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x385be8b7 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f7567fd ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x418aa284 ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4686e488 ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4785771c ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x490d2dbd ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4d7bb9e9 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4dede1cc ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5bf9c771 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b6c3123 ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x702781b5 ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x721b3130 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7a6d317b ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7a95691d ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7ab023ad ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7d2636a5 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8293c7a6 ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8423afc4 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x84dd1e48 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8640eaeb ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87b614d8 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87ca99ef ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x88107a9f ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x89279bfb ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8a997c6e ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8dd07edf ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e2468a1 ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e477c6a ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90302c25 ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x92274a2b ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x95728a18 ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d804fa1 mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa01fdafe ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaa36dffa ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xab0d2fd3 ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaec07490 ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaec6472a ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaed175d9 ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xafdffec7 ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb18c1cfd ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb65bbf37 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbc658e4c ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc50d58b6 ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd17ba9d1 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd2552df9 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd61ed257 ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdc4fce34 ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdc8e42ef ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe3b33d6c ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe3d55e9f ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5edcd85 ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe984e780 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeb72bda1 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf36498b9 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf36f7d2b ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf96fc9de ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xff415cf7 ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x3568455e ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x4e3ae57b ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x5d49ab51 ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6ef787ed ib_response_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 0x7feca4eb ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x83ee8c88 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xa73585f9 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xc20a242d ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xd33824f1 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xd5f76c61 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xe954b791 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xf4cb9ee2 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xf5f6ae5e ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x01a271db ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x496d35ae ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x576fdbac ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x7d977e2c ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x89b87f53 ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x92d34866 ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xa02ff902 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xa345aa8b ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xc8c3becc ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xf5dc7f70 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x2a8ee69f iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x46303d4b iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x68aac6dc iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x9145e93f iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x9b69fbd5 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xb1710279 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xba5db4a3 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xca8a1627 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x18845d68 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x36a38c53 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x497d1433 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5c6d7f4d rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6d442050 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6ed1fc73 rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7f835c79 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x934333a3 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x93c0e2f6 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x98b4bb30 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa73c6787 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc2d67ce1 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd2c6aed8 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdc6a410a rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdc6c7980 rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe27a72fe rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe89ce146 rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xeb3d1339 rdma_connect +EXPORT_SYMBOL drivers/input/gameport/gameport 0x10baee7e gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xb2466fcf gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xbb797d82 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xbeadd4ef gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0xc4b806df gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xcb0388e2 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xcf27c96f gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe1d4937a __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xee32f887 gameport_stop_polling +EXPORT_SYMBOL drivers/input/input-polldev 0x62f8ba3e input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x70a04753 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x99b72a26 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xdd17adff input_free_polled_device +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 0x2b7669f0 capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2b8eab1f capilib_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2baa6586 capilib_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31c24aa4 capi20_isinstalled +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x3a8b526b capi20_put_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47d3fc51 capi_info2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47dbfa0a capi_message2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x4825f21e capi20_set_callback +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x4c21dad9 capi_ctr_ready +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 0x788d398c capi_cmsg2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x792483d2 capi_ctr_suspend_output +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 0x80cc1c74 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8f699913 capilib_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x9677c6c2 capi_ctr_resume_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x9f823278 register_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xa2621f13 capi_ctr_down +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 0xc94e8566 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xcf579aec capi20_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xd8e79bbf detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe19a11ac capi20_get_profile +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe9f62f29 cdebbuf_free +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xed061606 capi20_manufacturer +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x519d142a mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x6991f987 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x8aed93c1 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xa88cab1b mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x77da3b49 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xfc957bde mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x0684171b 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 0x084cb1a6 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0df5b145 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x289d04a3 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2a75dc50 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2d6c77c0 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x33602d3d mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3ea336fd mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x429129f2 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4b2f573e get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5dc7400a mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7b19cbae mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa2976e5a bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa70d1687 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xaa8632ad get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xace35cae mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xbfdf016f mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3fa4beb confirm_Bsend +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc6a3ae39 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd0e6bc83 mISDN_initbchannel +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 0xd9a7fbfd mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe449db25 recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe5df79ff mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf02cd655 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf6dd34d8 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf7437af4 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf756d48e l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf9e7832f mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfa888bfe mISDN_initdchannel +EXPORT_SYMBOL drivers/md/dm-log 0x500164b6 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0xce7aa1ac dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0xf3279dc5 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0xfca64ac3 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x33d541b9 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x59d24730 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0xece89fe7 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0xf30ef1a1 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/md-mod 0x0513df4d md_write_end +EXPORT_SYMBOL drivers/md/md-mod 0x0ea51535 bitmap_endwrite +EXPORT_SYMBOL drivers/md/md-mod 0x140d9ee2 bitmap_startwrite +EXPORT_SYMBOL drivers/md/md-mod 0x189d8e79 md_register_thread +EXPORT_SYMBOL drivers/md/md-mod 0x2b84702b md_write_start +EXPORT_SYMBOL drivers/md/md-mod 0x4a4869cc bitmap_start_sync +EXPORT_SYMBOL drivers/md/md-mod 0x530c2ee1 md_wakeup_thread +EXPORT_SYMBOL drivers/md/md-mod 0x569a14b2 md_done_sync +EXPORT_SYMBOL drivers/md/md-mod 0x7345298a md_integrity_register +EXPORT_SYMBOL drivers/md/md-mod 0x879a6848 register_md_personality +EXPORT_SYMBOL drivers/md/md-mod 0x9294a536 md_check_no_bitmap +EXPORT_SYMBOL drivers/md/md-mod 0x97462429 md_error +EXPORT_SYMBOL drivers/md/md-mod 0x9bb60311 bitmap_unplug +EXPORT_SYMBOL drivers/md/md-mod 0x9cf1afb6 unregister_md_personality +EXPORT_SYMBOL drivers/md/md-mod 0x9eaecc0c md_wait_for_blocked_rdev +EXPORT_SYMBOL drivers/md/md-mod 0xaf3e7161 md_unregister_thread +EXPORT_SYMBOL drivers/md/md-mod 0xcb17d1c3 bitmap_cond_end_sync +EXPORT_SYMBOL drivers/md/md-mod 0xcc4e4448 mddev_congested +EXPORT_SYMBOL drivers/md/md-mod 0xcf48f748 md_integrity_add_rdev +EXPORT_SYMBOL drivers/md/md-mod 0xe30d1bf6 bitmap_end_sync +EXPORT_SYMBOL drivers/md/md-mod 0xeb6def4e md_set_array_sectors +EXPORT_SYMBOL drivers/md/md-mod 0xf645c908 bitmap_close_sync +EXPORT_SYMBOL drivers/md/md-mod 0xfb4eefae md_check_recovery +EXPORT_SYMBOL drivers/md/raid6_pq 0x0bd662f6 raid6_gfmul +EXPORT_SYMBOL drivers/md/raid6_pq 0x15fe0cd3 raid6_gfexp +EXPORT_SYMBOL drivers/md/raid6_pq 0x5ba93f9d raid6_gfinv +EXPORT_SYMBOL drivers/md/raid6_pq 0xa20f2f7c raid6_empty_zero_page +EXPORT_SYMBOL drivers/md/raid6_pq 0xce45a6f1 raid6_gfexi +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0x39213423 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0xcf85d81e mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0xd40db5fe mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0xf726e83a mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x28d0b9d7 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xbe0702d3 qt1010_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 0xa9db8e57 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0xb82f307f xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x01efe2a9 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x0b39842c flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x11d83191 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x14037f85 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x2495efe5 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x2611d461 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x334a03a3 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x3587f7ea flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x498cc9c4 flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x5935fc8e flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x5c90c125 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6cab58e1 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x70b3cf06 flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x81240af0 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x81e32099 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x97a398d5 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xab372a97 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xb6c0213c flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd1d6e94f flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xdfeeb1f2 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x2710d6d7 bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x40f41c4e bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd57bd1b3 bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xda45053e bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x367c4d31 read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x37cf5e24 dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x46b7a918 dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x81301ece rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x86e677bb dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x9a519a9d dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xb6ec6e3e dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xc451e487 write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xf4cac8e1 dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0xfc7eb6c9 dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x02d847e5 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x07d298c1 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c4d4a14 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x10a8bc05 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x12ac9225 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x2b9c6b9e dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x358fcb75 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3e9c4dba dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x44246771 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4dc74624 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4ed455d5 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x572b6096 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5f793075 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6d3aedd3 dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x70accb4b dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x74a5a698 dvb_filter_pes2ts_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x802bb54f 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 0x8cd60a93 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa0bd40b8 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa223b145 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa31783e1 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa3dbc22d dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa6b3f78e dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb0f5ddb5 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb26796e0 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb734081f dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xbc0d91e1 timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc149ceef dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc1b9d6cf dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc8d7d5e1 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcfe1df45 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd7f63963 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd8771c36 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xdcb96d32 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe3e711d9 dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf7948054 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf826deb0 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x16547f78 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x28481eff dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x294af802 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x4bdb0a8f dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x5213a540 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x5874985a dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x6f76e96e dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x3693500b af9005_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x6078f872 af9005_rc_decode +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xd3383957 af9005_rc_keys_size +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x1c7cb726 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x397e45f2 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x3a6c2612 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x3d05c91d dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x4e27184f dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x4e4adaa6 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x59fa2401 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x913d0fa4 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x9c09652b dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xb332c5d0 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xcc9ccaff dibusb_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xd4b8efaa dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0xe4bd43d2 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522 0x08b8067d au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0xd983acac bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0xaa9b7494 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0xec2581cb cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0x582aa65b cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x8df864b5 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0xb87af494 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x2a1ff7b0 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xc2252107 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xcd0825e9 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x0394c1e5 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x2a7cf69a dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xf00d5ed4 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x55e721d6 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x056c9d37 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x0a321fef dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x34d309ff dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x7dca7083 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xa3296976 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xb51b5770 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x06beaeaf dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x2072c8c1 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x42007fe1 dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x5c9df037 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x952f476a dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xe19515ed dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xf6b2a2ab dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xf9fc6a64 dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x25cb599c dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x3acb4a40 dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x62c78a75 dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xaee32981 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xf7367e7c dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x0cdf401a dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xa58175dc dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xbee1b433 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xef9312af dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0xc81426e8 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0xc82774ef isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0x413ed88c isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0xcb529e4e itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0x6130a8de l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0xd03fed46 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x4e266f27 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0xcdf27edf lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xc2890130 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xe339d73b lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0x968d1520 mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0x881ee804 mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0x2d3d79be nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0x304f5cc8 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0x3d74d2ff or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0xfe5740a1 or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0x1217093c s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0x7f2f6ceb s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x11bcd8ba s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x45890b41 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0xe2f92c60 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0x368e4a0b sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0xa2b269b9 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0x0d1a5a34 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0x580cc206 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0x6edc8f28 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0xa1911c99 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x2c08afc2 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0xb947b90d stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0xbdf6c825 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0x52c8dd0e tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0xf1b14590 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x31f477b0 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x509083ba tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x70255d56 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0x855d7da1 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0x812d012f tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0xb0198ef5 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0xab6811ea ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0x1070f303 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0xc96ea188 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0x6f809f77 zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xc601baeb ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x13b97606 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x387e77cc ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x7e0e4beb bttv_get_pcidev +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 0xe1f79ff1 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xfb7651a6 bttv_sub_register +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x495e4b0c btcx_calc_skips +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x607ac065 btcx_riscmem_free +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 0xcb22d2d5 btcx_riscmem_alloc +EXPORT_SYMBOL drivers/media/video/btcx-risc 0xcda0ded2 btcx_screen_clips +EXPORT_SYMBOL drivers/media/video/cpia 0x3c82aa2e cpia_unregister_camera +EXPORT_SYMBOL drivers/media/video/cpia 0x7ebed4aa cpia_register_camera +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x17c16a49 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0xce7e2e52 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x155650f3 cx2341x_ctrl_get_menu +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 0x5b88faf6 cx2341x_ext_ctrls +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 0xe2c2b5eb cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x07633dce vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x58cb2161 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x43dd1352 cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x4c1cf5a0 cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x51aaaf55 cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x9b88483f cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xc0e4d6d7 cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xd32139b1 cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x073082cd cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x5d049e59 cx8802_get_device +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x68aa0490 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x9af2e710 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xb22b26bd cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xcbd0ff0a cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xd9dbc7ff cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x029782f2 cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x0475917f cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x06a6b5e4 cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x1034d3db cx88_shutdown +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x16450e40 cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x29a8820a cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x2b2f2e7a cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x371c1c8b cx88_wakeup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x3da07994 cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x45afeffb cx88_newstation +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x4ceca0e2 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x5a81f2d7 cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x5cc25ccb cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x5cececa8 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x5e5d48a1 cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9b140fff cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xae2ca809 cx88_reset +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb47f6cda cx88_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xbe51c824 cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xcaa2951d cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xd1a668d1 cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xd8dabbf3 cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xe17a3ff4 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xfed89f8e cx88_core_get +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x071d61c2 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x28940ca9 em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x330f485b gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x40a9ca3d gspca_suspend +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x4fe9db96 gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x52e5524b gspca_get_i_frame +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xa8fa6b76 gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xda1a262e gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xe7cc74d8 gspca_auto_gain_n_exposure +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x09ff9249 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x11270879 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x152bf90c ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x3a4b6d43 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x49b49ee0 ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x4a212143 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x73c7164d ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x7c860c83 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x9055d359 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xc339ccf6 ivtv_vapi +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xc9397b3f ivtv_udma_alloc +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 0x1262962f saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x14dfecc6 saa7134_boards +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x19b3c15b saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x62c90095 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x66fba5e3 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x947d55cf saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xa65e9a68 saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xacff6789 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xad6a4dad saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xba5af792 saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xbec1efa5 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xeaa92469 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xfaf825f4 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/soc_camera 0x1f9d1c92 soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0x258edbba soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0xa3d9b73d soc_camera_apply_sensor_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0xa736f90e soc_camera_format_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0xaf40fd65 soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/tveeprom 0x271f146c tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/tveeprom 0x74829dcd tveeprom_read +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x1bfaa779 usbvideo_AllocateDevice +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x23ecbae1 RingQueue_Enqueue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x4548606e usbvideo_TestPattern +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x5a2232b4 usbvideo_RegisterVideoDevice +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x5e1d70f4 RingQueue_WakeUpInterruptible +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x8b1f7f4f usbvideo_register +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x9d3508b6 usbvideo_Deregister +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xc63ad28a usbvideo_DeinterlaceFrame +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xd5112b23 RingQueue_Dequeue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xf4dcb853 RingQueue_Flush +EXPORT_SYMBOL drivers/media/video/v4l1-compat 0x328ca9c1 v4l_compat_translate_ioctl +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x03165a85 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x088e7a57 v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1dcaa0c8 v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1e326b97 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x2f639468 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x3d1c53aa v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x42c8e001 v4l2_ctrl_next +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4ed5e0d7 v4l2_chip_match_host +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x50766d69 v4l2_ctrl_query_menu_valid_items +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x76ba9a9a v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x95284709 v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9c7de443 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9eb43ee2 v4l2_ctrl_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xbecd2858 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xd9ee1e3f v4l2_ctrl_query_menu +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x2b0e9bae videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x41185632 videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x5d1e38ca videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x741440e4 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xdb04e5ae videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xf47812ef videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videodev 0x05d7d4fb video_register_device_no_warn +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x0817740a video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0x0e808b43 video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x1c1ded8c video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0x1df21027 video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x3f4dfae7 video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0xa9f753d8 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0xb20f0900 video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/videodev 0xfc6ba22a video_device_release_empty +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x3f5c69da videocodec_attach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xd0d55a88 videocodec_register +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xe48af93c videocodec_detach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xf4879782 videocodec_unregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x03a76877 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x047362f8 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x14189bcf mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x20a004ad mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x25a02e43 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2a8b0718 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2b003661 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x338cd08e mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x38f977bb mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3b511fed mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4bf4b19c mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4cfb3b30 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6379eb85 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x64f4dc34 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x67ed7881 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x69797cbe mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7699a086 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x79dc3eeb mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7dc901ce mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7dfff08c mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa2ab5c45 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa2d66a5e mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xbacfebe1 mpt_put_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 0xce3a833d 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 0xdf4c1327 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdf99830d mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe5f2c524 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfd5e95a6 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x090ef5b5 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1024a6fd mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x147c7e93 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x26e88e8b mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2cce278e mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x38ef750f mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3a37cd73 mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5a83529b mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x63fcb282 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x64a5373e mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6da2f5fb mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x71e84523 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa66beb32 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa6f05e7f mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xac10f7bf mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb1a4b9e3 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb209b809 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb9b22373 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xba8400ea mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc27acdd9 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc6268cd6 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc820f829 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc9155591 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd228f2a3 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe32e5eb2 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfe365d41 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x047e6536 i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0b2d2eec i2o_cntxt_list_add +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x3e89521f i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x57cf270d i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x6b1ef0d3 i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x72dd6474 i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x76b2f4a9 i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x7a23ca7b i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x90329d15 i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x9087d921 i2o_cntxt_list_get_ptr +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x97266568 i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x9bf55954 i2o_cntxt_list_remove +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x9d01af6f i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xbf1c883c i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xccfa95de i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd2982624 i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xdbebcf04 i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xe4f27043 i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf3375924 i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xfa4c461b i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xfb982e04 i2o_cntxt_list_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xfba68fcf i2o_exec_lct_get +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x0efb7682 ab3100_get_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x23b5e42b ab3100_event_registers_startup_state_get +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x6c5a15bd ab3100_event_register +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x786b0d83 ab3100_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xbd2ddcd5 ab3100_get_register_page_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xcc509d95 ab3100_mask_and_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xdf6379be ab3100_get_chip_type +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xfa045a0e ab3100_event_unregister +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x6fcd61b1 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xaacaff36 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mfd-core 0x1ff1e66f mfd_add_devices +EXPORT_SYMBOL drivers/mfd/mfd-core 0xd4de9269 mfd_remove_devices +EXPORT_SYMBOL drivers/misc/c2port/core 0xc58aae36 c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0xc9982a27 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/ioc4 0x19dacef4 ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0x9404e79b ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x03425e37 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x0422df0b tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x148a371e tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x3ba93860 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x46798994 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x65ffd817 tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x841d5afd tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xa2bc2fbb tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0xcd153284 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0xd0a2928e tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xd297c5da tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xdaaa97ec tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xe8a334a8 tifm_alloc_adapter +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0x46d27fec mmc_cleanup_queue +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x19120565 __mmc_claim_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x1c059991 mmc_request_done +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x1d865382 mmc_unregister_driver +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x272d2ef8 mmc_wait_for_req +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x31221c1a mmc_resume_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x408ac8a6 mmc_release_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x42ef2c1b mmc_register_driver +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x4ce46fb6 mmc_detect_change +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x56df5a59 mmc_regulator_set_ocr +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x5d285e9a mmc_try_claim_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x71ef636e mmc_card_awake +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x730fb3aa mmc_set_data_timeout +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x74934c17 mmc_wait_for_app_cmd +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x8ea56c02 mmc_free_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x90f1d2c3 mmc_host_disable +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x9b25df42 mmc_align_data_size +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xa5721969 mmc_power_save_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xa7181ce4 mmc_wait_for_cmd +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xb07c85de mmc_alloc_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xc0a59b84 mmc_host_enable +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xc4e92226 mmc_suspend_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xd71a091d mmc_power_restore_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xe5383558 mmc_add_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xe7d8f883 mmc_card_sleep +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xf4a9821f mmc_remove_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xf5ac8321 mmc_card_can_sleep +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xfc4c03b5 mmc_host_lazy_disable +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x4feb56f4 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xd32bdfee cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xf2489b9c cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x1a4b8661 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x1bbf59ed do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x38a3e747 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x827f8779 map_destroy +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x405a503e mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0xe91d614a lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0xb6dfdaf1 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x5a9b0a0e add_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtd 0xfcdad9a4 del_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtdconcat 0x297cbbf5 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtdconcat 0x4a56e0da mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/nand 0x0031d805 nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0x3dd2264d nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x45ffa944 nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xb4b94377 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xf0f4c6e3 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 0x158beeae onenand_scan_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x43d7a9b4 onenand_default_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xc0c3d92f flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xd93d2f3e onenand_addr +EXPORT_SYMBOL drivers/net/8390 0x176c221d ei_poll +EXPORT_SYMBOL drivers/net/8390 0x5aa3befa ei_start_xmit +EXPORT_SYMBOL drivers/net/8390 0x5d415c50 ei_close +EXPORT_SYMBOL drivers/net/8390 0x5f71f8dd ei_netdev_ops +EXPORT_SYMBOL drivers/net/8390 0x69c0d216 ei_get_stats +EXPORT_SYMBOL drivers/net/8390 0x7c4b6230 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/8390 0x9c9e48de __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/8390 0xa36864c9 ei_tx_timeout +EXPORT_SYMBOL drivers/net/8390 0xd1b08d91 NS8390_init +EXPORT_SYMBOL drivers/net/8390 0xdd365790 ei_interrupt +EXPORT_SYMBOL drivers/net/8390 0xf520a606 ei_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x05c7432e arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x1cfa5d87 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x23f86078 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x2a8fe652 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x384706ec arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x5a54189f arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x8ee1f87c alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xa595db2c arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb59197be arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb6fbf6fa arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xbb7c32ce arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x73607c88 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xa0cb7fa9 com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xbf905a82 com20020_check +EXPORT_SYMBOL drivers/net/bnx2 0x6846c653 bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/cnic 0x41b8ab2b cnic_register_driver +EXPORT_SYMBOL drivers/net/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x00a2aba3 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x1022a1c0 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x1fea16df t3_l2e_free +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x3be03093 cxgb3_register_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x40580509 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x575e4c0e cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x6214a279 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x6d705440 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x6e8568a3 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x716a936d cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x7842ef38 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x8e02401b dev2t3cdev +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xc051824d cxgb3_free_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xc40245f4 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xd311cc6b cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xd6b48078 t3_l2t_get +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x4daab648 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x5bca9f48 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x6dd5ec14 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xe44bae22 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xeacfb76e hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x07613062 irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x3173ce39 sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x3f35321f sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x4c78dba1 sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x4fa6d3c7 irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x8a2c9373 sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xa44d7092 sirdev_write_complete +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xa7a5ef24 sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xa815b6c9 sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xc25a6a1a sirdev_set_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/mii 0x1a39cfa9 mii_ethtool_gset +EXPORT_SYMBOL drivers/net/mii 0x1cb3f51a mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0x22a03bea generic_mii_ioctl +EXPORT_SYMBOL drivers/net/mii 0x4fe41a77 mii_check_media +EXPORT_SYMBOL drivers/net/mii 0x50c5c27a mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0x56de7a81 mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0x7af86d41 mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0xdb32a5a4 mii_check_link +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xa703e52a free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xf08181cc alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp_generic 0x3c94adb0 ppp_unregister_compressor +EXPORT_SYMBOL drivers/net/ppp_generic 0x479babb0 ppp_output_wakeup +EXPORT_SYMBOL drivers/net/ppp_generic 0x48c6af9e ppp_input +EXPORT_SYMBOL drivers/net/ppp_generic 0x543192cc ppp_unregister_channel +EXPORT_SYMBOL drivers/net/ppp_generic 0x68e4102a ppp_register_compressor +EXPORT_SYMBOL drivers/net/ppp_generic 0x6f8d67cd ppp_input_error +EXPORT_SYMBOL drivers/net/ppp_generic 0x7fe0569b ppp_register_channel +EXPORT_SYMBOL drivers/net/ppp_generic 0xbf6eb5e5 ppp_unit_number +EXPORT_SYMBOL drivers/net/ppp_generic 0xe78ad948 ppp_register_net_channel +EXPORT_SYMBOL drivers/net/ppp_generic 0xf37561fb ppp_channel_index +EXPORT_SYMBOL drivers/net/pppox 0x1147623c pppox_unbind_sock +EXPORT_SYMBOL drivers/net/pppox 0x5784b905 register_pppox_proto +EXPORT_SYMBOL drivers/net/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/pppox 0xe8474d0a pppox_ioctl +EXPORT_SYMBOL drivers/net/slhc 0x0ff2b602 slhc_compress +EXPORT_SYMBOL drivers/net/slhc 0x23c8f257 slhc_uncompress +EXPORT_SYMBOL drivers/net/slhc 0xa63d85ab slhc_remember +EXPORT_SYMBOL drivers/net/slhc 0xb5ca1c46 slhc_free +EXPORT_SYMBOL drivers/net/slhc 0xdfc5169b slhc_init +EXPORT_SYMBOL drivers/net/slhc 0xe8794ce1 slhc_toss +EXPORT_SYMBOL drivers/net/sungem_phy 0xf2448483 mii_phy_probe +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x3a6b3106 tms380tr_open +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x405acfdf tmsdev_init +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x5d8e17c7 tms380tr_close +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xa1c7f5f5 tms380tr_netdev_ops +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xb34ebb53 tmsdev_term +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd2328794 tms380tr_wait +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd49af46e tms380tr_interrupt +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 0x030bd548 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x251a6e8c detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x32d033a7 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x65bca493 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x762ac25d register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7659b937 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0xb16f7345 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc28e741e attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xcac560d5 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd99e4f7c hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0xf851c25a hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wireless/airo 0x0ccbec60 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x328505fb init_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x6c3bd86b reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x31219afb ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbe25b39d ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xccbc8daa ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xe9d6714d ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xf797a846 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/atmel 0x0b9b306b atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel 0xd7f2ba73 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xdb793d91 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x078c6eb3 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0cbc249a hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x167aade0 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1e8f2d22 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x267e030d hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x26ae4418 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2ad8b83a hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2dffaa2e hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3a8fc68f hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x43ca51d7 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x54a47f05 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x66f3161b hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x68a99e20 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x77799ab8 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x97fd8005 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9ff18121 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa3b08f79 hostap_get_porttype +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 0xb6bf90ef hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb8cbba1c prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xbba04d71 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xca739e03 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xd26862ed hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xeaaa6bc0 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf650d25c hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfa679021 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfd0d04c3 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x06790c98 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x0c543efd libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x1012ce14 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x130bb960 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x1b51046f libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x2bb38309 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x3516fdb8 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x488bf21a libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x49b7d138 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x500b0e74 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x5a9dca97 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x628593ab free_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x913ef1ba libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x97d8a062 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x9c3b645e libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xaefcebaa libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xbb591a22 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xbeb5e49b libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xcd109326 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xcdce0ace libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe6c9e706 alloc_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x00e0e043 iwl_chain_noise_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x02e700e0 iwl_remove_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x042b5c11 iwl_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x062b685b iwl_uninit_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x06e9cecd iwl_hw_txq_ctx_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x07bda6e4 iwl_leds_register +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0897dd1e iwl_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0935a8ad iwl_update_tkip_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0a4247d0 iwl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0bac7677 iwl_tx_queue_reclaim +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0be7d05b iwl_set_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0ce00843 iwl_rx_reply_rx_phy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0d5c72ae iwl_sta_rx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0d7477bd iwl_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0ed375fa iwl_tx_ant_restriction +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1200bf28 iwl_remove_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x13b65f74 iwl_alloc_all +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x157ec285 iwl_set_hw_params +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x16919a1f iwl_tt_exit_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x19f0e900 iwl_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1a34800a iwl_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1c683944 iwl_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d77b399 iwl_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1e5588ab iwl_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1ed4ad4e iwl_tt_exit +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1f6da489 iwl_clear_stations_table +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x21afa37d iwl_rx_replenish_now +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x21b88828 iwl_eeprom_check_version +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x21dd73c2 iwlcore_eeprom_acquire_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x224b725a iwl_get_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x27291836 iwl_tt_handler +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2953ab47 iwl_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2c0dc011 iwl_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2ea010e6 iwl_init_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x30bdd6d8 iwl_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3202565e iwl_sta_tx_modify_enable_tid +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x33ecb0b0 iwl_rx_reply_rx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3410ae22 iwl_sta_rx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x34740c2e iwl_bg_scan_check +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x34c6f46e iwl_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x35100f5e iwl_is_monitor_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3577f444 iwlcore_eeprom_release_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x35cb1a40 iwl_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x37111b53 iwl_rxon_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x39a8680f iwl_rx_pm_debug_statistics_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x39b480cc iwl_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3cd74e3d iwl_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3dbf0b1d iwl_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3e3334b9 iwl_setup_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3e9259c3 iwl_tx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3eb02877 iwlcore_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3f332617 iwl_setup_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4437d833 iwl_txq_ctx_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x45cf7851 iwl_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4c974e3f iwl_rx_queue_restock +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4cb41eb5 iwl_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x54c7bf9e iwl_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x57cbf908 iwl_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x58bc8cbe iwl_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5e7ff71e iwl_reset_run_time_calib +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5f7cc532 iwl_get_free_ucode_key_index +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5f91d9d6 iwl_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5ff44b65 iwl_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x60774702 iwl_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x612c2777 iwl_send_calib_results +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6574cad9 iwl_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x65b2408e iwl_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6672cd1c iwl_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6792ade4 iwl_bg_abort_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6b3aac53 iwl_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6d7e4239 iwl_configure_filter +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6e97f754 iwl_free_tfds_in_queue +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6ef9d1bd iwl_txq_check_empty +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x705f89d1 iwl_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x713910d0 iwl_tt_enter_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7454f317 iwl_alloc_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x764fc70a iwl_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x78976e61 iwl_isr_legacy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x794e15b3 iwl_leds_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7aea9fbb iwl_send_statistics_request +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7ca5abd2 iwl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7dbacfa2 iwl_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7f65e572 iwl_find_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7fcbe3d7 iwl_activate_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x81b3c05e iwl_rxq_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x82996050 iwl_hw_nic_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x842872d6 iwl_init_sensitivity +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x85f5af78 iwl_rx_missed_beacon_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8670273d iwl_hwrate_to_plcp_idx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8836b540 iwl_rx_replenish +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8dd19278 iwlcore_eeprom_verify_signature +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8e6ef78c iwl_reset_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x916bbfa6 iwl_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x985a02ee iwlcore_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9b49966c iwl_rx_reply_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9dbb9fe5 iwl_tx_skb +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9e5ce8ae iwl_free_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9ea66be1 iwl_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9f072d55 iwl_hw_detect +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9f1bd0ab iwl_mac_beacon_update +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9faced57 iwl_calib_set +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa020e868 iwl_rx_statistics +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa1414ca1 iwl_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa591ed4d iwl_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa67f9a74 iwl_verify_ucode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa981df4b iwl_get_ra_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xabd86d94 iwl_hwrate_to_tx_control +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xac8c23c5 iwl_ht_enabled +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb65a6edd iwl_rx_reply_compressed_ba +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb67d500c iwl_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb948e67e iwl_disable_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbb679aeb iwl_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbcbc519a iwl_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbe068d35 iwl_mac_get_tx_stats +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbf46ed74 iwl_sensitivity_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc4528638 iwl_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc7794b30 iwl_bg_scan_completed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc917d178 iwl_send_static_wepkey_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcbaf4931 get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcbf2c709 iwl_set_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xce28f3cd iwl_eeprom_get_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xced9358b iwl_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcf202a18 iwl_rx_pm_sleep_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd3e594ee iwl_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd4668c63 iwl_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd706d515 iwl_tx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd8f8cc26 iwl_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdcd67b21 iwlcore_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdd3aa855 iwl_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xde6880b0 iwl_tt_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdfaf5785 iwl_reset_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe072937f iwl_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe19b25d1 iwl_rf_kill_ct_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe4b51bc2 iwl_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe557a02e iwl_set_rxon_chain +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe596318f iwl_rate_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe78cf336 iwl_rx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe7a9f273 iwl_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe7ce5d70 iwl_rates +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xec367f2b iwl_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xed1240e6 iwl_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xee45ef69 iwl_set_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf649edb1 iwl_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf81dce6a iwl_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfaaa39bc iwl_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfb991cdb iwl_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfc411d93 iwlcore_eeprom_enhanced_txpower +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfc59be06 iwl_rx_csa +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x2faffabd orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x3ad66c38 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4196c38b hermes_write_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x47b2cf6c orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x6a927e18 orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x808e7e69 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa031d8e4 hermes_doicmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xb0fb6fc6 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xbd281d3f orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc60b5e9e hermes_bap_pwrite +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd38d8ae2 hermes_read_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd3f714e5 hermes_bap_pread +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5168829 hermes_allocate +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd52a819b alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5336e5d hermes_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd54e219d hermes_docmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xed47b224 hermes_struct_init +EXPORT_SYMBOL drivers/parport/parport 0x031cc4cb parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x0d45b3f5 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x2b361ca0 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x2c4bd07e parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x39ff692c parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x3ae608ff parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x5c576d73 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x63bc3074 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x665e1778 parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x6b849192 parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x897a80e6 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x9d5eff70 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x9e692fa6 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0xa74a936d parport_release +EXPORT_SYMBOL drivers/parport/parport 0xa9cd273e parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xaa016f62 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0xb133cb96 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0xb4ad5f83 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0xb71e1ab4 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0xb81d3361 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xb8951073 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0xbae9a1bf parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xc1ac7d94 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xc6779e2e parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xce98417f parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0xd5045bd8 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xdea454a6 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xebe32df1 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0xef4a4e56 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0xf68e8c84 parport_read +EXPORT_SYMBOL drivers/parport/parport 0xfadfcf65 parport_find_number +EXPORT_SYMBOL drivers/parport/parport_pc 0xd0d86421 parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xf0c7d15a parport_pc_unregister_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x0c00eb40 pcmcia_request_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x14d631e5 pcmcia_modify_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x159312a1 pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x159e0b94 pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x172a29a7 pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x1f5e3ca3 pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x24175a96 pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x3feb8302 pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4a26c9f1 pcmcia_get_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4fd033a0 pcmcia_error_func +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x5113ccc5 pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x7697e4e1 pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x79a29f68 pcmcia_access_configuration_register +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xbe1e451a pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xd667b9cd pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xdba22d7c pcmcia_get_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf0a25e12 pcmcia_error_ret +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x03d4f359 pcmcia_socket_dev_late_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0c43b6ea pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x17ad3c2b pccard_get_first_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2d26f750 pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x392f8327 pccard_read_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x3b7e51d7 destroy_cis_cache +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x3d45ccb9 pcmcia_eject_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x453cba5c pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x4d47c026 pccard_get_next_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x50e9e335 pcmcia_write_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x54fa54b3 pcmcia_validate_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5ac57b3e pccard_validate_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7375e02f pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x74ffe258 pcmcia_socket_dev_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x782daa1c pcmcia_find_mem_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8cff15f7 release_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x97473497 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9eb02e17 pccard_get_tuple_data +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa1473607 pcmcia_adjust_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb533d105 pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb7364b12 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xbd973157 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc02ef2c8 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xca38d3bd pcmcia_socket_dev_early_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcc21d163 pcmcia_socket_dev_suspend +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcc8b9503 pcmcia_replace_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xd06cc357 pcmcia_insert_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xda37e926 pcmcia_suspend_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xdec1eebc pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xef76a2c2 pcmcia_read_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf4ed3d9f pcmcia_resume_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf6b818a5 pcmcia_find_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf9a60c30 pccard_static_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf9bf7b50 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/rsrc_nonstatic 0x83e05b04 pccard_nonstatic_ops +EXPORT_SYMBOL drivers/pps/pps_core 0x1e145952 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0xb329901e pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xe6a16116 pps_event +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x0bc0c94c fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x26008dc8 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x281e4d8f fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x6f455d47 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xaab96ac3 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xdc269e74 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xf3176197 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0439437c fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x052b1b91 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0648873a fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x076a0909 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0b5caf12 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0d0c7775 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1ad4ba22 fc_exch_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x23c1eef5 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x242081c4 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2bfe42ad fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x344ef64e fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3b39ce0e fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5462bb15 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x56183917 fc_destroy_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5cfbf33a fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5ee5444b fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x67750428 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6ca644e6 fc_get_host_port_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6efcedc0 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x704bb3b1 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x773ede20 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7b05cbd6 fc_seq_els_rsp_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8009b6e0 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x81c8ef7a fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x88be275e fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8e3d7b01 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8f999306 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x90dd1e89 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x91231dd6 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9639f1c0 fc_fcp_ddp_setup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9ace4ab7 fc_fcp_complete +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaa3d9936 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xac0faeee fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xac238a7a fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbde7b970 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc321d196 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcc5f6e33 fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd6cb3359 fc_setup_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd75e45b7 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd8511b60 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdf769df3 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe0b95f61 fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe8137345 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xee445814 __fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf02a87c3 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf30cffb5 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf7365d60 fc_seq_exch_abort +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 0x95edb4cf mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x027165a0 osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1ad94179 osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1ead90d3 osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1fa98538 osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1ff7904a osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x275f99b7 osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x33f64719 osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3fda8be5 osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x40950748 osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4ee5b08d osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4f77d176 osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x57800f41 osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x579c09f2 osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x5b3b6e4e osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x5c70d27b osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x69623b42 osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x69f11a03 osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x77a0a370 osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7b900912 osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x893321f8 osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8cdd5b62 osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8fc4580f osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb007a57b osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb0239695 osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb0b20d6f osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc591d941 osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xcb285aba osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd619ff35 osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xea6f96c9 osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf47051dd osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf6511fc9 osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf8654101 osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/osd 0x37f4d007 osduld_put_device +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x634b2e3d osduld_register_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0xe312d3cd osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1fd60375 qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x287aab7e qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x40299256 qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xb7375840 qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xca6f821c qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xdc310b12 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe7670244 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 0x9b879dfd raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0xb0a85053 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0xd03a01d3 raid_class_attach +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x0216bebf scsi_register +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x0ae12578 scsi_eh_prep_cmnd +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x0c97874e scsi_register_interface +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x11c3b894 scsi_remove_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x145fbaa8 scsi_device_resume +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x17b59672 scsi_prep_state_check +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x1ae35729 scsi_add_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x1c0d0af8 scsi_prep_fn +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x1ef5a415 scsi_block_when_processing_errors +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x1fdb5ecf scsi_device_set_state +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x20be1ee2 scsi_scan_host +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x25e532d4 scsi_unblock_requests +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x2661a54e scsi_free_host_dev +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x31f2d763 scsi_get_device_flags_keyed +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x323e4e68 scsi_release_buffers +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x3678ba46 scsi_execute +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x38c578eb scsi_mode_sense +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x3ff8fb72 scsi_block_requests +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x402fd16a scsi_get_host_dev +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x406426fb scsi_calculate_bounce_limit +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x40a27c37 scsi_dev_info_remove_list +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x42be6dcb scsi_bios_ptable +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x4b6e81be scsi_allocate_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x4c5baf16 scsi_remove_target +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x4ca41ddc scsi_print_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x4d33d799 scsi_device_lookup_by_target +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x50f905c4 scsi_device_get +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x58d0fd59 scsi_is_target_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x5938057e __scsi_device_lookup +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x5b7cf6e7 __scsi_alloc_queue +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x61714050 scsi_free_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x6382434f scsi_host_alloc +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x650ebea6 scsi_report_bus_reset +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x6640b57f scsi_adjust_queue_depth +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x6781d31d __scsi_iterate_devices +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x67b6db25 scsicam_bios_param +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x69479005 scsi_command_normalize_sense +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x71983962 scsi_execute_req +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x74734e1a scsi_device_lookup +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x79b6c3a1 scsi_register_driver +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x7fa96e7a scsi_host_lookup +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x809d657f __scsi_device_lookup_by_target +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x89d55b38 scsi_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x8b97d193 scsi_target_quiesce +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x8b9adab4 scsi_target_resume +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x8feffd57 scsi_rescan_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x90fbb91a scsi_get_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x97a50590 scsi_device_put +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x9a9d32ce scsi_host_set_state +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x9d94f49c __scsi_add_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x9e89a6ce scsi_print_sense +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xa359eff2 scsi_reset_provider +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xa85c2091 scsi_is_host_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xace7e585 scsi_report_device_reset +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xad231466 scsi_unregister +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xad4a3ea7 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xadff218b starget_for_each_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xb3a07359 scsi_eh_restore_cmnd +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xb422c6e6 scsi_host_get +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xb5773683 scsi_set_medium_removal +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xb6884d82 __starget_for_each_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xb8d34851 scsi_add_host_with_dma +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xb943d7e3 scsi_nonblockable_ioctl +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xbc4d241b scsi_dma_map +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xbd282a0d __scsi_put_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xc11b6b44 scsi_track_queue_full +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xc48553be scsi_test_unit_ready +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xc4f30539 scsi_setup_fs_cmnd +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xc5d7eb4e scsi_eh_finish_cmd +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xc920c69b scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xceba61bc scsi_dma_unmap +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xd2009176 scsi_finish_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xd57a4150 scsi_host_put +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xdecbf397 scsi_is_sdev_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xe09a9ad5 scsi_device_quiesce +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xe30168aa scsi_prep_return +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xe44dfefc scsi_scan_target +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xe583cc7b scsi_put_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xe7829ac6 scsi_init_io +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xea10212a int_to_scsilun +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xefa5ccf9 scsi_print_result +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xf4528073 scsi_kmap_atomic_sg +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xf5f6fbab scsi_ioctl +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x015ffd58 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0509fdd8 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x12064bba fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x128055f5 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x36467a5f fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x77b35d55 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7b771d8e fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x83796777 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa20fd5c2 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd4b780d4 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf5fe13ec fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xfbacb8f1 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x01a13373 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x02ae53b6 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0f46c645 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x10ddbbb9 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x115c302a sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x18c6a132 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1bec9d82 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x21b52184 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2599435b sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2d2e3205 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3b346a10 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4ae44a13 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x59e24d08 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x77c2a9c3 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x816d1785 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8bec4e28 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x93232232 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9f5e02e8 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc12a458c sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xda48a047 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdb0c0fac sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdc70c3cd scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe3b84d4a sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe644fd57 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf59b4502 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfc7612c1 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x208149ac spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x2162bf4a spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x32c1d8ef spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3aadd694 spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x701320e3 spi_dv_device +EXPORT_SYMBOL drivers/serial/8250 0x6e25001c serial8250_register_port +EXPORT_SYMBOL drivers/serial/8250 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL drivers/serial/8250 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL drivers/serial/8250 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL drivers/serial/serial_core 0x3d7d5f5c uart_get_baud_rate +EXPORT_SYMBOL drivers/serial/serial_core 0x428c55b5 uart_register_driver +EXPORT_SYMBOL drivers/serial/serial_core 0x4e9c9355 uart_get_divisor +EXPORT_SYMBOL drivers/serial/serial_core 0x822399a7 uart_resume_port +EXPORT_SYMBOL drivers/serial/serial_core 0x8529d9a4 uart_write_wakeup +EXPORT_SYMBOL drivers/serial/serial_core 0x889774cb uart_suspend_port +EXPORT_SYMBOL drivers/serial/serial_core 0x8c46bd6a uart_match_port +EXPORT_SYMBOL drivers/serial/serial_core 0xb69f6547 uart_add_one_port +EXPORT_SYMBOL drivers/serial/serial_core 0xcde547fa uart_unregister_driver +EXPORT_SYMBOL drivers/serial/serial_core 0xcef48477 uart_update_timeout +EXPORT_SYMBOL drivers/serial/serial_core 0xeb52e10d uart_remove_one_port +EXPORT_SYMBOL drivers/ssb/ssb 0x01ab8e41 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x12e5e52c ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0x27d2bd0e ssb_dma_set_mask +EXPORT_SYMBOL drivers/ssb/ssb 0x2ea88dd9 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x341d1922 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x58a208fb ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x5fa252af ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x66ce4770 ssb_dma_free_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0x68c499d9 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x6ce950bd ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x74f124ee ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x7812be46 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x7c851802 ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x84c2ded4 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0xa25df5a9 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xbcf27ffb __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xc59b609b ssb_dma_alloc_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0xd3bae8a1 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe28f617b ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xe3ac6af1 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xece20638 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0xeef72923 ssb_bus_unregister +EXPORT_SYMBOL drivers/telephony/ixj 0x6c4d7a3d ixj_pcmcia_probe +EXPORT_SYMBOL drivers/telephony/phonedev 0x16c1dc5f phone_register_device +EXPORT_SYMBOL drivers/telephony/phonedev 0x6a9bcca7 phone_unregister_device +EXPORT_SYMBOL drivers/thermal/thermal_sys 0x00eb1e34 thermal_zone_device_update +EXPORT_SYMBOL drivers/thermal/thermal_sys 0x47304184 thermal_zone_device_unregister +EXPORT_SYMBOL drivers/thermal/thermal_sys 0xd67f82af thermal_cooling_device_register +EXPORT_SYMBOL drivers/thermal/thermal_sys 0xdc7004a7 thermal_zone_bind_cooling_device +EXPORT_SYMBOL drivers/thermal/thermal_sys 0xe1fed5c7 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL drivers/thermal/thermal_sys 0xf96a0442 thermal_cooling_device_unregister +EXPORT_SYMBOL drivers/thermal/thermal_sys 0xfb4ca66a thermal_zone_device_register +EXPORT_SYMBOL drivers/usb/gadget/net2280 0x1182449d usb_gadget_unregister_driver +EXPORT_SYMBOL drivers/usb/gadget/net2280 0x7b4dde58 usb_gadget_register_driver +EXPORT_SYMBOL drivers/usb/gadget/net2280 0xe7a3afb8 net2280_set_fifo_mode +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x7adb25ed 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/usbserial 0x7f93d3b2 usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xfcc75964 usb_serial_resume +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0xc86baa7c corgibl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x4aec15f8 lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0xd4bcec2a lcd_device_unregister +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0e0c4f77 cyber2000fb_get_fb_var +EXPORT_SYMBOL drivers/video/cyber2000fb 0x4031e5e2 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0xbebd9a42 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0xcfcc531e cyber2000fb_attach +EXPORT_SYMBOL drivers/video/display/display 0xa39f186c display_device_unregister +EXPORT_SYMBOL drivers/video/display/display 0xd625282d display_device_register +EXPORT_SYMBOL drivers/video/macmodes 0x08ed0b62 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/macmodes 0x785b31ec mac_find_mode +EXPORT_SYMBOL drivers/video/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/output 0x04893e05 video_output_register +EXPORT_SYMBOL drivers/video/output 0xecd6283e 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 0x00d1fce9 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/svgalib 0x07b3da30 svga_wseq_multi +EXPORT_SYMBOL drivers/video/svgalib 0x07cc4b29 svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0x1b95c56a svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x1c610ffb svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0x42065e8b svga_tileblit +EXPORT_SYMBOL drivers/video/svgalib 0x469fb670 svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0x63e898d1 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/svgalib 0x7a3ae959 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x80408443 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0x8f63f9cc svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0x8fa8438b svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/svgalib 0xa9c3e98c svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0xab3b22ad svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/svgalib 0xc4e2b458 svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0xdad682b1 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/svgalib 0xec83c473 svga_match_format +EXPORT_SYMBOL drivers/video/svgalib 0xef774f5d svga_compute_pll +EXPORT_SYMBOL drivers/video/syscopyarea 0xd6486553 sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0xcf795640 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x1e3fcd05 sys_imageblit +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x067f36bd w1_bq27000_write +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0xa0b95ed6 w1_bq27000_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x26c14a0b w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x4a3fc081 w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xaba6b39e w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xb0f27e22 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/wire 0x24737800 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x31fbbe19 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0xa31a4178 w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xc8f60d86 w1_register_family +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x04e133fc iTCO_vendor_check_noreboot_on +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x672c9d44 iTCO_vendor_pre_keepalive +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xa78bd894 iTCO_vendor_pre_set_heartbeat +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xa8d6daac iTCO_vendor_pre_start +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xd0efe320 iTCO_vendor_pre_stop +EXPORT_SYMBOL fs/configfs/configfs 0x08d12539 config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x26772228 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0x4c05b199 config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0x79b00c5a configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x7d920417 configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x9086f580 config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xad0f5f38 config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0xb3db44aa config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0xbe66499c config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0xd350895a configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xd7ab9986 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0xec002f1d config_group_find_item +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x0e505aa4 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x1e8ddcee fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x2297c6e0 fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x290a5a10 fscache_object_slow_work_ops +EXPORT_SYMBOL fs/fscache/fscache 0x36bfcf53 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x37726d30 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x496932b9 fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x4c67549f __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x4efc27ac __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x5e8f20d0 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x6062d3d0 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x6b332a18 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x7234b5c7 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0x782715b8 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x7e9d512a __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x8b2bb418 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x8bf2247e __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x943cb46b __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x97fc8ab3 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xa0b2d26b __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xa0fbf4b9 __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xb22b91fc fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0xd08bebd6 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xd0dd6716 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0xd294c6b3 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0xebf61f3b __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xf024d4ef fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0xf04004b7 fscache_object_lookup_negative +EXPORT_SYMBOL fs/nfsd/nfsd 0x1f573533 nfs4_acl_posix_to_nfsv4 +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 0x96ce9bb4 nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0xdb389aec nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/quota/quota_tree 0x18f0e101 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x935e5e86 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x9bc776c9 qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0xdf1795a8 qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xed021f39 qtree_write_dquot +EXPORT_SYMBOL lib/crc-ccitt 0x651c2313 crc_ccitt +EXPORT_SYMBOL lib/crc-ccitt 0x75811312 crc_ccitt_table +EXPORT_SYMBOL lib/crc-itu-t 0x276c7e62 crc_itu_t +EXPORT_SYMBOL lib/crc-itu-t 0xd29b009f crc_itu_t_table +EXPORT_SYMBOL lib/crc-t10dif 0x782acba5 crc_t10dif +EXPORT_SYMBOL lib/crc7 0xc086bfba crc7 +EXPORT_SYMBOL lib/crc7 0xd80c3603 crc7_syndrome_table +EXPORT_SYMBOL lib/libcrc32c 0x27000b29 crc32c +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 0xf0caf44b zlib_deflate_workspacesize +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL net/802/p8023 0x07ff7433 make_8023_client +EXPORT_SYMBOL net/802/p8023 0x5e1cbfcb destroy_8023_client +EXPORT_SYMBOL net/9p/9pnet 0x01506fcf p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0x08b93b41 p9_client_version +EXPORT_SYMBOL net/9p/9pnet 0x0b3ac49a p9pdu_dump +EXPORT_SYMBOL net/9p/9pnet 0x0e33cb81 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x24b9e87f v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x3669d042 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x3c58ca4d p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x41e6bc51 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x42976e7b v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x487454c5 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x4b050226 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x592cc6c1 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x650e6977 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x6d942660 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0x6f186d3a p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0x6ff4801a p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x76b79bf1 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x7a5a273a v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x82bff121 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x85c5fb69 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x889c5e9d p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x8c1a2549 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x8fd31a98 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0x91ef9b64 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x958f449f p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x9b33bf21 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xb2e903d1 p9_client_auth +EXPORT_SYMBOL net/9p/9pnet 0xba804d5c p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xf71b0a21 p9_client_disconnect +EXPORT_SYMBOL net/appletalk/appletalk 0x427224de atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0x6d83f119 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0x805cd3f2 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xf0eb3733 alloc_ltalkdev +EXPORT_SYMBOL net/atm/atm 0x050ad59f atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x1a24e5e2 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0x263cd77b vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x2923da43 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x5471edf6 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x5c4820b8 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x5e49c725 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x5f758a81 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x6560fc09 atm_charge +EXPORT_SYMBOL net/atm/atm 0x89195dc3 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0x8f25a995 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x9c6049b5 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x9c94f7cb deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xdedd49ce atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/ax25/ax25 0x02f555ad ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0x082ffb8e ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x17cef307 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x2bfb839c ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x3d2d82ec ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x58d943e1 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x5f0096ef ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x5fc6280f ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x7e8fe15a ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0x9e04944c ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd247546e ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1e086173 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x354f3083 hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x35bd17a2 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x36993170 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x38c9fd0c bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3b8cc329 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3c201909 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x60d72e80 hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6395f7cb hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7094f8ae bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8105f081 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8ab98cf0 hci_register_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8f6a47d2 hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0x938174cd hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x985a4842 hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9aa2a420 hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9e51c6ca hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9fdb6dde hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa6d02c05 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xad911e09 hci_unregister_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb6d67b14 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb6e1e50b hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc0b14fd6 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd27a01d8 hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe2bd80f9 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe37f9c51 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe8b9bd70 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf1fe76ab hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf61bd22a hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf6b591b9 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfda4cbad hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0xff9efc04 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/l2cap 0xfc31fe88 l2cap_load +EXPORT_SYMBOL net/bridge/bridge 0x77733340 br_should_route_hook +EXPORT_SYMBOL net/can/can 0x3eccb0cc can_proto_register +EXPORT_SYMBOL net/can/can 0x431dca55 can_proto_unregister +EXPORT_SYMBOL net/can/can 0x9aba257a can_send +EXPORT_SYMBOL net/can/can 0xa8f3b158 can_rx_unregister +EXPORT_SYMBOL net/can/can 0xfc33e854 can_rx_register +EXPORT_SYMBOL net/ieee802154/nl802154 0x046ffdb2 ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x134428c0 ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x3171a3a4 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x791a2e74 ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0xa90ccf3c ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0xaad59354 ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0xf0a45e38 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/wpan-class 0x08379497 wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/wpan-class 0x28e8502b wpan_phy_register +EXPORT_SYMBOL net/ieee802154/wpan-class 0x4769f451 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/wpan-class 0x616192e8 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/wpan-class 0xfee651d6 wpan_phy_free +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x826a648b arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xb3869cbf arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xffdebb74 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x06175929 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x3a9d6c10 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xd6772f1a ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x1fdd3d34 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x56a7283d nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x81048983 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xcae1ff89 nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xd578be04 nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xdc4114da nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xf8234cfc nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/tunnel4 0x42eed16f xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/tunnel4 0x684c6739 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv6/ipv6 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL net/ipv6/ipv6 0x217eff0d rt6_lookup +EXPORT_SYMBOL net/ipv6/ipv6 0x2316a962 ip6_xmit +EXPORT_SYMBOL net/ipv6/ipv6 0x25a27ddb ipv6_chk_prefix +EXPORT_SYMBOL net/ipv6/ipv6 0x2a1c40f1 inet6_bind +EXPORT_SYMBOL net/ipv6/ipv6 0x30123eb5 icmpv6_statistics +EXPORT_SYMBOL net/ipv6/ipv6 0x47eba11f ipv6_getsockopt +EXPORT_SYMBOL net/ipv6/ipv6 0x48888145 inet6_unregister_protosw +EXPORT_SYMBOL net/ipv6/ipv6 0x4889e5fd inet6_release +EXPORT_SYMBOL net/ipv6/ipv6 0x520d26e7 nf_ip6_checksum +EXPORT_SYMBOL net/ipv6/ipv6 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL net/ipv6/ipv6 0x566f9b70 xfrm6_input_addr +EXPORT_SYMBOL net/ipv6/ipv6 0x58607800 inet6_del_protocol +EXPORT_SYMBOL net/ipv6/ipv6 0x6626230e in6_dev_finish_destroy +EXPORT_SYMBOL net/ipv6/ipv6 0x6a2d2c1c icmpv6_send +EXPORT_SYMBOL net/ipv6/ipv6 0x6a8cf233 inet6_ioctl +EXPORT_SYMBOL net/ipv6/ipv6 0x73db0549 ip6_frag_init +EXPORT_SYMBOL net/ipv6/ipv6 0x7d9fe9b1 inet6_getname +EXPORT_SYMBOL net/ipv6/ipv6 0x832a0ca2 xfrm6_rcv +EXPORT_SYMBOL net/ipv6/ipv6 0x8432901f ip6_route_output +EXPORT_SYMBOL net/ipv6/ipv6 0x869a033b inet6_register_protosw +EXPORT_SYMBOL net/ipv6/ipv6 0x88d68682 ipv6_dev_get_saddr +EXPORT_SYMBOL net/ipv6/ipv6 0x99edd942 ndisc_send_skb +EXPORT_SYMBOL net/ipv6/ipv6 0x9ab6e27e ipv6_setsockopt +EXPORT_SYMBOL net/ipv6/ipv6 0xab86a5e7 ipv6_push_nfrag_opts +EXPORT_SYMBOL net/ipv6/ipv6 0xb3f5e5cc ip6_route_me_harder +EXPORT_SYMBOL net/ipv6/ipv6 0xb9250559 inet6_add_protocol +EXPORT_SYMBOL net/ipv6/ipv6 0xcabf33a3 ip6_frag_match +EXPORT_SYMBOL net/ipv6/ipv6 0xcd4e40b0 xfrm6_find_1stfragopt +EXPORT_SYMBOL net/ipv6/ipv6 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL net/ipv6/ipv6 0xd3863ec5 ndisc_mc_map +EXPORT_SYMBOL net/ipv6/ipv6 0xd4eb69cd xfrm6_rcv_spi +EXPORT_SYMBOL net/ipv6/ipv6 0xe1a81c3a icmpv6msg_statistics +EXPORT_SYMBOL net/ipv6/ipv6 0xe362bfd7 ndisc_build_skb +EXPORT_SYMBOL net/ipv6/ipv6 0xe690b8fd __ipv6_isatap_ifid +EXPORT_SYMBOL net/ipv6/ipv6 0xe8752d73 xfrm6_prepare_output +EXPORT_SYMBOL net/ipv6/ipv6 0xf1a43b21 ipv6_chk_addr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x2a1a84f6 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x35290819 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x84c3f62b ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x8e8c460d ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb8bddf33 ip6t_ext_hdr +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x034135c3 ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x10ecd866 ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x1db09142 ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x715c26e4 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xabb99a30 ircomm_flow_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xe36f76e4 ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xe738b651 ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xe9934455 ircomm_connect_response +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x110cf139 irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0x18c097cb irlap_close +EXPORT_SYMBOL net/irda/irda 0x1a617b1d irias_find_object +EXPORT_SYMBOL net/irda/irda 0x1a9431d7 async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x239f47aa iriap_open +EXPORT_SYMBOL net/irda/irda 0x263f5ab4 hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0x3229a95d irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x4096621c irias_delete_object +EXPORT_SYMBOL net/irda/irda 0x448b8aaa irda_qos_bits_to_value +EXPORT_SYMBOL net/irda/irda 0x44fc8cb6 irda_notify_init +EXPORT_SYMBOL net/irda/irda 0x46c1c4a2 irlmp_unregister_service +EXPORT_SYMBOL net/irda/irda 0x4ba5dc74 hashbin_delete +EXPORT_SYMBOL net/irda/irda 0x4c0bd075 irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0x5b8b95bb hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0x5bf6cc50 irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0x5d1487c7 irias_insert_object +EXPORT_SYMBOL net/irda/irda 0x61eb1915 irttp_dup +EXPORT_SYMBOL net/irda/irda 0x62c83096 irias_add_integer_attrib +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 0x7957f728 irlmp_update_client +EXPORT_SYMBOL net/irda/irda 0x84c6cb8f irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x8e3ae085 async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x9694bb4c hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x982b6b09 hashbin_new +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0x9fea5965 hashbin_remove +EXPORT_SYMBOL net/irda/irda 0xa45993f4 hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0xaab13c20 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 0xbde32277 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0xbe40ace9 irlmp_discovery_request +EXPORT_SYMBOL net/irda/irda 0xbef3593d irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0xc10f5acd irias_new_object +EXPORT_SYMBOL net/irda/irda 0xc291adee irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0xc39c7100 irlap_open +EXPORT_SYMBOL net/irda/irda 0xc65c566f irttp_data_request +EXPORT_SYMBOL net/irda/irda 0xcb3c2da5 irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0xcdd915b1 irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0xd3edad11 hashbin_find +EXPORT_SYMBOL net/irda/irda 0xd55197c2 alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0xde41bd01 irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xdfaf55d4 irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0xe1344274 irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0xe541e2c2 irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0xe6aad1e8 irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0xe80f6b86 proc_irda +EXPORT_SYMBOL net/irda/irda 0xea264ff7 irda_device_set_media_busy +EXPORT_SYMBOL net/irda/irda 0xeca697ef iriap_close +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xf227e1e6 irttp_connect_response +EXPORT_SYMBOL net/lapb/lapb 0x2d57f155 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x2ec1d1b9 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x5c085280 lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x739326d4 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x7b2367de lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x84b33369 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0xb4f31dec lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0xd1214503 lapb_disconnect_request +EXPORT_SYMBOL net/mac80211/mac80211 0x00042a07 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x015289f2 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0x065a626c ieee80211_get_tkip_key +EXPORT_SYMBOL net/mac80211/mac80211 0x0a66b43b ieee80211_stop_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0x15ae1c68 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x18e132bf __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x247fddce ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x2747cbb1 ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x320998d8 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x371e1410 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x380bbe7c ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x4373c135 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x48b046b8 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x4aa81871 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x4ccff9dd wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x524cfebf ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x607d4825 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x68074194 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x68e9d648 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x6961ed0a __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x85c4d959 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x8dcee048 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x8dcf4fb2 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x98df39d5 ieee80211_beacon_get +EXPORT_SYMBOL net/mac80211/mac80211 0xa23ab9ab __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xa31c64aa ieee80211_start_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0xb2aa329a ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xb308c495 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xb9ce98e6 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0xc4106a83 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0xc600cb69 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xd5020625 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xdfc022ef ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0xe8abe42d ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xeb295c84 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xf0a5b3da ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0xf12f4360 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xf28c6e3f ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xf61e060f ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xfa2c6ca2 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xfedbd928 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x288d0fbc ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4d042611 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7ab0930a ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x8be5a781 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x9cb479b0 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa1dbc2d8 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa76ed555 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb4646de4 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb6bd378f ip_vs_skb_replace +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe0a73dbb unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe0b2c66e unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xee7cea13 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x075dd972 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xe5b63288 __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0xd7f86c08 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x01abf36c xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x16a5e826 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x7f466bbe xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x84a6dfc8 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x96742209 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x9ef0cd33 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0xbe66bca2 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xc3ff5dff xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xce0aa37b xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xe3b1f8e7 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0xf719bdd9 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xff67b0d2 xt_register_matches +EXPORT_SYMBOL net/phonet/phonet 0x892a6edf phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x8dbd453f pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0xcb9ee628 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0xd8331a38 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0xf1ebdc65 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0xf460409a phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0xf654ed1e phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0xfdba6f5b pn_sock_get_port +EXPORT_SYMBOL net/rfkill/rfkill 0x0295871c rfkill_set_led_trigger_name +EXPORT_SYMBOL net/rfkill/rfkill 0x2fb8b0e0 rfkill_blocked +EXPORT_SYMBOL net/rfkill/rfkill 0x3a4e8418 rfkill_alloc +EXPORT_SYMBOL net/rfkill/rfkill 0x61fde207 rfkill_set_states +EXPORT_SYMBOL net/rfkill/rfkill 0x8e35904c rfkill_unregister +EXPORT_SYMBOL net/rfkill/rfkill 0x95e8d943 rfkill_init_sw_state +EXPORT_SYMBOL net/rfkill/rfkill 0xa22dc614 rfkill_set_sw_state +EXPORT_SYMBOL net/rfkill/rfkill 0xc0426a46 rfkill_destroy +EXPORT_SYMBOL net/rfkill/rfkill 0xc8d7821c rfkill_resume_polling +EXPORT_SYMBOL net/rfkill/rfkill 0xcef3bee0 rfkill_pause_polling +EXPORT_SYMBOL net/rfkill/rfkill 0xcfe9431c rfkill_register +EXPORT_SYMBOL net/rfkill/rfkill 0xed86a9c2 rfkill_set_hw_state +EXPORT_SYMBOL net/rfkill/rfkill 0xfb16d019 rfkill_get_led_trigger_name +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x01cd7613 rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x0de8659d rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x37a183f7 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x37d195a0 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x4c22762d rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x5689b28d key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x646b6481 rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x64d54de2 rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x6c128ae3 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x76090cb6 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x84284d4a rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x8f038ee5 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xa1d7dace rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xbff44ff7 rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xc209c13e rxrpc_get_server_data_key +EXPORT_SYMBOL net/sunrpc/sunrpc 0x01ee1e19 svc_pool_stats_open +EXPORT_SYMBOL net/tipc/tipc 0x08acf310 tipc_available_nodes +EXPORT_SYMBOL net/tipc/tipc 0x0b074a7b tipc_multicast +EXPORT_SYMBOL net/tipc/tipc 0x0f94d12f tipc_get_port +EXPORT_SYMBOL net/tipc/tipc 0x10d40fcd tipc_isconnected +EXPORT_SYMBOL net/tipc/tipc 0x1472b270 tipc_disconnect +EXPORT_SYMBOL net/tipc/tipc 0x1479cb03 tipc_deleteport +EXPORT_SYMBOL net/tipc/tipc 0x15b5ecde tipc_set_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x16f27683 tipc_block_bearer +EXPORT_SYMBOL net/tipc/tipc 0x202bfdbf tipc_createport +EXPORT_SYMBOL net/tipc/tipc 0x211e5931 tipc_register_media +EXPORT_SYMBOL net/tipc/tipc 0x21a7a173 tipc_send_buf2port +EXPORT_SYMBOL net/tipc/tipc 0x23daecbd tipc_send +EXPORT_SYMBOL net/tipc/tipc 0x259b74f9 tipc_acknowledge +EXPORT_SYMBOL net/tipc/tipc 0x310d1bc9 tipc_detach +EXPORT_SYMBOL net/tipc/tipc 0x32fdbaf8 tipc_send_buf2name +EXPORT_SYMBOL net/tipc/tipc 0x3712e340 tipc_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x3976041f tipc_set_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x3ec3ba07 tipc_send_buf +EXPORT_SYMBOL net/tipc/tipc 0x419b02fc tipc_send2port +EXPORT_SYMBOL net/tipc/tipc 0x46176355 tipc_forward_buf2port +EXPORT_SYMBOL net/tipc/tipc 0x4b2243c6 tipc_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x538b228a tipc_withdraw +EXPORT_SYMBOL net/tipc/tipc 0x5637ed44 tipc_get_mode +EXPORT_SYMBOL net/tipc/tipc 0x5690c018 tipc_send_buf_fast +EXPORT_SYMBOL net/tipc/tipc 0x5c0d4b5c tipc_ref_valid +EXPORT_SYMBOL net/tipc/tipc 0x62a681a3 tipc_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0x6cdca821 tipc_reject_msg +EXPORT_SYMBOL net/tipc/tipc 0x88b73627 tipc_get_addr +EXPORT_SYMBOL net/tipc/tipc 0x9c45558e tipc_enable_bearer +EXPORT_SYMBOL net/tipc/tipc 0xa1b42d32 tipc_forward2port +EXPORT_SYMBOL net/tipc/tipc 0xa762af43 tipc_continue +EXPORT_SYMBOL net/tipc/tipc 0xa93f3f72 tipc_forward_buf2name +EXPORT_SYMBOL net/tipc/tipc 0xac502d75 tipc_recv_msg +EXPORT_SYMBOL net/tipc/tipc 0xadd203d0 tipc_connect2port +EXPORT_SYMBOL net/tipc/tipc 0xae0103c3 tipc_shutdown +EXPORT_SYMBOL net/tipc/tipc 0xb1f8eacc tipc_send2name +EXPORT_SYMBOL net/tipc/tipc 0xb35b672c tipc_publish +EXPORT_SYMBOL net/tipc/tipc 0xcec8514a tipc_set_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0xcee290be tipc_forward2name +EXPORT_SYMBOL net/tipc/tipc 0xd44731e5 tipc_ownidentity +EXPORT_SYMBOL net/tipc/tipc 0xda7f9d3f tipc_attach +EXPORT_SYMBOL net/tipc/tipc 0xdf5008fc tipc_peer +EXPORT_SYMBOL net/tipc/tipc 0xe7aece47 tipc_ispublished +EXPORT_SYMBOL net/tipc/tipc 0xe8145202 tipc_createport_raw +EXPORT_SYMBOL net/tipc/tipc 0xeefd49b3 tipc_get_handle +EXPORT_SYMBOL net/tipc/tipc 0xef50a1ef tipc_disable_bearer +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0x423ec907 register_wan_device +EXPORT_SYMBOL net/wimax/wimax 0xa87cf583 wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0xf580624b wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x00b2bd32 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x07e7ac5a ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x0d20b6cf cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x105faf9f cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1a890927 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x1c695642 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x20821d82 wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x231e3f54 cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x293760c9 cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0x33383ef4 cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x36743296 cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x37ac8d05 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x3db0446c __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x53e51eef cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6df8054c wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x6f6b255b freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x7c112c01 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3fddc1 ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x7d586135 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x8624232a cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x8c35d732 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x94aeddd6 cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0x996050fc ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0xa37c8983 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xa57d6871 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0xc4e85ec5 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xc5ace8ab wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xc92504b2 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0xc9ac94b7 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0xca00083e cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xcab2d767 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0xccc291b3 ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0xda635a3e cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0xe050cd9c cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xe49f8244 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xef19d630 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0xf1b3a3c3 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0xf4a3ccd6 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xf4f608d2 cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0xf59dc2a3 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xf82c045f cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0xfd42a3d0 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xff42669c cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/lib80211 0x1305b7e8 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x13f1212e lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x230f3ffb lib80211_crypt_deinit_handler +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x4798af29 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x4ce153ad lib80211_crypt_deinit_entries +EXPORT_SYMBOL net/wireless/lib80211 0x6de1b17f lib80211_crypt_quiescing +EXPORT_SYMBOL net/wireless/lib80211 0x73383fea lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x85e1f1ec lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x8ab12d28 lib80211_unregister_crypto_ops +EXPORT_SYMBOL sound/ac97_bus 0xe93c8cf3 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0xe3a5e939 snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x14408d94 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 0x767da68a snd_seq_event_port_attach +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 0x89947013 snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0x9b004953 snd_seq_kernel_client_enqueue_blocking +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xcac0a3be snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0xf13607f0 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 0x41358e70 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 0x64b64912 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 0x025ed7ec snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x08ef1bf8 snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x484f6d65 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x6a19e5da snd_midi_event_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x9d1d1cfe snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xa343a003 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xcca03770 snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xf222f56c snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x8aaf1cf1 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x006a8268 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x1a4b2337 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0x1b85796f snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x1f63df89 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x21e3ba2c snd_device_register +EXPORT_SYMBOL sound/core/snd 0x245d81f9 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x2a744005 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x2ae3deaa release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0x2d75b0d9 snd_card_register +EXPORT_SYMBOL sound/core/snd 0x311cc700 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x33af03cd snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x353770d6 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3d5880c5 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x46a290d8 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4cb1dceb snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x50086038 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x502d3452 _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0x518bb7f8 copy_from_user_toio +EXPORT_SYMBOL sound/core/snd 0x6a079ee8 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x6e3318a2 snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x86dfd580 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x887af6b6 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f54dd22 snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x8faad676 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x91ed4c4f snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x96059b2f snd_device_free +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xa13fb28c snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0xa9d701e0 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0xaf840186 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb452dac0 snd_cards +EXPORT_SYMBOL sound/core/snd 0xb8543ddf snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0xbaa7f5ba snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0xbb96be0c snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0xbf742133 snd_device_new +EXPORT_SYMBOL sound/core/snd 0xbfb1d5fe snd_jack_new +EXPORT_SYMBOL sound/core/snd 0xcc44df08 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0xcc4524d8 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0xd3622f3f snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0xd5eb0ab7 snd_card_free +EXPORT_SYMBOL sound/core/snd 0xd68abb82 snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0xd865977b snd_component_add +EXPORT_SYMBOL sound/core/snd 0xdf34ecb2 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0xe184e945 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0xe20c9214 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0xe243dde3 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0xe4ae5aa0 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0xe5d07719 snd_card_create +EXPORT_SYMBOL sound/core/snd 0xefdd5628 snd_info_register +EXPORT_SYMBOL sound/core/snd 0xfc499db7 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd-hwdep 0xaacf8caf snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x19cc2ce3 snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x3b6c7602 snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x3b81ed09 snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x46d712bc snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x5cb5e9ce snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x8f15cfc5 snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0xc6829020 snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x03602573 snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x0697a9df snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x0c0a0546 snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x0d8665a4 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x13ac642f snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0x153026ad snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x15f8771a snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0x1802c6d5 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x1fa53ce7 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x219b0a71 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x22ae259a snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x24b50ae3 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x34c35a38 snd_pcm_link_rwlock +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 0x3bc9a169 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x43cc9a5b snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x4777cd34 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x500573fe snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x550b0dce snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0x5aabc67e snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x5c3993fe snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x7312008c snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x82cdf664 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x85f4c01f snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0x8fd6e020 snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0x9aa7895b snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0x9d0063cc snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xadf33d21 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0xb185690f snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbe4d8d00 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xbf65f729 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xc567fd45 snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0xd0b9b8b8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0xd59df37a snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0xdef273e8 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xe51a1c64 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xe59250c9 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xe6e0412f snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xf64ede0d snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0xfbec5f8b snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0232db16 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x13f072b4 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x223b4559 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x35794c7a snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3923de87 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6335cb3e snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x70bfd273 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x76a8eccd snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x78341ae8 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7c4c5bbf snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa015e2ac snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa186c129 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbbe8025e snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0xdeec44b2 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe1b85047 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xea68399c snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf490bdd4 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-timer 0x15f1f52b snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x244aa840 snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x26e3c66f snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0x37a3926f snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x45369ff6 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x521a6be7 snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x620191b5 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x68fa2f4b snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0x7a71e21e snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x8143744a snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0xb4d096e1 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0xd015c681 snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0xf02d66fc snd_timer_global_free +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x2ea188fe snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x4bbb7f27 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc43a3940 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x04e01285 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x2923a9f5 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x2b3d24cc snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x33358c88 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x714c5e11 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7c11b121 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7cad5fa2 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x91c6b615 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xc7c1d29b snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x19ffda92 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x1b95b296 snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x2d823cc5 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x45d85c09 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x76af6a30 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x99b88ede snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xa274a2cb snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xa2cb5889 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xbd5f3ee6 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xcd9d2af3 snd_vx_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x3a59b070 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x62f6a325 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x6ebb9501 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x932aba6d snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x935c2fd7 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xd7420bac snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x0211cb41 snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x1075f7f4 snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x4b52cab8 snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xb317e8ae snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xc9b76737 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xf34d1190 snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x11bba6b0 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xbce546da snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xe5b0f243 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xecc99948 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x23495e22 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xaf4f3403 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x00d9586d snd_tea575x_init +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0xcc6e7935 snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x3ef2ef3a snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x4f8bb0f1 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x50901adb snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x68a7347d snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x7c788f6d snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-i2c 0x3b04eddf snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0x4135ec5e snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0x4e8ff428 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x52b678ac snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xc21f47d0 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xfafd1121 snd_i2c_device_create +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x008d80e6 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0538cdb9 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x14863068 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x42b82724 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x50c450d9 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5a23ebc0 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6640e9a2 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x688ff45d snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8b01d039 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9b884928 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9eaa541e snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xad380b92 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xbebb2d9f snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xbec1a7c6 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc0be9cbd snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe082084f snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe15724c1 snd_ac97_bus +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x111d5d77 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x530bceef snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x6dc2f02d snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x7192ca6c snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x81d947c7 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x85e4c88c snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xc3441ef7 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xc6203018 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xff3b8e9c snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0x3ecefdb7 snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x56c7f9e9 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x81d7289e snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xdc6fb5e1 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x0495bf37 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x27a218c9 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x65e55920 snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xe9306a4a snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xf157b024 snd_trident_stop_voice +EXPORT_SYMBOL sound/soc/codecs/snd-soc-uda134x 0x832be550 uda134x_dai +EXPORT_SYMBOL sound/sound_firmware 0x39e3dd23 mod_firmware_load +EXPORT_SYMBOL sound/soundcore 0x002115e8 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x199a0a31 register_sound_special +EXPORT_SYMBOL sound/soundcore 0x72aa35bc register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xbe9800f2 sound_class +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xead61a1e register_sound_midi +EXPORT_SYMBOL sound/soundcore 0xfd96b256 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x0f1866f5 snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x0fbb8fe9 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x1243928c 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 0x671acbde snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x9606d6ca snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xd4d94e50 snd_emux_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x0a749d71 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x1048e38e snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x189eb885 snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x3da14414 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x4d6f0f4f __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x962aa6e3 snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xc10e5fd5 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xf6484938 snd_util_mem_avail +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usb-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL sound/usb/snd-usb-lib 0xf214261a snd_usb_create_midi_interface +EXPORT_SYMBOL vmlinux 0x00000000 per_cpu__softirq_work_list +EXPORT_SYMBOL vmlinux 0x000f96c3 tty_set_operations +EXPORT_SYMBOL vmlinux 0x0014a9c4 bio_integrity_split +EXPORT_SYMBOL vmlinux 0x0015c45f elv_abort_queue +EXPORT_SYMBOL vmlinux 0x00473ace genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x00827382 tty_hangup +EXPORT_SYMBOL vmlinux 0x008b5cc6 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x0095baa5 jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL vmlinux 0x00e61760 read_dev_sector +EXPORT_SYMBOL vmlinux 0x00eef49e __strnlen_user +EXPORT_SYMBOL vmlinux 0x00f9d182 register_key_type +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x01956a71 inet_shutdown +EXPORT_SYMBOL vmlinux 0x01a4aab6 set_irq_chip_data +EXPORT_SYMBOL vmlinux 0x01a6da13 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x01aaf0c1 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x01cab9fb pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x01d19038 acpi_enable_subsystem +EXPORT_SYMBOL vmlinux 0x01eb0987 tty_kref_put +EXPORT_SYMBOL vmlinux 0x01fde620 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x0222731b bio_map_user +EXPORT_SYMBOL vmlinux 0x022f9b48 swiotlb_unmap_sg +EXPORT_SYMBOL vmlinux 0x0237b57a arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x024cc9f8 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x027305d8 default_file_splice_read +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02aff2f4 acpi_install_gpe_handler +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02db12e3 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x0340d0e1 acpi_pci_osc_control_set +EXPORT_SYMBOL vmlinux 0x0340e0ae schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x0365c366 cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x039d694b input_unregister_handle +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03cf5693 pci_reenable_device +EXPORT_SYMBOL vmlinux 0x03f0db77 key_task_permission +EXPORT_SYMBOL vmlinux 0x03f8af25 tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x0451e856 devm_iounmap +EXPORT_SYMBOL vmlinux 0x0452be6a dquot_release +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x04ae4399 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x04bdfbd1 send_sig +EXPORT_SYMBOL vmlinux 0x04bf7e09 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x04c4cf4a registered_fb +EXPORT_SYMBOL vmlinux 0x04c73254 netpoll_setup +EXPORT_SYMBOL vmlinux 0x04e91897 vfs_fsync +EXPORT_SYMBOL vmlinux 0x04ef4f6a dev_unicast_unsync +EXPORT_SYMBOL vmlinux 0x05101413 textsearch_register +EXPORT_SYMBOL vmlinux 0x05171be8 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x053ea22b sn_region_size +EXPORT_SYMBOL vmlinux 0x05770783 single_release +EXPORT_SYMBOL vmlinux 0x0577a543 input_set_capability +EXPORT_SYMBOL vmlinux 0x05ad6f51 sock_rfree +EXPORT_SYMBOL vmlinux 0x05bcca0a dm_get_device +EXPORT_SYMBOL vmlinux 0x05c51bce inet_accept +EXPORT_SYMBOL vmlinux 0x05cbbaec skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x05e3149c ps2_drain +EXPORT_SYMBOL vmlinux 0x060a6df3 sk_stream_error +EXPORT_SYMBOL vmlinux 0x060d680f xor_ia64_4 +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x0622cd75 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x06288466 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x06587760 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x065e9b5a pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x06a485f2 __krealloc +EXPORT_SYMBOL vmlinux 0x06bfd4f6 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0x06c32731 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x06d728b1 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x06d7c9a3 kernel_getsockname +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x0718c22c _write_lock_irq +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x07372a51 __kill_fasync +EXPORT_SYMBOL vmlinux 0x074dd0a9 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x0762607f generic_writepages +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x0799c50a param_set_ulong +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x080b8ba7 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x0841536d inode_get_bytes +EXPORT_SYMBOL vmlinux 0x087201ba ethtool_op_set_flags +EXPORT_SYMBOL vmlinux 0x08881bc5 swiotlb_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x08a8f786 llc_sap_find +EXPORT_SYMBOL vmlinux 0x08bbdda4 bdev_read_only +EXPORT_SYMBOL vmlinux 0x08d66a3a warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x08e6b007 ia64_iobase +EXPORT_SYMBOL vmlinux 0x08eed26a acpi_lock_ac_dir +EXPORT_SYMBOL vmlinux 0x093c2ac9 netif_napi_del +EXPORT_SYMBOL vmlinux 0x094163dc __lock_page +EXPORT_SYMBOL vmlinux 0x09424bd9 vfs_follow_link +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x098431ba acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x098d500c nobh_write_begin +EXPORT_SYMBOL vmlinux 0x098ddc28 fb_set_var +EXPORT_SYMBOL vmlinux 0x09991e7b kfifo_init +EXPORT_SYMBOL vmlinux 0x09a188d0 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x09b61073 follow_up +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09ce963b inode_permission +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a3f843b devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0x0a466c8c journal_start +EXPORT_SYMBOL vmlinux 0x0a528698 alloc_etherdev_mq +EXPORT_SYMBOL vmlinux 0x0a8642bf netlink_dump_start +EXPORT_SYMBOL vmlinux 0x0a8f9d0b tcp_disconnect +EXPORT_SYMBOL vmlinux 0x0aa8c38c simple_sync_file +EXPORT_SYMBOL vmlinux 0x0aaa280c swiotlb_alloc_coherent +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acca637 min_low_pfn +EXPORT_SYMBOL vmlinux 0x0ad2e4fd dst_discard +EXPORT_SYMBOL vmlinux 0x0ae48e02 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x0ae55b39 per_cpu__kstat +EXPORT_SYMBOL vmlinux 0x0ae67ae8 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x0aec4f1c pci_release_region +EXPORT_SYMBOL vmlinux 0x0aff41d0 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b527f52 skb_pull +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b9e4fcd bio_copy_kern +EXPORT_SYMBOL vmlinux 0x0bb0a997 sn_sharing_domain_size +EXPORT_SYMBOL vmlinux 0x0c00a4c0 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x0c365888 ip_ct_attach +EXPORT_SYMBOL vmlinux 0x0c42c90a journal_flush +EXPORT_SYMBOL vmlinux 0x0c5f4c1f gen_pool_alloc +EXPORT_SYMBOL vmlinux 0x0c649a44 request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0x0c841f31 pci_set_master +EXPORT_SYMBOL vmlinux 0x0ca7b7a8 acpi_check_region +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cbed09a eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x0cd7d26b _read_lock +EXPORT_SYMBOL vmlinux 0x0ce86e3e sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x0d04b517 __getblk +EXPORT_SYMBOL vmlinux 0x0d231eb0 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x0d3dda14 acpi_get_type +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0dbce1b9 idr_for_each +EXPORT_SYMBOL vmlinux 0x0dd5ba68 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x0ddd0309 simple_link +EXPORT_SYMBOL vmlinux 0x0e0484f4 nonseekable_open +EXPORT_SYMBOL vmlinux 0x0e06c3a1 is_container_init +EXPORT_SYMBOL vmlinux 0x0e26e893 add_disk +EXPORT_SYMBOL vmlinux 0x0e52592a panic +EXPORT_SYMBOL vmlinux 0x0e665d3c init_task +EXPORT_SYMBOL vmlinux 0x0e81f0e4 cpu_present_mask +EXPORT_SYMBOL vmlinux 0x0e8b9cd9 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x0e9c4d49 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x0eadbd3f get_sb_single +EXPORT_SYMBOL vmlinux 0x0ee55a24 simple_fsync +EXPORT_SYMBOL vmlinux 0x0f1ef871 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x0f4394e1 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x0f663f7c vc_cons +EXPORT_SYMBOL vmlinux 0x0f6cb6fe journal_stop +EXPORT_SYMBOL vmlinux 0x0f86a439 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x0fc5e8eb radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0x0fd00a68 acpi_clear_event +EXPORT_SYMBOL vmlinux 0x0feca4d2 scm_fp_dup +EXPORT_SYMBOL vmlinux 0x0fef85cd page_follow_link_light +EXPORT_SYMBOL vmlinux 0x0ffa0e53 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x102067c5 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x102b5b21 sn_system_serial_number_string +EXPORT_SYMBOL vmlinux 0x104d432b kfifo_free +EXPORT_SYMBOL vmlinux 0x1051660c blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x105ad2bc nlmsg_notify +EXPORT_SYMBOL vmlinux 0x106fd843 dst_release +EXPORT_SYMBOL vmlinux 0x1072a394 csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x108e8985 param_get_uint +EXPORT_SYMBOL vmlinux 0x10a05abb blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x10ab5f3f netlink_ack +EXPORT_SYMBOL vmlinux 0x10d42d68 DAC1064_global_restore +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x10f61dbf dev_open +EXPORT_SYMBOL vmlinux 0x110f8cb5 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x111c8715 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x1139c420 fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0x114ed1ce schedule_work_on +EXPORT_SYMBOL vmlinux 0x11534f94 swiotlb_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x1173c1ee nobh_writepage +EXPORT_SYMBOL vmlinux 0x117560dd mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x117a61cd elv_rb_del +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x11c9295c unlock_page +EXPORT_SYMBOL vmlinux 0x11e78c76 set_blocksize +EXPORT_SYMBOL vmlinux 0x11f7d145 tcp_child_process +EXPORT_SYMBOL vmlinux 0x12024fbe pci_disable_msix +EXPORT_SYMBOL vmlinux 0x12060743 unw_access_fr +EXPORT_SYMBOL vmlinux 0x120c00f7 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x120f7172 serio_reconnect +EXPORT_SYMBOL vmlinux 0x121aea1b tcf_action_exec +EXPORT_SYMBOL vmlinux 0x124c9939 prepare_to_wait +EXPORT_SYMBOL vmlinux 0x12503abc xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x126be65c wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x127d7735 i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0x12861eb6 netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x12901bab blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0x129697b8 memcpy_toio +EXPORT_SYMBOL vmlinux 0x129e1f98 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x12c36b5f pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0x130820b4 pci_restore_state +EXPORT_SYMBOL vmlinux 0x131226cc in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x133a482d set_security_override +EXPORT_SYMBOL vmlinux 0x133c9bf6 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x138a78d1 set_current_groups +EXPORT_SYMBOL vmlinux 0x13aff528 sn_dma_set_mask +EXPORT_SYMBOL vmlinux 0x13b6dbe1 simple_dir_operations +EXPORT_SYMBOL vmlinux 0x13c1dd8d journal_lock_updates +EXPORT_SYMBOL vmlinux 0x13d66200 __blk_end_request_all +EXPORT_SYMBOL vmlinux 0x13f75b4b ipv4_specific +EXPORT_SYMBOL vmlinux 0x140a76e4 log_start_commit +EXPORT_SYMBOL vmlinux 0x140b6c84 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x1414c3bd pnp_is_active +EXPORT_SYMBOL vmlinux 0x1414e29d lro_vlan_hwaccel_receive_frags +EXPORT_SYMBOL vmlinux 0x1430e6e0 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x14448f3a gen_new_estimator +EXPORT_SYMBOL vmlinux 0x145e1681 pnp_activate_dev +EXPORT_SYMBOL vmlinux 0x14a87197 tc_classify_compat +EXPORT_SYMBOL vmlinux 0x14c330ed dev_mc_add +EXPORT_SYMBOL vmlinux 0x14d2f6bb kmem_cache_create +EXPORT_SYMBOL vmlinux 0x14d4b740 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0x14fbbe2c security_path_mknod +EXPORT_SYMBOL vmlinux 0x14fe6af1 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x1503dfa4 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x151b4201 cdev_index +EXPORT_SYMBOL vmlinux 0x1525a5c9 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x152ecd76 udp_prot +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x15add14d mutex_lock +EXPORT_SYMBOL vmlinux 0x15e75343 swiotlb_dma_supported +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x163c5e39 twl4030_i2c_read +EXPORT_SYMBOL vmlinux 0x1642cee1 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0x16448b1b sk_free +EXPORT_SYMBOL vmlinux 0x165b06f6 __destroy_inode +EXPORT_SYMBOL vmlinux 0x1675606f bad_dma_address +EXPORT_SYMBOL vmlinux 0x16920796 seq_write +EXPORT_SYMBOL vmlinux 0x16c31e06 skb_push +EXPORT_SYMBOL vmlinux 0x16c49168 tty_write_room +EXPORT_SYMBOL vmlinux 0x1701b01b pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x1706916c i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x170c25ee acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x17127c42 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x17282d44 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x1730b063 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x175fdc8e arch_acpi_processor_cleanup_pdc +EXPORT_SYMBOL vmlinux 0x1776fd46 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0x178be988 current_fs_time +EXPORT_SYMBOL vmlinux 0x17c85a66 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x17ce6334 setup_new_exec +EXPORT_SYMBOL vmlinux 0x17d1ede8 wireless_spy_update +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x181aaec4 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x181b6685 idr_remove +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x187d1a88 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x1896f121 key_link +EXPORT_SYMBOL vmlinux 0x189b6bac memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x18be2fc7 open_exec +EXPORT_SYMBOL vmlinux 0x18e3b96e neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x18e8401d proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x18fac32c inode_init_once +EXPORT_SYMBOL vmlinux 0x19391763 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x193d8658 d_delete +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19d5d20a acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0x19d6233f invalidate_bdev +EXPORT_SYMBOL vmlinux 0x19dee93f skb_store_bits +EXPORT_SYMBOL vmlinux 0x1a1e7743 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x1a216111 pci_release_regions +EXPORT_SYMBOL vmlinux 0x1a22b0c3 alloc_netdev_mq +EXPORT_SYMBOL vmlinux 0x1a2d0466 register_gifconf +EXPORT_SYMBOL vmlinux 0x1a329a6d default_unplug_io_fn +EXPORT_SYMBOL vmlinux 0x1a3df128 journal_abort +EXPORT_SYMBOL vmlinux 0x1a594b69 __locks_copy_lock +EXPORT_SYMBOL vmlinux 0x1a860bb2 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0x1a87cb47 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x1a8a845e idle_nomwait +EXPORT_SYMBOL vmlinux 0x1a8b5cd3 inet_add_protocol +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1b00cd5e set_user_nice +EXPORT_SYMBOL vmlinux 0x1b00e82f seq_printf +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b1ce968 igrab +EXPORT_SYMBOL vmlinux 0x1b44af12 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x1b5de566 phy_connect_direct +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b6abbaf sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x1b80f858 set_binfmt +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b9981cc set_irq_wake +EXPORT_SYMBOL vmlinux 0x1ba965d3 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x1bc48347 vga_tryget +EXPORT_SYMBOL vmlinux 0x1bde5a37 down +EXPORT_SYMBOL vmlinux 0x1be1babf add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x1be6550f vfs_stat +EXPORT_SYMBOL vmlinux 0x1c1af916 set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x1c3a7b38 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x1c45505e dquot_free_inode +EXPORT_SYMBOL vmlinux 0x1c530517 clip_tbl_hook +EXPORT_SYMBOL vmlinux 0x1c588a8c del_timer_sync +EXPORT_SYMBOL vmlinux 0x1c8a04b0 acpi_reset +EXPORT_SYMBOL vmlinux 0x1c968ae1 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x1c997341 rtc_dev_update_irq_enable_emul +EXPORT_SYMBOL vmlinux 0x1cbf5b31 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1cc9414c simple_lookup +EXPORT_SYMBOL vmlinux 0x1ccd278c xfrm_register_type +EXPORT_SYMBOL vmlinux 0x1cd76a75 pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0x1d060aa8 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x1d0ec543 kernel_connect +EXPORT_SYMBOL vmlinux 0x1d0f44e6 tty_free_termios +EXPORT_SYMBOL vmlinux 0x1d2e87c6 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x1d5c968c ia64_pal_call_stacked +EXPORT_SYMBOL vmlinux 0x1d67ac5f unw_init_from_blocked_task +EXPORT_SYMBOL vmlinux 0x1d84e57a unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x1d8e0fd2 skb_queue_tail +EXPORT_SYMBOL vmlinux 0x1dac78e7 pci_find_capability +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1df0944e ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x1e16d7ec fddi_type_trans +EXPORT_SYMBOL vmlinux 0x1e3046f0 get_write_access +EXPORT_SYMBOL vmlinux 0x1e4c9a31 i2c_use_client +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1ec042c9 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x1ec1e0b3 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x1ee2c380 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x1ef13380 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x1efe283f __cap_full_set +EXPORT_SYMBOL vmlinux 0x1f06ce95 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x1f3027e3 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x1f869501 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x1faa7d32 input_filter_device +EXPORT_SYMBOL vmlinux 0x1fedf0f4 __request_region +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x2005e68a acpi_remove_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x200838fb vfs_symlink +EXPORT_SYMBOL vmlinux 0x200995ee phy_device_create +EXPORT_SYMBOL vmlinux 0x20216939 phy_connect +EXPORT_SYMBOL vmlinux 0x20301636 physical_node_map +EXPORT_SYMBOL vmlinux 0x20385c58 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x204857ac proc_dostring +EXPORT_SYMBOL vmlinux 0x205ccb55 tcp_prot +EXPORT_SYMBOL vmlinux 0x208739f6 acpi_load_table +EXPORT_SYMBOL vmlinux 0x20a87834 simple_set_mnt +EXPORT_SYMBOL vmlinux 0x20eadeb6 ip_compute_csum +EXPORT_SYMBOL vmlinux 0x20ed7a8e __find_get_block +EXPORT_SYMBOL vmlinux 0x21005f6d jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x211331fa __divsi3 +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x218de737 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0x21d549b3 pid_task +EXPORT_SYMBOL vmlinux 0x21e0ea22 acpi_get_id +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x2250d3d6 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x2258e90f bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0x226e86a9 audit_log +EXPORT_SYMBOL vmlinux 0x2272a688 blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0x2288378f system_state +EXPORT_SYMBOL vmlinux 0x22a0c93a vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x22a73912 __tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x22a78cf5 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22b6533b xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x22c33140 security_path_unlink +EXPORT_SYMBOL vmlinux 0x22e42b61 block_write_full_page +EXPORT_SYMBOL vmlinux 0x230e4067 backlight_device_register +EXPORT_SYMBOL vmlinux 0x23269a13 strict_strtoul +EXPORT_SYMBOL vmlinux 0x2335449a security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x23406ebc fb_blank +EXPORT_SYMBOL vmlinux 0x234509f3 strncat +EXPORT_SYMBOL vmlinux 0x236a9722 udp_proc_register +EXPORT_SYMBOL vmlinux 0x236d1823 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x23876600 names_cachep +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x242d6041 add_wait_queue +EXPORT_SYMBOL vmlinux 0x243e5981 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x24455264 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x244d02b3 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x2452ed4c tcp_poll +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x24671def blk_run_queue +EXPORT_SYMBOL vmlinux 0x24686293 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x24724830 sn_dma_flush +EXPORT_SYMBOL vmlinux 0x24964ae6 dm_io_client_resize +EXPORT_SYMBOL vmlinux 0x24a01aa2 call_usermodehelper_freeinfo +EXPORT_SYMBOL vmlinux 0x24a7175a pci_pme_active +EXPORT_SYMBOL vmlinux 0x24f011ec key_type_keyring +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x25042b9f pcim_iomap +EXPORT_SYMBOL vmlinux 0x2509b955 journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x25368fef dcache_dir_open +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258355b4 fb_find_best_mode +EXPORT_SYMBOL vmlinux 0x25a97a3a generic_ro_fops +EXPORT_SYMBOL vmlinux 0x25b4eb5e _read_lock_irq +EXPORT_SYMBOL vmlinux 0x25b5f5ad blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL vmlinux 0x25fb94d8 ia64_mv +EXPORT_SYMBOL vmlinux 0x26088313 set_page_dirty +EXPORT_SYMBOL vmlinux 0x263195f2 sock_release +EXPORT_SYMBOL vmlinux 0x263eaa6e netdev_features_change +EXPORT_SYMBOL vmlinux 0x264caf01 input_free_device +EXPORT_SYMBOL vmlinux 0x26667492 xfrm_input +EXPORT_SYMBOL vmlinux 0x266b5164 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0x266b89b6 __register_chrdev +EXPORT_SYMBOL vmlinux 0x2675c937 unregister_console +EXPORT_SYMBOL vmlinux 0x267fc65b __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x2685c3d7 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x26a04998 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x26a0f965 dquot_scan_active +EXPORT_SYMBOL vmlinux 0x26c3312e open_by_devnum +EXPORT_SYMBOL vmlinux 0x26c92954 seq_open +EXPORT_SYMBOL vmlinux 0x26dbab4e tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x26e9f9ad pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0x2712c2ec sock_no_accept +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x27232eec phy_register_fixup +EXPORT_SYMBOL vmlinux 0x2738e5d5 vfs_mknod +EXPORT_SYMBOL vmlinux 0x274826e5 tcp_connect +EXPORT_SYMBOL vmlinux 0x2748ac62 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x2759e7d2 vmem_map +EXPORT_SYMBOL vmlinux 0x277673d8 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x27825bcc devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c33efe csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x27c61ece qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x27dfeaf0 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x28010f92 ida_pre_get +EXPORT_SYMBOL vmlinux 0x282b5899 _read_trylock +EXPORT_SYMBOL vmlinux 0x28328c70 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x28335c55 request_key +EXPORT_SYMBOL vmlinux 0x283c44ef __pci_register_driver +EXPORT_SYMBOL vmlinux 0x285135e6 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x28573841 kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x285ac517 strict_strtoll +EXPORT_SYMBOL vmlinux 0x2876a6d3 memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x288618b9 __nla_put +EXPORT_SYMBOL vmlinux 0x28932537 sn_coherency_id +EXPORT_SYMBOL vmlinux 0x28e47861 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x28f20744 commit_creds +EXPORT_SYMBOL vmlinux 0x2919453a sock_recvmsg +EXPORT_SYMBOL vmlinux 0x2926e894 skb_copy +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x29771a52 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x297c7029 sn_partition_serial_number +EXPORT_SYMBOL vmlinux 0x29b8e9ae bdi_register_dev +EXPORT_SYMBOL vmlinux 0x29bd4c46 __cap_init_eff_set +EXPORT_SYMBOL vmlinux 0x29d5f59a udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x29e59a7e xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x29f8fc3d grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x29fdee68 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x2a0534d3 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a3b2a16 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0x2a49111b blk_requeue_request +EXPORT_SYMBOL vmlinux 0x2a5465cf vmalloc_end +EXPORT_SYMBOL vmlinux 0x2a6bb2c8 mempool_free +EXPORT_SYMBOL vmlinux 0x2abf0743 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x2addc728 icmp_send +EXPORT_SYMBOL vmlinux 0x2b04a7f9 sg_miter_next +EXPORT_SYMBOL vmlinux 0x2b4b6c4c inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x2b54c5ff tcf_hash_check +EXPORT_SYMBOL vmlinux 0x2b5a2eac d_alloc_name +EXPORT_SYMBOL vmlinux 0x2b5e0226 dev_change_flags +EXPORT_SYMBOL vmlinux 0x2b606088 ia64_pal_call_phys_static +EXPORT_SYMBOL vmlinux 0x2b6a5528 init_buffer +EXPORT_SYMBOL vmlinux 0x2b9e3294 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2baacaf7 swiotlb_dma_mapping_error +EXPORT_SYMBOL vmlinux 0x2bb55d6e acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x2bc1199b bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x2bc5fd44 pci_set_power_state +EXPORT_SYMBOL vmlinux 0x2be52ed0 security_file_permission +EXPORT_SYMBOL vmlinux 0x2bfeb410 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x2c165548 ida_get_new_above +EXPORT_SYMBOL vmlinux 0x2c17aa99 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x2c3d0ba6 find_or_create_page +EXPORT_SYMBOL vmlinux 0x2c5749e6 acpi_clear_gpe +EXPORT_SYMBOL vmlinux 0x2c7e6c81 generic_file_aio_read +EXPORT_SYMBOL vmlinux 0x2c8cdb68 register_netdev +EXPORT_SYMBOL vmlinux 0x2c8d8a69 cpu_active_mask +EXPORT_SYMBOL vmlinux 0x2c9367fb mempool_create +EXPORT_SYMBOL vmlinux 0x2ca06a4f filemap_fault +EXPORT_SYMBOL vmlinux 0x2cb1b4d4 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x2cd19368 register_sysctl_table +EXPORT_SYMBOL vmlinux 0x2cd32e87 per_cpu__cpu_sibling_map +EXPORT_SYMBOL vmlinux 0x2cd39de8 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x2ce1e27f __sn_mmiowb +EXPORT_SYMBOL vmlinux 0x2cf6df05 pci_get_slot +EXPORT_SYMBOL vmlinux 0x2cfe4434 filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0x2d1b49a8 vfs_dq_drop +EXPORT_SYMBOL vmlinux 0x2d21b484 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x2d291fb8 down_killable +EXPORT_SYMBOL vmlinux 0x2d5528c9 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x2d7e8623 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x2d8f692b proto_register +EXPORT_SYMBOL vmlinux 0x2dd16564 arch_register_cpu +EXPORT_SYMBOL vmlinux 0x2dd6b6aa idr_pre_get +EXPORT_SYMBOL vmlinux 0x2dd884db bd_release +EXPORT_SYMBOL vmlinux 0x2dde3235 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x2de977f9 vfs_read +EXPORT_SYMBOL vmlinux 0x2dedc4c2 acpi_format_exception +EXPORT_SYMBOL vmlinux 0x2dee8241 deny_write_access +EXPORT_SYMBOL vmlinux 0x2dff3bd5 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e4a39f8 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x2e6763a6 idr_find +EXPORT_SYMBOL vmlinux 0x2e72e2e3 sock_i_uid +EXPORT_SYMBOL vmlinux 0x2e9ea10b cpu_sysdev_class +EXPORT_SYMBOL vmlinux 0x2ec487e5 otg_set_transceiver +EXPORT_SYMBOL vmlinux 0x2ec636be tcf_exts_change +EXPORT_SYMBOL vmlinux 0x2f0b40ae printk +EXPORT_SYMBOL vmlinux 0x2f295613 dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x2f367d8c xor_ia64_3 +EXPORT_SYMBOL vmlinux 0x2f4e65c1 unlock_rename +EXPORT_SYMBOL vmlinux 0x2f5ba3d8 dev_trans_start +EXPORT_SYMBOL vmlinux 0x2f7d1996 nf_ct_attach +EXPORT_SYMBOL vmlinux 0x2f7ea3b9 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x2f7f766e vprintk +EXPORT_SYMBOL vmlinux 0x2faaa9ae iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0x2fb03107 dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x2fb528fb skb_checksum_help +EXPORT_SYMBOL vmlinux 0x2fe4d5f0 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x2ff063b5 acpi_get_name +EXPORT_SYMBOL vmlinux 0x301271da udplite_table +EXPORT_SYMBOL vmlinux 0x3028abef simple_statfs +EXPORT_SYMBOL vmlinux 0x3033dc31 tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0x3057941b simple_write_end +EXPORT_SYMBOL vmlinux 0x30638035 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x306985d2 inet_addr_type +EXPORT_SYMBOL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL vmlinux 0x30928250 vfs_llseek +EXPORT_SYMBOL vmlinux 0x309bdb4a inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x30ade9a0 poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x30bb5c9c udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x30c1c058 posix_test_lock +EXPORT_SYMBOL vmlinux 0x30d25137 journal_dirty_data +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30ffe1f7 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x3103fa8d iommu_dma_supported +EXPORT_SYMBOL vmlinux 0x31121fe1 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x3138ec9e blk_queue_bounce +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x3159e6f4 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x315fadbd kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x3172902e pipe_lock +EXPORT_SYMBOL vmlinux 0x319a3645 proc_create_data +EXPORT_SYMBOL vmlinux 0x31b31f5c csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x31c47751 block_invalidatepage +EXPORT_SYMBOL vmlinux 0x31ebadcd in_group_p +EXPORT_SYMBOL vmlinux 0x32047ad5 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x3206fef6 stop_tty +EXPORT_SYMBOL vmlinux 0x3208166e pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0x32093cc7 __udivdi3 +EXPORT_SYMBOL vmlinux 0x321804ab swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x3233f404 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x3249da41 vfs_write +EXPORT_SYMBOL vmlinux 0x325ef291 dev_add_pack +EXPORT_SYMBOL vmlinux 0x326b2528 dquot_initialize +EXPORT_SYMBOL vmlinux 0x3285cc48 param_set_uint +EXPORT_SYMBOL vmlinux 0x3294270d pci_request_regions +EXPORT_SYMBOL vmlinux 0x333dbb7e input_close_device +EXPORT_SYMBOL vmlinux 0x3356af7a pci_select_bars +EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page +EXPORT_SYMBOL vmlinux 0x33c100cb sk_stream_write_space +EXPORT_SYMBOL vmlinux 0x33cd03b5 __napi_complete +EXPORT_SYMBOL vmlinux 0x33de550c input_unfilter_device +EXPORT_SYMBOL vmlinux 0x3416217c dqput +EXPORT_SYMBOL vmlinux 0x34337605 unbind_con_driver +EXPORT_SYMBOL vmlinux 0x343da08c __wake_up_bit +EXPORT_SYMBOL vmlinux 0x3457cb68 param_set_long +EXPORT_SYMBOL vmlinux 0x34668785 pnp_device_attach +EXPORT_SYMBOL vmlinux 0x3470b9e2 down_write_trylock +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a1c5b8 kern_path +EXPORT_SYMBOL vmlinux 0x34c0fb74 dev_unicast_sync +EXPORT_SYMBOL vmlinux 0x34c5b292 inet_sendmsg +EXPORT_SYMBOL vmlinux 0x34c7afae pci_dev_put +EXPORT_SYMBOL vmlinux 0x34dea7ce journal_destroy +EXPORT_SYMBOL vmlinux 0x350567da sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x3505c609 pagecache_write_end +EXPORT_SYMBOL vmlinux 0x35142f0c jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x354eec4d con_copy_unimap +EXPORT_SYMBOL vmlinux 0x356c97d0 iget_failed +EXPORT_SYMBOL vmlinux 0x35967781 input_register_handler +EXPORT_SYMBOL vmlinux 0x35adfee1 lock_may_read +EXPORT_SYMBOL vmlinux 0x35b0650f vsnprintf +EXPORT_SYMBOL vmlinux 0x35c2ba9e refrigerator +EXPORT_SYMBOL vmlinux 0x35c4899f matrox_millennium +EXPORT_SYMBOL vmlinux 0x35dc9287 napi_frags_skb +EXPORT_SYMBOL vmlinux 0x35f8058b journal_errno +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x36139a51 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x362c3ace pci_get_subsys +EXPORT_SYMBOL vmlinux 0x3656bf5a lock_kernel +EXPORT_SYMBOL vmlinux 0x366dad68 phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL vmlinux 0x36ab9661 mdiobus_write +EXPORT_SYMBOL vmlinux 0x36aff212 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x36b5755f neigh_compat_output +EXPORT_SYMBOL vmlinux 0x36bbb565 request_firmware +EXPORT_SYMBOL vmlinux 0x36d82ef0 arch_acpi_processor_init_pdc +EXPORT_SYMBOL vmlinux 0x36e3d6ca inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x370acba9 block_prepare_write +EXPORT_SYMBOL vmlinux 0x37101d11 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x3717dbf9 ia64_pfn_valid +EXPORT_SYMBOL vmlinux 0x37356d18 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x37425e5f napi_frags_finish +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x375465a7 radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x3762cb6e ioremap_nocache +EXPORT_SYMBOL vmlinux 0x3778849c sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37eca316 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x37f44fed seq_open_private +EXPORT_SYMBOL vmlinux 0x380a8616 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x3813f8d7 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x3836eed9 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x385660c3 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x386dc3cc ia64_sal_oemcall_nolock +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x389e3646 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x38b92846 llc_remove_pack +EXPORT_SYMBOL vmlinux 0x38c478bb acpi_bus_add +EXPORT_SYMBOL vmlinux 0x38d2fb01 inet_select_addr +EXPORT_SYMBOL vmlinux 0x38f08e98 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0x394b6290 proto_unregister +EXPORT_SYMBOL vmlinux 0x394bd319 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x39533679 pnp_get_resource +EXPORT_SYMBOL vmlinux 0x3955a5ae dev_alloc_name +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x39a6cbd6 acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0x39d33167 vfs_quota_enable +EXPORT_SYMBOL vmlinux 0x39fc4f20 input_unregister_device +EXPORT_SYMBOL vmlinux 0x3a09fed7 vfs_set_dqblk +EXPORT_SYMBOL vmlinux 0x3a11c325 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x3a2204c6 security_netlink_recv +EXPORT_SYMBOL vmlinux 0x3a345ce8 mntput_no_expire +EXPORT_SYMBOL vmlinux 0x3a4659dd locks_init_lock +EXPORT_SYMBOL vmlinux 0x3a4d9874 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x3a6b81f0 block_truncate_page +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3aab5577 dma_pool_free +EXPORT_SYMBOL vmlinux 0x3ab9fa8d pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x3ac101b5 km_new_mapping +EXPORT_SYMBOL vmlinux 0x3ad6a3c0 mutex_unlock +EXPORT_SYMBOL vmlinux 0x3adb10e6 cpu_all_bits +EXPORT_SYMBOL vmlinux 0x3ae831b6 kref_init +EXPORT_SYMBOL vmlinux 0x3aed7527 isa_irq_to_vector_map +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b56f9cc skb_unlink +EXPORT_SYMBOL vmlinux 0x3b78cd1a rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0x3b7b3c29 vfs_readv +EXPORT_SYMBOL vmlinux 0x3bb41242 fsync_bdev +EXPORT_SYMBOL vmlinux 0x3bc9fbca textsearch_prepare +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3be0ddde netif_device_attach +EXPORT_SYMBOL vmlinux 0x3c2ac7b3 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x3c2c5af5 sprintf +EXPORT_SYMBOL vmlinux 0x3c2ce2d0 unregister_netdev +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3ca9a043 serio_open +EXPORT_SYMBOL vmlinux 0x3cc0a3bb xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x3cdde3b7 ia64_ivt +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cfe8d46 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0x3d18763c _read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x3d5aaeae cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x3d6378c2 ____pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x3d68bd4b flow_cache_genid +EXPORT_SYMBOL vmlinux 0x3d74627d ethtool_op_set_ufo +EXPORT_SYMBOL vmlinux 0x3d76e1af jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x3d8728bb memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x3d9ee9f0 clear_page +EXPORT_SYMBOL vmlinux 0x3db2e258 radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x3e099498 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x3e2ae3a8 acpi_release_global_lock +EXPORT_SYMBOL vmlinux 0x3e383385 nf_hooks +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e6677ba load_nls +EXPORT_SYMBOL vmlinux 0x3e899c9d blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x3ea51fc0 dquot_acquire +EXPORT_SYMBOL vmlinux 0x3eaf6f14 simple_getattr +EXPORT_SYMBOL vmlinux 0x3ebc17b6 seq_path +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3eedf2ac locks_copy_lock +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f24f044 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f6bc633 __do_clear_user +EXPORT_SYMBOL vmlinux 0x3f81248b fddi_change_mtu +EXPORT_SYMBOL vmlinux 0x3f9c84f0 tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x3fa03a97 memset +EXPORT_SYMBOL vmlinux 0x3fa913da strspn +EXPORT_SYMBOL vmlinux 0x3fbe3378 idr_get_new_above +EXPORT_SYMBOL vmlinux 0x3fc65809 __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x3fd9e98c dev_load +EXPORT_SYMBOL vmlinux 0x3fec048f sg_next +EXPORT_SYMBOL vmlinux 0x3ff4ebbb tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x408e56af sk_wait_data +EXPORT_SYMBOL vmlinux 0x409415f2 ethtool_op_get_ufo +EXPORT_SYMBOL vmlinux 0x4097fa45 acpi_read_bit_register +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x40c89d46 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0x40cdc65b splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x40e61e9a inet_frags_init +EXPORT_SYMBOL vmlinux 0x4101bbde param_set_copystring +EXPORT_SYMBOL vmlinux 0x4108e69a fb_match_mode +EXPORT_SYMBOL vmlinux 0x41166725 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x41344088 param_get_charp +EXPORT_SYMBOL vmlinux 0x4139a3e0 km_policy_notify +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x41603bb4 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x416983d9 netdev_fix_features +EXPORT_SYMBOL vmlinux 0x416b1244 netif_receive_skb +EXPORT_SYMBOL vmlinux 0x417191ac blk_end_request +EXPORT_SYMBOL vmlinux 0x417b55f7 unlock_super +EXPORT_SYMBOL vmlinux 0x41856209 input_grab_device +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41c5c7e6 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x41d449e3 __breadahead +EXPORT_SYMBOL vmlinux 0x41d512f8 vfs_fstat +EXPORT_SYMBOL vmlinux 0x41df1e5f get_sb_nodev +EXPORT_SYMBOL vmlinux 0x41e08fb7 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x41f09252 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x41fe6d52 dput +EXPORT_SYMBOL vmlinux 0x41feaf92 flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x41fff608 seq_puts +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x42153d34 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x421b9937 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x42224298 sscanf +EXPORT_SYMBOL vmlinux 0x4225a0b4 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0x42737d25 filp_close +EXPORT_SYMBOL vmlinux 0x427ce43c lock_super +EXPORT_SYMBOL vmlinux 0x4284e342 dentry_unhash +EXPORT_SYMBOL vmlinux 0x428c8d73 llc_sap_list_lock +EXPORT_SYMBOL vmlinux 0x4296bf35 devm_free_irq +EXPORT_SYMBOL vmlinux 0x42a4bdf2 in_egroup_p +EXPORT_SYMBOL vmlinux 0x42acbf72 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4323f788 framebuffer_release +EXPORT_SYMBOL vmlinux 0x4333eadb param_set_short +EXPORT_SYMBOL vmlinux 0x43385ad9 acpi_pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x434fa55c release_console_sem +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x439090b9 kernel_thread +EXPORT_SYMBOL vmlinux 0x439e232e vfs_set_dqinfo +EXPORT_SYMBOL vmlinux 0x43a4938f vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x43ab66c3 param_array_get +EXPORT_SYMBOL vmlinux 0x43c2eab5 vfs_lstat +EXPORT_SYMBOL vmlinux 0x43c9becf get_unmapped_area_prot +EXPORT_SYMBOL vmlinux 0x43d0f23f unw_access_ar +EXPORT_SYMBOL vmlinux 0x43dec3e9 sock_wfree +EXPORT_SYMBOL vmlinux 0x43e56148 pnp_register_driver +EXPORT_SYMBOL vmlinux 0x43ec913a put_cmsg +EXPORT_SYMBOL vmlinux 0x44161c19 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x44193a88 blk_init_tags +EXPORT_SYMBOL vmlinux 0x444779c4 nla_find +EXPORT_SYMBOL vmlinux 0x446a8c57 cpu_to_node_map +EXPORT_SYMBOL vmlinux 0x449b91f8 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x44b2b6ed vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44d2c68a ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x44d3c94c inode_change_ok +EXPORT_SYMBOL vmlinux 0x44d6fe0d kernel_bind +EXPORT_SYMBOL vmlinux 0x44e2721b skb_free_datagram +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x4546fb69 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x454fb519 ioremap +EXPORT_SYMBOL vmlinux 0x4550ba8a register_cpu_notifier +EXPORT_SYMBOL vmlinux 0x45665b8a linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x456b1844 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x45704798 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x4575315d utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x45804525 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x45818ee3 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x4586b2ad __serio_register_port +EXPORT_SYMBOL vmlinux 0x45947727 param_array_set +EXPORT_SYMBOL vmlinux 0x45a93050 mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x45d50a6a unregister_8022_client +EXPORT_SYMBOL vmlinux 0x45d8000a downgrade_write +EXPORT_SYMBOL vmlinux 0x45dc1579 update_region +EXPORT_SYMBOL vmlinux 0x46020447 per_cpu__vm_event_states +EXPORT_SYMBOL vmlinux 0x46301a1e __seq_open_private +EXPORT_SYMBOL vmlinux 0x46423864 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x46670c5b bio_add_page +EXPORT_SYMBOL vmlinux 0x46957843 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x4696be0a wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x46b614b8 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x46c58a6f pci_bus_type +EXPORT_SYMBOL vmlinux 0x46cd5fad jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x46d9cefe __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x46e85a7e kill_fasync +EXPORT_SYMBOL vmlinux 0x46f36afb generic_file_open +EXPORT_SYMBOL vmlinux 0x4713af98 pipe_unlock +EXPORT_SYMBOL vmlinux 0x47297f48 dma_get_cache_alignment +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x4751b3fe bdi_init +EXPORT_SYMBOL vmlinux 0x475d3e87 dquot_reserve_space +EXPORT_SYMBOL vmlinux 0x475f010b acpi_purge_cached_objects +EXPORT_SYMBOL vmlinux 0x47636033 swiotlb +EXPORT_SYMBOL vmlinux 0x4768219e inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0x478852fc pnp_request_card_device +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47a4c35c pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x47a877f8 blk_start_request +EXPORT_SYMBOL vmlinux 0x47a9f591 kobject_set_name +EXPORT_SYMBOL vmlinux 0x47ad6ee7 clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x47c08f20 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x47c8dca4 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x47e1d139 security_path_rename +EXPORT_SYMBOL vmlinux 0x47fa3711 elv_add_request +EXPORT_SYMBOL vmlinux 0x481cb9ab acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x4857d2eb eth_validate_addr +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x4863df3c pci_target_state +EXPORT_SYMBOL vmlinux 0x4890630d invalidate_partition +EXPORT_SYMBOL vmlinux 0x4894fbf7 tcp4_gro_receive +EXPORT_SYMBOL vmlinux 0x489871d9 __kfree_skb +EXPORT_SYMBOL vmlinux 0x489de07b call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x48a27579 i2c_register_driver +EXPORT_SYMBOL vmlinux 0x48d58538 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x48ff7e45 hippi_mac_addr +EXPORT_SYMBOL vmlinux 0x48fffdb1 ia64_pal_call_phys_stacked +EXPORT_SYMBOL vmlinux 0x4904cf7f ip_route_input +EXPORT_SYMBOL vmlinux 0x49439411 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x494af765 tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x4958075d sock_create_kern +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x4968b64b dev_unicast_add +EXPORT_SYMBOL vmlinux 0x496bc83c kmem_cache_free +EXPORT_SYMBOL vmlinux 0x496ec86f generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x498a3178 seq_read +EXPORT_SYMBOL vmlinux 0x49a075e0 pnp_release_card_device +EXPORT_SYMBOL vmlinux 0x49a07eda fb_set_cmap +EXPORT_SYMBOL vmlinux 0x49c3039c pskb_copy +EXPORT_SYMBOL vmlinux 0x49e182c0 param_get_string +EXPORT_SYMBOL vmlinux 0x49f24140 vm_map_ram +EXPORT_SYMBOL vmlinux 0x4a2e39f2 wait_for_completion +EXPORT_SYMBOL vmlinux 0x4a31c777 unw_init_running +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a541e2a __umoddi3 +EXPORT_SYMBOL vmlinux 0x4a64e56f gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x4a86229c pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x4a866e7e ia64_sal_oemcall +EXPORT_SYMBOL vmlinux 0x4a8e8ced netif_carrier_off +EXPORT_SYMBOL vmlinux 0x4aaec473 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x4acd93d3 release_resource +EXPORT_SYMBOL vmlinux 0x4b13c107 phy_print_status +EXPORT_SYMBOL vmlinux 0x4b19f82a generic_readlink +EXPORT_SYMBOL vmlinux 0x4b2fd5d5 dm_table_put +EXPORT_SYMBOL vmlinux 0x4b4bdb4f security_inode_permission +EXPORT_SYMBOL vmlinux 0x4b651831 datagram_poll +EXPORT_SYMBOL vmlinux 0x4b657ae4 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x4b84cae1 acpi_bus_get_device +EXPORT_SYMBOL vmlinux 0x4b85cf77 elv_queue_empty +EXPORT_SYMBOL vmlinux 0x4b8875d2 skb_gso_segment +EXPORT_SYMBOL vmlinux 0x4b9cbb10 pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x4bbc3e5f pm_flags +EXPORT_SYMBOL vmlinux 0x4bcea607 blk_end_request_all +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c3d8059 simple_unlink +EXPORT_SYMBOL vmlinux 0x4c42f2cc dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x4c467067 otg_get_transceiver +EXPORT_SYMBOL vmlinux 0x4c4c956e nla_memcmp +EXPORT_SYMBOL vmlinux 0x4c72befe tcp4_gro_complete +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cfe2d82 dev_driver_string +EXPORT_SYMBOL vmlinux 0x4d4173c7 __put_cred +EXPORT_SYMBOL vmlinux 0x4d6dc3e1 _read_unlock_bh +EXPORT_SYMBOL vmlinux 0x4d716062 tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dd450ac sk_receive_skb +EXPORT_SYMBOL vmlinux 0x4dd56f47 arp_broken_ops +EXPORT_SYMBOL vmlinux 0x4dda726b match_strlcpy +EXPORT_SYMBOL vmlinux 0x4ddc98b1 replace_mount_options +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e114be5 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x4e2d4cbe bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e36d9c7 blk_plug_device +EXPORT_SYMBOL vmlinux 0x4e45a671 bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x4e4f62a4 journal_create +EXPORT_SYMBOL vmlinux 0x4e5ae353 nf_log_register +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e75d98b init_file +EXPORT_SYMBOL vmlinux 0x4e77fdca pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x4e798f61 acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0x4e7e59fc __vlan_hwaccel_rx +EXPORT_SYMBOL vmlinux 0x4e7ef7a5 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x4e9dffb5 ip_fast_csum +EXPORT_SYMBOL vmlinux 0x4eb5d655 register_filesystem +EXPORT_SYMBOL vmlinux 0x4ecc3ec6 proc_symlink +EXPORT_SYMBOL vmlinux 0x4edd72f7 block_all_signals +EXPORT_SYMBOL vmlinux 0x4ee374cb clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x4f0cfaf9 up +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f5438c1 idle_halt +EXPORT_SYMBOL vmlinux 0x4f6fc2bd generic_block_bmap +EXPORT_SYMBOL vmlinux 0x4f73cd5b d_genocide +EXPORT_SYMBOL vmlinux 0x4f783f30 acpi_read +EXPORT_SYMBOL vmlinux 0x4f8dad24 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x4f8fed6f blk_queue_max_phys_segments +EXPORT_SYMBOL vmlinux 0x4f91e567 fb_show_logo +EXPORT_SYMBOL vmlinux 0x4f9d0311 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x4fb3944d llc_mac_hdr_init +EXPORT_SYMBOL vmlinux 0x4fb5839a per_cpu____sn_hub_info +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4fe287cd dmam_pool_create +EXPORT_SYMBOL vmlinux 0x4fe491b0 bioset_create +EXPORT_SYMBOL vmlinux 0x4fe5e494 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x501e2679 set_bdi_congested +EXPORT_SYMBOL vmlinux 0x501fcf83 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x506746b6 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x508a05b8 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x50a20ee9 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x50a636a9 journal_revoke +EXPORT_SYMBOL vmlinux 0x50d2acbc gen_pool_free +EXPORT_SYMBOL vmlinux 0x50d56018 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x50ea1674 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x5103ec6f mdio_bus_type +EXPORT_SYMBOL vmlinux 0x51459bd6 hp_acpi_csr_space +EXPORT_SYMBOL vmlinux 0x517d1539 drop_super +EXPORT_SYMBOL vmlinux 0x51904c3a tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x51b52fd8 tty_register_device +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x52095e19 acpi_get_data +EXPORT_SYMBOL vmlinux 0x5236150f d_instantiate_unique +EXPORT_SYMBOL vmlinux 0x52694792 do_munmap +EXPORT_SYMBOL vmlinux 0x52760ca9 getnstimeofday +EXPORT_SYMBOL vmlinux 0x52a08616 bio_init +EXPORT_SYMBOL vmlinux 0x52a482ab elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x52a58c24 ifla_policy +EXPORT_SYMBOL vmlinux 0x52ad0887 skb_insert +EXPORT_SYMBOL vmlinux 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL vmlinux 0x52d9ecd4 set_irq_chip +EXPORT_SYMBOL vmlinux 0x52ebb126 param_get_ushort +EXPORT_SYMBOL vmlinux 0x5311037c ia64_sal_oemcall_reentrant +EXPORT_SYMBOL vmlinux 0x531c7644 input_release_device +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x53329f5e tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x53350752 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x53431a59 ethtool_op_get_flags +EXPORT_SYMBOL vmlinux 0x5347195e __devm_release_region +EXPORT_SYMBOL vmlinux 0x53528e5a ida_get_new +EXPORT_SYMBOL vmlinux 0x53691e26 dev_unicast_delete +EXPORT_SYMBOL vmlinux 0x53b51777 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0x53bd19a7 netif_notify_peers +EXPORT_SYMBOL vmlinux 0x53c0767c sk_chk_filter +EXPORT_SYMBOL vmlinux 0x53c53b29 read_cache_pages +EXPORT_SYMBOL vmlinux 0x53da4882 otg_put_transceiver +EXPORT_SYMBOL vmlinux 0x53f18438 blk_make_request +EXPORT_SYMBOL vmlinux 0x54290dc9 nla_validate +EXPORT_SYMBOL vmlinux 0x54493f28 abort_creds +EXPORT_SYMBOL vmlinux 0x546e95c8 dcache_dir_close +EXPORT_SYMBOL vmlinux 0x548c164d security_d_instantiate +EXPORT_SYMBOL vmlinux 0x54dbdd8a nf_hook_slow +EXPORT_SYMBOL vmlinux 0x54e558a5 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54ee3e41 mnt_pin +EXPORT_SYMBOL vmlinux 0x5500934c boot_tvec_bases +EXPORT_SYMBOL vmlinux 0x551ac656 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x552afea5 block_write_end +EXPORT_SYMBOL vmlinux 0x554585e7 vfs_quota_off +EXPORT_SYMBOL vmlinux 0x5547b0d5 skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x554f0a48 groups_alloc +EXPORT_SYMBOL vmlinux 0x557fb53a i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55a286bf proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x5600904f fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x5603cf43 do_settimeofday +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x5638ed4b alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x56396177 fb_pan_display +EXPORT_SYMBOL vmlinux 0x5646c23f posix_lock_file +EXPORT_SYMBOL vmlinux 0x56a10763 csum_tcpudp_magic +EXPORT_SYMBOL vmlinux 0x56a9e3a6 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x56ca38ff _spin_lock_irq +EXPORT_SYMBOL vmlinux 0x56df9d53 pci_find_device +EXPORT_SYMBOL vmlinux 0x56f38712 schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x56f494e0 smp_call_function +EXPORT_SYMBOL vmlinux 0x5702aed5 buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x5716788e end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x5721c20b pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x57267361 napi_get_frags +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x5730dad1 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x57444e47 generic_removexattr +EXPORT_SYMBOL vmlinux 0x575ea7c4 _spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x576daa62 vfs_writev +EXPORT_SYMBOL vmlinux 0x578f821c sock_kmalloc +EXPORT_SYMBOL vmlinux 0x57abf1c7 bte_unaligned_copy +EXPORT_SYMBOL vmlinux 0x57b57ebe jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0x57db7242 mangle_path +EXPORT_SYMBOL vmlinux 0x57eb557f secpath_dup +EXPORT_SYMBOL vmlinux 0x5809b87f neigh_connected_output +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x586377f2 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x586dca77 ip_getsockopt +EXPORT_SYMBOL vmlinux 0x5879fbff alloc_file +EXPORT_SYMBOL vmlinux 0x58974789 dev_close +EXPORT_SYMBOL vmlinux 0x58b104ff __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x58bdae36 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x58d43fee g450_mnp2f +EXPORT_SYMBOL vmlinux 0x592d6957 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x594c25f1 down_read_trylock +EXPORT_SYMBOL vmlinux 0x594e1317 __modsi3 +EXPORT_SYMBOL vmlinux 0x59ab7252 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x59b51493 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x59bc9609 acpi_write_bit_register +EXPORT_SYMBOL vmlinux 0x59c0e905 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x59cb6174 get_phy_device +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x5a0dfd67 kill_pgrp +EXPORT_SYMBOL vmlinux 0x5a34a45c __kmalloc +EXPORT_SYMBOL vmlinux 0x5a5c4df1 bioset_free +EXPORT_SYMBOL vmlinux 0x5a5e20f9 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x5a5e7ea3 simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5aa61a77 zero_page_memmap_ptr +EXPORT_SYMBOL vmlinux 0x5ac376a5 acpi_install_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x5ac798aa blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x5add0d18 key_alloc +EXPORT_SYMBOL vmlinux 0x5ae78c85 input_inject_event +EXPORT_SYMBOL vmlinux 0x5b15aee5 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x5b1dea34 blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x5b23dc6f ip_route_output_key +EXPORT_SYMBOL vmlinux 0x5b27bcec sysctl_intvec +EXPORT_SYMBOL vmlinux 0x5b4a061a put_tty_driver +EXPORT_SYMBOL vmlinux 0x5b51c6a7 acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x5b563526 tioca_fastwrite_enable +EXPORT_SYMBOL vmlinux 0x5b5d9ee8 pipe_to_file +EXPORT_SYMBOL vmlinux 0x5bae2eac acpi_extract_package +EXPORT_SYMBOL vmlinux 0x5bbd4bd1 freeze_bdev +EXPORT_SYMBOL vmlinux 0x5bbea01b unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x5be8f2de matroxfb_g450_shutdown +EXPORT_SYMBOL vmlinux 0x5c1fb337 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x5c3089cb seq_release +EXPORT_SYMBOL vmlinux 0x5c46de1c sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x5c4e5b7e interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x5c6e3f95 pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x5ca3356b skb_over_panic +EXPORT_SYMBOL vmlinux 0x5cc15721 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x5cc8e015 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x5cd1dc61 serio_interrupt +EXPORT_SYMBOL vmlinux 0x5cf2625b inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x5d0076c1 eth_change_mtu +EXPORT_SYMBOL vmlinux 0x5d12a6ba __free_pages +EXPORT_SYMBOL vmlinux 0x5d12b3fc twl4030_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x5d356cba jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x5d458285 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x5d45c0d9 ida_init +EXPORT_SYMBOL vmlinux 0x5d74dbcf pnp_range_reserved +EXPORT_SYMBOL vmlinux 0x5d9fe08a __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x5da108a6 handle_sysrq +EXPORT_SYMBOL vmlinux 0x5dbbe98e memmove +EXPORT_SYMBOL vmlinux 0x5dc4583c __percpu_counter_add +EXPORT_SYMBOL vmlinux 0x5ddb0b58 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x5df24b79 vga_get +EXPORT_SYMBOL vmlinux 0x5e0f3e56 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x5e420b7f dev_alloc_skb +EXPORT_SYMBOL vmlinux 0x5e54b7d9 phy_device_register +EXPORT_SYMBOL vmlinux 0x5e888e53 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x5e8c8c05 pnp_start_dev +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea520c5 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x5ec129a5 km_query +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5f07c85b generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x5f543b56 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x5f5a6889 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x5f62fee7 skb_append +EXPORT_SYMBOL vmlinux 0x5f656c44 slow_work_sleep_till_thread_needed +EXPORT_SYMBOL vmlinux 0x5f6945f4 wireless_send_event +EXPORT_SYMBOL vmlinux 0x5f9a8f40 pci_match_id +EXPORT_SYMBOL vmlinux 0x5ff609a1 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x5ff911e9 path_lookup +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x6007663a inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x60183fad register_8022_client +EXPORT_SYMBOL vmlinux 0x602ed00d acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0x60339421 pci_set_mwi +EXPORT_SYMBOL vmlinux 0x60368e12 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x6042f3fd phy_sanitize_settings +EXPORT_SYMBOL vmlinux 0x605c8bde radix_tree_delete +EXPORT_SYMBOL vmlinux 0x6067a146 memcpy +EXPORT_SYMBOL vmlinux 0x60859cbf journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x6087144c pci_get_device +EXPORT_SYMBOL vmlinux 0x60883931 nobh_write_end +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60ce84df dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x610ceeb6 search_binary_handler +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x612600b9 register_nls +EXPORT_SYMBOL vmlinux 0x61799779 inet_listen +EXPORT_SYMBOL vmlinux 0x61830a79 lock_fb_info +EXPORT_SYMBOL vmlinux 0x618d8299 set_notify_swap_entry_free +EXPORT_SYMBOL vmlinux 0x61960368 dquot_commit +EXPORT_SYMBOL vmlinux 0x61ad396b lease_modify +EXPORT_SYMBOL vmlinux 0x61ae2421 ia64_reg_MCA_extension +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61baf675 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x61c34ee7 neigh_ifdown +EXPORT_SYMBOL vmlinux 0x62049256 acpi_disable +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x6237f6b5 acpi_enable_event +EXPORT_SYMBOL vmlinux 0x626540be mb_cache_entry_free +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 0x62c269fe journal_wipe +EXPORT_SYMBOL vmlinux 0x62d2d81c sg_miter_start +EXPORT_SYMBOL vmlinux 0x62f32c04 node_to_cpu_mask +EXPORT_SYMBOL vmlinux 0x630de411 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x631223eb efi_mem_attributes +EXPORT_SYMBOL vmlinux 0x636a5691 acpi_register_ioapic +EXPORT_SYMBOL vmlinux 0x638f2715 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x63d90a0d netlink_set_err +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63f9fc20 tcp_close +EXPORT_SYMBOL vmlinux 0x640351ef i2c_bit_add_bus +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x6423ba1e blk_fetch_request +EXPORT_SYMBOL vmlinux 0x64624a84 __bread +EXPORT_SYMBOL vmlinux 0x64682cd3 blk_unplug +EXPORT_SYMBOL vmlinux 0x6478134c ec_burst_enable +EXPORT_SYMBOL vmlinux 0x647afb59 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0x6480b78c sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x650080be clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x65022a24 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x651e203f pci_disable_msi +EXPORT_SYMBOL vmlinux 0x651e3038 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x6522767e alloc_trdev +EXPORT_SYMBOL vmlinux 0x6525870d module_refcount +EXPORT_SYMBOL vmlinux 0x652fad6a xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65414e67 dev_valid_name +EXPORT_SYMBOL vmlinux 0x654d35b4 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x65ae521d sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x65e60fe8 tty_register_driver +EXPORT_SYMBOL vmlinux 0x65f91f9f __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x660e1223 skb_clone +EXPORT_SYMBOL vmlinux 0x661a5783 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x66567a60 blk_init_queue +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x66bec4fa journal_start_commit +EXPORT_SYMBOL vmlinux 0x66f1c9c5 fb_find_mode +EXPORT_SYMBOL vmlinux 0x67053080 current_kernel_time +EXPORT_SYMBOL vmlinux 0x670914e3 acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0x672144bd strlcpy +EXPORT_SYMBOL vmlinux 0x672f821d scm_detach_fds +EXPORT_SYMBOL vmlinux 0x67339510 put_page +EXPORT_SYMBOL vmlinux 0x673aa1de rwsem_wake +EXPORT_SYMBOL vmlinux 0x677ae422 dev_disable_lro +EXPORT_SYMBOL vmlinux 0x67a40c52 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x6806b46a elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x6892ea1c fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x68b1531b pci_dev_get +EXPORT_SYMBOL vmlinux 0x68b3b2ec kill_pid +EXPORT_SYMBOL vmlinux 0x68cd1238 bte_copy +EXPORT_SYMBOL vmlinux 0x68ef8d1a fifo_set_limit +EXPORT_SYMBOL vmlinux 0x68f0bc6d filp_open +EXPORT_SYMBOL vmlinux 0x68f923f1 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x6933df06 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x6956a904 skb_split +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x697cb0a0 sysctl_ms_jiffies +EXPORT_SYMBOL vmlinux 0x6980fe91 param_get_int +EXPORT_SYMBOL vmlinux 0x69927dff try_acquire_console_sem +EXPORT_SYMBOL vmlinux 0x69a0ca7d iowrite16be +EXPORT_SYMBOL vmlinux 0x69a358a6 iomem_resource +EXPORT_SYMBOL vmlinux 0x69a3b246 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x69bd6125 page_symlink +EXPORT_SYMBOL vmlinux 0x69c5ce1d generic_delete_inode +EXPORT_SYMBOL vmlinux 0x69c8c1d5 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x69d2575f efi +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x69fb7979 sock_register +EXPORT_SYMBOL vmlinux 0x6a03560a complete_and_exit +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a11f865 bdi_unregister +EXPORT_SYMBOL vmlinux 0x6a21455c vlan_gro_frags +EXPORT_SYMBOL vmlinux 0x6a2cc0ed blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x6a393e4b phy_detach +EXPORT_SYMBOL vmlinux 0x6a47571d __set_personality +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6ab73f5a input_unregister_handler +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6ad065f4 param_set_charp +EXPORT_SYMBOL vmlinux 0x6ad85887 acpi_enable_gpe +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6ae2c5e1 matroxfb_g450_connect +EXPORT_SYMBOL vmlinux 0x6afa1b00 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x6b0a1383 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b43baa5 generic_write_checks +EXPORT_SYMBOL vmlinux 0x6b4e5a52 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x6b5b2d91 tty_port_init +EXPORT_SYMBOL vmlinux 0x6b6f54b7 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x6b7e2685 netdev_set_master +EXPORT_SYMBOL vmlinux 0x6bc246dd bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bc56c67 radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6bf58ef7 seq_putc +EXPORT_SYMBOL vmlinux 0x6bf6dfe7 acpi_get_physical_device +EXPORT_SYMBOL vmlinux 0x6c2cd66d netdev_state_change +EXPORT_SYMBOL vmlinux 0x6c37e64d write_cache_pages +EXPORT_SYMBOL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6cb15a95 machvec_dma_sync_single +EXPORT_SYMBOL vmlinux 0x6cc9295e inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x6d0b77fe sysctl_data +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 0x6d614fce sock_kfree_s +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d824298 _read_lock_bh +EXPORT_SYMBOL vmlinux 0x6d949cd2 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x6dce9f35 acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0x6de6bf83 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6e07a54e acpi_get_gpe_status +EXPORT_SYMBOL vmlinux 0x6e3e87ff phy_disable_interrupts +EXPORT_SYMBOL vmlinux 0x6e4be7ae task_nice +EXPORT_SYMBOL vmlinux 0x6e4da1ae blk_queue_ordered +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e798191 skb_queue_head +EXPORT_SYMBOL vmlinux 0x6e802324 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x6e9bd7d3 submit_bio +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea811f8 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x6ecb6645 dcache_lock +EXPORT_SYMBOL vmlinux 0x6f00b1f4 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x6f0d06e0 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x6f1b9018 ip_mc_rejoin_group +EXPORT_SYMBOL vmlinux 0x6f27ef39 sock_create +EXPORT_SYMBOL vmlinux 0x6f321125 netlink_broadcast +EXPORT_SYMBOL vmlinux 0x6f398fa6 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x6f3d0808 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x6f47a452 follow_pfn +EXPORT_SYMBOL vmlinux 0x6f556bdb acpi_get_gpe_device +EXPORT_SYMBOL vmlinux 0x6f5d5251 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x6f9d9496 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x6fc15f73 dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd7e1d9 __register_binfmt +EXPORT_SYMBOL vmlinux 0x6feb2039 acpi_write +EXPORT_SYMBOL vmlinux 0x6ff9cb3c genl_unregister_ops +EXPORT_SYMBOL vmlinux 0x6fff393f time_to_tm +EXPORT_SYMBOL vmlinux 0x70283084 prepare_creds +EXPORT_SYMBOL vmlinux 0x70474a10 skb_recycle_check +EXPORT_SYMBOL vmlinux 0x70488001 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x70947794 security_path_rmdir +EXPORT_SYMBOL vmlinux 0x70a2d7fd vfs_unlink +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70d8ab82 acpi_acquire_global_lock +EXPORT_SYMBOL vmlinux 0x710e06cf nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x7114a2ef matroxfb_vgaHWrestore +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x7139a72b sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x71418a17 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x71425c40 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x7150c810 mnt_unpin +EXPORT_SYMBOL vmlinux 0x718516fd sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71cee466 user_revoke +EXPORT_SYMBOL vmlinux 0x71f6eb38 sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x7202d73a elevator_init +EXPORT_SYMBOL vmlinux 0x721d16fe flush_tlb_range +EXPORT_SYMBOL vmlinux 0x7242e96d strnchr +EXPORT_SYMBOL vmlinux 0x725717cd pci_dev_driver +EXPORT_SYMBOL vmlinux 0x725dcc13 simple_readpage +EXPORT_SYMBOL vmlinux 0x726b304a seq_lseek +EXPORT_SYMBOL vmlinux 0x7295a078 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x72ac9c29 dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x72c09215 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x72c3be87 param_set_byte +EXPORT_SYMBOL vmlinux 0x72cc2a9e journal_force_commit +EXPORT_SYMBOL vmlinux 0x72e2bae8 journal_ack_err +EXPORT_SYMBOL vmlinux 0x72f36949 get_sb_ns +EXPORT_SYMBOL vmlinux 0x72f7f4d9 sock_no_getname +EXPORT_SYMBOL vmlinux 0x72fd4ec8 lock_may_write +EXPORT_SYMBOL vmlinux 0x73154938 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x732963cd inet_register_protosw +EXPORT_SYMBOL vmlinux 0x734a28ce acpi_lock_battery_dir +EXPORT_SYMBOL vmlinux 0x734be006 matroxfb_enable_irq +EXPORT_SYMBOL vmlinux 0x736572b6 llc_set_station_handler +EXPORT_SYMBOL vmlinux 0x736da5e3 dqget +EXPORT_SYMBOL vmlinux 0x737172bd rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0x7376817c pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x7389c9a8 acpi_bus_get_power +EXPORT_SYMBOL vmlinux 0x73a7f7f0 sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x73cc1897 phy_device_free +EXPORT_SYMBOL vmlinux 0x73f651d8 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x741528e4 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x744c0c68 param_get_byte +EXPORT_SYMBOL vmlinux 0x74722c6d bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x748f123f netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74cca9e1 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x74ea1265 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x74f1aaa5 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x74f2a325 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x75198299 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x751bed7d swiotlb_free_coherent +EXPORT_SYMBOL vmlinux 0x751c57c0 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x752005c2 kobject_get +EXPORT_SYMBOL vmlinux 0x7525fe3a hippi_change_mtu +EXPORT_SYMBOL vmlinux 0x75608324 pci_pme_capable +EXPORT_SYMBOL vmlinux 0x756e6992 strnicmp +EXPORT_SYMBOL vmlinux 0x7574dc13 file_permission +EXPORT_SYMBOL vmlinux 0x759f66fb tty_unthrottle +EXPORT_SYMBOL vmlinux 0x75bdea12 iommu_area_alloc +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x7629531d tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x764735db pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x764bd77c request_resource +EXPORT_SYMBOL vmlinux 0x767dd8fd acpi_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0x76a495c1 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x76bce1d0 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d994b7 dquot_claim_space +EXPORT_SYMBOL vmlinux 0x77255f2b netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x77392d7f ps2_init +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x774d6e05 idr_remove_all +EXPORT_SYMBOL vmlinux 0x775c6dd2 brioctl_set +EXPORT_SYMBOL vmlinux 0x7796062a sn_bus_store_sysdata +EXPORT_SYMBOL vmlinux 0x7799e4d3 elv_rb_find +EXPORT_SYMBOL vmlinux 0x77a068da unlock_new_inode +EXPORT_SYMBOL vmlinux 0x77be3e68 iput +EXPORT_SYMBOL vmlinux 0x77c2a661 __mutex_init +EXPORT_SYMBOL vmlinux 0x77c726bd file_fsync +EXPORT_SYMBOL vmlinux 0x77dfa8cd tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77edf6b8 input_register_handle +EXPORT_SYMBOL vmlinux 0x77f53abc acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x77fa5d1f ns_to_timespec +EXPORT_SYMBOL vmlinux 0x7820bc7c blk_remove_plug +EXPORT_SYMBOL vmlinux 0x7824f923 arp_create +EXPORT_SYMBOL vmlinux 0x78541c28 elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0x7887e9ab set_create_files_as +EXPORT_SYMBOL vmlinux 0x789394b9 _write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x78a87962 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x78d5a964 dma_get_ops +EXPORT_SYMBOL vmlinux 0x78dc25ee dm_unregister_target +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78e1781a fget +EXPORT_SYMBOL vmlinux 0x790305b0 __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x79068fda acpi_install_method +EXPORT_SYMBOL vmlinux 0x791832c6 __lookup_one_len +EXPORT_SYMBOL vmlinux 0x79199d32 revert_creds +EXPORT_SYMBOL vmlinux 0x79375f33 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x7937c05b kobject_put +EXPORT_SYMBOL vmlinux 0x794ab099 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x794f213a mdiobus_read +EXPORT_SYMBOL vmlinux 0x79642e2f dentry_open +EXPORT_SYMBOL vmlinux 0x79664140 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x79a2fd35 ia64_unreg_MCA_extension +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79ad224b tasklet_kill +EXPORT_SYMBOL vmlinux 0x79af5204 pci_fixup_device +EXPORT_SYMBOL vmlinux 0x79b4f4cb bdput +EXPORT_SYMBOL vmlinux 0x79c77fe0 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x79d1178d tcp_sendpage +EXPORT_SYMBOL vmlinux 0x79e6cba6 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x79ec5d78 phy_stop +EXPORT_SYMBOL vmlinux 0x79f83768 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x7a2a837d strict_strtol +EXPORT_SYMBOL vmlinux 0x7a3132e1 pci_write_vpd +EXPORT_SYMBOL vmlinux 0x7a3b8d2f fasync_helper +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a45f120 xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x7a4c13c7 read_cache_page +EXPORT_SYMBOL vmlinux 0x7a4e033f ida_destroy +EXPORT_SYMBOL vmlinux 0x7a50fe08 get_user_pages +EXPORT_SYMBOL vmlinux 0x7a621865 xfrm_register_km +EXPORT_SYMBOL vmlinux 0x7a71b0e3 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x7a7573bf mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x7a7fc700 d_add_ci +EXPORT_SYMBOL vmlinux 0x7a98dce6 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x7ab1d153 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x7ae73de1 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x7b0667ae generic_write_sync +EXPORT_SYMBOL vmlinux 0x7b0c84c4 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0x7b16e523 lro_flush_all +EXPORT_SYMBOL vmlinux 0x7b440a6e skb_put +EXPORT_SYMBOL vmlinux 0x7b486b01 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x7b5850cf neigh_table_init_no_netlink +EXPORT_SYMBOL vmlinux 0x7b5b3e93 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x7b65c269 journal_clear_err +EXPORT_SYMBOL vmlinux 0x7b69ec2a skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0x7b6ac4c9 neigh_seq_next +EXPORT_SYMBOL vmlinux 0x7b8702d3 load_nls_default +EXPORT_SYMBOL vmlinux 0x7b8f4c40 key_create_or_update +EXPORT_SYMBOL vmlinux 0x7bbe2a52 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x7bd67ab0 vfs_readlink +EXPORT_SYMBOL vmlinux 0x7bdc69fc neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x7bff3be7 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x7c176f1f genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x7c1875f4 flush_old_exec +EXPORT_SYMBOL vmlinux 0x7c1cde82 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x7c251752 tcp_v4_md5_do_del +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c61340c __release_region +EXPORT_SYMBOL vmlinux 0x7c85234a jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c9bb10f tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x7ca8fca9 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x7cb1ae69 cpu_down +EXPORT_SYMBOL vmlinux 0x7cef9979 security_inode_readlink +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d1a4d88 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x7d485f4a nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x7d787b21 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x7d94f746 acpi_os_write_port +EXPORT_SYMBOL vmlinux 0x7d9a36c8 netdev_bonding_change +EXPORT_SYMBOL vmlinux 0x7da0a5b4 vfs_dq_quota_on_remount +EXPORT_SYMBOL vmlinux 0x7daca5fc find_lock_page +EXPORT_SYMBOL vmlinux 0x7dbc506b writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x7dc980a4 dm_put_device +EXPORT_SYMBOL vmlinux 0x7dcda257 __netif_schedule +EXPORT_SYMBOL vmlinux 0x7dceceac capable +EXPORT_SYMBOL vmlinux 0x7dd293ff eth_header_cache +EXPORT_SYMBOL vmlinux 0x7df2ba4c dev_set_mtu +EXPORT_SYMBOL vmlinux 0x7e1072ef unregister_qdisc +EXPORT_SYMBOL vmlinux 0x7e2d6ab0 generic_read_dir +EXPORT_SYMBOL vmlinux 0x7e2ddb42 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x7e360086 tty_mutex +EXPORT_SYMBOL vmlinux 0x7e474565 pci_claim_resource +EXPORT_SYMBOL vmlinux 0x7e8e76c5 slow_work_unregister_user +EXPORT_SYMBOL vmlinux 0x7eab015c i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x7eaf98b1 sk_release_kernel +EXPORT_SYMBOL vmlinux 0x7ec9bfbc strncpy +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f4d544e tcp_make_synack +EXPORT_SYMBOL vmlinux 0x7f573e05 __secpath_destroy +EXPORT_SYMBOL vmlinux 0x7f679811 ip_defrag +EXPORT_SYMBOL vmlinux 0x7f8aeca8 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x7fa20098 mdiobus_free +EXPORT_SYMBOL vmlinux 0x7fb167c8 jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0x7fba11bd __sk_dst_check +EXPORT_SYMBOL vmlinux 0x7fd98ec9 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x8039ff3d machvec_dma_sync_sg +EXPORT_SYMBOL vmlinux 0x803cad1f matrox_G100 +EXPORT_SYMBOL vmlinux 0x803d97a5 dquot_free_space +EXPORT_SYMBOL vmlinux 0x80671888 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x80936942 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x809e16c7 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x80d79185 idr_destroy +EXPORT_SYMBOL vmlinux 0x8125f426 generic_file_llseek_unlocked +EXPORT_SYMBOL vmlinux 0x81472677 acpi_get_table +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x81971270 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x81ceef0e start_tty +EXPORT_SYMBOL vmlinux 0x81df3522 vfs_rename +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x8207648d init_special_inode +EXPORT_SYMBOL vmlinux 0x820d225f print_mac +EXPORT_SYMBOL vmlinux 0x824fad33 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x8257cba0 per_cpu____sn_nodepda +EXPORT_SYMBOL vmlinux 0x8268c50a kfree_skb +EXPORT_SYMBOL vmlinux 0x82692209 kref_set +EXPORT_SYMBOL vmlinux 0x827b5ab7 close_bdev_exclusive +EXPORT_SYMBOL vmlinux 0x828c015a netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x828f24d1 lookup_hash +EXPORT_SYMBOL vmlinux 0x82a11dea send_sig_info +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82bce38e generic_setlease +EXPORT_SYMBOL vmlinux 0x82ca29da remove_wait_queue +EXPORT_SYMBOL vmlinux 0x82d0a37b xfrm_lookup +EXPORT_SYMBOL vmlinux 0x82e9c083 csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x830e9c2f vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x8320bea8 __umodsi3 +EXPORT_SYMBOL vmlinux 0x832c01a5 sk_common_release +EXPORT_SYMBOL vmlinux 0x83396605 get_phy_id +EXPORT_SYMBOL vmlinux 0x8375b2e0 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x8378ea25 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x83998b0b ia64_save_scratch_fpregs +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83bbe4fe remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x83c43dc1 posix_acl_chmod_masq +EXPORT_SYMBOL vmlinux 0x83f0ca8b d_splice_alias +EXPORT_SYMBOL vmlinux 0x83fccd5c swiotlb_map_sg_attrs +EXPORT_SYMBOL vmlinux 0x840b70d7 __page_cache_alloc +EXPORT_SYMBOL vmlinux 0x8412cd41 end_page_writeback +EXPORT_SYMBOL vmlinux 0x844bbd3a prepare_binprm +EXPORT_SYMBOL vmlinux 0x8453e491 skb_seq_read +EXPORT_SYMBOL vmlinux 0x845b6ed6 i2c_release_client +EXPORT_SYMBOL vmlinux 0x847c64fc tcp_shutdown +EXPORT_SYMBOL vmlinux 0x8498a23f blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0x849ab659 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x84b28aa4 kmalloc_caches +EXPORT_SYMBOL vmlinux 0x8516124e xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x852919a7 invalidate_inodes +EXPORT_SYMBOL vmlinux 0x852b9229 skb_checksum +EXPORT_SYMBOL vmlinux 0x85315bae matrox_cfbX_init +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x858de22a pskb_expand_head +EXPORT_SYMBOL vmlinux 0x85abc85f strncmp +EXPORT_SYMBOL vmlinux 0x85ac66a0 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x85adfdef get_disk +EXPORT_SYMBOL vmlinux 0x85d0642b d_lookup +EXPORT_SYMBOL vmlinux 0x85d0fa8e bio_kmalloc +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85eeba3f iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x85f1312d journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x8631f188 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x863e418b xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x866a7695 complete +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x868d6276 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x8716021f tioca_list +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x871d0605 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x8757b092 noop_qdisc +EXPORT_SYMBOL vmlinux 0x87620616 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x8764e09a pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x876dafc3 ec_write +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x878d4f76 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x879b67df i2c_master_recv +EXPORT_SYMBOL vmlinux 0x87d38534 do_SAK +EXPORT_SYMBOL vmlinux 0x87d9aeaa path_get +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x884a9317 posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0x886aa274 posix_acl_create_masq +EXPORT_SYMBOL vmlinux 0x8870f190 should_remove_suid +EXPORT_SYMBOL vmlinux 0x88871af9 __devm_request_region +EXPORT_SYMBOL vmlinux 0x8891771a release_sock +EXPORT_SYMBOL vmlinux 0x88931e81 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x8894115c idr_init +EXPORT_SYMBOL vmlinux 0x88a9bb58 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x88aeec50 __dst_free +EXPORT_SYMBOL vmlinux 0x88e885d8 blk_insert_request +EXPORT_SYMBOL vmlinux 0x88fac26f blk_peek_request +EXPORT_SYMBOL vmlinux 0x88fbd933 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0x8911f415 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x8916d82f sn_io_slot_fixup +EXPORT_SYMBOL vmlinux 0x892d6f5c __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x893fe150 filemap_flush +EXPORT_SYMBOL vmlinux 0x8942a2ef page_readlink +EXPORT_SYMBOL vmlinux 0x8943f675 dev_get_flags +EXPORT_SYMBOL vmlinux 0x8946e138 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x896c1cd8 bio_endio +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x898b5cc3 kmem_cache_name +EXPORT_SYMBOL vmlinux 0x89900972 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x89b6d40c sg_miter_stop +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89ed4fee mempool_destroy +EXPORT_SYMBOL vmlinux 0x8a0ba840 _spin_trylock +EXPORT_SYMBOL vmlinux 0x8a1203a9 kref_get +EXPORT_SYMBOL vmlinux 0x8a1e98b5 matroxfb_g450_setclk +EXPORT_SYMBOL vmlinux 0x8a2aaab5 nf_log_packet +EXPORT_SYMBOL vmlinux 0x8a351ffe set_bh_page +EXPORT_SYMBOL vmlinux 0x8a373fd7 twl4030_i2c_write +EXPORT_SYMBOL vmlinux 0x8a5cc7da da903x_query_status +EXPORT_SYMBOL vmlinux 0x8a630658 pci_clear_master +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8ac40297 iommu_area_free +EXPORT_SYMBOL vmlinux 0x8ada3c0b inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0x8adeda8a _spin_lock +EXPORT_SYMBOL vmlinux 0x8b1cd0d2 skb_dma_unmap +EXPORT_SYMBOL vmlinux 0x8b35e873 sg_last +EXPORT_SYMBOL vmlinux 0x8b559879 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x8b69eb34 matroxfb_read_pins +EXPORT_SYMBOL vmlinux 0x8b6ff1e0 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x8b7fe311 kmemdup +EXPORT_SYMBOL vmlinux 0x8b84acaf read_cache_page_async +EXPORT_SYMBOL vmlinux 0x8b943b72 free_task +EXPORT_SYMBOL vmlinux 0x8b966b63 sn_rtc_cycles_per_second +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8ba95498 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x8bb342f4 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x8bcbb090 dev_gro_receive +EXPORT_SYMBOL vmlinux 0x8bd5b603 param_get_long +EXPORT_SYMBOL vmlinux 0x8bf14fa0 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x8bf9419d save_mount_options +EXPORT_SYMBOL vmlinux 0x8c092043 alloc_disk_node +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c18a3b1 cdev_alloc +EXPORT_SYMBOL vmlinux 0x8c3ab018 kernel_read +EXPORT_SYMBOL vmlinux 0x8c537c45 posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x8c8ca845 init_net +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8cf362f2 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x8d04b6db register_qdisc +EXPORT_SYMBOL vmlinux 0x8d0a9c48 may_umount +EXPORT_SYMBOL vmlinux 0x8d0d627c inet_del_protocol +EXPORT_SYMBOL vmlinux 0x8d19d9cb pcim_enable_device +EXPORT_SYMBOL vmlinux 0x8d223963 truncate_pagecache +EXPORT_SYMBOL vmlinux 0x8d260bfb blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0x8d2d723f ia64_pal_call_static +EXPORT_SYMBOL vmlinux 0x8d3894f2 _ctype +EXPORT_SYMBOL vmlinux 0x8d40d6e3 qdisc_list_del +EXPORT_SYMBOL vmlinux 0x8d46105b inet_release +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d6a276b completion_done +EXPORT_SYMBOL vmlinux 0x8d8d96c6 acpi_get_sleep_type_data +EXPORT_SYMBOL vmlinux 0x8dd40fc6 ilookup +EXPORT_SYMBOL vmlinux 0x8deff76f set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x8e002cda acpi_remove_gpe_block +EXPORT_SYMBOL vmlinux 0x8e0b7743 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x8e2544a7 bd_claim +EXPORT_SYMBOL vmlinux 0x8e6b4030 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x8e763ae1 send_remote_softirq +EXPORT_SYMBOL vmlinux 0x8e879bb7 __vmalloc +EXPORT_SYMBOL vmlinux 0x8ea9dd18 notify_change +EXPORT_SYMBOL vmlinux 0x8ee69235 timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8ef15a47 lro_vlan_hwaccel_receive_skb +EXPORT_SYMBOL vmlinux 0x8ef18bf0 vlan_gro_receive +EXPORT_SYMBOL vmlinux 0x8f0a39cb d_rehash +EXPORT_SYMBOL vmlinux 0x8f111b11 set_disk_ro +EXPORT_SYMBOL vmlinux 0x8f25b34c nla_reserve +EXPORT_SYMBOL vmlinux 0x8f27c181 iunique +EXPORT_SYMBOL vmlinux 0x8f3ea775 security_path_truncate +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f48be5d ethtool_op_set_tso +EXPORT_SYMBOL vmlinux 0x8f5bdf37 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x8f6b7950 set_irq_data +EXPORT_SYMBOL vmlinux 0x8f7b4f9d vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x8fb2ce63 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x8fda20dc vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x90035333 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x9032409f i2c_transfer +EXPORT_SYMBOL vmlinux 0x903ab395 __moddi3 +EXPORT_SYMBOL vmlinux 0x904409c6 acpi_set_firmware_waking_vector +EXPORT_SYMBOL vmlinux 0x9064ae66 tty_name +EXPORT_SYMBOL vmlinux 0x9071de2c tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x907f247d dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x90904ef2 fd_install +EXPORT_SYMBOL vmlinux 0x909f997a km_policy_expired +EXPORT_SYMBOL vmlinux 0x90a1601f dmi_check_system +EXPORT_SYMBOL vmlinux 0x90d7f8a1 new_inode +EXPORT_SYMBOL vmlinux 0x91226a97 sock_i_ino +EXPORT_SYMBOL vmlinux 0x9144a8e2 ec_burst_disable +EXPORT_SYMBOL vmlinux 0x91481982 __ratelimit +EXPORT_SYMBOL vmlinux 0x914b7a99 unw_access_gr +EXPORT_SYMBOL vmlinux 0x91565842 dma_pool_create +EXPORT_SYMBOL vmlinux 0x915fdb68 con_is_bound +EXPORT_SYMBOL vmlinux 0x91749bab sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x91766c09 param_get_ulong +EXPORT_SYMBOL vmlinux 0x91790694 inode_set_bytes +EXPORT_SYMBOL vmlinux 0x91830a1a dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x919ca070 proc_mkdir +EXPORT_SYMBOL vmlinux 0x9211899a filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x9214ed8a param_get_bool +EXPORT_SYMBOL vmlinux 0x92349c62 vfs_get_dqblk +EXPORT_SYMBOL vmlinux 0x92392cd9 iov_shorten +EXPORT_SYMBOL vmlinux 0x9244ef27 get_super +EXPORT_SYMBOL vmlinux 0x925f6a47 journal_update_format +EXPORT_SYMBOL vmlinux 0x92af7ffd find_get_pages_tag +EXPORT_SYMBOL vmlinux 0x92ea4ae4 crc32_le +EXPORT_SYMBOL vmlinux 0x92ee7ef3 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x92ff67d7 input_flush_device +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x930647ab __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x930a0391 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x935662a5 bio_split +EXPORT_SYMBOL vmlinux 0x9369db51 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x9377ae8c tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x937958a6 mempool_resize +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93b00898 vfs_mkdir +EXPORT_SYMBOL vmlinux 0x93baad5c dm_table_get +EXPORT_SYMBOL vmlinux 0x93c2c4de call_usermodehelper_stdinpipe +EXPORT_SYMBOL vmlinux 0x93c651be acpi_info +EXPORT_SYMBOL vmlinux 0x93cddd48 udplite_prot +EXPORT_SYMBOL vmlinux 0x93e6dc96 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x93f7962f __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x943625ee single_open +EXPORT_SYMBOL vmlinux 0x944afa9e input_register_device +EXPORT_SYMBOL vmlinux 0x946a9096 genphy_suspend +EXPORT_SYMBOL vmlinux 0x946fd958 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x947d378b user_path_at +EXPORT_SYMBOL vmlinux 0x947e60e7 nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x94847b23 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94be50ab kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x94c0048c init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x94e7c96e __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x94ef7ebb journal_get_write_access +EXPORT_SYMBOL vmlinux 0x950c728c tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x950ffff2 cpu_online_mask +EXPORT_SYMBOL vmlinux 0x9512681a pci_set_consistent_dma_mask +EXPORT_SYMBOL vmlinux 0x95352ea9 acpi_check_mem_region +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x954cbb26 vsprintf +EXPORT_SYMBOL vmlinux 0x954eab1f bio_alloc +EXPORT_SYMBOL vmlinux 0x9551d6ee skb_trim +EXPORT_SYMBOL vmlinux 0x955d8b90 cdev_del +EXPORT_SYMBOL vmlinux 0x956d2b02 pci_enable_device +EXPORT_SYMBOL vmlinux 0x9584440a alloc_disk +EXPORT_SYMBOL vmlinux 0x95ceb864 key_update +EXPORT_SYMBOL vmlinux 0x95d1ddcd posix_acl_permission +EXPORT_SYMBOL vmlinux 0x95d50335 neigh_update +EXPORT_SYMBOL vmlinux 0x95e14d2b submit_bh +EXPORT_SYMBOL vmlinux 0x95e65a05 block_write_begin +EXPORT_SYMBOL vmlinux 0x96188a1d kmem_ptr_validate +EXPORT_SYMBOL vmlinux 0x962a4cc4 vfs_statfs +EXPORT_SYMBOL vmlinux 0x962ab963 qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0x962ea457 iget5_locked +EXPORT_SYMBOL vmlinux 0x9657fd40 bdget +EXPORT_SYMBOL vmlinux 0x96625c23 key_put +EXPORT_SYMBOL vmlinux 0x967a38d7 kthread_create +EXPORT_SYMBOL vmlinux 0x967c04cf unw_access_br +EXPORT_SYMBOL vmlinux 0x969caef2 pci_scan_slot +EXPORT_SYMBOL vmlinux 0x96e11743 bio_clone +EXPORT_SYMBOL vmlinux 0x96f0ebfd inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x9706f20e pci_read_vpd +EXPORT_SYMBOL vmlinux 0x97070cc8 dma_ops +EXPORT_SYMBOL vmlinux 0x9710c39f blk_stack_limits +EXPORT_SYMBOL vmlinux 0x972cbcb8 swiotlb_map_sg +EXPORT_SYMBOL vmlinux 0x973a4991 acpi_bus_generate_proc_event +EXPORT_SYMBOL vmlinux 0x974128d7 register_framebuffer +EXPORT_SYMBOL vmlinux 0x97468d03 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x9773634a kobject_del +EXPORT_SYMBOL vmlinux 0x97a56aab gen_pool_add +EXPORT_SYMBOL vmlinux 0x97bea381 netif_napi_add +EXPORT_SYMBOL vmlinux 0x97d73184 skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x97de0ddd acpi_install_gpe_block +EXPORT_SYMBOL vmlinux 0x980cc030 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x9828f748 swiotlb_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x9836a61e cont_write_begin +EXPORT_SYMBOL vmlinux 0x98371b60 phy_start +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x98cb032c matroxfb_g450_setpll_cond +EXPORT_SYMBOL vmlinux 0x98dfda29 jbd2_journal_update_format +EXPORT_SYMBOL vmlinux 0x98eb6385 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x98f55431 uncached_free_page +EXPORT_SYMBOL vmlinux 0x991cf5b9 journal_extend +EXPORT_SYMBOL vmlinux 0x9930b829 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0x99348239 skb_queue_purge +EXPORT_SYMBOL vmlinux 0x9935b055 generic_make_request +EXPORT_SYMBOL vmlinux 0x993e6e37 __next_cpu +EXPORT_SYMBOL vmlinux 0x99428311 down_trylock +EXPORT_SYMBOL vmlinux 0x995007b8 sget +EXPORT_SYMBOL vmlinux 0x99731cbb kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x9992f40e tty_check_change +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x9996031b skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99bf8aa7 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c7a8b8 jbd2_dev_to_name +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99dcef3a generic_setxattr +EXPORT_SYMBOL vmlinux 0x99ea12ce panic_blink +EXPORT_SYMBOL vmlinux 0x99f343b6 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x9a0924a6 vfs_quota_disable +EXPORT_SYMBOL vmlinux 0x9a19db20 down_interruptible +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a2736e6 free_buffer_head +EXPORT_SYMBOL vmlinux 0x9a310a80 acpi_enter_sleep_state_s4bios +EXPORT_SYMBOL vmlinux 0x9a64aa88 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x9a7dc5c4 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x9a9ded9f override_creds +EXPORT_SYMBOL vmlinux 0x9aa5f09b dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x9aabc564 crc16 +EXPORT_SYMBOL vmlinux 0x9aabca5e xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x9abfb6dd max_low_pfn +EXPORT_SYMBOL vmlinux 0x9ada5c8a d_find_alias +EXPORT_SYMBOL vmlinux 0x9af43c4f blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x9b02c91e inet_frag_find +EXPORT_SYMBOL vmlinux 0x9b089cc2 _write_lock +EXPORT_SYMBOL vmlinux 0x9b1f6fd4 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b54c0ee nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x9b770433 __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9baa0b1e d_validate +EXPORT_SYMBOL vmlinux 0x9baff422 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x9bb5070a scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x9be379cd skb_find_text +EXPORT_SYMBOL vmlinux 0x9c012508 fb_parse_edid +EXPORT_SYMBOL vmlinux 0x9c05e419 mapping_tagged +EXPORT_SYMBOL vmlinux 0x9c0ea3cd memscan +EXPORT_SYMBOL vmlinux 0x9c382170 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x9c3c9979 __blk_run_queue +EXPORT_SYMBOL vmlinux 0x9c43289e tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x9c491f60 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x9c4941f6 sock_no_listen +EXPORT_SYMBOL vmlinux 0x9c601927 dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x9c79c1b1 dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x9c7c6568 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x9c8deea0 alloc_hippi_dev +EXPORT_SYMBOL vmlinux 0x9c9fb71e xfrm_bundle_ok +EXPORT_SYMBOL vmlinux 0x9ca95a0e sort +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9ce1f7da vga_client_register +EXPORT_SYMBOL vmlinux 0x9ce813f2 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x9d33ef5e acpi_enable +EXPORT_SYMBOL vmlinux 0x9d34ef61 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d6f01aa give_up_console +EXPORT_SYMBOL vmlinux 0x9db21624 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x9dc8652b blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x9dd6fc52 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x9de6b292 matrox_mystique +EXPORT_SYMBOL vmlinux 0x9de8c570 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x9e054a97 tty_port_close +EXPORT_SYMBOL vmlinux 0x9e088c8e dev_addr_add +EXPORT_SYMBOL vmlinux 0x9e363b6b acpi_disable_gpe +EXPORT_SYMBOL vmlinux 0x9e3cc6ed journal_get_create_access +EXPORT_SYMBOL vmlinux 0x9e451457 keyring_clear +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ea0ad49 __sg_free_table +EXPORT_SYMBOL vmlinux 0x9ea0c9d4 aio_put_req +EXPORT_SYMBOL vmlinux 0x9ea28ec7 acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0x9ebd4c04 adjust_resource +EXPORT_SYMBOL vmlinux 0x9edbecae snprintf +EXPORT_SYMBOL vmlinux 0x9eecde16 do_brk +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f2d613e param_set_bool +EXPORT_SYMBOL vmlinux 0x9f306480 dev_remove_pack +EXPORT_SYMBOL vmlinux 0x9f3b29fa down_timeout +EXPORT_SYMBOL vmlinux 0x9f4c1254 bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x9f68fdb1 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x9f87adf7 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa4256d inode_needs_sync +EXPORT_SYMBOL vmlinux 0x9fb01fd5 pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0x9fc432e9 sk_run_filter +EXPORT_SYMBOL vmlinux 0x9fe3defe vfs_quota_on_path +EXPORT_SYMBOL vmlinux 0x9fe490cb soft_cursor +EXPORT_SYMBOL vmlinux 0xa002393b wake_up_process +EXPORT_SYMBOL vmlinux 0xa005af0e __napi_schedule +EXPORT_SYMBOL vmlinux 0xa02f1632 tty_port_close_end +EXPORT_SYMBOL vmlinux 0xa03523d5 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xa0496946 register_netdevice +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa0528bd3 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa0a678fa pci_save_state +EXPORT_SYMBOL vmlinux 0xa0b011c0 tty_vhangup +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0c74c89 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0d3d560 ksize +EXPORT_SYMBOL vmlinux 0xa0d595f5 remove_arg_zero +EXPORT_SYMBOL vmlinux 0xa0e8462c fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0xa0f911fc unregister_filesystem +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa10442ff simple_release_fs +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa10a349f nf_setsockopt +EXPORT_SYMBOL vmlinux 0xa11fac34 uncached_alloc_page +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa13315c9 block_read_full_page +EXPORT_SYMBOL vmlinux 0xa13798f8 printk_ratelimit +EXPORT_SYMBOL vmlinux 0xa1642611 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1ba4b95 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1cb582a seq_release_private +EXPORT_SYMBOL vmlinux 0xa1cea0b8 proc_dointvec +EXPORT_SYMBOL vmlinux 0xa1d2934d sn_hwperf_get_nearest_node +EXPORT_SYMBOL vmlinux 0xa1df6896 __bforget +EXPORT_SYMBOL vmlinux 0xa20424b8 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0xa204e9f7 fput +EXPORT_SYMBOL vmlinux 0xa20a93cf devm_ioport_map +EXPORT_SYMBOL vmlinux 0xa20b5723 sync_inode +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa217e1e8 pci_remove_bus +EXPORT_SYMBOL vmlinux 0xa2240d1f dm_table_get_md +EXPORT_SYMBOL vmlinux 0xa234d940 netif_device_detach +EXPORT_SYMBOL vmlinux 0xa2640294 ilookup5 +EXPORT_SYMBOL vmlinux 0xa2755c7b fpswa_interface +EXPORT_SYMBOL vmlinux 0xa28e76e6 schedule_work +EXPORT_SYMBOL vmlinux 0xa28f4ea8 vfs_quota_on +EXPORT_SYMBOL vmlinux 0xa29b1708 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2bcc34a dm_io +EXPORT_SYMBOL vmlinux 0xa2e63c9b unregister_binfmt +EXPORT_SYMBOL vmlinux 0xa2eb80ec pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0xa2ec487c skb_pad +EXPORT_SYMBOL vmlinux 0xa2f24785 machvec_timer_interrupt +EXPORT_SYMBOL vmlinux 0xa319fa60 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0xa329f07e register_shrinker +EXPORT_SYMBOL vmlinux 0xa32e6f85 is_bad_inode +EXPORT_SYMBOL vmlinux 0xa3312383 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa33f7c7c nla_strlcpy +EXPORT_SYMBOL vmlinux 0xa3437acc framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xa35a9b06 bio_integrity_endio +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa366945d seq_bitmap_list +EXPORT_SYMBOL vmlinux 0xa369ca6e pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0xa37570b9 km_state_notify +EXPORT_SYMBOL vmlinux 0xa3761267 simple_transaction_set +EXPORT_SYMBOL vmlinux 0xa39b4cf2 udelay +EXPORT_SYMBOL vmlinux 0xa3a01c9d pnp_possible_config +EXPORT_SYMBOL vmlinux 0xa3bbcd80 acpi_set_gpe_type +EXPORT_SYMBOL vmlinux 0xa3c4940d blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0xa3e1fab5 __elv_add_request +EXPORT_SYMBOL vmlinux 0xa3e771b1 tc_classify +EXPORT_SYMBOL vmlinux 0xa3ed80c6 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0xa4215023 __rta_fill +EXPORT_SYMBOL vmlinux 0xa4257219 mpage_readpage +EXPORT_SYMBOL vmlinux 0xa43367f7 file_remove_suid +EXPORT_SYMBOL vmlinux 0xa443cfb0 phy_driver_register +EXPORT_SYMBOL vmlinux 0xa44ae662 write_one_page +EXPORT_SYMBOL vmlinux 0xa44fffc1 schedule +EXPORT_SYMBOL vmlinux 0xa45fc3c5 bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0xa4757589 kernel_accept +EXPORT_SYMBOL vmlinux 0xa494a837 xrlim_allow +EXPORT_SYMBOL vmlinux 0xa4ab2868 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xa4b0159b writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4ba7036 serio_unregister_port +EXPORT_SYMBOL vmlinux 0xa4c08068 find_get_page +EXPORT_SYMBOL vmlinux 0xa4c49a02 sn_pci_unfixup_slot +EXPORT_SYMBOL vmlinux 0xa4d1600a napi_gro_flush +EXPORT_SYMBOL vmlinux 0xa4f5982d __kfifo_put +EXPORT_SYMBOL vmlinux 0xa503e741 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0xa5130e70 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xa5173b6b blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0xa52d8a90 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0xa55e4495 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xa57003b0 bit_waitqueue +EXPORT_SYMBOL vmlinux 0xa5808bbf tasklet_init +EXPORT_SYMBOL vmlinux 0xa58b6804 nla_parse +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa59e1d3c sock_get_timestampns +EXPORT_SYMBOL vmlinux 0xa5cebfed dev_base_lock +EXPORT_SYMBOL vmlinux 0xa5e7d77b ip_fragment +EXPORT_SYMBOL vmlinux 0xa5faba0d mempool_alloc +EXPORT_SYMBOL vmlinux 0xa603c5cb mutex_trylock +EXPORT_SYMBOL vmlinux 0xa61c0631 bh_submit_read +EXPORT_SYMBOL vmlinux 0xa67a7796 genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6cf4d14 phy_attach_direct +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6ecc923 inet_getname +EXPORT_SYMBOL vmlinux 0xa6f35598 eth_header +EXPORT_SYMBOL vmlinux 0xa725bb44 d_obtain_alias +EXPORT_SYMBOL vmlinux 0xa72a0f5b nr_online_nodes +EXPORT_SYMBOL vmlinux 0xa73ff7e9 simple_transaction_read +EXPORT_SYMBOL vmlinux 0xa75b2363 __first_cpu +EXPORT_SYMBOL vmlinux 0xa76e0931 genphy_config_advert +EXPORT_SYMBOL vmlinux 0xa78a744b setup_arg_pages +EXPORT_SYMBOL vmlinux 0xa794ce98 pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0xa794e05b security_task_getsecid +EXPORT_SYMBOL vmlinux 0xa79bff2d hpage_shift +EXPORT_SYMBOL vmlinux 0xa7c36239 security_path_link +EXPORT_SYMBOL vmlinux 0xa7eabff7 vga_put +EXPORT_SYMBOL vmlinux 0xa7f6c37d ethtool_op_get_tso +EXPORT_SYMBOL vmlinux 0xa800ea54 textsearch_unregister +EXPORT_SYMBOL vmlinux 0xa81f2976 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xa825f113 km_report +EXPORT_SYMBOL vmlinux 0xa833d520 make_bad_inode +EXPORT_SYMBOL vmlinux 0xa84f6b1b __any_online_cpu +EXPORT_SYMBOL vmlinux 0xa861f200 elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0xa883c49d dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xa886a958 krealloc +EXPORT_SYMBOL vmlinux 0xa88b73b2 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xa89cd8fa pci_scan_bridge +EXPORT_SYMBOL vmlinux 0xa8a6f639 __check_region +EXPORT_SYMBOL vmlinux 0xa8d68abd acpi_warning +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa9313af9 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0xa9360a75 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0xa945757b tcp_v4_remember_stamp +EXPORT_SYMBOL vmlinux 0xa95c5a2e pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0xa9dfffc6 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xa9f30d5a kick_iocb +EXPORT_SYMBOL vmlinux 0xaa062331 put_mnt_ns +EXPORT_SYMBOL vmlinux 0xaa2b6339 pci_choose_state +EXPORT_SYMBOL vmlinux 0xaa3bc2b8 keyring_search +EXPORT_SYMBOL vmlinux 0xaa4ff351 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0xaa789174 tcp_v4_md5_do_add +EXPORT_SYMBOL vmlinux 0xaa871788 ll_rw_block +EXPORT_SYMBOL vmlinux 0xaa8e91d7 blk_plug_device_unlocked +EXPORT_SYMBOL vmlinux 0xaa9e9dd8 input_set_keycode +EXPORT_SYMBOL vmlinux 0xaad3f53d bio_unmap_user +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xaaff26a0 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0xab0e1470 __netdev_alloc_page +EXPORT_SYMBOL vmlinux 0xab4fe131 sk_alloc +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab6a837a input_get_keycode +EXPORT_SYMBOL vmlinux 0xaba9ff34 allocate_resource +EXPORT_SYMBOL vmlinux 0xabb9b401 dm_io_client_create +EXPORT_SYMBOL vmlinux 0xabbef1fe tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0xabc8e522 do_sync_write +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabd8e427 matroxfb_var2my +EXPORT_SYMBOL vmlinux 0xabe23450 idr_get_new +EXPORT_SYMBOL vmlinux 0xabe60347 acpi_unlock_battery_dir +EXPORT_SYMBOL vmlinux 0xabe9b14c ps2_handle_ack +EXPORT_SYMBOL vmlinux 0xabf8c97a jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac0bfa42 dst_destroy +EXPORT_SYMBOL vmlinux 0xac226dc5 matroxfb_unregister_driver +EXPORT_SYMBOL vmlinux 0xac383451 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0xac58ea5e acpi_unload_table_id +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac812950 sn_send_IPI_phys +EXPORT_SYMBOL vmlinux 0xaca8e25f poll_freewait +EXPORT_SYMBOL vmlinux 0xacb17851 bio_pair_release +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xaccddffa call_usermodehelper_pipe +EXPORT_SYMBOL vmlinux 0xacde2c1c release_firmware +EXPORT_SYMBOL vmlinux 0xace5d246 eth_mac_addr +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad0bface qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0xad11908c nf_log_unregister +EXPORT_SYMBOL vmlinux 0xad13c689 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xad32f90f simple_pin_fs +EXPORT_SYMBOL vmlinux 0xad8de1b3 acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0xad94bb7c register_console +EXPORT_SYMBOL vmlinux 0xad959c20 pci_iounmap +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadac46f5 __inet6_hash +EXPORT_SYMBOL vmlinux 0xadb23499 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0xadc5bd7c dev_get_stats +EXPORT_SYMBOL vmlinux 0xadd32c9a find_vma +EXPORT_SYMBOL vmlinux 0xadec0242 destroy_EII_client +EXPORT_SYMBOL vmlinux 0xae01b983 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xae048406 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xae0b099c wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0xae0ec0a8 __scm_destroy +EXPORT_SYMBOL vmlinux 0xae13f703 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xae4a1bda csum_tcpudp_nofold +EXPORT_SYMBOL vmlinux 0xae649140 _spin_trylock_bh +EXPORT_SYMBOL vmlinux 0xae670df7 slow_work_cancel +EXPORT_SYMBOL vmlinux 0xae92efac vfs_getattr +EXPORT_SYMBOL vmlinux 0xaecf99ac vfs_quota_on_mount +EXPORT_SYMBOL vmlinux 0xaed013b9 posix_acl_valid +EXPORT_SYMBOL vmlinux 0xaf24030e tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0xaf284f12 ps2_command +EXPORT_SYMBOL vmlinux 0xaf36a473 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0xaf401294 nf_afinfo +EXPORT_SYMBOL vmlinux 0xaf5f42a9 make_EII_client +EXPORT_SYMBOL vmlinux 0xaf6bbc60 machvec_setup +EXPORT_SYMBOL vmlinux 0xaf907da2 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0xafa1e20b tcf_hash_create +EXPORT_SYMBOL vmlinux 0xafc42a9f dquot_transfer +EXPORT_SYMBOL vmlinux 0xafe4cd59 default_llseek +EXPORT_SYMBOL vmlinux 0xafe82e10 strcspn +EXPORT_SYMBOL vmlinux 0xb00bad21 udp_poll +EXPORT_SYMBOL vmlinux 0xb00d5a73 blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0xb00ef5ac proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xb0231adb blkdev_put +EXPORT_SYMBOL vmlinux 0xb055d8da posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0xb07dfb3d acpi_remove_gpe_handler +EXPORT_SYMBOL vmlinux 0xb0a26782 skb_dma_map +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb10d3103 sock_wake_async +EXPORT_SYMBOL vmlinux 0xb11fa1ce strlcat +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb122c77a xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0xb14521dd blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0xb14b1ca9 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xb1547029 neigh_seq_start +EXPORT_SYMBOL vmlinux 0xb1645a2e sg_free_table +EXPORT_SYMBOL vmlinux 0xb177ef6b log_wait_commit +EXPORT_SYMBOL vmlinux 0xb17bb317 pci_enable_wake +EXPORT_SYMBOL vmlinux 0xb18e02c3 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1b54b16 inet_ioctl +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1e78b31 sk_dst_check +EXPORT_SYMBOL vmlinux 0xb1f32d3d ia64_max_iommu_merge_mask +EXPORT_SYMBOL vmlinux 0xb1f975aa unlock_kernel +EXPORT_SYMBOL vmlinux 0xb20ecf88 acpi_run_osc +EXPORT_SYMBOL vmlinux 0xb216bdd3 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0xb224fbe2 param_get_short +EXPORT_SYMBOL vmlinux 0xb22fe6a3 netdev_increment_features +EXPORT_SYMBOL vmlinux 0xb2393847 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0xb244e82d __lock_buffer +EXPORT_SYMBOL vmlinux 0xb249c669 put_io_context +EXPORT_SYMBOL vmlinux 0xb257a4f6 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb27b12da sn_partition_id +EXPORT_SYMBOL vmlinux 0xb2be3d57 skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0xb2c0352c tcf_hash_release +EXPORT_SYMBOL vmlinux 0xb2c197ff find_inode_number +EXPORT_SYMBOL vmlinux 0xb2d84568 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0xb2eb6aa1 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xb320f5b3 remap_pfn_range +EXPORT_SYMBOL vmlinux 0xb3284531 acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xb32dada0 task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0xb330fb5f jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xb34d4c2e acpi_terminate +EXPORT_SYMBOL vmlinux 0xb3541f9f genphy_read_status +EXPORT_SYMBOL vmlinux 0xb356e8ac unregister_netdevice +EXPORT_SYMBOL vmlinux 0xb35e1cec module_put +EXPORT_SYMBOL vmlinux 0xb384bb4f key_negate_and_link +EXPORT_SYMBOL vmlinux 0xb3a307c6 si_meminfo +EXPORT_SYMBOL vmlinux 0xb3c3998c udp_proc_unregister +EXPORT_SYMBOL vmlinux 0xb3e52ac6 call_usermodehelper_setkeys +EXPORT_SYMBOL vmlinux 0xb3ff1f69 free_pages_exact +EXPORT_SYMBOL vmlinux 0xb408abfc bio_phys_segments +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb42453d3 param_get_invbool +EXPORT_SYMBOL vmlinux 0xb4298f2b i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xb42c62c3 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0xb46b84a7 kernel_getpeername +EXPORT_SYMBOL vmlinux 0xb4964308 gen_pool_create +EXPORT_SYMBOL vmlinux 0xb4a096ec neigh_table_init +EXPORT_SYMBOL vmlinux 0xb4c2afa5 rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0xb4d023ea phy_start_interrupts +EXPORT_SYMBOL vmlinux 0xb4ef40e4 sn_acpi_slot_fixup +EXPORT_SYMBOL vmlinux 0xb5044271 vsscanf +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb5456cfa blk_rq_init +EXPORT_SYMBOL vmlinux 0xb58e1f0e block_fsync +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5bd2ba2 slow_work_enqueue +EXPORT_SYMBOL vmlinux 0xb5d082da sync_blockdev +EXPORT_SYMBOL vmlinux 0xb5d52c27 ec_transaction +EXPORT_SYMBOL vmlinux 0xb5e48e92 __kfifo_get +EXPORT_SYMBOL vmlinux 0xb600a5e6 arp_find +EXPORT_SYMBOL vmlinux 0xb6150e20 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0xb61bd858 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0xb6244511 sg_init_one +EXPORT_SYMBOL vmlinux 0xb658300d blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0xb66445a3 finish_wait +EXPORT_SYMBOL vmlinux 0xb66e56fb rtnl_notify +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb6a476a2 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6bffb99 kstat_irqs_cpu +EXPORT_SYMBOL vmlinux 0xb6cbe886 acpi_get_node +EXPORT_SYMBOL vmlinux 0xb6ed5f52 vfs_quota_sync +EXPORT_SYMBOL vmlinux 0xb6fb58fd nla_put +EXPORT_SYMBOL vmlinux 0xb741accc ethtool_op_set_tx_ipv6_csum +EXPORT_SYMBOL vmlinux 0xb746c0ef tcp_gro_receive +EXPORT_SYMBOL vmlinux 0xb758b225 acpi_disable_event +EXPORT_SYMBOL vmlinux 0xb7626675 skb_dequeue +EXPORT_SYMBOL vmlinux 0xb76fd626 splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0xb770c6e0 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xb78fd5aa tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0xb7978bc8 misc_register +EXPORT_SYMBOL vmlinux 0xb798b8e4 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0xb7c4f38f up_write +EXPORT_SYMBOL vmlinux 0xb7ccb3c7 twl4030_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xb7d1406c get_fs_type +EXPORT_SYMBOL vmlinux 0xb7d411d5 kern_mem_attribute +EXPORT_SYMBOL vmlinux 0xb7d80065 filemap_fdatawait +EXPORT_SYMBOL vmlinux 0xb7ece038 complete_request_key +EXPORT_SYMBOL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL vmlinux 0xb82f79ed blk_put_request +EXPORT_SYMBOL vmlinux 0xb844f5e9 neigh_parms_release +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb878bff7 simple_transaction_release +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8e0fd8a pci_disable_device +EXPORT_SYMBOL vmlinux 0xb8e6efc7 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0xb9154be3 ethtool_op_set_tx_csum +EXPORT_SYMBOL vmlinux 0xb91b9a90 kill_litter_super +EXPORT_SYMBOL vmlinux 0xb91e8bb1 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xb926e7f0 eth_type_trans +EXPORT_SYMBOL vmlinux 0xb9406d54 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xb9446042 _read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xb96e13f9 ethtool_op_get_sg +EXPORT_SYMBOL vmlinux 0xb97400bc ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb994f63d jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xb9957c12 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xb9bc95e3 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0xba1174f6 tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xba13770b skb_tx_hash +EXPORT_SYMBOL vmlinux 0xba2d8594 ec_read +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba4fea05 blk_integrity_register +EXPORT_SYMBOL vmlinux 0xba653b2f dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0xba7bd0aa __pagevec_release +EXPORT_SYMBOL vmlinux 0xba9719ae udp_lib_unhash +EXPORT_SYMBOL vmlinux 0xba9d592f dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xbaa2782a kstrndup +EXPORT_SYMBOL vmlinux 0xbaa8e9ba jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0xbaaab8ae timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xbabe85e6 bmap +EXPORT_SYMBOL vmlinux 0xbae5fbf9 qdisc_destroy +EXPORT_SYMBOL vmlinux 0xbafd7a8a fb_get_mode +EXPORT_SYMBOL vmlinux 0xbb0a1dcb xfrm_state_insert +EXPORT_SYMBOL vmlinux 0xbb0d1734 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0xbb167766 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb1fad6a flush_delayed_work +EXPORT_SYMBOL vmlinux 0xbb40d3f0 pcim_iounmap +EXPORT_SYMBOL vmlinux 0xbb429af4 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb6c69a6 pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0xbb88aa01 sock_no_connect +EXPORT_SYMBOL vmlinux 0xbb8fe6db mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0xbb95b536 input_open_device +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbc25e906 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0xbc3194af unw_unwind +EXPORT_SYMBOL vmlinux 0xbc49e8a0 blk_free_tags +EXPORT_SYMBOL vmlinux 0xbc4a0f94 open_bdev_exclusive +EXPORT_SYMBOL vmlinux 0xbc89c8d3 bdget_disk +EXPORT_SYMBOL vmlinux 0xbc92f641 inode_setattr +EXPORT_SYMBOL vmlinux 0xbc942206 elv_rb_add +EXPORT_SYMBOL vmlinux 0xbc97b5e6 pci_set_dma_mask +EXPORT_SYMBOL vmlinux 0xbcc2a73d do_sync_read +EXPORT_SYMBOL vmlinux 0xbcc52f02 acpi_unlock_ac_dir +EXPORT_SYMBOL vmlinux 0xbcd28e6f dm_register_target +EXPORT_SYMBOL vmlinux 0xbcfcd7e9 security_path_symlink +EXPORT_SYMBOL vmlinux 0xbd01612d insert_inode_locked +EXPORT_SYMBOL vmlinux 0xbd14ed7c neigh_event_ns +EXPORT_SYMBOL vmlinux 0xbd4f3456 key_revoke +EXPORT_SYMBOL vmlinux 0xbd5287ed pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0xbdaf5b07 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0xbdc5084a generic_unplug_device +EXPORT_SYMBOL vmlinux 0xbdc6009d mdiobus_register +EXPORT_SYMBOL vmlinux 0xbdc7fb98 tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0xbdd21294 lookup_bdev +EXPORT_SYMBOL vmlinux 0xbdf55e0b __bio_clone +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbe700e85 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0xbe70b3a0 kill_anon_super +EXPORT_SYMBOL vmlinux 0xbe852abd input_event +EXPORT_SYMBOL vmlinux 0xbeac598d tty_unregister_driver +EXPORT_SYMBOL vmlinux 0xbeb06896 unregister_key_type +EXPORT_SYMBOL vmlinux 0xbebb7610 unregister_quota_format +EXPORT_SYMBOL vmlinux 0xbec0ff85 journal_check_used_features +EXPORT_SYMBOL vmlinux 0xbed7ba7b tcf_em_register +EXPORT_SYMBOL vmlinux 0xbedce757 dquot_release_reserved_space +EXPORT_SYMBOL vmlinux 0xbeebd2b9 llc_add_pack +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf527067 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf80efd9 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0xbf845962 simple_transaction_get +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfb55fb6 netif_rx +EXPORT_SYMBOL vmlinux 0xbfba5589 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfcb7acc flush_signals +EXPORT_SYMBOL vmlinux 0xbffb443e blk_stop_queue +EXPORT_SYMBOL vmlinux 0xc003c637 __strncpy_from_user +EXPORT_SYMBOL vmlinux 0xc0044724 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xc0427c03 inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc06ac1af arp_xmit +EXPORT_SYMBOL vmlinux 0xc079886a sk_filter +EXPORT_SYMBOL vmlinux 0xc07d43ae acpi_evaluate_reference +EXPORT_SYMBOL vmlinux 0xc09651d9 crc32_be +EXPORT_SYMBOL vmlinux 0xc09f6c9c __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0b938b4 delayed_slow_work_enqueue +EXPORT_SYMBOL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL vmlinux 0xc0d88818 register_sysrq_key +EXPORT_SYMBOL vmlinux 0xc0fba19a sock_no_poll +EXPORT_SYMBOL vmlinux 0xc114c7ff __ps2_command +EXPORT_SYMBOL vmlinux 0xc17a9166 ip_dev_find +EXPORT_SYMBOL vmlinux 0xc19dab12 km_state_expired +EXPORT_SYMBOL vmlinux 0xc1e30651 _spin_unlock_bh +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc29d5343 sn_flush_all_caches +EXPORT_SYMBOL vmlinux 0xc2b1fc3c ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2fdc3ee blk_init_queue_node +EXPORT_SYMBOL vmlinux 0xc3120050 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0xc31424fc __alloc_skb +EXPORT_SYMBOL vmlinux 0xc316b98c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0xc32c5177 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0xc33b7c24 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0xc33f6f4c on_each_cpu +EXPORT_SYMBOL vmlinux 0xc3606f34 vm_insert_page +EXPORT_SYMBOL vmlinux 0xc3800647 __blk_end_request +EXPORT_SYMBOL vmlinux 0xc3ba48af pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0xc3bd892e _write_lock_bh +EXPORT_SYMBOL vmlinux 0xc3ce80db tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0xc3df066e __f_setown +EXPORT_SYMBOL vmlinux 0xc3e01f81 dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0xc3e91855 input_allocate_device +EXPORT_SYMBOL vmlinux 0xc3e96ced d_move +EXPORT_SYMBOL vmlinux 0xc3edc955 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xc402cc99 register_acpi_notifier +EXPORT_SYMBOL vmlinux 0xc40c6eee pci_find_bus +EXPORT_SYMBOL vmlinux 0xc42ee3c1 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0xc449c21e dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0xc44e6fab neigh_create +EXPORT_SYMBOL vmlinux 0xc45765ef tr_type_trans +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc499cc51 ethtool_op_get_tx_csum +EXPORT_SYMBOL vmlinux 0xc4f400b6 udp_ioctl +EXPORT_SYMBOL vmlinux 0xc523602d simple_rename +EXPORT_SYMBOL vmlinux 0xc52f5714 fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc55a0115 netif_rx_ni +EXPORT_SYMBOL vmlinux 0xc58b93ac get_sb_bdev +EXPORT_SYMBOL vmlinux 0xc591bfcb xfrm_init_state +EXPORT_SYMBOL vmlinux 0xc595de68 security_inode_init_security +EXPORT_SYMBOL vmlinux 0xc5a48b22 alloc_pci_dev +EXPORT_SYMBOL vmlinux 0xc5ae6145 per_cpu____sn_cnodeid_to_nasid +EXPORT_SYMBOL vmlinux 0xc60fde02 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0xc613e208 audit_log_end +EXPORT_SYMBOL vmlinux 0xc678c63e xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0xc6b31744 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xc6bd45bb tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xc6fea900 inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0xc722227e posix_acl_clone +EXPORT_SYMBOL vmlinux 0xc7278fa4 bio_map_kern +EXPORT_SYMBOL vmlinux 0xc736a7cd pci_unmap_rom +EXPORT_SYMBOL vmlinux 0xc73c76ac clocksource_unregister +EXPORT_SYMBOL vmlinux 0xc740c64a memchr +EXPORT_SYMBOL vmlinux 0xc76d10af console_stop +EXPORT_SYMBOL vmlinux 0xc783b7cf xor_ia64_5 +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc79e431b journal_forget +EXPORT_SYMBOL vmlinux 0xc7a24d76 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7bd3963 skb_make_writable +EXPORT_SYMBOL vmlinux 0xc7c5a880 poll_initwait +EXPORT_SYMBOL vmlinux 0xc7ec28b0 memcmp +EXPORT_SYMBOL vmlinux 0xc7fea6ae mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0xc833a868 seq_escape +EXPORT_SYMBOL vmlinux 0xc8477750 force_sig +EXPORT_SYMBOL vmlinux 0xc8559e3b test_set_page_writeback +EXPORT_SYMBOL vmlinux 0xc86fa40c prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xc88048da unregister_nls +EXPORT_SYMBOL vmlinux 0xc8922064 simple_empty +EXPORT_SYMBOL vmlinux 0xc8971259 dst_alloc +EXPORT_SYMBOL vmlinux 0xc897c382 sg_init_table +EXPORT_SYMBOL vmlinux 0xc89ff285 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0xc8a2b055 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8ca3e25 acpi_get_child +EXPORT_SYMBOL vmlinux 0xc8e771d2 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0xc905938a __nla_reserve +EXPORT_SYMBOL vmlinux 0xc92267a4 i2c_master_send +EXPORT_SYMBOL vmlinux 0xc9266a5a ia64_load_scratch_fpregs +EXPORT_SYMBOL vmlinux 0xc92a32ee lookup_one_len +EXPORT_SYMBOL vmlinux 0xc93845d8 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xc97ae628 get_io_context +EXPORT_SYMBOL vmlinux 0xc998d641 icmp_err_convert +EXPORT_SYMBOL vmlinux 0xc9a202b9 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xc9ab2eef acpi_os_wait_events_complete +EXPORT_SYMBOL vmlinux 0xc9b8592b tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xc9de24b1 phy_enable_interrupts +EXPORT_SYMBOL vmlinux 0xc9e9e2aa per_cpu____irq_regs +EXPORT_SYMBOL vmlinux 0xca01fbff genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0xca0f85d9 write_inode_now +EXPORT_SYMBOL vmlinux 0xca116950 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xca2a605a disk_stack_limits +EXPORT_SYMBOL vmlinux 0xca2bacd9 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xca39f3fe set_device_ro +EXPORT_SYMBOL vmlinux 0xca4ee2ec sock_create_lite +EXPORT_SYMBOL vmlinux 0xca677c35 sock_map_fd +EXPORT_SYMBOL vmlinux 0xca8acc78 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xcaa2a21c dev_addr_del +EXPORT_SYMBOL vmlinux 0xcaa9ecc7 copy_strings_kernel +EXPORT_SYMBOL vmlinux 0xcad74c4c pnp_stop_dev +EXPORT_SYMBOL vmlinux 0xcada54f3 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xcae9696c journal_set_features +EXPORT_SYMBOL vmlinux 0xcb00a4bd pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0xcb154a59 ps2_end_command +EXPORT_SYMBOL vmlinux 0xcb1bb358 __next_cpu_nr +EXPORT_SYMBOL vmlinux 0xcb22dd68 register_quota_format +EXPORT_SYMBOL vmlinux 0xcb54d3b4 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xcb68c119 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcb9563a8 vfs_get_dqinfo +EXPORT_SYMBOL vmlinux 0xcba19abb inet_sock_destruct +EXPORT_SYMBOL vmlinux 0xcbb9d7db groups_free +EXPORT_SYMBOL vmlinux 0xcbc74da4 zero_fill_bio +EXPORT_SYMBOL vmlinux 0xcbe3118f rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0xcbfe6008 cap_netlink_recv +EXPORT_SYMBOL vmlinux 0xcc07af75 strnlen +EXPORT_SYMBOL vmlinux 0xcc10580b bdi_register +EXPORT_SYMBOL vmlinux 0xcc1f87b6 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0xcc2db7a6 generic_file_mmap +EXPORT_SYMBOL vmlinux 0xcc2faa29 inet_frag_kill +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc4d8d5f key_unlink +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc60e853 bio_sector_offset +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc88e290 bio_integrity_free +EXPORT_SYMBOL vmlinux 0xccc87917 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xccd0fa41 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xcd098de4 dm_table_event +EXPORT_SYMBOL vmlinux 0xcd09b9e3 kthread_stop +EXPORT_SYMBOL vmlinux 0xcd0bc9f7 llc_build_and_send_ui_pkt +EXPORT_SYMBOL vmlinux 0xcd0e66d9 unw_access_pr +EXPORT_SYMBOL vmlinux 0xcd11aa84 kernel_sendpage +EXPORT_SYMBOL vmlinux 0xcd2e3663 napi_reuse_skb +EXPORT_SYMBOL vmlinux 0xcd34f6ae jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0xcd473329 memset_io +EXPORT_SYMBOL vmlinux 0xcd475893 vmap +EXPORT_SYMBOL vmlinux 0xcd7d9711 alloc_pages_current +EXPORT_SYMBOL vmlinux 0xcd82f70b pci_map_rom +EXPORT_SYMBOL vmlinux 0xcd994091 d_alloc +EXPORT_SYMBOL vmlinux 0xcda0b4ee neigh_lookup +EXPORT_SYMBOL vmlinux 0xcdc4d9f5 lock_rename +EXPORT_SYMBOL vmlinux 0xcdd3cad4 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0xcde070b2 sock_no_mmap +EXPORT_SYMBOL vmlinux 0xcdfde795 genphy_resume +EXPORT_SYMBOL vmlinux 0xce36ded6 sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xce4904a4 acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xce58af65 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce61363c unlock_buffer +EXPORT_SYMBOL vmlinux 0xce7bf4aa ethtool_op_get_rx_csum +EXPORT_SYMBOL vmlinux 0xce9c63fd udp_disconnect +EXPORT_SYMBOL vmlinux 0xceb401d7 kobject_init +EXPORT_SYMBOL vmlinux 0xcede2fa3 remove_proc_entry +EXPORT_SYMBOL vmlinux 0xcefb104d d_alloc_root +EXPORT_SYMBOL vmlinux 0xcf013370 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0xcf1d28ab acpi_error +EXPORT_SYMBOL vmlinux 0xcf2fc87e inet_frag_destroy +EXPORT_SYMBOL vmlinux 0xcf3339e0 phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0xcfa63a42 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xcfa8b136 mb_cache_shrink +EXPORT_SYMBOL vmlinux 0xcfb1faef register_con_driver +EXPORT_SYMBOL vmlinux 0xcfb9006e jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0xcfd00883 block_sync_page +EXPORT_SYMBOL vmlinux 0xcff53400 kref_put +EXPORT_SYMBOL vmlinux 0xcfff88d3 down_write +EXPORT_SYMBOL vmlinux 0xd00eb3c5 tty_insert_flip_string +EXPORT_SYMBOL vmlinux 0xd00f6b1d vfs_rmdir +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd058c87c bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0xd08197fa acpi_load_tables +EXPORT_SYMBOL vmlinux 0xd0920887 acpi_bus_start +EXPORT_SYMBOL vmlinux 0xd09caf73 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0xd0a6279d pci_assign_resource +EXPORT_SYMBOL vmlinux 0xd0b2fd8a fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xd0daf058 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd13f4c5c ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xd1472061 acpi_pci_register_driver +EXPORT_SYMBOL vmlinux 0xd1635d8c find_get_pages_contig +EXPORT_SYMBOL vmlinux 0xd166c042 __wait_on_bit +EXPORT_SYMBOL vmlinux 0xd1844a21 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0xd187c3c5 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xd18b6eb2 acpi_unmap_lsapic +EXPORT_SYMBOL vmlinux 0xd1927ce6 remove_inode_hash +EXPORT_SYMBOL vmlinux 0xd19bb294 acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0xd1c3d5bf create_proc_entry +EXPORT_SYMBOL vmlinux 0xd1f5fae7 pci_request_region +EXPORT_SYMBOL vmlinux 0xd1fe82eb call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0xd207021e sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xd21322eb skb_copy_expand +EXPORT_SYMBOL vmlinux 0xd226cfb4 i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0xd2281069 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0xd24256cb journal_load +EXPORT_SYMBOL vmlinux 0xd251d7b0 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xd2555f19 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xd25a0e5d free_netdev +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd27322e2 acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0xd27815bc jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd29b579b clear_inode +EXPORT_SYMBOL vmlinux 0xd2a6653e pci_get_class +EXPORT_SYMBOL vmlinux 0xd2a75ee0 dmi_first_match +EXPORT_SYMBOL vmlinux 0xd2f21279 vmtruncate +EXPORT_SYMBOL vmlinux 0xd2f8f80c skb_under_panic +EXPORT_SYMBOL vmlinux 0xd3035671 genl_register_ops +EXPORT_SYMBOL vmlinux 0xd325cf52 thaw_process +EXPORT_SYMBOL vmlinux 0xd360aa60 arp_send +EXPORT_SYMBOL vmlinux 0xd374f399 rtnl_unicast +EXPORT_SYMBOL vmlinux 0xd3951da4 acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0xd3af979c memdup_user +EXPORT_SYMBOL vmlinux 0xd3b324bf ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xd3b87a1b copy_io_context +EXPORT_SYMBOL vmlinux 0xd3dbc6e9 inet_csk_accept +EXPORT_SYMBOL vmlinux 0xd4295036 journal_release_buffer +EXPORT_SYMBOL vmlinux 0xd444b196 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xd44ab348 create_empty_buffers +EXPORT_SYMBOL vmlinux 0xd4564087 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0xd47bc4f6 genphy_update_link +EXPORT_SYMBOL vmlinux 0xd480680d nf_reinject +EXPORT_SYMBOL vmlinux 0xd494cb7b audit_log_format +EXPORT_SYMBOL vmlinux 0xd4c7eeec bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0xd4f81491 create_mnt_ns +EXPORT_SYMBOL vmlinux 0xd4fb58a4 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0xd50fef48 acpi_detach_data +EXPORT_SYMBOL vmlinux 0xd5196efa vfsmount_lock +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd5323b50 tty_port_hangup +EXPORT_SYMBOL vmlinux 0xd57450bc up_read +EXPORT_SYMBOL vmlinux 0xd57f8789 iommu_num_pages +EXPORT_SYMBOL vmlinux 0xd590c381 unw_unwind_to_user +EXPORT_SYMBOL vmlinux 0xd5942b85 vc_resize +EXPORT_SYMBOL vmlinux 0xd5a303dd mpage_readpages +EXPORT_SYMBOL vmlinux 0xd5c7c61d sysctl_string +EXPORT_SYMBOL vmlinux 0xd5d99a96 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd64bbe4c call_usermodehelper_setfns +EXPORT_SYMBOL vmlinux 0xd694c3d3 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0xd697691e kill_block_super +EXPORT_SYMBOL vmlinux 0xd69a2c53 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0xd6a78d08 smp_call_function_single +EXPORT_SYMBOL vmlinux 0xd6a8ded6 path_put +EXPORT_SYMBOL vmlinux 0xd6c20c53 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0xd6d03b92 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xd6d68c6b vm_stat +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f7401a dev_get_by_name +EXPORT_SYMBOL vmlinux 0xd70068e2 generic_listxattr +EXPORT_SYMBOL vmlinux 0xd71243c2 bd_set_size +EXPORT_SYMBOL vmlinux 0xd73ec6b7 directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0xd7671260 mdiobus_alloc +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd78d46fc alloc_tty_driver +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd7abc902 sk_reset_timer +EXPORT_SYMBOL vmlinux 0xd7cbe4a3 install_exec_creds +EXPORT_SYMBOL vmlinux 0xd7ef1694 per_cpu__local_per_cpu_offset +EXPORT_SYMBOL vmlinux 0xd7f41bd4 llc_sap_close +EXPORT_SYMBOL vmlinux 0xd82d9068 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xd83791bc nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd852f9a9 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0xd863068e invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8dc7689 unw_init_frame_info +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd9091363 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0xd935bbc7 ia64_mca_printk +EXPORT_SYMBOL vmlinux 0xd93cb8be sn_bus_free_sysdata +EXPORT_SYMBOL vmlinux 0xd951bf4f blk_register_region +EXPORT_SYMBOL vmlinux 0xd974c493 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd990171d i2c_clients_command +EXPORT_SYMBOL vmlinux 0xd9b91136 kernel_listen +EXPORT_SYMBOL vmlinux 0xd9bb8558 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0xd9d088a2 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0xd9ecbff9 _spin_lock_bh +EXPORT_SYMBOL vmlinux 0xd9f60946 napi_complete +EXPORT_SYMBOL vmlinux 0xd9fae332 dm_table_get_size +EXPORT_SYMBOL vmlinux 0xda0667c3 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0xda0a6b0e acpi_map_lsapic +EXPORT_SYMBOL vmlinux 0xda1a7335 kasprintf +EXPORT_SYMBOL vmlinux 0xda2e274a sn_generate_path +EXPORT_SYMBOL vmlinux 0xda3cfb01 add_timer +EXPORT_SYMBOL vmlinux 0xda4629e4 radix_tree_insert +EXPORT_SYMBOL vmlinux 0xda68f9d3 ip_setsockopt +EXPORT_SYMBOL vmlinux 0xda6bb280 have_submounts +EXPORT_SYMBOL vmlinux 0xda6d37f4 skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda7f4742 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xda971889 per_cpu__softnet_data +EXPORT_SYMBOL vmlinux 0xdab06726 __xfrm_lookup +EXPORT_SYMBOL vmlinux 0xdab59a96 unregister_snap_client +EXPORT_SYMBOL vmlinux 0xdac5cb86 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0xdb22ec6b sn_prom_feature_available +EXPORT_SYMBOL vmlinux 0xdb2d13e3 __break_lease +EXPORT_SYMBOL vmlinux 0xdb3b1b2f blk_start_queue +EXPORT_SYMBOL vmlinux 0xdb4f6c9e tcp_check_req +EXPORT_SYMBOL vmlinux 0xdb5c8104 complete_all +EXPORT_SYMBOL vmlinux 0xdbaa8db4 register_snap_client +EXPORT_SYMBOL vmlinux 0xdbaf106e xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdc053205 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0xdc0dead5 eth_header_parse +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc1865f1 tty_throttle +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc344c5d del_timer +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc477230 sn_io_addr +EXPORT_SYMBOL vmlinux 0xdca0e950 genl_register_family +EXPORT_SYMBOL vmlinux 0xdcb5671d strlen +EXPORT_SYMBOL vmlinux 0xdcb6a965 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xdd1777a1 udp_table +EXPORT_SYMBOL vmlinux 0xdd77e3cb sock_init_data +EXPORT_SYMBOL vmlinux 0xdd807961 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xddbf49a0 inode_init_always +EXPORT_SYMBOL vmlinux 0xddc0ff73 ether_setup +EXPORT_SYMBOL vmlinux 0xde31b902 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xde55624c devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0xde558e02 ia64_mlogbuf_dump +EXPORT_SYMBOL vmlinux 0xde6a91b7 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0xde75b689 set_irq_type +EXPORT_SYMBOL vmlinux 0xde76e7bc sys_close +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xde96c72b _write_trylock +EXPORT_SYMBOL vmlinux 0xdeaf1974 d_invalidate +EXPORT_SYMBOL vmlinux 0xdeb4b49e generic_getxattr +EXPORT_SYMBOL vmlinux 0xdef24a71 journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xdf0da3cc acpi_get_devices +EXPORT_SYMBOL vmlinux 0xdf2fb3ba kfifo_alloc +EXPORT_SYMBOL vmlinux 0xdf4b4979 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0xdf4c8767 ns_to_timeval +EXPORT_SYMBOL vmlinux 0xdf51bfca set_anon_super +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf616424 llc_sap_open +EXPORT_SYMBOL vmlinux 0xdf7f0f80 blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdfb7bada acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xdfb7c842 node_states +EXPORT_SYMBOL vmlinux 0xdfcbf590 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xdfdb0105 cpu_core_map +EXPORT_SYMBOL vmlinux 0xdff1ca61 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0xdff4e8f6 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xe0174ef7 do_splice_from +EXPORT_SYMBOL vmlinux 0xe02a4e41 unregister_con_driver +EXPORT_SYMBOL vmlinux 0xe04c12c1 generic_write_end +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe07827df prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0xe084d3d5 try_to_release_page +EXPORT_SYMBOL vmlinux 0xe09a8c05 swiotlb_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0xe0a2e5ef nf_register_hook +EXPORT_SYMBOL vmlinux 0xe0ac704a dm_table_unplug_all +EXPORT_SYMBOL vmlinux 0xe0ac8bd2 acpi_bus_generate_netlink_event +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0bc24a1 param_set_ushort +EXPORT_SYMBOL vmlinux 0xe0c56442 vfs_fstatat +EXPORT_SYMBOL vmlinux 0xe0dcb91c locks_remove_posix +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe128505e inode_add_bytes +EXPORT_SYMBOL vmlinux 0xe12a4be3 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0xe13c960c generic_show_options +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe1bf97c0 dq_data_lock +EXPORT_SYMBOL vmlinux 0xe1e87564 mpage_writepage +EXPORT_SYMBOL vmlinux 0xe2062b10 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0xe2323d80 __init_rwsem +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe24050c7 scnprintf +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe262b499 page_put_link +EXPORT_SYMBOL vmlinux 0xe26e62a6 d_instantiate +EXPORT_SYMBOL vmlinux 0xe27f8d3e dcache_readdir +EXPORT_SYMBOL vmlinux 0xe28392c6 acpi_device_hid +EXPORT_SYMBOL vmlinux 0xe29b04e9 acpi_set_firmware_waking_vector64 +EXPORT_SYMBOL vmlinux 0xe29cb7d0 percpu_counter_set +EXPORT_SYMBOL vmlinux 0xe2a32a7c _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0xe2cb1d7c matroxfb_vgaHWinit +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2d9bac6 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0xe301862d blk_get_request +EXPORT_SYMBOL vmlinux 0xe3351f0e __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xe339cf63 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0xe3782569 pci_get_bus_and_slot +EXPORT_SYMBOL vmlinux 0xe37f06c2 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0xe387eeff bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xe3b0192b vscnprintf +EXPORT_SYMBOL vmlinux 0xe3d600ea vm_insert_mixed +EXPORT_SYMBOL vmlinux 0xe3eeb060 dev_mc_delete +EXPORT_SYMBOL vmlinux 0xe3fbe148 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xe421d266 journal_init_dev +EXPORT_SYMBOL vmlinux 0xe43617f7 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0xe444bad5 acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe49fbcbc sock_no_bind +EXPORT_SYMBOL vmlinux 0xe4a5c893 xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0xe4aaaafd __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xe4e761b0 journal_restart +EXPORT_SYMBOL vmlinux 0xe4f1695e cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xe51c2208 DAC1064_global_init +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe526f136 __copy_user +EXPORT_SYMBOL vmlinux 0xe52d755f ia64_cpu_to_sapicid +EXPORT_SYMBOL vmlinux 0xe531450b simple_write_begin +EXPORT_SYMBOL vmlinux 0xe55e6a92 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe5a5240e register_exec_domain +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe5f6ea4f __tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0xe61e8a93 file_update_time +EXPORT_SYMBOL vmlinux 0xe62a15c7 module_layout +EXPORT_SYMBOL vmlinux 0xe63ce738 _write_lock_irqsave +EXPORT_SYMBOL vmlinux 0xe65318f3 tcf_register_action +EXPORT_SYMBOL vmlinux 0xe6533faf i2c_del_driver +EXPORT_SYMBOL vmlinux 0xe6889a1c tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0xe691521d iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe698a33a pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0xe69e0155 hwsw_dma_get_ops +EXPORT_SYMBOL vmlinux 0xe69ed21b tcp_proc_register +EXPORT_SYMBOL vmlinux 0xe6a1421d skb_copy_bits +EXPORT_SYMBOL vmlinux 0xe6a8ea4b hippi_type_trans +EXPORT_SYMBOL vmlinux 0xe6b8d19a check_disk_size_change +EXPORT_SYMBOL vmlinux 0xe6eb6251 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xe6f47a6c inet_stream_ops +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe714375c __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xe716baed acpi_unregister_ioapic +EXPORT_SYMBOL vmlinux 0xe76c50e5 d_prune_aliases +EXPORT_SYMBOL vmlinux 0xe77bb847 idr_replace +EXPORT_SYMBOL vmlinux 0xe79bfe54 napi_skb_finish +EXPORT_SYMBOL vmlinux 0xe7b6b5d3 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xe7bc2c60 blkdev_get +EXPORT_SYMBOL vmlinux 0xe7d24fa6 get_empty_filp +EXPORT_SYMBOL vmlinux 0xe7d2aca1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7d801ec lro_receive_frags +EXPORT_SYMBOL vmlinux 0xe8116e08 __kmalloc_node +EXPORT_SYMBOL vmlinux 0xe8567719 kset_unregister +EXPORT_SYMBOL vmlinux 0xe8679178 __divdi3 +EXPORT_SYMBOL vmlinux 0xe88b8783 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0xe892f4f7 generic_permission +EXPORT_SYMBOL vmlinux 0xe8962e87 cfb_copyarea +EXPORT_SYMBOL vmlinux 0xe8b439c0 qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0xe8bd3412 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0xe8c0de3d blk_queue_max_sectors +EXPORT_SYMBOL vmlinux 0xe90368b9 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0xe90c1b8d kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xe90dcae0 __request_module +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe92f1956 tcf_hash_search +EXPORT_SYMBOL vmlinux 0xe9558b80 tty_shutdown +EXPORT_SYMBOL vmlinux 0xe95dbb16 generic_fillattr +EXPORT_SYMBOL vmlinux 0xe96e872b sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xe96e891d pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0xe994312a dquot_destroy +EXPORT_SYMBOL vmlinux 0xe9953aa9 sn_system_size +EXPORT_SYMBOL vmlinux 0xe999605f matroxfb_DAC_in +EXPORT_SYMBOL vmlinux 0xe9ac5282 phy_start_aneg +EXPORT_SYMBOL vmlinux 0xe9afa771 mod_timer +EXPORT_SYMBOL vmlinux 0xe9c6aef4 down_read +EXPORT_SYMBOL vmlinux 0xe9cd0cbf get_sb_pseudo +EXPORT_SYMBOL vmlinux 0xe9f6dcf1 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea1a03e9 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0xea90bdd3 acpi_attach_data +EXPORT_SYMBOL vmlinux 0xeac0f15d tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0xeac3d289 blk_queue_max_hw_segments +EXPORT_SYMBOL vmlinux 0xead3248b dquot_commit_info +EXPORT_SYMBOL vmlinux 0xead58fb9 print_hex_dump +EXPORT_SYMBOL vmlinux 0xeb16163b io_space +EXPORT_SYMBOL vmlinux 0xeb3e8e4f inetdev_by_index +EXPORT_SYMBOL vmlinux 0xeb3f4a74 revalidate_disk +EXPORT_SYMBOL vmlinux 0xeb482501 phy_disconnect +EXPORT_SYMBOL vmlinux 0xeb5f6a58 blk_sync_queue +EXPORT_SYMBOL vmlinux 0xeb8f54b3 strstrip +EXPORT_SYMBOL vmlinux 0xeba5d90d __scm_send +EXPORT_SYMBOL vmlinux 0xebbf1dba strncasecmp +EXPORT_SYMBOL vmlinux 0xebd273a6 strict_strtoull +EXPORT_SYMBOL vmlinux 0xebe22ea8 no_llseek +EXPORT_SYMBOL vmlinux 0xec04ce53 simple_fill_super +EXPORT_SYMBOL vmlinux 0xec388149 dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0xec5bd8c8 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0xec69acf2 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0xec794ba0 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0xec98e521 devm_ioremap +EXPORT_SYMBOL vmlinux 0xeca05f22 __invalidate_device +EXPORT_SYMBOL vmlinux 0xecc974e4 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0xecdc5021 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0xeceb944d address_space_init_once +EXPORT_SYMBOL vmlinux 0xed0c3ac1 security_path_mkdir +EXPORT_SYMBOL vmlinux 0xed2c332f vfs_dq_transfer +EXPORT_SYMBOL vmlinux 0xed70c327 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0xed83d3b2 pcim_pin_device +EXPORT_SYMBOL vmlinux 0xed84d6e8 take_over_console +EXPORT_SYMBOL vmlinux 0xed9a539d ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xeda88a82 mempool_create_node +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedc6afc1 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0xee231bb9 netpoll_poll +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee4a6868 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0xee513b67 pnp_device_detach +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xee7f4fb2 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0xee92e749 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeeb8a24c xor_ia64_2 +EXPORT_SYMBOL vmlinux 0xeec3e8a2 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0xeec689f7 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0xeeceb077 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xeed1a1a9 redraw_screen +EXPORT_SYMBOL vmlinux 0xeedebeee init_timer_key +EXPORT_SYMBOL vmlinux 0xeeed4a9c tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0xef1607a1 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0xef3ed044 acpi_root_dir +EXPORT_SYMBOL vmlinux 0xef5cd862 per_cpu__cpu_info +EXPORT_SYMBOL vmlinux 0xef5f3fc5 del_gendisk +EXPORT_SYMBOL vmlinux 0xef6ed1ba param_set_invbool +EXPORT_SYMBOL vmlinux 0xef9aedfc boot_option_idle_override +EXPORT_SYMBOL vmlinux 0xef9f4f3d neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0xefcc179d d_path +EXPORT_SYMBOL vmlinux 0xefcd12f4 blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefe099c3 acpi_get_event_status +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf0096ca1 splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0xf016a885 touch_atime +EXPORT_SYMBOL vmlinux 0xf02851f9 simple_rmdir +EXPORT_SYMBOL vmlinux 0xf02afcb1 __brelse +EXPORT_SYMBOL vmlinux 0xf053a1f0 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0xf063d54c blk_alloc_queue +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf06b2a53 I_BDEV +EXPORT_SYMBOL vmlinux 0xf070930e elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0xf092fb99 pv_cpu_ops +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0f422dc dquot_alloc +EXPORT_SYMBOL vmlinux 0xf106ecb3 acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0xf107c920 block_commit_write +EXPORT_SYMBOL vmlinux 0xf10de535 ioread8 +EXPORT_SYMBOL vmlinux 0xf1127418 set_groups +EXPORT_SYMBOL vmlinux 0xf1394a2a __strlen_user +EXPORT_SYMBOL vmlinux 0xf144457e phy_attach +EXPORT_SYMBOL vmlinux 0xf16edaec tioca_gart_found +EXPORT_SYMBOL vmlinux 0xf174ed48 acquire_console_sem +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf19c4cb7 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0xf1a71d94 cfb_fillrect +EXPORT_SYMBOL vmlinux 0xf1ca102f vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e4166e __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf2010d3c pci_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0xf206c365 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf238d5c0 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0xf23d5a4a ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0xf284dac5 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0xf293fa28 do_mmap_pgoff +EXPORT_SYMBOL vmlinux 0xf2997713 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0xf29c6d87 bio_put +EXPORT_SYMBOL vmlinux 0xf2a79196 pagevec_lookup +EXPORT_SYMBOL vmlinux 0xf2a8087f cfb_imageblit +EXPORT_SYMBOL vmlinux 0xf2ba1667 serio_rescan +EXPORT_SYMBOL vmlinux 0xf2ccaf83 aio_complete +EXPORT_SYMBOL vmlinux 0xf30294d3 cdev_add +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf3447fd8 _write_unlock_bh +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf346fb4c consume_skb +EXPORT_SYMBOL vmlinux 0xf36fd0b9 ethtool_op_set_tx_hw_csum +EXPORT_SYMBOL vmlinux 0xf3760d55 ethtool_op_set_sg +EXPORT_SYMBOL vmlinux 0xf37728a9 sleep_on +EXPORT_SYMBOL vmlinux 0xf397b9aa __tasklet_schedule +EXPORT_SYMBOL vmlinux 0xf399ea3e matroxfb_wait_for_sync +EXPORT_SYMBOL vmlinux 0xf3a59506 unload_nls +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3e79076 matroxfb_register_driver +EXPORT_SYMBOL vmlinux 0xf3ff4eb8 fb_class +EXPORT_SYMBOL vmlinux 0xf4155811 inet_stream_connect +EXPORT_SYMBOL vmlinux 0xf41c79ce tcp_ioctl +EXPORT_SYMBOL vmlinux 0xf42bfe13 ida_remove +EXPORT_SYMBOL vmlinux 0xf436b874 arp_tbl +EXPORT_SYMBOL vmlinux 0xf4383c06 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf45f4414 tcp_read_sock +EXPORT_SYMBOL vmlinux 0xf467b7a9 f_setown +EXPORT_SYMBOL vmlinux 0xf49614d8 alloc_fddidev +EXPORT_SYMBOL vmlinux 0xf4bdbbd1 neigh_destroy +EXPORT_SYMBOL vmlinux 0xf4d1383b serio_close +EXPORT_SYMBOL vmlinux 0xf4d3620e ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f52f93 dqstats +EXPORT_SYMBOL vmlinux 0xf50576ba kobject_add +EXPORT_SYMBOL vmlinux 0xf50f01ee jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xf50f3673 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0xf5163860 fb_set_suspend +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf5492291 slow_work_register_user +EXPORT_SYMBOL vmlinux 0xf56a9c28 elevator_exit +EXPORT_SYMBOL vmlinux 0xf57682c8 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0xf58b8bc7 matroxfb_DAC_out +EXPORT_SYMBOL vmlinux 0xf5ad5d80 thaw_bdev +EXPORT_SYMBOL vmlinux 0xf5c9012e timespec_trunc +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf62507b2 sk_stop_timer +EXPORT_SYMBOL vmlinux 0xf66cc99b do_splice_to +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6cd7ebb nla_append +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf7016bf4 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0xf73f6180 fb_validate_mode +EXPORT_SYMBOL vmlinux 0xf74feeed jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf7616ea0 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf809abcf __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0xf81f8161 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0xf829abc2 kthread_bind +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82e3d47 acpi_initialize_objects +EXPORT_SYMBOL vmlinux 0xf82e3ed0 tty_devnum +EXPORT_SYMBOL vmlinux 0xf82fa188 misc_deregister +EXPORT_SYMBOL vmlinux 0xf85d110f mpage_writepages +EXPORT_SYMBOL vmlinux 0xf88e0ee2 acpi_get_table_header +EXPORT_SYMBOL vmlinux 0xf890fe7f pm_idle +EXPORT_SYMBOL vmlinux 0xf89e444a dquot_drop +EXPORT_SYMBOL vmlinux 0xf8a4a736 deactivate_super +EXPORT_SYMBOL vmlinux 0xf8c16e86 blk_complete_request +EXPORT_SYMBOL vmlinux 0xf900a606 fail_migrate_page +EXPORT_SYMBOL vmlinux 0xf94b681f __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xf989024d dev_queue_xmit +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9a53813 cad_pid +EXPORT_SYMBOL vmlinux 0xf9a6f789 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xf9d36af3 request_key_async +EXPORT_SYMBOL vmlinux 0xf9e8b6ce hippi_neigh_setup_dev +EXPORT_SYMBOL vmlinux 0xf9fbd497 journal_check_available_features +EXPORT_SYMBOL vmlinux 0xfa09390b security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0xfa362215 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0xfa4aad22 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xfa52aa13 lock_sock_nested +EXPORT_SYMBOL vmlinux 0xfa656d28 i2c_bit_add_numbered_bus +EXPORT_SYMBOL vmlinux 0xfa72d628 console_start +EXPORT_SYMBOL vmlinux 0xfa908648 sysctl_jiffies +EXPORT_SYMBOL vmlinux 0xfaae85bc __wake_up +EXPORT_SYMBOL vmlinux 0xfab4973b check_disk_change +EXPORT_SYMBOL vmlinux 0xfae6d206 key_validate +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb008a0c jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0xfb0443fb acpi_get_parent +EXPORT_SYMBOL vmlinux 0xfb0a582f journal_init_inode +EXPORT_SYMBOL vmlinux 0xfb0cf2e9 touch_all_softlockup_watchdogs +EXPORT_SYMBOL vmlinux 0xfb184e80 nf_getsockopt +EXPORT_SYMBOL vmlinux 0xfb3b7e5c dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xfb51a5ad vfs_link +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb7d9c45 __udivsi3 +EXPORT_SYMBOL vmlinux 0xfb910839 inet_put_port +EXPORT_SYMBOL vmlinux 0xfba3ff64 seq_bitmap +EXPORT_SYMBOL vmlinux 0xfbaa2c9d sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xfbaed910 mb_cache_create +EXPORT_SYMBOL vmlinux 0xfbb62db2 bio_copy_user +EXPORT_SYMBOL vmlinux 0xfbc18fec pci_iomap +EXPORT_SYMBOL vmlinux 0xfbc4a23d vfs_readdir +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfbe3b175 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc0b5a05 bdi_destroy +EXPORT_SYMBOL vmlinux 0xfc103adf backlight_force_update +EXPORT_SYMBOL vmlinux 0xfc1bd62e follow_down +EXPORT_SYMBOL vmlinux 0xfc2501cc _spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc42a416 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xfc4cebea __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xfc7f4047 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0xfc9c4d67 nf_unregister_hook +EXPORT_SYMBOL vmlinux 0xfca7d9e4 inet_frag_evictor +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcab1eeb nf_register_hooks +EXPORT_SYMBOL vmlinux 0xfcc092d1 kset_register +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd017995 sock_setsockopt +EXPORT_SYMBOL vmlinux 0xfd094d4f iget_locked +EXPORT_SYMBOL vmlinux 0xfd19eaeb memcpy_fromio +EXPORT_SYMBOL vmlinux 0xfd33b98b __page_symlink +EXPORT_SYMBOL vmlinux 0xfd56470a blk_recount_segments +EXPORT_SYMBOL vmlinux 0xfd6b7c14 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xfd7d7713 acpi_exception +EXPORT_SYMBOL vmlinux 0xfd8d6b8b blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0xfda85a7d request_threaded_irq +EXPORT_SYMBOL vmlinux 0xfdad16a2 pci_enable_msix +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfdde2bd2 pci_enable_bridges +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfe0b645d tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0xfe1d6ec3 dev_getbyhwaddr +EXPORT_SYMBOL vmlinux 0xfe258400 neigh_for_each +EXPORT_SYMBOL vmlinux 0xfe26fc7c nr_node_ids +EXPORT_SYMBOL vmlinux 0xfe2cdef6 bio_free +EXPORT_SYMBOL vmlinux 0xfe392bcd generic_segment_checks +EXPORT_SYMBOL vmlinux 0xfe422087 do_truncate +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe5d6c8f dget_locked +EXPORT_SYMBOL vmlinux 0xfe723cdd vfs_create +EXPORT_SYMBOL vmlinux 0xfe727452 bdevname +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe7c4287 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfed8efcc migrate_page +EXPORT_SYMBOL vmlinux 0xfedd35fc console_suspend_enabled +EXPORT_SYMBOL vmlinux 0xfee87344 audit_log_start +EXPORT_SYMBOL vmlinux 0xff074dd9 may_umount_tree +EXPORT_SYMBOL vmlinux 0xff1978c9 inet_bind +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff27745b qdisc_reset +EXPORT_SYMBOL vmlinux 0xff40664e netlink_unicast +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff7559e4 ioport_resource +EXPORT_SYMBOL vmlinux 0xff8ff70b put_disk +EXPORT_SYMBOL vmlinux 0xff964b25 param_set_int +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffb547e3 cdev_init +EXPORT_SYMBOL vmlinux 0xffc2fe00 clocksource_register +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xfff5d8a3 tty_register_ldisc +EXPORT_SYMBOL_GPL crypto/aes_generic 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL crypto/aes_generic 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x57e5b3fb crypto_aes_set_key +EXPORT_SYMBOL_GPL crypto/aes_generic 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xb75d1270 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x3f3798af async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xe89edc86 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xbbc6a343 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xe8af6c90 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x4a99e830 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x5945534f async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xa3439670 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x4cbc8f3e async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xbf4e3f42 async_xor_val +EXPORT_SYMBOL_GPL crypto/cryptd 0x1db8eddf cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x2d5950ec cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x4c5aa7f7 cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x9911be92 cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xa89a5156 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xc891f1f5 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xf7b2641f cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xfefc55c8 twofish_setkey +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL drivers/ata/libata 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL drivers/ata/libata 0x02731945 ata_sff_qc_issue +EXPORT_SYMBOL_GPL drivers/ata/libata 0x027ab491 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL drivers/ata/libata 0x027f72b5 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0323f508 ata_cable_unknown +EXPORT_SYMBOL_GPL drivers/ata/libata 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL drivers/ata/libata 0x03f25c2e ata_dummy_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0x04d18f88 sata_pmp_error_handler +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libata 0x05a8047d ata_bmdma_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0x05e4c043 ata_sff_port_start32 +EXPORT_SYMBOL_GPL drivers/ata/libata 0x07073ce0 ata_std_postreset +EXPORT_SYMBOL_GPL drivers/ata/libata 0x074f524d ata_sff_dma_pause +EXPORT_SYMBOL_GPL drivers/ata/libata 0x086b87f9 ata_sff_check_status +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0b4c474d ata_std_qc_defer +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0cf72df3 ata_bmdma_setup +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0e78e37d ata_cable_ignore +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0ebd32e8 ata_do_set_mode +EXPORT_SYMBOL_GPL drivers/ata/libata 0x100a2c81 ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL drivers/ata/libata 0x1646cf62 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL drivers/ata/libata 0x1a051602 ata_sff_tf_load +EXPORT_SYMBOL_GPL drivers/ata/libata 0x1d2da7d6 dev_attr_em_message_type +EXPORT_SYMBOL_GPL drivers/ata/libata 0x21f544ee ata_qc_complete_multiple +EXPORT_SYMBOL_GPL drivers/ata/libata 0x227ec3ef ata_pci_device_do_resume +EXPORT_SYMBOL_GPL drivers/ata/libata 0x22a5e9cf ata_scsi_simulate +EXPORT_SYMBOL_GPL drivers/ata/libata 0x2a1c5b1a dev_attr_em_message +EXPORT_SYMBOL_GPL drivers/ata/libata 0x3087c9aa ata_acpi_gtm +EXPORT_SYMBOL_GPL drivers/ata/libata 0x30e83149 sata_scr_valid +EXPORT_SYMBOL_GPL drivers/ata/libata 0x349f0d6e ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL drivers/ata/libata 0x370fb2a6 ata_bmdma_stop +EXPORT_SYMBOL_GPL drivers/ata/libata 0x37d38281 ata_sff_post_internal_cmd +EXPORT_SYMBOL_GPL drivers/ata/libata 0x3865b5d0 ata_base_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0x38a562c8 sata_scr_read +EXPORT_SYMBOL_GPL drivers/ata/libata 0x3c6cbb89 sata_link_resume +EXPORT_SYMBOL_GPL drivers/ata/libata 0x40902347 ata_link_online +EXPORT_SYMBOL_GPL drivers/ata/libata 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL drivers/ata/libata 0x40f794a2 ata_link_next +EXPORT_SYMBOL_GPL drivers/ata/libata 0x41421e1f ata_eh_qc_complete +EXPORT_SYMBOL_GPL drivers/ata/libata 0x43041365 ata_sas_port_init +EXPORT_SYMBOL_GPL drivers/ata/libata 0x431efbf1 ata_sg_init +EXPORT_SYMBOL_GPL drivers/ata/libata 0x43f50ac3 ata_sff_port_start +EXPORT_SYMBOL_GPL drivers/ata/libata 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL drivers/ata/libata 0x44dbc1a6 ata_sff_dev_select +EXPORT_SYMBOL_GPL drivers/ata/libata 0x455fd345 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL drivers/ata/libata 0x458f5f8a ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL drivers/ata/libata 0x4bc7de07 sata_scr_write +EXPORT_SYMBOL_GPL drivers/ata/libata 0x4c06adb1 ata_host_suspend +EXPORT_SYMBOL_GPL drivers/ata/libata 0x4fb7220d sata_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL drivers/ata/libata 0x5345a789 sata_pmp_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0x550486b8 ata_port_schedule_eh +EXPORT_SYMBOL_GPL drivers/ata/libata 0x5698140c sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL drivers/ata/libata 0x57720ee7 ata_ehi_push_desc +EXPORT_SYMBOL_GPL drivers/ata/libata 0x58a39763 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL drivers/ata/libata 0x5bc9271e ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL drivers/ata/libata 0x5e6b3b01 ata_host_start +EXPORT_SYMBOL_GPL drivers/ata/libata 0x5ec2bc81 ata_dev_pair +EXPORT_SYMBOL_GPL drivers/ata/libata 0x619c8587 ata_host_alloc +EXPORT_SYMBOL_GPL drivers/ata/libata 0x61bcc0e2 ata_sas_port_alloc +EXPORT_SYMBOL_GPL drivers/ata/libata 0x631dd3fd ata_qc_complete +EXPORT_SYMBOL_GPL drivers/ata/libata 0x64c8b311 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL drivers/ata/libata 0x66c37ebb ata_cable_sata +EXPORT_SYMBOL_GPL drivers/ata/libata 0x6913b3e6 ata_sas_slave_configure +EXPORT_SYMBOL_GPL drivers/ata/libata 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL drivers/ata/libata 0x6b6ac016 ata_sff_thaw +EXPORT_SYMBOL_GPL drivers/ata/libata 0x6c0ca587 ata_host_register +EXPORT_SYMBOL_GPL drivers/ata/libata 0x6dbd39db ata_port_freeze +EXPORT_SYMBOL_GPL drivers/ata/libata 0x6efc168c ata_slave_link_init +EXPORT_SYMBOL_GPL drivers/ata/libata 0x6f93c8a6 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL drivers/ata/libata 0x6fe1fed8 ata_sff_error_handler +EXPORT_SYMBOL_GPL drivers/ata/libata 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL drivers/ata/libata 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL drivers/ata/libata 0x7401ea70 ata_sff_postreset +EXPORT_SYMBOL_GPL drivers/ata/libata 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL drivers/ata/libata 0x75849d09 ata_host_detach +EXPORT_SYMBOL_GPL drivers/ata/libata 0x75d1b423 ata_dummy_port_info +EXPORT_SYMBOL_GPL drivers/ata/libata 0x76a185cd ata_host_activate +EXPORT_SYMBOL_GPL drivers/ata/libata 0x78596789 ata_bmdma_status +EXPORT_SYMBOL_GPL drivers/ata/libata 0x786bb5d7 ata_eh_qc_retry +EXPORT_SYMBOL_GPL drivers/ata/libata 0x7bb403e7 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL drivers/ata/libata 0x7d54b000 ata_do_dev_read_id +EXPORT_SYMBOL_GPL drivers/ata/libata 0x7dc4290e ata_eh_thaw_port +EXPORT_SYMBOL_GPL drivers/ata/libata 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL drivers/ata/libata 0x84201361 ata_bus_reset +EXPORT_SYMBOL_GPL drivers/ata/libata 0x855655c5 ata_port_pbar_desc +EXPORT_SYMBOL_GPL drivers/ata/libata 0x87cdc62f ata_cable_40wire +EXPORT_SYMBOL_GPL drivers/ata/libata 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL drivers/ata/libata 0x8f90a1c1 ata_cable_80wire +EXPORT_SYMBOL_GPL drivers/ata/libata 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL drivers/ata/libata 0x97d8580e ata_acpi_stm +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9842566f ata_pci_device_resume +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9a2f5548 ata_do_eh +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9ab278cc ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9c74576c ata_pci_bmdma_init +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9c927e3f __ata_ehi_push_desc +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9e4e8e17 ata_sff_irq_on +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9e6f6137 ata_sff_host_intr +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9fcdef30 ata_sff_softreset +EXPORT_SYMBOL_GPL drivers/ata/libata 0xa1d57f93 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL drivers/ata/libata 0xa24ff789 ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL drivers/ata/libata 0xa2973a1d ata_std_bios_param +EXPORT_SYMBOL_GPL drivers/ata/libata 0xa2eb8937 ata_sff_wait_ready +EXPORT_SYMBOL_GPL drivers/ata/libata 0xa45254c1 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL drivers/ata/libata 0xa72a1ed3 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL drivers/ata/libata 0xac18e675 ata_sff_exec_command +EXPORT_SYMBOL_GPL drivers/ata/libata 0xad2e05a7 ata_eh_freeze_port +EXPORT_SYMBOL_GPL drivers/ata/libata 0xaecf6917 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL drivers/ata/libata 0xaf3f6fe0 ata_sff_interrupt +EXPORT_SYMBOL_GPL drivers/ata/libata 0xaf88c22f sata_sff_hardreset +EXPORT_SYMBOL_GPL drivers/ata/libata 0xafbf6d8f ata_sff_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libata 0xaffd4285 pci_test_config_bits +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb08c1451 ata_pci_remove_one +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb7fe0ea6 ata_sff_irq_clear +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb86b082c dev_attr_sw_activity +EXPORT_SYMBOL_GPL drivers/ata/libata 0xbb1bd3e6 sata_async_notification +EXPORT_SYMBOL_GPL drivers/ata/libata 0xbbd39708 ata_wait_after_reset +EXPORT_SYMBOL_GPL drivers/ata/libata 0xbc005f81 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL drivers/ata/libata 0xbc062d42 ata_pci_device_suspend +EXPORT_SYMBOL_GPL drivers/ata/libata 0xbc136c2e ata_port_disable +EXPORT_SYMBOL_GPL drivers/ata/libata 0xbca10baa ata_pio_need_iordy +EXPORT_SYMBOL_GPL drivers/ata/libata 0xbd873045 ata_sff_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL drivers/ata/libata 0xbe3401ee ata_timing_compute +EXPORT_SYMBOL_GPL drivers/ata/libata 0xbe6789c6 ata_port_probe +EXPORT_SYMBOL_GPL drivers/ata/libata 0xbe97fd32 ata_sff_prereset +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc0509456 ata_std_prereset +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc2644386 dev_attr_unload_heads +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc2cbcfcf ata_sff_data_xfer +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc5f875ce sata_link_hardreset +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc6457928 ata_sff_hsm_move +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc673e23e ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc798b393 ata_sff_tf_read +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc83d8d73 ata_port_start +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc8f1bd71 ata_port_desc +EXPORT_SYMBOL_GPL drivers/ata/libata 0xca9b2665 ata_noop_qc_prep +EXPORT_SYMBOL_GPL drivers/ata/libata 0xcb3f6fcd ata_scsi_ioctl +EXPORT_SYMBOL_GPL drivers/ata/libata 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL drivers/ata/libata 0xcdad3b42 ata_host_resume +EXPORT_SYMBOL_GPL drivers/ata/libata 0xd1554401 ata_host_init +EXPORT_SYMBOL_GPL drivers/ata/libata 0xd16d555c ata_sas_port_stop +EXPORT_SYMBOL_GPL drivers/ata/libata 0xd3f0b622 ata_std_error_handler +EXPORT_SYMBOL_GPL drivers/ata/libata 0xd4329cee ata_sas_port_start +EXPORT_SYMBOL_GPL drivers/ata/libata 0xd5680c2a ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0xd71c698b sata_link_debounce +EXPORT_SYMBOL_GPL drivers/ata/libata 0xd7911e24 ata_sas_port_destroy +EXPORT_SYMBOL_GPL drivers/ata/libata 0xd92be99c ata_port_abort +EXPORT_SYMBOL_GPL drivers/ata/libata 0xd977d24b sata_scr_write_flush +EXPORT_SYMBOL_GPL drivers/ata/libata 0xdc194b1b ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL drivers/ata/libata 0xdc29617e ata_bmdma_start +EXPORT_SYMBOL_GPL drivers/ata/libata 0xe0375ee7 ata_sff_qc_prep +EXPORT_SYMBOL_GPL drivers/ata/libata 0xe40fd50a ata_dev_disable +EXPORT_SYMBOL_GPL drivers/ata/libata 0xe49ff3b0 ata_wait_register +EXPORT_SYMBOL_GPL drivers/ata/libata 0xe5e853b0 sata_set_spd +EXPORT_SYMBOL_GPL drivers/ata/libata 0xe66eed73 sata_std_hardreset +EXPORT_SYMBOL_GPL drivers/ata/libata 0xe9772413 ata_bmdma_mode_filter +EXPORT_SYMBOL_GPL drivers/ata/libata 0xe9ca0192 ata_pio_queue_task +EXPORT_SYMBOL_GPL drivers/ata/libata 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL drivers/ata/libata 0xebe4b0fb ata_sff_dumb_qc_prep +EXPORT_SYMBOL_GPL drivers/ata/libata 0xed2128c0 ata_sas_queuecmd +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf0642711 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf2dd18a3 ata_sff_pause +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf54e97de ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf6b8815b ata_sff_freeze +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL drivers/ata/libata 0xfa0fe04f ata_dev_next +EXPORT_SYMBOL_GPL drivers/ata/libata 0xfed58e96 ata_link_abort +EXPORT_SYMBOL_GPL drivers/ata/libata 0xff60a543 ata_link_offline +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0x6600d6de 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/bluetooth/btmrvl 0x53bf110b btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x70b9e386 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x9055fbd7 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xc5e15647 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xc6cd6553 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xd6aafe52 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0x72ee6140 agp_add_bridge +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0xc2b415da agp_remove_bridge +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x06607580 tpm_show_pcrs +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x0f9d0b35 tpm_show_caps +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x1b8a0457 tpm_dev_vendor_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x1f068d18 tpm_continue_selftest +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x2165051d tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x2a5314a3 tpm_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x44d6d307 tpm_show_active +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x518ee65b tpm_pm_suspend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x568e67e9 tpm_show_owned +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x5eb503f4 tpm_write +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x6229bccf tpm_show_pubek +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x6a10f2d5 tpm_show_enabled +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x7d47f449 tpm_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x8f0de809 tpm_remove_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x95e09114 tpm_pm_resume +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xa6b262c1 tpm_dev_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xc90bdf86 tpm_open +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xcb6e16c6 tpm_store_cancel +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xd497c978 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xd7ef63b7 tpm_show_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xdfe51a55 tpm_get_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xf684bf38 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xf6c7ee8b tpm_register_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xfb45d8b6 tpm_gen_interrupt +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm_bios 0x40acf952 tpm_bios_log_setup +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm_bios 0xdc865a4a tpm_bios_log_teardown +EXPORT_SYMBOL_GPL drivers/connector/cn 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL drivers/connector/cn 0xcf7a962e cn_add_callback +EXPORT_SYMBOL_GPL drivers/connector/cn 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x556c89f8 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x90ac1022 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/hid/hid 0x041267a5 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0911bac8 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0e1802d2 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1956298f hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1ababa27 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1deb278f hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3a19477d hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3ac62121 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4051d4b3 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5515b9c0 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x558218ca hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x56fe665d hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6c02e2e9 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8f3c3f49 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9d6e2522 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb20d46b5 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb523e9da hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbf80eb29 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc0b2397e hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd1b48168 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd2604dca hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd6cacb11 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xedbee0fa hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf3356497 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf7b2c85d hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x2abfa7eb usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x772aa2f2 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xe16b833c usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x11c4e435 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x6c33e494 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x888ecc3e lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x9f51d7a8 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xa53f4f39 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xbd319f17 lis3_dev +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xe6af28c8 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0x4035f6c7 hpsb_config_rom_ip1394_remove +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0x76f74f41 hpsb_config_rom_ip1394_add +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xec8d18cf hpsb_disable_irm +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x48f19747 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x05bcdcef wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x072773da wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x1f065b0d wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x49532ab5 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x61379caa wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x615f2d9c wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xa74cf5ee wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb355223b wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xc5689cf8 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xc916dc71 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xd4a8c12b wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xe79802a5 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/leds/led-class 0x1d95a69a led_classdev_register +EXPORT_SYMBOL_GPL drivers/leds/led-class 0x37265dd3 led_classdev_suspend +EXPORT_SYMBOL_GPL drivers/leds/led-class 0x3e299567 led_classdev_resume +EXPORT_SYMBOL_GPL drivers/leds/led-class 0x8f884b49 led_classdev_unregister +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x108da943 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xb8fe07aa dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x0e1dd801 dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3884f389 dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x42f28a1c dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x50b2d824 dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5734d67a dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5960fb42 dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5eb480d3 dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7decced3 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x82b69441 dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x843ac551 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x85ee9e0f dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x875fde87 dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xabffc9ee dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xac1de876 dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xce783b34 dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd0a02b4c dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd38d025a dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xe4a9e892 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xe65a2148 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf77a86ff dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfd9ae43b dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/md-mod 0x283dcf20 md_new_event +EXPORT_SYMBOL_GPL drivers/md/md-mod 0x392797f0 md_do_sync +EXPORT_SYMBOL_GPL drivers/md/md-mod 0x9b9c65ba sync_page_io +EXPORT_SYMBOL_GPL drivers/md/md-mod 0xd3205565 md_allow_write +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x24935f26 raid6_call +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0xcdc24ab5 raid6_2data_recov +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0xdbab0c01 raid6_datap_recov +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0349c9bd ir_codes_proteus_2309_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0366dcdf ir_codes_videomate_s350_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x110b053a ir_codes_pixelview_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x124cb753 ir_codes_encore_enltv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x183fdfdd ir_codes_gotview7135_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19b4d61c ir_codes_nebula_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19cd2826 ir_codes_behold_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1a9009d6 ir_codes_dm1105_nec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1cb148f5 ir_extract_bits +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2456e513 ir_decode_pulsedistance +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2cc459b5 ir_codes_flydvb_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2d0e9a49 ir_codes_em_terratec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3136d8ff ir_codes_dntv_live_dvbt_pro_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x32b9033b ir_codes_apac_viewcomp_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3909f4ad ir_codes_terratec_cinergy_xs_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3a84be27 ir_codes_avermedia_a16d_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4267d749 ir_codes_budget_ci_old_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x43c89ef4 ir_decode_biphase +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4c1442c1 ir_codes_real_audio_220_32_keys_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x51ba1643 ir_codes_kworld_plus_tv_analog_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x543db4ff ir_codes_avermedia_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5e95da31 ir_codes_tt_1500_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5fbe6515 ir_codes_pinnacle_color_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x61d039d7 ir_codes_behold_columbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6427a3fb ir_codes_pinnacle_grey_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x64b02fed ir_codes_avermedia_dvbt_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6606596a ir_rc5_timer_keyup +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6809de82 ir_codes_pctv_sedna_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x699c4932 ir_input_nokey +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6d6511e7 ir_dump_samples +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x703fc738 ir_codes_avertv_303_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x7283f81d ir_codes_purpletv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x72c2992e ir_codes_powercolor_real_angel_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x76d71b8e ir_codes_dntv_live_dvb_t_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x784e176d ir_codes_asus_pc39_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x828b3ce5 ir_codes_encore_enltv_fm53_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x8acae3dd ir_codes_pinnacle_pctv_hd_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x92d1d181 ir_codes_flyvideo_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x94651dab ir_codes_ati_tv_wonder_hd_600_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x97c35dab ir_codes_msi_tvanywhere_plus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x9944e2e5 ir_codes_hauppauge_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x99a16ac7 ir_input_init +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa69aa6ad ir_codes_pv951_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa95157c5 ir_codes_cinergy_1400_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xac15f6c8 ir_codes_kaiomy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xac67c5ff ir_input_keydown +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xaff22e87 ir_codes_pixelview_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb01a1998 ir_codes_manli_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb0a8ef38 ir_codes_rc5_tv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb57445f7 ir_codes_eztv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb5adb754 ir_codes_cinergy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbd3ce6f0 ir_codes_avermedia_cardbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbeaccbdc ir_codes_gadmei_rm008z_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xcba36c62 ir_codes_videomate_tv_pvr_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xd30c491f ir_codes_norwood_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdc23fec4 ir_codes_fusionhdtv_mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdd4c0a07 ir_codes_evga_indtube_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe1101f4d ir_codes_avermedia_m135a_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe4140c60 ir_codes_genius_tvgo_a11mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeb9bb08f ir_codes_npgtech_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xebf345b4 ir_codes_encore_enltv2_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeec89db8 ir_codes_empty_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xef29c40d ir_codes_adstech_dvb_t_pci_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf33c155d ir_codes_msi_tvanywhere_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf3d619ec ir_codes_iodata_bctv7e_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf4f7a4d6 ir_rc5_timer_end +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf5e15e65 ir_codes_winfast_table +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x07eae227 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x1213f197 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x38971511 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x5fe4ada4 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x86f6e3cf saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xaa3e550d saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcdf63d9f saa7146_unregister_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 0xf398235a saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xf5762c67 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xf72cf1d8 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xf965edf2 saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x0439cc4e saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x46e3a335 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x7d1d5d4a saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x7da20773 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x8e884233 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xcbc2bf47 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xdc503343 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0xace2ac90 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0xffdb5d41 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0xf883d4b6 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0xe508847d tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x3984321b tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x8dd0493b tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0xfdafb090 tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xbc913ed8 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xe8961402 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x64ce5c77 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0xd2deeaa8 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0xa92b6ae0 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x09fbe150 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x13f0569c smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x23672650 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x4b470067 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x4fbc412b smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x6ece4e43 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7a2ddb34 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x825aed84 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x876fe4b1 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa80e36af smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xaafd8897 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xba133322 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbc6f04e5 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xc5e942bd smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd56fc149 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf128a7d7 sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf965cdc7 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfaf33806 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfda878c5 sms_get_board +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfde52757 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x0ca85d70 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x3311d934 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x3511d94c cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x79eda2ab cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xa024a670 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xce383427 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xd65c898f cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xdc8c6f17 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xde9dbcc5 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xf33f4ef6 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xfc50c470 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0x2d3b784e cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x0351bdba em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x09500cab em28xx_isoc_dvb_max_packetsize +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x18067a30 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x52a28866 em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x743555fe em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xba17da3b em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x5049226f saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x780a632c saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xc3cb11e7 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xc9ea66e0 saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xca3c9220 saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x7e83bfd4 v4l2_i2c_new_subdev_cfg +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x97eb204b v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xccf44f21 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xf20fb601 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 0x08fd20cd v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x12cfa812 v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x746da34a v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa20261e3 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/videobuf-core 0x01e1615c videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x05b149d2 videobuf_queue_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x06a46322 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x071cbe04 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x08af0d3f videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x17de9b9f videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2807f484 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2924c6a8 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x41b495c5 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x542c5b62 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x5b558888 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x5f7ddce7 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x5fef0b9c videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x60898a83 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x7295eb25 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x95210363 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa24d0e51 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc5446030 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc8a58d20 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xcc9e06f6 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd30acc47 videobuf_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd40c0619 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd4e6f13f videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xedae60e4 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf7728be3 videobuf_cgmbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x001edb5b videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x01db03c0 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x04c16cc9 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x0692f568 videobuf_dma_init_overlay +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x1dfbd178 videobuf_dma_sync +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x842c5ee4 videobuf_sg_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x933dfb43 videobuf_vmalloc_to_sg +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa38faed2 videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xdbae3b26 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xdedb5a48 videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xe5fefefa videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xe9bb4970 videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xed0c7d57 videobuf_sg_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xfae0cdb7 videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x0c9001fd videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x2f4150bb videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x9ca81a06 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x3aed53f9 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x5c188d67 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x6915dc6c v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x812494e5 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x8f928ff7 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xcf66ac21 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x3c220c5d i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x604aea7a i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x8ecf727e i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xc6d54bc6 i2o_pool_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xcac0ca5a i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xe20e274a i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xe9eaa322 i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xf4f788ac i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x9066613a mc13783_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xcc292d21 mc13783_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xdb9e3efc mc13783_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xea328d01 mc13783_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xec642a42 mc13783_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xec9dc479 mc13783_adc_set_ts_status +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xf773cde0 mc13783_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xc20ce15a pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xdc7b4b62 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x146df576 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x1485e723 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x1fd44056 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x2c8733de pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x4a6d9b12 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x645288bb pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x6befe85f pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x7f140211 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xcc267789 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xe9c9bb0a pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xf99e53cb pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x1276385f pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x192f6c81 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xb8ad1079 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xcee29860 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xfa5466b5 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x30970ad6 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x626c21dc sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xd36df445 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xd6ac2f2f sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xf0a36f3c sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x0fe9367b wm831x_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x2a2df42f wm831x_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x395be4f2 wm831x_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x64c5714c wm831x_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x6f157442 wm831x_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x7ff75f50 wm831x_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xa6fa2209 wm831x_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xaf7adac8 wm831x_auxadc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xb34e7585 wm831x_disable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xb6ae236f wm831x_enable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xf6ea685d wm831x_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xfaeb6675 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x2e1609c8 wm8350_block_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x318a80db wm8350_device_init +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x3609dc9a wm8350_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x4105bd90 wm8350_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x4a03bd6a wm8350_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x588303b2 wm8350_read_auxadc +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x6f031327 wm8350_gpio_config +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x7d73a224 wm8350_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x907c6914 wm8350_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x96524309 wm8350_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xa6db9689 wm8350_unmask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xc1b30598 wm8350_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xe78d6808 wm8350_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xe88c0c86 wm8350_device_exit +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xfc6ffab7 wm8350_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xfe75320d wm8350_mask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x150261ca wm8400_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x28199d13 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x9c30980a wm8400_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0xb9474af3 wm8400_set_bits +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x42461acd cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x908bcbfd cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xe8e562cc cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xf7052e81 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x2df115d4 eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d14d2f eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x1018eee0 xp_restrict_memprotect +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x345c9217 xpc_disconnect +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x39046c7a xpc_clear_interface +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x4b1ca752 xp_nofault_PIOR_target +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x4c1b2afe xpc_registrations +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x5797cfbc xpc_set_interface +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x6285dfe8 xp_cpu_to_nasid +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x64ba5017 xp_pa +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x68d27065 xp_expand_memprotect +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x7204e746 xp_remote_memcpy +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x76e36d39 xp_region_size +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x7c3462de xp_nofault_PIOR +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x937be528 xpc_interface +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0xcd468100 xpc_connect +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0xead4f7fe xp_max_npartitions +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0xf3b47f67 xp_partition_id +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x0160cec3 sdio_claim_host +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x1444ede3 sdio_register_driver +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x14a672ab sdio_f0_readb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x14f3f19a sdio_readsb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x1760f6fe sdio_enable_func +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x1a5780e5 sdio_readb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x1f9f196b sdio_writel +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x2b1eb6e3 sdio_writew +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x2ec26aad sdio_set_block_size +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x309aaa9d sdio_memcpy_toio +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x3a146942 sdio_f0_writeb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x6182e341 sdio_release_host +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x6832ac05 sdio_claim_irq +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x92edf822 sdio_writeb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xaa0a7d55 sdio_disable_func +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xb42502cb sdio_release_irq +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xb63edc8d sdio_align_size +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xb7a5f2ca sdio_memcpy_fromio +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xcf74a32a sdio_writesb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xf3453d6f sdio_readl +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xf4994992 sdio_readw +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xfca24945 sdio_unregister_driver +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x13cc61ec sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1bab3664 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5a73e652 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x6f85b298 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xccbe5471 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf3163874 sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x0a16aeac cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x230c550f cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x5c66bdf9 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xda39abfe cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xbcd5b8f4 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x08e7607d cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x1818838a cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xcaddb44a cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2000 0x2fd2aa4d DoC2k_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001 0x0bef11ae DoCMil_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x83ff8cab DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0b141556 add_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1317cfa1 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x28869f35 register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2cc1ccb8 del_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x30e5b8b5 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x39056a6d get_sb_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x40d9c0f5 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x595ef56d deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x66c001ef mtd_table +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x74e4715f mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x792fe1c3 mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x90063025 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc69901d7 default_mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd29a9d75 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf6d473ac parse_mtd_partitions +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xffeb7483 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x04f8f85c deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x9241083e add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xf6358c14 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xfb11d375 register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x04c5fb1b nand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x163ac91f nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x50a31fea nand_scan_ident +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xb1fd703e nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xb2cc1bd3 nand_scan_tail +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x99b29655 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xd45cd02a onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x30cb47a0 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x3d170480 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x3d813ab6 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x3e7fde82 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5c301885 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x62053582 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x747e4984 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x83bd916a ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa92c9fc3 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbc505df4 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xc39c9b35 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe93606b2 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfa087812 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x036d0041 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x0ce2010d can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x2be2ae3a close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x31787e6c alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x4b90d344 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x7b3e095c can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xd9324baf can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xdc72aa7b can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xf6b69911 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xfcbe9b7e open_candev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x2f84b827 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x88d2047b free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xdc9bd500 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xde06ea38 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xeb6f3693 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x03a11980 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x077023b8 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0a270098 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0caf5757 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x1139d47a mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x145276bc mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x147b8f87 mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x19cc2397 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x26f6d676 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x2f74efd8 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x38ca61d4 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x39d70a2e mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x3cdf4005 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x406b32f8 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x45144af9 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4a81a2f6 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4b11041d mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x55ba115a mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x624f9801 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x64ba10cc mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x65a31271 mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x681c62bc mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x71ce6e27 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x76370935 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x7a2b9efa mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x824b27fd mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x837233c4 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8ae71aa7 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8bdb543c mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8d11967f mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9d1aa655 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9ef7bfe9 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9f78494d mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xad760d74 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xaea8965c mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb94b4552 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xbce4dec1 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xbe5f224d mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc227c3d6 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc2ded297 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc3f981f1 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd1915262 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd1f32567 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xdc0efeed mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe01a25d1 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe0897bb1 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe40418a8 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe937094d mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe9acced6 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf0e84f78 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf36e4b57 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf44c21f9 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf6ecbc15 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x59a8c8c7 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x89d36a38 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x02a25673 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x5a684ca0 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x65791156 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x7f9c5e43 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xc634d4ba rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xd8f0fd92 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x10b4451b usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x141d60a8 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1ece670e usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2d0d3f43 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3d20ffcc usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4137a185 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x430bcd1d usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4a4b03cf usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4a7e3c6a usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4d5db253 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x611f2a1c usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6cf54aeb usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x71227d77 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x79534dfc usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x96be772e usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9a75ef47 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9c2494fd usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9f5ec2fb usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa90e854a usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xacc15a42 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb41fa7ac usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc0ab484d usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd1182165 usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf2d978e0 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x2adc0fce i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x40a8d445 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x484c5640 i2400m_cmd_get_state +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x5b12db56 i2400m_queue_work +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x85d3fad2 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x8a18384e i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x8be6ac7e i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x957034fa i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x96dc23a9 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb48d8659 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xe40a429d i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf1eb650d i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf8990a52 i2400m_set_init_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0xccc995c8 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x014aee3f lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x23480409 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x2c700d27 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x378c42e5 lbs_cmd_802_11_rate_adapt_rateset +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x42cfe00a lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x566250e9 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x62cca26d lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x9477106d lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x9ad5de55 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x9debaed4 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xb2277921 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xb2ff2bfc lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xbe17134c lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xd8de6ba4 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xebcee9cb lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x16bc23a8 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x213877c8 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x3a5975fa lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x52a884e0 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x571b4bb1 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x9e875edd __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc12aedc9 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc804ea18 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x6cf8e750 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x8a3073d7 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x00c432ed p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x0fb096bd p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x2fbdbcfe p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x414ed1db p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x518b0e0d p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xc1c97ad9 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xcdc65548 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xdd3fdf0c p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xe0b321b6 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0306afee rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0c66a7f4 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x12ac1a61 rt2x00mac_get_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x214779b7 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x23abae31 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x38fd1e79 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5b05cb03 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5eea343f rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6efa5c01 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x70537f3e rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8f334b77 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x926a7c82 rt2x00queue_get_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x93782f6f rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa511b6cb rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xaada9875 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb5056e2f rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb690b477 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc3069ecf rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd102c352 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd1e0b4d0 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xde4243b4 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe1f29823 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe6229d14 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf0d44f1d rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x1b2eb425 rt2x00pci_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x20c0f190 rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x2651ec30 rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x8249984b rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xa08fafa4 rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xc29b4baa rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xd7a078d2 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xf3839323 rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xf72acf00 rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x0b42a0b9 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x20a02c30 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x28dc3ec1 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x453181d5 rt2x00usb_kill_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x464eb50a rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x4c5f2bab rt2x00usb_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x60cce9a6 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x650a3fe1 rt2x00usb_vendor_request_large_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x73e3bcd0 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x76b9d454 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x80ca6512 rt2x00usb_kick_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x8ba7538f rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x8c18acbe rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xb5087f87 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xb51c36f1 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xed13665d rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x2411c4d0 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x391e7172 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x66569485 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x4099ffc8 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x5c405def pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x2416e618 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x3c9a3051 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x823d2e1f wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x8c6eddad wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x90ddcaea wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xd127d5c4 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x6101ba20 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x0cde23f0 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 0x624fea96 scsi_register_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x8043945d scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x96bdb192 scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x9ba26b93 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xf4821ad7 scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xa11db833 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x08afa949 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0c94e99b iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2520fd4f iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3a4059e1 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x444b2c62 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x48761b36 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5089756c iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5b9479f2 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5e6ec872 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5f3d8790 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x61587ff6 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x667a1d92 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7134a234 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x783fe860 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7dc0d4a4 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7f47d17c __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x848dd55f iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x964e48b2 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9785ec28 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x98bfa44b iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x998d06fa iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9b4f270d iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9e3fc536 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa0931af8 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa373a223 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa7a866cd iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb0d8b904 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb3673d40 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb4c8f6aa iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb658e79d iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xba5203a8 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbb949abb iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcde8a279 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdfb3904a iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe2adfa2d iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe2cf1a82 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe91ec876 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xed766742 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xedcaa09b iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xefee8699 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf41c4803 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfad40f17 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2171db85 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2fe40b0a iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x35122e66 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x38d690b2 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3a1fca3e iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3ddbd058 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6842e5f3 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x80023f97 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa9499c97 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb61df002 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xbeec437e iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd3efcb04 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xddbc78cf iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xdebf58d8 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf63a33d8 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfa4307ed iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x15e6945f sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x20e724f8 sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2343c1aa sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x267c57e9 sas_find_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2eeba1a8 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2f42044e sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x300744ae sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x37384c57 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4503ada4 sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4fa86284 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x53350e5b sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5de10a53 __sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x616019b1 sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6b860c84 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6c384888 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6dd8195d sas_slave_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7b6d0b99 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7e061cc8 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa2693c85 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa2763904 sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xaff6e90c sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbc50b62b sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xcbdfcd81 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x329bd33b srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x81190892 srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xa5531b27 srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xb529a8cd srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xc81ac7d7 srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xd304c0c2 srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x16edd262 scsi_target_block +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x189e20bc scsi_schedule_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x197b72ff scsi_nl_add_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x2d82e0c2 __scsi_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x2fb1cf80 scsi_nl_sock +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x35d8c94a sdev_evt_alloc +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x3eabe391 scsi_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x4bda4648 scsi_internal_device_block +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x69284f87 scsi_mode_select +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x8ea33e95 scsi_target_unblock +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x8ed0bfdf scsi_bus_type +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xb7e26ad9 sdev_evt_send +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xcfeeeab7 scsi_nl_add_driver +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xe23b868f scsi_internal_device_unblock +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xe60259cb scsi_get_vpd_page +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xef33e10e scsi_flush_work +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xf35ca111 sdev_evt_send_simple +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xffaaab6d scsi_eh_ready_devs +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x271703ef scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x274560e3 scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x6539ad66 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x7393ba42 scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x79b037d3 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xb113652d scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xbc8dfdb3 scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xe670d15d scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xf6203065 scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x09213441 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0e962b2f iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x179aefff iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1eaf29d2 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x37770e2b iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x53888a94 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x562c08e7 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x58538545 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5f5a5e2d iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5fc9ebf6 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6333a5f8 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6b1d142c iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x99d9bdf2 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9fd19823 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb2d8729e iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb69d41e2 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb8501d6d iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc1893708 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd2ed434c iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd61d07dd iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xeb05e562 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf65008a9 iscsi_destroy_endpoint +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 0x5044c1e1 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x69c60275 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x7bb81e22 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xf1c0875b srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xfa949db0 srp_release_transport +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0x1d56ff55 pciserial_remove_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0x23195dd9 pciserial_resume_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0xc21162eb pciserial_suspend_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0xe7791032 pciserial_init_ports +EXPORT_SYMBOL_GPL drivers/sn/ioc3 0x2b79b149 ioc3_unregister_submodule +EXPORT_SYMBOL_GPL drivers/sn/ioc3 0x5c47ef11 ioc3_gpcr_set +EXPORT_SYMBOL_GPL drivers/sn/ioc3 0x669b319d ioc3_ack +EXPORT_SYMBOL_GPL drivers/sn/ioc3 0x889b563e ioc3_disable +EXPORT_SYMBOL_GPL drivers/sn/ioc3 0xa014d3b9 ioc3_enable +EXPORT_SYMBOL_GPL drivers/sn/ioc3 0xc6690947 ioc3_register_submodule +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x09941b42 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x1342b8bd spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x1e71ff3a spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x379f8935 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x5f13e2a6 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x66990816 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/uio/uio 0x2159c171 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xa1b51c9a __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xe893f8ef uio_unregister_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x0c77d035 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x9cccb583 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x2df72eb1 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x597ebbca usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x5f6c68a0 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x6a5b738b usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7d7af252 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7ebd4244 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x82675e83 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xbc1bb4d2 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xfd901980 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x17da7feb usb_serial_register +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x240921c3 usb_serial_deregister +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x28b1d785 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x38798282 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x41ec3f2c usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x4c32d46c usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x53ddacb5 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5d179b0b usb_serial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x6d8793bc usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7621a0d0 usb_serial_generic_resubmit_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb363c870 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc4ff2f7e usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xcbee384b ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd149bcd1 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf8fafaff usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf977cb75 usb_serial_probe +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1055c584 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1583863c usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1c2a0edc usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1f1daba0 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x265c2f81 usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x2a54d2ca usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3f42b12b usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x4069f241 usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x41eac32b usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6002a962 usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x61b46ef8 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6c7ac96b usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6d1522fa usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x847d2e3e usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x95ccb31c usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xaf065076 usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb4a6807b usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xcde8683a usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd55baf45 usb_usual_ignore_device +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd6bdd88a fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xdd20bf55 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe36ea541 usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf2f7fa6c usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x554a190f wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x5b0fc154 wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x6370f163 wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x647304fb rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x75eeccc7 __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x8668d134 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x89a3f9a6 wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0681b88a wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0d07cb36 wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0f132d01 wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x398a1b19 wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x4a037c1a wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x4be67cf6 wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x56e0f498 wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x5a325ad4 wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x6cdb490e wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x7d7b972d wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x7e0f05cd wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x8193d9c4 wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x9a599989 __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xafb8056a wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xdf6e4f08 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf1539ca9 wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf5ad375f wusbhc_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 0x4f16b1f7 i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x604119f3 i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x60783076 i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x2e6db6fd uwb_rts_cts_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x4ad13e8f uwb_rts_cts_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x6c197291 uwb_phy_rate_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x8c92e5e9 uwb_phy_rate_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xcd45d12e uwb_pca_base_priority_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xd120cb70 uwb_pca_base_priority_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xda4e3611 uwb_ack_policy_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xe8995485 uwb_ack_policy_show +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x224390ab umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x3479b2e0 umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x4de6e868 umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x53dfd713 umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x769ac3db umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x7bac9907 umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xd166a683 __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xdd227b1c umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x16fba860 uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x19b88ef7 uwb_rc_cmd_async +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1e361961 uwb_rc_post_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x24cb2f61 uwb_rc_ie_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2d787217 uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x30653e10 uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x33912368 uwb_rc_vcmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x33d14567 uwb_rsv_accept +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x33f1dcb8 uwb_rc_ie_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x396d6493 uwb_rc_put +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d57ae3c uwb_rsv_type_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x52ae17b8 uwb_pal_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5331a7e7 __uwb_rc_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x59fe14b5 uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x647ea89b uwb_rsv_create +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x65b2efe3 uwb_dev_for_each +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6b9377c5 uwb_ie_next +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6e162cec uwb_rc_pre_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7119424e uwb_rc_neh_grok +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x773aab4c uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7c87e820 uwb_rc_get_by_grandpa +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x831a3dba uwb_pal_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x850b43aa uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8b05f89d uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8cb42db6 __uwb_addr_print +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9046a77a uwb_rc_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x97ddf38d uwb_est_find_size +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x99965fcc uwb_notifs_deregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xa3341d81 uwb_rsv_establish +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xa8bc8841 uwb_rsv_terminate +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xab8d021d uwb_rc_dev_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xafc8f096 uwb_rsv_destroy +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb0a07aac uwb_radio_stop +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc9fd8023 uwb_pal_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xca8fb686 uwb_rc_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd573c8f0 uwb_notifs_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xdbab60c7 uwb_rsv_modify +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xdff55f3d uwb_rc_neh_error +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xeb4cab9a uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf0063638 uwb_rc_cmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf4a4620b uwb_rsv_get_usable_mas +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf7ca313a uwb_est_unregister +EXPORT_SYMBOL_GPL drivers/uwb/whci 0x0a692ba7 whci_wait_for +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x060017fc wlp_dev_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x11c6f6ee wlp_dev_prim_category_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x14ca1c0b wlp_uuid_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x1db90ea5 wlp_dev_model_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x1e2c12cb wlp_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x212a8b83 wlp_dev_model_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x299c70ef wlp_dev_prim_OUI_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x481bbe20 wlp_dev_model_nr_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x53f57dee wlp_dev_manufacturer_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x632710b6 wlp_dev_prim_OUI_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6e293d3e wlp_wss_activate_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6e891dd6 wlp_dev_manufacturer_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x7c480a91 wlp_dev_serial_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x7e6aec65 wlp_receive_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x8423b0da wlp_dev_prim_subcat_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x8a0ae61e wlp_wss_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x98efb1c1 wlp_wss_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xa653aab0 wlp_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xa909598e wlp_dev_serial_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xa95d3cc9 wlp_dev_prim_OUI_sub_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xaac088f2 wlp_dev_prim_OUI_sub_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xb231a030 wlp_wss_activate_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xb2ad6dff wlp_eda_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xbbfb968f wlp_dev_prim_subcat_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xbd24c830 wlp_dev_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc4e3a6b9 wlp_eda_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc6d20b2c wlp_neighborhood_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc8aade36 wlp_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xe409eed3 wlp_uuid_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xe40b129f wlp_prepare_tx_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xebc15c9c wlp_dev_model_nr_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf49c0e1c wlp_dev_prim_category_store +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x1e6f8aa4 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x219368c1 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x68690b34 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xb2549167 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xe2353610 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xf59fb5ef ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xf8d7d059 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x24b6873f fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0xdb4178ae fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x025d7243 sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0xa1496fa3 sis_free_new +EXPORT_SYMBOL_GPL drivers/w1/wire 0x0472f4d8 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x2fed0499 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x6d222349 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x754d6d0a w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xaa584a02 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc8192d63 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xd947cb17 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xf74569c1 w1_read_8 +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x0864c4a4 dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x28329d68 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x59471926 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x66d94a00 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xdc583c08 dlm_unlock +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0x1bbebacb exportfs_decode_fh +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0x7a30c57c exportfs_encode_fh +EXPORT_SYMBOL_GPL fs/fat/fat 0x0d573296 fat_remove_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x1e67a22b fat_getattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x24d05d35 fat_free_clusters +EXPORT_SYMBOL_GPL fs/fat/fat 0x28aa75d9 fat_attach +EXPORT_SYMBOL_GPL fs/fat/fat 0x316dfb3e fat_fill_super +EXPORT_SYMBOL_GPL fs/fat/fat 0x34259b42 fat_setattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x51f2157d fat_dir_empty +EXPORT_SYMBOL_GPL fs/fat/fat 0x6271797e fat_build_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x6996f4d6 fat_fs_error +EXPORT_SYMBOL_GPL fs/fat/fat 0x6e9d0233 fat_detach +EXPORT_SYMBOL_GPL fs/fat/fat 0x7ce46893 fat_flush_inodes +EXPORT_SYMBOL_GPL fs/fat/fat 0xbbefae92 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL fs/fat/fat 0xbf939e95 fat_alloc_new_dir +EXPORT_SYMBOL_GPL fs/fat/fat 0xc2769fe4 fat_scan +EXPORT_SYMBOL_GPL fs/fat/fat 0xec007ada fat_add_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0xf76fb987 fat_time_unix2fat +EXPORT_SYMBOL_GPL fs/fat/fat 0xf7cca15f fat_search_long +EXPORT_SYMBOL_GPL fs/fat/fat 0xff53e44b fat_sync_inode +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x1a618932 nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x28060bf9 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x8a98f506 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x9378a1c5 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa7b91a7b lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xb9c7a5df nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf26054a0 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf6933c48 lockd_up +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x88c8e1ea nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xc0a941e1 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 0x1f26f474 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x36418553 o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4202ca93 o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x521e0726 o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x62713e27 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x9324140a 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 0xab5801c0 o2nm_get_node_by_num +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 0xd60f2c6c o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd79c9fd7 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xe10e825d o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf56c2017 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x6e927dd7 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x6f6b9447 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 0x7cb0f671 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd76cd8a8 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xde6850aa dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xe45303d6 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x03498b98 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0562c415 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x06379db6 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0e27f909 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x21db5b88 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x496463b9 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4a1f6fe9 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x81c85a68 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x91fab465 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x963932a3 ocfs2_stack_glue_set_locking_protocol +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x97ef1f23 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xa7d5c1c0 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd066711e ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL lib/lzo/lzo_compress 0x2e1d43cf lzo1x_1_compress +EXPORT_SYMBOL_GPL lib/lzo/lzo_decompress 0x2a1538ca lzo1x_decompress_safe +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 0x88626ce7 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x912a146d garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0xcb02df0f garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xebb053fe garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xebebdb09 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xec368a9a garp_request_leave +EXPORT_SYMBOL_GPL net/802/stp 0x52fd251b stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0xae829a0d stp_proto_register +EXPORT_SYMBOL_GPL net/ax25/ax25 0xac93ae05 ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0xaeb7451e ax25_defaddr +EXPORT_SYMBOL_GPL net/ax25/ax25 0xfdc5c9f8 ax25_register_pid +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xc99bbb62 bt_class +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x5eb746ed 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 0x07ae60b6 nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x1a765f7c nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x6e6fa63a nf_nat_proto_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x94a08134 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xa27eb796 nf_nat_proto_range_to_nlattr +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xaa917fd2 nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xc8495e3c nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xca32031f nf_nat_proto_find_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xfd4d7e52 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat_proto_gre 0x636b12c8 nf_nat_need_gre +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x1d2b621a tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x97be6617 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xe4cd95da tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xe8ef107d tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xeefb00ad tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x08a3e5d1 net_ipv6_ctl_path +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x20214a2b inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x5322c317 ipv6_dup_options +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x694b9e18 ip6_dst_blackhole +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x7da394a1 ipv6_find_tlv +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x87bfcb78 inet6_csk_xmit +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x8b319ff1 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x91c2d4cf inet6_csk_search_req +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x9590696e inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xa2dc1cd7 ip6_sk_dst_lookup +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xa8df5892 inet6_destroy_sock +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xbceee6d2 ipv6_opt_accepted +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xe61f54c6 ip6_local_out +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xeacdd8c6 fl6_sock_lookup +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xf5a6756c inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xf63d79e8 ip6_dst_lookup +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x30f8a658 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x41a3c716 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe6476b4a net_vs_ctl_path +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0399be3b nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0a4540ee nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0c6db5a6 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0ca48e29 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x12a1678d __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x16c790b9 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x191f6411 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x22e000a4 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x238554e2 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2ad4dc33 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x315e96f3 nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3240efc0 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x35b716b1 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3873c2d9 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x40e4cc83 nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x470fbb76 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x477e1e11 nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b9065a9 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4d4856d7 nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4e91d412 nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4fa5bbaf nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x55955b8a nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5882ba33 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x683d0f49 print_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x69cadf7f nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e12338c nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x72d2ae01 nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7a294ff5 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7c02ea04 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7c5e8f26 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fa58391 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x82948fe7 __nf_conntrack_helper_find_byname +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x83053ee7 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x868d37d6 __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8d79504f nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ff40420 nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x90ff6c9f nf_ct_invert_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x93c3f492 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x992736eb nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9af3f6c1 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9d5c7b5c nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9eb2c658 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa8ef4e1d __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xab115469 nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb650263a nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb691a3a2 __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb7f0b91b nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb832d586 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbf47d940 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbf7d2938 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc2b30507 nf_conntrack_hash_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc496af1c nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc54a08a4 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc885ee59 nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xca37de31 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xce141988 nf_expect_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd383bda9 nf_ct_unlink_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdb7ab9fb nf_conntrack_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe052635c nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe29edeed nf_conntrack_untracked +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe48e6900 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe9859ce6 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf1dd4553 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf9a46141 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xffbe84bc nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x13187946 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x1f684dc5 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x2700c22e get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x2b87ddb5 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x356c890d nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6942332e set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x85a67fb1 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x99b7470f nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xc8670f81 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xca6651b7 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xe8198d3a set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xe888eef5 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x1bc2dfbd nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x1d673ae3 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xddcddbd5 nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xf57627e3 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xfcd1269c nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x16fcd6f3 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x87c72887 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x02391679 nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x043becb0 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x25335e51 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x36eea4db ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x3c63cf87 nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8b334aa9 nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x9fff1f34 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa52baa07 nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa965fa88 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xc06dea72 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe29932f4 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xeecb5079 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x06411e82 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x203954ab nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x740fe151 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x43a59176 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x913f1ae7 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x95d05a28 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xbf86e57d nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xeca95329 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xef9b4bbd nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x0b2b322e nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x001bace0 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x07ec5c3d per_cpu__xt_info_locks +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x2ca54308 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4d206b6c xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4efbfa40 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5075daea xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6b33d2b9 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7c2f390a xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7cb7e246 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x85326890 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd910ae81 xt_request_find_target +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x13a0909b rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x20989381 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x23c3759b rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x28552bb8 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x2c5c5514 rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x2fdeb79c rds_inc_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x3101936e rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x41a4d858 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x66cf0b28 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x6798d07f rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x70788d36 rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x7be7dea8 rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0x7d2b0d2d rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x7e2c9696 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x86909036 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x8bf16990 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x92d21b16 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0x945832a4 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0xa3131ea4 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xa7f5a8a1 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0xb86ea2d9 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xbe7d4dd8 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xbec164ad per_cpu__rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0xc2da8e38 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xdb40947b rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0xe0620768 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xf17bbaed rds_inc_put +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x80846a43 rxrpc_register_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0xb4cc14f8 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 0x0551e8d1 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x0ede5dbe gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x3e936360 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x3f0c8288 gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x4aa76f95 gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x51b5ee8c gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x655047d6 gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x735b67b5 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x84c4a2c3 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 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xc16deed9 svc_gss_principal +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xc8c0c656 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03f036a2 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05403553 rpc_killall_tasks +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 0x0bff92c0 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e0b6c8f rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e2b3749 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0efcda21 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1086b4c6 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12e280e3 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14b7a3b9 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1528c188 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x161fcb47 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x164f4779 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x174b2a13 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x18af4e38 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1b7ed168 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f64f230 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x215ca5f9 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21db6e01 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21fe90c0 rpc_get_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x244052cc svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x245e659f rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x275358ba rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2aa17774 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2fd248f8 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3195cc26 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x337912c5 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34a7fb1a cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37d258a6 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3c20d4f2 auth_unix_forget_old +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e10cdf8 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e89f330 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e9deaa9 cache_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x401976c2 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45993bac svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x46f34887 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x476c581b rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48f607f9 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x496ac34d xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4af7356c xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c61fb56 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4fe00f99 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x50a20960 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x51ae7784 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x534e29b6 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x55b4f8c9 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58a386b3 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b14ec1a rpc_put_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b3842cc sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bcf6ab3 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bd26000 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6601556e rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66af1905 svc_sock_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x670b01e8 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x675524ec rpc_sockaddr2uaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x67b6aa51 svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x68240d8d sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6946fe64 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x69c5eb87 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6bbf1fb8 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c2c2d4c rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c5304c5 rpcb_getport_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ebd5095 cache_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6eea229d svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70cf0f0b rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71a7ded2 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7231219c rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x740a303a xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7439c7da svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x756aef9b svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x75834e39 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x763c8820 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x76d6637e xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x775adaf6 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7aead671 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b68183d xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7dc21c27 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e273704 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fb5fd26 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81c3841b xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x825cacca rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82f87308 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x84337ff4 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x853f48c8 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8630ef8d svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x879b1cf5 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x897d2392 sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x903c37f4 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90891650 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9139fbb3 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x975e6bc1 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x97f97fad svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9fb716ed rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ff920d3 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa34ac42b auth_unix_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa668ca3d sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa834359b svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9ca1b96 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xab3f5e41 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xacf20d68 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaeadccd8 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaebdd20a rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb520d3cd svc_sock_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb6a21de1 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb76b943a svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb77cf9d2 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb8251a75 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb8736df1 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb8b337ce rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb8b37479 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba038676 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc1938fb put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbde743e8 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbe6518a9 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4a97a9b rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc561cca5 rpc_exit_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc67f0137 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc78cb124 xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8960efe auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8a3f2ee svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8eaa512 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc95eee89 rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd587723 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd12244d4 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd620b1c7 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd77b1a6e xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7f26c9b xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd99fb711 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb3d5597 auth_unix_add_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xddc35ec8 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde1d97a0 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1d0c86e xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe29c5f2d xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe44f9a59 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6e9845d rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe96894bf svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe98d8c1e rpc_mkpipe +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe9e952c2 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe9f91be8 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee8693e7 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf31861c1 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6deafc5 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf733d94a rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf7e4176e xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf82d0759 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa149e97 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfce6fb3b svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfd844326 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff79a322 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/wimax/wimax 0x4e5395f1 wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x57f21784 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x64ec0417 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x97d2f120 wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb03dfd9f wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0xbb04cb2f wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0xc383a745 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0xc8d3a366 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd437a178 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xdd4c9b11 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xe92bd770 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf1b7bad4 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf58bbb68 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1114c9d9 cfg80211_wext_giwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x12026b3d cfg80211_wext_siwgenie +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x14e3d8ac cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x14fda97b cfg80211_wext_giwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1dbeb3fb cfg80211_wext_siwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2862d3d2 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x376d60aa cfg80211_wext_siwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x42756a5f cfg80211_wext_giwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x46bca1ba cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x48714041 cfg80211_wext_giwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6197deee cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x643fd69a cfg80211_wext_siwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7bb4e55d cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7dad2068 cfg80211_wext_siwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7e43f428 cfg80211_wext_siwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8c69340d cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x966a39f6 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x97e303cc cfg80211_wireless_stats +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x989767a9 cfg80211_wext_siwencodeext +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x99e0911e cfg80211_wext_siwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xaeea432d cfg80211_wext_giwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xbef67c93 cfg80211_wext_siwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc3374af5 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcc2f62a4 cfg80211_wext_giwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xccbdf3cd cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd027707c cfg80211_wext_giwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd890056a cfg80211_wext_siwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xde283ccc cfg80211_wext_siwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe6a6b276 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xed23c85c cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf371900b cfg80211_wext_giwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf9d07d83 cfg80211_wext_siwmlme +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x66e936bc ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x75bbf50f ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x9dcb8958 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xe5af6385 ipcomp_input +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0234db75 snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x02470711 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x06930a7e snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x07a30811 snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0a406145 snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1eed0653 snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2101becd snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x26583325 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2f09fa12 snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x32a1d797 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x337edabc snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x33a21a72 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3946d2e3 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3c0a0728 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3c2c01c9 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x402b15f0 snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x43a0d0b4 snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x490ac047 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4a1ed6ff snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dc1e654 snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4de3cbf7 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4e5451ba snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4fd60fe9 snd_hda_parse_pin_def_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x534cc461 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x55a55980 snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ae76f73 auto_pin_cfg_labels +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5c0c70dc snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ddc85b7 snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x61973e07 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x64547371 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x64dbebcc snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x64fded2d snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x671a9fd3 snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6c36ed9b snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x707d47bc snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x732831f5 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x736aff99 query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x75cb1a24 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7efa972f snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x853135da snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8cc70e7b snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9180f005 snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x91a6f6e4 snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x94b10310 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x94ea232f snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9517635e snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x969e80a1 snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9b65ba2e snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9cb1141d snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa3e143fa snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa5a14678 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa92c21cb snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xacd5e2c9 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad87613e snd_print_pcm_rates +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad9e3507 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb599ace3 snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb5b4e12a snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb8d0dc39 snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb9087d7c snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbd9c09f2 snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbebcc80d snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc2ba9d1b snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc34a54c6 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc9bae380 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xca39a22c snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcce27eb0 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xce36deef snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd8a527ac snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdcffbe79 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe06f6e5a snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe36b319c snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xea40a3bf snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeb56bfbc snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeea92f65 snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xef68d9e2 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf0eb3909 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf6c8c749 snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf7ffae61 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfdc072cd snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0x132afe9c soc_codec_dev_ad1836 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0x5c29966d ad1836_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0x3515b477 soc_codec_dev_ad1938 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0xaa89f783 ad1938_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0x6ca69959 ad73311_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0xe7d9dd4d soc_codec_dev_ad73311 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4104 0x2c261913 soc_codec_device_ak4104 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0xf3db4827 soc_codec_dev_ak4535 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0xfa24efd0 ak4535_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0xab60678b soc_codec_dev_ak4642 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0xac09e605 ak4642_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x27aaf4a3 soc_codec_device_cs4270 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x38762bb4 cs4270_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x3e5ceeb5 max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0x73e16657 pcm3008_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0xfdcf8777 soc_codec_dev_pcm3008 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-spdif 0x858effa7 dit_stub_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0xda064ece ssm2602_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0xf67a82bc soc_codec_dev_ssm2602 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0x0e36f22b soc_codec_dev_tlv320aic23 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0x54e028b9 tlv320aic23_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0xe72fe5c2 aic26_soc_codec_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0xf57d1fe7 aic26_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x3b9475f8 soc_codec_dev_aic3x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x49ac2f23 aic3x_headset_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x593afeab aic3x_set_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x66587f4f aic3x_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x6fe1df02 aic3x_set_headset_detection +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xe7c8706c aic3x_get_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xf84d2adb aic3x_button_pressed +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0x59f70ab4 soc_codec_dev_twl4030 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0x9e8da471 twl4030_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda134x 0x984f6cb1 soc_codec_dev_uda134x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x2ccdd1a6 uda1380_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0xa9f550d8 soc_codec_dev_uda1380 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x72a19a71 wm_hubs_add_analogue_controls +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 0x7a6435ec wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x126f5e1d wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x3ce7c972 soc_codec_dev_wm8350 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xd6a99080 wm8350_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x8e54b63e wm8400_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0xa7fb3320 soc_codec_dev_wm8400 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0x901fe291 wm8510_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0x9a8fcfe4 soc_codec_dev_wm8510 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0x27638aa2 wm8523_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0xb3e4227e soc_codec_dev_wm8523 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0x955ef46b soc_codec_dev_wm8580 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0xd8fc33de wm8580_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0x0f817d1c wm8728_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0xfa19333e soc_codec_dev_wm8728 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x2a19e240 soc_codec_dev_wm8731 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x8ef92760 wm8731_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x2675c1ff wm8750_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x378fafb3 soc_codec_dev_wm8750 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x1ca2fc70 soc_codec_dev_wm8753 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x6750d123 wm8753_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x6251dc5b soc_codec_dev_wm8776 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0xaa2129c0 wm8776_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0x61c7fc6a wm8900_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0xd19b1a6b soc_codec_dev_wm8900 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xe7538ec4 wm8903_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xfab649a8 soc_codec_dev_wm8903 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0x9588d879 wm8940_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0xd692b2b7 soc_codec_dev_wm8940 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0x0217c950 wm8960_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0xd51666d9 soc_codec_dev_wm8960 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0xc94b1af5 wm8961_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0xcc0d5798 soc_codec_dev_wm8961 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0x6f3c1141 wm8971_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0xcdcf3daf soc_codec_dev_wm8971 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0x3ff180f2 wm8974_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0xb0b8c9ea soc_codec_dev_wm8974 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x1751c1db soc_codec_dev_wm8988 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0xbe7b3060 wm8988_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0xde4a21e4 soc_codec_dev_wm8990 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0xf45fb9b9 wm8990_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0x72cbcb17 wm8993_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0xf5677227 soc_codec_dev_wm8993 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0x86fb1ca8 soc_codec_dev_wm9081 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0x91406ec0 wm9081_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0390b718 snd_soc_new_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0e2a7733 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0f6807e1 snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x153b89c2 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x18affaa5 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x191166fd snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1b98c544 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1c30ce78 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1eecaa1f snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2fd2b9b7 snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x302c699b snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x39670b8c snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3abcc76e snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3c88323c snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3f683027 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4427fb95 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x45dc667d snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x45f75544 snd_soc_suspend_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x45feff03 snd_soc_info_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4911ac7a snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4a81f853 snd_soc_get_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x51e52554 snd_soc_free_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5b36c56a snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5c45145c snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x60119f85 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x60b8d117 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x67904a7c snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6b5797e7 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6c69d285 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6da79a09 snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x70349eb6 snd_soc_init_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x73ef9b75 snd_soc_resume_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7433e2ef dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x760f640d snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7660ebda snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x773e7701 snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x786db883 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7c0e13f6 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7c787fe2 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7ebd3e2d snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x858e54cf snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x899a3c60 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ab75fc2 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8fc33099 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9a3eb090 snd_soc_dapm_stream_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9b3c5f3d snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9db5ac3d snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa17ad814 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa335dfb4 snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa4f50e69 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbc418fb4 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc6e59343 snd_soc_add_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc7bbd10e snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcb39dc7f snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xccaed0d4 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd1e960c9 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd5d90066 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xde885de3 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe7316e14 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe7f32a74 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xea4e8e79 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xed669246 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xed889300 snd_soc_put_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeeca4190 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf2d79366 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf4ea7a6f snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf59cc195 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9326e49 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xff5167ec snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL vmlinux 0x00566d8f inotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x00593c92 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0095d4bb dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x00a5cbe1 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x00b8ecf8 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x00bd2408 user_read +EXPORT_SYMBOL_GPL vmlinux 0x01023bd9 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x0110b3d1 register_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0x01151f99 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x015edd59 sn_dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x016b9869 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01dad98b __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x02155bb7 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x02c549a5 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x02ccea56 lock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x02dd8907 crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x02ebb98f power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x02f8846a rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x0391d02a __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x039ee228 pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x03e50cf6 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x04069b1d set_irq_nested_thread +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x0457d110 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x04b9d20b spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x04ea8706 __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x05f17b50 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x06030ce2 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x0619ca8a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x062c647f da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x063a76f7 queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x067c9221 register_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x06ffed4b vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x070fc8e1 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x076beacb inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x07835b39 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07c76688 power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x0860d770 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x087b413f generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x08d8708f cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x08e4bb3c driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x09013aab __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x099c2558 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x09d50765 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x0a9b67e6 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x0a9ee654 sal_pcibr_slot_disable +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b372d9c register_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0x0b46d8e2 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x0bb3663c find_module +EXPORT_SYMBOL_GPL vmlinux 0x0bbd3d13 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x0bd3a466 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x0bdc95cb driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x0be3b113 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c40b4a1 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x0c6eff33 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x0d56a6e6 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x0d5b15c7 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x0d816fd0 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x0dab71a9 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x0e6790b1 use_module +EXPORT_SYMBOL_GPL vmlinux 0x0ea26c25 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0x0eea537c cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x0ef5f33d inotify_rm_wd +EXPORT_SYMBOL_GPL vmlinux 0x0f8d9c34 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x0fb28e98 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x0fc12f8f __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x0fdcbdad security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x100c48a2 unregister_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x105b8a92 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x10b34a56 pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x10ccbae8 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x110fb6f4 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x112249c1 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x114e4885 __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x116bb83b net_assign_generic +EXPORT_SYMBOL_GPL vmlinux 0x11a4bdc8 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1251d30f call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1256d36d acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0x128d5278 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x1316aacc class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x134051d3 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x135015b0 srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x1381a048 iommu_map_range +EXPORT_SYMBOL_GPL vmlinux 0x13864156 relay_open +EXPORT_SYMBOL_GPL vmlinux 0x138b9696 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x14198615 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x144a16e6 account_system_vtime +EXPORT_SYMBOL_GPL vmlinux 0x1451306c ia64_sal_cache_flush +EXPORT_SYMBOL_GPL vmlinux 0x149db923 selinux_string_to_sid +EXPORT_SYMBOL_GPL vmlinux 0x14c77fa9 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x15596414 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x1570ea31 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x15892417 async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1598dc9d unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x159d1a6d ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x1602cd42 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x163f042e tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x16615142 unregister_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0x1701ddd9 device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0x176e347a skb_icv_walk +EXPORT_SYMBOL_GPL vmlinux 0x1842c52f crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x18df9397 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x194918a6 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x195c95df sal_pcibr_slot_enable +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19bb5d6d kill_pid_info_as_uid +EXPORT_SYMBOL_GPL vmlinux 0x19d6a3b3 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0x19ddd320 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0x19e01082 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x19e64a8a rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0x1a069f44 crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1aa9b8cf rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x1b020c3c __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x1b15acf9 register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x1b493fe0 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1bb69e58 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1beda6cd sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x1c05becd crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x1c3af716 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x1c757c87 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x1c833b6b tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x1c852e7c xfrm_calg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c9811be ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x1ccfb0df class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x1e2ff1db spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x1e5f29b2 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e8b03ca fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ecb770b usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x1ee6aa1a ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x1f157a7b device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x1f28cdb5 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x1f7362e9 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1f8663d1 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x1f8e5e4f class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x1f8ec1b3 acpi_get_pci_rootbridge_handle +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x208548a0 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x20a4c24f elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x20b45e0d locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x20b9592e skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20d22764 iommu_found +EXPORT_SYMBOL_GPL vmlinux 0x21a051ab sysdev_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x21c35bcd class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x21d3d5a5 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x21f560fe bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x224c80e3 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x22be6849 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x22c00d54 ia64_dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x22e8b9a5 tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0x2344706d tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23b30a95 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x23e8ccd3 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x23ee5da4 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x23f26468 i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x24144938 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x241a340d platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x241cebb2 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x24462244 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x248a4e1d usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x25675efc ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0x257d2885 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x2591f53b get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x25a1913f crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x260e612e usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x2642e941 nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x268e2c94 device_create +EXPORT_SYMBOL_GPL vmlinux 0x2697127a simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x270cbed4 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x27bab668 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x27c20d1c sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x2821399f security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL vmlinux 0x28f38041 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x28facbf5 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x29766575 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x29b14527 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x29e32951 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x29e9f2f0 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x29ea5f0b __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x29f45efb simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x2a2fb055 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x2a7fefd7 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x2ab28551 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x2af23615 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x2b5c303b smp_send_reschedule +EXPORT_SYMBOL_GPL vmlinux 0x2b92fa94 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x2b9a2c40 fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0x2b9f8e23 nf_net_ipv4_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x2bcaa8e3 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2bce1739 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x2beea44d xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x2c057da3 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x2c1f1ecd regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c714e98 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x2c7e34be tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d2a90d8 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x2d5444ca relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x2d5eaca7 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x2d9f2ce3 sched_clock_idle_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x2dc620e8 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0x2dcebff4 relay_close +EXPORT_SYMBOL_GPL vmlinux 0x2e35a1ce usb_buffer_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x2e47f677 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x2e64f3f1 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x2eb20c9d da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2ec92012 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x2ede7cef usb_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2eed2630 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2ef74db7 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x2f189d1f ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x2f1bf58b device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x2f3dcf8d acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2fdf437d raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x2ffdbf2b led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x3070d389 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x307538b6 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0x3075d51c each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x30788de9 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x3087bcaf usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x30e9e6e9 __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x31035109 pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x3124b2e4 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x318920b1 register_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x31a336e8 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x31a6dc4d srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x31bb95cf unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x31fcd1b0 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x32d5e7fc xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x32f17454 ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x332237fe ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0x3362509a ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x33b9e976 __class_register +EXPORT_SYMBOL_GPL vmlinux 0x344b0ff2 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x344f63b9 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x3483e76d blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x34ae5c43 inotify_destroy +EXPORT_SYMBOL_GPL vmlinux 0x35794f73 fb_ddc_read +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x366c0898 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x36c958d8 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x371148d8 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x37256183 ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x3781b9ea acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x37a9b1fc __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x380e4809 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x3827350e inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x38639d63 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x387dd186 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x3894cbcd blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0x38bad5c6 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x39300ccb bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x397a5ccc console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x3a7e1b7a vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x3acd089f crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x3b32e319 unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x3b96dc52 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x3be7af02 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3c388184 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x3c4f669a usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cdf7eec tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x3d1d936b da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x3d225417 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x3d320620 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x3d4a75d6 get_driver +EXPORT_SYMBOL_GPL vmlinux 0x3d5f392d acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0x3d7f275b xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x3daa5140 bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0x3dc86c8d device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x3e233b91 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x3e24da8d srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x3e50bcb0 inotify_add_watch +EXPORT_SYMBOL_GPL vmlinux 0x3e6b3770 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x3e84ccb7 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x3ea35d39 register_posix_clock +EXPORT_SYMBOL_GPL vmlinux 0x3ec1ac6f debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f238101 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x3f24f9e1 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x40299d8b init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x403538a2 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0x409b7945 drop_file_write_access +EXPORT_SYMBOL_GPL vmlinux 0x40a84c62 page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x40ad2544 fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x40bdcdbe cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x415f12a2 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0x41659f41 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x41ffb860 usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x42494cea ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x424acc6d scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x426e641a blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x42b0d3e3 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x430091c2 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x436041d8 __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x43cf0608 crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x4452d0b7 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x447574e5 ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44a65d5c lock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x44bbe223 class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x44d104b3 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x452c09b4 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45bdaddb crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x46030290 cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0x464f040b simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x46616bdf device_rename +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x46771a05 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x46a3e8c5 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x46bdf2d0 ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x474481c4 inotify_inode_is_dead +EXPORT_SYMBOL_GPL vmlinux 0x47b70722 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x47caf12b device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x47cbaa3b crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x480e076c blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x492e80af spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x4932eba2 cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x495de2bc __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x4989ccdf sysdev_show_int +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49b414bb __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x4a1464ef rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x4a31a937 sysdev_class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x4a7769bc swiotlb_sync_single_range_for_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4ae1e47c aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x4ae8e5dd sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x4aee2043 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0x4b2114f4 __pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x4b3fc959 inet_csk_clone +EXPORT_SYMBOL_GPL vmlinux 0x4b9056aa regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4b9820da usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x4ba5202a blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x4bc14891 swiotlb_sync_single_range_for_device +EXPORT_SYMBOL_GPL vmlinux 0x4c1f58fe do_sync_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x4c2b2065 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x4c41c996 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4c7d7683 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x4c999cad ia64_itr_entry +EXPORT_SYMBOL_GPL vmlinux 0x4d619a03 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x4d8f4c15 klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4db5891d debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x4db95741 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x4dd47ea6 pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0x4e4e9970 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0x4e4faf95 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x4ec3799a ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x4f5e1e83 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x4f753239 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x4fbc471f crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x4fc56cce iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x501e47ff usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x509e8d45 srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x50afa71d klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x50e41af3 get_net_ns_by_pid +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 0x5208c9eb rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0x527adc4b cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0x52d111ea pm_qos_update_requirement +EXPORT_SYMBOL_GPL vmlinux 0x53554a3a rtnl_kill_links +EXPORT_SYMBOL_GPL vmlinux 0x5372dede unregister_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x53b15f41 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x53d85022 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x54858a08 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x552eb4fe hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x5544ece4 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x554670d5 remove_irq +EXPORT_SYMBOL_GPL vmlinux 0x557cc7c7 irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0x55bebc9e platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x55beca42 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x55df7656 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x55f2580b __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x55f71b8c pcibios_fixup_device_resources +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x5636fb0b bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x56530616 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x56846570 pci_block_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0x569068fe __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x56947347 dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x56b406c3 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x57000e54 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x57596845 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57bf619f debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x57c38b3c alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x58000392 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x583c1a1f inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x586487be regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x588fb947 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x590c9524 map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x59422d6b __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x5962f094 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x5972cf78 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x5979ce85 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5991b807 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x59c75326 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x59c7acd4 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x59df12ce usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x5a245e9a usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x5a359198 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5ad20436 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x5b21b771 pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0x5b4dcd1b regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x5b5fa9a0 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c1b14ee device_register +EXPORT_SYMBOL_GPL vmlinux 0x5c688ad5 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x5cdd5acd flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x5d0f6f57 kbd_table +EXPORT_SYMBOL_GPL vmlinux 0x5d31976d usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x5d5ecc9e pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d87c067 register_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5da16de8 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5e0e82ad __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x5e22e216 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x5e2fbb8c driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x5e3f1785 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x5e9a3c9f tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x5efc5948 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x5f5317cf find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x5f64667a device_del +EXPORT_SYMBOL_GPL vmlinux 0x5f95aab6 sn_acpi_rev +EXPORT_SYMBOL_GPL vmlinux 0x5fa017d4 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x5fcdec5d xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x5fe1a97f fib_rules_cleanup_ops +EXPORT_SYMBOL_GPL vmlinux 0x602e5f5a skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a7c18f sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0x60ebd2a5 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x61579f5d regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x61e4a380 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x6203cc1c dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x623f8080 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x6257f643 rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x629a7f6e do_posix_clock_nonanosleep +EXPORT_SYMBOL_GPL vmlinux 0x62a5f19c __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x62be6c20 klist_next +EXPORT_SYMBOL_GPL vmlinux 0x62c92a7d fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x62dd5992 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x6337cccb input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x635e2d49 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x635f0b65 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x636fc9fe cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x6391ac43 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x63ec2683 fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x6420b777 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x642562d8 blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0x64849804 inet_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x64b7a285 unregister_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0x64cc87ec fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x64e24b17 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x654c49e2 aer_irq +EXPORT_SYMBOL_GPL vmlinux 0x6570bfb5 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x658bb324 klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x65aed4b5 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x65bbbc78 schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66cdf2ae hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x66d5f0dc crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x671fb541 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x675ec084 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67d7618a __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x67dceb56 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x67efa308 elv_register +EXPORT_SYMBOL_GPL vmlinux 0x682bb773 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x686c703f xfrm_count_auth_supported +EXPORT_SYMBOL_GPL vmlinux 0x688a34a1 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x6896bc5b transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x68ece848 sysdev_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x6904cd8c usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x6935b57a aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x69d14163 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x6a133578 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x6a6d5806 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x6a8bb155 unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x6b2166a8 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x6b3a0766 inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x6bd0a7d1 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x6be62dfd probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x6c3f9f3b vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x6c41fb0c bd_claim_by_disk +EXPORT_SYMBOL_GPL vmlinux 0x6c4af5a9 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x6c8eb98f xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x6ce30cb8 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x6d085917 inotify_find_watch +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d526733 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x6d57a8e7 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x6e7474fc xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x6e80b63a led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x6ef37ca8 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x6ef47821 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x6f14ebca put_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0x6f28c3e1 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x6f31d8ff usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x6f585059 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6fe3d8cf ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x702c5b7b inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x705e3fa8 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x70895863 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x70c78657 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x70f6c8c0 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x713635d7 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x714973a5 class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x7151dbeb class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x717bd990 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x71f31b72 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x72638f08 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x727ab6ca i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x7290ec99 user_match +EXPORT_SYMBOL_GPL vmlinux 0x72d40a49 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x72df52d9 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x72e03bae stop_machine_create +EXPORT_SYMBOL_GPL vmlinux 0x7300289a sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x73076750 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x7392fab4 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x745424ac k_handler +EXPORT_SYMBOL_GPL vmlinux 0x746ca2a5 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x74abdafa task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74ca3c13 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x74e78eaf empty_zero_page +EXPORT_SYMBOL_GPL vmlinux 0x74f82a3a ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7596aee1 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x75bcbfa7 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x75e00309 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x76afb191 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0x76d5a664 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x7722cf39 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x773ca527 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x77e26474 usb_string +EXPORT_SYMBOL_GPL vmlinux 0x77ed6f23 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x781d21b1 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x789acd66 arch_fix_phys_package_id +EXPORT_SYMBOL_GPL vmlinux 0x78b9f49e crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x78e4a4ee klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x79223386 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x79672040 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x798151b5 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x79b00396 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x79d1c145 sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x79ed9536 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x7ad4bd1b pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7b19cb6c device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0x7b2a9d91 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0x7bc76bf2 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7bf139f6 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x7c0e7ce8 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x7c1ed05f __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x7c569802 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x7cb10961 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7d3fae1e usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x7d5ab4c6 user_update +EXPORT_SYMBOL_GPL vmlinux 0x7d879550 get_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e305f3a fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x7e30c528 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7ea0a6f9 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x7ec21edd crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x7ec643c0 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x7f19c836 unlock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x7f216839 pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x800f2ea1 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x8014b6af input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x8039d043 selinux_secmark_relabel_packet_permission +EXPORT_SYMBOL_GPL vmlinux 0x807c9114 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x8085e3e5 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80e74c21 sysdev_store_int +EXPORT_SYMBOL_GPL vmlinux 0x80ee55c3 selinux_secmark_refcount_inc +EXPORT_SYMBOL_GPL vmlinux 0x8115c027 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x81172a58 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x81a351ee pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x81aeab14 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x82243d16 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x823941d1 __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x823bb16f skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x82501ea0 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x828afdcf led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x82d1994a usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x834e65d7 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x835d24dc crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x84309cbe queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x84511f02 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x84c6a3f5 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x85520cde rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x8598aa66 dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x85b4d537 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x860ce152 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x863de26a usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x864af958 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x867eb66d xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86894b72 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x86a2e77a usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x86b1667d hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x87001dbd bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x8734a9c4 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x877569a5 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x87a7c067 dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x8836d0e3 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x883fba9a user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x885142a6 nf_net_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x885696fc acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x886a8117 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x889e03ee platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x88ccd2a5 kick_process +EXPORT_SYMBOL_GPL vmlinux 0x893ba1ed usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x8975f0d2 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x89a6f8b5 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x8a41b587 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x8a664cfe device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x8a9e43fb sysdev_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8afb8d76 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x8afc2a48 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x8b5877de aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x8bab4ee1 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x8bde0361 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x8bee2ee1 d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x8c0ea6cc __module_address +EXPORT_SYMBOL_GPL vmlinux 0x8c2aa764 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x8c72e82f get_cpu_sysdev +EXPORT_SYMBOL_GPL vmlinux 0x8c836b9e put_driver +EXPORT_SYMBOL_GPL vmlinux 0x8cc67289 blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x8ce63e27 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x8d033df4 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x8d1fe294 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x8d201514 is_multithreading_enabled +EXPORT_SYMBOL_GPL vmlinux 0x8d3c3992 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x8d4acc55 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8e2d36a2 __set_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x8e3138e8 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x8e8a46cb pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x8ef152ba vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x8efd5ffc ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x8f2d2e36 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8fa74514 sysdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8fb7122b ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x8fd5f0c3 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x8fdc096a crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x8ff65bdf rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x9009602a acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x90101e73 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x90457bc0 fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0x906be72e srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9080d8ba crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x908bab2f eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90c59525 shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x9108c72a platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x913b2fcd get_device +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x91d68728 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x9216ede4 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x922a1eae usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x9276cdf3 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x92831a37 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x92be5783 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92fb217b dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9398e333 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0x93a3a1fa security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93d2a79d inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x93da696a tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0x93e5d30d bus_register +EXPORT_SYMBOL_GPL vmlinux 0x942a41f4 iommu_unmap_range +EXPORT_SYMBOL_GPL vmlinux 0x94546b54 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x9493ac9b blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0x94c37b13 sysdev_register +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x95e4be95 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x960a36e7 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x96166794 __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x961a8cd3 unlock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x96408df9 tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0x964d5c39 acpi_os_map_memory +EXPORT_SYMBOL_GPL vmlinux 0x9668cc9b pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9694c39f unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96cc37b7 regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x96fd33f5 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x9710c625 __pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x976d38ee attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x98c61361 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x99eb5149 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a97ff8b relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x9a9a665a inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x9aa2c4a3 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x9b1d942d blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x9b5fd9a6 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x9b900e90 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9bd57fca usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x9bfe0396 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x9c2867d0 klist_init +EXPORT_SYMBOL_GPL vmlinux 0x9c9623ef power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x9c98c034 pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0x9cb8037b xfrm_count_enc_supported +EXPORT_SYMBOL_GPL vmlinux 0x9d5feeb1 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x9d727492 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0x9de7b012 lookup_create +EXPORT_SYMBOL_GPL vmlinux 0x9e4c1897 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x9e711ad2 pm_qos_requirement +EXPORT_SYMBOL_GPL vmlinux 0x9eaeabcf mmput +EXPORT_SYMBOL_GPL vmlinux 0x9eea9107 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0x9f1c53c1 do_add_mount +EXPORT_SYMBOL_GPL vmlinux 0x9f38c33e per_cpu____uv_hub_info +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f78f8a6 ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x9f85ed90 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0x9fb49d8d crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa0255440 net_ipv4_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0xa0633c32 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xa100d4ea crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0xa1155784 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xa13f07dd uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xa16b4ae2 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0xa197bcac klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0xa1c9d766 inotify_init +EXPORT_SYMBOL_GPL vmlinux 0xa23a69d3 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xa27abe5a dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0xa27c2de9 __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0xa27df72e rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0xa296f2f3 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0xa2d63c5f swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0xa2e67f08 acpi_bus_generate_proc_event4 +EXPORT_SYMBOL_GPL vmlinux 0xa2fa07c7 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xa339113f xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xa3a5aa04 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xa3d8fb11 dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xa3ea4a80 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xa40a8590 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xa463d448 sk_clone +EXPORT_SYMBOL_GPL vmlinux 0xa47bf059 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0xa4e84f7a devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa53225a7 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0xa569209b posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0xa5854658 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xa5bf5c3e pm_qos_add_requirement +EXPORT_SYMBOL_GPL vmlinux 0xa5c36cec inotify_unmount_inodes +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa656062b pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xa6c38bb2 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0xa6ca2d85 register_net_sysctl_rotable +EXPORT_SYMBOL_GPL vmlinux 0xa705b4c3 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xa7167722 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0xa737c6fb shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xa74305ee rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0xa79e35e0 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0xa7b59605 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xa7d679a4 generic_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0xa81d3906 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0xa843d3d8 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xa8ec338f usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0xa8f24fa6 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0xa8faefa3 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xa9231bca cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaa031ec0 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0xaa2614f4 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xaa356dd6 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0xaa4abea3 devres_add +EXPORT_SYMBOL_GPL vmlinux 0xaa4e07dc platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xaa8c4696 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0xaabe0a8d invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xaac5aba1 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xaad0215c class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xaaeb2d9d crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0xab144cf4 i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0xab38bd65 register_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0xab703da6 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xaba7d20f set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0xabc318b3 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xac272fb4 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0xac4799cb da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xad474116 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0xad599b1a ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0xad8334a1 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae6d8b02 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xaf39b764 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0xaf5d072e br_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0xaf6cb159 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0xafe845e8 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xafef8249 sysdev_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0xb004fdb2 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0xb01cca47 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0xb06a3126 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0xb0aa812e fips_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb0ac40f4 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb0afb67f rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xb0f88f91 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0xb123d8be blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0xb134b3f9 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xb15d3dae fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0xb1a28242 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb1bc8a49 pm_request_idle +EXPORT_SYMBOL_GPL vmlinux 0xb1d1bcea ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0xb1d8faec find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xb2030832 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xb2061f6b mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xb250f4de xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0xb260628e pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0xb273d353 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0xb2831149 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0xb374ef9f kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0xb38d4fcc crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xb3e3045c rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0xb53ae573 cpu_idle_wait +EXPORT_SYMBOL_GPL vmlinux 0xb542f078 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb58b306b ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0xb58c562f debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb59717d0 usb_autopm_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xb5bb7244 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0xb5ef8b7f device_move +EXPORT_SYMBOL_GPL vmlinux 0xb5faea26 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0xb612444d snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0xb64966d5 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0xb64f45a2 inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0xb65091b3 selinux_secmark_refcount_dec +EXPORT_SYMBOL_GPL vmlinux 0xb6776cb0 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0xb6900a65 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xb71eed24 device_attach +EXPORT_SYMBOL_GPL vmlinux 0xb744fa43 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xb7bb8607 crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xb86465a4 dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0xb903674c scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0xb929654b ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xb99227f4 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0xb99f6f0f pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0xb9a86e5c debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xb9ddb7d5 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0xb9eb3aa9 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xba0c5dd9 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbab6d9f1 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xbb337b77 proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0xbbd6197c sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0xbc2b510f vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0xbc37a866 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0xbcad92f6 eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0xbcd55845 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0xbcdf3622 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xbce381e7 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0xbcf69c94 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xbd232446 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0xbd506a46 unregister_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xbd639604 spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xbdca0575 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xbde22fe7 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xbe116723 do_posix_clock_nosettime +EXPORT_SYMBOL_GPL vmlinux 0xbe2a5e83 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0xbe49084c tcp_done +EXPORT_SYMBOL_GPL vmlinux 0xbe7191b7 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0xbe9bb32b crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xbea92b1d fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0xbea96a41 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0xbef11de7 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0xbef646aa crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0xbf2295af sysdev_create_file +EXPORT_SYMBOL_GPL vmlinux 0xbf4ebb1d unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xbf5975e7 shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0xbf74eb20 probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0xbf8a7b00 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xc06260b1 regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0xc126e890 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xc147dadb ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xc16876e3 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc17a8922 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc1e2b6f5 driver_add_kobj +EXPORT_SYMBOL_GPL vmlinux 0xc1f552bd vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc2489de4 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xc2600ca1 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0xc2614828 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xc2830b4e devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc29148e2 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0xc319027d inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xc3301f02 rcu_expedited_torture_stats +EXPORT_SYMBOL_GPL vmlinux 0xc3350a9e hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc342c06a usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc37b9ce0 proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0xc396c649 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xc41cf340 device_add +EXPORT_SYMBOL_GPL vmlinux 0xc41ecff9 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xc4217eb3 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc46815c2 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0xc46c8cf3 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0xc4c6e1b9 lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0xc4ce9a8c sn_ioboard_to_pci_bus +EXPORT_SYMBOL_GPL vmlinux 0xc4ff024a inotify_dentry_parent_queue_event +EXPORT_SYMBOL_GPL vmlinux 0xc55204a7 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xc5822a28 inotify_find_update_watch +EXPORT_SYMBOL_GPL vmlinux 0xc606e579 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xc60acbcb tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0xc6991b0f sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0xc6f30be4 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xc71141f0 destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xc762af24 __create_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0xc773e193 do_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xc7c24b57 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0xc7dd9aee ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc87e487a sched_clock_idle_sleep_event +EXPORT_SYMBOL_GPL vmlinux 0xc8d2be04 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xc8d83800 input_class +EXPORT_SYMBOL_GPL vmlinux 0xc92d0a79 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9d2943c aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0xc9e1e215 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xca727b94 crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0xca984735 pci_unblock_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0xcac3f808 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0xcb04f88f blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xcb914b69 pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc35ab5b pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0xcc6ab305 is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xcc799377 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0xcc905e6b crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xccb23ee5 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xccc6f064 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0xccca298b fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0xccd4a4c7 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xcd04c146 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xcd1ca2cb iommu_domain_has_cap +EXPORT_SYMBOL_GPL vmlinux 0xcd5fb04c crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xcdc05f1b regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xce170c83 sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xce26211d blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xce743182 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xce81813d spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xce855376 user_describe +EXPORT_SYMBOL_GPL vmlinux 0xcebf77ec inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0xcf210806 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xcf5c6af4 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0xcf5d5e3f devres_remove +EXPORT_SYMBOL_GPL vmlinux 0xcfb4ba33 __class_create +EXPORT_SYMBOL_GPL vmlinux 0xcfbf36ac pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xcfc68341 synchronize_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcfcea905 __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd12ca9f9 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd1b4fe12 sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0xd1f2a7cf platform_device_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xd20529ff register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xd21f8f7f sysdev_class_register +EXPORT_SYMBOL_GPL vmlinux 0xd265ea8c pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd2a18e54 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0xd2a8caf0 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd3055e5a driver_find +EXPORT_SYMBOL_GPL vmlinux 0xd353ab9e pskb_put +EXPORT_SYMBOL_GPL vmlinux 0xd3568179 sysdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd3b63e0b transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0xd3cbb274 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0xd4b82c85 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xd4cf20d1 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0xd4faacf6 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xd4fb88f5 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0xd53bf676 inode_add_to_lists +EXPORT_SYMBOL_GPL vmlinux 0xd53ca3d6 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0xd6057119 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0xd62340fd proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xd63a9998 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd6ab0d9d usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xd6d2a672 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd73ef534 sysdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xd743911a ia64_sal_freq_base +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd7d53e89 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0xd7d79132 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd8212efe task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0xd840b140 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0xd84b30d9 acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0xd8727488 dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xd87c13e3 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0xd894103b simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xd8975561 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xd9042fa8 scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0xd90d890a xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0xd94520d2 pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0xd97a6478 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xd98ad2eb usb_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xd9ae9159 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda3a096c register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xda6acd31 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0xda87fdeb crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0xda8d26c3 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0xda91e728 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0xda9225ae usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xdace8cb1 usb_buffer_unmap_sg +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb274e52 monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0xdbc09d47 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0xdbed5290 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xdbf7d0cd crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xdc4f76a0 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xdd09fcbd anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xdd291c81 crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0xdd33dca5 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xdd351166 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xddd4195c dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0xde1eeed5 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xdf15781f inet_hash +EXPORT_SYMBOL_GPL vmlinux 0xdf388695 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0xdf8345e8 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0xdfbfae7a pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0xe04e58f9 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xe09d6a62 sysdev_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0xe0cca33e xfrm_aead_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xe10858e1 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xe137cb7a crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0xe18896b3 register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0xe247e431 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xe25a64c4 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0xe28a8679 blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0xe2a12e86 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xe32a1fca usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xe35a5845 rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe36f6f72 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0xe3e1f28b unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xe3f74ef8 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0xe45abd6a spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0xe46a4bb3 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0xe482c500 ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0xe48c18de __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0xe4bbd443 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe4c80f24 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0xe530071c pm_qos_remove_requirement +EXPORT_SYMBOL_GPL vmlinux 0xe5440ec6 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0xe54e6419 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0xe58b7d57 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0xe5c11eea alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0xe5e3fe25 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0xe5ec1ced led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0xe61034fd put_device +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe65c7817 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0xe65ef11c input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0xe6832949 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0xe6bb17e6 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0xe6e8d960 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0xe7012bf5 ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe788b6fc crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xe7a2b411 blk_abort_queue +EXPORT_SYMBOL_GPL vmlinux 0xe82cc366 crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0xe847958f inotify_init_watch +EXPORT_SYMBOL_GPL vmlinux 0xe901175f __dev_addr_unsync +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe967d625 queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xe9805e9e devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xe9ac5634 pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0xe9d5aaed __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0xe9d61c9e mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0xe9eb00f8 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0xe9f91bd5 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xea065e01 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea2e121e inotify_inode_queue_event +EXPORT_SYMBOL_GPL vmlinux 0xea6563da input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xeb4e28a2 regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xeb55f687 spi_async +EXPORT_SYMBOL_GPL vmlinux 0xeb5b2f25 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0xec0a1022 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0xec17072c sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0xec1a75a9 __dev_addr_sync +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec49cd41 crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0xec95a27e tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0xed1568c2 sysdev_class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xedd07a59 devres_find +EXPORT_SYMBOL_GPL vmlinux 0xee4b8170 ia64_ptr_entry +EXPORT_SYMBOL_GPL vmlinux 0xeedcf282 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0xeede9371 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0xeefb1114 nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xefa0b686 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xefdd5a63 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xf0797750 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xf0ea2416 ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xf0f4e2ae inotify_remove_watch_locked +EXPORT_SYMBOL_GPL vmlinux 0xf12575a5 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0xf13e860c tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0xf154a604 swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0xf180f9df platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf1aa76b2 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0xf1b6b99c sysdev_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf1bb79af securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xf1cb8eb0 pm_request_resume +EXPORT_SYMBOL_GPL vmlinux 0xf1f4f2f6 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0xf23a3729 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0xf273d802 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0xf2a0c3ca debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xf34806ec hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xf3574ecc init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xf35f458e crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0xf365fd0b attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0xf3668f2e rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xf39ce6a6 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0xf3fcacbb generic_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0xf42a08e0 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xf47fe510 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf49e778e ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0xf4a8385f iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0xf4c578ff pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf5799f7a stop_machine_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf5820447 disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0xf589b391 inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0xf59a5191 inotify_rm_watch +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5db081c bd_release_from_disk +EXPORT_SYMBOL_GPL vmlinux 0xf634bb01 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xf66a57e3 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0xf66c155c crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xf66f260e platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0xf6bcbd73 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xf737fd9b debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0xf7496689 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0xf7c94e78 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0xf7da6286 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf80233c7 platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0xf8513e86 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xf88956cd unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xf8af8e43 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0xf8b32e24 device_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf8ebde53 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xf8f87688 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xf9393372 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0xf9765833 dmi_match +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9a9fa3e __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xf9aa2d9c single_open_net +EXPORT_SYMBOL_GPL vmlinux 0xfa1d38a3 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0xfa1f4662 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0xfa2a35d6 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0xfa685e7c da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0xfa735b78 mca_recover_range +EXPORT_SYMBOL_GPL vmlinux 0xfbd6f860 driver_register +EXPORT_SYMBOL_GPL vmlinux 0xfbdedd48 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfc3782d1 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0xfc8fc67e register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xfcb7a85e platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0xfcb7fc5a user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xfcd9ed51 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0xfd79effa usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0xfdce9c1e crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfde3b583 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfdf0fbc8 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xfe513f38 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xfe8f3510 devres_get +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfefa2adb input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0xfefaf5a4 put_pid +EXPORT_SYMBOL_GPL vmlinux 0xff722062 inet_diag_register +EXPORT_SYMBOL_GPL vmlinux 0xff799675 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xff79fd5a driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xff8d28ed fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xff95758a regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0xffbce924 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xffc433dd invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0xffcbf27c nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0xffcd19a9 crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xffd76335 usb_sg_init +EXPORT_UNUSED_SYMBOL vmlinux 0x00000000 simple_prepare_write --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/ia64/ia64.compiler +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/ia64/ia64.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3 --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/ia64/ia64.modules +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/ia64/ia64.modules @@ -0,0 +1,2060 @@ +3c359 +3c574_cs +3c589_cs +3c59x +3w-9xxx +3w-xxxx +6pack +8021q +8139cp +8139too +8250 +8250_pci +8250_pnp +8390 +9p +9pnet +9pnet_rdma +a100u2w +a3d +aacraid +ab3100 +ab3100-core +ab3100-otp +abyss +ac97_bus +acecad +acenic +act200l-sir +act_gact +act_ipt +actisys-sir +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +ad7414 +ad7418 +ad7877 +ad7879 +adcxx +adfs +adi +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm8211 +adm9240 +adp5588-keys +ads7846 +adt7462 +adt7470 +adt7475 +adutux +adv7170 +adv7175 +adv7180 +adv7343 +advansys +aes_generic +af_802154 +af9013 +affs +af_key +af-rxrpc +agpgart +ah4 +ahci +aic79xx +aic7xxx +aic94xx +aiptek +aircable +airo +airo_cs +alauda +ambassador +amd8111e +analog +ansi_cprng +anubis +aoe +appledisplay +appletalk +appletouch +applicom +ar7part +ar9170usb +arc4 +arcmsr +arcnet +arc-rawmode +arc-rimi +ark3116 +arkfb +arptable_filter +arp_tables +arpt_mangle +asix +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +ata_generic +ata_piix +aten +ath +ath9k +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atm +atmel +atmel_cs +atmel_pci +atmtcp +atp870u +atxp1 +aty128fb +atyfb +au0828 +au8522 +authenc +auth_rpcgss +autofs +autofs4 +avmfritz +ax25 +axnet_cs +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b43 +b43legacy +b44 +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcm203x +bcm3510 +bcm5974 +be2iscsi +be2net +befs +belkin_sa +berry_charge +bfa +bfs +bfusb +binfmt_misc +block2mtd +blowfish +bluecard_cs +bluetooth +bnep +bnx2 +bnx2i +bpa10x +bpck +bpqether +bq24022 +bq27x00_battery +br2684 +bridge +broadcom +broadsheetfb +bsd_comp +bt3c_cs +bt819 +bt856 +bt866 +bt878 +btcx-risc +btmrvl +btmrvl_sdio +btrfs +btsdio +bttv +btuart_cs +btusb +button +bw-qcam +c67x00 +cachefiles +cafe_ccic +cafe_nand +camellia +can +can-bcm +can-dev +can-raw +capmode +carminefb +cassini +cast5 +cast6 +catc +cb710 +cb710-mmc +cbc +cciss +cdc-acm +cdc_eem +cdc_ether +cdc-phonet +cdc_subset +cdc-wdm +cdrom +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch +ch341 +chipreg +cicada +cifs +cirrusfb +clip +cls_basic +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cn +cnic +cobra +coda +com20020 +com20020_cs +com20020-pci +com90io +com90xx +comm +configfs +container +core +cp210x +cpia +cpia2 +cpia_pp +cpia_usb +cpqarray +cpufreq_stats +c-qcam +cramfs +crc32c +crc7 +crc-ccitt +crc-itu-t +crc-t10dif +cryptd +cryptoloop +crypto_null +cs5345 +cs53l32a +cts +cuse +cx18 +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24123 +cx25840 +cx8800 +cx8802 +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx88xx +cxacru +cxgb +cxgb3 +cxgb3i +cyber2000fb +cyberjack +cyclades +cyclomx +cycx_drv +cypress_cy7c63 +cypress_m8 +cytherm +da9030_battery +da9034-ts +da903x +da903x_bl +DAC960 +davicom +db9 +dc395x +de2104x +de4x5 +de600 +de620 +decnet +deflate +defxx +des_generic +dib0070 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dibx000_common +digi_acceleport +diskonchip +display +dl2k +dlci +dlm +dm1105 +dm9601 +dm-crypt +dme1737 +dmfe +dm-log +dm-mirror +dm-multipath +dm-queue-length +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dmx3191d +dm-zero +dnet +dn_rtmsg +doc2000 +doc2001 +doc2001plus +docecc +docprobe +dpt_i2o +drm +drm_kms_helper +ds1621 +ds1682 +ds2482 +ds2490 +ds2760_battery +ds2782_battery +dsbr100 +dscc4 +dst +dst_ca +dstr +dtl1_cs +dummy +dv1394 +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-anysee +dvb-usb-au6610 +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-friio +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-m920x +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +e100 +e1000 +e1000e +earth-pt1 +ecb +econet +ecryptfs +eeprom +eeprom_93cx6 +eeti_ts +efivars +efs +elo +em28xx +em28xx-dvb +em_cmp +emi26 +emi62 +em_meta +em_nbyte +empeg +ems_pci +ems_usb +em_text +emu10k1-gp +em_u32 +eni +enic +epat +epca +epia +epic100 +eql +esi-sir +esp4 +et1011c +et61x251 +eth1394 +ethoc +evbug +evdev +exofs +exportfs +f71805f +f71882fg +f75375s +fan +farsync +fat +faulty +fb_sys_fops +fcoe +fcrypt +fdomain +fdomain_cs +fealnx +ff-memless +firedtv +firestream +fit2 +fit3 +fm801-gp +fmvj18x_cs +forcedeth +fore_200e +freevxfs +friq +frpw +fscache +ftdi-elan +ftdi_sio +ftl +fujitsu_ts +funsoft +g760a +gadgetfs +gamecon +gameport +garmin_gps +garp +g_audio +g_cdc +generic +generic_bl +gen_probe +g_ether +gf128mul +gf2k +g_file_storage +gfs2 +ghash-generic +girbil-sir +gl518sm +gl520sm +gl620a +gluebi +g_midi +g_printer +grip +grip_mp +g_serial +gspca_conex +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_ov519 +gspca_ov534 +gspca_pac207 +gspca_pac7311 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_stk014 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_tv8532 +gspca_vc032x +gspca_zc3xx +gtco +guillemot +gunze +g_zero +hamachi +hangcheck-timer +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 +hfs +hfsplus +hid +hid-3m-pct +hid-a4tech +hid-apple +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-drff +hid-ezkey +hid-gaff +hid-gyration +hid-kensington +hid-kye +hid-logitech +hid-microsoft +hid-monterey +hid-mosart +hid-ntrig +hid-ortek +hidp +hid-petalynx +hid-pl +hid-quanta +hid-samsung +hid-sjoy +hid-sony +hid-stantum +hid-sunplus +hid-tmff +hid-topseed +hid-twinhan +hid-wacom +hid-zpff +horizon +hostap +hostap_cs +hostap_pci +hostap_plx +hp100 +hp4x +hp_accel +hpfs +hpilo +hptiop +hso +htc-pasic3 +hwa-hc +hwa-rc +hwmon-vid +i1480-dfu-usb +i1480-est +i1480u-wlp +i2400m +i2400m-sdio +i2400m-usb +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd8111 +i2c-dev +i2c-i801 +i2c-isch +i2c-matroxfb +i2c-nforce2 +i2c-ocores +i2c-parport +i2c-parport-light +i2c-pca-platform +i2c-piix4 +i2c-scmi +i2c-simtec +i2c-sis5595 +i2c-sis630 +i2c-sis96x +i2c-stub +i2c-taos-evm +i2c-tiny-usb +i2c-via +i2c-viapro +i2c-voodoo3 +i2o_block +i2o_bus +i2o_config +i2o_core +i2o_proc +i2o_scsi +i5k_amb +i82092 +ib_addr +ib_cm +ib_core +ib_ipoib +ib_mad +ibmcam +ib_mthca +ibmtr_cs +ib_sa +icplus +ics932s401 +idmouse +idt77252 +ieee1394 +ifb +iforce +igbvf +ili9320 +imm +inexio +initio +input-polldev +int51x1 +intel-rng +intel_vr_nor +interact +ioc3 +ioc4 +io_edgeport +io_ti +iowarrior +ip2 +ip6_queue +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_LOG +ip6t_mh +ip6t_REJECT +ip6t_rt +ipaq +ipcomp +ipddp +ip_gre +iphase +ipip +ipr +ips +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_addrtype +ipt_ah +ipt_CLUSTERIP +ipt_ecn +ipt_ECN +ipt_LOG +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_ULOG +ipv6 +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipw2100 +ipw2200 +ipx +ircomm +ir-common +ircomm-tty +irda +irda-usb +ir-kbd-i2c +irlan +irnet +irtty-sir +ir-usb +iscsi_tcp +isdn +isdnhdlc +isight_firmware +isl29003 +isl6405 +isl6421 +isofs +isp116x-hcd +isp1362-hcd +isp1760 +istallion +it87 +iTCO_vendor_support +iTCO_wdt +itd1000 +iuu_phoenix +ivtv +ivtvfb +iw_cm +iw_cxgb3 +iwlagn +iwlcore +iwmc3200wifi +ixgb +ixgbe +ixj +ixj_pcmcia +jedec_probe +jffs2 +jfs +jme +joydev +joydump +jsm +kafs +kaweth +kbic +kbtab +kernelcapi +keyspan +keyspan_pda +keyspan_remote +khazad +kingsun-sir +kl5kusb105 +kobil_sct +konicawc +ks0108 +ks0127 +ks8842 +ks8851 +ks8851_mll +ks959-sir +ksdazzle-sir +ktti +kvaser_pci +kyrofb +l2cap +l64781 +lanai +lapb +lapbether +lcd +ldusb +lec +led-class +leds-bd2802 +leds-da903x +leds-dac124s085 +leds-lp3944 +leds-pca9532 +leds-pca955x +leds-wm831x-status +leds-wm8350 +ledtrig-backlight +ledtrig-default-on +ledtrig-heartbeat +ledtrig-timer +legousbtower +lgdt3305 +lgdt330x +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libata +libcrc32c +libertas +libertas_cs +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libosd +libsas +libsrp +lightning +linear +lis3lv02d +litelink-sir +lkkbd +llc2 +lm63 +lm70 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95241 +lmc +lnbp21 +lockd +loop +lp +lp3971 +lpddr_cmds +lpfc +lrw +ltc4215 +ltc4245 +ltv350qv +lxt +lzo +lzo_compress +lzo_decompress +m25p80 +m52790 +ma600-sir +mac80211 +mac80211_hwsim +macmodes +magellan +map_absent +map_funcs +map_ram +map_rom +marvell +matroxfb_maven +matrox_w1 +max1111 +max1586 +max1619 +max17040_battery +max3100 +max6650 +max6875 +max7359_keypad +mb862xxfb +mc13783 +mc13783-core +mc44s803 +mcp2120-sir +mcs5000_ts +mcs7780 +mcs7830 +mct_u232 +md4 +mdc800 +mdio +mdio-bitbang +md-mod +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +metronomefb +mfd-core +mga +michael_mic +microtek +mii +minix +mISDN_core +mISDNinfineon +mISDNipac +mISDNisar +mk712 +mkiss +mlx4_core +mlx4_en +mlx4_ib +mmc_block +mmc_core +mmc_spi +mos7720 +mos7840 +moto_modem +moxa +mpoa +mpt2sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +msdos +msp3400 +mt2060 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt9m001 +mt9m111 +mt9t031 +mt9v011 +mt9v022 +mtd +mtd_blkdevs +mtdblock +mtdblock_ro +mtdchar +mtdconcat +mtd_dataflash +mtd_oobtest +mtdoops +mtd_pagetest +mtdram +mtd_readtest +mtd_speedtest +mtd_stresstest +mtd_subpagetest +mtd_torturetest +mtouch +multipath +mwl8k +mxl5005s +mxl5007t +myri10ge +nand +nand_ecc +nand_ids +nandsim +national +natsemi +navman +nbd +ncpfs +ne2k-pci +neofb +net1080 +net2280 +netconsole +netjet +netrom +netwave_cs +netxen_nic +newtonkbd +nf_conntrack +nf_conntrack_amanda +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_tftp +nf_defrag_ipv4 +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_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nftl +nf_tproxy_core +n_hdlc +nilfs2 +nl802154 +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 +n_r3964 +ns558 +ns83820 +ntfs +nvidiafb +nxt200x +nxt6000 +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +ohci1394 +old_belkin-sir +olympic +omfs +omninet +on20 +on26 +onenand +onenand_sim +opencores-kbd +oprofile +opticon +option +or51132 +or51211 +orinoco +orinoco_cs +osd +osdblk +osst +oti6858 +output +ov7670 +ov772x +ovcamchip +oxu210hp-hcd +p54common +p54pci +p54spi +p54usb +p8023 +paride +parkbd +parport +parport_ax88796 +parport_cs +parport_pc +parport_serial +pata_acpi +pata_amd +pata_atp867x +pata_cs5520 +pata_efar +pata_it8213 +pata_it821x +pata_jmicron +pata_marvell +pata_mpiix +pata_netcell +pata_ninja32 +pata_oldpiix +pata_pcmcia +pata_pdc2027x +pata_rdc +pata_rz1000 +pata_sch +pata_serverworks +pata_sil680 +pata_sis +pata_sl82c105 +pata_triflex +pata_via +pc87360 +pc87427 +pcap_keys +pcap-regulator +pcap_ts +pcbc +pcd +pcf50633-adc +pcf50633-charger +pcf50633-core +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8591 +pci +pci200syn +pcips2 +pci_slot +pcmcia +pcmcia_core +pcnet32 +pcnet_cs +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pdc_adma +pegasus +penmount +pf +pg +phantom +phonedev +phonet +phram +physmap +pktcdvd +pktgen +pl2303 +platform_lcd +plat_nand +plat-ram +plip +plusb +pluto2 +pm2fb +pm3fb +pmc551 +pmcraid +pn_pep +powermate +power_meter +ppa +ppdev +ppp_async +ppp_deflate +ppp_generic +ppp_mppe +pppoatm +pppoe +pppol2tp +pppox +ppp_synctty +pps_core +prism54 +processor +psmouse +pt +pvrusb2 +pwc +qcserial +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlge +qlogic_cs +qlogicfas408 +qnx4 +qsemi +qt1010 +quickcam_messenger +quota_tree +quota_v1 +quota_v2 +r128 +r8169 +r8a66597-hcd +radeon +radio-gemtek-pci +radio-i2c-si470x +radio-maestro +radio-maxiradio +radio-mr800 +radio-si4713 +radio-tea5764 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +raid_class +raw +raw1394 +ray_cs +rdma_cm +rds +rds_rdma +rds_tcp +redboot +reed_solomon +reiserfs +rfc1051 +rfc1201 +rfcomm +rfd_ftl +rfkill +ricoh_mmc +rio500 +riscom8 +rivafb +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rocket +romfs +rose +rpcsec_gss_krb5 +rpcsec_gss_spkm3 +rrunner +rsrc_nonstatic +rt2400pci +rt2500pci +rt2500usb +rt2800usb +rt2x00lib +rt2x00pci +rt2x00usb +rt61pci +rt73usb +rtc-ab3100 +rtc-bq4802 +rtc-ds1286 +rtc-ds1305 +rtc-ds1307 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-ds3234 +rtc-efi +rtc-fm3130 +rtc-isl1208 +rtc-m41t80 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-pcap +rtc-pcf2123 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-r9701 +rtc-rs5c348 +rtc-rs5c372 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-twl4030 +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtl8150 +rtl8187 +rxkad +s1d13xxxfb +s2255drv +s2io +s3fb +s5h1409 +s5h1411 +s5h1420 +saa5246a +saa5249 +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +saa7191 +safe_serial +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 +sbp2 +sc92031 +sch_atm +sch_cbq +sch_drr +sch_dsmark +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_multiq +sch_netem +sch_prio +sch_red +sch_sfq +sch_tbf +sch_teql +sco +scsi_debug +scsi_dh +scsi_dh_alua +scsi_dh_emc +scsi_dh_hp_sw +scsi_dh_rdac +scsi_mod +scsi_tgt +scsi_transport_fc +scsi_transport_iscsi +scsi_transport_sas +scsi_transport_spi +scsi_transport_srp +scsi_wait_scan +sctp +sdhci +sdhci-pci +sdhci-pltfm +sdio_uart +sd_mod +sdricoh_cs +se401 +seed +serial_core +serial_cs +serio_raw +sermouse +serpent +serport +sfc +sg +sha1_generic +sha256_generic +sha512_generic +si21xx +si4713-i2c +sidewinder +siemens_mpi +sierra +sir-dev +sis +sis190 +sis5595 +sis900 +sisfb +sisusbvga +sit +sja1000 +sja1000_platform +skfp +skge +sky2 +sl811_cs +sl811-hcd +slhc +slip +slram +sm501 +sm501fb +smbfs +smc91c92_cs +smsc +smsc47b397 +smsc47m1 +smsc47m192 +smsc9420 +smsc95xx +smsdvb +smsmdtv +smssdio +smsusb +sn9c102 +snd +snd-ac97-codec +snd-ad1889 +snd-ak4114 +snd-ak4117 +snd-ak4xxx-adda +snd-ali5451 +snd-als300 +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-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-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-atihdmi +snd-hda-codec-ca0110 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-idt +snd-hda-codec-intelhdmi +snd-hda-codec-nvhdmi +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-intel +snd-hdsp +snd-hdspm +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-korg1212 +snd-layla20 +snd-layla24 +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-page-alloc +snd-pcm +snd-pcm-oss +snd-pcxhr +snd-pdaudiocf +snd-portman2x4 +snd-pt2258 +snd-rawmidi +snd-riptide +snd-rme32 +snd-rme96 +snd-rme9652 +snd-seq +snd-seq-device +snd-seq-dummy +snd-seq-midi +snd-seq-midi-emul +snd-seq-midi-event +snd-seq-oss +snd-seq-virmidi +snd-serial-u16550 +snd-soc-ad1836 +snd-soc-ad1938 +snd-soc-ad73311 +snd-soc-ak4104 +snd-soc-ak4535 +snd-soc-ak4642 +snd-soc-core +snd-soc-cs4270 +snd-soc-l3 +snd-soc-max9877 +snd-soc-pcm3008 +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-tlv320aic23 +snd-soc-tlv320aic26 +snd-soc-tlv320aic3x +snd-soc-twl4030 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wm8350 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8776 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8993 +snd-soc-wm9081 +snd-soc-wm-hubs +snd-sonicvibes +snd-tea575x-tuner +snd-timer +snd-trident +snd-usb-audio +snd-usb-caiaq +snd-usb-lib +snd-util-mem +snd-via82xx +snd-via82xx-modem +snd-virmidi +snd-vx222 +snd-vx-lib +snd-vxpocket +snd-ymfpci +soc_camera +soc_camera_platform +softdog +solos-pci +soundcore +sound_firmware +sp8870 +sp887x +spaceball +spaceorb +spcp8x5 +specialix +spectrum_cs +speedfax +speedtch +spi_bitbang +spi_butterfly +spidev +spi_lm70llp +squashfs +sr_mod +ssb +ssfdc +sst25l +st +stallion +starfire +stb6000 +ste10Xp +stex +stinger +stir4200 +stowaway +stp +stradis +strip +stv0288 +stv0297 +stv0299 +stv0900 +stv6110 +stv680 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +svcrdma +svgalib +sx8 +sym53c500_cs +sym53c8xx +symbolserial +synaptics_i2c +synclink_cs +synclink_gt +synclinkmp +syscopyarea +sysfillrect +sysimgblt +sysv +tcm825x +tcp_bic +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 +tda10086 +tda18271 +tda7432 +tda8083 +tda826x +tda827x +tda8290 +tda9840 +tda9875 +tda9887 +tdfx +tdo24m +tea +tea5761 +tea5767 +tea6415c +tea6420 +tehuti +tekram-sir +tg3 +tgr192 +thermal +thermal_sys +thmc50 +ths7303 +tifm_7xx1 +tifm_core +tifm_sd +timeriomem-rng +tipc +ti_usb_3410_5052 +tlan +tle62x0 +tlv320aic23b +tmdc +tmiofb +tmp401 +tmp421 +tms380tr +tmscsim +tmspci +toim3232-sir +touchit213 +touchright +touchwin +tpm +tpm_atmel +tpm_bios +tpm_nsc +tps65023-regulator +tps6507x-regulator +trancevibrator +tridentfb +ts_bm +tsc2007 +ts_fsm +ts_kmp +tsl2550 +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +turbografx +tvaudio +tveeprom +tvp514x +tvp5150 +tw9910 +twidjoy +twl4030_keypad +twl4030-pwrbutton +twl4030-usb +twl4030_wdt +twofish +twofish_common +typhoon +u132-hcd +ubi +ubifs +udf +ueagle-atm +uinput +uio +uio_aec +uio_cif +uio_pci_generic +uio_pdrv +uio_pdrv_genirq +uio_sercos3 +uio_smx +uli526x +ultracam +umc +umem +ums-alauda +ums-cypress +ums-datafab +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-sddr09 +ums-sddr55 +ums-usbat +upd64031a +upd64083 +uPD98402 +usb8xxx +usbatm +usb_debug +usbhid +usblcd +usbled +usblp +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +usbtouchscreen +usbvideo +usbvision +userspace-consumer +uss720 +uvcvideo +uvesafb +uwb +v4l1-compat +v4l2-common +v4l2-int-device +vcan +ves1820 +ves1x93 +veth +vfat +vgastate +vgg2432a4 +via +via686a +viafb +via-rhine +via-sdmmc +via-velocity +vicam +video1394 +videobuf-core +videobuf-dma-sg +videobuf-dvb +videobuf-vmalloc +videocodec +videodev +virtual +visor +vitesse +vivi +vlsi_ir +vmac +vp27smpx +vpx3220 +vstusb +vsxxxaa +vt1211 +vt8231 +vt8623fb +vxge +w1_bq27000 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1_smem +w1_therm +w6692 +w83627ehf +w83627hf +w83781d +w83791d +w83792d +w83793 +w83l785ts +w9966 +w9968cf +wacom +wacom_w8001 +wanrouter +wanxl +warrior +wavelan_cs +wdt_pci +whci +whci-hcd +whc-rc +whiteheat +wimax +winbond-840 +wire +wl1251 +wl1251_sdio +wl1251_spi +wl1271 +wl3501_cs +wlp +wm831x +wm831x_bl +wm831x-dcdc +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x_power +wm831x_wdt +wm8350 +wm8350-hwmon +wm8350-i2c +wm8350_power +wm8350-regulator +wm8350_wdt +wm8400-core +wm8400-regulator +wm8739 +wm8775 +wm97xx-ts +wp512 +wpan-class +wusb-cbaf +wusbcore +wusb-wa +x25 +x25_asy +xc5000 +xcbc +xfrm4_mode_beet +xfrm4_mode_transport +xfrm4_mode_tunnel +xfrm4_tunnel +xfrm6_mode_beet +xfrm6_mode_transport +xfrm6_mode_tunnel +xfrm_ipcomp +xfrm_user +xfs +xhci +xirc2ps_cs +xircom_cb +xor +xp +xpad +xpc +xpnet +xprtrdma +x_tables +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNMARK +xt_CONNSECMARK +xt_conntrack +xt_dccp +xt_dscp +xt_DSCP +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xtkbd +xt_LED +xt_length +xt_limit +xt_mac +xt_mark +xt_MARK +xt_multiport +xt_NFLOG +xt_NFQUEUE +xt_NOTRACK +xt_osf +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_realm +xt_recent +xts +xt_sctp +xt_SECMARK +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_tcpudp +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xusbatm +yam +yealink +yellowfin +yenta_socket +zatm +zc0301 +zd1201 +zd1211rw +zhenhua +zl10036 +zl10039 +zl10353 +zlib +zlib_deflate +zr36016 +zr36050 +zr36060 +zr36067 +zr364xx --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/powerpc/powerpc +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/powerpc/powerpc @@ -0,0 +1,9486 @@ +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 0x50f6f0d0 suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0xf20a5edf uPD98402_init +EXPORT_SYMBOL drivers/block/loop 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL drivers/block/loop 0xf4ffa7ac loop_register_transfer +EXPORT_SYMBOL drivers/block/paride/paride 0x2801f135 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x3caf4e79 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x492608e8 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x56311a60 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0x5a8bedd0 pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x70bdc7bf paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x7c833961 pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x916324ab pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0xa8711b82 pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xade156c9 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0xc483114e pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0xd1dd10d3 pi_release +EXPORT_SYMBOL drivers/char/agp/agpgart 0x0707c83c agp_generic_alloc_by_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0x10b04517 agp_generic_alloc_page +EXPORT_SYMBOL drivers/char/agp/agpgart 0x23349758 agp_generic_destroy_pages +EXPORT_SYMBOL drivers/char/agp/agpgart 0x2a68cc84 agp_generic_enable +EXPORT_SYMBOL drivers/char/agp/agpgart 0x30226ddf agp_device_command +EXPORT_SYMBOL drivers/char/agp/agpgart 0x38e2d013 agp_copy_info +EXPORT_SYMBOL drivers/char/agp/agpgart 0x413dca4b get_agp_version +EXPORT_SYMBOL drivers/char/agp/agpgart 0x4372d174 agp_generic_remove_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x43b190c7 agp_bind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x4724e25c agp_generic_free_gatt_table +EXPORT_SYMBOL drivers/char/agp/agpgart 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL drivers/char/agp/agpgart 0x4d69a8b0 agp_generic_create_gatt_table +EXPORT_SYMBOL drivers/char/agp/agpgart 0x4dfce93f agp_enable +EXPORT_SYMBOL drivers/char/agp/agpgart 0x58e86464 agp_generic_alloc_user +EXPORT_SYMBOL drivers/char/agp/agpgart 0x673f815e agp_bridges +EXPORT_SYMBOL drivers/char/agp/agpgart 0x6d2ee0b8 agp_free_page_array +EXPORT_SYMBOL drivers/char/agp/agpgart 0x7538b132 agp_off +EXPORT_SYMBOL drivers/char/agp/agpgart 0x7823c048 agp_put_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0x7acc21de agp_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0x7af29aeb agp_unbind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x81892411 agp_generic_mask_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x90d4e626 agp_backend_acquire +EXPORT_SYMBOL drivers/char/agp/agpgart 0x9da1c32f agp_create_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL drivers/char/agp/agpgart 0xa5a58a48 agp_free_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb04ea8f0 agp_rebind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb59b62d6 agp_allocate_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb9ac4d5b agp_generic_alloc_pages +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc43e5464 agp_generic_insert_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc71d4cd2 agp_flush_chipset +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc94b8bb1 agp_backend_release +EXPORT_SYMBOL drivers/char/agp/agpgart 0xcb3afb60 agp_alloc_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0xcc917288 agp3_generic_tlbflush +EXPORT_SYMBOL drivers/char/agp/agpgart 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL drivers/char/agp/agpgart 0xd23ef827 agp_collect_device_status +EXPORT_SYMBOL drivers/char/agp/agpgart 0xda4c2d3b agp_generic_free_by_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0xda96b2a8 agp_generic_type_to_mask_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0xdb43f151 agp_find_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL drivers/char/agp/agpgart 0xe376c255 agp_alloc_page_array +EXPORT_SYMBOL drivers/char/agp/agpgart 0xfe8a1b8f agp_generic_destroy_page +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 0x1254daa7 ipmi_register_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x167565d4 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1f0453df ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x20c660a4 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x26e396e0 ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4031575c ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x440f3b2a ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x44f066bc ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4779072f ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4cbf8822 ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x59a141ee ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5d8696b5 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x68aa3af7 ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x76e82902 ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x81bad66b ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x825b38f5 ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x9d5a5592 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa2bc73b0 ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xc54111a1 ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd1e284ef ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe39750ad ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xee0c82df ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfa4c8b4f ipmi_request_settime +EXPORT_SYMBOL drivers/edac/edac_core 0x8d937703 edac_mc_handle_fbd_ue +EXPORT_SYMBOL drivers/edac/edac_core 0x96e186eb edac_mc_find +EXPORT_SYMBOL drivers/edac/edac_core 0xf07b4128 edac_mc_handle_fbd_ce +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04102ae0 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0612cc51 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0809b912 drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0836695c drm_sman_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x088ddf1f drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c52ccac drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c60867b drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ce42175 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1771170f drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x17c2bd96 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1877211c drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1b0b33d3 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c2c5b8c drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1da1c287 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ee77efe drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f072c59 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f9dc880 drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21451ac4 drm_sman_owner_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23b345a4 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23d6b597 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2435312f drm_get_drawable_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25da10a5 drm_agp_chipset_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25e0d8ae drm_sg_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2723d74f drm_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2916bf63 drm_sman_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29dac398 drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a7aedc4 drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a870576 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2eb2f903 drm_sman_free_key +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x337be897 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37ea1ed8 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x383d7e1f drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a4ee52c drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c9a1409 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e6f3bd1 drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ef120e7 drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f1dd72a drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4072d3de drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40a8dfbe drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x451ad91b drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x46d584d6 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4956d419 drm_get_resource_len +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ec3139c drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ed4f9bc drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ef4ba97 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51574863 drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5165ad59 drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x532c9c43 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55f060ee drm_sman_set_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x577f5c2e drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x580830f0 drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x583989e8 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b04983f drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5cb0cde5 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d0f8e7d drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ea53c9c drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5eca9af9 drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f2805b6 drm_get_resource_start +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f6951f0 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60ae4f72 drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62962662 drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62ed2aef drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6566c539 drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66cd86b7 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68ca167d drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68d5ce19 drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68e74f9a drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a017bbb drm_get_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ad6125b drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d2e5837 drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f0880ab drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f6a047a drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fc30481 drm_mode_hsync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70a9916c drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71a91d7b drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73b942fe drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x784915eb drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a8be215 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b2ba968 drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7becf9f2 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c1fd6c8 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7dfe0b4b drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f2bf8d0 drm_lock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f861d61 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x815a2cb4 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81b936c8 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83a466f3 drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83de39ed drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0x84da937b drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8582edca drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85de09f5 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87d6e7ef drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8903ea5d drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8cb46689 drm_lock_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94ec6c2c drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x964f69a8 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x98474a78 drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x984a4fd1 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99303068 drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99bdb89e drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9a24ea8b drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e9a7652 drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ec7c478 drm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa76cc9b4 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaaa54017 drm_core_get_reg_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae4a381a drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae4f58a8 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf29788e drm_sman_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4052725 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb68386a4 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb782a44f drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb834f692 drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8c35edc drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc2ffbe8 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe5d5a14 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1718cfd drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc19aa52e drm_do_probe_ddc_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3a412f7 drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4f368ec drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5ba5df0 drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6794f16 drm_core_get_map_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdf2eff4 drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd08fa3f0 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd14b9db8 drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2e568c3 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3028e75 drm_sman_set_manager +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd384cfa2 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3f2a994 drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3ffab51 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd473578f drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd9938344 drm_i_have_hw_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdb7f62c8 drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd3febe2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd49095c drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1457735 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe24a7b88 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe4fec992 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5bdce7e drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6db1cf3 drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe919dd5c drm_sman_owner_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe98d3c90 drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe9e511a9 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeac6022c drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb2ecbf2 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb6c8f0d drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeecdbee9 drm_agp_bind_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef0a73d3 drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef42644e drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf11a72a5 drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1ada65c drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2f75812 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf42a2b26 drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf91bb3a1 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa19c633 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfaf138e7 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc996e2f drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd854908 drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd9db163 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdfbad19 drm_sman_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe169e7f drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe370d8f drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0430c15b drm_helper_probe_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06c5b7fb drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x10878665 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2500bd72 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2e16393d drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3509d913 drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4149974d drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x415e2f62 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x421e87a6 drm_fb_helper_init_crtc_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x56c08d40 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x63b78959 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x69de7c4e drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6ca23053 drm_fb_helper_setcolreg +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x74099030 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7d11fa9f drm_fb_helper_free +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x967ea1a9 drm_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa3c6a0fd drm_fb_helper_add_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb44c4b1a drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc158e32e drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcc675181 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd194243d drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd9f4cb6a drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe92af6f1 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xef66d14f drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf612c148 drm_helper_hotplug_stage_two +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0x2f5ef1f3 radeonfb_resize +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0x766743e0 radeonfb_remove +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0270bb64 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x07787990 ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0bb6c056 ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0de98dc9 ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x132b05be ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x149c4c70 ttm_mem_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1bc1381a ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1c5679ad ttm_ref_object_add +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1debfa1a ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x219b251c ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x22d8c4b4 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x24536b5d ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2abc11d1 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x34704ea7 ttm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x365feb2e ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x36bd0747 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x376ac7be ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3c3c3af1 ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x424d6505 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x47a2658f ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4ea73215 ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x59609446 ttm_suspend_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5e69f585 ttm_base_object_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61bdb34f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x62421faa ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x65c9ebe6 ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x66666d70 ttm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6a6eb82e ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6c9c44d8 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x802d320c ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x80d35dda ttm_object_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x842962e4 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x86a4066d ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x887bf5ba ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8f264193 ttm_agp_backend_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x938975bb ttm_object_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9c08fea2 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9c7d4cb5 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9d815cd1 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa77b51bc ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xacc80e98 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb11fabf3 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb2c08e8d ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb8f9d883 ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbc43b03e ttm_base_object_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbe2331a5 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc409eeae ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc43b400c ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcb9ab3c3 ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd318de28 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd3202caa ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdc8573ea ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdd897b88 ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe145c33f ttm_object_file_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe25f2d4d ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe39e4134 ttm_base_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf81debea ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfda31e08 ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfe362a63 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xff890798 ttm_bo_unmap_virtual +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 0x6a0eb93d i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x8ae30815 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x0f1407a8 amd756_smbus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x032c72c4 hpsb_add_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0849cba7 hpsb_iso_recv_listen_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0e903f45 hpsb_free_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x15842822 hpsb_bus_reset +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x15f85242 hpsb_iso_recv_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x191b0ea3 hpsb_iso_recv_flush +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1a200e5a csr1212_release_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1e9de7f2 hpsb_free_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1fd8e8b9 hpsb_register_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x219cbabe dma_region_offset_to_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x245922ee hpsb_set_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2983b7db hpsb_get_hostinfo_bykey +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2a4cc36b csr1212_attach_keyval_to_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2aa3130c hpsb_iso_xmit_sync +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2da548eb hpsb_resume_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2ff4fe36 hpsb_iso_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x32d1eeb0 hpsb_set_hostinfo_key +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x33c776b1 hpsb_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3a9b38f0 hpsb_remove_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3b44b992 hpsb_get_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3d6de812 hpsb_update_config_rom +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x564a7e0e hpsb_make_streampacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5f5fdd2f csr1212_new_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5fa237ff hpsb_make_writepacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x61915caa hpsb_unregister_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x672ad148 dma_region_sync_for_device +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x67cf5122 hpsb_protocol_class +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6ad945be hpsb_send_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6b41654f hpsb_iso_shutdown +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6d5e0914 hpsb_set_packet_complete_task +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x76bc1a5c dma_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x843030b8 hpsb_iso_xmit_queue_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x85106eeb dma_region_mmap +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8879f8f0 dma_region_sync_for_cpu +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8b03d686 hpsb_iso_xmit_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8c7f4c70 hpsb_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8dc83281 hpsb_iso_recv_unlisten_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8ec2b312 dma_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x94bce230 csr1212_get_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x94eb1832 hpsb_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x979b3052 dma_prog_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x97cf6bc9 hpsb_iso_wake +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x97ea3167 hpsb_unregister_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x996b378a hpsb_read_cycle_timer +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9c47f2cb hpsb_iso_recv_set_channel_mask +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9d79a23f hpsb_selfid_complete +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9eadc4a0 hpsb_make_phypacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa2c6950d hpsb_make_lockpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa924dac6 dma_prog_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaef57bb5 csr1212_detach_keyval_from_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaefbd374 csr1212_parse_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb4d11640 hpsb_allocate_and_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb9f5c3dc hpsb_create_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xba691a35 hpsb_iso_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xbba70620 dma_prog_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xbe80d2b1 hpsb_get_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc0a004f4 hpsb_iso_recv_release_packets +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc0f1dc32 hpsb_iso_xmit_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc2651eb6 hpsb_destroy_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc40dfe7d hpsb_make_readpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xccfca8ba __hpsb_register_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd01c96ba hpsb_reset_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd5cd505b hpsb_make_lock64packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xda741fed hpsb_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xdbe0c17c hpsb_update_config_rom_image +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xdcffa199 hpsb_lock +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe2f5e90f hpsb_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe8f1bc30 hpsb_unregister_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xea4152ff dma_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xea4a9273 hpsb_iso_n_ready +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xeb43944d hpsb_node_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xef1541a6 hpsb_alloc_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf217d066 hpsb_alloc_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf4698e77 hpsb_node_fill_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf507080e hpsb_selfid_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfab27536 csr1212_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfaebfb7a hpsb_packet_success +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfba57f51 hpsb_speedto_str +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfc780c8e hpsb_iso_stop +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfcd7f994 hpsb_iso_recv_init +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x1d5aeebc ohci1394_init_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x6cb4c706 ohci1394_stop_context +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x7f69982d ohci1394_register_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0xea7f2e2c ohci1394_unregister_iso_tasklet +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x08a37740 rdma_addr_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x10ba7768 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x39d519d3 rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x3c116ace rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xb0900f14 rdma_addr_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xfa8b9631 rdma_copy_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x038380e5 ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2c28c663 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x384e9320 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3b0154d8 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x462f4015 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x4af26e02 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xad519991 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb5a05bdc ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb7c9830a ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbea34dd1 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc9ef60c8 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xd292c1e7 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xda7a14e4 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xef8ef013 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf433d7ce ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xfc2fdd31 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xfe210e28 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x050d20e3 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x058f1602 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0d3d890f ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0e73c5b7 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0fedbe31 ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x130929b4 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x150b330e ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x19e96771 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b355c9e ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b414afc ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1d5aa4d6 ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2118b0dc ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x28dc3617 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b7f876c ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ce4cbb0 ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x313d2ab6 ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x313e988a ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3b4e3dd5 ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3bed1b1f ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3c195cef ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3cf234c4 ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f7567fd ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f9e3fc1 ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x401e74ef ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x47b44f0f ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4c5fe458 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x517bd817 ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x51cc7f71 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x520b2638 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55a89301 ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x663d71e9 ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x667a8d16 ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x73a62444 ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x78808419 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x838f8b48 ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8405037d ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x84faab25 ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8640eaeb ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87b614d8 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8895aabf ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x89bca5cb ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8da9df04 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8fc13798 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x94ccff84 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x959a2957 ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9b119bba ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d804fa1 mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9ed103b0 ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa5274742 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaafd1565 ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xad576cb4 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaf7ce99a ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb0307ef3 ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb1a312e1 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb77495c5 ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbd008b3c ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc8cd8bf4 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc956f43e ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc97f21ba ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd08f0a7e ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd17ba9d1 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd3c86d13 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd793b795 ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xde76d907 ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe1cdf2a4 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xebe380b0 ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xef83f8f5 ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf1972f0d ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf1cba345 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf1f58626 ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf36498b9 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf56d55e2 ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf8192b25 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xffc5ea6a ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6c8890bc ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6ef787ed ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6f077fcf ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x7224dd82 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x7b5d4b7a ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x8c6605c4 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x97535b50 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xa8707613 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xab912278 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xbf93bff1 ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xd04e93c4 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xd948deca ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xdd23fa88 ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xdf532306 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xfe93c677 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x16587f33 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x2ebbb31b ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x576fdbac ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x5d72dabc ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x7395e51f ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x73a64cb5 ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x77e8111c ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x917794ff ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xa0e6c115 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xe034fd02 ib_sa_join_multicast +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 0x12c405c5 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x1c981364 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x3694caa7 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x49ba7a61 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x69c88683 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xa8a9cb45 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xbea77098 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xe91ff830 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x130f0da2 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x17bda39e rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1f16f76d rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2665b4bf rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2e4b8d32 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x33d2a763 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4ecf3a90 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x664910d9 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x71aa114b rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x75e55179 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x85b2c92b rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xaadd970c rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbe2c8bb5 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdc0e3158 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xedebc0ab rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf271f8fc rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xfb5c4e2b rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xff2f4f25 rdma_accept +EXPORT_SYMBOL drivers/input/gameport/gameport 0x3a2a2133 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x65ee1ae6 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x681c1fb4 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7afef792 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7c30234b gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0xa1a8867d gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xc9036624 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xf3d57cea gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xfa28d653 gameport_close +EXPORT_SYMBOL drivers/input/input-polldev 0x16edc555 input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x2f0fcf76 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x57835506 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xc89350f8 input_free_polled_device +EXPORT_SYMBOL drivers/md/dm-log 0x12d0acbf dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0x6fa83144 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x82fcc456 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0xf3860fa7 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x07e89d7f dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x4cc9b73c dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xd2500858 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0xe9e91e63 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/md-mod 0x0185a35d md_check_recovery +EXPORT_SYMBOL drivers/md/md-mod 0x05ee58f0 md_wakeup_thread +EXPORT_SYMBOL drivers/md/md-mod 0x07499ad8 bitmap_cond_end_sync +EXPORT_SYMBOL drivers/md/md-mod 0x0efc3a19 md_integrity_register +EXPORT_SYMBOL drivers/md/md-mod 0x356f32c0 md_register_thread +EXPORT_SYMBOL drivers/md/md-mod 0x37b04d78 register_md_personality +EXPORT_SYMBOL drivers/md/md-mod 0x67b1d82d md_write_start +EXPORT_SYMBOL drivers/md/md-mod 0x6f8da657 md_write_end +EXPORT_SYMBOL drivers/md/md-mod 0x83095c6a bitmap_end_sync +EXPORT_SYMBOL drivers/md/md-mod 0x8a7b8b66 md_check_no_bitmap +EXPORT_SYMBOL drivers/md/md-mod 0x8d2a6939 md_done_sync +EXPORT_SYMBOL drivers/md/md-mod 0x9332c5b0 bitmap_unplug +EXPORT_SYMBOL drivers/md/md-mod 0x93791918 md_error +EXPORT_SYMBOL drivers/md/md-mod 0x9d47faab md_set_array_sectors +EXPORT_SYMBOL drivers/md/md-mod 0xb28585db bitmap_close_sync +EXPORT_SYMBOL drivers/md/md-mod 0xbd8e5ebb md_integrity_add_rdev +EXPORT_SYMBOL drivers/md/md-mod 0xc676c2d0 md_unregister_thread +EXPORT_SYMBOL drivers/md/md-mod 0xc6872dc5 bitmap_start_sync +EXPORT_SYMBOL drivers/md/md-mod 0xce17e40b bitmap_startwrite +EXPORT_SYMBOL drivers/md/md-mod 0xd4022b63 unregister_md_personality +EXPORT_SYMBOL drivers/md/md-mod 0xe3873c5f bitmap_endwrite +EXPORT_SYMBOL drivers/md/md-mod 0xf870244c mddev_congested +EXPORT_SYMBOL drivers/md/md-mod 0xfaedc8f7 md_wait_for_blocked_rdev +EXPORT_SYMBOL drivers/md/raid6_pq 0x0bd662f6 raid6_gfmul +EXPORT_SYMBOL drivers/md/raid6_pq 0x15fe0cd3 raid6_gfexp +EXPORT_SYMBOL drivers/md/raid6_pq 0x5ba93f9d raid6_gfinv +EXPORT_SYMBOL drivers/md/raid6_pq 0x7456cc61 raid6_empty_zero_page +EXPORT_SYMBOL drivers/md/raid6_pq 0xce45a6f1 raid6_gfexi +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0x56e8044a mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0x6af595c9 mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0x717df829 mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0xe4c2b156 mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0xfd36c979 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xade35bbf qt1010_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 0x8e690b50 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0xd6c1d989 xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x03dd6aaf flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x0a78f4ac flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x16ad1278 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x2369777e flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x2d7c45ef flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x330fdcc6 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x4ea0ede4 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x572d6cb6 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x5a3694b5 flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x61d30182 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x623ee663 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x9ac92c03 flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa58bf897 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa8686585 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xabf93421 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xb061165d flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd6403978 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe47e004d flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xea7eb98e flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xfa9907f2 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x31e58e28 bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x55e7db28 bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x87c70ffc bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xee13c4b1 bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x0dd716c7 write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x5a195943 dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x5e1c6156 rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x7da79f9d dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x99a1b3db dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xb614bdc5 dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xc86fbaba dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xd7aeba0b dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xf569b091 read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0xe0d2b0c3 dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00cbdc37 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0add5c46 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c4d4a14 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1271c710 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x13ee8494 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x13ee84d7 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x14c136db dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1e60b7a1 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x396a6f60 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x452ad392 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x47d40ba0 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4a5ad2b0 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x529b11af dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x589bc332 dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5908fe37 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6b00c62c dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x72065b32 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 0x80e3832d dvb_filter_get_ac3info +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x830e3046 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x84813a02 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9894d59e dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9dc276db dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9ec8bc37 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb4581bdf dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb53ef7bf dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xbc0d91e1 timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc4d54333 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc7348c25 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc850e755 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcc41083f dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcf07eeed dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd0cb5a7b dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe20c965c dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe54b83ca dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe8074fa5 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf2031ad9 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf826deb0 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x25fe09b9 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x2968f6b1 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x2ead5f59 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x5f05411d dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xa1770e88 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xc4346040 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xebc347e4 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x01e316cd af9005_rc_decode +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x3693500b af9005_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xd3383957 af9005_rc_keys_size +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x1d5c1153 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x1e6db292 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x3d996767 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x4278f94b dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x471f07f0 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x5ae8f3fb dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x5ce10674 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x6322ab41 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x77349bce dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xc77c36e6 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xcc9ccaff dibusb_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xe147d04f dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x6ce7dc77 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522 0xab9a1fa8 au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0x76874f25 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0x290fbbb3 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0x61f673e0 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0xdbbe697c cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x73fe3a55 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0xf700d892 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x4abcf73a cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x935b10ab cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xecbdb596 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x04e7b886 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x3639765c dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xfbe81a85 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0xdad66422 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x1f3c4deb dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x1fbff5bb dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x5a0094fe dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x657ba1cf dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xd9b77622 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xe3d34864 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x18ba44c6 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xb444fa0d dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x2ffa30fc dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x42991a5e dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x803f7ca4 dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xc4b82485 dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xd1b7c52f dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xd4162570 dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x02b1c875 dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x242e6729 dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x66c7ba50 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x6b41147b dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xabfb2813 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x64374595 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x8cb9bef2 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xb910f6b6 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xd29f4ff1 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0x72d32cef dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x306ae68e isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0xb9734aed isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0x10ad4051 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0x991fc030 l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0xcd46a493 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x1b585079 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0xc328add1 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x7c2ff817 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xcc05dfe6 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0xa28c05ec mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0x719d9436 mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0x1e6604f6 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0xba6e139a nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0x0e2fafb7 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0xab8aacde or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0xc1112912 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0x69233e8a s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x134a94b6 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x3f244c2b s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x6f2ade4b si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0x15c3d103 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x81fff2b1 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0x0cc1c9a9 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0x686538e4 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0x36bc2245 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0xfd33f95e stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x8a83b05c stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0xe669e218 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x98352baf tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0x1cfc37a0 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0x7050a6ab tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x323b8bf8 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x535f7ff2 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x7d1f3fe2 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0x06c9b286 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0x46e40ddd tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0xdd9b4445 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0xd22f993c ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0x3ba3ee3a zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0xc98c3ac9 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0xa9e66a1d zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xc8e36421 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x45d7778c ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x6e107646 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x27d0c6dc bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x8bfb33c2 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 0xbe6534de bttv_get_pcidev +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x495e4b0c btcx_calc_skips +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x4aec2a2b btcx_riscmem_alloc +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x842e4a68 btcx_riscmem_free +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/cpia 0x424b2573 cpia_unregister_camera +EXPORT_SYMBOL drivers/media/video/cpia 0xba89890c cpia_register_camera +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x98f52e66 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0xe4a68cfc cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x155650f3 cx2341x_ctrl_get_menu +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 0x5b88faf6 cx2341x_ext_ctrls +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 0xe2c2b5eb cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x16bc015e vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0xfefd1d65 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x12638f2e cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x15c1e2ce cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x363797b4 cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x4da34613 cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xbb1197b8 cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xdd702850 cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x2721e360 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x5f719498 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xaf27baf7 cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xb17cd9bc cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xb5b2b52c cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xbb34ee63 cx8802_get_device +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xfadde7c5 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x0dbe3a6e cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x138fc723 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x1aef832a cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x35bb0bf0 cx88_wakeup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x45971c43 cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x4ca1f2d0 cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x515a59f9 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7f0093ae cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x914af7da cx88_core_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x98f9061e cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9b140fff cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9c100529 cx88_shutdown +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xa2a263c2 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xabe8ada7 cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xae45bbcf cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb47f6cda cx88_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc114bc14 cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc372962c cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xd88347a5 cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xe3bf318d cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xf4c702d0 cx88_newstation +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xf7e350f5 cx88_reset +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xfda63d69 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xffb6d971 cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x44c537c0 em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x7149046d em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x39e790e7 gspca_suspend +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x43653e92 gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x707bfa3b gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x816343af gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xadfd43ca gspca_get_i_frame +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xf0478741 gspca_auto_gain_n_exposure +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xf879bebf gspca_frame_add +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x4a324496 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x52f0a350 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x58941b78 ivtv_vapi +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x5ef8fb59 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x6a040147 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x972e669e ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x9ed681e6 ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xb9870a49 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xbc35418a ivtv_udma_setup +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xcd0f3606 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xe92c3eb8 ivtv_udma_prepare +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 0x27fd8a0a saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x2c521836 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x47365666 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x49345257 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x4a007756 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x4cacbc79 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x797d4de4 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x7ca71662 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xb34f8983 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xb436f401 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xca4f0240 saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xeba7a573 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/soc_camera 0x1a33f1f9 soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0x5c94eb33 soc_camera_apply_sensor_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0x942b81b2 soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0xa21e83a2 soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0xd4790f65 soc_camera_format_by_fourcc +EXPORT_SYMBOL drivers/media/video/tveeprom 0xebde3c4a tveeprom_read +EXPORT_SYMBOL drivers/media/video/tveeprom 0xf44455d7 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x25a8155d usbvideo_DeinterlaceFrame +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x26af5b87 RingQueue_WakeUpInterruptible +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x3845fdbd usbvideo_Deregister +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x5d0f882d usbvideo_AllocateDevice +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x6cc94fc4 usbvideo_TestPattern +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xa8caef21 RingQueue_Enqueue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xb3f01b51 RingQueue_Dequeue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xbc4a757d RingQueue_Flush +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xcc9a2336 usbvideo_RegisterVideoDevice +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xee2e66f1 usbvideo_register +EXPORT_SYMBOL drivers/media/video/v4l1-compat 0xbecbe92e v4l_compat_translate_ioctl +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x03165a85 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1dcaa0c8 v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1e326b97 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x2f639468 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x42c8e001 v4l2_ctrl_next +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x44950e30 v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4ed5e0d7 v4l2_chip_match_host +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x50766d69 v4l2_ctrl_query_menu_valid_items +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x76ba9a9a v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x8d70e72e v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x95284709 v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9c7de443 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9eb43ee2 v4l2_ctrl_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xbecd2858 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xd9ee1e3f v4l2_ctrl_query_menu +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x0bf9a7b8 videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x1d78af2b videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x4e57b913 videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x57ab9873 videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x8e47a392 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xf73cf2c9 videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x14d42d26 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0x2a85d2f3 video_register_device_no_warn +EXPORT_SYMBOL drivers/media/video/videodev 0x2edfdb0d video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0x33215575 video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x5f3262aa video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0x71a0e861 video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0xaa3db952 video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0xd82e1839 video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/videodev 0xf7e9cedd video_device_release_empty +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x33b61089 videocodec_attach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x4a1ce093 videocodec_register +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x97eda85d videocodec_detach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xc58a8849 videocodec_unregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x03914fb1 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x066124bd mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x12fc8fc3 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x201a57e8 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x22cd6b4d mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x33976122 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3c6cea99 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3dc40c79 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4004869a mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4156a5f3 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4819c18c mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4b99b32b mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x516bb420 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5f73d8b7 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x664d5e42 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6ed3c692 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6fbb6211 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7e25cf15 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x82c2b0d9 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x92e1255c mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x95b907c5 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x98e8bfdf mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x99521ca8 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x99d961c8 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa9fe31b8 mpt_clear_taskmgmt_in_progress_flag +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 0xccab54d0 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd04de91b mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd407aa07 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd9a92a75 mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x04a498a1 mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0b38a2dd mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3f2ce092 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4567cc94 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x495d8387 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5f3a8457 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x65d20953 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6c3a7d2b mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x79bb54ef mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7b5aae67 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7bc27b51 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x83aa9bcc mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x86682a76 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8c58cc67 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9ef98376 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa2d8aed5 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa3dbf40d mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xab175587 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd6d6bddc mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe63b4b46 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xeab692c3 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xed8b12c0 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf0e9fa35 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf20b6213 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf22f9185 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xffdbf1e2 mptscsih_resume +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x166f8d57 i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x19fedca7 i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2c651fbb i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x33fc41c9 i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x37a12a76 i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x4b23a9de i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x518674aa i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x606c2841 i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x61cd6ba0 i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x63b2c07c i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x73308ff4 i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x81e2baf5 i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x99275163 i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb08ba63f i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb1cd734c i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc747ebc1 i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xeb6740aa i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf02cf81f i2o_device_claim_release +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x0285b251 ab3100_get_chip_type +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x0b0d0323 ab3100_event_register +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x217c1b93 ab3100_mask_and_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x557df319 ab3100_get_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x8adc5ef7 ab3100_event_registers_startup_state_get +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xad2caed5 ab3100_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xce34642c ab3100_event_unregister +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xfd150c35 ab3100_get_register_page_interruptible +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x6e5cef24 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x9a768681 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mfd-core 0x421cf965 mfd_remove_devices +EXPORT_SYMBOL drivers/mfd/mfd-core 0x4e24a0c9 mfd_add_devices +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +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/c2port/core 0x7cdc02ac c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0x8daa94bb c2port_device_register +EXPORT_SYMBOL drivers/misc/ioc4 0x17fdef48 ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0x43a7f868 ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x17c4f37f tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x17d421ca tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x2c6c5034 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x37d29f8c tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x50b595e7 tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x67171cd6 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x6db50a5a tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x9502186d tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xa3c0b515 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xb1dc8afc tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xb2d70ae7 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0xb7ad6412 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xbe62daf3 tifm_remove_adapter +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0xc843aaaa mmc_cleanup_queue +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x02c22805 mmc_card_sleep +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x1ecd7348 mmc_host_enable +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x4732e449 mmc_unregister_driver +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x550e4239 mmc_align_data_size +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x56df5a59 mmc_regulator_set_ocr +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x5d0afcbb mmc_add_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x65e9bc3a mmc_card_can_sleep +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x72e3b72d mmc_resume_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x81c774b4 mmc_wait_for_app_cmd +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x825e1642 mmc_alloc_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x8496e2b0 mmc_host_disable +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x8d8e2248 mmc_request_done +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x91cf3282 mmc_wait_for_cmd +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x945a49b1 mmc_power_restore_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x9808bc6d mmc_register_driver +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xa431ee02 mmc_suspend_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xb0370444 mmc_wait_for_req +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xb2fb1337 mmc_free_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xc459253e mmc_release_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xcb7717dd __mmc_claim_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xcbab5f45 mmc_detect_change +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xd7dacdc8 mmc_remove_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xe7deddaa mmc_power_save_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xe7ff35d9 mmc_try_claim_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xf8d66de0 mmc_set_data_timeout +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xfd385e4d mmc_card_awake +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xfdd37b02 mmc_host_lazy_disable +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x2250de1c cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x66684284 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xef48cc3c cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x3222805f map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x344ea331 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xe2caa113 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xee565adb unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x28589eeb mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x2d951fb0 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x70900d89 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0xde438427 add_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtd 0xeea8ccc8 del_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtdconcat 0x2b2435ea mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtdconcat 0x9271d6e6 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/nand 0x4a19d97a nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0xcc8326c5 nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x4599d564 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xab39f793 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 0x5b42103e flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x68c196d1 onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x97eac86d onenand_default_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x9f4dbf0c onenand_scan_bbt +EXPORT_SYMBOL drivers/net/8390 0x255ddac6 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/8390 0x3f8480ec ei_open +EXPORT_SYMBOL drivers/net/8390 0x6ff1c320 ei_poll +EXPORT_SYMBOL drivers/net/8390 0xa0513a29 NS8390_init +EXPORT_SYMBOL drivers/net/8390 0xa1424bfb ei_tx_timeout +EXPORT_SYMBOL drivers/net/8390 0xa87f5d63 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/8390 0xccb64e20 ei_close +EXPORT_SYMBOL drivers/net/8390 0xdd365790 ei_interrupt +EXPORT_SYMBOL drivers/net/8390 0xea03238f ei_get_stats +EXPORT_SYMBOL drivers/net/8390 0xf1898d16 ei_netdev_ops +EXPORT_SYMBOL drivers/net/8390 0xf764a5d8 ei_start_xmit +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x1424a7aa arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x1f07d8f2 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x23f86078 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x345e3a29 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x4f14d421 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x728ed2a1 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x88743bad arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x8923a0b8 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x91ff8b80 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe0217a97 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe3356489 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x54bf6162 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x89aadef3 com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xa949b362 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/bnx2 0xeff7914c bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/cnic 0xbaf38331 cnic_register_driver +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x1cc65164 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x28ed1bb1 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x402008b3 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x6341ea98 cxgb3_register_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x7f15c98f t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x81028945 t3_l2e_free +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x911f09db t3_l2t_send_event +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xb1760dc0 cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xb474696e cxgb3_free_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xb8f4b648 dev2t3cdev +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xd8520d43 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xe6347872 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xea63badf t3_l2t_get +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xf0139ca0 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xfbc1db12 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xffcc55e6 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x3b2c5161 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x7dd3d5ff hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x966e0ede hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xc86524fc hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xd3f50bd2 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x1ce33070 irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x3b264a03 sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x4554e65b sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x52ee1d9b sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x74325ccd sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x794e0d46 sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x807e16e3 sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x8f9798bd sirdev_write_complete +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xaea8345c irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xd6036d65 sirdev_set_dtr_rts +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/mii 0x1b9651b8 mii_check_link +EXPORT_SYMBOL drivers/net/mii 0x1f66c31f mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0x21885192 mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0x43899a06 mii_ethtool_gset +EXPORT_SYMBOL drivers/net/mii 0xbff3f9f4 mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0xca626d60 mii_check_media +EXPORT_SYMBOL drivers/net/mii 0xd89e835b mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0xf057b5fc generic_mii_ioctl +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x1b2c4ce9 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x77575b2c free_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp_generic 0x23816c87 ppp_unregister_compressor +EXPORT_SYMBOL drivers/net/ppp_generic 0x3a2857f9 ppp_input +EXPORT_SYMBOL drivers/net/ppp_generic 0x54e3fcf2 ppp_register_compressor +EXPORT_SYMBOL drivers/net/ppp_generic 0x74ad89c7 ppp_input_error +EXPORT_SYMBOL drivers/net/ppp_generic 0x8123772f ppp_unregister_channel +EXPORT_SYMBOL drivers/net/ppp_generic 0xa035d5bd ppp_register_net_channel +EXPORT_SYMBOL drivers/net/ppp_generic 0xa43e3cd5 ppp_register_channel +EXPORT_SYMBOL drivers/net/ppp_generic 0xbaadf29e ppp_channel_index +EXPORT_SYMBOL drivers/net/ppp_generic 0xfae8751a ppp_output_wakeup +EXPORT_SYMBOL drivers/net/ppp_generic 0xff279973 ppp_unit_number +EXPORT_SYMBOL drivers/net/pppox 0x68f6b62d register_pppox_proto +EXPORT_SYMBOL drivers/net/pppox 0xac8dbe77 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/pppox 0xb62ac165 pppox_ioctl +EXPORT_SYMBOL drivers/net/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/slhc 0x2278e94b slhc_remember +EXPORT_SYMBOL drivers/net/slhc 0x26b760c4 slhc_init +EXPORT_SYMBOL drivers/net/slhc 0x3fe0d1c0 slhc_free +EXPORT_SYMBOL drivers/net/slhc 0x62538167 slhc_toss +EXPORT_SYMBOL drivers/net/slhc 0x7e87227e slhc_compress +EXPORT_SYMBOL drivers/net/slhc 0xa78d9eb7 slhc_uncompress +EXPORT_SYMBOL drivers/net/sungem_phy 0x3059fe64 mii_phy_probe +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x1202e6af tms380tr_close +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x30b2ca01 tms380tr_open +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x7bee3a1f tms380tr_netdev_ops +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd2328794 tms380tr_wait +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd49af46e tms380tr_interrupt +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xe0374997 tmsdev_term +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xf838ddb8 tmsdev_init +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 0x08af6158 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x21a99460 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x2a21c910 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x3e0974cd register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x4d37fc44 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x5efd6aa8 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x97193fff unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xa369fd6c hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0xcb4eeace detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xcceb2e9d hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd9ebf166 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wireless/airo 0x386354d0 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x8becc8b2 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xb309b6ca init_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x31219afb ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x6794d420 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa8879946 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbe25b39d ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd0f9a2cd ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/atmel 0x21f92d7b atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel 0x2f53c504 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0x8b6bfec7 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x001e9522 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x003d101c hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x087f60ad hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0c5392c2 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x211c7cd5 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x22345875 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2693717a hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x354032d6 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x46f3f1e2 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4a263363 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4c78f35b hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4d45cbc5 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x61afc068 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x6db17770 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x6ececc6e hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7b22cb6e hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7f55a924 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x8147dea9 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x877ac7e0 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9ba8885a hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa7337326 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa7abfe51 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb26a74ac 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 0xc5e9d56c hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe93a7529 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf905fbbf hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x01c743e2 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x2ee66fa4 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x4349ea6f libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x49a2c2bb free_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x4d9adcc8 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x5b86441b libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x84b3e203 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x862e77a9 alloc_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x8e5eb552 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x93dba288 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x9a68ccac libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xa79ac90c libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xaeba4472 libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb11b7ae8 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb6c7af1d libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xce342629 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd3997325 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xdecfc762 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe273ae5a libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe4527a64 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe9588d97 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x00b2f973 iwl_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x00c99590 iwl_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x01d090dc iwl_alloc_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0381c024 iwl_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x03ad01ab iwl_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x042ec7b3 iwl_get_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x047630f4 iwl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x07c50e2a iwl_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x07ed9d98 iwl_sta_tx_modify_enable_tid +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0961fb1f iwl_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1047d572 iwl_send_calib_results +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x12881f1e iwl_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x129d0a62 iwl_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1347163d iwl_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x14955d8a iwlcore_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x15649e58 iwl_rf_kill_ct_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x161278f7 iwl_init_sensitivity +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x18028489 iwlcore_eeprom_acquire_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x18d16e95 iwl_txq_ctx_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x19f0e900 iwl_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1adb0d3c iwl_hw_nic_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d35ad47 iwl_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d77b399 iwl_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1ee88a75 iwl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1efc960d iwl_set_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1f3a9aa1 iwl_eeprom_check_version +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x20575673 iwl_tx_skb +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x23bf74a2 iwl_sta_rx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x244f8680 iwl_rate_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x25732b71 iwl_rx_replenish_now +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x287b9b65 iwl_get_ra_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x29054c77 iwl_mac_beacon_update +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2ba364b5 iwl_update_tkip_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2e7e9bd6 iwl_tx_ant_restriction +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2fb581aa iwlcore_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x30d5b088 iwl_rx_reply_compressed_ba +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3161f433 iwl_init_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x328c0c42 iwlcore_eeprom_verify_signature +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x32d46a0e iwl_setup_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x33360b24 iwl_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x33772e79 iwl_uninit_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x34e40558 iwl_disable_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x36b7ea0d iwl_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3a9d26a1 iwl_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x415bb9ef iwl_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4217eaab iwl_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x465ff458 iwl_free_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4782c123 iwl_get_free_ucode_key_index +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4951930e iwl_tt_exit +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4bedc898 iwl_rx_missed_beacon_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4bf99044 iwl_tx_queue_reclaim +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4c62eb3c iwl_rx_csa +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4dc271a6 iwl_sensitivity_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4e089733 iwl_verify_ucode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4e46c3f4 iwl_clear_stations_table +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x50117a74 iwl_hw_detect +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x50c87af7 iwl_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x51c14d25 iwl_tt_exit_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x52855e4e iwl_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5468c58f iwl_leds_register +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x57cbf908 iwl_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x57d4280a iwl_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x59fe17af iwl_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5bcbf1e8 iwl_rx_replenish +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5dfcf6d0 iwl_rx_reply_rx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5e6e629a iwl_tt_enter_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5fbfcfb1 iwl_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x61108613 iwl_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x623c5abc iwl_is_monitor_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x62727d56 iwl_calib_set +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x62a9c484 iwl_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6760960b iwl_activate_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6a266f6f iwl_sta_rx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6a842a6f iwl_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6bf372c5 iwl_rxq_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6dba9c28 iwl_tt_handler +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6e474386 iwl_rx_reply_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x715f3972 iwl_set_hw_params +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x71e07120 iwl_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7489477e iwl_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x76970086 iwlcore_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x78976e61 iwl_isr_legacy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7a8341b8 iwl_reset_run_time_calib +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7da7975c iwl_rx_statistics +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7e9e6aef iwl_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7fcdae73 iwl_txq_check_empty +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x80729f43 iwl_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x814843d1 iwl_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x83640ff3 iwl_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8670273d iwl_hwrate_to_plcp_idx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x877c00aa iwl_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8856c382 iwl_hw_txq_ctx_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8d0064c8 iwl_rx_pm_debug_statistics_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8f8aacd7 iwl_set_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8fad5597 iwl_ht_enabled +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x92b11eab iwl_tt_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x92e8a8d4 iwl_find_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x977d8775 iwl_chain_noise_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9a60af0b iwl_bg_scan_check +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9cde1f24 iwl_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9e86e8e0 iwl_bg_abort_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa2095a40 iwl_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa23543f3 iwl_mac_get_tx_stats +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa69135d8 iwl_send_static_wepkey_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaad0846e iwl_bg_scan_completed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb8fe9e25 iwl_alloc_all +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb99f981b iwl_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbb82b380 iwl_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbd56ebc2 iwl_setup_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc3b6baba iwl_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc4cc814e iwl_remove_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc56a14e1 iwl_reset_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc6deaa15 iwl_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc6fde2bc iwl_free_tfds_in_queue +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcb0a8847 iwl_set_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcbaf4931 get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xce1034f3 iwl_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd04eeda1 iwl_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd0713413 iwl_set_rxon_chain +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd26e1961 iwl_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd3cd2728 iwl_rx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd3f36c14 iwl_leds_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd578e3cd iwl_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd67c825e iwl_hwrate_to_tx_control +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd70d3e73 iwl_send_statistics_request +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xda2ad727 iwl_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdcfbfd00 iwl_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xde7c34ff iwl_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdf97d2a2 iwl_reset_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe1e2a671 iwl_tx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe2a12099 iwl_rxon_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe3890e20 iwl_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe3a2acc7 iwl_eeprom_get_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe66e4fca iwl_rx_pm_sleep_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe7a24176 iwl_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe7ce5d70 iwl_rates +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe9844f0a iwl_rx_reply_rx_phy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xea79f3f3 iwl_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xead61a0b iwlcore_eeprom_release_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xeee6c79c iwlcore_eeprom_enhanced_txpower +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xef506a5d iwl_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xef6d3518 iwl_configure_filter +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf3f2bcf1 iwl_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf659d27a iwl_remove_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf6616797 iwl_tx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf8cf4d7a iwl_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfd47dd81 iwl_rx_queue_restock +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xff49a3d0 iwl_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x1f577f7a alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x34885ecc orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4196c38b hermes_write_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x5c1f1032 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x6a927e18 orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x9ba1e358 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa031d8e4 hermes_doicmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa8a87a17 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc47e2476 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc60b5e9e hermes_bap_pwrite +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd38d8ae2 hermes_read_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd3f714e5 hermes_bap_pread +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5168829 hermes_allocate +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5336e5d hermes_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd54e219d hermes_docmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xed47b224 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xfaa771ae orinoco_init +EXPORT_SYMBOL drivers/parport/parport 0x0a0a6659 parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x0fd462a2 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x140ff711 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x21792557 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x38a0d21f parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x3934f080 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x4c5b8d8c parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x4e36701b parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x53d446ea parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x599789c0 parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x5cfb80b4 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x652777e2 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0x66c22b18 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x6d2fb303 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x730a172e parport_write +EXPORT_SYMBOL drivers/parport/parport 0x862cc763 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x86746051 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x8a1f3248 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x8baf9d0f parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x9d5eff70 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0xad410caf parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0xae52baff parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0xbb201c59 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0xbb8b2805 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xc8f86d45 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xcd0c2ace parport_release +EXPORT_SYMBOL drivers/parport/parport 0xcdbe83f3 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0xeefa5d18 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xf92c5ef2 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xfc81d628 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xfcf307c6 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport_pc 0x6cc071a8 parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0x8cd2f1d7 parport_pc_unregister_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x01c52c35 pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x0807717e pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x19a58419 pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x20b98aa9 pcmcia_get_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x382cc464 pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4fd033a0 pcmcia_error_func +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x556db251 pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x68a83d08 pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6c8326e9 pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x765bea00 pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x77884317 pcmcia_get_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x87152129 pcmcia_modify_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x8df9efbc pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xa098654d pcmcia_access_configuration_register +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xa2e59dd1 pcmcia_request_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xcb2e327b pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf0a25e12 pcmcia_error_ret +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x19512d34 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x33f691ac pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x377de2a8 pcmcia_adjust_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x3e1d5e85 pccard_get_tuple_data +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x49baabcc pcmcia_resume_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5205db3d pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x53b7c7d4 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x56085a82 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5958b345 destroy_cis_cache +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x64288b75 pcmcia_find_mem_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x6aaeb81f pcmcia_suspend_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7e900c0b pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7f972070 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x87107b5f pcmcia_validate_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8803758f pcmcia_write_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8a1ba99c pcmcia_replace_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8c8b5e00 pcmcia_socket_dev_early_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8da42978 pcmcia_socket_dev_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8e394755 pccard_get_next_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x92dfa400 pccard_get_first_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa2a764e3 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xabad7747 pccard_static_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb525e13b pcmcia_read_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb6277349 pcmcia_eject_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc02ef2c8 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc4765512 pcmcia_find_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc8de063d pcmcia_socket_dev_suspend +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xd70202d4 pcmcia_insert_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xdc2fedd6 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xdfd7ca9b release_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xe6d935b2 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf3df21f9 pccard_read_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf893536e pcmcia_socket_dev_late_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xfb58170b pccard_validate_cis +EXPORT_SYMBOL drivers/pcmcia/rsrc_nonstatic 0xf652b6ec pccard_nonstatic_ops +EXPORT_SYMBOL drivers/pps/pps_core 0x1e145952 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0xa244323c pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xe6a16116 pps_event +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x07ad7505 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x0d7a9a7e fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x422670f5 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x6e451b51 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7587cc42 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xc7aaf0da fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xffb44489 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x010b23e8 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0460db9c fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x06dc4edd fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x076a0909 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x099a223f fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1301ac5f fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1935bd2f fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1ca90e9c fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x24a134f1 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2f5f9b60 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3047e279 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3830b56d fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x49f0e5a4 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4abd909d fc_fcp_ddp_setup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4b4c533c fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4d7f783a fc_seq_els_rsp_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x500d9acf fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x50cdc9bb fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x525cb8b6 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x56183917 fc_destroy_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5e7a5df8 fc_fcp_complete +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x67750428 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x682b187d fc_exch_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6d38d559 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6d797a95 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x74ae965a fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x79f5b96e fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7c82f790 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7e3250fd fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x986e0b92 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9ca32408 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9ed93388 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xad5991cd fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb5944ae6 fc_get_host_port_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc29ce752 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc6a8d14f fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcf319e0b fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcf569b87 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcfe79558 __fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd6cb3359 fc_setup_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdb85c7db fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xddfc5426 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xea973c30 fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xec16d322 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf6531a78 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf7365d60 fc_seq_exch_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfaa780bf fc_get_host_speed +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 0x761734c4 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c0526c1 osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x12ce4fcb osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2149648f osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x27bb08ef osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x28b88f3a osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x393506fe osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3cc6dae9 osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x42d1396e osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x447a0ecb osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x49b9f1ee osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x51b458f1 osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x55ab25d4 osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x577ad38e osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x60dd9212 osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x674b7ab3 osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8050df37 osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8a733329 osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x96146073 osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9761f1eb osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9cca46ba osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa6009963 osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb106b9eb osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb3c1dcbe osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xbbd93b8c osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc19273e7 osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xdb48d853 osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xdb661827 osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xdd8f5d8b osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe41f999d osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe529171c osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe986a22f osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf8803440 osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/osd 0x438add59 osduld_register_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x53af0b90 osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0xf5d2629e osduld_put_device +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x07cea384 qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x151814b2 qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x808a8258 qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x97266d97 qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xa9744d1d qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xdc310b12 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf27a48e0 qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/raid_class 0x4bd3a2de raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x97653285 raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0xd1da881f raid_class_attach +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0a546fef fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x40d99574 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4f0c711b fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x777b0cda scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x9eb15769 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa895e51c fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xae98b286 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xbb45698d scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc65817ec fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe20212a7 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf051638d fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xfe145548 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x09b729a5 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x14c4b7ef sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x156108b6 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x18877519 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1a6343f0 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x22f22d70 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x24ad56f7 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2fe7c750 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3748a764 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x491cfedb sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5662ea86 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x80e5f346 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x86230c5d sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x912eb094 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9136a533 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x94ea0c19 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa440d21a sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa5c55f58 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa9078cf9 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xaba55610 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbb045265 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdc2d6489 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdde6939e sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe3292463 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf3d76a24 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf92b1313 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x02d0021e spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x85d7b777 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xb44f75e7 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xb99f8dde spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xe607b379 spi_attach_transport +EXPORT_SYMBOL drivers/serial/8250 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL drivers/serial/8250 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL drivers/serial/8250 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL drivers/serial/8250 0xf195be45 serial8250_register_port +EXPORT_SYMBOL drivers/serial/serial_core 0x060906ed uart_get_baud_rate +EXPORT_SYMBOL drivers/serial/serial_core 0x0972a786 uart_register_driver +EXPORT_SYMBOL drivers/serial/serial_core 0x338b5b64 uart_update_timeout +EXPORT_SYMBOL drivers/serial/serial_core 0x38d2ce79 uart_remove_one_port +EXPORT_SYMBOL drivers/serial/serial_core 0x60d1f6a8 uart_get_divisor +EXPORT_SYMBOL drivers/serial/serial_core 0x7e286b41 uart_resume_port +EXPORT_SYMBOL drivers/serial/serial_core 0x7ff7d144 uart_match_port +EXPORT_SYMBOL drivers/serial/serial_core 0x93b007d1 uart_unregister_driver +EXPORT_SYMBOL drivers/serial/serial_core 0xd615a4f2 uart_suspend_port +EXPORT_SYMBOL drivers/serial/serial_core 0xf2c0f3cb uart_add_one_port +EXPORT_SYMBOL drivers/serial/serial_core 0xfef6b4e2 uart_write_wakeup +EXPORT_SYMBOL drivers/ssb/ssb 0x0006361f ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x0203f894 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x05afef26 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x091efcfc ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x4e226ac5 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x55b3b568 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x5dde6e1f ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0x7529ac12 ssb_dma_free_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0x75a3df63 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x798788d6 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x7e08b368 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x8fa42567 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x9a766e8f __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xa276672e ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0xa73febde ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0xb1ef34c3 ssb_dma_set_mask +EXPORT_SYMBOL drivers/ssb/ssb 0xb78b5a26 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xd6d2dee7 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xd726d50a ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xd742f2fb ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xe4b34490 ssb_dma_alloc_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0xe88cfdcb ssb_clockspeed +EXPORT_SYMBOL drivers/telephony/ixj 0xf56e2659 ixj_pcmcia_probe +EXPORT_SYMBOL drivers/telephony/phonedev 0x2a3533ba phone_unregister_device +EXPORT_SYMBOL drivers/telephony/phonedev 0xc6f4d6ee phone_register_device +EXPORT_SYMBOL drivers/usb/gadget/net2280 0x7180bba2 net2280_set_fifo_mode +EXPORT_SYMBOL drivers/usb/gadget/net2280 0x98740a79 usb_gadget_unregister_driver +EXPORT_SYMBOL drivers/usb/gadget/net2280 0xc6a47615 usb_gadget_register_driver +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x01c5fcee 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/usbserial 0x0271e902 usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x048bdada usb_serial_suspend +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0xc86baa7c corgibl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x897cb35d lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0xfad5034e lcd_device_unregister +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x2f896b15 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0x32937655 cyber2000fb_attach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x79b5732b cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0xa8668e21 cyber2000fb_get_fb_var +EXPORT_SYMBOL drivers/video/display/display 0x875fa58b display_device_register +EXPORT_SYMBOL drivers/video/display/display 0x8e999e7b display_device_unregister +EXPORT_SYMBOL drivers/video/output 0x748ac513 video_output_register +EXPORT_SYMBOL drivers/video/output 0xa7cde332 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 0x00d1fce9 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/svgalib 0x07b3da30 svga_wseq_multi +EXPORT_SYMBOL drivers/video/svgalib 0x0892c6bb svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0x1b95c56a svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x63e898d1 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/svgalib 0x7a3ae959 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x7c4da953 svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0x80408443 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0x8a865bdb svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0x8b06d8d9 svga_tileblit +EXPORT_SYMBOL drivers/video/svgalib 0x8fa8438b svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/svgalib 0xab3b22ad svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/svgalib 0xab68fc71 svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0xc0ecc58e svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0xcb31ae6b svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0xdad682b1 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/svgalib 0xec83c473 svga_match_format +EXPORT_SYMBOL drivers/video/svgalib 0xef774f5d svga_compute_pll +EXPORT_SYMBOL drivers/video/syscopyarea 0x31fd73b3 sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0x10bcc01e sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x14cffe6a sys_imageblit +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x308737df w1_bq27000_write +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0xdf951578 w1_bq27000_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x2b286728 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x65ee3b85 w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xa18ee025 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xe7ee4ae5 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/wire 0x107f33f5 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x5ed5f8b5 w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0x5f274a1c w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x95795db1 w1_remove_master_device +EXPORT_SYMBOL fs/configfs/configfs 0x2edf1dfc configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x3597f74f config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x44d5fd96 config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x7e3a3922 config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0x9a10bd2d config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x9fecf97e configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xa5b15edd config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0xa8375ef4 config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0xd71183b3 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0xd8d9e45d config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0xe4ce3ae2 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xf05975c9 config_item_init +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x10846f2f fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x158822b4 __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x1efc7913 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0x2099cc92 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x2afdf505 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x34ed820e __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x496932b9 fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x4c546dd4 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x54cca43b __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x6e399163 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x739643bc __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x73a5587a fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x7900de2d fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x7a73bba9 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x81b7ec23 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x96fb7a39 __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0x9706d75c fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x9e7f806d __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xa6ae39db __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xa883523c fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0xa9ed45ef __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0xaab52b32 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0xb3f14765 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xb894b833 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0xdaba1f22 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0xdf433116 fscache_object_slow_work_ops +EXPORT_SYMBOL fs/fscache/fscache 0xeb5930a1 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xebd812a8 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/nfsd/nfsd 0x0e195c1c nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/nfsd/nfsd 0x2095976a nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0x28fb929b nfs4_acl_posix_to_nfsv4 +EXPORT_SYMBOL fs/nfsd/nfsd 0x35e33c1e nfs4_acl_write_who +EXPORT_SYMBOL fs/nfsd/nfsd 0x5a157ae4 nfs4_acl_get_whotype +EXPORT_SYMBOL fs/quota/quota_tree 0x044c50fa qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xae2fcbaa qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0xd25c5a58 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xea81b229 qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xeefc236d qtree_read_dquot +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/crc-t10dif 0xb6896671 crc_t10dif +EXPORT_SYMBOL lib/crc7 0xa7587646 crc7 +EXPORT_SYMBOL lib/crc7 0xd80c3603 crc7_syndrome_table +EXPORT_SYMBOL lib/libcrc32c 0x27000b29 crc32c +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 0xf0caf44b zlib_deflate_workspacesize +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL net/802/p8023 0xad3ec657 make_8023_client +EXPORT_SYMBOL net/802/p8023 0xbde57b2b destroy_8023_client +EXPORT_SYMBOL net/9p/9pnet 0x0b11ff5a p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0x0f897d61 p9_client_version +EXPORT_SYMBOL net/9p/9pnet 0x21c38efd p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x266ff366 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x26dee1fa p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x26df5466 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x2d76745a p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x3bd3cc6a v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x4d93ee35 p9_client_auth +EXPORT_SYMBOL net/9p/9pnet 0x549d6c9a p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x6b754e6f p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x6bc72e1b p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x6e518efd v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x70a79177 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x7310a66f p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0x76b79bf1 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x77f11bc0 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x845f5336 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x873467ed p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x8f34fe15 p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0x95a0bac3 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x99a7f30f p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0x99aa7841 p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x9a76aa2d p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0x9ff15446 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xc0f6c18a p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0xc3393aaf p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0xd331fc1d p9pdu_dump +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xf455e8a8 p9_client_read +EXPORT_SYMBOL net/appletalk/appletalk 0x3de64e12 alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0xa76c10b5 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xb1b47198 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xfed540e4 aarp_send_ddp +EXPORT_SYMBOL net/atm/atm 0x03732158 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x125dee0c atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x1a24e5e2 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x31eb46b9 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x425cd773 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x5ce9cd27 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x6759e461 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x78010b67 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x89195dc3 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xba7a7a48 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0xc04fdf6c deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xd01dbe5b atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xf7e1559b vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0xfd4a5596 atm_charge +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x289976c6 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x2d57383e ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x3c01e743 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x3d2d82ec ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x4dcc8cf1 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x564d9f14 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x5f4ea2a9 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x806ec71e ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0x8f6414a8 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0xb8447fec ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xbf85180c ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/bluetooth/bluetooth 0x03cac3e5 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0768afce hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x079e9f84 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0ccef0d3 hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0eae28ea hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x356790ef hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3fdb812f bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4607528d hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4864f84e bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5de7f678 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5debee5d hci_unregister_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0x633c1780 hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0x702dcf84 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7094f8ae bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x71fa1cbb bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7584d34d hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0x896078f2 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x97739579 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x99f2c68d hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9cb7bdb5 hci_register_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0xad34e207 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb37b74ac bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbbe68ce9 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2da4592 hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcfe0b5d0 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd5b91575 bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd6d38501 hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd850a3b7 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xea26d70d hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf5d2bae6 hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf8bb186f hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfbf296e2 hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/l2cap 0xfc31fe88 l2cap_load +EXPORT_SYMBOL net/bridge/bridge 0x35638557 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x4da7a6e0 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x8e86678a ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xadf8f66d ebt_unregister_table +EXPORT_SYMBOL net/can/can 0x0b60d07b can_send +EXPORT_SYMBOL net/can/can 0x14b1b995 can_proto_unregister +EXPORT_SYMBOL net/can/can 0x53b1d0e4 can_rx_register +EXPORT_SYMBOL net/can/can 0x6067c46b can_rx_unregister +EXPORT_SYMBOL net/can/can 0xf158d43f can_proto_register +EXPORT_SYMBOL net/ieee802154/nl802154 0x03cf97b4 ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0x0795f429 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0x72a04ff2 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x753c3fdd ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x857eade4 ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0xa5bd592b ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0xb888aa8a ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/wpan-class 0x5949d8a9 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/wpan-class 0x672024aa wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/wpan-class 0x6a92d7bb wpan_phy_register +EXPORT_SYMBOL net/ieee802154/wpan-class 0xbce375fb wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/wpan-class 0xeea9bffb wpan_phy_free +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x16c11971 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x28ad9abe arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x8548accb arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x4c800813 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x8976454b ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xf9e8b1d1 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x156f999f nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x2a25712d nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x3ba5a7ac nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x3e2769f9 nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x6fc2db9f nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x764ecbc4 nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xe47f9b42 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/tunnel4 0x7b215936 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/tunnel4 0xa9f04daf xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv6/ipv6 0x02e54949 xfrm6_input_addr +EXPORT_SYMBOL net/ipv6/ipv6 0x0a93964c xfrm6_rcv +EXPORT_SYMBOL net/ipv6/ipv6 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL net/ipv6/ipv6 0x1014ff45 ip6_xmit +EXPORT_SYMBOL net/ipv6/ipv6 0x1528145b inet6_bind +EXPORT_SYMBOL net/ipv6/ipv6 0x21331b66 ip6_frag_init +EXPORT_SYMBOL net/ipv6/ipv6 0x23626b54 xfrm6_prepare_output +EXPORT_SYMBOL net/ipv6/ipv6 0x2b3a76c4 inet6_del_protocol +EXPORT_SYMBOL net/ipv6/ipv6 0x2ba918c7 inet6_unregister_protosw +EXPORT_SYMBOL net/ipv6/ipv6 0x2c3e746a ipv6_chk_addr +EXPORT_SYMBOL net/ipv6/ipv6 0x30123eb5 icmpv6_statistics +EXPORT_SYMBOL net/ipv6/ipv6 0x4a2f199e ipv6_chk_prefix +EXPORT_SYMBOL net/ipv6/ipv6 0x4c4fdc29 ip6_frag_match +EXPORT_SYMBOL net/ipv6/ipv6 0x506a9105 inet6_ioctl +EXPORT_SYMBOL net/ipv6/ipv6 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL net/ipv6/ipv6 0x58424fe7 ipv6_dev_get_saddr +EXPORT_SYMBOL net/ipv6/ipv6 0x58a99b8f xfrm6_find_1stfragopt +EXPORT_SYMBOL net/ipv6/ipv6 0x600aac2e ipv6_getsockopt +EXPORT_SYMBOL net/ipv6/ipv6 0x6610145f inet6_getname +EXPORT_SYMBOL net/ipv6/ipv6 0x6cc3e96e icmpv6_send +EXPORT_SYMBOL net/ipv6/ipv6 0x7737f143 ndisc_build_skb +EXPORT_SYMBOL net/ipv6/ipv6 0x78b825a5 ndisc_send_skb +EXPORT_SYMBOL net/ipv6/ipv6 0x7ca535ca ndisc_mc_map +EXPORT_SYMBOL net/ipv6/ipv6 0x96906daa inet6_add_protocol +EXPORT_SYMBOL net/ipv6/ipv6 0xafb4be75 ip6_route_me_harder +EXPORT_SYMBOL net/ipv6/ipv6 0xb87cfe39 in6_dev_finish_destroy +EXPORT_SYMBOL net/ipv6/ipv6 0xbbe10c04 ip6_route_output +EXPORT_SYMBOL net/ipv6/ipv6 0xcc159be3 inet6_register_protosw +EXPORT_SYMBOL net/ipv6/ipv6 0xcc90a765 inet6_release +EXPORT_SYMBOL net/ipv6/ipv6 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL net/ipv6/ipv6 0xe1a81c3a icmpv6msg_statistics +EXPORT_SYMBOL net/ipv6/ipv6 0xe4141b22 rt6_lookup +EXPORT_SYMBOL net/ipv6/ipv6 0xe690b8fd __ipv6_isatap_ifid +EXPORT_SYMBOL net/ipv6/ipv6 0xe90fa96c ipv6_setsockopt +EXPORT_SYMBOL net/ipv6/ipv6 0xeb2ab800 ipv6_push_nfrag_opts +EXPORT_SYMBOL net/ipv6/ipv6 0xebe5a57b nf_ip6_checksum +EXPORT_SYMBOL net/ipv6/ipv6 0xf0d51307 xfrm6_rcv_spi +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x36a4057e ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x523d811e ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x80d552a2 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb8bddf33 ip6t_ext_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xc89d6931 ip6t_do_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x9150f88f xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0x96c227a5 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x9cd013f2 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xab14e193 xfrm6_tunnel_free_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xdb1b42d1 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x0114769f ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x0c677df3 ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x9dd75492 ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xaa0ca0b7 ircomm_flow_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xd162abe7 ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xe1317a5e ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xf0463fa8 ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xfe09aae6 ircomm_open +EXPORT_SYMBOL net/irda/irda 0x05d7cfe5 irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x090aab0c irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0x0d9be1c7 irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0x0f467dd8 iriap_close +EXPORT_SYMBOL net/irda/irda 0x19d79c82 hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0x1c51e992 hashbin_delete +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x22b0f52d hashbin_insert +EXPORT_SYMBOL net/irda/irda 0x234981bc iriap_getvaluebyclass_request +EXPORT_SYMBOL net/irda/irda 0x27b04fab irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x30827e1c irias_insert_object +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x3b2e9df9 hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x42c7c5ce irias_find_object +EXPORT_SYMBOL net/irda/irda 0x42ca9e81 irttp_open_tsap +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 0x519118cc irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0x538fe1e0 hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0x5504cf7c hashbin_new +EXPORT_SYMBOL net/irda/irda 0x57fb1ed2 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x5aad87aa irias_delete_object +EXPORT_SYMBOL net/irda/irda 0x5d609063 irias_new_object +EXPORT_SYMBOL net/irda/irda 0x623214a5 irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x6621aa8a hashbin_find +EXPORT_SYMBOL net/irda/irda 0x6b043eba irda_init_max_qos_capabilies +EXPORT_SYMBOL net/irda/irda 0x701e028e irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0x7042bc54 irlmp_register_client +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +EXPORT_SYMBOL net/irda/irda 0x7957f728 irlmp_update_client +EXPORT_SYMBOL net/irda/irda 0x7abcb84f alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0x7edde430 irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x841e2dcd irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x930000fb proc_irda +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0xab99258c irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0xac30242b async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0xac7fd034 irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0xaeb1f8c3 irda_notify_init +EXPORT_SYMBOL net/irda/irda 0xb2f27570 irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0xb9394173 irias_delete_value +EXPORT_SYMBOL net/irda/irda 0xbcd3ef13 irias_object_change_attribute +EXPORT_SYMBOL net/irda/irda 0xbe40ace9 irlmp_discovery_request +EXPORT_SYMBOL net/irda/irda 0xbe6baae8 irlap_close +EXPORT_SYMBOL net/irda/irda 0xbe7c6da9 irlap_open +EXPORT_SYMBOL net/irda/irda 0xc4e1f518 irttp_dup +EXPORT_SYMBOL net/irda/irda 0xc6432de6 iriap_open +EXPORT_SYMBOL net/irda/irda 0xc9e2e293 async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0xced908ed irda_device_set_media_busy +EXPORT_SYMBOL net/irda/irda 0xd81ecb4d irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0xdbcf4b60 irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xdee9ddcc irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0xe2f84c82 hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0xe6472f57 irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xf39b7fe0 irda_setup_dma +EXPORT_SYMBOL net/lapb/lapb 0x08cccf7a lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x3758dacb lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x52689a83 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x55e9ebbf lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x9c2acc06 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x9e79ab83 lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0xa719762e lapb_register +EXPORT_SYMBOL net/lapb/lapb 0xb7cd1f3c lapb_connect_request +EXPORT_SYMBOL net/mac80211/mac80211 0x1286019e ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x2c90e688 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x2f4f5eb4 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x31b4c3d6 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x36dda628 ieee80211_get_tkip_key +EXPORT_SYMBOL net/mac80211/mac80211 0x37277e0a ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x3952b3a5 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x40459053 ieee80211_beacon_get +EXPORT_SYMBOL net/mac80211/mac80211 0x48b0fbbc __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x4a9e5ab9 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x4b55e36a ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x5f11b2de ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0x630f9034 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x655500a9 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x66555a7c ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x6af845e8 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x6d271172 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x6feb6758 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x7428c3a3 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x80f84bff ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x8a5db552 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x912b0070 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xa23e6b86 ieee80211_stop_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0xae0951a1 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xaea97f5a ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xb0dbeba8 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0xbf92e88c ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xc23e2abe ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xc291f7d8 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xc2d1c544 ieee80211_start_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0xc5ad2722 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xd2a93bc4 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xdda082b7 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0xde0496d2 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xdf49b7c4 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0xe6392280 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xe7a0365b ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xe8abe42d ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xed422ded ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0xf17b6d22 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xf37212e1 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x02cca799 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x22c7d738 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x2f673954 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7a2fc441 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x83106fbb ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa1dbc2d8 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb6ab3a6d register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc03083c0 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd3b9bbd7 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd9fbb086 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xdb0e2d97 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xf0dbf4ec ip_vs_skb_replace +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xbffca978 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xf754344c __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0xcf5c615c nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x12556c3e xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x16a5e826 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x200d7646 xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x6d6de43d xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x6da2927a xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x854a42c6 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x9284acee xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xac1ac373 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xade9c624 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xbbb2ebcb xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xc3ff5dff xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xe7604a5e xt_register_matches +EXPORT_SYMBOL net/phonet/phonet 0x47af6291 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x52793a0c pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x8743055a pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x8e9bcba8 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x9b6e7984 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x9ed4872d phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0xb47d5ce9 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0xfb6a0fee phonet_stream_ops +EXPORT_SYMBOL net/rfkill/rfkill 0x1e7bda44 rfkill_set_states +EXPORT_SYMBOL net/rfkill/rfkill 0x20f3d26f rfkill_unregister +EXPORT_SYMBOL net/rfkill/rfkill 0x3ee32f1c rfkill_alloc +EXPORT_SYMBOL net/rfkill/rfkill 0x5342df3d rfkill_blocked +EXPORT_SYMBOL net/rfkill/rfkill 0x5d4d55dc rfkill_init_sw_state +EXPORT_SYMBOL net/rfkill/rfkill 0x9ac3cb49 rfkill_destroy +EXPORT_SYMBOL net/rfkill/rfkill 0x9c972f27 rfkill_pause_polling +EXPORT_SYMBOL net/rfkill/rfkill 0xa79950f2 rfkill_set_led_trigger_name +EXPORT_SYMBOL net/rfkill/rfkill 0xb55f44f9 rfkill_get_led_trigger_name +EXPORT_SYMBOL net/rfkill/rfkill 0xb704e9a8 rfkill_register +EXPORT_SYMBOL net/rfkill/rfkill 0xbfe3a436 rfkill_set_sw_state +EXPORT_SYMBOL net/rfkill/rfkill 0xdbef1809 rfkill_resume_polling +EXPORT_SYMBOL net/rfkill/rfkill 0xeb70f13f rfkill_set_hw_state +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x28a0174a rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x36c6b6c5 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x46d44f4e rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x4b65ed0c rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x4f5fef49 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x50b31bd6 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x60c17d42 rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x68b0ebca rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x937ae0e9 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xac15cdb0 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xafdc9377 rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xb5ab3308 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xd30b4327 rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe9eebc67 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xf7bd146a rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/sunrpc/sunrpc 0x513f446c svc_pool_stats_open +EXPORT_SYMBOL net/tipc/tipc 0x08acf310 tipc_available_nodes +EXPORT_SYMBOL net/tipc/tipc 0x0d1355ce tipc_createport_raw +EXPORT_SYMBOL net/tipc/tipc 0x10d40fcd tipc_isconnected +EXPORT_SYMBOL net/tipc/tipc 0x1472b270 tipc_disconnect +EXPORT_SYMBOL net/tipc/tipc 0x1479cb03 tipc_deleteport +EXPORT_SYMBOL net/tipc/tipc 0x15b5ecde tipc_set_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x16f27683 tipc_block_bearer +EXPORT_SYMBOL net/tipc/tipc 0x259b74f9 tipc_acknowledge +EXPORT_SYMBOL net/tipc/tipc 0x27d8bb58 tipc_send2port +EXPORT_SYMBOL net/tipc/tipc 0x310d1bc9 tipc_detach +EXPORT_SYMBOL net/tipc/tipc 0x3712e340 tipc_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x3976041f tipc_set_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x3e93b677 tipc_continue +EXPORT_SYMBOL net/tipc/tipc 0x4b2243c6 tipc_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x4ba3cfc8 tipc_send2name +EXPORT_SYMBOL net/tipc/tipc 0x4e796163 tipc_get_port +EXPORT_SYMBOL net/tipc/tipc 0x538b228a tipc_withdraw +EXPORT_SYMBOL net/tipc/tipc 0x5637ed44 tipc_get_mode +EXPORT_SYMBOL net/tipc/tipc 0x5c0d4b5c tipc_ref_valid +EXPORT_SYMBOL net/tipc/tipc 0x5d738bc8 tipc_recv_msg +EXPORT_SYMBOL net/tipc/tipc 0x62a681a3 tipc_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0x64357d3c tipc_multicast +EXPORT_SYMBOL net/tipc/tipc 0x73552890 tipc_reject_msg +EXPORT_SYMBOL net/tipc/tipc 0x78d85cab tipc_register_media +EXPORT_SYMBOL net/tipc/tipc 0x8001e3d7 tipc_forward2port +EXPORT_SYMBOL net/tipc/tipc 0x88b73627 tipc_get_addr +EXPORT_SYMBOL net/tipc/tipc 0x94e3d8e2 tipc_send_buf2port +EXPORT_SYMBOL net/tipc/tipc 0x9c45558e tipc_enable_bearer +EXPORT_SYMBOL net/tipc/tipc 0x9f992f88 tipc_createport +EXPORT_SYMBOL net/tipc/tipc 0xadd203d0 tipc_connect2port +EXPORT_SYMBOL net/tipc/tipc 0xae0103c3 tipc_shutdown +EXPORT_SYMBOL net/tipc/tipc 0xae5479ca tipc_send_buf2name +EXPORT_SYMBOL net/tipc/tipc 0xb01ffc2c tipc_forward2name +EXPORT_SYMBOL net/tipc/tipc 0xb35b672c tipc_publish +EXPORT_SYMBOL net/tipc/tipc 0xbb2b2504 tipc_send +EXPORT_SYMBOL net/tipc/tipc 0xc181621e tipc_send_buf +EXPORT_SYMBOL net/tipc/tipc 0xcec8514a tipc_set_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0xd44731e5 tipc_ownidentity +EXPORT_SYMBOL net/tipc/tipc 0xd8051228 tipc_forward_buf2name +EXPORT_SYMBOL net/tipc/tipc 0xda7f9d3f tipc_attach +EXPORT_SYMBOL net/tipc/tipc 0xdf5008fc tipc_peer +EXPORT_SYMBOL net/tipc/tipc 0xe7aece47 tipc_ispublished +EXPORT_SYMBOL net/tipc/tipc 0xeefd49b3 tipc_get_handle +EXPORT_SYMBOL net/tipc/tipc 0xef50a1ef tipc_disable_bearer +EXPORT_SYMBOL net/tipc/tipc 0xf38d7cca tipc_forward_buf2port +EXPORT_SYMBOL net/tipc/tipc 0xf6f2f061 tipc_send_buf_fast +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0xbd9150b4 register_wan_device +EXPORT_SYMBOL net/wimax/wimax 0x033fcea3 wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0x966d005d wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x07e7ac5a ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x175f2a19 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1a8365cd wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0x21cf5316 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x2598cb1a cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x3013e1f4 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0x33429707 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x37ac8d05 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x47c9a6c4 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x5716fb79 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x589bbfdb cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0x6330e240 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x64499caa wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x6543bc71 cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6c83567b cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0x6ca21c05 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x6e931881 cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x7961c6a6 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x83ac6106 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x878578a0 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x8c04af77 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x8c35d732 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x90eb5e02 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x965a5a0e regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x98a54b79 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0xa5c3ded5 __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xb89261e3 cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0xbacc31a0 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0xc4e85ec5 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xc67ada5d cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0xc8676826 cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xc931a03d ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0xccc291b3 ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0xcdd80c16 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0xdac7ef92 cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xdf585494 cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0xe1b470b3 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0xe4643ddf wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0xe490859a cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xea977e6c ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xf3b25fa2 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0xf57501d8 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xfe2143eb ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/lib80211 0x230f3ffb lib80211_crypt_deinit_handler +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x3bd4c09e lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x3d781e8a lib80211_crypt_quiescing +EXPORT_SYMBOL net/wireless/lib80211 0x47152748 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x4a73d016 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x696f491f lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0xa4dfd620 lib80211_crypt_deinit_entries +EXPORT_SYMBOL net/wireless/lib80211 0xc43846c1 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xf52422f4 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL sound/ac97_bus 0x8fb575c4 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0xff3f3a29 snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x094acb5a 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 0x38a3e2f4 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x4abda4e3 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 0x8db055f5 snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xcac0a3be snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x3a57f235 snd_seq_autoload_unlock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x6b2a937f 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-device 0xf539f6f3 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 0x3b55d387 snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x68b9bd07 snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x7adfa053 snd_midi_event_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x998f2126 snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x9b1825a9 snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xb6327286 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xbc51650a snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe58d6519 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x6cc8b667 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x0150fbd0 snd_device_register +EXPORT_SYMBOL sound/core/snd 0x15438d33 snd_card_file_remove +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 0x19a5e81f snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x1f3e6289 snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0x213d9e96 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x2643d2b5 snd_device_new +EXPORT_SYMBOL sound/core/snd 0x282ceefc _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0x2834a1dc snd_card_free +EXPORT_SYMBOL sound/core/snd 0x2bfbec42 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x2c5dbb19 snd_cards +EXPORT_SYMBOL sound/core/snd 0x34b7642e snd_card_register +EXPORT_SYMBOL sound/core/snd 0x396e6b9e snd_info_register +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3a3f654b snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x3df22261 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x40cb221b snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x438c3d14 snd_device_free +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4c7e002d snd_card_create +EXPORT_SYMBOL sound/core/snd 0x51208190 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x593abbad snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x5c0d2517 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x5cb355c0 snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x645d354d snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x6ef4567a snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x7066a7c8 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x73fecfb4 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x752733bf snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x783426d5 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0x7c32805d snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x865eeb4f snd_component_add +EXPORT_SYMBOL sound/core/snd 0x87330341 snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x89f43a51 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x996dc1a2 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0x9b911ec9 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xbf7d4812 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0xc8d30f10 snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0xcb2da76c snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0xce3ca308 copy_from_user_toio +EXPORT_SYMBOL sound/core/snd 0xd1157735 release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0xd40ed28d snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0xd4342f5c snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0xd90ec35f snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0xd959b087 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0xdaf11aa6 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0xe20c9214 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0xe34e29ca snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0xf3aacea0 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0xff2082df snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0xff72a13b snd_register_oss_device +EXPORT_SYMBOL sound/core/snd-hwdep 0xdd713912 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x20360641 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x3b91f3af snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x7c4955d0 snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x8665a426 snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0x95826f66 snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0xade88e76 snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xfda9987c snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x039f17c9 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x0e7b95a6 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x1076b93c snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0x13158572 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x1ada06ee snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x1c25026c snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x22ff1505 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x24479a7e snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0x3185c0be snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x36f5d298 snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x395e287f snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x3d552d88 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x3f2d521b snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x3f95626b snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x455d675e snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x4764de4a snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x4d36526e snd_pcm_limit_hw_rates +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 0x50898ff1 snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0x51f608c9 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x5af42d1d snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x5cdbdb78 snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x69b62cd7 snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x71d44d6c snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x75438026 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x7e768815 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x7ef71114 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x81ac5739 snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0x82dfe565 snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0x83bae925 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x8434e32c snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xa074821f snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xa629e8bc snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbce8cc7e snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xc8f50ba4 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0xc93ad7b6 snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0xd0b9b8b8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xea59bd17 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xec540cb5 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xfcb54adf snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-rawmidi 0x06223e84 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2532a192 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x327d30cc snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4ccfdbdc snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5080d705 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5b9ba644 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x61c64c1e snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7e46db43 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa4e1cb34 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc0a7aa43 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0xca5933f9 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd7734624 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe1df74ed snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe8413137 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xea1ba8bd snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xea604e1d snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xfd728ff6 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-timer 0x17ba57b2 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x2cd8a6f0 snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0x57c4988d snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x7f1fe0ae snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0x89985830 snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x8f2c0f94 snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x97982f1f snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0xab35456c snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0xbd56a082 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0xce243af4 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0xd7285b43 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0xfe0c6d63 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0xffe302dd snd_timer_open +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x4bbb7f27 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x98c48ef8 snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc43a3940 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x1a0f3970 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x29014191 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x71dabd67 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x892df8a1 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xa292203d snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xc0e5c57e snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xc1bb5bea snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xc6615bcc snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xc84e7037 snd_opl3_init +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x387cb864 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x4b5c5fb3 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x57bb2a0f snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x660c2c9e snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x82a53fa4 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x860acb1d snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x99b88ede snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xdfdc054b snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf80b59eb snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf9889327 snd_vx_dsp_load +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x2b88c638 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x37a2374d snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x8499b1ea snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x9306de5e snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xa1515a0b snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xc2473c01 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x181c681e snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x30b2bd08 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x953ed267 snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xa8b46b61 snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xd06b292a snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xf1c015c3 snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x3e2d7411 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x84c107d0 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xbb68899d snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xe8ef0733 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x8be20412 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xfa8d60ef snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x14cb4183 snd_tea575x_init +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0xff7234ef snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x3cf43abf snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x791d595c snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xd271c53a snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xd945b50d snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xeb5f31b1 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-i2c 0x1697b17f snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x38b77372 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xaa5185a3 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xc43cb7d9 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xe01b3f84 snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0xfa706bf7 snd_i2c_device_free +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x02a81092 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x0f87055f snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x179fe6e9 snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x34e36704 snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x693e6017 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x6c9f777e snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xa4112ba9 snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xbd3f92cf snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xd37afec3 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xe75e23a6 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x231c8a48 snd_sb16dsp_get_pcm_ops +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x741df320 snd_sb16dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xaea90106 snd_sb16dsp_configure +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xc57f5b54 snd_sb16dsp_interrupt +EXPORT_SYMBOL sound/oss/ad1848 0x2b5d9dae ad1848_detect +EXPORT_SYMBOL sound/oss/ad1848 0x9bf1cc62 ad1848_unload +EXPORT_SYMBOL sound/oss/ad1848 0xa3e16c6b probe_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0xb0ddaaac attach_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0xb29a9148 unload_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0xc04f6f67 ad1848_control +EXPORT_SYMBOL sound/oss/ad1848 0xceb37bce ad1848_init +EXPORT_SYMBOL sound/oss/mpu401 0x5febf284 unload_mpu401 +EXPORT_SYMBOL sound/oss/mpu401 0x61641749 probe_mpu401 +EXPORT_SYMBOL sound/oss/mpu401 0x80c2c01b attach_mpu401 +EXPORT_SYMBOL sound/oss/sb_lib 0x071770e0 sb_dsp_init +EXPORT_SYMBOL sound/oss/sb_lib 0x42424109 sb_be_quiet +EXPORT_SYMBOL sound/oss/sb_lib 0x450f9aea smw_free +EXPORT_SYMBOL sound/oss/sb_lib 0x74afd69c unload_sbmpu +EXPORT_SYMBOL sound/oss/sb_lib 0xc4884969 sb_dsp_unload +EXPORT_SYMBOL sound/oss/sb_lib 0xd8a2731c sb_dsp_detect +EXPORT_SYMBOL sound/oss/sb_lib 0xf754f891 probe_sbmpu +EXPORT_SYMBOL sound/oss/sound 0x04c87ec8 compute_finetune +EXPORT_SYMBOL sound/oss/sound 0x06339815 sound_unload_synthdev +EXPORT_SYMBOL sound/oss/sound 0x0f280035 conf_printf +EXPORT_SYMBOL sound/oss/sound 0x17ba231d seq_input_event +EXPORT_SYMBOL sound/oss/sound 0x1b3df3cf sound_alloc_mixerdev +EXPORT_SYMBOL sound/oss/sound 0x1f395686 MIDIbuf_avail +EXPORT_SYMBOL sound/oss/sound 0x2161d5e8 sound_timer_init +EXPORT_SYMBOL sound/oss/sound 0x2aa31695 midi_synth_kill_note +EXPORT_SYMBOL sound/oss/sound 0x394cb088 sound_free_dma +EXPORT_SYMBOL sound/oss/sound 0x418f5fbe sound_close_dma +EXPORT_SYMBOL sound/oss/sound 0x4cd01bdd num_audiodevs +EXPORT_SYMBOL sound/oss/sound 0x4ff47e9d midi_synth_setup_voice +EXPORT_SYMBOL sound/oss/sound 0x51e354b2 sound_alloc_timerdev +EXPORT_SYMBOL sound/oss/sound 0x56504ca2 midi_synth_reset +EXPORT_SYMBOL sound/oss/sound 0x5bbd624a sound_timer_devs +EXPORT_SYMBOL sound/oss/sound 0x5d986fc9 note_to_freq +EXPORT_SYMBOL sound/oss/sound 0x6d53e94a mixer_devs +EXPORT_SYMBOL sound/oss/sound 0x71465d15 sound_install_audiodrv +EXPORT_SYMBOL sound/oss/sound 0x7679ee76 seq_copy_to_input +EXPORT_SYMBOL sound/oss/sound 0x7bdf0907 conf_printf2 +EXPORT_SYMBOL sound/oss/sound 0x892093e0 midi_synth_controller +EXPORT_SYMBOL sound/oss/sound 0x90bd9714 sequencer_timer +EXPORT_SYMBOL sound/oss/sound 0x9445c39e audio_devs +EXPORT_SYMBOL sound/oss/sound 0x987bcf12 DMAbuf_outputintr +EXPORT_SYMBOL sound/oss/sound 0x9a95733f sound_alloc_dma +EXPORT_SYMBOL sound/oss/sound 0x9bdaf24d midi_synth_start_note +EXPORT_SYMBOL sound/oss/sound 0x9d845b18 num_mixers +EXPORT_SYMBOL sound/oss/sound 0xa1d5f04f load_mixer_volumes +EXPORT_SYMBOL sound/oss/sound 0xa1eae7cf num_midis +EXPORT_SYMBOL sound/oss/sound 0xa41ead5f sound_unload_timerdev +EXPORT_SYMBOL sound/oss/sound 0xa51c913b sound_unload_mixerdev +EXPORT_SYMBOL sound/oss/sound 0xa6bb414c sound_unload_mididev +EXPORT_SYMBOL sound/oss/sound 0xa948751e sound_unload_audiodev +EXPORT_SYMBOL sound/oss/sound 0xad45df73 midi_synth_close +EXPORT_SYMBOL sound/oss/sound 0xaef743b2 midi_synth_ioctl +EXPORT_SYMBOL sound/oss/sound 0xb14b22cd midi_synth_hw_control +EXPORT_SYMBOL sound/oss/sound 0xb51587f6 do_midi_msg +EXPORT_SYMBOL sound/oss/sound 0xba413f87 sound_alloc_mididev +EXPORT_SYMBOL sound/oss/sound 0xba7dd041 midi_synth_bender +EXPORT_SYMBOL sound/oss/sound 0xc748d109 sound_alloc_synthdev +EXPORT_SYMBOL sound/oss/sound 0xcab4d5bf midi_synth_load_patch +EXPORT_SYMBOL sound/oss/sound 0xcc4b8797 sound_open_dma +EXPORT_SYMBOL sound/oss/sound 0xd85be938 midi_synth_set_instr +EXPORT_SYMBOL sound/oss/sound 0xdb400afa midi_synth_panning +EXPORT_SYMBOL sound/oss/sound 0xde45e301 sound_install_mixer +EXPORT_SYMBOL sound/oss/sound 0xe056b71c DMAbuf_start_dma +EXPORT_SYMBOL sound/oss/sound 0xe2675a79 sound_timer_interrupt +EXPORT_SYMBOL sound/oss/sound 0xeb315d99 DMAbuf_inputintr +EXPORT_SYMBOL sound/oss/sound 0xebf55bc8 midi_devs +EXPORT_SYMBOL sound/oss/sound 0xf18b69ef synth_devs +EXPORT_SYMBOL sound/oss/sound 0xf1ea8a20 midi_synth_aftertouch +EXPORT_SYMBOL sound/oss/sound 0xf6b3a2fb midi_synth_open +EXPORT_SYMBOL sound/oss/sound 0xf78f6363 sequencer_init +EXPORT_SYMBOL sound/oss/sound 0xfa6871be sound_timer_syncinterval +EXPORT_SYMBOL sound/oss/sound 0xfddcbfb3 midi_synth_send_sysex +EXPORT_SYMBOL sound/oss/uart401 0x049cd8b7 uart401intr +EXPORT_SYMBOL sound/oss/uart401 0xb79c661a probe_uart401 +EXPORT_SYMBOL sound/oss/uart401 0xecfdd9c9 unload_uart401 +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2753c41e snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2ffad946 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x33d97cb3 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x394bb7e2 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x46b1e2a6 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x54988a88 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x596518d4 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6641c966 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x71094957 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x824edd5a snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x83e059bb snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x94651a30 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd0a14420 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe819c9a0 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf39ce0a7 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xfc0a3844 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xfeb8443f snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x19097add snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x24b165fa snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x48a74519 snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x73075c00 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xc23f6cc2 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xc3fe1cbf snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xd25af256 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xe695e1b9 snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xfc5650e2 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0xacb9e7be snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x9826901c snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xa70aa2dd snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xe2595a2d snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x0e73c1b0 snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x584acb6d snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x68650e36 snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x6bdc1386 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xfc5b08ae snd_trident_start_voice +EXPORT_SYMBOL sound/soc/codecs/snd-soc-uda134x 0x3d4fd4d1 uda134x_dai +EXPORT_SYMBOL sound/sound_firmware 0x39e3dd23 mod_firmware_load +EXPORT_SYMBOL sound/soundcore 0x39b8cc1a register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x6bc442d3 register_sound_midi +EXPORT_SYMBOL sound/soundcore 0x776c869e register_sound_special +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0x9b2d1b54 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xda28e5dd register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0xfa42714b sound_class +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x2cbcfdcd snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x524da871 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 0xc0cc5bc4 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xde1ef263 snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xf49a14f9 snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xf9775a21 snd_emux_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x01e234f2 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x0895e1a9 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x15cfaea4 snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x2ba29873 snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0x45c2abb1 snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x5d2130f4 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xab810f2e __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xb2676a58 snd_util_mem_free +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usb-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL sound/usb/snd-usb-lib 0xfba59b1d snd_usb_create_midi_interface +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0xbdf08d01 lirc_register_driver +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0xfc200c68 lirc_get_pdata +EXPORT_SYMBOL vmlinux 0x00000000 per_cpu__softirq_work_list +EXPORT_SYMBOL vmlinux 0x000f8480 alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x005b0c00 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x005f9757 sget +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x00b0459b bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL vmlinux 0x00e8097b csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x00fd80d8 phy_connect +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x015f231e pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x016316e5 tcp_poll +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x01a4aab6 set_irq_chip_data +EXPORT_SYMBOL vmlinux 0x01a80b1f sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x01b96eee pcim_iomap +EXPORT_SYMBOL vmlinux 0x01c5cf02 fb_validate_mode +EXPORT_SYMBOL vmlinux 0x01cf102f tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x01df8550 generic_setxattr +EXPORT_SYMBOL vmlinux 0x01e78ef2 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x01f16cb4 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x0205fe48 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x02384e8d ioremap_flags +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x02952d69 blk_queue_bounce +EXPORT_SYMBOL vmlinux 0x02a2ec4a filemap_fault +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02ada536 dev_getbyhwaddr +EXPORT_SYMBOL vmlinux 0x02cfa794 blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x03072068 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x033ae0bf insert_inode_locked +EXPORT_SYMBOL vmlinux 0x03447b01 bdput +EXPORT_SYMBOL vmlinux 0x0369cff5 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x036f8908 lro_flush_all +EXPORT_SYMBOL vmlinux 0x037995ff __scm_destroy +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03bdad22 of_gpio_simple_xlate +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03c6ecf4 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x03d0e836 tty_free_termios +EXPORT_SYMBOL vmlinux 0x03d4d941 put_mnt_ns +EXPORT_SYMBOL vmlinux 0x03e31fed dcache_dir_close +EXPORT_SYMBOL vmlinux 0x03e4a85a inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x03f17786 tcf_hash_create +EXPORT_SYMBOL vmlinux 0x03fc291e skb_put +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x0400429e set_irq_chip +EXPORT_SYMBOL vmlinux 0x040b61d1 soft_cursor +EXPORT_SYMBOL vmlinux 0x041b1fd9 blk_sync_queue +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x043b8483 __kfifo_get +EXPORT_SYMBOL vmlinux 0x04499550 neigh_event_ns +EXPORT_SYMBOL vmlinux 0x047e2ee9 read_dev_sector +EXPORT_SYMBOL vmlinux 0x047f8bdf __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x04c64481 ip_setsockopt +EXPORT_SYMBOL vmlinux 0x04d2349b flush_hash_entry +EXPORT_SYMBOL vmlinux 0x04fab5bc jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x051d6dd0 vlan_gro_receive +EXPORT_SYMBOL vmlinux 0x051fdd4c mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x054493e6 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x0552d59d ps2_handle_response +EXPORT_SYMBOL vmlinux 0x05570d1c bio_endio +EXPORT_SYMBOL vmlinux 0x0563294b journal_revoke +EXPORT_SYMBOL vmlinux 0x0565a838 tcf_hash_check +EXPORT_SYMBOL vmlinux 0x056c04d5 otg_get_transceiver +EXPORT_SYMBOL vmlinux 0x057ce975 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x059a9c45 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x059dba8f unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x05a08966 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x05a514a1 _insl_ns +EXPORT_SYMBOL vmlinux 0x05adc96b of_get_parent +EXPORT_SYMBOL vmlinux 0x05af3f35 brioctl_set +EXPORT_SYMBOL vmlinux 0x05cfe96c file_update_time +EXPORT_SYMBOL vmlinux 0x060a42f5 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x06148581 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x062aba95 mempool_free +EXPORT_SYMBOL vmlinux 0x0675c7eb atomic64_cmpxchg +EXPORT_SYMBOL vmlinux 0x0678a1bb skb_gso_segment +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x06a3b256 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x06bab581 dev_alloc_skb +EXPORT_SYMBOL vmlinux 0x06d8bae1 idr_get_new +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x06fe97f7 matroxfb_register_driver +EXPORT_SYMBOL vmlinux 0x071626ab scsi_register +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x076c3a87 llc_sap_find +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x0799c50a param_set_ulong +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07c3c2e1 mdiobus_read +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d10f95 create_proc_entry +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x07ec394f genphy_read_status +EXPORT_SYMBOL vmlinux 0x0806fdcf sg_miter_next +EXPORT_SYMBOL vmlinux 0x081d3aff neigh_seq_start +EXPORT_SYMBOL vmlinux 0x082afc6e vc_cons +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x0886153e inetdev_by_index +EXPORT_SYMBOL vmlinux 0x089b2329 kmem_cache_name +EXPORT_SYMBOL vmlinux 0x08a22651 dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x08b39c14 __xfrm_lookup +EXPORT_SYMBOL vmlinux 0x08baacd9 sock_i_uid +EXPORT_SYMBOL vmlinux 0x08e9bf5a fb_class +EXPORT_SYMBOL vmlinux 0x08ed0b62 mac_vmode_to_var +EXPORT_SYMBOL vmlinux 0x08fccfe9 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x091807a7 mpage_writepages +EXPORT_SYMBOL vmlinux 0x091ae81b dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x092b007a sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x095bb830 down_interruptible +EXPORT_SYMBOL vmlinux 0x09708823 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09ba0887 sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c6472c pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09e8a15d i2c_release_client +EXPORT_SYMBOL vmlinux 0x0a0a875f rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x0a0ab956 vmap +EXPORT_SYMBOL vmlinux 0x0a11b200 override_creds +EXPORT_SYMBOL vmlinux 0x0a2190b7 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a4747ff allocate_resource +EXPORT_SYMBOL vmlinux 0x0a745ccf of_find_device_by_node +EXPORT_SYMBOL vmlinux 0x0a8365ab simple_rename +EXPORT_SYMBOL vmlinux 0x0a853528 vfs_fsync +EXPORT_SYMBOL vmlinux 0x0ab55ff2 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x0ac3c858 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acdc7b2 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x0afa66fc generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x0b0f99f7 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b1ecd58 of_device_alloc +EXPORT_SYMBOL vmlinux 0x0b2ba6ef journal_update_format +EXPORT_SYMBOL vmlinux 0x0b661722 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b9fad46 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x0ba4b2dd dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x0bc8d647 arp_find +EXPORT_SYMBOL vmlinux 0x0bdaaf6e tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x0c05b234 set_groups +EXPORT_SYMBOL vmlinux 0x0c12e626 __debugger_bpt +EXPORT_SYMBOL vmlinux 0x0c379382 blk_free_tags +EXPORT_SYMBOL vmlinux 0x0c4076d6 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x0c4dd262 set_binfmt +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c80fb5e tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x0c81a7cd scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x0c892734 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x0c8b5a92 set_page_dirty +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0c9b6089 nvram_get_size +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cf582c5 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x0cf8fbfd simple_transaction_set +EXPORT_SYMBOL vmlinux 0x0cf9fe8b dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x0d073fd8 skb_clone +EXPORT_SYMBOL vmlinux 0x0d0fe2f4 down_trylock +EXPORT_SYMBOL vmlinux 0x0d3002c2 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x0d3def21 idr_pre_get +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d64e417 set_security_override +EXPORT_SYMBOL vmlinux 0x0d7299b8 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x0d74fdc9 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x0d7dfcb4 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0da2574e sock_create +EXPORT_SYMBOL vmlinux 0x0dbf38b8 mol_trampoline +EXPORT_SYMBOL vmlinux 0x0dc9bc14 alloc_disk_node +EXPORT_SYMBOL vmlinux 0x0df3d0e4 nf_reinject +EXPORT_SYMBOL vmlinux 0x0e2d16c3 proc_dointvec +EXPORT_SYMBOL vmlinux 0x0e52592a panic +EXPORT_SYMBOL vmlinux 0x0e6dd809 nobh_write_end +EXPORT_SYMBOL vmlinux 0x0e7c5361 bdi_init +EXPORT_SYMBOL vmlinux 0x0e7e919f pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0x0ef20db1 kernstart_addr +EXPORT_SYMBOL vmlinux 0x0f12c4e8 tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x0f1ef871 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x0f28cb91 nvram_read_byte +EXPORT_SYMBOL vmlinux 0x0f3d0f9f mdiobus_scan +EXPORT_SYMBOL vmlinux 0x0f7254d4 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x0f86b8a2 blk_requeue_request +EXPORT_SYMBOL vmlinux 0x0fc8a42b fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x0fed8f13 genphy_resume +EXPORT_SYMBOL vmlinux 0x1017714d tty_port_close_start +EXPORT_SYMBOL vmlinux 0x102a8b87 kernel_listen +EXPORT_SYMBOL vmlinux 0x105e2727 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x106de8b1 input_free_device +EXPORT_SYMBOL vmlinux 0x108afc08 take_over_console +EXPORT_SYMBOL vmlinux 0x108e8985 param_get_uint +EXPORT_SYMBOL vmlinux 0x10ae8bff napi_frags_finish +EXPORT_SYMBOL vmlinux 0x10bb6b19 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0x10dc2730 ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x10edaf48 fddi_type_trans +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x112e801a dev_kfree_skb_any +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 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x11d5dec7 register_sysctl_table +EXPORT_SYMBOL vmlinux 0x12161125 matroxfb_g450_setclk +EXPORT_SYMBOL vmlinux 0x124fd0e7 devm_ioremap +EXPORT_SYMBOL vmlinux 0x125477c9 textsearch_unregister +EXPORT_SYMBOL vmlinux 0x12637c56 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x12add143 netlink_set_err +EXPORT_SYMBOL vmlinux 0x12b6f940 of_scan_pci_bridge +EXPORT_SYMBOL vmlinux 0x12bcae3a pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x12c6d73a inet_frags_init +EXPORT_SYMBOL vmlinux 0x12da5bb2 __kmalloc +EXPORT_SYMBOL vmlinux 0x12e5ef0c rtas_set_power_level +EXPORT_SYMBOL vmlinux 0x1363167a skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x139fa087 d_alloc_name +EXPORT_SYMBOL vmlinux 0x13b53a07 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x13c1529e udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x13c8c298 simple_write_begin +EXPORT_SYMBOL vmlinux 0x13e2a7c1 seq_release_private +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x13f890f8 matroxfb_vgaHWrestore +EXPORT_SYMBOL vmlinux 0x1407c6e7 kmap_prot +EXPORT_SYMBOL vmlinux 0x141d99f0 pci_release_regions +EXPORT_SYMBOL vmlinux 0x1420423d pci_request_regions +EXPORT_SYMBOL vmlinux 0x142675bf nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x144ed3a1 dev_base_lock +EXPORT_SYMBOL vmlinux 0x1455d4e0 neigh_update +EXPORT_SYMBOL vmlinux 0x148efe3b matrox_G100 +EXPORT_SYMBOL vmlinux 0x1493d92f netlink_broadcast +EXPORT_SYMBOL vmlinux 0x14943841 cdev_alloc +EXPORT_SYMBOL vmlinux 0x14948816 ip_route_output_key +EXPORT_SYMBOL vmlinux 0x14970717 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x14b62b1e skb_dma_unmap +EXPORT_SYMBOL vmlinux 0x14c86b6a ide_complete_rq +EXPORT_SYMBOL vmlinux 0x14d1965b sk_reset_timer +EXPORT_SYMBOL vmlinux 0x1518c703 skb_dma_map +EXPORT_SYMBOL vmlinux 0x1521b8f4 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x158d60e9 __bforget +EXPORT_SYMBOL vmlinux 0x15a103f2 scm_fp_dup +EXPORT_SYMBOL vmlinux 0x15ab5c98 devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0x15e5ff16 call_usermodehelper_pipe +EXPORT_SYMBOL vmlinux 0x160bd45c rtas_token +EXPORT_SYMBOL vmlinux 0x160fe817 neigh_create +EXPORT_SYMBOL vmlinux 0x1613664b scsi_put_command +EXPORT_SYMBOL vmlinux 0x163c5e39 twl4030_i2c_read +EXPORT_SYMBOL vmlinux 0x16479e8f panic_notifier_list +EXPORT_SYMBOL vmlinux 0x16481590 pci_get_slot +EXPORT_SYMBOL vmlinux 0x164f8984 phy_sanitize_settings +EXPORT_SYMBOL vmlinux 0x1664c5b1 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x166ca6b3 pci_read_irq_line +EXPORT_SYMBOL vmlinux 0x167157b7 dm_io +EXPORT_SYMBOL vmlinux 0x16a0f2b0 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x16e911d4 down_write +EXPORT_SYMBOL vmlinux 0x171f0eab blk_put_request +EXPORT_SYMBOL vmlinux 0x17489230 DAC1064_global_restore +EXPORT_SYMBOL vmlinux 0x17766dbf blk_run_queue +EXPORT_SYMBOL vmlinux 0x177f3424 task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x17889018 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x179b20ca ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x17aa156a __ucmpdi2 +EXPORT_SYMBOL vmlinux 0x17cc708a inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x1813716a i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x1823aa9e sock_wake_async +EXPORT_SYMBOL vmlinux 0x182cd663 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x186ca29f page_readlink +EXPORT_SYMBOL vmlinux 0x18787ee8 sock_kfree_s +EXPORT_SYMBOL vmlinux 0x187a3338 vfs_readlink +EXPORT_SYMBOL vmlinux 0x188f5949 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x1890c46a __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x1933d763 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x19437b3d i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x1966bf16 down_read_trylock +EXPORT_SYMBOL vmlinux 0x1976bc16 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x197b24c6 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19ad6891 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x19b25e36 tcf_action_exec +EXPORT_SYMBOL vmlinux 0x19c34001 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x19e667fc ide_geometry_proc_fops +EXPORT_SYMBOL vmlinux 0x19ed49db tcp_make_synack +EXPORT_SYMBOL vmlinux 0x19f1704b ethtool_op_get_ufo +EXPORT_SYMBOL vmlinux 0x1a00e6a7 vfs_readv +EXPORT_SYMBOL vmlinux 0x1a0cb8b3 iget_failed +EXPORT_SYMBOL vmlinux 0x1a99b4ad pipe_lock +EXPORT_SYMBOL vmlinux 0x1a9dbbba jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x1aba5949 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x1abdc4ef __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x1ac61557 journal_create +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1add0a8f __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x1aeac738 blk_fetch_request +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b0d1322 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x1b1c49b9 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x1b1cfcd9 register_filesystem +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b68dc7c blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x1b6b7fb8 genphy_update_link +EXPORT_SYMBOL vmlinux 0x1b72450c nla_append +EXPORT_SYMBOL vmlinux 0x1b7861ab tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x1b79738d simple_readpage +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b9981cc set_irq_wake +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1bc01101 put_tty_driver +EXPORT_SYMBOL vmlinux 0x1bc4ff03 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x1bd349da tcf_hash_search +EXPORT_SYMBOL vmlinux 0x1be6d238 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x1bed3975 lookup_hash +EXPORT_SYMBOL vmlinux 0x1c028113 setup_arg_pages +EXPORT_SYMBOL vmlinux 0x1c160a38 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x1c1af916 set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x1c1ef27c load_nls_default +EXPORT_SYMBOL vmlinux 0x1c227bf2 netif_rx_ni +EXPORT_SYMBOL vmlinux 0x1c30ecf0 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x1c324357 idr_replace +EXPORT_SYMBOL vmlinux 0x1c520052 unregister_snap_client +EXPORT_SYMBOL vmlinux 0x1c5614a2 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x1c5b2c15 pmu_wait_complete +EXPORT_SYMBOL vmlinux 0x1c6fa989 dev_unicast_add +EXPORT_SYMBOL vmlinux 0x1c7eaa48 kobject_del +EXPORT_SYMBOL vmlinux 0x1c80de9c ip_send_check +EXPORT_SYMBOL vmlinux 0x1c83d532 bdget +EXPORT_SYMBOL vmlinux 0x1c8fd6fc page_address +EXPORT_SYMBOL vmlinux 0x1ca3d6c5 bd_set_size +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1cd8bc80 flush_icache_user_range +EXPORT_SYMBOL vmlinux 0x1ce09067 security_path_mknod +EXPORT_SYMBOL vmlinux 0x1cfa0c30 of_iomap +EXPORT_SYMBOL vmlinux 0x1d239ed3 clear_inode +EXPORT_SYMBOL vmlinux 0x1d2e87c6 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x1d398b64 udp_ioctl +EXPORT_SYMBOL vmlinux 0x1d49cc65 posix_lock_file +EXPORT_SYMBOL vmlinux 0x1d5180c1 input_unregister_handler +EXPORT_SYMBOL vmlinux 0x1d5b37aa gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x1d77cfa1 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x1d8d5ed5 consume_skb +EXPORT_SYMBOL vmlinux 0x1dc25fd5 llc_add_pack +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1e084830 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e81b5d3 matroxfb_g450_setpll_cond +EXPORT_SYMBOL vmlinux 0x1e89f873 input_register_handler +EXPORT_SYMBOL vmlinux 0x1e99825f neigh_connected_output +EXPORT_SYMBOL vmlinux 0x1ecb9943 posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x1ed92335 llc_set_station_handler +EXPORT_SYMBOL vmlinux 0x1edc9598 _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x1eec84e1 vfs_quota_off +EXPORT_SYMBOL vmlinux 0x1ef81084 write_one_page +EXPORT_SYMBOL vmlinux 0x1efe283f __cap_full_set +EXPORT_SYMBOL vmlinux 0x1f1b59ad inode_get_bytes +EXPORT_SYMBOL vmlinux 0x1f70bfb5 lro_receive_frags +EXPORT_SYMBOL vmlinux 0x1f7cc628 mempool_create +EXPORT_SYMBOL vmlinux 0x1f848154 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x1f85b921 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x1f91ff57 serio_close +EXPORT_SYMBOL vmlinux 0x1fae7a0b wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x1fd99a30 xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x1fe13352 neigh_lookup +EXPORT_SYMBOL vmlinux 0x1fe7792a security_inode_permission +EXPORT_SYMBOL vmlinux 0x1feb6cd4 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x1fed7d0d ip_dev_find +EXPORT_SYMBOL vmlinux 0x1ff69dd8 vfs_fstatat +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x20030ecd ioremap +EXPORT_SYMBOL vmlinux 0x20145fad inet_put_port +EXPORT_SYMBOL vmlinux 0x2014fad2 add_timer +EXPORT_SYMBOL vmlinux 0x20385c58 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x203d84d2 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x2055532e matroxfb_g450_connect +EXPORT_SYMBOL vmlinux 0x206484af sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x206fc972 remove_proc_entry +EXPORT_SYMBOL vmlinux 0x2080941a of_find_property +EXPORT_SYMBOL vmlinux 0x2086930e of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x2096d9a5 flush_tlb_page +EXPORT_SYMBOL vmlinux 0x20c0417a __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x20d3e9ca tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x20e6b9f6 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x20f27045 filemap_fdatawait +EXPORT_SYMBOL vmlinux 0x210c9f83 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x2139e385 dst_release +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x21620219 request_firmware +EXPORT_SYMBOL vmlinux 0x21853b12 aio_complete +EXPORT_SYMBOL vmlinux 0x21ab228f dev_load +EXPORT_SYMBOL vmlinux 0x21e87fc0 locks_init_lock +EXPORT_SYMBOL vmlinux 0x2207b25d cpu_sysdev_class +EXPORT_SYMBOL vmlinux 0x222dfe2a sysctl_intvec +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x2234abb0 single_open +EXPORT_SYMBOL vmlinux 0x224710b7 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x22471ba4 bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x224fbe8d napi_gro_receive +EXPORT_SYMBOL vmlinux 0x225027f8 fb_set_var +EXPORT_SYMBOL vmlinux 0x225ea34d of_match_node +EXPORT_SYMBOL vmlinux 0x226e86a9 audit_log +EXPORT_SYMBOL vmlinux 0x2288378f system_state +EXPORT_SYMBOL vmlinux 0x22a73912 __tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22b6533b xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x22ca2e67 pskb_copy +EXPORT_SYMBOL vmlinux 0x22ce77b9 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x22da923f kthread_bind +EXPORT_SYMBOL vmlinux 0x22daa663 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x22e8ac3a pci_read_vpd +EXPORT_SYMBOL vmlinux 0x231ab5ce blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x231d0876 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x23269a13 strict_strtoul +EXPORT_SYMBOL vmlinux 0x233b7136 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x234cf75d pci_domain_nr +EXPORT_SYMBOL vmlinux 0x2387d43a tcp_close +EXPORT_SYMBOL vmlinux 0x23941f1e d_instantiate +EXPORT_SYMBOL vmlinux 0x239800e5 netif_napi_add +EXPORT_SYMBOL vmlinux 0x23cdd76d tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x23d8609f pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x23fdf489 inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0x245489b2 nonseekable_open +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x245f79ac phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0x2465e121 generic_file_llseek_unlocked +EXPORT_SYMBOL vmlinux 0x249bb03a dquot_alloc +EXPORT_SYMBOL vmlinux 0x24a85c3e key_put +EXPORT_SYMBOL vmlinux 0x24ab1651 journal_flush +EXPORT_SYMBOL vmlinux 0x24dbf169 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x24eb5668 d_move +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x250113b4 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x2511c20a pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x255a52fe __dst_free +EXPORT_SYMBOL vmlinux 0x2571a86b path_put +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258355b4 fb_find_best_mode +EXPORT_SYMBOL vmlinux 0x259a7590 inet_accept +EXPORT_SYMBOL vmlinux 0x25b0bf9d mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x25ba121c mempool_resize +EXPORT_SYMBOL vmlinux 0x25c72e42 scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0x25cd5a19 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL vmlinux 0x25f3bd2e atomic64_xchg +EXPORT_SYMBOL vmlinux 0x25fa6f17 wait_for_completion +EXPORT_SYMBOL vmlinux 0x261e6f55 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x26269f2b kunmap_atomic +EXPORT_SYMBOL vmlinux 0x26477c07 __vmalloc +EXPORT_SYMBOL vmlinux 0x266d03c8 macio_dev_put +EXPORT_SYMBOL vmlinux 0x267498f6 dquot_drop +EXPORT_SYMBOL vmlinux 0x267fc65b __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x268c4c36 dquot_transfer +EXPORT_SYMBOL vmlinux 0x26ab4495 filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0x26bfe31e iput +EXPORT_SYMBOL vmlinux 0x26d009ea vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x26e974cb elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0x272c9acd pmu_battery_count +EXPORT_SYMBOL vmlinux 0x2765b034 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x27696b2e i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x276d36fd remove_inode_hash +EXPORT_SYMBOL vmlinux 0x2776bed5 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27880f3c force_sig +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c61ece qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x27d45ee7 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x27d494a8 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x27ee3775 __init_rwsem +EXPORT_SYMBOL vmlinux 0x27fcd70e blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x27feb590 skb_tx_hash +EXPORT_SYMBOL vmlinux 0x28296068 tr_type_trans +EXPORT_SYMBOL vmlinux 0x284bd8b5 pmac_register_agp_pm +EXPORT_SYMBOL vmlinux 0x285ac517 strict_strtoll +EXPORT_SYMBOL vmlinux 0x2875d704 page_put_link +EXPORT_SYMBOL vmlinux 0x2879794c scsi_remove_host +EXPORT_SYMBOL vmlinux 0x289e35e6 alloc_trdev +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28add490 dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x28cbf304 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x28ccef8b register_sysrq_key +EXPORT_SYMBOL vmlinux 0x28d91b0b of_register_driver +EXPORT_SYMBOL vmlinux 0x28ea93d9 of_node_get +EXPORT_SYMBOL vmlinux 0x295115f8 elevator_exit +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x29bd4c46 __cap_init_eff_set +EXPORT_SYMBOL vmlinux 0x29c8163d __seq_open_private +EXPORT_SYMBOL vmlinux 0x29eaed2d kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x29f04b2c __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a307d98 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x2a50c1e7 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x2a592c2c pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x2a6a3630 elv_rb_del +EXPORT_SYMBOL vmlinux 0x2a702791 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x2a79658b bio_split +EXPORT_SYMBOL vmlinux 0x2a924a4c nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2aa65068 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x2ab6bdad vfs_unlink +EXPORT_SYMBOL vmlinux 0x2ababbd6 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x2ae1c1b1 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x2afec2ca iget5_locked +EXPORT_SYMBOL vmlinux 0x2b016d51 ide_proc_unregister_driver +EXPORT_SYMBOL vmlinux 0x2b05e054 matroxfb_read_pins +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b2bf4ec dentry_open +EXPORT_SYMBOL vmlinux 0x2b570dc0 ida_pre_get +EXPORT_SYMBOL vmlinux 0x2b776484 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bb869b6 journal_stop +EXPORT_SYMBOL vmlinux 0x2bbb48b8 set_device_ro +EXPORT_SYMBOL vmlinux 0x2bbf2fa7 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x2bc61da1 program_check_exception +EXPORT_SYMBOL vmlinux 0x2c2b451b skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x2c3a24fa install_exec_creds +EXPORT_SYMBOL vmlinux 0x2c4929fd fd_install +EXPORT_SYMBOL vmlinux 0x2c49f906 journal_set_features +EXPORT_SYMBOL vmlinux 0x2c7a307e tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x2caabf7f skb_append +EXPORT_SYMBOL vmlinux 0x2cb0ce97 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x2cd35a80 dma_direct_ops +EXPORT_SYMBOL vmlinux 0x2cdd801c dm_table_unplug_all +EXPORT_SYMBOL vmlinux 0x2cf6515b jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x2cf8384f napi_skb_finish +EXPORT_SYMBOL vmlinux 0x2cfe927c tcp_connect +EXPORT_SYMBOL vmlinux 0x2d2b0c53 i2c_master_send +EXPORT_SYMBOL vmlinux 0x2d6c98a0 tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2da117cf pci_set_mwi +EXPORT_SYMBOL vmlinux 0x2dcb0123 schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x2dd3cd0f dentry_unhash +EXPORT_SYMBOL vmlinux 0x2df23c81 sock_map_fd +EXPORT_SYMBOL vmlinux 0x2dfc9998 skb_under_panic +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e376d3d sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x2e4a39f8 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x2e7ce199 get_io_context +EXPORT_SYMBOL vmlinux 0x2e866fed journal_check_used_features +EXPORT_SYMBOL vmlinux 0x2e91692e eth_change_mtu +EXPORT_SYMBOL vmlinux 0x2ebf630f seq_open +EXPORT_SYMBOL vmlinux 0x2ecb40df journal_init_dev +EXPORT_SYMBOL vmlinux 0x2ed39ca9 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x2edaee69 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x2ee5183e pci_disable_msi +EXPORT_SYMBOL vmlinux 0x2ef253d0 d_splice_alias +EXPORT_SYMBOL vmlinux 0x2f5fc74b mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x2f98bf98 handle_sysrq +EXPORT_SYMBOL vmlinux 0x2fc1b61b vfs_dq_quota_on_remount +EXPORT_SYMBOL vmlinux 0x2ff14618 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0x2ff63a81 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0x2ffa2192 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x30246bea ip_defrag +EXPORT_SYMBOL vmlinux 0x303075a9 simple_getattr +EXPORT_SYMBOL vmlinux 0x3042cd54 giveup_altivec +EXPORT_SYMBOL vmlinux 0x3048eb77 init_net +EXPORT_SYMBOL vmlinux 0x30742258 pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0x308a6950 inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0x309bd511 pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0x309f76fa pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0x310917fe sort +EXPORT_SYMBOL vmlinux 0x31121fe1 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x3113fc31 otg_set_transceiver +EXPORT_SYMBOL vmlinux 0x313167e4 kmap_high +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x31515753 rtc_dev_update_irq_enable_emul +EXPORT_SYMBOL vmlinux 0x316318ef sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x31677a2b vmtruncate +EXPORT_SYMBOL vmlinux 0x317622bb tty_register_driver +EXPORT_SYMBOL vmlinux 0x31862cf9 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x318b4d09 call_usermodehelper_stdinpipe +EXPORT_SYMBOL vmlinux 0x3191f109 __krealloc +EXPORT_SYMBOL vmlinux 0x3193e981 simple_fill_super +EXPORT_SYMBOL vmlinux 0x319c2caf key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x31b51439 dev_unicast_delete +EXPORT_SYMBOL vmlinux 0x31bb15a4 alloc_file +EXPORT_SYMBOL vmlinux 0x31bd8134 elv_abort_queue +EXPORT_SYMBOL vmlinux 0x31d8c670 release_sock +EXPORT_SYMBOL vmlinux 0x323222ba mutex_unlock +EXPORT_SYMBOL vmlinux 0x324c8c59 cont_write_begin +EXPORT_SYMBOL vmlinux 0x32515c55 get_disk +EXPORT_SYMBOL vmlinux 0x32666c94 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0x3268d048 km_new_mapping +EXPORT_SYMBOL vmlinux 0x326df9e1 vfs_stat +EXPORT_SYMBOL vmlinux 0x326fdc33 pci_fixup_device +EXPORT_SYMBOL vmlinux 0x327b9c1b pmu_poll_adb +EXPORT_SYMBOL vmlinux 0x3285cc48 param_set_uint +EXPORT_SYMBOL vmlinux 0x328a05f1 strncpy +EXPORT_SYMBOL vmlinux 0x328aa894 jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0x32dd1a6f devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0x331fc1a6 register_netdev +EXPORT_SYMBOL vmlinux 0x3323a409 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x334f6a62 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0x33672b21 neigh_destroy +EXPORT_SYMBOL vmlinux 0x3397cc56 pci_dev_put +EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page +EXPORT_SYMBOL vmlinux 0x33bcfd33 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x33e952f4 scsi_unregister +EXPORT_SYMBOL vmlinux 0x33f33aa0 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x34032624 get_sb_ns +EXPORT_SYMBOL vmlinux 0x344adbd5 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x3457cb68 param_set_long +EXPORT_SYMBOL vmlinux 0x346b6bdb audit_log_start +EXPORT_SYMBOL vmlinux 0x34908c14 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34ac07f8 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x34c69ad3 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x34cb216a generic_removexattr +EXPORT_SYMBOL vmlinux 0x34e23acc pci_scan_slot +EXPORT_SYMBOL vmlinux 0x34f1eb7c blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x34f9702b genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x3533427d serio_reconnect +EXPORT_SYMBOL vmlinux 0x35352c02 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x355a1c90 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x355d09c5 udp_prot +EXPORT_SYMBOL vmlinux 0x35824d56 arp_tbl +EXPORT_SYMBOL vmlinux 0x359b1de9 dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x35c2ba9e refrigerator +EXPORT_SYMBOL vmlinux 0x35da2e61 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x35f00a97 bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0x361d6233 ide_stall_queue +EXPORT_SYMBOL vmlinux 0x362d944c vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x364849ed default_unplug_io_fn +EXPORT_SYMBOL vmlinux 0x3676dfcd sock_register +EXPORT_SYMBOL vmlinux 0x368bff56 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x368cd4b6 call_usermodehelper_setkeys +EXPORT_SYMBOL vmlinux 0x3695ac03 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x36a0185d __blk_end_request_all +EXPORT_SYMBOL vmlinux 0x36a122f4 serio_open +EXPORT_SYMBOL vmlinux 0x36c71916 clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x36cccf17 proc_dostring +EXPORT_SYMBOL vmlinux 0x36d249ae scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x36e47222 remove_wait_queue +EXPORT_SYMBOL vmlinux 0x36f4955f sg_next +EXPORT_SYMBOL vmlinux 0x36f6fd41 dm_io_client_create +EXPORT_SYMBOL vmlinux 0x3710b839 vfs_quota_disable +EXPORT_SYMBOL vmlinux 0x371d2130 check_legacy_ioport +EXPORT_SYMBOL vmlinux 0x37208e4d redraw_screen +EXPORT_SYMBOL vmlinux 0x37383edd rtas_get_power_level +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x374ed073 scnprintf +EXPORT_SYMBOL vmlinux 0x37af6a0a abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37e5383d inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x37e674ac lookup_bdev +EXPORT_SYMBOL vmlinux 0x37e74642 get_jiffies_64 +EXPORT_SYMBOL vmlinux 0x38097e11 save_mount_options +EXPORT_SYMBOL vmlinux 0x3812d181 register_framebuffer +EXPORT_SYMBOL vmlinux 0x3818cf0e pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x381c4bb1 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x383d8cfc security_path_symlink +EXPORT_SYMBOL vmlinux 0x384aee80 end_page_writeback +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x388fd34d phy_device_create +EXPORT_SYMBOL vmlinux 0x38a0aca4 alloc_hippi_dev +EXPORT_SYMBOL vmlinux 0x38b105ad i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x38b223b5 of_device_unregister +EXPORT_SYMBOL vmlinux 0x38b37694 tcp4_gro_receive +EXPORT_SYMBOL vmlinux 0x38b92846 llc_remove_pack +EXPORT_SYMBOL vmlinux 0x38b9eae5 ide_dump_status +EXPORT_SYMBOL vmlinux 0x38fb9933 tty_std_termios +EXPORT_SYMBOL vmlinux 0x391755f1 nf_hook_slow +EXPORT_SYMBOL vmlinux 0x392b1d86 devm_free_irq +EXPORT_SYMBOL vmlinux 0x39807396 journal_ack_err +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x398fc1da ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x39ad478d cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x39ca1964 irq_stat +EXPORT_SYMBOL vmlinux 0x39e4fb09 d_add_ci +EXPORT_SYMBOL vmlinux 0x39e5d1ef sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x3a2204c6 security_netlink_recv +EXPORT_SYMBOL vmlinux 0x3a347120 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x3a4a1797 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0x3a58d48e pci_disable_msix +EXPORT_SYMBOL vmlinux 0x3a74fa6c __scsi_add_device +EXPORT_SYMBOL vmlinux 0x3a811435 inode_add_bytes +EXPORT_SYMBOL vmlinux 0x3a859bce jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x3a9a36b8 write_cache_pages +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3a9e9cb6 module_layout +EXPORT_SYMBOL vmlinux 0x3abb37b1 elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x3ac27d72 napi_reuse_skb +EXPORT_SYMBOL vmlinux 0x3ae831b6 kref_init +EXPORT_SYMBOL vmlinux 0x3b089eae seq_path +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b3d6978 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x3b528410 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x3b9983d6 __kill_fasync +EXPORT_SYMBOL vmlinux 0x3bae9733 pipe_to_file +EXPORT_SYMBOL vmlinux 0x3bb78130 set_current_groups +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bebe13e xfrm_input +EXPORT_SYMBOL vmlinux 0x3c11a0bf sync_inode +EXPORT_SYMBOL vmlinux 0x3c24807b slow_work_unregister_user +EXPORT_SYMBOL vmlinux 0x3c2c5af5 sprintf +EXPORT_SYMBOL vmlinux 0x3c356f1e atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x3c41fe4e of_find_compatible_node +EXPORT_SYMBOL vmlinux 0x3c4317fc shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x3c795d30 simple_rmdir +EXPORT_SYMBOL vmlinux 0x3c7a68da shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3cc0a3bb xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3d1fe213 scsi_init_io +EXPORT_SYMBOL vmlinux 0x3d250bbf of_find_node_by_path +EXPORT_SYMBOL vmlinux 0x3d4e7027 tty_insert_flip_string +EXPORT_SYMBOL vmlinux 0x3d5c26a1 remap_pfn_range +EXPORT_SYMBOL vmlinux 0x3d68bd4b flow_cache_genid +EXPORT_SYMBOL vmlinux 0x3daa69da vfs_lstat +EXPORT_SYMBOL vmlinux 0x3dc674e3 __free_pages +EXPORT_SYMBOL vmlinux 0x3e383385 nf_hooks +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e6caebd add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x3e81887b dev_unicast_sync +EXPORT_SYMBOL vmlinux 0x3e899c9d blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x3ebc0f44 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x3ebc7c29 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x3ecab5a9 buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x3ece8a6a dev_change_flags +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3ee91e3a per_cpu__softnet_data +EXPORT_SYMBOL vmlinux 0x3f02bfa7 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f3cb721 swiotlb_alloc_coherent +EXPORT_SYMBOL vmlinux 0x3f406a3b enable_kernel_altivec +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f4a34d2 ide_dma_off_quietly +EXPORT_SYMBOL vmlinux 0x3f690ab5 mpage_writepage +EXPORT_SYMBOL vmlinux 0x3f8755c9 pci_bus_type +EXPORT_SYMBOL vmlinux 0x3fa2e988 km_state_notify +EXPORT_SYMBOL vmlinux 0x3fa6d28e mapping_tagged +EXPORT_SYMBOL vmlinux 0x3fe12a04 pagecache_write_end +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x3ff73397 do_munmap +EXPORT_SYMBOL vmlinux 0x40123aeb idr_for_each +EXPORT_SYMBOL vmlinux 0x403c8e57 get_super +EXPORT_SYMBOL vmlinux 0x40488124 sg_last +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x40a27c37 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x40df761e ethtool_op_get_flags +EXPORT_SYMBOL vmlinux 0x40f1ad10 tb_ticks_per_jiffy +EXPORT_SYMBOL vmlinux 0x4101a975 ide_fixstring +EXPORT_SYMBOL vmlinux 0x4101bbde param_set_copystring +EXPORT_SYMBOL vmlinux 0x4108e69a fb_match_mode +EXPORT_SYMBOL vmlinux 0x41166725 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x412ddc0c dcache_lock +EXPORT_SYMBOL vmlinux 0x41344088 param_get_charp +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x4153fc47 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x4155dd94 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0x416983d9 netdev_fix_features +EXPORT_SYMBOL vmlinux 0x417aef21 qdisc_reset +EXPORT_SYMBOL vmlinux 0x4185cf4b radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41b258d8 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x41ca965e sysctl_data +EXPORT_SYMBOL vmlinux 0x41dfad50 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x41f8fb6e __destroy_inode +EXPORT_SYMBOL vmlinux 0x42116cc5 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x42147967 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x421819b6 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x421d4249 kobject_get +EXPORT_SYMBOL vmlinux 0x42224298 sscanf +EXPORT_SYMBOL vmlinux 0x423a9bee journal_dirty_data +EXPORT_SYMBOL vmlinux 0x42418152 scsi_device_get +EXPORT_SYMBOL vmlinux 0x4243f23d unregister_con_driver +EXPORT_SYMBOL vmlinux 0x4256e8ba tty_check_change +EXPORT_SYMBOL vmlinux 0x425cf87f tc_classify_compat +EXPORT_SYMBOL vmlinux 0x426685ce set_anon_super +EXPORT_SYMBOL vmlinux 0x42815aed __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x428d3250 phy_start +EXPORT_SYMBOL vmlinux 0x42aedeee vfs_rmdir +EXPORT_SYMBOL vmlinux 0x42ecf462 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x42f87c8f vga_put +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x43030cbc generic_file_llseek +EXPORT_SYMBOL vmlinux 0x431be37b blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0x432192b1 ethtool_op_get_rx_csum +EXPORT_SYMBOL vmlinux 0x4333eadb param_set_short +EXPORT_SYMBOL vmlinux 0x434b0ed3 noop_qdisc +EXPORT_SYMBOL vmlinux 0x434fa55c release_console_sem +EXPORT_SYMBOL vmlinux 0x4369915a scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x438d7205 pci_pme_capable +EXPORT_SYMBOL vmlinux 0x43942fdf pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x439ada25 get_sb_single +EXPORT_SYMBOL vmlinux 0x439d42df __f_setown +EXPORT_SYMBOL vmlinux 0x43ab66c3 param_array_get +EXPORT_SYMBOL vmlinux 0x44161c19 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x44314efb radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x4441f079 of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x4441f810 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x444779c4 nla_find +EXPORT_SYMBOL vmlinux 0x445b8535 f_setown +EXPORT_SYMBOL vmlinux 0x44672db4 security_path_unlink +EXPORT_SYMBOL vmlinux 0x4478370a tcp_child_process +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44c214d1 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x44c3d6ba dquot_scan_active +EXPORT_SYMBOL vmlinux 0x44c7da2d ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0x44d915f7 elv_queue_empty +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x4531edfc dput +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x4541fc72 poll_freewait +EXPORT_SYMBOL vmlinux 0x4544a6d4 simple_statfs +EXPORT_SYMBOL vmlinux 0x456d788d swiotlb_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x4575315d utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x458fe786 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0x45947727 param_array_set +EXPORT_SYMBOL vmlinux 0x4596db6a sys_sigreturn +EXPORT_SYMBOL vmlinux 0x45b0ba7b swiotlb_dma_supported +EXPORT_SYMBOL vmlinux 0x45c850d5 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x45e6b04f free_buffer_head +EXPORT_SYMBOL vmlinux 0x460b38c0 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x461ebfa0 __copy_tofrom_user +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x468d1cbc kill_fasync +EXPORT_SYMBOL vmlinux 0x46cb39e2 napi_complete +EXPORT_SYMBOL vmlinux 0x46f321f4 adb_client_list +EXPORT_SYMBOL vmlinux 0x46f33707 of_mm_gpiochip_add +EXPORT_SYMBOL vmlinux 0x4719ba4e kfifo_free +EXPORT_SYMBOL vmlinux 0x472073e3 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x472d2a9a radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x47664ea1 of_device_get_modalias +EXPORT_SYMBOL vmlinux 0x479419fa down_read +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x479d7a21 sk_common_release +EXPORT_SYMBOL vmlinux 0x47c06e62 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x47e8b816 set_user_nice +EXPORT_SYMBOL vmlinux 0x47ed2dba ipv4_specific +EXPORT_SYMBOL vmlinux 0x47f1dafe bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x48321f7b tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x4833d6eb end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x484cee1e scsi_finish_command +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486b6407 hweight64 +EXPORT_SYMBOL vmlinux 0x4881efab pmac_get_partition +EXPORT_SYMBOL vmlinux 0x489c3b71 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x48a5c0db unregister_console +EXPORT_SYMBOL vmlinux 0x48c1d080 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x48dadd30 seq_read +EXPORT_SYMBOL vmlinux 0x48e48728 do_SAK +EXPORT_SYMBOL vmlinux 0x48f9f12d complete_all +EXPORT_SYMBOL vmlinux 0x4929e187 con_is_bound +EXPORT_SYMBOL vmlinux 0x493be2b4 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x493fd179 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x49439411 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x4967c7df phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x497229a1 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x49804799 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x498d6e3f unlock_page +EXPORT_SYMBOL vmlinux 0x49947ded pci_get_bus_and_slot +EXPORT_SYMBOL vmlinux 0x49e182c0 param_get_string +EXPORT_SYMBOL vmlinux 0x49e62a03 mdiobus_alloc +EXPORT_SYMBOL vmlinux 0x4a1dab3e elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0x4a1ea811 block_truncate_page +EXPORT_SYMBOL vmlinux 0x4a290d4d cur_cpu_spec +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a6ed0f9 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x4a971ec7 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x4ad34274 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x4ad57d0e sock_no_getname +EXPORT_SYMBOL vmlinux 0x4af7d559 cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b15be83 tty_register_device +EXPORT_SYMBOL vmlinux 0x4b2a4e72 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x4b34fbf5 block_all_signals +EXPORT_SYMBOL vmlinux 0x4b35edc8 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x4b3babf7 flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x4b73c7a3 open_by_devnum +EXPORT_SYMBOL vmlinux 0x4b7cd409 rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0x4b7f90c5 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x4b7fad64 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x4b8edde9 complete_and_exit +EXPORT_SYMBOL vmlinux 0x4b9f3684 kfifo_init +EXPORT_SYMBOL vmlinux 0x4ba46be9 __lookup_one_len +EXPORT_SYMBOL vmlinux 0x4bae1fa0 bdevname +EXPORT_SYMBOL vmlinux 0x4bb97567 journal_lock_updates +EXPORT_SYMBOL vmlinux 0x4bbc3e5f pm_flags +EXPORT_SYMBOL vmlinux 0x4bc12dd2 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x4bc721fe pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0x4bedb105 mdiobus_register +EXPORT_SYMBOL vmlinux 0x4bfed89e pci_enable_wake +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c32ee7f pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x4c4eaa62 migrate_page +EXPORT_SYMBOL vmlinux 0x4c587afa file_permission +EXPORT_SYMBOL vmlinux 0x4c746a1d aio_put_req +EXPORT_SYMBOL vmlinux 0x4c7fe3a7 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x4cab6d82 blk_queue_max_hw_segments +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cc82142 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x4cddedeb sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x4ce369d3 blk_queue_max_phys_segments +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d651518 swiotlb_dma_mapping_error +EXPORT_SYMBOL vmlinux 0x4d9449e6 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dec6038 memscan +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4dfd0da8 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x4e0009da idr_get_new_above +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e133f24 tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x4e168d29 fb_pan_display +EXPORT_SYMBOL vmlinux 0x4e19bab5 proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x4e272be8 tcp_v4_md5_do_add +EXPORT_SYMBOL vmlinux 0x4e29c9f9 security_path_truncate +EXPORT_SYMBOL vmlinux 0x4e2cf059 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x4e34ed69 get_user_pages +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e41c847 gen_pool_create +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e830a3e strnicmp +EXPORT_SYMBOL vmlinux 0x4e96eef5 unlock_buffer +EXPORT_SYMBOL vmlinux 0x4e9dffb5 ip_fast_csum +EXPORT_SYMBOL vmlinux 0x4ecd15fe pci_set_consistent_dma_mask +EXPORT_SYMBOL vmlinux 0x4ee2ddd1 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x4ee4f9d7 seq_bitmap +EXPORT_SYMBOL vmlinux 0x4ee6d608 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x4f063fd0 elevator_init +EXPORT_SYMBOL vmlinux 0x4f085f77 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x4f0a9870 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x4f0ea0c0 up +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f201838 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x4f463bd5 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x4fa43f95 do_splice_from +EXPORT_SYMBOL vmlinux 0x4fb324c9 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x4fb3e49f netif_device_attach +EXPORT_SYMBOL vmlinux 0x4fcc1d1f lookup_one_len +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4fe99583 atomic64_dec_if_positive +EXPORT_SYMBOL vmlinux 0x501ff70e bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x503fb5a7 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x506746b6 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x5073dcf8 of_unregister_driver +EXPORT_SYMBOL vmlinux 0x508c3e3f notify_change +EXPORT_SYMBOL vmlinux 0x50a4e2cb ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x50a725f8 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x50d56018 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x5107a5c4 seq_write +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x512506d1 bio_map_user +EXPORT_SYMBOL vmlinux 0x5127c022 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x51471758 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x51493d94 finish_wait +EXPORT_SYMBOL vmlinux 0x515e24a7 flush_instruction_cache +EXPORT_SYMBOL vmlinux 0x516ac985 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x5173d512 neigh_for_each +EXPORT_SYMBOL vmlinux 0x5175d42c netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x519c0947 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x51ca0b4c writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x51db430d bdev_read_only +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51ef33b8 kstrndup +EXPORT_SYMBOL vmlinux 0x51fe2781 vfs_rename +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x520e3336 address_space_init_once +EXPORT_SYMBOL vmlinux 0x52109c5e ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x522e8994 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x52348714 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x52354a0b mutex_trylock +EXPORT_SYMBOL vmlinux 0x523fa6a7 find_get_page +EXPORT_SYMBOL vmlinux 0x5240eeca make_bad_inode +EXPORT_SYMBOL vmlinux 0x5254956f of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x52699f41 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x52760ca9 getnstimeofday +EXPORT_SYMBOL vmlinux 0x527830ff pmac_xpram_read +EXPORT_SYMBOL vmlinux 0x5286b2bc xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x528c911c del_timer +EXPORT_SYMBOL vmlinux 0x52a58c24 ifla_policy +EXPORT_SYMBOL vmlinux 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL vmlinux 0x52e0c617 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x52ebb126 param_get_ushort +EXPORT_SYMBOL vmlinux 0x52f9bc3f pci_get_class +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x5339454a dev_remove_pack +EXPORT_SYMBOL vmlinux 0x53413940 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x534236a6 fb_get_mode +EXPORT_SYMBOL vmlinux 0x5344cd27 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x536a2a5c test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x537f29dd input_register_device +EXPORT_SYMBOL vmlinux 0x5383b5c6 inet_select_addr +EXPORT_SYMBOL vmlinux 0x5399a31f block_sync_page +EXPORT_SYMBOL vmlinux 0x53a7b7fb ll_rw_block +EXPORT_SYMBOL vmlinux 0x53c0767c sk_chk_filter +EXPORT_SYMBOL vmlinux 0x53c71965 dcache_dir_open +EXPORT_SYMBOL vmlinux 0x53d19779 __page_symlink +EXPORT_SYMBOL vmlinux 0x53d202bf jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x53d81777 ethtool_op_set_tx_csum +EXPORT_SYMBOL vmlinux 0x53e7b08a journal_errno +EXPORT_SYMBOL vmlinux 0x53ebab1b _outsl_ns +EXPORT_SYMBOL vmlinux 0x5424a011 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x54290dc9 nla_validate +EXPORT_SYMBOL vmlinux 0x543d3d30 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x547c059a mpage_readpages +EXPORT_SYMBOL vmlinux 0x54d42936 seq_printf +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54fc21fa inet_ioctl +EXPORT_SYMBOL vmlinux 0x54fd27ea gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x552de8d0 of_get_gpio_flags +EXPORT_SYMBOL vmlinux 0x553b91d2 neigh_table_init_no_netlink +EXPORT_SYMBOL vmlinux 0x554dd2f5 validate_sp +EXPORT_SYMBOL vmlinux 0x556643e3 llc_sap_list_lock +EXPORT_SYMBOL vmlinux 0x5579ceb7 contig_page_data +EXPORT_SYMBOL vmlinux 0x558bc23a i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55a04cb7 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x55a1e4e7 nf_log_register +EXPORT_SYMBOL vmlinux 0x55bf4148 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x55bf7209 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x5600904f fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x56026d3a scsi_remove_target +EXPORT_SYMBOL vmlinux 0x5603cf43 do_settimeofday +EXPORT_SYMBOL vmlinux 0x5608dbff neigh_ifdown +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x56216cb8 ps2_init +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x564b3824 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x564d1a16 pci_write_vpd +EXPORT_SYMBOL vmlinux 0x56533277 writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x56535fd9 simple_empty +EXPORT_SYMBOL vmlinux 0x568d2175 file_fsync +EXPORT_SYMBOL vmlinux 0x569784a9 flush_tlb_mm +EXPORT_SYMBOL vmlinux 0x56a10763 csum_tcpudp_magic +EXPORT_SYMBOL vmlinux 0x56a876d9 __pci_register_driver +EXPORT_SYMBOL vmlinux 0x56c2b95b rtas_progress +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56ca7399 dev_mc_add +EXPORT_SYMBOL vmlinux 0x56cfbd49 input_filter_device +EXPORT_SYMBOL vmlinux 0x570313e6 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x570f02e8 nf_afinfo +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x573c5916 netdev_features_change +EXPORT_SYMBOL vmlinux 0x576644d1 qdisc_destroy +EXPORT_SYMBOL vmlinux 0x576b2741 dqput +EXPORT_SYMBOL vmlinux 0x5795c76d pci_pme_active +EXPORT_SYMBOL vmlinux 0x57a6504e vsnprintf +EXPORT_SYMBOL vmlinux 0x57b57ebe jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0x57c2d44e posix_test_lock +EXPORT_SYMBOL vmlinux 0x57db7242 mangle_path +EXPORT_SYMBOL vmlinux 0x580b2249 backlight_device_register +EXPORT_SYMBOL vmlinux 0x582a4747 cacheable_memcpy +EXPORT_SYMBOL vmlinux 0x583536bc of_platform_bus_type +EXPORT_SYMBOL vmlinux 0x5838264c mdiobus_write +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x58482844 skb_split +EXPORT_SYMBOL vmlinux 0x5856d7c5 generic_unplug_device +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x5857e434 groups_free +EXPORT_SYMBOL vmlinux 0x5882c133 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x5883e762 xfrm_init_state +EXPORT_SYMBOL vmlinux 0x58d033f3 read_cache_page_async +EXPORT_SYMBOL vmlinux 0x58f6551b neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x591738a2 __rta_fill +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x5946d465 generic_fillattr +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x595d0946 empty_zero_page +EXPORT_SYMBOL vmlinux 0x5961931b neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x5962859f sg_init_table +EXPORT_SYMBOL vmlinux 0x597d1a8f dev_get_drvdata +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59d8223a ioport_resource +EXPORT_SYMBOL vmlinux 0x5a019c1c blkdev_put +EXPORT_SYMBOL vmlinux 0x5a0ed783 swiotlb_map_sg +EXPORT_SYMBOL vmlinux 0x5a41e9e8 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x5a4b3f80 pci_set_power_state +EXPORT_SYMBOL vmlinux 0x5a5f594d tty_port_close +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5a952c80 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x5aacf9f4 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x5aada9d4 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x5ab67931 do_IRQ +EXPORT_SYMBOL vmlinux 0x5adff15e flush_signals +EXPORT_SYMBOL vmlinux 0x5af65e8b d_genocide +EXPORT_SYMBOL vmlinux 0x5b19634d div_s64_rem +EXPORT_SYMBOL vmlinux 0x5b22d49a pid_task +EXPORT_SYMBOL vmlinux 0x5b4285b1 tc_classify +EXPORT_SYMBOL vmlinux 0x5b43f1f1 rtas_service_present +EXPORT_SYMBOL vmlinux 0x5b5abdf5 of_find_matching_node +EXPORT_SYMBOL vmlinux 0x5b6285e4 dm_table_get +EXPORT_SYMBOL vmlinux 0x5b6e7014 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x5b9c4bd6 key_link +EXPORT_SYMBOL vmlinux 0x5bb0a9f2 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x5bc2f234 is_bad_inode +EXPORT_SYMBOL vmlinux 0x5bf5b9df pci_dev_driver +EXPORT_SYMBOL vmlinux 0x5c4cefa4 inet_stream_connect +EXPORT_SYMBOL vmlinux 0x5c673bc8 tty_mutex +EXPORT_SYMBOL vmlinux 0x5c698ccd journal_abort +EXPORT_SYMBOL vmlinux 0x5c70bacb jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x5c7f139f blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x5cc2f7f0 init_special_inode +EXPORT_SYMBOL vmlinux 0x5cf51381 simple_link +EXPORT_SYMBOL vmlinux 0x5d12b3fc twl4030_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x5d7df85b i2c_del_driver +EXPORT_SYMBOL vmlinux 0x5da89562 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x5dae54b4 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x5dd58ee3 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x5deab861 vfs_get_dqblk +EXPORT_SYMBOL vmlinux 0x5deb54ee pipe_unlock +EXPORT_SYMBOL vmlinux 0x5df0a561 sk_stop_timer +EXPORT_SYMBOL vmlinux 0x5e1058cc dev_addr_add +EXPORT_SYMBOL vmlinux 0x5e5f543b tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x5e697310 bio_integrity_free +EXPORT_SYMBOL vmlinux 0x5e6e33a3 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea26095 elv_rb_add +EXPORT_SYMBOL vmlinux 0x5ea520c5 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x5ec68ffd pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5ee844da dst_destroy +EXPORT_SYMBOL vmlinux 0x5f322edc kmap_atomic_prot +EXPORT_SYMBOL vmlinux 0x5f4f7fe8 get_pci_dma_ops +EXPORT_SYMBOL vmlinux 0x5f53d1b7 machine_id +EXPORT_SYMBOL vmlinux 0x5f5970df set_create_files_as +EXPORT_SYMBOL vmlinux 0x5f71e08d gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x5f754e5a memset +EXPORT_SYMBOL vmlinux 0x5f85d626 input_release_device +EXPORT_SYMBOL vmlinux 0x5f894230 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x5f8a2728 isa_io_base +EXPORT_SYMBOL vmlinux 0x5f913af5 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x5fa042a4 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x5fe9b109 set_disk_ro +EXPORT_SYMBOL vmlinux 0x5ffca43a of_device_is_available +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x600903fb sock_no_connect +EXPORT_SYMBOL vmlinux 0x60412412 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0x6047c4da gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x6060c0df jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x6067757c kern_path +EXPORT_SYMBOL vmlinux 0x608fc322 get_sb_nodev +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a0ebad __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x60a19f2f fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x60a4efe2 ida_get_new +EXPORT_SYMBOL vmlinux 0x60a7a053 fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0x60f85b36 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x610dc00d i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x6112cc64 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x61134f32 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x611c3df3 vfs_dq_transfer +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x61287f5c of_dev_put +EXPORT_SYMBOL vmlinux 0x6152bf0f kill_litter_super +EXPORT_SYMBOL vmlinux 0x6177461f inet_sendmsg +EXPORT_SYMBOL vmlinux 0x618d8299 set_notify_swap_entry_free +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61eef2c9 _insb +EXPORT_SYMBOL vmlinux 0x620b2b22 nf_register_hooks +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x622bfc0a journal_clear_err +EXPORT_SYMBOL vmlinux 0x623b7839 tcp_prot +EXPORT_SYMBOL vmlinux 0x623d7182 _chrp_type +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x628332e8 pmu_power_flags +EXPORT_SYMBOL vmlinux 0x62cc569e cpu_present_mask +EXPORT_SYMBOL vmlinux 0x6308158d journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x632bb66e dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x633214d1 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x6371cd5f pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x63850283 blk_make_request +EXPORT_SYMBOL vmlinux 0x638ec829 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x63b8822b directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0x63db65b8 get_phy_device +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63efc536 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0x63f205d2 i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x6417f76f skb_queue_tail +EXPORT_SYMBOL vmlinux 0x644bf827 init_task +EXPORT_SYMBOL vmlinux 0x64615132 generic_file_open +EXPORT_SYMBOL vmlinux 0x646cc6ab pmu_poll +EXPORT_SYMBOL vmlinux 0x646f5266 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x648b7331 __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x64925c30 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x649aa73d key_negate_and_link +EXPORT_SYMBOL vmlinux 0x64a179c7 make_EII_client +EXPORT_SYMBOL vmlinux 0x64a48d5b nla_put +EXPORT_SYMBOL vmlinux 0x64c795dc cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x64cd0f5c mpage_readpage +EXPORT_SYMBOL vmlinux 0x64fe5d53 tty_hangup +EXPORT_SYMBOL vmlinux 0x650dfebf cfb_imageblit +EXPORT_SYMBOL vmlinux 0x650e9891 may_umount_tree +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652d9afd __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x65400222 __irq_offset_value +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65414e67 dev_valid_name +EXPORT_SYMBOL vmlinux 0x656941e5 register_nls +EXPORT_SYMBOL vmlinux 0x657570a9 generic_read_dir +EXPORT_SYMBOL vmlinux 0x65825d52 kill_anon_super +EXPORT_SYMBOL vmlinux 0x65a88e2e dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x65b65e40 call_usermodehelper_setfns +EXPORT_SYMBOL vmlinux 0x66000aba udp_poll +EXPORT_SYMBOL vmlinux 0x66046a3d blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x66260bb2 icmp_send +EXPORT_SYMBOL vmlinux 0x6646d0b7 register_qdisc +EXPORT_SYMBOL vmlinux 0x6660a270 journal_get_write_access +EXPORT_SYMBOL vmlinux 0x666881d1 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x66c17758 i2c_transfer +EXPORT_SYMBOL vmlinux 0x66cbf14b pmac_xpram_write +EXPORT_SYMBOL vmlinux 0x6701ffba unregister_netdevice +EXPORT_SYMBOL vmlinux 0x67053080 current_kernel_time +EXPORT_SYMBOL vmlinux 0x671a00f0 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x671f927c vfs_readdir +EXPORT_SYMBOL vmlinux 0x6739d84d dev_mc_delete +EXPORT_SYMBOL vmlinux 0x6752649b __bread +EXPORT_SYMBOL vmlinux 0x67b1451c register_exec_domain +EXPORT_SYMBOL vmlinux 0x67bb60ee vfs_getattr +EXPORT_SYMBOL vmlinux 0x67be1d3d cpu_active_mask +EXPORT_SYMBOL vmlinux 0x67d59ef6 security_d_instantiate +EXPORT_SYMBOL vmlinux 0x67f2cee5 udp_table +EXPORT_SYMBOL vmlinux 0x680181f9 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x68113959 fifo_set_limit +EXPORT_SYMBOL vmlinux 0x68259315 pci_restore_state +EXPORT_SYMBOL vmlinux 0x68394d28 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0x6864b46d inode_set_bytes +EXPORT_SYMBOL vmlinux 0x68b937eb netif_carrier_on +EXPORT_SYMBOL vmlinux 0x68bbc2aa napi_gro_flush +EXPORT_SYMBOL vmlinux 0x68c9c513 unlock_new_inode +EXPORT_SYMBOL vmlinux 0x68cc256f pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x68dfcf56 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x68f4eeef kset_register +EXPORT_SYMBOL vmlinux 0x68fd2117 journal_start +EXPORT_SYMBOL vmlinux 0x690198e6 clocksource_unregister +EXPORT_SYMBOL vmlinux 0x694d14e4 journal_release_buffer +EXPORT_SYMBOL vmlinux 0x695f8ccb rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x6980fe91 param_get_int +EXPORT_SYMBOL vmlinux 0x698cce65 dev_open +EXPORT_SYMBOL vmlinux 0x69927dff try_acquire_console_sem +EXPORT_SYMBOL vmlinux 0x69a0ca7d iowrite16be +EXPORT_SYMBOL vmlinux 0x69ae6f29 unbind_con_driver +EXPORT_SYMBOL vmlinux 0x69af2327 idr_init +EXPORT_SYMBOL vmlinux 0x69c27df4 send_sig +EXPORT_SYMBOL vmlinux 0x69c8c1d5 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69d7e5b8 __debugger_ipi +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a057c61 ethtool_op_get_tso +EXPORT_SYMBOL vmlinux 0x6a47571d __set_personality +EXPORT_SYMBOL vmlinux 0x6a61f874 to_tm +EXPORT_SYMBOL vmlinux 0x6a673f52 of_device_register +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6ab0b92e ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0x6ab3d561 __register_binfmt +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6ad065f4 param_set_charp +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b4a2a1c kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x6b5b066b __locks_copy_lock +EXPORT_SYMBOL vmlinux 0x6b6f6896 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x6b756b57 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bd039f6 get_empty_filp +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6be1745d giveup_fpu +EXPORT_SYMBOL vmlinux 0x6bf89899 skb_recycle_check +EXPORT_SYMBOL vmlinux 0x6c19246f sock_wfree +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c36a5c1 __mutex_init +EXPORT_SYMBOL vmlinux 0x6c3b242e sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x6c5decc9 d_alloc +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c930c20 tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x6ca1d1a4 atomic64_read +EXPORT_SYMBOL vmlinux 0x6cca8062 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x6cdc5c6b nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6cf00149 dquot_release +EXPORT_SYMBOL vmlinux 0x6d04e9eb macio_register_driver +EXPORT_SYMBOL vmlinux 0x6d27ef64 __bitmap_empty +EXPORT_SYMBOL vmlinux 0x6d288375 radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d64296d simple_sync_file +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d700ec9 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x6d749b23 audit_log_format +EXPORT_SYMBOL vmlinux 0x6d8c8dee blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x6d981a56 __netif_schedule +EXPORT_SYMBOL vmlinux 0x6da508d3 rwsem_wake +EXPORT_SYMBOL vmlinux 0x6da928f4 _insw_ns +EXPORT_SYMBOL vmlinux 0x6db35cab ethtool_op_set_tx_hw_csum +EXPORT_SYMBOL vmlinux 0x6dc24d49 __nla_put +EXPORT_SYMBOL vmlinux 0x6ddd276b seq_open_private +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6dfb7912 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x6e03d1cf blk_stop_queue +EXPORT_SYMBOL vmlinux 0x6e4675b7 journal_force_commit +EXPORT_SYMBOL vmlinux 0x6e522015 sg_init_one +EXPORT_SYMBOL vmlinux 0x6e5ef624 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e737a5e tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x6e83c5b6 phy_print_status +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea6f270 netpoll_setup +EXPORT_SYMBOL vmlinux 0x6ec643ba prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x6ee70837 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x6f086759 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x6f1ecaa6 dquot_reserve_space +EXPORT_SYMBOL vmlinux 0x6f420242 block_fsync +EXPORT_SYMBOL vmlinux 0x6f72cd89 pci_find_bus +EXPORT_SYMBOL vmlinux 0x6f75c7b8 tty_write_room +EXPORT_SYMBOL vmlinux 0x6f913348 bdi_register_dev +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd856b0 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x6fff393f time_to_tm +EXPORT_SYMBOL vmlinux 0x701d0ebd snprintf +EXPORT_SYMBOL vmlinux 0x7021c028 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x70414b1e blkdev_get +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x708b929d input_grab_device +EXPORT_SYMBOL vmlinux 0x70b0097f scsi_reset_provider +EXPORT_SYMBOL vmlinux 0x70b5d704 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70d888b7 __debugger_fault_handler +EXPORT_SYMBOL vmlinux 0x70db6623 register_8022_client +EXPORT_SYMBOL vmlinux 0x70f86c70 pmu_queue_request +EXPORT_SYMBOL vmlinux 0x7121e434 pci_busdev_to_OF_node +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x71398328 pci_save_state +EXPORT_SYMBOL vmlinux 0x71498097 sock_no_bind +EXPORT_SYMBOL vmlinux 0x7177da0a scsi_host_put +EXPORT_SYMBOL vmlinux 0x717cc171 bio_alloc +EXPORT_SYMBOL vmlinux 0x718a412a generic_setlease +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71c730cd pci_disable_device +EXPORT_SYMBOL vmlinux 0x71c90087 memcmp +EXPORT_SYMBOL vmlinux 0x7202f703 scsi_host_get +EXPORT_SYMBOL vmlinux 0x72195495 may_umount +EXPORT_SYMBOL vmlinux 0x7258a541 ethtool_op_get_tx_csum +EXPORT_SYMBOL vmlinux 0x728a5592 freeze_bdev +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72c3be87 param_set_byte +EXPORT_SYMBOL vmlinux 0x72d5af61 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x72e630d4 kmem_cache_create +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x73362c14 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0x7343a512 lro_vlan_hwaccel_receive_skb +EXPORT_SYMBOL vmlinux 0x73564277 __timecompare_update +EXPORT_SYMBOL vmlinux 0x735cf1fa xrlim_allow +EXPORT_SYMBOL vmlinux 0x7362dd1e vfs_fstat +EXPORT_SYMBOL vmlinux 0x739ed91d vfs_quota_sync +EXPORT_SYMBOL vmlinux 0x73ad0c1e dm_io_client_resize +EXPORT_SYMBOL vmlinux 0x73aed307 bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x73cd9ea2 kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x73d1e08c pagevec_lookup +EXPORT_SYMBOL vmlinux 0x73e136c9 follow_down +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x73f6dcd8 con_copy_unimap +EXPORT_SYMBOL vmlinux 0x73fcae9f tcp_ioctl +EXPORT_SYMBOL vmlinux 0x73fef7bd tcp_read_sock +EXPORT_SYMBOL vmlinux 0x740e471e unload_nls +EXPORT_SYMBOL vmlinux 0x7428f700 alloc_pci_dev +EXPORT_SYMBOL vmlinux 0x744c0c68 param_get_byte +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL vmlinux 0x74bbf714 pci_get_subsys +EXPORT_SYMBOL vmlinux 0x74bfc369 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x74f897b7 sk_alloc +EXPORT_SYMBOL vmlinux 0x74fe8730 sys_ctrler +EXPORT_SYMBOL vmlinux 0x7534fe4b pci_set_dma_mask +EXPORT_SYMBOL vmlinux 0x753be665 pci_alloc_consistent +EXPORT_SYMBOL vmlinux 0x754d6fcd pci_choose_state +EXPORT_SYMBOL vmlinux 0x756b81b6 block_read_full_page +EXPORT_SYMBOL vmlinux 0x756dd160 start_thread +EXPORT_SYMBOL vmlinux 0x759b2fda simple_transaction_release +EXPORT_SYMBOL vmlinux 0x759b8e82 of_find_node_with_property +EXPORT_SYMBOL vmlinux 0x75a22451 submit_bio +EXPORT_SYMBOL vmlinux 0x75a545fe submit_bh +EXPORT_SYMBOL vmlinux 0x75b6fc0c generic_delete_inode +EXPORT_SYMBOL vmlinux 0x75b95e5c invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x75bdea12 iommu_area_alloc +EXPORT_SYMBOL vmlinux 0x75de095f genphy_suspend +EXPORT_SYMBOL vmlinux 0x75df333e neigh_table_init +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x760d0da0 skb_seq_read +EXPORT_SYMBOL vmlinux 0x76133b9e dev_get_stats +EXPORT_SYMBOL vmlinux 0x76150ce7 sk_dst_check +EXPORT_SYMBOL vmlinux 0x7637140b proto_register +EXPORT_SYMBOL vmlinux 0x7650441f skb_find_text +EXPORT_SYMBOL vmlinux 0x768185fb find_lock_page +EXPORT_SYMBOL vmlinux 0x76a752e3 phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d583c1 write_inode_now +EXPORT_SYMBOL vmlinux 0x772b7ad5 starget_for_each_device +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x7788e295 scsi_execute_req +EXPORT_SYMBOL vmlinux 0x77993d12 netlink_unicast +EXPORT_SYMBOL vmlinux 0x77b5d115 dm_register_target +EXPORT_SYMBOL vmlinux 0x77b851c4 cacheable_memzero +EXPORT_SYMBOL vmlinux 0x77b8b0d7 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x77cfcfde __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77fa5d1f ns_to_timespec +EXPORT_SYMBOL vmlinux 0x7818dee6 blk_rq_init +EXPORT_SYMBOL vmlinux 0x782549a7 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x787a2090 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x788fe103 iomem_resource +EXPORT_SYMBOL vmlinux 0x789481b7 bio_copy_user +EXPORT_SYMBOL vmlinux 0x78b6d815 km_state_expired +EXPORT_SYMBOL vmlinux 0x78d3677d vfs_quota_on_path +EXPORT_SYMBOL vmlinux 0x78d71e97 inet_getname +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x79018742 skb_checksum +EXPORT_SYMBOL vmlinux 0x7905d99d dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x790d7c6f single_release +EXPORT_SYMBOL vmlinux 0x7924e55e kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0x7934cf79 phy_register_fixup +EXPORT_SYMBOL vmlinux 0x793d9ff6 note_scsi_host +EXPORT_SYMBOL vmlinux 0x793e2922 scsi_free_command +EXPORT_SYMBOL vmlinux 0x795026c7 cad_pid +EXPORT_SYMBOL vmlinux 0x79600d4a wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x79663d3c tcp4_gro_complete +EXPORT_SYMBOL vmlinux 0x79687431 del_gendisk +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x7970d894 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79ad224b tasklet_kill +EXPORT_SYMBOL vmlinux 0x79c35655 eth_header +EXPORT_SYMBOL vmlinux 0x79eab565 pci_remove_bus +EXPORT_SYMBOL vmlinux 0x7a121e28 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x7a2a837d strict_strtol +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a709ff9 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x7a843f7f phy_device_register +EXPORT_SYMBOL vmlinux 0x7acb634b try_to_release_page +EXPORT_SYMBOL vmlinux 0x7af7bf0c load_nls +EXPORT_SYMBOL vmlinux 0x7b1c2b20 __serio_register_port +EXPORT_SYMBOL vmlinux 0x7b21fe56 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x7b2dcd0c dcache_readdir +EXPORT_SYMBOL vmlinux 0x7b36140d tty_port_init +EXPORT_SYMBOL vmlinux 0x7b48793d current_fs_time +EXPORT_SYMBOL vmlinux 0x7b49dc4c pci_dev_get +EXPORT_SYMBOL vmlinux 0x7b74e617 dm_get_device +EXPORT_SYMBOL vmlinux 0x7b8e15ab scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x7bb2a24a d_obtain_alias +EXPORT_SYMBOL vmlinux 0x7bd7754a close_bdev_exclusive +EXPORT_SYMBOL vmlinux 0x7be4827c pci_dram_offset +EXPORT_SYMBOL vmlinux 0x7c087781 vfs_quota_enable +EXPORT_SYMBOL vmlinux 0x7c2456c2 input_allocate_device +EXPORT_SYMBOL vmlinux 0x7c2ca8f1 vfs_write +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c573ccd inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c72c815 vlan_gro_frags +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c9291d1 csum_partial_copy_generic +EXPORT_SYMBOL vmlinux 0x7ca341af kernel_thread +EXPORT_SYMBOL vmlinux 0x7cc48bc6 block_commit_write +EXPORT_SYMBOL vmlinux 0x7cd1f2fa tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x7cd369c4 arp_create +EXPORT_SYMBOL vmlinux 0x7cef01ec nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x7cfcca3f scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d651e86 wireless_spy_update +EXPORT_SYMBOL vmlinux 0x7dceceac capable +EXPORT_SYMBOL vmlinux 0x7dd89064 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0x7de86baa swiotlb_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0x7ded3e45 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0x7e228146 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x7e2a2713 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x7e30e9be tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x7e34fe92 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x7e609e0e lease_modify +EXPORT_SYMBOL vmlinux 0x7e7ccf46 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x7ebd47f3 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x7f0daa68 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x7f21a336 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f27c760 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x7f30129d phy_disable_interrupts +EXPORT_SYMBOL vmlinux 0x7f307ae0 kthread_create +EXPORT_SYMBOL vmlinux 0x7f5f172c journal_load +EXPORT_SYMBOL vmlinux 0x7f77c64d hippi_mac_addr +EXPORT_SYMBOL vmlinux 0x7f8048db put_page +EXPORT_SYMBOL vmlinux 0x7f97f76d inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x7fa3a5bc dev_close +EXPORT_SYMBOL vmlinux 0x7faf7781 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x7fede6f7 pci_device_to_OF_node +EXPORT_SYMBOL vmlinux 0x80081340 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x800f88cc __getblk +EXPORT_SYMBOL vmlinux 0x80169453 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x80179bd5 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x801f5a3f __strncpy_from_user +EXPORT_SYMBOL vmlinux 0x802f0030 of_release_dev +EXPORT_SYMBOL vmlinux 0x8063f83d radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x80703728 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x80775f85 bio_phys_segments +EXPORT_SYMBOL vmlinux 0x8078460c fail_migrate_page +EXPORT_SYMBOL vmlinux 0x8085c7b1 prepare_to_wait +EXPORT_SYMBOL vmlinux 0x8086435a bd_claim +EXPORT_SYMBOL vmlinux 0x80b2b299 call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x80d54f75 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x80fa2e1e locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x81799cee vscnprintf +EXPORT_SYMBOL vmlinux 0x818c73a3 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x81a1d6c5 vfs_writev +EXPORT_SYMBOL vmlinux 0x81b923de skb_push +EXPORT_SYMBOL vmlinux 0x81ba897d journal_get_create_access +EXPORT_SYMBOL vmlinux 0x81c0a84f rtas_set_indicator +EXPORT_SYMBOL vmlinux 0x81f6fee8 blk_start_request +EXPORT_SYMBOL vmlinux 0x820d225f print_mac +EXPORT_SYMBOL vmlinux 0x821d04c7 filp_close +EXPORT_SYMBOL vmlinux 0x821e348e slow_work_sleep_till_thread_needed +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x825d6695 sync_blockdev +EXPORT_SYMBOL vmlinux 0x8262f64b tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x8267002c generic_write_sync +EXPORT_SYMBOL vmlinux 0x82692209 kref_set +EXPORT_SYMBOL vmlinux 0x826c948d lease_get_mtime +EXPORT_SYMBOL vmlinux 0x829a2454 __nla_reserve +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82b5bffd lock_may_write +EXPORT_SYMBOL vmlinux 0x82e5a238 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x83003538 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x831c790f tty_unregister_device +EXPORT_SYMBOL vmlinux 0x832074fe sock_no_mmap +EXPORT_SYMBOL vmlinux 0x832d3236 of_get_mac_address +EXPORT_SYMBOL vmlinux 0x832e910e inet_shutdown +EXPORT_SYMBOL vmlinux 0x83541059 ide_set_handler +EXPORT_SYMBOL vmlinux 0x835c41c0 path_get +EXPORT_SYMBOL vmlinux 0x83751acb journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83b3988f dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x83c43dc1 posix_acl_chmod_masq +EXPORT_SYMBOL vmlinux 0x83f86767 do_sync_write +EXPORT_SYMBOL vmlinux 0x8403fdb0 poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x8410046b kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x842207d9 phy_stop +EXPORT_SYMBOL vmlinux 0x844404cf ISA_DMA_THRESHOLD +EXPORT_SYMBOL vmlinux 0x84671671 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x84830cc7 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x84b183ae strncmp +EXPORT_SYMBOL vmlinux 0x84cdf595 delayed_slow_work_enqueue +EXPORT_SYMBOL vmlinux 0x8526825f __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x8541bccc intercept_table +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x8580c270 inet_bind +EXPORT_SYMBOL vmlinux 0x85ac7f10 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x85b836bf pci_device_from_OF_node +EXPORT_SYMBOL vmlinux 0x85d4289a journal_restart +EXPORT_SYMBOL vmlinux 0x85dde046 blk_recount_segments +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e7deb2 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x85e9d240 generic_ide_ioctl +EXPORT_SYMBOL vmlinux 0x85ebca8f vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x861405cc sk_receive_skb +EXPORT_SYMBOL vmlinux 0x8619183e sock_i_ino +EXPORT_SYMBOL vmlinux 0x8622b3bc input_inject_event +EXPORT_SYMBOL vmlinux 0x864cebff dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86aa66d1 __devm_request_region +EXPORT_SYMBOL vmlinux 0x86b39e32 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x86b6ab35 revalidate_disk +EXPORT_SYMBOL vmlinux 0x86c8dfbd cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x86db1cbb rtas_flash_term_hook +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x87076f8c fb_find_mode +EXPORT_SYMBOL vmlinux 0x87198f96 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x872927b8 down_timeout +EXPORT_SYMBOL vmlinux 0x87393bf8 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x879e2d3f registered_fb +EXPORT_SYMBOL vmlinux 0x87d9c190 thaw_process +EXPORT_SYMBOL vmlinux 0x87f47fc0 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x8808967f skb_insert +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x88141770 kernel_accept +EXPORT_SYMBOL vmlinux 0x8835cb81 flush_dcache_page +EXPORT_SYMBOL vmlinux 0x886aa274 posix_acl_create_masq +EXPORT_SYMBOL vmlinux 0x887fde48 journal_extend +EXPORT_SYMBOL vmlinux 0x8890283a ppc_md +EXPORT_SYMBOL vmlinux 0x889f9866 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x88ec12d2 scsi_ioctl +EXPORT_SYMBOL vmlinux 0x88eeeb8f sysctl_jiffies +EXPORT_SYMBOL vmlinux 0x8909667c register_key_type +EXPORT_SYMBOL vmlinux 0x891e32b8 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x892b440a netif_rx +EXPORT_SYMBOL vmlinux 0x894b2d23 proto_unregister +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x89afd585 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x89b3107b isa_mem_base +EXPORT_SYMBOL vmlinux 0x89bf6f61 generic_readlink +EXPORT_SYMBOL vmlinux 0x89c3503a bdget_disk +EXPORT_SYMBOL vmlinux 0x89cce279 inode_init_once +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x8a1203a9 kref_get +EXPORT_SYMBOL vmlinux 0x8a142f46 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x8a1ac020 kill_pid +EXPORT_SYMBOL vmlinux 0x8a21cbd9 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x8a2e0a33 of_phy_connect_fixed_link +EXPORT_SYMBOL vmlinux 0x8a373fd7 twl4030_i2c_write +EXPORT_SYMBOL vmlinux 0x8a52ea3a mnt_unpin +EXPORT_SYMBOL vmlinux 0x8a57ac2b sockfd_lookup +EXPORT_SYMBOL vmlinux 0x8a611221 d_find_alias +EXPORT_SYMBOL vmlinux 0x8a6911c3 rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aaf1e77 of_phy_find_device +EXPORT_SYMBOL vmlinux 0x8ab2dcf4 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x8ab4079e atomic64_add +EXPORT_SYMBOL vmlinux 0x8ac40297 iommu_area_free +EXPORT_SYMBOL vmlinux 0x8ac660f2 invalidate_inodes +EXPORT_SYMBOL vmlinux 0x8ac71b3e vfs_create +EXPORT_SYMBOL vmlinux 0x8ae3a039 generic_listxattr +EXPORT_SYMBOL vmlinux 0x8af43db1 blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0x8af4feb7 blk_complete_request +EXPORT_SYMBOL vmlinux 0x8af6ee92 of_match_device +EXPORT_SYMBOL vmlinux 0x8b698f6d __scm_send +EXPORT_SYMBOL vmlinux 0x8b9a4149 ida_destroy +EXPORT_SYMBOL vmlinux 0x8bd313b8 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x8bd5b603 param_get_long +EXPORT_SYMBOL vmlinux 0x8be321a4 tty_kref_put +EXPORT_SYMBOL vmlinux 0x8be8462a blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x8bfbed28 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c2f5022 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x8c44c6d5 dquot_free_space +EXPORT_SYMBOL vmlinux 0x8c537c45 posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x8c7bc348 ida_remove +EXPORT_SYMBOL vmlinux 0x8c8f4f29 journal_forget +EXPORT_SYMBOL vmlinux 0x8ca2f5e1 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x8cb27860 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8cdbb115 bdi_register +EXPORT_SYMBOL vmlinux 0x8cf8072f fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x8cf8cfde udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x8d149b5b devm_iounmap +EXPORT_SYMBOL vmlinux 0x8d1ae5dc d_validate +EXPORT_SYMBOL vmlinux 0x8d3894f2 _ctype +EXPORT_SYMBOL vmlinux 0x8d3bd753 poll_initwait +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d5642fc wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0x8d8a4a83 pci_release_region +EXPORT_SYMBOL vmlinux 0x8d8d5d48 kobject_put +EXPORT_SYMBOL vmlinux 0x8dc8938f iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x8dcb5c27 idr_remove +EXPORT_SYMBOL vmlinux 0x8dcf01e0 unregister_key_type +EXPORT_SYMBOL vmlinux 0x8dec69c4 vfs_set_dqinfo +EXPORT_SYMBOL vmlinux 0x8df5da63 memstart_addr +EXPORT_SYMBOL vmlinux 0x8e0b7743 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x8e39d616 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x8e3c9cc3 vprintk +EXPORT_SYMBOL vmlinux 0x8e426a7f mod_timer_pending +EXPORT_SYMBOL vmlinux 0x8e477951 serio_interrupt +EXPORT_SYMBOL vmlinux 0x8e523025 journal_start_commit +EXPORT_SYMBOL vmlinux 0x8e763ae1 send_remote_softirq +EXPORT_SYMBOL vmlinux 0x8e84bcdb proc_mkdir +EXPORT_SYMBOL vmlinux 0x8e8de82a __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x8eb5ed42 of_phy_connect +EXPORT_SYMBOL vmlinux 0x8ee69235 timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8eec0432 d_invalidate +EXPORT_SYMBOL vmlinux 0x8efb9d48 i2c_bit_add_numbered_bus +EXPORT_SYMBOL vmlinux 0x8f07d8ca __wait_on_bit +EXPORT_SYMBOL vmlinux 0x8f21e36c ethtool_op_get_sg +EXPORT_SYMBOL vmlinux 0x8f2e1c84 unlock_rename +EXPORT_SYMBOL vmlinux 0x8f3a5cfe lock_fb_info +EXPORT_SYMBOL vmlinux 0x8f3c6282 bmap +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f5bdb39 of_parse_phandle +EXPORT_SYMBOL vmlinux 0x8f67ed18 stop_tty +EXPORT_SYMBOL vmlinux 0x8f6b7950 set_irq_data +EXPORT_SYMBOL vmlinux 0x8f9b86b2 kfifo_alloc +EXPORT_SYMBOL vmlinux 0x8fa25147 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x8fab8738 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x8fb25436 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x8fb4ec4b udp_proc_register +EXPORT_SYMBOL vmlinux 0x8fb9f8ef kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x8fbc7e47 flush_tlb_range +EXPORT_SYMBOL vmlinux 0x8fd23363 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x8fd76648 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x8fe995d2 matroxfb_wait_for_sync +EXPORT_SYMBOL vmlinux 0x8ffcde0e phy_attach +EXPORT_SYMBOL vmlinux 0x8ffdb3b8 crc16 +EXPORT_SYMBOL vmlinux 0x9002d0bf phy_driver_register +EXPORT_SYMBOL vmlinux 0x90035333 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x9005a832 dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x900e022b security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x90134fd4 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x901b2988 tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0x90501868 transfer_to_handler +EXPORT_SYMBOL vmlinux 0x90840cda pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0x90921a6a block_prepare_write +EXPORT_SYMBOL vmlinux 0x90a55166 netif_receive_skb +EXPORT_SYMBOL vmlinux 0x90ddf997 bio_free +EXPORT_SYMBOL vmlinux 0x90ee5c05 proc_create_data +EXPORT_SYMBOL vmlinux 0x91000eae tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x91009452 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x912557ce rtas_busy_delay +EXPORT_SYMBOL vmlinux 0x91481982 __ratelimit +EXPORT_SYMBOL vmlinux 0x9148c7ae dma_spin_lock +EXPORT_SYMBOL vmlinux 0x915a0597 ide_raw_taskfile +EXPORT_SYMBOL vmlinux 0x915c89ed unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x915e1208 tb_ticks_per_usec +EXPORT_SYMBOL vmlinux 0x9168c033 rtas_get_sensor +EXPORT_SYMBOL vmlinux 0x91766c09 param_get_ulong +EXPORT_SYMBOL vmlinux 0x9186526e vfs_quota_on +EXPORT_SYMBOL vmlinux 0x919d1163 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x919f50b6 __find_get_block +EXPORT_SYMBOL vmlinux 0x91b53732 register_con_driver +EXPORT_SYMBOL vmlinux 0x91b6c79f __devm_release_region +EXPORT_SYMBOL vmlinux 0x91bd1b22 generic_write_checks +EXPORT_SYMBOL vmlinux 0x91ce9a06 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x91d88e48 __debugger_dabr_match +EXPORT_SYMBOL vmlinux 0x91e31b30 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x91f4ffec inode_needs_sync +EXPORT_SYMBOL vmlinux 0x9213cbf0 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x9214ed8a param_get_bool +EXPORT_SYMBOL vmlinux 0x922c90f2 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x9244ad23 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x9275ec39 bio_map_kern +EXPORT_SYMBOL vmlinux 0x928a8dc9 put_disk +EXPORT_SYMBOL vmlinux 0x92a16f51 scsi_print_command +EXPORT_SYMBOL vmlinux 0x92b6514b tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0x92db7b5d bio_init +EXPORT_SYMBOL vmlinux 0x92f69136 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x9309de94 cuda_request +EXPORT_SYMBOL vmlinux 0x938ab024 skb_pad +EXPORT_SYMBOL vmlinux 0x938f48ce vm_insert_page +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93adcc8b nf_unregister_hook +EXPORT_SYMBOL vmlinux 0x93c0aee2 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x9412f08d pci_assign_resource +EXPORT_SYMBOL vmlinux 0x94570e6e xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x94847b23 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x9491b6c5 hippi_type_trans +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x949c3756 netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0x94acff4d matroxfb_enable_irq +EXPORT_SYMBOL vmlinux 0x94d020b3 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x94f68d9b netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x94fb58ef jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x9501d078 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x950bac9d lock_may_read +EXPORT_SYMBOL vmlinux 0x9512d7f9 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x951329eb hippi_change_mtu +EXPORT_SYMBOL vmlinux 0x9514151a _mcount +EXPORT_SYMBOL vmlinux 0x9514edfd register_gifconf +EXPORT_SYMBOL vmlinux 0x9524b0ae _outsb +EXPORT_SYMBOL vmlinux 0x952e843b machine_is_compatible +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x954cbb26 vsprintf +EXPORT_SYMBOL vmlinux 0x956590de end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x95a1e5ca proc_symlink +EXPORT_SYMBOL vmlinux 0x95a80d17 pmac_suspend_agp_for_card +EXPORT_SYMBOL vmlinux 0x95cf9217 I_BDEV +EXPORT_SYMBOL vmlinux 0x95d589d2 update_region +EXPORT_SYMBOL vmlinux 0x95efa7f8 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x95f343be jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x965b07d9 input_set_keycode +EXPORT_SYMBOL vmlinux 0x96898769 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x96a11d65 dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x96cacb2f open_exec +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96e21c58 keyring_clear +EXPORT_SYMBOL vmlinux 0x9702915f clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x972127d6 names_cachep +EXPORT_SYMBOL vmlinux 0x97255bdf strlen +EXPORT_SYMBOL vmlinux 0x972777ee search_binary_handler +EXPORT_SYMBOL vmlinux 0x972f88cd pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x973fa4eb nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x9748927f _outsw_ns +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x9768fa87 pci_free_consistent +EXPORT_SYMBOL vmlinux 0x977f964e slow_work_cancel +EXPORT_SYMBOL vmlinux 0x97862778 blk_init_queue +EXPORT_SYMBOL vmlinux 0x97e2196b tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x97e3309c phy_device_free +EXPORT_SYMBOL vmlinux 0x97e78087 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x98076935 napi_frags_skb +EXPORT_SYMBOL vmlinux 0x981c5109 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x981d62ed kmalloc_caches +EXPORT_SYMBOL vmlinux 0x983748be i2c_master_recv +EXPORT_SYMBOL vmlinux 0x9842cf9b dev_disable_lro +EXPORT_SYMBOL vmlinux 0x984cd22f call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0x98603a1f tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x98643e0f sk_wait_data +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x9894445e slow_work_register_user +EXPORT_SYMBOL vmlinux 0x98b3a21e igrab +EXPORT_SYMBOL vmlinux 0x98fe7882 DMA_MODE_READ +EXPORT_SYMBOL vmlinux 0x990d0d70 blk_plug_device_unlocked +EXPORT_SYMBOL vmlinux 0x998715f2 console_start +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999667c5 dm_table_get_size +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99a48d7b jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x99a71dd5 kernel_read +EXPORT_SYMBOL vmlinux 0x99a97346 ps2_end_command +EXPORT_SYMBOL vmlinux 0x99bb8806 memmove +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c7a8b8 jbd2_dev_to_name +EXPORT_SYMBOL vmlinux 0x99c84f01 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99ea12ce panic_blink +EXPORT_SYMBOL vmlinux 0x99ef1aeb xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a7279c6 sysctl_ms_jiffies +EXPORT_SYMBOL vmlinux 0x9aacc38c macio_release_resource +EXPORT_SYMBOL vmlinux 0x9ab5554d dma_pool_free +EXPORT_SYMBOL vmlinux 0x9b2bed99 matrox_millennium +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b4071ea pcim_enable_device +EXPORT_SYMBOL vmlinux 0x9b6eb137 ksize +EXPORT_SYMBOL vmlinux 0x9b911190 inet_add_protocol +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9bc22d1b blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x9bc65ead i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x9bce482f __release_region +EXPORT_SYMBOL vmlinux 0x9bd44725 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x9bdfc5ac xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x9c012508 fb_parse_edid +EXPORT_SYMBOL vmlinux 0x9c063ad6 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x9c0c33c1 skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0x9c3b13b1 sk_filter +EXPORT_SYMBOL vmlinux 0x9c5834a9 rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0x9c60a9f0 kthread_stop +EXPORT_SYMBOL vmlinux 0x9c827f93 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cc6637b security_inode_readlink +EXPORT_SYMBOL vmlinux 0x9ce3f83f nvram_write_byte +EXPORT_SYMBOL vmlinux 0x9ce647ea sock_setsockopt +EXPORT_SYMBOL vmlinux 0x9ceb163c memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d08f44b __ps2_command +EXPORT_SYMBOL vmlinux 0x9d14983a ppc_enable_pmcs +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d3b154b i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x9d3ba4fe set_bdi_congested +EXPORT_SYMBOL vmlinux 0x9d5d565f user_path_at +EXPORT_SYMBOL vmlinux 0x9d612e3d pci_claim_resource +EXPORT_SYMBOL vmlinux 0x9d617819 give_up_console +EXPORT_SYMBOL vmlinux 0x9d669763 memcpy +EXPORT_SYMBOL vmlinux 0x9d70daed blk_get_request +EXPORT_SYMBOL vmlinux 0x9d71bf61 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x9d7c289f __inet6_hash +EXPORT_SYMBOL vmlinux 0x9d9b2021 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x9e0f1a1f swiotlb_free_coherent +EXPORT_SYMBOL vmlinux 0x9e120414 ida_get_new_above +EXPORT_SYMBOL vmlinux 0x9e2000a7 memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x9e43daf5 tty_throttle +EXPORT_SYMBOL vmlinux 0x9e43e69b skb_copy_bits +EXPORT_SYMBOL vmlinux 0x9e61e2fc __blk_run_queue +EXPORT_SYMBOL vmlinux 0x9e6d08f2 free_netdev +EXPORT_SYMBOL vmlinux 0x9e97375d rtas_busy_delay_time +EXPORT_SYMBOL vmlinux 0x9e9da732 nla_reserve +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ea26c4c down_write_trylock +EXPORT_SYMBOL vmlinux 0x9ed685ee iov_iter_advance +EXPORT_SYMBOL vmlinux 0x9ee7af24 kick_iocb +EXPORT_SYMBOL vmlinux 0x9eea4c5f llc_build_and_send_ui_pkt +EXPORT_SYMBOL vmlinux 0x9eecde16 do_brk +EXPORT_SYMBOL vmlinux 0x9efdd2a4 kobject_add +EXPORT_SYMBOL vmlinux 0x9efe5953 arp_xmit +EXPORT_SYMBOL vmlinux 0x9f1ad7eb dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f2d613e param_set_bool +EXPORT_SYMBOL vmlinux 0x9f406b50 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x9f4615b1 scsi_execute +EXPORT_SYMBOL vmlinux 0x9f54f6e6 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x9f6dc4a6 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x9f72c2eb init_timer_key +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa13335 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x9fa325c0 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x9fb3dd30 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9fe6fa56 ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x9ffb5228 tty_devnum +EXPORT_SYMBOL vmlinux 0xa024ffa5 __sg_free_table +EXPORT_SYMBOL vmlinux 0xa033d05a up_read +EXPORT_SYMBOL vmlinux 0xa03523d5 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa04aa283 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0xa0522e38 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa074fc79 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0xa07a8d22 sleep_on +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b86ef8 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0xa0cade94 vfs_dq_drop +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0d29217 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0xa0d6e86a cdev_add +EXPORT_SYMBOL vmlinux 0xa0e63d71 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0xa0f08fb2 mdiobus_free +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa10da2c9 sock_no_accept +EXPORT_SYMBOL vmlinux 0xa10daf16 tty_set_operations +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa120e9b6 kunmap_high +EXPORT_SYMBOL vmlinux 0xa1218706 iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0xa1242dc9 sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0xa134f7b1 create_mnt_ns +EXPORT_SYMBOL vmlinux 0xa13798f8 printk_ratelimit +EXPORT_SYMBOL vmlinux 0xa15e4853 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0xa19ca792 __kfifo_put +EXPORT_SYMBOL vmlinux 0xa19da751 fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0xa1b234f5 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0xa1b580bf splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1b801c7 pmac_resume_agp_for_card +EXPORT_SYMBOL vmlinux 0xa1b8db10 vfs_symlink +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1cc0402 generic_file_aio_read +EXPORT_SYMBOL vmlinux 0xa1cc5946 dev_set_mtu +EXPORT_SYMBOL vmlinux 0xa1eb6e90 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xa200bf81 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0xa20aa77c pci_reenable_device +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa218bf61 complete +EXPORT_SYMBOL vmlinux 0xa24bfc0d of_register_spi_devices +EXPORT_SYMBOL vmlinux 0xa2650334 do_truncate +EXPORT_SYMBOL vmlinux 0xa28c0064 path_lookup +EXPORT_SYMBOL vmlinux 0xa29b1708 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2ba8082 vfs_read +EXPORT_SYMBOL vmlinux 0xa2bbed37 crash_shutdown_register +EXPORT_SYMBOL vmlinux 0xa2c6879b dquot_claim_space +EXPORT_SYMBOL vmlinux 0xa325ebc2 dev_alloc_name +EXPORT_SYMBOL vmlinux 0xa329f07e register_shrinker +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa34f1ef5 crc32_le +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa36694fd scsi_remove_device +EXPORT_SYMBOL vmlinux 0xa383b9d7 mac_find_mode +EXPORT_SYMBOL vmlinux 0xa38e691a ioremap_bot +EXPORT_SYMBOL vmlinux 0xa38e7b36 hippi_neigh_setup_dev +EXPORT_SYMBOL vmlinux 0xa39b4cf2 udelay +EXPORT_SYMBOL vmlinux 0xa3a28fa1 iget_locked +EXPORT_SYMBOL vmlinux 0xa3b523d5 __breadahead +EXPORT_SYMBOL vmlinux 0xa3b58c3b dqget +EXPORT_SYMBOL vmlinux 0xa3e42510 block_write_begin +EXPORT_SYMBOL vmlinux 0xa3e75545 flush_tlb_kernel_range +EXPORT_SYMBOL vmlinux 0xa4054571 nf_register_hook +EXPORT_SYMBOL vmlinux 0xa4142ce9 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xa422e7f5 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xa42ee096 d_delete +EXPORT_SYMBOL vmlinux 0xa435b02a fddi_change_mtu +EXPORT_SYMBOL vmlinux 0xa43b9539 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa4402079 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0xa4522408 rtnl_notify +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4d6dbb5 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0xa4e2d048 dev_trans_start +EXPORT_SYMBOL vmlinux 0xa52445b4 journal_wipe +EXPORT_SYMBOL vmlinux 0xa54a0278 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0xa567a325 request_key +EXPORT_SYMBOL vmlinux 0xa56a9ceb netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xa576c263 generic_find_next_le_bit +EXPORT_SYMBOL vmlinux 0xa5808bbf tasklet_init +EXPORT_SYMBOL vmlinux 0xa58b6804 nla_parse +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5a2fc2b slow_work_enqueue +EXPORT_SYMBOL vmlinux 0xa5acc360 kobject_set_name +EXPORT_SYMBOL vmlinux 0xa5b00659 ppc_proc_freq +EXPORT_SYMBOL vmlinux 0xa5cef8ad release_resource +EXPORT_SYMBOL vmlinux 0xa643080f i2c_clients_command +EXPORT_SYMBOL vmlinux 0xa65972b8 _memcpy_toio +EXPORT_SYMBOL vmlinux 0xa65e5938 elv_add_request +EXPORT_SYMBOL vmlinux 0xa6784401 of_translate_dma_address +EXPORT_SYMBOL vmlinux 0xa68124fa hweight8 +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa68d0ca7 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6e582cc kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xa6fe0d4e mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xa70f82bc fb_show_logo +EXPORT_SYMBOL vmlinux 0xa73c7172 filemap_flush +EXPORT_SYMBOL vmlinux 0xa74d6add key_type_keyring +EXPORT_SYMBOL vmlinux 0xa782dd3c sock_create_kern +EXPORT_SYMBOL vmlinux 0xa78e8ec4 __vlan_hwaccel_rx +EXPORT_SYMBOL vmlinux 0xa794c7f1 xfrm_register_km +EXPORT_SYMBOL vmlinux 0xa79569ec destroy_EII_client +EXPORT_SYMBOL vmlinux 0xa7c4ae8e sock_rfree +EXPORT_SYMBOL vmlinux 0xa7dd0583 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xa7df8d7a bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0xa8152d55 dquot_free_inode +EXPORT_SYMBOL vmlinux 0xa81aa872 bdi_destroy +EXPORT_SYMBOL vmlinux 0xa827c4f4 of_translate_address +EXPORT_SYMBOL vmlinux 0xa83949a7 tty_port_close_end +EXPORT_SYMBOL vmlinux 0xa8599871 bio_put +EXPORT_SYMBOL vmlinux 0xa861ab6e __ioremap +EXPORT_SYMBOL vmlinux 0xa877e305 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xa87e9758 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0xa89464b7 __ashldi3 +EXPORT_SYMBOL vmlinux 0xa898cd78 default_llseek +EXPORT_SYMBOL vmlinux 0xa8ac4d52 copy_io_context +EXPORT_SYMBOL vmlinux 0xa8bf3b32 simple_set_mnt +EXPORT_SYMBOL vmlinux 0xa8c50770 netdev_set_master +EXPORT_SYMBOL vmlinux 0xa8d810ed bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa9571d6d DMA_MODE_WRITE +EXPORT_SYMBOL vmlinux 0xa976dc47 pci_get_device +EXPORT_SYMBOL vmlinux 0xa9a39a0d inet_register_protosw +EXPORT_SYMBOL vmlinux 0xa9c62259 pci_find_capability +EXPORT_SYMBOL vmlinux 0xa9f1ed23 bit_waitqueue +EXPORT_SYMBOL vmlinux 0xaa1a1579 pcim_iounmap +EXPORT_SYMBOL vmlinux 0xaa248432 copy_strings_kernel +EXPORT_SYMBOL vmlinux 0xaa261e2b register_cdrom +EXPORT_SYMBOL vmlinux 0xaa4cbd41 netpoll_poll +EXPORT_SYMBOL vmlinux 0xaa4df512 pmu_batteries +EXPORT_SYMBOL vmlinux 0xaa7e5984 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xaa9b3bfd vfs_get_dqinfo +EXPORT_SYMBOL vmlinux 0xaaac9538 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xaace9d87 dquot_commit +EXPORT_SYMBOL vmlinux 0xaad934c8 ps2_command +EXPORT_SYMBOL vmlinux 0xaafd459d do_sync_read +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab1c1391 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xab2d9a68 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xab3d4238 blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0xab53b0a8 mempool_alloc +EXPORT_SYMBOL vmlinux 0xab64cbb0 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xab7fd338 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabd47787 down_killable +EXPORT_SYMBOL vmlinux 0xabd7cce6 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0xabd8e427 matroxfb_var2my +EXPORT_SYMBOL vmlinux 0xabe752bb xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0xabe82070 vga_tryget +EXPORT_SYMBOL vmlinux 0xabec3290 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xac05ceee blk_start_queue +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac0c811a qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0xac239b0b blk_queue_ordered +EXPORT_SYMBOL vmlinux 0xac30759b serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xac4f64b5 vga_client_register +EXPORT_SYMBOL vmlinux 0xac54fc9f mempool_destroy +EXPORT_SYMBOL vmlinux 0xac5f113d cpu_all_bits +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac6ff767 ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0xac8ce2dd of_register_i2c_devices +EXPORT_SYMBOL vmlinux 0xac917f66 eth_header_parse +EXPORT_SYMBOL vmlinux 0xac9c95cc pci_match_id +EXPORT_SYMBOL vmlinux 0xacb34cc4 should_remove_suid +EXPORT_SYMBOL vmlinux 0xacb52058 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0xacc93aee xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xacca9176 seq_bitmap_list +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xaccd84db sysctl_string +EXPORT_SYMBOL vmlinux 0xacdeb154 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad082af0 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0xad0bda15 log_start_commit +EXPORT_SYMBOL vmlinux 0xad50bb61 dev_get_by_index +EXPORT_SYMBOL vmlinux 0xad55b009 input_unregister_device +EXPORT_SYMBOL vmlinux 0xad67c80a get_write_access +EXPORT_SYMBOL vmlinux 0xad74385e misc_register +EXPORT_SYMBOL vmlinux 0xad7dce37 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xad99b975 dm_table_put +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadb792c2 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xadcd9ec4 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xadd1e971 alignment_exception +EXPORT_SYMBOL vmlinux 0xadd471b1 phy_start_aneg +EXPORT_SYMBOL vmlinux 0xaddba73d dev_driver_string +EXPORT_SYMBOL vmlinux 0xaddd4770 __debugger_iabr_match +EXPORT_SYMBOL vmlinux 0xadf42bd5 __request_region +EXPORT_SYMBOL vmlinux 0xae10ae9f gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0xae395308 per_cpu__vm_event_states +EXPORT_SYMBOL vmlinux 0xae3ea7a7 setup_new_exec +EXPORT_SYMBOL vmlinux 0xae53d176 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0xae707a08 skb_queue_purge +EXPORT_SYMBOL vmlinux 0xae83c369 bio_integrity_split +EXPORT_SYMBOL vmlinux 0xaeb51600 i2c_bit_add_bus +EXPORT_SYMBOL vmlinux 0xaeb8a531 of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0xaec0969e textsearch_prepare +EXPORT_SYMBOL vmlinux 0xaec655c7 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0xaed013b9 posix_acl_valid +EXPORT_SYMBOL vmlinux 0xaede8a8a sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0xaefc6fc7 matroxfb_DAC_in +EXPORT_SYMBOL vmlinux 0xaf153350 phy_connect_direct +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf8bb492 tcp_parse_options +EXPORT_SYMBOL vmlinux 0xafbacadb tcf_hash_release +EXPORT_SYMBOL vmlinux 0xafc7a624 pci_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0xafeb79a9 qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0xaff008f5 blk_end_request_all +EXPORT_SYMBOL vmlinux 0xb025c548 key_task_permission +EXPORT_SYMBOL vmlinux 0xb0268e28 commit_creds +EXPORT_SYMBOL vmlinux 0xb02849ff simple_transaction_get +EXPORT_SYMBOL vmlinux 0xb03f2325 vfs_llseek +EXPORT_SYMBOL vmlinux 0xb04cb115 km_policy_expired +EXPORT_SYMBOL vmlinux 0xb06a616a simple_fsync +EXPORT_SYMBOL vmlinux 0xb076d94c scsi_device_set_state +EXPORT_SYMBOL vmlinux 0xb08df20a __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xb09697ae touch_atime +EXPORT_SYMBOL vmlinux 0xb099e378 vfs_mknod +EXPORT_SYMBOL vmlinux 0xb09b3776 blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0xb0a23d19 vfs_mkdir +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0c5829c proc_net_netfilter +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb10e56f5 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xb1380c86 devm_ioremap_prot +EXPORT_SYMBOL vmlinux 0xb13ac29e devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0xb14fc3f9 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0xb15bd8fa tb_ticks_per_sec +EXPORT_SYMBOL vmlinux 0xb18f3f06 ide_xfer_verbose +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb19866dc kernel_bind +EXPORT_SYMBOL vmlinux 0xb1a2a935 of_n_size_cells +EXPORT_SYMBOL vmlinux 0xb1a9eff6 init_file +EXPORT_SYMBOL vmlinux 0xb1adedca qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1eefef6 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0xb1f07244 __netdev_alloc_page +EXPORT_SYMBOL vmlinux 0xb1fa73df read_cache_page +EXPORT_SYMBOL vmlinux 0xb224fbe2 param_get_short +EXPORT_SYMBOL vmlinux 0xb22fe6a3 netdev_increment_features +EXPORT_SYMBOL vmlinux 0xb231c822 replace_mount_options +EXPORT_SYMBOL vmlinux 0xb233762c atomic64_set +EXPORT_SYMBOL vmlinux 0xb2668bcd seq_puts +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb27d8b91 start_tty +EXPORT_SYMBOL vmlinux 0xb284fd6f d_rehash +EXPORT_SYMBOL vmlinux 0xb2a6bb7f wake_up_process +EXPORT_SYMBOL vmlinux 0xb2b8cd04 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0xb2d72cc7 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xb2efc01c xfrm_lookup +EXPORT_SYMBOL vmlinux 0xb34208ee blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0xb36b81c2 xfrm_state_add +EXPORT_SYMBOL vmlinux 0xb370a4f8 cdrom_release +EXPORT_SYMBOL vmlinux 0xb3732e3c generic_file_splice_read +EXPORT_SYMBOL vmlinux 0xb376d79d radix_tree_tagged +EXPORT_SYMBOL vmlinux 0xb3a307c6 si_meminfo +EXPORT_SYMBOL vmlinux 0xb3ebc2d4 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0xb3f88a6c scsi_host_alloc +EXPORT_SYMBOL vmlinux 0xb402b27e seq_lseek +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb42453d3 param_get_invbool +EXPORT_SYMBOL vmlinux 0xb436ffa3 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xb45d9049 skb_store_bits +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb482693a pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xb4c21925 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0xb503ce0d inet_release +EXPORT_SYMBOL vmlinux 0xb5044271 vsscanf +EXPORT_SYMBOL vmlinux 0xb5313c39 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0xb5339b79 dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0xb53556b0 input_close_device +EXPORT_SYMBOL vmlinux 0xb53a4336 kmap_pte +EXPORT_SYMBOL vmlinux 0xb54488b6 nobh_writepage +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb54fcc8c tcp_check_req +EXPORT_SYMBOL vmlinux 0xb561fcc4 pci_set_master +EXPORT_SYMBOL vmlinux 0xb58d4e8e scsi_get_command +EXPORT_SYMBOL vmlinux 0xb5a3f82d macio_dev_get +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5b61276 log_wait_commit +EXPORT_SYMBOL vmlinux 0xb5e146fe bio_copy_kern +EXPORT_SYMBOL vmlinux 0xb5e37823 scsi_add_device +EXPORT_SYMBOL vmlinux 0xb5f1d728 kfree_skb +EXPORT_SYMBOL vmlinux 0xb6189a93 ethtool_op_set_tx_ipv6_csum +EXPORT_SYMBOL vmlinux 0xb61966fd splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0xb6599b9a machine_check_exception +EXPORT_SYMBOL vmlinux 0xb66c93d2 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb68cdf64 arp_broken_ops +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6be40d5 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0xb6bffb99 kstat_irqs_cpu +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6c70a7d __wake_up +EXPORT_SYMBOL vmlinux 0xb6cbe9cd cdev_del +EXPORT_SYMBOL vmlinux 0xb6e85ec0 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0xb6f88fb4 of_get_cpu_node +EXPORT_SYMBOL vmlinux 0xb6fdb278 swiotlb_sync_single_for_device +EXPORT_SYMBOL vmlinux 0xb7209573 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0xb73266bf truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0xb7447730 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xb753bcc8 __ashrdi3 +EXPORT_SYMBOL vmlinux 0xb7695cdd tcp_rcv_established +EXPORT_SYMBOL vmlinux 0xb77086ea g450_mnp2f +EXPORT_SYMBOL vmlinux 0xb7792469 bio_add_page +EXPORT_SYMBOL vmlinux 0xb781cdb5 bio_integrity_endio +EXPORT_SYMBOL vmlinux 0xb782e932 unregister_8022_client +EXPORT_SYMBOL vmlinux 0xb798938f inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0xb798b8e4 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0xb7ad3321 ida_init +EXPORT_SYMBOL vmlinux 0xb7b2e211 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xb7b61546 crc32_be +EXPORT_SYMBOL vmlinux 0xb7ccb3c7 twl4030_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xb7d9348c key_alloc +EXPORT_SYMBOL vmlinux 0xb8059c60 skb_copy_expand +EXPORT_SYMBOL vmlinux 0xb8067495 matrox_cfbX_init +EXPORT_SYMBOL vmlinux 0xb814b300 generic_file_mmap +EXPORT_SYMBOL vmlinux 0xb84b3413 splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0xb8529912 ide_dma_off +EXPORT_SYMBOL vmlinux 0xb86a6639 inet_addr_type +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8aa2342 __check_region +EXPORT_SYMBOL vmlinux 0xb8c4bfba blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0xb8e9492a tcp_disconnect +EXPORT_SYMBOL vmlinux 0xb90365ca bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0xb90bae19 pci_map_rom +EXPORT_SYMBOL vmlinux 0xb912074a of_create_pci_dev +EXPORT_SYMBOL vmlinux 0xb9174866 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xb9193f1a pci_iomap +EXPORT_SYMBOL vmlinux 0xb91f8216 simple_lookup +EXPORT_SYMBOL vmlinux 0xb937f2dd matroxfb_g450_shutdown +EXPORT_SYMBOL vmlinux 0xb9648d3c blk_end_request +EXPORT_SYMBOL vmlinux 0xb96bdb91 alloc_disk +EXPORT_SYMBOL vmlinux 0xb97d4c9c mutex_lock +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb98c8970 netif_device_detach +EXPORT_SYMBOL vmlinux 0xb98ef804 vm_stat +EXPORT_SYMBOL vmlinux 0xb9ab692f mach_chrp +EXPORT_SYMBOL vmlinux 0xb9c4fc5d skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba8f8b68 completion_done +EXPORT_SYMBOL vmlinux 0xba934eb6 read_cache_pages +EXPORT_SYMBOL vmlinux 0xbaaab8ae timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xbaf70ece tcf_generic_walker +EXPORT_SYMBOL vmlinux 0xbafd2e7b tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0xbb0486d9 complete_request_key +EXPORT_SYMBOL vmlinux 0xbb0e753c inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0xbb167766 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb4c17be mnt_pin +EXPORT_SYMBOL vmlinux 0xbb5b9143 ilookup +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb845c35 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbbca3c3b dquot_initialize +EXPORT_SYMBOL vmlinux 0xbbdfd594 sk_stream_error +EXPORT_SYMBOL vmlinux 0xbc02db73 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0xbc0d0ea8 bdi_unregister +EXPORT_SYMBOL vmlinux 0xbc3134c6 pci_enable_device +EXPORT_SYMBOL vmlinux 0xbc316de4 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0xbc44d02c is_container_init +EXPORT_SYMBOL vmlinux 0xbc66d6ec input_open_device +EXPORT_SYMBOL vmlinux 0xbca20f7f __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xbcf8d9ff __pagevec_release +EXPORT_SYMBOL vmlinux 0xbd1842f4 blk_insert_request +EXPORT_SYMBOL vmlinux 0xbd28b907 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0xbd45e094 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0xbd56f065 __napi_complete +EXPORT_SYMBOL vmlinux 0xbd5f5566 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0xbd8d541d flush_hash_pages +EXPORT_SYMBOL vmlinux 0xbd8f0850 open_bdev_exclusive +EXPORT_SYMBOL vmlinux 0xbd9841f8 kernel_connect +EXPORT_SYMBOL vmlinux 0xbd9e5d49 __lshrdi3 +EXPORT_SYMBOL vmlinux 0xbdb4f7ec cdrom_open +EXPORT_SYMBOL vmlinux 0xbdbb815e kernel_sendpage +EXPORT_SYMBOL vmlinux 0xbdcfd4c7 kmem_cache_free +EXPORT_SYMBOL vmlinux 0xbde4be75 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbdf7b2ad flush_old_exec +EXPORT_SYMBOL vmlinux 0xbe0e5118 nla_memcmp +EXPORT_SYMBOL vmlinux 0xbe63ee40 request_resource +EXPORT_SYMBOL vmlinux 0xbe7d7587 bio_uncopy_user +EXPORT_SYMBOL vmlinux 0xbea0348f dquot_acquire +EXPORT_SYMBOL vmlinux 0xbeac8481 sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0xbeb247ee xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xbebc8c9e DAC1064_global_init +EXPORT_SYMBOL vmlinux 0xbecd525f skb_pull +EXPORT_SYMBOL vmlinux 0xbedadd73 of_dev_get +EXPORT_SYMBOL vmlinux 0xbedd1adc bio_sector_offset +EXPORT_SYMBOL vmlinux 0xbeed2dcc mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xbef28684 of_node_put +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf391328 dm_table_event +EXPORT_SYMBOL vmlinux 0xbf3c1895 sock_recvmsg +EXPORT_SYMBOL vmlinux 0xbf7586b4 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0xbf7c3c74 dev_addr_del +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfbee1d6 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfdb8474 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0xbfe35295 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0xbfe55c86 sock_init_data +EXPORT_SYMBOL vmlinux 0xbffee226 bioset_free +EXPORT_SYMBOL vmlinux 0xc0044724 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xc023c45f pci_clear_master +EXPORT_SYMBOL vmlinux 0xc02591c3 bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc090ce11 gen_pool_alloc +EXPORT_SYMBOL vmlinux 0xc096f728 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0b39fb3 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL vmlinux 0xc0ca654e scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0xc0d24ff0 km_report +EXPORT_SYMBOL vmlinux 0xc0d815f5 up_write +EXPORT_SYMBOL vmlinux 0xc0d84ced cuda_poll +EXPORT_SYMBOL vmlinux 0xc0ffbf59 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0xc10770e8 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xc11d8093 iov_shorten +EXPORT_SYMBOL vmlinux 0xc1351a64 input_set_capability +EXPORT_SYMBOL vmlinux 0xc15e073c generic_find_next_zero_le_bit +EXPORT_SYMBOL vmlinux 0xc179b708 pci_enable_msix +EXPORT_SYMBOL vmlinux 0xc17ac536 follow_pfn +EXPORT_SYMBOL vmlinux 0xc1c4b513 pci_find_device +EXPORT_SYMBOL vmlinux 0xc1dd4a7f adb_request +EXPORT_SYMBOL vmlinux 0xc2026eb3 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xc21460cf llc_mac_hdr_init +EXPORT_SYMBOL vmlinux 0xc23cf1e9 matroxfb_DAC_out +EXPORT_SYMBOL vmlinux 0xc249a8fc elv_rb_find +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc25e1d7b of_mdiobus_register +EXPORT_SYMBOL vmlinux 0xc2682b66 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0xc27691d2 ip_ct_attach +EXPORT_SYMBOL vmlinux 0xc29c3d08 unregister_quota_format +EXPORT_SYMBOL vmlinux 0xc2c16e10 security_path_rename +EXPORT_SYMBOL vmlinux 0xc2d711e1 krealloc +EXPORT_SYMBOL vmlinux 0xc2e3fd4d jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2e964aa seq_release +EXPORT_SYMBOL vmlinux 0xc2f56d95 of_gpio_count +EXPORT_SYMBOL vmlinux 0xc31504c2 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0xc316b98c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0xc3486888 get_sb_bdev +EXPORT_SYMBOL vmlinux 0xc35ec884 phy_disconnect +EXPORT_SYMBOL vmlinux 0xc368849f nvram_sync +EXPORT_SYMBOL vmlinux 0xc3aebb1f genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0xc3c19d02 seq_putc +EXPORT_SYMBOL vmlinux 0xc3cf1128 in_group_p +EXPORT_SYMBOL vmlinux 0xc3d701fd fput +EXPORT_SYMBOL vmlinux 0xc458b2ea gen_pool_add +EXPORT_SYMBOL vmlinux 0xc468e54a clip_tbl_hook +EXPORT_SYMBOL vmlinux 0xc477a7df bioset_create +EXPORT_SYMBOL vmlinux 0xc47d887f blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0xc47ea84f tcp_sendpage +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4b2d4b4 get_unmapped_area_prot +EXPORT_SYMBOL vmlinux 0xc4dc67d3 ps2_begin_command +EXPORT_SYMBOL vmlinux 0xc4defc8f km_policy_notify +EXPORT_SYMBOL vmlinux 0xc4e6d94b no_llseek +EXPORT_SYMBOL vmlinux 0xc4f74249 jbd2_journal_update_format +EXPORT_SYMBOL vmlinux 0xc50855b8 posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0xc52bad74 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0xc52d6eba have_submounts +EXPORT_SYMBOL vmlinux 0xc52f5714 fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0xc53552fc of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc5652f56 bh_submit_read +EXPORT_SYMBOL vmlinux 0xc575771e sg_free_table +EXPORT_SYMBOL vmlinux 0xc589c938 inode_change_ok +EXPORT_SYMBOL vmlinux 0xc59cfe82 unregister_nls +EXPORT_SYMBOL vmlinux 0xc5c2676e register_quota_format +EXPORT_SYMBOL vmlinux 0xc5d93583 per_cpu____irq_regs +EXPORT_SYMBOL vmlinux 0xc5f63bf9 alloc_netdev_mq +EXPORT_SYMBOL vmlinux 0xc6045640 scsi_host_set_state +EXPORT_SYMBOL vmlinux 0xc6184045 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xc633495b schedule_work +EXPORT_SYMBOL vmlinux 0xc63fd08b netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xc648683c scsi_device_resume +EXPORT_SYMBOL vmlinux 0xc64a4a96 __napi_schedule +EXPORT_SYMBOL vmlinux 0xc66ce714 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xc686450d kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xc69ff87c netdev_class_create_file +EXPORT_SYMBOL vmlinux 0xc6a771fb block_write_full_page +EXPORT_SYMBOL vmlinux 0xc6a85659 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0xc6ab27bd inet_csk_accept +EXPORT_SYMBOL vmlinux 0xc6bcff0e sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0xc6d0ecae ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0xc6d3b278 alloc_fcdev +EXPORT_SYMBOL vmlinux 0xc6e0e167 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xc7131591 pcibios_align_resource +EXPORT_SYMBOL vmlinux 0xc722227e posix_acl_clone +EXPORT_SYMBOL vmlinux 0xc73a0f2f skb_make_writable +EXPORT_SYMBOL vmlinux 0xc7420ead skb_unlink +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7b19fa6 of_platform_device_create +EXPORT_SYMBOL vmlinux 0xc7c08161 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xc7ec6c27 strspn +EXPORT_SYMBOL vmlinux 0xc7f3f72c nobh_write_begin +EXPORT_SYMBOL vmlinux 0xc7f8874b seq_escape +EXPORT_SYMBOL vmlinux 0xc7f98eaa prepare_creds +EXPORT_SYMBOL vmlinux 0xc8346964 scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0xc8352a9c iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0xc841ec47 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xc85c8fc6 mach_powermac +EXPORT_SYMBOL vmlinux 0xc861b0fa __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xc882dd43 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xc89cd358 __kfree_skb +EXPORT_SYMBOL vmlinux 0xc89d3476 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0xc89f740b lro_vlan_hwaccel_receive_frags +EXPORT_SYMBOL vmlinux 0xc8a7d5ab splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8b97fb1 dev_get_flags +EXPORT_SYMBOL vmlinux 0xc8d53df7 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0xc9242666 mod_timer +EXPORT_SYMBOL vmlinux 0xc925d7be fget +EXPORT_SYMBOL vmlinux 0xc928b6ad d_prune_aliases +EXPORT_SYMBOL vmlinux 0xc93e8235 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0xc95958ae macio_request_resource +EXPORT_SYMBOL vmlinux 0xc95f0b10 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xc964fc03 pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0xc983dcee kill_pgrp +EXPORT_SYMBOL vmlinux 0xc998d641 icmp_err_convert +EXPORT_SYMBOL vmlinux 0xc99bf48c jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0xc9fd7794 vfs_follow_link +EXPORT_SYMBOL vmlinux 0xca0e0b84 security_task_getsecid +EXPORT_SYMBOL vmlinux 0xca1eb36e tcp_proc_register +EXPORT_SYMBOL vmlinux 0xca1f67fb swiotlb_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0xca24607f of_get_property +EXPORT_SYMBOL vmlinux 0xca404913 simple_release_fs +EXPORT_SYMBOL vmlinux 0xca53a758 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca825895 pmu_suspend +EXPORT_SYMBOL vmlinux 0xca8b1beb add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0xca8c6ee1 generic_make_request +EXPORT_SYMBOL vmlinux 0xca968e4a __blk_end_request +EXPORT_SYMBOL vmlinux 0xcacd272d atomic64_sub_return +EXPORT_SYMBOL vmlinux 0xcacea1e4 neigh_table_clear +EXPORT_SYMBOL vmlinux 0xcadc6804 secpath_dup +EXPORT_SYMBOL vmlinux 0xcae9f86e skb_queue_head +EXPORT_SYMBOL vmlinux 0xcaeec112 datagram_poll +EXPORT_SYMBOL vmlinux 0xcafad484 xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0xcb28c043 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0xcb4a2c2c sk_free +EXPORT_SYMBOL vmlinux 0xcb6beb40 hweight32 +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb770e83 alloc_fddidev +EXPORT_SYMBOL vmlinux 0xcbb81825 block_write_end +EXPORT_SYMBOL vmlinux 0xcbc29f4e gen_new_estimator +EXPORT_SYMBOL vmlinux 0xcbcb9f15 tcf_em_register +EXPORT_SYMBOL vmlinux 0xcbce1fa7 llc_sap_close +EXPORT_SYMBOL vmlinux 0xcbe7b480 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0xcc254bb3 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc411970 nf_log_unregister +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xccd65510 ethtool_op_set_tso +EXPORT_SYMBOL vmlinux 0xcd4277d8 skb_copy +EXPORT_SYMBOL vmlinux 0xcd826cee jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0xcd8ba77a skb_free_datagram +EXPORT_SYMBOL vmlinux 0xcd955356 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xcd9cb962 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xcdadb487 matroxfb_unregister_driver +EXPORT_SYMBOL vmlinux 0xcdb2332b cfb_copyarea +EXPORT_SYMBOL vmlinux 0xcdc8a6cc scsi_target_resume +EXPORT_SYMBOL vmlinux 0xcdd2f83a sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xcddfe591 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0xcde90d3b scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0xcdf118de xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0xce36ded6 sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xce409cda pmac_set_early_video_resume +EXPORT_SYMBOL vmlinux 0xce594d46 file_remove_suid +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce67d4e9 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xce723dff nf_ct_attach +EXPORT_SYMBOL vmlinux 0xce7890a0 simple_dir_operations +EXPORT_SYMBOL vmlinux 0xce7d3f9f d_path +EXPORT_SYMBOL vmlinux 0xce9ba4e2 tcp_splice_read +EXPORT_SYMBOL vmlinux 0xcea0f73b tty_name +EXPORT_SYMBOL vmlinux 0xcea1bbd9 misc_deregister +EXPORT_SYMBOL vmlinux 0xceb851da ide_do_reset +EXPORT_SYMBOL vmlinux 0xcef83552 __alloc_skb +EXPORT_SYMBOL vmlinux 0xcf14dc5c journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xcf3e6441 skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0xcf46ba1b pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0xcf55c77d security_file_permission +EXPORT_SYMBOL vmlinux 0xcf56f91d scsi_mode_sense +EXPORT_SYMBOL vmlinux 0xcf6be91c lock_rename +EXPORT_SYMBOL vmlinux 0xcf735e18 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xcf901697 __strnlen_user +EXPORT_SYMBOL vmlinux 0xcfb9006e jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0xcfcf00a4 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0xcfe958e4 release_firmware +EXPORT_SYMBOL vmlinux 0xcff53400 kref_put +EXPORT_SYMBOL vmlinux 0xd00652f3 timecompare_offset +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd01e64d3 jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0xd04e731e per_cpu__kstat +EXPORT_SYMBOL vmlinux 0xd065e92b skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0xd08afc59 inet_stream_ops +EXPORT_SYMBOL vmlinux 0xd0a45fa5 pmu_enable_irled +EXPORT_SYMBOL vmlinux 0xd0c1704d tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0xd0d145cd iunique +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd104150f sg_miter_stop +EXPORT_SYMBOL vmlinux 0xd11bbde9 cap_netlink_recv +EXPORT_SYMBOL vmlinux 0xd1262886 rtas_data_buf +EXPORT_SYMBOL vmlinux 0xd12fe5ac proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0xd13b9496 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0xd14e5a9a sock_no_listen +EXPORT_SYMBOL vmlinux 0xd17a86af blk_queue_max_sectors +EXPORT_SYMBOL vmlinux 0xd19b3eaa ethtool_op_set_sg +EXPORT_SYMBOL vmlinux 0xd1a07da0 of_get_next_child +EXPORT_SYMBOL vmlinux 0xd20d0495 ip_mc_rejoin_group +EXPORT_SYMBOL vmlinux 0xd24af00d tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0xd251d7b0 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xd2555f19 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xd25ae5a7 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd27728a4 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0xd27f6c66 deny_write_access +EXPORT_SYMBOL vmlinux 0xd289edc9 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd298a34a phy_detach +EXPORT_SYMBOL vmlinux 0xd29a305e send_sig_info +EXPORT_SYMBOL vmlinux 0xd2a53a16 ____pagevec_lru_add +EXPORT_SYMBOL vmlinux 0xd2b0208b skb_over_panic +EXPORT_SYMBOL vmlinux 0xd2b09eaa bio_unmap_user +EXPORT_SYMBOL vmlinux 0xd2d91143 dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0xd2e116fc lro_receive_skb +EXPORT_SYMBOL vmlinux 0xd2e4f945 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xd311cd2a genphy_config_advert +EXPORT_SYMBOL vmlinux 0xd3426d29 ilookup5 +EXPORT_SYMBOL vmlinux 0xd3427f73 mempool_create_node +EXPORT_SYMBOL vmlinux 0xd34405a5 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0xd34bf5dc scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0xd3668b92 __register_chrdev +EXPORT_SYMBOL vmlinux 0xd377dc8a dev_gro_receive +EXPORT_SYMBOL vmlinux 0xd392d5a5 posix_acl_permission +EXPORT_SYMBOL vmlinux 0xd3c9d0d3 bio_kmalloc +EXPORT_SYMBOL vmlinux 0xd3cd7a29 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xd409383c pmu_request +EXPORT_SYMBOL vmlinux 0xd418e1c0 adjust_resource +EXPORT_SYMBOL vmlinux 0xd44aaf03 prepare_binprm +EXPORT_SYMBOL vmlinux 0xd455c660 skb_trim +EXPORT_SYMBOL vmlinux 0xd4568c85 thaw_bdev +EXPORT_SYMBOL vmlinux 0xd4b29189 init_buffer +EXPORT_SYMBOL vmlinux 0xd5056118 eth_mac_addr +EXPORT_SYMBOL vmlinux 0xd51e6925 skb_dequeue +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd5688a7a radix_tree_insert +EXPORT_SYMBOL vmlinux 0xd57f8789 iommu_num_pages +EXPORT_SYMBOL vmlinux 0xd592bc47 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xd59e3e5b clear_user_page +EXPORT_SYMBOL vmlinux 0xd5a6e632 put_io_context +EXPORT_SYMBOL vmlinux 0xd5b2e52a single_step_exception +EXPORT_SYMBOL vmlinux 0xd5c69703 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0xd5e8444a __div64_32 +EXPORT_SYMBOL vmlinux 0xd5f6eb73 dquot_release_reserved_space +EXPORT_SYMBOL vmlinux 0xd627480b strncat +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd6583a69 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0xd680221e netdev_bonding_change +EXPORT_SYMBOL vmlinux 0xd6991f26 bd_release +EXPORT_SYMBOL vmlinux 0xd69b30e0 atomic64_add_unless +EXPORT_SYMBOL vmlinux 0xd6a78d08 smp_call_function_single +EXPORT_SYMBOL vmlinux 0xd6af8545 keyring_search +EXPORT_SYMBOL vmlinux 0xd6b149f1 check_disk_size_change +EXPORT_SYMBOL vmlinux 0xd6c4ad69 generic_writepages +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f00d1f key_validate +EXPORT_SYMBOL vmlinux 0xd717c74d locks_copy_lock +EXPORT_SYMBOL vmlinux 0xd71aaf8d request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xd72b5523 scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0xd742fdd5 __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0xd7508401 netlink_ack +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd7828e9a inet_del_protocol +EXPORT_SYMBOL vmlinux 0xd78ccf8b neigh_seq_next +EXPORT_SYMBOL vmlinux 0xd78f811d input_unfilter_device +EXPORT_SYMBOL vmlinux 0xd799175d dev_get_by_name +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd7a2a956 follow_up +EXPORT_SYMBOL vmlinux 0xd7ab05bd xfrm_state_walk +EXPORT_SYMBOL vmlinux 0xd7b69fae idr_find +EXPORT_SYMBOL vmlinux 0xd7ccacc1 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0xd7d4d7de swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0xd7f6f522 xfrm_bundle_ok +EXPORT_SYMBOL vmlinux 0xd8183667 generic_write_end +EXPORT_SYMBOL vmlinux 0xd83791bc nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd8379e69 nf_log_packet +EXPORT_SYMBOL vmlinux 0xd88bbaa5 wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0xd898605c do_splice_to +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a2ab95 in_egroup_p +EXPORT_SYMBOL vmlinux 0xd8b52aed truncate_pagecache +EXPORT_SYMBOL vmlinux 0xd8b664c4 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd9232736 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0xd92514ca agp_special_page +EXPORT_SYMBOL vmlinux 0xd963a74a flush_delayed_work +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd99440e8 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0xd99b52e5 pci_target_state +EXPORT_SYMBOL vmlinux 0xd99bda9a blk_remove_plug +EXPORT_SYMBOL vmlinux 0xd9aa4389 module_refcount +EXPORT_SYMBOL vmlinux 0xd9bac924 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0xd9ce8f0c strnlen +EXPORT_SYMBOL vmlinux 0xd9f654f2 find_get_pages_tag +EXPORT_SYMBOL vmlinux 0xda09cfa9 sock_release +EXPORT_SYMBOL vmlinux 0xda1a7335 kasprintf +EXPORT_SYMBOL vmlinux 0xda226fe3 __invalidate_device +EXPORT_SYMBOL vmlinux 0xda3cb8b1 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0xda59b97b pci_unmap_rom +EXPORT_SYMBOL vmlinux 0xda64dfcf km_query +EXPORT_SYMBOL vmlinux 0xda726866 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xda8b5096 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xdaa57ec3 totalhigh_pages +EXPORT_SYMBOL vmlinux 0xdad49337 generic_getxattr +EXPORT_SYMBOL vmlinux 0xdad86821 mb_cache_shrink +EXPORT_SYMBOL vmlinux 0xdafe1bf3 pci_select_bars +EXPORT_SYMBOL vmlinux 0xdb04a255 __sk_dst_check +EXPORT_SYMBOL vmlinux 0xdb223f91 generic_permission +EXPORT_SYMBOL vmlinux 0xdb2f7032 sock_sendmsg +EXPORT_SYMBOL vmlinux 0xdb31f257 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xdb380756 textsearch_register +EXPORT_SYMBOL vmlinux 0xdb38a3a8 pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0xdb38cd5d eth_header_cache +EXPORT_SYMBOL vmlinux 0xdb413fdc get_phy_id +EXPORT_SYMBOL vmlinux 0xdb4c88b4 groups_alloc +EXPORT_SYMBOL vmlinux 0xdb4d9022 skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0xdb5a63d9 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0xdb7f9e9b __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xdb7ff6ce netdev_state_change +EXPORT_SYMBOL vmlinux 0xdb83f600 backlight_force_update +EXPORT_SYMBOL vmlinux 0xdb864d65 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xdb98591f dm_unregister_target +EXPORT_SYMBOL vmlinux 0xdb9d93e8 generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xdb9df207 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbce3333 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0xdbd33a14 tty_shutdown +EXPORT_SYMBOL vmlinux 0xdbe16669 dm_put_device +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc053205 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0xdc0e1cd3 journal_init_inode +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc1b4b88 swiotlb_unmap_sg +EXPORT_SYMBOL vmlinux 0xdc1fff43 unregister_qdisc +EXPORT_SYMBOL vmlinux 0xdc21cecb macio_unregister_driver +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc76e44a swiotlb_map_sg_attrs +EXPORT_SYMBOL vmlinux 0xdca0e950 genl_register_family +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcca4da0 register_snap_client +EXPORT_SYMBOL vmlinux 0xdcde3f32 pci_iounmap +EXPORT_SYMBOL vmlinux 0xdcefb9a5 pmu_resume +EXPORT_SYMBOL vmlinux 0xdcf416f3 dquot_commit_info +EXPORT_SYMBOL vmlinux 0xdd0a2ba2 strlcat +EXPORT_SYMBOL vmlinux 0xdd27fa87 memchr +EXPORT_SYMBOL vmlinux 0xdd6baf77 rtas +EXPORT_SYMBOL vmlinux 0xdd6bfccd radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0xdd8be9b8 filp_open +EXPORT_SYMBOL vmlinux 0xdd93073f ip_fragment +EXPORT_SYMBOL vmlinux 0xddb45085 sock_get_timestampns +EXPORT_SYMBOL vmlinux 0xddc94847 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0xddd99979 i2c_use_client +EXPORT_SYMBOL vmlinux 0xddfff4a2 pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0xde31b902 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xde3c68a6 cpu_online_mask +EXPORT_SYMBOL vmlinux 0xde405ee6 d_alloc_root +EXPORT_SYMBOL vmlinux 0xde40ea1a scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xde68659a drop_super +EXPORT_SYMBOL vmlinux 0xde75b689 set_irq_type +EXPORT_SYMBOL vmlinux 0xde820cbd neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xdea6ee56 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0xdeb5cd83 scsi_scan_host +EXPORT_SYMBOL vmlinux 0xdee075ba gen_pool_free +EXPORT_SYMBOL vmlinux 0xdee8e2c0 inet_listen +EXPORT_SYMBOL vmlinux 0xdef19063 task_nice +EXPORT_SYMBOL vmlinux 0xdef96b44 matroxfb_vgaHWinit +EXPORT_SYMBOL vmlinux 0xdf16efc2 vfsmount_lock +EXPORT_SYMBOL vmlinux 0xdf2d3fb0 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xdf41aeb6 audit_log_end +EXPORT_SYMBOL vmlinux 0xdf4c8767 ns_to_timeval +EXPORT_SYMBOL vmlinux 0xdf501852 journal_destroy +EXPORT_SYMBOL vmlinux 0xdf554ffd mem_map +EXPORT_SYMBOL vmlinux 0xdf5855d4 unregister_cdrom +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf6a57fb tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0xdf768fb5 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdff43ed4 __debugger +EXPORT_SYMBOL vmlinux 0xdff56e64 adb_poll +EXPORT_SYMBOL vmlinux 0xdffcdfa0 per_cpu__ftrace_event_seq +EXPORT_SYMBOL vmlinux 0xe001e342 abort_creds +EXPORT_SYMBOL vmlinux 0xe011f8b5 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xe04d94f3 of_parse_phandles_with_args +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe0a38010 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0b49843 macio_request_resources +EXPORT_SYMBOL vmlinux 0xe0bc24a1 param_set_ushort +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe11a89f7 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe199b5eb dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0xe1b4c24e scsi_block_requests +EXPORT_SYMBOL vmlinux 0xe1b6cc47 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xe1c30f1f unlock_super +EXPORT_SYMBOL vmlinux 0xe1ef07fa get_sb_pseudo +EXPORT_SYMBOL vmlinux 0xe1f16d9a pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe21abe6e page_symlink +EXPORT_SYMBOL vmlinux 0xe2262dbe inode_setattr +EXPORT_SYMBOL vmlinux 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL vmlinux 0xe234f26e arp_send +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe2577835 ip_getsockopt +EXPORT_SYMBOL vmlinux 0xe2a6b912 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0xe2b1d1a9 scsi_print_sense +EXPORT_SYMBOL vmlinux 0xe2cc221e tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e0c7c6 __flush_icache_range +EXPORT_SYMBOL vmlinux 0xe2e8065e memdup_user +EXPORT_SYMBOL vmlinux 0xe2fae716 kmemdup +EXPORT_SYMBOL vmlinux 0xe32ab573 __tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0xe36b44e4 key_unlink +EXPORT_SYMBOL vmlinux 0xe37f4716 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0xe383a6c1 netlink_dump_start +EXPORT_SYMBOL vmlinux 0xe3928a2b mark_info_dirty +EXPORT_SYMBOL vmlinux 0xe39f6804 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0xe3cec73b neigh_compat_output +EXPORT_SYMBOL vmlinux 0xe3ec9e48 __brelse +EXPORT_SYMBOL vmlinux 0xe3f4d6b3 find_vma +EXPORT_SYMBOL vmlinux 0xe418ae54 rtnl_create_link +EXPORT_SYMBOL vmlinux 0xe418aefe scsi_print_result +EXPORT_SYMBOL vmlinux 0xe442281b __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xe465dfcb dev_unicast_unsync +EXPORT_SYMBOL vmlinux 0xe477f86e get_fs_type +EXPORT_SYMBOL vmlinux 0xe480e2a3 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe4921dd7 mb_cache_create +EXPORT_SYMBOL vmlinux 0xe4b92ec1 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0xe4c6c98e kobject_init +EXPORT_SYMBOL vmlinux 0xe4e243a1 input_get_keycode +EXPORT_SYMBOL vmlinux 0xe4f1695e cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xe4f73470 scsi_register_driver +EXPORT_SYMBOL vmlinux 0xe50610bd scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0xe51ae7ca security_path_link +EXPORT_SYMBOL vmlinux 0xe520d352 fasync_helper +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe524d65b simple_write_end +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5d5f184 tty_port_hangup +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe5fbe600 request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0xe6230306 eth_validate_addr +EXPORT_SYMBOL vmlinux 0xe6562614 udplite_table +EXPORT_SYMBOL vmlinux 0xe67b110e scsi_device_put +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6b4e9b9 input_flush_device +EXPORT_SYMBOL vmlinux 0xe6dc245a pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0xe6dd236d clear_pages +EXPORT_SYMBOL vmlinux 0xe6ebc016 key_create_or_update +EXPORT_SYMBOL vmlinux 0xe6fa0a7a __elv_add_request +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe714375c __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xe720bb6b security_path_rmdir +EXPORT_SYMBOL vmlinux 0xe78c22d6 llc_sap_open +EXPORT_SYMBOL vmlinux 0xe79bf55b ide_proc_register_driver +EXPORT_SYMBOL vmlinux 0xe7a53366 cdev_index +EXPORT_SYMBOL vmlinux 0xe7ce7439 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0xe7d2aca1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xe7d31886 of_device_uevent +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe801b2ee generic_shutdown_super +EXPORT_SYMBOL vmlinux 0xe8096027 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xe826a9bc ip_route_input +EXPORT_SYMBOL vmlinux 0xe86e5fc1 downgrade_write +EXPORT_SYMBOL vmlinux 0xe871ef47 dquot_destroy +EXPORT_SYMBOL vmlinux 0xe87387b1 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xe87d8d46 ethtool_op_set_flags +EXPORT_SYMBOL vmlinux 0xe89c46a8 sock_no_poll +EXPORT_SYMBOL vmlinux 0xe8a2176c eth_type_trans +EXPORT_SYMBOL vmlinux 0xe8a96331 tcf_exts_change +EXPORT_SYMBOL vmlinux 0xe8cd902e hweight16 +EXPORT_SYMBOL vmlinux 0xe8d356b7 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xe90dcae0 __request_module +EXPORT_SYMBOL vmlinux 0xe90f4c20 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe91aa2fb scsi_dma_map +EXPORT_SYMBOL vmlinux 0xe927c727 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xe92e5d0b qdisc_list_del +EXPORT_SYMBOL vmlinux 0xe93df902 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0xe9460577 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xe95eee4c cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0xe9711bbb kernel_getpeername +EXPORT_SYMBOL vmlinux 0xe998bee1 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xe9bd32cf scsi_allocate_command +EXPORT_SYMBOL vmlinux 0xe9d85a43 register_console +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea143513 of_get_address +EXPORT_SYMBOL vmlinux 0xea147363 printk +EXPORT_SYMBOL vmlinux 0xea2d33a2 radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0xea423464 tcp_v4_remember_stamp +EXPORT_SYMBOL vmlinux 0xea44e54a textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xea466ebb inode_permission +EXPORT_SYMBOL vmlinux 0xea4f51f5 blk_execute_rq +EXPORT_SYMBOL vmlinux 0xea74a4d1 ps2_drain +EXPORT_SYMBOL vmlinux 0xea7987f1 key_update +EXPORT_SYMBOL vmlinux 0xea858cb5 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xea91f520 scm_detach_fds +EXPORT_SYMBOL vmlinux 0xeadf5109 journal_check_available_features +EXPORT_SYMBOL vmlinux 0xeae3466d user_revoke +EXPORT_SYMBOL vmlinux 0xeae40309 ethtool_op_set_ufo +EXPORT_SYMBOL vmlinux 0xeaf43599 add_disk +EXPORT_SYMBOL vmlinux 0xeafba23a __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0xeb023cde input_register_handle +EXPORT_SYMBOL vmlinux 0xeb167e41 console_stop +EXPORT_SYMBOL vmlinux 0xeb3c94c6 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xeb5292ee bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xeb7a940f netif_notify_peers +EXPORT_SYMBOL vmlinux 0xeb8f54b3 strstrip +EXPORT_SYMBOL vmlinux 0xeba2a1f7 rtas_indicator_present +EXPORT_SYMBOL vmlinux 0xebb82894 __scsi_put_command +EXPORT_SYMBOL vmlinux 0xebc65da1 block_invalidatepage +EXPORT_SYMBOL vmlinux 0xebd273a6 strict_strtoull +EXPORT_SYMBOL vmlinux 0xec212efe free_task +EXPORT_SYMBOL vmlinux 0xec3066ae __serio_register_driver +EXPORT_SYMBOL vmlinux 0xec721c4b udp_proc_unregister +EXPORT_SYMBOL vmlinux 0xec794ba0 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0xecc7a116 blk_unplug +EXPORT_SYMBOL vmlinux 0xeccc5894 __lock_buffer +EXPORT_SYMBOL vmlinux 0xecf38086 cfb_fillrect +EXPORT_SYMBOL vmlinux 0xecfe9da8 devm_ioport_map +EXPORT_SYMBOL vmlinux 0xed0ac053 inet_frag_find +EXPORT_SYMBOL vmlinux 0xed249e18 inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0xed27451e inode_init_always +EXPORT_SYMBOL vmlinux 0xed546ccd set_blocksize +EXPORT_SYMBOL vmlinux 0xed7e607a phy_scan_fixups +EXPORT_SYMBOL vmlinux 0xed873c5c skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedc92842 of_find_device_by_phandle +EXPORT_SYMBOL vmlinux 0xedd66858 __bio_clone +EXPORT_SYMBOL vmlinux 0xeddfcb53 neigh_parms_release +EXPORT_SYMBOL vmlinux 0xedf63a29 i2c_register_driver +EXPORT_SYMBOL vmlinux 0xee0ea422 __lock_page +EXPORT_SYMBOL vmlinux 0xee1c240d clocksource_register +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee47cb79 dst_alloc +EXPORT_SYMBOL vmlinux 0xee59412f adb_try_handler_change +EXPORT_SYMBOL vmlinux 0xee90884e dq_data_lock +EXPORT_SYMBOL vmlinux 0xee988e8a generic_file_splice_write +EXPORT_SYMBOL vmlinux 0xeea0fd9e pci_find_next_bus +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeeabb567 mntput_no_expire +EXPORT_SYMBOL vmlinux 0xeebcfe62 bio_pair_release +EXPORT_SYMBOL vmlinux 0xeedd8fd4 phy_attach_direct +EXPORT_SYMBOL vmlinux 0xeee62224 dget_locked +EXPORT_SYMBOL vmlinux 0xeef4e25a framebuffer_release +EXPORT_SYMBOL vmlinux 0xef267a5d invalidate_partition +EXPORT_SYMBOL vmlinux 0xef422c8a skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0xef4b04ac tcf_register_action +EXPORT_SYMBOL vmlinux 0xef5c06c0 scsi_register_interface +EXPORT_SYMBOL vmlinux 0xef6ed1ba param_set_invbool +EXPORT_SYMBOL vmlinux 0xef722c79 da903x_query_status +EXPORT_SYMBOL vmlinux 0xef77bfc2 pcibios_fixup_bus +EXPORT_SYMBOL vmlinux 0xef9e345f invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xefba3a2a dma_pool_create +EXPORT_SYMBOL vmlinux 0xefd1af04 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0xefd62b6c scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefde1bbe flush_dcache_range +EXPORT_SYMBOL vmlinux 0xefe25e35 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0xefe3e51a jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf01f0e35 blk_integrity_register +EXPORT_SYMBOL vmlinux 0xf03156a8 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf06a137a zero_fill_bio +EXPORT_SYMBOL vmlinux 0xf06a544c phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0xf075cf9e fsync_bdev +EXPORT_SYMBOL vmlinux 0xf07fb9f1 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0xf091a0ba scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xf0932bbc blk_register_region +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0ef6cf4 check_disk_change +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0fb5962 blk_peek_request +EXPORT_SYMBOL vmlinux 0xf10de535 ioread8 +EXPORT_SYMBOL vmlinux 0xf11c5ff2 vga_get +EXPORT_SYMBOL vmlinux 0xf1421ce9 bio_clone +EXPORT_SYMBOL vmlinux 0xf174ed48 acquire_console_sem +EXPORT_SYMBOL vmlinux 0xf1873029 udp_disconnect +EXPORT_SYMBOL vmlinux 0xf1906a78 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1a721a7 call_usermodehelper_freeinfo +EXPORT_SYMBOL vmlinux 0xf1b35445 blk_plug_device +EXPORT_SYMBOL vmlinux 0xf1d9f8e9 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0xf1da11a8 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1deabf2 div64_u64 +EXPORT_SYMBOL vmlinux 0xf1e07ed1 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf22b01dd irq_desc +EXPORT_SYMBOL vmlinux 0xf22fb223 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xf248a121 udplite_prot +EXPORT_SYMBOL vmlinux 0xf24aa48e kernel_setsockopt +EXPORT_SYMBOL vmlinux 0xf25c2538 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0xf28dcfa8 __ide_dma_bad_drive +EXPORT_SYMBOL vmlinux 0xf2a04927 pskb_expand_head +EXPORT_SYMBOL vmlinux 0xf2b96445 set_bh_page +EXPORT_SYMBOL vmlinux 0xf2d245f0 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xf2f0a506 simple_unlink +EXPORT_SYMBOL vmlinux 0xf30314f7 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf340eb42 generic_block_bmap +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf357066a wireless_send_event +EXPORT_SYMBOL vmlinux 0xf35ba9ab d_lookup +EXPORT_SYMBOL vmlinux 0xf369ceea kmem_cache_size +EXPORT_SYMBOL vmlinux 0xf3728c83 otg_put_transceiver +EXPORT_SYMBOL vmlinux 0xf3949750 dev_add_pack +EXPORT_SYMBOL vmlinux 0xf397b9aa __tasklet_schedule +EXPORT_SYMBOL vmlinux 0xf39bf4d9 put_cmsg +EXPORT_SYMBOL vmlinux 0xf3a55a36 scsi_scan_target +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3cc8b18 rtas_data_buf_lock +EXPORT_SYMBOL vmlinux 0xf3cf2812 __put_cred +EXPORT_SYMBOL vmlinux 0xf3d60b39 vfs_quota_on_mount +EXPORT_SYMBOL vmlinux 0xf3e084ce lock_super +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf4449388 timer_interrupt +EXPORT_SYMBOL vmlinux 0xf44b1b57 nf_getsockopt +EXPORT_SYMBOL vmlinux 0xf44d176d qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0xf4714a67 ide_wait_stat +EXPORT_SYMBOL vmlinux 0xf47c1577 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xf48bd0cb kmem_ptr_validate +EXPORT_SYMBOL vmlinux 0xf492af33 sg_miter_start +EXPORT_SYMBOL vmlinux 0xf4b162a3 fb_blank +EXPORT_SYMBOL vmlinux 0xf4dba47b tcp_v4_md5_do_del +EXPORT_SYMBOL vmlinux 0xf4dd3fc6 phy_enable_interrupts +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f52f93 dqstats +EXPORT_SYMBOL vmlinux 0xf51c639f interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xf52321e0 atomic64_sub +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf53f17f3 dst_discard +EXPORT_SYMBOL vmlinux 0xf5490cd5 __break_lease +EXPORT_SYMBOL vmlinux 0xf54d61c2 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xf5a62ecc _memset_io +EXPORT_SYMBOL vmlinux 0xf5b3b32c page_follow_link_light +EXPORT_SYMBOL vmlinux 0xf5c05914 generic_segment_checks +EXPORT_SYMBOL vmlinux 0xf5c9012e timespec_trunc +EXPORT_SYMBOL vmlinux 0xf5ccdffd blk_stack_limits +EXPORT_SYMBOL vmlinux 0xf5e1558d crash_shutdown_unregister +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf6207c8c vm_map_ram +EXPORT_SYMBOL vmlinux 0xf66702f1 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0xf66a637d tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xf68214c9 key_revoke +EXPORT_SYMBOL vmlinux 0xf6acfcb8 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6c579d9 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0xf6da7f13 pci_enable_bridges +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf70384d7 __debugger_sstep +EXPORT_SYMBOL vmlinux 0xf71521ba atomic64_add_return +EXPORT_SYMBOL vmlinux 0xf7231ed7 revert_creds +EXPORT_SYMBOL vmlinux 0xf72d33a8 find_inode_number +EXPORT_SYMBOL vmlinux 0xf74bc4f8 blk_init_tags +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf75c6be7 request_key_async +EXPORT_SYMBOL vmlinux 0xf7623914 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0xf7775de8 deactivate_super +EXPORT_SYMBOL vmlinux 0xf77fbb46 idr_remove_all +EXPORT_SYMBOL vmlinux 0xf7834eee alloc_etherdev_mq +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf7a6baef vfs_set_dqblk +EXPORT_SYMBOL vmlinux 0xf7e66d31 sk_run_filter +EXPORT_SYMBOL vmlinux 0xf7f7b193 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0xf7fa9345 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0xf7fe2be2 default_file_splice_read +EXPORT_SYMBOL vmlinux 0xf80c1f42 input_event +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf811e776 register_netdevice +EXPORT_SYMBOL vmlinux 0xf829b2bd genl_register_ops +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf8333373 unregister_netdev +EXPORT_SYMBOL vmlinux 0xf8371f88 i2c_verify_client +EXPORT_SYMBOL vmlinux 0xf85a1eac vfs_statfs +EXPORT_SYMBOL vmlinux 0xf8677eef kset_unregister +EXPORT_SYMBOL vmlinux 0xf8a9dc6c vfs_link +EXPORT_SYMBOL vmlinux 0xf8e2d465 scsi_prep_return +EXPORT_SYMBOL vmlinux 0xf8fb0f08 vc_resize +EXPORT_SYMBOL vmlinux 0xf9694d59 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xf971eeb9 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xf984c8d3 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0xf9865f8e ether_setup +EXPORT_SYMBOL vmlinux 0xf999dc15 sk_release_kernel +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9b28bac interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0xf9ea9d36 do_mmap_pgoff +EXPORT_SYMBOL vmlinux 0xf9ec28e9 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0xf9f65b70 pci_request_region +EXPORT_SYMBOL vmlinux 0xfa0966c5 kill_block_super +EXPORT_SYMBOL vmlinux 0xfa9dd504 timecompare_transform +EXPORT_SYMBOL vmlinux 0xfaa37c3d of_get_pci_address +EXPORT_SYMBOL vmlinux 0xfab8917e jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0xfad223dd i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0xfadb5750 pmu_unlock +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfafd88d3 napi_get_frags +EXPORT_SYMBOL vmlinux 0xfb020478 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xfb0758c1 kernel_getsockname +EXPORT_SYMBOL vmlinux 0xfb0cf2e9 touch_all_softlockup_watchdogs +EXPORT_SYMBOL vmlinux 0xfb145ce4 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0xfb326a5d down +EXPORT_SYMBOL vmlinux 0xfb58121b __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb780b71 generic_show_options +EXPORT_SYMBOL vmlinux 0xfb8c61ad module_put +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfbf61c1d nlmsg_notify +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc533f85 schedule_work_on +EXPORT_SYMBOL vmlinux 0xfc89349b sock_create_lite +EXPORT_SYMBOL vmlinux 0xfc97ef21 find_or_create_page +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcce9b82 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xfcda63a3 node_states +EXPORT_SYMBOL vmlinux 0xfce1febb inet_sock_destruct +EXPORT_SYMBOL vmlinux 0xfce75d3f netif_napi_del +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd0c5038 adb_unregister +EXPORT_SYMBOL vmlinux 0xfd4c3171 of_find_all_nodes +EXPORT_SYMBOL vmlinux 0xfd717005 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0xfd8b3fce cdev_init +EXPORT_SYMBOL vmlinux 0xfd8dba4c add_wait_queue +EXPORT_SYMBOL vmlinux 0xfda85a7d request_threaded_irq +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfdccc3bb switch_mmu_context +EXPORT_SYMBOL vmlinux 0xfdd495eb new_inode +EXPORT_SYMBOL vmlinux 0xfddd8175 matrox_mystique +EXPORT_SYMBOL vmlinux 0xfded48ed enable_kernel_fp +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfe16775f idr_destroy +EXPORT_SYMBOL vmlinux 0xfe331dbd journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe6eb9c2 mdio_bus_type +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe801711 macio_release_resources +EXPORT_SYMBOL vmlinux 0xfe977525 __secpath_destroy +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfecdffec xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xfedd35fc console_suspend_enabled +EXPORT_SYMBOL vmlinux 0xfee169d7 tty_vhangup +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff1765c7 rtas_call +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff303f79 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xff453a83 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0xff464720 fb_set_suspend +EXPORT_SYMBOL vmlinux 0xff4de198 disk_stack_limits +EXPORT_SYMBOL vmlinux 0xff533ca7 tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff7e6a98 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0xff7efa9e __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xff8c936e serio_rescan +EXPORT_SYMBOL vmlinux 0xff8d1b0e tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0xff8e1f55 check_media_bay +EXPORT_SYMBOL vmlinux 0xff964b25 param_set_int +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xff9f1499 inet_frag_evictor +EXPORT_SYMBOL vmlinux 0xffc9038c security_inode_init_security +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL_GPL crypto/aes_generic 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL crypto/aes_generic 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0xef15d112 crypto_aes_set_key +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x648d500e async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x843df4c1 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xb27b224d async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x561e95c3 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x9aa4e7eb async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x3a82657e async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x80b50c81 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xfa946c99 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x3b770fd6 async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x90ff27a1 async_xor +EXPORT_SYMBOL_GPL crypto/cryptd 0x08da54de cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x5cd512a3 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x60f9cd5a cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x89b9ddb2 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xab2af326 cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xcc6b67c3 cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xe80663c6 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x1a3efe17 twofish_setkey +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x8a0c63d2 __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xf9fabcfd __pata_platform_remove +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0x97e76dcf 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/bluetooth/btmrvl 0x3a056535 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x50134df5 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x5bc8f1b2 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xe53fc6b4 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xecf00adf btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xf08f857d btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0x14fb1e56 agp_remove_bridge +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0x5ed6f417 agp_add_bridge +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x011f2622 tpm_show_caps +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x02c7a5a4 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x036dc81f tpm_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x063674a3 tpm_show_pubek +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x090db556 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x0b6eac21 tpm_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x14237e50 tpm_dev_vendor_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x16d90a8f tpm_show_enabled +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x1b394145 tpm_pm_resume +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x2c6a7d91 tpm_continue_selftest +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x529782bd tpm_remove_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x56f38095 tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x589350c1 tpm_get_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x659d8df1 tpm_show_active +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x78bb6f62 tpm_show_pcrs +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x9527514c tpm_show_owned +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xa65fca86 tpm_write +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xb5d800c8 tpm_dev_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xd5e7188b tpm_gen_interrupt +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xd66aaf33 tpm_register_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xdef4a533 tpm_show_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xed5e4fc5 tpm_pm_suspend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xf2d1f5c7 tpm_store_cancel +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xfeb85626 tpm_open +EXPORT_SYMBOL_GPL drivers/connector/cn 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL drivers/connector/cn 0xcf7a962e cn_add_callback +EXPORT_SYMBOL_GPL drivers/connector/cn 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x00e63d7a edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x075159f2 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x1128741e edac_device_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x287948f7 edac_mc_add_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x2e1427b2 edac_mc_handle_ue_no_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x2f8ece49 edac_mc_free +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x393d5079 edac_device_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x3b5bb6e7 edac_mc_handle_ce_no_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4261bef8 edac_mc_del_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x58481c03 edac_pci_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x7a5604b3 edac_pci_handle_npe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x96243891 edac_mc_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xafd544b8 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb93de211 edac_pci_reset_delay_period +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xbb67dfc6 edac_device_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xbc636ad5 edac_mc_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xbde62564 edac_device_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc262562b edac_pci_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc6e0169e edac_mc_alloc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xd918dbff edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xe991ac70 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xed375b05 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xf1ece1e5 edac_pci_handle_pe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xf90d716c edac_device_del_device +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1a323c3a drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xbf9337de drm_class_device_register +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x078c2b9a hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0bf61f6a hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0d881d68 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x15294e19 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x15410855 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x17129043 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x23379535 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2ef20d5a hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x37759034 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x397a110a hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3d68c239 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x43046d36 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x46a0c0fc hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4a137503 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x554df005 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x83ced666 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x967c0049 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa2c3e2db hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdf9872d7 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe1c44747 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe2510fab hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe6c12872 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe86d19f3 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf99b5fc0 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfcaadfac hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x038f4bbf usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x9f2cb592 usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xbdfb3e40 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x4d038774 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x6c33e494 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x70145ff3 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x7ed5abd0 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x84422d89 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xa23b2873 lis3_dev +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xe6af28c8 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0x2ed3379d hpsb_config_rom_ip1394_remove +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xd72c9a2a hpsb_config_rom_ip1394_add +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xec8d18cf hpsb_disable_irm +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x5da989d7 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x07f17275 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x0a92a63f wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x1849722f wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x3a68ee0f wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x632d1120 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x73fafc20 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x8585c47d wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x8c6d122e wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xaf8711be wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb2390ce4 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xbadc0b21 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xe42d53d5 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x0a943139 wf_get_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x2828339e wf_find_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x49197a66 wf_unregister_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x4fe5ed9f wf_register_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x5d441521 wf_put_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x5fd22824 wf_find_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x75147afa wf_set_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x94765fac wf_critical_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x9cedd4f2 wf_unregister_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xa2f19a49 wf_is_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xa7c5a23a wf_register_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xaf15726f wf_unregister_client +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xbf19b2e6 wf_get_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xca874c31 wf_put_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xdb7e8499 wf_register_client +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xed82a14f wf_clear_overtemp +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x85c47b1d dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xad1db33d dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x31ccd1f2 dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3b9d4cfe dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3bbf5d21 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3f16d7c9 dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3f657039 dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x553cea6b dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5bfa26ee dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x75848546 dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x788ccc99 dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7ad67eb8 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x83f4e09f dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x939dc85b dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x9eb3e8fc dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xb8e6e936 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xb98d6370 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xc67dce2b dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xcf8d9aec dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd0cb451e dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xe0a48211 dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xe63d50c4 dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfade4730 dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/md-mod 0x0dba34f1 sync_page_io +EXPORT_SYMBOL_GPL drivers/md/md-mod 0x936d1c05 md_allow_write +EXPORT_SYMBOL_GPL drivers/md/md-mod 0xa86d191f md_do_sync +EXPORT_SYMBOL_GPL drivers/md/md-mod 0xf6ab7f87 md_new_event +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x05513b71 raid6_call +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x0b8ef590 raid6_2data_recov +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x4a48d81c raid6_datap_recov +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0349c9bd ir_codes_proteus_2309_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0366dcdf ir_codes_videomate_s350_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x110b053a ir_codes_pixelview_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x124cb753 ir_codes_encore_enltv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x183fdfdd ir_codes_gotview7135_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19b4d61c ir_codes_nebula_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19cd2826 ir_codes_behold_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1a9009d6 ir_codes_dm1105_nec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1cb148f5 ir_extract_bits +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1f20b693 ir_input_init +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2456e513 ir_decode_pulsedistance +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2cc459b5 ir_codes_flydvb_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2d0e9a49 ir_codes_em_terratec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2f922f5b ir_input_keydown +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3136d8ff ir_codes_dntv_live_dvbt_pro_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x32b9033b ir_codes_apac_viewcomp_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3909f4ad ir_codes_terratec_cinergy_xs_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3a84be27 ir_codes_avermedia_a16d_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4267d749 ir_codes_budget_ci_old_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x43c89ef4 ir_decode_biphase +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4c1442c1 ir_codes_real_audio_220_32_keys_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x51ba1643 ir_codes_kworld_plus_tv_analog_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x543db4ff ir_codes_avermedia_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5e95da31 ir_codes_tt_1500_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5fbe6515 ir_codes_pinnacle_color_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x61d039d7 ir_codes_behold_columbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6427a3fb ir_codes_pinnacle_grey_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x64b02fed ir_codes_avermedia_dvbt_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6606596a ir_rc5_timer_keyup +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6809de82 ir_codes_pctv_sedna_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6d6511e7 ir_dump_samples +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x703fc738 ir_codes_avertv_303_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x7283f81d ir_codes_purpletv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x72c2992e ir_codes_powercolor_real_angel_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x76d71b8e ir_codes_dntv_live_dvb_t_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x784e176d ir_codes_asus_pc39_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x7b6fb0b2 ir_input_nokey +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x828b3ce5 ir_codes_encore_enltv_fm53_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x8acae3dd ir_codes_pinnacle_pctv_hd_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x92d1d181 ir_codes_flyvideo_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x94651dab ir_codes_ati_tv_wonder_hd_600_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x97c35dab ir_codes_msi_tvanywhere_plus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x9944e2e5 ir_codes_hauppauge_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa69aa6ad ir_codes_pv951_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa95157c5 ir_codes_cinergy_1400_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xac15f6c8 ir_codes_kaiomy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xaff22e87 ir_codes_pixelview_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb01a1998 ir_codes_manli_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb0a8ef38 ir_codes_rc5_tv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb57445f7 ir_codes_eztv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb5adb754 ir_codes_cinergy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbd3ce6f0 ir_codes_avermedia_cardbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbeaccbdc ir_codes_gadmei_rm008z_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xcba36c62 ir_codes_videomate_tv_pvr_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xd30c491f ir_codes_norwood_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdc23fec4 ir_codes_fusionhdtv_mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdd4c0a07 ir_codes_evga_indtube_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe1101f4d ir_codes_avermedia_m135a_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe4140c60 ir_codes_genius_tvgo_a11mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeb9bb08f ir_codes_npgtech_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xebf345b4 ir_codes_encore_enltv2_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeec89db8 ir_codes_empty_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xef29c40d ir_codes_adstech_dvb_t_pci_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf33c155d ir_codes_msi_tvanywhere_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf3d619ec ir_codes_iodata_bctv7e_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf4f7a4d6 ir_rc5_timer_end +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf5e15e65 ir_codes_winfast_table +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x155ff8e5 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x4dce3724 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x5ed9f682 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x63733ba9 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x7ef68416 saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x84eb66a0 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x9ad3c9b5 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcf683cf2 saa7146_devices +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xdcc5a415 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xdd567ac9 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xdf698cab saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe65105cf saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x0d38c03f saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x160d6891 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x211cdc8c saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x6129aa5e saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x758c02a5 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x9c91e143 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xedfbe3c5 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x225d98fa microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0xed9e5adc mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0x13588659 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x3408922e tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x2c6def9a tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xbe8b3473 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0x4189823c tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x65fd93d7 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xe8748f43 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0xa7e6399a tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0xd23c71e9 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0x0f3e0048 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x1ba3905f smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x2dbfba7e smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x34c0536f smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x39a315bc smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x3f3881fb sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45ee7e02 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x67b6820f smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x71524d3a sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7d047c47 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x9356030f smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xb1ddd8f8 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xb9fa2efb smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xc906ac75 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xc9476d5d smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd2785d41 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd351948a sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xe2391009 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf0ef7d6e smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfda878c5 sms_get_board +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfed7c59a sms_board_power +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x2a657c8f cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x32f7d8fa cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x376908af cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x3ef61cb3 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x71b5be40 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x83f7dc08 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x926905d3 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x9db1d8a4 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xb1ddafbb cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xcc621488 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xdd5341f9 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0x48965359 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x08647554 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x34d7d083 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x351e3cec em28xx_isoc_dvb_max_packetsize +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xa17917ab em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xb19f549d em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xcf83e7f4 em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x872b7423 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x9273e4e5 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xa096cf74 saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xc14e343d saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xe4a3ca16 saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x0e4faee3 v4l2_i2c_new_subdev_cfg +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x49c2cc82 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x6e4cfbfd v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xa6e2362f 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 0x8cfca2cb v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa0b50d06 v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa5228b24 v4l2_int_device_try_attach_all +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa7b55c00 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xcf30d721 v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x012a7953 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x15fccadb videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x212545fe videobuf_queue_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x38b1edae videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4ea08728 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x504a98c4 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x557a461a videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x5fac245f videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x601bae97 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x60eb836e videobuf_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6221a391 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x65c1e1e8 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x77a493d0 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8754bc9b videobuf_cgmbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xabadfeeb videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xb70ca905 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xbc9fc643 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc0f98827 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc48d8e8b __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc52df1c9 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc94c8888 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xccdee821 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe7447943 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf19adb09 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xfd386a51 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x18a92c17 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x44b6701d videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x50bc2ff4 videobuf_sg_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x66f9427d videobuf_vmalloc_to_sg +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x81a857e2 videobuf_dma_sync +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x96bfbd16 videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x9b3591be videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa825c75b videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xafefe0f1 videobuf_dma_init_overlay +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xbeff7b13 videobuf_sg_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xda15fa80 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xe5f6a7b5 videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xf6bbf211 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xf6ffa29b videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x2ea732c9 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xc810d3a3 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xf53e5a70 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x13372270 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x4d04ccbc v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x7a1e0fe0 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x7ae620b1 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x86a2ee54 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xe2834da7 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x1dc31ffa i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x2e8c2c74 i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x34578069 i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x67651f45 i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xb7a89e4b i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xcfcb5eb4 i2o_pool_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xe9320735 i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xf6b63571 i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x1edd5195 mc13783_adc_set_ts_status +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x2faa5b17 mc13783_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x3cd6abf2 mc13783_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x6bd2edff mc13783_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x9942d548 mc13783_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xe7de24aa mc13783_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xfd6718a3 mc13783_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x29277847 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x331a6831 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x327bd467 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x5afec406 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x5e75aa90 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x658c989f pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x6d1dafa1 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x7f4a019f pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x9d90841d pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xa653a086 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xdecdb0bd pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xebb78ff3 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xf5707eff pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x0cbff812 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x10667142 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x45112b58 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xb83d1f84 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xc79c8e32 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x41c57551 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x44fa7e55 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x6216bddc sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x629fc14c sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xd7b17b5f sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0x3c562d5d ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x23e5d41c wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x28c7e413 wm831x_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xa4b1e3f9 wm831x_auxadc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xad29af60 wm831x_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xafb008d7 wm831x_enable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xb0e3892b wm831x_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xbd6141ed wm831x_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xd9a763a6 wm831x_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xf6ca5d5a wm831x_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xfe2ac5f7 wm831x_disable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xfe3691e8 wm831x_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xfec8e8ec wm831x_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x226ce4f9 wm8350_mask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x24d62342 wm8350_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x2cfc4cf1 wm8350_device_exit +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x3117513b wm8350_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x3cad6b36 wm8350_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x5030a36a wm8350_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x5985d749 wm8350_gpio_config +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x6b81bfac wm8350_read_auxadc +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x751ca285 wm8350_block_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x9693de20 wm8350_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x9934a13d wm8350_unmask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xb35d9dde wm8350_device_init +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xd06f3bb4 wm8350_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xe071a937 wm8350_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xf2ed2565 wm8350_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xf7b31832 wm8350_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x126b0041 wm8400_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x5cfd633d wm8400_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x60670d68 wm8400_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0xbf9a1798 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x56401e5a cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xac27080f cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xd07e8e8a cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xfe9c1de6 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x2df115d4 eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d14d2f eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x1c12a206 sdio_release_irq +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x2053a173 sdio_readsb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x244993dd sdio_disable_func +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x332ec390 sdio_readl +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x391c7517 sdio_f0_writeb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x43063a68 sdio_unregister_driver +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x47c7e1fe sdio_readw +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x5b19e5f9 sdio_align_size +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x78853fc0 sdio_readb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x895d59e0 sdio_memcpy_toio +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x90b1b289 sdio_f0_readb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xa326ba5e sdio_set_block_size +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xa4758cfc sdio_claim_host +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xb28b1bcf sdio_writel +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xd0f724be sdio_register_driver +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xd168a6b7 sdio_claim_irq +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xe102652d sdio_writew +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xe68c47bb sdio_memcpy_fromio +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xea6406a2 sdio_writesb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xef806b77 sdio_release_host +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xf791e1c5 sdio_enable_func +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xfbd90d53 sdio_writeb +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x383b9c7b sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x67656849 sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x9aca5425 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x9ed9eec2 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xaada40d9 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xec552e83 sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x223c1647 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x5d56feb1 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x744c0512 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xa4630040 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xc28f134a cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xc37744c0 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xc67c4a00 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xf1a71877 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2000 0x81e71c97 DoC2k_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001 0x690a06da DoCMil_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x13becb8c DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0f977d14 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1f2ca7bc mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x23f88444 get_sb_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x480c66d8 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x740fef77 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7a695b13 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb086cb89 add_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb449ed11 mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xbae1311a register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc2154e28 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcd9a565a default_mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd62f6fff parse_mtd_partitions +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd838dedb del_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe68c2dc6 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf60f8b28 mtd_table +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfa4049bc put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x004027d9 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x301e8c55 register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xa530e0d6 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xfdc8e7ba add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x778ec3bb nand_scan_ident +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x78a528ca nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x9ad9e4a1 nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xb9dcd257 nand_scan_tail +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xec714479 nand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x98d1d4f8 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xc1286702 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x0a51cea9 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x11c19a11 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x34f872eb ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x395a42a0 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x46af08e1 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7ec60bcb ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x9a02d9f2 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x9ed2b671 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbc505df4 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xc2f7e80a ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd7506963 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xdf6bbe0b ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe18f37ac ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x156b36ce register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x37feb711 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x4903b8f5 alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x5049ec8a can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x5abe859f free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x878e910c can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x90d981e3 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xc725b328 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xccc39b9c can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xed0823f3 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x7b40fb4e alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x84c9aeb9 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x9f8b43c1 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xc3234e8b unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xdc9bd500 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x002e04b7 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0421ad29 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x04442a99 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0467ef00 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0b9c5cfc mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0c5fa585 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0e0de954 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x1824f4cf __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x1959b6c1 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x1a66b892 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x1c1ccbc9 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x1dadd073 mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x20f91f76 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x2825c53d mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x2b85433d mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x2b89c917 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x31b0f155 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x372c2734 mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x423db81f mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4535cf5b mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x512352ae mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x55de94a1 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x57ff9ae8 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x58a2593e mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x5a43ac71 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x6d6fa10e mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x789d8efe mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x78d58b87 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x83eb364e mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x965027a0 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9c247d8a mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9c8395d1 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9c917155 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9e03adeb mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa711ff65 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb2cab0cc mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xbe86e27c mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc32a4510 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc60ef136 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc8816d8a mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc9f7a303 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe6ecb719 mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe94ab109 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe973b7e9 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xeb288d3b mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xeba97d90 mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xee07f28b mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xef96a2b5 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf40ecd9a mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf8075d4a mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf82b3df1 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xfc8f8c08 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xff9ca4d9 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xb434206e usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xea5f6984 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x1e9b87a4 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x4d2203f3 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x86137d7e rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x88b8a875 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x9b6f46d4 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xed9f7973 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0921fba3 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0e3e2b0c usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1bf52036 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x30dc5976 usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x345cb3ca usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x349da024 usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x42307f93 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x569567c8 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5b4d428a usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6849561b usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7614de4b usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7995fbdd usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7ec37c5a usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x80cc0692 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa1a830d5 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa493600b usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa4b4a5d1 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa9448a99 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xab9ef9af usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbbec6527 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbe6cd3cb usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcb8367e2 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcfdb3e25 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfe8c3df9 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x04baf52a i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x122397fa i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x2f1af6c4 i2400m_set_init_config +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x39f591e7 i2400m_queue_work +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x5ddfd0ba i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x682aebe5 i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x736fa899 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7d537241 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x859c6cd0 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xa1ac63d3 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xab4f573f i2400m_cmd_get_state +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xc5523ca3 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf1485b33 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x99cbbc6f libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x1f72f918 lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x34158596 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x3909b6ac lbs_cmd_802_11_rate_adapt_rateset +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x6b7b3996 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x7dabc58a lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8830b561 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x954303fe lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa611a5b4 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xaf898fb1 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xafb3b461 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xc1c6540d lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xc7df3315 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xc93f3886 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xcbc0b962 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf69dd1f5 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x043fd305 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x168ba679 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x3d68f704 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x3db825ae lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x76e3af42 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x8628ada1 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x9dd29bc4 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xd99b9972 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x662d7daf if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x6d19abdb if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x215c5adb p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x44dad187 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x7435a8e0 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x77b51c1a p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x7e880c75 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x990c7716 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xcc52b7b1 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xe96128e3 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xfc884611 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0898278c rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0da7a50a rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1170ff62 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1864a6b4 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x28fe6eec rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2a09f3cc rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2a30140c rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3482e09f rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3d8d0ce8 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x435f0fe6 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5c891204 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5d67d8ac rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x65929530 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6e5a4f6f rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x710e4c44 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x80122053 rt2x00mac_get_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xab15affc rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xba0ec142 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xbf5196d9 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc6d74f21 rt2x00queue_get_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcf4c21fc rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd0aa7099 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe62223f6 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfdc720ae rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x09f24b66 rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x0b20a8ba rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x3a4cc766 rt2x00pci_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x4335964c rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x75b31b31 rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x8befacc3 rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xaebf6815 rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xdbec2b33 rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xf2fe69c3 rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x14115106 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x2b00ed98 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x32378f83 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x44c823d2 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x4b22eaad rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x56855851 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x5960aeac rt2x00usb_kick_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x61c9915f rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x677916af rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x698a3ad1 rt2x00usb_kill_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x75e4dc57 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x7703343c rt2x00usb_vendor_request_large_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x85dcfd4d rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xd8aa3812 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xf7af8084 rt2x00usb_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xfd003e9e rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x2ca47144 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x895e7660 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x96c61480 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x037dcbcc pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x5d25b19f pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x0968d579 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x0d93d1d1 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x2d07c1eb wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x4f0e4972 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xcd448944 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xe14af64d wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x6c0d83db wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x0669601b scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x18756e7c scsi_register_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x286a8285 scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x593a36c2 scsi_dh_handler_exist +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xa3ef22d6 scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xd5f6cf5c scsi_dh_set_params +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xd6837815 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc0f51260 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0c5ff1c0 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1bb51df0 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x20e2fc99 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x226ef624 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x255b7495 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2ccca7dc iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x36566e66 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x395d7741 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4d6373cf iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x51442ac7 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x547977b5 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5dc3c089 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6eed7cbf iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6f0ef10a iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x739b4741 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7d7fe39f __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7f6d4bd3 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x811cae4c iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x839c6024 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8e0f5727 iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x93086cea iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9312f099 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x93a85402 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa66e9a8f iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xaa282a16 iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xab9c9f31 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb59eb876 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbccf439b iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbea76ac0 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc3a45b41 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcaa5a98a iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcb494fa4 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xccc4622a iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd1ba0241 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd2c374fa iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd3c5d921 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdc3f48bf iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe493957e iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xedbba80c iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfb84bbbb iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfcd9ada9 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfd7b6d93 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2ff4e1c6 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x429c0a7e iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x69dda5ee iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7067078c iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7872e6e4 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x95c0aac8 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x964ed4a3 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb6b01454 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc11e6587 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc3935e33 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xda2eeb2c iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe2e5b0ca iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe4b861a1 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xeea77150 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf311bd5d iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf61e540a iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0e4e96a5 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0ed4acf8 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x14150563 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x19fb2958 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2cdba4e7 sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2f7ac391 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3d086b44 sas_find_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x47c25633 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4a4969c8 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x51ec3088 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7396fa62 sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x73c20d51 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x877e3244 sas_slave_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9f05725a sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa0bfd7bb __sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa776d224 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb4936719 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc134b9fd sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xcd1e991e sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xcf1f5c45 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe12ac1ee sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe1880b6c sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfbffad95 sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x22fb0fa0 srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x3714576f srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x83882e20 srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xc6024234 srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xc96e7da1 srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xd7f4efd0 srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x2289f6ff scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x81dd12e5 scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa221be8f scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa60f340b scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xb5265e32 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xc08d8292 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xceb39748 scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xd603fbd0 scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xfd20f157 scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0f6ab730 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3243cdfb iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3a2183f8 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x616b85a5 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6512c2ab iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x667552d7 iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7b31e9dd iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7c451989 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7f3ca70a iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x81652953 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x93a0644a iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9a400d24 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9ae48eb9 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb5b40931 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbb555f6b iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc6104669 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xca122099 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xccf9593c iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdfff8756 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe2153f2f iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe575b93e iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfb291893 iscsi_lookup_endpoint +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 0x177e4dcf srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x4722cbe6 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x8211729b srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xafa2302b srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xcb5bba60 srp_release_transport +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0x39f7a09d pciserial_init_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0xb9bf0b88 pciserial_suspend_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0xde120b65 pciserial_resume_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0xf88e044b pciserial_remove_ports +EXPORT_SYMBOL_GPL drivers/serial/serial_core 0x68007ed7 uart_console_write +EXPORT_SYMBOL_GPL drivers/serial/serial_core 0xa31a779f uart_set_options +EXPORT_SYMBOL_GPL drivers/serial/serial_core 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x07bbba45 spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x3a51cb6d spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x9db886eb spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xa59bfdd7 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xa83c5491 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xd364eac9 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/uio/uio 0x1947ced2 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x95f48b4e uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xe35e59a7 __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x33b8feee usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x4a046809 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x197c5949 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x23a19f42 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x23b23aa9 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x62915f19 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x692e8c40 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7c5cbe0d usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x9128b08c usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x9c9b3f67 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xd198d6d7 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x02da3879 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0a8cc18b usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2ac18265 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x3357cba5 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x37ed4b70 usb_serial_generic_resubmit_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x3aeb7ae7 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x3e82eaaa usb_serial_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x485feb30 usb_serial_register +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5494f0e2 usb_serial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7ef97542 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7f883a44 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x8ea6c77a usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x998842f7 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd0d4bc23 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd951fa74 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xec2c6a46 usb_serial_deregister +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1fdfb65b usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x258c47fc usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x2771efaf usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3b57e76a usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x4880be9d usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6107c10a usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x679aa156 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6c70b376 usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x7b0034fc usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x7b3e206d usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x803ad475 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x83179c22 usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8872f114 usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8971da72 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8dc17584 usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x900731da usb_usual_ignore_device +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x91cadad0 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x9f50f799 usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb618da6f usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xbf6439f0 fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd74e0bdd usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xdd2d6f02 usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xef1f72f2 usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x09f3c921 wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x3c06c5d4 rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x4aa4f12d __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x8668d134 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x9e698021 wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xb5301305 wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xc7ed52e7 wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x055a0276 wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0c92be96 wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x106310af wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x283c48b8 wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x39465ebc wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x584da71d wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x5cf0b33c wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x66585e43 wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x8ab8b24e wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x9bf07d1d wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xacb21e00 wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb09b6967 __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xd5e42568 wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xdf6e4f08 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xe3898259 wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xef918b8b wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf4f969a9 wusbhc_giveback_urb +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 0x1bf4dd0f i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x6317df67 i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x72d59e5c i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x1885a194 uwb_phy_rate_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x268be260 uwb_pca_base_priority_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x943bec09 uwb_ack_policy_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x96f9997a uwb_rts_cts_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xa768d07f uwb_rts_cts_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xb3aa3381 uwb_phy_rate_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xd001a229 uwb_pca_base_priority_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xefde0736 uwb_ack_policy_store +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x17d9559d umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x2ceaa277 __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x38517d32 umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x6fe29396 umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x7f5fcdee umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x8e386706 umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x96d075d0 umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xba37de26 umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0592cbc6 uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x09c2ae47 uwb_rc_neh_error +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0af39237 uwb_rc_ie_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0b8aad57 uwb_est_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1554633b uwb_notifs_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x17f99eff uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x223c4ce7 uwb_rc_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x30a913cb uwb_pal_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4207f914 uwb_rc_pre_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d57ae3c uwb_rsv_type_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x516d2ce8 uwb_rc_neh_grok +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5e4bc088 __uwb_addr_print +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6384d311 uwb_rc_ie_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6399ca0d uwb_radio_stop +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7065afdb uwb_rc_vcmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x72bdbe4a uwb_rsv_modify +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x739fef90 uwb_rsv_destroy +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7b9bda78 uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7dc307b5 uwb_rsv_create +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7dcfcd23 uwb_ie_next +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7efa446b uwb_rc_dev_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8186c593 uwb_rc_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x85da5f3d uwb_pal_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x95dbe7d1 uwb_rc_cmd_async +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9771bb7c uwb_pal_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xa94aef6e uwb_rc_get_by_grandpa +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xad5fe208 uwb_rsv_accept +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb42c953e uwb_dev_for_each +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb596a5c2 uwb_rsv_establish +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb9da9604 uwb_rsv_terminate +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbb0a5781 uwb_rc_put +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbd60286a uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc49b5752 uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc70b37a9 uwb_rc_cmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd1fbaac8 uwb_rc_post_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd35f7774 uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd89d8dee uwb_rsv_get_usable_mas +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd939bf9d uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xdd8532ac uwb_est_find_size +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe1716f06 uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xea319a4b uwb_notifs_deregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xefb7bde2 __uwb_rc_try_get +EXPORT_SYMBOL_GPL drivers/uwb/whci 0xe7fdb366 whci_wait_for +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x025054ef wlp_dev_model_nr_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x049908dc wlp_prepare_tx_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x05aef2d0 wlp_dev_prim_OUI_sub_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x0a559f56 wlp_dev_prim_OUI_sub_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x0d907820 wlp_dev_prim_subcat_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x0edb1afb wlp_eda_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x398cd19b wlp_dev_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3b6845ba wlp_wss_activate_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x434d7abc wlp_dev_manufacturer_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x496b3d90 wlp_dev_prim_OUI_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x55d0d9c2 wlp_dev_serial_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x57f0e57a wlp_dev_model_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x588b71cd wlp_dev_model_nr_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x5c5c77d2 wlp_dev_prim_OUI_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x60669d38 wlp_dev_model_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x71711983 wlp_eda_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x7887bfbe wlp_neighborhood_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x81c7c636 wlp_wss_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x926eec7a wlp_dev_prim_category_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xa6dba7f4 wlp_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xaa6ea179 wlp_dev_serial_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xb87cf562 wlp_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc2fff352 wlp_dev_prim_subcat_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc46c9a45 wlp_dev_manufacturer_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xcb72fec8 wlp_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xcfb6532a wlp_wss_activate_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd177b846 wlp_dev_prim_category_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xdaf8a71a wlp_uuid_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xe9729251 wlp_dev_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xea2d56c2 wlp_receive_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf2b63180 wlp_uuid_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf35d3b64 wlp_wss_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x2cb1c5af ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x2d7d76a3 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x31e07554 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x4627dde9 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x4e08f252 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x7b0f0bda ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xcdb42fe8 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x5f2fffb3 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x63aab33f fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x531df62a sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x57855e80 sis_free_new +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x533d2410 unregister_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x65ad547d register_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0xb3dba808 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0xf06879d2 register_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0xfaad665c unregister_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x0ac0ab25 vring_interrupt +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x5aef85d1 vring_new_virtqueue +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x5d1c3d94 vring_del_virtqueue +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xc6465289 vring_transport_features +EXPORT_SYMBOL_GPL drivers/w1/wire 0x17e15a48 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x2b6916d6 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x4dfedc1a w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7b7eae13 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x89f6b763 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xd685ae4c w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xdeab8891 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xf12ddb4b w1_reset_bus +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x0864c4a4 dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xa2204d4d dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xdc583c08 dlm_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xe5ceb3d6 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xf1e44796 dlm_posix_get +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0xc7928153 exportfs_decode_fh +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0xecd9c42b exportfs_encode_fh +EXPORT_SYMBOL_GPL fs/fat/fat 0x0f3610fd fat_dir_empty +EXPORT_SYMBOL_GPL fs/fat/fat 0x1768c3a1 fat_detach +EXPORT_SYMBOL_GPL fs/fat/fat 0x3c48028c fat_search_long +EXPORT_SYMBOL_GPL fs/fat/fat 0x3fd32b5a fat_alloc_new_dir +EXPORT_SYMBOL_GPL fs/fat/fat 0x516b26c5 fat_build_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x55ecc0a1 fat_sync_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x64b1f402 fat_setattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x722d2be8 fat_attach +EXPORT_SYMBOL_GPL fs/fat/fat 0x86eae39a fat_remove_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0xb5f9913f fat_free_clusters +EXPORT_SYMBOL_GPL fs/fat/fat 0xbb97c8d7 fat_getattr +EXPORT_SYMBOL_GPL fs/fat/fat 0xc79919b9 fat_scan +EXPORT_SYMBOL_GPL fs/fat/fat 0xd84a77d1 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL fs/fat/fat 0xe7a2ea51 fat_flush_inodes +EXPORT_SYMBOL_GPL fs/fat/fat 0xecd80b35 fat_time_unix2fat +EXPORT_SYMBOL_GPL fs/fat/fat 0xee3edc33 fat_fill_super +EXPORT_SYMBOL_GPL fs/fat/fat 0xf091b059 fat_fs_error +EXPORT_SYMBOL_GPL fs/fat/fat 0xfb052ba6 fat_add_entries +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x1a618932 nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x267956e3 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x4f38836d nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x7486bc80 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa7b91a7b lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xabd7a1a6 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xedc21b1f nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf6933c48 lockd_up +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x86d33dc7 nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xfac52a43 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 0x1d8284fe o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x36418553 o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x50ae05b6 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x687f6251 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x70fcf0aa o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x905f8e9e o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa4badf92 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 0xcbbc7184 o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xcd73f430 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd60f2c6c o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x088c8543 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x180f030d dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x4c13c151 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x89909af4 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 0xf107a1a2 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xf1c25e97 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0562c415 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x06379db6 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0e27f909 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x21db5b88 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4a1f6fe9 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4b7de319 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x81c85a68 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x90da9550 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x91fab465 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x963932a3 ocfs2_stack_glue_set_locking_protocol +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xa7d5c1c0 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd066711e ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xfc48e890 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL lib/lzo/lzo_compress 0x56b63670 lzo1x_1_compress +EXPORT_SYMBOL_GPL lib/lzo/lzo_decompress 0xf30fda27 lzo1x_decompress_safe +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 0x337928cd garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x54d89863 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x5c695b15 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x98a0e4c6 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0xa1b719ca garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0xa9aca24c garp_init_applicant +EXPORT_SYMBOL_GPL net/802/stp 0xe901cbea stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0xf1fff5c9 stp_proto_register +EXPORT_SYMBOL_GPL net/ax25/ax25 0x457fbbbd 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 0xdf9dd440 bt_class +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00fd83fd dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x07b4fe09 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0cd79ae9 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x20921254 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x296607a0 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3369b187 dccp_insert_option_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x34bffb02 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3a3117c9 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3eae421c dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x433441f4 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0x44ee69af dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4ba2a74e dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x56ea266a dccp_state_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5aafedcb dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5afe5bfe dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x61057b65 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x62af2e00 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x634bae69 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0x80b1f2b0 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8b7d8caf dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8c841e09 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8d9c8423 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x91b81e50 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9deb0459 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa8c583f7 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0xae3378c8 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb253a8d7 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbbd986e7 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbda8315f dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbdd3be95 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc2b68e60 dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc9d7165e dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xce47405f dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0xda89f055 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0xeb58a219 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfcf7d394 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x1df05cdd dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x3ceeb31a dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x4f27448f dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x9ff6d022 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xc01bc81b dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xfc3e263b dccp_v4_connect +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x6d40a921 need_ipv4_conntrack +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0xbbe18a24 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 0x07ae60b6 nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x25559925 nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x25e93cb5 nf_nat_proto_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x26069e3d nf_nat_proto_find_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x2ac82d24 nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x36245902 nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x94a08134 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xbbae0995 nf_nat_proto_range_to_nlattr +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xec288b76 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat_proto_gre 0x636b12c8 nf_nat_need_gre +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x76f921ef tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xab0c81d6 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xc0836807 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xc86e03c2 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xeb891834 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x045f37af inet6_csk_xmit +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x07f2306a inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x08a3e5d1 net_ipv6_ctl_path +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x0a835e64 ip6_sk_dst_lookup +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x0c7d1351 ip6_local_out +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x29bc54c1 ipv6_opt_accepted +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x316a8ec0 ip6_dst_lookup +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x31ae0fef inet6_destroy_sock +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x4224090e ip6_dst_blackhole +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x45466255 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x60f1954e fl6_sock_lookup +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xd30bc761 ipv6_find_tlv +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xd952bfcf inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xe2620f6b inet6_csk_search_req +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xe59f855f ipv6_dup_options +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xeff89484 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7c8b5557 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x890e4554 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe6476b4a net_vs_ctl_path +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0283d1ea nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x054a8b6e __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x07867e96 nf_conntrack_hash_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0c46d194 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0d6a257c nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0ef241e7 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x129a333e nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x14ebbcca nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x15285330 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x167f6b20 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x184b1ace nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1855a6b5 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x20ac51bc nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x29c61173 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x313baf57 __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x335bcd6d __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x34dffd9c nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x39c3d2b8 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3abf50a2 __nf_conntrack_helper_find_byname +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3e3f1cd3 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3ed27ae3 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b9065a9 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5882ba33 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x59fb378a nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5d3b1607 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x64866b59 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x69bbd407 nf_conntrack_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6a7bf5a3 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x732b34bd __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7c3a3e21 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7cd4b6de nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7d1605fe nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x813669d2 nf_expect_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x826231d7 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x87ec25ca nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x88261971 nf_ct_insert_dying_list +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 0x91c9e96c nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x960ec64e nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9af3f6c1 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9e760d72 nf_conntrack_untracked +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa170cc34 nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa438a4cc nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaf6c5668 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb30530c3 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbb68c4f2 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbcb981bf print_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbf4a882d __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc078fbb8 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc0db2630 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc4981876 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcc6b2510 nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd06d9abd nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd6518426 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdbef8b57 nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdc614948 nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe7c2aa43 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe848f0a5 nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xecd1724e nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xed219365 nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xef590c72 nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf06b901a nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf6fb31df nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfd80bf2a nf_ct_unlink_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfdbd44f4 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x1eb28833 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x607236d1 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x09949440 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x1ef694b8 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x25043235 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x294fa4df nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x3a45d553 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x78488426 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7ebbf4ab set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd621d110 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xe3bb560b set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xfcbcdc8b set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0xbd56e0ca nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x01fe427b nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x0c10f39b nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x8f4eca1d nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xe3482d36 nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xbf78ac08 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xe337a2b6 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x13479114 nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x1b0de662 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x254f5fd5 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x2c5b408b nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x5f9a7354 nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x74017288 nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x95e6dc18 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa59be049 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xc3cb3c09 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe4e992cd ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe7c40a51 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xec00c3e9 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x0a8f7324 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x0cfe921a nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x6013af7d nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x36542994 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x6aa68479 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xd2c0cd0a nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xda8ef79e nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xeca95329 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xef9b4bbd nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x630dff17 nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x0b3174fd xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x2c4bfec5 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x32ac6f08 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x37f83672 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x433b4609 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x52477f65 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6b87e845 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa1cce8f9 per_cpu__xt_info_locks +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd9754ae9 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xea807c43 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf9e63e54 xt_table_unlock +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x12f62a1b rxrpc_register_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x5b4c2ad6 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 0x0f93600b svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x1745627c gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x2418e795 gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x4c1e151c gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x5f5697c5 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8c365b66 gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8d0dea57 gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8d1a827e svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x937c6d4b svc_gss_principal +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x96407f5b 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 0xd5a926f0 gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xfe6b0dab gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x000d7999 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00cd9be2 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x020bc79a csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x02a63b45 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x033a9662 xprt_register_transport +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 0x073ee599 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0ad1e0e0 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d33b3bd xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d623f37 rpc_exit_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f9fd9c0 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0fb698d5 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x10b2a883 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12e280e3 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1310ee64 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a4fd151 rpc_mkpipe +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1dfcce0e svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1dfd5134 cache_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1eb21483 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1fb74c98 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1fe8ca80 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x212769a9 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x234c8c1d xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29cbcfb0 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29e7906a svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2aa17774 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b92a263 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2de49c9e svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e20b64b rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2f445007 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x313a4a78 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x32872d7f xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x343232b9 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34cef649 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36188e57 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37709e43 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37e2f492 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x389522b1 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x395b9ffc svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3bf015bb svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3c1ed76a rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ccba19d rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e616847 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x41c6fe30 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42f2e2c2 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x43104400 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4422cf44 auth_unix_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x44470c34 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4460a98f sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4821dd6a xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48f7fff5 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afee39c rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b9de6de rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4df5241f xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e9a2d37 xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4fd058de rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x507ce403 rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5134b98f auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5398922e svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b0232a5 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b14ec1a rpc_put_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b9edbda xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bd26000 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c5f97cd xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c7f73cd __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c818c1b cache_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5e542602 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f0c0ddc rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6163c618 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6333eb34 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x675524ec rpc_sockaddr2uaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6901a03c xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6946bc98 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a8cffb9 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6b1b86b0 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c04eb6a rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c5304c5 rpcb_getport_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6df2ca4d sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e3ed02b svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6eea229d svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x706a4891 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x73e29688 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78a70ba2 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79233fab rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e051352 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ee79dba svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8024a670 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x84ddb3ba svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86a64722 svc_sock_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86ed282a rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8812d541 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c51e16c svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c9f7f0b rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8dd12c19 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x91e941b2 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x926caec0 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93204926 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9afc5688 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d5ba1ca rpc_get_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ec4c3f1 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9fb58f70 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa21fb0ef svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5ed09f6 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa7980691 auth_unix_add_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa7dc3df6 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa99588ea put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xad34d7e2 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf295356 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb17298a9 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb1be63f9 xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2ec28b6 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3d4de65 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb5459365 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb6d93909 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb88dc3b0 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb93a546a rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb9ec35a6 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd5c8c74 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf72feaa sunrpc_cache_update +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 0xc13544f1 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc5b0c737 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcbba080b svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc7d5ca3 auth_unix_forget_old +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xccc2372e rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf759850 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd754180d xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd82d8d6e svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd950f6ef auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd958a45f svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc9c2d70 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde0665fb xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde137294 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdea688cf rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdf00fc67 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdf7a87d4 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe024a0bb rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe053b098 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe16a9b29 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1d57601 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4d3df8e xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe690c9d4 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7e23e7e rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +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 0xf3390881 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf3d6a841 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d9cc19 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfbf0940b unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc642210 svc_sock_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfcd0ff11 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe35c9de xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/wimax/wimax 0x1f24e02c wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x309d8c18 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x33f755e3 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x363b1dfd wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x39d0eaaf wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0x73e195be wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x77e394e7 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8af9296a wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x9d979c45 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xbee4b0ea wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0xc14aedd1 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xc649d604 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd5853d8e wimax_state_get +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x22592087 cfg80211_wext_siwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x239b2ccf cfg80211_wext_siwencodeext +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2517b63a cfg80211_wext_giwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2b870477 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3f194db4 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4044697c cfg80211_wext_siwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x529132bd cfg80211_wext_siwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x565f9463 cfg80211_wext_giwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x5cf666d4 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6316cd78 cfg80211_wext_giwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x75d4bf0b cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7ee1fa0f cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fa4c2d0 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x83c39ffb cfg80211_wext_giwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x848d0946 cfg80211_wext_siwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x966cf019 cfg80211_wext_giwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x96c1308c cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x96c942ec cfg80211_wext_giwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x96e29e74 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa044bf80 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa39a05ff cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb59be6e8 cfg80211_wext_siwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xbf8deffa cfg80211_wext_siwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc474c3b5 cfg80211_wext_giwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc693b5d7 cfg80211_wext_siwgenie +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc9c9941c cfg80211_wext_siwmlme +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdae9844b cfg80211_wext_siwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdd9c2f94 cfg80211_wext_siwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdda712f6 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe746b31a cfg80211_wext_giwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xeb6fed43 cfg80211_wext_siwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf65f467b cfg80211_wireless_stats +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x2b6d6505 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x38585954 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xa5c48642 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xa9712d17 ipcomp_output +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x82a1fbe1 ftr_gpio_methods +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x8e4b888f aoa_snd_device_new +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x91adb9f2 aoa_get_card +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x9e5641f7 aoa_fabric_register +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xb12c5c92 aoa_snd_ctl_add +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xb4754406 aoa_codec_register +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xb6593375 aoa_fabric_unlink_codec +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xd42a4ee7 aoa_fabric_unregister +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xdb896590 aoa_codec_unregister +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xfd998100 pmf_gpio_methods +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x1ba1cbff soundbus_remove_one +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x48244ce7 soundbus_dev_put +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x5306f395 soundbus_register_driver +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x6232c0a0 soundbus_dev_get +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x7612a13a soundbus_add_one +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0xf5bc63c9 soundbus_unregister_driver +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x01e4828d snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x03644613 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x059c34c6 snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x07a9c0f5 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0dff9df6 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x11621e38 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x11f6f9ef snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x15901382 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x16187b82 snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x187ce0fc snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1a3e45d2 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1ac71d30 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1d00b417 snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1d526dde snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1eab3d25 snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2949b19a snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2ec975dd snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x30403607 snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x379857aa snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3b5fa01c snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3ee435e6 snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x429619f9 snd_hda_parse_pin_def_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x457e7441 snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x497820f1 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x49b98b28 snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4b5f36f0 snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x50e04280 snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x55df6e2c query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5724827b snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ae76f73 auto_pin_cfg_labels +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5cfb5dfb snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5f0fcb2a snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5f769be2 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x610d88b5 snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x63d20f35 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x65c9e1e2 snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x68256bc4 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x69307009 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6c760bda snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x70f9f44b snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7135ac5a snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x731feaad snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x77134702 snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x78d4663e snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7eb92366 snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f04f5d6 snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x82127f19 snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x870fcc32 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x87c72cf5 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8f16c153 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9943c8c3 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa4c216d6 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaca4cd3b snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad87613e snd_print_pcm_rates +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaec63afe snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaf29091a snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbcb4f59d snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc34a54c6 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc8b5d928 snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc9a8647d snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc9d911d8 snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcce27eb0 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcd8361d0 snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcdadb421 snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd172495c snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd251271b snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd59b611e snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd7ea7f5c snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd91617ad snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdce31e9b snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdd6d4968 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xde4781ab snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe7516e7e snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe767af00 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 0xeda685cd snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf0ea1103 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf11fd646 snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfe1e0495 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfed2c33b snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0x3308071f ad1836_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0xd9a9b603 soc_codec_dev_ad1836 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0xc5a866f1 ad1938_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0xff96fce8 soc_codec_dev_ad1938 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0x87a3d0d0 soc_codec_dev_ad73311 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0xd2c2a8d8 ad73311_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4104 0x9678f183 soc_codec_device_ak4104 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0x395800b8 soc_codec_dev_ak4535 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0x95057ea2 ak4535_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0x61e32f14 soc_codec_dev_ak4642 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0xc3287777 ak4642_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x5757bac6 cs4270_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x9df41c33 soc_codec_device_cs4270 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0xf5473a09 max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0x9db58aea soc_codec_dev_pcm3008 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0xcd8557d6 pcm3008_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-spdif 0x1f8f2820 dit_stub_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x64627f4f ssm2602_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x96008f21 soc_codec_dev_ssm2602 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0x09e44668 tlv320aic23_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0xd1a6a825 soc_codec_dev_tlv320aic23 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0x649b8c31 aic26_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0xdea5f033 aic26_soc_codec_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x021e6009 soc_codec_dev_aic3x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x102595c6 aic3x_set_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x428d938c aic3x_set_headset_detection +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x477ac945 aic3x_get_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xe102470b aic3x_headset_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xee11f502 aic3x_button_pressed +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xf7beec99 aic3x_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0x398d0729 soc_codec_dev_twl4030 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0xaca44174 twl4030_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda134x 0xf835612c soc_codec_dev_uda134x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x1ee434a3 uda1380_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0xc98f5d45 soc_codec_dev_uda1380 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x0c988781 wm_hubs_add_analogue_routes +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 0x8c112fa0 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x07facadf wm8350_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x2135f927 wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x879a5672 soc_codec_dev_wm8350 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x1c86ac20 soc_codec_dev_wm8400 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x5f07ec61 wm8400_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0x500c877b soc_codec_dev_wm8510 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0xff3e73e3 wm8510_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0x48421bd0 wm8523_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0x79676ae1 soc_codec_dev_wm8523 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0x5fddbcf4 soc_codec_dev_wm8580 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0xb489e024 wm8580_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0x309a7ba1 soc_codec_dev_wm8728 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0x60a0ec6e wm8728_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0xe09aaadf soc_codec_dev_wm8731 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0xe1d8b612 wm8731_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x4954508d wm8750_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0xfd0ce72c soc_codec_dev_wm8750 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x96d9370f wm8753_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0xd621b4ef soc_codec_dev_wm8753 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0xa8d294c4 soc_codec_dev_wm8776 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0xc654fa3a wm8776_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0x0ee66d18 wm8900_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0x1b1852f4 soc_codec_dev_wm8900 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x30350137 soc_codec_dev_wm8903 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x88721fb6 wm8903_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0x1c11fa28 soc_codec_dev_wm8940 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0xfaa9490b wm8940_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0x1f952e46 soc_codec_dev_wm8960 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0x6d365822 wm8960_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0x068e1f07 soc_codec_dev_wm8961 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0xa66a8b87 wm8961_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0x001d8033 wm8971_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0x074c7530 soc_codec_dev_wm8971 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0x50d01180 wm8974_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0x7a3b8175 soc_codec_dev_wm8974 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0xd15aa112 wm8988_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0xddd28944 soc_codec_dev_wm8988 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0x14c9697b soc_codec_dev_wm8990 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0x9b7e28cb wm8990_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0x1dea5a65 wm8993_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0x3fe43ab8 soc_codec_dev_wm8993 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0x4c785437 soc_codec_dev_wm9081 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0xfe61ffb2 wm9081_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x05ab6862 snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0b542cae snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0f276f23 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x115bb2fd snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x15a456be snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x24c8d6e3 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2538ceec snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x261d7650 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x27e1e870 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3035454f snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x32605c97 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x32a39266 snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x32d2de1f snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x37eb2071 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3a0da550 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3cd6da32 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3eb992a1 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x41c3e415 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x448fa151 snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4a6300ad snd_soc_dapm_stream_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4a6f8b29 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4d44373d snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x53cbbb6e snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x57429a97 snd_soc_resume_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5b81a09f snd_soc_put_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5d316cb2 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x616f0a66 snd_soc_get_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x62c701b6 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x63e4523e snd_soc_info_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6577bf8e snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6dcc423a snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x70da38cd snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7380f30d snd_soc_new_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x73875137 snd_soc_free_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x76aed5d9 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7cb5c04f snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e610ba8 snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8abe5d14 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e410c5b snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x92d1c88a snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9a202c2f snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9acd92e3 snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9aea6c50 snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9d99ed90 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa297db2a snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa54721ed snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa668bc5a snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaf47eecb snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaf716793 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb766f2ed snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbcbec77e snd_soc_suspend_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc0df98bf snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc17aa39d snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc4839143 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc574a91b snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc830f60c snd_soc_init_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc986bd07 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xca78c580 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xccc908ce snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcdc4b84d snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd1a10187 snd_soc_add_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd5c38640 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd68eaf0d snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xda4e2db7 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe0a7368e snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xee3221d7 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xee9a27e6 dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf413c6f4 snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf86f56c9 snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf876b382 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfdfa331c snd_soc_put_volsw +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x2a52bfbb xv_malloc +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x4aff07d2 xv_create_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x73bc1f25 xv_free +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xa56cc910 xv_destroy_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xaf69699e xv_get_object_size +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xda64226d xv_get_total_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0x000fd75e rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x0037270f pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x0041e343 pmac_low_i2c_unlock +EXPORT_SYMBOL_GPL vmlinux 0x00566d8f inotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x006e3d7e ide_error +EXPORT_SYMBOL_GPL vmlinux 0x008a1447 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x00ae2951 ide_release_dma_engine +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x010a4b44 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x013c12f0 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x014d6192 pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x015f09b1 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x016b9869 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x0181e4a6 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01d835c9 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01f363fb single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x0212dcd1 rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x024077e6 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x0247b3d6 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x02643ea3 put_device +EXPORT_SYMBOL_GPL vmlinux 0x028a0c43 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x028a24fb hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x028c8d19 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x02ccea56 lock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x02cd5782 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x02d6112e ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x02e86e56 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x03060d4e inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x03a9d25b dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x03b019bf crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x04069b1d set_irq_nested_thread +EXPORT_SYMBOL_GPL vmlinux 0x043046ae device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x044a7489 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x04915a4f driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x04a9d202 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x04e95741 ide_cd_expiry +EXPORT_SYMBOL_GPL vmlinux 0x052f7ab3 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x05d0ae8f tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x05f5d352 isa_bridge_pcidev +EXPORT_SYMBOL_GPL vmlinux 0x05fdf243 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0x0619ca8a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x069ad5ff fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x06d13f1f ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x06faa096 bd_release_from_disk +EXPORT_SYMBOL_GPL vmlinux 0x06fff9d1 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x072f0c12 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0x076be98a usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x078b3d38 ide_pio_cycle_time +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07bb8c43 cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0x07eb5fbf spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x07f74407 eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x082ede4b usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x087bf1d8 ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x087f9719 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x08cc5059 __ide_pci_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x08f41756 __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0x090626b6 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x09068272 get_driver +EXPORT_SYMBOL_GPL vmlinux 0x091c824a machine_power_off +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x09597096 devres_add +EXPORT_SYMBOL_GPL vmlinux 0x0987bc30 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x09895a55 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x09a19a19 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x09bdb89d dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x0a51ae5b virq_to_hw +EXPORT_SYMBOL_GPL vmlinux 0x0a70818e pmf_call_one +EXPORT_SYMBOL_GPL vmlinux 0x0adda751 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x0af6e71d usb_string +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b098e22 ide_port_scan +EXPORT_SYMBOL_GPL vmlinux 0x0b277d89 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x0b2db87e led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x0b7a3689 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x0b8b8a1f bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x0bbefa0a usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x0be1ffd1 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x0be782b2 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0c0c41a5 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x0c10b85a sysdev_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c3de750 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x0c9325a0 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x0cb88680 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x0cc2efea destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x0d132bd4 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x0d2773cc blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x0d5b835f get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x0d8556ed skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0daa786d device_add +EXPORT_SYMBOL_GPL vmlinux 0x0e4b5229 pcibios_finish_adding_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x0eafc915 sk_clone +EXPORT_SYMBOL_GPL vmlinux 0x0ec76932 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x0efd900b device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x0f0a7799 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x0f2d5658 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x0f6b1f36 __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x0f7ee96c usb_buffer_unmap_sg +EXPORT_SYMBOL_GPL vmlinux 0x0fa91604 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x0fb4f960 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x0fd05a27 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x0fe1f219 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101c923e __tracepoint_power_start +EXPORT_SYMBOL_GPL vmlinux 0x1027020d ide_dma_setup +EXPORT_SYMBOL_GPL vmlinux 0x104858f2 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x10ec7b44 pmac_i2c_get_dev_addr +EXPORT_SYMBOL_GPL vmlinux 0x1130addb register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x1150ad74 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x115c533a hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x116a1f32 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x11955db8 pmac_backlight_mutex +EXPORT_SYMBOL_GPL vmlinux 0x11e3d5e9 do_sync_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x12073495 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x120e5078 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1214bce3 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1251d30f call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x12d1b9b1 ide_init_pc +EXPORT_SYMBOL_GPL vmlinux 0x1306724a crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x131477ed __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x133adcb1 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x1348db5c pmac_i2c_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x1355be72 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x137d5fac regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x13868451 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13e33054 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x13f7b82e dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x143accf6 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x14485194 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x144ca71b klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x146d77d8 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1471692a blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x149db923 selinux_string_to_sid +EXPORT_SYMBOL_GPL vmlinux 0x14d33a51 ata_port_probe +EXPORT_SYMBOL_GPL vmlinux 0x14e636cc ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x14ffc454 ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x1503b580 ide_pci_init_one +EXPORT_SYMBOL_GPL vmlinux 0x154548df crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0x1556756b usermodehelper_is_disabled +EXPORT_SYMBOL_GPL vmlinux 0x15892417 async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1598dc9d unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x15a68eea regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x15cdd977 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x160ac9c5 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x16746fb9 ide_prep_sense +EXPORT_SYMBOL_GPL vmlinux 0x16f76869 probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x16fb347b __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x1717922b pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x172bea8f rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x172f7ed6 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x1763b4bb sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x17781d19 ata_sff_host_intr +EXPORT_SYMBOL_GPL vmlinux 0x178959bd ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x17be4441 ide_output_data +EXPORT_SYMBOL_GPL vmlinux 0x17df24d6 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x17fb8086 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x180797e8 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x182cbf69 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x18533c47 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x1878f62b edac_err_assert +EXPORT_SYMBOL_GPL vmlinux 0x18d53420 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0x18d8a557 nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0x1908dfba ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x191fb096 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x193e606b usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19b37ef3 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x19b70ac1 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x19e2f4c1 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x19fb62a3 device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0x19fbdd99 ide_dma_sff_read_status +EXPORT_SYMBOL_GPL vmlinux 0x1a0fefd4 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a399f32 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0x1a474901 tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x1a59cd38 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1a9c6f2d pmf_put_function +EXPORT_SYMBOL_GPL vmlinux 0x1aaadf0a platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x1b7f9f8a klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1bad70f3 ide_pci_resume +EXPORT_SYMBOL_GPL vmlinux 0x1bcd2b92 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x1bcdddb8 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x1bdd1eca rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x1bf47e56 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x1c852e7c xfrm_calg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x1c869835 find_module +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1cb095e1 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x1cbb8507 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x1ce4365b crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x1cf5680a __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x1d8f8059 __tracepoint_power_end +EXPORT_SYMBOL_GPL vmlinux 0x1db21d74 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x1dee2629 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x1e0d648d transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x1e1c8309 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x1e37c24e fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x1e46e086 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x1e5b70a0 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e9acdb0 ide_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebab681 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1f11c36e put_driver +EXPORT_SYMBOL_GPL vmlinux 0x1f35b41b platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x1f47c342 usb_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1f6c6bd5 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x1fa3023f cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x1fc9d387 unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1fe75b7e usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x1fefdae5 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x20596565 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x209fd64c uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x20b640a4 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x20b86772 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x2105d3c5 ide_pci_set_master +EXPORT_SYMBOL_GPL vmlinux 0x21195975 debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x21353f51 spi_async +EXPORT_SYMBOL_GPL vmlinux 0x215bcbe0 klist_next +EXPORT_SYMBOL_GPL vmlinux 0x215db6e9 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x2217225e ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x2276552e __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x2282a839 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x22e2c20b atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x23127f21 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x232cd2b6 pmf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x232d2beb crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x23679939 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x23744761 tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23869dc7 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x23892240 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x23a0179f sysdev_create_file +EXPORT_SYMBOL_GPL vmlinux 0x23f073be debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x23fc87d0 ide_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x2406dae3 pci_address_to_pio +EXPORT_SYMBOL_GPL vmlinux 0x240f09e6 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x241739d7 sysdev_class_register +EXPORT_SYMBOL_GPL vmlinux 0x241c916a blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x2455ef86 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x247ecca7 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x2493924a ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x24cda041 ide_vlb_clk +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x269d0d78 relay_open +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26fb86e8 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x2730dcfc relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x2758cf79 ide_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x2787db00 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x27965113 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x27adf232 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x27e28800 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x280d3dc7 pmac_i2c_detach_adapter +EXPORT_SYMBOL_GPL vmlinux 0x288d5f78 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x28b2cc80 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL vmlinux 0x29111d89 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x2919f405 tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x2949a71a usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x297bc634 nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x297c2f40 cpu_add_sysdev_attr +EXPORT_SYMBOL_GPL vmlinux 0x299a3f8e crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x29ae19b9 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x29b23d20 ata_sff_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x29c9215f ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x2a45f313 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2ab67fa1 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x2aca0c38 ata_port_disable +EXPORT_SYMBOL_GPL vmlinux 0x2aef3398 sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0x2b03edc0 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x2b3953e4 tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x2b47ad38 ide_read_altstatus +EXPORT_SYMBOL_GPL vmlinux 0x2b5bb0f3 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x2b607170 ktime_sub_ns +EXPORT_SYMBOL_GPL vmlinux 0x2b9f8e23 nf_net_ipv4_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x2bc62483 ide_port_unregister_devices +EXPORT_SYMBOL_GPL vmlinux 0x2be0570a sysdev_class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x2bfc4d7f tracepoint_get_iter_range +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c226ab2 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x2c2373b5 ide_dma_lost_irq +EXPORT_SYMBOL_GPL vmlinux 0x2c34a173 ide_pci_dma_base +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c91c5ad debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x2ca7e31d of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x2cc34f5a lookup_create +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2ceb91b0 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2d136788 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x2d2a0c0b input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x2d339e63 blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x2d53cb01 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2d5a56e5 crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2da88917 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x2db0511f spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x2db2ba35 of_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x2db95441 device_create +EXPORT_SYMBOL_GPL vmlinux 0x2dbd2db4 pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0x2e47f677 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x2e611142 ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2e731b60 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x2e73e939 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x2ea5be5e spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0x2eabceeb inotify_remove_watch_locked +EXPORT_SYMBOL_GPL vmlinux 0x2eca8706 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x2ee0e86f invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x2ef37f08 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2f2aa116 unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f760b06 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x2fc85e32 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x2fcd9e17 dpm_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x301fcc0d scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0x30234fdb unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x305aaa94 inode_add_to_lists +EXPORT_SYMBOL_GPL vmlinux 0x3075aafc crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x30a4f4ca bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x30a838c2 pmf_do_functions +EXPORT_SYMBOL_GPL vmlinux 0x30ff21e0 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x311ec2d2 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x31232084 pmac_backlight +EXPORT_SYMBOL_GPL vmlinux 0x3129a664 ide_build_dmatable +EXPORT_SYMBOL_GPL vmlinux 0x315d9ec6 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x316392b4 inotify_rm_watch +EXPORT_SYMBOL_GPL vmlinux 0x317b4739 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x31b7728a relay_close +EXPORT_SYMBOL_GPL vmlinux 0x31dc9471 sysdev_register +EXPORT_SYMBOL_GPL vmlinux 0x323ac973 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x32539a88 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x32715112 cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0x328c68ae debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x329f83e2 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x32cd023f setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x32d5e7fc xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x32f17454 ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x32fd721b crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0x333ee557 media_bay_set_ide_infos +EXPORT_SYMBOL_GPL vmlinux 0x338989d1 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x338e7e6b tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x3399e5f8 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x33cd1be2 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x34275124 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x345e99b4 ide_setup_pci_noise +EXPORT_SYMBOL_GPL vmlinux 0x34655379 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x34a92ef1 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x34f08c2b ide_end_rq +EXPORT_SYMBOL_GPL vmlinux 0x34f5befe dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x35116e7b ata_sff_port_start +EXPORT_SYMBOL_GPL vmlinux 0x35664159 __pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x35d8c94a sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x361bd8d9 register_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x3650d9a6 unregister_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0x367ed6a8 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x36cb38ce regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x36e30032 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x371e0220 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x3745db77 ide_dma_end +EXPORT_SYMBOL_GPL vmlinux 0x37ad4176 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x37d8a4fb device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x3831ccbe shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x3845a797 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x3854ebdf simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x388fa59c xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x38ff1786 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x3917e0f9 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x39383d30 ide_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x393e6e9a eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0x39509166 irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x397eebab of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x39819646 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x39e73a70 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x3a3d70e5 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x3a6b5816 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x3ac22052 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x3adb362c eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0x3b6af100 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x3bc33f65 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x3be12ea7 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x3be7af02 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3bf090b5 mmput +EXPORT_SYMBOL_GPL vmlinux 0x3bfaaaa0 irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x3c09604e power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x3c0c0174 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x3c67ad58 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x3c6c45ca __tracepoint_power_frequency +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cddafc1 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x3ce763f3 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x3cfcae4c rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x3cfdfae5 trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d177c42 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x3d23d65f skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d42932d queue_work +EXPORT_SYMBOL_GPL vmlinux 0x3d6997f1 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x3d7187c4 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x3d9969ae ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x3dc87c82 regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x3dd2e641 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x3dd4d3a7 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x3ddf5351 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x3e034166 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3e37e58c fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x3eceeb22 ide_allocate_dma_engine +EXPORT_SYMBOL_GPL vmlinux 0x3ee593c9 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x3f01570a probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x3f238101 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x3f8e3733 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x3f93b769 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x402b10f2 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x4035a7f6 sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x407318df crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x4083713a da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40ca3435 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x410c560e kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x411a7428 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x413ebb2a ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x417524e1 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x419e1330 proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x41b64e2d register_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x41ea2e1e crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x41f3dde4 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x420a2f57 gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0x42494cea ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x425c1c0b ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x425c77b1 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x4271c266 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x4299b345 fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0x42cf2ecf hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x42d83b2e usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x42f8909e pmac_i2c_find_bus +EXPORT_SYMBOL_GPL vmlinux 0x42fab71e da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x43059f8f crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x4314a2a2 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x434abba4 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0x43c21d67 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x43eb81d3 driver_add_kobj +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x44352be1 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x444bf215 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44871b30 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x44a65d5c lock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x44b8960e rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x44ffceda rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45a92798 __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0x45b16f01 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45c2441f xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x45d8b41b dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x45d920d6 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x45dabae2 ide_no_data_taskfile +EXPORT_SYMBOL_GPL vmlinux 0x460e79cf tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0x461d856b ide_host_register +EXPORT_SYMBOL_GPL vmlinux 0x461eeb64 queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x46301aac __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x4655b183 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x46c72860 usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x472cc96a ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x47371632 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x47697e66 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x47cde280 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x47f65290 ata_sff_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x4857b818 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49fece0b ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x4a18950c d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x4a374542 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x4a4b254c net_assign_generic +EXPORT_SYMBOL_GPL vmlinux 0x4a527528 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0x4a553656 pmf_call_function +EXPORT_SYMBOL_GPL vmlinux 0x4a93c241 pmac_i2c_xfer +EXPORT_SYMBOL_GPL vmlinux 0x4aaa761c blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x4aad3ead ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x4ac77488 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x4adb3a92 ide_create_request_sense_cmd +EXPORT_SYMBOL_GPL vmlinux 0x4b46b2fc inet_csk_clone +EXPORT_SYMBOL_GPL vmlinux 0x4bf217fc fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x4c28b701 crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x4c488963 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x4c72c022 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4c848371 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x4cc42acd kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x4ce771ba sysdev_class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x4d1564e8 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x4d412953 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x4d79223e pmac_i2c_close +EXPORT_SYMBOL_GPL vmlinux 0x4d864c17 crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x4d8f4c15 klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4dc811e2 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0x4dc9eb8b eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x4e3201a6 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4e4bba85 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x4e5c4582 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x4e7abd28 sff_dma_ops +EXPORT_SYMBOL_GPL vmlinux 0x4efbd1fd blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0x4f171bb0 ide_pci_check_simplex +EXPORT_SYMBOL_GPL vmlinux 0x4f242b28 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x4f6ab79e ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4f7744c4 page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x4f99f2dc raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x4f9b7a9a ata_pio_queue_task +EXPORT_SYMBOL_GPL vmlinux 0x4f9f9870 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x4fd0809c ide_check_atapi_device +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x50959fbb inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x50abafb1 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0x50c60c77 of_irq_map_one +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50f5e532 call_rcu_sched +EXPORT_SYMBOL_GPL vmlinux 0x50f60c88 bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x510f758c dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x5110b96f ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x51920c2d class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x51af7f83 unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x51cf1682 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x520d3605 ide_get_lba_addr +EXPORT_SYMBOL_GPL vmlinux 0x52232854 queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x522884a3 cpu_add_sysdev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0x52335669 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x525e0b9e regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x52982f41 do_add_mount +EXPORT_SYMBOL_GPL vmlinux 0x52d111ea pm_qos_update_requirement +EXPORT_SYMBOL_GPL vmlinux 0x535dcf89 ata_sff_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x53a22bf8 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x53b38cbd usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x53e314e7 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x53e98f05 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x55006f71 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x551c970f tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x55407b04 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x5542b913 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x55438d2a register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x55b1e7e1 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x563fb5c8 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0x566b8045 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x569e0dc4 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x56b76b9d crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x56ccf173 inet_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x56ff89c9 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x5744be74 rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x57499077 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x57818dab blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0x578ad73b ide_check_ireason +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57d61a86 tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0x57ea15dd bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x581dedd9 pmac_i2c_attach_adapter +EXPORT_SYMBOL_GPL vmlinux 0x5842af90 crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0x586206fc udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x588cdf2a anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5892f832 release_pmc_hardware +EXPORT_SYMBOL_GPL vmlinux 0x58c13924 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x590318b0 irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0x5910ade4 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x593878c1 usb_buffer_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x59595f51 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x59ca3224 inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x5a11b8f6 ide_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x5a27f74b regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x5a48f457 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x5a6073c3 pmac_i2c_get_adapter +EXPORT_SYMBOL_GPL vmlinux 0x5a64ba0d locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5aaa3ed6 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x5ad6ed67 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x5b0d97e2 schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0x5b65456b simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x5b6bccdf use_module +EXPORT_SYMBOL_GPL vmlinux 0x5b8f6c8d shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x5bc56d9e trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x5be6e047 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x5beb3b96 crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c0f1e93 platform_device_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x5c13f8e7 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x5c5f17e2 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x5c734b2c ide_host_add +EXPORT_SYMBOL_GPL vmlinux 0x5cf98179 xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x5d0f6f57 kbd_table +EXPORT_SYMBOL_GPL vmlinux 0x5d3e0bd0 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x5d5b9455 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d76109f sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5e4825a2 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x5e4fdb78 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x5e76ad8f mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x5e778efc cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x5e7f6047 driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x5e849645 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x5eaf5bc2 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x5eaff85f ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x5eb158b6 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x5f70e55d crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x5f794439 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x5f84ef9e __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x5f93cc48 register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x5f9f6a80 ide_write_devctl +EXPORT_SYMBOL_GPL vmlinux 0x5fc6605a dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x5fcdec5d xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x60215d6e ide_unregister_region +EXPORT_SYMBOL_GPL vmlinux 0x6040fd4b read_unlock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0x60651d7d ide_pci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x606b7f69 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0x609e2617 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x609f66e7 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL_GPL vmlinux 0x60b1c148 usb_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x610aaf1b class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x610cde41 shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x61153e6b rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x61547de9 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x61629506 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x61a906cb fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x61c8ea20 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x622b3e2c srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x62572cc5 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x626253ff ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x62634392 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x629a7f6e do_posix_clock_nonanosleep +EXPORT_SYMBOL_GPL vmlinux 0x62c0a6bb crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x62ff29e9 br_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0x630bb23b mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x63131cb6 scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x63e16a93 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x6453f77c pmac_has_backlight_type +EXPORT_SYMBOL_GPL vmlinux 0x64971483 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x649e9592 klist_init +EXPORT_SYMBOL_GPL vmlinux 0x64ba928d mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x6522abcc tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x654a78f7 ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0x654b1455 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x654c49e2 aer_irq +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d6d0f0 gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x65f27188 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x65f73aae sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x66052099 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6666a15f power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6697c02f __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66e16464 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x670f4d7e __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x672eebde sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x673430b5 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67a0d1e4 of_scan_bus +EXPORT_SYMBOL_GPL vmlinux 0x67ca6e5f sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0x67d3c5d4 crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x67d59c6a ide_queue_pc_tail +EXPORT_SYMBOL_GPL vmlinux 0x68072f43 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x686c703f xfrm_count_auth_supported +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x69002de2 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x6901119a trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x692faa3a ide_device_put +EXPORT_SYMBOL_GPL vmlinux 0x69667426 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x69e8fa48 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x69efb668 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x69f77bde ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x69fe0cfe ide_read_status +EXPORT_SYMBOL_GPL vmlinux 0x6a0e3e90 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x6a1fcd58 pmac_i2c_get_controller +EXPORT_SYMBOL_GPL vmlinux 0x6ab9a40f ide_host_free +EXPORT_SYMBOL_GPL vmlinux 0x6b545de0 inotify_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6b755a8f __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x6bc9d85b led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c6271b5 dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6c8eb98f xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x6cbb7d62 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x6d29f2ac ide_dma_unmap_sg +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d3b944b ide_pci_setup_ports +EXPORT_SYMBOL_GPL vmlinux 0x6d50e282 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x6d55864f fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x6d5ccec7 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x6d5fd57f __set_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x6db16be1 pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x6dd6b78f inotify_init_watch +EXPORT_SYMBOL_GPL vmlinux 0x6e7474fc xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x6e94067f scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x6e9d8d18 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x6ec7ec01 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x6fd4735b usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x701d447a register_posix_clock +EXPORT_SYMBOL_GPL vmlinux 0x7033a466 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x70e14151 devres_find +EXPORT_SYMBOL_GPL vmlinux 0x711e48fc pmac_i2c_adapter_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x7123fbf0 dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x7185d3ca pmac_low_i2c_lock +EXPORT_SYMBOL_GPL vmlinux 0x71c8bc95 kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x71d01e7f gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x71fe2b28 __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x72497b81 ide_get_best_pio_mode +EXPORT_SYMBOL_GPL vmlinux 0x7268f3a6 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x726f29c3 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x729a2620 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0x72beb774 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x72f6c69c debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x7334ebc8 scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73aa2ff1 of_irq_map_pci +EXPORT_SYMBOL_GPL vmlinux 0x73fe4f4d fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x74607620 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x746ea513 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x74711bb6 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x74abdafa task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x74b4ef64 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74f45b88 trace_define_common_fields +EXPORT_SYMBOL_GPL vmlinux 0x75089fa7 of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x75285556 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x75485602 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x7550a569 __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x755c92f7 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x75c8d0c0 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x75cd87bb ide_set_media_lock +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x761188fd dpm_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x7626b273 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x762cf021 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x762f64bf ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x765d9a42 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x7677bfe2 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x773ca527 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x77f54f1a i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x78192d25 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x781acb7a __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7833192a scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x7846c880 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0x7896b360 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x78af7c8f init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x78be747b devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x78e4a4ee klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x79270861 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x792b65de regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x7948d109 srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x794a9f28 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x79d2f8a1 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x79dd5ec0 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x7a24270d find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x7a2a3665 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x7a3f8b5c sysdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7a4ba221 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x7a5f1db9 ide_pad_transfer +EXPORT_SYMBOL_GPL vmlinux 0x7a66339e led_classdev_register +EXPORT_SYMBOL_GPL vmlinux 0x7a7e21f9 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0x7aaa4ba9 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x7ab3c122 edac_handlers +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7b1520c7 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x7b1d544d edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x7b3d39f9 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x7bd662c1 class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x7bea0cae disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7c13fb69 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x7c2eb9f7 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x7c595934 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7c5fed12 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x7c8366fd console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x7cbb0637 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x7cc2a6dc crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x7ce6e863 ata_bmdma_mode_filter +EXPORT_SYMBOL_GPL vmlinux 0x7cf311ff tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x7d0bf632 ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0x7d1c125f xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x7d783788 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x7d9ebe1a register_net_sysctl_rotable +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7dd23283 generic_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0x7deb79ab usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x7df2c5ed led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e2d29ec ide_pci_clk +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e7de688 i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x7ead5512 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x7ed553d9 ide_dma_host_set +EXPORT_SYMBOL_GPL vmlinux 0x7f19c836 unlock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x7f3f5410 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x7f41508c ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x7f4f18fa ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x7f7bc6d3 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x7f84949f crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x7f92f76f sysdev_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7faca1f2 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x7facbc42 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x7fbcc7ff i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0x7fbd8def fb_ddc_read +EXPORT_SYMBOL_GPL vmlinux 0x7fdc2e73 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8014b6af input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x8039d043 selinux_secmark_relabel_packet_permission +EXPORT_SYMBOL_GPL vmlinux 0x8047508e bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x807238ea hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80b1b6b9 ide_queue_sense_rq +EXPORT_SYMBOL_GPL vmlinux 0x80c64780 bd_claim_by_disk +EXPORT_SYMBOL_GPL vmlinux 0x80ee55c3 selinux_secmark_refcount_inc +EXPORT_SYMBOL_GPL vmlinux 0x812a1ca8 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x812b695f __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x814d4dc8 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x81958bec k_handler +EXPORT_SYMBOL_GPL vmlinux 0x8222ba7c led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x823f78f5 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x825900b4 pmf_find_function +EXPORT_SYMBOL_GPL vmlinux 0x82635b5c zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x8299a45e __module_address +EXPORT_SYMBOL_GPL vmlinux 0x82a00dfb inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x82ae9b11 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x82bc2e03 scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82d96828 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x83405d59 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x8344a44d devres_get +EXPORT_SYMBOL_GPL vmlinux 0x837ffaaf kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x8383dab8 usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x838c5d19 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x83a8d993 ide_init_sg_cmd +EXPORT_SYMBOL_GPL vmlinux 0x83b6014a ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x8412e3c5 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x842f742b usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x84753473 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x850ad1e6 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x8519ce68 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x851ee5e8 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x85222b3e ide_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x853da304 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x8561cbe9 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x85866450 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x859c3b86 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85c4b74d ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x85f7b02a ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x8633da5b regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x865ddb2f ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86b1667d hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x87108e2d ata_port_start +EXPORT_SYMBOL_GPL vmlinux 0x873d7a89 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x873fbaea edac_atomic_assert_error +EXPORT_SYMBOL_GPL vmlinux 0x874e3968 blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x877e6d10 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x87ac1bc6 klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x87d8708e pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x884ab083 register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x884e321f ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x884f5ef5 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x885142a6 nf_net_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x888f0196 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x88e86ad4 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0x8901d803 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x8a0de322 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x8a16b797 register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x8a2ba003 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x8a8bdf72 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x8addb36f blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x8af83c89 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x8b011ab9 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x8b048f0e put_pid +EXPORT_SYMBOL_GPL vmlinux 0x8b25aaa5 unregister_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0x8b375b6b tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0x8b5a9eec crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8be5ad17 ide_undecoded_slave +EXPORT_SYMBOL_GPL vmlinux 0x8c10802b rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x8c5c3f26 ata_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x8c61793a tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x8c742627 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x8c8883e7 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8ca1d10e xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x8ca3a9d0 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x8caa2e09 pmac_i2c_get_channel +EXPORT_SYMBOL_GPL vmlinux 0x8cb13e7e platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x8d033df4 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x8d2831ad usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x8d547751 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x8d831609 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x8d97d724 ide_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x8dcbc49e crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x8e1cba2d input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x8e401512 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x8e474958 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x8e5fef42 platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x8e87d590 driver_register +EXPORT_SYMBOL_GPL vmlinux 0x8ea00f7f ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x8f025321 debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x8f4ec88f aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f6fd5f4 ide_do_test_unit_ready +EXPORT_SYMBOL_GPL vmlinux 0x8fa35570 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x8fa5dd69 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x8fa74514 sysdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8faf6dce pmac_i2c_setmode +EXPORT_SYMBOL_GPL vmlinux 0x8fc27715 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x8fd187e1 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x8fea56b5 pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90b8c3d8 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x90fe1140 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x912f86df ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x91840556 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0x918488a2 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x91f1bc45 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x91fccb59 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x9211af1c tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x921c66f1 cpu_remove_sysdev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0x9240d54a ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x924c9e55 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x927caba6 rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0x92ccfce0 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d989d5 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x92f012c6 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x92fb217b dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9319c2b6 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x933f51a5 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x938101fb fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x93a2cb47 reserve_pmc_hardware +EXPORT_SYMBOL_GPL vmlinux 0x93c434ee pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93e19137 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x93fe1449 ide_do_start_stop +EXPORT_SYMBOL_GPL vmlinux 0x9405d410 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x9407af63 swiotlb_sync_single_range_for_device +EXPORT_SYMBOL_GPL vmlinux 0x9417eb55 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x94212fbf skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x942b7c2b usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x942cdfe1 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x944aa378 rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x945c837a pmf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94e94a5f device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x94ecdb62 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x94fae565 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x952b7b63 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x95959175 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x961a8cd3 unlock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x96427b41 crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0x96533a1c blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x9692da8c fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x96c4f63b user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96d083d9 ide_set_pio +EXPORT_SYMBOL_GPL vmlinux 0x96f8ccf9 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x970cc97b sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x9746e1cd platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x976058ed sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x9795d6ed bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x97da844e pci_block_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0x97dbf522 pmac_i2c_match_adapter +EXPORT_SYMBOL_GPL vmlinux 0x97ec31a7 blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x982dfe89 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x98638145 disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0x988412e0 device_attach +EXPORT_SYMBOL_GPL vmlinux 0x989136b2 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x98d1dde0 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x98deb6ba module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x9905328f ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x993a565e platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x993d5d3a ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x99acf6fd inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x99aed153 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x99e64aae pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a135ade input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9a1dcc45 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x9a668ac2 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x9a82790d pmf_register_irq_client +EXPORT_SYMBOL_GPL vmlinux 0x9a87edb4 pm_request_idle +EXPORT_SYMBOL_GPL vmlinux 0x9af8cd58 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x9b035b12 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x9b2e0df0 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x9b4ff3df pm_request_resume +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9bf488e8 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x9c30fcfb __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x9c52fcd5 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x9cb8037b xfrm_count_enc_supported +EXPORT_SYMBOL_GPL vmlinux 0x9d14f654 ide_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x9dce6066 sysdev_show_int +EXPORT_SYMBOL_GPL vmlinux 0x9df3995d crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0x9e12e550 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x9e23e343 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x9e35e4c1 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x9e509861 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x9e711ad2 pm_qos_requirement +EXPORT_SYMBOL_GPL vmlinux 0x9e785d72 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x9ea7d40a pskb_put +EXPORT_SYMBOL_GPL vmlinux 0x9ea9ec7e led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x9efac022 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f85ed90 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fea6bad ide_device_get +EXPORT_SYMBOL_GPL vmlinux 0x9ffd549c remove_irq +EXPORT_SYMBOL_GPL vmlinux 0xa0255440 net_ipv4_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0xa08e035b sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xa08e1bf5 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0xa0adcfa1 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0xa0df0c93 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xa0e16ac5 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xa0fe3b89 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0xa150e792 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xa1b0f04f __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0xa1fb8336 device_del +EXPORT_SYMBOL_GPL vmlinux 0xa1fc46e8 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xa200213b rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xa244a31f dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0xa2688deb cpu_remove_sysdev_attr +EXPORT_SYMBOL_GPL vmlinux 0xa29a1214 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xa2acbe8b ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0xa2b66dd5 user_describe +EXPORT_SYMBOL_GPL vmlinux 0xa3574a41 platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xa357d56e ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xa38b7f90 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xa393b84f get_device +EXPORT_SYMBOL_GPL vmlinux 0xa39d9220 unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xa3a2d9af walk_system_ram_range +EXPORT_SYMBOL_GPL vmlinux 0xa3f19780 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xa40a8590 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xa432367c lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0xa43476ab ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa4730b90 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xa4781ede elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa48c834f ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0xa4ca9523 crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0xa51f1888 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa545a9d7 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0xa5bf5c3e pm_qos_add_requirement +EXPORT_SYMBOL_GPL vmlinux 0xa5c36cec inotify_unmount_inodes +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa6141364 regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xa631cffe debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0xa636eb30 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xa65f9329 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xa6dc29f3 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa7080a0f disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa767c5a9 cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xa7a40037 crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0xa7c9d1a3 of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0xa7e2a404 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0xa8399a33 __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0xa86c3b1c xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0xa89297e5 spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa8a89e67 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0xa8edcc4d fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa8f872d5 ide_setting_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xa9048e0a ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xa91d939d of_irq_map_raw +EXPORT_SYMBOL_GPL vmlinux 0xa97592bd do_rw_taskfile +EXPORT_SYMBOL_GPL vmlinux 0xa99915af inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0xa9a809b0 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0xa9be05a0 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaa04ccbd __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0xaa2a72bf __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0xaa5310f9 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xaa733099 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0xaa8c4696 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0xaafe355e fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0xab4861ca regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xab57e311 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xac045cfc ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xac189a3a sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xac494f94 input_class +EXPORT_SYMBOL_GPL vmlinux 0xac628179 ide_dma_start +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xad03a8cd ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0xad8bad7f rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xadbd2d7a sysdev_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xadc21757 ide_cd_get_xferlen +EXPORT_SYMBOL_GPL vmlinux 0xadd8dd42 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0xadec31d5 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae890174 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0xaeb08464 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0xaeb0a438 inet_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaedc962c hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0xaef25ce7 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaf3f6fe0 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xafe0af7d __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xafe2620c crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xafeae739 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xafebadbd filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xb01f6d54 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xb026782a ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0xb0477e90 ide_pci_init_two +EXPORT_SYMBOL_GPL vmlinux 0xb0653733 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb07fb9d0 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0xb0aa812e fips_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb12ed8e0 swiotlb_sync_single_range_for_cpu +EXPORT_SYMBOL_GPL vmlinux 0xb150afad crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0xb18409c5 __create_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb18a541a crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb1b04df8 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xb1cf4188 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0xb1fa4a2e sysdev_store_int +EXPORT_SYMBOL_GPL vmlinux 0xb1ff9112 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0xb225d888 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xb2360919 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0xb260d981 swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0xb28c57aa ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0xb2a6343c unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xb2d30f88 ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0xb2dfab79 blk_abort_queue +EXPORT_SYMBOL_GPL vmlinux 0xb3674f53 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0xb38707a3 device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0xb3a7a9f5 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0xb3c86812 ide_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb3d57a80 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0xb47cf676 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0xb4b1cbe5 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb505f912 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb50e51c8 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb5aba14e generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0xb5c7ce67 bus_register +EXPORT_SYMBOL_GPL vmlinux 0xb5e5aa9d debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0xb61ed030 class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0xb642790a irq_find_host +EXPORT_SYMBOL_GPL vmlinux 0xb643b6b3 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xb65091b3 selinux_secmark_refcount_dec +EXPORT_SYMBOL_GPL vmlinux 0xb66cac03 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6aee0f4 pmf_unregister_irq_client +EXPORT_SYMBOL_GPL vmlinux 0xb6be7f55 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0xb744fa43 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xb752dd36 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xb7646604 spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0xb768988e class_find_device +EXPORT_SYMBOL_GPL vmlinux 0xb7845e4f ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xb795ee1f crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0xb79cbf11 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb7b1cbbc usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0xb7b21058 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb8060313 __class_create +EXPORT_SYMBOL_GPL vmlinux 0xb83a386a devres_remove +EXPORT_SYMBOL_GPL vmlinux 0xb8435070 dm_put +EXPORT_SYMBOL_GPL vmlinux 0xb846274f dm_disk +EXPORT_SYMBOL_GPL vmlinux 0xb8504358 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xb85eee5a hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0xb8759c2c srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xb8a87241 user_read +EXPORT_SYMBOL_GPL vmlinux 0xb8a94743 scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0xb8ebb565 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0xb9562902 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xb964494e spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xb98ee8cc cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0xb9c28085 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0xb9eb3aa9 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xba9897df bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbab7eae6 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xbad09aa6 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbb8864f0 class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xbbb397e1 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbc00f27c generic_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0xbc3265b4 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0xbc9022dc usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xbd940b04 ide_register_region +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbe0e1c51 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0xbe116723 do_posix_clock_nosettime +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe35db6f usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xbe77795e irq_create_mapping +EXPORT_SYMBOL_GPL vmlinux 0xbecb684f crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xbeea7a2b srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbef80cd5 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0xbf1cc04b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xbf847c79 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xbf91ad5d nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0xbf92cdee platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xbfdd9771 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0xbfe7385b usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xc02235f1 rtc_lock +EXPORT_SYMBOL_GPL vmlinux 0xc0bc62d0 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0xc0ce5e38 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0xc0f71d95 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0xc1095dad sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xc1097247 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xc126e890 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xc12f7e0d trace_profile_buf_nmi +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc1bacf65 put_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0xc1f2e21e ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0xc202b546 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc2c88130 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc2ee7d1e pmf_do_irq +EXPORT_SYMBOL_GPL vmlinux 0xc3301f02 rcu_expedited_torture_stats +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc35128a5 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0xc38fc193 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc39e81f2 pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0xc3aa2836 read_lock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0xc3e34590 fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc432d947 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xc4699cf9 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xc46d877e schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xc48a81fc ide_pio_bytes +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4b33aa6 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc517bb13 ide_input_data +EXPORT_SYMBOL_GPL vmlinux 0xc57a82c4 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xc58011d1 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0xc5a79fab unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0xc6059ec8 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xc606cd3c boot_cpuid +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc66b31b3 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0xc673e23e ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xc6aedf30 proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0xc746d857 inotify_inode_queue_event +EXPORT_SYMBOL_GPL vmlinux 0xc767ac72 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xc7a709ac __class_register +EXPORT_SYMBOL_GPL vmlinux 0xc7cbe14e xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0xc801ca54 blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xc82bbceb inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0xc83cf33e usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0xc855ae10 rtnl_kill_links +EXPORT_SYMBOL_GPL vmlinux 0xc8ad59a2 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xc8b8989c sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0xc90234f3 shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0xc9110494 ide_read_bcount_and_ireason +EXPORT_SYMBOL_GPL vmlinux 0xc914091e class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xc94cb61b debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc996d3b0 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xc9eae318 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0xca007f9e ide_init_disk +EXPORT_SYMBOL_GPL vmlinux 0xca32a2aa ide_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xca482f62 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0xca717f9f sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xcaa461c1 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0xcabe836c platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0xcac27b92 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xcafb76f0 inotify_find_update_watch +EXPORT_SYMBOL_GPL vmlinux 0xcb0c2ebf __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xcb51cabe klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xcb94bf4c dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc39e9fb crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xcc576c9a driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xcca4e5b5 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xcd30cdf2 ata_sff_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0xcd912f45 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0xcdb01877 ktime_add_ns +EXPORT_SYMBOL_GPL vmlinux 0xcdbd3dee usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xcdbefc28 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdf80483 ide_read_error +EXPORT_SYMBOL_GPL vmlinux 0xcdfed241 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xce73a0b6 swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0xcf22ebf4 do_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xcf651565 __pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0xcf82d151 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0xcf8af983 trace_profile_buf +EXPORT_SYMBOL_GPL vmlinux 0xcf91ba88 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0xcfb3a2f6 pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0xcfc68341 synchronize_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0xcfcaeab4 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcfd76c18 ata_sff_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xcff3f2da sysdev_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd07bc7b3 blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0cb7f04 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0xd0d2858b user_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd0d3d59a cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xd151676b dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd16a6698 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd173c700 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xd1a2cf78 user_update +EXPORT_SYMBOL_GPL vmlinux 0xd1bdbb2a ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xd2107b9f dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0xd261f035 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xd26f7c30 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd2918b32 pmac_i2c_get_bus_node +EXPORT_SYMBOL_GPL vmlinux 0xd2e3b746 pmac_i2c_get_type +EXPORT_SYMBOL_GPL vmlinux 0xd2fc6564 inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0xd331fc06 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd3d5982a page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0xd43a16e9 register_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0xd4624c68 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0xd517df80 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0xd5401d81 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xd5425d55 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xd56ab831 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0xd5744279 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0xd5f0e885 each_symbol +EXPORT_SYMBOL_GPL vmlinux 0xd63f1f01 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0xd67c195b inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xd6d787c5 check_media_bay_by_base +EXPORT_SYMBOL_GPL vmlinux 0xd71d3681 macvlan_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0xd73ef534 sysdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd7a07d9d transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0xd7bf37e7 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd7c6f6cd register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xd7fe376d da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xd800bfec skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0xd801347a ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xd81975a0 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xd821964e add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd8491a1a anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xd87bc0f6 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0xd8df6e83 device_register +EXPORT_SYMBOL_GPL vmlinux 0xd8e7da0a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd8f27446 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xd93e0a11 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xd949822d crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xd9bcb968 pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0xda086939 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda37f00c sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0xda73a895 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0xda970b68 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0xdadd63b3 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb011a91 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0xdb274e52 monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0xdb34d9ca da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xdb4f834f fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0xdba30e8d ide_host_remove +EXPORT_SYMBOL_GPL vmlinux 0xdbaf5d7c proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0xdbc2eb24 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xdc0fc820 fib_rules_cleanup_ops +EXPORT_SYMBOL_GPL vmlinux 0xdc99f000 filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0xdcec9ed7 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0xdcfc1754 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xdd6be4a9 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xdd8ec993 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0xddc595db task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xddc61ee0 ide_set_dma_mode +EXPORT_SYMBOL_GPL vmlinux 0xddf0cde4 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0xde2d703c xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde808360 ide_capacity_proc_fops +EXPORT_SYMBOL_GPL vmlinux 0xdecda349 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xdee7bdf7 pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xdf27877b register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xdf65c324 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0xdf7d68b8 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xdf968347 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0xdfa925e2 ide_issue_pc +EXPORT_SYMBOL_GPL vmlinux 0xe0158c91 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xe02bbd0c crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xe04be78c inotify_dentry_parent_queue_event +EXPORT_SYMBOL_GPL vmlinux 0xe05b3af4 elv_register +EXPORT_SYMBOL_GPL vmlinux 0xe06c94cc usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xe07ef0e0 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0xe0cca33e xfrm_aead_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xe0e029a4 crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xe0fd6150 pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xe10884fb blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0xe13fc8ff crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0xe18e0102 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xe1ab3946 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xe1f4d491 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xe20cd26b ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0xe23ff37c pci_unblock_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0xe25e49c0 save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0xe388cced __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0xe3b3af70 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0xe42601f9 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0xe4317948 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0xe49e1f6c ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe49ff3b0 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xe4f79dab spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0xe530071c pm_qos_remove_requirement +EXPORT_SYMBOL_GPL vmlinux 0xe5923561 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0xe59a7c5c platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe615ea33 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xe643ec7d ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0xe6465a24 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe68dc55e class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe6ea481c posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0xe761a22f vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0xe764ee67 drop_file_write_access +EXPORT_SYMBOL_GPL vmlinux 0xe7baf450 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0xe7e28453 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0xe802ce13 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xe806b748 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0xe847482c skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xe85ee872 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe8789a12 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0xe89cdf79 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xe8b93a92 sysdev_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xe8bb9457 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0xe901175f __dev_addr_unsync +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe9959c9a ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe9a94483 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xe9de2fa7 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xe9f187c5 hwmon_device_register +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 0xea886996 usb_autopm_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xeab978ff pmac_i2c_open +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeb4c1fc8 __tracepoint_block_remap +EXPORT_SYMBOL_GPL vmlinux 0xebc682da xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0xec1a75a9 __dev_addr_sync +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec2b169f crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0xec7be489 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0xec988d9d skb_icv_walk +EXPORT_SYMBOL_GPL vmlinux 0xecb3adf6 aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0xeccfa885 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0xecea75d0 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xed1d4334 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0xed2e4cf5 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xed3f5b61 ide_dev_select +EXPORT_SYMBOL_GPL vmlinux 0xedaa0b9e spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xedc2994d ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0xede6ba93 scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0xee46491a crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0xee478b68 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xee582d9b power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0xee7610de ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0xeea6c792 ide_exec_command +EXPORT_SYMBOL_GPL vmlinux 0xeec63024 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0xef074293 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0xef126570 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0xef181598 fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0xef491538 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xef4c8c74 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0xef4e963e __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef82fdba srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0xefce7ce4 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xefdd5a63 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xefe21106 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0xf04c52d0 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xf0724890 ide_retry_pc +EXPORT_SYMBOL_GPL vmlinux 0xf0ba35d7 map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xf0cfdb0c device_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf0d616fe pmf_get_function +EXPORT_SYMBOL_GPL vmlinux 0xf105d00d ide_in_drive_list +EXPORT_SYMBOL_GPL vmlinux 0xf140af77 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0xf1463412 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0xf157b5c6 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf19aec5b kill_pid_info_as_uid +EXPORT_SYMBOL_GPL vmlinux 0xf1cb5dbd bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0xf214347c fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0xf21db403 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xf22fdedd ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0xf2415e78 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0xf2905e5c fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0xf29d16a2 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xf2f342da macio_find +EXPORT_SYMBOL_GPL vmlinux 0xf310a973 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0xf3163275 get_cpu_sysdev +EXPORT_SYMBOL_GPL vmlinux 0xf32dc2bb inotify_add_watch +EXPORT_SYMBOL_GPL vmlinux 0xf34806ec hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xf3681fad attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0xf3a2c3ac ide_intr +EXPORT_SYMBOL_GPL vmlinux 0xf3c8cedb register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xf3d2e738 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xf40463ca crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xf422ba65 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xf42c288d __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf43f950c devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf46b28d2 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0xf4875030 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf49a4ae4 ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0xf5384ac1 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5c73066 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0xf62563d6 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0xf6baf792 scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0xf6bcbd73 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xf6c8d6dc blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf7030f72 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xf71d83d6 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0xf752f925 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xf773cb9f ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xf791ab3d driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xf7c795c1 inotify_init +EXPORT_SYMBOL_GPL vmlinux 0xf7d86336 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0xf7e4e4f7 __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0xf7fbc574 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0xf81a4f6c file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0xf84cf6e0 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0xf855de7e ide_dma_sff_timer_expiry +EXPORT_SYMBOL_GPL vmlinux 0xf863e82a flush_work +EXPORT_SYMBOL_GPL vmlinux 0xf873a71c page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xf87d0548 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf89b2967 sysdev_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xf8af8294 regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xfa03f3fa ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xfa134852 inotify_find_watch +EXPORT_SYMBOL_GPL vmlinux 0xfa682b56 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0xfa715017 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0xfb45310d fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xfb7a395a debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0xfbb8a8cf sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xfbc112a9 get_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfbfd36dc inotify_inode_is_dead +EXPORT_SYMBOL_GPL vmlinux 0xfc09a99a usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfc33b79f ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xfc8a2de2 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0xfc8e5ddb user_match +EXPORT_SYMBOL_GPL vmlinux 0xfc9df87f crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xfcae8202 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0xfccb01e3 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xfcdafade inotify_rm_wd +EXPORT_SYMBOL_GPL vmlinux 0xfd38234c scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0xfd386a2a ide_dma_test_irq +EXPORT_SYMBOL_GPL vmlinux 0xfd8a2d88 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0xfdb95f67 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xfdd6f726 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfde96878 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0xfe041f98 tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xfe35ac6e debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xfe52381d uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xfe5fc906 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfecfa4bc transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfee97613 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0xff05e8fd device_move +EXPORT_SYMBOL_GPL vmlinux 0xff3d3bee add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xff62ca76 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xffabb87a ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0xffaf7bbb __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xffafbdd2 crypto_register_ahash +EXPORT_UNUSED_SYMBOL vmlinux 0x00000000 simple_prepare_write --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/powerpc/powerpc-smp +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/powerpc/powerpc-smp @@ -0,0 +1,9539 @@ +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 0xa9ad015d suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0xb3b9cbcc uPD98402_init +EXPORT_SYMBOL drivers/block/loop 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL drivers/block/loop 0xef56fed6 loop_register_transfer +EXPORT_SYMBOL drivers/block/paride/paride 0x0b479ff0 pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x13926b5d pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x286cd56d pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x5f7cd1c7 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x6718207d paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x7185b78d pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x89b0cd8d pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x8da5b4d2 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0xa066b30d pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xa3c72128 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0xbd2936f1 pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0xdf99f4c5 pi_do_claimed +EXPORT_SYMBOL drivers/char/agp/agpgart 0x1643a564 agp_backend_release +EXPORT_SYMBOL drivers/char/agp/agpgart 0x1afd711b agp_free_page_array +EXPORT_SYMBOL drivers/char/agp/agpgart 0x28920315 agp_generic_destroy_pages +EXPORT_SYMBOL drivers/char/agp/agpgart 0x2dc7b9f6 agp_generic_alloc_page +EXPORT_SYMBOL drivers/char/agp/agpgart 0x2e9592d0 agp_alloc_page_array +EXPORT_SYMBOL drivers/char/agp/agpgart 0x2ff4aa72 agp_generic_alloc_pages +EXPORT_SYMBOL drivers/char/agp/agpgart 0x30226ddf agp_device_command +EXPORT_SYMBOL drivers/char/agp/agpgart 0x385423c5 agp_collect_device_status +EXPORT_SYMBOL drivers/char/agp/agpgart 0x3aa1a137 agp_find_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0x3b588be7 agp_backend_acquire +EXPORT_SYMBOL drivers/char/agp/agpgart 0x40c38ffb agp_alloc_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0x4a928f3b agp_unbind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL drivers/char/agp/agpgart 0x4bb0834c agp_put_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0x52ea3fd2 agp3_generic_tlbflush +EXPORT_SYMBOL drivers/char/agp/agpgart 0x567eb54d agp_bind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x612c1e20 agp_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0x673f815e agp_bridges +EXPORT_SYMBOL drivers/char/agp/agpgart 0x6def2841 agp_generic_type_to_mask_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0x6f62863c agp_generic_free_by_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0x7538b132 agp_off +EXPORT_SYMBOL drivers/char/agp/agpgart 0x8016e2bb agp_create_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x9b92e89a agp_generic_destroy_page +EXPORT_SYMBOL drivers/char/agp/agpgart 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL drivers/char/agp/agpgart 0xa8ec45cd agp_generic_alloc_by_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0xaf799326 agp_generic_alloc_user +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb04ea8f0 agp_rebind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb3a76336 agp_allocate_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb4b63629 agp_generic_remove_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb9076aaf agp_flush_chipset +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb9c8ff1f agp_enable +EXPORT_SYMBOL drivers/char/agp/agpgart 0xbb37e088 agp_generic_enable +EXPORT_SYMBOL drivers/char/agp/agpgart 0xbbb8b905 agp_generic_insert_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xbeea5985 agp_generic_create_gatt_table +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL drivers/char/agp/agpgart 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL drivers/char/agp/agpgart 0xd5503208 get_agp_version +EXPORT_SYMBOL drivers/char/agp/agpgart 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL drivers/char/agp/agpgart 0xe3dd73bd agp_free_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xedce233b agp_generic_mask_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xee839684 agp_copy_info +EXPORT_SYMBOL drivers/char/agp/agpgart 0xf06a4bfe agp_generic_free_gatt_table +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 0x0766f7b6 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x15c66c91 ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x231773d7 ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2e67e7c4 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x3b2ce626 ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4181bd3d ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x500e7630 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x6190f63b ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x70453929 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x70c3cc55 ipmi_register_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x8a8ec6a4 ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x9009363f ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x94d79bc9 ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x9a7ef133 ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x9b504d32 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xb2e96920 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xc6b1888d ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xcb509a49 ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xcfce6789 ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xdc8bc17a ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xddc8d7f8 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf23bfe73 ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf2f545a0 ipmi_request_settime +EXPORT_SYMBOL drivers/edac/edac_core 0x371cedcf edac_mc_handle_fbd_ue +EXPORT_SYMBOL drivers/edac/edac_core 0x9b053969 edac_mc_handle_fbd_ce +EXPORT_SYMBOL drivers/edac/edac_core 0xdedad8f7 edac_mc_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0193b899 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01f5f62d drm_agp_bind_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0200e36c drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02affb02 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x06d602e4 drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07dcba04 drm_get_resource_len +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0836695c drm_sman_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0edf97a1 drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10184d77 drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11d26ce8 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11f96dd3 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12ae20df drm_agp_chipset_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14ae9c2a drm_lock_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15bcd997 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x160061c0 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1864cab8 drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1904ddf0 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1907fbad drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1bebb34f drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f072c59 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x207ac085 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21451ac4 drm_sman_owner_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25110b1a drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25a7a07e drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25ac5c35 drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x273d125d drm_lock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x286daa16 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2916bf63 drm_sman_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29692311 drm_sg_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a2fc784 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e4cca0e drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2eb2f903 drm_sman_free_key +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30e06374 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30eae202 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x354fd527 drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35a506ed drm_get_drawable_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37147420 drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x382a1ef0 drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38b8fbb5 drm_get_resource_start +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39b4d63e drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a8edaa4 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c9a1409 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3cf63ddb drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3daabf49 drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ece26b5 drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f0ccffe drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f3acafa drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3fafe6a8 drm_i_have_hw_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4362bd96 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x445b77af drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44cb4e46 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4acd5639 drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b6bf869 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4bcd4026 drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d5d8932 drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4dbe0cfd drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4fd38c63 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50de736d drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55f060ee drm_sman_set_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x580830f0 drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5825d325 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6192ff7e drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x635ea1d6 drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x645206f7 drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64c6bf19 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65fdfc37 drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cb56f06 drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d2e5837 drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d8f3279 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e2bd6ee drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fc30481 drm_mode_hsync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x716310c1 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72d2193f drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x784915eb drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7aadb052 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ad9427f drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b98801b drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7becf9f2 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c1fd6c8 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7cb8c712 drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e8fa7b6 drm_core_get_reg_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0x84b726c4 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x84d1cf75 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85de09f5 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x877bb89e drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87d6e7ef drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x88c3005c drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8aa5d73c drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b97f2f4 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d151e50 drm_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f985944 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94bf1a79 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x98b45474 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x98f5666a drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9aa9ab47 drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ad5e08b drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ca0d538 drm_do_probe_ddc_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d863d1a drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa18ed6ba drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1a97f4d drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa2b65699 drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa579556b drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa58a11ff drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7ed6ace drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9f85d8e drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaad50ea1 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac87aa7c drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xadf0ee89 drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf29788e drm_sman_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb00bb85b drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1d4f9e4 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2592f12 drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3645844 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb714d042 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7f5bb39 drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb899da2b drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbab54df8 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb3d8a84 drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbeeb4083 drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbef0d625 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2c1fc78 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc306ea64 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4302b95 drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc464d681 drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6794f16 drm_core_get_map_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb88ee68 drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc9a0fce drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdc61fa8 drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdd39746 drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdf2eff4 drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf2fe76b drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf778a51 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd039fc9d drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd08fa3f0 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0be15ee drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3028e75 drm_sman_set_manager +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3ffab51 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5862fd5 drm_get_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd83d2582 drm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd3febe2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd49095c drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe04f5234 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe06e4566 drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1457735 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe24a7b88 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe31161d4 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe39f9258 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5bdce7e drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6807050 drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe919dd5c drm_sman_owner_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe9c0048f drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xebc2fab8 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xee58f68b drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf12888a9 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf42a2b26 drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf42e8483 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc186401 drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc190dc0 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfca3ca58 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfcc0b8c2 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdfbad19 drm_sman_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x10e2fec3 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x14c69e89 drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3464e4ce drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x34ff52a5 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x36f5dab6 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3a30b141 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x49dd5dbc drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4bbbdb79 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4e249375 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7cb31ff8 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x80c756c1 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x84f07bc9 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x876f0dd4 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x985bb138 drm_helper_probe_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa4e72d4b drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa75131d2 drm_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb90a5e9d drm_fb_helper_setcolreg +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcaba9f8d drm_fb_helper_add_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcac20e22 drm_helper_hotplug_stage_two +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcb5977ee drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5cecf9f drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd8dc0b4c drm_fb_helper_init_crtc_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdf118c61 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe4ce0b12 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfb27b6db drm_fb_helper_free +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0x1becfa2f radeonfb_remove +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0x1fc0886e radeonfb_resize +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x07787990 ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0e79cdf6 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x132b05be ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1b55047f ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x23ba8329 ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2921f46a ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2b36c329 ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2b7834b0 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2bb6388d ttm_base_object_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2e175208 ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x34704ea7 ttm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x365feb2e ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3c3c3af1 ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4733ea39 ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x482736c1 ttm_ref_object_add +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4998650a ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4af6f5d1 ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4e0aa310 ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x59af5702 ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5ab32054 ttm_object_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5b0b11f0 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5d865cf7 ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5e2449d3 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61bdb34f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x664fef25 ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x66666d70 ttm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8284e39c ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x83fd9a30 ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x86a4066d ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x905f4704 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9371f948 ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9486ec82 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa10af0f7 ttm_object_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa17ac231 ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa6a05331 ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa732a1b7 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa950236c ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb7df20c1 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbdc74f35 ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbe37d6fc ttm_base_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbe66f342 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc3f5982f ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc6baa3c7 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc985ee54 ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc9a7d353 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcb9e9588 ttm_agp_backend_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcda2a6f9 ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd5159eb3 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdae325c8 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xde594d79 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe0e6c696 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xec8341bd ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf4cdcb94 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf52e5f52 ttm_suspend_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf98669b7 ttm_object_file_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfaafede1 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfde12b8c ttm_mem_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfe1f71b4 ttm_base_object_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfe362a63 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xff32b5f6 ttm_bo_wait_unreserved +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 0x9d9e120f i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xc97ebb43 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x056ed9da amd756_smbus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x03e410e5 hpsb_iso_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x14d65572 hpsb_allocate_and_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x166a8639 hpsb_unregister_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x18a73378 hpsb_iso_n_ready +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1a200e5a csr1212_release_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x219cbabe dma_region_offset_to_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x21b20c25 hpsb_lock +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x25ddf9d3 hpsb_iso_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x29a3c26e hpsb_destroy_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2a4cc36b csr1212_attach_keyval_to_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2c21264e hpsb_send_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2f7db775 hpsb_free_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x36d5a564 hpsb_unregister_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x387b3112 hpsb_iso_recv_unlisten_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3a85d369 hpsb_iso_recv_flush +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3c89280e hpsb_update_config_rom_image +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3e37bea9 __hpsb_register_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3e67ce56 hpsb_iso_recv_listen_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3ef66810 hpsb_packet_success +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x493b6856 hpsb_make_streampacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4eb4456a hpsb_iso_wake +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4ec1166f hpsb_alloc_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5452b9e9 hpsb_set_hostinfo_key +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5ed9fb3a hpsb_add_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5f5fdd2f csr1212_new_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6507d45e hpsb_reset_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x65f861da hpsb_selfid_complete +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x672ad148 dma_region_sync_for_device +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x685a4a06 hpsb_resume_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6a2a24af hpsb_iso_stop +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6f63dfc1 hpsb_get_hostinfo_bykey +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x727a4a19 hpsb_selfid_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x75b8e871 hpsb_iso_recv_release_packets +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7634cfa4 hpsb_bus_reset +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x76bc1a5c dma_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7ac57a04 hpsb_create_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7bbf4644 hpsb_unregister_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7d9bd5b5 hpsb_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7f2239b3 hpsb_get_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x84dfed4a hpsb_remove_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x85667cbc hpsb_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8879f8f0 dma_region_sync_for_cpu +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8c235e4d hpsb_alloc_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8ead37b6 hpsb_register_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8ec2b312 dma_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x92fd79e5 hpsb_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x92ffee58 hpsb_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x94bce230 csr1212_get_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x979b3052 dma_prog_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9809dcd0 hpsb_set_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x98553a27 hpsb_iso_xmit_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9b03a847 hpsb_make_lockpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa1e584a1 dma_region_mmap +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa3fcbada hpsb_node_fill_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa924dac6 dma_prog_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaef57bb5 csr1212_detach_keyval_from_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaefbd374 csr1212_parse_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xafe01191 hpsb_make_readpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb3371ab6 hpsb_read_cycle_timer +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb3564ff4 hpsb_iso_xmit_sync +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xbba70620 dma_prog_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xbd58ef8d hpsb_iso_xmit_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc223c588 hpsb_iso_xmit_queue_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xca8cc09f hpsb_iso_recv_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcfd8c757 hpsb_free_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd14f24dc hpsb_node_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd4bdd6fd hpsb_get_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd97cdab8 hpsb_set_packet_complete_task +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd9afa928 hpsb_iso_recv_set_channel_mask +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xda1fac82 hpsb_make_phypacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe5ea56e5 hpsb_iso_shutdown +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe9e6ac70 hpsb_update_config_rom +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xea4152ff dma_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xec086d11 hpsb_make_lock64packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xefdcfd2c hpsb_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf155a989 hpsb_protocol_class +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf64cad32 hpsb_iso_recv_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfab27536 csr1212_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfba57f51 hpsb_speedto_str +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xffa1a84f hpsb_make_writepacket +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x0bd8b762 ohci1394_stop_context +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x1d5aeebc ohci1394_init_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x60a835c8 ohci1394_register_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x6e64e291 ohci1394_unregister_iso_tasklet +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x0ba9a2a3 rdma_copy_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x6e7a5651 rdma_addr_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x741b2cf9 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xa2c021eb rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xb0c7e797 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xee867448 rdma_addr_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x00f97a70 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x061c9ed4 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2f6581a7 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x38f06ae1 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x45eab199 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x4ae6898c ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x65aa5397 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x88b5ebc3 ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9ff8a9eb ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa6dad157 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb233934b ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb560b1e6 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xcfe05a10 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xdb22b801 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xdc519d04 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xdce0f200 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe76884c3 ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0536aea6 ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06358761 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07c4d5b2 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0bc9560d ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0da612fe ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1f14a77e ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x200a0c44 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2210fecd ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x223c2b49 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2bac94ac ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2c5e65d1 ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2e3ee9bb ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x31be3c9c ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x36a07ae7 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3a3b03f3 ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f7567fd ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4b523893 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4dbabe88 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x520b2638 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x53a7eb17 ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5939643b ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x598f18a3 ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5e9323c0 ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x60d7e0ac ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6737b68f ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f045756 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f572acd ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6fedef4e ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x763adced ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7cd05992 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8411dcc7 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8640eaeb ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87b614d8 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8b23b555 ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8b27a493 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8c7b3569 ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x92dd1928 ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x98fdb3d8 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d804fa1 mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9df49627 ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa068b972 ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xac56373f ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae1a3cb5 ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb1a312e1 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb58aac78 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb5dbae00 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb6d20abb ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7eff1af ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb9385010 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbc7b47ab ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbc8d9aa4 ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbd9030e7 ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc6f45fc8 ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc9614ab1 ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xca749953 ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd00b09ba ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd17ba9d1 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd65da825 ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd77591c3 ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd7aef381 ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd85b8c4e ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xde2b7da8 ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe3da54f2 ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7f07097 ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe8dca5af ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9b3ec40 ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xebcf2ecf ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xed7b711a ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xedd94a78 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf36498b9 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf7d91c42 ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf86bc664 ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfad2052a ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfe19bf3e ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x2106dc29 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x2157fd38 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x334df1f8 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x358f546f ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x581249fd ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x60b18a66 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x61e966d4 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x679e9825 ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6daa1908 ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6ef787ed ib_response_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 0x844ee29e ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xa0598e5c ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xe5bef1b7 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x183d9cd5 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x39ed07ff ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x446afadb ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x576fdbac ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x6043324f ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x98d0d1b5 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x99d1c3a2 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xb0ffafc1 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xeb3b6ca3 ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xf6a5def7 ib_sa_register_client +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 0x0857cd31 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x27697fd6 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x4fe987d5 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x7c19ca27 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x7cc3fc55 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x9fdf9a78 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xa2b68d77 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xcf2c2923 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x34c428ba rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4aefe28b rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x57a07d32 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x69f38215 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7374beab rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7675ac3e rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x89bf9986 rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbcee8311 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbd13d337 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbf723910 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc33d604e rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc9d8af8d rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd254eea1 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd6ac4e79 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xde9a410a rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdf898831 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe6252849 rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe81b4419 rdma_accept +EXPORT_SYMBOL drivers/input/gameport/gameport 0x0590b016 gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x20d649ab gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x289bcb94 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x696f68fd gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x93046da6 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0x9a67a61c __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xa7cc86e8 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xddd94523 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0xf6e8d57b __gameport_register_port +EXPORT_SYMBOL drivers/input/input-polldev 0x3a50cc10 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x6c2c930d input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xf4a651f5 input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xf86897ff input_allocate_polled_device +EXPORT_SYMBOL drivers/md/dm-log 0x03817f25 dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0x5245f933 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x7accd1bd dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0xbadb512b dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x195ab75d dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x8720255e dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x9ed04c6d dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0xa8413049 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/md-mod 0x083380f6 md_write_end +EXPORT_SYMBOL drivers/md/md-mod 0x0a2d2cc8 md_wakeup_thread +EXPORT_SYMBOL drivers/md/md-mod 0x0b1140f6 md_integrity_add_rdev +EXPORT_SYMBOL drivers/md/md-mod 0x39c513cc register_md_personality +EXPORT_SYMBOL drivers/md/md-mod 0x3f9890a7 md_set_array_sectors +EXPORT_SYMBOL drivers/md/md-mod 0x427f73a0 md_error +EXPORT_SYMBOL drivers/md/md-mod 0x5c9a73dc bitmap_unplug +EXPORT_SYMBOL drivers/md/md-mod 0x5df0977d md_integrity_register +EXPORT_SYMBOL drivers/md/md-mod 0x5f9f573c md_wait_for_blocked_rdev +EXPORT_SYMBOL drivers/md/md-mod 0x5fd5ed7b unregister_md_personality +EXPORT_SYMBOL drivers/md/md-mod 0x6142fef1 md_register_thread +EXPORT_SYMBOL drivers/md/md-mod 0x8fd79af4 bitmap_end_sync +EXPORT_SYMBOL drivers/md/md-mod 0x99925cd1 md_write_start +EXPORT_SYMBOL drivers/md/md-mod 0x9b9d0df6 md_check_recovery +EXPORT_SYMBOL drivers/md/md-mod 0xa7b3510a mddev_congested +EXPORT_SYMBOL drivers/md/md-mod 0xb0a8427e md_done_sync +EXPORT_SYMBOL drivers/md/md-mod 0xc6c7bc9d bitmap_close_sync +EXPORT_SYMBOL drivers/md/md-mod 0xd440aff7 bitmap_cond_end_sync +EXPORT_SYMBOL drivers/md/md-mod 0xdb4fc598 md_unregister_thread +EXPORT_SYMBOL drivers/md/md-mod 0xe4f0d8f0 bitmap_endwrite +EXPORT_SYMBOL drivers/md/md-mod 0xe71b34ef md_check_no_bitmap +EXPORT_SYMBOL drivers/md/md-mod 0xf3bd329e bitmap_start_sync +EXPORT_SYMBOL drivers/md/md-mod 0xf8f2dd2c bitmap_startwrite +EXPORT_SYMBOL drivers/md/raid6_pq 0x0bd662f6 raid6_gfmul +EXPORT_SYMBOL drivers/md/raid6_pq 0x15fe0cd3 raid6_gfexp +EXPORT_SYMBOL drivers/md/raid6_pq 0x5ba93f9d raid6_gfinv +EXPORT_SYMBOL drivers/md/raid6_pq 0x7456cc61 raid6_empty_zero_page +EXPORT_SYMBOL drivers/md/raid6_pq 0xce45a6f1 raid6_gfexi +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0x9c564659 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0x5ab09c8e mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0x4138f16e mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0xfaaf1e7c mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x5148f4b8 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xb38ef495 qt1010_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 0xdf984f92 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0xf7a5b557 xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x05b75664 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x133c26c2 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x1517410c flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x1a191dd5 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x1acac42c flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x25d556b1 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x374183ec flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x3fc30695 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x476c3102 flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x49b8940d flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x56e6db98 flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x584d0fec flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6354ee67 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x68810e2e flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa01f49ad flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa717219c flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xac252282 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xbac86b15 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xcea37bd1 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xfe7ad3d8 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x0ace2b67 bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x26198ac6 bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x7629b8c3 bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xe1686845 bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x167ce40f dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x1abb29b1 dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x25fb7821 dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x28d1e5e2 write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x4853c2b8 dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x590fc228 read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x629ed43d dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xaf7cc133 rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xc3810ee4 dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0xecdfdb72 dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x075c1376 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c4d4a14 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x12b6aa18 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1b7dd0e1 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1d6df58c dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1f112663 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x251cad54 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x26eb4103 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x2e6e56b7 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x2fe06246 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3089aaa2 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x33954be7 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x37b9c0d9 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x42590d80 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x48087fd8 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4b51b046 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4b632aa3 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4c034243 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4f0ce9fc dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x54a8ba5e dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x56e742fb dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6ef69874 dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6f334f24 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6feab584 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7377a0b3 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 0x97d38e3e dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x97d3ff83 dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x99ec5759 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9ea9766b dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xadaa5e61 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xbc0d91e1 timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc104c7c3 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc12479b7 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd01ca626 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd98f3287 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf826deb0 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x33e9832c dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x4a48aa7b usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x63502ef9 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x71f9af19 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x76abcabe dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xc2591d13 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xcbe6ce81 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x18f12b37 af9005_rc_decode +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x3693500b af9005_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xd3383957 af9005_rc_keys_size +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x35b85f6b dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x35c28787 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x48b6f6ee dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x620d4cff dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x97d5dd82 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xa42814ae dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xb10c6cbd dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xc2e7c17a dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xcc9ccaff dibusb_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xcd06a1ed dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xf2e2af9e dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xf76e4bdc dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x91e6c257 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522 0x64488667 au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0x4378b862 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0xf6ea7fc4 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0x4eb00d0b cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0x045bad0b cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x07f6767d cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x0f3854eb cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x342fd3e6 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x1433b4a7 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xb882a993 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x3a1aad86 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x9ee5687d dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x9efe3f35 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0xac543374 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x0481b9b7 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x1b32ce1b dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x2c91d610 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xa4c5d2fc dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xb4fa8295 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xdd9170a9 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x668dd58d dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xa59f9cb5 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x0d8fb4ca dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x3cae8b15 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x4a6e5f24 dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x77fcf224 dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xa0c2f7a0 dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xdb1b578b dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x0821d432 dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x2d16de1e dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x8a38a89b dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xb84aad8a dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xdb8df1ac dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x1994415a dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x2b221805 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x7ce95187 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xd484af59 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0xd625c234 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0xcb209a0f isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0x4239366c isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0x39af2c6d itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0xd79bb462 l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0xa9416e6a lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x3c9bb06b lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0xdbdafb31 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x52353bb9 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x5b37529b lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0x26f8fa70 mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0x253b2172 mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0x4086f652 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0x4213d07f nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0x50cf5d13 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0x8f4c8b98 or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0x82a95401 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0x8c876ac2 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x3d509511 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x6b1b502e s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x406ca0a0 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0x95dbb867 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x01e79bd5 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0x90433207 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0x273e374f stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0x08b7883d stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0x152c016c stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x7e7c5640 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0xf4c7d08b stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x920272f5 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0x5db716cf tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0x9c1fe919 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x843a5fc8 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0xe55eabc2 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x5ef25689 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0xd92c76f1 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0xe94f232b tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0xb48f2889 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0xd6af00cd ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0x22782d63 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0x42713d0d zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0x91bd6f56 zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0x5ccb32c6 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x0c22973f ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x27e596f5 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x1f591bd1 bttv_sub_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x767f3c01 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xf13eed2f bttv_get_pcidev +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x21285e49 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/btcx-risc 0xceae97f8 btcx_riscmem_free +EXPORT_SYMBOL drivers/media/video/cpia 0x69c1ae95 cpia_register_camera +EXPORT_SYMBOL drivers/media/video/cpia 0xc22b7070 cpia_unregister_camera +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x5347122c cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0xfbd53f8d cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x155650f3 cx2341x_ctrl_get_menu +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 0x5b88faf6 cx2341x_ext_ctrls +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 0xe2c2b5eb cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x6896d591 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0xf6fdd4c9 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x01dadbaa cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x0d122210 cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x3ae3b66e cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x64ef37bd cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x6f0f98ca cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xdb082d49 cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x1bc9d143 cx8802_get_device +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x2d461143 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x6ad53268 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x95c35767 cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x9c29a8a2 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xd2981900 cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xf3f42966 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x0f6ed086 cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x13a1b9dd cx88_shutdown +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x2850bc60 cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x2d58f595 cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x2e655c1d cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x472a2b5c cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x4b89c445 cx88_core_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x5de97b6a cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x67388954 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7626fc30 cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x763e38d9 cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x76955df6 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x79c91045 cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9b140fff cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xac30aa96 cx88_newstation +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb47f6cda cx88_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb4b53b86 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb6e14b44 cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xbd8ada93 cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc6ce4fdc cx88_wakeup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xddfbaaad cx88_reset +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xfbd82d6b cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xfbde7874 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xff9c83db cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x4090bc2c em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0xef4c4930 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x496baf82 gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x4d948b90 gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x618d2f88 gspca_get_i_frame +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x6ef55d04 gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xa8410577 gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xc2a1a5a4 gspca_auto_gain_n_exposure +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xe352bcf2 gspca_suspend +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x024c8c84 ivtv_vapi +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x31238b91 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x31a23388 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x47739ddf ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x8e50890b ivtv_udma_setup +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x8f1d6ac4 ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xa75dd963 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xbbac928b ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xc34d3142 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xd6cfe62b ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xfc96f122 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x001e05e1 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x050b5691 saa7134_dmasound_init +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 0x1e393404 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x24f77109 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x3b1bbdb5 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x4b83c412 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x5557cd5d saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xa7429129 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xc1322959 saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xc66c6ba6 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xe4031b1b saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xe8944326 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/soc_camera 0x3d631edb soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0x468f0e3e soc_camera_apply_sensor_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0x5e06c22c soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0xa7c65c56 soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0xffc4a98c soc_camera_format_by_fourcc +EXPORT_SYMBOL drivers/media/video/tveeprom 0x4db21373 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/tveeprom 0x82f71235 tveeprom_read +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x165cb92e usbvideo_DeinterlaceFrame +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x186140d0 usbvideo_TestPattern +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x5293ede2 RingQueue_Enqueue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x54ded406 RingQueue_Dequeue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x81f04d55 usbvideo_RegisterVideoDevice +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x9778abda RingQueue_Flush +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xa2b93d54 usbvideo_AllocateDevice +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xae48ce25 usbvideo_Deregister +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xdf605c59 RingQueue_WakeUpInterruptible +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xf78825b9 usbvideo_register +EXPORT_SYMBOL drivers/media/video/v4l1-compat 0xb6852c61 v4l_compat_translate_ioctl +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x03165a85 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1dcaa0c8 v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1e326b97 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x2f639468 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x42c8e001 v4l2_ctrl_next +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4ed5e0d7 v4l2_chip_match_host +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x50766d69 v4l2_ctrl_query_menu_valid_items +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x7254b460 v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x76ba9a9a v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x95284709 v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9c7de443 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9eb43ee2 v4l2_ctrl_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xabe03eae v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xbecd2858 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xd9ee1e3f v4l2_ctrl_query_menu +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x181d3968 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x547736a4 videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x6c1ddcae videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x75ea8b93 videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xc89dc8da videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xe3f14a1c videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x1237057f video_register_device_no_warn +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x1dea92c5 video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x3f84da71 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x68f47756 video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0x7e7450b2 video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0x8a99a898 video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0x9d6c065e video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0xc425f8ab video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0xc973b3ab video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x189fa1ad videocodec_attach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x639f1f7c videocodec_register +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xa9fe551f videocodec_unregister +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xb9620a79 videocodec_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0fd0043d mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x112fb7f2 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x175fab6e mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x20177cd0 mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x21c65b76 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x26afad9e mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x29708984 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3441593f mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x38911329 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x398e0160 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3a658f6a mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3aaaf108 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3ab6394a mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x403f24e6 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x42d8628c mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4f75ce17 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5b3f32ae mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x645b4c79 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x72375f2f mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x823163a9 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc0e69f82 mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc47c22e8 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc611a725 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc908fc31 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd23e84f8 mpt_clear_taskmgmt_in_progress_flag +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 0xe2f80d77 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe3a8d993 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe8708276 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xee0ecd5c mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf87ce9a7 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x020ef50b mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x04b7e667 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x201d90e7 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2b7f2150 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x305f099d mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x38154931 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3af3e10e mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x58f2bb67 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5d3a481b mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7878cfcb mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x824f23b3 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8265e2dd mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x86d5e882 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x86fc25e8 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa80186db mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb6ff0b2b mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc5d06980 mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd2be1620 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdc49b88c mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdcda88b6 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe6256701 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe768a7d7 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe84a6b40 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf4247d38 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf7be8792 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf9e4a509 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x00706884 i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x27eadac2 i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x31f5a6b0 i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x349a38bf i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x48958af6 i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x5d407b7c i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x6d40cdba i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x8d5bfc3e i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x8e6331db i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x901bff66 i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x9ee160be i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb46c1004 i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb864fe13 i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd639f02b i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xdace497e i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xe46a2ef8 i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf067bbc6 i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf619e15f i2o_iop_find_device +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x09465512 ab3100_get_register_page_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x1fba6acd ab3100_event_register +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x2650ffe9 ab3100_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x56ea6a65 ab3100_event_registers_startup_state_get +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xa15d2292 ab3100_event_unregister +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xa2401ce4 ab3100_get_chip_type +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xfba243b5 ab3100_mask_and_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xfdd28be1 ab3100_get_register_interruptible +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x1ea998e3 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xfdbc302b pasic3_read_register +EXPORT_SYMBOL drivers/mfd/mfd-core 0xd9cb82d1 mfd_add_devices +EXPORT_SYMBOL drivers/mfd/mfd-core 0xe328e0ee mfd_remove_devices +EXPORT_SYMBOL drivers/misc/c2port/core 0x0af34cd5 c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0x8af82c87 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/ioc4 0x3f99c2e2 ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0xe84a2ac7 ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x10f4da93 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x17d421ca tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x17d9532f tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x2829ace3 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x2fa5530f tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x566938f3 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x5ac4c590 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x7a4bc6a7 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x89a59620 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xb36e5448 tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xbdbda04e tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xc768f94f tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xdccc0d8b tifm_unmap_sg +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0x7adc77d1 mmc_cleanup_queue +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x234ffb93 mmc_host_lazy_disable +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x4020f529 mmc_power_save_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x463cec05 mmc_detect_change +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x48260588 mmc_request_done +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x4a5dd4e5 mmc_suspend_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x4cb151b7 mmc_host_enable +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x51753449 mmc_resume_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x56df5a59 mmc_regulator_set_ocr +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x58c9bfd9 mmc_host_disable +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x597f5c0c mmc_free_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x63ce08f2 __mmc_claim_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x6f4f4719 mmc_alloc_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x7232d15e mmc_wait_for_req +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x77022258 mmc_try_claim_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x7bdbc4e2 mmc_card_can_sleep +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x890642be mmc_remove_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x9ab0d387 mmc_card_sleep +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xae465f6a mmc_set_data_timeout +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xaf515ee8 mmc_align_data_size +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xb75e237d mmc_wait_for_app_cmd +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xc9242fb7 mmc_card_awake +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xd180b173 mmc_release_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xdd7d6716 mmc_add_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xedf19aa7 mmc_wait_for_cmd +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xef149755 mmc_register_driver +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xf6530777 mmc_power_restore_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xfe499523 mmc_unregister_driver +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x0b635a29 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x22a55beb cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xb1184ec5 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x148bbf6e unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x1aea685a map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x5185d3c5 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xfd835a71 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0xd832738a mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x3f6365dc lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0xb511ffba simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x6000125b add_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtd 0xf18e78cb del_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtdconcat 0x35008ba2 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtdconcat 0xecfb5a42 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/nand 0x2ca727fe nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0xc6e9a70d nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x5f233d11 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xb4b94377 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xb61c08c5 nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0x836bdb72 nand_flash_ids +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0xa336feb7 nand_manuf_ids +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x5f726202 flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x8b340175 onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xa21f724f onenand_scan_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xaf9a12c5 onenand_default_bbt +EXPORT_SYMBOL drivers/net/8390 0x1a636a3d __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/8390 0x432f4b97 ei_netdev_ops +EXPORT_SYMBOL drivers/net/8390 0x43ac690c ei_get_stats +EXPORT_SYMBOL drivers/net/8390 0x4504282f NS8390_init +EXPORT_SYMBOL drivers/net/8390 0x5ac28f21 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/8390 0x859801bd ei_start_xmit +EXPORT_SYMBOL drivers/net/8390 0xcc0958c3 ei_close +EXPORT_SYMBOL drivers/net/8390 0xd86ff02f ei_open +EXPORT_SYMBOL drivers/net/8390 0xdd365790 ei_interrupt +EXPORT_SYMBOL drivers/net/8390 0xe59f1106 ei_tx_timeout +EXPORT_SYMBOL drivers/net/8390 0xf7befb25 ei_poll +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x23f86078 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x2b7f34c4 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x402999ac arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6183c5e3 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6b861e56 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6debab7b alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x920ef44f arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x9e7f55ec arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb09a8431 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xbbcb581d arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xfbec970a arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xa447045c com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xb42a05c3 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xd84f5959 com20020_check +EXPORT_SYMBOL drivers/net/bnx2 0x2c3922b9 bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/cnic 0x40b457b4 cnic_register_driver +EXPORT_SYMBOL drivers/net/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x154701d9 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x1692f325 t3_l2e_free +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x544ac22f cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x562544cb cxgb3_register_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x6f55b4ab t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x859a6efa cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x8a1164bd cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x98b2a133 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x9ff32df5 cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xa2d96fc4 dev2t3cdev +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xc6987955 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xcb5f0f2a t3_l2t_get +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xcccfc489 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xdc941ec9 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xdf406f49 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xe86fba2b cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x524e1681 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x66030fd5 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x7931d5a2 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x7bb1593d hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xc2e40cc2 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x04d7c9a8 sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x304cf44e sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x4d6f1e11 sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xa291ab81 irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xa8607b26 sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xb764c9c1 sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xc1740683 irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xc95e20d2 sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xe94b60fc sirdev_write_complete +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xf3f03568 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/mii 0x37baa49c mii_ethtool_gset +EXPORT_SYMBOL drivers/net/mii 0x526629d7 mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0x553f43dd mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0x5fb60912 mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0x63232c2c mii_check_media +EXPORT_SYMBOL drivers/net/mii 0x96eabffa mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0xb03faa69 mii_check_link +EXPORT_SYMBOL drivers/net/mii 0xe00fdb03 generic_mii_ioctl +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xc5f6088e free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xd674fafd alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp_generic 0x0763dceb ppp_input +EXPORT_SYMBOL drivers/net/ppp_generic 0x0df8d31b ppp_register_compressor +EXPORT_SYMBOL drivers/net/ppp_generic 0x4891d4cf ppp_register_channel +EXPORT_SYMBOL drivers/net/ppp_generic 0x5d512369 ppp_register_net_channel +EXPORT_SYMBOL drivers/net/ppp_generic 0x6943fede ppp_channel_index +EXPORT_SYMBOL drivers/net/ppp_generic 0x6f0ccab0 ppp_output_wakeup +EXPORT_SYMBOL drivers/net/ppp_generic 0x9c507edf ppp_unregister_channel +EXPORT_SYMBOL drivers/net/ppp_generic 0xcded85c5 ppp_input_error +EXPORT_SYMBOL drivers/net/ppp_generic 0xe54b8366 ppp_unit_number +EXPORT_SYMBOL drivers/net/ppp_generic 0xf0eab9c5 ppp_unregister_compressor +EXPORT_SYMBOL drivers/net/pppox 0x54435ed3 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/pppox 0x6307f4bc register_pppox_proto +EXPORT_SYMBOL drivers/net/pppox 0x668e57b8 pppox_ioctl +EXPORT_SYMBOL drivers/net/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/slhc 0x2278e94b slhc_remember +EXPORT_SYMBOL drivers/net/slhc 0x26b760c4 slhc_init +EXPORT_SYMBOL drivers/net/slhc 0x3fe0d1c0 slhc_free +EXPORT_SYMBOL drivers/net/slhc 0x62538167 slhc_toss +EXPORT_SYMBOL drivers/net/slhc 0x7e87227e slhc_compress +EXPORT_SYMBOL drivers/net/slhc 0xa78d9eb7 slhc_uncompress +EXPORT_SYMBOL drivers/net/sungem_phy 0x2214aa58 mii_phy_probe +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x22b7075e tms380tr_close +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x3287d870 tmsdev_init +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x3c8fcdce tmsdev_term +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x668d8cbe tms380tr_netdev_ops +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x6851412d tms380tr_open +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd2328794 tms380tr_wait +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd49af46e tms380tr_interrupt +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 0x24743f06 hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0x26284749 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x3a898036 detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x475bfd4a hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x5ff70b7d hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x62469b1d hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7c0b55d1 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0xb77455b9 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xbb30a403 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xcbee5e67 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0xddb5fd4a register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wireless/airo 0x154ab02d reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x2e010e12 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xa271f7e6 init_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x31219afb ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x41b6572e ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x6e646ed9 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa8879946 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbe25b39d ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/atmel 0x1ca0be64 atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel 0xccd2d408 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xde4760c0 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x00119b36 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0879415a hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0ba1f62b hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x13395c69 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x13e14741 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x147f2ba4 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x19580ac5 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2381558f hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2c197bfd hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4596d6a2 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x51d1f112 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x5a2201d8 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x5db00038 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x74e67719 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7f55a924 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x81f014c2 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x8b3d4ab0 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa23ed600 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa773cd46 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 0xbf85a03f hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xc3e8baee hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xcbc87630 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xcdd3d087 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe7485f49 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe784f8c1 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfe38624b hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x087cf18c libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x1fbe9026 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x3a419b88 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x3d1bd551 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x56c655fa libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x56c9b677 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x5cb6d09e libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x65005f37 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x748953e9 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x7a8c5868 free_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x8ebd8ca7 alloc_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x9145aa5b libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xa6ee76be libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb2e0a31e libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb30ab164 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb32c671c libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xcc59fe39 libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd190ddc7 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xeb645754 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xf190f707 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xfc3b906a libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x00582186 iwl_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x015f4268 iwl_rx_pm_debug_statistics_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0515342a iwl_eeprom_get_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0721796f iwl_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x07443106 iwl_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0a35183d iwl_rx_replenish +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0b20c515 iwl_rx_reply_compressed_ba +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0bc6f92a iwl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0e60f51b iwl_rf_kill_ct_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x11ee3627 iwl_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x162bb473 iwl_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1720278d iwl_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x19f0e900 iwl_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1ca92cc9 iwl_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d77b399 iwl_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1fe8eadc iwl_tt_enter_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2050b689 iwl_get_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x24b43519 iwlcore_eeprom_acquire_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x25101c17 iwl_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2772aa9a iwl_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x279f091b iwl_alloc_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2ab5d3f1 iwl_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2b25089e iwl_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2c36de26 iwl_set_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2eaf069b iwl_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2eb12bfa iwl_txq_ctx_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x31eef2e1 iwl_tt_exit +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x34639cdd iwl_txq_check_empty +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x36f825b4 iwl_verify_ucode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x386cf7b2 iwl_ht_enabled +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3986f717 iwl_set_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3ac00f50 iwl_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3c0eb85e iwl_reset_run_time_calib +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3c96c2a6 iwl_set_hw_params +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x427adf96 iwl_remove_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x43699fc8 iwl_get_free_ucode_key_index +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x44d6bdfb iwl_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x463ef1b1 iwl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4655acef iwl_hw_nic_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4a182912 iwlcore_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4a188011 iwl_send_calib_results +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4a3fc160 iwl_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4d1d5437 iwl_uninit_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4f08d125 iwl_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x527e8073 iwl_sta_rx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x528d4f95 iwl_tx_queue_reclaim +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5390ee7d iwl_rx_statistics +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x57cbf908 iwl_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5c648a7a iwl_init_sensitivity +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5e1a2a12 iwl_disable_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5e2160fc iwl_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x606e58c0 iwl_tx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x61581821 iwl_tx_ant_restriction +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x62727d56 iwl_calib_set +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6367a7c9 iwl_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x65bc7bd0 iwl_sta_tx_modify_enable_tid +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x66674d49 iwl_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6713e58c iwl_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6a64363f iwl_free_tfds_in_queue +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6a656c22 iwlcore_eeprom_verify_signature +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6c6fe6f1 iwl_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6f00dd03 iwl_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x73c1e6c5 iwl_set_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x76e5a49b iwl_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x78976e61 iwl_isr_legacy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x78b8ff79 iwl_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x78d1ada2 iwl_rx_queue_restock +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x798568e2 iwl_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7bd7d727 iwl_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7e0d65d2 iwl_sensitivity_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8670273d iwl_hwrate_to_plcp_idx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x872e6ebb iwlcore_eeprom_enhanced_txpower +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x881dad66 iwl_send_static_wepkey_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8b8d9c63 iwl_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8e72108f iwl_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x90e10173 iwl_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x91006119 iwl_eeprom_check_version +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9208db98 iwl_chain_noise_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x933c0fa7 iwl_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9385c211 iwl_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x95bf288b iwl_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x99d79bc4 iwl_set_rxon_chain +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9a60af0b iwl_bg_scan_check +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9b633953 iwl_update_tkip_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9cde1f24 iwl_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9d0d59c5 iwl_hw_detect +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9e86e8e0 iwl_bg_abort_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9f8545f8 iwlcore_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9f9f9e71 iwl_find_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa27a9456 iwl_hw_txq_ctx_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa7514976 iwl_reset_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa9cb893e iwl_rx_reply_rx_phy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaabdc878 iwl_sta_rx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaad0846e iwl_bg_scan_completed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xab2551ce iwl_tt_handler +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xabdd2cd1 iwl_leds_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xacdb1bda iwl_rx_missed_beacon_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xad185881 iwl_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xae1542c2 iwl_tt_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaeb73e8f iwl_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb20e0b27 iwl_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb23bfe41 iwl_setup_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb33763c7 iwl_rx_replenish_now +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb4a18ef2 iwl_clear_stations_table +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb727928f iwl_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb8ce1948 iwl_remove_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbb648e8a iwl_configure_filter +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbf448c39 iwl_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc002a6fb iwl_mac_beacon_update +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc057cb11 iwl_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc463f84b iwl_rxq_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc6187e51 iwlcore_eeprom_release_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc6d77049 iwl_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc75cb120 iwl_tx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcb086a64 iwl_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcbaf4931 get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xccb23df2 iwl_init_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcdb70b99 iwl_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd1a429b7 iwl_get_ra_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd46db5fd iwl_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd614eb94 iwl_setup_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd85e1e36 iwl_rx_pm_sleep_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd88d484e iwl_rx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdfa2c387 iwl_rx_reply_rx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe19ffb8c iwl_is_monitor_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe1c7c75f iwlcore_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe337fa56 iwl_rate_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe4a94808 iwl_rxon_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe4f96eda iwl_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe5edb37c iwl_rx_reply_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe61a8e3f iwl_tt_exit_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe7ce5d70 iwl_rates +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe8a203c8 iwl_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe980d44a iwl_hwrate_to_tx_control +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xeae11d3e iwl_tx_skb +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xeb4cbe2a iwl_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xefb68bf7 iwl_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf0cccf7c iwl_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf2180098 iwl_mac_get_tx_stats +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf3c012b6 iwl_activate_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf511276b iwl_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf7fa7cb8 iwl_leds_register +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf8078823 iwl_free_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf8431f83 iwl_alloc_all +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf982e176 iwl_rx_csa +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf9ba928f iwl_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfed7a785 iwl_reset_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xff2f9611 iwl_send_statistics_request +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x09742728 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4196c38b hermes_write_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x6a927e18 orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x8371c2f0 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x8aa82646 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa031d8e4 hermes_doicmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa0412d2f orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc60b5e9e hermes_bap_pwrite +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc6e611fa orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xcd5cc617 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd38d8ae2 hermes_read_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd3f714e5 hermes_bap_pread +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5168829 hermes_allocate +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5336e5d hermes_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd54e219d hermes_docmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xed47b224 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xff059f2d orinoco_up +EXPORT_SYMBOL drivers/parport/parport 0x00761ddb parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x04651670 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x0bc57ed1 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x0f125394 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x162683e2 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0x17bdcfc4 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x215fc2bb parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x22f6fdf2 parport_release +EXPORT_SYMBOL drivers/parport/parport 0x2ca131b0 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x30f40865 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x31b5b69f parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x32e40688 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x3e869e71 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x43e56672 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x4fba2bb8 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x52f739af parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x61f7ba97 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x9c5292d7 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x9d3ad9c8 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x9d5eff70 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x9f01b83c parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0xb616e9e8 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0xba635d98 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xe05fc5fb parport_read +EXPORT_SYMBOL drivers/parport/parport 0xe2e2e9e3 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xecda01df parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xef928a67 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0xf5947a57 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xfc3ae9bb parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xfc681ee0 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0xfeb14424 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport_pc 0x7db93acb parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xf67845df parport_pc_unregister_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x19e9fa5a pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x3a0f25f8 pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4337d58f pcmcia_access_configuration_register +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4c5bc2b2 pcmcia_get_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4fd033a0 pcmcia_error_func +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x5d1ce970 pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6c89904d pcmcia_get_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x732695ae pcmcia_request_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x775eea08 pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x9750c148 pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x9a233f46 pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xa752d6fe pcmcia_modify_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xa7c5aada pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xaa2bd1f0 pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xdadf963d pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf0a25e12 pcmcia_error_ret +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf7cb431a pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x034f0489 pcmcia_resume_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0674e7d9 pccard_get_next_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x090dca95 pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0d98abd4 pcmcia_adjust_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x12d0c4f9 pcmcia_insert_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x220d0b9e pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x26b7c1f4 pccard_get_tuple_data +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x28eac5a3 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2a866e65 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2f08176b pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2ff6922b pcmcia_suspend_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x4775fdd9 pcmcia_read_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x4da4b3e2 pcmcia_eject_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x63bda2dd destroy_cis_cache +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x6b4baba7 pcmcia_find_mem_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x87581177 pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8be0c33d pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8da66de2 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x93c960bd release_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9bc55037 pcmcia_socket_dev_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9d642af1 pcmcia_socket_dev_early_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9fe0f822 pccard_get_first_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa6393ae9 pccard_validate_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xac2bebaf pcmcia_validate_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc02ef2c8 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcec1064f pcmcia_write_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xd5749736 pcmcia_socket_dev_late_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xd905150a pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xe4503b91 pcmcia_find_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xe4d06209 pccard_read_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xe5abd687 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xea30720f pcmcia_replace_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xecb00787 pcmcia_socket_dev_suspend +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf19430ac pccard_static_ops +EXPORT_SYMBOL drivers/pcmcia/rsrc_nonstatic 0x910cddfa pccard_nonstatic_ops +EXPORT_SYMBOL drivers/pps/pps_core 0x1e145952 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0x463eaee3 pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xe6a16116 pps_event +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x0cb066fb fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x0dd9c0ab fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x310c6af1 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x77ac8286 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x85db089e fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x9699d57d fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xa1103df7 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x01576a3e fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0372657c fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x076a0909 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x07a8c01b fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0fd27f79 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x15d58563 fc_get_host_port_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1e5c6fe9 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x23aaf7e4 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x28d4ca10 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4269b7c9 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x44373943 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4459cb02 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4c986cf3 fc_fcp_ddp_setup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4cf59b27 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4d7f783a fc_seq_els_rsp_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x525cb8b6 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x56183917 fc_destroy_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x58e8dfcb fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x60bdab93 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x628e96d1 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x62e9db9c fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x64f83919 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x67750428 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7e2e5042 fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x80402310 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x83a69302 fc_fcp_complete +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x933719ef fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa53717ab fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaab4cd58 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0c2ed4e fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb6983c33 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc18e0928 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc4c8803d fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc70e4bde fc_exch_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xceb14ab1 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcfe79558 __fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd1ea55cd fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd233241d fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd69d12c3 fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd6cb3359 fc_setup_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd9b001d7 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe2119c32 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe40bff2c fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xee8b1c78 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xefcbbfaf fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf7365d60 fc_seq_exch_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfa30c927 fc_elsct_init +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 0xd024d861 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x16751163 osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x258d4211 osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2e480e2b osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2e49bd7d osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x30dbe21e osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x31be412f osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x36403265 osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x44984e11 osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4cb388c4 osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4e6d3c4e osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x58782a67 osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x5af4ee54 osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6147c87b osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x64750826 osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x64fa553b osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x65d649d2 osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6ad621eb osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7aac543c osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x83a18632 osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8b6ae74b osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8e362781 osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x90d4712c osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa626ba3a osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xadcec37d osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb57f1370 osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd28b4ac1 osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd6ac84bc osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe9b1adbe osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xedcf610e osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xefad8376 osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf174db6c osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xfd9113ae osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/osd 0x43bf183e osduld_register_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5366c507 osduld_put_device +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x67d7e42e osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x043586d6 qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x6222e28a qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x7f802176 qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x8b3d17ac qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x901fbf9a qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xb3054f15 qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xdc310b12 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/raid_class 0x31a24fe9 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0xa19114af raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0xc966fab3 raid_class_attach +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x090cfaac fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1293b389 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1a2c7b5b fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2a039618 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3a7dc055 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3ecae0f7 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4e547661 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x731e3d98 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa264cc40 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xb147aa85 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xbd179d54 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xfe1e67a9 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x09ac385e scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0b102431 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x35213cbe sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3607b6cc sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x37855079 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3a22e40d sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3cd34a00 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x60896b67 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x61e0bdc2 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x863e1ea7 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x871c27f1 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x88ec7823 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x89c00015 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x92360eb9 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x95b50b94 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa418e983 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa4ca0f18 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xacd144cf sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb3dd89c9 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb9b83e15 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbd61352c sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc17ea4ef sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd5245c8a scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd5b89fad sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xddf7f948 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf9ca1ab6 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x2901d8ab spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x39da5ac3 spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x42fa458a spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x5290dc09 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x52b5d5a5 spi_schedule_dv_device +EXPORT_SYMBOL drivers/serial/8250 0x661a55a4 serial8250_register_port +EXPORT_SYMBOL drivers/serial/8250 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL drivers/serial/8250 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL drivers/serial/8250 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL drivers/serial/serial_core 0x061cc18a uart_unregister_driver +EXPORT_SYMBOL drivers/serial/serial_core 0x3f43acfe uart_match_port +EXPORT_SYMBOL drivers/serial/serial_core 0x701d470a uart_remove_one_port +EXPORT_SYMBOL drivers/serial/serial_core 0x82379f9b uart_get_divisor +EXPORT_SYMBOL drivers/serial/serial_core 0x852d6009 uart_write_wakeup +EXPORT_SYMBOL drivers/serial/serial_core 0xb7edcb0e uart_resume_port +EXPORT_SYMBOL drivers/serial/serial_core 0xf5e7ac80 uart_update_timeout +EXPORT_SYMBOL drivers/serial/serial_core 0xf89eef5b uart_add_one_port +EXPORT_SYMBOL drivers/serial/serial_core 0xf926af17 uart_register_driver +EXPORT_SYMBOL drivers/serial/serial_core 0xfbe4cba7 uart_get_baud_rate +EXPORT_SYMBOL drivers/serial/serial_core 0xfd674587 uart_suspend_port +EXPORT_SYMBOL drivers/ssb/ssb 0x275a1d88 ssb_dma_set_mask +EXPORT_SYMBOL drivers/ssb/ssb 0x318f3385 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x3bd9dc40 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x4645b2b1 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x519e6d91 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x529e4fcc __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x781e3dc5 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x83287150 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x8a4cad7e ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x8db44039 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x90a28009 ssb_dma_free_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0x91c5f31e ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x9637677e ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x9ff759e7 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xb3a00fa3 ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xb55b5dcb ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xc1ae1b46 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0xc3d60929 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xcc5ddfbe ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xcd66f859 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xf7c363f0 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xf8500008 ssb_dma_alloc_consistent +EXPORT_SYMBOL drivers/telephony/ixj 0xfc1c9f33 ixj_pcmcia_probe +EXPORT_SYMBOL drivers/telephony/phonedev 0x1bf8c1eb phone_register_device +EXPORT_SYMBOL drivers/telephony/phonedev 0x20dd9a09 phone_unregister_device +EXPORT_SYMBOL drivers/usb/gadget/goku_udc 0x2d29d996 usb_gadget_register_driver +EXPORT_SYMBOL drivers/usb/gadget/goku_udc 0x6f4f4981 usb_gadget_unregister_driver +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0xa3d81046 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/usbserial 0x0110236d usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xcb35d03f usb_serial_suspend +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0xc86baa7c corgibl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x682c47b5 lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0x76cec255 lcd_device_register +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x46b6f639 cyber2000fb_attach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x86684e0b cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0x96d455b0 cyber2000fb_get_fb_var +EXPORT_SYMBOL drivers/video/cyber2000fb 0xc1bf76a1 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/display/display 0x704a637c display_device_unregister +EXPORT_SYMBOL drivers/video/display/display 0xf8515d12 display_device_register +EXPORT_SYMBOL drivers/video/output 0x1e29da83 video_output_unregister +EXPORT_SYMBOL drivers/video/output 0xae1150a3 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 0x00d1fce9 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/svgalib 0x07b3da30 svga_wseq_multi +EXPORT_SYMBOL drivers/video/svgalib 0x08981929 svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0x1b95c56a svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x3648ec08 svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0x63e898d1 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/svgalib 0x7a3ae959 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x80408443 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0x8fa8438b svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/svgalib 0x931f8f19 svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0xa5016405 svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0xab3b22ad svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/svgalib 0xc4d992c5 svga_tileblit +EXPORT_SYMBOL drivers/video/svgalib 0xdad682b1 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/svgalib 0xdc6e6d2a svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0xde365852 svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0xec83c473 svga_match_format +EXPORT_SYMBOL drivers/video/svgalib 0xef774f5d svga_compute_pll +EXPORT_SYMBOL drivers/video/syscopyarea 0xde45b4dc sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0xa9a2b640 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x202db1d1 sys_imageblit +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x8c6f5330 w1_bq27000_read +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0xf5ff9b3f w1_bq27000_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x5aba2a69 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x90023166 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xcb604430 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xf4dec146 w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/wire 0x46340d04 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x7a0f26d0 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x8c6f3c5d w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0xf9d9cd3a w1_remove_master_device +EXPORT_SYMBOL fs/configfs/configfs 0x08310bc6 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x0f2832ed configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x1d9c8614 config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0x25ef043b config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0x27d8afd4 config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x3773e1d5 config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x39a19940 configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x667cdff3 configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0xb310b496 config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0xb6fb41a8 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0xbd6118f3 config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0xc3782cee config_group_find_item +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x2197c579 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x241a2fc8 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x25bfd824 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x3e17d169 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0x3e9120ca fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x496932b9 fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x51d157de fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x52ed5205 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x53b2ea89 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x55bec4a6 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x5e978b9d fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x5fe58c20 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x62dfb384 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x699ee156 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x6bdc3bd0 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x6c76d030 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x7f7faf3c __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x9576f493 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0xaac11527 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xab03d6ac __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xdf4e8846 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0xdffa114a __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xe60382a5 fscache_object_slow_work_ops +EXPORT_SYMBOL fs/fscache/fscache 0xe9ba9fe5 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0xebbf4d78 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0xee482ea9 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0xef828369 __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xfa19cbab __fscache_write_page +EXPORT_SYMBOL fs/nfsd/nfsd 0x0e195c1c nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/nfsd/nfsd 0x2095976a nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0x28fb929b nfs4_acl_posix_to_nfsv4 +EXPORT_SYMBOL fs/nfsd/nfsd 0x35e33c1e nfs4_acl_write_who +EXPORT_SYMBOL fs/nfsd/nfsd 0x5a157ae4 nfs4_acl_get_whotype +EXPORT_SYMBOL fs/quota/quota_tree 0x19db1032 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x2334005c qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x50ae6cd2 qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x67b74716 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x9ff84179 qtree_delete_dquot +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/crc-t10dif 0xb6896671 crc_t10dif +EXPORT_SYMBOL lib/crc7 0xa7587646 crc7 +EXPORT_SYMBOL lib/crc7 0xd80c3603 crc7_syndrome_table +EXPORT_SYMBOL lib/libcrc32c 0x27000b29 crc32c +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 0xf0caf44b zlib_deflate_workspacesize +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL net/802/p8023 0x3012e7f5 make_8023_client +EXPORT_SYMBOL net/802/p8023 0x42a92867 destroy_8023_client +EXPORT_SYMBOL net/9p/9pnet 0x0f254f26 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0x11f5fa7d p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x371d4695 p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x41761ba0 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x43001d99 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x45e90c31 p9_client_auth +EXPORT_SYMBOL net/9p/9pnet 0x485e3b1a p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x52c71fb2 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x58e6e609 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x6b754e6f p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x6c4f1bb0 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x76b79bf1 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x7814c0a9 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x8f7ff09a p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xa145e6d9 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0xa994a9ec v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0xab5b5182 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0xb08921a1 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0xb1ca96fa p9_client_version +EXPORT_SYMBOL net/9p/9pnet 0xbb6e425d p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0xbca17234 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xbe64fb7d p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0xc3f4cce3 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0xc901a44d p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0xd331fc1d p9pdu_dump +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xea140785 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xeb51f52d p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xed726162 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xf92fe2ad p9_idpool_get +EXPORT_SYMBOL net/appletalk/appletalk 0x15846112 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0x1fa07e4d aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0x2485a83c atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xce97395f alloc_ltalkdev +EXPORT_SYMBOL net/atm/atm 0x0c46b558 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x19ac38ca vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x1a24e5e2 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0x1ee6373a deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x1fa270c3 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x4ee99ed1 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x4fdfaaa8 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x7b7bd638 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x839e2a73 atm_charge +EXPORT_SYMBOL net/atm/atm 0x89195dc3 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0x9e8643ad atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0xba4fd2be atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0xd788142a register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xe9e8631f vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/ax25/ax25 0x112f59ef ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x3d2d82ec ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x3f109225 ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x564d9f14 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x6fecf9da ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0x9aad8cb0 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0xa20d593b ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0xb4727915 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0xc12901f7 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xdac972a1 ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0xdb469e7a ax25_listen_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x072ecac6 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x25184201 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3022bfe9 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3857e8c5 hci_register_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5b426270 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x675642d6 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6a8d177e bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6f097dbf bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7094f8ae bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x807dd1e6 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9176239c hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9b116226 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa1d28ad4 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa546056d hci_unregister_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa66925dc bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xadd6451a hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0xae6b60f9 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb3a343ba hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc71979a2 hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0xca007a1b hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcdf04619 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe1ee4048 hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe2853ddf bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe600d585 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe83bd32c hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe90fd5de bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xef334f25 hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf5ceb10b hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf6133c47 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf8e3d406 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf9466eed bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfb1fa98f hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/l2cap 0xfc31fe88 l2cap_load +EXPORT_SYMBOL net/bridge/bridge 0x07197dbc br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x087e47ec ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x7300008a ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xf3a9cb47 ebt_register_table +EXPORT_SYMBOL net/can/can 0x204d39b1 can_rx_unregister +EXPORT_SYMBOL net/can/can 0x343f2636 can_proto_unregister +EXPORT_SYMBOL net/can/can 0x535c9e37 can_send +EXPORT_SYMBOL net/can/can 0x6492ee43 can_proto_register +EXPORT_SYMBOL net/can/can 0xbfee2f31 can_rx_register +EXPORT_SYMBOL net/ieee802154/nl802154 0x088028c1 ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x2944af45 ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0x7a6eb765 ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0xa2ba90d5 ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0xca3e475a ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0xde1be618 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0xf08603c7 ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/wpan-class 0x1721f44f wpan_phy_free +EXPORT_SYMBOL net/ieee802154/wpan-class 0x9b6ab152 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/wpan-class 0xb77cdb50 wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/wpan-class 0xe6b13e1e wpan_phy_find +EXPORT_SYMBOL net/ieee802154/wpan-class 0xf49fb0a5 wpan_phy_unregister +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x7c0d7c23 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xaf0a6582 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xafeb0c9f arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x04669eab ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x5c9ffbbb ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x7e1b0716 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x311db417 nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x4312b56b nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x5261ba08 nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x6b8293cf nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x74673312 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xc2fdb935 nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xdeadc573 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/tunnel4 0x754433d9 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/tunnel4 0xd420d17d xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv6/ipv6 0x08050574 ip6_frag_init +EXPORT_SYMBOL net/ipv6/ipv6 0x0a73cdca xfrm6_prepare_output +EXPORT_SYMBOL net/ipv6/ipv6 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL net/ipv6/ipv6 0x180c2c6f inet6_release +EXPORT_SYMBOL net/ipv6/ipv6 0x181af27f ip6_route_me_harder +EXPORT_SYMBOL net/ipv6/ipv6 0x1da0d07a xfrm6_find_1stfragopt +EXPORT_SYMBOL net/ipv6/ipv6 0x30123eb5 icmpv6_statistics +EXPORT_SYMBOL net/ipv6/ipv6 0x3f852712 ip6_xmit +EXPORT_SYMBOL net/ipv6/ipv6 0x451b06ca inet6_del_protocol +EXPORT_SYMBOL net/ipv6/ipv6 0x5216950e ip6_route_output +EXPORT_SYMBOL net/ipv6/ipv6 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL net/ipv6/ipv6 0x55331f6d xfrm6_rcv_spi +EXPORT_SYMBOL net/ipv6/ipv6 0x5cfa7054 inet6_ioctl +EXPORT_SYMBOL net/ipv6/ipv6 0x6794f9e6 ipv6_getsockopt +EXPORT_SYMBOL net/ipv6/ipv6 0x7119f73f inet6_register_protosw +EXPORT_SYMBOL net/ipv6/ipv6 0x73002840 ipv6_setsockopt +EXPORT_SYMBOL net/ipv6/ipv6 0x7ac5fd51 ndisc_build_skb +EXPORT_SYMBOL net/ipv6/ipv6 0x7b347c12 nf_ip6_checksum +EXPORT_SYMBOL net/ipv6/ipv6 0x829519f7 ipv6_chk_prefix +EXPORT_SYMBOL net/ipv6/ipv6 0x8805e2fb in6_dev_finish_destroy +EXPORT_SYMBOL net/ipv6/ipv6 0x88bd5db4 ip6_frag_match +EXPORT_SYMBOL net/ipv6/ipv6 0x8ab71000 ndisc_send_skb +EXPORT_SYMBOL net/ipv6/ipv6 0x97efb2aa xfrm6_input_addr +EXPORT_SYMBOL net/ipv6/ipv6 0x9e8b01be inet6_getname +EXPORT_SYMBOL net/ipv6/ipv6 0xa6968bb1 xfrm6_rcv +EXPORT_SYMBOL net/ipv6/ipv6 0xaf9869ce inet6_unregister_protosw +EXPORT_SYMBOL net/ipv6/ipv6 0xbda77e74 ipv6_push_nfrag_opts +EXPORT_SYMBOL net/ipv6/ipv6 0xc1cb555a inet6_bind +EXPORT_SYMBOL net/ipv6/ipv6 0xc743efbd ipv6_chk_addr +EXPORT_SYMBOL net/ipv6/ipv6 0xccc0e505 icmpv6_send +EXPORT_SYMBOL net/ipv6/ipv6 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL net/ipv6/ipv6 0xd0496d4c rt6_lookup +EXPORT_SYMBOL net/ipv6/ipv6 0xda4d3023 inet6_add_protocol +EXPORT_SYMBOL net/ipv6/ipv6 0xe1a81c3a icmpv6msg_statistics +EXPORT_SYMBOL net/ipv6/ipv6 0xe2632ad5 ipv6_dev_get_saddr +EXPORT_SYMBOL net/ipv6/ipv6 0xe690b8fd __ipv6_isatap_ifid +EXPORT_SYMBOL net/ipv6/ipv6 0xfda29ced ndisc_mc_map +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x01727864 ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x15691a07 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x872d2c5d ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb8bddf33 ip6t_ext_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xda0774ae ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x8a76aaa8 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0xbb3f789e xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x9cd013f2 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xab14e193 xfrm6_tunnel_free_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xdb1b42d1 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x1c6a81b7 ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x2747b68b ircomm_flow_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xa3d78ad1 ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xb5eb75bc ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xc13e81ed ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xeb36ab01 ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xf1202b48 ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xf3d30f4b ircomm_control_request +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x07259827 iriap_getvaluebyclass_request +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x0bc2de95 irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0x18edd399 irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x25da6314 irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0x29783db6 hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0x29a9884b irda_notify_init +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x43c0e885 irlap_close +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 0x4a63b50a irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0x4b7bc4d2 irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0x52349c38 irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0x543a6db5 hashbin_new +EXPORT_SYMBOL net/irda/irda 0x550a5e27 irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0x5861b834 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0x5f033513 irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0x5f261aef hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0x5f3911bc irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x60b8cf15 async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x6b043eba irda_init_max_qos_capabilies +EXPORT_SYMBOL net/irda/irda 0x6b2a949c proc_irda +EXPORT_SYMBOL net/irda/irda 0x6bb070c7 iriap_close +EXPORT_SYMBOL net/irda/irda 0x6e3e967a irttp_close_tsap +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 0x7f933922 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x89136cd1 irias_delete_object +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x94a8156e hashbin_delete +EXPORT_SYMBOL net/irda/irda 0x980fe568 irias_insert_object +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0xa26f32f8 irias_find_object +EXPORT_SYMBOL net/irda/irda 0xa71837ee irlap_open +EXPORT_SYMBOL net/irda/irda 0xa785c530 irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0xb0524136 async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0xb7884205 hashbin_remove +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 0xc10a5281 irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0xc497c56e alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0xc6cba92b irttp_data_request +EXPORT_SYMBOL net/irda/irda 0xc778aa23 irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0xd627dc1a hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xe0acf0d4 hashbin_find +EXPORT_SYMBOL net/irda/irda 0xe1a50c6f irias_new_object +EXPORT_SYMBOL net/irda/irda 0xe6971f39 irttp_dup +EXPORT_SYMBOL net/irda/irda 0xeb607e91 irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xf18a9d23 irda_device_set_media_busy +EXPORT_SYMBOL net/irda/irda 0xf39b7fe0 irda_setup_dma +EXPORT_SYMBOL net/irda/irda 0xf91cbfed irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0xf93ccf86 iriap_open +EXPORT_SYMBOL net/irda/irda 0xf9a5a77a irttp_udata_request +EXPORT_SYMBOL net/lapb/lapb 0x5079f9e2 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x7a5cd22e lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x93987be7 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0xa7fcd48f lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0xab1fde51 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0xb401c486 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0xc338cfa0 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0xe613c907 lapb_setparms +EXPORT_SYMBOL net/mac80211/mac80211 0x007ec0ce ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x0332daec ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x059391aa ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x067a0b02 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x16ab5ef3 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x1962f9fe ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x196ea825 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x32b1acc6 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x37a5b1ae ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x37f00bd9 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x3991fcd4 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x4656201e ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x66da2b5d ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x76522eb8 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x82fd800c wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x84e482ca ieee80211_get_tkip_key +EXPORT_SYMBOL net/mac80211/mac80211 0x8d361535 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xa7d8da68 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xaec8bc3e ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xaf473a40 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xaffb09ac ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xb2bcdaf7 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0xb30d90df ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xb9a1a89d ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0xbe9788f4 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xc82ae284 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xd214ec68 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xd6ec603b ieee80211_stop_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0xd89be80d ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0xdcb12363 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0xdebc9976 ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0xdf7bb1c1 ieee80211_start_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0xe19c2571 ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xe8abe42d ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xec6f8b10 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xf22315b4 ieee80211_beacon_get +EXPORT_SYMBOL net/mac80211/mac80211 0xf29e76c9 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xf2b7b730 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0xf3db0045 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xfa2cf0f6 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xff81d383 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0e6bd211 ip_vs_skb_replace +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x1e63f731 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x315cf26b unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x6372d063 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x80b9d78e ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa1dbc2d8 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xbd0d91bb register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc6a18904 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc90359b6 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xca99ebbc register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xdad2a16f unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xfbed14d4 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x853a7ad8 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xd363d45b __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0xf6287d37 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x0e8621c7 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x16a5e826 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x1de06f2e xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x4a2ccc06 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x708a1083 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x782867a3 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xbbb099b3 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0xc3ff5dff xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xd01b5fee xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xee7b7403 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xf1f53fb2 xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0xff13a7ad xt_unregister_target +EXPORT_SYMBOL net/phonet/phonet 0x405ca21e pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x6932c918 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x82623ac4 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x8e411c87 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0xa3ea05e8 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0xb8444238 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0xc6b407e8 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0xcc956d43 phonet_proto_register +EXPORT_SYMBOL net/rfkill/rfkill 0x17cd9544 rfkill_get_led_trigger_name +EXPORT_SYMBOL net/rfkill/rfkill 0x39d790e9 rfkill_set_sw_state +EXPORT_SYMBOL net/rfkill/rfkill 0x3cd016af rfkill_init_sw_state +EXPORT_SYMBOL net/rfkill/rfkill 0x6037765e rfkill_set_states +EXPORT_SYMBOL net/rfkill/rfkill 0x6544a4f7 rfkill_unregister +EXPORT_SYMBOL net/rfkill/rfkill 0x6794d1cd rfkill_set_hw_state +EXPORT_SYMBOL net/rfkill/rfkill 0x7092b1ff rfkill_register +EXPORT_SYMBOL net/rfkill/rfkill 0x8ef7b2a1 rfkill_blocked +EXPORT_SYMBOL net/rfkill/rfkill 0x8f44437b rfkill_destroy +EXPORT_SYMBOL net/rfkill/rfkill 0xa4924d7b rfkill_set_led_trigger_name +EXPORT_SYMBOL net/rfkill/rfkill 0xedcd6313 rfkill_alloc +EXPORT_SYMBOL net/rfkill/rfkill 0xf21f681e rfkill_resume_polling +EXPORT_SYMBOL net/rfkill/rfkill 0xfadd5333 rfkill_pause_polling +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x14d22484 rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x1f8ab6a1 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x2031d2f4 rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x2b115d8f rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x3426e1aa rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x411902fe rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x439dfa9e rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x4e81f214 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x73fd0148 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x898a489e rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xa0f7a0cd rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xb7139f4e rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xc1547f73 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe1857360 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xf053e711 key_type_rxrpc +EXPORT_SYMBOL net/sunrpc/sunrpc 0x8577444f svc_pool_stats_open +EXPORT_SYMBOL net/tipc/tipc 0x08acf310 tipc_available_nodes +EXPORT_SYMBOL net/tipc/tipc 0x0f445f50 tipc_register_media +EXPORT_SYMBOL net/tipc/tipc 0x10d40fcd tipc_isconnected +EXPORT_SYMBOL net/tipc/tipc 0x1472b270 tipc_disconnect +EXPORT_SYMBOL net/tipc/tipc 0x1479cb03 tipc_deleteport +EXPORT_SYMBOL net/tipc/tipc 0x15b5ecde tipc_set_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x16f27683 tipc_block_bearer +EXPORT_SYMBOL net/tipc/tipc 0x259b74f9 tipc_acknowledge +EXPORT_SYMBOL net/tipc/tipc 0x27d8bb58 tipc_send2port +EXPORT_SYMBOL net/tipc/tipc 0x2ded4af1 tipc_send_buf2port +EXPORT_SYMBOL net/tipc/tipc 0x310d1bc9 tipc_detach +EXPORT_SYMBOL net/tipc/tipc 0x3712e340 tipc_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x3976041f tipc_set_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x42c89df5 tipc_forward_buf2port +EXPORT_SYMBOL net/tipc/tipc 0x4b2243c6 tipc_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x4ba3cfc8 tipc_send2name +EXPORT_SYMBOL net/tipc/tipc 0x52fd7c4c tipc_recv_msg +EXPORT_SYMBOL net/tipc/tipc 0x538b228a tipc_withdraw +EXPORT_SYMBOL net/tipc/tipc 0x5637ed44 tipc_get_mode +EXPORT_SYMBOL net/tipc/tipc 0x5c0d4b5c tipc_ref_valid +EXPORT_SYMBOL net/tipc/tipc 0x62a681a3 tipc_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0x62a816e8 tipc_send_buf_fast +EXPORT_SYMBOL net/tipc/tipc 0x64357d3c tipc_multicast +EXPORT_SYMBOL net/tipc/tipc 0x8001e3d7 tipc_forward2port +EXPORT_SYMBOL net/tipc/tipc 0x842bddaf tipc_send_buf +EXPORT_SYMBOL net/tipc/tipc 0x88b73627 tipc_get_addr +EXPORT_SYMBOL net/tipc/tipc 0x9c45558e tipc_enable_bearer +EXPORT_SYMBOL net/tipc/tipc 0xadd203d0 tipc_connect2port +EXPORT_SYMBOL net/tipc/tipc 0xae0103c3 tipc_shutdown +EXPORT_SYMBOL net/tipc/tipc 0xb01ffc2c tipc_forward2name +EXPORT_SYMBOL net/tipc/tipc 0xb27ac4a7 tipc_get_port +EXPORT_SYMBOL net/tipc/tipc 0xb35b672c tipc_publish +EXPORT_SYMBOL net/tipc/tipc 0xb9780298 tipc_reject_msg +EXPORT_SYMBOL net/tipc/tipc 0xbb2b2504 tipc_send +EXPORT_SYMBOL net/tipc/tipc 0xcb4abe0c tipc_send_buf2name +EXPORT_SYMBOL net/tipc/tipc 0xcdc6e909 tipc_continue +EXPORT_SYMBOL net/tipc/tipc 0xcec8514a tipc_set_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0xd44731e5 tipc_ownidentity +EXPORT_SYMBOL net/tipc/tipc 0xd55c3bb9 tipc_createport_raw +EXPORT_SYMBOL net/tipc/tipc 0xd5863fbc tipc_createport +EXPORT_SYMBOL net/tipc/tipc 0xda7f9d3f tipc_attach +EXPORT_SYMBOL net/tipc/tipc 0xdf5008fc tipc_peer +EXPORT_SYMBOL net/tipc/tipc 0xe7aece47 tipc_ispublished +EXPORT_SYMBOL net/tipc/tipc 0xeefd49b3 tipc_get_handle +EXPORT_SYMBOL net/tipc/tipc 0xef50a1ef tipc_disable_bearer +EXPORT_SYMBOL net/tipc/tipc 0xf88510aa tipc_forward_buf2name +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0xa62b39a1 register_wan_device +EXPORT_SYMBOL net/wimax/wimax 0x53d923b2 wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0xe83b0923 wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x043c7fdb wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0x07e7ac5a ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x0d593763 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x0dd8c37a cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x0df0dfb5 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x158a103a cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x219c4d50 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x2c14e002 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x2eb9ecc3 cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x3407e89a regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x36a22b93 wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x37ac8d05 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x3e7729b7 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x44d70609 cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x4687e5f0 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x489de6b3 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0x493920cb ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x4ce40fec wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x4d32e964 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x5482e42c freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x5e78bbb3 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x6130e293 cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x61399a4e ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x757df7eb cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x79cbc21a cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x84e0aa3c wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x8c35d732 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x90eb5e02 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x9bc1e1bd cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0x9e2b7264 cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0xb3ce1fd3 cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0xc2002214 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0xc4e85ec5 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xc74978e2 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xc931a03d ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0xccc291b3 ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0xcd840f7d cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0xd831a075 cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0xdbedada4 __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xe213e861 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xe5cccec5 cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xe8866acc ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0xe987f108 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/lib80211 0x01e88ea7 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x1105883b lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x230f3ffb lib80211_crypt_deinit_handler +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x4b3c74bd lib80211_crypt_deinit_entries +EXPORT_SYMBOL net/wireless/lib80211 0x59ef9adf lib80211_crypt_quiescing +EXPORT_SYMBOL net/wireless/lib80211 0x952c7bbd lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0xb530b9f8 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xccfe2756 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0xe9af1230 lib80211_get_crypto_ops +EXPORT_SYMBOL sound/ac97_bus 0x38fd2f67 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x6f5f914e 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 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x4957a194 snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6bb71038 snd_seq_delete_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 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 0x89947013 snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0x95b38c91 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0xa7f1780e 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 0xfe86b53c snd_seq_kernel_client_enqueue_blocking +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x34400d00 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 0x644d7c43 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 0x326911b6 snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x7cb19049 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xb389aad4 snd_midi_event_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xb401ffd7 snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xb5d25358 snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xbf834054 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe03c0c74 snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe8755241 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0xd7257adf snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x07c8298d snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x07f92dd4 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x0bff93dc snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x0e36aa19 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x160f8f3a snd_card_proc_new +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 0x20117d86 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0x20b7fee3 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x27d42a62 snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x27f331ad snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0x2e93fd8b snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x35c72d39 snd_card_register +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3991f12e snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x3d151980 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x45029373 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4d9fb5c1 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x6109c332 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x62dd48dc snd_card_create +EXPORT_SYMBOL sound/core/snd 0x6d39114c snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x6ed52f21 snd_cards +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x74c2b984 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x777bd34f snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x81793127 snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0x8b595efb snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x91a70480 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x9540fa5e snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x95deca87 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x9ab68829 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x9aec169e snd_device_free +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0x9f231f9e snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0xa40688a0 snd_device_register +EXPORT_SYMBOL sound/core/snd 0xa9e07151 snd_component_add +EXPORT_SYMBOL sound/core/snd 0xaabf393f snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0xace0500a snd_power_wait +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb649f258 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0xba510780 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0xbf60c7f6 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0xc0e502eb snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0xc4136e1d snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0xce3ca308 copy_from_user_toio +EXPORT_SYMBOL sound/core/snd 0xd1157735 release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0xd6a999fd snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0xd8997d3c _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0xdd28b678 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0xe20c9214 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0xf0f86b30 snd_card_free +EXPORT_SYMBOL sound/core/snd 0xf15fc415 snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0xfb7e6136 snd_device_new +EXPORT_SYMBOL sound/core/snd 0xfbdc3c5e snd_card_disconnect +EXPORT_SYMBOL sound/core/snd-hwdep 0xb0c57b86 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x3b91f3af snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x94108640 snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xade88e76 snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xaff10c3a snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0xcb5c9072 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xf15582c5 snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0xf34a9b89 snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-pcm 0x0082cb84 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x04752595 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x0d16f6f5 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x13584671 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0x19a3c532 snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0x1ab9811b snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x1b726cb0 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x27cb337c snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x29cd4850 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x2b7893f7 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x2ddf6984 snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0x2eaf8157 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x35aab345 snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x397f943e snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x44541af4 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0x46d9acc9 snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0x4cfa68c2 snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0x4d9b6d35 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x6349e57f snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x64a28362 snd_pcm_kernel_ioctl +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 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x7959e9e3 snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x7bcc6c4b snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x83be6ae4 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x840f46e0 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x89ce26a0 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x8c4c434a snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x9450ade3 snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0x99d7c51e snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x9c0c5582 snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0xa1c4de96 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0xa4565d43 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xa636bed2 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xcb391daf snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xcca15bff snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0xccfde388 snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0xd0b9b8b8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0xd9ce5f19 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xe8cb4d4e snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xf0be905e snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xfe64492e snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0d7bae22 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0de7495a snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x19b125ef snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1e806f6e snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x22737340 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2a893a57 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3065e747 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3bbba1d0 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x41b9d868 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x63d6df22 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7426bdd4 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x93fcdfb2 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x9aadb0cd snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x9ee72cb5 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xccb5bdb4 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf0370c0b snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0xfa21108f snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-timer 0x0d354bdb snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x1e7691ae snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0x1eb2e223 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x29f0b5b8 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x3572a690 snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0x657723f2 snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x75267f8b snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0xafc96b61 snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0xc940e286 snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0xcc263ab5 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0xd35c4dc6 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0xf30fba92 snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0xfafbcccf snd_timer_open +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x4bbb7f27 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc43a3940 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xf7c3a46e snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x0fee4656 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x316483ce snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x4cfd2c9b snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x5890d472 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x80d6fa8a snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x850cea85 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x9a754b1f snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xab253955 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xcc6a9213 snd_opl3_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x04923a1b snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x25560aa5 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x61cf9dee snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x77a5a8b9 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x8a520825 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x99b88ede snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xbc91e5b8 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xeac446d2 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf6742bfe snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xfced24b6 snd_vx_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x1e3ef06d snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x323b33b3 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x5f950dbc snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x87f35bff snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x900411f9 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xb419ee13 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x09b48227 snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x5e81a482 snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x6a7b78f1 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x7f1117a2 snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xa76e4bb8 snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xd744da35 snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x40250a9e snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x6590b942 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x909a775c snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xd582e5b9 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x97a1eb53 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xfd5a4989 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x0cb849a8 snd_tea575x_init +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x532bb295 snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x3df76be0 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x67cc87ae snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xd086fb85 snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xd4a3c3e2 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xf7d143db snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-i2c 0x2bc372c3 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0x50e8ec95 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x6069b097 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x7387c0b8 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x94d0f038 snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0xcae6a75d snd_i2c_readbytes +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x05bc7fd3 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x2f7857e3 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x31877aaf snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xa32a421f snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xa3bb0c52 snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xc10fb638 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xcbcddbff snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xd15b3ab4 snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xdb320e13 snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xead963a6 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x853680fa snd_sb16dsp_get_pcm_ops +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xa16a6804 snd_sb16dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xa7fb15e4 snd_sb16dsp_configure +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xc57f5b54 snd_sb16dsp_interrupt +EXPORT_SYMBOL sound/oss/ad1848 0x2b5d9dae ad1848_detect +EXPORT_SYMBOL sound/oss/ad1848 0x5c4ee0bf ad1848_init +EXPORT_SYMBOL sound/oss/ad1848 0x9bf1cc62 ad1848_unload +EXPORT_SYMBOL sound/oss/ad1848 0xa3e16c6b probe_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0xb29a9148 unload_ms_sound +EXPORT_SYMBOL sound/oss/ad1848 0xc04f6f67 ad1848_control +EXPORT_SYMBOL sound/oss/ad1848 0xf935497a attach_ms_sound +EXPORT_SYMBOL sound/oss/mpu401 0x5febf284 unload_mpu401 +EXPORT_SYMBOL sound/oss/mpu401 0x61641749 probe_mpu401 +EXPORT_SYMBOL sound/oss/mpu401 0xbcd8f103 attach_mpu401 +EXPORT_SYMBOL sound/oss/sb_lib 0x42424109 sb_be_quiet +EXPORT_SYMBOL sound/oss/sb_lib 0x450f9aea smw_free +EXPORT_SYMBOL sound/oss/sb_lib 0x74afd69c unload_sbmpu +EXPORT_SYMBOL sound/oss/sb_lib 0x7f79d1b2 sb_dsp_init +EXPORT_SYMBOL sound/oss/sb_lib 0x883118df probe_sbmpu +EXPORT_SYMBOL sound/oss/sb_lib 0xc4884969 sb_dsp_unload +EXPORT_SYMBOL sound/oss/sb_lib 0xd8a2731c sb_dsp_detect +EXPORT_SYMBOL sound/oss/sound 0x04c87ec8 compute_finetune +EXPORT_SYMBOL sound/oss/sound 0x06339815 sound_unload_synthdev +EXPORT_SYMBOL sound/oss/sound 0x0f280035 conf_printf +EXPORT_SYMBOL sound/oss/sound 0x13a2bfa5 synth_devs +EXPORT_SYMBOL sound/oss/sound 0x17ba231d seq_input_event +EXPORT_SYMBOL sound/oss/sound 0x1b3df3cf sound_alloc_mixerdev +EXPORT_SYMBOL sound/oss/sound 0x1f395686 MIDIbuf_avail +EXPORT_SYMBOL sound/oss/sound 0x2161d5e8 sound_timer_init +EXPORT_SYMBOL sound/oss/sound 0x2aa31695 midi_synth_kill_note +EXPORT_SYMBOL sound/oss/sound 0x394cb088 sound_free_dma +EXPORT_SYMBOL sound/oss/sound 0x418f5fbe sound_close_dma +EXPORT_SYMBOL sound/oss/sound 0x4cd01bdd num_audiodevs +EXPORT_SYMBOL sound/oss/sound 0x4ff47e9d midi_synth_setup_voice +EXPORT_SYMBOL sound/oss/sound 0x51e354b2 sound_alloc_timerdev +EXPORT_SYMBOL sound/oss/sound 0x56504ca2 midi_synth_reset +EXPORT_SYMBOL sound/oss/sound 0x5d986fc9 note_to_freq +EXPORT_SYMBOL sound/oss/sound 0x7679ee76 seq_copy_to_input +EXPORT_SYMBOL sound/oss/sound 0x7bdf0907 conf_printf2 +EXPORT_SYMBOL sound/oss/sound 0x82effef6 midi_devs +EXPORT_SYMBOL sound/oss/sound 0x892093e0 midi_synth_controller +EXPORT_SYMBOL sound/oss/sound 0x8acf76d2 sound_timer_devs +EXPORT_SYMBOL sound/oss/sound 0x90bd9714 sequencer_timer +EXPORT_SYMBOL sound/oss/sound 0x97a977cb mixer_devs +EXPORT_SYMBOL sound/oss/sound 0x987bcf12 DMAbuf_outputintr +EXPORT_SYMBOL sound/oss/sound 0x9a95733f sound_alloc_dma +EXPORT_SYMBOL sound/oss/sound 0x9bdaf24d midi_synth_start_note +EXPORT_SYMBOL sound/oss/sound 0x9d845b18 num_mixers +EXPORT_SYMBOL sound/oss/sound 0x9f9df4e4 sound_install_audiodrv +EXPORT_SYMBOL sound/oss/sound 0xa1d5f04f load_mixer_volumes +EXPORT_SYMBOL sound/oss/sound 0xa1eae7cf num_midis +EXPORT_SYMBOL sound/oss/sound 0xa41ead5f sound_unload_timerdev +EXPORT_SYMBOL sound/oss/sound 0xa51c913b sound_unload_mixerdev +EXPORT_SYMBOL sound/oss/sound 0xa6bb414c sound_unload_mididev +EXPORT_SYMBOL sound/oss/sound 0xa948751e sound_unload_audiodev +EXPORT_SYMBOL sound/oss/sound 0xad45df73 midi_synth_close +EXPORT_SYMBOL sound/oss/sound 0xaef743b2 midi_synth_ioctl +EXPORT_SYMBOL sound/oss/sound 0xb14b22cd midi_synth_hw_control +EXPORT_SYMBOL sound/oss/sound 0xb51587f6 do_midi_msg +EXPORT_SYMBOL sound/oss/sound 0xba413f87 sound_alloc_mididev +EXPORT_SYMBOL sound/oss/sound 0xba7dd041 midi_synth_bender +EXPORT_SYMBOL sound/oss/sound 0xc748d109 sound_alloc_synthdev +EXPORT_SYMBOL sound/oss/sound 0xcab4d5bf midi_synth_load_patch +EXPORT_SYMBOL sound/oss/sound 0xcc4b8797 sound_open_dma +EXPORT_SYMBOL sound/oss/sound 0xcf3c03ef sound_install_mixer +EXPORT_SYMBOL sound/oss/sound 0xd85be938 midi_synth_set_instr +EXPORT_SYMBOL sound/oss/sound 0xdb400afa midi_synth_panning +EXPORT_SYMBOL sound/oss/sound 0xe056b71c DMAbuf_start_dma +EXPORT_SYMBOL sound/oss/sound 0xe2675a79 sound_timer_interrupt +EXPORT_SYMBOL sound/oss/sound 0xeb315d99 DMAbuf_inputintr +EXPORT_SYMBOL sound/oss/sound 0xf1ea8a20 midi_synth_aftertouch +EXPORT_SYMBOL sound/oss/sound 0xf6805995 audio_devs +EXPORT_SYMBOL sound/oss/sound 0xf6b3a2fb midi_synth_open +EXPORT_SYMBOL sound/oss/sound 0xf78f6363 sequencer_init +EXPORT_SYMBOL sound/oss/sound 0xfa6871be sound_timer_syncinterval +EXPORT_SYMBOL sound/oss/sound 0xfddcbfb3 midi_synth_send_sysex +EXPORT_SYMBOL sound/oss/uart401 0x049cd8b7 uart401intr +EXPORT_SYMBOL sound/oss/uart401 0x8fde7c8b probe_uart401 +EXPORT_SYMBOL sound/oss/uart401 0xecfdd9c9 unload_uart401 +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0c1ebb23 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x26c34ef2 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2b9b5c7d snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x47d0ed91 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x53506bda snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6252345c snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x771ade59 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x838dc723 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9267ca42 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x92fac979 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa6bdd206 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc8e11bd6 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xca000b60 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xcd898093 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe6ced0ff snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf078d85a snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xfde553dc snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x0da748ba snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x39fae161 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x491c4d38 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x81acd0fa snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa91b9238 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xe7040129 snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xefe789f9 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xf3b02acd snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xfd27d245 snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0xfcf0159f snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x16361d69 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x87529d00 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x8b50512e snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x352d1ba1 snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x37fe855f snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x79e80026 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xa6d07190 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xea3ec349 snd_trident_free_voice +EXPORT_SYMBOL sound/soc/codecs/snd-soc-uda134x 0xca2cf9b5 uda134x_dai +EXPORT_SYMBOL sound/sound_firmware 0x39e3dd23 mod_firmware_load +EXPORT_SYMBOL sound/soundcore 0x2a60fd9f register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x8261c4e5 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x93d013cd register_sound_special +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xa20f93a1 register_sound_midi +EXPORT_SYMBOL sound/soundcore 0xb64c7551 sound_class +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xdef7a76c register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x0940f1e4 snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x160a5f83 snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x39b7b102 snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x70151469 snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xf14d3126 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xf7cdf085 snd_emux_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x17719e3e __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x19721668 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x19c4fbbf snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x7e9699b6 snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x93558410 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xbb30c64d snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0xd005c182 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xd77ecab8 snd_util_memhdr_free +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usb-lib 0xd359e933 snd_usb_create_midi_interface +EXPORT_SYMBOL sound/usb/snd-usb-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x8550bb67 lirc_register_driver +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0xb0f0ee80 lirc_get_pdata +EXPORT_SYMBOL vmlinux 0x00000000 per_cpu__softirq_work_list +EXPORT_SYMBOL vmlinux 0x000a4b6c splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x00295aa1 matrox_G100 +EXPORT_SYMBOL vmlinux 0x004ba127 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x0055f1e2 log_wait_commit +EXPORT_SYMBOL vmlinux 0x005832c5 km_state_expired +EXPORT_SYMBOL vmlinux 0x006172d8 swiotlb_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x007cdf5a dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x00aa415e pci_disable_msi +EXPORT_SYMBOL vmlinux 0x00c2fb00 user_revoke +EXPORT_SYMBOL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL vmlinux 0x00e8097b csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x0102e4be pci_reenable_device +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x0116fa24 key_negate_and_link +EXPORT_SYMBOL vmlinux 0x0122009f simple_set_mnt +EXPORT_SYMBOL vmlinux 0x01233666 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x01356a02 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x01433ebf arp_broken_ops +EXPORT_SYMBOL vmlinux 0x0151c3c5 tcp4_gro_receive +EXPORT_SYMBOL vmlinux 0x0153c7ae proto_unregister +EXPORT_SYMBOL vmlinux 0x01626ae1 tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x017c8e52 generic_delete_inode +EXPORT_SYMBOL vmlinux 0x01811213 mdiobus_free +EXPORT_SYMBOL vmlinux 0x01854e96 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x0198e0c8 km_policy_expired +EXPORT_SYMBOL vmlinux 0x01a4aab6 set_irq_chip_data +EXPORT_SYMBOL vmlinux 0x01ce7f98 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x01db8850 input_release_device +EXPORT_SYMBOL vmlinux 0x01e658b7 blk_insert_request +EXPORT_SYMBOL vmlinux 0x01ef1b6e unlock_page +EXPORT_SYMBOL vmlinux 0x020afd98 nla_reserve +EXPORT_SYMBOL vmlinux 0x02182483 alloc_trdev +EXPORT_SYMBOL vmlinux 0x021bc8d5 submit_bio +EXPORT_SYMBOL vmlinux 0x02384e8d ioremap_flags +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x027bee87 bio_alloc +EXPORT_SYMBOL vmlinux 0x027e826d udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x028d62f7 dma_spin_lock +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02d67c2e scsi_print_command +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02da3b3e tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x03261f34 pci_set_consistent_dma_mask +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x036aca01 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x036bd289 kernel_listen +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x0389e869 flush_icache_user_range +EXPORT_SYMBOL vmlinux 0x0398f61d udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x03b4955a macio_unregister_driver +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03ee0175 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x042fe94c buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x04528b10 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x04543106 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x046b14f4 alloc_pci_dev +EXPORT_SYMBOL vmlinux 0x046be155 scsi_device_get +EXPORT_SYMBOL vmlinux 0x046be2ff tty_unregister_device +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x04a9b8bb slow_work_unregister_user +EXPORT_SYMBOL vmlinux 0x0500058d scsi_get_command +EXPORT_SYMBOL vmlinux 0x05165665 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x0521ba9c netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x055d039f posix_acl_permission +EXPORT_SYMBOL vmlinux 0x055e2910 dev_unicast_add +EXPORT_SYMBOL vmlinux 0x056536f6 drop_super +EXPORT_SYMBOL vmlinux 0x057ce975 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x05a514a1 _insl_ns +EXPORT_SYMBOL vmlinux 0x05b4e835 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x05ca3c2d pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x05cc1c84 sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x061b6f32 pci_pme_active +EXPORT_SYMBOL vmlinux 0x0652efbd bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x0675c7eb atomic64_cmpxchg +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x068c14ab tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x068d4e0c vfs_follow_link +EXPORT_SYMBOL vmlinux 0x0690a292 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x069f7408 dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x06cd24ac tcf_em_register +EXPORT_SYMBOL vmlinux 0x06dc58bf block_invalidatepage +EXPORT_SYMBOL vmlinux 0x06fdf580 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x070cad4c eth_validate_addr +EXPORT_SYMBOL vmlinux 0x071c1a69 set_user_nice +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x0734c226 ida_get_new_above +EXPORT_SYMBOL vmlinux 0x07473fe4 vfs_get_dqblk +EXPORT_SYMBOL vmlinux 0x07527e0d __kfifo_get +EXPORT_SYMBOL vmlinux 0x07627aca blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x076ae5b2 kmap_atomic_prot +EXPORT_SYMBOL vmlinux 0x0772c93d unregister_console +EXPORT_SYMBOL vmlinux 0x0783edb0 register_framebuffer +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x0799c50a param_set_ulong +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 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x0835d0d3 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x086db2ff km_policy_notify +EXPORT_SYMBOL vmlinux 0x08900297 pci_find_bus +EXPORT_SYMBOL vmlinux 0x08958e74 of_iomap +EXPORT_SYMBOL vmlinux 0x089e5b6c __init_rwsem +EXPORT_SYMBOL vmlinux 0x08a64e7c kfifo_free +EXPORT_SYMBOL vmlinux 0x08b66dd6 simple_link +EXPORT_SYMBOL vmlinux 0x08c28f69 bio_split +EXPORT_SYMBOL vmlinux 0x08ed0b62 mac_vmode_to_var +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x096a15cf jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x097d03e4 mpage_readpage +EXPORT_SYMBOL vmlinux 0x0985da55 _read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x0987bdb3 __scm_destroy +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x099b31d9 pci_enable_bridges +EXPORT_SYMBOL vmlinux 0x09b8386a tty_port_hangup +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a4747ff allocate_resource +EXPORT_SYMBOL vmlinux 0x0a590c60 fb_validate_mode +EXPORT_SYMBOL vmlinux 0x0a5afa6d fd_install +EXPORT_SYMBOL vmlinux 0x0a623a29 put_disk +EXPORT_SYMBOL vmlinux 0x0a82b5e0 vfs_dq_transfer +EXPORT_SYMBOL vmlinux 0x0aa4f207 block_write_full_page +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acd8b5a matrox_mystique +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b579e73 tcp_v4_md5_do_add +EXPORT_SYMBOL vmlinux 0x0b5bba02 release_firmware +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b845ad3 tcp_prot +EXPORT_SYMBOL vmlinux 0x0b8c2841 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x0b9ab04d dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x0ba3804f serio_open +EXPORT_SYMBOL vmlinux 0x0ba9f282 pci_get_slot +EXPORT_SYMBOL vmlinux 0x0bdcb5e1 pci_restore_state +EXPORT_SYMBOL vmlinux 0x0be3d85e neigh_seq_start +EXPORT_SYMBOL vmlinux 0x0be4e7bc tcp_poll +EXPORT_SYMBOL vmlinux 0x0c12e626 __debugger_bpt +EXPORT_SYMBOL vmlinux 0x0c25c6fc skb_copy_expand +EXPORT_SYMBOL vmlinux 0x0c4214ea scsi_scan_target +EXPORT_SYMBOL vmlinux 0x0c45fbfb pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x0c4a5e81 skb_gso_segment +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c7fab18 add_timer +EXPORT_SYMBOL vmlinux 0x0c888857 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0c9b6089 nvram_get_size +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0d241bca netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d7299b8 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x0d76ff00 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x0d7a6c49 pci_fixup_device +EXPORT_SYMBOL vmlinux 0x0d838ca2 cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0da152d0 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0x0dbf38b8 mol_trampoline +EXPORT_SYMBOL vmlinux 0x0de2c763 dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x0de81b18 fb_show_logo +EXPORT_SYMBOL vmlinux 0x0dee46d8 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x0df15005 _spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x0df3861d blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x0dffca6f tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x0e2d16c3 proc_dointvec +EXPORT_SYMBOL vmlinux 0x0e4d0266 get_disk +EXPORT_SYMBOL vmlinux 0x0e52592a panic +EXPORT_SYMBOL vmlinux 0x0e56783a pcim_iomap +EXPORT_SYMBOL vmlinux 0x0e9d841a __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x0ea26c2a phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x0ed0bb84 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x0ef20db1 kernstart_addr +EXPORT_SYMBOL vmlinux 0x0ef22ade remove_wait_queue +EXPORT_SYMBOL vmlinux 0x0f0fb85b matroxfb_enable_irq +EXPORT_SYMBOL vmlinux 0x0f1ef871 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x0f28cb91 nvram_read_byte +EXPORT_SYMBOL vmlinux 0x0f2c9a1d find_lock_page +EXPORT_SYMBOL vmlinux 0x0f3d9ef7 __kfifo_put +EXPORT_SYMBOL vmlinux 0x0f3db073 journal_abort +EXPORT_SYMBOL vmlinux 0x0f4c4f82 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x0f5413c8 __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0x0f57d5ae _read_unlock_bh +EXPORT_SYMBOL vmlinux 0x0f7a1a16 alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x0f7c43d8 bio_add_page +EXPORT_SYMBOL vmlinux 0x0fb639f0 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x0fc0c348 sk_alloc +EXPORT_SYMBOL vmlinux 0x0fc25337 mdiobus_alloc +EXPORT_SYMBOL vmlinux 0x0fec8ca8 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x1008b4d6 dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x1015a9c2 skb_dma_unmap +EXPORT_SYMBOL vmlinux 0x105e2727 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x1082e38f blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x108e8985 param_get_uint +EXPORT_SYMBOL vmlinux 0x10edad7e tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x10f8c934 input_free_device +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x113d3436 idr_pre_get +EXPORT_SYMBOL vmlinux 0x115a6577 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x11663cec adb_register +EXPORT_SYMBOL vmlinux 0x1168fbad scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x1172c40e alloc_file +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x11910e58 of_register_spi_devices +EXPORT_SYMBOL vmlinux 0x11a41041 _write_lock_irqsave +EXPORT_SYMBOL vmlinux 0x11b69485 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x11f8277d per_cpu__cpu_core_map +EXPORT_SYMBOL vmlinux 0x11f92ca5 remove_inode_hash +EXPORT_SYMBOL vmlinux 0x1210e9c3 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x122b9d83 ida_pre_get +EXPORT_SYMBOL vmlinux 0x122de87a neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x12387199 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x1260a1ca fsync_bdev +EXPORT_SYMBOL vmlinux 0x1268615d eth_rebuild_header +EXPORT_SYMBOL vmlinux 0x12696a41 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x12797492 skb_under_panic +EXPORT_SYMBOL vmlinux 0x12935638 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x12cb3a8d skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x12da5bb2 __kmalloc +EXPORT_SYMBOL vmlinux 0x12e5ef0c rtas_set_power_level +EXPORT_SYMBOL vmlinux 0x12ea7d11 do_mmap_pgoff +EXPORT_SYMBOL vmlinux 0x12ff4298 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x13083c2a pagecache_write_end +EXPORT_SYMBOL vmlinux 0x130c9b8a sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x131ce413 clear_user_page +EXPORT_SYMBOL vmlinux 0x131d7fe0 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x1379fa46 delayed_slow_work_enqueue +EXPORT_SYMBOL vmlinux 0x1383a115 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x13bf0b57 dcache_dir_open +EXPORT_SYMBOL vmlinux 0x1407c6e7 kmap_prot +EXPORT_SYMBOL vmlinux 0x142f81a2 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x1437d144 bio_map_kern +EXPORT_SYMBOL vmlinux 0x1495665a blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0x14bae760 pci_remove_bus +EXPORT_SYMBOL vmlinux 0x14bc9b99 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x14efd0c3 ethtool_op_get_tx_csum +EXPORT_SYMBOL vmlinux 0x14f5ff8e cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x150391ac tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x1516d955 key_put +EXPORT_SYMBOL vmlinux 0x153c882c cdrom_release +EXPORT_SYMBOL vmlinux 0x154b0f24 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x155e9f64 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x159613af tcf_exts_change +EXPORT_SYMBOL vmlinux 0x15b7c998 d_genocide +EXPORT_SYMBOL vmlinux 0x15ce58d0 seq_lseek +EXPORT_SYMBOL vmlinux 0x15d8b659 skb_insert +EXPORT_SYMBOL vmlinux 0x15ed95d3 _read_lock +EXPORT_SYMBOL vmlinux 0x15fa359b unload_nls +EXPORT_SYMBOL vmlinux 0x160bd45c rtas_token +EXPORT_SYMBOL vmlinux 0x16250200 _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x163c5e39 twl4030_i2c_read +EXPORT_SYMBOL vmlinux 0x1677d7b4 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x168423ec request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0x1712ec87 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x171786cb i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x171dce06 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x172ecaa2 vlan_gro_receive +EXPORT_SYMBOL vmlinux 0x172ecca1 audit_log_start +EXPORT_SYMBOL vmlinux 0x1746cda5 dev_addr_add +EXPORT_SYMBOL vmlinux 0x175e1ed0 dma_pool_create +EXPORT_SYMBOL vmlinux 0x175f2ae8 dquot_transfer +EXPORT_SYMBOL vmlinux 0x179ec4b8 dcache_lock +EXPORT_SYMBOL vmlinux 0x17a888b9 lro_vlan_hwaccel_receive_frags +EXPORT_SYMBOL vmlinux 0x17aa156a __ucmpdi2 +EXPORT_SYMBOL vmlinux 0x17abe85b skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x17b296ec kthread_create +EXPORT_SYMBOL vmlinux 0x17bb9095 console_start +EXPORT_SYMBOL vmlinux 0x17cdd7f0 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x17ffbaef skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x18165e01 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x185420b1 security_d_instantiate +EXPORT_SYMBOL vmlinux 0x186c7c26 ethtool_op_set_ufo +EXPORT_SYMBOL vmlinux 0x186d4632 scsi_device_put +EXPORT_SYMBOL vmlinux 0x189b6ae0 bdi_register +EXPORT_SYMBOL vmlinux 0x18e8115c ethtool_op_set_tx_csum +EXPORT_SYMBOL vmlinux 0x19182e02 clocksource_register +EXPORT_SYMBOL vmlinux 0x1932ff9e blk_end_request_all +EXPORT_SYMBOL vmlinux 0x1960c004 sock_no_bind +EXPORT_SYMBOL vmlinux 0x19610e1f cpu_all_bits +EXPORT_SYMBOL vmlinux 0x1976bc16 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x1990aed8 udp_prot +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19a9b7d3 ip_route_input +EXPORT_SYMBOL vmlinux 0x19cbb4b5 down_timeout +EXPORT_SYMBOL vmlinux 0x19d17cde blk_make_request +EXPORT_SYMBOL vmlinux 0x1a2bb5f4 inode_setattr +EXPORT_SYMBOL vmlinux 0x1a39eacb fb_blank +EXPORT_SYMBOL vmlinux 0x1a544680 tcf_hash_check +EXPORT_SYMBOL vmlinux 0x1a6a128d __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x1a6c5672 journal_revoke +EXPORT_SYMBOL vmlinux 0x1a754580 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x1a8bf7ef bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x1aa5e518 pcibios_fixup_bus +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1ace76ca scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0x1ad8621b dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x1ad97b97 of_get_mac_address +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b0d1322 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x1b15bfce napi_gro_flush +EXPORT_SYMBOL vmlinux 0x1b16092a dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x1b26633e may_umount +EXPORT_SYMBOL vmlinux 0x1b2e8693 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x1b451a02 input_unregister_device +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b8e8666 dquot_reserve_space +EXPORT_SYMBOL vmlinux 0x1b9981cc set_irq_wake +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1ba1f814 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x1bc4ff03 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x1bcc42ed get_pci_dma_ops +EXPORT_SYMBOL vmlinux 0x1bcc9508 security_path_link +EXPORT_SYMBOL vmlinux 0x1bec832b __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x1c0ef94a per_cpu____irq_regs +EXPORT_SYMBOL vmlinux 0x1c1af916 set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x1c1b2318 vfs_set_dqblk +EXPORT_SYMBOL vmlinux 0x1c5b2c15 pmu_wait_complete +EXPORT_SYMBOL vmlinux 0x1c611259 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x1c7617ea file_remove_suid +EXPORT_SYMBOL vmlinux 0x1c7727ef mnt_unpin +EXPORT_SYMBOL vmlinux 0x1c80de9c ip_send_check +EXPORT_SYMBOL vmlinux 0x1cc1ae61 tty_port_close_end +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1cd76330 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x1cf02bcf inet_frags_init +EXPORT_SYMBOL vmlinux 0x1cf069e2 handle_sysrq +EXPORT_SYMBOL vmlinux 0x1cf7b37f vga_tryget +EXPORT_SYMBOL vmlinux 0x1cfc5490 set_binfmt +EXPORT_SYMBOL vmlinux 0x1d050d88 bdi_unregister +EXPORT_SYMBOL vmlinux 0x1d2e87c6 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x1d3c1faa idr_get_new_above +EXPORT_SYMBOL vmlinux 0x1d6919a0 load_nls_default +EXPORT_SYMBOL vmlinux 0x1d7223eb phy_enable_interrupts +EXPORT_SYMBOL vmlinux 0x1d97bf8c napi_gro_frags +EXPORT_SYMBOL vmlinux 0x1d9bd196 filp_open +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1df1fbd1 of_get_next_child +EXPORT_SYMBOL vmlinux 0x1dfb5f44 irq_desc +EXPORT_SYMBOL vmlinux 0x1e1e8c9b bdput +EXPORT_SYMBOL vmlinux 0x1e298dce input_set_capability +EXPORT_SYMBOL vmlinux 0x1e45cc4f dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x1e4b5544 llc_sap_find +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e97033c blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x1ea0438a pci_read_irq_line +EXPORT_SYMBOL vmlinux 0x1ebbd43c blk_rq_init +EXPORT_SYMBOL vmlinux 0x1ec18f7d pci_request_region +EXPORT_SYMBOL vmlinux 0x1ecb9943 posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x1eccbb1f generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x1efe283f __cap_full_set +EXPORT_SYMBOL vmlinux 0x1f1ebaf6 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x1f5549cd up_write +EXPORT_SYMBOL vmlinux 0x1f5c5d86 register_nls +EXPORT_SYMBOL vmlinux 0x1fc408c4 set_bdi_congested +EXPORT_SYMBOL vmlinux 0x1fcb4ab7 copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x1ff00937 dqput +EXPORT_SYMBOL vmlinux 0x1ff69dd8 vfs_fstatat +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x20030ecd ioremap +EXPORT_SYMBOL vmlinux 0x20385c58 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x206484af sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x20ab5b82 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x20c3d5aa tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x20c57ddd jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x20d9a292 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x20e1faf6 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x20e2d580 __ide_dma_bad_drive +EXPORT_SYMBOL vmlinux 0x214d31d2 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x21657567 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x21692920 scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x21708c1a pci_enable_wake +EXPORT_SYMBOL vmlinux 0x217f7106 input_flush_device +EXPORT_SYMBOL vmlinux 0x21a42477 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x21b17e50 pci_assign_resource +EXPORT_SYMBOL vmlinux 0x21f0a223 d_rehash +EXPORT_SYMBOL vmlinux 0x2207420c eth_header +EXPORT_SYMBOL vmlinux 0x22283c29 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x222dfe2a sysctl_intvec +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x22436ddf deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x22514386 inet_stream_ops +EXPORT_SYMBOL vmlinux 0x226e86a9 audit_log +EXPORT_SYMBOL vmlinux 0x2279a092 simple_getattr +EXPORT_SYMBOL vmlinux 0x2288378f system_state +EXPORT_SYMBOL vmlinux 0x2288c4d6 alloc_netdev_mq +EXPORT_SYMBOL vmlinux 0x22a73912 __tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x22afb7c0 dev_unicast_delete +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22b6533b xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x22c4d7c9 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x22ca4cc3 dq_data_lock +EXPORT_SYMBOL vmlinux 0x22eff463 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x22f13be6 tcp_check_req +EXPORT_SYMBOL vmlinux 0x231068f1 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x23269a13 strict_strtoul +EXPORT_SYMBOL vmlinux 0x2351e153 vc_cons +EXPORT_SYMBOL vmlinux 0x235491d8 poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x2366f0c7 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x236ced39 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x237f23f6 swiotlb_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x2383c0e1 netlink_broadcast +EXPORT_SYMBOL vmlinux 0x2398e4ae find_get_page +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x23ff9ca4 dev_addr_del +EXPORT_SYMBOL vmlinux 0x241669c9 may_umount_tree +EXPORT_SYMBOL vmlinux 0x2422a316 blk_init_queue +EXPORT_SYMBOL vmlinux 0x2446a562 kill_fasync +EXPORT_SYMBOL vmlinux 0x244be0c8 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x24560568 tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0x24568db5 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x24736250 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x24d34647 pci_release_regions +EXPORT_SYMBOL vmlinux 0x24f5e6e8 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x250113b4 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x250fcde5 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x252cc8dd eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x2581543c complete +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258355b4 fb_find_best_mode +EXPORT_SYMBOL vmlinux 0x25882c95 vfs_read +EXPORT_SYMBOL vmlinux 0x25c68bec set_bh_page +EXPORT_SYMBOL vmlinux 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL vmlinux 0x25f3bd2e atomic64_xchg +EXPORT_SYMBOL vmlinux 0x25fba81b __rta_fill +EXPORT_SYMBOL vmlinux 0x25ff8a25 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x2600ee52 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x26024f81 dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x26269f2b kunmap_atomic +EXPORT_SYMBOL vmlinux 0x26477c07 __vmalloc +EXPORT_SYMBOL vmlinux 0x264c8f29 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x26536915 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x265e95e5 lookup_one_len +EXPORT_SYMBOL vmlinux 0x267fc65b __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x26932928 unregister_quota_format +EXPORT_SYMBOL vmlinux 0x26a54f6f scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0x26a5c46c kmem_cache_name +EXPORT_SYMBOL vmlinux 0x26a672e7 put_mnt_ns +EXPORT_SYMBOL vmlinux 0x26e56c10 eth_header_cache +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x2705470f blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x271f1f09 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x271f4d2a finish_wait +EXPORT_SYMBOL vmlinux 0x2727470c kthread_bind +EXPORT_SYMBOL vmlinux 0x272c9acd pmu_battery_count +EXPORT_SYMBOL vmlinux 0x2735c59d submit_bh +EXPORT_SYMBOL vmlinux 0x273e199d pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x27532927 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x27790a38 mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x279969c1 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c61ece qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x27dd8570 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x27de730d filp_close +EXPORT_SYMBOL vmlinux 0x27f47ba6 inet_frag_evictor +EXPORT_SYMBOL vmlinux 0x2811764b skb_make_writable +EXPORT_SYMBOL vmlinux 0x2835e24a netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x285ac517 strict_strtoll +EXPORT_SYMBOL vmlinux 0x2885c707 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x289ca9fb rtas +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28afa688 phy_device_free +EXPORT_SYMBOL vmlinux 0x28b1e9c3 netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0x28bad70d register_exec_domain +EXPORT_SYMBOL vmlinux 0x28cf3e70 up +EXPORT_SYMBOL vmlinux 0x28ecfbac tcp_splice_read +EXPORT_SYMBOL vmlinux 0x28f48c53 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x290e023e tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x2937d9cb eth_mac_addr +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x29766a93 down_killable +EXPORT_SYMBOL vmlinux 0x297792be sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x297a04e6 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x29a41629 vm_map_ram +EXPORT_SYMBOL vmlinux 0x29b13d4c pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0x29b2c59f dentry_open +EXPORT_SYMBOL vmlinux 0x29bd4c46 __cap_init_eff_set +EXPORT_SYMBOL vmlinux 0x29cf5ebd vfs_link +EXPORT_SYMBOL vmlinux 0x29d8fde4 have_submounts +EXPORT_SYMBOL vmlinux 0x29e5ec82 tcp_ioctl +EXPORT_SYMBOL vmlinux 0x29fcbd1f hippi_neigh_setup_dev +EXPORT_SYMBOL vmlinux 0x2a16e6d0 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a471cf9 elv_rb_add +EXPORT_SYMBOL vmlinux 0x2a4c31ab __serio_register_driver +EXPORT_SYMBOL vmlinux 0x2a50f487 neigh_update +EXPORT_SYMBOL vmlinux 0x2a5f171e __netdev_alloc_page +EXPORT_SYMBOL vmlinux 0x2a745248 blk_start_queue +EXPORT_SYMBOL vmlinux 0x2a90819a skb_push +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2ab94431 netpoll_setup +EXPORT_SYMBOL vmlinux 0x2aba9e62 read_cache_page +EXPORT_SYMBOL vmlinux 0x2acf96c9 swiotlb_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0x2ad374c3 bdi_destroy +EXPORT_SYMBOL vmlinux 0x2add1951 input_event +EXPORT_SYMBOL vmlinux 0x2ae6a301 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x2b02987f con_copy_unimap +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b12925d cpumask_next_and +EXPORT_SYMBOL vmlinux 0x2b22e1dc ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x2b25e9be of_device_is_available +EXPORT_SYMBOL vmlinux 0x2b38c6cc __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x2b4e6bc4 vfs_write +EXPORT_SYMBOL vmlinux 0x2b5e8557 register_filesystem +EXPORT_SYMBOL vmlinux 0x2b798f15 fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0x2b87747f of_find_node_by_path +EXPORT_SYMBOL vmlinux 0x2b91055b kmem_cache_create +EXPORT_SYMBOL vmlinux 0x2ba2d38b cdev_index +EXPORT_SYMBOL vmlinux 0x2ba3c9a2 get_user_pages +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2ba78f11 giveup_fpu +EXPORT_SYMBOL vmlinux 0x2bc61da1 program_check_exception +EXPORT_SYMBOL vmlinux 0x2bc868e3 qdisc_reset +EXPORT_SYMBOL vmlinux 0x2bdc334a fb_pan_display +EXPORT_SYMBOL vmlinux 0x2c293171 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x2c74679d sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x2c94dde7 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x2c973547 lookup_bdev +EXPORT_SYMBOL vmlinux 0x2cb462a1 bdevname +EXPORT_SYMBOL vmlinux 0x2d5bd409 netif_device_detach +EXPORT_SYMBOL vmlinux 0x2d65163a __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x2d669d8c ___pskb_trim +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2d9b6cdb page_follow_link_light +EXPORT_SYMBOL vmlinux 0x2dc357be names_cachep +EXPORT_SYMBOL vmlinux 0x2dcb0123 schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x2e0d082b swiotlb_dma_supported +EXPORT_SYMBOL vmlinux 0x2e118005 dev_remove_pack +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e45c9e8 phy_stop +EXPORT_SYMBOL vmlinux 0x2e4a39f8 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x2e50c117 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x2e7c4302 journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x2e9011f6 __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x2f0948ce swiotlb_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x2f0d2efd scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0x2f25e989 cfb_copyarea +EXPORT_SYMBOL vmlinux 0x2f5813b7 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x2f609640 macio_request_resource +EXPORT_SYMBOL vmlinux 0x2f749f92 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x2f763865 pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0x2fb09fa6 dquot_release_reserved_space +EXPORT_SYMBOL vmlinux 0x2fb66665 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x2fd81df8 dev_alloc_skb +EXPORT_SYMBOL vmlinux 0x3040e73e simple_fsync +EXPORT_SYMBOL vmlinux 0x307da331 scsi_remove_host +EXPORT_SYMBOL vmlinux 0x3095e63f cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x30b1df5b sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x30ea13c7 tty_write_room +EXPORT_SYMBOL vmlinux 0x310092e6 pci_match_id +EXPORT_SYMBOL vmlinux 0x3101b861 get_sb_bdev +EXPORT_SYMBOL vmlinux 0x310917fe sort +EXPORT_SYMBOL vmlinux 0x31121fe1 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x311ac9ee seq_bitmap +EXPORT_SYMBOL vmlinux 0x311b4fd2 page_put_link +EXPORT_SYMBOL vmlinux 0x312ff785 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x31448a4a mempool_create_node +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x315208c0 otg_get_transceiver +EXPORT_SYMBOL vmlinux 0x3152a86f register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x3166878b neigh_lookup +EXPORT_SYMBOL vmlinux 0x316978fb inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x316c3c10 seq_open_private +EXPORT_SYMBOL vmlinux 0x318810b9 idr_find +EXPORT_SYMBOL vmlinux 0x3191f109 __krealloc +EXPORT_SYMBOL vmlinux 0x31cc3e1b deny_write_access +EXPORT_SYMBOL vmlinux 0x32090956 scsi_execute +EXPORT_SYMBOL vmlinux 0x3217c4f0 dquot_free_space +EXPORT_SYMBOL vmlinux 0x32214d26 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x3233ce06 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x324ddf5c phy_register_fixup +EXPORT_SYMBOL vmlinux 0x326df9e1 vfs_stat +EXPORT_SYMBOL vmlinux 0x32746ac1 dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x327b9c1b pmu_poll_adb +EXPORT_SYMBOL vmlinux 0x3285cc48 param_set_uint +EXPORT_SYMBOL vmlinux 0x328a05f1 strncpy +EXPORT_SYMBOL vmlinux 0x32ac0acf scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x32b1226f input_get_keycode +EXPORT_SYMBOL vmlinux 0x32d1d586 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x32d3b0e8 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x32e0db0d of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x33062dfd __dst_free +EXPORT_SYMBOL vmlinux 0x3318cc22 scsi_host_get +EXPORT_SYMBOL vmlinux 0x332211fa scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x339d4841 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x33b3949a add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page +EXPORT_SYMBOL vmlinux 0x341a0bae pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0x341dbfa3 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x342d4db8 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x344adbd5 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x3457cb68 param_set_long +EXPORT_SYMBOL vmlinux 0x3460b3ff register_netdevice +EXPORT_SYMBOL vmlinux 0x3469e7ca pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x348b84b6 journal_ack_err +EXPORT_SYMBOL vmlinux 0x34908c14 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34bfc5e4 slow_work_sleep_till_thread_needed +EXPORT_SYMBOL vmlinux 0x34e1cf2d phy_start_interrupts +EXPORT_SYMBOL vmlinux 0x34f6cb6e fail_migrate_page +EXPORT_SYMBOL vmlinux 0x3529c4b1 skb_copy +EXPORT_SYMBOL vmlinux 0x3531f8f0 datagram_poll +EXPORT_SYMBOL vmlinux 0x35413767 blk_queue_max_hw_segments +EXPORT_SYMBOL vmlinux 0x355d47c5 splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0x358aadaa inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x35a5dbfa genl_unregister_ops +EXPORT_SYMBOL vmlinux 0x35b66cfc sock_register +EXPORT_SYMBOL vmlinux 0x35c2ba9e refrigerator +EXPORT_SYMBOL vmlinux 0x35ce514a do_SAK +EXPORT_SYMBOL vmlinux 0x35d64381 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x35da2e61 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x35ee9d9a macio_release_resource +EXPORT_SYMBOL vmlinux 0x361070c1 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x3618b95e kmem_cache_free +EXPORT_SYMBOL vmlinux 0x36265e6d notify_change +EXPORT_SYMBOL vmlinux 0x3644f319 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x3656bf5a lock_kernel +EXPORT_SYMBOL vmlinux 0x3663d4d9 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x366eeaba end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x368a9785 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x36b7242b of_phy_connect_fixed_link +EXPORT_SYMBOL vmlinux 0x36cccf17 proc_dostring +EXPORT_SYMBOL vmlinux 0x36dad625 seq_path +EXPORT_SYMBOL vmlinux 0x36f4955f sg_next +EXPORT_SYMBOL vmlinux 0x3709d60b tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x37112152 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x371d2130 check_legacy_ioport +EXPORT_SYMBOL vmlinux 0x37383edd rtas_get_power_level +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x374b9f66 gen_pool_alloc +EXPORT_SYMBOL vmlinux 0x374bf817 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x374ed073 scnprintf +EXPORT_SYMBOL vmlinux 0x37933920 dm_table_unplug_all +EXPORT_SYMBOL vmlinux 0x379c2866 sock_create +EXPORT_SYMBOL vmlinux 0x37a9798f mempool_free +EXPORT_SYMBOL vmlinux 0x37aa5477 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x37b583f3 sk_run_filter +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37d02616 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x37d3eca2 wake_up_process +EXPORT_SYMBOL vmlinux 0x37d5a12e xfrm_init_state +EXPORT_SYMBOL vmlinux 0x37e74642 get_jiffies_64 +EXPORT_SYMBOL vmlinux 0x37fba18e alloc_disk +EXPORT_SYMBOL vmlinux 0x381c4bb1 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x383ab5b9 mb_cache_shrink +EXPORT_SYMBOL vmlinux 0x387b722d security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x38885cce neigh_create +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38b92846 llc_remove_pack +EXPORT_SYMBOL vmlinux 0x38c4f3e6 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x38dba916 netdev_set_master +EXPORT_SYMBOL vmlinux 0x38fb9933 tty_std_termios +EXPORT_SYMBOL vmlinux 0x3906b93c _spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x39192d33 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x3922d605 _spin_trylock +EXPORT_SYMBOL vmlinux 0x39505d82 DAC1064_global_init +EXPORT_SYMBOL vmlinux 0x396d09f3 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x39772ec8 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x398fc1da ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x39a6918d slow_work_register_user +EXPORT_SYMBOL vmlinux 0x39a90d6a __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x39ca1964 irq_stat +EXPORT_SYMBOL vmlinux 0x39d4c204 dm_table_event +EXPORT_SYMBOL vmlinux 0x39e4e74f cpu_sysdev_class +EXPORT_SYMBOL vmlinux 0x39ea0d34 mach_powermac +EXPORT_SYMBOL vmlinux 0x3a03fc0d devm_ioremap_prot +EXPORT_SYMBOL vmlinux 0x3a11b3cb udp_sendmsg +EXPORT_SYMBOL vmlinux 0x3a1d2ac3 journal_wipe +EXPORT_SYMBOL vmlinux 0x3a2204c6 security_netlink_recv +EXPORT_SYMBOL vmlinux 0x3a259280 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x3a7549f4 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0x3a8be7ce inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3aa847c5 ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x3aab396b seq_escape +EXPORT_SYMBOL vmlinux 0x3ac598e6 udp_proc_unregister +EXPORT_SYMBOL vmlinux 0x3adddf17 devm_iounmap +EXPORT_SYMBOL vmlinux 0x3ae831b6 kref_init +EXPORT_SYMBOL vmlinux 0x3af74ce8 update_region +EXPORT_SYMBOL vmlinux 0x3afed8b6 bio_kmalloc +EXPORT_SYMBOL vmlinux 0x3afef4eb dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x3b13abac kick_iocb +EXPORT_SYMBOL vmlinux 0x3b22dc64 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x3b235c58 page_address +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b4a8aa8 pci_get_bus_and_slot +EXPORT_SYMBOL vmlinux 0x3b50cdb1 sk_release_kernel +EXPORT_SYMBOL vmlinux 0x3b97702c cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x3bb78130 set_current_groups +EXPORT_SYMBOL vmlinux 0x3bb8de47 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bf74912 dquot_commit +EXPORT_SYMBOL vmlinux 0x3bf8d74b tty_register_driver +EXPORT_SYMBOL vmlinux 0x3bfc8417 unregister_cdrom +EXPORT_SYMBOL vmlinux 0x3bfcd91d scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x3c0df92e sk_free +EXPORT_SYMBOL vmlinux 0x3c1bf24d posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0x3c23993c mdiobus_register +EXPORT_SYMBOL vmlinux 0x3c2974ef llc_sap_open +EXPORT_SYMBOL vmlinux 0x3c2c5af5 sprintf +EXPORT_SYMBOL vmlinux 0x3c6b68a7 bdi_init +EXPORT_SYMBOL vmlinux 0x3c6c8eb8 g450_mnp2f +EXPORT_SYMBOL vmlinux 0x3c79514b sk_stream_error +EXPORT_SYMBOL vmlinux 0x3c988291 vfs_quota_on_path +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3ca5461e __tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x3cbb9084 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x3cc0a3bb xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x3ce36dbb get_empty_filp +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3d02b903 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x3d0601ec kobject_set_name +EXPORT_SYMBOL vmlinux 0x3d06a5bf journal_set_features +EXPORT_SYMBOL vmlinux 0x3d0e3c8b cdrom_open +EXPORT_SYMBOL vmlinux 0x3d1819f9 framebuffer_release +EXPORT_SYMBOL vmlinux 0x3d2ee169 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x3d522e47 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x3d6481f2 init_timer_key +EXPORT_SYMBOL vmlinux 0x3d68bd4b flow_cache_genid +EXPORT_SYMBOL vmlinux 0x3daa69da vfs_lstat +EXPORT_SYMBOL vmlinux 0x3dd5fb0d tty_port_close +EXPORT_SYMBOL vmlinux 0x3ddab590 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x3de73649 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x3dfa3d9e arp_xmit +EXPORT_SYMBOL vmlinux 0x3e0da0d2 serio_rescan +EXPORT_SYMBOL vmlinux 0x3e1657c1 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x3e383385 nf_hooks +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e6995a4 path_put +EXPORT_SYMBOL vmlinux 0x3e7d8680 matrox_cfbX_init +EXPORT_SYMBOL vmlinux 0x3e839460 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x3e899c9d blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x3ec7d1f7 generic_file_aio_read +EXPORT_SYMBOL vmlinux 0x3ecff5a5 bio_map_user +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3ef7138f pci_disable_msix +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f406a3b enable_kernel_altivec +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f51f6a9 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x3f812605 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x3fc8de14 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x40198616 seq_read +EXPORT_SYMBOL vmlinux 0x4022e52c is_container_init +EXPORT_SYMBOL vmlinux 0x40436272 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x40488124 sg_last +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x407568d0 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x40a27c37 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x40b869f0 sock_wfree +EXPORT_SYMBOL vmlinux 0x40b908c9 sock_i_uid +EXPORT_SYMBOL vmlinux 0x40bbf868 skb_store_bits +EXPORT_SYMBOL vmlinux 0x40cfcc7d check_media_bay +EXPORT_SYMBOL vmlinux 0x40f1ad10 tb_ticks_per_jiffy +EXPORT_SYMBOL vmlinux 0x40f1d890 phy_attach_direct +EXPORT_SYMBOL vmlinux 0x4101a975 ide_fixstring +EXPORT_SYMBOL vmlinux 0x4101bbde param_set_copystring +EXPORT_SYMBOL vmlinux 0x4108e69a fb_match_mode +EXPORT_SYMBOL vmlinux 0x41166725 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x4124a9ba neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x412c54be dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x41344088 param_get_charp +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x415714b6 down_read +EXPORT_SYMBOL vmlinux 0x416983d9 netdev_fix_features +EXPORT_SYMBOL vmlinux 0x4185cf4b radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x418cc54a generic_listxattr +EXPORT_SYMBOL vmlinux 0x41abb861 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x41adcb50 dm_io_client_create +EXPORT_SYMBOL vmlinux 0x41ca965e sysctl_data +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x42171ae9 dev_get_flags +EXPORT_SYMBOL vmlinux 0x42224298 sscanf +EXPORT_SYMBOL vmlinux 0x42347de1 tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x4264c470 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x4289319c inet_sendmsg +EXPORT_SYMBOL vmlinux 0x429328d9 _spin_lock +EXPORT_SYMBOL vmlinux 0x42a9c8cc blk_queue_max_phys_segments +EXPORT_SYMBOL vmlinux 0x42cd0c06 arp_send +EXPORT_SYMBOL vmlinux 0x42ce1e6c i2c_transfer +EXPORT_SYMBOL vmlinux 0x42ef23b1 aio_complete +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x432f6e1e ppc_md +EXPORT_SYMBOL vmlinux 0x4333eadb param_set_short +EXPORT_SYMBOL vmlinux 0x434fa55c release_console_sem +EXPORT_SYMBOL vmlinux 0x4362e3eb blk_start_request +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x43862167 inode_add_bytes +EXPORT_SYMBOL vmlinux 0x439e1b94 phy_disconnect +EXPORT_SYMBOL vmlinux 0x43ab66c3 param_array_get +EXPORT_SYMBOL vmlinux 0x43b07de1 ps2_drain +EXPORT_SYMBOL vmlinux 0x43b1cb4e skb_clone +EXPORT_SYMBOL vmlinux 0x43d3d249 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x43d92b65 generic_writepages +EXPORT_SYMBOL vmlinux 0x43e0fe5f lro_vlan_hwaccel_receive_skb +EXPORT_SYMBOL vmlinux 0x43fbaf1b pagevec_lookup +EXPORT_SYMBOL vmlinux 0x44161c19 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x44314efb radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x444779c4 nla_find +EXPORT_SYMBOL vmlinux 0x445142a2 pci_choose_state +EXPORT_SYMBOL vmlinux 0x446deb3a write_cache_pages +EXPORT_SYMBOL vmlinux 0x44923f1a read_cache_page_async +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44d3d9e3 pci_enable_device +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x45244da6 dev_open +EXPORT_SYMBOL vmlinux 0x4538f7d0 tty_hangup +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x454abe61 kmalloc_caches +EXPORT_SYMBOL vmlinux 0x4550ba8a register_cpu_notifier +EXPORT_SYMBOL vmlinux 0x456ad48f pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x4575315d utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x45760b3f dquot_claim_space +EXPORT_SYMBOL vmlinux 0x458d2295 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x45947727 param_array_set +EXPORT_SYMBOL vmlinux 0x4596db6a sys_sigreturn +EXPORT_SYMBOL vmlinux 0x45b0ae5c simple_pin_fs +EXPORT_SYMBOL vmlinux 0x45cacee3 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x45ce3de1 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x45d0895d init_special_inode +EXPORT_SYMBOL vmlinux 0x45d51239 generic_write_end +EXPORT_SYMBOL vmlinux 0x46043bee pci_get_subsys +EXPORT_SYMBOL vmlinux 0x4616082d inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0x461ebfa0 __copy_tofrom_user +EXPORT_SYMBOL vmlinux 0x4621ffc6 input_close_device +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x463b110d inet_listen +EXPORT_SYMBOL vmlinux 0x4655e1a1 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x465757c3 cpu_present_mask +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x46b28adc inode_set_bytes +EXPORT_SYMBOL vmlinux 0x46bcaeae inet_add_protocol +EXPORT_SYMBOL vmlinux 0x46ec46e3 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x471788e0 flush_tlb_page +EXPORT_SYMBOL vmlinux 0x472d2a9a radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x473bedae genphy_suspend +EXPORT_SYMBOL vmlinux 0x474726a9 inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0x4748b795 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x475db82f pci_dev_get +EXPORT_SYMBOL vmlinux 0x476feb53 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x47981484 is_bad_inode +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47cc5cd5 aio_put_req +EXPORT_SYMBOL vmlinux 0x47d4c32c posix_test_lock +EXPORT_SYMBOL vmlinux 0x48039c05 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x481ce6ce cpu_active_mask +EXPORT_SYMBOL vmlinux 0x482fb688 __page_symlink +EXPORT_SYMBOL vmlinux 0x483744f9 file_update_time +EXPORT_SYMBOL vmlinux 0x485709ee free_netdev +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486b6407 hweight64 +EXPORT_SYMBOL vmlinux 0x48813591 tc_classify_compat +EXPORT_SYMBOL vmlinux 0x4881efab pmac_get_partition +EXPORT_SYMBOL vmlinux 0x4899d106 filemap_fdatawait +EXPORT_SYMBOL vmlinux 0x48c1d080 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x48c638be secpath_dup +EXPORT_SYMBOL vmlinux 0x48d4549a set_device_ro +EXPORT_SYMBOL vmlinux 0x48fc2e1f iunique +EXPORT_SYMBOL vmlinux 0x49439411 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x495ba53b destroy_EII_client +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x4960fe16 skb_seq_read +EXPORT_SYMBOL vmlinux 0x4969a3f9 address_space_init_once +EXPORT_SYMBOL vmlinux 0x4991274a override_creds +EXPORT_SYMBOL vmlinux 0x49acc70a tty_unthrottle +EXPORT_SYMBOL vmlinux 0x49b7a12c macio_register_driver +EXPORT_SYMBOL vmlinux 0x49d43004 pci_scan_slot +EXPORT_SYMBOL vmlinux 0x49d7007f pci_set_dma_mask +EXPORT_SYMBOL vmlinux 0x49e182c0 param_get_string +EXPORT_SYMBOL vmlinux 0x49ef5145 blk_end_request +EXPORT_SYMBOL vmlinux 0x4a172097 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0x4a18130c simple_empty +EXPORT_SYMBOL vmlinux 0x4a290d4d cur_cpu_spec +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a56a0bc mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x4a8702be panic_notifier_list +EXPORT_SYMBOL vmlinux 0x4a937230 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x4a971ec7 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x4ac2f3aa of_scan_pci_bridge +EXPORT_SYMBOL vmlinux 0x4ac52fe0 journal_update_format +EXPORT_SYMBOL vmlinux 0x4af897cc d_invalidate +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b17de47 _read_lock_bh +EXPORT_SYMBOL vmlinux 0x4b34fbf5 block_all_signals +EXPORT_SYMBOL vmlinux 0x4b44fa07 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x4b4604ae udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x4b4969fa phy_device_create +EXPORT_SYMBOL vmlinux 0x4b65a3dc tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x4b7ba1de splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x4bbc3e5f pm_flags +EXPORT_SYMBOL vmlinux 0x4bc2ab42 pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x4bd7df8f balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0x4bedd6db generic_write_sync +EXPORT_SYMBOL vmlinux 0x4bfe4941 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c1fac29 pci_claim_resource +EXPORT_SYMBOL vmlinux 0x4c39e062 skb_copy_bits +EXPORT_SYMBOL vmlinux 0x4c4b9497 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x4c512d41 of_get_parent +EXPORT_SYMBOL vmlinux 0x4c5bfee9 tcp_child_process +EXPORT_SYMBOL vmlinux 0x4c60cbc4 __nla_put +EXPORT_SYMBOL vmlinux 0x4c775325 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x4c8fa350 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x4c96ba5c nf_register_hook +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cd34a9b vfsmount_lock +EXPORT_SYMBOL vmlinux 0x4d0078eb scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x4d2a5c19 rwsem_wake +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d67e2df block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dec6038 memscan +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e152f4c tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x4e19bab5 proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e6f8890 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x4e8112a5 pid_task +EXPORT_SYMBOL vmlinux 0x4e830a3e strnicmp +EXPORT_SYMBOL vmlinux 0x4e95ec0d lro_receive_frags +EXPORT_SYMBOL vmlinux 0x4e9dffb5 ip_fast_csum +EXPORT_SYMBOL vmlinux 0x4ea4958d sk_dst_check +EXPORT_SYMBOL vmlinux 0x4ee5e955 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x4eecd2cc of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x4f086456 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x4f1358f3 kunmap_high +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f52b53c tty_set_operations +EXPORT_SYMBOL vmlinux 0x4f9de3da fb_set_suspend +EXPORT_SYMBOL vmlinux 0x4fb30eda pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x4fd03bfd blk_queue_ordered +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4fe99583 atomic64_dec_if_positive +EXPORT_SYMBOL vmlinux 0x4ff12726 __seq_open_private +EXPORT_SYMBOL vmlinux 0x4ff92465 block_write_begin +EXPORT_SYMBOL vmlinux 0x4ffa6e8a I_BDEV +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x5048bfd1 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x506746b6 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x508089b8 pci_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0x50aee8de vfs_readlink +EXPORT_SYMBOL vmlinux 0x50b15c53 _read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x50d56018 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x50f496c2 neigh_table_init_no_netlink +EXPORT_SYMBOL vmlinux 0x50f9a7b8 skb_tx_hash +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x51299abc __getblk +EXPORT_SYMBOL vmlinux 0x515e24a7 flush_instruction_cache +EXPORT_SYMBOL vmlinux 0x515fec86 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x51647539 bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0x51657de3 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x516f60c9 try_to_release_page +EXPORT_SYMBOL vmlinux 0x51792edd inet_addr_type +EXPORT_SYMBOL vmlinux 0x519cc5b4 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x51a25c69 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x51a26ec2 kill_pid +EXPORT_SYMBOL vmlinux 0x51b93469 dm_put_device +EXPORT_SYMBOL vmlinux 0x51bc86f0 elv_queue_empty +EXPORT_SYMBOL vmlinux 0x51c17ccb get_sb_single +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51ec1d7e xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x51ef33b8 kstrndup +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x52274a57 macio_request_resources +EXPORT_SYMBOL vmlinux 0x523fc32a kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x5271fe0f input_inject_event +EXPORT_SYMBOL vmlinux 0x52760ca9 getnstimeofday +EXPORT_SYMBOL vmlinux 0x527830ff pmac_xpram_read +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x52a18c7b tcp_v4_md5_do_del +EXPORT_SYMBOL vmlinux 0x52a58c24 ifla_policy +EXPORT_SYMBOL vmlinux 0x52ad0624 vfs_mknod +EXPORT_SYMBOL vmlinux 0x52c3e24d dev_getbyhwaddr +EXPORT_SYMBOL vmlinux 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL vmlinux 0x52e2561d nobh_writepage +EXPORT_SYMBOL vmlinux 0x52ebb126 param_get_ushort +EXPORT_SYMBOL vmlinux 0x5309f873 close_bdev_exclusive +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x530eb9c2 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0x5313ef9f mem_map +EXPORT_SYMBOL vmlinux 0x5315f750 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x5317b9f9 blk_run_queue +EXPORT_SYMBOL vmlinux 0x5319fd4b phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x5324f3eb inet_release +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x5355f1b8 dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x53725250 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x5392c2e7 kobject_del +EXPORT_SYMBOL vmlinux 0x53b656b3 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x53c0767c sk_chk_filter +EXPORT_SYMBOL vmlinux 0x53cd88f1 matroxfb_g450_connect +EXPORT_SYMBOL vmlinux 0x53d91e59 _spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x53de9be2 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x53eb3c5e poll_initwait +EXPORT_SYMBOL vmlinux 0x53ebab1b _outsl_ns +EXPORT_SYMBOL vmlinux 0x53f7ee7a bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x53fb36f6 default_unplug_io_fn +EXPORT_SYMBOL vmlinux 0x540cfbf7 vfs_mkdir +EXPORT_SYMBOL vmlinux 0x540d2681 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x542135dc tcp_v4_remember_stamp +EXPORT_SYMBOL vmlinux 0x54290dc9 nla_validate +EXPORT_SYMBOL vmlinux 0x5430d012 tcf_hash_search +EXPORT_SYMBOL vmlinux 0x5432ec90 unregister_snap_client +EXPORT_SYMBOL vmlinux 0x54470367 down +EXPORT_SYMBOL vmlinux 0x54475486 ilookup +EXPORT_SYMBOL vmlinux 0x5475b1ad security_path_truncate +EXPORT_SYMBOL vmlinux 0x5478a4cf tcf_action_exec +EXPORT_SYMBOL vmlinux 0x548b4394 journal_dirty_data +EXPORT_SYMBOL vmlinux 0x54a97dc9 netif_napi_del +EXPORT_SYMBOL vmlinux 0x54ae4afd udp_disconnect +EXPORT_SYMBOL vmlinux 0x54c1abf6 dm_io +EXPORT_SYMBOL vmlinux 0x54c26c2a create_empty_buffers +EXPORT_SYMBOL vmlinux 0x54c6479c __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x5500ff16 block_read_full_page +EXPORT_SYMBOL vmlinux 0x55526ea9 follow_pfn +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55eeba35 phy_disable_interrupts +EXPORT_SYMBOL vmlinux 0x5600330e sock_recvmsg +EXPORT_SYMBOL vmlinux 0x5600904f fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x5603cf43 do_settimeofday +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x561d224b set_blocksize +EXPORT_SYMBOL vmlinux 0x562e3596 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x56484aa1 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x56658d75 napi_skb_finish +EXPORT_SYMBOL vmlinux 0x566a2327 napi_reuse_skb +EXPORT_SYMBOL vmlinux 0x5671cf6c pcim_iounmap +EXPORT_SYMBOL vmlinux 0x56720222 dm_register_target +EXPORT_SYMBOL vmlinux 0x5679ae53 generic_unplug_device +EXPORT_SYMBOL vmlinux 0x56946ba4 bio_integrity_split +EXPORT_SYMBOL vmlinux 0x56a041c7 journal_extend +EXPORT_SYMBOL vmlinux 0x56a10763 csum_tcpudp_magic +EXPORT_SYMBOL vmlinux 0x56c2b95b rtas_progress +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56f178e9 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x56f494e0 smp_call_function +EXPORT_SYMBOL vmlinux 0x56fdac75 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x5701d850 of_create_pci_dev +EXPORT_SYMBOL vmlinux 0x570d6ef8 skb_pull +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x57397779 i2c_master_send +EXPORT_SYMBOL vmlinux 0x57511388 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x57535517 pcim_enable_device +EXPORT_SYMBOL vmlinux 0x5755264a sk_reset_timer +EXPORT_SYMBOL vmlinux 0x575c2493 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x578c5f0b tty_check_change +EXPORT_SYMBOL vmlinux 0x57a6504e vsnprintf +EXPORT_SYMBOL vmlinux 0x57b57ebe jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0x57db7242 mangle_path +EXPORT_SYMBOL vmlinux 0x57e4e165 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x57f77c46 journal_start +EXPORT_SYMBOL vmlinux 0x5800df05 dev_add_pack +EXPORT_SYMBOL vmlinux 0x582a4747 cacheable_memcpy +EXPORT_SYMBOL vmlinux 0x582b0337 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x5857e434 groups_free +EXPORT_SYMBOL vmlinux 0x587bdc56 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x588189a4 get_sb_nodev +EXPORT_SYMBOL vmlinux 0x58c2eb15 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x58cc0b6e xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x58d03310 mb_cache_create +EXPORT_SYMBOL vmlinux 0x58d44bbf phy_attach +EXPORT_SYMBOL vmlinux 0x58e55d28 nla_append +EXPORT_SYMBOL vmlinux 0x58edeb03 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x58fd92d4 otg_set_transceiver +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x59464b3d set_page_dirty +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x595d0946 empty_zero_page +EXPORT_SYMBOL vmlinux 0x5962859f sg_init_table +EXPORT_SYMBOL vmlinux 0x59730591 __blk_end_request +EXPORT_SYMBOL vmlinux 0x59c2b3b8 blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x59c96ffa nf_setsockopt +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59d8223a ioport_resource +EXPORT_SYMBOL vmlinux 0x59f6ce02 of_find_matching_node +EXPORT_SYMBOL vmlinux 0x59feb714 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x5a05f42b gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x5a0acf1f jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5ab67931 do_IRQ +EXPORT_SYMBOL vmlinux 0x5b19634d div_s64_rem +EXPORT_SYMBOL vmlinux 0x5b43f1f1 rtas_service_present +EXPORT_SYMBOL vmlinux 0x5bf8cdd3 unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x5c047097 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x5c11022c scsi_execute_req +EXPORT_SYMBOL vmlinux 0x5c187577 con_is_bound +EXPORT_SYMBOL vmlinux 0x5c3313f2 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x5c6b0009 netdev_state_change +EXPORT_SYMBOL vmlinux 0x5c8b51bc vfs_statfs +EXPORT_SYMBOL vmlinux 0x5c8d3ce6 d_move +EXPORT_SYMBOL vmlinux 0x5c91afad scsi_prep_return +EXPORT_SYMBOL vmlinux 0x5c9dee30 blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0x5ca7bc2b matroxfb_read_pins +EXPORT_SYMBOL vmlinux 0x5cab0514 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x5cb23b7c scsi_ioctl +EXPORT_SYMBOL vmlinux 0x5cc5b658 kfifo_alloc +EXPORT_SYMBOL vmlinux 0x5ce0174c get_write_access +EXPORT_SYMBOL vmlinux 0x5ce62d7d kern_path +EXPORT_SYMBOL vmlinux 0x5d12b3fc twl4030_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x5d277ddb vfs_quota_disable +EXPORT_SYMBOL vmlinux 0x5d3fa0cf neigh_table_init +EXPORT_SYMBOL vmlinux 0x5d44ce29 genphy_read_status +EXPORT_SYMBOL vmlinux 0x5d884c9e alloc_disk_node +EXPORT_SYMBOL vmlinux 0x5db104aa bdget_disk +EXPORT_SYMBOL vmlinux 0x5dc5e25e journal_flush +EXPORT_SYMBOL vmlinux 0x5e1741ae tty_register_device +EXPORT_SYMBOL vmlinux 0x5e4222f9 generic_fillattr +EXPORT_SYMBOL vmlinux 0x5e4ad42b xfrm_bundle_ok +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea286e6 netdev_features_change +EXPORT_SYMBOL vmlinux 0x5ea520c5 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x5ea840f2 arp_create +EXPORT_SYMBOL vmlinux 0x5ec650e0 kobject_put +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5eee7dad scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0x5ef2c370 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x5f0f7ca8 block_truncate_page +EXPORT_SYMBOL vmlinux 0x5f4229ac pci_disable_device +EXPORT_SYMBOL vmlinux 0x5f4ad8d6 init_net +EXPORT_SYMBOL vmlinux 0x5f5ec522 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x5f754e5a memset +EXPORT_SYMBOL vmlinux 0x5f8a2728 isa_io_base +EXPORT_SYMBOL vmlinux 0x5fbc4820 sk_filter +EXPORT_SYMBOL vmlinux 0x5ff99499 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x602402fe jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x60242f12 vfs_readdir +EXPORT_SYMBOL vmlinux 0x60328207 lock_may_read +EXPORT_SYMBOL vmlinux 0x606ef26d set_groups +EXPORT_SYMBOL vmlinux 0x60700079 tc_classify +EXPORT_SYMBOL vmlinux 0x607fbd81 nf_reinject +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a0ebad __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x60b37e88 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x60b526b3 blk_recount_segments +EXPORT_SYMBOL vmlinux 0x60e46738 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x60e6407a udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x611221fb of_get_address +EXPORT_SYMBOL vmlinux 0x61181c19 pmac_resume_agp_for_card +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x6125d15f jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x6137b282 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x613e2e4b do_truncate +EXPORT_SYMBOL vmlinux 0x6144c727 ide_set_handler +EXPORT_SYMBOL vmlinux 0x618a9af3 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x618d8299 set_notify_swap_entry_free +EXPORT_SYMBOL vmlinux 0x6196715d keyring_search +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61c67c35 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x61de92bd __destroy_inode +EXPORT_SYMBOL vmlinux 0x61e23a93 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x61eef2c9 _insb +EXPORT_SYMBOL vmlinux 0x61f356c3 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x620060ec mod_timer +EXPORT_SYMBOL vmlinux 0x620d5cb7 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x6220b988 _spin_lock_irq +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x623a3a3c idr_remove_all +EXPORT_SYMBOL vmlinux 0x623d7182 _chrp_type +EXPORT_SYMBOL vmlinux 0x62461995 tty_devnum +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62787451 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x628332e8 pmu_power_flags +EXPORT_SYMBOL vmlinux 0x62a13c5a qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x62a72718 sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x62a7f69c scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x62b387ee vfs_dq_drop +EXPORT_SYMBOL vmlinux 0x62cd5556 ip_ct_attach +EXPORT_SYMBOL vmlinux 0x62cfa587 km_query +EXPORT_SYMBOL vmlinux 0x630a0167 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x631b65cd journal_check_available_features +EXPORT_SYMBOL vmlinux 0x634e8369 dev_gro_receive +EXPORT_SYMBOL vmlinux 0x636a49a1 skb_checksum +EXPORT_SYMBOL vmlinux 0x637c1df2 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x63866f84 hippi_type_trans +EXPORT_SYMBOL vmlinux 0x63ae073e mutex_trylock +EXPORT_SYMBOL vmlinux 0x63cc487d __breadahead +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63efc536 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x641a5123 macio_dev_get +EXPORT_SYMBOL vmlinux 0x6452212f try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x646cc6ab pmu_poll +EXPORT_SYMBOL vmlinux 0x6495d99a force_sig +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64aeafb0 tcf_register_action +EXPORT_SYMBOL vmlinux 0x64c5128c jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x64ebac61 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x65020e5c tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x65108709 netpoll_poll +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x65400222 __irq_offset_value +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65414e67 dev_valid_name +EXPORT_SYMBOL vmlinux 0x654d8ade bioset_create +EXPORT_SYMBOL vmlinux 0x65603a90 xfrm_lookup +EXPORT_SYMBOL vmlinux 0x65681333 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x657285d8 netif_rx_ni +EXPORT_SYMBOL vmlinux 0x65d0b939 blk_fetch_request +EXPORT_SYMBOL vmlinux 0x65f4af5f prepare_to_wait +EXPORT_SYMBOL vmlinux 0x6612d8b7 bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x663fa52a get_sb_ns +EXPORT_SYMBOL vmlinux 0x664aef34 __inet6_hash +EXPORT_SYMBOL vmlinux 0x667b790f tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x66a831a5 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x66ba9076 __f_setown +EXPORT_SYMBOL vmlinux 0x66c71e93 filemap_fault +EXPORT_SYMBOL vmlinux 0x66cbf14b pmac_xpram_write +EXPORT_SYMBOL vmlinux 0x66f82b41 i2c_use_client +EXPORT_SYMBOL vmlinux 0x66f8a040 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x67053080 current_kernel_time +EXPORT_SYMBOL vmlinux 0x670aa275 write_inode_now +EXPORT_SYMBOL vmlinux 0x671bf0a0 adb_client_list +EXPORT_SYMBOL vmlinux 0x6740a293 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x6741f2c6 dm_table_get_size +EXPORT_SYMBOL vmlinux 0x6764ec0a of_get_property +EXPORT_SYMBOL vmlinux 0x6769abc7 skb_dequeue +EXPORT_SYMBOL vmlinux 0x676e3291 down_write +EXPORT_SYMBOL vmlinux 0x67728f39 writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x67a3a23c security_path_symlink +EXPORT_SYMBOL vmlinux 0x67b6cc6e swiotlb_dma_mapping_error +EXPORT_SYMBOL vmlinux 0x67d0ee5d vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x67d63283 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x67e046f6 tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x684c98c0 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x68628e77 _write_lock_bh +EXPORT_SYMBOL vmlinux 0x686f1050 kmap_high +EXPORT_SYMBOL vmlinux 0x68e2db9e dquot_initialize +EXPORT_SYMBOL vmlinux 0x68e51eee inode_needs_sync +EXPORT_SYMBOL vmlinux 0x68f4405e skb_dma_map +EXPORT_SYMBOL vmlinux 0x68f617b9 pci_free_consistent +EXPORT_SYMBOL vmlinux 0x6953fd46 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x695e1ed5 bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0x69627ca0 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x6971c3df __any_online_cpu +EXPORT_SYMBOL vmlinux 0x6980fe91 param_get_int +EXPORT_SYMBOL vmlinux 0x6989875b add_wait_queue +EXPORT_SYMBOL vmlinux 0x69927dff try_acquire_console_sem +EXPORT_SYMBOL vmlinux 0x69a0ca7d iowrite16be +EXPORT_SYMBOL vmlinux 0x69a8df33 get_phy_id +EXPORT_SYMBOL vmlinux 0x69af3dc9 blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0x69b4208d complete_and_exit +EXPORT_SYMBOL vmlinux 0x69c3920b lease_modify +EXPORT_SYMBOL vmlinux 0x69c8c1d5 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69d68890 d_lookup +EXPORT_SYMBOL vmlinux 0x69d7e5b8 __debugger_ipi +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x69e2cbfa matrox_millennium +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a2ac703 inode_init_always +EXPORT_SYMBOL vmlinux 0x6a47571d __set_personality +EXPORT_SYMBOL vmlinux 0x6a5327a1 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x6a61f874 to_tm +EXPORT_SYMBOL vmlinux 0x6a71e97f pci_iounmap +EXPORT_SYMBOL vmlinux 0x6a72eb7a inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6aab3b95 nonseekable_open +EXPORT_SYMBOL vmlinux 0x6abb01a8 bio_copy_kern +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6ad065f4 param_set_charp +EXPORT_SYMBOL vmlinux 0x6ad8e7a7 f_setown +EXPORT_SYMBOL vmlinux 0x6b0eece6 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b231faf mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b3cfca6 idr_get_new +EXPORT_SYMBOL vmlinux 0x6b4683fc alloc_etherdev_mq +EXPORT_SYMBOL vmlinux 0x6b493c6a vfs_get_dqinfo +EXPORT_SYMBOL vmlinux 0x6b6d9765 napi_complete +EXPORT_SYMBOL vmlinux 0x6b849953 sock_wake_async +EXPORT_SYMBOL vmlinux 0x6b8ad800 blk_unplug +EXPORT_SYMBOL vmlinux 0x6bb6fb94 scm_fp_dup +EXPORT_SYMBOL vmlinux 0x6bba6bad bio_endio +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bd41553 init_buffer +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6bea43bf vfs_getattr +EXPORT_SYMBOL vmlinux 0x6c0399af blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c20d401 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x6c3b242e sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c79e9e0 fb_find_mode +EXPORT_SYMBOL vmlinux 0x6c7cdaf1 pskb_copy +EXPORT_SYMBOL vmlinux 0x6c7ef640 __brelse +EXPORT_SYMBOL vmlinux 0x6ca13866 dev_mc_add +EXPORT_SYMBOL vmlinux 0x6ca1d1a4 atomic64_read +EXPORT_SYMBOL vmlinux 0x6cb34ae5 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x6cb593d3 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x6cbfe63b boot_tvec_bases +EXPORT_SYMBOL vmlinux 0x6cc51797 open_bdev_exclusive +EXPORT_SYMBOL vmlinux 0x6cd60023 of_gpio_simple_xlate +EXPORT_SYMBOL vmlinux 0x6cd656e1 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x6cdc5c6b nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6cedce23 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x6cefd098 qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x6d27ef64 __bitmap_empty +EXPORT_SYMBOL vmlinux 0x6d288375 radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d2a74ff skb_unlink +EXPORT_SYMBOL vmlinux 0x6d40e606 elv_add_request +EXPORT_SYMBOL vmlinux 0x6d46d7a4 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x6d5f0a80 pci_map_rom +EXPORT_SYMBOL vmlinux 0x6d625f3b rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6da264f4 register_8022_client +EXPORT_SYMBOL vmlinux 0x6da928f4 _insw_ns +EXPORT_SYMBOL vmlinux 0x6dad4313 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x6dbc66a1 tcf_hash_create +EXPORT_SYMBOL vmlinux 0x6dcf4789 dst_destroy +EXPORT_SYMBOL vmlinux 0x6dd9038c disk_stack_limits +EXPORT_SYMBOL vmlinux 0x6dda0b2a blk_integrity_register +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6dfa9c96 journal_start_commit +EXPORT_SYMBOL vmlinux 0x6e01c43d sock_release +EXPORT_SYMBOL vmlinux 0x6e0431ff pci_enable_msix +EXPORT_SYMBOL vmlinux 0x6e076a5b vfs_quota_on_mount +EXPORT_SYMBOL vmlinux 0x6e14d527 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x6e1895c5 phy_connect_direct +EXPORT_SYMBOL vmlinux 0x6e522015 sg_init_one +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea4be70 del_timer +EXPORT_SYMBOL vmlinux 0x6eafd983 mnt_pin +EXPORT_SYMBOL vmlinux 0x6ec0b1c8 netlink_dump_start +EXPORT_SYMBOL vmlinux 0x6ec1338c kernel_accept +EXPORT_SYMBOL vmlinux 0x6ed58836 unregister_con_driver +EXPORT_SYMBOL vmlinux 0x6edef8d5 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x6ee0549f tcp_close +EXPORT_SYMBOL vmlinux 0x6ef5a6a1 simple_transaction_release +EXPORT_SYMBOL vmlinux 0x6f03e3d3 of_mm_gpiochip_add +EXPORT_SYMBOL vmlinux 0x6f8c2e6a bio_phys_segments +EXPORT_SYMBOL vmlinux 0x6facd1cf log_start_commit +EXPORT_SYMBOL vmlinux 0x6fc48529 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x6fc51fd8 unregister_8022_client +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fe11d9e cdev_add +EXPORT_SYMBOL vmlinux 0x6fff393f time_to_tm +EXPORT_SYMBOL vmlinux 0x7005b96e jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x700c24dd inode_change_ok +EXPORT_SYMBOL vmlinux 0x701d0ebd snprintf +EXPORT_SYMBOL vmlinux 0x7024c95e vmap +EXPORT_SYMBOL vmlinux 0x7029e72f devm_free_irq +EXPORT_SYMBOL vmlinux 0x703729ea skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x70377942 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x706f75d1 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x70720a13 idr_init +EXPORT_SYMBOL vmlinux 0x7085c1e3 genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70cb430b simple_readpage +EXPORT_SYMBOL vmlinux 0x70cd14aa sockfd_lookup +EXPORT_SYMBOL vmlinux 0x70d888b7 __debugger_fault_handler +EXPORT_SYMBOL vmlinux 0x70f07e84 pci_find_device +EXPORT_SYMBOL vmlinux 0x70f29ccb xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x70f86c70 pmu_queue_request +EXPORT_SYMBOL vmlinux 0x710e4029 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x71301520 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x713055c1 pci_pme_capable +EXPORT_SYMBOL vmlinux 0x713663c0 ps2_init +EXPORT_SYMBOL vmlinux 0x716e1a7f input_register_handle +EXPORT_SYMBOL vmlinux 0x7171f8c5 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x717242e7 rtas_data_buf_lock +EXPORT_SYMBOL vmlinux 0x719450d2 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71c8da94 set_irq_chip +EXPORT_SYMBOL vmlinux 0x71c90087 memcmp +EXPORT_SYMBOL vmlinux 0x71d15b04 simple_lookup +EXPORT_SYMBOL vmlinux 0x71df697a backlight_force_update +EXPORT_SYMBOL vmlinux 0x7204abee swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x72165075 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x721dd81a security_path_rmdir +EXPORT_SYMBOL vmlinux 0x721ee3fb of_phy_find_device +EXPORT_SYMBOL vmlinux 0x726e10da register_key_type +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72c3be87 param_set_byte +EXPORT_SYMBOL vmlinux 0x72c7350d security_inode_readlink +EXPORT_SYMBOL vmlinux 0x72e12eb3 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72ec86f9 misc_register +EXPORT_SYMBOL vmlinux 0x7301f5ce freeze_bdev +EXPORT_SYMBOL vmlinux 0x7307247d default_llseek +EXPORT_SYMBOL vmlinux 0x73170314 inet_del_protocol +EXPORT_SYMBOL vmlinux 0x7329ea05 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0x7331efd9 sock_map_fd +EXPORT_SYMBOL vmlinux 0x73564277 __timecompare_update +EXPORT_SYMBOL vmlinux 0x73620c06 mdiobus_write +EXPORT_SYMBOL vmlinux 0x7362dd1e vfs_fstat +EXPORT_SYMBOL vmlinux 0x73769e6d skb_put +EXPORT_SYMBOL vmlinux 0x73776912 qdisc_destroy +EXPORT_SYMBOL vmlinux 0x73816ea5 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x7387c11c __mutex_init +EXPORT_SYMBOL vmlinux 0x73adf8a8 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x741793c0 tty_free_termios +EXPORT_SYMBOL vmlinux 0x74362000 __register_chrdev +EXPORT_SYMBOL vmlinux 0x744c0c68 param_get_byte +EXPORT_SYMBOL vmlinux 0x74519e48 ethtool_op_set_tso +EXPORT_SYMBOL vmlinux 0x74547d19 scsi_print_result +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL vmlinux 0x74bc0da9 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x74bfc369 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x74c689e2 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74d39568 read_dev_sector +EXPORT_SYMBOL vmlinux 0x74e8366f pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x74fad55a __ip_select_ident +EXPORT_SYMBOL vmlinux 0x74fe8730 sys_ctrler +EXPORT_SYMBOL vmlinux 0x74ff0ad1 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0x751daa37 nlmsg_notify +EXPORT_SYMBOL vmlinux 0x753f65b8 tty_port_init +EXPORT_SYMBOL vmlinux 0x7540a8b2 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x75575627 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x7564e6fe neigh_event_ns +EXPORT_SYMBOL vmlinux 0x756dd160 start_thread +EXPORT_SYMBOL vmlinux 0x7572317d tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x75818a0e bdev_read_only +EXPORT_SYMBOL vmlinux 0x75aae7ed proto_register +EXPORT_SYMBOL vmlinux 0x75bdea12 iommu_area_alloc +EXPORT_SYMBOL vmlinux 0x75d2a80b remap_pfn_range +EXPORT_SYMBOL vmlinux 0x75d66229 scsi_free_command +EXPORT_SYMBOL vmlinux 0x75dc67a2 d_path +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x762d4ec2 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x765f5c2e lro_flush_all +EXPORT_SYMBOL vmlinux 0x76614e92 netlink_set_err +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76d39921 per_cpu__cpu_sibling_map +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76e91775 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x76ee29ac blk_queue_bounce +EXPORT_SYMBOL vmlinux 0x771b22d4 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x773af911 nf_log_register +EXPORT_SYMBOL vmlinux 0x777414f1 backlight_device_register +EXPORT_SYMBOL vmlinux 0x779f6682 kernel_read +EXPORT_SYMBOL vmlinux 0x77b851c4 cacheable_memzero +EXPORT_SYMBOL vmlinux 0x77cfcfde __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x77eae931 elv_rb_find +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77ed9b13 ilookup5 +EXPORT_SYMBOL vmlinux 0x77fa5d1f ns_to_timespec +EXPORT_SYMBOL vmlinux 0x7817d9bd scsi_scan_host +EXPORT_SYMBOL vmlinux 0x7854e35f vfs_quota_off +EXPORT_SYMBOL vmlinux 0x7885647c send_sig +EXPORT_SYMBOL vmlinux 0x788d0631 do_sync_write +EXPORT_SYMBOL vmlinux 0x788fe103 iomem_resource +EXPORT_SYMBOL vmlinux 0x78b4f000 of_phy_connect +EXPORT_SYMBOL vmlinux 0x78bcb5a5 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x78df4e3d vfs_llseek +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x79068eab dev_mc_sync +EXPORT_SYMBOL vmlinux 0x79071e67 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x790962de dquot_scan_active +EXPORT_SYMBOL vmlinux 0x791364ab kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x7913adac __percpu_counter_add +EXPORT_SYMBOL vmlinux 0x79176c46 generic_readlink +EXPORT_SYMBOL vmlinux 0x791a49a8 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x7969610e tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79ad224b tasklet_kill +EXPORT_SYMBOL vmlinux 0x79c06d90 dentry_unhash +EXPORT_SYMBOL vmlinux 0x7a2a837d strict_strtol +EXPORT_SYMBOL vmlinux 0x7a43b7e4 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a552670 seq_printf +EXPORT_SYMBOL vmlinux 0x7a70a33c ide_dump_status +EXPORT_SYMBOL vmlinux 0x7a80b838 audit_log_end +EXPORT_SYMBOL vmlinux 0x7a8fa754 unregister_key_type +EXPORT_SYMBOL vmlinux 0x7aad0881 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x7ac6af7c generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x7ac74fc9 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x7ae318d9 elv_rb_del +EXPORT_SYMBOL vmlinux 0x7aeccee5 skb_recycle_check +EXPORT_SYMBOL vmlinux 0x7afab083 pci_request_regions +EXPORT_SYMBOL vmlinux 0x7bb7d1f1 journal_get_write_access +EXPORT_SYMBOL vmlinux 0x7be4827c pci_dram_offset +EXPORT_SYMBOL vmlinux 0x7be82abb sync_blockdev +EXPORT_SYMBOL vmlinux 0x7bf6cc36 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x7c0a211c of_device_register +EXPORT_SYMBOL vmlinux 0x7c175e55 of_match_node +EXPORT_SYMBOL vmlinux 0x7c1ee648 genl_register_ops +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c79d28e ide_proc_unregister_driver +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c9291d1 csum_partial_copy_generic +EXPORT_SYMBOL vmlinux 0x7ca2ee32 single_open +EXPORT_SYMBOL vmlinux 0x7ca341af kernel_thread +EXPORT_SYMBOL vmlinux 0x7cb1ae69 cpu_down +EXPORT_SYMBOL vmlinux 0x7ce12687 macio_release_resources +EXPORT_SYMBOL vmlinux 0x7ce4a153 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x7ce997e2 bio_clone +EXPORT_SYMBOL vmlinux 0x7cf7fba6 module_layout +EXPORT_SYMBOL vmlinux 0x7d0b8d3b ip_mc_rejoin_group +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d1bf017 dm_table_get +EXPORT_SYMBOL vmlinux 0x7d40580f bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x7d4e91e9 llc_add_pack +EXPORT_SYMBOL vmlinux 0x7dceceac capable +EXPORT_SYMBOL vmlinux 0x7de5eafe up_read +EXPORT_SYMBOL vmlinux 0x7e00d2a4 pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x7e070019 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x7e0b4beb dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x7e335a0a fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x7e613127 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0x7e6c065c ethtool_op_set_tx_ipv6_csum +EXPORT_SYMBOL vmlinux 0x7e7aa0fa __napi_schedule +EXPORT_SYMBOL vmlinux 0x7e7aa835 do_munmap +EXPORT_SYMBOL vmlinux 0x7e81440a generic_file_open +EXPORT_SYMBOL vmlinux 0x7e88255b __lookup_one_len +EXPORT_SYMBOL vmlinux 0x7f1db95b mpage_writepages +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f289480 splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0x7f4ab6af netif_rx +EXPORT_SYMBOL vmlinux 0x7f8e6953 security_task_getsecid +EXPORT_SYMBOL vmlinux 0x7f8f8b76 completion_done +EXPORT_SYMBOL vmlinux 0x7fb00495 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x7fc3ed5a generic_setlease +EXPORT_SYMBOL vmlinux 0x7fd1ac5e __put_cred +EXPORT_SYMBOL vmlinux 0x7ff04918 tcp_make_synack +EXPORT_SYMBOL vmlinux 0x80188844 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x801f5a3f __strncpy_from_user +EXPORT_SYMBOL vmlinux 0x80428c80 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x80443c07 init_file +EXPORT_SYMBOL vmlinux 0x8055ab47 register_netdev +EXPORT_SYMBOL vmlinux 0x8063f83d radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x807e9c88 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x808461e9 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x80889635 skb_over_panic +EXPORT_SYMBOL vmlinux 0x809c58f3 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x80a8794b filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0x80ab2137 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x80ae9965 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x80e56fbb skb_queue_head +EXPORT_SYMBOL vmlinux 0x81403a55 dcache_readdir +EXPORT_SYMBOL vmlinux 0x81438a01 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815cbba4 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x81658d23 __bio_clone +EXPORT_SYMBOL vmlinux 0x81799cee vscnprintf +EXPORT_SYMBOL vmlinux 0x81bb6239 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x81c0a84f rtas_set_indicator +EXPORT_SYMBOL vmlinux 0x81c18c24 page_symlink +EXPORT_SYMBOL vmlinux 0x81eebc39 ide_proc_register_driver +EXPORT_SYMBOL vmlinux 0x81fbb612 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x820d225f print_mac +EXPORT_SYMBOL vmlinux 0x820d2bcc textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x82629870 ida_init +EXPORT_SYMBOL vmlinux 0x826862f3 bdget +EXPORT_SYMBOL vmlinux 0x82692209 kref_set +EXPORT_SYMBOL vmlinux 0x827bd55f __neigh_event_send +EXPORT_SYMBOL vmlinux 0x829010cf contig_page_data +EXPORT_SYMBOL vmlinux 0x829baf43 skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82c22eff pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x82c42980 nf_ct_attach +EXPORT_SYMBOL vmlinux 0x82d2cf0f vfs_symlink +EXPORT_SYMBOL vmlinux 0x82d3a400 dm_table_put +EXPORT_SYMBOL vmlinux 0x82e5a238 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x8301e3e9 vfs_dq_quota_on_remount +EXPORT_SYMBOL vmlinux 0x830cb9a7 sock_init_data +EXPORT_SYMBOL vmlinux 0x8376870d of_find_device_by_phandle +EXPORT_SYMBOL vmlinux 0x83941a17 put_io_context +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83c43dc1 posix_acl_chmod_masq +EXPORT_SYMBOL vmlinux 0x83d84477 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x83f75fe5 qdisc_list_del +EXPORT_SYMBOL vmlinux 0x84265983 kset_register +EXPORT_SYMBOL vmlinux 0x843185f7 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0x84405415 neigh_parms_release +EXPORT_SYMBOL vmlinux 0x844404cf ISA_DMA_THRESHOLD +EXPORT_SYMBOL vmlinux 0x8447b53a i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x84aec95c mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x84b183ae strncmp +EXPORT_SYMBOL vmlinux 0x84cef4ff unlock_rename +EXPORT_SYMBOL vmlinux 0x84e7a53e register_quota_format +EXPORT_SYMBOL vmlinux 0x85261203 find_inode_number +EXPORT_SYMBOL vmlinux 0x8533bfe1 of_dev_put +EXPORT_SYMBOL vmlinux 0x8534b7f8 generic_getxattr +EXPORT_SYMBOL vmlinux 0x8540b5be sleep_on +EXPORT_SYMBOL vmlinux 0x8541bccc intercept_table +EXPORT_SYMBOL vmlinux 0x85459dee input_set_keycode +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x85927f19 udp_poll +EXPORT_SYMBOL vmlinux 0x85ac7f10 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e08f65 bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x85e7deb2 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x85f6db29 blk_complete_request +EXPORT_SYMBOL vmlinux 0x85f853be inode_get_bytes +EXPORT_SYMBOL vmlinux 0x8624cdd7 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x8641607b blk_execute_rq +EXPORT_SYMBOL vmlinux 0x864ec4d8 journal_init_inode +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86b4b82d phy_print_status +EXPORT_SYMBOL vmlinux 0x86b9cae3 i2c_bit_add_bus +EXPORT_SYMBOL vmlinux 0x86c81a43 down_trylock +EXPORT_SYMBOL vmlinux 0x86db1cbb rtas_flash_term_hook +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x87044021 skb_split +EXPORT_SYMBOL vmlinux 0x870bf6b8 dev_load +EXPORT_SYMBOL vmlinux 0x870c5ed7 udplite_prot +EXPORT_SYMBOL vmlinux 0x870e2347 soft_cursor +EXPORT_SYMBOL vmlinux 0x87166fb3 pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x872baffe blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x8736aced matroxfb_wait_for_sync +EXPORT_SYMBOL vmlinux 0x87385a06 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x875f65d1 of_find_compatible_node +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x87b9f230 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x87c733f7 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x87e9b210 input_filter_device +EXPORT_SYMBOL vmlinux 0x87ea802d seq_write +EXPORT_SYMBOL vmlinux 0x8800abad dma_pool_destroy +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x8835ec1f get_super +EXPORT_SYMBOL vmlinux 0x886aa274 posix_acl_create_masq +EXPORT_SYMBOL vmlinux 0x8896698b swiotlb_unmap_sg +EXPORT_SYMBOL vmlinux 0x889e203e fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0x889ee33c ____pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x88c815f3 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x88eeeb8f sysctl_jiffies +EXPORT_SYMBOL vmlinux 0x88f0d172 path_lookup +EXPORT_SYMBOL vmlinux 0x88f2d5a2 mac_find_mode +EXPORT_SYMBOL vmlinux 0x8912b5a7 inet_getname +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x89795e84 tty_vhangup +EXPORT_SYMBOL vmlinux 0x898ad0a5 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x89a696e2 __invalidate_device +EXPORT_SYMBOL vmlinux 0x89b3107b isa_mem_base +EXPORT_SYMBOL vmlinux 0x89b425da d_add_ci +EXPORT_SYMBOL vmlinux 0x89d23bad dma_direct_ops +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89fc8ccd mapping_tagged +EXPORT_SYMBOL vmlinux 0x8a1203a9 kref_get +EXPORT_SYMBOL vmlinux 0x8a12d69e scsi_put_command +EXPORT_SYMBOL vmlinux 0x8a373fd7 twl4030_i2c_write +EXPORT_SYMBOL vmlinux 0x8a56f334 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x8a5ffabb devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0x8a6f4d4e dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a86004b scsi_allocate_command +EXPORT_SYMBOL vmlinux 0x8a87be6c of_find_device_by_node +EXPORT_SYMBOL vmlinux 0x8a962eb1 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8a9a68d5 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x8ab4079e atomic64_add +EXPORT_SYMBOL vmlinux 0x8ab67453 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x8ac40297 iommu_area_free +EXPORT_SYMBOL vmlinux 0x8ad382a1 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x8ade6342 validate_sp +EXPORT_SYMBOL vmlinux 0x8afb3346 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x8b1a7a66 pcie_aspm_enabled +EXPORT_SYMBOL vmlinux 0x8bb1fa47 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x8bcc3a3a _spin_lock_bh +EXPORT_SYMBOL vmlinux 0x8bd313b8 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x8bd5b603 param_get_long +EXPORT_SYMBOL vmlinux 0x8bdba5f5 find_get_pages_tag +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c537c45 posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x8c8c64f3 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x8c9304af sync_inode +EXPORT_SYMBOL vmlinux 0x8c9419eb of_find_property +EXPORT_SYMBOL vmlinux 0x8c994304 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x8cad76ee filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8ccda06b mdiobus_read +EXPORT_SYMBOL vmlinux 0x8d110b05 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x8d17140e matroxfb_vgaHWrestore +EXPORT_SYMBOL vmlinux 0x8d1d7727 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x8d2447bd pci_select_bars +EXPORT_SYMBOL vmlinux 0x8d3894f2 _ctype +EXPORT_SYMBOL vmlinux 0x8d3d926e tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d6dbe13 ip_getsockopt +EXPORT_SYMBOL vmlinux 0x8d6ef862 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x8d864bfa dquot_commit_info +EXPORT_SYMBOL vmlinux 0x8d8bdd52 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x8d99795e ethtool_op_get_rx_csum +EXPORT_SYMBOL vmlinux 0x8dbe09ad of_register_driver +EXPORT_SYMBOL vmlinux 0x8dc15d40 free_buffer_head +EXPORT_SYMBOL vmlinux 0x8df5da63 memstart_addr +EXPORT_SYMBOL vmlinux 0x8e05fd2d d_prune_aliases +EXPORT_SYMBOL vmlinux 0x8e0b7743 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x8e11d980 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x8e2f914f pci_set_master +EXPORT_SYMBOL vmlinux 0x8e3c9cc3 vprintk +EXPORT_SYMBOL vmlinux 0x8e3f4b53 vga_client_register +EXPORT_SYMBOL vmlinux 0x8e763ae1 send_remote_softirq +EXPORT_SYMBOL vmlinux 0x8ed2511c __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x8ee69235 timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f5d3369 journal_get_create_access +EXPORT_SYMBOL vmlinux 0x8f6b7950 set_irq_data +EXPORT_SYMBOL vmlinux 0x8f6cc1af netif_receive_skb +EXPORT_SYMBOL vmlinux 0x8f7523e3 idr_destroy +EXPORT_SYMBOL vmlinux 0x8fb25bbb phy_sanitize_settings +EXPORT_SYMBOL vmlinux 0x8fbf37e0 profile_pc +EXPORT_SYMBOL vmlinux 0x8fcca2e0 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x8fd8b7bc _write_lock_irq +EXPORT_SYMBOL vmlinux 0x8ffdb3b8 crc16 +EXPORT_SYMBOL vmlinux 0x90035333 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x900b101c ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x901fe154 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x9029f6e6 tcf_hash_release +EXPORT_SYMBOL vmlinux 0x90501868 transfer_to_handler +EXPORT_SYMBOL vmlinux 0x9084b2f2 redraw_screen +EXPORT_SYMBOL vmlinux 0x90c80fd6 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x90ceb591 ether_setup +EXPORT_SYMBOL vmlinux 0x90e45f8d cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x90ee0e35 get_phy_device +EXPORT_SYMBOL vmlinux 0x91009452 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x9114cb20 prepare_creds +EXPORT_SYMBOL vmlinux 0x91172a29 start_tty +EXPORT_SYMBOL vmlinux 0x912557ce rtas_busy_delay +EXPORT_SYMBOL vmlinux 0x91271542 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0x913e2475 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x91481982 __ratelimit +EXPORT_SYMBOL vmlinux 0x9158b795 da903x_query_status +EXPORT_SYMBOL vmlinux 0x915e1208 tb_ticks_per_usec +EXPORT_SYMBOL vmlinux 0x9168c033 rtas_get_sensor +EXPORT_SYMBOL vmlinux 0x91766c09 param_get_ulong +EXPORT_SYMBOL vmlinux 0x9193d673 open_by_devnum +EXPORT_SYMBOL vmlinux 0x919d1163 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x91afab8d skb_find_text +EXPORT_SYMBOL vmlinux 0x91b994b1 fasync_helper +EXPORT_SYMBOL vmlinux 0x91d88e48 __debugger_dabr_match +EXPORT_SYMBOL vmlinux 0x91df7106 hippi_change_mtu +EXPORT_SYMBOL vmlinux 0x9214ed8a param_get_bool +EXPORT_SYMBOL vmlinux 0x9216be6f lock_fb_info +EXPORT_SYMBOL vmlinux 0x92213c5a inet_put_port +EXPORT_SYMBOL vmlinux 0x9296c93d udp_table +EXPORT_SYMBOL vmlinux 0x92b7fe17 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x92bd74a0 keyring_clear +EXPORT_SYMBOL vmlinux 0x92c82359 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x92d4acba invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x92eaa4d9 posix_lock_file +EXPORT_SYMBOL vmlinux 0x92fd2fd3 kernel_bind +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x9309de94 cuda_request +EXPORT_SYMBOL vmlinux 0x931d2521 mempool_resize +EXPORT_SYMBOL vmlinux 0x9322be30 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x932eebf0 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x9377fdef del_gendisk +EXPORT_SYMBOL vmlinux 0x9395d861 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93a7bd51 vfs_quota_on +EXPORT_SYMBOL vmlinux 0x93d7607e xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x93d91dce idr_remove +EXPORT_SYMBOL vmlinux 0x93f2e700 dev_get_stats +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x9435ee40 bh_submit_read +EXPORT_SYMBOL vmlinux 0x9445cfa6 dev_alloc_name +EXPORT_SYMBOL vmlinux 0x94813812 simple_unlink +EXPORT_SYMBOL vmlinux 0x9484572d cfb_imageblit +EXPORT_SYMBOL vmlinux 0x94847b23 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x948d72dd generic_make_request +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x949be0b7 set_anon_super +EXPORT_SYMBOL vmlinux 0x94b66735 km_new_mapping +EXPORT_SYMBOL vmlinux 0x94bff3fc generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x94c102a1 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x94cd2db0 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x94dc4f9e napi_gro_receive +EXPORT_SYMBOL vmlinux 0x94e72e33 kfree_skb +EXPORT_SYMBOL vmlinux 0x9514151a _mcount +EXPORT_SYMBOL vmlinux 0x9524b0ae _outsb +EXPORT_SYMBOL vmlinux 0x952e843b machine_is_compatible +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x954cbb26 vsprintf +EXPORT_SYMBOL vmlinux 0x957c1080 ide_do_reset +EXPORT_SYMBOL vmlinux 0x95d0067e bd_release +EXPORT_SYMBOL vmlinux 0x9609cc54 kobject_add +EXPORT_SYMBOL vmlinux 0x964afb00 of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x964ecdae bd_claim +EXPORT_SYMBOL vmlinux 0x96546f7c pci_get_device +EXPORT_SYMBOL vmlinux 0x966cc2e4 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x96898769 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x96b8c664 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x96be267f nf_unregister_hook +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96d56018 percpu_counter_set +EXPORT_SYMBOL vmlinux 0x970111f7 pci_dev_driver +EXPORT_SYMBOL vmlinux 0x9719a4b2 inet_bind +EXPORT_SYMBOL vmlinux 0x971a4e4e tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x97255bdf strlen +EXPORT_SYMBOL vmlinux 0x97325676 giveup_altivec +EXPORT_SYMBOL vmlinux 0x9743020d vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x9748927f _outsw_ns +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x977486ec ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x978785e8 ip_route_output_key +EXPORT_SYMBOL vmlinux 0x97a17eb3 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x97a56046 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x97c57510 unregister_nls +EXPORT_SYMBOL vmlinux 0x97cf36b7 mpage_writepage +EXPORT_SYMBOL vmlinux 0x97f4d0a2 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x97f5c210 sg_miter_next +EXPORT_SYMBOL vmlinux 0x9804c33b sock_kmalloc +EXPORT_SYMBOL vmlinux 0x98075aa8 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x98091572 do_splice_from +EXPORT_SYMBOL vmlinux 0x984b2402 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x9856cc5d swiotlb_alloc_coherent +EXPORT_SYMBOL vmlinux 0x985a5836 journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x9866cfcc clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x98748d29 key_link +EXPORT_SYMBOL vmlinux 0x9888f927 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x989d4082 _write_trylock +EXPORT_SYMBOL vmlinux 0x98a27876 commit_creds +EXPORT_SYMBOL vmlinux 0x98aa6885 dput +EXPORT_SYMBOL vmlinux 0x98c19f9e clocksource_unregister +EXPORT_SYMBOL vmlinux 0x98caa06e invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x98ec45dc slow_work_cancel +EXPORT_SYMBOL vmlinux 0x98ec55eb register_console +EXPORT_SYMBOL vmlinux 0x98fe7882 DMA_MODE_READ +EXPORT_SYMBOL vmlinux 0x99214174 dquot_alloc +EXPORT_SYMBOL vmlinux 0x9939171c request_key +EXPORT_SYMBOL vmlinux 0x9958d649 tcp4_gro_complete +EXPORT_SYMBOL vmlinux 0x9978da20 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x997dbf74 simple_sync_file +EXPORT_SYMBOL vmlinux 0x998b7e41 arp_tbl +EXPORT_SYMBOL vmlinux 0x9990fbd7 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999705f4 d_instantiate +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99a5ec53 block_write_end +EXPORT_SYMBOL vmlinux 0x99bb8806 memmove +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c6ebe7 create_mnt_ns +EXPORT_SYMBOL vmlinux 0x99c7a8b8 jbd2_dev_to_name +EXPORT_SYMBOL vmlinux 0x99cac189 ipv4_specific +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99d1d378 get_sb_pseudo +EXPORT_SYMBOL vmlinux 0x99d9e254 stop_tty +EXPORT_SYMBOL vmlinux 0x99dd1451 rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0x99e26e35 get_unmapped_area_prot +EXPORT_SYMBOL vmlinux 0x99ea12ce panic_blink +EXPORT_SYMBOL vmlinux 0x99f879a0 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x99f8a819 pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0x9a0e16a8 new_inode +EXPORT_SYMBOL vmlinux 0x9a180b41 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a5b0693 vlan_gro_frags +EXPORT_SYMBOL vmlinux 0x9a69013f jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0x9a6d0d59 register_gifconf +EXPORT_SYMBOL vmlinux 0x9a7279c6 sysctl_ms_jiffies +EXPORT_SYMBOL vmlinux 0x9a7cadba udp_ioctl +EXPORT_SYMBOL vmlinux 0x9a8f1557 skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x9a908e58 task_nice +EXPORT_SYMBOL vmlinux 0x9a9648d9 call_usermodehelper_setkeys +EXPORT_SYMBOL vmlinux 0x9a9cb67b jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x9adf87e3 scsi_host_put +EXPORT_SYMBOL vmlinux 0x9ae8a6c1 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x9af77442 make_EII_client +EXPORT_SYMBOL vmlinux 0x9b07dfbd sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x9b170932 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x9b17aae4 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x9b28c8e7 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b6eb137 ksize +EXPORT_SYMBOL vmlinux 0x9b80ed92 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x9b9ce9c0 alloc_fddidev +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9ba9534d vfs_readv +EXPORT_SYMBOL vmlinux 0x9bbb73d0 devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0x9bce482f __release_region +EXPORT_SYMBOL vmlinux 0x9bdb202a mutex_unlock +EXPORT_SYMBOL vmlinux 0x9bed42a6 sock_kfree_s +EXPORT_SYMBOL vmlinux 0x9bf1040b tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x9bfbe489 bio_init +EXPORT_SYMBOL vmlinux 0x9c012508 fb_parse_edid +EXPORT_SYMBOL vmlinux 0x9c012655 flush_signals +EXPORT_SYMBOL vmlinux 0x9c1f50fd __pci_register_driver +EXPORT_SYMBOL vmlinux 0x9c364679 scsi_reset_provider +EXPORT_SYMBOL vmlinux 0x9c3922b5 pci_release_region +EXPORT_SYMBOL vmlinux 0x9c50e2b3 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x9c71e738 per_cpu__vm_event_states +EXPORT_SYMBOL vmlinux 0x9c9e1bce pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x9ca539d0 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cc71e4a dev_disable_lro +EXPORT_SYMBOL vmlinux 0x9ccc1448 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x9cd45549 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x9cda643c truncate_pagecache +EXPORT_SYMBOL vmlinux 0x9cdf9e0a create_proc_entry +EXPORT_SYMBOL vmlinux 0x9ce0670f blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x9ce103a0 down_write_trylock +EXPORT_SYMBOL vmlinux 0x9ce3f83f nvram_write_byte +EXPORT_SYMBOL vmlinux 0x9ceb163c memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d0c3f33 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x9d14983a ppc_enable_pmcs +EXPORT_SYMBOL vmlinux 0x9d2f0d4e ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x9d37a217 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d54127b ip_setsockopt +EXPORT_SYMBOL vmlinux 0x9d669763 memcpy +EXPORT_SYMBOL vmlinux 0x9d7d36bd blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x9daaf1bf bio_integrity_endio +EXPORT_SYMBOL vmlinux 0x9dde1c71 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0x9de303ab ide_geometry_proc_fops +EXPORT_SYMBOL vmlinux 0x9e07068c inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0x9e108232 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x9e1270b6 journal_stop +EXPORT_SYMBOL vmlinux 0x9e2000a7 memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x9e2e4c9e napi_get_frags +EXPORT_SYMBOL vmlinux 0x9e894713 file_permission +EXPORT_SYMBOL vmlinux 0x9e97375d rtas_busy_delay_time +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ea29f3c init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x9eb8f0d9 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x9ebefe86 flush_dcache_page +EXPORT_SYMBOL vmlinux 0x9ecfb950 request_key_async +EXPORT_SYMBOL vmlinux 0x9ed685ee iov_iter_advance +EXPORT_SYMBOL vmlinux 0x9eecde16 do_brk +EXPORT_SYMBOL vmlinux 0x9eededca dev_unicast_sync +EXPORT_SYMBOL vmlinux 0x9ef5cda8 console_stop +EXPORT_SYMBOL vmlinux 0x9f0a127a ide_stall_queue +EXPORT_SYMBOL vmlinux 0x9f1ce97b vm_insert_page +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f2cbdbd sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x9f2d613e param_set_bool +EXPORT_SYMBOL vmlinux 0x9f4d3238 current_fs_time +EXPORT_SYMBOL vmlinux 0x9f707bc2 single_release +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fb030f4 del_timer_sync +EXPORT_SYMBOL vmlinux 0x9fb3dd30 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9fc80c5a call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0x9fdb82be __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x9fe6fa56 ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x9ffc1fe1 generic_permission +EXPORT_SYMBOL vmlinux 0xa005daa2 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xa024ffa5 __sg_free_table +EXPORT_SYMBOL vmlinux 0xa03523d5 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa0846db4 scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0xa088e32e blk_peek_request +EXPORT_SYMBOL vmlinux 0xa098c714 nf_log_unregister +EXPORT_SYMBOL vmlinux 0xa0a2027f input_unregister_handle +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b8aa12 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0xa0cd584d of_translate_address +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0f048c1 dst_discard +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa11bce9b jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa125b755 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0xa13798f8 printk_ratelimit +EXPORT_SYMBOL vmlinux 0xa14d9d10 pci_alloc_consistent +EXPORT_SYMBOL vmlinux 0xa15d2c90 pci_get_class +EXPORT_SYMBOL vmlinux 0xa16c6ce7 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xa18b902b blk_free_tags +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1db3953 __bforget +EXPORT_SYMBOL vmlinux 0xa1ffd6a9 invalidate_inodes +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa20f3d3a page_readlink +EXPORT_SYMBOL vmlinux 0xa2299087 generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xa23319ec fddi_type_trans +EXPORT_SYMBOL vmlinux 0xa26b0f18 dm_get_device +EXPORT_SYMBOL vmlinux 0xa273c412 security_path_unlink +EXPORT_SYMBOL vmlinux 0xa27dbc80 netif_notify_peers +EXPORT_SYMBOL vmlinux 0xa2820b93 sock_i_ino +EXPORT_SYMBOL vmlinux 0xa2843a3b d_find_alias +EXPORT_SYMBOL vmlinux 0xa29b1708 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2bbed37 crash_shutdown_register +EXPORT_SYMBOL vmlinux 0xa2d4c119 complete_all +EXPORT_SYMBOL vmlinux 0xa329f07e register_shrinker +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa34f1ef5 crc32_le +EXPORT_SYMBOL vmlinux 0xa358e18e xrlim_allow +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa38db95d blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xa38e691a ioremap_bot +EXPORT_SYMBOL vmlinux 0xa38f2f9b inetdev_by_index +EXPORT_SYMBOL vmlinux 0xa397678a iget_locked +EXPORT_SYMBOL vmlinux 0xa39b4cf2 udelay +EXPORT_SYMBOL vmlinux 0xa3e75545 flush_tlb_kernel_range +EXPORT_SYMBOL vmlinux 0xa3f2bd70 ide_dma_off_quietly +EXPORT_SYMBOL vmlinux 0xa3f666e3 xfrm_state_update +EXPORT_SYMBOL vmlinux 0xa40d5eff __kill_fasync +EXPORT_SYMBOL vmlinux 0xa413c72c vfs_create +EXPORT_SYMBOL vmlinux 0xa42c1670 jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0xa43b9539 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa43b98af dev_mc_delete +EXPORT_SYMBOL vmlinux 0xa4657c01 ps2_handle_response +EXPORT_SYMBOL vmlinux 0xa46b9b00 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0xa4713025 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0xa474a615 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0xa475503f dqget +EXPORT_SYMBOL vmlinux 0xa478985d setup_arg_pages +EXPORT_SYMBOL vmlinux 0xa4794184 fb_get_mode +EXPORT_SYMBOL vmlinux 0xa4a8aa34 otg_put_transceiver +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa53d88e7 send_sig_info +EXPORT_SYMBOL vmlinux 0xa55c4730 __register_binfmt +EXPORT_SYMBOL vmlinux 0xa56166ed tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0xa5661bbd tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0xa576c263 generic_find_next_le_bit +EXPORT_SYMBOL vmlinux 0xa5808bbf tasklet_init +EXPORT_SYMBOL vmlinux 0xa58b6804 nla_parse +EXPORT_SYMBOL vmlinux 0xa58be26e replace_mount_options +EXPORT_SYMBOL vmlinux 0xa591bf63 inet_register_protosw +EXPORT_SYMBOL vmlinux 0xa5977033 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5b00659 ppc_proc_freq +EXPORT_SYMBOL vmlinux 0xa5cef8ad release_resource +EXPORT_SYMBOL vmlinux 0xa5d02e62 blk_init_tags +EXPORT_SYMBOL vmlinux 0xa5e47dcf input_grab_device +EXPORT_SYMBOL vmlinux 0xa5f1fa21 ide_dma_off +EXPORT_SYMBOL vmlinux 0xa5f77197 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xa640bff8 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0xa65972b8 _memcpy_toio +EXPORT_SYMBOL vmlinux 0xa669f7f1 netif_device_attach +EXPORT_SYMBOL vmlinux 0xa68124fa hweight8 +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa682bbf1 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0xa69a8276 sg_miter_start +EXPORT_SYMBOL vmlinux 0xa6b753e6 do_splice_to +EXPORT_SYMBOL vmlinux 0xa6c50fb6 fput +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6ff9b04 simple_statfs +EXPORT_SYMBOL vmlinux 0xa70f3f8e pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xa71b316b skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0xa7462668 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0xa7501482 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xa78e49b5 follow_up +EXPORT_SYMBOL vmlinux 0xa79893af nla_put +EXPORT_SYMBOL vmlinux 0xa7bcc804 inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0xa7d76b45 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xa7e4b25b get_io_context +EXPORT_SYMBOL vmlinux 0xa7e58ba4 per_cpu__ftrace_event_seq +EXPORT_SYMBOL vmlinux 0xa7fbc674 kernel_getsockname +EXPORT_SYMBOL vmlinux 0xa803ea0d kernel_sendpage +EXPORT_SYMBOL vmlinux 0xa81e6f8a of_gpio_count +EXPORT_SYMBOL vmlinux 0xa861ab6e __ioremap +EXPORT_SYMBOL vmlinux 0xa872dae8 do_sync_read +EXPORT_SYMBOL vmlinux 0xa89464b7 __ashldi3 +EXPORT_SYMBOL vmlinux 0xa8c1255a __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xa8cf6bcf bio_sector_offset +EXPORT_SYMBOL vmlinux 0xa8eefc03 __find_get_block +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa8ff67b6 ll_rw_block +EXPORT_SYMBOL vmlinux 0xa90641ae sock_no_getname +EXPORT_SYMBOL vmlinux 0xa922f240 _read_lock_irq +EXPORT_SYMBOL vmlinux 0xa9571d6d DMA_MODE_WRITE +EXPORT_SYMBOL vmlinux 0xa960f7f1 journal_create +EXPORT_SYMBOL vmlinux 0xa9af6172 d_delete +EXPORT_SYMBOL vmlinux 0xa9effda5 __first_cpu +EXPORT_SYMBOL vmlinux 0xaa04c81c vfs_rename +EXPORT_SYMBOL vmlinux 0xaa29c2d1 remove_arg_zero +EXPORT_SYMBOL vmlinux 0xaa4af454 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xaa4df512 pmu_batteries +EXPORT_SYMBOL vmlinux 0xaa592ccd poll_freewait +EXPORT_SYMBOL vmlinux 0xaa6711dc bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0xaa980657 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xaaa37b31 netdev_bonding_change +EXPORT_SYMBOL vmlinux 0xaabbed7a set_disk_ro +EXPORT_SYMBOL vmlinux 0xaafd6f36 vfs_quota_sync +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab42779e of_get_gpio_flags +EXPORT_SYMBOL vmlinux 0xab487268 km_report +EXPORT_SYMBOL vmlinux 0xab4964d4 starget_for_each_device +EXPORT_SYMBOL vmlinux 0xab64d423 __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xab7f52b0 mntput_no_expire +EXPORT_SYMBOL vmlinux 0xab8f833d unregister_qdisc +EXPORT_SYMBOL vmlinux 0xab99a0b2 mpage_readpages +EXPORT_SYMBOL vmlinux 0xabae09e1 block_commit_write +EXPORT_SYMBOL vmlinux 0xabaec7e7 __elv_add_request +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabd8e427 matroxfb_var2my +EXPORT_SYMBOL vmlinux 0xabdfbf13 scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0xabf1b64d dquot_acquire +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac369cf1 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac83d76a vc_resize +EXPORT_SYMBOL vmlinux 0xac8b6e85 generic_file_llseek_unlocked +EXPORT_SYMBOL vmlinux 0xac9bd40a init_task +EXPORT_SYMBOL vmlinux 0xacb41bd5 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0xacb749fa pci_set_mwi +EXPORT_SYMBOL vmlinux 0xacb87c41 i2c_clients_command +EXPORT_SYMBOL vmlinux 0xacc5c3ae sock_rfree +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xaccd84db sysctl_string +EXPORT_SYMBOL vmlinux 0xacd713ff tty_kref_put +EXPORT_SYMBOL vmlinux 0xacdeb154 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf7d7fe phy_scan_fixups +EXPORT_SYMBOL vmlinux 0xacfb4f9c blkdev_get +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad109c71 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xad1188c9 generic_show_options +EXPORT_SYMBOL vmlinux 0xad28278d d_validate +EXPORT_SYMBOL vmlinux 0xad300d82 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0xad4ebe22 _write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xad8cd8a9 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xada14b4f input_register_handler +EXPORT_SYMBOL vmlinux 0xada6178c dev_get_by_index +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadad834d bdi_register_dev +EXPORT_SYMBOL vmlinux 0xadb1b581 journal_errno +EXPORT_SYMBOL vmlinux 0xadd1e971 alignment_exception +EXPORT_SYMBOL vmlinux 0xaddd4770 __debugger_iabr_match +EXPORT_SYMBOL vmlinux 0xadf42bd5 __request_region +EXPORT_SYMBOL vmlinux 0xae1fc416 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0xae4e08e3 matroxfb_DAC_out +EXPORT_SYMBOL vmlinux 0xae7d01a3 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xae8ef5c4 vfs_fsync +EXPORT_SYMBOL vmlinux 0xaec2897d dev_set_mtu +EXPORT_SYMBOL vmlinux 0xaec655c7 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0xaed013b9 posix_acl_valid +EXPORT_SYMBOL vmlinux 0xaee3742c kernel_connect +EXPORT_SYMBOL vmlinux 0xaef302bb pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0xaf05fba2 pci_device_to_OF_node +EXPORT_SYMBOL vmlinux 0xaf195013 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0xaf2d174c __scsi_put_command +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf4cd7d9 call_usermodehelper_stdinpipe +EXPORT_SYMBOL vmlinux 0xaf63cdb0 simple_rename +EXPORT_SYMBOL vmlinux 0xaf82b825 journal_restart +EXPORT_SYMBOL vmlinux 0xaf9d5794 pci_disable_link_state +EXPORT_SYMBOL vmlinux 0xafa7bd33 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0xafaa2acd __wait_on_buffer +EXPORT_SYMBOL vmlinux 0xb0015bf0 iput +EXPORT_SYMBOL vmlinux 0xb01a22f9 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xb075877a i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0xb09940c5 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0xb09f4915 generic_block_bmap +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0c77c29 inet_frag_find +EXPORT_SYMBOL vmlinux 0xb0cd0f5b __nla_reserve +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0ef9114 fifo_set_limit +EXPORT_SYMBOL vmlinux 0xb0fbb283 phy_device_register +EXPORT_SYMBOL vmlinux 0xb118a90c blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0xb13490e6 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xb13e85c3 revert_creds +EXPORT_SYMBOL vmlinux 0xb14fc3f9 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0xb1542da5 kill_litter_super +EXPORT_SYMBOL vmlinux 0xb15bd8fa tb_ticks_per_sec +EXPORT_SYMBOL vmlinux 0xb18cf6c0 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xb18f3f06 ide_xfer_verbose +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb199a894 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0xb1b859b6 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1d30e95 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xb1f975aa unlock_kernel +EXPORT_SYMBOL vmlinux 0xb2116560 cont_write_begin +EXPORT_SYMBOL vmlinux 0xb224fbe2 param_get_short +EXPORT_SYMBOL vmlinux 0xb22fe6a3 netdev_increment_features +EXPORT_SYMBOL vmlinux 0xb233762c atomic64_set +EXPORT_SYMBOL vmlinux 0xb26364ff dst_alloc +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb27b7c78 scm_detach_fds +EXPORT_SYMBOL vmlinux 0xb281cafd inode_init_once +EXPORT_SYMBOL vmlinux 0xb2acad87 lock_may_write +EXPORT_SYMBOL vmlinux 0xb2ba23fa kernel_getsockopt +EXPORT_SYMBOL vmlinux 0xb2ba62b5 __wait_on_bit +EXPORT_SYMBOL vmlinux 0xb2c969cb gen_pool_create +EXPORT_SYMBOL vmlinux 0xb2f8466f journal_load +EXPORT_SYMBOL vmlinux 0xb33163f7 dm_table_get_md +EXPORT_SYMBOL vmlinux 0xb376d79d radix_tree_tagged +EXPORT_SYMBOL vmlinux 0xb3994c7a per_cpu__kstat +EXPORT_SYMBOL vmlinux 0xb3a307c6 si_meminfo +EXPORT_SYMBOL vmlinux 0xb3e82bf8 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xb3f9cdd3 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xb3fb73a7 pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0xb40faa5b iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0xb41aaf4d flush_hash_entry +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb42453d3 param_get_invbool +EXPORT_SYMBOL vmlinux 0xb42dc9c8 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xb44e1da5 generic_read_dir +EXPORT_SYMBOL vmlinux 0xb4556f81 journal_init_dev +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb4b05f8f check_disk_size_change +EXPORT_SYMBOL vmlinux 0xb4e31b17 cdev_del +EXPORT_SYMBOL vmlinux 0xb5044271 vsscanf +EXPORT_SYMBOL vmlinux 0xb53a4336 kmap_pte +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb54e3095 pci_bus_type +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5c7f030 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0xb5d24ed2 journal_forget +EXPORT_SYMBOL vmlinux 0xb6255db0 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xb62654f9 dquot_free_inode +EXPORT_SYMBOL vmlinux 0xb638dd48 sk_receive_skb +EXPORT_SYMBOL vmlinux 0xb63c7d1f fb_class +EXPORT_SYMBOL vmlinux 0xb6427e11 tcp_proc_register +EXPORT_SYMBOL vmlinux 0xb6599b9a machine_check_exception +EXPORT_SYMBOL vmlinux 0xb67478ed generic_setxattr +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6be40d5 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0xb6bffb99 kstat_irqs_cpu +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6d28a27 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0xb6f2e087 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0xb6f96c54 pmac_register_agp_pm +EXPORT_SYMBOL vmlinux 0xb6fab9b4 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0xb6fccfbe search_binary_handler +EXPORT_SYMBOL vmlinux 0xb700af30 i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0xb710d0fe i2c_put_adapter +EXPORT_SYMBOL vmlinux 0xb729e14a skb_checksum_help +EXPORT_SYMBOL vmlinux 0xb753bcc8 __ashrdi3 +EXPORT_SYMBOL vmlinux 0xb756bf20 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0xb7950e43 cad_pid +EXPORT_SYMBOL vmlinux 0xb798b8e4 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0xb79f1564 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0xb7ad1790 __lock_page +EXPORT_SYMBOL vmlinux 0xb7b61546 crc32_be +EXPORT_SYMBOL vmlinux 0xb7ccb3c7 twl4030_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xb7ecdd89 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xb7f33f7e mod_timer_pending +EXPORT_SYMBOL vmlinux 0xb7fadb7f jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0xb85c4654 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb883870f pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0xb8870648 registered_fb +EXPORT_SYMBOL vmlinux 0xb8956b77 arp_find +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8a77ef8 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0xb8aa2342 __check_region +EXPORT_SYMBOL vmlinux 0xb8b2b020 misc_deregister +EXPORT_SYMBOL vmlinux 0xb8de939c of_device_get_modalias +EXPORT_SYMBOL vmlinux 0xb8ec8739 sock_get_timestampns +EXPORT_SYMBOL vmlinux 0xb93253ae ida_get_new +EXPORT_SYMBOL vmlinux 0xb93eb2f3 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xb94541e8 clip_tbl_hook +EXPORT_SYMBOL vmlinux 0xb9502575 ps2_end_command +EXPORT_SYMBOL vmlinux 0xb977fb5c sock_no_socketpair +EXPORT_SYMBOL vmlinux 0xb9877fc6 vfs_writev +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb98ef804 vm_stat +EXPORT_SYMBOL vmlinux 0xb994f907 tty_insert_flip_string +EXPORT_SYMBOL vmlinux 0xb99ee7dc ethtool_op_get_sg +EXPORT_SYMBOL vmlinux 0xb9a0f14c textsearch_unregister +EXPORT_SYMBOL vmlinux 0xb9b3b0e7 no_llseek +EXPORT_SYMBOL vmlinux 0xba227654 neigh_for_each +EXPORT_SYMBOL vmlinux 0xba2cca8c elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0xba30bcdc sk_stop_timer +EXPORT_SYMBOL vmlinux 0xba339809 copy_io_context +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba6fa6e1 security_file_permission +EXPORT_SYMBOL vmlinux 0xba9b46d1 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xbaaab8ae timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xbac83343 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0xbaf6c209 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0xbb167766 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb4043fd __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb7a91dc _write_unlock_bh +EXPORT_SYMBOL vmlinux 0xbb7b9866 vfs_rmdir +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbbc5bbba blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0xbbd458ce inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0xbc1a8360 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0xbc1e52a4 matroxfb_register_driver +EXPORT_SYMBOL vmlinux 0xbc23022c journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xbc25038c jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xbc316de4 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0xbc3bc60e __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xbc3d14d3 proc_mkdir +EXPORT_SYMBOL vmlinux 0xbc4b31da in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xbc5eadce set_create_files_as +EXPORT_SYMBOL vmlinux 0xbc7493c5 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0xbcadf96f pci_read_vpd +EXPORT_SYMBOL vmlinux 0xbcb7178f netlink_ack +EXPORT_SYMBOL vmlinux 0xbcbead67 request_firmware +EXPORT_SYMBOL vmlinux 0xbcd2e425 find_or_create_page +EXPORT_SYMBOL vmlinux 0xbce22660 key_unlink +EXPORT_SYMBOL vmlinux 0xbce3412f scsi_unregister +EXPORT_SYMBOL vmlinux 0xbd079847 install_exec_creds +EXPORT_SYMBOL vmlinux 0xbd126631 rtnl_create_link +EXPORT_SYMBOL vmlinux 0xbd3924ea scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0xbd5471e6 lock_sock_nested +EXPORT_SYMBOL vmlinux 0xbd5b00f5 of_dev_get +EXPORT_SYMBOL vmlinux 0xbd8b631e register_cdrom +EXPORT_SYMBOL vmlinux 0xbd8d541d flush_hash_pages +EXPORT_SYMBOL vmlinux 0xbd8d770c ide_complete_rq +EXPORT_SYMBOL vmlinux 0xbd9e5d49 __lshrdi3 +EXPORT_SYMBOL vmlinux 0xbdae30c7 idr_for_each +EXPORT_SYMBOL vmlinux 0xbdf36c0b blk_register_region +EXPORT_SYMBOL vmlinux 0xbdf56524 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbe0e5118 nla_memcmp +EXPORT_SYMBOL vmlinux 0xbe27c057 module_put +EXPORT_SYMBOL vmlinux 0xbe374b99 bio_copy_user +EXPORT_SYMBOL vmlinux 0xbe3c56cc tty_shutdown +EXPORT_SYMBOL vmlinux 0xbe50e6f5 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0xbe63ee40 request_resource +EXPORT_SYMBOL vmlinux 0xbe6f43ad tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0xbe8a1485 mempool_create +EXPORT_SYMBOL vmlinux 0xbea913bd sk_common_release +EXPORT_SYMBOL vmlinux 0xbeb0b5f4 proc_create_data +EXPORT_SYMBOL vmlinux 0xbec72b47 seq_release +EXPORT_SYMBOL vmlinux 0xbecd02d5 input_unregister_handler +EXPORT_SYMBOL vmlinux 0xbee5579a tcf_exts_validate +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf734fdd phy_detach +EXPORT_SYMBOL vmlinux 0xbf7a3c26 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf82ea61 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xbf83ea96 d_alloc_name +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfc1f2bf macio_dev_put +EXPORT_SYMBOL vmlinux 0xbff31888 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0xc0044724 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xc032632a vmtruncate +EXPORT_SYMBOL vmlinux 0xc04ecff1 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc060a18a pci_set_power_state +EXPORT_SYMBOL vmlinux 0xc0614746 d_alloc +EXPORT_SYMBOL vmlinux 0xc06b3c67 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xc07ebb9e DAC1064_global_restore +EXPORT_SYMBOL vmlinux 0xc08dc5ac pipe_lock +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0b0f85e gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0xc0be9218 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL vmlinux 0xc0d84ced cuda_poll +EXPORT_SYMBOL vmlinux 0xc0e32e0c of_device_unregister +EXPORT_SYMBOL vmlinux 0xc11d8093 iov_shorten +EXPORT_SYMBOL vmlinux 0xc11f246f __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0xc134b166 inet_csk_accept +EXPORT_SYMBOL vmlinux 0xc1351aa7 elv_abort_queue +EXPORT_SYMBOL vmlinux 0xc14989a7 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0xc15e073c generic_find_next_zero_le_bit +EXPORT_SYMBOL vmlinux 0xc16ea804 of_translate_dma_address +EXPORT_SYMBOL vmlinux 0xc182a74b __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc1ba49a9 dev_base_lock +EXPORT_SYMBOL vmlinux 0xc1d3f518 xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0xc1dd4a7f adb_request +EXPORT_SYMBOL vmlinux 0xc1f26adf unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0xc21dc4d4 tty_name +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc2602502 scsi_device_resume +EXPORT_SYMBOL vmlinux 0xc266ca2e dm_io_client_resize +EXPORT_SYMBOL vmlinux 0xc2820bf2 filemap_flush +EXPORT_SYMBOL vmlinux 0xc2baca21 kthread_stop +EXPORT_SYMBOL vmlinux 0xc2c99c2e pipe_unlock +EXPORT_SYMBOL vmlinux 0xc2ccf3f0 of_device_is_compatible +EXPORT_SYMBOL vmlinux 0xc2d711e1 krealloc +EXPORT_SYMBOL vmlinux 0xc2d7db81 zero_fill_bio +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc316b98c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0xc3229ae2 lock_super +EXPORT_SYMBOL vmlinux 0xc325d8c6 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0xc33f6f4c on_each_cpu +EXPORT_SYMBOL vmlinux 0xc345212f pci_find_next_bus +EXPORT_SYMBOL vmlinux 0xc368849f nvram_sync +EXPORT_SYMBOL vmlinux 0xc38d8356 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0xc38e1c11 directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0xc39c47af __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xc3cf1128 in_group_p +EXPORT_SYMBOL vmlinux 0xc3f78fc7 call_usermodehelper_pipe +EXPORT_SYMBOL vmlinux 0xc4026cfb seq_open +EXPORT_SYMBOL vmlinux 0xc4912bda nobh_write_end +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4ab5af9 flush_tlb_range +EXPORT_SYMBOL vmlinux 0xc4ae11c5 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xc4b6f4c2 unregister_netdev +EXPORT_SYMBOL vmlinux 0xc4d0c514 hippi_mac_addr +EXPORT_SYMBOL vmlinux 0xc4eaeb23 bio_put +EXPORT_SYMBOL vmlinux 0xc4f8d58b wireless_spy_update +EXPORT_SYMBOL vmlinux 0xc4fa1f5e give_up_console +EXPORT_SYMBOL vmlinux 0xc4ff7306 locks_copy_lock +EXPORT_SYMBOL vmlinux 0xc50775f4 dquot_drop +EXPORT_SYMBOL vmlinux 0xc52f5714 fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc55f94eb tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0xc562e1e7 scsi_target_resume +EXPORT_SYMBOL vmlinux 0xc574b395 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0xc575771e sg_free_table +EXPORT_SYMBOL vmlinux 0xc5894f0f blk_sync_queue +EXPORT_SYMBOL vmlinux 0xc5a65605 pci_write_vpd +EXPORT_SYMBOL vmlinux 0xc5f123a6 __scm_send +EXPORT_SYMBOL vmlinux 0xc6021e0f sock_no_poll +EXPORT_SYMBOL vmlinux 0xc6030a3e dget_locked +EXPORT_SYMBOL vmlinux 0xc60abe5f brioctl_set +EXPORT_SYMBOL vmlinux 0xc633495b schedule_work +EXPORT_SYMBOL vmlinux 0xc6545ee4 key_validate +EXPORT_SYMBOL vmlinux 0xc66af9d2 pci_domain_nr +EXPORT_SYMBOL vmlinux 0xc676a04e __napi_complete +EXPORT_SYMBOL vmlinux 0xc684eec1 mdiobus_scan +EXPORT_SYMBOL vmlinux 0xc68dbe45 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0xc6b6bb1f fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xc6b6d78c wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0xc6c9b74c security_inode_init_security +EXPORT_SYMBOL vmlinux 0xc6d5ed29 xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0xc6d8fc4e __xfrm_lookup +EXPORT_SYMBOL vmlinux 0xc6ff80fc scsi_register_interface +EXPORT_SYMBOL vmlinux 0xc7131591 pcibios_align_resource +EXPORT_SYMBOL vmlinux 0xc71bc1b9 elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0xc722227e posix_acl_clone +EXPORT_SYMBOL vmlinux 0xc76334f9 kill_anon_super +EXPORT_SYMBOL vmlinux 0xc771b9b2 vfs_quota_enable +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7ad2fb8 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0xc7bfa7aa prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0xc7dc96cf ethtool_op_get_ufo +EXPORT_SYMBOL vmlinux 0xc7e06a10 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0xc7ec6c27 strspn +EXPORT_SYMBOL vmlinux 0xc7f08213 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0xc7fc1468 check_disk_change +EXPORT_SYMBOL vmlinux 0xc825299e journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xc8855a44 make_bad_inode +EXPORT_SYMBOL vmlinux 0xc8a49578 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8f8b539 sock_create_lite +EXPORT_SYMBOL vmlinux 0xc8ff33d1 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xc9325dd6 nf_afinfo +EXPORT_SYMBOL vmlinux 0xc9970836 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0xc998d641 icmp_err_convert +EXPORT_SYMBOL vmlinux 0xc9b90ff9 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0xc9c90658 security_inode_permission +EXPORT_SYMBOL vmlinux 0xca30662a redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca61cade scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0xca7c5b06 sk_wait_data +EXPORT_SYMBOL vmlinux 0xca825895 pmu_suspend +EXPORT_SYMBOL vmlinux 0xca864991 key_type_keyring +EXPORT_SYMBOL vmlinux 0xcacd272d atomic64_sub_return +EXPORT_SYMBOL vmlinux 0xcad08e48 mmu_hash_lock +EXPORT_SYMBOL vmlinux 0xcb07cc7b generic_ide_ioctl +EXPORT_SYMBOL vmlinux 0xcb19c4bc kernel_getpeername +EXPORT_SYMBOL vmlinux 0xcb1d0394 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0xcb2cd4fe ida_destroy +EXPORT_SYMBOL vmlinux 0xcb5882fd pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0xcb658794 of_node_put +EXPORT_SYMBOL vmlinux 0xcb6beb40 hweight32 +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb7bc48a bit_waitqueue +EXPORT_SYMBOL vmlinux 0xcb82e603 call_usermodehelper_freeinfo +EXPORT_SYMBOL vmlinux 0xcb84d805 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0xcb855bd8 matroxfb_g450_shutdown +EXPORT_SYMBOL vmlinux 0xcbc4f9df nf_log_packet +EXPORT_SYMBOL vmlinux 0xcbf10f00 mach_chrp +EXPORT_SYMBOL vmlinux 0xcc22b8f9 security_path_rename +EXPORT_SYMBOL vmlinux 0xcc2b7f14 sock_no_accept +EXPORT_SYMBOL vmlinux 0xcc3035d4 __netif_schedule +EXPORT_SYMBOL vmlinux 0xcc34d5ac blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0xcc361c13 machine_id +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc76c220 path_get +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xccac0b90 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0xccbf09d7 udplite_table +EXPORT_SYMBOL vmlinux 0xccfa66a3 flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0xcd138625 vfs_unlink +EXPORT_SYMBOL vmlinux 0xcd13f52d netif_carrier_off +EXPORT_SYMBOL vmlinux 0xcd19e925 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0xcd3a55fa of_find_node_with_property +EXPORT_SYMBOL vmlinux 0xcd3c6af2 put_page +EXPORT_SYMBOL vmlinux 0xcd7f9ea8 unbind_con_driver +EXPORT_SYMBOL vmlinux 0xcd83d335 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0xcd85b155 bmap +EXPORT_SYMBOL vmlinux 0xcd916e44 unlock_buffer +EXPORT_SYMBOL vmlinux 0xcd9e12eb open_exec +EXPORT_SYMBOL vmlinux 0xcdafb609 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0xcdc3cf9d tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0xcdc53229 __sk_dst_check +EXPORT_SYMBOL vmlinux 0xcddfe591 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0xcde37beb idr_replace +EXPORT_SYMBOL vmlinux 0xcdf4e628 revalidate_disk +EXPORT_SYMBOL vmlinux 0xcdfa8e6e __alloc_skb +EXPORT_SYMBOL vmlinux 0xce2133cd kobject_init +EXPORT_SYMBOL vmlinux 0xce29f299 dev_driver_string +EXPORT_SYMBOL vmlinux 0xce36ded6 sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xce409cda pmac_set_early_video_resume +EXPORT_SYMBOL vmlinux 0xce48e6ad security_path_mknod +EXPORT_SYMBOL vmlinux 0xce57a7ee cdev_alloc +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce7a087e tcp_read_sock +EXPORT_SYMBOL vmlinux 0xce941938 iget_failed +EXPORT_SYMBOL vmlinux 0xcea7f94c touch_atime +EXPORT_SYMBOL vmlinux 0xcee31c95 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xcf12bc05 pci_find_capability +EXPORT_SYMBOL vmlinux 0xcf20efa8 follow_down +EXPORT_SYMBOL vmlinux 0xcf47fb0c dcache_dir_close +EXPORT_SYMBOL vmlinux 0xcf735e18 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xcf8ee477 of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0xcf901697 __strnlen_user +EXPORT_SYMBOL vmlinux 0xcfaf79ba mempool_alloc +EXPORT_SYMBOL vmlinux 0xcfb9006e jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0xcfe26253 elevator_exit +EXPORT_SYMBOL vmlinux 0xcff53400 kref_put +EXPORT_SYMBOL vmlinux 0xd001e998 phy_start +EXPORT_SYMBOL vmlinux 0xd00652f3 timecompare_offset +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd036596d __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xd0414d4d jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0xd075da12 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0xd087d35b skb_queue_purge +EXPORT_SYMBOL vmlinux 0xd0a45fa5 pmu_enable_irled +EXPORT_SYMBOL vmlinux 0xd0b5fed5 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0xd0c8f596 genphy_update_link +EXPORT_SYMBOL vmlinux 0xd0ddf6f7 tr_type_trans +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd0f39c22 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0xd0fb7cae blk_requeue_request +EXPORT_SYMBOL vmlinux 0xd1135e5d scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xd11712b2 of_node_get +EXPORT_SYMBOL vmlinux 0xd11bbde9 cap_netlink_recv +EXPORT_SYMBOL vmlinux 0xd1262886 rtas_data_buf +EXPORT_SYMBOL vmlinux 0xd12b03c5 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xd12fe5ac proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0xd16a78f7 inet_shutdown +EXPORT_SYMBOL vmlinux 0xd187fb5e cancel_dirty_page +EXPORT_SYMBOL vmlinux 0xd197430d skb_trim +EXPORT_SYMBOL vmlinux 0xd1e6c046 unregister_filesystem +EXPORT_SYMBOL vmlinux 0xd1f8eba7 inet_ioctl +EXPORT_SYMBOL vmlinux 0xd22ea007 file_fsync +EXPORT_SYMBOL vmlinux 0xd230e2b0 end_page_writeback +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 0xd26f3005 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xd2760f47 unlock_new_inode +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2c2243d i2c_verify_client +EXPORT_SYMBOL vmlinux 0xd2c446ea ethtool_op_get_tso +EXPORT_SYMBOL vmlinux 0xd2c9f8cb __ps2_command +EXPORT_SYMBOL vmlinux 0xd33a7af6 inet_stream_connect +EXPORT_SYMBOL vmlinux 0xd3a6f338 dquot_release +EXPORT_SYMBOL vmlinux 0xd3db0a23 elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0xd3e1503b devm_ioremap +EXPORT_SYMBOL vmlinux 0xd3e6f60d cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xd3e9c058 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0xd3ec8474 audit_log_format +EXPORT_SYMBOL vmlinux 0xd3ed0108 d_splice_alias +EXPORT_SYMBOL vmlinux 0xd409383c pmu_request +EXPORT_SYMBOL vmlinux 0xd40c15d5 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xd40e77d6 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0xd418e1c0 adjust_resource +EXPORT_SYMBOL vmlinux 0xd426b0ae i2c_del_adapter +EXPORT_SYMBOL vmlinux 0xd432de1a pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0xd4386ec9 locks_init_lock +EXPORT_SYMBOL vmlinux 0xd43ebe95 qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0xd44fe6bd release_sock +EXPORT_SYMBOL vmlinux 0xd46876c0 bio_unmap_user +EXPORT_SYMBOL vmlinux 0xd4abba34 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0xd4be4901 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0xd4fb5240 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0xd505c746 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xd51cece3 dev_unicast_unsync +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd55acff0 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0xd5688a7a radix_tree_insert +EXPORT_SYMBOL vmlinux 0xd57f8789 iommu_num_pages +EXPORT_SYMBOL vmlinux 0xd5892252 abort_creds +EXPORT_SYMBOL vmlinux 0xd591b684 thaw_process +EXPORT_SYMBOL vmlinux 0xd5998091 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xd5b2e52a single_step_exception +EXPORT_SYMBOL vmlinux 0xd5da1a4e of_unregister_driver +EXPORT_SYMBOL vmlinux 0xd5e8444a __div64_32 +EXPORT_SYMBOL vmlinux 0xd5ef29c6 vga_put +EXPORT_SYMBOL vmlinux 0xd623c851 bio_free +EXPORT_SYMBOL vmlinux 0xd627480b strncat +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd631ebd9 __break_lease +EXPORT_SYMBOL vmlinux 0xd64e5071 cdev_init +EXPORT_SYMBOL vmlinux 0xd6844ba3 pci_save_state +EXPORT_SYMBOL vmlinux 0xd69b30e0 atomic64_add_unless +EXPORT_SYMBOL vmlinux 0xd69ebc51 _read_trylock +EXPORT_SYMBOL vmlinux 0xd6a26bb7 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xd6a78d08 smp_call_function_single +EXPORT_SYMBOL vmlinux 0xd6c32585 ip_dev_find +EXPORT_SYMBOL vmlinux 0xd6df4ad0 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xd6e4ebdc __lock_buffer +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd7154121 down_interruptible +EXPORT_SYMBOL vmlinux 0xd7296bf5 dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0xd7547ca1 wireless_send_event +EXPORT_SYMBOL vmlinux 0xd757d4be security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xd7734727 tty_schedule_flip +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd79dec61 icmp_send +EXPORT_SYMBOL vmlinux 0xd7a7d516 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xd7ae541c pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0xd7be9889 unregister_netdevice +EXPORT_SYMBOL vmlinux 0xd7caf8eb inet_accept +EXPORT_SYMBOL vmlinux 0xd7d4dd3a simple_transaction_set +EXPORT_SYMBOL vmlinux 0xd7f5f59f sock_no_connect +EXPORT_SYMBOL vmlinux 0xd80cf174 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0xd819b743 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0xd83791bc nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd846bc56 free_task +EXPORT_SYMBOL vmlinux 0xd85ba858 bd_set_size +EXPORT_SYMBOL vmlinux 0xd85ea9e6 ip_fragment +EXPORT_SYMBOL vmlinux 0xd86ad00f per_cpu__softnet_data +EXPORT_SYMBOL vmlinux 0xd8735b9f find_get_pages_contig +EXPORT_SYMBOL vmlinux 0xd890187a filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a2ab95 in_egroup_p +EXPORT_SYMBOL vmlinux 0xd8af9f4b udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xd8e20970 kobject_get +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd8ef16b8 mutex_lock +EXPORT_SYMBOL vmlinux 0xd9137894 sock_create_kern +EXPORT_SYMBOL vmlinux 0xd921dc17 rtc_dev_update_irq_enable_emul +EXPORT_SYMBOL vmlinux 0xd92514ca agp_special_page +EXPORT_SYMBOL vmlinux 0xd94ea873 netlink_kernel_create +EXPORT_SYMBOL vmlinux 0xd963a74a flush_delayed_work +EXPORT_SYMBOL vmlinux 0xd96912e9 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0xd96c8608 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xd977cf49 __locks_copy_lock +EXPORT_SYMBOL vmlinux 0xd97be3e8 fb_set_var +EXPORT_SYMBOL vmlinux 0xd97dacc1 scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd999fcf2 skb_pad +EXPORT_SYMBOL vmlinux 0xd9b9d301 simple_write_end +EXPORT_SYMBOL vmlinux 0xd9bac924 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0xd9ce8f0c strnlen +EXPORT_SYMBOL vmlinux 0xd9ead95d dquot_destroy +EXPORT_SYMBOL vmlinux 0xd9fc5365 eth_header_parse +EXPORT_SYMBOL vmlinux 0xd9fd3d25 ethtool_op_get_flags +EXPORT_SYMBOL vmlinux 0xda1a7335 kasprintf +EXPORT_SYMBOL vmlinux 0xda3e7982 register_sysctl_table +EXPORT_SYMBOL vmlinux 0xda408418 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xda45a715 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda803864 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xdaa57ec3 totalhigh_pages +EXPORT_SYMBOL vmlinux 0xdab1efcf of_device_uevent +EXPORT_SYMBOL vmlinux 0xdabdc9cf skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0xdac6b2c3 jbd2_journal_update_format +EXPORT_SYMBOL vmlinux 0xdad0d369 pci_device_from_OF_node +EXPORT_SYMBOL vmlinux 0xdaf12a81 write_one_page +EXPORT_SYMBOL vmlinux 0xdb09708f __wake_up +EXPORT_SYMBOL vmlinux 0xdb0f6940 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0xdb22c509 journal_destroy +EXPORT_SYMBOL vmlinux 0xdb435223 genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xdb4c88b4 groups_alloc +EXPORT_SYMBOL vmlinux 0xdb558ba6 vfs_set_dqinfo +EXPORT_SYMBOL vmlinux 0xdb5f3217 elevator_init +EXPORT_SYMBOL vmlinux 0xdb864d65 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xdbb51223 genphy_resume +EXPORT_SYMBOL vmlinux 0xdbb6343a wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0xdbb8b0ca matroxfb_vgaHWinit +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbd38907 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0xdbfccbf1 tty_mutex +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc053205 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0xdc09d0ee scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc348554 __blk_end_request_all +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc4489ad invalidate_partition +EXPORT_SYMBOL vmlinux 0xdca0e950 genl_register_family +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcb92218 neigh_compat_output +EXPORT_SYMBOL vmlinux 0xdcd5a3ee ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xdce0246a seq_puts +EXPORT_SYMBOL vmlinux 0xdcefb9a5 pmu_resume +EXPORT_SYMBOL vmlinux 0xdcfa18a9 lookup_hash +EXPORT_SYMBOL vmlinux 0xdcfe71a0 note_scsi_host +EXPORT_SYMBOL vmlinux 0xdd0a2ba2 strlcat +EXPORT_SYMBOL vmlinux 0xdd166882 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xdd27e855 kmem_ptr_validate +EXPORT_SYMBOL vmlinux 0xdd27fa87 memchr +EXPORT_SYMBOL vmlinux 0xdd454085 generic_write_checks +EXPORT_SYMBOL vmlinux 0xdd5a37a7 _spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0xdd6441e7 skb_append +EXPORT_SYMBOL vmlinux 0xdd6bfccd radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0xdd9a9752 alloc_hippi_dev +EXPORT_SYMBOL vmlinux 0xddb577c5 phy_connect +EXPORT_SYMBOL vmlinux 0xddbeb94a input_register_device +EXPORT_SYMBOL vmlinux 0xddc4256b tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0xdde0d1ef of_find_all_nodes +EXPORT_SYMBOL vmlinux 0xdde25489 _write_lock +EXPORT_SYMBOL vmlinux 0xddfc8251 gen_pool_add +EXPORT_SYMBOL vmlinux 0xde172528 ip_defrag +EXPORT_SYMBOL vmlinux 0xde213bdd nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0xde31b902 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xde49779b swiotlb_free_coherent +EXPORT_SYMBOL vmlinux 0xde4bdfcf bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xde502118 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0xde75b689 set_irq_type +EXPORT_SYMBOL vmlinux 0xde7db8a3 simple_release_fs +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xdeafff6c skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0xdeb1a84d llc_set_station_handler +EXPORT_SYMBOL vmlinux 0xdee8f217 tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0xdf4c8767 ns_to_timeval +EXPORT_SYMBOL vmlinux 0xdf578864 __devm_release_region +EXPORT_SYMBOL vmlinux 0xdf5b5b49 of_get_cpu_node +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf819315 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0xdf8ad9fa complete_request_key +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdfb0e65b tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0xdfe17ce9 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xdff43ed4 __debugger +EXPORT_SYMBOL vmlinux 0xdff56e64 adb_poll +EXPORT_SYMBOL vmlinux 0xdff604c3 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0xdffe4fbe default_file_splice_read +EXPORT_SYMBOL vmlinux 0xe0299580 matroxfb_DAC_in +EXPORT_SYMBOL vmlinux 0xe03e9bcd block_sync_page +EXPORT_SYMBOL vmlinux 0xe05bfab8 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe088dfa0 unlock_super +EXPORT_SYMBOL vmlinux 0xe0923926 phy_driver_register +EXPORT_SYMBOL vmlinux 0xe0a69a89 __pagevec_release +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0bc24a1 param_set_ushort +EXPORT_SYMBOL vmlinux 0xe0cda45c sg_miter_stop +EXPORT_SYMBOL vmlinux 0xe0ce8ef7 scsi_add_device +EXPORT_SYMBOL vmlinux 0xe0db8530 ps2_command +EXPORT_SYMBOL vmlinux 0xe0f49dc0 sock_no_listen +EXPORT_SYMBOL vmlinux 0xe0f4c581 pmac_suspend_agp_for_card +EXPORT_SYMBOL vmlinux 0xe0fcc1b2 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe1161396 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0xe11f60b6 pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0xe13821f5 __free_pages +EXPORT_SYMBOL vmlinux 0xe159f842 generic_file_llseek +EXPORT_SYMBOL vmlinux 0xe15aad99 noop_qdisc +EXPORT_SYMBOL vmlinux 0xe15b42cd __secpath_destroy +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe1961514 scsi_finish_command +EXPORT_SYMBOL vmlinux 0xe1976038 pipe_to_file +EXPORT_SYMBOL vmlinux 0xe1ae6594 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xe1bdbbce set_security_override +EXPORT_SYMBOL vmlinux 0xe1e56248 __blk_run_queue +EXPORT_SYMBOL vmlinux 0xe1fc884f nf_getsockopt +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe20e2640 pci_dev_put +EXPORT_SYMBOL vmlinux 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL vmlinux 0xe23259e7 matroxfb_g450_setclk +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe25ea9d3 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0xe26489e5 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xe27c01c3 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0xe2aafade udp_proc_register +EXPORT_SYMBOL vmlinux 0xe2c9fc98 of_parse_phandle +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2d80be3 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xe2e0c7c6 __flush_icache_range +EXPORT_SYMBOL vmlinux 0xe2e572b1 textsearch_prepare +EXPORT_SYMBOL vmlinux 0xe2e8065e memdup_user +EXPORT_SYMBOL vmlinux 0xe2ef586c generic_removexattr +EXPORT_SYMBOL vmlinux 0xe2f03739 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xe2fae716 kmemdup +EXPORT_SYMBOL vmlinux 0xe31df9e9 of_device_alloc +EXPORT_SYMBOL vmlinux 0xe33b6d26 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xe33f0ebd pci_clear_mwi +EXPORT_SYMBOL vmlinux 0xe3414561 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xe345b834 journal_force_commit +EXPORT_SYMBOL vmlinux 0xe355e07b __dev_get_by_name +EXPORT_SYMBOL vmlinux 0xe36d00bc con_set_default_unimap +EXPORT_SYMBOL vmlinux 0xe394ae60 bioset_free +EXPORT_SYMBOL vmlinux 0xe39d49b3 test_set_page_writeback +EXPORT_SYMBOL vmlinux 0xe3ce13dd should_remove_suid +EXPORT_SYMBOL vmlinux 0xe3da741c call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0xe3f9196b simple_transaction_get +EXPORT_SYMBOL vmlinux 0xe427f630 bio_pair_release +EXPORT_SYMBOL vmlinux 0xe44290ac blk_plug_device_unlocked +EXPORT_SYMBOL vmlinux 0xe44ade30 simple_fill_super +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe48fcef5 add_disk +EXPORT_SYMBOL vmlinux 0xe4b21311 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xe4e8b59b rtnl_notify +EXPORT_SYMBOL vmlinux 0xe4f1695e cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xe502ba6f load_nls +EXPORT_SYMBOL vmlinux 0xe5077a8f mempool_destroy +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe524f40d kernel_setsockopt +EXPORT_SYMBOL vmlinux 0xe573d0b6 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe58c5636 llc_mac_hdr_init +EXPORT_SYMBOL vmlinux 0xe5a892aa i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xe5c17fad scsi_host_set_state +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5d6796f put_tty_driver +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe63f1ed2 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0xe63f54c8 llc_sap_list_lock +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6c3db13 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0xe6dd236d clear_pages +EXPORT_SYMBOL vmlinux 0xe6ebc016 key_create_or_update +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe70a8fc6 block_fsync +EXPORT_SYMBOL vmlinux 0xe714375c __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xe7212514 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0xe797e118 dev_change_flags +EXPORT_SYMBOL vmlinux 0xe7ad6a6b __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xe7ce7439 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0xe7d2aca1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7e33d90 find_vma +EXPORT_SYMBOL vmlinux 0xe7e9799e task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0xe82842e3 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0xe82e44f2 take_over_console +EXPORT_SYMBOL vmlinux 0xe830ef74 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0xe83cca54 __scsi_add_device +EXPORT_SYMBOL vmlinux 0xe8480aa6 prepare_binprm +EXPORT_SYMBOL vmlinux 0xe88aed6c sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0xe8974792 read_cache_pages +EXPORT_SYMBOL vmlinux 0xe8aada41 devm_ioport_map +EXPORT_SYMBOL vmlinux 0xe8cd902e hweight16 +EXPORT_SYMBOL vmlinux 0xe8cec4b1 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xe90dcae0 __request_module +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe94824d2 __serio_register_port +EXPORT_SYMBOL vmlinux 0xe9572b06 switch_mmu_context +EXPORT_SYMBOL vmlinux 0xe9868ad1 i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0xe988979a scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0xe98f1d8f of_n_size_cells +EXPORT_SYMBOL vmlinux 0xe9d9240a of_release_dev +EXPORT_SYMBOL vmlinux 0xe9e64c58 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea0b5fe1 xfrm_register_km +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea147363 printk +EXPORT_SYMBOL vmlinux 0xea2d33a2 radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0xea3e021d i2c_master_recv +EXPORT_SYMBOL vmlinux 0xea7987f1 key_update +EXPORT_SYMBOL vmlinux 0xea858cb5 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xea884e8e setup_new_exec +EXPORT_SYMBOL vmlinux 0xea889cd3 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xea9a192c dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0xeab546ed bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xeae6a1ad of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0xeafc7c27 key_revoke +EXPORT_SYMBOL vmlinux 0xeb6574a5 ethtool_op_set_sg +EXPORT_SYMBOL vmlinux 0xeb7a7963 blk_put_request +EXPORT_SYMBOL vmlinux 0xeb8f54b3 strstrip +EXPORT_SYMBOL vmlinux 0xeba2a1f7 rtas_indicator_present +EXPORT_SYMBOL vmlinux 0xeba4f26d dev_close +EXPORT_SYMBOL vmlinux 0xeba5c54b of_platform_device_create +EXPORT_SYMBOL vmlinux 0xebaa0ef7 dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0xebb358ac tty_port_close_start +EXPORT_SYMBOL vmlinux 0xebc76942 input_open_device +EXPORT_SYMBOL vmlinux 0xebd273a6 strict_strtoull +EXPORT_SYMBOL vmlinux 0xebdce31d ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0xebef9ec7 napi_frags_finish +EXPORT_SYMBOL vmlinux 0xec1f6c55 tcp_connect +EXPORT_SYMBOL vmlinux 0xec3480fc sock_setsockopt +EXPORT_SYMBOL vmlinux 0xec47af2c dst_release +EXPORT_SYMBOL vmlinux 0xec55a31d alloc_fcdev +EXPORT_SYMBOL vmlinux 0xec634c7e netlink_unicast +EXPORT_SYMBOL vmlinux 0xec794ba0 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0xec80116f serio_reconnect +EXPORT_SYMBOL vmlinux 0xecc5232d scsi_dma_map +EXPORT_SYMBOL vmlinux 0xed26356d remove_proc_entry +EXPORT_SYMBOL vmlinux 0xed31ae40 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0xed49ba48 downgrade_write +EXPORT_SYMBOL vmlinux 0xed4a13c3 km_state_notify +EXPORT_SYMBOL vmlinux 0xed4b960b xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0xed79da6d blk_plug_device +EXPORT_SYMBOL vmlinux 0xed88f7b3 scsi_remove_target +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xedac92ee of_match_device +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xee195348 swiotlb_map_sg +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee3763a7 textsearch_register +EXPORT_SYMBOL vmlinux 0xee59412f adb_try_handler_change +EXPORT_SYMBOL vmlinux 0xee67c069 genphy_config_advert +EXPORT_SYMBOL vmlinux 0xee741851 i2c_bit_add_numbered_bus +EXPORT_SYMBOL vmlinux 0xee76a249 migrate_page +EXPORT_SYMBOL vmlinux 0xee78e3f8 of_get_pci_address +EXPORT_SYMBOL vmlinux 0xee98f554 dev_trans_start +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeeb691e2 skb_queue_tail +EXPORT_SYMBOL vmlinux 0xeedafcca fb_set_cmap +EXPORT_SYMBOL vmlinux 0xef0c0d80 i2c_register_driver +EXPORT_SYMBOL vmlinux 0xef14e808 slow_work_enqueue +EXPORT_SYMBOL vmlinux 0xef2a2669 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xef30da24 nf_register_hooks +EXPORT_SYMBOL vmlinux 0xef49ee13 flush_tlb_mm +EXPORT_SYMBOL vmlinux 0xef5b38e7 journal_check_used_features +EXPORT_SYMBOL vmlinux 0xef600700 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0xef6604b6 user_path_at +EXPORT_SYMBOL vmlinux 0xef688be1 seq_release_private +EXPORT_SYMBOL vmlinux 0xef6ed1ba param_set_invbool +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefde1bbe flush_dcache_range +EXPORT_SYMBOL vmlinux 0xefdeb39c journal_release_buffer +EXPORT_SYMBOL vmlinux 0xeff1a04f blk_stop_queue +EXPORT_SYMBOL vmlinux 0xeff5f71f ida_remove +EXPORT_SYMBOL vmlinux 0xeff75274 register_sysrq_key +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf027ddca phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf083b68a lease_get_mtime +EXPORT_SYMBOL vmlinux 0xf099ca79 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0xf0a72c20 register_qdisc +EXPORT_SYMBOL vmlinux 0xf0b4786f blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0f69c24 flush_old_exec +EXPORT_SYMBOL vmlinux 0xf10de535 ioread8 +EXPORT_SYMBOL vmlinux 0xf11ee9a1 fddi_change_mtu +EXPORT_SYMBOL vmlinux 0xf1415afa of_parse_phandles_with_args +EXPORT_SYMBOL vmlinux 0xf160017c matroxfb_unregister_driver +EXPORT_SYMBOL vmlinux 0xf174ed48 acquire_console_sem +EXPORT_SYMBOL vmlinux 0xf181eccb get_fs_type +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf19e9355 cpu_online_mask +EXPORT_SYMBOL vmlinux 0xf1d46b99 tty_throttle +EXPORT_SYMBOL vmlinux 0xf1da11a8 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1dd9fb3 down_read_trylock +EXPORT_SYMBOL vmlinux 0xf1deabf2 div64_u64 +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1f90bfc skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf20ffbcb journal_lock_updates +EXPORT_SYMBOL vmlinux 0xf221a93b scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0xf239ea2f ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0xf23bbb43 xfrm_register_type +EXPORT_SYMBOL vmlinux 0xf25fe13a __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xf2658503 scsi_print_sense +EXPORT_SYMBOL vmlinux 0xf27736ab i2c_release_client +EXPORT_SYMBOL vmlinux 0xf27b6b0b netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0xf29684cf ilookup5_nowait +EXPORT_SYMBOL vmlinux 0xf2997c4a neigh_destroy +EXPORT_SYMBOL vmlinux 0xf2a530b7 gen_pool_free +EXPORT_SYMBOL vmlinux 0xf2bb785c key_task_permission +EXPORT_SYMBOL vmlinux 0xf2fcce45 input_allocate_device +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf320ef49 sget +EXPORT_SYMBOL vmlinux 0xf3335762 simple_write_begin +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf34c1fe7 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0xf355c115 nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0xf35eac05 ide_wait_stat +EXPORT_SYMBOL vmlinux 0xf397b9aa __tasklet_schedule +EXPORT_SYMBOL vmlinux 0xf39bf4d9 put_cmsg +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3d02cb6 register_snap_client +EXPORT_SYMBOL vmlinux 0xf3fe3644 save_mount_options +EXPORT_SYMBOL vmlinux 0xf433a905 llc_build_and_send_ui_pkt +EXPORT_SYMBOL vmlinux 0xf435dc41 insert_inode_locked +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf4449388 timer_interrupt +EXPORT_SYMBOL vmlinux 0xf44ad886 serio_interrupt +EXPORT_SYMBOL vmlinux 0xf469287e wait_for_key_construction +EXPORT_SYMBOL vmlinux 0xf46af10d blk_queue_max_sectors +EXPORT_SYMBOL vmlinux 0xf47ffb71 journal_clear_err +EXPORT_SYMBOL vmlinux 0xf4bcaf92 xfrm_input +EXPORT_SYMBOL vmlinux 0xf4cca079 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f52f93 dqstats +EXPORT_SYMBOL vmlinux 0xf51ee07c __devm_request_region +EXPORT_SYMBOL vmlinux 0xf52321e0 atomic64_sub +EXPORT_SYMBOL vmlinux 0xf52e47bb kill_pgrp +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf551ecc4 skb_free_datagram +EXPORT_SYMBOL vmlinux 0xf55b4c17 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0xf56e6d9c cdrom_media_changed +EXPORT_SYMBOL vmlinux 0xf58a658e proc_symlink +EXPORT_SYMBOL vmlinux 0xf5a40807 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xf5a5c976 kset_unregister +EXPORT_SYMBOL vmlinux 0xf5a62ecc _memset_io +EXPORT_SYMBOL vmlinux 0xf5c05914 generic_segment_checks +EXPORT_SYMBOL vmlinux 0xf5c9012e timespec_trunc +EXPORT_SYMBOL vmlinux 0xf5ccdffd blk_stack_limits +EXPORT_SYMBOL vmlinux 0xf5e1558d crash_shutdown_unregister +EXPORT_SYMBOL vmlinux 0xf5e94ee4 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf616a4fe xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xf63097c6 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0xf6344eb8 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xf654e062 eth_change_mtu +EXPORT_SYMBOL vmlinux 0xf669d391 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0xf6709338 consume_skb +EXPORT_SYMBOL vmlinux 0xf69be488 wait_for_completion +EXPORT_SYMBOL vmlinux 0xf69e15d1 neigh_ifdown +EXPORT_SYMBOL vmlinux 0xf6a5451b clear_inode +EXPORT_SYMBOL vmlinux 0xf6a576fc d_alloc_root +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6bb8990 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0xf6caed6d vga_get +EXPORT_SYMBOL vmlinux 0xf6e3be01 fget +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf70384d7 __debugger_sstep +EXPORT_SYMBOL vmlinux 0xf71521ba atomic64_add_return +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf75887e7 scsi_register +EXPORT_SYMBOL vmlinux 0xf7623914 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0xf78b69db ide_raw_taskfile +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf7a35cc2 lock_rename +EXPORT_SYMBOL vmlinux 0xf7b12aee __next_cpu +EXPORT_SYMBOL vmlinux 0xf7cc335f gen_new_estimator +EXPORT_SYMBOL vmlinux 0xf7d11c20 pci_busdev_to_OF_node +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf836ddb6 ethtool_op_set_tx_hw_csum +EXPORT_SYMBOL vmlinux 0xf8566e18 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0xf857da20 neigh_connected_output +EXPORT_SYMBOL vmlinux 0xf8a59d01 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xf8b481a9 block_prepare_write +EXPORT_SYMBOL vmlinux 0xf8ce5aa1 phy_start_aneg +EXPORT_SYMBOL vmlinux 0xf8d04f30 seq_bitmap_list +EXPORT_SYMBOL vmlinux 0xf8d43184 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0xf8f08325 key_alloc +EXPORT_SYMBOL vmlinux 0xf8f28323 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0xf8fda569 rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0xf90e922e blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0xf90fda92 eth_type_trans +EXPORT_SYMBOL vmlinux 0xf92d4cf3 module_refcount +EXPORT_SYMBOL vmlinux 0xf93f2a6f of_register_i2c_devices +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9b9b731 iget5_locked +EXPORT_SYMBOL vmlinux 0xf9e8353c llc_sap_close +EXPORT_SYMBOL vmlinux 0xfa27e53f __bread +EXPORT_SYMBOL vmlinux 0xfa31cd3b kfifo_init +EXPORT_SYMBOL vmlinux 0xfa360807 of_platform_bus_type +EXPORT_SYMBOL vmlinux 0xfa4252b7 register_con_driver +EXPORT_SYMBOL vmlinux 0xfa4af182 blk_get_request +EXPORT_SYMBOL vmlinux 0xfa530832 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xfa72bf9f call_usermodehelper_setfns +EXPORT_SYMBOL vmlinux 0xfa785b01 pci_clear_master +EXPORT_SYMBOL vmlinux 0xfa7ada32 igrab +EXPORT_SYMBOL vmlinux 0xfa92cfa4 seq_putc +EXPORT_SYMBOL vmlinux 0xfa9dd504 timecompare_transform +EXPORT_SYMBOL vmlinux 0xfadb5750 pmu_unlock +EXPORT_SYMBOL vmlinux 0xfaed971c matroxfb_g450_setpll_cond +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb09b120 bio_integrity_free +EXPORT_SYMBOL vmlinux 0xfb0cf2e9 touch_all_softlockup_watchdogs +EXPORT_SYMBOL vmlinux 0xfb4b322b blkdev_put +EXPORT_SYMBOL vmlinux 0xfb61eeb5 netif_napi_add +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfbb15856 ethtool_op_set_flags +EXPORT_SYMBOL vmlinux 0xfbb77a6f kill_block_super +EXPORT_SYMBOL vmlinux 0xfbc5adce deactivate_super +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfbee904a thaw_bdev +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc0df36a blk_remove_plug +EXPORT_SYMBOL vmlinux 0xfc2fb592 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc533f85 schedule_work_on +EXPORT_SYMBOL vmlinux 0xfc5b1c35 serio_close +EXPORT_SYMBOL vmlinux 0xfc7102dd proc_net_netfilter +EXPORT_SYMBOL vmlinux 0xfc72790a nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcac52ef jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xfcc2571e sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcc79e04 pci_target_state +EXPORT_SYMBOL vmlinux 0xfcd4ad78 napi_frags_skb +EXPORT_SYMBOL vmlinux 0xfcda63a3 node_states +EXPORT_SYMBOL vmlinux 0xfce8ff71 __vlan_hwaccel_rx +EXPORT_SYMBOL vmlinux 0xfceae9e5 scsi_init_io +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd0b963f simple_dir_operations +EXPORT_SYMBOL vmlinux 0xfd0c5038 adb_unregister +EXPORT_SYMBOL vmlinux 0xfd4fd58b nf_hook_slow +EXPORT_SYMBOL vmlinux 0xfda85a7d request_threaded_irq +EXPORT_SYMBOL vmlinux 0xfdae6b8c scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfded48ed enable_kernel_fp +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfe2ad88e d_obtain_alias +EXPORT_SYMBOL vmlinux 0xfe2c0b2b neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xfe45f333 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0xfe57a394 pci_iomap +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe7c4287 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0xfeb88291 rtnl_unicast +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfec5430a dma_pool_free +EXPORT_SYMBOL vmlinux 0xfed649cf swiotlb_map_sg_attrs +EXPORT_SYMBOL vmlinux 0xfedd35fc console_suspend_enabled +EXPORT_SYMBOL vmlinux 0xfee95e35 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xfefbc10b shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0xff104fac kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xff1765c7 rtas_call +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff288011 input_unfilter_device +EXPORT_SYMBOL vmlinux 0xff587c14 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xff5e72af inet_select_addr +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff6dea25 smp_hw_index +EXPORT_SYMBOL vmlinux 0xff7d449b simple_rmdir +EXPORT_SYMBOL vmlinux 0xff964b25 param_set_int +EXPORT_SYMBOL vmlinux 0xff9c559c __kfree_skb +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffe85bf9 pcim_pin_device +EXPORT_SYMBOL vmlinux 0xfff78176 inode_permission +EXPORT_SYMBOL_GPL crypto/aes_generic 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL crypto/aes_generic 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x8fc9c160 crypto_aes_set_key +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x0258ca87 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x2d232016 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x784c1b24 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x2de59d00 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x8374d349 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x569795b0 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xaee73f80 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xcc38fa74 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x007a3c6f async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xe25bd49b async_xor_val +EXPORT_SYMBOL_GPL crypto/cryptd 0x19230c42 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x554f5da1 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x61b41acc cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x8616179f cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xbf0a45ce cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xc285082b cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xe3857cd2 cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x2326b496 twofish_setkey +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x794e8a03 __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xd8e1abfa __pata_platform_remove +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0x75eef737 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/bluetooth/btmrvl 0x1f0d581a btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x36fb22c3 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x549052fc btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x65535315 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xb29b50de btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xd1e1a266 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0x028d3a0d agp_add_bridge +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0x1aa92bc6 agp_remove_bridge +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x01854de3 tpm_show_active +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x09bb4f24 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x1c262a39 tpm_gen_interrupt +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x2e2a2e99 tpm_show_enabled +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x2e3fa171 tpm_get_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x30bce56a tpm_continue_selftest +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x574d6ace tpm_pm_suspend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x6d8efb83 tpm_show_pubek +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x6e0d9eac tpm_dev_vendor_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x7a4440b1 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x8665f2f8 tpm_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x8c0d5180 tpm_register_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x997355a1 tpm_open +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xa54efac4 tpm_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xafd148d2 tpm_show_pcrs +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xb0c68fdc tpm_pm_resume +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xb5cf6def tpm_write +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xbba08ee9 tpm_remove_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xce92f839 tpm_dev_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xd5c01b5b tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xe708676e tpm_store_cancel +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xeda72b15 tpm_show_owned +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xf334d800 tpm_show_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xfeb2dcce tpm_show_caps +EXPORT_SYMBOL_GPL drivers/connector/cn 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL drivers/connector/cn 0xcf7a962e cn_add_callback +EXPORT_SYMBOL_GPL drivers/connector/cn 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0199aea1 edac_pci_handle_npe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x13d3f789 edac_mc_add_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x14a84e58 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x18863e9e edac_pci_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x1de0e0f0 edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x21771662 edac_device_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x23af1eef edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x2934d785 edac_mc_alloc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x33a57fce edac_device_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x3ec0a508 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x66843246 edac_device_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x676f2d39 edac_device_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x89b6db3c edac_device_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x9eb8e779 edac_mc_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb3ef1c46 edac_pci_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb8cd8210 edac_mc_handle_ue_no_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc156cfa2 edac_mc_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc6afce5c edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xca25eb8b edac_pci_handle_pe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xd4a23a0c edac_mc_handle_ce_no_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xefb58d03 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xf47a42d8 edac_mc_del_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xf8621798 edac_pci_reset_delay_period +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xf8b6b779 edac_mc_free +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x5e4bbf53 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xafe369a2 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0538c51e hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x078dabea __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x07a428ae hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x12717053 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1d212e40 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1d2db2e5 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1e076e50 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x287d0cd9 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2f7edf52 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4d98ad6b hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x53cc6205 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x53da1457 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5dda51a2 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x77d430b7 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x991bcd2d hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x99c69d6c hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa68ba981 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa7b0b275 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa8c72433 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcd0ece23 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe26672bb hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe557b55a hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xec76dd51 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf10429ba hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfc75aab8 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x0f1b9441 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xb45585db usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xc1e842d3 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x10273297 lis3_dev +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x5110b2c7 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x5ce38960 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x6c33e494 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x786c25a7 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x846754b0 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xe6af28c8 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0x0010ad84 hpsb_config_rom_ip1394_remove +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0x25f9d08f hpsb_config_rom_ip1394_add +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xec8d18cf hpsb_disable_irm +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xe63f01ec input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x0b4510b8 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x2ee24990 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x335c54ca wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x82671ad4 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x8344d58f wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x991b32d4 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x99c5f811 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xce7eb9c7 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xde22d722 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xe248490e wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xe7f98e67 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf23a4cf0 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x0e108e4c wf_unregister_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x0f977e63 wf_unregister_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x4b8e7333 wf_find_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x6e125b15 wf_get_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x75147afa wf_set_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x76436e0f wf_get_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x82be9a10 wf_register_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x93094e82 wf_find_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x94765fac wf_critical_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x9a084b60 wf_put_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xa2f19a49 wf_is_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xaf15726f wf_unregister_client +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xb4d6374e wf_put_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xb9f39360 wf_register_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xdb7e8499 wf_register_client +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xed82a14f wf_clear_overtemp +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x6796c834 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xc4a9a75c dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x0a711803 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x177d1af6 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x1d68f35e dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x1f9f67d2 dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x265fb7d0 dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x32c3d2d4 dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x34851cf5 dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x39523162 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x4c47edab dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x4c93b537 dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x4e0acf66 dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x4ee99baf dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x55d9db6c dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5d2de933 dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x681cac29 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fdc3dd3 dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xcbf675b0 dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd1ad07e2 dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xeb231d43 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xed3fc8ee dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf0f3c380 dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/md-mod 0x3a4a2802 md_do_sync +EXPORT_SYMBOL_GPL drivers/md/md-mod 0x6c89ad97 sync_page_io +EXPORT_SYMBOL_GPL drivers/md/md-mod 0xa2584707 md_allow_write +EXPORT_SYMBOL_GPL drivers/md/md-mod 0xbb40c222 md_new_event +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x05513b71 raid6_call +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x0b8ef590 raid6_2data_recov +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x4a48d81c raid6_datap_recov +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0349c9bd ir_codes_proteus_2309_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0366dcdf ir_codes_videomate_s350_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x110b053a ir_codes_pixelview_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x124cb753 ir_codes_encore_enltv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x183fdfdd ir_codes_gotview7135_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19b4d61c ir_codes_nebula_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19cd2826 ir_codes_behold_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1a9009d6 ir_codes_dm1105_nec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1cb148f5 ir_extract_bits +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2456e513 ir_decode_pulsedistance +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2cc459b5 ir_codes_flydvb_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2d0e9a49 ir_codes_em_terratec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3136d8ff ir_codes_dntv_live_dvbt_pro_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x32b9033b ir_codes_apac_viewcomp_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3909f4ad ir_codes_terratec_cinergy_xs_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3a84be27 ir_codes_avermedia_a16d_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4267d749 ir_codes_budget_ci_old_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x43c89ef4 ir_decode_biphase +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4c1442c1 ir_codes_real_audio_220_32_keys_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x51ba1643 ir_codes_kworld_plus_tv_analog_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x543db4ff ir_codes_avermedia_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5e95da31 ir_codes_tt_1500_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5fbe6515 ir_codes_pinnacle_color_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x61d039d7 ir_codes_behold_columbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x61f66a3d ir_input_keydown +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6427a3fb ir_codes_pinnacle_grey_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x64b02fed ir_codes_avermedia_dvbt_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x64e2d456 ir_input_init +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6606596a ir_rc5_timer_keyup +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6809de82 ir_codes_pctv_sedna_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6d6511e7 ir_dump_samples +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x703fc738 ir_codes_avertv_303_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x7283f81d ir_codes_purpletv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x72c2992e ir_codes_powercolor_real_angel_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x76d71b8e ir_codes_dntv_live_dvb_t_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x784e176d ir_codes_asus_pc39_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x828b3ce5 ir_codes_encore_enltv_fm53_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x8acae3dd ir_codes_pinnacle_pctv_hd_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x92d1d181 ir_codes_flyvideo_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x94651dab ir_codes_ati_tv_wonder_hd_600_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x97c35dab ir_codes_msi_tvanywhere_plus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x9944e2e5 ir_codes_hauppauge_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa69aa6ad ir_codes_pv951_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa95157c5 ir_codes_cinergy_1400_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xac15f6c8 ir_codes_kaiomy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xaff22e87 ir_codes_pixelview_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb01a1998 ir_codes_manli_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb0a8ef38 ir_codes_rc5_tv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb57445f7 ir_codes_eztv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb5adb754 ir_codes_cinergy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbd3ce6f0 ir_codes_avermedia_cardbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbeaccbdc ir_codes_gadmei_rm008z_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbeb56382 ir_input_nokey +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xcba36c62 ir_codes_videomate_tv_pvr_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xd30c491f ir_codes_norwood_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdc23fec4 ir_codes_fusionhdtv_mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdd4c0a07 ir_codes_evga_indtube_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe1101f4d ir_codes_avermedia_m135a_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe4140c60 ir_codes_genius_tvgo_a11mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeb9bb08f ir_codes_npgtech_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xebf345b4 ir_codes_encore_enltv2_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeec89db8 ir_codes_empty_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xef29c40d ir_codes_adstech_dvb_t_pci_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf33c155d ir_codes_msi_tvanywhere_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf3d619ec ir_codes_iodata_bctv7e_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf4f7a4d6 ir_rc5_timer_end +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf5e15e65 ir_codes_winfast_table +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x074d03d7 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x2d59431b saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x476c6b9c saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x7a891fb4 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x98392745 saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xabb5836e saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xb51f6eb5 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xc07dc29b saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcf683cf2 saa7146_devices +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xd31b8a96 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xd974b369 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe989f0ab saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x7085d0cc saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x7c8da7d8 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x7d011cdb saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x81ad3f80 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xb34fa485 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xd78ffe16 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xfc27187a saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x13af94ee microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0x14cece08 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0x0c2128a7 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x71e2741d tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x65133856 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xe06bc6d7 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0xb9047cbe tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x2268be54 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x63898887 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x59c1762d tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0xae0e0c64 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0xbd4b3a77 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x035224f0 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x05a2ade1 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x0f795b78 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21a8ed49 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x330a8e52 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x52265a79 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x5dc9a05a smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x897f0209 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x9859e4d7 sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xadd13cc7 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xb09e4068 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xb6d52f83 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xba7b1b4a smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xc7ce4b82 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xdc43b8b0 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xdea75fe4 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf2a16f5f smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf7179564 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf8462ece sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfda878c5 sms_get_board +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x179ce228 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x39dde9a4 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x3aff33e8 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x457bb2d6 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x6cc781d8 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x73bcacf3 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc1bdb120 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xcb2858af cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xd45d597c cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xd4df9b06 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xf55d01fb cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0x5f52a221 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x28f06c8b em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x40934ae8 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x423254a3 em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x5dd757f7 em28xx_isoc_dvb_max_packetsize +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7cfd07df em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x9ab63b46 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x027d0a50 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x2c92840f saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x363d5277 saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xc8a43677 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xe5aa2dd4 saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x1d4a59a3 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x3ceb3929 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x94e042e3 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xbc60895d v4l2_i2c_new_subdev_cfg +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 0x6b34390c v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa5228b24 v4l2_int_device_try_attach_all +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xafe4264a v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xb71542d1 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xe317450b v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x0657621f videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x11dd6b8e videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x1ea2a6e3 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2ba1c707 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2f5f0c4f videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x37662882 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x3a71487f videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x3fe18cff videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6304d284 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x802bba72 videobuf_cgmbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8186eec6 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x909d5415 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa61e8835 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa6a2fba8 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xae6a051c videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xb1cf5aec videobuf_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xb612c036 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xbf1d8fac videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xbfc00ddc __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xca151ebe videobuf_queue_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd2cd6e07 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd8dd4767 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe701cd09 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe78c14f4 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xef541c42 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x081832a8 videobuf_dma_sync +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x191c85e4 videobuf_dma_init_overlay +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x1e08e21a videobuf_sg_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x2cbb7984 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x66f9427d videobuf_vmalloc_to_sg +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x6aa1a597 videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x6dbd108c videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x6de14e75 videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x88776c13 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x8c4aca30 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x8f825a22 videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa825c75b videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xc76de257 videobuf_sg_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xdfdbbfa5 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x72b94207 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x7c868867 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xafb0e144 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x4a028330 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x6b23cade v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa6033f45 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xdc563cb7 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xf1fe9880 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xffb8008c v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x109e4560 i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x37871b7d i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x443e3e18 i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x50763662 i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x76b8a0fc i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x85e18038 i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xd6f1d9f3 i2o_pool_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xf7a911c2 i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x35455fce mc13783_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x422df6fc mc13783_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x70d0602e mc13783_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x8bb7cf88 mc13783_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xc7437c73 mc13783_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xce093610 mc13783_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xe1032fe6 mc13783_adc_set_ts_status +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x0b05bcfd pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x4d833264 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x097e9517 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x0c699963 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x4b82efc9 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x5ec59393 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x7daa3080 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xc888aecd pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xc9017c9f pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xcd5da69d pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xd379c149 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xf28dc811 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xfaadb9f3 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x4d21607f pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x76a5748e pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x7da9b8c9 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xc6ca8713 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xdfc73ef0 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x1ef279a7 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x222466e4 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x279b4fec sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x4268109c sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x7e961535 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xe5a6e4d0 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x0d11c9fe wm831x_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x1bb68bb6 wm831x_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x2213ee15 wm831x_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x51483793 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x6eae38e6 wm831x_disable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x80948318 wm831x_enable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x8e3e3576 wm831x_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xb05984df wm831x_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xb58e9dd9 wm831x_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xb947c7dc wm831x_auxadc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xe38a0fc6 wm831x_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xf7e8ed70 wm831x_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x0a4b2fb2 wm8350_gpio_config +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x11a781f6 wm8350_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x1d2aaf96 wm8350_unmask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x2678829c wm8350_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x2e47d25f wm8350_device_init +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x442c7169 wm8350_block_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x4f9ae66f wm8350_read_auxadc +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x53aeb174 wm8350_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x6373666c wm8350_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x769875ce wm8350_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x7b131a5d wm8350_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x8ca1ed31 wm8350_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xa70c3190 wm8350_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xcbb00f9d wm8350_mask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xd4483e6d wm8350_device_exit +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xf1be35b4 wm8350_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x16f231e2 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x4cbb8bfd wm8400_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x6c1fe7df wm8400_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0xf52cebe9 wm8400_set_bits +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x503b1813 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x53cf1848 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xf28e1dd9 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xf2c8bad5 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x2df115d4 eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d14d2f eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x02d25118 sdio_align_size +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x0998854c sdio_unregister_driver +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x18003477 sdio_release_irq +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x1fedba22 sdio_f0_writeb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x2349b4a4 sdio_writel +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x25533208 sdio_enable_func +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x2d457eec sdio_readsb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x313ab265 sdio_f0_readb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x3820f3ec sdio_memcpy_toio +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x5a18c1db sdio_writesb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x5cad8e64 sdio_writeb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x5df69492 sdio_set_block_size +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x674d45f0 sdio_claim_host +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x7b2f4015 sdio_claim_irq +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x9625a377 sdio_register_driver +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xa5d3662f sdio_memcpy_fromio +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xb2d5691e sdio_release_host +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xb516f2de sdio_disable_func +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xc887122b sdio_readb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xda248bdb sdio_writew +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xe21fca08 sdio_readl +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xe4cf8e46 sdio_readw +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3adb5493 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3bdca3ba sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5d46d04f sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x827600f1 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa85ff68a sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd5ac5fe6 sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xba70a5ad cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xc51a4d5b cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xec00b6f8 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x3c2fb3aa cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x5ac3a0a0 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x673a70f4 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xa29b0290 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xff20cda9 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2000 0xb0f04418 DoC2k_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001 0x90793788 DoCMil_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x62a65af0 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x29a98ce1 default_mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3380d372 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4c3e49c3 mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6078820c get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x61ff6b96 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x66a93ae3 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x66b6e4ff mtd_table +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x846142ff add_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x88997256 del_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8e161653 register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8fefa109 get_sb_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x978bd1cc get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa5a08294 mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb036138a kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd70be8cd put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xef700554 parse_mtd_partitions +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x26676915 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x8c2fc37d register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x8e389f29 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xd400e862 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x1c5fc750 nand_scan_ident +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x94a2e54a nand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xc6016633 nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xe5267463 nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xea18ff6d nand_scan_tail +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x4f2eeabb onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xcf1352f7 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x02954da6 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x0b3c9a0f ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x17d5a9f7 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x4a88aebe ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x4b882957 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x95c19608 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa35bdb2b ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xb95f5b70 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbc505df4 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd04c8c1c ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd21369f5 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe7e4b1d1 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xedd24bbe ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x5c165da6 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x66f55ace free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x74143d5d unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x77d725af can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x9695cdc9 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xab7e8a4e can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xc756d139 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xeb00f8f0 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xf9bbe753 alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xfc3d1f58 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xa2d364a8 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xc615a123 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xdc9bd500 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xf0f6dde8 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xf336f84d unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x02ecae58 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x04da2ee2 mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x092651e0 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0dc76569 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x1242533a mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x18b34db8 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x1ad31a3b mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x1b0b2eee mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x1c9e2618 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x2217ebcd mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x23c4f0a8 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x247ea001 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x2c633587 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x32ea221d mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x33e8520c mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x3a3d4221 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x422be68c mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x440ea312 mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x47a25116 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4b26c978 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4e01f93a mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x53678160 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x57244383 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x594f6d5d mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x5c39e32c mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x61529e22 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x65228442 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x67344d4e mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x77147337 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x77ed0fbb mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x79648b35 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x7b6ac6e6 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x80ad30ef mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x85dbceba mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8a34dd43 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8de70b17 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x963db7a6 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa09fb14d mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xaac8eb3b mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb465b0aa mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb97dfc00 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xbdef997b mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc54e34f7 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc5b75dfe __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc7f7b60d mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xcc494688 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xccc8b699 mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe002c825 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe9adc22a mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf232bb89 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf34e6619 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf559f710 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf85e68b1 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x3770dff9 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xa82801b8 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x1b3a25c3 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x33a8ffde rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x84c135d5 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x9e601fb4 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xb5c46d18 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xff1a30ca rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00003ed5 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00c2bb6f usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0cc46b12 usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2796bc24 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x28063947 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3585dd27 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3ba93be8 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x45c9e0cd usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x475b6ba9 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x517342ee usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x572cbdf1 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7a5b101f usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7b86d72d usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x844a1034 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8cf5ba1c usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x934710b0 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x96923b84 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9a552b1e usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xaf5b1994 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb3d8c453 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcf59acae usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd16b9414 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe17342b8 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf36f6379 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x3262cde0 i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x47367b36 i2400m_set_init_config +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x57a349ad i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x5b599591 i2400m_cmd_get_state +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7556a253 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7f0cc607 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x89220f4f i2400m_queue_work +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x962545df i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xa4ee0a97 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xe0c650b4 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xe7c17641 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xed53e042 i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf1e75327 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x84e0cb04 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x139fcf38 lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x26e0b071 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x4e20de64 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x50ddf026 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x52717193 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x6164c782 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x7aab56ef lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x7ebb134f lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xc53b9c70 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xc682b941 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xc7f1e481 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xcafc50b1 lbs_cmd_802_11_rate_adapt_rateset +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xcc4e406f __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xcec5e1d3 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xcff6f620 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x02953507 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x252d5006 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x319dcd3b lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x50dd9da0 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x8aaa9752 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x98e12be1 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xa7972b61 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xcd52b8ee lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x9567f088 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xcfd085b1 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x187a71ba p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x188248ad p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x1ddb1024 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x40d76d4f p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x422dc181 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x483f89ed p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xae93ed93 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xb801f549 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xd027b6b4 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x225eb0b9 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x34252688 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x386fa9e3 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x42051936 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x467c6b7b rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4fa54411 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x53d7b890 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x579d857c rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5b3c9864 rt2x00mac_get_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x60b00b00 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8f40073b rt2x00queue_get_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9c2f48a2 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xbeea7aa5 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc2972fd9 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc8ea71a8 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xced16acc rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd956db3b rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdb91cdd6 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe324d2c5 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe9938047 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe9ef53db rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf5c4bfc3 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf67e91b4 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfa532e9b rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x0b581344 rt2x00pci_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x244ca4c7 rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x497471df rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x76d55ade rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x83ba4750 rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xa4401231 rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xc57b1558 rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xec996ada rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xed7e97f9 rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x242a0107 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x2ccc9121 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x407c961f rt2x00usb_kick_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6e1ca7c9 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x91721f1b rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x9f46ceb8 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xa5a4a7c8 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xacb0b7b7 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xc96dd5b8 rt2x00usb_kill_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xcbedf1fd rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xcf60fe21 rt2x00usb_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdceb3ec1 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdf8d836d rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xe223c327 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xf3591217 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xf98da306 rt2x00usb_vendor_request_large_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x8dc754ef wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0xc8351094 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0xdd3661a7 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x7991f3e8 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x8b04d9f1 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x203ba6a3 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x33e91722 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x44444f3e wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x7ab601c0 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x8e1f8ecd wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x957ed872 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x43625d66 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x0ee0c0f2 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x24d1798d scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x593a36c2 scsi_dh_handler_exist +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x8338074f scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x87da947e scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x95bdd140 scsi_dh_set_params +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xe1c99c8f scsi_register_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x9ad16b8c fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x02bf6f52 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0406e173 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x143ec841 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x17806715 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x18ee0450 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1ed9c26c iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1f6c7717 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2b40a0ae iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2ba80dc8 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x34376bff iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3b346c9e iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bcae5ff iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4019ac59 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x496fd74a iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4dae711c iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x50a71d94 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x50c07a6c iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x569d4cb9 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5f5e264b iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5fb0bfd7 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x65399160 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6e3d8f19 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x76449a5b iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7b7e2069 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fd83219 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x803d3ed2 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x86a99345 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x99f6e4bc iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9c72b065 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9fbb9ffa iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb363587b iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb42acd07 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb5459c11 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb9ea674a iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbda4e530 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbdb24a80 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd56f19f1 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdacbfc13 iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xde12de25 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe667acd7 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeaaa6c51 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf6374965 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0d362b94 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x199afe99 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x381e7503 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3e30f663 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5146560b iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x54de6cb4 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x64da6c42 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x8f28057c iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x994b8962 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9a6c1fc2 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa8a23744 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xca18f5fc iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd35aaa4e iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xde485b25 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe62738f7 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf1dc9e66 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x01739c60 sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x043ed518 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2102a1b2 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x25d1ef1a sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x30dede0e sas_slave_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3128acfe sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x321d16e0 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5bbaccea sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x630ba048 sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x656a4723 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x88d75cb0 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8c4bb6d4 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x983dc59a sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa6bbda20 sas_find_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa78bfee2 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa86c3715 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xaeab5179 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc0505fe3 sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc389ba3e sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd122c85c sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xea3413c4 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf5fcf08b sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xff3ef54a __sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x0ffe8842 srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x5371b750 srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x7c5e448b srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x881298b3 srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x890c74b8 srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xca40f90d srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x13952724 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x37dedd31 scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x48d95029 scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x4d1de8ab scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x50b3beff scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x6d3aff5d scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x6f1c9c03 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xd1f03715 scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xe005938a scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x031558de iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x13d89c82 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x174a8551 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1af3f138 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1ff25e87 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3d5cfcca iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x48d7272b iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4e538ceb iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x56537f3e iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x565b4670 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5bf0f04d iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x70e87ae1 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7cbedbc5 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8e8b8e32 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc37c3f70 iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc3ca6ec4 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc79b08cb iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc7d7a9d9 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdcf6442d iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xefc03abd iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf0f08baf iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf3dad488 iscsi_host_for_each_session +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 0x056efcfe srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x3658d5f4 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xa076ffa6 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xce8530c1 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xd67e1fe9 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0x4f65b6b0 pciserial_remove_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0x5847b768 pciserial_suspend_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0x773b67e5 pciserial_init_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0xdb9db799 pciserial_resume_ports +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x0e2c32f9 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x0ffe8733 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x26f34007 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x70cd56f7 spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xce45ca7c spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xe8cf8813 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/uio/uio 0x2831e087 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x29cc00d5 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xcbf9ddc6 __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x12d4380f usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x7604c457 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x0e21ae21 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x17bddf0f usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x3911adf1 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x3ce54603 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7037fe8b usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xbc358372 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xca5373cc usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xdd4118dd usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xebb32370 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x18a77db8 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1f7957a8 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x3bc91d15 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x3c0a9554 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x47e7216e usb_serial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x64971d9c usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x82352402 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x878db09d usb_serial_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x90922e06 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xacd89289 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc01004a8 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc7276739 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xcccbb5de usb_serial_register +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xdb7cf079 usb_serial_generic_resubmit_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe1371637 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf9143f83 usb_serial_deregister +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0cb43d8f usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0ecb5310 usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x14db421c usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1586bc93 fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x18f232ee usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x45c82b02 usb_usual_ignore_device +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x54f0980f usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x5750abe3 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6d6c7cbd usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x86417309 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x89c26c7a usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x92bd0281 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa1e47c57 usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa2aacb5a usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa546e9a4 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xabce9824 usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb071e8e2 usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb239eeb7 usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb3e20a5c usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xbebee7d9 usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd16a4a3a usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd550071d usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xfbf23d87 usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x09f3c921 wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x56d4808e rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x59e8513a wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x5d1670f0 wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x787e6235 __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x8668d134 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xf9e27759 wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x02996998 wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1146d6ae wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1b705fd2 wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x366366c6 wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x4aba6dd2 wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x59e8015e wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x75db103c wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x7aaf2393 wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x82c8c613 wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x896a9725 wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x8a08f9c4 wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x9ad2028b wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xa57e72c9 wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb572bcea wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xbbc7bc7c __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xdb8dd07f wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xdf6e4f08 wusb_dev_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 0x1ac8e915 i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xdbda220b i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xf4d7ae8b i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x1f1c37b1 uwb_phy_rate_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x233ef4c1 uwb_rts_cts_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x286be73d uwb_pca_base_priority_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x4e70577e uwb_ack_policy_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x6c77ee25 uwb_phy_rate_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xc85b33ce uwb_pca_base_priority_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xda855086 uwb_rts_cts_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xe8c81d64 uwb_ack_policy_store +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x06e9c91a umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x329d8fb9 umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x660eef2d __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x780ea028 umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x9684bc5c umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xafda35fa umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xbdf2b208 umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xc802d119 umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x02be5927 uwb_rc_dev_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0ab3581a uwb_notifs_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0b8aad57 uwb_est_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0c6bdcfc uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1d83e856 uwb_pal_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1e1c18b7 uwb_rsv_destroy +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1fb8d24e uwb_rsv_establish +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x26d56252 uwb_rc_neh_error +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2dc82b87 uwb_rc_pre_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2f037ce6 uwb_rsv_terminate +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x30f353d7 uwb_radio_stop +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x3833864f uwb_rsv_create +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x3c97b59a uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x3e795502 uwb_notifs_deregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d57ae3c uwb_rsv_type_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x56b23d36 uwb_rc_put +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5a80d9c8 uwb_rsv_modify +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5e4bc088 __uwb_addr_print +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x62180c6b uwb_rc_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x662e871e uwb_rc_cmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x688210a5 uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x69d84864 __uwb_rc_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6a81de34 uwb_pal_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x72ceaaea uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x73e81303 uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x79cc01fc uwb_rc_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7ba2c370 uwb_rsv_accept +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7dcfcd23 uwb_ie_next +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7dee7959 uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x83aea47a uwb_rc_ie_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8f0da20e uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x912b18b5 uwb_rc_post_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9e15b136 uwb_dev_for_each +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xac11af19 uwb_est_find_size +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc650a228 uwb_rc_neh_grok +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd1136c8d uwb_rsv_get_usable_mas +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd6f59547 uwb_rc_get_by_grandpa +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd8a1684f uwb_rc_vcmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe1716f06 uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf2caace6 uwb_pal_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xfcffdd90 uwb_rc_cmd_async +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xffe58c7f uwb_rc_ie_add +EXPORT_SYMBOL_GPL drivers/uwb/whci 0x36ec1d71 whci_wait_for +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x00e3d323 wlp_dev_serial_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x09946f9e wlp_dev_prim_category_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x12680c2e wlp_wss_activate_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x29aad4fc wlp_receive_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x29f877b8 wlp_dev_model_nr_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x30bd0aa1 wlp_dev_prim_OUI_sub_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3a8fb05a wlp_dev_prim_category_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3c400189 wlp_dev_prim_OUI_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3d0e74ac wlp_dev_model_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3ebbb896 wlp_uuid_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x4bfde2f6 wlp_dev_model_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x9960b9b9 wlp_neighborhood_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x9a86e828 wlp_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x9b852476 wlp_dev_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xa4e79947 wlp_dev_manufacturer_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xade731ba wlp_dev_prim_subcat_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc2adb5e9 wlp_wss_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc46cdcba wlp_wss_activate_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd190d4e8 wlp_dev_serial_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd3c5c4cf wlp_eda_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd49942e8 wlp_dev_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd71a09b4 wlp_dev_prim_OUI_sub_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xdb47fdf3 wlp_dev_manufacturer_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xdd7b1755 wlp_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xdfc8e90d wlp_dev_prim_subcat_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xe09ca4fa wlp_dev_model_nr_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xe777a802 wlp_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xe963d17f wlp_dev_prim_OUI_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xeaa28072 wlp_wss_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xeeafdb96 wlp_prepare_tx_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf37913df wlp_uuid_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xfd3b90b0 wlp_eda_show +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x0b569058 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x2cee8a1c ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x60122fa0 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x849920ea ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x8fd7ffa9 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xdebbb445 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xf109524b ili9320_write +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x61a8a9ee fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x9caab50b fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x36917bf9 sis_free_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0xa7d1cb21 sis_malloc_new +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x2ac97927 register_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x38829341 unregister_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x4982de25 register_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x57a1416a unregister_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0xd6c7e1f2 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x0ac0ab25 vring_interrupt +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x8a6095db vring_del_virtqueue +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xf6857135 vring_transport_features +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xf8609b4d vring_new_virtqueue +EXPORT_SYMBOL_GPL drivers/w1/wire 0x2f01ce60 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x4ba24b2d w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x4df0852d w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x5e0ad413 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xd1d08e2d w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0xde5ff971 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe7b758a5 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0xf5545438 w1_read_block +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x0864c4a4 dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x1bd4e9c5 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x6e873156 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xa17bdc1b dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xdc583c08 dlm_unlock +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0x6a30a211 exportfs_encode_fh +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0xddf7dbf7 exportfs_decode_fh +EXPORT_SYMBOL_GPL fs/fat/fat 0x04d624ce fat_detach +EXPORT_SYMBOL_GPL fs/fat/fat 0x0d8a328a fat_flush_inodes +EXPORT_SYMBOL_GPL fs/fat/fat 0x1d6d7acf fat_sync_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x24c80f0a fat_time_unix2fat +EXPORT_SYMBOL_GPL fs/fat/fat 0x256174ea fat_alloc_new_dir +EXPORT_SYMBOL_GPL fs/fat/fat 0x2a2a8f0d fat_free_clusters +EXPORT_SYMBOL_GPL fs/fat/fat 0x35e7056b fat_attach +EXPORT_SYMBOL_GPL fs/fat/fat 0x44a9196c fat_setattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x523b80c9 fat_add_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x54b86d37 fat_build_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x5d079f8c fat_dir_empty +EXPORT_SYMBOL_GPL fs/fat/fat 0x5dda1ac8 fat_fill_super +EXPORT_SYMBOL_GPL fs/fat/fat 0x69a89cf8 fat_getattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x6fe7a21e fat_remove_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x846ff0f7 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL fs/fat/fat 0x8aa5b844 fat_fs_error +EXPORT_SYMBOL_GPL fs/fat/fat 0xd4fae2f6 fat_scan +EXPORT_SYMBOL_GPL fs/fat/fat 0xe8e1f9a7 fat_search_long +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x04b6c73e nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x1a618932 nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x1cf6f718 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f504690 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa7b91a7b lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xd02f1d92 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xdecb2ec6 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf6933c48 lockd_up +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x8b730e20 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xca31e3ea nfsacl_encode +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x0a960e68 o2nm_node_get +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 0x2e702612 o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x36418553 o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x46dc9295 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x5fc8dd9b o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x687f6251 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fa54768 o2hb_setup_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 0xd60f2c6c o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd733de08 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xfb4a973d o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x20610ee4 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x4d4c9e39 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x580dd520 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x84bd4b83 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x9b9a4764 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 0xeb56f59e dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0562c415 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x06379db6 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0e27f909 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x21db5b88 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x33f266d7 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4a1f6fe9 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x81c85a68 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x91fab465 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x963932a3 ocfs2_stack_glue_set_locking_protocol +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xa7d5c1c0 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbac1d6d6 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xc3f34c10 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd066711e ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL lib/lzo/lzo_compress 0x56b63670 lzo1x_1_compress +EXPORT_SYMBOL_GPL lib/lzo/lzo_decompress 0xf30fda27 lzo1x_decompress_safe +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 0x46fc903a garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x47af4cc5 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0xe5581915 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xf667bd94 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0xf73915fe garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xfaa08d3d garp_request_join +EXPORT_SYMBOL_GPL net/802/stp 0x32ec6c98 stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0xac6f0a1d stp_proto_unregister +EXPORT_SYMBOL_GPL net/ax25/ax25 0xac93ae05 ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0xaeb7451e ax25_defaddr +EXPORT_SYMBOL_GPL net/ax25/ax25 0xbb7cdb65 ax25_register_pid +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x66d82510 bt_class +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1629b056 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x21f7200a dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2206171f dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x28784ac9 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2e35b2c1 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2f7a86b4 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3e7a870d dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3ea804f9 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3eeecefc dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3f62a4e4 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4da5de7f dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x56ea266a dccp_state_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x74361323 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fc20267 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8b7d8caf dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x900cffd5 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x91eeac5d dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x948d5ea2 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9a38878f dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0xab66dd29 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0xab7607b9 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb59ce20d dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0xba82e317 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc17af03c dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc1810309 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc66ca947 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcae6e749 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcf5a58d2 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd3a87298 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdb0a3106 dccp_insert_option_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0xde405ebe dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe22b547f dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe4973c5f dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe7a72fbf dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0xeb276006 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf4b1b5c1 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x077416aa dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x711e428c dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x890149ad dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x94dfe678 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xc48fda8c dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xdc528fb2 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x497ca0ca 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 0x07ae60b6 nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x19701df5 nf_nat_proto_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x1b57aacb nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x4d1107ef nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x679031be nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x7cea827c nf_nat_proto_find_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x94a08134 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xad4b789d nf_nat_proto_range_to_nlattr +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xaf3da914 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 0x55b64299 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xac58fda6 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xbdd47a4e tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xdbd36d90 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xeff287ae tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x08a3e5d1 net_ipv6_ctl_path +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x0fb8a114 ipv6_find_tlv +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x164e6129 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x290db62b inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x3876b060 ip6_local_out +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x43123496 ip6_dst_lookup +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x5ab0dd46 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x6b18b41d inet6_csk_xmit +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x73c0eedf ip6_dst_blackhole +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x76319bd3 ip6_sk_dst_lookup +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x7695f251 fl6_sock_lookup +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xb7eb893b inet6_csk_search_req +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xd6e7457a ipv6_opt_accepted +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xe0eb67a0 ipv6_dup_options +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xe73264f7 inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xebc1bb2b inet6_destroy_sock +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x279d1a5b ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa82e0beb ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe6476b4a net_vs_ctl_path +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x03ea9c56 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0640ce65 print_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x07ca5be4 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x09d43e55 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0c8319f1 nf_conntrack_untracked +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x11510404 nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x136f0bc3 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1950dc68 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x19538254 nf_conntrack_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1d9fb4a5 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x22f1a5eb nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x242951fe __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x25290ea8 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x25fd8c30 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x38efe955 nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3bff6926 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3eda3e6c __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3ef559b9 nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x427de113 __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x43cddb1e nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x46d8d7a3 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b9065a9 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4bf718d8 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x53507b95 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5492f98f nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5882ba33 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5b930b97 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5bf94969 __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5e06e1be seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x61db1815 __nf_conntrack_helper_find_byname +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6bdd0bf7 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6be9d44c nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6ca12db8 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6dd2b501 nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x70e46134 nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x782c1b79 nf_conntrack_hash_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7849e57f __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78646714 nf_expect_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7b1e3a4b nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7b2c85d1 nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x867e1abf nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8bae34d9 nf_ct_unlink_expect +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 0x94b85e5f nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9af3f6c1 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa2fb300e nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa5001831 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaaedaf8a nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbee1930d nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc231c184 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xca720a3e nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcb83f3b6 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcc436987 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd5b78aaa nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd730aa47 nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdc0fe177 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdeb3c873 nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe32e07c1 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe3c69e14 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe506c8c5 nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe649e8c8 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe8c13c19 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec85aaf1 nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf0fda6df __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfc157eb0 nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x763f9c0b nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0xea53c769 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x28434322 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x3e729d1c nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x4bf6ec9f nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x4ca84dbf set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x541baa74 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7bb39aac nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x82c12e10 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xac92ac5e nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xc073e066 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf248afec set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0xea6835d3 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x1c62cbda nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x4761b04c nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x58fb1551 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xa72f6032 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x55b53bfe nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xc8137ad1 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x08173e55 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x1874ba87 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4eaf880a nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x55e19e6c nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x5829bc3b ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x5fe0f2a2 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x692e0c53 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x9099e492 nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x9e553993 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xb6a7d8f9 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xbe53aa4f nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf7306b37 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0xa021b11e nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x4abce307 nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0xbdd04d14 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x73c02826 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x767ad1fb nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xc629f870 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xeca95329 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xef9b4bbd nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xf9c279a0 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x889579bc nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x097ff1e9 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x098ffa39 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x16b1d74c xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x25896be9 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x25a5a2f2 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5709107a per_cpu__xt_info_locks +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x87661017 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8f6e8df1 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8f91ac26 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa01e9362 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcbad1942 xt_request_find_target +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x05da3bb4 rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x44a852e7 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 0x089f289f gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x3b94bd01 gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x4493e959 gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x6377da23 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8d1a827e svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xa3aa62c7 gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb43f2ba7 svc_gss_principal +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb44e011e gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xbec4b615 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xcb633bd1 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xdbd41084 gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xe038b97b gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x041cd8b3 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x04bf7af7 xdr_init_encode +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 0x06d3f64f rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0dd46275 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e9fd1bc xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f9fd9c0 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1210baa1 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12cccb59 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12e280e3 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x16b3381b svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1889b0cd rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x19952617 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x19cb4334 svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a8e1370 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1ba72cb4 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1bc7d442 auth_unix_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1bf52352 xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21aa8180 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21db9396 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26842849 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27bbc693 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27f459a5 svc_sock_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2927d67c rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29df8b48 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2aa17774 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b41b2cb svc_sock_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3057bf81 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x33a079fa svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x359887d3 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x359d96c3 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37441bb4 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x379b8e43 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37d20813 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x38c31bbe svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3aa1e6bf rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3adefe75 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3bd025de rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3fec7ae9 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42e4b463 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42fdf142 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4373cace xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x439c488f auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4479db9f auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x455e871b rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x474a373b rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4870b753 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b270d5c auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b75f02c rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c741dac svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d4828fa xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x52718730 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x55bbc5e2 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58806a37 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a99614c xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b14ec1a rpc_put_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bd26000 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c851e2a rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d6ac9a2 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5db7b43b read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5fe9ed37 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x60501cab rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x612c7866 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x61e00903 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6301411f rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66dacd38 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x670d6d1d rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x675524ec rpc_sockaddr2uaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c5304c5 rpcb_getport_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6d7ba834 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e309c7c auth_unix_add_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6eea229d svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70b5bae9 rpc_mkpipe +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71108e92 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71540892 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x733abab3 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7351735f svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x742ddb7d xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x77dd5084 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a1f1dbd svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a482632 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b72df27 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7be7ded5 xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7dd8ef47 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e8ac1d0 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x809cb4a1 sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x858e71bc rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86ed282a rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x87f2138a auth_unix_forget_old +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8a312ac1 rpc_exit_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8bb4055b rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8bf5d19d cache_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c95c5cc cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x951c6bba svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x972e62a8 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x97c0f5a6 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x986b8516 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa02e145c rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa054e2a6 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa1bdee5f __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5af9f76 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5b4cbc9 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9f97bce xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac38fa27 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf4d01f2 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2d273f3 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb5ee9903 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb636be45 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb771f7a5 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb8c0ecaa xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb90f1a31 rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba1d9c00 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbabed524 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbb1eac99 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbcc3789d svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd8f21ff sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbfdbfeab svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc1e66b9e svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc44d669e rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc74b7eb4 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc78d5203 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca572748 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca6ba90d xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xccc2372e rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd72035a xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcfd599e1 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd222bfd2 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2400b93 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6796f61 rpc_get_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6b62b90 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd750239d rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9e44678 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdcba8686 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdf0045d8 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe07d1f2e unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe436e111 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe49002ec rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe51bf1fb svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe9363444 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeb49ae7c rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xebe62dd6 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed9068f8 cache_register +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 0xeec761d8 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xefbe5e96 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2975e87 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf3639910 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9578491 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa2ef2e2 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe3ae15b xdr_inline_pages +EXPORT_SYMBOL_GPL net/wimax/wimax 0x1d3059fc wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x51426a69 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x73030f55 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0x7c6d9e13 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x82604cfa wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x84bae1c0 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x94c29ad0 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x96202241 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0x996bcd39 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x99dbd2b6 wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0xbd21d39a wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0xe14bddf8 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0xfb1ec7b8 wimax_state_get +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x003d6799 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x02bf2914 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x04ea5ba2 cfg80211_wext_siwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1a1b6c5d cfg80211_wext_siwgenie +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2b2ac156 cfg80211_wext_giwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2c0fe971 cfg80211_wext_giwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4ef25885 cfg80211_wext_siwencodeext +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4f000576 cfg80211_wext_giwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x523da0cc cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x571d976d cfg80211_wext_siwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x5a518d83 cfg80211_wext_siwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6308a268 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6a6e4f57 cfg80211_wext_giwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6fb6fc0a cfg80211_wext_siwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7caccc0b cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x84d8d6da cfg80211_wext_siwmlme +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8ab1fda3 cfg80211_wext_giwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9274d860 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x92ac6fb8 cfg80211_wext_siwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9ee667a9 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa5fc5ccd cfg80211_wext_giwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xadfa5ef6 cfg80211_wext_siwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb0a9cf65 cfg80211_wext_siwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xbb045611 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xbb38ddaa cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc21ea507 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc79533b3 cfg80211_wireless_stats +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcca88cb8 cfg80211_wext_giwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdd910d57 cfg80211_wext_siwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xef660175 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf069162f cfg80211_wext_siwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xfb478aec cfg80211_wext_giwrate +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x31cf7c5d ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x70658acd ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x913e8fc5 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xc44fe53a ipcomp_destroy +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x05e026f3 aoa_get_card +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x075a2eed aoa_fabric_unregister +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x0821398a aoa_fabric_register +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x3c9fc67b aoa_snd_device_new +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x451789df aoa_fabric_unlink_codec +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x804e9b3d aoa_codec_register +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x90a3a2ab aoa_snd_ctl_add +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xe693c7d6 ftr_gpio_methods +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xe8d256cb aoa_codec_unregister +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xf76b1284 pmf_gpio_methods +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x1f06e86b soundbus_register_driver +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x383237a2 soundbus_add_one +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x842ce684 soundbus_dev_put +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0xa495fb3b soundbus_remove_one +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0xa71668e6 soundbus_unregister_driver +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0xe4e754e1 soundbus_dev_get +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x042b753c snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x072d98c0 snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0baa9bb3 snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0c34b504 snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0d72e3d1 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0f70deb9 snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x149580ad snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x15b1bd5e query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x18de5864 snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1abadfea snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1c25f39a snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1de34ee7 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1f5d879d snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x22f6b211 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x238ba797 snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x27f4b168 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x28ca407a snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2a31539c snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2c335f04 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3b03db2c snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x439bd5ce snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ae76f73 auto_pin_cfg_labels +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5b01b0c2 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5b42e990 snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5eb2fda0 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x649d5612 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6cc4e84e snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6f5cd0c4 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x719e6a69 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x72c2925a snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x736751bb snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x77c79b53 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x77cf6501 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7ed90489 snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f7097c6 snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7ff4171f snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8216ab03 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x83ac2271 snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x83b84d99 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x841606fd snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8ed613b9 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9413d064 snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x95ddcb08 snd_hda_parse_pin_def_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9b336f4e snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9c05e192 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa050ce22 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2e4a4f4 snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa3c90152 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa3fb11e3 snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa46cb27f snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad87613e snd_print_pcm_rates +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaf575b5f snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb360f0f0 snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb45cd610 snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe38b652 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc0d5e66c snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc0f45ba1 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc17c4c30 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc228851b snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc34a54c6 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc7f98de3 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc9549b9b 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 0xcce27eb0 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcd69c749 snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcf144bb2 snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd1c350eb snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd58683ac snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdaf0efa2 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe35b95a2 snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe403167c snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe53e1d4e snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe8236698 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe895d5fd snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe9b74e44 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xebb6c9d3 snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf328ebd7 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf390da22 snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf72e67c1 snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfb1399c9 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0x32723e8b ad1836_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0x5203f33e soc_codec_dev_ad1836 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0x743cb9d5 soc_codec_dev_ad1938 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0xc4d25f65 ad1938_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0x25a185bc ad73311_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0xdf403684 soc_codec_dev_ad73311 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4104 0x01c6767d soc_codec_device_ak4104 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0x947f4736 ak4535_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0xb2f24585 soc_codec_dev_ak4535 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0xc2524ee3 ak4642_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0xea496a29 soc_codec_dev_ak4642 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x0a4a9bcd soc_codec_device_cs4270 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x562d8352 cs4270_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x9bd753fa max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0x3ae67ab2 pcm3008_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0xc5566cbe soc_codec_dev_pcm3008 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-spdif 0x55a7ee4c dit_stub_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x9301522b ssm2602_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0xcee36975 soc_codec_dev_ssm2602 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0x2845e52b soc_codec_dev_tlv320aic23 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0xe03cac54 tlv320aic23_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0xc5d31e70 aic26_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0xca582769 aic26_soc_codec_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x16e3b753 soc_codec_dev_aic3x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x56f67ed8 aic3x_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xad64226e aic3x_headset_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xb69015db aic3x_button_pressed +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xba505346 aic3x_get_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xce91b596 aic3x_set_headset_detection +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xe0dd5a0d aic3x_set_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0x616ee17d soc_codec_dev_twl4030 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0x9f88da35 twl4030_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda134x 0xa0d68778 soc_codec_dev_uda134x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x2dc8afe2 uda1380_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x916cbb11 soc_codec_dev_uda1380 +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 0xaf927e01 wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xc75cb1f0 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x115e1482 wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x7838ab00 wm8350_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x9ec84fda soc_codec_dev_wm8350 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x05d4b588 soc_codec_dev_wm8400 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x20c58dbe wm8400_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0xdba6c246 soc_codec_dev_wm8510 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0xfe444a77 wm8510_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0x49382244 wm8523_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0xf2cd2fdc soc_codec_dev_wm8523 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0x0fc6e922 wm8580_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0xd477f9c9 soc_codec_dev_wm8580 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0x61dad5fa wm8728_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0xbb303e9c soc_codec_dev_wm8728 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x6b30efe2 soc_codec_dev_wm8731 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0xe0a28f86 wm8731_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x482e6919 wm8750_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x76a6a211 soc_codec_dev_wm8750 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x5d8bf1d2 soc_codec_dev_wm8753 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0xb95f9362 wm8753_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x2378d1f9 soc_codec_dev_wm8776 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x7d1bf33c wm8776_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0x0f9c548c wm8900_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0x90b217c9 soc_codec_dev_wm8900 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x89082622 wm8903_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xbb9f440a soc_codec_dev_wm8903 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0x97bbbf15 soc_codec_dev_wm8940 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0xfbd3709f wm8940_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0x6c4c61b6 wm8960_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0x943f6b7b soc_codec_dev_wm8960 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0x8d245a3a soc_codec_dev_wm8961 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0xa710b213 wm8961_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0x0167b9a7 wm8971_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0x8ce6300d soc_codec_dev_wm8971 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0x51aa2814 wm8974_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0xf191c448 soc_codec_dev_wm8974 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x5678cc79 soc_codec_dev_wm8988 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0xd0209886 wm8988_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0x9a04115f wm8990_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0x9f632c46 soc_codec_dev_wm8990 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0x1c9063f1 wm8993_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0xb44e7f85 soc_codec_dev_wm8993 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0xc7d2110a soc_codec_dev_wm9081 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0xff1bc626 wm9081_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00369432 snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x008c28a6 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00a6c367 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0153d44b snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x07d33df7 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0978a600 dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x09a4b50e snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0fb1d0c7 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x10557e9b snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x13048b05 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x15982fb3 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2ecad938 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3133d860 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x315697e7 snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3637524d snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3a0c8445 snd_soc_init_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3a9ee528 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3d0f5493 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x40e11e10 snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x425848d4 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x44bf9401 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4b476364 snd_soc_resume_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4e0035fc snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4e4d8f2f snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5def2a02 snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x63b605da snd_soc_add_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66221b61 snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66b76378 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6dfd1593 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x71471072 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x734133e1 snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x77f06ce7 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7f9b5f21 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8201abe9 snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8235f044 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x82e3e18a snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x83eee93a snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x874c8c69 snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8a2f276c snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x93016e2c snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9354acc7 snd_soc_new_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x97328ba4 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa11b0643 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaaccacd0 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaeb76e6c snd_soc_suspend_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaf5fa464 snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb07b2676 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb0ca3186 snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb34f5b0c snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb36ad86f snd_soc_put_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb378b676 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb6f1dab8 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbf8d2264 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc1629b59 snd_soc_info_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc55cd4f6 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcb527a6c snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcc9934dc snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd2220a64 snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd26ca190 snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd5995d3b snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd65fdca6 snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd99cf432 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdbfbc766 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xddca601b snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe18797c9 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe6dbedf3 snd_soc_get_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xed8d3d9a snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf4b1474a snd_soc_dapm_stream_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf8d06542 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf93c5b59 snd_soc_free_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf95a8b68 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x1d1d6b89 xv_create_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x5d428804 xv_destroy_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xaf69699e xv_get_object_size +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xb376a9a7 xv_malloc +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xc5678acf xv_get_total_size_bytes +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xe68912b5 xv_free +EXPORT_SYMBOL_GPL vmlinux 0x0011e3c3 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x0030da8f crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x00566d8f inotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x00a58403 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x00cbc74d trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x00e5cdb9 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x01402c02 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x01485b03 sysdev_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x01666ec6 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x016a0682 dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x016b9869 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x01738f4f fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x0173b747 put_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0x0176243d pmac_i2c_get_adapter +EXPORT_SYMBOL_GPL vmlinux 0x018f8bdb netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01de8b5a usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x01f02fde __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x020299c0 drop_file_write_access +EXPORT_SYMBOL_GPL vmlinux 0x025f2c5b user_describe +EXPORT_SYMBOL_GPL vmlinux 0x026cc731 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x0298ba16 pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0x02ccea56 lock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x03371e73 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x0361b269 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x03a1a23f dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x03e31abc alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x04069b1d set_irq_nested_thread +EXPORT_SYMBOL_GPL vmlinux 0x0408a6df blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0x04316337 blk_abort_queue +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x04519c78 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x04cde249 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x0511c9de ide_pci_check_simplex +EXPORT_SYMBOL_GPL vmlinux 0x05152f0a of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x05263d71 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x05331671 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x05368bdf usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x0563f627 ide_read_error +EXPORT_SYMBOL_GPL vmlinux 0x05a6f7e1 ide_device_put +EXPORT_SYMBOL_GPL vmlinux 0x05b5f722 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x05dbc32e relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x05e1a9cc ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0619ca8a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x063182df invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x0634da57 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x06368faa usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x066462cf crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x0667a569 ide_dma_end +EXPORT_SYMBOL_GPL vmlinux 0x069dbce7 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x06f7e074 ide_init_disk +EXPORT_SYMBOL_GPL vmlinux 0x06f8c8d6 inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x06f9d29d security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x07134c74 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x0742802d sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x07696497 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x07abf300 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07e1b4f8 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x07ead244 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x0830fe9f ide_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x083a50e7 sysdev_register +EXPORT_SYMBOL_GPL vmlinux 0x085a572b skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x090fc3a9 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x091c824a machine_power_off +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x09751838 driver_add_kobj +EXPORT_SYMBOL_GPL vmlinux 0x09946d23 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x09cc0956 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x0a2eac8d led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x0a51ae5b virq_to_hw +EXPORT_SYMBOL_GPL vmlinux 0x0a524e59 inotify_inode_is_dead +EXPORT_SYMBOL_GPL vmlinux 0x0a6f808b tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x0a768eb9 inotify_add_watch +EXPORT_SYMBOL_GPL vmlinux 0x0aa73f11 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x0aab3b33 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x0ab55e50 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x0ac18a27 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x0afb3970 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b3de2bf page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x0b42e301 cpu_remove_sysdev_attr +EXPORT_SYMBOL_GPL vmlinux 0x0b59817b find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x0b780176 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x0b8241c0 pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c468bad user_read +EXPORT_SYMBOL_GPL vmlinux 0x0c49b899 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0x0cb88680 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x0cb9bc90 ata_pio_queue_task +EXPORT_SYMBOL_GPL vmlinux 0x0cd497cb ide_check_ireason +EXPORT_SYMBOL_GPL vmlinux 0x0cf9e8c9 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x0d2d2d8f crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x0dad180b sff_dma_ops +EXPORT_SYMBOL_GPL vmlinux 0x0db4c083 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x0dcabb9d ide_undecoded_slave +EXPORT_SYMBOL_GPL vmlinux 0x0ddbc207 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x0def8dd6 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x0e4eadd1 ata_bmdma_mode_filter +EXPORT_SYMBOL_GPL vmlinux 0x0e7e6675 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x0e7f982a devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x0ec16967 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x0f46ed2e usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x0f8fc73d vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101c923e __tracepoint_power_start +EXPORT_SYMBOL_GPL vmlinux 0x1025e4cd crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x112d6a2a fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0x1130addb register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x11439671 inotify_destroy +EXPORT_SYMBOL_GPL vmlinux 0x11e14671 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x1204bd84 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x120d4d03 rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x122c4c00 spi_async +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x124fa863 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x1251d30f call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1260062b ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x1263d96d sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x13527714 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x1380c60b tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x13865d5a rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x13921256 driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13e9b200 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x14109d2d sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x142e9cf2 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x14421baf ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x146ee731 ide_pci_setup_ports +EXPORT_SYMBOL_GPL vmlinux 0x14739579 hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x149db923 selinux_string_to_sid +EXPORT_SYMBOL_GPL vmlinux 0x14b0a919 bd_claim_by_disk +EXPORT_SYMBOL_GPL vmlinux 0x14ef5967 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x14f790eb simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x15096a60 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x1556756b usermodehelper_is_disabled +EXPORT_SYMBOL_GPL vmlinux 0x157b1113 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x15892417 async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x158bff05 ide_pio_cycle_time +EXPORT_SYMBOL_GPL vmlinux 0x1598dc9d unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x15e2a349 blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x15e9d713 class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x161f7156 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0x16421fc3 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x16cccb3a ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x16f76869 probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x170ceee0 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x17346e61 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x173508a2 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x179c992b __put_net +EXPORT_SYMBOL_GPL vmlinux 0x17b5c490 register_net_sysctl_rotable +EXPORT_SYMBOL_GPL vmlinux 0x1878f62b edac_err_assert +EXPORT_SYMBOL_GPL vmlinux 0x18814d9b sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x18da6b39 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x190bcc72 devres_find +EXPORT_SYMBOL_GPL vmlinux 0x1933bc17 pmf_call_one +EXPORT_SYMBOL_GPL vmlinux 0x194d974d pmf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x1986135a driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19b70ac1 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x1a07cffd scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x1a11960e register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a45c68a dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x1a474901 tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x1a5bfe83 put_device +EXPORT_SYMBOL_GPL vmlinux 0x1a81c8df tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x1aa2ae53 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1aa9a84f inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x1ab74999 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x1b0aee89 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1ba4e4ae __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x1bba19ad __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x1bcc9608 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x1bd7e08b usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x1c048233 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x1c61603c device_create +EXPORT_SYMBOL_GPL vmlinux 0x1c852e7c xfrm_calg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1cbc4107 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x1cf8bff3 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x1d229748 ata_sff_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x1d8f8059 __tracepoint_power_end +EXPORT_SYMBOL_GPL vmlinux 0x1da62b58 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x1db21d74 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x1dee2629 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x1e462131 tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0x1e5ef939 rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e9f36c4 swiotlb_sync_single_range_for_device +EXPORT_SYMBOL_GPL vmlinux 0x1ea6817b ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ee6ec8a cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x1ef827ab regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1f43826b destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x1f694167 single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1fcfb1bc aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x1ff70497 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x20028a24 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0x2010bb67 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x2084e06c inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20f07a05 shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x21384c9d usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x215db6e9 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x2182d21a swiotlb_sync_single_range_for_cpu +EXPORT_SYMBOL_GPL vmlinux 0x219c98aa device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0x21c4b05c xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x22281a3a kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x2312b165 pci_unblock_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0x23320eac cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x23679939 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23869dc7 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x23991b64 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x23ad5c4d blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x23d75474 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x23dd59d3 __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x23e9edca inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x23ed41c8 regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x23f05dce bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x23fc87d0 ide_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x2406dae3 pci_address_to_pio +EXPORT_SYMBOL_GPL vmlinux 0x244518fc rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x24859d14 debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x248c28fe irq_create_mapping +EXPORT_SYMBOL_GPL vmlinux 0x24cda041 ide_vlb_clk +EXPORT_SYMBOL_GPL vmlinux 0x24db9b27 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x2541ed29 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x25a11cc9 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x25a4c9e4 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x25f752af k_handler +EXPORT_SYMBOL_GPL vmlinux 0x263aee9c generic_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x266480d4 fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26d0ef05 pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x26e63110 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x273f39a3 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x2787db00 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x279e98c9 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x27adf232 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x27cb2c1a crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x2827db8b __pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x28283f0d do_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x28a9068e user_update +EXPORT_SYMBOL_GPL vmlinux 0x28bfb380 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x28cb0402 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL vmlinux 0x290e48c2 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x293309b5 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x293ec178 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x294a881d ide_get_lba_addr +EXPORT_SYMBOL_GPL vmlinux 0x29725bab pmf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x2985cc8e __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x29c62f9e usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x2a1b499f ide_retry_pc +EXPORT_SYMBOL_GPL vmlinux 0x2a41fd5a sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a8358b2 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x2aa90784 ata_sff_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x2aae5609 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x2ab66c9e regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x2abd5d4e device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2b253933 pmf_unregister_irq_client +EXPORT_SYMBOL_GPL vmlinux 0x2b607170 ktime_sub_ns +EXPORT_SYMBOL_GPL vmlinux 0x2b8c70fe skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x2b9f8e23 nf_net_ipv4_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x2bb5efd1 do_sync_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x2bfc4d7f tracepoint_get_iter_range +EXPORT_SYMBOL_GPL vmlinux 0x2c0a21a4 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x2c17c0e1 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2ca14b5e scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x2ce1f81d ide_pci_init_one +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d6e550c udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2daadfdf inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x2dc6b54c input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x2e47f677 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x2e76c654 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x2edb7001 crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x2eef18ad trace_define_common_fields +EXPORT_SYMBOL_GPL vmlinux 0x2ef16f9e ide_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x2f100267 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x2f2aa116 unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f9ca18f scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0x2fcd9e17 dpm_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x2fd3548b ide_write_devctl +EXPORT_SYMBOL_GPL vmlinux 0x301fcc0d scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0x30213d15 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x30304505 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0x30788779 ide_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x307fdec5 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x30a4f4ca bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x3113a70f fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x31143a87 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x3127e9d6 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x31a47067 sysdev_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x31b7f6e7 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x31d9d4b7 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0x324abfd6 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x3262d509 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x32893043 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x32d5e7fc xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x32f17454 ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x331d80c9 pmac_i2c_attach_adapter +EXPORT_SYMBOL_GPL vmlinux 0x3340dde6 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x336035de fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x33fe4be3 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0x34055617 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x34275124 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x34cb09db anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x3504338f usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x3548f447 ide_issue_pc +EXPORT_SYMBOL_GPL vmlinux 0x355146bd regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0x355d5d0d sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x3568606f gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x356db47c usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x35712cba device_move +EXPORT_SYMBOL_GPL vmlinux 0x357ba496 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x35d2c635 isa_bridge_pcidev +EXPORT_SYMBOL_GPL vmlinux 0x35d7a315 mmput +EXPORT_SYMBOL_GPL vmlinux 0x35d8c94a sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x35dcd7e2 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x35ecf9a2 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x3625b5d3 pmac_i2c_get_type +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x3632436c debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x3677cc48 fb_ddc_read +EXPORT_SYMBOL_GPL vmlinux 0x36876403 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x36aa817f br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x36e120b8 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x36e2d0d9 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x36edc022 ide_no_data_taskfile +EXPORT_SYMBOL_GPL vmlinux 0x37300e02 cpu_add_sysdev_attr +EXPORT_SYMBOL_GPL vmlinux 0x379cfd2a usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x37ad4176 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x37ae590d usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x37b094e9 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x37c03c1a do_rw_taskfile +EXPORT_SYMBOL_GPL vmlinux 0x37e6fb94 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x38173efb ide_read_bcount_and_ireason +EXPORT_SYMBOL_GPL vmlinux 0x389acf52 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x38ba6312 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x38ff9faf skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x39031a5e scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x3915cd8f usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x39342fa3 relay_close +EXPORT_SYMBOL_GPL vmlinux 0x396ab093 inotify_find_update_watch +EXPORT_SYMBOL_GPL vmlinux 0x396ea137 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x39fa5570 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x3a359676 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x3a50c123 spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x3a723c15 klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x3aeb0b80 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x3aeb5ab1 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x3b149494 use_module +EXPORT_SYMBOL_GPL vmlinux 0x3b1fa5b9 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x3b35a873 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x3b7d66da blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x3bbd9fd1 crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0x3bd4d29e dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x3be7af02 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3c6c45ca __tracepoint_power_frequency +EXPORT_SYMBOL_GPL vmlinux 0x3c7d6225 ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3cbc12ae set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cfdfae5 trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3dccbe67 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x3dd4d3a7 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x3e525be8 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x3eb5648e swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0x3ec0ef1d bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x3eeccb8f sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x3eed63a2 bd_release_from_disk +EXPORT_SYMBOL_GPL vmlinux 0x3ef768fa sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f01570a probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x3f238101 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x3f62528d sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x3fd1f520 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x3fea0828 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x4017b189 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x405548cd sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x405c4819 sysdev_class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x4083e6fe transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x40a9acfa dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40b7c106 __create_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x40b9a32d ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x40f1f7af tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x41009546 inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0x41d11e80 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x41d2bf07 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x41f963d0 sysdev_class_register +EXPORT_SYMBOL_GPL vmlinux 0x42494cea ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x425c1c0b ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x4267dc8e regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x42de05c1 proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0x43004a61 pmac_i2c_get_dev_addr +EXPORT_SYMBOL_GPL vmlinux 0x4306350c led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x433f6909 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x4353a669 __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x437862b8 __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x43afd684 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x43c030af d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x43c7c50f tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x43cde0b0 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x440e4603 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x44217cb3 ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x444ef246 ide_end_rq +EXPORT_SYMBOL_GPL vmlinux 0x44674c55 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44a65d5c lock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x44b77006 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x44d4b572 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x44de57cb clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x4540509d i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x456b044d nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x460593cd anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x46cd8bca init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x46d2cebd rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x46fbf154 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x46fc5546 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x470e25c6 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x476d51c1 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x47d04447 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x47e8a302 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x48b04fe8 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x48b77722 get_device +EXPORT_SYMBOL_GPL vmlinux 0x48d5ab4d regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x498f9a42 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49e0b24b pm_request_resume +EXPORT_SYMBOL_GPL vmlinux 0x49fe3fe3 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0x4a853aa5 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x4a9ed4bf usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x4afdf49c rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0x4b44c9f2 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4b6efdc0 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x4badb1c6 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x4c126538 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x4c39b721 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4c8a5a06 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x4c911c5c pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4cbb4f6c device_add +EXPORT_SYMBOL_GPL vmlinux 0x4d41592c blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x4d63fa01 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x4d8f4c15 klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4e0c31b6 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x4e1cd934 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x4e27727a platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x4e51163f pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x4e656ea9 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0x4e6a8cb3 ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0x4e8283d3 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x4eef5df0 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x4f808aa7 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x4f86a70f tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0x4fd1809b pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe6e3fa pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0x5002f3f1 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x501ac127 ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x5086dbd9 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x508e8a4b sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x50939ddc pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x50a4af6d device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x50c89f23 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x50d112e0 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50eb1738 media_bay_set_ide_infos +EXPORT_SYMBOL_GPL vmlinux 0x50f5e532 call_rcu_sched +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x5121ee09 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x515d18c9 lookup_create +EXPORT_SYMBOL_GPL vmlinux 0x517d7003 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x51af7f83 unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x52031cd0 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x52123842 input_class +EXPORT_SYMBOL_GPL vmlinux 0x5220a23d ide_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x52210d73 pmf_register_irq_client +EXPORT_SYMBOL_GPL vmlinux 0x523fd666 irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x524f3f09 ide_release_dma_engine +EXPORT_SYMBOL_GPL vmlinux 0x52794471 ide_read_status +EXPORT_SYMBOL_GPL vmlinux 0x5292ec30 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x52d111ea pm_qos_update_requirement +EXPORT_SYMBOL_GPL vmlinux 0x534ff05f power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x5358fdeb pmac_i2c_get_controller +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x53b1453c fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x53b93775 cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0x5402b4a9 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x540352d4 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x543d2e70 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x544f5ba1 driver_register +EXPORT_SYMBOL_GPL vmlinux 0x5456aad9 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x54641878 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x5473df64 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x547c8f65 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54a731d2 ide_init_sg_cmd +EXPORT_SYMBOL_GPL vmlinux 0x54d6369f inet_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x552ee540 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x5546f493 class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x5552bc55 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x556b2236 power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x5574573d pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x55b4ec1e ide_pci_resume +EXPORT_SYMBOL_GPL vmlinux 0x55cd1b5e pmac_i2c_get_bus_node +EXPORT_SYMBOL_GPL vmlinux 0x55d9d359 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x563fb5c8 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0x567e4553 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x56a45477 sysdev_show_int +EXPORT_SYMBOL_GPL vmlinux 0x56fc357e cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x57117d1b crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x580385e2 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x585b4f76 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5861e32b of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x5892f832 release_pmc_hardware +EXPORT_SYMBOL_GPL vmlinux 0x58a1b037 ide_output_data +EXPORT_SYMBOL_GPL vmlinux 0x58a9ea66 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x5908eed9 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x5945713b rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x595185aa vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x59749dac platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x59ad2535 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x59ca3224 inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x59eae098 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x5a258897 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a85e737 ide_capacity_proc_fops +EXPORT_SYMBOL_GPL vmlinux 0x5aad65ac blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x5afc0ce2 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5afcfd3b cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x5b0d97e2 schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0x5b306100 klist_init +EXPORT_SYMBOL_GPL vmlinux 0x5b38b93c pmac_i2c_close +EXPORT_SYMBOL_GPL vmlinux 0x5b730740 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x5b998f9f ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x5bc0d02d lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0x5bd2a49c ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0x5be89259 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c31d038 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x5c53b693 ide_get_best_pio_mode +EXPORT_SYMBOL_GPL vmlinux 0x5c6a1175 ide_host_free +EXPORT_SYMBOL_GPL vmlinux 0x5ccdc319 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x5cd7c414 net_assign_generic +EXPORT_SYMBOL_GPL vmlinux 0x5d0f6f57 kbd_table +EXPORT_SYMBOL_GPL vmlinux 0x5d2f8d02 skb_icv_walk +EXPORT_SYMBOL_GPL vmlinux 0x5d43ba47 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5de3d374 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x5e2e520c relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x5e4e7756 __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x5e66ea70 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x5e79682d xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0x5e79c2e3 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x5eb1fc41 ide_allocate_dma_engine +EXPORT_SYMBOL_GPL vmlinux 0x5ebc0501 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x5ed2d728 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x5ed2e03b ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x5ee6fc79 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5eff0bed ide_input_data +EXPORT_SYMBOL_GPL vmlinux 0x5f30d6f9 remove_irq +EXPORT_SYMBOL_GPL vmlinux 0x5f49abc5 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x5f93cc48 register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x5fcb48c6 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x5fcdec5d xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x5ff3a608 register_posix_clock +EXPORT_SYMBOL_GPL vmlinux 0x60035921 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x6040fd4b read_unlock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0x605c3a3f platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x606ed249 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL_GPL vmlinux 0x60eac24d usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x60f4b2aa tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x61175682 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x61282423 crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x61339e0f __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x61604fac input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x61a0cd33 ide_create_request_sense_cmd +EXPORT_SYMBOL_GPL vmlinux 0x623aa9f2 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x625f4578 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x6270aec7 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x6272e3ed device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x629a7f6e do_posix_clock_nonanosleep +EXPORT_SYMBOL_GPL vmlinux 0x62e24b2b platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x62e338fc ide_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x62f32451 platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x62ffbbc4 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x630e43d7 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x63515a73 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x63a23e12 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x63b353bc ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x63c5af06 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6453f77c pmac_has_backlight_type +EXPORT_SYMBOL_GPL vmlinux 0x6489e32e ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x64afe1f4 register_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0x64c07887 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x64d3da68 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x64faecb0 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x653cf46b usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x654c49e2 aer_irq +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d6d0f0 gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x65d72f12 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x65f61fc7 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6622e3c4 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x6628171d sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x662e016c power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x664517cd pmac_low_i2c_unlock +EXPORT_SYMBOL_GPL vmlinux 0x6665c60b ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6699468c add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x66a2ac27 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66cd5e7d ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x66d118ca relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66f6a19a pmac_i2c_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x6729dc7b pmac_i2c_adapter_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67eccb10 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x68400065 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x6852f831 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x686c703f xfrm_count_auth_supported +EXPORT_SYMBOL_GPL vmlinux 0x686cb620 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x68c06abf led_classdev_register +EXPORT_SYMBOL_GPL vmlinux 0x6901119a trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x69367b45 ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x69534156 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x6972b28e usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x69af3ae2 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x69d05545 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x69e470ce ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6a00112d input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x6a129765 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x6a51a39f class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x6a6106c1 sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0x6a6181cc hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0x6aa09fb1 ide_device_get +EXPORT_SYMBOL_GPL vmlinux 0x6ab4f2a6 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x6af523b4 dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x6af8e62c ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x6b282822 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x6b9adb78 scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x6c133162 disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0x6c169834 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c654282 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6c8eb98f xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x6d2cbf26 ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d65c0e7 ide_queue_sense_rq +EXPORT_SYMBOL_GPL vmlinux 0x6d69a718 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x6dc277a6 class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x6de47301 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x6df466a1 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x6e197f2b hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x6e32209b debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x6e7474fc xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x6eafabfa led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6efde810 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x6f2bd2a4 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x6f755f43 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x7005d287 ide_pci_dma_base +EXPORT_SYMBOL_GPL vmlinux 0x7006c182 pmac_i2c_open +EXPORT_SYMBOL_GPL vmlinux 0x7012c5fb ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x70288f03 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x70464471 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x704c9398 ide_check_atapi_device +EXPORT_SYMBOL_GPL vmlinux 0x705935a4 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x706357ae bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x707aa7b9 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x7086e635 inet_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x70ac64e7 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x70c28210 ide_dma_lost_irq +EXPORT_SYMBOL_GPL vmlinux 0x715a3186 bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71869ed9 klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x71978fca crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x71a3b18b ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x71e4b75d scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x71e89a1c fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x71f0f1f0 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x722679c1 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x7256c985 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x7258a6c7 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x725d4a16 pmf_get_function +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x72af3cf3 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x72b072a1 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x72ba54cd macio_find +EXPORT_SYMBOL_GPL vmlinux 0x72e03bae stop_machine_create +EXPORT_SYMBOL_GPL vmlinux 0x72ef57c7 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x731e4497 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x732598bd regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x73297735 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7334ebc8 scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x735c4b6b ide_dma_sff_read_status +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x740a45b0 usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x7443aaa9 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x749062e0 unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x74abdafa task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74f2be61 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7519177d __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x753e790a relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x75d73d65 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x760512c3 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x761188fd dpm_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x7626b273 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x76274846 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x763108bd usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x7667fe5d security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x7686f8a3 register_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x769e79b2 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x76fae526 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x773ca527 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x77435b7c get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x779c24e2 ata_sff_host_intr +EXPORT_SYMBOL_GPL vmlinux 0x78023b01 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x7832f09f inotify_init +EXPORT_SYMBOL_GPL vmlinux 0x7833192a scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x785bc6ca ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x786b2c1c usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x78718915 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x787ffacc regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x78b1eada pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x78bf14c6 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x78e4a4ee klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x79100a16 ide_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x7953b2e7 ide_pci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x79b8daef usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x79bee454 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x79bfd66c find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x79fb7ba2 pmac_i2c_find_bus +EXPORT_SYMBOL_GPL vmlinux 0x7a5109ad sysdev_store_int +EXPORT_SYMBOL_GPL vmlinux 0x7a770d17 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x7a8745d1 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x7a9c83c7 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x7ab3c122 edac_handlers +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7ae45b0f regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x7b01f53c cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x7b1d544d edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x7b6425e8 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x7b6b4e23 devres_get +EXPORT_SYMBOL_GPL vmlinux 0x7bea0cae disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7bf79966 fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0x7c05e251 ide_dma_start +EXPORT_SYMBOL_GPL vmlinux 0x7c1c6031 ide_host_remove +EXPORT_SYMBOL_GPL vmlinux 0x7c5d55c7 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x7c64cb42 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x7c69b9b0 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x7c6c5c92 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x7c718546 scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0x7c788945 regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x7ca1323f rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x7cc3a0fd shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x7ced3583 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x7d3ddeb5 pci_block_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0x7d9d207c crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7ddcae9b default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x7e0a82dd flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e23663d skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e2d29ec ide_pci_clk +EXPORT_SYMBOL_GPL vmlinux 0x7e594fa9 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e7aebcf crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x7e89610c pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x7ea7e635 ide_dma_test_irq +EXPORT_SYMBOL_GPL vmlinux 0x7eb51385 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x7ebfb8fc tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x7ec328b9 pmac_backlight_mutex +EXPORT_SYMBOL_GPL vmlinux 0x7ecc7e7b dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x7f19c836 unlock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x7f306e38 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x7f3d1e50 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x7faca1f2 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x7fb87a11 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x7fb936a1 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fc3dc5c debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x7fcf82ed crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8014b6af input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x8039d043 selinux_secmark_relabel_packet_permission +EXPORT_SYMBOL_GPL vmlinux 0x804d544a ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x805b697e crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x808acb8b aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80ee55c3 selinux_secmark_refcount_inc +EXPORT_SYMBOL_GPL vmlinux 0x80f21e35 generic_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0x811afadf rtc_lock +EXPORT_SYMBOL_GPL vmlinux 0x8129e198 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x8137d89d pmf_put_function +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x81daeb7d tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x821b2375 macvlan_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0x8224eacf i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x82680815 blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x8271fe95 inode_add_to_lists +EXPORT_SYMBOL_GPL vmlinux 0x8287dcf0 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x82b7e628 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82eeeacd disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x8305d119 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x833160c6 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x837397b7 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x837a99d5 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x83f15297 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x83f47aba device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x84152626 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x8458375c sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x8459a594 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x846cce8b pcibios_finish_adding_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x849b6882 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x85379f57 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x8570bc68 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x85714c6a pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x8575d535 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x858ba220 nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0x85bfe3f2 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x860027c5 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86a7703a blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0x86b1667d hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86c5ee41 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x86e51e53 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x873fbaea edac_atomic_assert_error +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x8786cff3 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x878dd0d4 ata_port_probe +EXPORT_SYMBOL_GPL vmlinux 0x87c84810 pmf_find_function +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x885142a6 nf_net_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x88635b21 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x8866063c crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x88882e0a disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x88ed84b1 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x8928c9b8 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x896da9ee ide_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x89ce44a0 blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0x89df8a79 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x89f7e8f7 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8a16b797 register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x8a282c6b usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x8a3e264b spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x8a7dd765 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x8a9ad22c inotify_rm_wd +EXPORT_SYMBOL_GPL vmlinux 0x8aae1899 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x8ac2804e regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x8acebadc sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0x8ad2620f i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x8b14374e pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0x8b2e3613 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x8b36d6dc transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x8b37bccf inotify_find_watch +EXPORT_SYMBOL_GPL vmlinux 0x8b3ab629 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8b7cd6a0 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x8ba3b75c led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x8bca0757 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x8c5fb888 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x8c675147 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x8cb3c332 platform_device_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x8d033df4 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x8d0b3c7d crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x8e05f013 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x8e607a8a kill_pid_info_as_uid +EXPORT_SYMBOL_GPL vmlinux 0x8e93b47a __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x8f12ec24 inotify_inode_queue_event +EXPORT_SYMBOL_GPL vmlinux 0x8f26e101 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x8f2f590d ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x8f672bd2 ide_pad_transfer +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f6e0fe9 pmac_low_i2c_lock +EXPORT_SYMBOL_GPL vmlinux 0x8f8af3a2 cpu_remove_sysdev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0x8fa74514 sysdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x90378f99 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x9045c0c5 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x912b3092 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x912ba54e class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x91429344 inet_csk_clone +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x915c60af ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x916951c1 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x91739fa2 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x919e4700 crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x91a007f0 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x91e67797 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x91f45586 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x9204bf2c device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x92080ccb hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x9230bfb1 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x92ba2117 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x92c17454 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92fb217b dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9333593a leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x933b0d83 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x938c96b0 eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x93a2cb47 reserve_pmc_hardware +EXPORT_SYMBOL_GPL vmlinux 0x93ca412c led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93d579fa ide_do_test_unit_ready +EXPORT_SYMBOL_GPL vmlinux 0x93dda0a7 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x93f758f6 swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0x9422c24c attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x945d1b80 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x9472ce05 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9474f8f9 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x9487bb50 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x95276bd9 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x95322b6a ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x954abe39 platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x95919762 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x961a8cd3 unlock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x96977e5a rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96eebc93 crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0x96fd0bf6 find_module +EXPORT_SYMBOL_GPL vmlinux 0x96fe4812 ide_dma_unmap_sg +EXPORT_SYMBOL_GPL vmlinux 0x981cc996 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x98d37345 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x994e5d44 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a281bb0 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x9a37f04f ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x9aa1b64e of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x9ad5756c transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x9b888ab7 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ba1ea79 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x9bac6512 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x9bb639d1 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x9c205c38 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x9c678af5 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x9c69a520 device_attach +EXPORT_SYMBOL_GPL vmlinux 0x9ca3e3cc ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x9cb8037b xfrm_count_enc_supported +EXPORT_SYMBOL_GPL vmlinux 0x9cdce019 ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x9d175099 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x9dff6dbb debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x9e003b5e of_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x9e4d09f5 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x9e711ad2 pm_qos_requirement +EXPORT_SYMBOL_GPL vmlinux 0x9e732ef4 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x9e993a4c sysdev_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f85ed90 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0x9fb44b60 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x9fb54ee6 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa0255440 net_ipv4_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0xa03b159a filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0xa0b35960 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xa0ead17c ide_pci_set_master +EXPORT_SYMBOL_GPL vmlinux 0xa0fe3b89 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0xa1125293 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa12bd892 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0xa1963924 inotify_dentry_parent_queue_event +EXPORT_SYMBOL_GPL vmlinux 0xa1b0f8fb gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0xa258341a devres_add +EXPORT_SYMBOL_GPL vmlinux 0xa35461c2 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0xa357d56e ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xa35e61a6 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0xa39d9220 unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xa3a2d9af walk_system_ram_range +EXPORT_SYMBOL_GPL vmlinux 0xa40a8590 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xa41e0357 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0xa438fe1d usb_string +EXPORT_SYMBOL_GPL vmlinux 0xa43d041a inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xa456e88f register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xa473a9ef rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0xa523a2c7 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0xa53170ac inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0xa53c6a65 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0xa59b5334 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0xa5a63661 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xa5b17270 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xa5bf5c3e pm_qos_add_requirement +EXPORT_SYMBOL_GPL vmlinux 0xa5c36cec inotify_unmount_inodes +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5f42609 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0xa636f874 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xa6944cda __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa6b69c87 of_irq_map_pci +EXPORT_SYMBOL_GPL vmlinux 0xa6c2ae94 ide_init_pc +EXPORT_SYMBOL_GPL vmlinux 0xa6d47255 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa6f1bcba skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xa6f88e6c scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xa7214fcc device_initialize +EXPORT_SYMBOL_GPL vmlinux 0xa81fe005 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa8431368 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xa86639c0 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0xa8b4a17c ide_build_dmatable +EXPORT_SYMBOL_GPL vmlinux 0xa8bf5bb3 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa90c8f8b sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xa94949f7 put_driver +EXPORT_SYMBOL_GPL vmlinux 0xa992248d put_pid +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaa1e0ce2 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0xaa270cac usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xaa2a72bf __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0xaa5310f9 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xaa8c4696 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0xaafc094d rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xab0a8db3 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0xab57e311 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xab902f82 devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0xaba3ae72 ide_set_dma_mode +EXPORT_SYMBOL_GPL vmlinux 0xabadaf21 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xabe78a1b of_irq_map_raw +EXPORT_SYMBOL_GPL vmlinux 0xac09ded7 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0xac1a4519 ata_sff_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xac1e5ec6 __pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0xac3c70bf xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0xac3e3c4a inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xacc17371 __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0xacd5bfda i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xacf54980 cpu_add_sysdev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0xad8208ee ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xadad065c kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae2e2eb7 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0xae421bf2 dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0xae64c945 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0xaea685c4 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0xaec7cf37 queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0xaef0d88c usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0xaf0e4266 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xaf1c9626 ide_dma_host_set +EXPORT_SYMBOL_GPL vmlinux 0xaf3f6fe0 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xaf695bbf ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0xafb9c5ec pmac_backlight +EXPORT_SYMBOL_GPL vmlinux 0xafcb62b6 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0xb024071a ide_port_unregister_devices +EXPORT_SYMBOL_GPL vmlinux 0xb03f644f da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xb061d127 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0xb0749af3 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0xb074b347 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0xb096dc53 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0xb0aa812e fips_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb0b84eda regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0xb0db11fe rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xb0dfc9a3 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xb0f36f15 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0xb10adc73 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xb1561942 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0xb1788dd7 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0xb18426b0 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb241e7a8 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0xb25875f0 pmac_i2c_get_channel +EXPORT_SYMBOL_GPL vmlinux 0xb261ce36 ata_port_disable +EXPORT_SYMBOL_GPL vmlinux 0xb28461bb class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xb31e4f3f ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0xb32a9c3f transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xb337e335 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xb338f1fd ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0xb33b03d1 fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb3747cfe tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0xb3e854c9 proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xb42b1f0f spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0xb4432b8c device_del +EXPORT_SYMBOL_GPL vmlinux 0xb4686f28 ide_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb47b678f usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0xb493fdc5 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xb49c1b58 crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0xb51dba6b led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb5551294 srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xb5556e5c sysdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb5d542fd rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0xb5dd6e3c fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0xb5ecc729 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xb5fc5e8d power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xb62bac2a ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0xb64e2be5 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0xb65091b3 selinux_secmark_refcount_dec +EXPORT_SYMBOL_GPL vmlinux 0xb658d7e8 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6e81ee9 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb701e763 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0xb7165f2d ide_pio_bytes +EXPORT_SYMBOL_GPL vmlinux 0xb71ced33 inotify_rm_watch +EXPORT_SYMBOL_GPL vmlinux 0xb744fa43 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xb75adf3c __set_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xb7b040ee kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0xb7c174ec dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xb7e1ee6e crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0xb80951f6 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xb84702a5 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0xb86ffc62 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0xb8795c55 __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0xb889dbc7 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0xb8b152e7 br_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0xb9210081 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xb988671d ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0xb99f41e3 do_add_mount +EXPORT_SYMBOL_GPL vmlinux 0xb9eb3aa9 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xb9f1e294 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0xba2e75b0 queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xba719bb9 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xbab7eae6 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbb479da6 sysdev_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbbc70ce2 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0xbc73915b transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbd2d698d pm_request_idle +EXPORT_SYMBOL_GPL vmlinux 0xbd886ac7 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xbda4d568 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xbda6261c each_symbol +EXPORT_SYMBOL_GPL vmlinux 0xbdbb17dd usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xbdc3e207 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbdd93408 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0xbdf562f3 ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0xbdf88fc9 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xbe09b5f8 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xbe116723 do_posix_clock_nosettime +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe611de0 pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xbe9cfb4b usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0xbeccbf38 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0xbed16a6e blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0xbee8ea7e ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0xbf13c109 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0xbf1cc04b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xbf23dbcf of_scan_bus +EXPORT_SYMBOL_GPL vmlinux 0xbf85dbda ide_unregister_region +EXPORT_SYMBOL_GPL vmlinux 0xbfbdbd92 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0xc015033f __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xc01c17ed vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0xc02b81f6 inotify_init_watch +EXPORT_SYMBOL_GPL vmlinux 0xc0d2094e save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0xc1106ab3 map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xc126e890 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xc12f7e0d trace_profile_buf_nmi +EXPORT_SYMBOL_GPL vmlinux 0xc1634ef9 shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc1f1c582 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0xc1f421f7 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xc201720b ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc24188ec kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0xc26cc5c3 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xc270778c hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0xc288eefe usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0xc2bc7fae ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0xc2c9bd4d usb_buffer_map_sg +EXPORT_SYMBOL_GPL vmlinux 0xc3301f02 rcu_expedited_torture_stats +EXPORT_SYMBOL_GPL vmlinux 0xc34e8544 queue_work +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc3755f5a ide_setup_pci_noise +EXPORT_SYMBOL_GPL vmlinux 0xc3863d94 blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3a9da5d fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0xc3aa2836 read_lock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0xc3d9bf9f irq_find_host +EXPORT_SYMBOL_GPL vmlinux 0xc3dec32b fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0xc419abb2 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xc425c297 ide_port_scan +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc453d316 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xc4547f3c crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xc46d877e schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4b33aa6 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc4c259b2 device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0xc4df9d18 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0xc4f570ad kick_process +EXPORT_SYMBOL_GPL vmlinux 0xc5953788 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xc5a79fab unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0xc5bd11bb get_cpu_sysdev +EXPORT_SYMBOL_GPL vmlinux 0xc5cfd2fd fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0xc606cd3c boot_cpuid +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc6194aff ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0xc61d03e8 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xc6256f9b cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xc673e23e ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xc6832df1 ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0xc6cea8b6 ide_queue_pc_tail +EXPORT_SYMBOL_GPL vmlinux 0xc6d8c6a7 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xc6f947cc pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc70637fa sysdev_create_file +EXPORT_SYMBOL_GPL vmlinux 0xc7080b41 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0xc735e42d crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0xc79103d7 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc7a9a90b ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0xc8487372 ide_cd_expiry +EXPORT_SYMBOL_GPL vmlinux 0xc8823c30 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0xc888d999 ide_dma_setup +EXPORT_SYMBOL_GPL vmlinux 0xc8b94de7 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xc8c99059 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xc91962ee find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xc93d3800 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc95495c8 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9abe502 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xca0aba44 ide_prep_sense +EXPORT_SYMBOL_GPL vmlinux 0xca32a2aa ide_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xca462b6e debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xca526234 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xca558bf7 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0xca5ba081 crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xca89a9ac invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xcac48f11 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0xcaf79c7b tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0xcafba3c2 sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xcb339dd1 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xcb800a57 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0xcbb206a1 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcbca1a6f ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xcbd378f1 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0xcbe32234 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0xcbe988f4 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0xcc1110dd __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0xcc129b87 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc246ea6 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xcc4f15a5 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xcc7a2564 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0xcc7af6b7 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xcd7cc20e ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0xcdab5ee6 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0xcdb01877 ktime_add_ns +EXPORT_SYMBOL_GPL vmlinux 0xcdb5ff3e __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xce4052a7 page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0xcea17dc1 ata_port_start +EXPORT_SYMBOL_GPL vmlinux 0xcf1c648c register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xcf8af983 trace_profile_buf +EXPORT_SYMBOL_GPL vmlinux 0xcfa47a4e blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0xcfc68341 synchronize_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcfdb4755 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd03b38b6 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd09c0497 crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0e16cb3 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xd0f2fb2c klist_next +EXPORT_SYMBOL_GPL vmlinux 0xd10fef21 of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0xd13d69a8 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xd15b922c xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd18a97e6 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0xd1bcdd42 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xd1d8adad atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd1ef4cc5 ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xd20bb44f irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0xd217cc38 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd2a8caf0 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd2b9a406 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0xd2fd61a1 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0xd338b729 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0xd33c2f8e usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0xd360609a elv_register +EXPORT_SYMBOL_GPL vmlinux 0xd3df2c4f __module_address +EXPORT_SYMBOL_GPL vmlinux 0xd3e46f98 nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0xd3f7b2f5 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xd4675b07 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xd4756523 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xd4acad06 ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0xd4b8c665 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xd4fe542d ide_error +EXPORT_SYMBOL_GPL vmlinux 0xd556b5bc sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xd56f30e2 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xd5b6c59c crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0xd5bbba27 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0xd5c12b24 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xd5ec06df pmac_i2c_setmode +EXPORT_SYMBOL_GPL vmlinux 0xd66b1fd3 rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0xd6a7d5ce unregister_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0xd6d45d2e usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0xd6d787c5 check_media_bay_by_base +EXPORT_SYMBOL_GPL vmlinux 0xd6f3ef62 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0xd720348f __class_create +EXPORT_SYMBOL_GPL vmlinux 0xd730cb91 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xd73ef534 sysdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd77a5669 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0xd78a6b99 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0xd7977042 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xd7bd65d2 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0xd7d79132 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd8043c95 ide_read_altstatus +EXPORT_SYMBOL_GPL vmlinux 0xd80a0900 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0xd839be42 rtnl_kill_links +EXPORT_SYMBOL_GPL vmlinux 0xd85b1c14 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0xd86e15ba eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xd895f5e9 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0xd89bc517 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xd8b8121e ata_sff_port_start +EXPORT_SYMBOL_GPL vmlinux 0xd8d278be ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xd8fa6ec2 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0xd9b44472 crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0xd9e03161 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0xd9f0ebde usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xda1b0bb0 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda684d26 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xda71aa4e ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xdaaaba68 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0xdabc3797 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xdaed39b6 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb274e52 monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0xdb62ed06 get_driver +EXPORT_SYMBOL_GPL vmlinux 0xdc07f8fe atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xdc3ed075 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0xdcaa02c9 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0xdcb0b1fb ide_do_start_stop +EXPORT_SYMBOL_GPL vmlinux 0xdd2a7097 device_register +EXPORT_SYMBOL_GPL vmlinux 0xdd3c8e5d dm_put +EXPORT_SYMBOL_GPL vmlinux 0xdd407f43 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0xdd57711d inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xdd870456 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xddba3c1b ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0xdde5f824 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0xde182f89 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0xde39d862 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xdec01ab2 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0xdee12df0 __class_register +EXPORT_SYMBOL_GPL vmlinux 0xdee7c133 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0xdeebba07 ide_host_register +EXPORT_SYMBOL_GPL vmlinux 0xdf27877b register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xdfe6b550 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xe00f8ec2 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0xe014a4d7 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0xe03b8896 __ide_pci_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xe07ca631 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0xe0993607 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0xe0b6fc87 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0xe0cca33e xfrm_aead_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xe0f437c8 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xe1014031 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0xe12e254c ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0xe1315714 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xe131f61c sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0xe1431c4d usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0xe16591ab stop_machine +EXPORT_SYMBOL_GPL vmlinux 0xe165b3a6 __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0xe1ee82d9 of_irq_map_one +EXPORT_SYMBOL_GPL vmlinux 0xe1f360e5 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0xe2228dff sysdev_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0xe2300077 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0xe2527cf1 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0xe28648bb srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe2919225 ata_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0xe2922b75 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0xe296ef2b spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0xe32efb92 cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0xe39a601e sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xe3bf57ae __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xe3e26cf5 __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xe442bd26 ata_sff_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xe453b172 sysdev_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xe49ff3b0 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xe4c1913d rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe530071c pm_qos_remove_requirement +EXPORT_SYMBOL_GPL vmlinux 0xe53be9e6 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe57f7567 pmf_call_function +EXPORT_SYMBOL_GPL vmlinux 0xe591a991 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0xe595806c ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0xe5bde1e4 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0xe5ca35d6 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xe62b04ce get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0xe63d0aa0 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe66363b0 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xe6742280 fib_rules_cleanup_ops +EXPORT_SYMBOL_GPL vmlinux 0xe721f6fa dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0xe74343f0 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xe75d3483 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0xe7624542 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0xe7b08068 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xe7f74787 crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe87673ae ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0xe8a0fd9e ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe901175f __dev_addr_unsync +EXPORT_SYMBOL_GPL vmlinux 0xe90828d1 __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0xe90c178f ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0xe92f43d0 device_rename +EXPORT_SYMBOL_GPL vmlinux 0xe92ff010 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe98642e0 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe9ea1351 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xe9f0d1d6 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0xe9fca928 ide_cd_get_xferlen +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 0xea4c7a49 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xea58d560 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xea7cfbdb register_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeb240a32 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0xeb4c1fc8 __tracepoint_block_remap +EXPORT_SYMBOL_GPL vmlinux 0xeb4c77c3 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xeb7ef7f7 bus_register +EXPORT_SYMBOL_GPL vmlinux 0xeb96388c usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xebd97b97 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xec184057 inotify_remove_watch_locked +EXPORT_SYMBOL_GPL vmlinux 0xec1a75a9 __dev_addr_sync +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec8e64a9 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xec9566dc devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0xeca0fddc ide_dev_select +EXPORT_SYMBOL_GPL vmlinux 0xecccdb7b ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xecdac4a7 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0xecea75d0 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xed8d9334 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0xedc2994d ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0xede67e3d hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xede74815 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xedeb3795 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0xee4a9764 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0xee7c4aed tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0xee96c218 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0xeecac530 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0xeed1b796 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xeef6f064 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0xef12c978 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0xef34610d pmf_do_irq +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef80e33e pmf_do_functions +EXPORT_SYMBOL_GPL vmlinux 0xefa5f133 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0xefae4a30 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefdd5a63 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xefe21106 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0xefe5fdc8 ide_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xf002c08a usb_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf014c815 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0xf01a2d9e usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0xf02001a4 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf0241200 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0xf07cce8e ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xf08f16a9 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0xf0bd85bb xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0xf0bfe979 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0xf0c37713 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0xf105d00d ide_in_drive_list +EXPORT_SYMBOL_GPL vmlinux 0xf13b3afd ide_register_region +EXPORT_SYMBOL_GPL vmlinux 0xf1463412 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf1ab123f proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0xf1fdd100 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xf2201143 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xf238301a ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf23a9394 ata_sff_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0xf25d66ac ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0xf2728169 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0xf3466192 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xf34806ec hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xf3636b57 ide_set_pio +EXPORT_SYMBOL_GPL vmlinux 0xf3a2c3ac ide_intr +EXPORT_SYMBOL_GPL vmlinux 0xf3c35061 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0xf4099c86 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xf4488540 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xf44e1ba4 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0xf46d3493 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0xf4818723 usb_buffer_unmap_sg +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf4efdf5e usb_autopm_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xf5384ac1 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf576609c ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf5799f7a stop_machine_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf57fc87f pmac_i2c_xfer +EXPORT_SYMBOL_GPL vmlinux 0xf59f8737 ide_setting_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5d27f32 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0xf5f2ae9a usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0xf655fa31 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0xf6a50e5b rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0xf6baf792 scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0xf6bcbd73 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xf6c66f85 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xf6c9d9b8 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf75b0f79 usb_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xf77143eb sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0xf79f99df ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xf7aa1cb8 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0xf7b87f04 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0xf7d67077 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0xf7e9ceca usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xf7fad53e usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xf820cc8e __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xf8245840 ide_host_add +EXPORT_SYMBOL_GPL vmlinux 0xf8302725 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf841293b relay_open +EXPORT_SYMBOL_GPL vmlinux 0xf84e00ec regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xf858a4f3 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0xf863e82a flush_work +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf89aed22 crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xf89bd839 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0xf8d1b822 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0xf8e04795 pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf95724c3 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0xf95bb431 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xf9d2d8cc sysdev_class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xf9e69e04 get_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0xfa509602 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0xfab81182 ide_pci_init_two +EXPORT_SYMBOL_GPL vmlinux 0xfae96de1 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0xfaf75c9f ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xfb33febd irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0xfb53cd15 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xfb5b0956 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0xfb644ece user_match +EXPORT_SYMBOL_GPL vmlinux 0xfb8eea60 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0xfbd3c36a ide_set_media_lock +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfc0d85e9 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0xfc6b0998 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xfcca8869 ide_dma_sff_timer_expiry +EXPORT_SYMBOL_GPL vmlinux 0xfcfa6d98 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0xfcfd0b11 sk_clone +EXPORT_SYMBOL_GPL vmlinux 0xfd2a9432 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0xfd38234c scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0xfd6b4931 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0xfd72e631 ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0xfd95d6e8 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xfdaa8a93 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xfdaeec86 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xfdbb5d75 __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0xfdc99c36 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfe0e3ad0 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0xfe3e0109 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0xfe77e514 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0xfe8c0a4d tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0xfe95a3db unregister_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfeaa315c tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfede3bda dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0xfee5dc78 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0xfeeccc73 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xff0d9b01 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xff810f7c pmac_i2c_match_adapter +EXPORT_SYMBOL_GPL vmlinux 0xff89a4cd handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xffa97462 pmac_i2c_detach_adapter +EXPORT_SYMBOL_GPL vmlinux 0xffb352c4 srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xfff5cff9 spi_busnum_to_master +EXPORT_UNUSED_SYMBOL vmlinux 0x00000000 simple_prepare_write --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/powerpc/powerpc-smp.compiler +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/powerpc/powerpc-smp.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3 --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/powerpc/powerpc-smp.modules +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/powerpc/powerpc-smp.modules @@ -0,0 +1,2196 @@ +3c359 +3c574_cs +3c589_cs +3c59x +3w-9xxx +3w-xxxx +6pack +8021q +8139cp +8139too +8250 +8250_pci +8390 +9p +9pnet +9pnet_rdma +9pnet_virtio +a100u2w +a3d +aacraid +ab3100 +ab3100-core +ab3100-otp +abyss +ac97_bus +acecad +acenic +act200l-sir +act_gact +act_ipt +actisys-sir +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +ad1848 +ad7414 +ad7418 +ad7877 +ad7879 +adcxx +adfs +adi +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm8211 +adm9240 +adp5588-keys +ads7846 +adt7462 +adt7470 +adt7475 +adutux +adv7170 +adv7175 +adv7180 +adv7343 +advansys +aedsp16 +aes_generic +af_802154 +af9013 +affs +af_key +af-rxrpc +agpgart +ah4 +ah6 +aha152x_cs +ahci +aic79xx +aic7xxx +aic94xx +aiptek +aircable +airo +airo_cs +airport +alauda +ali-ircc +ambassador +amd8111e +ams +analog +ansi_cprng +ans-lcd +anubis +aoe +apm_emu +apm-emulation +apm_power +appledisplay +appletalk +appletouch +applicom +ar7part +ar9170usb +arc4 +arcmsr +arcnet +arc-rawmode +arc-rimi +ark3116 +arkfb +arptable_filter +arp_tables +arpt_mangle +asix +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +ata_generic +ata_piix +aten +ath +ath9k +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atm +atmel +atmel_cs +atmel_pci +atmtcp +atp870u +atxp1 +au0828 +au8522 +aufs +authenc +auth_rpcgss +autofs +autofs4 +ax25 +axnet_cs +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b43 +b43legacy +b44 +baycom_epp +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcm203x +bcm3510 +bcm5974 +be2iscsi +be2net +befs +belkin_sa +berry_charge +bfa +bfs +bfusb +binfmt_misc +block2mtd +blowfish +bluecard_cs +bluetooth +bmac +bnep +bnx2 +bnx2i +bonding +bpa10x +bpck +bpck6 +bpqether +bq24022 +bq27x00_battery +br2684 +bridge +briq_panel +broadcom +broadsheetfb +bsd_comp +bt3c_cs +bt819 +bt856 +bt866 +bt878 +btcx-risc +btmrvl +btmrvl_sdio +btrfs +btsdio +bttv +btuart_cs +btusb +BusLogic +bw-qcam +c67x00 +cachefiles +cafe_ccic +cafe_nand +camellia +can +can-bcm +can-dev +can-raw +capmode +carminefb +cassini +cast5 +cast6 +catc +cb710 +cb710-mmc +cbc +cciss +cdc-acm +cdc_eem +cdc_ether +cdc-phonet +cdc_subset +cdc-wdm +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch +ch341 +ch7006 +chipreg +cicada +cifs +cirrusfb +clip +cls_basic +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cn +cnic +cobra +coda +com20020 +com20020_cs +com20020-pci +com90io +com90xx +comm +configfs +core +cp210x +cpia +cpia2 +cpia_pp +cpia_usb +cpqarray +cpufreq_stats +c-qcam +cramfs +crc32c +crc7 +crc-ccitt +crc-itu-t +crc-t10dif +cryptd +cryptoloop +crypto_null +cs5345 +cs53l32a +cts +cuse +cx18 +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24123 +cx25840 +cx8800 +cx8802 +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx88xx +cxacru +cxgb +cxgb3 +cxgb3i +cyber2000fb +cyberjack +cyclades +cyclomx +cycx_drv +cypress_cy7c63 +cypress_m8 +cytherm +da9030_battery +da9034-ts +da903x +da903x_bl +DAC960 +davicom +db9 +dc395x +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dccp_probe +de2104x +de4x5 +de600 +de620 +decnet +deflate +defxx +des_generic +dib0070 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dibx000_common +digi_acceleport +diskonchip +display +dl2k +dlci +dlm +dm1105 +dm9601 +dm-crypt +dme1737 +dmfe +dm-log +dm-mirror +dm-multipath +dm-queue-length +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dmx3191d +dm-zero +dnet +dn_rtmsg +doc2000 +doc2001 +doc2001plus +docecc +docprobe +donauboe +dpt_i2o +drm +drm_kms_helper +ds1621 +ds1682 +ds2482 +ds2490 +ds2760_battery +ds2782_battery +dsbr100 +dscc4 +dst +dst_ca +dstr +dtl1_cs +dummy +dv1394 +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-anysee +dvb-usb-au6610 +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-friio +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-m920x +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +e100 +e1000 +e1000e +earth-pt1 +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_ulog +ebt_vlan +ecb +econet +ecryptfs +edac_core +eeprom +eeprom_93cx6 +eeti_ts +efs +elo +em28xx +em28xx-dvb +em_cmp +emi26 +emi62 +em_meta +em_nbyte +empeg +ems_pci +ems_usb +em_text +emu10k1-gp +em_u32 +eni +enic +epat +epca +epia +epic100 +eql +esi-sir +esp4 +esp6 +et1011c +et61x251 +eth1394 +ethoc +evbug +evdev +exofs +exportfs +f71805f +f71882fg +f75375s +farsync +fat +faulty +fb_sys_fops +fcoe +fcrypt +fdomain +fdomain_cs +fealnx +ff-memless +firedtv +firestream +fit2 +fit3 +floppy +fm801-gp +fmvj18x_cs +forcedeth +fore_200e +freevxfs +friq +frpw +fscache +ftdi-elan +ftdi_sio +ftl +fujitsu_ts +funsoft +g760a +gadgetfs +gamecon +gameport +garmin_gps +garp +g_audio +g_cdc +gdth +generic +generic_bl +gen_probe +g_ether +gf128mul +gf2k +g_file_storage +gfs2 +ghash-generic +girbil-sir +gl518sm +gl520sm +gl620a +gluebi +g_midi +goku_udc +gpio-addr-flash +gpio_keys +gpio_mouse +gpio_vbus +g_printer +grip +grip_mp +g_serial +gspca_conex +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_ov519 +gspca_ov534 +gspca_pac207 +gspca_pac7311 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_stk014 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_tv8532 +gspca_vc032x +gspca_zc3xx +gtco +guillemot +gunze +gxt4500 +g_zero +hamachi +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 +hfs +hfsplus +hid +hid-3m-pct +hid-a4tech +hid-apple +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-drff +hid-ezkey +hid-gaff +hid-gyration +hid-kensington +hid-kye +hid-logitech +hid-microsoft +hid-monterey +hid-mosart +hid-ntrig +hid-ortek +hidp +hid-petalynx +hid-pl +hid-quanta +hid-samsung +hid-sjoy +hid-sony +hid-stantum +hid-sunplus +hid-tmff +hid-topseed +hid-twinhan +hid-wacom +hid-zpff +horizon +hostap +hostap_cs +hostap_pci +hostap_plx +hp100 +hp4x +hpfs +hptiop +hso +htc-pasic3 +hwa-hc +hwa-rc +hwmon-vid +i1480-dfu-usb +i1480-est +i1480u-wlp +i2400m +i2400m-sdio +i2400m-usb +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd8111 +i2c-dev +i2c-gpio +i2c-hydra +i2c-i801 +i2c-isch +i2c-matroxfb +i2c-mpc +i2c-nforce2 +i2c-ocores +i2c-parport +i2c-parport-light +i2c-pca-platform +i2c-piix4 +i2c-simtec +i2c-sis5595 +i2c-sis630 +i2c-sis96x +i2c-stub +i2c-taos-evm +i2c-tiny-usb +i2c-via +i2c-viapro +i2c-voodoo3 +i2o_block +i2o_bus +i2o_config +i2o_core +i2o_proc +i2o_scsi +i5k_amb +i82092 +ib_addr +ib_cm +ib_core +ib_ipoib +ib_iser +ib_mad +ibmaem +ibmcam +ibmpex +ib_mthca +ibmtr_cs +ib_sa +ib_srp +ib_ucm +ib_umad +ib_uverbs +icplus +ics932s401 +idmouse +idt77252 +ieee1394 +ifb +iforce +igbvf +ili9320 +imm +inexio +inftl +initio +input-polldev +int51x1 +intel_vr_nor +interact +ioc4 +io_edgeport +io_ti +iowarrior +ip2 +ip6_queue +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_LOG +ip6t_mh +ip6t_REJECT +ip6t_rt +ip6_tunnel +ipaq +ipcomp +ipcomp6 +ipddp +ipg +ip_gre +iphase +ipip +ipmi_devintf +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_watchdog +ip_queue +ipr +ips +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_addrtype +ipt_ah +ipt_CLUSTERIP +ipt_ecn +ipt_ECN +ipt_LOG +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_ULOG +ipv6 +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipw2100 +ipw2200 +ipx +ircomm +ir-common +ircomm-tty +irda +irda-usb +ir-kbd-i2c +irlan +irnet +irtty-sir +ir-usb +iscsi_tcp +iscsi_trgt +isight_firmware +isl29003 +isl6405 +isl6421 +isofs +isp116x-hcd +isp1362-hcd +isp1760 +istallion +it87 +itd1000 +iuu_phoenix +ivtv +ivtvfb +iw_c2 +iw_cm +iw_cxgb3 +iwlagn +iwlcore +iwmc3200wifi +ixgb +ixgbe +ixj +ixj_pcmcia +jedec_probe +jffs2 +jfs +jme +joydev +joydump +jsm +kafs +kahlua +kaweth +kbic +kbtab +keyspan +keyspan_pda +keyspan_remote +khazad +kingsun-sir +kl5kusb105 +kobil_sct +konicawc +ks0108 +ks0127 +ks8842 +ks8851 +ks8851_mll +ks959-sir +ksdazzle-sir +ktti +kvaser_pci +kyrofb +l2cap +l64781 +lanai +lanstreamer +lapb +lapbether +lcd +ldusb +lec +leds-bd2802 +leds-da903x +leds-dac124s085 +leds-lp3944 +leds-wm831x-status +leds-wm8350 +ledtrig-backlight +ledtrig-gpio +legousbtower +lgdt3305 +lgdt330x +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libcrc32c +libertas +libertas_cs +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libosd +libsas +libsrp +lightning +linear +lirc_atiusb +lirc_bt829 +lirc_dev +lirc_ene0100 +lirc_i2c +lirc_igorplugusb +lirc_imon +lirc_it87 +lirc_ite8709 +lirc_mceusb +lirc_sasem +lirc_serial +lirc_sir +lirc_streamzap +lirc_ttusbir +lis3lv02d +lis3lv02d_spi +litelink-sir +lkkbd +llc2 +lm63 +lm70 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95241 +lmc +lms283gf05 +lnbp21 +lockd +loop +lp +lp3971 +lpddr_cmds +lpfc +lrw +ltc4215 +ltc4245 +ltv350qv +lxt +lzo_compress +lzo_decompress +m25p80 +m52790 +ma600-sir +mac53c94 +mac80211 +mac80211_hwsim +mace +macvlan +magellan +map_absent +map_funcs +map_ram +map_rom +marvell +matrix_keypad +matroxfb_maven +matrox_w1 +max1111 +max1586 +max1619 +max17040_battery +max3100 +max6650 +max6875 +max7301 +max732x +max7359_keypad +mb862xxfb +mc13783 +mc13783-core +mc33880 +mc44s803 +mcp2120-sir +mcp23s08 +mcs5000_ts +mcs7780 +mcs7830 +mct_u232 +md4 +mdc800 +mdio +mdio-bitbang +mdio-gpio +md-mod +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +mesh +metronomefb +mfd-core +mga +michael_mic +microtek +mii +minix +mk712 +mkiss +mlx4_core +mlx4_en +mlx4_ib +mmc_block +mmc_core +mos7720 +mos7840 +moto_modem +moxa +mpoa +mpt2sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu401 +msdos +msp3400 +mt2060 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt9m001 +mt9m111 +mt9t031 +mt9v011 +mt9v022 +mtd +mtd_blkdevs +mtdblock +mtdblock_ro +mtdchar +mtdconcat +mtd_dataflash +mtd_oobtest +mtdoops +mtd_pagetest +mtdram +mtd_readtest +mtd_speedtest +mtd_stresstest +mtd_subpagetest +mtd_torturetest +mtouch +multipath +mv643xx_eth +mwl8k +mxl5005s +mxl5007t +myri10ge +nand +nand_ecc +nand_ids +nandsim +national +natsemi +navman +nbd +ncpfs +ne2k-pci +neofb +net1080 +netconsole +netrom +netwave_cs +netxen_nic +newtonkbd +nf_conntrack +nf_conntrack_amanda +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_tftp +nf_defrag_ipv4 +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_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nftl +nf_tproxy_core +n_hdlc +nicstar +nilfs2 +nl802154 +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 +nouveau +n_r3964 +ns558 +ns83820 +nsc-ircc +nsp32 +nsp_cs +ntfs +nvidiafb +nxt200x +nxt6000 +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +of_serial +ohci1394 +old_belkin-sir +olympic +omfs +omninet +on20 +on26 +onenand +onenand_sim +opencores-kbd +opl3 +oprofile +opticon +option +or51132 +or51211 +orinoco +orinoco_cs +osd +osdblk +osst +oti6858 +output +ov7670 +ov772x +ovcamchip +oxu210hp-hcd +p54common +p54pci +p54spi +p54usb +p8023 +paride +parkbd +parport +parport_ax88796 +parport_cs +parport_pc +parport_serial +pas2 +pata_amd +pata_atp867x +pata_cs5520 +pata_efar +pata_it8213 +pata_it821x +pata_jmicron +pata_marvell +pata_mpiix +pata_netcell +pata_ninja32 +pata_of_platform +pata_oldpiix +pata_pcmcia +pata_pdc2027x +pata_platform +pata_rdc +pata_rz1000 +pata_sch +pata_serverworks +pata_sil680 +pata_sis +pata_sl82c105 +pata_triflex +pata_via +pc87360 +pc87427 +pca953x +pcbc +pcd +pcf50633-adc +pcf50633-charger +pcf50633-core +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf857x +pcf8591 +pci +pci200syn +pcilynx +pcips2 +pcmcia +pcmcia_core +pcnet32 +pcnet_cs +pcspkr +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pdc_adma +pegasus +penmount +pf +pg +phantom +phonedev +phonet +phram +physmap +physmap_of +pktcdvd +pktgen +pl2303 +platform_lcd +plat_nand +plat-ram +plip +plusb +pluto2 +pm2fb +pm3fb +pmac_zilog +pmc551 +pmcraid +pmu_battery +pn_pep +powermate +ppa +ppdev +ppp_async +ppp_deflate +ppp_generic +ppp_mppe +pppoatm +pppoe +pppol2tp +pppox +ppp_synctty +pps_core +prism54 +psmouse +pss +pt +pvrusb2 +pwc +qcserial +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlge +qlogic_cs +qlogicfas408 +qnx4 +qsemi +qt1010 +quickcam_messenger +quota_tree +quota_v1 +quota_v2 +r128 +r8169 +r8a66597-hcd +rack-meter +radeon +radio-gemtek-pci +radio-i2c-si470x +radio-maestro +radio-maxiradio +radio-mr800 +radio-si4713 +radio-tea5764 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +raid_class +ramzswap +raw +raw1394 +ray_cs +rdma_cm +rdma_ucm +redboot +reed_solomon +reiserfs +rfc1051 +rfc1201 +rfcomm +rfd_ftl +rfkill +ricoh_mmc +rio500 +rivafb +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rocket +romfs +rose +rotary_encoder +rpcsec_gss_krb5 +rpcsec_gss_spkm3 +rrunner +rsrc_nonstatic +rt2400pci +rt2500pci +rt2500usb +rt2800usb +rt2x00lib +rt2x00pci +rt2x00usb +rt61pci +rt73usb +rtc-ab3100 +rtc-bq4802 +rtc-cmos +rtc_cmos_setup +rtc-ds1286 +rtc-ds1305 +rtc-ds1307 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-ds3234 +rtc-fm3130 +rtc-generic +rtc-isl1208 +rtc-m41t80 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-pcf2123 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-r9701 +rtc-rs5c348 +rtc-rs5c372 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-twl4030 +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtl8150 +rtl8187 +rxkad +s1d13xxxfb +s2255drv +s2io +s3fb +s5h1409 +s5h1411 +s5h1420 +saa5246a +saa5249 +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +saa7191 +safe_serial +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 +sb +sb_lib +sbp2 +sc92031 +sch_atm +sch_cbq +sch_drr +sch_dsmark +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_multiq +sch_netem +sch_prio +sch_red +sch_sfq +sch_tbf +sch_teql +sco +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 +sdhci +sdhci-of +sdhci-pci +sdhci-pltfm +sdio_uart +sd_mod +sdricoh_cs +se401 +seed +serial_core +serial_cs +serio_raw +sermouse +serpent +serport +sfc +sg +sha1_generic +sha256_generic +sha512_generic +sht15 +si21xx +si4713-i2c +sidewinder +siemens_mpi +sierra +sir-dev +sis +sis190 +sis5595 +sis900 +sisfb +sisusbvga +sit +sja1000 +sja1000_of_platform +sja1000_platform +skfp +skge +sky2 +sl811_cs +sl811-hcd +slhc +slip +slram +sm501 +sm501fb +smbfs +smc91c92_cs +smsc +smsc47b397 +smsc47m1 +smsc47m192 +smsc9420 +smsc95xx +smsc-ircc2 +smsdvb +smsmdtv +smssdio +smsusb +sn9c102 +snd +snd-ac97-codec +snd-ad1889 +snd-ak4114 +snd-ak4117 +snd-ak4xxx-adda +snd-ali5451 +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-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-atihdmi +snd-hda-codec-ca0110 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-idt +snd-hda-codec-intelhdmi +snd-hda-codec-nvhdmi +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-korg1212 +snd-layla20 +snd-layla24 +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-page-alloc +snd-pcm +snd-pcm-oss +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-oss +snd-seq-virmidi +snd-serial-u16550 +snd-soc-ad1836 +snd-soc-ad1938 +snd-soc-ad73311 +snd-soc-ak4104 +snd-soc-ak4535 +snd-soc-ak4642 +snd-soc-core +snd-soc-cs4270 +snd-soc-l3 +snd-soc-max9877 +snd-soc-pcm3008 +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-tlv320aic23 +snd-soc-tlv320aic26 +snd-soc-tlv320aic3x +snd-soc-twl4030 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wm8350 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8776 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8993 +snd-soc-wm9081 +snd-soc-wm-hubs +snd-sonicvibes +snd-tea575x-tuner +snd-timer +snd-trident +snd-usb-audio +snd-usb-caiaq +snd-usb-lib +snd-usb-usx2y +snd-util-mem +snd-via82xx +snd-via82xx-modem +snd-virmidi +snd-vx222 +snd-vx-lib +snd-vxpocket +snd-ymfpci +soc_camera +soc_camera_platform +softdog +solos-pci +sound +soundcore +sound_firmware +sp8870 +sp887x +spaceball +spaceorb +spcp8x5 +specialix +spectrum_cs +speedtch +spi_bitbang +spi_butterfly +spidev +spi_gpio +spi_lm70llp +squashfs +sr_mod +ssb +sscape +ssfdc +sst25l +st +stallion +starfire +stb6000 +ste10Xp +stex +stinger +stir4200 +stowaway +stp +stradis +strip +stv0288 +stv0297 +stv0299 +stv0900 +stv6110 +stv680 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +svcrdma +svgalib +swim3 +sx8 +sym53c500_cs +sym53c8xx +symbolserial +synaptics_i2c +synclink +synclink_cs +synclink_gt +synclinkmp +syscopyarea +sysfillrect +sysimgblt +sysv +tcm825x +tcp_bic +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 +tda10086 +tda18271 +tda7432 +tda8083 +tda826x +tda827x +tda8290 +tda9840 +tda9875 +tda9887 +tdfx +tdo24m +tea +tea5761 +tea5767 +tea6415c +tea6420 +tehuti +tekram-sir +tg3 +tgr192 +therm_adt746x +therm_windtunnel +thmc50 +ths7303 +tifm_7xx1 +tifm_core +tifm_sd +timeriomem-rng +tipc +ti_usb_3410_5052 +tlan +tle62x0 +tlv320aic23b +tmdc +tmiofb +tmp401 +tmp421 +tms380tr +tmscsim +tmspci +toim3232-sir +touchit213 +touchright +touchwin +tpm +tpm_atmel +tpm_nsc +tps65023-regulator +tps6507x-regulator +trancevibrator +tridentfb +trix +ts_bm +tsc2007 +ts_fsm +ts_kmp +tsl2550 +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +turbografx +tvaudio +tveeprom +tvp514x +tvp5150 +tw9910 +twidjoy +twl4030-gpio +twl4030_keypad +twl4030-pwrbutton +twl4030-usb +twl4030_wdt +twofish +twofish_common +typhoon +u132-hcd +uart401 +uart6850 +uartlite +ubi +ucb1400_core +ucb1400_ts +udf +ueagle-atm +ufs +uinput +uio +uio_aec +uio_cif +uio_pci_generic +uio_pdrv +uio_pdrv_genirq +uio_sercos3 +uio_smx +uli526x +ultracam +umc +umem +ums-alauda +ums-cypress +ums-datafab +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-sddr09 +ums-sddr55 +ums-usbat +uninorth-agp +upd64031a +upd64083 +uPD98402 +usb8xxx +usbatm +usb_debug +usbhid +usblcd +usbled +usblp +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +usbtouchscreen +usbvideo +usbvision +userspace-consumer +uss720 +uvcvideo +uvesafb +uwb +v4l1-compat +v4l2-common +v4l2-int-device +vcan +ves1820 +ves1x93 +veth +vfat +vgastate +vgg2432a4 +via +via686a +viafb +via-ircc +via-rhine +via-sdmmc +via-velocity +vicam +video1394 +videobuf-core +videobuf-dma-sg +videobuf-dvb +videobuf-vmalloc +videocodec +videodev +virtio +virtio_balloon +virtio_blk +virtio_console +virtio_net +virtio_pci +virtio_ring +virtio-rng +virtual +visor +vitesse +vivi +vlsi_ir +vmac +v_midi +vp27smpx +vpx3220 +vstusb +vsxxxaa +vt1211 +vt8231 +vt8623fb +vxge +w1_bq27000 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1-gpio +w1_smem +w1_therm +w83627ehf +w83627hf +w83781d +w83791d +w83792d +w83793 +w83977af_ir +w83l785ts +w9966 +w9968cf +wacom_w8001 +walkera0701 +wanrouter +wanxl +warrior +wavelan_cs +wbsd +wdrtas +wdt_pci +whci +whci-hcd +whc-rc +whiteheat +wimax +winbond-840 +windfarm_core +wire +wl1251 +wl1251_sdio +wl1251_spi +wl1271 +wl3501_cs +wlp +wm831x +wm831x_bl +wm831x-dcdc +wm831x-gpio +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x_power +wm831x_wdt +wm8350 +wm8350-hwmon +wm8350-i2c +wm8350_power +wm8350-regulator +wm8350_wdt +wm8400-core +wm8400-regulator +wm8739 +wm8775 +wm97xx-ts +wp512 +wpan-class +wusb-cbaf +wusbcore +wusb-wa +x25 +x25_asy +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_ipcomp +xfrm_user +xfs +xhci +xilinx_emaclite +xilinx_ps2 +xirc2ps_cs +xircom_cb +xor +xpad +xprtrdma +x_tables +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNMARK +xt_CONNSECMARK +xt_conntrack +xt_dccp +xt_dscp +xt_DSCP +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xtkbd +xt_LED +xt_length +xt_limit +xt_mac +xt_mark +xt_MARK +xt_multiport +xt_NFLOG +xt_NFQUEUE +xt_NOTRACK +xt_osf +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_realm +xt_recent +xts +xt_sctp +xt_SECMARK +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_tcpudp +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xusbatm +xvmalloc +yam +yealink +yellowfin +yenta_socket +zatm +zc0301 +zd1201 +zd1211rw +zhenhua +zl10036 +zl10039 +zl10353 +zlib +zlib_deflate +zr36016 +zr36050 +zr36060 +zr36067 +zr364xx --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/powerpc/powerpc.compiler +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/powerpc/powerpc.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3 --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/powerpc/powerpc.modules +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/powerpc/powerpc.modules @@ -0,0 +1,2201 @@ +3c359 +3c574_cs +3c589_cs +3c59x +3w-9xxx +3w-xxxx +6pack +8021q +8139cp +8139too +8250 +8250_pci +8390 +9p +9pnet +9pnet_rdma +9pnet_virtio +a100u2w +a3d +aacraid +ab3100 +ab3100-core +ab3100-otp +abyss +ac97_bus +acecad +acenic +act200l-sir +act_gact +act_ipt +actisys-sir +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +ad1848 +ad7414 +ad7418 +ad7877 +ad7879 +adcxx +adfs +adi +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm8211 +adm9240 +adp5588-keys +ads7846 +adt7462 +adt7470 +adt7475 +adutux +adv7170 +adv7175 +adv7180 +adv7343 +advansys +aedsp16 +aes_generic +af_802154 +af9013 +affs +af_key +af-rxrpc +agpgart +ah4 +ah6 +aha152x_cs +ahci +aic79xx +aic7xxx +aic94xx +aiptek +aircable +airo +airo_cs +airport +alauda +ali-ircc +ambassador +amd8111e +ams +analog +ansi_cprng +ans-lcd +anubis +aoe +apm_emu +apm-emulation +apm_power +appledisplay +appletalk +appletouch +applicom +ar7part +ar9170usb +arc4 +arcmsr +arcnet +arc-rawmode +arc-rimi +ark3116 +arkfb +arptable_filter +arp_tables +arpt_mangle +asix +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +ata_generic +ata_piix +aten +ath +ath9k +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atm +atmel +atmel_cs +atmel_pci +atmtcp +atp870u +atxp1 +au0828 +au8522 +aufs +authenc +auth_rpcgss +autofs +autofs4 +ax25 +axnet_cs +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b43 +b43legacy +b44 +baycom_epp +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcm203x +bcm3510 +bcm5974 +be2iscsi +be2net +befs +belkin_sa +berry_charge +bfa +bfs +bfusb +binfmt_misc +block2mtd +blowfish +bluecard_cs +bluetooth +bmac +bnep +bnx2 +bnx2i +bonding +bpa10x +bpck +bpck6 +bpqether +bq24022 +bq27x00_battery +br2684 +bridge +briq_panel +broadcom +broadsheetfb +bsd_comp +bt3c_cs +bt819 +bt856 +bt866 +bt878 +btcx-risc +btmrvl +btmrvl_sdio +btrfs +btsdio +bttv +btuart_cs +btusb +BusLogic +bw-qcam +c67x00 +cachefiles +cafe_ccic +cafe_nand +camellia +can +can-bcm +can-dev +can-raw +capmode +carminefb +cassini +cast5 +cast6 +catc +cb710 +cb710-mmc +cbc +cciss +cdc-acm +cdc_eem +cdc_ether +cdc-phonet +cdc_subset +cdc-wdm +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch +ch341 +ch7006 +chipreg +cicada +cifs +cirrusfb +clip +cls_basic +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cn +cnic +cobra +coda +com20020 +com20020_cs +com20020-pci +com90io +com90xx +comm +configfs +core +cp210x +cpia +cpia2 +cpia_pp +cpia_usb +cpqarray +cpufreq_stats +c-qcam +cramfs +crc32c +crc7 +crc-ccitt +crc-itu-t +crc-t10dif +cryptd +cryptoloop +crypto_null +cs5345 +cs53l32a +cts +cuse +cx18 +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24123 +cx25840 +cx8800 +cx8802 +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx88xx +cxacru +cxgb +cxgb3 +cxgb3i +cyber2000fb +cyberjack +cyclades +cyclomx +cycx_drv +cypress_cy7c63 +cypress_m8 +cytherm +da9030_battery +da9034-ts +da903x +da903x_bl +DAC960 +davicom +db9 +dc395x +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dccp_probe +de2104x +de4x5 +de600 +de620 +decnet +deflate +defxx +des_generic +dib0070 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dibx000_common +digi_acceleport +diskonchip +display +dl2k +dlci +dlm +dm1105 +dm9601 +dm-crypt +dme1737 +dmfe +dm-log +dm-mirror +dm-multipath +dm-queue-length +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dmx3191d +dm-zero +dnet +dn_rtmsg +doc2000 +doc2001 +doc2001plus +docecc +docprobe +donauboe +dpt_i2o +drm +drm_kms_helper +ds1621 +ds1682 +ds2482 +ds2490 +ds2760_battery +ds2782_battery +dsbr100 +dscc4 +dst +dst_ca +dstr +dtl1_cs +dummy +dv1394 +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-anysee +dvb-usb-au6610 +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-friio +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-m920x +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +e100 +e1000 +e1000e +earth-pt1 +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_ulog +ebt_vlan +ecb +econet +ecryptfs +edac_core +eeprom +eeprom_93cx6 +eeti_ts +efs +elo +em28xx +em28xx-dvb +em_cmp +emi26 +emi62 +em_meta +em_nbyte +empeg +ems_pci +ems_usb +em_text +emu10k1-gp +em_u32 +eni +enic +epat +epca +epia +epic100 +eql +esi-sir +esp4 +esp6 +et1011c +et61x251 +eth1394 +ethoc +evbug +evdev +exofs +exportfs +f71805f +f71882fg +f75375s +farsync +fat +faulty +fb_sys_fops +fcoe +fcrypt +fdomain +fdomain_cs +fealnx +ff-memless +firedtv +firestream +fit2 +fit3 +floppy +fm801-gp +fmvj18x_cs +forcedeth +fore_200e +freevxfs +friq +frpw +fscache +ftdi-elan +ftdi_sio +ftl +fujitsu_ts +funsoft +g760a +gadgetfs +gamecon +gameport +garmin_gps +garp +g_audio +g_cdc +gdth +generic +generic_bl +gen_probe +g_ether +gf128mul +gf2k +g_file_storage +gfs2 +ghash-generic +girbil-sir +gl518sm +gl520sm +gl620a +gluebi +g_midi +gpio-addr-flash +gpio_keys +gpio_mouse +gpio_vbus +g_printer +grip +grip_mp +g_serial +gspca_conex +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_ov519 +gspca_ov534 +gspca_pac207 +gspca_pac7311 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_stk014 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_tv8532 +gspca_vc032x +gspca_zc3xx +gtco +guillemot +gunze +gxt4500 +g_zero +hamachi +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 +hfs +hfsplus +hid +hid-3m-pct +hid-a4tech +hid-apple +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-drff +hid-ezkey +hid-gaff +hid-gyration +hid-kensington +hid-kye +hid-logitech +hid-microsoft +hid-monterey +hid-mosart +hid-ntrig +hid-ortek +hidp +hid-petalynx +hid-pl +hid-quanta +hid-samsung +hid-sjoy +hid-sony +hid-stantum +hid-sunplus +hid-tmff +hid-topseed +hid-twinhan +hid-wacom +hid-zpff +horizon +hostap +hostap_cs +hostap_pci +hostap_plx +hp100 +hp4x +hpfs +hpilo +hptiop +hso +htc-pasic3 +hwa-hc +hwa-rc +hwmon-vid +i1480-dfu-usb +i1480-est +i1480u-wlp +i2400m +i2400m-sdio +i2400m-usb +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd8111 +i2c-dev +i2c-gpio +i2c-hydra +i2c-i801 +i2c-isch +i2c-matroxfb +i2c-mpc +i2c-nforce2 +i2c-ocores +i2c-parport +i2c-parport-light +i2c-pca-platform +i2c-piix4 +i2c-simtec +i2c-sis5595 +i2c-sis630 +i2c-sis96x +i2c-stub +i2c-taos-evm +i2c-tiny-usb +i2c-via +i2c-viapro +i2c-voodoo3 +i2o_block +i2o_bus +i2o_config +i2o_core +i2o_proc +i2o_scsi +i5k_amb +i82092 +ib_addr +ib_cm +ib_core +ib_ipoib +ib_iser +ib_mad +ibmaem +ibmcam +ibmpex +ib_mthca +ibmtr_cs +ib_sa +ib_srp +ib_ucm +ib_umad +ib_uverbs +icplus +ics932s401 +idmouse +idt77252 +ieee1394 +ifb +iforce +igbvf +ili9320 +imm +inexio +inftl +initio +input-polldev +int51x1 +intel_vr_nor +interact +ioc4 +io_edgeport +io_ti +iowarrior +ip2 +ip6_queue +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_LOG +ip6t_mh +ip6t_REJECT +ip6t_rt +ip6_tunnel +ipaq +ipcomp +ipcomp6 +ipddp +ipg +ip_gre +iphase +ipip +ipmi_devintf +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_watchdog +ip_queue +ipr +ips +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_addrtype +ipt_ah +ipt_CLUSTERIP +ipt_ecn +ipt_ECN +ipt_LOG +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_ULOG +ipv6 +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipw2100 +ipw2200 +ipx +ircomm +ir-common +ircomm-tty +irda +irda-usb +ir-kbd-i2c +irlan +irnet +irtty-sir +ir-usb +iscsi_tcp +iscsi_trgt +isight_firmware +isl29003 +isl6405 +isl6421 +isofs +isp116x-hcd +isp1362-hcd +isp1760 +istallion +it87 +itd1000 +iuu_phoenix +ivtv +ivtvfb +iw_c2 +iw_cm +iw_cxgb3 +iwlagn +iwlcore +iwmc3200wifi +ixgb +ixgbe +ixj +ixj_pcmcia +jedec_probe +jffs2 +jfs +jme +joydev +joydump +jsm +kafs +kahlua +kaweth +kbic +kbtab +keyspan +keyspan_pda +keyspan_remote +khazad +kingsun-sir +kl5kusb105 +kobil_sct +konicawc +ks0108 +ks0127 +ks8842 +ks8851 +ks8851_mll +ks959-sir +ksdazzle-sir +ktti +kvaser_pci +kyrofb +l2cap +l64781 +lanai +lanstreamer +lapb +lapbether +lcd +ldusb +lec +leds-bd2802 +leds-da903x +leds-dac124s085 +leds-lp3944 +leds-wm831x-status +leds-wm8350 +ledtrig-backlight +ledtrig-gpio +legousbtower +lgdt3305 +lgdt330x +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libcrc32c +libertas +libertas_cs +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libosd +libsas +libsrp +lightning +linear +lirc_atiusb +lirc_bt829 +lirc_dev +lirc_ene0100 +lirc_i2c +lirc_igorplugusb +lirc_imon +lirc_it87 +lirc_ite8709 +lirc_mceusb +lirc_sasem +lirc_serial +lirc_sir +lirc_streamzap +lirc_ttusbir +lis3lv02d +lis3lv02d_spi +litelink-sir +lkkbd +llc2 +lm63 +lm70 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95241 +lmc +lms283gf05 +lnbp21 +lockd +loop +lp +lp3971 +lpddr_cmds +lpfc +lrw +ltc4215 +ltc4245 +ltv350qv +lxt +lzo +lzo_compress +lzo_decompress +m25p80 +m52790 +ma600-sir +mac53c94 +mac80211 +mac80211_hwsim +mace +macvlan +magellan +map_absent +map_funcs +map_ram +map_rom +marvell +matrix_keypad +matroxfb_maven +matrox_w1 +max1111 +max1586 +max1619 +max17040_battery +max3100 +max6650 +max6875 +max7301 +max732x +max7359_keypad +mb862xxfb +mc13783 +mc13783-core +mc33880 +mc44s803 +mcp2120-sir +mcp23s08 +mcs5000_ts +mcs7780 +mcs7830 +mct_u232 +md4 +mdc800 +mdio +mdio-bitbang +mdio-gpio +md-mod +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +mesh +metronomefb +mfd-core +mga +michael_mic +microtek +mii +minix +mk712 +mkiss +mlx4_core +mlx4_en +mlx4_ib +mmc_block +mmc_core +mos7720 +mos7840 +moto_modem +moxa +mpoa +mpt2sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu401 +msdos +msp3400 +mt2060 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt9m001 +mt9m111 +mt9t031 +mt9v011 +mt9v022 +mtd +mtd_blkdevs +mtdblock +mtdblock_ro +mtdchar +mtdconcat +mtd_dataflash +mtd_oobtest +mtdoops +mtd_pagetest +mtdram +mtd_readtest +mtd_speedtest +mtd_stresstest +mtd_subpagetest +mtd_torturetest +mtouch +multipath +mv643xx_eth +mwl8k +mxl5005s +mxl5007t +myri10ge +nand +nand_ecc +nand_ids +nandsim +national +natsemi +navman +nbd +ncpfs +ne2k-pci +neofb +net1080 +net2280 +netconsole +netrom +netwave_cs +netxen_nic +newtonkbd +nf_conntrack +nf_conntrack_amanda +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_tftp +nf_defrag_ipv4 +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_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nftl +nf_tproxy_core +n_hdlc +nicstar +nilfs2 +nl802154 +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 +nouveau +n_r3964 +ns558 +ns83820 +nsc-ircc +nsp32 +nsp_cs +ntfs +nvidiafb +nxt200x +nxt6000 +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +of_serial +ohci1394 +old_belkin-sir +olympic +omfs +omninet +on20 +on26 +onenand +onenand_sim +opencores-kbd +opl3 +oprofile +opticon +option +or51132 +or51211 +orinoco +orinoco_cs +osd +osdblk +osst +oti6858 +output +ov7670 +ov772x +ovcamchip +oxu210hp-hcd +p54common +p54pci +p54spi +p54usb +p8023 +paride +parkbd +parport +parport_ax88796 +parport_cs +parport_pc +parport_serial +pas2 +pata_amd +pata_atp867x +pata_cs5520 +pata_efar +pata_it8213 +pata_it821x +pata_jmicron +pata_marvell +pata_mpiix +pata_netcell +pata_ninja32 +pata_of_platform +pata_oldpiix +pata_pcmcia +pata_pdc2027x +pata_platform +pata_rdc +pata_rz1000 +pata_sch +pata_serverworks +pata_sil680 +pata_sis +pata_sl82c105 +pata_triflex +pata_via +pc87360 +pc87427 +pca953x +pcbc +pcd +pcf50633-adc +pcf50633-charger +pcf50633-core +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf857x +pcf8591 +pci +pci200syn +pcilynx +pcips2 +pcmcia +pcmcia_core +pcnet32 +pcnet_cs +pcspkr +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pdc_adma +pegasus +penmount +pf +pg +phantom +phonedev +phonet +phram +physmap +physmap_of +pktcdvd +pktgen +pl2303 +platform_lcd +plat_nand +plat-ram +plip +plusb +pluto2 +pm2fb +pm3fb +pmac_zilog +pmc551 +pmcraid +pmu_battery +pn_pep +powermate +ppa +ppdev +ppp_async +ppp_deflate +ppp_generic +ppp_mppe +pppoatm +pppoe +pppol2tp +pppox +ppp_synctty +pps_core +prism54 +psmouse +pss +pt +pvrusb2 +pwc +qcserial +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlge +qlogic_cs +qlogicfas408 +qnx4 +qsemi +qt1010 +quickcam_messenger +quota_tree +quota_v1 +quota_v2 +r128 +r8169 +r8a66597-hcd +rack-meter +radeon +radio-gemtek-pci +radio-i2c-si470x +radio-maestro +radio-maxiradio +radio-mr800 +radio-si4713 +radio-tea5764 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +raid_class +ramzswap +raw +raw1394 +ray_cs +rdma_cm +rdma_ucm +redboot +reed_solomon +reiserfs +rfc1051 +rfc1201 +rfcomm +rfd_ftl +rfkill +ricoh_mmc +rio500 +riscom8 +rivafb +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rocket +romfs +rose +rotary_encoder +rpcsec_gss_krb5 +rpcsec_gss_spkm3 +rrunner +rsrc_nonstatic +rt2400pci +rt2500pci +rt2500usb +rt2800usb +rt2x00lib +rt2x00pci +rt2x00usb +rt61pci +rt73usb +rtc-ab3100 +rtc-bq4802 +rtc-cmos +rtc_cmos_setup +rtc-ds1286 +rtc-ds1305 +rtc-ds1307 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-ds3234 +rtc-fm3130 +rtc-generic +rtc-isl1208 +rtc-m41t80 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-pcf2123 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-r9701 +rtc-rs5c348 +rtc-rs5c372 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-twl4030 +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtl8150 +rtl8187 +rxkad +s1d13xxxfb +s2255drv +s2io +s3fb +s5h1409 +s5h1411 +s5h1420 +saa5246a +saa5249 +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +saa7191 +safe_serial +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 +sb +sb_lib +sbp2 +sc92031 +sch_atm +sch_cbq +sch_drr +sch_dsmark +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_multiq +sch_netem +sch_prio +sch_red +sch_sfq +sch_tbf +sch_teql +sco +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 +sdhci +sdhci-of +sdhci-pci +sdhci-pltfm +sdio_uart +sd_mod +sdricoh_cs +se401 +seed +serial_core +serial_cs +serio_raw +sermouse +serpent +serport +sfc +sg +sha1_generic +sha256_generic +sha512_generic +sht15 +si21xx +si4713-i2c +sidewinder +siemens_mpi +sierra +sir-dev +sis +sis190 +sis5595 +sis900 +sisfb +sisusbvga +sit +sja1000 +sja1000_of_platform +sja1000_platform +skfp +skge +sky2 +sl811_cs +sl811-hcd +slhc +slip +slram +sm501 +sm501fb +smbfs +smc91c92_cs +smsc +smsc47b397 +smsc47m1 +smsc47m192 +smsc9420 +smsc95xx +smsc-ircc2 +smsdvb +smsmdtv +smssdio +smsusb +sn9c102 +snd +snd-ac97-codec +snd-ad1889 +snd-ak4114 +snd-ak4117 +snd-ak4xxx-adda +snd-ali5451 +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-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-atihdmi +snd-hda-codec-ca0110 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-idt +snd-hda-codec-intelhdmi +snd-hda-codec-nvhdmi +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-korg1212 +snd-layla20 +snd-layla24 +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-page-alloc +snd-pcm +snd-pcm-oss +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-oss +snd-seq-virmidi +snd-serial-u16550 +snd-soc-ad1836 +snd-soc-ad1938 +snd-soc-ad73311 +snd-soc-ak4104 +snd-soc-ak4535 +snd-soc-ak4642 +snd-soc-core +snd-soc-cs4270 +snd-soc-l3 +snd-soc-max9877 +snd-soc-pcm3008 +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-tlv320aic23 +snd-soc-tlv320aic26 +snd-soc-tlv320aic3x +snd-soc-twl4030 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wm8350 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8776 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8993 +snd-soc-wm9081 +snd-soc-wm-hubs +snd-sonicvibes +snd-tea575x-tuner +snd-timer +snd-trident +snd-usb-audio +snd-usb-caiaq +snd-usb-lib +snd-usb-usx2y +snd-util-mem +snd-via82xx +snd-via82xx-modem +snd-virmidi +snd-vx222 +snd-vx-lib +snd-vxpocket +snd-ymfpci +soc_camera +soc_camera_platform +softdog +solos-pci +sound +soundcore +sound_firmware +sp8870 +sp887x +spaceball +spaceorb +spcp8x5 +specialix +spectrum_cs +speedtch +spi_bitbang +spi_butterfly +spidev +spi_gpio +spi_lm70llp +squashfs +sr_mod +ssb +sscape +ssfdc +sst25l +st +stallion +starfire +stb6000 +ste10Xp +stex +stinger +stir4200 +stowaway +stp +stradis +strip +stv0288 +stv0297 +stv0299 +stv0900 +stv6110 +stv680 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +svcrdma +svgalib +swim3 +sx8 +sym53c500_cs +sym53c8xx +symbolserial +synaptics_i2c +synclink +synclink_cs +synclink_gt +synclinkmp +syscopyarea +sysfillrect +sysimgblt +sysv +tcm825x +tcp_bic +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 +tda10086 +tda18271 +tda7432 +tda8083 +tda826x +tda827x +tda8290 +tda9840 +tda9875 +tda9887 +tdfx +tdo24m +tea +tea5761 +tea5767 +tea6415c +tea6420 +tehuti +tekram-sir +tg3 +tgr192 +therm_adt746x +therm_windtunnel +thmc50 +ths7303 +tifm_7xx1 +tifm_core +tifm_sd +timeriomem-rng +tipc +ti_usb_3410_5052 +tlan +tle62x0 +tlv320aic23b +tmdc +tmiofb +tmp401 +tmp421 +tms380tr +tmscsim +tmspci +toim3232-sir +touchit213 +touchright +touchwin +tpm +tpm_atmel +tpm_nsc +tps65010 +tps65023-regulator +tps6507x-regulator +trancevibrator +tridentfb +trix +ts_bm +tsc2007 +ts_fsm +ts_kmp +tsl2550 +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +turbografx +tvaudio +tveeprom +tvp514x +tvp5150 +tw9910 +twidjoy +twl4030-gpio +twl4030_keypad +twl4030-pwrbutton +twl4030-usb +twl4030_wdt +twofish +twofish_common +typhoon +u132-hcd +uart401 +uart6850 +uartlite +ubi +ubifs +ucb1400_core +ucb1400_ts +udf +ueagle-atm +ufs +uinput +uio +uio_aec +uio_cif +uio_pci_generic +uio_pdrv +uio_pdrv_genirq +uio_sercos3 +uio_smx +uli526x +ultracam +umc +umem +ums-alauda +ums-cypress +ums-datafab +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-sddr09 +ums-sddr55 +ums-usbat +uninorth-agp +upd64031a +upd64083 +uPD98402 +usb8xxx +usbatm +usb_debug +usbhid +usblcd +usbled +usblp +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +usbtouchscreen +usbvideo +usbvision +userspace-consumer +uss720 +uvcvideo +uvesafb +uwb +v4l1-compat +v4l2-common +v4l2-int-device +vcan +ves1820 +ves1x93 +veth +vfat +vgastate +vgg2432a4 +via +via686a +viafb +via-ircc +via-rhine +via-sdmmc +via-velocity +vicam +video1394 +videobuf-core +videobuf-dma-sg +videobuf-dvb +videobuf-vmalloc +videocodec +videodev +virtio +virtio_balloon +virtio_blk +virtio_console +virtio_net +virtio_pci +virtio_ring +virtio-rng +virtual +visor +vitesse +vivi +vlsi_ir +vmac +v_midi +vp27smpx +vpx3220 +vstusb +vsxxxaa +vt1211 +vt8231 +vt8623fb +vxge +w1_bq27000 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1-gpio +w1_smem +w1_therm +w83627ehf +w83627hf +w83781d +w83791d +w83792d +w83793 +w83977af_ir +w83l785ts +w9966 +w9968cf +wacom_w8001 +walkera0701 +wanrouter +wanxl +warrior +wavelan_cs +wbsd +wdrtas +wdt_pci +whci +whci-hcd +whc-rc +whiteheat +wimax +winbond-840 +windfarm_core +wire +wl1251 +wl1251_sdio +wl1251_spi +wl1271 +wl3501_cs +wlp +wm831x +wm831x_bl +wm831x-dcdc +wm831x-gpio +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x_power +wm831x_wdt +wm8350 +wm8350-hwmon +wm8350-i2c +wm8350_power +wm8350-regulator +wm8350_wdt +wm8400-core +wm8400-regulator +wm8739 +wm8775 +wm97xx-ts +wp512 +wpan-class +wusb-cbaf +wusbcore +wusb-wa +x25 +x25_asy +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_ipcomp +xfrm_user +xfs +xhci +xilinx_emaclite +xilinx_ps2 +xirc2ps_cs +xircom_cb +xor +xpad +xprtrdma +x_tables +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNMARK +xt_CONNSECMARK +xt_conntrack +xt_dccp +xt_dscp +xt_DSCP +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xtkbd +xt_LED +xt_length +xt_limit +xt_mac +xt_mark +xt_MARK +xt_multiport +xt_NFLOG +xt_NFQUEUE +xt_NOTRACK +xt_osf +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_realm +xt_recent +xts +xt_sctp +xt_SECMARK +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_tcpudp +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xusbatm +xvmalloc +yam +yealink +yellowfin +yenta_socket +zatm +zc0301 +zd1201 +zd1211rw +zhenhua +zl10036 +zl10039 +zl10353 +zlib +zlib_deflate +zr36016 +zr36050 +zr36060 +zr36067 +zr364xx --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/powerpc/powerpc64-smp +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/powerpc/powerpc64-smp @@ -0,0 +1,9740 @@ +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 0xfd1599e0 suni_init +EXPORT_SYMBOL drivers/block/loop 0xbc4a2e19 loop_register_transfer +EXPORT_SYMBOL drivers/block/loop 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL drivers/block/paride/paride 0x1d80e042 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x22d65af5 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x243c00ec pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x3d9dd5c4 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0x54c76ac1 paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x8902c34f pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x8a0485c8 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0xa675e744 pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0xa85eec7c pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xae6d6136 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0xb3e90c5b pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xb8edc90f pi_init +EXPORT_SYMBOL drivers/char/agp/agpgart 0x17943df5 agp_create_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x17eb5749 agp_generic_destroy_pages +EXPORT_SYMBOL drivers/char/agp/agpgart 0x26f54527 agp_backend_release +EXPORT_SYMBOL drivers/char/agp/agpgart 0x2c02098a agp_flush_chipset +EXPORT_SYMBOL drivers/char/agp/agpgart 0x30226ddf agp_device_command +EXPORT_SYMBOL drivers/char/agp/agpgart 0x3443621a agp_alloc_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0x46640e1d agp_unbind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL drivers/char/agp/agpgart 0x4ba98ab8 agp_enable +EXPORT_SYMBOL drivers/char/agp/agpgart 0x52daa7c0 agp_put_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0x5347117c agp_generic_destroy_page +EXPORT_SYMBOL drivers/char/agp/agpgart 0x60210f18 get_agp_version +EXPORT_SYMBOL drivers/char/agp/agpgart 0x60463068 agp_generic_create_gatt_table +EXPORT_SYMBOL drivers/char/agp/agpgart 0x6137a192 agp3_generic_tlbflush +EXPORT_SYMBOL drivers/char/agp/agpgart 0x673f815e agp_bridges +EXPORT_SYMBOL drivers/char/agp/agpgart 0x7355872a agp_free_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x7538b132 agp_off +EXPORT_SYMBOL drivers/char/agp/agpgart 0x7eab027a agp_generic_free_by_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0x7f621c03 agp_generic_free_gatt_table +EXPORT_SYMBOL drivers/char/agp/agpgart 0x92cbfe3e agp_allocate_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0x9f79310d agp_generic_type_to_mask_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL drivers/char/agp/agpgart 0xa5dc185d agp_find_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0xa9b4d7b7 agp_bind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb04ea8f0 agp_rebind_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb1686a5b agp_backend_acquire +EXPORT_SYMBOL drivers/char/agp/agpgart 0xb3c1ed1f agp_generic_alloc_pages +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc22e0c9f agp_collect_device_status +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc8336c57 agp_free_page_array +EXPORT_SYMBOL drivers/char/agp/agpgart 0xc8cda261 agp_generic_alloc_by_type +EXPORT_SYMBOL drivers/char/agp/agpgart 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL drivers/char/agp/agpgart 0xd71be3ac agp_generic_alloc_user +EXPORT_SYMBOL drivers/char/agp/agpgart 0xd9c7e97a agp_copy_info +EXPORT_SYMBOL drivers/char/agp/agpgart 0xdc8a46b5 agp_bridge +EXPORT_SYMBOL drivers/char/agp/agpgart 0xddcd4f39 agp_generic_enable +EXPORT_SYMBOL drivers/char/agp/agpgart 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL drivers/char/agp/agpgart 0xe1dfc78d agp_generic_insert_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xe3fe57c4 agp_generic_alloc_page +EXPORT_SYMBOL drivers/char/agp/agpgart 0xec563c5e agp_alloc_page_array +EXPORT_SYMBOL drivers/char/agp/agpgart 0xf2d3ab29 agp_generic_mask_memory +EXPORT_SYMBOL drivers/char/agp/agpgart 0xf73f5416 agp_generic_remove_memory +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x0bdd215f ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x14561d24 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1787b19d ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x22a53c87 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2ad64671 ipmi_register_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2f69dbe7 ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x3acaefa4 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x44ca8faa ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4d87420b ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5ed8eaad ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x6ba408d1 ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x86727e35 ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x8bc922f3 ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x8ccdd9b5 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x8d6b377d ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x92e06572 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x970d133d ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa5e22634 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xbf131a48 ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xc6766bf4 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xc700947f ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xcbe34dfb ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe899ab03 ipmi_create_user +EXPORT_SYMBOL drivers/edac/edac_core 0x3d8bab15 edac_mc_find +EXPORT_SYMBOL drivers/edac/edac_core 0xa673d4f9 edac_mc_handle_fbd_ue +EXPORT_SYMBOL drivers/edac/edac_core 0xcaf507bd edac_mc_handle_fbd_ce +EXPORT_SYMBOL drivers/gpu/drm/drm 0x012b874d drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03038fe7 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03d54599 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04533910 drm_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05e8f1b6 drm_sg_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x063a1bfe drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x06d602e4 drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07caaa5f drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0826ee67 drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0836695c drm_sman_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08f8e76e drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09b381b9 drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c47724d drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e5c2dae drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e63825d drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f2b6398 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12068d9c drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x163a7e32 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1864cab8 drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a6e25c1 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1b1cb0fd drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c8dfdbc drm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1dbe07a2 drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1dea5c15 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f072c59 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x201f12fa drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21451ac4 drm_sman_owner_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2745704c drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x286daa16 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0x290571f0 drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2916bf63 drm_sman_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29bd5f80 drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d08af2e drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2eb2f903 drm_sman_free_key +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f494614 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30f61e09 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3241dbb2 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38d89ac0 drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c16f2eb drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c9a1409 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d0f7bb9 drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ede50cd drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f15bbcf drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x414cfb7a drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x445b77af drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44f46c6a drm_get_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x477704ba drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4895da16 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48ddbb67 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4acce81c drm_lock_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b29a2f7 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e6fd34a drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e9fa204 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5011c69f drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x513da37b drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x518eca6c drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51ff77b1 drm_get_resource_start +EXPORT_SYMBOL drivers/gpu/drm/drm 0x52e22ae6 drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53035d44 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55f060ee drm_sman_set_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55f7335d drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5688afc3 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x573d90c8 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x580830f0 drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x581de79b drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5fd266f0 drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63ba539e drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63f3417f drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x645206f7 drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x660f3fd7 drm_do_probe_ddc_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x675f1c66 drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6792cd67 drm_core_get_reg_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a429264 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ca4a03e drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cb56f06 drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d2e5837 drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d8f3279 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e2bd6ee drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e9ffc54 drm_get_resource_len +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fc30481 drm_mode_hsync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x757c15aa drm_lock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76c38f4e drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7833d3b7 drm_agp_bind_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x784915eb drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x788620ed drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7becf9f2 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c1fd6c8 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7caeb3ec drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8298a1b7 drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8509fca1 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85de09f5 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87d6e7ef drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b97f2f4 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f320e94 drm_get_drawable_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x90b99d97 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9a4fd3d5 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b3b171d drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b4cfc5f drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d863d1a drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fabdb8a drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fd73f9e drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0fd6104 drm_i_have_hw_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1cedcb2 drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa33c5d2f drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa3722f25 drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa3d7c413 drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6777cf7 drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa690ab38 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7200084 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab6229e0 drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xada919fe drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae6ece55 drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf29788e drm_sman_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0783bce drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb34e553b drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4daca1b drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6b90a9f drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8cef0d4 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba06bd6a drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe9acde0 drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc33dbe78 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4302b95 drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc464d681 drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4f33d00 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6be82e6 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8da7227 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8e8bd15 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca2cbfc5 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd69bfd5 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdb1b8a8 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdf2eff4 drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd08fa3f0 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3028e75 drm_sman_set_manager +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd338300a drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3ffab51 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd63d6819 drm_core_get_map_ofs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda2bbd0c drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdac20c58 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdb1a11b6 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdcdaac7b drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd3febe2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd49095c drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd65e538 drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1457735 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1c848c7 drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe24a7b88 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe3a49f47 drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe43be265 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe47fd69b drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5bdce7e drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe919dd5c drm_sman_owner_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf12777a8 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf26f0d1e drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3071705 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf412411d drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf42a2b26 drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf5a03c3b drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa75d9e9 drm_agp_chipset_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfbd0abb4 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc190dc0 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdfbad19 drm_sman_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe28f632 drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1a28d5ec drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x21cac0be drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x28758f82 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x28926c19 drm_fb_helper_init_crtc_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2f959f11 drm_helper_probe_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3aadae6c drm_helper_hotplug_stage_two +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4e76baf4 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x52dbfce3 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e071242 drm_fb_helper_add_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x72a162ac drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7482914d drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x78ce8520 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x83273cea drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8a6fa28f drm_fb_helper_setcolreg +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8caa1cc0 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8fe5e07c drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9478aeed drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9f15f0cf drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb1b1fb79 drm_fb_helper_free +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc00a2cb9 drm_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc135b0a2 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd756ab8b i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdfd1784b drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeafe6b8c drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf1fb347e drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0xd6e2dbaf radeonfb_remove +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0xd8c65b2f radeonfb_resize +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0a78285c ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0e79cdf6 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x107296ee ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x158d4d96 ttm_object_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1eb26d99 ttm_object_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x23ba8329 ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x25cf1a09 ttm_object_file_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x260f8893 ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x273633cf ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2ad2f71a ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2b7834b0 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2c70b82c ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2cca2e37 ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x365feb2e ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x44409a13 ttm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4998650a ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4a8ccfb5 ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4e0aa310 ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x51553747 ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x52c2c654 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5ca5cb47 ttm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61bdb34f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x65320f54 ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x68a3f11a ttm_base_object_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6944cfb7 ttm_base_object_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6e4fd0b1 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x72880d75 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x83738c23 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8639e509 ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x86a4066d ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9371f948 ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x96a7d319 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9ae0a443 ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa3ab2f80 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xab29038c ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xac0e50d1 ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xac4517b2 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbd0ff59e ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbdc74f35 ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc1a28692 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc4704ca8 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc4d55ddb ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc5ac4d80 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc64022a6 ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc985ee54 ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd2b2d062 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd838863c ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xda84af8c ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xddd37e48 ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdf426545 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe4a2d4fa ttm_base_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe945037e ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf52e5f52 ttm_suspend_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf6b7ea7e ttm_ref_object_add +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf77191bd ttm_mem_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf7beeccd ttm_agp_backend_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf8c73be3 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfcce372b ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfe362a63 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xff74d5d4 ttm_bo_device_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 0x0381f2f9 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xaa5c496d i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0xa5d03e45 amd756_smbus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x036d09d4 hpsb_set_hostinfo_key +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x040ddb8f hpsb_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x093deab5 hpsb_selfid_complete +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0b234c4e dma_prog_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x158ac548 dma_region_offset_to_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x170ed812 hpsb_lock +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1a200e5a csr1212_release_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1d102b8a hpsb_iso_recv_release_packets +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1d4be42e hpsb_iso_n_ready +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x200c97dc hpsb_add_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x220e5e90 hpsb_make_writepacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2a4cc36b csr1212_attach_keyval_to_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2d173a48 hpsb_remove_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2ebf6e5a dma_prog_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2fbc5a72 hpsb_resume_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3802af23 hpsb_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3861140b hpsb_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3892bd99 hpsb_send_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3bb6045d hpsb_update_config_rom +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3dcc6ce1 hpsb_bus_reset +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x435a5bd5 __hpsb_register_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x474e353b hpsb_free_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x47ad0e3e hpsb_selfid_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x47fdf982 hpsb_get_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x49a95dc4 csr1212_get_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4a9cd770 csr1212_parse_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x52ba6ae0 hpsb_iso_shutdown +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x58407eef hpsb_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x59571a14 hpsb_reset_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5b0c5614 hpsb_free_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5b16f161 hpsb_iso_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5dfaa9c7 hpsb_iso_wake +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5dfe6391 hpsb_protocol_class +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5e6b404f hpsb_alloc_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5f5fdd2f csr1212_new_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x63132047 hpsb_unregister_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x672ad148 dma_region_sync_for_device +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x68b51e47 csr1212_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6dd9c690 hpsb_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x72aa929e hpsb_create_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x74cab304 hpsb_unregister_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x75cc4cd9 hpsb_make_streampacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7619745e hpsb_unregister_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x76bc1a5c dma_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x7b519ad6 hpsb_iso_xmit_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x831d2028 hpsb_read_cycle_timer +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x879433ae dma_region_mmap +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8879f8f0 dma_region_sync_for_cpu +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8aea5176 hpsb_iso_recv_flush +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8ec2b312 dma_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x948968e9 hpsb_get_hostinfo_bykey +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa43ccc23 hpsb_iso_xmit_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xab5cf3ee hpsb_set_packet_complete_task +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xadb41e91 hpsb_make_lock64packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaef57bb5 csr1212_detach_keyval_from_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb044986d hpsb_alloc_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb35efc36 hpsb_destroy_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb53fd5bf hpsb_allocate_and_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb7bb9317 hpsb_register_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc29dc257 hpsb_update_config_rom_image +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc6f9876c hpsb_make_phypacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc92423e7 hpsb_iso_stop +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcaf31aae hpsb_iso_xmit_queue_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcb187f60 hpsb_make_readpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcd9e772b dma_prog_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd150ad09 hpsb_iso_recv_set_channel_mask +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd3c41dcd hpsb_iso_recv_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd3e8e331 hpsb_iso_recv_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd66caa05 hpsb_iso_xmit_sync +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd73d80f2 hpsb_node_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xdabfdbc7 hpsb_make_lockpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xdd1226b5 hpsb_packet_success +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe43e47f2 hpsb_iso_recv_unlisten_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe4d5b548 hpsb_get_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xea4152ff dma_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xebe25d66 hpsb_iso_recv_listen_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xee584630 hpsb_set_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf5baf38c hpsb_node_fill_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfba57f51 hpsb_speedto_str +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfcf8e3aa hpsb_iso_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x1d5aeebc ohci1394_init_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x28e023ea ohci1394_stop_context +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0xb726b031 ohci1394_unregister_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0xc6357824 ohci1394_register_iso_tasklet +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x3f18f119 rdma_copy_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x6e7a5651 rdma_addr_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x6f18319b rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x86e0abc0 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xed52be31 rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xee867448 rdma_addr_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x113eeed8 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2282cb75 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2c0a1732 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2c79f5da ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2d1f2e9f ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3816a516 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x4d34d11b ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x52f15722 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x5741d1f4 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x590870c2 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7b0e268c ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x824f3f9b ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9905be95 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb6a46f59 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc594ea07 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xefe7bf74 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xfd6d20db ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x05ec0d94 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06830b9a ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07b07efb ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0808fccb ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x086bcaef ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x094d0479 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0e9189ae ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0f7284af ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0f95e7c8 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x13f61e41 ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1596a659 ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1f002236 ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22276581 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x255afc22 ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x26974ddc ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2da51ae7 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2fdb9db4 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3d59ba7e ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f7567fd ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fa3781b ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x41d082b9 ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x57157cf7 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5a858e18 ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5cce8ee8 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5ea3fbd3 ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6744b467 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77df4826 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7aa077cb ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7be3fbe2 ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7cf8485b ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7d7c569b ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7f1bd2be ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x803aff9e ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x810b63e3 ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8568ffea ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8640eaeb ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86ce884a ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87b614d8 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x89453aea ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8b3bc259 ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x917c6c84 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x991a3750 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9b796201 ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d804fa1 mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9feeebef ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa305bd06 ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaeda9e2d ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb0645cf8 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb80411c4 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb8324f8b ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xba74cbd2 ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbefd6b2e ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbf73112c ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc072bf49 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc5056a9a ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc53819ff ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc8a446ac ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xca63a9b7 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xca99148d ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcd915881 ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd17ba9d1 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd3895eca ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd751b927 ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdde12a0d ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xde95c388 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe20a90cc ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe4a7a498 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe59f7372 ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeb448130 ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf1d1bbd4 ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf36498b9 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf799a1a1 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf96fc9de ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xff89aa3b ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x145e18cd ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x1ff13d73 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x2dc76d46 ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x32191b5a ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x58150fa8 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6acc9c62 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6ef787ed ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6f077fcf ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x72ad5a8c ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x7b5d4b7a ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x99299491 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xa80e2ac4 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xaa4f4d69 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xd41f235e ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xef9d3d48 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x035303e4 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x38765d6c ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x576fdbac ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x59d6e5a5 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x6043324f ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x94bf195d ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xac92942a ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xc2500269 ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xdb92ca47 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xf6a5def7 ib_sa_register_client +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 0x3b3756ea iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x5b3bf853 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x72c03ea5 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x8f41d9b4 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xba7fed6e iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xd4ddbebe iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf05cb9ff iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf191fe01 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0e700428 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x18d72f2b rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x296df963 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4777132b rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4d6fd6ca rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x70473f5a rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8301bedf rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x92127a95 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x976eac49 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x99e00a4f rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x99eaa648 rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9e812687 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xaf2721eb rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbea05bbe rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbf82a82c rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcd346dc3 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd142b4c4 rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd6766bad rdma_set_service_type +EXPORT_SYMBOL drivers/input/gameport/gameport 0x3db67472 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x474a624e gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x5295503a gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7ac3d489 gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x8f4f7972 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x9480b77c __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x9959efcc gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xa593fb74 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0xb7eae2b9 __gameport_register_port +EXPORT_SYMBOL drivers/input/input-polldev 0x13ea93b3 input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x7d650e55 input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xd87dd060 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xe96c8e23 input_unregister_polled_device +EXPORT_SYMBOL drivers/md/dm-log 0x0af591db dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x7fb0709a dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0xb97c5adb dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0xdcf7568c dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x203c4799 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0xa0edd583 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0xe72cc93a dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0xf5c0b90b dm_exception_store_create +EXPORT_SYMBOL drivers/md/md-mod 0x004238e1 md_check_recovery +EXPORT_SYMBOL drivers/md/md-mod 0x01daddf9 register_md_personality +EXPORT_SYMBOL drivers/md/md-mod 0x01ecca5e md_write_end +EXPORT_SYMBOL drivers/md/md-mod 0x074d4b79 md_register_thread +EXPORT_SYMBOL drivers/md/md-mod 0x34b27325 md_integrity_add_rdev +EXPORT_SYMBOL drivers/md/md-mod 0x3f818f27 bitmap_cond_end_sync +EXPORT_SYMBOL drivers/md/md-mod 0x4b911445 bitmap_close_sync +EXPORT_SYMBOL drivers/md/md-mod 0x5e5ceb26 md_integrity_register +EXPORT_SYMBOL drivers/md/md-mod 0x79ab75c8 md_unregister_thread +EXPORT_SYMBOL drivers/md/md-mod 0x9997ad04 bitmap_endwrite +EXPORT_SYMBOL drivers/md/md-mod 0xb44aa42f md_wakeup_thread +EXPORT_SYMBOL drivers/md/md-mod 0xb66db67a bitmap_start_sync +EXPORT_SYMBOL drivers/md/md-mod 0xc5647220 mddev_congested +EXPORT_SYMBOL drivers/md/md-mod 0xd11abefd md_write_start +EXPORT_SYMBOL drivers/md/md-mod 0xd1d3ef19 md_set_array_sectors +EXPORT_SYMBOL drivers/md/md-mod 0xddbaddd7 bitmap_unplug +EXPORT_SYMBOL drivers/md/md-mod 0xe3bd6ed4 bitmap_startwrite +EXPORT_SYMBOL drivers/md/md-mod 0xe7e314b8 md_wait_for_blocked_rdev +EXPORT_SYMBOL drivers/md/md-mod 0xec577410 md_check_no_bitmap +EXPORT_SYMBOL drivers/md/md-mod 0xf54c92c3 md_done_sync +EXPORT_SYMBOL drivers/md/md-mod 0xf81019dd bitmap_end_sync +EXPORT_SYMBOL drivers/md/md-mod 0xfba13263 md_error +EXPORT_SYMBOL drivers/md/md-mod 0xffeaa812 unregister_md_personality +EXPORT_SYMBOL drivers/md/raid6_pq 0x0bd662f6 raid6_gfmul +EXPORT_SYMBOL drivers/md/raid6_pq 0x15fe0cd3 raid6_gfexp +EXPORT_SYMBOL drivers/md/raid6_pq 0x5ba93f9d raid6_gfinv +EXPORT_SYMBOL drivers/md/raid6_pq 0x7456cc61 raid6_empty_zero_page +EXPORT_SYMBOL drivers/md/raid6_pq 0xce45a6f1 raid6_gfexi +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0x2e4725db mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0x21c766f7 mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0x3a4f0b17 mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x23f26555 mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0xf582388b mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0x6ad38fbc qt1010_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 0xe2ce6919 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0x86b8e510 xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x109e2874 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x10b57fc3 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x25d5a3bd flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x2b455c49 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x2c18044c flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x54ad34af flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x5ac18b48 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x7fa7326a flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x8f66fee5 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x9497ab27 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x98924240 flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa8f16f3f flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xbf6c684e flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc06cb6ac flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc34bf396 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc803d369 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc829b75b flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xdb970ba4 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe0699207 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf51d0cd5 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x2923456b bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x3050d468 bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x6474146c bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xfe5debcf bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x0c34bb00 rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x0fe7eaf0 read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x3d9cb044 dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x414ce4a3 dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x5e2006cd dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x62c2141f dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xb3b547d2 dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xf1f4b38e dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xfbc75390 write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0x61cc24e7 dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x01c746c2 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c3c3b82 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c4d4a14 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0cf22966 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x14dfa7e4 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x155a1df0 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1cee4c5e dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x22cbb1c1 dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x25ee78ee dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x284423f4 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3434efc2 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4011d18e dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x48235682 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4c0606cc dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5048b611 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5ab27315 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5b29cb97 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6d54f72e dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x722c1c38 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 0x80e3832d dvb_filter_get_ac3info +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x829c2085 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x8f8634e8 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9174e73a dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x96a6ac64 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa2d6f3ac dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa7d53547 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb2f46147 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb956c556 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xbc0d91e1 timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc2c146e0 dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd25bcb43 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xdb6303bb dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe1032626 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe49ffafd dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe7065728 dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe90e97fe 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 0x3e69fc48 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x432289a3 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x547709c5 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x695ccf2d dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xbf818dcb dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xc8025d64 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xe4b464ee usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x3693500b af9005_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xc4a55b8e af9005_rc_decode +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0xd3383957 af9005_rc_keys_size +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x253de4b2 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x28b36fc2 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x3d5d37e6 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x5551bb8c dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x5742aadd dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x66574c56 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x969ce05c dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xc2b59d10 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xc701f294 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xcc9ccaff dibusb_rc_keys +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xd0401fd0 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xf3d81c5f dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x1c982a28 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522 0x6ec55563 au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0xc3e16413 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0xf3e3cd1b cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0xa03dfdc9 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0x01521fd4 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x2f0102b0 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0xc127a1b7 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x6021ddb6 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xa7f536eb cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xf27c60f7 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x25092d69 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x2e38a13c dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xf4f4385a dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x0a32ab72 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x1df961ac dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x5181bff4 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x81f80598 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x84f63f5f dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xbf4ec575 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xcdbd06df dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x39c8dd8f dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x3c37da12 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x0ff79558 dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x2248af67 dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x2adb13f6 dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x6614848a dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x70606fd4 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x87d903d3 dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x3280d537 dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x6279b4c0 dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x92c65ae0 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xacfd9612 dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xf606cac7 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x3dfd7f59 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x6cfa45c1 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xcc738401 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xfd394c3b dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0xc7564370 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x1874a560 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0x916d0903 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0xba3ec26f itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0x841b586e l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0xe8044e86 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x4384a559 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0x0e788d01 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x9041c73b lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xd0feafde lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0x25fc091f mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0xe5f9fd0a mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0x5253a593 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0x2b24d454 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0x421a0ed2 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0x564878fb or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0xca19675a s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0x3b9bb78a s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x21e5994a s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0xde633d91 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0xaee15062 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0x97e9513c sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x03d5728e sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0x66dc3b49 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0xc1a19a76 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0x6a0d1964 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0xc64226c5 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x2240a2c0 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0x133e8377 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0xd673dba8 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0x0254016a tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0x5e0abbca tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x91f0efc6 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0xf0941bcc tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x01e00378 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0xdc25c42e tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0x8567d4d6 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0x00636fed ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0x7ac7aa74 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0x6306d66d zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0x645e28d8 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0x5981edb5 zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0x18a01fd2 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x8ab36345 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0xa174628f ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x17ce9ba9 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xc70f1c73 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xdae37eb6 bttv_sub_register +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x1ebf0280 btcx_riscmem_free +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x495e4b0c btcx_calc_skips +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x99385c91 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/cpia 0x8525aff2 cpia_register_camera +EXPORT_SYMBOL drivers/media/video/cpia 0xe4f7ecaf cpia_unregister_camera +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x31912fa8 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x680967b6 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x155650f3 cx2341x_ctrl_get_menu +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 0x5b88faf6 cx2341x_ext_ctrls +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 0xe2c2b5eb cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x130d1990 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0xb0af6652 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x069cb59b cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x08b6fb15 cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x762caaa5 cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xcebe9d4d cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xd93171ed cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xedd6f9f5 cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x0731ebf3 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x1602dde7 cx8802_get_device +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x452ffd83 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x5fa473b7 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x7137ace6 cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x86d643b5 cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x900d2076 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x0a926549 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x10c67a2c cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x14bc50b4 cx88_newstation +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x1a3cdc62 cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x1d5b9762 cx88_reset +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x1eeea348 cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x32c7717c cx88_shutdown +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x3473e2eb cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x5ab47c34 cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6db6ab0e cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9694e392 cx88_wakeup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x97ae3c4b cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9b140fff cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xa88a8d1d cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xabdb4990 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xad0a1e62 cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb47f6cda cx88_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xba36dab0 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xd18a1452 cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xd194b84d cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xd9b78d9f cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xdc78bd7c cx88_core_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xe6431927 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xff168563 cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x4a219371 em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x964ac77c em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x4b62ea00 gspca_get_i_frame +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x4ea800c1 gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x534f1413 gspca_auto_gain_n_exposure +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x752d2418 gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xb2122598 gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xe374492c gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xe9e2e466 gspca_suspend +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x17857a36 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x23d1d0af ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x2af005b1 ivtv_vapi +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x2c4470e1 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x4858aa14 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x9e9c241f ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xcef63b53 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xd40e85fb ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xdbb35e26 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xfd650a04 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xfe2703f8 ivtv_clear_irq_mask +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 0x174efe00 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x24483b51 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x37200cf7 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x476b0ab5 saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x479c0db9 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x6bc6521a saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x9e581ce7 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xbc06d0cb saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xbf74a853 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xc1613c82 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xccfa7d1e saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xd47446bc saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/soc_camera 0x31d5d7e1 soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0x5435eb1b soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0x72f49541 soc_camera_apply_sensor_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0xdb4ff49f soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0xe2fb8987 soc_camera_format_by_fourcc +EXPORT_SYMBOL drivers/media/video/tveeprom 0x19971eb3 tveeprom_read +EXPORT_SYMBOL drivers/media/video/tveeprom 0xc70bd1b6 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x193e70a4 usbvideo_DeinterlaceFrame +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x5293ede2 RingQueue_Enqueue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x54742c67 usbvideo_AllocateDevice +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x54ded406 RingQueue_Dequeue +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x81a7b4a8 usbvideo_Deregister +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x8a80f6e5 usbvideo_RegisterVideoDevice +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x965ebe89 usbvideo_register +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0x9778abda RingQueue_Flush +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xbbf27766 usbvideo_TestPattern +EXPORT_SYMBOL drivers/media/video/usbvideo/usbvideo 0xdf605c59 RingQueue_WakeUpInterruptible +EXPORT_SYMBOL drivers/media/video/v4l1-compat 0xf76ae3f3 v4l_compat_translate_ioctl +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x03165a85 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x171d08d4 v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1dcaa0c8 v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1e326b97 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1ffcac5c v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x2f639468 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x42c8e001 v4l2_ctrl_next +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4ed5e0d7 v4l2_chip_match_host +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x50766d69 v4l2_ctrl_query_menu_valid_items +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x76ba9a9a v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x95284709 v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9c7de443 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9eb43ee2 v4l2_ctrl_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xbecd2858 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xd9ee1e3f v4l2_ctrl_query_menu +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x1f8b7d1c videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x65a835bc videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xb81c9c97 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xd6694008 videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xee30413a videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xfdb55694 videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x1beb2995 video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0x29e33f56 video_register_device_no_warn +EXPORT_SYMBOL drivers/media/video/videodev 0x2bef9664 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x8269654f video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0x88c8d440 video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0x9e63572d video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0xae53dabe video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xe8fd5f55 video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/videodev 0xfa3222a9 video_device_release_empty +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x16ea12d9 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3088e71d mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x310656f4 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x34763890 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x39fd6f56 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3e0e2ae8 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x48ae94ec mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4fae4827 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x549dbf04 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5a39547b mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6519ed62 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x65c5fb28 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x753fbb16 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x764ae705 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9b19ec1e mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9bdcf241 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa1c13d40 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xad3428c2 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xbf330f9a mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc0e69f82 mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc2f1b933 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc47c22e8 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd7714ab7 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd9a92a75 mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xda40a4b3 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe6769ff1 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe79d9fe6 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xee09248b mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xeeb73695 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf0879861 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xff46c254 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0b324707 mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x276dac92 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x32d6c1be mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3f728f51 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4924aef9 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4ade8867 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x596e5502 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5bcb07b1 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5f584123 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x60c8a26a mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6918e6d4 mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6bc091d6 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7090a4c2 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x77696409 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x88b000ce mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8b412729 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa0ed77e0 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa0f45415 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xace786de mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc3dde90e mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc5eeff9b mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc7b165da mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xca29266a mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd14bdfc5 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xed764abe mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf60357db mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x046df1b4 i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x050e2bda i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0fa197a4 i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x14945ad9 i2o_cntxt_list_remove +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x39caa426 i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x3d3863e3 i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x3e6af915 i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x3f16b308 i2o_cntxt_list_get_ptr +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x48fd805b i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x5b76c19c i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x5b9b2d27 i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x695a3ff2 i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x78d26d13 i2o_cntxt_list_add +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x7e9b0f59 i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x8ca6f157 i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x8d6c8f34 i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x8d969e7f i2o_cntxt_list_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xab6a2c5f i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc744af89 i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xca26cb6a i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd68eb01d i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xfca42f94 i2o_iop_find_device +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x3938ab79 ab3100_event_registers_startup_state_get +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x3c33d9af ab3100_get_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x456f0742 ab3100_event_unregister +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x89d93380 ab3100_get_chip_type +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xa91570f2 ab3100_event_register +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xc473e9f2 ab3100_get_register_page_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xe4feca1f ab3100_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xfafa248e ab3100_mask_and_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x1f0f3bae pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xd5576a08 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mfd-core 0x46658bbd mfd_add_devices +EXPORT_SYMBOL drivers/mfd/mfd-core 0x74939838 mfd_remove_devices +EXPORT_SYMBOL drivers/misc/c2port/core 0x73aa0600 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0x883c7364 c2port_device_register +EXPORT_SYMBOL drivers/misc/ioc4 0x339ed175 ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0x4bf66385 ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x24ba2983 tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x41dc0ab2 tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x6d0a24f8 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x731ef5b3 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x8b881a8f tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x8d4a5d89 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x9ae8692b tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x9d7b3f39 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xad4cb050 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xb141f5fa tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xcd153284 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0xd1453b52 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xfae208a3 tifm_free_device +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0x011082c5 mmc_cleanup_queue +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x1da8efb9 mmc_set_data_timeout +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x1dec7e17 mmc_wait_for_req +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x2fa82802 mmc_remove_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x3e6e6051 mmc_unregister_driver +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x470b7cdd mmc_detect_change +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x4746da35 mmc_resume_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x5139bb0e mmc_request_done +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x56df5a59 mmc_regulator_set_ocr +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x599027dd mmc_power_restore_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x63a5bb75 mmc_try_claim_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x648f69c0 mmc_host_disable +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x66ae732e mmc_power_save_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x6ba91191 mmc_wait_for_app_cmd +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x7a28fd6a mmc_align_data_size +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x8b254cf7 mmc_free_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x8cc9a32f mmc_wait_for_cmd +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x9e6ffb70 mmc_card_can_sleep +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xa20f0621 mmc_card_awake +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xa722dd70 mmc_host_enable +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xac375f58 mmc_register_driver +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xb137d486 mmc_release_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xbf76aa79 mmc_host_lazy_disable +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xc497c6a9 __mmc_claim_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xd6e5728d mmc_card_sleep +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xde4f7aa9 mmc_suspend_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xdf6ac2f4 mmc_add_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xe7123d65 mmc_alloc_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x158edb8b mmc_spi_get_pdata +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x81abf9e1 mmc_spi_put_pdata +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x165662e7 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x8f9b9831 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xadf0b302 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x3a7ad0cf map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x74d94a1e do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x8142c570 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xb09e8548 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0xa3f8ef93 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x6793b11f lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x3638e4f4 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x530f2d47 del_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtd 0xe6cc28cf add_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtdconcat 0x4ae187b1 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtdconcat 0xbcbd3ae7 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/nand 0x581681dd nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0xa992cc7c nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x0d2a768b nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x8574a022 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xb4b94377 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0x836bdb72 nand_flash_ids +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0xa336feb7 nand_manuf_ids +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x2d67ba49 onenand_default_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x6fa058f4 onenand_scan_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x7a0b6ad8 flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x95b40f0f onenand_addr +EXPORT_SYMBOL drivers/net/8390 0x000fd9b7 ei_open +EXPORT_SYMBOL drivers/net/8390 0x131b0439 ei_start_xmit +EXPORT_SYMBOL drivers/net/8390 0x14cf9bbd __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/8390 0x1ac5e43d ei_tx_timeout +EXPORT_SYMBOL drivers/net/8390 0x2fd8d884 ei_poll +EXPORT_SYMBOL drivers/net/8390 0x4396309d NS8390_init +EXPORT_SYMBOL drivers/net/8390 0x48a1a11f ei_set_multicast_list +EXPORT_SYMBOL drivers/net/8390 0x51d9be61 ei_netdev_ops +EXPORT_SYMBOL drivers/net/8390 0x70e31472 ei_close +EXPORT_SYMBOL drivers/net/8390 0xdd365790 ei_interrupt +EXPORT_SYMBOL drivers/net/8390 0xe909cd15 ei_get_stats +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x0215ad25 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x23f86078 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x47e6a0fc alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x4a252cbf arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x5dcefb31 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x68e8bea6 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6a02e952 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x858cee74 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb7ba1a45 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xcdeeeaec arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xef0d5a9a arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x3fa42b00 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x4b9a1e8f com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xa3457f33 com20020_found +EXPORT_SYMBOL drivers/net/bnx2 0xf9fc5549 bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/cnic 0xc46a369c cnic_register_driver +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x1adbd4d2 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x214175b2 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x36d8e516 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x3def5eb4 t3_l2t_get +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x62da2e34 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x67a9ebbe cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x7a05ff8d t3_l2e_free +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x823c338b cxgb3_register_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x86f9978e t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x9224cf4f cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x9d37a879 dev2t3cdev +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x9d7e672f t3_l2t_send_event +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xaed5f017 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xc5aa1a82 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xe87c2fd8 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xfba56a63 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x24b3c1cd hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x811f09b5 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x9443b98a hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xac9a7bc9 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xb285cef9 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x10d78e63 sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x1f432cd3 irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x2fd6c463 sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x351d4ba1 sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x43c5289b irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x6ba8331e sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x7e2ae604 sirdev_write_complete +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xc7c6d31e sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xd8e2b709 sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xdd2cf4f4 sirdev_set_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/mii 0x09f1c5ec mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0x43d46dc5 mii_check_link +EXPORT_SYMBOL drivers/net/mii 0x7a5c4c80 generic_mii_ioctl +EXPORT_SYMBOL drivers/net/mii 0x86c0330c mii_ethtool_gset +EXPORT_SYMBOL drivers/net/mii 0xa065c328 mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0xb2e06f5f mii_check_media +EXPORT_SYMBOL drivers/net/mii 0xc10f8173 mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0xc8069895 mii_check_gmii_support +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x5ded8855 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x9fb46c4c alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp_generic 0x077936c0 ppp_unregister_compressor +EXPORT_SYMBOL drivers/net/ppp_generic 0x0b55de78 ppp_input_error +EXPORT_SYMBOL drivers/net/ppp_generic 0x110615a7 ppp_output_wakeup +EXPORT_SYMBOL drivers/net/ppp_generic 0x1f24d29c ppp_register_net_channel +EXPORT_SYMBOL drivers/net/ppp_generic 0x31051396 ppp_input +EXPORT_SYMBOL drivers/net/ppp_generic 0x60e270a1 ppp_channel_index +EXPORT_SYMBOL drivers/net/ppp_generic 0x72859308 ppp_register_compressor +EXPORT_SYMBOL drivers/net/ppp_generic 0x877f1b4c ppp_unit_number +EXPORT_SYMBOL drivers/net/ppp_generic 0xaa20a7b8 ppp_register_channel +EXPORT_SYMBOL drivers/net/ppp_generic 0xd9543271 ppp_unregister_channel +EXPORT_SYMBOL drivers/net/pppox 0x6eb27159 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/pppox 0x7ac66560 register_pppox_proto +EXPORT_SYMBOL drivers/net/pppox 0x8a7c0a7b pppox_ioctl +EXPORT_SYMBOL drivers/net/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/slhc 0x2278e94b slhc_remember +EXPORT_SYMBOL drivers/net/slhc 0x26b760c4 slhc_init +EXPORT_SYMBOL drivers/net/slhc 0x3fe0d1c0 slhc_free +EXPORT_SYMBOL drivers/net/slhc 0x62538167 slhc_toss +EXPORT_SYMBOL drivers/net/slhc 0x7e87227e slhc_compress +EXPORT_SYMBOL drivers/net/slhc 0xa78d9eb7 slhc_uncompress +EXPORT_SYMBOL drivers/net/sungem_phy 0xae505a9f mii_phy_probe +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x16b59fbb tms380tr_close +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x50bfda6d tms380tr_open +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0x993d97f2 tms380tr_netdev_ops +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd069dae2 tmsdev_term +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd2328794 tms380tr_wait +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xd49af46e tms380tr_interrupt +EXPORT_SYMBOL drivers/net/tokenring/tms380tr 0xe286adb1 tmsdev_init +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 0x2433621a hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x24d3bbb8 hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0x28f55f6f hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x3c9e76bd unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x51e3e234 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7edbe90f hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x975885b3 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xbb62aa43 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xbb9bb4ec hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0xe5d18f99 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0xea6da8ed detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wireless/airo 0x344d06c8 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xc2df227b init_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xdfb85b57 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x31219afb ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x63f8f302 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbe25b39d ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xccbc8daa ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd576da46 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/atmel 0x441a069d init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xaadc0de9 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xbdb68699 atmel_open +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x078c6eb3 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x07e21118 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x20ef194c hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x27416429 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x27dd2bcc hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x34df778d hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3813b661 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x385b9158 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3af833a6 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x42ed85f9 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4b72c52a hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x5a5177c2 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x5f5c9ab8 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x73526663 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7976a147 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x853c7e31 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x8c321539 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x916ee1be hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x92ad8c3a prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb0497c3b hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb09d187a hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb2a945e0 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb38f71c3 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xd7f319cd hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe3299f81 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf228e605 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfc7dcb65 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x0b17aeae libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x0ccb0a1e free_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x22594e64 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x30eccf3e libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x38825eb6 alloc_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x3b790a02 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x45497218 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x4d56d4dd libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x5380b4e4 libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x9dd6e3e8 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xa8bcdb4b libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb24f7181 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb55bc1c0 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xbf3d1d4f libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xc7d06e44 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xdd4ad10b libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe0f909ba libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe2f13c43 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe9bce8ea libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xef3c1c3d libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xf4b2a1dd libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0105b5dc iwl_hw_nic_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x03a57d3f iwl_mac_beacon_update +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x03fd4d02 iwl_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x05b92a60 iwl_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x07535d2f iwl_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0783f69b iwl_remove_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0afca1fb iwl_reset_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0b5f2136 iwl_rx_pm_sleep_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0d7ae88f iwl_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0de687ba iwl_tx_skb +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x10440ad1 iwl_set_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x104bf459 iwl_mac_get_tx_stats +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x10dc5e8d iwl_tx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1170e1bd iwl_rx_statistics +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1555f5b5 iwl_ht_enabled +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x18a39925 iwl_set_rxon_chain +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x19f0e900 iwl_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1a9d0430 iwl_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d09c55a iwl_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d77b399 iwl_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1e3f3738 iwl_leds_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x20a4328a iwl_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x26acc8b7 iwl_setup_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x270e7e0f iwl_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2a90d541 iwl_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2c762ab3 iwl_rf_kill_ct_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2f303ecf iwl_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x30e5d7c7 iwl_rx_replenish_now +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x317cf631 iwl_rx_queue_restock +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x34541262 iwl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x34740c2e iwl_bg_scan_check +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3ad36128 iwl_free_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3c53d799 iwl_hw_detect +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3c94c5c4 iwl_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3e039cbc iwl_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x47c7d091 iwl_rx_missed_beacon_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x485e9477 iwl_rate_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4e56f6cd iwl_clear_stations_table +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x50000733 iwl_tt_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5114eef7 iwlcore_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5136c5d2 iwl_hwrate_to_tx_control +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x52339ecb iwl_eeprom_check_version +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x53b65937 iwlcore_eeprom_verify_signature +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x551e84a4 iwl_alloc_all +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x561d865e iwl_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5670718c iwlcore_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x57cbf908 iwl_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5abc0fc8 iwl_rx_reply_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5d7b1438 iwl_init_sensitivity +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5f1f5287 iwl_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x60774702 iwl_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x61d74a7f iwl_setup_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6792ade4 iwl_bg_abort_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x68537389 iwl_set_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x69c3c13a iwl_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x69d91984 iwl_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6a238f90 iwl_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6ac36388 iwl_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6c445c37 iwl_free_tfds_in_queue +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6d3de259 iwl_tt_exit +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6f07a190 iwlcore_eeprom_release_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x71dd80d7 iwl_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x72f56482 iwl_verify_ucode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x74269e30 iwl_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7684d233 iwl_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x78976e61 iwl_isr_legacy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x79d34c9b iwl_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7a4a8285 iwl_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7a9a11b4 iwl_get_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7cd69b24 iwl_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7d5bc43a iwl_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7ef8fcbe iwl_uninit_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x808f81da iwl_rx_reply_compressed_ba +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x80ef0081 iwl_tx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x834a6650 iwl_rx_pm_debug_statistics_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8490a950 iwl_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x85c7f0e7 iwl_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8670273d iwl_hwrate_to_plcp_idx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x87cc7dae iwl_configure_filter +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x88610d6c iwl_set_hw_params +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x886f7f09 iwl_send_statistics_request +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8c543579 iwl_activate_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8f02605c iwl_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8f866a38 iwlcore_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x900ee39f iwl_remove_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x90306328 iwl_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x921a6e41 iwl_rxq_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x93df66a7 iwl_reset_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x964df682 iwl_sta_rx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x96571315 iwl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9a1ad00b iwlcore_eeprom_acquire_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9a539a3b iwl_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9c96bb3e iwl_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9d979168 iwl_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9faced57 iwl_calib_set +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9fbfeb4f iwl_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa19c0e37 iwlcore_eeprom_enhanced_txpower +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa2637d31 iwl_rx_reply_rx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa37b43d1 iwl_send_static_wepkey_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa40e1694 iwl_send_calib_results +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa4508c11 iwl_chain_noise_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xac288e5f iwl_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xae9227de iwl_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaf433e47 iwl_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb33d179b iwl_tt_handler +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb35265b5 iwl_rx_csa +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb73f2da1 iwl_tt_exit_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb7656b7b iwl_disable_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb77287e6 iwl_sta_tx_modify_enable_tid +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb7e9faf3 iwl_find_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb986de6f iwl_hw_txq_ctx_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbd7255bf iwl_get_ra_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbecf5151 iwl_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbffa9c28 iwl_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc1b35ff0 iwl_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc7794b30 iwl_bg_scan_completed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc80ac690 iwl_txq_ctx_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc9a0ee97 iwl_init_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc9af4ad2 iwl_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcbaf4931 get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcea80c52 iwl_tt_enter_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcfc7d6c4 iwl_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd2782388 iwl_eeprom_get_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd59384d0 iwl_rx_reply_rx_phy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd7b88f41 iwl_get_free_ucode_key_index +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdb21bc90 iwl_sta_rx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdce0644a iwl_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdddb0ffb iwl_is_monitor_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xde408a2d iwl_reset_run_time_calib +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe1ab8408 iwl_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe205d662 iwl_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe53302e6 iwl_txq_check_empty +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe6b5cceb iwl_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe7ce5d70 iwl_rates +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe89c0117 iwl_tx_ant_restriction +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe9a1aeaa iwl_leds_register +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xeaf3a3bd iwl_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xeb38e10c iwl_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xeb44891d iwl_update_tkip_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xecb004f4 iwl_rx_replenish +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf0829f40 iwl_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf0fc1049 iwl_set_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf386cd90 iwl_rxon_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf3917325 iwl_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf415e9f2 iwl_tx_queue_reclaim +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfc67271e iwl_alloc_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfe01c591 iwl_sensitivity_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfe5b1a84 iwl_rx_queue_free +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x1a005029 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4196c38b hermes_write_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x457789d2 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4eed02da orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x6a927e18 orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa031d8e4 hermes_doicmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc60b5e9e hermes_bap_pwrite +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd38d8ae2 hermes_read_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd3f714e5 hermes_bap_pread +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5168829 hermes_allocate +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5336e5d hermes_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd54e219d hermes_docmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xdcd9acc4 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xdee95c59 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xed47b224 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xf8615dc3 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xf922c4b3 orinoco_up +EXPORT_SYMBOL drivers/parport/parport 0x0da83f35 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x1bce7c86 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x204face4 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x2733ec4d parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x2915c671 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0x2e5cdbb1 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x311af278 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x31ba7ab4 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x337390cb parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x37689427 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x3def3993 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x4cdbb772 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x588731b5 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x5b600c9d parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x6b553aba parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x6d558021 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x6da3dc1b parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x914f9370 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x924aa3d1 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x9326f1c3 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x94c06265 parport_release +EXPORT_SYMBOL drivers/parport/parport 0x9d5eff70 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0xa7201989 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xabfae74f parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0xb522ce96 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0xcf9f2b59 parport_write +EXPORT_SYMBOL drivers/parport/parport 0xd3308c08 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xe421e230 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0xe6ea70e4 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xe9862c35 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0xfc5534aa parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport_pc 0x1ce1ebca parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0x81aaf595 parport_pc_unregister_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x12b41d28 pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x2718a4d0 pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x2b06b40c pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x2f33c337 pcmcia_get_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x47b1c940 pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4fd033a0 pcmcia_error_func +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x84ce57f9 pcmcia_access_configuration_register +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x8b664f8d pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x8bc13ace pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x8e34f55f pcmcia_get_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xb591dd1f pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc75e8155 pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xeae6b589 pcmcia_modify_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xebbdb4f6 pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xecb9b626 pcmcia_request_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf0a25e12 pcmcia_error_ret +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf6052044 pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0008470b pcmcia_socket_dev_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x06c193ea pcmcia_resume_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x07f66038 pccard_get_first_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x08b4808c pccard_static_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0f9014e9 release_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x1c10de06 pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2597b113 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x26fc8bd8 destroy_cis_cache +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2e12f8b8 pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2fb75352 pcmcia_insert_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x33a22e06 pcmcia_replace_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x3cba8815 pcmcia_write_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x4517129d pccard_get_tuple_data +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x549cd58d pccard_get_next_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x6c35ffff pcmcia_adjust_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x6ecea035 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7b5eadeb pccard_read_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7c459694 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7cbd7164 pcmcia_find_mem_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7e9d84de pcmcia_validate_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x816d4b28 pcmcia_socket_dev_suspend +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8a4124a7 pccard_validate_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x990fed10 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa23bc04f pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa41b9d81 pcmcia_suspend_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa5ed35af pcmcia_find_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa9c073fd pcmcia_socket_dev_late_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb5aa362f pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xbd8e7a03 pcmcia_read_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xbe07cfa6 pcmcia_socket_dev_early_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc02ef2c8 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc7410faf pcmcia_eject_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xd905150a pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xe5de8eb0 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/rsrc_nonstatic 0x2821d014 pccard_nonstatic_ops +EXPORT_SYMBOL drivers/pps/pps_core 0x1e145952 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0x28f4ecf5 pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xe6a16116 pps_event +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x32404d45 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x79e0ddc1 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7bcd5882 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x90353388 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xba294cfb fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xbb638b45 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xe692c6d3 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x02503575 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0697d0ed fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0715feaa fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x076a0909 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1a09d546 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1aace8fe fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1fe7a623 fc_get_host_port_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x25e75eff fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x27cbe7d6 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2b7b37be fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2cd94386 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2f7ce7d1 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3f1872e0 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x41f8d098 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x494aed71 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x49614342 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x56183917 fc_destroy_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x568b27c9 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x56941476 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5805a966 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5d3b67d1 fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5f2acc56 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x60d3b490 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x62ffc420 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x65d5a4cf fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x67750428 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7b05cbd6 fc_seq_els_rsp_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7f6d8e5c fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x886c83f9 fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x93cfbb3d fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa9bb4205 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xac238a7a fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xae04230d fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb356f164 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb89a19ad fc_exch_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbb5771a3 fc_fcp_complete +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbe83131a fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbf03f8ab fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd57563dd fc_fcp_ddp_setup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd6cb3359 fc_setup_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdecc278a fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xee445814 __fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf1d66010 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf41f8d3e fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf7365d60 fc_seq_exch_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf75d2486 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf920ca1f fc_seq_send +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 0xa9b05e16 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0359a390 osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x12611df6 osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1a0393f5 osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1a39f305 osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1be323ef osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x20932743 osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2cb00acf osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x5254ab3f osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x5270be83 osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x53160501 osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x568cb31a osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x600d9d4b osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x73139c80 osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x76a7aa14 osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7744a229 osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7d5e3444 osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x807ca234 osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8215573b osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x82ca4d6a osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x87b3d9e0 osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x95514f33 osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x995f4a04 osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9b3b4964 osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb428317f osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc368f5e9 osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc9bfceca osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd294f8ae osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe0f4f0b1 osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe2f12b20 osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf3a37e1a osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf5167beb osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf7bac3de osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/osd 0x1fb69aec osduld_register_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x506e04d0 osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5e232e2b osduld_put_device +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x120dfec1 qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x14c7863f qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x4cb7680c qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x4fcbd240 qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x755f6d4d qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xdc310b12 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xfda94a5e qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/raid_class 0x00b0696d raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0xc8f296ad raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0xff750054 raid_class_attach +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1372a013 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1f102da6 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2a22fcb4 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2b529e1d fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6b497eb7 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7bb928d5 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x82173ca6 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa2320c09 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa64a97b2 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xcb04dbf2 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe5bc193d fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf31958d6 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x00245309 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x090ba0b2 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x151e547b sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x19649c0b scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1bf2cc52 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2c4c26e9 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x40fa6ac2 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x440475c0 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x59f967ee sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5fcb21ac sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x66acb6f1 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6ddddb57 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6fc8fe8b sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7f0076c3 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7f17f80b sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8200ad48 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9e99e196 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa8bd66ce sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb1927351 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb3312cef sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb48ebdaa sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb671720b sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb751c0a9 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf00d9445 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf6a689cb sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfac3af61 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x400d4f58 spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x9a1bc074 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xaf592b72 spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xc7dc4be1 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xc9eff65a spi_release_transport +EXPORT_SYMBOL drivers/serial/8250 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL drivers/serial/8250 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL drivers/serial/8250 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL drivers/serial/8250 0xeeee06f5 serial8250_register_port +EXPORT_SYMBOL drivers/serial/serial_core 0x386ea680 uart_add_one_port +EXPORT_SYMBOL drivers/serial/serial_core 0x42432e74 uart_resume_port +EXPORT_SYMBOL drivers/serial/serial_core 0x477b757b uart_suspend_port +EXPORT_SYMBOL drivers/serial/serial_core 0x5b8fe802 uart_unregister_driver +EXPORT_SYMBOL drivers/serial/serial_core 0x6cdb0ed6 uart_remove_one_port +EXPORT_SYMBOL drivers/serial/serial_core 0x942bcc6b uart_match_port +EXPORT_SYMBOL drivers/serial/serial_core 0x9e8fbc27 uart_get_baud_rate +EXPORT_SYMBOL drivers/serial/serial_core 0xa311bed7 uart_register_driver +EXPORT_SYMBOL drivers/serial/serial_core 0xd2c764ec uart_write_wakeup +EXPORT_SYMBOL drivers/serial/serial_core 0xf99f40aa uart_get_divisor +EXPORT_SYMBOL drivers/serial/serial_core 0xfb3a5b64 uart_update_timeout +EXPORT_SYMBOL drivers/ssb/ssb 0x07382194 ssb_dma_alloc_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0x12059897 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x12de97ac ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x157cfc29 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x19bd8ff6 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x1c6f55ef ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0x21644b3d ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x24018e45 ssb_dma_free_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0x26c6a6e1 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x3aaf95ce ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x4d18e93b ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x53b15887 ssb_dma_set_mask +EXPORT_SYMBOL drivers/ssb/ssb 0x5654c64d ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x56e3d201 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x59116ddb ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x7cb2348c ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x8feea293 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xa89f8ad9 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xad3431d8 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xc4a6f4b8 ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe69b18a7 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0xea8ca14d ssb_bus_powerup +EXPORT_SYMBOL drivers/telephony/ixj 0x11973d70 ixj_pcmcia_probe +EXPORT_SYMBOL drivers/telephony/phonedev 0x4adee8b0 phone_register_device +EXPORT_SYMBOL drivers/telephony/phonedev 0x9b134590 phone_unregister_device +EXPORT_SYMBOL drivers/usb/gadget/net2280 0x2955c74c usb_gadget_unregister_driver +EXPORT_SYMBOL drivers/usb/gadget/net2280 0x7090559c net2280_set_fifo_mode +EXPORT_SYMBOL drivers/usb/gadget/net2280 0xa853dfab usb_gadget_register_driver +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x2be82d27 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/usbserial 0x5497687d usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x99d30684 usb_serial_resume +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0xc86baa7c corgibl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x3aa91919 lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xeec889a0 lcd_device_register +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0a6fbb36 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x5465db14 cyber2000fb_attach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x6d6797c5 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0xd8895b71 cyber2000fb_get_fb_var +EXPORT_SYMBOL drivers/video/display/display 0x449e712f display_device_register +EXPORT_SYMBOL drivers/video/display/display 0x628e2c1b display_device_unregister +EXPORT_SYMBOL drivers/video/output 0x787e239c video_output_register +EXPORT_SYMBOL drivers/video/output 0xb1e96dc7 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 0x00d1fce9 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/svgalib 0x07b3da30 svga_wseq_multi +EXPORT_SYMBOL drivers/video/svgalib 0x0b210241 svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0x1b95c56a svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x2f414515 svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0x3b590130 svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0x49e87382 svga_tileblit +EXPORT_SYMBOL drivers/video/svgalib 0x63e898d1 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/svgalib 0x7a3ae959 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x7d280e3d svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0x80408443 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0x8751770b svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0x8fa8438b svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/svgalib 0xab3b22ad svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/svgalib 0xdad682b1 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/svgalib 0xdb40e295 svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0xec83c473 svga_match_format +EXPORT_SYMBOL drivers/video/svgalib 0xef774f5d svga_compute_pll +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x9fe624c7 w1_bq27000_read +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0xe138950c w1_bq27000_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x33f3dfca w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x8ee1de43 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xeebe60bf w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xfc43bd35 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/wire 0x1361219f w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0x2dc4f4db w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x52a691af w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0xcbffb631 w1_unregister_family +EXPORT_SYMBOL fs/configfs/configfs 0x0629992b config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0x11ebac9f config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0x20be5f0a config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0x31231d57 configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x445d6cb9 config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0x57ead8c7 configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x6522f8b2 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0xa9dc163f config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xbe5abefc config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0xc2f99b43 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0xd0b72342 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xe1bd192a config_group_init_type_name +EXPORT_SYMBOL fs/fscache/fscache 0x03170aba __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x07e671dc fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x2d53ad14 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x361d7ad1 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x496932b9 fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x525e444e __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x52d6c39d __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x5fe58c20 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x71e7b47e __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x79e88661 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x7a5f03c3 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x7e7c60c6 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x8d18fffa __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x96b1a52b __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x99210f26 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0xa62342c4 __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xb92a9eb7 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xbb1811b9 fscache_object_slow_work_ops +EXPORT_SYMBOL fs/fscache/fscache 0xbd3fa707 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0xc6573584 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xce29d0dd fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0xdf805e0c fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0xe60d79d9 __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xe974ad4a fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0xf586f962 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xfb9448dd fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0xfd45416a fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0xff850045 fscache_fsdef_index +EXPORT_SYMBOL fs/nfsd/nfsd 0x0e195c1c nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/nfsd/nfsd 0x2095976a nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0x28fb929b nfs4_acl_posix_to_nfsv4 +EXPORT_SYMBOL fs/nfsd/nfsd 0x35e33c1e nfs4_acl_write_who +EXPORT_SYMBOL fs/nfsd/nfsd 0x5a157ae4 nfs4_acl_get_whotype +EXPORT_SYMBOL fs/quota/quota_tree 0x11444c0e qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x37d696d3 qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x74182fe4 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x89db33b4 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xd156daba qtree_release_dquot +EXPORT_SYMBOL lib/crc-ccitt 0x651c2313 crc_ccitt +EXPORT_SYMBOL lib/crc-ccitt 0x75811312 crc_ccitt_table +EXPORT_SYMBOL lib/crc-itu-t 0x276c7e62 crc_itu_t +EXPORT_SYMBOL lib/crc-itu-t 0xd29b009f crc_itu_t_table +EXPORT_SYMBOL lib/crc-t10dif 0x782acba5 crc_t10dif +EXPORT_SYMBOL lib/crc7 0xc086bfba crc7 +EXPORT_SYMBOL lib/crc7 0xd80c3603 crc7_syndrome_table +EXPORT_SYMBOL lib/libcrc32c 0x27000b29 crc32c +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 0xf0caf44b zlib_deflate_workspacesize +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL net/802/p8023 0x8af3194e make_8023_client +EXPORT_SYMBOL net/802/p8023 0x9cf13856 destroy_8023_client +EXPORT_SYMBOL net/9p/9pnet 0x0b3ac49a p9pdu_dump +EXPORT_SYMBOL net/9p/9pnet 0x1ddcd0a1 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x3255786e p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0x3b519556 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x41e6bc51 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x4496ec53 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x4bca3c0d p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0x584cc7c8 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x608663f5 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x64515c50 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x76b79bf1 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x77dbe8f7 p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x805a0381 p9_client_auth +EXPORT_SYMBOL net/9p/9pnet 0x81d1457c p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0x881fee3c p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x98964528 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x9a77ab27 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xb4b5806d p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0xb9d67413 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0xb9e94ccf p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0xc007e809 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0xc096dd22 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0xc0f88dbc v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xcda93a1c p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0xcf7936e2 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0xdbff7bd4 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe6a17230 p9_client_version +EXPORT_SYMBOL net/9p/9pnet 0xfb680afd p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0xff094241 p9_client_wstat +EXPORT_SYMBOL net/appletalk/appletalk 0x0e266444 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xd3fcff25 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xe9b5837d aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0xfd758552 alloc_ltalkdev +EXPORT_SYMBOL net/atm/atm 0x1a24e5e2 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x2f8208f6 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x418f906f atm_charge +EXPORT_SYMBOL net/atm/atm 0x519b069f atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x72c1d620 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x7ad16ead atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x853ed4af atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x865e6591 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x89195dc3 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0x89cd0892 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0xbf389db9 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0xcffaa960 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0xe078ae32 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0xe9e8631f vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/ax25/ax25 0x1d1218a0 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x3d2d82ec ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x49fd4e93 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x4b154df0 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x564d9f14 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x5c72876c ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x78e68a82 ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0x7da5bcac ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xb52c21cc ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xc861fad1 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xc8c562e7 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/bluetooth/bluetooth 0x06e1fe9b hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x09090567 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0x13849a22 hci_unregister_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1f85e58e bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x234fc0f7 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x309cf0b4 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3ddd06e7 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3fbd4913 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4a313c2d hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4a547812 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5c83811d bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6ea9be30 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6fe2e625 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7094f8ae bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x750dd9f4 bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x773072cb hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8de1219f hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x968d1504 hci_register_proto +EXPORT_SYMBOL net/bluetooth/bluetooth 0x982a34a2 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa9bba045 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb0df2767 hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb3cc0523 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2d514c9 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc5a020f3 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcdb162ae bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd776f804 hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdc23ca22 hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf148e901 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf2b5bdb0 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf33463f3 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf833ca3f hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfc9dda63 hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/l2cap 0xfc31fe88 l2cap_load +EXPORT_SYMBOL net/bridge/bridge 0xeb528621 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x231d88b3 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xaccea0e8 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xeb483085 ebt_register_table +EXPORT_SYMBOL net/can/can 0x1b523759 can_proto_register +EXPORT_SYMBOL net/can/can 0x3421ad33 can_proto_unregister +EXPORT_SYMBOL net/can/can 0x3ff8670f can_rx_unregister +EXPORT_SYMBOL net/can/can 0xa46b436f can_send +EXPORT_SYMBOL net/can/can 0xe039fd98 can_rx_register +EXPORT_SYMBOL net/ieee802154/nl802154 0x168619bc ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x1a545472 ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x4c5844d4 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0x6dd215c8 ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x7b0f24a2 ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0x90bebe7b ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0xb63d8d45 ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/wpan-class 0x02b676d9 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/wpan-class 0x4cdf115e wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/wpan-class 0x6c075552 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/wpan-class 0xc5c69dba wpan_phy_free +EXPORT_SYMBOL net/ieee802154/wpan-class 0xd7533f86 wpan_phy_register +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x0bb92bf9 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x96ce2940 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xfb62829a arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x45c74273 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xaf834960 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xb5e1edc6 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x00f8eef3 nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x35d2597d nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x73bf5f19 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x74bcf7ff nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x89e1f3be nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xe0c9ab5a nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xfd3b7484 nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/tunnel4 0xadb9c5bc xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xd6a1a5c7 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/ipv6 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL net/ipv6/ipv6 0x0ec29cc2 inet6_bind +EXPORT_SYMBOL net/ipv6/ipv6 0x154163e0 ipv6_getsockopt +EXPORT_SYMBOL net/ipv6/ipv6 0x225c2227 nf_ip6_checksum +EXPORT_SYMBOL net/ipv6/ipv6 0x2334ec2d ip6_route_me_harder +EXPORT_SYMBOL net/ipv6/ipv6 0x24fcf7e3 xfrm6_prepare_output +EXPORT_SYMBOL net/ipv6/ipv6 0x2c9594ad ipv6_chk_addr +EXPORT_SYMBOL net/ipv6/ipv6 0x2cac35a9 xfrm6_input_addr +EXPORT_SYMBOL net/ipv6/ipv6 0x30123eb5 icmpv6_statistics +EXPORT_SYMBOL net/ipv6/ipv6 0x48e2c36b inet6_unregister_protosw +EXPORT_SYMBOL net/ipv6/ipv6 0x53263e95 ipv6_dev_get_saddr +EXPORT_SYMBOL net/ipv6/ipv6 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL net/ipv6/ipv6 0x55efa14f ndisc_build_skb +EXPORT_SYMBOL net/ipv6/ipv6 0x616bd952 xfrm6_find_1stfragopt +EXPORT_SYMBOL net/ipv6/ipv6 0x6412b986 inet6_ioctl +EXPORT_SYMBOL net/ipv6/ipv6 0x69957e06 inet6_add_protocol +EXPORT_SYMBOL net/ipv6/ipv6 0x70282478 rt6_lookup +EXPORT_SYMBOL net/ipv6/ipv6 0x85559b41 inet6_release +EXPORT_SYMBOL net/ipv6/ipv6 0x88f65b30 ipv6_setsockopt +EXPORT_SYMBOL net/ipv6/ipv6 0x8c7c0c42 inet6_getname +EXPORT_SYMBOL net/ipv6/ipv6 0x8ea3f2ba inet6_register_protosw +EXPORT_SYMBOL net/ipv6/ipv6 0x99716d50 ip6_xmit +EXPORT_SYMBOL net/ipv6/ipv6 0x9f6985de compat_ipv6_getsockopt +EXPORT_SYMBOL net/ipv6/ipv6 0xa108b86b xfrm6_rcv_spi +EXPORT_SYMBOL net/ipv6/ipv6 0xb572a14a ip6_route_output +EXPORT_SYMBOL net/ipv6/ipv6 0xb7bdd1c1 ndisc_send_skb +EXPORT_SYMBOL net/ipv6/ipv6 0xb8b71ece ipv6_chk_prefix +EXPORT_SYMBOL net/ipv6/ipv6 0xc36d563d icmpv6_send +EXPORT_SYMBOL net/ipv6/ipv6 0xc3e24f3a compat_ipv6_setsockopt +EXPORT_SYMBOL net/ipv6/ipv6 0xc446a9ea xfrm6_rcv +EXPORT_SYMBOL net/ipv6/ipv6 0xcc04e020 inet6_del_protocol +EXPORT_SYMBOL net/ipv6/ipv6 0xcd1cd5a6 ndisc_mc_map +EXPORT_SYMBOL net/ipv6/ipv6 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL net/ipv6/ipv6 0xd108e25d ip6_frag_match +EXPORT_SYMBOL net/ipv6/ipv6 0xd13264ec in6_dev_finish_destroy +EXPORT_SYMBOL net/ipv6/ipv6 0xdcfd301c ip6_frag_init +EXPORT_SYMBOL net/ipv6/ipv6 0xe0b05afc ipv6_push_nfrag_opts +EXPORT_SYMBOL net/ipv6/ipv6 0xe1a81c3a icmpv6msg_statistics +EXPORT_SYMBOL net/ipv6/ipv6 0xe690b8fd __ipv6_isatap_ifid +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x666d67cb ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x7780baba ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb8bddf33 ip6t_ext_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xc374861a ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xf1ab957f ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x766bb5ad xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0x95c7f9dc xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x9cd013f2 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xab14e193 xfrm6_tunnel_free_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xdb1b42d1 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x2e29a43a ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x5d827b5c ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x63fe3893 ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xb177256c ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xb561a08e ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xe3d367af ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xe8c6c4a4 ircomm_flow_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xfd51b1f3 ircomm_connect_request +EXPORT_SYMBOL net/irda/irda 0x02da8722 irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x0ab6a489 irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0x0b932c56 alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0x0efdbec3 proc_irda +EXPORT_SYMBOL net/irda/irda 0x16f09996 async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x18edd399 irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0x1c5471c1 iriap_getvaluebyclass_request +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x23c93c80 irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0x24b0e085 irlap_open +EXPORT_SYMBOL net/irda/irda 0x29783db6 hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0x2ba40396 irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0x30b5967f irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0x31d5c12e irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x40c86a55 irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0x430e434a irlmp_connect_response +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 0x53ca16a7 async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0x543a6db5 hashbin_new +EXPORT_SYMBOL net/irda/irda 0x550a5e27 irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0x5861b834 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0x5f261aef hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0x6551d508 irlmp_open_lsap +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 0x72274893 irttp_dup +EXPORT_SYMBOL net/irda/irda 0x731fc866 irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +EXPORT_SYMBOL net/irda/irda 0x7957f728 irlmp_update_client +EXPORT_SYMBOL net/irda/irda 0x7f933922 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x8163a516 irlap_close +EXPORT_SYMBOL net/irda/irda 0x841bd153 irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x89136cd1 irias_delete_object +EXPORT_SYMBOL net/irda/irda 0x8a3e8a58 iriap_open +EXPORT_SYMBOL net/irda/irda 0x8cb777a4 irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x94a8156e hashbin_delete +EXPORT_SYMBOL net/irda/irda 0x980fe568 irias_insert_object +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0x9e7fe1eb irda_device_set_media_busy +EXPORT_SYMBOL net/irda/irda 0xa26f32f8 irias_find_object +EXPORT_SYMBOL net/irda/irda 0xad5fb796 irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0xb7884205 hashbin_remove +EXPORT_SYMBOL net/irda/irda 0xb88304cb irttp_disconnect_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 0xc10a5281 irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0xd0131f0e iriap_close +EXPORT_SYMBOL net/irda/irda 0xd627dc1a hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0xd6deeaae irda_setup_dma +EXPORT_SYMBOL net/irda/irda 0xdabac4b7 irda_notify_init +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xe0acf0d4 hashbin_find +EXPORT_SYMBOL net/irda/irda 0xe1a50c6f irias_new_object +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/lapb/lapb 0x1f8b6c79 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x41d2a0e9 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x564e51d8 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x9d802bf9 lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0xba3f8ee2 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0xbfa6d33f lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0xcde722ad lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0xd8db6b25 lapb_setparms +EXPORT_SYMBOL net/mac80211/mac80211 0x0b9d1960 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x0eea706e ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x107a0017 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x1aeb19af ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x2314f7ef ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x31b36542 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x3ec70c3f ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x44f2a8b0 ieee80211_get_tkip_key +EXPORT_SYMBOL net/mac80211/mac80211 0x4b7f6761 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x4f27f0e7 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x501c760d rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0x535a320a __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x5542f400 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x572a48c8 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x59291e8c ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x5af2863b ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x6a3642fa wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x710feae0 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x81781944 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x8365bdc7 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x8f2fdc7f ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xadd24215 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xb6db5d0f ieee80211_stop_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0xbb7d1bdf ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xbc5983fa ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0xbe0ddd39 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xbf1c6f4c __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xc9e7f2de ieee80211_start_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0xca4eee93 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xcb3328a4 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xce0d509a ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xd814f7d8 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xd91a2b23 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0xdb8e6f59 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0xe58fcd7e ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xe7b1942f ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xe8abe42d ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xec0f0dcc ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xf2a7fbd7 ieee80211_beacon_get +EXPORT_SYMBOL net/mac80211/mac80211 0xf4eb3121 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xfebf7637 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x208cba45 ip_vs_skb_replace +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x2b87a8a8 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4117fcb5 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4b0a6c52 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x5e179005 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x61dac0ac ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x675f1a61 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa1dbc2d8 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa9657f93 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xab2eb34f ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb577cae2 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe9e89239 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xa48fd098 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xef88b7f4 __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x0e197ed5 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x0bf38e0b xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x16a5e826 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x4c983cd2 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x56e04bc2 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x62245b43 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x68b11573 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x750c1d16 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x930d15b2 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0xc3ff5dff xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xc9dcacc3 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xe6359531 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xedb72845 xt_find_match +EXPORT_SYMBOL net/phonet/phonet 0x210a5095 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x21d825dd pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x2ef65b19 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x44a3c555 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0xa3afcc56 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0xdbb98c7e phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0xe87d6c37 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0xf151b2f3 pn_skb_send +EXPORT_SYMBOL net/rfkill/rfkill 0x2df0c6b0 rfkill_destroy +EXPORT_SYMBOL net/rfkill/rfkill 0x379af0ed rfkill_register +EXPORT_SYMBOL net/rfkill/rfkill 0x6684232c rfkill_get_led_trigger_name +EXPORT_SYMBOL net/rfkill/rfkill 0x6a07f5ee rfkill_init_sw_state +EXPORT_SYMBOL net/rfkill/rfkill 0x87587145 rfkill_alloc +EXPORT_SYMBOL net/rfkill/rfkill 0x8787a4f5 rfkill_blocked +EXPORT_SYMBOL net/rfkill/rfkill 0x8a20b131 rfkill_set_sw_state +EXPORT_SYMBOL net/rfkill/rfkill 0xbdd07ca0 rfkill_pause_polling +EXPORT_SYMBOL net/rfkill/rfkill 0xc2bc4cb6 rfkill_unregister +EXPORT_SYMBOL net/rfkill/rfkill 0xdd932444 rfkill_set_states +EXPORT_SYMBOL net/rfkill/rfkill 0xe4b1be85 rfkill_set_led_trigger_name +EXPORT_SYMBOL net/rfkill/rfkill 0xe8cbf611 rfkill_resume_polling +EXPORT_SYMBOL net/rfkill/rfkill 0xfecc5734 rfkill_set_hw_state +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x1cfd23a1 rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x2476b3e6 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x35a5d556 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x36d868a4 rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x43eb85e9 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x62b4d1e0 rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x6ab8d509 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x80ade347 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xc927ace1 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xd1816b34 rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xd45e2dfa rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xd6e4c146 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xddf88428 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xdf220b7d rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xf3ff7338 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/sunrpc/sunrpc 0xdaddbaf0 svc_pool_stats_open +EXPORT_SYMBOL net/tipc/tipc 0x08acf310 tipc_available_nodes +EXPORT_SYMBOL net/tipc/tipc 0x0b074a7b tipc_multicast +EXPORT_SYMBOL net/tipc/tipc 0x0d9d104e tipc_send_buf2port +EXPORT_SYMBOL net/tipc/tipc 0x10d40fcd tipc_isconnected +EXPORT_SYMBOL net/tipc/tipc 0x1472b270 tipc_disconnect +EXPORT_SYMBOL net/tipc/tipc 0x1479cb03 tipc_deleteport +EXPORT_SYMBOL net/tipc/tipc 0x15b5ecde tipc_set_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x16f27683 tipc_block_bearer +EXPORT_SYMBOL net/tipc/tipc 0x23daecbd tipc_send +EXPORT_SYMBOL net/tipc/tipc 0x259b74f9 tipc_acknowledge +EXPORT_SYMBOL net/tipc/tipc 0x310d1bc9 tipc_detach +EXPORT_SYMBOL net/tipc/tipc 0x3712e340 tipc_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x3976041f tipc_set_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x419b02fc tipc_send2port +EXPORT_SYMBOL net/tipc/tipc 0x4b2243c6 tipc_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x538b228a tipc_withdraw +EXPORT_SYMBOL net/tipc/tipc 0x5637ed44 tipc_get_mode +EXPORT_SYMBOL net/tipc/tipc 0x5c0d4b5c tipc_ref_valid +EXPORT_SYMBOL net/tipc/tipc 0x62a681a3 tipc_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0x6be229a2 tipc_reject_msg +EXPORT_SYMBOL net/tipc/tipc 0x76064fcb tipc_createport_raw +EXPORT_SYMBOL net/tipc/tipc 0x8241e380 tipc_register_media +EXPORT_SYMBOL net/tipc/tipc 0x88b73627 tipc_get_addr +EXPORT_SYMBOL net/tipc/tipc 0x9c45558e tipc_enable_bearer +EXPORT_SYMBOL net/tipc/tipc 0xa1b42d32 tipc_forward2port +EXPORT_SYMBOL net/tipc/tipc 0xadd203d0 tipc_connect2port +EXPORT_SYMBOL net/tipc/tipc 0xae0103c3 tipc_shutdown +EXPORT_SYMBOL net/tipc/tipc 0xb1f8eacc tipc_send2name +EXPORT_SYMBOL net/tipc/tipc 0xb27ac4a7 tipc_get_port +EXPORT_SYMBOL net/tipc/tipc 0xb35b672c tipc_publish +EXPORT_SYMBOL net/tipc/tipc 0xb84f7693 tipc_forward_buf2port +EXPORT_SYMBOL net/tipc/tipc 0xbf9d8bef tipc_send_buf_fast +EXPORT_SYMBOL net/tipc/tipc 0xcbdd1dc7 tipc_forward_buf2name +EXPORT_SYMBOL net/tipc/tipc 0xcdc6e909 tipc_continue +EXPORT_SYMBOL net/tipc/tipc 0xcec8514a tipc_set_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0xcee290be tipc_forward2name +EXPORT_SYMBOL net/tipc/tipc 0xd44731e5 tipc_ownidentity +EXPORT_SYMBOL net/tipc/tipc 0xd69655e3 tipc_recv_msg +EXPORT_SYMBOL net/tipc/tipc 0xda7f9d3f tipc_attach +EXPORT_SYMBOL net/tipc/tipc 0xdf5008fc tipc_peer +EXPORT_SYMBOL net/tipc/tipc 0xe18e5ea4 tipc_send_buf2name +EXPORT_SYMBOL net/tipc/tipc 0xe5289439 tipc_createport +EXPORT_SYMBOL net/tipc/tipc 0xe7aece47 tipc_ispublished +EXPORT_SYMBOL net/tipc/tipc 0xeefd49b3 tipc_get_handle +EXPORT_SYMBOL net/tipc/tipc 0xef50a1ef tipc_disable_bearer +EXPORT_SYMBOL net/tipc/tipc 0xfbc5d49a tipc_send_buf +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0xff8ec8b0 register_wan_device +EXPORT_SYMBOL net/wimax/wimax 0x31c1262a wimax_reset +EXPORT_SYMBOL net/wimax/wimax 0xb5900038 wimax_rfkill +EXPORT_SYMBOL net/wireless/cfg80211 0x07e7ac5a ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x08df768e cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x21815484 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x24527699 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0x3167a7e7 cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x32fad66b cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0x37ac8d05 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x38c71ad1 cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x3ef57d1e cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x42a7dc9b freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x4d86ef98 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0x5e83ef1a cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x5f1cf3b6 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x6164edab ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x66293443 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x73c848bc cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x773316e8 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3fddc1 ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x7d1c9d62 cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x81178595 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x8202718f cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x8a9df9bb __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x8c35d732 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x8ebdfe74 cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x90ff2c04 wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x9b87826e cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xa28843bb wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0xa58adf2c cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0xb5c56b77 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xb86f0e6c cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0xc4680cc9 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xc4e85ec5 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xc64a2614 cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xca7667be cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xccc291b3 ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0xd0a628eb wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xdde6fa69 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xe49f8244 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xe903d9a9 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0xeaeaf90a cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0xee86e448 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xf0800a32 cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xfcd23fa9 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/lib80211 0x230f3ffb lib80211_crypt_deinit_handler +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x37b9a370 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x3f33e664 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x8e9af7ad lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x97e7d606 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0xa16739b4 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xa4675381 lib80211_crypt_deinit_entries +EXPORT_SYMBOL net/wireless/lib80211 0xdae1e2b8 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xfe42065c lib80211_crypt_quiescing +EXPORT_SYMBOL sound/ac97_bus 0xb566cf9b ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x3910a7aa snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x16a5941a 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 0x3ad11e35 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x69981736 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 0x7dea71e7 snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x89947013 snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xcac0a3be snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x02aa692f 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 0xf93aa615 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 0x326911b6 snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x7cb19049 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xb389aad4 snd_midi_event_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xb401ffd7 snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xb5d25358 snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xbf834054 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe03c0c74 snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe8755241 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x54c5bd1e snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x07b609d2 snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x09e4028d snd_info_register +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 0x1f97dda0 snd_card_set_id +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 0x2c521d4f snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x312a3379 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x36baa9f8 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3d523428 snd_device_free +EXPORT_SYMBOL sound/core/snd 0x46cd7d71 snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0x47df4ca7 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4cb97993 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x518bb7f8 copy_from_user_toio +EXPORT_SYMBOL sound/core/snd 0x55e5d0e9 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0x587eb042 snd_card_free +EXPORT_SYMBOL sound/core/snd 0x5c3e34f2 snd_device_register +EXPORT_SYMBOL sound/core/snd 0x62224c4e snd_component_add +EXPORT_SYMBOL sound/core/snd 0x6332e28d snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x6824573f snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x6cdc6e11 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x72c9b6fe snd_device_new +EXPORT_SYMBOL sound/core/snd 0x76424a30 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x79917104 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x8dbf8dde 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 0x8f8dcd15 snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x8f8e4504 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x9768b268 snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0x98f21989 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0x9dab2f45 snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0x9ff48f06 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0xa0726d24 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0xa15285da snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0xa7647946 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0xae22416c _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0xae25e647 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xbb88b38c snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0xbfd201ae snd_cards +EXPORT_SYMBOL sound/core/snd 0xc2214680 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0xc38785f5 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0xd7c780b5 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0xda16eadd snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0xdac8caad snd_jack_report +EXPORT_SYMBOL sound/core/snd 0xdde405ec snd_card_register +EXPORT_SYMBOL sound/core/snd 0xe20c9214 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0xe243dde3 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0xeb255f59 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0xeb7a9286 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0xf48b7a4e snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0xf51c18c9 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0xf953ff1f snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0xfe60f7ee snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0xffbf5c2e snd_card_create +EXPORT_SYMBOL sound/core/snd-hwdep 0x726d3f9c snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x19cc2ce3 snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x76322b84 snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x7e01b5a9 snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0xab445411 snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xb5a7ab21 snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0xc6829020 snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xdf014128 snd_dma_free_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 0x063e52de snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x11045edc snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0x19da1b87 snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x1bfde535 snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x1fb1a97c snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x25efa331 snd_pcm_hw_constraint_ratdens +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 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x55766085 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x5cad93b1 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x5e2b6128 snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x6842ba4c snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x6cfd1c43 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x6fee2242 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x738a8da5 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x7d219d44 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x80893f8f snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x838862b1 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x83cc2925 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x8ff2bb09 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x9514d28b snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x974e9a5e snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xab3c7536 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0xac1ecbe5 snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0xaec30cce snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0xb108f990 snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0xb2219a7e snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xb2fbe3bd snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0xb30e210f snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0xb89e889d snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xc2ff589f snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0xccfde388 snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0xcd284810 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0xd0b9b8b8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0xd13b4235 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0xd32fb693 snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0xd42b0adf snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0xe3b0d73a snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0xe51a1c64 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xea235376 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xeeb666b2 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xf553a7f6 snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-rawmidi 0x04fdf449 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1eb64fbd snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1f8ee846 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1fedf60e snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x35c72f4a snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3a1042c3 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x422517a4 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x42e50ccc snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7b85af52 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x8f1b7ee2 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x92924326 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb236331d snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbe406e82 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd17fb723 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd3ea6499 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xdeaf1e21 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe4a6e5d7 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-timer 0x02d18201 snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0x1dd058fd snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x20c0868a snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0x2f8fe9ca snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0x376c4a94 snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x41fd2ce1 snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x430d664b snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0x4bc0fe37 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0x4d5dfa28 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x4f497d9d snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x71c87941 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0xe3105ddd snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0xf52ea627 snd_timer_open +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x4bbb7f27 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xb6a02cc2 snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc43a3940 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x28de3867 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x3acfec46 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x574ec185 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x69165265 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x75b7ce77 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x9984f6c1 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xa775ddbf snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xb95aeeac snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xd7c6a7b4 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x1d0b9bcd snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x427db049 snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x84deefc7 snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x99b88ede snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xa781062a snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xa95e7ea8 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xab0cc86a snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xb26e2c3c snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xd9b24c1b snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xedb6ee9b snd_vx_dsp_boot +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x4f711833 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x93cec34f snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xec1efb79 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xee77e866 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xf08b1fc4 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xfeadf89c snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x1222cfa8 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x19a89043 snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x2931e9be snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x2b323c2d snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x9f928fe6 snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xe3b45b7e snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x18e8cd5b snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x464d4a06 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xd331475c snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xd349b8e2 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x320ab99c snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xc09a6400 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x28343891 snd_tea575x_init +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0xd893d8ef snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x2ea19107 snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x5d019e56 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x6018d9a4 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x9d0e8c17 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xcd6fcde1 snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-i2c 0x3805d718 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x59795c90 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xbd7665ce snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0xbe7cfd99 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xdbb4c9e2 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0xeaf11e6c snd_i2c_sendbytes +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x0e84e012 snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x345e25e3 snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x35b06602 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x372a5a03 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x590c3146 snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x9eeccc1f snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xcfd12c74 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xe6dca8aa snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xf8e4f6fd snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xfca5a574 snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x6b366561 snd_sb16dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x8920f2f6 snd_sb16dsp_get_pcm_ops +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xb13c12cb snd_sb16dsp_configure +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xc57f5b54 snd_sb16dsp_interrupt +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x071c85bc snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x10745d7c snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x15465e51 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4805b910 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4fae0c50 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6f844a76 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7b46070e snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8a24d8d6 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8a3ae444 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x90562719 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x97db629a snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x97e628b3 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9ce7e41f snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa69774d2 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xaa810cf0 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe1f98ffc snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xedf17aba snd_ac97_update +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x1533fbe7 snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x1af5e121 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x32c5dfc0 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x53193141 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x84979aac snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa10e8f4a snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xaa1debdc snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xaf22ab15 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xb23ec70a snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0x9fc194eb snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x1688cec7 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x5c60adfd snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x6aedb867 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x239d9ed5 snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x51f21d58 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x67b43f7a snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xd3273fe0 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xe338e8fc snd_trident_free_voice +EXPORT_SYMBOL sound/soc/codecs/snd-soc-uda134x 0x8a1523da uda134x_dai +EXPORT_SYMBOL sound/sound_firmware 0x39e3dd23 mod_firmware_load +EXPORT_SYMBOL sound/soundcore 0x269c9e58 register_sound_special +EXPORT_SYMBOL sound/soundcore 0x660ca130 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x698e12ce register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xc955158b register_sound_midi +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xe4dda37e sound_class +EXPORT_SYMBOL sound/soundcore 0xe5e02d9f register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x4830d76b snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x4a26c0f9 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x83947c0d snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xa765ada6 snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xb5c0e204 snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xde805752 snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/snd-util-mem 0x521d3d5e snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x5fe1e32a snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0x7c66af6e snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x8582d0b0 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xa0f291b0 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xbc98fb0f snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xc4429069 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xfefec7e2 __snd_util_mem_alloc +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usb-lib 0xb864090c snd_usb_create_midi_interface +EXPORT_SYMBOL sound/usb/snd-usb-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0xb3cf210f lirc_register_driver +EXPORT_SYMBOL ubuntu/lirc/lirc_dev/lirc_dev 0xb48ca2a0 lirc_get_pdata +EXPORT_SYMBOL vmlinux 0x00000000 per_cpu__softirq_work_list +EXPORT_SYMBOL vmlinux 0x000f3af8 filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0x003f6c35 cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x005a4975 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x00ab5824 update_region +EXPORT_SYMBOL vmlinux 0x00bf902e phy_device_free +EXPORT_SYMBOL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL vmlinux 0x00ededfc do_munmap +EXPORT_SYMBOL vmlinux 0x00fcacec skb_copy +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01168b91 seq_open +EXPORT_SYMBOL vmlinux 0x0122f95e _lv1_get_spe_irq_outlet +EXPORT_SYMBOL vmlinux 0x014719ec wireless_spy_update +EXPORT_SYMBOL vmlinux 0x0151ae4f of_get_parent +EXPORT_SYMBOL vmlinux 0x015f4a1e splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0x018564bc lock_sock_nested +EXPORT_SYMBOL vmlinux 0x018d9919 _lv1_set_lpm_interrupt_mask +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x019978e8 __dst_free +EXPORT_SYMBOL vmlinux 0x01a27b74 filp_open +EXPORT_SYMBOL vmlinux 0x01a2ade5 get_sb_pseudo +EXPORT_SYMBOL vmlinux 0x01a4aab6 set_irq_chip_data +EXPORT_SYMBOL vmlinux 0x01a957e1 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x020bf27b pci_get_bus_and_slot +EXPORT_SYMBOL vmlinux 0x020d18d7 _lv1_set_lpm_debug_bus_control +EXPORT_SYMBOL vmlinux 0x0250f6ca blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0x025b3db8 tcp_proc_register +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x027d5499 _lv1_did_update_interrupt_mask +EXPORT_SYMBOL vmlinux 0x027f25b3 single_release +EXPORT_SYMBOL vmlinux 0x0284b451 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x028d62f7 dma_spin_lock +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02ac1b76 of_node_get +EXPORT_SYMBOL vmlinux 0x02bde114 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x02be6f81 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x02bfbaf5 __xfrm_lookup +EXPORT_SYMBOL vmlinux 0x02c412b8 tty_write_room +EXPORT_SYMBOL vmlinux 0x02d20d11 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02e7116f mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x02f30350 eth_header +EXPORT_SYMBOL vmlinux 0x02fd769f kobject_set_name +EXPORT_SYMBOL vmlinux 0x031941b3 dev_alloc_name +EXPORT_SYMBOL vmlinux 0x031dc65e pasemi_dma_free_chan +EXPORT_SYMBOL vmlinux 0x0326a248 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x0326bfe1 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0x03288811 swiotlb_dma_mapping_error +EXPORT_SYMBOL vmlinux 0x032db3e2 i2c_release_client +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x033de027 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x0340e0ae schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x034adfe4 tty_devnum +EXPORT_SYMBOL vmlinux 0x0373a5e6 node_data +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03dfee49 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x03e10f7d tty_port_hangup +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x04074f48 ioremap +EXPORT_SYMBOL vmlinux 0x0416e29f scsi_init_io +EXPORT_SYMBOL vmlinux 0x04209cbf blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x042f4525 flush_dcache_page +EXPORT_SYMBOL vmlinux 0x043ea7e7 i2c_bit_add_bus +EXPORT_SYMBOL vmlinux 0x0440a533 _lv1_net_remove_multicast_address +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x048a2030 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x049814bf nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x04a1c929 ide_dump_status +EXPORT_SYMBOL vmlinux 0x04b51659 zero_fill_bio +EXPORT_SYMBOL vmlinux 0x04bfb926 security_path_mknod +EXPORT_SYMBOL vmlinux 0x04d2aa20 pci_pme_active +EXPORT_SYMBOL vmlinux 0x04d8085e inode_set_bytes +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x05282e13 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x053491a8 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x054f4af4 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x0550b71a i2c_use_client +EXPORT_SYMBOL vmlinux 0x0563fc15 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x0572d3b7 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0x057ad4ef security_d_instantiate +EXPORT_SYMBOL vmlinux 0x05a514a1 _insl_ns +EXPORT_SYMBOL vmlinux 0x05b4e835 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x05f05a4c vc_cons +EXPORT_SYMBOL vmlinux 0x0600f211 buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x06619a88 register_filesystem +EXPORT_SYMBOL vmlinux 0x067c1e19 key_link +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x068af119 kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x068b094f blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x06a485f2 __krealloc +EXPORT_SYMBOL vmlinux 0x06b23196 security_inode_readlink +EXPORT_SYMBOL vmlinux 0x06b2c8c5 set_irq_chip +EXPORT_SYMBOL vmlinux 0x06b830a9 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x06c36e2d unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x06e9d477 load_nls +EXPORT_SYMBOL vmlinux 0x06ef0ef2 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x06f7e196 neigh_ifdown +EXPORT_SYMBOL vmlinux 0x06f8c89e proc_mkdir +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x070cbf01 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x07527e0d __kfifo_get +EXPORT_SYMBOL vmlinux 0x077430b6 dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x07778f28 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x0799c50a param_set_ulong +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d89a34 release_firmware +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x07ef213a pasemi_dma_free_fun +EXPORT_SYMBOL vmlinux 0x07f8ee15 _lv1_unmap_device_dma_region +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x082fd491 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x084c08ee security_path_rename +EXPORT_SYMBOL vmlinux 0x08819915 make_bad_inode +EXPORT_SYMBOL vmlinux 0x089e5b6c __init_rwsem +EXPORT_SYMBOL vmlinux 0x08a64e7c kfifo_free +EXPORT_SYMBOL vmlinux 0x08b855c1 path_put +EXPORT_SYMBOL vmlinux 0x08d318e6 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0x08d827a7 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0x08e1e5f6 dm_io_client_resize +EXPORT_SYMBOL vmlinux 0x08e5bd74 phy_driver_register +EXPORT_SYMBOL vmlinux 0x08ed0b62 mac_vmode_to_var +EXPORT_SYMBOL vmlinux 0x0907f744 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x09479633 dma_pool_create +EXPORT_SYMBOL vmlinux 0x09479c65 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x0955a325 journal_set_features +EXPORT_SYMBOL vmlinux 0x0962960d pci_set_dma_mask +EXPORT_SYMBOL vmlinux 0x0962f68d unregister_nls +EXPORT_SYMBOL vmlinux 0x096341c2 _lv1_connect_irq_plug_ext +EXPORT_SYMBOL vmlinux 0x097edb6c journal_get_create_access +EXPORT_SYMBOL vmlinux 0x0983d0e7 skb_under_panic +EXPORT_SYMBOL vmlinux 0x0985da55 _read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09cd57d3 netpoll_poll +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09e0e14f register_8022_client +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a3132aa serio_close +EXPORT_SYMBOL vmlinux 0x0a3d0644 cpu_online_mask +EXPORT_SYMBOL vmlinux 0x0a5076d1 skb_clone +EXPORT_SYMBOL vmlinux 0x0a5acd0f con_copy_unimap +EXPORT_SYMBOL vmlinux 0x0a698076 gen_pool_free +EXPORT_SYMBOL vmlinux 0x0a8243dc scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x0a8d9d8a blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x0a9f892f swiotlb_map_sg_attrs +EXPORT_SYMBOL vmlinux 0x0aa36d62 macio_dev_put +EXPORT_SYMBOL vmlinux 0x0ac5aeed blkdev_put +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acf0963 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x0ad7c2d4 seq_read +EXPORT_SYMBOL vmlinux 0x0ae7bfff elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0x0b074b89 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b37926b clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x0b3ad4c1 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0ba1e265 genphy_suspend +EXPORT_SYMBOL vmlinux 0x0bb058eb scsi_host_get +EXPORT_SYMBOL vmlinux 0x0bc27a7f lro_vlan_hwaccel_receive_frags +EXPORT_SYMBOL vmlinux 0x0beff593 pci_read_vpd +EXPORT_SYMBOL vmlinux 0x0c0452b9 check_disk_change +EXPORT_SYMBOL vmlinux 0x0c18fabe pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0x0c1ad162 _lv1_net_start_rx_dma +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c759fc5 get_phy_id +EXPORT_SYMBOL vmlinux 0x0c7fab18 add_timer +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0c8e90c0 xfrm_input +EXPORT_SYMBOL vmlinux 0x0ca0538f fb_set_cmap +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0d040d5b dev_open +EXPORT_SYMBOL vmlinux 0x0d119436 mnt_pin +EXPORT_SYMBOL vmlinux 0x0d15d86d otg_set_transceiver +EXPORT_SYMBOL vmlinux 0x0d1cba56 user_revoke +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d60820c nlmsg_notify +EXPORT_SYMBOL vmlinux 0x0d6c963c copy_from_user +EXPORT_SYMBOL vmlinux 0x0d99f26f commit_creds +EXPORT_SYMBOL vmlinux 0x0d9e8848 tcp_make_synack +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0dbd2d6e __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x0dc18165 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x0ddb6fae nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x0ddb7691 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x0de66882 bdi_unregister +EXPORT_SYMBOL vmlinux 0x0df15005 _spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x0e024752 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x0e2308aa tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x0e52592a panic +EXPORT_SYMBOL vmlinux 0x0e89c1eb bio_pair_release +EXPORT_SYMBOL vmlinux 0x0eaea873 get_write_access +EXPORT_SYMBOL vmlinux 0x0eaedf7c tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x0ed10749 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x0ed7fa48 lock_fb_info +EXPORT_SYMBOL vmlinux 0x0ef22ade remove_wait_queue +EXPORT_SYMBOL vmlinux 0x0ef8d34f ip_getsockopt +EXPORT_SYMBOL vmlinux 0x0f0898ef security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x0f1ef871 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x0f3d9ef7 __kfifo_put +EXPORT_SYMBOL vmlinux 0x0f5738c2 page_symlink +EXPORT_SYMBOL vmlinux 0x0f57d5ae _read_unlock_bh +EXPORT_SYMBOL vmlinux 0x0f5b4fe4 inet_frag_find +EXPORT_SYMBOL vmlinux 0x0f6ed949 skb_trim +EXPORT_SYMBOL vmlinux 0x0fa9f783 cdev_alloc +EXPORT_SYMBOL vmlinux 0x0fbbeaf9 simple_write_end +EXPORT_SYMBOL vmlinux 0x0fc5e8eb radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0x0fdb799e napi_gro_flush +EXPORT_SYMBOL vmlinux 0x0fdc2ffb pci_choose_state +EXPORT_SYMBOL vmlinux 0x1015bbb9 clear_user_page +EXPORT_SYMBOL vmlinux 0x102cc650 vga_put +EXPORT_SYMBOL vmlinux 0x10437920 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x104ca870 llc_mac_hdr_init +EXPORT_SYMBOL vmlinux 0x105e2727 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x107651b9 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x108e8985 param_get_uint +EXPORT_SYMBOL vmlinux 0x10b1406b per_cpu____irq_regs +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x1122252b input_filter_device +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x113d93d2 touch_atime +EXPORT_SYMBOL vmlinux 0x11410bff wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x114ed1ce schedule_work_on +EXPORT_SYMBOL vmlinux 0x115a16ee dma_iommu_ops +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 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x1190c63e dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x11a41041 _write_lock_irqsave +EXPORT_SYMBOL vmlinux 0x11a57044 module_layout +EXPORT_SYMBOL vmlinux 0x11cb0048 truncate_pagecache +EXPORT_SYMBOL vmlinux 0x11e1b2c5 of_device_unregister +EXPORT_SYMBOL vmlinux 0x12048f5a of_device_alloc +EXPORT_SYMBOL vmlinux 0x1215d1be tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x121619f6 ethtool_op_set_sg +EXPORT_SYMBOL vmlinux 0x121711a4 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x1224aa36 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x12312db8 vfs_get_dqinfo +EXPORT_SYMBOL vmlinux 0x126342a7 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x1283e688 da903x_query_status +EXPORT_SYMBOL vmlinux 0x12c7b1a1 dm_put_device +EXPORT_SYMBOL vmlinux 0x12cb6622 _lv1_map_device_dma_region +EXPORT_SYMBOL vmlinux 0x12dca040 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x12e5ef0c rtas_set_power_level +EXPORT_SYMBOL vmlinux 0x12f0dba7 dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x12ff0ac4 init_net +EXPORT_SYMBOL vmlinux 0x1322234e skb_dma_map +EXPORT_SYMBOL vmlinux 0x133ca320 register_quota_format +EXPORT_SYMBOL vmlinux 0x133da912 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x13513793 skb_queue_head +EXPORT_SYMBOL vmlinux 0x136dd610 matroxfb_g450_connect +EXPORT_SYMBOL vmlinux 0x137d2ced cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x1385e0ac dquot_drop +EXPORT_SYMBOL vmlinux 0x1395b3f2 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x13bcbdbf should_remove_suid +EXPORT_SYMBOL vmlinux 0x13c4eb6f kobject_init +EXPORT_SYMBOL vmlinux 0x13dcc670 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x13f53da6 CMO_PageSize +EXPORT_SYMBOL vmlinux 0x1406fa56 eth_change_mtu +EXPORT_SYMBOL vmlinux 0x141fe5fd pasemi_read_iob_reg +EXPORT_SYMBOL vmlinux 0x143f3322 per_cpu__cpu_core_map +EXPORT_SYMBOL vmlinux 0x14605c34 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x1467a54d mb_cache_shrink +EXPORT_SYMBOL vmlinux 0x147f34b5 devm_ioremap +EXPORT_SYMBOL vmlinux 0x14d31543 skb_find_text +EXPORT_SYMBOL vmlinux 0x14deb486 ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x14e31e59 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x14f25810 input_set_capability +EXPORT_SYMBOL vmlinux 0x14f32d46 of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x150981ab kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x151592c4 _lv1_invalidate_htab_entries +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x15739712 ps2_drain +EXPORT_SYMBOL vmlinux 0x1577f93e prepare_binprm +EXPORT_SYMBOL vmlinux 0x15c3bac0 cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x15ed95d3 _read_lock +EXPORT_SYMBOL vmlinux 0x15f1d981 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x16037f8f scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0x160bd45c rtas_token +EXPORT_SYMBOL vmlinux 0x160e3e5a scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x16250200 _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x163c5e39 twl4030_i2c_read +EXPORT_SYMBOL vmlinux 0x165d5758 con_is_bound +EXPORT_SYMBOL vmlinux 0x166363c6 flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x166376e0 simple_unlink +EXPORT_SYMBOL vmlinux 0x16a8ad8e unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x16ac6ba0 jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0x173eece5 register_console +EXPORT_SYMBOL vmlinux 0x1743414f __debugger_fault_handler +EXPORT_SYMBOL vmlinux 0x174348c1 nf_ct_attach +EXPORT_SYMBOL vmlinux 0x1766436d genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0x177ba22f inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x177dca6e pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x1793e344 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x179ec4b8 dcache_lock +EXPORT_SYMBOL vmlinux 0x17afac01 compat_mc_setsockopt +EXPORT_SYMBOL vmlinux 0x17c85a66 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x17cb8c79 _lv1_read_htab_entries +EXPORT_SYMBOL vmlinux 0x17d8876e blk_end_request +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17ebeb8c revalidate_disk +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x180c1536 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x182f50af _lv1_open_device +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x185b7dd6 _lv1_modify_repository_node_value +EXPORT_SYMBOL vmlinux 0x186e41d9 abort_creds +EXPORT_SYMBOL vmlinux 0x189b6bac memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x18ae863c pcim_iounmap +EXPORT_SYMBOL vmlinux 0x18b3a035 seq_putc +EXPORT_SYMBOL vmlinux 0x18c98205 _lv1_destruct_virtual_address_space +EXPORT_SYMBOL vmlinux 0x18e8401d proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x1900a8fa pci_request_region +EXPORT_SYMBOL vmlinux 0x192a8db0 d_lookup +EXPORT_SYMBOL vmlinux 0x19391763 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x194783be ida_pre_get +EXPORT_SYMBOL vmlinux 0x1976bc16 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x198e9fd2 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x1990c5bc genphy_resume +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19a425f2 __bio_clone +EXPORT_SYMBOL vmlinux 0x19c15c64 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x19c968d1 pasemi_dma_start_chan +EXPORT_SYMBOL vmlinux 0x19cbb4b5 down_timeout +EXPORT_SYMBOL vmlinux 0x19d53f53 sock_register +EXPORT_SYMBOL vmlinux 0x19d98794 kmalloc_caches +EXPORT_SYMBOL vmlinux 0x19e57788 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0x19f190f1 bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x19f653e2 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0x1a248194 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x1a2f6945 __next_cpu +EXPORT_SYMBOL vmlinux 0x1a5899b6 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0x1a72533f slow_work_sleep_till_thread_needed +EXPORT_SYMBOL vmlinux 0x1a7d1945 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x1a91663d pasemi_dma_free_buf +EXPORT_SYMBOL vmlinux 0x1aaaa4a5 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x1ac1d885 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x1ac2ac90 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1af10bf5 textsearch_unregister +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b4c28ad pci_dev_put +EXPORT_SYMBOL vmlinux 0x1b626805 bdget +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b67461e get_user_pages +EXPORT_SYMBOL vmlinux 0x1b691d8f sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x1b81b1f7 register_key_type +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b9981cc set_irq_wake +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1bbbdb8f neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x1bc4ff03 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x1bd07aa4 inet_addr_type +EXPORT_SYMBOL vmlinux 0x1bdd349c bdi_register +EXPORT_SYMBOL vmlinux 0x1bfec830 __iounmap_at +EXPORT_SYMBOL vmlinux 0x1c1af916 set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x1c200a7d pasemi_dma_stop_chan +EXPORT_SYMBOL vmlinux 0x1c2554f5 unregister_netdevice +EXPORT_SYMBOL vmlinux 0x1c275b69 km_policy_expired +EXPORT_SYMBOL vmlinux 0x1c3013de framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x1c4dab93 _lv1_connect_irq_plug +EXPORT_SYMBOL vmlinux 0x1c5b2c15 pmu_wait_complete +EXPORT_SYMBOL vmlinux 0x1c78c14b dm_register_target +EXPORT_SYMBOL vmlinux 0x1c7972f8 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x1c80de9c ip_send_check +EXPORT_SYMBOL vmlinux 0x1c93bbed qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x1c945162 fb_find_mode +EXPORT_SYMBOL vmlinux 0x1ca31120 mnt_unpin +EXPORT_SYMBOL vmlinux 0x1ca371bd scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x1cc3a876 bio_copy_user +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1cc9bc2e tcp_close +EXPORT_SYMBOL vmlinux 0x1ccc4581 clocksource_register +EXPORT_SYMBOL vmlinux 0x1d158dec read_cache_page +EXPORT_SYMBOL vmlinux 0x1d29ea46 elv_abort_queue +EXPORT_SYMBOL vmlinux 0x1d2e87c6 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x1d4750bc _lv1_stop_lpm +EXPORT_SYMBOL vmlinux 0x1d4ff9e4 of_mm_gpiochip_add +EXPORT_SYMBOL vmlinux 0x1d65188c pneigh_lookup +EXPORT_SYMBOL vmlinux 0x1d82eb5d sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x1d952ed8 elevator_init +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1dfe0739 per_cpu__softnet_data +EXPORT_SYMBOL vmlinux 0x1dfe3c2a dm_table_event +EXPORT_SYMBOL vmlinux 0x1e240182 put_page +EXPORT_SYMBOL vmlinux 0x1e55aca4 of_get_property +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e6e3fc5 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x1e763f7e filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x1eb3c98c tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x1eb75607 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x1ec7e5ad d_alloc_name +EXPORT_SYMBOL vmlinux 0x1efe283f __cap_full_set +EXPORT_SYMBOL vmlinux 0x1f25c990 file_remove_suid +EXPORT_SYMBOL vmlinux 0x1f35adce of_find_all_nodes +EXPORT_SYMBOL vmlinux 0x1f3f706e freeze_bdev +EXPORT_SYMBOL vmlinux 0x1f5549cd up_write +EXPORT_SYMBOL vmlinux 0x1f567352 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x1f5a8793 ide_do_reset +EXPORT_SYMBOL vmlinux 0x1fa586ff dst_alloc +EXPORT_SYMBOL vmlinux 0x1fba177a arp_find +EXPORT_SYMBOL vmlinux 0x1fe7b4ab pasemi_write_dma_reg +EXPORT_SYMBOL vmlinux 0x1fedf0f4 __request_region +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x2000d46f __register_chrdev +EXPORT_SYMBOL vmlinux 0x201494ee _lv1_net_set_interrupt_mask +EXPORT_SYMBOL vmlinux 0x2020c831 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x2029508b generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x20385c58 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x2043e818 ida_destroy +EXPORT_SYMBOL vmlinux 0x2044441c mdio_bus_type +EXPORT_SYMBOL vmlinux 0x204857ac proc_dostring +EXPORT_SYMBOL vmlinux 0x20491434 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x204fe26f netdev_features_change +EXPORT_SYMBOL vmlinux 0x20565ef9 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x206d8dbd dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x2081c9cc scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x208831ae km_new_mapping +EXPORT_SYMBOL vmlinux 0x20d46e83 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x20f24b98 inode_change_ok +EXPORT_SYMBOL vmlinux 0x210b8030 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x212202b6 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x21342c01 pci_restore_state +EXPORT_SYMBOL vmlinux 0x213603bf pasemi_dma_free_ring +EXPORT_SYMBOL vmlinux 0x214c88b1 set_security_override +EXPORT_SYMBOL vmlinux 0x21587115 dcache_dir_open +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x219f0607 inet_del_protocol +EXPORT_SYMBOL vmlinux 0x21cf688d blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x21d296b4 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x21d479fa remove_proc_entry +EXPORT_SYMBOL vmlinux 0x21d939ef kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x21db5ad2 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x21e9b6d2 dev_set_mtu +EXPORT_SYMBOL vmlinux 0x21ef549d arp_send +EXPORT_SYMBOL vmlinux 0x22246eed idr_find +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x224b707b blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x2257d4bd vfs_quota_enable +EXPORT_SYMBOL vmlinux 0x225ebee6 _lv1_destruct_lpm +EXPORT_SYMBOL vmlinux 0x2267880f sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x226e86a9 audit_log +EXPORT_SYMBOL vmlinux 0x2282b320 try_to_release_page +EXPORT_SYMBOL vmlinux 0x2288378f system_state +EXPORT_SYMBOL vmlinux 0x22995693 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x22a73912 __tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22b564ca deny_write_access +EXPORT_SYMBOL vmlinux 0x22b6533b xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x22ca4cc3 dq_data_lock +EXPORT_SYMBOL vmlinux 0x22cd1df6 xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x22e59b0c bio_integrity_free +EXPORT_SYMBOL vmlinux 0x23148fe3 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x23188903 pci_get_device +EXPORT_SYMBOL vmlinux 0x23269a13 strict_strtoul +EXPORT_SYMBOL vmlinux 0x2339d2db get_pci_dma_ops +EXPORT_SYMBOL vmlinux 0x23416acc serio_open +EXPORT_SYMBOL vmlinux 0x234509f3 strncat +EXPORT_SYMBOL vmlinux 0x2349a491 of_get_gpio_flags +EXPORT_SYMBOL vmlinux 0x23b48b3a dev_gro_receive +EXPORT_SYMBOL vmlinux 0x23bc428b journal_get_write_access +EXPORT_SYMBOL vmlinux 0x23c279a8 poll_freewait +EXPORT_SYMBOL vmlinux 0x23dfe259 skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x23eb75e9 filemap_fdatawait +EXPORT_SYMBOL vmlinux 0x23f15e51 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x2407770c of_parse_phandle +EXPORT_SYMBOL vmlinux 0x243a22f9 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x24431fdf validate_sp +EXPORT_SYMBOL vmlinux 0x244a2411 __first_cpu +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x24686293 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x24a02670 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x24c32064 stop_tty +EXPORT_SYMBOL vmlinux 0x24cfd438 _lv1_copy_lpm_trace_buffer +EXPORT_SYMBOL vmlinux 0x24d1af43 tty_check_change +EXPORT_SYMBOL vmlinux 0x24e509cc do_splice_to +EXPORT_SYMBOL vmlinux 0x24f38c86 is_bad_inode +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x2554d417 blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0x2563270c input_set_keycode +EXPORT_SYMBOL vmlinux 0x256c5b38 generic_file_open +EXPORT_SYMBOL vmlinux 0x257d44eb skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x2581543c complete +EXPORT_SYMBOL vmlinux 0x25818771 key_task_permission +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258355b4 fb_find_best_mode +EXPORT_SYMBOL vmlinux 0x259d676e pskb_copy +EXPORT_SYMBOL vmlinux 0x25b47602 eth_header_parse +EXPORT_SYMBOL vmlinux 0x25b6b8f7 _lv1_set_spe_transition_notifier +EXPORT_SYMBOL vmlinux 0x25bb65c3 path_lookup +EXPORT_SYMBOL vmlinux 0x25cf4441 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL vmlinux 0x25db860b __brelse +EXPORT_SYMBOL vmlinux 0x25f4bbad journal_check_available_features +EXPORT_SYMBOL vmlinux 0x260f6f32 noop_qdisc +EXPORT_SYMBOL vmlinux 0x2611687d nla_reserve +EXPORT_SYMBOL vmlinux 0x26477c07 __vmalloc +EXPORT_SYMBOL vmlinux 0x267c7f2a igrab +EXPORT_SYMBOL vmlinux 0x267fc65b __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x26beac46 task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x26cb9928 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x26d97b79 dev_load +EXPORT_SYMBOL vmlinux 0x26e65891 key_alloc +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x270789ad ip_dev_find +EXPORT_SYMBOL vmlinux 0x271f4d2a finish_wait +EXPORT_SYMBOL vmlinux 0x27646df3 start_thread +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x2788e5dd __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27bc82e1 __lookup_one_len +EXPORT_SYMBOL vmlinux 0x27c61ece qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x27d8c257 generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x27d928cc backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x27de6cd4 wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0x280e96e8 mapping_tagged +EXPORT_SYMBOL vmlinux 0x285ac517 strict_strtoll +EXPORT_SYMBOL vmlinux 0x2866d677 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x2876a6d3 memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28ab8ee5 __nla_reserve +EXPORT_SYMBOL vmlinux 0x28cd36a3 pci_request_regions +EXPORT_SYMBOL vmlinux 0x28ce9869 dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x28cf3e70 up +EXPORT_SYMBOL vmlinux 0x28fbf1f6 search_binary_handler +EXPORT_SYMBOL vmlinux 0x293f2141 journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x29436b8a handle_sysrq +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x2960019b eeh_check_failure +EXPORT_SYMBOL vmlinux 0x29766a93 down_killable +EXPORT_SYMBOL vmlinux 0x2984adfc netif_napi_add +EXPORT_SYMBOL vmlinux 0x29bd4c46 __cap_init_eff_set +EXPORT_SYMBOL vmlinux 0x29c795fe add_disk +EXPORT_SYMBOL vmlinux 0x29ddfb79 complete_request_key +EXPORT_SYMBOL vmlinux 0x29eecbdc kmem_ptr_validate +EXPORT_SYMBOL vmlinux 0x2a16e6d0 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a555390 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x2a579309 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x2a648439 napi_get_frags +EXPORT_SYMBOL vmlinux 0x2a7bd32b block_truncate_page +EXPORT_SYMBOL vmlinux 0x2a7da96e page_put_link +EXPORT_SYMBOL vmlinux 0x2a81f06a find_inode_number +EXPORT_SYMBOL vmlinux 0x2a93ed1b add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x2b05920f simple_rename +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b0f5f88 sk_free +EXPORT_SYMBOL vmlinux 0x2b150080 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x2b1b20d5 compat_mc_getsockopt +EXPORT_SYMBOL vmlinux 0x2b5704cb test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x2b5e6c69 __any_online_cpu +EXPORT_SYMBOL vmlinux 0x2b5e7471 km_state_expired +EXPORT_SYMBOL vmlinux 0x2b69834b tty_insert_flip_string +EXPORT_SYMBOL vmlinux 0x2b6f0eab kobject_put +EXPORT_SYMBOL vmlinux 0x2b8d3d94 generic_setlease +EXPORT_SYMBOL vmlinux 0x2ba12884 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x2ba39ba8 vfs_symlink +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2ba8c9ad vio_unregister_driver +EXPORT_SYMBOL vmlinux 0x2babe4dc netlink_unicast +EXPORT_SYMBOL vmlinux 0x2bf9b41c pci_reenable_device +EXPORT_SYMBOL vmlinux 0x2bff1bf0 kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x2c02b4b5 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x2c161d30 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x2c1637ed I_BDEV +EXPORT_SYMBOL vmlinux 0x2c1cd4a4 cpu_present_mask +EXPORT_SYMBOL vmlinux 0x2c32793a rtas +EXPORT_SYMBOL vmlinux 0x2c4c7997 _lv1_construct_lpm +EXPORT_SYMBOL vmlinux 0x2c4fd32c __getblk +EXPORT_SYMBOL vmlinux 0x2c57cf33 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x2c6a3554 dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x2c96abd3 mdiobus_alloc +EXPORT_SYMBOL vmlinux 0x2c979d63 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x2cb2ad49 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x2cbf35b2 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x2cc7ca55 sock_create_kern +EXPORT_SYMBOL vmlinux 0x2cd25cc3 bio_map_kern +EXPORT_SYMBOL vmlinux 0x2d020b18 netif_device_detach +EXPORT_SYMBOL vmlinux 0x2d2fcd77 tty_port_close +EXPORT_SYMBOL vmlinux 0x2d476616 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x2d6714e2 aio_put_req +EXPORT_SYMBOL vmlinux 0x2d73d9e4 generic_removexattr +EXPORT_SYMBOL vmlinux 0x2d7d2767 _lv1_set_lpm_group_control +EXPORT_SYMBOL vmlinux 0x2d8027fd napi_gro_frags +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2da7c377 of_iomap +EXPORT_SYMBOL vmlinux 0x2dab31d1 of_phy_connect_fixed_link +EXPORT_SYMBOL vmlinux 0x2dbafbe3 pcibios_align_resource +EXPORT_SYMBOL vmlinux 0x2dd5815d of_match_node +EXPORT_SYMBOL vmlinux 0x2dfde521 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x2e1bef92 eeh_subsystem_enabled +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e4a39f8 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x2e71175f call_usermodehelper_setkeys +EXPORT_SYMBOL vmlinux 0x2e93495e _lv1_write_htab_entry +EXPORT_SYMBOL vmlinux 0x2ea4fe08 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x2eb9c6e1 set_device_ro +EXPORT_SYMBOL vmlinux 0x2ebb9a79 dma_direct_ops +EXPORT_SYMBOL vmlinux 0x2edc1bea sock_create_lite +EXPORT_SYMBOL vmlinux 0x2ee4337f smu_queue_cmd +EXPORT_SYMBOL vmlinux 0x2ee699e2 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x2ef51ac2 key_revoke +EXPORT_SYMBOL vmlinux 0x2f0380ed sock_no_connect +EXPORT_SYMBOL vmlinux 0x2f0c9200 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x2f2597ba pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x2f287f0d copy_to_user +EXPORT_SYMBOL vmlinux 0x2f35c00a tcp_check_req +EXPORT_SYMBOL vmlinux 0x2f6e7a3e __page_cache_alloc +EXPORT_SYMBOL vmlinux 0x2fa796ca keyring_clear +EXPORT_SYMBOL vmlinux 0x2fc74d0e sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x30126ee3 netif_napi_del +EXPORT_SYMBOL vmlinux 0x304bfa64 unregister_netdev +EXPORT_SYMBOL vmlinux 0x3061a2e8 block_prepare_write +EXPORT_SYMBOL vmlinux 0x306adcbe register_con_driver +EXPORT_SYMBOL vmlinux 0x306edd9b __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL vmlinux 0x30897e1d __tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x3096bea3 netif_receive_skb +EXPORT_SYMBOL vmlinux 0x3099549c eth_validate_addr +EXPORT_SYMBOL vmlinux 0x30ab6ff4 pci_enable_msix +EXPORT_SYMBOL vmlinux 0x30d51eba tcp_disconnect +EXPORT_SYMBOL vmlinux 0x30ffe1f7 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x31040edf pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x31121fe1 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x311f671f of_translate_address +EXPORT_SYMBOL vmlinux 0x3128e79c __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x312cfaf2 _lv1_disable_logical_spe +EXPORT_SYMBOL vmlinux 0x31448a4a mempool_create_node +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x314eed8a of_get_cpu_node +EXPORT_SYMBOL vmlinux 0x3153a195 vfs_readdir +EXPORT_SYMBOL vmlinux 0x317aeef2 pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0x318351f9 iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0x319d7203 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x31b7f300 _lv1_set_lpm_signal +EXPORT_SYMBOL vmlinux 0x31cd509a _lv1_net_control +EXPORT_SYMBOL vmlinux 0x31f63383 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0x3218c701 invalidate_inodes +EXPORT_SYMBOL vmlinux 0x323c4c6d inet_listen +EXPORT_SYMBOL vmlinux 0x327b9c1b pmu_poll_adb +EXPORT_SYMBOL vmlinux 0x3285cc48 param_set_uint +EXPORT_SYMBOL vmlinux 0x3295facd revert_creds +EXPORT_SYMBOL vmlinux 0x32e8dbd6 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x32fbf826 vio_register_driver +EXPORT_SYMBOL vmlinux 0x330f7655 misc_deregister +EXPORT_SYMBOL vmlinux 0x33496a15 ida_get_new_above +EXPORT_SYMBOL vmlinux 0x334c82dc journal_forget +EXPORT_SYMBOL vmlinux 0x336aae76 vfs_link +EXPORT_SYMBOL vmlinux 0x336fb746 xfrm_bundle_ok +EXPORT_SYMBOL vmlinux 0x33742a88 pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0x33780dfa follow_up +EXPORT_SYMBOL vmlinux 0x337d56bf journal_extend +EXPORT_SYMBOL vmlinux 0x338afc82 audit_log_end +EXPORT_SYMBOL vmlinux 0x3394a7c1 scsi_host_put +EXPORT_SYMBOL vmlinux 0x339d4841 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x33b3949a add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x33bea151 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x33dc9a48 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x33eab4a0 inet_add_protocol +EXPORT_SYMBOL vmlinux 0x340a3691 generic_writepages +EXPORT_SYMBOL vmlinux 0x3419c6f6 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x3438adbb blk_init_queue +EXPORT_SYMBOL vmlinux 0x344ab22c udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x344adbd5 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x3457cb68 param_set_long +EXPORT_SYMBOL vmlinux 0x345cfb8c ps3_dma_region_free +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34b467dd matroxfb_g450_setclk +EXPORT_SYMBOL vmlinux 0x34c6f917 skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x34f42f92 skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0x34f8d82a netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0x35064a2d of_find_node_with_property +EXPORT_SYMBOL vmlinux 0x35167c6c clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x355ee650 of_phy_connect +EXPORT_SYMBOL vmlinux 0x356dac8b tcp_v4_md5_do_add +EXPORT_SYMBOL vmlinux 0x3582ac9a iget5_locked +EXPORT_SYMBOL vmlinux 0x3582d242 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x35b0650f vsnprintf +EXPORT_SYMBOL vmlinux 0x35b42791 phy_attach +EXPORT_SYMBOL vmlinux 0x35ba7847 otg_put_transceiver +EXPORT_SYMBOL vmlinux 0x35c1e506 proto_unregister +EXPORT_SYMBOL vmlinux 0x35c2ba9e refrigerator +EXPORT_SYMBOL vmlinux 0x35ddddc4 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x35e8fb2f ida_get_new +EXPORT_SYMBOL vmlinux 0x35fe8b4b ide_raw_taskfile +EXPORT_SYMBOL vmlinux 0x360650f8 kernel_getpeername +EXPORT_SYMBOL vmlinux 0x3607c60c pci_release_regions +EXPORT_SYMBOL vmlinux 0x36139a51 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x3656bf5a lock_kernel +EXPORT_SYMBOL vmlinux 0x36711eba dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL vmlinux 0x36c261d4 blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x36eb4ef5 tcp_v4_md5_do_del +EXPORT_SYMBOL vmlinux 0x371902e9 _lv1_get_lpm_interrupt_status +EXPORT_SYMBOL vmlinux 0x371d2130 check_legacy_ioport +EXPORT_SYMBOL vmlinux 0x37360459 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x37383edd rtas_get_power_level +EXPORT_SYMBOL vmlinux 0x37416086 compat_tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x374fa624 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x375465a7 radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x37754bb8 block_commit_write +EXPORT_SYMBOL vmlinux 0x377b7930 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0x37a7e49d __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x37a9798f mempool_free +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37e4923f do_sync_write +EXPORT_SYMBOL vmlinux 0x37ee7c21 pci_enable_device +EXPORT_SYMBOL vmlinux 0x37fb90a3 dev_getbyhwaddr +EXPORT_SYMBOL vmlinux 0x37fd1ed2 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x38023d19 sg_init_one +EXPORT_SYMBOL vmlinux 0x382743df qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0x382777ab _lv1_gpu_context_allocate +EXPORT_SYMBOL vmlinux 0x382a8317 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x385b3c9c tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x385ff923 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x38693d66 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x3877e7a9 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x38792163 security_path_link +EXPORT_SYMBOL vmlinux 0x388959b5 _lv1_net_stop_tx_dma +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38b92846 llc_remove_pack +EXPORT_SYMBOL vmlinux 0x38cbe474 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x38e06470 simple_statfs +EXPORT_SYMBOL vmlinux 0x38fb9933 tty_std_termios +EXPORT_SYMBOL vmlinux 0x3902d435 pci_get_slot +EXPORT_SYMBOL vmlinux 0x3906b93c _spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x3922d605 _spin_trylock +EXPORT_SYMBOL vmlinux 0x3931391a scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0x393dae3b phy_disable_interrupts +EXPORT_SYMBOL vmlinux 0x396d09f3 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x396f4a97 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x398fc1da ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x399463a2 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x39a36c31 set_disk_ro +EXPORT_SYMBOL vmlinux 0x39aea87a blk_sync_queue +EXPORT_SYMBOL vmlinux 0x39e2cb0f genphy_read_status +EXPORT_SYMBOL vmlinux 0x39e42692 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x39f7a067 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x39fd69b7 log_start_commit +EXPORT_SYMBOL vmlinux 0x3a0ffa80 d_add_ci +EXPORT_SYMBOL vmlinux 0x3a15046d inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x3a2204c6 security_netlink_recv +EXPORT_SYMBOL vmlinux 0x3a271295 gen_pool_add +EXPORT_SYMBOL vmlinux 0x3a44f31c journal_release_buffer +EXPORT_SYMBOL vmlinux 0x3a593cf6 put_io_context +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3a9d70ef per_cpu__cpu_sibling_map +EXPORT_SYMBOL vmlinux 0x3ac43936 open_bdev_exclusive +EXPORT_SYMBOL vmlinux 0x3acacb55 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x3acc9402 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x3ad3c7aa journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x3ae21c6f scsi_register_driver +EXPORT_SYMBOL vmlinux 0x3ae831b6 kref_init +EXPORT_SYMBOL vmlinux 0x3b0cea6c skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x3b15457f tty_port_close_start +EXPORT_SYMBOL vmlinux 0x3b24b1f0 sock_no_listen +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b36596e get_disk +EXPORT_SYMBOL vmlinux 0x3b68e18e elv_rb_add +EXPORT_SYMBOL vmlinux 0x3b9ed503 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x3bb78130 set_current_groups +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bd48730 vfs_read +EXPORT_SYMBOL vmlinux 0x3be23729 security_path_unlink +EXPORT_SYMBOL vmlinux 0x3be30589 of_find_matching_node +EXPORT_SYMBOL vmlinux 0x3bf62555 lock_may_write +EXPORT_SYMBOL vmlinux 0x3c04f600 file_fsync +EXPORT_SYMBOL vmlinux 0x3c1a2820 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x3c2c5af5 sprintf +EXPORT_SYMBOL vmlinux 0x3c2eca3d bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x3c73f3d6 mdiobus_read +EXPORT_SYMBOL vmlinux 0x3c7873fb journal_destroy +EXPORT_SYMBOL vmlinux 0x3c885663 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x3c90e288 devm_ioport_map +EXPORT_SYMBOL vmlinux 0x3c9ce34c tty_register_device +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3ca1e637 generic_readlink +EXPORT_SYMBOL vmlinux 0x3ca87c1b vfs_readlink +EXPORT_SYMBOL vmlinux 0x3cc0a3bb xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x3cc1c745 matroxfb_read_pins +EXPORT_SYMBOL vmlinux 0x3ccf17eb mdiobus_write +EXPORT_SYMBOL vmlinux 0x3ce0cba2 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3d16fb68 dev_trans_start +EXPORT_SYMBOL vmlinux 0x3d54ac01 _lv1_net_stop_rx_dma +EXPORT_SYMBOL vmlinux 0x3d567549 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x3d5814e8 locks_init_lock +EXPORT_SYMBOL vmlinux 0x3d6481f2 init_timer_key +EXPORT_SYMBOL vmlinux 0x3d68bd4b flow_cache_genid +EXPORT_SYMBOL vmlinux 0x3d8728bb memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x3db2e258 radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x3ddb5317 console_start +EXPORT_SYMBOL vmlinux 0x3ddf6bec i2c_transfer +EXPORT_SYMBOL vmlinux 0x3e0da1ae iget_locked +EXPORT_SYMBOL vmlinux 0x3e2599c1 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x3e286dca _lv1_get_rtc +EXPORT_SYMBOL vmlinux 0x3e383385 nf_hooks +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e899c9d blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x3eabccff of_gpio_simple_xlate +EXPORT_SYMBOL vmlinux 0x3ed2b8fe dquot_release +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3ed93182 dqget +EXPORT_SYMBOL vmlinux 0x3edf4682 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x3ef6ff76 block_write_full_page +EXPORT_SYMBOL vmlinux 0x3f012be1 free_netdev +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f06a656 _lv1_construct_event_receive_port +EXPORT_SYMBOL vmlinux 0x3f0a0f57 block_fsync +EXPORT_SYMBOL vmlinux 0x3f130d2a generic_write_sync +EXPORT_SYMBOL vmlinux 0x3f35f2b4 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x3f406a3b enable_kernel_altivec +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f58f4d6 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x3f5cc717 elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x3f63c6be dquot_acquire +EXPORT_SYMBOL vmlinux 0x3f6535ce jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x3f70bfd8 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x3f75fb97 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x3f99d3a3 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x3fa03a97 memset +EXPORT_SYMBOL vmlinux 0x3fa913da strspn +EXPORT_SYMBOL vmlinux 0x3fa9ba0f scsi_put_command +EXPORT_SYMBOL vmlinux 0x3fb47dd3 kthread_stop +EXPORT_SYMBOL vmlinux 0x3fbfd6ed _lv1_gpu_open +EXPORT_SYMBOL vmlinux 0x3fe34178 tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x3fe449ab arp_tbl +EXPORT_SYMBOL vmlinux 0x3feea267 mdiobus_register +EXPORT_SYMBOL vmlinux 0x3fefb615 pci_dev_get +EXPORT_SYMBOL vmlinux 0x3ff17a26 vfs_follow_link +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x40059657 generic_make_request +EXPORT_SYMBOL vmlinux 0x400af34f sys_imageblit +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x4083b769 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x40a27c37 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x40b88528 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x40dfcf35 dev_mc_add +EXPORT_SYMBOL vmlinux 0x40f68dda mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0x40f9eef2 mach_maple +EXPORT_SYMBOL vmlinux 0x4101a975 ide_fixstring +EXPORT_SYMBOL vmlinux 0x4101bbde param_set_copystring +EXPORT_SYMBOL vmlinux 0x4108e69a fb_match_mode +EXPORT_SYMBOL vmlinux 0x41166725 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x41173575 jbd2_journal_update_format +EXPORT_SYMBOL vmlinux 0x4128058b request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0x41344088 param_get_charp +EXPORT_SYMBOL vmlinux 0x41361807 _lv1_get_logical_ppe_id +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x415714b6 down_read +EXPORT_SYMBOL vmlinux 0x416983d9 netdev_fix_features +EXPORT_SYMBOL vmlinux 0x41727a09 bioset_free +EXPORT_SYMBOL vmlinux 0x41741e35 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41a04a84 input_inject_event +EXPORT_SYMBOL vmlinux 0x41ab15dd jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x41b43950 thaw_process +EXPORT_SYMBOL vmlinux 0x41dbf4de _lv1_start_lpm +EXPORT_SYMBOL vmlinux 0x41f2bc06 alloc_hippi_dev +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x421ddd23 lock_rename +EXPORT_SYMBOL vmlinux 0x42224298 sscanf +EXPORT_SYMBOL vmlinux 0x42347de1 tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x424dd541 audit_log_format +EXPORT_SYMBOL vmlinux 0x42901ccf phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x429328d9 _spin_lock +EXPORT_SYMBOL vmlinux 0x42a3ff28 idr_get_new_above +EXPORT_SYMBOL vmlinux 0x42aabed8 of_find_node_by_path +EXPORT_SYMBOL vmlinux 0x42acbf72 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x42b4b695 lro_flush_all +EXPORT_SYMBOL vmlinux 0x42d5e525 inet_getname +EXPORT_SYMBOL vmlinux 0x42f3434c sock_wfree +EXPORT_SYMBOL vmlinux 0x42fea262 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4333075c journal_lock_updates +EXPORT_SYMBOL vmlinux 0x4333eadb param_set_short +EXPORT_SYMBOL vmlinux 0x434fa55c release_console_sem +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x43757d9f blk_insert_request +EXPORT_SYMBOL vmlinux 0x438918d1 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x438c1907 skb_tx_hash +EXPORT_SYMBOL vmlinux 0x439cbf07 inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0x43aa44a1 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x43ab66c3 param_array_get +EXPORT_SYMBOL vmlinux 0x43ab698c security_path_rmdir +EXPORT_SYMBOL vmlinux 0x43d58d26 ethtool_op_get_ufo +EXPORT_SYMBOL vmlinux 0x43ec913a put_cmsg +EXPORT_SYMBOL vmlinux 0x43ee8049 pagevec_lookup +EXPORT_SYMBOL vmlinux 0x44161c19 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x4438e13b __destroy_inode +EXPORT_SYMBOL vmlinux 0x444779c4 nla_find +EXPORT_SYMBOL vmlinux 0x4493b988 set_page_dirty +EXPORT_SYMBOL vmlinux 0x449cec89 skb_put +EXPORT_SYMBOL vmlinux 0x44a80a73 ide_dma_off +EXPORT_SYMBOL vmlinux 0x44b154df scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44c184c9 consume_skb +EXPORT_SYMBOL vmlinux 0x44c2a895 find_vma +EXPORT_SYMBOL vmlinux 0x44c720ab input_flush_device +EXPORT_SYMBOL vmlinux 0x44c86fec of_gpio_count +EXPORT_SYMBOL vmlinux 0x44d05f8a dqput +EXPORT_SYMBOL vmlinux 0x44de288a xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x44e55991 inet_accept +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44f608c8 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x450c972a ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x4517bdfc cdev_add +EXPORT_SYMBOL vmlinux 0x45243c0a rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x4550ba8a register_cpu_notifier +EXPORT_SYMBOL vmlinux 0x45512217 replace_mount_options +EXPORT_SYMBOL vmlinux 0x455575bc inet_put_port +EXPORT_SYMBOL vmlinux 0x4564459b _lv1_set_virtual_uart_param +EXPORT_SYMBOL vmlinux 0x456de6bf inet_stream_connect +EXPORT_SYMBOL vmlinux 0x45704798 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x4575315d utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x45947727 param_array_set +EXPORT_SYMBOL vmlinux 0x4595a4d1 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x45a55ec8 __iounmap +EXPORT_SYMBOL vmlinux 0x45c4c243 phy_disconnect +EXPORT_SYMBOL vmlinux 0x45cfe80b pasemi_dma_free_flag +EXPORT_SYMBOL vmlinux 0x45e228e4 end_page_writeback +EXPORT_SYMBOL vmlinux 0x461ebfa0 __copy_tofrom_user +EXPORT_SYMBOL vmlinux 0x463db1a7 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x4640278e paca +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x467ba9ad xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x4690c91e fddi_type_trans +EXPORT_SYMBOL vmlinux 0x46950542 journal_dirty_data +EXPORT_SYMBOL vmlinux 0x46b2e37c __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x46bc2655 simple_link +EXPORT_SYMBOL vmlinux 0x47170c96 journal_errno +EXPORT_SYMBOL vmlinux 0x47390c68 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x4742a8e1 pci_find_bus +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x476087d0 init_task +EXPORT_SYMBOL vmlinux 0x476232ee lock_super +EXPORT_SYMBOL vmlinux 0x47737e99 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x477e201e dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x479aca84 neigh_seq_start +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47a69d96 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x47c712d1 ide_wait_stat +EXPORT_SYMBOL vmlinux 0x47c8f62a seq_release +EXPORT_SYMBOL vmlinux 0x47e05145 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x47f1778a __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x480361fe netpoll_setup +EXPORT_SYMBOL vmlinux 0x48052792 writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x480637c2 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x480ab42a __next_cpu_nr +EXPORT_SYMBOL vmlinux 0x483b2692 udp_poll +EXPORT_SYMBOL vmlinux 0x48485d63 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x485a4e89 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0x4867aaf5 giveup_altivec +EXPORT_SYMBOL vmlinux 0x486b6407 hweight64 +EXPORT_SYMBOL vmlinux 0x486c3798 sock_init_data +EXPORT_SYMBOL vmlinux 0x488069e9 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x4881efab pmac_get_partition +EXPORT_SYMBOL vmlinux 0x4889ae65 journal_stop +EXPORT_SYMBOL vmlinux 0x489e65df napi_frags_skb +EXPORT_SYMBOL vmlinux 0x48a94d68 tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x48accb6e get_sb_ns +EXPORT_SYMBOL vmlinux 0x48b6efa5 of_release_dev +EXPORT_SYMBOL vmlinux 0x48b7b335 of_parse_phandles_with_args +EXPORT_SYMBOL vmlinux 0x48bc2ef0 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x48c1d080 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x49439411 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x4947b787 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x495844ef vfs_quota_off +EXPORT_SYMBOL vmlinux 0x495ec6eb pasemi_dma_alloc_buf +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x496605b6 notify_change +EXPORT_SYMBOL vmlinux 0x4969db5d ide_dma_off_quietly +EXPORT_SYMBOL vmlinux 0x4983ca33 is_container_init +EXPORT_SYMBOL vmlinux 0x49849528 register_exec_domain +EXPORT_SYMBOL vmlinux 0x49873e5e copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x498c6c57 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x4992751e tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x49a02ded textsearch_prepare +EXPORT_SYMBOL vmlinux 0x49e182c0 param_get_string +EXPORT_SYMBOL vmlinux 0x49e4485a vfs_quota_on_path +EXPORT_SYMBOL vmlinux 0x49e874ee sk_stream_write_space +EXPORT_SYMBOL vmlinux 0x49f8c1b2 lookup_one_len +EXPORT_SYMBOL vmlinux 0x4a17107d __put_cred +EXPORT_SYMBOL vmlinux 0x4a172097 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0x4a2622b8 pci_set_master +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a50f73c neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x4a5d726f blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x4a8702be panic_notifier_list +EXPORT_SYMBOL vmlinux 0x4a955a01 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x4aa5185c security_path_truncate +EXPORT_SYMBOL vmlinux 0x4aaf100f mntput_no_expire +EXPORT_SYMBOL vmlinux 0x4ab5af35 swiotlb_dma_supported +EXPORT_SYMBOL vmlinux 0x4ac64da4 _lv1_select_virtual_address_space +EXPORT_SYMBOL vmlinux 0x4acd93d3 release_resource +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b17de47 _read_lock_bh +EXPORT_SYMBOL vmlinux 0x4b3cb349 _lv1_destruct_io_irq_outlet +EXPORT_SYMBOL vmlinux 0x4b46037d file_permission +EXPORT_SYMBOL vmlinux 0x4b48acf5 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x4b4e63e0 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x4b65a3dc tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x4b6fcddc _lv1_set_spe_interrupt_mask +EXPORT_SYMBOL vmlinux 0x4b8cfd46 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x4b8f78ae ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0x4bbc3e5f pm_flags +EXPORT_SYMBOL vmlinux 0x4be36b59 seq_printf +EXPORT_SYMBOL vmlinux 0x4bf6272d vlan_gro_receive +EXPORT_SYMBOL vmlinux 0x4c02cc27 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c4c956e nla_memcmp +EXPORT_SYMBOL vmlinux 0x4c6d0118 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x4c720bf4 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x4c7562b3 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x4c7a6de8 input_event +EXPORT_SYMBOL vmlinux 0x4c9ee493 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cd34a9b vfsmount_lock +EXPORT_SYMBOL vmlinux 0x4cdce2dc serio_interrupt +EXPORT_SYMBOL vmlinux 0x4d2a5c19 rwsem_wake +EXPORT_SYMBOL vmlinux 0x4d5c514c tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x4d602125 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x4d66c7af migrate_page +EXPORT_SYMBOL vmlinux 0x4d6e67e8 ip_ct_attach +EXPORT_SYMBOL vmlinux 0x4d77dfdd block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x4d7fc2ea destroy_EII_client +EXPORT_SYMBOL vmlinux 0x4db022ad set_binfmt +EXPORT_SYMBOL vmlinux 0x4dc1e271 giveup_fpu +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dd464f0 request_key_async +EXPORT_SYMBOL vmlinux 0x4dda726b match_strlcpy +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4df7631a tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e179d51 llc_sap_open +EXPORT_SYMBOL vmlinux 0x4e34e52e audit_log_start +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e3cfaeb tcp_connect +EXPORT_SYMBOL vmlinux 0x4e4ba0e0 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e927977 bio_integrity_split +EXPORT_SYMBOL vmlinux 0x4e977938 scsi_host_set_state +EXPORT_SYMBOL vmlinux 0x4e9dffb5 ip_fast_csum +EXPORT_SYMBOL vmlinux 0x4eab58c5 seq_bitmap_list +EXPORT_SYMBOL vmlinux 0x4ecc4998 llc_add_pack +EXPORT_SYMBOL vmlinux 0x4ed87f85 kset_unregister +EXPORT_SYMBOL vmlinux 0x4edd72f7 block_all_signals +EXPORT_SYMBOL vmlinux 0x4edfcf09 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f1dd628 bdi_destroy +EXPORT_SYMBOL vmlinux 0x4f4fb313 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x4f664db6 _lv1_insert_htab_entry +EXPORT_SYMBOL vmlinux 0x4f68171d neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x4f75356e nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x4fad3da0 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4fdf87f6 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x4fe0a54e ps2_begin_command +EXPORT_SYMBOL vmlinux 0x5017f952 skb_split +EXPORT_SYMBOL vmlinux 0x501a9f7c kmem_cache_create +EXPORT_SYMBOL vmlinux 0x501fbada inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x506746b6 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x506dd9b5 DAC1064_global_init +EXPORT_SYMBOL vmlinux 0x508a0ec6 blk_init_tags +EXPORT_SYMBOL vmlinux 0x508f4a33 bio_copy_kern +EXPORT_SYMBOL vmlinux 0x50ae3c54 _lv1_gpu_attribute +EXPORT_SYMBOL vmlinux 0x50b15c53 _read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x50d56018 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x50e274cd pagecache_write_end +EXPORT_SYMBOL vmlinux 0x50f31e52 bio_init +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x511e90c4 tcf_register_action +EXPORT_SYMBOL vmlinux 0x51a25c69 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x51be55dd tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x524b0479 journal_init_dev +EXPORT_SYMBOL vmlinux 0x525740e2 dquot_commit +EXPORT_SYMBOL vmlinux 0x52760ca9 getnstimeofday +EXPORT_SYMBOL vmlinux 0x527830ff pmac_xpram_read +EXPORT_SYMBOL vmlinux 0x52a58c24 ifla_policy +EXPORT_SYMBOL vmlinux 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL vmlinux 0x52e3fa05 _lv1_allocate_memory +EXPORT_SYMBOL vmlinux 0x52ebb126 param_get_ushort +EXPORT_SYMBOL vmlinux 0x5307db22 qdisc_destroy +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x5315f750 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x5339f5f8 _lv1_read_virtual_uart +EXPORT_SYMBOL vmlinux 0x536da764 generic_file_aio_read +EXPORT_SYMBOL vmlinux 0x538824c9 __blk_end_request_all +EXPORT_SYMBOL vmlinux 0x53c0767c sk_chk_filter +EXPORT_SYMBOL vmlinux 0x53d91e59 _spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x53dea88d km_state_notify +EXPORT_SYMBOL vmlinux 0x53ebab1b _outsl_ns +EXPORT_SYMBOL vmlinux 0x5407b7c2 skb_append +EXPORT_SYMBOL vmlinux 0x540acaee remove_inode_hash +EXPORT_SYMBOL vmlinux 0x541d4169 vfs_getattr +EXPORT_SYMBOL vmlinux 0x54290dc9 nla_validate +EXPORT_SYMBOL vmlinux 0x543765ee tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x54470367 down +EXPORT_SYMBOL vmlinux 0x5447fc48 netif_device_attach +EXPORT_SYMBOL vmlinux 0x548f6b16 copy_4K_page +EXPORT_SYMBOL vmlinux 0x54c6479c __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54ec56f5 ps3_sb_event_receive_port_setup +EXPORT_SYMBOL vmlinux 0x554ab7e0 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x554e43f7 devm_ioremap_prot +EXPORT_SYMBOL vmlinux 0x556b5fd9 no_llseek +EXPORT_SYMBOL vmlinux 0x557b3dd8 _lv1_gpu_close +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55a286bf proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x55a6bc22 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x55b02baf pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x55eda730 vfs_llseek +EXPORT_SYMBOL vmlinux 0x5600904f fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x5603cf43 do_settimeofday +EXPORT_SYMBOL vmlinux 0x560d0f68 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x56278dbb do_truncate +EXPORT_SYMBOL vmlinux 0x56294f78 nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x5657e101 sock_create +EXPORT_SYMBOL vmlinux 0x566727f3 __netif_schedule +EXPORT_SYMBOL vmlinux 0x56678d15 blk_make_request +EXPORT_SYMBOL vmlinux 0x568804ee _lv1_destruct_event_receive_port +EXPORT_SYMBOL vmlinux 0x56a10763 csum_tcpudp_magic +EXPORT_SYMBOL vmlinux 0x56c2b95b rtas_progress +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56f38712 schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x56f494e0 smp_call_function +EXPORT_SYMBOL vmlinux 0x570c7f92 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x571850dc fb_set_var +EXPORT_SYMBOL vmlinux 0x572253c2 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x57235917 ide_proc_register_driver +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x573978d9 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x573eb9f0 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0x579bab50 _lv1_gpu_memory_free +EXPORT_SYMBOL vmlinux 0x57b0fab9 ll_rw_block +EXPORT_SYMBOL vmlinux 0x57b57ebe jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0x57d54a42 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x57daa41a pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x57db7242 mangle_path +EXPORT_SYMBOL vmlinux 0x57df77d1 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x57e6a592 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x580078d6 skb_copy_bits +EXPORT_SYMBOL vmlinux 0x58064904 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x5857e434 groups_free +EXPORT_SYMBOL vmlinux 0x585a4120 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x58627899 splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0x586b609a vfs_lstat +EXPORT_SYMBOL vmlinux 0x586d4f79 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x588517d6 generic_getxattr +EXPORT_SYMBOL vmlinux 0x58c5336e bmap +EXPORT_SYMBOL vmlinux 0x58f2cef8 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x58f6dd73 vfs_dq_quota_on_remount +EXPORT_SYMBOL vmlinux 0x590bd3ca module_put +EXPORT_SYMBOL vmlinux 0x5928d69b datagram_poll +EXPORT_SYMBOL vmlinux 0x592abc7e prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x594dafb4 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x5955c8a7 netdev_state_change +EXPORT_SYMBOL vmlinux 0x595d0946 empty_zero_page +EXPORT_SYMBOL vmlinux 0x59715fc1 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x599f6229 i2c_bit_add_numbered_bus +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59daa6bc simple_transaction_release +EXPORT_SYMBOL vmlinux 0x59e406f4 bio_free +EXPORT_SYMBOL vmlinux 0x59f68901 skb_free_datagram +EXPORT_SYMBOL vmlinux 0x5a25b14e vmtruncate +EXPORT_SYMBOL vmlinux 0x5a347e64 pcim_enable_device +EXPORT_SYMBOL vmlinux 0x5a34a45c __kmalloc +EXPORT_SYMBOL vmlinux 0x5a57f9c1 fput +EXPORT_SYMBOL vmlinux 0x5a5e7ea3 simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x5a6534c9 of_n_size_cells +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5a794999 of_device_uevent +EXPORT_SYMBOL vmlinux 0x5a969373 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x5ae887a7 i2c_clients_command +EXPORT_SYMBOL vmlinux 0x5b12c5b9 iget_failed +EXPORT_SYMBOL vmlinux 0x5b142237 neigh_table_init +EXPORT_SYMBOL vmlinux 0x5b23e70a tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x5b27bcec sysctl_intvec +EXPORT_SYMBOL vmlinux 0x5b43f1f1 rtas_service_present +EXPORT_SYMBOL vmlinux 0x5b586a57 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0x5b593e7c ether_setup +EXPORT_SYMBOL vmlinux 0x5b73012f km_report +EXPORT_SYMBOL vmlinux 0x5b85c949 inet_bind +EXPORT_SYMBOL vmlinux 0x5b8fd504 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x5bbdc16a input_register_handler +EXPORT_SYMBOL vmlinux 0x5bbf80a0 macio_dev_get +EXPORT_SYMBOL vmlinux 0x5becbadf do_sync_read +EXPORT_SYMBOL vmlinux 0x5bf97472 d_instantiate +EXPORT_SYMBOL vmlinux 0x5c0058fe sk_dst_check +EXPORT_SYMBOL vmlinux 0x5c471c4f blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x5c4e9383 tty_shutdown +EXPORT_SYMBOL vmlinux 0x5cb61b5f phy_attach_direct +EXPORT_SYMBOL vmlinux 0x5cbf682f phy_stop +EXPORT_SYMBOL vmlinux 0x5cc5b658 kfifo_alloc +EXPORT_SYMBOL vmlinux 0x5cc8e015 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x5ccc9045 _lv1_close_device +EXPORT_SYMBOL vmlinux 0x5ce85bd4 scsi_remove_host +EXPORT_SYMBOL vmlinux 0x5cf30e10 __debugger_ipi +EXPORT_SYMBOL vmlinux 0x5cfae2a1 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x5d12b3fc twl4030_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x5d5051ae tcp4_gro_complete +EXPORT_SYMBOL vmlinux 0x5d5e0483 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x5d7bc8d2 napi_reuse_skb +EXPORT_SYMBOL vmlinux 0x5dbbe98e memmove +EXPORT_SYMBOL vmlinux 0x5dd39cfd vfs_fstatat +EXPORT_SYMBOL vmlinux 0x5e2670ba inode_needs_sync +EXPORT_SYMBOL vmlinux 0x5e30b79d call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x5e341b84 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x5e4cb6d6 qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x5e515b31 mach_pasemi +EXPORT_SYMBOL vmlinux 0x5e823e3f clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x5e8c5941 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea1535d kill_anon_super +EXPORT_SYMBOL vmlinux 0x5ea520c5 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x5ea9ad96 put_tty_driver +EXPORT_SYMBOL vmlinux 0x5ebdf3c0 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x5ece211c idr_replace +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed862b0 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5f4f9e86 of_get_address +EXPORT_SYMBOL vmlinux 0x5f5936c3 register_nls +EXPORT_SYMBOL vmlinux 0x5f5bce0e mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x5f7da958 page_readlink +EXPORT_SYMBOL vmlinux 0x5f8a2728 isa_io_base +EXPORT_SYMBOL vmlinux 0x5f94daa5 netif_rx_ni +EXPORT_SYMBOL vmlinux 0x5fb8e413 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x604e9119 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x60550843 vm_map_ram +EXPORT_SYMBOL vmlinux 0x605c8bde radix_tree_delete +EXPORT_SYMBOL vmlinux 0x6067a146 memcpy +EXPORT_SYMBOL vmlinux 0x607e98d4 blk_unplug +EXPORT_SYMBOL vmlinux 0x609067e8 journal_load +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a0ebad __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x60af3c43 slow_work_unregister_user +EXPORT_SYMBOL vmlinux 0x60aff489 of_device_get_modalias +EXPORT_SYMBOL vmlinux 0x60dc1a9c unregister_quota_format +EXPORT_SYMBOL vmlinux 0x60e24bbb skb_pad +EXPORT_SYMBOL vmlinux 0x610c1cb2 unbind_con_driver +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x6144ad16 devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0x614efdba tty_name +EXPORT_SYMBOL vmlinux 0x616f7708 pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0x618d8299 set_notify_swap_entry_free +EXPORT_SYMBOL vmlinux 0x618f76b1 tcp_prot +EXPORT_SYMBOL vmlinux 0x61a4487c _lv1_gpu_device_unmap +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61dcdcd3 _lv1_pause +EXPORT_SYMBOL vmlinux 0x61eef2c9 _insb +EXPORT_SYMBOL vmlinux 0x61f1c4e0 scsi_scan_target +EXPORT_SYMBOL vmlinux 0x620060ec mod_timer +EXPORT_SYMBOL vmlinux 0x621fdc55 scsi_get_command +EXPORT_SYMBOL vmlinux 0x6220b988 _spin_lock_irq +EXPORT_SYMBOL vmlinux 0x62213951 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x62492331 submit_bh +EXPORT_SYMBOL vmlinux 0x6254071f vfs_quota_disable +EXPORT_SYMBOL vmlinux 0x6255763c udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x625cc1c9 __devm_request_region +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x627c63d7 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x62879a44 of_platform_device_create +EXPORT_SYMBOL vmlinux 0x628ea400 vfs_quota_on +EXPORT_SYMBOL vmlinux 0x62985ce2 matrox_millennium +EXPORT_SYMBOL vmlinux 0x62ceed16 hippi_neigh_setup_dev +EXPORT_SYMBOL vmlinux 0x62f8bc2e of_get_pci_address +EXPORT_SYMBOL vmlinux 0x62fa9a16 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0x633a9faf ethtool_op_set_ufo +EXPORT_SYMBOL vmlinux 0x6353edc6 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x6360d639 cpu_all_bits +EXPORT_SYMBOL vmlinux 0x638c172e vfs_fstat +EXPORT_SYMBOL vmlinux 0x63a8be38 compat_ip_setsockopt +EXPORT_SYMBOL vmlinux 0x63d09085 nf_log_packet +EXPORT_SYMBOL vmlinux 0x63d4206a sg_miter_start +EXPORT_SYMBOL vmlinux 0x63df5b91 pci_select_bars +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63f05fb9 skb_push +EXPORT_SYMBOL vmlinux 0x63f75920 _lv1_construct_virtual_address_space +EXPORT_SYMBOL vmlinux 0x63fd5651 unregister_8022_client +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x6412be8e netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x64203002 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x6452212f try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x6452d61b deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x646cc6ab pmu_poll +EXPORT_SYMBOL vmlinux 0x64801d95 vfs_create +EXPORT_SYMBOL vmlinux 0x648cb093 vfs_set_dqblk +EXPORT_SYMBOL vmlinux 0x649100d3 xfrm_register_km +EXPORT_SYMBOL vmlinux 0x64998ec3 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64dcfd13 __rta_fill +EXPORT_SYMBOL vmlinux 0x650007a4 journal_ack_err +EXPORT_SYMBOL vmlinux 0x65022a24 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0x6504ebc0 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x650a66b4 submit_bio +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65414e67 dev_valid_name +EXPORT_SYMBOL vmlinux 0x65422628 vga_get +EXPORT_SYMBOL vmlinux 0x654dde3e nf_unregister_hook +EXPORT_SYMBOL vmlinux 0x65840206 kfree_skb +EXPORT_SYMBOL vmlinux 0x658fa60f matroxfb_wait_for_sync +EXPORT_SYMBOL vmlinux 0x65ecb5c3 xrlim_allow +EXPORT_SYMBOL vmlinux 0x65f3277f neigh_seq_next +EXPORT_SYMBOL vmlinux 0x65f4af5f prepare_to_wait +EXPORT_SYMBOL vmlinux 0x661a5783 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x663d2c44 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x66478a78 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x6652193d input_register_device +EXPORT_SYMBOL vmlinux 0x66537089 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x665455c8 netdev_set_master +EXPORT_SYMBOL vmlinux 0x6679ebf6 ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x66866246 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x6687bf69 ethtool_op_get_tso +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x668dd22a cad_pid +EXPORT_SYMBOL vmlinux 0x66ad1cb3 _lv1_set_lpm_general_control +EXPORT_SYMBOL vmlinux 0x66afe054 phy_enable_interrupts +EXPORT_SYMBOL vmlinux 0x66b224d2 bio_kmalloc +EXPORT_SYMBOL vmlinux 0x66bfb9d9 bdget_disk +EXPORT_SYMBOL vmlinux 0x66cbf14b pmac_xpram_write +EXPORT_SYMBOL vmlinux 0x67053080 current_kernel_time +EXPORT_SYMBOL vmlinux 0x670f5bf5 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x6717af9d close_bdev_exclusive +EXPORT_SYMBOL vmlinux 0x672144bd strlcpy +EXPORT_SYMBOL vmlinux 0x67225d30 generic_delete_inode +EXPORT_SYMBOL vmlinux 0x674acbf7 misc_register +EXPORT_SYMBOL vmlinux 0x676e3291 down_write +EXPORT_SYMBOL vmlinux 0x67998459 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x67b4bba3 get_phy_device +EXPORT_SYMBOL vmlinux 0x67c769f3 d_invalidate +EXPORT_SYMBOL vmlinux 0x67fea51a blk_queue_ordered +EXPORT_SYMBOL vmlinux 0x680b0e7f serio_rescan +EXPORT_SYMBOL vmlinux 0x68628e77 _write_lock_bh +EXPORT_SYMBOL vmlinux 0x6878d7a9 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x68a841e1 napi_frags_finish +EXPORT_SYMBOL vmlinux 0x68aa82ed get_unmapped_area_prot +EXPORT_SYMBOL vmlinux 0x68c7760d request_key +EXPORT_SYMBOL vmlinux 0x68e1ef51 smu_present +EXPORT_SYMBOL vmlinux 0x68fb0500 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x690137a8 tty_set_operations +EXPORT_SYMBOL vmlinux 0x690da496 ida_init +EXPORT_SYMBOL vmlinux 0x69163733 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x6945f2a5 netif_notify_peers +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x697a36c7 tcf_hash_check +EXPORT_SYMBOL vmlinux 0x697cb0a0 sysctl_ms_jiffies +EXPORT_SYMBOL vmlinux 0x6980fe91 param_get_int +EXPORT_SYMBOL vmlinux 0x6989875b add_wait_queue +EXPORT_SYMBOL vmlinux 0x69927dff try_acquire_console_sem +EXPORT_SYMBOL vmlinux 0x699b9ef6 simple_sync_file +EXPORT_SYMBOL vmlinux 0x699ccbf8 _lv1_deconfigure_virtual_uart_irq +EXPORT_SYMBOL vmlinux 0x69a0ca7d iowrite16be +EXPORT_SYMBOL vmlinux 0x69a358a6 iomem_resource +EXPORT_SYMBOL vmlinux 0x69b4208d complete_and_exit +EXPORT_SYMBOL vmlinux 0x69b7ed3e current_fs_time +EXPORT_SYMBOL vmlinux 0x69c8c1d5 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x69d11bbc inode_get_bytes +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69db4444 dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x69f32610 __cputime_msec_factor +EXPORT_SYMBOL vmlinux 0x69fe3a9f dst_release +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a352c76 sk_stream_error +EXPORT_SYMBOL vmlinux 0x6a47571d __set_personality +EXPORT_SYMBOL vmlinux 0x6a5a251a sock_kmalloc +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a61f874 to_tm +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a8c9ea5 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x6aa0d6a7 get_empty_filp +EXPORT_SYMBOL vmlinux 0x6aabdb24 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x6ab7d26a scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6ad065f4 param_set_charp +EXPORT_SYMBOL vmlinux 0x6af0b3fa inode_init_once +EXPORT_SYMBOL vmlinux 0x6b01781f xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x6b09b525 dev_get_flags +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b26f8f8 phy_detach +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b387694 _lv1_end_of_interrupt_ext +EXPORT_SYMBOL vmlinux 0x6b49ef1a sget +EXPORT_SYMBOL vmlinux 0x6b4e5a52 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x6b589a6e _lv1_net_add_multicast_address +EXPORT_SYMBOL vmlinux 0x6b5dfe73 __debugger_bpt +EXPORT_SYMBOL vmlinux 0x6b6c16ff sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x6b6f0c4b _lv1_create_repository_node +EXPORT_SYMBOL vmlinux 0x6bae093c fsync_bdev +EXPORT_SYMBOL vmlinux 0x6bbf9462 generic_show_options +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bc56c67 radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6c255cc4 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x6c2f6369 __nla_put +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c952488 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x6cadac68 fetch_dev_dn +EXPORT_SYMBOL vmlinux 0x6cbfe63b boot_tvec_bases +EXPORT_SYMBOL vmlinux 0x6cccc1a7 d_prune_aliases +EXPORT_SYMBOL vmlinux 0x6cd53f6a __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x6cf9e917 alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x6d0b77fe sysctl_data +EXPORT_SYMBOL vmlinux 0x6d13f3de nla_append +EXPORT_SYMBOL vmlinux 0x6d1743eb _lv1_get_total_execution_time +EXPORT_SYMBOL vmlinux 0x6d27ef64 __bitmap_empty +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d3d0f1f tty_vhangup +EXPORT_SYMBOL vmlinux 0x6d54983c kill_litter_super +EXPORT_SYMBOL vmlinux 0x6d625f3b rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d7fc15f __secpath_destroy +EXPORT_SYMBOL vmlinux 0x6d859d3d inet_register_protosw +EXPORT_SYMBOL vmlinux 0x6d8aa715 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x6d8ac801 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x6da928f4 _insw_ns +EXPORT_SYMBOL vmlinux 0x6dbed3c3 f_setown +EXPORT_SYMBOL vmlinux 0x6de6bf83 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6df0d01c gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x6df9c596 do_mmap_pgoff +EXPORT_SYMBOL vmlinux 0x6dfa3134 fd_install +EXPORT_SYMBOL vmlinux 0x6e0605ba lro_flush_pkt +EXPORT_SYMBOL vmlinux 0x6e07dccc compat_tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x6e311fc0 journal_flush +EXPORT_SYMBOL vmlinux 0x6e370f8f simple_rmdir +EXPORT_SYMBOL vmlinux 0x6e41887c pci_assign_resource +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e7c6d91 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x6e802324 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x6e955b28 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea4be70 del_timer +EXPORT_SYMBOL vmlinux 0x6ee400dc framebuffer_release +EXPORT_SYMBOL vmlinux 0x6f6d6252 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x6f7c7e90 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x6fa331ed _lv1_construct_io_irq_outlet +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fde556f clear_inode +EXPORT_SYMBOL vmlinux 0x6fff393f time_to_tm +EXPORT_SYMBOL vmlinux 0x701699b2 _lv1_set_spe_privilege_state_area_1_register +EXPORT_SYMBOL vmlinux 0x7035ea60 blk_free_tags +EXPORT_SYMBOL vmlinux 0x704c4365 __cputime_sec_factor +EXPORT_SYMBOL vmlinux 0x704f2643 security_path_symlink +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x705270fc dst_discard +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x709064b2 dcache_readdir +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70ea5691 blk_queue_max_sectors +EXPORT_SYMBOL vmlinux 0x70f86c70 pmu_queue_request +EXPORT_SYMBOL vmlinux 0x7108e0aa send_sig_info +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x7146e890 key_unlink +EXPORT_SYMBOL vmlinux 0x7154d7a7 mem_section +EXPORT_SYMBOL vmlinux 0x717242e7 rtas_data_buf_lock +EXPORT_SYMBOL vmlinux 0x717c4306 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71b819c3 swiotlb_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x71d51644 set_groups +EXPORT_SYMBOL vmlinux 0x71f4a154 netlink_dump_start +EXPORT_SYMBOL vmlinux 0x723ded18 of_find_device_by_node +EXPORT_SYMBOL vmlinux 0x7242e96d strnchr +EXPORT_SYMBOL vmlinux 0x725c63d1 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x7297944f inet_stream_ops +EXPORT_SYMBOL vmlinux 0x729b4a83 _lv1_get_spe_all_interrupt_statuses +EXPORT_SYMBOL vmlinux 0x72afe962 posix_lock_file +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72b4877f remove_arg_zero +EXPORT_SYMBOL vmlinux 0x72b4a511 key_validate +EXPORT_SYMBOL vmlinux 0x72c3be87 param_set_byte +EXPORT_SYMBOL vmlinux 0x72e8e55a blk_rq_init +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x731a747a pci_io_base +EXPORT_SYMBOL vmlinux 0x7327991d sock_setsockopt +EXPORT_SYMBOL vmlinux 0x73445da6 read_cache_page_async +EXPORT_SYMBOL vmlinux 0x737056c2 fb_blank +EXPORT_SYMBOL vmlinux 0x73829e6d inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0x738a3284 inet_csk_accept +EXPORT_SYMBOL vmlinux 0x73a3032f slow_work_register_user +EXPORT_SYMBOL vmlinux 0x73c64a58 swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x73ce6b3a gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x7414041e ip_route_input +EXPORT_SYMBOL vmlinux 0x741a8aa2 ip_setsockopt +EXPORT_SYMBOL vmlinux 0x741b7345 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x74353ac3 arp_create +EXPORT_SYMBOL vmlinux 0x7443ed4b tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x744c0c68 param_get_byte +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x7488a77b skb_pull +EXPORT_SYMBOL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL vmlinux 0x74abb4d4 ethtool_op_get_rx_csum +EXPORT_SYMBOL vmlinux 0x74b496ce bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x74bfc369 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74d12f70 generic_file_llseek_unlocked +EXPORT_SYMBOL vmlinux 0x74fe8730 sys_ctrler +EXPORT_SYMBOL vmlinux 0x7515f1d0 blk_remove_plug +EXPORT_SYMBOL vmlinux 0x75293402 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x756c786e _lv1_connect_interrupt_event_receive_port +EXPORT_SYMBOL vmlinux 0x756e6992 strnicmp +EXPORT_SYMBOL vmlinux 0x75754995 _lv1_storage_check_async_status +EXPORT_SYMBOL vmlinux 0x757883b8 alloc_file +EXPORT_SYMBOL vmlinux 0x75932b5d inet_release +EXPORT_SYMBOL vmlinux 0x75a1809a blk_register_region +EXPORT_SYMBOL vmlinux 0x75bdea12 iommu_area_alloc +EXPORT_SYMBOL vmlinux 0x75d51f97 pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x75d5f7d1 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x75e4df08 call_usermodehelper_pipe +EXPORT_SYMBOL vmlinux 0x75e4f5aa pasemi_read_mac_reg +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x760b933d key_negate_and_link +EXPORT_SYMBOL vmlinux 0x761364bb thaw_bdev +EXPORT_SYMBOL vmlinux 0x7637b8a1 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x764016a0 sg_free_table +EXPORT_SYMBOL vmlinux 0x764bd77c request_resource +EXPORT_SYMBOL vmlinux 0x764e2224 _lv1_disconnect_irq_plug_ext +EXPORT_SYMBOL vmlinux 0x769b25d2 _lv1_get_version_info +EXPORT_SYMBOL vmlinux 0x76b457c7 blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d9f5a7 pci_set_consistent_dma_mask +EXPORT_SYMBOL vmlinux 0x77144936 _lv1_disconnect_irq_plug +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x77935664 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x77b8fdd1 call_usermodehelper_stdinpipe +EXPORT_SYMBOL vmlinux 0x77cfcfde __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x77e1bd49 generic_permission +EXPORT_SYMBOL vmlinux 0x77e7e66f neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77fa5d1f ns_to_timespec +EXPORT_SYMBOL vmlinux 0x7804ba00 neigh_connected_output +EXPORT_SYMBOL vmlinux 0x781e14d7 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x783144a0 generic_setxattr +EXPORT_SYMBOL vmlinux 0x7849226d idr_destroy +EXPORT_SYMBOL vmlinux 0x788782c7 dev_get_stats +EXPORT_SYMBOL vmlinux 0x789a17f7 _lv1_destruct_logical_spe +EXPORT_SYMBOL vmlinux 0x78c67292 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x78c91bee xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x7909b2a1 iput +EXPORT_SYMBOL vmlinux 0x7913adac __percpu_counter_add +EXPORT_SYMBOL vmlinux 0x793c336a dentry_unhash +EXPORT_SYMBOL vmlinux 0x7949ab9e vfs_writev +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79ad224b tasklet_kill +EXPORT_SYMBOL vmlinux 0x79ae628f nobh_write_end +EXPORT_SYMBOL vmlinux 0x79d6c54a sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x79d81035 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x7a1f061e write_one_page +EXPORT_SYMBOL vmlinux 0x7a2a837d strict_strtol +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a7fffd6 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x7a86cd45 mutex_unlock +EXPORT_SYMBOL vmlinux 0x7a90b40c matrox_G100 +EXPORT_SYMBOL vmlinux 0x7a92983b vfs_quota_on_mount +EXPORT_SYMBOL vmlinux 0x7a9d009f blk_plug_device_unlocked +EXPORT_SYMBOL vmlinux 0x7aa9e259 _lv1_map_htab +EXPORT_SYMBOL vmlinux 0x7acf96b9 nf_register_hooks +EXPORT_SYMBOL vmlinux 0x7ae73de1 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x7b63766e locks_remove_posix +EXPORT_SYMBOL vmlinux 0x7b63d05d read_dev_sector +EXPORT_SYMBOL vmlinux 0x7b8f4c40 key_create_or_update +EXPORT_SYMBOL vmlinux 0x7ba32d2f phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x7bb7d6f6 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0x7be35ded tty_hangup +EXPORT_SYMBOL vmlinux 0x7be92a06 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x7bf932a6 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x7bfd8929 bio_integrity_endio +EXPORT_SYMBOL vmlinux 0x7bff3be7 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x7c1cde82 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x7c2149a2 vfs_mknod +EXPORT_SYMBOL vmlinux 0x7c32a620 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c61340c __release_region +EXPORT_SYMBOL vmlinux 0x7c6b3ed7 scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0x7c6cd72b secpath_dup +EXPORT_SYMBOL vmlinux 0x7c7b6c83 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x7c859462 generic_block_bmap +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c9291d1 csum_partial_copy_generic +EXPORT_SYMBOL vmlinux 0x7c9b7650 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x7c9fbe8c bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x7ca341af kernel_thread +EXPORT_SYMBOL vmlinux 0x7cb1ae69 cpu_down +EXPORT_SYMBOL vmlinux 0x7cb56299 phy_connect_direct +EXPORT_SYMBOL vmlinux 0x7cc05e97 give_up_console +EXPORT_SYMBOL vmlinux 0x7cc08bc6 kset_register +EXPORT_SYMBOL vmlinux 0x7ce4a153 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x7cf84f9f tcp_child_process +EXPORT_SYMBOL vmlinux 0x7cfe3b6f jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x7d03ce15 __breadahead +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d554651 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x7d716a92 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x7d84a916 dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x7d982324 bio_clone +EXPORT_SYMBOL vmlinux 0x7daeb8d2 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x7dc2810d tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x7dc97879 rtas_get_error_log_max +EXPORT_SYMBOL vmlinux 0x7dceceac capable +EXPORT_SYMBOL vmlinux 0x7dd682e8 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x7de5eafe up_read +EXPORT_SYMBOL vmlinux 0x7e0d73d6 seq_puts +EXPORT_SYMBOL vmlinux 0x7e34f8ba load_nls_default +EXPORT_SYMBOL vmlinux 0x7e613127 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0x7eaf5e2b scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x7ec2fe05 delayed_slow_work_enqueue +EXPORT_SYMBOL vmlinux 0x7ec3d455 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x7ec9bfbc strncpy +EXPORT_SYMBOL vmlinux 0x7edd036c tcf_hash_create +EXPORT_SYMBOL vmlinux 0x7edd1430 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x7f15751a init_file +EXPORT_SYMBOL vmlinux 0x7f24b275 netlink_broadcast +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f278f17 pci_save_state +EXPORT_SYMBOL vmlinux 0x7f462012 nf_log_register +EXPORT_SYMBOL vmlinux 0x7f713dfa ps3_dma_region_create +EXPORT_SYMBOL vmlinux 0x7f8f8b76 completion_done +EXPORT_SYMBOL vmlinux 0x7faf4e9b ipv4_specific +EXPORT_SYMBOL vmlinux 0x7fc712d8 bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x7fd4d06f tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x7fd7b821 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x7ff0290d pipe_to_file +EXPORT_SYMBOL vmlinux 0x8005ea88 open_exec +EXPORT_SYMBOL vmlinux 0x801d66cb __raw_spin_unlock_wait +EXPORT_SYMBOL vmlinux 0x801f5a3f __strncpy_from_user +EXPORT_SYMBOL vmlinux 0x80428c80 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x8050918f rtnl_create_link +EXPORT_SYMBOL vmlinux 0x80580e4c get_sb_bdev +EXPORT_SYMBOL vmlinux 0x8075639a idr_remove +EXPORT_SYMBOL vmlinux 0x8098df4d sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x80b08752 phy_start_aneg +EXPORT_SYMBOL vmlinux 0x80b9c3ac ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x80c34e6e cdev_init +EXPORT_SYMBOL vmlinux 0x81091092 vfs_rename +EXPORT_SYMBOL vmlinux 0x811a9c41 kernel_connect +EXPORT_SYMBOL vmlinux 0x8123c9cd serio_unregister_port +EXPORT_SYMBOL vmlinux 0x812968c8 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x812f20aa jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0x81379f5e nf_afinfo +EXPORT_SYMBOL vmlinux 0x813a763b call_usermodehelper_freeinfo +EXPORT_SYMBOL vmlinux 0x81428d01 inet_shutdown +EXPORT_SYMBOL vmlinux 0x81442648 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x81ad395b inode_permission +EXPORT_SYMBOL vmlinux 0x81c0a84f rtas_set_indicator +EXPORT_SYMBOL vmlinux 0x81cd9eb3 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x81d9f7f2 _lv1_put_iopte +EXPORT_SYMBOL vmlinux 0x81fbb612 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x820d225f print_mac +EXPORT_SYMBOL vmlinux 0x822b528d __vlan_hwaccel_rx +EXPORT_SYMBOL vmlinux 0x8234349b blk_get_request +EXPORT_SYMBOL vmlinux 0x824784ec cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x82636373 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x82692209 kref_set +EXPORT_SYMBOL vmlinux 0x828a41a6 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x82a704bf scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x82a7f746 mach_powermac +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82b4b1ce default_llseek +EXPORT_SYMBOL vmlinux 0x82bd90c1 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x82c507c8 get_super +EXPORT_SYMBOL vmlinux 0x82e5a238 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x82e9c083 csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x834b4757 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x834eac64 unregister_console +EXPORT_SYMBOL vmlinux 0x83569a6b tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x83873720 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83b2145f vio_find_node +EXPORT_SYMBOL vmlinux 0x83c43dc1 posix_acl_chmod_masq +EXPORT_SYMBOL vmlinux 0x84132f2a lro_vlan_hwaccel_receive_skb +EXPORT_SYMBOL vmlinux 0x8420c1d0 sg_next +EXPORT_SYMBOL vmlinux 0x84231605 vfs_fsync +EXPORT_SYMBOL vmlinux 0x84415931 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x845124e0 ps3_mm_phys_to_lpar +EXPORT_SYMBOL vmlinux 0x847e7526 start_tty +EXPORT_SYMBOL vmlinux 0x8497e016 dev_unicast_delete +EXPORT_SYMBOL vmlinux 0x84aa9bd8 ethtool_op_set_tso +EXPORT_SYMBOL vmlinux 0x84c20f61 unregister_key_type +EXPORT_SYMBOL vmlinux 0x84d69475 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x84d86e2c posix_acl_permission +EXPORT_SYMBOL vmlinux 0x84e04f7d __napi_complete +EXPORT_SYMBOL vmlinux 0x84fb81e6 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x851c1b5b bd_claim +EXPORT_SYMBOL vmlinux 0x8540b5be sleep_on +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x8577b8e0 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x85919696 d_move +EXPORT_SYMBOL vmlinux 0x8597eb47 plpar_hcall +EXPORT_SYMBOL vmlinux 0x85abc85f strncmp +EXPORT_SYMBOL vmlinux 0x85b0be2a pcim_iomap +EXPORT_SYMBOL vmlinux 0x85d35553 slow_work_cancel +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85f83a44 skb_gso_segment +EXPORT_SYMBOL vmlinux 0x8631f188 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x8632aa94 dev_unicast_sync +EXPORT_SYMBOL vmlinux 0x863cfffc dquot_reserve_space +EXPORT_SYMBOL vmlinux 0x8641b8c7 unlock_super +EXPORT_SYMBOL vmlinux 0x864fcf91 fget +EXPORT_SYMBOL vmlinux 0x8656592b bioset_create +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x866e93aa sock_i_ino +EXPORT_SYMBOL vmlinux 0x86816caa scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86c81a43 down_trylock +EXPORT_SYMBOL vmlinux 0x86ca282c vfs_rmdir +EXPORT_SYMBOL vmlinux 0x86db1cbb rtas_flash_term_hook +EXPORT_SYMBOL vmlinux 0x86f8a75a bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x871b9eca of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x87305b07 phy_print_status +EXPORT_SYMBOL vmlinux 0x874a5e38 textsearch_register +EXPORT_SYMBOL vmlinux 0x874e0b9d idr_init +EXPORT_SYMBOL vmlinux 0x874ed3db blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x878baa86 vfs_readv +EXPORT_SYMBOL vmlinux 0x87a6ddfc neigh_update +EXPORT_SYMBOL vmlinux 0x87ab5eeb compat_nf_getsockopt +EXPORT_SYMBOL vmlinux 0x87ceb763 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x87d5fa93 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x87e35d10 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x8800f53f skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x880b48f2 hippi_type_trans +EXPORT_SYMBOL vmlinux 0x880da1b1 _lv1_get_logical_partition_id +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x88225445 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x883e6faf elv_queue_empty +EXPORT_SYMBOL vmlinux 0x88491d30 simple_transaction_get +EXPORT_SYMBOL vmlinux 0x885b7de9 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x886aa274 posix_acl_create_masq +EXPORT_SYMBOL vmlinux 0x886c3f5a jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x88b0eb23 elv_rb_find +EXPORT_SYMBOL vmlinux 0x88bea6d2 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x88d91f3b otg_get_transceiver +EXPORT_SYMBOL vmlinux 0x8912b061 __find_get_block +EXPORT_SYMBOL vmlinux 0x895577b0 numa_cpu_lookup_table +EXPORT_SYMBOL vmlinux 0x896e9fb1 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x89894770 skb_insert +EXPORT_SYMBOL vmlinux 0x898a7764 posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0x89badc96 sock_i_uid +EXPORT_SYMBOL vmlinux 0x89c5a8be smu_get_sdb_partition +EXPORT_SYMBOL vmlinux 0x89ce4095 cdrom_open +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89dab394 mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x89db13a5 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x89e8f0d9 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x8a080243 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x8a0b950a follow_down +EXPORT_SYMBOL vmlinux 0x8a1203a9 kref_get +EXPORT_SYMBOL vmlinux 0x8a1fecd5 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x8a2542b7 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x8a2d0597 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x8a318344 simple_write_begin +EXPORT_SYMBOL vmlinux 0x8a373fd7 twl4030_i2c_write +EXPORT_SYMBOL vmlinux 0x8a4a943f sk_run_filter +EXPORT_SYMBOL vmlinux 0x8a7bfa83 elv_rb_del +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 0x8ac07b48 tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0x8ac40297 iommu_area_free +EXPORT_SYMBOL vmlinux 0x8af82afa blk_put_request +EXPORT_SYMBOL vmlinux 0x8b0eebf0 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x8b323a6f dquot_scan_active +EXPORT_SYMBOL vmlinux 0x8b5cc278 bdi_register_dev +EXPORT_SYMBOL vmlinux 0x8b7fe311 kmemdup +EXPORT_SYMBOL vmlinux 0x8b96377f pci_get_subsys +EXPORT_SYMBOL vmlinux 0x8bcc3a3a _spin_lock_bh +EXPORT_SYMBOL vmlinux 0x8bd313b8 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x8bd5b603 param_get_long +EXPORT_SYMBOL vmlinux 0x8c05e4cd d_rehash +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c35d043 default_unplug_io_fn +EXPORT_SYMBOL vmlinux 0x8c3cc895 __page_symlink +EXPORT_SYMBOL vmlinux 0x8c4059f8 register_snap_client +EXPORT_SYMBOL vmlinux 0x8c4098db alloc_pci_dev +EXPORT_SYMBOL vmlinux 0x8c537c45 posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x8c8d79c0 _lv1_gpu_context_iomap +EXPORT_SYMBOL vmlinux 0x8c9705c9 blk_recount_segments +EXPORT_SYMBOL vmlinux 0x8c9e9b44 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x8c9f0b38 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8ceeede0 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x8d12643e tty_unthrottle +EXPORT_SYMBOL vmlinux 0x8d3894f2 _ctype +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d6906d4 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x8d6ef862 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x8d944cbb copy_in_user +EXPORT_SYMBOL vmlinux 0x8dcb8213 ida_remove +EXPORT_SYMBOL vmlinux 0x8de2fbc5 _lv1_get_virtual_uart_param +EXPORT_SYMBOL vmlinux 0x8dfcca10 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x8e0b7743 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x8e36a9bf genphy_update_link +EXPORT_SYMBOL vmlinux 0x8e3c9cc3 vprintk +EXPORT_SYMBOL vmlinux 0x8e4c5ff7 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x8e562923 dentry_open +EXPORT_SYMBOL vmlinux 0x8e72ee12 alloc_disk +EXPORT_SYMBOL vmlinux 0x8e763ae1 send_remote_softirq +EXPORT_SYMBOL vmlinux 0x8ebdc1dd jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x8edddc73 filemap_fault +EXPORT_SYMBOL vmlinux 0x8ede4eb5 vc_resize +EXPORT_SYMBOL vmlinux 0x8ee69235 timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8eea1bc9 smu_poll +EXPORT_SYMBOL vmlinux 0x8ef833f6 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x8efcbb9f tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x8f060a87 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x8f094416 dm_table_get_size +EXPORT_SYMBOL vmlinux 0x8f10b05b fb_get_mode +EXPORT_SYMBOL vmlinux 0x8f1838bd find_get_pages_tag +EXPORT_SYMBOL vmlinux 0x8f29ba76 __pci_register_driver +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f55a3cf tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x8f608116 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x8f6a392d phy_sanitize_settings +EXPORT_SYMBOL vmlinux 0x8f6b7950 set_irq_data +EXPORT_SYMBOL vmlinux 0x8f8fd819 bdev_read_only +EXPORT_SYMBOL vmlinux 0x8fd1a3aa nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x8fd8b7bc _write_lock_irq +EXPORT_SYMBOL vmlinux 0x8fed72f5 eth_header_cache +EXPORT_SYMBOL vmlinux 0x8ff4dc06 dev_addr_add +EXPORT_SYMBOL vmlinux 0x90035333 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x90214321 netif_rx +EXPORT_SYMBOL vmlinux 0x9029f6e6 tcf_hash_release +EXPORT_SYMBOL vmlinux 0x9043dfa9 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x9065e79f generic_file_splice_write +EXPORT_SYMBOL vmlinux 0x9077906b gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x90827a88 mutex_lock +EXPORT_SYMBOL vmlinux 0x90a24367 __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x9105f9c3 kill_block_super +EXPORT_SYMBOL vmlinux 0x91201cef _lv1_enable_logical_spe +EXPORT_SYMBOL vmlinux 0x912557ce rtas_busy_delay +EXPORT_SYMBOL vmlinux 0x913c6c89 of_register_i2c_devices +EXPORT_SYMBOL vmlinux 0x91481982 __ratelimit +EXPORT_SYMBOL vmlinux 0x915e1208 tb_ticks_per_usec +EXPORT_SYMBOL vmlinux 0x9168c033 rtas_get_sensor +EXPORT_SYMBOL vmlinux 0x91766c09 param_get_ulong +EXPORT_SYMBOL vmlinux 0x919149d0 __kfree_skb +EXPORT_SYMBOL vmlinux 0x919d1163 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x91c20d81 bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x91c4feca _lv1_unmap_htab +EXPORT_SYMBOL vmlinux 0x91cd2798 pci_map_rom +EXPORT_SYMBOL vmlinux 0x9214ed8a param_get_bool +EXPORT_SYMBOL vmlinux 0x92392cd9 iov_shorten +EXPORT_SYMBOL vmlinux 0x9248c9f3 cfb_copyarea +EXPORT_SYMBOL vmlinux 0x924d1d7f of_translate_dma_address +EXPORT_SYMBOL vmlinux 0x92528416 find_or_create_page +EXPORT_SYMBOL vmlinux 0x926f30c1 __free_pages +EXPORT_SYMBOL vmlinux 0x927eb5fe llc_set_station_handler +EXPORT_SYMBOL vmlinux 0x92924729 scsi_print_result +EXPORT_SYMBOL vmlinux 0x9296c93d udp_table +EXPORT_SYMBOL vmlinux 0x92a079bc pci_iounmap +EXPORT_SYMBOL vmlinux 0x92a9a11d __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x92d170ca posix_test_lock +EXPORT_SYMBOL vmlinux 0x92da05af __f_setown +EXPORT_SYMBOL vmlinux 0x92de93ea pci_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0x92ea4ae4 crc32_le +EXPORT_SYMBOL vmlinux 0x92f5df56 i2c_register_driver +EXPORT_SYMBOL vmlinux 0x92fa18c6 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x930a8d01 elevator_exit +EXPORT_SYMBOL vmlinux 0x9318a2c8 vfs_get_dqblk +EXPORT_SYMBOL vmlinux 0x9318e214 tc_classify +EXPORT_SYMBOL vmlinux 0x931d2521 mempool_resize +EXPORT_SYMBOL vmlinux 0x931d8f54 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x93435a5c nf_setsockopt +EXPORT_SYMBOL vmlinux 0x93507f1c _lv1_gpu_memory_allocate +EXPORT_SYMBOL vmlinux 0x93673afb matrox_mystique +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93ab7cd9 mb_cache_create +EXPORT_SYMBOL vmlinux 0x93d514b7 matrox_cfbX_init +EXPORT_SYMBOL vmlinux 0x93e1f338 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x9423cc36 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x944b1a37 of_find_device_by_phandle +EXPORT_SYMBOL vmlinux 0x9458a362 tcf_hash_search +EXPORT_SYMBOL vmlinux 0x94614156 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x94847b23 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x94938564 skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94b73d20 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x94cd2db0 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x94d8e637 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x95063bb2 idr_remove_all +EXPORT_SYMBOL vmlinux 0x9514151a _mcount +EXPORT_SYMBOL vmlinux 0x9524b0ae _outsb +EXPORT_SYMBOL vmlinux 0x952a0707 fail_migrate_page +EXPORT_SYMBOL vmlinux 0x952e843b machine_is_compatible +EXPORT_SYMBOL vmlinux 0x953c854b qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x954cbb26 vsprintf +EXPORT_SYMBOL vmlinux 0x9553810c kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x95634999 vfs_quota_sync +EXPORT_SYMBOL vmlinux 0x956c490f sg_last +EXPORT_SYMBOL vmlinux 0x957b806e jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x95ceb864 key_update +EXPORT_SYMBOL vmlinux 0x95d463b9 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x95ee0700 security_file_permission +EXPORT_SYMBOL vmlinux 0x95f3d4a7 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x96169574 d_find_alias +EXPORT_SYMBOL vmlinux 0x9640f120 sg_miter_next +EXPORT_SYMBOL vmlinux 0x96643aa2 sock_no_bind +EXPORT_SYMBOL vmlinux 0x96661f57 arp_xmit +EXPORT_SYMBOL vmlinux 0x9685b3fe blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x968d9dde neigh_compat_output +EXPORT_SYMBOL vmlinux 0x9690f9f7 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x96ab6647 vga_client_register +EXPORT_SYMBOL vmlinux 0x96bc67b7 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96d56018 percpu_counter_set +EXPORT_SYMBOL vmlinux 0x96dc86a0 llc_sap_find +EXPORT_SYMBOL vmlinux 0x970c0be6 journal_revoke +EXPORT_SYMBOL vmlinux 0x9710c39f blk_stack_limits +EXPORT_SYMBOL vmlinux 0x9748927f _outsw_ns +EXPORT_SYMBOL vmlinux 0x97494a59 kern_path +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x975ae81e dev_get_drvdata +EXPORT_SYMBOL vmlinux 0x9769f6fe vio_enable_interrupts +EXPORT_SYMBOL vmlinux 0x976e014f _lv1_map_device_mmio_region +EXPORT_SYMBOL vmlinux 0x9785b023 swiotlb_free_coherent +EXPORT_SYMBOL vmlinux 0x979be89a tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x97a53420 pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0x97b1fdf8 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x97e82694 seq_open_private +EXPORT_SYMBOL vmlinux 0x97ec1ae9 check_disk_size_change +EXPORT_SYMBOL vmlinux 0x9801a0ae tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x9801ece6 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x98177648 _lv1_set_lpm_interval +EXPORT_SYMBOL vmlinux 0x98188b78 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x9825f2d6 create_mnt_ns +EXPORT_SYMBOL vmlinux 0x983d42de devm_iounmap +EXPORT_SYMBOL vmlinux 0x984a72fd fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x984b2402 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x9854acbf generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x9869c1d3 find_lock_page +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x987fed2a xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x989b52fe filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x989d4082 _write_trylock +EXPORT_SYMBOL vmlinux 0x98da768a dm_io_client_create +EXPORT_SYMBOL vmlinux 0x98dbf28a dquot_commit_info +EXPORT_SYMBOL vmlinux 0x98e720f3 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x98f0355c setup_arg_pages +EXPORT_SYMBOL vmlinux 0x99320644 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x99383d5c pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x99520eb2 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x996162f8 pid_task +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99a0db61 journal_check_used_features +EXPORT_SYMBOL vmlinux 0x99acb189 i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c01138 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x99c24cfe _lv1_free_device_dma_region +EXPORT_SYMBOL vmlinux 0x99c7a8b8 jbd2_dev_to_name +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99dd1451 rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0x99e32c9f __blk_run_queue +EXPORT_SYMBOL vmlinux 0x99ea12ce panic_blink +EXPORT_SYMBOL vmlinux 0x9a054270 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x9a1ac780 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a1ffb92 _lv1_clear_spe_interrupt_status +EXPORT_SYMBOL vmlinux 0x9a6c2531 pasemi_dma_init +EXPORT_SYMBOL vmlinux 0x9a78b3dd __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x9aabc564 crc16 +EXPORT_SYMBOL vmlinux 0x9ab7f9d7 insert_inode_locked +EXPORT_SYMBOL vmlinux 0x9abd0051 inode_add_bytes +EXPORT_SYMBOL vmlinux 0x9ac3e079 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x9af3401d journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x9af6ac13 pci_fixup_device +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b71255e bio_alloc +EXPORT_SYMBOL vmlinux 0x9b9f8d5a journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9bc970d1 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x9bd394ed request_firmware +EXPORT_SYMBOL vmlinux 0x9bf0c4b0 __bread +EXPORT_SYMBOL vmlinux 0x9bf80240 blk_plug_device +EXPORT_SYMBOL vmlinux 0x9c012508 fb_parse_edid +EXPORT_SYMBOL vmlinux 0x9c052597 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x9c0ea3cd memscan +EXPORT_SYMBOL vmlinux 0x9c4ad25c mpage_writepage +EXPORT_SYMBOL vmlinux 0x9c5f589b pcim_pin_device +EXPORT_SYMBOL vmlinux 0x9c694569 bio_unmap_user +EXPORT_SYMBOL vmlinux 0x9c6a6b55 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x9c71e738 per_cpu__vm_event_states +EXPORT_SYMBOL vmlinux 0x9c7f3fcd scsi_allocate_command +EXPORT_SYMBOL vmlinux 0x9ca95a0e sort +EXPORT_SYMBOL vmlinux 0x9cb01603 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9ce103a0 down_write_trylock +EXPORT_SYMBOL vmlinux 0x9cf9a9b1 seq_escape +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d0c3f33 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x9d14983a ppc_enable_pmcs +EXPORT_SYMBOL vmlinux 0x9d15f41d clocksource_unregister +EXPORT_SYMBOL vmlinux 0x9d2c9eaf dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d57e17c journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x9d6b128c neigh_event_ns +EXPORT_SYMBOL vmlinux 0x9d775348 write_cache_pages +EXPORT_SYMBOL vmlinux 0x9d822445 __blk_end_request +EXPORT_SYMBOL vmlinux 0x9d8c2408 phy_device_register +EXPORT_SYMBOL vmlinux 0x9d9e212f inet_select_addr +EXPORT_SYMBOL vmlinux 0x9dad1f62 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x9db21624 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x9df174c9 of_match_device +EXPORT_SYMBOL vmlinux 0x9e1e26e4 lease_modify +EXPORT_SYMBOL vmlinux 0x9e22b70b of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x9e28459a dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x9e2f04cb journal_wipe +EXPORT_SYMBOL vmlinux 0x9e3a5450 fddi_change_mtu +EXPORT_SYMBOL vmlinux 0x9e3e9c55 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x9e4337e6 get_fs_type +EXPORT_SYMBOL vmlinux 0x9e6abb21 bio_sector_offset +EXPORT_SYMBOL vmlinux 0x9e8e6a38 lro_receive_frags +EXPORT_SYMBOL vmlinux 0x9e923edc send_sig +EXPORT_SYMBOL vmlinux 0x9e97375d rtas_busy_delay_time +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ea1f537 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0x9ea29f3c init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x9ebd4c04 adjust_resource +EXPORT_SYMBOL vmlinux 0x9ec54e4c scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x9edbecae snprintf +EXPORT_SYMBOL vmlinux 0x9ede5306 phy_register_fixup +EXPORT_SYMBOL vmlinux 0x9ee78669 _lv1_write_virtual_uart +EXPORT_SYMBOL vmlinux 0x9eecde16 do_brk +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f2d613e param_set_bool +EXPORT_SYMBOL vmlinux 0x9f5c4f5a __bforget +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9f9f2b0b __sg_free_table +EXPORT_SYMBOL vmlinux 0x9fb030f4 del_timer_sync +EXPORT_SYMBOL vmlinux 0x9fc07928 names_cachep +EXPORT_SYMBOL vmlinux 0x9fccfb50 km_policy_notify +EXPORT_SYMBOL vmlinux 0x9fe6bea4 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x9fe6fa56 ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0xa006086d do_SAK +EXPORT_SYMBOL vmlinux 0xa01ad8c7 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xa0311f7f simple_lookup +EXPORT_SYMBOL vmlinux 0xa03523d5 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa0ae1dd0 pmac_resume_agp_for_card +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0d3d560 ksize +EXPORT_SYMBOL vmlinux 0xa0e4271a sk_release_kernel +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa13798f8 printk_ratelimit +EXPORT_SYMBOL vmlinux 0xa1661428 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0xa1ace497 dev_driver_string +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1ba4b95 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1cea0b8 proc_dointvec +EXPORT_SYMBOL vmlinux 0xa209baae scsi_register +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa2127cdc pasemi_dma_alloc_flag +EXPORT_SYMBOL vmlinux 0xa2223cf9 dcache_dir_close +EXPORT_SYMBOL vmlinux 0xa22e26ab inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xa28e76e6 schedule_work +EXPORT_SYMBOL vmlinux 0xa2976eca compat_sock_get_timestampns +EXPORT_SYMBOL vmlinux 0xa29b1708 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0xa2a2e7d3 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2bbed37 crash_shutdown_register +EXPORT_SYMBOL vmlinux 0xa2d4c119 complete_all +EXPORT_SYMBOL vmlinux 0xa2ee1338 nf_getsockopt +EXPORT_SYMBOL vmlinux 0xa329f07e register_shrinker +EXPORT_SYMBOL vmlinux 0xa32f7704 fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa333f749 ilookup +EXPORT_SYMBOL vmlinux 0xa33b2dc7 rtc_dev_update_irq_enable_emul +EXPORT_SYMBOL vmlinux 0xa33f7c7c nla_strlcpy +EXPORT_SYMBOL vmlinux 0xa342561f vio_unregister_device +EXPORT_SYMBOL vmlinux 0xa3473d80 scsi_free_command +EXPORT_SYMBOL vmlinux 0xa35778d4 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa389a9ee sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0xa39b4cf2 udelay +EXPORT_SYMBOL vmlinux 0xa3a9af11 tty_mutex +EXPORT_SYMBOL vmlinux 0xa3caa0cf lookup_bdev +EXPORT_SYMBOL vmlinux 0xa3ffe5c2 lease_get_mtime +EXPORT_SYMBOL vmlinux 0xa42015a4 pci_iomap +EXPORT_SYMBOL vmlinux 0xa422d4c9 vfs_dq_drop +EXPORT_SYMBOL vmlinux 0xa435375c pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xa480c04b _lv1_gpu_context_attribute +EXPORT_SYMBOL vmlinux 0xa495b0ce pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0xa497f563 phy_start +EXPORT_SYMBOL vmlinux 0xa49e309e neigh_destroy +EXPORT_SYMBOL vmlinux 0xa4b932fd sock_no_mmap +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4bdd447 __cputime_clockt_factor +EXPORT_SYMBOL vmlinux 0xa4c77317 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0xa4dcc7eb sock_kfree_s +EXPORT_SYMBOL vmlinux 0xa4eecd02 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0xa50031b4 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xa5023ae1 of_unregister_driver +EXPORT_SYMBOL vmlinux 0xa5365478 sys_fillrect +EXPORT_SYMBOL vmlinux 0xa576c263 generic_find_next_le_bit +EXPORT_SYMBOL vmlinux 0xa5808bbf tasklet_init +EXPORT_SYMBOL vmlinux 0xa58b6804 nla_parse +EXPORT_SYMBOL vmlinux 0xa58cfcb2 blk_start_queue +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa59f6b32 d_alloc +EXPORT_SYMBOL vmlinux 0xa5aaba63 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0xa5b00659 ppc_proc_freq +EXPORT_SYMBOL vmlinux 0xa5ee0498 scsi_print_command +EXPORT_SYMBOL vmlinux 0xa63f9355 pci_disable_device +EXPORT_SYMBOL vmlinux 0xa65972b8 _memcpy_toio +EXPORT_SYMBOL vmlinux 0xa67e1cae dm_table_put +EXPORT_SYMBOL vmlinux 0xa67e5fcc blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xa68124fa hweight8 +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6a5d973 pci_enable_bridges +EXPORT_SYMBOL vmlinux 0xa6bdce70 mpage_readpage +EXPORT_SYMBOL vmlinux 0xa6db76ca seq_release_private +EXPORT_SYMBOL vmlinux 0xa6dc9685 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6de5ea3 bio_add_page +EXPORT_SYMBOL vmlinux 0xa7026feb dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0xa71bc972 unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0xa72a0f5b nr_online_nodes +EXPORT_SYMBOL vmlinux 0xa76b913c sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0xa77bc3a5 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xa7b505bb register_qdisc +EXPORT_SYMBOL vmlinux 0xa7b8cdd2 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0xa7c05d8f init_buffer +EXPORT_SYMBOL vmlinux 0xa7e58ba4 per_cpu__ftrace_event_seq +EXPORT_SYMBOL vmlinux 0xa80fcfb3 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0xa82215c6 bio_map_user +EXPORT_SYMBOL vmlinux 0xa8544eac filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xa859298c get_sb_single +EXPORT_SYMBOL vmlinux 0xa85eea5f blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0xa8755a57 kernel_listen +EXPORT_SYMBOL vmlinux 0xa8851856 dquot_alloc +EXPORT_SYMBOL vmlinux 0xa886a958 krealloc +EXPORT_SYMBOL vmlinux 0xa8a68648 skb_seq_read +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 0xa901353a pci_release_region +EXPORT_SYMBOL vmlinux 0xa9058235 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0xa91c77b6 _lv1_end_of_interrupt +EXPORT_SYMBOL vmlinux 0xa91e0b26 journal_clear_err +EXPORT_SYMBOL vmlinux 0xa922f240 _read_lock_irq +EXPORT_SYMBOL vmlinux 0xa94563ec ide_set_handler +EXPORT_SYMBOL vmlinux 0xa997ee3b ethtool_op_set_tx_hw_csum +EXPORT_SYMBOL vmlinux 0xa9986364 open_by_devnum +EXPORT_SYMBOL vmlinux 0xa99f688c fifo_create_dflt +EXPORT_SYMBOL vmlinux 0xa9d41e0a inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xa9d96c98 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0xa9df2c52 __ip_select_ident +EXPORT_SYMBOL vmlinux 0xa9e8549a dquot_free_space +EXPORT_SYMBOL vmlinux 0xa9e8ce46 proc_create_data +EXPORT_SYMBOL vmlinux 0xaa0edca8 pasemi_dma_alloc_fun +EXPORT_SYMBOL vmlinux 0xaa4870a1 new_inode +EXPORT_SYMBOL vmlinux 0xaa4a6f2d ps2_init +EXPORT_SYMBOL vmlinux 0xaa4bad81 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xaa66b4e7 d_splice_alias +EXPORT_SYMBOL vmlinux 0xaa6fe5c9 cont_write_begin +EXPORT_SYMBOL vmlinux 0xaa7910d4 register_gifconf +EXPORT_SYMBOL vmlinux 0xaa943532 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0xaa964832 scsi_target_resume +EXPORT_SYMBOL vmlinux 0xaab28b4d journal_force_commit +EXPORT_SYMBOL vmlinux 0xaac33ab2 fasync_helper +EXPORT_SYMBOL vmlinux 0xaacf4bd8 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0xaad713b0 machine_id +EXPORT_SYMBOL vmlinux 0xaae9ccf7 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0xaaf3d1df inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab3fcab6 make_EII_client +EXPORT_SYMBOL vmlinux 0xab5c7240 llc_build_and_send_ui_pkt +EXPORT_SYMBOL vmlinux 0xab66f611 _lv1_set_lpm_trigger_control +EXPORT_SYMBOL vmlinux 0xab80b511 remap_pfn_range +EXPORT_SYMBOL vmlinux 0xaba9ff34 allocate_resource +EXPORT_SYMBOL vmlinux 0xabaabea8 seq_lseek +EXPORT_SYMBOL vmlinux 0xabc77ca1 udp_prot +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabd8e427 matroxfb_var2my +EXPORT_SYMBOL vmlinux 0xac06fa27 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac2a70f7 input_open_device +EXPORT_SYMBOL vmlinux 0xac383451 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xacbaede1 xfrm_lookup +EXPORT_SYMBOL vmlinux 0xacc1409f sk_receive_skb +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xacd14ab8 _lv1_construct_logical_spe +EXPORT_SYMBOL vmlinux 0xacd78481 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0xacdeb154 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xacf3ecf7 tcp_parse_options +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacff258f tty_kref_put +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad1c5e97 prepare_creds +EXPORT_SYMBOL vmlinux 0xad4ebe22 _write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xada28b78 init_special_inode +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadb4a5b0 bd_release +EXPORT_SYMBOL vmlinux 0xaddb6eed page_follow_link_light +EXPORT_SYMBOL vmlinux 0xade4e098 simple_fill_super +EXPORT_SYMBOL vmlinux 0xade89df6 scsi_finish_command +EXPORT_SYMBOL vmlinux 0xadeffe25 _lv1_gpu_context_intr +EXPORT_SYMBOL vmlinux 0xae04a92b genl_register_ops +EXPORT_SYMBOL vmlinux 0xae11a163 pci_write_vpd +EXPORT_SYMBOL vmlinux 0xae4d5ad9 inet_sendmsg +EXPORT_SYMBOL vmlinux 0xaea7d857 scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0xaebdec76 __scsi_add_device +EXPORT_SYMBOL vmlinux 0xaebe8cb3 sys_copyarea +EXPORT_SYMBOL vmlinux 0xaed013b9 posix_acl_valid +EXPORT_SYMBOL vmlinux 0xaed5fc8a nobh_writepage +EXPORT_SYMBOL vmlinux 0xaed6301d bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xaee71705 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0xaef2ac02 __netdev_alloc_page +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf423619 mutex_trylock +EXPORT_SYMBOL vmlinux 0xaf438d65 _lv1_get_repository_node_value +EXPORT_SYMBOL vmlinux 0xaf8e9a53 scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0xafa7bd33 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0xafb34a5d inode_setattr +EXPORT_SYMBOL vmlinux 0xafb8fd77 vio_register_device_node +EXPORT_SYMBOL vmlinux 0xafe75c59 backlight_force_update +EXPORT_SYMBOL vmlinux 0xafe82e10 strcspn +EXPORT_SYMBOL vmlinux 0xafef8fa9 register_memory_notifier +EXPORT_SYMBOL vmlinux 0xb00ef5ac proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xb055d8da posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0xb0723188 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xb091745b i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0xb09cc620 skb_queue_purge +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0ee9d5f bio_split +EXPORT_SYMBOL vmlinux 0xb0fd4df4 alloc_pages_current +EXPORT_SYMBOL vmlinux 0xb0ff5ecf pci_find_device +EXPORT_SYMBOL vmlinux 0xb105b0df release_sock +EXPORT_SYMBOL vmlinux 0xb115b393 backlight_device_register +EXPORT_SYMBOL vmlinux 0xb11fa1ce strlcat +EXPORT_SYMBOL vmlinux 0xb15bd8fa tb_ticks_per_sec +EXPORT_SYMBOL vmlinux 0xb18e02c3 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xb18f3f06 ide_xfer_verbose +EXPORT_SYMBOL vmlinux 0xb192d700 __serio_register_port +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb19bf6b3 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0xb1b6974f call_usermodehelper_setfns +EXPORT_SYMBOL vmlinux 0xb1b859b6 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1e83272 unregister_snap_client +EXPORT_SYMBOL vmlinux 0xb1f52fb2 dev_close +EXPORT_SYMBOL vmlinux 0xb1f975aa unlock_kernel +EXPORT_SYMBOL vmlinux 0xb224fbe2 param_get_short +EXPORT_SYMBOL vmlinux 0xb22fe6a3 netdev_increment_features +EXPORT_SYMBOL vmlinux 0xb23a3e1a blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0xb242b937 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0xb248aabd pci_remove_bus +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb27f9544 netdev_bonding_change +EXPORT_SYMBOL vmlinux 0xb2a051d9 vio_disable_interrupts +EXPORT_SYMBOL vmlinux 0xb2a3e620 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0xb2a50009 console_stop +EXPORT_SYMBOL vmlinux 0xb2ba62b5 __wait_on_bit +EXPORT_SYMBOL vmlinux 0xb2c969cb gen_pool_create +EXPORT_SYMBOL vmlinux 0xb2cdfd30 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xb2d27380 generic_fillattr +EXPORT_SYMBOL vmlinux 0xb2fc8761 alloc_etherdev_mq +EXPORT_SYMBOL vmlinux 0xb30e3cd6 dev_mc_delete +EXPORT_SYMBOL vmlinux 0xb33a5c0d mutex_lock_killable +EXPORT_SYMBOL vmlinux 0xb34bb97c tty_port_init +EXPORT_SYMBOL vmlinux 0xb35d9c6a dev_add_pack +EXPORT_SYMBOL vmlinux 0xb3649ad9 i2c_master_recv +EXPORT_SYMBOL vmlinux 0xb3652964 vio_cmo_set_dev_desired +EXPORT_SYMBOL vmlinux 0xb377853d tcp_ioctl +EXPORT_SYMBOL vmlinux 0xb384498e scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xb38a3d65 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0xb391fb12 seq_bitmap +EXPORT_SYMBOL vmlinux 0xb3994c7a per_cpu__kstat +EXPORT_SYMBOL vmlinux 0xb39a6e90 pci_claim_resource +EXPORT_SYMBOL vmlinux 0xb39ee740 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xb3a2ba66 sock_get_timestampns +EXPORT_SYMBOL vmlinux 0xb3a307c6 si_meminfo +EXPORT_SYMBOL vmlinux 0xb3bf73df cpu_active_mask +EXPORT_SYMBOL vmlinux 0xb3da0432 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xb3e48cd7 tcp_poll +EXPORT_SYMBOL vmlinux 0xb3ff1f69 free_pages_exact +EXPORT_SYMBOL vmlinux 0xb40e51ea bd_set_size +EXPORT_SYMBOL vmlinux 0xb4128754 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0xb41aa2a5 find_get_page +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb42453d3 param_get_invbool +EXPORT_SYMBOL vmlinux 0xb433771e sock_no_ioctl +EXPORT_SYMBOL vmlinux 0xb43cbb7b n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0xb460da79 pci_domain_nr +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb475ada1 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xb4ade25d kill_pgrp +EXPORT_SYMBOL vmlinux 0xb4bb6690 key_type_keyring +EXPORT_SYMBOL vmlinux 0xb4c8b1f0 input_allocate_device +EXPORT_SYMBOL vmlinux 0xb4f7003f i2c_del_driver +EXPORT_SYMBOL vmlinux 0xb5044271 vsscanf +EXPORT_SYMBOL vmlinux 0xb52af531 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb55e03c7 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0xb5610950 dm_unregister_target +EXPORT_SYMBOL vmlinux 0xb565bef5 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0xb569f01f tcp4_gro_receive +EXPORT_SYMBOL vmlinux 0xb56bfd9e smu_spinwait_cmd +EXPORT_SYMBOL vmlinux 0xb57716e4 arp_broken_ops +EXPORT_SYMBOL vmlinux 0xb580f874 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xb5985df4 module_refcount +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5a838fe nf_reinject +EXPORT_SYMBOL vmlinux 0xb5c2529a alloc_trdev +EXPORT_SYMBOL vmlinux 0xb5c7d15b generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0xb5f59c70 llc_sap_close +EXPORT_SYMBOL vmlinux 0xb607c8ce brioctl_set +EXPORT_SYMBOL vmlinux 0xb64fe804 bdput +EXPORT_SYMBOL vmlinux 0xb6766e8e pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6bffb99 kstat_irqs_cpu +EXPORT_SYMBOL vmlinux 0xb6c22469 nonseekable_open +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6f59d11 dev_disable_lro +EXPORT_SYMBOL vmlinux 0xb6f8940b block_sync_page +EXPORT_SYMBOL vmlinux 0xb714a4ed scsi_ioctl +EXPORT_SYMBOL vmlinux 0xb73de76d irq_desc +EXPORT_SYMBOL vmlinux 0xb73ed49e __ide_dma_bad_drive +EXPORT_SYMBOL vmlinux 0xb747b3af kill_pid +EXPORT_SYMBOL vmlinux 0xb7585bf6 ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0xb76e6b54 journal_update_format +EXPORT_SYMBOL vmlinux 0xb798b8e4 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0xb79c32e3 blk_integrity_register +EXPORT_SYMBOL vmlinux 0xb7ab077c __lock_page +EXPORT_SYMBOL vmlinux 0xb7ccb3c7 twl4030_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xb7dbd831 pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0xb7e029af scsi_is_host_device +EXPORT_SYMBOL vmlinux 0xb7f33f7e mod_timer_pending +EXPORT_SYMBOL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL vmlinux 0xb8246697 phy_connect +EXPORT_SYMBOL vmlinux 0xb8266e7f elv_add_request +EXPORT_SYMBOL vmlinux 0xb8324683 ide_geometry_proc_fops +EXPORT_SYMBOL vmlinux 0xb84cf619 generic_file_llseek +EXPORT_SYMBOL vmlinux 0xb85cd3b3 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xb86c56e3 __scm_send +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb8827318 idr_pre_get +EXPORT_SYMBOL vmlinux 0xb892ee26 pci_pme_capable +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb89e9310 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xb8a30c7e _lv1_add_lpm_event_bookmark +EXPORT_SYMBOL vmlinux 0xb8a8789a blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0xb8f78f66 bh_submit_read +EXPORT_SYMBOL vmlinux 0xb8fbbfa5 sock_no_getname +EXPORT_SYMBOL vmlinux 0xb8fd5950 blk_queue_bounce +EXPORT_SYMBOL vmlinux 0xb90f3f77 tty_port_close_end +EXPORT_SYMBOL vmlinux 0xb93cbb71 tcp_tso_segment +EXPORT_SYMBOL vmlinux 0xb95cc752 cpu_sysdev_class +EXPORT_SYMBOL vmlinux 0xb9715fc7 unlock_rename +EXPORT_SYMBOL vmlinux 0xb972dfcc kill_fasync +EXPORT_SYMBOL vmlinux 0xb986d44f ethtool_op_get_sg +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb98cc91e sock_no_accept +EXPORT_SYMBOL vmlinux 0xb9d68201 unregister_cdrom +EXPORT_SYMBOL vmlinux 0xb9fc3aef setup_new_exec +EXPORT_SYMBOL vmlinux 0xb9fcf31e qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0xba013461 node_states +EXPORT_SYMBOL vmlinux 0xba0a45ea take_over_console +EXPORT_SYMBOL vmlinux 0xba122a2c smu_done_complete +EXPORT_SYMBOL vmlinux 0xba348cb3 input_release_device +EXPORT_SYMBOL vmlinux 0xba3d6613 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba693132 blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0xba8317d4 slow_work_enqueue +EXPORT_SYMBOL vmlinux 0xbaa2782a kstrndup +EXPORT_SYMBOL vmlinux 0xbaaab8ae timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xbacaa218 vfs_unlink +EXPORT_SYMBOL vmlinux 0xbadd5455 put_disk +EXPORT_SYMBOL vmlinux 0xbaeab1c0 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0xbaf129f6 i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0xbaf45d6b dquot_destroy +EXPORT_SYMBOL vmlinux 0xbb167766 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb1c17ef swiotlb_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0xbb1fad6a flush_delayed_work +EXPORT_SYMBOL vmlinux 0xbb4352ea neigh_table_init_no_netlink +EXPORT_SYMBOL vmlinux 0xbb5c2919 key_put +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb7a91dc _write_unlock_bh +EXPORT_SYMBOL vmlinux 0xbb7fa01b idr_get_new +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbb9d0f22 qdisc_list_del +EXPORT_SYMBOL vmlinux 0xbbb7ca52 kthread_bind +EXPORT_SYMBOL vmlinux 0xbbcf6c9d __napi_schedule +EXPORT_SYMBOL vmlinux 0xbbfd00e6 unlock_buffer +EXPORT_SYMBOL vmlinux 0xbc019901 sk_stop_timer +EXPORT_SYMBOL vmlinux 0xbc316de4 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0xbc32ef84 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0xbc460b12 blkdev_get +EXPORT_SYMBOL vmlinux 0xbc52ec37 fb_set_suspend +EXPORT_SYMBOL vmlinux 0xbc6a6b08 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xbc836f3a nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0xbc8ffe06 unregister_filesystem +EXPORT_SYMBOL vmlinux 0xbcc5028c sk_filter +EXPORT_SYMBOL vmlinux 0xbd0469d9 DAC1064_global_restore +EXPORT_SYMBOL vmlinux 0xbd359003 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0xbd4b2afd key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0xbd508099 soft_cursor +EXPORT_SYMBOL vmlinux 0xbd51d203 compat_nf_setsockopt +EXPORT_SYMBOL vmlinux 0xbd582fcd try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xbd8cfa15 pasemi_write_mac_reg +EXPORT_SYMBOL vmlinux 0xbda183e9 generic_listxattr +EXPORT_SYMBOL vmlinux 0xbde5e64d rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbdf6cb0c cdev_del +EXPORT_SYMBOL vmlinux 0xbe292186 genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xbe48cd44 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xbe660f7d xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0xbe8a1485 mempool_create +EXPORT_SYMBOL vmlinux 0xbe9b91e9 vlan_gro_frags +EXPORT_SYMBOL vmlinux 0xbeae05fc scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0xbeb56490 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xbee36ff0 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf2096b9 do_splice_from +EXPORT_SYMBOL vmlinux 0xbf72d47d blk_requeue_request +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf82ea61 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfabfe59 __debugger_iabr_match +EXPORT_SYMBOL vmlinux 0xbfb38ec4 macio_release_resource +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbff5965e vio_get_attribute +EXPORT_SYMBOL vmlinux 0xbff8182c plpar_hcall_norets +EXPORT_SYMBOL vmlinux 0xc0044724 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xc009a9b7 compat_sock_get_timestamp +EXPORT_SYMBOL vmlinux 0xc0299c5a set_bdi_congested +EXPORT_SYMBOL vmlinux 0xc04d34a8 ____pagevec_lru_add +EXPORT_SYMBOL vmlinux 0xc0543424 clip_tbl_hook +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc0793342 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0xc08c8c51 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0xc09651d9 crc32_be +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0ac7965 sk_wait_data +EXPORT_SYMBOL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL vmlinux 0xc0f0ec71 netlink_kernel_create +EXPORT_SYMBOL vmlinux 0xc0f41a3b pci_set_mwi +EXPORT_SYMBOL vmlinux 0xc0fd85ff __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0xc10a2ac2 pmac_suspend_agp_for_card +EXPORT_SYMBOL vmlinux 0xc129da0c ide_proc_unregister_driver +EXPORT_SYMBOL vmlinux 0xc13511d7 cpumask_next_and +EXPORT_SYMBOL vmlinux 0xc144fd5d blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xc15e073c generic_find_next_zero_le_bit +EXPORT_SYMBOL vmlinux 0xc173abba drop_super +EXPORT_SYMBOL vmlinux 0xc1b21282 matroxfb_DAC_out +EXPORT_SYMBOL vmlinux 0xc1ba49a9 dev_base_lock +EXPORT_SYMBOL vmlinux 0xc1bc0910 tcf_action_exec +EXPORT_SYMBOL vmlinux 0xc1c268fb blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0xc1d58231 swiotlb_unmap_sg +EXPORT_SYMBOL vmlinux 0xc1df943a mpage_writepages +EXPORT_SYMBOL vmlinux 0xc1e4c345 bdevname +EXPORT_SYMBOL vmlinux 0xc1f9b2a7 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xc1f9e0ec scsi_unregister +EXPORT_SYMBOL vmlinux 0xc2200019 ps2_end_command +EXPORT_SYMBOL vmlinux 0xc237d9b3 d_alloc_root +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc26d74f4 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0xc2894835 scsi_block_requests +EXPORT_SYMBOL vmlinux 0xc2ad3521 icmp_send +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2e92906 sk_common_release +EXPORT_SYMBOL vmlinux 0xc2fb9ee1 _lv1_shutdown_logical_partition +EXPORT_SYMBOL vmlinux 0xc30b8ceb ethtool_op_get_tx_csum +EXPORT_SYMBOL vmlinux 0xc314c3d2 __cputime_jiffies_factor +EXPORT_SYMBOL vmlinux 0xc316b98c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0xc3177f9c posix_unblock_lock +EXPORT_SYMBOL vmlinux 0xc3375e1e qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xc33f6f4c on_each_cpu +EXPORT_SYMBOL vmlinux 0xc39c47af __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xc3c1b299 __devm_release_region +EXPORT_SYMBOL vmlinux 0xc3cf1128 in_group_p +EXPORT_SYMBOL vmlinux 0xc3e9e458 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xc40ccf8a skb_store_bits +EXPORT_SYMBOL vmlinux 0xc413f3ed dquot_transfer +EXPORT_SYMBOL vmlinux 0xc41f1696 _lv1_configure_virtual_uart_irq +EXPORT_SYMBOL vmlinux 0xc42e83c5 tcf_exts_change +EXPORT_SYMBOL vmlinux 0xc43ca6cd vfs_mkdir +EXPORT_SYMBOL vmlinux 0xc4554797 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0xc4917d88 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc49d11b0 proc_symlink +EXPORT_SYMBOL vmlinux 0xc4dbb923 i2c_master_send +EXPORT_SYMBOL vmlinux 0xc4e058f9 pci_bus_type +EXPORT_SYMBOL vmlinux 0xc4e0a0bf tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0xc4f62ec0 default_file_splice_read +EXPORT_SYMBOL vmlinux 0xc503d1d4 block_read_full_page +EXPORT_SYMBOL vmlinux 0xc5089620 _lv1_stop_ppe_periodic_tracer +EXPORT_SYMBOL vmlinux 0xc514d2ed mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0xc52f5714 fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0xc54db414 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc5536839 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0xc5b58a8d of_platform_bus_type +EXPORT_SYMBOL vmlinux 0xc5d6a839 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0xc61a38bb flush_icache_user_range +EXPORT_SYMBOL vmlinux 0xc61ed358 nf_hook_slow +EXPORT_SYMBOL vmlinux 0xc624346f get_sb_nodev +EXPORT_SYMBOL vmlinux 0xc63a1f23 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xc649df41 fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0xc6620a69 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0xc663b075 __ioremap +EXPORT_SYMBOL vmlinux 0xc6b6d78c wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0xc6d327f0 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0xc6e22c4b free_task +EXPORT_SYMBOL vmlinux 0xc6e83248 lock_may_read +EXPORT_SYMBOL vmlinux 0xc6ff4c7a compat_ip_getsockopt +EXPORT_SYMBOL vmlinux 0xc70004ad sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0xc705b035 ide_complete_rq +EXPORT_SYMBOL vmlinux 0xc722227e posix_acl_clone +EXPORT_SYMBOL vmlinux 0xc740c64a memchr +EXPORT_SYMBOL vmlinux 0xc75b07d3 simple_set_mnt +EXPORT_SYMBOL vmlinux 0xc77e03de scsi_execute_req +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a24d76 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7ad2fb8 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0xc7af8c9e netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0xc7ec28b0 memcmp +EXPORT_SYMBOL vmlinux 0xc7ed42f9 skb_queue_tail +EXPORT_SYMBOL vmlinux 0xc8294fee blk_start_request +EXPORT_SYMBOL vmlinux 0xc82f9939 del_gendisk +EXPORT_SYMBOL vmlinux 0xc84963c2 fifo_set_limit +EXPORT_SYMBOL vmlinux 0xc871761a sock_no_poll +EXPORT_SYMBOL vmlinux 0xc8722bfd register_netdevice +EXPORT_SYMBOL vmlinux 0xc8829a92 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xc8875f9b blk_queue_make_request +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8ba5f8b note_scsi_host +EXPORT_SYMBOL vmlinux 0xc8ca2ead pci_read_irq_line +EXPORT_SYMBOL vmlinux 0xc8e31d75 _lv1_configure_irq_state_bitmap +EXPORT_SYMBOL vmlinux 0xc8e46569 skb_over_panic +EXPORT_SYMBOL vmlinux 0xc8ef6167 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0xc8fbc4d9 macio_request_resources +EXPORT_SYMBOL vmlinux 0xc900b241 skb_unlink +EXPORT_SYMBOL vmlinux 0xc9215a70 fb_show_logo +EXPORT_SYMBOL vmlinux 0xc995ce26 sync_blockdev +EXPORT_SYMBOL vmlinux 0xc998d641 icmp_err_convert +EXPORT_SYMBOL vmlinux 0xc9b677eb sock_wake_async +EXPORT_SYMBOL vmlinux 0xc9eeb3e3 vfs_set_dqinfo +EXPORT_SYMBOL vmlinux 0xc9fc598d pasemi_read_dma_reg +EXPORT_SYMBOL vmlinux 0xca252363 netif_carrier_off +EXPORT_SYMBOL vmlinux 0xca289aa9 input_unregister_device +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca7fd923 journal_start +EXPORT_SYMBOL vmlinux 0xca825895 pmu_suspend +EXPORT_SYMBOL vmlinux 0xcaabf3f9 pasemi_write_iob_reg +EXPORT_SYMBOL vmlinux 0xcae7ed68 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0xcb0953b7 blk_peek_request +EXPORT_SYMBOL vmlinux 0xcb1af3f3 ps3_dma_region_init +EXPORT_SYMBOL vmlinux 0xcb354f70 of_find_node_by_name +EXPORT_SYMBOL vmlinux 0xcb3e2618 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xcb4ef6a9 pci_enable_wake +EXPORT_SYMBOL vmlinux 0xcb6beb40 hweight32 +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb7bc48a bit_waitqueue +EXPORT_SYMBOL vmlinux 0xcb80dd88 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0xcba68f04 journal_restart +EXPORT_SYMBOL vmlinux 0xcbc934e2 rtnl_notify +EXPORT_SYMBOL vmlinux 0xcbdd1623 nf_log_unregister +EXPORT_SYMBOL vmlinux 0xcbdfe5d6 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0xcbe6b54e bio_endio +EXPORT_SYMBOL vmlinux 0xcbe8b038 _lv1_configure_execution_time_variable +EXPORT_SYMBOL vmlinux 0xcbfe6008 cap_netlink_recv +EXPORT_SYMBOL vmlinux 0xcc07af75 strnlen +EXPORT_SYMBOL vmlinux 0xcc22a9ba security_inode_permission +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc4951f1 cdev_index +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc719d13 dquot_claim_space +EXPORT_SYMBOL vmlinux 0xcc771ce3 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc843743 __ps2_command +EXPORT_SYMBOL vmlinux 0xcc89c246 pasemi_dma_alloc_chan +EXPORT_SYMBOL vmlinux 0xccb75104 scsi_device_get +EXPORT_SYMBOL vmlinux 0xccbf09d7 udplite_table +EXPORT_SYMBOL vmlinux 0xcd550ff8 sock_release +EXPORT_SYMBOL vmlinux 0xcd674301 pcibios_fixup_bus +EXPORT_SYMBOL vmlinux 0xcd769f62 _lv1_gpu_device_map +EXPORT_SYMBOL vmlinux 0xcd7f109c tcp_read_sock +EXPORT_SYMBOL vmlinux 0xcd8381c6 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0xcd851c4d sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0xcd948a8b of_find_compatible_node +EXPORT_SYMBOL vmlinux 0xcda05b4e genphy_config_advert +EXPORT_SYMBOL vmlinux 0xcda243ff directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0xcdac53e8 macio_unregister_driver +EXPORT_SYMBOL vmlinux 0xcde102a4 ps3_sb_event_receive_port_destroy +EXPORT_SYMBOL vmlinux 0xcdf53c62 scsi_dma_map +EXPORT_SYMBOL vmlinux 0xce14115b page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0xce1434ab kernel_accept +EXPORT_SYMBOL vmlinux 0xce198f90 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0xce21ba8d generic_unplug_device +EXPORT_SYMBOL vmlinux 0xce321a59 pci_find_capability +EXPORT_SYMBOL vmlinux 0xce36ded6 sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xce3b3f09 profile_pc +EXPORT_SYMBOL vmlinux 0xce409cda pmac_set_early_video_resume +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce67556c sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xce6dc002 scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0xce7c622e user_path_at +EXPORT_SYMBOL vmlinux 0xce8004d6 ip_route_output_key +EXPORT_SYMBOL vmlinux 0xcead56f0 of_find_property +EXPORT_SYMBOL vmlinux 0xcec75fd7 skb_make_writable +EXPORT_SYMBOL vmlinux 0xceeddfe6 tty_throttle +EXPORT_SYMBOL vmlinux 0xcf0c69b7 dev_alloc_skb +EXPORT_SYMBOL vmlinux 0xcf2e05a7 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xcf397366 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0xcf3c0d9e dev_get_by_flags +EXPORT_SYMBOL vmlinux 0xcf512be0 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xcf901697 __strnlen_user +EXPORT_SYMBOL vmlinux 0xcfa201af d_obtain_alias +EXPORT_SYMBOL vmlinux 0xcfaf79ba mempool_alloc +EXPORT_SYMBOL vmlinux 0xcfb9006e jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0xcfceffec sock_wmalloc +EXPORT_SYMBOL vmlinux 0xcff53400 kref_put +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd05931ec _lv1_set_lpm_counter_control +EXPORT_SYMBOL vmlinux 0xd08b84f0 tty_register_driver +EXPORT_SYMBOL vmlinux 0xd09f54f6 vfs_write +EXPORT_SYMBOL vmlinux 0xd0a7651c blk_run_queue +EXPORT_SYMBOL vmlinux 0xd0ad080e flush_signals +EXPORT_SYMBOL vmlinux 0xd0af6cb1 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xd0c2256b blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0xd0c5513e dma_pool_free +EXPORT_SYMBOL vmlinux 0xd0e15bfb generic_ro_fops +EXPORT_SYMBOL vmlinux 0xd0e58a0e sock_map_fd +EXPORT_SYMBOL vmlinux 0xd0ec96ac blk_init_queue_node +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd1262886 rtas_data_buf +EXPORT_SYMBOL vmlinux 0xd143a0f3 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0xd14a9d9c swiotlb_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0xd1533d22 simple_readpage +EXPORT_SYMBOL vmlinux 0xd188cb81 __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0xd18a64a6 mark_page_accessed +EXPORT_SYMBOL vmlinux 0xd1d8b2a4 input_free_device +EXPORT_SYMBOL vmlinux 0xd1e72e27 dm_table_get +EXPORT_SYMBOL vmlinux 0xd1fe8ebb _lv1_get_spe_interrupt_status +EXPORT_SYMBOL vmlinux 0xd23f7a64 scsi_reset_provider +EXPORT_SYMBOL vmlinux 0xd24b4b27 scm_detach_fds +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 0xd260ac05 seq_write +EXPORT_SYMBOL vmlinux 0xd27a35b0 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0xd2892f9c blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2b7b295 matroxfb_DAC_in +EXPORT_SYMBOL vmlinux 0xd2ef2638 smu_cmdbuf_abs +EXPORT_SYMBOL vmlinux 0xd303eca6 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0xd30adc9b input_register_handle +EXPORT_SYMBOL vmlinux 0xd319ad20 ethtool_op_set_tx_ipv6_csum +EXPORT_SYMBOL vmlinux 0xd3223ee7 pcibus_to_node +EXPORT_SYMBOL vmlinux 0xd323202d xfrm_init_state +EXPORT_SYMBOL vmlinux 0xd3580bd6 simple_empty +EXPORT_SYMBOL vmlinux 0xd3928333 __mutex_init +EXPORT_SYMBOL vmlinux 0xd3af979c memdup_user +EXPORT_SYMBOL vmlinux 0xd3d6361c ps2_handle_response +EXPORT_SYMBOL vmlinux 0xd3da95da pci_target_state +EXPORT_SYMBOL vmlinux 0xd3e957fe hippi_change_mtu +EXPORT_SYMBOL vmlinux 0xd409383c pmu_request +EXPORT_SYMBOL vmlinux 0xd42909ac fb_class +EXPORT_SYMBOL vmlinux 0xd42f95d1 starget_for_each_device +EXPORT_SYMBOL vmlinux 0xd44054f2 address_space_init_once +EXPORT_SYMBOL vmlinux 0xd450edbf xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0xd46d0968 ioremap_flags +EXPORT_SYMBOL vmlinux 0xd4975b9d unlock_page +EXPORT_SYMBOL vmlinux 0xd49c0cf4 matroxfb_g450_setpll_cond +EXPORT_SYMBOL vmlinux 0xd4b35d67 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0xd4c96022 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0xd4dddc5e cdrom_release +EXPORT_SYMBOL vmlinux 0xd50727bc dm_table_get_mode +EXPORT_SYMBOL vmlinux 0xd51f531a napi_skb_finish +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd5425a9c mach_ps3 +EXPORT_SYMBOL vmlinux 0xd5540c6e generic_ide_ioctl +EXPORT_SYMBOL vmlinux 0xd55547ec deactivate_super +EXPORT_SYMBOL vmlinux 0xd55f3209 _lv1_remove_repository_node +EXPORT_SYMBOL vmlinux 0xd57461de dev_get_by_index +EXPORT_SYMBOL vmlinux 0xd57f8789 iommu_num_pages +EXPORT_SYMBOL vmlinux 0xd5877187 scsi_add_device +EXPORT_SYMBOL vmlinux 0xd5b24b93 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0xd5bfd16d dm_io +EXPORT_SYMBOL vmlinux 0xd5c7c61d sysctl_string +EXPORT_SYMBOL vmlinux 0xd5cbfefc keyring_search +EXPORT_SYMBOL vmlinux 0xd5e1d719 _lv1_set_ppe_periodic_tracer_frequency +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd645fb09 bdi_init +EXPORT_SYMBOL vmlinux 0xd6975b3d skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0xd69ebc51 _read_trylock +EXPORT_SYMBOL vmlinux 0xd6a435ea mach_pseries +EXPORT_SYMBOL vmlinux 0xd6a53297 swiotlb_map_sg +EXPORT_SYMBOL vmlinux 0xd6a78d08 smp_call_function_single +EXPORT_SYMBOL vmlinux 0xd6d68c6b vm_stat +EXPORT_SYMBOL vmlinux 0xd6edf811 _lv1_release_memory +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f08006 blk_queue_max_hw_segments +EXPORT_SYMBOL vmlinux 0xd7154121 down_interruptible +EXPORT_SYMBOL vmlinux 0xd725b633 ilookup5 +EXPORT_SYMBOL vmlinux 0xd72e1cfc _lv1_set_lpm_spr_trigger +EXPORT_SYMBOL vmlinux 0xd7475e7a macio_register_driver +EXPORT_SYMBOL vmlinux 0xd74fa466 __register_binfmt +EXPORT_SYMBOL vmlinux 0xd75d7d7d sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd786c0ea plpar_hcall9 +EXPORT_SYMBOL vmlinux 0xd789abdc netlink_ack +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd7bae85d ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xd7ca7fc9 netpoll_print_options +EXPORT_SYMBOL vmlinux 0xd7d715ed flush_old_exec +EXPORT_SYMBOL vmlinux 0xd821260f __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0xd83791bc nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd85151f5 of_create_pci_dev +EXPORT_SYMBOL vmlinux 0xd86d68b6 matroxfb_g450_shutdown +EXPORT_SYMBOL vmlinux 0xd86f16e1 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0xd884facb jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xd8959b81 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a2ab95 in_egroup_p +EXPORT_SYMBOL vmlinux 0xd8a5ceed sg_miter_stop +EXPORT_SYMBOL vmlinux 0xd8c84ae6 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0xd8d0120b pcie_set_readrq +EXPORT_SYMBOL vmlinux 0xd8d58ec0 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd8eb7a93 generic_read_dir +EXPORT_SYMBOL vmlinux 0xd928b911 compat_sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xd92bf36c sk_send_sigurg +EXPORT_SYMBOL vmlinux 0xd94ef8cf sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xd950717c poll_initwait +EXPORT_SYMBOL vmlinux 0xd95e4355 bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0xd95fe946 seq_path +EXPORT_SYMBOL vmlinux 0xd96c8608 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xd97cb094 inet_ioctl +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd9980479 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0xd9bac924 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0xd9d4d09d _lv1_release_io_segment +EXPORT_SYMBOL vmlinux 0xda0ddce8 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xda1a7335 kasprintf +EXPORT_SYMBOL vmlinux 0xda366521 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0xda4629e4 radix_tree_insert +EXPORT_SYMBOL vmlinux 0xda52da30 tr_type_trans +EXPORT_SYMBOL vmlinux 0xda6f56a9 pipe_unlock +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xda986f95 __alloc_skb +EXPORT_SYMBOL vmlinux 0xdaac8f02 dev_addr_del +EXPORT_SYMBOL vmlinux 0xdac77e6d kobject_get +EXPORT_SYMBOL vmlinux 0xdada7bf5 unlock_new_inode +EXPORT_SYMBOL vmlinux 0xdb03470c input_unregister_handler +EXPORT_SYMBOL vmlinux 0xdb09708f __wake_up +EXPORT_SYMBOL vmlinux 0xdb2cb8fe override_creds +EXPORT_SYMBOL vmlinux 0xdb31f7c1 wireless_send_event +EXPORT_SYMBOL vmlinux 0xdb4c88b4 groups_alloc +EXPORT_SYMBOL vmlinux 0xdb61c0c2 dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0xdbb60eab set_create_files_as +EXPORT_SYMBOL vmlinux 0xdbbd0804 input_grab_device +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbe5162d ethtool_op_set_flags +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc053205 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc1fae01 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0xdc2793c0 blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc305714 elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0xdc4113fa i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc5531d7 of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0xdc5f670d set_anon_super +EXPORT_SYMBOL vmlinux 0xdc8a4802 devm_free_irq +EXPORT_SYMBOL vmlinux 0xdc8e4032 neigh_parms_release +EXPORT_SYMBOL vmlinux 0xdca0e950 genl_register_family +EXPORT_SYMBOL vmlinux 0xdca7302f request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xdcaffc55 sg_alloc_table +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcb5671d strlen +EXPORT_SYMBOL vmlinux 0xdcefb9a5 pmu_resume +EXPORT_SYMBOL vmlinux 0xdcf0747c fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xdcf86504 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0xdd1de270 d_validate +EXPORT_SYMBOL vmlinux 0xdd43a068 dst_destroy +EXPORT_SYMBOL vmlinux 0xdd5a37a7 _spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0xdd6f17a2 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0xdd955144 __debugger +EXPORT_SYMBOL vmlinux 0xdd9efe1e alloc_fddidev +EXPORT_SYMBOL vmlinux 0xddd11e36 kernel_read +EXPORT_SYMBOL vmlinux 0xdde25489 _write_lock +EXPORT_SYMBOL vmlinux 0xddec5576 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xde04a83b kick_iocb +EXPORT_SYMBOL vmlinux 0xde29d7da set_user_nice +EXPORT_SYMBOL vmlinux 0xde31b902 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xde75b689 set_irq_type +EXPORT_SYMBOL vmlinux 0xde7baf65 eth_type_trans +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xdea0be97 dput +EXPORT_SYMBOL vmlinux 0xded01321 of_dev_get +EXPORT_SYMBOL vmlinux 0xdef259dd __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xdef6341a log_wait_commit +EXPORT_SYMBOL vmlinux 0xdf330bd5 dquot_initialize +EXPORT_SYMBOL vmlinux 0xdf36827c napi_complete +EXPORT_SYMBOL vmlinux 0xdf3d574c __scsi_put_command +EXPORT_SYMBOL vmlinux 0xdf4a6810 of_get_next_child +EXPORT_SYMBOL vmlinux 0xdf4c8767 ns_to_timeval +EXPORT_SYMBOL vmlinux 0xdf575cb3 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf60fc83 _lv1_net_start_tx_dma +EXPORT_SYMBOL vmlinux 0xdf6ab257 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0xdf7c16dc d_genocide +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdfb10773 raw_local_irq_restore +EXPORT_SYMBOL vmlinux 0xdfb2c18f bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0xdfc0c824 pipe_lock +EXPORT_SYMBOL vmlinux 0xe00d0e1d blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xe01a993d swiotlb_alloc_coherent +EXPORT_SYMBOL vmlinux 0xe01d9c3d udp_ioctl +EXPORT_SYMBOL vmlinux 0xe04143d5 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xe041cd4f write_inode_now +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe08771a5 __scm_destroy +EXPORT_SYMBOL vmlinux 0xe08f7195 ethtool_op_get_flags +EXPORT_SYMBOL vmlinux 0xe0902b5a scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xe0944bec i2c_add_adapter +EXPORT_SYMBOL vmlinux 0xe099a3eb pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0bc24a1 param_set_ushort +EXPORT_SYMBOL vmlinux 0xe0c36186 free_buffer_head +EXPORT_SYMBOL vmlinux 0xe0c6e338 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0xe0f0f17e __locks_copy_lock +EXPORT_SYMBOL vmlinux 0xe0fd34a3 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xe0fe0fd7 of_scan_pci_bridge +EXPORT_SYMBOL vmlinux 0xe1049944 netlink_set_err +EXPORT_SYMBOL vmlinux 0xe10980c3 ppc_md +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe16938d3 simple_release_fs +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe1a0d44c pci_disable_msix +EXPORT_SYMBOL vmlinux 0xe1cbe048 of_device_is_available +EXPORT_SYMBOL vmlinux 0xe1eacc0b of_phy_find_device +EXPORT_SYMBOL vmlinux 0xe1fc6e9f sk_alloc +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 0xe24050c7 scnprintf +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe2535f0f ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xe263a766 aio_complete +EXPORT_SYMBOL vmlinux 0xe27b08b8 alloc_disk_node +EXPORT_SYMBOL vmlinux 0xe2beb0be inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2d955e8 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0xe2e0c7c6 __flush_icache_range +EXPORT_SYMBOL vmlinux 0xe2ea2b12 have_submounts +EXPORT_SYMBOL vmlinux 0xe2fa60f6 pci_dev_driver +EXPORT_SYMBOL vmlinux 0xe32e220b security_path_mkdir +EXPORT_SYMBOL vmlinux 0xe35b311b irq_stat +EXPORT_SYMBOL vmlinux 0xe35d951e registered_fb +EXPORT_SYMBOL vmlinux 0xe38a746b pci_add_new_bus +EXPORT_SYMBOL vmlinux 0xe39906b6 register_cdrom +EXPORT_SYMBOL vmlinux 0xe3a512fd __inet6_hash +EXPORT_SYMBOL vmlinux 0xe3b0192b vscnprintf +EXPORT_SYMBOL vmlinux 0xe3b5cc8c inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0xe3c48142 nla_put +EXPORT_SYMBOL vmlinux 0xe3ca7d2a force_sig +EXPORT_SYMBOL vmlinux 0xe3cb3bfc mpage_readpages +EXPORT_SYMBOL vmlinux 0xe3d5bbf5 scm_fp_dup +EXPORT_SYMBOL vmlinux 0xe3e215d5 phy_device_create +EXPORT_SYMBOL vmlinux 0xe3f1cf6d dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xe400a5ed compat_sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xe40e79c8 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0xe42ef79b pci_set_power_state +EXPORT_SYMBOL vmlinux 0xe43490b5 journal_start_commit +EXPORT_SYMBOL vmlinux 0xe44f4c72 tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0xe454683d i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0xe467904d mdiobus_free +EXPORT_SYMBOL vmlinux 0xe47568f7 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe4f1695e cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xe4fa99fc i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xe5077a8f mempool_destroy +EXPORT_SYMBOL vmlinux 0xe50ff4d8 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe5254fa4 create_proc_entry +EXPORT_SYMBOL vmlinux 0xe552173c mark_info_dirty +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe57ea87f sock_rfree +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe5c33eed filp_close +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5df840f file_update_time +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe5f7800f of_register_driver +EXPORT_SYMBOL vmlinux 0xe6048b73 inet_frag_evictor +EXPORT_SYMBOL vmlinux 0xe60988ac _lv1_query_logical_partition_address_region_info +EXPORT_SYMBOL vmlinux 0xe611174c tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0xe63f54c8 llc_sap_list_lock +EXPORT_SYMBOL vmlinux 0xe64bb885 scsi_device_put +EXPORT_SYMBOL vmlinux 0xe65f5594 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0xe66896d6 copy_io_context +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6cc9de1 vfs_stat +EXPORT_SYMBOL vmlinux 0xe6dcd2c0 __pagevec_release +EXPORT_SYMBOL vmlinux 0xe6e792bc ethtool_op_set_tx_csum +EXPORT_SYMBOL vmlinux 0xe6ec08f5 input_unfilter_device +EXPORT_SYMBOL vmlinux 0xe6f7fee0 journal_create +EXPORT_SYMBOL vmlinux 0xe6f9cfd4 skb_checksum +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe7013835 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xe714375c __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xe74aa406 _lv1_set_dabr +EXPORT_SYMBOL vmlinux 0xe74c4293 bio_phys_segments +EXPORT_SYMBOL vmlinux 0xe789f29c kobject_del +EXPORT_SYMBOL vmlinux 0xe7a16925 tcp_v4_remember_stamp +EXPORT_SYMBOL vmlinux 0xe7b233f3 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0xe7b5b028 skb_dma_unmap +EXPORT_SYMBOL vmlinux 0xe7b99711 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0xe7cd99b7 smu_queue_simple +EXPORT_SYMBOL vmlinux 0xe7ce7439 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0xe7d2aca1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7d65bef pci_clear_master +EXPORT_SYMBOL vmlinux 0xe7dc1733 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xe8019692 generic_write_checks +EXPORT_SYMBOL vmlinux 0xe8116e08 __kmalloc_node +EXPORT_SYMBOL vmlinux 0xe8bde345 pmac_register_agp_pm +EXPORT_SYMBOL vmlinux 0xe8c0ab08 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0xe8cd902e hweight16 +EXPORT_SYMBOL vmlinux 0xe8e1648f neigh_for_each +EXPORT_SYMBOL vmlinux 0xe8f34a03 ide_stall_queue +EXPORT_SYMBOL vmlinux 0xe8fc5a34 sock_recvmsg +EXPORT_SYMBOL vmlinux 0xe902f524 put_mnt_ns +EXPORT_SYMBOL vmlinux 0xe90dcae0 __request_module +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe95de52c simple_pin_fs +EXPORT_SYMBOL vmlinux 0xe967471b dquot_release_reserved_space +EXPORT_SYMBOL vmlinux 0xe97c7e07 nobh_write_begin +EXPORT_SYMBOL vmlinux 0xe9ad3e2f follow_pfn +EXPORT_SYMBOL vmlinux 0xe9ceda4d pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0xe9e5ec85 tty_free_termios +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea147363 printk +EXPORT_SYMBOL vmlinux 0xea3f72a4 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xea448082 xfrm_state_add +EXPORT_SYMBOL vmlinux 0xea872cd9 ps2_command +EXPORT_SYMBOL vmlinux 0xead58fb9 print_hex_dump +EXPORT_SYMBOL vmlinux 0xeb245a01 read_cache_pages +EXPORT_SYMBOL vmlinux 0xeb8f54b3 strstrip +EXPORT_SYMBOL vmlinux 0xeb901485 hippi_mac_addr +EXPORT_SYMBOL vmlinux 0xeb904dfc alloc_netdev_mq +EXPORT_SYMBOL vmlinux 0xeba2a1f7 rtas_indicator_present +EXPORT_SYMBOL vmlinux 0xebbf1dba strncasecmp +EXPORT_SYMBOL vmlinux 0xebd273a6 strict_strtoull +EXPORT_SYMBOL vmlinux 0xebdafa6f tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0xebe5ee97 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0xebedbf61 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xebfc47ab mac_find_mode +EXPORT_SYMBOL vmlinux 0xec07ed97 idr_for_each +EXPORT_SYMBOL vmlinux 0xec30765a _lv1_allocate_io_segment +EXPORT_SYMBOL vmlinux 0xec54f8e7 block_invalidatepage +EXPORT_SYMBOL vmlinux 0xec62a5c4 matroxfb_vgaHWrestore +EXPORT_SYMBOL vmlinux 0xec681369 blk_fetch_request +EXPORT_SYMBOL vmlinux 0xec78af56 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xec794ba0 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0xecc19722 vmap +EXPORT_SYMBOL vmlinux 0xecca2b68 generic_write_end +EXPORT_SYMBOL vmlinux 0xed0e7387 __lock_buffer +EXPORT_SYMBOL vmlinux 0xed49ba48 downgrade_write +EXPORT_SYMBOL vmlinux 0xed5ead30 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xed652427 _lv1_set_interrupt_mask +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedbdc71e dm_table_unplug_all +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xeddd8eed devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0xedf0b48c _lv1_storage_get_async_status +EXPORT_SYMBOL vmlinux 0xee0303cb __kill_fasync +EXPORT_SYMBOL vmlinux 0xee04db32 blk_complete_request +EXPORT_SYMBOL vmlinux 0xee27622f swiotlb_sync_single_for_device +EXPORT_SYMBOL vmlinux 0xee2bf126 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee32bbca atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xee5bb20b _lv1_panic +EXPORT_SYMBOL vmlinux 0xee5f8018 cfb_imageblit +EXPORT_SYMBOL vmlinux 0xee6766ff of_register_spi_devices +EXPORT_SYMBOL vmlinux 0xee768fa2 of_node_put +EXPORT_SYMBOL vmlinux 0xee859087 tc_classify_compat +EXPORT_SYMBOL vmlinux 0xee9174c5 _lv1_storage_read +EXPORT_SYMBOL vmlinux 0xeea5f159 kthread_create +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeee60870 locks_copy_lock +EXPORT_SYMBOL vmlinux 0xef035917 neigh_table_clear +EXPORT_SYMBOL vmlinux 0xef082106 udplite_prot +EXPORT_SYMBOL vmlinux 0xef2f8c1e skb_recycle_check +EXPORT_SYMBOL vmlinux 0xef4b8575 proto_register +EXPORT_SYMBOL vmlinux 0xef571259 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0xef6ed1ba param_set_invbool +EXPORT_SYMBOL vmlinux 0xef7979ec macio_release_resources +EXPORT_SYMBOL vmlinux 0xef7ba82c pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0xef937921 skb_dequeue +EXPORT_SYMBOL vmlinux 0xefb17807 __break_lease +EXPORT_SYMBOL vmlinux 0xefc2e54d _lv1_storage_send_device_command +EXPORT_SYMBOL vmlinux 0xefd242ba skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefde1bbe flush_dcache_range +EXPORT_SYMBOL vmlinux 0xefe74525 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf00db061 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0xf01d4d6f vfs_statfs +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf0bebfec __seq_open_private +EXPORT_SYMBOL vmlinux 0xf0d2f84a _lv1_gpu_context_free +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0f162e0 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xf0f72605 udp_disconnect +EXPORT_SYMBOL vmlinux 0xf0f876ce get_io_context +EXPORT_SYMBOL vmlinux 0xf10de535 ioread8 +EXPORT_SYMBOL vmlinux 0xf14d0300 km_query +EXPORT_SYMBOL vmlinux 0xf174ed48 acquire_console_sem +EXPORT_SYMBOL vmlinux 0xf183189b __ioremap_at +EXPORT_SYMBOL vmlinux 0xf190b0da register_netdev +EXPORT_SYMBOL vmlinux 0xf190fa95 __neigh_event_send +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1dc3ea6 inode_init_always +EXPORT_SYMBOL vmlinux 0xf1dd9fb3 down_read_trylock +EXPORT_SYMBOL vmlinux 0xf1df1cb5 may_umount +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1f727d5 inet_frags_init +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf2254996 numa_cpumask_lookup_table +EXPORT_SYMBOL vmlinux 0xf25ea611 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0xf260a1a4 ip_fragment +EXPORT_SYMBOL vmlinux 0xf291a571 dget_locked +EXPORT_SYMBOL vmlinux 0xf298813a vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xf2e53e32 set_security_override_from_ctx +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 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf3433e3f i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf357db8d pasemi_dma_set_flag +EXPORT_SYMBOL vmlinux 0xf35ae954 simple_dir_operations +EXPORT_SYMBOL vmlinux 0xf37d4df4 dev_unicast_unsync +EXPORT_SYMBOL vmlinux 0xf382c752 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xf397b9aa __tasklet_schedule +EXPORT_SYMBOL vmlinux 0xf39a5222 _lv1_get_virtual_address_space_id_of_ppe +EXPORT_SYMBOL vmlinux 0xf39f0fe3 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xf39f8152 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3ea7b9e fb_validate_mode +EXPORT_SYMBOL vmlinux 0xf43111d7 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf4482372 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0xf45612dc __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xf46aa199 pci_get_class +EXPORT_SYMBOL vmlinux 0xf46e4034 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xf4800dda tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xf48481cc simple_transaction_set +EXPORT_SYMBOL vmlinux 0xf4b761fb matroxfb_vgaHWinit +EXPORT_SYMBOL vmlinux 0xf4c6d69d save_mount_options +EXPORT_SYMBOL vmlinux 0xf4cccdf3 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xf4cfe8e9 nf_register_hook +EXPORT_SYMBOL vmlinux 0xf4d06481 matroxfb_register_driver +EXPORT_SYMBOL vmlinux 0xf4d71beb register_framebuffer +EXPORT_SYMBOL vmlinux 0xf4dee8b3 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xf4e7e6d4 vm_insert_page +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f52f93 dqstats +EXPORT_SYMBOL vmlinux 0xf505b33e journal_init_inode +EXPORT_SYMBOL vmlinux 0xf50d1607 register_sysctl_table +EXPORT_SYMBOL vmlinux 0xf520a51c bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0xf5294ec8 lookup_hash +EXPORT_SYMBOL vmlinux 0xf531608a blk_stop_queue +EXPORT_SYMBOL vmlinux 0xf5325c2c __elv_add_request +EXPORT_SYMBOL vmlinux 0xf53b20ad simple_transaction_read +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf56698df tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0xf57201a2 blk_end_request_all +EXPORT_SYMBOL vmlinux 0xf57dfe5f set_bh_page +EXPORT_SYMBOL vmlinux 0xf5995242 filemap_flush +EXPORT_SYMBOL vmlinux 0xf59d1849 input_get_keycode +EXPORT_SYMBOL vmlinux 0xf5a33379 ip_mc_rejoin_group +EXPORT_SYMBOL vmlinux 0xf5a62ecc _memset_io +EXPORT_SYMBOL vmlinux 0xf5b4cc2d sg_init_table +EXPORT_SYMBOL vmlinux 0xf5c36ef3 pci_match_id +EXPORT_SYMBOL vmlinux 0xf5c5f5ae path_get +EXPORT_SYMBOL vmlinux 0xf5c9012e timespec_trunc +EXPORT_SYMBOL vmlinux 0xf5e1558d crash_shutdown_unregister +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf603d548 dm_get_device +EXPORT_SYMBOL vmlinux 0xf6213e12 pasemi_dma_clear_flag +EXPORT_SYMBOL vmlinux 0xf6290df9 dev_set_drvdata +EXPORT_SYMBOL vmlinux 0xf66dd6de block_write_begin +EXPORT_SYMBOL vmlinux 0xf69be488 wait_for_completion +EXPORT_SYMBOL vmlinux 0xf69fc1cc ip_defrag +EXPORT_SYMBOL vmlinux 0xf6a634a8 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0xf6a7b3a9 invalidate_bdev +EXPORT_SYMBOL vmlinux 0xf6b134cb of_device_register +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6d51c88 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6ecb763 _lv1_send_event_locally +EXPORT_SYMBOL vmlinux 0xf701c554 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xf7067a0d simple_fsync +EXPORT_SYMBOL vmlinux 0xf71eba51 simple_getattr +EXPORT_SYMBOL vmlinux 0xf71ff50c macio_request_resource +EXPORT_SYMBOL vmlinux 0xf73340db kobject_add +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf767a5fa kernel_bind +EXPORT_SYMBOL vmlinux 0xf7838d4b neigh_create +EXPORT_SYMBOL vmlinux 0xf789338a tcf_exts_validate +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf79a706e bio_put +EXPORT_SYMBOL vmlinux 0xf7bac0ec _lv1_set_lpm_counter +EXPORT_SYMBOL vmlinux 0xf7beac3c scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0xf7cc335f gen_new_estimator +EXPORT_SYMBOL vmlinux 0xf7e15da1 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0xf7eb6c47 scsi_execute +EXPORT_SYMBOL vmlinux 0xf7f94a26 __invalidate_device +EXPORT_SYMBOL vmlinux 0xf8004bfd _lv1_disconnect_interrupt_event_receive_port +EXPORT_SYMBOL vmlinux 0xf800e6ef register_sysrq_key +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf8123407 pci_scan_slot +EXPORT_SYMBOL vmlinux 0xf81c2fec __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xf82374f6 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf842b3f1 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xf85d7631 blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0xf86e7480 qdisc_reset +EXPORT_SYMBOL vmlinux 0xf8906870 vio_cmo_entitlement_update +EXPORT_SYMBOL vmlinux 0xf892e5ba truncate_inode_pages +EXPORT_SYMBOL vmlinux 0xf8b783b7 set_blocksize +EXPORT_SYMBOL vmlinux 0xf8bdb8b5 poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0xf8c1bed4 udp_proc_unregister +EXPORT_SYMBOL vmlinux 0xf8eda325 scsi_prep_return +EXPORT_SYMBOL vmlinux 0xf8fda569 rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0xf9002b38 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0xf937402c __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xf95e3f76 matroxfb_enable_irq +EXPORT_SYMBOL vmlinux 0xf9741cd8 udp_proc_register +EXPORT_SYMBOL vmlinux 0xf9764a9d unregister_binfmt +EXPORT_SYMBOL vmlinux 0xf99183ea kmem_cache_name +EXPORT_SYMBOL vmlinux 0xf999377a phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0xf9a050c6 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9a6ba65 g450_mnp2f +EXPORT_SYMBOL vmlinux 0xf9bb43ee blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0xf9d86e7b blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0xf9e43ff5 rtnl_unicast +EXPORT_SYMBOL vmlinux 0xfa28f596 tcp_sendpage +EXPORT_SYMBOL vmlinux 0xfa31cd3b kfifo_init +EXPORT_SYMBOL vmlinux 0xfa3291d6 napi_gro_receive +EXPORT_SYMBOL vmlinux 0xfa4c7a55 redraw_screen +EXPORT_SYMBOL vmlinux 0xfa4cf133 blk_queue_max_phys_segments +EXPORT_SYMBOL vmlinux 0xfa908648 sysctl_jiffies +EXPORT_SYMBOL vmlinux 0xfaa2ce7f invalidate_partition +EXPORT_SYMBOL vmlinux 0xfaad13b2 input_close_device +EXPORT_SYMBOL vmlinux 0xfadb5750 pmu_unlock +EXPORT_SYMBOL vmlinux 0xfadfb14e unregister_con_driver +EXPORT_SYMBOL vmlinux 0xfae87771 task_nice +EXPORT_SYMBOL vmlinux 0xfaf5560a dev_remove_pack +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb0cf2e9 touch_all_softlockup_watchdogs +EXPORT_SYMBOL vmlinux 0xfb219df3 vfs_dq_transfer +EXPORT_SYMBOL vmlinux 0xfb2c4e70 d_delete +EXPORT_SYMBOL vmlinux 0xfb404f8b of_get_mac_address +EXPORT_SYMBOL vmlinux 0xfb4979e3 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb779823 wake_up_process +EXPORT_SYMBOL vmlinux 0xfb788c9b gen_pool_alloc +EXPORT_SYMBOL vmlinux 0xfbb1296b scsi_remove_device +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc09d631 may_umount_tree +EXPORT_SYMBOL vmlinux 0xfc1abeb2 dev_unicast_add +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc47091d bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0xfc89bdb8 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xfc8dbe63 mdiobus_scan +EXPORT_SYMBOL vmlinux 0xfc96bd33 d_path +EXPORT_SYMBOL vmlinux 0xfc9ff695 single_open +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcd3a853 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd4e40c9 serio_reconnect +EXPORT_SYMBOL vmlinux 0xfd5d616c fb_pan_display +EXPORT_SYMBOL vmlinux 0xfd7b8436 dev_change_flags +EXPORT_SYMBOL vmlinux 0xfd8d28ad tcf_em_register +EXPORT_SYMBOL vmlinux 0xfda85a7d request_threaded_irq +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfded48ed enable_kernel_fp +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfe06ac67 matroxfb_unregister_driver +EXPORT_SYMBOL vmlinux 0xfe1e14e4 of_dev_put +EXPORT_SYMBOL vmlinux 0xfe26fc7c nr_node_ids +EXPORT_SYMBOL vmlinux 0xfe36ceb0 sync_inode +EXPORT_SYMBOL vmlinux 0xfe392bcd generic_segment_checks +EXPORT_SYMBOL vmlinux 0xfe4cb4b5 _lv1_storage_write +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe6d560e neigh_lookup +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe7746e8 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xfe7c4287 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0xfeb4646c nvram_find_partition +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfed221d9 pasemi_dma_alloc_ring +EXPORT_SYMBOL vmlinux 0xfed29b65 kernel_getsockname +EXPORT_SYMBOL vmlinux 0xfed73d2f cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0xfedd35fc console_suspend_enabled +EXPORT_SYMBOL vmlinux 0xfee0e308 vga_tryget +EXPORT_SYMBOL vmlinux 0xfeefa4b1 security_task_getsecid +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff165985 scsi_device_resume +EXPORT_SYMBOL vmlinux 0xff1765c7 rtas_call +EXPORT_SYMBOL vmlinux 0xff1b4941 journal_abort +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff2c8e55 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0xff3b53be __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xff4bf974 install_exec_creds +EXPORT_SYMBOL vmlinux 0xff4de0d2 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0xff664794 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff6cefd3 block_write_end +EXPORT_SYMBOL vmlinux 0xff722688 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0xff7559e4 ioport_resource +EXPORT_SYMBOL vmlinux 0xff81d2c5 __debugger_dabr_match +EXPORT_SYMBOL vmlinux 0xff822b9b unload_nls +EXPORT_SYMBOL vmlinux 0xff82de1e of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0xff964b25 param_set_int +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffb24af1 iunique +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL_GPL arch/powerpc/platforms/cell/spufs/spufs 0x367e933e spu_restore +EXPORT_SYMBOL_GPL arch/powerpc/platforms/cell/spufs/spufs 0x5797dd53 spufs_context_fops +EXPORT_SYMBOL_GPL arch/powerpc/platforms/cell/spufs/spufs 0x9ea48dc2 spu_save +EXPORT_SYMBOL_GPL crypto/aes_generic 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL crypto/aes_generic 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0xaa1f422a crypto_aes_set_key +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x1ff955fa async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x2e958ba1 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xec3e36d5 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x39e66dc1 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xbd9dde52 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x47c39a52 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x847b8be7 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xafe63e28 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x21516726 async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xfce44b5c async_xor +EXPORT_SYMBOL_GPL crypto/cryptd 0x38ef7e22 cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x3a2db460 cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x3a648e16 cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x7585944e cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x8fa25553 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xab3cf181 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xccc130a8 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x4b09ca01 twofish_setkey +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x2c747571 __pata_platform_remove +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x5c4c5176 __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0xfcb25964 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/bluetooth/btmrvl 0x18f71ecb btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x3f1b5c02 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x6ec1462d btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7a8daa0b btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x9aaee545 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xedff3c89 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0x023f5a77 agp_add_bridge +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0x86338ded agp_remove_bridge +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL drivers/char/agp/agpgart 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x0902732f tpm_show_enabled +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x0fd9fc95 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x15fca096 tpm_dev_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x18cb155d tpm_remove_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x2841ee4d tpm_register_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x396495b3 tpm_open +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x3f3c542c tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x49d154d4 tpm_show_active +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x4cc5ca92 tpm_show_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x5f698215 tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x6790e819 tpm_gen_interrupt +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x6e3c19aa tpm_write +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x76516368 tpm_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x7826e425 tpm_store_cancel +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x8feecd2e tpm_dev_vendor_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xa0361d27 tpm_show_caps +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xa48dbe65 tpm_get_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xab7c371c tpm_show_pcrs +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xae231004 tpm_show_owned +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xbca02ba5 tpm_pm_suspend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xbeda9d7b tpm_pm_resume +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xd93eb564 tpm_continue_selftest +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xe3b46361 tpm_show_pubek +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xe5431647 tpm_release +EXPORT_SYMBOL_GPL drivers/connector/cn 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL drivers/connector/cn 0xcf7a962e cn_add_callback +EXPORT_SYMBOL_GPL drivers/connector/cn 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x048d2531 edac_mc_del_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x12b48c0c edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x18477ed7 edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x1943692d edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x1b9c1c2b edac_pci_handle_npe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x22903368 edac_pci_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x373a7b9c edac_mc_handle_ue_no_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x46909fed edac_device_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x53472974 edac_mc_handle_ce_no_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x5374d192 edac_device_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x64899224 edac_pci_reset_delay_period +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x7145a02d edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x75d1e97f edac_device_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xa4ff071b edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb17497e5 edac_mc_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xba27cf52 edac_pci_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc7a05ce7 edac_pci_handle_pe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xcfd45248 edac_device_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xdcad9e23 edac_device_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xddd3202c edac_mc_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xe510fc22 edac_mc_add_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xea108f10 edac_mc_free +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xecdae601 edac_mc_alloc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xefda22e9 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x239811e0 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x6dbb5b0b drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05e669c6 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x199cd07d hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2d0f9211 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2fa027d0 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x31f2043b hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x36289a77 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x455c27d3 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x45b943fa hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x48ea910a hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x584bb5fc hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6db02c0e hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x880e8ee5 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x99895566 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9f24c3de __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa7e37059 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb050d7e0 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xca28d099 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcca80f9d hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcdf2efe2 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xce7b78ef hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd2e0c25e hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdeda28ec hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe3ccabb3 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf3591053 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xff2ed877 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x31941bd5 usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x5f7df903 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xc0697253 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x3df2eecd lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x66a706a3 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x6c33e494 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x831c7cd9 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xbf478141 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xe6af28c8 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xf5af7538 lis3_dev +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0x1232e653 hpsb_config_rom_ip1394_remove +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xd93e8556 hpsb_config_rom_ip1394_add +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xec8d18cf hpsb_disable_irm +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x54e7839e input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x48f4036e wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x6d8d36ac wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xa1273632 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xa4d25fb2 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xa87f2f8d wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xbc992b68 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xc185bcbd wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xc45269a4 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xc9ba54bd wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xcff0fdde wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xe0b1184e wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf57a69a1 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x21bac4cf wf_register_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x2566a6ab wf_find_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x291570ab wf_unregister_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x2acb9313 wf_register_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x3c2f1424 wf_unregister_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x3e610238 wf_find_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x75147afa wf_set_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x8efb5487 wf_put_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 0xac9885a6 wf_get_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xaf15726f wf_unregister_client +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xc2829b3e wf_put_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xccc84cec wf_get_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xdb7e8499 wf_register_client +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xed82a14f wf_clear_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_pid 0x9808f147 wf_pid_run +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_pid 0xb8ed5b2c wf_cpu_pid_init +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_pid 0xcd9a18ef wf_pid_init +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_pid 0xceda69f1 wf_cpu_pid_run +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_smu_sat 0xe05851d5 smu_sat_get_sdb_partition +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x60744a77 dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x9b365b28 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x1af6b940 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x25631036 dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3398a2de dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x4c52995a dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x4d2f4cf8 dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5a54bfa4 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x619fb9bd dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x797dc34c dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x94e22ae6 dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x98a61196 dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa8a02222 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xc0d46083 dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd7053d2a dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xda8fe54b dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xdf7eda39 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xe778b709 dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xe7b7b3f5 dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xe91fe9d3 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xedb4e291 dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf9d2dfe8 dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfafa40db dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/md-mod 0x013fcd50 md_do_sync +EXPORT_SYMBOL_GPL drivers/md/md-mod 0x423e103a sync_page_io +EXPORT_SYMBOL_GPL drivers/md/md-mod 0x948fd221 md_allow_write +EXPORT_SYMBOL_GPL drivers/md/md-mod 0xcc567b5f md_new_event +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x24935f26 raid6_call +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0xcdc24ab5 raid6_2data_recov +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0xdbab0c01 raid6_datap_recov +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0349c9bd ir_codes_proteus_2309_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0366dcdf ir_codes_videomate_s350_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x110b053a ir_codes_pixelview_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x124cb753 ir_codes_encore_enltv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x183fdfdd ir_codes_gotview7135_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19b4d61c ir_codes_nebula_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19cd2826 ir_codes_behold_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1a9009d6 ir_codes_dm1105_nec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1cb148f5 ir_extract_bits +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1d66324d ir_input_init +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2456e513 ir_decode_pulsedistance +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2cc459b5 ir_codes_flydvb_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2d0e9a49 ir_codes_em_terratec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3136d8ff ir_codes_dntv_live_dvbt_pro_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x32b9033b ir_codes_apac_viewcomp_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3909f4ad ir_codes_terratec_cinergy_xs_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3a84be27 ir_codes_avermedia_a16d_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3edfb314 ir_input_nokey +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4267d749 ir_codes_budget_ci_old_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x43c89ef4 ir_decode_biphase +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4c1442c1 ir_codes_real_audio_220_32_keys_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x51ba1643 ir_codes_kworld_plus_tv_analog_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x543db4ff ir_codes_avermedia_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x58f30078 ir_input_keydown +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5e95da31 ir_codes_tt_1500_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5fbe6515 ir_codes_pinnacle_color_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x61d039d7 ir_codes_behold_columbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6427a3fb ir_codes_pinnacle_grey_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x64b02fed ir_codes_avermedia_dvbt_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6606596a ir_rc5_timer_keyup +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6809de82 ir_codes_pctv_sedna_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6d6511e7 ir_dump_samples +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x703fc738 ir_codes_avertv_303_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x7283f81d ir_codes_purpletv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x72c2992e ir_codes_powercolor_real_angel_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x76d71b8e ir_codes_dntv_live_dvb_t_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x784e176d ir_codes_asus_pc39_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x828b3ce5 ir_codes_encore_enltv_fm53_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x8acae3dd ir_codes_pinnacle_pctv_hd_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x92d1d181 ir_codes_flyvideo_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x94651dab ir_codes_ati_tv_wonder_hd_600_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x97c35dab ir_codes_msi_tvanywhere_plus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x9944e2e5 ir_codes_hauppauge_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa69aa6ad ir_codes_pv951_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa95157c5 ir_codes_cinergy_1400_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xac15f6c8 ir_codes_kaiomy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xaff22e87 ir_codes_pixelview_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb01a1998 ir_codes_manli_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb0a8ef38 ir_codes_rc5_tv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb57445f7 ir_codes_eztv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb5adb754 ir_codes_cinergy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbd3ce6f0 ir_codes_avermedia_cardbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbeaccbdc ir_codes_gadmei_rm008z_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xcba36c62 ir_codes_videomate_tv_pvr_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xd30c491f ir_codes_norwood_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdc23fec4 ir_codes_fusionhdtv_mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdd4c0a07 ir_codes_evga_indtube_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe1101f4d ir_codes_avermedia_m135a_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe4140c60 ir_codes_genius_tvgo_a11mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeb9bb08f ir_codes_npgtech_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xebf345b4 ir_codes_encore_enltv2_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeec89db8 ir_codes_empty_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xef29c40d ir_codes_adstech_dvb_t_pci_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf33c155d ir_codes_msi_tvanywhere_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf3d619ec ir_codes_iodata_bctv7e_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf4f7a4d6 ir_rc5_timer_end +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf5e15e65 ir_codes_winfast_table +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x20ef167b saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x2cd6c8f2 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x2de86bc5 saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x43e1aaa9 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x5b780b9c saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x6a0c616a saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xb135fcce saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xc9f9f7ce saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcb6f4751 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 0xe50dded7 saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xf71df8c3 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x3f261be4 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x464849f7 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x811fd9d3 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xaec6f75d saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xc02489eb saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xd6e468a8 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xe4f3b21e saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x823d6770 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0xca9458b8 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0x6918fd20 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x22adf18c tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xdafaf31c tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xf2be9516 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0xf7a2c85f tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x45a69d52 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xb9149eab tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x7fee63f8 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x8acca8d5 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0x3b5556fa simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x03245cf0 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x04cbf5d4 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x0cfcdcd2 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x13509a80 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x15fe53bc smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x3c1d6b3f smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x5054f2ef smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x6e1e5799 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x70da9e2f sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7104d52a smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x82ad4e05 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x8652d4cb sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x9f1ffd34 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbc817420 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xc7346786 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd1bc6c4c smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd45ed688 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd803711b smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xe4d93a7f smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfda878c5 sms_get_board +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x0747250e cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x443c1db8 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x5ff40f6a cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x733dbdef cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x7c4f3bb5 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x91ea38b3 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x9b6b0edb cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xaacb9162 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xaf49f293 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xcd04d084 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xd42340da cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0x89b99f1b cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x03ffbe69 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x28f5123c em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x38406f58 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xc77c4de4 em28xx_isoc_dvb_max_packetsize +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xee89f626 em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xf9fbdcd5 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x2cdb1393 saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x429efed5 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x60bf0d47 saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x8d43f8f7 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xb23186e5 saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x0132b8f9 v4l2_i2c_new_subdev_cfg +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x31770615 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x4967bb15 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xea0e8587 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-compat-ioctl32 0xfe64607b v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x1481e733 v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x65112d2d 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 0xb89dee75 v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xda968bec v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x02d204e8 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x27036aa9 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x345732ff videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x38142c77 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x51051d73 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6496c70e videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x651ffa74 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x688d8226 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6c9f0322 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x71e0cb8d videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x76ab0659 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x7ed0cd85 videobuf_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x875d7f12 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x9cbd87af videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa8c10076 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xad2d4437 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xaf364fa4 videobuf_cgmbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xb543d564 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xbb6f89c1 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xbf4a723c videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xcd781bde videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd0957843 videobuf_queue_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd24dd89f videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd9861085 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe20b4487 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x27474d60 videobuf_dma_init_overlay +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x4a174f8c videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x6e8d2508 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x726bc753 videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x8b9b80cb videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x92029e4a videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x92d009ff videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa38faed2 videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa634a0af videobuf_sg_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xb9b3bd4d videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xc30f01b4 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xc34b13c3 videobuf_sg_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xca909ff5 videobuf_vmalloc_to_sg +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xe8afc13c videobuf_dma_sync +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x2cac105d videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x46db401a videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x610c0be2 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x08392b30 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x2b66dccb v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x73b85e12 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xaeb371b0 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc0bfc1f1 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xcdf525f0 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x07897683 i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x136a7bf6 i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x5de80781 i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x60f0d4d6 i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x8cd5f2ff i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xddd8053d i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xe3b8e99f i2o_pool_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xe581d52a i2o_dma_free +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x192638c7 mc13783_adc_set_ts_status +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x5465d3a7 mc13783_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x58e297bc mc13783_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x805caefa mc13783_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xbd3ad37e mc13783_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xcacfa375 mc13783_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xcbfff786 mc13783_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x0c0a54ee pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xddf7872d pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x1e01dbd7 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x3d72f095 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x5c021e49 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x629a14f2 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x7390623d pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x819557a7 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x9aec1ebc pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xaf1cb032 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xb7406588 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xc75c792d pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xccab8a25 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x2ba49b91 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x4fe3728b pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x71680a0e pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x74b80759 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xa7c43776 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x68020eac sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x869541f8 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x87204070 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xa2c82634 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xdd3a8679 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0x48176c13 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x366942b5 wm831x_auxadc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x5229dcc8 wm831x_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x5a71f19f wm831x_enable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x67cc7f1b wm831x_disable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x6d061253 wm831x_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xa2f93166 wm831x_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xa3f125ea wm831x_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xa884efd5 wm831x_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xaf2798fe wm831x_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xc0a04955 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xe55199c6 wm831x_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xed5a71c6 wm831x_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x043653ab wm8350_read_auxadc +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x188cb607 wm8350_device_init +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x3372cf97 wm8350_mask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x462138c4 wm8350_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x4d657e48 wm8350_block_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x500eec42 wm8350_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x5f7ab73e wm8350_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x63bec57c wm8350_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x84a9d645 wm8350_unmask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x96b59a9a wm8350_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xa977b0c7 wm8350_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xb59a3b1d wm8350_device_exit +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xd0da6770 wm8350_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xdc163151 wm8350_gpio_config +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xf077aee4 wm8350_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xf13d1875 wm8350_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x6f93f0a5 wm8400_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0xcd4ecab7 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0xd9e69e03 wm8400_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0xfeef112a wm8400_reg_read +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x4c221016 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x5919c7fe cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x6f23d006 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xc7d290db cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x2df115d4 eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d14d2f eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x0b60017c sdio_align_size +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x19380c0c sdio_writew +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x46eaa05b sdio_claim_host +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x4ffca3e3 sdio_readl +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x624b0cf5 sdio_register_driver +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x62898fd9 sdio_memcpy_toio +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x69d91af4 sdio_enable_func +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x7609f6c8 sdio_unregister_driver +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x87867e17 sdio_writel +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xa2427503 sdio_f0_readb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xa4337417 sdio_claim_irq +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xa49eb1c9 sdio_release_irq +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xc9ce21f3 sdio_set_block_size +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xce91762c sdio_readw +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xd62faca0 sdio_writesb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xe1cc84df sdio_release_host +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xe503ed6e sdio_readsb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xf25189ec sdio_readb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xf2da1733 sdio_writeb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xf3a305bf sdio_f0_writeb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xfa2e01a2 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xfb983b6a sdio_disable_func +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x09edb60c sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1090e0b0 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1e39010a sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x852d20d6 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x9d3a6f5c sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd219c5da sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x0dac47db cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x24b6bc78 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x5bdc548e cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xdd834289 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xbb6f5183 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x1dd29a3b cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x30a44cee cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xe3e29148 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2000 0x42fe0e58 DoC2k_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001 0x8e1a4651 DoCMil_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0xfda8f63e DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0360d0a2 mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0f2ac715 default_mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x28b62d15 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2b4dabf6 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3b21b8cd get_sb_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5ac9c54a add_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5bf3144f kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x636315dc mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x70c40506 parse_mtd_partitions +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7250b50a register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9134aec7 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9b0c789e register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa530201a mtd_table +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb9a0445a deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc38d2146 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xccbfcc2f del_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x009d1b6c add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x77f571af register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x8a5863f1 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xdd3569d0 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x133c5bf3 nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x203d4111 nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x27e0c022 nand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x37bd43bc nand_scan_tail +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x6165ef3c nand_scan_ident +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xa6733f8e onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xd4207061 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x19dab713 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x334ee3ac ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x47b92b91 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x4940be82 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x62c959f3 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x956b1db3 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x9d34a656 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbb662402 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbc505df4 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe57a3c5f ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe5a11f70 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf78f8865 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf92a276e ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x3c892d9a close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x4f994942 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x5b92ea67 alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x5fdcaf0e unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x6e7733d5 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x7ae7e58a open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x7d23ffda can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x84e6299d can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x9c336619 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xe8d815a5 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x33373ffa free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x35e8c3e0 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x878f6fe0 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xc257cc7c register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xdc9bd500 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x00752366 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x00ff3761 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x033b8f47 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x056752a2 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x074061d8 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0965f5cc mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x158f39b2 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x1999b02a mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x21e08dc7 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x2aea20ff mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x2e4b828b mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x33f7d248 mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x3973e2b1 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4906cbc5 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4978b5f7 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4b58db7e mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4f73efe6 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4fe4dc01 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x5913d613 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x5ff3e2f0 mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x6527c053 mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x6789ce70 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x67d2161a mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x71bf2a8d mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x73d6449d mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x7491c7ee mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x76187649 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x769a59f0 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x80940b53 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x848b1454 mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x85d178fb mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8df398df mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x935154ac mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9678481b mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9db8602f mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9e2a5a83 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9f20ff56 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa5324457 mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xafe42b1c mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb70fccee mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd3bf2202 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xdab6fed6 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe05e86a5 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe0a21822 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe9b11b8b mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xeaf326e8 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xebc03e4a mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xece8d3e4 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xee090fd0 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf09ec3e7 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf4e15ad5 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf82c1087 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xfc6c3743 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x242a4386 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x2dd10936 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x084a787b generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x12f9f1b0 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x1a3b8011 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x72aa60cb rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x7eba1d53 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xcae9a854 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0548e51e usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0613cdf4 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1854be1f usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x30cbf869 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3115fee4 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3332c78d usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x51ab5a36 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5c3f7feb usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x63d399da usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x64d10e94 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x69ac9272 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x70cfbe31 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x734753d4 usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x97a96c72 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x98696221 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa1f633d8 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa5996141 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc0bdaef2 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc9c9930c usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd020165a usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd65913ce usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd71c2431 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe1ea5e39 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe7274730 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x0423b5c6 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x14feb12a i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x2fbde42a i2400m_set_init_config +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x37b63072 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x48d741fd i2400m_cmd_get_state +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x8a093664 i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x92115b57 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xc9b31609 i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xdd4101f0 i2400m_queue_work +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xe4c9e0a0 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xe5f0e911 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf12c6457 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf7b574f4 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x8b3ce654 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x02eae1f6 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x126ad0d7 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x13e016e1 lbs_cmd_802_11_rate_adapt_rateset +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x1975686c lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x22e28b20 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x261398b4 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x44975d01 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x75d9e0af lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8469869b lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x872b4d09 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x894b44f3 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8c25476b lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8f01bf14 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xd313e97d lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf8cb7dd9 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x006945ba lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x0d6a9b63 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x17fe4c64 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x67f0d905 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x90426936 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xa5613cf2 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xa832717b lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xf05d87b6 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x606d67e4 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x7fdf544d if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x378968b2 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x609d4cb3 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x79eb883c p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x929715f4 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xdccf041f p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xed54c525 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xf03461e7 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xf0a70bcd p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xf734d07d p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x02922284 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0a730ccb rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x148a1654 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x154f920a rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1ac5e7b4 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1fe8321e rt2x00mac_get_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2067be8b rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2c45d8d7 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x351f56cd rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x458e1756 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4bcf8d02 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x53c7cd77 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5714efe4 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5d0063db rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x64fc5341 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x843af963 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9362dea2 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x93cf1901 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9dc2d231 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb409f450 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb8cde096 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf14d540f rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf5be8571 rt2x00queue_get_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf76aa781 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x2e426118 rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x811baa0a rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x85e84edf rt2x00pci_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x9a69fb09 rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xa9310245 rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xb897301a rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xcfaab98f rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xdd5dd269 rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xf7767110 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x0591718d rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x086bcaf9 rt2x00usb_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x1bc3673d rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x23ba8c56 rt2x00usb_kill_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x2700ff47 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x28b22f1f rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x465c9450 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6b16ac46 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x7023a69f rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x724d393e rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x7271a9cb rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x88d2fb15 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xb75c58d3 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdccda7b3 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdeae2285 rt2x00usb_kick_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xf33e9033 rt2x00usb_vendor_request_large_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x024e1295 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x48bbab37 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0xe68c0998 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x5c06ab42 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xe79bfa35 pcf50633_mbc_usb_curlim_set +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 0x06241bbc ps3stor_teardown +EXPORT_SYMBOL_GPL drivers/ps3/ps3stor_lib 0x65a37b08 ps3stor_read_write_sectors +EXPORT_SYMBOL_GPL drivers/ps3/ps3stor_lib 0x8c2b0d1a ps3stor_setup +EXPORT_SYMBOL_GPL drivers/ps3/ps3stor_lib 0xe8c42fac ps3stor_send_command +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x113fdfb5 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x135d931a wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x41e0084d wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x96682712 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xb5311dd5 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xb65e7c42 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0xb8258285 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x1f9deec6 scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x33367581 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 0xbe790ccb scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xcc5bf7d6 scsi_dh_set_params +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xe5c3ae84 scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xfd20a102 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x1126c3e0 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0406f81f iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x077ed964 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x09b1fde2 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x237a656e iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x28fb2895 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2db2a13f iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x37160420 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x42a3365f iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4560f31a iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x45a8252a iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4c0ab8a7 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4d1f6de5 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5fd04465 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x61bfb7dd iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x65f5c9a5 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6a3cb15e iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6f51b613 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x70acfa72 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x76449a5b iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x768d3ff6 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x76eb261e iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7f567c83 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x801887a6 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8c1c1aec iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8cce3a1d iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x907cc0fe iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9e696f87 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa5cbb40f iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb356eef2 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb3bebde2 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb5459c11 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb6f3cfb6 iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc4505c33 iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc7ea593b iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdb9c92ef iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe29291fb iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf02fc94d iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf12644ac iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf3ea6386 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf538acd2 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf754204c __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfa5aaa3e iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x03affe5e iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x117b8553 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1629d504 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x344987d2 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3ec0bf6f iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5eeff2c1 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x693ac2ae iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x8ebe5620 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x941181ba iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x99406387 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xcbf6b104 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe0be1879 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe6028134 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe6c94822 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xecb2a14a iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xed7a9005 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x09372344 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0be59de7 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0d005d70 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x11a78afa sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x20d848e1 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x27a72a06 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3b464fd2 sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5f1af26b sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x607861cc sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x70021ea4 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7663ffa4 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7bbf4bbc sas_slave_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x80ffd2c1 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8eb2e401 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xabf8d06b sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb8205aa3 __sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb8f9d5e6 sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc104cd27 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd36cfc13 sas_find_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xdb5107f6 sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xdba499cb sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xeb1ecf36 sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfd7219cf sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x0a97479e srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x180c7c69 srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x2cd6f780 srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x94be5134 srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xa883cca4 srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xb335e486 srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x5691a417 scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x9306f818 scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa83b6bdf scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa891b79c scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xadd71c97 scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xbf0c1392 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xe97d1056 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xf2f897c2 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xf3fc9bd9 scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0889fd5b iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2ad533e3 iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4e03a1c2 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4f2023ad iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x56d12feb iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x57ac7d62 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5c7fbf12 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5ca7d96e iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x611b37af iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x647d8fc2 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x64c65f6c iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x65e142cd iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7d0d41f8 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7d8a5dde iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa265905b iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa5c952e1 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xce1b508c iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd180f127 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xde98cd90 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf303a33e iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf3c77fab iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf9a159c3 iscsi_add_session +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 0x0abefd93 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x30ecb858 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x344aec66 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x9117810f srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xf75a7043 srp_rport_add +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0x205f4a87 pciserial_suspend_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0x24160877 pciserial_resume_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0xaa20ee28 pciserial_init_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0xe19a0972 pciserial_remove_ports +EXPORT_SYMBOL_GPL drivers/serial/serial_core 0x0311ab78 uart_console_write +EXPORT_SYMBOL_GPL drivers/serial/serial_core 0x20b1f9d4 uart_set_options +EXPORT_SYMBOL_GPL drivers/serial/serial_core 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x5a3ee620 spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x64bdced0 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x98b23e7c spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xb602c5bc spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xcdaf34d5 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xdb827bf5 spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/uio/uio 0x1fccba2b __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x72a07e17 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xac379397 uio_event_notify +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x0d55b433 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x98d47f0a usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x28bae96b usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x3ab4ffc2 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x3e29920d usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x8c02fcc3 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x976325f0 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xa53d3a3e usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xc7e5f66f usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xe18c6958 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xee274bed usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x06051765 usb_serial_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x16c1b234 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1cda724c usb_serial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1fa5dc3a ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2b6e6c7d usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5567b089 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5cd42610 usb_serial_deregister +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x65a2922e usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x73fac234 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x8cdd46ab usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x91e04787 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x925f2b20 usb_serial_generic_resubmit_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xaefb2f90 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xbbfcfb70 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe24b81ea usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe6422d08 usb_serial_register +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0d7b1a49 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x16579a96 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 0x2d9c1aa7 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x4663fee7 usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x5529535b usb_usual_ignore_device +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x60a5b19f usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6182fad0 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6a375c39 usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6a99288a usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x72e3c2fe usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x80775206 usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x838be342 usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8bc9a988 usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8d9c0fbb usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8e4b9be3 usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x94d7ffdc fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x964ff31b usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x971b3e81 usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa99a78bc usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xbfee520c usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc2d03465 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc45e81f3 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe3204eda usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x21046cf2 wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x2261d859 rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x5b0fc154 wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x8668d134 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xa7e504ce __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xb1157f78 wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xc0d7abb4 wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x09ef287d wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bf05a3e wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1fbafd44 wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x2cc7eeab __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x41c045d4 wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x6069d7d1 wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x668b05ae wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x83747396 wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x9125c994 wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x95625fad wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xab5a0511 wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xbfa8847f wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xc18cbda7 wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xd1a713d2 wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xd481d917 wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xdf6e4f08 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf770a6b4 wusbd +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf8f23f23 wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xfe2e17d7 wusb_et_name +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xb0d312ed i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xc1b42328 i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xd7ab2b1a i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x234b1bba uwb_pca_base_priority_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x64da49fe uwb_phy_rate_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x7c50132f uwb_phy_rate_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x87ee85bc uwb_rts_cts_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x880adf95 uwb_ack_policy_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x9974c3b3 uwb_rts_cts_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x9e111be2 uwb_pca_base_priority_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xee7f1ce7 uwb_ack_policy_show +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x1ab8e8a1 umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x5f00d26a umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x617ae89e __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x746fe186 umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xad718921 umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xb1256e6d umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xb49079a8 umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xe6db682d umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x01dd9e33 __uwb_rc_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0a84374d uwb_rsv_establish +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x137d701f uwb_notifs_deregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2417041e uwb_rc_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x25274c08 uwb_rc_neh_error +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2ab7d650 uwb_rc_dev_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2f3549e9 uwb_rc_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x3714b75d uwb_dev_for_each +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x3d0ad030 uwb_notifs_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x3f7bd2dc uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4188cb7e uwb_est_find_size +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x42aa2a3a uwb_radio_stop +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x47e364f7 uwb_rsv_modify +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4b4b66f1 uwb_rc_neh_grok +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d57ae3c uwb_rsv_type_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d6e2745 uwb_rc_post_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x51987d2b uwb_rc_put +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5b1cd1bb uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5c2ad264 uwb_rsv_get_usable_mas +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6830fdd1 uwb_rsv_accept +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6b9377c5 uwb_ie_next +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x81014346 uwb_rc_pre_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8cb42db6 __uwb_addr_print +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9ce65caf uwb_rc_get_by_grandpa +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xa7cd6889 uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xaecd313d uwb_rc_ie_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb1586ee4 uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb222819d uwb_pal_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb9e1a849 uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbeaafa2b uwb_rsv_create +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc3c45fc1 uwb_rc_cmd_async +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc54d8153 uwb_rsv_terminate +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc674f398 uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd06d37c6 uwb_rc_ie_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd1b6f5a9 uwb_rc_cmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xda211d5c uwb_rc_vcmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xdc10c4c0 uwb_pal_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xeb4cab9a uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf7ca313a uwb_est_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf94ce51c uwb_rsv_destroy +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xfa65315c uwb_pal_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xfb12ebed uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/whci 0x9d9fdb27 whci_wait_for +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x07238b6f wlp_dev_prim_subcat_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x0762ce58 wlp_prepare_tx_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x111c7b4f wlp_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x1878db65 wlp_dev_manufacturer_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x1e82dc93 wlp_dev_model_nr_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x4a24fa5d wlp_wss_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x550e3748 wlp_dev_prim_OUI_sub_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x57a25d1d wlp_dev_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x5c1984c1 wlp_dev_serial_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x5ed69df7 wlp_dev_manufacturer_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x795dbc4a wlp_dev_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x7a4164bd wlp_eda_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x7ce366ec wlp_dev_serial_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x8272a123 wlp_dev_model_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x849b48d5 wlp_dev_model_nr_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x871ffd3f wlp_wss_activate_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x9724b753 wlp_eda_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x993d41b4 wlp_uuid_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x9a7cdb74 wlp_wss_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x9e1a550e wlp_dev_prim_OUI_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xa2ae2451 wlp_wss_activate_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xba27cdc2 wlp_uuid_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xbb7d4c62 wlp_receive_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd3154a19 wlp_neighborhood_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd38ea534 wlp_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd489d3ae wlp_dev_prim_subcat_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd4a457f0 wlp_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd5882044 wlp_dev_prim_category_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xdabb1354 wlp_dev_model_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xdd47f5c3 wlp_dev_prim_category_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xead22291 wlp_dev_prim_OUI_sub_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf8b5f195 wlp_dev_prim_OUI_store +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x02e80c71 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x074806d3 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x72d66354 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x77a618ec ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xa42e0a20 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xde65817e ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xfa3db19a ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x111fa5d9 sis_free_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x88657f95 sis_malloc_new +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x28928dcb virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x3023d67f unregister_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x34b3cbd6 unregister_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x5d8a11c0 register_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x997062d7 register_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x0ac0ab25 vring_interrupt +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x1db8f229 vring_del_virtqueue +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x39b66292 vring_new_virtqueue +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x3fd084b3 vring_transport_features +EXPORT_SYMBOL_GPL drivers/w1/wire 0x066dfd29 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x0b7c05e5 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x18663b24 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x36654fb4 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x509c5cbe w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xa33d122b w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xae0ae120 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xeff673d5 w1_write_block +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x0864c4a4 dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x0dc5d7d9 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +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 0xf2bc1962 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xfc712a96 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0x2d0456d5 exportfs_encode_fh +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0xf060055d exportfs_decode_fh +EXPORT_SYMBOL_GPL fs/fat/fat 0x0eea5fb6 fat_search_long +EXPORT_SYMBOL_GPL fs/fat/fat 0x177f17c3 fat_attach +EXPORT_SYMBOL_GPL fs/fat/fat 0x1b55988f fat_build_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x2805242c fat_flush_inodes +EXPORT_SYMBOL_GPL fs/fat/fat 0x4842ab34 fat_remove_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x6df6bc18 fat_sync_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x70cbaa09 fat_time_unix2fat +EXPORT_SYMBOL_GPL fs/fat/fat 0x9041cc0d fat_dir_empty +EXPORT_SYMBOL_GPL fs/fat/fat 0x9e81764c fat_scan +EXPORT_SYMBOL_GPL fs/fat/fat 0xa1730466 fat_add_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0xa7be34b7 fat_detach +EXPORT_SYMBOL_GPL fs/fat/fat 0xb3549318 fat_getattr +EXPORT_SYMBOL_GPL fs/fat/fat 0xb5683418 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL fs/fat/fat 0xbba38af7 fat_fs_error +EXPORT_SYMBOL_GPL fs/fat/fat 0xdfe3bc92 fat_alloc_new_dir +EXPORT_SYMBOL_GPL fs/fat/fat 0xe4264811 fat_setattr +EXPORT_SYMBOL_GPL fs/fat/fat 0xe524f91a fat_free_clusters +EXPORT_SYMBOL_GPL fs/fat/fat 0xe9577578 fat_fill_super +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x1a618932 nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x2565566e nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x3b7f1068 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x613418e0 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa244f216 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa7b91a7b lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf6933c48 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf69f4d7f nlmsvc_ops +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x2b2f1252 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x9b4655b0 nfsacl_encode +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x05d4ad28 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 0x1e6fc0b3 o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x2827ad27 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 0x521e0726 o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x87a4dedf o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x88884bb1 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 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 0xd60f2c6c o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xde520182 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xe09df6b9 o2nm_get_node_by_num +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 0x0d2986e1 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x33b91b67 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x368fa917 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x3e2fce10 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xac0c973b dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xbc2b332b 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 0x0031c2a6 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0562c415 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x06379db6 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0e27f909 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x21db5b88 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x2778e2d9 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x407992fa ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4a1f6fe9 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x81c85a68 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x91fab465 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x963932a3 ocfs2_stack_glue_set_locking_protocol +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xa7d5c1c0 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd066711e ocfs2_dlm_dump_lksb +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 0x1bcc7a3a garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x463d1571 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x69eab325 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x82c11b4e garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0xa4ff5d05 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0xe760b236 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/stp 0x06209bfe stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0x5a6b5c0d stp_proto_register +EXPORT_SYMBOL_GPL net/ax25/ax25 0x7f5c489e 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 0x2af848b2 bt_class +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0fd016f8 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1e6bf6db dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x205ef699 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x22813f94 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2aff806b dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2d1ec90b dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2f354c36 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x310bdca3 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x35f68a49 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cad5ece dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x50035ac5 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x517caf4b dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x54df3972 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x56ea266a dccp_state_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x60473e2c dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x65b04554 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6ab5ef9c dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6ece4e51 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7f50b469 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8b7d8caf dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x98e03be1 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa1205962 compat_dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb8ed32d0 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbb935067 dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbf5e5fde dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbf98dafe dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbfb57d7c compat_dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbfb971da dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc0c0777e dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc0c48bbf dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc17af03c dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc40cd530 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc575f6a1 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc9655c27 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe3722e01 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xeee79bad dccp_insert_option_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf4a482cc dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfa9e2e9c dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x106b537a dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x1201f4fc dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x2fabae4d dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x7c5e6d74 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xc1755507 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xe40260ad dccp_v4_send_check +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x6d40a921 need_ipv4_conntrack +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x7989714a 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 0x07ae60b6 nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x2e838185 nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x603966e0 nf_nat_proto_range_to_nlattr +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x606d7757 nf_nat_proto_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x949cd4e8 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x94a08134 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xafdbf35c nf_nat_proto_find_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xbe6196c8 nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xf387a1a8 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 0x52c1156d tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x71d1fdda tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x8820d601 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x8e0135ac tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xeaf4f8f6 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x08a3e5d1 net_ipv6_ctl_path +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x0d2598a8 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x1642151a inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x1cd861ff ipv6_dup_options +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x20cf92a5 inet6_destroy_sock +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x23bc4e29 ipv6_opt_accepted +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x28d598be ip6_dst_blackhole +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x73b37f70 ipv6_find_tlv +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x919d90af ip6_local_out +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x99c3d90c inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x9ed1e370 inet6_csk_search_req +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xa081883f ip6_sk_dst_lookup +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xa96d98cf inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xaa7eebc5 ip6_dst_lookup +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xc931bdb8 inet6_csk_xmit +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xd679bed6 fl6_sock_lookup +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7a034fdf ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb4e2364f ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe6476b4a net_vs_ctl_path +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x05cf9ab5 nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x06efa89a nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0fcf908f nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0fd3c7e6 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x10d6dbbf nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1397ce0d __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1b280662 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1d335dde nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1f178306 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x22e0b93d nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2473a20b nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x25c5b155 __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x27114dd8 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37ccec60 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3953c74d nf_conntrack_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3bb508db nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x40c11bf7 nf_conntrack_hash_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x45113557 nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x45d1afe3 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b9065a9 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4c8f2b23 nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x50de2183 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x54f772be nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x583f1058 nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5882ba33 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5de4d263 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5f74e946 nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6054570c nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6234687a __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6522ae12 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6a0972da nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6dd2b501 nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7194a486 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x76630aa2 nf_conntrack_untracked +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7cd67a48 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x84140d36 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x88666e04 __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ca6a35e nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8e1307f2 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 0x944af38b nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x957f3624 nf_ct_unlink_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x96d5999d nf_expect_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9af3f6c1 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9d6d3cce nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa005f4e4 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa106a237 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaa2be592 nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xab72e240 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xac57de78 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb443f6ef __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbac8c49c nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbed00787 __nf_conntrack_helper_find_byname +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc3ec3599 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc6148c56 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc9a15ff2 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xce46b1f8 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xce684768 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd398b580 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xda884ad1 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe18f598d nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe850a3eb nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xef9c3214 print_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf2587827 nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf52dce9e nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x2819470e nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x587d2a36 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x18a377b5 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x1df855a1 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x4d1e870b set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x5e80698f set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x71e308d4 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x9f53f9e3 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xc1e8045a nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xe139bd02 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xe23fed6f set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf9bc87f3 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0xb0d20a13 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x2b2bfc17 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x35106517 nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x64c888d1 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xab8d6b4c nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x987bd557 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xea64bd12 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x3da8f2f1 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4559d24f ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x45ffd524 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x578b0f59 nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x609780b4 nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x9d5d2493 nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xbf089ec3 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xd967ca7b nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xdd706661 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe7d30710 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf2d8b897 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xfc58571a nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x78e64d5f nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x66f975b4 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0xe57fc2ea nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x217d1372 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xcc848aac nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xce55aac6 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xe195247a nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xeca95329 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xef9b4bbd nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0xd0b9206f nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x161d1417 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x2906f78e xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x2bfabeac xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3c38ff52 xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x45108ed1 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x50cb3b3b xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x51a2c8eb xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5709107a per_cpu__xt_info_locks +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5f82f1f7 xt_compat_flush_offsets +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x684694c5 xt_compat_add_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6f9aa2fb xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8ac91531 xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9a880d51 xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9f1d5d77 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xba1a06d2 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc16d425a xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc1dd9cf3 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcbc18ad2 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd7b383d5 xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe0b4971b xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe1f96042 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf0758c82 xt_unregister_table +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x6c4ce93b rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0xa51a5215 rxrpc_register_security +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x0025d15c gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x00c52ef5 g_make_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x054380ff gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x058905b9 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x5af7d214 gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7e1be562 svc_gss_principal +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8d1a827e svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8d37976c gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x951334cc gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xc016b5dd gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xe1bfaffa gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xfb4b5218 gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xfd4b99e0 gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x01c3228c xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x051aca96 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05aa704e svc_xprt_received +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 0x08c52b73 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x09a8dd9d auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0afbcad7 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d539197 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0efcda21 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12e280e3 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x136f2899 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14fa9556 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1683d933 rpc_get_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x17010b8e rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x17ca9100 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1841cf86 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1c677244 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x211bb83d svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22988c7c xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22a4ef61 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25051956 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29c8865c svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2aa17774 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2acbffdf xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2ebf99ae rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3057bf81 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3099e4ea xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30e1c95c rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3239c249 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34ac0b6a svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3546e700 cache_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x39b453ac unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a01d129 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ef94f4c svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x40a0daac auth_unix_forget_old +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x421b5254 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x46b0b332 rpc_mkpipe +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x49592f89 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c0a6660 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d2b8d2d svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ede97a4 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x500d9190 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x521cba26 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54d0c359 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x564c5657 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x573d825a rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x57f08d2b rpc_exit_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x586d1666 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b14ec1a rpc_put_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bd26000 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5eb50996 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x602dbb83 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6301411f rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x675524ec rpc_sockaddr2uaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x67bbd239 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x68d31a13 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6bb07934 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c5304c5 rpcb_getport_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6cd1ffe8 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ce2eb82 xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e98d033 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6eea229d svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6f9e58d2 auth_unix_add_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7157acf4 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x720ac7b7 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7231219c rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72c6c11b rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72dbaf22 svc_sock_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7715af40 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x775adaf6 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78df36a1 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79542521 rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d28a6cc xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e44f44d svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f703aaa rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81ad8e86 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82ca335d xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x83e80b61 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x856baa8a xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86b68a0c xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x88d07367 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x896e2082 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8a9e07ab cache_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8efe3fc8 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90498cbe rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94975597 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94ebb864 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x96fa5811 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x98e89e83 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99e0ad2d sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99f0ea3f xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9a546dfa rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b922482 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e041b57 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa1301dcd svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa1d886f5 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa22e7d4b rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa30806f8 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa73c17f3 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa7910554 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa7cfe924 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9e7b3fa rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaadb7783 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac396b64 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xafca1268 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb0562ffc rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb17db574 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3665619 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb442fe0e xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb49cf39a xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb57adb9e rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb90f1a31 rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba154246 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbadef2e8 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbda0210e rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbdfa6716 auth_unix_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc10adf1d svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc1b454ba rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6e22263 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc831a6a3 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca07381a xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcca4e915 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd194730 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd7ac4a0 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd1c94090 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2a22589 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6ee251b read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd795c1fd xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdda8a9f7 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe03b6d2a cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4b640fa sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5c41ed4 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe75815d6 xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea6419ea rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeb93a8d5 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xebe62dd6 rpc_destroy_wait_queue +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 0xef5366b7 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1986a6c rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf207184a xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf373dab0 svc_sock_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf397f935 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf4a41bd6 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6f31e48 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf7cfbac7 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf7f2f1b0 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9c13b91 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa7d6d2a rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb8a37f8 sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfd4fcab2 rpc_malloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0x0b470890 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x16c8e06b wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0x1e940370 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x48db14f7 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x49bb139f wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x4bb17a3d wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x637df5cb wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x64ad176d wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x9c399d08 wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0xaabd92eb wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xbb066c43 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0xc8fc2236 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf9c5a682 wimax_msg +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0269905b cfg80211_wireless_stats +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x028b22b0 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x17dacb91 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1849004f cfg80211_wext_siwgenie +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x20d3a882 cfg80211_wext_siwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x22a29793 cfg80211_wext_siwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x25302da9 cfg80211_wext_giwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2aba85da cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2ad25991 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x32457d93 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x40bc43cc cfg80211_wext_giwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x44654e2c cfg80211_wext_siwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4521d2d5 cfg80211_wext_siwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6129352a cfg80211_wext_siwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x68e8c6ad cfg80211_wext_giwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7787ac64 cfg80211_wext_giwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x87578636 cfg80211_wext_siwencodeext +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8e47aae5 cfg80211_wext_siwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8f9ebbd3 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa8f34013 cfg80211_wext_giwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xaad2c0d5 cfg80211_wext_giwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb0942a21 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb52e0c68 cfg80211_wext_siwmlme +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb8e4e423 cfg80211_wext_giwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd12aae8f cfg80211_wext_siwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd80c27e3 cfg80211_wext_siwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdafa307c cfg80211_wext_siwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdbd0007f cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe17cd965 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xeb285d7d cfg80211_wext_giwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xecde72f7 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xfb4b2431 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x38ea90b6 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x7b64be2c ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xa39a6ead ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xf0adcad0 ipcomp_init_state +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x0136f318 aoa_codec_unregister +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x3e95ded8 ftr_gpio_methods +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x4994e3eb aoa_snd_ctl_add +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x49bf486f aoa_snd_device_new +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x79ccf2b6 pmf_gpio_methods +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x8f822818 aoa_fabric_register +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xb84869b4 aoa_get_card +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xcd7dfeec aoa_fabric_unregister +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xdc5153bf aoa_codec_register +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xff0d9449 aoa_fabric_unlink_codec +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x21ea0e45 soundbus_dev_put +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x3c99e664 soundbus_add_one +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x56d36696 soundbus_remove_one +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x6f107231 soundbus_unregister_driver +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0xdc8afee5 soundbus_register_driver +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0xeb06ae74 soundbus_dev_get +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x02830ce6 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x02b0d28f snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x058ba683 snd_hda_parse_pin_def_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0ae44173 snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0da45c96 snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1439107f snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1509e571 snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x15af2128 snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x168ff42b snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1cf85246 snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1daccf91 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1f410ec5 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1fada65a snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2559f600 snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x25a853f4 snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x27bb1232 snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2e758791 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x30fc95f9 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x349adc65 snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x398ac9dc snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3b5cb70c snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3d6d10de snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x41fbc818 snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x42522f54 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x44824727 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4497dfe5 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4a2d1ded snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4db66704 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4eba7e6e snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5181070d snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x53ca5340 snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x58350fe1 snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ae76f73 auto_pin_cfg_labels +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5f67521a snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6131a378 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x634caa7b snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x64430c16 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6ded24d2 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x71ff699c snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x75098ed1 snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7a5c6998 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8128bb61 snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x81ce5c47 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8203048d query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9070cc54 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x932f6727 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9498e964 snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a88d7d9 snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9c459553 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9ce12d72 snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9fce0bc6 snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad87613e snd_print_pcm_rates +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xae57bbc6 snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaefdf2e6 snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb0988fb5 snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb15b441b snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbc494e37 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbc7bb5e4 snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbd886e59 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc34a54c6 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc3f60079 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc5473bec snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xccb701cf snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcce27eb0 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcfeb8214 snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd29d655e snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd4c0bfbe snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xda26fab4 snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xda2dbaa7 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xda495b63 snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdce8f62b snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdd49fbf6 snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe0312717 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe36e8c64 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe8ee880f snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xef85e321 snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf558db67 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf9fb97fe snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfaee6dab snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0x4b402ed3 soc_codec_dev_ad1836 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0xd4a33761 ad1836_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0x2203568f ad1938_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0x6d7f6438 soc_codec_dev_ad1938 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0x01e2eb9c soc_codec_dev_ad73311 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0x65985fd3 ad73311_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4104 0x7bbf9eef soc_codec_device_ak4104 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0x72ae4edc ak4535_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0xabb19868 soc_codec_dev_ak4535 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0x24834709 ak4642_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0xf30ab7c4 soc_codec_dev_ak4642 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x7033735f soc_codec_device_cs4270 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0xb0fc8ab8 cs4270_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x7d75e12e max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0x1bf4b1a6 soc_codec_dev_pcm3008 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0x7adfa0dd pcm3008_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-spdif 0x88eaab5f dit_stub_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x1041b46d soc_codec_dev_ssm2602 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0xd3388844 ssm2602_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0x7b3f37cd tlv320aic23_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0xc5e31d80 soc_codec_dev_tlv320aic23 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0x7786f53f aic26_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0xe5b3bbff aic26_soc_codec_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x2b4f16fc aic3x_button_pressed +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x39082bc5 soc_codec_dev_aic3x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xbb4b836a aic3x_headset_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xbd5a55f5 aic3x_set_headset_detection +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xc8ec061d aic3x_set_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xd55273ae aic3x_get_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xe4a39597 aic3x_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0x58d63aa9 twl4030_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0xbfcc3c65 soc_codec_dev_twl4030 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda134x 0x7e745a60 soc_codec_dev_uda134x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x4fce6609 soc_codec_dev_uda1380 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0xea964f7e uda1380_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x434c2b0c wm_hubs_add_analogue_routes +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 0xe099750a wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x0b925a6e soc_codec_dev_wm8350 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x534b6b85 wm8350_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xdc35ab42 wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x0bb64d3b wm8400_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x908ea03c soc_codec_dev_wm8400 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0x1895439d wm8510_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0xc2e51fab soc_codec_dev_wm8510 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0xafe92bae wm8523_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0xeb8ef231 soc_codec_dev_wm8523 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0x689fc0e2 wm8580_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0xcd342424 soc_codec_dev_wm8580 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0x870bdc10 wm8728_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0xa273e371 soc_codec_dev_wm8728 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x0673866c wm8731_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x7273320f soc_codec_dev_wm8731 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x6fe57ffc soc_codec_dev_wm8750 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0xaeff60f3 wm8750_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x3017bb19 wm8753_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x44c82c3f soc_codec_dev_wm8753 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x1a42dafc wm8776_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x3a3b0c14 soc_codec_dev_wm8776 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0x89f1ca24 soc_codec_dev_wm8900 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0xe94d5d66 wm8900_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x6fd92fc8 wm8903_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xa2dc99e7 soc_codec_dev_wm8903 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0x1d027975 wm8940_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0x8ef862f8 soc_codec_dev_wm8940 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0x8a9d685c wm8960_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0x8d7cb696 soc_codec_dev_wm8960 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0x41c1bbf9 wm8961_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0x946787d7 soc_codec_dev_wm8961 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0x95a5ede0 soc_codec_dev_wm8971 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0xe7b6b04d wm8971_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0xb77b21fe wm8974_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0xe8d219a5 soc_codec_dev_wm8974 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x36f1916c wm8988_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x4f3b1194 soc_codec_dev_wm8988 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0x7cd518b5 wm8990_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0x8620f1ab soc_codec_dev_wm8990 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0xad0da268 soc_codec_dev_wm8993 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0xfa416a1b wm8993_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0x19cacfcc wm9081_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0xde91cce7 soc_codec_dev_wm9081 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x01c55b0d snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x01f2add7 snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0b17f87f snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0ddcbb7d snd_soc_dapm_stream_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x12830b47 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x13422ba8 snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2074b153 snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x27fbfd0f dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x29d82e80 snd_soc_suspend_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2ad77027 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x30fb457c snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x34811b57 snd_soc_add_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x349e3c7d snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x34fd1c1c snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x398fe1ca snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x39efafb4 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x431e83b0 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x48b2c321 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x49b9e7a9 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4cc2a0cf snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4e347007 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x50b899b0 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x53a2c658 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x547364f7 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x55628208 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5905a241 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x60b515a9 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x62b5faed snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6e0cffe2 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x703f3bc4 snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x763186be snd_soc_init_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x77b88df0 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x780a5f34 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8706c83e snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x89b37577 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ba3d000 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8c749ace snd_soc_info_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9056d2b9 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9425a4ab snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x94b28b63 snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9725b29f snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9743ece2 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x98e7dc10 snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9b7f54e7 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9f7c4b14 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xac5ac617 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb37e0455 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb3a8ded2 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb53497e7 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb5d52b15 snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbb7e9873 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbc2e8983 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbd884c2b snd_soc_put_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbf2757f1 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc06cd84f snd_soc_new_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc2efee41 snd_soc_get_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc45e45e1 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc9365085 snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcab2897f snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcadb9c08 snd_soc_free_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcd9846b6 snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcf744ffe snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd157061e snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd313896c snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe53e58cb snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf0a0686e snd_soc_resume_device +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf3b95a79 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf4d7c0a6 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfa13bfc4 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfbcd0dd3 snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfd146fea snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x1f621eea xv_free +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x6a874429 xv_destroy_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0x9c6a0365 xv_create_pool +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xaf69699e xv_get_object_size +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xd85f1692 xv_get_total_size_bytes +EXPORT_SYMBOL_GPL ubuntu/compcache/xvmalloc 0xe0cf8249 xv_malloc +EXPORT_SYMBOL_GPL vmlinux 0x003ae408 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x00566d8f inotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x00b8ecf8 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x00befbaa transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x00e449c7 spu_switch_notify +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x00f4e873 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x0143861e fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x016b9869 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x01892786 swiotlb_sync_single_range_for_device +EXPORT_SYMBOL_GPL vmlinux 0x019353e2 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01b169eb usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x01cc414a spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x01d49946 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01f632c3 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x026117fd force_sig_info +EXPORT_SYMBOL_GPL vmlinux 0x026c92a6 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x02b3f9d9 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x02ccea56 lock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x02e61d9f get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x02f81b1c pmac_low_i2c_unlock +EXPORT_SYMBOL_GPL vmlinux 0x0312e4dc i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x0342f54a single_release_net +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x03497035 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x035ed0a5 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x037218da ide_input_data +EXPORT_SYMBOL_GPL vmlinux 0x037401e3 pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0x03b8e679 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x03dfcfc8 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x04069b1d set_irq_nested_thread +EXPORT_SYMBOL_GPL vmlinux 0x0423b49e inotify_dentry_parent_queue_event +EXPORT_SYMBOL_GPL vmlinux 0x042df92d spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x0433edea get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x04ca975d ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x04ea8706 __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x04ebc9a1 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x05263d71 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x0554307b ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x05876361 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x05b62a42 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0x05ca88c7 pmac_i2c_detach_adapter +EXPORT_SYMBOL_GPL vmlinux 0x05ed4de7 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x0619ca8a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x063a49b9 ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x065315d9 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x06b7828b inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x06deadb3 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x07022a3e ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x070c4be0 platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x071bc448 ide_check_ireason +EXPORT_SYMBOL_GPL vmlinux 0x0785a27d ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x07af2471 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x07b284ee ide_queue_pc_tail +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07c5cf92 ide_pci_init_one +EXPORT_SYMBOL_GPL vmlinux 0x07f200cb ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x083dfa03 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x083e799b ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x08438cea swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0x087c86f1 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x089c7b1b class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x08cc0e62 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x08d8708f cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x08fba572 of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x091c824a machine_power_off +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x09c7dc7b regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x09c941e0 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x09f303fa crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x0a001c94 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x0a00c18d kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x0a4c780a led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x0a51ae5b virq_to_hw +EXPORT_SYMBOL_GPL vmlinux 0x0a621c08 ide_host_free +EXPORT_SYMBOL_GPL vmlinux 0x0ac18a27 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x0ac6eccd crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b0cd58a pmf_get_function +EXPORT_SYMBOL_GPL vmlinux 0x0b15a243 drop_file_write_access +EXPORT_SYMBOL_GPL vmlinux 0x0b225458 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0b468586 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x0b545570 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x0b5f3286 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x0b83c726 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x0bc5647b bd_release_from_disk +EXPORT_SYMBOL_GPL vmlinux 0x0be3e706 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x0beea446 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x0c09e486 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c4fee26 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x0c51c929 proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x0c759d89 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x0c87b646 usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x0c956253 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x0ca073b3 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x0cb88680 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x0cbf66b1 scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0x0cc81abc pmac_i2c_attach_adapter +EXPORT_SYMBOL_GPL vmlinux 0x0cd61b67 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x0cd9e1d0 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x0d2f2df7 pmf_do_irq +EXPORT_SYMBOL_GPL vmlinux 0x0e2f2423 device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0x0e366803 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x0e5b9840 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x0e79a3c5 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x0e9386b6 __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x0e977893 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x0efbdb30 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x0f2b6168 ide_release_dma_engine +EXPORT_SYMBOL_GPL vmlinux 0x0f4efd0e platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x0f8ba23c sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x0fbf124d crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x0ff2ee0e sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101c923e __tracepoint_power_start +EXPORT_SYMBOL_GPL vmlinux 0x103fa0c1 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x105d1834 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x108adf71 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x111dca74 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0x113c628b regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x1152f238 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x11fb3e85 ata_sff_host_intr +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1251d30f call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x12629c31 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x12e7db77 of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x12edbcfc crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x1333d8b3 ps3av_video_mode2res +EXPORT_SYMBOL_GPL vmlinux 0x13714f64 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x138552fc sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13f6fb9e cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x13f82f8e srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x13f98dcc of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x13fe3886 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1400aba6 sysdev_class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x14178cc5 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x142e9cf2 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x145c33d8 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x1460c88b vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x148d3636 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x149db923 selinux_string_to_sid +EXPORT_SYMBOL_GPL vmlinux 0x14ddfc25 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x14f34d54 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x14ff9cc6 fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0x154593c6 sysdev_class_register +EXPORT_SYMBOL_GPL vmlinux 0x1556756b usermodehelper_is_disabled +EXPORT_SYMBOL_GPL vmlinux 0x156c2c4a fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x158625d3 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x15892417 async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1598dc9d unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x15c12170 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x15c3fadc handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x15e6d86b dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x15f8f0b9 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x1633caca pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x1659ca9c cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x166925c0 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x16718bee led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x1672bce9 pmf_find_function +EXPORT_SYMBOL_GPL vmlinux 0x168aed03 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x1716cf11 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x1722d945 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x176eb175 irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0x176ef8c6 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0x17b1cfa8 pmf_call_function +EXPORT_SYMBOL_GPL vmlinux 0x17e797fd rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x18654952 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1878f62b edac_err_assert +EXPORT_SYMBOL_GPL vmlinux 0x18d53420 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0x18e251af ide_init_sg_cmd +EXPORT_SYMBOL_GPL vmlinux 0x18ee7395 scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x18f464c6 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x19020eb3 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1928a369 of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19b70ac1 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x19c4f435 cpu_remove_sysdev_attr +EXPORT_SYMBOL_GPL vmlinux 0x19f43c7a led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x19f6bd37 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1a21c648 class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a356812 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x1a474901 tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x1a628a1c ata_sff_port_start +EXPORT_SYMBOL_GPL vmlinux 0x1a917e47 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x1ac717e3 ps3_os_area_get_rtc_diff +EXPORT_SYMBOL_GPL vmlinux 0x1ae6f10b macio_find +EXPORT_SYMBOL_GPL vmlinux 0x1b07fb2c rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x1b221e3d ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x1b379a98 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1c32d7f7 unregister_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0x1c3af716 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x1c4a0fd4 device_del +EXPORT_SYMBOL_GPL vmlinux 0x1c51c05d dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x1c852e7c xfrm_calg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c9c6cd2 do_add_mount +EXPORT_SYMBOL_GPL vmlinux 0x1cdeed47 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x1cfbe7c3 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x1d13d809 blk_abort_queue +EXPORT_SYMBOL_GPL vmlinux 0x1d8d7c79 d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x1d8f8059 __tracepoint_power_end +EXPORT_SYMBOL_GPL vmlinux 0x1db21d74 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x1dbac861 spu_init_channels +EXPORT_SYMBOL_GPL vmlinux 0x1dee2629 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x1df7125f ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x1e35322f anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x1e7842c1 tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ec090a9 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x1eda81be usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x1f263d4a kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x1f32eb84 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1f805974 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1fd3e8b9 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x1fe6cca3 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x1fe970cb ps3_io_irq_setup +EXPORT_SYMBOL_GPL vmlinux 0x1ffba424 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x2009d329 fb_sys_write +EXPORT_SYMBOL_GPL vmlinux 0x2009e136 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x20363438 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x204ed0e1 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x20725e26 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x20a82b8d skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x20b46bde xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20bc75a3 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x20c6472c ide_create_request_sense_cmd +EXPORT_SYMBOL_GPL vmlinux 0x20e64ba6 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x20e9cc4a ide_do_test_unit_ready +EXPORT_SYMBOL_GPL vmlinux 0x214fef7c ide_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x215db6e9 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x216808cb pmac_i2c_get_type +EXPORT_SYMBOL_GPL vmlinux 0x21954635 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x2198bd5b pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x21a9a0f2 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x21b06f73 pcibios_find_pci_bus +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x22b3a7cf usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x22b3c679 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x235466ba kick_process +EXPORT_SYMBOL_GPL vmlinux 0x2357f8e1 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23a59941 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x23b92f18 queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x23f5e443 inotify_rm_wd +EXPORT_SYMBOL_GPL vmlinux 0x23fc87d0 ide_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x240a0bf9 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x242f33c2 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x24770d68 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x24905800 kill_pid_info_as_uid +EXPORT_SYMBOL_GPL vmlinux 0x24cda041 ide_vlb_clk +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x251ccf35 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x2537f231 pmac_i2c_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x25410f38 ide_prep_sense +EXPORT_SYMBOL_GPL vmlinux 0x254e1861 pm_request_resume +EXPORT_SYMBOL_GPL vmlinux 0x254e310c ps3_os_area_flash_register +EXPORT_SYMBOL_GPL vmlinux 0x25b4d3d8 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0x25fff4f7 register_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0x266351cc mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x266e29a6 ps3_sys_manager_register_ops +EXPORT_SYMBOL_GPL vmlinux 0x26ac9d63 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x26b5369b __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26deebf8 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x271fde51 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x2739ec30 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x27754885 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x27adf232 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x27d55cd9 of_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x27e4ee22 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x27ff79fb sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x282f7979 ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x285c5dec scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x28b48f4a led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x28d1121a dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x28d1e2b7 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x28d44845 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL vmlinux 0x2918f83f nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x292137d4 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x2926a9cb sysfs_remove_device_from_node +EXPORT_SYMBOL_GPL vmlinux 0x294809f4 sysdev_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x29537e73 cbe_spu_info +EXPORT_SYMBOL_GPL vmlinux 0x29b58645 ide_pci_setup_ports +EXPORT_SYMBOL_GPL vmlinux 0x29c32855 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x29d4e1ec sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0x2a1538ca lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x2a24de95 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x2a41956b xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2abc7adc free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x2b2c5792 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x2b616070 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x2b8d14d9 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x2b977ce8 cpu_add_sysdev_attr +EXPORT_SYMBOL_GPL vmlinux 0x2b9f8e23 nf_net_ipv4_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x2bc4af7e netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x2bcaa8e3 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2bfc4d7f tracepoint_get_iter_range +EXPORT_SYMBOL_GPL vmlinux 0x2c100eba disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c31f4fc class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2c34d750 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c8ef6ff crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x2cbee5a8 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d43685b pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x2dc60d6d scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x2dc87bb7 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x2ddbc3a3 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x2e1d1c2e cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0x2e1d43cf lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x2e47f677 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x2e90e626 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x2e919c97 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x2e948b55 user_match +EXPORT_SYMBOL_GPL vmlinux 0x2e9b162f ide_dma_unmap_sg +EXPORT_SYMBOL_GPL vmlinux 0x2f114373 fb_sys_read +EXPORT_SYMBOL_GPL vmlinux 0x2f1802bc scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x2f1d59c6 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x2f224517 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f6b1062 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x2f70561d crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x2fcd9e17 dpm_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x2fd01314 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x304c530d pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x3055879b ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x306ae8e7 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x307e766d ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x309c07e1 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x30f4bc53 ide_read_bcount_and_ireason +EXPORT_SYMBOL_GPL vmlinux 0x311b78c2 ps3_get_spe_id +EXPORT_SYMBOL_GPL vmlinux 0x31348429 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x318a2b82 register_net_sysctl_rotable +EXPORT_SYMBOL_GPL vmlinux 0x31afec64 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x31b306e3 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x31dd0e08 pcibios_remove_pci_devices +EXPORT_SYMBOL_GPL vmlinux 0x31e433a7 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x31e90fb1 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x31e954fe ps3_vuart_port_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x31f6b4ad ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x31f780ab find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x321651ce platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3225cbb2 spu_associate_mm +EXPORT_SYMBOL_GPL vmlinux 0x325df705 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x3263c5b9 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x32ca497b inotify_init_watch +EXPORT_SYMBOL_GPL vmlinux 0x32d5e7fc xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x32e0eeb9 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x32f17454 ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x3309ea64 ps3av_audio_mute +EXPORT_SYMBOL_GPL vmlinux 0x330b0653 pcibios_map_io_space +EXPORT_SYMBOL_GPL vmlinux 0x33621e3f ide_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x33a6742c ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x33fe4be3 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0x341f34ea skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x34275124 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x34292dfe regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x343e3aa6 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x344a7f10 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x3476bd99 device_register +EXPORT_SYMBOL_GPL vmlinux 0x3477d447 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x3480a6ac xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x349ea1eb ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0x34f4cb2e crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x352e9eff inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x35589168 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x3577ede3 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x35a6da16 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x35d8c94a sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x369f3b52 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x36a58bb1 tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0x36d0f122 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3721bcc3 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x3739be79 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x375d051e da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x376306d1 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x37738b97 put_device +EXPORT_SYMBOL_GPL vmlinux 0x37ad4176 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x37c72359 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x37fa71ca ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x3823d8bf inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x3837e116 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x3866db94 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x386e6165 of_irq_map_pci +EXPORT_SYMBOL_GPL vmlinux 0x3884953a ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x389d353a ide_unregister_region +EXPORT_SYMBOL_GPL vmlinux 0x38a83c50 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x38c0fa71 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x38f21a7a fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x391e1f08 ide_device_get +EXPORT_SYMBOL_GPL vmlinux 0x39d51f1d pm_request_idle +EXPORT_SYMBOL_GPL vmlinux 0x3a0757d3 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x3a159e41 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x3a723c15 klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x3a74af13 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x3a9b5c37 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x3ac57474 inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0x3aed4e39 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0x3b1c5afc ps3_vuart_irq_setup +EXPORT_SYMBOL_GPL vmlinux 0x3b2808e7 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3b5a2604 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x3b5ba5d8 crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0x3ba85f37 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x3be7af02 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3c06d6c9 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x3c11991a pmf_register_irq_client +EXPORT_SYMBOL_GPL vmlinux 0x3c2cd97d srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x3c6c45ca __tracepoint_power_frequency +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cd6cfb6 sysdev_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3cd9b91c pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x3cfdfae5 trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d22a388 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x3d27227a pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d446f33 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x3dbb56e9 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x3dccbe67 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x3e1fd5c3 pmf_call_one +EXPORT_SYMBOL_GPL vmlinux 0x3e5e3bf2 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x3e759723 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x3eb9bcb6 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x3ec042c9 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x3ee6e515 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f238101 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x3f3931d1 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x3f427c8c ide_get_best_pio_mode +EXPORT_SYMBOL_GPL vmlinux 0x3f5a86d9 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x3f5f849f rtnl_kill_links +EXPORT_SYMBOL_GPL vmlinux 0x3f8689d2 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x3f9f164c crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x4027913d ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40afc938 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x40c54fcd enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x413c4b7b usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x4141fed6 usb_buffer_unmap_sg +EXPORT_SYMBOL_GPL vmlinux 0x414c72f2 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x41c4ac49 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x41fd80d5 ps3_system_bus_device_register +EXPORT_SYMBOL_GPL vmlinux 0x42494cea ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x427923d4 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x42886722 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x42fc1eef ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x430f8420 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x432c2ae7 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x4360f05c transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x437d8a8f ide_init_disk +EXPORT_SYMBOL_GPL vmlinux 0x43d88c30 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x43f18e18 crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x43f896ed remove_irq +EXPORT_SYMBOL_GPL vmlinux 0x44075beb sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x440a4f0b crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x4414eca7 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x44571c9e ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x449c2de0 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x44a65d5c lock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x44bf4980 pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x45006acd ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x45346863 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x45438bc2 spu_priv1_ops +EXPORT_SYMBOL_GPL vmlinux 0x454df0b6 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x457403c2 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45ebbc47 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x45f9d341 srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x460520f8 device_create +EXPORT_SYMBOL_GPL vmlinux 0x46625800 spu_setup_kernel_slbs +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x467418f2 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x469a8498 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x46c66fc0 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x46d9f955 ps3_irq_plug_setup +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x4741db42 ps3av_set_audio_mode +EXPORT_SYMBOL_GPL vmlinux 0x4750bec0 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x47657ad5 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x478bf381 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x47a74ad6 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x47acddea ps3_sys_manager_set_wol +EXPORT_SYMBOL_GPL vmlinux 0x47b702cc device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x47e8edde generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x482933d4 ide_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x483177c5 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x48362971 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x4856fe99 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x486ced2e crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0x48be2c02 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x48e9eeb3 ide_host_add +EXPORT_SYMBOL_GPL vmlinux 0x49360ef6 __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x4958e789 rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49b78fca ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x49c08b21 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x49c3512f crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4a04ff75 bd_claim_by_disk +EXPORT_SYMBOL_GPL vmlinux 0x4a9ed4bf usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x4aa241be ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4abaf37d pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x4ac657f1 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x4adeb863 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x4af006c6 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x4b097973 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x4b364a54 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x4b700a97 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x4bad3169 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x4bcc89ce __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x4be20186 ide_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x4be757cf pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x4c178fd6 shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x4c18f773 ps3_os_area_set_rtc_diff +EXPORT_SYMBOL_GPL vmlinux 0x4c3f3414 __remove_pages +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4c7abaa6 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x4ce96145 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0x4d0c00eb pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x4d41592c blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x4d760dca input_class +EXPORT_SYMBOL_GPL vmlinux 0x4d8f4c15 klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4d8ff5e2 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x4d980c85 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x4db6df9a __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4dbbcfe8 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x4dc3109a fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x4deb38fd tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x4e3295ec ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x4e4c7069 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x4e640f83 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x4e71935e __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x4e8f2cc0 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x4eebc074 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0x4ef745c5 get_driver +EXPORT_SYMBOL_GPL vmlinux 0x4f2bd13d seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0x4f5109f8 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0x4faa6cec regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x4fd1364b queue_work +EXPORT_SYMBOL_GPL vmlinux 0x4fd7b270 ps3_vuart_cancel_async +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4ffb463a blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x50146af6 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x507ae8c7 spu_get_profile_private_kref +EXPORT_SYMBOL_GPL vmlinux 0x507de8c6 add_memory +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x508916c9 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x50cd2eac class_compat_unregister +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 0x51208f92 blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0x5148495d mmput +EXPORT_SYMBOL_GPL vmlinux 0x514cd834 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x51a10425 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x52191d51 unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x5244fec3 devres_add +EXPORT_SYMBOL_GPL vmlinux 0x525acd28 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x52759f74 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x52d111ea pm_qos_update_requirement +EXPORT_SYMBOL_GPL vmlinux 0x52eec39b crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x52f2769a tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x5324d04f bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x532add2a hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x5376721f sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x539e231d scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x53d302ad shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x5405cc88 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x543d2e70 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x55135234 ps3_vuart_read_async +EXPORT_SYMBOL_GPL vmlinux 0x5552bc55 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x55624795 lookup_create +EXPORT_SYMBOL_GPL vmlinux 0x556efbcc ata_port_start +EXPORT_SYMBOL_GPL vmlinux 0x558520d1 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x55f2580b __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x562cf6d0 driver_add_kobj +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x563fb5c8 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0x5699caa9 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x56c7b48c unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x56d81917 map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x56dfde23 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x57022ce8 ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x5704276d debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x57732a1b cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x57842929 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x579a892f crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57c49357 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x580460f1 ide_pci_init_two +EXPORT_SYMBOL_GPL vmlinux 0x58197116 aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x583284a1 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x58521f79 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x585b4f76 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5876a9e2 driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x5892f832 release_pmc_hardware +EXPORT_SYMBOL_GPL vmlinux 0x5924af2c ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x5956d245 ide_retry_pc +EXPORT_SYMBOL_GPL vmlinux 0x59626159 ide_pci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x59ac9deb skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x59afcff8 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x59f6e235 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x5a18337b blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0x5a29b941 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5ae1b0e7 each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x5b306100 klist_init +EXPORT_SYMBOL_GPL vmlinux 0x5b44b02e sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x5b57e8dd spu_management_ops +EXPORT_SYMBOL_GPL vmlinux 0x5b5d765f driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5b783ef6 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x5b823e85 ide_set_pio +EXPORT_SYMBOL_GPL vmlinux 0x5bb730c2 tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c00f900 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x5c0a5ee4 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x5c175b2e rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x5c342015 do_rw_taskfile +EXPORT_SYMBOL_GPL vmlinux 0x5c776bf6 fb_ddc_read +EXPORT_SYMBOL_GPL vmlinux 0x5c9a3517 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x5cb698ad ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x5cd2e48f shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x5cd828fa fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x5d0f6f57 kbd_table +EXPORT_SYMBOL_GPL vmlinux 0x5d5d5bc4 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d8a8968 ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x5d973cd0 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x5da200dc tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5dee2fe8 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x5df2d982 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x5e64ba0e dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x5e769986 ps3_os_area_get_av_multi_out +EXPORT_SYMBOL_GPL vmlinux 0x5e878658 ide_read_status +EXPORT_SYMBOL_GPL vmlinux 0x5ee7542e reserve_pmc_hardware +EXPORT_SYMBOL_GPL vmlinux 0x5f3ba09a __create_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x5f535dc0 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x5f664da6 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x5fcdec5d xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x5fd322f6 sysdev_register +EXPORT_SYMBOL_GPL vmlinux 0x5ffc8583 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x5ffd8a58 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x601c0775 ide_dma_sff_timer_expiry +EXPORT_SYMBOL_GPL vmlinux 0x6035c616 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x6040fd4b read_unlock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0x6042eaa2 ide_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x609266bc of_scan_bus +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL_GPL vmlinux 0x60d34857 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x60dbcb3e cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x60f70e66 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x610dbbe6 register_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x61451fc2 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x6173aadd regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x61bff36f ide_output_data +EXPORT_SYMBOL_GPL vmlinux 0x628ecdc7 driver_register +EXPORT_SYMBOL_GPL vmlinux 0x629a7f6e do_posix_clock_nonanosleep +EXPORT_SYMBOL_GPL vmlinux 0x62a924d1 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x631238f0 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x6315a335 sysdev_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x631725de pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0x6368de32 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x6377d40c register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x63d1d047 spu_invalidate_slbs +EXPORT_SYMBOL_GPL vmlinux 0x63f4dc09 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x63f80b12 sysdev_create_file +EXPORT_SYMBOL_GPL vmlinux 0x64559db1 ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x647d6922 skb_icv_walk +EXPORT_SYMBOL_GPL vmlinux 0x64a43692 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x64ebbcd1 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x64fba4b8 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x654c49e2 aer_irq +EXPORT_SYMBOL_GPL vmlinux 0x65abdc4a usb_buffer_free +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 0x65e3f147 ide_dma_lost_irq +EXPORT_SYMBOL_GPL vmlinux 0x65e54015 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x66050a75 ata_sff_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x660a2183 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x661bf76e __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0x6651fef2 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x667a812c ps3av_set_video_mode +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x6720c26f spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x672bfe51 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x672cdfad __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x67362d24 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x675c46b2 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67d57669 ide_dma_setup +EXPORT_SYMBOL_GPL vmlinux 0x681daccc tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x682a0691 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x685c0a98 ide_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x686c703f xfrm_count_auth_supported +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x68cc433f ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x68cce034 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x6901119a trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x69521d41 dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0x698edb90 inet_csk_compat_setsockopt +EXPORT_SYMBOL_GPL vmlinux 0x69e78490 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6a142cc0 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6a1c1925 ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x6a2b2ad4 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x6a8975de __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x6acb8d84 ppc64_caches +EXPORT_SYMBOL_GPL vmlinux 0x6b308770 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6b31d020 pmf_put_function +EXPORT_SYMBOL_GPL vmlinux 0x6b3dceac fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6b46802b eeh_add_device_tree_early +EXPORT_SYMBOL_GPL vmlinux 0x6b7f405f crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x6b8bac80 inode_add_to_lists +EXPORT_SYMBOL_GPL vmlinux 0x6b94eca3 ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0x6be62dfd probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x6c3abe45 ps3_vuart_write +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c530b3c bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x6c678456 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x6c72d963 ide_dma_test_irq +EXPORT_SYMBOL_GPL vmlinux 0x6c766ca4 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6c886e75 ps3_system_bus_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6c8b09c0 br_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6c8eb98f xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x6c95a5a7 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x6c9968be tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0x6c99f8ab relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x6cd75481 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6db36e44 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x6e02980e class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6e0e66c3 fib_rules_cleanup_ops +EXPORT_SYMBOL_GPL vmlinux 0x6e224a18 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x6e69d578 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x6e6bc85a led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x6e7474fc xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x6ea2f845 queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x6ed07b64 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x6ee50465 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x6eecae31 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x6efb5118 nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0x6f3f5beb tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x6f5fe8de debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x6f972a8a tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x6fbf3825 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6fe3d8cf ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x6fec98ff cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x6ff45be0 devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x707fef6e usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x70ad3fc6 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x70dfe402 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x715157ae dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71869ed9 klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x719bd1cf ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x71a3ea9a sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0x71c3ea49 inotify_inode_queue_event +EXPORT_SYMBOL_GPL vmlinux 0x71c8bc95 kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x71f43a33 i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x72c8b83e ide_check_atapi_device +EXPORT_SYMBOL_GPL vmlinux 0x72e03bae stop_machine_create +EXPORT_SYMBOL_GPL vmlinux 0x730ebe7e ide_issue_pc +EXPORT_SYMBOL_GPL vmlinux 0x7340fa2a usb_buffer_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73c42b7c ata_pio_queue_task +EXPORT_SYMBOL_GPL vmlinux 0x73cc4ea9 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x7421d52a __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x7442e340 inet_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x74abdafa task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x74acc925 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74f1279b rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x758923ee ide_device_put +EXPORT_SYMBOL_GPL vmlinux 0x75d15904 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x75db7003 pmf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x75df593f usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x75e6e037 hash_page +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x761188fd dpm_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x76135451 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x763959be sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x764ac8bb ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x7659b345 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x765f69b6 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x766542da crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x7667866e ide_setting_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x76d6a509 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x773ca527 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x774aceba disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x77802ee7 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x78008fa3 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x786b2c1c usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x78ba79d1 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x78d1e009 fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x78d39ea4 __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x78e4a4ee klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x790f5353 crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0x79124812 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x7916d1c8 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x795d9155 crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x796fac8b crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x79b17a5d regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x79bc043f device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x79be3e5d ide_dma_host_set +EXPORT_SYMBOL_GPL vmlinux 0x79be5670 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x7a2fa777 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x7a55a57e tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x7ab3c122 edac_handlers +EXPORT_SYMBOL_GPL vmlinux 0x7ad0cbba led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7aeaf39e inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x7b0ad54e regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x7b0ed806 scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x7b1d544d edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x7b40f324 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7baf60ca ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x7bd2e221 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x7bdba145 ata_sff_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x7bebcefd blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x7c2e6801 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x7c472b30 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x7c4ebf33 ide_port_unregister_devices +EXPORT_SYMBOL_GPL vmlinux 0x7c819e1f gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0x7c84daab crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x7ce7c809 register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x7d0ad5d3 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x7d3a373a ide_host_register +EXPORT_SYMBOL_GPL vmlinux 0x7da214f4 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x7dbac9ed raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7e0a1ea4 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e2d29ec ide_pci_clk +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e951158 inotify_init +EXPORT_SYMBOL_GPL vmlinux 0x7e9ecb44 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x7ec49c72 ide_write_devctl +EXPORT_SYMBOL_GPL vmlinux 0x7f19c836 unlock_policy_rwsem_write +EXPORT_SYMBOL_GPL vmlinux 0x7f391915 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x7f4f632b ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x7f52c522 ps3av_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x7f54a21f ide_capacity_proc_fops +EXPORT_SYMBOL_GPL vmlinux 0x7f9aae34 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x7faca1f2 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x7fcf82ed crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7ff55bac class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x8014b6af input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x8039d043 selinux_secmark_relabel_packet_permission +EXPORT_SYMBOL_GPL vmlinux 0x80507f72 ps3av_audio_mute_analog +EXPORT_SYMBOL_GPL vmlinux 0x808adb12 swiotlb_sync_single_range_for_cpu +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80918605 __pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x80e0494e sysdev_show_int +EXPORT_SYMBOL_GPL vmlinux 0x80ee55c3 selinux_secmark_refcount_inc +EXPORT_SYMBOL_GPL vmlinux 0x80f1afab class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x810fc986 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x811afadf rtc_lock +EXPORT_SYMBOL_GPL vmlinux 0x81418618 usb_autopm_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x81a2e61f crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x81a50c13 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x81f789f5 spu_add_sysdev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x822bfbfe __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x822dbfe7 pmac_i2c_match_adapter +EXPORT_SYMBOL_GPL vmlinux 0x823343f9 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x8241c6d9 crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x825db993 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x82742484 ide_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x828d1a9e console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x8291b2a3 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8292e581 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x82bbae86 dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82fa6aad irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x830e1a56 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x832cc293 inotify_find_update_watch +EXPORT_SYMBOL_GPL vmlinux 0x8339bbed inotify_inode_is_dead +EXPORT_SYMBOL_GPL vmlinux 0x833a175c usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x835cfce8 get_slice_psize +EXPORT_SYMBOL_GPL vmlinux 0x83696040 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x8394f743 dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x83bc0e60 sysdev_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x843b6705 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x84b1a259 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x84b2753c ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x857ea91f crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0x85a462db inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85d22769 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x8600781d ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x86089354 pmac_i2c_xfer +EXPORT_SYMBOL_GPL vmlinux 0x8658406f regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86b1667d hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86f1b4d8 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x87078e7b blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x873fbaea edac_atomic_assert_error +EXPORT_SYMBOL_GPL vmlinux 0x87751b4d ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x87bb6e98 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x8843f090 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x885142a6 nf_net_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x8872cb59 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x88cc9e42 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x88ef8bf3 __module_address +EXPORT_SYMBOL_GPL vmlinux 0x89e89eea fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x8a1a7ccf use_module +EXPORT_SYMBOL_GPL vmlinux 0x8a61ea1d inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x8a8fc70c init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x8aa437a4 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x8ad7a4b8 ide_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x8aec5f8c usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x8af082cd spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x8afdeeb2 xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x8b6000b5 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8b898ba5 __add_pages +EXPORT_SYMBOL_GPL vmlinux 0x8b91d471 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x8bcd70c5 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x8c19dd94 ide_allocate_dma_engine +EXPORT_SYMBOL_GPL vmlinux 0x8c48e026 ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x8c668f30 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x8c6a9dca rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x8c902200 aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x8cc19d48 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x8ccfacd3 ide_init_pc +EXPORT_SYMBOL_GPL vmlinux 0x8d033df4 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x8d27b9e4 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x8d2c1594 ide_set_media_lock +EXPORT_SYMBOL_GPL vmlinux 0x8d357e80 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x8d573e7c pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x8d708b1f ide_pio_cycle_time +EXPORT_SYMBOL_GPL vmlinux 0x8d92637c unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x8e6c6e7f ide_undecoded_slave +EXPORT_SYMBOL_GPL vmlinux 0x8eee8eb1 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x8f297ae6 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0x8f2b98e4 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x8f321478 pmac_i2c_adapter_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x8f573272 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f8889f5 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x8f9e3b37 class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x8fa74514 sysdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8faa955c cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0x901e3133 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0x902ca6d0 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x903c47db generic_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x90673390 spu_switch_event_register +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90be7c16 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x90dfd1d7 pmac_i2c_find_bus +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x918bf846 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x919e4700 crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x91ae5232 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x91e67797 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x92005e90 pmac_i2c_get_controller +EXPORT_SYMBOL_GPL vmlinux 0x921254a2 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x9214be9a device_move +EXPORT_SYMBOL_GPL vmlinux 0x9251686a usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x925d71c9 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x927020e5 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x92a08ed3 ps3_free_mmio_region +EXPORT_SYMBOL_GPL vmlinux 0x92baa34b __pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92fb217b dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0x930316c4 slice_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x9333593a leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x938c96b0 eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x94472ee3 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x945f48c3 macvlan_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94dc66d4 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x95473018 sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x95c27e69 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x95c862ab pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x96014d5a sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x961a8cd3 unlock_policy_rwsem_read +EXPORT_SYMBOL_GPL vmlinux 0x961be34b inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x9632abd9 ide_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x966dbaa0 do_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x969e43be power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x96c1c3a7 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9707e712 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x974f3f15 pmac_i2c_open +EXPORT_SYMBOL_GPL vmlinux 0x979ed0d8 unregister_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0x97c9b128 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x97e5b4e3 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x9842b8e6 register_posix_clock +EXPORT_SYMBOL_GPL vmlinux 0x984a6b65 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x984b3bb4 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x9867b05b ide_build_dmatable +EXPORT_SYMBOL_GPL vmlinux 0x98893ce5 spu_set_profile_private_kref +EXPORT_SYMBOL_GPL vmlinux 0x988c399c xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x98e926dc spu_remove_sysdev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0x98ee5fb7 sysdev_store_int +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x996a2677 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x99748b2a crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x99add812 sysdev_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x99e7c17a pmac_i2c_get_adapter +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a3a8846 blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x9a98f0f1 pcibios_finish_adding_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x9af49d41 ide_no_data_taskfile +EXPORT_SYMBOL_GPL vmlinux 0x9b3499fe usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x9b3b737f register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x9b798ae4 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0x9b90e4df k_handler +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9c084c51 of_node_to_nid +EXPORT_SYMBOL_GPL vmlinux 0x9c2232ae ps3_open_hv_device +EXPORT_SYMBOL_GPL vmlinux 0x9c26cc67 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x9c4fe428 ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0x9c8a8654 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x9cad41d1 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x9cb8037b xfrm_count_enc_supported +EXPORT_SYMBOL_GPL vmlinux 0x9cdce019 ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x9ce6b657 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0x9d37fcf7 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x9dedde27 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x9df0a8f6 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x9e532c5a register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x9e711ad2 pm_qos_requirement +EXPORT_SYMBOL_GPL vmlinux 0x9e795283 ps3_gpu_mutex +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f85ed90 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fd735d8 inotify_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9ff1baaa usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x9ffe6c31 __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xa0255440 net_ipv4_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0xa025c8d9 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0xa02a072e __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0xa068752a crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xa0756f6a tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xa08155ce pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0xa0815e74 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xa0a27fff pci_address_to_pio +EXPORT_SYMBOL_GPL vmlinux 0xa0b47e73 proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0xa0bcde0e class_find_device +EXPORT_SYMBOL_GPL vmlinux 0xa0de2f29 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa0fe3b89 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0xa12bc1ce transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xa18e769a relay_open +EXPORT_SYMBOL_GPL vmlinux 0xa212d1b8 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0xa226b9e1 inet_csk_clone +EXPORT_SYMBOL_GPL vmlinux 0xa22fce3e regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0xa239dc76 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0xa24c2fc6 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0xa296e9f6 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0xa2b7880b ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xa2d6bc6a scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0xa2e3670a ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0xa301f3fc pmf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa30fa6c3 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0xa331f3ee __ide_pci_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa34e18ca pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa397751b da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa3a2d9af walk_system_ram_range +EXPORT_SYMBOL_GPL vmlinux 0xa3c7bd4b xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0xa3d69bf3 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0xa3f330ec class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xa40a8590 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xa41d1ce3 pmac_i2c_setmode +EXPORT_SYMBOL_GPL vmlinux 0xa41d8e28 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xa42aa19d rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0xa4503450 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xa488c2f8 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0xa496a2d0 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa4a42813 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0xa4a9f011 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0xa4c5a895 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xa4e7a901 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xa4f03ad7 crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0xa52b3750 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0xa581939b input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xa598d8e9 usb_string +EXPORT_SYMBOL_GPL vmlinux 0xa5bf5c3e pm_qos_add_requirement +EXPORT_SYMBOL_GPL vmlinux 0xa5c36cec inotify_unmount_inodes +EXPORT_SYMBOL_GPL vmlinux 0xa5dbc143 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0xa5eb2ce3 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0xa5eb8c2e ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5f9e23f fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0xa601bd85 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xa6214aa0 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa6434776 sysfs_add_device_to_node +EXPORT_SYMBOL_GPL vmlinux 0xa651d708 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0xa65744b5 eeh_remove_bus_device +EXPORT_SYMBOL_GPL vmlinux 0xa66597d8 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xa6bc3b30 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xa6d7cd64 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xa7672da4 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0xa76806c1 ata_port_disable +EXPORT_SYMBOL_GPL vmlinux 0xa77c2d06 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xa787e50a skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0xa7966b51 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0xa79a306d fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0xa7b701df usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xa80e7443 ide_cd_expiry +EXPORT_SYMBOL_GPL vmlinux 0xa81eb0ee kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0xa8431368 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xa8658a27 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0xa881dcc5 do_sync_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0xa8933424 trace_define_common_fields +EXPORT_SYMBOL_GPL vmlinux 0xa8b06578 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xa8cb0088 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xa8ce4dce spu_add_sysdev_attr +EXPORT_SYMBOL_GPL vmlinux 0xa8e9fcc1 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa902af13 ide_pio_bytes +EXPORT_SYMBOL_GPL vmlinux 0xa947abcc filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0xa987d295 register_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0xa98cdb36 ps3_get_firmware_version +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9f01699 get_device +EXPORT_SYMBOL_GPL vmlinux 0xaa0b37dd sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xaa40407b securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xaa5310f9 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xaa7de91c dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0xaa8c4696 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0xaac3afd6 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xaad9cf20 unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xaaf917f5 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0xab0c295e ata_port_probe +EXPORT_SYMBOL_GPL vmlinux 0xab14110a stop_machine +EXPORT_SYMBOL_GPL vmlinux 0xab2412be mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xab2b243d ps3_irq_plug_destroy +EXPORT_SYMBOL_GPL vmlinux 0xab33787f ide_queue_sense_rq +EXPORT_SYMBOL_GPL vmlinux 0xab57e311 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xab6767bc vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0xab9f03c4 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xabd4fcaf shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0xac1c98c5 ide_pci_set_master +EXPORT_SYMBOL_GPL vmlinux 0xac54c2f5 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0xac63de1e ide_read_altstatus +EXPORT_SYMBOL_GPL vmlinux 0xac8fa07e __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xac91206d crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xacc2633c spu_switch_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xacfd1d19 device_add +EXPORT_SYMBOL_GPL vmlinux 0xacfe997e powerpc_firmware_features +EXPORT_SYMBOL_GPL vmlinux 0xad050120 ata_sff_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0xad242e0e relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0xad368216 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0xad89e545 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0xadb3e5ee inotify_rm_watch +EXPORT_SYMBOL_GPL vmlinux 0xadb4bf3f pmac_low_i2c_lock +EXPORT_SYMBOL_GPL vmlinux 0xadc91752 pmac_i2c_get_dev_addr +EXPORT_SYMBOL_GPL vmlinux 0xadd0d458 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0xadfae5d9 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae870c6c lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0xaee04e9f ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0xaf27e93c crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xaf3f6fe0 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xaf8b501d ide_do_start_stop +EXPORT_SYMBOL_GPL vmlinux 0xafabce6e rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0xafeb6a16 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xb0aa812e fips_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb0b56ccb ata_sff_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xb0eb8df9 debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xb0ef4032 pci_block_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0xb0fd12e2 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xb10d75e4 crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0xb112f772 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xb12117c1 ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xb14fcf46 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xb17f9c3f shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb1b92432 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0xb2883f30 register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xb320351a bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0xb337e335 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xb340ff7a device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xb36ea37f ide_read_error +EXPORT_SYMBOL_GPL vmlinux 0xb3a55416 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xb3a9b23b ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0xb3ac8c8a rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb3b45c2e pmac_i2c_get_channel +EXPORT_SYMBOL_GPL vmlinux 0xb40ba755 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xb40c5128 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xb491f59e ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xb4a27710 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0xb4bb0ce5 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0xb4c42d3f regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb5158c0a sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb530a458 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xb54d65de hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xb5592a2c scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb5ebe2cc tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0xb5ff27a1 ide_dma_sff_read_status +EXPORT_SYMBOL_GPL vmlinux 0xb612444d snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0xb65091b3 selinux_secmark_refcount_dec +EXPORT_SYMBOL_GPL vmlinux 0xb671d134 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0xb67a585a blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0xb68f1e50 ps3_close_hv_device +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6bc007a spu_sys_callback +EXPORT_SYMBOL_GPL vmlinux 0xb6e440b9 init_phb_dynamic +EXPORT_SYMBOL_GPL vmlinux 0xb6ee2a7c blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0xb6f57dc8 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xb70d6ed0 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0xb744fa43 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xb751b86e ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb751f12a sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0xb764c0d7 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0xb792762f blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xb84b1aae ps3_event_receive_port_setup +EXPORT_SYMBOL_GPL vmlinux 0xb89b2404 pcibios_unmap_io_space +EXPORT_SYMBOL_GPL vmlinux 0xb92a792e irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0xb93f323b vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0xb94739e9 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb9933632 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0xb9d64cab register_spu_syscalls +EXPORT_SYMBOL_GPL vmlinux 0xb9d9b1ed crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xb9eb3aa9 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xba062c7f led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0xba2acdfb sysdev_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xba3b5758 ide_get_lba_addr +EXPORT_SYMBOL_GPL vmlinux 0xbaafe09f filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbb305454 pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xbb49aafe spu_64k_pages_available +EXPORT_SYMBOL_GPL vmlinux 0xbb4bfb2b blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0xbb68459c uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xbb82cc9e remove_phb_dynamic +EXPORT_SYMBOL_GPL vmlinux 0xbb9653d6 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0xbb9a4e02 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0xbbe2ce55 pmac_i2c_get_bus_node +EXPORT_SYMBOL_GPL vmlinux 0xbc2fa9d1 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0xbc4c1d46 ide_error +EXPORT_SYMBOL_GPL vmlinux 0xbc7038be __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0xbccfdc43 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0xbd225d55 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbde949f3 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0xbe116723 do_posix_clock_nosettime +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe267923 destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xbe3fe30d pmf_unregister_irq_client +EXPORT_SYMBOL_GPL vmlinux 0xbed16a6e blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0xbf1cc04b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xbf1f5871 of_irq_map_one +EXPORT_SYMBOL_GPL vmlinux 0xbf51181b sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0xbf74eb20 probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0xbf750773 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0xbf7c6c4f i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0xbfa3bffb unregister_spu_syscalls +EXPORT_SYMBOL_GPL vmlinux 0xbfa5fbe6 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0xbfa93842 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0xbfcf1db6 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0xbffde8ec compat_alloc_user_space +EXPORT_SYMBOL_GPL vmlinux 0xc0280b90 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc0284593 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0xc09a819b devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0xc0c4f8f3 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xc0dde15d crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0xc126e890 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xc12f7e0d trace_profile_buf_nmi +EXPORT_SYMBOL_GPL vmlinux 0xc17395a1 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc17ac965 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xc1d9a59b sysdev_class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xc1eb69cf ide_setup_pci_noise +EXPORT_SYMBOL_GPL vmlinux 0xc1f4f0c0 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0xc1fa4dfb unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc22fce34 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xc243d16a ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0xc31307af pcibios_add_pci_devices +EXPORT_SYMBOL_GPL vmlinux 0xc31a8c74 device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0xc3301f02 rcu_expedited_torture_stats +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc38d3ed3 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3aa2836 read_lock_usermodehelper +EXPORT_SYMBOL_GPL vmlinux 0xc3fe238e power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc450e3a3 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4947a46 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0xc4b33aa6 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc4ca20f5 user_read +EXPORT_SYMBOL_GPL vmlinux 0xc53650f3 register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xc541e24f ata_sff_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xc5cf5b3e relay_close +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc63f0946 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0xc66c2311 ps3_vuart_irq_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc673e23e ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xc6ccedf0 eeh_dn_check_failure +EXPORT_SYMBOL_GPL vmlinux 0xc7328d88 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xc73f87ad gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0xc765ab67 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0xc7779f06 ide_pci_check_simplex +EXPORT_SYMBOL_GPL vmlinux 0xc77e8d7f ide_pci_resume +EXPORT_SYMBOL_GPL vmlinux 0xc7807650 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xc785dde2 put_driver +EXPORT_SYMBOL_GPL vmlinux 0xc7bd431a scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xc7d5c7d6 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0xc7f47b40 elv_register +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc8a178a5 ide_dma_end +EXPORT_SYMBOL_GPL vmlinux 0xc935828e spi_async +EXPORT_SYMBOL_GPL vmlinux 0xc9361343 inet_csk_compat_getsockopt +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc96299ae ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xca171747 nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0xca32a2aa ide_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xca60e045 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0xca7d9c56 unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xca8a14a2 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xcb0bc6b9 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xcb8791e3 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xcbb6f0b5 crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xcbd3d991 spu_remove_sysdev_attr +EXPORT_SYMBOL_GPL vmlinux 0xcbe20242 page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc20f3c1 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xcc47c400 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xcc5573b3 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xcc7a2564 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0xccadcecf crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xcce4e702 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0xcd1f64f8 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0xcd9babfc hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xce0d95ee bus_register +EXPORT_SYMBOL_GPL vmlinux 0xce4699c3 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xce60429b unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xce73b691 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0xce977372 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xcea59e31 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0xcebda800 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0xcebfc38d crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0xcec5b6a1 ps3_system_bus_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xced5e06c get_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0xcf3062ac regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xcf49d0a4 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xcf6dd1f4 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xcf8213ae pci_unblock_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0xcf8af983 trace_profile_buf +EXPORT_SYMBOL_GPL vmlinux 0xcf8dc213 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0xcfc64a37 __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0xcfc68341 synchronize_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0xcfc6ea9c crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcfda40c9 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd07b5e22 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0xd0a2ff54 ata_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0xd0a39336 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xd0bb725c net_assign_generic +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0f2fb2c klist_next +EXPORT_SYMBOL_GPL vmlinux 0xd10966d3 ide_host_remove +EXPORT_SYMBOL_GPL vmlinux 0xd12a695c generic_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0xd14d7ca6 __class_register +EXPORT_SYMBOL_GPL vmlinux 0xd155901e dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd1d8adad atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd1e6ecd6 ps3_vuart_read +EXPORT_SYMBOL_GPL vmlinux 0xd1eb8c07 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xd1ef9d11 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0xd23f22ed usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0xd270b71c ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd273e435 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xd2798269 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xd2a07eec unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xd2a8caf0 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd2d2baee hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0xd326ee04 ide_end_rq +EXPORT_SYMBOL_GPL vmlinux 0xd335b4d1 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0xd345ca29 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd349bd64 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0xd38639e6 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0xd3c89ea8 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0xd48bd04c usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0xd494ce75 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xd4ae99e9 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0xd535c103 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0xd57125f2 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xd58df8cc bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0xd591c19f sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xd5e485a5 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0xd60fed1a srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xd69a6d1c usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xd69fd641 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xd6b5280a usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0xd6e08d83 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0xd6e13041 __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd73ef534 sysdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xd749e5dd tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0xd756868f relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd7923c5f ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0xd7caba27 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0xd7d79132 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd7f7f7bf user_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd8013c4e tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0xd840744e ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0xd8498f4d ps3av_mode_cs_info +EXPORT_SYMBOL_GPL vmlinux 0xd863aa86 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0xd86e15ba eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xd884de5b sysdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd8d90595 ide_cd_get_xferlen +EXPORT_SYMBOL_GPL vmlinux 0xd8db5e1a hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd950e461 user_describe +EXPORT_SYMBOL_GPL vmlinux 0xd951ce9d regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0xd9d01925 __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0xd9d8dd5b device_find_child +EXPORT_SYMBOL_GPL vmlinux 0xd9f25354 cpu_remove_sysdev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda1d25cd pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0xda836e87 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0xdaa2ecaf blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb026f50 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0xdb0ac13b ps3_compare_firmware_version +EXPORT_SYMBOL_GPL vmlinux 0xdb15a283 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0xdb1b2eba srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdb274e52 monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0xdb29a264 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0xdb8755a9 ps3_mmio_region_init +EXPORT_SYMBOL_GPL vmlinux 0xdb8c8386 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0xdbc82417 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xdbce8cc5 get_cpu_sysdev +EXPORT_SYMBOL_GPL vmlinux 0xdbfcbc60 ide_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xdc07f8fe atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xdca1540c usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0xdced6c58 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xdd043eea ps3av_get_auto_mode +EXPORT_SYMBOL_GPL vmlinux 0xdd58e793 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xdd6a58a6 device_attach +EXPORT_SYMBOL_GPL vmlinux 0xdd8b0903 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde5e9233 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xdf385877 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xdf66858d __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0xdf7d8263 pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0xdf875a27 fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0xdfd94b73 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xe011f817 ps3flash_bounce_buffer +EXPORT_SYMBOL_GPL vmlinux 0xe0393841 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0xe057c8bf disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xe0953e05 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0xe0cca33e xfrm_aead_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xe0ff307a crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0xe108123d attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0xe13d5fab ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xe14c6849 ide_pad_transfer +EXPORT_SYMBOL_GPL vmlinux 0xe1989d43 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0xe19fc092 ps3fb_videomemory +EXPORT_SYMBOL_GPL vmlinux 0xe1e1247e sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0xe1e22445 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xe21e40e8 pmac_i2c_close +EXPORT_SYMBOL_GPL vmlinux 0xe22884ee ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0xe23a7203 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xe26563ce fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0xe281b5ce ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xe2be8850 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xe347537e transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0xe3ab72b0 init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xe4130678 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0xe49d19f6 ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xe49ff3b0 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xe4bbbe24 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0xe520c634 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xe530071c pm_qos_remove_requirement +EXPORT_SYMBOL_GPL vmlinux 0xe5a55c11 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0xe5adb801 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xe5cac6ca platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0xe5e22a00 inet_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe5fc9b83 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0xe602e857 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe71f1230 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xe747cfc1 __set_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xe78e95e7 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0xe79018f0 sff_dma_ops +EXPORT_SYMBOL_GPL vmlinux 0xe7b08068 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xe7c753cf usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0xe7cc543d ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0xe7fc77ed ata_bmdma_mode_filter +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe862f548 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xe8808c9b eeh_add_device_tree_late +EXPORT_SYMBOL_GPL vmlinux 0xe895cefa ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xe8a0c501 led_classdev_register +EXPORT_SYMBOL_GPL vmlinux 0xe8a6c624 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0xe8e25044 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xe8e4f33e rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0xe901175f __dev_addr_unsync +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe95d5bc1 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0xea065e01 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea21c219 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0xea513519 inotify_add_watch +EXPORT_SYMBOL_GPL vmlinux 0xea8d4461 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0xeab0e3a2 ps3_vuart_port_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xeabb70c6 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0xeac62ca8 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeae7c3ab rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0xeb0079f4 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0xeb3ca2ff ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xeb4c1fc8 __tracepoint_block_remap +EXPORT_SYMBOL_GPL vmlinux 0xeb57912e relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0xeb58a1bb rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0xeb6bd037 ide_set_dma_mode +EXPORT_SYMBOL_GPL vmlinux 0xeb907f34 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xec1a75a9 __dev_addr_sync +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec36573f irq_create_mapping +EXPORT_SYMBOL_GPL vmlinux 0xec43a97b device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0xeca0f87c sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0xecb000f7 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0xecbf3f01 irq_find_host +EXPORT_SYMBOL_GPL vmlinux 0xecc6be6a bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xecc7cd46 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0xecde64c7 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0xecfad324 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xed9661a9 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0xedbffc99 single_open_net +EXPORT_SYMBOL_GPL vmlinux 0xede5b37c ide_dma_start +EXPORT_SYMBOL_GPL vmlinux 0xede74815 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xedfaeb0e ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xedffd666 cpu_add_sysdev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0xee094371 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xee25c7d3 pmf_do_functions +EXPORT_SYMBOL_GPL vmlinux 0xee38cbdd spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0xee417fa0 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0xee4de2d1 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0xee873d86 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xee8bb7f7 __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xeecac530 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0xeefb53a9 usb_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xef0e9ffb __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xef100125 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xef2c41da regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef773e5a spu_handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0xefdd5a63 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xefed9dc7 devres_get +EXPORT_SYMBOL_GPL vmlinux 0xf098dd15 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0xf0ca507f rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf0f3467e debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xf105d00d ide_in_drive_list +EXPORT_SYMBOL_GPL vmlinux 0xf1123abe __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xf136ab85 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xf141b0dd anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xf1442ef1 ps3_vuart_clear_rx_bytes +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf18b9807 swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0xf18c871d user_update +EXPORT_SYMBOL_GPL vmlinux 0xf1afa2cb unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xf2421207 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xf24e48c6 find_module +EXPORT_SYMBOL_GPL vmlinux 0xf26e0a57 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xf2b0aff3 save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0xf2f600bd isa_bridge_pcidev +EXPORT_SYMBOL_GPL vmlinux 0xf2fc50df ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0xf3370bd7 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xf34806ec hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xf36a6372 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xf38c8a96 inotify_remove_watch_locked +EXPORT_SYMBOL_GPL vmlinux 0xf395cce2 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0xf3a2c3ac ide_intr +EXPORT_SYMBOL_GPL vmlinux 0xf3c0c3bb blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0xf416a8b5 scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0xf426826c crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xf4488540 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xf469c705 ps3_io_irq_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf4b5ce6a usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0xf51c00fd proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0xf521bda2 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0xf52aed65 platform_device_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xf5384ac1 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf5799f7a stop_machine_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf589b391 inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0xf59448e5 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf639839e __put_net +EXPORT_SYMBOL_GPL vmlinux 0xf6b7c0cc put_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0xf6bcbd73 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf70599c7 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0xf7182433 ide_port_scan +EXPORT_SYMBOL_GPL vmlinux 0xf7326f9e smu_get_ofdev +EXPORT_SYMBOL_GPL vmlinux 0xf73644a9 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0xf7377d7b sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xf74fe310 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0xf75c811c platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xf76726b6 devres_find +EXPORT_SYMBOL_GPL vmlinux 0xf7699ab6 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0xf7c822c7 ide_pci_dma_base +EXPORT_SYMBOL_GPL vmlinux 0xf7d1a47c crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xf7e9ceca usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xf7ed3403 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf80fcd3b tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0xf820cc8e __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xf83fc93b ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8f9af5c __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0xf91a3a31 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0xf93eeba9 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xf95bb431 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xf99074ff ide_register_region +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9ab37fa spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xf9e1fb1f register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xf9ec46a5 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0xfa391698 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0xfab5b715 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xfae96de1 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0xfb5d5fb8 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0xfb931376 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xfbaa6cb8 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0xfbf29fd6 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfbfcdc2b ps3_sys_manager_get_wol +EXPORT_SYMBOL_GPL vmlinux 0xfc0aac0c kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xfc4a4b5e ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xfc6b7664 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xfc8428e6 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xfcf59d44 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0xfd24308f spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xfd3f7ac7 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0xfd477982 inotify_find_watch +EXPORT_SYMBOL_GPL vmlinux 0xfd5133ca cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0xfda59960 ps3_mmio_region_create +EXPORT_SYMBOL_GPL vmlinux 0xfdadef6f debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfe12f550 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0xfe23a575 of_irq_map_raw +EXPORT_SYMBOL_GPL vmlinux 0xfe925bce ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfeb3025a ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xfec81760 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfefa2adb input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0xff0ab3f7 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xff0dacff ps3av_video_mute +EXPORT_SYMBOL_GPL vmlinux 0xff0eb908 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0xff6ef3a3 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0xff75c1a8 sk_clone +EXPORT_SYMBOL_GPL vmlinux 0xffc68f75 blk_insert_cloned_request +EXPORT_UNUSED_SYMBOL vmlinux 0x00000000 simple_prepare_write --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/powerpc/powerpc64-smp.compiler +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/powerpc/powerpc64-smp.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3 --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/powerpc/powerpc64-smp.modules +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/powerpc/powerpc64-smp.modules @@ -0,0 +1,2161 @@ +3c359 +3c574_cs +3c589_cs +3c59x +3w-9xxx +3w-xxxx +6pack +8021q +8139cp +8139too +8250 +8250_pci +8390 +9p +9pnet +9pnet_rdma +9pnet_virtio +a100u2w +a3d +aacraid +ab3100 +ab3100-core +ab3100-otp +abyss +ac97_bus +acecad +acenic +act200l-sir +act_gact +act_ipt +actisys-sir +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +ad7414 +ad7418 +ad7877 +ad7879 +adcxx +adfs +adi +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm8211 +adm9240 +adp5588-keys +ads7846 +adt7462 +adt7470 +adt7475 +adutux +adv7170 +adv7175 +adv7180 +adv7343 +aes_generic +af_802154 +af9013 +affs +af_key +af-rxrpc +agpgart +ah4 +ah6 +ahci +aic79xx +aic7xxx +aic94xx +aiptek +aircable +airo +airo_cs +airport +alauda +ali-ircc +amd8111e +analog +ansi_cprng +anubis +aoe +appledisplay +appletalk +appletouch +applicom +ar7part +ar9170usb +arc4 +arcmsr +arcnet +arc-rawmode +arc-rimi +ark3116 +arkfb +arptable_filter +arp_tables +arpt_mangle +asix +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +ata_generic +ata_piix +aten +ath +ath9k +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atm +atmel +atmel_cs +atmel_pci +atmtcp +atp870u +atxp1 +au0828 +au8522 +aufs +authenc +auth_rpcgss +autofs +autofs4 +ax25 +axnet_cs +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b43 +b43legacy +b44 +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcm203x +bcm3510 +bcm5974 +be2iscsi +be2net +befs +belkin_sa +berry_charge +bfa +bfs +bfusb +binfmt_misc +block2mtd +blowfish +bluecard_cs +bluetooth +bnep +bnx2 +bnx2i +bonding +bpa10x +bpck +bpqether +bq24022 +bq27x00_battery +br2684 +bridge +broadcom +broadsheetfb +bsd_comp +bt3c_cs +bt819 +bt856 +bt866 +bt878 +btcx-risc +btmrvl +btmrvl_sdio +btrfs +btsdio +bttv +btuart_cs +btusb +bw-qcam +c67x00 +cachefiles +cafe_ccic +cafe_nand +camellia +can +can-bcm +can-dev +can-raw +capmode +carminefb +cassini +cast5 +cast6 +catc +cb710 +cb710-mmc +cbc +cciss +cdc-acm +cdc_eem +cdc_ether +cdc-phonet +cdc_subset +cdc-wdm +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch +ch341 +ch7006 +chipreg +cicada +cifs +cirrusfb +clip +cls_basic +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cn +cnic +cobra +coda +com20020 +com20020_cs +com20020-pci +com90io +com90xx +comm +configfs +core +cp210x +cpia +cpia2 +cpia_pp +cpia_usb +cpufreq_spudemand +cpufreq_stats +c-qcam +cramfs +crc32c +crc7 +crc-ccitt +crc-itu-t +crc-t10dif +cryptd +cryptoloop +crypto_null +cs5345 +cs53l32a +cts +cuse +cx18 +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24123 +cx25840 +cx8800 +cx8802 +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx88xx +cxacru +cxgb +cxgb3 +cxgb3i +cyber2000fb +cyberjack +cyclades +cyclomx +cycx_drv +cypress_cy7c63 +cypress_m8 +cytherm +da9030_battery +da9034-ts +da903x +da903x_bl +DAC960 +davicom +db9 +dc395x +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dccp_probe +de2104x +de4x5 +de600 +de620 +decnet +deflate +defxx +des_generic +dib0070 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dibx000_common +digi_acceleport +diskonchip +display +dl2k +dlci +dlm +dm1105 +dm9601 +dm-crypt +dme1737 +dmfe +dm-log +dm-mirror +dm-multipath +dm-queue-length +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dmx3191d +dm-zero +dnet +dn_rtmsg +doc2000 +doc2001 +doc2001plus +docecc +docprobe +drm +drm_kms_helper +ds1621 +ds1682 +ds2482 +ds2490 +ds2760_battery +ds2782_battery +dsbr100 +dscc4 +dst +dst_ca +dstr +dtl1_cs +dummy +dv1394 +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-anysee +dvb-usb-au6610 +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-friio +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-m920x +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +e100 +e1000 +e1000e +earth-pt1 +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_ulog +ebt_vlan +ecb +econet +ecryptfs +edac_core +eeprom +eeprom_93cx6 +eeti_ts +efs +elo +em28xx +em28xx-dvb +em_cmp +emi26 +emi62 +em_meta +em_nbyte +empeg +ems_pci +ems_usb +em_text +emu10k1-gp +em_u32 +eni +enic +epat +epca +epia +epic100 +eql +esi-sir +esp4 +esp6 +et1011c +et61x251 +eth1394 +ethoc +evbug +evdev +exofs +exportfs +f71805f +f71882fg +f75375s +farsync +fat +faulty +fcoe +fcrypt +fdomain +fdomain_cs +fealnx +ff-memless +firedtv +fit2 +fit3 +floppy +fm801-gp +fmvj18x_cs +forcedeth +fore_200e +freevxfs +friq +frpw +fscache +ftdi-elan +ftdi_sio +ftl +fujitsu_ts +funsoft +g760a +gadgetfs +gamecon +gameport +garmin_gps +garp +g_audio +g_cdc +gdth +generic +generic_bl +gen_probe +g_ether +gf128mul +gf2k +g_file_storage +gfs2 +ghash-generic +girbil-sir +gl518sm +gl520sm +gl620a +gluebi +g_midi +gpio-addr-flash +gpio_keys +gpio_mouse +gpio_vbus +g_printer +grip +grip_mp +g_serial +gspca_conex +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_ov519 +gspca_ov534 +gspca_pac207 +gspca_pac7311 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_stk014 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_tv8532 +gspca_vc032x +gspca_zc3xx +gtco +guillemot +gunze +gxt4500 +g_zero +hamachi +hangcheck-timer +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 +hfs +hfsplus +hid +hid-3m-pct +hid-a4tech +hid-apple +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-drff +hid-ezkey +hid-gaff +hid-gyration +hid-kensington +hid-kye +hid-logitech +hid-microsoft +hid-monterey +hid-mosart +hid-ntrig +hid-ortek +hidp +hid-petalynx +hid-pl +hid-quanta +hid-samsung +hid-sjoy +hid-sony +hid-stantum +hid-sunplus +hid-tmff +hid-topseed +hid-twinhan +hid-wacom +hid-zpff +hostap +hostap_cs +hostap_pci +hostap_plx +hp100 +hp4x +hpfs +hpilo +hptiop +hso +htc-pasic3 +hwa-hc +hwa-rc +hwmon-vid +i1480-dfu-usb +i1480-est +i1480u-wlp +i2400m +i2400m-sdio +i2400m-usb +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd8111 +i2c-dev +i2c-i801 +i2c-isch +i2c-matroxfb +i2c-nforce2 +i2c-ocores +i2c-parport +i2c-parport-light +i2c-pca-platform +i2c-piix4 +i2c-simtec +i2c-sis5595 +i2c-sis630 +i2c-sis96x +i2c-stub +i2c-taos-evm +i2c-tiny-usb +i2c-via +i2c-viapro +i2c-voodoo3 +i2o_block +i2o_bus +i2o_core +i2o_proc +i2o_scsi +i5k_amb +i82092 +ib_addr +ib_cm +ib_core +ib_ipoib +ib_iser +ib_mad +ibmaem +ibmcam +ibmpex +ib_mthca +ibmtr_cs +ib_sa +ib_srp +ib_ucm +ib_umad +ib_uverbs +icplus +ics932s401 +idmouse +idt77252 +ieee1394 +ifb +iforce +igbvf +ili9320 +imm +inexio +inftl +initio +input-polldev +int51x1 +intel_vr_nor +interact +ioc4 +io_edgeport +io_ti +iowarrior +ip2 +ip6_queue +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_LOG +ip6t_mh +ip6t_REJECT +ip6t_rt +ip6_tunnel +ipaq +ipcomp +ipcomp6 +ipddp +ipg +ip_gre +iphase +ipip +ipmi_devintf +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_watchdog +ip_queue +ipr +ips +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_addrtype +ipt_ah +ipt_CLUSTERIP +ipt_ecn +ipt_ECN +ipt_LOG +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_ULOG +ipv6 +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipw2100 +ipw2200 +ipx +ircomm +ir-common +ircomm-tty +irda +irda-usb +ir-kbd-i2c +irlan +irnet +irtty-sir +ir-usb +iscsi_tcp +iscsi_trgt +isight_firmware +isl29003 +isl6405 +isl6421 +isofs +isp116x-hcd +isp1362-hcd +isp1760 +istallion +it87 +itd1000 +iuu_phoenix +ivtv +ivtvfb +iw_c2 +iw_cm +iw_cxgb3 +iwlagn +iwlcore +iwmc3200wifi +ixgb +ixgbe +ixj +ixj_pcmcia +jedec_probe +jffs2 +jfs +jme +joydev +joydump +jsm +kafs +kaweth +kbic +kbtab +keyspan +keyspan_pda +keyspan_remote +khazad +kingsun-sir +kl5kusb105 +kobil_sct +konicawc +ks0108 +ks0127 +ks8842 +ks8851 +ks8851_mll +ks959-sir +ksdazzle-sir +ktti +kvaser_pci +kyrofb +l2cap +l64781 +lanai +lapb +lapbether +lcd +ldusb +lec +leds-bd2802 +leds-da903x +leds-dac124s085 +leds-lp3944 +leds-wm831x-status +leds-wm8350 +ledtrig-backlight +ledtrig-default-on +ledtrig-gpio +legousbtower +lgdt3305 +lgdt330x +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libcrc32c +libertas +libertas_cs +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libosd +libsas +libsrp +lightning +linear +lirc_atiusb +lirc_bt829 +lirc_dev +lirc_ene0100 +lirc_i2c +lirc_igorplugusb +lirc_imon +lirc_it87 +lirc_ite8709 +lirc_mceusb +lirc_sasem +lirc_serial +lirc_sir +lirc_streamzap +lirc_ttusbir +lis3lv02d +lis3lv02d_spi +litelink-sir +lkkbd +llc2 +lm63 +lm70 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95241 +lms283gf05 +lnbp21 +lockd +loop +lp +lp3971 +lpddr_cmds +lpfc +lrw +ltc4215 +ltc4245 +ltv350qv +lxt +m25p80 +m52790 +ma600-sir +mac80211 +mac80211_hwsim +macvlan +magellan +map_absent +map_funcs +map_ram +map_rom +marvell +matrix_keypad +matroxfb_maven +matrox_w1 +max1111 +max1586 +max1619 +max17040_battery +max3100 +max6650 +max6875 +max7301 +max732x +max7359_keypad +mb862xxfb +mc13783 +mc13783-core +mc33880 +mc44s803 +mcp2120-sir +mcp23s08 +mcs5000_ts +mcs7780 +mcs7830 +mct_u232 +md4 +mdc800 +mdio +mdio-bitbang +mdio-gpio +md-mod +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +metronomefb +mfd-core +mga +michael_mic +microtek +mii +minix +mk712 +mkiss +mlx4_core +mlx4_en +mlx4_ib +mmc_block +mmc_core +mmc_spi +mos7720 +mos7840 +moto_modem +moxa +mpoa +mpt2sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +msdos +msp3400 +mt2060 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt9m001 +mt9m111 +mt9t031 +mt9v011 +mt9v022 +mtd +mtd_blkdevs +mtdblock +mtdblock_ro +mtdchar +mtdconcat +mtd_dataflash +mtd_oobtest +mtdoops +mtd_pagetest +mtdram +mtd_readtest +mtd_speedtest +mtd_stresstest +mtd_subpagetest +mtd_torturetest +mtouch +multipath +mwl8k +mxl5005s +mxl5007t +myri10ge +nand +nand_ecc +nand_ids +nandsim +national +natsemi +navman +nbd +ncpfs +ne2k-pci +neofb +net1080 +net2280 +netconsole +netrom +netwave_cs +netxen_nic +newtonkbd +nf_conntrack +nf_conntrack_amanda +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_tftp +nf_defrag_ipv4 +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_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nftl +nf_tproxy_core +n_hdlc +nilfs2 +nl802154 +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 +nouveau +n_r3964 +ns558 +ns83820 +nsc-ircc +ntfs +nvidiafb +nxt200x +nxt6000 +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +of_mmc_spi +of_serial +ohci1394 +old_belkin-sir +olympic +omfs +omninet +on20 +on26 +onenand +onenand_sim +opencores-kbd +oprofile +opticon +option +or51132 +or51211 +orinoco +orinoco_cs +osd +osdblk +osst +oti6858 +output +ov7670 +ov772x +ovcamchip +oxu210hp-hcd +p54common +p54pci +p54spi +p54usb +p8023 +paride +parkbd +parport +parport_ax88796 +parport_cs +parport_pc +parport_serial +pata_amd +pata_atp867x +pata_cs5520 +pata_efar +pata_it8213 +pata_it821x +pata_jmicron +pata_marvell +pata_mpiix +pata_netcell +pata_ninja32 +pata_of_platform +pata_oldpiix +pata_pcmcia +pata_pdc2027x +pata_platform +pata_rdc +pata_rz1000 +pata_sch +pata_serverworks +pata_sil680 +pata_sis +pata_sl82c105 +pata_triflex +pata_via +pc87360 +pc87427 +pca953x +pcbc +pcd +pcf50633-adc +pcf50633-charger +pcf50633-core +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf857x +pcf8591 +pci +pci200syn +pcilynx +pcips2 +pcmcia +pcmcia_core +pcnet32 +pcnet_cs +pcspkr +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pdc_adma +pegasus +penmount +pf +pg +phantom +phonedev +phonet +phram +physmap +physmap_of +pktcdvd +pktgen +pl2303 +platform_lcd +plat_nand +plat-ram +plip +plusb +pluto2 +pm2fb +pm3fb +pmac_zilog +pmc551 +pmcraid +pn_pep +powermate +ppa +ppdev +ppp_async +ppp_deflate +ppp_generic +ppp_mppe +pppoatm +pppoe +pppol2tp +pppox +ppp_synctty +pps_core +prism54 +ps3disk +ps3flash +ps3_gelic +ps3-lpm +ps3rom +ps3stor_lib +ps3vram +psmouse +pt +pvrusb2 +pwc +qcserial +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlge +qlogic_cs +qlogicfas408 +qnx4 +qsemi +qt1010 +quickcam_messenger +quota_tree +quota_v1 +quota_v2 +r128 +r8169 +r8a66597-hcd +rack-meter +radeon +radio-gemtek-pci +radio-i2c-si470x +radio-maestro +radio-maxiradio +radio-mr800 +radio-si4713 +radio-tea5764 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +raid_class +ramzswap +raw +raw1394 +ray_cs +rdma_cm +rdma_ucm +redboot +reed_solomon +reiserfs +rfc1051 +rfc1201 +rfcomm +rfd_ftl +rfkill +ricoh_mmc +rio500 +riscom8 +rivafb +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rocket +romfs +rose +rotary_encoder +rpcsec_gss_krb5 +rpcsec_gss_spkm3 +rrunner +rsrc_nonstatic +rt2400pci +rt2500pci +rt2500usb +rt2800usb +rt2x00lib +rt2x00pci +rt2x00usb +rt61pci +rt73usb +rtc-ab3100 +rtc-bq4802 +rtc-cmos +rtc_cmos_setup +rtc-ds1286 +rtc-ds1305 +rtc-ds1307 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-ds3234 +rtc-fm3130 +rtc-generic +rtc-isl1208 +rtc-m41t80 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-pcf2123 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-ps3 +rtc-r9701 +rtc-rs5c348 +rtc-rs5c372 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-twl4030 +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtl8150 +rtl8187 +rxkad +s1d13xxxfb +s2255drv +s2io +s3fb +s5h1409 +s5h1411 +s5h1420 +saa5246a +saa5249 +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +saa7191 +safe_serial +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 +sbp2 +sc92031 +sch_atm +sch_cbq +sch_drr +sch_dsmark +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_multiq +sch_netem +sch_prio +sch_red +sch_sfq +sch_tbf +sch_teql +sco +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 +sdhci +sdhci-of +sdhci-pci +sdhci-pltfm +sdio_uart +sd_mod +sdricoh_cs +se401 +seed +serial_core +serial_cs +serio_raw +sermouse +serpent +serport +sfc +sg +sha1_generic +sha256_generic +sha512_generic +sht15 +si21xx +si4713-i2c +sidewinder +siemens_mpi +sierra +sir-dev +sis +sis190 +sis5595 +sis900 +sisfb +sisusbvga +sit +sja1000 +sja1000_of_platform +sja1000_platform +skfp +skge +sky2 +sl811_cs +sl811-hcd +slhc +slip +slram +sm501 +sm501fb +smbfs +smc91c92_cs +smsc +smsc47b397 +smsc47m1 +smsc47m192 +smsc9420 +smsc95xx +smsc-ircc2 +smsdvb +smsmdtv +smssdio +smsusb +sn9c102 +snd +snd-ac97-codec +snd-ad1889 +snd-ak4114 +snd-ak4117 +snd-ak4xxx-adda +snd-ali5451 +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-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-atihdmi +snd-hda-codec-ca0110 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-idt +snd-hda-codec-intelhdmi +snd-hda-codec-nvhdmi +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-korg1212 +snd-layla20 +snd-layla24 +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-page-alloc +snd-pcm +snd-pcm-oss +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-oss +snd-seq-virmidi +snd-serial-u16550 +snd-soc-ad1836 +snd-soc-ad1938 +snd-soc-ad73311 +snd-soc-ak4104 +snd-soc-ak4535 +snd-soc-ak4642 +snd-soc-core +snd-soc-cs4270 +snd-soc-l3 +snd-soc-max9877 +snd-soc-pcm3008 +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-tlv320aic23 +snd-soc-tlv320aic26 +snd-soc-tlv320aic3x +snd-soc-twl4030 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wm8350 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8776 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8993 +snd-soc-wm9081 +snd-soc-wm-hubs +snd-sonicvibes +snd-tea575x-tuner +snd-timer +snd-trident +snd-usb-audio +snd-usb-caiaq +snd-usb-lib +snd-usb-usx2y +snd-util-mem +snd-via82xx +snd-via82xx-modem +snd-virmidi +snd-vx222 +snd-vx-lib +snd-vxpocket +snd-ymfpci +soc_camera +soc_camera_platform +softdog +solos-pci +soundcore +sound_firmware +sp8870 +sp887x +spaceball +spaceorb +spcp8x5 +specialix +spectrum_cs +speedtch +spi_bitbang +spi_butterfly +spidev +spi_gpio +spi_lm70llp +spufs +squashfs +sr_mod +ssb +ssfdc +sst25l +st +stallion +starfire +stb6000 +ste10Xp +stex +stinger +stir4200 +stowaway +stp +strip +stv0288 +stv0297 +stv0299 +stv0900 +stv6110 +stv680 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +svcrdma +svgalib +sx8 +sym53c500_cs +sym53c8xx +symbolserial +synaptics_i2c +synclink +synclink_cs +synclink_gt +synclinkmp +sysv +tcm825x +tcp_bic +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 +tda10086 +tda18271 +tda7432 +tda8083 +tda826x +tda827x +tda8290 +tda9840 +tda9875 +tda9887 +tdfx +tdo24m +tea +tea5761 +tea5767 +tea6415c +tea6420 +tehuti +tekram-sir +tg3 +tgr192 +therm_pm72 +thmc50 +ths7303 +tifm_7xx1 +tifm_core +tifm_sd +timeriomem-rng +tipc +ti_usb_3410_5052 +tlan +tle62x0 +tlv320aic23b +tmdc +tmiofb +tmp401 +tmp421 +tms380tr +tmscsim +tmspci +toim3232-sir +touchit213 +touchright +touchwin +tpm +tpm_atmel +tpm_nsc +tps65023-regulator +tps6507x-regulator +trancevibrator +tridentfb +ts_bm +tsc2007 +ts_fsm +ts_kmp +tsl2550 +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +turbografx +tvaudio +tveeprom +tvp514x +tvp5150 +tw9910 +twidjoy +twl4030-gpio +twl4030_keypad +twl4030-pwrbutton +twl4030-usb +twl4030_wdt +twofish +twofish_common +typhoon +u132-hcd +ubi +ubifs +ucb1400_core +ucb1400_ts +udf +ueagle-atm +ufs +uinput +uio +uio_aec +uio_cif +uio_pci_generic +uio_pdrv +uio_pdrv_genirq +uio_sercos3 +uio_smx +uli526x +ultracam +umc +umem +ums-alauda +ums-cypress +ums-datafab +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-sddr09 +ums-sddr55 +ums-usbat +uninorth-agp +upd64031a +upd64083 +usb8xxx +usbatm +usb_debug +usbhid +usblcd +usbled +usblp +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +usbtouchscreen +usbvideo +usbvision +userspace-consumer +uss720 +uvcvideo +uvesafb +uwb +v4l1-compat +v4l2-common +v4l2-compat-ioctl32 +v4l2-int-device +vcan +ves1820 +ves1x93 +veth +vfat +vgastate +vgg2432a4 +via +via686a +viafb +via-ircc +via-rhine +via-sdmmc +via-velocity +vicam +video1394 +videobuf-core +videobuf-dma-sg +videobuf-dvb +videobuf-vmalloc +videodev +virtio +virtio_balloon +virtio_blk +virtio_console +virtio_net +virtio_pci +virtio_ring +virtio-rng +virtual +visor +vitesse +vivi +vlsi_ir +vmac +vp27smpx +vpx3220 +vstusb +vsxxxaa +vt1211 +vt8231 +vt8623fb +vxge +w1_bq27000 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1-gpio +w1_smem +w1_therm +w83627ehf +w83627hf +w83781d +w83791d +w83792d +w83793 +w83977af_ir +w83l785ts +w9966 +w9968cf +wacom_w8001 +walkera0701 +wanrouter +wanxl +warrior +wavelan_cs +wbsd +wdrtas +wdt_pci +whci +whci-hcd +whc-rc +whiteheat +wimax +winbond-840 +windfarm_core +windfarm_cpufreq_clamp +windfarm_lm75_sensor +windfarm_max6690_sensor +windfarm_pid +windfarm_pm112 +windfarm_pm121 +windfarm_pm81 +windfarm_pm91 +windfarm_smu_controls +windfarm_smu_sat +windfarm_smu_sensors +wire +wl1251 +wl1251_sdio +wl1251_spi +wl1271 +wl3501_cs +wlp +wm831x +wm831x_bl +wm831x-dcdc +wm831x-gpio +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x_power +wm831x_wdt +wm8350 +wm8350-hwmon +wm8350-i2c +wm8350_power +wm8350-regulator +wm8350_wdt +wm8400-core +wm8400-regulator +wm8739 +wm8775 +wm97xx-ts +wp512 +wpan-class +wusb-cbaf +wusbcore +wusb-wa +x25 +x25_asy +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_ipcomp +xfrm_user +xfs +xhci +xilinx_ps2 +xirc2ps_cs +xircom_cb +xor +xpad +xprtrdma +x_tables +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNMARK +xt_CONNSECMARK +xt_conntrack +xt_dccp +xt_dscp +xt_DSCP +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xtkbd +xt_LED +xt_length +xt_limit +xt_mac +xt_mark +xt_MARK +xt_multiport +xt_NFLOG +xt_NFQUEUE +xt_NOTRACK +xt_osf +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_realm +xt_recent +xts +xt_sctp +xt_SECMARK +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_tcpudp +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xusbatm +xvmalloc +yam +yealink +yellowfin +yenta_socket +zc0301 +zd1201 +zd1211rw +zhenhua +zl10036 +zl10039 +zl10353 +zlib +zlib_deflate +zr364xx --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/sparc/sparc64 +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/sparc/sparc64 @@ -0,0 +1,8508 @@ +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 0xf22acec3 suni_init +EXPORT_SYMBOL drivers/block/paride/paride 0x0658e1aa pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x18331c7b pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x1be36932 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x33ec7370 pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x6724c8e1 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0x8254b55d pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x8550619a pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0xa114f3fb pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xac778449 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0xba3355c5 pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xbbc7a487 paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0xe0b78557 pi_release +EXPORT_SYMBOL drivers/cdrom/cdrom 0x344adbd5 init_cdrom_command +EXPORT_SYMBOL drivers/cdrom/cdrom 0x5923df7c cdrom_open +EXPORT_SYMBOL drivers/cdrom/cdrom 0x5ac1b4ee cdrom_get_last_written +EXPORT_SYMBOL drivers/cdrom/cdrom 0x81780366 cdrom_get_media_event +EXPORT_SYMBOL drivers/cdrom/cdrom 0x8d9d76e9 cdrom_ioctl +EXPORT_SYMBOL drivers/cdrom/cdrom 0x97bd077b unregister_cdrom +EXPORT_SYMBOL drivers/cdrom/cdrom 0xa2e04f6f cdrom_number_of_slots +EXPORT_SYMBOL drivers/cdrom/cdrom 0xb215c6b6 cdrom_release +EXPORT_SYMBOL drivers/cdrom/cdrom 0xba589406 cdrom_media_changed +EXPORT_SYMBOL drivers/cdrom/cdrom 0xcb148306 register_cdrom +EXPORT_SYMBOL drivers/cdrom/cdrom 0xd4d37334 cdrom_mode_sense +EXPORT_SYMBOL drivers/cdrom/cdrom 0xd9df302d cdrom_mode_select +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x171a28ea ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2d672a11 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2e9bedf0 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x39ba09c7 ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4d89ab03 ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4d8c16f3 ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5087a6c6 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5f25b932 ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x6e8c0a61 ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x815a82fc ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x9331f654 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa18ab380 ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa7dfdc82 ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xbb19a627 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xbcbe31b4 ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xbf0bd431 ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xc1f9dc62 ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe045df25 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe536e4b0 ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xec2d3844 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfada0d39 ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfe9be857 ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xff3c5a62 ipmi_register_smi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0cf1fa85 drm_fb_helper_init_crtc_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0e9c4417 drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3443669c drm_fb_helper_free +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4bf21f81 drm_fb_helper_add_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5462d6a3 drm_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5dc4e189 drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x60babecc drm_fb_helper_setcolreg +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x63c5ba34 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6443abc1 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x65ba3e8c drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6bae2f15 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7a2e1e89 drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7f3ffa41 drm_helper_probe_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x97646953 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9bf655d6 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9ee0cd4f drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa10bb602 drm_helper_hotplug_stage_two +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xab26880a drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb0c31924 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb201d729 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb250854b drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbfbd9008 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc56e82aa drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd47e716a drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xed52109a drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0xab2dc8e6 radeonfb_resize +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0xea02db3e radeonfb_remove +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x00afeef1 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0498d018 ttm_base_object_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x059a171a ttm_base_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0ab8804a ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0de98dc9 ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1357ea50 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1539ea22 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x16cabd79 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x172210d6 ttm_mem_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1c988c3c ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x22d8c4b4 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x24536b5d ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x280a1f9b ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x284c3627 ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2a5139ee ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2e045ee1 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x30a3490c ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x339e93d6 ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x34ac05e4 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x365feb2e ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x376ac7be ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3c89da6e ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x44409a13 ttm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4daeed6e ttm_object_file_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4debf665 ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x533c002c ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x59609446 ttm_suspend_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5bc1f20f ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5c0e4505 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5ca5cb47 ttm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x60713990 ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61bdb34f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61eb9cce ttm_base_object_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x86a4066d ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8ae685b9 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9629071f ttm_object_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x96555074 ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x96a1b658 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9b2ce804 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa29a24b8 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa4f2db2a ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa77b51bc ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xac0e50d1 ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xacc80e98 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb171ffeb ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb234e194 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb8f9d883 ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb982f905 ttm_object_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc43b400c ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc64022a6 ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc7d6e0d5 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xde4082d4 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xde9894a9 ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe059b387 ttm_ref_object_add +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe2cc720a ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe4a99a83 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf289ba45 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf41ab31c ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfcce372b ttm_bo_global_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 0x4d5b9349 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xc27405bc i2c_pca_add_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x02d9962c hpsb_iso_recv_release_packets +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0b3cc82c hpsb_iso_xmit_sync +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x10116bd3 hpsb_resume_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x12653950 hpsb_get_hostinfo_bykey +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x12a0c364 hpsb_iso_n_ready +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x12e14051 hpsb_make_writepacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x146f2d8b hpsb_iso_recv_listen_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1609641e hpsb_set_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1a200e5a csr1212_release_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1c2e398a hpsb_iso_recv_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1d616a2c hpsb_make_lockpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2035ab20 hpsb_read_cycle_timer +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x219cbabe dma_region_offset_to_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x237a6a52 hpsb_node_fill_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2a4cc36b csr1212_attach_keyval_to_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2b21d3d9 hpsb_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2d796025 hpsb_selfid_complete +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2e8a06ab hpsb_bus_reset +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x368267dc hpsb_free_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3fbdba54 hpsb_destroy_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x46881e35 hpsb_register_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x47210d1f hpsb_packet_success +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x49a95dc4 csr1212_get_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4a9cd770 csr1212_parse_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4df3c9ab hpsb_protocol_class +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x589f0f68 hpsb_lock +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5aab17ed hpsb_free_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5f5fdd2f csr1212_new_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x64ee28b3 hpsb_iso_recv_flush +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x672ad148 dma_region_sync_for_device +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x68b51e47 csr1212_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6a6aaf7a hpsb_make_lock64packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x76bc1a5c dma_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x771914d0 hpsb_alloc_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x799afcfa hpsb_selfid_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8879f8f0 dma_region_sync_for_cpu +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8e441007 hpsb_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8ec2b312 dma_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x93adb5bf hpsb_update_config_rom +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x94e5d747 hpsb_iso_xmit_queue_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x95abe2c2 hpsb_iso_recv_unlisten_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x979b3052 dma_prog_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x993500e3 hpsb_iso_wake +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x99e8866c hpsb_update_config_rom_image +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9f288df4 hpsb_make_readpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa0cc06fb hpsb_iso_stop +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa7478f8c hpsb_unregister_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa7fbf449 hpsb_iso_xmit_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa8a90736 hpsb_get_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa924dac6 dma_prog_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xac9b3608 hpsb_unregister_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xae4c9f9c hpsb_iso_recv_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaef57bb5 csr1212_detach_keyval_from_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb1253880 hpsb_add_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb1b84d94 hpsb_get_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb3d87f0a hpsb_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb9072299 hpsb_iso_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb924de8f hpsb_send_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb94eab2e hpsb_set_hostinfo_key +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xbba70620 dma_prog_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xbe45ae3a hpsb_iso_shutdown +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc2669d1c hpsb_reset_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcf5398a3 hpsb_make_phypacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcfdfef4c hpsb_unregister_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd35f8697 hpsb_make_streampacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd55af67b hpsb_node_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd998b08e hpsb_iso_xmit_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xdb5ffb54 hpsb_set_packet_complete_task +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xdd4df5dd hpsb_allocate_and_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xdf075a56 __hpsb_register_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe15f86e9 hpsb_alloc_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe4be3877 hpsb_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xea3f253a hpsb_iso_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xea4152ff dma_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xed1b286c hpsb_remove_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf2635846 hpsb_iso_recv_set_channel_mask +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf532c61f hpsb_create_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf8e852ff dma_region_mmap +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf8f2c612 hpsb_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfba57f51 hpsb_speedto_str +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x1d5aeebc ohci1394_init_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x4ceb910d ohci1394_stop_context +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x58878ec2 ohci1394_register_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0xf6718495 ohci1394_unregister_iso_tasklet +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x03b85d30 rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x08a37740 rdma_addr_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x113c48b1 rdma_copy_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x2d88d9cc rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x82b0ea70 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xb0900f14 rdma_addr_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x042356ca ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x0da95310 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x176f0088 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x311cfd28 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x48edc042 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x54dfbf6c ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x70f16128 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7785a2e8 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x842f129e ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x8c463cda ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa12b95c0 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa4fb1e87 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa9a2abf0 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbcde42a5 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc3512a20 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe96fd6c8 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xfc749849 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0310de95 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06830b9a ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a8adf59 ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0ab9164c ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0cefc67d ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14672959 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14d49de9 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x192e725b ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1df75206 ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2509c04f ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b5dd609 ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2bca56e5 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ceb6e57 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2d95b8f2 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x354f1943 ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3c4e815c ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f7567fd ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x409ea56b ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x444fbff8 ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x44a58cc7 ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x44f33eba ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x46c1f2e7 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4ba08705 ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x513fc94c ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x519cf913 ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x54d1d0f7 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58ec9ee9 ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x619e6ab7 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6305a786 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x68bb276f ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6ab96c15 ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b2c2a8a ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x71dd7dc6 ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x74c5484d ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7abee12b ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7cef8b3a ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8640eaeb ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87b614d8 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87ca06a6 ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87fbb062 ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8ba306d4 ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x94d9bf8f ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9a66c349 ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d320042 ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d804fa1 mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9e4f7c8e ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa5e7ba9c ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa6d2fd29 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa825a023 ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa9e8df81 ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xabc16e41 ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae06b307 ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb03cd6f2 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb27e0377 ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc046cc4c ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc37ef527 ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc89c6b74 ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd160a20f ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd17ba9d1 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd2936113 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd49986ef ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdae6cde4 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdaffe079 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xde68099f ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe321e7fe ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe3e88aeb ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe510f097 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xea3f8ff6 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xed4b1b61 ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf071947d ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf11f069f ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf36498b9 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf96fc9de ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc1366fa ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x0325136d ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x2c1e2e08 ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x32fe7445 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x38621f5f ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x4b965db7 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x59deefbc ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x65b950e1 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6ef787ed ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6f077fcf ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x73d1743b ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x79bc06f9 ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x7b5d4b7a ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x8e29309d ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xa1d2fc01 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xc0b30707 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x022079d4 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x4ab002ff ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x576fdbac ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x5d72dabc ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x73a64cb5 ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x8609307e ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x9a105d58 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xae502be3 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xcba36fc7 ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xfa65c042 ib_sa_join_multicast +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 0x2677e158 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x2de0f3f9 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x46db99c1 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x58895be5 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x639ee9da iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x7e1873cf iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xfc088129 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xfd94621f iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1b74cc81 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x241aeb7a rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2b5fa3a2 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2fe705f8 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x421d7c28 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x47b59e3c rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x59c891cf rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5d4e86ee rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x61c9a718 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x666072b4 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7947b366 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x86d9ae6a rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9c034d5e rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9e365627 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9fcf6429 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc10b12b9 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf45bd745 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xfcbb556b rdma_leave_multicast +EXPORT_SYMBOL drivers/input/input-polldev 0x2fe5c5b8 input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x556a23db input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xae565863 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xed937dce input_register_polled_device +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 0x1c043499 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2b8eab1f capilib_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2baa6586 capilib_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31c24aa4 capi20_isinstalled +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47d3fc51 capi_info2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47dbfa0a capi_message2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x4c95921a capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x50b33ca4 capi_cmsg2message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x55e8d6da capi20_put_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x588c1c4e capi20_set_callback +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 0x788d398c 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 0x82d2a82c capi20_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8963d33c capi_ctr_resume_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8f699913 capilib_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x9cafab31 capi_ctr_suspend_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x9f823278 register_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xa3ed97d8 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xaa165d27 capilib_release_appl +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb1938c13 capi_ctr_handle_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 0xc1f71a42 capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xd5aa687a attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe19a11ac capi20_get_profile +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe9f62f29 cdebbuf_free +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xed061606 capi20_manufacturer +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x3c5d557a mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x49e834f1 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xcbd1f285 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xdeba0953 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x3761596e mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xe533dd6f mISDNisar_init +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xe62bf38e 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 0x065f10f9 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0a7631a0 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x1f00c14e mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3ea336fd mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x406ea73e dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x429129f2 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4d8a57e0 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5d31ac2e mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5d6cd987 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5d8350b4 confirm_Bsend +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x712d2fbb get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x79c36d62 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7b3c40b3 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9142555e bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x92f4e0a5 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9fddb0ad mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa4a9783e mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa75faa67 mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xace35cae mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xbd57adc0 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc6038cd6 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xce576db1 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 0xd66030d3 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd9a7fbfd mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe742dda8 recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf5b3e427 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf9e7832f mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xffdd5138 mISDN_unregister_device +EXPORT_SYMBOL drivers/md/dm-log 0x3d6611f3 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0x44cc609a dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0xb23cd488 dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0xf64c6fee dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x0c3c9f18 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x17e9a44c dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x547f45b9 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xaade356d dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/md-mod 0x00935d80 bitmap_endwrite +EXPORT_SYMBOL drivers/md/md-mod 0x04fa70fe md_integrity_add_rdev +EXPORT_SYMBOL drivers/md/md-mod 0x06bb7368 md_done_sync +EXPORT_SYMBOL drivers/md/md-mod 0x147d4249 bitmap_start_sync +EXPORT_SYMBOL drivers/md/md-mod 0x1dab4f86 bitmap_cond_end_sync +EXPORT_SYMBOL drivers/md/md-mod 0x30d2374e bitmap_close_sync +EXPORT_SYMBOL drivers/md/md-mod 0x339107c0 bitmap_unplug +EXPORT_SYMBOL drivers/md/md-mod 0x3866e923 bitmap_end_sync +EXPORT_SYMBOL drivers/md/md-mod 0x47907e66 md_check_recovery +EXPORT_SYMBOL drivers/md/md-mod 0x787c7d07 md_wakeup_thread +EXPORT_SYMBOL drivers/md/md-mod 0x879a7313 md_wait_for_blocked_rdev +EXPORT_SYMBOL drivers/md/md-mod 0x9eab782b md_register_thread +EXPORT_SYMBOL drivers/md/md-mod 0xa68a5c7a bitmap_startwrite +EXPORT_SYMBOL drivers/md/md-mod 0xa849987a md_unregister_thread +EXPORT_SYMBOL drivers/md/md-mod 0xaedf2963 md_set_array_sectors +EXPORT_SYMBOL drivers/md/md-mod 0xaf6acd7d md_error +EXPORT_SYMBOL drivers/md/md-mod 0xb1c1f026 mddev_congested +EXPORT_SYMBOL drivers/md/md-mod 0xc4602661 md_check_no_bitmap +EXPORT_SYMBOL drivers/md/md-mod 0xc619eccb md_integrity_register +EXPORT_SYMBOL drivers/md/md-mod 0xcead70f6 unregister_md_personality +EXPORT_SYMBOL drivers/md/md-mod 0xdda51594 register_md_personality +EXPORT_SYMBOL drivers/md/md-mod 0xe732e587 md_write_end +EXPORT_SYMBOL drivers/md/md-mod 0xebdaf1c6 md_write_start +EXPORT_SYMBOL drivers/md/raid6_pq 0x0bd662f6 raid6_gfmul +EXPORT_SYMBOL drivers/md/raid6_pq 0x15fe0cd3 raid6_gfexp +EXPORT_SYMBOL drivers/md/raid6_pq 0x5ba93f9d raid6_gfinv +EXPORT_SYMBOL drivers/md/raid6_pq 0x7b85d712 raid6_empty_zero_page +EXPORT_SYMBOL drivers/md/raid6_pq 0xce45a6f1 raid6_gfexi +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0xdb64d897 mc44s803_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 0x6359c0d4 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0xb669d360 xc5000_attach +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x5739f41a cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0xc1a361bc cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x155650f3 cx2341x_ctrl_get_menu +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 0x5b88faf6 cx2341x_ext_ctrls +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 0xe2c2b5eb cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x7d7a5c2b gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xaad50da5 gspca_auto_gain_n_exposure +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xdab593bb gspca_get_i_frame +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xe375770f gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xe5c87f08 gspca_frame_add +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 0x1a7575e5 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x21097b4b saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x27fd8a0a saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x2e275672 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x3e331af6 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x3ebb05dd saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x450993b2 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x81a6813b saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x9396845f saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x9b7bbf57 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xb268acc3 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xf81326ea saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/soc_camera 0x1c33988a soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0x20eec7c4 soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0x42ce7018 soc_camera_apply_sensor_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0x511f5d59 soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0xffb8799c soc_camera_format_by_fourcc +EXPORT_SYMBOL drivers/media/video/tveeprom 0x1e56c781 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/tveeprom 0xeec1afa9 tveeprom_read +EXPORT_SYMBOL drivers/media/video/v4l1-compat 0x64a0b3ff v4l_compat_translate_ioctl +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x03165a85 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1dcaa0c8 v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1e326b97 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x2f639468 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x42c8e001 v4l2_ctrl_next +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4ed5e0d7 v4l2_chip_match_host +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x50766d69 v4l2_ctrl_query_menu_valid_items +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x76ba9a9a v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x92cc36ae v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x936cc836 v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x95284709 v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9c7de443 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9eb43ee2 v4l2_ctrl_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xbecd2858 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xd9ee1e3f v4l2_ctrl_query_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x11cb24e1 video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x26652127 video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0x2a3f2a7a video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0x2d0f78a0 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x4f6514b4 video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0x523952f1 video_register_device_no_warn +EXPORT_SYMBOL drivers/media/video/videodev 0x574943ab video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x6e45102b video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0x9ac5fc04 video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x01152a98 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x02d3eaec mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x14b785c8 mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x18154e59 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x261f6218 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2d21dd84 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2f7d53e0 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3096fcef mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x35ce3ba4 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x37356e55 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3d47b6cb mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3fe9af77 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4531b167 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4ab3e7b7 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4ac6591f mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5944967b mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6d02de72 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x770c4b38 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x82eed06f mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x85214dc6 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa58d8ea6 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb5603b50 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb5614390 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc0e69f82 mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc47c22e8 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd5b2c287 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd9a92a75 mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfd166683 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xff4905ae mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0ca30375 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0dfcb7e5 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x338f3225 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4a393d16 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x56c06659 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5cd95393 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6b617e36 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x741eadbe mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x79069617 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x841ece10 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8b85543b mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8e2e189c mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9391578f mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa65dde5e mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xaebad21f mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xba5c44d1 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd039ff09 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd142f737 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd2c717c2 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd5e69b5c mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe43cbf0d mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf1607db8 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf5e8a137 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xff9ddcdb mptscsih_io_done +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x08429899 i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0afaf535 i2o_cntxt_list_get_ptr +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x14299d7f i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x166de97d i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x16f0e9be i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x1c49428e i2o_cntxt_list_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2c7bbd60 i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x43e8acc4 i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x5c6b0c6f i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x5daf257a i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x8a1e773d i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x915ec310 i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x934266ab i2o_cntxt_list_add +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x935486b2 i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x9df45fc3 i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb73f0615 i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xe450c7a8 i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xeb109c26 i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xee44e889 i2o_cntxt_list_remove +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xef6a8fa3 i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf0d4dff5 i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf3416cd4 i2o_driver_register +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x24b5194c ab3100_get_register_page_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x48245f24 ab3100_event_register +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x6345aa7d ab3100_mask_and_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xa2c7c8bf ab3100_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xa8bc60e2 ab3100_get_chip_type +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xaa36e3f2 ab3100_event_registers_startup_state_get +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xabcfe410 ab3100_get_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xfe208d4c ab3100_event_unregister +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x7a892b49 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xc079e9ca pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mfd-core 0x185d773f mfd_remove_devices +EXPORT_SYMBOL drivers/mfd/mfd-core 0x8cb5250d mfd_add_devices +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +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/c2port/core 0x282585b0 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0x7c7434d5 c2port_device_register +EXPORT_SYMBOL drivers/misc/ioc4 0x2b276981 ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0xb1f17f59 ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x02fff24a tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x177c4777 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x3166c17a tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x32e154c3 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x508e7c34 tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x58df9377 tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x611e2d1d tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xbc34cd43 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0xbf3a1d03 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xc6f780f3 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xcd153284 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0xd7265044 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xdb60b9fe tifm_map_sg +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0x2b099226 mmc_cleanup_queue +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x102e5ba2 mmc_card_can_sleep +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x23e590b6 mmc_release_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x2baf6488 mmc_alloc_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x2e64ec1c mmc_power_save_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x33cfb07a mmc_card_sleep +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x48481904 mmc_register_driver +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x497f76ad mmc_remove_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x4f2bf911 mmc_wait_for_app_cmd +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x56df5a59 mmc_regulator_set_ocr +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x5a10debf mmc_set_data_timeout +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x71eb2da9 mmc_power_restore_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x7c22ddd5 __mmc_claim_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x7d50f389 mmc_try_claim_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x80d21d90 mmc_free_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x82a0ced9 mmc_host_enable +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x871b9538 mmc_align_data_size +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xa317d39c mmc_wait_for_req +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xa95c303e mmc_request_done +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xae8e5432 mmc_host_lazy_disable +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xb147f171 mmc_unregister_driver +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xb3ad570a mmc_detect_change +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xbc092972 mmc_add_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xcf69bced mmc_wait_for_cmd +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xd1602863 mmc_host_disable +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xe15d915a mmc_card_awake +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x54b9fedb mmc_spi_put_pdata +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0xe9433e65 mmc_spi_get_pdata +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x067b49ee cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x7636660a cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x884e3701 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x073d8dab unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x26ff320d map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x860d2fce do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xc8375439 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0xe3c7ef89 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x6d4692ba lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0xdee655b9 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x0d336952 del_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtd 0x2ea9b4c9 add_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtdconcat 0x2541e59a mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtdconcat 0xa0c144e6 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/nand 0x2eafa78f nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0xd6b557e2 nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x08ee5e44 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xa545f412 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 0x4e15ab05 onenand_scan_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x99cb6718 onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xbf241d58 flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xdbda4400 onenand_default_bbt +EXPORT_SYMBOL drivers/net/8390 0x50237aa5 ei_poll +EXPORT_SYMBOL drivers/net/8390 0x532f8d06 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/8390 0x6b5f0210 ei_get_stats +EXPORT_SYMBOL drivers/net/8390 0xc5247f6c ei_tx_timeout +EXPORT_SYMBOL drivers/net/8390 0xc9c03013 ei_start_xmit +EXPORT_SYMBOL drivers/net/8390 0xd5d7dad1 ei_netdev_ops +EXPORT_SYMBOL drivers/net/8390 0xdc580bcb ei_close +EXPORT_SYMBOL drivers/net/8390 0xdd365790 ei_interrupt +EXPORT_SYMBOL drivers/net/8390 0xec5612d3 ei_open +EXPORT_SYMBOL drivers/net/8390 0xf89a9e14 NS8390_init +EXPORT_SYMBOL drivers/net/8390 0xfdf35095 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/bnx2 0x3c438c25 bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/cnic 0xac20a3b1 cnic_register_driver +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x00b4f69f t3_l2t_get +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x0a8e7f7e t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x260b181f cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x27b41bed cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x3d26fdfa cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x4eb512ae cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x65e9794c cxgb3_free_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x8ef8b64a dev2t3cdev +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x8f945737 cxgb3_register_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x98181396 cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x9caf48f6 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xaa126428 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xc63f82dc cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xcdc8842a t3_l2e_free +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xd2744944 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xe26387c9 t3_l2t_send_slow +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/mii 0x12d68254 generic_mii_ioctl +EXPORT_SYMBOL drivers/net/mii 0x1add9072 mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0x2a5edc89 mii_check_link +EXPORT_SYMBOL drivers/net/mii 0x4205d023 mii_ethtool_gset +EXPORT_SYMBOL drivers/net/mii 0x4e9a12f0 mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0x6e06eb32 mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0x7975ea32 mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0xe2633311 mii_check_media +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xa7e6ea64 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xc50e1527 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp_generic 0x1ed33b80 ppp_input +EXPORT_SYMBOL drivers/net/ppp_generic 0x3648e014 ppp_output_wakeup +EXPORT_SYMBOL drivers/net/ppp_generic 0x45cef6df ppp_unit_number +EXPORT_SYMBOL drivers/net/ppp_generic 0x52036804 ppp_register_compressor +EXPORT_SYMBOL drivers/net/ppp_generic 0x559e6b84 ppp_unregister_channel +EXPORT_SYMBOL drivers/net/ppp_generic 0x62d53483 ppp_register_channel +EXPORT_SYMBOL drivers/net/ppp_generic 0x94fdb814 ppp_register_net_channel +EXPORT_SYMBOL drivers/net/ppp_generic 0x9f1e69cb ppp_unregister_compressor +EXPORT_SYMBOL drivers/net/ppp_generic 0xa3952711 ppp_channel_index +EXPORT_SYMBOL drivers/net/ppp_generic 0xfb9f3ff9 ppp_input_error +EXPORT_SYMBOL drivers/net/pppox 0x07f2b28b pppox_unbind_sock +EXPORT_SYMBOL drivers/net/pppox 0x2c8b37b7 register_pppox_proto +EXPORT_SYMBOL drivers/net/pppox 0x2cd43316 pppox_ioctl +EXPORT_SYMBOL drivers/net/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/slhc 0x2278e94b slhc_remember +EXPORT_SYMBOL drivers/net/slhc 0x26b760c4 slhc_init +EXPORT_SYMBOL drivers/net/slhc 0x3fe0d1c0 slhc_free +EXPORT_SYMBOL drivers/net/slhc 0x62538167 slhc_toss +EXPORT_SYMBOL drivers/net/slhc 0x7e87227e slhc_compress +EXPORT_SYMBOL drivers/net/slhc 0xa78d9eb7 slhc_uncompress +EXPORT_SYMBOL drivers/net/wireless/airo 0x8a5cd5d9 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xa9ddfc29 init_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xce145022 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x31219afb ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x6c416fb7 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbe25b39d ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xccbc8daa ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xef045bfd ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/atmel 0x8178da89 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0x85b6dd91 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xc3a99a4a atmel_open +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x078c6eb3 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1177b416 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x22df0f49 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x31765c7b hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x39d00b6d hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x412bbf30 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x46b48a05 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x672f566c hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x83218bb0 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x8cc1a637 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x8df12e63 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x97f390cc hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x982c8eea hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9afdb036 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9caccb88 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9d361db8 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9e4ed343 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xad2b6270 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xaee95459 hostap_set_hostapd +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 0xb59fbeea hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb5baec74 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xcdd20703 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xd39beca4 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe8549c41 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xebe220af hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xff4ad52f hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x0becf174 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x13b049d6 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x240aabca libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x2a7f1f4f libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x3303fa31 free_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x3c16db62 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x47e5ec15 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x68531726 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x74ed31ce libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x751368df libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x754f8716 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x7b6ae7ea libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x98488760 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xa7ecc00d libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xa8931b0d libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xc091a773 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xcc597b97 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd361b2b8 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xde9b352f alloc_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xf6af9db5 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xf9b01be0 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x00352b6a iwl_find_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0326c812 iwl_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x03a0ba92 iwl_get_free_ucode_key_index +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x040ac18c iwl_chain_noise_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x050cd2d4 iwl_verify_ucode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0537706a iwl_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x057f4073 iwl_rx_queue_restock +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x071f7ab5 iwl_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0969b822 iwl_rate_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0be8498f iwl_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0ccb6284 iwl_hw_detect +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0cfcf722 iwl_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0dff86cd iwl_mac_get_tx_stats +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0ee6312d iwl_reset_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x13a9eaad iwl_rx_csa +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x15e878a3 iwl_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x17e10e05 iwl_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x184737a9 iwl_uninit_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x19f0e900 iwl_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d3abfc5 iwl_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d77b399 iwl_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1da9988f iwl_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1df7fac6 iwl_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x23d9d32c iwl_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x28753a57 iwl_reset_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2928d828 iwl_hw_nic_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2a3e2262 iwlcore_eeprom_acquire_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2a780e61 iwl_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2bf9dcfa iwlcore_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x30c959d1 iwl_leds_register +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x30cbff0d iwl_init_sensitivity +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3154ebf6 iwl_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x32653b56 iwl_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x33e1df85 iwl_send_calib_results +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x34740c2e iwl_bg_scan_check +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3c6edfcd iwl_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3fa2ab02 iwl_sensitivity_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x41817654 iwl_free_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x42492214 iwl_rx_missed_beacon_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x444626bd iwl_rx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x46e7fc1d iwl_init_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x48ed5bb1 iwl_txq_ctx_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x498d91ab iwl_send_statistics_request +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4d48f8a1 iwl_rxon_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4da18f5e iwl_rf_kill_ct_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4e6146f2 iwl_set_rxon_chain +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x53b6b3b8 iwl_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x549d4751 iwl_rxq_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x552c8d08 iwl_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x55c824b2 iwl_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x55f260f0 iwl_leds_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x57cbf908 iwl_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5e81ce5f iwl_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5f352ffa iwl_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x61988a6d iwl_txq_check_empty +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x64264904 iwl_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x649630f4 iwl_rx_reply_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x64bda147 iwl_get_ra_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6792ade4 iwl_bg_abort_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x67aee9a7 iwl_tt_exit_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x68abcd5b iwl_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x69223aa0 iwl_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6a89f837 iwl_alloc_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6b23ab33 iwl_tt_enter_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x71a65e70 iwl_tt_exit +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x73df90f3 iwlcore_eeprom_enhanced_txpower +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x759d6784 iwl_get_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x78976e61 iwl_isr_legacy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7a240ba6 iwl_hwrate_to_tx_control +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7ac2cca7 iwl_set_hw_params +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x801df002 iwl_reset_run_time_calib +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8166bfa0 iwl_configure_filter +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x818dfccc iwl_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x82b47fb0 iwl_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x82f22405 iwl_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x843f8fbb iwl_update_tkip_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x857cba92 iwl_setup_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8670273d iwl_hwrate_to_plcp_idx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x89807e51 iwl_ht_enabled +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x89d38ed0 iwl_rx_pm_debug_statistics_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8b6b5211 iwl_hw_txq_ctx_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8c6aebfd iwl_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8c842508 iwlcore_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8f3f3660 iwl_is_monitor_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8f866f6f iwl_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x90c9f944 iwl_rx_pm_sleep_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9693aec4 iwl_rx_reply_rx_phy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x97b0b4e6 iwl_set_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9b57959e iwl_remove_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9cde1f24 iwl_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9e24e33c iwl_free_tfds_in_queue +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9faced57 iwl_calib_set +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa0a72e3e iwl_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa1f1f7f6 iwl_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa35bf78b iwl_tx_queue_reclaim +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa3fc4799 iwl_sta_rx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa5e204d7 iwl_tx_skb +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa8306226 iwl_tx_ant_restriction +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa95dfcb6 iwl_rx_statistics +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaf255aa6 iwl_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb0389f09 iwl_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb1d531cd iwl_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb2971542 iwl_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb3c192c3 iwl_remove_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb50952a2 iwl_clear_stations_table +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb78d5262 iwl_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb9647306 iwl_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbbce1a54 iwl_eeprom_get_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbc08717a iwl_alloc_all +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbc5eea75 iwl_eeprom_check_version +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbc8b4b6b iwl_sta_tx_modify_enable_tid +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc19c2ac0 iwl_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc1cf0577 iwl_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc3c9375a iwl_tt_handler +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc572cca6 iwl_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc5804e6e iwl_set_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc5da3fa7 iwl_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc654ebfe iwl_sta_rx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc6e771dc iwl_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc7794b30 iwl_bg_scan_completed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcb3cd9b9 iwlcore_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcbaf4931 get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xccf785f0 iwl_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcd5704ab iwlcore_eeprom_release_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd07730ff iwl_set_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd4326de9 iwl_send_static_wepkey_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd9619cc2 iwl_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd9a9b3bf iwl_disable_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xda79f98c iwl_activate_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xde1114bc iwl_setup_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdee8fbd9 iwl_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdf3c7bcf iwl_tx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe1481410 iwl_tx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe445a3d1 iwl_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe6049e68 iwl_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe7ce5d70 iwl_rates +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe96108b4 iwl_mac_beacon_update +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xeb21af9e iwl_rx_reply_compressed_ba +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xee47a972 iwl_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf28ec9ec iwl_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf7601668 iwlcore_eeprom_verify_signature +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf7a0eba8 iwl_rx_replenish_now +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf83920c6 iwl_tt_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfc0194af iwl_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfd44b0f7 iwl_rx_reply_rx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfedaa584 iwl_rx_replenish +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x168433c9 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4196c38b hermes_write_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x521ad1ee orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x54dacf3c free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x59bad0d7 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x6a927e18 orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa031d8e4 hermes_doicmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa52e71d5 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc4295474 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc60b5e9e hermes_bap_pwrite +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd38d8ae2 hermes_read_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd3f714e5 hermes_bap_pread +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5168829 hermes_allocate +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5336e5d hermes_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd54e219d hermes_docmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xed47b224 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xef441190 orinoco_up +EXPORT_SYMBOL drivers/parport/parport 0x10c64498 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x14109fc1 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0x26a48369 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x2eab8e65 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x3a3ebe80 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x3d908aa4 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x43cc7222 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x4a0cce56 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x598aaf05 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x6758462b parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x68004c1f parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x6e1b0de1 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x7ca7764f parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x8416210f parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x94368b62 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x99615328 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x9d5eff70 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0xa51b35fa parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0xa5c7dae8 parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xa6272105 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xa817faf4 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xabdef775 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xae1e7e5f parport_read +EXPORT_SYMBOL drivers/parport/parport 0xae8d6307 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xba17e575 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0xc0818daf parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xc2385bc9 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xc61b145c parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xc8d3f917 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0xe01b7b56 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0xe14ba8c6 parport_release +EXPORT_SYMBOL drivers/parport/parport_pc 0x54c8a414 parport_pc_unregister_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xf5d38378 parport_pc_probe_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x043c5740 pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x056e5b50 pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x09190335 pcmcia_get_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4fd033a0 pcmcia_error_func +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x5307ee4d pcmcia_get_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x5e772742 pcmcia_access_configuration_register +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x5f879378 pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6193c138 pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6fe841a3 pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x894fb27e pcmcia_modify_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x9d1f6b50 pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xa1e849d2 pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xa884cc78 pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xbaa2db8d pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xe049d74b pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf0a25e12 pcmcia_error_ret +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xff7d8f32 pcmcia_request_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x074c36ef pcmcia_socket_dev_suspend +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0b16586b destroy_cis_cache +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x1a43004c pcmcia_resume_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x1f243d26 pcmcia_read_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x29a0875b pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2a2e8ce7 pccard_validate_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2e16b997 pcmcia_socket_dev_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x33f691ac pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x34504621 pcmcia_suspend_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x361626eb pcmcia_socket_dev_late_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x452c5ccb pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x45c443f0 pcmcia_socket_dev_early_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x544c1dc1 pcmcia_write_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x55ac249f pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x646b4a7e pccard_read_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7962438a pccard_get_next_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x816230ba pccard_get_tuple_data +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x83209c22 pcmcia_validate_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8f46aa9f pcmcia_adjust_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa41b0e9a release_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa8502699 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa90a23f1 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa9e9fb8c pcmcia_replace_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb867281f pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc02ef2c8 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcb053761 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xd8562f75 pcmcia_find_mem_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xda1248e8 pcmcia_find_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xdb774c2c pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xdc2c6d6d pccard_static_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xed84483a pccard_get_first_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf0543f2a pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf91c0b2c pcmcia_insert_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xfd02ab6f pcmcia_eject_card +EXPORT_SYMBOL drivers/pcmcia/rsrc_nonstatic 0x28fb239f pccard_nonstatic_ops +EXPORT_SYMBOL drivers/pps/pps_core 0x1e145952 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0xaa7b2f21 pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xe6a16116 pps_event +EXPORT_SYMBOL drivers/sbus/char/bbc 0x0e8d8f7d bbc_i2c_write_buf +EXPORT_SYMBOL drivers/sbus/char/bbc 0x36c32b41 bbc_i2c_readb +EXPORT_SYMBOL drivers/sbus/char/bbc 0x68829c32 bbc_i2c_detach +EXPORT_SYMBOL drivers/sbus/char/bbc 0x8a084ea8 bbc_i2c_read_buf +EXPORT_SYMBOL drivers/sbus/char/bbc 0xb43f0443 bbc_i2c_getdev +EXPORT_SYMBOL drivers/sbus/char/bbc 0xbb5ba667 bbc_i2c_attach +EXPORT_SYMBOL drivers/sbus/char/bbc 0xf948e6f8 bbc_i2c_writeb +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x17ffea1d scsi_esp_unregister +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x658a76c9 scsi_esp_intr +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x68a8a277 scsi_esp_cmd +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x6ccf1595 scsi_esp_register +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x86a8d8f4 scsi_esp_template +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x10763bbc fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x11aa385c fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x4953ca36 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x4cefb47f fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x9509f904 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xaf9dc828 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xf752d275 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x076a0909 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0ca44b48 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1891f26c fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x194cc641 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1a23be74 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x20a6e796 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x242d6fe5 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x24c78e70 fc_exch_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2bea53fa fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2c0cda40 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x39632060 fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3da70d9f fc_fcp_complete +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4a65bf2f fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4e12a7be fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x56183917 fc_destroy_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5c34f3f9 fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5cf13562 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5e839578 fc_fcp_ddp_setup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x67750428 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6cf59e02 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x740e75d0 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x78c6f589 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7b05cbd6 fc_seq_els_rsp_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x80e82cc5 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8c204994 fc_get_host_port_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa1a2ccca fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xac238a7a fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb4b64e0a fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb6f95579 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbaf0ae5b fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc0897a88 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc4628d6c fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcaa2d145 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd13cab87 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd2c050b0 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd3d1f9c2 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd522b3fe fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd6cb3359 fc_setup_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdd3efcc9 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe16a4715 fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe8863876 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe8dcc846 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xee445814 __fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf6c2612f fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf7365d60 fc_seq_exch_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf991f885 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfe04d98e fc_get_host_speed +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 0x8dda5d1d mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0562caa6 osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c2fe6e6 osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0cf0ac7b osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x11df44fb osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1754d1e2 osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x18424468 osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x186289c0 osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x18b739de osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x256ea512 osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x36f75c5d osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4bfcc68c osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4e2ee76d osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x5294a314 osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x62dffc65 osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7087ba04 osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x717c7b3d osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x79e18086 osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7ed9c270 osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9141b6c1 osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa57449a0 osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb0153383 osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb84bfd0f osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xbda88375 osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xbe4d462b osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc7ace1e3 osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xcc08fc1f osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xce7098b7 osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd8ff973d osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe23fb2f4 osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe45ebe4d osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xeea579a4 osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf426604f osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/osd 0x097fce10 osduld_put_device +EXPORT_SYMBOL drivers/scsi/osd/osd 0x11425c54 osduld_register_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x2ccb7597 osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x0adb7856 qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x57c98871 qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x7ffee344 qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xc766be0f qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xdc310b12 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xed93a5ca qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf9fab13e qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/raid_class 0x66af416f raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0xdd894d3d raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0xf6a2c957 raid_class_release +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x032790ae scsi_target_quiesce +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x03f04af6 scsi_allocate_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x045c379f scsi_cmd_print_sense_hdr +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x091133d2 scsi_register_interface +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x09951e5c scsi_get_host_dev +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x1197bb3c scsi_is_sdev_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x120aaa32 scsi_add_host_with_dma +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x132448ed scsi_report_bus_reset +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x17acd54d scsi_target_resume +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x1ac7c1a2 scsi_add_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x1b7d6f12 scsi_device_put +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x22323b58 scsi_unregister +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x2356bcb4 scsi_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x2408d2aa scsi_bios_ptable +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x2659a278 scsi_remove_target +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x2f5ea9e6 scsi_remove_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x320c594c scsi_host_get +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x377d65b5 scsi_setup_fs_cmnd +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x392a698d scsi_rescan_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x3d1e236c scsi_prep_return +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x40a27c37 scsi_dev_info_remove_list +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x44eee98a __starget_for_each_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x48f24afa scsi_nonblockable_ioctl +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x4abd287d scsi_register_driver +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x4b18299f starget_for_each_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x4e397f49 scsi_print_result +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x514a8fa5 scsi_execute_req +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x561935c6 scsi_mode_sense +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x573d0483 scsi_get_device_flags_keyed +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x57a4e1a2 scsi_block_requests +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x5e8eb2e3 __scsi_alloc_queue +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x600e536d scsi_device_get +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x635baaba scsi_command_normalize_sense +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x654d5143 scsi_device_quiesce +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x6b58eb8d scsi_eh_prep_cmnd +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x6f1f05e2 scsi_is_host_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x7139cbb0 scsi_reset_provider +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x78eb1958 __scsi_device_lookup_by_target +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x7b33c489 scsi_free_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x7dcf5fc1 scsi_print_sense +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x7e2dd943 scsi_put_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x817622de scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x82498aba scsicam_bios_param +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x82e18c6b __scsi_put_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x82e410aa scsi_host_lookup +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x872e0070 scsi_prep_state_check +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x8a45f624 __scsi_iterate_devices +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x8c05323d scsi_device_lookup +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x93d74931 scsi_scan_host +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x97e57a85 scsi_scan_target +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x98e5bd9c scsi_free_host_dev +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x9c2e43bf scsi_set_medium_removal +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x9e214585 scsi_device_lookup_by_target +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x9e443566 scsi_init_io +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xa0571aa4 scsi_ioctl +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xa60fe486 scsi_eh_finish_cmd +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xb4c1f17d scsi_calculate_bounce_limit +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xb5fcfd30 __scsi_add_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xc9defa99 scsi_release_buffers +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xcceaea0f scsi_dma_map +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xceb9bf5d scsi_dma_unmap +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xd4a4fc3d scsi_prep_fn +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xd4f76ae7 scsi_report_device_reset +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xd66ce7b1 scsi_register +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xda4e727a __scsi_device_lookup +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xdcb57363 scsi_device_resume +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xddb5e163 scsi_host_set_state +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xe5a0d8f2 scsi_device_set_state +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xe9452d82 scsi_eh_restore_cmnd +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xea10212a int_to_scsilun +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xec5ecd5f scsi_test_unit_ready +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xee34433e scsi_print_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xefb653eb scsi_host_alloc +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xf04d4f4b scsi_get_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xf0a18cb3 scsi_adjust_queue_depth +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xf44724b4 scsi_unblock_requests +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xf765aa61 scsi_is_target_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xf8d390f9 scsi_host_put +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xf984c5e1 scsi_block_when_processing_errors +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xfbaa41e3 scsi_kmap_atomic_sg +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xfc369b70 scsi_track_queue_full +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xfebd2cbc scsi_execute +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xff207721 scsi_finish_command +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x06b411ff fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0c92afac fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0dfc863d fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1f2a7af5 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x29a57166 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x36d47e32 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x75a45f86 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8caddd96 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xbd91ebe5 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd3ddb429 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xdbfcc861 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xdc161c65 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x01a6027a sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0a3b45f5 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x10892549 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x24ea7f1e sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2db08565 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x32c892c3 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3867e062 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x38d745da sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x482bb64b sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5555bc44 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x59a443f8 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5dc468f6 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x61b40b0d sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x62bcdaa8 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6ecd49fd sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x775685f1 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x798e6688 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xad44a0cb sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc29ea8d2 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc98810bc sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd17da845 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd2cb7aeb sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd4b59121 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe79707c2 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xefb15fce sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf901bc38 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3453efc8 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x59f25c9d spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x60350e9b spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x60a467d1 spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x9bcbe98e spi_display_xfer_agreement +EXPORT_SYMBOL drivers/serial/8250 0x7d8c2877 serial8250_register_port +EXPORT_SYMBOL drivers/serial/8250 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL drivers/serial/8250 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL drivers/serial/8250 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL drivers/ssb/ssb 0x089438ad ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x1370b37d ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x1da701d0 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x23d8e465 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x3c8eebca ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x3fb7f951 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x41aafa7f ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x627e19c4 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x6521c335 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x6db1ff1d ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x8d9ddbc7 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xa0fd37b0 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xa31c9d69 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xc1e75259 ssb_dma_set_mask +EXPORT_SYMBOL drivers/ssb/ssb 0xc3d1e781 ssb_dma_free_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0xc40acc1a __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xd27897b2 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xd9cee9a8 ssb_dma_alloc_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0xe0a10bc4 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xe55c0431 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0xe75ac9ba ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xf186f532 ssb_clockspeed +EXPORT_SYMBOL drivers/telephony/ixj 0x51194dd3 ixj_pcmcia_probe +EXPORT_SYMBOL drivers/telephony/phonedev 0x8e7a836f phone_unregister_device +EXPORT_SYMBOL drivers/telephony/phonedev 0x9156ce82 phone_register_device +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x3978c56e 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/usbserial 0x0177a27b usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xf1d834f5 usb_serial_resume +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0xc86baa7c corgibl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x711b88db lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xca2fd74c lcd_device_register +EXPORT_SYMBOL drivers/video/display/display 0x834fa4e8 display_device_register +EXPORT_SYMBOL drivers/video/display/display 0xda5aaca9 display_device_unregister +EXPORT_SYMBOL drivers/video/output 0x6f9f3ac1 video_output_unregister +EXPORT_SYMBOL drivers/video/output 0x93359e68 video_output_register +EXPORT_SYMBOL drivers/video/svgalib 0x00d1fce9 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/svgalib 0x05372966 svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0x07b3da30 svga_wseq_multi +EXPORT_SYMBOL drivers/video/svgalib 0x1b95c56a svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x5f42976d svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0x63e898d1 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/svgalib 0x7a3ae959 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x7ed2cad4 svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0x80408443 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0x80673c8a svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0x87cdbe29 svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0x8fa8438b svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/svgalib 0xab3b22ad svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/svgalib 0xb7deaf9c svga_tileblit +EXPORT_SYMBOL drivers/video/svgalib 0xdad682b1 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/svgalib 0xeb92243a svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0xec83c473 svga_match_format +EXPORT_SYMBOL drivers/video/svgalib 0xef774f5d svga_compute_pll +EXPORT_SYMBOL drivers/video/syscopyarea 0xee56b5cf sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0x5c8505ed sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0xe7bababd sys_imageblit +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x8b9d5506 w1_bq27000_read +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x8d4068e2 w1_bq27000_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x1d860245 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x29a76e35 w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x4ec9786c w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xb9d5bbd6 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/wire 0x6cb71cc0 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x878e525b w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xaa3b34aa w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0xe7ce1ca5 w1_add_master_device +EXPORT_SYMBOL fs/configfs/configfs 0x014c9b6d config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0x308ca573 config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x49165814 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x93f5af70 config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x9652bfbc configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x9f1af723 config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0xa2e9ee24 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0xb5cb4450 config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0xb6877774 config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0xc3b63e63 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0xd4ea3eb7 config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0xe1859501 configfs_register_subsystem +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x09ce58d9 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x27e72ee8 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0x34218099 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x3763408b __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x496932b9 fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x66931490 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x74272d5c __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x74a88261 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x76181425 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x76f5c592 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x81e1bca6 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x843041f9 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x9a9b9558 __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xa2f746f2 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0xab91d526 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0xb37d91ab __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xd0395bb4 fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0xd2bc3356 __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xd369dfda fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xdb247263 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0xe27b89c2 fscache_object_slow_work_ops +EXPORT_SYMBOL fs/fscache/fscache 0xe27f8e50 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0xe357695f __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0xebd812a8 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0xebe8d2ba __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0xf46aea2a fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0xf7622947 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xf7645e0c fscache_init_cache +EXPORT_SYMBOL fs/nfsd/nfsd 0x1f573533 nfs4_acl_posix_to_nfsv4 +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 0x96ce9bb4 nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0xdb389aec nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/quota/quota_tree 0x13064ec3 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x711786c9 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x95b61c9c qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xdaf6d50e qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xf724d7cc qtree_entry_unused +EXPORT_SYMBOL lib/crc-ccitt 0x651c2313 crc_ccitt +EXPORT_SYMBOL lib/crc-ccitt 0x75811312 crc_ccitt_table +EXPORT_SYMBOL lib/crc-itu-t 0x276c7e62 crc_itu_t +EXPORT_SYMBOL lib/crc-itu-t 0xd29b009f crc_itu_t_table +EXPORT_SYMBOL lib/crc-t10dif 0x782acba5 crc_t10dif +EXPORT_SYMBOL lib/crc7 0xc086bfba crc7 +EXPORT_SYMBOL lib/crc7 0xd80c3603 crc7_syndrome_table +EXPORT_SYMBOL lib/libcrc32c 0x27000b29 crc32c +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 0xf0caf44b zlib_deflate_workspacesize +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL net/802/p8022 0x16a2d86b unregister_8022_client +EXPORT_SYMBOL net/802/p8022 0x8de67f39 register_8022_client +EXPORT_SYMBOL net/802/p8023 0x2b3f21b5 make_8023_client +EXPORT_SYMBOL net/802/p8023 0xb26c1ef5 destroy_8023_client +EXPORT_SYMBOL net/802/psnap 0x576471f7 unregister_snap_client +EXPORT_SYMBOL net/802/psnap 0xcbb739c1 register_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x01c0f44f p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0x05df0ed8 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x06998142 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x0b3ac49a p9pdu_dump +EXPORT_SYMBOL net/9p/9pnet 0x0c574953 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x1753f955 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0x175e721b p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x402ec6b3 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x41e6bc51 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x46b4b02c v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x4fb45a54 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x51f24997 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x5376d4ae p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x56d356ce p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x61d9b2f3 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x6c262ac2 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x6e40e33b v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x70ca9a20 p9_client_version +EXPORT_SYMBOL net/9p/9pnet 0x76b79bf1 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x85e5f500 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xa0cf8253 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0xa5ff602a p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xc7aa0c7b p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0xcaac5874 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xcf6e0d03 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0xd5a8fb00 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe711fa8f p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xea8f33e7 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0xefcb2fbc p9_client_auth +EXPORT_SYMBOL net/appletalk/appletalk 0x1367f658 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0x8c0d22ec atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0x9dfa2650 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0xd0441269 alloc_ltalkdev +EXPORT_SYMBOL net/atm/atm 0x0436dfe3 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x1a24e5e2 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0x2215a3a9 atm_charge +EXPORT_SYMBOL net/atm/atm 0x22f87594 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x31eb46b9 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x41ec6530 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x47631635 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x53506b22 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x8257df87 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x89195dc3 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xb57a96b3 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0xc1873968 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0xe39bd192 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0xea0ea388 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/bridge/bridge 0x9b926be4 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xb1b3ab6e ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xce5a250d ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xe0feb4a0 ebt_do_table +EXPORT_SYMBOL net/can/can 0xa1f84da2 can_proto_register +EXPORT_SYMBOL net/can/can 0xaa019221 can_send +EXPORT_SYMBOL net/can/can 0xeb0691e3 can_rx_unregister +EXPORT_SYMBOL net/can/can 0xf709ab6e can_rx_register +EXPORT_SYMBOL net/can/can 0xfc91b84c can_proto_unregister +EXPORT_SYMBOL net/ieee802154/nl802154 0x124dbc18 ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x44f7d5ce ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x8d5d62e3 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x94b8945f ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0xd9bbc9ff ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0xe8deb3e1 ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0xee81cbb4 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/wpan-class 0x04f55218 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/wpan-class 0x25849126 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/wpan-class 0x443208b2 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/wpan-class 0x698df09e wpan_phy_free +EXPORT_SYMBOL net/ieee802154/wpan-class 0xe10e71ea wpan_phy_alloc +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x497dd7d0 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x8de66bc0 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xb6f1835f arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x4e46bcae ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x576af64a ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x9f7f3eb4 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x0a816153 nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x4a0a4dc2 nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x7b3b55ae nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x9afbae55 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xbecc09d2 nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xcf0ee89c nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xefaf87e9 nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/tunnel4 0x08b39623 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0x15db17e7 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/ipv6 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL net/ipv6/ipv6 0x129b15a4 xfrm6_rcv_spi +EXPORT_SYMBOL net/ipv6/ipv6 0x29e1554d inet6_del_protocol +EXPORT_SYMBOL net/ipv6/ipv6 0x30123eb5 icmpv6_statistics +EXPORT_SYMBOL net/ipv6/ipv6 0x33812701 compat_ipv6_setsockopt +EXPORT_SYMBOL net/ipv6/ipv6 0x37180373 ipv6_dev_get_saddr +EXPORT_SYMBOL net/ipv6/ipv6 0x3a0ed2b4 xfrm6_input_addr +EXPORT_SYMBOL net/ipv6/ipv6 0x3a384f20 compat_ipv6_getsockopt +EXPORT_SYMBOL net/ipv6/ipv6 0x3b8b8037 ipv6_push_nfrag_opts +EXPORT_SYMBOL net/ipv6/ipv6 0x40d3c49f xfrm6_find_1stfragopt +EXPORT_SYMBOL net/ipv6/ipv6 0x4a8c79d0 ndisc_mc_map +EXPORT_SYMBOL net/ipv6/ipv6 0x50966035 ip6_route_me_harder +EXPORT_SYMBOL net/ipv6/ipv6 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL net/ipv6/ipv6 0x5394f384 inet6_release +EXPORT_SYMBOL net/ipv6/ipv6 0x5cfa8735 ipv6_chk_addr +EXPORT_SYMBOL net/ipv6/ipv6 0x60500769 ip6_route_output +EXPORT_SYMBOL net/ipv6/ipv6 0x7692cda4 ip6_xmit +EXPORT_SYMBOL net/ipv6/ipv6 0x76ae4f05 ndisc_build_skb +EXPORT_SYMBOL net/ipv6/ipv6 0x8380e13b ipv6_setsockopt +EXPORT_SYMBOL net/ipv6/ipv6 0x9ccea86e ipv6_getsockopt +EXPORT_SYMBOL net/ipv6/ipv6 0x9e750323 inet6_register_protosw +EXPORT_SYMBOL net/ipv6/ipv6 0xaa023c75 inet6_add_protocol +EXPORT_SYMBOL net/ipv6/ipv6 0xafaf221d inet6_bind +EXPORT_SYMBOL net/ipv6/ipv6 0xbc018eea icmpv6_send +EXPORT_SYMBOL net/ipv6/ipv6 0xc547d6c7 ip6_frag_match +EXPORT_SYMBOL net/ipv6/ipv6 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL net/ipv6/ipv6 0xd167ea55 ipv6_chk_prefix +EXPORT_SYMBOL net/ipv6/ipv6 0xd6637a19 in6_dev_finish_destroy +EXPORT_SYMBOL net/ipv6/ipv6 0xdd2aaa77 inet6_getname +EXPORT_SYMBOL net/ipv6/ipv6 0xdd4992d6 xfrm6_rcv +EXPORT_SYMBOL net/ipv6/ipv6 0xde152e88 ndisc_send_skb +EXPORT_SYMBOL net/ipv6/ipv6 0xe1a81c3a icmpv6msg_statistics +EXPORT_SYMBOL net/ipv6/ipv6 0xe3b0fb52 rt6_lookup +EXPORT_SYMBOL net/ipv6/ipv6 0xe62730d6 inet6_ioctl +EXPORT_SYMBOL net/ipv6/ipv6 0xe690b8fd __ipv6_isatap_ifid +EXPORT_SYMBOL net/ipv6/ipv6 0xeb4feaa7 xfrm6_prepare_output +EXPORT_SYMBOL net/ipv6/ipv6 0xebee78d1 ip6_frag_init +EXPORT_SYMBOL net/ipv6/ipv6 0xedcc30f1 nf_ip6_checksum +EXPORT_SYMBOL net/ipv6/ipv6 0xf3270b28 inet6_unregister_protosw +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x07928548 ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x214af142 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x3aacd497 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x91d81d68 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb8bddf33 ip6t_ext_hdr +EXPORT_SYMBOL net/ipv6/tunnel6 0x8423bcd1 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0xe6add3d4 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x9cd013f2 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xab14e193 xfrm6_tunnel_free_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xdb1b42d1 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/llc/llc 0x18a78896 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x2ac24e01 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x46390adc llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x556643e3 llc_sap_list_lock +EXPORT_SYMBOL net/llc/llc 0x613367d2 llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0xa42f0d4b llc_sap_close +EXPORT_SYMBOL net/llc/llc 0xcaf1aae6 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0xe94ad1fd llc_sap_open +EXPORT_SYMBOL net/mac80211/mac80211 0x03633302 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x04dbd0d5 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x05be70b8 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x0761911a ieee80211_beacon_get +EXPORT_SYMBOL net/mac80211/mac80211 0x0a286d9d ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x0eaef9ce ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x0f742b1f ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x1a5c276e ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x22044fdc ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x2e78a294 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x338c654f ieee80211_start_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0x38514dd6 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x3c8a151b ieee80211_stop_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0x3e6a90af ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x45ed794f __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x6b622921 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x71a4eab4 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x7e28a83a ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x7e866e80 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x7f54c300 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x80780480 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x8463ace2 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x86a43fef ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x877d60c2 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0x908d06cf ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x998fa10f ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x9b977d70 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xa5f1a71d ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xad5ff299 ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0xb26add67 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0xb2a37f93 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xb8230cd4 ieee80211_get_tkip_key +EXPORT_SYMBOL net/mac80211/mac80211 0xb8e23c9a ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xb9eadfd5 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xbb548fa1 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xc4f74566 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0xccd99d3d __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xd89ae71a ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xdd918fdc __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xe8abe42d ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xf4ade488 ieee80211_alloc_hw +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x1074d551 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x207b1377 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3605cab1 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3d5f5fbb ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4bd60cd4 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x875a3f35 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa1dbc2d8 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa984069f ip_vs_skb_replace +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xbb437fc6 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd28e8d0a register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xf5ae96e4 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xf9e88665 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x6b736ea2 __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xa46f6bb2 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x11a7e662 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x0094f559 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x16a5e826 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x2bd326f4 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x35a65b67 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x401cc284 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x74eed7b9 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x7cbdd337 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x91a18284 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xc3ff5dff xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xec3c8f89 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xef198381 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xf797b58a xt_find_target +EXPORT_SYMBOL net/phonet/phonet 0x13819b1d phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x16acf1b1 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x2394b9b6 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x28ec1245 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x516f5b8a phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x68901752 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x988e1851 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0xebfecffc pn_sock_hash +EXPORT_SYMBOL net/rfkill/rfkill 0x037d996f rfkill_register +EXPORT_SYMBOL net/rfkill/rfkill 0x34b013d8 rfkill_set_hw_state +EXPORT_SYMBOL net/rfkill/rfkill 0x39083de9 rfkill_set_sw_state +EXPORT_SYMBOL net/rfkill/rfkill 0x3b06c84f rfkill_init_sw_state +EXPORT_SYMBOL net/rfkill/rfkill 0x4f04aa7f rfkill_alloc +EXPORT_SYMBOL net/rfkill/rfkill 0x5edf2435 rfkill_set_led_trigger_name +EXPORT_SYMBOL net/rfkill/rfkill 0x8579a570 rfkill_set_states +EXPORT_SYMBOL net/rfkill/rfkill 0xc8aacb75 rfkill_destroy +EXPORT_SYMBOL net/rfkill/rfkill 0xda1086c8 rfkill_get_led_trigger_name +EXPORT_SYMBOL net/rfkill/rfkill 0xda3ad314 rfkill_pause_polling +EXPORT_SYMBOL net/rfkill/rfkill 0xe37e5cb3 rfkill_blocked +EXPORT_SYMBOL net/rfkill/rfkill 0xf2252b21 rfkill_resume_polling +EXPORT_SYMBOL net/rfkill/rfkill 0xf30339ec rfkill_unregister +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x07d58385 rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x23e82060 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x39705ec3 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x3be77e4a rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x51729085 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x58211b84 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x62d72922 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x6b0362f9 rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x6d4d540e rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x8091984a rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xa20de241 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xab6cb788 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xbe69555f rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xc520ec67 rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xf5de4a3e rxrpc_kernel_begin_call +EXPORT_SYMBOL net/sunrpc/sunrpc 0x7ebaeaf2 svc_pool_stats_open +EXPORT_SYMBOL net/tipc/tipc 0x08acf310 tipc_available_nodes +EXPORT_SYMBOL net/tipc/tipc 0x0b074a7b tipc_multicast +EXPORT_SYMBOL net/tipc/tipc 0x10d40fcd tipc_isconnected +EXPORT_SYMBOL net/tipc/tipc 0x1472b270 tipc_disconnect +EXPORT_SYMBOL net/tipc/tipc 0x1479cb03 tipc_deleteport +EXPORT_SYMBOL net/tipc/tipc 0x15b5ecde tipc_set_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x1610711a tipc_forward_buf2name +EXPORT_SYMBOL net/tipc/tipc 0x16f27683 tipc_block_bearer +EXPORT_SYMBOL net/tipc/tipc 0x23daecbd tipc_send +EXPORT_SYMBOL net/tipc/tipc 0x259b74f9 tipc_acknowledge +EXPORT_SYMBOL net/tipc/tipc 0x2727baa8 tipc_send_buf_fast +EXPORT_SYMBOL net/tipc/tipc 0x283153ed tipc_send_buf +EXPORT_SYMBOL net/tipc/tipc 0x310d1bc9 tipc_detach +EXPORT_SYMBOL net/tipc/tipc 0x3712e340 tipc_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x3976041f tipc_set_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x3e93b677 tipc_continue +EXPORT_SYMBOL net/tipc/tipc 0x419b02fc tipc_send2port +EXPORT_SYMBOL net/tipc/tipc 0x4a8b475f tipc_send_buf2name +EXPORT_SYMBOL net/tipc/tipc 0x4b2243c6 tipc_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x4e796163 tipc_get_port +EXPORT_SYMBOL net/tipc/tipc 0x538b228a tipc_withdraw +EXPORT_SYMBOL net/tipc/tipc 0x5637ed44 tipc_get_mode +EXPORT_SYMBOL net/tipc/tipc 0x5c0d4b5c tipc_ref_valid +EXPORT_SYMBOL net/tipc/tipc 0x5f094ef0 tipc_createport_raw +EXPORT_SYMBOL net/tipc/tipc 0x62a681a3 tipc_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0x7fe09882 tipc_register_media +EXPORT_SYMBOL net/tipc/tipc 0x811e4717 tipc_createport +EXPORT_SYMBOL net/tipc/tipc 0x88b73627 tipc_get_addr +EXPORT_SYMBOL net/tipc/tipc 0x94ae9472 tipc_send_buf2port +EXPORT_SYMBOL net/tipc/tipc 0x9c45558e tipc_enable_bearer +EXPORT_SYMBOL net/tipc/tipc 0xa1b42d32 tipc_forward2port +EXPORT_SYMBOL net/tipc/tipc 0xadd203d0 tipc_connect2port +EXPORT_SYMBOL net/tipc/tipc 0xae0103c3 tipc_shutdown +EXPORT_SYMBOL net/tipc/tipc 0xb1f8eacc tipc_send2name +EXPORT_SYMBOL net/tipc/tipc 0xb35b672c tipc_publish +EXPORT_SYMBOL net/tipc/tipc 0xcec8514a tipc_set_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0xcee290be tipc_forward2name +EXPORT_SYMBOL net/tipc/tipc 0xd2002b15 tipc_forward_buf2port +EXPORT_SYMBOL net/tipc/tipc 0xd44731e5 tipc_ownidentity +EXPORT_SYMBOL net/tipc/tipc 0xda7f9d3f tipc_attach +EXPORT_SYMBOL net/tipc/tipc 0xdd546411 tipc_reject_msg +EXPORT_SYMBOL net/tipc/tipc 0xdf5008fc tipc_peer +EXPORT_SYMBOL net/tipc/tipc 0xe4180f3e tipc_recv_msg +EXPORT_SYMBOL net/tipc/tipc 0xe7aece47 tipc_ispublished +EXPORT_SYMBOL net/tipc/tipc 0xeefd49b3 tipc_get_handle +EXPORT_SYMBOL net/tipc/tipc 0xef50a1ef tipc_disable_bearer +EXPORT_SYMBOL net/wimax/wimax 0xab6cb8f2 wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0xdc96c790 wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x00525515 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x07e7ac5a ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x17f98eed cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x2536a1c3 cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0x26f1c401 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x29d77dbc wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x3739cd89 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x376cb7e6 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x37ac8d05 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x4916280c __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x4f61b342 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x53751463 cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0x5cb2034f cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x68515be2 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x68a73f18 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0x68cea3b8 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6b3f0596 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3fddc1 ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x7efac931 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x85dc4385 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x8c35d732 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x919cf48c wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x91a18a10 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x99388f91 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x9b50332a cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xb86bb3ce wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xbba4b29c cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0xbd88662b freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xc146a2e0 cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0xc4e85ec5 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xcb8c9ec8 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xccc291b3 ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0xd5088330 cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xd9031ee4 cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xdae2abae cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xdd6c49c7 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xe167334a cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0xe49f8244 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xee5907db wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0xefe30475 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xf442d2ed wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xf6d69a14 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0xf974c31d cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/lib80211 0x0198a0e4 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x0827a8e6 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x14f721ac lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x230f3ffb lib80211_crypt_deinit_handler +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x4a4e1b9c lib80211_crypt_deinit_entries +EXPORT_SYMBOL net/wireless/lib80211 0x510e9fd8 lib80211_crypt_quiescing +EXPORT_SYMBOL net/wireless/lib80211 0x583cdbb6 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x6cb10585 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x7aa6a587 lib80211_get_crypto_ops +EXPORT_SYMBOL sound/ac97_bus 0xc983bd2d ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0xfa93f4a6 snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x061d30e6 snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x087bde99 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1a724fcc snd_seq_kernel_client_ctl +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x4bb602b4 snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x62a4ba3c 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 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xcac0a3be snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x3a57f235 snd_seq_autoload_unlock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x79de7447 snd_seq_device_register_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0xac3fb5f5 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 0x3b55d387 snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x68b9bd07 snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x7adfa053 snd_midi_event_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x998f2126 snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x9b1825a9 snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xb6327286 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xbc51650a snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe58d6519 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x0ec673d2 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x016f85e0 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x02607df5 snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x2722b345 snd_device_new +EXPORT_SYMBOL sound/core/snd 0x283451e6 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x29eec1aa snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x2ae3deaa release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0x2e2b4a14 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x2e514a6d snd_cards +EXPORT_SYMBOL sound/core/snd 0x33b37313 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x385140d6 snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x39821d8a snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x3a56ef9f snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x3b07090e snd_device_register +EXPORT_SYMBOL sound/core/snd 0x3e77a55b snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x4068a675 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x4261bf94 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4dbc31cf snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0x518bb7f8 copy_from_user_toio +EXPORT_SYMBOL sound/core/snd 0x52485757 snd_component_add +EXPORT_SYMBOL sound/core/snd 0x57fe0e79 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x6288429f snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x721e8b75 snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x78b3fc93 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x7b34c7ee snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x81e72b7d snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0x8811e926 snd_card_free +EXPORT_SYMBOL sound/core/snd 0x8a92789b snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x8aeff769 snd_card_create +EXPORT_SYMBOL sound/core/snd 0x8cfb49a0 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x93a281a6 snd_device_free +EXPORT_SYMBOL sound/core/snd 0x996c3fea snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x9dbbc250 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xa345a92a snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0xa6ac3130 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb6f55ae4 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0xb8f0487f snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0xb98788df snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0xc1514134 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0xc51d8bee snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0xc7a831dc snd_info_register +EXPORT_SYMBOL sound/core/snd 0xd3838e2b snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0xd9563cc7 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0xd9958e9c snd_card_register +EXPORT_SYMBOL sound/core/snd 0xda4ae695 snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0xe20c9214 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0xe243dde3 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0xebcf6b7c snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0xeedc3720 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0xef92e40a snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0xfd774589 _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd-hwdep 0x5a417c1b snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x19cc2ce3 snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x1c08b65a snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x1e37608d snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x1f4b5496 snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0x846eaf8a snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0xc6829020 snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xf104f94c snd_dma_free_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 0x07f37d54 snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0x13008345 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x1cccbfb4 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x28ee6446 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x2cba7bd2 snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x395e287f snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x3c3336b3 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x4117f89f snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x5182f1ea snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x6187e693 snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x66d555ad snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x692b5c9b snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x6f875d3e snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x7077a8ec snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x854ba7ac snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x89e71158 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x8c5a5334 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x9033f52c snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x9185c159 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0x93da5806 snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0x9a373d19 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x9ffea675 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xacd72d49 snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0xb5172335 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbdf12e08 snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xcdfb3721 snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0xd0b9b8b8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0xd929afc8 snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0xdad3ffe5 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xde311e7a snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0xe0f7f995 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0xe51a1c64 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xf08c57e4 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0xf3762a03 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xf5788304 snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0xf763dfc2 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0xf81ab7cc snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1ad9e4de snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x351653f7 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4a8d110f snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x625a4e97 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x79b8b147 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x8c13c4f6 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x90501cb7 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x90d43b86 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa24f837f snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa88f1102 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb3716ad0 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb5855ca4 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb81a236d snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb95e1b8b snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbbeb32f6 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc211368e snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc5b9a8e9 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-timer 0x081934ad snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x2c15dda6 snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0x4b7f39a9 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0x520ddca6 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x5b005d57 snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x7587d269 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0x8b86f16a snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0x9da649ef snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0xa9b2eb0e snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0xac06212a snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0xb43ef85a snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0xd746b2a0 snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0xdb72dedd snd_timer_resolution +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x4bbb7f27 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x8473b159 snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc43a3940 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x04f5c43b snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x54a3d296 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x6cb81ca6 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x9b1a4b5d snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xe6aa23d2 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xefb3e791 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf85358e6 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf93a23bc snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf9a60731 snd_opl3_new +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x0b433d64 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x19eff472 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x3cbbcb60 snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x6b4d8e84 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x8a61cf62 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x99b88ede snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xc4d94720 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xffdbb4c5 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x153216c9 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x1c413b82 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x2b19bd70 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x4bc9c49c snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x701fdbf6 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xf0a0ffaf snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x445032cb snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x5255a9a9 snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x6c011614 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x8dfabbb0 snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xb67389f5 snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xc338fd29 snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xa6ae1e58 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xbb28f9d7 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xbc36caaa snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xc78e9821 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xdd65e2cc snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xfc04abf8 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0xd1b20939 snd_tea575x_init +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0xdf456163 snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x38151de6 snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x68c62b18 snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x8a667144 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xb3d30951 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xd266de53 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x0063f4ca snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x7e9e9ab3 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xb75c72b6 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xf48bd412 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0xf4f1a9fb snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0xf61c10ac snd_i2c_readbytes +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x01888b0c snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x12234acf snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1d6db136 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x23d9e316 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2b0de0ce snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2bb20095 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x394153d6 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x404a932b snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6db96eb5 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x746c92a2 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x85973d02 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8c6dbc5e snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8df3ef3e snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa3984867 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb513349d snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x483c9310 snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x617edc3d snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x744a4b17 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x7faa2701 snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x8f8ec9ec snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa1a18107 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xac69a420 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xf1054598 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xf3933fd6 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0x124f59ba snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x2fe0689b snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x5a56970f snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x7b0f61ad snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x0d7167df snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x2fe6165c snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x4c82a426 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x4ee7b3c8 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xebc7281f snd_trident_stop_voice +EXPORT_SYMBOL sound/soc/codecs/snd-soc-uda134x 0x6ddd9245 uda134x_dai +EXPORT_SYMBOL sound/sound_firmware 0x39e3dd23 mod_firmware_load +EXPORT_SYMBOL sound/soundcore 0x0775602d sound_class +EXPORT_SYMBOL sound/soundcore 0x110cdaa5 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x1ff49db3 register_sound_special +EXPORT_SYMBOL sound/soundcore 0x4efdd599 register_sound_midi +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x9217f2ca register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xcc5505ac register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x1961fa23 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x980f9155 snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xddf734b3 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xeeee5bee snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xf1bf4eaf snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xf45f54eb snd_emux_register +EXPORT_SYMBOL sound/synth/snd-util-mem 0x01e234f2 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x0895e1a9 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x15cfaea4 snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x2ba29873 snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0x45c2abb1 snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x5d2130f4 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xab810f2e __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xb2676a58 snd_util_mem_free +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x4d552600 snd_usb_create_midi_interface +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usb-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL vmlinux 0x00000000 per_cpu__softirq_work_list +EXPORT_SYMBOL vmlinux 0x0009aafc sk_release_kernel +EXPORT_SYMBOL vmlinux 0x0063a36b pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0x006a445d jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x0076a204 d_lookup +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x00ab82e3 neigh_table_init_no_netlink +EXPORT_SYMBOL vmlinux 0x00b152b7 inode_permission +EXPORT_SYMBOL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL vmlinux 0x00e5ca25 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x00fe34f6 register_con_driver +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01020a39 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x01036775 simple_fsync +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x013ea7c6 drm_mmap +EXPORT_SYMBOL vmlinux 0x0179d315 i2c_bit_add_bus +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x01a29157 pci_get_subsys +EXPORT_SYMBOL vmlinux 0x01a4aab6 set_irq_chip_data +EXPORT_SYMBOL vmlinux 0x01cea6ac block_prepare_write +EXPORT_SYMBOL vmlinux 0x01d2482a sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x01ee6c8e dquot_commit +EXPORT_SYMBOL vmlinux 0x01f67911 ___copy_in_user +EXPORT_SYMBOL vmlinux 0x02091847 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x0218e24a register_nls +EXPORT_SYMBOL vmlinux 0x02278a34 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x023c6cd1 thaw_bdev +EXPORT_SYMBOL vmlinux 0x025500a5 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x0282f43b ip_defrag +EXPORT_SYMBOL vmlinux 0x028ef8ec i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x031ee678 xor_niagara_2 +EXPORT_SYMBOL vmlinux 0x0321a629 blk_queue_max_hw_segments +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x0340e0ae schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x038a603f write_one_page +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03ea9cf3 sun4v_hvapi_get +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x0400429e set_irq_chip +EXPORT_SYMBOL vmlinux 0x040126a4 kill_pgrp +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x04244696 locks_copy_lock +EXPORT_SYMBOL vmlinux 0x0431148d dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x0432fe66 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x043b8483 __kfifo_get +EXPORT_SYMBOL vmlinux 0x044812d3 registered_fb +EXPORT_SYMBOL vmlinux 0x044f0d03 simple_transaction_set +EXPORT_SYMBOL vmlinux 0x04688b6a __rta_fill +EXPORT_SYMBOL vmlinux 0x046ee767 ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x0490d890 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x04d16c61 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x04d1efdf find_lock_page +EXPORT_SYMBOL vmlinux 0x04ef8674 bdi_init +EXPORT_SYMBOL vmlinux 0x051255d9 vfs_dq_drop +EXPORT_SYMBOL vmlinux 0x05186ca4 flush_icache_range +EXPORT_SYMBOL vmlinux 0x052643a1 no_llseek +EXPORT_SYMBOL vmlinux 0x05320761 find_get_page +EXPORT_SYMBOL vmlinux 0x0542a1ed invalidate_partition +EXPORT_SYMBOL vmlinux 0x0560fd8f atomic_sub_ret +EXPORT_SYMBOL vmlinux 0x05643bc6 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x056880b8 xfrm_lookup +EXPORT_SYMBOL vmlinux 0x058844fe tcf_exts_change +EXPORT_SYMBOL vmlinux 0x058aa875 ethtool_op_get_flags +EXPORT_SYMBOL vmlinux 0x05c2c37a kmem_cache_create +EXPORT_SYMBOL vmlinux 0x05c5d421 misc_register +EXPORT_SYMBOL vmlinux 0x05c8a7d6 otg_put_transceiver +EXPORT_SYMBOL vmlinux 0x05fe6a0f vfs_writev +EXPORT_SYMBOL vmlinux 0x05fee3c4 pcim_enable_device +EXPORT_SYMBOL vmlinux 0x0612cc51 drm_mm_scan_remove_block +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x062aba95 mempool_free +EXPORT_SYMBOL vmlinux 0x06447d67 blk_init_queue +EXPORT_SYMBOL vmlinux 0x0665bae2 kill_anon_super +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x06862779 napi_frags_finish +EXPORT_SYMBOL vmlinux 0x06a3a1e5 genphy_update_link +EXPORT_SYMBOL vmlinux 0x06a485f2 __krealloc +EXPORT_SYMBOL vmlinux 0x06b09b76 dev_addr_del +EXPORT_SYMBOL vmlinux 0x06c828fb drm_sg_alloc +EXPORT_SYMBOL vmlinux 0x06cd6370 drm_open +EXPORT_SYMBOL vmlinux 0x06dc2e86 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x06ea6adb tcp_read_sock +EXPORT_SYMBOL vmlinux 0x06f969bf pci_device_to_OF_node +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x07021d79 blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x075e6bd4 pci_set_consistent_dma_mask +EXPORT_SYMBOL vmlinux 0x077a8622 tty_write_room +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x0799c50a param_set_ulong +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07acc206 blk_rq_init +EXPORT_SYMBOL vmlinux 0x07bb6617 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x07c68495 __lock_page +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x080bc39d del_gendisk +EXPORT_SYMBOL vmlinux 0x0826b0dc __flush_dcache_range +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x0832d09f pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x0835f277 compat_sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x0836695c drm_sman_takedown +EXPORT_SYMBOL vmlinux 0x087fd580 ip_fragment +EXPORT_SYMBOL vmlinux 0x088ddf1f drm_mm_clean +EXPORT_SYMBOL vmlinux 0x08a9a751 set_security_override +EXPORT_SYMBOL vmlinux 0x08b0f8d3 drm_mode_connector_list_update +EXPORT_SYMBOL vmlinux 0x08c172e5 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x08ced4f2 dquot_acquire +EXPORT_SYMBOL vmlinux 0x08d66a3a warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x08ed0b62 mac_vmode_to_var +EXPORT_SYMBOL vmlinux 0x08f29019 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x09051df7 arp_send +EXPORT_SYMBOL vmlinux 0x092b007a sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x09412917 drm_i2c_encoder_init +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x095bb830 down_interruptible +EXPORT_SYMBOL vmlinux 0x095c746d security_path_rmdir +EXPORT_SYMBOL vmlinux 0x095e33b1 tty_register_device +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09aa1696 ilookup +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x0a0daac0 nonseekable_open +EXPORT_SYMBOL vmlinux 0x0a125f20 drm_ati_pcigart_cleanup +EXPORT_SYMBOL vmlinux 0x0a19f8c5 napi_reuse_skb +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a44b9d1 pci_unmap_sg +EXPORT_SYMBOL vmlinux 0x0a498b9c netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0x0a683639 slow_work_register_user +EXPORT_SYMBOL vmlinux 0x0a735de5 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x0a945acf d_genocide +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0accec3c dma_supported +EXPORT_SYMBOL vmlinux 0x0ae4b77a __lock_buffer +EXPORT_SYMBOL vmlinux 0x0af2303d pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x0b1698f9 neigh_seq_next +EXPORT_SYMBOL vmlinux 0x0b19b0d8 dm_table_get_size +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b1efc74 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x0b3f40b0 bio_free +EXPORT_SYMBOL vmlinux 0x0b554f0c start_tty +EXPORT_SYMBOL vmlinux 0x0b689eb3 inode_setattr +EXPORT_SYMBOL vmlinux 0x0b725d74 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b7d551e journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x0b81b52e nobh_write_end +EXPORT_SYMBOL vmlinux 0x0ba8b9f3 __breadahead +EXPORT_SYMBOL vmlinux 0x0bdc1ce9 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x0be0d79f add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x0bf48498 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x0c7cf91e dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x0c8ef1db xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x0ca40793 key_task_permission +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cbd9cc7 proc_create_data +EXPORT_SYMBOL vmlinux 0x0cc021ba lro_vlan_hwaccel_receive_frags +EXPORT_SYMBOL vmlinux 0x0d0fe2f4 down_trylock +EXPORT_SYMBOL vmlinux 0x0d37801a tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d54a158 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x0d572ca2 vmap +EXPORT_SYMBOL vmlinux 0x0d70cdf3 blk_start_request +EXPORT_SYMBOL vmlinux 0x0d928ace iget5_locked +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0dd9455f per_cpu____cpu_data +EXPORT_SYMBOL vmlinux 0x0ddeb83e input_register_device +EXPORT_SYMBOL vmlinux 0x0de2ce3b blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x0e20cb5e xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x0e34f631 mac_find_mode +EXPORT_SYMBOL vmlinux 0x0e382adb pci_set_dma_mask +EXPORT_SYMBOL vmlinux 0x0e432c5f pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x0e4e7be0 fb_find_mode +EXPORT_SYMBOL vmlinux 0x0e52592a panic +EXPORT_SYMBOL vmlinux 0x0e552dd1 tty_devnum +EXPORT_SYMBOL vmlinux 0x0e713337 sg_init_table +EXPORT_SYMBOL vmlinux 0x0e7a997b xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x0e8bde8b get_super +EXPORT_SYMBOL vmlinux 0x0e90fa58 load_nls +EXPORT_SYMBOL vmlinux 0x0ed41eb1 arp_create +EXPORT_SYMBOL vmlinux 0x0ed5572e dquot_release_reserved_space +EXPORT_SYMBOL vmlinux 0x0ed571b3 genphy_resume +EXPORT_SYMBOL vmlinux 0x0ee5f9f7 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x0eef3fc7 simple_transaction_release +EXPORT_SYMBOL vmlinux 0x0f1ef871 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x0f378a1e ___copy_from_user +EXPORT_SYMBOL vmlinux 0x0f455ad5 skb_seq_read +EXPORT_SYMBOL vmlinux 0x0f590924 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x0f618a7b mb_cache_create +EXPORT_SYMBOL vmlinux 0x0f87f782 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x0fc5e8eb radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0x100339e1 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x1005b094 of_getintprop_default +EXPORT_SYMBOL vmlinux 0x104ce589 nlmsg_notify +EXPORT_SYMBOL vmlinux 0x105e2727 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x108af89e netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x108e8985 param_get_uint +EXPORT_SYMBOL vmlinux 0x10902bf7 insb +EXPORT_SYMBOL vmlinux 0x10994d05 input_unregister_device +EXPORT_SYMBOL vmlinux 0x10b04284 ida_get_new +EXPORT_SYMBOL vmlinux 0x10d29ccb sunserial_console_match +EXPORT_SYMBOL vmlinux 0x10d42264 idr_get_new +EXPORT_SYMBOL vmlinux 0x10e2f46d sock_kfree_s +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x10f87bc5 input_unregister_handler +EXPORT_SYMBOL vmlinux 0x111d7909 sock_no_poll +EXPORT_SYMBOL vmlinux 0x111f67af atomic64_add_ret +EXPORT_SYMBOL vmlinux 0x11217bfa textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x114780e1 blk_recount_segments +EXPORT_SYMBOL vmlinux 0x114ed1ce schedule_work_on +EXPORT_SYMBOL vmlinux 0x115e0614 uart_resume_port +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x117120ec phy_disconnect +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x11953e8f netdev_bonding_change +EXPORT_SYMBOL vmlinux 0x11b6ec36 tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x11b944de sock_wfree +EXPORT_SYMBOL vmlinux 0x121cf3d5 handle_sysrq +EXPORT_SYMBOL vmlinux 0x124e6c8f register_framebuffer +EXPORT_SYMBOL vmlinux 0x1253ceb8 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x1280b871 dentry_open +EXPORT_SYMBOL vmlinux 0x12a6977f skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x12af5625 netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x12b0234f nf_reinject +EXPORT_SYMBOL vmlinux 0x12d09a67 sun4v_hvapi_unregister +EXPORT_SYMBOL vmlinux 0x12e806fe skb_queue_head +EXPORT_SYMBOL vmlinux 0x12ea337e outsb +EXPORT_SYMBOL vmlinux 0x12fa76e0 otg_set_transceiver +EXPORT_SYMBOL vmlinux 0x13143336 slow_work_sleep_till_thread_needed +EXPORT_SYMBOL vmlinux 0x137e670f submit_bio +EXPORT_SYMBOL vmlinux 0x1380a3c0 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x1385526c neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x13896ea3 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x138a78d1 set_current_groups +EXPORT_SYMBOL vmlinux 0x1395bdb3 of_parse_phandle +EXPORT_SYMBOL vmlinux 0x13b6eb57 fb_class +EXPORT_SYMBOL vmlinux 0x13c7f8ce sk_receive_skb +EXPORT_SYMBOL vmlinux 0x140e2053 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x1426217c f_setown +EXPORT_SYMBOL vmlinux 0x142ec69a abort_creds +EXPORT_SYMBOL vmlinux 0x143e997c neigh_update +EXPORT_SYMBOL vmlinux 0x144ac9b1 clip_tbl_hook +EXPORT_SYMBOL vmlinux 0x144ed3a1 dev_base_lock +EXPORT_SYMBOL vmlinux 0x145da290 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x14680538 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x1475f4a7 alloc_netdev_mq +EXPORT_SYMBOL vmlinux 0x147eb095 pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0x14ca47cc ldc_read +EXPORT_SYMBOL vmlinux 0x14cc2b26 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x14f91eba mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0x15001030 security_path_rename +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x1562496d pci_alloc_consistent +EXPORT_SYMBOL vmlinux 0x1568549b truncate_pagecache +EXPORT_SYMBOL vmlinux 0x15fc5e34 key_link +EXPORT_SYMBOL vmlinux 0x15fc81c3 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x163ae6b0 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x163c5e39 twl4030_i2c_read +EXPORT_SYMBOL vmlinux 0x16479e8f panic_notifier_list +EXPORT_SYMBOL vmlinux 0x1657f2af __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x1689e671 pci_dev_driver +EXPORT_SYMBOL vmlinux 0x168a500e inet_csk_accept +EXPORT_SYMBOL vmlinux 0x16a3a583 drm_add_edid_modes +EXPORT_SYMBOL vmlinux 0x16d3f945 __elv_add_request +EXPORT_SYMBOL vmlinux 0x16e911d4 down_write +EXPORT_SYMBOL vmlinux 0x16fa6a29 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x171b43a0 drm_pci_alloc +EXPORT_SYMBOL vmlinux 0x17326e37 netif_napi_add +EXPORT_SYMBOL vmlinux 0x1771170f drm_mm_init +EXPORT_SYMBOL vmlinux 0x17c1eb41 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x17c85a66 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x17da2531 drm_gem_object_alloc +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17e54ae0 of_find_node_with_property +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x187f67e8 dev_change_flags +EXPORT_SYMBOL vmlinux 0x189b6bac memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x18b38e5e __netif_schedule +EXPORT_SYMBOL vmlinux 0x18bef9d9 mdesc_node_by_name +EXPORT_SYMBOL vmlinux 0x18e54219 blk_get_request +EXPORT_SYMBOL vmlinux 0x18e8401d proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x1906309b dquot_release +EXPORT_SYMBOL vmlinux 0x190bb2e0 generic_permission +EXPORT_SYMBOL vmlinux 0x192a252e update_region +EXPORT_SYMBOL vmlinux 0x192f8cab vlan_gro_frags +EXPORT_SYMBOL vmlinux 0x19391763 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x1954f73f audit_log_format +EXPORT_SYMBOL vmlinux 0x1966bf16 down_read_trylock +EXPORT_SYMBOL vmlinux 0x1976bc16 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19a0114a generic_unplug_device +EXPORT_SYMBOL vmlinux 0x19a7856a phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x19fd0908 tcp4_gro_complete +EXPORT_SYMBOL vmlinux 0x1a1628bd skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x1a3505bf bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x1a3583aa pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x1a35bcbc VISenter +EXPORT_SYMBOL vmlinux 0x1a55605b dev_mc_sync +EXPORT_SYMBOL vmlinux 0x1a5b9546 bio_kmalloc +EXPORT_SYMBOL vmlinux 0x1a988716 netlink_broadcast +EXPORT_SYMBOL vmlinux 0x1aa759d0 ns_to_timeval +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1ad9f95a prom_finddevice +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b01babc inet_sendmsg +EXPORT_SYMBOL vmlinux 0x1b1146b1 skb_dequeue +EXPORT_SYMBOL vmlinux 0x1b371a72 key_put +EXPORT_SYMBOL vmlinux 0x1b4b9825 sock_create +EXPORT_SYMBOL vmlinux 0x1b5f6ad6 path_lookup +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b67b754 vlan_gro_receive +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b8f7274 bioset_create +EXPORT_SYMBOL vmlinux 0x1b91d72a read_dev_sector +EXPORT_SYMBOL vmlinux 0x1b9981cc set_irq_wake +EXPORT_SYMBOL vmlinux 0x1bb15aa0 neigh_parms_release +EXPORT_SYMBOL vmlinux 0x1be6d238 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x1be9e13d block_truncate_page +EXPORT_SYMBOL vmlinux 0x1bebec23 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x1c1af916 set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x1c3d1289 vfs_quota_on_mount +EXPORT_SYMBOL vmlinux 0x1c4edf13 pci_get_class +EXPORT_SYMBOL vmlinux 0x1c678d7d skb_dma_map +EXPORT_SYMBOL vmlinux 0x1c6e29de journal_clear_err +EXPORT_SYMBOL vmlinux 0x1c7774fd drm_gem_mmap +EXPORT_SYMBOL vmlinux 0x1c80de9c ip_send_check +EXPORT_SYMBOL vmlinux 0x1c90c18f sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x1c94908f simple_rename +EXPORT_SYMBOL vmlinux 0x1ca2758b generic_block_bmap +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1cdd3b4b skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x1d17852c dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x1d61226a generic_ro_fops +EXPORT_SYMBOL vmlinux 0x1d8f6480 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1e3f86d8 ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x1e4b950d __devm_release_region +EXPORT_SYMBOL vmlinux 0x1e6453aa blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x1e6cf4ef pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e73a411 mb_cache_shrink +EXPORT_SYMBOL vmlinux 0x1e906cc2 get_write_access +EXPORT_SYMBOL vmlinux 0x1ebbf67f i2c_use_client +EXPORT_SYMBOL vmlinux 0x1edc9598 _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x1efdad4f wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x1efe283f __cap_full_set +EXPORT_SYMBOL vmlinux 0x1f072c59 drm_property_add_enum +EXPORT_SYMBOL vmlinux 0x1f11a5c0 igrab +EXPORT_SYMBOL vmlinux 0x1f17e041 vc_resize +EXPORT_SYMBOL vmlinux 0x1f4125ce blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x1f5c0cd6 slow_work_unregister_user +EXPORT_SYMBOL vmlinux 0x1f7cc628 mempool_create +EXPORT_SYMBOL vmlinux 0x1f9bd6bd vfs_link +EXPORT_SYMBOL vmlinux 0x1fa359cf netlink_set_err +EXPORT_SYMBOL vmlinux 0x1fae7a0b wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x1fedf0f4 __request_region +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x2000fa27 drm_gem_vm_close +EXPORT_SYMBOL vmlinux 0x20120c58 skb_trim +EXPORT_SYMBOL vmlinux 0x2014fad2 add_timer +EXPORT_SYMBOL vmlinux 0x20315842 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0x20385c58 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x204857ac proc_dostring +EXPORT_SYMBOL vmlinux 0x20645642 drm_debug +EXPORT_SYMBOL vmlinux 0x20919bb0 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x20be34cb ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x20bf2610 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x20c54967 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x20d75758 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x211eef7f xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x21451ac4 drm_sman_owner_cleanup +EXPORT_SYMBOL vmlinux 0x2147e5e4 sync_inode +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x2168c247 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x217ddd62 bdevname +EXPORT_SYMBOL vmlinux 0x2183a690 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x21920acd xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x21a37a82 dqget +EXPORT_SYMBOL vmlinux 0x21afe23d ldc_map_single +EXPORT_SYMBOL vmlinux 0x21f88ee1 bio_integrity_split +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x224d85b8 vio_ldc_alloc +EXPORT_SYMBOL vmlinux 0x225073d7 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x2253963a drm_mode_probed_add +EXPORT_SYMBOL vmlinux 0x226be11e cdev_add +EXPORT_SYMBOL vmlinux 0x226e86a9 audit_log +EXPORT_SYMBOL vmlinux 0x2288378f system_state +EXPORT_SYMBOL vmlinux 0x229295f8 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x22a320ac blk_register_region +EXPORT_SYMBOL vmlinux 0x22a6e88a i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0x22a73912 __tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22b6533b xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x22c3d947 proc_mkdir +EXPORT_SYMBOL vmlinux 0x23269a13 strict_strtoul +EXPORT_SYMBOL vmlinux 0x2326a178 page_follow_link_light +EXPORT_SYMBOL vmlinux 0x232b52c3 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x234509f3 strncat +EXPORT_SYMBOL vmlinux 0x23493696 drm_encoder_cleanup +EXPORT_SYMBOL vmlinux 0x234db9ba kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x234eafcc iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x2355e36b sk_stream_error +EXPORT_SYMBOL vmlinux 0x238272e3 wireless_send_event +EXPORT_SYMBOL vmlinux 0x23a83e0b xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x23aed54b request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0x23cbd821 vio_conn_reset +EXPORT_SYMBOL vmlinux 0x23d1762b sock_i_uid +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x240a3893 journal_init_dev +EXPORT_SYMBOL vmlinux 0x242016ad pid_task +EXPORT_SYMBOL vmlinux 0x2421ec1b skb_make_writable +EXPORT_SYMBOL vmlinux 0x242f2d92 blk_unplug +EXPORT_SYMBOL vmlinux 0x243e2146 generic_removexattr +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x24686293 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x247b9675 inet_del_protocol +EXPORT_SYMBOL vmlinux 0x2486ccb2 i2c_release_client +EXPORT_SYMBOL vmlinux 0x249e893f ebus_dma_prepare +EXPORT_SYMBOL vmlinux 0x24bd930a outsl +EXPORT_SYMBOL vmlinux 0x24cb51e8 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x24f445d8 of_platform_bus_type +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x251614af udp_poll +EXPORT_SYMBOL vmlinux 0x2546807b per_cpu____irq_regs +EXPORT_SYMBOL vmlinux 0x254a0afb inet_getname +EXPORT_SYMBOL vmlinux 0x255bcd0f task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x2577462b ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x25779e9a tty_throttle +EXPORT_SYMBOL vmlinux 0x257b4a57 udplite_prot +EXPORT_SYMBOL vmlinux 0x257f17f2 block_invalidatepage +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258355b4 fb_find_best_mode +EXPORT_SYMBOL vmlinux 0x25ac99a6 netdev_set_master +EXPORT_SYMBOL vmlinux 0x25b53277 free_task +EXPORT_SYMBOL vmlinux 0x25ba121c mempool_resize +EXPORT_SYMBOL vmlinux 0x25c3dbca prom_nextprop +EXPORT_SYMBOL vmlinux 0x25db74e7 mdesc_node_name +EXPORT_SYMBOL vmlinux 0x25fa6f17 wait_for_completion +EXPORT_SYMBOL vmlinux 0x25ffe8e9 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x26129b22 dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x2613cb60 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x261e6f55 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x262eea91 __up_read +EXPORT_SYMBOL vmlinux 0x26378021 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x263a0aa4 unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x263ee19b sg_init_one +EXPORT_SYMBOL vmlinux 0x263f0801 poll_initwait +EXPORT_SYMBOL vmlinux 0x264103f8 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x265c26fb seq_release +EXPORT_SYMBOL vmlinux 0x267fc65b __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x2684c080 input_free_device +EXPORT_SYMBOL vmlinux 0x26880cd9 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x26ac82f1 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x26ea61ef n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x2704ba24 blk_peek_request +EXPORT_SYMBOL vmlinux 0x271cc07f mem_section +EXPORT_SYMBOL vmlinux 0x271d4835 do_sync_write +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x278cc904 blk_plug_device_unlocked +EXPORT_SYMBOL vmlinux 0x278df0d9 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x27b7f0eb __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x27b81daa xor_niagara_3 +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c61ece qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x27ee3775 __init_rwsem +EXPORT_SYMBOL vmlinux 0x280eae60 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x2831f049 drm_mode_prune_invalid +EXPORT_SYMBOL vmlinux 0x285ac517 strict_strtoll +EXPORT_SYMBOL vmlinux 0x286fc62c drm_mode_detachmode_crtc +EXPORT_SYMBOL vmlinux 0x28763c1a pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x2876a6d3 memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x287a92a1 unregister_nls +EXPORT_SYMBOL vmlinux 0x2893b628 clear_inode +EXPORT_SYMBOL vmlinux 0x28c007fb genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x2916bf63 drm_sman_cleanup +EXPORT_SYMBOL vmlinux 0x29215a38 aio_complete +EXPORT_SYMBOL vmlinux 0x29274685 input_filter_device +EXPORT_SYMBOL vmlinux 0x292a03d4 put_tty_driver +EXPORT_SYMBOL vmlinux 0x294d38f1 elevator_init +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x2961ff60 vfs_readv +EXPORT_SYMBOL vmlinux 0x298009fd skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x2986ff3a phy_start_aneg +EXPORT_SYMBOL vmlinux 0x29916137 flush_dcache_page +EXPORT_SYMBOL vmlinux 0x299a97ae sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x299fd06a xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x29bd4c46 __cap_init_eff_set +EXPORT_SYMBOL vmlinux 0x29d87bdc drm_vblank_cleanup +EXPORT_SYMBOL vmlinux 0x29dac398 drm_mm_search_free +EXPORT_SYMBOL vmlinux 0x29dc4be7 of_console_options +EXPORT_SYMBOL vmlinux 0x29feae76 pci_dev_put +EXPORT_SYMBOL vmlinux 0x2a0b9a98 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x2a381839 genphy_config_advert +EXPORT_SYMBOL vmlinux 0x2a505c3c trap_block +EXPORT_SYMBOL vmlinux 0x2a694c76 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x2a7bb839 mdiobus_alloc +EXPORT_SYMBOL vmlinux 0x2a7c6e1b set_binfmt +EXPORT_SYMBOL vmlinux 0x2a885f7f remove_proc_entry +EXPORT_SYMBOL vmlinux 0x2a8b2fe8 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x2aa105d9 skb_queue_purge +EXPORT_SYMBOL vmlinux 0x2abc50ee stop_tty +EXPORT_SYMBOL vmlinux 0x2b0612ec bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x2b30e930 drm_get_edid +EXPORT_SYMBOL vmlinux 0x2b50d5ad end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x2b5d4342 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x2b69bbdf drm_connector_property_get_value +EXPORT_SYMBOL vmlinux 0x2b6de8ae of_dev_put +EXPORT_SYMBOL vmlinux 0x2b8c8123 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x2b937a6f __ret_efault +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bcb9eb9 file_fsync +EXPORT_SYMBOL vmlinux 0x2bda1e6a neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x2bddc6c4 drm_master_get +EXPORT_SYMBOL vmlinux 0x2c89985b dm_io +EXPORT_SYMBOL vmlinux 0x2cc0a8fb tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x2cc30c27 ps2_command +EXPORT_SYMBOL vmlinux 0x2cf426fb mem_map_zero +EXPORT_SYMBOL vmlinux 0x2d1201a5 sock_no_listen +EXPORT_SYMBOL vmlinux 0x2d1e2345 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x2d2fb068 register_netdev +EXPORT_SYMBOL vmlinux 0x2d4e7439 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0x2d91c3c1 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x2d9687c2 dev_unicast_sync +EXPORT_SYMBOL vmlinux 0x2daa7939 xor_vis_4 +EXPORT_SYMBOL vmlinux 0x2dd2d598 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x2dded4c4 netpoll_poll +EXPORT_SYMBOL vmlinux 0x2e24ad4a __bread +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e2eb5f9 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x2e459d93 __scm_destroy +EXPORT_SYMBOL vmlinux 0x2e4a39f8 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x2e673da0 dev_mc_delete +EXPORT_SYMBOL vmlinux 0x2e73dc71 compat_tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x2e8c57aa blk_queue_max_sectors +EXPORT_SYMBOL vmlinux 0x2eb2f903 drm_sman_free_key +EXPORT_SYMBOL vmlinux 0x2ee04c8e get_sb_single +EXPORT_SYMBOL vmlinux 0x2ef2bffb dmam_pool_create +EXPORT_SYMBOL vmlinux 0x2f27317a secpath_dup +EXPORT_SYMBOL vmlinux 0x2f81d194 unlock_buffer +EXPORT_SYMBOL vmlinux 0x2f889817 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x2f8ff380 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x2fc36b50 of_match_device +EXPORT_SYMBOL vmlinux 0x2fc8a8b2 udp_prot +EXPORT_SYMBOL vmlinux 0x2fc9de4d udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x300b2000 of_find_in_proplist +EXPORT_SYMBOL vmlinux 0x300b3d31 qdisc_destroy +EXPORT_SYMBOL vmlinux 0x30624ff3 arp_broken_ops +EXPORT_SYMBOL vmlinux 0x3074f033 drm_order +EXPORT_SYMBOL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL vmlinux 0x308872d2 d_obtain_alias +EXPORT_SYMBOL vmlinux 0x30c8250a nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x30d670d6 skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x30f78c35 skb_unlink +EXPORT_SYMBOL vmlinux 0x30ffe1f7 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x31121fe1 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x31194191 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x311cd1e0 skb_free_datagram +EXPORT_SYMBOL vmlinux 0x3125f623 dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x312dfea7 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x313bb692 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x316feeb3 __tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x3179e251 skb_under_panic +EXPORT_SYMBOL vmlinux 0x3187170d dev_addr_add +EXPORT_SYMBOL vmlinux 0x3196238a journal_create +EXPORT_SYMBOL vmlinux 0x31a095e3 poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x31a2e826 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x31b0e891 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x31b31f5c csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x31ca571c ethtool_op_get_sg +EXPORT_SYMBOL vmlinux 0x31ebadcd in_group_p +EXPORT_SYMBOL vmlinux 0x31f813d8 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x3201e2bb dev_get_flags +EXPORT_SYMBOL vmlinux 0x32100320 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x323222ba mutex_unlock +EXPORT_SYMBOL vmlinux 0x323cefec copy_from_user_fixup +EXPORT_SYMBOL vmlinux 0x3283bc3d generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x3285767c tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x3285cc48 param_set_uint +EXPORT_SYMBOL vmlinux 0x32a76e21 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x32c74b8a xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x32e9879f uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x33099f80 simple_transaction_get +EXPORT_SYMBOL vmlinux 0x330e70e4 sg_free_table +EXPORT_SYMBOL vmlinux 0x33134f61 jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0x3319e8e5 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x333be43a alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x33456c5c blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x3385d5bf i2c_bit_add_numbered_bus +EXPORT_SYMBOL vmlinux 0x33a8f3fe get_fs_type +EXPORT_SYMBOL vmlinux 0x33c47930 pci_find_bus +EXPORT_SYMBOL vmlinux 0x33e66ee0 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x342dbac3 seq_open_private +EXPORT_SYMBOL vmlinux 0x3457cb68 param_set_long +EXPORT_SYMBOL vmlinux 0x345c4de2 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0x3460da19 skb_gso_segment +EXPORT_SYMBOL vmlinux 0x348b7c71 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34b00b69 ethtool_op_get_ufo +EXPORT_SYMBOL vmlinux 0x34c1b94a cont_write_begin +EXPORT_SYMBOL vmlinux 0x34cfd3cb fb_pan_display +EXPORT_SYMBOL vmlinux 0x351e90b6 drm_core_ioremapfree +EXPORT_SYMBOL vmlinux 0x35235701 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x35237259 bio_integrity_free +EXPORT_SYMBOL vmlinux 0x35313eab sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x3582ed17 vfs_stat +EXPORT_SYMBOL vmlinux 0x358e22da pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x35a62ed5 install_exec_creds +EXPORT_SYMBOL vmlinux 0x35b0650f vsnprintf +EXPORT_SYMBOL vmlinux 0x35c2ba9e refrigerator +EXPORT_SYMBOL vmlinux 0x35c842b8 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x35cdb1c6 ebus_dma_addr +EXPORT_SYMBOL vmlinux 0x35d03500 do_sync_read +EXPORT_SYMBOL vmlinux 0x35d49de7 __napi_complete +EXPORT_SYMBOL vmlinux 0x35da942e generic_delete_inode +EXPORT_SYMBOL vmlinux 0x35eeb355 gen_pool_alloc +EXPORT_SYMBOL vmlinux 0x35fb3fe5 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x36000182 skb_over_panic +EXPORT_SYMBOL vmlinux 0x360b89ff iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x36139a51 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x3639ab5a deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x363b02be lro_receive_frags +EXPORT_SYMBOL vmlinux 0x36816747 pci_dma_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL vmlinux 0x369faa68 generic_show_options +EXPORT_SYMBOL vmlinux 0x36a27d40 sk_free +EXPORT_SYMBOL vmlinux 0x36ad5deb i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x36e47222 remove_wait_queue +EXPORT_SYMBOL vmlinux 0x37097ec5 nla_put +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x375465a7 radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x378c00a7 irq_of_parse_and_map +EXPORT_SYMBOL vmlinux 0x37af6a0a abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37ce3216 slow_work_cancel +EXPORT_SYMBOL vmlinux 0x37d8687e jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x37db507b i2c_master_recv +EXPORT_SYMBOL vmlinux 0x37ee704a netif_rx +EXPORT_SYMBOL vmlinux 0x3827fd93 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x383cdde2 __destroy_inode +EXPORT_SYMBOL vmlinux 0x3849e71a ___pskb_trim +EXPORT_SYMBOL vmlinux 0x38822f97 copy_user_page +EXPORT_SYMBOL vmlinux 0x388d86d6 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38b0c0bc __locks_copy_lock +EXPORT_SYMBOL vmlinux 0x397093ba mdiobus_scan +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x3982ed1b tcp_close +EXPORT_SYMBOL vmlinux 0x39b8fa70 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x39c4ff8e ldc_free_exp_dring +EXPORT_SYMBOL vmlinux 0x3a2204c6 security_netlink_recv +EXPORT_SYMBOL vmlinux 0x3a261bd4 nobh_writepage +EXPORT_SYMBOL vmlinux 0x3a29efec pci_disable_device +EXPORT_SYMBOL vmlinux 0x3a47d7f1 of_match_node +EXPORT_SYMBOL vmlinux 0x3a82a0fb sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x3a9a010e sock_create_lite +EXPORT_SYMBOL vmlinux 0x3a9aa54d clear_bit +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3a9e50be atomic64_sub +EXPORT_SYMBOL vmlinux 0x3aa00ec0 drm_mode_config_init +EXPORT_SYMBOL vmlinux 0x3aa46eb7 of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x3abb132f generic_write_checks +EXPORT_SYMBOL vmlinux 0x3acd3fbd compat_ip_getsockopt +EXPORT_SYMBOL vmlinux 0x3adcc015 input_set_capability +EXPORT_SYMBOL vmlinux 0x3ae73b37 alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x3ae831b6 kref_init +EXPORT_SYMBOL vmlinux 0x3b11ec3a wireless_spy_update +EXPORT_SYMBOL vmlinux 0x3b327125 __napi_schedule +EXPORT_SYMBOL vmlinux 0x3b3fe8cb prom_getsibling +EXPORT_SYMBOL vmlinux 0x3b5097ff drm_mode_connector_detach_encoder +EXPORT_SYMBOL vmlinux 0x3b51a32d call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x3b63ea5b __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x3b741ad0 tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x3ba567a3 pci_request_region +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bd6dc84 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x3beda982 seq_bitmap_list +EXPORT_SYMBOL vmlinux 0x3c180b51 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x3c1c2016 journal_flush +EXPORT_SYMBOL vmlinux 0x3c263bcb jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x3c2c5af5 sprintf +EXPORT_SYMBOL vmlinux 0x3c356f1e atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x3c3a8853 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x3c3bf786 nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x3c4e2397 drm_read +EXPORT_SYMBOL vmlinux 0x3c59953c skb_copy_bits +EXPORT_SYMBOL vmlinux 0x3c63234d get_sb_pseudo +EXPORT_SYMBOL vmlinux 0x3c67a5a5 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x3c72cc76 ldc_alloc_exp_dring +EXPORT_SYMBOL vmlinux 0x3c84bbca __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x3c9a1409 drm_ht_just_insert_please +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3ca93008 blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x3cc0a3bb xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x3cd5fc9b __netdev_alloc_page +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cf4f7f6 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x3cf72f84 genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0x3d0b79a2 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x3d2a19a6 pci_claim_resource +EXPORT_SYMBOL vmlinux 0x3d2ebbd4 get_sb_bdev +EXPORT_SYMBOL vmlinux 0x3d3b65fb __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x3d68bd4b flow_cache_genid +EXPORT_SYMBOL vmlinux 0x3d8728bb memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x3d974e24 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x3da3eea4 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x3db2e258 radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x3dc6d005 dquot_commit_info +EXPORT_SYMBOL vmlinux 0x3dd5c64f nla_reserve +EXPORT_SYMBOL vmlinux 0x3de17e25 brioctl_set +EXPORT_SYMBOL vmlinux 0x3df78b53 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x3e152958 compat_mc_setsockopt +EXPORT_SYMBOL vmlinux 0x3e383385 nf_hooks +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e6caebd add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x3e899c9d blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x3e9718c5 init_net +EXPORT_SYMBOL vmlinux 0x3ea24f60 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x3eb23f68 drm_vblank_init +EXPORT_SYMBOL vmlinux 0x3ed5c845 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3f11b175 simple_release_fs +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f67341e default_llseek +EXPORT_SYMBOL vmlinux 0x3f9afcf4 vfs_fsync +EXPORT_SYMBOL vmlinux 0x3fa03a97 memset +EXPORT_SYMBOL vmlinux 0x3fa913da strspn +EXPORT_SYMBOL vmlinux 0x3fb61f3d sbusfb_compat_ioctl +EXPORT_SYMBOL vmlinux 0x3fb717e8 vio_unregister_driver +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x3ffff568 netlink_ack +EXPORT_SYMBOL vmlinux 0x402693e0 ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x402bc7e5 pci_get_device +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x40735813 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x40c33f3a dev_remove_pack +EXPORT_SYMBOL vmlinux 0x4101bbde param_set_copystring +EXPORT_SYMBOL vmlinux 0x41081e23 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x4108e69a fb_match_mode +EXPORT_SYMBOL vmlinux 0x410af546 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x41166725 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x41179be7 netif_device_attach +EXPORT_SYMBOL vmlinux 0x412ddc0c dcache_lock +EXPORT_SYMBOL vmlinux 0x41344088 param_get_charp +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x41673d09 __serio_register_port +EXPORT_SYMBOL vmlinux 0x416983d9 netdev_fix_features +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41c7705a i2c_clients_command +EXPORT_SYMBOL vmlinux 0x41d35148 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x42124338 of_release_dev +EXPORT_SYMBOL vmlinux 0x42128c4d sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x42224298 sscanf +EXPORT_SYMBOL vmlinux 0x4230073b journal_dirty_data +EXPORT_SYMBOL vmlinux 0x4231a798 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x4232c41d pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x425d6a94 phy_device_free +EXPORT_SYMBOL vmlinux 0x425faacb __downgrade_write +EXPORT_SYMBOL vmlinux 0x42a4bdf2 in_egroup_p +EXPORT_SYMBOL vmlinux 0x42acbf72 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x42df1663 request_key_async +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4333eadb param_set_short +EXPORT_SYMBOL vmlinux 0x434fa55c release_console_sem +EXPORT_SYMBOL vmlinux 0x4356b22c netif_device_detach +EXPORT_SYMBOL vmlinux 0x43821bec ida_get_new_above +EXPORT_SYMBOL vmlinux 0x439090b9 kernel_thread +EXPORT_SYMBOL vmlinux 0x43a47a1a __seq_open_private +EXPORT_SYMBOL vmlinux 0x43a4938f vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x43ab66c3 param_array_get +EXPORT_SYMBOL vmlinux 0x43ba086f netdev_features_change +EXPORT_SYMBOL vmlinux 0x43bea045 auxio_register +EXPORT_SYMBOL vmlinux 0x43c87eb9 netif_notify_peers +EXPORT_SYMBOL vmlinux 0x43dc3f96 drm_mode_create_dithering_property +EXPORT_SYMBOL vmlinux 0x43ec913a put_cmsg +EXPORT_SYMBOL vmlinux 0x43f8d2d6 bio_unmap_user +EXPORT_SYMBOL vmlinux 0x43ff30cd sg_alloc_table +EXPORT_SYMBOL vmlinux 0x440fc53d generic_read_dir +EXPORT_SYMBOL vmlinux 0x44161c19 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x4419d33c journal_get_write_access +EXPORT_SYMBOL vmlinux 0x4431606d tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x4443e520 kmem_ptr_validate +EXPORT_SYMBOL vmlinux 0x444779c4 nla_find +EXPORT_SYMBOL vmlinux 0x4454f584 soft_cursor +EXPORT_SYMBOL vmlinux 0x447adc0e drm_lock_free +EXPORT_SYMBOL vmlinux 0x447f6e1d tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x447f7e18 sun4v_niagara2_getperf +EXPORT_SYMBOL vmlinux 0x44b24dec blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44c214d1 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x44dee11c address_space_init_once +EXPORT_SYMBOL vmlinux 0x44e3205a pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x44e9182d ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x45396182 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x454cbd8e mdesc_release +EXPORT_SYMBOL vmlinux 0x4559d41c misc_deregister +EXPORT_SYMBOL vmlinux 0x455b2d0a fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x45704798 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x4575315d utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x45785871 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x45947727 param_array_set +EXPORT_SYMBOL vmlinux 0x45d506c4 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x45e020c1 mdiobus_free +EXPORT_SYMBOL vmlinux 0x45e11134 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x462d9132 free_netdev +EXPORT_SYMBOL vmlinux 0x462f0442 d_alloc +EXPORT_SYMBOL vmlinux 0x465793ab devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x468cc5cb skb_tx_hash +EXPORT_SYMBOL vmlinux 0x46f0f3c7 close_bdev_exclusive +EXPORT_SYMBOL vmlinux 0x4719ba4e kfifo_free +EXPORT_SYMBOL vmlinux 0x473e89ef unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x479419fa down_read +EXPORT_SYMBOL vmlinux 0x4794f89c __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0x4797aef3 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x479d9ff6 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x47e31bf1 try_to_release_page +EXPORT_SYMBOL vmlinux 0x47f76a18 pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x480a5e0b simple_transaction_read +EXPORT_SYMBOL vmlinux 0x4810ef86 drm_mm_dump_table +EXPORT_SYMBOL vmlinux 0x483222ff inet_addr_type +EXPORT_SYMBOL vmlinux 0x48470f97 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x484cec8e sock_no_getname +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x4860d755 pci_clear_master +EXPORT_SYMBOL vmlinux 0x486b6407 hweight64 +EXPORT_SYMBOL vmlinux 0x48735a96 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x487856a0 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x487dde50 alloc_disk_node +EXPORT_SYMBOL vmlinux 0x489c3b71 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x48c1d080 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x48c5a0ba fb_get_mode +EXPORT_SYMBOL vmlinux 0x48cb9caa drm_lock_take +EXPORT_SYMBOL vmlinux 0x48e1bce9 uart_get_divisor +EXPORT_SYMBOL vmlinux 0x48f9f12d complete_all +EXPORT_SYMBOL vmlinux 0x49439411 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x494c5e3f pci_remove_bus +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x496c11d2 udp_proc_unregister +EXPORT_SYMBOL vmlinux 0x49b9c6b5 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x49c112f8 of_parse_phandles_with_args +EXPORT_SYMBOL vmlinux 0x49e182c0 param_get_string +EXPORT_SYMBOL vmlinux 0x49f21267 open_exec +EXPORT_SYMBOL vmlinux 0x49fdb46f bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x4a0b9ed1 of_find_property +EXPORT_SYMBOL vmlinux 0x4a15ae23 prom_node_has_property +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a483717 bio_endio +EXPORT_SYMBOL vmlinux 0x4a5ca726 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x4a841f2c kthread_create +EXPORT_SYMBOL vmlinux 0x4a87ef0c drm_gtf_mode +EXPORT_SYMBOL vmlinux 0x4a9bb9a1 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x4acd93d3 release_resource +EXPORT_SYMBOL vmlinux 0x4b4acb97 compat_sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x4b587153 of_set_property +EXPORT_SYMBOL vmlinux 0x4b66bb9b rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x4b7a59b1 kobject_init +EXPORT_SYMBOL vmlinux 0x4b8edde9 complete_and_exit +EXPORT_SYMBOL vmlinux 0x4b97882f security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x4b9f3684 kfifo_init +EXPORT_SYMBOL vmlinux 0x4bbb4921 __ps2_command +EXPORT_SYMBOL vmlinux 0x4bc2aefe skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x4bc4ad92 drm_master_put +EXPORT_SYMBOL vmlinux 0x4bc53fa5 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x4be4bd8a tty_kref_put +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c16c0e8 set_create_files_as +EXPORT_SYMBOL vmlinux 0x4c3d9c62 dev_mc_add +EXPORT_SYMBOL vmlinux 0x4c4c956e nla_memcmp +EXPORT_SYMBOL vmlinux 0x4c504ace vfs_quota_enable +EXPORT_SYMBOL vmlinux 0x4c56f2c2 skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0x4c58c063 drm_mode_remove +EXPORT_SYMBOL vmlinux 0x4c75eeb5 unregister_netdev +EXPORT_SYMBOL vmlinux 0x4ca051a8 kernel_connect +EXPORT_SYMBOL vmlinux 0x4ca393ef i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x4cb47e3a dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cbda2bf prom_setprop +EXPORT_SYMBOL vmlinux 0x4cebc82a invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x4d16372d phy_disable_interrupts +EXPORT_SYMBOL vmlinux 0x4d2c678a drm_getsarea +EXPORT_SYMBOL vmlinux 0x4d32c3a1 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x4d366e5f cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x4d472449 generic_write_sync +EXPORT_SYMBOL vmlinux 0x4da0622e tty_vhangup +EXPORT_SYMBOL vmlinux 0x4db4b262 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dda726b match_strlcpy +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e1928e4 bdi_register +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e39c7b9 drm_vblank_count +EXPORT_SYMBOL vmlinux 0x4e41c847 gen_pool_create +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e9dffb5 ip_fast_csum +EXPORT_SYMBOL vmlinux 0x4ec1022e mdiobus_register +EXPORT_SYMBOL vmlinux 0x4ed03247 ebus_dma_enable +EXPORT_SYMBOL vmlinux 0x4edd72f7 block_all_signals +EXPORT_SYMBOL vmlinux 0x4edfb08f sget +EXPORT_SYMBOL vmlinux 0x4f0ea0c0 up +EXPORT_SYMBOL vmlinux 0x4f16bfc1 vfs_set_dqinfo +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f352a29 bdi_destroy +EXPORT_SYMBOL vmlinux 0x4f471299 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x4f67a4aa __module_put_and_exit +EXPORT_SYMBOL vmlinux 0x4f70bf08 framebuffer_release +EXPORT_SYMBOL vmlinux 0x4fd07871 deny_write_access +EXPORT_SYMBOL vmlinux 0x4fd6d171 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4feec817 ilookup5 +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x50242f9d d_add_ci +EXPORT_SYMBOL vmlinux 0x504831c7 tty_insert_flip_string +EXPORT_SYMBOL vmlinux 0x506746b6 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x507b1ac4 napi_skb_finish +EXPORT_SYMBOL vmlinux 0x508f8e52 module_layout +EXPORT_SYMBOL vmlinux 0x509f9bd2 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x50a7484a pci_fixup_device +EXPORT_SYMBOL vmlinux 0x50c4e9b1 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x50d56018 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x50e5e765 __find_get_block +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x51203d2c set_device_ro +EXPORT_SYMBOL vmlinux 0x5130eb86 ethtool_op_get_tso +EXPORT_SYMBOL vmlinux 0x513c837e dev_get_stats +EXPORT_SYMBOL vmlinux 0x51493d94 finish_wait +EXPORT_SYMBOL vmlinux 0x515273ed lro_vlan_hwaccel_receive_skb +EXPORT_SYMBOL vmlinux 0x5158c857 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0x516fb35f security_inode_permission +EXPORT_SYMBOL vmlinux 0x517370a5 km_new_mapping +EXPORT_SYMBOL vmlinux 0x517a1333 security_path_link +EXPORT_SYMBOL vmlinux 0x51a180d1 eth_type_trans +EXPORT_SYMBOL vmlinux 0x51a59832 compat_sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x51c3f8f2 call_usermodehelper_stdinpipe +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51e4fb36 dev_close +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x52043d82 elv_rb_del +EXPORT_SYMBOL vmlinux 0x52046e13 atomic_sub +EXPORT_SYMBOL vmlinux 0x52317895 skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x5234d235 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x52354a0b mutex_trylock +EXPORT_SYMBOL vmlinux 0x5251cae4 prom_getbool +EXPORT_SYMBOL vmlinux 0x5259a423 read_cache_page +EXPORT_SYMBOL vmlinux 0x52760ca9 getnstimeofday +EXPORT_SYMBOL vmlinux 0x527f9ba5 drm_connector_init +EXPORT_SYMBOL vmlinux 0x528c911c del_timer +EXPORT_SYMBOL vmlinux 0x528fc849 netif_rx_ni +EXPORT_SYMBOL vmlinux 0x5290b98f bio_copy_user +EXPORT_SYMBOL vmlinux 0x529c3215 dev_trans_start +EXPORT_SYMBOL vmlinux 0x52a3fe9d idr_pre_get +EXPORT_SYMBOL vmlinux 0x52a540bc con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x52a58c24 ifla_policy +EXPORT_SYMBOL vmlinux 0x52b707ad sock_i_ino +EXPORT_SYMBOL vmlinux 0x52d05913 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x52ebb126 param_get_ushort +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x53351163 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x533903d8 outsw +EXPORT_SYMBOL vmlinux 0x533f4c53 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x53881ffe call_usermodehelper_freeinfo +EXPORT_SYMBOL vmlinux 0x538a6e7a blk_requeue_request +EXPORT_SYMBOL vmlinux 0x53c0767c sk_chk_filter +EXPORT_SYMBOL vmlinux 0x540f3b66 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x541dd98c save_mount_options +EXPORT_SYMBOL vmlinux 0x54290dc9 nla_validate +EXPORT_SYMBOL vmlinux 0x54312b7c mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x547ba4cc km_policy_notify +EXPORT_SYMBOL vmlinux 0x549af924 page_symlink +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54e80cb7 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x5503de52 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0x554129cd journal_start +EXPORT_SYMBOL vmlinux 0x5546bfa4 elv_rb_find +EXPORT_SYMBOL vmlinux 0x554f0a48 groups_alloc +EXPORT_SYMBOL vmlinux 0x556c50d7 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x556db901 xor_vis_5 +EXPORT_SYMBOL vmlinux 0x5573106c set_page_dirty +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55a286bf proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x55c3ef1e init_file +EXPORT_SYMBOL vmlinux 0x55c9d187 register_console +EXPORT_SYMBOL vmlinux 0x55f060ee drm_sman_set_range +EXPORT_SYMBOL vmlinux 0x55f45099 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x5600904f fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x5601937e ns87303_lock +EXPORT_SYMBOL vmlinux 0x5603cf43 do_settimeofday +EXPORT_SYMBOL vmlinux 0x56058815 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x56059a7f blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0x5607b807 drm_gem_object_lookup +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x56342b8f ethtool_op_get_rx_csum +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x5697bfa5 dm_io_client_resize +EXPORT_SYMBOL vmlinux 0x56cda35a sun4v_niagara2_setperf +EXPORT_SYMBOL vmlinux 0x56f38712 schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x570119ce copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x5701fdbd netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x57039770 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x5723a29f console_start +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x57339003 dquot_alloc +EXPORT_SYMBOL vmlinux 0x577f4bff do_BUG +EXPORT_SYMBOL vmlinux 0x57a225f7 ldc_alloc +EXPORT_SYMBOL vmlinux 0x57b1fc5b tcf_register_action +EXPORT_SYMBOL vmlinux 0x57b57ebe jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0x57db7242 mangle_path +EXPORT_SYMBOL vmlinux 0x57f7c686 sparc64_valid_addr_bitmap +EXPORT_SYMBOL vmlinux 0x580830f0 drm_mode_set_name +EXPORT_SYMBOL vmlinux 0x580d0de0 journal_extend +EXPORT_SYMBOL vmlinux 0x582aba95 I_BDEV +EXPORT_SYMBOL vmlinux 0x582fef16 auxio_set_lte +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x58545268 d_splice_alias +EXPORT_SYMBOL vmlinux 0x585f9f55 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x586a03d2 lookup_bdev +EXPORT_SYMBOL vmlinux 0x5874fbfa block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x589f96f7 vfs_get_dqblk +EXPORT_SYMBOL vmlinux 0x58e14a1a file_remove_suid +EXPORT_SYMBOL vmlinux 0x58eb1e65 freeze_bdev +EXPORT_SYMBOL vmlinux 0x58fd3682 compat_nf_setsockopt +EXPORT_SYMBOL vmlinux 0x59000e12 unbind_con_driver +EXPORT_SYMBOL vmlinux 0x59037eeb put_io_context +EXPORT_SYMBOL vmlinux 0x592228fc xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x592d765e generic_fillattr +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x593de916 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x59606a75 idr_init +EXPORT_SYMBOL vmlinux 0x5964e613 fddi_type_trans +EXPORT_SYMBOL vmlinux 0x5995e371 iput +EXPORT_SYMBOL vmlinux 0x59d3f882 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x5a13d4dc d_prune_aliases +EXPORT_SYMBOL vmlinux 0x5a177bc3 dev_unicast_add +EXPORT_SYMBOL vmlinux 0x5a33ede8 journal_force_commit +EXPORT_SYMBOL vmlinux 0x5a34a45c __kmalloc +EXPORT_SYMBOL vmlinux 0x5a5660e5 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x5a5e7ea3 simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x5a623bcb pci_map_sg +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5a8a04f0 simple_set_mnt +EXPORT_SYMBOL vmlinux 0x5a9e8b0b neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x5aa36dff journal_forget +EXPORT_SYMBOL vmlinux 0x5ac0a89c dquot_scan_active +EXPORT_SYMBOL vmlinux 0x5adb5373 set_anon_super +EXPORT_SYMBOL vmlinux 0x5adf93d5 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x5b27bcec sysctl_intvec +EXPORT_SYMBOL vmlinux 0x5b6ee752 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x5b8df286 drm_core_reclaim_buffers +EXPORT_SYMBOL vmlinux 0x5baa5800 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x5bc70758 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x5bccc4f7 pci_request_regions +EXPORT_SYMBOL vmlinux 0x5c1ec489 request_firmware +EXPORT_SYMBOL vmlinux 0x5c4db901 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x5c673bc8 tty_mutex +EXPORT_SYMBOL vmlinux 0x5c7fb4dc get_phy_id +EXPORT_SYMBOL vmlinux 0x5ca4a0a8 dump_fpu +EXPORT_SYMBOL vmlinux 0x5cbb2ff5 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x5cc8e015 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x5cdc3ff0 drm_add_modes_noedid +EXPORT_SYMBOL vmlinux 0x5ce518cc blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x5ce875cf prom_root_node +EXPORT_SYMBOL vmlinux 0x5d0f8e7d drm_mm_takedown +EXPORT_SYMBOL vmlinux 0x5d12b3fc twl4030_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x5d17c6c4 revalidate_disk +EXPORT_SYMBOL vmlinux 0x5d3dc4ed pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x5d40eba8 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x5d4249bf bio_pair_release +EXPORT_SYMBOL vmlinux 0x5d4d0e26 __csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x5d804dde rtnl_unicast +EXPORT_SYMBOL vmlinux 0x5d92e054 kset_unregister +EXPORT_SYMBOL vmlinux 0x5dae54b4 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x5dbbe98e memmove +EXPORT_SYMBOL vmlinux 0x5dbfa6c9 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x5e062d1f bio_split +EXPORT_SYMBOL vmlinux 0x5e0f57e8 remap_pfn_range +EXPORT_SYMBOL vmlinux 0x5e2fdd1a tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x5e60ee7c block_read_full_page +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5e9653f3 backlight_force_update +EXPORT_SYMBOL vmlinux 0x5ea520c5 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x5ea53c9c drm_mm_debug_table +EXPORT_SYMBOL vmlinux 0x5ec0e2a4 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x5eca9af9 drm_mm_scan_add_block +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed52c2d clear_user_page +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5ee0a984 prom_getchild +EXPORT_SYMBOL vmlinux 0x5f412e69 dev_alloc_skb +EXPORT_SYMBOL vmlinux 0x5f4897fd inode_needs_sync +EXPORT_SYMBOL vmlinux 0x5f6f1b62 dma_ops +EXPORT_SYMBOL vmlinux 0x5f9e3a4d input_set_keycode +EXPORT_SYMBOL vmlinux 0x5fe41fa5 seq_path +EXPORT_SYMBOL vmlinux 0x60038eb3 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x6008b49c flush_signals +EXPORT_SYMBOL vmlinux 0x60454471 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0x6047c4da gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x6047e799 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x605c8bde radix_tree_delete +EXPORT_SYMBOL vmlinux 0x60674e66 log_wait_commit +EXPORT_SYMBOL vmlinux 0x6067a146 memcpy +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a0ebad __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60d55b6c replace_mount_options +EXPORT_SYMBOL vmlinux 0x60dadbea devm_ioremap +EXPORT_SYMBOL vmlinux 0x60f7bfa1 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x6101b8e0 tcp_v4_remember_stamp +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x61240d43 __sg_free_table +EXPORT_SYMBOL vmlinux 0x613f9629 get_unmapped_area_prot +EXPORT_SYMBOL vmlinux 0x61429b7a pci_set_master +EXPORT_SYMBOL vmlinux 0x614d0075 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0x615bd222 __inet6_hash +EXPORT_SYMBOL vmlinux 0x61864f8a invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x618d8299 set_notify_swap_entry_free +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x622ffed2 xfrm_bundle_ok +EXPORT_SYMBOL vmlinux 0x625c3e76 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x6278025e per_cpu__ftrace_event_seq +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x62a9293f _clear_page +EXPORT_SYMBOL vmlinux 0x62c9a357 kthread_stop +EXPORT_SYMBOL vmlinux 0x62cc569e cpu_present_mask +EXPORT_SYMBOL vmlinux 0x62d950ae destroy_EII_client +EXPORT_SYMBOL vmlinux 0x62e0404b mark_info_dirty +EXPORT_SYMBOL vmlinux 0x62fe9502 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x6316dc6c pci_get_bus_and_slot +EXPORT_SYMBOL vmlinux 0x6319e061 read_cache_pages +EXPORT_SYMBOL vmlinux 0x6341b4fd __dst_free +EXPORT_SYMBOL vmlinux 0x63442b03 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x6349b3fc __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x634bd152 page_put_link +EXPORT_SYMBOL vmlinux 0x63c77b64 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x63e1c26c tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x640cf638 register_exec_domain +EXPORT_SYMBOL vmlinux 0x6495893c tty_port_init +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64ee7b45 ida_remove +EXPORT_SYMBOL vmlinux 0x64fd72cb pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x65022a24 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x6522e29e vfs_read +EXPORT_SYMBOL vmlinux 0x65346c53 splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0x653e0fb8 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65414e67 dev_valid_name +EXPORT_SYMBOL vmlinux 0x65584b43 blk_end_request_all +EXPORT_SYMBOL vmlinux 0x655e24f7 bmap +EXPORT_SYMBOL vmlinux 0x6566c539 drm_mm_put_block +EXPORT_SYMBOL vmlinux 0x65ab012b security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x65b0a97e _PAGE_IE +EXPORT_SYMBOL vmlinux 0x65c4bc2e default_unplug_io_fn +EXPORT_SYMBOL vmlinux 0x65d3618c sk_reset_timer +EXPORT_SYMBOL vmlinux 0x65df3429 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x65e42c2c generic_file_aio_read +EXPORT_SYMBOL vmlinux 0x65e5f5cd neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x65e8383b eth_header +EXPORT_SYMBOL vmlinux 0x6603e9d3 pci_map_single +EXPORT_SYMBOL vmlinux 0x6604cb04 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x6612bc5f have_submounts +EXPORT_SYMBOL vmlinux 0x661a5783 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x66472b15 dev_gro_receive +EXPORT_SYMBOL vmlinux 0x66741feb rtnl_notify +EXPORT_SYMBOL vmlinux 0x668bf865 seq_write +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x668ddca1 gen_pool_add +EXPORT_SYMBOL vmlinux 0x66929701 phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0x669767a3 arp_xmit +EXPORT_SYMBOL vmlinux 0x669af365 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x669bd932 blk_queue_max_phys_segments +EXPORT_SYMBOL vmlinux 0x66a24ed1 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x66a3646d tcp_make_synack +EXPORT_SYMBOL vmlinux 0x66b0e4ed of_find_node_by_type +EXPORT_SYMBOL vmlinux 0x66b882fc neigh_seq_start +EXPORT_SYMBOL vmlinux 0x66c75a95 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x66cae227 stop_a_enabled +EXPORT_SYMBOL vmlinux 0x66f48445 dm_io_client_create +EXPORT_SYMBOL vmlinux 0x67053080 current_kernel_time +EXPORT_SYMBOL vmlinux 0x672144bd strlcpy +EXPORT_SYMBOL vmlinux 0x674228d7 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0x675070d0 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x6763b5ed path_put +EXPORT_SYMBOL vmlinux 0x67736179 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x677aeb1c key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x677d9770 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x678aa3ba xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x679fec23 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x67b35cf0 test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x67be1d3d cpu_active_mask +EXPORT_SYMBOL vmlinux 0x67f2cee5 udp_table +EXPORT_SYMBOL vmlinux 0x680e8ca0 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x681a2209 should_remove_suid +EXPORT_SYMBOL vmlinux 0x681eff4e bio_put +EXPORT_SYMBOL vmlinux 0x68208fac ldc_map_sg +EXPORT_SYMBOL vmlinux 0x6825f50e vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x682d6157 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x6849d7df inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x6851f4f4 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x68609055 alloc_pci_dev +EXPORT_SYMBOL vmlinux 0x68688b48 tcp_proc_register +EXPORT_SYMBOL vmlinux 0x686a6f2b tcp_connect +EXPORT_SYMBOL vmlinux 0x68899126 ldc_copy +EXPORT_SYMBOL vmlinux 0x6889dd47 generic_setxattr +EXPORT_SYMBOL vmlinux 0x688eee0b generic_listxattr +EXPORT_SYMBOL vmlinux 0x6898f3ea dquot_destroy +EXPORT_SYMBOL vmlinux 0x689e5e3c vfs_quota_sync +EXPORT_SYMBOL vmlinux 0x68b1d1a8 sock_no_connect +EXPORT_SYMBOL vmlinux 0x68bc3c07 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x68c3a4ba drm_i_have_hw_lock +EXPORT_SYMBOL vmlinux 0x68fb74ca timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x68fb770c qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x69010b06 insw +EXPORT_SYMBOL vmlinux 0x690198e6 clocksource_unregister +EXPORT_SYMBOL vmlinux 0x6905b49c journal_update_format +EXPORT_SYMBOL vmlinux 0x6919b059 filp_close +EXPORT_SYMBOL vmlinux 0x6951abed dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x696f7e02 input_event +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x697cb0a0 sysctl_ms_jiffies +EXPORT_SYMBOL vmlinux 0x6980fe91 param_get_int +EXPORT_SYMBOL vmlinux 0x6984db74 mdesc_get_property +EXPORT_SYMBOL vmlinux 0x69927dff try_acquire_console_sem +EXPORT_SYMBOL vmlinux 0x69a2f343 pci_set_power_state +EXPORT_SYMBOL vmlinux 0x69a358a6 iomem_resource +EXPORT_SYMBOL vmlinux 0x69b82fc0 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x69c8c1d5 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x69edaf1c generic_getxattr +EXPORT_SYMBOL vmlinux 0x69fafd0e set_blocksize +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a1f85e5 dm_register_target +EXPORT_SYMBOL vmlinux 0x6a37da0c dev_unicast_delete +EXPORT_SYMBOL vmlinux 0x6a47571d __set_personality +EXPORT_SYMBOL vmlinux 0x6a4c1e6b bioset_free +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a7d80db kernel_bind +EXPORT_SYMBOL vmlinux 0x6a969134 redraw_screen +EXPORT_SYMBOL vmlinux 0x6a9d921b journal_check_used_features +EXPORT_SYMBOL vmlinux 0x6ac786b1 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x6acd349f mdiobus_write +EXPORT_SYMBOL vmlinux 0x6ad065f4 param_set_charp +EXPORT_SYMBOL vmlinux 0x6ade0fcf udp_disconnect +EXPORT_SYMBOL vmlinux 0x6b01688c proto_unregister +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b2af8e2 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b4e5a52 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x6b79346e jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x6b8ea8f0 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x6b98c32e drm_rmmap_locked +EXPORT_SYMBOL vmlinux 0x6ba666f5 qdisc_reset +EXPORT_SYMBOL vmlinux 0x6bb62aab pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x6bbcb1a9 block_write_begin +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bc56c67 radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6c36a5c1 __mutex_init +EXPORT_SYMBOL vmlinux 0x6c39972a ps2_init +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c930c20 tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x6c985967 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x6ca36082 serio_rescan +EXPORT_SYMBOL vmlinux 0x6ca46de1 d_path +EXPORT_SYMBOL vmlinux 0x6cd33df9 inode_init_always +EXPORT_SYMBOL vmlinux 0x6ce3cedc ldc_connect +EXPORT_SYMBOL vmlinux 0x6cec0c43 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x6d0b77fe sysctl_data +EXPORT_SYMBOL vmlinux 0x6d0e3039 vfs_fstatat +EXPORT_SYMBOL vmlinux 0x6d27ef64 __bitmap_empty +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d2d385d pci_restore_state +EXPORT_SYMBOL vmlinux 0x6d2e5837 drm_ut_debug_printk +EXPORT_SYMBOL vmlinux 0x6d609ebb nf_unregister_hook +EXPORT_SYMBOL vmlinux 0x6d62c91b __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d7708da vio_register_driver +EXPORT_SYMBOL vmlinux 0x6d784f76 drm_release +EXPORT_SYMBOL vmlinux 0x6da508d3 rwsem_wake +EXPORT_SYMBOL vmlinux 0x6db640fa blk_plug_device +EXPORT_SYMBOL vmlinux 0x6de375c1 xor_niagara_5 +EXPORT_SYMBOL vmlinux 0x6de6bf83 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6e28655c vfs_write +EXPORT_SYMBOL vmlinux 0x6e2bbf59 vfs_unlink +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e802324 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x6e82e24b keyring_search +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ec2754e ip_setsockopt +EXPORT_SYMBOL vmlinux 0x6edf3858 log_start_commit +EXPORT_SYMBOL vmlinux 0x6f274d88 neigh_destroy +EXPORT_SYMBOL vmlinux 0x6f511064 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x6f65c61b serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x6f9df7d9 splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0x6fc30481 drm_mode_hsync +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fe90089 genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x6fee4a26 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x6ff9fca3 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0x6fff393f time_to_tm +EXPORT_SYMBOL vmlinux 0x7003ed9d tty_hangup +EXPORT_SYMBOL vmlinux 0x701a5ce1 security_path_symlink +EXPORT_SYMBOL vmlinux 0x702462f5 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x702f162c __memscan_generic +EXPORT_SYMBOL vmlinux 0x7032f3fd cdev_alloc +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x70551d51 i2c_transfer +EXPORT_SYMBOL vmlinux 0x70765d1c vfs_lstat +EXPORT_SYMBOL vmlinux 0x7097048d bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0x70a38bf3 journal_errno +EXPORT_SYMBOL vmlinux 0x70b5a794 ldc_write +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70ebc0ae mii_phy_probe +EXPORT_SYMBOL vmlinux 0x70fa1176 bio_alloc +EXPORT_SYMBOL vmlinux 0x710014d1 put_mnt_ns +EXPORT_SYMBOL vmlinux 0x71086c7c drm_rmmap +EXPORT_SYMBOL vmlinux 0x712730a7 __flushw_user +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x7133233e dev_driver_string +EXPORT_SYMBOL vmlinux 0x713412f5 __vlan_hwaccel_rx +EXPORT_SYMBOL vmlinux 0x7164a78d ldc_free +EXPORT_SYMBOL vmlinux 0x716a8e11 bio_map_user +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71757b60 drm_addmap +EXPORT_SYMBOL vmlinux 0x718dff2d dquot_free_inode +EXPORT_SYMBOL vmlinux 0x71921c47 __getblk +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71c02438 sg_next +EXPORT_SYMBOL vmlinux 0x71db061b bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x72000bdb of_set_property_mutex +EXPORT_SYMBOL vmlinux 0x723938d1 kmalloc_caches +EXPORT_SYMBOL vmlinux 0x7242e96d strnchr +EXPORT_SYMBOL vmlinux 0x725fe1ce unload_nls +EXPORT_SYMBOL vmlinux 0x7270561b sock_wake_async +EXPORT_SYMBOL vmlinux 0x72893832 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x728cd4ba i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x72915c7d get_phy_device +EXPORT_SYMBOL vmlinux 0x72936a04 phy_start +EXPORT_SYMBOL vmlinux 0x7299eed4 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x72a685f9 drm_vblank_post_modeset +EXPORT_SYMBOL vmlinux 0x72a733e7 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x72a7d376 kobject_del +EXPORT_SYMBOL vmlinux 0x72c3be87 param_set_byte +EXPORT_SYMBOL vmlinux 0x72d5af61 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x72fd4c90 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x734d4f22 of_find_compatible_node +EXPORT_SYMBOL vmlinux 0x735ef3a6 __invalidate_device +EXPORT_SYMBOL vmlinux 0x736ff831 drm_ati_pcigart_init +EXPORT_SYMBOL vmlinux 0x738e4a79 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x73af9cab elv_abort_queue +EXPORT_SYMBOL vmlinux 0x73e0877a insl +EXPORT_SYMBOL vmlinux 0x74481399 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x744a83d8 simple_sync_file +EXPORT_SYMBOL vmlinux 0x744c0c68 param_get_byte +EXPORT_SYMBOL vmlinux 0x7459373a dquot_drop +EXPORT_SYMBOL vmlinux 0x7471f4c9 send_sig +EXPORT_SYMBOL vmlinux 0x747a3d5a filemap_flush +EXPORT_SYMBOL vmlinux 0x747b7387 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x748a84a4 drm_core_get_reg_ofs +EXPORT_SYMBOL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL vmlinux 0x74bfc369 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x74f4b98e gen_pool_free +EXPORT_SYMBOL vmlinux 0x7531793a fddi_change_mtu +EXPORT_SYMBOL vmlinux 0x75540cf9 uart_suspend_port +EXPORT_SYMBOL vmlinux 0x755a477e __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x756e6992 strnicmp +EXPORT_SYMBOL vmlinux 0x757a0970 clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x757b3ac2 pci_find_capability +EXPORT_SYMBOL vmlinux 0x75bdea12 iommu_area_alloc +EXPORT_SYMBOL vmlinux 0x75c2cf52 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x75e87adc dm_table_get_md +EXPORT_SYMBOL vmlinux 0x75fe8a36 d_instantiate +EXPORT_SYMBOL vmlinux 0x7600a1fe sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x762b3d2d phy_connect +EXPORT_SYMBOL vmlinux 0x7639adf5 unlock_page +EXPORT_SYMBOL vmlinux 0x7644fc01 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0x764bd77c request_resource +EXPORT_SYMBOL vmlinux 0x765c4169 get_fb_unmapped_area +EXPORT_SYMBOL vmlinux 0x76821c83 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x76835b8c drm_mode_attachmode_crtc +EXPORT_SYMBOL vmlinux 0x768d96d3 pci_dev_get +EXPORT_SYMBOL vmlinux 0x76a4ae63 prepare_binprm +EXPORT_SYMBOL vmlinux 0x76a80485 default_file_splice_read +EXPORT_SYMBOL vmlinux 0x76ab8829 journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76c272f3 of_find_matching_node +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d5427e vm_map_ram +EXPORT_SYMBOL vmlinux 0x77079099 ldc_unmap +EXPORT_SYMBOL vmlinux 0x7717e7cf pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x7726fbf5 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x7727efc7 journal_check_available_features +EXPORT_SYMBOL vmlinux 0x77367abb blk_stop_queue +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x77417b25 inet_ioctl +EXPORT_SYMBOL vmlinux 0x775b1478 ldc_disconnect +EXPORT_SYMBOL vmlinux 0x77afc09e drm_connector_property_set_value +EXPORT_SYMBOL vmlinux 0x77cc8a47 inet_stream_connect +EXPORT_SYMBOL vmlinux 0x77cfcfde __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x77d58993 vm_insert_page +EXPORT_SYMBOL vmlinux 0x77d609d2 tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77f3aeab tcp4_gro_receive +EXPORT_SYMBOL vmlinux 0x77fa5d1f ns_to_timespec +EXPORT_SYMBOL vmlinux 0x77fb26a9 bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x784631a1 xfrm_input +EXPORT_SYMBOL vmlinux 0x78479882 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x784915eb drm_mode_vrefresh +EXPORT_SYMBOL vmlinux 0x784a2acf __xfrm_lookup +EXPORT_SYMBOL vmlinux 0x7858820e aio_put_req +EXPORT_SYMBOL vmlinux 0x78ac2615 phy_device_create +EXPORT_SYMBOL vmlinux 0x78b1a12d pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x78be24c3 of_device_is_available +EXPORT_SYMBOL vmlinux 0x78cf2018 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x78dc1705 devm_free_irq +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78f73378 tcp_check_req +EXPORT_SYMBOL vmlinux 0x7905fb28 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0x791064a8 da903x_query_status +EXPORT_SYMBOL vmlinux 0x79235999 bio_sector_offset +EXPORT_SYMBOL vmlinux 0x7942a680 nf_log_packet +EXPORT_SYMBOL vmlinux 0x79441d79 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x7952710c bio_integrity_endio +EXPORT_SYMBOL vmlinux 0x79600d4a wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x79927ace lookup_one_len +EXPORT_SYMBOL vmlinux 0x799627c5 drm_mode_create_dirty_info_property +EXPORT_SYMBOL vmlinux 0x79a85d2d contig_page_data +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79ad224b tasklet_kill +EXPORT_SYMBOL vmlinux 0x79ceee9e vga_get +EXPORT_SYMBOL vmlinux 0x79ff1937 drm_mode_object_find +EXPORT_SYMBOL vmlinux 0x7a1d0eca register_filesystem +EXPORT_SYMBOL vmlinux 0x7a2087c2 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x7a2a837d strict_strtol +EXPORT_SYMBOL vmlinux 0x7a3da573 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a58f927 fb_blank +EXPORT_SYMBOL vmlinux 0x7a619ad1 km_state_notify +EXPORT_SYMBOL vmlinux 0x7a6f2634 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x7a9fac69 cad_pid +EXPORT_SYMBOL vmlinux 0x7aada183 journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x7aba8d2f tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x7ae73de1 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x7b8efda9 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x7b8f4c40 key_create_or_update +EXPORT_SYMBOL vmlinux 0x7bb45016 __blk_run_queue +EXPORT_SYMBOL vmlinux 0x7bc2c258 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x7bcf3daf loop_register_transfer +EXPORT_SYMBOL vmlinux 0x7bd6d92a textsearch_destroy +EXPORT_SYMBOL vmlinux 0x7becf9f2 drm_gem_object_handle_free +EXPORT_SYMBOL vmlinux 0x7bf17cee fb_set_cmap +EXPORT_SYMBOL vmlinux 0x7bff3be7 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x7c109e76 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x7c1cde82 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x7c1fd6c8 drm_mode_equal +EXPORT_SYMBOL vmlinux 0x7c28f052 kfree_skb +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c61340c __release_region +EXPORT_SYMBOL vmlinux 0x7c6b734c sock_map_fd +EXPORT_SYMBOL vmlinux 0x7c6d46e1 __scm_send +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7cb78bde nf_setsockopt +EXPORT_SYMBOL vmlinux 0x7cdbb5a2 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x7cdd615a uart_register_driver +EXPORT_SYMBOL vmlinux 0x7ce430ee drm_get_connector_name +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d3d0ae2 input_close_device +EXPORT_SYMBOL vmlinux 0x7d5d92ea __bforget +EXPORT_SYMBOL vmlinux 0x7d7e89db vio_port_up +EXPORT_SYMBOL vmlinux 0x7d92b531 make_bad_inode +EXPORT_SYMBOL vmlinux 0x7db47355 new_inode +EXPORT_SYMBOL vmlinux 0x7dceceac capable +EXPORT_SYMBOL vmlinux 0x7dd12c60 eth_change_mtu +EXPORT_SYMBOL vmlinux 0x7df2b528 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x7e07e308 elevator_exit +EXPORT_SYMBOL vmlinux 0x7e0ca60b pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x7e1eb1a7 input_get_keycode +EXPORT_SYMBOL vmlinux 0x7e27480b request_key +EXPORT_SYMBOL vmlinux 0x7e9ac953 iget_locked +EXPORT_SYMBOL vmlinux 0x7ebb7da8 neigh_table_init +EXPORT_SYMBOL vmlinux 0x7ec2d165 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x7ec87c53 elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0x7ec9bfbc strncpy +EXPORT_SYMBOL vmlinux 0x7ecd148f fb_set_var +EXPORT_SYMBOL vmlinux 0x7edb9da5 drm_mode_config_cleanup +EXPORT_SYMBOL vmlinux 0x7ee8ee43 blk_complete_request +EXPORT_SYMBOL vmlinux 0x7efd1033 block_write_end +EXPORT_SYMBOL vmlinux 0x7f174d7a check_disk_change +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f315aa7 unregister_quota_format +EXPORT_SYMBOL vmlinux 0x7f4ebabf security_path_mknod +EXPORT_SYMBOL vmlinux 0x7f56b8f4 module_put +EXPORT_SYMBOL vmlinux 0x7f6ad809 drm_ioctl +EXPORT_SYMBOL vmlinux 0x7f96c58b key_alloc +EXPORT_SYMBOL vmlinux 0x7fbf99ab ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x7fd0e7cf icmp_send +EXPORT_SYMBOL vmlinux 0x7ff877c1 simple_statfs +EXPORT_SYMBOL vmlinux 0x80358347 dev_alloc_name +EXPORT_SYMBOL vmlinux 0x803ef38f __secpath_destroy +EXPORT_SYMBOL vmlinux 0x8046816e do_splice_to +EXPORT_SYMBOL vmlinux 0x804746de inet_release +EXPORT_SYMBOL vmlinux 0x8078b93a tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x807b7089 prom_firstprop +EXPORT_SYMBOL vmlinux 0x807ccce7 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x8085c7b1 prepare_to_wait +EXPORT_SYMBOL vmlinux 0x8096eb27 init_task +EXPORT_SYMBOL vmlinux 0x80a2edd4 single_open +EXPORT_SYMBOL vmlinux 0x80b0c31d drm_clflush_pages +EXPORT_SYMBOL vmlinux 0x80b0c4c4 inet_put_port +EXPORT_SYMBOL vmlinux 0x80bf3bc5 sun4v_niagara_getperf +EXPORT_SYMBOL vmlinux 0x81067e09 km_report +EXPORT_SYMBOL vmlinux 0x814365c7 input_register_handle +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x816db36a tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x8198265a nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x81a14ded bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0x820d225f print_mac +EXPORT_SYMBOL vmlinux 0x8229fce5 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x822ddae2 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x8237df00 drm_fasync +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x8262f64b tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x82692209 kref_set +EXPORT_SYMBOL vmlinux 0x827a4628 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x82acb91b remove_inode_hash +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82ceb533 pci_free_consistent +EXPORT_SYMBOL vmlinux 0x82de01c8 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x82e0f3e9 pci_scan_slot +EXPORT_SYMBOL vmlinux 0x82e52e9d drm_get_encoder_name +EXPORT_SYMBOL vmlinux 0x82e9c083 csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x8344b1ae vga_client_register +EXPORT_SYMBOL vmlinux 0x83459d45 unlock_new_inode +EXPORT_SYMBOL vmlinux 0x836fcf9f journal_wipe +EXPORT_SYMBOL vmlinux 0x8374bd4c blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x8379bcf6 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x837b698b dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x83964cfd pci_select_bars +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83bf9c53 seq_escape +EXPORT_SYMBOL vmlinux 0x83c43dc1 posix_acl_chmod_masq +EXPORT_SYMBOL vmlinux 0x83e9bc93 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x83f4288e uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x83f83273 ether_setup +EXPORT_SYMBOL vmlinux 0x840dea0f get_sb_ns +EXPORT_SYMBOL vmlinux 0x844277cb __pci_register_driver +EXPORT_SYMBOL vmlinux 0x844edcc3 dget_locked +EXPORT_SYMBOL vmlinux 0x846a0427 napi_frags_skb +EXPORT_SYMBOL vmlinux 0x8488f057 fifo_set_limit +EXPORT_SYMBOL vmlinux 0x848de615 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x84987383 tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x84b04b80 d_alloc_name +EXPORT_SYMBOL vmlinux 0x84eb8625 tcf_action_exec +EXPORT_SYMBOL vmlinux 0x84f1f585 xfrm_register_km +EXPORT_SYMBOL vmlinux 0x85212c3c mntput_no_expire +EXPORT_SYMBOL vmlinux 0x853502bb nf_log_register +EXPORT_SYMBOL vmlinux 0x855cb3b1 drm_core_ioremap_wc +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x8582dc7e blk_fetch_request +EXPORT_SYMBOL vmlinux 0x859f135b zero_fill_bio +EXPORT_SYMBOL vmlinux 0x85abc85f strncmp +EXPORT_SYMBOL vmlinux 0x85de09f5 drm_mode_width +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85fadc51 pci_assign_resource +EXPORT_SYMBOL vmlinux 0x8614efe7 skb_store_bits +EXPORT_SYMBOL vmlinux 0x8618ef05 netlink_dump_start +EXPORT_SYMBOL vmlinux 0x8631f188 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x8638a2a9 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86a0faf3 register_sysrq_key +EXPORT_SYMBOL vmlinux 0x86c7146d vfs_fstat +EXPORT_SYMBOL vmlinux 0x86d8a081 cdev_del +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x87052828 pci_pme_active +EXPORT_SYMBOL vmlinux 0x870acde2 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x8716da89 __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x87198f96 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x872927b8 down_timeout +EXPORT_SYMBOL vmlinux 0x872bd087 suncore_mouse_baud_detection +EXPORT_SYMBOL vmlinux 0x874cea7a tcp_prot +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x87b4ecf2 km_query +EXPORT_SYMBOL vmlinux 0x87bb20a0 tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x87cdfb7b inet_accept +EXPORT_SYMBOL vmlinux 0x87d6e7ef drm_detect_hdmi_monitor +EXPORT_SYMBOL vmlinux 0x87dbe5d3 vio_ldc_send +EXPORT_SYMBOL vmlinux 0x87ecb8da ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x87f29adb keyring_clear +EXPORT_SYMBOL vmlinux 0x87ff4ab7 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x882d2a41 sbusfb_ioctl_helper +EXPORT_SYMBOL vmlinux 0x883b24fb sun4v_niagara_setperf +EXPORT_SYMBOL vmlinux 0x8840052c bio_map_kern +EXPORT_SYMBOL vmlinux 0x886aa274 posix_acl_create_masq +EXPORT_SYMBOL vmlinux 0x887b03e1 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0x889bc3df security_task_getsecid +EXPORT_SYMBOL vmlinux 0x88c9157c iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x8902f1af of_console_path +EXPORT_SYMBOL vmlinux 0x891e32b8 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x8955e53b key_revoke +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x89921926 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89d8916a drm_crtc_cleanup +EXPORT_SYMBOL vmlinux 0x8a02bd7c __bio_clone +EXPORT_SYMBOL vmlinux 0x8a1203a9 kref_get +EXPORT_SYMBOL vmlinux 0x8a246390 xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0x8a373fd7 twl4030_i2c_write +EXPORT_SYMBOL vmlinux 0x8a41875c netpoll_setup +EXPORT_SYMBOL vmlinux 0x8a4938a1 xfrm_init_state +EXPORT_SYMBOL vmlinux 0x8a7ce0df vio_link_state_change +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a98e3c6 kernel_listen +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8ab846b6 unlock_super +EXPORT_SYMBOL vmlinux 0x8ac40297 iommu_area_free +EXPORT_SYMBOL vmlinux 0x8af48395 skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0x8b0403e6 prom_getproperty +EXPORT_SYMBOL vmlinux 0x8b160a10 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x8b1c58a3 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x8b31db6c get_sb_nodev +EXPORT_SYMBOL vmlinux 0x8b5e32dc __page_symlink +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b7fe311 kmemdup +EXPORT_SYMBOL vmlinux 0x8b846e9b tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x8b922c0f __strnlen_user +EXPORT_SYMBOL vmlinux 0x8baecc72 tcf_hash_search +EXPORT_SYMBOL vmlinux 0x8bb9ea7e sg_miter_start +EXPORT_SYMBOL vmlinux 0x8bbd56d1 inet_frag_evictor +EXPORT_SYMBOL vmlinux 0x8bd313b8 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x8bd5b603 param_get_long +EXPORT_SYMBOL vmlinux 0x8bf87169 __bzero +EXPORT_SYMBOL vmlinux 0x8c021827 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x8c24d884 user_path_at +EXPORT_SYMBOL vmlinux 0x8c302073 alloc_fddidev +EXPORT_SYMBOL vmlinux 0x8c3ebc72 saved_command_line +EXPORT_SYMBOL vmlinux 0x8c52c2da unregister_console +EXPORT_SYMBOL vmlinux 0x8c537c45 posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x8c76271f dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x8c7d281f kernel_accept +EXPORT_SYMBOL vmlinux 0x8c887755 sk_common_release +EXPORT_SYMBOL vmlinux 0x8c948565 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x8cd297c5 con_is_bound +EXPORT_SYMBOL vmlinux 0x8cd8170d netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x8cda7ed4 pipe_lock +EXPORT_SYMBOL vmlinux 0x8cef8e25 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x8d07b947 set_bdi_congested +EXPORT_SYMBOL vmlinux 0x8d0888eb blk_insert_request +EXPORT_SYMBOL vmlinux 0x8d179e42 fget +EXPORT_SYMBOL vmlinux 0x8d1e9aac dquot_free_space +EXPORT_SYMBOL vmlinux 0x8d3894f2 _ctype +EXPORT_SYMBOL vmlinux 0x8d51f4d2 udp_proc_register +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d5642fc wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0x8d8ff492 drm_crtc_init +EXPORT_SYMBOL vmlinux 0x8d94a698 phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x8dd63c21 lease_modify +EXPORT_SYMBOL vmlinux 0x8de65951 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x8df54394 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x8df6e2fa inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x8e0a1902 ip_route_output_key +EXPORT_SYMBOL vmlinux 0x8e0b7743 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x8e3c9cc3 vprintk +EXPORT_SYMBOL vmlinux 0x8e426a7f mod_timer_pending +EXPORT_SYMBOL vmlinux 0x8e763ae1 send_remote_softirq +EXPORT_SYMBOL vmlinux 0x8e7ff8e5 journal_revoke +EXPORT_SYMBOL vmlinux 0x8e879bb7 __vmalloc +EXPORT_SYMBOL vmlinux 0x8e8e5f96 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x8ed64afa security_file_permission +EXPORT_SYMBOL vmlinux 0x8f07d8ca __wait_on_bit +EXPORT_SYMBOL vmlinux 0x8f0b3cbe pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x8f17bc8f simple_unlink +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f4a631e inet_shutdown +EXPORT_SYMBOL vmlinux 0x8f541a06 drm_property_destroy +EXPORT_SYMBOL vmlinux 0x8f6b7950 set_irq_data +EXPORT_SYMBOL vmlinux 0x8f83e6fa netif_carrier_on +EXPORT_SYMBOL vmlinux 0x8f9b86b2 kfifo_alloc +EXPORT_SYMBOL vmlinux 0x8fa0ff24 __blk_end_request +EXPORT_SYMBOL vmlinux 0x8fdee83c simple_write_begin +EXPORT_SYMBOL vmlinux 0x90035333 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x90051cc8 generic_file_llseek_unlocked +EXPORT_SYMBOL vmlinux 0x9010ba78 create_mnt_ns +EXPORT_SYMBOL vmlinux 0x904aa52c bio_add_page +EXPORT_SYMBOL vmlinux 0x90516656 idr_for_each +EXPORT_SYMBOL vmlinux 0x905ae424 vfs_quota_on_path +EXPORT_SYMBOL vmlinux 0x906198f1 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0x9073bb04 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x907a81af phy_enable_interrupts +EXPORT_SYMBOL vmlinux 0x90a0f5dc generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0x91155f15 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0x9117a881 prom_getstring +EXPORT_SYMBOL vmlinux 0x9119b1ac disk_stack_limits +EXPORT_SYMBOL vmlinux 0x913e160a eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x91481982 __ratelimit +EXPORT_SYMBOL vmlinux 0x9150ed71 __put_cred +EXPORT_SYMBOL vmlinux 0x915ebb61 inet_listen +EXPORT_SYMBOL vmlinux 0x91766c09 param_get_ulong +EXPORT_SYMBOL vmlinux 0x918e5cae fb_show_logo +EXPORT_SYMBOL vmlinux 0x9192886a pcim_iomap +EXPORT_SYMBOL vmlinux 0x91c6613e ethtool_op_set_tx_ipv6_csum +EXPORT_SYMBOL vmlinux 0x91fd613b tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x9214ed8a param_get_bool +EXPORT_SYMBOL vmlinux 0x921f4390 atomic_add +EXPORT_SYMBOL vmlinux 0x92392cd9 iov_shorten +EXPORT_SYMBOL vmlinux 0x925953e6 submit_bh +EXPORT_SYMBOL vmlinux 0x92849fad bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x92967c67 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0x92ab6246 genl_register_ops +EXPORT_SYMBOL vmlinux 0x92c12a6a may_umount +EXPORT_SYMBOL vmlinux 0x92ea4ae4 crc32_le +EXPORT_SYMBOL vmlinux 0x92f4ba6a blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0x9322a27a inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x932bd423 idr_remove +EXPORT_SYMBOL vmlinux 0x9332823f block_write_full_page +EXPORT_SYMBOL vmlinux 0x93411f9b fb_set_suspend +EXPORT_SYMBOL vmlinux 0x9357f0f5 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x93742b5a set_disk_ro +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93b35c9b xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x93bb6b2b cdev_init +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x9405bed5 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x940c1104 scm_detach_fds +EXPORT_SYMBOL vmlinux 0x94402077 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x9443289e set_bit +EXPORT_SYMBOL vmlinux 0x94432f94 drm_mode_create_tv_properties +EXPORT_SYMBOL vmlinux 0x94847b23 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94b93d8a tty_set_operations +EXPORT_SYMBOL vmlinux 0x94c5e559 journal_init_inode +EXPORT_SYMBOL vmlinux 0x94d073ed pci_iounmap +EXPORT_SYMBOL vmlinux 0x94dd2728 vio_send_sid +EXPORT_SYMBOL vmlinux 0x94eda1b2 mpage_writepage +EXPORT_SYMBOL vmlinux 0x9501d078 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x950b0b51 test_and_set_bit +EXPORT_SYMBOL vmlinux 0x9514151a _mcount +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x954cbb26 vsprintf +EXPORT_SYMBOL vmlinux 0x957a208f phy_detach +EXPORT_SYMBOL vmlinux 0x9589b679 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x959cbdba dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x95cad1ef vfs_getattr +EXPORT_SYMBOL vmlinux 0x95ceb864 key_update +EXPORT_SYMBOL vmlinux 0x95f2895d sk_run_filter +EXPORT_SYMBOL vmlinux 0x963c6708 cdev_index +EXPORT_SYMBOL vmlinux 0x96715385 phy_print_status +EXPORT_SYMBOL vmlinux 0x967b1c73 phy_register_fixup +EXPORT_SYMBOL vmlinux 0x96948f0f xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x96c4363e ipv4_specific +EXPORT_SYMBOL vmlinux 0x96c8b1d2 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x96d6b875 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x96dc6fd1 dev_unicast_unsync +EXPORT_SYMBOL vmlinux 0x96e50348 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x97100fe0 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0x9710c39f blk_stack_limits +EXPORT_SYMBOL vmlinux 0x97391827 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x973b3359 find_inode_number +EXPORT_SYMBOL vmlinux 0x973fca1c drm_debugfs_remove_files +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x979eb38d __sk_dst_check +EXPORT_SYMBOL vmlinux 0x97e3bfbc __register_chrdev +EXPORT_SYMBOL vmlinux 0x97efd433 lookup_hash +EXPORT_SYMBOL vmlinux 0x97f70158 pipe_to_file +EXPORT_SYMBOL vmlinux 0x9831e854 input_unfilter_device +EXPORT_SYMBOL vmlinux 0x9848c25e journal_destroy +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x9872d116 cmos_regs +EXPORT_SYMBOL vmlinux 0x987a81a2 drm_mode_connector_attach_encoder +EXPORT_SYMBOL vmlinux 0x98c3eba5 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x98f95ba1 lock_may_read +EXPORT_SYMBOL vmlinux 0x98fb34ba seq_open +EXPORT_SYMBOL vmlinux 0x9912445f sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x991e7788 blk_run_queue +EXPORT_SYMBOL vmlinux 0x993d2298 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x994b6b9e kobject_set_name +EXPORT_SYMBOL vmlinux 0x9979468b key_validate +EXPORT_SYMBOL vmlinux 0x997f707f ida_pre_get +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c7a8b8 jbd2_dev_to_name +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99ea12ce panic_blink +EXPORT_SYMBOL vmlinux 0x99ea539c wake_up_process +EXPORT_SYMBOL vmlinux 0x9a015f5e ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x9a15e22a slow_work_enqueue +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a4b431b read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x9a576f8c blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x9aa71e33 drm_addbufs_pci +EXPORT_SYMBOL vmlinux 0x9aa7cce7 poll_freewait +EXPORT_SYMBOL vmlinux 0x9aabc564 crc16 +EXPORT_SYMBOL vmlinux 0x9aacd62b prom_getintdefault +EXPORT_SYMBOL vmlinux 0x9aafc129 lock_rename +EXPORT_SYMBOL vmlinux 0x9adcbcd4 do_truncate +EXPORT_SYMBOL vmlinux 0x9ade1494 seq_bitmap +EXPORT_SYMBOL vmlinux 0x9b241009 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b48420b drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL vmlinux 0x9b58c766 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x9b5a7f3f bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x9b8b8ae2 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9bab62f8 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x9bd82832 skb_pad +EXPORT_SYMBOL vmlinux 0x9bd88f31 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x9bfb1982 pci_map_rom +EXPORT_SYMBOL vmlinux 0x9c012508 fb_parse_edid +EXPORT_SYMBOL vmlinux 0x9c091aaf drm_vblank_off +EXPORT_SYMBOL vmlinux 0x9c0ea3cd memscan +EXPORT_SYMBOL vmlinux 0x9c1b5178 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x9c548a91 input_release_device +EXPORT_SYMBOL vmlinux 0x9c5834a9 rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0x9c6764b3 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x9c7da104 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x9ca92e4c nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x9ca95a0e sort +EXPORT_SYMBOL vmlinux 0x9caa5255 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cc4ba07 __down_read_trylock +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d639fd6 sock_init_data +EXPORT_SYMBOL vmlinux 0x9d6e61b6 sock_register +EXPORT_SYMBOL vmlinux 0x9d99d7c7 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x9da5db03 generic_write_end +EXPORT_SYMBOL vmlinux 0x9db21624 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x9db37875 change_bit +EXPORT_SYMBOL vmlinux 0x9ddf06ce setup_arg_pages +EXPORT_SYMBOL vmlinux 0x9e04dfbe dcache_readdir +EXPORT_SYMBOL vmlinux 0x9e2ae7f5 register_gifconf +EXPORT_SYMBOL vmlinux 0x9e447600 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x9e4835b5 seq_lseek +EXPORT_SYMBOL vmlinux 0x9e771285 _PAGE_E +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ea26c4c down_write_trylock +EXPORT_SYMBOL vmlinux 0x9ea49255 dev_getbyhwaddr +EXPORT_SYMBOL vmlinux 0x9ebd4c04 adjust_resource +EXPORT_SYMBOL vmlinux 0x9edbecae snprintf +EXPORT_SYMBOL vmlinux 0x9eec48e0 pci_dma_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x9eecde16 do_brk +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f2d613e param_set_bool +EXPORT_SYMBOL vmlinux 0x9f34d045 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x9f4d90ad add_disk +EXPORT_SYMBOL vmlinux 0x9f5a2d87 kill_block_super +EXPORT_SYMBOL vmlinux 0x9f6805b6 of_find_node_by_path +EXPORT_SYMBOL vmlinux 0x9f72c2eb init_timer_key +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa1b0b7 journal_restart +EXPORT_SYMBOL vmlinux 0x9fa325c0 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x9fbf0682 ip_mc_rejoin_group +EXPORT_SYMBOL vmlinux 0x9fdbf754 neigh_connected_output +EXPORT_SYMBOL vmlinux 0xa025085b bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0xa033d05a up_read +EXPORT_SYMBOL vmlinux 0xa03523d5 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xa03a68e6 security_inode_init_security +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa0582362 tcp_sendpage +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa07a8d22 sleep_on +EXPORT_SYMBOL vmlinux 0xa09f10e8 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0beb6e3 dev_get_by_index +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0d3d560 ksize +EXPORT_SYMBOL vmlinux 0xa0e8d7eb key_type_keyring +EXPORT_SYMBOL vmlinux 0xa0ebb2ba _PAGE_CACHE +EXPORT_SYMBOL vmlinux 0xa0f1311f blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xa0f26685 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa10162c5 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa13798f8 printk_ratelimit +EXPORT_SYMBOL vmlinux 0xa1401d7a xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xa15313e2 cfb_copyarea +EXPORT_SYMBOL vmlinux 0xa18f4b99 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0xa1959404 pci_reenable_device +EXPORT_SYMBOL vmlinux 0xa19ca792 __kfifo_put +EXPORT_SYMBOL vmlinux 0xa1a407ca __f_setown +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1ba4b95 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1c96bcc sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xa1cea0b8 proc_dointvec +EXPORT_SYMBOL vmlinux 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL vmlinux 0xa1fda55a inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0xa20483ff vio_control_pkt_engine +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa218bf61 complete +EXPORT_SYMBOL vmlinux 0xa25a7c77 dquot_transfer +EXPORT_SYMBOL vmlinux 0xa25b3754 __nla_reserve +EXPORT_SYMBOL vmlinux 0xa25b4198 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0xa2714d86 vfs_create +EXPORT_SYMBOL vmlinux 0xa28e76e6 schedule_work +EXPORT_SYMBOL vmlinux 0xa2928ca7 register_qdisc +EXPORT_SYMBOL vmlinux 0xa2933f76 posix_acl_permission +EXPORT_SYMBOL vmlinux 0xa29b1708 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2dfef89 seq_puts +EXPORT_SYMBOL vmlinux 0xa329f07e register_shrinker +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa33f7c7c nla_strlcpy +EXPORT_SYMBOL vmlinux 0xa34a4aa7 ___copy_to_user +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa3621402 i2c_master_send +EXPORT_SYMBOL vmlinux 0xa39b4cf2 udelay +EXPORT_SYMBOL vmlinux 0xa39c5d29 d_validate +EXPORT_SYMBOL vmlinux 0xa3a1d1eb kobject_add +EXPORT_SYMBOL vmlinux 0xa3a52755 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xa3a75e4a rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0xa3b3adc4 complete_request_key +EXPORT_SYMBOL vmlinux 0xa3ea5063 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0xa41578ab of_device_unregister +EXPORT_SYMBOL vmlinux 0xa444111b ebus_dma_unregister +EXPORT_SYMBOL vmlinux 0xa474e8a6 pci_domain_nr +EXPORT_SYMBOL vmlinux 0xa487a095 lro_receive_skb +EXPORT_SYMBOL vmlinux 0xa497ebbd rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0xa4c5c8d6 sunserial_unregister_minors +EXPORT_SYMBOL vmlinux 0xa4f503e6 generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xa511cbfe tcp_child_process +EXPORT_SYMBOL vmlinux 0xa5237cd6 blk_put_request +EXPORT_SYMBOL vmlinux 0xa5460cc4 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xa56b1c58 dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0xa576c263 generic_find_next_le_bit +EXPORT_SYMBOL vmlinux 0xa5808bbf tasklet_init +EXPORT_SYMBOL vmlinux 0xa5816242 scm_fp_dup +EXPORT_SYMBOL vmlinux 0xa5889259 phy_attach_direct +EXPORT_SYMBOL vmlinux 0xa5890a97 pci_write_vpd +EXPORT_SYMBOL vmlinux 0xa58b6804 nla_parse +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5a86d72 pci_get_slot +EXPORT_SYMBOL vmlinux 0xa5af42ac blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0xa5b9151c release_sock +EXPORT_SYMBOL vmlinux 0xa5e68673 tlb_type +EXPORT_SYMBOL vmlinux 0xa60d6fdd bdev_read_only +EXPORT_SYMBOL vmlinux 0xa65ccc74 drm_sysfs_hotplug_event +EXPORT_SYMBOL vmlinux 0xa68124fa hweight8 +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6afbb50 fb_validate_mode +EXPORT_SYMBOL vmlinux 0xa6d15d2c skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6df3f23 journal_abort +EXPORT_SYMBOL vmlinux 0xa7095226 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xa740cd12 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL vmlinux 0xa760b56c pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0xa7887179 of_n_size_cells +EXPORT_SYMBOL vmlinux 0xa7ba9e5f security_inode_readlink +EXPORT_SYMBOL vmlinux 0xa8061c7a generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0xa8296af1 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xa82a6ef6 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0xa872182c skb_find_text +EXPORT_SYMBOL vmlinux 0xa877e305 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xa8808237 __break_lease +EXPORT_SYMBOL vmlinux 0xa886a958 krealloc +EXPORT_SYMBOL vmlinux 0xa895ef32 devm_iounmap +EXPORT_SYMBOL vmlinux 0xa8a6f639 __check_region +EXPORT_SYMBOL vmlinux 0xa8ba5678 nobh_write_begin +EXPORT_SYMBOL vmlinux 0xa8f16db8 sock_get_timestamp +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa90a768a simple_empty +EXPORT_SYMBOL vmlinux 0xa9111a47 do_gettimeofday +EXPORT_SYMBOL vmlinux 0xa912d0cb pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0xa91351b1 drm_mode_duplicate +EXPORT_SYMBOL vmlinux 0xa924977c sock_create_kern +EXPORT_SYMBOL vmlinux 0xa9272021 skb_push +EXPORT_SYMBOL vmlinux 0xa92f7fa9 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xa9938dc6 ethtool_op_set_sg +EXPORT_SYMBOL vmlinux 0xa99648d0 __down_read +EXPORT_SYMBOL vmlinux 0xa9a87cd6 drm_cvt_mode +EXPORT_SYMBOL vmlinux 0xa9eb6e75 bdget_disk +EXPORT_SYMBOL vmlinux 0xa9f0733b dquot_claim_space +EXPORT_SYMBOL vmlinux 0xa9f1ed23 bit_waitqueue +EXPORT_SYMBOL vmlinux 0xa9f5750d __alloc_skb +EXPORT_SYMBOL vmlinux 0xaa067dc6 fput +EXPORT_SYMBOL vmlinux 0xaa080040 dev_load +EXPORT_SYMBOL vmlinux 0xaa46be5f dmam_free_coherent +EXPORT_SYMBOL vmlinux 0xaab70796 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0xaac28899 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xaac84c5e give_up_console +EXPORT_SYMBOL vmlinux 0xaade5441 dst_discard +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab05f939 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0xab1c8b8a d_move +EXPORT_SYMBOL vmlinux 0xab53b0a8 mempool_alloc +EXPORT_SYMBOL vmlinux 0xab623431 write_cache_pages +EXPORT_SYMBOL vmlinux 0xab894d35 sk_stop_timer +EXPORT_SYMBOL vmlinux 0xab93b634 uart_add_one_port +EXPORT_SYMBOL vmlinux 0xaba9ff34 allocate_resource +EXPORT_SYMBOL vmlinux 0xabb877fe copy_io_context +EXPORT_SYMBOL vmlinux 0xabcb5841 bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0xabcc178f generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabd47787 down_killable +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac29d83b drm_get_resource_len +EXPORT_SYMBOL vmlinux 0xac2dab09 prom_getint +EXPORT_SYMBOL vmlinux 0xac383451 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0xac47aa19 free_buffer_head +EXPORT_SYMBOL vmlinux 0xac54fc9f mempool_destroy +EXPORT_SYMBOL vmlinux 0xac5f113d cpu_all_bits +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac83d2c6 ____pagevec_lru_add +EXPORT_SYMBOL vmlinux 0xac9ca686 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0xacbc6e26 simple_write_end +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xacdeb154 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xace1f0b6 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xace4c8ed tick_ops +EXPORT_SYMBOL vmlinux 0xacec652f ps2_drain +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad19fbbf serio_interrupt +EXPORT_SYMBOL vmlinux 0xad80b701 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0xad8fbcd2 dev_open +EXPORT_SYMBOL vmlinux 0xadb792c2 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xadd123f0 pci_enable_wake +EXPORT_SYMBOL vmlinux 0xae389f56 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0xae395308 per_cpu__vm_event_states +EXPORT_SYMBOL vmlinux 0xae509b39 tcf_hash_create +EXPORT_SYMBOL vmlinux 0xaecbe356 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0xaed013b9 posix_acl_valid +EXPORT_SYMBOL vmlinux 0xaef39ac3 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0xaefffc5e generic_setlease +EXPORT_SYMBOL vmlinux 0xaf29788e drm_sman_init +EXPORT_SYMBOL vmlinux 0xaf40cef0 compat_mc_getsockopt +EXPORT_SYMBOL vmlinux 0xaf4fb324 sk_wait_data +EXPORT_SYMBOL vmlinux 0xaf742753 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0xaf7ac619 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xafa19be4 netdev_state_change +EXPORT_SYMBOL vmlinux 0xafa48eba module_refcount +EXPORT_SYMBOL vmlinux 0xafbacadb tcf_hash_release +EXPORT_SYMBOL vmlinux 0xafc3acb9 fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0xafde1047 compat_tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xafe4788a pci_release_region +EXPORT_SYMBOL vmlinux 0xafe6583b sg_last +EXPORT_SYMBOL vmlinux 0xafe82e10 strcspn +EXPORT_SYMBOL vmlinux 0xaffcd4d2 phy_stop +EXPORT_SYMBOL vmlinux 0xb0028786 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0xb00ef5ac proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xb02932d1 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0xb055d8da posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0xb07c076c __wait_on_buffer +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0c1444c jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xb0c6547f send_sig_info +EXPORT_SYMBOL vmlinux 0xb0cad2f0 serio_reconnect +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0f3a53c find_get_pages_contig +EXPORT_SYMBOL vmlinux 0xb117de50 udp_ioctl +EXPORT_SYMBOL vmlinux 0xb11fa1ce strlcat +EXPORT_SYMBOL vmlinux 0xb148a0b5 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0xb14c68d2 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0xb17c812c i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xb18e02c3 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xb1937702 kernel_getsockname +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1c4b5c2 km_policy_expired +EXPORT_SYMBOL vmlinux 0xb1d7a598 nf_hook_slow +EXPORT_SYMBOL vmlinux 0xb1ff2e39 journal_stop +EXPORT_SYMBOL vmlinux 0xb20610cc skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0xb224fbe2 param_get_short +EXPORT_SYMBOL vmlinux 0xb22fe6a3 netdev_increment_features +EXPORT_SYMBOL vmlinux 0xb2634c59 audit_log_start +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb26c1196 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0xb273eefd bdi_register_dev +EXPORT_SYMBOL vmlinux 0xb27d50c5 d_invalidate +EXPORT_SYMBOL vmlinux 0xb28e6ae9 sg_miter_next +EXPORT_SYMBOL vmlinux 0xb2ce99ad generic_shutdown_super +EXPORT_SYMBOL vmlinux 0xb2d72cc7 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xb2f877aa napi_gro_receive +EXPORT_SYMBOL vmlinux 0xb32558c4 filemap_fault +EXPORT_SYMBOL vmlinux 0xb33f75b4 tty_name +EXPORT_SYMBOL vmlinux 0xb376801a idr_get_new_above +EXPORT_SYMBOL vmlinux 0xb3a16e02 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0xb3a307c6 si_meminfo +EXPORT_SYMBOL vmlinux 0xb3a40b51 bio_clone +EXPORT_SYMBOL vmlinux 0xb3e4e6f9 drm_core_ioremap +EXPORT_SYMBOL vmlinux 0xb3ff1f69 free_pages_exact +EXPORT_SYMBOL vmlinux 0xb40d1182 dev_add_pack +EXPORT_SYMBOL vmlinux 0xb412a941 posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0xb41332fd __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb42453d3 param_get_invbool +EXPORT_SYMBOL vmlinux 0xb435bd66 mdesc_next_arc +EXPORT_SYMBOL vmlinux 0xb436ffa3 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xb4435c21 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0xb4468f80 rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0xb463cf94 mem_map +EXPORT_SYMBOL vmlinux 0xb46411dc tty_check_change +EXPORT_SYMBOL vmlinux 0xb47f414a jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0xb4812306 vga_put +EXPORT_SYMBOL vmlinux 0xb48e6cfb do_mmap_pgoff +EXPORT_SYMBOL vmlinux 0xb4cbb7f2 bio_init +EXPORT_SYMBOL vmlinux 0xb4cd36c3 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0xb4e5debc pneigh_lookup +EXPORT_SYMBOL vmlinux 0xb4e8a001 d_alloc_root +EXPORT_SYMBOL vmlinux 0xb4f04128 security_path_unlink +EXPORT_SYMBOL vmlinux 0xb5044271 vsscanf +EXPORT_SYMBOL vmlinux 0xb51b6a53 nf_register_hook +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb5748f29 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0xb5785468 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0xb57e3d0e put_disk +EXPORT_SYMBOL vmlinux 0xb59978df blk_queue_ordered +EXPORT_SYMBOL vmlinux 0xb59f6ddd vfs_get_dqinfo +EXPORT_SYMBOL vmlinux 0xb5a36b49 arp_find +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5a7e8cd ethtool_op_set_flags +EXPORT_SYMBOL vmlinux 0xb5ba8486 vfs_rmdir +EXPORT_SYMBOL vmlinux 0xb621b186 blk_make_request +EXPORT_SYMBOL vmlinux 0xb62e5730 vfs_quota_on +EXPORT_SYMBOL vmlinux 0xb6556b26 simple_lookup +EXPORT_SYMBOL vmlinux 0xb66efdf5 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xb6724936 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb6825515 bdput +EXPORT_SYMBOL vmlinux 0xb6944f17 make_EII_client +EXPORT_SYMBOL vmlinux 0xb6a2386d kmem_cache_size +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6b1e0d6 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0xb6b56e13 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0xb6bffb99 kstat_irqs_cpu +EXPORT_SYMBOL vmlinux 0xb6c70a7d __wake_up +EXPORT_SYMBOL vmlinux 0xb6dbf0e3 napi_complete +EXPORT_SYMBOL vmlinux 0xb75bb39d simple_dir_operations +EXPORT_SYMBOL vmlinux 0xb76a8a3e kernel_read +EXPORT_SYMBOL vmlinux 0xb772c427 filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0xb7804006 vio_driver_init +EXPORT_SYMBOL vmlinux 0xb798b8e4 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0xb7b8f8df kobject_get +EXPORT_SYMBOL vmlinux 0xb7ccb3c7 twl4030_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xb7e72e6b pipe_unlock +EXPORT_SYMBOL vmlinux 0xb7f2fe36 journal_lock_updates +EXPORT_SYMBOL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL vmlinux 0xb81ad2b0 __serio_register_driver +EXPORT_SYMBOL vmlinux 0xb8404599 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0xb84280b4 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb89b948c drm_put_dev +EXPORT_SYMBOL vmlinux 0xb8a60ad8 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0xb8eff1e5 get_io_context +EXPORT_SYMBOL vmlinux 0xb8f43772 devm_ioport_map +EXPORT_SYMBOL vmlinux 0xb90e0ad8 compat_ip_setsockopt +EXPORT_SYMBOL vmlinux 0xb9132bf4 security_path_mkdir +EXPORT_SYMBOL vmlinux 0xb96532cb __blk_end_request_all +EXPORT_SYMBOL vmlinux 0xb97126fd tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xb97d4c9c mutex_lock +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb9c04f78 prepare_creds +EXPORT_SYMBOL vmlinux 0xb9cc9c90 pci_release_regions +EXPORT_SYMBOL vmlinux 0xb9e1d498 sbus_set_sbus64 +EXPORT_SYMBOL vmlinux 0xba09b838 journal_start_commit +EXPORT_SYMBOL vmlinux 0xba131e1c bdev_stack_limits +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba61c81a end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0xba6ad57f drm_debugfs_create_files +EXPORT_SYMBOL vmlinux 0xba7692b9 drm_mode_create +EXPORT_SYMBOL vmlinux 0xba8f8b68 completion_done +EXPORT_SYMBOL vmlinux 0xba97df24 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0xbaa2782a kstrndup +EXPORT_SYMBOL vmlinux 0xbaaab8ae timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xbad335dd posix_unblock_lock +EXPORT_SYMBOL vmlinux 0xbae1f9bb pci_pme_capable +EXPORT_SYMBOL vmlinux 0xbae35100 tty_port_hangup +EXPORT_SYMBOL vmlinux 0xbaf88db6 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0xbb167766 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb1fad6a flush_delayed_work +EXPORT_SYMBOL vmlinux 0xbb22b429 neigh_table_clear +EXPORT_SYMBOL vmlinux 0xbb46890f may_umount_tree +EXPORT_SYMBOL vmlinux 0xbb551596 iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb5e176f __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xbb6ad99f find_vma +EXPORT_SYMBOL vmlinux 0xbb745878 __neigh_event_send +EXPORT_SYMBOL vmlinux 0xbb7fe2d4 vio_validate_sid +EXPORT_SYMBOL vmlinux 0xbb95deee __brelse +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbb9a85aa clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0xbbaf98cb vfs_mknod +EXPORT_SYMBOL vmlinux 0xbbbed060 dm_unregister_target +EXPORT_SYMBOL vmlinux 0xbbcc2970 inet_add_protocol +EXPORT_SYMBOL vmlinux 0xbbdf9be8 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0xbbe4b8f6 of_device_register +EXPORT_SYMBOL vmlinux 0xbbe64e6e sock_no_accept +EXPORT_SYMBOL vmlinux 0xbbebd7f7 generic_make_request +EXPORT_SYMBOL vmlinux 0xbc2a74de kill_fasync +EXPORT_SYMBOL vmlinux 0xbc4ce3ba pci_set_mwi +EXPORT_SYMBOL vmlinux 0xbc5c067f blk_start_queue +EXPORT_SYMBOL vmlinux 0xbca07ea9 init_special_inode +EXPORT_SYMBOL vmlinux 0xbcdb0cf4 of_phy_connect_fixed_link +EXPORT_SYMBOL vmlinux 0xbd1a4815 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0xbd801405 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xbd914833 phy_attach +EXPORT_SYMBOL vmlinux 0xbda9df74 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbe4d74b0 drm_framebuffer_cleanup +EXPORT_SYMBOL vmlinux 0xbe5c2870 netif_receive_skb +EXPORT_SYMBOL vmlinux 0xbe870e6d nf_register_hooks +EXPORT_SYMBOL vmlinux 0xbe8f3eaa unregister_qdisc +EXPORT_SYMBOL vmlinux 0xbecaede2 console_stop +EXPORT_SYMBOL vmlinux 0xbee18f82 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0xbeeba782 lock_super +EXPORT_SYMBOL vmlinux 0xbeee5d84 mark_page_accessed +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbef4a1a3 single_release +EXPORT_SYMBOL vmlinux 0xbf1c6df1 dquot_reserve_space +EXPORT_SYMBOL vmlinux 0xbf24853d follow_pfn +EXPORT_SYMBOL vmlinux 0xbf37c4fa tty_hung_up_p +EXPORT_SYMBOL vmlinux 0xbf4be8f9 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0xbf52a79f ps2_handle_response +EXPORT_SYMBOL vmlinux 0xbf52c759 kill_litter_super +EXPORT_SYMBOL vmlinux 0xbf6687ed compat_sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xbf689d5a inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf993764 __memscan_zero +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbf9ec3bd drm_get_resource_start +EXPORT_SYMBOL vmlinux 0xbfb5c50a dma_set_mask +EXPORT_SYMBOL vmlinux 0xbfcbfc41 otg_get_transceiver +EXPORT_SYMBOL vmlinux 0xbfd7608c drm_mode_validate_size +EXPORT_SYMBOL vmlinux 0xbfe06909 unregister_binfmt +EXPORT_SYMBOL vmlinux 0xbfe9485c pci_choose_state +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xbffe86fa vfs_dq_quota_on_remount +EXPORT_SYMBOL vmlinux 0xc003c637 __strncpy_from_user +EXPORT_SYMBOL vmlinux 0xc0044724 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xc00f5447 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0xc02425a9 bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0xc03e747e ip_dev_find +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc0638257 drm_exit +EXPORT_SYMBOL vmlinux 0xc070d6a3 filp_open +EXPORT_SYMBOL vmlinux 0xc09651d9 crc32_be +EXPORT_SYMBOL vmlinux 0xc09ec30e pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0b0cb40 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0xc0bb6206 vfs_readlink +EXPORT_SYMBOL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL vmlinux 0xc0d815f5 up_write +EXPORT_SYMBOL vmlinux 0xc0eaab0a dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0xc1244cd6 set_user_nice +EXPORT_SYMBOL vmlinux 0xc14069df in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xc159c89e alloc_file +EXPORT_SYMBOL vmlinux 0xc15e073c generic_find_next_zero_le_bit +EXPORT_SYMBOL vmlinux 0xc1664ed9 skb_pull +EXPORT_SYMBOL vmlinux 0xc189e5d7 drm_i2c_encoder_destroy +EXPORT_SYMBOL vmlinux 0xc18cae9c dquot_initialize +EXPORT_SYMBOL vmlinux 0xc1962c9e wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0xc1b6329b neigh_for_each +EXPORT_SYMBOL vmlinux 0xc1c280cd __devm_request_region +EXPORT_SYMBOL vmlinux 0xc1da14cb inode_set_bytes +EXPORT_SYMBOL vmlinux 0xc1e35e4b of_dev_get +EXPORT_SYMBOL vmlinux 0xc1e3d2c8 generic_file_open +EXPORT_SYMBOL vmlinux 0xc1ee17ca test_and_change_bit +EXPORT_SYMBOL vmlinux 0xc2256fe6 kern_path +EXPORT_SYMBOL vmlinux 0xc22bdbe9 pci_match_id +EXPORT_SYMBOL vmlinux 0xc23177bd get_disk +EXPORT_SYMBOL vmlinux 0xc25616a6 flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc275a2e8 seq_read +EXPORT_SYMBOL vmlinux 0xc2a6dd58 tty_port_close_start +EXPORT_SYMBOL vmlinux 0xc2d49b34 drm_handle_vblank +EXPORT_SYMBOL vmlinux 0xc2d96ca3 of_get_next_child +EXPORT_SYMBOL vmlinux 0xc2e27ad7 of_console_device +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2e8f073 tcp_v4_md5_do_add +EXPORT_SYMBOL vmlinux 0xc2f1e129 tty_unthrottle +EXPORT_SYMBOL vmlinux 0xc2f3e9c5 notify_change +EXPORT_SYMBOL vmlinux 0xc2f4abbc do_splice_from +EXPORT_SYMBOL vmlinux 0xc316b98c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0xc31c9f55 register_key_type +EXPORT_SYMBOL vmlinux 0xc3372624 vfs_quota_disable +EXPORT_SYMBOL vmlinux 0xc353789d proto_register +EXPORT_SYMBOL vmlinux 0xc38c4ca2 PAGE_SHARED +EXPORT_SYMBOL vmlinux 0xc3c78a46 pci_enable_bridges +EXPORT_SYMBOL vmlinux 0xc41338db __register_binfmt +EXPORT_SYMBOL vmlinux 0xc418cde4 invalidate_inodes +EXPORT_SYMBOL vmlinux 0xc48c2dcf nf_getsockopt +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4ee4104 journal_load +EXPORT_SYMBOL vmlinux 0xc4f28ee7 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0xc506707f xfrm_state_update +EXPORT_SYMBOL vmlinux 0xc512b330 pci_bus_type +EXPORT_SYMBOL vmlinux 0xc52f5714 fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0xc55a78c6 pci_save_state +EXPORT_SYMBOL vmlinux 0xc56108a8 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xc56c4d7b tty_shutdown +EXPORT_SYMBOL vmlinux 0xc57f8c82 phy_driver_register +EXPORT_SYMBOL vmlinux 0xc5984a56 inode_change_ok +EXPORT_SYMBOL vmlinux 0xc59ab38c vfs_mkdir +EXPORT_SYMBOL vmlinux 0xc5a1558b xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0xc5cbbdb8 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0xc6184045 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xc6198f33 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xc621b6cf kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xc6327b65 sun4v_chip_type +EXPORT_SYMBOL vmlinux 0xc644679d mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xc64a71dc vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0xc64a7e77 create_proc_entry +EXPORT_SYMBOL vmlinux 0xc64c961b xrlim_allow +EXPORT_SYMBOL vmlinux 0xc663a948 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xc68417f8 blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0xc6a7615d netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xc6b0bcfa inet_frags_init +EXPORT_SYMBOL vmlinux 0xc6b8a3a3 d_rehash +EXPORT_SYMBOL vmlinux 0xc6d91b37 insert_inode_locked +EXPORT_SYMBOL vmlinux 0xc6e0e167 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xc716cadb pcim_pin_device +EXPORT_SYMBOL vmlinux 0xc722227e posix_acl_clone +EXPORT_SYMBOL vmlinux 0xc732124f usb_gadget_unregister_driver +EXPORT_SYMBOL vmlinux 0xc737c2aa find_or_create_page +EXPORT_SYMBOL vmlinux 0xc74044e0 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0xc740c64a memchr +EXPORT_SYMBOL vmlinux 0xc75bca28 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xc77bc5d8 pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a24d76 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7aed207 eth_header_parse +EXPORT_SYMBOL vmlinux 0xc7b0f214 idr_remove_all +EXPORT_SYMBOL vmlinux 0xc7b595f2 atomic64_add +EXPORT_SYMBOL vmlinux 0xc7bc4ac3 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0xc7c06556 call_usermodehelper_setfns +EXPORT_SYMBOL vmlinux 0xc7db49fa tcp_shutdown +EXPORT_SYMBOL vmlinux 0xc7ec28b0 memcmp +EXPORT_SYMBOL vmlinux 0xc8053b23 put_page +EXPORT_SYMBOL vmlinux 0xc8066055 dm_table_get +EXPORT_SYMBOL vmlinux 0xc81c5c45 path_get +EXPORT_SYMBOL vmlinux 0xc8238882 bd_claim +EXPORT_SYMBOL vmlinux 0xc8255344 ip_route_input +EXPORT_SYMBOL vmlinux 0xc83022b9 ip_getsockopt +EXPORT_SYMBOL vmlinux 0xc83abe95 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0xc85775d0 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0xc88d945d simple_fill_super +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8b86529 sock_rfree +EXPORT_SYMBOL vmlinux 0xc8daa269 drm_compat_ioctl +EXPORT_SYMBOL vmlinux 0xc8ded4c0 consume_skb +EXPORT_SYMBOL vmlinux 0xc8e075dd textsearch_unregister +EXPORT_SYMBOL vmlinux 0xc9061fc3 elv_add_request +EXPORT_SYMBOL vmlinux 0xc907c28e input_open_device +EXPORT_SYMBOL vmlinux 0xc9242666 mod_timer +EXPORT_SYMBOL vmlinux 0xc92ae95d tc_classify +EXPORT_SYMBOL vmlinux 0xc95617aa idr_find +EXPORT_SYMBOL vmlinux 0xc971257e vfs_path_lookup +EXPORT_SYMBOL vmlinux 0xc9908d36 blkdev_put +EXPORT_SYMBOL vmlinux 0xc998d641 icmp_err_convert +EXPORT_SYMBOL vmlinux 0xc9a1ab83 drop_super +EXPORT_SYMBOL vmlinux 0xc9b0acd9 register_netdevice +EXPORT_SYMBOL vmlinux 0xc9bf822b journal_get_create_access +EXPORT_SYMBOL vmlinux 0xc9c36120 pci_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0xc9cec07b of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0xc9d35fb4 drm_get_drawable_info +EXPORT_SYMBOL vmlinux 0xc9faaecf drm_do_probe_ddc_edid +EXPORT_SYMBOL vmlinux 0xc9fd40ef blk_integrity_register +EXPORT_SYMBOL vmlinux 0xca348a64 follow_down +EXPORT_SYMBOL vmlinux 0xca409ead set_groups +EXPORT_SYMBOL vmlinux 0xca53908a drm_connector_cleanup +EXPORT_SYMBOL vmlinux 0xca63c5c5 drm_mode_validate_clocks +EXPORT_SYMBOL vmlinux 0xca947c60 ida_destroy +EXPORT_SYMBOL vmlinux 0xca995c3b drm_sysfs_connector_remove +EXPORT_SYMBOL vmlinux 0xca9e9830 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xca9f9dab block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0xcad0e881 blk_init_tags +EXPORT_SYMBOL vmlinux 0xcae99f2b unregister_filesystem +EXPORT_SYMBOL vmlinux 0xcaf37528 backlight_device_register +EXPORT_SYMBOL vmlinux 0xcb3f1356 d_delete +EXPORT_SYMBOL vmlinux 0xcb4540f4 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0xcb51af40 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0xcb64b53b fsync_bdev +EXPORT_SYMBOL vmlinux 0xcb64e8fe __free_pages +EXPORT_SYMBOL vmlinux 0xcb6b55ae drm_init +EXPORT_SYMBOL vmlinux 0xcb6beb40 hweight32 +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb763044 skb_copy +EXPORT_SYMBOL vmlinux 0xcbb9d7db groups_free +EXPORT_SYMBOL vmlinux 0xcbc29f4e gen_new_estimator +EXPORT_SYMBOL vmlinux 0xcbd63017 of_phy_connect +EXPORT_SYMBOL vmlinux 0xcbd6619e get_user_pages +EXPORT_SYMBOL vmlinux 0xcbef845a dput +EXPORT_SYMBOL vmlinux 0xcbfe6008 cap_netlink_recv +EXPORT_SYMBOL vmlinux 0xcc07af75 strnlen +EXPORT_SYMBOL vmlinux 0xcc23eeb8 jbd2_journal_update_format +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc390dc0 ps2_end_command +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5ee3af try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xcc698ca0 seq_release_private +EXPORT_SYMBOL vmlinux 0xcc7c9115 xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcca572ab tty_std_termios +EXPORT_SYMBOL vmlinux 0xccae85a0 register_quota_format +EXPORT_SYMBOL vmlinux 0xccb042d8 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xcce09e76 i2c_register_driver +EXPORT_SYMBOL vmlinux 0xcce813f7 __up_write +EXPORT_SYMBOL vmlinux 0xcd174b28 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0xcd3181df thaw_process +EXPORT_SYMBOL vmlinux 0xcd385c88 mapping_tagged +EXPORT_SYMBOL vmlinux 0xcd42b80c lro_flush_all +EXPORT_SYMBOL vmlinux 0xcd5021de dev_set_mtu +EXPORT_SYMBOL vmlinux 0xcd86ee88 override_creds +EXPORT_SYMBOL vmlinux 0xcd98bd7e unregister_key_type +EXPORT_SYMBOL vmlinux 0xcdbcda53 __down_write +EXPORT_SYMBOL vmlinux 0xcdc3fd2c xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0xcdd240d1 pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0xcdee7b12 serio_unregister_port +EXPORT_SYMBOL vmlinux 0xcdf2eff4 drm_mode_height +EXPORT_SYMBOL vmlinux 0xce288328 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0xce36ded6 sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xce39f28e tcp_v4_md5_do_del +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce63527c filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xce8b5e41 sock_setsockopt +EXPORT_SYMBOL vmlinux 0xced93e0d idr_destroy +EXPORT_SYMBOL vmlinux 0xcee265f5 sk_dst_check +EXPORT_SYMBOL vmlinux 0xcee478b3 arp_tbl +EXPORT_SYMBOL vmlinux 0xcee99880 flush_old_exec +EXPORT_SYMBOL vmlinux 0xcf370779 mpage_readpages +EXPORT_SYMBOL vmlinux 0xcf3db1bc netlink_unicast +EXPORT_SYMBOL vmlinux 0xcf40a85e alloc_disk +EXPORT_SYMBOL vmlinux 0xcf6a4905 dm_table_event +EXPORT_SYMBOL vmlinux 0xcf770ff8 datagram_poll +EXPORT_SYMBOL vmlinux 0xcf905b7a simple_rmdir +EXPORT_SYMBOL vmlinux 0xcfd99463 con_copy_unimap +EXPORT_SYMBOL vmlinux 0xcfe13710 sparc64_get_clock_tick +EXPORT_SYMBOL vmlinux 0xcff53400 kref_put +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd039ab9f drm_framebuffer_init +EXPORT_SYMBOL vmlinux 0xd04dee3f drm_mode_destroy +EXPORT_SYMBOL vmlinux 0xd04e731e per_cpu__kstat +EXPORT_SYMBOL vmlinux 0xd08fa3f0 drm_mode_set_crtcinfo +EXPORT_SYMBOL vmlinux 0xd0be1a2e __memset +EXPORT_SYMBOL vmlinux 0xd0c26643 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0xd0d2a9d9 dcache_dir_close +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd0fa4b47 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xd0fc18bb ip_ct_attach +EXPORT_SYMBOL vmlinux 0xd11a73c9 ebus_dma_register +EXPORT_SYMBOL vmlinux 0xd160b9c8 inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0xd18c4465 i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0xd19231e9 file_update_time +EXPORT_SYMBOL vmlinux 0xd240a67d drm_encoder_init +EXPORT_SYMBOL vmlinux 0xd2465fa4 kernel_sock_ioctl +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 0xd260b816 kobject_put +EXPORT_SYMBOL vmlinux 0xd267e862 skb_checksum_help +EXPORT_SYMBOL vmlinux 0xd28f6415 neigh_compat_output +EXPORT_SYMBOL vmlinux 0xd2901675 security_path_truncate +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd29b5ab5 vio_ldc_free +EXPORT_SYMBOL vmlinux 0xd2f22868 kernel_getsockopt +EXPORT_SYMBOL vmlinux 0xd30063b7 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0xd3028e75 drm_sman_set_manager +EXPORT_SYMBOL vmlinux 0xd306a875 journal_ack_err +EXPORT_SYMBOL vmlinux 0xd3427f73 mempool_create_node +EXPORT_SYMBOL vmlinux 0xd351c540 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xd3527fdd serio_open +EXPORT_SYMBOL vmlinux 0xd35a7bda compat_nf_getsockopt +EXPORT_SYMBOL vmlinux 0xd37dc9d6 cfb_imageblit +EXPORT_SYMBOL vmlinux 0xd3a6bb21 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0xd3af979c memdup_user +EXPORT_SYMBOL vmlinux 0xd3b5760a page_readlink +EXPORT_SYMBOL vmlinux 0xd3f2a994 drm_mm_pre_get +EXPORT_SYMBOL vmlinux 0xd3f4c4e3 ethtool_op_set_tx_hw_csum +EXPORT_SYMBOL vmlinux 0xd3ffab51 drm_ht_remove +EXPORT_SYMBOL vmlinux 0xd4941d23 serio_close +EXPORT_SYMBOL vmlinux 0xd49f1ef6 test_and_clear_bit +EXPORT_SYMBOL vmlinux 0xd4eda0e3 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0xd4f5d2ac tty_port_close_end +EXPORT_SYMBOL vmlinux 0xd50009f2 lock_fb_info +EXPORT_SYMBOL vmlinux 0xd507d0b1 kick_iocb +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd53198de skb_put +EXPORT_SYMBOL vmlinux 0xd54c0b02 skb_checksum +EXPORT_SYMBOL vmlinux 0xd5667615 pskb_copy +EXPORT_SYMBOL vmlinux 0xd56ba0a0 sun4v_hvapi_register +EXPORT_SYMBOL vmlinux 0xd57f2add drm_connector_attach_property +EXPORT_SYMBOL vmlinux 0xd57f8789 iommu_num_pages +EXPORT_SYMBOL vmlinux 0xd5abd02b pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0xd5ad1253 open_by_devnum +EXPORT_SYMBOL vmlinux 0xd5aeb786 vfs_llseek +EXPORT_SYMBOL vmlinux 0xd5c7c61d sysctl_string +EXPORT_SYMBOL vmlinux 0xd5e9098e revert_creds +EXPORT_SYMBOL vmlinux 0xd5edb215 skb_dma_unmap +EXPORT_SYMBOL vmlinux 0xd607cfb1 simple_getattr +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd63296b2 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0xd63d6819 drm_core_get_map_ofs +EXPORT_SYMBOL vmlinux 0xd65a482a ps2_begin_command +EXPORT_SYMBOL vmlinux 0xd66079cd of_get_property +EXPORT_SYMBOL vmlinux 0xd66ea5f9 tcf_hash_check +EXPORT_SYMBOL vmlinux 0xd673c3ed tty_unregister_device +EXPORT_SYMBOL vmlinux 0xd69532ef ebus_dma_request +EXPORT_SYMBOL vmlinux 0xd6a78d08 smp_call_function_single +EXPORT_SYMBOL vmlinux 0xd6a9bce7 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0xd6d68c6b vm_stat +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f0f559 idprom +EXPORT_SYMBOL vmlinux 0xd7021072 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xd7350f62 tcp_ioctl +EXPORT_SYMBOL vmlinux 0xd749e4dd writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0xd7533bb1 devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0xd7588f8f vfs_follow_link +EXPORT_SYMBOL vmlinux 0xd7687369 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0xd76fc183 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd78f1b9e tcf_exts_dump +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd7b014f0 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0xd83791bc nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd870dd61 sk_alloc +EXPORT_SYMBOL vmlinux 0xd8959f23 auxio_set_led +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a813df netif_napi_del +EXPORT_SYMBOL vmlinux 0xd8cff4bb posix_lock_file +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd8e70d61 blkdev_get +EXPORT_SYMBOL vmlinux 0xd8e87f4b simple_readpage +EXPORT_SYMBOL vmlinux 0xd8ef243e ethtool_op_set_tx_csum +EXPORT_SYMBOL vmlinux 0xd8fff16f inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0xd91d03b7 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0xd9242ea3 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0xd92a08e1 vfs_statfs +EXPORT_SYMBOL vmlinux 0xd93adec9 mpage_writepages +EXPORT_SYMBOL vmlinux 0xd95ccc1a skb_recycle_check +EXPORT_SYMBOL vmlinux 0xd9624526 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0xd9662556 vmtruncate +EXPORT_SYMBOL vmlinux 0xd9727ff3 elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd99338f2 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0xd9a34d8b dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xd9db2de0 blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0xda067e42 noop_qdisc +EXPORT_SYMBOL vmlinux 0xda1a7335 kasprintf +EXPORT_SYMBOL vmlinux 0xda24667f kernel_sendpage +EXPORT_SYMBOL vmlinux 0xda3cb8b1 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0xda3d2c3c prom_feval +EXPORT_SYMBOL vmlinux 0xda4629e4 radix_tree_insert +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda864409 pci_dma_supported +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xda8b5096 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xda8b714d __kfree_skb +EXPORT_SYMBOL vmlinux 0xda90890a tcp_hashinfo +EXPORT_SYMBOL vmlinux 0xdaa2a3df neigh_ifdown +EXPORT_SYMBOL vmlinux 0xdad2bdae fasync_helper +EXPORT_SYMBOL vmlinux 0xdb2c795a vc_cons +EXPORT_SYMBOL vmlinux 0xdb64fdef proc_symlink +EXPORT_SYMBOL vmlinux 0xdb7e4646 dst_release +EXPORT_SYMBOL vmlinux 0xdb7f62c8 drm_mm_get_block_generic +EXPORT_SYMBOL vmlinux 0xdb8942a5 vfs_readdir +EXPORT_SYMBOL vmlinux 0xdbbdec8e inet_select_addr +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbd4cf5b tcp_sendmsg +EXPORT_SYMBOL vmlinux 0xdc053205 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0xdc1341b1 mdesc_arc_target +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc312587 pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc64444a dev_set_drvdata +EXPORT_SYMBOL vmlinux 0xdc8663de xfrm_user_policy +EXPORT_SYMBOL vmlinux 0xdc9ccfb8 inode_add_bytes +EXPORT_SYMBOL vmlinux 0xdca0e950 genl_register_family +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcb5671d strlen +EXPORT_SYMBOL vmlinux 0xdcca9c7b drm_vblank_put +EXPORT_SYMBOL vmlinux 0xdccbbd08 pci_iomap +EXPORT_SYMBOL vmlinux 0xdcd92a41 get_empty_filp +EXPORT_SYMBOL vmlinux 0xdcfedfd4 commit_creds +EXPORT_SYMBOL vmlinux 0xdd05f686 of_unregister_driver +EXPORT_SYMBOL vmlinux 0xdd065e63 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0xdd1197c8 xor_vis_3 +EXPORT_SYMBOL vmlinux 0xdd338171 sunserial_register_minors +EXPORT_SYMBOL vmlinux 0xdd3febe2 drm_gem_object_free +EXPORT_SYMBOL vmlinux 0xdd49095c drm_ht_insert_item +EXPORT_SYMBOL vmlinux 0xdda8b31b jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0xddb88eea ldc_state +EXPORT_SYMBOL vmlinux 0xddd1ee8b ldc_bind +EXPORT_SYMBOL vmlinux 0xddd39d4f dm_put_device +EXPORT_SYMBOL vmlinux 0xddf3a718 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xde104cc5 setup_new_exec +EXPORT_SYMBOL vmlinux 0xde31b902 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xde3c68a6 cpu_online_mask +EXPORT_SYMBOL vmlinux 0xde4e0d2d of_device_is_compatible +EXPORT_SYMBOL vmlinux 0xde589e60 xor_vis_2 +EXPORT_SYMBOL vmlinux 0xde6ed984 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xde7502a8 PAGE_KERNEL +EXPORT_SYMBOL vmlinux 0xde75b689 set_irq_type +EXPORT_SYMBOL vmlinux 0xde7b137d tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xdea3c8db nla_append +EXPORT_SYMBOL vmlinux 0xdeba61f4 pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0xdec5294f dcache_dir_open +EXPORT_SYMBOL vmlinux 0xdec7def6 remove_arg_zero +EXPORT_SYMBOL vmlinux 0xded90ff0 tcp_parse_options +EXPORT_SYMBOL vmlinux 0xdedbabef generic_writepages +EXPORT_SYMBOL vmlinux 0xdef4ea11 io_remap_pfn_range +EXPORT_SYMBOL vmlinux 0xdf0f89ac tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0xdf14c95d __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xdf16efc2 vfsmount_lock +EXPORT_SYMBOL vmlinux 0xdf425a5e phy_connect_direct +EXPORT_SYMBOL vmlinux 0xdf59115e posix_test_lock +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf8fef53 prom_getproplen +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf96fe91 block_fsync +EXPORT_SYMBOL vmlinux 0xdfb8f21f blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xdfd7c8c8 jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0xdfebb2d4 sock_release +EXPORT_SYMBOL vmlinux 0xdff23018 kmem_cache_name +EXPORT_SYMBOL vmlinux 0xe01d2c77 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xe030fdb1 audit_log_end +EXPORT_SYMBOL vmlinux 0xe03a37c0 tcp_splice_read +EXPORT_SYMBOL vmlinux 0xe06c374f pskb_expand_head +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe08ef106 drm_idlelock_release +EXPORT_SYMBOL vmlinux 0xe08f13da sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0xe0a67f33 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0xe0aa174c request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xe0ac34de neigh_create +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0bc24a1 param_set_ushort +EXPORT_SYMBOL vmlinux 0xe0c9ecc6 d_find_alias +EXPORT_SYMBOL vmlinux 0xe0e6aaac pci_target_state +EXPORT_SYMBOL vmlinux 0xe1070691 inode_init_once +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe11ff8df lock_may_write +EXPORT_SYMBOL vmlinux 0xe12b6985 blk_end_request +EXPORT_SYMBOL vmlinux 0xe1457735 drm_ht_remove_item +EXPORT_SYMBOL vmlinux 0xe1739712 pci_unmap_single +EXPORT_SYMBOL vmlinux 0xe175bd3a ebus_dma_residue +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe17a58e0 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xe1953244 ethtool_op_get_tx_csum +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe2254ae0 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xe22b5f7b filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe24050c7 scnprintf +EXPORT_SYMBOL vmlinux 0xe24a7b88 drm_ht_find_item +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe29295f5 ethtool_op_set_tso +EXPORT_SYMBOL vmlinux 0xe2b8b461 ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0xe2bc4bb7 vfs_symlink +EXPORT_SYMBOL vmlinux 0xe2bd9889 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0xe2c53494 sk_filter +EXPORT_SYMBOL vmlinux 0xe2c5a749 atomic64_sub_ret +EXPORT_SYMBOL vmlinux 0xe2cc1eb9 mnt_pin +EXPORT_SYMBOL vmlinux 0xe2d120f3 __nla_put +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e1b441 security_d_instantiate +EXPORT_SYMBOL vmlinux 0xe2e76117 nf_afinfo +EXPORT_SYMBOL vmlinux 0xe2f128b6 key_unlink +EXPORT_SYMBOL vmlinux 0xe32cf598 find_get_pages_tag +EXPORT_SYMBOL vmlinux 0xe33d88e3 current_fs_time +EXPORT_SYMBOL vmlinux 0xe367c2eb unregister_netdevice +EXPORT_SYMBOL vmlinux 0xe3883a4e end_page_writeback +EXPORT_SYMBOL vmlinux 0xe3a3c86c unregister_con_driver +EXPORT_SYMBOL vmlinux 0xe3acabfb tcf_em_register +EXPORT_SYMBOL vmlinux 0xe3b0192b vscnprintf +EXPORT_SYMBOL vmlinux 0xe3f8bd73 register_sysctl_table +EXPORT_SYMBOL vmlinux 0xe41f7579 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xe46ae855 elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0xe4908825 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xe495733e tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0xe4d1a0d2 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0xe4f1695e cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xe4fd0c0e directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0xe5107b3c __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xe51b81bd pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe531a959 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xe5648109 deactivate_super +EXPORT_SYMBOL vmlinux 0xe56ee495 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe578afb5 user_revoke +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe5877bbb qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0xe5bdce7e drm_mode_debug_printmodeline +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5dfe514 of_find_node_by_name +EXPORT_SYMBOL vmlinux 0xe5ea06a7 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0xe5ebf965 bdget +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe612de44 kernel_getpeername +EXPORT_SYMBOL vmlinux 0xe616b25a call_usermodehelper_pipe +EXPORT_SYMBOL vmlinux 0xe61b8933 qdisc_list_del +EXPORT_SYMBOL vmlinux 0xe621fba5 iunique +EXPORT_SYMBOL vmlinux 0xe62a9da0 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xe6512544 seq_printf +EXPORT_SYMBOL vmlinux 0xe6562614 udplite_table +EXPORT_SYMBOL vmlinux 0xe690e5c1 napi_get_frags +EXPORT_SYMBOL vmlinux 0xe696b58b __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe698d586 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0xe6a15eda of_register_driver +EXPORT_SYMBOL vmlinux 0xe6d1be13 tcp_poll +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe6fdd3f9 kill_pid +EXPORT_SYMBOL vmlinux 0xe714375c __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xe727a6b5 rtnl_create_link +EXPORT_SYMBOL vmlinux 0xe7293fd0 bio_copy_kern +EXPORT_SYMBOL vmlinux 0xe74f0469 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0xe75507b6 pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0xe770cdee qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0xe782899e prom_searchsiblings +EXPORT_SYMBOL vmlinux 0xe78acbc3 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0xe7d2aca1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xe7d32407 nmi_active +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7d67af1 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0xe7e2a757 blk_remove_plug +EXPORT_SYMBOL vmlinux 0xe7f66aff release_firmware +EXPORT_SYMBOL vmlinux 0xe824ccfb do_munmap +EXPORT_SYMBOL vmlinux 0xe8292e41 textsearch_register +EXPORT_SYMBOL vmlinux 0xe83cdb0f elv_queue_empty +EXPORT_SYMBOL vmlinux 0xe8547c9d scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0xe85ebcb7 dqput +EXPORT_SYMBOL vmlinux 0xe8600435 netpoll_print_options +EXPORT_SYMBOL vmlinux 0xe86e5fc1 downgrade_write +EXPORT_SYMBOL vmlinux 0xe86f6a00 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0xe8cd902e hweight16 +EXPORT_SYMBOL vmlinux 0xe8dfcdf9 __csum_partial_copy_to_user +EXPORT_SYMBOL vmlinux 0xe8ec511c vfs_rename +EXPORT_SYMBOL vmlinux 0xe8fbad2a drm_property_create +EXPORT_SYMBOL vmlinux 0xe90dcae0 __request_module +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe919dd5c drm_sman_owner_clean +EXPORT_SYMBOL vmlinux 0xe91c635f pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0xe942ef9b neigh_lookup +EXPORT_SYMBOL vmlinux 0xe96b5073 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0xe987da89 drm_gem_vm_open +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea0844ef skb_append +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea147363 printk +EXPORT_SYMBOL vmlinux 0xea1fea9d pagecache_write_end +EXPORT_SYMBOL vmlinux 0xea583e64 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0xea91bd9c dma_pool_create +EXPORT_SYMBOL vmlinux 0xeaaaaca7 kset_register +EXPORT_SYMBOL vmlinux 0xead58fb9 print_hex_dump +EXPORT_SYMBOL vmlinux 0xeb137709 take_over_console +EXPORT_SYMBOL vmlinux 0xeb6c8f0d drm_mm_init_scan +EXPORT_SYMBOL vmlinux 0xeb8f54b3 strstrip +EXPORT_SYMBOL vmlinux 0xeb9848b0 pci_read_vpd +EXPORT_SYMBOL vmlinux 0xeba11b18 dev_disable_lro +EXPORT_SYMBOL vmlinux 0xebb50380 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0xebbf1dba strncasecmp +EXPORT_SYMBOL vmlinux 0xebd273a6 strict_strtoull +EXPORT_SYMBOL vmlinux 0xebf27b2e dquot_alloc_space +EXPORT_SYMBOL vmlinux 0xebf5c357 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0xec0304ba alloc_etherdev_mq +EXPORT_SYMBOL vmlinux 0xec363061 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xec41abb7 dst_destroy +EXPORT_SYMBOL vmlinux 0xec69688e phy_sanitize_settings +EXPORT_SYMBOL vmlinux 0xec6bc073 kthread_bind +EXPORT_SYMBOL vmlinux 0xec794ba0 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0xecd2f6fa follow_up +EXPORT_SYMBOL vmlinux 0xecdcf838 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0xecedd98c phy_device_register +EXPORT_SYMBOL vmlinux 0xecf3e80b rtc_dev_update_irq_enable_emul +EXPORT_SYMBOL vmlinux 0xecf3fd91 tty_free_termios +EXPORT_SYMBOL vmlinux 0xed1464f1 drm_get_dev +EXPORT_SYMBOL vmlinux 0xed3ea0be of_get_parent +EXPORT_SYMBOL vmlinux 0xed42ea8f skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0xed501f77 skb_insert +EXPORT_SYMBOL vmlinux 0xed88f478 bio_phys_segments +EXPORT_SYMBOL vmlinux 0xed901df5 bh_submit_read +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedbd4611 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xedc69954 filemap_fdatawait +EXPORT_SYMBOL vmlinux 0xede6059c pcie_set_readrq +EXPORT_SYMBOL vmlinux 0xede974a9 tty_port_close +EXPORT_SYMBOL vmlinux 0xedec95b9 drm_poll +EXPORT_SYMBOL vmlinux 0xedf851be __pagevec_release +EXPORT_SYMBOL vmlinux 0xedf8c8a8 journal_set_features +EXPORT_SYMBOL vmlinux 0xee0a7b83 bd_release +EXPORT_SYMBOL vmlinux 0xee1b6092 load_nls_default +EXPORT_SYMBOL vmlinux 0xee1c240d clocksource_register +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee55154c tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0xee655063 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xee90884e dq_data_lock +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeee85869 input_allocate_device +EXPORT_SYMBOL vmlinux 0xeeec7b56 drm_vblank_pre_modeset +EXPORT_SYMBOL vmlinux 0xef0a73d3 drm_mm_get_block_range_generic +EXPORT_SYMBOL vmlinux 0xef1f549a __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0xef26d9b8 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0xef335d40 mdesc_grab +EXPORT_SYMBOL vmlinux 0xef5de76c mnt_unpin +EXPORT_SYMBOL vmlinux 0xef6ed1ba param_set_invbool +EXPORT_SYMBOL vmlinux 0xef7d21a5 eth_header_cache +EXPORT_SYMBOL vmlinux 0xef8ff1ff ebus_dma_irq_enable +EXPORT_SYMBOL vmlinux 0xefa49971 touch_atime +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefdef987 drm_gem_handle_create +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf05f7bb4 nf_ct_attach +EXPORT_SYMBOL vmlinux 0xf0798ce1 of_ioremap +EXPORT_SYMBOL vmlinux 0xf0a05de5 inet_frag_find +EXPORT_SYMBOL vmlinux 0xf0b31251 tty_register_driver +EXPORT_SYMBOL vmlinux 0xf0b3165f skb_split +EXPORT_SYMBOL vmlinux 0xf0bf094d sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0xf0e64d9b file_permission +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf11d4a21 journal_release_buffer +EXPORT_SYMBOL vmlinux 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL vmlinux 0xf15a1e4c vfs_dq_transfer +EXPORT_SYMBOL vmlinux 0xf1658ca2 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0xf174ed48 acquire_console_sem +EXPORT_SYMBOL vmlinux 0xf1885fcb check_disk_size_change +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1c3b00e copy_in_user_fixup +EXPORT_SYMBOL vmlinux 0xf1cdf37f i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e11e77 dm_get_device +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf218e49a genphy_read_status +EXPORT_SYMBOL vmlinux 0xf2561604 simple_link +EXPORT_SYMBOL vmlinux 0xf261fe0c cpu_sysdev_class +EXPORT_SYMBOL vmlinux 0xf281aa27 skb_queue_tail +EXPORT_SYMBOL vmlinux 0xf28cbbaa elv_rb_add +EXPORT_SYMBOL vmlinux 0xf2978247 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xf29f32ec sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0xf2de259a dm_table_get_mode +EXPORT_SYMBOL vmlinux 0xf2f2fbf2 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xf2f75812 drm_mm_search_free_in_range +EXPORT_SYMBOL vmlinux 0xf30a54e7 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xf310d05e drm_sysfs_connector_add +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 0xf36b58f6 init_buffer +EXPORT_SYMBOL vmlinux 0xf397b9aa __tasklet_schedule +EXPORT_SYMBOL vmlinux 0xf3bba092 per_cpu__softnet_data +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3e10493 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xf4056bc3 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xf411bd7b pci_enable_device +EXPORT_SYMBOL vmlinux 0xf41c7bff drm_irq_install +EXPORT_SYMBOL vmlinux 0xf42a2b26 drm_ht_create +EXPORT_SYMBOL vmlinux 0xf445eb55 dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xf4552f2b block_commit_write +EXPORT_SYMBOL vmlinux 0xf471b8b3 ll_rw_block +EXPORT_SYMBOL vmlinux 0xf486649e is_container_init +EXPORT_SYMBOL vmlinux 0xf497eebb __down_write_trylock +EXPORT_SYMBOL vmlinux 0xf49f403e bioset_integrity_create +EXPORT_SYMBOL vmlinux 0xf49fdb37 force_sig +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f1b214 generic_readlink +EXPORT_SYMBOL vmlinux 0xf4f52f93 dqstats +EXPORT_SYMBOL vmlinux 0xf51ae235 touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xf51c639f interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xf52a8fab scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0xf52f91ca read_cache_page_async +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf552f9e6 seq_putc +EXPORT_SYMBOL vmlinux 0xf562df04 input_grab_device +EXPORT_SYMBOL vmlinux 0xf563bcc1 delayed_slow_work_enqueue +EXPORT_SYMBOL vmlinux 0xf56e65f5 drm_pci_free +EXPORT_SYMBOL vmlinux 0xf58edbad unlock_rename +EXPORT_SYMBOL vmlinux 0xf5b08166 dentry_unhash +EXPORT_SYMBOL vmlinux 0xf5b6970a set_bh_page +EXPORT_SYMBOL vmlinux 0xf5be0887 task_nice +EXPORT_SYMBOL vmlinux 0xf5c9012e timespec_trunc +EXPORT_SYMBOL vmlinux 0xf5d409f2 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf6082697 call_usermodehelper_setkeys +EXPORT_SYMBOL vmlinux 0xf60e89bb skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0xf60efa23 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0xf621ff13 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0xf632f5e6 of_iounmap +EXPORT_SYMBOL vmlinux 0xf63bf47d dev_get_drvdata +EXPORT_SYMBOL vmlinux 0xf65ae663 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0xf67079bc ethtool_op_set_ufo +EXPORT_SYMBOL vmlinux 0xf6a30e08 ida_init +EXPORT_SYMBOL vmlinux 0xf6a3ccd7 bdi_unregister +EXPORT_SYMBOL vmlinux 0xf6aeeb15 suncore_mouse_baud_cflag_next +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf70a9247 genphy_suspend +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf7586cb1 pcim_iounmap +EXPORT_SYMBOL vmlinux 0xf761c3ae copy_to_user_fixup +EXPORT_SYMBOL vmlinux 0xf7711577 dma_pool_free +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf7a931a2 dm_table_put +EXPORT_SYMBOL vmlinux 0xf7b409df drm_mode_connector_update_edid_property +EXPORT_SYMBOL vmlinux 0xf7bc7799 vfs_set_dqblk +EXPORT_SYMBOL vmlinux 0xf7e0188e do_SAK +EXPORT_SYMBOL vmlinux 0xf80006e3 block_sync_page +EXPORT_SYMBOL vmlinux 0xf80c69d2 __strlen_user +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf84b38c3 atomic_add_ret +EXPORT_SYMBOL vmlinux 0xf84fec93 bd_set_size +EXPORT_SYMBOL vmlinux 0xf8654028 neigh_event_ns +EXPORT_SYMBOL vmlinux 0xf8acc735 search_binary_handler +EXPORT_SYMBOL vmlinux 0xf8ee9b93 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xf8f20453 km_state_expired +EXPORT_SYMBOL vmlinux 0xf8f35da1 vga_tryget +EXPORT_SYMBOL vmlinux 0xf92e8a89 sock_no_bind +EXPORT_SYMBOL vmlinux 0xf931feb7 pagevec_lookup +EXPORT_SYMBOL vmlinux 0xf9332e68 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xf93eee6e names_cachep +EXPORT_SYMBOL vmlinux 0xf95f03da drm_irq_uninstall +EXPORT_SYMBOL vmlinux 0xf98afc2e die_if_kernel +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9b28bac interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0xf9d99e1a __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0xf9dac734 fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0xf9e56fc8 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xf9f52acc pci_find_device +EXPORT_SYMBOL vmlinux 0xf9fe2074 drm_vblank_get +EXPORT_SYMBOL vmlinux 0xfa042e6a gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0xfa449400 vfs_quota_off +EXPORT_SYMBOL vmlinux 0xfa7bc0c7 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0xfa908648 sysctl_jiffies +EXPORT_SYMBOL vmlinux 0xfaab67aa skb_clone +EXPORT_SYMBOL vmlinux 0xfac61963 blk_free_tags +EXPORT_SYMBOL vmlinux 0xfad37866 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0xfadd64c2 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfafaaefa mdio_bus_type +EXPORT_SYMBOL vmlinux 0xfb0cf2e9 touch_all_softlockup_watchdogs +EXPORT_SYMBOL vmlinux 0xfb254898 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xfb326a5d down +EXPORT_SYMBOL vmlinux 0xfb335b90 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0xfb48a412 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0xfb5346c0 usb_gadget_register_driver +EXPORT_SYMBOL vmlinux 0xfb58121b __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xfb595663 key_negate_and_link +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb7601d9 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0xfb77c5c2 open_bdev_exclusive +EXPORT_SYMBOL vmlinux 0xfb7c49c8 idr_replace +EXPORT_SYMBOL vmlinux 0xfbaa713e lro_flush_pkt +EXPORT_SYMBOL vmlinux 0xfbd54c4c inet_stream_ops +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfbe3bd60 input_inject_event +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc121677 sbusfb_mmap_helper +EXPORT_SYMBOL vmlinux 0xfc21e5b2 uart_update_timeout +EXPORT_SYMBOL vmlinux 0xfc250a29 of_find_device_by_node +EXPORT_SYMBOL vmlinux 0xfc2a11a8 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0xfc2b55e5 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0xfc328d3b tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfca5a3d2 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcda63a3 node_states +EXPORT_SYMBOL vmlinux 0xfcdfd03a dst_alloc +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcf95011 is_bad_inode +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd059806 dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0xfd08e39e input_register_handler +EXPORT_SYMBOL vmlinux 0xfd201145 dm_table_unplug_all +EXPORT_SYMBOL vmlinux 0xfd5515a1 fd_install +EXPORT_SYMBOL vmlinux 0xfd5804d9 sync_blockdev +EXPORT_SYMBOL vmlinux 0xfd5940e0 mpage_readpage +EXPORT_SYMBOL vmlinux 0xfd79bc2c sbusfb_fill_var +EXPORT_SYMBOL vmlinux 0xfd7c47f3 inet_bind +EXPORT_SYMBOL vmlinux 0xfd8dba4c add_wait_queue +EXPORT_SYMBOL vmlinux 0xfda85a7d request_threaded_irq +EXPORT_SYMBOL vmlinux 0xfda9a4d9 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0xfde6cf40 mdiobus_read +EXPORT_SYMBOL vmlinux 0xfdeeaa91 inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0xfdfbad19 drm_sman_alloc +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfe187b83 blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0xfe30a9ea tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0xfe392bcd generic_segment_checks +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe78010d xor_niagara_4 +EXPORT_SYMBOL vmlinux 0xfe949291 net2280_set_fifo_mode +EXPORT_SYMBOL vmlinux 0xfeb42c4e register_sysctl_paths +EXPORT_SYMBOL vmlinux 0xfec05366 sun_do_break +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfed3b5da drm_idlelock_take +EXPORT_SYMBOL vmlinux 0xfedd35fc console_suspend_enabled +EXPORT_SYMBOL vmlinux 0xfee51e03 input_flush_device +EXPORT_SYMBOL vmlinux 0xfeef2ac2 tc_classify_compat +EXPORT_SYMBOL vmlinux 0xfeef6277 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0xfef5adc6 uart_match_port +EXPORT_SYMBOL vmlinux 0xfefc701b ilookup5_nowait +EXPORT_SYMBOL vmlinux 0xfeff2267 write_inode_now +EXPORT_SYMBOL vmlinux 0xfeffe295 locks_init_lock +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff41a2ac iget_failed +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff7559e4 ioport_resource +EXPORT_SYMBOL vmlinux 0xff76a389 of_phy_find_device +EXPORT_SYMBOL vmlinux 0xff964b25 param_set_int +EXPORT_SYMBOL vmlinux 0xff9a2de4 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffbb194f __lookup_one_len +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffeeb56c blk_sync_queue +EXPORT_SYMBOL vmlinux 0xfffbbd62 __kill_fasync +EXPORT_SYMBOL_GPL crypto/aes_generic 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL crypto/aes_generic 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0xba25219d crypto_aes_set_key +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x37cd8e08 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x09b4bbed async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x910d98d4 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x39426420 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xbd70cb2d async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x4745274f async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x513225e5 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xbb52ab4e async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x2d8a3681 async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x576c2785 async_xor_val +EXPORT_SYMBOL_GPL crypto/cryptd 0x139b4e6b cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x195cd5e0 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x32e6704f cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x5687dd0d cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xa5cb0a59 cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xced1dbe5 cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xe8c4f739 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/twofish_common 0xee48ffde twofish_setkey +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL drivers/ata/libata 0x00c47119 ata_dummy_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL drivers/ata/libata 0x01871755 ata_host_register +EXPORT_SYMBOL_GPL drivers/ata/libata 0x03968125 ata_port_start +EXPORT_SYMBOL_GPL drivers/ata/libata 0x03cdd388 ata_eh_thaw_port +EXPORT_SYMBOL_GPL drivers/ata/libata 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL drivers/ata/libata 0x03ee65e7 ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL drivers/ata/libata 0x04075f29 sata_scr_read +EXPORT_SYMBOL_GPL drivers/ata/libata 0x047b5d57 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0780ff04 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0783cd16 ata_sff_softreset +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0789500c dev_attr_em_message +EXPORT_SYMBOL_GPL drivers/ata/libata 0x08b070bd ata_sff_prereset +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0b0dfef0 ata_sff_dumb_qc_prep +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0c61a8a0 ata_sff_dev_select +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0e269521 ata_sff_thaw +EXPORT_SYMBOL_GPL drivers/ata/libata 0x17a03940 ata_host_alloc +EXPORT_SYMBOL_GPL drivers/ata/libata 0x1ae474d0 ata_sff_dma_pause +EXPORT_SYMBOL_GPL drivers/ata/libata 0x1ba51d59 ata_dummy_port_info +EXPORT_SYMBOL_GPL drivers/ata/libata 0x1bd52b1f ata_port_freeze +EXPORT_SYMBOL_GPL drivers/ata/libata 0x1e238741 ata_timing_compute +EXPORT_SYMBOL_GPL drivers/ata/libata 0x1ef90470 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL drivers/ata/libata 0x1f0009ff ata_scsi_simulate +EXPORT_SYMBOL_GPL drivers/ata/libata 0x245595de ata_std_error_handler +EXPORT_SYMBOL_GPL drivers/ata/libata 0x259b9197 ata_cable_unknown +EXPORT_SYMBOL_GPL drivers/ata/libata 0x292802a8 ata_sff_post_internal_cmd +EXPORT_SYMBOL_GPL drivers/ata/libata 0x35af9b9e ata_host_init +EXPORT_SYMBOL_GPL drivers/ata/libata 0x36a9a712 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL drivers/ata/libata 0x3714c6d1 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL drivers/ata/libata 0x373c2789 ata_sas_queuecmd +EXPORT_SYMBOL_GPL drivers/ata/libata 0x3862f874 ata_ehi_push_desc +EXPORT_SYMBOL_GPL drivers/ata/libata 0x3984bd96 ata_do_dev_read_id +EXPORT_SYMBOL_GPL drivers/ata/libata 0x3a2d9442 ata_sff_irq_clear +EXPORT_SYMBOL_GPL drivers/ata/libata 0x3d1f7c42 ata_sg_init +EXPORT_SYMBOL_GPL drivers/ata/libata 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL drivers/ata/libata 0x4130a17b ata_host_activate +EXPORT_SYMBOL_GPL drivers/ata/libata 0x42a26e17 ata_sff_check_status +EXPORT_SYMBOL_GPL drivers/ata/libata 0x43531252 ata_port_schedule_eh +EXPORT_SYMBOL_GPL drivers/ata/libata 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL drivers/ata/libata 0x44f444d6 ata_sas_slave_configure +EXPORT_SYMBOL_GPL drivers/ata/libata 0x481efe2a ata_dev_disable +EXPORT_SYMBOL_GPL drivers/ata/libata 0x48f1f43a ata_cable_sata +EXPORT_SYMBOL_GPL drivers/ata/libata 0x492e024c dev_attr_unload_heads +EXPORT_SYMBOL_GPL drivers/ata/libata 0x4c922876 dev_attr_sw_activity +EXPORT_SYMBOL_GPL drivers/ata/libata 0x4d2c8540 sata_link_hardreset +EXPORT_SYMBOL_GPL drivers/ata/libata 0x4ee1e8d6 ata_sff_exec_command +EXPORT_SYMBOL_GPL drivers/ata/libata 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL drivers/ata/libata 0x51664c66 sata_scr_write_flush +EXPORT_SYMBOL_GPL drivers/ata/libata 0x5249efb5 sata_scr_write +EXPORT_SYMBOL_GPL drivers/ata/libata 0x528e55c1 ata_bmdma_start +EXPORT_SYMBOL_GPL drivers/ata/libata 0x554ab795 ata_do_eh +EXPORT_SYMBOL_GPL drivers/ata/libata 0x556b16eb ata_bmdma_stop +EXPORT_SYMBOL_GPL drivers/ata/libata 0x55e200eb ata_host_detach +EXPORT_SYMBOL_GPL drivers/ata/libata 0x56f04124 ata_cable_80wire +EXPORT_SYMBOL_GPL drivers/ata/libata 0x5857cbc2 ata_sas_port_destroy +EXPORT_SYMBOL_GPL drivers/ata/libata 0x59c47c34 ata_sff_freeze +EXPORT_SYMBOL_GPL drivers/ata/libata 0x5aa9b58e dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL drivers/ata/libata 0x5ae8145d sata_scr_valid +EXPORT_SYMBOL_GPL drivers/ata/libata 0x5b899cdb ata_cable_ignore +EXPORT_SYMBOL_GPL drivers/ata/libata 0x60d7485a pci_test_config_bits +EXPORT_SYMBOL_GPL drivers/ata/libata 0x6754b06d ata_sff_port_start32 +EXPORT_SYMBOL_GPL drivers/ata/libata 0x696c9dd0 ata_bmdma_status +EXPORT_SYMBOL_GPL drivers/ata/libata 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL drivers/ata/libata 0x6b633a15 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0x6d9bf073 sata_set_spd +EXPORT_SYMBOL_GPL drivers/ata/libata 0x6e2915b5 sata_async_notification +EXPORT_SYMBOL_GPL drivers/ata/libata 0x6f6ac2cd ata_std_qc_defer +EXPORT_SYMBOL_GPL drivers/ata/libata 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL drivers/ata/libata 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL drivers/ata/libata 0x73bf6491 sata_sff_hardreset +EXPORT_SYMBOL_GPL drivers/ata/libata 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL drivers/ata/libata 0x76bfa1f7 ata_std_bios_param +EXPORT_SYMBOL_GPL drivers/ata/libata 0x79798d91 ata_std_postreset +EXPORT_SYMBOL_GPL drivers/ata/libata 0x7ba0b52b ata_link_online +EXPORT_SYMBOL_GPL drivers/ata/libata 0x806116fc ata_sff_port_start +EXPORT_SYMBOL_GPL drivers/ata/libata 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL drivers/ata/libata 0x81cbe03e ata_port_pbar_desc +EXPORT_SYMBOL_GPL drivers/ata/libata 0x821cb30c ata_sas_port_start +EXPORT_SYMBOL_GPL drivers/ata/libata 0x836fd1d2 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL drivers/ata/libata 0x881b2fe5 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL drivers/ata/libata 0x8aa2f278 ata_bus_reset +EXPORT_SYMBOL_GPL drivers/ata/libata 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL drivers/ata/libata 0x8cf1526f ata_bmdma_setup +EXPORT_SYMBOL_GPL drivers/ata/libata 0x8feadfa5 ata_sff_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0x948a9770 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL drivers/ata/libata 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL drivers/ata/libata 0x94aea637 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL drivers/ata/libata 0x96c0d1c8 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9acaab85 ata_host_start +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9baa3fd0 ata_port_disable +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9d3d4d20 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9e01e8c4 ata_qc_complete +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9e460feb ata_port_abort +EXPORT_SYMBOL_GPL drivers/ata/libata 0xa2c7056b ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL drivers/ata/libata 0xa5240e2f ata_pio_need_iordy +EXPORT_SYMBOL_GPL drivers/ata/libata 0xa6520159 ata_sff_postreset +EXPORT_SYMBOL_GPL drivers/ata/libata 0xa66311ad ata_scsi_queuecmd +EXPORT_SYMBOL_GPL drivers/ata/libata 0xa7d31065 ata_scsi_ioctl +EXPORT_SYMBOL_GPL drivers/ata/libata 0xab1fc05c ata_pci_remove_one +EXPORT_SYMBOL_GPL drivers/ata/libata 0xac767336 ata_sff_qc_prep +EXPORT_SYMBOL_GPL drivers/ata/libata 0xaf3f6fe0 ata_sff_interrupt +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb052924d ata_wait_after_reset +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb16584be ata_eh_freeze_port +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb266ead7 sata_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb3151304 ata_link_abort +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb3595b1f sata_pmp_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb51f512a ata_base_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb6332087 sata_link_debounce +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb66e40e1 ata_sas_port_init +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb92d9ee5 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb9bbc283 ata_sff_irq_on +EXPORT_SYMBOL_GPL drivers/ata/libata 0xbaf1dc45 ata_slave_link_init +EXPORT_SYMBOL_GPL drivers/ata/libata 0xbb5f4900 ata_pio_queue_task +EXPORT_SYMBOL_GPL drivers/ata/libata 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL drivers/ata/libata 0xbe237cfe ata_sff_tf_load +EXPORT_SYMBOL_GPL drivers/ata/libata 0xbfbf36ac ata_link_offline +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc0229381 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc11a52d1 ata_dev_next +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc236bbd0 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc673e23e ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc9db4014 ata_sff_qc_issue +EXPORT_SYMBOL_GPL drivers/ata/libata 0xca8234fc ata_sas_port_alloc +EXPORT_SYMBOL_GPL drivers/ata/libata 0xcab277b8 ata_eh_qc_complete +EXPORT_SYMBOL_GPL drivers/ata/libata 0xcba7ce3d ata_sas_port_stop +EXPORT_SYMBOL_GPL drivers/ata/libata 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL drivers/ata/libata 0xcd4b0bc4 ata_sff_tf_read +EXPORT_SYMBOL_GPL drivers/ata/libata 0xcf39c114 sata_pmp_error_handler +EXPORT_SYMBOL_GPL drivers/ata/libata 0xd2a9e783 ata_bmdma_mode_filter +EXPORT_SYMBOL_GPL drivers/ata/libata 0xd6301180 sata_std_hardreset +EXPORT_SYMBOL_GPL drivers/ata/libata 0xd9730f39 ata_sff_error_handler +EXPORT_SYMBOL_GPL drivers/ata/libata 0xdb337aab ata_port_desc +EXPORT_SYMBOL_GPL drivers/ata/libata 0xddcbbf8c ata_dev_pair +EXPORT_SYMBOL_GPL drivers/ata/libata 0xdf799d07 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL drivers/ata/libata 0xe0f8d77a ata_std_prereset +EXPORT_SYMBOL_GPL drivers/ata/libata 0xe21a3798 ata_link_next +EXPORT_SYMBOL_GPL drivers/ata/libata 0xe4735839 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL drivers/ata/libata 0xe49ff3b0 ata_wait_register +EXPORT_SYMBOL_GPL drivers/ata/libata 0xe505d3cc ata_do_set_mode +EXPORT_SYMBOL_GPL drivers/ata/libata 0xe7103ef0 ata_sff_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libata 0xea404ec4 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL drivers/ata/libata 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL drivers/ata/libata 0xeabb522c ata_sff_data_xfer +EXPORT_SYMBOL_GPL drivers/ata/libata 0xeb63aae6 ata_sff_wait_ready +EXPORT_SYMBOL_GPL drivers/ata/libata 0xebaeb227 ata_sff_host_intr +EXPORT_SYMBOL_GPL drivers/ata/libata 0xec879e46 ata_sff_pause +EXPORT_SYMBOL_GPL drivers/ata/libata 0xecbf8400 sata_link_resume +EXPORT_SYMBOL_GPL drivers/ata/libata 0xee2aef58 ata_eh_qc_retry +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf5ba7efc ata_pci_sff_init_host +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf9c56a11 ata_port_probe +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL drivers/ata/libata 0xfaf0bba9 ata_cable_40wire +EXPORT_SYMBOL_GPL drivers/ata/libata 0xfc20786a ata_sff_hsm_move +EXPORT_SYMBOL_GPL drivers/ata/libata 0xfdab92fb ata_sff_busy_sleep +EXPORT_SYMBOL_GPL drivers/ata/libata 0xfe7e6201 dev_attr_em_message_type +EXPORT_SYMBOL_GPL drivers/ata/libata 0xff4dc101 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL drivers/ata/libata 0xff81406f ata_noop_qc_prep +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0xf126d58b 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/char/tpm/tpm 0x2fd6c58a tpm_write +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x3cc9a069 tpm_show_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x3f1ab163 tpm_dev_vendor_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x457f7c28 tpm_pm_resume +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x4ab9c469 tpm_pm_suspend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x55652b49 tpm_dev_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x76b4cb7d tpm_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x77f9168d tpm_get_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x7acf4d4f tpm_show_active +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x7cfd87b6 tpm_continue_selftest +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x7fad8115 tpm_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x863aa36d tpm_show_caps +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x8880dfee tpm_remove_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x90f79779 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x9324c7f5 tpm_show_pcrs +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x9af354c8 tpm_open +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x9e106621 tpm_register_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xa8c42963 tpm_show_pubek +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xabbe4d8a tpm_show_enabled +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xbc7a9fcd tpm_store_cancel +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xbc7d68f3 tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xc18e32e3 tpm_gen_interrupt +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xd71db00a tpm_show_owned +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xee599e51 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL drivers/connector/cn 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL drivers/connector/cn 0xcf7a962e cn_add_callback +EXPORT_SYMBOL_GPL drivers/connector/cn 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x09576fcf hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x12bfff30 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x196cec97 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1c083863 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2c63a0db hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2eba1f02 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x386cf4d7 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x39c429f6 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3fcf2153 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x454f85f1 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x45752b3a hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4e25a455 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4fd5a58d hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5751cd19 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x62baa351 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x66b9034a hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6a0acff6 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x70a714a5 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x925415ae hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x942c9380 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb50c3fe8 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0xca6938f0 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd53ab0cf hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe34cd959 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfa10e419 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x11d16bcc usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x5c8bd825 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x3f1fa0c1 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x6c33e494 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x7f90c6a9 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x9503ddc5 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xbccb5829 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xe6af28c8 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xfa4c65c5 lis3_dev +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0x1c12ee50 hpsb_config_rom_ip1394_add +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xd98051d7 hpsb_config_rom_ip1394_remove +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xec8d18cf hpsb_disable_irm +EXPORT_SYMBOL_GPL drivers/infiniband/hw/ipath/ib_ipath 0x1514b2b2 ipath_debug +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x6218fa30 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x27ee5905 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x2c33b7ac wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7e0f5cbe wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x84399fcc wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x8a9d5e3d wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x8d73b293 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xaf1b417a wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb2a55c20 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb3b5c985 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xbb99b87e wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xdb1ee2fb wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xef88e673 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x2c0979ce gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x32c5cce8 gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x45f29790 gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x584b7c85 gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x5e030974 gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x6233f650 gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x63e40911 gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x77063727 gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x7d101420 gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x93ece801 gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa89d4cff gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb7e66368 gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xc0f30b5a gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xc5f2eab7 gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xdf04676a gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xeb7e1e99 gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/leds/led-class 0x3d5da3ca led_classdev_register +EXPORT_SYMBOL_GPL drivers/leds/led-class 0x7ab5759c led_classdev_suspend +EXPORT_SYMBOL_GPL drivers/leds/led-class 0x87d27972 led_classdev_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xeaa696ef led_classdev_resume +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x193ad7bb dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x2b774680 dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x04707912 dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x0a5a7b6f dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x18ae25b2 dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x25d0601e dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x2bdfc5b6 dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3318e5b4 dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x339a1527 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x484340ba dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5a427533 dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5bf091e6 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x6e4e9798 dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x6fe958b1 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7122402a dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x8aa7ac62 dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x8fffcf57 dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xb18ae731 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xb9026332 dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xba6b3f18 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xe0db415a dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xebd31b2d dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf1d8da02 dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/md-mod 0x0658e027 sync_page_io +EXPORT_SYMBOL_GPL drivers/md/md-mod 0x0b5c473e md_allow_write +EXPORT_SYMBOL_GPL drivers/md/md-mod 0x489eaa38 md_new_event +EXPORT_SYMBOL_GPL drivers/md/md-mod 0xdb3561f0 md_do_sync +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x24935f26 raid6_call +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0xcdc24ab5 raid6_2data_recov +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0xdbab0c01 raid6_datap_recov +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0349c9bd ir_codes_proteus_2309_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0366dcdf ir_codes_videomate_s350_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x110b053a ir_codes_pixelview_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x124cb753 ir_codes_encore_enltv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x183fdfdd ir_codes_gotview7135_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19b4d61c ir_codes_nebula_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19cd2826 ir_codes_behold_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1a9009d6 ir_codes_dm1105_nec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1cb148f5 ir_extract_bits +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1d187966 ir_input_nokey +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2456e513 ir_decode_pulsedistance +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2cc459b5 ir_codes_flydvb_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2d0e9a49 ir_codes_em_terratec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3136d8ff ir_codes_dntv_live_dvbt_pro_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x32b9033b ir_codes_apac_viewcomp_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3909f4ad ir_codes_terratec_cinergy_xs_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3a84be27 ir_codes_avermedia_a16d_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4267d749 ir_codes_budget_ci_old_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x43c89ef4 ir_decode_biphase +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4491425d ir_input_init +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4c1442c1 ir_codes_real_audio_220_32_keys_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x51ba1643 ir_codes_kworld_plus_tv_analog_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x543db4ff ir_codes_avermedia_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5e95da31 ir_codes_tt_1500_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5fbe6515 ir_codes_pinnacle_color_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x61d039d7 ir_codes_behold_columbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6427a3fb ir_codes_pinnacle_grey_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x64b02fed ir_codes_avermedia_dvbt_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6606596a ir_rc5_timer_keyup +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6809de82 ir_codes_pctv_sedna_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6d6511e7 ir_dump_samples +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6e1aea8c ir_input_keydown +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x703fc738 ir_codes_avertv_303_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x7283f81d ir_codes_purpletv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x72c2992e ir_codes_powercolor_real_angel_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x76d71b8e ir_codes_dntv_live_dvb_t_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x784e176d ir_codes_asus_pc39_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x828b3ce5 ir_codes_encore_enltv_fm53_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x8acae3dd ir_codes_pinnacle_pctv_hd_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x92d1d181 ir_codes_flyvideo_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x94651dab ir_codes_ati_tv_wonder_hd_600_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x97c35dab ir_codes_msi_tvanywhere_plus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x9944e2e5 ir_codes_hauppauge_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa69aa6ad ir_codes_pv951_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa95157c5 ir_codes_cinergy_1400_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xac15f6c8 ir_codes_kaiomy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xaff22e87 ir_codes_pixelview_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb01a1998 ir_codes_manli_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb0a8ef38 ir_codes_rc5_tv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb57445f7 ir_codes_eztv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb5adb754 ir_codes_cinergy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbd3ce6f0 ir_codes_avermedia_cardbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbeaccbdc ir_codes_gadmei_rm008z_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xcba36c62 ir_codes_videomate_tv_pvr_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xd30c491f ir_codes_norwood_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdc23fec4 ir_codes_fusionhdtv_mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdd4c0a07 ir_codes_evga_indtube_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe1101f4d ir_codes_avermedia_m135a_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe4140c60 ir_codes_genius_tvgo_a11mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeb9bb08f ir_codes_npgtech_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xebf345b4 ir_codes_encore_enltv2_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeec89db8 ir_codes_empty_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xef29c40d ir_codes_adstech_dvb_t_pci_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf33c155d ir_codes_msi_tvanywhere_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf3d619ec ir_codes_iodata_bctv7e_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf4f7a4d6 ir_rc5_timer_end +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf5e15e65 ir_codes_winfast_table +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x17a22811 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x242c8cbd saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x2590b473 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x3d600fa9 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x437689c2 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x5730bb3a saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x7ef68416 saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x953010ff saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcd824035 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcf683cf2 saa7146_devices +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe1ed41c8 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xfdb07607 saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x29e5dab7 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x61621ced saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x887619bc saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x99e7c5ca saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x9aa69b2d saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xc82cc66e saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xe2a5e0bb saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x97b92ad8 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x35442463 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x5fde57bb tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0x4e0a443f tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xd458a55e tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xfbbece2a tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0xc1f63080 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0xf9e17f02 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0x683d7adf simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x0c61bba4 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x32368d37 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x47b794d4 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x50c996c8 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x55be7cd3 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x6efce2f9 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x712ae43f cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x8002f226 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xb5039baa cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xb68cd471 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xde747ad1 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x5f35d5b5 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xb3e66d88 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xbbd707ac saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xcc563782 saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xe66eabfe saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x11e13cd8 v4l2_i2c_new_subdev_cfg +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x5ffc9679 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x670b94da v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xaa12d897 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-compat-ioctl32 0x8a504745 v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x0b45a954 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x8b5d0b0c v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa5228b24 v4l2_int_device_try_attach_all +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xc182a964 v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xf16be282 v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x0e4cd763 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x1dbc13e9 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2c49b716 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x3ee5ce24 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x402d545e videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4223b970 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4efddf3c videobuf_queue_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x515634dd videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x59419a1e videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x61c02e32 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x68b0f592 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x69fb2336 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6e2301c4 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8656687d videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8e8ce41e videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x913c9b7f videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x92a21e2d __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xbe4bb0c6 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc6c6aa00 videobuf_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd62e3298 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd67560e9 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xda6d55dc videobuf_cgmbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe68e5bc4 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xeb1e703a videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf3ab339a videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x26ff0a70 videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x3c528b45 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x3f1738f8 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x43a17a5a videobuf_dma_init_overlay +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x449a2281 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x782224b6 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x7f30d3be videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa38faed2 videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa4dd77eb videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xbab3137e videobuf_sg_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xd0a5dfa7 videobuf_sg_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xd8a5d615 videobuf_dma_sync +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xdb1434d0 videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xeb1ee151 videobuf_vmalloc_to_sg +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x9517c699 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xbaac6a34 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xd0c7a8a0 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x388be153 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x3aad6bc6 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x40518e62 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x85a8e5f9 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa1ce65bc v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc9d1d56f v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x24c867f0 i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x35e6cbef i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x41565427 i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x470a3636 i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x7986f663 i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x87838d11 i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xa2f75070 i2o_pool_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xf731c018 i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x2da1d575 mc13783_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x6ffd9b67 mc13783_adc_set_ts_status +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x826f9674 mc13783_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xab20ddf5 mc13783_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xae77962b mc13783_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xb89ccb36 mc13783_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0xd5469436 mc13783_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x04d6950a pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xa879fd6d pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x4ab7d722 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x4e3976f1 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x5b81c918 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x6abeec60 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x723eefd3 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x7dc92370 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x85d4e287 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x899f4ee1 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x9eebe5b2 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xcec7246f pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xe8d280e8 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x133cd9f7 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x369c8b14 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x733f6722 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xd4ef3a6c pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xf7abc5c0 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x358dcb69 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x65666b5c sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x8c369550 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xaf5ebfb5 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xc734f52e sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0x49604a75 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x2143913c wm831x_auxadc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x2c35ea28 wm831x_enable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x379edb86 wm831x_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x4509f171 wm831x_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x5933786d wm831x_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x5a7bc7b4 wm831x_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x7bf05a63 wm831x_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x82db3712 wm831x_disable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x9318e98c wm831x_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xdc46a20c wm831x_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xe950bd98 wm831x_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xfe810496 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x0143903a wm8350_device_init +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x04db3c82 wm8350_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x0816432f wm8350_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x12077f1c wm8350_gpio_config +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x298a84fe wm8350_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x396112d6 wm8350_read_auxadc +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x49c981ff wm8350_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x4be25a29 wm8350_mask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x50c117cf wm8350_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x62bc273b wm8350_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x72a59472 wm8350_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x7cc7f0d0 wm8350_unmask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xa72b2738 wm8350_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xa9f14783 wm8350_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xd99e3cb0 wm8350_block_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xfe816ab1 wm8350_device_exit +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x05aa56a8 wm8400_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x46db7a72 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x5216ef89 wm8400_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x9ae8667b wm8400_reg_read +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x41acb6ef cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x4327c52e cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xa2e472d1 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xa83ccb68 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x2df115d4 eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d14d2f eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x00cdf974 sdio_writesb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x076690f6 sdio_enable_func +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x25f0d2a3 sdio_readsb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x28b0d638 sdio_claim_host +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x365772d6 sdio_release_host +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x3904724d sdio_readw +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x40d0a063 sdio_f0_writeb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x549bf08d sdio_memcpy_fromio +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x5b7948a2 sdio_unregister_driver +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x62de1166 sdio_claim_irq +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x6f7f7732 sdio_disable_func +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x751ba545 sdio_readb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x84dd6389 sdio_memcpy_toio +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xb243de46 sdio_f0_readb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xc2e495f9 sdio_writeb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xcae21b7c sdio_release_irq +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xce09977f sdio_readl +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xda60c9f3 sdio_register_driver +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xdc2a7952 sdio_writel +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xeb80020a sdio_set_block_size +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xf12c344f sdio_align_size +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xff60258f sdio_writew +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x8391b938 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x9a126c36 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa2035f69 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf3cd1a0c sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x861eade2 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xaf045641 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xf9744514 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x7f2b5313 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x19c74019 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x55f25495 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x72dabdec cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x83032b88 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2000 0x8a7f6204 DoC2k_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001 0xdc968a0e DoCMil_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0xa9dfd9db DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x11628324 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x334d2088 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x51b6a76a get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x62a20c88 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7163bbd3 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x73e61502 get_sb_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa058891f register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa1a4f3b1 add_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa322674e mtd_table +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa3f86ade default_mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xafb1bf2e unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb449ed11 mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc0c73a8a register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd3137735 del_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdba2e732 parse_mtd_partitions +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdd7ba305 mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x310496bf deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x3ef40757 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x706ca0c9 register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xfe704948 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x1dc2df2d nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x27748fdc nand_scan_ident +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x4316add1 nand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x87fe852b nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xfdf6b1aa nand_scan_tail +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x44561c7d onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xc70af798 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x05adf79c ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x1c523eb4 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2b3de4a9 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x3a0f690f ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x3e289e81 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x47c4c577 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x4d7ea3cf ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5761e279 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5f9f3cdc ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x785d6529 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x9074510f ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa3090cee ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbc505df4 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x02f03c90 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x160c2318 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x30a4f66e can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x411f667f can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x46b63053 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x6cf63033 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x8a87eada can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x8d8ee4d6 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xc0df632c alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xf9cb943b free_candev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x4eda0411 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x731d1ff0 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x91780f1a free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xd556ab0e alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xdc9bd500 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0116aa60 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x089857b8 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x101b4e0a mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x111cab5f mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x1b50d69e mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x1dde6a3c mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x27e79efc mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x2ba22448 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x2ee08279 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x2fc4ca2b mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x383abb37 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x43b2544c mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x46ab845e mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x486410b1 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x51656607 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x55d0ea51 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x5f05ad60 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x65c2d45a mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x6ed200df mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x73ffacd7 mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x761217bc mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x7ba84a49 mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x7e1f1e9c mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x81bfcc4d mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x884e60f9 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8f3e24be mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8f51bb50 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x90e11154 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x92c8febd __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x95f70427 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9e024b29 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa17674d3 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa4b4441c mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa9dc903a mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb236c91c mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb628b9b0 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xb7881589 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xbd579c39 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xbf17c1d3 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc40827b8 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xca638113 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd0967cc4 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd0ce4949 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd26131cf mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd3f59019 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xdb706434 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xdf5ae2ab mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe19cc17c mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe915f605 mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe97a7ff0 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf7e53e0b mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xfcd4e392 mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xfd185f4c mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xa798f362 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xd6c9de74 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x03c04aa3 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x2ed7703b rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xb9f61d6a rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xcb1a7b46 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xe7d36d5e rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xf6361dc0 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0058da8a usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0980ea01 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0e1cb602 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x11115029 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x188bfd57 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x30ed9075 usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4ce88040 usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x514a0d1d usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x54c36d9a usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x599eceeb usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5d08ef1f usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x90e360c0 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x98ecf103 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa0f5fd16 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xae2d8ce5 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb71c498f usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb824e860 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd1e25071 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd3f84c9b usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdceaad6d usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe2078248 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf68eb73a usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf9b1f284 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfd7c99ca usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x002bd1e1 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x0544f877 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x1e4d08c5 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x294a45dc i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x3268eaab i2400m_set_init_config +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x45a06213 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x46682821 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x4adc2b3d i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x5f36d50c i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x69f51096 i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x6ca5a37f i2400m_queue_work +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x70b790d9 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x8d9bb27d i2400m_cmd_get_state +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x276fb72e libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x15256ce3 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x25afa55d lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x292b4a83 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x34b752ab lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x531f697f lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x549b38d6 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x74bacbe2 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x83ccde8b lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x97ba1ad2 lbs_cmd_802_11_rate_adapt_rateset +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x9d0edcdc lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xbfb306ac lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xc59e528e lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xdd19dcfe lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xef0e0a44 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf03662db lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x0f86b9a3 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x133dc26e lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x2dca9352 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x56ef532e lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x65019843 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x728fd7f6 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x7e44a83e lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x92290dca lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x048864e4 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x07b7f606 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x0d67b65c p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x4ac8987c p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x82866a9f p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x8e4f8daa p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x93d1ee2a p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xa50671bb p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xa7b9f8b0 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xf01aecda p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xf751f5ed p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1065bf5c rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x10c53ff2 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x17489012 rt2x00queue_get_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x17995060 rt2x00mac_get_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x20b74c34 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2d4ad8a6 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x328baf2c rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4f457391 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x55317eaf rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6130de20 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x7d59360e rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x7fabbc0c rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x982c6837 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9d9c5dd7 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xaa379b9a rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb0ca6799 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb1205537 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb272626c rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc433a5ad rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdb0c794e rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe442a4a2 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf2200c1b rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x3e236492 rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x4ccc7790 rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x78647ffe rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x8120b2f2 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x85cb5d03 rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x987b2d64 rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xac49fc47 rt2x00pci_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x0127dd84 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x1a5e37bc rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x1ea5966a rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x465213ee rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6d4da6d7 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x970f416d rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x9ea6309d rt2x00usb_vendor_request_large_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xb4e42c0f rt2x00usb_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xc5a500fd rt2x00usb_kick_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xc61b5488 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdd286da1 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xe87f8b75 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xec6d3400 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xfb6386c7 rt2x00usb_kill_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x26bd650f wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x4901d46e wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x4b7f7734 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x42c9cd0d pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x6f5abc88 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x07f55c7c wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x62bfceca wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x65ab2897 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xa2eeaea9 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xbcea7eee wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xe8a2c25d wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x4db17cbb wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x027bb96c scsi_unregister_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x18683afb scsi_register_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x561e6634 scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x593a36c2 scsi_dh_handler_exist +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x5f91fd8b scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xb2301ed1 scsi_dh_set_params +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xf3ec11f5 scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xd3d5773b fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0290f0d5 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x067e57b4 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12a4a732 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x141b9ef8 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1806b25d iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1a02a818 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1a5c1e48 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x49f03126 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x54631079 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5580c172 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x642484ea iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6515aca1 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6a6e377f iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6a984705 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6b167073 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6ca9b32e iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6da05fbb iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7301ae5e iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x81f96564 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x821bbd9d iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x85c39690 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x872d8625 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x93086cea iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9491637e iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9cb03893 iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xaf3d0dc2 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb016ea6a iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbea76ac0 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc39be002 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc3d1cdc9 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc5365c04 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc5d915a9 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc7902792 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc7d55f38 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcb2fb431 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd320386b iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe5e39af7 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xed1f7cc7 iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xef4f6b06 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xefa98b2a iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xefbd8299 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf0e58942 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x022feeed iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x21435346 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x298b1039 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2cc7441c iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x35080741 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x38bee306 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x438bfae8 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5006592b iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x557d594b iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x59725488 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x65b8e5d4 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7ed4946e iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xbe48aa60 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc6244bf4 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xcd1997fa iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xecc8fc79 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0339572a sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0637c9fc sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0ce0d51d sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x36a36dc5 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3801dd85 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5174ebc2 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5b4a4df5 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5c431dd7 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x61fad672 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6ad6a21e sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x719de837 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7303137c sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9c8e604d sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa198a2fb sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa3c17abd sas_slave_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb5f702d4 sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbc3d1bd3 sas_find_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc899aeeb sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd017a44e sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd2ea2ed5 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xdabe6ed5 __sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xde1308c3 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe6513f07 sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x7a588384 srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x8bb0e82e srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x9d2ac84d srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xb5d17dad srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xcd8b197f srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xf2725ae7 srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x011060ec scsi_schedule_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x01ff2b24 scsi_mode_select +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x170201d8 scsi_flush_work +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x1738f3e8 scsi_bus_type +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x23d49954 scsi_get_vpd_page +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x35d8c94a sdev_evt_alloc +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x43e60afe scsi_nl_sock +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x4974ab91 scsi_nl_add_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x4d341693 __scsi_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x50a96572 scsi_target_block +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x5236fb6b sdev_evt_send +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x57c97517 scsi_target_unblock +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x58150913 scsi_internal_device_block +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x85789464 scsi_internal_device_unblock +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x9cd612d8 sdev_evt_send_simple +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xa3c4b319 scsi_nl_add_driver +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xbcafdfe0 scsi_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xd9a8ba55 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x6049f85a scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x646845ae scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x87cac7a2 scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa7de6b86 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa99d9ce9 scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xcc10d5bd scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xf7053647 scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xfbde3165 scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xffb15353 scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x017b5535 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x04a8ca64 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0d591200 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x147cce40 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x22c2d968 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x27e9fbf5 iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4761061a iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5f51da3b iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x604ef0e0 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x70b4f922 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x72d8422c iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8a4844c1 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa4f8eeb5 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaf0ca322 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb1b510cd iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb8cd79b9 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbd14296c iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc5f92f54 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd4cc5541 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xed89d74b iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xeffda2cc iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf0ac086c iscsi_create_endpoint +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 0x705cdcf2 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x9cc33093 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xbfb52871 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xbfe99a7d srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xf3eb30ad srp_attach_transport +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0x103d3783 pciserial_resume_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0x49636aac pciserial_suspend_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0x700ae3eb pciserial_remove_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0xa03a91c0 pciserial_init_ports +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x1bffef72 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x6245d7c2 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x650d3c40 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xab1ba80b spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xdddf09fa spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xe20ac663 spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/uio/uio 0x2e0bb101 __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x49bc47f1 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x592e8793 uio_event_notify +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x2238da6c usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x5b048a90 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x01d3379e usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x0d697af4 usb_put_hcd +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x0db653a8 usb_driver_set_configuration +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x13209d07 usb_get_intf +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x144b252d usb_sg_init +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x19518300 usb_interrupt_msg +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x1d05bf06 usb_reset_endpoint +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x20596565 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x20d768ee usb_unanchor_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x2332652e usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x23524a02 usb_buffer_map_sg +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x2569a25a usb_free_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x26cd741d usb_deregister_dev +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x31fa671b usb_mon_register +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x331092fb usb_deregister +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x39ed9efe usb_unlink_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x3be57fb8 usb_anchor_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x46c72860 usb_bus_list_lock +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x4d905855 usb_driver_claim_interface +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x5281b906 usb_create_hcd +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x5737a493 usb_queue_reset_device +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x5bb3c465 usb_driver_release_interface +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x5d73255d usb_hc_died +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x7030f3af usb_string +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x71dbaab3 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x75c543a2 usb_register_device_driver +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x762f64bf ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x7678c83e usb_alloc_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x7694feba usb_get_hcd +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x788404a9 usb_ifnum_to_if +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x79d2f8a1 usb_anchor_empty +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x7ee9f8b3 usb_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x804bbe9c usb_get_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x83206fbd usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x85057958 usb_add_hcd +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x8561cbe9 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x860c35c0 usb_get_dev +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x882ca2c0 usb_control_msg +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x8a29eb93 usb_get_current_frame_number +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x8b82cc92 usb_put_intf +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x8d2831ad usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x91c4bd62 usb_init_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x924ea79e usb_buffer_alloc +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x92873732 usb_deregister_device_driver +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x94a26490 usb_register_dev +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x960ff80b usb_find_interface +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x96b1e0af usb_poison_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x987da330 usb_debug_root +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x9bd246a8 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x9c9c48c5 usb_sg_wait +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xa28144b2 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xa29a1214 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xadbff6dd usb_buffer_unmap_sg +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xafe8cc23 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xb5c1c5ce usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xb5d1af83 usb_ep0_reinit +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xb5ff69d8 usb_reset_device +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xb61d81fe usb_remove_hcd +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xb7b7cafc usb_get_descriptor +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xbce69904 usb_sg_cancel +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xbfe7385b usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xc45704ff usb_register_driver +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xc596d966 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xcd387ab5 usb_set_interface +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xcf317f3a usb_put_dev +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xcfcaeab4 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xd7614fae usb_get_status +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xdec03ced usb_set_device_state +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xdf7df2e2 usb_kill_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xe27856f5 usb_get_from_anchor +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xe6e38bae usb_match_id +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xe80e79b9 usb_buffer_free +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xedcd7d8c usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xeed511c7 usb_submit_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xf09930c7 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xf22d2144 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xf2778837 usb_store_new_id +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xf5dcde1d usb_bulk_msg +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xfc2077c8 usb_reset_configuration +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xff7fcee9 usb_match_one_id +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xffb1f02b usb_unpoison_urb +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x102fc55a usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x143e968f usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x1e02830e usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x1ef5d1d0 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x409f27bf usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x8c257d1d usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xc0d5a468 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xc28050ad usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xd2bdc983 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x06693ec9 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x101e65c1 usb_serial_deregister +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x153a86c3 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1a4fafd7 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1b7a31de usb_serial_register +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x4b7d0ab9 usb_serial_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x6d1f2ba0 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x76246c39 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7a2d8ec8 usb_serial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7caee484 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc5ec3ce2 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd627a25a usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xde32497a usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xde510948 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xebe494dd usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf8b506bf usb_serial_generic_resubmit_read_urb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0fe5c6bc usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x126dc997 usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x178aa7ba usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1ee6b5cc usb_usual_ignore_device +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x215f17be usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x342b26d0 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x368c691b usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3700a87c usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3bc540f4 usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x4f0868e8 usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x68739813 usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x7d321dce usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8152d6e9 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x96481738 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xbb2208ec usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc14a0548 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc1db0a13 usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xdda5fe22 fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe57321ab usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf798cdb5 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x222143a5 rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x32d0bc62 wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x5b0fc154 wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x8668d134 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xdba156ec __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xe6465b28 wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xfe25f23f wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x05761a10 wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x169e6d01 wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1d7f835f wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x39e18881 wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x63ceace2 wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x66f8ea41 wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x676ebe51 wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x6bc23cd8 wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x6d675f82 __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x71234326 wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x979fd671 wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb72be5a8 wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xc4b8692c wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xdd0d5c3a wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xdf6e4f08 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xe8c9a647 wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xea837974 wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf770a6b4 wusbd +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xfe2e17d7 wusb_et_name +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x0406075d i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x4f8ac08d i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x604339bb i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x76b413fc uwb_phy_rate_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x79c561b5 uwb_pca_base_priority_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x91b6ddf4 uwb_pca_base_priority_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xa3d55124 uwb_ack_policy_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xafab5c2a uwb_rts_cts_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xbae79a9b uwb_ack_policy_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xbbba65da uwb_rts_cts_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xbe252446 uwb_phy_rate_show +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x02ca7bb6 umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x0a85edc9 umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x17af0b85 umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x6106474b umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x61344699 umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x8740a9c5 umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xa0c5ed30 __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xfabe1ac1 umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x033a03ca __uwb_rc_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0f982d4f uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x16bed7da uwb_rc_ie_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x177a7274 uwb_notifs_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x18dfefd7 uwb_est_find_size +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1a068299 uwb_rc_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1d9d21fd uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x298f6286 uwb_rc_cmd_async +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2c60d9a4 uwb_rsv_establish +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x38836eae uwb_pal_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x3bca92a1 uwb_pal_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x3d3f6c44 uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x43ab7004 uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x44a06389 uwb_rc_put +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x464fed40 uwb_rc_get_by_grandpa +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d57ae3c uwb_rsv_type_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x597d75b2 uwb_notifs_deregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x632c4588 uwb_rsv_get_usable_mas +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6339ccd9 uwb_dev_for_each +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6a981003 uwb_rc_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6b9377c5 uwb_ie_next +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x843e0f05 uwb_rc_cmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8cb42db6 __uwb_addr_print +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x94232a65 uwb_rc_neh_error +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9d643fd9 uwb_rsv_terminate +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9e925d7d uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xacae2087 uwb_pal_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb86b7a56 uwb_rc_dev_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xba6ab888 uwb_rsv_create +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbd1a637c uwb_rsv_accept +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc65d9cde uwb_rsv_modify +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xcb97bc73 uwb_rc_ie_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xcbbf6fac uwb_rc_post_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd6f5d73a uwb_rsv_destroy +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xdbbcd8b5 uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xeb4cab9a uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xee4be536 uwb_rc_pre_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf0354bba uwb_rc_neh_grok +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf70f5627 uwb_rc_vcmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf7ca313a uwb_est_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf9db277a uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xff842bc4 uwb_radio_stop +EXPORT_SYMBOL_GPL drivers/uwb/whci 0x95416a47 whci_wait_for +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x2ffa92d8 wlp_wss_activate_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3852db27 wlp_dev_model_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3e7a69f6 wlp_wss_activate_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x57ffefec wlp_dev_prim_subcat_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x583531c6 wlp_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x58a9751e wlp_dev_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6900a2bc wlp_dev_manufacturer_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6ebe1abb wlp_dev_prim_OUI_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x75a0afc2 wlp_uuid_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x7c31bf57 wlp_dev_model_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x987606f2 wlp_dev_prim_OUI_sub_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x9b43144b wlp_receive_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x9d27d422 wlp_uuid_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xa0142af5 wlp_dev_manufacturer_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xa081e792 wlp_eda_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xa53971ae wlp_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xab9787a1 wlp_dev_prim_subcat_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xb52bf2db wlp_dev_serial_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xbd9f11c5 wlp_dev_serial_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc5ecff3d wlp_dev_model_nr_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc6929c8b wlp_dev_prim_category_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xceba412d wlp_wss_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd07af691 wlp_dev_prim_OUI_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xd290a723 wlp_dev_model_nr_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xe00fbd57 wlp_eda_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xe21627c5 wlp_dev_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xe5f36672 wlp_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf5d2ac33 wlp_wss_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf68f713a wlp_dev_prim_category_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf6d8d58d wlp_dev_prim_OUI_sub_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf9de4b00 wlp_prepare_tx_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xfa240236 wlp_neighborhood_show +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x0b9fca78 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x6eb4f26b ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x742f84bb ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xaec74ee2 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xce13840d ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x99e8faf4 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0xa2f5b735 fb_sys_read +EXPORT_SYMBOL_GPL drivers/w1/wire 0x0ef16075 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x3cda263d w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x3f1267a3 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x55f584b6 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x567eedaa w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc2f1edf9 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xde564bd0 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0xf0f5263c w1_reset_bus +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x0864c4a4 dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x6695472c dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9916aa66 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xbcd5c11f dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xdc583c08 dlm_unlock +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0x0d3decc8 exportfs_encode_fh +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0xbf46f52c exportfs_decode_fh +EXPORT_SYMBOL_GPL fs/fat/fat 0x1d001a67 fat_build_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x1d1be120 fat_scan +EXPORT_SYMBOL_GPL fs/fat/fat 0x28415fa9 fat_free_clusters +EXPORT_SYMBOL_GPL fs/fat/fat 0x3c5708f2 fat_time_unix2fat +EXPORT_SYMBOL_GPL fs/fat/fat 0x3ea02151 fat_detach +EXPORT_SYMBOL_GPL fs/fat/fat 0x52eee716 fat_alloc_new_dir +EXPORT_SYMBOL_GPL fs/fat/fat 0x557e0e52 fat_getattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x595cb58f fat_get_dotdot_entry +EXPORT_SYMBOL_GPL fs/fat/fat 0x6554e7fc fat_attach +EXPORT_SYMBOL_GPL fs/fat/fat 0x7466ad99 fat_setattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x74bf58d8 fat_fill_super +EXPORT_SYMBOL_GPL fs/fat/fat 0x833355da fat_dir_empty +EXPORT_SYMBOL_GPL fs/fat/fat 0x8640dc03 fat_add_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0xbdfa35bf fat_search_long +EXPORT_SYMBOL_GPL fs/fat/fat 0xd02d1b11 fat_sync_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0xd197f1a5 fat_fs_error +EXPORT_SYMBOL_GPL fs/fat/fat 0xdf8c58a7 fat_flush_inodes +EXPORT_SYMBOL_GPL fs/fat/fat 0xdfbffc7e fat_remove_entries +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x030ca4c5 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x1a618932 nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x3ef16f60 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x806ff2c1 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa7b91a7b lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xd1f39b1a nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xdaa1d1be nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf6933c48 lockd_up +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x1ea72c2d nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xa96f4c0c nfsacl_encode +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 0x28fa0a5d o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x33df6dfe o2hb_unregister_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 0x4f63a416 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x521e0726 o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x660afdb9 o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x6d68e271 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +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 0xb69536dc o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbaeb4700 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd60f2c6c o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1cec04b o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf56c2017 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x4672f8bc dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7315fa45 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xa4cd9947 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xddb9bee4 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xe0c379d3 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xee335a70 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0562c415 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x06379db6 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0e27f909 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x1cac63b1 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x21db5b88 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4a1f6fe9 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x5840e6c8 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x81c85a68 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x91fab465 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x963932a3 ocfs2_stack_glue_set_locking_protocol +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xa7d5c1c0 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd066711e ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xf18b85bd ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL lib/lzo/lzo_compress 0x2e1d43cf lzo1x_1_compress +EXPORT_SYMBOL_GPL lib/lzo/lzo_decompress 0x2a1538ca lzo1x_decompress_safe +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 0x06128c27 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x0c60570b garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0x3c91641b garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x4f7904ce garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xbf817cb6 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xe8bfd272 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/stp 0x52c3dcc9 stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0xe223987f stp_proto_unregister +EXPORT_SYMBOL_GPL net/dccp/dccp 0x01c4081d dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x24e89c8e dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x25bfb85c dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2a52f00d dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2dbcadf5 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3460ea23 dccp_insert_option_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x35cccbf4 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0x36b21a45 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3cafe088 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x433441f4 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0x490d18c4 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4949734c dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x518c150b dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x56ea266a dccp_state_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8713a410 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x88d007cc compat_dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8900c6ba dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8b7d8caf dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8c0ca543 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8cfab7fc dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8f0fb26a dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8f66547d dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9660256a dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa0a631fd dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa21fe7b0 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb80050c4 dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbedaf4fa dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc220eddc dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc65075e2 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcbf2d21e dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xccbe99d0 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd4fb108f dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd534e54e dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdad24318 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdeb56b6b dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdfc35ac7 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0xedd2b451 compat_dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf1827cbd dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x3f0540cb dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x64a8c23b dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x64cd5eeb dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x84a43aaf dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xa2818904 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xec8b7312 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x6d40a921 need_ipv4_conntrack +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0xfbc120f8 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 0x07ae60b6 nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x0cd72f85 nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x65deea43 nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x76c39c6b nf_nat_proto_find_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x94a08134 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x9556afb6 nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xbe3e61ae nf_nat_proto_range_to_nlattr +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xdf468b3c nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xfa39411c nf_nat_proto_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat_proto_gre 0x636b12c8 nf_nat_need_gre +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x27afef9d tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x89750561 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xa310c3ad tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xa5542164 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xaa3fe304 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x08a3e5d1 net_ipv6_ctl_path +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x15430567 ipv6_opt_accepted +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x18203096 inet6_destroy_sock +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x18334ec4 ip6_local_out +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x417813e2 ip6_sk_dst_lookup +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x647c9b7e inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x684d3170 ipv6_find_tlv +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x78463c02 ipv6_dup_options +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xb1472db6 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xb38a56e4 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xc3fdbb26 ip6_dst_lookup +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xce05fc5a inet6_csk_xmit +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xcfd7355f inet6_csk_search_req +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xe2ac03af fl6_sock_lookup +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xe355219f inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xf4dd0864 ip6_dst_blackhole +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x0637d4e8 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x34162310 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe6476b4a net_vs_ctl_path +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x026731c1 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0824e930 nf_ct_unlink_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0bc50632 nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1f38ee41 nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x23e0b3ef nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x241feedf __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2b9beca7 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2d09c103 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2d7a359f nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3190738e nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x324c4d9e nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x36325d35 nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37831b07 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3da2e831 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3fae172c nf_conntrack_hash_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x41d1b297 nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b6e3b21 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b8d37c6 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b9065a9 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4c2ce010 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x51986853 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x57634bf8 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5882ba33 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x60c4fdbb __nf_conntrack_helper_find_byname +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x60d568a2 nf_conntrack_untracked +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x662d79b4 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x664b2a9a nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x676314d7 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6cbcdfb3 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e28d4fa nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6f5e542b __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x73e7d015 nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x76e4e4a9 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x81529f8d nf_expect_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8a3e74e4 __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8a5e08ac nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8e14434f nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x90e8e74b nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x90ff6c9f nf_ct_invert_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x96421c9d nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x98d89e61 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9af3f6c1 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9febe6b6 __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa1868257 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa2de85c9 nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa60616c6 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaa4f854e nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xacab581e nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xadc58db7 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb0b2316b __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbb9aa69a nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc072d4d2 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc267e0e6 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc5f424d0 nf_conntrack_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc69ed7ae nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc9183e56 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcb7edb92 print_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd54900df nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdb3e9987 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdbef8b57 nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe6694922 nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf516aa57 nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfab12443 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfda8417a nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xff5f441c nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x8222965c nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x9d72ca52 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x00010741 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x165483a2 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x539735d3 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6073dbb6 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x61573d70 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x81f89a6f set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x8e671415 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xc7bad7c6 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd1486c66 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xea7c9cea get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x4b317b7a nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x0043756d nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x2b69a9df nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x7653f5f5 nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x853e4ad9 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x250fd1da nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xc80fd8d6 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x22fe4931 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x517fa09e ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x5d1fdcb4 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x5e5d4742 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x6082970f ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8298dfca ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x852101b3 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa64adf0e nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xd84909a0 nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xda2d3491 nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xeadd940b nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xee5b54f4 nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x359cf7c0 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x1aa6bb4e nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x2585a779 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x223435b5 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x42d5d4cf nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x72c5a29f nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xa8dd4991 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xeca95329 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xef9b4bbd nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x35366e68 nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x063f66e6 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x0717828e xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x161d1417 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x48a9a9dc xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5c1cda67 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5c837935 xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5f82f1f7 xt_compat_flush_offsets +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x62b25cbd xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x684694c5 xt_compat_add_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6f9aa2fb xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7b9fbfc7 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7ca74b44 xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8e894d26 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x929b0c8f xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa1cce8f9 per_cpu__xt_info_locks +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa835ddeb xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbb3ee02e xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbc437426 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xca0a55fb xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe0b4971b xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xeb6ec7aa xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xfd52cd57 xt_check_match +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x03cf64a3 rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x0bf558d5 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x0c6650a9 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x0d2fdbdf rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x0f9d06ff rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x109ba312 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x18b71414 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x2c5c5514 rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x30a91b1a rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x3101936e rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x3c64f5a8 rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0x50315544 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0x5703ffc6 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x5fef174a rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x604c2bb8 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x6dffee7e rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x77d4ff0f rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x7828d73a rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x7d45a9ea rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x81a59d86 rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x894d32f9 per_cpu__rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x98df68f9 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xa88919ed rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xbd05c575 rds_inc_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xc2da8e38 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xd88bf8e0 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0xfc02943c rds_inc_put +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x8ac03ea4 rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0xed260b21 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 0x2906653d gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x6bca9945 gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x808168f4 gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x89654f43 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8d1a827e svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x91d962d6 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb3e7091b gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xc73f096c gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xdb415343 gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xdf2c7d2c gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xe383990f svc_gss_principal +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xfcf62177 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x000d7999 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x021626fc rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0264cfdc svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x034fe9c5 xprt_set_retrans_timeout_rtt +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 0x099c620d svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d4730a9 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0efcda21 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11f61624 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12e280e3 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x130e81e1 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x15a387c4 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x192de2df svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1cae2ec5 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21253194 rpc_exit_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x24de762d svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x272e9848 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x28f6478d svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2a885325 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2aa17774 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b5206c6 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2cdf2eab xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eb19e8a svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2fdcc68d svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3270b911 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3275c1ef rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x32acbabc rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3698c7f6 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36e68f0a sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x39bf3891 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3aa6ff09 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3b89814a xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3caf725f xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d7e55d5 xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d91d0e7 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e572329 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f28c2c5 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x404be6ae rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x41d1e0f7 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x453dc3c4 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4621b2b0 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x463fdeca rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x47606c82 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x47edd74b svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48a31a6f put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4968a46b svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b9de6de rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ccb3ad2 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ea0372f svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4f55ec7b rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54c75285 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x553b19d5 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x567ff5c2 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5948d791 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b14ec1a rpc_put_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bd26000 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5ca1446d rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5e9d179c rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5fb171de xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6049221e rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x62013923 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6219d49c rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x62c9012a svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64cbf7bf svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x675524ec rpc_sockaddr2uaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x68798202 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x688313a3 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x690c7f79 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a01f510 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6abda113 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6b1948fd svc_sock_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6b60baac rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6bf13cc0 rpc_mkpipe +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c5304c5 rpcb_getport_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6eea229d svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6febbe25 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70850f32 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7231219c rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72fca106 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74934ace svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x775adaf6 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7cc6f669 rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7dba2a7f svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e260568 auth_unix_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x80bb0f64 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x871dd7fe xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x88110013 xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8a4da709 auth_unix_forget_old +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8b633994 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c9f7f0b rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ca73fbe sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90d0410a sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x926e9176 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x948470cc svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x949487ae xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9962ce9d rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99e85f4d xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9c44b769 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ea39a57 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa27b6c1d rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa67b7b59 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa8cb288c svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xada1a67e rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb0f28ea0 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb13241b2 auth_unix_add_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb364c3e9 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb4037b8b cache_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb43fc49d xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb5b78a15 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb74a7e38 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb81e8350 cache_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb88dc3b0 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbb13b4d9 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc3dc0e6 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd787a9d svc_exit_thread +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 0xc195ca32 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2f57ce3 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3bfdc32 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcaf0a3d1 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce79a250 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf81513c svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd0a5bda1 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd15c7a37 sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd513c515 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7ca298e svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xddcea17e rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde1da8fb xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe00e117e rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe017e7c9 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe036cbf1 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe04b8bad xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4234a54 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe54f9f95 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe85d8de8 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea8a9e14 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeb21ae9d rpc_get_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xebc22d27 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec9b2e0c svc_sock_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee8e0a36 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeec2026e svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1f580a2 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf5cbf15b rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf70983d8 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf83653c8 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa9226af rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfd4bf082 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfd6364f1 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfefb71ca svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff8a0cba rpc_lookup_cred +EXPORT_SYMBOL_GPL net/wimax/wimax 0x031f9c2b wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x0d5d9907 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x34680e28 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x4dea8a8f wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x55f27972 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0x5fc7276a wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x69181b54 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x733e1cae wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x91e85e62 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0xa221bb01 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb9aee396 wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0xe50f6db7 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xe8d3640a wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x11efb1fa cfg80211_wext_giwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1318d32e cfg80211_wext_siwmlme +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x13f39134 cfg80211_wext_siwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1798abdb cfg80211_wireless_stats +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2e1ee26f cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2f617060 cfg80211_wext_siwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2fd98144 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3f4ae3d6 cfg80211_wext_siwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x60e87979 cfg80211_wext_siwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x741d38a7 cfg80211_wext_siwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x747ba13a cfg80211_wext_siwencodeext +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x78f5bf11 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x899389b0 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x90a2d475 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9a1be2f6 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa0e68f18 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa115443d cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa1ed716f cfg80211_wext_giwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb055f890 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb0cd1cae cfg80211_wext_giwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc3361aec cfg80211_wext_siwgenie +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcb2a915c cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcf1be27d cfg80211_wext_giwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdb74b264 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdc93893b cfg80211_wext_siwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xddae32b4 cfg80211_wext_siwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xee2c82b8 cfg80211_wext_giwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xefbb2216 cfg80211_wext_siwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf51ca1e2 cfg80211_wext_siwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf904481a cfg80211_wext_giwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xfc334950 cfg80211_wext_giwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xff4415b7 cfg80211_wext_giwessid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x6ca89618 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xee31d564 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xf5eb8017 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xff918b89 ipcomp_input +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x019c1bc8 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0609975c snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x07cafcf3 snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x133e67f2 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x16aa2f21 query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1a3f63fb snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1e85880c snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1ff0ef6b snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x20a8e6d5 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x211271ed snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x23e8372a snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x246ee7a8 snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2588c9c3 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x25fffb68 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2832d299 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2998d385 snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x32e310ba snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x33d42491 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x35580cf2 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38024212 snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x40328fa7 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x406b789c snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x42063c7a snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x447cd032 snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x484f3364 snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x50240de5 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x528fe30c snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x58927948 snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x59877c2a snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ae76f73 auto_pin_cfg_labels +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x62391e13 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x63cabebc snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x65e1d311 snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x67b4b9be snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6c0a05ea snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6cc874a0 snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x73f7efc7 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x763e9ee6 snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x77974079 snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x79ba655c snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7a5c5c5e snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7c3879a7 snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x86eaf8ea snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x87506fd2 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x879a35cb snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8847cabc snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x946a558e snd_hda_parse_pin_def_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x94a10e85 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a0c3cd3 snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a71fac0 snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa25c7318 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa82472a5 snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad87613e snd_print_pcm_rates +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb4a88661 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb5da70c5 snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb61839f0 snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb7986dfe snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb9f56eca snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc17617b5 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc34a54c6 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc6f23573 snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb6841dc snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcce27eb0 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xce4a8e19 snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd0bc82c5 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd4b9c31c snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd5035424 snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdda71ae4 snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe211701c snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe7ad1abc snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeae5bf7d snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xef9ea74f snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf10f337a snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf75c89e3 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf7e70e78 snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfb51e861 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfd162c2f snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0x525af50b soc_codec_dev_ad1836 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0xa43faf6f ad1836_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0x529fce81 ad1938_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0x7465bfe0 soc_codec_dev_ad1938 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0x8250ee4c ad73311_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0x89f3aba1 soc_codec_dev_ad73311 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4104 0x678b1fd0 soc_codec_device_ak4104 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0x0232d6d2 ak4535_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0xb2ab43b0 soc_codec_dev_ak4535 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0x541fdf07 ak4642_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0xea106c1c soc_codec_dev_ak4642 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x6c07f260 soc_codec_device_cs4270 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0xc06012b6 cs4270_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x0db47fbc max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0x93e5f19b soc_codec_dev_pcm3008 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0x9d171142 pcm3008_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-spdif 0xe8bded3b dit_stub_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x34f039db ssm2602_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x9850f450 soc_codec_dev_ssm2602 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0x0782983e soc_codec_dev_tlv320aic23 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0x67cd7885 tlv320aic23_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0x81ea743a aic26_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0x935e1269 aic26_soc_codec_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x12cf1492 aic3x_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x451d128c aic3x_headset_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x4fe58253 soc_codec_dev_aic3x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x80aed92e aic3x_get_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xb0f4a7fe aic3x_set_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xb5cae91f aic3x_set_headset_detection +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xd0a73d0b aic3x_button_pressed +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0x37dd7c58 soc_codec_dev_twl4030 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0x8615bf57 twl4030_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda134x 0xf6651a5d soc_codec_dev_uda134x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x3455ca80 uda1380_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0xc7df2634 soc_codec_dev_uda1380 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x0b4ab80b wm_hubs_add_analogue_controls +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 0xa0102e20 wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x29bf9127 wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x9e3a4bfe soc_codec_dev_wm8350 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xcbb9ffc7 wm8350_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x0526b1ac soc_codec_dev_wm8400 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x9344d979 wm8400_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0x6809db93 wm8510_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0xdbffc473 soc_codec_dev_wm8510 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0xdf75b3a0 wm8523_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0xf29429e9 soc_codec_dev_wm8523 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0xd42efffc soc_codec_dev_wm8580 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0xf6b1eab3 wm8580_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0xbb6938a9 soc_codec_dev_wm8728 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0xf797441e wm8728_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x6b69e9d7 soc_codec_dev_wm8731 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x76ef1e62 wm8731_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x76ffa424 soc_codec_dev_wm8750 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0xde63f8fd wm8750_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x480c80f4 wm8753_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x5dd2f7e7 soc_codec_dev_wm8753 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x2321d7cc soc_codec_dev_wm8776 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x846cf0ad wm8776_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0x90eb11fc soc_codec_dev_wm8900 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0x99d1c568 wm8900_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x1f45b7c6 wm8903_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xbbc6423f soc_codec_dev_wm8903 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0x6d9ee17b wm8940_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0x97e2b920 soc_codec_dev_wm8940 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0x94666d4e soc_codec_dev_wm8960 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0xfa01f052 wm8960_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0x315d23f7 wm8961_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0x8d7d5c0f soc_codec_dev_wm8961 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0x8cbf3638 soc_codec_dev_wm8971 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0x972a2843 wm8971_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0xc7e7b9f0 wm8974_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0xf1c8c27d soc_codec_dev_wm8974 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x466d0962 wm8988_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x5621ca4c soc_codec_dev_wm8988 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0x0c4980bb wm8990_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0x9f3a2a73 soc_codec_dev_wm8990 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0x8addf215 wm8993_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0xb41779b0 soc_codec_dev_wm8993 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0x695657c2 wm9081_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0xc78b173f soc_codec_dev_wm9081 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x010c5698 snd_soc_free_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x029bc619 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c2b5582 snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x11d7492d snd_soc_init_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x154c12e1 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x15b2f7a9 dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x161ceee2 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x19b08ee7 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2610023e snd_soc_dapm_stream_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x287f2fa4 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2af86865 snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2da7f76a snd_soc_info_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x353f1b8f snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3573aab9 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3caa094c snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x411cd60e snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4482171e snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4d32c4b5 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4f353038 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x50d80a05 snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x52e47ab9 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x554e7138 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x57a4b0af snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x58077cb8 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5a229a01 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x616aaef5 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x68281a75 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x69188c50 snd_soc_get_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6d0ac3da snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7617edff snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7700186c snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x77f1fe14 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x780d4ffa snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7996d6fe snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7cac489f snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7f14d626 snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7fe435a8 snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x835bd740 snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8c8e4e9b snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x91643691 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x971b62bc snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9b37d760 snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9bb65035 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9e5f4cd3 snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9f843aab snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa62c6115 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa845bb13 snd_soc_add_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb7711dd7 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc30982f7 snd_soc_new_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc480991e snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc6201a89 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8732c4b snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcae09e71 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xce5ec2eb snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd2cc0f34 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd7d93799 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd9bc1a40 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdf41bb1a snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe04a4ca6 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe4bddfeb snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xef344901 snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf089b5ee snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf1a34b6f snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf1fe45d0 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf2b1859d snd_soc_put_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf532bc8a snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf7013fe0 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf806de50 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xff7eda8b snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x000f0223 find_module +EXPORT_SYMBOL_GPL vmlinux 0x004151ca crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x00566d8f inotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x007b5eec debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x0086f700 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x0096ddba fb_ddc_read +EXPORT_SYMBOL_GPL vmlinux 0x00b8ecf8 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x00c73daf regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x00e20e71 ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0106e2e2 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x016b9869 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01a5af2b ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x01a92bdc aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x01e18ee1 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x01e6013a scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x020d80e6 input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x024bf15f rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x02858f3a platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x02e96e59 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x02f80bd9 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x0347cfa9 __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0x038485be queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x03fa2655 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x04069b1d set_irq_nested_thread +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x0456c521 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x04ea8706 __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x04f3ac04 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x052f7ab3 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x060b640d xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x0619ca8a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x065ffd7e crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x0680e8f5 remove_irq +EXPORT_SYMBOL_GPL vmlinux 0x0771c307 drm_class_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07c19b1a dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x07e17385 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x07e78378 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0x07eedb95 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x07f74407 eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x0818d86f tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x087892d1 blk_abort_queue +EXPORT_SYMBOL_GPL vmlinux 0x08d8708f cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x092b5a22 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x09b64f8e bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x0a76d4c0 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x0ac111d8 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0acebc7d __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x0af414a1 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x0b034c0d fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b126d73 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x0b6f7e7f fib_rules_cleanup_ops +EXPORT_SYMBOL_GPL vmlinux 0x0ba2ada6 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x0bd1a1e4 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x0bd57f78 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x0bfbc96c power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x0c068934 pcr_ops +EXPORT_SYMBOL_GPL vmlinux 0x0c0ed53f fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c4a2097 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x0c4d8d97 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0x0cb88680 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x0ce133f0 crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x0d17fe87 tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0x0d3abc4b fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x0db5a95d __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x0db98489 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x0e8b9fab rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x0eb398cb unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x0f548d8e xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101c923e __tracepoint_power_start +EXPORT_SYMBOL_GPL vmlinux 0x107d3a2b sysdev_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x10939cfe ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x109ed2d9 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x10c45f24 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x11205e08 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x118c1182 __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x123f6d94 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1251d30f call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x12b54f81 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x12c6713f generic_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x1306724a crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x1335fcbf shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x133ac1a7 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x1374f158 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x14465782 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x144ca71b klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x14673963 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x146b81ba rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x149db923 selinux_string_to_sid +EXPORT_SYMBOL_GPL vmlinux 0x14a84b51 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x14b14d18 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x14f49715 register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x15800d8e blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x158355d0 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x15892417 async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1598b39d sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x1598dc9d unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x15d57521 filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0x16974abc ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x1699bcfd debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x16bd43fe bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x16fb347b __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x172da441 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x17a92b76 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x17bcfe0c crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x17efa6d6 trace_define_common_fields +EXPORT_SYMBOL_GPL vmlinux 0x1804c203 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0x1833d76e ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x18526147 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x18fe24ac inotify_destroy +EXPORT_SYMBOL_GPL vmlinux 0x19029c7c drm_class_device_register +EXPORT_SYMBOL_GPL vmlinux 0x1909f3d2 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x191fb096 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x19b70ac1 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x19c43fc0 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x19c5b14c class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a474901 tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x1aa7bf08 sysdev_show_int +EXPORT_SYMBOL_GPL vmlinux 0x1aad86c2 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1afa6ce9 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x1b7f9f8a klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1bfbf918 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x1c35782a tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x1c3af716 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x1c3e755d fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x1c852e7c xfrm_calg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1d3f7437 device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0x1d64c713 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x1d8f8059 __tracepoint_power_end +EXPORT_SYMBOL_GPL vmlinux 0x1d9af88d platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x1db21d74 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x1dee2629 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x1e14303a mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x1e480fb3 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ec1f540 spi_async +EXPORT_SYMBOL_GPL vmlinux 0x1f7eac43 i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x1f8fa165 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1feb105e skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x20012b15 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x205a3faf i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20f6b1bf disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x215bcbe0 klist_next +EXPORT_SYMBOL_GPL vmlinux 0x215db6e9 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x21a06921 __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x21ab6603 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x22244d7c gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x2245b2b2 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x22d7fdce platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x22e2c20b atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x22f35124 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x231d50bc driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23fef771 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x2404a7e3 get_cpu_sysdev +EXPORT_SYMBOL_GPL vmlinux 0x24227c0f platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x265db448 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x2662efcb class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x2689cb1a crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x26951ce6 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x26ad44b4 inode_add_to_lists +EXPORT_SYMBOL_GPL vmlinux 0x274dc648 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x278fdc2e tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x27adf232 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x27b63291 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0x27f2cfe9 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x282e0105 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x28705f5c crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x28756a99 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x28b2cc80 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL vmlinux 0x28f3053b platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2957d131 user_read +EXPORT_SYMBOL_GPL vmlinux 0x299de8a1 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x29bdef6d class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x29c9b209 ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a94b8bb inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x2ab27cde regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2b2366db blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x2b57e0b5 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x2b9f8e23 nf_net_ipv4_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x2bca18b2 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x2bcaa8e3 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2bfc4d7f tracepoint_get_iter_range +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c2174e2 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x2ce459ce inet_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x2ce80d33 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d2174dc sysdev_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2da8ad21 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x2db7f505 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x2e23de9b __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x2e3dadf8 rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x2e47f677 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x2e5716ee enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x2efcf783 save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0x2f3d0904 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x2facc843 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x30c262e8 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x3120fa0c register_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0x31522e71 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x318da3b8 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x31c79a01 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0x31da884a register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x32a6b165 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x32d5e7fc xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x32f17454 ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x33205117 nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0x334d5242 gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0x3362f065 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x33bf8961 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x33f57f8b tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x34275124 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x34309407 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x348378a5 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x34cdf54d devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x34fe5fc7 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x3525046d device_rename +EXPORT_SYMBOL_GPL vmlinux 0x3615423a single_release_net +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x36a55400 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x36c1bf10 bus_register +EXPORT_SYMBOL_GPL vmlinux 0x370afd64 sysdev_class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x37308d1b crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x374cf513 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x3783641d spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x37ad4176 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x386f3f51 nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x38bd0bb9 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x38e05a5c driver_register +EXPORT_SYMBOL_GPL vmlinux 0x393e6e9a eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0x39819646 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x39b5ee89 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0x39b732d8 single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x3a99b1b9 crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0x3aa3ebe7 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x3ada5777 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x3adb362c eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0x3aff6e37 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x3b525ea6 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x3bb0c836 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x3bc33f65 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x3be7af02 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x3c27f4a6 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c6c45ca __tracepoint_power_frequency +EXPORT_SYMBOL_GPL vmlinux 0x3c83e164 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0x3cc86f7c crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cead838 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x3cfdfae5 trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x3d4ee9fa fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x3dbf3968 __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3dc86319 sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x3ea019b2 class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x3eca555e simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x3f5249ee spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x3f822a14 use_module +EXPORT_SYMBOL_GPL vmlinux 0x3f937cf4 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x3fdd9505 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x3ff3abb7 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x3ff616a6 proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0x4024a4aa dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x4034e7df regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x40402e40 inotify_init_watch +EXPORT_SYMBOL_GPL vmlinux 0x40450286 sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x4055c683 each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x409d6f9f debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x40ad078a attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x41071852 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x4171af0a crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x41b9e46a inet_csk_compat_setsockopt +EXPORT_SYMBOL_GPL vmlinux 0x4223fb40 lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0x42418e52 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x42494cea ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x42a16723 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x42a286d3 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x42a57394 tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x42cfa37e page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x4301ab52 proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x431b1005 kill_pid_info_as_uid +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x43555391 dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x441a046d dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0x445441f2 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44b7f899 ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0x44d2680b relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x44da82e2 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x45668e5d shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45fe7de8 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x460a7744 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x46266f60 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4645d94a inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x46b0fc07 blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x47355ea6 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x479b72e5 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x479d6ea9 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x4807fd5a class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x48735d3a generic_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0x488f5c75 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x49311601 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x493de8f5 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0x497c535b crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x4992e11b sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x49c4417b i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x49cdd9cc __module_address +EXPORT_SYMBOL_GPL vmlinux 0x4a3221e4 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x4a3c9715 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x4a916cf3 rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0x4a9a5f1e crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x4a9f9086 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0x4b1febe5 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x4b5cfe56 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x4b60dc60 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x4c27d15d sysdev_create_file +EXPORT_SYMBOL_GPL vmlinux 0x4c72c022 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4c848371 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x4d8f4c15 klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4db31320 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x4dff4262 user_match +EXPORT_SYMBOL_GPL vmlinux 0x4e1bc5fd xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x4e6e8d34 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x4ee05be7 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x4ee4cd2b debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x4efbd1fd blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0x4f12aba6 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x4f668719 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x4fae2093 user_describe +EXPORT_SYMBOL_GPL vmlinux 0x4fce8df0 sk_clone +EXPORT_SYMBOL_GPL vmlinux 0x4fd35bbd mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x5022d98c simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x504419db pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x505ab317 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x508ed241 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x508fb20c spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x50be58e8 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50eb0dd5 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x50f5e532 call_rcu_sched +EXPORT_SYMBOL_GPL vmlinux 0x50f69c47 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x51181193 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x515a94ef dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x5190015b __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x52392653 inotify_rm_watch +EXPORT_SYMBOL_GPL vmlinux 0x52d111ea pm_qos_update_requirement +EXPORT_SYMBOL_GPL vmlinux 0x5324d04f bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x532ee540 tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x5362a4cd da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5371afd7 elv_register +EXPORT_SYMBOL_GPL vmlinux 0x53814f6a unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x54393751 inotify_inode_queue_event +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x548aee9c da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54a8c84d __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x54cb106d inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x54cf5ec8 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x54d284ec class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x550a3077 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x55b1e7e1 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x55d0d168 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x563fb5c8 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0x567c7f09 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x569633e1 device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0x571198f0 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x572f3eee xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x573ca15c vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x577b599e ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x5884f5c6 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x58d23290 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x5a1080de crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x5a3a31e2 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5aa4f795 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x5ab7a27f inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x5abbdbc4 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x5b0022eb device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x5b6114c4 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x5bac7788 register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c4c2bcc tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x5cefbe9e anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x5d0f6f57 kbd_table +EXPORT_SYMBOL_GPL vmlinux 0x5d292e05 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5e51e988 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x5eb0fca1 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x5fa69f09 get_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0x5fcdec5d xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x5feb5095 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x60289d3b ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x6099729d fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x609dba63 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a72f48 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x60db568b debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x60f0b9d2 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x611e756d crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x61378a72 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x61693711 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x6178b048 tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0x61a7acb8 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x61d0c980 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x622b3e2c srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x62546796 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x626b4cfa device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x629a7f6e do_posix_clock_nonanosleep +EXPORT_SYMBOL_GPL vmlinux 0x62c70569 fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0x62ebfff6 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x63e5747b device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x63f4dc09 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x640beb03 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x644101e6 put_driver +EXPORT_SYMBOL_GPL vmlinux 0x647f9377 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x649e9592 klist_init +EXPORT_SYMBOL_GPL vmlinux 0x64e1bd3f input_class +EXPORT_SYMBOL_GPL vmlinux 0x64fbe59a queue_work +EXPORT_SYMBOL_GPL vmlinux 0x65253fd2 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x6549df2a vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x65bbbc78 schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0x65c86d86 device_add +EXPORT_SYMBOL_GPL vmlinux 0x65cbc02a ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d6d0f0 gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6642039e tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x66754452 spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x667a21a6 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x667fc3ea blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6692cd7e of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66cd7ff0 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66e7e223 power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x66f03065 sysdev_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x6727e699 devres_find +EXPORT_SYMBOL_GPL vmlinux 0x678f6348 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6836a082 register_posix_clock +EXPORT_SYMBOL_GPL vmlinux 0x686c703f xfrm_count_auth_supported +EXPORT_SYMBOL_GPL vmlinux 0x6901119a trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x69a8b85c tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x69a961bc dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x69b2453c inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x69bfb5e3 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x69df6c6c bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x69e8a0dd securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x6a1ac352 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x6a285439 tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0x6ab7b758 dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x6ad8ff0d disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x6b1247ce hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x6be62dfd probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6c8eb98f xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x6c91004d kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x6cdde37b tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x6ce2f647 skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6dc490cf rtnl_kill_links +EXPORT_SYMBOL_GPL vmlinux 0x6e7474fc xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x6ea08b65 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x6ec8e53a hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6f4816ff page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x6fb9af9c blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x6fe3d8cf ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x6ff06504 unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x705b2b54 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x70763bc8 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x70e24321 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x71357fb1 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x7168048b ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0x716ea555 inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0x719c5f5d crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x71e8765b tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x7268ab9e regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x7288c24a crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x728b35a3 drop_file_write_access +EXPORT_SYMBOL_GPL vmlinux 0x73c6a28f netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x73e8959c skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x742b1fe4 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x744f89c8 inotify_find_update_watch +EXPORT_SYMBOL_GPL vmlinux 0x746ddd9b sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x75084aac __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x75413e0c device_attach +EXPORT_SYMBOL_GPL vmlinux 0x759704e9 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x760e102c crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x76249884 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x76729bc7 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0x77372dad default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x773ca527 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x774b2fa9 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x77d1427c platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x77fda026 device_register +EXPORT_SYMBOL_GPL vmlinux 0x784b4d34 platform_device_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x785e3a2a class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x787a96e6 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x7889c130 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x78af7c8f init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x78e4a4ee klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x793b894f crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x7948d109 srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7996a744 nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x79f093bd uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x7a1c4be6 nmi_adjust_hz +EXPORT_SYMBOL_GPL vmlinux 0x7a3707aa __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x7a443882 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x7a741efd xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x7a9fcfe2 sysdev_class_register +EXPORT_SYMBOL_GPL vmlinux 0x7ab60eda xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x7ac5ccce dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x7b2d4d12 do_sync_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x7c28ba8b ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x7c300324 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7d8341fc hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x7da5135b regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x7daf0726 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e78aa8d raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x7eb82bbd crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7edd12a6 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x7f8e43d9 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8022abff register_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0x8039d043 selinux_secmark_relabel_packet_permission +EXPORT_SYMBOL_GPL vmlinux 0x80639c05 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80ee55c3 selinux_secmark_refcount_inc +EXPORT_SYMBOL_GPL vmlinux 0x81034ae3 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x8110e43e __put_net +EXPORT_SYMBOL_GPL vmlinux 0x8168cb26 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x8203e9bb relay_close +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x82845f2e posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x828ba808 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82f776b7 gpio_export +EXPORT_SYMBOL_GPL vmlinux 0x835e7e99 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x836bf0cd inet_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x836e2174 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x83e6e5cd skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0x8412e3c5 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x841c9e35 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x843567ce debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x84d27fc6 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8505d388 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x857e629f class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x85a078b5 fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85fcbfa6 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x860b9b02 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x8621c382 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x86432922 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x86812341 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86b1667d hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x87129cdf debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x87578a06 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x87997daf __class_create +EXPORT_SYMBOL_GPL vmlinux 0x87ab88a7 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x87ac1bc6 klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x87ee1a0d pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x880082b4 driver_add_kobj +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x885142a6 nf_net_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x8871dbac dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x88831ef5 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x88c04047 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x893549af fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x89bc548c bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x8a9cb4db pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x8ade7269 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x8b8d157a crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x8bdc530f uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x8c3469dd clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x8ca34781 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x8cf3c172 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x8d033df4 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x8d35b397 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x8d72dc7f device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8db092d3 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x8dc5131a regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x8dcd4b1e inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x8de66638 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x8e908efd transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x8f4ff760 register_net_sysctl_rotable +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8fa74514 sysdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8fc0cc2d vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x90157348 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x90407712 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x910c9455 sysdev_class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x911d264d eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x91690f52 inotify_remove_watch_locked +EXPORT_SYMBOL_GPL vmlinux 0x91c16125 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0x91c2c350 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x91c92246 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0x91fc1f09 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x9226de04 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x92297c6d __set_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x926126d8 __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x9273f55e get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x9291f27e vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x9323afba da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x93293350 crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0x9354f8ad led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x936fd83d blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x94028a37 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x94030cc7 __create_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x94155ad1 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x9456d918 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x9459e32b __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x94f1059c spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x95836c82 __class_register +EXPORT_SYMBOL_GPL vmlinux 0x9593e0c9 proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0x96118268 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x962f66e6 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x96533a1c blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96e56c24 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x97d8f541 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x97dcac63 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0x98044f21 inet_csk_compat_getsockopt +EXPORT_SYMBOL_GPL vmlinux 0x982879f3 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x986d6965 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0x9898bf7f lookup_create +EXPORT_SYMBOL_GPL vmlinux 0x98deb6ba module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x98e42f80 macvlan_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0x990ef13d unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x997dacf0 sysdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x99955a69 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9c612e29 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x9c83ffa2 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x9cb8037b xfrm_count_enc_supported +EXPORT_SYMBOL_GPL vmlinux 0x9d7a412e trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x9e230675 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x9e711ad2 pm_qos_requirement +EXPORT_SYMBOL_GPL vmlinux 0x9e7f815f debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x9ed21e86 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x9ee43886 crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f51ac86 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x9f85ed90 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa0255440 net_ipv4_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0xa0421488 device_del +EXPORT_SYMBOL_GPL vmlinux 0xa0714a8e crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xa08e1bf5 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0xa10798ac regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xa1d983b1 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0xa20fc740 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xa23fb028 user_update +EXPORT_SYMBOL_GPL vmlinux 0xa291c7e4 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0xa38b7f90 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xa3b23ce2 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0xa3b4cf19 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa3d959b5 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0xa441af51 ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xa4700382 destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa48a4f71 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xa49fda9e blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0xa4a42813 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0xa4a8c73e power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa508e79c crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0xa53ea7dd uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0xa5b5f1b7 put_pid +EXPORT_SYMBOL_GPL vmlinux 0xa5bf5c3e pm_qos_add_requirement +EXPORT_SYMBOL_GPL vmlinux 0xa5c36cec inotify_unmount_inodes +EXPORT_SYMBOL_GPL vmlinux 0xa5d263e9 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0xa5e1d4ef ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa601c7b6 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0xa6191dd1 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa69015f9 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xa701a40b blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0xa722263e blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xa73b1c59 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0xa77937b7 hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0xa7870bbc generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0xa7f5ecad fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0xa862c4ca inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0xa89443cb crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0xa8957b05 transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0xa8988c57 do_add_mount +EXPORT_SYMBOL_GPL vmlinux 0xa89d1915 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xa8cb2613 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xa8da34ea regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa921a69d sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xa92d18cf fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xa9419e3e blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0xa962a00e debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xa9a540e4 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9e29e43 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0xaa5310f9 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xaa6c528c crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0xaa7ba4f5 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xaa8c4696 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0xaaf36ecd blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0xaaf976d3 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xab20a860 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0xab57e311 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xac1c501c sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0xacd72d1d inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0xacf31133 ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xad34a745 i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xafa89ffa sysdev_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xafe0af7d __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xaff8002e find_vpid +EXPORT_SYMBOL_GPL vmlinux 0xb029ed4b tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xb02b7c79 do_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xb041d3ef i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0xb07a8e1d rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xb0856e58 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0xb0a192e5 inotify_rm_wd +EXPORT_SYMBOL_GPL vmlinux 0xb0aa812e fips_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb0df8ae3 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0xb0ed6b77 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb146c1d8 gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0xb19455c4 sysdev_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xb1a9d076 bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb1e35a60 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb29c003e fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb29dc3b2 dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0xb2f124dc key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xb38763ee regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xb38efa06 inotify_init +EXPORT_SYMBOL_GPL vmlinux 0xb3f68f5d bd_claim_by_disk +EXPORT_SYMBOL_GPL vmlinux 0xb3f71549 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0xb3fe380c driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xb4248d13 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0xb4330223 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xb4689763 ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0xb4a22454 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0xb4f06827 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0xb56d1ec6 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0xb575e030 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0xb5838116 inotify_find_watch +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb5b38fe4 devres_get +EXPORT_SYMBOL_GPL vmlinux 0xb610806a inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0xb612444d snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0xb62e642a unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xb65091b3 selinux_secmark_refcount_dec +EXPORT_SYMBOL_GPL vmlinux 0xb6bfb231 register_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xb6f0b5ec crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0xb71fc35a inotify_dentry_parent_queue_event +EXPORT_SYMBOL_GPL vmlinux 0xb744fa43 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xb79d6529 driver_find +EXPORT_SYMBOL_GPL vmlinux 0xb7d94421 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0xb81e0e59 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0xb8759c2c srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xb89a861d rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0xb8a4fafd devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0xb91934aa spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0xb9257c3e security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xb93d4dfa transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xb9562902 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xb99d7f9f d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0xb9eb3aa9 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xba368de6 get_driver +EXPORT_SYMBOL_GPL vmlinux 0xba5f2e88 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0xbac91498 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xbb16ffe7 real_hard_smp_processor_id +EXPORT_SYMBOL_GPL vmlinux 0xbb757edc shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xbb85b030 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xbbf131fa __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbc29b560 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xbca0f8d5 net_assign_generic +EXPORT_SYMBOL_GPL vmlinux 0xbd85a2a8 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0xbd957827 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbe116723 do_posix_clock_nosettime +EXPORT_SYMBOL_GPL vmlinux 0xbe78c6e8 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbedcef9f led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0xbee2c056 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0xbeea7a2b srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbf176d8f raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0xbf2f5809 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0xbf74eb20 probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0xbf94def8 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0xbffde8ec compat_alloc_user_space +EXPORT_SYMBOL_GPL vmlinux 0xc03aeb10 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xc065c16c sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0xc072e1b8 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xc1001cad sysdev_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc126e890 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xc12f7e0d trace_profile_buf_nmi +EXPORT_SYMBOL_GPL vmlinux 0xc1f3a9e4 crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xc1f3dd5e rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc22da9fa ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc250ba25 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0xc2a55bfe scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0xc2cc5fa7 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0xc2f7be3a fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0xc30aa755 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0xc3301f02 rcu_expedited_torture_stats +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc3545901 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0xc400fe1f invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0xc4248104 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0xc45d6e25 disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0xc4b33aa6 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc4e11991 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0xc4e497b3 blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0xc53cb1c4 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0xc54d0008 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0xc55dc4fb unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xc56b04bb bd_release_from_disk +EXPORT_SYMBOL_GPL vmlinux 0xc56e5ac4 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0xc57bed26 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0xc589ce6d sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0xc5f78779 dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc6878b5a platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0xc690977a skb_morph +EXPORT_SYMBOL_GPL vmlinux 0xc6953780 put_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0xc6d18851 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xc6daef34 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc8f69a98 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9611201 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0xc965062b crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0xc966f4ab unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xc98d0f18 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0xc9e5d4fc register_dimm_printer +EXPORT_SYMBOL_GPL vmlinux 0xc9ef121b sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xca3c30e4 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xcab7f75b crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xcb0c2ebf __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xcb1cc1e8 device_move +EXPORT_SYMBOL_GPL vmlinux 0xcb51cabe klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xcb588d8f get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0xcbc0e2bd platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xccf8f0a9 map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xcd188abb br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xcd8f9afd sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0xcd940bc8 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0xcdb60c72 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdf8d647 regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0xcdfed241 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xceef52d7 inotify_inode_is_dead +EXPORT_SYMBOL_GPL vmlinux 0xcf4cd5dd regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcf6d7647 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xcf76e078 blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0xcf8af983 trace_profile_buf +EXPORT_SYMBOL_GPL vmlinux 0xcf9cbc44 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xcfbd17d5 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xcfc15613 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xcfc68341 synchronize_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL vmlinux 0xcfe4bca3 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0xd0350fc8 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd1107472 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd1df9805 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xd1e629cf rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xd20f2033 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0xd2154e28 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xd260b462 shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd2968a65 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xd3005157 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0xd3239723 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xd36e33d4 k_handler +EXPORT_SYMBOL_GPL vmlinux 0xd40977a7 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0xd4be1478 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0xd5041664 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xd522dc52 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xd54f3702 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0xd5cdfcce firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0xd5ff79f6 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xd603592b br_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0xd623cef6 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0xd65450a1 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0xd695cc77 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0xd6ad195e tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xd6cfc2e3 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd7096ccd fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd73ef534 sysdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd80cfee9 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xd821964e add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd8360087 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0xd8526f28 blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0xd954a319 aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0xd954c569 pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0xd980ae4b tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0xda1220df crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xda128fe7 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda8808ce regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb274e52 monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0xdb44a443 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xdbc22c59 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0xdc4674d6 rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0xdca276bd ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xdcccbbb0 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xddd56124 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde700c87 queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xde72f0cf device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0xde80aec3 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0xde886220 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0xdec72e59 crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xdf313106 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0xdfd6ac63 register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xdff1b0b3 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xe0477b60 class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xe04eb25b pci_unblock_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0xe0a0a12c crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xe0cca33e xfrm_aead_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xe0efb886 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0xe1447e22 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0xe156fa05 get_device +EXPORT_SYMBOL_GPL vmlinux 0xe1828d80 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0xe1eb1d04 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xe231557a vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0xe2a72c2e input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe2db9b7f relay_open +EXPORT_SYMBOL_GPL vmlinux 0xe306066a scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0xe34cbac9 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0xe44e2141 devres_add +EXPORT_SYMBOL_GPL vmlinux 0xe4619e18 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe4fe7652 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0xe51c623e sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0xe530071c pm_qos_remove_requirement +EXPORT_SYMBOL_GPL vmlinux 0xe532f184 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0xe55520f4 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0xe57014c6 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0xe57c3a46 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xe6045129 driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe653028a transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xe65f45e8 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0xe66673e2 unregister_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0xe6dd0d21 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xe6ed4280 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0xe7915935 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xe7b0dcce crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0xe7f6c71d pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xe8013fb8 crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xe8582bd2 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xe8620b77 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0xe87133eb hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0xe8789a12 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0xe8fd63ee unregister_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0xe901175f __dev_addr_unsync +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe98eff2a pci_block_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea7480c4 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0xeb45cd21 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xeb4c1fc8 __tracepoint_block_remap +EXPORT_SYMBOL_GPL vmlinux 0xec1a75a9 __dev_addr_sync +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec371b56 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0xec9022c2 regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0xeceac1d4 inotify_add_watch +EXPORT_SYMBOL_GPL vmlinux 0xed4417b8 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0xed621562 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xedf3bcd8 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0xeef11ea5 mmput +EXPORT_SYMBOL_GPL vmlinux 0xef1014d7 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0xef4e963e __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef82fdba srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0xefdd5a63 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xf01d121e sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0xf0702464 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0xf081e77f ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0xf11fd5a5 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0xf17b7686 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf259defb inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xf29272f1 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xf2e12f15 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0xf2fb9159 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf34806ec hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xf3744d82 device_create +EXPORT_SYMBOL_GPL vmlinux 0xf37e0d73 pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0xf3801b11 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0xf3a33b6c da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xf409b7e4 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0xf43f2ffc hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xf44ac1fb spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf4a31a32 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0xf50568d8 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0xf5384ac1 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf551ac5a udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf5522288 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0xf55c65aa crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0xf589b391 inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0xf58b7669 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf5934493 inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5cb6891 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xf61564dc sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0xf61a2e84 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0xf6bcbd73 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xf706c480 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xf78d9761 devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf7bceab1 pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0xf7c7f284 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0xf7cbad5a fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf805c9cc class_find_device +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf881485d sysdev_register +EXPORT_SYMBOL_GPL vmlinux 0xf8a2c1c0 skb_icv_walk +EXPORT_SYMBOL_GPL vmlinux 0xf8b4b47a unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0xf8c36c24 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0xf8fa4806 crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xf91ed7a1 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xf9539cf6 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9ba4aa4 inet_csk_clone +EXPORT_SYMBOL_GPL vmlinux 0xf9bd4867 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0xfa565479 put_device +EXPORT_SYMBOL_GPL vmlinux 0xfa7dba7f crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0xfac05b23 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0xfb0e60d3 rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfb4ad7d6 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0xfb9d0677 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfc86517e devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xfc96f0e7 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xfd0890fb unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xfd151f2f pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xfd3ce2b3 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0xfd56a51c tcp_done +EXPORT_SYMBOL_GPL vmlinux 0xfd5ee72d vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfdf459bf pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0xfe167436 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfeb5f7c3 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0xfef0b2ab spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xfefa2adb input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0xff0347f0 sysdev_store_int +EXPORT_SYMBOL_GPL vmlinux 0xff462096 crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0xff8f6f13 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0xffaf7bbb __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xffc04543 unregister_dimm_printer +EXPORT_SYMBOL_GPL vmlinux 0xffd894db pci_reset_function +EXPORT_UNUSED_SYMBOL vmlinux 0x00000000 simple_prepare_write --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/sparc/sparc64-smp +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/sparc/sparc64-smp @@ -0,0 +1,8585 @@ +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 0x132cf4fb suni_init +EXPORT_SYMBOL drivers/block/paride/paride 0x093a63ac pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x2f76076c pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x36883fff pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x3e5d6742 pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x41d59af1 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x53a69176 pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x5c756070 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x6a2313f4 pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x8c0ec9b0 pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0xb5bfee6d pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xd996cacd paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0xf7094503 paride_register +EXPORT_SYMBOL drivers/cdrom/cdrom 0x2b677ed1 cdrom_get_last_written +EXPORT_SYMBOL drivers/cdrom/cdrom 0x344adbd5 init_cdrom_command +EXPORT_SYMBOL drivers/cdrom/cdrom 0x40a9ec49 cdrom_ioctl +EXPORT_SYMBOL drivers/cdrom/cdrom 0x42c4ca36 cdrom_release +EXPORT_SYMBOL drivers/cdrom/cdrom 0x43df4d6e cdrom_get_media_event +EXPORT_SYMBOL drivers/cdrom/cdrom 0x48c7bf91 cdrom_mode_select +EXPORT_SYMBOL drivers/cdrom/cdrom 0x517d79eb cdrom_media_changed +EXPORT_SYMBOL drivers/cdrom/cdrom 0x6d395653 cdrom_open +EXPORT_SYMBOL drivers/cdrom/cdrom 0x6de89868 cdrom_mode_sense +EXPORT_SYMBOL drivers/cdrom/cdrom 0x7484e997 cdrom_number_of_slots +EXPORT_SYMBOL drivers/cdrom/cdrom 0x87b6e0b2 register_cdrom +EXPORT_SYMBOL drivers/cdrom/cdrom 0xbb61a347 unregister_cdrom +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x0cf6071a ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x195c3a93 ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2a23977b ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x32bca123 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x3568cfd2 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x47304002 ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x507748f6 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x51a78a0d ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5300206b ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x563d8048 ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x66fc2e79 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x724df0b9 ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x751d00aa ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x771260db ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7eeb35ce ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x81667ac9 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x8a86af80 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x9859e953 ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xacc89ac5 ipmi_register_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xb03a39bd ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xba2de359 ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xca19b8a6 ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe16be253 ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x012c33d6 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0495fa6f i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0765c0fb drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x144469c6 drm_fb_helper_setcolreg +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4e03fb71 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4fd01a21 drm_fb_helper_init_crtc_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6090136a drm_fb_helper_add_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76f7c256 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fd52e13 drm_helper_hotplug_stage_two +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8b863552 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x96fd3cc5 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x990ab592 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9fb8d3db drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9ffc3e13 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xace48566 drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xad24038c drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb0ae396b drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb4fa7018 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdb7c3131 drm_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe8b120a1 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe91f2b33 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe9cdced3 drm_fb_helper_free +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf1c7e9f9 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf6027ca0 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfb8f8315 drm_helper_probe_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0x6cb42317 radeonfb_remove +EXPORT_SYMBOL drivers/gpu/drm/radeon/radeon 0xa0b47255 radeonfb_resize +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x022b0971 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x06426136 ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x073c60d5 ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0d888984 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0f20efc3 ttm_object_file_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x104f75a6 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1301299e ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x171f88f2 ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x19330e93 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1d8a8bb2 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1fec7b67 ttm_base_object_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x253a3786 ttm_ref_object_add +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2a8cdc55 ttm_suspend_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2b9f936e ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2edc66ab ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x30d44a8d ttm_object_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x31150c95 ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x365feb2e ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x37cfecd6 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x42c32660 ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x44409a13 ttm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4cd37a4f ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4f0a949b ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x53a18d79 ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5c0edc79 ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5ca5cb47 ttm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61bdb34f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6265cc32 ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x64f17908 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x69f68c4c ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6d8374a8 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7080b062 ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x70bab644 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x74b7dc8a ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x86a4066d ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8ae685b9 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8d901b99 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x91a82017 ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9303f402 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x963ae60d ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x98361475 ttm_mem_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa36fa700 ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa6c4b6c0 ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xaaea0488 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xac0e50d1 ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xacba21f6 ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb7ad380d ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb8ed44aa ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc0822cd4 ttm_object_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc64022a6 ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd1db4ef1 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdf12278e ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe0d6d395 ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe129946a ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe6688a8a ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf08604be ttm_base_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf6b7b297 ttm_base_object_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfcce372b ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfcdc3cd0 ttm_bo_evict_mm +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 0x92f866bc i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xe73b3410 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x0082de07 hpsb_lock +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x07cae6e1 hpsb_create_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x129bdffc hpsb_unregister_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x1a200e5a csr1212_release_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2161fbc4 hpsb_make_writepacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x219cbabe dma_region_offset_to_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x253a5398 dma_region_mmap +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x2a4cc36b csr1212_attach_keyval_to_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x3d25c3f3 hpsb_read_cycle_timer +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x44fc9af5 hpsb_iso_recv_release_packets +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x45f25af8 hpsb_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x49a95dc4 csr1212_get_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4a9cd770 csr1212_parse_keyval +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x4f50e823 hpsb_iso_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5085dca9 hpsb_node_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x50f1013a hpsb_update_config_rom_image +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x562815b7 hpsb_iso_wake +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x564cd395 hpsb_send_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x58440cb1 hpsb_get_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5f22c551 hpsb_node_fill_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x5f5fdd2f csr1212_new_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x62bf4a3e hpsb_bus_reset +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x633a5e73 hpsb_iso_stop +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x63c50d63 hpsb_make_phypacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6634e0c3 hpsb_reset_bus +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x672ad148 dma_region_sync_for_device +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x68b51e47 csr1212_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x6df3ee6d hpsb_add_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x722b0576 hpsb_set_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x76bc1a5c dma_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x76c6a7ea hpsb_iso_recv_listen_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8157a209 hpsb_iso_recv_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x84476694 hpsb_free_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8879f8f0 dma_region_sync_for_cpu +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x899b2138 hpsb_get_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x8ec2b312 dma_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x93aeb44d hpsb_iso_xmit_queue_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x94b8eb82 hpsb_alloc_packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x957a2fba hpsb_unregister_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x979b3052 dma_prog_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0x9d53efad hpsb_iso_n_ready +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa0421d6d hpsb_make_lockpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa1936b85 hpsb_protocol_class +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa924dac6 dma_prog_region_alloc +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xa9f0799a hpsb_set_hostinfo_key +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xab72660e hpsb_iso_recv_flush +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xac972948 hpsb_selfid_complete +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaef57bb5 csr1212_detach_keyval_from_directory +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xaf49aae5 hpsb_free_tlabel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb3421e58 hpsb_make_readpacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb491b136 hpsb_update_config_rom +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb5be23ba hpsb_iso_xmit_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xb663d391 hpsb_iso_shutdown +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xba4d9dbf hpsb_packet_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xbba70620 dma_prog_region_free +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc26a0ca8 hpsb_iso_recv_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc4e4c118 hpsb_write +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc725ec5d hpsb_iso_xmit_start +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc7c0c42d hpsb_iso_packet_sent +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xc9780955 hpsb_remove_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xccdd9bd7 __hpsb_register_protocol +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xccf078c3 hpsb_iso_recv_unlisten_channel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xcf53e906 hpsb_resume_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd0041185 hpsb_register_highlevel +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd1b716db hpsb_iso_recv_set_channel_mask +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xd749d83b hpsb_make_lock64packet +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe5175bfc hpsb_alloc_host +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe5a433d0 hpsb_iso_xmit_sync +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xe6fb5f5a hpsb_allocate_and_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xea4152ff dma_region_init +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xec6201cc hpsb_set_packet_complete_task +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xeec3566c hpsb_destroy_hostinfo +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf1c0240a hpsb_make_streampacket +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xf81e1463 hpsb_get_hostinfo_bykey +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfa967f54 hpsb_read +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfba57f51 hpsb_speedto_str +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfbd6f836 hpsb_unregister_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfc522431 hpsb_selfid_received +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xfe183479 hpsb_register_addrspace +EXPORT_SYMBOL drivers/ieee1394/ieee1394 0xffe7ba36 hpsb_packet_success +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x1d5aeebc ohci1394_init_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x59745748 ohci1394_unregister_iso_tasklet +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x7105b356 ohci1394_stop_context +EXPORT_SYMBOL drivers/ieee1394/ohci1394 0x88340c69 ohci1394_register_iso_tasklet +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x4b7c491b rdma_copy_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x4d6ef3c4 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x7eeff7de rdma_addr_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xb97d2b33 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xe85c3175 rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0xfe13d5c7 rdma_addr_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x08140dbe ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x08f563f2 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x27f945de ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2b4c42e9 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2d05f9bf ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x389d486b ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x447987c5 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x65dc6ca8 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7c44a694 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x80ebf24d ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x8fe58707 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x933886fc ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x99aabbe4 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe2b74807 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xeabc7910 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xec034716 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf4d38175 ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x02c583a1 ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x066fccc2 ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06830b9a ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a44268c ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0cb8117a ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x12e1e68e ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x163bedea ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1704ee9d ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x27eecf01 ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2aad1ccd ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2f90860b ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2fac1bf1 ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x343c0d47 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x39bc6ecd ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3b0b35f2 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3e0e64c5 ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f7567fd ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4c694584 ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5169c6a9 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x53e1c7df ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5432f96b ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x550e3a3b ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x56b874f8 ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5bf790df ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5c92fd83 ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x63135323 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x63e91971 ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x64371e5f ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x67bfd973 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x695ce81e ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6c323deb ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f658583 ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x71b140a1 ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75706814 ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77825ca0 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7dbf0d10 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x80026303 ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8640eaeb ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87582c09 ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87b614d8 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8d315d88 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x94aa3d74 ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96fca436 ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x974e9a53 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9c106d08 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d804fa1 mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa642de91 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb2cc57de ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb3ac38c4 ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb3d8562d ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbc052852 ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc0a1bcd0 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc4b5f911 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc5ed0b48 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcc5bf86c ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd0bfa766 ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd15dbff1 ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd17ba9d1 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd881222c ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd8cbb1fb ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda980f08 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xddc1ef78 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe15a15cf ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe2f7ab72 ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe40a531e ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5288917 ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe8e36203 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xef776bc8 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf36498b9 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5f17146 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf66d05bd ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf96fc9de ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfae84bae ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfcbbc99b ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x1bc9b2ea ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x2d7ed21c ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x41ae4473 ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x48de1532 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x5cd661db ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6ef787ed ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6f077fcf ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x7a99cfc9 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x7b5d4b7a ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xbec2779e ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xc01858a5 ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xc4b2d56e ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xd9dd3a3a ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xf1491db5 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xf90a279f ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x010b40e1 ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x1d471861 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x576fdbac ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x70d693c0 ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xa3a08b5d ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xd61d8ecf ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xd81ad496 ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xe0b7c7a9 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xe6307f78 ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xfb8b6ee4 ib_sa_service_rec_query +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 0x060b9a04 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x3ee42d34 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x839e9498 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xacf35576 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xbe63a86b iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xe5b1e20d iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xec7547c4 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf016d9bb iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x033ae377 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0da792ca rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2be7bc51 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x31fe102a rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x41d4fe3c rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4a0cb67e rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x84b6afd1 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8511597a rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x935b084a rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb1f1ae7b rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc959b3de rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe4d0e088 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe63ffb4e rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf3d17a2c rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf5b26f13 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf5c34e5b rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf79c6d0b rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xff346a24 rdma_notify +EXPORT_SYMBOL drivers/input/input-polldev 0x384ce7d3 input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xcf42edf0 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xedabaf87 input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xf935510e input_allocate_polled_device +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 0x419ef434 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47d3fc51 capi_info2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47dbfa0a capi_message2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x50b33ca4 capi_cmsg2message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x591d6b43 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x6057c6f3 capi_message2cmsg +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x62e32d43 capilib_data_b3_conf +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x68562e68 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x6ec78505 capi20_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x71e8d5ba capilib_data_b3_req +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x788d398c 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 0x85bb3eea 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 0xa7f01afc capi_ctr_suspend_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xa9b8bd14 capi20_set_callback +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 0xcb8273d7 capi_ctr_resume_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xd1625c19 capi20_put_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xdfac858a attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe19a11ac capi20_get_profile +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe9f62f29 cdebbuf_free +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xed061606 capi20_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xf3ca97b0 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x93b1696b mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x9608f44a mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xb31300b0 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xb475ab25 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x260d3477 mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xa364a22f mISDNisar_init +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x31136854 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 0x07157047 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0752ed7a mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x19eb874c mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x21ca5a06 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x350484bf recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3ea336fd mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x40383346 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4196b1ec get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x429129f2 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x568b2912 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588d61c2 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x63cdda13 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x80c6c7e1 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9fddb0ad mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa06c9e94 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa09b43bf confirm_Bsend +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa6d5f1d4 bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa6ef7130 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xace35cae mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xad92c529 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb6cf562a recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xbdbc9ed1 get_next_dframe +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 0xd96d0b31 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd9a7fbfd mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xda4674da mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe9a60fc0 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf3005478 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf9e7832f mISDN_FsmNew +EXPORT_SYMBOL drivers/md/dm-log 0x0bc4e596 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x59b53188 dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0x7cfe6865 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0xb07631f9 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x0b10c926 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x365bba24 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xaecfaecc dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0xc14e7ad4 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/md-mod 0x02931cbc unregister_md_personality +EXPORT_SYMBOL drivers/md/md-mod 0x09eaa1fc bitmap_cond_end_sync +EXPORT_SYMBOL drivers/md/md-mod 0x20d73fb4 md_register_thread +EXPORT_SYMBOL drivers/md/md-mod 0x29ce8af3 md_check_recovery +EXPORT_SYMBOL drivers/md/md-mod 0x3368c315 md_unregister_thread +EXPORT_SYMBOL drivers/md/md-mod 0x37257d02 bitmap_startwrite +EXPORT_SYMBOL drivers/md/md-mod 0x41d51bac md_integrity_add_rdev +EXPORT_SYMBOL drivers/md/md-mod 0x51e6d966 bitmap_close_sync +EXPORT_SYMBOL drivers/md/md-mod 0x6207944e bitmap_end_sync +EXPORT_SYMBOL drivers/md/md-mod 0x7a2986ee md_error +EXPORT_SYMBOL drivers/md/md-mod 0x7a691b9f md_check_no_bitmap +EXPORT_SYMBOL drivers/md/md-mod 0x7ef028c4 md_write_start +EXPORT_SYMBOL drivers/md/md-mod 0x8059d073 bitmap_endwrite +EXPORT_SYMBOL drivers/md/md-mod 0x92b0bf21 bitmap_unplug +EXPORT_SYMBOL drivers/md/md-mod 0x9eb72277 md_write_end +EXPORT_SYMBOL drivers/md/md-mod 0xa1d12a8b register_md_personality +EXPORT_SYMBOL drivers/md/md-mod 0xb439f083 md_wakeup_thread +EXPORT_SYMBOL drivers/md/md-mod 0xb57e3d33 md_done_sync +EXPORT_SYMBOL drivers/md/md-mod 0xcc48e0fa md_set_array_sectors +EXPORT_SYMBOL drivers/md/md-mod 0xdf19c4c4 bitmap_start_sync +EXPORT_SYMBOL drivers/md/md-mod 0xeda9a59b md_integrity_register +EXPORT_SYMBOL drivers/md/md-mod 0xf423b6f3 mddev_congested +EXPORT_SYMBOL drivers/md/md-mod 0xf55b9cfb md_wait_for_blocked_rdev +EXPORT_SYMBOL drivers/md/raid6_pq 0x0bd662f6 raid6_gfmul +EXPORT_SYMBOL drivers/md/raid6_pq 0x15fe0cd3 raid6_gfexp +EXPORT_SYMBOL drivers/md/raid6_pq 0x5ba93f9d raid6_gfinv +EXPORT_SYMBOL drivers/md/raid6_pq 0x7b85d712 raid6_empty_zero_page +EXPORT_SYMBOL drivers/md/raid6_pq 0xce45a6f1 raid6_gfexi +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0xacb7741a mc44s803_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 0xbcf823a6 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0xcd693a19 xc5000_attach +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x0c35d97c cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x36be0b3f cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x155650f3 cx2341x_ctrl_get_menu +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 0x5b88faf6 cx2341x_ext_ctrls +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 0xe2c2b5eb cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x308d9865 gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x732c0c33 gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xb6f6d49d gspca_auto_gain_n_exposure +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xdd7d7053 gspca_get_i_frame +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xee4f191d gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x054b337a saa7134_pgtable_free +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 0x30ecfc6b saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x3c937197 saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x47a17008 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x47d9c87d saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x4b3d61d2 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x4dd1eb20 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x9780d6fc saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x98696ee1 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xe519aade saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xeab1bab2 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xf646f236 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/soc_camera 0x00eb338d soc_camera_format_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0x2e34ee12 soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0x9cb8a06e soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0xd44b7cfa soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0xefb92baa soc_camera_apply_sensor_flags +EXPORT_SYMBOL drivers/media/video/tveeprom 0x5839615c tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/tveeprom 0xc06ee781 tveeprom_read +EXPORT_SYMBOL drivers/media/video/v4l1-compat 0x28205b7a v4l_compat_translate_ioctl +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x03165a85 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x0b43fc7e v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1dcaa0c8 v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x1e326b97 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x2f639468 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x42c8e001 v4l2_ctrl_next +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x4ed5e0d7 v4l2_chip_match_host +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x50766d69 v4l2_ctrl_query_menu_valid_items +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x592d8b6c v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x76ba9a9a v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x95284709 v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9c7de443 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x9eb43ee2 v4l2_ctrl_check +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xbecd2858 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xd9ee1e3f v4l2_ctrl_query_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x027f4d45 video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x0fdcf8b2 video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x2d88f592 video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x3f95c4da video_register_device_no_warn +EXPORT_SYMBOL drivers/media/video/videodev 0x4b515806 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x7fe730ca video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0xa093d6dd video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0xc7ec0c75 video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0xdfb3d6d9 video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0207cb54 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x179bfef4 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x25e265ba mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2b508d14 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2cac3b86 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x32d556b3 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3609d714 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3b255521 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3eab7349 mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x452b8582 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x653b7781 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x72d17254 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7f218e8e mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x814c70c8 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x914866c2 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x96beaa6d mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa54ef6bb mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xac05c9ae mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xac135551 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb91bdbfd 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 0xd236176b mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd4ea399b mpt_HardResetHandler +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 0xe0f58b0f mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe8b4c774 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xeacac3ed mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfb1336c7 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x18b87eea mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x21fb9c52 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x38def3b1 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3e1fe58d mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4436617b mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x446918f2 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x50cf7fa8 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x58f2050f mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5b3ea562 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x793ea823 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7f4d3c68 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x80bfbce8 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x82c787fa mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9806acb8 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xacd8801a mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd2f26692 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd796ebba mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdfa53ed1 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe3e46635 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xeb00e334 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xee874c68 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf2993523 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf3137ccc mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf70bb509 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x02f6245f i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0511f144 i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x075b0944 i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0a1956d9 i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0caa563f i2o_cntxt_list_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x19140405 i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x26265814 i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x40ffcc0f i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x47a6507a i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x4b28fade i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x4cf2828c i2o_cntxt_list_remove +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x567b59dc i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x5afc93be i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x8719bb30 i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x949cd2a9 i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x9909b04a i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xa4d845b2 i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xa8feb85f i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd0e430ad i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd2bc28ee i2o_cntxt_list_get_ptr +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xfb8782b8 i2o_cntxt_list_add +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xfeca47f6 i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x37165bff ab3100_event_unregister +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x407fe282 ab3100_mask_and_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x5229b6cc ab3100_event_register +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x6dd7374a ab3100_event_registers_startup_state_get +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x7e0691a3 ab3100_get_chip_type +EXPORT_SYMBOL drivers/mfd/ab3100-core 0x85e2b1cb ab3100_get_register_page_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xb0632ac6 ab3100_set_register_interruptible +EXPORT_SYMBOL drivers/mfd/ab3100-core 0xb65d5a7c ab3100_get_register_interruptible +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x279a97c8 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x7ec399d2 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mfd-core 0x06fd3838 mfd_remove_devices +EXPORT_SYMBOL drivers/mfd/mfd-core 0x2f43f519 mfd_add_devices +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +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/c2port/core 0x421a327f c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0xc6dce79c c2port_device_unregister +EXPORT_SYMBOL drivers/misc/ioc4 0x01b65b6e ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0xeea459b4 ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x14ca6afb tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x1b256402 tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x422bb45b tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x4a94a4ed tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x5e9392e2 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x93810980 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x94375c6b tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x98966747 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xa01ee4c3 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xc4a1aeca tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xcd153284 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0xd9bbd8c7 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xec8b2bbe tifm_unregister_driver +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0xd32fb8fb mmc_cleanup_queue +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x0f1e23b2 mmc_add_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x0f7b6950 mmc_card_can_sleep +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x101029f7 mmc_wait_for_req +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x1521b3fc __mmc_claim_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x17545af0 mmc_register_driver +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x18f77508 mmc_release_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x21c01878 mmc_wait_for_cmd +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x24f7334d mmc_remove_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x2e0c1244 mmc_card_sleep +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x49d70005 mmc_wait_for_app_cmd +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x4f64beb6 mmc_try_claim_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x56df5a59 mmc_regulator_set_ocr +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x631c7654 mmc_set_data_timeout +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x663a2c1c mmc_request_done +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x7a9c7c4c mmc_power_save_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x7cb7148c mmc_free_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0x98dd1d22 mmc_detect_change +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xb60869ad mmc_host_enable +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xc2030c30 mmc_unregister_driver +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xd10d90a8 mmc_alloc_host +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xda01b2b3 mmc_card_awake +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xe14e8f82 mmc_align_data_size +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xfa9c8b0b mmc_host_disable +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xfada5834 mmc_host_lazy_disable +EXPORT_SYMBOL drivers/mmc/core/mmc_core 0xfb95bbd3 mmc_power_restore_host +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x54b227a7 mmc_spi_put_pdata +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x575fd322 mmc_spi_get_pdata +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x317ce82b cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xcbcb93e7 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xe4d602c2 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x22d1b868 map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x71b819d9 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x97b9fa49 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xcbad78ce do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x6c9593ab mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x333ba302 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0xc449a1ae simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0xbec9b28b add_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtd 0xfcf0c525 del_mtd_partitions +EXPORT_SYMBOL drivers/mtd/mtdconcat 0x6388d0ae mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtdconcat 0x9ba0ae89 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/nand 0x652987ef nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0xa9437c3c nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x72e0ac30 nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xaa02cabc nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xb4b94377 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0x836bdb72 nand_flash_ids +EXPORT_SYMBOL drivers/mtd/nand/nand_ids 0xa336feb7 nand_manuf_ids +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x7081a0a6 flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x87d10526 onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xd11a4770 onenand_default_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xd9f449c0 onenand_scan_bbt +EXPORT_SYMBOL drivers/net/8390 0x26c3f3dc ei_get_stats +EXPORT_SYMBOL drivers/net/8390 0x40c3c195 ei_tx_timeout +EXPORT_SYMBOL drivers/net/8390 0x469738ac ei_set_multicast_list +EXPORT_SYMBOL drivers/net/8390 0x49955d62 ei_start_xmit +EXPORT_SYMBOL drivers/net/8390 0x5bc9280c ei_open +EXPORT_SYMBOL drivers/net/8390 0x697aa34e __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/8390 0x8f7747f1 ei_close +EXPORT_SYMBOL drivers/net/8390 0xa9c0c6df NS8390_init +EXPORT_SYMBOL drivers/net/8390 0xac2973c3 ei_netdev_ops +EXPORT_SYMBOL drivers/net/8390 0xdd365790 ei_interrupt +EXPORT_SYMBOL drivers/net/8390 0xe4889ad8 ei_poll +EXPORT_SYMBOL drivers/net/bnx2 0x033a9fc5 bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/cnic 0x23708f11 cnic_register_driver +EXPORT_SYMBOL drivers/net/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x02faff14 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x0a50c875 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x1cf86ec5 cxgb3_register_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x44573401 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x5518679d cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x59f7f57f cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x8a8dfe84 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x905ee418 t3_l2t_get +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x9517aeac t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0x9e906d38 dev2t3cdev +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xb5f98cb6 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xc23f6948 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xcf489498 t3_l2e_free +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xd9684808 cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xf0443c72 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/cxgb3/cxgb3 0xff958acd t3_register_cpl_handler +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/mii 0x405870ec mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0x61a2ab95 generic_mii_ioctl +EXPORT_SYMBOL drivers/net/mii 0x802e6751 mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0xa6245e78 mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0xb36c8668 mii_check_link +EXPORT_SYMBOL drivers/net/mii 0xd19847d7 mii_ethtool_gset +EXPORT_SYMBOL drivers/net/mii 0xd600e874 mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0xfe32c946 mii_check_media +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x0628d9c7 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x2735e9fb alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp_generic 0x12711ada ppp_register_channel +EXPORT_SYMBOL drivers/net/ppp_generic 0x2f15203e ppp_register_net_channel +EXPORT_SYMBOL drivers/net/ppp_generic 0x686eed42 ppp_unregister_compressor +EXPORT_SYMBOL drivers/net/ppp_generic 0x73d9475e ppp_unregister_channel +EXPORT_SYMBOL drivers/net/ppp_generic 0x808027d9 ppp_output_wakeup +EXPORT_SYMBOL drivers/net/ppp_generic 0x9776ae8b ppp_unit_number +EXPORT_SYMBOL drivers/net/ppp_generic 0xad581ed0 ppp_register_compressor +EXPORT_SYMBOL drivers/net/ppp_generic 0xd6a9ff3a ppp_channel_index +EXPORT_SYMBOL drivers/net/ppp_generic 0xe1b12d1d ppp_input_error +EXPORT_SYMBOL drivers/net/ppp_generic 0xe35ec089 ppp_input +EXPORT_SYMBOL drivers/net/pppox 0x38704113 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/pppox 0x8d41bebe register_pppox_proto +EXPORT_SYMBOL drivers/net/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/pppox 0xe9c22745 pppox_ioctl +EXPORT_SYMBOL drivers/net/slhc 0x2278e94b slhc_remember +EXPORT_SYMBOL drivers/net/slhc 0x26b760c4 slhc_init +EXPORT_SYMBOL drivers/net/slhc 0x3fe0d1c0 slhc_free +EXPORT_SYMBOL drivers/net/slhc 0x62538167 slhc_toss +EXPORT_SYMBOL drivers/net/slhc 0x7e87227e slhc_compress +EXPORT_SYMBOL drivers/net/slhc 0xa78d9eb7 slhc_uncompress +EXPORT_SYMBOL drivers/net/wireless/airo 0x32c2a466 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xb78c26e8 init_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xcf958a5f reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x275b8678 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x31219afb ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbe25b39d ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xccbc8daa ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xe203a2ca ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/atmel 0x1b04eb5d atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel 0x493adf3d init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xde7af658 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x078c6eb3 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0add40e4 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x11daf14c hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x21d8e7f9 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2834bcaf hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2b64bd34 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x34f43e38 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3e2d83a7 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4505a5fe hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4553cba9 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x48582745 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x59dd4b1b hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x5c022f7c hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x60ecd2c4 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x62b7e2b1 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x781c594a hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x94078aaf hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9b1e33eb hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +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 0xb800b59c hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xbb56d4ea hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe36ecc75 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf579e2c9 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf7caef58 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf85ff93a hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf8da5c76 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf9fcab37 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x083fe4c5 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x123aefd8 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x20d9e504 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x280aea75 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x2ddea22e libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x421b620e alloc_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x50993ae3 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x613d7aa7 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x61b4f810 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x83e1b89e libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x9606fe22 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x9ebf9d58 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xa1f6e015 libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb95d2661 free_ieee80211 +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xbe2dd8e1 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xbef13de9 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xceb55567 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd5fb95b8 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xeb13df02 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xf9d65291 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xfce92d6c libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x048f4b62 iwl_send_statistics_request +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x04aaf4da iwl_tt_exit +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x05585245 iwl_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x06b2b65d iwl_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0b783346 iwl_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0cf8f211 iwl_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x0d67b998 iwl_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x12257e68 iwl_tt_handler +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x13df30cc iwl_sta_rx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x16748c3d iwl_rx_replenish +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x18a66d00 iwl_hw_detect +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x199c487a iwl_rx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x19f0e900 iwl_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d3d37d8 iwl_tt_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1d77b399 iwl_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x1f84b180 iwl_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x21e36187 iwl_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x25cb2cc7 iwl_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x26fc8625 iwl_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x27d926a8 iwl_ht_enabled +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2aee93da iwl_free_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2c463725 iwl_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x2e0ac9b4 iwl_get_ra_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x30b45f2a iwl_free_tfds_in_queue +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3285f384 iwl_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x34740c2e iwl_bg_scan_check +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3635d266 iwl_rx_csa +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x36e84ee9 iwl_eeprom_get_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3d7eeafb iwl_init_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3e1ddf25 iwl_tx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x3ebd8bb7 iwl_eeprom_check_version +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x41656174 iwl_rx_pm_sleep_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x41b5953f iwlcore_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x42d87c63 iwl_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x435773a0 iwl_rx_statistics +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x43fc5143 iwl_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x440a8430 iwl_send_static_wepkey_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4576d71a iwl_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x47c5a5ae iwl_get_sta_id +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x47feaf16 iwl_send_calib_results +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x49dab9cd iwl_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4ae4f000 iwl_alloc_all +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4b028f6e iwl_rx_missed_beacon_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4cd6b2fb iwl_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4d5c7cff iwl_tx_agg_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4e3d25a4 iwl_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4e7bb782 iwl_set_hw_params +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4eeb1d72 iwl_sensitivity_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x4ef50f16 iwl_remove_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x54c43e95 iwl_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x566e8444 iwl_tx_skb +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x57cbf908 iwl_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x58c584e8 iwl_clear_stations_table +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5b4cb42a iwl_reset_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x5c11cea9 iwl_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6023c4ab iwlcore_eeprom_enhanced_txpower +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x64e0568d iwl_remove_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6548dd72 iwl_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6792ade4 iwl_bg_abort_scan +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6b2ad4c2 iwl_activate_qos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6c71941e iwl_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6cb1b181 iwl_set_dynamic_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x6d75a56f iwl_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x722f2e5b iwl_set_default_wep_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7299d2d7 iwl_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x74bd53de iwl_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x78976e61 iwl_isr_legacy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x78bef47d iwl_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7a583f03 iwl_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7b2f3695 iwl_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7da04a79 iwl_tt_enter_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7e448475 iwl_verify_ucode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x7e5d8501 iwl_rx_reply_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8567dc3a iwl_rx_pm_debug_statistics_notif +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x866013b2 iwl_is_monitor_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8670273d iwl_hwrate_to_plcp_idx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x890be275 iwl_rf_kill_ct_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x89d67944 iwl_alloc_isr_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x8d609545 iwl_tt_exit_ct_kill +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x90ce9679 iwl_sta_rx_agg_start +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x956e56f7 iwl_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x95f29d7b iwl_sta_tx_modify_enable_tid +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x96482769 iwl_txq_ctx_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9aa0e2d3 iwl_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9cde1f24 iwl_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9e017073 iwl_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9f96ce13 iwl_txq_check_empty +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0x9faced57 iwl_calib_set +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa123a8d4 iwl_setup_mac +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa3c8d94f iwl_set_mode +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa4e54964 iwl_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa503bc02 iwl_reset_run_time_calib +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa77c0fb7 iwl_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa787e0b3 iwl_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa8672951 iwl_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa882eea6 iwl_set_rxon_chain +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xa88498dd iwlcore_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xaa112fce iwl_rx_reply_compressed_ba +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xac435c21 iwl_rate_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xacfeaa60 iwl_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xadff9fc9 iwlcore_eeprom_verify_signature +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb1b6bae3 iwl_tx_ant_restriction +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xb3563851 iwl_leds_register +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbc4ddc39 iwl_mac_beacon_update +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbc62e262 iwl_mac_get_tx_stats +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbcc3bb18 iwl_rx_reply_rx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbd501eb4 iwl_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbe459ec3 iwl_disable_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbe910a05 iwl_init_sensitivity +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xbebec1aa iwl_find_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc23bdb6e iwl_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc30383e9 iwl_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc4b4ec7a iwl_reset_ict +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc56979a2 iwl_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc5a9e860 iwl_rx_replenish_now +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc763e075 iwl_hwrate_to_tx_control +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xc7794b30 iwl_bg_scan_completed +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xca4115fb iwl_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcb1a3a84 iwl_leds_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcb9e2d03 iwl_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcbaf4931 get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xcbb85794 iwl_get_free_ucode_key_index +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xce8d04fb iwl_uninit_drv +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xce8f1a64 iwl_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd06cdf81 iwl_rx_queue_restock +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xd807526c iwl_hw_txq_ctx_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdcf101ca iwl_rxq_stop +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xde7eb6db iwl_rx_reply_rx_phy +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdeca273f iwl_configure_filter +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdf2a57e0 iwl_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xdf7bd154 iwlcore_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe15043bd iwl_update_tkip_key +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe2d17d3b iwl_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe6e88aa7 iwlcore_eeprom_acquire_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe753bc08 iwl_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe7ce5d70 iwl_rates +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xe8142f01 iwlcore_eeprom_release_semaphore +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf3c87864 iwl_hw_nic_init +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf5036744 iwl_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf57f48e1 iwl_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf66f4e40 iwl_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf7ed4866 iwl_tx_queue_reclaim +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf847d551 iwl_rxon_add_station +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf86d6ad2 iwl_setup_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xf9436afe iwl_chain_noise_calibration +EXPORT_SYMBOL drivers/net/wireless/iwlwifi/iwlcore 0xfce80ba6 iwl_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x037ff797 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4196c38b hermes_write_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4c8454a3 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x6a927e18 orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa031d8e4 hermes_doicmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xaa8b732a orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc60b5e9e hermes_bap_pwrite +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd38d8ae2 hermes_read_ltv +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd3f714e5 hermes_bap_pread +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5168829 hermes_allocate +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd5336e5d hermes_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd54e219d hermes_docmd_wait +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd9583419 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xe43f91b5 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xed47b224 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xf3843813 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xf41db125 orinoco_if_del +EXPORT_SYMBOL drivers/parport/parport 0x0283cabb parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x04d4677d parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x1c3805fe parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x201010b3 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x2962fde2 parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x2a295fd3 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x32cf6261 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x3ab680c1 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x3c465ab5 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x43ca2a92 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x52069c1b parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x66bf88a9 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x6707412f parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x73818dd6 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x7eccde78 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x7fa02cb0 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x85f0725d parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x87fcdb47 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x9d5eff70 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0xad311bd0 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0xc5c2e69b parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0xd037e5de parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xd064b17c parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0xd5a4234a parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xd654102b parport_release +EXPORT_SYMBOL drivers/parport/parport 0xe48ef16c parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xe6a0b4b9 parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xe6e72727 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xedf3d6a6 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0xf874d32d parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xfed63343 parport_register_device +EXPORT_SYMBOL drivers/parport/parport_pc 0x162a3ee0 parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xae917369 parport_pc_unregister_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x061f9f37 pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x13730bad pcmcia_modify_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x48a1125f pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4e91595d pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4fd033a0 pcmcia_error_func +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6474a63f pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x64945ded pcmcia_get_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6540e51e pcmcia_request_configuration +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x70184f4e pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x709b327d pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x7ba5ba43 pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x90ca5af7 pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xa4d1fb43 pcmcia_access_configuration_register +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xb6358f62 pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc76cff67 pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf0a25e12 pcmcia_error_ret +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf9948d89 pcmcia_get_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0b4f7344 pcmcia_find_mem_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0b5f6f5a pcmcia_read_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0fda9fc4 pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x10a75a02 pccard_get_next_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x12d5dd7d pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x177755cc pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x1e064b34 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x1fc5331b pccard_validate_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x20e499ea pccard_get_first_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x255765c2 pccard_get_tuple_data +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2bf1c060 pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x31824c20 pcmcia_eject_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x330f4f12 pcmcia_socket_dev_late_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x3adc0b7a pcmcia_socket_dev_suspend +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x47dae6d9 pccard_static_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x49953c6b pcmcia_resume_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x52eccead pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x52f82c1a pcmcia_find_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7c8b000c pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7ce44e05 pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7fc91b21 pcmcia_write_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x85a0e19d pcmcia_insert_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x883c3ab0 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9d66f5a6 pcmcia_replace_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9f59cc36 pcmcia_adjust_io_region +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa587ca4c pcmcia_socket_dev_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xaf8dd83c pcmcia_validate_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb9ce31b7 destroy_cis_cache +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc02ef2c8 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xe0601045 pcmcia_suspend_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xe241fbb9 release_cis_mem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf51f4e41 pccard_read_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xfc0837b4 pcmcia_socket_dev_early_resume +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xfe5074ad pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/rsrc_nonstatic 0x0024e66f pccard_nonstatic_ops +EXPORT_SYMBOL drivers/pps/pps_core 0x177b6f93 pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0x1e145952 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0xe6a16116 pps_event +EXPORT_SYMBOL drivers/sbus/char/bbc 0x1c4b27f3 bbc_i2c_writeb +EXPORT_SYMBOL drivers/sbus/char/bbc 0x27eeb76e bbc_i2c_write_buf +EXPORT_SYMBOL drivers/sbus/char/bbc 0x35859e57 bbc_i2c_attach +EXPORT_SYMBOL drivers/sbus/char/bbc 0x371b2b7c bbc_i2c_detach +EXPORT_SYMBOL drivers/sbus/char/bbc 0x72a66afb bbc_i2c_read_buf +EXPORT_SYMBOL drivers/sbus/char/bbc 0xacf2f0d0 bbc_i2c_getdev +EXPORT_SYMBOL drivers/sbus/char/bbc 0xe899f9ef bbc_i2c_readb +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x160873dc scsi_esp_register +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x1bd4d271 scsi_esp_template +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x658a76c9 scsi_esp_intr +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x68a66a7b scsi_esp_cmd +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x6a8a0f5b scsi_esp_unregister +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x882a2674 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x9213bb35 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x9e7d271b fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xa553c68c fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xd6385823 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xee9e23f5 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xf27225ab fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x076a0909 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x097e4af4 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1222882c fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1b21c0b0 fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2391f725 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x24009b82 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x27841488 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x312d6d3c fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x32a479ca fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x35ebbe04 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x418a144f fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x45eceaf5 fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x56183917 fc_destroy_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x57069fdc fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x58924fdd fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5e228773 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6292acda fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x67750428 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6977aa9c fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6df4ce29 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7913c6ba fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7b05cbd6 fc_seq_els_rsp_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9322effd fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x98fd5e5b fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9af13fa9 fc_exch_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9b8b1c3e fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa19b43c4 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa7536443 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xac238a7a fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb15cbe66 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb1bafcf4 fc_get_host_port_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb77347a0 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc0ea5b14 fc_fcp_complete +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc58fcc69 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc6189362 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xce2f779a fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd2a262dd fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd6cb3359 fc_setup_rport +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe0967dda fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe1d29d63 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe20a82d0 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xeca3f586 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xee445814 __fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf18b1af5 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf7365d60 fc_seq_exch_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfac33f83 fc_fcp_ddp_setup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfb37cc53 fc_rport_terminate_io +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 0x956bab4c mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0b704473 osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0d92af6f osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x13d9fa7e osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x14808c0b osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x199e7c7e osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x25677e7b osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x286bff20 osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x30cb3e31 osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x38e182f0 osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4004bba3 osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x49a1e255 osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x4b5c3fea osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x65aa505d osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x67c9b875 osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x73e2439d osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x73ed3158 osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7eb0242d osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x80acc878 osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x82228a04 osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8c6b5c2a osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x978c7030 osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x98d7de5f osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9b4dfefb osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9d3db4c9 osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xad516838 osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb2bd050a osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc06d6e6e osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xcdf37aaf osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd8a31041 osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe19884c6 osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf384e5d5 osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf9248e91 osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/osd 0x176886de osduld_register_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x31508290 osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5f15ff93 osduld_put_device +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x093aa3a4 qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x27b09778 qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x55dba9a2 qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x99c5bf38 qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xb9bbf5ea qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xccc75843 qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xdc310b12 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/raid_class 0x1ca031c1 raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0x2e2049ca raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x477d5afa raid_class_attach +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x03df28d6 scsi_get_host_dev +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x0e7b07a6 scsi_add_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x151f1b21 scsi_test_unit_ready +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x1af54827 scsi_print_result +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x1db0d6b6 scsicam_bios_param +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x1e31435e scsi_device_get +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x1fa41f69 scsi_dma_map +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x2506022c scsi_add_host_with_dma +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x26127c05 scsi_rescan_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x2a4d28ce scsi_device_lookup_by_target +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x2f7dc177 scsi_register_driver +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x35efa140 scsi_remove_target +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x3a363843 scsi_scan_target +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x3a3f989a scsi_command_normalize_sense +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x40a27c37 scsi_dev_info_remove_list +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x4489d651 scsi_execute_req +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x50d1835a scsi_device_put +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x54b1a135 scsi_host_set_state +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x56c67386 scsi_calculate_bounce_limit +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x5745c86e scsi_target_resume +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x5865261f __scsi_device_lookup_by_target +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x591f3303 scsi_device_resume +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x5a653e8c scsi_dma_unmap +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x5ac437df scsi_cmd_print_sense_hdr +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x6149b2dd scsi_track_queue_full +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x6324af4b scsi_host_lookup +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x65457c06 scsi_block_requests +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x67a62a96 scsi_device_set_state +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x67d632e2 scsi_eh_restore_cmnd +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x6c8896ec scsi_get_device_flags_keyed +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x6dd8e3a6 scsi_set_medium_removal +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x7183723f scsi_release_buffers +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x71f80904 scsi_init_io +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x7445e9cb scsi_print_sense +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x795e0eef scsi_nonblockable_ioctl +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x797145b0 __scsi_iterate_devices +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x79a03dfe __scsi_add_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x7ad5ba7b scsi_register +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x7f27d822 scsi_prep_return +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x7f5d6c73 scsi_is_sdev_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x82a43cb3 scsi_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x861e35db scsi_setup_fs_cmnd +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x8bf7c326 scsi_host_put +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x8c7f9b60 __starget_for_each_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x8eb81e60 scsi_eh_prep_cmnd +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x939c698a scsi_register_interface +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x9b2969f2 __scsi_put_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL drivers/scsi/scsi_mod 0x9f6b5c55 scsi_finish_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xa00525a6 __scsi_alloc_queue +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xa0e13271 scsi_unblock_requests +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xa109d2f5 scsi_bios_ptable +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xa4c382e5 scsi_allocate_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xa534b467 scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xa8831426 scsi_prep_state_check +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xaaa85e1a scsi_put_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xac8b0d7a scsi_device_lookup +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xb0211f9d scsi_get_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xb23e316e scsi_block_when_processing_errors +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xb28dba79 scsi_execute +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xba7aa42c scsi_report_device_reset +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xc1317f65 scsi_free_host_dev +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xc1da50f7 starget_for_each_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xcadda4e1 scsi_mode_sense +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xcb79eddf scsi_host_alloc +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xce3f61af scsi_print_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xd310a60b __scsi_device_lookup +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xd4c47057 scsi_eh_finish_cmd +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xd7fa0b1e scsi_unregister +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xda2ed566 scsi_target_quiesce +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xdcaafcea scsi_device_quiesce +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xdfb7aca4 scsi_is_host_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xe5e04b1d scsi_host_get +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xe888ec34 scsi_ioctl +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xe94e91e3 scsi_reset_provider +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xea10212a int_to_scsilun +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xea7d8ca1 scsi_report_bus_reset +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xee49b9ea scsi_remove_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xf1d38543 scsi_is_target_device +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xf4031d00 scsi_free_command +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xf4e966f7 scsi_prep_fn +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xf9236d99 scsi_adjust_queue_depth +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xfbaa41e3 scsi_kmap_atomic_sg +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xfded5cef scsi_scan_host +EXPORT_SYMBOL drivers/scsi/scsi_mod 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0363ab62 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x088d40d5 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x51187544 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x58cb8047 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xad131fd7 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc35dea08 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xca6836c0 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd8db0f6f fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xdedcb4bd fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe6f651ac fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf87af474 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xfa97e6d6 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1c54091a sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3b77c314 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3d12ae1e sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3d6ac0d9 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x49e43f3b scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4e94bb2d sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x63c8647a sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x66617388 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x785243a2 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x83c5b153 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x86e4d094 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9492a415 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9cacd42c sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa22fca6e sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xab95c41a sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xabc7dd6d sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xaf37efc3 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb6e5e7a3 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd4906a0e sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd531f4ca sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd573241d sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdb233827 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe1769126 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe6c9ff76 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xed64754f sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf3ac4d56 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x29610671 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x9fea20d2 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xb6e50399 spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xc7f4711c spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xd7846c6f spi_schedule_dv_device +EXPORT_SYMBOL drivers/serial/8250 0x26df8bc4 serial8250_register_port +EXPORT_SYMBOL drivers/serial/8250 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL drivers/serial/8250 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL drivers/serial/8250 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL drivers/ssb/ssb 0x008c83c2 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x0e3f4450 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x3808881a ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x415ff2a7 ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x4b81a98f ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x4e4ac173 ssb_dma_free_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0x55c56298 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x586f18f9 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x88bcb8b3 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x9b43c518 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xa0b03f82 ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xade20427 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0xb525a46b ssb_dma_set_mask +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xcb726397 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0xcd59525e ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xd66046e2 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xe33acd79 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xe7b625b1 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0xeecb726b ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0xf0640511 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xf2d4b3a7 ssb_dma_alloc_consistent +EXPORT_SYMBOL drivers/ssb/ssb 0xfb09de9f ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/telephony/ixj 0x7bb4a1d9 ixj_pcmcia_probe +EXPORT_SYMBOL drivers/telephony/phonedev 0x1c2f48e2 phone_unregister_device +EXPORT_SYMBOL drivers/telephony/phonedev 0x836ff779 phone_register_device +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x3db9734f 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/usbserial 0x32a5424f usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x6bf22d94 usb_serial_resume +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0xc86baa7c corgibl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x6fdd8e62 lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x7d1457e7 lcd_device_unregister +EXPORT_SYMBOL drivers/video/display/display 0xc3c8e7ff display_device_register +EXPORT_SYMBOL drivers/video/display/display 0xfd0ff3c2 display_device_unregister +EXPORT_SYMBOL drivers/video/output 0x2cafc35a video_output_register +EXPORT_SYMBOL drivers/video/output 0x327e8b32 video_output_unregister +EXPORT_SYMBOL drivers/video/svgalib 0x00d1fce9 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/svgalib 0x07b3da30 svga_wseq_multi +EXPORT_SYMBOL drivers/video/svgalib 0x1b95c56a svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x1d6ccf72 svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0x2841413a svga_tileblit +EXPORT_SYMBOL drivers/video/svgalib 0x50c2fb08 svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0x5269d749 svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0x63e898d1 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/svgalib 0x7a3ae959 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x80408443 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0x8519c966 svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0x8fa8438b svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/svgalib 0xab3b22ad svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/svgalib 0xdad682b1 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/svgalib 0xeab2db1d svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0xec83c473 svga_match_format +EXPORT_SYMBOL drivers/video/svgalib 0xef774f5d svga_compute_pll +EXPORT_SYMBOL drivers/video/svgalib 0xfadff5d1 svga_tilecopy +EXPORT_SYMBOL drivers/video/syscopyarea 0xc5089a0d sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0xa7ae1174 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x5000610b sys_imageblit +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0x0d747eb1 w1_bq27000_read +EXPORT_SYMBOL drivers/w1/slaves/w1_bq27000 0xf0c8ec4f w1_bq27000_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x0b32bd5a w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x8ac6e380 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xdf0416bc w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xe2f43e92 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/wire 0x16e10a43 w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0x41abacd5 w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xe7b101b5 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0xfc63fec3 w1_unregister_family +EXPORT_SYMBOL fs/configfs/configfs 0x2bcc496d configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0x30d38db4 config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0x39eb1fc2 config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x3c5c8f6f config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0x5ebc1c2e config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x75ae754d config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0x94159cd5 configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xa37cab97 config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0xab3ef527 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xb9ee1b40 configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0xcb06e22e config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0xe279a668 config_item_put +EXPORT_SYMBOL fs/fscache/fscache 0x00fb541b __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x0318534f fscache_object_slow_work_ops +EXPORT_SYMBOL fs/fscache/fscache 0x0715171b __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x07844452 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x089c45c5 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x0e4dcb6b __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x171ec69c fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x23a86085 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x2c9c919a __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x3174fe23 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x367c9082 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x496932b9 fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x78647568 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x81d48035 fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x82f53aee fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x869cf3b6 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x8b8cb716 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x960885fe __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x9766baa6 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x9ec24b11 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x9f5c2ad8 __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xa45d8f17 __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xac9ec6e1 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0xadb44a4e __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xae926023 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0xba395499 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0xbd452124 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0xfcf412aa __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/nfsd/nfsd 0x1f573533 nfs4_acl_posix_to_nfsv4 +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 0x96ce9bb4 nfs4_acl_new +EXPORT_SYMBOL fs/nfsd/nfsd 0xdb389aec nfs4_acl_nfsv4_to_posix +EXPORT_SYMBOL fs/quota/quota_tree 0x0b0a9f89 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x15394529 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x3a6feb17 qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x8638d03f qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xfd791dfe qtree_release_dquot +EXPORT_SYMBOL lib/crc-ccitt 0x651c2313 crc_ccitt +EXPORT_SYMBOL lib/crc-ccitt 0x75811312 crc_ccitt_table +EXPORT_SYMBOL lib/crc-itu-t 0x276c7e62 crc_itu_t +EXPORT_SYMBOL lib/crc-itu-t 0xd29b009f crc_itu_t_table +EXPORT_SYMBOL lib/crc-t10dif 0x782acba5 crc_t10dif +EXPORT_SYMBOL lib/crc7 0xc086bfba crc7 +EXPORT_SYMBOL lib/crc7 0xd80c3603 crc7_syndrome_table +EXPORT_SYMBOL lib/libcrc32c 0x27000b29 crc32c +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 0xf0caf44b zlib_deflate_workspacesize +EXPORT_SYMBOL lib/zlib_deflate/zlib_deflate 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL net/802/p8022 0x5b04f4d1 register_8022_client +EXPORT_SYMBOL net/802/p8022 0xfb30660f unregister_8022_client +EXPORT_SYMBOL net/802/p8023 0x739ca369 make_8023_client +EXPORT_SYMBOL net/802/p8023 0xe84a0a1f destroy_8023_client +EXPORT_SYMBOL net/802/psnap 0x4caa896d register_snap_client +EXPORT_SYMBOL net/802/psnap 0xcc45e5e3 unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x0212b365 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0x03fad81b p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x04dcb2e6 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x0b3ac49a p9pdu_dump +EXPORT_SYMBOL net/9p/9pnet 0x14e4362a p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x3529a5f9 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x37e76543 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x3a2abad6 p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x3dc1b9c2 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x3facc993 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x41e6bc51 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x5850a5d8 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x58d58859 p9_client_version +EXPORT_SYMBOL net/9p/9pnet 0x59747bd3 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x5e898ad8 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x61a4f886 p9_client_auth +EXPORT_SYMBOL net/9p/9pnet 0x62055a12 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x71234f5c p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x7223f192 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x72fc195f p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0x76b79bf1 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x905a1456 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x93fc0406 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xb1968e77 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xefeda01f p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0xf057e14e p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0xf4181eee p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0xf44eac0b p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0xfa89b649 v9fs_register_trans +EXPORT_SYMBOL net/appletalk/appletalk 0x20218eff aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0x33c541ae atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0x9431fc7a atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xb5774707 alloc_ltalkdev +EXPORT_SYMBOL net/atm/atm 0x1a24e5e2 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0x1e0dfcf0 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x598e1105 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x68209eb9 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x6e9eb9ee atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x81b3ab1e vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x87b8fc5e atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x89195dc3 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0x8b3695e9 atm_charge +EXPORT_SYMBOL net/atm/atm 0x8dad826b register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x9ff9cd5e atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0xba82879b atm_dev_register +EXPORT_SYMBOL net/atm/atm 0xbdab2434 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xe6deb3f3 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/bridge/bridge 0x26dffd79 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x0ab41b6e ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x4a586dae ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xd70433d2 ebt_register_table +EXPORT_SYMBOL net/can/can 0x5059208e can_rx_unregister +EXPORT_SYMBOL net/can/can 0x6f334971 can_proto_unregister +EXPORT_SYMBOL net/can/can 0xa0a1bcca can_proto_register +EXPORT_SYMBOL net/can/can 0xad794221 can_send +EXPORT_SYMBOL net/can/can 0xf211b187 can_rx_register +EXPORT_SYMBOL net/ieee802154/nl802154 0x32266de9 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x5eeb821f ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x7bd6e6f7 ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0x80830dbd ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/nl802154 0x9eaf8ca5 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0xa0087410 ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/nl802154 0xae57b243 ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/wpan-class 0x280b0837 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/wpan-class 0x44985952 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/wpan-class 0x663edf8a wpan_phy_free +EXPORT_SYMBOL net/ieee802154/wpan-class 0xb464a4c1 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/wpan-class 0xb5e60f7d wpan_phy_alloc +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x17916139 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xd5d3d3d9 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xe146fa6a arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x09cdca3f ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x4082f818 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xa15bffe9 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x0d6f471c nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x1a4f662b nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x60110517 nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x77aed659 nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x7d05e57f nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xa46b87a1 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xe5aa5e45 nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/tunnel4 0x10230811 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0x5a9b0ae0 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/ipv6 0x00f1b13a compat_ipv6_getsockopt +EXPORT_SYMBOL net/ipv6/ipv6 0x04129036 inet6_unregister_protosw +EXPORT_SYMBOL net/ipv6/ipv6 0x05c820b0 xfrm6_rcv +EXPORT_SYMBOL net/ipv6/ipv6 0x0ab648f4 ndisc_send_skb +EXPORT_SYMBOL net/ipv6/ipv6 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL net/ipv6/ipv6 0x1850004d ipv6_setsockopt +EXPORT_SYMBOL net/ipv6/ipv6 0x1decca5f inet6_del_protocol +EXPORT_SYMBOL net/ipv6/ipv6 0x27f3a408 inet6_add_protocol +EXPORT_SYMBOL net/ipv6/ipv6 0x30123eb5 icmpv6_statistics +EXPORT_SYMBOL net/ipv6/ipv6 0x325a9611 ip6_route_me_harder +EXPORT_SYMBOL net/ipv6/ipv6 0x32661f9f ndisc_build_skb +EXPORT_SYMBOL net/ipv6/ipv6 0x32c526b0 ipv6_dev_get_saddr +EXPORT_SYMBOL net/ipv6/ipv6 0x3430c8e2 ipv6_chk_addr +EXPORT_SYMBOL net/ipv6/ipv6 0x38728104 inet6_getname +EXPORT_SYMBOL net/ipv6/ipv6 0x3947f8c3 xfrm6_input_addr +EXPORT_SYMBOL net/ipv6/ipv6 0x41574472 xfrm6_prepare_output +EXPORT_SYMBOL net/ipv6/ipv6 0x4b443b22 rt6_lookup +EXPORT_SYMBOL net/ipv6/ipv6 0x4f2c07d4 inet6_bind +EXPORT_SYMBOL net/ipv6/ipv6 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL net/ipv6/ipv6 0x59fead53 xfrm6_rcv_spi +EXPORT_SYMBOL net/ipv6/ipv6 0x75902a04 compat_ipv6_setsockopt +EXPORT_SYMBOL net/ipv6/ipv6 0x7da45dcc nf_ip6_checksum +EXPORT_SYMBOL net/ipv6/ipv6 0x802b97f8 icmpv6_send +EXPORT_SYMBOL net/ipv6/ipv6 0x89cd3e70 xfrm6_find_1stfragopt +EXPORT_SYMBOL net/ipv6/ipv6 0x8e41d577 ipv6_push_nfrag_opts +EXPORT_SYMBOL net/ipv6/ipv6 0x927e197c ndisc_mc_map +EXPORT_SYMBOL net/ipv6/ipv6 0x93c0587f ip6_route_output +EXPORT_SYMBOL net/ipv6/ipv6 0xab5ce3e3 ipv6_getsockopt +EXPORT_SYMBOL net/ipv6/ipv6 0xb1dc1471 inet6_register_protosw +EXPORT_SYMBOL net/ipv6/ipv6 0xb3e23382 ipv6_chk_prefix +EXPORT_SYMBOL net/ipv6/ipv6 0xbbd93856 ip6_frag_init +EXPORT_SYMBOL net/ipv6/ipv6 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL net/ipv6/ipv6 0xdae6f44f in6_dev_finish_destroy +EXPORT_SYMBOL net/ipv6/ipv6 0xe079b54b ip6_frag_match +EXPORT_SYMBOL net/ipv6/ipv6 0xe1a81c3a icmpv6msg_statistics +EXPORT_SYMBOL net/ipv6/ipv6 0xe690b8fd __ipv6_isatap_ifid +EXPORT_SYMBOL net/ipv6/ipv6 0xf46ec1e2 ip6_xmit +EXPORT_SYMBOL net/ipv6/ipv6 0xf4a2162a inet6_ioctl +EXPORT_SYMBOL net/ipv6/ipv6 0xffd6f432 inet6_release +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x3bbd7f33 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x6b9c510b ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x88067a81 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb8bddf33 ip6t_ext_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xecde25dd ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x5165cd1f xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0x7466be0b xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x9cd013f2 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xab14e193 xfrm6_tunnel_free_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xdb1b42d1 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/llc/llc 0x31b42df5 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x5f69c2db llc_sap_list_lock +EXPORT_SYMBOL net/llc/llc 0x73aef266 llc_sap_close +EXPORT_SYMBOL net/llc/llc 0x8025e110 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x8f83fdc7 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0xac2983dd llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0xecf75a5f llc_sap_find +EXPORT_SYMBOL net/llc/llc 0xff78174c llc_set_station_handler +EXPORT_SYMBOL net/mac80211/mac80211 0x06970d4d ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x16343237 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x1a0251e5 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x1bedea93 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x1f92e2ec ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x2129d091 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x23b487cc ieee80211_beacon_get +EXPORT_SYMBOL net/mac80211/mac80211 0x27785e06 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0x2beb92ca ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x2d11f7f3 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x312557b9 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x5619bff3 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x5889bbc3 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x649aaf98 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x70afaac1 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x85f6fa71 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x8b856cd0 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x8cbe74fe ieee80211_start_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0x8d6578e2 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x97717ba2 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x9b212c9d ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x9d836947 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xa3113627 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xa8105839 ieee80211_stop_tx_ba_cb +EXPORT_SYMBOL net/mac80211/mac80211 0xa9e6c740 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xaf387697 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xaf56fe59 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xb1af9e00 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xb2510f49 ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xb26960d1 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xbb0749a0 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0xc20a6c4c ieee80211_get_tkip_key +EXPORT_SYMBOL net/mac80211/mac80211 0xc2976532 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xd1508ec1 ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0xdac5c952 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xdec97483 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0xe73d3c20 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xe7e1e6da ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xe8abe42d ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xf9574bea ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xfc15f491 ieee80211_rts_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x091ada2d register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x19756336 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x400336c8 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x47f6bee3 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x501baf83 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x91d264cb ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa1dbc2d8 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa232e075 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb2e704cf ip_vs_skb_replace +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc14482f3 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc62c627b ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xda6bba43 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x16871c75 __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x408bb45d __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x319ee791 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x16a5e826 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x4b3b2d54 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x55383066 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x88c5260b xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x8b00ba4b xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x975162de xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0xa7514f2d xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xb9469431 xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0xc3ff5dff xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xda18fa30 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0xdb1874ab xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0xdf7cbf66 xt_unregister_targets +EXPORT_SYMBOL net/phonet/phonet 0x00280e99 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x2a3436de pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x322d1c3a pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x49292a98 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x5dd0badd pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x6c0bcbc2 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x6e786eb6 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0xba9c5e6c phonet_proto_register +EXPORT_SYMBOL net/rfkill/rfkill 0x0021364a rfkill_alloc +EXPORT_SYMBOL net/rfkill/rfkill 0x0ae368c3 rfkill_destroy +EXPORT_SYMBOL net/rfkill/rfkill 0x2ace7b1a rfkill_set_sw_state +EXPORT_SYMBOL net/rfkill/rfkill 0x2f6f9db1 rfkill_register +EXPORT_SYMBOL net/rfkill/rfkill 0x33e0a12a rfkill_get_led_trigger_name +EXPORT_SYMBOL net/rfkill/rfkill 0x4579d5f7 rfkill_unregister +EXPORT_SYMBOL net/rfkill/rfkill 0x5ff3cf13 rfkill_pause_polling +EXPORT_SYMBOL net/rfkill/rfkill 0x659c813e rfkill_set_hw_state +EXPORT_SYMBOL net/rfkill/rfkill 0x7a88130a rfkill_init_sw_state +EXPORT_SYMBOL net/rfkill/rfkill 0x8bf2f28b rfkill_set_led_trigger_name +EXPORT_SYMBOL net/rfkill/rfkill 0x8f7e286a rfkill_resume_polling +EXPORT_SYMBOL net/rfkill/rfkill 0xaed76af4 rfkill_blocked +EXPORT_SYMBOL net/rfkill/rfkill 0xf2b54e01 rfkill_set_states +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x10d90c2e rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x1e2e149f rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x2f3d5851 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x3a63b33a rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x5a9bada9 rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x606a186c rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x6b6abead rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x8d97f4f8 rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x8e2091f3 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x91801a4b rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x9bbc0ca8 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xcf48381a rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xd8441b85 rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xd9a0a867 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe193733b rxrpc_kernel_reject_call +EXPORT_SYMBOL net/sunrpc/sunrpc 0x77de6fa1 svc_pool_stats_open +EXPORT_SYMBOL net/tipc/tipc 0x08acf310 tipc_available_nodes +EXPORT_SYMBOL net/tipc/tipc 0x0b074a7b tipc_multicast +EXPORT_SYMBOL net/tipc/tipc 0x10d40fcd tipc_isconnected +EXPORT_SYMBOL net/tipc/tipc 0x13543216 tipc_send_buf2port +EXPORT_SYMBOL net/tipc/tipc 0x1472b270 tipc_disconnect +EXPORT_SYMBOL net/tipc/tipc 0x1479cb03 tipc_deleteport +EXPORT_SYMBOL net/tipc/tipc 0x15b5ecde tipc_set_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x16f27683 tipc_block_bearer +EXPORT_SYMBOL net/tipc/tipc 0x23daecbd tipc_send +EXPORT_SYMBOL net/tipc/tipc 0x259b74f9 tipc_acknowledge +EXPORT_SYMBOL net/tipc/tipc 0x28856dfa tipc_reject_msg +EXPORT_SYMBOL net/tipc/tipc 0x310d1bc9 tipc_detach +EXPORT_SYMBOL net/tipc/tipc 0x34d05fe9 tipc_forward_buf2name +EXPORT_SYMBOL net/tipc/tipc 0x3712e340 tipc_portunreliable +EXPORT_SYMBOL net/tipc/tipc 0x3976041f tipc_set_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x419b02fc tipc_send2port +EXPORT_SYMBOL net/tipc/tipc 0x4b2243c6 tipc_portimportance +EXPORT_SYMBOL net/tipc/tipc 0x538b228a tipc_withdraw +EXPORT_SYMBOL net/tipc/tipc 0x5637ed44 tipc_get_mode +EXPORT_SYMBOL net/tipc/tipc 0x5c0d4b5c tipc_ref_valid +EXPORT_SYMBOL net/tipc/tipc 0x5d278285 tipc_send_buf2name +EXPORT_SYMBOL net/tipc/tipc 0x62a681a3 tipc_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0x68db8425 tipc_register_media +EXPORT_SYMBOL net/tipc/tipc 0x88b73627 tipc_get_addr +EXPORT_SYMBOL net/tipc/tipc 0x99222adf tipc_createport_raw +EXPORT_SYMBOL net/tipc/tipc 0x99b3392b tipc_send_buf_fast +EXPORT_SYMBOL net/tipc/tipc 0x9aa6ef72 tipc_createport +EXPORT_SYMBOL net/tipc/tipc 0x9c45558e tipc_enable_bearer +EXPORT_SYMBOL net/tipc/tipc 0xa1b42d32 tipc_forward2port +EXPORT_SYMBOL net/tipc/tipc 0xaa6fae23 tipc_forward_buf2port +EXPORT_SYMBOL net/tipc/tipc 0xadd203d0 tipc_connect2port +EXPORT_SYMBOL net/tipc/tipc 0xae0103c3 tipc_shutdown +EXPORT_SYMBOL net/tipc/tipc 0xaf37f87d tipc_continue +EXPORT_SYMBOL net/tipc/tipc 0xb1f8eacc tipc_send2name +EXPORT_SYMBOL net/tipc/tipc 0xb35b672c tipc_publish +EXPORT_SYMBOL net/tipc/tipc 0xc31c96d0 tipc_send_buf +EXPORT_SYMBOL net/tipc/tipc 0xcec8514a tipc_set_portunreturnable +EXPORT_SYMBOL net/tipc/tipc 0xcee290be tipc_forward2name +EXPORT_SYMBOL net/tipc/tipc 0xd44731e5 tipc_ownidentity +EXPORT_SYMBOL net/tipc/tipc 0xd81f72e4 tipc_get_port +EXPORT_SYMBOL net/tipc/tipc 0xda7f9d3f tipc_attach +EXPORT_SYMBOL net/tipc/tipc 0xdf5008fc tipc_peer +EXPORT_SYMBOL net/tipc/tipc 0xe7aece47 tipc_ispublished +EXPORT_SYMBOL net/tipc/tipc 0xeefd49b3 tipc_get_handle +EXPORT_SYMBOL net/tipc/tipc 0xef50a1ef tipc_disable_bearer +EXPORT_SYMBOL net/tipc/tipc 0xf4dfacbd tipc_recv_msg +EXPORT_SYMBOL net/wimax/wimax 0x1d9b47e4 wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0xdaa2c381 wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x026a32fb cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x037b94ea cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x07e7ac5a ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x0b1a5221 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x111fd7cf wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x13c760f5 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x149bcf2f wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x156dc18c cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x185ff0e0 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x2dae214b cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x33c23de9 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x37ac8d05 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x3d80a7d5 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x4b9f13ab freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x53337772 cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6a92b90b cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x6f2dcff4 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x6f7bca12 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x73d57bc7 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x7a0ef421 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x7a96da75 cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3fddc1 ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x829aadf0 cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x8c35d732 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x8fb32be5 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0x9664f122 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x99119a96 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x9cddd6b8 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xacfd525c regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xb43ed9bc cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xb68f3ac4 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xbdbff242 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xc4e85ec5 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xccc291b3 ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0xd0e3d46f cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xdcb5a6d5 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xdfc16bde __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xe0131f2e cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0xe49f8244 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xec998444 cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0xedabdac8 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0xf08a8bea cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0xf88e8ac3 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/lib80211 0x0c47ad45 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x230f3ffb lib80211_crypt_deinit_handler +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x32ab74f9 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x46d752f6 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x4be82a1a lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x678e1518 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x8cc4ff98 lib80211_crypt_quiescing +EXPORT_SYMBOL net/wireless/lib80211 0xaee54c4c lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xcb5f591d lib80211_crypt_deinit_entries +EXPORT_SYMBOL sound/ac97_bus 0xe53fe246 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x9969df29 snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x158a9c4f snd_seq_kernel_client_enqueue_blocking +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 0x89947013 snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0x9f37d23a snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xcac0a3be snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe8a2739e snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0xfa455443 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x1f523156 snd_seq_device_new +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x2ccc4828 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-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 0x22b99667 snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x42a6fdda snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x48f7eed6 snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x521cf955 snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x81942dc7 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x8c05c55e snd_midi_event_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xd7f93dcb snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xed92fb9a snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x5d333cd4 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x044fead1 snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x0499cc5a snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x1868c74c snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x18ac0313 snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x191afed8 snd_card_register +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x1b16edcd snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x1e8f7823 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x1f58242d snd_device_free +EXPORT_SYMBOL sound/core/snd 0x1fdca98d snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x265fff5b snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x2ae3deaa release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0x3085f9d9 snd_card_free +EXPORT_SYMBOL sound/core/snd 0x35695d7c snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x424b9c19 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0x426b1dd6 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x479b4d4f snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x518bb7f8 copy_from_user_toio +EXPORT_SYMBOL sound/core/snd 0x5751f461 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x584d95f1 snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0x5d7e4263 snd_cards +EXPORT_SYMBOL sound/core/snd 0x63dde881 snd_card_create +EXPORT_SYMBOL sound/core/snd 0x65c90c06 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0x73e80964 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x744bc23b snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x7560c174 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x7b91d2a6 snd_device_new +EXPORT_SYMBOL sound/core/snd 0x824c8f2e snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x8ada0adc snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x8b4cc267 snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x927749fb snd_info_register +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xa2c9a4bf snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0xa82bd016 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0xa895aa7c snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb4600d51 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0xb669c882 _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0xbaf48a15 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0xbbd4514a snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0xc07394ea snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0xc2ca983f snd_component_add +EXPORT_SYMBOL sound/core/snd 0xd5081295 snd_device_register +EXPORT_SYMBOL sound/core/snd 0xd50dcc48 snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0xdc6ffe4f snd_jack_new +EXPORT_SYMBOL sound/core/snd 0xe09f7ed6 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0xe148c1dc snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0xe20c9214 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0xe243dde3 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0xe92840ec snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0xebd4836f snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0xebdc0c48 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0xf33c199a snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd-hwdep 0xf5209bc6 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x19cc2ce3 snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x5dc86bdb snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0xafbd6f13 snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xc6829020 snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xea03bb99 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xf23fe363 snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0xfce9d091 snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-pcm 0x00cea80b snd_pcm_set_sync +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 0x04efd520 snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x0bb6c18a snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0x10959ff6 snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x2a703864 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x2aa2c827 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x2e1ecd42 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x380d4a09 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x41333e8b snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0x433fdcc4 snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0x45771794 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x47f683b8 snd_pcm_hw_constraint_list +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 0x53f09cf2 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x551345b0 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x5df3953e snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x604d82ca snd_pcm_lib_preallocate_pages_for_all +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 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x85922faf snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x88a0a078 snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0x8eecd957 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x939f52bd snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x98d7eb5b snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x9d37edd4 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0xa1f8566d snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0xa615cf15 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xb47e2d3d snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0xb87c52bb snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbdff8f82 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xc3797019 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0xd0b9b8b8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0xd48c5628 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xd71fd203 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0xd946bc4f snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xe1bff8a1 snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0xe2369e67 snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0xe51a1c64 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xf4d0e61f snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0xfd95bfbf snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0b51a0ef snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1d24745f snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x21f04d36 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x31d52a69 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x371cd0ed snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4a138936 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6336bcb7 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa22d4aa5 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0xaf43b68c snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb09ebcce snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb23396e6 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb86d79c1 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbe437af7 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbf3283dc snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc6aa7402 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe8a93b61 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xffef7314 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-timer 0x0442bc99 snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x4f2c5c58 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0x5c6b1775 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x63e7f404 snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x6a4fc617 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x8a4c5403 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0x9c93928e snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0xd3e53948 snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0xdb4446a5 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0xebde2b39 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0xec44498d snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0xf1f1c1d9 snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0xf5621192 snd_timer_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x4bbb7f27 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc43a3940 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xe6bae3ce snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x250a2f90 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x28b3dc0b snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x3775427f snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x96fda9d5 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xa6b94d8f snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xbfa3ac91 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xd7ded643 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xdb8706aa snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xe47e9b8c snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x40f215ae snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x4a5c92eb snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7b824725 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7e88f6af snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x99b88ede snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xaa0c2455 snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xed69aaa9 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf8dc5f13 snd_vx_load_boot_image +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x0067c27a snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x3396b078 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x9409f2c9 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x9fa69ae1 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xa6b4832f snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xef9ac14d snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x5c117b20 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x6d2b5563 snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x8ccdda97 snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x9ef14952 snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xac70f50d snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xb063e0da snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x1dd78aac snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x31a1cb81 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x6b1ac96e snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x86aa936e snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x51c51f6f snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xf8e866db snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x98c54b9d snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0xd2b5c5bb snd_tea575x_init +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x216754c8 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x2bf110e5 snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x4b057929 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x6e33ceab snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x748bfc7b snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-i2c 0x63ad0eb8 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x824596cf snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0xdea538c5 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0xe139cd3b snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xe59a31ec snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xf858b036 snd_i2c_readbytes +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x02d29e50 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2eb2c8d8 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x610fdb71 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa90c1289 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb03157dc snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb9cdbe74 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc843dee0 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xce50012c snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xdc084b61 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe3fb41a3 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe770a665 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xec191d5b snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xec3bd816 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf75a8e5b snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xfa3b5d7c snd_ac97_bus +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x0daec5f9 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x273de0e1 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x3347840c snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x616b362e snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x7edd07e6 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa2c13058 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xad196993 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xc7898569 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xd642c039 snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0xe8500aa2 snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x57483ce6 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x6031ebc0 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x79e43841 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x2e799c01 snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x539fbea9 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x87936830 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x9e4dc9ef snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xd359e372 snd_trident_stop_voice +EXPORT_SYMBOL sound/soc/codecs/snd-soc-uda134x 0xd974a12f uda134x_dai +EXPORT_SYMBOL sound/sound_firmware 0x39e3dd23 mod_firmware_load +EXPORT_SYMBOL sound/soundcore 0x0a83d34c register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x4ea0fdad register_sound_midi +EXPORT_SYMBOL sound/soundcore 0x4f2436dc register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x525c4704 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x7cb2af90 register_sound_special +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xf420daf4 sound_class +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x0195118c snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x0743bc60 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x1bd0f3c8 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x68c29f0a snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xd25cafd9 snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xf7854e22 snd_emux_register +EXPORT_SYMBOL sound/synth/snd-util-mem 0x0c1042b4 snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0x15bceb30 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x381a4ce8 snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x56485a21 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x5abd7e4e snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x6659d896 snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xb2692585 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xbf4d317f __snd_util_mem_free +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x01dc8239 snd_usb_create_midi_interface +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usb-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usb-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL vmlinux 0x00000000 per_cpu__softirq_work_list +EXPORT_SYMBOL vmlinux 0x00369826 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x004c97b6 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x00546817 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x0082632f drm_sysfs_connector_add +EXPORT_SYMBOL vmlinux 0x008d6d34 seq_lseek +EXPORT_SYMBOL vmlinux 0x00947c05 unlock_super +EXPORT_SYMBOL vmlinux 0x00947ec6 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x00b9f136 compat_ip_getsockopt +EXPORT_SYMBOL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01106336 path_lookup +EXPORT_SYMBOL vmlinux 0x012c9f8f dquot_acquire +EXPORT_SYMBOL vmlinux 0x014004d2 ____pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x0150d4cf unbind_con_driver +EXPORT_SYMBOL vmlinux 0x015d6e18 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x018dad0d journal_get_create_access +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x019a4fa1 dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x01a4aab6 set_irq_chip_data +EXPORT_SYMBOL vmlinux 0x01ab0f38 dev_base_lock +EXPORT_SYMBOL vmlinux 0x01d711de __up_write +EXPORT_SYMBOL vmlinux 0x01f228ae tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0x01f67911 ___copy_in_user +EXPORT_SYMBOL vmlinux 0x020adf4d d_move +EXPORT_SYMBOL vmlinux 0x021a295d d_alloc_root +EXPORT_SYMBOL vmlinux 0x022e6144 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x024e72df unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x026294d4 unregister_key_type +EXPORT_SYMBOL vmlinux 0x02632788 pci_write_vpd +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x02696dec d_validate +EXPORT_SYMBOL vmlinux 0x027046b8 setup_arg_pages +EXPORT_SYMBOL vmlinux 0x0282d881 sk_stream_error +EXPORT_SYMBOL vmlinux 0x0286a988 input_release_device +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02b0b57a tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x02cdcdfc bdput +EXPORT_SYMBOL vmlinux 0x02d51915 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02fb211a prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x031b9448 arp_find +EXPORT_SYMBOL vmlinux 0x031ee678 xor_niagara_2 +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x0337887d __kfree_skb +EXPORT_SYMBOL vmlinux 0x0337faf3 __brelse +EXPORT_SYMBOL vmlinux 0x0339f7e6 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x033a25c2 tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x0340e0ae schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x035ad971 iunique +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x038589c9 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x039509db in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x0395f03d mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x03a22ad4 get_unmapped_area_prot +EXPORT_SYMBOL vmlinux 0x03b92598 _spin_lock +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03d81967 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x03d9b36b page_put_link +EXPORT_SYMBOL vmlinux 0x03e8f1f4 pipe_lock +EXPORT_SYMBOL vmlinux 0x03ea9cf3 sun4v_hvapi_get +EXPORT_SYMBOL vmlinux 0x03fb6d3e vga_tryget +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x040d8d70 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x041d69d0 inode_change_ok +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x04370e92 lro_vlan_hwaccel_receive_frags +EXPORT_SYMBOL vmlinux 0x04384112 is_bad_inode +EXPORT_SYMBOL vmlinux 0x044137e5 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x044b6dca blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x0467944e journal_update_format +EXPORT_SYMBOL vmlinux 0x046ee767 ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x0481b101 d_instantiate +EXPORT_SYMBOL vmlinux 0x0484d318 blk_stop_queue +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x04927208 cpu_active_mask +EXPORT_SYMBOL vmlinux 0x04b617b8 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x04cd0dad input_register_handler +EXPORT_SYMBOL vmlinux 0x04e46bdb up_read +EXPORT_SYMBOL vmlinux 0x04f3c434 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x04fb3c6e pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x05186ca4 flush_icache_range +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x0533106d install_exec_creds +EXPORT_SYMBOL vmlinux 0x055208ee blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x0560fd8f atomic_sub_ret +EXPORT_SYMBOL vmlinux 0x058fead7 dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x05bf9165 tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x05c5770e tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x05de9716 uart_resume_port +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x064136e2 pci_scan_slot +EXPORT_SYMBOL vmlinux 0x0648f1f5 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x065e8a2e profile_pc +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x06a485f2 __krealloc +EXPORT_SYMBOL vmlinux 0x06d567c7 drm_i2c_encoder_init +EXPORT_SYMBOL vmlinux 0x06e43648 migrate_page +EXPORT_SYMBOL vmlinux 0x06eaacdd mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x0703e826 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0x0716b627 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x073bcfe7 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x077c138a __dst_free +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x0799c50a param_set_ulong +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07bf560d of_get_next_child +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d1fbfa key_put +EXPORT_SYMBOL vmlinux 0x07d3f6d1 vfs_quota_disable +EXPORT_SYMBOL vmlinux 0x07faef8c qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x0806f690 blkdev_get +EXPORT_SYMBOL vmlinux 0x081ee25f force_sig +EXPORT_SYMBOL vmlinux 0x0826b0dc __flush_dcache_range +EXPORT_SYMBOL vmlinux 0x0827db21 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x082d85d5 xfrm_init_state +EXPORT_SYMBOL vmlinux 0x0836695c drm_sman_takedown +EXPORT_SYMBOL vmlinux 0x0837afb0 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x083f050d __ps2_command +EXPORT_SYMBOL vmlinux 0x08485f49 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x08825619 arp_tbl +EXPORT_SYMBOL vmlinux 0x088e9af3 blkdev_put +EXPORT_SYMBOL vmlinux 0x08ae5314 drm_ioctl +EXPORT_SYMBOL vmlinux 0x08b5361a dev_addr_add +EXPORT_SYMBOL vmlinux 0x08bd8108 clip_tbl_hook +EXPORT_SYMBOL vmlinux 0x08d66a3a warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x08ed0b62 mac_vmode_to_var +EXPORT_SYMBOL vmlinux 0x09089987 follow_up +EXPORT_SYMBOL vmlinux 0x0913662e inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x093a5657 cdev_del +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x094a7619 blk_remove_plug +EXPORT_SYMBOL vmlinux 0x0952a8ab address_space_init_once +EXPORT_SYMBOL vmlinux 0x09742bc8 page_symlink +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09a39a7b dma_pool_free +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c87f6b eth_header +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09e2f2ba _write_lock_irq +EXPORT_SYMBOL vmlinux 0x0a0d2564 pskb_copy +EXPORT_SYMBOL vmlinux 0x0a1bdb8d dquot_destroy +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a3dd20c tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x0a70353f pci_get_subsys +EXPORT_SYMBOL vmlinux 0x0a7b4a0e seq_open +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0adc864d drm_init +EXPORT_SYMBOL vmlinux 0x0af9653e xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x0b0af9a1 ethtool_op_set_tx_hw_csum +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b35d5d3 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x0b4b2ae4 journal_abort +EXPORT_SYMBOL vmlinux 0x0b4cfc33 vfs_getattr +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b7d2c7f drm_core_ioremap_wc +EXPORT_SYMBOL vmlinux 0x0b84fe88 pci_release_regions +EXPORT_SYMBOL vmlinux 0x0b8785aa vfs_writev +EXPORT_SYMBOL vmlinux 0x0be2aa84 posix_acl_permission +EXPORT_SYMBOL vmlinux 0x0bfd7ec1 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x0c0bef35 module_put +EXPORT_SYMBOL vmlinux 0x0c27263b pcim_iounmap +EXPORT_SYMBOL vmlinux 0x0c94de03 security_path_unlink +EXPORT_SYMBOL vmlinux 0x0c96b288 dev_get_stats +EXPORT_SYMBOL vmlinux 0x0ca70c9e skb_over_panic +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cc83329 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x0d004ca8 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x0d1d61d9 put_mnt_ns +EXPORT_SYMBOL vmlinux 0x0d29e8e1 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x0d4e60ff blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d6781b3 __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x0d74467b __netdev_alloc_page +EXPORT_SYMBOL vmlinux 0x0d7b7bfe blk_register_region +EXPORT_SYMBOL vmlinux 0x0d9b5abd skb_free_datagram +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0da3b830 drm_framebuffer_init +EXPORT_SYMBOL vmlinux 0x0dafdd2f __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x0dba47a5 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x0dea74cd neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x0e16e40c ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x0e1f5f76 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x0e3ae571 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x0e447e72 drm_mm_put_block +EXPORT_SYMBOL vmlinux 0x0e52592a panic +EXPORT_SYMBOL vmlinux 0x0e5ccc8d sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x0e713337 sg_init_table +EXPORT_SYMBOL vmlinux 0x0e863664 mb_cache_create +EXPORT_SYMBOL vmlinux 0x0ea1af0f _spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x0eefd6af block_invalidatepage +EXPORT_SYMBOL vmlinux 0x0f030312 journal_forget +EXPORT_SYMBOL vmlinux 0x0f1ef871 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x0f378a1e ___copy_from_user +EXPORT_SYMBOL vmlinux 0x0f3c50e3 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x0f41bd8a complete_all +EXPORT_SYMBOL vmlinux 0x0f5ae830 set_bdi_congested +EXPORT_SYMBOL vmlinux 0x0f635c52 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x0fab5696 of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x0fbe837c writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x0fc5e8eb radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0x0fdc57a1 simple_empty +EXPORT_SYMBOL vmlinux 0x0fe22693 dquot_initialize +EXPORT_SYMBOL vmlinux 0x0ffcb12f pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0x104b69c7 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x104c9060 per_cpu____cpu_data +EXPORT_SYMBOL vmlinux 0x104e8c3b journal_init_dev +EXPORT_SYMBOL vmlinux 0x105e2727 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x108e8985 param_get_uint +EXPORT_SYMBOL vmlinux 0x10902bf7 insb +EXPORT_SYMBOL vmlinux 0x109d303e skb_seq_read +EXPORT_SYMBOL vmlinux 0x10adf41d skb_dequeue +EXPORT_SYMBOL vmlinux 0x10b31f7d drm_core_ioremapfree +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x1101f513 bio_integrity_free +EXPORT_SYMBOL vmlinux 0x111663e2 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x111f67af atomic64_add_ret +EXPORT_SYMBOL vmlinux 0x11408c60 block_read_full_page +EXPORT_SYMBOL vmlinux 0x114a8e14 udp_poll +EXPORT_SYMBOL vmlinux 0x114ed1ce schedule_work_on +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x11793d13 ebus_dma_unregister +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x119b75f8 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x11bf22ab neigh_destroy +EXPORT_SYMBOL vmlinux 0x11f2814c key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x1216bed2 aio_put_req +EXPORT_SYMBOL vmlinux 0x12293c08 per_cpu____irq_regs +EXPORT_SYMBOL vmlinux 0x123458c6 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x1235e0ce unregister_nls +EXPORT_SYMBOL vmlinux 0x1243ff30 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x1248542e should_remove_suid +EXPORT_SYMBOL vmlinux 0x129c267d framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x12bb2452 up +EXPORT_SYMBOL vmlinux 0x12bd5c52 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x12d09a67 sun4v_hvapi_unregister +EXPORT_SYMBOL vmlinux 0x12da3d9b lock_super +EXPORT_SYMBOL vmlinux 0x12e9ea7e dev_mc_add +EXPORT_SYMBOL vmlinux 0x12ea337e outsb +EXPORT_SYMBOL vmlinux 0x12f31318 _spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x130270b1 down_killable +EXPORT_SYMBOL vmlinux 0x13058ef4 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x131884da irq_of_parse_and_map +EXPORT_SYMBOL vmlinux 0x132861e7 genphy_suspend +EXPORT_SYMBOL vmlinux 0x134422d7 bio_copy_user +EXPORT_SYMBOL vmlinux 0x13577eb0 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x136f7671 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0x138a78d1 set_current_groups +EXPORT_SYMBOL vmlinux 0x13a7e6b5 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x13d1848b __netif_schedule +EXPORT_SYMBOL vmlinux 0x13d6032e pcim_iomap +EXPORT_SYMBOL vmlinux 0x13e74568 arp_broken_ops +EXPORT_SYMBOL vmlinux 0x13e751a3 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x13ed4b6f bio_sector_offset +EXPORT_SYMBOL vmlinux 0x13fc14f4 pci_bus_type +EXPORT_SYMBOL vmlinux 0x1425310b tcp_check_req +EXPORT_SYMBOL vmlinux 0x1427f7c3 of_release_dev +EXPORT_SYMBOL vmlinux 0x145593f4 tty_hangup +EXPORT_SYMBOL vmlinux 0x149598f0 pci_remove_bus +EXPORT_SYMBOL vmlinux 0x14accd24 sock_rfree +EXPORT_SYMBOL vmlinux 0x14d053f4 drm_core_reclaim_buffers +EXPORT_SYMBOL vmlinux 0x14d2d25d blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x14f514c9 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x1559acde find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x156946f4 phy_start_aneg +EXPORT_SYMBOL vmlinux 0x15d66a91 ps2_end_command +EXPORT_SYMBOL vmlinux 0x161605c3 idr_replace +EXPORT_SYMBOL vmlinux 0x1619c5ef shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x1628b023 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x163c5e39 twl4030_i2c_read +EXPORT_SYMBOL vmlinux 0x16e8a4b5 __devm_request_region +EXPORT_SYMBOL vmlinux 0x16e8b7e2 get_io_context +EXPORT_SYMBOL vmlinux 0x1738949b i2c_del_driver +EXPORT_SYMBOL vmlinux 0x1748319b numa_cpumask_lookup_table +EXPORT_SYMBOL vmlinux 0x178f9f64 aio_complete +EXPORT_SYMBOL vmlinux 0x17c85a66 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x17d1b701 iget5_locked +EXPORT_SYMBOL vmlinux 0x17daec5f nf_unregister_hook +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17dfd665 secpath_dup +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x180bfa86 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x180f7668 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0x182cdae2 netdev_state_change +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x1856a8c1 inet_ioctl +EXPORT_SYMBOL vmlinux 0x1876c9ad kfifo_free +EXPORT_SYMBOL vmlinux 0x187a20eb input_unfilter_device +EXPORT_SYMBOL vmlinux 0x1889e911 request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0x189b6bac memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x18bef9d9 mdesc_node_by_name +EXPORT_SYMBOL vmlinux 0x18e8401d proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x192d356c journal_errno +EXPORT_SYMBOL vmlinux 0x19391763 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x19417fd3 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x1976bc16 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x1981fca3 seq_putc +EXPORT_SYMBOL vmlinux 0x19866e69 fb_blank +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19cc8cf1 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x19e75f0c drm_rmmap +EXPORT_SYMBOL vmlinux 0x19fd140e __invalidate_device +EXPORT_SYMBOL vmlinux 0x1a35bcbc VISenter +EXPORT_SYMBOL vmlinux 0x1a3b28d3 qdisc_reset +EXPORT_SYMBOL vmlinux 0x1a4eedd1 simple_transaction_set +EXPORT_SYMBOL vmlinux 0x1a531fb1 otg_get_transceiver +EXPORT_SYMBOL vmlinux 0x1a62636a dev_unicast_unsync +EXPORT_SYMBOL vmlinux 0x1a6e9adc tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x1a971654 tcp_v4_md5_do_del +EXPORT_SYMBOL vmlinux 0x1aa759d0 ns_to_timeval +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1ad17b27 locks_init_lock +EXPORT_SYMBOL vmlinux 0x1ad9f95a prom_finddevice +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b04bd6d bdev_read_only +EXPORT_SYMBOL vmlinux 0x1b3d6896 pci_pme_capable +EXPORT_SYMBOL vmlinux 0x1b5b1649 vfs_set_dqinfo +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b68fa22 kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x1b69793d file_update_time +EXPORT_SYMBOL vmlinux 0x1b6c53c9 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x1b749747 drm_mm_debug_table +EXPORT_SYMBOL vmlinux 0x1b89d3e0 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b9981cc set_irq_wake +EXPORT_SYMBOL vmlinux 0x1ba11f45 sleep_on +EXPORT_SYMBOL vmlinux 0x1be26c02 nobh_write_end +EXPORT_SYMBOL vmlinux 0x1c056ba8 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x1c1af916 set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x1c1d77ac qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x1c1f9750 ethtool_op_set_tso +EXPORT_SYMBOL vmlinux 0x1c25f858 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x1c38e284 blk_insert_request +EXPORT_SYMBOL vmlinux 0x1c40680e xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x1c52de8b pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x1c642a8a dev_unicast_delete +EXPORT_SYMBOL vmlinux 0x1c80de9c ip_send_check +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1cd2f856 revalidate_disk +EXPORT_SYMBOL vmlinux 0x1d01bdcc sock_init_data +EXPORT_SYMBOL vmlinux 0x1d08b5ce generic_file_aio_read +EXPORT_SYMBOL vmlinux 0x1d4bbc05 pci_dev_put +EXPORT_SYMBOL vmlinux 0x1d5747af tty_shutdown +EXPORT_SYMBOL vmlinux 0x1d6bddac neigh_ifdown +EXPORT_SYMBOL vmlinux 0x1d7939e0 input_allocate_device +EXPORT_SYMBOL vmlinux 0x1dbb4b1e __neigh_event_send +EXPORT_SYMBOL vmlinux 0x1dbcbf5e compat_sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1df009f3 percpu_counter_set +EXPORT_SYMBOL vmlinux 0x1e005469 kobject_put +EXPORT_SYMBOL vmlinux 0x1e199b07 drm_vblank_put +EXPORT_SYMBOL vmlinux 0x1e1e5632 d_delete +EXPORT_SYMBOL vmlinux 0x1e2c5b5d ipv4_specific +EXPORT_SYMBOL vmlinux 0x1e409c4e mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x1e471a14 dentry_unhash +EXPORT_SYMBOL vmlinux 0x1e5b22e1 __break_lease +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e6fb3b4 down_write +EXPORT_SYMBOL vmlinux 0x1e745302 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x1eadb57e elv_rb_add +EXPORT_SYMBOL vmlinux 0x1eb75979 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x1ed71ced eth_type_trans +EXPORT_SYMBOL vmlinux 0x1ee8195f xfrm_lookup +EXPORT_SYMBOL vmlinux 0x1efe283f __cap_full_set +EXPORT_SYMBOL vmlinux 0x1f072c59 drm_property_add_enum +EXPORT_SYMBOL vmlinux 0x1f163643 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x1f4b7850 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x1f72fb0a __rta_fill +EXPORT_SYMBOL vmlinux 0x1f77cfa5 insert_inode_locked +EXPORT_SYMBOL vmlinux 0x1f9da12e dma_supported +EXPORT_SYMBOL vmlinux 0x1fa36302 drm_addbufs_pci +EXPORT_SYMBOL vmlinux 0x1fa3e68e splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x1face1bd tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x1fe48383 dqget +EXPORT_SYMBOL vmlinux 0x1fedf0f4 __request_region +EXPORT_SYMBOL vmlinux 0x1ffa9cbd vfs_quota_enable +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x20385c58 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x203cfea9 ps2_command +EXPORT_SYMBOL vmlinux 0x204857ac proc_dostring +EXPORT_SYMBOL vmlinux 0x2053484b soft_cursor +EXPORT_SYMBOL vmlinux 0x20645642 drm_debug +EXPORT_SYMBOL vmlinux 0x2068ca8c nobh_write_begin +EXPORT_SYMBOL vmlinux 0x20759b44 generic_read_dir +EXPORT_SYMBOL vmlinux 0x20934cfe blk_queue_max_phys_segments +EXPORT_SYMBOL vmlinux 0x20a773c0 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x20aa5532 inode_set_bytes +EXPORT_SYMBOL vmlinux 0x20b87233 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x20dbb9a0 vfs_readlink +EXPORT_SYMBOL vmlinux 0x20e4ba2e phy_enable_interrupts +EXPORT_SYMBOL vmlinux 0x20ed1039 notify_change +EXPORT_SYMBOL vmlinux 0x20f3b729 release_firmware +EXPORT_SYMBOL vmlinux 0x210601cd flush_old_exec +EXPORT_SYMBOL vmlinux 0x21144e4f xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0x2122d8b8 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x21232ef2 eth_header_cache +EXPORT_SYMBOL vmlinux 0x2125fe99 drm_open +EXPORT_SYMBOL vmlinux 0x2130a11d dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x2140dc32 journal_flush +EXPORT_SYMBOL vmlinux 0x21451ac4 drm_sman_owner_cleanup +EXPORT_SYMBOL vmlinux 0x2155dbf0 pci_target_state +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x217edf97 ll_rw_block +EXPORT_SYMBOL vmlinux 0x21ca744f jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x21d2dcab input_set_keycode +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x2252ae56 skb_append +EXPORT_SYMBOL vmlinux 0x226163fc inet_sendmsg +EXPORT_SYMBOL vmlinux 0x226e86a9 audit_log +EXPORT_SYMBOL vmlinux 0x2288378f system_state +EXPORT_SYMBOL vmlinux 0x228f405f mpage_readpages +EXPORT_SYMBOL vmlinux 0x22a6643c unregister_netdevice +EXPORT_SYMBOL vmlinux 0x22a73912 __tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22b6533b xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x22d3de1e security_d_instantiate +EXPORT_SYMBOL vmlinux 0x22e809ee ilookup5 +EXPORT_SYMBOL vmlinux 0x2309098b genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x230ab4c9 _spin_lock_irq +EXPORT_SYMBOL vmlinux 0x230c3269 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x23269a13 strict_strtoul +EXPORT_SYMBOL vmlinux 0x23433b5f vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x234509f3 strncat +EXPORT_SYMBOL vmlinux 0x2354ef37 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x23577023 wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x23584c08 proc_mkdir +EXPORT_SYMBOL vmlinux 0x23692fd7 inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0x237cf73e of_find_device_by_node +EXPORT_SYMBOL vmlinux 0x237e3903 drm_poll +EXPORT_SYMBOL vmlinux 0x2382abf6 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x238f235e vfs_mknod +EXPORT_SYMBOL vmlinux 0x23f1d9b5 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x24116dd1 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x245d3d86 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x245d5689 genphy_read_status +EXPORT_SYMBOL vmlinux 0x24632cab skb_queue_tail +EXPORT_SYMBOL vmlinux 0x24686293 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x248ed51f vfs_quota_on +EXPORT_SYMBOL vmlinux 0x24af4d04 skb_insert +EXPORT_SYMBOL vmlinux 0x24b38938 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x24bc9b39 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x24bd930a outsl +EXPORT_SYMBOL vmlinux 0x24ec4ee1 cont_write_begin +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x252310a5 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0x25253505 bio_put +EXPORT_SYMBOL vmlinux 0x252dea42 touch_atime +EXPORT_SYMBOL vmlinux 0x2566f0ed iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x256acdb9 tty_insert_flip_string +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258355b4 fb_find_best_mode +EXPORT_SYMBOL vmlinux 0x25ae5170 kset_unregister +EXPORT_SYMBOL vmlinux 0x25b9c1d4 inet_put_port +EXPORT_SYMBOL vmlinux 0x25c034db skb_clone +EXPORT_SYMBOL vmlinux 0x25c3dbca prom_nextprop +EXPORT_SYMBOL vmlinux 0x25db74e7 mdesc_node_name +EXPORT_SYMBOL vmlinux 0x25dff29e vfs_write +EXPORT_SYMBOL vmlinux 0x25ec6431 __mutex_init +EXPORT_SYMBOL vmlinux 0x25ffe8e9 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x2601b059 dev_change_flags +EXPORT_SYMBOL vmlinux 0x263ee19b sg_init_one +EXPORT_SYMBOL vmlinux 0x265f1552 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x2676b371 blk_unplug +EXPORT_SYMBOL vmlinux 0x267fc65b __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x26b8f19b netif_receive_skb +EXPORT_SYMBOL vmlinux 0x26c05ded dput +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x270232de create_empty_buffers +EXPORT_SYMBOL vmlinux 0x271cc07f mem_section +EXPORT_SYMBOL vmlinux 0x2743291d sk_free +EXPORT_SYMBOL vmlinux 0x2748a9ba have_submounts +EXPORT_SYMBOL vmlinux 0x275713bb find_vma +EXPORT_SYMBOL vmlinux 0x2762b58f compat_tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x2762e143 pagecache_write_end +EXPORT_SYMBOL vmlinux 0x277650cc dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x27777a8f dqput +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27a7ba23 elv_abort_queue +EXPORT_SYMBOL vmlinux 0x27a84164 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x27a914a3 input_get_keycode +EXPORT_SYMBOL vmlinux 0x27b81daa xor_niagara_3 +EXPORT_SYMBOL vmlinux 0x27b8fe45 seq_escape +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27bd27d2 dev_alloc_name +EXPORT_SYMBOL vmlinux 0x27c61ece qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x27ec9698 override_creds +EXPORT_SYMBOL vmlinux 0x284850e4 blk_recount_segments +EXPORT_SYMBOL vmlinux 0x285ac517 strict_strtoll +EXPORT_SYMBOL vmlinux 0x286806b9 dm_io_client_resize +EXPORT_SYMBOL vmlinux 0x2876a6d3 memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x28883cbd inetdev_by_index +EXPORT_SYMBOL vmlinux 0x28d1865c tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x28d30f2e create_proc_entry +EXPORT_SYMBOL vmlinux 0x28e27922 ida_init +EXPORT_SYMBOL vmlinux 0x2916bf63 drm_sman_cleanup +EXPORT_SYMBOL vmlinux 0x2945947e napi_frags_finish +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x297d772e add_disk +EXPORT_SYMBOL vmlinux 0x29807494 fddi_type_trans +EXPORT_SYMBOL vmlinux 0x29908368 inet_add_protocol +EXPORT_SYMBOL vmlinux 0x29ae3296 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0x29bd4c46 __cap_init_eff_set +EXPORT_SYMBOL vmlinux 0x29dc4be7 of_console_options +EXPORT_SYMBOL vmlinux 0x29e75960 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x29ed1d5a xfrm_register_km +EXPORT_SYMBOL vmlinux 0x2a3abe0f tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x2a6b02b0 generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x2ad71d49 wireless_spy_update +EXPORT_SYMBOL vmlinux 0x2ae446b5 unlock_buffer +EXPORT_SYMBOL vmlinux 0x2af34252 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x2af91a30 slow_work_enqueue +EXPORT_SYMBOL vmlinux 0x2afe08e6 nf_reinject +EXPORT_SYMBOL vmlinux 0x2b0218a2 inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0x2b0bd7be ip_mc_rejoin_group +EXPORT_SYMBOL vmlinux 0x2b52d46f xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x2b609edc generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x2b937a6f __ret_efault +EXPORT_SYMBOL vmlinux 0x2b96b698 km_query +EXPORT_SYMBOL vmlinux 0x2b9b9b79 journal_init_inode +EXPORT_SYMBOL vmlinux 0x2b9dfc0f cpu_core_map +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bab2959 __alloc_skb +EXPORT_SYMBOL vmlinux 0x2bbade10 journal_wipe +EXPORT_SYMBOL vmlinux 0x2bc9fd59 destroy_EII_client +EXPORT_SYMBOL vmlinux 0x2bcd84aa do_munmap +EXPORT_SYMBOL vmlinux 0x2bd701b9 page_readlink +EXPORT_SYMBOL vmlinux 0x2be2f4a8 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x2be32652 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x2c09b834 check_disk_size_change +EXPORT_SYMBOL vmlinux 0x2c1a06d9 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x2c4a8369 inet_select_addr +EXPORT_SYMBOL vmlinux 0x2c86014b vfs_readv +EXPORT_SYMBOL vmlinux 0x2ca4b92b invalidate_inodes +EXPORT_SYMBOL vmlinux 0x2cdc5021 km_state_expired +EXPORT_SYMBOL vmlinux 0x2cdebd59 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x2d0dbd99 kthread_create +EXPORT_SYMBOL vmlinux 0x2d49a245 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x2d6a1d18 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x2d7f9374 task_nice +EXPORT_SYMBOL vmlinux 0x2d953cf8 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x2d96f187 blk_peek_request +EXPORT_SYMBOL vmlinux 0x2d9ffc35 ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x2daa7939 xor_vis_4 +EXPORT_SYMBOL vmlinux 0x2de7fc0f kobject_get +EXPORT_SYMBOL vmlinux 0x2dec2b99 pci_pme_active +EXPORT_SYMBOL vmlinux 0x2df158bb xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x2df51934 kill_anon_super +EXPORT_SYMBOL vmlinux 0x2e123eb9 devm_ioport_map +EXPORT_SYMBOL vmlinux 0x2e149d27 ida_pre_get +EXPORT_SYMBOL vmlinux 0x2e1f45c0 vio_validate_sid +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e2d6ca7 sk_alloc +EXPORT_SYMBOL vmlinux 0x2e313208 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0x2e34e934 pci_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0x2e4a39f8 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x2e5c5341 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x2e5e0426 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x2e79dbb3 ps2_init +EXPORT_SYMBOL vmlinux 0x2e889355 km_policy_notify +EXPORT_SYMBOL vmlinux 0x2eb2f903 drm_sman_free_key +EXPORT_SYMBOL vmlinux 0x2eb4612b netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0x2eb76dc0 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x2ec01fe4 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x2efd1a56 sock_release +EXPORT_SYMBOL vmlinux 0x2efd44f7 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x2f52bf14 sock_i_ino +EXPORT_SYMBOL vmlinux 0x2f53038c set_user_nice +EXPORT_SYMBOL vmlinux 0x2f7cd09c misc_register +EXPORT_SYMBOL vmlinux 0x2fb3d5d4 lro_vlan_hwaccel_receive_skb +EXPORT_SYMBOL vmlinux 0x2fc19959 ida_get_new +EXPORT_SYMBOL vmlinux 0x2fcae806 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x2fec6dc3 bio_map_kern +EXPORT_SYMBOL vmlinux 0x2ff493cb mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0x300b2000 of_find_in_proplist +EXPORT_SYMBOL vmlinux 0x3029b088 map_to_cpu +EXPORT_SYMBOL vmlinux 0x30482488 remove_proc_entry +EXPORT_SYMBOL vmlinux 0x304a011a dma_pool_create +EXPORT_SYMBOL vmlinux 0x3074f033 drm_order +EXPORT_SYMBOL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL vmlinux 0x30820bdd idr_get_new_above +EXPORT_SYMBOL vmlinux 0x309943a0 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x30998a30 input_unregister_device +EXPORT_SYMBOL vmlinux 0x30c9c475 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x30ff14a9 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x30ffe1f7 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x31121fe1 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x312ba318 rwsem_wake +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x3150e2af pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x316095cf inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0x3186bdad pci_dma_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x3193ba08 __page_cache_alloc +EXPORT_SYMBOL vmlinux 0x31955756 generic_writepages +EXPORT_SYMBOL vmlinux 0x31a2e826 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x31b31f5c csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x31d321cc drm_idlelock_release +EXPORT_SYMBOL vmlinux 0x31de65a1 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x31ebadcd in_group_p +EXPORT_SYMBOL vmlinux 0x32200ed1 dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x322f2602 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x323cefec copy_from_user_fixup +EXPORT_SYMBOL vmlinux 0x3271fc15 pci_reenable_device +EXPORT_SYMBOL vmlinux 0x3285cc48 param_set_uint +EXPORT_SYMBOL vmlinux 0x32905468 mempool_create +EXPORT_SYMBOL vmlinux 0x32a65cfe put_page +EXPORT_SYMBOL vmlinux 0x32ae8b2e key_unlink +EXPORT_SYMBOL vmlinux 0x32bade9e generic_file_llseek_unlocked +EXPORT_SYMBOL vmlinux 0x32bc559f dget_locked +EXPORT_SYMBOL vmlinux 0x32d06122 ethtool_op_set_sg +EXPORT_SYMBOL vmlinux 0x32dd93c7 netlink_set_err +EXPORT_SYMBOL vmlinux 0x32debb16 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x32e28c0c tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x32f70728 drm_getsarea +EXPORT_SYMBOL vmlinux 0x330078ac set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x330c571b drm_get_resource_len +EXPORT_SYMBOL vmlinux 0x330e70e4 sg_free_table +EXPORT_SYMBOL vmlinux 0x33134f61 jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0x33163fe0 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x33316e08 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x3331b26e flush_dcache_page +EXPORT_SYMBOL vmlinux 0x3364f439 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x33828970 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x3399991e file_remove_suid +EXPORT_SYMBOL vmlinux 0x33edf5ac blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x33f178a2 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x33f7d5d8 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x341154db pci_enable_device +EXPORT_SYMBOL vmlinux 0x341cbed2 cpu_present_mask +EXPORT_SYMBOL vmlinux 0x34357878 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x3435fd73 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0x34572eec key_link +EXPORT_SYMBOL vmlinux 0x3457cb68 param_set_long +EXPORT_SYMBOL vmlinux 0x348eff1c filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34f22830 genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x3504f6a5 kernel_read +EXPORT_SYMBOL vmlinux 0x352a5b78 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x355edd6c generic_show_options +EXPORT_SYMBOL vmlinux 0x357aab56 bh_submit_read +EXPORT_SYMBOL vmlinux 0x3582ed17 vfs_stat +EXPORT_SYMBOL vmlinux 0x35b0650f vsnprintf +EXPORT_SYMBOL vmlinux 0x35c2ba9e refrigerator +EXPORT_SYMBOL vmlinux 0x35d84066 ebus_dma_prepare +EXPORT_SYMBOL vmlinux 0x35d91f0c generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x35f9bcb5 tty_set_operations +EXPORT_SYMBOL vmlinux 0x360f7a7e generic_removexattr +EXPORT_SYMBOL vmlinux 0x36139a51 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x3656bf5a lock_kernel +EXPORT_SYMBOL vmlinux 0x36792e5c __kfifo_put +EXPORT_SYMBOL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL vmlinux 0x36887a31 ldc_map_sg +EXPORT_SYMBOL vmlinux 0x368951b1 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x36a6dbc3 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x36b4ccab neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x36ba9622 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x36db114b alloc_fddidev +EXPORT_SYMBOL vmlinux 0x36df0dc3 vio_register_driver +EXPORT_SYMBOL vmlinux 0x3707e579 __breadahead +EXPORT_SYMBOL vmlinux 0x37242a8f seq_path +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x375465a7 radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x3755e79f sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x37781685 journal_revoke +EXPORT_SYMBOL vmlinux 0x3781b508 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0x37a2180d drm_sysfs_connector_remove +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37ef9cc9 tcf_action_exec +EXPORT_SYMBOL vmlinux 0x38075155 ethtool_op_get_rx_csum +EXPORT_SYMBOL vmlinux 0x380eb7ae pci_find_bus +EXPORT_SYMBOL vmlinux 0x384c4a73 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x38569593 down_read +EXPORT_SYMBOL vmlinux 0x385d1a95 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x3864cccb gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x38710749 vfs_quota_on_path +EXPORT_SYMBOL vmlinux 0x3880401a __register_binfmt +EXPORT_SYMBOL vmlinux 0x38822f97 copy_user_page +EXPORT_SYMBOL vmlinux 0x388eb1c8 netif_notify_peers +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x3898cbb0 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x38ad45f5 journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x38b57f47 genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0x38c62089 pci_get_bus_and_slot +EXPORT_SYMBOL vmlinux 0x38e0a699 pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x39864fd4 tc_classify_compat +EXPORT_SYMBOL vmlinux 0x39e14282 rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0x39e22e68 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x3a19b6aa drm_core_get_reg_ofs +EXPORT_SYMBOL vmlinux 0x3a2204c6 security_netlink_recv +EXPORT_SYMBOL vmlinux 0x3a27aa6b drm_vblank_pre_modeset +EXPORT_SYMBOL vmlinux 0x3a4c9479 skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x3a4e2a28 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x3a7a125d gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x3a7de31a __downgrade_write +EXPORT_SYMBOL vmlinux 0x3a8a6f73 dquot_release +EXPORT_SYMBOL vmlinux 0x3a919d40 gen_pool_free +EXPORT_SYMBOL vmlinux 0x3a9a6b21 del_timer_sync +EXPORT_SYMBOL vmlinux 0x3a9aa54d clear_bit +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3a9e50be atomic64_sub +EXPORT_SYMBOL vmlinux 0x3aa1bfc3 of_console_device +EXPORT_SYMBOL vmlinux 0x3ac97c73 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x3ae831b6 kref_init +EXPORT_SYMBOL vmlinux 0x3aea8b4f sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x3afd87aa kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x3b1c9147 blk_complete_request +EXPORT_SYMBOL vmlinux 0x3b2ab3e6 of_match_device +EXPORT_SYMBOL vmlinux 0x3b3fe8cb prom_getsibling +EXPORT_SYMBOL vmlinux 0x3b5e6592 fb_get_mode +EXPORT_SYMBOL vmlinux 0x3b6d992e dev_driver_string +EXPORT_SYMBOL vmlinux 0x3b969b14 inode_init_once +EXPORT_SYMBOL vmlinux 0x3ba10718 phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x3bc49923 seq_bitmap_list +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bda1a7d __find_get_block +EXPORT_SYMBOL vmlinux 0x3bee03f3 generic_unplug_device +EXPORT_SYMBOL vmlinux 0x3c02de13 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x3c2591d3 igrab +EXPORT_SYMBOL vmlinux 0x3c2c5af5 sprintf +EXPORT_SYMBOL vmlinux 0x3c533f48 generic_write_checks +EXPORT_SYMBOL vmlinux 0x3c592b25 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x3c6f5c2c d_lookup +EXPORT_SYMBOL vmlinux 0x3c9a1409 drm_ht_just_insert_please +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3cabe9e0 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x3cc0a3bb xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x3cdfc582 journal_destroy +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3ce896b4 drm_do_probe_ddc_edid +EXPORT_SYMBOL vmlinux 0x3cf44187 input_inject_event +EXPORT_SYMBOL vmlinux 0x3d0b6b2a of_platform_bus_type +EXPORT_SYMBOL vmlinux 0x3d1f16d0 bio_init +EXPORT_SYMBOL vmlinux 0x3d22a6e6 new_inode +EXPORT_SYMBOL vmlinux 0x3d4342be find_lock_page +EXPORT_SYMBOL vmlinux 0x3d44f5e1 pci_claim_resource +EXPORT_SYMBOL vmlinux 0x3d4c12eb udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x3d4fd733 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x3d68bd4b flow_cache_genid +EXPORT_SYMBOL vmlinux 0x3d79772f __getblk +EXPORT_SYMBOL vmlinux 0x3d7bec1f ip_defrag +EXPORT_SYMBOL vmlinux 0x3d8728bb memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x3db2e258 radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x3dea224b lock_may_read +EXPORT_SYMBOL vmlinux 0x3e187c53 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x3e257839 update_region +EXPORT_SYMBOL vmlinux 0x3e383385 nf_hooks +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e576fc4 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x3e6cd3cc mpage_writepage +EXPORT_SYMBOL vmlinux 0x3e6f095a fb_show_logo +EXPORT_SYMBOL vmlinux 0x3e6fb4b1 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x3e746e60 cfb_imageblit +EXPORT_SYMBOL vmlinux 0x3e84ff64 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x3e899c9d blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x3e9411b6 inet_shutdown +EXPORT_SYMBOL vmlinux 0x3e964b06 of_phy_connect +EXPORT_SYMBOL vmlinux 0x3ea937cd neigh_table_clear +EXPORT_SYMBOL vmlinux 0x3eacc3bf generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x3ece060d scm_detach_fds +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3ed8aaaf vfs_dq_transfer +EXPORT_SYMBOL vmlinux 0x3ee4e3aa key_revoke +EXPORT_SYMBOL vmlinux 0x3ee75e03 _read_lock +EXPORT_SYMBOL vmlinux 0x3ef0d648 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x3ef29772 file_fsync +EXPORT_SYMBOL vmlinux 0x3efbb736 elv_add_request +EXPORT_SYMBOL vmlinux 0x3f0bcddd phy_connect +EXPORT_SYMBOL vmlinux 0x3f16c9da kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x3f31df77 nf_register_hooks +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f68850e vm_map_ram +EXPORT_SYMBOL vmlinux 0x3f88604f of_get_parent +EXPORT_SYMBOL vmlinux 0x3f93784a jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x3f9a705e bd_release +EXPORT_SYMBOL vmlinux 0x3fa03a97 memset +EXPORT_SYMBOL vmlinux 0x3fa913da strspn +EXPORT_SYMBOL vmlinux 0x3fc8ec65 tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x3fc993fa key_payload_reserve +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x4015ca78 journal_create +EXPORT_SYMBOL vmlinux 0x4023d06a skb_make_writable +EXPORT_SYMBOL vmlinux 0x402693e0 ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x406f9f52 console_stop +EXPORT_SYMBOL vmlinux 0x408edb8e kernel_getsockname +EXPORT_SYMBOL vmlinux 0x40d0b0d9 lease_modify +EXPORT_SYMBOL vmlinux 0x40d1bed3 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x40e2a0f3 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x4101bbde param_set_copystring +EXPORT_SYMBOL vmlinux 0x4108e69a fb_match_mode +EXPORT_SYMBOL vmlinux 0x410c29ae inet_addr_type +EXPORT_SYMBOL vmlinux 0x41166725 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x411d1a48 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x41270831 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x41344088 param_get_charp +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x414d4afc i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x416983d9 netdev_fix_features +EXPORT_SYMBOL vmlinux 0x417883b2 drm_exit +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x418ae1ea vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x41bd4961 pipe_unlock +EXPORT_SYMBOL vmlinux 0x41e8b197 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x41f8cfe8 __devm_release_region +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x4217a5d6 commit_creds +EXPORT_SYMBOL vmlinux 0x421d8984 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x42224298 sscanf +EXPORT_SYMBOL vmlinux 0x4236bb73 __put_cred +EXPORT_SYMBOL vmlinux 0x42603efa invalidate_bdev +EXPORT_SYMBOL vmlinux 0x42609ae1 journal_clear_err +EXPORT_SYMBOL vmlinux 0x4269c712 simple_rename +EXPORT_SYMBOL vmlinux 0x42754ea7 dm_table_get_size +EXPORT_SYMBOL vmlinux 0x427df405 unregister_console +EXPORT_SYMBOL vmlinux 0x4285cd43 drm_connector_init +EXPORT_SYMBOL vmlinux 0x42914020 nf_ct_attach +EXPORT_SYMBOL vmlinux 0x42a4bdf2 in_egroup_p +EXPORT_SYMBOL vmlinux 0x42acbf72 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x42c5a97c rtnl_create_link +EXPORT_SYMBOL vmlinux 0x42e23ec6 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x430550da tty_vhangup +EXPORT_SYMBOL vmlinux 0x430946c0 unlock_new_inode +EXPORT_SYMBOL vmlinux 0x431f71d1 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x4333eadb param_set_short +EXPORT_SYMBOL vmlinux 0x433ab4a0 gen_pool_add +EXPORT_SYMBOL vmlinux 0x434fa55c release_console_sem +EXPORT_SYMBOL vmlinux 0x4355e1e4 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x43714373 per_cpu__ftrace_event_seq +EXPORT_SYMBOL vmlinux 0x4372d3ba tc_classify +EXPORT_SYMBOL vmlinux 0x439090b9 kernel_thread +EXPORT_SYMBOL vmlinux 0x4390963e may_umount_tree +EXPORT_SYMBOL vmlinux 0x43a4938f vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x43a56954 netif_device_attach +EXPORT_SYMBOL vmlinux 0x43ab66c3 param_array_get +EXPORT_SYMBOL vmlinux 0x43bd951d __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x43bea045 auxio_register +EXPORT_SYMBOL vmlinux 0x43c90089 mdiobus_write +EXPORT_SYMBOL vmlinux 0x43d0a104 pci_unmap_single +EXPORT_SYMBOL vmlinux 0x43ec913a put_cmsg +EXPORT_SYMBOL vmlinux 0x43ff30cd sg_alloc_table +EXPORT_SYMBOL vmlinux 0x44161c19 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x44201218 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x442a1da1 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x444779c4 nla_find +EXPORT_SYMBOL vmlinux 0x44491fb5 input_free_device +EXPORT_SYMBOL vmlinux 0x44587b3a security_path_rmdir +EXPORT_SYMBOL vmlinux 0x447d4184 kobject_add +EXPORT_SYMBOL vmlinux 0x447f7e18 sun4v_niagara2_getperf +EXPORT_SYMBOL vmlinux 0x448597d2 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x44ac5c32 of_phy_connect_fixed_link +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44dda878 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x44e5490a drm_pci_alloc +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44f1ba03 backlight_device_register +EXPORT_SYMBOL vmlinux 0x45045167 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x450d39ec pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x45203045 dm_get_device +EXPORT_SYMBOL vmlinux 0x454cbd8e mdesc_release +EXPORT_SYMBOL vmlinux 0x4550ba8a register_cpu_notifier +EXPORT_SYMBOL vmlinux 0x45704798 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x4575315d utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x45947727 param_array_set +EXPORT_SYMBOL vmlinux 0x45b085f7 security_path_symlink +EXPORT_SYMBOL vmlinux 0x4607adba xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x46106a3d linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x4616e126 pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0x462ec101 vfsmount_lock +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x46b25416 ethtool_op_set_tx_ipv6_csum +EXPORT_SYMBOL vmlinux 0x46f9d217 dquot_transfer +EXPORT_SYMBOL vmlinux 0x472e70dd kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x4750a226 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x475f00db blk_plug_device +EXPORT_SYMBOL vmlinux 0x476c1595 phy_sanitize_settings +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47c054db wake_up_process +EXPORT_SYMBOL vmlinux 0x4803ee4c xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x480e1fa8 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x4841c196 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0x48427c09 I_BDEV +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486b6407 hweight64 +EXPORT_SYMBOL vmlinux 0x487bafa9 drm_gem_handle_create +EXPORT_SYMBOL vmlinux 0x48845b65 pipe_to_file +EXPORT_SYMBOL vmlinux 0x48a11e3d tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x48a830cc invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x48b48db5 ethtool_op_set_ufo +EXPORT_SYMBOL vmlinux 0x48c1d080 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x48d3597b vio_control_pkt_engine +EXPORT_SYMBOL vmlinux 0x48dbbfb7 register_sysctl_table +EXPORT_SYMBOL vmlinux 0x48e06eb6 ip_dev_find +EXPORT_SYMBOL vmlinux 0x48e20899 journal_lock_updates +EXPORT_SYMBOL vmlinux 0x4904c516 bio_unmap_user +EXPORT_SYMBOL vmlinux 0x490816d5 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x492a35c2 dcache_dir_close +EXPORT_SYMBOL vmlinux 0x492b7afa dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x49439411 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x494630c8 blk_make_request +EXPORT_SYMBOL vmlinux 0x49491891 drm_gem_object_alloc +EXPORT_SYMBOL vmlinux 0x49582b39 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x495f800a delayed_slow_work_enqueue +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x497186d8 __init_rwsem +EXPORT_SYMBOL vmlinux 0x49e182c0 param_get_string +EXPORT_SYMBOL vmlinux 0x4a12b958 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x4a142d5c rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0x4a15ae23 prom_node_has_property +EXPORT_SYMBOL vmlinux 0x4a1e8e95 pid_task +EXPORT_SYMBOL vmlinux 0x4a2a5504 lock_fb_info +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a4d215f xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x4a7f8e24 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x4a825254 vfs_create +EXPORT_SYMBOL vmlinux 0x4a952fba drm_add_edid_modes +EXPORT_SYMBOL vmlinux 0x4ac951a7 pci_fixup_device +EXPORT_SYMBOL vmlinux 0x4acd93d3 release_resource +EXPORT_SYMBOL vmlinux 0x4ad42e66 dm_io_client_create +EXPORT_SYMBOL vmlinux 0x4ae4c4c4 user_path_at +EXPORT_SYMBOL vmlinux 0x4ae53432 drm_crtc_cleanup +EXPORT_SYMBOL vmlinux 0x4aeaf307 tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x4b22c4f3 block_truncate_page +EXPORT_SYMBOL vmlinux 0x4b355190 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x4b3c1760 phy_register_fixup +EXPORT_SYMBOL vmlinux 0x4b7122c4 wireless_send_event +EXPORT_SYMBOL vmlinux 0x4ba22ce5 dquot_free_space +EXPORT_SYMBOL vmlinux 0x4bbc0db8 simple_lookup +EXPORT_SYMBOL vmlinux 0x4bc9018a tcf_em_register +EXPORT_SYMBOL vmlinux 0x4bde5ddf block_write_end +EXPORT_SYMBOL vmlinux 0x4bdea46a tcp_prot +EXPORT_SYMBOL vmlinux 0x4be43967 blk_sync_queue +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c26fa0c nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x4c366183 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x4c4c956e nla_memcmp +EXPORT_SYMBOL vmlinux 0x4c986f97 eth_header_parse +EXPORT_SYMBOL vmlinux 0x4c9a977e skb_tx_hash +EXPORT_SYMBOL vmlinux 0x4ca942d5 kfifo_alloc +EXPORT_SYMBOL vmlinux 0x4cb14aca block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cbda2bf prom_setprop +EXPORT_SYMBOL vmlinux 0x4cf17492 of_dev_get +EXPORT_SYMBOL vmlinux 0x4cf6cf22 stop_tty +EXPORT_SYMBOL vmlinux 0x4d0a82f3 simple_fill_super +EXPORT_SYMBOL vmlinux 0x4d25c04e drm_gem_mmap +EXPORT_SYMBOL vmlinux 0x4d4ef782 phy_disconnect +EXPORT_SYMBOL vmlinux 0x4d7f4e40 kernel_connect +EXPORT_SYMBOL vmlinux 0x4db59d18 seq_release_private +EXPORT_SYMBOL vmlinux 0x4db9efc9 i2c_register_driver +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dda726b match_strlcpy +EXPORT_SYMBOL vmlinux 0x4de2c8be generic_block_bmap +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e0a5be1 of_register_driver +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e72d780 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x4e9dffb5 ip_fast_csum +EXPORT_SYMBOL vmlinux 0x4eab2faa simple_sync_file +EXPORT_SYMBOL vmlinux 0x4ec1a123 simple_write_end +EXPORT_SYMBOL vmlinux 0x4edd72f7 block_all_signals +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f371cd6 posix_lock_file +EXPORT_SYMBOL vmlinux 0x4f458112 skb_unlink +EXPORT_SYMBOL vmlinux 0x4f7c699d get_sb_pseudo +EXPORT_SYMBOL vmlinux 0x4f9a062d call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0x4fb8606e open_exec +EXPORT_SYMBOL vmlinux 0x4fbaa13a __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4fdff179 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x4ff975b3 elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0x5007241e filp_close +EXPORT_SYMBOL vmlinux 0x501378f6 set_create_files_as +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x503fd781 redraw_screen +EXPORT_SYMBOL vmlinux 0x504afb95 sock_no_getname +EXPORT_SYMBOL vmlinux 0x506746b6 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x507feef4 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x5083e778 drm_lock_free +EXPORT_SYMBOL vmlinux 0x50a5e82f of_set_property +EXPORT_SYMBOL vmlinux 0x50b6c152 kernel_accept +EXPORT_SYMBOL vmlinux 0x50d56018 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x50da30a2 dcache_lock +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x513332b2 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x51991db0 iget_failed +EXPORT_SYMBOL vmlinux 0x5199af4d bdi_register +EXPORT_SYMBOL vmlinux 0x51bc5ae3 i2c_bit_add_bus +EXPORT_SYMBOL vmlinux 0x51d67aa6 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x52046e13 atomic_sub +EXPORT_SYMBOL vmlinux 0x5208d2a1 journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x5251cae4 prom_getbool +EXPORT_SYMBOL vmlinux 0x5262bbac uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x52760ca9 getnstimeofday +EXPORT_SYMBOL vmlinux 0x52a58c24 ifla_policy +EXPORT_SYMBOL vmlinux 0x52c37c6a vfs_llseek +EXPORT_SYMBOL vmlinux 0x52e93605 filemap_flush +EXPORT_SYMBOL vmlinux 0x52ebb126 param_get_ushort +EXPORT_SYMBOL vmlinux 0x52fd951b nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x53154cb4 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x532d8828 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x533903d8 outsw +EXPORT_SYMBOL vmlinux 0x5345a508 drm_connector_property_set_value +EXPORT_SYMBOL vmlinux 0x5355776c drm_master_put +EXPORT_SYMBOL vmlinux 0x5385e5dd inode_needs_sync +EXPORT_SYMBOL vmlinux 0x53c0767c sk_chk_filter +EXPORT_SYMBOL vmlinux 0x53e5eaa7 tty_port_init +EXPORT_SYMBOL vmlinux 0x53f6c1dc phy_detach +EXPORT_SYMBOL vmlinux 0x53f823a0 loop_register_transfer +EXPORT_SYMBOL vmlinux 0x54290dc9 nla_validate +EXPORT_SYMBOL vmlinux 0x5435846d qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x54373193 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x5447c48c mem_map_zero +EXPORT_SYMBOL vmlinux 0x544f520b jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x5467508e deny_write_access +EXPORT_SYMBOL vmlinux 0x54767e80 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x5492c604 prepare_to_wait +EXPORT_SYMBOL vmlinux 0x54c96418 iput +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x55131238 kern_path +EXPORT_SYMBOL vmlinux 0x55205c45 vfs_unlink +EXPORT_SYMBOL vmlinux 0x5530c9b4 cdev_init +EXPORT_SYMBOL vmlinux 0x554f0508 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x554f0a48 groups_alloc +EXPORT_SYMBOL vmlinux 0x5553a283 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x555cfde4 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x556b7c71 dev_disable_lro +EXPORT_SYMBOL vmlinux 0x556d46f0 netlink_ack +EXPORT_SYMBOL vmlinux 0x556db901 xor_vis_5 +EXPORT_SYMBOL vmlinux 0x558bdb1d dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x558be663 of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55a286bf proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x55af4621 revert_creds +EXPORT_SYMBOL vmlinux 0x55f060ee drm_sman_set_range +EXPORT_SYMBOL vmlinux 0x5600904f fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x5603cf43 do_settimeofday +EXPORT_SYMBOL vmlinux 0x56073ca1 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x563b659a d_find_alias +EXPORT_SYMBOL vmlinux 0x56619d62 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x56640a6f xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x566f7c4d jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x56791257 ebus_dma_enable +EXPORT_SYMBOL vmlinux 0x5687958e gen_pool_create +EXPORT_SYMBOL vmlinux 0x568dabf9 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x56b491ad tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x56c45e1e neigh_create +EXPORT_SYMBOL vmlinux 0x56cda35a sun4v_niagara2_setperf +EXPORT_SYMBOL vmlinux 0x56def783 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x56f38712 schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x56f494e0 smp_call_function +EXPORT_SYMBOL vmlinux 0x57016f19 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x570f0f41 _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x57128b9a seq_puts +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x57610f72 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x577f4bff do_BUG +EXPORT_SYMBOL vmlinux 0x57b57ebe jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0x57c88565 dev_set_mtu +EXPORT_SYMBOL vmlinux 0x57ce0aaa drm_vblank_cleanup +EXPORT_SYMBOL vmlinux 0x57db7242 mangle_path +EXPORT_SYMBOL vmlinux 0x57f7c686 sparc64_valid_addr_bitmap +EXPORT_SYMBOL vmlinux 0x57fd3d96 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x57fed52a tcp_disconnect +EXPORT_SYMBOL vmlinux 0x5804b593 kthread_stop +EXPORT_SYMBOL vmlinux 0x58060e03 sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x580830f0 drm_mode_set_name +EXPORT_SYMBOL vmlinux 0x582fef16 auxio_set_lte +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x5861d08c nlmsg_notify +EXPORT_SYMBOL vmlinux 0x58713c0f drm_mode_create_dvi_i_properties +EXPORT_SYMBOL vmlinux 0x589db653 cdev_index +EXPORT_SYMBOL vmlinux 0x58b08a02 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x58f2e183 bio_free +EXPORT_SYMBOL vmlinux 0x58f9df50 qdisc_destroy +EXPORT_SYMBOL vmlinux 0x590185ed pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x59245a7b vm_insert_page +EXPORT_SYMBOL vmlinux 0x592da168 vfs_symlink +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x59353640 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x593ea8f7 __wait_on_bit +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x599ac0ce bmap +EXPORT_SYMBOL vmlinux 0x59c2d144 filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59f11799 registered_fb +EXPORT_SYMBOL vmlinux 0x59f519cf fifo_set_limit +EXPORT_SYMBOL vmlinux 0x59fd859c inet_frag_find +EXPORT_SYMBOL vmlinux 0x5a2f62e6 netlink_unicast +EXPORT_SYMBOL vmlinux 0x5a34a45c __kmalloc +EXPORT_SYMBOL vmlinux 0x5a56a66f kmem_ptr_validate +EXPORT_SYMBOL vmlinux 0x5a59581d remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x5a5e7ea3 simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x5a634dce wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5a779140 __up_read +EXPORT_SYMBOL vmlinux 0x5a9fb8a2 devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0x5adfe1a1 drm_mm_get_block_range_generic +EXPORT_SYMBOL vmlinux 0x5afc5b07 generic_setxattr +EXPORT_SYMBOL vmlinux 0x5b0e981b wait_for_completion +EXPORT_SYMBOL vmlinux 0x5b172115 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x5b27bcec sysctl_intvec +EXPORT_SYMBOL vmlinux 0x5b646444 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x5b681f12 tcf_exts_change +EXPORT_SYMBOL vmlinux 0x5b7fb520 filemap_fdatawait +EXPORT_SYMBOL vmlinux 0x5ba4ad73 get_sb_single +EXPORT_SYMBOL vmlinux 0x5baa5800 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x5bb114a7 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x5bb2cf73 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x5be745cf inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x5bf30054 dentry_open +EXPORT_SYMBOL vmlinux 0x5c109caf journal_restart +EXPORT_SYMBOL vmlinux 0x5c2b2c44 blk_init_queue +EXPORT_SYMBOL vmlinux 0x5c41991e tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x5c63c642 __locks_copy_lock +EXPORT_SYMBOL vmlinux 0x5c7d7674 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x5c93ef10 d_splice_alias +EXPORT_SYMBOL vmlinux 0x5ca4a0a8 dump_fpu +EXPORT_SYMBOL vmlinux 0x5ca530d5 __lookup_one_len +EXPORT_SYMBOL vmlinux 0x5cbdf77f gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x5cc8e015 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x5ce875cf prom_root_node +EXPORT_SYMBOL vmlinux 0x5d12b3fc twl4030_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x5d1e5caa skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x5d4d0e26 __csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x5d970715 serio_open +EXPORT_SYMBOL vmlinux 0x5dbbe98e memmove +EXPORT_SYMBOL vmlinux 0x5dc75a22 block_write_full_page +EXPORT_SYMBOL vmlinux 0x5dcdcd0b jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x5dcfa8bb jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x5dfb248f bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x5e4bef15 seq_release +EXPORT_SYMBOL vmlinux 0x5e7579e4 dev_unicast_add +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea520c5 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x5ea565bb set_page_dirty +EXPORT_SYMBOL vmlinux 0x5ec0e2a4 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x5ec4dde8 phy_print_status +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed14607 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x5ed52c2d clear_user_page +EXPORT_SYMBOL vmlinux 0x5ed8349a skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5ee0a984 prom_getchild +EXPORT_SYMBOL vmlinux 0x5ee606ac save_mount_options +EXPORT_SYMBOL vmlinux 0x5ef681d4 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x5ef954dc __bforget +EXPORT_SYMBOL vmlinux 0x5f1c5e9d vio_link_state_change +EXPORT_SYMBOL vmlinux 0x5f2a855b neigh_lookup +EXPORT_SYMBOL vmlinux 0x5f2d1f55 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x5f75e1ca __bio_clone +EXPORT_SYMBOL vmlinux 0x5fbb2089 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x5fbd8363 lock_rename +EXPORT_SYMBOL vmlinux 0x5fe12acf drm_mm_clean +EXPORT_SYMBOL vmlinux 0x6005adbd udp_ioctl +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x60109a00 km_policy_expired +EXPORT_SYMBOL vmlinux 0x6027b154 call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x6029f89f qdisc_list_del +EXPORT_SYMBOL vmlinux 0x60518a96 phy_attach_direct +EXPORT_SYMBOL vmlinux 0x605c8bde radix_tree_delete +EXPORT_SYMBOL vmlinux 0x6067a146 memcpy +EXPORT_SYMBOL vmlinux 0x6072b5ac bio_kmalloc +EXPORT_SYMBOL vmlinux 0x6087983a journal_check_used_features +EXPORT_SYMBOL vmlinux 0x608fd39b blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a0ebad __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60bef811 security_task_getsecid +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x61240d43 __sg_free_table +EXPORT_SYMBOL vmlinux 0x61492452 do_SAK +EXPORT_SYMBOL vmlinux 0x614d53bd mnt_unpin +EXPORT_SYMBOL vmlinux 0x615e7697 blk_put_request +EXPORT_SYMBOL vmlinux 0x61631977 __pci_register_driver +EXPORT_SYMBOL vmlinux 0x618d8299 set_notify_swap_entry_free +EXPORT_SYMBOL vmlinux 0x61938b97 blk_get_request +EXPORT_SYMBOL vmlinux 0x61a2b67f vga_client_register +EXPORT_SYMBOL vmlinux 0x61ab7ee8 try_to_release_page +EXPORT_SYMBOL vmlinux 0x61ac35ac ida_destroy +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61b87c1a xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x61ec6d88 skb_store_bits +EXPORT_SYMBOL vmlinux 0x61f337f2 dm_table_unplug_all +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x6277ddae sock_kfree_s +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x62a9293f _clear_page +EXPORT_SYMBOL vmlinux 0x6351f01e bio_alloc +EXPORT_SYMBOL vmlinux 0x63648635 ldc_disconnect +EXPORT_SYMBOL vmlinux 0x6366b551 vio_ldc_send +EXPORT_SYMBOL vmlinux 0x6367c9f8 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x63dc01a2 audit_log_start +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x64092060 sbus_set_sbus64 +EXPORT_SYMBOL vmlinux 0x6417dcf9 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0x643ceefa mempool_destroy +EXPORT_SYMBOL vmlinux 0x64774cde ldc_free_exp_dring +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64b4e8d3 bioset_free +EXPORT_SYMBOL vmlinux 0x64d067c0 kfifo_init +EXPORT_SYMBOL vmlinux 0x64d4c1b0 dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x64fdaf9e generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x65022a24 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x65312fc8 sync_inode +EXPORT_SYMBOL vmlinux 0x65373b2f get_fb_unmapped_area +EXPORT_SYMBOL vmlinux 0x653b6898 inode_setattr +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65414e67 dev_valid_name +EXPORT_SYMBOL vmlinux 0x6575fe51 find_inode_number +EXPORT_SYMBOL vmlinux 0x659585e7 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x659bff6a scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x659c0d4c __vlan_hwaccel_rx +EXPORT_SYMBOL vmlinux 0x659ef057 kmem_cache_name +EXPORT_SYMBOL vmlinux 0x65b0a97e _PAGE_IE +EXPORT_SYMBOL vmlinux 0x65e048c9 of_device_is_available +EXPORT_SYMBOL vmlinux 0x65e25826 blk_plug_device_unlocked +EXPORT_SYMBOL vmlinux 0x65f55637 mdiobus_read +EXPORT_SYMBOL vmlinux 0x65fa0ff8 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x661a5783 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x661c2acf io_remap_pfn_range +EXPORT_SYMBOL vmlinux 0x6654c8e8 up_write +EXPORT_SYMBOL vmlinux 0x6666c945 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x66686518 idr_remove +EXPORT_SYMBOL vmlinux 0x6672f7f1 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x66bdb9c4 put_disk +EXPORT_SYMBOL vmlinux 0x66be9333 drm_mm_get_block_generic +EXPORT_SYMBOL vmlinux 0x66c61f68 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x66cae227 stop_a_enabled +EXPORT_SYMBOL vmlinux 0x67053080 current_kernel_time +EXPORT_SYMBOL vmlinux 0x67125056 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x672144bd strlcpy +EXPORT_SYMBOL vmlinux 0x6755c96b i2c_master_send +EXPORT_SYMBOL vmlinux 0x677eea7d ns87303_lock +EXPORT_SYMBOL vmlinux 0x67881bd6 ebus_dma_register +EXPORT_SYMBOL vmlinux 0x6799f842 phy_device_register +EXPORT_SYMBOL vmlinux 0x67c51101 tty_register_driver +EXPORT_SYMBOL vmlinux 0x67c80c9a drm_mm_takedown +EXPORT_SYMBOL vmlinux 0x68192448 audit_log_format +EXPORT_SYMBOL vmlinux 0x6823863c idr_remove_all +EXPORT_SYMBOL vmlinux 0x682fd0fe __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x6832cdfc ethtool_op_get_ufo +EXPORT_SYMBOL vmlinux 0x686ab769 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x687c2f32 __down_write +EXPORT_SYMBOL vmlinux 0x687ce72a jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x688d6f69 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x6894855e vfs_mkdir +EXPORT_SYMBOL vmlinux 0x689b5c36 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x68ab8310 write_inode_now +EXPORT_SYMBOL vmlinux 0x68cfea59 skb_trim +EXPORT_SYMBOL vmlinux 0x68fb74ca timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x69010b06 insw +EXPORT_SYMBOL vmlinux 0x690f5efb set_groups +EXPORT_SYMBOL vmlinux 0x69481f1f kernel_bind +EXPORT_SYMBOL vmlinux 0x694d23c4 scm_fp_dup +EXPORT_SYMBOL vmlinux 0x6950a065 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x697cb0a0 sysctl_ms_jiffies +EXPORT_SYMBOL vmlinux 0x6980fe91 param_get_int +EXPORT_SYMBOL vmlinux 0x6984db74 mdesc_get_property +EXPORT_SYMBOL vmlinux 0x6988bb82 user_revoke +EXPORT_SYMBOL vmlinux 0x698a9598 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x698cd519 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x69927dff try_acquire_console_sem +EXPORT_SYMBOL vmlinux 0x69a358a6 iomem_resource +EXPORT_SYMBOL vmlinux 0x69b9cfa4 seq_bitmap +EXPORT_SYMBOL vmlinux 0x69c1cd46 cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x69c8c1d5 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a1a6bf7 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x6a33553b of_n_size_cells +EXPORT_SYMBOL vmlinux 0x6a38532b wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x6a47571d __set_personality +EXPORT_SYMBOL vmlinux 0x6a484579 sock_i_uid +EXPORT_SYMBOL vmlinux 0x6a49b9bf bd_set_size +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a7ed36a __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0x6acbed88 load_nls +EXPORT_SYMBOL vmlinux 0x6ad065f4 param_set_charp +EXPORT_SYMBOL vmlinux 0x6afeea8b __blk_run_queue +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b4389b4 journal_check_available_features +EXPORT_SYMBOL vmlinux 0x6b4e5a52 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x6b9922c4 idr_pre_get +EXPORT_SYMBOL vmlinux 0x6bbdae2c bio_split +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bc47fe3 drm_mode_create_tv_properties +EXPORT_SYMBOL vmlinux 0x6bc56c67 radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x6bc646c2 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6bf3b855 udp_disconnect +EXPORT_SYMBOL vmlinux 0x6bfa9571 dm_table_event +EXPORT_SYMBOL vmlinux 0x6bfe993d _write_trylock +EXPORT_SYMBOL vmlinux 0x6c1dda26 journal_dirty_data +EXPORT_SYMBOL vmlinux 0x6c570965 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6cbb1545 kfree_skb +EXPORT_SYMBOL vmlinux 0x6cee7d17 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0x6cf233a8 vc_cons +EXPORT_SYMBOL vmlinux 0x6cfc719d uart_update_timeout +EXPORT_SYMBOL vmlinux 0x6d0b77fe sysctl_data +EXPORT_SYMBOL vmlinux 0x6d0e3039 vfs_fstatat +EXPORT_SYMBOL vmlinux 0x6d27ef64 __bitmap_empty +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d2e5837 drm_ut_debug_printk +EXPORT_SYMBOL vmlinux 0x6d48cc0f journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d93e82e complete_and_exit +EXPORT_SYMBOL vmlinux 0x6d95ec3a tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x6da64d8b nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x6dc6a934 __nla_put +EXPORT_SYMBOL vmlinux 0x6de375c1 xor_niagara_5 +EXPORT_SYMBOL vmlinux 0x6de6bf83 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6e170c86 iget_locked +EXPORT_SYMBOL vmlinux 0x6e1ce0a9 fb_set_var +EXPORT_SYMBOL vmlinux 0x6e1e1c55 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x6e331945 down +EXPORT_SYMBOL vmlinux 0x6e5ca739 simple_statfs +EXPORT_SYMBOL vmlinux 0x6e5cb7d5 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x6e5d50fe pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x6e5e075b vfs_quota_off +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e802324 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea18db5 drm_gem_vm_close +EXPORT_SYMBOL vmlinux 0x6eafd2b1 xfrm_bundle_ok +EXPORT_SYMBOL vmlinux 0x6ec3c95e tty_unregister_device +EXPORT_SYMBOL vmlinux 0x6ed8956c drm_get_drawable_info +EXPORT_SYMBOL vmlinux 0x6ef74b4a pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0x6f0687ec devm_ioremap +EXPORT_SYMBOL vmlinux 0x6fc30481 drm_mode_hsync +EXPORT_SYMBOL vmlinux 0x6fc94154 dma_ops +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd79cf9 bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x6ff2e575 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x6fff393f time_to_tm +EXPORT_SYMBOL vmlinux 0x701d32e2 tcf_hash_check +EXPORT_SYMBOL vmlinux 0x7027775e skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x702f162c __memscan_generic +EXPORT_SYMBOL vmlinux 0x7044c3ca vfs_link +EXPORT_SYMBOL vmlinux 0x704757bb blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x70536053 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x705c78db dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x7060e337 down_timeout +EXPORT_SYMBOL vmlinux 0x706da80f neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x70765d1c vfs_lstat +EXPORT_SYMBOL vmlinux 0x70b201ac drm_add_modes_noedid +EXPORT_SYMBOL vmlinux 0x70b5dafe dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x70b730d3 simple_rmdir +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70fba704 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x712730a7 __flushw_user +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x7131f16e tty_mutex +EXPORT_SYMBOL vmlinux 0x7144b3ce open_bdev_exclusive +EXPORT_SYMBOL vmlinux 0x71639324 drm_i2c_encoder_destroy +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x717232af compat_mc_setsockopt +EXPORT_SYMBOL vmlinux 0x71792bb1 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71c02438 sg_next +EXPORT_SYMBOL vmlinux 0x71db85fc sock_wake_async +EXPORT_SYMBOL vmlinux 0x721fe6bd unregister_quota_format +EXPORT_SYMBOL vmlinux 0x7242e96d strnchr +EXPORT_SYMBOL vmlinux 0x72437064 send_sig +EXPORT_SYMBOL vmlinux 0x72440da2 skb_dma_unmap +EXPORT_SYMBOL vmlinux 0x724742fc clocksource_unregister +EXPORT_SYMBOL vmlinux 0x728bd861 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x72aadbf4 lookup_bdev +EXPORT_SYMBOL vmlinux 0x72c3be87 param_set_byte +EXPORT_SYMBOL vmlinux 0x72ebe44a __wake_up +EXPORT_SYMBOL vmlinux 0x732e2713 create_mnt_ns +EXPORT_SYMBOL vmlinux 0x734ed005 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x735be4ac set_device_ro +EXPORT_SYMBOL vmlinux 0x73830f65 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x73e0877a insl +EXPORT_SYMBOL vmlinux 0x7405886e vfs_read +EXPORT_SYMBOL vmlinux 0x7407cdc1 sock_no_accept +EXPORT_SYMBOL vmlinux 0x740a0696 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x744c0c68 param_get_byte +EXPORT_SYMBOL vmlinux 0x745018a1 buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL vmlinux 0x74abe246 skb_queue_head +EXPORT_SYMBOL vmlinux 0x74bfc369 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74cc8444 pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0x7535d6b8 directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0x7549db45 generic_fillattr +EXPORT_SYMBOL vmlinux 0x756e6992 strnicmp +EXPORT_SYMBOL vmlinux 0x75bdea12 iommu_area_alloc +EXPORT_SYMBOL vmlinux 0x75e0ffd5 _read_trylock +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x76246cf6 mac_find_mode +EXPORT_SYMBOL vmlinux 0x7626d1fd pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x7632fff0 default_llseek +EXPORT_SYMBOL vmlinux 0x763a15e8 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x764bd77c request_resource +EXPORT_SYMBOL vmlinux 0x767d9ff7 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x7687d2b0 get_empty_filp +EXPORT_SYMBOL vmlinux 0x76897be7 netif_rx +EXPORT_SYMBOL vmlinux 0x76b5cb66 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76de18df cdev_alloc +EXPORT_SYMBOL vmlinux 0x76f2e30c pci_unmap_sg +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x77946e27 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x7796fb36 net2280_set_fifo_mode +EXPORT_SYMBOL vmlinux 0x77c4b129 of_device_register +EXPORT_SYMBOL vmlinux 0x77c9c866 drm_ati_pcigart_cleanup +EXPORT_SYMBOL vmlinux 0x77cfcfde __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x77e86ff7 generic_file_open +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77ed905c pci_save_state +EXPORT_SYMBOL vmlinux 0x77fa5d1f ns_to_timespec +EXPORT_SYMBOL vmlinux 0x78034dc1 __secpath_destroy +EXPORT_SYMBOL vmlinux 0x7808cf3d security_inode_init_security +EXPORT_SYMBOL vmlinux 0x7808db44 _spin_trylock +EXPORT_SYMBOL vmlinux 0x782279bb xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x78280ab9 journal_load +EXPORT_SYMBOL vmlinux 0x782cb47d _spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x78423447 do_mmap_pgoff +EXPORT_SYMBOL vmlinux 0x784915eb drm_mode_vrefresh +EXPORT_SYMBOL vmlinux 0x786e8b33 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0x78896eb7 tcp4_gro_receive +EXPORT_SYMBOL vmlinux 0x78a9a941 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x79232236 fsync_bdev +EXPORT_SYMBOL vmlinux 0x79312247 mntput_no_expire +EXPORT_SYMBOL vmlinux 0x7954f802 phy_connect_direct +EXPORT_SYMBOL vmlinux 0x7983f166 drm_property_destroy +EXPORT_SYMBOL vmlinux 0x799cd83f of_find_property +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79ad224b tasklet_kill +EXPORT_SYMBOL vmlinux 0x79e9e23b simple_pin_fs +EXPORT_SYMBOL vmlinux 0x7a07c387 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x7a2a837d strict_strtol +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a6bb613 idr_init +EXPORT_SYMBOL vmlinux 0x7a71dac4 inet_csk_accept +EXPORT_SYMBOL vmlinux 0x7a83bbb1 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0x7a9f1fd7 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x7aae3409 datagram_poll +EXPORT_SYMBOL vmlinux 0x7ab017e8 inet_stream_connect +EXPORT_SYMBOL vmlinux 0x7abde446 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x7ae65f80 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x7ae73cc3 dev_addr_del +EXPORT_SYMBOL vmlinux 0x7ae73de1 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x7b376f0f inet_listen +EXPORT_SYMBOL vmlinux 0x7b48475b neigh_table_init_no_netlink +EXPORT_SYMBOL vmlinux 0x7b52bb4b __napi_schedule +EXPORT_SYMBOL vmlinux 0x7b5c3f7c elv_rb_find +EXPORT_SYMBOL vmlinux 0x7b8f4c40 key_create_or_update +EXPORT_SYMBOL vmlinux 0x7bc5028d netlink_broadcast +EXPORT_SYMBOL vmlinux 0x7becf9f2 drm_gem_object_handle_free +EXPORT_SYMBOL vmlinux 0x7bf4d5dd skb_queue_purge +EXPORT_SYMBOL vmlinux 0x7bff3be7 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x7c1cde82 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x7c1fd6c8 drm_mode_equal +EXPORT_SYMBOL vmlinux 0x7c24506a tty_port_hangup +EXPORT_SYMBOL vmlinux 0x7c2aa5b1 drm_mmap +EXPORT_SYMBOL vmlinux 0x7c2c84b4 nla_append +EXPORT_SYMBOL vmlinux 0x7c4bffa5 inet_getname +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c61340c __release_region +EXPORT_SYMBOL vmlinux 0x7c6a5c6d dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x7c7a4ef4 tty_register_device +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7ca8577a cpu_sysdev_class +EXPORT_SYMBOL vmlinux 0x7cb1ae69 cpu_down +EXPORT_SYMBOL vmlinux 0x7cc1dbd3 elevator_init +EXPORT_SYMBOL vmlinux 0x7cfdb49b drm_read +EXPORT_SYMBOL vmlinux 0x7d092cf5 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x7d102793 generic_write_sync +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d2f4de0 page_follow_link_light +EXPORT_SYMBOL vmlinux 0x7d37dc70 load_nls_default +EXPORT_SYMBOL vmlinux 0x7d5a822a make_EII_client +EXPORT_SYMBOL vmlinux 0x7d7729c2 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x7dc41120 dev_add_pack +EXPORT_SYMBOL vmlinux 0x7dcb3137 register_framebuffer +EXPORT_SYMBOL vmlinux 0x7dcb97ba i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x7dceceac capable +EXPORT_SYMBOL vmlinux 0x7dd6d92d neigh_table_init +EXPORT_SYMBOL vmlinux 0x7de9f9f8 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x7e0c51db xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x7e253b30 mempool_create_node +EXPORT_SYMBOL vmlinux 0x7e313e1c drm_vblank_init +EXPORT_SYMBOL vmlinux 0x7e623212 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x7e6ba92a pci_map_rom +EXPORT_SYMBOL vmlinux 0x7e9e75fc drm_gem_object_lookup +EXPORT_SYMBOL vmlinux 0x7ec9bfbc strncpy +EXPORT_SYMBOL vmlinux 0x7ee9938d _write_lock_bh +EXPORT_SYMBOL vmlinux 0x7efa8507 bio_map_user +EXPORT_SYMBOL vmlinux 0x7f1475e7 i2c_release_client +EXPORT_SYMBOL vmlinux 0x7f248413 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f45ad6d of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0x7f5df572 drm_connector_attach_property +EXPORT_SYMBOL vmlinux 0x7f600bc4 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x7f67ee22 drm_mm_init_scan +EXPORT_SYMBOL vmlinux 0x7f67fbb8 journal_extend +EXPORT_SYMBOL vmlinux 0x7fc5901a netif_carrier_on +EXPORT_SYMBOL vmlinux 0x7fd9a88d vmtruncate +EXPORT_SYMBOL vmlinux 0x80002756 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x800086e1 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x8005989c generic_listxattr +EXPORT_SYMBOL vmlinux 0x80210dfb sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x802f3798 mapping_tagged +EXPORT_SYMBOL vmlinux 0x80622c7a poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x8079c872 init_special_inode +EXPORT_SYMBOL vmlinux 0x807b7089 prom_firstprop +EXPORT_SYMBOL vmlinux 0x80b6001f generic_make_request +EXPORT_SYMBOL vmlinux 0x80bf3bc5 sun4v_niagara_getperf +EXPORT_SYMBOL vmlinux 0x80c63be4 d_path +EXPORT_SYMBOL vmlinux 0x80f2f9e3 end_page_writeback +EXPORT_SYMBOL vmlinux 0x813b0461 set_irq_chip +EXPORT_SYMBOL vmlinux 0x813d02d2 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x8186100f pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x819ff9ea i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0x81abd3a5 neigh_parms_release +EXPORT_SYMBOL vmlinux 0x81b96965 bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x81c806c9 get_user_pages +EXPORT_SYMBOL vmlinux 0x81cb03ab drm_crtc_init +EXPORT_SYMBOL vmlinux 0x81dcd5c2 idr_get_new +EXPORT_SYMBOL vmlinux 0x81eb5dc1 __xfrm_lookup +EXPORT_SYMBOL vmlinux 0x81f8abf6 rtnl_notify +EXPORT_SYMBOL vmlinux 0x8208a25c vc_resize +EXPORT_SYMBOL vmlinux 0x820d225f print_mac +EXPORT_SYMBOL vmlinux 0x8228c7d2 blk_queue_ordered +EXPORT_SYMBOL vmlinux 0x822f98e8 bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x82692209 kref_set +EXPORT_SYMBOL vmlinux 0x827cc209 __inet6_hash +EXPORT_SYMBOL vmlinux 0x828fcd70 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x82a86b37 node_data +EXPORT_SYMBOL vmlinux 0x82aaa589 free_netdev +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82b1de01 ida_remove +EXPORT_SYMBOL vmlinux 0x82ba4e63 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x82c5abf8 blk_requeue_request +EXPORT_SYMBOL vmlinux 0x82e9c083 csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x82eba216 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x8347b642 udplite_prot +EXPORT_SYMBOL vmlinux 0x83869bc0 dst_discard +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83c43dc1 posix_acl_chmod_masq +EXPORT_SYMBOL vmlinux 0x83e714fd input_set_capability +EXPORT_SYMBOL vmlinux 0x83ec1385 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x83f0791b d_instantiate_unique +EXPORT_SYMBOL vmlinux 0x8400e6b2 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x840e4d9e generic_readlink +EXPORT_SYMBOL vmlinux 0x847bbc6b genl_unregister_ops +EXPORT_SYMBOL vmlinux 0x84b6c341 request_key_async +EXPORT_SYMBOL vmlinux 0x84ba88c4 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x84ca9a25 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x851dbd61 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x8546df4a drm_mode_detachmode_crtc +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x856c9fe3 idr_destroy +EXPORT_SYMBOL vmlinux 0x8571baf7 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x857277bb con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x858f85fc __serio_register_driver +EXPORT_SYMBOL vmlinux 0x85a0034f iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x85abc85f strncmp +EXPORT_SYMBOL vmlinux 0x85c1de0c keyring_search +EXPORT_SYMBOL vmlinux 0x85de09f5 drm_mode_width +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85fbb0c4 security_path_mknod +EXPORT_SYMBOL vmlinux 0x86034e6b sock_no_connect +EXPORT_SYMBOL vmlinux 0x8631f188 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x86424fca dm_put_device +EXPORT_SYMBOL vmlinux 0x8648e0b7 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x864951c7 tcp_close +EXPORT_SYMBOL vmlinux 0x864988e7 bio_endio +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x869379d1 alloc_disk_node +EXPORT_SYMBOL vmlinux 0x86a8b634 tcf_hash_search +EXPORT_SYMBOL vmlinux 0x86ad73f3 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x86bfb512 drm_mode_destroy +EXPORT_SYMBOL vmlinux 0x86c7146d vfs_fstat +EXPORT_SYMBOL vmlinux 0x86cb9ff2 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x86d68001 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x86da295b generic_getxattr +EXPORT_SYMBOL vmlinux 0x86de552b pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x872bd087 suncore_mouse_baud_detection +EXPORT_SYMBOL vmlinux 0x873eb066 seq_read +EXPORT_SYMBOL vmlinux 0x876dcde7 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x876ff9d5 blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0x8784ae22 ethtool_op_get_tx_csum +EXPORT_SYMBOL vmlinux 0x8786e38f pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x879186cb phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x87971c5e zero_fill_bio +EXPORT_SYMBOL vmlinux 0x87d6e7ef drm_detect_hdmi_monitor +EXPORT_SYMBOL vmlinux 0x87e905f3 proc_create_data +EXPORT_SYMBOL vmlinux 0x87f00746 d_rehash +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x881428af complete +EXPORT_SYMBOL vmlinux 0x883afc3d inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x883b24fb sun4v_niagara_setperf +EXPORT_SYMBOL vmlinux 0x8859e0bc pci_set_power_state +EXPORT_SYMBOL vmlinux 0x886aa274 posix_acl_create_masq +EXPORT_SYMBOL vmlinux 0x888cde13 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x88970282 jbd2_journal_update_format +EXPORT_SYMBOL vmlinux 0x88bda706 d_add_ci +EXPORT_SYMBOL vmlinux 0x88d2dc40 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x88dc1e96 down_read_trylock +EXPORT_SYMBOL vmlinux 0x88dcfffd read_cache_page +EXPORT_SYMBOL vmlinux 0x88eab5ab unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x8902f1af of_console_path +EXPORT_SYMBOL vmlinux 0x890c267c netif_napi_add +EXPORT_SYMBOL vmlinux 0x8938ae18 single_release +EXPORT_SYMBOL vmlinux 0x894273ea filemap_fault +EXPORT_SYMBOL vmlinux 0x894932ad register_nls +EXPORT_SYMBOL vmlinux 0x895577b0 numa_cpu_lookup_table +EXPORT_SYMBOL vmlinux 0x895ad09b grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x89713fbf ldc_alloc_exp_dring +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x8985ba71 drm_handle_vblank +EXPORT_SYMBOL vmlinux 0x89912e9f skb_checksum +EXPORT_SYMBOL vmlinux 0x89c33e95 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d58cc8 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89f9f664 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL vmlinux 0x8a1203a9 kref_get +EXPORT_SYMBOL vmlinux 0x8a373fd7 twl4030_i2c_write +EXPORT_SYMBOL vmlinux 0x8a3da3ff phy_disable_interrupts +EXPORT_SYMBOL vmlinux 0x8a5ec699 sbusfb_ioctl_helper +EXPORT_SYMBOL vmlinux 0x8a61a1cc default_unplug_io_fn +EXPORT_SYMBOL vmlinux 0x8a7530d3 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8ac40297 iommu_area_free +EXPORT_SYMBOL vmlinux 0x8ace5c6a slow_work_register_user +EXPORT_SYMBOL vmlinux 0x8ad57a61 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x8ada93fb input_register_handle +EXPORT_SYMBOL vmlinux 0x8ae2d891 log_start_commit +EXPORT_SYMBOL vmlinux 0x8b0403e6 prom_getproperty +EXPORT_SYMBOL vmlinux 0x8b182d85 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x8b31524d vio_ldc_free +EXPORT_SYMBOL vmlinux 0x8b4022b6 call_usermodehelper_freeinfo +EXPORT_SYMBOL vmlinux 0x8b4d94cb ldc_read +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b6d6be9 drm_mode_create_dithering_property +EXPORT_SYMBOL vmlinux 0x8b7fe311 kmemdup +EXPORT_SYMBOL vmlinux 0x8b922c0f __strnlen_user +EXPORT_SYMBOL vmlinux 0x8bcd9823 simple_link +EXPORT_SYMBOL vmlinux 0x8bd313b8 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x8bd5b603 param_get_long +EXPORT_SYMBOL vmlinux 0x8bdb4298 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x8bedabbe sunserial_console_match +EXPORT_SYMBOL vmlinux 0x8bf87169 __bzero +EXPORT_SYMBOL vmlinux 0x8c075a91 simple_transaction_get +EXPORT_SYMBOL vmlinux 0x8c3ebc72 saved_command_line +EXPORT_SYMBOL vmlinux 0x8c537c45 posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x8c5a1876 bdget_disk +EXPORT_SYMBOL vmlinux 0x8cae2208 simple_set_mnt +EXPORT_SYMBOL vmlinux 0x8cfab70e vio_unregister_driver +EXPORT_SYMBOL vmlinux 0x8cfb1c79 dm_table_put +EXPORT_SYMBOL vmlinux 0x8d028d65 dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x8d031e1f udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x8d3894f2 _ctype +EXPORT_SYMBOL vmlinux 0x8d3f6f90 dm_io +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d9a0b48 phy_start +EXPORT_SYMBOL vmlinux 0x8e0b7743 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x8e136312 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0x8e3c9cc3 vprintk +EXPORT_SYMBOL vmlinux 0x8e527c53 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x8e5e62e8 dev_trans_start +EXPORT_SYMBOL vmlinux 0x8e736367 tty_kref_put +EXPORT_SYMBOL vmlinux 0x8e763ae1 send_remote_softirq +EXPORT_SYMBOL vmlinux 0x8e879bb7 __vmalloc +EXPORT_SYMBOL vmlinux 0x8e90ffcb elv_queue_empty +EXPORT_SYMBOL vmlinux 0x8eb8d098 sync_blockdev +EXPORT_SYMBOL vmlinux 0x8ebc7e8e drm_sg_alloc +EXPORT_SYMBOL vmlinux 0x8ee0d337 skb_under_panic +EXPORT_SYMBOL vmlinux 0x8ee88d1c __down_read_trylock +EXPORT_SYMBOL vmlinux 0x8ef17e28 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x8f02ffc1 genphy_resume +EXPORT_SYMBOL vmlinux 0x8f0e1a63 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x8f3403cb ip_ct_attach +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f545a0c phy_driver_register +EXPORT_SYMBOL vmlinux 0x8f593407 i2c_transfer +EXPORT_SYMBOL vmlinux 0x8f6b7950 set_irq_data +EXPORT_SYMBOL vmlinux 0x8f6ce54e drm_mm_dump_table +EXPORT_SYMBOL vmlinux 0x8f764ee9 nf_log_packet +EXPORT_SYMBOL vmlinux 0x8f8147f8 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x8fca34f5 ebus_dma_residue +EXPORT_SYMBOL vmlinux 0x8ff5abfe dev_getbyhwaddr +EXPORT_SYMBOL vmlinux 0x90035333 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x9023e32a fb_validate_mode +EXPORT_SYMBOL vmlinux 0x90306266 posix_test_lock +EXPORT_SYMBOL vmlinux 0x904b6f05 fd_install +EXPORT_SYMBOL vmlinux 0x906c1929 tty_check_change +EXPORT_SYMBOL vmlinux 0x90b47fd0 arp_create +EXPORT_SYMBOL vmlinux 0x90d4dbbe drm_mode_probed_add +EXPORT_SYMBOL vmlinux 0x90f30265 skb_split +EXPORT_SYMBOL vmlinux 0x9107cf2a pci_enable_wake +EXPORT_SYMBOL vmlinux 0x9117a881 prom_getstring +EXPORT_SYMBOL vmlinux 0x912a1f0e dst_release +EXPORT_SYMBOL vmlinux 0x91481982 __ratelimit +EXPORT_SYMBOL vmlinux 0x916faa5e drm_ati_pcigart_init +EXPORT_SYMBOL vmlinux 0x91766c09 param_get_ulong +EXPORT_SYMBOL vmlinux 0x91a97a4a sock_create_kern +EXPORT_SYMBOL vmlinux 0x91e22a78 skb_push +EXPORT_SYMBOL vmlinux 0x92109464 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x9214ed8a param_get_bool +EXPORT_SYMBOL vmlinux 0x921b99c4 tcp_connect +EXPORT_SYMBOL vmlinux 0x921f4390 atomic_add +EXPORT_SYMBOL vmlinux 0x92392cd9 iov_shorten +EXPORT_SYMBOL vmlinux 0x925a9dbf pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x925db888 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x92622240 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x926ea0bf devm_free_irq +EXPORT_SYMBOL vmlinux 0x9272e81f serio_close +EXPORT_SYMBOL vmlinux 0x92a39b67 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x92aa5ee1 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x92d0d1f4 _write_lock +EXPORT_SYMBOL vmlinux 0x92d0e39a neigh_update +EXPORT_SYMBOL vmlinux 0x92e23633 register_quota_format +EXPORT_SYMBOL vmlinux 0x92ea4ae4 crc32_le +EXPORT_SYMBOL vmlinux 0x930d3732 bio_copy_kern +EXPORT_SYMBOL vmlinux 0x93185a2b bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x931fa25a consume_skb +EXPORT_SYMBOL vmlinux 0x932de086 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0x93553d25 set_security_override +EXPORT_SYMBOL vmlinux 0x93639f64 register_con_driver +EXPORT_SYMBOL vmlinux 0x9377299e dcache_dir_open +EXPORT_SYMBOL vmlinux 0x93a2187e ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93a7d58c tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x93aa0230 bdi_destroy +EXPORT_SYMBOL vmlinux 0x93b6b402 ldc_unmap +EXPORT_SYMBOL vmlinux 0x93f7e653 __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x94005fd4 submit_bh +EXPORT_SYMBOL vmlinux 0x942ca482 find_get_page +EXPORT_SYMBOL vmlinux 0x9443289e set_bit +EXPORT_SYMBOL vmlinux 0x94483b6d downgrade_write +EXPORT_SYMBOL vmlinux 0x945dc000 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x945ea466 skb_copy +EXPORT_SYMBOL vmlinux 0x94663e5b of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x946b6c9f pci_set_dma_mask +EXPORT_SYMBOL vmlinux 0x94847b23 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x9496c23c sunserial_register_minors +EXPORT_SYMBOL vmlinux 0x9498a010 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x94d1f39e ethtool_op_get_flags +EXPORT_SYMBOL vmlinux 0x94fb25cc dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x950b0b51 test_and_set_bit +EXPORT_SYMBOL vmlinux 0x9514151a _mcount +EXPORT_SYMBOL vmlinux 0x9524e414 slow_work_unregister_user +EXPORT_SYMBOL vmlinux 0x95415266 bit_waitqueue +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x954b57df disk_stack_limits +EXPORT_SYMBOL vmlinux 0x954cbb26 vsprintf +EXPORT_SYMBOL vmlinux 0x95a4f1c0 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x95ceb864 key_update +EXPORT_SYMBOL vmlinux 0x960700f3 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x96ac0440 ldc_free +EXPORT_SYMBOL vmlinux 0x96ae16fa vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x96c1bcc9 f_setown +EXPORT_SYMBOL vmlinux 0x96d73fd9 dev_load +EXPORT_SYMBOL vmlinux 0x96d95f03 of_find_compatible_node +EXPORT_SYMBOL vmlinux 0x970ed184 __nla_reserve +EXPORT_SYMBOL vmlinux 0x9710c39f blk_stack_limits +EXPORT_SYMBOL vmlinux 0x97206e15 uart_add_one_port +EXPORT_SYMBOL vmlinux 0x972edb0e blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0x973fa256 tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0x974a2c36 brioctl_set +EXPORT_SYMBOL vmlinux 0x9753be0f tty_free_termios +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x97839d35 drm_irq_uninstall +EXPORT_SYMBOL vmlinux 0x97a7dace __module_put_and_exit +EXPORT_SYMBOL vmlinux 0x97b97a7b check_disk_change +EXPORT_SYMBOL vmlinux 0x97f5fe2d register_key_type +EXPORT_SYMBOL vmlinux 0x97fb4a35 pci_restore_state +EXPORT_SYMBOL vmlinux 0x980285f2 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x98109f09 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x9814122b register_qdisc +EXPORT_SYMBOL vmlinux 0x9815a530 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x98169352 lookup_one_len +EXPORT_SYMBOL vmlinux 0x9856b43e is_container_init +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x9872d116 cmos_regs +EXPORT_SYMBOL vmlinux 0x98ab0d76 blk_start_queue +EXPORT_SYMBOL vmlinux 0x98ab88de jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0x98cc4831 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x98cc7b86 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x99154725 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x996b912b inet_stream_ops +EXPORT_SYMBOL vmlinux 0x9975597e drm_mode_validate_size +EXPORT_SYMBOL vmlinux 0x998bec5b blk_queue_max_sectors +EXPORT_SYMBOL vmlinux 0x998e2fc5 kernel_listen +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999e6202 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99a54cae compat_sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99bfcd8f get_phy_device +EXPORT_SYMBOL vmlinux 0x99c7a8b8 jbd2_dev_to_name +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99dfa408 dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x99ea12ce panic_blink +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a3e7c79 napi_skb_finish +EXPORT_SYMBOL vmlinux 0x9a632156 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0x9a76f4d0 compat_mc_getsockopt +EXPORT_SYMBOL vmlinux 0x9a995304 seq_open_private +EXPORT_SYMBOL vmlinux 0x9aaa2ad6 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x9aabc564 crc16 +EXPORT_SYMBOL vmlinux 0x9aacd62b prom_getintdefault +EXPORT_SYMBOL vmlinux 0x9ab087ca security_file_permission +EXPORT_SYMBOL vmlinux 0x9abfa266 kobject_init +EXPORT_SYMBOL vmlinux 0x9ac4030d generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x9ac53886 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x9ae21fc9 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x9b04f9e1 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x9b077342 do_sync_read +EXPORT_SYMBOL vmlinux 0x9b13a27d eth_validate_addr +EXPORT_SYMBOL vmlinux 0x9b2c273a nonseekable_open +EXPORT_SYMBOL vmlinux 0x9b2e4cca dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b4eb684 vfs_set_dqblk +EXPORT_SYMBOL vmlinux 0x9b8fd796 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x9b95e37d input_open_device +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9baa4a08 pci_release_region +EXPORT_SYMBOL vmlinux 0x9bd006fb elv_rb_del +EXPORT_SYMBOL vmlinux 0x9bd2b28a lookup_hash +EXPORT_SYMBOL vmlinux 0x9c012508 fb_parse_edid +EXPORT_SYMBOL vmlinux 0x9c0ea3cd memscan +EXPORT_SYMBOL vmlinux 0x9c2a7d93 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x9c32096b kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x9c3c5dee get_sb_nodev +EXPORT_SYMBOL vmlinux 0x9c703ae6 _spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x9c71e738 per_cpu__vm_event_states +EXPORT_SYMBOL vmlinux 0x9c75a81a otg_set_transceiver +EXPORT_SYMBOL vmlinux 0x9ca95a0e sort +EXPORT_SYMBOL vmlinux 0x9cac705a __kfifo_get +EXPORT_SYMBOL vmlinux 0x9cb46e7e blk_run_queue +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9ce0e280 fb_pan_display +EXPORT_SYMBOL vmlinux 0x9d09b6b4 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x9d0a1b88 dm_register_target +EXPORT_SYMBOL vmlinux 0x9d0e73f8 key_alloc +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d5ae571 proto_register +EXPORT_SYMBOL vmlinux 0x9db21624 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x9db37875 change_bit +EXPORT_SYMBOL vmlinux 0x9dc26264 block_fsync +EXPORT_SYMBOL vmlinux 0x9dcf9ae2 sock_no_listen +EXPORT_SYMBOL vmlinux 0x9dd2363c elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x9ddcf0ed no_llseek +EXPORT_SYMBOL vmlinux 0x9de35cb6 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x9df9bb70 pci_request_regions +EXPORT_SYMBOL vmlinux 0x9e34d147 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x9e3c07e6 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x9e53883d da903x_query_status +EXPORT_SYMBOL vmlinux 0x9e5ac83f __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x9e6c6beb qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x9e771285 _PAGE_E +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ebd4c04 adjust_resource +EXPORT_SYMBOL vmlinux 0x9ed53cc3 framebuffer_release +EXPORT_SYMBOL vmlinux 0x9edbecae snprintf +EXPORT_SYMBOL vmlinux 0x9eecde16 do_brk +EXPORT_SYMBOL vmlinux 0x9eecfc4e elevator_exit +EXPORT_SYMBOL vmlinux 0x9eef40a5 lro_receive_frags +EXPORT_SYMBOL vmlinux 0x9f25ac28 generic_permission +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f2d549d write_one_page +EXPORT_SYMBOL vmlinux 0x9f2d613e param_set_bool +EXPORT_SYMBOL vmlinux 0x9f62bfc5 remove_wait_queue +EXPORT_SYMBOL vmlinux 0x9f6d0f1b __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fe26f49 splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0x9fe6b935 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0xa0079717 of_unregister_driver +EXPORT_SYMBOL vmlinux 0xa00b268c fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0xa0227919 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0xa03523d5 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xa03b7485 vio_send_sid +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa058064c __blk_end_request_all +EXPORT_SYMBOL vmlinux 0xa0587317 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa05eb6aa get_sb_bdev +EXPORT_SYMBOL vmlinux 0xa0787447 get_disk +EXPORT_SYMBOL vmlinux 0xa07cb26a inode_add_bytes +EXPORT_SYMBOL vmlinux 0xa08f56c5 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0c2d7eb xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xa0c44579 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0d3d560 ksize +EXPORT_SYMBOL vmlinux 0xa0ebb2ba _PAGE_CACHE +EXPORT_SYMBOL vmlinux 0xa0ecae4a __free_pages +EXPORT_SYMBOL vmlinux 0xa0fa1d81 skb_pad +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa10167e7 blk_start_request +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa12808d4 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0xa13798f8 printk_ratelimit +EXPORT_SYMBOL vmlinux 0xa145dc4b vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0xa1590659 napi_frags_skb +EXPORT_SYMBOL vmlinux 0xa1685504 unlock_rename +EXPORT_SYMBOL vmlinux 0xa183c901 free_buffer_head +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1ba4b95 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa1bc123c kset_register +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1cea0b8 proc_dointvec +EXPORT_SYMBOL vmlinux 0xa1d08c82 key_task_permission +EXPORT_SYMBOL vmlinux 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL vmlinux 0xa1f0c542 pci_iounmap +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa20e82c8 drm_pci_free +EXPORT_SYMBOL vmlinux 0xa218f413 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0xa2230181 add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xa2380c47 sock_create +EXPORT_SYMBOL vmlinux 0xa272ee14 block_commit_write +EXPORT_SYMBOL vmlinux 0xa28e76e6 schedule_work +EXPORT_SYMBOL vmlinux 0xa29b1708 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2dc8899 init_file +EXPORT_SYMBOL vmlinux 0xa2eb0748 pci_alloc_consistent +EXPORT_SYMBOL vmlinux 0xa2ef0ed7 tcp_splice_read +EXPORT_SYMBOL vmlinux 0xa3057aac jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xa309073f pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xa30ab236 follow_pfn +EXPORT_SYMBOL vmlinux 0xa329f07e register_shrinker +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa335191f unregister_qdisc +EXPORT_SYMBOL vmlinux 0xa3396c60 input_flush_device +EXPORT_SYMBOL vmlinux 0xa33f7c7c nla_strlcpy +EXPORT_SYMBOL vmlinux 0xa34a4aa7 ___copy_to_user +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa35e3a92 dquot_commit +EXPORT_SYMBOL vmlinux 0xa3618c0e __lock_buffer +EXPORT_SYMBOL vmlinux 0xa36cbfdd blk_rq_init +EXPORT_SYMBOL vmlinux 0xa39b4cf2 udelay +EXPORT_SYMBOL vmlinux 0xa3a00f4e pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0xa3c9be66 pci_domain_nr +EXPORT_SYMBOL vmlinux 0xa3f30d20 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0xa40dd829 get_write_access +EXPORT_SYMBOL vmlinux 0xa440964c lease_get_mtime +EXPORT_SYMBOL vmlinux 0xa47418e5 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0xa474d784 vlan_gro_frags +EXPORT_SYMBOL vmlinux 0xa4a69f64 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0xa4cf1508 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0xa4d0a8e9 init_timer_key +EXPORT_SYMBOL vmlinux 0xa5671661 blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0xa5699c03 pci_find_capability +EXPORT_SYMBOL vmlinux 0xa56ea5e2 skb_find_text +EXPORT_SYMBOL vmlinux 0xa576c263 generic_find_next_le_bit +EXPORT_SYMBOL vmlinux 0xa57fbfac netdev_set_master +EXPORT_SYMBOL vmlinux 0xa5808bbf tasklet_init +EXPORT_SYMBOL vmlinux 0xa58b6804 nla_parse +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5a910ee wait_on_page_bit +EXPORT_SYMBOL vmlinux 0xa5d623df slow_work_cancel +EXPORT_SYMBOL vmlinux 0xa5e4f65c __next_cpu_nr +EXPORT_SYMBOL vmlinux 0xa5e68673 tlb_type +EXPORT_SYMBOL vmlinux 0xa614d17c of_n_addr_cells +EXPORT_SYMBOL vmlinux 0xa61b1cd1 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0xa622bf16 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0xa62c6511 kill_fasync +EXPORT_SYMBOL vmlinux 0xa64b4aa2 do_sync_write +EXPORT_SYMBOL vmlinux 0xa65a78e0 ldc_bind +EXPORT_SYMBOL vmlinux 0xa68124fa hweight8 +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa682be8d bioset_create +EXPORT_SYMBOL vmlinux 0xa6860ce0 tcf_hash_release +EXPORT_SYMBOL vmlinux 0xa68745c4 textsearch_unregister +EXPORT_SYMBOL vmlinux 0xa68dfaeb tcp_sendmsg +EXPORT_SYMBOL vmlinux 0xa69b35ef pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0xa6c2e760 qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa71a5fb9 drm_mode_connector_update_edid_property +EXPORT_SYMBOL vmlinux 0xa7222cce blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xa72a0f5b nr_online_nodes +EXPORT_SYMBOL vmlinux 0xa74dc3f8 __scm_send +EXPORT_SYMBOL vmlinux 0xa756c496 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0xa75d0bba vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0xa76b2945 sbusfb_compat_ioctl +EXPORT_SYMBOL vmlinux 0xa77dd960 fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0xa78aa199 sget +EXPORT_SYMBOL vmlinux 0xa7b5589e tcp_poll +EXPORT_SYMBOL vmlinux 0xa7d37bee pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0xa82958af drm_debugfs_create_files +EXPORT_SYMBOL vmlinux 0xa8391b66 tty_devnum +EXPORT_SYMBOL vmlinux 0xa886a958 krealloc +EXPORT_SYMBOL vmlinux 0xa8877f00 inet_frags_init +EXPORT_SYMBOL vmlinux 0xa89ab861 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0xa8a6f639 __check_region +EXPORT_SYMBOL vmlinux 0xa8b26c2c blk_free_tags +EXPORT_SYMBOL vmlinux 0xa8e10a28 __sk_dst_check +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa9111a47 do_gettimeofday +EXPORT_SYMBOL vmlinux 0xa9541f6a kill_block_super +EXPORT_SYMBOL vmlinux 0xa955f0cd add_timer +EXPORT_SYMBOL vmlinux 0xa965d226 __kill_fasync +EXPORT_SYMBOL vmlinux 0xa9a2061c dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xa9aa4851 neigh_compat_output +EXPORT_SYMBOL vmlinux 0xa9fa95ac pci_dev_driver +EXPORT_SYMBOL vmlinux 0xaa103a1c con_copy_unimap +EXPORT_SYMBOL vmlinux 0xaa145ae6 call_usermodehelper_pipe +EXPORT_SYMBOL vmlinux 0xaa40b88d drm_mode_create +EXPORT_SYMBOL vmlinux 0xaa4b6879 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0xaa744a75 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0xaa9b63c3 register_exec_domain +EXPORT_SYMBOL vmlinux 0xaaccb028 simple_unlink +EXPORT_SYMBOL vmlinux 0xaacea5fd __pagevec_release +EXPORT_SYMBOL vmlinux 0xaad5a4b0 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab094f59 drm_connector_cleanup +EXPORT_SYMBOL vmlinux 0xab299e6d sock_get_timestamp +EXPORT_SYMBOL vmlinux 0xab4602c5 dev_close +EXPORT_SYMBOL vmlinux 0xab49431f block_write_begin +EXPORT_SYMBOL vmlinux 0xab6a6273 do_splice_from +EXPORT_SYMBOL vmlinux 0xab74c9a1 bio_phys_segments +EXPORT_SYMBOL vmlinux 0xaba9ff34 allocate_resource +EXPORT_SYMBOL vmlinux 0xabc9f2f0 drm_mode_prune_invalid +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabe4e575 netpoll_poll +EXPORT_SYMBOL vmlinux 0xac012829 generic_setlease +EXPORT_SYMBOL vmlinux 0xac034ffd dm_table_get_md +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac2dab09 prom_getint +EXPORT_SYMBOL vmlinux 0xac383451 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0xac5f9b6b __bread +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac8200a6 compat_nf_setsockopt +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xacdeb154 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xace4c8ed tick_ops +EXPORT_SYMBOL vmlinux 0xaceaac5b clear_bdi_congested +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad02942c simple_readpage +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad1b1058 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0xad3dc310 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0xad50b434 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0xad53db4a set_blocksize +EXPORT_SYMBOL vmlinux 0xad5eb438 pneigh_lookup +EXPORT_SYMBOL vmlinux 0xad9e705a napi_gro_frags +EXPORT_SYMBOL vmlinux 0xadbd1c50 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0xaddf134f call_usermodehelper_stdinpipe +EXPORT_SYMBOL vmlinux 0xae330cbe drm_release +EXPORT_SYMBOL vmlinux 0xae4a89f8 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0xae5ce48d inet_dgram_connect +EXPORT_SYMBOL vmlinux 0xae6349d6 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0xae6b36b5 drm_mode_config_cleanup +EXPORT_SYMBOL vmlinux 0xae6cb80f dev_get_flags +EXPORT_SYMBOL vmlinux 0xae7b3fdb dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xae7d2883 sunserial_unregister_minors +EXPORT_SYMBOL vmlinux 0xaea07216 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0xaec8f6f3 napi_reuse_skb +EXPORT_SYMBOL vmlinux 0xaed013b9 posix_acl_valid +EXPORT_SYMBOL vmlinux 0xaef004f3 read_dev_sector +EXPORT_SYMBOL vmlinux 0xaf124d74 nf_afinfo +EXPORT_SYMBOL vmlinux 0xaf2541a5 generic_write_end +EXPORT_SYMBOL vmlinux 0xaf29788e drm_sman_init +EXPORT_SYMBOL vmlinux 0xaf36d193 sg_miter_next +EXPORT_SYMBOL vmlinux 0xaf61ff06 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0xaf86c29d neigh_connected_output +EXPORT_SYMBOL vmlinux 0xaf895d22 set_disk_ro +EXPORT_SYMBOL vmlinux 0xaf8ed7cd netif_device_detach +EXPORT_SYMBOL vmlinux 0xaf92b8d3 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0xafb93a93 security_inode_permission +EXPORT_SYMBOL vmlinux 0xafd1b1c0 cad_pid +EXPORT_SYMBOL vmlinux 0xafe3f6d5 drm_mm_search_free_in_range +EXPORT_SYMBOL vmlinux 0xafe6583b sg_last +EXPORT_SYMBOL vmlinux 0xafe82e10 strcspn +EXPORT_SYMBOL vmlinux 0xaffb41d6 __wake_up_bit +EXPORT_SYMBOL vmlinux 0xb0063b36 kill_pgrp +EXPORT_SYMBOL vmlinux 0xb00ba7fb genphy_update_link +EXPORT_SYMBOL vmlinux 0xb00ef5ac proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xb01028a7 of_phy_find_device +EXPORT_SYMBOL vmlinux 0xb0339784 devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0xb055d8da posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0xb06aee4e serio_rescan +EXPORT_SYMBOL vmlinux 0xb08c0b2d audit_log_end +EXPORT_SYMBOL vmlinux 0xb0b4717b xfrm_state_insert +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0d2c9fe pci_free_consistent +EXPORT_SYMBOL vmlinux 0xb0d715db idr_for_each +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0f31b0f of_find_node_by_path +EXPORT_SYMBOL vmlinux 0xb11877eb pci_assign_resource +EXPORT_SYMBOL vmlinux 0xb118d0fd cfb_fillrect +EXPORT_SYMBOL vmlinux 0xb11f4f06 drm_rmmap_locked +EXPORT_SYMBOL vmlinux 0xb11fa1ce strlcat +EXPORT_SYMBOL vmlinux 0xb123e013 d_alloc +EXPORT_SYMBOL vmlinux 0xb127e033 __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0xb13f8fb6 _write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xb141dad2 drm_core_ioremap +EXPORT_SYMBOL vmlinux 0xb1507584 security_path_rename +EXPORT_SYMBOL vmlinux 0xb18e02c3 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1ccc5be pci_set_consistent_dma_mask +EXPORT_SYMBOL vmlinux 0xb1e6665f gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0xb1f975aa unlock_kernel +EXPORT_SYMBOL vmlinux 0xb1feae09 prepare_creds +EXPORT_SYMBOL vmlinux 0xb203bd36 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xb2070290 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0xb20dbe2b drm_clflush_pages +EXPORT_SYMBOL vmlinux 0xb224fbe2 param_get_short +EXPORT_SYMBOL vmlinux 0xb22fe6a3 netdev_increment_features +EXPORT_SYMBOL vmlinux 0xb24934cc wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0xb263b26e __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb278051d phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xb28821a9 compat_sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xb293da4d journal_force_commit +EXPORT_SYMBOL vmlinux 0xb2da6a0f ebus_dma_request +EXPORT_SYMBOL vmlinux 0xb2e2edfc d_obtain_alias +EXPORT_SYMBOL vmlinux 0xb2f1f526 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xb34c7b6c blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xb35c01a4 input_close_device +EXPORT_SYMBOL vmlinux 0xb3648baf pci_enable_bridges +EXPORT_SYMBOL vmlinux 0xb3785aa8 unlock_page +EXPORT_SYMBOL vmlinux 0xb380eac5 pci_map_single +EXPORT_SYMBOL vmlinux 0xb3994c7a per_cpu__kstat +EXPORT_SYMBOL vmlinux 0xb39ebaaa inode_permission +EXPORT_SYMBOL vmlinux 0xb3a307c6 si_meminfo +EXPORT_SYMBOL vmlinux 0xb3a51c7b ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0xb3a6c13f kernel_sendpage +EXPORT_SYMBOL vmlinux 0xb3ff1f69 free_pages_exact +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb42453d3 param_get_invbool +EXPORT_SYMBOL vmlinux 0xb435bd66 mdesc_next_arc +EXPORT_SYMBOL vmlinux 0xb46e2f86 proto_unregister +EXPORT_SYMBOL vmlinux 0xb47e21e9 tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0xb4b8bff5 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0xb4db3099 single_open +EXPORT_SYMBOL vmlinux 0xb501e547 of_find_matching_node +EXPORT_SYMBOL vmlinux 0xb5044271 vsscanf +EXPORT_SYMBOL vmlinux 0xb50b9732 vfs_follow_link +EXPORT_SYMBOL vmlinux 0xb51b0851 tcp_ioctl +EXPORT_SYMBOL vmlinux 0xb535bb5a journal_ack_err +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb55095d5 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0xb55d21a7 _read_lock_irqsave +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5b1bc99 neigh_event_ns +EXPORT_SYMBOL vmlinux 0xb60f7e22 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0xb6264484 tcf_hash_create +EXPORT_SYMBOL vmlinux 0xb63da9d0 con_is_bound +EXPORT_SYMBOL vmlinux 0xb63fbd20 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xb64dab87 do_splice_to +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb67c5a2d sock_map_fd +EXPORT_SYMBOL vmlinux 0xb6881c01 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0xb68af004 log_wait_commit +EXPORT_SYMBOL vmlinux 0xb68fd831 finish_wait +EXPORT_SYMBOL vmlinux 0xb692edfa mempool_free +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6bffb99 kstat_irqs_cpu +EXPORT_SYMBOL vmlinux 0xb6d1e295 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xb6e0e626 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xb6e578ce bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0xb6ef108a dev_open +EXPORT_SYMBOL vmlinux 0xb6f23b3c nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xb714f2b9 pci_read_vpd +EXPORT_SYMBOL vmlinux 0xb718c29f pci_set_mwi +EXPORT_SYMBOL vmlinux 0xb7323d87 truncate_pagecache +EXPORT_SYMBOL vmlinux 0xb756fd74 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xb75dcfee _read_lock_irq +EXPORT_SYMBOL vmlinux 0xb76aad60 xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0xb77f8b08 dquot_scan_active +EXPORT_SYMBOL vmlinux 0xb7864119 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0xb7871f57 vmap +EXPORT_SYMBOL vmlinux 0xb78fc987 dev_mc_delete +EXPORT_SYMBOL vmlinux 0xb798b8e4 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0xb7992acf tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xb7a658a0 __register_chrdev +EXPORT_SYMBOL vmlinux 0xb7ccb3c7 twl4030_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xb7ce2e9b alloc_pages_current +EXPORT_SYMBOL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL vmlinux 0xb8164879 blk_end_request +EXPORT_SYMBOL vmlinux 0xb82dfbb1 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0xb82fede6 d_genocide +EXPORT_SYMBOL vmlinux 0xb83663c6 vio_ldc_alloc +EXPORT_SYMBOL vmlinux 0xb85ba138 dev_alloc_skb +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb893b037 register_netdevice +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8afb469 nf_log_register +EXPORT_SYMBOL vmlinux 0xb8c01b7a pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0xb8cb734f vio_port_up +EXPORT_SYMBOL vmlinux 0xb8d10ba8 copy_strings_kernel +EXPORT_SYMBOL vmlinux 0xb8de3100 drm_idlelock_take +EXPORT_SYMBOL vmlinux 0xb8e2ae48 km_report +EXPORT_SYMBOL vmlinux 0xb9249d16 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xb925bf70 key_negate_and_link +EXPORT_SYMBOL vmlinux 0xb935ec64 __tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0xb94bfd8e pci_dma_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0xb95d46ba pagecache_write_begin +EXPORT_SYMBOL vmlinux 0xb9758179 bio_add_page +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb999ac89 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0xb9a07461 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xb9b4cfb2 ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0xb9fdabbd __serio_register_port +EXPORT_SYMBOL vmlinux 0xba06e15b keyring_clear +EXPORT_SYMBOL vmlinux 0xba1b2c7a pci_scan_single_device +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba4eea46 vfs_dq_drop +EXPORT_SYMBOL vmlinux 0xba818ddb netpoll_cleanup +EXPORT_SYMBOL vmlinux 0xba866600 find_get_pages_tag +EXPORT_SYMBOL vmlinux 0xbaa2782a kstrndup +EXPORT_SYMBOL vmlinux 0xbaaab8ae timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xbaea1451 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xbb0fe302 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0xbb167766 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb1fad6a flush_delayed_work +EXPORT_SYMBOL vmlinux 0xbb43a76e qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0xbb5c6872 inet_frag_kill +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb748a6a skb_recycle_check +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbbb3f6bc skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0xbbbcf67e unregister_binfmt +EXPORT_SYMBOL vmlinux 0xbbf60ce6 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xbbfb6b02 kobject_set_name +EXPORT_SYMBOL vmlinux 0xbc0b077d ilookup +EXPORT_SYMBOL vmlinux 0xbc0b1291 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0xbc116f97 netlink_dump_start +EXPORT_SYMBOL vmlinux 0xbc2d1cc4 handle_sysrq +EXPORT_SYMBOL vmlinux 0xbc4aa5e7 mutex_lock +EXPORT_SYMBOL vmlinux 0xbc4ef9b4 sk_common_release +EXPORT_SYMBOL vmlinux 0xbc4f5043 bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0xbc885feb __scm_destroy +EXPORT_SYMBOL vmlinux 0xbcb12cac input_grab_device +EXPORT_SYMBOL vmlinux 0xbcbc0061 down_trylock +EXPORT_SYMBOL vmlinux 0xbcc1a6b8 splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0xbcc1af64 inode_init_always +EXPORT_SYMBOL vmlinux 0xbcc83d2e blk_queue_make_request +EXPORT_SYMBOL vmlinux 0xbcd69a26 bdi_unregister +EXPORT_SYMBOL vmlinux 0xbcf9349c key_validate +EXPORT_SYMBOL vmlinux 0xbd0066e9 generic_delete_inode +EXPORT_SYMBOL vmlinux 0xbd0fbeab netpoll_setup +EXPORT_SYMBOL vmlinux 0xbd100793 cpu_online_mask +EXPORT_SYMBOL vmlinux 0xbd19bb76 replace_mount_options +EXPORT_SYMBOL vmlinux 0xbd2b53a1 drm_mode_remove +EXPORT_SYMBOL vmlinux 0xbd793053 journal_start +EXPORT_SYMBOL vmlinux 0xbda7e13a ether_setup +EXPORT_SYMBOL vmlinux 0xbdbf1b10 remap_pfn_range +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbdfdb453 vfs_quota_on_mount +EXPORT_SYMBOL vmlinux 0xbe0f9a07 filp_open +EXPORT_SYMBOL vmlinux 0xbe122842 _write_unlock_bh +EXPORT_SYMBOL vmlinux 0xbe18d4ed d_alloc_name +EXPORT_SYMBOL vmlinux 0xbe8a966e blk_alloc_queue +EXPORT_SYMBOL vmlinux 0xbea9a478 uart_suspend_port +EXPORT_SYMBOL vmlinux 0xbeb2f5a6 sk_wait_data +EXPORT_SYMBOL vmlinux 0xbed87108 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0xbef3d159 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbef7ac00 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0xbf00d379 alloc_pci_dev +EXPORT_SYMBOL vmlinux 0xbf1fdaaf module_refcount +EXPORT_SYMBOL vmlinux 0xbf28d190 xrlim_allow +EXPORT_SYMBOL vmlinux 0xbf3ca09c seq_printf +EXPORT_SYMBOL vmlinux 0xbf408010 pci_get_slot +EXPORT_SYMBOL vmlinux 0xbf71dfd6 get_sb_ns +EXPORT_SYMBOL vmlinux 0xbf7c086d inet_del_protocol +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf8683ef neigh_for_each +EXPORT_SYMBOL vmlinux 0xbf8ac1f5 i2c_bit_add_numbered_bus +EXPORT_SYMBOL vmlinux 0xbf90682b lro_flush_all +EXPORT_SYMBOL vmlinux 0xbf993764 __memscan_zero +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfaf361e pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0xbfb2ad58 gen_pool_alloc +EXPORT_SYMBOL vmlinux 0xbfe8378a pci_get_class +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc003c637 __strncpy_from_user +EXPORT_SYMBOL vmlinux 0xc0044724 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xc00b5497 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0xc00bada3 clear_inode +EXPORT_SYMBOL vmlinux 0xc01b86db splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0xc04d2037 security_inode_readlink +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc07844aa of_match_node +EXPORT_SYMBOL vmlinux 0xc087d0e6 phy_device_create +EXPORT_SYMBOL vmlinux 0xc09651d9 crc32_be +EXPORT_SYMBOL vmlinux 0xc09ca072 ldc_map_single +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0af648d blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL vmlinux 0xc0d1bb53 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xc0d71b57 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xc0fd4b0b register_netdev +EXPORT_SYMBOL vmlinux 0xc1435e84 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xc144d016 call_usermodehelper_setfns +EXPORT_SYMBOL vmlinux 0xc14b66f6 ida_get_new_above +EXPORT_SYMBOL vmlinux 0xc15e073c generic_find_next_zero_le_bit +EXPORT_SYMBOL vmlinux 0xc16da256 drm_sysfs_hotplug_event +EXPORT_SYMBOL vmlinux 0xc1787afa try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0xc19180fa bio_integrity_split +EXPORT_SYMBOL vmlinux 0xc196001f security_path_truncate +EXPORT_SYMBOL vmlinux 0xc1e6f95a serio_unregister_port +EXPORT_SYMBOL vmlinux 0xc1ee17ca test_and_change_bit +EXPORT_SYMBOL vmlinux 0xc2113ff7 seq_write +EXPORT_SYMBOL vmlinux 0xc21c177f icmp_send +EXPORT_SYMBOL vmlinux 0xc2247d5e inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0xc24ea969 dm_unregister_target +EXPORT_SYMBOL vmlinux 0xc2541a8c compat_sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc26c8fef sg_miter_start +EXPORT_SYMBOL vmlinux 0xc273e55f ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xc296f1c4 udp_prot +EXPORT_SYMBOL vmlinux 0xc2c362c6 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0xc2c7a108 phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0xc2d5336e tty_name +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2e7e959 compat_tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xc316b98c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0xc33f6f4c on_each_cpu +EXPORT_SYMBOL vmlinux 0xc381a606 usb_gadget_unregister_driver +EXPORT_SYMBOL vmlinux 0xc38c4ca2 PAGE_SHARED +EXPORT_SYMBOL vmlinux 0xc39cbd7d vga_get +EXPORT_SYMBOL vmlinux 0xc3a3e7bf napi_get_frags +EXPORT_SYMBOL vmlinux 0xc3ab2436 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xc3b196d1 block_sync_page +EXPORT_SYMBOL vmlinux 0xc3b61c7c ebus_dma_irq_enable +EXPORT_SYMBOL vmlinux 0xc3e36bec ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xc405df33 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0xc4073fb5 skb_copy_expand +EXPORT_SYMBOL vmlinux 0xc4182315 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0xc439686f idr_find +EXPORT_SYMBOL vmlinux 0xc4912153 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4c85500 nobh_writepage +EXPORT_SYMBOL vmlinux 0xc4e531bb __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xc4eb6683 unregister_filesystem +EXPORT_SYMBOL vmlinux 0xc52f5714 fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0xc57e8376 netlink_kernel_create +EXPORT_SYMBOL vmlinux 0xc5900df7 drm_addmap +EXPORT_SYMBOL vmlinux 0xc5912c5d genphy_config_advert +EXPORT_SYMBOL vmlinux 0xc5cd1fd9 nf_log_unregister +EXPORT_SYMBOL vmlinux 0xc6006057 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0xc613add4 nf_register_hook +EXPORT_SYMBOL vmlinux 0xc622c02e init_net +EXPORT_SYMBOL vmlinux 0xc6266944 km_state_notify +EXPORT_SYMBOL vmlinux 0xc6327b65 sun4v_chip_type +EXPORT_SYMBOL vmlinux 0xc63d01b6 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0xc667f652 request_firmware +EXPORT_SYMBOL vmlinux 0xc66d907f generic_ro_fops +EXPORT_SYMBOL vmlinux 0xc688f786 drm_mode_connector_attach_encoder +EXPORT_SYMBOL vmlinux 0xc6a0c535 drm_mode_config_init +EXPORT_SYMBOL vmlinux 0xc6d96179 sbusfb_fill_var +EXPORT_SYMBOL vmlinux 0xc6f80559 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0xc6fd5804 del_gendisk +EXPORT_SYMBOL vmlinux 0xc7024eb2 netdev_features_change +EXPORT_SYMBOL vmlinux 0xc71152c3 dquot_drop +EXPORT_SYMBOL vmlinux 0xc722227e posix_acl_clone +EXPORT_SYMBOL vmlinux 0xc725689b set_binfmt +EXPORT_SYMBOL vmlinux 0xc72a7057 put_io_context +EXPORT_SYMBOL vmlinux 0xc740c64a memchr +EXPORT_SYMBOL vmlinux 0xc7536bac of_find_node_with_property +EXPORT_SYMBOL vmlinux 0xc766bfe1 skb_dma_map +EXPORT_SYMBOL vmlinux 0xc78b2db0 freeze_bdev +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a17d5f tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0xc7a24d76 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7b595f2 atomic64_add +EXPORT_SYMBOL vmlinux 0xc7bcabcb mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xc7ec28b0 memcmp +EXPORT_SYMBOL vmlinux 0xc82e7045 dma_set_mask +EXPORT_SYMBOL vmlinux 0xc841e4a0 read_cache_page_async +EXPORT_SYMBOL vmlinux 0xc84e818c of_parse_phandles_with_args +EXPORT_SYMBOL vmlinux 0xc8636c7b sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0xc864acc6 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0xc87bd6e2 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0xc8911c8a mark_page_accessed +EXPORT_SYMBOL vmlinux 0xc8979f04 km_new_mapping +EXPORT_SYMBOL vmlinux 0xc8a2a2e6 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8bb0ca2 d_invalidate +EXPORT_SYMBOL vmlinux 0xc8ed8eb0 dst_destroy +EXPORT_SYMBOL vmlinux 0xc8f99d09 drm_lock_take +EXPORT_SYMBOL vmlinux 0xc91fb9aa _read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xc93d8dce proc_symlink +EXPORT_SYMBOL vmlinux 0xc9415bca dev_unicast_sync +EXPORT_SYMBOL vmlinux 0xc998d641 icmp_err_convert +EXPORT_SYMBOL vmlinux 0xc9d284d2 mpage_writepages +EXPORT_SYMBOL vmlinux 0xca06f233 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0xca2e3bc6 phy_device_free +EXPORT_SYMBOL vmlinux 0xca36bf7b drm_property_create +EXPORT_SYMBOL vmlinux 0xca49fe9e complete_request_key +EXPORT_SYMBOL vmlinux 0xca57bc67 blk_fetch_request +EXPORT_SYMBOL vmlinux 0xca641cc4 __blk_end_request +EXPORT_SYMBOL vmlinux 0xca6cfb60 fail_migrate_page +EXPORT_SYMBOL vmlinux 0xca802d3c drm_debugfs_remove_files +EXPORT_SYMBOL vmlinux 0xcabd7ea5 drm_mode_connector_list_update +EXPORT_SYMBOL vmlinux 0xcac07678 sbusfb_mmap_helper +EXPORT_SYMBOL vmlinux 0xcac4d7ff _read_lock_bh +EXPORT_SYMBOL vmlinux 0xcae6377b _spin_lock_bh +EXPORT_SYMBOL vmlinux 0xcb0b60fb tty_port_tty_get +EXPORT_SYMBOL vmlinux 0xcb158627 journal_get_write_access +EXPORT_SYMBOL vmlinux 0xcb584904 sk_dst_check +EXPORT_SYMBOL vmlinux 0xcb6beb40 hweight32 +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb8ee5a5 del_timer +EXPORT_SYMBOL vmlinux 0xcbae85f6 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xcbb9d7db groups_free +EXPORT_SYMBOL vmlinux 0xcbdfde1b atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xcbe1e9e7 flush_signals +EXPORT_SYMBOL vmlinux 0xcbfe6008 cap_netlink_recv +EXPORT_SYMBOL vmlinux 0xcc001669 per_cpu__cpu_sibling_map +EXPORT_SYMBOL vmlinux 0xcc07af75 strnlen +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc39122d inet_accept +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc68d8f7 fb_find_mode +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc973fd4 pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0xcca572ab tty_std_termios +EXPORT_SYMBOL vmlinux 0xccd78767 setup_new_exec +EXPORT_SYMBOL vmlinux 0xcd2e2eba bdget +EXPORT_SYMBOL vmlinux 0xcd920c78 simple_release_fs +EXPORT_SYMBOL vmlinux 0xcdb3a6bc remove_inode_hash +EXPORT_SYMBOL vmlinux 0xcdb65485 vfs_get_dqblk +EXPORT_SYMBOL vmlinux 0xcdf0235a bdevname +EXPORT_SYMBOL vmlinux 0xcdf2eff4 drm_mode_height +EXPORT_SYMBOL vmlinux 0xcdf8a514 mod_timer +EXPORT_SYMBOL vmlinux 0xce36ded6 sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xce3af35d drm_mode_create_dirty_info_property +EXPORT_SYMBOL vmlinux 0xce423826 key_type_keyring +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce63a297 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0xce7d8bf2 give_up_console +EXPORT_SYMBOL vmlinux 0xceadde03 __elv_add_request +EXPORT_SYMBOL vmlinux 0xceb0b9af sock_no_poll +EXPORT_SYMBOL vmlinux 0xcef36593 get_phy_id +EXPORT_SYMBOL vmlinux 0xcf0f6081 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0xcf4a5f94 pci_device_to_OF_node +EXPORT_SYMBOL vmlinux 0xcf5b3278 task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0xcf695eca netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0xcf7a8c69 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0xcf9055ff simple_getattr +EXPORT_SYMBOL vmlinux 0xcfaf209c alloc_netdev_mq +EXPORT_SYMBOL vmlinux 0xcfbf20e6 drm_master_get +EXPORT_SYMBOL vmlinux 0xcfce5b41 ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0xcfe13710 sparc64_get_clock_tick +EXPORT_SYMBOL vmlinux 0xcff53400 kref_put +EXPORT_SYMBOL vmlinux 0xcff76968 sock_setsockopt +EXPORT_SYMBOL vmlinux 0xd0145ce9 __destroy_inode +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd033a3b8 unload_nls +EXPORT_SYMBOL vmlinux 0xd0421014 simple_write_begin +EXPORT_SYMBOL vmlinux 0xd0530547 ip_route_input +EXPORT_SYMBOL vmlinux 0xd0797295 pci_request_region +EXPORT_SYMBOL vmlinux 0xd08fa3f0 drm_mode_set_crtcinfo +EXPORT_SYMBOL vmlinux 0xd0be1a2e __memset +EXPORT_SYMBOL vmlinux 0xd0ec3eee panic_notifier_list +EXPORT_SYMBOL vmlinux 0xd0ec5085 call_usermodehelper_setkeys +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd0f8c9e0 ldc_alloc +EXPORT_SYMBOL vmlinux 0xd102e421 d_prune_aliases +EXPORT_SYMBOL vmlinux 0xd12cbabc tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xd1561b0e ip_route_me_harder +EXPORT_SYMBOL vmlinux 0xd16abd27 vfs_statfs +EXPORT_SYMBOL vmlinux 0xd171ddc0 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0xd17f438c mii_phy_probe +EXPORT_SYMBOL vmlinux 0xd18b9ca6 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xd1a88f17 inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0xd1c9efd7 ps2_begin_command +EXPORT_SYMBOL vmlinux 0xd21af7e5 completion_done +EXPORT_SYMBOL vmlinux 0xd2285628 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0xd251d401 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0xd251d7b0 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xd2555f19 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xd255d836 fput +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd265ed79 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0xd2775eff pcim_enable_device +EXPORT_SYMBOL vmlinux 0xd28cb0ad drm_cvt_mode +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2a3da2d mempool_alloc +EXPORT_SYMBOL vmlinux 0xd2aa0292 _read_unlock_bh +EXPORT_SYMBOL vmlinux 0xd2ad1a77 drm_gem_vm_open +EXPORT_SYMBOL vmlinux 0xd2b5cc84 start_tty +EXPORT_SYMBOL vmlinux 0xd2bfd6bc __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xd2df05ec dquot_release_reserved_space +EXPORT_SYMBOL vmlinux 0xd3028e75 drm_sman_set_manager +EXPORT_SYMBOL vmlinux 0xd3155e8d drm_vblank_count +EXPORT_SYMBOL vmlinux 0xd3165a87 pci_match_id +EXPORT_SYMBOL vmlinux 0xd3170c47 kick_iocb +EXPORT_SYMBOL vmlinux 0xd33b2bea blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0xd346cc4d journal_set_features +EXPORT_SYMBOL vmlinux 0xd39a1003 mutex_trylock +EXPORT_SYMBOL vmlinux 0xd3af979c memdup_user +EXPORT_SYMBOL vmlinux 0xd3be5b84 cfb_copyarea +EXPORT_SYMBOL vmlinux 0xd3f97d7b drm_get_edid +EXPORT_SYMBOL vmlinux 0xd3ffab51 drm_ht_remove +EXPORT_SYMBOL vmlinux 0xd415ff1b bdi_register_dev +EXPORT_SYMBOL vmlinux 0xd471b6c9 pci_select_bars +EXPORT_SYMBOL vmlinux 0xd49f1ef6 test_and_clear_bit +EXPORT_SYMBOL vmlinux 0xd4a1615f input_event +EXPORT_SYMBOL vmlinux 0xd4a9db81 drm_get_dev +EXPORT_SYMBOL vmlinux 0xd4be2003 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0xd4d7e815 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xd4db65b7 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0xd4de4adf skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0xd4fa8102 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0xd4fef955 sock_sendmsg +EXPORT_SYMBOL vmlinux 0xd5236a11 rtc_dev_update_irq_enable_emul +EXPORT_SYMBOL vmlinux 0xd5261297 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd549545e skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0xd5653605 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0xd56ba0a0 sun4v_hvapi_register +EXPORT_SYMBOL vmlinux 0xd57f8789 iommu_num_pages +EXPORT_SYMBOL vmlinux 0xd5965d24 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xd5b3f37d phy_attach +EXPORT_SYMBOL vmlinux 0xd5ba1efb dst_alloc +EXPORT_SYMBOL vmlinux 0xd5c7c61d sysctl_string +EXPORT_SYMBOL vmlinux 0xd5ec7671 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0xd5f0d16b xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0xd6078f61 register_gifconf +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd62e5ff0 kernel_getpeername +EXPORT_SYMBOL vmlinux 0xd63d6819 drm_core_get_map_ofs +EXPORT_SYMBOL vmlinux 0xd659c2d0 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0xd664cc49 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xd66b2d94 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0xd6a78d08 smp_call_function_single +EXPORT_SYMBOL vmlinux 0xd6baf757 serio_interrupt +EXPORT_SYMBOL vmlinux 0xd6d68c6b vm_stat +EXPORT_SYMBOL vmlinux 0xd6de7d61 journal_stop +EXPORT_SYMBOL vmlinux 0xd6e4e79a of_find_node_by_type +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6ef202f mdiobus_register +EXPORT_SYMBOL vmlinux 0xd6f0f559 idprom +EXPORT_SYMBOL vmlinux 0xd6fb1cf2 tcp_proc_register +EXPORT_SYMBOL vmlinux 0xd70748b3 alloc_disk +EXPORT_SYMBOL vmlinux 0xd7497319 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0xd75d5972 path_put +EXPORT_SYMBOL vmlinux 0xd76a608b vfs_dq_quota_on_remount +EXPORT_SYMBOL vmlinux 0xd77978d8 drm_fasync +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd77b891f arp_xmit +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd79ee68c sock_wfree +EXPORT_SYMBOL vmlinux 0xd7b94264 sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0xd81ad466 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0xd8229504 bdi_init +EXPORT_SYMBOL vmlinux 0xd82dffa6 ip_fragment +EXPORT_SYMBOL vmlinux 0xd832c9e5 rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0xd83791bc nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd83ed31d xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xd8959f23 auxio_set_led +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8be4fc9 genl_register_ops +EXPORT_SYMBOL vmlinux 0xd8c19971 alloc_tty_driver +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd9035ac8 unregister_netdev +EXPORT_SYMBOL vmlinux 0xd911d409 journal_start_commit +EXPORT_SYMBOL vmlinux 0xd9283cbc neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xd92af799 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0xd93ce730 pci_clear_master +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd99c99c9 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xd99e6cd4 skb_put +EXPORT_SYMBOL vmlinux 0xd9a49065 vlan_gro_receive +EXPORT_SYMBOL vmlinux 0xd9de717d copy_io_context +EXPORT_SYMBOL vmlinux 0xd9e14044 netif_rx_ni +EXPORT_SYMBOL vmlinux 0xd9fa8844 pci_iomap +EXPORT_SYMBOL vmlinux 0xda0f6669 kill_pid +EXPORT_SYMBOL vmlinux 0xda1a7335 kasprintf +EXPORT_SYMBOL vmlinux 0xda3d2c3c prom_feval +EXPORT_SYMBOL vmlinux 0xda4629e4 radix_tree_insert +EXPORT_SYMBOL vmlinux 0xda500239 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xda7c672d pci_enable_device_io +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda82f318 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0xda88fb01 textsearch_register +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xda9b3fd4 locks_copy_lock +EXPORT_SYMBOL vmlinux 0xdab1614f jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0xdabdc0a4 inet_bind +EXPORT_SYMBOL vmlinux 0xdad4ff27 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xdb0af6e5 phy_stop +EXPORT_SYMBOL vmlinux 0xdb286369 dm_table_get +EXPORT_SYMBOL vmlinux 0xdb294f08 drm_get_resource_start +EXPORT_SYMBOL vmlinux 0xdb301e71 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0xdb543b5c dev_remove_pack +EXPORT_SYMBOL vmlinux 0xdb6c7252 names_cachep +EXPORT_SYMBOL vmlinux 0xdb8bfab3 bio_clone +EXPORT_SYMBOL vmlinux 0xdbc49854 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdc053205 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0xdc0f24a1 netdev_bonding_change +EXPORT_SYMBOL vmlinux 0xdc1341b1 mdesc_arc_target +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc1dba5d tcf_register_action +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc2e821c nla_put +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc478e12 ethtool_op_set_tx_csum +EXPORT_SYMBOL vmlinux 0xdc5a6a41 simple_dir_operations +EXPORT_SYMBOL vmlinux 0xdc7e1b68 sk_stop_timer +EXPORT_SYMBOL vmlinux 0xdca0e950 genl_register_family +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcb5671d strlen +EXPORT_SYMBOL vmlinux 0xdd1197c8 xor_vis_3 +EXPORT_SYMBOL vmlinux 0xdd2af476 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xdd357461 ip_getsockopt +EXPORT_SYMBOL vmlinux 0xdd3febe2 drm_gem_object_free +EXPORT_SYMBOL vmlinux 0xdd49095c drm_ht_insert_item +EXPORT_SYMBOL vmlinux 0xdd6b646b of_dev_put +EXPORT_SYMBOL vmlinux 0xdd6bfdd0 dev_gro_receive +EXPORT_SYMBOL vmlinux 0xdd9c92c8 drm_vblank_post_modeset +EXPORT_SYMBOL vmlinux 0xddae1ca9 tty_throttle +EXPORT_SYMBOL vmlinux 0xddb003d5 vfs_get_dqinfo +EXPORT_SYMBOL vmlinux 0xddbec606 fb_class +EXPORT_SYMBOL vmlinux 0xde04d73a drm_i_have_hw_lock +EXPORT_SYMBOL vmlinux 0xde2708d2 vfs_rename +EXPORT_SYMBOL vmlinux 0xde2d2e18 search_binary_handler +EXPORT_SYMBOL vmlinux 0xde31b902 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xde589e60 xor_vis_2 +EXPORT_SYMBOL vmlinux 0xde5f5b1d truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0xde623d2b xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xde7502a8 PAGE_KERNEL +EXPORT_SYMBOL vmlinux 0xde75b689 set_irq_type +EXPORT_SYMBOL vmlinux 0xde84b05e arp_send +EXPORT_SYMBOL vmlinux 0xde9066eb nf_getsockopt +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xde962043 fasync_helper +EXPORT_SYMBOL vmlinux 0xde983d1e pci_dma_supported +EXPORT_SYMBOL vmlinux 0xdeba25a6 drm_encoder_init +EXPORT_SYMBOL vmlinux 0xdf1d963d tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0xdf2bb9b1 lock_may_write +EXPORT_SYMBOL vmlinux 0xdf3dbcaf __lock_page +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf713727 fddi_change_mtu +EXPORT_SYMBOL vmlinux 0xdf8047ed blk_queue_max_hw_segments +EXPORT_SYMBOL vmlinux 0xdf8fef53 prom_getproplen +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf98f3f3 journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xdfa75b18 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xdfb7c842 node_states +EXPORT_SYMBOL vmlinux 0xdfc0363b dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xdfc0b677 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0xdfdcfaa2 sock_create_lite +EXPORT_SYMBOL vmlinux 0xdfeff14d dq_data_lock +EXPORT_SYMBOL vmlinux 0xe02c4906 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xe02ed98a pci_disable_device +EXPORT_SYMBOL vmlinux 0xe038fa1e default_file_splice_read +EXPORT_SYMBOL vmlinux 0xe03c4974 tcp_read_sock +EXPORT_SYMBOL vmlinux 0xe042c57d _write_lock_irqsave +EXPORT_SYMBOL vmlinux 0xe06e4199 cpu_all_bits +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe0809bdc interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0b73dc8 udp_table +EXPORT_SYMBOL vmlinux 0xe0bc24a1 param_set_ushort +EXPORT_SYMBOL vmlinux 0xe0be173b textsearch_destroy +EXPORT_SYMBOL vmlinux 0xe0bfb01b tcp_v4_remember_stamp +EXPORT_SYMBOL vmlinux 0xe0dcb911 smp_call_function_many +EXPORT_SYMBOL vmlinux 0xe0e7c864 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xe1075b95 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0xe111bfeb poll_initwait +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe12cf8ec drm_mode_duplicate +EXPORT_SYMBOL vmlinux 0xe1321cee bio_integrity_endio +EXPORT_SYMBOL vmlinux 0xe1457735 drm_ht_remove_item +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe197e76f mb_cache_shrink +EXPORT_SYMBOL vmlinux 0xe1a34ca6 netif_napi_del +EXPORT_SYMBOL vmlinux 0xe1b3c162 sk_release_kernel +EXPORT_SYMBOL vmlinux 0xe1d345ec pci_map_sg +EXPORT_SYMBOL vmlinux 0xe1f03f44 follow_down +EXPORT_SYMBOL vmlinux 0xe1f31f67 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe207dd50 of_getintprop_default +EXPORT_SYMBOL vmlinux 0xe21526d3 compat_ip_setsockopt +EXPORT_SYMBOL vmlinux 0xe215a16d tcp_make_synack +EXPORT_SYMBOL vmlinux 0xe216f4ec drm_connector_property_get_value +EXPORT_SYMBOL vmlinux 0xe2194164 sk_filter +EXPORT_SYMBOL vmlinux 0xe227d368 mpage_readpage +EXPORT_SYMBOL vmlinux 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe24050c7 scnprintf +EXPORT_SYMBOL vmlinux 0xe24a7b88 drm_ht_find_item +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe2a76311 ldc_connect +EXPORT_SYMBOL vmlinux 0xe2c5a749 atomic64_sub_ret +EXPORT_SYMBOL vmlinux 0xe2cb6f07 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2dc3055 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0xe318ee51 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0xe32309f9 elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0xe33e14cb dev_set_mac_address +EXPORT_SYMBOL vmlinux 0xe35d7db9 drop_super +EXPORT_SYMBOL vmlinux 0xe3b0192b vscnprintf +EXPORT_SYMBOL vmlinux 0xe3cb35a7 mdiobus_free +EXPORT_SYMBOL vmlinux 0xe3debc7b sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xe3e12008 __first_cpu +EXPORT_SYMBOL vmlinux 0xe416edb4 blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0xe4217c03 vio_conn_reset +EXPORT_SYMBOL vmlinux 0xe42269fa tty_write_room +EXPORT_SYMBOL vmlinux 0xe42648bc drm_mode_attachmode_crtc +EXPORT_SYMBOL vmlinux 0xe44b3d42 vfs_readdir +EXPORT_SYMBOL vmlinux 0xe46a148b drm_mode_connector_detach_encoder +EXPORT_SYMBOL vmlinux 0xe4812f8f blk_end_request_all +EXPORT_SYMBOL vmlinux 0xe4891d32 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0xe48972ef rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0xe4af7435 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0xe4d5e34a mutex_unlock +EXPORT_SYMBOL vmlinux 0xe4db3c75 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0xe4e50851 drm_mode_validate_clocks +EXPORT_SYMBOL vmlinux 0xe4f1695e cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xe4f7a3fc flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0xe4fc87dc xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0xe500c548 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe52a1a86 kobject_del +EXPORT_SYMBOL vmlinux 0xe5784ede xfrm_input +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe579f9cf send_sig_info +EXPORT_SYMBOL vmlinux 0xe57d3744 dquot_claim_space +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe5910919 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xe59c7fa9 nla_reserve +EXPORT_SYMBOL vmlinux 0xe5b93533 compat_nf_getsockopt +EXPORT_SYMBOL vmlinux 0xe5bdce7e drm_mode_debug_printmodeline +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5e08285 down_write_trylock +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe5f8fed2 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0xe6010278 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0xe6053789 uart_get_divisor +EXPORT_SYMBOL vmlinux 0xe65f1530 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0xe662094c skb_copy_bits +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6ac3fa7 bio_pair_release +EXPORT_SYMBOL vmlinux 0xe6b9b745 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe70a814d otg_put_transceiver +EXPORT_SYMBOL vmlinux 0xe714375c __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xe714b41a write_cache_pages +EXPORT_SYMBOL vmlinux 0xe7169c7a ldc_state +EXPORT_SYMBOL vmlinux 0xe782899e prom_searchsiblings +EXPORT_SYMBOL vmlinux 0xe79695e0 find_or_create_page +EXPORT_SYMBOL vmlinux 0xe7a0c7d2 gen_new_estimator +EXPORT_SYMBOL vmlinux 0xe7baf51c kthread_bind +EXPORT_SYMBOL vmlinux 0xe7c734cb serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0xe7d2aca1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xe7d32407 nmi_active +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7eed9b4 fget +EXPORT_SYMBOL vmlinux 0xe8116e08 __kmalloc_node +EXPORT_SYMBOL vmlinux 0xe8269c1c drm_encoder_cleanup +EXPORT_SYMBOL vmlinux 0xe8404c91 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0xe874b640 init_buffer +EXPORT_SYMBOL vmlinux 0xe876706b poll_freewait +EXPORT_SYMBOL vmlinux 0xe88bdc28 __down_write_trylock +EXPORT_SYMBOL vmlinux 0xe89e97d4 pci_set_master +EXPORT_SYMBOL vmlinux 0xe8cd902e hweight16 +EXPORT_SYMBOL vmlinux 0xe8dbafef __next_cpu +EXPORT_SYMBOL vmlinux 0xe8dfcdf9 __csum_partial_copy_to_user +EXPORT_SYMBOL vmlinux 0xe9056126 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0xe90dcae0 __request_module +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe919dd5c drm_sman_owner_clean +EXPORT_SYMBOL vmlinux 0xe92dea0e jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xe9423742 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xe966e380 drm_mm_scan_remove_block +EXPORT_SYMBOL vmlinux 0xe96f0f00 __page_symlink +EXPORT_SYMBOL vmlinux 0xe9b3143f invalidate_partition +EXPORT_SYMBOL vmlinux 0xe9cf771c i2c_use_client +EXPORT_SYMBOL vmlinux 0xe9eba016 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xea03a806 blk_init_tags +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea147363 printk +EXPORT_SYMBOL vmlinux 0xea20ca6d drm_mode_create_scaling_mode_property +EXPORT_SYMBOL vmlinux 0xea324856 ip_setsockopt +EXPORT_SYMBOL vmlinux 0xea66c99b release_sock +EXPORT_SYMBOL vmlinux 0xea91d0ce devm_iounmap +EXPORT_SYMBOL vmlinux 0xead58fb9 print_hex_dump +EXPORT_SYMBOL vmlinux 0xeadc4ee8 input_filter_device +EXPORT_SYMBOL vmlinux 0xeae2b36c of_parse_phandle +EXPORT_SYMBOL vmlinux 0xeafe94db bd_claim +EXPORT_SYMBOL vmlinux 0xeb3ef8bc __percpu_counter_add +EXPORT_SYMBOL vmlinux 0xeb5bd36d thaw_bdev +EXPORT_SYMBOL vmlinux 0xeb6c43dc console_start +EXPORT_SYMBOL vmlinux 0xeb792598 cdev_add +EXPORT_SYMBOL vmlinux 0xeb802c20 ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0xeb8f54b3 strstrip +EXPORT_SYMBOL vmlinux 0xeb9a86a8 drm_vblank_get +EXPORT_SYMBOL vmlinux 0xebb765d6 tcp_child_process +EXPORT_SYMBOL vmlinux 0xebbf1dba strncasecmp +EXPORT_SYMBOL vmlinux 0xebc4bdfb pci_dev_get +EXPORT_SYMBOL vmlinux 0xebc66aa9 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0xebd273a6 strict_strtoull +EXPORT_SYMBOL vmlinux 0xebf94658 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xebfc6fe8 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0xebfd721f make_bad_inode +EXPORT_SYMBOL vmlinux 0xec47740a tty_port_close +EXPORT_SYMBOL vmlinux 0xec55e9f4 udp_proc_register +EXPORT_SYMBOL vmlinux 0xec794ba0 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0xec7b2063 ldc_copy +EXPORT_SYMBOL vmlinux 0xec7ebeda tcp_v4_md5_do_add +EXPORT_SYMBOL vmlinux 0xec87df93 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xec8fbb83 alloc_etherdev_mq +EXPORT_SYMBOL vmlinux 0xecd82c39 __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xecd92cc6 sock_no_mmap +EXPORT_SYMBOL vmlinux 0xed3b7299 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xed4fe097 mnt_pin +EXPORT_SYMBOL vmlinux 0xed615b03 down_interruptible +EXPORT_SYMBOL vmlinux 0xed69c5ca ethtool_op_get_tso +EXPORT_SYMBOL vmlinux 0xed7f8eba __f_setown +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xeda27a55 mdiobus_alloc +EXPORT_SYMBOL vmlinux 0xedb24292 drm_gtf_mode +EXPORT_SYMBOL vmlinux 0xedb3e067 drm_get_connector_name +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xede47418 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0xee2b2074 skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee437648 __napi_complete +EXPORT_SYMBOL vmlinux 0xee562a1d nf_hook_slow +EXPORT_SYMBOL vmlinux 0xee58f336 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0xee6c19ec submit_bio +EXPORT_SYMBOL vmlinux 0xee74a58e uart_match_port +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeed82a7e dquot_commit_info +EXPORT_SYMBOL vmlinux 0xef15ce96 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0xef335d40 mdesc_grab +EXPORT_SYMBOL vmlinux 0xef55d53c vio_driver_init +EXPORT_SYMBOL vmlinux 0xef6abe50 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0xef6ed1ba param_set_invbool +EXPORT_SYMBOL vmlinux 0xefa354b0 drm_framebuffer_cleanup +EXPORT_SYMBOL vmlinux 0xefcb137e test_set_page_writeback +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xeffd447b tty_schedule_flip +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf05b0b03 sock_recvmsg +EXPORT_SYMBOL vmlinux 0xf0798ce1 of_ioremap +EXPORT_SYMBOL vmlinux 0xf0a72c51 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0xf0afdbd4 neigh_seq_start +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0f8db3e tcp_hashinfo +EXPORT_SYMBOL vmlinux 0xf127d8dd usb_gadget_register_driver +EXPORT_SYMBOL vmlinux 0xf138e5cf mdiobus_scan +EXPORT_SYMBOL vmlinux 0xf13bab5b kill_litter_super +EXPORT_SYMBOL vmlinux 0xf140c685 get_super +EXPORT_SYMBOL vmlinux 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL vmlinux 0xf1509c98 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0xf174c825 backlight_force_update +EXPORT_SYMBOL vmlinux 0xf174ed48 acquire_console_sem +EXPORT_SYMBOL vmlinux 0xf17bc662 security_path_link +EXPORT_SYMBOL vmlinux 0xf18293e1 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xf188f68f set_anon_super +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1c3b00e copy_in_user_fixup +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf238a3c9 abort_creds +EXPORT_SYMBOL vmlinux 0xf270e107 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0xf27ae0bf nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xf29f32ec sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0xf2ba8ad1 uart_register_driver +EXPORT_SYMBOL vmlinux 0xf2de707c drm_compat_ioctl +EXPORT_SYMBOL vmlinux 0xf2f45b2b bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xf30a6a66 sock_no_bind +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf31a1e22 pagevec_lookup +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf373be30 vfs_fsync +EXPORT_SYMBOL vmlinux 0xf3796c09 current_fs_time +EXPORT_SYMBOL vmlinux 0xf397b9aa __tasklet_schedule +EXPORT_SYMBOL vmlinux 0xf39ef360 clocksource_register +EXPORT_SYMBOL vmlinux 0xf3ac20d4 drm_mode_object_find +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3c3a801 thaw_process +EXPORT_SYMBOL vmlinux 0xf3d236cf drm_get_encoder_name +EXPORT_SYMBOL vmlinux 0xf3d949ed ip_route_output_key +EXPORT_SYMBOL vmlinux 0xf3d9e3c1 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0xf3ef2793 i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0xf3f8c8cb drm_irq_install +EXPORT_SYMBOL vmlinux 0xf4084e87 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xf41a34fd i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xf42a2b26 drm_ht_create +EXPORT_SYMBOL vmlinux 0xf4bdc5e9 read_cache_pages +EXPORT_SYMBOL vmlinux 0xf4cac472 vfs_quota_sync +EXPORT_SYMBOL vmlinux 0xf4d9484b sk_run_filter +EXPORT_SYMBOL vmlinux 0xf4df91a7 sock_register +EXPORT_SYMBOL vmlinux 0xf4e14efc iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f52f93 dqstats +EXPORT_SYMBOL vmlinux 0xf4f7c763 input_register_device +EXPORT_SYMBOL vmlinux 0xf4f9dc33 pci_choose_state +EXPORT_SYMBOL vmlinux 0xf509db3b sk_receive_skb +EXPORT_SYMBOL vmlinux 0xf50f72e1 alloc_file +EXPORT_SYMBOL vmlinux 0xf51589f2 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xf51ae235 touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xf532f7ca of_set_property_mutex +EXPORT_SYMBOL vmlinux 0xf534a5c0 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0xf53aa448 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf5652051 register_sysrq_key +EXPORT_SYMBOL vmlinux 0xf5787dd7 file_permission +EXPORT_SYMBOL vmlinux 0xf5c01729 prepare_binprm +EXPORT_SYMBOL vmlinux 0xf5c9012e timespec_trunc +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf5ed93f5 register_console +EXPORT_SYMBOL vmlinux 0xf5ffab8e pci_find_device +EXPORT_SYMBOL vmlinux 0xf60efa23 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0xf632f5e6 of_iounmap +EXPORT_SYMBOL vmlinux 0xf64fa211 vga_put +EXPORT_SYMBOL vmlinux 0xf650c38d free_task +EXPORT_SYMBOL vmlinux 0xf665ae89 deactivate_super +EXPORT_SYMBOL vmlinux 0xf6722448 dquot_alloc +EXPORT_SYMBOL vmlinux 0xf681193d ps2_drain +EXPORT_SYMBOL vmlinux 0xf697d794 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xf6aeeb15 suncore_mouse_baud_cflag_next +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6cb65ac simple_transaction_release +EXPORT_SYMBOL vmlinux 0xf6cfe594 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf7506c41 __any_online_cpu +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf758e05e __seq_open_private +EXPORT_SYMBOL vmlinux 0xf75979d7 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0xf759f959 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xf75b8e70 module_layout +EXPORT_SYMBOL vmlinux 0xf761c3ae copy_to_user_fixup +EXPORT_SYMBOL vmlinux 0xf776729d skb_pull +EXPORT_SYMBOL vmlinux 0xf77d419e noop_qdisc +EXPORT_SYMBOL vmlinux 0xf78b83d3 __down_read +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf7a71987 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0xf7d76317 serio_reconnect +EXPORT_SYMBOL vmlinux 0xf804bbb8 inet_frag_evictor +EXPORT_SYMBOL vmlinux 0xf80c69d2 __strlen_user +EXPORT_SYMBOL vmlinux 0xf8191240 add_wait_queue +EXPORT_SYMBOL vmlinux 0xf81a99d0 journal_release_buffer +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf84b38c3 atomic_add_ret +EXPORT_SYMBOL vmlinux 0xf85bd32b kmem_cache_create +EXPORT_SYMBOL vmlinux 0xf85cbfff set_bh_page +EXPORT_SYMBOL vmlinux 0xf890277c unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0xf89094bd i2c_del_adapter +EXPORT_SYMBOL vmlinux 0xf894a803 ldc_write +EXPORT_SYMBOL vmlinux 0xf899b265 request_key +EXPORT_SYMBOL vmlinux 0xf8e8afae drm_vblank_off +EXPORT_SYMBOL vmlinux 0xf8ef2a79 skb_gso_segment +EXPORT_SYMBOL vmlinux 0xf8ef9126 inet_release +EXPORT_SYMBOL vmlinux 0xf902011e tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0xf946a3b7 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0xf969593a close_bdev_exclusive +EXPORT_SYMBOL vmlinux 0xf98afc2e die_if_kernel +EXPORT_SYMBOL vmlinux 0xf98e2e25 may_umount +EXPORT_SYMBOL vmlinux 0xf99c5635 ethtool_op_set_flags +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9ae2dc8 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0xf9c32069 put_tty_driver +EXPORT_SYMBOL vmlinux 0xf9c69c35 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xf9dc1fac pcim_pin_device +EXPORT_SYMBOL vmlinux 0xf9ea733c slow_work_sleep_till_thread_needed +EXPORT_SYMBOL vmlinux 0xf9f0d5aa dcache_readdir +EXPORT_SYMBOL vmlinux 0xfa13dfbc i2c_clients_command +EXPORT_SYMBOL vmlinux 0xfa226a0f qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0xfa2af0bc posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0xfa6fedd0 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0xfa77fa84 locks_remove_posix +EXPORT_SYMBOL vmlinux 0xfa7a9847 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xfa811c58 trap_block +EXPORT_SYMBOL vmlinux 0xfa908648 sysctl_jiffies +EXPORT_SYMBOL vmlinux 0xfaa6eaa0 block_prepare_write +EXPORT_SYMBOL vmlinux 0xfab53d97 simple_fsync +EXPORT_SYMBOL vmlinux 0xfabb8883 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0xfac9c309 tcp_parse_options +EXPORT_SYMBOL vmlinux 0xfad16907 mempool_resize +EXPORT_SYMBOL vmlinux 0xfaf0f1da unregister_con_driver +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb0cf2e9 touch_all_softlockup_watchdogs +EXPORT_SYMBOL vmlinux 0xfb253508 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0xfb290493 dquot_reserve_space +EXPORT_SYMBOL vmlinux 0xfb4d87f6 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb870e32 of_device_unregister +EXPORT_SYMBOL vmlinux 0xfb91bd2e __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xfb9ce651 of_get_property +EXPORT_SYMBOL vmlinux 0xfba3715e blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0xfba95a53 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfbe62c7a dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xfbffc023 kmalloc_caches +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc143223 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xfc2a11a8 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0xfc30de78 get_fs_type +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc447ac2 udp_proc_unregister +EXPORT_SYMBOL vmlinux 0xfc7267cd dma_pool_alloc +EXPORT_SYMBOL vmlinux 0xfc97e45e boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcae50ba i2c_master_recv +EXPORT_SYMBOL vmlinux 0xfcb1bd2e pci_get_device +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcc93b31 bio_integrity_advance +EXPORT_SYMBOL vmlinux 0xfce1e8c6 drm_mm_init +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcf7a265 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd052132 misc_deregister +EXPORT_SYMBOL vmlinux 0xfd24dd77 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0xfd2bb9cc do_truncate +EXPORT_SYMBOL vmlinux 0xfd2d8d5a drm_mm_search_free +EXPORT_SYMBOL vmlinux 0xfd4e30b4 eth_change_mtu +EXPORT_SYMBOL vmlinux 0xfd5a9e00 pcibus_to_node +EXPORT_SYMBOL vmlinux 0xfd5c3d62 ethtool_op_get_sg +EXPORT_SYMBOL vmlinux 0xfd5d0f25 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0xfd5e31bd udplite_table +EXPORT_SYMBOL vmlinux 0xfd9d067c vm_insert_mixed +EXPORT_SYMBOL vmlinux 0xfda85a7d request_threaded_irq +EXPORT_SYMBOL vmlinux 0xfdb96c84 init_task +EXPORT_SYMBOL vmlinux 0xfdc162a1 drm_put_dev +EXPORT_SYMBOL vmlinux 0xfdcedd94 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xfdd6d736 take_over_console +EXPORT_SYMBOL vmlinux 0xfdfbad19 drm_sman_alloc +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfdfdf156 napi_complete +EXPORT_SYMBOL vmlinux 0xfe2094ae wait_for_key_construction +EXPORT_SYMBOL vmlinux 0xfe26fc7c nr_node_ids +EXPORT_SYMBOL vmlinux 0xfe26fdff vfs_fsync_range +EXPORT_SYMBOL vmlinux 0xfe392bcd generic_segment_checks +EXPORT_SYMBOL vmlinux 0xfe409e1e per_cpu__softnet_data +EXPORT_SYMBOL vmlinux 0xfe4aedd0 open_by_devnum +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe72c761 tcp4_gro_complete +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe78010d xor_niagara_4 +EXPORT_SYMBOL vmlinux 0xfe7c4287 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0xfec05366 sun_do_break +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfec43b56 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xfedd35fc console_suspend_enabled +EXPORT_SYMBOL vmlinux 0xfeea700c ebus_dma_addr +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff420ca3 tty_port_close_end +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff6b770e gen_pool_destroy +EXPORT_SYMBOL vmlinux 0xff7559e4 ioport_resource +EXPORT_SYMBOL vmlinux 0xff772c6e drm_mm_scan_add_block +EXPORT_SYMBOL vmlinux 0xff8307ad drm_mm_pre_get +EXPORT_SYMBOL vmlinux 0xff85e8ff path_get +EXPORT_SYMBOL vmlinux 0xff964b25 param_set_int +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffdfcc36 input_unregister_handler +EXPORT_SYMBOL vmlinux 0xffe2849a scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0xffe711b3 register_filesystem +EXPORT_SYMBOL vmlinux 0xfffb6692 mdio_bus_type +EXPORT_SYMBOL_GPL crypto/aes_generic 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL crypto/aes_generic 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL crypto/aes_generic 0xb6e55df1 crypto_aes_set_key +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x27a41514 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x8f8d8478 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xad60354c async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x006c4c76 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xede9734c async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x954a9358 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xd9d3c727 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xe0a0c463 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x9ef779cd async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xb4d2dc88 async_xor_val +EXPORT_SYMBOL_GPL crypto/cryptd 0x0412f65c cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x0aa2be47 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x4adfa4b4 cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xa20291f6 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xb68f2fdd cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xb8351d67 cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xed540d2d cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/twofish_common 0x3adf6ab2 twofish_setkey +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL drivers/ata/libata 0x00ae02ee ata_bmdma_stop +EXPORT_SYMBOL_GPL drivers/ata/libata 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0131d2ac dev_attr_sw_activity +EXPORT_SYMBOL_GPL drivers/ata/libata 0x01ca07e0 ata_qc_complete +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0208bd65 ata_sff_tf_read +EXPORT_SYMBOL_GPL drivers/ata/libata 0x03054957 ata_bmdma_start +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0377f64a ata_ehi_push_desc +EXPORT_SYMBOL_GPL drivers/ata/libata 0x03c3bad2 ata_host_activate +EXPORT_SYMBOL_GPL drivers/ata/libata 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL drivers/ata/libata 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libata 0x1013ac1a ata_port_disable +EXPORT_SYMBOL_GPL drivers/ata/libata 0x104573f5 ata_std_postreset +EXPORT_SYMBOL_GPL drivers/ata/libata 0x10640a7b sata_link_hardreset +EXPORT_SYMBOL_GPL drivers/ata/libata 0x1612d26c dev_attr_em_message +EXPORT_SYMBOL_GPL drivers/ata/libata 0x1ad97fed ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL drivers/ata/libata 0x1c05ea52 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL drivers/ata/libata 0x1d86fe5b ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL drivers/ata/libata 0x1dd33621 ata_eh_thaw_port +EXPORT_SYMBOL_GPL drivers/ata/libata 0x20359d7f ata_port_start +EXPORT_SYMBOL_GPL drivers/ata/libata 0x223d3ad1 ata_port_desc +EXPORT_SYMBOL_GPL drivers/ata/libata 0x22f73897 sata_scr_read +EXPORT_SYMBOL_GPL drivers/ata/libata 0x23149a72 ata_sff_port_start +EXPORT_SYMBOL_GPL drivers/ata/libata 0x246e9816 ata_pio_need_iordy +EXPORT_SYMBOL_GPL drivers/ata/libata 0x286ac959 ata_port_abort +EXPORT_SYMBOL_GPL drivers/ata/libata 0x2905ef59 ata_sff_dev_select +EXPORT_SYMBOL_GPL drivers/ata/libata 0x2c983f45 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL drivers/ata/libata 0x2d321e36 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL drivers/ata/libata 0x2e81c8e0 ata_link_next +EXPORT_SYMBOL_GPL drivers/ata/libata 0x2f659a7c dev_attr_unload_heads +EXPORT_SYMBOL_GPL drivers/ata/libata 0x3396cd72 ata_sas_port_alloc +EXPORT_SYMBOL_GPL drivers/ata/libata 0x342cf82e ata_sff_tf_load +EXPORT_SYMBOL_GPL drivers/ata/libata 0x34cc8397 sata_link_debounce +EXPORT_SYMBOL_GPL drivers/ata/libata 0x3b7774a0 ata_dev_pair +EXPORT_SYMBOL_GPL drivers/ata/libata 0x3e38c6fd ata_sff_dma_pause +EXPORT_SYMBOL_GPL drivers/ata/libata 0x3f08e804 ata_port_freeze +EXPORT_SYMBOL_GPL drivers/ata/libata 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL drivers/ata/libata 0x410b306a ata_sff_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libata 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL drivers/ata/libata 0x4429d80b sata_pmp_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0x47443fc3 ata_sff_freeze +EXPORT_SYMBOL_GPL drivers/ata/libata 0x49aa377c sata_pmp_error_handler +EXPORT_SYMBOL_GPL drivers/ata/libata 0x4b01b5e5 sata_link_resume +EXPORT_SYMBOL_GPL drivers/ata/libata 0x4b8f7ae8 ata_host_init +EXPORT_SYMBOL_GPL drivers/ata/libata 0x4f0cdd5f ata_slave_link_init +EXPORT_SYMBOL_GPL drivers/ata/libata 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL drivers/ata/libata 0x4fee48a5 ata_dev_next +EXPORT_SYMBOL_GPL drivers/ata/libata 0x50491f7f ata_sff_check_status +EXPORT_SYMBOL_GPL drivers/ata/libata 0x5687c03e ata_do_eh +EXPORT_SYMBOL_GPL drivers/ata/libata 0x5785e6a6 ata_wait_after_reset +EXPORT_SYMBOL_GPL drivers/ata/libata 0x59a80f57 ata_sas_port_start +EXPORT_SYMBOL_GPL drivers/ata/libata 0x5b288b17 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL drivers/ata/libata 0x5c825378 ata_sff_wait_ready +EXPORT_SYMBOL_GPL drivers/ata/libata 0x5cc698a1 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL drivers/ata/libata 0x5ebc130e ata_host_register +EXPORT_SYMBOL_GPL drivers/ata/libata 0x61805732 ata_sff_hsm_move +EXPORT_SYMBOL_GPL drivers/ata/libata 0x6582e253 ata_eh_freeze_port +EXPORT_SYMBOL_GPL drivers/ata/libata 0x65a8b391 ata_pio_queue_task +EXPORT_SYMBOL_GPL drivers/ata/libata 0x67dc58a4 ata_base_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0x69b717b3 ata_noop_qc_prep +EXPORT_SYMBOL_GPL drivers/ata/libata 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL drivers/ata/libata 0x6da2eec8 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL drivers/ata/libata 0x6e545d5a ata_sff_host_intr +EXPORT_SYMBOL_GPL drivers/ata/libata 0x6e5d8bac sata_scr_write_flush +EXPORT_SYMBOL_GPL drivers/ata/libata 0x7041d626 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL drivers/ata/libata 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL drivers/ata/libata 0x714e9eeb ata_bmdma_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0x71c994a2 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL drivers/ata/libata 0x720e5ab8 ata_do_dev_read_id +EXPORT_SYMBOL_GPL drivers/ata/libata 0x7243be9b ata_bmdma_status +EXPORT_SYMBOL_GPL drivers/ata/libata 0x734b5314 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL drivers/ata/libata 0x7380696e ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL drivers/ata/libata 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL drivers/ata/libata 0x742c3a41 ata_sff_postreset +EXPORT_SYMBOL_GPL drivers/ata/libata 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL drivers/ata/libata 0x78a0d1bd ata_sff_pause +EXPORT_SYMBOL_GPL drivers/ata/libata 0x79f6ab6b sata_scr_valid +EXPORT_SYMBOL_GPL drivers/ata/libata 0x7a839c91 ata_eh_qc_complete +EXPORT_SYMBOL_GPL drivers/ata/libata 0x7b3f3a14 ata_link_online +EXPORT_SYMBOL_GPL drivers/ata/libata 0x7c04325a ata_std_bios_param +EXPORT_SYMBOL_GPL drivers/ata/libata 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL drivers/ata/libata 0x82587ed7 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL drivers/ata/libata 0x82831ffd dev_attr_em_message_type +EXPORT_SYMBOL_GPL drivers/ata/libata 0x874f7e4a ata_cable_40wire +EXPORT_SYMBOL_GPL drivers/ata/libata 0x8935f425 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL drivers/ata/libata 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL drivers/ata/libata 0x919c0c7d sata_sff_hardreset +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9436bd0c ata_sff_dumb_qc_prep +EXPORT_SYMBOL_GPL drivers/ata/libata 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL drivers/ata/libata 0x95abba13 ata_eh_qc_retry +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9608ae27 ata_sas_queuecmd +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9643ec42 ata_dummy_port_info +EXPORT_SYMBOL_GPL drivers/ata/libata 0x96527ecb ata_port_probe +EXPORT_SYMBOL_GPL drivers/ata/libata 0x99dbb6ea ata_host_alloc +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9b4262ac ata_cable_80wire +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9d16911b ata_sff_prereset +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9d3e9631 ata_sff_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9ea32bf7 ata_sas_port_destroy +EXPORT_SYMBOL_GPL drivers/ata/libata 0x9ec42cbc ata_ehi_clear_desc +EXPORT_SYMBOL_GPL drivers/ata/libata 0xa03ead34 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL drivers/ata/libata 0xa05ce146 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL drivers/ata/libata 0xa3de33aa ata_host_start +EXPORT_SYMBOL_GPL drivers/ata/libata 0xa46483eb ata_link_offline +EXPORT_SYMBOL_GPL drivers/ata/libata 0xaedc0e05 ata_sas_port_init +EXPORT_SYMBOL_GPL drivers/ata/libata 0xaf3f6fe0 ata_sff_interrupt +EXPORT_SYMBOL_GPL drivers/ata/libata 0xafd277d6 ata_sg_init +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb01ebf8a ata_do_set_mode +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb32344b8 ata_dev_disable +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb4d30824 ata_std_prereset +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb6e14497 sata_async_notification +EXPORT_SYMBOL_GPL drivers/ata/libata 0xb8e4c351 ata_cable_unknown +EXPORT_SYMBOL_GPL drivers/ata/libata 0xbd127b22 ata_port_schedule_eh +EXPORT_SYMBOL_GPL drivers/ata/libata 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL drivers/ata/libata 0xbe42327e ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc0a83ba5 sata_std_hardreset +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc5a2ceb6 sata_scr_write +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc65bfd49 ata_bus_reset +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc673e23e ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/ata/libata 0xc98ae792 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL drivers/ata/libata 0xcc7c27d2 ata_cable_sata +EXPORT_SYMBOL_GPL drivers/ata/libata 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL drivers/ata/libata 0xccd14e94 pci_test_config_bits +EXPORT_SYMBOL_GPL drivers/ata/libata 0xcce907e8 ata_sff_post_internal_cmd +EXPORT_SYMBOL_GPL drivers/ata/libata 0xce20e2e1 ata_sff_exec_command +EXPORT_SYMBOL_GPL drivers/ata/libata 0xce4a9a81 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL drivers/ata/libata 0xcf9951c7 ata_sff_irq_clear +EXPORT_SYMBOL_GPL drivers/ata/libata 0xcfaf2a63 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL drivers/ata/libata 0xd07d75ae ata_port_pbar_desc +EXPORT_SYMBOL_GPL drivers/ata/libata 0xd1f57640 ata_host_detach +EXPORT_SYMBOL_GPL drivers/ata/libata 0xd29117ec ata_sff_softreset +EXPORT_SYMBOL_GPL drivers/ata/libata 0xd293c984 ata_bmdma_setup +EXPORT_SYMBOL_GPL drivers/ata/libata 0xd86a8a09 sata_set_spd +EXPORT_SYMBOL_GPL drivers/ata/libata 0xdb72b876 ata_cable_ignore +EXPORT_SYMBOL_GPL drivers/ata/libata 0xdbe08777 ata_sff_thaw +EXPORT_SYMBOL_GPL drivers/ata/libata 0xdbfc0c9d ata_sff_error_handler +EXPORT_SYMBOL_GPL drivers/ata/libata 0xdec2de69 ata_scsi_simulate +EXPORT_SYMBOL_GPL drivers/ata/libata 0xe0115c43 ata_sas_slave_configure +EXPORT_SYMBOL_GPL drivers/ata/libata 0xe1a590a2 ata_sff_qc_prep +EXPORT_SYMBOL_GPL drivers/ata/libata 0xe2a92f0a ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0xe49ff3b0 ata_wait_register +EXPORT_SYMBOL_GPL drivers/ata/libata 0xe74dedeb sata_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL drivers/ata/libata 0xeaca9a7b ata_dummy_port_ops +EXPORT_SYMBOL_GPL drivers/ata/libata 0xec2d67bf ata_sff_port_start32 +EXPORT_SYMBOL_GPL drivers/ata/libata 0xef7a0a1d ata_pci_remove_one +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf2107ccc ata_timing_compute +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf2a94fcc ata_sas_port_stop +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf2b10cf0 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf3745a6d ata_link_abort +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf4dfdd27 ata_bmdma_mode_filter +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf67ff126 ata_sff_irq_on +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf6f76168 ata_sff_qc_issue +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf726582a ata_sff_data_xfer +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf7f787bb ata_std_qc_defer +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf815d9d1 ata_scsi_ioctl +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL drivers/ata/libata 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL drivers/ata/libata 0xfc7e24f1 ata_std_error_handler +EXPORT_SYMBOL_GPL drivers/ata/libata 0xff1e0bcd sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0x5f8cec13 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/char/tpm/tpm 0x0526d4ae tpm_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x12ad5df4 tpm_get_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x1a96f238 tpm_open +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x2a4201a4 tpm_write +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x37197561 tpm_dev_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x4187619b tpm_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x4a1d08f0 tpm_show_pubek +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x59fcf858 tpm_show_enabled +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x6a00160d tpm_pm_resume +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x8c1d4b96 tpm_store_cancel +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x937b58dd tpm_gen_interrupt +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x939efe0e tpm_remove_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0x99e868e4 tpm_show_owned +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xa2956960 tpm_show_caps +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xa49a52ad tpm_show_pcrs +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xbc8a28bb tpm_continue_selftest +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xc13e5e80 tpm_dev_vendor_release +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xc3db84e2 tpm_register_hardware +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xd59c580d tpm_show_timeouts +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xe2671fa0 tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xe2bb0f3f tpm_pm_suspend +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xeae00bd1 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xec191889 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL drivers/char/tpm/tpm 0xffd00a33 tpm_show_active +EXPORT_SYMBOL_GPL drivers/connector/cn 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL drivers/connector/cn 0xcf7a962e cn_add_callback +EXPORT_SYMBOL_GPL drivers/connector/cn 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x067ac5bb hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x092536d0 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1432b3d5 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x23580bf5 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3d17084c hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x455c2cdf hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x49306081 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4d6bfd43 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4e54d0f0 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x575a688e hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x58d88671 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x64a95472 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x67a525b3 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x69a9c092 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7f7f2f2a hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x817b4d61 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x96b6f4fe hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa488598c hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa4ce4094 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa5889772 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc53012fc hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0xccbca677 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcd8b6ae3 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xea449ff3 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xef74c85c hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x34a99b72 usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x943cfdc8 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x1b2f6253 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x6504db92 lis3_dev +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0x6c33e494 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xab22855d lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xb2ddc16b lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xe6af28c8 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/hwmon/lis3lv02d 0xf1176e66 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0x04ed84b4 hpsb_config_rom_ip1394_remove +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xe6288a11 hpsb_config_rom_ip1394_add +EXPORT_SYMBOL_GPL drivers/ieee1394/ieee1394 0xec8d18cf hpsb_disable_irm +EXPORT_SYMBOL_GPL drivers/infiniband/hw/ipath/ib_ipath 0x1514b2b2 ipath_debug +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x7ce65677 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x5c7d6327 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x612c028a wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x62a66985 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x63abf880 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7f1874df wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x814ad8fc wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x89ed79f2 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x90748d70 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xaa45bb26 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xaa754fed wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb3b27441 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xda77556b wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x1b51e57e gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x1c7265ba gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x2c0979ce gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x52aacac1 gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x64c11ad0 gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x9bbb8190 gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x9e851e40 gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa0309f2c gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa2c34ae7 gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb11ec9bd gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb25d7bf8 gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb9e663bd gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xcbaec9e8 gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xd6ae8ac4 gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xd8aef4f1 gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xebf18db9 gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/leds/led-class 0x3fc1c581 led_classdev_register +EXPORT_SYMBOL_GPL drivers/leds/led-class 0x4d6b0e93 led_classdev_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xbd6d28b5 led_classdev_suspend +EXPORT_SYMBOL_GPL drivers/leds/led-class 0xc05e2fee led_classdev_resume +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x30647e8b dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x6333990b dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x11addce4 dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x1745135b dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x20880330 dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x2259618f dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x484ca062 dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5d2b0bf7 dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5d575666 dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x61ddedf5 dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x64263ac5 dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x649a0478 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x68f8a692 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x6dd4bbeb dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x6e1b142e dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x6fbbbadb dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x708e07a4 dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x82140cec dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x91fd0421 dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xb4ee6b13 dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xea4cb699 dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xec0ff747 dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf384748f dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/md-mod 0x9c4b7bbe sync_page_io +EXPORT_SYMBOL_GPL drivers/md/md-mod 0xa03500d1 md_do_sync +EXPORT_SYMBOL_GPL drivers/md/md-mod 0xa6ec8d0b md_allow_write +EXPORT_SYMBOL_GPL drivers/md/md-mod 0xe0f66f31 md_new_event +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0x24935f26 raid6_call +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0xcdc24ab5 raid6_2data_recov +EXPORT_SYMBOL_GPL drivers/md/raid6_pq 0xdbab0c01 raid6_datap_recov +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0349c9bd ir_codes_proteus_2309_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x0366dcdf ir_codes_videomate_s350_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x110b053a ir_codes_pixelview_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x124cb753 ir_codes_encore_enltv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x183fdfdd ir_codes_gotview7135_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19b4d61c ir_codes_nebula_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x19cd2826 ir_codes_behold_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1a9009d6 ir_codes_dm1105_nec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x1cb148f5 ir_extract_bits +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2456e513 ir_decode_pulsedistance +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2cc459b5 ir_codes_flydvb_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x2d0e9a49 ir_codes_em_terratec_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3136d8ff ir_codes_dntv_live_dvbt_pro_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x32b9033b ir_codes_apac_viewcomp_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3909f4ad ir_codes_terratec_cinergy_xs_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x3a84be27 ir_codes_avermedia_a16d_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4267d749 ir_codes_budget_ci_old_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x43c89ef4 ir_decode_biphase +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x4c1442c1 ir_codes_real_audio_220_32_keys_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x51ba1643 ir_codes_kworld_plus_tv_analog_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x543db4ff ir_codes_avermedia_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5e95da31 ir_codes_tt_1500_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x5fbe6515 ir_codes_pinnacle_color_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x61d039d7 ir_codes_behold_columbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6427a3fb ir_codes_pinnacle_grey_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x64b02fed ir_codes_avermedia_dvbt_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6606596a ir_rc5_timer_keyup +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6809de82 ir_codes_pctv_sedna_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x6d6511e7 ir_dump_samples +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x703fc738 ir_codes_avertv_303_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x7283f81d ir_codes_purpletv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x72c2992e ir_codes_powercolor_real_angel_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x76d71b8e ir_codes_dntv_live_dvb_t_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x784e176d ir_codes_asus_pc39_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x828b3ce5 ir_codes_encore_enltv_fm53_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x8acae3dd ir_codes_pinnacle_pctv_hd_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x90243e94 ir_input_keydown +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x92d1d181 ir_codes_flyvideo_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x94651dab ir_codes_ati_tv_wonder_hd_600_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x97c35dab ir_codes_msi_tvanywhere_plus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0x9944e2e5 ir_codes_hauppauge_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa69aa6ad ir_codes_pv951_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xa95157c5 ir_codes_cinergy_1400_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xac15f6c8 ir_codes_kaiomy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xaff22e87 ir_codes_pixelview_new_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb01a1998 ir_codes_manli_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb0a8ef38 ir_codes_rc5_tv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb57445f7 ir_codes_eztv_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xb5adb754 ir_codes_cinergy_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbd3ce6f0 ir_codes_avermedia_cardbus_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xbeaccbdc ir_codes_gadmei_rm008z_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xc8a32c44 ir_input_init +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xcba36c62 ir_codes_videomate_tv_pvr_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xd30c491f ir_codes_norwood_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdc23fec4 ir_codes_fusionhdtv_mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xdd4c0a07 ir_codes_evga_indtube_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe1101f4d ir_codes_avermedia_m135a_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xe4140c60 ir_codes_genius_tvgo_a11mce_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeb9bb08f ir_codes_npgtech_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xebf345b4 ir_codes_encore_enltv2_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xeec89db8 ir_codes_empty_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xef29c40d ir_codes_adstech_dvb_t_pci_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf19208f4 ir_input_nokey +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf33c155d ir_codes_msi_tvanywhere_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf3d619ec ir_codes_iodata_bctv7e_table +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf4f7a4d6 ir_rc5_timer_end +EXPORT_SYMBOL_GPL drivers/media/common/ir-common 0xf5e15e65 ir_codes_winfast_table +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x1257b444 saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x14175dd4 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x25d9229f saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x45f80218 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x69e7f277 saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xb72aea9a saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xb8259fff saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xc272cf26 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xc95c3c13 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcf683cf2 saa7146_devices +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xd393f104 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xf3e6627e saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x1594caa1 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x255bf8e6 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x2e0ef2fd saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x68bf2048 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x8131a176 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x87409003 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xa8923cbd saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x11b1ddce microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x2dbda3cb tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x438e1578 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0x73833ffc tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x3d920e4d tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x65b5c800 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x5ffd36aa tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x76e4e008 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0x36801bcc simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x04563cf8 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x1bff8381 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x23258e8a cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x2fea00c8 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x5bdfbf27 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xa4d3bcf4 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xaa76d54f cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xb16935a3 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc85de3f7 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xe9b6c9b0 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xef190c42 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x122bc105 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x1377314f saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x705e0cbd saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x7ba05a9b saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x87a32860 saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x0faf1b5f v4l2_i2c_new_subdev_cfg +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x59e62cd3 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xa17e92e7 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xdda003e9 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-compat-ioctl32 0x718e8dcb v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x48fa4a52 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x885f6769 v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x9a19e379 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 0xef72dfce v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x04839e8b videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x0b8ef5c9 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x13dfbd06 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x1ef5deee videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2196796d videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2ea69b32 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x33c45ee6 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x3da5ad64 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x49463b4e videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4a79b691 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x66aef395 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x67b8c613 videobuf_cgmbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x78caf28b videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x87fca580 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x90a3e7e7 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x95295d47 videobuf_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa24434ba videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xba24473b videobuf_queue_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xba688f9c videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc6a18dcb videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xda07f16e videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe2947d28 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf48d14cb videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf58db9f1 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xfd74d3d9 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x1ab43391 videobuf_dma_init_overlay +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x2467ad71 videobuf_sg_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x34663daa videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x562b3cbe videobuf_dma_sync +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x630b36fe videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x6c07745e videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x6e22e9f3 videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x8b7a21b9 videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x9e3592b0 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa38faed2 videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xb27e6f66 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xc9859dec videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xeb1ee151 videobuf_vmalloc_to_sg +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xefac0bcc videobuf_sg_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x43882d74 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xb0d4d5ed videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xeefb18c7 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x19420494 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x1e244748 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x50c09f8e v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x5ddd4f50 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x6ddd6d07 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x6e2b1d3d v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x01b73533 i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x18cc155a i2o_pool_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x4f7ac49a i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x579cc53b i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x5beddeab i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x61c9e2bf i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x92da2fbc i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xcd2ec762 i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x19d9f271 mc13783_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x3004573f mc13783_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x34a4660f mc13783_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x37f152fe mc13783_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x3d0a699c mc13783_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x5ef91551 mc13783_adc_set_ts_status +EXPORT_SYMBOL_GPL drivers/mfd/mc13783-core 0x8841edf9 mc13783_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x2d76c9de pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x6977a126 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x0482df24 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x0f18ed41 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x12abd223 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x2b3b3405 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x4c7d0c67 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x71893bfe pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0x9b3afa3d pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xcccd5a82 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xd567e527 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xdbe66747 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-core 0xf784ffce pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x026f2e24 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x1d89c6d0 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x2a9f8d54 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x7824e15a pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xa6b8ef63 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x49f0d957 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x5c19a7b0 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x6f82fa9a sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x90f79e8c sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xa2d27a6d sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0x83580660 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x26a03e42 wm831x_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x28bf6d44 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x34681162 wm831x_auxadc_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x47967695 wm831x_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x4d4e2a3c wm831x_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x9219a4c4 wm831x_enable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0x99244820 wm831x_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xb88f7c95 wm831x_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xd1705477 wm831x_disable_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xd666fcb9 wm831x_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xd9c71298 wm831x_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm831x 0xee68fd14 wm831x_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x027ea3d2 wm8350_reg_lock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x034cce71 wm8350_read_auxadc +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x07c937e1 wm8350_gpio_config +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x13abaece wm8350_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x17b3ee0d wm8350_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x1d76fd64 wm8350_block_write +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x2086d7dc wm8350_device_exit +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x23525a29 wm8350_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x6a86ff44 wm8350_block_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0x8dfe84bf wm8350_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xa133a707 wm8350_reg_unlock +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xa25d787b wm8350_device_init +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xc299a00f wm8350_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xe225af3c wm8350_unmask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xe667bd67 wm8350_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8350 0xef737c1e wm8350_mask_irq +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x3afb2c54 wm8400_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x4eb2b335 wm8400_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0x7dae6247 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL drivers/mfd/wm8400-core 0xfd1b1731 wm8400_block_read +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x62c04943 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x8413184c cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xde75924b cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xf42c55ac cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x2df115d4 eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d14d2f eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x0524a15b sdio_readl +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x081c47c5 sdio_writew +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x149e2967 sdio_release_irq +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x16f961ca sdio_readsb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x17ef9f6e sdio_writeb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x1dcc9bc9 sdio_enable_func +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x3b5a6f51 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x5ae8c45d sdio_claim_host +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x5eee5f4b sdio_writel +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x5fc15017 sdio_writesb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x774a9862 sdio_readw +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x849f5b6a sdio_claim_irq +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x8535ca98 sdio_memcpy_toio +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x85c39d8e sdio_align_size +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0x9cc57d52 sdio_f0_writeb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xb6b7350a sdio_release_host +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xd6a2b478 sdio_set_block_size +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xd7a7f553 sdio_readb +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xdaed1b68 sdio_disable_func +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xec039d7b sdio_unregister_driver +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xedd8c695 sdio_register_driver +EXPORT_SYMBOL_GPL drivers/mmc/core/mmc_core 0xf76b7a4b sdio_f0_readb +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x03591de4 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0814ae00 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1710ab0f sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3539a313 sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x0d62669f cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x24789d3c cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x72088e69 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xf457986e cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x92bb8b64 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x37a47023 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xcaf87665 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xd755aaa9 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2000 0x998d8e48 DoC2k_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001 0xf2761f14 DoCMil_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0xb0280dc2 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1061ecfe default_mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x13cf7056 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2cb59c4f deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3d6af62b get_sb_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x42666caf mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6854dbd5 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7cfdfac3 del_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x86b14a24 register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb3ff045c unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc39edce6 add_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd4b3c66f get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd7c56e23 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe616cda8 mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe7c3675d get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xef01767b mtd_table +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf89ba89c parse_mtd_partitions +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x0fce7ef5 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x1522af3b register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x4569c23c del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xb0431c64 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x396e3b66 nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x3f6bbc02 nand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x786f2dd2 nand_scan_ident +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x7b28b5a3 nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x91ba2b3a nand_scan_tail +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x4f13c186 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x8c7927bf onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x005a1e07 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2c1aec2c ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2d2d33d2 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x48f82c7b ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5e2d20d1 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x69bb8c63 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6a107d1d ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6a9684a1 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6b5f7db8 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7e235060 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x8d6dddec ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbc505df4 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xddca27e0 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x139c132a close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x445ef4a6 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x488e50db can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x50029eb3 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x5efa8609 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x7cc83afa alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x99d674c0 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xc5046f73 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xcae1ea20 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xcb26c048 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x35292d6f alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x4557f0ac free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x53f612e9 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xdc9bd500 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xf60e5117 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x00fec394 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x0352b0f7 mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x09b2e477 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x155fc506 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x1729f882 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x22757c08 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x227a0953 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x26ef044d mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x27d3cb90 mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x287c0d7a mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x2bef2f1e mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x32b9fdb7 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x353785e1 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4307716f mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x43f37d96 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x44717f85 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x48f77dfa mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x4ec92f6b mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x51fe6446 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x528284fa mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x53acc981 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x555238c4 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x58d47226 mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x5f41426a mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x6b050565 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x6bcd32b1 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x6e95c85b mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x86467531 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x873306ee mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x8ca57db0 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0x9537b5dc mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa41b2b72 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa8af59c6 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xa90df296 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xab26e1bb mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xadd0c8f1 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc2bf0ab4 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc4d8f1f8 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc54e4db5 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc5778dbd mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc5a3d878 mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xc5e97965 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xca121056 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xcbdc1763 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd0053c68 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd0aff039 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xd345f6ec mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xdab1eeb6 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xe205e452 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf1f03564 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf2bdefff mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf45d25a1 mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/mlx4/mlx4_core 0xf4b92747 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x4700838f usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xee8f8ca3 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x0dfa5cd2 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x37f1f75e rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x8b9c0f96 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xaac6731b rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xc66334d9 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xee1bebee rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x04469de2 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0abfacdc usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0cf496b3 usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x11b53ffc usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x12f160a0 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1ef3ff70 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2171c997 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x22e0254a usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3ca7da49 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x432c6c09 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5f722aef usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x65d66bcc usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x678147cd usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6e249b05 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7c9c676f usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7de87c3c usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x805feadb usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x91df8eef usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa966d469 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbc23aa10 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbe8bbc12 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcdb341f4 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf3383ede usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf5fbe4b1 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x029e0ab8 i2400m_cmd_get_state +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x10743902 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x2b226a3c i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x35771d2f i2400m_queue_work +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x766cf872 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x809f8ba5 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x819876c0 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x8702ba1d i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb12b57c8 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xcb6fd6db i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xe20f4084 i2400m_set_init_config +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf59710e0 i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xfc722013 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x9cfb7b01 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x0d47175d lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x0f978871 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x1a1ea37e lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x1fec1094 lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x28a6cc57 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x52cfea5e lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x78dd8a6c lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa6b296aa lbs_cmd_802_11_rate_adapt_rateset +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xc44f0063 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xc76f9f38 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe23f0366 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe331d71a lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe5a0b45f lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xec6259ad lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xffc440d3 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x08997d0d __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x12d01343 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x32847f2d lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x3cc737ab lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x56347cca lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x708caf61 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x87ee323a lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xa75b5ec3 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x3414d450 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x984199a3 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x02d35675 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x17d2be0f p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x1e9c2c37 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x624e48ce p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x75dd17b4 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x7e767ab5 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xb652277a p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xddb033b7 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xf4cfc2d6 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x08f03ee9 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1290f8ba rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1581f85b rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2972031d rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2d8552aa rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4e5c571a rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6b561552 rt2x00mac_get_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x7d11190e rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x7d97be64 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x88268551 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x987b75f9 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9a04c894 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xace2a9c7 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb621459f rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb6e4d506 rt2x00queue_get_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc40e13bb rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcddda5d6 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdb0926b0 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe04a29c2 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe63f9690 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe9ce589b rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xeb0e75c1 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x010a9084 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x73c762fe rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x8070f51d rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x9bda4852 rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xa054bc05 rt2x00pci_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xc896e2bf rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xfcef67a5 rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x1d26d22d rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x253da79d rt2x00usb_vendor_request_large_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x5b667644 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x66ff7fa6 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6839c096 rt2x00usb_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x70286cb5 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x86436b73 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x87697b27 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x94ce010b rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x9b221086 rt2x00usb_kick_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xb4d78751 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xccafebf8 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xceb472db rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xddd17254 rt2x00usb_kill_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0x26ff8fb7 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0xdb5b80f1 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/wl12xx/wl1251 0xecfa7e61 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xd7ef3d38 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xd9cbbc84 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x04c7f86b wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x504ef404 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x619c53d5 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x9fbae018 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xbb7b71f6 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xc6e3b908 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x24f741a5 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x1e7c3b67 scsi_register_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x2e6113ba scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x2fc2b2c4 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 0x5f5588ca scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x9073b83e scsi_dh_set_params +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xfa9bfd1e scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x78ea519d fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x04127cd0 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0503d951 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x11f9308a iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x21e2d366 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x25020495 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3147f3b8 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x33d5be62 iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x40eee67c iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x45f7f8bf iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4641032a iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x47dace08 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4cad726a iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4d40721f iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x54aa6034 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x58372e76 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x66d0dad9 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x68048a99 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6db3cc2d __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7051dc87 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x74d1b738 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x76370d3e iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7ec631a5 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7f91812c iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8bf9245c iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8dea4529 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa7e7943f iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa96353d6 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xac3ee00a iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb0617310 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb81f3769 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc2e792ae iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc651c4b8 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcadf5850 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdbc67441 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe24655c9 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe4686eee iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe83019fe iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe8fc59b3 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe9b8efb0 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf175aad5 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf7885e1c iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfb9cf6d8 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x167634ef iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x21de6bb2 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x30c08db5 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x399aaa77 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x844f922c iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9b818230 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa1927459 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb4bdf800 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb9c0fd10 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd19b1ba8 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd8a5b90e iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xdc822de5 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe08842b9 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe4013bee iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf84045ac iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfa8dc386 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x02b0d9c0 sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x045665f4 sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2ccdd0eb sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3155208d sas_slave_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x34024341 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4346eb05 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x46307a05 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4fdb6e81 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x518ec63d sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x708688c3 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7517b05f sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x779422ec sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x826bf9ac sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x88bfa0b2 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8a11ca7d sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8c33bdf8 sas_find_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x965eb624 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa6123390 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb5b0d9e2 sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbd4be750 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd3e74235 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf2dccc93 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf65ab3a1 __sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x272bcd0a srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x2ceac349 srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x3556d16b srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x5fc19dae srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x911bb426 srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xc3fceafd srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x0d584645 __scsi_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x1b29c3a9 scsi_target_block +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x27819097 scsi_nl_sock +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x286f94ca scsi_bus_type +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x35d8c94a sdev_evt_alloc +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x3d94857e scsi_flush_work +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x5deda958 scsi_target_unblock +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x69b5d6ff scsi_internal_device_block +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x6b2c39b9 scsi_internal_device_unblock +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x7dfeefc9 scsi_mode_select +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x86248ad5 scsi_nl_add_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x920e77e7 scsi_get_vpd_page +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x9d8d0605 sdev_evt_send +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0x9dcc70ff scsi_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xba76d794 scsi_nl_add_driver +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xe2e1b8d8 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xf5dc2a81 sdev_evt_send_simple +EXPORT_SYMBOL_GPL drivers/scsi/scsi_mod 0xf81f4561 scsi_schedule_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x2e629ef5 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x55aeba28 scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x7553d302 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x8e231de0 scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x953d0401 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa0afe24b scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xcb9a44d5 scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xe83d7e30 scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xe9b81eda scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x15c2c07e iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1fda800c iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3047bb8e iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3b4407dc iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4f328f6e iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x576365b5 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x617ef8fb iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x65370d4f iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x696e16a2 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7d224421 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8b3cf84f iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xac70f058 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb0312d0f iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc75520a0 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc8df2521 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcb69669d iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcbcc31ac iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcce18572 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe0e12a5f iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe52ffc01 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf047e62a iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf8b788d9 iscsi_remove_session +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 0x0e189145 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x12cc0e18 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x359d9091 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x3ab99ab0 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x497a9c25 srp_rport_del +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0x4b144b06 pciserial_resume_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0x51f67edf pciserial_init_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0x789e47ac pciserial_suspend_ports +EXPORT_SYMBOL_GPL drivers/serial/8250_pci 0xac27b8d4 pciserial_remove_ports +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x41e0ad20 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0x4a315d72 spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xa42a3bae spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xc308327e spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xcdcac6f9 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi_bitbang 0xcee07ffe spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/uio/uio 0x44597fe5 __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x47fb9502 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xdd7fa7fa uio_unregister_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x560221cf usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xf9e1cf17 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x00a27160 usb_get_from_anchor +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x0101f5d2 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x08b5e86f usb_reset_endpoint +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x092196b0 usb_unlink_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x0f2501a4 usb_anchor_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x11f657a4 usb_put_dev +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x16a29b30 usb_sg_init +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x18a18f00 usb_driver_set_configuration +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x20e37bc0 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x250def72 usb_unanchor_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x2fc82869 usb_get_current_frame_number +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x30798895 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x376e31bb usb_reset_configuration +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x435711ac usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x4ca61464 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x4d88b234 usb_submit_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x4fc87875 usb_interrupt_msg +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x511f184c usb_register_dev +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x51c55229 usb_ep0_reinit +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x52d378b1 usb_get_dev +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x55818ad8 usb_match_id +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x5c30a841 usb_free_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x67bc01ef usb_poison_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x6d0a91e4 usb_queue_reset_device +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x6e283573 ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x6e2d1c51 usb_register_driver +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x7a800098 usb_buffer_free +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x7c4ce4bf usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x7ee8d935 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x83c9d302 usb_get_intf +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x84d84b31 usb_driver_claim_interface +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x8562dc0c usb_driver_release_interface +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x88cccd43 usb_buffer_map_sg +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x88e143e5 usb_unpoison_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x8992a53a usb_hcd_pci_remove +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x8a807e79 usb_alloc_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x90966dc8 usb_match_one_id +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x91911fdc usb_set_interface +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x93812d6e usb_remove_hcd +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x9454080a usb_bulk_msg +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x95c1bf34 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x96a0e119 usb_control_msg +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x99301946 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x9d40eaf0 usb_sg_cancel +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x9d8a3829 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x9e4f3109 usb_get_descriptor +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0x9f11f9ba usb_buffer_unmap_sg +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xa011fae2 usb_kill_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xa1390014 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xa99dbcfd usb_add_hcd +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xaefd530e usb_string +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xb0a7566e usb_get_status +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xb3061608 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xbfb9a2ca usb_debug_root +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xc17585c7 usb_get_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xc24acc80 usb_deregister_dev +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xc315de2a usb_store_new_id +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xc3d976b0 usb_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xc3fca094 usb_deregister_device_driver +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xc82119fe usb_bus_list_lock +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xc85dedc7 usb_anchor_empty +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xcb8844de usb_init_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xcd53acae usb_deregister +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xcf7e3a39 usb_create_hcd +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xcff0634b usb_put_hcd +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xd53e0ed2 usb_reset_device +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xd77c3fc1 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xda0c7899 usb_put_intf +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xdccede6d usb_ifnum_to_if +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xdeb4bbb2 usb_hc_died +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xe11b0fdb usb_buffer_alloc +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xe39748cb usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xe4e3c581 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xe60dfe4c usb_find_interface +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xe8a3747b usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xec704b19 usb_register_device_driver +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xecca7fde usb_sg_wait +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xf3ce0669 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xf3e789fc usb_get_hcd +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xf7007e3a usb_mon_register +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xfab0e7f3 usb_set_device_state +EXPORT_SYMBOL_GPL drivers/usb/core/usbcore 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x061ed06d usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x0e5f17ef usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x1957c0d4 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x2b58e8ec usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x31d19faa ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x9401cf6c usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xa019b0ac usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb3390ef7 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xe3a05d0c usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x03f759c9 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x13b74c5f ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x15103c50 usb_serial_generic_resubmit_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x27de0fe3 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x3fdb3fb0 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x43bcaf6c usb_serial_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x443335c6 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x57a96c62 usb_serial_register +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x64596022 usb_serial_deregister +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x72e9069c usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9f0c44b9 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xbcaa7bb6 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xbd26d9c7 usb_serial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xbd404ccc usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc2f546ce usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xff57e3ae usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x08a4d09b usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x11d15501 usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x15d85dd7 usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1a7b0afc usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1aa5ed01 usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1e4bfcec usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x27dbbcc7 usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3615154d fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x4208f1b1 usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x4422faf1 usb_usual_ignore_device +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x590bbe07 usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6064ba0f usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x70dfbee8 usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x90ab703a usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa1fb71ee usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa32999fd usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb1f050b2 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xdeb4fcd2 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xdfca7c08 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xeaf4e6bf usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x075a350e wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x237ebca2 rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x2de49a99 wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x5b0fc154 wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x8668d134 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xb070900e wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xf389bf6b __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x02eff49b wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x09e5469e wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x2543f5fa wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x404ec678 wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x53f10067 wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x5b882323 __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x60050037 wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x6358d673 wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x9e5f1ce6 wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xa8da09e7 wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xbda8f19c wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xc273d81a wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xc327808f wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xc36911fa wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xdf6e4f08 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xe0fd7f37 wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xe4729ea0 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 0x945f961a i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xcb61f042 i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xd3b53bd9 i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x503d45e7 uwb_phy_rate_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x54b7cb3f uwb_pca_base_priority_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x74e4cc16 uwb_rts_cts_store +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x7c1972b7 uwb_pca_base_priority_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0x8a72d1c3 uwb_ack_policy_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xcbb0e378 uwb_phy_rate_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xcd823341 uwb_rts_cts_show +EXPORT_SYMBOL_GPL drivers/uwb/i1480/i1480u-wlp/i1480u-wlp 0xfc13e3fa uwb_ack_policy_store +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x1a7d6268 umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x2984e195 umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x44540d9d umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x99c453d1 umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xa4ce6786 __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xb03db483 umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xc58ef485 umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xd426b4e5 umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0550c2c9 uwb_pal_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x0d973e67 uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x11d0f351 uwb_rsv_destroy +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x16fca6e6 uwb_rc_post_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x17df280f uwb_pal_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x17eb317f uwb_rsv_create +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x3369132d uwb_dev_for_each +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x33fee928 uwb_rsv_get_usable_mas +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x3551cef1 uwb_notifs_deregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x431e27cb uwb_rc_neh_grok +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4341e531 uwb_rc_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4af3180f uwb_rc_put +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4d57ae3c uwb_rsv_type_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x53610d38 uwb_est_find_size +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x58a6a456 uwb_rc_ie_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x59359207 uwb_notifs_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6b9377c5 uwb_ie_next +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x86573bdb uwb_rsv_accept +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x88780e0e uwb_radio_stop +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8b988075 uwb_rc_ie_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8cb42db6 __uwb_addr_print +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9c2ab801 uwb_rsv_terminate +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9e430614 uwb_rc_dev_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9ecabe1b __uwb_rc_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xa35685f8 uwb_rc_neh_error +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xa60d2e93 uwb_rc_cmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xaf647e2c uwb_pal_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb51efb1a uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xbd33aaa1 uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc8bfe94b uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xcb6d4706 uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd1e5b808 uwb_rc_get_by_grandpa +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd2cd758a uwb_rc_pre_reset +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd434aad2 uwb_rc_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xdb71adbc uwb_rsv_modify +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe026aba8 uwb_rc_cmd_async +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe062cef3 uwb_rc_vcmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xeb4cab9a uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf0488203 uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf7ca313a uwb_est_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xfab90866 uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xfc0a382c uwb_rsv_establish +EXPORT_SYMBOL_GPL drivers/uwb/whci 0x94a43ca8 whci_wait_for +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x06330e27 wlp_wss_activate_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x09fcc785 wlp_reset_all +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x1007a3a5 wlp_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x12d3c922 wlp_eda_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x23b613b8 wlp_wss_setup +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x2f5f1464 wlp_dev_prim_subcat_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x3da111eb wlp_dev_prim_category_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x41a13019 wlp_dev_manufacturer_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x521428bb wlp_uuid_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x63456b5e wlp_dev_model_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x638dfc13 wlp_dev_prim_OUI_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x67188b4a wlp_uuid_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6a26c265 wlp_dev_name_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x6a9fd44b wlp_receive_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x7e1dbffa wlp_prepare_tx_frame +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x855a6447 wlp_dev_manufacturer_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x8717cdf2 wlp_dev_prim_OUI_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x94e9ddd9 wlp_dev_prim_OUI_sub_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0x9b2dcc9c wlp_dev_prim_OUI_sub_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xaf4a2e64 wlp_dev_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xaf711b36 wlp_eda_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xb0b7f968 wlp_dev_model_nr_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xb1826322 wlp_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xbbc1dd6a wlp_dev_prim_subcat_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc190c7a6 wlp_dev_serial_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xc390396a wlp_dev_model_name_store +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xce3fed27 wlp_dev_serial_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xe0dd3ac5 wlp_neighborhood_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xe4a24daa wlp_wss_activate_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xe9d05a75 wlp_wss_remove +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xeae47a5b wlp_dev_model_nr_show +EXPORT_SYMBOL_GPL drivers/uwb/wlp/wlp 0xf18adb4b wlp_dev_prim_category_show +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x1db8f64d ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x300e30ed ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x56c5e63e ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x601c4203 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x8bb129c8 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x1adabd4d fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0xa3bdc88d fb_sys_read +EXPORT_SYMBOL_GPL drivers/w1/wire 0x224dcdb6 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x3470c06e w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x474b6c6c w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x4f1279c2 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x569434d3 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x79a3d62b w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7ed6fea8 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0xd8dd292c w1_read_block +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x028e474a dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x0864c4a4 dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x19d94a07 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x7306506f dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xdc583c08 dlm_unlock +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0x6c320807 exportfs_decode_fh +EXPORT_SYMBOL_GPL fs/exportfs/exportfs 0xb3bf3a95 exportfs_encode_fh +EXPORT_SYMBOL_GPL fs/fat/fat 0x044fa7fc fat_flush_inodes +EXPORT_SYMBOL_GPL fs/fat/fat 0x33535b02 fat_fill_super +EXPORT_SYMBOL_GPL fs/fat/fat 0x36c7ff90 fat_free_clusters +EXPORT_SYMBOL_GPL fs/fat/fat 0x521094dd fat_add_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x56b808b0 fat_detach +EXPORT_SYMBOL_GPL fs/fat/fat 0x6e3c6b05 fat_setattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x7ae91c2c fat_sync_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x8234c9fc fat_get_dotdot_entry +EXPORT_SYMBOL_GPL fs/fat/fat 0x87e1c503 fat_alloc_new_dir +EXPORT_SYMBOL_GPL fs/fat/fat 0x8f1239f4 fat_fs_error +EXPORT_SYMBOL_GPL fs/fat/fat 0x98a5c430 fat_attach +EXPORT_SYMBOL_GPL fs/fat/fat 0x9ff5c35d fat_getattr +EXPORT_SYMBOL_GPL fs/fat/fat 0xc5b77c80 fat_build_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0xd66f0beb fat_time_unix2fat +EXPORT_SYMBOL_GPL fs/fat/fat 0xe22e192f fat_dir_empty +EXPORT_SYMBOL_GPL fs/fat/fat 0xec36f2c9 fat_scan +EXPORT_SYMBOL_GPL fs/fat/fat 0xfd4a8f41 fat_search_long +EXPORT_SYMBOL_GPL fs/fat/fat 0xffa0bc46 fat_remove_entries +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x00401e1c nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x1a618932 nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x2ffa1327 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x98b91435 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa7b91a7b lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xce9f070f nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf6933c48 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf80f8f3c nlmclnt_done +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x81b2747d nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xa5f96000 nfsacl_decode +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1d747ce3 o2hb_check_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x36418553 o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x3f29cb0a o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x47f5117a o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x521e0726 o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x6ac7a365 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x86609413 o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x90f497a5 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 0xb463df7e o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbaeb4700 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd60f2c6c o2hb_check_local_node_heartbeating +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf2ac64a2 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf56c2017 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x0a816b65 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x1837d105 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x3026be3d dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x408b07ac dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x42eda2f0 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xacbbb3f9 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 0x0562c415 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x06379db6 ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0e27f909 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x21db5b88 ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4a1f6fe9 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x5f24da1e ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x690218e7 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x81c85a68 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x91fab465 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x963932a3 ocfs2_stack_glue_set_locking_protocol +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xa7d5c1c0 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xb9ee861d ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd066711e ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL lib/lzo/lzo_compress 0x2e1d43cf lzo1x_1_compress +EXPORT_SYMBOL_GPL lib/lzo/lzo_decompress 0x2a1538ca lzo1x_decompress_safe +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 0x1e69dc71 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x4646299f garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x49cfaffc garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x64a99b8e garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xd1ad3819 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0xd9d33d7e garp_request_leave +EXPORT_SYMBOL_GPL net/802/stp 0x2e24ac66 stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0x8cecb55f stp_proto_register +EXPORT_SYMBOL_GPL net/dccp/dccp 0x01e1161c dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x09565075 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0a103a35 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x139ab90e dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x17404681 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2243a0f8 compat_dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2498e6c0 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x26e325fb dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2a2ab7df compat_dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2a55c1cc dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2eb0e1af dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3926ebdb dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x447c0afc dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x491a71c7 dccp_insert_option_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x56ea266a dccp_state_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6722341a dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x69f1af24 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x713756b7 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7ae2b5df dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7c744495 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x897d8f83 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8b7d8caf dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x90b9d53b dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0x999ecc23 dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa15edcaf dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa6e26255 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb255f36d dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbc21b6f8 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbc6ce972 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc8a4fa99 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd3ccba56 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd40c96db dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd646aec5 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd895ba53 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdbd657c0 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe832b599 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0xeeea2f55 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf855a6ec dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x04535355 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x6f77bf07 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x79fb62a1 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xe350ac73 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xfe067c2d dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xfe3376e1 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x6d40a921 need_ipv4_conntrack +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0xd825ea56 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 0x045e42e0 nf_nat_proto_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x07ae60b6 nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x13a1563a nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x37346058 nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x57b3f00e nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x94a08134 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xa73cb846 nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xdb5b0958 nf_nat_proto_find_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xefc62405 nf_nat_proto_range_to_nlattr +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat_proto_gre 0x636b12c8 nf_nat_need_gre +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x46d67ce6 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x4d9fa993 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x5d010130 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x90870dc9 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xb2d2ae2d tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x08a3e5d1 net_ipv6_ctl_path +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x2bde35bd ip6_dst_lookup +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x49dd5063 ip6_dst_blackhole +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x66fbc503 ipv6_find_tlv +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x6a42e5ab inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x81ae763c inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x8edda1d7 inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0x92caef12 ipv6_dup_options +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xa3a049ca ip6_local_out +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xba8d4af6 inet6_csk_xmit +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xcabc4531 inet6_destroy_sock +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xcae03473 ip6_sk_dst_lookup +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xdebc9886 fl6_sock_lookup +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xf0372715 ipv6_opt_accepted +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xf0edd789 inet6_csk_search_req +EXPORT_SYMBOL_GPL net/ipv6/ipv6 0xf3ee7275 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x70267da2 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7bfcc7dd ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe6476b4a net_vs_ctl_path +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x030af039 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x08d80030 nf_conntrack_untracked +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0efec871 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x12a054f1 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1388364e nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x142e779e nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1b373b49 __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1b3b6e6d nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1ba1cd10 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2aa5b5b8 nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2f720a66 nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3fd653be __nf_conntrack_helper_find_byname +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x48cd2dff nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4a0e22fe nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4a3c77c0 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b9065a9 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4c37793a nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4cd38f7f nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x515068f2 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5882ba33 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x58b4687f nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5a8c7ff7 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x704da618 nf_conntrack_hash_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78ae81ec nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7a1972ff __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7afb4f7d nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7c08e5da nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7f27c691 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x802ab25e __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x822f2341 __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x87210cac nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x88e61667 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8aa3aeff nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8b685a5a nf_conntrack_register_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 0x92582122 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x993afdd5 nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9af3f6c1 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa0587f1a nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa2ef6bc5 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaec3baa2 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb25f97ff __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb3af0272 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb7615953 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb7bb3ef0 nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb856a880 nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xba3abcc5 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbed30be4 nf_conntrack_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc5e41456 nf_expect_event_cb +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcb057eb8 nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcf16b9ec nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd0a4ebf3 nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd93300ee nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd9541a2f nf_ct_unlink_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf535943 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe2a0c334 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe5c6475c nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe74641dc nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf0e4d79e nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf1f16c44 print_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf887c70d nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf9331c3a nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf9d8391e __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfbaa3e5e nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfd4caaf5 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x31e1c091 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x575f8051 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x1209378d nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x1e0e9e9c get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x256106a2 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x3e253eb2 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x80d70c81 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xa9da4fdc nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xb68c8c49 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xbd2ab980 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xe86269bc set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf13710f6 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x64673487 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x3980691d nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x3e37b8f4 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x835d614c nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x8c7baf38 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x1ac0e207 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xcd43ffcb nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x312c75a0 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x35fa58c2 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x56503fcf nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x56879edc nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7d6d9552 nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8b131a9b ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa57b1d80 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa5effa37 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xb249b569 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xcb53464a ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xd3c9cbbb ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xff844381 nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x2048e68e nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x13aaa6fd nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0xf1dc0fc9 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x114fac76 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x20fb0514 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x2fe01bc7 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xaa5d35b9 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xeca95329 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xef9b4bbd nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x24ad4860 nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x0e2239fe xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x161d1417 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x27bd4334 xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x2fc411ca xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x36cc2a05 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3781d4a6 xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x427b8e3c xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5f82f1f7 xt_compat_flush_offsets +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x64f0982b xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x684694c5 xt_compat_add_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6f9aa2fb xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8922bbbc xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x92ba32ab xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa7686ebc xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb5abdeec xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb840b8d9 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc32d7267 per_cpu__xt_info_locks +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc85e6677 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd21f8547 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe0b4971b xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf7587be3 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf8edd4a4 xt_replace_table +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x0e139e15 rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0x116a1198 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x21f048f3 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x24e54203 rds_inc_addref +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 0x34528230 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x34eaca1b rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x39cd42eb rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x4c4880e7 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x504af318 rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x51680254 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0x695d4361 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x80f8e3c8 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x8829d26a rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x98d8c25a rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x9b3e6113 per_cpu__rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x9e47d3d3 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xb2f89ccc rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xb5f057e3 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xc2da8e38 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xd32808ac rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xd4199769 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xd5ea6b64 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xdf45cb86 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0xfb77a5b8 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xfc6d14bf rds_trans_unregister +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x3f1c129c rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x746b6ce4 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 0x32a1da13 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x5baf64e5 gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x5f30112c gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8658585c gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8b1ecb2a gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8d1a827e svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xa42ae920 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xaac35174 gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xadae5286 gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb2099e2f svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb73268f9 svc_gss_principal +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf55f58d7 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x023a896d xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x04ec2d4f svc_create_pooled +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 0x068fec9b read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x08a87586 auth_unix_forget_old +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x08f8e398 xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a0e086c cache_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0c92e47b xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0efcda21 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12d1bc0a rpc_exit_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12e280e3 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x17ba0c1e xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1ab59804 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1b5c9c77 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1d4a0e1c svc_sock_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e932700 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x210b2caf rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x218dd5c4 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x23634576 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x24e16d4d rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x24ebefd6 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26ac3235 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26e61233 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2834007a svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x289937de rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2aa17774 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2ba8d327 sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c26ac6e xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2ca6be99 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2dd4a950 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30f4aa30 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x32a819cc xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x33cfed17 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3418273b svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x347537b9 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x352d7578 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3b1afa47 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3b1ffc48 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3be1628a xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3c43d05c svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d5b50d1 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d605f07 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3dca4aa5 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f41161e xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x411dbc69 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x44a5f733 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x488c6d7f svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x49430cb2 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4aa60608 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c6f0f84 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ca21b15 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4cd74929 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4fa00363 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x512b1816 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x51d1538a rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x540c2402 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5462d23e rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5572b697 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5691fd23 auth_unix_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x574874ee svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b14ec1a rpc_put_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bd26000 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c1dfa00 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5ddb756b rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x62174f7f xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x624ecc9e rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x63cd87f4 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x675524ec rpc_sockaddr2uaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x676c5fbf svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x691fca36 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a8ee7c5 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6bd9db77 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c5304c5 rpcb_getport_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6dc0a5b7 rpc_get_mount +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6dd1aac4 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6eea229d svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x710d6b57 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7231219c rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x739a93a6 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x73d884ce rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7401b36b xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x746615c8 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x775adaf6 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7760dd49 rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78c570b9 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79d0da13 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b0afc02 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b6fcf32 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d3bf0d9 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x80cda217 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82fc2e96 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8544db39 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86c5d301 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x891d7aa6 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8b6909dc svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8db3e5b2 cache_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x92117d15 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9371d478 svc_sock_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9559eea5 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x96ee44ef rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9703bb16 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x97117b15 rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9740c7aa rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x992afeac rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d80f88f xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e9c6a2a rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ee36aa3 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9fe88679 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa20888a3 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa40d900c svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa533c599 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa76932cd xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa974ae8e rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa509d1d xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac99fabe xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xacaf8c1c rpc_mkpipe +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb21d69f4 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb34c25e1 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb752fe5e rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb9371a46 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd2e460e rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd51ef6d rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbdd752ac xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4641e51 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7bbbe8b xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcba3f06b rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcbda4ee4 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc42e737 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xccb1bf6d svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcecbe218 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd1b14e66 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd1dba94d auth_unix_add_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2d6bdcc svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd3690a50 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd4583058 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd4dcd2bb svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd65899d5 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd915bc20 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdbdc6273 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdcd47680 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe0b038e4 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe490f6a5 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4ad3a89 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +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 0xf22d1d3a xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2448250 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf4010f0a xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf48ff123 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf54add6a xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfd9a7a05 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/wimax/wimax 0x15c35c75 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x258adf47 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x2da8a4dc wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0x59be9974 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6ee32701 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6f252f0e wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8d002ea9 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x98455015 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xab8bb63b wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xc3712fd8 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0xc9929d56 wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0xca63fa68 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd660be7d wimax_state_get +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x00f886f3 cfg80211_wext_siwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x03c05f95 cfg80211_wext_siwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1a1e6edd cfg80211_wireless_stats +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1f811929 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x271b8415 cfg80211_wext_siwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x38370358 cfg80211_wext_siwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x38425d28 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x40d1e2c9 cfg80211_wext_siwencodeext +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4595d2a3 cfg80211_wext_siwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x47944387 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x54e56aa6 cfg80211_wext_siwpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x640d5a1a cfg80211_wext_giwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x709f9c93 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x757446c3 cfg80211_wext_giwap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8dacad74 cfg80211_wext_giwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9219b9c1 cfg80211_wext_siwencode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x95f2838d cfg80211_wext_giwessid +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9923a32a cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa2e25a04 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa2f01599 cfg80211_wext_giwrate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa453bd4f cfg80211_wext_siwmlme +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xae05df40 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb9209825 cfg80211_wext_giwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xbd898a43 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcd004227 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd663f476 cfg80211_wext_siwtxpower +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd6c28006 cfg80211_wext_siwfreq +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe378e2e4 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe79d41c9 cfg80211_wext_giwauth +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xebe4da8d cfg80211_wext_siwgenie +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf0fafe6e cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf920ea73 cfg80211_wext_giwpower +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x79d8f118 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xa091aeca ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xb803948b ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xef531c5c ipcomp_destroy +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x066b8396 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x093f9ee9 snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0949ed66 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1098297e snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1688f6f3 snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1cf90921 snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1db71dfa snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x205c7f8d snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x25fa18d5 snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2a328337 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2cd7e5a3 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2d557084 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x305afb34 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x32bf04bc snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x398ce8b0 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3b20dcee snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3b8c809c snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3bd569b2 snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3c1591c4 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3d3e8690 snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3d4e7e36 snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3dc99416 snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4356f8e3 snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x44ab952f snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4cef8052 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x50720d1b snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ae76f73 auto_pin_cfg_labels +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5b9b1f0f snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x603697f3 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x60906065 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x64fc046e snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6858940f snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x716e9bb3 snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7367698e snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x73b20493 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x79da84b0 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7cdf647f snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f5679f9 snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x823a726b snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x85add1e7 snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x86d48ce0 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x908fda87 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x93610a72 snd_hda_parse_pin_def_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x97943f9c snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x997539cb snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x99b846b1 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9b90d24d snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9bf09744 query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa1406874 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa42fb446 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa696fdfa snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad87613e snd_print_pcm_rates +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb4c904ab snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb6dba79d snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbea3c8f9 snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc22623e7 snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc2c7a0fc snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc34a54c6 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc87734bb snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc91e7bbd snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc9935252 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcce27eb0 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd35b574d snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd7df5db8 snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xda784ec8 snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdc3e24e1 snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdcb15932 snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdd4aca66 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xde642c78 snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe0b54a42 snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe2283eca snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe9fcf8af snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xed85264c snd_hda_delete_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 0xeffc1f27 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf0449dad snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf117c4ae snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfdded4d9 snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0x06b2f293 ad1836_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1836 0x5ac63dc6 soc_codec_dev_ad1836 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0x7cf9772d soc_codec_dev_ad1938 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad1938 0xf012937d ad1938_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0x36f9dd26 ad73311_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ad73311 0x6c2e8964 soc_codec_dev_ad73311 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4104 0x046698e2 soc_codec_device_ak4104 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0xa0bf8b2e ak4535_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4535 0xba378b7d soc_codec_dev_ak4535 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0xe28ca4d1 soc_codec_dev_ak4642 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ak4642 0xf69282fb ak4642_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x0fea7552 soc_codec_device_cs4270 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4270 0x62ed4f4a cs4270_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x3994c4c8 max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0x29be2228 pcm3008_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3008 0x7638d35e soc_codec_dev_pcm3008 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-spdif 0x456ecc4e dit_stub_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x7d8dd695 soc_codec_dev_ssm2602 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x80590ab1 ssm2602_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0x992eb921 soc_codec_dev_tlv320aic23 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic23 0xa6b2441e tlv320aic23_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0x62abf224 aic26_soc_codec_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic26 0x6bc6fa19 aic26_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x030f239f aic3x_set_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x459f00ea aic3x_headset_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x4aaa60c2 aic3x_get_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xbc4ec9aa aic3x_set_headset_detection +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xbe10621e soc_codec_dev_aic3x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xcd6bcd54 aic3x_button_pressed +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xf8e39ab1 aic3x_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0x3bcf517e twl4030_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl4030 0xd2005e9d soc_codec_dev_twl4030 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda134x 0x13b83898 soc_codec_dev_uda134x +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x220204f1 soc_codec_dev_uda1380 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-uda1380 0x898f24a9 uda1380_dai +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 0xb8b9327a wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xdd56bd39 wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x56aa9ba9 wm8350_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xa316535c wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xe8b69ee4 soc_codec_dev_wm8350 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x0e57bd17 wm8400_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8400 0x73aa64b6 soc_codec_dev_wm8400 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0xca84866f wm8510_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8510 0xd3630cbe soc_codec_dev_wm8510 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0x7df8ee5c wm8523_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8523 0xfa08e124 soc_codec_dev_wm8523 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0xdcb23731 soc_codec_dev_wm8580 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8580 0xe890da8d wm8580_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0x551a19e2 wm8728_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8728 0xb3f5f064 soc_codec_dev_wm8728 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x63f5211a soc_codec_dev_wm8731 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0xd462439e wm8731_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x7ceea501 wm8750_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8750 0x7e636ce9 soc_codec_dev_wm8750 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x2f10b504 wm8753_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8753 0x554e3f2a soc_codec_dev_wm8753 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x2bbd1f01 soc_codec_dev_wm8776 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8776 0x9a4dc093 wm8776_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0x3b5c9894 wm8900_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8900 0x9877d931 soc_codec_dev_wm8900 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xb35a8af2 soc_codec_dev_wm8903 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xbdc8ea3a wm8903_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0x9f7e71ed soc_codec_dev_wm8940 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8940 0xcf13bc87 wm8940_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0x588cadae wm8960_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8960 0x9cfaa583 soc_codec_dev_wm8960 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0x85e194c2 soc_codec_dev_wm8961 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8961 0x93d07e0b wm8961_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0x35a775bf wm8971_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8971 0x8423fef5 soc_codec_dev_wm8971 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0x656ae40c wm8974_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8974 0xf9540ab0 soc_codec_dev_wm8974 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0x5ebd0281 soc_codec_dev_wm8988 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8988 0xe4e0549e wm8988_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0x97a6e2be soc_codec_dev_wm8990 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8990 0xaec4dd47 wm8990_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0x2850afe9 wm8993_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8993 0xbc8bb17d soc_codec_dev_wm8993 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0xcbdb0a3e wm9081_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm9081 0xcf17dff2 soc_codec_dev_wm9081 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x011064ab snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x03fbffd0 snd_soc_new_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0ea4610a snd_soc_init_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x10ad62f1 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x176d35ef snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x18f64336 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1c325550 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x205e3491 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x28a0ea1e snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2ebf44fa snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x35ac8b3c snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x38c39672 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3ca46677 snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x40e4dd54 snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x42921397 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x44b65be2 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x45fa7f49 snd_soc_dapm_stream_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x47e5291e snd_soc_info_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x485dc774 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4cc142ef snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x50fc6bfd snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5325e056 snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x58994ecc snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x59089a0a snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x59bf2ecb snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5c39202d snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5d5df542 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5ed39fd9 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x612851d2 dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6d40c229 snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6dfcc262 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x70032e8c snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7436fd46 snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8b5ceea2 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8cd4f2cc snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x90dc7a1d snd_soc_free_pcms +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9229a3fb snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x956f1e8c snd_soc_get_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x99ab4429 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9c137466 snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa008db5a snd_soc_put_volsw_2r +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa1f4b242 snd_soc_add_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa5268bd9 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa77ee8cd snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xae5ddf27 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaf70220d snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb16682a2 snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb1f3fc87 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb28c019e snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb34e6fc4 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb74f0b39 snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb8427cee snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb8c54f8c snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbc7d7846 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc81e5979 snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd3eee1f3 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd49c0835 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd557c937 snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd9da6bc9 snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdd8bc67e snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdffe25cc snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe0850f02 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe15d6f3f snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe9eea2b9 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf3cedd1c snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfcf635d6 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfd799caf snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfe9b1737 snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xff54119e snd_soc_register_dais +EXPORT_SYMBOL_GPL vmlinux 0x000262c3 blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x00566d8f inotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x00650cf1 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x006f9ece kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x00b8ecf8 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x00f23478 kick_process +EXPORT_SYMBOL_GPL vmlinux 0x016b9869 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x016e185b ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01b6a9af input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x01e6013a scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x01f5d6fc unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x020d80e6 input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x02687087 user_read +EXPORT_SYMBOL_GPL vmlinux 0x027ba732 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x0358d026 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x03c21b94 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x03e482e6 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x03fe14fc ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x04069b1d set_irq_nested_thread +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x04c0f13d crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x04ea8706 __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x0533f83a blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x05b42e60 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x05e08185 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x0619ca8a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x062f527f srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x0689e1bf rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x06a9e71f class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x06d7ae25 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x074bdb3c crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x0790662d sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x07ab0c8f __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07d31ae8 crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x07e363d7 device_move +EXPORT_SYMBOL_GPL vmlinux 0x0837d948 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x0886c06c regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x08899deb led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x08c0f760 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x08d8708f cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x091d2dc3 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x0945312c __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x0953694e tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x096da79e ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x09da890f relay_open +EXPORT_SYMBOL_GPL vmlinux 0x09ec9485 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x09ef84ed alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x0a4b7b97 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x0a733f9c map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x0a76d56d anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x0abf3717 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b4cefb5 pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0x0bf862aa dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x0c068934 pcr_ops +EXPORT_SYMBOL_GPL vmlinux 0x0c165dcb tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0x0c1f1b7d __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c604d00 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x0cb0517f platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0cb66088 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x0cb88680 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x0cc03395 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x0d80b95a device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x0daf74ca disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x0db19a3b led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x0e022a69 lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0x0e2ad49f spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x0e3124c4 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x0e6e31b5 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x0f1ecccf xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x0f3498de fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x0fd38769 ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0fd90f8c blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101c923e __tracepoint_power_start +EXPORT_SYMBOL_GPL vmlinux 0x10360280 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x10da58b9 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x112d8680 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x119af014 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x12321dfc pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1251d30f call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x12aa7ec7 device_register +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13dd7dbc debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x142dd488 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x14536b8d crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0x1479a543 blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0x149db923 selinux_string_to_sid +EXPORT_SYMBOL_GPL vmlinux 0x14f64b92 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x151fccf5 __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x152ef267 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x15760314 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x15892417 async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1598dc9d unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x15d4c9c1 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x15e408da crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x160ac68b posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x16c52e3c device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x16c9ead7 rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x16dbd1de crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x17190b8f raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x17e4b716 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x18cc11cf root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x18ed61a5 do_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x199ce082 each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x19a88adb relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x19b70ac1 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x19c610b9 fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x19d6b4cc led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1a0d8fb5 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x1a173a31 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a474901 tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x1a4cc1a3 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0x1a5b0efe inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x1aa5cc45 __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x1adc988d attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x1b46a9b6 destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1c19e412 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x1c3af716 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x1c852e7c xfrm_calg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c9f2fa3 register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x1d6af584 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x1d8f8059 __tracepoint_power_end +EXPORT_SYMBOL_GPL vmlinux 0x1db21d74 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x1db49e37 pci_block_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0x1dc51689 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x1dee2629 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x1e532bf7 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e9a2592 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1efd19ec i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x1f06cf79 find_module +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1fe48b60 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x202123f5 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20ddef74 spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x215db6e9 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0x219e1349 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x21db5796 blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0x22181c4f k_handler +EXPORT_SYMBOL_GPL vmlinux 0x225f65a1 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x22da6f7c rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23b3ec7a bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x23eec149 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x24019a4e crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x24556783 blk_abort_queue +EXPORT_SYMBOL_GPL vmlinux 0x24aea70a driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x24b479bd debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x24c0d1d0 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x24e55104 sysdev_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x2538a629 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x254c9666 blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0x254f53f4 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x2572293d ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x258b8bbd sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x25a75dbf crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x25e5931c __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x260c306f device_rename +EXPORT_SYMBOL_GPL vmlinux 0x26e9831a bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x2708ae7e inotify_find_watch +EXPORT_SYMBOL_GPL vmlinux 0x27148d19 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x27adf232 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x27c7be71 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x2866ac7f crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0x288e4fb9 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x28aa305e blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x28d0a849 sysdev_show_int +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL vmlinux 0x2958338e __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x296388ac bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x29922158 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x2a0d8296 device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0x2a35e1e6 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x2a3be824 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x2af0a232 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x2b13dd26 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x2b70d61f platform_device_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x2b9f8e23 nf_net_ipv4_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x2ba40ae2 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x2bb36e90 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x2bcaa8e3 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2bcd239b pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x2bfc4d7f tracepoint_get_iter_range +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2cd213fe crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d171cda sysdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2d8dee1e fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2ded24d4 page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x2df5b80a fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0x2e1660ea pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x2e47f677 xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x2e48bcf2 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x2e5716ee enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x2e81d225 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x2ea5431a bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x2ead7716 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0x2f6c37aa crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x2fc06741 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x305ab6aa class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x305de697 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x30f1b15b bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x311c9f02 crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x31522e95 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x31a67c6f debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x31bf0437 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x31fc70dd tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x3233582f blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x324cdb4b relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x32530831 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x32d5e7fc xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x32f17454 ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x32f240fe sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x339b6961 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0x33aa084a file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x33d3d9f8 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x3404a8d1 user_match +EXPORT_SYMBOL_GPL vmlinux 0x341a99c9 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x34275124 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x342fc7da transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x34d34734 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x34e45a90 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x3520b2e0 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x352adfb2 drop_file_write_access +EXPORT_SYMBOL_GPL vmlinux 0x356a272b tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x358d7e2f dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x359b2bf3 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x36a2b993 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x3725b7a8 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x376a130d tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x377094aa power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x37ad4176 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x37baa3ad mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x37bee57f pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x37fb1625 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x382c0ed7 rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x38886770 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x38d1b8ba crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x38db95cf aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x38ede830 sysdev_class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x3950f4da ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x397e9f19 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x3983a3cf ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0x3988fdd6 spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x39c0ca72 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3a639c3c crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0x3b52aac0 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x3bcebe81 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x3be7af02 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x3c0b560e debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x3c428d8a of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x3c687e27 inotify_dentry_parent_queue_event +EXPORT_SYMBOL_GPL vmlinux 0x3c6c45ca __tracepoint_power_frequency +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cfdfae5 trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x3d202619 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x3d8fd9bb class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3e8142eb inotify_init +EXPORT_SYMBOL_GPL vmlinux 0x3ee2c899 driver_register +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f0d19fb ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x3f136a36 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x3f3177ec register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x3f6ce160 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x3f937cf4 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x3ffe2a54 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x403ff92f fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x40827c5f fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x4134ec00 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x413b650e tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x413e1e43 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x4187043d get_driver +EXPORT_SYMBOL_GPL vmlinux 0x419820ec register_net_sysctl_rotable +EXPORT_SYMBOL_GPL vmlinux 0x41d127cb rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x41f1ae2b ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x41fa8f8b class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x420529ea eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0x42106d27 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x42494cea ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x43264b4a disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x43c0209a inotify_inode_queue_event +EXPORT_SYMBOL_GPL vmlinux 0x43dea370 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x444f5d72 sysdev_register +EXPORT_SYMBOL_GPL vmlinux 0x446642b6 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x450663c9 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x452c735d inet_csk_clone +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x459a22d0 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x45ae490b fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x4692bfde spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0x46b2e374 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x46b329ce blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x46d9b7df __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x4794cc2f __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0x47b4ad1d ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x480bd398 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x485e1fc2 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x48aea7af platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x48b66422 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x48e767a6 __class_register +EXPORT_SYMBOL_GPL vmlinux 0x490db982 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x492de706 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0x497bd280 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49e31603 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x4afd4c38 __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x4b11a12f class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4b2ae7de crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x4b94953f netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x4be9b455 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4d4eecab locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x4d6994f4 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x4d7cef74 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0x4d8f4c15 klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4e0b7214 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4ea9bb2a ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x4f1972db ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x4fdcd026 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0x505558d8 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +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 0x51ad74d7 net_assign_generic +EXPORT_SYMBOL_GPL vmlinux 0x51f21a05 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x51f6cec6 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x51fc5e09 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x52630215 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x52a03897 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x52d111ea pm_qos_update_requirement +EXPORT_SYMBOL_GPL vmlinux 0x5324d04f bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x54042972 dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0x540b5cdd i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x5453dc6e crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x547df0db ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x5488a9f6 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x5519c050 kill_pid_info_as_uid +EXPORT_SYMBOL_GPL vmlinux 0x553cf6b8 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x554bd211 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x555bc3b0 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x556e791e device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x557d20ed rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x55f2580b __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x56033742 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x563fb5c8 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0x5698eb8f tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x569caaf9 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x56f04fab xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x56f3adc0 get_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57a0dff1 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x57ecae6e inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0x57f17efc crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x581eeef3 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x5879e91b blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x58e276d9 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x5917b7c4 eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x598d1c95 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x59d16e96 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x59dae5ff vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x5a2842f5 d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a88324c skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x5acf6804 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x5b0be1e4 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x5b499ff8 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x5b9445d6 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x5bac7788 register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x5bc3e6c1 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c2314ae mmput +EXPORT_SYMBOL_GPL vmlinux 0x5c231e1d sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0x5c2cf957 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x5c4c2bcc tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x5c5058a1 inet_csk_compat_setsockopt +EXPORT_SYMBOL_GPL vmlinux 0x5c519cc9 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x5c6c059d power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x5d0f6f57 kbd_table +EXPORT_SYMBOL_GPL vmlinux 0x5d70d957 inotify_rm_wd +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5dac2334 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5e538ae3 macvlan_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0x5ec8ba9e skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x5ef139f1 debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x5f1ed2dd get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x5f1fb93e crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x5f31d376 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x5f79e9b8 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x5fc59a75 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x5fcdec5d xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL vmlinux 0x5fe9792b debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x60248cbd klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60dbaaa3 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x60f2b7b9 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x61fdfe0f platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x629a7f6e do_posix_clock_nonanosleep +EXPORT_SYMBOL_GPL vmlinux 0x62e5bfc3 device_attach +EXPORT_SYMBOL_GPL vmlinux 0x637f615f rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x63a55ac1 sysdev_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x63f4dc09 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x64c4e04d xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x64f71306 unregister_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0x65789eea ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x657f6425 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x65a59211 regulator_unregister +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 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x662c8872 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x668392ef fib_rules_cleanup_ops +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66bfe8da inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x66c63d28 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66f08dbc atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x673e9b18 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x67d7eaaa rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x686c703f xfrm_count_auth_supported +EXPORT_SYMBOL_GPL vmlinux 0x688a11b1 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x68c6adb4 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0x6901119a trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x69741400 fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0x69c5eae4 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x6ad8ff0d disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x6b8e9d92 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x6b8f7301 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x6bbc2e5d pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x6be62dfd probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x6c1290eb skb_icv_walk +EXPORT_SYMBOL_GPL vmlinux 0x6c354408 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c65bab8 __set_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x6c8614ce rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6c8eb98f xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x6cc3e9e3 i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x6cdfc62e crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x6d0fcadc pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6db9b913 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x6e08c317 dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x6e17d0b9 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x6e6260ff hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x6e7474fc xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL vmlinux 0x6eab7611 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ecdc5d5 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x6f1ceaf0 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x6f569805 ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0x6fd3eaa2 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x6fe3d8cf ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x700bb158 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x705c46df relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x7081b8cf default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x70a73332 tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71b0daa4 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0x71e02a03 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x71e935eb __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x721bdffd fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x723fae07 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x72591f08 remove_irq +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x7283677b shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x728e8aa9 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x72b4c2f5 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x72dc7eff fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x72e03bae stop_machine_create +EXPORT_SYMBOL_GPL vmlinux 0x72e51a47 pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0x72f469d7 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x7303c4a7 bd_claim_by_disk +EXPORT_SYMBOL_GPL vmlinux 0x743c93d0 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x748e6574 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74cadd34 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x759a75b4 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7600f987 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x76533deb spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x76837e28 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x76a059ad platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x76c1ed92 transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x773ca527 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x77eb5086 klist_init +EXPORT_SYMBOL_GPL vmlinux 0x782a9117 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x78540ee8 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x786b4b68 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x78833cf5 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x78c0289d filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0x78da79c4 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x78e4a4ee klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x78f1cd18 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x79506f57 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x7a1c4be6 nmi_adjust_hz +EXPORT_SYMBOL_GPL vmlinux 0x7acdd560 disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0x7bb56b32 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x7bfbcc97 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x7c1e488d shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x7cc064a0 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x7cedf4df driver_find +EXPORT_SYMBOL_GPL vmlinux 0x7d538b56 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7d6b0031 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x7d948d04 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e3201b3 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x7e377f2b __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x7e669212 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x7eb6089e device_create +EXPORT_SYMBOL_GPL vmlinux 0x7edd92cd sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x7eedc295 inotify_inode_is_dead +EXPORT_SYMBOL_GPL vmlinux 0x7ef0e5fc pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x7f0ab5cf crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7f45fee8 led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x7f5d87c9 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x80204295 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x8039d043 selinux_secmark_relabel_packet_permission +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80a03712 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x80c73bcc xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x80ee55c3 selinux_secmark_refcount_inc +EXPORT_SYMBOL_GPL vmlinux 0x80faf3d7 srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x80fbb6e3 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x818f5594 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x81a9750f __create_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x81f25063 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x82086bdf udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x822dc5d4 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x8296dcc9 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x82c9c5e5 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82f776b7 gpio_export +EXPORT_SYMBOL_GPL vmlinux 0x830528c8 save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0x832f6b05 trace_define_common_fields +EXPORT_SYMBOL_GPL vmlinux 0x8366793e crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x83ac4def pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x83bc804e sysdev_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x83f0246d klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x83f2c943 devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0x83f33aba device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x84201fd2 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x843a9acf i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x845eebfd sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x8465de11 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x84954d01 tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0x849e78bb class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x84b1a0fe blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x84e43ac6 put_driver +EXPORT_SYMBOL_GPL vmlinux 0x84ee54ca crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8505d388 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x8583b843 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85d62249 inotify_add_watch +EXPORT_SYMBOL_GPL vmlinux 0x8608b5d3 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x864f02e4 get_device +EXPORT_SYMBOL_GPL vmlinux 0x8666e94c pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86b1667d hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86eb332c raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x873431f0 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x874be1f6 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x879a434c rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x87b6d8cf bd_release_from_disk +EXPORT_SYMBOL_GPL vmlinux 0x87e4a35b inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x8827e7e4 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x885142a6 nf_net_netfilter_sysctl_path +EXPORT_SYMBOL_GPL vmlinux 0x88524fce devres_find +EXPORT_SYMBOL_GPL vmlinux 0x88cb1446 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x88eef298 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x8909ecf1 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x89eeb172 regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x8a085e31 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x8a19fdb4 generic_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x8a3e3b20 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x8a51d132 crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x8adc8dc1 proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x8bf2fc19 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8c7a4947 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x8cd35406 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x8ce5f919 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x8d033df4 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x8d208d5f ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x8d3a53ec fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x8d71c655 inet_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x8dc90b78 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x8e69fe0b get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x8ec66300 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x8ee5f057 drm_class_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8f2491f0 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8fa74514 sysdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8fcda7ae inotify_find_update_watch +EXPORT_SYMBOL_GPL vmlinux 0x8fcf1b5b regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x90406fbe inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90cc9a92 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x91b09d4c fb_ddc_read +EXPORT_SYMBOL_GPL vmlinux 0x91c92246 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0x91dc8b2a __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x92c93adf anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x92cf91bb invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x93be15ce use_module +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93e89acd pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x93f33042 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0x949aa8e3 sysdev_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x94ae394a devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x95772086 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x957cab82 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x95867f73 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x95ab5f94 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0x95bccae3 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x96450ed2 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x974c100d raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x97c6b3bf fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x990ef13d unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x991a279b device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x9937d59f input_class +EXPORT_SYMBOL_GPL vmlinux 0x99bd801c class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x99e22dcc da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x99ff28c9 fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a5185cb sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x9ab7eccb da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9bc619a1 tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0x9bf47b01 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x9c3ea539 dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x9c937feb init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x9cb8037b xfrm_count_enc_supported +EXPORT_SYMBOL_GPL vmlinux 0x9cdf1d31 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9d7a412e trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x9d7ef802 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x9dd152c2 sysdev_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9e0f21b0 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x9e15eb35 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x9e711ad2 pm_qos_requirement +EXPORT_SYMBOL_GPL vmlinux 0x9ee94ebe class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x9f2f75f0 __module_address +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f4602f7 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x9f6dfe88 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x9f7c30df spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x9f85ed90 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa0122055 filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0xa0255440 net_ipv4_ctl_path +EXPORT_SYMBOL_GPL vmlinux 0xa09d7cca fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0xa0ca3213 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xa0ca3ff5 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa13f63f2 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0xa153301a skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0xa19ae207 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0xa2701e25 put_device +EXPORT_SYMBOL_GPL vmlinux 0xa2d1357d trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0xa2d45c2b simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xa2e6b3de blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xa3606f4b tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xa3c100b3 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xa42d944b vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0xa493e7bc crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xa49b3f8e tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0xa4a42813 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0xa4ed435f mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xa57465e6 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0xa5b316cc blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0xa5bf5c3e pm_qos_add_requirement +EXPORT_SYMBOL_GPL vmlinux 0xa5c36cec inotify_unmount_inodes +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa65a36b8 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xa702fbbf elv_register +EXPORT_SYMBOL_GPL vmlinux 0xa7045f9a kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0xa730b180 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0xa747643c power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0xa829ec5d init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xa881f6f4 proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0xa89d1915 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xa8aa18dc blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0xa8e7867d pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa8f5ba95 nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0xa9bd5846 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaa01d64a debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xaa145ccb skb_morph +EXPORT_SYMBOL_GPL vmlinux 0xaa3a22f6 inotify_rm_watch +EXPORT_SYMBOL_GPL vmlinux 0xaa5054ed pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0xaa5310f9 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xaa6da206 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0xaa8c4696 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0xaa8fefa6 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0xaaa63129 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xaacae488 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0xaacce667 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0xab57e311 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xabfa190b securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xac104957 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xac2c781a device_del +EXPORT_SYMBOL_GPL vmlinux 0xac5fe2f3 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0xacca0c8f devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xadb5025f unregister_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaf5c05bf fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0xafe54655 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb0052909 inet_csk_compat_getsockopt +EXPORT_SYMBOL_GPL vmlinux 0xb0841a14 user_update +EXPORT_SYMBOL_GPL vmlinux 0xb08d87c6 srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xb0aa812e fips_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb0bf49d7 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xb0f34341 sysdev_class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xb11843ac tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0xb126d7ec crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xb13f5dfe hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb2215027 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0xb2327ff9 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0xb2d1aaa4 sk_clone +EXPORT_SYMBOL_GPL vmlinux 0xb2f7635f sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xb2fbf8b0 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb31bdfb9 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb323cce2 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0xb3f36aa1 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0xb454d331 rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0xb462f2fe get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xb4759adc stop_machine +EXPORT_SYMBOL_GPL vmlinux 0xb480e199 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0xb4a23d13 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xb520ecad crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0xb575f930 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb612444d snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0xb62e642a unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xb65091b3 selinux_secmark_refcount_dec +EXPORT_SYMBOL_GPL vmlinux 0xb6608a54 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xb6c6ac69 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0xb6ce41d5 __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb717ad9e regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xb744fa43 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xb7aab441 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0xb8432167 put_inotify_watch +EXPORT_SYMBOL_GPL vmlinux 0xb8649db5 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xb91fc639 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0xb92bed0e sysdev_class_register +EXPORT_SYMBOL_GPL vmlinux 0xb95d47e9 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0xb99828cd pci_unblock_user_cfg_access +EXPORT_SYMBOL_GPL vmlinux 0xb9ac1293 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb9c69f6a tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0xb9eb3aa9 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xba03571c kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0xba136370 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0xba28b893 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xba6bf78c generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0xba7907b6 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xba98a8f9 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0xbaeb6bcf led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xbb16ffe7 real_hard_smp_processor_id +EXPORT_SYMBOL_GPL vmlinux 0xbb463fc6 __class_create +EXPORT_SYMBOL_GPL vmlinux 0xbb5f82a1 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xbbc9aae3 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xbc9b6cc2 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0xbcceb10c unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xbd91fe79 spi_async +EXPORT_SYMBOL_GPL vmlinux 0xbda049fe crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0xbdcc0837 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbddad1b5 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0xbe116723 do_posix_clock_nosettime +EXPORT_SYMBOL_GPL vmlinux 0xbe7b9715 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xbee0e444 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0xbf74eb20 probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0xbfb570ae blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xbfb858cb br_handle_frame_hook +EXPORT_SYMBOL_GPL vmlinux 0xbff58d93 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0xbffde8ec compat_alloc_user_space +EXPORT_SYMBOL_GPL vmlinux 0xc0160968 platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0xc021cdf1 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0xc080432f skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xc126e890 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xc12f7e0d trace_profile_buf_nmi +EXPORT_SYMBOL_GPL vmlinux 0xc1597e52 device_add +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc271de8e tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0xc298a13f mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0xc2a55bfe scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0xc3301f02 rcu_expedited_torture_stats +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc3a3233d inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0xc3c3752a __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0xc3c6b37e blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc453f25e lookup_create +EXPORT_SYMBOL_GPL vmlinux 0xc47808a2 bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0xc4b33aa6 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc4edc33f vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0xc52aa56d inotify_init_watch +EXPORT_SYMBOL_GPL vmlinux 0xc55dc4fb unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xc56426f2 inotify_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc56af859 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0xc5ad347e uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc69318a4 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0xc6c6d3a7 crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xc71c4408 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xc73b9722 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0xc76d6c88 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0xc7ab30a0 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xc81f8d78 inode_add_to_lists +EXPORT_SYMBOL_GPL vmlinux 0xc86c733b __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc89a03f2 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xc8a29fd0 rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0xc8a5368b vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0xc8ad4ebe class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xc8f18b40 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xc927b675 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc95b8668 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xc980b481 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0xc9d217b8 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0xc9e5d4fc register_dimm_printer +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9ff7e9b sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xca32d4d2 register_pernet_gen_device +EXPORT_SYMBOL_GPL vmlinux 0xca4b3323 crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xca8e02c9 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xca9751a8 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xcaffb000 queue_work +EXPORT_SYMBOL_GPL vmlinux 0xcb0bad3a __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0xcbe38e6c __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xcbfbdb7f register_pernet_gen_subsys +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc7308ce __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xcc7e30dd dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0xcc9be911 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0xcca8cd6c crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xcd97159a dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xcdbbae5e devres_get +EXPORT_SYMBOL_GPL vmlinux 0xcdbe65f2 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdeaafe9 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xce2d04c3 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xce620d9c led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0xce680c07 devres_add +EXPORT_SYMBOL_GPL vmlinux 0xcea76202 dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xcf8af983 trace_profile_buf +EXPORT_SYMBOL_GPL vmlinux 0xcfc68341 synchronize_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL vmlinux 0xd0144095 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd07152ab queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xd0796ff6 xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0xd09b9f81 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xd09ed3d5 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0xd0a8ddba ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd0b7f867 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0c71f40 blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0xd0d1f9da crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0xd0fd1209 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xd13c6e43 inet_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd1640af9 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd1beca35 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xd1f8bd22 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd2a8caf0 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd31e453b regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd3648632 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0xd3e16bc5 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0xd425573b dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0xd4419956 xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0xd448110a pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0xd470f016 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xd4b7e86f klist_next +EXPORT_SYMBOL_GPL vmlinux 0xd533670b inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xd5a6ef67 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0xd5df043a regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xd60f6f13 crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xd64e0458 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xd686a1d6 dm_put +EXPORT_SYMBOL_GPL vmlinux 0xd6dc08ba find_symbol +EXPORT_SYMBOL_GPL vmlinux 0xd6dca524 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xd6ed6001 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd73ef534 sysdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xd767d348 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd76c8af4 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0xd7b8cc6d security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0xd7d79132 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd7f848e0 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xd849ba57 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xd8b98171 nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0xd8f83084 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0xd8f93bec skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0xd96f5d2c do_sync_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0xd98e76da flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xd9db9de4 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0xd9ee1ab3 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda877d11 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xdabb012a tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0xdad367fd klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb1661b0 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xdb274e52 monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0xdb9c3ebb proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0xdbd3dc45 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xdc9530a4 driver_add_kobj +EXPORT_SYMBOL_GPL vmlinux 0xdca765ef driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xdce3872b ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xdd268e0b fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0xdd8709fa gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0xdd9019c4 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0xdda43e8f inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xde259773 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde438ffb nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0xdf35e219 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0xdf6e88ab tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0xdf85496c srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0xdfd6ac63 register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xe06fc459 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0xe0cca33e xfrm_aead_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xe11956c9 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe14f1550 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0xe1744b3e rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0xe19e01fe inotify_remove_watch_locked +EXPORT_SYMBOL_GPL vmlinux 0xe1bf92c1 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0xe26fa512 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xe2cedffe debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0xe306066a scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0xe31577ea debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0xe3bb3b18 crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xe3d58487 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0xe42c2896 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0xe4593194 register_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xe498f2f5 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0xe5011aa6 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xe530071c pm_qos_remove_requirement +EXPORT_SYMBOL_GPL vmlinux 0xe54b3827 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0xe578ab75 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xe5b9b3ce transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xe617c4e9 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe6221876 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe67165a7 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0xe6e6c093 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xe6ef1751 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xe70931b4 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0xe755478b device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xe77ddbce sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0xe7b86512 sysdev_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xe7c04bdd regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe80bb3e2 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xe816b471 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0xe81c9872 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xe830855d single_open_net +EXPORT_SYMBOL_GPL vmlinux 0xe901175f __dev_addr_unsync +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe942e3bc __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xe9543f29 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0xe9a135e6 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0xe9d96be3 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xe9e7f957 regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xe9efae44 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea25dba4 platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xea795724 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xeafcaa13 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xeb0da1ae anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xeb3490c3 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0xeb4c1fc8 __tracepoint_block_remap +EXPORT_SYMBOL_GPL vmlinux 0xeb652c5b regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xeb726d86 register_posix_clock +EXPORT_SYMBOL_GPL vmlinux 0xeb94ddc5 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0xebae9d35 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xec1a75a9 __dev_addr_sync +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec29b4af drm_class_device_register +EXPORT_SYMBOL_GPL vmlinux 0xec2b85cd inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0xec371b56 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0xecc88a21 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xed6a6e40 rtnl_kill_links +EXPORT_SYMBOL_GPL vmlinux 0xedba0b14 user_describe +EXPORT_SYMBOL_GPL vmlinux 0xedce61d7 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xee2a4f95 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0xee532e0e debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xee8b58a2 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0xeec661af regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xeeef2342 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0xeefd98e8 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xefdd5a63 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xf03b2b2a unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xf09ecefe inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0xf0c0f3cb rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0xf1727729 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf1f84c45 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0xf2047e2f br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xf208970c __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0xf29272f1 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xf2c50832 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0xf2de632f tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xf2ea1650 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf30b5877 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0xf34806ec hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xf3519827 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0xf3a3360a spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xf3e85a21 aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0xf40ad903 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0xf450df1d eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf4ae579c klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xf502265d __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0xf50562f0 crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xf5384ac1 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf5799f7a stop_machine_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf589b391 inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5be3b5a sysdev_store_int +EXPORT_SYMBOL_GPL vmlinux 0xf5ef9ecc securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xf67ac30f __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0xf680dd2c sysdev_create_file +EXPORT_SYMBOL_GPL vmlinux 0xf6bcbd73 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xf6cff439 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0xf6db42c8 relay_close +EXPORT_SYMBOL_GPL vmlinux 0xf718bce6 crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xf76a3345 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0xf7d4ab39 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0xf7f50bae rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xf7fc7e51 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xf846a201 generic_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0xf87b1ae7 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf8a50fb4 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xf8b4b47a unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0xf906fb74 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0xf93051ae blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0xf94c0c33 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf9549e48 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9b5c670 driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0xf9d6a53f get_cpu_sysdev +EXPORT_SYMBOL_GPL vmlinux 0xfa10f234 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0xfad008cd skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0xfb6b586b tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xfbe5347a blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfc43cfcb fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0xfcb0eb37 bus_register +EXPORT_SYMBOL_GPL vmlinux 0xfcd82dff input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0xfcde7aca da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0xfceb547d gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0xfceb7dea blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0xfd2965dc crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xfd30c3eb queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0xfd6180f3 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0xfd66bdee rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0xfd69ea92 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0xfd892ae6 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xfd99e4d6 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0xfdaed9b6 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfe99cbfe devres_remove +EXPORT_SYMBOL_GPL vmlinux 0xfefa2adb input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0xff0aa927 ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xff4b6d99 do_add_mount +EXPORT_SYMBOL_GPL vmlinux 0xff87e221 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0xffacc2b6 device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0xffbd1337 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xffc04543 unregister_dimm_printer +EXPORT_UNUSED_SYMBOL vmlinux 0x00000000 simple_prepare_write --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/sparc/sparc64-smp.compiler +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/sparc/sparc64-smp.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3 --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/sparc/sparc64-smp.modules +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/sparc/sparc64-smp.modules @@ -0,0 +1,1752 @@ +3c574_cs +3c589_cs +3c59x +3w-9xxx +3w-xxxx +8021q +8139cp +8139too +8250 +8250_pci +8390 +9p +9pnet +9pnet_rdma +a100u2w +aacraid +ab3100 +ab3100-core +ab3100-otp +ac97_bus +acecad +acenic +act_gact +act_ipt +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +ad7414 +ad7418 +ad7877 +ad7879 +adcxx +adfs +adm1026 +adm1029 +adm8211 +adm9240 +adp5588-keys +ads7846 +adt7462 +adt7470 +adt7475 +adutux +adv7180 +adv7343 +aes_generic +af_802154 +affs +af_key +af-rxrpc +ah4 +ah6 +ahci +aic79xx +aic94xx +aiptek +aircable +airo +airo_cs +alauda +alim7101_wdt +ansi_cprng +anubis +aoe +appledisplay +appletalk +appletouch +applicom +ar7part +ar9170usb +arc4 +arcmsr +ark3116 +arkfb +arptable_filter +arp_tables +arpt_mangle +asix +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +ata_generic +ata_piix +aten +ath +ath9k +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atm +atmel +atmel_cs +atmel_pci +atmtcp +atp870u +atxp1 +authenc +auth_rpcgss +autofs +autofs4 +avmfritz +axnet_cs +b43 +b43legacy +b44 +bbc +bcm5974 +be2iscsi +be2net +befs +belkin_sa +berry_charge +bfa +bfs +binfmt_misc +block2mtd +blowfish +bnx2 +bnx2i +bonding +bpck +bq24022 +bq27x00_battery +br2684 +bridge +broadcom +broadsheetfb +bsd_comp +bt8xxgpio +btrfs +c67x00 +cachefiles +cafe_ccic +cafe_nand +camellia +can +can-bcm +can-dev +can-raw +carminefb +cassini +cast5 +cast6 +catc +cb710 +cb710-mmc +cbc +cciss +cdc-acm +cdc_eem +cdc_ether +cdc-phonet +cdc_subset +cdc-wdm +cdrom +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch341 +chipreg +chmc +cicada +cifs +clip +cls_basic +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cn +cnic +coda +comm +configfs +core +cp210x +cpwd +cramfs +crc32c +crc7 +crc-ccitt +crc-itu-t +crc-t10dif +cryptd +cryptoloop +crypto_null +cs53l32a +cts +cuse +cx231xx +cx231xx-alsa +cx2341x +cx25840 +cxacru +cxgb +cxgb3 +cxgb3i +cyberjack +cyclades +cypress_cy7c63 +cypress_m8 +cytherm +da9030_battery +da9034-ts +da903x +da903x_bl +DAC960 +davicom +dc395x +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dccp_probe +de600 +de620 +decnet +deflate +digi_acceleport +diskonchip +display +display7seg +dl2k +dlm +dm9601 +dm-crypt +dme1737 +dm-log +dm-mirror +dm-multipath +dm-queue-length +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dmx3191d +dm-zero +dnet +dn_rtmsg +doc2000 +doc2001 +doc2001plus +docecc +docprobe +drm_kms_helper +ds1682 +ds2482 +ds2490 +ds2760_battery +ds2782_battery +dsbr100 +dstr +dummy +dv1394 +e100 +e1000 +e1000e +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_ulog +ebt_vlan +ecb +ecryptfs +eeprom +eeprom_93cx6 +eeti_ts +efs +ehci-hcd +elo +em_cmp +emi26 +emi62 +em_meta +em_nbyte +empeg +ems_pci +ems_usb +em_text +em_u32 +eni +enic +envctrl +epat +epca +epia +epic100 +eql +esp4 +esp6 +esp_scsi +et1011c +et61x251 +eth1394 +ethoc +evdev +exofs +exportfs +f71805f +f71882fg +f75375s +fat +faulty +fb_sys_fops +fcoe +fcrypt +fdomain_cs +fealnx +ff-memless +fit2 +fit3 +flash +fmvj18x_cs +fore_200e +freevxfs +friq +frpw +fscache +ftdi-elan +ftdi_sio +ftl +fujitsu_ts +funsoft +g760a +gadgetfs +garmin_gps +garp +g_audio +g_cdc +generic +generic_bl +gen_probe +g_ether +gf128mul +g_file_storage +gfs2 +ghash-generic +gigaset +gl520sm +gl620a +gluebi +g_midi +gpio-addr-flash +gpio_keys +gpio_mouse +gpio_vbus +g_printer +g_serial +gspca_conex +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_ov519 +gspca_ov534 +gspca_pac207 +gspca_pac7311 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_stk014 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_tv8532 +gspca_vc032x +gspca_zc3xx +gtco +gunze +g_zero +hdpvr +he +hexium_gemini +hexium_orion +hfs +hfsplus +hid +hid-3m-pct +hid-a4tech +hid-apple +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-drff +hid-ezkey +hid-gaff +hid-gyration +hid-kensington +hid-kye +hid-logitech +hid-microsoft +hid-monterey +hid-mosart +hid-ntrig +hid-ortek +hid-petalynx +hid-pl +hid-quanta +hid-samsung +hid-sjoy +hid-sony +hid-stantum +hid-sunplus +hid-tmff +hid-topseed +hid-twinhan +hid-zpff +hostap +hostap_cs +hostap_pci +hostap_plx +hp4x +hpfs +hptiop +hso +htc-pasic3 +hwa-hc +hwa-rc +hwmon-vid +i1480-dfu-usb +i1480-est +i1480u-wlp +i2400m +i2400m-sdio +i2400m-usb +i2c-algo-pca +i2c-dev +i2c-gpio +i2c-isch +i2c-ocores +i2c-parport +i2c-parport-light +i2c-pca-platform +i2c-piix4 +i2c-simtec +i2c-stub +i2c-taos-evm +i2c-tiny-usb +i2o_block +i2o_bus +i2o_core +i2o_proc +i2o_scsi +i5k_amb +i82092 +ib_addr +ib_cm +ib_core +ib_ipath +ib_ipoib +ib_iser +ib_mad +ibmaem +ibmpex +ib_mthca +ib_sa +ib_srp +ib_ucm +ib_umad +ib_uverbs +icplus +ics932s401 +idmouse +idt77252 +ieee1394 +ifb +igbvf +ili9320 +imm +inexio +inftl +initio +input-polldev +int51x1 +intel_vr_nor +ioc4 +io_edgeport +io_ti +iowarrior +ip2 +ip6_queue +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_LOG +ip6t_mh +ip6t_REJECT +ip6t_rt +ip6_tunnel +ipaq +ipcomp +ipcomp6 +ipg +iphase +ipip +ipmi_devintf +ipmi_msghandler +ipmi_si +ipmi_watchdog +ip_queue +ipr +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_addrtype +ipt_ah +ipt_CLUSTERIP +ipt_ecn +ipt_ECN +ipt_LOG +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_ULOG +ipv6 +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipw2100 +ipw2200 +ipx +ir-common +ir-kbd-i2c +ir-usb +iscsi_tcp +isdn +isdnhdlc +isight_firmware +isl29003 +isofs +isp116x-hcd +isp1362-hcd +isp1760 +istallion +iuu_phoenix +iw_c2 +iw_cm +iw_cxgb3 +iwlagn +iwlcore +iwmc3200wifi +ixgb +ixgbe +ixj +ixj_pcmcia +jedec_probe +jffs2 +jfs +jme +jsm +kafs +kaweth +kbic +kbtab +kernelcapi +keyspan +keyspan_pda +keyspan_remote +khazad +kl5kusb105 +kobil_sct +ks0108 +ks8842 +ks8851 +ks8851_mll +ktti +kvaser_pci +lanai +lcd +ldusb +lec +led-class +leds-bd2802 +leds-da903x +leds-dac124s085 +leds-lp3944 +leds-pca9532 +leds-pca955x +leds-sunfire +leds-wm831x-status +leds-wm8350 +ledtrig-backlight +ledtrig-gpio +legousbtower +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libata +libcrc32c +libertas +libertas_cs +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libosd +libsas +libsrp +linear +lis3lv02d +lis3lv02d_spi +lkkbd +llc +llc2 +lm63 +lm70 +lm8323 +lm87 +lm92 +lm93 +lm95241 +lms283gf05 +lockd +lp +lp3971 +lpddr_cmds +lpfc +lrw +ltc4215 +ltc4245 +ltv350qv +lxt +lzo +lzo_compress +lzo_decompress +m25p80 +mac80211 +mac80211_hwsim +macvlan +map_absent +map_funcs +map_ram +map_rom +marvell +matrix_keypad +matrox_w1 +max1111 +max1586 +max17040_battery +max3100 +max6650 +max6875 +max7301 +max732x +max7359_keypad +mb862xxfb +mc13783 +mc13783-core +mc33880 +mc44s803 +mcp23s08 +mcs5000_ts +mcs7830 +mct_u232 +md4 +mdc800 +mdio +mdio-bitbang +mdio-gpio +md-mod +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +metronomefb +mfd-core +mga +michael_mic +microtek +mii +minix +mISDN_core +mISDNinfineon +mISDNipac +mISDNisar +mk712 +mlx4_core +mlx4_en +mlx4_ib +mmc_block +mmc_core +mmc_spi +mos7720 +mos7840 +moto_modem +moxa +mpoa +mpt2sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +msdos +msp3400 +mt20xx +mt9m001 +mt9m111 +mt9t031 +mt9v011 +mt9v022 +mtd +mtd_blkdevs +mtdblock +mtdblock_ro +mtdchar +mtdconcat +mtd_dataflash +mtd_oobtest +mtdoops +mtd_pagetest +mtdram +mtd_readtest +mtd_speedtest +mtd_stresstest +mtd_subpagetest +mtd_torturetest +mtouch +multipath +mwl8k +myri10ge +myri_sbus +nand +nand_ecc +nand_ids +nandsim +national +natsemi +navman +nbd +ncpfs +ne2k-pci +net1080 +netconsole +netjet +netwave_cs +netxen_nic +nf_conntrack +nf_conntrack_amanda +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_tftp +nf_defrag_ipv4 +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_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nftl +nf_tproxy_core +n_hdlc +nilfs2 +niu +nl802154 +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 +n_r3964 +ns83820 +ntfs +nvidiafb +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +of_mmc_spi +ohci1394 +ohci-hcd +omfs +omninet +on20 +on26 +onenand +onenand_sim +opencores-kbd +openpromfs +opticon +option +orinoco +orinoco_cs +osd +osdblk +osst +oti6858 +output +ov7670 +ov772x +oxu210hp-hcd +p54common +p54pci +p54spi +p54usb +p8022 +p8023 +paride +parport +parport_ax88796 +parport_cs +parport_pc +parport_serial +parport_sunbpp +pata_amd +pata_atp867x +pata_cs5520 +pata_efar +pata_it8213 +pata_it821x +pata_jmicron +pata_marvell +pata_mpiix +pata_netcell +pata_ninja32 +pata_oldpiix +pata_pcmcia +pata_pdc2027x +pata_rdc +pata_rz1000 +pata_sch +pata_serverworks +pata_sil680 +pata_sis +pata_sl82c105 +pata_triflex +pata_via +pc87360 +pc87427 +pca953x +pcbc +pcd +pcf50633-adc +pcf50633-charger +pcf50633-core +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf857x +pci +pcilynx +pcmcia +pcmcia_core +pcnet32 +pcnet_cs +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pdc_adma +pegasus +penmount +pf +pg +phantom +phonedev +phonet +phram +physmap +pktcdvd +pl2303 +platform_lcd +plat_nand +plat-ram +plip +plusb +pm3fb +pmc551 +pmcraid +pn_pep +powermate +ppa +ppdev +ppp_async +ppp_deflate +ppp_generic +ppp_mppe +pppoatm +pppoe +pppol2tp +pppox +ppp_synctty +pps_core +psmouse +psnap +pt +pvrusb2 +qcserial +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlge +qlogic_cs +qlogicfas408 +qlogicpti +qnx4 +qsemi +quota_tree +quota_v2 +r128 +r8a66597-hcd +radeon +radio-gemtek-pci +radio-i2c-si470x +radio-maestro +radio-maxiradio +radio-mr800 +radio-si4713 +radio-tea5764 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +raid_class +raw +raw1394 +ray_cs +rdma_cm +rdma_ucm +rds +rds_rdma +rds_tcp +redboot +reed_solomon +reiserfs +rfd_ftl +rfkill +ricoh_mmc +rio500 +riowd +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rocket +romfs +rotary_encoder +rpcsec_gss_krb5 +rpcsec_gss_spkm3 +rsrc_nonstatic +rt2400pci +rt2500pci +rt2500usb +rt2800usb +rt2x00lib +rt2x00pci +rt2x00usb +rt61pci +rt73usb +rtc-ab3100 +rtc-ds1286 +rtc-ds1305 +rtc-ds1307 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-ds3234 +rtc-fm3130 +rtc-isl1208 +rtc-m41t80 +rtc-m41t94 +rtc-m48t35 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-pcf2123 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-r9701 +rtc-rs5c348 +rtc-rs5c372 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-test +rtc-twl4030 +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtl8150 +rtl8187 +rxkad +s1d13xxxfb +s2255drv +s2io +s3fb +saa5246a +saa6588 +saa6752hs +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-empress +saa7146 +saa7146_vv +saa717x +safe_serial +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 +sbp2 +sc92031 +sch_atm +sch_cbq +sch_drr +sch_dsmark +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_multiq +sch_netem +sch_prio +sch_red +sch_sfq +sch_tbf +sch_teql +scsi_dh +scsi_dh_alua +scsi_dh_emc +scsi_dh_hp_sw +scsi_dh_rdac +scsi_mod +scsi_tgt +scsi_transport_fc +scsi_transport_iscsi +scsi_transport_sas +scsi_transport_spi +scsi_transport_srp +scsi_wait_scan +sctp +sdhci +sdhci-pci +sdhci-pltfm +sdio_uart +sd_mod +sdricoh_cs +seed +serial_cs +serio_raw +serpent +serport +sfc +sg +sha1_generic +sha256_generic +sha512_generic +sht15 +si4713-i2c +siemens_mpi +sierra +sis190 +sis5595 +sis900 +sisusbvga +sit +sja1000 +sja1000_platform +skfp +skge +sky2 +sl811_cs +sl811-hcd +slhc +slip +slram +sm501 +sm501fb +smbfs +smc91c92_cs +smsc +smsc47b397 +smsc47m1 +smsc47m192 +smsc9420 +smsc95xx +sn9c102 +snd +snd-ac97-codec +snd-ad1889 +snd-ak4114 +snd-ak4117 +snd-ak4xxx-adda +snd-ali5451 +snd-als300 +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-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-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-atihdmi +snd-hda-codec-ca0110 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-idt +snd-hda-codec-intelhdmi +snd-hda-codec-nvhdmi +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-korg1212 +snd-layla20 +snd-layla24 +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-page-alloc +snd-pcm +snd-pcm-oss +snd-pcxhr +snd-pdaudiocf +snd-portman2x4 +snd-pt2258 +snd-rawmidi +snd-riptide +snd-rme32 +snd-rme96 +snd-rme9652 +snd-seq +snd-seq-device +snd-seq-dummy +snd-seq-midi +snd-seq-midi-emul +snd-seq-midi-event +snd-seq-oss +snd-seq-virmidi +snd-serial-u16550 +snd-soc-ad1836 +snd-soc-ad1938 +snd-soc-ad73311 +snd-soc-ak4104 +snd-soc-ak4535 +snd-soc-ak4642 +snd-soc-core +snd-soc-cs4270 +snd-soc-l3 +snd-soc-max9877 +snd-soc-pcm3008 +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-tlv320aic23 +snd-soc-tlv320aic26 +snd-soc-tlv320aic3x +snd-soc-twl4030 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wm8350 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8776 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8993 +snd-soc-wm9081 +snd-soc-wm-hubs +snd-sonicvibes +snd-sun-amd7930 +snd-sun-cs4231 +snd-sun-dbri +snd-tea575x-tuner +snd-timer +snd-trident +snd-usb-audio +snd-usb-caiaq +snd-usb-lib +snd-util-mem +snd-via82xx +snd-via82xx-modem +snd-virmidi +snd-vx222 +snd-vx-lib +snd-vxpocket +snd-ymfpci +soc_camera +soc_camera_platform +softdog +solos-pci +soundcore +sound_firmware +spcp8x5 +spectrum_cs +speedfax +speedtch +spi_bitbang +spi_butterfly +spidev +spi_gpio +spi_lm70llp +squashfs +sr_mod +ssb +ssfdc +sst25l +st +stallion +starfire +ste10Xp +stex +stowaway +stp +strip +sunbmac +sundance +sun_esp +suni +sunlance +sunqe +sunrpc +sun_uflash +sunvdc +sunvnet +svcrdma +svgalib +sx8 +sym53c500_cs +sym53c8xx +symbolserial +synaptics_i2c +synclink_cs +synclink_gt +synclinkmp +syscopyarea +sysfillrect +sysimgblt +sysv +tcm825x +tcp_bic +tcp_highspeed +tcp_htcp +tcp_hybla +tcp_illinois +tcp_lp +tcp_probe +tcp_scalable +tcp_vegas +tcp_veno +tcp_westwood +tcp_yeah +tda8290 +tda9840 +tda9887 +tdfx +tdo24m +tea +tea5761 +tea5767 +tea6415c +tea6420 +tehuti +tg3 +tgr192 +thmc50 +ths7303 +tifm_7xx1 +tifm_core +tifm_sd +timeriomem-rng +tipc +ti_usb_3410_5052 +tlan +tle62x0 +tlv320aic23b +tmiofb +tmp401 +tmp421 +touchit213 +touchright +touchwin +tpm +tpm_atmel +tpm_nsc +tps65010 +tps65023-regulator +tps6507x-regulator +trancevibrator +ts_bm +tsc2007 +ts_fsm +ts_kmp +tsl2550 +ttm +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +tveeprom +tvp514x +tvp5150 +tw9910 +twl4030-gpio +twl4030_keypad +twl4030-pwrbutton +twl4030-usb +twl4030_wdt +twofish +twofish_common +typhoon +u132-hcd +ubi +ubifs +ucb1400_core +ucb1400_ts +uctrl +udf +ueagle-atm +ufs +uhci-hcd +uio +uio_aec +uio_cif +uio_pci_generic +uio_pdrv +uio_pdrv_genirq +uio_sercos3 +uio_smx +uli526x +ultra45_env +umc +umem +ums-alauda +ums-cypress +ums-datafab +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-sddr09 +ums-sddr55 +ums-usbat +upd64031a +upd64083 +usb8xxx +usbatm +usbcore +usb_debug +usbhid +usblcd +usbled +usblp +usbmon +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +usbtouchscreen +usbvision +userspace-consumer +uss720 +uvcvideo +uvesafb +uwb +v4l1-compat +v4l2-common +v4l2-compat-ioctl32 +v4l2-int-device +vcan +veth +vfat +vgastate +vgg2432a4 +via +viafb +via-rhine +via-sdmmc +via-velocity +video1394 +videobuf-core +videobuf-dma-sg +videobuf-vmalloc +videodev +virtual +visor +vitesse +vmac +vp27smpx +vstusb +vt1211 +vt8231 +vt8623fb +vxge +w1_bq27000 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1-gpio +w1_smem +w1_therm +w6692 +w83627ehf +w83791d +w83792d +w83793 +wacom_w8001 +wavelan_cs +wdt_pci +whci +whci-hcd +whc-rc +whiteheat +wimax +winbond-840 +wire +wl1251 +wl1251_sdio +wl1251_spi +wl1271 +wl3501_cs +wlp +wm831x +wm831x_bl +wm831x-dcdc +wm831x-gpio +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x_power +wm831x_wdt +wm8350 +wm8350-hwmon +wm8350-i2c +wm8350_power +wm8350-regulator +wm8350_wdt +wm8400-core +wm8400-regulator +wm8739 +wm8775 +wm97xx-ts +wp512 +wpan-class +wusb-cbaf +wusbcore +wusb-wa +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_ipcomp +xfrm_user +xfs +xhci +xirc2ps_cs +xircom_cb +xor +xprtrdma +x_tables +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNMARK +xt_CONNSECMARK +xt_conntrack +xt_dccp +xt_dscp +xt_DSCP +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xt_LED +xt_length +xt_limit +xt_mac +xt_mark +xt_MARK +xt_multiport +xt_NFLOG +xt_NFQUEUE +xt_NOTRACK +xt_osf +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_realm +xt_recent +xts +xt_sctp +xt_SECMARK +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_tcpudp +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xusbatm +yealink +yellowfin +yenta_socket +zc0301 +zd1201 +zd1211rw +zlib +zlib_deflate +zr364xx --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/sparc/sparc64.compiler +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/sparc/sparc64.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3 --- linux-2.6.32.orig/debian.master/abi/2.6.32-41.93/sparc/sparc64.modules +++ linux-2.6.32/debian.master/abi/2.6.32-41.93/sparc/sparc64.modules @@ -0,0 +1,1752 @@ +3c574_cs +3c589_cs +3c59x +3w-9xxx +3w-xxxx +8021q +8139cp +8139too +8250 +8250_pci +8390 +9p +9pnet +9pnet_rdma +a100u2w +aacraid +ab3100 +ab3100-core +ab3100-otp +ac97_bus +acecad +acenic +act_gact +act_ipt +act_mirred +act_nat +act_pedit +act_police +act_simple +act_skbedit +ad7414 +ad7418 +ad7877 +ad7879 +adcxx +adfs +adm1026 +adm1029 +adm8211 +adm9240 +adp5588-keys +ads7846 +adt7462 +adt7470 +adt7475 +adutux +adv7180 +adv7343 +aes_generic +af_802154 +affs +af_key +af-rxrpc +ah4 +ah6 +ahci +aic79xx +aic94xx +aiptek +aircable +airo +airo_cs +alauda +alim7101_wdt +ansi_cprng +anubis +aoe +appledisplay +appletalk +appletouch +applicom +ar7part +ar9170usb +arc4 +arcmsr +ark3116 +arkfb +arptable_filter +arp_tables +arpt_mangle +asix +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +ata_generic +ata_piix +aten +ath +ath9k +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atm +atmel +atmel_cs +atmel_pci +atmtcp +atp870u +atxp1 +authenc +auth_rpcgss +autofs +autofs4 +avmfritz +axnet_cs +b43 +b43legacy +b44 +bbc +bcm5974 +be2iscsi +be2net +befs +belkin_sa +berry_charge +bfa +bfs +binfmt_misc +block2mtd +blowfish +bnx2 +bnx2i +bonding +bpck +bq24022 +bq27x00_battery +br2684 +bridge +broadcom +broadsheetfb +bsd_comp +bt8xxgpio +btrfs +c67x00 +cachefiles +cafe_ccic +cafe_nand +camellia +can +can-bcm +can-dev +can-raw +carminefb +cassini +cast5 +cast6 +catc +cb710 +cb710-mmc +cbc +cciss +cdc-acm +cdc_eem +cdc_ether +cdc-phonet +cdc_subset +cdc-wdm +cdrom +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch341 +chipreg +chmc +cicada +cifs +clip +cls_basic +cls_flow +cls_fw +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cn +cnic +coda +comm +configfs +core +cp210x +cpwd +cramfs +crc32c +crc7 +crc-ccitt +crc-itu-t +crc-t10dif +cryptd +cryptoloop +crypto_null +cs53l32a +cts +cuse +cx231xx +cx231xx-alsa +cx2341x +cx25840 +cxacru +cxgb +cxgb3 +cxgb3i +cyberjack +cyclades +cypress_cy7c63 +cypress_m8 +cytherm +da9030_battery +da9034-ts +da903x +da903x_bl +DAC960 +davicom +dc395x +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dccp_probe +de600 +de620 +decnet +deflate +digi_acceleport +diskonchip +display +display7seg +dl2k +dlm +dm9601 +dm-crypt +dme1737 +dm-log +dm-mirror +dm-multipath +dm-queue-length +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dmx3191d +dm-zero +dnet +dn_rtmsg +doc2000 +doc2001 +doc2001plus +docecc +docprobe +drm_kms_helper +ds1682 +ds2482 +ds2490 +ds2760_battery +ds2782_battery +dsbr100 +dstr +dummy +dv1394 +e100 +e1000 +e1000e +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_ulog +ebt_vlan +ecb +ecryptfs +eeprom +eeprom_93cx6 +eeti_ts +efs +ehci-hcd +elo +em_cmp +emi26 +emi62 +em_meta +em_nbyte +empeg +ems_pci +ems_usb +em_text +em_u32 +eni +enic +envctrl +epat +epca +epia +epic100 +eql +esp4 +esp6 +esp_scsi +et1011c +et61x251 +eth1394 +ethoc +evdev +exofs +exportfs +f71805f +f71882fg +f75375s +fat +faulty +fb_sys_fops +fcoe +fcrypt +fdomain_cs +fealnx +ff-memless +fit2 +fit3 +flash +fmvj18x_cs +fore_200e +freevxfs +friq +frpw +fscache +ftdi-elan +ftdi_sio +ftl +fujitsu_ts +funsoft +g760a +gadgetfs +garmin_gps +garp +g_audio +g_cdc +generic +generic_bl +gen_probe +g_ether +gf128mul +g_file_storage +gfs2 +ghash-generic +gigaset +gl520sm +gl620a +gluebi +g_midi +gpio-addr-flash +gpio_keys +gpio_mouse +gpio_vbus +g_printer +g_serial +gspca_conex +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_ov519 +gspca_ov534 +gspca_pac207 +gspca_pac7311 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_stk014 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_tv8532 +gspca_vc032x +gspca_zc3xx +gtco +gunze +g_zero +hdpvr +he +hexium_gemini +hexium_orion +hfs +hfsplus +hid +hid-3m-pct +hid-a4tech +hid-apple +hid-belkin +hid-cherry +hid-chicony +hid-cypress +hid-drff +hid-ezkey +hid-gaff +hid-gyration +hid-kensington +hid-kye +hid-logitech +hid-microsoft +hid-monterey +hid-mosart +hid-ntrig +hid-ortek +hid-petalynx +hid-pl +hid-quanta +hid-samsung +hid-sjoy +hid-sony +hid-stantum +hid-sunplus +hid-tmff +hid-topseed +hid-twinhan +hid-zpff +hostap +hostap_cs +hostap_pci +hostap_plx +hp4x +hpfs +hptiop +hso +htc-pasic3 +hwa-hc +hwa-rc +hwmon-vid +i1480-dfu-usb +i1480-est +i1480u-wlp +i2400m +i2400m-sdio +i2400m-usb +i2c-algo-pca +i2c-dev +i2c-gpio +i2c-isch +i2c-ocores +i2c-parport +i2c-parport-light +i2c-pca-platform +i2c-piix4 +i2c-simtec +i2c-stub +i2c-taos-evm +i2c-tiny-usb +i2o_block +i2o_bus +i2o_core +i2o_proc +i2o_scsi +i5k_amb +i82092 +ib_addr +ib_cm +ib_core +ib_ipath +ib_ipoib +ib_iser +ib_mad +ibmaem +ibmpex +ib_mthca +ib_sa +ib_srp +ib_ucm +ib_umad +ib_uverbs +icplus +ics932s401 +idmouse +idt77252 +ieee1394 +ifb +igbvf +ili9320 +imm +inexio +inftl +initio +input-polldev +int51x1 +intel_vr_nor +ioc4 +io_edgeport +io_ti +iowarrior +ip2 +ip6_queue +ip6table_filter +ip6table_mangle +ip6table_raw +ip6_tables +ip6table_security +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_LOG +ip6t_mh +ip6t_REJECT +ip6t_rt +ip6_tunnel +ipaq +ipcomp +ipcomp6 +ipg +iphase +ipip +ipmi_devintf +ipmi_msghandler +ipmi_si +ipmi_watchdog +ip_queue +ipr +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +ip_tables +iptable_security +ipt_addrtype +ipt_ah +ipt_CLUSTERIP +ipt_ecn +ipt_ECN +ipt_LOG +ipt_MASQUERADE +ipt_NETMAP +ipt_REDIRECT +ipt_REJECT +ipt_ULOG +ipv6 +ip_vs +ip_vs_dh +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_nq +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ipw +ipw2100 +ipw2200 +ipx +ir-common +ir-kbd-i2c +ir-usb +iscsi_tcp +isdn +isdnhdlc +isight_firmware +isl29003 +isofs +isp116x-hcd +isp1362-hcd +isp1760 +istallion +iuu_phoenix +iw_c2 +iw_cm +iw_cxgb3 +iwlagn +iwlcore +iwmc3200wifi +ixgb +ixgbe +ixj +ixj_pcmcia +jedec_probe +jffs2 +jfs +jme +jsm +kafs +kaweth +kbic +kbtab +kernelcapi +keyspan +keyspan_pda +keyspan_remote +khazad +kl5kusb105 +kobil_sct +ks0108 +ks8842 +ks8851 +ks8851_mll +ktti +kvaser_pci +lanai +lcd +ldusb +lec +led-class +leds-bd2802 +leds-da903x +leds-dac124s085 +leds-lp3944 +leds-pca9532 +leds-pca955x +leds-sunfire +leds-wm831x-status +leds-wm8350 +ledtrig-backlight +ledtrig-gpio +legousbtower +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libata +libcrc32c +libertas +libertas_cs +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libosd +libsas +libsrp +linear +lis3lv02d +lis3lv02d_spi +lkkbd +llc +llc2 +lm63 +lm70 +lm8323 +lm87 +lm92 +lm93 +lm95241 +lms283gf05 +lockd +lp +lp3971 +lpddr_cmds +lpfc +lrw +ltc4215 +ltc4245 +ltv350qv +lxt +lzo +lzo_compress +lzo_decompress +m25p80 +mac80211 +mac80211_hwsim +macvlan +map_absent +map_funcs +map_ram +map_rom +marvell +matrix_keypad +matrox_w1 +max1111 +max1586 +max17040_battery +max3100 +max6650 +max6875 +max7301 +max732x +max7359_keypad +mb862xxfb +mc13783 +mc13783-core +mc33880 +mc44s803 +mcp23s08 +mcs5000_ts +mcs7830 +mct_u232 +md4 +mdc800 +mdio +mdio-bitbang +mdio-gpio +md-mod +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +metronomefb +mfd-core +mga +michael_mic +microtek +mii +minix +mISDN_core +mISDNinfineon +mISDNipac +mISDNisar +mk712 +mlx4_core +mlx4_en +mlx4_ib +mmc_block +mmc_core +mmc_spi +mos7720 +mos7840 +moto_modem +moxa +mpoa +mpt2sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +msdos +msp3400 +mt20xx +mt9m001 +mt9m111 +mt9t031 +mt9v011 +mt9v022 +mtd +mtd_blkdevs +mtdblock +mtdblock_ro +mtdchar +mtdconcat +mtd_dataflash +mtd_oobtest +mtdoops +mtd_pagetest +mtdram +mtd_readtest +mtd_speedtest +mtd_stresstest +mtd_subpagetest +mtd_torturetest +mtouch +multipath +mwl8k +myri10ge +myri_sbus +nand +nand_ecc +nand_ids +nandsim +national +natsemi +navman +nbd +ncpfs +ne2k-pci +net1080 +netconsole +netjet +netwave_cs +netxen_nic +nf_conntrack +nf_conntrack_amanda +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_tftp +nf_defrag_ipv4 +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_log +nfnetlink_queue +nfs +nfs_acl +nfsd +nftl +nf_tproxy_core +n_hdlc +nilfs2 +niu +nl802154 +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 +n_r3964 +ns83820 +ntfs +nvidiafb +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stackglue +ocfs2_stack_o2cb +ocfs2_stack_user +of_mmc_spi +ohci1394 +ohci-hcd +omfs +omninet +on20 +on26 +onenand +onenand_sim +opencores-kbd +openpromfs +opticon +option +orinoco +orinoco_cs +osd +osdblk +osst +oti6858 +output +ov7670 +ov772x +oxu210hp-hcd +p54common +p54pci +p54spi +p54usb +p8022 +p8023 +paride +parport +parport_ax88796 +parport_cs +parport_pc +parport_serial +parport_sunbpp +pata_amd +pata_atp867x +pata_cs5520 +pata_efar +pata_it8213 +pata_it821x +pata_jmicron +pata_marvell +pata_mpiix +pata_netcell +pata_ninja32 +pata_oldpiix +pata_pcmcia +pata_pdc2027x +pata_rdc +pata_rz1000 +pata_sch +pata_serverworks +pata_sil680 +pata_sis +pata_sl82c105 +pata_triflex +pata_via +pc87360 +pc87427 +pca953x +pcbc +pcd +pcf50633-adc +pcf50633-charger +pcf50633-core +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf857x +pci +pcilynx +pcmcia +pcmcia_core +pcnet32 +pcnet_cs +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pdc_adma +pegasus +penmount +pf +pg +phantom +phonedev +phonet +phram +physmap +pktcdvd +pl2303 +platform_lcd +plat_nand +plat-ram +plip +plusb +pm3fb +pmc551 +pmcraid +pn_pep +powermate +ppa +ppdev +ppp_async +ppp_deflate +ppp_generic +ppp_mppe +pppoatm +pppoe +pppol2tp +pppox +ppp_synctty +pps_core +psmouse +psnap +pt +pvrusb2 +qcserial +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlge +qlogic_cs +qlogicfas408 +qlogicpti +qnx4 +qsemi +quota_tree +quota_v2 +r128 +r8a66597-hcd +radeon +radio-gemtek-pci +radio-i2c-si470x +radio-maestro +radio-maxiradio +radio-mr800 +radio-si4713 +radio-tea5764 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid6test +raid_class +raw +raw1394 +ray_cs +rdma_cm +rdma_ucm +rds +rds_rdma +rds_tcp +redboot +reed_solomon +reiserfs +rfd_ftl +rfkill +ricoh_mmc +rio500 +riowd +rmd128 +rmd160 +rmd256 +rmd320 +rndis_host +rocket +romfs +rotary_encoder +rpcsec_gss_krb5 +rpcsec_gss_spkm3 +rsrc_nonstatic +rt2400pci +rt2500pci +rt2500usb +rt2800usb +rt2x00lib +rt2x00pci +rt2x00usb +rt61pci +rt73usb +rtc-ab3100 +rtc-ds1286 +rtc-ds1305 +rtc-ds1307 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1742 +rtc-ds3234 +rtc-fm3130 +rtc-isl1208 +rtc-m41t80 +rtc-m41t94 +rtc-m48t35 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-pcf2123 +rtc-pcf50633 +rtc-pcf8563 +rtc-pcf8583 +rtc-r9701 +rtc-rs5c348 +rtc-rs5c372 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-stk17ta8 +rtc-test +rtc-twl4030 +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtl8150 +rtl8187 +rxkad +s1d13xxxfb +s2255drv +s2io +s3fb +saa5246a +saa6588 +saa6752hs +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-empress +saa7146 +saa7146_vv +saa717x +safe_serial +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 +sbp2 +sc92031 +sch_atm +sch_cbq +sch_drr +sch_dsmark +sch_gred +sch_hfsc +sch_htb +sch_ingress +sch_multiq +sch_netem +sch_prio +sch_red +sch_sfq +sch_tbf +sch_teql +scsi_dh +scsi_dh_alua +scsi_dh_emc +scsi_dh_hp_sw +scsi_dh_rdac +scsi_mod +scsi_tgt +scsi_transport_fc +scsi_transport_iscsi +scsi_transport_sas +scsi_transport_spi +scsi_transport_srp +scsi_wait_scan +sctp +sdhci +sdhci-pci +sdhci-pltfm +sdio_uart +sd_mod +sdricoh_cs +seed +serial_cs +serio_raw +serpent +serport +sfc +sg +sha1_generic +sha256_generic +sha512_generic +sht15 +si4713-i2c +siemens_mpi +sierra +sis190 +sis5595 +sis900 +sisusbvga +sit +sja1000 +sja1000_platform +skfp +skge +sky2 +sl811_cs +sl811-hcd +slhc +slip +slram +sm501 +sm501fb +smbfs +smc91c92_cs +smsc +smsc47b397 +smsc47m1 +smsc47m192 +smsc9420 +smsc95xx +sn9c102 +snd +snd-ac97-codec +snd-ad1889 +snd-ak4114 +snd-ak4117 +snd-ak4xxx-adda +snd-ali5451 +snd-als300 +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-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-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-atihdmi +snd-hda-codec-ca0110 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-idt +snd-hda-codec-intelhdmi +snd-hda-codec-nvhdmi +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-korg1212 +snd-layla20 +snd-layla24 +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-page-alloc +snd-pcm +snd-pcm-oss +snd-pcxhr +snd-pdaudiocf +snd-portman2x4 +snd-pt2258 +snd-rawmidi +snd-riptide +snd-rme32 +snd-rme96 +snd-rme9652 +snd-seq +snd-seq-device +snd-seq-dummy +snd-seq-midi +snd-seq-midi-emul +snd-seq-midi-event +snd-seq-oss +snd-seq-virmidi +snd-serial-u16550 +snd-soc-ad1836 +snd-soc-ad1938 +snd-soc-ad73311 +snd-soc-ak4104 +snd-soc-ak4535 +snd-soc-ak4642 +snd-soc-core +snd-soc-cs4270 +snd-soc-l3 +snd-soc-max9877 +snd-soc-pcm3008 +snd-soc-spdif +snd-soc-ssm2602 +snd-soc-tlv320aic23 +snd-soc-tlv320aic26 +snd-soc-tlv320aic3x +snd-soc-twl4030 +snd-soc-uda134x +snd-soc-uda1380 +snd-soc-wm8350 +snd-soc-wm8400 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8580 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8776 +snd-soc-wm8900 +snd-soc-wm8903 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8961 +snd-soc-wm8971 +snd-soc-wm8974 +snd-soc-wm8988 +snd-soc-wm8990 +snd-soc-wm8993 +snd-soc-wm9081 +snd-soc-wm-hubs +snd-sonicvibes +snd-sun-amd7930 +snd-sun-cs4231 +snd-sun-dbri +snd-tea575x-tuner +snd-timer +snd-trident +snd-usb-audio +snd-usb-caiaq +snd-usb-lib +snd-util-mem +snd-via82xx +snd-via82xx-modem +snd-virmidi +snd-vx222 +snd-vx-lib +snd-vxpocket +snd-ymfpci +soc_camera +soc_camera_platform +softdog +solos-pci +soundcore +sound_firmware +spcp8x5 +spectrum_cs +speedfax +speedtch +spi_bitbang +spi_butterfly +spidev +spi_gpio +spi_lm70llp +squashfs +sr_mod +ssb +ssfdc +sst25l +st +stallion +starfire +ste10Xp +stex +stowaway +stp +strip +sunbmac +sundance +sun_esp +suni +sunlance +sunqe +sunrpc +sun_uflash +sunvdc +sunvnet +svcrdma +svgalib +sx8 +sym53c500_cs +sym53c8xx +symbolserial +synaptics_i2c +synclink_cs +synclink_gt +synclinkmp +syscopyarea +sysfillrect +sysimgblt +sysv +tcm825x +tcp_bic +tcp_highspeed +tcp_htcp +tcp_hybla +tcp_illinois +tcp_lp +tcp_probe +tcp_scalable +tcp_vegas +tcp_veno +tcp_westwood +tcp_yeah +tda8290 +tda9840 +tda9887 +tdfx +tdo24m +tea +tea5761 +tea5767 +tea6415c +tea6420 +tehuti +tg3 +tgr192 +thmc50 +ths7303 +tifm_7xx1 +tifm_core +tifm_sd +timeriomem-rng +tipc +ti_usb_3410_5052 +tlan +tle62x0 +tlv320aic23b +tmiofb +tmp401 +tmp421 +touchit213 +touchright +touchwin +tpm +tpm_atmel +tpm_nsc +tps65010 +tps65023-regulator +tps6507x-regulator +trancevibrator +ts_bm +tsc2007 +ts_fsm +ts_kmp +tsl2550 +ttm +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +tveeprom +tvp514x +tvp5150 +tw9910 +twl4030-gpio +twl4030_keypad +twl4030-pwrbutton +twl4030-usb +twl4030_wdt +twofish +twofish_common +typhoon +u132-hcd +ubi +ubifs +ucb1400_core +ucb1400_ts +uctrl +udf +ueagle-atm +ufs +uhci-hcd +uio +uio_aec +uio_cif +uio_pci_generic +uio_pdrv +uio_pdrv_genirq +uio_sercos3 +uio_smx +uli526x +ultra45_env +umc +umem +ums-alauda +ums-cypress +ums-datafab +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-sddr09 +ums-sddr55 +ums-usbat +upd64031a +upd64083 +usb8xxx +usbatm +usbcore +usb_debug +usbhid +usblcd +usbled +usblp +usbmon +usbnet +usbserial +usbsevseg +usb-storage +usbtest +usbtmc +usbtouchscreen +usbvision +userspace-consumer +uss720 +uvcvideo +uvesafb +uwb +v4l1-compat +v4l2-common +v4l2-compat-ioctl32 +v4l2-int-device +vcan +veth +vfat +vgastate +vgg2432a4 +via +viafb +via-rhine +via-sdmmc +via-velocity +video1394 +videobuf-core +videobuf-dma-sg +videobuf-vmalloc +videodev +virtual +visor +vitesse +vmac +vp27smpx +vstusb +vt1211 +vt8231 +vt8623fb +vxge +w1_bq27000 +w1_ds2431 +w1_ds2433 +w1_ds2760 +w1-gpio +w1_smem +w1_therm +w6692 +w83627ehf +w83791d +w83792d +w83793 +wacom_w8001 +wavelan_cs +wdt_pci +whci +whci-hcd +whc-rc +whiteheat +wimax +winbond-840 +wire +wl1251 +wl1251_sdio +wl1251_spi +wl1271 +wl3501_cs +wlp +wm831x +wm831x_bl +wm831x-dcdc +wm831x-gpio +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x_power +wm831x_wdt +wm8350 +wm8350-hwmon +wm8350-i2c +wm8350_power +wm8350-regulator +wm8350_wdt +wm8400-core +wm8400-regulator +wm8739 +wm8775 +wm97xx-ts +wp512 +wpan-class +wusb-cbaf +wusbcore +wusb-wa +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_ipcomp +xfrm_user +xfs +xhci +xirc2ps_cs +xircom_cb +xor +xprtrdma +x_tables +xt_CLASSIFY +xt_cluster +xt_comment +xt_connbytes +xt_connlimit +xt_connmark +xt_CONNMARK +xt_CONNSECMARK +xt_conntrack +xt_dccp +xt_dscp +xt_DSCP +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_HL +xt_LED +xt_length +xt_limit +xt_mac +xt_mark +xt_MARK +xt_multiport +xt_NFLOG +xt_NFQUEUE +xt_NOTRACK +xt_osf +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_realm +xt_recent +xts +xt_sctp +xt_SECMARK +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_TCPMSS +xt_tcpudp +xt_time +xt_TPROXY +xt_TRACE +xt_u32 +xusbatm +yealink +yellowfin +yenta_socket +zc0301 +zd1201 +zd1211rw +zlib +zlib_deflate +zr364xx --- linux-2.6.32.orig/debian.master/config/config.common.ports +++ linux-2.6.32/debian.master/config/config.common.ports @@ -0,0 +1,3930 @@ +# +# Common config options automatically generated by splitconfig.pl +# +CONFIG_3C359=m +# CONFIG_40x is not set +# CONFIG_44x is not set +CONFIG_64BIT=y +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_A11Y_BRAILLE_CONSOLE=y +CONFIG_AB3100_CORE=m +CONFIG_AB3100_OTP=m +CONFIG_ABYSS=m +CONFIG_AC97_BUS=m +CONFIG_ACENIC=m +# CONFIG_ACENIC_OMIT_TIGON_I is not set +# 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_BLACKLIST_YEAR=0 +CONFIG_ACPI_BUTTON=m +CONFIG_ACPI_CONTAINER=m +# CONFIG_ACPI_CUSTOM_DSDT is not set +# CONFIG_ACPI_DEBUG is not set +CONFIG_ACPI_DOCK=y +CONFIG_ACPI_FAN=m +CONFIG_ACPI_HOTPLUG_CPU=y +CONFIG_ACPI_NUMA=y +CONFIG_ACPI_PCI_SLOT=m +CONFIG_ACPI_POWER_METER=m +CONFIG_ACPI_PROCESSOR=m +CONFIG_ACPI_PROCFS=y +CONFIG_ACPI_PROCFS_POWER=y +CONFIG_ACPI_PROC_EVENT=y +CONFIG_ACPI_SYSFS_POWER=y +CONFIG_ACPI_THERMAL=m +CONFIG_ACT200L_DONGLE=m +CONFIG_ACTISYS_DONGLE=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_ADFS_FS=m +# CONFIG_ADFS_FS_RW is not set +CONFIG_ADM8211=m +# CONFIG_ADVANCED_OPTIONS is not set +CONFIG_AFFS_FS=m +# CONFIG_AFS_DEBUG is not set +CONFIG_AFS_FS=m +# CONFIG_AFS_FSCACHE is not set +CONFIG_AF_RXRPC=m +# CONFIG_AF_RXRPC_DEBUG is not set +CONFIG_AGP=m +# CONFIG_AGP_HP_ZX1 is not set +# CONFIG_AGP_I460 is not set +# CONFIG_AGP_SGI_TIOCA is not set +CONFIG_AGP_UNINORTH=m +CONFIG_AIC79XX_CMDS_PER_DEVICE=32 +CONFIG_AIC79XX_DEBUG_MASK=0 +CONFIG_AIC79XX_RESET_DELAY_MS=15000 +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_ALI_FIR=m +# CONFIG_ALTERA_PCIE_CHDMA is not set +CONFIG_ALTIVEC=y +# CONFIG_AMIGAONE is not set +CONFIG_ANON_INODES=y +CONFIG_ANSLCD=m +CONFIG_APM_EMULATION=m +CONFIG_APM_POWER=m +CONFIG_APPLE_AIRPORT=m +CONFIG_APPLICOM=m +CONFIG_AR9170_LEDS=y +CONFIG_AR9170_USB=m +CONFIG_ARCH_DEFCONFIG="arch/sparc/configs/sparc64_defconfig" +CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y +CONFIG_ARCH_DISCONTIGMEM_ENABLE=y +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_ARCH_FLATMEM_ENABLE=y +CONFIG_ARCH_HAS_ILOG2_U32=y +CONFIG_ARCH_HAS_ILOG2_U64=y +CONFIG_ARCH_HAS_WALK_MEMORY=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_MAY_HAVE_PC_FDC=y +CONFIG_ARCH_MEMORY_PROBE=y +CONFIG_ARCH_POPULATES_NODE_MAP=y +CONFIG_ARCH_PROC_KCORE_TEXT=y +CONFIG_ARCH_REQUIRE_GPIOLIB=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_MSI=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_USES_PG_UNCACHED=y +CONFIG_ARCH_WANTS_FREEZER_CONTROL=y +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +CONFIG_ARCNET_1051=m +CONFIG_ARCNET_1201=m +CONFIG_ARCNET_CAP=m +CONFIG_ARCNET_COM20020=m +CONFIG_ARCNET_COM20020_CS=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_ASK_IP_FIB_HASH=y +# CONFIG_ASUS_OLED is not set +CONFIG_ASYNC_CORE=m +CONFIG_ASYNC_MEMCPY=m +CONFIG_ASYNC_PQ=m +CONFIG_ASYNC_RAID6_RECOV=m +CONFIG_ASYNC_RAID6_TEST=m +CONFIG_ASYNC_XOR=m +CONFIG_AT76C50X_USB=m +CONFIG_ATALK=m +CONFIG_ATA_ACPI=y +CONFIG_ATA_GENERIC=m +CONFIG_ATA_OVER_ETH=m +CONFIG_ATA_PIIX=m +CONFIG_ATA_SFF=y +CONFIG_ATA_VERBOSE_ERROR=y +# CONFIG_ATH5K is not set +CONFIG_ATH9K=m +CONFIG_ATH9K_DEBUG=y +CONFIG_ATH_COMMON=m +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 is not set +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_AUDIT=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_ARCH=y +CONFIG_AUDIT_TREE=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_RAMFS=y +# CONFIG_AUFS_DEBUG is not set +# CONFIG_AUFS_EXPORT is not set +CONFIG_AUFS_FS=m +CONFIG_AUFS_HINOTIFY=y +CONFIG_AUFS_POLL=y +# CONFIG_AUFS_RDU is not set +# CONFIG_AUFS_SHWH is not set +CONFIG_AUTOFS4_FS=m +CONFIG_AUTOFS_FS=m +CONFIG_AUXDISPLAY=y +CONFIG_AX25=m +# CONFIG_AX25_DAMA_SLAVE is not set +# CONFIG_B3DFG 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_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_LP=y +CONFIG_B43_PIO=y +# CONFIG_B43_SDIO is not set +CONFIG_B44=m +CONFIG_B44_PCI=y +CONFIG_B44_PCICORE_AUTOSELECT=y +CONFIG_B44_PCI_AUTOSELECT=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_DA903X=m +CONFIG_BACKLIGHT_GENERIC=m +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_BACKLIGHT_WM831X=m +# CONFIG_BACKTRACE_SELF_TEST is not set +CONFIG_BASE_FULL=y +CONFIG_BASE_SMALL=0 +CONFIG_BATTERY_BQ27x00=m +CONFIG_BATTERY_DA9030=m +CONFIG_BATTERY_DS2760=m +CONFIG_BATTERY_DS2782=m +CONFIG_BATTERY_MAX17040=m +CONFIG_BATTERY_PMU=m +CONFIG_BAYCOM_EPP=m +CONFIG_BAYCOM_PAR=m +CONFIG_BAYCOM_SER_FDX=m +CONFIG_BAYCOM_SER_HDX=m +CONFIG_BBC_I2C=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_BINFMT_ELF=y +CONFIG_BINFMT_MISC=m +CONFIG_BITREVERSE=y +CONFIG_BITS=64 +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_CMD64X is not set +CONFIG_BLK_DEV_COMPCACHE=m +# CONFIG_BLK_DEV_COMPCACHE_DEBUG is not set +# CONFIG_BLK_DEV_COMPCACHE_STATS is not set +# 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_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_MD=m +CONFIG_BLK_DEV_NBD=m +# CONFIG_BLK_DEV_NS87415 is not set +# CONFIG_BLK_DEV_OPTI621 is not set +CONFIG_BLK_DEV_OSD=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_SC1200 is not set +CONFIG_BLK_DEV_SD=m +# 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=m +# CONFIG_BLK_DEV_SVWKS is not set +CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_TC86C001 is not set +# CONFIG_BLK_DEV_TRIFLEX is not set +# CONFIG_BLK_DEV_TRM290 is not set +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_UMEM=m +# CONFIG_BLK_DEV_VIA82CXXX is not set +# CONFIG_BLK_DEV_XIP is not set +CONFIG_BLOCK=y +CONFIG_BLOCK_COMPAT=y +CONFIG_BMAC=m +CONFIG_BNX2=m +# CONFIG_BNX2X is not set +# 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 is not set +# CONFIG_BOOT_TRACER is not set +CONFIG_BOUNCE=y +CONFIG_BPQETHER=m +CONFIG_BRANCH_PROFILE_NONE=y +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=m +CONFIG_BRIDGE_EBT_VLAN=m +CONFIG_BRIDGE_NETFILTER=y +CONFIG_BRIQ_PANEL=m +CONFIG_BROADCOM_PHY=m +CONFIG_BROKEN_ON_SMP=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_BTRFS_FS=m +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +# CONFIG_BT_CMTP is not set +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_BCSP=y +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIVHCI=m +CONFIG_BT_HIDP=m +CONFIG_BT_L2CAP=m +CONFIG_BT_MRVL=m +CONFIG_BT_MRVL_SDIO=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_SCO=m +CONFIG_BUG=y +CONFIG_C2PORT=m +CONFIG_CACHEFILES=m +# CONFIG_CACHEFILES_DEBUG is not set +# CONFIG_CACHEFILES_HISTOGRAM is not set +CONFIG_CAN=m +CONFIG_CAN_BCM=m +# CONFIG_CAN_CALC_BITTIMING is not set +# CONFIG_CAN_DEBUG_DEVICES is not set +CONFIG_CAN_DEV=m +CONFIG_CAN_EMS_PCI=m +CONFIG_CAN_EMS_USB=m +CONFIG_CAN_KVASER_PCI=m +CONFIG_CAN_RAW=m +CONFIG_CAN_SJA1000=m +CONFIG_CAN_SJA1000_OF_PLATFORM=m +CONFIG_CAN_SJA1000_PLATFORM=m +CONFIG_CAN_VCAN=m +# CONFIG_CAPI_AVM is not set +# CONFIG_CAPI_EICON is not set +CONFIG_CAPI_TRACE=y +CONFIG_CARDBUS=y +# CONFIG_CARDMAN_4000 is not set +# CONFIG_CARDMAN_4040 is not set +# 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_CDROM_PKTCDVD=m +CONFIG_CDROM_PKTCDVD_BUFFERS=8 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CFG80211=m +CONFIG_CFG80211_DEBUGFS=y +CONFIG_CFG80211_DEFAULT_PS=y +CONFIG_CFG80211_DEFAULT_PS_VALUE=1 +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +CONFIG_CGROUPS=y +# CONFIG_CGROUP_CPUACCT is not set +# CONFIG_CGROUP_DEBUG is not set +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_NS=y +# CONFIG_CGROUP_SCHED is not set +CONFIG_CHARGER_PCF50633=m +CONFIG_CHECK_SIGNATURE=y +CONFIG_CHELSIO_T1=m +CONFIG_CHELSIO_T1_1G=y +CONFIG_CHELSIO_T3=m +CONFIG_CHELSIO_T3_DEPENDS=y +CONFIG_CHR_DEV_OSST=m +CONFIG_CHR_DEV_SG=m +CONFIG_CHR_DEV_ST=m +CONFIG_CICADA_PHY=m +CONFIG_CIFS=m +# CONFIG_CIFS_DEBUG2 is not set +CONFIG_CIFS_DFS_UPCALL=y +# CONFIG_CIFS_EXPERIMENTAL is not set +# CONFIG_CIFS_STATS is not set +CONFIG_CIFS_UPCALL=y +CONFIG_CIFS_WEAK_PW_HASH=y +# CONFIG_CIFS_XATTR is not set +CONFIG_CISS_SCSI_TAPE=y +CONFIG_CLS_U32_MARK=y +# CONFIG_CLS_U32_PERF is not set +# CONFIG_CMDLINE_BOOL is not set +CONFIG_CNIC=m +CONFIG_CODA_FS=m +# CONFIG_CODE_PATCHING_SELFTEST is not set +# CONFIG_COMEDI is not set +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_COMPUTONE=m +CONFIG_CONFIGFS_FS=m +CONFIG_CONNECTOR=m +CONFIG_CONSOLE_POLL=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_CONSTRUCTORS=y +CONFIG_CONTEXT_SWITCH_TRACER=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CPUSETS=y +# CONFIG_CPU_FREQ_DEBUG is not set +# 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_PMAC=y +CONFIG_CPU_FREQ_STAT=m +CONFIG_CPU_FREQ_STAT_DETAILS=y +CONFIG_CPU_FREQ_TABLE=y +CONFIG_CRAMFS=m +# CONFIG_CRASH_DUMP is not set +CONFIG_CRC16=y +CONFIG_CRC32=y +CONFIG_CRC7=m +CONFIG_CRC_CCITT=m +CONFIG_CRC_ITU_T=m +CONFIG_CRC_T10DIF=m +CONFIG_CRYPTO=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_AES=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=m +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_CBC=m +# CONFIG_CRYPTO_CCM is not set +CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_CRYPTD=m +# CONFIG_CRYPTO_CTR is not set +CONFIG_CRYPTO_CTS=m +CONFIG_CRYPTO_DEFLATE=m +# CONFIG_CRYPTO_DEV_HIFN_795X is not set +CONFIG_CRYPTO_ECB=m +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_FIPS=y +# CONFIG_CRYPTO_GCM is not set +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_GHASH=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_MD4=m +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_PCOMP=y +CONFIG_CRYPTO_RMD128=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_RMD256=m +CONFIG_CRYPTO_RMD320=m +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +# CONFIG_CRYPTO_SALSA20 is not set +CONFIG_CRYPTO_SEED=m +# CONFIG_CRYPTO_SEQIV is not set +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA256=m +CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_COMMON=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_CUSE=m +CONFIG_CYCLADES=m +CONFIG_CYCLADES_SYNC=m +CONFIG_CYCLOMX_X25=y +# CONFIG_CYZ_INTR is not set +CONFIG_DAVICOM_PHY=m +CONFIG_DCB=y +CONFIG_DE2104X_DSL=0 +CONFIG_DE600=m +CONFIG_DE620=m +CONFIG_DEBUGGER=y +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_CREDENTIALS is not set +# CONFIG_DEBUG_DCFLUSH 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 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_NOTIFIERS 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_RT_MUTEXES is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_SHIRQ is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +# CONFIG_DEBUG_STACKOVERFLOW is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DECNET=m +CONFIG_DECNET_NF_GRABULATOR=m +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_LZMA=y +# CONFIG_DEFAULT_AS is not set +# CONFIG_DEFAULT_BIC is not set +CONFIG_DEFAULT_CFQ=y +CONFIG_DEFAULT_CUBIC=y +# CONFIG_DEFAULT_DEADLINE is not set +# CONFIG_DEFAULT_HTCP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +# 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_TCP_CONG="cubic" +# CONFIG_DEFAULT_UIMAGE is not set +# CONFIG_DEFAULT_VEGAS is not set +# CONFIG_DEFAULT_WESTWOOD is not set +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +# CONFIG_DEFXX_MMIO is not set +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_DEVKMEM is not set +CONFIG_DEVPORT=y +CONFIG_DEVPTS_MULTIPLE_INSTANCES=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_DIGIEPCA=m +# CONFIG_DISABLE_VHPT is not set +CONFIG_DISCONTIGMEM=y +CONFIG_DISPLAY7SEG=m +CONFIG_DISPLAY_SUPPORT=m +CONFIG_DL2K=m +CONFIG_DLCI=m +CONFIG_DLCI_MAX=8 +CONFIG_DLM=m +# CONFIG_DLM_DEBUG is not set +CONFIG_DMAR=y +# CONFIG_DMAR_DEFAULT_ON is not set +# CONFIG_DMA_API_DEBUG is not set +CONFIG_DMI=y +CONFIG_DMIID=y +CONFIG_DM_CRYPT=m +# CONFIG_DM_DEBUG is not set +# CONFIG_DM_DELAY 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_RAID45 is not set +CONFIG_DM_SNAPSHOT=m +CONFIG_DM_UEVENT=y +CONFIG_DM_ZERO=m +CONFIG_DNET=m +CONFIG_DNOTIFY=y +CONFIG_DONGLE=y +CONFIG_DRAGONRISE_FF=y +CONFIG_DRM_I2C_CH7006=m +CONFIG_DRM_KMS_HELPER=m +CONFIG_DRM_MGA=m +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_VIA=m +CONFIG_DS1682=m +CONFIG_DSCC4=m +CONFIG_DSCC4_PCISYNC=y +CONFIG_DSCC4_PCI_RST=y +# CONFIG_DST is not set +CONFIG_DTC=y +CONFIG_DUMMY=m +CONFIG_DUMMY_CONSOLE=y +CONFIG_DVB_AF9013=m +CONFIG_DVB_AU8522=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_CORE is not set +CONFIG_DVB_CAPTURE_DRIVERS=y +CONFIG_DVB_CX22700=m +CONFIG_DVB_CX22702=m +CONFIG_DVB_CX24110=m +CONFIG_DVB_CX24116=m +CONFIG_DVB_CX24123=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_DYNAMIC_MINORS=y +# CONFIG_DVB_FE_CUSTOMISE is not set +CONFIG_DVB_FIREDTV=m +CONFIG_DVB_FIREDTV_IEEE1394=y +CONFIG_DVB_FIREDTV_INPUT=y +CONFIG_DVB_ISL6405=m +CONFIG_DVB_ISL6421=m +CONFIG_DVB_L64781=m +CONFIG_DVB_LGDT3305=m +CONFIG_DVB_LGDT330X=m +CONFIG_DVB_LGS8GXX=m +CONFIG_DVB_LNBP21=m +CONFIG_DVB_MAX_ADAPTERS=8 +CONFIG_DVB_MT312=m +CONFIG_DVB_MT352=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_S5H1409=m +CONFIG_DVB_S5H1411=m +CONFIG_DVB_S5H1420=m +CONFIG_DVB_SI21XX=m +CONFIG_DVB_SP8870=m +CONFIG_DVB_SP887X=m +CONFIG_DVB_STB6000=m +CONFIG_DVB_STV0288=m +CONFIG_DVB_STV0297=m +CONFIG_DVB_STV0299=m +CONFIG_DVB_STV0900=m +CONFIG_DVB_STV6110=m +CONFIG_DVB_TDA10021=m +CONFIG_DVB_TDA10023=m +CONFIG_DVB_TDA10048=m +CONFIG_DVB_TDA1004X=m +CONFIG_DVB_TDA10086=m +CONFIG_DVB_TDA8083=m +CONFIG_DVB_TDA826X=m +CONFIG_DVB_TTUSB_BUDGET=m +CONFIG_DVB_TTUSB_DEC=m +CONFIG_DVB_TUNER_CX24113=m +CONFIG_DVB_TUNER_DIB0070=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_ANYSEE=m +CONFIG_DVB_USB_AU6610=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=y +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_FRIIO=m +CONFIG_DVB_USB_GL861=m +CONFIG_DVB_USB_GP8PSK=m +CONFIG_DVB_USB_M920X=m +CONFIG_DVB_USB_NOVA_T_USB2=m +CONFIG_DVB_USB_OPERA1=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_DYNAMIC_DEBUG is not set +CONFIG_DYNAMIC_FTRACE=y +CONFIG_E100=m +CONFIG_E1000=m +CONFIG_E1000E=m +# CONFIG_E200 is not set +CONFIG_EARLY_PRINTK=y +# CONFIG_ECHO is not set +CONFIG_ECONET_AUNUDP=y +CONFIG_ECONET_NATIVE=y +CONFIG_ECRYPT_FS=m +CONFIG_EDAC=y +# CONFIG_EDAC_AMD8111 is not set +# CONFIG_EDAC_AMD8131 is not set +# CONFIG_EDAC_CPC925 is not set +# CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_MM_EDAC=m +# CONFIG_EDAC_PASEMI is not set +CONFIG_EEH=y +CONFIG_EEPROM_93CX6=m +CONFIG_EEPROM_AT24=m +CONFIG_EEPROM_AT25=m +CONFIG_EEPROM_LEGACY=m +CONFIG_EEPROM_MAX6875=m +CONFIG_EFI=y +CONFIG_EFI_PARTITION=y +CONFIG_EFI_PCDP=y +CONFIG_EFI_VARS=m +CONFIG_EFS_FS=m +# CONFIG_ELECTRA_CF is not set +CONFIG_ELF_CORE=y +# CONFIG_EMBEDDED is not set +# CONFIG_EMBEDDED6xx is not set +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENC28J60 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +CONFIG_ENIC=m +CONFIG_ENVCTRL=m +CONFIG_EPIC100=m +CONFIG_EPOLL=y +CONFIG_EQUALIZER=m +CONFIG_ESI_DONGLE=m +# CONFIG_ET131X is not set +CONFIG_ETHOC=m +CONFIG_EVENTFD=y +CONFIG_EVENT_PROFILE=y +CONFIG_EVENT_TRACING=y +# CONFIG_EXOFS_DEBUG is not set +CONFIG_EXOFS_FS=m +CONFIG_EXPERIMENTAL=y +CONFIG_EXPORTFS=m +CONFIG_EXT2_FS=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_EXTRA_FIRMWARE="" +CONFIG_EXTRA_TARGETS="" +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_FARSYNC=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +CONFIG_FAT_FS=m +# CONFIG_FAULT_INJECTION is not set +CONFIG_FB=y +# CONFIG_FB_3DFX_ACCEL is not set +CONFIG_FB_3DFX_I2C=y +CONFIG_FB_ARK=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_BACKLIGHT=y +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_BROADSHEET=m +# CONFIG_FB_BW2 is not set +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_CG14 is not set +# CONFIG_FB_CG3 is not set +CONFIG_FB_CG6=y +CONFIG_FB_CONTROL=y +CONFIG_FB_CT65550=y +CONFIG_FB_CYBER2000=m +CONFIG_FB_DDC=y +CONFIG_FB_DEFERRED_IO=y +CONFIG_FB_FFB=y +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_IBM_GXT4500=m +# CONFIG_FB_LEO is not set +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_PCI_GDC=y +CONFIG_FB_METRONOME=m +CONFIG_FB_MODE_HELPERS=y +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_P9100 is not set +CONFIG_FB_PLATINUM=y +CONFIG_FB_PM3=m +CONFIG_FB_PS3_DEFAULT_SIZE_M=9 +CONFIG_FB_RADEON=y +CONFIG_FB_RADEON_BACKLIGHT=y +# CONFIG_FB_RADEON_DEBUG is not set +CONFIG_FB_RADEON_I2C=y +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_SAVAGE=m +CONFIG_FB_SAVAGE_ACCEL=y +CONFIG_FB_SAVAGE_I2C=y +CONFIG_FB_SBUS=y +CONFIG_FB_SIS_300=y +CONFIG_FB_SIS_315=y +CONFIG_FB_SM501=m +CONFIG_FB_SVGALIB=m +# CONFIG_FB_TCX is not set +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_TMIO=m +CONFIG_FB_TMIO_ACCELL=y +# CONFIG_FB_UDL is not set +CONFIG_FB_UVESA=m +CONFIG_FB_VALKYRIE=y +# CONFIG_FB_VGA16 is not set +CONFIG_FB_VIA=m +# CONFIG_FB_VIRTUAL is not set +CONFIG_FB_VT8623=m +CONFIG_FB_XVR2500=y +CONFIG_FB_XVR500=y +CONFIG_FCOE=m +CONFIG_FDDI=y +CONFIG_FEALNX=m +CONFIG_FIB_RULES=y +CONFIG_FILE_LOCKING=y +# CONFIG_FIREWIRE is not set +CONFIG_FIRMWARE_EDID=y +CONFIG_FIRMWARE_IN_KERNEL=y +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_FIXED_PHY=y +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +# CONFIG_FONTS is not set +CONFIG_FONT_8x16=y +CONFIG_FONT_8x8=y +# CONFIG_FONT_SUN12x22 is not set +CONFIG_FONT_SUN8x16=y +# CONFIG_FORCEDETH_NAPI is not set +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +CONFIG_FRAME_POINTER=y +CONFIG_FRAME_WARN=1024 +CONFIG_FREEZER=y +# CONFIG_FSAM7400 is not set +CONFIG_FSCACHE=m +# CONFIG_FSCACHE_DEBUG is not set +# CONFIG_FSCACHE_HISTOGRAM is not set +# CONFIG_FSCACHE_OBJECT_LIST is not set +# CONFIG_FSCACHE_STATS is not set +# CONFIG_FSL_ULI1575 is not set +CONFIG_FSNOTIFY=y +CONFIG_FS_MBCACHE=y +CONFIG_FS_POSIX_ACL=y +CONFIG_FTL=m +CONFIG_FTRACE=y +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_FTR_FIXUP_SELFTEST is not set +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_SAS=m +CONFIG_FUSION_SPI=m +CONFIG_FUTEX=y +CONFIG_FW_LOADER=y +CONFIG_GACT_PROB=y +CONFIG_GAMEPORT_EMU10K1=m +CONFIG_GAMEPORT_FM801=m +CONFIG_GAMEPORT_L4=m +CONFIG_GAMEPORT_NS558=m +CONFIG_GARP=m +# CONFIG_GCOV_KERNEL is not set +CONFIG_GELIC_WIRELESS=y +# CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE is not set +CONFIG_GENERIC_ACL=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_GENERIC_ATOMIC64=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_GENERIC_FIND_LAST_BIT=y +CONFIG_GENERIC_FIND_NEXT_BIT=y +CONFIG_GENERIC_GPIO=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_ISA_DMA=y +# CONFIG_GENERIC_LOCKBREAK is not set +CONFIG_GENERIC_NVRAM=y +CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_GENERIC_TIME=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_TRACER=y +CONFIG_GFS2_FS=m +CONFIG_GFS2_FS_LOCKING_DLM=y +# CONFIG_GIGASET_BASE is not set +# CONFIG_GIGASET_DEBUG is not set +# CONFIG_GIGASET_M101 is not set +# CONFIG_GIGASET_M105 is not set +CONFIG_GIRBIL_DONGLE=m +CONFIG_GPIOLIB=y +CONFIG_GPIO_BT8XX=m +CONFIG_GPIO_LANGWELL=y +CONFIG_GPIO_MAX7301=m +CONFIG_GPIO_MAX732X=m +CONFIG_GPIO_MC33880=m +CONFIG_GPIO_MCP23S08=m +CONFIG_GPIO_PCA953X=m +CONFIG_GPIO_PCF857X=m +CONFIG_GPIO_TWL4030=m +CONFIG_GPIO_UCB1400=y +CONFIG_GPIO_WM831X=m +CONFIG_GPIO_XILINX=y +CONFIG_GREENASIA_FF=y +CONFIG_GROUP_SCHED=y +CONFIG_HANGCHECK_TIMER=m +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +# CONFIG_HAS_RAPIDIO is not set +# CONFIG_HAVE_AOUT is not set +# CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID is not set +CONFIG_HAVE_ARCH_KGDB=y +CONFIG_HAVE_ARCH_NODEDATA_EXTENSION=y +CONFIG_HAVE_ARCH_TRACEHOOK=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_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_HAVE_IDE=y +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_KVM=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_HAVE_LEGACY_PER_CPU_AREA=y +CONFIG_HAVE_LMB=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_HAVE_MLOCK=y +CONFIG_HAVE_MLOCKED_PAGE_BIT=y +CONFIG_HAVE_MTD_OTP=y +CONFIG_HAVE_OPROFILE=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HAVE_SYSCALL_WRAPPERS=y +CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=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_HEADERS_CHECK is not set +CONFIG_HERMES=m +CONFIG_HERMES_CACHE_FW_ON_INIT=y +CONFIG_HFSPLUS_FS=m +CONFIG_HFS_FS=m +CONFIG_HIBERNATE_32=y +CONFIG_HIBERNATE_64=y +CONFIG_HIBERNATION=y +CONFIG_HIBERNATION_NVS=y +CONFIG_HID=m +CONFIG_HIDRAW=y +CONFIG_HID_3M_PCT=m +CONFIG_HID_A4TECH=m +CONFIG_HID_APPLE=m +CONFIG_HID_BELKIN=m +CONFIG_HID_CHERRY=m +CONFIG_HID_CHICONY=m +CONFIG_HID_CYPRESS=m +CONFIG_HID_DRAGONRISE=m +CONFIG_HID_EZKEY=m +CONFIG_HID_GREENASIA=m +CONFIG_HID_GYRATION=m +CONFIG_HID_KENSINGTON=m +CONFIG_HID_KYE=m +CONFIG_HID_LOGITECH=m +CONFIG_HID_MICROSOFT=m +CONFIG_HID_MONTEREY=m +CONFIG_HID_MOSART=m +CONFIG_HID_NTRIG=m +CONFIG_HID_ORTEK=m +CONFIG_HID_PANTHERLORD=m +CONFIG_HID_PETALYNX=m +CONFIG_HID_PID=y +CONFIG_HID_QUANTA=m +CONFIG_HID_SAMSUNG=m +CONFIG_HID_SMARTJOYPLUS=m +CONFIG_HID_SONY=m +CONFIG_HID_STANTUM=m +CONFIG_HID_SUNPLUS=m +CONFIG_HID_SUPPORT=y +CONFIG_HID_THRUSTMASTER=m +CONFIG_HID_TOPSEED=m +CONFIG_HID_TWINHAN=m +CONFIG_HID_WACOM=m +CONFIG_HID_ZEROPLUS=m +CONFIG_HIGHMEM=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_HOLES_IN_ZONE=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_HOTPLUG=y +CONFIG_HOTPLUG_CPU=y +# CONFIG_HOTPLUG_PCI is not set +CONFIG_HPET=y +CONFIG_HPET_MMAP=y +CONFIG_HPFS_FS=m +# CONFIG_HP_SIMETH is not set +# CONFIG_HP_SIMSERIAL is not set +CONFIG_HTC_PASIC3=m +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE_SIZE_4MB=y +# CONFIG_HUGETLB_PAGE_SIZE_512K is not set +# CONFIG_HUGETLB_PAGE_SIZE_64K is not set +CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y +# CONFIG_HVCS is not set +# CONFIG_HVC_CONSOLE is not set +CONFIG_HVC_DRIVER=y +CONFIG_HVC_RTAS=y +CONFIG_HVC_UDBG=y +CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set +CONFIG_HWMON_VID=m +CONFIG_HW_CONSOLE=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_INTEL=m +CONFIG_HW_RANDOM_N2RNG=y +CONFIG_HW_RANDOM_PASEMI=y +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HW_RANDOM_VIRTIO=m +# CONFIG_HYSDN is not set +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=y +CONFIG_I2C_ALGOPCA=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_CHIP is not set +# CONFIG_I2C_DEBUG_CORE is not set +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_HYDRA=m +CONFIG_I2C_ISCH=m +CONFIG_I2C_MPC=m +CONFIG_I2C_OCORES=m +CONFIG_I2C_PARPORT=m +CONFIG_I2C_PARPORT_LIGHT=m +# CONFIG_I2C_PASEMI is not set +CONFIG_I2C_PCA_PLATFORM=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_POWERMAC=y +CONFIG_I2C_SCMI=m +CONFIG_I2C_SI470X=m +CONFIG_I2C_SI4713=m +CONFIG_I2C_SIMTEC=m +CONFIG_I2C_STUB=m +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_TINY_USB=m +CONFIG_I2O=m +CONFIG_I2O_BLOCK=m +CONFIG_I2O_BUS=m +CONFIG_I2O_CONFIG=m +CONFIG_I2O_CONFIG_OLD_IOCTL=y +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_I82092=m +CONFIG_IA32_SUPPORT=y +CONFIG_IA64=y +# CONFIG_IA64_ACPI_CPUFREQ is not set +# CONFIG_IA64_CYCLONE is not set +# CONFIG_IA64_DEBUG_CMPXCHG is not set +# CONFIG_IA64_DEBUG_IRQ is not set +# CONFIG_IA64_DIG is not set +# CONFIG_IA64_DIG_VTD is not set +# CONFIG_IA64_ESI is not set +CONFIG_IA64_GENERIC=y +CONFIG_IA64_GRANULE_16MB=y +# CONFIG_IA64_GRANULE_64MB is not set +# CONFIG_IA64_HP_AML_NFW is not set +# CONFIG_IA64_HP_SIM is not set +# CONFIG_IA64_HP_ZX1 is not set +# CONFIG_IA64_HP_ZX1_SWIOTLB is not set +CONFIG_IA64_L1_CACHE_SHIFT=7 +# CONFIG_IA64_MCA_RECOVERY is not set +# CONFIG_IA64_MC_ERR_INJECT is not set +CONFIG_IA64_PAGE_SIZE_16KB=y +# CONFIG_IA64_PAGE_SIZE_4KB is not set +# CONFIG_IA64_PAGE_SIZE_64KB is not set +# CONFIG_IA64_PAGE_SIZE_8KB is not set +# CONFIG_IA64_PALINFO is not set +# CONFIG_IA64_PRINT_HAZARDS is not set +# CONFIG_IA64_SGI_SN2 is not set +# CONFIG_IA64_SGI_UV is not set +CONFIG_IA64_UNCACHED_ALLOCATOR=y +# CONFIG_IA64_XEN_GUEST is not set +# CONFIG_IBMEBUS is not set +CONFIG_IBMLS=m +CONFIG_IBMOL=m +# CONFIG_IBMVETH is not set +CONFIG_IBMVIO=y +# CONFIG_IBM_BSR is not set +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set +# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set +# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +# CONFIG_IBM_NEW_EMAC_RGMII is not set +# CONFIG_IBM_NEW_EMAC_TAH is not set +# CONFIG_IBM_NEW_EMAC_ZMII is not set +CONFIG_ICPLUS_PHY=m +CONFIG_ICS932S401=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 is not set +CONFIG_IDE_PROC_FS=y +# CONFIG_IDE_TASK_IOCTL is not set +CONFIG_IDE_TIMINGS=y +CONFIG_IDE_XFER_MODE=y +CONFIG_IEEE1394=m +CONFIG_IEEE1394_DV1394=m +CONFIG_IEEE1394_ETH1394=m +CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y +CONFIG_IEEE1394_OHCI1394=m +CONFIG_IEEE1394_RAWIO=m +CONFIG_IEEE1394_SBP2=m +# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set +# CONFIG_IEEE1394_VERBOSEDEBUG is not set +CONFIG_IEEE1394_VIDEO1394=m +CONFIG_IEEE802154=m +CONFIG_IEEE802154_DRIVERS=m +# CONFIG_IEEE802154_FAKEHARD is not set +CONFIG_IFB=m +# CONFIG_IGB is not set +CONFIG_IGBVF=m +# CONFIG_IIO is not set +# CONFIG_IKCONFIG_PROC is not set +# CONFIG_IMA is not set +CONFIG_INET=y +CONFIG_INET6_XFRM_MODE_BEET=m +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET_AH=m +CONFIG_INET_DCCP_DIAG=m +CONFIG_INET_DIAG=y +CONFIG_INET_ESP=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_LRO=y +CONFIG_INET_TCP_DIAG=y +CONFIG_INET_TUNNEL=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_DEBUG=y +CONFIG_INFINIBAND_CXGB3=m +# CONFIG_INFINIBAND_CXGB3_DEBUG is not set +CONFIG_INFINIBAND_IPOIB=m +CONFIG_INFINIBAND_IPOIB_DEBUG=y +# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set +CONFIG_INFINIBAND_MTHCA=m +CONFIG_INFINIBAND_MTHCA_DEBUG=y +# CONFIG_INFINIBAND_NES is not set +CONFIG_INFINIBAND_USER_MEM=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +CONFIG_INPUT=y +CONFIG_INPUT_ADBHID=y +CONFIG_INPUT_ATI_REMOTE=m +CONFIG_INPUT_ATI_REMOTE2=m +CONFIG_INPUT_CM109=m +CONFIG_INPUT_EVDEV=m +CONFIG_INPUT_FF_MEMLESS=m +# CONFIG_INPUT_GPIO is not set +CONFIG_INPUT_GPIO_ROTARY_ENCODER=m +CONFIG_INPUT_KEYBOARD=y +CONFIG_INPUT_KEYSPAN_REMOTE=m +CONFIG_INPUT_MISC=y +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_PCAP=m +CONFIG_INPUT_PCF50633_PMU=m +CONFIG_INPUT_PCSPKR=m +CONFIG_INPUT_POLLDEV=m +CONFIG_INPUT_POWERMATE=m +CONFIG_INPUT_SPARCSPKR=y +CONFIG_INPUT_TABLET=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_INPUT_TWL4030_PWRBUTTON=m +CONFIG_INPUT_WM831X_ON=m +CONFIG_INPUT_YEALINK=m +CONFIG_IOMMU_API=y +CONFIG_IOMMU_HELPER=y +CONFIG_IOMMU_VMERGE=y +CONFIG_IOSAPIC=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_CFQ=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_NOOP=y +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_RT=m +CONFIG_IP6_NF_QUEUE=m +CONFIG_IP6_NF_RAW=m +CONFIG_IP6_NF_SECURITY=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_TARGET_LOG=m +CONFIG_IP6_NF_TARGET_REJECT=m +# CONFIG_IPC_NS is not set +CONFIG_IPDDP=m +CONFIG_IPDDP_DECAP=y +CONFIG_IPDDP_ENCAP=y +# CONFIG_IPIC is not set +CONFIG_IPMI_DEVICE_INTERFACE=m +# CONFIG_IPMI_PANIC_EVENT is not set +CONFIG_IPMI_SI=m +CONFIG_IPMI_WATCHDOG=m +CONFIG_IPV6=m +# CONFIG_IPV6_MIP6 is not set +# CONFIG_IPV6_MROUTE is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +# CONFIG_IPV6_ROUTER_PREF is not set +CONFIG_IPV6_SIT=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 is not set +CONFIG_IPX=m +# CONFIG_IPX_INTERN is not set +CONFIG_IP_ADVANCED_ROUTER=y +# CONFIG_IP_DCCP_CCID2_DEBUG is not set +CONFIG_IP_DCCP_CCID3=y +# CONFIG_IP_DCCP_CCID3_DEBUG is not set +CONFIG_IP_DCCP_CCID3_RTO=100 +# CONFIG_IP_DCCP_DEBUG is not set +CONFIG_IP_DCCP_TFRC_LIB=y +CONFIG_IP_FIB_HASH=y +# CONFIG_IP_FIB_TRIE is not set +CONFIG_IP_MROUTE=y +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_ADDRTYPE=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_TTL=m +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_LOG=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 is not set +CONFIG_IP_PNP_RARP=y +CONFIG_IP_SCTP=m +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_NQ=m +CONFIG_IP_VS_PROTO_AH=y +CONFIG_IP_VS_PROTO_AH_ESP=y +CONFIG_IP_VS_PROTO_ESP=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_TAB_BITS=12 +CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_WRR=m +CONFIG_IRCOMM=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_IRQSTACKS is not set +# CONFIG_IRQ_ALL_CPUS is not set +CONFIG_IRQ_PER_CPU=y +CONFIG_IRTTY_SIR=m +# CONFIG_ISA is not set +CONFIG_ISA_DMA_API=y +CONFIG_ISCSI_TCP=m +# CONFIG_ISDN_AUDIO is not set +CONFIG_ISDN_CAPI=m +# CONFIG_ISDN_CAPI_CAPI20 is not set +# CONFIG_ISDN_CAPI_CAPIDRV is not set +# CONFIG_ISDN_CAPI_MIDDLEWARE is not set +# CONFIG_ISDN_DIVERSION is not set +CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y +# CONFIG_ISDN_DRV_HISAX is not set +# CONFIG_ISDN_DRV_LOOP is not set +CONFIG_ISDN_HDLC=m +CONFIG_ISDN_I4L=m +# CONFIG_ISDN_PPP is not set +# CONFIG_ISDN_X25 is not set +# CONFIG_ISI is not set +CONFIG_ISL29003=m +CONFIG_ISO9660_FS=m +CONFIG_ISTALLION=m +# CONFIG_ITANIUM is not set +CONFIG_ITCO_VENDOR_SUPPORT=y +CONFIG_ITCO_WDT=m +# CONFIG_IWL3945 is not set +# CONFIG_IWL4965 is not set +CONFIG_IWL5000=y +CONFIG_IWLAGN=m +CONFIG_IWLWIFI=m +# CONFIG_IWLWIFI_DEBUG is not set +CONFIG_IWLWIFI_LEDS=y +# CONFIG_IWLWIFI_SPECTRUM_MEASUREMENT is not set +CONFIG_IWM=m +# CONFIG_IWM_DEBUG is not set +CONFIG_IXGB=m +CONFIG_IXGBE=m +CONFIG_IXGBE_DCB=y +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_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_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_KARMA_PARTITION=y +CONFIG_KEXEC=y +CONFIG_KEYBOARD_ADP5588=m +CONFIG_KEYBOARD_ATKBD=y +CONFIG_KEYBOARD_GPIO=m +CONFIG_KEYBOARD_LKKBD=m +CONFIG_KEYBOARD_LM8323=m +CONFIG_KEYBOARD_MATRIX=m +CONFIG_KEYBOARD_MAX7359=m +CONFIG_KEYBOARD_OPENCORES=m +CONFIG_KEYBOARD_STOWAWAY=m +CONFIG_KEYBOARD_TWL4030=m +CONFIG_KEYS=y +CONFIG_KEYS_COMPAT=y +# CONFIG_KEYS_DEBUG_PROC_KEYS is not set +CONFIG_KGDB_SERIAL_CONSOLE=y +# CONFIG_KGDB_TESTS is not set +CONFIG_KINGSUN_DONGLE=m +# CONFIG_KMEMTRACE is not set +CONFIG_KPROBES=y +# CONFIG_KPROBES_SANITY_TEST is not set +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_LANMEDIA=m +CONFIG_LAPBETHER=m +CONFIG_LBDAF=y +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_LCD_ILI9320=m +CONFIG_LCD_LMS283GF05=m +CONFIG_LCD_LTV350QV=m +CONFIG_LCD_PLATFORM=m +CONFIG_LCD_TDO24M=m +CONFIG_LCD_VGG2432A4=m +# CONFIG_LDM_DEBUG is not set +CONFIG_LEDS_BD2802=m +CONFIG_LEDS_DA903X=m +CONFIG_LEDS_DAC124S085=m +# CONFIG_LEDS_GPIO is not set +CONFIG_LEDS_LP3944=m +CONFIG_LEDS_SUNFIRE=m +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_BACKLIGHT=m +CONFIG_LEDS_TRIGGER_GPIO=m +# CONFIG_LEDS_TRIGGER_IDE_DISK is not set +CONFIG_LEDS_WM831X_STATUS=m +CONFIG_LEDS_WM8350=m +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=0 +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_USB=m +CONFIG_LIBERTAS_USB=m +CONFIG_LIBFC=m +CONFIG_LIBFCOE=m +CONFIG_LIBIPW=m +# CONFIG_LIBIPW_DEBUG is not set +# CONFIG_LINE6_USB is not set +CONFIG_LIRC_ATIUSB=m +CONFIG_LIRC_BT829=m +CONFIG_LIRC_CONFIG_LIRC_WPC8769L=m +CONFIG_LIRC_DEV=m +CONFIG_LIRC_ENE0100=m +# CONFIG_LIRC_GPIO is not set +CONFIG_LIRC_I2C=m +CONFIG_LIRC_IGORPLUGUSB=m +CONFIG_LIRC_IMON=m +CONFIG_LIRC_IT87=m +CONFIG_LIRC_ITE8709=m +CONFIG_LIRC_MCEUSB=m +# CONFIG_LIRC_PARALLEL is not set +CONFIG_LIRC_SASEM=m +CONFIG_LIRC_SERIAL=m +CONFIG_LIRC_SIR=m +CONFIG_LIRC_STREAMZAP=m +CONFIG_LIRC_TTUSBIR=m +CONFIG_LITELINK_DONGLE=m +# CONFIG_LKDTM is not set +CONFIG_LLC2=m +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_LOCKD=m +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_LOCKD_V4=y +CONFIG_LOCK_KERNEL=y +# CONFIG_LOCK_STAT is not set +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +# CONFIG_LOGO is not set +CONFIG_LOWMEM_SIZE=0x30000000 +# CONFIG_LPARCFG is not set +# CONFIG_LP_CONSOLE is not set +CONFIG_LSI_ET1011C_PHY=m +CONFIG_LSM_MMAP_MIN_ADDR=0 +CONFIG_LXT_PHY=m +CONFIG_M25PXX_USE_FAST_READ=y +CONFIG_MA600_DONGLE=m +CONFIG_MAC80211=m +CONFIG_MAC80211_DEBUGFS=y +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_HWSIM=m +CONFIG_MAC80211_LEDS=y +CONFIG_MAC80211_RC_DEFAULT="minstrel" +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +# CONFIG_MAC80211_RC_DEFAULT_PID is not set +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MACE=m +# CONFIG_MACE_AAUI_PORT is not set +CONFIG_MACINTOSH_DRIVERS=y +CONFIG_MAC_EMUMOUSEBTN=y +CONFIG_MAC_FLOPPY=m +CONFIG_MAGIC_SYSRQ=y +CONFIG_MARVELL_PHY=m +CONFIG_MAX_RAW_DEVS=256 +CONFIG_MCKINLEY=y +CONFIG_MCOUNT=y +CONFIG_MCP2120_DONGLE=m +CONFIG_MCS_FIR=m +CONFIG_MD=y +CONFIG_MDIO=m +CONFIG_MDIO_BITBANG=m +CONFIG_MDIO_GPIO=m +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_MD_RAID6_PQ=m +CONFIG_MEDIA_ATTACH=y +CONFIG_MEDIA_SUPPORT=m +CONFIG_MEDIA_TUNER=m +# CONFIG_MEDIA_TUNER_CUSTOMISE is not set +CONFIG_MEDIA_TUNER_MC44S803=m +CONFIG_MEDIA_TUNER_MT2060=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_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_XC2028=m +CONFIG_MEDIA_TUNER_XC5000=m +CONFIG_MEGARAID_LEGACY=m +CONFIG_MEGARAID_MAILBOX=m +CONFIG_MEGARAID_MM=m +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_SAS=m +CONFIG_MEMORY_HOTPLUG=y +CONFIG_MEMORY_HOTPLUG_SPARSE=y +# CONFIG_MEMORY_HOTREMOVE is not set +# CONFIG_MEMSTICK is not set +CONFIG_MFD_CORE=m +CONFIG_MFD_MC13783=m +CONFIG_MFD_PCF50633=m +CONFIG_MFD_SM501=m +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_WM831X=m +CONFIG_MFD_WM8350=m +CONFIG_MFD_WM8350_I2C=m +CONFIG_MFD_WM8400=m +CONFIG_MIGRATION=y +CONFIG_MII=m +CONFIG_MINIX_FS=m +CONFIG_MISC_DEVICES=y +CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISDN=m +CONFIG_MISDN_AVMFRITZ=m +# CONFIG_MISDN_DSP is not set +# CONFIG_MISDN_HFCMULTI is not set +# CONFIG_MISDN_HFCPCI is not set +# CONFIG_MISDN_HFCUSB is not set +CONFIG_MISDN_INFINEON=m +CONFIG_MISDN_IPAC=m +CONFIG_MISDN_ISAR=m +# CONFIG_MISDN_L1OIP is not set +CONFIG_MISDN_NETJET=m +CONFIG_MISDN_SPEEDFAX=m +CONFIG_MISDN_W6692=m +CONFIG_MKISS=m +CONFIG_MLX4_CORE=m +CONFIG_MLX4_DEBUG=y +CONFIG_MLX4_EN=m +CONFIG_MLX4_INFINIBAND=m +CONFIG_MMC=m +# CONFIG_MMC_AT91 is not set +# CONFIG_MMC_ATMELMCI is not set +CONFIG_MMC_BLOCK=m +CONFIG_MMC_BLOCK_BOUNCE=y +CONFIG_MMC_CB710=m +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_RICOH_MMC=m +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +CONFIG_MMC_SDHCI_OF=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_VIA_SDMMC=m +CONFIG_MMC_WBSD=m +CONFIG_MMTIMER=y +CONFIG_MMU=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_PS2=m +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_ELANTECH=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SENTELIC=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_TRACKPOINT=y +CONFIG_MOUSE_SYNAPTICS_I2C=m +CONFIG_MOXA_INTELLIO=m +# CONFIG_MOXA_SMARTIO is not set +# CONFIG_MPC5121_ADS is not set +# CONFIG_MPC5121_GENERIC is not set +CONFIG_MPIC=y +CONFIG_MPIC_BROKEN_REGREAD=y +CONFIG_MPIC_U3_HT_IRQS=y +# CONFIG_MPIC_WEIRD is not set +CONFIG_MSDOS_FS=m +CONFIG_MSDOS_PARTITION=y +# CONFIG_MSI_BITMAP_SELFTEST is not set +# CONFIG_MSPEC is not set +CONFIG_MTD=m +CONFIG_MTDRAM_ERASE_SIZE=128 +CONFIG_MTDRAM_TOTAL_SIZE=4096 +CONFIG_MTD_ABSENT=m +CONFIG_MTD_ALAUDA=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_COMPLEX_MAPPINGS=y +CONFIG_MTD_CONCAT=m +CONFIG_MTD_DATAFLASH=m +CONFIG_MTD_DATAFLASH_OTP=y +# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set +# CONFIG_MTD_DEBUG is not set +CONFIG_MTD_DOC2000=m +CONFIG_MTD_DOC2001=m +CONFIG_MTD_DOC2001PLUS=m +CONFIG_MTD_DOCECC=m +CONFIG_MTD_DOCPROBE=m +CONFIG_MTD_DOCPROBE_ADDRESS=0 +# CONFIG_MTD_DOCPROBE_ADVANCED is not set +CONFIG_MTD_GEN_PROBE=m +CONFIG_MTD_GPIO_ADDR=m +CONFIG_MTD_INTEL_VR_NOR=m +CONFIG_MTD_JEDECPROBE=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_CAFE=m +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_ECC_SMC is not set +# CONFIG_MTD_NAND_FSL_ELBC is not set +CONFIG_MTD_NAND_IDS=m +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +CONFIG_MTD_NAND_NANDSIM=m +# CONFIG_MTD_NAND_PASEMI is not set +CONFIG_MTD_NAND_PLATFORM=m +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +# CONFIG_MTD_OF_PARTS is not set +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_PARTITIONS=y +CONFIG_MTD_PCI=m +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_ROM=m +CONFIG_MTD_SLRAM=m +CONFIG_MTD_SST25L=m +CONFIG_MTD_SUN_UFLASH=m +CONFIG_MTD_TESTS=m +CONFIG_MTD_UBI=m +CONFIG_MTD_UBI_BEB_RESERVE=1 +# CONFIG_MTD_UBI_DEBUG is not set +CONFIG_MTD_UBI_GLUEBI=m +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +# CONFIG_MULTICORE_RAID456 is not set +CONFIG_MV643XX_ETH=m +CONFIG_MWL8K=m +CONFIG_MYRI10GE=m +CONFIG_MYRI_SBUS=m +CONFIG_NAMESPACES=y +CONFIG_NATIONAL_PHY=m +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_STRONG=y +CONFIG_NCP_FS=m +# CONFIG_NDISWRAPPER is not set +CONFIG_NE2K_PCI=m +CONFIG_NEED_MULTIPLE_NODES=y +CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y +CONFIG_NET=y +CONFIG_NETCONSOLE=m +CONFIG_NETCONSOLE_DYNAMIC=y +CONFIG_NETDEVICES=y +CONFIG_NETDEV_1000=y +CONFIG_NETDEV_10000=y +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_TPROXY=m +CONFIG_NETFILTER_XTABLES=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_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=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 is not set +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_OSF=m +# CONFIG_NETFILTER_XT_MATCH_OWNER is not set +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 is not set +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_RECENT=m +# CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT is not set +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_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_HL=m +CONFIG_NETFILTER_XT_TARGET_LED=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 is not set +CONFIG_NETFILTER_XT_TARGET_SECMARK=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set +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_NETROM=m +CONFIG_NETWORK_FILESYSTEMS=y +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_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=y +CONFIG_NET_CLS_FLOW=m +CONFIG_NET_CLS_FW=m +# CONFIG_NET_CLS_IND is not set +CONFIG_NET_CLS_ROUTE=y +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_DCCPPROBE=m +# CONFIG_NET_DROP_MONITOR is not set +CONFIG_NET_DSA=y +CONFIG_NET_DSA_MV88E6060=y +CONFIG_NET_DSA_MV88E6123_61_65=y +CONFIG_NET_DSA_MV88E6131=y +CONFIG_NET_DSA_MV88E6XXX=y +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_ETHERNET=y +CONFIG_NET_FC=y +CONFIG_NET_IPGRE_BROADCAST=y +CONFIG_NET_IPIP=m +CONFIG_NET_KEY=m +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_NET_NS=y +CONFIG_NET_PCI=y +CONFIG_NET_PCMCIA=y +CONFIG_NET_POCKET=y +CONFIG_NET_POLL_CONTROLLER=y +# CONFIG_NET_SB1000 is not set +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_ATM=m +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_DRR=m +CONFIG_NET_SCH_DSMARK=m +CONFIG_NET_SCH_FIFO=y +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_INGRESS=m +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_TCPPROBE=m +CONFIG_NET_TULIP=y +CONFIG_NET_VENDOR_3COM=y +CONFIG_NEW_LEDS=y +CONFIG_NFSD=m +CONFIG_NFSD_V2_ACL=y +CONFIG_NFSD_V3=y +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +CONFIG_NFS_ACL_SUPPORT=m +CONFIG_NFS_COMMON=y +CONFIG_NFS_FS=m +# CONFIG_NFS_FSCACHE is not set +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=y +# CONFIG_NFS_V4_1 is not set +CONFIG_NFTL=m +CONFIG_NFTL_RW=y +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_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_PROC_COMPAT=y +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_ACCT=y +CONFIG_NF_CT_NETLINK=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_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_NILFS2_FS=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=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_UTF8=m +CONFIG_NODES_SPAN_OTHER_NODES=y +CONFIG_NOP_TRACER=y +CONFIG_NOP_USB_XCEIV=m +# CONFIG_NORTEL_HERMES is not set +# CONFIG_NOZOMI is not set +CONFIG_NO_HZ=y +CONFIG_NR_QUICK=1 +CONFIG_NS83820=m +CONFIG_NSC_FIR=m +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_FS=m +# CONFIG_NTFS_RW is not set +CONFIG_NUMA=y +CONFIG_NVRAM=y +CONFIG_N_HDLC=m +CONFIG_OBP_FLASH=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_POSIX_ACL=y +CONFIG_OCFS2_FS_STATS=y +CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m +CONFIG_OF=y +CONFIG_OF_DEVICE=y +CONFIG_OF_GPIO=y +CONFIG_OF_I2C=y +CONFIG_OF_MDIO=y +CONFIG_OF_SPI=y +CONFIG_OLD_BELKIN_DONGLE=m +CONFIG_OMFS_FS=m +CONFIG_OPROFILE=m +# CONFIG_OTUS is not set +CONFIG_P54_COMMON=m +CONFIG_P54_LEDS=y +CONFIG_P54_PCI=m +CONFIG_P54_SPI=m +CONFIG_P54_USB=m +CONFIG_PACKET=y +CONFIG_PACKET_MMAP=y +CONFIG_PAGEFLAGS_EXTENDED=y +# CONFIG_PAGE_POISONING is not set +# CONFIG_PANEL is not set +CONFIG_PANTHERLORD_FF=y +CONFIG_PARAVIRT=y +CONFIG_PARAVIRT_GUEST=y +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_PARPORT_SUNBPP=m +CONFIG_PARTITION_ADVANCED=y +# CONFIG_PASEMI_MAC is not set +CONFIG_PATA_ACPI=m +# CONFIG_PATA_ALI is not set +CONFIG_PATA_AMD=m +# CONFIG_PATA_ARTOP is not set +# CONFIG_PATA_ATIIXP is not set +CONFIG_PATA_ATP867X=m +# CONFIG_PATA_CMD640_PCI is not set +# CONFIG_PATA_CMD64X is not set +CONFIG_PATA_CS5520=m +# CONFIG_PATA_CS5530 is not set +# CONFIG_PATA_CYPRESS is not set +CONFIG_PATA_EFAR=m +# CONFIG_PATA_HPT366 is not set +# CONFIG_PATA_HPT37X is not set +# CONFIG_PATA_HPT3X2N is not set +# CONFIG_PATA_HPT3X3 is not set +CONFIG_PATA_IT8213=m +CONFIG_PATA_IT821X=m +CONFIG_PATA_JMICRON=m +CONFIG_PATA_MARVELL=m +CONFIG_PATA_MPIIX=m +CONFIG_PATA_NETCELL=m +CONFIG_PATA_NINJA32=m +# CONFIG_PATA_NS87410 is not set +# CONFIG_PATA_NS87415 is not set +CONFIG_PATA_OF_PLATFORM=m +CONFIG_PATA_OLDPIIX=m +# CONFIG_PATA_OPTI is not set +# CONFIG_PATA_OPTIDMA is not set +CONFIG_PATA_PCMCIA=m +CONFIG_PATA_PDC2027X=m +# CONFIG_PATA_PDC_OLD is not set +CONFIG_PATA_PLATFORM=m +# CONFIG_PATA_RADISYS is not set +CONFIG_PATA_RDC=m +CONFIG_PATA_RZ1000=m +# CONFIG_PATA_SC1200 is not set +CONFIG_PATA_SCH=m +CONFIG_PATA_SERVERWORKS=m +CONFIG_PATA_SIL680=m +CONFIG_PATA_SIS=m +CONFIG_PATA_TRIFLEX=m +CONFIG_PATA_VIA=m +CONFIG_PATA_WINBOND=m +# CONFIG_PC300TOO is not set +CONFIG_PCCARD=m +CONFIG_PCCARD_NONSTATIC=m +CONFIG_PCF50633_ADC=m +CONFIG_PCF50633_GPIO=m +CONFIG_PCI=y +CONFIG_PCI200SYN=m +CONFIG_PCIEAER=y +# CONFIG_PCIEAER_INJECT is not set +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIEPORTBUS=y +# CONFIG_PCIE_ECRC is not set +CONFIG_PCIPCWATCHDOG=m +CONFIG_PCI_ATMEL=m +# CONFIG_PCI_DEBUG is not set +CONFIG_PCI_DOMAINS=y +# CONFIG_PCI_HERMES is not set +# CONFIG_PCI_IOV is not set +CONFIG_PCI_LEGACY=y +CONFIG_PCI_QUIRKS=y +# CONFIG_PCI_STUB is not set +CONFIG_PCI_SYSCALL=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_DEBUG is not set +CONFIG_PCMCIA_FDOMAIN=m +CONFIG_PCMCIA_FMVJ18X=m +CONFIG_PCMCIA_HERMES=m +CONFIG_PCMCIA_IBMTR=m +CONFIG_PCMCIA_IOCTL=y +CONFIG_PCMCIA_LOAD_CIS=y +CONFIG_PCMCIA_NETWAVE=m +CONFIG_PCMCIA_NINJA_SCSI=m +CONFIG_PCMCIA_NMCLAN=m +CONFIG_PCMCIA_PCNET=m +CONFIG_PCMCIA_QLOGIC=m +CONFIG_PCMCIA_RAYCS=m +CONFIG_PCMCIA_SMC91C92=m +CONFIG_PCMCIA_SPECTRUM=m +CONFIG_PCMCIA_SYM53C500=m +CONFIG_PCMCIA_WAVELAN=m +CONFIG_PCMCIA_WL3501=m +CONFIG_PCMCIA_XIRC2PS=m +CONFIG_PCMCIA_XIRCOM=m +CONFIG_PCNET32=m +CONFIG_PCSPKR_PLATFORM=y +CONFIG_PD6729=m +CONFIG_PDA_POWER=m +CONFIG_PDC_ADMA=m +# CONFIG_PERFMON is not set +CONFIG_PERF_COUNTERS=y +CONFIG_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y +# CONFIG_PERMIT_BSP_REMOVE is not set +CONFIG_PGTABLE_3=y +# CONFIG_PGTABLE_4 is not set +CONFIG_PHANTOM=m +CONFIG_PHONE=m +CONFIG_PHONET=m +CONFIG_PHONE_IXJ=m +CONFIG_PHONE_IXJ_PCMCIA=m +CONFIG_PHYLIB=y +# CONFIG_PHYP_DUMP is not set +CONFIG_PHYSICAL_START=0x00000000 +# CONFIG_PID_NS is not set +# CONFIG_PLAN9AUTH is not set +CONFIG_PLIP=m +# CONFIG_PLX_HERMES is not set +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_PMIC_DA903X=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_DISABLE_CONSOLE=y +CONFIG_PM_RUNTIME=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +CONFIG_PM_STD_PARTITION="" +CONFIG_PNP=y +CONFIG_PNPACPI=y +# CONFIG_PNP_DEBUG_MESSAGES is not set +# CONFIG_POCH is not set +# CONFIG_POHMELFS is not set +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_POWER3=y +CONFIG_POWER4=y +# CONFIG_POWER4_ONLY 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_16K_PAGES is not set +# CONFIG_PPC_256K_PAGES is not set +CONFIG_PPC_4K_PAGES=y +# CONFIG_PPC_64K_PAGES 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_FPU=y +CONFIG_PPC_HAVE_PMU_SUPPORT=y +CONFIG_PPC_I8259=y +# CONFIG_PPC_IBM_CELL_BLADE is not set +# CONFIG_PPC_INDIRECT_IO is not set +# CONFIG_PPC_ISERIES 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_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_PMAC64=y +CONFIG_PPC_PSERIES=y +CONFIG_PPC_RTAS=y +# CONFIG_PPC_SMLPAR is not set +# CONFIG_PPC_SPLPAR is not set +CONFIG_PPC_STD_MMU=y +CONFIG_PPC_STD_MMU_32=y +CONFIG_PPC_STD_MMU_64=y +CONFIG_PPC_UDBG_16550=y +CONFIG_PPDEV=m +CONFIG_PPP=m +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_DEBUG is not set +# CONFIG_PQ2ADS is not set +# CONFIG_PREEMPT 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 is not set +CONFIG_PROC_DEVICETREE=y +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_PROC_SYSCTL=y +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROVE_LOCKING 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_ROM=m +CONFIG_PS3_STORAGE=m +CONFIG_PS3_SYS_MANAGER=y +CONFIG_PS3_VUART=y +CONFIG_PSERIES_MSI=y +CONFIG_PSS_MIXER=y +CONFIG_QFMT_V2=m +CONFIG_QLA3XXX=m +CONFIG_QLGE=m +CONFIG_QNX4FS_FS=m +CONFIG_QSEMI_PHY=m +CONFIG_QT2160=m +CONFIG_QUICKLIST=y +CONFIG_QUOTA=y +CONFIG_QUOTACTL=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_QUOTA_TREE=m +CONFIG_R3964=m +# CONFIG_R6040 is not set +CONFIG_R8169_VLAN=y +CONFIG_RADIO_ADAPTERS=y +CONFIG_RADIO_GEMTEK_PCI=m +CONFIG_RADIO_MAESTRO=m +CONFIG_RADIO_MAXIRADIO=m +CONFIG_RADIO_SI470X=y +CONFIG_RADIO_SI4713=m +CONFIG_RADIO_TEA5764=m +CONFIG_RAID_ATTRS=m +# CONFIG_RAR_REGISTER is not set +CONFIG_RAW_DRIVER=m +# CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_RCU_FANOUT_EXACT is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_TRACE is not set +# 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_REALTEK_PHY is not set +CONFIG_REED_SOLOMON=m +CONFIG_REED_SOLOMON_DEC16=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_AB3100=m +CONFIG_REGULATOR_BQ24022=m +CONFIG_REGULATOR_DA903X=m +# CONFIG_REGULATOR_DEBUG is not set +# CONFIG_REGULATOR_FIXED_VOLTAGE is not set +CONFIG_REGULATOR_LP3971=m +CONFIG_REGULATOR_MAX1586=m +CONFIG_REGULATOR_MC13783=m +CONFIG_REGULATOR_PCAP=m +CONFIG_REGULATOR_PCF50633=m +CONFIG_REGULATOR_TPS65023=m +CONFIG_REGULATOR_TPS6507X=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_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 is not set +# CONFIG_RESOURCE_COUNTERS is not set +CONFIG_RFD_FTL=m +CONFIG_RFKILL=m +CONFIG_RFKILL_INPUT=y +CONFIG_RFKILL_LEDS=y +CONFIG_RING_BUFFER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +# CONFIG_RING_BUFFER_BENCHMARK is not set +CONFIG_ROADRUNNER=m +# CONFIG_ROADRUNNER_LARGE_RINGS is not set +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_RPCSEC_GSS_SPKM3=m +CONFIG_RT2400PCI=m +CONFIG_RT2500PCI=m +CONFIG_RT2500USB=m +CONFIG_RT2800USB=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_HT=y +CONFIG_RT2X00_LIB_LEDS=y +CONFIG_RT2X00_LIB_PCI=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT61PCI=m +CONFIG_RT73USB=m +# CONFIG_RTAS_FLASH is not set +CONFIG_RTAS_PROC=y +CONFIG_RTC_CLASS=y +# CONFIG_RTC_DEBUG is not set +CONFIG_RTC_DRV_AB3100=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_DS3234=m +CONFIG_RTC_DRV_EFI=m +CONFIG_RTC_DRV_FM3130=m +CONFIG_RTC_DRV_GENERIC=m +CONFIG_RTC_DRV_ISL1208=m +CONFIG_RTC_DRV_M41T80=m +CONFIG_RTC_DRV_M41T80_WDT=y +CONFIG_RTC_DRV_M41T94=m +CONFIG_RTC_DRV_M48T35=m +CONFIG_RTC_DRV_M48T86=m +CONFIG_RTC_DRV_MAX6900=m +CONFIG_RTC_DRV_MAX6902=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_RS5C348=m +CONFIG_RTC_DRV_RS5C372=m +CONFIG_RTC_DRV_RX8025=m +CONFIG_RTC_DRV_RX8581=m +CONFIG_RTC_DRV_S35390A=m +CONFIG_RTC_DRV_STARFIRE=y +CONFIG_RTC_DRV_STK17TA8=m +CONFIG_RTC_DRV_SUN4V=y +CONFIG_RTC_DRV_TWL4030=m +CONFIG_RTC_DRV_V3020=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=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_LIB=y +# CONFIG_RTL8180 is not set +CONFIG_RTL8187=m +# CONFIG_RTL8187SE is not set +CONFIG_RTL8187_LEDS=y +# CONFIG_RTL8192E is not set +# CONFIG_RTL8192SU is not set +# CONFIG_RT_GROUP_SCHED is not set +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_SATA_AHCI=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_SX4=m +CONFIG_SATA_ULI=m +CONFIG_SATA_VIA=m +CONFIG_SATA_VITESSE=m +CONFIG_SBUS=y +CONFIG_SBUSCHAR=y +CONFIG_SC6600=y +CONFIG_SC6600_CDROM=4 +CONFIG_SC6600_CDROMBASE=0 +CONFIG_SC6600_JOY=y +CONFIG_SC92031=m +# CONFIG_SCANLOG is not set +CONFIG_SCHED_DEBUG=y +CONFIG_SCHED_MC=y +CONFIG_SCHED_OMIT_FRAME_POINTER=y +CONFIG_SCHED_SMT=y +# CONFIG_SCHED_TRACER is not set +CONFIG_SCSI_3W_9XXX=m +CONFIG_SCSI_AACRAID=m +CONFIG_SCSI_ACARD=m +CONFIG_SCSI_ADVANSYS=m +CONFIG_SCSI_AIC79XX=m +# CONFIG_SCSI_AIC7XXX_OLD is not set +CONFIG_SCSI_AIC94XX=m +CONFIG_SCSI_ARCMSR=m +CONFIG_SCSI_ARCMSR_AER=y +CONFIG_SCSI_BFA_FC=m +CONFIG_SCSI_BNX2_ISCSI=m +CONFIG_SCSI_BUSLOGIC=m +CONFIG_SCSI_CXGB3_ISCSI=m +CONFIG_SCSI_DC395x=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_EATA=m +CONFIG_SCSI_EATA_LINKED_COMMANDS=y +CONFIG_SCSI_EATA_MAX_TAGS=16 +CONFIG_SCSI_EATA_TAGGED_QUEUE=y +CONFIG_SCSI_FC_ATTRS=m +CONFIG_SCSI_FC_TGT_ATTRS=y +CONFIG_SCSI_GDTH=m +CONFIG_SCSI_HPTIOP=m +# CONFIG_SCSI_IBMVFC is not set +# CONFIG_SCSI_IBMVSCSI is not set +# CONFIG_SCSI_IBMVSCSIS is not set +CONFIG_SCSI_IMM=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_ISCSITARGET=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_MAC53C94=m +CONFIG_SCSI_MESH=m +CONFIG_SCSI_MESH_RESET_DELAY_MS=4000 +CONFIG_SCSI_MESH_SYNC_RATE=5 +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 is not set +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_PMCRAID=m +CONFIG_SCSI_PPA=m +CONFIG_SCSI_PROC_FS=y +CONFIG_SCSI_QLA_FC=m +CONFIG_SCSI_QLA_ISCSI=m +CONFIG_SCSI_QLOGICPTI=m +CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_SAS_ATA=y +CONFIG_SCSI_SAS_ATTRS=m +CONFIG_SCSI_SAS_HOST_SMP=y +CONFIG_SCSI_SAS_LIBSAS=m +# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SCSI_SRP=m +CONFIG_SCSI_SRP_ATTRS=m +CONFIG_SCSI_SRP_TGT_ATTRS=y +CONFIG_SCSI_STEX=m +CONFIG_SCSI_SUNESP=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_TGT=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_SDIO_UART=m +CONFIG_SECCOMP=y +CONFIG_SECURITY=y +CONFIG_SECURITYFS=y +CONFIG_SECURITY_APPARMOR=y +CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1 +CONFIG_SECURITY_APPARMOR_COMPAT_24=y +CONFIG_SECURITY_FILE_CAPABILITIES=y +CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_NETWORK_XFRM is not set +CONFIG_SECURITY_PATH=y +# CONFIG_SECURITY_ROOTPLUG is not set +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_SELECT_MEMORY_MODEL=y +CONFIG_SENSORS_AD7414=m +CONFIG_SENSORS_AD7418=m +CONFIG_SENSORS_ADCXX=m +CONFIG_SENSORS_ADM1026=m +CONFIG_SENSORS_ADM1029=m +CONFIG_SENSORS_ADM9240=m +# CONFIG_SENSORS_ADS7828 is not set +CONFIG_SENSORS_ADT7462=m +CONFIG_SENSORS_ADT7470=m +# CONFIG_SENSORS_ADT7473 is not set +CONFIG_SENSORS_ADT7475=m +CONFIG_SENSORS_AMS=m +CONFIG_SENSORS_AMS_I2C=y +CONFIG_SENSORS_AMS_PMU=y +CONFIG_SENSORS_ATXP1=m +CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_F71805F=m +CONFIG_SENSORS_F71882FG=m +CONFIG_SENSORS_F75375S=m +CONFIG_SENSORS_G760A=m +CONFIG_SENSORS_GL520SM=m +CONFIG_SENSORS_I5K_AMB=m +CONFIG_SENSORS_IBMAEM=m +CONFIG_SENSORS_IBMPEX=m +CONFIG_SENSORS_LIS3LV02D=m +CONFIG_SENSORS_LIS3_SPI=m +CONFIG_SENSORS_LM63=m +CONFIG_SENSORS_LM70=m +CONFIG_SENSORS_LM87=m +CONFIG_SENSORS_LM92=m +CONFIG_SENSORS_LM93=m +CONFIG_SENSORS_LM95241=m +CONFIG_SENSORS_LTC4215=m +CONFIG_SENSORS_LTC4245=m +CONFIG_SENSORS_MAX1111=m +CONFIG_SENSORS_MAX6650=m +CONFIG_SENSORS_PC87360=m +CONFIG_SENSORS_PC87427=m +CONFIG_SENSORS_SHT15=m +CONFIG_SENSORS_SIS5595=m +CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_SMSC47M1=m +CONFIG_SENSORS_SMSC47M192=m +CONFIG_SENSORS_THMC50=m +CONFIG_SENSORS_TMP401=m +CONFIG_SENSORS_TMP421=m +CONFIG_SENSORS_TSL2550=m +CONFIG_SENSORS_ULTRA45=m +CONFIG_SENSORS_VT1211=m +CONFIG_SENSORS_VT8231=m +CONFIG_SENSORS_W83627EHF=m +CONFIG_SENSORS_W83791D=m +CONFIG_SENSORS_W83792D=m +CONFIG_SENSORS_W83793=m +# CONFIG_SENSORS_W83L786NG is not set +CONFIG_SENSORS_WM831X=m +CONFIG_SENSORS_WM8350=m +CONFIG_SERIAL_8250=m +CONFIG_SERIAL_8250_CS=m +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_MANY_PORTS=y +CONFIG_SERIAL_8250_PCI=m +CONFIG_SERIAL_8250_PNP=m +CONFIG_SERIAL_8250_RSA=y +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_ICOM is not set +CONFIG_SERIAL_JSM=m +CONFIG_SERIAL_MAX3100=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIAL_OF_PLATFORM=m +CONFIG_SERIAL_PMACZILOG=m +# CONFIG_SERIAL_PMACZILOG_TTYS is not set +# CONFIG_SERIAL_SGI_IOC3 is not set +# CONFIG_SERIAL_SGI_IOC4 is not set +# CONFIG_SERIAL_SGI_L1_CONSOLE is not set +CONFIG_SERIAL_SUNCORE=y +CONFIG_SERIAL_SUNHV=y +CONFIG_SERIAL_SUNSAB=y +CONFIG_SERIAL_SUNSAB_CONSOLE=y +CONFIG_SERIAL_SUNSU=y +CONFIG_SERIAL_SUNSU_CONSOLE=y +CONFIG_SERIAL_SUNZILOG=y +CONFIG_SERIAL_SUNZILOG_CONSOLE=y +CONFIG_SERIAL_UARTLITE=m +CONFIG_SERIO=y +CONFIG_SERIO_I8042=y +CONFIG_SERIO_LIBPS2=y +CONFIG_SERIO_RAW=m +CONFIG_SERIO_SERPORT=m +CONFIG_SERIO_XILINX_XPS_PS2=m +CONFIG_SFC=m +CONFIG_SFC_MTD=y +CONFIG_SGI_IOC3=m +CONFIG_SGI_IOC4=m +CONFIG_SGI_SN=y +# CONFIG_SGI_SNSC is not set +# CONFIG_SGI_TIOCX is not set +CONFIG_SGI_XP=m +CONFIG_SHMEM=y +CONFIG_SIGMATEL_FIR=m +CONFIG_SIGNALFD=y +CONFIG_SIMPLE_GPIO=y +CONFIG_SIS190=m +CONFIG_SIS900=m +CONFIG_SKFP=m +CONFIG_SKGE=m +# CONFIG_SKGE_DEBUG is not set +CONFIG_SKY2=m +# CONFIG_SKY2_DEBUG is not set +# CONFIG_SLAB is not set +CONFIG_SLABINFO=y +CONFIG_SLHC=m +CONFIG_SLIP=m +CONFIG_SLIP_COMPRESSED=y +CONFIG_SLIP_SMART=y +# CONFIG_SLOB is not set +CONFIG_SLOW_WORK=y +# CONFIG_SLOW_WORK_DEBUG 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_SMB_FS=m +# CONFIG_SMB_NLS_DEFAULT is not set +CONFIG_SMC_IRCC_FIR=m +CONFIG_SMSC9420=m +CONFIG_SMSC_PHY=m +CONFIG_SMS_SDIO_DRV=m +CONFIG_SMS_SIANO_MDTV=m +CONFIG_SMS_USB_DRV=m +CONFIG_SND=m +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_AC97_POWER_SAVE=y +CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 +CONFIG_SND_AD1889=m +CONFIG_SND_ALI5451=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_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_AZT3328=m +CONFIG_SND_BT87X=m +CONFIG_SND_BT87X_OVERCLOCK=y +CONFIG_SND_CA0106=m +CONFIG_SND_CMIPCI=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_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_ES1938=m +CONFIG_SND_ES1968=m +CONFIG_SND_FM801=m +CONFIG_SND_FM801_TEA575X=m +CONFIG_SND_FM801_TEA575X_BOOL=y +CONFIG_SND_GINA20=m +CONFIG_SND_GINA24=m +CONFIG_SND_HDA_CODEC_ANALOG=y +CONFIG_SND_HDA_CODEC_ATIHDMI=y +CONFIG_SND_HDA_CODEC_CA0110=y +CONFIG_SND_HDA_CODEC_CIRRUS=y +CONFIG_SND_HDA_CODEC_CMEDIA=y +CONFIG_SND_HDA_CODEC_CONEXANT=y +CONFIG_SND_HDA_CODEC_INTELHDMI=y +CONFIG_SND_HDA_CODEC_NVHDMI=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_ELD=y +CONFIG_SND_HDA_GENERIC=y +CONFIG_SND_HDA_HWDEP=y +CONFIG_SND_HDA_INPUT_BEEP=y +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_RECONFIG=y +CONFIG_SND_HDSP=m +CONFIG_SND_HDSPM=m +# CONFIG_SND_HIFIER is not set +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_JACK=y +CONFIG_SND_KORG1212=m +CONFIG_SND_LAYLA20=m +CONFIG_SND_LAYLA24=m +CONFIG_SND_LX6464ES=m +CONFIG_SND_MAESTRO3=m +CONFIG_SND_MIA=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_MTPAV=m +CONFIG_SND_MTS64=m +CONFIG_SND_NM256=m +CONFIG_SND_OPL3_LIB=m +CONFIG_SND_OPL3_LIB_SEQ=m +# CONFIG_SND_OPL4_LIB_SEQ is not set +CONFIG_SND_OSSEMUL=y +# CONFIG_SND_OXYGEN is not set +CONFIG_SND_PCI=y +CONFIG_SND_PCM=m +CONFIG_SND_PCMCIA=y +CONFIG_SND_PCM_OSS=m +CONFIG_SND_PCM_OSS_PLUGINS=y +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_DSP=m +# CONFIG_SND_SBAWE_SEQ is not set +CONFIG_SND_SB_COMMON=m +CONFIG_SND_SEQUENCER=m +CONFIG_SND_SEQUENCER_OSS=y +CONFIG_SND_SEQ_DUMMY=m +CONFIG_SND_SEQ_HRTIMER_DEFAULT=y +CONFIG_SND_SERIAL_U16550=m +CONFIG_SND_SOC=m +CONFIG_SND_SOC_AD1836=m +CONFIG_SND_SOC_AD1938=m +CONFIG_SND_SOC_AD73311=m +CONFIG_SND_SOC_AK4104=m +CONFIG_SND_SOC_AK4535=m +CONFIG_SND_SOC_AK4642=m +CONFIG_SND_SOC_ALL_CODECS=m +CONFIG_SND_SOC_CS4270=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC_L3=m +CONFIG_SND_SOC_MAX9877=m +CONFIG_SND_SOC_PCM3008=m +CONFIG_SND_SOC_SPDIF=m +CONFIG_SND_SOC_SSM2602=m +CONFIG_SND_SOC_TLV320AIC23=m +CONFIG_SND_SOC_TLV320AIC26=m +CONFIG_SND_SOC_TLV320AIC3X=m +CONFIG_SND_SOC_TWL4030=m +CONFIG_SND_SOC_UDA134X=m +CONFIG_SND_SOC_UDA1380=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_WM8728=m +CONFIG_SND_SOC_WM8731=m +CONFIG_SND_SOC_WM8750=m +CONFIG_SND_SOC_WM8753=m +CONFIG_SND_SOC_WM8776=m +CONFIG_SND_SOC_WM8900=m +CONFIG_SND_SOC_WM8903=m +CONFIG_SND_SOC_WM8940=m +CONFIG_SND_SOC_WM8960=m +CONFIG_SND_SOC_WM8961=m +CONFIG_SND_SOC_WM8971=m +CONFIG_SND_SOC_WM8974=m +CONFIG_SND_SOC_WM8988=m +CONFIG_SND_SOC_WM8990=m +CONFIG_SND_SOC_WM8993=m +CONFIG_SND_SOC_WM9081=m +CONFIG_SND_SOC_WM_HUBS=m +CONFIG_SND_SONICVIBES=m +CONFIG_SND_SPARC=y +CONFIG_SND_SPI=y +CONFIG_SND_SUN_AMD7930=m +CONFIG_SND_SUN_CS4231=m +CONFIG_SND_SUN_DBRI=m +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_TIMER=m +CONFIG_SND_TRIDENT=m +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=m +CONFIG_SND_USB_CAIAQ=m +CONFIG_SND_USB_CAIAQ_INPUT=y +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 is not set +CONFIG_SND_VMASTER=y +CONFIG_SND_VX222=m +CONFIG_SND_VXPOCKET=m +CONFIG_SND_VX_LIB=m +CONFIG_SND_YMFPCI=m +CONFIG_SOC_CAMERA=m +CONFIG_SOC_CAMERA_MT9M001=m +CONFIG_SOC_CAMERA_MT9M111=m +CONFIG_SOC_CAMERA_MT9T031=m +CONFIG_SOC_CAMERA_MT9V022=m +CONFIG_SOC_CAMERA_OV772X=m +CONFIG_SOC_CAMERA_PLATFORM=m +CONFIG_SOC_CAMERA_TW9910=m +CONFIG_SOFT_WATCHDOG=m +CONFIG_SOUND=m +CONFIG_SOUND_AEDSP16=m +CONFIG_SOUND_DMAP=y +CONFIG_SOUND_KAHLUA=m +CONFIG_SOUND_MPU401=m +CONFIG_SOUND_MSS=m +CONFIG_SOUND_OSS=m +CONFIG_SOUND_OSS_CORE=y +CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUND_PAS=m +CONFIG_SOUND_PRIME=m +CONFIG_SOUND_PSS=m +CONFIG_SOUND_SB=m +CONFIG_SOUND_SSCAPE=m +# CONFIG_SOUND_TRACEINIT is not set +CONFIG_SOUND_TRIX=m +CONFIG_SOUND_UART6850=m +CONFIG_SOUND_VMIDI=m +CONFIG_SOUND_YM3812=m +CONFIG_SPARC=y +# CONFIG_SPARC32 is not set +CONFIG_SPARC64=y +# CONFIG_SPARC64_PAGE_SIZE_64KB is not set +CONFIG_SPARC64_PAGE_SIZE_8KB=y +CONFIG_SPARC64_PCI=y +CONFIG_SPARC64_SMP=y +CONFIG_SPARSEMEM=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPI=y +CONFIG_SPI_BITBANG=m +CONFIG_SPI_BUTTERFLY=m +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_GPIO=m +CONFIG_SPI_LM70_LLP=m +CONFIG_SPI_MASTER=y +CONFIG_SPI_SPIDEV=m +CONFIG_SPI_TLE62X0=m +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_SPU_BASE=y +CONFIG_SPU_FS=m +CONFIG_SPU_FS_64K_LS=y +CONFIG_SQUASHFS=m +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +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_SPROM=y +CONFIG_SSFDC=m +CONFIG_STACKTRACE=y +CONFIG_STACKTRACE_SUPPORT=y +# CONFIG_STACK_DEBUG is not set +# CONFIG_STACK_TRACER is not set +CONFIG_STAGING=y +CONFIG_STALDRV=y +CONFIG_STALLION=m +CONFIG_STANDALONE=y +CONFIG_STE10XP=m +CONFIG_STOP_MACHINE=y +CONFIG_STP=m +CONFIG_STRIP=m +# CONFIG_STRIP_ASM_SYMS is not set +CONFIG_SUNBMAC=m +CONFIG_SUNDANCE=m +CONFIG_SUNLANCE=m +CONFIG_SUNQE=m +CONFIG_SUNRPC=m +CONFIG_SUNRPC_GSS=m +CONFIG_SUNRPC_XPRT_RDMA=m +CONFIG_SUNVDC=m +CONFIG_SUNVNET=m +CONFIG_SUN_LDOMS=y +CONFIG_SUN_OPENPROMFS=m +CONFIG_SUN_OPENPROMIO=y +CONFIG_SUN_PARTITION=y +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_SWAP=y +CONFIG_SWIOTLB=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_SYSCTL_SYSCALL_CHECK=y +CONFIG_SYSFS=y +# CONFIG_SYSFS_DEPRECATED_V2 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 is not set +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_KBTAB=m +CONFIG_TADPOLE_TS102_UCTRL=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_TCG_ATMEL=m +# CONFIG_TCG_INFINEON is not set +CONFIG_TCG_NSC=m +# CONFIG_TCG_TIS is not set +CONFIG_TCG_TPM=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_TEXTSEARCH=y +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_TEXTSEARCH_KMP=m +CONFIG_THERMAL_HWMON=y +CONFIG_THERM_ADT746X=m +CONFIG_THERM_WINDTUNNEL=m +CONFIG_THRUSTMASTER_FF=y +CONFIG_TICK_ONESHOT=y +CONFIG_TIFM_7XX1=m +CONFIG_TIFM_CORE=m +CONFIG_TIGON3=m +CONFIG_TIMERFD=y +CONFIG_TIMER_STATS=y +CONFIG_TIPC=m +# CONFIG_TIPC_ADVANCED is not set +# CONFIG_TIPC_DEBUG is not set +CONFIG_TLAN=m +# CONFIG_TMD_HERMES is not set +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMS380TR=m +CONFIG_TMSPCI=m +CONFIG_TOIM3232_DONGLE=m +CONFIG_TOSHIBA_FIR=m +CONFIG_TOUCHSCREEN_AD7877=m +CONFIG_TOUCHSCREEN_AD7879=m +CONFIG_TOUCHSCREEN_AD7879_I2C=m +CONFIG_TOUCHSCREEN_ADS7846=m +CONFIG_TOUCHSCREEN_DA9034=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_ELO=m +CONFIG_TOUCHSCREEN_FUJITSU=m +CONFIG_TOUCHSCREEN_GUNZE=m +CONFIG_TOUCHSCREEN_INEXIO=m +CONFIG_TOUCHSCREEN_MCS5000=m +CONFIG_TOUCHSCREEN_MK712=m +CONFIG_TOUCHSCREEN_MTOUCH=m +CONFIG_TOUCHSCREEN_PCAP=m +CONFIG_TOUCHSCREEN_PENMOUNT=m +CONFIG_TOUCHSCREEN_TOUCHIT213=m +CONFIG_TOUCHSCREEN_TOUCHRIGHT=m +CONFIG_TOUCHSCREEN_TOUCHWIN=m +CONFIG_TOUCHSCREEN_TSC2007=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_EGALAX=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_PANJIT=y +CONFIG_TOUCHSCREEN_WACOM_W8001=m +CONFIG_TOUCHSCREEN_WM9705=y +CONFIG_TOUCHSCREEN_WM9712=y +CONFIG_TOUCHSCREEN_WM9713=y +CONFIG_TOUCHSCREEN_WM97XX=m +CONFIG_TRACEPOINTS=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_TRACING=y +CONFIG_TRACING_SUPPORT=y +# CONFIG_TRANZPORT is not set +# CONFIG_TREE_PREEMPT_RCU is not set +CONFIG_TREE_RCU=y +# CONFIG_TREE_RCU_TRACE is not set +CONFIG_TTPCI_EEPROM=m +CONFIG_TULIP=m +CONFIG_TULIP_DM910X=y +# CONFIG_TULIP_MMIO is not set +# CONFIG_TULIP_MWI is not set +CONFIG_TULIP_NAPI_HW_MITIGATION=y +CONFIG_TUN=y +# CONFIG_TUNE_CELL is not set +CONFIG_TWL4030_CORE=y +CONFIG_TWL4030_USB=m +CONFIG_TWL4030_WATCHDOG=m +CONFIG_TYPHOON=m +CONFIG_U3_DART=y +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +# CONFIG_UBIFS_FS_DEBUG is not set +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_XATTR=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_WRITE is not set +CONFIG_UID16=y +CONFIG_UIO=m +CONFIG_UIO_AEC=m +CONFIG_UIO_CIF=m +CONFIG_UIO_PCI_GENERIC=m +CONFIG_UIO_PDRV=m +CONFIG_UIO_PDRV_GENIRQ=m +CONFIG_UIO_SERCOS3=m +CONFIG_UIO_SMX=m +CONFIG_ULI526X=m +CONFIG_UNIX=y +CONFIG_UNIX98_PTYS=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_US3_MC=m +CONFIG_USBPCWATCHDOG=m +CONFIG_USB_ACM=m +CONFIG_USB_ADUTUX=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set +CONFIG_USB_APPLEDISPLAY=m +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARMLINUX=y +CONFIG_USB_ATM=m +CONFIG_USB_AUDIO=m +CONFIG_USB_BELKIN=y +CONFIG_USB_BERRY_CHARGE=m +CONFIG_USB_C67X00_HCD=m +CONFIG_USB_CATC=m +CONFIG_USB_CDC_COMPOSITE=m +CONFIG_USB_CDC_PHONET=m +CONFIG_USB_CXACRU=m +CONFIG_USB_CYPRESS_CY7C63=m +CONFIG_USB_CYTHERM=m +# CONFIG_USB_DABUSB is not set +# CONFIG_USB_DEBUG is not set +# CONFIG_USB_DEVICEFS is not set +# CONFIG_USB_DEVICE_CLASS is not set +CONFIG_USB_DSBR=m +# CONFIG_USB_DYNAMIC_MINORS is not set +CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=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_EPSON2888=y +CONFIG_USB_ET61X251=m +CONFIG_USB_ETH=m +# CONFIG_USB_ETH_EEM is not set +CONFIG_USB_ETH_RNDIS=y +CONFIG_USB_EZUSB=y +CONFIG_USB_FILE_STORAGE=m +# CONFIG_USB_FILE_STORAGE_TEST is not set +CONFIG_USB_FTDI_ELAN=m +CONFIG_USB_GADGETFS=m +# CONFIG_USB_GADGET_AMD5536UDC is not set +# CONFIG_USB_GADGET_AT91 is not set +# CONFIG_USB_GADGET_ATMEL_USBA is not set +# CONFIG_USB_GADGET_CI13XXX is not set +# 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_DUMMY_HCD is not set +# CONFIG_USB_GADGET_FSL_QE is not set +# CONFIG_USB_GADGET_FSL_USB2 is not set +# CONFIG_USB_GADGET_IMX is not set +# CONFIG_USB_GADGET_LANGWELL is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_M66592 is not set +# CONFIG_USB_GADGET_MUSB_HDRC is not set +# CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_PXA25X is not set +# CONFIG_USB_GADGET_PXA27X is not set +# CONFIG_USB_GADGET_R8A66597 is not set +# CONFIG_USB_GADGET_S3C2410 is not set +# CONFIG_USB_GADGET_S3C_HSOTG is not set +CONFIG_USB_GADGET_SELECTED=y +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_CONEX=m +CONFIG_USB_GSPCA_ETOMS=m +CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m +CONFIG_USB_GSPCA_MARS=m +CONFIG_USB_GSPCA_MR97310A=m +CONFIG_USB_GSPCA_OV519=m +CONFIG_USB_GSPCA_OV534=m +CONFIG_USB_GSPCA_PAC207=m +CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SN9C20X=m +# CONFIG_USB_GSPCA_SN9C20X_EVDEV is not set +CONFIG_USB_GSPCA_SONIXB=m +CONFIG_USB_GSPCA_SONIXJ=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_STK014=m +CONFIG_USB_GSPCA_SUNPLUS=m +CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TV8532=m +CONFIG_USB_GSPCA_VC032X=m +CONFIG_USB_GSPCA_ZC3XX=m +CONFIG_USB_G_PRINTER=m +CONFIG_USB_G_SERIAL=m +CONFIG_USB_HID=m +CONFIG_USB_HSO=m +CONFIG_USB_HWA_HCD=m +CONFIG_USB_IDMOUSE=m +CONFIG_USB_IOWARRIOR=m +# CONFIG_USB_IP_COMMON is not set +CONFIG_USB_IRDA=m +CONFIG_USB_ISIGHTFW=m +CONFIG_USB_ISP116X_HCD=m +CONFIG_USB_ISP1362_HCD=m +CONFIG_USB_ISP1760_HCD=m +CONFIG_USB_KAWETH=m +CONFIG_USB_KC2190=y +CONFIG_USB_LCD=m +CONFIG_USB_LD=m +CONFIG_USB_LED=m +CONFIG_USB_LEGOTOWER=m +# CONFIG_USB_LIBUSUAL is not set +CONFIG_USB_M5602=m +CONFIG_USB_MDC800=m +CONFIG_USB_MICROTEK=m +CONFIG_USB_MIDI_GADGET=m +CONFIG_USB_MR800=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_RNDIS_HOST=m +# CONFIG_USB_NET_RNDIS_WLAN is not set +CONFIG_USB_NET_SMSC95XX=m +# CONFIG_USB_NET_ZAURUS is not set +CONFIG_USB_OHCI_HCD_PCI=y +CONFIG_USB_OHCI_HCD_PPC_OF=y +CONFIG_USB_OHCI_HCD_PPC_OF_BE=y +# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set +# CONFIG_USB_OHCI_HCD_SSB is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_OTG is not set +CONFIG_USB_OTG_UTILS=y +# CONFIG_USB_OV511 is not set +CONFIG_USB_OXU210HP_HCD=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_PRINTER=m +# CONFIG_USB_PWC_DEBUG is not set +CONFIG_USB_PWC_INPUT_EVDEV=y +CONFIG_USB_R8A66597_HCD=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_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_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_QUALCOMM=m +# CONFIG_USB_SERIAL_QUATECH2 is not set +# CONFIG_USB_SERIAL_QUATECH_USB2 is not set +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_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SEVSEG=m +# CONFIG_USB_SI470X is not set +CONFIG_USB_SISUSBVGA=m +# CONFIG_USB_SISUSBVGA_CON is not set +CONFIG_USB_SL811_CS=m +CONFIG_USB_SL811_HCD=m +CONFIG_USB_SN9C102=m +CONFIG_USB_SPEEDTOUCH=m +# CONFIG_USB_STKWEBCAM is not set +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_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_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_TEST=m +CONFIG_USB_TMC=m +CONFIG_USB_TRANCEVIBRATOR=m +CONFIG_USB_U132_HCD=m +CONFIG_USB_UEAGLEATM=m +CONFIG_USB_USBNET=m +CONFIG_USB_USS720=m +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_VST=m +CONFIG_USB_W9968CF=m +CONFIG_USB_WDM=m +CONFIG_USB_WHCI_HCD=m +CONFIG_USB_WUSB=m +CONFIG_USB_WUSB_CBAF=m +# CONFIG_USB_WUSB_CBAF_DEBUG is not set +CONFIG_USB_XHCI_HCD=m +# CONFIG_USB_XHCI_HCD_DEBUGGING is not set +CONFIG_USB_XUSBATM=m +CONFIG_USB_ZC0301=m +CONFIG_USB_ZD1201=m +CONFIG_USB_ZERO=m +CONFIG_USB_ZR364XX=m +# CONFIG_USER_NS is not set +CONFIG_USER_SCHED=y +CONFIG_USE_GENERIC_SMP_HELPERS=y +# CONFIG_UTS_NS is not set +CONFIG_UWB=m +CONFIG_UWB_HWA=m +CONFIG_UWB_I1480U=m +CONFIG_UWB_I1480U_WLP=m +CONFIG_UWB_WHCI=m +CONFIG_UWB_WLP=m +CONFIG_V4L_USB_DRIVERS=y +CONFIG_VERSION_SIGNATURE="" +CONFIG_VETH=m +CONFIG_VFAT_FS=m +CONFIG_VGASTATE=m +CONFIG_VGA_ARB=y +# CONFIG_VGA_CONSOLE is not set +CONFIG_VIA_FIR=m +CONFIG_VIA_RHINE=m +CONFIG_VIA_RHINE_MMIO=y +CONFIG_VIA_VELOCITY=m +CONFIG_VIDEOBUF_DMA_SG=m +CONFIG_VIDEOBUF_DVB=m +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_VIDEO_ADV7180=m +CONFIG_VIDEO_ADV7343=m +# CONFIG_VIDEO_ADV_DEBUG is not set +CONFIG_VIDEO_ALLOW_V4L1=y +CONFIG_VIDEO_AU0828=m +CONFIG_VIDEO_BT848_DVB=y +CONFIG_VIDEO_BTCX=m +CONFIG_VIDEO_CAFE_CCIC=m +CONFIG_VIDEO_CAPTURE_DRIVERS=y +CONFIG_VIDEO_CPIA_PP=m +CONFIG_VIDEO_CPIA_USB=m +CONFIG_VIDEO_CS53L32A=m +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX231XX=m +CONFIG_VIDEO_CX231XX_ALSA=m +CONFIG_VIDEO_CX231XX_DVB=m +CONFIG_VIDEO_CX2341X=m +CONFIG_VIDEO_CX23885=m +# CONFIG_VIDEO_CX25821 is not set +CONFIG_VIDEO_CX25840=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_EM28XX_ALSA is not set +CONFIG_VIDEO_EM28XX_DVB=m +CONFIG_VIDEO_FB_IVTV=m +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +# CONFIG_VIDEO_GO7007 is not set +CONFIG_VIDEO_HDPVR=m +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set +CONFIG_VIDEO_HEXIUM_GEMINI=m +CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_IR=m +CONFIG_VIDEO_IR_I2C=m +CONFIG_VIDEO_MEDIA=m +CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_MT9V011=m +# CONFIG_VIDEO_MXB is not set +CONFIG_VIDEO_OUTPUT_CONTROL=m +CONFIG_VIDEO_OV7670=m +CONFIG_VIDEO_PVRUSB2=m +# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set +CONFIG_VIDEO_PVRUSB2_DVB=y +CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_SAA5246A=m +CONFIG_VIDEO_SAA6588=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_SAA7146=m +CONFIG_VIDEO_SAA7146_VV=m +CONFIG_VIDEO_SAA7164=m +CONFIG_VIDEO_SAA717X=m +CONFIG_VIDEO_STRADIS=m +CONFIG_VIDEO_TCM825X=m +CONFIG_VIDEO_TDA9840=m +CONFIG_VIDEO_TEA6415C=m +CONFIG_VIDEO_TEA6420=m +CONFIG_VIDEO_THS7303=m +CONFIG_VIDEO_TLV320AIC23B=m +CONFIG_VIDEO_TUNER=m +CONFIG_VIDEO_TVEEPROM=m +CONFIG_VIDEO_TVP514X=m +CONFIG_VIDEO_TVP5150=m +CONFIG_VIDEO_UPD64031A=m +CONFIG_VIDEO_UPD64083=m +CONFIG_VIDEO_USBVIDEO=m +CONFIG_VIDEO_USBVISION=m +CONFIG_VIDEO_V4L1=m +CONFIG_VIDEO_V4L1_COMPAT=y +CONFIG_VIDEO_V4L2=m +CONFIG_VIDEO_V4L2_COMMON=m +CONFIG_VIDEO_VIVI=m +CONFIG_VIDEO_VP27SMPX=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_VIRQ_DEBUG is not set +CONFIG_VIRTIO=m +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_CONSOLE=m +CONFIG_VIRTIO_NET=m +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_RING=m +CONFIG_VIRTUAL_MEM_MAP=y +CONFIG_VIRT_CPU_ACCOUNTING=y +CONFIG_VIRT_TO_BUS=y +CONFIG_VITESSE_PHY=m +CONFIG_VLAN_8021Q=m +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VLSI_FIR=m +# CONFIG_VME_BUS is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_VORTEX=m +# CONFIG_VSX is not set +CONFIG_VT=y +# CONFIG_VT6655 is not set +# CONFIG_VT6656 is not set +CONFIG_VT_CONSOLE=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_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_DS2431=m +CONFIG_W1_SLAVE_DS2433=m +# CONFIG_W1_SLAVE_DS2433_CRC is not set +CONFIG_W1_SLAVE_DS2760=m +CONFIG_W1_SLAVE_SMEM=m +CONFIG_W1_SLAVE_THERM=m +# CONFIG_W35UND is not set +CONFIG_WANXL=m +CONFIG_WAN_ROUTER_DRIVERS=m +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CP1XXX=m +CONFIG_WATCHDOG_RIO=m +CONFIG_WATCHDOG_RTAS=m +CONFIG_WDTPCI=m +CONFIG_WIMAX=m +CONFIG_WIMAX_DEBUG_LEVEL=8 +CONFIG_WIMAX_I2400M=m +CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 +CONFIG_WIMAX_I2400M_SDIO=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WINBOND_840=m +CONFIG_WINBOND_FIR=m +CONFIG_WINDFARM=m +CONFIG_WINDFARM_PM112=m +CONFIG_WINDFARM_PM121=m +CONFIG_WINDFARM_PM81=m +CONFIG_WINDFARM_PM91=m +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WIRELESS_EXT_SYSFS=y +# CONFIG_WIRELESS_OLD_REGULATORY is not set +CONFIG_WL1251=m +CONFIG_WL1251_SDIO=m +CONFIG_WL1251_SPI=m +CONFIG_WL1271=m +CONFIG_WL12XX=m +CONFIG_WLAN=y +CONFIG_WLAN_80211=y +CONFIG_WLAN_PRE80211=y +CONFIG_WM831X_POWER=m +CONFIG_WM831X_WATCHDOG=m +CONFIG_WM8350_POWER=m +CONFIG_WM8350_WATCHDOG=m +# CONFIG_WORKQUEUE_TRACER is not set +CONFIG_X25_ASY=m +# CONFIG_XEN is not set +CONFIG_XFRM=y +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_XICS=y +CONFIG_XILINX_EMACLITE=m +# CONFIG_XMON is not set +CONFIG_XOR_BLOCKS=m +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_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +CONFIG_ZEROPLUS_FF=y +CONFIG_ZISOFS=y +CONFIG_ZLIB_DEFLATE=m +CONFIG_ZLIB_INFLATE=y +CONFIG_ZONE_DMA=y --- linux-2.6.32.orig/debian.master/config/config.common.ubuntu +++ linux-2.6.32/debian.master/config/config.common.ubuntu @@ -0,0 +1,4565 @@ +# +# Common config options automatically generated by splitconfig.pl +# +CONFIG_3C359=m +CONFIG_3C515=m +# CONFIG_4KSTACKS is not set +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_AB3100_CORE=m +CONFIG_AB3100_OTP=m +CONFIG_ABYSS=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=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_ASUS is not set +CONFIG_ACPI_BATTERY=y +CONFIG_ACPI_BUTTON=y +CONFIG_ACPI_CONTAINER=y +# CONFIG_ACPI_CUSTOM_DSDT is not set +CONFIG_ACPI_CUSTOM_DSDT_FILE="" +# CONFIG_ACPI_DEBUG is not set +CONFIG_ACPI_DOCK=y +CONFIG_ACPI_FAN=y +CONFIG_ACPI_HOTPLUG_CPU=y +CONFIG_ACPI_HOTPLUG_MEMORY=m +CONFIG_ACPI_NUMA=y +CONFIG_ACPI_PCI_SLOT=y +CONFIG_ACPI_POWER_METER=m +CONFIG_ACPI_PROCESSOR=y +CONFIG_ACPI_PROCESSOR_AGGREGATOR=m +CONFIG_ACPI_PROCFS=y +CONFIG_ACPI_PROCFS_POWER=y +CONFIG_ACPI_PROC_EVENT=y +CONFIG_ACPI_SBS=y +CONFIG_ACPI_SLEEP=y +CONFIG_ACPI_SYSFS_POWER=y +CONFIG_ACPI_THERMAL=y +CONFIG_ACPI_TOSHIBA=m +CONFIG_ACPI_VIDEO=m +CONFIG_ACPI_WMI=y +CONFIG_ACQUIRE_WDT=m +CONFIG_ACT200L_DONGLE=m +CONFIG_ACTISYS_DONGLE=m +CONFIG_ADAPTEC_STARFIRE=m +CONFIG_ADFS_FS=m +# CONFIG_ADFS_FS_RW is not set +CONFIG_ADM8211=m +CONFIG_ADVANTECH_WDT=m +CONFIG_AEABI=y +CONFIG_AFFS_FS=m +# CONFIG_AFS_DEBUG is not set +CONFIG_AFS_FS=m +# CONFIG_AFS_FSCACHE is not set +CONFIG_AF_RXRPC=m +# CONFIG_AF_RXRPC_DEBUG is not set +CONFIG_AGP_ALI=m +CONFIG_AGP_AMD=m +CONFIG_AGP_ATI=m +CONFIG_AGP_EFFICEON=m +CONFIG_AGP_INTEL=m +CONFIG_AGP_NVIDIA=m +CONFIG_AGP_SIS=m +CONFIG_AGP_SWORKS=m +CONFIG_AGP_VIA=m +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_ALIGNMENT_TRAP=y +CONFIG_ALIM1535_WDT=m +CONFIG_ALIM7101_WDT=m +CONFIG_ALI_FIR=m +CONFIG_ALTERA_PCIE_CHDMA=m +CONFIG_AMD8111_ETH=m +CONFIG_AMD_IOMMU=y +CONFIG_AMD_IOMMU_STATS=y +CONFIG_AMIGA_PARTITION=y +CONFIG_ANON_INODES=y +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_EMULATION=m +# CONFIG_APM_IGNORE_USER_SUSPEND is not set +CONFIG_APM_POWER=m +CONFIG_APPLICOM=m +CONFIG_APRICOT=m +CONFIG_AR9170_LEDS=y +CONFIG_AR9170_USB=m +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_BCMRING is not set +# CONFIG_ARCH_CLPS711X is not set +CONFIG_ARCH_CPU_PROBE_RELEASE=y +# CONFIG_ARCH_DAVINCI 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_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_CPU_IDLE_WAIT=y +CONFIG_ARCH_HAS_CPU_RELAX=y +CONFIG_ARCH_HAS_DEFAULT_IDLE=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_IXP2000 is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_LOKI 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_NETX is not set +# CONFIG_ARCH_NOMADIK is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_PNX4008 is not set +CONFIG_ARCH_POPULATES_NODE_MAP=y +CONFIG_ARCH_PROC_KCORE_TEXT=y +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_S3C2410 is not set +# CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_S5PC1XX is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_SHARK is not set +CONFIG_ARCH_SPARSEMEM_ENABLE=y +# CONFIG_ARCH_STMP3XXX is not set +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y +CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# CONFIG_ARCH_U300 is not set +CONFIG_ARCH_USES_PG_UNCACHED=y +CONFIG_ARCH_VERSATILE=y +CONFIG_ARCH_VERSATILE_PB=y +# CONFIG_ARCH_W90X900 is not set +CONFIG_ARCH_WANT_FRAME_POINTERS=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_ARLAN=m +CONFIG_ARM=y +CONFIG_ARM_AMBA=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +CONFIG_ARM_L1_CACHE_SHIFT=5 +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_UNWIND=y +CONFIG_ARM_VIC=y +CONFIG_ARM_VIC_NR=2 +# CONFIG_ARPD is not set +CONFIG_ASK_IP_FIB_HASH=y +CONFIG_ASUS_LAPTOP=m +CONFIG_ASUS_OLED=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_CHANNEL_SWITCH=y +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_ATARI_PARTITION=y +CONFIG_ATA_ACPI=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_ATH9K=m +CONFIG_ATH9K_DEBUG=y +CONFIG_ATH_COMMON=m +CONFIG_ATL1=m +CONFIG_ATL1C=m +CONFIG_ATL1E=m +CONFIG_ATL2=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 is not set +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_ATP=m +CONFIG_AUDIT=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_GENERIC=y +CONFIG_AUDIT_TREE=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_RAMFS=y +# CONFIG_AUFS_DEBUG is not set +# CONFIG_AUFS_EXPORT is not set +CONFIG_AUFS_FS=m +CONFIG_AUFS_HINOTIFY=y +CONFIG_AUFS_POLL=y +# CONFIG_AUFS_RDU is not set +# CONFIG_AUFS_SHWH is not set +CONFIG_AUTOFS4_FS=m +CONFIG_AUTOFS_FS=m +CONFIG_AUXDISPLAY=y +CONFIG_AVERATEC_5100P=m +CONFIG_AX25=m +CONFIG_AX25_DAMA_SLAVE=y +CONFIG_AX88796=m +# CONFIG_AX88796_93CX6 is not set +CONFIG_B3DFG=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_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_LP=y +CONFIG_B43_PIO=y +# CONFIG_B43_SDIO is not set +CONFIG_B44_PCI=y +CONFIG_B44_PCICORE_AUTOSELECT=y +CONFIG_B44_PCI_AUTOSELECT=y +CONFIG_BACKLIGHT_CARILLO_RANCH=m +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_DA903X=m +CONFIG_BACKLIGHT_GENERIC=m +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_BACKLIGHT_MBP_NVIDIA=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_BATTERY_BQ27x00=m +CONFIG_BATTERY_DA9030=m +CONFIG_BATTERY_DS2760=m +CONFIG_BATTERY_DS2782=m +CONFIG_BATTERY_MAX17040=m +CONFIG_BATTERY_OLPC=m +CONFIG_BAYCOM_EPP=m +CONFIG_BAYCOM_PAR=m +CONFIG_BAYCOM_SER_FDX=m +CONFIG_BAYCOM_SER_HDX=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_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_COMPCACHE=m +# CONFIG_BLK_DEV_COMPCACHE_DEBUG is not set +# CONFIG_BLK_DEV_COMPCACHE_STATS is not set +# 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_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_MD=y +CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_OSD=m +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=65536 +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_UB is not set +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_BNX2=m +CONFIG_BNX2X=m +CONFIG_BONDING=m +# 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_BOOT_TRACER is not set +CONFIG_BOUNCE=y +CONFIG_BPQETHER=m +CONFIG_BRANCH_PROFILE_NONE=y +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=m +CONFIG_BRIDGE_EBT_VLAN=m +CONFIG_BRIDGE_NETFILTER=y +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BROADCOM_PHY=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_BSD_DISKLABEL=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_BTRFS_FS=m +CONFIG_BTRFS_FS_POSIX_ACL=y +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_BCSP=y +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIVHCI=m +CONFIG_BT_HIDP=m +CONFIG_BT_L2CAP=m +CONFIG_BT_MRVL=m +CONFIG_BT_MRVL_SDIO=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_SCO=m +CONFIG_BUG=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_CALGARY_IOMMU=y +CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y +CONFIG_CAN=m +CONFIG_CAN_BCM=m +# CONFIG_CAN_CALC_BITTIMING is not set +# CONFIG_CAN_DEBUG_DEVICES is not set +CONFIG_CAN_DEV=m +CONFIG_CAN_EMS_PCI=m +CONFIG_CAN_EMS_USB=m +CONFIG_CAN_KVASER_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_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_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_STACKPROTECTOR=y +CONFIG_CDROM_PKTCDVD_BUFFERS=8 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CFAG12864B=m +CONFIG_CFAG12864B_RATE=20 +CONFIG_CFG80211=m +CONFIG_CFG80211_DEBUGFS=y +CONFIG_CFG80211_DEFAULT_PS=y +CONFIG_CFG80211_DEFAULT_PS_VALUE=1 +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +CONFIG_CFG80211_REG_DEBUG=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_SWAP=y +CONFIG_CGROUP_NS=y +CONFIG_CGROUP_SCHED=y +CONFIG_CHARGER_PCF50633=m +CONFIG_CHECK_SIGNATURE=y +CONFIG_CHELSIO_T1=m +CONFIG_CHELSIO_T1_1G=y +CONFIG_CHELSIO_T3=m +CONFIG_CHELSIO_T3_DEPENDS=y +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_DEBUG2 is not set +CONFIG_CIFS_DFS_UPCALL=y +CONFIG_CIFS_EXPERIMENTAL=y +CONFIG_CIFS_POSIX=y +# CONFIG_CIFS_STATS is not set +CONFIG_CIFS_UPCALL=y +CONFIG_CIFS_WEAK_PW_HASH=y +CONFIG_CIFS_XATTR=y +CONFIG_CISS_SCSI_TAPE=y +CONFIG_CLOCKSOURCE_WATCHDOG=y +CONFIG_CLS_U32_MARK=y +# CONFIG_CLS_U32_PERF is not set +CONFIG_CMDLINE="" +# CONFIG_CMDLINE_BOOL is not set +CONFIG_CNIC=m +CONFIG_CODA_FS=m +CONFIG_COMEDI_8255=m +# CONFIG_COMEDI_DEBUG is not set +CONFIG_COMEDI_PCI_DRIVERS=m +CONFIG_COMEDI_PCMCIA_DRIVERS=m +CONFIG_COMEDI_USB_DRIVERS=m +CONFIG_COMMON_CLKDEV=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_COMPUTONE=m +CONFIG_CONFIGFS_FS=m +CONFIG_CONNECTOR=y +CONFIG_CONSOLE_POLL=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_CONSTRUCTORS=y +CONFIG_CONTEXT_SWITCH_TRACER=y +# CONFIG_COPS is not set +# 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_32=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_DEBUG is not set +# 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_HAS_ASID=y +# CONFIG_CPU_ICACHE_DISABLE is not set +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_CPU_PABRT_V7=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_CRASH_DUMP=y +CONFIG_CRC16=y +CONFIG_CRC32=y +CONFIG_CRC7=m +CONFIG_CRC_CCITT=m +CONFIG_CRC_ITU_T=m +CONFIG_CRC_T10DIF=y +CONFIG_CRYPTO=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_AES=m +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_CAMELLIA=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_CRC32C_INTEL=m +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_PADLOCK=y +CONFIG_CRYPTO_DEV_PADLOCK_AES=m +CONFIG_CRYPTO_DEV_PADLOCK_SHA=m +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_FIPS=y +CONFIG_CRYPTO_FPU=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=m +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=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=y +CONFIG_CRYPTO_RMD128=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_RMD256=m +CONFIG_CRYPTO_RMD320=m +CONFIG_CRYPTO_RNG=m +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_SHA1=m +CONFIG_CRYPTO_SHA256=m +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_VMAC=m +CONFIG_CRYPTO_WORKQUEUE=y +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_XTS=m +CONFIG_CRYPTO_ZLIB=m +CONFIG_CS5535_GPIO=m +CONFIG_CS89x0=m +CONFIG_CUSE=m +CONFIG_CYCLADES=m +CONFIG_CYCLADES_SYNC=m +CONFIG_CYCLOMX_X25=y +# CONFIG_CYZ_INTR is not set +CONFIG_DAB=y +CONFIG_DAVICOM_PHY=y +CONFIG_DCA=m +CONFIG_DCB=y +CONFIG_DCDBAS=m +CONFIG_DE2104X=m +CONFIG_DE2104X_DSL=0 +CONFIG_DE4X5=m +CONFIG_DE600=m +CONFIG_DE620=m +# 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_ERRORS=y +# 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_ICEDCC is not set +CONFIG_DEBUG_INFO=y +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_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_PREEMPT=y +CONFIG_DEBUG_RODATA=y +# CONFIG_DEBUG_RODATA_TEST is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_SHIRQ is not set +# CONFIG_DEBUG_SLAB is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +# CONFIG_DEBUG_STACKOVERFLOW is not set +# CONFIG_DEBUG_STACK_USAGE is not set +CONFIG_DEBUG_USER=y +# 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_DEFAULT_AS is not set +# CONFIG_DEFAULT_BIC is not set +CONFIG_DEFAULT_CUBIC=y +# CONFIG_DEFAULT_HTCP is not set +CONFIG_DEFAULT_IO_DELAY_TYPE=1 +# 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_TCP_CONG="cubic" +# CONFIG_DEFAULT_VEGAS is not set +# CONFIG_DEFAULT_WESTWOOD 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_DEPCA=m +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DETECT_SOFTLOCKUP=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_DIGIEPCA=m +CONFIG_DIRECT_GBPAGES=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +CONFIG_DISPLAY_SUPPORT=m +# CONFIG_DL2K is not set +CONFIG_DLCI=m +CONFIG_DLCI_MAX=8 +CONFIG_DLM=m +# CONFIG_DLM_DEBUG is not set +# CONFIG_DM9000 is not set +CONFIG_DM9102=m +CONFIG_DMADEVICES=y +# CONFIG_DMAR is not set +# CONFIG_DMATEST is not set +# CONFIG_DMA_API_DEBUG is not set +CONFIG_DMA_ENGINE=y +CONFIG_DMI=y +CONFIG_DMIID=y +CONFIG_DM_CRYPT=m +# CONFIG_DM_DEBUG is not set +# CONFIG_DM_DELAY is not set +# CONFIG_DM_LOG_USERSPACE is not set +CONFIG_DM_MIRROR=y +CONFIG_DM_MULTIPATH=y +CONFIG_DM_MULTIPATH_QL=m +CONFIG_DM_MULTIPATH_ST=m +CONFIG_DM_RAID45=m +CONFIG_DM_SNAPSHOT=y +CONFIG_DM_UEVENT=y +CONFIG_DM_ZERO=m +CONFIG_DNET=m +CONFIG_DNOTIFY=y +CONFIG_DONGLE=y +CONFIG_DOUBLEFAULT=y +CONFIG_DRAGONRISE_FF=y +CONFIG_DRM=m +CONFIG_DRM_I2C_CH7006=m +CONFIG_DRM_I810=m +CONFIG_DRM_I830=m +CONFIG_DRM_I915=m +CONFIG_DRM_I915_KMS=y +CONFIG_DRM_KMS_HELPER=m +CONFIG_DRM_MGA=m +CONFIG_DRM_NOUVEAU=m +CONFIG_DRM_NOUVEAU_BACKLIGHT=y +CONFIG_DRM_NOUVEAU_DEBUG=y +CONFIG_DRM_R128=m +CONFIG_DRM_RADEON_KMS=y +CONFIG_DRM_SAVAGE=m +CONFIG_DRM_SIS=m +CONFIG_DRM_TDFX=m +CONFIG_DRM_TTM=m +CONFIG_DRM_VIA=m +CONFIG_DS1682=m +CONFIG_DSCC4=m +CONFIG_DSCC4_PCISYNC=y +CONFIG_DSCC4_PCI_RST=y +CONFIG_DST=m +# CONFIG_DST_DEBUG is not set +CONFIG_DTLK=m +CONFIG_DUMMY=m +CONFIG_DUMMY_CONSOLE=y +CONFIG_DVB_AF9013=m +CONFIG_DVB_AU8522=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_DIB3000MB=m +CONFIG_DVB_DIB3000MC=m +CONFIG_DVB_DIB7000M=m +CONFIG_DVB_DIB7000P=m +CONFIG_DVB_DIB8000=m +CONFIG_DVB_DM1105=m +CONFIG_DVB_DYNAMIC_MINORS=y +# CONFIG_DVB_FE_CUSTOMISE is not set +CONFIG_DVB_FIREDTV=m +CONFIG_DVB_FIREDTV_IEEE1394=y +CONFIG_DVB_FIREDTV_INPUT=y +CONFIG_DVB_ISL6405=m +CONFIG_DVB_ISL6421=m +CONFIG_DVB_ISL6423=m +CONFIG_DVB_L64781=m +CONFIG_DVB_LGDT3305=m +CONFIG_DVB_LGDT330X=m +CONFIG_DVB_LGS8GXX=m +CONFIG_DVB_LNBP21=m +CONFIG_DVB_MAX_ADAPTERS=8 +CONFIG_DVB_MT312=m +CONFIG_DVB_MT352=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_S5H1409=m +CONFIG_DVB_S5H1411=m +CONFIG_DVB_S5H1420=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_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_TDA10086=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_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_ANYSEE=m +CONFIG_DVB_USB_AU6610=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_FRIIO=m +CONFIG_DVB_USB_GL861=m +CONFIG_DVB_USB_GP8PSK=m +CONFIG_DVB_USB_M920X=m +CONFIG_DVB_USB_NOVA_T_USB2=m +CONFIG_DVB_USB_OPERA1=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_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 is not set +CONFIG_ECHO=m +CONFIG_ECONET=m +CONFIG_ECONET_AUNUDP=y +CONFIG_ECONET_NATIVE=y +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_I82860=m +CONFIG_EDAC_I82875P=m +CONFIG_EDAC_I82975X=m +CONFIG_EDAC_MM_EDAC=m +CONFIG_EDAC_R82600=m +CONFIG_EDAC_X38=m +CONFIG_EDD=y +CONFIG_EDD_OFF=y +CONFIG_EEEPC_LAPTOP=m +CONFIG_EEPROM_93CX6=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_VARS=y +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_ELMC=m +CONFIG_ELMC_II=m +CONFIG_ELPLUS=m +# CONFIG_EMBEDDED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENC28J60 is not set +CONFIG_ENCLOSURE_SERVICES=m +CONFIG_ENIC=m +CONFIG_EPIC100=m +CONFIG_EPOLL=y +CONFIG_EQUALIZER=m +CONFIG_ES3210=m +CONFIG_ESI_DONGLE=m +CONFIG_ET131X=m +# CONFIG_ET131X_DEBUG is not set +CONFIG_ETH16I=m +CONFIG_ETHOC=m +CONFIG_EUROTECH_WDT=m +CONFIG_EVENTFD=y +CONFIG_EVENT_PROFILE=y +CONFIG_EVENT_TRACING=y +CONFIG_EWRK3=m +# CONFIG_EXOFS_DEBUG is not set +CONFIG_EXOFS_FS=m +CONFIG_EXPERIMENTAL=y +CONFIG_EXPORTFS=m +CONFIG_EXT2_FS=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_EXTRA_FIRMWARE="" +# CONFIG_EZX_PCAP is not set +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_FARSYNC=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +CONFIG_FAT_FS=m +# 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_ARMCLCD=y +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_BACKLIGHT=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_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_HGA_ACCEL is not set +CONFIG_FB_I810=m +# CONFIG_FB_I810_GTF is not set +CONFIG_FB_IMSTT=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_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_S3=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_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_VIRTUAL is not set +CONFIG_FB_VOODOO1=m +CONFIG_FB_VT8623=m +CONFIG_FCOE=m +CONFIG_FCOE_FNIC=m +CONFIG_FDDI=y +CONFIG_FEALNX=m +CONFIG_FIB_RULES=y +CONFIG_FILE_LOCKING=y +CONFIG_FIREWIRE=m +CONFIG_FIREWIRE_NET=m +CONFIG_FIREWIRE_OHCI=m +CONFIG_FIREWIRE_OHCI_DEBUG=y +# 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_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_FORCEDETH_NAPI is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +CONFIG_FRAME_POINTER=y +CONFIG_FRAME_WARN=1024 +CONFIG_FREEZER=y +CONFIG_FSCACHE=m +# CONFIG_FSCACHE_DEBUG is not set +# CONFIG_FSCACHE_HISTOGRAM is not set +# CONFIG_FSCACHE_OBJECT_LIST is not set +# CONFIG_FSCACHE_STATS is not set +CONFIG_FSNOTIFY=y +CONFIG_FS_MBCACHE=y +CONFIG_FS_POSIX_ACL=y +CONFIG_FTRACE=y +CONFIG_FTRACE_MCOUNT_RECORD=y +CONFIG_FTRACE_NMI_ENTER=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_FTRACE_SYSCALLS is not set +CONFIG_FUJITSU_LAPTOP=m +# CONFIG_FUJITSU_LAPTOP_DEBUG is not set +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_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_CMOS_UPDATE=y +CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_GENERIC_FIND_LAST_BIT=y +CONFIG_GENERIC_FIND_NEXT_BIT=y +CONFIG_GENERIC_GPIO=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_ISA_DMA=y +CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_GENERIC_TIME=y +CONFIG_GENERIC_TRACER=y +CONFIG_GFS2_FS=m +CONFIG_GFS2_FS_LOCKING_DLM=y +CONFIG_GIGASET_BASE=m +# CONFIG_GIGASET_DEBUG is not set +CONFIG_GIGASET_M101=m +CONFIG_GIGASET_M105=m +CONFIG_GIRBIL_DONGLE=m +CONFIG_GPIOLIB=y +# CONFIG_GPIO_BT8XX is not set +CONFIG_GPIO_LANGWELL=y +CONFIG_GPIO_MAX7301=m +CONFIG_GPIO_MAX732X=m +CONFIG_GPIO_MC33880=m +CONFIG_GPIO_MCP23S08=m +CONFIG_GPIO_PCA953X=m +CONFIG_GPIO_PCF857X=m +# CONFIG_GPIO_PL061 is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_TWL4030=m +CONFIG_GPIO_UCB1400=y +CONFIG_GPIO_WM831X=m +CONFIG_GREENASIA_FF=y +CONFIG_HAMACHI=m +CONFIG_HAMRADIO=y +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_TLS_REG=y +CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y +CONFIG_HAVE_ARCH_KGDB=y +CONFIG_HAVE_ARCH_KMEMCHECK=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_ATOMIC_IOMAP=y +CONFIG_HAVE_CLK=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_FTRACE_NMI_ENTER=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_IDE=y +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_KERNEL_BZIP2=y +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZMA=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_LATENCYTOP_SUPPORT=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_HAVE_MLOCK=y +CONFIG_HAVE_MLOCKED_PAGE_BIT=y +CONFIG_HAVE_MMIOTRACE_SUPPORT=y +CONFIG_HAVE_MTD_OTP=y +CONFIG_HAVE_OPROFILE=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=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_HFSPLUS_FS=m +CONFIG_HFS_FS=m +CONFIG_HIBERNATION=y +CONFIG_HIBERNATION_NVS=y +CONFIG_HID=m +CONFIG_HIDRAW=y +CONFIG_HID_3M_PCT=m +CONFIG_HID_A4TECH=m +CONFIG_HID_APPLE=m +CONFIG_HID_BELKIN=m +CONFIG_HID_CHERRY=m +CONFIG_HID_CHICONY=m +CONFIG_HID_CYPRESS=m +CONFIG_HID_DRAGONRISE=m +CONFIG_HID_EZKEY=m +CONFIG_HID_GREENASIA=m +CONFIG_HID_GYRATION=m +CONFIG_HID_KENSINGTON=m +CONFIG_HID_KYE=m +CONFIG_HID_LOGITECH=m +CONFIG_HID_MICROSOFT=m +CONFIG_HID_MONTEREY=m +CONFIG_HID_MOSART=m +CONFIG_HID_NTRIG=m +CONFIG_HID_ORTEK=m +CONFIG_HID_PANTHERLORD=m +CONFIG_HID_PETALYNX=m +CONFIG_HID_PID=y +CONFIG_HID_QUANTA=m +CONFIG_HID_SAMSUNG=m +CONFIG_HID_SMARTJOYPLUS=m +CONFIG_HID_SONY=m +CONFIG_HID_STANTUM=m +CONFIG_HID_SUNPLUS=m +CONFIG_HID_SUPPORT=y +CONFIG_HID_THRUSTMASTER=m +CONFIG_HID_TOPSEED=m +CONFIG_HID_TWINHAN=m +CONFIG_HID_WACOM=m +CONFIG_HID_ZEROPLUS=m +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_HIPPI=y +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_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_HP_ILO=m +# CONFIG_HP_WATCHDOG is not set +CONFIG_HP_WMI=m +# CONFIG_HTC_EGPIO is not set +CONFIG_HTC_PASIC3=m +CONFIG_HT_IRQ=y +CONFIG_HUGETLBFS=y +CONFIG_HVC_DRIVER=y +CONFIG_HVC_IRQ=y +CONFIG_HVC_XEN=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_BLOCK=m +CONFIG_HYPERV_NET=m +CONFIG_HYPERV_STORAGE=m +CONFIG_HYSDN=m +CONFIG_HYSDN_CAPI=y +# CONFIG_HZ_300 is not set +CONFIG_I2C=y +CONFIG_I2C_ALGOBIT=m +CONFIG_I2C_ALGOPCA=m +CONFIG_I2C_ALGOPCF=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_CHIP is not set +# CONFIG_I2C_DEBUG_CORE is not set +CONFIG_I2C_DESIGNWARE=m +CONFIG_I2C_GPIO=m +# CONFIG_I2C_HELPER_AUTO is not set +CONFIG_I2C_I801=m +CONFIG_I2C_ISCH=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_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_STUB=m +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_TINY_USB=m +CONFIG_I2C_VERSATILE=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m +CONFIG_I2C_VOODOO3=m +CONFIG_I2O=m +CONFIG_I2O_BLOCK=m +CONFIG_I2O_BUS=m +CONFIG_I2O_CONFIG=m +CONFIG_I2O_CONFIG_OLD_IOCTL=y +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_I8K=m +# CONFIG_IA32_AOUT is not set +CONFIG_IA32_EMULATION=y +CONFIG_IB700_WDT=m +CONFIG_IBMASR=m +CONFIG_IBMLANA=m +CONFIG_IBMLS=m +# CONFIG_IBMMCA_SCSI_DEV_RESET is not set +CONFIG_IBMMCA_SCSI_ORDER_STANDARD=y +CONFIG_IBMOL=m +CONFIG_IBMTR=m +CONFIG_IBM_ASM=m +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set +# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set +# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +# CONFIG_IBM_NEW_EMAC_RGMII is not set +# CONFIG_IBM_NEW_EMAC_TAH is not set +# CONFIG_IBM_NEW_EMAC_ZMII is not set +CONFIG_ICPLUS_PHY=y +CONFIG_ICS932S401=m +CONFIG_ICST307=y +# CONFIG_IDE is not set +CONFIG_IDE_PHISON=m +CONFIG_IEEE1394=m +CONFIG_IEEE1394_DV1394=m +CONFIG_IEEE1394_ETH1394=m +CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y +CONFIG_IEEE1394_OHCI1394=m +CONFIG_IEEE1394_PCILYNX=m +CONFIG_IEEE1394_RAWIO=m +CONFIG_IEEE1394_SBP2=m +# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set +# CONFIG_IEEE1394_VERBOSEDEBUG is not set +CONFIG_IEEE1394_VIDEO1394=m +CONFIG_IEEE802154=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_IIO=m +# CONFIG_IIO_RING_BUFFER is not set +# CONFIG_IIO_TRIGGER is not set +# 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=y +CONFIG_INET_ESP=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_LRO=y +CONFIG_INET_TCP_DIAG=y +CONFIG_INET_TUNNEL=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_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 is not set +CONFIG_INFINIBAND_SRP=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_INOTIFY=y +CONFIG_INOTIFY_USER=y +CONFIG_INPUT=y +# CONFIG_INPUT_APANEL is not set +CONFIG_INPUT_ATI_REMOTE=m +CONFIG_INPUT_ATI_REMOTE2=m +CONFIG_INPUT_ATLAS_BTNS=m +CONFIG_INPUT_CM109=m +CONFIG_INPUT_EVBUG=m +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_FF_MEMLESS=m +CONFIG_INPUT_GPIO=m +CONFIG_INPUT_GPIO_ROTARY_ENCODER=m +CONFIG_INPUT_KEYBOARD=y +CONFIG_INPUT_KEYSPAN_REMOTE=m +CONFIG_INPUT_MISC=y +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_PCF50633_PMU=m +CONFIG_INPUT_PCSPKR=m +CONFIG_INPUT_POLLDEV=m +CONFIG_INPUT_POWERMATE=m +CONFIG_INPUT_TABLET=y +CONFIG_INPUT_TWL4030_PWRBUTTON=m +CONFIG_INPUT_UINPUT=m +CONFIG_INPUT_WINBOND_CIR=m +CONFIG_INPUT_WISTRON_BTNS=m +CONFIG_INPUT_WM831X_ON=m +CONFIG_INPUT_YEALINK=m +CONFIG_INTEL_IOATDMA=m +CONFIG_INTEL_MENLOW=m +# CONFIG_INTR_REMAP is not set +# CONFIG_IOMMU_DEBUG is not set +# CONFIG_IOMMU_STRESS is not set +CONFIG_IOSCHED_AS=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_RT=m +CONFIG_IP6_NF_QUEUE=m +CONFIG_IP6_NF_RAW=m +CONFIG_IP6_NF_SECURITY=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_TARGET_LOG=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IPC_NS=y +CONFIG_IPDDP=m +CONFIG_IPDDP_DECAP=y +CONFIG_IPDDP_ENCAP=y +CONFIG_IPMI_DEVICE_INTERFACE=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 is not set +# CONFIG_IPV6_MROUTE is not set +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +CONFIG_IPV6_PRIVACY=y +# CONFIG_IPV6_ROUTER_PREF is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SUBTREES is not set +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_CCID3_RTO=100 +# CONFIG_IP_DCCP_DEBUG is not set +CONFIG_IP_DCCP_TFRC_LIB=y +CONFIG_IP_FIB_HASH=y +# CONFIG_IP_FIB_TRIE is not set +CONFIG_IP_MROUTE=y +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_ADDRTYPE=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_QUEUE=m +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_LOG=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_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_SCTP=m +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_NQ=m +CONFIG_IP_VS_PROTO_AH=y +CONFIG_IP_VS_PROTO_AH_ESP=y +CONFIG_IP_VS_PROTO_ESP=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_TAB_BITS=12 +CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_WRR=m +CONFIG_IRCOMM=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_TIME_ACCOUNTING is not set +CONFIG_IRTTY_SIR=m +CONFIG_ISA=y +CONFIG_ISAPNP=y +CONFIG_ISA_DMA_API=y +CONFIG_ISCSI_IBFT=m +CONFIG_ISCSI_IBFT_FIND=y +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_CAPIFS=m +CONFIG_ISDN_CAPI_CAPIFS_BOOL=y +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 is not set +CONFIG_ISL29003=m +CONFIG_ISO9660_FS=m +CONFIG_ISTALLION=m +CONFIG_IT8712F_WDT=m +CONFIG_IT87_WDT=m +CONFIG_ITCO_VENDOR_SUPPORT=y +CONFIG_ITCO_WDT=m +CONFIG_IWL3945=m +CONFIG_IWL3945_SPECTRUM_MEASUREMENT=y +CONFIG_IWL4965=y +CONFIG_IWL5000=y +CONFIG_IWLAGN=m +CONFIG_IWLWIFI=m +# CONFIG_IWLWIFI_DEBUG is not set +CONFIG_IWLWIFI_LEDS=y +# CONFIG_IWLWIFI_SPECTRUM_MEASUREMENT is not set +CONFIG_IWM=m +# CONFIG_IWM_DEBUG is not set +CONFIG_IXGB=m +CONFIG_IXGBE=m +CONFIG_IXGBE_DCA=y +CONFIG_IXGBE_DCB=y +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_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_K8_NB=y +CONFIG_K8_NUMA=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_KARMA_PARTITION=y +# CONFIG_KERNEL_BZIP2 is not set +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_LZMA is not set +CONFIG_KEXEC=y +CONFIG_KEXEC_JUMP=y +CONFIG_KEYBOARD_ADP5588=m +CONFIG_KEYBOARD_ATKBD=y +CONFIG_KEYBOARD_GPIO=m +CONFIG_KEYBOARD_LM8323=m +CONFIG_KEYBOARD_MATRIX=m +CONFIG_KEYBOARD_MAX7359=m +CONFIG_KEYBOARD_OPENCORES=m +CONFIG_KEYBOARD_STOWAWAY=m +CONFIG_KEYBOARD_TWL4030=m +CONFIG_KEYS=y +# CONFIG_KEYS_DEBUG_PROC_KEYS is not set +CONFIG_KGDB=y +CONFIG_KGDB_SERIAL_CONSOLE=y +# CONFIG_KGDB_TESTS is not set +CONFIG_KINGSUN_DONGLE=m +# CONFIG_KMEMTRACE is not set +CONFIG_KPROBES=y +# CONFIG_KPROBES_SANITY_TEST is not set +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_KVM=m +CONFIG_KVM_AMD=m +CONFIG_KVM_APIC_ARCHITECTURE=y +CONFIG_KVM_CLOCK=y +CONFIG_KVM_GUEST=y +CONFIG_KVM_INTEL=m +CONFIG_KXSD9=m +CONFIG_LANCE=m +CONFIG_LANMEDIA=m +CONFIG_LAPBETHER=m +CONFIG_LATENCYTOP=y +CONFIG_LBDAF=y +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_LCD_LMS283GF05=m +CONFIG_LCD_LTV350QV=m +CONFIG_LCD_PLATFORM=m +CONFIG_LCD_TDO24M=m +CONFIG_LCD_VGG2432A4=m +# CONFIG_LDM_DEBUG is not set +CONFIG_LDM_PARTITION=y +CONFIG_LEDS=y +CONFIG_LEDS_ALIX2=m +CONFIG_LEDS_BD2802=m +CONFIG_LEDS_CLASS=m +# CONFIG_LEDS_CLEVO_MAIL is not set +CONFIG_LEDS_CPU=y +CONFIG_LEDS_DA903X=m +CONFIG_LEDS_DAC124S085=m +CONFIG_LEDS_DELL_NETBOOKS=m +CONFIG_LEDS_GPIO=m +CONFIG_LEDS_GPIO_PLATFORM=y +CONFIG_LEDS_LP3944=m +CONFIG_LEDS_NET48XX=m +CONFIG_LEDS_PCA9532=m +CONFIG_LEDS_PCA955X=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_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_SDIO=m +CONFIG_LIBERTAS_SPI=m +CONFIG_LIBERTAS_THINFIRM=m +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_LIRC_ATIUSB=m +CONFIG_LIRC_BT829=m +CONFIG_LIRC_CONFIG_LIRC_WPC8769L=m +CONFIG_LIRC_DEV=m +CONFIG_LIRC_ENE0100=m +# CONFIG_LIRC_GPIO is not set +CONFIG_LIRC_I2C=m +CONFIG_LIRC_IGORPLUGUSB=m +CONFIG_LIRC_IMON=m +CONFIG_LIRC_IT87=m +CONFIG_LIRC_ITE8709=m +CONFIG_LIRC_MCEUSB=m +# CONFIG_LIRC_PARALLEL is not set +CONFIG_LIRC_SASEM=m +CONFIG_LIRC_SERIAL=m +CONFIG_LIRC_SIR=m +CONFIG_LIRC_STREAMZAP=m +CONFIG_LIRC_TTUSBIR=m +CONFIG_LIS3L02DQ=m +CONFIG_LITELINK_DONGLE=m +# CONFIG_LKDTM is not set +CONFIG_LLC=y +CONFIG_LNE390=m +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_LOCKD=m +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_LOCKD_V4=y +CONFIG_LOCK_KERNEL=y +# CONFIG_LOCK_STAT is not set +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +# CONFIG_LOGO is not set +CONFIG_LP486E=m +# CONFIG_LP_CONSOLE is not set +CONFIG_LSI_ET1011C_PHY=y +CONFIG_LSM_MMAP_MIN_ADDR=0 +CONFIG_LTPC=m +CONFIG_LXT_PHY=y +CONFIG_LZO_COMPRESS=m +CONFIG_LZO_DECOMPRESS=m +CONFIG_M25PXX_USE_FAST_READ=y +# CONFIG_M386 is not set +# CONFIG_M586MMX is not set +# CONFIG_M686 is not set +CONFIG_MA600_DONGLE=m +CONFIG_MAC80211=m +CONFIG_MAC80211_DEBUGFS=y +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_HWSIM=m +CONFIG_MAC80211_LEDS=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC80211_RC_DEFAULT="minstrel" +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +# CONFIG_MAC80211_RC_DEFAULT_PID is not set +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MACHZ_WDT=m +CONFIG_MACH_VERSATILE_AB=y +CONFIG_MACINTOSH_DRIVERS=y +CONFIG_MACVLAN=m +CONFIG_MAC_EMUMOUSEBTN=y +CONFIG_MAC_PARTITION=y +CONFIG_MADGEMC=m +CONFIG_MAGIC_SYSRQ=y +CONFIG_MARVELL_PHY=y +# CONFIG_MATH_EMULATION is not set +# CONFIG_MATOM is not set +CONFIG_MAX1363=m +# CONFIG_MAXSMP is not set +CONFIG_MAX_RAW_DEVS=256 +CONFIG_MCA=y +CONFIG_MCA_LEGACY=y +# CONFIG_MCA_PROC_FS 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=y +CONFIG_MDIO_GPIO=y +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_MD_RAID6_PQ=m +CONFIG_MEDIA_ATTACH=y +CONFIG_MEDIA_SUPPORT=m +CONFIG_MEDIA_TUNER=m +# CONFIG_MEDIA_TUNER_CUSTOMISE is not set +CONFIG_MEDIA_TUNER_MC44S803=m +CONFIG_MEDIA_TUNER_MT2060=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_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_XC2028=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_MEMORY_FAILURE=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_TIFM_MS=m +# CONFIG_MEMSTICK_UNSAFE_RESUME is not set +# CONFIG_MEMTEST is not set +# CONFIG_MFD_ASIC3 is not set +CONFIG_MFD_CORE=m +CONFIG_MFD_MC13783=m +CONFIG_MFD_PCF50633=m +CONFIG_MFD_SM501=m +# CONFIG_MFD_SM501_GPIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_WM831X=m +CONFIG_MFD_WM8350=m +CONFIG_MFD_WM8350_I2C=m +CONFIG_MFD_WM8400=m +# CONFIG_MGEODEGX1 is not set +# CONFIG_MGEODE_LX is not set +CONFIG_MG_DISK=m +CONFIG_MG_DISK_RES=0 +CONFIG_MICROCODE=m +CONFIG_MICROCODE_AMD=y +CONFIG_MICROCODE_INTEL=y +CONFIG_MICROCODE_OLD_INTERFACE=y +CONFIG_MIGRATION=y +CONFIG_MINIX_FS=m +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MISC_DEVICES=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_INFINIBAND=m +CONFIG_MMC=y +CONFIG_MMC_ARMMMCI=y +# CONFIG_MMC_AT91 is not set +# CONFIG_MMC_ATMELMCI is not set +CONFIG_MMC_BLOCK_BOUNCE=y +CONFIG_MMC_CB710=m +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_RICOH_MMC=m +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_VIA_SDMMC=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_ATIXL is not set +CONFIG_MOUSE_BCM5974=m +CONFIG_MOUSE_GPIO=m +CONFIG_MOUSE_INPORT=m +CONFIG_MOUSE_LOGIBM=m +CONFIG_MOUSE_PC110PAD=m +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_ELANTECH=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_OLPC=y +CONFIG_MOUSE_PS2_SENTELIC=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_TRACKPOINT=y +CONFIG_MOUSE_SERIAL=m +CONFIG_MOUSE_SYNAPTICS_I2C=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_MPSC is not set +CONFIG_MSDOS_FS=m +CONFIG_MSDOS_PARTITION=y +CONFIG_MSI_LAPTOP=m +CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin" +CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin" +CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin" +CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin" +CONFIG_MSPRO_BLOCK=m +CONFIG_MTDRAM_ERASE_SIZE=128 +CONFIG_MTDRAM_TOTAL_SIZE=4096 +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_ALAUDA=m +CONFIG_MTD_AMD76XROM=m +CONFIG_MTD_AR7_PARTS=m +CONFIG_MTD_ARM_INTEGRATOR=y +CONFIG_MTD_BLOCK2MTD=m +CONFIG_MTD_BLOCK_RO=m +# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set +# CONFIG_MTD_CFI_GEOMETRY is not set +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_LE_BYTE_SWAP is not set +CONFIG_MTD_CFI_NOSWAP=y +CONFIG_MTD_CK804XROM=m +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_DATAFLASH=m +CONFIG_MTD_DATAFLASH_OTP=y +# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set +# CONFIG_MTD_DEBUG is not set +CONFIG_MTD_DOCECC=m +CONFIG_MTD_DOCPROBE=m +CONFIG_MTD_DOCPROBE_ADDRESS=0 +# CONFIG_MTD_DOCPROBE_ADVANCED is not set +CONFIG_MTD_ESB2ROM=m +CONFIG_MTD_GPIO_ADDR=m +CONFIG_MTD_ICHXROM=m +CONFIG_MTD_INTEL_VR_NOR=m +CONFIG_MTD_L440GX=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_NAND_CAFE=m +CONFIG_MTD_NAND_CS553X=m +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_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_VERIFY_WRITE is not set +CONFIG_MTD_NETSC520=m +CONFIG_MTD_NETtel=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_OTP is not set +CONFIG_MTD_PARTITIONS=y +CONFIG_MTD_PCI=m +# CONFIG_MTD_PHYSMAP_COMPAT is not set +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_REDBOOT_DIRECTORY_BLOCK=-1 +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set +# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set +CONFIG_MTD_SBC_GXX=m +CONFIG_MTD_SC520CDP=m +CONFIG_MTD_SCB2_FLASH=m +CONFIG_MTD_SCx200_DOCFLASH=m +CONFIG_MTD_SST25L=m +CONFIG_MTD_TESTS=m +CONFIG_MTD_TS5500=m +CONFIG_MTD_UBI=m +CONFIG_MTD_UBI_BEB_RESERVE=1 +# CONFIG_MTD_UBI_DEBUG is not set +CONFIG_MTD_UBI_GLUEBI=m +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTRR=y +CONFIG_MTRR_SANITIZER=y +CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 +CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 +# CONFIG_MULTICORE_RAID456 is not set +# CONFIG_MVIAC3_2 is not set +# CONFIG_MVIAC7 is not set +CONFIG_MWAVE=m +# CONFIG_MWINCHIP3D is not set +# CONFIG_MWINCHIPC6 is not set +CONFIG_MWL8K=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_NE2_MCA=m +CONFIG_NE3210=m +CONFIG_NEED_MULTIPLE_NODES=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y +CONFIG_NEON=y +CONFIG_NET=y +CONFIG_NETCONSOLE=m +CONFIG_NETCONSOLE_DYNAMIC=y +CONFIG_NETDEVICES=y +CONFIG_NETDEV_1000=y +CONFIG_NETDEV_10000=y +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_TPROXY=m +CONFIG_NETFILTER_XTABLES=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_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=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_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_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_RECENT_PROC_COMPAT is not set +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_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_HL=m +CONFIG_NETFILTER_XT_TARGET_LED=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 is not set +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_NETROM=m +CONFIG_NETWORK_FILESYSTEMS=y +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_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=y +CONFIG_NET_CLS_FLOW=m +CONFIG_NET_CLS_FW=m +# CONFIG_NET_CLS_IND is not set +CONFIG_NET_CLS_ROUTE=y +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_DCCPPROBE=m +CONFIG_NET_DMA=y +# CONFIG_NET_DROP_MONITOR is not set +CONFIG_NET_DSA=y +CONFIG_NET_DSA_MV88E6060=y +CONFIG_NET_DSA_MV88E6123_61_65=y +CONFIG_NET_DSA_MV88E6131=y +CONFIG_NET_DSA_MV88E6XXX=y +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_ETHERNET=y +CONFIG_NET_FC=y +CONFIG_NET_IPGRE=m +CONFIG_NET_IPGRE_BROADCAST=y +CONFIG_NET_IPIP=m +CONFIG_NET_ISA=y +CONFIG_NET_KEY=m +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_NET_NS=y +CONFIG_NET_PCI=y +CONFIG_NET_PCMCIA=y +CONFIG_NET_PKTGEN=m +CONFIG_NET_POCKET=y +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_DRR=m +CONFIG_NET_SCH_DSMARK=m +CONFIG_NET_SCH_FIFO=y +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_INGRESS=m +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_TCPPROBE=m +CONFIG_NET_TULIP=y +CONFIG_NET_VENDOR_3COM=y +CONFIG_NET_VENDOR_RACAL=y +CONFIG_NET_VENDOR_SMC=y +CONFIG_NEW_LEDS=y +CONFIG_NFSD=m +CONFIG_NFSD_V2_ACL=y +CONFIG_NFSD_V3=y +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +CONFIG_NFS_ACL_SUPPORT=m +CONFIG_NFS_COMMON=y +CONFIG_NFS_FS=m +# CONFIG_NFS_FSCACHE is not set +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=y +# CONFIG_NFS_V4_1 is not set +CONFIG_NFTL_RW=y +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CONNTRACK_AMANDA=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_PROC_COMPAT=y +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_ACCT=y +CONFIG_NF_CT_NETLINK=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_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=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_DEFAULT="cp437" +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_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_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_NUMA_IRQ_DESC=y +CONFIG_NVRAM=m +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_POSIX_ACL=y +CONFIG_OCFS2_FS_STATS=y +CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m +CONFIG_OLD_BELKIN_DONGLE=m +CONFIG_OLPC=y +CONFIG_OMFS_FS=m +CONFIG_OMNIBOOK=m +CONFIG_OPROFILE=m +CONFIG_OPROFILE_ARMV7=y +# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set +CONFIG_OPROFILE_IBS=y +CONFIG_OPTIMIZE_INLINING=y +CONFIG_OSF_PARTITION=y +# CONFIG_OTUS is not set +CONFIG_P54_COMMON=m +CONFIG_P54_LEDS=y +CONFIG_P54_PCI=m +CONFIG_P54_SPI=m +CONFIG_P54_USB=m +CONFIG_PACKARDBELL_E5=m +CONFIG_PACKET=y +CONFIG_PACKET_MMAP=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PAGE_POISONING is not set +CONFIG_PANASONIC_LAPTOP=m +CONFIG_PANEL=m +# CONFIG_PANEL_CHANGE_MESSAGE is not set +CONFIG_PANEL_PARPORT=0 +CONFIG_PANEL_PROFILE=5 +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_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_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_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_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_TRIFLEX=m +CONFIG_PATA_VIA=m +CONFIG_PATA_WINBOND=m +CONFIG_PATA_WINBOND_VLB=m +# CONFIG_PC300TOO is not set +CONFIG_PC8736x_GPIO=m +CONFIG_PC87413_WDT=m +CONFIG_PCCARD_NONSTATIC=m +CONFIG_PCF50633_ADC=m +CONFIG_PCF50633_GPIO=m +CONFIG_PCI=y +CONFIG_PCI200SYN=m +CONFIG_PCIEAER=y +# CONFIG_PCIEAER_INJECT is not set +# CONFIG_PCIEASPM is not set +CONFIG_PCIEPORTBUS=y +# CONFIG_PCIE_ECRC is not set +CONFIG_PCIPCWATCHDOG=m +CONFIG_PCI_ATMEL=m +CONFIG_PCI_BIOS=y +# 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_GOOLPC is not set +CONFIG_PCI_HERMES=m +CONFIG_PCI_IOV=y +CONFIG_PCI_LEGACY=y +CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_MSI=y +CONFIG_PCI_OLPC=y +CONFIG_PCI_QUIRKS=y +CONFIG_PCI_STUB=m +CONFIG_PCI_SYSCALL=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_DEBUG is not set +CONFIG_PCMCIA_FDOMAIN=m +CONFIG_PCMCIA_FMVJ18X=m +CONFIG_PCMCIA_HERMES=m +CONFIG_PCMCIA_IBMTR=m +CONFIG_PCMCIA_IOCTL=y +CONFIG_PCMCIA_LOAD_CIS=y +CONFIG_PCMCIA_NETWAVE=m +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_WAVELAN=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=y +CONFIG_PERF_COUNTERS=y +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_PID_NS=y +CONFIG_PLAN9AUTH=m +CONFIG_PLIP=m +CONFIG_PLX_HERMES=m +CONFIG_PM=y +CONFIG_PMIC_DA903X=y +CONFIG_PM_DISABLE_CONSOLE=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_VERBOSE is not set +CONFIG_PNP=y +CONFIG_PNPACPI=y +CONFIG_PNPBIOS=y +CONFIG_PNPBIOS_PROC_FS=y +CONFIG_PNP_DEBUG_MESSAGES=y +CONFIG_POHMELFS=m +CONFIG_POHMELFS_CRYPTO=y +# CONFIG_POHMELFS_DEBUG is not set +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +# CONFIG_POWER_TRACER 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_DEBUG is not set +CONFIG_PREEMPT_NOTIFIERS=y +# CONFIG_PREEMPT_TRACER 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_PRISM2_USB=m +CONFIG_PRISM54=m +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_PROTEON=m +# CONFIG_PROVE_LOCKING is not set +# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set +# CONFIG_PSS_HAVE_BOOT is not set +CONFIG_PSS_MIXER=y +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QLA3XXX=m +CONFIG_QLGE=m +CONFIG_QNX4FS_FS=m +CONFIG_QSEMI_PHY=y +CONFIG_QT2160=m +CONFIG_QUOTA=y +CONFIG_QUOTACTL=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_QUOTA_TREE=m +# CONFIG_R6040 is not set +CONFIG_R8169=m +CONFIG_R8169_VLAN=y +CONFIG_RADIO_ADAPTERS=y +CONFIG_RADIO_AZTECH=m +CONFIG_RADIO_CADET=m +CONFIG_RADIO_GEMTEK=m +CONFIG_RADIO_GEMTEK_PCI=m +CONFIG_RADIO_MAESTRO=m +CONFIG_RADIO_MAXIRADIO=m +CONFIG_RADIO_RTRACK=m +CONFIG_RADIO_RTRACK2=m +CONFIG_RADIO_SF16FMI=m +CONFIG_RADIO_SF16FMR2=m +CONFIG_RADIO_SI470X=y +CONFIG_RADIO_SI4713=m +CONFIG_RADIO_TEA5764=m +CONFIG_RADIO_TERRATEC=m +CONFIG_RADIO_TRUST=m +CONFIG_RADIO_TYPHOON=m +CONFIG_RADIO_ZOLTRIX=m +CONFIG_RAR_REGISTER=m +CONFIG_RAW_DRIVER=m +# CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_RCU_FANOUT_EXACT is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_TRACE is not set +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_REALTEK_PHY=y +CONFIG_REED_SOLOMON=m +CONFIG_REED_SOLOMON_DEC16=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_AB3100=m +CONFIG_REGULATOR_BQ24022=m +CONFIG_REGULATOR_DA903X=m +# CONFIG_REGULATOR_FIXED_VOLTAGE is not set +CONFIG_REGULATOR_LP3971=m +CONFIG_REGULATOR_MAX1586=m +CONFIG_REGULATOR_MC13783=m +CONFIG_REGULATOR_PCF50633=m +CONFIG_REGULATOR_TPS65023=m +CONFIG_REGULATOR_TPS6507X=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_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_RFKILL=y +CONFIG_RFKILL_INPUT=y +CONFIG_RFKILL_LEDS=y +CONFIG_RING_BUFFER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +# CONFIG_RING_BUFFER_BENCHMARK is not set +CONFIG_RISCOM8=m +CONFIG_ROADRUNNER=m +# CONFIG_ROADRUNNER_LARGE_RINGS is not set +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_RT2400PCI=m +CONFIG_RT2500PCI=m +CONFIG_RT2500USB=m +CONFIG_RT2800USB=m +CONFIG_RT2860=m +CONFIG_RT2870=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_HT=y +CONFIG_RT2X00_LIB_LEDS=y +CONFIG_RT2X00_LIB_PCI=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT3090=m +CONFIG_RT61PCI=m +CONFIG_RT73USB=m +CONFIG_RTC_CLASS=y +# CONFIG_RTC_DEBUG is not set +CONFIG_RTC_DRV_AB3100=m +CONFIG_RTC_DRV_BQ4802=m +CONFIG_RTC_DRV_CMOS=y +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_DS3234=m +CONFIG_RTC_DRV_FM3130=m +CONFIG_RTC_DRV_ISL1208=m +CONFIG_RTC_DRV_M41T80=m +CONFIG_RTC_DRV_M41T80_WDT=y +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_PCF2123=m +CONFIG_RTC_DRV_PCF50633=m +CONFIG_RTC_DRV_PCF8563=m +CONFIG_RTC_DRV_PCF8583=m +# CONFIG_RTC_DRV_PL030 is not set +CONFIG_RTC_DRV_PL031=y +CONFIG_RTC_DRV_R9701=m +CONFIG_RTC_DRV_RS5C348=m +CONFIG_RTC_DRV_RS5C372=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=m +CONFIG_RTC_DRV_TWL4030=m +CONFIG_RTC_DRV_V3020=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=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_LIB=y +CONFIG_RTL8180=m +CONFIG_RTL8187=m +CONFIG_RTL8187SE=m +CONFIG_RTL8187_LEDS=y +CONFIG_RTL8192E=m +CONFIG_RTL8192SE=m +CONFIG_RTL8192SU=m +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_SATA_AHCI=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_SBNI=m +# CONFIG_SBNI_MULTILINE is not set +CONFIG_SC1200_WDT=m +CONFIG_SC520_WDT=m +CONFIG_SC6600=y +CONFIG_SC6600_CDROM=4 +CONFIG_SC6600_CDROMBASE=0 +CONFIG_SC6600_JOY=y +CONFIG_SC92031=m +CONFIG_SCC=m +# CONFIG_SCC_DELAY is not set +# CONFIG_SCC_TRXECHO is not set +CONFIG_SCHEDSTATS=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 is not set +CONFIG_SCSI=y +CONFIG_SCSI_3W_9XXX=m +CONFIG_SCSI_7000FASST=m +CONFIG_SCSI_AACRAID=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_ARCMSR_AER=y +CONFIG_SCSI_BFA_FC=m +CONFIG_SCSI_BNX2_ISCSI=m +CONFIG_SCSI_BUSLOGIC=m +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_CXGB3_ISCSI=m +CONFIG_SCSI_DC390T=m +CONFIG_SCSI_DC395x=m +CONFIG_SCSI_DEBUG=m +CONFIG_SCSI_DH=y +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_FD_MCS=m +# 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_HPTIOP=m +CONFIG_SCSI_IBMMCA=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_ISCSITARGET=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=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_NCR53C406A=m +CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS=8 +CONFIG_SCSI_NCR53C8XX_MAX_TAGS=4 +CONFIG_SCSI_NCR53C8XX_SYNC=5 +CONFIG_SCSI_NCR_D700=m +CONFIG_SCSI_NCR_Q720=m +CONFIG_SCSI_NETLINK=y +# CONFIG_SCSI_OSD_DEBUG is not set +CONFIG_SCSI_OSD_DPRINT_SENSE=1 +CONFIG_SCSI_OSD_ULD=m +CONFIG_SCSI_PAS16=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_SAS_LIBSAS_DEBUG is not set +CONFIG_SCSI_SCAN_ASYNC=y +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_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_ULTRASTOR=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=m +CONFIG_SCx200_I2C_SCL=12 +CONFIG_SCx200_I2C_SDA=13 +CONFIG_SCx200_WDT=m +CONFIG_SDIO_UART=m +CONFIG_SDLA=m +CONFIG_SEALEVEL_4021=m +CONFIG_SECCOMP=y +CONFIG_SECURITY=y +CONFIG_SECURITYFS=y +CONFIG_SECURITY_APPARMOR=y +CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1 +CONFIG_SECURITY_APPARMOR_COMPAT_24=y +CONFIG_SECURITY_FILE_CAPABILITIES=y +CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_NETWORK_XFRM is not set +CONFIG_SECURITY_PATH=y +# CONFIG_SECURITY_ROOTPLUG is not set +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_SEEQ8005=m +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_SENSORS_ABITUGURU=m +CONFIG_SENSORS_ABITUGURU3=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_ADS7828=m +CONFIG_SENSORS_ADT7462=m +CONFIG_SENSORS_ADT7470=m +CONFIG_SENSORS_ADT7473=m +CONFIG_SENSORS_ADT7475=m +CONFIG_SENSORS_APPLESMC=m +CONFIG_SENSORS_ASB100=m +CONFIG_SENSORS_ATK0110=m +CONFIG_SENSORS_ATXP1=m +CONFIG_SENSORS_CORETEMP=m +CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DS1621=m +CONFIG_SENSORS_F71805F=m +CONFIG_SENSORS_F71882FG=m +CONFIG_SENSORS_F75375S=m +CONFIG_SENSORS_FSCHMD=m +CONFIG_SENSORS_G760A=m +CONFIG_SENSORS_GL518SM=m +CONFIG_SENSORS_GL520SM=m +CONFIG_SENSORS_HDAPS=m +CONFIG_SENSORS_I5K_AMB=m +CONFIG_SENSORS_IBMAEM=m +CONFIG_SENSORS_IBMPEX=m +CONFIG_SENSORS_IT87=m +CONFIG_SENSORS_K8TEMP=m +CONFIG_SENSORS_LIS3LV02D=m +CONFIG_SENSORS_LM63=m +CONFIG_SENSORS_LM70=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_LTC4215=m +CONFIG_SENSORS_LTC4245=m +CONFIG_SENSORS_MAX1111=m +CONFIG_SENSORS_MAX1619=m +CONFIG_SENSORS_MAX6650=m +CONFIG_SENSORS_PC87360=m +CONFIG_SENSORS_PC87427=m +CONFIG_SENSORS_PCF8591=m +CONFIG_SENSORS_SHT15=m +CONFIG_SENSORS_SIS5595=m +CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_SMSC47M1=m +CONFIG_SENSORS_SMSC47M192=m +CONFIG_SENSORS_THMC50=m +CONFIG_SENSORS_TMP401=m +CONFIG_SENSORS_TMP421=m +CONFIG_SENSORS_TSL2550=m +CONFIG_SENSORS_VIA686A=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_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_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_MCA=m +CONFIG_SERIAL_8250_PNP=y +CONFIG_SERIAL_8250_RSA=y +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_SERIAL_JSM=m +CONFIG_SERIAL_MAX3100=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIO=y +CONFIG_SERIO_AMBAKMI=y +CONFIG_SERIO_CT82C710=m +CONFIG_SERIO_I8042=y +CONFIG_SERIO_LIBPS2=y +CONFIG_SERIO_PARKBD=m +CONFIG_SERIO_PCIPS2=m +CONFIG_SERIO_RAW=m +CONFIG_SERIO_SERPORT=m +CONFIG_SFC=m +CONFIG_SFC_MTD=y +CONFIG_SFI=y +CONFIG_SGI_IOC4=m +CONFIG_SGI_PARTITION=y +CONFIG_SHMEM=y +CONFIG_SIGMATEL_FIR=m +CONFIG_SIGNALFD=y +CONFIG_SIS190=m +CONFIG_SIS900=m +CONFIG_SKFP=m +CONFIG_SKGE=m +# CONFIG_SKGE_DEBUG is not set +CONFIG_SKISA=m +CONFIG_SKY2=m +# CONFIG_SKY2_DEBUG 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_SLOW_WORK=y +# CONFIG_SLOW_WORK_DEBUG is not set +CONFIG_SLUB_DEBUG=y +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_SMB_FS=m +# CONFIG_SMB_NLS_DEFAULT is not set +CONFIG_SMC911X=m +CONFIG_SMC9194=m +CONFIG_SMC91X=y +CONFIG_SMCTR=m +CONFIG_SMC_IRCC_FIR=m +CONFIG_SMP=y +CONFIG_SMSC37B787_WDT=m +CONFIG_SMSC911X=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_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_ALS100=m +CONFIG_SND_ALS300=m +CONFIG_SND_ALS4000=m +CONFIG_SND_ARM=y +CONFIG_SND_ARMAACI=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_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_DT019X=m +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_ES968=m +CONFIG_SND_FM801=m +CONFIG_SND_FM801_TEA575X=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_ATIHDMI=y +CONFIG_SND_HDA_CODEC_CA0110=y +CONFIG_SND_HDA_CODEC_CIRRUS=y +CONFIG_SND_HDA_CODEC_CMEDIA=y +CONFIG_SND_HDA_CODEC_CONEXANT=y +CONFIG_SND_HDA_CODEC_INTELHDMI=y +CONFIG_SND_HDA_CODEC_NVHDMI=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_ELD=y +CONFIG_SND_HDA_GENERIC=y +CONFIG_SND_HDA_HWDEP=y +CONFIG_SND_HDA_INPUT_BEEP=y +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_RECONFIG=y +CONFIG_SND_HDSP=m +CONFIG_SND_HDSPM=m +CONFIG_SND_HIFIER=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_JACK=y +CONFIG_SND_KORG1212=m +CONFIG_SND_LAYLA20=m +CONFIG_SND_LAYLA24=m +CONFIG_SND_LX6464ES=m +CONFIG_SND_MAESTRO3=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_UART=m +CONFIG_SND_MSND_CLASSIC=m +CONFIG_SND_MSND_PINNACLE=m +CONFIG_SND_MTS64=m +CONFIG_SND_NM256=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_PCM=m +CONFIG_SND_PCMCIA=y +CONFIG_SND_PCM_OSS=m +CONFIG_SND_PCM_OSS_PLUGINS=y +CONFIG_SND_PCSP=m +CONFIG_SND_PCXHR=m +CONFIG_SND_PDAUDIOCF=m +CONFIG_SND_PORTMAN2X4=m +CONFIG_SND_RAWMIDI=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_OSS=y +CONFIG_SND_SEQ_DUMMY=m +CONFIG_SND_SEQ_HRTIMER_DEFAULT=y +CONFIG_SND_SGALAXY=m +CONFIG_SND_SIS7019=m +CONFIG_SND_SOC=m +CONFIG_SND_SOC_AD1836=m +CONFIG_SND_SOC_AD1938=m +CONFIG_SND_SOC_AD73311=m +CONFIG_SND_SOC_AK4104=m +CONFIG_SND_SOC_AK4535=m +CONFIG_SND_SOC_AK4642=m +CONFIG_SND_SOC_ALL_CODECS=m +CONFIG_SND_SOC_CS4270=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC_L3=m +CONFIG_SND_SOC_MAX9877=m +CONFIG_SND_SOC_PCM3008=m +CONFIG_SND_SOC_SPDIF=m +CONFIG_SND_SOC_SSM2602=m +CONFIG_SND_SOC_TLV320AIC23=m +CONFIG_SND_SOC_TLV320AIC26=m +CONFIG_SND_SOC_TLV320AIC3X=m +CONFIG_SND_SOC_TWL4030=m +CONFIG_SND_SOC_UDA134X=m +CONFIG_SND_SOC_UDA1380=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_WM8728=m +CONFIG_SND_SOC_WM8731=m +CONFIG_SND_SOC_WM8750=m +CONFIG_SND_SOC_WM8753=m +CONFIG_SND_SOC_WM8776=m +CONFIG_SND_SOC_WM8900=m +CONFIG_SND_SOC_WM8903=m +CONFIG_SND_SOC_WM8940=m +CONFIG_SND_SOC_WM8960=m +CONFIG_SND_SOC_WM8961=m +CONFIG_SND_SOC_WM8971=m +CONFIG_SND_SOC_WM8974=m +CONFIG_SND_SOC_WM8988=m +CONFIG_SND_SOC_WM8990=m +CONFIG_SND_SOC_WM8993=m +CONFIG_SND_SOC_WM9081=m +CONFIG_SND_SOC_WM_HUBS=m +CONFIG_SND_SONICVIBES=m +CONFIG_SND_SPI=y +CONFIG_SND_SSCAPE=m +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_TIMER=m +CONFIG_SND_TRIDENT=m +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=m +CONFIG_SND_USB_CAIAQ=m +CONFIG_SND_USB_CAIAQ_INPUT=y +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_MT9M001=m +CONFIG_SOC_CAMERA_MT9M111=m +CONFIG_SOC_CAMERA_MT9T031=m +CONFIG_SOC_CAMERA_MT9V022=m +CONFIG_SOC_CAMERA_OV772X=m +CONFIG_SOC_CAMERA_PLATFORM=m +CONFIG_SOC_CAMERA_TW9910=m +CONFIG_SOFT_WATCHDOG=m +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SONYPI=m +CONFIG_SONYPI_COMPAT=y +CONFIG_SONY_LAPTOP=m +CONFIG_SOUND=m +CONFIG_SOUND_AEDSP16=m +CONFIG_SOUND_DMAP=y +CONFIG_SOUND_KAHLUA=m +CONFIG_SOUND_MPU401=m +CONFIG_SOUND_MSNDCLAS=m +CONFIG_SOUND_MSNDPIN=m +CONFIG_SOUND_MSS=m +CONFIG_SOUND_OSS=m +CONFIG_SOUND_OSS_CORE=y +CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SOUND_PAS=m +CONFIG_SOUND_PRIME=m +CONFIG_SOUND_PSS=m +CONFIG_SOUND_SB=m +CONFIG_SOUND_SSCAPE=m +# CONFIG_SOUND_TRACEINIT is not set +CONFIG_SOUND_TRIX=m +CONFIG_SOUND_UART6850=m +CONFIG_SOUND_VMIDI=m +CONFIG_SOUND_YM3812=m +CONFIG_SPARSEMEM=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_STATIC=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSE_IRQ=y +CONFIG_SPECIALIX=m +CONFIG_SPI_BITBANG=m +CONFIG_SPI_BUTTERFLY=m +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_GPIO=m +CONFIG_SPI_LM70_LLP=m +CONFIG_SPI_MASTER=y +CONFIG_SPI_SPIDEV=m +CONFIG_SPI_TLE62X0=m +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_SQUASHFS=m +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +CONFIG_SR_REPORT_TIME_LIMIT=100 +CONFIG_SSB=m +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_SPROM=y +CONFIG_SSFDC=m +CONFIG_STACKTRACE=y +CONFIG_STACKTRACE_SUPPORT=y +# CONFIG_STACK_TRACER is not set +CONFIG_STAGING=y +# CONFIG_STAGING_EXCLUDE_BUILD is not set +CONFIG_STALDRV=y +CONFIG_STALLION=m +CONFIG_STE10XP=y +CONFIG_STOP_MACHINE=y +CONFIG_STP=m +CONFIG_STRICT_DEVMEM=y +CONFIG_STRIP=m +# CONFIG_STRIP_ASM_SYMS is not set +CONFIG_SUNDANCE=m +# CONFIG_SUNDANCE_MMIO is not set +CONFIG_SUNRPC=m +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_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_SYSCTL_SYSCALL_CHECK=y +CONFIG_SYSFS=y +# CONFIG_SYSFS_DEPRECATED_V2 is not set +# CONFIG_SYSPROF_TRACER is not set +CONFIG_SYSV68_PARTITION=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_COMPAT=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_SYSV_FS=m +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_TABLET_USB_ACECAD=m +CONFIG_TABLET_USB_AIPTEK=m +CONFIG_TABLET_USB_GTCO=m +CONFIG_TABLET_USB_KBTAB=m +CONFIG_TABLET_USB_WACOM=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_TCIC=m +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_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_THUMB2_KERNEL is not set +CONFIG_TICK_ONESHOT=y +CONFIG_TIFM_7XX1=m +CONFIG_TIFM_CORE=m +CONFIG_TIGON3=m +CONFIG_TIMERFD=y +CONFIG_TIMER_STATS=y +# CONFIG_TIPC_ADVANCED is not set +# CONFIG_TIPC_DEBUG is not set +CONFIG_TLAN=m +CONFIG_TMD_HERMES=m +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMS380TR=m +CONFIG_TMSPCI=m +CONFIG_TOIM3232_DONGLE=m +CONFIG_TOPSTAR_LAPTOP=m +# CONFIG_TOSHIBA is not set +CONFIG_TOSHIBA_FIR=m +CONFIG_TOUCHSCREEN_AD7877=m +CONFIG_TOUCHSCREEN_AD7879=m +CONFIG_TOUCHSCREEN_AD7879_I2C=m +CONFIG_TOUCHSCREEN_ADS7846=m +CONFIG_TOUCHSCREEN_DA9034=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_ELO=m +CONFIG_TOUCHSCREEN_FUJITSU=m +CONFIG_TOUCHSCREEN_GUNZE=m +CONFIG_TOUCHSCREEN_HTCPEN=m +CONFIG_TOUCHSCREEN_INEXIO=m +CONFIG_TOUCHSCREEN_MCS5000=m +CONFIG_TOUCHSCREEN_MK712=m +CONFIG_TOUCHSCREEN_MTOUCH=m +CONFIG_TOUCHSCREEN_PENMOUNT=m +CONFIG_TOUCHSCREEN_TOUCHIT213=m +CONFIG_TOUCHSCREEN_TOUCHRIGHT=m +CONFIG_TOUCHSCREEN_TOUCHWIN=m +CONFIG_TOUCHSCREEN_TSC2007=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_EGALAX=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_PANJIT=y +CONFIG_TOUCHSCREEN_WACOM_W8001=m +CONFIG_TOUCHSCREEN_WM9705=y +CONFIG_TOUCHSCREEN_WM9712=y +CONFIG_TOUCHSCREEN_WM9713=y +CONFIG_TOUCHSCREEN_WM97XX=m +CONFIG_TPS65010=m +CONFIG_TR=y +CONFIG_TRACEPOINTS=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_TRACING=y +CONFIG_TRACING_SUPPORT=y +CONFIG_TRANZPORT=m +# CONFIG_TREE_PREEMPT_RCU is not set +CONFIG_TREE_RCU=y +# CONFIG_TREE_RCU_TRACE is not set +CONFIG_TSL2561=m +CONFIG_TTPCI_EEPROM=m +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=y +# CONFIG_TWL4030_POWER is not set +CONFIG_TWL4030_USB=m +CONFIG_TWL4030_WATCHDOG=m +CONFIG_TYPHOON=m +# CONFIG_UACCESS_WITH_MEMCPY is not set +CONFIG_UBIFS_FS=m +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +# CONFIG_UBIFS_FS_DEBUG is not set +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_XATTR=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_PCI_GENERIC=m +CONFIG_UIO_PDRV=m +CONFIG_UIO_PDRV_GENIRQ=m +CONFIG_UIO_SERCOS3=m +CONFIG_UIO_SMX=m +CONFIG_ULI526X=m +CONFIG_ULTRA=m +CONFIG_ULTRA32=m +CONFIG_ULTRAMCA=m +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIX=y +CONFIG_UNIX98_PTYS=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_USBPCWATCHDOG=m +CONFIG_USB_ACM=m +CONFIG_USB_ADUTUX=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set +CONFIG_USB_APPLEDISPLAY=m +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARMLINUX=y +CONFIG_USB_ATM=m +CONFIG_USB_AUDIO=m +CONFIG_USB_BELKIN=y +CONFIG_USB_BERRY_CHARGE=m +CONFIG_USB_C67X00_HCD=m +CONFIG_USB_CATC=m +CONFIG_USB_CDC_COMPOSITE=m +CONFIG_USB_CDC_PHONET=m +CONFIG_USB_CXACRU=m +CONFIG_USB_CYPRESS_CY7C63=m +CONFIG_USB_CYTHERM=m +CONFIG_USB_DABUSB=m +# CONFIG_USB_DEBUG is not set +# CONFIG_USB_DEVICEFS is not set +# CONFIG_USB_DEVICE_CLASS is not set +CONFIG_USB_DSBR=m +CONFIG_USB_DUMMY_HCD=m +# CONFIG_USB_DYNAMIC_MINORS is not set +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EMI26=m +CONFIG_USB_EMI62=m +CONFIG_USB_EPSON2888=y +CONFIG_USB_ET61X251=m +CONFIG_USB_ETH=m +# CONFIG_USB_ETH_EEM is not set +CONFIG_USB_ETH_RNDIS=y +CONFIG_USB_EZUSB=y +CONFIG_USB_FILE_STORAGE=m +# CONFIG_USB_FILE_STORAGE_TEST is not set +CONFIG_USB_FTDI_ELAN=m +CONFIG_USB_GADGETFS=m +# CONFIG_USB_GADGET_AMD5536UDC is not set +# CONFIG_USB_GADGET_AT91 is not set +# CONFIG_USB_GADGET_ATMEL_USBA is not set +# CONFIG_USB_GADGET_CI13XXX is not set +# 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_DUMMY_HCD=y +# CONFIG_USB_GADGET_FSL_QE is not set +# CONFIG_USB_GADGET_FSL_USB2 is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_IMX is not set +# CONFIG_USB_GADGET_LANGWELL is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_M66592 is not set +# CONFIG_USB_GADGET_MUSB_HDRC is not set +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_PXA25X is not set +# CONFIG_USB_GADGET_PXA27X is not set +# CONFIG_USB_GADGET_R8A66597 is not set +# CONFIG_USB_GADGET_S3C2410 is not set +# CONFIG_USB_GADGET_S3C_HSOTG is not set +CONFIG_USB_GADGET_SELECTED=y +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GL860=m +CONFIG_USB_GPIO_VBUS=m +CONFIG_USB_GSPCA=m +CONFIG_USB_GSPCA_CONEX=m +CONFIG_USB_GSPCA_ETOMS=m +CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m +CONFIG_USB_GSPCA_MARS=m +CONFIG_USB_GSPCA_MR97310A=m +CONFIG_USB_GSPCA_OV519=m +CONFIG_USB_GSPCA_OV534=m +CONFIG_USB_GSPCA_PAC207=m +CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SN9C20X=m +# CONFIG_USB_GSPCA_SN9C20X_EVDEV is not set +CONFIG_USB_GSPCA_SONIXB=m +CONFIG_USB_GSPCA_SONIXJ=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_STK014=m +CONFIG_USB_GSPCA_SUNPLUS=m +CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TV8532=m +CONFIG_USB_GSPCA_VC032X=m +CONFIG_USB_GSPCA_ZC3XX=m +CONFIG_USB_G_PRINTER=m +CONFIG_USB_G_SERIAL=m +CONFIG_USB_HID=m +CONFIG_USB_HIDDEV=y +CONFIG_USB_HSO=m +CONFIG_USB_HWA_HCD=m +CONFIG_USB_IBMCAM=m +CONFIG_USB_IDMOUSE=m +CONFIG_USB_IOWARRIOR=m +CONFIG_USB_IP_COMMON=m +CONFIG_USB_IP_HOST=m +CONFIG_USB_IP_VHCI_HCD=m +CONFIG_USB_IRDA=m +CONFIG_USB_ISIGHTFW=m +CONFIG_USB_ISP116X_HCD=m +CONFIG_USB_ISP1760_HCD=m +CONFIG_USB_KAWETH=m +CONFIG_USB_KC2190=y +CONFIG_USB_KONICAWC=m +CONFIG_USB_LCD=m +CONFIG_USB_LD=m +CONFIG_USB_LED=m +CONFIG_USB_LEGOTOWER=m +# CONFIG_USB_LIBUSUAL is not set +CONFIG_USB_M5602=m +CONFIG_USB_MDC800=m +CONFIG_USB_MICROTEK=m +CONFIG_USB_MIDI_GADGET=m +CONFIG_USB_MR800=m +# CONFIG_USB_MUSB_HDRC is not set +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_RNDIS_WLAN=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_SSB is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_OTG is not set +CONFIG_USB_OTG_UTILS=y +# CONFIG_USB_OV511 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_QUICKCAM_MESSENGER=m +CONFIG_USB_R8A66597_HCD=m +CONFIG_USB_RIO500=m +CONFIG_USB_RTL8150=m +CONFIG_USB_S2255=m +CONFIG_USB_SE401=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_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_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_QUALCOMM=m +CONFIG_USB_SERIAL_QUATECH2=m +CONFIG_USB_SERIAL_QUATECH_USB2=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_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SEVSEG=m +CONFIG_USB_SI470X=m +CONFIG_USB_SISUSBVGA=m +# CONFIG_USB_SISUSBVGA_CON is not set +CONFIG_USB_SL811_CS=m +CONFIG_USB_SL811_HCD=m +CONFIG_USB_SN9C102=m +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_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_SDDR09=m +CONFIG_USB_STORAGE_SDDR55=m +CONFIG_USB_STORAGE_USBAT=m +CONFIG_USB_STV06XX=m +CONFIG_USB_STV680=m +CONFIG_USB_SUPPORT=y +CONFIG_USB_SUSPEND=y +CONFIG_USB_TEST=m +CONFIG_USB_TMC=m +CONFIG_USB_TRANCEVIBRATOR=m +CONFIG_USB_U132_HCD=m +CONFIG_USB_UEAGLEATM=m +CONFIG_USB_USBNET=m +CONFIG_USB_USS720=m +CONFIG_USB_VICAM=m +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_VST=m +CONFIG_USB_W9968CF=m +CONFIG_USB_WDM=m +CONFIG_USB_WHCI_HCD=m +CONFIG_USB_WUSB=m +CONFIG_USB_WUSB_CBAF=m +# CONFIG_USB_WUSB_CBAF_DEBUG is not set +CONFIG_USB_XHCI_HCD=m +# CONFIG_USB_XHCI_HCD_DEBUGGING is not set +CONFIG_USB_XUSBATM=m +CONFIG_USB_ZC0301=m +CONFIG_USB_ZD1201=m +CONFIG_USB_ZERO=m +CONFIG_USB_ZR364XX=m +CONFIG_USER_NS=y +CONFIG_USER_STACKTRACE_SUPPORT=y +CONFIG_USE_GENERIC_SMP_HELPERS=y +CONFIG_UTS_NS=y +CONFIG_UWB=m +CONFIG_UWB_HWA=m +CONFIG_UWB_I1480U=m +CONFIG_UWB_I1480U_WLP=m +CONFIG_UWB_WHCI=m +CONFIG_UWB_WLP=m +CONFIG_V4L_USB_DRIVERS=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_VERSION_SIGNATURE="" +CONFIG_VETH=m +CONFIG_VFAT_FS=m +CONFIG_VFP=y +CONFIG_VFPv3=y +# CONFIG_VGACON_SOFT_SCROLLBACK is not set +CONFIG_VGASTATE=m +CONFIG_VGA_ARB=y +CONFIG_VGA_CONSOLE=y +CONFIG_VIA_FIR=m +CONFIG_VIA_RHINE=m +CONFIG_VIA_RHINE_MMIO=y +CONFIG_VIA_VELOCITY=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_ADV_DEBUG is not set +CONFIG_VIDEO_ALLOW_V4L1=y +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_CPIA=m +CONFIG_VIDEO_CPIA2=m +CONFIG_VIDEO_CPIA_PP=m +CONFIG_VIDEO_CPIA_USB=m +CONFIG_VIDEO_CQCAM=m +CONFIG_VIDEO_CS5345=m +CONFIG_VIDEO_CS53L32A=m +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX231XX=m +CONFIG_VIDEO_CX231XX_ALSA=m +CONFIG_VIDEO_CX231XX_DVB=m +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_EM28XX=m +CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_VIDEO_EM28XX_DVB=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=m +CONFIG_VIDEO_IR_I2C=m +CONFIG_VIDEO_IVTV=m +CONFIG_VIDEO_KS0127=m +CONFIG_VIDEO_M52790=m +CONFIG_VIDEO_MEDIA=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_OVCAMCHIP=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_SAA5246A=m +CONFIG_VIDEO_SAA5249=m +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_SAA7146=m +CONFIG_VIDEO_SAA7146_VV=m +CONFIG_VIDEO_SAA7164=m +CONFIG_VIDEO_SAA717X=m +CONFIG_VIDEO_SAA7185=m +CONFIG_VIDEO_STRADIS=m +CONFIG_VIDEO_TDA7432=m +CONFIG_VIDEO_TDA9840=m +CONFIG_VIDEO_TEA6415C=m +CONFIG_VIDEO_TEA6420=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_USBVIDEO=m +CONFIG_VIDEO_USBVISION=m +CONFIG_VIDEO_V4L1=m +CONFIG_VIDEO_V4L1_COMPAT=y +CONFIG_VIDEO_V4L2=m +CONFIG_VIDEO_V4L2_COMMON=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_BALLOON=m +CONFIG_VIRTIO_CONSOLE=m +CONFIG_VIRTUALIZATION=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_USER=m +CONFIG_VMI=y +# CONFIG_VMSPLIT_1G is not set +# CONFIG_VMSPLIT_2G is not set +CONFIG_VMSPLIT_3G=y +CONFIG_VMWARE_PVSCSI=m +CONFIG_VMXNET3=m +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_VORTEX=m +CONFIG_VT=y +# CONFIG_VT6655 is not set +CONFIG_VT_CONSOLE=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_DS2431=m +CONFIG_W1_SLAVE_DS2433=m +# CONFIG_W1_SLAVE_DS2433_CRC is not set +CONFIG_W1_SLAVE_DS2760=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_NOWAYOUT is not set +CONFIG_WAVELAN=m +CONFIG_WD80x3=m +CONFIG_WDT=m +CONFIG_WDTPCI=m +CONFIG_WIMAX=m +CONFIG_WIMAX_DEBUG_LEVEL=8 +CONFIG_WIMAX_I2400M=m +CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 +CONFIG_WIMAX_I2400M_SDIO=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WINBOND_840=m +CONFIG_WINBOND_FIR=m +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WIRELESS_EXT_SYSFS=y +# CONFIG_WIRELESS_OLD_REGULATORY is not set +CONFIG_WL1251=m +CONFIG_WL1251_SDIO=m +CONFIG_WL1251_SPI=m +CONFIG_WL1271=m +CONFIG_WL12XX=m +CONFIG_WLAN=y +CONFIG_WLAN_80211=y +CONFIG_WLAN_PRE80211=y +CONFIG_WM831X_POWER=m +CONFIG_WM831X_WATCHDOG=m +CONFIG_WM8350_POWER=m +CONFIG_WM8350_WATCHDOG=m +# CONFIG_WORKQUEUE_TRACER is not set +CONFIG_X25_ASY=m +CONFIG_X86=y +# 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_ALIGNMENT_16=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_CPU=y +CONFIG_X86_CPUFREQ_NFORCE2=y +CONFIG_X86_CPUID=m +CONFIG_X86_DEBUGCTLMSR=y +# CONFIG_X86_DS is not set +# CONFIG_X86_ELAN is not set +CONFIG_X86_EXTENDED_PLATFORM=y +CONFIG_X86_E_POWERSAVER=m +CONFIG_X86_F00F_BUG=y +CONFIG_X86_GENERIC=y +CONFIG_X86_GX_SUSPMOD=y +CONFIG_X86_HT=y +CONFIG_X86_INTEL_USERCOPY=y +CONFIG_X86_INTERNODE_CACHE_BYTES=64 +CONFIG_X86_INVLPG=y +CONFIG_X86_IO_APIC=y +CONFIG_X86_L1_CACHE_BYTES=64 +CONFIG_X86_LOCAL_APIC=y +CONFIG_X86_LONGHAUL=y +CONFIG_X86_LONGRUN=y +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_MPPARSE=y +CONFIG_X86_MRST=y +CONFIG_X86_MSR=m +CONFIG_X86_NEED_RELOCS=y +CONFIG_X86_P4_CLOCKMOD=m +CONFIG_X86_PAE=y +CONFIG_X86_PAT=y +CONFIG_X86_PLATFORM_DEVICES=y +CONFIG_X86_PM_TIMER=y +CONFIG_X86_POPAD_OK=y +CONFIG_X86_POWERNOW_K6=y +CONFIG_X86_POWERNOW_K7=y +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_64K=y +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_TRAMPOLINE=y +CONFIG_X86_TSC=y +# CONFIG_X86_VERBOSE_BOOTUP is not set +# CONFIG_X86_VSMP is not set +CONFIG_X86_WP_WORKS_OK=y +CONFIG_X86_XADD=y +CONFIG_XEN=y +CONFIG_XENFS=m +CONFIG_XEN_BALLOON=y +CONFIG_XEN_BLKDEV_FRONTEND=m +CONFIG_XEN_COMPAT_XENFS=y +# CONFIG_XEN_DEBUG_FS is not set +CONFIG_XEN_DEV_EVTCHN=m +CONFIG_XEN_FBDEV_FRONTEND=m +CONFIG_XEN_KBDDEV_FRONTEND=m +CONFIG_XEN_MAX_DOMAIN_MEMORY=32 +CONFIG_XEN_NETDEV_FRONTEND=m +CONFIG_XEN_SAVE_RESTORE=y +CONFIG_XEN_SCRUB_PAGES=y +CONFIG_XEN_SYS_HYPERVISOR=y +CONFIG_XFRM=y +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_XIP_KERNEL is not set +CONFIG_XOR_BLOCKS=m +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_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 --- linux-2.6.32.orig/debian.master/config/enforce +++ linux-2.6.32/debian.master/config/enforce @@ -0,0 +1,40 @@ +# +# 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_SYN_COOKIES y +value CONFIG_DEFAULT_SECURITY_APPARMOR y +# For architectures which support this option ensure it is enabled. +!exists CONFIG_SECCOMP | value CONFIG_SECCOMP y +!exists CONFIG_CC_STACKPROTECTOR | value CONFIG_CC_STACKPROTECTOR y +!exists CONFIG_DEBUG_RODATA | value CONFIG_DEBUG_RODATA 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 +# Default to 32768 for armel, 65536 for everything else. +(( arch armel | arch sparc ) & value CONFIG_DEFAULT_MMAP_MIN_ADDR 32768 ) | \ + ( value CONFIG_DEFAULT_MMAP_MIN_ADDR 65536) + +# CONFIG_USB_DEVICE_FS breaks udev USB firmware loading and is deprecated +# ensure it is disabled. +value CONFIG_USB_DEVICEFS n + +# 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 --- linux-2.6.32.orig/debian.master/config/amd64/config.common.amd64 +++ linux-2.6.32/debian.master/config/amd64/config.common.amd64 @@ -0,0 +1,164 @@ +# +# Config options for config.common.amd64 automatically generated by splitconfig.pl +# +CONFIG_64BIT=y +CONFIG_ACPI_BLACKLIST_YEAR=0 +CONFIG_AGP=y +CONFIG_AGP_AMD64=y +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" +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_ATALK=m +CONFIG_ATM=m +CONFIG_AUDIT_ARCH=y +CONFIG_B43=m +CONFIG_B43LEGACY=m +CONFIG_B44=m +CONFIG_BT=m +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_CDROM_PKTCDVD=y +CONFIG_COMEDI=m +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_DRM_RADEON=m +CONFIG_FB_BOOT_VESA_SUPPORT=y +CONFIG_FB_S1D13XXX=m +CONFIG_FB_SAVAGE=m +# CONFIG_FLATMEM_MANUAL is not set +# CONFIG_FONTS is not set +CONFIG_FRAMEBUFFER_CONSOLE=m +CONFIG_FSAM7400=m +CONFIG_FTL=m +CONFIG_GAMEPORT=m +CONFIG_GENERIC_CPU=y +CONFIG_GENERIC_TIME_VSYSCALL=y +# CONFIG_HAVE_AOUT is not set +CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_HIGH_RES_TIMERS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HWMON=y +# CONFIG_HZ_250 is not set +CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_JOYSTICK=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_IOMMU_API=y +CONFIG_IOMMU_HELPER=y +CONFIG_IPMI_HANDLER=m +CONFIG_IRDA=m +CONFIG_ISDN=y +CONFIG_KEYBOARD_LKKBD=m +CONFIG_KEYBOARD_NEWTON=m +CONFIG_KEYBOARD_SUNKBD=m +CONFIG_KEYBOARD_XTKBD=m +# CONFIG_KTIME_SCALAR is not set +CONFIG_LAPB=m +CONFIG_LCD_ILI9320=m +CONFIG_LLC2=m +CONFIG_LOG_BUF_SHIFT=18 +# CONFIG_M486 is not set +# CONFIG_M586 is not set +# CONFIG_M586TSC is not set +CONFIG_MII=m +CONFIG_MMC_BLOCK=m +CONFIG_MOUSE_PS2=m +CONFIG_MOUSE_VSXXXAA=m +CONFIG_MTD=m +CONFIG_MTD_ABSENT=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CFI=m +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_INTELEXT=m +CONFIG_MTD_CFI_STAA=m +CONFIG_MTD_CFI_UTIL=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_COMPLEX_MAPPINGS=y +CONFIG_MTD_CONCAT=m +CONFIG_MTD_DOC2000=m +CONFIG_MTD_DOC2001=m +CONFIG_MTD_DOC2001PLUS=m +CONFIG_MTD_GEN_PROBE=m +CONFIG_MTD_JEDECPROBE=m +CONFIG_MTD_MTDRAM=m +CONFIG_MTD_NAND=m +CONFIG_MTD_ONENAND=m +CONFIG_MTD_PHRAM=m +CONFIG_MTD_PHYSMAP=m +CONFIG_MTD_PLATRAM=m +CONFIG_MTD_RAM=m +CONFIG_MTD_REDBOOT_PARTS=m +CONFIG_MTD_ROM=m +CONFIG_MTD_SLRAM=m +CONFIG_NDISWRAPPER=m +CONFIG_NFTL=m +CONFIG_NO_HZ=y +CONFIG_OUTPUT_FORMAT="elf64-x86-64" +CONFIG_PARPORT=m +CONFIG_PCCARD=m +CONFIG_PHYSICAL_ALIGN=0x1000000 +CONFIG_PHYSICAL_START=0x200000 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PM_DEBUG=y +CONFIG_POCH=m +CONFIG_R3964=m +CONFIG_RAID_ATTRS=m +CONFIG_RCU_FANOUT=64 +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_RFD_FTL=m +CONFIG_RPCSEC_GSS_SPKM3=m +# CONFIG_RWSEM_GENERIC_SPINLOCK is not set +CONFIG_SCSI_ACARD=m +CONFIG_SCSI_ADVANSYS=m +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_NR_UARTS=48 +CONFIG_SERIAL_8250_PCI=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SND_ALI5451=m +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_MPU401=m +CONFIG_SND_MTPAV=m +CONFIG_SND_OPL3_LIB_SEQ=m +# CONFIG_SND_OPL4_LIB_SEQ is not set +CONFIG_SND_RAWMIDI_SEQ=m +# CONFIG_SND_SBAWE_SEQ is not set +CONFIG_SND_SEQUENCER=m +CONFIG_SND_SERIAL_U16550=m +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPI=y +CONFIG_SSB_B43_PCI_BRIDGE=y +# CONFIG_STANDALONE is not set +CONFIG_SUNGEM=m +CONFIG_SYS_HYPERVISOR=y +CONFIG_TCG_TPM=m +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TIPC=m +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_USB=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_GADGET=m +CONFIG_USB_ISP1362_HCD=m +CONFIG_USB_MON=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_UHCI_HCD=y +CONFIG_VIDEO_DEV=m +CONFIG_VME_CA91CX42=m +CONFIG_VME_TSI148=m +CONFIG_VT6656=m +CONFIG_WAN=y +CONFIG_WAN_ROUTER=m +CONFIG_WATCHDOG=y +CONFIG_X25=m +# CONFIG_X86_32 is not set +CONFIG_X86_64=y +CONFIG_X86_L1_CACHE_SHIFT=6 +CONFIG_X86_MINIMUM_CPU_FAMILY=64 +CONFIG_X86_SPEEDSTEP_LIB=m +CONFIG_ZONE_DMA32=y +CONFIG_ZONE_DMA_FLAG=1 --- linux-2.6.32.orig/debian.master/config/amd64/config.flavour.generic +++ linux-2.6.32/debian.master/config/amd64/config.flavour.generic @@ -0,0 +1,21 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_HZ=100 +CONFIG_HZ_100=y +# CONFIG_HZ_1000 is not set +# CONFIG_MEMORY_HOTPLUG is not set +CONFIG_NR_CPUS=64 +# CONFIG_PREEMPT is not set +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_VIRTIO=m +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_NET=m +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_RING=m --- linux-2.6.32.orig/debian.master/config/amd64/config.flavour.server +++ linux-2.6.32/debian.master/config/amd64/config.flavour.server @@ -0,0 +1,21 @@ +# +# Config options for config.flavour.server automatically generated by splitconfig.pl +# +# CONFIG_DEFAULT_CFQ is not set +CONFIG_DEFAULT_DEADLINE=y +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_HZ=100 +CONFIG_HZ_100=y +# CONFIG_HZ_1000 is not set +CONFIG_MEMORY_HOTPLUG=y +CONFIG_NR_CPUS=256 +# CONFIG_PREEMPT is not set +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_SCSI_SPI_ATTRS=y +CONFIG_SCSI_SYM53C8XX_2=y +CONFIG_VIRTIO=y +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_NET=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_RING=y --- linux-2.6.32.orig/debian.master/config/amd64/config.flavour.preempt +++ linux-2.6.32/debian.master/config/amd64/config.flavour.preempt @@ -0,0 +1,21 @@ +# +# Config options for config.flavour.preempt automatically generated by splitconfig.pl +# +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_HZ=1000 +# CONFIG_HZ_100 is not set +CONFIG_HZ_1000=y +# CONFIG_MEMORY_HOTPLUG is not set +CONFIG_NR_CPUS=64 +CONFIG_PREEMPT=y +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_VIRTIO=m +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_NET=m +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_RING=m --- linux-2.6.32.orig/debian.master/config/armel/config.common.armel +++ linux-2.6.32/debian.master/config/armel/config.common.armel @@ -0,0 +1,151 @@ +# +# Config options for config.common.armel automatically generated by splitconfig.pl +# +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_ATALK is not set +# CONFIG_ATM is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_B44 is not set +# CONFIG_BT is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_COMEDI is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +# CONFIG_DRM_RADEON is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_SAVAGE is not set +CONFIG_FLATMEM_MANUAL=y +CONFIG_FONTS=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FSAM7400 is not set +# CONFIG_FTL is not set +# CONFIG_GAMEPORT is not set +CONFIG_HAVE_AOUT=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +# CONFIG_HIGH_RES_TIMERS is not set +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_HWMON is not set +CONFIG_HZ=100 +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_IRDA is not set +# CONFIG_ISDN is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_LAPB is not set +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LLC2 is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_MII=y +CONFIG_MMC_BLOCK=y +# CONFIG_MOUSE_PS2 is not set +# CONFIG_MOUSE_VSXXXAA is not set +CONFIG_MTD=y +# CONFIG_MTD_ABSENT is not set +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CFI=y +CONFIG_MTD_CFI_ADV_OPTIONS=y +# CONFIG_MTD_CFI_AMDSTD is not set +CONFIG_MTD_CFI_INTELEXT=y +# CONFIG_MTD_CFI_STAA is not set +CONFIG_MTD_CFI_UTIL=y +CONFIG_MTD_CHAR=y +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set +CONFIG_MTD_GEN_PROBE=y +# CONFIG_MTD_JEDECPROBE is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_NAND is not set +# CONFIG_MTD_ONENAND is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_PHYSMAP is not set +# CONFIG_MTD_PLATRAM is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_NDISWRAPPER is not set +# CONFIG_NFTL is not set +# CONFIG_NO_HZ is not set +# CONFIG_PARPORT is not set +# CONFIG_PCCARD is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +# CONFIG_PM_DEBUG is not set +# CONFIG_POCH is not set +# CONFIG_PREEMPT is not set +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_R3964 is not set +# CONFIG_RAID_ATTRS is not set +CONFIG_RCU_FANOUT=32 +# CONFIG_REGULATOR_DEBUG is not set +# CONFIG_RFD_FTL is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_ADVANSYS is not set +# CONFIG_SCSI_NSP32 is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_SCSI_SPI_ATTRS=y +CONFIG_SCSI_SYM53C8XX_2=y +CONFIG_SERIAL_8250=m +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_PCI=m +CONFIG_SLAB=y +# CONFIG_SLUB is not set +# CONFIG_SND_ALI5451 is not set +# CONFIG_SND_EMU10K1_SEQ is not set +# CONFIG_SND_MPU401 is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SPARSEMEM_MANUAL is not set +# CONFIG_SPI is not set +# CONFIG_SSB_B43_PCI_BRIDGE is not set +CONFIG_STANDALONE=y +# CONFIG_SUNGEM is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_TCG_TPM is not set +# CONFIG_TCP_CONG_ADVANCED is not set +# CONFIG_TIPC is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +CONFIG_USB=m +CONFIG_USB_EHCI_HCD=m +# CONFIG_USB_GADGET is not set +# CONFIG_USB_ISP1362_HCD is not set +CONFIG_USB_MON=m +CONFIG_USB_OHCI_HCD=m +CONFIG_USB_UHCI_HCD=m +# CONFIG_VIDEO_DEV is not set +CONFIG_VIRTIO=m +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_NET=m +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_RING=m +# CONFIG_VME_CA91CX42 is not set +# CONFIG_VME_TSI148 is not set +# CONFIG_VT6656 is not set +# CONFIG_WAN is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_WATCHDOG is not set +# CONFIG_X25 is not set +CONFIG_ZONE_DMA_FLAG=0 --- linux-2.6.32.orig/debian.master/config/armel/config.flavour.versatile +++ linux-2.6.32/debian.master/config/armel/config.flavour.versatile @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.versatile automatically generated by splitconfig.pl +# --- linux-2.6.32.orig/debian.master/config/i386/config.common.i386 +++ linux-2.6.32/debian.master/config/i386/config.common.i386 @@ -0,0 +1,163 @@ +# +# Config options for config.common.i386 automatically generated by splitconfig.pl +# +# CONFIG_64BIT is not set +CONFIG_ACPI_BLACKLIST_YEAR=2000 +CONFIG_AGP=m +CONFIG_AGP_AMD64=m +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SUPPORTS_MSI=y +CONFIG_ASYNC_TX_DMA=y +CONFIG_ATALK=m +CONFIG_ATM=m +# CONFIG_AUDIT_ARCH is not set +CONFIG_B43=m +CONFIG_B43LEGACY=m +CONFIG_B44=m +CONFIG_BT=m +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_CDROM_PKTCDVD=y +CONFIG_COMEDI=m +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_DRM_RADEON=m +CONFIG_FB_BOOT_VESA_SUPPORT=y +CONFIG_FB_S1D13XXX=m +CONFIG_FB_SAVAGE=m +CONFIG_FLATMEM_MANUAL=y +# CONFIG_FONTS is not set +CONFIG_FRAMEBUFFER_CONSOLE=m +CONFIG_FSAM7400=m +CONFIG_FTL=m +CONFIG_GAMEPORT=m +# CONFIG_GENERIC_CPU is not set +# CONFIG_GENERIC_TIME_VSYSCALL is not set +CONFIG_HAVE_AOUT=y +# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HWMON=y +CONFIG_HZ=250 +# CONFIG_HZ_100 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ_250=y +CONFIG_ILLEGAL_POINTER_VALUE=0 +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_JOYSTICK=y +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_IOMMU_API is not set +# CONFIG_IOMMU_HELPER is not set +CONFIG_IPMI_HANDLER=m +CONFIG_IRDA=m +CONFIG_ISDN=y +CONFIG_KEYBOARD_LKKBD=m +CONFIG_KEYBOARD_NEWTON=m +CONFIG_KEYBOARD_SUNKBD=m +CONFIG_KEYBOARD_XTKBD=m +CONFIG_KTIME_SCALAR=y +CONFIG_LAPB=m +CONFIG_LCD_ILI9320=m +CONFIG_LLC2=m +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_MII=m +CONFIG_MMC_BLOCK=m +CONFIG_MOUSE_PS2=m +CONFIG_MOUSE_VSXXXAA=m +CONFIG_MTD=m +CONFIG_MTD_ABSENT=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CFI=m +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_INTELEXT=m +CONFIG_MTD_CFI_STAA=m +CONFIG_MTD_CFI_UTIL=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_COMPLEX_MAPPINGS=y +CONFIG_MTD_CONCAT=m +CONFIG_MTD_DOC2000=m +CONFIG_MTD_DOC2001=m +CONFIG_MTD_DOC2001PLUS=m +CONFIG_MTD_GEN_PROBE=m +CONFIG_MTD_JEDECPROBE=m +CONFIG_MTD_MTDRAM=m +CONFIG_MTD_NAND=m +CONFIG_MTD_ONENAND=m +CONFIG_MTD_PHRAM=m +CONFIG_MTD_PHYSMAP=m +CONFIG_MTD_PLATRAM=m +CONFIG_MTD_RAM=m +CONFIG_MTD_REDBOOT_PARTS=m +CONFIG_MTD_ROM=m +CONFIG_MTD_SLRAM=m +CONFIG_NDISWRAPPER=m +CONFIG_NFTL=m +CONFIG_NO_HZ=y +CONFIG_NR_CPUS=8 +CONFIG_OUTPUT_FORMAT="elf32-i386" +CONFIG_PARPORT=m +CONFIG_PCCARD=m +CONFIG_PHYSICAL_ALIGN=0x100000 +CONFIG_PHYSICAL_START=0x100000 +CONFIG_PM_DEBUG=y +CONFIG_POCH=m +# CONFIG_PREEMPT is not set +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_R3964=m +CONFIG_RAID_ATTRS=m +CONFIG_RCU_FANOUT=32 +CONFIG_REGULATOR_DEBUG=y +CONFIG_RFD_FTL=m +CONFIG_RPCSEC_GSS_SPKM3=m +# CONFIG_RWSEM_GENERIC_SPINLOCK is not set +CONFIG_SCSI_ACARD=m +CONFIG_SCSI_ADVANSYS=m +CONFIG_SCSI_NSP32=m +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_NR_UARTS=48 +CONFIG_SERIAL_8250_PCI=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SND_ALI5451=m +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_MPU401=m +CONFIG_SND_MTPAV=m +CONFIG_SND_OPL3_LIB_SEQ=m +CONFIG_SND_OPL4_LIB_SEQ=m +CONFIG_SND_RAWMIDI_SEQ=m +CONFIG_SND_SBAWE_SEQ=m +CONFIG_SND_SEQUENCER=m +CONFIG_SND_SERIAL_U16550=m +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_SPI=y +CONFIG_SSB_B43_PCI_BRIDGE=y +# CONFIG_STANDALONE is not set +CONFIG_SUNGEM=m +CONFIG_TCG_TPM=m +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TIPC=m +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_USB=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_GADGET=m +CONFIG_USB_ISP1362_HCD=m +CONFIG_USB_MON=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_UHCI_HCD=y +CONFIG_VIDEO_DEV=m +CONFIG_VME_CA91CX42=m +CONFIG_VME_TSI148=m +CONFIG_VT6656=m +CONFIG_WAN=y +CONFIG_WAN_ROUTER=m +CONFIG_WATCHDOG=y +CONFIG_X25=m +CONFIG_X86_32=y +# CONFIG_X86_64 is not set +CONFIG_X86_SPEEDSTEP_LIB=y +# CONFIG_ZONE_DMA32 is not set +CONFIG_ZONE_DMA_FLAG=1 --- linux-2.6.32.orig/debian.master/config/i386/config.flavour.generic +++ linux-2.6.32/debian.master/config/i386/config.flavour.generic @@ -0,0 +1,23 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_HIGHMEM4G=y +# CONFIG_HIGHMEM64G is not set +# CONFIG_M486 is not set +CONFIG_M586=y +# CONFIG_M586TSC is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SCSI_SYM53C8XX_2=m +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_VIRTIO=m +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_NET=m +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_RING=m +CONFIG_X86_L1_CACHE_SHIFT=5 +CONFIG_X86_MINIMUM_CPU_FAMILY=4 --- linux-2.6.32.orig/debian.master/config/i386/config.flavour.generic-pae +++ linux-2.6.32/debian.master/config/i386/config.flavour.generic-pae @@ -0,0 +1,23 @@ +# +# Config options for config.flavour.generic-pae automatically generated by splitconfig.pl +# +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_IOSCHED="cfq" +# CONFIG_HIGHMEM4G is not set +CONFIG_HIGHMEM64G=y +# CONFIG_M486 is not set +# CONFIG_M586 is not set +CONFIG_M586TSC=y +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_SCSI_SPI_ATTRS=y +CONFIG_SCSI_SYM53C8XX_2=y +CONFIG_SYS_HYPERVISOR=y +CONFIG_VIRTIO=y +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_NET=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_RING=y +CONFIG_X86_L1_CACHE_SHIFT=5 +CONFIG_X86_MINIMUM_CPU_FAMILY=5 --- linux-2.6.32.orig/debian.master/config/i386/config.flavour.386 +++ linux-2.6.32/debian.master/config/i386/config.flavour.386 @@ -0,0 +1,23 @@ +# +# Config options for config.flavour.386 automatically generated by splitconfig.pl +# +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +# CONFIG_DEFAULT_CFQ is not set +CONFIG_DEFAULT_DEADLINE=y +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_HIGHMEM4G=y +# CONFIG_HIGHMEM64G is not set +CONFIG_M486=y +# CONFIG_M586 is not set +# CONFIG_M586TSC is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SCSI_SYM53C8XX_2=m +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_VIRTIO=m +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_NET=m +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_RING=m +CONFIG_X86_L1_CACHE_SHIFT=4 +CONFIG_X86_MINIMUM_CPU_FAMILY=4 --- linux-2.6.32.orig/debian.master/config/ia64/config.common.ia64 +++ linux-2.6.32/debian.master/config/ia64/config.common.ia64 @@ -0,0 +1,294 @@ +# +# Config options for config.common.ia64 automatically generated by splitconfig.pl +# +CONFIG_ACCESSIBILITY=y +CONFIG_ACORN_PARTITION=y +CONFIG_AIC79XX_DEBUG_ENABLE=y +CONFIG_AIC79XX_REG_PRETTY_PRINT=y +# CONFIG_ALIM7101_WDT is not set +CONFIG_AMD8111_ETH=m +CONFIG_AMIGA_PARTITION=y +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARCNET=m +CONFIG_ATA=m +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_NONSTANDARD=y +# CONFIG_BINARY_PRINTF is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_SR_VENDOR is not set +# CONFIG_BONDING is not set +# CONFIG_BRIDGE_NF_EBTABLES is not set +CONFIG_BSD_DISKLABEL=y +CONFIG_BT=m +# CONFIG_CFG80211_REG_DEBUG is not set +# CONFIG_CGROUP_DEVICE is not set +CONFIG_CHR_DEV_SCH=m +CONFIG_CPU_FREQ=y +# CONFIG_CPU_FREQ_PMAC64 is not set +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_LZO=m +CONFIG_CRYPTO_TEST=m +CONFIG_DAB=y +CONFIG_DE2104X=m +CONFIG_DE4X5=m +# CONFIG_DECNET_ROUTER is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_DEFXX=m +CONFIG_DEV_APPLETALK=m +CONFIG_DISCONTIGMEM_MANUAL=y +CONFIG_DM9102=m +CONFIG_DMADEVICES=y +CONFIG_DRM=m +CONFIG_DVB_CORE=m +CONFIG_ECONET=m +CONFIG_EZX_PCAP=y +CONFIG_FB_3DFX=y +CONFIG_FB_ASILIANT=y +CONFIG_FB_ATY=m +CONFIG_FB_ATY128=m +CONFIG_FB_CIRRUS=m +CONFIG_FB_IMSTT=y +CONFIG_FB_KYRO=m +# CONFIG_FB_MACMODES is not set +CONFIG_FB_MATROX=y +CONFIG_FB_NEOMAGIC=m +CONFIG_FB_PM2=m +CONFIG_FB_PM2_FIFO_DISCONNECT=y +# CONFIG_FB_PS3 is not set +CONFIG_FB_RIVA=m +CONFIG_FB_SIS=m +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +CONFIG_FB_TRIDENT=m +CONFIG_FB_VOODOO1=y +# CONFIG_FLATMEM_MANUAL is not set +CONFIG_FORCEDETH=m +CONFIG_FORCE_MAX_ZONEORDER=17 +CONFIG_FUSION_MAX_SGE=128 +CONFIG_GAMEPORT=m +# CONFIG_GELIC_NET is not set +CONFIG_GENERIC_IOMAP=y +CONFIG_HAMACHI=m +CONFIG_HAMRADIO=y +CONFIG_HAPPYMEAL=m +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HIPPI=y +CONFIG_HP100=m +CONFIG_HP_ILO=m +CONFIG_HUGETLB_PAGE=y +CONFIG_I2C_ALI1535=m +CONFIG_I2C_ALI1563=m +CONFIG_I2C_ALI15X3=m +CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_I801=m +CONFIG_I2C_NFORCE2=m +CONFIG_I2C_SIS5595=m +CONFIG_I2C_SIS630=m +CONFIG_I2C_SIS96X=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m +CONFIG_I2C_VOODOO3=m +# CONFIG_IDE is not set +# CONFIG_IEEE1394_PCILYNX is not set +CONFIG_IKCONFIG=y +# CONFIG_INET6_AH is not set +# CONFIG_INET6_ESP is not set +# CONFIG_INET6_IPCOMP is not set +# CONFIG_INET6_TUNNEL is not set +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_INET6_XFRM_TUNNEL is not set +# CONFIG_INFINIBAND_AMSO1100 is not set +# CONFIG_INFINIBAND_IPATH is not set +# CONFIG_INFINIBAND_IPOIB_CM is not set +# CONFIG_INFINIBAND_ISER is not set +# CONFIG_INFINIBAND_SRP is not set +# CONFIG_INFINIBAND_USER_ACCESS is not set +# CONFIG_INFINIBAND_USER_MAD is not set +# CONFIG_INFTL is not set +CONFIG_INPUT_EVBUG=m +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_JOYSTICK=y +CONFIG_INPUT_UINPUT=m +# CONFIG_IP1000 is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_IPV6_PRIVACY is not set +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_NF_QUEUE is not set +# CONFIG_IP_PNP is not set +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IRDA=m +CONFIG_ISDN=y +# CONFIG_ISDN_DRV_GIGASET is not set +CONFIG_KERNEL_START=0xc0000000 +CONFIG_KEYBOARD_NEWTON=m +CONFIG_KEYBOARD_SUNKBD=m +CONFIG_KEYBOARD_XTKBD=m +CONFIG_LAPB=m +CONFIG_LDM_PARTITION=y +CONFIG_LEDS_CLASS=m +CONFIG_LEDS_PCA9532=m +CONFIG_LEDS_PCA955X=m +CONFIG_LEDS_TRIGGER_DEFAULT_ON=m +CONFIG_LEDS_TRIGGER_HEARTBEAT=m +CONFIG_LEDS_TRIGGER_TIMER=m +CONFIG_LLC=y +CONFIG_LOG_BUF_SHIFT=20 +CONFIG_LZO_COMPRESS=m +CONFIG_LZO_DECOMPRESS=m +CONFIG_MAC80211_MESH=y +# CONFIG_MACVLAN is not set +CONFIG_MAC_PARTITION=y +# CONFIG_MARKERS is not set +CONFIG_MINIX_SUBPARTITION=y +# CONFIG_MMIO_NVRAM is not set +CONFIG_MOUSE_SERIAL=m +CONFIG_MOUSE_VSXXXAA=m +# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set +# CONFIG_NCPFS_SMALLDOS is not set +CONFIG_NET_IPGRE=m +CONFIG_NET_PKTGEN=m +# CONFIG_NIU is not set +CONFIG_NLS_DEFAULT="cp437" +CONFIG_NODES_SHIFT=4 +CONFIG_NR_CPUS=4096 +CONFIG_OSF_PARTITION=y +CONFIG_PAGE_OFFSET=0xc0000000 +# CONFIG_PCIEASPM is not set +CONFIG_PCI_MSI=y +CONFIG_PHYS_ADDR_T_64BIT=y +# CONFIG_PPC64 is not set +# CONFIG_PPC_970_NAP is not set +# CONFIG_PPC_CELL is not set +# CONFIG_PPC_HAS_HASH_64K is not set +CONFIG_PPC_INDIRECT_PCI=y +# CONFIG_PPC_MAPLE is not set +# CONFIG_PPC_MM_SLICES is not set +CONFIG_PPC_MPC106=y +# CONFIG_PPC_PASEMI is not set +# CONFIG_PPC_PS3 is not set +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PRISM54=m +CONFIG_PROFILING=y +# CONFIG_PS3_VRAM is not set +CONFIG_QFMT_V1=m +CONFIG_R8169=m +CONFIG_RCU_FANOUT=64 +CONFIG_RDS=m +CONFIG_RISCOM8=m +# CONFIG_RTAS_ERROR_LOGGING is not set +CONFIG_RTC_DRV_BQ4802=m +CONFIG_RTC_DRV_M48T59=m +# CONFIG_RTC_DRV_PS3 is not set +# CONFIG_RTC_DRV_TEST is not set +CONFIG_SATA_SVW=m +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_HRTICK is not set +CONFIG_SCSI=m +CONFIG_SCSI_AIC7XXX=m +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_DC390T=m +CONFIG_SCSI_DEBUG=m +CONFIG_SCSI_FUTURE_DOMAIN=m +CONFIG_SCSI_IPS=m +CONFIG_SCSI_LOGGING=y +# CONFIG_SCSI_LPFC_DEBUG_FS is not set +CONFIG_SENSORS_ADM1021=m +CONFIG_SENSORS_ADM1025=m +CONFIG_SENSORS_ADM1031=m +CONFIG_SENSORS_DS1621=m +CONFIG_SENSORS_GL518SM=m +CONFIG_SENSORS_IT87=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_LM90=m +CONFIG_SENSORS_MAX1619=m +CONFIG_SENSORS_PCF8591=m +CONFIG_SENSORS_VIA686A=m +CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83781D=m +CONFIG_SENSORS_W83L785TS=m +# CONFIG_SERIAL_8250_DETECT_IRQ is not set +CONFIG_SERIAL_8250_NR_UARTS=48 +CONFIG_SERIAL_CORE=m +CONFIG_SERIO_PARKBD=m +CONFIG_SERIO_PCIPS2=m +CONFIG_SGI_PARTITION=y +CONFIG_SLIP_MODE_SLIP6=y +CONFIG_SMP=y +CONFIG_SOLARIS_X86_PARTITION=y +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_SPECIALIX=m +CONFIG_STAGING_EXCLUDE_BUILD=y +# CONFIG_SUNDANCE_MMIO is not set +CONFIG_SUNGEM=m +CONFIG_TABLET_USB_WACOM=m +CONFIG_THERMAL=m +CONFIG_TR=y +# CONFIG_TULIP_NAPI is not set +CONFIG_UBIFS_FS=m +# CONFIG_UFS_FS is not set +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_USB=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_GADGET=m +CONFIG_USB_GADGET_DUALSPEED=y +# CONFIG_USB_GADGET_GOKU is not set +CONFIG_USB_GADGET_NET2280=y +CONFIG_USB_HIDDEV=y +CONFIG_USB_IBMCAM=m +CONFIG_USB_KONICAWC=m +CONFIG_USB_MON=y +CONFIG_USB_NET2280=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_PWC=m +CONFIG_USB_QUICKCAM_MESSENGER=m +CONFIG_USB_SE401=m +CONFIG_USB_STV680=m +CONFIG_USB_UHCI_HCD=y +CONFIG_USB_VICAM=m +CONFIG_VIDEO_ADV7170=m +CONFIG_VIDEO_ADV7175=m +CONFIG_VIDEO_BT819=m +CONFIG_VIDEO_BT848=m +CONFIG_VIDEO_BT856=m +CONFIG_VIDEO_BT866=m +CONFIG_VIDEO_BWQCAM=m +CONFIG_VIDEO_CPIA=m +CONFIG_VIDEO_CPIA2=m +CONFIG_VIDEO_CQCAM=m +CONFIG_VIDEO_CS5345=m +CONFIG_VIDEO_CX88=m +CONFIG_VIDEO_EM28XX=m +CONFIG_VIDEO_IVTV=m +CONFIG_VIDEO_KS0127=m +CONFIG_VIDEO_M52790=m +CONFIG_VIDEO_OVCAMCHIP=m +CONFIG_VIDEO_SAA5249=m +CONFIG_VIDEO_SAA7110=m +CONFIG_VIDEO_SAA7185=m +CONFIG_VIDEO_SAA7191=m +CONFIG_VIDEO_TDA7432=m +CONFIG_VIDEO_TDA9875=m +CONFIG_VIDEO_TVAUDIO=m +CONFIG_VIDEO_VPX3220=m +CONFIG_VIDEO_W9966=m +# CONFIG_VIRTUALIZATION is not set +CONFIG_WAN=y +CONFIG_WAN_ROUTER=m +# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WORD_SIZE=32 +CONFIG_X25=m +CONFIG_ZONE_DMA_FLAG=1 --- linux-2.6.32.orig/debian.master/config/ia64/config.flavour.ia64 +++ linux-2.6.32/debian.master/config/ia64/config.flavour.ia64 @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.ia64 automatically generated by splitconfig.pl +# --- linux-2.6.32.orig/debian.master/config/lpia/config.common.lpia +++ linux-2.6.32/debian.master/config/lpia/config.common.lpia @@ -0,0 +1,183 @@ +# +# Config options for config.common.lpia automatically generated by splitconfig.pl +# +# CONFIG_64BIT is not set +CONFIG_ACPI_BLACKLIST_YEAR=2000 +CONFIG_AGP=m +CONFIG_AGP_AMD64=m +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SUPPORTS_MSI=y +CONFIG_ASYNC_TX_DMA=y +CONFIG_ATALK=m +CONFIG_ATM=m +# CONFIG_AUDIT_ARCH is not set +CONFIG_B43=m +CONFIG_B43LEGACY=m +CONFIG_B44=m +CONFIG_BT=m +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_CDROM_PKTCDVD=y +CONFIG_COMEDI=m +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_DRM_RADEON=m +CONFIG_FB_BOOT_VESA_SUPPORT=y +CONFIG_FB_S1D13XXX=m +CONFIG_FB_SAVAGE=m +CONFIG_FLATMEM_MANUAL=y +# CONFIG_FONTS is not set +CONFIG_FRAMEBUFFER_CONSOLE=m +CONFIG_FSAM7400=m +CONFIG_FTL=m +CONFIG_GAMEPORT=m +# CONFIG_GENERIC_CPU is not set +# CONFIG_GENERIC_TIME_VSYSCALL is not set +CONFIG_HAVE_AOUT=y +# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_HIGHMEM4G=y +# CONFIG_HIGHMEM64G is not set +CONFIG_HIGH_RES_TIMERS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HWMON=y +CONFIG_HZ=250 +# CONFIG_HZ_100 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ_250=y +CONFIG_ILLEGAL_POINTER_VALUE=0 +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_JOYSTICK=y +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_IOMMU_API is not set +# CONFIG_IOMMU_HELPER is not set +CONFIG_IPMI_HANDLER=m +CONFIG_IRDA=m +CONFIG_ISDN=y +CONFIG_KEYBOARD_LKKBD=m +CONFIG_KEYBOARD_NEWTON=m +CONFIG_KEYBOARD_SUNKBD=m +CONFIG_KEYBOARD_XTKBD=m +CONFIG_KTIME_SCALAR=y +CONFIG_LAPB=m +CONFIG_LCD_ILI9320=m +CONFIG_LLC2=m +CONFIG_LOG_BUF_SHIFT=17 +# CONFIG_M486 is not set +CONFIG_M586=y +# CONFIG_M586TSC is not set +CONFIG_MII=m +CONFIG_MMC_BLOCK=m +CONFIG_MOUSE_PS2=m +CONFIG_MOUSE_VSXXXAA=m +CONFIG_MTD=m +CONFIG_MTD_ABSENT=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CFI=m +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_INTELEXT=m +CONFIG_MTD_CFI_STAA=m +CONFIG_MTD_CFI_UTIL=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_COMPLEX_MAPPINGS=y +CONFIG_MTD_CONCAT=m +CONFIG_MTD_DOC2000=m +CONFIG_MTD_DOC2001=m +CONFIG_MTD_DOC2001PLUS=m +CONFIG_MTD_GEN_PROBE=m +CONFIG_MTD_JEDECPROBE=m +CONFIG_MTD_MTDRAM=m +CONFIG_MTD_NAND=m +CONFIG_MTD_ONENAND=m +CONFIG_MTD_PHRAM=m +CONFIG_MTD_PHYSMAP=m +CONFIG_MTD_PLATRAM=m +CONFIG_MTD_RAM=m +CONFIG_MTD_REDBOOT_PARTS=m +CONFIG_MTD_ROM=m +CONFIG_MTD_SLRAM=m +CONFIG_NDISWRAPPER=m +CONFIG_NFTL=m +CONFIG_NO_HZ=y +CONFIG_NR_CPUS=8 +CONFIG_OUTPUT_FORMAT="elf32-i386" +CONFIG_PARPORT=m +CONFIG_PCCARD=m +CONFIG_PHYSICAL_ALIGN=0x100000 +CONFIG_PHYSICAL_START=0x100000 +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_PM_DEBUG=y +CONFIG_POCH=m +# CONFIG_PREEMPT is not set +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_R3964=m +CONFIG_RAID_ATTRS=m +CONFIG_RCU_FANOUT=32 +CONFIG_REGULATOR_DEBUG=y +CONFIG_RFD_FTL=m +CONFIG_RPCSEC_GSS_SPKM3=m +# CONFIG_RWSEM_GENERIC_SPINLOCK is not set +CONFIG_SCSI_ACARD=m +CONFIG_SCSI_ADVANSYS=m +CONFIG_SCSI_NSP32=m +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_NR_UARTS=48 +CONFIG_SERIAL_8250_PCI=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SND_ALI5451=m +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_MPU401=m +CONFIG_SND_MTPAV=m +CONFIG_SND_OPL3_LIB_SEQ=m +CONFIG_SND_OPL4_LIB_SEQ=m +CONFIG_SND_RAWMIDI_SEQ=m +CONFIG_SND_SBAWE_SEQ=m +CONFIG_SND_SEQUENCER=m +CONFIG_SND_SERIAL_U16550=m +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_SPI=y +CONFIG_SSB_B43_PCI_BRIDGE=y +# CONFIG_STANDALONE is not set +CONFIG_SUNGEM=m +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_TCG_TPM=m +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TIPC=m +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_USB=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_GADGET=m +CONFIG_USB_ISP1362_HCD=m +CONFIG_USB_MON=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_UHCI_HCD=y +CONFIG_VIDEO_DEV=m +CONFIG_VIRTIO=m +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_NET=m +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_RING=m +CONFIG_VME_CA91CX42=m +CONFIG_VME_TSI148=m +CONFIG_VT6656=m +CONFIG_WAN=y +CONFIG_WAN_ROUTER=m +CONFIG_WATCHDOG=y +CONFIG_X25=m +CONFIG_X86_32=y +# CONFIG_X86_64 is not set +CONFIG_X86_L1_CACHE_SHIFT=5 +CONFIG_X86_MINIMUM_CPU_FAMILY=4 +CONFIG_X86_SPEEDSTEP_LIB=y +# CONFIG_ZONE_DMA32 is not set +CONFIG_ZONE_DMA_FLAG=1 --- linux-2.6.32.orig/debian.master/config/lpia/config.flavour.lpia +++ linux-2.6.32/debian.master/config/lpia/config.flavour.lpia @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.lpia automatically generated by splitconfig.pl +# --- linux-2.6.32.orig/debian.master/config/powerpc/config.common.powerpc +++ linux-2.6.32/debian.master/config/powerpc/config.common.powerpc @@ -0,0 +1,260 @@ +# +# Config options for config.common.powerpc automatically generated by splitconfig.pl +# +# CONFIG_ACCESSIBILITY is not set +CONFIG_ACORN_PARTITION=y +CONFIG_AIC79XX_DEBUG_ENABLE=y +CONFIG_AIC79XX_REG_PRETTY_PRINT=y +# CONFIG_ALIM7101_WDT is not set +CONFIG_AMD8111_ETH=m +CONFIG_AMIGA_PARTITION=y +CONFIG_ARCNET=m +CONFIG_ATA=y +CONFIG_ATARI_PARTITION=y +CONFIG_BINARY_PRINTF=y +CONFIG_BLK_DEV_FD=m +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_BONDING=m +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BSD_DISKLABEL=y +CONFIG_BT=m +CONFIG_CGROUP_DEVICE=y +CONFIG_CHR_DEV_SCH=m +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_PMAC64=y +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_TEST=m +# CONFIG_DAB is not set +CONFIG_DE2104X=m +CONFIG_DE4X5=m +# CONFIG_DECNET_ROUTER is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_DEFXX=m +CONFIG_DEV_APPLETALK=m +# CONFIG_DISCONTIGMEM_MANUAL is not set +CONFIG_DM9102=m +# CONFIG_DMADEVICES is not set +CONFIG_DRM=m +CONFIG_DVB_CORE=m +CONFIG_ECONET=m +# CONFIG_EZX_PCAP is not set +CONFIG_FB_3DFX=y +CONFIG_FB_ASILIANT=y +CONFIG_FB_ATY=y +CONFIG_FB_ATY128=y +CONFIG_FB_CIRRUS=m +CONFIG_FB_IMSTT=y +CONFIG_FB_KYRO=m +CONFIG_FB_MACMODES=y +CONFIG_FB_MATROX=y +CONFIG_FB_NEOMAGIC=m +CONFIG_FB_PM2=m +CONFIG_FB_PM2_FIFO_DISCONNECT=y +CONFIG_FB_PS3=y +CONFIG_FB_RIVA=m +CONFIG_FB_SIS=m +CONFIG_FB_TRIDENT=m +CONFIG_FB_VOODOO1=y +CONFIG_FORCEDETH=m +CONFIG_FUSION_MAX_SGE=128 +CONFIG_GAMEPORT=m +CONFIG_GELIC_NET=m +# CONFIG_GENERIC_IOMAP is not set +# CONFIG_GPIO_SYSFS is not set +CONFIG_HAMACHI=m +CONFIG_HAMRADIO=y +CONFIG_HAPPYMEAL=m +CONFIG_HIPPI=y +CONFIG_HP100=m +CONFIG_I2C_ALI1535=m +CONFIG_I2C_ALI1563=m +CONFIG_I2C_ALI15X3=m +CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_I801=m +CONFIG_I2C_NFORCE2=m +CONFIG_I2C_SIS5595=m +CONFIG_I2C_SIS630=m +CONFIG_I2C_SIS96X=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m +CONFIG_I2C_VOODOO3=m +CONFIG_IDE=y +CONFIG_IEEE1394_PCILYNX=m +# CONFIG_IKCONFIG is not set +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +CONFIG_INET6_TUNNEL=m +CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INFINIBAND_AMSO1100=m +# CONFIG_INFINIBAND_IPATH is not set +CONFIG_INFINIBAND_IPOIB_CM=y +CONFIG_INFINIBAND_ISER=m +CONFIG_INFINIBAND_SRP=m +CONFIG_INFINIBAND_USER_ACCESS=m +CONFIG_INFINIBAND_USER_MAD=m +CONFIG_INFTL=m +CONFIG_INPUT_EVBUG=m +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_JOYSTICK=y +CONFIG_INPUT_UINPUT=m +CONFIG_IP1000=m +CONFIG_IPMI_HANDLER=m +CONFIG_IPMI_POWEROFF=m +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_TUNNEL=m +CONFIG_IP_DCCP=m +CONFIG_IP_NF_QUEUE=m +# CONFIG_IP_PNP is not set +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IRDA=m +# CONFIG_ISDN is not set +CONFIG_KEYBOARD_NEWTON=m +CONFIG_KEYBOARD_SUNKBD=m +CONFIG_KEYBOARD_XTKBD=m +CONFIG_LAPB=m +CONFIG_LDM_PARTITION=y +CONFIG_LEDS_CLASS=y +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_PCA955X is not set +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LLC=y +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_MAC80211_MESH=y +CONFIG_MACVLAN=m +CONFIG_MAC_PARTITION=y +CONFIG_MARKERS=y +# CONFIG_MFD_SM501_GPIO is not set +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MOUSE_SERIAL=m +CONFIG_MOUSE_VSXXXAA=m +# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set +# CONFIG_NCPFS_SMALLDOS is not set +CONFIG_NET_IPGRE=m +CONFIG_NET_PKTGEN=m +# CONFIG_NIU is not set +CONFIG_NLS_DEFAULT="cp437" +CONFIG_NODES_SHIFT=8 +CONFIG_OSF_PARTITION=y +CONFIG_PCI_MSI=y +CONFIG_PMAC_SMU=y +CONFIG_PPC_HAS_HASH_64K=y +CONFIG_PPC_MAPLE=y +CONFIG_PPC_PASEMI=y +CONFIG_PPC_PS3=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PRISM54=m +CONFIG_PROFILING=y +CONFIG_PS3_VRAM=m +CONFIG_QFMT_V1=m +CONFIG_R8169=m +# CONFIG_RDS is not set +CONFIG_RTC_DRV_BQ4802=m +CONFIG_RTC_DRV_CMOS=m +CONFIG_RTC_DRV_M48T59=m +CONFIG_RTC_DRV_PS3=m +# CONFIG_RTC_DRV_TEST is not set +CONFIG_SATA_SVW=y +CONFIG_SCHED_HRTICK=y +CONFIG_SCSI=y +CONFIG_SCSI_AIC7XXX=m +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_DC390T=m +CONFIG_SCSI_DEBUG=m +CONFIG_SCSI_FUTURE_DOMAIN=m +CONFIG_SCSI_IPS=m +CONFIG_SCSI_LOGGING=y +CONFIG_SENSORS_ADM1021=m +CONFIG_SENSORS_ADM1025=m +CONFIG_SENSORS_ADM1031=m +CONFIG_SENSORS_DS1621=m +CONFIG_SENSORS_GL518SM=m +CONFIG_SENSORS_IT87=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_LM90=m +CONFIG_SENSORS_MAX1619=m +CONFIG_SENSORS_PCF8591=m +CONFIG_SENSORS_VIA686A=m +CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83781D=m +CONFIG_SENSORS_W83L785TS=m +# CONFIG_SERIAL_8250_DETECT_IRQ is not set +CONFIG_SERIAL_8250_NR_UARTS=48 +CONFIG_SERIAL_CORE=m +CONFIG_SERIO_PARKBD=m +CONFIG_SERIO_PCIPS2=m +CONFIG_SGI_PARTITION=y +CONFIG_SLIP_MODE_SLIP6=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SPECIALIX=m +# CONFIG_STAGING_EXCLUDE_BUILD is not set +# CONFIG_SUNDANCE_MMIO is not set +CONFIG_SUNGEM=m +# CONFIG_TABLET_USB_WACOM is not set +# CONFIG_THERMAL is not set +CONFIG_THERM_PM72=m +CONFIG_TR=y +# CONFIG_TULIP_NAPI is not set +CONFIG_UFS_FS=m +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_USB=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_GADGET=m +CONFIG_USB_HIDDEV=y +CONFIG_USB_IBMCAM=m +CONFIG_USB_KONICAWC=m +CONFIG_USB_MON=y +CONFIG_USB_NET2280=m +CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y +CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_PWC=m +CONFIG_USB_QUICKCAM_MESSENGER=m +CONFIG_USB_SE401=m +CONFIG_USB_STV680=m +CONFIG_USB_UHCI_HCD=y +CONFIG_USB_VICAM=m +CONFIG_VIDEO_ADV7170=m +CONFIG_VIDEO_ADV7175=m +CONFIG_VIDEO_BT819=m +CONFIG_VIDEO_BT848=m +CONFIG_VIDEO_BT856=m +CONFIG_VIDEO_BT866=m +CONFIG_VIDEO_BWQCAM=m +CONFIG_VIDEO_CPIA=m +CONFIG_VIDEO_CPIA2=m +CONFIG_VIDEO_CQCAM=m +CONFIG_VIDEO_CS5345=m +CONFIG_VIDEO_CX88=m +CONFIG_VIDEO_EM28XX=m +CONFIG_VIDEO_IVTV=m +CONFIG_VIDEO_KS0127=m +CONFIG_VIDEO_M52790=m +CONFIG_VIDEO_OVCAMCHIP=m +CONFIG_VIDEO_SAA5249=m +CONFIG_VIDEO_SAA7110=m +CONFIG_VIDEO_SAA7185=m +CONFIG_VIDEO_SAA7191=m +CONFIG_VIDEO_TDA7432=m +CONFIG_VIDEO_TDA9875=m +CONFIG_VIDEO_TVAUDIO=m +CONFIG_VIDEO_VPX3220=m +CONFIG_VIDEO_W9966=m +CONFIG_VIRTUALIZATION=y +CONFIG_WAN=y +CONFIG_WAN_ROUTER=m +# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_X25=m +CONFIG_ZONE_DMA_FLAG=1 --- linux-2.6.32.orig/debian.master/config/powerpc/config.flavour.powerpc +++ linux-2.6.32/debian.master/config/powerpc/config.flavour.powerpc @@ -0,0 +1,50 @@ +# +# Config options for config.flavour.powerpc automatically generated by splitconfig.pl +# +# 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 is not set +CONFIG_CRYPTO_LZO=m +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +CONFIG_FLATMEM_MANUAL=y +CONFIG_FORCE_MAX_ZONEORDER=11 +# CONFIG_GENERIC_TBSYNC is not set +# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set +CONFIG_HP_ILO=m +# CONFIG_HUGETLB_PAGE is not set +CONFIG_I2C_GPIO=m +CONFIG_KERNEL_START=0xc0000000 +CONFIG_KGDB=y +CONFIG_LATENCYTOP=y +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y +CONFIG_LZO_COMPRESS=m +CONFIG_LZO_DECOMPRESS=m +CONFIG_MAX_ACTIVE_REGIONS=32 +# CONFIG_MMIO_NVRAM is not set +# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set +CONFIG_PAGE_OFFSET=0xc0000000 +# CONFIG_PCIEASPM is not set +# 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_INDIRECT_PCI=y +# CONFIG_PPC_MM_SLICES is not set +CONFIG_PPC_MPC106=y +CONFIG_RCU_FANOUT=32 +CONFIG_RISCOM8=m +# CONFIG_RTAS_ERROR_LOGGING is not set +CONFIG_SCHEDSTATS=y +# CONFIG_SCSI_LPFC_DEBUG_FS is not set +# CONFIG_SMP is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_TPS65010=m +CONFIG_UBIFS_FS=m +CONFIG_USB_GADGET_DUALSPEED=y +# CONFIG_USB_GADGET_GOKU is not set +CONFIG_USB_GADGET_NET2280=y +CONFIG_WORD_SIZE=32 --- linux-2.6.32.orig/debian.master/config/powerpc/config.flavour.powerpc-smp +++ linux-2.6.32/debian.master/config/powerpc/config.flavour.powerpc-smp @@ -0,0 +1,51 @@ +# +# Config options for config.flavour.powerpc-smp automatically generated by splitconfig.pl +# +# 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_CRYPTO_LZO is not set +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +CONFIG_FLATMEM_MANUAL=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_GENERIC_TBSYNC=y +# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set +# CONFIG_HP_ILO is not set +# CONFIG_HUGETLB_PAGE is not set +CONFIG_I2C_GPIO=m +CONFIG_KERNEL_START=0xc0000000 +# CONFIG_KGDB is not set +# CONFIG_LATENCYTOP is not set +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set +CONFIG_LZO_COMPRESS=m +CONFIG_LZO_DECOMPRESS=m +CONFIG_MAX_ACTIVE_REGIONS=32 +# CONFIG_MMIO_NVRAM is not set +# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set +CONFIG_NR_CPUS=4 +CONFIG_PAGE_OFFSET=0xc0000000 +CONFIG_PCIEASPM=y +# 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_INDIRECT_PCI=y +# CONFIG_PPC_MM_SLICES is not set +CONFIG_PPC_MPC106=y +CONFIG_RCU_FANOUT=32 +# CONFIG_RISCOM8 is not set +# CONFIG_RTAS_ERROR_LOGGING is not set +# CONFIG_SCHEDSTATS is not set +CONFIG_SCSI_LPFC_DEBUG_FS=y +CONFIG_SMP=y +# CONFIG_SPARSEMEM_MANUAL is not set +# CONFIG_TPS65010 is not set +# CONFIG_UBIFS_FS is not set +# CONFIG_USB_GADGET_DUALSPEED is not set +CONFIG_USB_GADGET_GOKU=y +# CONFIG_USB_GADGET_NET2280 is not set +CONFIG_WORD_SIZE=32 --- linux-2.6.32.orig/debian.master/config/powerpc/config.flavour.powerpc64-smp +++ linux-2.6.32/debian.master/config/powerpc/config.flavour.powerpc64-smp @@ -0,0 +1,51 @@ +# +# Config options for config.flavour.powerpc64-smp automatically generated by splitconfig.pl +# +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_CRYPTO_LZO=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_SYS_IMAGEBLIT=y +# CONFIG_FLATMEM_MANUAL is not set +CONFIG_FORCE_MAX_ZONEORDER=13 +CONFIG_GENERIC_TBSYNC=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HP_ILO=m +CONFIG_HUGETLB_PAGE=y +# CONFIG_I2C_GPIO is not set +CONFIG_KERNEL_START=0xc000000000000000 +CONFIG_KGDB=y +CONFIG_LATENCYTOP=y +CONFIG_LEDS_TRIGGER_DEFAULT_ON=m +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_MAX_ACTIVE_REGIONS=256 +CONFIG_MMIO_NVRAM=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NR_CPUS=1024 +CONFIG_PAGE_OFFSET=0xc000000000000000 +# CONFIG_PCIEASPM is not set +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PPC64=y +CONFIG_PPC_970_NAP=y +CONFIG_PPC_CELL=y +# CONFIG_PPC_INDIRECT_PCI is not set +CONFIG_PPC_MM_SLICES=y +# CONFIG_PPC_MPC106 is not set +CONFIG_RCU_FANOUT=64 +CONFIG_RISCOM8=m +CONFIG_RTAS_ERROR_LOGGING=y +CONFIG_SCHEDSTATS=y +# CONFIG_SCSI_LPFC_DEBUG_FS is not set +CONFIG_SMP=y +CONFIG_SPARSEMEM_MANUAL=y +# CONFIG_TPS65010 is not set +CONFIG_UBIFS_FS=m +CONFIG_USB_GADGET_DUALSPEED=y +# CONFIG_USB_GADGET_GOKU is not set +CONFIG_USB_GADGET_NET2280=y +CONFIG_WORD_SIZE=64 --- linux-2.6.32.orig/debian.master/config/sparc/config.common.sparc +++ linux-2.6.32/debian.master/config/sparc/config.common.sparc @@ -0,0 +1,302 @@ +# +# Config options for config.common.sparc automatically generated by splitconfig.pl +# +CONFIG_ACCESSIBILITY=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIC79XX_DEBUG_ENABLE is not set +# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set +CONFIG_ALIM7101_WDT=m +# CONFIG_AMD8111_ETH is not set +# CONFIG_AMIGA_PARTITION is not set +CONFIG_ARCH_NO_VIRT_TO_BUS=y +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +# CONFIG_ARCNET is not set +CONFIG_ATA=m +# CONFIG_ATARI_PARTITION is not set +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_BINARY_PRINTF=y +CONFIG_BLK_DEV_FD=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_SR_VENDOR=y +CONFIG_BONDING=m +CONFIG_BRIDGE_NF_EBTABLES=m +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_BT is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CGROUP_DEVICE=y +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_CPU_FREQ is not set +# CONFIG_CPU_FREQ_PMAC64 is not set +CONFIG_CRYPTO_DES=y +CONFIG_CRYPTO_LZO=m +# CONFIG_CRYPTO_TEST is not set +# CONFIG_DAB is not set +# CONFIG_DE2104X is not set +# CONFIG_DE4X5 is not set +CONFIG_DECNET_ROUTER=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +# CONFIG_DEFXX is not set +# CONFIG_DEV_APPLETALK is not set +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_DM9102 is not set +CONFIG_DMADEVICES=y +CONFIG_DRM=y +# CONFIG_DVB_CORE is not set +# CONFIG_ECONET is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_ASILIANT is not set +CONFIG_FB_ATY=y +CONFIG_FB_ATY128=y +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_NEOMAGIC is not set +CONFIG_FB_PM2=y +# CONFIG_FB_PM2_FIFO_DISCONNECT is not set +# CONFIG_FB_PS3 is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_SIS 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_TRIDENT is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FLATMEM_MANUAL is not set +# CONFIG_FORCEDETH is not set +CONFIG_FUSION_MAX_SGE=40 +# CONFIG_GAMEPORT is not set +# CONFIG_GELIC_NET is not set +CONFIG_GPIO_SYSFS=y +# CONFIG_HAMACHI is not set +# CONFIG_HAMRADIO is not set +CONFIG_HAPPYMEAL=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +# CONFIG_HIPPI is not set +# CONFIG_HP100 is not set +# CONFIG_HP_ILO is not set +CONFIG_HUGETLB_PAGE=y +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +CONFIG_I2C_GPIO=m +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set +# CONFIG_I2C_VOODOO3 is not set +# CONFIG_IDE is not set +CONFIG_IEEE1394_PCILYNX=m +# CONFIG_IKCONFIG is not set +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +CONFIG_INET6_TUNNEL=m +CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INFINIBAND_AMSO1100=m +CONFIG_INFINIBAND_IPATH=m +CONFIG_INFINIBAND_IPOIB_CM=y +CONFIG_INFINIBAND_ISER=m +CONFIG_INFINIBAND_SRP=m +CONFIG_INFINIBAND_USER_ACCESS=m +CONFIG_INFINIBAND_USER_MAD=m +CONFIG_INFTL=m +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_UINPUT is not set +CONFIG_IP1000=m +CONFIG_IPMI_HANDLER=m +# CONFIG_IPMI_POWEROFF is not set +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_TUNNEL=m +CONFIG_IP_DCCP=m +CONFIG_IP_NF_QUEUE=m +CONFIG_IP_PNP=y +# CONFIG_IP_ROUTE_MULTIPATH is not set +# CONFIG_IP_ROUTE_VERBOSE is not set +# CONFIG_IRDA is not set +CONFIG_ISDN=y +CONFIG_ISDN_DRV_GIGASET=m +CONFIG_KERNEL_START=0xc0000000 +# CONFIG_KEYBOARD_NEWTON is not set +CONFIG_KEYBOARD_SUNKBD=y +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KGDB is not set +# CONFIG_LAPB is not set +# CONFIG_LATENCYTOP is not set +# CONFIG_LDM_PARTITION is not set +CONFIG_LEDS_CLASS=m +CONFIG_LEDS_PCA9532=m +CONFIG_LEDS_PCA955X=m +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LLC=m +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_LZO_COMPRESS=m +CONFIG_LZO_DECOMPRESS=m +# CONFIG_MAC80211_MESH is not set +CONFIG_MACVLAN=m +# CONFIG_MAC_PARTITION is not set +CONFIG_MARKERS=y +CONFIG_MFD_SM501_GPIO=y +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_MMIO_NVRAM is not set +CONFIG_MOUSE_SERIAL=y +# CONFIG_MOUSE_VSXXXAA is not set +CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y +CONFIG_NCPFS_SMALLDOS=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +# CONFIG_NET_IPGRE is not set +# CONFIG_NET_PKTGEN is not set +CONFIG_NIU=m +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NODES_SHIFT=4 +CONFIG_NR_CPUS=256 +# CONFIG_OSF_PARTITION is not set +CONFIG_PAGE_OFFSET=0xc0000000 +# CONFIG_PCI_MSI is not set +CONFIG_PHYS_ADDR_T_64BIT=y +# CONFIG_PMAC_SMU is not set +# CONFIG_PPC64 is not set +# CONFIG_PPC_970_NAP is not set +# CONFIG_PPC_CELL is not set +# CONFIG_PPC_HAS_HASH_64K is not set +CONFIG_PPC_INDIRECT_PCI=y +# CONFIG_PPC_MAPLE is not set +# CONFIG_PPC_MM_SLICES is not set +CONFIG_PPC_MPC106=y +# CONFIG_PPC_PASEMI is not set +# CONFIG_PPC_PS3 is not set +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PRISM54 is not set +# CONFIG_PROFILING is not set +# CONFIG_PS3_VRAM is not set +# CONFIG_QFMT_V1 is not set +# CONFIG_R8169 is not set +CONFIG_RCU_FANOUT=64 +CONFIG_RDS=m +# CONFIG_RISCOM8 is not set +# CONFIG_RTAS_ERROR_LOGGING is not set +CONFIG_RTC_DRV_BQ4802=y +CONFIG_RTC_DRV_CMOS=y +CONFIG_RTC_DRV_M48T59=y +# CONFIG_RTC_DRV_PS3 is not set +CONFIG_RTC_DRV_TEST=m +CONFIG_SATA_SVW=m +# CONFIG_SCHEDSTATS is not set +CONFIG_SCHED_HRTICK=y +CONFIG_SCSI=m +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_DC390T is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_FUTURE_DOMAIN is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_LPFC_DEBUG_FS is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_SENSORS_VIA686A is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83L785TS is not set +CONFIG_SERIAL_8250_DETECT_IRQ=y +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_CORE=y +# CONFIG_SERIO_PARKBD is not set +CONFIG_SERIO_PCIPS2=y +# CONFIG_SGI_PARTITION is not set +# CONFIG_SLIP_MODE_SLIP6 is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +CONFIG_SPARSEMEM_MANUAL=y +# CONFIG_SPECIALIX is not set +CONFIG_STAGING_EXCLUDE_BUILD=y +CONFIG_SUNDANCE_MMIO=y +CONFIG_SUNGEM=y +# CONFIG_TABLET_USB_WACOM is not set +# CONFIG_THERMAL is not set +# CONFIG_THERM_PM72 is not set +CONFIG_TPS65010=m +# CONFIG_TR is not set +CONFIG_TULIP_NAPI=y +CONFIG_UBIFS_FS=m +CONFIG_UFS_FS=m +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +CONFIG_USB=m +CONFIG_USB_EHCI_HCD=m +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_DUALSPEED=y +# CONFIG_USB_GADGET_GOKU is not set +CONFIG_USB_GADGET_NET2280=y +# CONFIG_USB_HIDDEV is not set +# CONFIG_USB_IBMCAM is not set +# CONFIG_USB_KONICAWC is not set +CONFIG_USB_MON=m +CONFIG_USB_NET2280=y +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_HCD=m +# CONFIG_USB_PWC is not set +# CONFIG_USB_QUICKCAM_MESSENGER is not set +# CONFIG_USB_SE401 is not set +# CONFIG_USB_STV680 is not set +CONFIG_USB_UHCI_HCD=m +# CONFIG_USB_VICAM is not set +# CONFIG_VIDEO_ADV7170 is not set +# CONFIG_VIDEO_ADV7175 is not set +# CONFIG_VIDEO_BT819 is not set +# CONFIG_VIDEO_BT848 is not set +# CONFIG_VIDEO_BT856 is not set +# CONFIG_VIDEO_BT866 is not set +# CONFIG_VIDEO_BWQCAM is not set +# CONFIG_VIDEO_CPIA is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_VIDEO_CQCAM is not set +# CONFIG_VIDEO_CS5345 is not set +# CONFIG_VIDEO_CX88 is not set +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_VIDEO_IVTV is not set +# CONFIG_VIDEO_KS0127 is not set +# CONFIG_VIDEO_M52790 is not set +# CONFIG_VIDEO_OVCAMCHIP is not set +# CONFIG_VIDEO_SAA5249 is not set +# CONFIG_VIDEO_SAA7110 is not set +# CONFIG_VIDEO_SAA7185 is not set +# CONFIG_VIDEO_SAA7191 is not set +# CONFIG_VIDEO_TDA7432 is not set +# CONFIG_VIDEO_TDA9875 is not set +# CONFIG_VIDEO_TVAUDIO is not set +# CONFIG_VIDEO_VPX3220 is not set +# CONFIG_VIDEO_W9966 is not set +# CONFIG_WAN is not set +# CONFIG_WAN_ROUTER is not set +CONFIG_WATCHDOG_NOWAYOUT=y +CONFIG_WORD_SIZE=32 +# CONFIG_X25 is not set +CONFIG_ZONE_DMA_FLAG=0 --- linux-2.6.32.orig/debian.master/config/sparc/config.flavour.sparc64 +++ linux-2.6.32/debian.master/config/sparc/config.flavour.sparc64 @@ -0,0 +1,4 @@ +# +# Config options for config.flavour.sparc64 automatically generated by splitconfig.pl +# +# CONFIG_SMP is not set --- linux-2.6.32.orig/debian.master/config/sparc/config.flavour.sparc64-smp +++ linux-2.6.32/debian.master/config/sparc/config.flavour.sparc64-smp @@ -0,0 +1,4 @@ +# +# Config options for config.flavour.sparc64-smp automatically generated by splitconfig.pl +# +CONFIG_SMP=y --- linux-2.6.32.orig/debian.master/control.d/flavour-control.stub +++ linux-2.6.32/debian.master/control.d/flavour-control.stub @@ -0,0 +1,78 @@ +# Items that get replaced: +# FLAVOUR +# DESC +# ARCH +# SUPPORTED +# TARGET +# BOOTLOADER +# =PROVIDES= +# +# Items marked with =FOO= are optional +# +# This file describes the template for packages that are created for each flavour +# in debian/control.d/vars.* +# +# This file gets edited in a couple of places. See the debian/control.stub rule in +# debian/rules. PGGVER, ABINUM, and SRCPKGNAME are all converted in the +# process of creating debian/control. +# +# The flavour specific strings (ARCH, DESC, etc) are converted using values from the various +# flavour files in debian/control.d/vars.* +# +# XXX: Leave the blank line before the first package!! + +Package: linux-image-PKGVER-ABINUM-FLAVOUR +Architecture: ARCH +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, =PROVIDES= +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +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-headers-PKGVER-ABINUM-FLAVOUR +Architecture: ARCH +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), SRCPKGNAME-headers-PKGVER-ABINUM, ${shlibs:Depends} +Provides: SRCPKGNAME-headers, SRCPKGNAME-headers-2.6 +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-2.6.32.orig/debian.master/control.d/vars.generic +++ linux-2.6.32/debian.master/control.d/vars.generic @@ -0,0 +1,6 @@ +arch="i386 amd64" +supported="Generic" +target="Geared toward desktop systems." +desc="x86/x86_64" +bootloader="grub-pc | grub | lilo (>= 19.1)" +provides="kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9" --- linux-2.6.32.orig/debian.master/control.d/vars.386 +++ linux-2.6.32/debian.master/control.d/vars.386 @@ -0,0 +1,6 @@ +arch="i386" +supported="Alternate x86 (486 and better)" +target="Geared toward desktop systems." +desc="i386" +bootloader="grub-pc | grub | lilo (>= 19.1)" +provides="kvm-api-4, ivtv-modules" --- linux-2.6.32.orig/debian.master/control.d/vars.generic-pae +++ linux-2.6.32/debian.master/control.d/vars.generic-pae @@ -0,0 +1,6 @@ +arch="i386" +supported="Generic" +target="Geared toward 32 bit desktop systems with more then 4GB RAM." +desc="x86" +bootloader="grub-pc | grub | lilo (>= 19.1)" +provides="kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9" --- linux-2.6.32.orig/debian.master/control.d/vars.ia64 +++ linux-2.6.32/debian.master/control.d/vars.ia64 @@ -0,0 +1,6 @@ +supported="IA-64 SMP" +target="Geared toward desktop or server systems." +desc="IA-64 SMP" +bootloader="elilo (>= 3.6-1)" +provides="redhat-cluster-modules, ivtv-modules" +arch="ia64" --- linux-2.6.32.orig/debian.master/control.d/vars.server +++ linux-2.6.32/debian.master/control.d/vars.server @@ -0,0 +1,6 @@ +arch="amd64" +supported="Server" +target="Geared toward 64 bit server systems." +desc="x86_64" +bootloader="grub-pc | grub | lilo (>= 19.1)" +provides="redhat-cluster-modules, kvm-api-4, ivtv-modules, ndiswrapper-modules-1.9" --- linux-2.6.32.orig/debian.master/control.d/vars.powerpc +++ linux-2.6.32/debian.master/control.d/vars.powerpc @@ -0,0 +1,6 @@ +supported="32-bit PowerPC" +target="Geared toward desktop or server systems." +desc="32-bit PowerPC" +bootloader="yaboot" +provides="redhat-cluster-modules, ivtv-modules" +arch="powerpc" --- linux-2.6.32.orig/debian.master/control.d/vars.powerpc-smp +++ linux-2.6.32/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-2.6.32.orig/debian.master/control.d/vars.powerpc64-smp +++ linux-2.6.32/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" --- linux-2.6.32.orig/debian.master/control.d/vars.lpia +++ linux-2.6.32/debian.master/control.d/vars.lpia @@ -0,0 +1,8 @@ +arch="lpia" +supported="Intel Atom" +desc="Intel Atom processors" +target="Geared toward LPIA-based mobile devices" +bootloader="grub-pc | grub | lilo (>= 19.1)" +provides="kvm-api-4, redhat-cluster-modules" +section_image="universe/admin" +do_debug="Yes" --- linux-2.6.32.orig/debian.master/control.d/vars.preempt +++ linux-2.6.32/debian.master/control.d/vars.preempt @@ -0,0 +1,6 @@ +arch="amd64" +supported="Preempt" +target="Geared toward low latency systems." +desc="x86_64" +bootloader="grub-pc | grub | lilo (>= 19.1)" +provides="kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9" --- linux-2.6.32.orig/debian.master/control.d/vars.sparc64 +++ linux-2.6.32/debian.master/control.d/vars.sparc64 @@ -0,0 +1,6 @@ +supported="64-bit UltraSPARC" +target="Geared toward desktop or server systems." +desc="64-bit UltraSPARC" +bootloader="silo" +provides="redhat-cluster-modules, ivtv-modules" +arch="sparc" --- linux-2.6.32.orig/debian.master/control.d/vars.sparc64-smp +++ linux-2.6.32/debian.master/control.d/vars.sparc64-smp @@ -0,0 +1,6 @@ +supported="64-bit UltraSPARC SMP" +target="Geared toward desktop or server systems." +desc="64-bit UltraSPARC SMP" +bootloader="silo" +provides="redhat-cluster-modules, ivtv-modules" +arch="sparc" --- linux-2.6.32.orig/debian.master/control.d/vars.versatile +++ linux-2.6.32/debian.master/control.d/vars.versatile @@ -0,0 +1,8 @@ +arch="armel" +supported="Versatile" +desc="Versatile-based systems" +target="PB, AB, Qemu, etc." +bootloader="" +provides="" +section_image="universe/base" +do_debug="Yes" --- linux-2.6.32.orig/debian.master/d-i/kernel-versions.in +++ linux-2.6.32/debian.master/d-i/kernel-versions.in @@ -0,0 +1,18 @@ +# arch version flavour installedname suffix bdep +amd64 PKGVER-ABINUM generic PKGVER-ABINUM-generic - + +i386 PKGVER-ABINUM generic PKGVER-ABINUM-generic - +i386 PKGVER-ABINUM generic-pae PKGVER-ABINUM-generic-pae - + +lpia PKGVER-ABINUM lpia PKGVER-ABINUM-lpia + +armel PKGVER-ABINUM versatile PKGVER-ABINUM-versatile - + +# Ports +# arch version flavour installedname suffix bdep +ia64 PKGVER-ABINUM ia64 PKGVER-ABINUM-ia64 - + +powerpc PKGVER-ABINUM powerpc PKGVER-ABINUM-powerpc - +powerpc PKGVER-ABINUM powerpc64-smp PKGVER-ABINUM-powerpc64-smp - + +sparc PKGVER-ABINUM sparc64 PKGVER-ABINUM-sparc64 - --- linux-2.6.32.orig/debian.master/d-i/exclude-modules.ia64 +++ linux-2.6.32/debian.master/d-i/exclude-modules.ia64 @@ -0,0 +1,5 @@ +irda-modules +floppy-modules +fb-modules +virtio-modules +char-modules --- linux-2.6.32.orig/debian.master/d-i/exclude-modules.powerpc +++ linux-2.6.32/debian.master/d-i/exclude-modules.powerpc @@ -0,0 +1,5 @@ +efi-modules +fb-modules +acpi-modules +virtio-modules +char-modules --- linux-2.6.32.orig/debian.master/d-i/exclude-modules.sparc +++ linux-2.6.32/debian.master/d-i/exclude-modules.sparc @@ -0,0 +1,10 @@ +efi-modules +nic-pcmcia-modules +pcmcia-modules +pcmcia-storage-modules +irda-modules +floppy-modules +fb-modules +acpi-modules +virtio-modules +char-modules --- linux-2.6.32.orig/debian.master/d-i/package-list +++ linux-2.6.32/debian.master/d-i/package-list @@ -0,0 +1,190 @@ +Package: kernel-image + +Package: char-modules +Depends: kernel-image +Priority: standard +Description: Character module support + +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. + --- linux-2.6.32.orig/debian.master/d-i/exclude-modules.armel +++ linux-2.6.32/debian.master/d-i/exclude-modules.armel @@ -0,0 +1,20 @@ +crypto-modules +fb-modules +fs-core-modules +fs-secondary-modules +nic-modules +nic-pcmcia-modules +nic-usb-modules +scsi-modules +storage-core-modules +nfs-modules +pcmcia-modules +parport-modules +serial-modules +plip-modules +pcmcia-storage-modules +mouse-modules +irda-modules +floppy-modules +char-modules +virtio-modules --- linux-2.6.32.orig/debian.master/d-i/kernel-versions +++ linux-2.6.32/debian.master/d-i/kernel-versions @@ -0,0 +1,18 @@ +# arch version flavour installedname suffix bdep +amd64 2.6.32-41 generic 2.6.32-41-generic - + +i386 2.6.32-41 generic 2.6.32-41-generic - +i386 2.6.32-41 generic-pae 2.6.32-41-generic-pae - + +lpia 2.6.32-41 lpia 2.6.32-41-lpia + +armel 2.6.32-41 versatile 2.6.32-41-versatile - + +# Ports +# arch version flavour installedname suffix bdep +ia64 2.6.32-41 ia64 2.6.32-41-ia64 - + +powerpc 2.6.32-41 powerpc 2.6.32-41-powerpc - +powerpc 2.6.32-41 powerpc64-smp 2.6.32-41-powerpc64-smp - + +sparc 2.6.32-41 sparc64 2.6.32-41-sparc64 - --- linux-2.6.32.orig/debian.master/d-i/firmware/README.txt +++ linux-2.6.32/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-2.6.32.orig/debian.master/d-i/firmware/nic-modules +++ linux-2.6.32/debian.master/d-i/firmware/nic-modules @@ -0,0 +1,10 @@ +bnx2/bnx2-mips-06-5.0.0.j3.fw ? +bnx2/bnx2-rv2p-06-5.0.0.j3.fw ? +bnx2/bnx2-mips-09-5.0.0.j3.fw ? +bnx2/bnx2-rv2p-09ax-5.0.0.j3.fw ? +bnx2/bnx2-rv2p-09-5.0.0.j3.fw ? +bnx2x-e1-5.0.21.0.fw ? +bnx2x-e1h-5.0.21.0.fw ? +e100/d101m_ucode.bin +e100/d101s_ucode.bin +e100/d102e_ucode.bin --- linux-2.6.32.orig/debian.master/d-i/firmware/scsi-modules +++ linux-2.6.32/debian.master/d-i/firmware/scsi-modules @@ -0,0 +1,3 @@ +qlogic/1040.bin +qlogic/12160.bin +qlogic/1280.bin --- linux-2.6.32.orig/debian.master/d-i/modules-powerpc/block-modules +++ linux-2.6.32/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-2.6.32.orig/debian.master/d-i/modules-powerpc/message-modules +++ linux-2.6.32/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-2.6.32.orig/debian.master/d-i/modules-powerpc/nic-modules +++ linux-2.6.32/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 ? +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 ? +prism54 ? +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-2.6.32.orig/debian.master/d-i/modules-powerpc/scsi-modules +++ linux-2.6.32/debian.master/d-i/modules-powerpc/scsi-modules @@ -0,0 +1,116 @@ +# 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 ? +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-2.6.32.orig/debian.master/d-i/modules-powerpc/storage-core-modules +++ linux-2.6.32/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-2.6.32.orig/debian.master/d-i/modules-sparc/block-modules +++ linux-2.6.32/debian.master/d-i/modules-sparc/block-modules @@ -0,0 +1,9 @@ +aoe +cciss +comm +cpqarray ? +DAC960 +nbd +sx8 +umem +virtio_blk ? --- linux-2.6.32.orig/debian.master/d-i/modules-sparc/message-modules +++ linux-2.6.32/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-2.6.32.orig/debian.master/d-i/modules/block-modules +++ linux-2.6.32/debian.master/d-i/modules/block-modules @@ -0,0 +1,30 @@ +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 ? +pt ? +sx8 ? +umem ? +virtio_blk ? +xen-blkfront ? --- linux-2.6.32.orig/debian.master/d-i/modules/nic-modules +++ linux-2.6.32/debian.master/d-i/modules/nic-modules @@ -0,0 +1,157 @@ +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 ? +atl1c ? +atl1e ? +atl2 ? +atmel ? +atmel_pci ? +b44 ? +bcm43xx ? +bcm43xx-mac80211 ? +be2net ? +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 ? +enic ? +epic100 ? +eql ? +es3210 ? +eth16i ? +ewrk3 ? +fealnx ? +forcedeth ? +igb ? +ps3_gelic ? +hamachi ? +hermes ? +hp ? +hp100 ? +hp-plus ? +ibmtr ? +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 ? +prism54 ? +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 ? +vmxnet3 ? +xen-netfront ? --- linux-2.6.32.orig/debian.master/d-i/modules/crypto-modules +++ linux-2.6.32/debian.master/d-i/modules/crypto-modules @@ -0,0 +1,8 @@ +aes_generic ? +blowfish ? +twofish ? +serpent ? +sha256_generic ? +cbc ? +ecb ? +crc32c ? --- linux-2.6.32.orig/debian.master/d-i/modules/fat-modules +++ linux-2.6.32/debian.master/d-i/modules/fat-modules @@ -0,0 +1,7 @@ +fat ? +vfat ? + +# Supporting modules ? +nls_cp437 ? +nls_iso8859-1 ? +nls_utf8 ? --- linux-2.6.32.orig/debian.master/d-i/modules/fb-modules +++ linux-2.6.32/debian.master/d-i/modules/fb-modules @@ -0,0 +1,3 @@ +fbcon ? +vesafb ? +vga16fb ? --- linux-2.6.32.orig/debian.master/d-i/modules/firewire-core-modules +++ linux-2.6.32/debian.master/d-i/modules/firewire-core-modules @@ -0,0 +1,4 @@ +ieee1394 ? +ohci1394 ? +sbp2 ? +eth1394 ? --- linux-2.6.32.orig/debian.master/d-i/modules/floppy-modules +++ linux-2.6.32/debian.master/d-i/modules/floppy-modules @@ -0,0 +1 @@ +floppy ? --- linux-2.6.32.orig/debian.master/d-i/modules/fs-core-modules +++ linux-2.6.32/debian.master/d-i/modules/fs-core-modules @@ -0,0 +1,3 @@ +jfs ? +reiserfs ? +xfs ? --- linux-2.6.32.orig/debian.master/d-i/modules/fs-secondary-modules +++ linux-2.6.32/debian.master/d-i/modules/fs-secondary-modules @@ -0,0 +1,4 @@ +fuse ? +ntfs ? +hfs ? +hfsplus ? --- linux-2.6.32.orig/debian.master/d-i/modules/input-modules +++ linux-2.6.32/debian.master/d-i/modules/input-modules @@ -0,0 +1,21 @@ +hid-a4tech ? +hid-apple ? +hid-belkin ? +hid-bright ? +hid-cherry ? +hid-chicony ? +hid-cypress ? +hid-dell ? +hid-ezkey ? +hid-gyration ? +hid-logitech ? +hid-microsoft ? +hid-monterey ? +hid-petalynx ? +hid-pl ? +hid-samsung ? +hid-sony ? +hid-sunplus ? +hid-tmff ? +hid-zpff ? +usbhid ? --- linux-2.6.32.orig/debian.master/d-i/modules/irda-modules +++ linux-2.6.32/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-2.6.32.orig/debian.master/d-i/modules/md-modules +++ linux-2.6.32/debian.master/d-i/modules/md-modules @@ -0,0 +1,13 @@ +dm-crypt ? +dm-zero ? +faulty ? +linear ? +multipath ? +raid0 ? +raid1 ? +raid10 ? +raid456 ? + +# Extras +dm-raid4-5 ? +dm-loop ? --- linux-2.6.32.orig/debian.master/d-i/modules/message-modules +++ linux-2.6.32/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-2.6.32.orig/debian.master/d-i/modules/mouse-modules +++ linux-2.6.32/debian.master/d-i/modules/mouse-modules @@ -0,0 +1,2 @@ +psmouse ? +usbmouse ? --- linux-2.6.32.orig/debian.master/d-i/modules/nfs-modules +++ linux-2.6.32/debian.master/d-i/modules/nfs-modules @@ -0,0 +1,4 @@ +nfs ? +nfs_acl ? +lockd ? +sunrpc ? --- linux-2.6.32.orig/debian.master/d-i/modules/char-modules +++ linux-2.6.32/debian.master/d-i/modules/char-modules @@ -0,0 +1 @@ +intel-agp ? --- linux-2.6.32.orig/debian.master/d-i/modules/nic-pcmcia-modules +++ linux-2.6.32/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-2.6.32.orig/debian.master/d-i/modules/nic-shared-modules +++ linux-2.6.32/debian.master/d-i/modules/nic-shared-modules @@ -0,0 +1,22 @@ +# 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 ? + +# Wireless 802.11 modules +lib80211 ? +cfg80211 ? +lib80211_crypt_ccmp ? +lib80211_crypt_tkip ? +lib80211_crypt_wep ? --- linux-2.6.32.orig/debian.master/d-i/modules/nic-usb-modules +++ linux-2.6.32/debian.master/d-i/modules/nic-usb-modules @@ -0,0 +1,13 @@ +catc ? +kaweth ? +pegasus ? +prism2_usb ? +rtl8150 ? +usbnet ? +zd1211rw ? +zd1201 ? +rt2500usb ? +rt73usb ? +rt2570 ? +cdc_ether ? +asix ? --- linux-2.6.32.orig/debian.master/d-i/modules/parport-modules +++ linux-2.6.32/debian.master/d-i/modules/parport-modules @@ -0,0 +1,2 @@ +parport ? +parport_pc ? --- linux-2.6.32.orig/debian.master/d-i/modules/pata-modules +++ linux-2.6.32/debian.master/d-i/modules/pata-modules @@ -0,0 +1,46 @@ +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_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-2.6.32.orig/debian.master/d-i/modules/pcmcia-modules +++ linux-2.6.32/debian.master/d-i/modules/pcmcia-modules @@ -0,0 +1,8 @@ +i82092 ? +i82365 ? +pcmcia ? +pcmcia_core ? +pd6729 ? +rsrc_nonstatic ? +tcic ? +yenta_socket ? --- linux-2.6.32.orig/debian.master/d-i/modules/pcmcia-storage-modules +++ linux-2.6.32/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-2.6.32.orig/debian.master/d-i/modules/plip-modules +++ linux-2.6.32/debian.master/d-i/modules/plip-modules @@ -0,0 +1 @@ +plip ? --- linux-2.6.32.orig/debian.master/d-i/modules/ppp-modules +++ linux-2.6.32/debian.master/d-i/modules/ppp-modules @@ -0,0 +1,6 @@ +ppp_async ? +ppp_deflate ? +ppp_mppe ? +pppoe ? +pppox ? +ppp_synctty ? --- linux-2.6.32.orig/debian.master/d-i/modules/sata-modules +++ linux-2.6.32/debian.master/d-i/modules/sata-modules @@ -0,0 +1,14 @@ +ahci.ko ? +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-2.6.32.orig/debian.master/d-i/modules/scsi-modules +++ linux-2.6.32/debian.master/d-i/modules/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 ? +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 ? --- linux-2.6.32.orig/debian.master/d-i/modules/serial-modules +++ linux-2.6.32/debian.master/d-i/modules/serial-modules @@ -0,0 +1,3 @@ +generic_serial ? +serial_cs ? +synclink_cs ? --- linux-2.6.32.orig/debian.master/d-i/modules/storage-core-modules +++ linux-2.6.32/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-2.6.32.orig/debian.master/d-i/modules/usb-modules +++ linux-2.6.32/debian.master/d-i/modules/usb-modules @@ -0,0 +1,9 @@ +ehci-hcd ? +isp116x-hcd ? +isp1760 ? +ohci-hcd ? +r8a66597-hcd ? +sl811_cs ? +sl811-hcd ? +u132-hcd ? +uhci-hcd ? --- linux-2.6.32.orig/debian.master/d-i/modules/virtio-modules +++ linux-2.6.32/debian.master/d-i/modules/virtio-modules @@ -0,0 +1,4 @@ +virtio_balloon ? +virtio_pci ? +virtio_ring ? +virtio-rng ? --- linux-2.6.32.orig/debian.master/d-i/modules/squashfs-modules +++ linux-2.6.32/debian.master/d-i/modules/squashfs-modules @@ -0,0 +1 @@ +squashfs ? --- linux-2.6.32.orig/debian.master/d-i/modules/vlan-modules +++ linux-2.6.32/debian.master/d-i/modules/vlan-modules @@ -0,0 +1,3 @@ +slp ? +garp ? +8021q ? --- linux-2.6.32.orig/debian.master/etc/getabis +++ linux-2.6.32/debian.master/etc/getabis @@ -0,0 +1,15 @@ +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 armel versatile +getall amd64 generic server preempt +getall i386 generic generic-pae 386 + +# Ports arches and flavours. +getall powerpc powerpc powerpc-smp powerpc64-smp +getall ia64 ia64 +getall sparc sparc64 sparc64-smp --- linux-2.6.32.orig/debian.master/etc/kernelconfig +++ linux-2.6.32/debian.master/etc/kernelconfig @@ -0,0 +1,7 @@ +if [ "$variant" = "ports" ]; then + archs="sparc powerpc ia64" + family='ports' +else + archs="amd64 i386 lpia armel" + family='ubuntu' +fi --- linux-2.6.32.orig/debian.master/rules.d/amd64.mk +++ linux-2.6.32/debian.master/rules.d/amd64.mk @@ -0,0 +1,12 @@ +build_arch = x86_64 +header_arch = $(build_arch) +asm_link = x86 +defconfig = defconfig +flavours = generic server preempt +build_image = bzImage +kernel_file = arch/$(build_arch)/boot/bzImage +install_file = vmlinuz + +server_sub = virtual + +loader = grub --- linux-2.6.32.orig/debian.master/rules.d/armel.mk +++ linux-2.6.32/debian.master/rules.d/armel.mk @@ -0,0 +1,13 @@ +build_arch = arm +header_arch = arm +asm_link = arm +defconfig = defconfig +flavours = versatile +build_image = zImage +kernel_file = arch/$(build_arch)/boot/zImage +install_file = vmlinuz +no_dumpfile = true +# ARM is not a supported architecture in perf userspace +do_tools = false + +loader = grub --- linux-2.6.32.orig/debian.master/rules.d/i386.mk +++ linux-2.6.32/debian.master/rules.d/i386.mk @@ -0,0 +1,12 @@ +build_arch = i386 +header_arch = x86_64 +asm_link = x86 +defconfig = defconfig +flavours = generic generic-pae 386 +build_image = bzImage +kernel_file = arch/$(build_arch)/boot/bzImage +install_file = vmlinuz + +generic-pae_sub = virtual + +loader = grub --- linux-2.6.32.orig/debian.master/rules.d/ia64.mk +++ linux-2.6.32/debian.master/rules.d/ia64.mk @@ -0,0 +1,21 @@ +build_arch = ia64 +header_arch = $(build_arch) +asm_link = $(build_arch) +defconfig = defconfig +flavours = ia64 +build_image = vmlinux +kernel_file = $(build_image) +install_file = vmlinuz +compress_file = yes + +loader = elilo + +skipdbg = true +no_dumpfile = true +skipabi = true +skipmodule = true + +# XXX: ia64 libelf-dev/binutils-dev dependancy does not supply libraries?!? +do_tools = false + +family=ports --- linux-2.6.32.orig/debian.master/rules.d/powerpc.mk +++ linux-2.6.32/debian.master/rules.d/powerpc.mk @@ -0,0 +1,19 @@ +build_arch = powerpc +header_arch = $(build_arch) +asm_link = $(build_arch) +defconfig = pmac32_defconfig +flavours = powerpc 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=ports --- linux-2.6.32.orig/debian.master/rules.d/lpia.mk +++ linux-2.6.32/debian.master/rules.d/lpia.mk @@ -0,0 +1,10 @@ +build_arch = i386 +header_arch = i386 +asm_link = x86 +defconfig = defconfig +flavours = lpia +build_image = bzImage +kernel_file = arch/$(build_arch)/boot/bzImage +install_file = vmlinuz +do_debug_image = true +loader = grub --- linux-2.6.32.orig/debian.master/rules.d/sparc.mk +++ linux-2.6.32/debian.master/rules.d/sparc.mk @@ -0,0 +1,18 @@ +build_arch = sparc64 +header_arch = $(build_arch) +asm_link = $(build_arch) +defconfig = defconfig +flavours = sparc64 sparc64-smp +build_image = image +kernel_file = arch/sparc/boot/image +install_file = vmlinuz +compress_file = Yes + +loader = silo + +skipdbg = true +no_dumpfile = true +skipabi = true +skipmodule = true + +family=ports --- linux-2.6.32.orig/debian.master/sub-flavours/README +++ linux-2.6.32/debian.master/sub-flavours/README @@ -0,0 +1,12 @@ +Sub flavours are flavours that are built based on other builds. IOW, they +are usually a subset of something else. + +Requirements: + +debian/sub-flavours/.list : The file list, uses glob syntax +debian/sub-flavours/.vars : The make vars, similar to normal flavours +debian/rules.d/.mk : Add _sub var listing the , e.g. + server_sub = virtual would mean virtual is + based on the server flavour. + +Note, the vars must include a conflicts with the flavour it was built on. --- linux-2.6.32.orig/debian.master/sub-flavours/control.stub +++ linux-2.6.32/debian.master/sub-flavours/control.stub @@ -0,0 +1,39 @@ +# Items that get replaced: +# FLAVOUR +# DESC +# ARCH +# SUPPORTED +# TARGET +# BOOTLOADER +# =PROVIDES= +# =CONFLICTS= +# +# Items marked with =FOO= are optional +# +# XXX: Leave the blank line before the first package!! + +Package: linux-image-PKGVER-ABINUM-FLAVOUR +Architecture: ARCH +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, =PROVIDES= +Depends: ${misc:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3) +Conflicts: hotplug (<< 0.0.20040105-1), =CONFLICTS= +Recommends: BOOTLOADER +Suggests: fdutils, linux-doc-PKGVER | linux-source-PKGVER +Description: Linux kernel image for version PKGVER on DESC + This package contains the Linux kernel image for version PKGVER on + DESC. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports SUPPORTED processors. + . + TARGET + . + You likely do not want to install this package directly. Instead, install + the linux-FLAVOUR meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. --- linux-2.6.32.orig/debian.master/sub-flavours/virtual.list +++ linux-2.6.32/debian.master/sub-flavours/virtual.list @@ -0,0 +1,107 @@ +arch/*/{crypto,kernel,oprofile} +crypto/* +drivers/acpi/* +drivers/ata/ahci.ko +drivers/ata/ata_generic.ko +drivers/ata/ata_piix.ko +drivers/ata/libata.ko +drivers/block/nbd.ko +drivers/block/loop.ko +drivers/block/floppy.ko +drivers/block/cryptoloop.ko +drivers/block/xen-blkfront.ko +drivers/cdrom/cdrom.ko +drivers/char/hangcheck-timer.ko +drivers/char/lp.ko +drivers/char/nvram.ko +drivers/char/ppdev.ko +drivers/char/raw.ko +drivers/input/evbug.ko +drivers/input/evdev.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/misc/uinput.ko +drivers/input/touchscreen/usbtouchscreen.ko +drivers/input/xen-kbdfront.ko +drivers/md/* +drivers/message/fusion* +drivers/misc/eeprom_93cx6.ko +drivers/net/8139too.ko +drivers/net/8139cp.ko +drivers/net/appletalk/ipddp.ko +drivers/net/bonding/bonding.ko +drivers/net/bsd_comp.ko +drivers/net/dummy.ko +drivers/net/e1000/e1000.ko +drivers/net/eql.ko +drivers/net/ifb.ko +drivers/net/mii.ko +drivers/net/ne2k-pci.ko +drivers/net/netconsole.ko +drivers/net/pcnet32.ko +drivers/net/ppp_async.ko +drivers/net/ppp_deflate.ko +drivers/net/ppp_generic.ko +drivers/net/ppp_mppe.ko +drivers/net/pppoe.ko +drivers/net/pppol2tp.ko +drivers/net/pppox.ko +drivers/net/ppp_synctty.ko +drivers/net/slhc.ko +drivers/net/slip.ko +drivers/net/tun.ko +drivers/net/veth.ko +drivers/net/vmxnet3/vmxnet3.ko +drivers/net/xen-netfront.ko +drivers/parport/parport.ko +drivers/parport/parport_pc.ko +drivers/pci/hotplug/acpiphp.ko +drivers/net/tulip/tulip.ko +drivers/scsi/BusLogic.ko +drivers/scsi/iscsi_tcp.ko +drivers/scsi/libiscsi.ko +drivers/scsi/libsas/* +drivers/scsi/libsas/libsas.ko +drivers/scsi/qla1280.ko +drivers/scsi/raid_class.ko +drivers/scsi/scsi_mod.ko +drivers/scsi/scsi_transport_fc.ko +drivers/scsi/scsi_transport_iscsi.ko +drivers/scsi/scsi_transport_sas.ko +drivers/scsi/scsi_transport_spi.ko +drivers/scsi/scsi_wait_scan.ko +drivers/scsi/sd_mod.ko +drivers/scsi/sg.ko +drivers/scsi/sr_mod.ko +drivers/scsi/vmw_pvscsi.ko +drivers/usb/core/usbcore.ko +drivers/usb/storage/usb-storage.ko +drivers/video/cirrusfb.ko +drivers/video/console/bitblit.ko +drivers/video/console/fbcon.ko +drivers/video/console/font.ko +drivers/video/console/softcursor.ko +drivers/video/console/tileblit.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/virtio/virtio_balloon.ko +drivers/watchdog/softdog.ko +drivers/xen/* +fs/* +lib/* +net/* +sound/core/* +sound/pci/snd-ens1370.ko +sound/drivers/pcsp/snd-pcsp.ko +ubuntu/e1000e/e1000e.ko +ubuntu/squashfs/squashfs.ko +ubuntu/iscsitarget/iscsi_trgt.ko --- linux-2.6.32.orig/debian.master/sub-flavours/virtual.vars +++ linux-2.6.32/debian.master/sub-flavours/virtual.vars @@ -0,0 +1,10 @@ +# Based on server flavour +arch="i386 amd64" +supported="Virtual" +target="Geared toward virtual machine guests." +desc="x86/x86_64" +bootloader="grub-pc | grub | lilo (>= 19.1)" +is_sub="true" +# The provides and conflicts are REQUIRED +provides="redhat-cluster-modules" +conflicts="linux-image-PKGVER-ABINUM-generic-pae, linux-image-PKGVER-ABINUM-server" --- linux-2.6.32.orig/debian/debian.env +++ linux-2.6.32/debian/debian.env @@ -0,0 +1 @@ +DEBIAN=debian.master --- linux-2.6.32.orig/debian/rules +++ linux-2.6.32/debian/rules @@ -0,0 +1,227 @@ +#!/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' \ + >> $(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-2.6.32.orig/debian/compat +++ linux-2.6.32/debian/compat @@ -0,0 +1 @@ +5 --- linux-2.6.32.orig/debian/control.stub +++ linux-2.6.32/debian/control.stub @@ -0,0 +1,844 @@ +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 lpia], device-tree-compiler [powerpc], libelf-dev, binutils-dev, rsync +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-lucid.git + +Package: linux-source-2.6.32 +Architecture: all +Section: devel +Priority: optional +Provides: linux-source, linux-source-2.6 +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 2.6.32 with Ubuntu patches + This package provides the source code for the Linux kernel version + 2.6.32. + . + 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: linux-doc +Architecture: all +Section: doc +Priority: optional +Depends: ${misc:Depends} +Conflicts: linux-doc-2.6 +Replaces: linux-doc-2.6 +Description: Linux kernel specific documentation for version 2.6.32 + This package provides the various documents in the 2.6.32 kernel + Documentation/ subdirectory. These document kernel subsystems, APIs, device + drivers, and so on. See + /usr/share/doc/linux-doc/00-INDEX for a list of what is + contained in each file. + +Package: linux-tools-common +Architecture: all +Section: admin +Priority: optional +Depends: ${misc:Depends} +Replaces: linux-tools (<= 2.6.32-16.25) +Description: Linux kernel specific tools for version 2.6.32 + This package provides the architecture independent parts for kernel + version locked tools in the 2.6.32 kernel source. + +Package: linux-headers-2.6.32-41 +Architecture: all +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0) +Provides: linux-headers, linux-headers-2.6 +Description: Header files related to Linux kernel version 2.6.32 + This package provides kernel header files for version 2.6.32, for sites + that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details + +Package: linux-libc-dev +Architecture: i386 amd64 lpia ia64 powerpc sparc armel +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), linux-kernel-headers +Replaces: libc6-dev (<< 2.3.2.ds1-6), libc6.1-dev (<< 2.3.2.ds1-6), dvb-dev (<< 1.0.1-6), linux-kernel-headers, libdrm-dev +Provides: linux-kernel-headers +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 linux-headers-* packages for that. + +Package: linux-tools-2.6.32-41 +Architecture: i386 amd64 lpia ia64 powerpc sparc armel +Section: devel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-tools-common +Description: Linux kernel tools for version 2.6.32-41 + This package provides the architecture dependant parts for kernel + version locked tools for version 2.6.32-41 on + DESC. + + +Package: linux-image-2.6.32-41-386 +Architecture: i386 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on i386 + This package contains the Linux kernel image for version 2.6.32 on + i386. + . + 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 Alternate x86 (486 and better) processors. + . + Geared toward desktop systems. + . + You likely do not want to install this package directly. Instead, install + the linux-386 meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-386 +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on i386 + This package provides kernel header files for version 2.6.32 on + i386. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-386-dbgsym +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on i386 + This package provides a kernel debug image for version 2.6.32 on + i386. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-generic +Architecture: i386 amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on x86/x86_64 + This package contains the Linux kernel image for version 2.6.32 on + x86/x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Generic processors. + . + Geared toward desktop 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-2.6.32-41-generic +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on x86/x86_64 + This package provides kernel header files for version 2.6.32 on + x86/x86_64. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-generic-dbgsym +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on x86/x86_64 + This package provides a kernel debug image for version 2.6.32 on + x86/x86_64. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-generic-pae +Architecture: i386 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on x86 + This package contains the Linux kernel image for version 2.6.32 on + x86. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Generic processors. + . + Geared toward 32 bit desktop systems with more then 4GB RAM. + . + You likely do not want to install this package directly. Instead, install + the linux-generic-pae meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-generic-pae +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on x86 + This package provides kernel header files for version 2.6.32 on + x86. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-generic-pae-dbgsym +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on x86 + This package provides a kernel debug image for version 2.6.32 on + x86. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-ia64 +Architecture: ia64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: elilo (>= 3.6-1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on IA-64 SMP + This package contains the Linux kernel image for version 2.6.32 on + IA-64 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 IA-64 SMP processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-ia64 meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-ia64 +Architecture: ia64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on IA-64 SMP + This package provides kernel header files for version 2.6.32 on + IA-64 SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-ia64-dbgsym +Architecture: ia64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on IA-64 SMP + This package provides a kernel debug image for version 2.6.32 on + IA-64 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: linux-image-2.6.32-41-lpia +Architecture: lpia +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, redhat-cluster-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on Intel Atom processors + This package contains the Linux kernel image for version 2.6.32 on + Intel Atom processors. + . + 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 Intel Atom processors. + . + Geared toward LPIA-based mobile devices + . + You likely do not want to install this package directly. Instead, install + the linux-lpia meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-lpia +Architecture: lpia +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on Intel Atom processors + This package provides kernel header files for version 2.6.32 on + Intel Atom processors. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-lpia-dbgsym +Architecture: lpia +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on Intel Atom processors + This package provides a kernel debug image for version 2.6.32 on + Intel Atom processors. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-powerpc +Architecture: powerpc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: yaboot +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 32-bit PowerPC + This package contains the Linux kernel image for version 2.6.32 on + 32-bit PowerPC. + . + 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 32-bit PowerPC processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-powerpc meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-powerpc +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 32-bit PowerPC + This package provides kernel header files for version 2.6.32 on + 32-bit PowerPC. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-powerpc-dbgsym +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 32-bit PowerPC + This package provides a kernel debug image for version 2.6.32 on + 32-bit PowerPC. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-powerpc-smp +Architecture: powerpc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: yaboot +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 32-bit PowerPC SMP + This package contains the Linux kernel image for version 2.6.32 on + 32-bit PowerPC 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 32-bit PowerPC SMP processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-powerpc-smp meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-powerpc-smp +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 32-bit PowerPC SMP + This package provides kernel header files for version 2.6.32 on + 32-bit PowerPC SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-powerpc-smp-dbgsym +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 32-bit PowerPC SMP + This package provides a kernel debug image for version 2.6.32 on + 32-bit PowerPC 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: linux-image-2.6.32-41-powerpc64-smp +Architecture: powerpc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: yaboot +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 64-bit PowerPC SMP + This package contains the Linux kernel image for version 2.6.32 on + 64-bit PowerPC 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 64-bit PowerPC SMP processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-powerpc64-smp meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-powerpc64-smp +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 64-bit PowerPC SMP + This package provides kernel header files for version 2.6.32 on + 64-bit PowerPC SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-powerpc64-smp-dbgsym +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 64-bit PowerPC SMP + This package provides a kernel debug image for version 2.6.32 on + 64-bit PowerPC 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: linux-image-2.6.32-41-preempt +Architecture: amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on x86_64 + This package contains the Linux kernel image for version 2.6.32 on + x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Preempt processors. + . + Geared toward low latency systems. + . + You likely do not want to install this package directly. Instead, install + the linux-preempt meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-preempt +Architecture: amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on x86_64 + This package provides kernel header files for version 2.6.32 on + x86_64. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-preempt-dbgsym +Architecture: amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on x86_64 + This package provides a kernel debug image for version 2.6.32 on + x86_64. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-server +Architecture: amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, kvm-api-4, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on x86_64 + This package contains the Linux kernel image for version 2.6.32 on + x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Server processors. + . + Geared toward 64 bit server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-server meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-server +Architecture: amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on x86_64 + This package provides kernel header files for version 2.6.32 on + x86_64. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-server-dbgsym +Architecture: amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on x86_64 + This package provides a kernel debug image for version 2.6.32 on + x86_64. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-sparc64 +Architecture: sparc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: silo +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 64-bit UltraSPARC + This package contains the Linux kernel image for version 2.6.32 on + 64-bit UltraSPARC. + . + 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 64-bit UltraSPARC processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-sparc64 meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-sparc64 +Architecture: sparc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 64-bit UltraSPARC + This package provides kernel header files for version 2.6.32 on + 64-bit UltraSPARC. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-sparc64-dbgsym +Architecture: sparc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 64-bit UltraSPARC + This package provides a kernel debug image for version 2.6.32 on + 64-bit UltraSPARC. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-sparc64-smp +Architecture: sparc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: silo +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 64-bit UltraSPARC SMP + This package contains the Linux kernel image for version 2.6.32 on + 64-bit UltraSPARC 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 64-bit UltraSPARC SMP processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-sparc64-smp meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-sparc64-smp +Architecture: sparc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 64-bit UltraSPARC SMP + This package provides kernel header files for version 2.6.32 on + 64-bit UltraSPARC SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-sparc64-smp-dbgsym +Architecture: sparc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 64-bit UltraSPARC SMP + This package provides a kernel debug image for version 2.6.32 on + 64-bit UltraSPARC 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: linux-image-2.6.32-41-versatile +Architecture: armel +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on Versatile-based systems + This package contains the Linux kernel image for version 2.6.32 on + Versatile-based systems. + . + 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 Versatile processors. + . + PB, AB, Qemu, etc. + . + You likely do not want to install this package directly. Instead, install + the linux-versatile meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-versatile +Architecture: armel +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on Versatile-based systems + This package provides kernel header files for version 2.6.32 on + Versatile-based systems. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-versatile-dbgsym +Architecture: armel +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on Versatile-based systems + This package provides a kernel debug image for version 2.6.32 on + Versatile-based systems. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-virtual +Architecture: i386 amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules +Depends: ${misc:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3) +Conflicts: hotplug (<< 0.0.20040105-1), linux-image-2.6.32-41-generic-pae, linux-image-2.6.32-41-server +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32 +Description: Linux kernel image for version 2.6.32 on x86/x86_64 + This package contains the Linux kernel image for version 2.6.32 on + x86/x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Virtual processors. + . + Geared toward virtual machine guests. + . + You likely do not want to install this package directly. Instead, install + the linux-virtual meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. --- linux-2.6.32.orig/debian/control +++ linux-2.6.32/debian/control @@ -0,0 +1,1558 @@ +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 lpia], device-tree-compiler [powerpc], libelf-dev, binutils-dev, rsync +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-lucid.git + +Package: linux-source-2.6.32 +Architecture: all +Section: devel +Priority: optional +Provides: linux-source, linux-source-2.6 +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 2.6.32 with Ubuntu patches + This package provides the source code for the Linux kernel version + 2.6.32. + . + 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: linux-doc +Architecture: all +Section: doc +Priority: optional +Depends: ${misc:Depends} +Conflicts: linux-doc-2.6 +Replaces: linux-doc-2.6 +Description: Linux kernel specific documentation for version 2.6.32 + This package provides the various documents in the 2.6.32 kernel + Documentation/ subdirectory. These document kernel subsystems, APIs, device + drivers, and so on. See + /usr/share/doc/linux-doc/00-INDEX for a list of what is + contained in each file. + +Package: linux-tools-common +Architecture: all +Section: admin +Priority: optional +Depends: ${misc:Depends} +Replaces: linux-tools (<= 2.6.32-16.25) +Description: Linux kernel specific tools for version 2.6.32 + This package provides the architecture independent parts for kernel + version locked tools in the 2.6.32 kernel source. + +Package: linux-headers-2.6.32-41 +Architecture: all +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0) +Provides: linux-headers, linux-headers-2.6 +Description: Header files related to Linux kernel version 2.6.32 + This package provides kernel header files for version 2.6.32, for sites + that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details + +Package: linux-libc-dev +Architecture: i386 amd64 lpia ia64 powerpc sparc armel +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), linux-kernel-headers +Replaces: libc6-dev (<< 2.3.2.ds1-6), libc6.1-dev (<< 2.3.2.ds1-6), dvb-dev (<< 1.0.1-6), linux-kernel-headers, libdrm-dev +Provides: linux-kernel-headers +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 linux-headers-* packages for that. + +Package: linux-tools-2.6.32-41 +Architecture: i386 amd64 lpia ia64 powerpc sparc armel +Section: devel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-tools-common +Description: Linux kernel tools for version 2.6.32-41 + This package provides the architecture dependant parts for kernel + version locked tools for version 2.6.32-41 on + DESC. + + +Package: linux-image-2.6.32-41-386 +Architecture: i386 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on i386 + This package contains the Linux kernel image for version 2.6.32 on + i386. + . + 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 Alternate x86 (486 and better) processors. + . + Geared toward desktop systems. + . + You likely do not want to install this package directly. Instead, install + the linux-386 meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-386 +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on i386 + This package provides kernel header files for version 2.6.32 on + i386. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-386-dbgsym +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on i386 + This package provides a kernel debug image for version 2.6.32 on + i386. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-generic +Architecture: i386 amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on x86/x86_64 + This package contains the Linux kernel image for version 2.6.32 on + x86/x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Generic processors. + . + Geared toward desktop 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-2.6.32-41-generic +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on x86/x86_64 + This package provides kernel header files for version 2.6.32 on + x86/x86_64. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-generic-dbgsym +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on x86/x86_64 + This package provides a kernel debug image for version 2.6.32 on + x86/x86_64. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-generic-pae +Architecture: i386 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on x86 + This package contains the Linux kernel image for version 2.6.32 on + x86. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Generic processors. + . + Geared toward 32 bit desktop systems with more then 4GB RAM. + . + You likely do not want to install this package directly. Instead, install + the linux-generic-pae meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-generic-pae +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on x86 + This package provides kernel header files for version 2.6.32 on + x86. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-generic-pae-dbgsym +Architecture: i386 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on x86 + This package provides a kernel debug image for version 2.6.32 on + x86. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-ia64 +Architecture: ia64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: elilo (>= 3.6-1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on IA-64 SMP + This package contains the Linux kernel image for version 2.6.32 on + IA-64 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 IA-64 SMP processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-ia64 meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-ia64 +Architecture: ia64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on IA-64 SMP + This package provides kernel header files for version 2.6.32 on + IA-64 SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-ia64-dbgsym +Architecture: ia64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on IA-64 SMP + This package provides a kernel debug image for version 2.6.32 on + IA-64 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: linux-image-2.6.32-41-lpia +Architecture: lpia +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, redhat-cluster-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on Intel Atom processors + This package contains the Linux kernel image for version 2.6.32 on + Intel Atom processors. + . + 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 Intel Atom processors. + . + Geared toward LPIA-based mobile devices + . + You likely do not want to install this package directly. Instead, install + the linux-lpia meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-lpia +Architecture: lpia +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on Intel Atom processors + This package provides kernel header files for version 2.6.32 on + Intel Atom processors. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-lpia-dbgsym +Architecture: lpia +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on Intel Atom processors + This package provides a kernel debug image for version 2.6.32 on + Intel Atom processors. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-powerpc +Architecture: powerpc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: yaboot +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 32-bit PowerPC + This package contains the Linux kernel image for version 2.6.32 on + 32-bit PowerPC. + . + 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 32-bit PowerPC processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-powerpc meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-powerpc +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 32-bit PowerPC + This package provides kernel header files for version 2.6.32 on + 32-bit PowerPC. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-powerpc-dbgsym +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 32-bit PowerPC + This package provides a kernel debug image for version 2.6.32 on + 32-bit PowerPC. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-powerpc-smp +Architecture: powerpc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: yaboot +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 32-bit PowerPC SMP + This package contains the Linux kernel image for version 2.6.32 on + 32-bit PowerPC 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 32-bit PowerPC SMP processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-powerpc-smp meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-powerpc-smp +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 32-bit PowerPC SMP + This package provides kernel header files for version 2.6.32 on + 32-bit PowerPC SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-powerpc-smp-dbgsym +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 32-bit PowerPC SMP + This package provides a kernel debug image for version 2.6.32 on + 32-bit PowerPC 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: linux-image-2.6.32-41-powerpc64-smp +Architecture: powerpc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: yaboot +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 64-bit PowerPC SMP + This package contains the Linux kernel image for version 2.6.32 on + 64-bit PowerPC 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 64-bit PowerPC SMP processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-powerpc64-smp meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-powerpc64-smp +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 64-bit PowerPC SMP + This package provides kernel header files for version 2.6.32 on + 64-bit PowerPC SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-powerpc64-smp-dbgsym +Architecture: powerpc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 64-bit PowerPC SMP + This package provides a kernel debug image for version 2.6.32 on + 64-bit PowerPC 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: linux-image-2.6.32-41-preempt +Architecture: amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on x86_64 + This package contains the Linux kernel image for version 2.6.32 on + x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Preempt processors. + . + Geared toward low latency systems. + . + You likely do not want to install this package directly. Instead, install + the linux-preempt meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-preempt +Architecture: amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on x86_64 + This package provides kernel header files for version 2.6.32 on + x86_64. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-preempt-dbgsym +Architecture: amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on x86_64 + This package provides a kernel debug image for version 2.6.32 on + x86_64. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-server +Architecture: amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, kvm-api-4, ivtv-modules, ndiswrapper-modules-1.9 +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on x86_64 + This package contains the Linux kernel image for version 2.6.32 on + x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Server processors. + . + Geared toward 64 bit server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-server meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-server +Architecture: amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on x86_64 + This package provides kernel header files for version 2.6.32 on + x86_64. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-server-dbgsym +Architecture: amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on x86_64 + This package provides a kernel debug image for version 2.6.32 on + x86_64. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-sparc64 +Architecture: sparc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: silo +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 64-bit UltraSPARC + This package contains the Linux kernel image for version 2.6.32 on + 64-bit UltraSPARC. + . + 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 64-bit UltraSPARC processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-sparc64 meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-sparc64 +Architecture: sparc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 64-bit UltraSPARC + This package provides kernel header files for version 2.6.32 on + 64-bit UltraSPARC. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-sparc64-dbgsym +Architecture: sparc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 64-bit UltraSPARC + This package provides a kernel debug image for version 2.6.32 on + 64-bit UltraSPARC. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-sparc64-smp +Architecture: sparc +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules, ivtv-modules +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: silo +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on 64-bit UltraSPARC SMP + This package contains the Linux kernel image for version 2.6.32 on + 64-bit UltraSPARC 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 64-bit UltraSPARC SMP processors. + . + Geared toward desktop or server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-sparc64-smp meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-sparc64-smp +Architecture: sparc +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on 64-bit UltraSPARC SMP + This package provides kernel header files for version 2.6.32 on + 64-bit UltraSPARC SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-sparc64-smp-dbgsym +Architecture: sparc +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on 64-bit UltraSPARC SMP + This package provides a kernel debug image for version 2.6.32 on + 64-bit UltraSPARC 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: linux-image-2.6.32-41-versatile +Architecture: armel +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, +Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Breaks: lvm2 (<< 2.02.54-1ubuntu3) +Recommends: +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32, linux-tools +Description: Linux kernel image for version 2.6.32 on Versatile-based systems + This package contains the Linux kernel image for version 2.6.32 on + Versatile-based systems. + . + 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 Versatile processors. + . + PB, AB, Qemu, etc. + . + You likely do not want to install this package directly. Instead, install + the linux-versatile meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-2.6.32-41-versatile +Architecture: armel +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-2.6.32-41, ${shlibs:Depends} +Provides: linux-headers, linux-headers-2.6 +Description: Linux kernel headers for version 2.6.32 on Versatile-based systems + This package provides kernel header files for version 2.6.32 on + Versatile-based systems. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-2.6.32-41/debian.README.gz for details. + +Package: linux-image-2.6.32-41-versatile-dbgsym +Architecture: armel +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 2.6.32 on Versatile-based systems + This package provides a kernel debug image for version 2.6.32 on + Versatile-based systems. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-image-2.6.32-41-virtual +Architecture: i386 amd64 +Section: admin +Priority: optional +Pre-Depends: dpkg (>= 1.10.24) +Provides: linux-image, linux-image-2.6, fuse-module, redhat-cluster-modules +Depends: ${misc:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3) +Conflicts: hotplug (<< 0.0.20040105-1), linux-image-2.6.32-41-generic-pae, linux-image-2.6.32-41-server +Recommends: grub-pc | grub | lilo (>= 19.1) +Suggests: fdutils, linux-doc-2.6.32 | linux-source-2.6.32 +Description: Linux kernel image for version 2.6.32 on x86/x86_64 + This package contains the Linux kernel image for version 2.6.32 on + x86/x86_64. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports Virtual processors. + . + Geared toward virtual machine guests. + . + You likely do not want to install this package directly. Instead, install + the linux-virtual meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: kernel-image-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: kernel-image +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: extra +Description: Linux kernel binary image for the Debian installer + This package contains the Linux kernel image for the Debian installer + boot images. It does _not_ provide a usable kernel for your full + Debian system. + +Package: nic-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: nic-modules +Depends: kernel-image-2.6.32-41-generic-di, nic-shared-modules-2.6.32-41-generic-di, virtio-modules-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: Network interface support + +Package: nic-shared-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: nic-shared-modules +Depends: kernel-image-2.6.32-41-generic-di, crypto-modules-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: nic shared modules + This package contains modules which support nic modules + +Package: serial-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: serial-modules +Depends: kernel-image-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: Serial port support + +Package: ppp-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: ppp-modules +Depends: kernel-image-2.6.32-41-generic-di, nic-shared-modules-2.6.32-41-generic-di, serial-modules-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: PPP (serial port) networking support + +Package: firewire-core-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: firewire-core-modules +Depends: kernel-image-2.6.32-41-generic-di, storage-core-modules-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: Firewire (IEEE-1394) Support + +Package: scsi-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: scsi-modules +Depends: kernel-image-2.6.32-41-generic-di, storage-core-modules-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: SCSI storage support + +Package: plip-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: plip-modules +Depends: kernel-image-2.6.32-41-generic-di, nic-shared-modules-2.6.32-41-generic-di, parport-modules-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: PLIP (parallel port) networking support + +Package: floppy-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: floppy-modules +Depends: kernel-image-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: Floppy driver support + +Package: fat-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: fat-modules +Depends: kernel-image-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: FAT filesystem support + This includes Windows FAT and VFAT support. + +Package: nfs-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: nfs-modules +Depends: kernel-image-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: NFS filesystem drivers + Includes the NFS client driver, and supporting modules. + +Package: md-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: md-modules +Depends: kernel-image-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: Multi-device support (raid, device-mapper, lvm) + +Package: usb-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: usb-modules +Depends: kernel-image-2.6.32-41-generic-di, storage-core-modules-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: Core USB support + +Package: pcmcia-storage-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: pcmcia-storage-modules +Depends: kernel-image-2.6.32-41-generic-di, scsi-modules-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: PCMCIA storage support + +Package: fb-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: fb-modules +Depends: kernel-image-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: Framebuffer modules + +Package: input-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: input-modules +Depends: kernel-image-2.6.32-41-generic-di, usb-modules-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: Support for various input methods + +Package: mouse-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: mouse-modules +Depends: kernel-image-2.6.32-41-generic-di, input-modules-2.6.32-41-generic-di, usb-modules-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: extra +Description: Mouse support + This package contains mouse drivers for the Linux kernel. + +Package: irda-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: irda-modules +Depends: kernel-image-2.6.32-41-generic-di, nic-shared-modules-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: Support for Infrared protocols + +Package: parport-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: parport-modules +Depends: kernel-image-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: Parallel port support + +Package: nic-pcmcia-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: nic-pcmcia-modules +Depends: kernel-image-2.6.32-41-generic-di, nic-shared-modules-2.6.32-41-generic-di, nic-modules-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: PCMCIA network interface support + +Package: pcmcia-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: pcmcia-modules +Depends: kernel-image-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: PCMCIA Modules + +Package: nic-usb-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: nic-usb-modules +Depends: kernel-image-2.6.32-41-generic-di, nic-shared-modules-2.6.32-41-generic-di, usb-modules-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: USB network interface support + +Package: sata-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: sata-modules +Depends: kernel-image-2.6.32-41-generic-di, storage-core-modules-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: SATA storage support + +Package: crypto-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: crypto-modules +Depends: kernel-image-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: extra +Description: crypto modules + This package contains crypto modules. + +Package: char-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: char-modules +Depends: kernel-image-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: Character module support + +Package: fs-core-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: fs-core-modules, jfs-modules, reiserfs-modules, xfs-modules +Depends: kernel-image-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: Base filesystem modules + This includes jfs, reiserfs and xfs. + +Package: fs-secondary-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: fs-secondary-modules, ntfs-modules, hfs-modules +Depends: kernel-image-2.6.32-41-generic-di, fat-modules-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: Extra filesystem modules + This includes support for Windows NTFS and MacOS HFS/HFSPlus + +Package: pata-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: pata-modules +Depends: kernel-image-2.6.32-41-generic-di, storage-core-modules-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: PATA support modules + +Package: storage-core-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: storage-core-modules, loop-modules +Depends: kernel-image-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-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-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: block-modules +Depends: kernel-image-2.6.32-41-generic-di, storage-core-modules-2.6.32-41-generic-di, parport-modules-2.6.32-41-generic-di, virtio-modules-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: Block storage devices + This package contains the block storage devices, including DAC960 and + paraide. + +Package: message-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: message-modules +Depends: kernel-image-2.6.32-41-generic-di, storage-core-modules-2.6.32-41-generic-di, scsi-modules-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: Fusion and i2o storage modules + This package containes the fusion and i2o storage modules. + +Package: virtio-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: virtio-modules +Depends: kernel-image-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: standard +Description: VirtIO Modules + Includes modules for VirtIO (virtual machine, generally kvm guests) + +Package: squashfs-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: squashfs-modules +Depends: kernel-image-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: extra +Description: squashfs modules + This package contains squashfs modules. + +Package: vlan-modules-2.6.32-41-generic-di +XC-Package-Type: udeb +Provides: vlan-modules +Depends: kernel-image-2.6.32-41-generic-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic +Section: debian-installer +Priority: extra +Description: vlan modules + This package contains vlan (8021.Q) modules. + +Package: kernel-image-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: kernel-image +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: extra +Description: Linux kernel binary image for the Debian installer + This package contains the Linux kernel image for the Debian installer + boot images. It does _not_ provide a usable kernel for your full + Debian system. + +Package: nic-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: nic-modules +Depends: kernel-image-2.6.32-41-generic-pae-di, nic-shared-modules-2.6.32-41-generic-pae-di, virtio-modules-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: Network interface support + +Package: nic-shared-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: nic-shared-modules +Depends: kernel-image-2.6.32-41-generic-pae-di, crypto-modules-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: nic shared modules + This package contains modules which support nic modules + +Package: serial-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: serial-modules +Depends: kernel-image-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: Serial port support + +Package: ppp-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: ppp-modules +Depends: kernel-image-2.6.32-41-generic-pae-di, nic-shared-modules-2.6.32-41-generic-pae-di, serial-modules-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: PPP (serial port) networking support + +Package: firewire-core-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: firewire-core-modules +Depends: kernel-image-2.6.32-41-generic-pae-di, storage-core-modules-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: Firewire (IEEE-1394) Support + +Package: scsi-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: scsi-modules +Depends: kernel-image-2.6.32-41-generic-pae-di, storage-core-modules-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: SCSI storage support + +Package: plip-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: plip-modules +Depends: kernel-image-2.6.32-41-generic-pae-di, nic-shared-modules-2.6.32-41-generic-pae-di, parport-modules-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: PLIP (parallel port) networking support + +Package: floppy-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: floppy-modules +Depends: kernel-image-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: Floppy driver support + +Package: fat-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: fat-modules +Depends: kernel-image-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: FAT filesystem support + This includes Windows FAT and VFAT support. + +Package: nfs-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: nfs-modules +Depends: kernel-image-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: NFS filesystem drivers + Includes the NFS client driver, and supporting modules. + +Package: md-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: md-modules +Depends: kernel-image-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: Multi-device support (raid, device-mapper, lvm) + +Package: usb-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: usb-modules +Depends: kernel-image-2.6.32-41-generic-pae-di, storage-core-modules-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: Core USB support + +Package: pcmcia-storage-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: pcmcia-storage-modules +Depends: kernel-image-2.6.32-41-generic-pae-di, scsi-modules-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: PCMCIA storage support + +Package: fb-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: fb-modules +Depends: kernel-image-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: Framebuffer modules + +Package: input-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: input-modules +Depends: kernel-image-2.6.32-41-generic-pae-di, usb-modules-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: Support for various input methods + +Package: mouse-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: mouse-modules +Depends: kernel-image-2.6.32-41-generic-pae-di, input-modules-2.6.32-41-generic-pae-di, usb-modules-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: extra +Description: Mouse support + This package contains mouse drivers for the Linux kernel. + +Package: irda-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: irda-modules +Depends: kernel-image-2.6.32-41-generic-pae-di, nic-shared-modules-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: Support for Infrared protocols + +Package: parport-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: parport-modules +Depends: kernel-image-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: Parallel port support + +Package: nic-pcmcia-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: nic-pcmcia-modules +Depends: kernel-image-2.6.32-41-generic-pae-di, nic-shared-modules-2.6.32-41-generic-pae-di, nic-modules-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: PCMCIA network interface support + +Package: pcmcia-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: pcmcia-modules +Depends: kernel-image-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: PCMCIA Modules + +Package: nic-usb-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: nic-usb-modules +Depends: kernel-image-2.6.32-41-generic-pae-di, nic-shared-modules-2.6.32-41-generic-pae-di, usb-modules-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: USB network interface support + +Package: sata-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: sata-modules +Depends: kernel-image-2.6.32-41-generic-pae-di, storage-core-modules-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: SATA storage support + +Package: crypto-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: crypto-modules +Depends: kernel-image-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: extra +Description: crypto modules + This package contains crypto modules. + +Package: char-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: char-modules +Depends: kernel-image-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: Character module support + +Package: fs-core-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: fs-core-modules, jfs-modules, reiserfs-modules, xfs-modules +Depends: kernel-image-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: Base filesystem modules + This includes jfs, reiserfs and xfs. + +Package: fs-secondary-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: fs-secondary-modules, ntfs-modules, hfs-modules +Depends: kernel-image-2.6.32-41-generic-pae-di, fat-modules-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: Extra filesystem modules + This includes support for Windows NTFS and MacOS HFS/HFSPlus + +Package: pata-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: pata-modules +Depends: kernel-image-2.6.32-41-generic-pae-di, storage-core-modules-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: PATA support modules + +Package: storage-core-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: storage-core-modules, loop-modules +Depends: kernel-image-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +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-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: block-modules +Depends: kernel-image-2.6.32-41-generic-pae-di, storage-core-modules-2.6.32-41-generic-pae-di, parport-modules-2.6.32-41-generic-pae-di, virtio-modules-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: Block storage devices + This package contains the block storage devices, including DAC960 and + paraide. + +Package: message-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: message-modules +Depends: kernel-image-2.6.32-41-generic-pae-di, storage-core-modules-2.6.32-41-generic-pae-di, scsi-modules-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: Fusion and i2o storage modules + This package containes the fusion and i2o storage modules. + +Package: virtio-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: virtio-modules +Depends: kernel-image-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: standard +Description: VirtIO Modules + Includes modules for VirtIO (virtual machine, generally kvm guests) + +Package: squashfs-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: squashfs-modules +Depends: kernel-image-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: extra +Description: squashfs modules + This package contains squashfs modules. + +Package: vlan-modules-2.6.32-41-generic-pae-di +XC-Package-Type: udeb +Provides: vlan-modules +Depends: kernel-image-2.6.32-41-generic-pae-di +Architecture: i386 +XB-Kernel-Version: 2.6.32-41-generic-pae +Section: debian-installer +Priority: extra +Description: vlan modules + This package contains vlan (8021.Q) modules. --- linux-2.6.32.orig/debian/changelog +++ linux-2.6.32/debian/changelog @@ -0,0 +1,10648 @@ +linux (2.6.32-41.94) lucid-proposed; urgency=low + + [ Andy Whitcroft ] + + * fix ABI directory naming + + [ Luis Henriques ] + + * Release Tracking Bug + - LP: #1020172 + + -- Andy Whitcroft Fri, 06 Jul 2012 15:46:44 +0100 + +linux (2.6.32-41.93) lucid-proposed; urgency=low + + [ Andy Whitcroft ] + + * No change upload to fix .ddeb generation in the PPA. + + [ Luis Henriques ] + + * Release Tracking Bug + - LP: #1020172 + + -- Andy Whitcroft Fri, 06 Jul 2012 10:21:05 +0100 + +linux (2.6.32-41.92) lucid-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1020172 + + [ Upstream Kernel Changes ] + + * drm/i915: Move Pineview CxSR and watermark code into update_wm hook. + - LP: #1004707 + * drm/i915: Add CxSR support on Pineview DDR3 + - LP: #1004707 + + -- Luis Henriques Mon, 02 Jul 2012 17:07:47 +0100 + +linux (2.6.32-41.91) lucid-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1012014 + + [ Tim Gardner ] + + * SAUCE: async_populate_rootfs: fix build warnings + - LP: #1003417 + + [ Upstream Kernel Changes ] + + * dl2k: Clean up rio_ioctl + - CVE-2012-2313 + * hfsplus: Fix potential buffer overflows + - CVE-2012-2319 + + -- Luis Henriques Tue, 12 Jun 2012 10:04:14 +0100 + +linux (2.6.32-41.90) lucid-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1002389 + + [ Andy Whitcroft ] + + * [Config] control.stub is an intermediate product not a dependancy + - LP: #992414 + + [ Tim Gardner ] + + * [Config] perarch and indep tools builds need separate build directories + + [ Upstream Kernel Changes ] + + * hugepages: fix use after free bug in "quota" handling + - LP: #990368 + - CVE-2012-2133 + + -- Luis Henriques Mon, 21 May 2012 18:25:32 +0100 + +linux (2.6.32-41.89) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #990103 + + [ Tim Gardner ] + + * SAUCE: (no-up) remove __initdata from vesafb_fix + - LP: #969309 + + [ Upstream Kernel Changes ] + + * jbd2: clear BH_Delay & BH_Unwritten in journal_unmap_buffer + - LP: #929781 + - CVE-2011-4086 + * fcaps: clear the same personality flags as suid when fcaps are used + - LP: #987571 + - CVE-2012-2123 + * lucid security: fix compile error in commoncap.c + - LP: #987571 + - CVE-2012-2123 + * KVM: Clean up error handling during VCPU creation + - LP: #971685 + - CVE-2012-1601 + * KVM: Ensure all vcpus are consistent with in-kernel irqchip settings + - LP: #971685 + - CVE-2012-1601 + + -- Herton Ronaldo Krzesinski Fri, 27 Apr 2012 17:59:10 -0300 + +linux (2.6.32-41.88) lucid-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #966443 + + [ Andy Whitcroft ] + + * [Config] restore build-% shortcut + + [ Tim Gardner ] + + * SAUCE: ubuntu drivers: use UMH_WAIT_PROC consistently + - LP: #963685 + + [ Upstream Kernel Changes ] + + * Revert "Revert "USB: xhci - fix unsafe macro definitions"" + - LP: #948139 + * Revert "Revert "USB: xhci - fix math in xhci_get_endpoint_interval()"" + - LP: #948139 + * Revert "Revert "xhci: Fix full speed bInterval encoding."" + - LP: #948139 + * bsg: fix sysfs link remove warning + - LP: #946928 + * hwmon: (f75375s) Fix bit shifting in f75375_write16 + - LP: #948139 + * lib: proportion: lower PROP_MAX_SHIFT to 32 on 64-bit kernel + - LP: #948139 + * relay: prevent integer overflow in relay_open() + - LP: #948139 + * mac80211: timeout a single frame in the rx reorder buffer + - LP: #948139 + * kernel.h: fix wrong usage of __ratelimit() + - LP: #948139 + * printk_ratelimited(): fix uninitialized spinlock + - LP: #948139 + * hwmon: (f75375s) Fix automatic pwm mode setting for F75373 & F75375 + - LP: #948139 + * crypto: sha512 - Use binary and instead of modulus + - LP: #948139 + * crypto: sha512 - Avoid stack bloat on i386 + - LP: #948139 + * crypto: sha512 - use standard ror64() + - LP: #948139 + * SCSI: 3w-9xxx fix bug in sgl loading + - LP: #948139 + * ARM: 7321/1: cache-v7: Disable preemption when reading CCSIDR + - LP: #948139 + * ARM: 7325/1: fix v7 boot with lockdep enabled + - LP: #948139 + * USB: Added Kamstrup VID/PIDs to cp210x serial driver. + - LP: #948139 + * USB: Fix handoff when BIOS disables host PCI device. + - LP: #948139 + * xhci: Fix encoding for HS bulk/control NAK rate. + - LP: #948139 + * hdpvr: fix race conditon during start of streaming + - LP: #948139 + * cdrom: use copy_to_user() without the underscores + - LP: #948139 + * autofs: work around unhappy compat problem on x86-64 + - LP: #948139 + * Fix autofs compile without CONFIG_COMPAT + - LP: #948139 + * compat: fix compile breakage on s390 + - LP: #948139 + * PM: Print a warning if firmware is requested when tasks are frozen + - LP: #948139 + * firmware loader: allow builtin firmware load even if usermodehelper is + disabled + - LP: #948139 + * PM / Sleep: Fix freezer failures due to racy + usermodehelper_is_disabled() + - LP: #948139 + * PM / Sleep: Fix read_unlock_usermodehelper() call. + - LP: #948139 + * Linux 2.6.32.58 + - LP: #948139 + * regset: Prevent null pointer reference on readonly regsets + - LP: #949905 + - CVE-2012-1097 + * regset: Return -EFAULT, not -EIO, on host-side memory fault + - LP: #949905 + - CVE-2012-1097 + * KVM: Remove ability to assign a device without iommu support + - LP: #897812 + - CVE-2011-4347 + * eCryptfs: Copy up lower inode attrs after setting lower xattr + * eCryptfs: Improve statfs reporting + - LP: #885744 + * drm/i915: no lvds quirk for AOpen MP45 + - LP: #955078 + * drm/radeon/kms: fix MSI re-arm on rv370+ + - LP: #955078 + * Linux 2.6.32.58+drm33.24 + - LP: #955078 + * KVM: x86: extend "struct x86_emulate_ops" with "get_cpuid" + - LP: #917842 + - CVE-2012-0045 + * KVM: x86: fix missing checks in syscall emulation + - LP: #917842 + - CVE-2012-0045 + * eCryptfs: Clear ECRYPTFS_NEW_FILE flag during truncate + - LP: #745836 + * compat: Re-add missing asm/compat.h include to fix compile breakage on + s390 + - LP: #959252 + * IA64: Remove COMPAT_IA32 support + - LP: #959252 + * writeback: fixups for !dirty_writeback_centisecs + - LP: #959252 + * KEYS: Enable the compat keyctl wrapper on s390x + - LP: #959252 + * cifs: fix dentry refcount leak when opening a FIFO on lookup + - LP: #959252 + * net/usbnet: avoid recursive locking in usbnet_stop() + - LP: #959252 + * watchdog: hpwdt: clean up set_memory_x call for 32 bit + - LP: #959252 + * blkfront: Fix backtrace in del_gendisk + - LP: #959252 + * Linux 2.6.32.59 + - LP: #959252 + * USB: EHCI: go back to using the system clock for QH unlinks + - LP: #624510 + * kmod: fix resource leak in call_usermodehelper_pipe() + - LP: #963685 + * kmod: add init function to usermodehelper + - LP: #963685 + * usermodehelper: use UMH_WAIT_PROC consistently + - LP: #963685 + * usermodehelper: introduce umh_complete(sub_info) + - LP: #963685 + * usermodehelper: implement UMH_KILLABLE + - LP: #963685 + * usermodehelper: kill umh_wait, renumber UMH_* constants + - LP: #963685 + * usermodehelper: ____call_usermodehelper() doesn't need do_exit() + - LP: #963685 + * kmod: introduce call_modprobe() helper + - LP: #963685 + * kmod: make __request_module() killable + - LP: #963685 + + -- Luis Henriques Tue, 27 Mar 2012 19:44:59 +0100 + +linux (2.6.32-40.87) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #947375 + + [ Upstream Kernel Changes ] + + * IB/mlx4: pass SMP vendor-specific attribute MADs to firmware + - LP: #932043 + * mm/filemap_xip.c: fix race condition in xip_file_fault() + - LP: #932043 + * NFSv4: Fix up the callers of nfs4_state_end_reclaim_reboot + - LP: #932043 + * NFSv4: The state manager shouldn't exit on errors that were handled + - LP: #932043 + * NFSv4: Ensure the state manager handles NFS4ERR_NO_GRACE correctly + - LP: #932043 + * NFSv4: Handle NFS4ERR_GRACE when recovering an expired lease. + - LP: #932043 + * NFSv4: Fix open recovery + - LP: #932043 + * rpc client can not deal with ENOSOCK, so translate it into ENOCONN + - LP: #932043 + * udf: Mark LVID buffer as uptodate before marking it dirty + - LP: #932043 + * eCryptfs: Infinite loop due to overflow in ecryptfs_write() + - LP: #932043 + * atmel_lcdfb: fix usage of CONTRAST_CTR in suspend/resume + - LP: #932043 + * Staging: asus_oled: fix image processing + - LP: #932043 + * Staging: android: binder: Don't call dump_stack in binder_vma_open + - LP: #932043 + * Staging: android: binder: Fix crashes when sharing a binder file + between processes + - LP: #932043 + * usb: gadget: zero: fix bug in loopback autoresume handling + - LP: #932043 + * usb: Skip PCI USB quirk handling for Netlogic XLP + - LP: #932043 + * USB: usbserial: add new PID number (0xa951) to the ftdi driver + - LP: #932043 + * mmc: cb710 core: Add missing spin_lock_init for irq_lock of struct + cb710_chip + - LP: #932043 + * net: fix sk_forward_alloc corruptions + - LP: #932043 + * net: sock_queue_err_skb() dont mess with sk_forward_alloc + - LP: #932043 + * Linux 2.6.32.57 + - LP: #932043 + * Ban ecryptfs over ecryptfs + - LP: #932987 + * eCryptfs: Remove mmap from directory operations + - LP: #400443 + * eCryptfs: Use notify_change for truncating lower inodes + - LP: #451368 + * ecryptfs: read on a directory should return EISDIR if not supported + - LP: #719691 + * eCryptfs: Remove extra d_delete in ecryptfs_rmdir + - LP: #723518 + * eCryptfs: Clear i_nlink in rmdir + - LP: #723518 + * KVM: Device assignment permission checks + - LP: #897812 + - CVE-2011-4347 + * block: Fix io_context leak after clone with CLONE_IO + - LP: #940743 + - CVE-2012-0879 + * block: Fix io_context leak after failure of clone with CLONE_IO + - LP: #940743 + - CVE-2012-0879 + * eCryptfs: Handle failed metadata read in lookup + - LP: #509180 + * drm/i915: Fix TV Out refresh rate. + - LP: #945114 + * Linux 2.6.32.57+drm33.23 + - LP: #945114 + + -- Herton Ronaldo Krzesinski Mon, 05 Mar 2012 16:09:18 -0300 + +linux (2.6.32-39.86) lucid-proposed; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #931647 + + [ Upstream Kernel Changes ] + + * ext4: fix undefined behavior in ext4_fill_flex_info() + - LP: #922315 + * ALSA: snd-usb-us122l: Delete calls to preempt_disable + - LP: #922315 + * ALSA: ice1724 - Check for ac97 to avoid kernel oops + - LP: #922315 + * ALSA: hda - Return the error from get_wcaps_type() for invalid NIDs + - LP: #922315 + * HID: bump maximum global item tag report size to 96 bytes + - LP: #724831, #922315 + * UBI: fix use-after-free on error path + - LP: #922315 + * PCI: Fix PCI_EXP_TYPE_RC_EC value + - LP: #922315 + * PCI: msi: Disable msi interrupts when we initialize a pci device + - LP: #922315 + * xen/xenbus: Reject replies with payload > XENSTORE_PAYLOAD_MAX. + - LP: #922315 + * ima: free duplicate measurement memory + - LP: #922315 + * PNP: work around Dell 1536/1546 BIOS MMCONFIG bug that breaks USB + - LP: #922315 + * x86: Fix mmap random address range + - LP: #922315 + * UBI: fix nameless volumes handling + - LP: #922315 + * i2c: Fix error value returned by several bus drivers + - LP: #922315 + * V4L/DVB: v4l2-ioctl: integer overflow in video_usercopy() + - LP: #922315 + * svcrpc: fix double-free on shutdown of nfsd after changing pool mode + - LP: #922315 + * svcrpc: destroy server sockets all at once + - LP: #922315 + * nfsd: Fix oops when parsing a 0 length export + - LP: #922315 + * USB: cdc-wdm: fix misuse of logical operation in place of bitop + - LP: #922315 + * fix cputime overflow in uptime_proc_show + - LP: #922315 + * USB: Fix 'bad dma' problem on WDM device disconnect + - LP: #922315 + * block: add and use scsi_blk_cmd_ioctl + - LP: #922315 + * kernel.h: add printk_ratelimited and pr__rl + - LP: #922315 + * ALSA: HDA: Fix internal microphone on Dell Studio 16 XPS 1645 + - LP: #795823, #922315 + * sym53c8xx: Fix NULL pointer dereference in slave_destroy + - LP: #922315 + * score: fix off-by-one index into syscall table + - LP: #922315 + * kprobes: initialize before using a hlist + - LP: #922315 + * Linux 2.6.32.55 + - LP: #922315 + * eCryptfs: Sanitize write counts of /dev/ecryptfs + - LP: #926321 + * ecryptfs: Improve metadata read failure logging + - LP: #926321 + * eCryptfs: Make truncate path killable + - LP: #926321 + * crypto: sha512 - make it work, undo percpu message schedule + - LP: #926321 + * crypto: sha512 - reduce stack usage to safe number + - LP: #926321 + * block: fail SCSI passthrough ioctls on partition devices + - LP: #926321 + * dm: do not forward ioctls from logical volumes to the underlying device + - LP: #926321 + * USB: ftdi_sio: fix TIOCSSERIAL baud_base handling + - LP: #926321 + * USB: ftdi_sio: add PID for TI XDS100v2 / BeagleBone A3 + - LP: #926321 + * USB: serial: ftdi additional IDs + - LP: #926321 + * USB: ftdi_sio: Add more identifiers + - LP: #926321 + * USB: cdc-wdm: updating desc->length must be protected by spin_lock + - LP: #926321 + * usb: io_ti: Make edge_remove_sysfs_attrs the port_remove method. + - LP: #926321 + * USB: usbsevseg: fix max length + - LP: #926321 + * hwmon: (f71805f) Fix clamping of temperature limits + - LP: #926321 + * hwmon: (sht15) fix bad error code + - LP: #926321 + * USB: serial: CP210x: Added USB-ID for the Link Instruments MSO-19 + - LP: #926321 + * USB: cp210x: do not map baud rates to B0 + - LP: #926321 + * USB: ftdi_sio: fix initial baud rate + - LP: #926321 + * Linux 2.6.32.56 + - LP: #926321 + * drm: Fix authentication kernel crash + - LP: #931415 + * Linux 2.6.32.56+drm33.22 + - LP: #931415 + + -- Brad Figg Mon, 13 Feb 2012 12:03:58 -0800 + +linux (2.6.32-38.85) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #921562 + + [ Upstream Kernel Changes ] + + * Revert "ARM: 7220/1: mmc: mmci: Fixup error handling for dma" + - LP: #921113 + + -- Herton Ronaldo Krzesinski Wed, 25 Jan 2012 11:32:53 -0200 + +linux (2.6.32-38.84) lucid-proposed; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #920685 + + [ Upstream Kernel Changes ] + + * KVM: x86: Prevent starting PIT timers in the absence of irqchip support + - LP: #911303 + - CVE-2011-4622 + * cfq-iosched: fix cfq_cic_link() race confition + - LP: #913463 + * SCSI: mpt2sas: _scsih_smart_predicted_fault uses GFP_KERNEL in + interrupt context + - LP: #913463 + * MXC PWM: should active during DOZE/WAIT/DBG mode + - LP: #913463 + * vfs: __read_cache_page should use gfp argument rather than GFP_KERNEL + - LP: #913463 + * ARM:imx:fix pwm period value + - LP: #913463 + * ARM: 7220/1: mmc: mmci: Fixup error handling for dma + - LP: #913463 + * watchdog: hpwdt: Changes to handle NX secure bit in 32bit path + - LP: #913463 + * hung_task: fix false positive during vfork + - LP: #913463 + * ath9k: Fix kernel panic in AR2427 in AP mode + - LP: #913463 + * Linux 2.6.32.53 + - LP: #913463 + * MAINTAINERS: stable: Update address + - LP: #915900 + * Documentation: Update stable address + - LP: #915900 + * firmware: Fix an oops on reading fw_priv->fw in sysfs loading file + - LP: #915900 + * offb: Fix setting of the pseudo-palette for >8bpp + - LP: #915900 + * offb: Fix bug in calculating requested vram size + - LP: #915900 + * asix: new device id + - LP: #915900 + * reiserfs: Fix quota mount option parsing + - LP: #915900 + * reiserfs: Force inode evictions before umount to avoid crash + - LP: #915900 + * USB: update documentation for usbmon + - LP: #915900 + * drivers/usb/class/cdc-acm.c: clear dangling pointer + - LP: #915900 + * USB: isight: fix kernel bug when loading firmware + - LP: #915900 + * usb: usb-storage doesn't support dynamic id currently, the patch + disables the feature to fix an oops + - LP: #915900 + * USB: add quirk for another camera + - LP: #915900 + * USB: omninet: fix write_room + - LP: #915900 + * USB: Add USB-ID for Multiplex RC serial adapter to cp210x.c + - LP: #915900 + * asix: fix infinite loop in rx_fixup() + - LP: #915900 + * PM / Sleep: Fix race between CPU hotplug and freezer + - LP: #915900 + * SCSI: scsi_dh: check queuedata pointer before proceeding further + - LP: #915900 + * xfs: validate acl count + - LP: #915900 + * xfs: fix acl count validation in xfs_acl_from_disk() + - LP: #915900 + * Linux 2.6.32.54 + - LP: #915900 + + -- Brad Figg Mon, 23 Jan 2012 14:15:38 -0800 + +linux (2.6.32-38.83) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #911405 + + [ Upstream Kernel Changes ] + + * Revert "clockevents: Set noop handler in clockevents_exchange_device()" + - LP: #911392 + * Linux 2.6.32.52 + - LP: #911392 + + -- Herton Ronaldo Krzesinski Tue, 03 Jan 2012 16:51:53 -0200 + +linux (2.6.32-38.82) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #910906 + + [ Tetsuo Handa ] + + * SAUCE: netns: Add quota for number of NET_NS instances. + + [ Tim Gardner ] + + * [Config] CONFIG_NET_NS=y + - LP: #790863 + + [ Upstream Kernel Changes ] + + * Revert "core: Fix memory leak/corruption on VLAN GRO_DROP, + CVE-2011-1576" + * hfs: fix hfs_find_init() sb->ext_tree NULL ptr oops, CVE-2011-2203 + - LP: #899466 + - CVE-2011-2203 + * net: ipv4: relax AF_INET check in bind() + - LP: #900396 + * KEYS: Fix a NULL pointer deref in the user-defined key type, + CVE-2011-4110 + - LP: #894369 + - CVE-2011-4110 + * i2c-algo-bit: Generate correct i2c address sequence for 10-bit target + - LP: #902317 + * eCryptfs: Extend array bounds for all filename chars + - LP: #902317 + * PCI hotplug: shpchp: don't blindly claim non-AMD 0x7450 device IDs + - LP: #902317 + * ARM: 7161/1: errata: no automatic store buffer drain + - LP: #902317 + * ALSA: lx6464es - fix device communication via command bus + - LP: #902317 + * SUNRPC: Ensure we return EAGAIN in xs_nospace if congestion is cleared + - LP: #902317 + * timekeeping: add arch_offset hook to ktime_get functions + - LP: #902317 + * p54spi: Add missing spin_lock_init + - LP: #902317 + * p54spi: Fix workqueue deadlock + - LP: #902317 + * nl80211: fix MAC address validation + - LP: #902317 + * gro: reset vlan_tci on reuse + - LP: #902317 + * staging: usbip: bugfix for deadlock + - LP: #902317 + * staging: comedi: fix oops for USB DAQ devices. + - LP: #902317 + * Staging: comedi: fix signal handling in read and write + - LP: #902317 + * USB: whci-hcd: fix endian conversion in qset_clear() + - LP: #902317 + * usb: ftdi_sio: add PID for Propox ISPcable III + - LP: #902317 + * usb: option: add SIMCom SIM5218 + - LP: #902317 + * USB: usb-storage: unusual_devs entry for Kingston DT 101 G2 + - LP: #902317 + * SCSI: scsi_lib: fix potential NULL dereference + - LP: #902317 + * SCSI: Silencing 'killing requests for dead queue' + - LP: #902317 + * cifs: fix cifs stable patch cifs-fix-oplock-break-handling-try-2.patch + - LP: #902317 + * sched, x86: Avoid unnecessary overflow in sched_clock + - LP: #902317 + * x86/mpparse: Account for bus types other than ISA and PCI + - LP: #902317 + * oprofile, x86: Fix crash when unloading module (nmi timer mode) + - LP: #902317 + * genirq: Fix race condition when stopping the irq thread + - LP: #902317 + * tick-broadcast: Stop active broadcast device when replacing it + - LP: #902317 + * clockevents: Set noop handler in clockevents_exchange_device() + - LP: #902317 + * Linux 2.6.32.50 + - LP: #902317 + * nfsd4: permit read opens of executable-only files + - LP: #833300 + * ipv6: Allow inet6_dump_addr() to handle more than 64 addresses + - LP: #863394 + * ALSA: sis7019 - give slow codecs more time to reset + - LP: #907774 + * ALSA: hda/realtek - Fix Oops in alc_mux_select() + - LP: #907774 + * ARM: davinci: dm646x evm: wrong register used in + setup_vpif_input_channel_mode + - LP: #907774 + * oprofile: Free potentially owned tasks in case of errors + - LP: #907774 + * oprofile: Fix locking dependency in sync_start() + - LP: #907774 + * percpu: fix chunk range calculation + - LP: #907774 + * xfrm: Fix key lengths for rfc3686(ctr(aes)) + - LP: #907774 + * linux/log2.h: Fix rounddown_pow_of_two(1) + - LP: #907774 + * jbd/jbd2: validate sb->s_first in journal_get_superblock() + - LP: #907774 + * hfs: fix hfs_find_init() sb->ext_tree NULL ptr oops + - LP: #907774 + * export __get_user_pages_fast() function + - LP: #907774 + * oprofile, x86: Fix nmi-unsafe callgraph support + - LP: #907774 + * oprofile, x86: Fix crash when unloading module (timer mode) + - LP: #907774 + * ext4: avoid hangs in ext4_da_should_update_i_disksize() + - LP: #907774 + * USB: cdc-acm: add IDs for Motorola H24 HSPA USB module. + - LP: #907774 + * Linux 2.6.32.51 + - LP: #907774 + + -- Herton Ronaldo Krzesinski Mon, 02 Jan 2012 15:26:33 -0200 + +linux (2.6.32-37.81) lucid-proposed; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #899339 + + [ Upstream Kernel Changes ] + + * (pre-stable) sparc: sigutil: Include + - LP: #899311 + + -- Brad Figg Fri, 02 Dec 2011 11:11:27 -0800 + +linux (2.6.32-37.80) lucid-proposed; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #898283 + + [ Upstream Kernel Changes ] + + * Revert "x86, hotplug: Use mwait to offline a processor, fix the legacy + case" + - LP: #888042 + * Revert "usb: musb: restore INDEX register in resume path" + - LP: #888042 + * Revert "MIPS: MTX-1: Make au1000_eth probe all PHY + - LP: #888042 + * Revert "ALSA: hda: Fix quirk for Dell Inspiron 910" + - LP: #875300 + * USB: ftdi_sio: add Calao reference board support + - LP: #888042 + * USB: EHCI: Do not rely on PORT_SUSPEND to stop USB resuming in + ehci_bus_resume(). + - LP: #888042 + * rt2x00: do not drop usb dev reference counter on suspend + - LP: #888042 + * atm: br2684: Fix oops due to skb->dev being NULL + - LP: #888042 + * sparc: Allow handling signals when stack is corrupted. + - LP: #888042 + * sparc: fix array bounds error setting up PCIC NMI trap + - LP: #888042 + * net: Fix IPv6 GSO type checks in Intel ethernet drivers + - LP: #888042 + * ipv6: Add GSO support on forwarding path + - LP: #888042 + * GRO: fix merging a paged skb after non-paged skbs + - LP: #888042 + * xen-blkfront: fix data size for xenbus_gather in blkfront_connect + - LP: #888042 + * md/linear: avoid corrupting structure while waiting for rcu_free to + complete. + - LP: #888042 + * powerpc/pci: Check devices status property when scanning OF tree + - LP: #888042 + * xen: x86_32: do not enable iterrupts when returning from exception in + interrupt context + - LP: #888042 + * xen/smp: Warn user why they keel over - nosmp or noapic and what to use + instead. + - LP: #888042 + * ARM: davinci: da850 EVM: read mac address from SPI flash + - LP: #888042 + * md: Fix handling for devices from 2TB to 4TB in 0.90 metadata. + - LP: #888042 + * net/9p: fix client code to fail more gracefully on protocol error + - LP: #888042 + * fs/9p: Fid is not valid after a failed clunk. + - LP: #888042 + * net/9p: Fix the msize calculation. + - LP: #888042 + * irda: fix smsc-ircc2 section mismatch warning + - LP: #888042 + * qla2xxx: Correct inadvertent loop state transitions during port-update + handling. + - LP: #888042 + * e1000: Fix driver to be used on PA RISC C8000 workstations + - LP: #888042 + * ASoC: Fix reporting of partial jack updates + - LP: #888042 + * ALSA: HDA: Cirrus - fix "Surround Speaker" volume control name + - LP: #888042 + * b43: Fix beacon problem in ad-hoc mode + - LP: #888042 + * wireless: Reset beacon_found while updating regulatory + - LP: #888042 + * USB: PL2303: correctly handle baudrates above 115200 + - LP: #888042 + * ASIX: Add AX88772B USB ID + - LP: #888042 + * hvc_console: Improve tty/console put_chars handling + - LP: #888042 + * TPM: Call tpm_transmit with correct size + - LP: #888042 + * TPM: Zero buffer after copying to userspace + - LP: #888042 + * libiscsi_tcp: fix LLD data allocation + - LP: #888042 + * cnic: Improve NETDEV_UP event handling + - LP: #888042 + * ALSA: hda/realtek - Avoid bogus HP-pin assignment + - LP: #888042 + * 3w-9xxx: fix iommu_iova leak + - LP: #888042 + * aacraid: reset should disable MSI interrupt + - LP: #888042 + * libsas: fix failure to revalidate domain for anything but the first + expander child. + - LP: #888042 + * cfg80211: Fix validation of AKM suites + - LP: #888042 + * libsas: fix panic when single phy is disabled on a wide port + - LP: #888042 + * ahci: Enable SB600 64bit DMA on Asus M3A + - LP: #888042 + * HID: usbhid: Add support for SiGma Micro chip + - LP: #888042 + * hwmon: (w83627ehf) Properly report thermal diode sensors + - LP: #888042 + * x25: Prevent skb overreads when checking call user data + - LP: #888042 + * staging: quatech_usb2: Potential lost wakeup scenario in TIOCMIWAIT + - LP: #888042 + * USB: qcserial: add device ID for "HP un2430 Mobile Broadband Module" + - LP: #888042 + * xhci-mem.c: Check for ring->first_seg != NULL + - LP: #888042 + * ipr: Always initiate hard reset in kdump kernel + - LP: #888042 + * libsas: set sas_address and device type of rphy + - LP: #888042 + * ALSA: HDA: Add new revision for ALC662 + - LP: #877373, #888042 + * x86: Fix compilation bug in kprobes' twobyte_is_boostable + - LP: #888042 + * epoll: fix spurious lockdep warnings + - LP: #888042 + * usbmon vs. tcpdump: fix dropped packet count + - LP: #888042 + * USB: storage: Use normalized sense when emulating autosense + - LP: #888042 + * USB: pid_ns: ensure pid is not freed during kill_pid_info_as_uid + - LP: #888042 + * usb: cdc-acm: Owen SI-30 support + - LP: #888042 + * USB: add RESET_RESUME for webcams shown to be quirky + - LP: #888042 + * USB: pl2303: add id for SMART device + - LP: #888042 + * USB: ftdi_sio: add PID for Sony Ericsson Urban + - LP: #888042 + * USB: ftdi_sio: Support TI/Luminary Micro Stellaris BD-ICDI Board + - LP: #888042 + * QE/FHCI: fixed the CONTROL bug + - LP: #888042 + * Update email address for stable patch submission + - LP: #888042 + * kobj_uevent: Ignore if some listeners cannot handle message + - LP: #888042 + * kmod: prevent kmod_loop_msg overflow in __request_module() + - LP: #888042 + * time: Change jiffies_to_clock_t() argument type to unsigned long + - LP: #888042 + * nfsd4: Remove check for a 32-bit cookie in nfsd4_readdir() + - LP: #888042 + * nfsd4: ignore WANT bits in open downgrade + - LP: #888042 + * ASoC: ak4642: fixup cache register table + - LP: #888042 + * ASoC: ak4535: fixup cache register table + - LP: #888042 + * KVM: s390: check cpu_id prior to using it + - LP: #888042 + * ccwgroup: move attributes to attribute group + - LP: #888042 + * iommu/amd: Fix wrong shift direction + - LP: #888042 + * carminefb: Fix module parameters permissions + - LP: #888042 + * uvcvideo: Set alternate setting 0 on resume if the bus has been reset + - LP: #888042 + * tuner_xc2028: Allow selection of the frequency adjustment code for + XC3028 + - LP: #888042 + * plat-mxc: iomux-v3.h: implicitly enable pull-up/down when that's + desired + - LP: #888042 + * um: fix ubd cow size + - LP: #888042 + * cfq: calculate the seek_mean per cfq_queue not per cfq_io_context + - LP: #888042 + * cfq: merge cooperating cfq_queues + - LP: #888042 + * cfq: change the meaning of the cfqq_coop flag + - LP: #888042 + * cfq: break apart merged cfqqs if they stop cooperating + - LP: #888042 + * cfq-iosched: get rid of the coop_preempt flag + - LP: #888042 + * cfq: Don't allow queue merges for queues that have no process + references + - LP: #888042 + * xen/timer: Missing IRQF_NO_SUSPEND in timer code broke suspend. + - LP: #888042 + * KVM: x86: Reset tsc_timestamp on TSC writes + - LP: #888042 + * watchdog: mtx1-wdt: fix build failure + - LP: #888042 + * kcore: fix test for end of list + - LP: #888042 + * thinkpad-acpi: module autoloading for newer Lenovo ThinkPads. + - LP: #888042 + * scm: lower SCM_MAX_FD + - LP: #888042 + * NLM: Don't hang forever on NLM unlock requests + - LP: #888042 + * ext4: fix BUG_ON() in ext4_ext_insert_extent() + - LP: #888042 + * drivers/net/rionet.c: fix ethernet address macros for LE platforms + - LP: #888042 + * ext2,ext3,ext4: don't inherit APPEND_FL or IMMUTABLE_FL for new inodes + - LP: #888042 + * USB: Serial: Add device ID for Sierra Wireless MC8305 + - LP: #888042 + * USB: Serial: Add PID(0xF7C0) to FTDI SIO driver for a + zeitcontrol-device + - LP: #888042 + * Linux 2.6.32.47 + - LP: #888042 + * Linux 2.6.32.48 + - LP: #888042 + * drm: radeon: fix sign bug + - LP: #888042 + * drm/radeon/kms: prefer high post dividers in legacy pll algo + - LP: #888042 + * Linux 2.6.32.48+drm33.21 + - LP: #888042 + * crypto: ghash - Avoid null pointer dereference if no key is set + - LP: #887299 + - CVE-2011-4081 + * xfs: Fix possible memory corruption in xfs_readlink, CVE-2011-4077 + - LP: #887298 + - CVE-2011-4077 + * jbd/jbd2: validate sb->s_first in journal_get_superblock() + - LP: #893148 + - CVE-2011-4132 + * hfs: add sanity check for file name length, CVE-2011-4330 + - LP: #894374 + - CVE-2011-4330 + * ipv6: udp: fix the wrong headroom check + - LP: #894373 + - CVE-2011-4326 + * st: fix race in st_scsi_execute_end + - LP: #897377 + * Make scsi_free_queue() kill pending SCSI commands + - LP: #897377 + * NFS/sunrpc: don't use a credential with extra groups. + - LP: #897377 + * netlink: validate NLA_MSECS length + - LP: #897377 + * mtd: mtdchar: add missing initializer on raw write + - LP: #897377 + * PM / Suspend: Off by one in pm_suspend() + - LP: #897377 + * kbuild: Disable -Wunused-but-set-variable for gcc 4.6.0 + - LP: #897377 + * ASoC: wm8940: Properly set codec->dapm.bias_level + - LP: #897377 + * md/raid5: abort any pending parity operations when array fails. + - LP: #897377 + * Remove the old V4L1 v4lgrab.c file + - LP: #897377 + * genirq: Add IRQF_RESUME_EARLY and resume such IRQs earlier + - LP: #897377 + * mm: avoid null pointer access in vm_struct via /proc/vmallocinfo + - LP: #897377 + * kbuild: Fix passing -Wno-* options to gcc 4.4+ + - LP: #897377 + * USB: serial: pl2303: rm duplicate id + - LP: #897377 + * USB: Fix Corruption issue in USB ftdi driver ftdi_sio.c + - LP: #897377 + * usb-storage: Accept 8020i-protocol commands longer than 12 bytes + - LP: #897377 + * USB: add quirk for Logitech C600 web cam + - LP: #897377 + * USB: quirks: adding more quirky webcams to avoid squeaky audio + - LP: #897377 + * Linux 2.6.32.49 + - LP: #897377 + + -- Brad Figg Wed, 30 Nov 2011 10:09:40 -0800 + +linux (2.6.32-36.79) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #887727 + + [ Upstream Kernel Changes ] + + * net_sched: Fix qdisc_notify() - CVE-2011-2525 + - LP: #869250 + - CVE-2011-2525 + * ipv6: restore correct ECN handling on TCP xmit + - LP: #872179 + * nl80211: fix overflow in ssid_len - CVE-2011-2517 + - LP: #869245 + - CVE-2011-2517 + * vm: fix vm_pgoff wrap in stack expansion - CVE-2011-2496 + - LP: #869243 + - CVE-2011-2496 + * vm: fix vm_pgoff wrap in upward expansion - CVE-2011-2496 + - LP: #869243 + - CVE-2011-2496 + * drm: mm: fix range restricted allocations + - LP: #873130 + * NLM: Don't hang forever on NLM unlock requests - CVE-2011-2491 + - LP: #869237 + - CVE-2011-2491 + + -- Herton Ronaldo Krzesinski Tue, 08 Nov 2011 17:20:39 -0200 + +linux (2.6.32-35.78) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #871899 + + [ Andrew Dickinson ] + + * SAUCE: sched: Prevent divide by zero when cpu_power is 0 + - LP: #614853 + + [ Stefan Bader ] + + * [Config] Force perf to use libiberty for demangling + - LP: #783660 + + [ Tim Gardner ] + + * [Config] Simplify binary-udebs dependencies + - LP: #832352 + * [Config] kernel preparation cannot be parallelized + - LP: #832352 + * [Config] Linearize module/abi checks + - LP: #832352 + * [Config] Linearize and simplify tree preparation rules + - LP: #832352 + * [Config] Build kernel image in parallel with modules + - LP: #832352 + * [Config] Set concurrency for kmake invocations + - LP: #832352 + * [Config] Improve install-arch-headers speed + - LP: #832352 + * [Config] Fix binary-perarch dependencies + - LP: #832352 + * [Config] Removed stamp-flavours target + - LP: #832352 + * [Config] Serialize binary indep targets + - LP: #832352 + * [Config] Use build stamp directly + - LP: #832352 + * [Config] Restore prepare-% target + - LP: #832352 + * [Config] Fix binary-% build target + * [Config] Fix install-headers target + - LP: #832352 + * SAUCE: igb: Protect stats update + - LP: #829566 + * SAUCE: rtl8192se spams log + - LP: #859702 + + [ Upstream Kernel Changes ] + + * Add mount option to check uid of device being mounted = expect uid, + CVE-2011-1833 + - LP: #732628 + - CVE-2011-1833 + * crypto: Move md5_transform to lib/md5.c + - LP: #827462 + * net: Compute protocol sequence numbers and fragment IDs using MD5. + - LP: #827462 + * ALSA: timer - Fix Oops at closing slave timer + - LP: #827462 + * ALSA: snd-usb-caiaq: Fix keymap for RigKontrol3 + - LP: #827462 + * powerpc: Fix device tree claim code + - LP: #827462 + * powerpc: pseries: Fix kexec on machines with more than 4TB of RAM + - LP: #827462 + * Linux 2.6.32.45+drm33.19 + - LP: #827462 + * ipv6: make fragment identifications less predictable, CVE-2011-2699 + - LP: #827685 + - CVE-2011-2699 + * tunnels: fix netns vs proto registration ordering + - LP: #823296 + * Fix broken backport for IPv6 tunnels in 2.6.32-longterm kernels. + * USB: xhci: fix OS want to own HC + - LP: #837669 + * USB: assign instead of equal in usbtmc.c + - LP: #837669 + * USB: usb-storage: unusual_devs entry for ARM V2M motherboard. + - LP: #837669 + * USB: Serial: Added device ID for Qualcomm Modem in Sagemcom's HiLo3G + - LP: #837669 + * atm: br2864: sent packets truncated in VC routed mode + - LP: #837669 + * hwmon: (ibmaem) add missing kfree + - LP: #837669 + * ALSA: snd-usb-caiaq: Correct offset fields of outbound iso_frame_desc + - LP: #837669 + * mm: fix wrong vmap address calculations with odd NR_CPUS values + - LP: #837669 + * perf tools: do not look at ./config for configuration + - LP: #837669 + * fs/partitions/efi.c: corrupted GUID partition tables can cause kernel + oops + - LP: #837669 + * befs: Validate length of long symbolic links. + - LP: #837669 + * ALSA: snd_usb_caiaq: track submitted output urbs + - LP: #837669 + * ALSA: ac97: Add HP Compaq dc5100 SFF(PT003AW) to Headphone Jack Sense + whitelist + - LP: #826081, #837669 + * futex: Fix regression with read only mappings + - LP: #837669 + * x86-32, vdso: On system call restart after SYSENTER, use int $0x80 + - LP: #837669 + * x86, UV: Remove UV delay in starting slave cpus + - LP: #837669 + * drm/ttm: fix ttm_bo_add_ttm(user) failure path + - LP: #837669 + * fuse: check size of FUSE_NOTIFY_INVAL_ENTRY message + - LP: #837669 + * igb: Fix lack of flush after register write and before delay + - LP: #837669 + * Linux 2.6.32.46 + - LP: #837669 + * cifs: fix possible memory corruption in CIFSFindNext, CVE-2011-3191 + - LP: #834135 + - CVE-2011-3191 + * Bluetooth: Prevent buffer overflow in l2cap config request, + CVE-2011-2497 + - LP: #838423 + - CVE-2011-2497 + * core: Fix memory leak/corruption on VLAN GRO_DROP, CVE-2011-1576 + - LP: #844361 + - CVE-2011-1576 + * ext4: Fix max file size and logical block counting of extent format + file, CVE-2011-2695 + - LP: #819574 + - CVE-2011-2695 + * drm/i915: prepare for fair lru eviction + - LP: #843904 + * drm/i915: Move the eviction logic to its own file. + - LP: #843904 + * drm/i915: Implement fair lru eviction across both rings. (v2) + - LP: #843904 + * drm/i915: Maintain LRU order of inactive objects upon access by CPU + (v2) + - LP: #843904 + * drm/i915/evict: Ensure we completely cleanup on failure + - LP: #843904 + * drm/i915: Periodically flush the active lists and requests + - LP: #843904 + * Make TASKSTATS require root access, CVE-2011-2494 + - LP: #866021 + - CVE-2011-2494 + * proc: fix a race in do_io_accounting(), CVE-2011-2495 + - LP: #866025 + - CVE-2011-2495 + * drm/i915: Remove BUG_ON from i915_gem_evict_something + - LP: #828550 + * drm/i915: Hold a reference to the object whilst unbinding the eviction + list + - LP: #843904 + * drm/i915: Fix refleak during eviction. + - LP: #843904 + * Linux 2.6.32.46+drm33.20 + + -- Herton Ronaldo Krzesinski Mon, 10 Oct 2011 14:12:26 -0300 + +linux (2.6.32-34.77) lucid-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #849228 + + [ Upstream Kernel Changes ] + + * Revert "drm/i915: Remove BUG_ON from i915_gem_evict_something" + * Revert "drm/i915: Periodically flush the active lists and requests" + * Revert "drm/i915/evict: Ensure we completely cleanup on failure" + * Revert "drm/i915: Maintain LRU order of inactive objects upon access by + CPU (v2)" + * Revert "drm/i915: Implement fair lru eviction across both rings. (v2)" + * Revert "drm/i915: Move the eviction logic to its own file." + * Revert "drm/i915: prepare for fair lru eviction" + + -- Steve Conklin Tue, 13 Sep 2011 13:04:10 -0500 + +linux (2.6.32-34.76) lucid-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #836914 + + [ Upstream Kernel Changes ] + + * Revert "drm/nv50-nvc0: work around an evo channel hang that some people + see" + * Revert "eCryptfs: Handle failed metadata read in lookup" + * Revert "tunnels: fix netns vs proto registration ordering" + + -- Steve Conklin Mon, 29 Aug 2011 13:06:52 -0500 + +linux (2.6.32-34.75) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #832332 + + [ Upstream Kernel Changes ] + + * drm/i915: Remove BUG_ON from i915_gem_evict_something + - LP: #828550 + + -- Herton Ronaldo Krzesinski Tue, 23 Aug 2011 17:35:23 -0300 + +linux (2.6.32-34.74) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #828375 + + [ Upstream Kernel Changes ] + + * proc: fix oops on invalid /proc//maps access, CVE-2011-1020 + - LP: #813026 + - CVE-2011-1020 + + -- Herton Ronaldo Krzesinski Wed, 17 Aug 2011 19:14:22 -0300 + +linux (2.6.32-34.73) lucid-proposed; urgency=low + + [Herton R. Krzesinski] + + * Release Tracking Bug + - LP: #824148 + + [ Tim Gardner ] + + * SAUCE: rtl8192se: Force a build for a 2.6/3.0 kernel + - LP: #805494 + * [Config] Add enic/fnic to udebs + - LP: #801610 + + [ Upstream Kernel Changes ] + + * tty: icount changeover for other main devices, CVE-2010-4076, + CVE-2010-4077 + - LP: #720189 + - CVE-2010-4077 + * fs/partitions/efi.c: corrupted GUID partition tables can cause kernel + oops + - LP: #795418 + - CVE-2011-1577 + * ftrace: Only update the function code on write to filter files + - LP: #802383 + * kmemleak: Do not return a pointer to an object that kmemleak did not + get + - LP: #802383 + * CPU hotplug, re-create sysfs directory and symlinks + - LP: #802383 + * Fix memory leak in cpufreq_stat + - LP: #802383 + * powerpc/kexec: Fix memory corruption from unallocated slaves + - LP: #802383 + * powerpc/oprofile: Handle events that raise an exception without + overflowing + - LP: #802383 + * mtd: mtdconcat: fix NAND OOB write + - LP: #802383 + * x86, 64-bit: Fix copy_[to/from]_user() checks for the userspace address + limit + - LP: #802383 + * ext3: Fix fs corruption when make_indexed_dir() fails + - LP: #802383 + * jbd: Fix forever sleeping process in do_get_write_access() + - LP: #802383 + * jbd: fix fsync() tid wraparound bug + - LP: #802383 + * ext4: release page cache in ext4_mb_load_buddy error path + - LP: #802383 + * Fix Ultrastor asm snippet + - LP: #802383 + * x86, amd: Do not enable ARAT feature on AMD processors below family + 0x12 + - LP: #802383 + * x86, amd: Use _safe() msr access for GartTlbWlk disable code + - LP: #802383 + * rcu: Fix unpaired rcu_irq_enter() from locking selftests + - LP: #802383 + * staging: usbip: fix wrong endian conversion + - LP: #802383 + * Fix for buffer overflow in ldm_frag_add not sufficient + - LP: #802383 + * seqlock: Don't smp_rmb in seqlock reader spin loop + - LP: #802383 + * ALSA: HDA: Use one dmic only for Dell Studio 1558 + - LP: #731706, #802383 + * ASoC: Ensure output PGA is enabled for line outputs in wm_hubs + - LP: #802383 + * ASoC: Add some missing volume update bit sets for wm_hubs devices + - LP: #802383 + * mm/page_alloc.c: prevent unending loop in __alloc_pages_slowpath() + - LP: #802383 + * loop: limit 'max_part' module param to DISK_MAX_PARTS + - LP: #802383 + * loop: handle on-demand devices correctly + - LP: #802383 + * USB: CP210x Add 4 Device IDs for AC-Services Devices + - LP: #802383 + * USB: moto_modem: Add USB identifier for the Motorola VE240. + - LP: #802383 + * USB: serial: ftdi_sio: adding support for TavIR STK500 + - LP: #802383 + * USB: gamin_gps: Fix for data transfer problems in native mode + - LP: #802383 + * usb/gadget: at91sam9g20 fix end point max packet size + - LP: #802383 + * usb: gadget: rndis: don't test against req->length + - LP: #802383 + * OHCI: fix regression caused by nVidia shutdown workaround + - LP: #802383 + * p54usb: add zoom 4410 usbid + - LP: #802383 + * eCryptfs: Allow 2 scatterlist entries for encrypted filenames + - LP: #802383 + * UBIFS: fix a rare memory leak in ro to rw remounting path + - LP: #802383 + * i8k: Avoid lahf in 64-bit code + - LP: #802383 + * cpuidle: menu: fixed wrapping timers at 4.294 seconds + - LP: #802383 + * dm table: reject devices without request fns + - LP: #802383 + * atm: expose ATM device index in sysfs + - LP: #802383 + * brd: limit 'max_part' module param to DISK_MAX_PARTS + - LP: #802383 + * brd: handle on-demand devices correctly + - LP: #802383 + * SUNRPC: Deal with the lack of a SYN_SENT sk->sk_state_change + callback... + - LP: #802383 + * PCI: Add quirk for setting valid class for TI816X Endpoint + - LP: #802383 + * xen mmu: fix a race window causing leave_mm BUG() + - LP: #802383 + * netfilter: nf_conntrack_reasm: properly handle packets fragmented into + a single fragment + - LP: #802383 + * fix memory leak in scsi_report_lun_scan + - LP: #802383 + * fix refcounting bug in scsi_get_host_dev + - LP: #802383 + * fix duplicate removal on error path in scsi_sysfs_add_sdev + - LP: #802383 + * UBIFS: fix shrinker object count reports + - LP: #802383 + * UBIFS: fix memory leak on error path + - LP: #802383 + * nbd: limit module parameters to a sane value + - LP: #802383 + * mm: fix ENOSPC returned by handle_mm_fault() + - LP: #802383 + * PCI: Set PCIE maxpayload for card during hotplug insertion + - LP: #802383 + * nl80211: fix check for valid SSID size in scan operations + - LP: #802383 + * lockdep: Fix lock_is_held() on recursion + - LP: #802383 + * drm/i915: Add a no lvds quirk for the Asus EeeBox PC EB1007 + - LP: #802383 + * drm/radeon/kms: fix for radeon on systems >4GB without hardware iommu + - LP: #802383 + * fat: Fix corrupt inode flags when remove ATTR_SYS flag + - LP: #802383 + * xen: off by one errors in multicalls.c + - LP: #802383 + * x86/amd-iommu: Fix 3 possible endless loops + - LP: #802383 + * USB: cdc-acm: Adding second ACM channel support for Nokia E7 and C7 + - LP: #802383 + * USB: core: Tolerate protocol stall during hub and port status read + - LP: #802383 + * USB: serial: add another 4N-GALAXY.DE PID to ftdi_sio driver + - LP: #802383 + * ALSA: hda: Fix quirk for Dell Inspiron 910 + - LP: #792712, #802383 + * oprofile, dcookies: Fix possible circular locking dependency + - LP: #802383 + * CPUFREQ: Remove cpufreq_stats sysfs entries on module unload. + - LP: #802383 + * md: check ->hot_remove_disk when removing disk + - LP: #802383 + * md/raid5: fix raid5_set_bi_hw_segments + - LP: #802383 + * md/raid5: fix FUA request handling in ops_run_io() + - LP: #802383 + * ata: use pci_dev->revision + - LP: #802383 + * pata_cmd64x: fix PIO setup + - LP: #802383 + * pata_cmd64x: cmd648_bmdma_stop() fix + - LP: #802383 + * pata_cmd64x: remove unused definitions + - LP: #802383 + * pata_cm64x: fix boot crash on parisc + - LP: #802383 + * ACPI: use _HID when supplied by root-level devices + - LP: #802383 + * xfs: properly account for reclaimed inodes + - LP: #802383 + * exec: delay address limit change until point of no return + - LP: #802383 + * netfilter: IPv6: initialize TOS field in REJECT target module + - LP: #802383 + * netfilter: IPv6: fix DSCP mangle code + - LP: #802383 + * genirq: Add IRQF_FORCE_RESUME + - LP: #802383 + * xen: Use IRQF_FORCE_RESUME + - LP: #802383 + * time: Compensate for rounding on odd-frequency clocksources + - LP: #802383 + * Linux 2.6.32.42 + - LP: #802383 + * taskstats: don't allow duplicate entries in listener mode, + CVE-2011-2484 + - LP: #806390 + - CVE-2011-2484 + * drm_mm: extract check_free_mm_node + - LP: #599017, #807508 + * drm: implement helper functions for scanning lru list + - LP: #599017, #807508 + * drm/i915: prepare for fair lru eviction + - LP: #599017, #807508 + * drm/i915: Move the eviction logic to its own file. + - LP: #599017, #807508 + * drm/i915: Implement fair lru eviction across both rings. (v2) + - LP: #599017, #807508 + * drm/i915: Maintain LRU order of inactive objects upon access by CPU + (v2) + - LP: #599017, #807508 + * drm/i915/evict: Ensure we completely cleanup on failure + - LP: #599017, #807508 + * drm/i915: Periodically flush the active lists and requests + - LP: #599017, #807508 + * Linux 2.6.32.42+drm33.19 + - LP: #807508 + * net: add limit for socket backlog CVE-2010-4251 + - LP: #807462 + * tcp: use limited socket backlog CVE-2010-4251 + - LP: #807462 + * ipv6: udp: Optimise multicast reception + - LP: #807462 + * ipv4: udp: Optimise multicast reception + - LP: #807462 + * udp: multicast RX should increment SNMP/sk_drops counter in allocation + failures CVE-2010-4251 + - LP: #807462 + * udp: use limited socket backlog CVE-2010-4251 + - LP: #807462 + * llc: use limited socket backlog CVE-2010-4251 + - LP: #807462 + * sctp: use limited socket backlog CVE-2010-4251 + - LP: #807462 + * tipc: use limited socket backlog CVE-2010-4251 + - LP: #807462 + * x25: use limited socket backlog CVE-2010-4251 + - LP: #807462 + * net: backlog functions rename CVE-2010-4251 + - LP: #807462 + * net: sk_add_backlog() take rmem_alloc into account CVE-2010-4805 + - LP: #809318 + * ksm: fix NULL pointer dereference in scan_get_next_rmap_item() + - LP: #810425 + * migrate: don't account swapcache as shmem + - LP: #810425 + * clocksource: Make watchdog robust vs. interruption + - LP: #810425 + * TTY: ldisc, do not close until there are readers + - LP: #810425 + * xhci: Reject double add of active endpoints. + - LP: #810425 + * PM: Free memory bitmaps if opening /dev/snapshot fails + - LP: #810425 + * ath5k: fix memory leak when fewer than N_PD_CURVES are in use + - LP: #810425 + * mm: fix negative commitlimit when gigantic hugepages are allocated + - LP: #810425 + * uvcvideo: Remove buffers from the queues when freeing + - LP: #810425 + * watchdog: mtx1-wdt: request gpio before using it + - LP: #810425 + * debugobjects: Fix boot crash when kmemleak and debugobjects enabled + - LP: #810425 + * cfq-iosched: fix locking around ioc->ioc_data assignment + - LP: #810425 + * cfq-iosched: fix a rcu warning + - LP: #810425 + * i2c-taos-evm: Fix log messages + - LP: #810425 + * md: avoid endless recovery loop when waiting for fail device to + complete. + - LP: #810425 + * SUNRPC: Ensure the RPC client only quits on fatal signals + - LP: #810425 + * 6pack,mkiss: fix lock inconsistency + - LP: #810425 + * USB: don't let errors prevent system sleep + - LP: #810425 + * USB: don't let the hub driver prevent system sleep + - LP: #810425 + * uml: fix CONFIG_STATIC_LINK=y build failure with newer glibc + - LP: #810425 + * um: os-linux/mem.c needs sys/stat.h + - LP: #810425 + * inet_diag: fix inet_diag_bc_audit() + - LP: #810425 + * PM / Hibernate: Avoid hitting OOM during preallocation of memory + - LP: #810425 + * PM / Hibernate: Fix free_unnecessary_pages() + - LP: #810425 + * bug.h: Add WARN_RATELIMIT + - LP: #810425 + * net: filter: Use WARN_RATELIMIT + - LP: #810425 + * af_packet: prevent information leak + - LP: #810425 + * net/ipv4: Check for mistakenly passed in non-IPv4 address + - LP: #810425 + * ipv6/udp: Use the correct variable to determine non-blocking condition + - LP: #810425 + * udp/recvmsg: Clear MSG_TRUNC flag when starting over for a new packet + - LP: #810425 + * mm: prevent concurrent unmap_mapping_range() on the same inode + - LP: #810425 + * xen: set max_pfn_mapped to the last pfn mapped + - LP: #810425 + * xen: partially revert "xen: set max_pfn_mapped to the last pfn mapped" + - LP: #810425 + * Linux 2.6.32.43 + - LP: #810425 + * eCryptfs: Handle failed metadata read in lookup + - LP: #509180 + * pagemap: close races with suid execve, CVE-2011-1020 + - LP: #813026 + - CVE-2011-1020 + * report errors in /proc/*/*map* sanely, CVE-2011-1020 + - LP: #813026 + - CVE-2011-1020 + * close race in /proc/*/environ, CVE-2011-1020 + - LP: #813026 + - CVE-2011-1020 + * auxv: require the target to be tracable (or yourself), CVE-2011-1020 + - LP: #813026 + - CVE-2011-1020 + * deal with races in /proc/*/{syscall, stack, personality}, CVE-2011-1020 + - LP: #813026 + - CVE-2011-1020 + * rose_loopback_timer sets VC number <= ROSE_DEFAULT_MAXVC, CVE-2011-1493 + - LP: #816550 + - CVE-2011-1493 + * rose: Add length checks to CALL_REQUEST parsing, CVE-2011-1493 + - LP: #816550 + - CVE-2011-1493 + * Bluetooth: l2cap and rfcomm: fix 1 byte infoleak to userspace. + - LP: #819569 + - CVE-2011-2492 + * drm/nv50-nvc0: work around an evo channel hang that some people see + - LP: #583760 + * ASoC: Fix Blackfin I2S _pointer() implementation return in bounds + values + - LP: #823296 + * v4l2-ioctl.c: prefill tuner type for g_frequency and g/s_tuner + - LP: #823296 + * pvrusb2: fix g/s_tuner support + - LP: #823296 + * bttv: fix s_tuner for radio + - LP: #823296 + * gro: Only reset frag0 when skb can be pulled + - LP: #823296 + * NFSv4.1: update nfs4_fattr_bitmap_maxsz + - LP: #823296 + * SUNRPC: Fix a race between work-queue and rpc_killall_tasks + - LP: #823296 + * SUNRPC: Fix use of static variable in rpcb_getport_async + - LP: #823296 + * si4713-i2c: avoid potential buffer overflow on si4713 + - LP: #823296 + * hwmon: (max1111) Fix race condition causing NULL pointer exception + - LP: #823296 + * bridge: send proper message_age in config BPDU + - LP: #823296 + * davinci: DM365 EVM: fix video input mux bits + - LP: #823296 + * libata: fix unexpectedly frozen port after ata_eh_reset() + - LP: #823296 + * x86: Make Dell Latitude E5420 use reboot=pci + - LP: #823296 + * USB: pl2303: add AdLink ND-6530 USB IDs + - LP: #823296 + * USB: pl2303.h: checkpatch cleanups + - LP: #823296 + * USB: serial: add IDs for WinChipHead USB->RS232 adapter + - LP: #823296 + * staging: comedi: fix infoleak to userspace + - LP: #823296 + * USB: OHCI: fix another regression for NVIDIA controllers + - LP: #823296 + * usb: musb: restore INDEX register in resume path + - LP: #823296 + * USB: dummy-hcd needs the has_tt flag + - LP: #823296 + * ARM: pxa/cm-x300: fix V3020 RTC functionality + - LP: #823296 + * jme: Fix unmap error (Causing system freeze) + - LP: #823296 + * libsas: remove expander from dev list on error + - LP: #823296 + * mac80211: Restart STA timers only on associated state + - LP: #823296 + * Blacklist Traxdata CDR4120 and IOMEGA Zip drive to avoid lock ups. + - LP: #823296 + * ses: requesting a fault indication + - LP: #823296 + * pmcraid: reject negative request size + - LP: #823296 + * kexec, x86: Fix incorrect jump back address if not preserving context + - LP: #823296 + * powerpc/kdump: Fix timeout in crash_kexec_wait_realmode + - LP: #823296 + * PCI: ARI is a PCIe v2 feature + - LP: #823296 + * cciss: do not attempt to read from a write-only register + - LP: #823296 + * xtensa: prevent arbitrary read in ptrace + - LP: #823296 + * ext3: Fix oops in ext3_try_to_allocate_with_rsv() + - LP: #823296 + * svcrpc: fix list-corrupting race on nfsd shutdown + - LP: #823296 + * EHCI: only power off port if over-current is active + - LP: #823296 + * EHCI: fix direction handling for interrupt data toggles + - LP: #823296 + * powerpc/pseries/hvconsole: Fix dropped console output + - LP: #823296 + * x86: Hpet: Avoid the comparator readback penalty + - LP: #823296 + * x86: HPET: Chose a paranoid safe value for the ETIME check + - LP: #823296 + * cifs: clean up cifs_find_smb_ses (try #2) + - LP: #823296 + * cifs: fix NULL pointer dereference in cifs_find_smb_ses + - LP: #823296 + * cifs: check for NULL session password + - LP: #823296 + * gre: fix netns vs proto registration ordering + - LP: #823296 + * netns xfrm: fixup xfrm6_tunnel error propagation + - LP: #823296 + * tunnels: fix netns vs proto registration ordering + - LP: #823296 + * alpha: fix several security issues + - LP: #823296 + * proc: restrict access to /proc/PID/io + - LP: #823296 + * ALSA: sound/core/pcm_compat.c: adjust array index + - LP: #823296 + * dm mpath: fix potential NULL pointer in feature arg processing + - LP: #823296 + * dm: fix idr leak on module removal + - LP: #823296 + * perf: overflow/perf_count_sw_cpu_clock crashes recent kernels + - LP: #823296 + * atm: [br2684] allow routed mode operation again + - LP: #823296 + * Linux 2.6.32.44 + - LP: #823296 + + -- Herton Ronaldo Krzesinski Wed, 10 Aug 2011 16:52:10 -0300 + +linux (2.6.32-33.72) lucid-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #818196 + + [ Upstream Kernel Changes ] + + * Revert "fix oops in scsi_run_queue()" + - LP: #811745 + * Revert "put stricter guards on queue dead checks" + - LP: #811745 + + -- Steve Conklin Fri, 29 Jul 2011 12:33:46 -0500 + +linux (2.6.32-33.71) lucid-proposed; urgency=low + + [Andy Whitcroft] + + * Release Tracking Bug + - LP: #813507 + + [ Upstream Kernel Changes ] + + * splice: direct_splice_actor() should not use pos in sd + - LP: #588861 + + -- Andy Whitcroft Wed, 20 Jul 2011 14:31:11 +0100 + +linux (2.6.32-33.70) lucid-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #807175 + + [ Upstream Kernel Changes ] + + * Revert "x86: Flush TLB if PGD entry is changed in i386 PAE mode" + - LP: #805209 + + -- Steve Conklin Thu, 07 Jul 2011 14:08:13 -0500 + +linux (2.6.32-33.69) lucid-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #802554 + + [ Upstream Kernel Changes ] + + * Revert "af_unix: Only allow recv on connected seqpacket sockets." + + -- Steve Conklin Wed, 22 Jun 2011 10:53:16 -0500 + +linux (2.6.32-33.68) lucid-proposed; urgency=low + + [ Steve Conklin ] + + * Release Tracking Bug + - LP: #798305 + * Fix abi directory + + -- Steve Conklin Fri, 17 Jun 2011 09:41:35 -0500 + +linux (2.6.32-33.67) lucid-proposed; urgency=low + + [ Upstream Kernel Changes ] + + * Revert "iwlagn: Support new 5000 microcode." + + -- Steve Conklin Thu, 16 Jun 2011 10:51:45 -0500 + +linux (2.6.32-33.66) lucid-proposed; urgency=low + + [ Brad Figg ] + + * Release Tracking Bug + - LP: #794098 + + [ Upstream Kernel Changes ] + + * Revert "xhci: Fix full speed bInterval encoding." + * Revert "USB: xhci - fix math in xhci_get_endpoint_interval()" + * Revert "USB: xhci - fix unsafe macro definitions" + + -- Brad Figg Tue, 07 Jun 2011 08:06:27 -0700 + +linux (2.6.32-33.65) lucid-proposed; urgency=low + + [ Upstream Kernel Changes ] + + * xhci: Fix full speed bInterval encoding. + - LP: #792959 + + -- Steve Conklin Sat, 04 Jun 2011 18:41:10 -0500 + +linux (2.6.32-33.64) lucid-proposed; urgency=low + + [ Herton R. Krzesinski ] + + * Release Tracking Bug + - LP: #789325 + + [ Leann Ogasawara ] + + * SAUCE: (no-up) Fix up KVM: VMX: Fix host userspace gsbase corruption + - LP: #787675 + + [ Thomas Schlichter ] + + * SAUCE: vesafb: mtrr module parameter is uint, not bool + - LP: #778043 + + [ Tim Gardner ] + + * Revert "(pre-stable): input: Support Clickpad devices in ClickZone + mode" + - LP: #780588 + + [ Upstream Kernel Changes ] + + * Revert "GFS2: Fix writing to non-page aligned gfs2_quota structures" + - LP: #780588 + * Revert "mmc: build fix: mmc_pm_notify is only available with + CONFIG_PM=y" + - LP: #780588 + * Revert "mmc: fix all hangs related to mmc/sd card insert/removal during + suspend/resume" + - LP: #780588 + * Revert "econet: fix CVE-2010-3848" + - LP: #780588 + * Revert "dell-laptop: Add another Dell laptop family to the DMI + whitelist" + - LP: #780588 + * Revert "dell-laptop: Add another Dell laptop family to the DMI + whitelist" + - LP: #780588 + * Revert "xen: set max_pfn_mapped to the last pfn mapped" + * cifs: always do is_path_accessible check in cifs_mount + - LP: #770050 + * video: sn9c102: world-wirtable sysfs files + - LP: #770050 + * UBIFS: restrict world-writable debugfs files + - LP: #770050 + * NET: cdc-phonet, handle empty phonet header + - LP: #770050 + * x86: Fix a bogus unwind annotation in lib/semaphore_32.S + - LP: #770050 + * tioca: Fix assignment from incompatible pointer warnings + - LP: #770050 + * mca.c: Fix cast from integer to pointer warning + - LP: #770050 + * ramfs: fix memleak on no-mmu arch + - LP: #770050 + * MAINTAINERS: update STABLE BRANCH info + - LP: #770050 + * UBIFS: fix oops when R/O file-system is fsync'ed + - LP: #770050 + * x86, cpu: AMD errata checking framework + - LP: #770050 + * x86, cpu: Clean up AMD erratum 400 workaround + - LP: #770050 + * x86, AMD: Set ARAT feature on AMD processors + - LP: #770050 + * x86, amd: Disable GartTlbWlkErr when BIOS forgets it + - LP: #770050 + * USB: ftdi_sio: Added IDs for CTI USB Serial Devices + - LP: #770050 + * USB: ftdi_sio: add PID for OCT DK201 docking station + - LP: #770050 + * USB: ftdi_sio: add ids for Hameg HO720 and HO730 + - LP: #770050 + * USB: option: Add new ONDA vendor id and product id for ONDA MT825UP + - LP: #770050 + * USB: option: Added support for Samsung GT-B3730/GT-B3710 LTE USB modem. + - LP: #770050 + * next_pidmap: fix overflow condition + - LP: #770050 + * proc: do proper range check on readdir offset + - LP: #770050 + * USB: EHCI: unlink unused QHs when the controller is stopped + - LP: #770050 + * USB: fix formatting of SuperSpeed endpoints in /proc/bus/usb/devices + - LP: #770050 + * USB: xhci - fix unsafe macro definitions + - LP: #770050 + * USB: xhci - fix math in xhci_get_endpoint_interval() + - LP: #770050 + * x86, cpu: Fix regression in AMD errata checking code + - LP: #770050 + * Linux 2.6.32.39 + - LP: #770050 + * fs/partitions/ldm.c: fix oops caused by corrupted partition table, + CVE-2011-1017 + - LP: #771382 + - CVE-2011-1017 + * drm/i915: set DIDL using the ACPI video output device _ADR method + return. + - LP: #775547 + * drm/radeon/kms: MC vram map needs to be >= pci aperture size + - LP: #775547 + * drm/radeon/kms: make sure blit addr masks are 64 bit + - LP: #775547 + * drm/radeon/kms: fix handling of tex lookup disable in cs checker on + r2xx + - LP: #775547 + * drm/i915: Free hardware status page on unload when physically mapped + - LP: #775547 + * drm/i915/overlay: Ensure that the reg_bo is in the GTT prior to + writing. + - LP: #775547 + * drm/radeon/kms/atom: set sane defaults in atombios_get_encoder_mode() + - LP: #775547 + * drm/radeon/kms: fix typos in disabled vbios code + - LP: #775547 + * drm/radeon/kms: add workaround for dce3 ddc line vbios bug + - LP: #775547 + * drm/radeon/kms: fix interlaced and doublescan handling + - LP: #775547 + * drm/i915/sdvo: Always add a 30ms delay to make SDVO TV detection + reliable + - LP: #775547 + * drm/radeon/kms: don't apply 7xx HDP flush workaround on AGP + - LP: #775547 + * drm/ttm: Fix two race conditions + fix busy codepaths + - LP: #775547 + * drm/i915: overlay on gen2 can't address above 1G + - LP: #775547 + * drm/i915: fix memory corruption with GM965 and >4GB RAM + - LP: #775547 + * drm/radeon: add quirk to make HP nx6125 laptop resume. + - LP: #775547 + * drm/radeon/kms: add quirk to make HP DV5000 laptop resume + - LP: #775547 + * ath: add missing regdomain pair 0x5c mapping + - LP: #780588 + * block, blk-sysfs: Fix an err return path in blk_register_queue() + - LP: #780588 + * p54: Initialize extra_len in p54_tx_80211 + - LP: #780588 + * intel-iommu: Unlink domain from iommu + - LP: #780588 + * intel-iommu: Fix get_domain_for_dev() error path + - LP: #780588 + * NFS: nfs_wcc_update_inode() should set nfsi->attr_gencount + - LP: #780588 + * serial/imx: read cts state only after acking cts change irq + - LP: #780588 + * ASoC: Fix output PGA enabling in wm_hubs CODECs + - LP: #780588 + * kconfig: Avoid buffer underrun in choice input + - LP: #780588 + * UBIFS: fix master node recovery + - LP: #780588 + * Remove extra struct page member from the buffer info structure + - LP: #780588 + * dasd: correct device table + - LP: #780588 + * iwlagn: Support new 5000 microcode. + - LP: #780588 + * atl1c: duplicate atl1c_get_tpd + - LP: #780588 + * udp: Fix bogus UFO packet generation + - LP: #780588 + * slub: fix panic with DISCONTIGMEM + - LP: #780588 + * set memory ranges in N_NORMAL_MEMORY when onlined + - LP: #780588 + * FLEXCOP-PCI: fix __xlate_proc_name-warning for flexcop-pci + - LP: #780588 + * m68k/mm: Set all online nodes in N_NORMAL_MEMORY + - LP: #780588 + * nfs: don't lose MS_SYNCHRONOUS on remount of noac mount + - LP: #780588 + * NFSv4.1: Ensure state manager thread dies on last umount + - LP: #780588 + * agp: fix arbitrary kernel memory writes + - LP: #780588 + * agp: fix OOM and buffer overflow + - LP: #780588 + * Input: xen-kbdfront - fix mouse getting stuck after save/restore + - LP: #780588 + * pmcraid: reject negative request size + - LP: #780588 + * mpt2sas: prevent heap overflows and unchecked reads + - LP: #780588 + * put stricter guards on queue dead checks + - LP: #780588 + * mmc: sdhci-pci: Fix error case in sdhci_pci_probe_slot() + - LP: #780588 + * mmc: sdhci: Check mrq->cmd in sdhci_tasklet_finish + - LP: #780588 + * mmc: sdhci: Check mrq != NULL in sdhci_tasklet_finish + - LP: #780588 + * USB: fix regression in usbip by setting has_tt flag + - LP: #780588 + * af_unix: Only allow recv on connected seqpacket sockets. + - LP: #780588 + * ARM: 6891/1: prevent heap corruption in OABI semtimedop + - LP: #780588 + * i8k: Tell gcc that *regs gets clobbered + - LP: #780588 + * Fix gcc 4.5.1 miscompiling drivers/char/i8k.c (again) + - LP: #780588 + * Open with O_CREAT flag set fails to open existing files on non writable + directories + - LP: #780588 + * can: Add missing socket check in can/bcm release. + - LP: #780588 + * netxen: module firmware hints + - LP: #780588 + * bnx2x: declare MODULE_FIRMWARE + - LP: #780588 + * cxgb3: declare MODULE_FIRMWARE + - LP: #780588 + * myri10ge: declare MODULE_FIRMWARE + - LP: #780588 + * netx: declare MODULE_FIRMWARE + - LP: #780588 + * pcnet-cs: declare MODULE_FIRMWARE + - LP: #780588 + * spider-net: declare MODULE_FIRMWARE + - LP: #780588 + * tms380tr: declare MODULE_FIRMWARE + - LP: #780588 + * Input: Add support of Synaptics Clickpad device + - LP: #780588 + * Input: elantech - do not advertise relative events + - LP: #780588 + * Input: elantech - fix firmware version check + - LP: #780588 + * Input: elantech - allow forcing Elantech protocol + - LP: #780588 + * Input: elantech - ignore high bits in the position coordinates + - LP: #780588 + * Input: elantech - use all 3 bytes when checking version + - LP: #780588 + * Input: elantech - relax signature checks + - LP: #780588 + * Input: elantech - discard the first 2 positions on some firmwares + - LP: #780588 + * Staging: rtl8192su: check for skb == NULL + - LP: #780588 + * Staging: rtl8192su: Clean up in case of an error in module + initialisation + - LP: #780588 + * Staging: rtl8192su: Fix procfs code for interfaces not named wlan0 + - LP: #780588 + * Staging: rtl8192su: remove device ids + - LP: #780588 + * Staging: rtl8192su: add device ids + - LP: #780588 + * USB: retain USB device power/wakeup setting across reconfiguration + - LP: #780588 + * USB: don't enable remote wakeup by default + - LP: #780588 + * USB: teach "devices" file about Wireless and SuperSpeed USB + - LP: #780588 + * GFS2: Clean up gfs2_adjust_quota() and do_glock() + - LP: #780588 + * GFS2: Fix writing to non-page aligned gfs2_quota structures + - LP: #780588 + * GFS2: BUG in gfs2_adjust_quota + - LP: #780588 + * SUNRPC: fix NFS client over TCP hangs due to packet loss (Bug 16494) + - LP: #780588 + * nfs4: Ensure that ACL pages sent over NFS were not allocated from the + slab (v3) + - LP: #780588 + * nfs: fix compilation warning + - LP: #780588 + * Fix corrupted OSF partition table parsing + - LP: #780588 + * Increase OSF partition limit from 8 to 18 + - LP: #780588 + * Please add support for Microsoft MN-120 PCMCIA network card + - LP: #780588 + * hwmon: (applesmc) Add iMac9,1 and MacBookPro2,2 support + - LP: #780588 + * hwmon: (applesmc) Add support for MacBook Pro 5,3 and 5,4 + - LP: #780588 + * hwmon: (applesmc) Add generic support for MacBook Pro 6 + - LP: #780588 + * hwmon: (applesmc) Add generic support for MacBook Pro 7 + - LP: #780588 + * hwmon: (applesmc) Add MacBookAir3,1(3,2) support + - LP: #780588 + * ALSA: emux: Add trivial compat ioctl handler + - LP: #780588 + * ALSA: powermac - Reverse HP detection on G4 DA + - LP: #780588 + * ALSA: powermac - Lineout detection on G4 DA + - LP: #780588 + * ALSA: hda - Add support for the new 27 inch IMacs + - LP: #780588 + * ALSA: hda - MacBookPro 5,3 line-in support + - LP: #780588 + * ALSA: hda - Add model=mbp55 entry for MacBookPro 7,1 + - LP: #780588 + * ALSA: hda - MacBookAir3,1(3,2) alsa support + - LP: #780588 + * virtio_net: fix oom handling on tx + - LP: #780588 + * mac80211: Add define for TX headroom reserved by mac80211 itself. + - LP: #780588 + * rt2x00: Centralize setting of extra TX headroom requested by rt2x00. + - LP: #780588 + * rt2x00: Properly request tx headroom for alignment operations. + - LP: #780588 + * rt2x00: use correct headroom for transmission + - LP: #780588 + * Bluetooth: Add support Bluetooth controller of MacbookPro 6,2 + - LP: #780588 + * Bluetooth: Add support Bluetooth controller of MacbookPro 7,1 + - LP: #780588 + * Bluetooth: Add MacBookAir3,1(2) support + - LP: #780588 + * perf tools: Display better error messages on missing packages + - LP: #780588 + * perf tools: Add 'make DEBUG=1' to remove the -O6 cflag + - LP: #780588 + * perf tools: Test -fstack-protector-all compiler option for inclusion in + CFLAGS + - LP: #780588 + * perf tools: Support static build + - LP: #780588 + * perf tools: Add V=2 option to help debug config issues + - LP: #780588 + * perf tools: Suggest static libraries as well + - LP: #780588 + * perf: Use default compiler mode by default + - LP: #780588 + * perf tools: Move QUIET_STDERR def to before first use + - LP: #780588 + * perf tools: Check if /dev/null can be used as the -o gcc argument + - LP: #780588 + * perf symbols: allow forcing use of cplus_demangle + - LP: #780588 + * V4L/DVB: Add Elgato EyeTV Diversity to dibcom driver + - LP: #780588 + * mmc: fix all hangs related to mmc/sd card insert/removal during + suspend/resume + - LP: #780588 + * mmc: build fix: mmc_pm_notify is only available with CONFIG_PM=y + - LP: #780588 + * b43: Fix warning at drivers/mmc/core/core.c:237 in mmc_wait_for_cmd + - LP: #780588 + * econet: Fix redeclaration of symbol len + - LP: #780588 + * econet: fix CVE-2010-3848 + - LP: #780588 + * dell-laptop: Add another Dell laptop to the DMI whitelist + - LP: #780588 + * dell-laptop: Add another Dell laptop family to the DMI whitelist + - LP: #780588 + * scsi_dh_emc: fix mode select request setup + - LP: #780588 + * scsi_dh_emc: request flag cleanup + - LP: #780588 + * cifs: fix another memleak, in cifs_root_iget + - LP: #780588 + * e1000e: Reset 82577/82578 PHY before first PHY register read + - LP: #780588 + * e1000: fix Tx hangs by disabling 64-bit DMA + - LP: #780588 + * btrfs: Require CAP_SYS_ADMIN for filesystem rebalance + - LP: #780588 + * af_unix: limit recursion level + - LP: #780588 + * init, sched: Fix race between init and kthreadd + - LP: #780588 + * backlight: MacBookAir3,1(3,2) mbp-nvidia-bl support + - LP: #780588 + * bonding: Ensure that we unshare skbs prior to calling pskb_may_pull + - LP: #780588 + * HID: add MacBookAir 3,1 and 3,2 support + - LP: #780588 + * intel-iommu: Force-disable IOMMU for iGFX on broken Cantiga revisions. + - LP: #780588 + * ipg: Remove device claimed by dl2k from pci id table + - LP: #780588 + * ipv6: Silence privacy extensions initialization + - LP: #780588 + * l2tp: Fix UDP socket reference count bugs in the pppol2tp driver + - LP: #780588 + * MIPS: DMA: Fix computation of DMA flags from device's + coherent_dma_mask. + - LP: #780588 + * mpt2sas: fix the incorrect scsi_dma_map error checking + - LP: #780588 + * Phonet: device notifier only runs on initial namespace + - LP: #780588 + * powerpc/boot/dts: Install dts from the right directory + - LP: #780588 + * rt2500usb: fallback to SW encryption for TKIP+AES + - LP: #780588 + * sata_via: Delay on vt6420 when starting ATAPI DMA write + - LP: #780588 + * tehuti: Firmware filename is tehuti/bdx.bin + - LP: #780588 + * wireless: b43: fix error path in SDIO + - LP: #780588 + * libata: set queue DMA alignment to sector size for ATAPI too + - LP: #780588 + * usb: musb: core: set has_tt flag + - LP: #780588 + * iwlwifi: fix skb usage after free + - LP: #780588 + * can: add missing socket check in can/raw release + - LP: #780588 + * fix oops in scsi_run_queue() + - LP: #780588 + * Linux 2.6.32.40 + - LP: #780588 + * PCI: allow matching of prefetchable resources to non-prefetchable + windows + - LP: #424142 + * cifs: check for bytes_remaining going to zero in CIFS_SessSetup + - LP: #788602 + * Validate size of EFI GUID partition entries. + - LP: #788602 + * dccp: handle invalid feature options length + - LP: #788602 + * CIFS: Fix memory over bound bug in cifs_parse_mount_options + - LP: #788602 + * Fix time() inconsistencies caused by intermediate xtime_cache values + being read + - LP: #788602 + * ehea: fix wrongly reported speed and port + - LP: #788602 + * NET: slip, fix ldisc->open retval + - LP: #788602 + * ne-h8300: Fix regression caused during net_device_ops conversion + - LP: #788602 + * hydra: Fix regression caused during net_device_ops conversion + - LP: #788602 + * libertas: fix cmdpendingq locking + - LP: #788602 + * zorro8390: Fix regression caused during net_device_ops conversion + - LP: #788602 + * cifs: add fallback in is_path_accessible for old servers + - LP: #788602 + * x86, AMD: Fix ARAT feature setting again + - LP: #788602 + * clocksource: Install completely before selecting + - LP: #788602 + * tick: Clear broadcast active bit when switching to oneshot + - LP: #788602 + * x86, apic: Fix spurious error interrupts triggering on all non-boot APs + - LP: #788602 + * x86, mce, AMD: Fix leaving freed data in a list + - LP: #788602 + * megaraid_sas: Sanity check user supplied length before passing it to + dma_alloc_coherent() + - LP: #788602 + * vmxnet3: Fix inconsistent LRO state after initialization + - LP: #788602 + * netxen: Remove references to unified firmware file + - LP: #788602 + * Linux 2.6.32.41 + - LP: #788602 + * drm/radeon/kms: fix bad shift in atom iio table parser + - LP: #788602 + * Linux 2.6.32.41+drm33.18 + - LP: #788602 + + -- Steve Conklin Tue, 31 May 2011 13:22:59 -0500 + +linux (2.6.32-32.62) lucid-proposed; urgency=low + + [ Brad Figg ] + + * Release Tracking Bug + - LP: #767370 + + [ Stefan Bader ] + + * (config) Disable CONFIG_NET_NS + - LP: #720095 + + [ Upstream Kernel Changes ] + + * Revert "drm/radeon/kms: Fix retrying ttm_bo_init() after it failed + once." + - LP: #736234 + * Revert "drm/radeon: fall back to GTT if bo creation/validation in VRAM + fails." + - LP: #736234 + * x86: pvclock: Move scale_delta into common header + * KVM: x86: Fix a possible backwards warp of kvmclock + * KVM: x86: Fix kvmclock bug + * cpuset: add a missing unlock in cpuset_write_resmask() + - LP: #736234 + * keyboard: integer underflow bug + - LP: #736234 + * RxRPC: Fix v1 keys + - LP: #736234 + * ixgbe: fix for 82599 erratum on Header Splitting + - LP: #736234 + * mm: fix possible cause of a page_mapped BUG + - LP: #736234 + * powerpc/kdump: CPUs assume the context of the oopsing CPU + - LP: #736234 + * powerpc/kdump: Use chip->shutdown to disable IRQs + - LP: #736234 + * powerpc: Use more accurate limit for first segment memory allocations + - LP: #736234 + * powerpc/pseries: Add hcall to read 4 ptes at a time in real mode + - LP: #736234 + * powerpc/kexec: Speedup kexec hash PTE tear down + - LP: #736234 + * powerpc/crashdump: Do not fail on NULL pointer dereferencing + - LP: #736234 + * powerpc/kexec: Fix orphaned offline CPUs across kexec + - LP: #736234 + * netfilter: nf_log: avoid oops in (un)bind with invalid nfproto values + - LP: #736234 + * nfsd: wrong index used in inner loop + - LP: #736234 + * r8169: use RxFIFO overflow workaround for 8168c chipset. + - LP: #736234 + * Staging: comedi: jr3_pci: Don't ioremap too much space. Check result. + - LP: #736234 + * net: don't allow CAP_NET_ADMIN to load non-netdev kernel modules, + CVE-2011-1019 + - LP: #736234 + - CVE-2011-1019 + * ip6ip6: autoload ip6 tunnel + - LP: #736234 + * Linux 2.6.32.33 + - LP: #736234 + * drm/radeon: fall back to GTT if bo creation/validation in VRAM fails. + - LP: #652934, #736234 + * drm/radeon/kms: Fix retrying ttm_bo_init() after it failed once. + - LP: #652934, #736234 + * drm: fix unsigned vs signed comparison issue in modeset ctl ioctl, + CVE-2011-1013 + - LP: #736234 + - CVE-2011-1013 + * Linux 2.6.32.33+drm33.15 + - LP: #736234 + * econet: Fix crash in aun_incoming(). CVE-2010-4342 + - LP: #736394 + - CVE-2010-4342 + * igb: only use vlan_gro_receive if vlans are registered, CVE-2010-4263 + - LP: #737024 + - CVE-2010-4263 + * irda: prevent integer underflow in IRLMP_ENUMDEVICES, CVE-2010-4529 + - LP: #737823 + - CVE-2010-4529 + * hwmon/f71882fg: Set platform drvdata to NULL later + - LP: #742056 + * mtd: add "platform:" prefix for platform modalias + - LP: #742056 + * libata: no special completion processing for EH commands + - LP: #742056 + * MIPS: MTX-1: Make au1000_eth probe all PHY addresses + - LP: #742056 + * x86/mm: Handle mm_fault_error() in kernel space + - LP: #742056 + * ftrace: Fix memory leak with function graph and cpu hotplug + - LP: #742056 + * x86: Fix panic when handling "mem={invalid}" param + - LP: #553464, #742056 + * x86: Emit "mem=nopentium ignored" warning when not supported + - LP: #553464, #742056 + * ahci: AHCI and RAID mode SATA patch for Intel Patsburg DeviceIDs + - LP: #742056 + * ahci: AHCI mode SATA patch for Intel DH89xxCC DeviceIDs + - LP: #742056 + * ahci: AHCI mode SATA patch for Intel Patsburg SATA RAID controller + - LP: #742056 + * RDMA/cma: Fix crash in request handlers + - LP: #742056 + * IB/cm: Bump reference count on cm_id before invoking callback + - LP: #742056 + * ath9k_hw: Fix incorrect macversion and macrev checks + - LP: #742056 + * USB: serial/kobil_sct, fix potential tty NULL dereference + - LP: #742056 + * USB: serial: ch341: add new id + - LP: #742056 + * xhci: Fix cycle bit calculation during stall handling. + - LP: #742056 + * ALSA: hda - fix digital mic selection in mixer on 92HD8X codecs + - LP: #742056 + * PCI: remove quirk for pre-production systems + - LP: #742056 + * PCI: add more checking to ICH region quirks + - LP: #742056 + * PCI: do not create quirk I/O regions below PCIBIOS_MIN_IO for ICH + - LP: #742056 + * PCI: sysfs: Fix failure path for addition of "vpd" attribute + - LP: #742056 + * ALSA: ctxfi - Fix incorrect SPDIF status bit mask + - LP: #742056 + * ALSA: ctxfi - Fix SPDIF status retrieval + - LP: #742056 + * ALSA: ctxfi - Clear input settings before initialization + - LP: #742056 + * SUNRPC: Ensure we always run the tk_callback before tk_action + - LP: #742056 + * perf, powerpc: Handle events that raise an exception without + overflowing + - LP: #742056 + * ext3: Always set dx_node's fake_dirent explicitly. + - LP: #742056 + * call_function_many: fix list delete vs add race + - LP: #742056 + * call_function_many: add missing ordering + - LP: #742056 + * x86: Flush TLB if PGD entry is changed in i386 PAE mode + - LP: #742056 + * isdn: avoid calling tty_ldisc_flush() in atomic context + - LP: #742056 + * smp_call_function_many: handle concurrent clearing of mask + - LP: #742056 + * fix per-cpu flag problem in the cpu affinity checkers + - LP: #742056 + * i2c: Fix typo in instantiating-devices document + - LP: #742056 + * mmc: sdio: remember new card RCA when redetecting card + - LP: #742056 + * powerpc/kexec: Fix race in kexec shutdown + - LP: #742056 + * powerpc/kdump: Fix race in kdump shutdown + - LP: #742056 + * powerpc: rtas_flash needs to use rtas_data_buf + - LP: #742056 + * x86, binutils, xen: Fix another wrong size directive + - LP: #742056 + * hwmon: (sht15) Fix integer overflow in humidity calculation + - LP: #742056 + * Linux 2.6.32.34 + - LP: #742056 + * Linux 2.6.32.35 + - LP: #742056 + * aio: wake all waiters when destroying ctx + - LP: #744921 + * shmem: let shared anonymous be nonlinear again + - LP: #744921 + * PCI hotplug: acpiphp: set current_state to D0 in register_slot + - LP: #744921 + * xen: set max_pfn_mapped to the last pfn mapped + - LP: #744921 + * PCI: return correct value when writing to the "reset" attribute + - LP: #744921 + * Prevent rt_sigqueueinfo and rt_tgsigqueueinfo from spoofing the signal + code + - LP: #744921 + * ext3: skip orphan cleanup on rocompat fs + - LP: #744921 + * procfs: fix /proc//maps heap check + - LP: #744921 + * proc: protect mm start_code/end_code in /proc/pid/stat, CVE-2011-0726 + - LP: #744921 + - CVE-2011-0726 + * fbcon: Bugfix soft cursor detection in Tile Blitting + - LP: #744921 + * nfsd41: modify the members value of nfsd4_op_flags + - LP: #744921 + * nfsd: wrong index used in inner loop + - LP: #744921 + * uvcvideo: Fix uvc_fixup_video_ctrl() format search + - LP: #744921 + * ehci-hcd: Bug fix: don't set a QH's Halt bit + - LP: #744921 + * USB: uss720 fixup refcount position + - LP: #744921 + * USB: cdc-acm: fix memory corruption / panic + - LP: #744921 + * USB: cdc-acm: fix potential null-pointer dereference + - LP: #744921 + * USB: cdc-acm: fix potential null-pointer dereference on disconnect + - LP: #744921 + * Input: xen-kbdfront - advertise either absolute or relative coordinates + - LP: #744921 + * SUNRPC: Never reuse the socket port after an xs_close() + - LP: #744921 + * fs: call security_d_instantiate in d_obtain_alias V2 + - LP: #744921 + * dcdbas: force SMI to happen when expected + - LP: #744921 + * Linux 2.6.32.36 + - LP: #744921 + * drm/radeon/kms: check AA resolve registers on r300, CVE-2011-1016 + - LP: #745686 + - CVE-2011-1016 + * drm/radeon: fix regression with AA resolve checking, CVE-2011-1016 + - LP: #745686 + - CVE-2011-1016 + * xen: events: do not unmask event channels on resume + - LP: #681083 + * drm/radeon/kms: check AA resolve registers on r300 + - LP: #754584 + * drm/radeon: fix regression with AA resolve checking + - LP: #754584 + * Linux 2.6.32.36+drm33.16 + - LP: #754584 + * ALSA: hda - Fix SPDIF out regression on ALC889 + - LP: #764685 + * ALSA: Fix yet another race in disconnection + - LP: #764685 + * perf: Better fit max unprivileged mlock pages for tools needs + - LP: #764685 + * myri10ge: fix rmmod crash + - LP: #764685 + * cciss: fix lost command issue + - LP: #764685 + * sound/oss/opl3: validate voice and channel indexes + - LP: #764685 + * mac80211: initialize sta->last_rx in sta_info_alloc + - LP: #764685 + * ses: show devices for enclosures with no page 7 + - LP: #764685 + * ses: Avoid kernel panic when lun 0 is not mapped + - LP: #764685 + * eCryptfs: Unlock page in write_begin error path + - LP: #764685 + * eCryptfs: ecryptfs_keyring_auth_tok_for_sig() bug fix + - LP: #764685 + * staging: usbip: bugfixes related to kthread conversion + - LP: #764685 + * staging: usbip: bugfix add number of packets for isochronous frames + - LP: #764685 + * staging: usbip: bugfix for isochronous packets and optimization + - LP: #764685 + * staging: hv: Fix GARP not sent after Quick Migration + - LP: #764685 + * staging: hv: use sync_bitops when interacting with the hypervisor + - LP: #764685 + * Relax si_code check in rt_sigqueueinfo and rt_tgsigqueueinfo + - LP: #764685 + * xfs: prevent leaking uninitialized stack memory in FSGEOMETRY_V1 + - LP: #764685 + * irda: validate peer name and attribute lengths + - LP: #764685 + * irda: prevent heap corruption on invalid nickname + - LP: #764685 + * nilfs2: fix data loss in mmap page write for hole blocks + - LP: #764685 + * ASoC: Explicitly say registerless widgets have no register + - LP: #764685 + * ALSA: ens1371: fix Creative Ectiva support + - LP: #764685 + * ROSE: prevent heap corruption with bad facilities + - LP: #764685 + * Btrfs: Fix uninitialized root flags for subvolumes + - LP: #764685 + * x86, mtrr, pat: Fix one cpu getting out of sync during resume + - LP: #764685 + * ath9k: fix a chip wakeup related crash in ath9k_start + - LP: #764685 + * UBIFS: do not read flash unnecessarily + - LP: #764685 + * UBIFS: fix oops on error path in read_pnode + - LP: #764685 + * UBIFS: fix debugging failure in dbg_check_space_info + - LP: #764685 + * quota: Don't write quota info in dquot_commit() + - LP: #764685 + * mm: avoid wrapping vm_pgoff in mremap() + - LP: #764685 + * p54usb: IDs for two new devices + - LP: #764685 + * b43: allocate receive buffers big enough for max frame len + offset + - LP: #764685 + * Bluetooth: sco: fix information leak to userspace + - LP: #764685 + * bridge: netfilter: fix information leak + - LP: #764685 + * Bluetooth: bnep: fix buffer overflow + - LP: #764685 + * Bluetooth: add support for Apple MacBook Pro 8,2 + - LP: #764685 + * Treat writes as new when holes span across page boundaries + - LP: #764685 + * char/tpm: Fix unitialized usage of data buffer + - LP: #764685 + * netfilter: ip_tables: fix infoleak to userspace + - LP: #764685 + * netfilter: arp_tables: fix infoleak to userspace + - LP: #764685 + * netfilter: ipt_CLUSTERIP: fix buffer overflow + - LP: #764685 + * ipv6: netfilter: ip6_tables: fix infoleak to userspace + - LP: #764685 + * mfd: ab3100: world-writable debugfs *_priv files + - LP: #764685 + * drivers/rtc/rtc-ds1511.c: world-writable sysfs nvram file + - LP: #764685 + * drivers/misc/ep93xx_pwm.c: world-writable sysfs files + - LP: #764685 + * econet: 4 byte infoleak to the network + - LP: #764685 + * sound/oss: remove offset from load_patch callbacks + - LP: #764685 + * sound: oss: midi_synth: check get_user() return value + - LP: #764685 + * repair gdbstub to match the gdbserial protocol specification + - LP: #764685 + * gro: Reset dev pointer on reuse + - LP: #764685 + * gro: reset skb_iif on reuse + - LP: #764685 + * x86, amd-ucode: Remove needless log messages + - LP: #764685 + * x86, microcode, AMD: Extend ucode size verification + - LP: #764685 + * powerpc/kexec: Add ifdef CONFIG_PPC_STD_MMU_64 to PPC64 code + - LP: #764685 + * powerpc: Fix default_machine_crash_shutdown #ifdef botch + - LP: #764685 + * Squashfs: handle corruption of directory structure + - LP: #764685 + * sctp: fix to calc the INIT/INIT-ACK chunk length correctly is set + - LP: #764685 + * atm/solos-pci: Don't include frame pseudo-header on transmit hex-dump + - LP: #764685 + * ext4: fix credits computing for indirect mapped files + - LP: #764685 + * nfsd: fix auth_domain reference leak on nlm operations + - LP: #764685 + * CAN: Use inode instead of kernel address for /proc file + - LP: #764685 + * exec: make argv/envp memory visible to oom-killer + - LP: #764685 + * exec: copy-and-paste the fixes into compat_do_execve() paths + - LP: #764685 + * xfs: zero proper structure size for geometry calls + - LP: #764685 + * Linux 2.6.32.37 + - LP: #764685 + * Linux 2.6.32.38 + - LP: #764685 + + -- Brad Figg Wed, 20 Apr 2011 08:28:25 -0700 + +linux (2.6.32-31.61) lucid-proposed; urgency=low + + [ Brad Figg ] + + * Release Tracking Bug + - LP: #754842 + + [ Upstream Kernel Changes ] + + * x86, quirk: Fix SB600 revision check + - LP: #742056 + + -- Brad Figg Fri, 08 Apr 2011 10:08:30 -0700 + +linux (2.6.32-31.60) lucid-proposed; urgency=low + + [ Brad Figg ] + + * Release Tracking Bug + - LP: #734950 + + [ Paolo Pisati ] + + * SAUCE: Clear new_profile in error path + - LP: #732700 + + [ Tim Gardner ] + + * [Config] CONFIG_BOOT_PRINTK_DELAY=y + - LP: #733191 + + [ Upstream Kernel Changes ] + + * Revert "drm/radeon/bo: add some fallback placements for VRAM only + objects." + - LP: #652934 + * drm/radeon: fall back to GTT if bo creation/validation in VRAM fails. + - LP: #652934 + * drm/radeon/kms: Fix retrying ttm_bo_init() after it failed once. + - LP: #652934 + * xfs: always use iget in bulkstat + - LP: #692848 + * drm/radeon/kms: make the mac rv630 quirk generic + - LP: #728687 + * drm/radeon/kms: add pll debugging output + - LP: #728687 + * drm/radeon: remove 0x4243 pci id + - LP: #728687 + * drm/radeon/kms: fix s/r issues with bios scratch regs + - LP: #728687 + * drm/i915/lvds: Add AOpen i915GMm-HFS to the list of false-positive LVDS + - LP: #728687 + * drm/i915: Add dependency on CONFIG_TMPFS + - LP: #728687 + * Linux 2.6.32.29+drm33.14 + - LP: #728687 + * NFSD: memory corruption due to writing beyond the stat array + - LP: #728687 + * mptfusion: mptctl_release is required in mptctl.c + - LP: #728687 + * mptfusion: Fix Incorrect return value in mptscsih_dev_reset + - LP: #728687 + * ocfs2_connection_find() returns pointer to bad structure + - LP: #728687 + * x25: decrement netdev reference counts on unload + - LP: #728687 + * x86, hpet: Disable per-cpu hpet timer if ARAT is supported + - LP: #728687 + * OHCI: work around for nVidia shutdown problem + - LP: #728687 + * x86/pvclock: Zero last_value on resume + - LP: #728687 + * av7110: check for negative array offset + - LP: #728687 + * CRED: Fix get_task_cred() and task_state() to not resurrect dead + credentials + - LP: #728687 + * bonding/vlan: Avoid mangled NAs on slaves without VLAN tag insertion + - LP: #728687 + * CRED: Fix kernel panic upon security_file_alloc() failure. + - LP: #728687 + * CRED: Fix BUG() upon security_cred_alloc_blank() failure + - LP: #728687 + * CRED: Fix memory and refcount leaks upon security_prepare_creds() + failure + - LP: #728687 + * sendfile(): check f_op.splice_write() rather than f_op.sendpage() + - LP: #728687 + * isdn: hisax: Replace the bogus access to irq stats + - LP: #728687 + * ixgbe: add support for 82599 based Express Module X520-P2 + - LP: #728687 + * ixgbe: prevent speculative processing of descriptors before ready + - LP: #728687 + * scsi_dh_alua: add netapp to dev list + - LP: #728687 + * scsi_dh_alua: Add IBM Power Virtual SCSI ALUA device to dev list + - LP: #728687 + * dm raid1: fail writes if errors are not handled and log fails + - LP: #728687 + * GFS2: Fix bmap allocation corner-case bug + - LP: #728687 + * dm raid1: fix null pointer dereference in suspend + - LP: #728687 + * sunrpc/cache: fix module refcnt leak in a failure path + - LP: #728687 + * be2net: Maintain tx and rx counters in driver + - LP: #728687 + * tcp: Make TCP_MAXSEG minimum more correct. + - LP: #728687 + * nfsd: correctly handle return value from nfsd_map_name_to_* + - LP: #728687 + * s390: remove task_show_regs + - LP: #728687 + * PM / Hibernate: Return error code when alloc_image_page() fails + - LP: #728687 + * fs/partitions: Validate map_count in Mac partition tables + - LP: #728687 + * ALSA: HDA: Add position_fix quirk for an Asus device + - LP: #718402, #728687 + * ALSA: caiaq - Fix possible string-buffer overflow + - LP: #728687 + * radio-aimslab.c needs #include + - LP: #728687 + * ARM: Ensure predictable endian state on signal handler entry + - LP: #728687 + * acer-wmi: Fix capitalisation of GUID + - LP: #728687 + * eCryptfs: Copy up lower inode attrs in getattr + - LP: #728687 + * platform: x86: acer-wmi: world-writable sysfs threeg file + - LP: #728687 + * platform: x86: asus_acpi: world-writable procfs files + - LP: #728687 + * platform: x86: tc1100-wmi: world-writable sysfs wireless and jogdial + files + - LP: #728687 + * genirq: Disable the SHIRQ_DEBUG call in request_threaded_irq for now + - LP: #728687 + * usb: musb: omap2430: fix kernel panic on reboot + - LP: #728687 + * USB: add quirks entry for Keytouch QWERTY Panel + - LP: #728687 + * USB: Add Samsung SGH-I500/Android modem ID switch to visor driver + - LP: #728687 + * USB: Add quirk for Samsung Android phone modem + - LP: #728687 + * p54pci: update receive dma buffers before and after processing + - LP: #728687 + * sierra: add new ID for Airprime/Sierra USB IP modem + - LP: #728687 + * staging: usbip: vhci: update reference count for usb_device + - LP: #728687 + * staging: usbip: vhci: give back URBs from in-flight unlink requests + - LP: #728687 + * staging: usbip: vhci: refuse to enqueue for dead connections + - LP: #728687 + * staging: usbip: vhci: use urb->dev->portnum to find port + - LP: #728687 + * epoll: prevent creating circular epoll structures + - LP: #728687 + * ldm: corrupted partition table can cause kernel oops + - LP: #728687 + * md: correctly handle probe of an 'mdp' device. + - LP: #728687 + * x86 quirk: Fix polarity for IRQ0 pin2 override on SB800 systems + - LP: #728687 + * xhci: Avoid BUG() in interrupt context + - LP: #728687 + * xhci: Clarify some expressions in the TRB math + - LP: #728687 + * xhci: Fix errors in the running total calculations in the TRB math + - LP: #728687 + * xhci: Fix an error in count_sg_trbs_needed() + - LP: #728687 + * x25: Do not reference freed memory. + - LP: #728687 + * Linux 2.6.32.30 + - LP: #728687 + * Linux 2.6.32.31 + - LP: #728687 + * Ocfs2/refcounttree: Fix a bug for refcounttree to writeback clusters in + a right number. + - LP: #731226 + * mfd: Fix NULL pointer due to non-initialized ucb1x00-ts absinfo + - LP: #731226 + * x86: Use u32 instead of long to set reset vector back to 0 + - LP: #731226 + * fuse: fix hang of single threaded fuseblk filesystem + - LP: #731226 + * clockevents: Prevent oneshot mode when broadcast device is periodic + - LP: #731226 + * ext2: Fix link count corruption under heavy link+rename load + - LP: #731226 + * sctp: Fix oops when sending queued ASCONF chunks + - LP: #731226 + * virtio: set pci bus master enable bit + - LP: #731226 + * netxen: fix set mac addr + - LP: #731226 + * HID: add support for Acan FG-8100 barcode reader + - LP: #731226 + * p54usb: add Senao NUB-350 usbid + - LP: #731226 + * dccp: fix oops on Reset after close + - LP: #731226 + * e1000e: disable broken PHY wakeup for ICH10 LOMs, use MAC wakeup + instead + - LP: #731226 + * r8169: disable ASPM + - LP: #731226 + * usb: iowarrior: don't trust report_size for buffer size + - LP: #731226 + * arp_notify: unconditionally send gratuitous ARP for + NETDEV_NOTIFY_PEERS. + - LP: #731226 + * CIFS: Fix oplock break handling (try #2) + - LP: #731226 + * Linux 2.6.32.32 + - LP: #731226 + + -- Brad Figg Mon, 14 Mar 2011 07:24:45 -0700 + +linux (2.6.32-30.59) lucid-proposed; urgency=low + + [ Steve Conklin ] + + * Release Tracking Bug + - LP: #727336 + + [ Tim Gardner ] + + * [Config] CONFIG_IRQ_TIME_ACCOUNTING=n + - LP: #723819 + + [ Upstream Kernel Changes ] + + * virtio_net: Add schedule check to napi_enable call + - LP: #579276 + * NFS: fix the return value of nfs_file_fsync() + - LP: #585657 + * block: check for proper length of iov entries earlier in + blk_rq_map_user_iov(), CVE-2010-4163 + - LP: #721504 + - CVE-2010-4163 + * filter: make sure filters dont read uninitialized memory + - LP: #721282 + - CVE-2010-4158 + * tty: Make tiocgicount a handler, CVE-2010-4076, CVE-2010-4077 + - LP: #720189 + - CVE-2010-4077 + * staging: usbip: remove double giveback of URB + - LP: #723819 + * USB: EHCI: ASPM quirk of ISOC on AMD SB800 + - LP: #723819 + * rt2x00: add device id for windy31 usb device + - LP: #723819 + * ALSA: snd-usb-us122l: Fix missing NULL checks + - LP: #723819 + * hwmon: (via686a) Initialize fan_div values + - LP: #723819 + * USB: serial: handle Data Carrier Detect changes + - LP: #723819 + * USB: CP210x Add two device IDs + - LP: #723819 + * USB: CP210x Removed incorrect device ID + - LP: #723819 + * USB: usb-storage: unusual_devs update for Cypress ATACB + - LP: #723819 + * USB: usb-storage: unusual_devs update for TrekStor DataStation maxi g.u + external hard drive enclosure + - LP: #723819 + * USB: usb-storage: unusual_devs entry for CamSport Evo + - LP: #723819 + * USB: usb-storage: unusual_devs entry for Coby MP3 player + - LP: #723819 + * USB: serial: Updated support for ICOM devices + - LP: #723819 + * USB: adding USB support for Cinterion's HC2x, EU3 and PH8 products + - LP: #723819 + * USB: EHCI: ASPM quirk of ISOC on AMD Hudson + - LP: #723819 + * USB: EHCI: fix DMA deallocation bug + - LP: #723819 + * USB: g_printer: fix bug in module parameter definitions + - LP: #723819 + * USB: io_edgeport: fix the reported firmware major and minor + - LP: #723819 + * USB: ti_usb: fix module removal + - LP: #723819 + * USB: Storage: Add unusual_devs entry for VTech Kidizoom + - LP: #723819 + * USB: ftdi_sio: add ST Micro Connect Lite uart support + - LP: #723819 + * USB: cdc-acm: Adding second ACM channel support for Nokia N8 + - LP: #723819 + * USB: ftdi_sio: Add VID=0x0647, PID=0x0100 for Acton Research + spectrograph + - LP: #723819 + * USB: prevent buggy hubs from crashing the USB stack + - LP: #723819 + * staging: comedi: add support for newer jr3 1-channel pci board + - LP: #723819 + * staging: comedi: ni_labpc: Use shared IRQ for PCMCIA card + - LP: #723819 + * Staging: hv: fix sysfs symlink on hv block device + - LP: #723819 + * staging: hv: Enable sending GARP packet after live migration + - LP: #723819 + * hvc_iucv: allocate memory buffers for IUCV in zone DMA + - LP: #723819 + * iwlagn: enable only rfkill interrupt when device is down + - LP: #723819 + * ath9k: Fix bug in delimiter padding computation + - LP: #723819 + * correct vdso version string + - LP: #723819 + * fix medium error problems with some arrays which can cause data + corruption + - LP: #723819 + * libsas: fix runaway error handler problem + - LP: #723819 + * mpt2sas: Fix device removal handshake for zoned devices + - LP: #723819 + * mpt2sas: Correct resizing calculation for max_queue_depth + - LP: #723819 + * mpt2sas: Kernel Panic during Large Topology discovery + - LP: #723819 + * radio-aimslab.c: Fix gcc 4.5+ bug + - LP: #723819 + * em28xx: Fix audio input for Terratec Grabby + - LP: #723819 + * ALSA : au88x0 - Limit number of channels to fix Oops via OSS emu + - LP: #723819 + * ALSA: HDA: Fix dmesg output of HDMI supported bits + - LP: #723819 + * ALSA: hda - Fix memory leaks in conexant jack arrays + - LP: #723819 + * input: bcm5974: Add support for MacBookAir3 + - LP: #723819 + * ALSA: hrtimer: handle delayed timer interrupts + - LP: #723819 + * ASoC: WM8990: msleep() takes milliseconds not jiffies + - LP: #723819 + * ASoC: Blackfin AC97: fix build error after multi-component update + - LP: #723819 + * NFS: Fix "kernel BUG at fs/aio.c:554!" + - LP: #723819 + * rtc-cmos: fix suspend/resume + - LP: #723819 + * iwlagn: Re-enable RF_KILL interrupt when down + - LP: #723819 + * rapidio: fix hang on RapidIO doorbell queue full condition + - LP: #723819 + * PCI: pci-stub: ignore zero-length id parameters + - LP: #723819 + * virtio: remove virtio-pci root device + - LP: #723819 + * ds2760_battery: Fix calculation of time_to_empty_now + - LP: #723819 + * p54: fix sequence no. accounting off-by-one error + - LP: #723819 + * i2c: Unregister dummy devices last on adapter removal + - LP: #723819 + * serial: unbreak billionton CF card + - LP: #723819 + * ptrace: use safer wake up on ptrace_detach() + - LP: #723819 + * x86, mtrr: Avoid MTRR reprogramming on BP during boot on UP platforms + - LP: #723819 + * fix jiffy calculations in calibrate_delay_direct to handle overflow + - LP: #723819 + * USB: serial: pl2303: Hybrid reader Uniform HCR331 + - LP: #723819 + * drivers: update to pl2303 usb-serial to support Motorola cables + - LP: #723819 + * klist: Fix object alignment on 64-bit. + - LP: #723819 + * powerpc: Fix some 6xx/7xxx CPU setup functions + - LP: #723819 + * parisc : Remove broken line wrapping handling pdc_iodc_print() + - LP: #723819 + * kernel/smp.c: fix smp_call_function_many() SMP race + - LP: #723819 + * hostap_cs: fix sleeping function called from invalid context + - LP: #723819 + * md: fix regression with re-adding devices to arrays with no metadata + - LP: #723819 + * pata_mpc52xx: inherit from ata_bmdma_port_ops + - LP: #723819 + * TPM: Long default timeout fix + - LP: #723819 + * tpm_tis: Use timeouts returned from TPM + - LP: #723819 + * SELinux: define permissions for DCB netlink messages + - LP: #723819 + * SELinux: do not compute transition labels on mountpoint labeled + filesystems + - LP: #723819 + * ieee80211: correct IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK macro + - LP: #723819 + * dm: dont take i_mutex to change device size + - LP: #723819 + * dm mpath: disable blk_abort_queue + - LP: #723819 + * x86, mm: avoid possible bogus tlb entries by clearing prev mm_cpumask + after switching mm + - LP: #723819 + * usb: Realloc xHCI structures after a hub is verified. + - LP: #723819 + * sched: Remove USER_SCHED + - LP: #723819 + * sched: Remove remaining USER_SCHED code + - LP: #723819 + * sched: Move sched_avg_update() to update_cpu_load() + - LP: #723819 + * sched: Increment cache_nice_tries only on periodic lb + - LP: #723819 + * sched: Try not to migrate higher priority RT tasks + - LP: #723819 + * sched: Give CPU bound RT tasks preference + - LP: #723819 + * sched: suppress RCU lockdep splat in task_fork_fair + - LP: #723819 + * sched: fix RCU lockdep splat from task_group() + - LP: #723819 + * sched: Do not consider SCHED_IDLE tasks to be cache hot + - LP: #723819 + * sched: Set group_imb only a task can be pulled from the busiest cpu + - LP: #723819 + * sched: Force balancing on newidle balance if local group has capacity + - LP: #723819 + * sched: Drop group_capacity to 1 only if local group has extra capacity + - LP: #723819 + * sched: Fix softirq time accounting + - LP: #723819 + * sched: Consolidate account_system_vtime extern declaration + - LP: #723819 + * sched: Remove unused PF_ALIGNWARN flag + - LP: #723819 + * sched: Add a PF flag for ksoftirqd identification + - LP: #723819 + * sched: Add IRQ_TIME_ACCOUNTING, finer accounting of irq time + - LP: #723819 + * x86: Add IRQ_TIME_ACCOUNTING + - LP: #723819 + * sched: Do not account irq time to current task + - LP: #723819 + * sched: Remove irq time from available CPU power + - LP: #723819 + * sched: Call tick_check_idle before __irq_enter + - LP: #723819 + * sched: Export account_system_vtime() + - LP: #723819 + * sched, cgroup: Fixup broken cgroup movement + - LP: #723819 + * sched: Use group weight, idle cpu metrics to fix imbalances during idle + - LP: #723819 + * sched: Fix cross-sched-class wakeup preemption + - LP: #723819 + * sched: Fix volanomark performance regression + - LP: #723819 + * sched: Fix idle balancing + - LP: #723819 + * sched: Fix wake_affine() vs RT tasks + - LP: #723819 + * sched: Remove some dead code + - LP: #723819 + * kernel/user.c: add lock release annotation on free_user() + - LP: #723819 + * Linux 2.6.32.29 + - LP: #723819 + * rds: Integer overflow in RDS cmsg handling, CVE-2010-4175 + - LP: #721455 + - CVE-2010-4175 + + -- Steve Conklin Tue, 01 Mar 2011 12:09:35 -0600 + +linux (2.6.32-29.58) lucid-proposed; urgency=low + + [ Brad Figg ] + + * Release Tracking Bug + - LP: #716551 + + [ Upstream Kernel Changes ] + + * net: fix rds_iovec page count overflow, CVE-2010-3865 + - LP: #709153 + - CVE-2010-3865 + * net: ax25: fix information leak to userland, CVE-2010-3875 + - LP: #710714 + - CVE-2010-3875 + * net: ax25: fix information leak to userland harder, CVE-2010-3875 + - LP: #710714 + - CVE-2010-3875 + * net: packet: fix information leak to userland, CVE-2010-3876 + - LP: #710714 + - CVE-2010-3876 + * net: tipc: fix information leak to userland, CVE-2010-3877 + - LP: #711291 + - CVE-2010-3877 + * inet_diag: Make sure we actually run the same bytecode we audited, + CVE-2010-3880 + - LP: #711865 + - CVE-2010-3880 + + -- Brad Figg Thu, 10 Feb 2011 09:13:43 -0800 + +linux (2.6.32-29.57) lucid-proposed; urgency=low + + [ Steve Conklin ] + + * Tracking Bug + - LP: #708864 + + [ Tim Gardner ] + + * [Config] Set CONFIG_NR_CPUS=256 for amd64 server + - LP: #706058 + + [ Upstream Kernel Changes ] + + * Input: i8042 - introduce 'notimeout' blacklist for Dell Vostro V13 + - LP: #380126 + * tun: avoid BUG, dump packet on GSO errors + - LP: #698883 + * TTY: Fix error return from tty_ldisc_open() + - LP: #705045 + * x86, hotplug: Use mwait to offline a processor, fix the legacy case + - LP: #705045 + * fuse: verify ioctl retries + - LP: #705045 + * fuse: fix ioctl when server is 32bit + - LP: #705045 + * ALSA: hda: Use model=lg quirk for LG P1 Express to enable playback and + capture + - LP: #595482, #705045 + * nohz: Fix printk_needs_cpu() return value on offline cpus + - LP: #705045 + * nohz: Fix get_next_timer_interrupt() vs cpu hotplug + - LP: #705045 + * nfsd: Fix possible BUG_ON firing in set_change_info + - LP: #705045 + * NFS: Fix fcntl F_GETLK not reporting some conflicts + - LP: #705045 + * sunrpc: prevent use-after-free on clearing XPT_BUSY + - LP: #705045 + * hwmon: (adm1026) Allow 1 as a valid divider value + - LP: #705045 + * hwmon: (adm1026) Fix setting fan_div + - LP: #705045 + * amd64_edac: Fix interleaving check + - LP: #705045 + * IB/uverbs: Handle large number of entries in poll CQ + - LP: #705045 + * PM / Hibernate: Fix PM_POST_* notification with user-space suspend + - LP: #705045 + * ACPICA: Fix Scope() op in module level code + - LP: #705045 + * ACPI: EC: Add another dmi match entry for MSI hardware + - LP: #705045 + * orinoco: fix TKIP countermeasure behaviour + - LP: #705045 + * orinoco: clear countermeasure setting on commit + - LP: #705045 + * x86, amd: Fix panic on AMD CPU family 0x15 + - LP: #705045 + * md: fix bug with re-adding of partially recovered device. + - LP: #705045 + * tracing: Fix panic when lseek() called on "trace" opened for writing + - LP: #705045 + * x86, gcc-4.6: Use gcc -m options when building vdso + - LP: #705045 + * x86: Enable the intr-remap fault handling after local APIC setup + - LP: #705045 + * x86, vt-d: Handle previous faults after enabling fault handling + - LP: #705045 + * x86, vt-d: Fix the vt-d fault handling irq migration in the x2apic mode + - LP: #705045 + * x86, vt-d: Quirk for masking vtd spec errors to platform error handling + logic + - LP: #705045 + * hvc_console: Fix race between hvc_close and hvc_remove + - LP: #705045 + * hvc_console: Fix race between hvc_close and hvc_remove, again + - LP: #705045 + * HID: hidraw: fix window in hidraw_release + - LP: #705045 + * bfa: fix system crash when reading sysfs fc_host statistics + - LP: #705045 + * net: release dst entry while cache-hot for GSO case too + - LP: #705045 + * install_special_mapping skips security_file_mmap check. + - LP: #705045 + * USB: misc: uss720.c: add another vendor/product ID + - LP: #705045 + * USB: ftdi_sio: Add D.O.Tec PID + - LP: #705045 + * USB: usb-storage: unusual_devs entry for the Samsung YP-CP3 + - LP: #705045 + * p54usb: add 5 more USBIDs + - LP: #705045 + * p54usb: New USB ID for Gemtek WUBI-100GW + - LP: #705045 + * sound: Prevent buffer overflow in OSS load_mixer_volumes + - LP: #705045 + * mv_xor: fix race in tasklet function + - LP: #705045 + * ima: fix add LSM rule bug + - LP: #705045 + * ALSA: hda: Use LPIB for Dell Latitude 131L + - LP: #530346, #705045 + * ALSA: hda: Use LPIB quirk for Dell Inspiron m101z/1120 + - LP: #705045 + * block: Deprecate QUEUE_FLAG_CLUSTER and use queue_limits instead + - LP: #705045 + * sctp: Fix a race between ICMP protocol unreachable and connect() + - LP: #705045 + * posix-cpu-timers: workaround to suppress the problems with mt exec + - LP: #705045 + * Linux 2.6.32.28 + - LP: #705045 + * dell-laptop: Add another Dell laptop family to the DMI whitelist + - LP: #693078 + * dell-laptop: Add another Dell laptop family to the DMI whitelist + - LP: #693078 + * drm/ttm: Clear the ghost cpu_writers flag on + ttm_buffer_object_transfer. + - LP: #708769 + * drm/kms: remove spaces from connector names (v2) + - LP: #708769 + * Linux 2.6.32.28+drm33.13 + - LP: #708769 + + -- Steve Conklin Fri, 27 Jan 2011 14:56:42 -0600 + +linux (2.6.32-28.56) lucid-proposed; urgency=low + + [ Brad Figg ] + + * Tracking Bug + - LP: #705565 + + * Just a build number increment for a new upload. There was an issue + in the previous upload that prevented ARMEL from building. The + issue has been resolved in the PPA and a new upload should produce + the requisite images. + + -- Brad Figg Thu, 20 Jan 2011 10:29:06 -0800 + +linux (2.6.32-28.55) lucid-proposed; urgency=low + + * Another version bump because of abi check failure + * Tracking Bug + - LP: #699885 + + -- Steve Conklin Mon, 10 Jan 2011 14:51:10 -0600 + +linux (2.6.32-28.54) lucid-proposed; urgency=low + + * Another version bump because of upload failure + + -- Steve Conklin Mon, 10 Jan 2011 10:31:00 -0600 + +linux (2.6.32-28.53) lucid-proposed; urgency=low + + * Another version bump because of upload failure + + -- Steve Conklin Thu, 06 Jan 2011 21:08:00 -0600 + +linux (2.6.32-28.52) lucid-proposed; urgency=low + + [ Steve Conklin ] + + * (removed old tracking bug link) + + -- Steve Conklin Thu, 06 Jan 2011 15:37:00 -0600 + +linux (2.6.32-28.51) lucid-proposed; urgency=low + + [ Steve Conklin ] + + * bumped version due to build fail + + -- Steve Conklin Wed, 05 Jan 2011 21:01:00 -0600 + +linux (2.6.32-28.50) lucid-proposed; urgency=low + + [ Tim Gardner ] + + * SAUCE: Change nodelayacct boot parameter polarity. + - LP: #493156 + * [Config] CONFIG_TASK_DELAY_ACCT=y + - LP: #493156 + + [ Upstream Kernel Changes ] + + * ipc: initialize structure memory to zero for compat functions + * tcp: Increase TCP_MAXSEG socket option minimum. + - CVE-2010-4165 + * perf_events: Fix perf_counter_mmap() hook in mprotect() + - CVE-2010-4169 + * af_unix: limit unix_tot_inflight + - CVE-2010-4249 + * AppArmor: fix the upper bound check for the next/check table + - LP: #581525 + * NFS: Fix panic after nfs_umount() + - LP: #683938 + * block: Ensure physical block size is unsigned int + - LP: #688669 + * block: limit vec count in bio_kmalloc() and bio_alloc_map_data() + - LP: #688669 + * block: take care not to overflow when calculating total iov length + - LP: #688669 + * block: check for proper length of iov entries in blk_rq_map_user_iov() + - LP: #688669 + * jme: Fix PHY power-off error + - LP: #688669 + * irda: Fix parameter extraction stack overflow + - LP: #688669 + * irda: Fix heap memory corruption in iriap.c + - LP: #688669 + * i2c-pca-platform: Change device name of request_irq + - LP: #688669 + * microblaze: Fix build with make 3.82 + - LP: #688669 + * Staging: asus_oled: fix up some sysfs attribute permissions + - LP: #688669 + * Staging: asus_oled: fix up my fixup for some sysfs attribute + permissions + - LP: #688669 + * Staging: line6: fix up some sysfs attribute permissions + - LP: #688669 + * hpet: fix unwanted interrupt due to stale irq status bit + - LP: #688669 + * hpet: unmap unused I/O space + - LP: #688669 + * olpc_battery: Fix endian neutral breakage for s16 values + - LP: #688669 + * percpu: fix list_head init bug in __percpu_counter_init() + - LP: #688669 + * um: remove PAGE_SIZE alignment in linker script causing kernel + segfault. + - LP: #688669 + * um: fix global timer issue when using CONFIG_NO_HZ + - LP: #688669 + * numa: fix slab_node(MPOL_BIND) + - LP: #688669 + * hwmon: (lm85) Fix ADT7468 frequency table + - LP: #688669 + * mm: fix return value of scan_lru_pages in memory unplug + - LP: #688669 + * mm: fix is_mem_section_removable() page_order BUG_ON check + - LP: #688669 + * ssb: b43-pci-bridge: Add new vendor for BCM4318 + - LP: #688669 + * sgi-xpc: XPC fails to discover partitions with all nasids above 128 + - LP: #688669 + * xen: ensure that all event channels start off bound to VCPU 0 + - LP: #688669 + * xen: don't bother to stop other cpus on shutdown/reboot + - LP: #688669 + * sys_semctl: fix kernel stack leakage + - LP: #688669 + * net: NETIF_F_HW_CSUM does not imply FCoE CRC offload + - LP: #688669 + * drivers/char/vt_ioctl.c: fix VT_OPENQRY error value + - LP: #688669 + * viafb: use proper register for colour when doing fill ops + - LP: #688669 + * eCryptfs: Clear LOOKUP_OPEN flag when creating lower file + - LP: #688669 + * md/raid1: really fix recovery looping when single good device fails. + - LP: #688669 + * md: fix return value of rdev_size_change() + - LP: #688669 + * x86: AMD Northbridge: Verify NB's node is online + - LP: #688669 + * tty: prevent DOS in the flush_to_ldisc + - LP: #688669 + * TTY: restore tty_ldisc_wait_idle + - LP: #688669 + * tty_ldisc: Fix BUG() on hangup + - LP: #688669 + * TTY: ldisc, fix open flag handling + - LP: #688669 + * KVM: VMX: fix vmx null pointer dereference on debug register access + - LP: #688669 + - CVE-2010-0435 + * KVM: x86: fix information leak to userland + - LP: #688669 + * firewire: cdev: fix information leak + - LP: #688669 + * firewire: core: fix an information leak + - LP: #688669 + * firewire: ohci: fix buffer overflow in AR split packet handling + - LP: #688669 + * firewire: ohci: fix race in AR split packet handling + - LP: #688669 + * ALSA: ac97: Apply quirk for Dell Latitude D610 binding Master and + Headphone controls + - LP: #669279, #688669 + * ALSA: HDA: Add an extra DAC for Realtek ALC887-VD + - LP: #688669 + * ALSA: hda: Use "alienware" model quirk for another SSID + - LP: #683695, #688669 + * netfilter: nf_conntrack: allow nf_ct_alloc_hashtable() to get highmem + pages + - LP: #688669 + * latencytop: fix per task accumulator + - LP: #688669 + * mm/vfs: revalidate page->mapping in do_generic_file_read() + - LP: #688669 + * bio: take care not overflow page count when mapping/copying user data + - LP: #688669 + * libata-scsi passthru: fix bug which truncated LBA48 return values + - LP: #688669 + * libata: fix NULL sdev dereference race in atapi_qc_complete() + - LP: #688669 + * PCI: fix size checks for mmap() on /proc/bus/pci files + - LP: #688669 + * PCI: fix offset check for sysfs mmapped files + - LP: #688669 + * efifb: check that the base address is plausible on pci systems + - LP: #688669 + * USB: gadget: AT91: fix typo in atmel_usba_udc driver + - LP: #688669 + * USB: ftdi_sio: add device IDs for Milkymist One JTAG/serial + - LP: #688669 + * USB: option: fix when the driver is loaded incorrectly for some Huawei + devices. + - LP: #688669 + * usb: misc: sisusbvga: fix information leak to userland + - LP: #688669 + * usb: misc: iowarrior: fix information leak to userland + - LP: #688669 + * usb: core: fix information leak to userland + - LP: #688669 + * USB: EHCI: fix obscure race in ehci_endpoint_disable + - LP: #688669 + * USB: storage: sierra_ms: fix sysfs file attribute + - LP: #688669 + * USB: atm: ueagle-atm: fix up some permissions on the sysfs files + - LP: #688669 + * USB: misc: cypress_cy7c63: fix up some sysfs attribute permissions + - LP: #688669 + * USB: misc: usbled: fix up some sysfs attribute permissions + - LP: #688669 + * USB: ftdi_sio: revert "USB: ftdi_sio: fix DTR/RTS line modes" + - LP: #688669 + * USB: misc: trancevibrator: fix up a sysfs attribute permission + - LP: #688669 + * USB: misc: usbsevseg: fix up some sysfs attribute permissions + - LP: #688669 + * USB: ftdi_sio: Add ID for RT Systems USB-29B radio cable + - LP: #688669 + * USB: serial: ftdi_sio: Vardaan USB RS422/485 converter PID added + - LP: #688669 + * acpi-cpufreq: fix a memleak when unloading driver + - LP: #688669 + * ACPI: EC: add Vista incompatibility DMI entry for Toshiba Satellite + L355 + - LP: #688669 + * fuse: fix attributes after open(O_TRUNC) + - LP: #688669 + * do_exit(): make sure that we run with get_fs() == USER_DS + - LP: #688669 + * uml: disable winch irq before freeing handler data + - LP: #688669 + * backlight: grab ops_lock before testing bd->ops + - LP: #688669 + * nommu: yield CPU while disposing VM + - LP: #688669 + * DECnet: don't leak uninitialized stack byte + - LP: #688669 + * ARM: 6489/1: thumb2: fix incorrect optimisation in usracc + - LP: #688669 + * ARM: 6482/2: Fix find_next_zero_bit and related assembly + - LP: #688669 + * Staging: frontier: fix up some sysfs attribute permissions + - LP: #688669 + * staging: rtl8187se: Change panic to warn when RF switch turned off + - LP: #688669 + * HID: hidraw, fix a NULL pointer dereference in hidraw_ioctl + - LP: #688669 + * HID: hidraw, fix a NULL pointer dereference in hidraw_write + - LP: #688669 + * gianfar: Fix crashes on RX path (Was Re: [Bugme-new] [Bug 19692] New: + linux-2.6.36-rc5 crash with gianfar ethernet at full line rate traffic) + - LP: #688669 + * Limit sysctl_tcp_mem and sysctl_udp_mem initializers to prevent integer + overflows. + - LP: #688669 + * sparc64: Fix race in signal instruction flushing. + - LP: #688669 + * sparc: Don't mask signal when we can't setup signal frame. + - LP: #688669 + * sparc: Prevent no-handler signal syscall restart recursion. + - LP: #688669 + * x86, UV: Delete unneeded boot messages + - LP: #688669 + * x86, UV: Fix initialization of max_pnode + - LP: #688669 + * drivers/video/efifb.c: support framebuffer for NVIDIA 9400M in MacBook + Pro 5,1 + - LP: #688669 + * efifb: support the EFI framebuffer on more Apple hardware + - LP: #688669 + * V4L/DVB (13154): uvcvideo: Handle garbage at the end of streaming + interface descriptors + - LP: #688669 + * Input: i8042 - add Sony VAIO VPCZ122GX to nomux list + - LP: #688669 + * x25: Patch to fix bug 15678 - x25 accesses fields beyond end of packet. + - LP: #688669 + * memory corruption in X.25 facilities parsing + - LP: #688669 + * can-bcm: fix minor heap overflow + - LP: #688669 + * V4L/DVB: ivtvfb: prevent reading uninitialized stack memory + - LP: #688669 + * x25: Prevent crashing when parsing bad X.25 facilities + - LP: #688669 + * crypto: padlock - Fix AES-CBC handling on odd-block-sized input + - LP: #688669 + * x86-32: Separate 1:1 pagetables from swapper_pg_dir + - LP: #688669 + * x86, mm: Fix CONFIG_VMSPLIT_1G and 2G_OPT trampoline + - LP: #688669 + * x86-32: Fix dummy trampoline-related inline stubs + - LP: #688669 + * rds: Integer overflow in RDS cmsg handling + - LP: #688669 + * net: Truncate recvfrom and sendto length to INT_MAX. + - LP: #688669 + * net: Limit socket I/O iovec total length to INT_MAX. + - LP: #688669 + * nmi: fix clock comparator revalidation + - LP: #688669 + * UV - XPC: pass nasid instead of nid to gru_create_message_queue + - LP: #688669 + * x86: uv: XPC receive message reuse triggers invalid BUG_ON() + - LP: #688669 + * X86: uv: xpc_make_first_contact hang due to not accepting ACTIVE state + - LP: #688669 + * x86: uv: xpc NULL deref when mesq becomes empty + - LP: #688669 + * Linux 2.6.32.27 + - LP: #688669 + + -- Steve Conklin Wed, 05 Jan 2011 13:42:00 -0600 + +linux (2.6.32-27.49) lucid-proposed; urgency=low + + [ Leann Ogasawara ] + + - LP: #683425 + * Revert "SAUCE: AF_ECONET prevent kernel stack overflow" + * Revert "SAUCE: AF_ECONET SIOCSIFADDR ioctl does not check privileges" + * Revert "SAUCE: AF_ECONET saddr->cookie prevent NULL pointer + dereference" + + [ Tim Gardner ] + + * [Config] Added be2net, be2scsi to udebs + - LP: #628776 + * [Config] Use correct be2iscsi module name in d-i/modules/scsi-modules + - LP: #628776 + + [ Upstream Kernel Changes ] + + * Revert "(pre-stable) ACPI: enable repeated PCIEXP wakeup by clearing + PCIEXP_WAKE_STS on resume" + * Revert "mm: (pre-stable) Move vma_stack_continue into mm.h" + * x86, cpu: After uncapping CPUID, re-run CPU feature detection + - LP: #668380 + * ALSA: sound/pci/rme9652: prevent reading uninitialized stack memory + - LP: #668380 + * ALSA: oxygen: fix analog capture on Claro halo cards + - LP: #668380 + * ALSA: hda - Add Dell Latitude E6400 model quirk + - LP: #643891, #668380 + * ALSA: rawmidi: fix oops (use after free) when unloading a driver module + - LP: #668380 + * USB: fix bug in initialization of interface minor numbers + - LP: #668380 + * usb: musb: gadget: fix kernel panic if using out ep with FIFO_TXRX + style + - LP: #668380 + * usb: musb: gadget: restart request on clearing endpoint halt + - LP: #668380 + * oprofile: Add Support for Intel CPU Family 6 / Model 29 + - LP: #668380 + * RDMA/cxgb3: Turn off RX coalescing for iWARP connections + - LP: #668380 + * mmc: sdhci-s3c: fix NULL ptr access in sdhci_s3c_remove + - LP: #668380 + * x86/amd-iommu: Set iommu configuration flags in enable-loop + - LP: #668380 + * x86/amd-iommu: Fix rounding-bug in __unmap_single + - LP: #668380 + * x86/amd-iommu: Work around S3 BIOS bug + - LP: #668380 + * tracing/x86: Don't use mcount in pvclock.c + - LP: #668380 + * tracing/x86: Don't use mcount in kvmclock.c + - LP: #668380 + * v4l1: fix 32-bit compat microcode loading translation + - LP: #668380 + * V4L/DVB: cx231xx: Avoid an OOPS when card is unknown (card=0) + - LP: #668380 + * V4L/DVB (13966): DVB-T regression fix for saa7134 cards + - LP: #668380 + * Input: joydev - fix JSIOCSAXMAP ioctl + - LP: #668380 + * x86, hpet: Fix bogus error check in hpet_assign_irq() + - LP: #668380 + * x86, irq: Plug memory leak in sparse irq + - LP: #668380 + * ubd: fix incorrect sector handling during request restart + - LP: #668380 + * ring-buffer: Fix typo of time extends per page + - LP: #668380 + * dmaengine: fix interrupt clearing for mv_xor + - LP: #668380 + * hrtimer: Preserve timer state in remove_hrtimer() + - LP: #668380 + * i2c-pca: Fix waitforcompletion() return value + - LP: #668380 + * wext: fix potential private ioctl memory content leak + - LP: #668380 + * atl1: fix resume + - LP: #668380 + * x86, AMD, MCE thresholding: Fix the MCi_MISCj iteration order + - LP: #668380 + * De-pessimize rds_page_copy_user + - LP: #668380 + * xfrm4: strip ECN and IP Precedence bits in policy lookup + - LP: #668380 + * tcp: Fix >4GB writes on 64-bit. + - LP: #668380 + * net: Fix the condition passed to sk_wait_event() + - LP: #668380 + * Phonet: Correct header retrieval after pskb_may_pull + - LP: #668380 + * net: Fix IPv6 PMTU disc. w/ asymmetric routes + - LP: #668380 + * ip: fix truesize mismatch in ip fragmentation + - LP: #668380 + * net: clear heap allocations for privileged ethtool actions + - LP: #668380 + * tcp: Fix race in tcp_poll + - LP: #668380 + * netxen: dont set skb->truesize + - LP: #668380 + * net: blackhole route should always be recalculated + - LP: #668380 + * skge: add quirk to limit DMA + - LP: #668380 + * r8169: allocate with GFP_KERNEL flag when able to sleep + - LP: #668380 + * bsg: fix incorrect device_status value + - LP: #668380 + * r6040: fix r6040_multicast_list + - LP: #668380 + * r6040: Fix multicast list iteration when hash filter is used + - LP: #668380 + * powerpc: Initialise paca->kstack before early_setup_secondary + - LP: #668380 + * powerpc: Don't use kernel stack with translation off + - LP: #668380 + * b44: fix carrier detection on bind + - LP: #668380 + * ACPI: enable repeated PCIEXP wakeup by clearing PCIEXP_WAKE_STS on + resume + - LP: #613381, #668380 + * intel_idle: PCI quirk to prevent Lenovo Ideapad s10-3 boot hang + - LP: #668380 + * ACPI: EC: add Vista incompatibility DMI entry for Toshiba Satellite + L355 + - LP: #668380 + * ACPI: delete ZEPTO idle=nomwait DMI quirk + - LP: #668380 + * ACPI: Disable Windows Vista compatibility for Toshiba P305D + - LP: #668380 + * x86: detect scattered cpuid features earlier + - LP: #668380 + * fix 2.6.32.23 suspend regression caused by commit 6f6198a + - LP: #668380 + * setup_arg_pages: diagnose excessive argument size + - LP: #668380 + * execve: improve interactivity with large arguments + - LP: #668380 + * execve: make responsive to SIGKILL with large arguments + - LP: #668380 + * Phonet: disable network namespace support + - LP: #668380 + * mm: Move vma_stack_continue into mm.h + - LP: #668380 + * Linux 2.6.32.25 + - LP: #668380 + * xfs: validate untrusted inode numbers during lookup + - CVE-2010-2943 + * xfs: rename XFS_IGET_BULKSTAT to XFS_IGET_UNTRUSTED + - CVE-2010-2943 + * xfs: remove block number from inode lookup code + - CVE-2010-2943 + * xfs: fix untrusted inode number lookup + - CVE-2010-2943 + * drm/i915: Sanity check pread/pwrite + - CVE-2010-2962 + * drm/i915: Rephrase pwrite bounds checking to avoid any potential + overflow + - CVE-2010-2962 + * net: clear heap allocation for ETHTOOL_GRXCLSRLALL + - CVE-2010-3861 + * ipc: shm: fix information leak to userland + - CVE-2010-4072 + * staging: usbip: Notify usb core of port status changes + - LP: #681132 + * staging: usbip: Process event flags without delay + - LP: #681132 + * powerpc/perf: Fix sampling enable for PPC970 + - LP: #681132 + * pcmcia: synclink_cs: fix information leak to userland + - LP: #681132 + * sched: Fix string comparison in /proc/sched_features + - LP: #681132 + * bluetooth: Fix missing NULL check + - LP: #681132 + * futex: Fix errors in nested key ref-counting + - LP: #681132 + * mm, x86: Saving vmcore with non-lazy freeing of vmas + - LP: #681132 + * x86, cpu: Fix renamed, not-yet-shipping AMD CPUID feature bit + - LP: #681132 + * x86, kexec: Make sure to stop all CPUs before exiting the kernel + - LP: #681132 + * x86, olpc: Don't retry EC commands forever + - LP: #681132 + * x86, mtrr: Assume SYS_CFG[Tom2ForceMemTypeWB] exists on all future AMD + CPUs + - LP: #681132 + * x86, intr-remap: Set redirection hint in the IRTE + - LP: #681132 + * x86, kdump: Change copy_oldmem_page() to use cached addressing + - LP: #681132 + * KVM: SVM: Fix wrong intercept masks on 32 bit + - LP: #681132 + * KVM: MMU: fix direct sps access corrupted + - LP: #681132 + * KVM: MMU: fix conflict access permissions in direct sp + - LP: #681132 + * KVM: VMX: Fix host GDT.LIMIT corruption + - LP: #681132 + * KVM: SVM: Adjust tsc_offset only if tsc_unstable + - LP: #681132 + * KVM: x86: Fix SVM VMCB reset + - LP: #681132 + * KVM: x86: Move TSC reset out of vmcb_init + - LP: #681132 + * KVM: Fix fs/gs reload oops with invalid ldt + - LP: #681132 + * KVM: Correct ordering of ldt reload wrt fs/gs reload + * KVM: VMX: Fix host userspace gsbase corruption + * pipe: fix failure to return error code on ->confirm() + - LP: #681132 + * p54usb: fix off-by-one on !CONFIG_PM + - LP: #681132 + * p54usb: add five more USBIDs + - LP: #681132 + * drivers/net/wireless/p54/eeprom.c: Return -ENOMEM on memory allocation + failure + - LP: #681132 + * USB: ftdi_sio: Add PID for accesio products + - LP: #681132 + * USB: add PID for FTDI based OpenDCC hardware + - LP: #681132 + * USB: ftdi_sio: new VID/PIDs for various Papouch devices + - LP: #681132 + * USB: ftdi_sio: add device ids for ScienceScope + - LP: #681132 + * usb: musb: blackfin: call gpio_free() on error path in + musb_platform_init() + - LP: #681132 + * USB: option: Add more ZTE modem USB id's + - LP: #681132 + * USB: cp210x: Add Renesas RX-Stick device ID + - LP: #681132 + * USB: cp210x: Add WAGO 750-923 Service Cable device ID + - LP: #681132 + * USB: atmel_usba_udc: force vbus_pin at -EINVAL when gpio_request + failled + - LP: #681132 + * USB: disable endpoints after unbinding interfaces, not before + - LP: #681132 + * USB: opticon: Fix long-standing bugs in opticon driver + - LP: #681132 + * USB: accept some invalid ep0-maxpacket values + - LP: #681132 + * sd name space exhaustion causes system hang + - LP: #681132 + * libsas: fix NCQ mixing with non-NCQ + - LP: #681132 + * gdth: integer overflow in ioctl + - LP: #681132 + * Fix race when removing SCSI devices + - LP: #681132 + * Fix regressions in scsi_internal_device_block + - LP: #681132 + * sgi-xp: incoming XPC channel messages can come in after the channel's + partition structures have been torn down + - LP: #681132 + * Linux 2.6.32.26 + - LP: #681132 + * drm/radeon: fix PCI ID 5657 to be an RV410 + - LP: #683257 + * Linux 2.6.32.26+drm33.12 + - LP: #683257 + * econet: disallow NULL remote addr for sendmsg(), fixes CVE-2010-3849 + - CVE-2010-3849 + * econet: fix CVE-2010-3850 + - CVE-2010-3850 + * econet: fix CVE-2010-3848 + - CVE-2010-3848 + + -- Leann Ogasawara Tue, 30 Nov 2010 11:20:00 -0800 + +linux (2.6.32-26.48) lucid-security; urgency=low + + [ Leann Ogasawara ] + + * SAUCE: AF_ECONET prevent kernel stack overflow + - CVE-2010-3848 + * SAUCE: AF_ECONET SIOCSIFADDR ioctl does not check privileges + - CVE-2010-3850 + * SAUCE: AF_ECONET saddr->cookie prevent NULL pointer dereference + - CVE-2010-3849 + + -- Leann Ogasawara Fri, 19 Nov 2010 16:10:05 -0800 + +linux (2.6.32-26.47) lucid-proposed; urgency=low + + [ Steve Conklin ] + + * Revert "SAUCE: ALSA: HDA: Enable internal mic on Dell E6410 and Dell + E6510" + * Revert "[Config] Added be2net, be2scsi to udebs" + + [ Upstream Kernel Changes ] + + * Revert "(ore-stable) ALSA: hda - Apply ALC269 VAIO fix-up to all Sony + laptops with ALC269" + * Revert "(pre-stable) ALSA: HDA: Correctly apply position_fix quirks for + ATI and VIA controllers" + * Revert "ALSA: hda: Use LPIB for another mainboard" + * Revert "ALSA: hda: Use LPIB for ASUS M2V" + * Revert "ALSA: hda: Use LPIB for an ASUS device" + * Buglink Fixup for reverted unverified fixes + + -- Steve Conklin Mon, 15 Nov 2010 14:59:39 -0500 + +linux (2.6.32-26.46) lucid-proposed; urgency=low + + [ Brad Figg ] + + * SAUCE: ALSA: HDA: Enable internal mic on Dell E6410 and Dell E6510 + - See: #605047, #628961 + + [ Tim Gardner ] + + * [Config] Added be2net, be2scsi to udebs + - See: #628776 + + [ Upstream Kernel Changes ] + + * Revert "(pre-stable) drm/i915: add PANEL_UNLOCK_REGS definition" + - LP: #645444 + * Revert "(pre-stable) drm/i915: make sure we shut off the panel in eDP + configs" + - LP: #645444 + * Revert "(pre-stable) drm/i915: make sure eDP panel is turned on" + - LP: #645444 + * Revert "(pre-stable) drm/radeon/kms: initialize set_surface_reg reg for + rs600 asic" + - LP: #645371 + * Revert "drm/nouveau: Fix fbcon corruption with font width not divisible + by 8" + - LP: #663176 + * mmc: fix all hangs related to mmc/sd card insert/removal during + suspend/resume + - LP: #477106 + * mmc: build fix: mmc_pm_notify is only available with CONFIG_PM=y + - LP: #477106 + * hwmon: (k8temp) Differentiate between AM2 and ASB1 + - LP: #644694 + * xen: handle events as edge-triggered + - LP: #644694 + * xen: use percpu interrupts for IPIs and VIRQs + - LP: #644694 + * ALSA: hda - Rename iMic to Int Mic on Lenovo NB0763 + - LP: #605101, #644694 + * sata_mv: fix broken DSM/TRIM support (v2) + - LP: #644694 + * x86, tsc, sched: Recompute cyc2ns_offset's during resume from sleep + states + - LP: #644694 + * PCI: MSI: Remove unsafe and unnecessary hardware access + - LP: #644694 + * PCI: MSI: Restore read_msi_msg_desc(); add get_cached_msi_msg_desc() + - LP: #644694 + * sched: kill migration thread in CPU_POST_DEAD instead of CPU_DEAD + - LP: #644694 + * sched: revert stable c6fc81a sched: Fix a race between ttwu() and + migrate_task() + - LP: #644694 + * staging: hv: Fix missing functions for net_device_ops + - LP: #644694 + * staging: hv: Fixed bounce kmap problem by using correct index + - LP: #644694 + * staging: hv: Fixed the value of the 64bit-hole inside ring buffer + - LP: #644694 + * staging: hv: Increased storvsc ringbuffer and max_io_requests + - LP: #644694 + * staging: hv: Fixed lockup problem with bounce_buffer scatter list + - LP: #644694 + * fuse: flush background queue on connection close + - LP: #644694 + * ath9k_hw: fix parsing of HT40 5 GHz CTLs + - LP: #644694 + * ocfs2: Fix incorrect checksum validation error + - LP: #644694 + * USB: ehci-ppc-of: problems in unwind + - LP: #644694 + * USB: Fix kernel oops with g_ether and Windows + - LP: #644694 + * USB: CP210x Add new device ID + - LP: #644694 + * USB: cp210x: Add B&G H3000 link cable ID + - LP: #644694 + * USB: ftdi_sio: Added custom PIDs for ChamSys products + - LP: #644694 + * USB: serial: Extra device/vendor ID for mos7840 driver + - LP: #644694 + * usb: serial: mos7840: Add USB ID to support the B&B Electronics + USOPTL4-2P. + - LP: #644694 + * USB: mos7840: fix DMA buffers on stack and endianess bugs + - LP: #644694 + * usb: serial: mos7840: Add USB IDs to support more B&B USB/RS485 + converters. + - LP: #644694 + * USB: Exposing second ACM channel as tty for Nokia S60 phones. + - LP: #644694 + * USB: cdc-acm: add another device quirk + - LP: #644694 + * USB: Expose vendor-specific ACM channel on Nokia 5230 + - LP: #644694 + * USB: cdc-acm: Adding second ACM channel support for various Nokia and + one Samsung phones + - LP: #644694 + * USB: cdc-acm: Add pseudo modem without AT command capabilities + - LP: #644694 + * USB: cdc-acm: Fixing crash when ACM probing interfaces with no endpoint + descriptors. + - LP: #644694 + * ALSA: hda - Fix auto-parser of ALC269vb for HP pin NID 0x21 + - LP: #644694 + * ALSA: seq/oss - Fix double-free at error path of snd_seq_oss_open() + - LP: #644694 + * sysfs: checking for NULL instead of ERR_PTR + - LP: #644694 + * tun: Don't add sysfs attributes to devices without sysfs directories + - LP: #644694 + * oprofile: fix crash when accessing freed task structs + - LP: #644694 + * oprofile, x86: fix init_sysfs error handling + - LP: #644694 + * oprofile, x86: fix init_sysfs() function stub + - LP: #644694 + * HID: usbhid: initialize interface pointers early enough + - LP: #644694 + * HID: fix suspend crash by moving initializations earlier + - LP: #644694 + * libata: skip EH autopsy and recovery during suspend + - LP: #644694 + * tracing: Fix a race in function profile + - LP: #644694 + * tracing: Do not allow llseek to set_ftrace_filter + - LP: #644694 + * tracing: t_start: reset FTRACE_ITER_HASH in case of seek/pread + - LP: #644694 + * irda: off by one + - LP: #644694 + * gcov: fix null-pointer dereference for certain module types + - LP: #644694 + * tmio_mmc: don't clear unhandled pending interrupts + - LP: #644694 + * mmc: fix the use of kunmap_atomic() in tmio_mmc.h + - LP: #644694 + * bounce: call flush_dcache_page() after bounce_copy_vec() + - LP: #644694 + * kernel/groups.c: fix integer overflow in groups_search + - LP: #644694 + * binfmt_misc: fix binfmt_misc priority + - LP: #644694 + * Input: i8042 - fix device removal on unload + - LP: #644694 + * memory hotplug: fix next block calculation in is_removable + - LP: #644694 + * perf: Initialize callchains roots's childen hits + - LP: #644694 + * p54: fix tx feedback status flag check + - LP: #644694 + * ath5k: check return value of ieee80211_get_tx_rate + - LP: #644694 + * wireless extensions: fix kernel heap content leak + - LP: #644694 + * x86, tsc: Fix a preemption leak in restore_sched_clock_state() + - LP: #644694 + * sched: Protect task->cpus_allowed access in sched_getaffinity() + - LP: #644694 + * sched: Protect sched_rr_get_param() access to task->sched_class + - LP: #644694 + * sched: Consolidate select_task_rq() callers + - LP: #644694 + * sched: Remove unused cpu_nr_migrations() + - LP: #644694 + * sched: Remove rq->clock coupling from set_task_cpu() + - LP: #644694 + * sched: Clean up ttwu() rq locking + - LP: #644694 + * sched: Sanitize fork() handling + - LP: #644694 + * sched: Remove forced2_migrations stats + - LP: #644694 + * sched: Make wakeup side and atomic variants of completion API irq safe + - LP: #644694 + * sched: Use rcu in sys_sched_getscheduler/sys_sched_getparam() + - LP: #644694 + * sched: Use rcu in sched_get/set_affinity() + - LP: #644694 + * sched: Use rcu in sched_get_rr_param() + - LP: #644694 + * sched: Fix set_cpu_active() in cpu_down() + - LP: #644694 + * sched: Use TASK_WAKING for fork wakups + - LP: #644694 + * sched: Ensure set_task_cpu() is never called on blocked tasks + - LP: #644694 + * sched: Make warning less noisy + - LP: #644694 + * sched: Fix broken assertion + - LP: #644694 + * sched: Fix sched_exec() balancing + - LP: #644694 + * sched: Fix select_task_rq() vs hotplug issues + - LP: #644694 + * sched: Add pre and post wakeup hooks + - LP: #644694 + * sched: Remove the cfs_rq dependency from set_task_cpu() + - LP: #644694 + * sched: Fix hotplug hang + - LP: #644694 + * sched: Fix fork vs hotplug vs cpuset namespaces + - LP: #644694 + * sched: Fix incorrect sanity check + - LP: #644694 + * sched: Fix race between ttwu() and task_rq_lock() + - LP: #644694 + * sched: Extend enqueue_task to allow head queueing + - LP: #644694 + * sched: Implement head queueing for sched_rt + - LP: #644694 + * sched: Queue a deboosted task to the head of the RT prio queue + - LP: #644694 + * sched: set_cpus_allowed_ptr(): Don't use rq->migration_thread after + unlock + - LP: #644694 + * sched: Kill the broken and deadlockable + cpuset_lock/cpuset_cpus_allowed_locked code + - LP: #644694 + * sched: move_task_off_dead_cpu(): Take rq->lock around + select_fallback_rq() + - LP: #644694 + * sched: move_task_off_dead_cpu(): Remove retry logic + - LP: #644694 + * sched: sched_exec(): Remove the select_fallback_rq() logic + - LP: #644694 + * sched: _cpu_down(): Don't play with current->cpus_allowed + - LP: #644694 + * sched: Make select_fallback_rq() cpuset friendly + - LP: #644694 + * sched: Fix TASK_WAKING vs fork deadlock + - LP: #644694 + * sched: Optimize task_rq_lock() + - LP: #644694 + * sched: Fix nr_uninterruptible count + - LP: #644694 + * sched: Fix rq->clock synchronization when migrating tasks + - LP: #644694 + * sched: Remove unnecessary RCU exclusion + - LP: #644694 + * sched: apply RCU protection to wake_affine() + - LP: #644694 + * sched: Cleanup select_task_rq_fair() + - LP: #644694 + * sched: More generic WAKE_AFFINE vs select_idle_sibling() + - LP: #644694 + * sched: Fix vmark regression on big machines + - LP: #644694 + * sched: Fix select_idle_sibling() + - LP: #644694 + * sched: Pre-compute cpumask_weight(sched_domain_span(sd)) + - LP: #644694 + * sched: Fix select_idle_sibling() logic in select_task_rq_fair() + - LP: #644694 + * sched: cpuacct: Use bigger percpu counter batch values for stats + counters + - LP: #644694 + * ALSA: hda - Handle missing NID 0x1b on ALC259 codec + - LP: #644694 + * ALSA: hda - Handle pin NID 0x1a on ALC259/269 + - LP: #644694 + * arm: fix really nasty sigreturn bug + - LP: #644694 + * hwmon: (f75375s) Shift control mode to the correct bit position + - LP: #644694 + * hwmon: (f75375s) Do not overwrite values read from registers + - LP: #644694 + * apm_power: Add missing break statement + - LP: #644694 + * NFS: Fix a typo in nfs_sockaddr_match_ipaddr6 + - LP: #644694 + * SUNRPC: Fix race corrupting rpc upcall + - LP: #644694 + * Linux 2.6.32.22 + - LP: #644694 + * drm/i915: don't access FW_BLC_SELF on 965G + - LP: #645444 + * drm/i915: gen3 page flipping fixes + - LP: #645444 + * drm/i915: don't queue flips during a flip pending event + - LP: #645444 + * drm/i915: Hold the spinlock whilst resetting unpin_work along error + path + - LP: #645444 + * drm/i915: handle shared framebuffers when flipping + - LP: #645444 + * drm/i915: add PANEL_UNLOCK_REGS definition + - LP: #645444 + * drm/i915: make sure eDP panel is turned on + - LP: #645444 + * drm/i915: make sure we shut off the panel in eDP configs + - LP: #645444 + * Linux 2.6.32.22+drm33.9 + - LP: #645444 + * drm/radeon/kms/igp: sideport is AMD only + - LP: #645371 + * drm/radeon/kms: flush HDP cache on GART table updates. + - LP: #645371 + * drm/radeon/kms/r7xx: add workaround for hw issue with HDP flush + - LP: #645371 + * drm/i915: Check overlay stride errata for i830 and i845 + - LP: #645371 + * i915: fix ironlake edp panel setup (v4) + - LP: #645371 + * drm/radeon/kms: add additional quirk for Acer rv620 laptop + - LP: #645371 + * drm/i915: fixup pageflip ringbuffer commands for i8xx + - LP: #645371 + * drm/i915: i8xx also doesn't like multiple oustanding pageflips + - LP: #645371 + * drm/i915/edp: Flush the write before waiting for PLLs + - LP: #645371 + * drm/radeon/kms: disable MSI on IGP chips + - LP: #645371 + * drm/radeon/kms: don't enable MSIs on AGP boards + - LP: #645371 + * drm/radeon/kms: fix typo in radeon_compute_pll_gain + - LP: #645371 + * drm/radeon/kms/DCE3+: switch pads to ddc mode when going i2c + - LP: #645371 + * drm/radeon/kms: fix sideport detection on newer rs880 boards + - LP: #645371 + * drm/i915: Don't touch PORT_HOTPLUG_EN in intel_dp_detect() + - LP: #645371 + * drm/i915: Kill dangerous pending-flip debugging + - LP: #645371 + * drm/radeon/kms: release AGP bridge at suspend + - LP: #645371 + * drm/radeon/kms: initialize set_surface_reg reg for rs600 asic + - LP: #645371 + * drm/radeon/kms: fix a regression on r7xx AGP due to the HDP flush fix + - LP: #645371 + * Linux 2.6.32.22+drm33.10 + - LP: #645371 + * USB: serial/mos*: prevent reading uninitialized stack memory + - LP: #649483 + * sparc: Provide io{read,write}{16,32}be(). + - LP: #649483 + * gro: fix different skb headrooms + - LP: #649483 + * gro: Re-fix different skb headrooms + - LP: #649483 + * irda: Correctly clean up self->ias_obj on irda_bind() failure. + - LP: #649483 + * tcp: select(writefds) don't hang up when a peer close connection + - LP: #649483 + * tcp: Combat per-cpu skew in orphan tests. + - LP: #649483 + * tcp: fix three tcp sysctls tuning + - LP: #649483 + * bridge: Clear IPCB before possible entry into IP stack + - LP: #649483 + * bridge: Clear INET control block of SKBs passed into ip_fragment(). + - LP: #649483 + * net: Fix oops from tcp_collapse() when using splice() + - LP: #649483 + * rds: fix a leak of kernel memory + - LP: #649483 + * tcp: Prevent overzealous packetization by SWS logic. + - LP: #649483 + * UNIX: Do not loop forever at unix_autobind(). + - LP: #649483 + * r8169: fix random mdio_write failures + - LP: #649483 + * r8169: fix mdio_read and update mdio_write according to hw specs + - LP: #649483 + * sparc64: Get rid of indirect p1275 PROM call buffer. + - LP: #649483 + * drivers/net/usb/hso.c: prevent reading uninitialized memory + - LP: #649483 + * drivers/net/cxgb3/cxgb3_main.c: prevent reading uninitialized stack + memory + - LP: #649483 + * drivers/net/eql.c: prevent reading uninitialized stack memory + - LP: #649483 + * bonding: correctly process non-linear skbs + - LP: #649483 + * Staging: vt6655: fix buffer overflow + - LP: #649483 + * net/llc: make opt unsigned in llc_ui_setsockopt() + - LP: #649483 + * pid: make setpgid() system call use RCU read-side critical section + - LP: #649483 + * sched: Fix user time incorrectly accounted as system time on 32-bit + - LP: #649483 + * oprofile: Add Support for Intel CPU Family 6 / Model 22 (Intel Celeron + 540) + - LP: #649483 + * char: Mark /dev/zero and /dev/kmem as not capable of writeback + - LP: #649483 + * drivers/pci/intel-iommu.c: fix build with older gcc's + - LP: #649483 + * drivers/video/sis/sis_main.c: prevent reading uninitialized stack + memory + - LP: #649483 + * percpu: fix pcpu_last_unit_cpu + - LP: #649483 + * aio: check for multiplication overflow in do_io_submit + - LP: #649483 + * inotify: send IN_UNMOUNT events + - LP: #649483 + * SCSI: mptsas: fix hangs caused by ATA pass-through + - LP: #649483 + * ext4: Fix remaining racy updates of EXT4_I(inode)->i_flags + - LP: #649483 + * IA64: fix siglock + - LP: #649483 + * IA64: Optimize ticket spinlocks in fsys_rt_sigprocmask + - LP: #649483 + * KEYS: Fix RCU no-lock warning in keyctl_session_to_parent() + - LP: #649483 + * KEYS: Fix bug in keyctl_session_to_parent() if parent has no session + keyring + - LP: #649483 + * xfs: prevent reading uninitialized stack memory + - LP: #649483 + * drivers/video/via/ioctl.c: prevent reading uninitialized stack memory + - LP: #649483 + * ACPI: disable _OSI(Windows 2009) on Asus K50IJ + - LP: #649483 + * bnx2: Fix netpoll crash. + - LP: #649483 + * bnx2: Fix hang during rmmod bnx2. + - LP: #649483 + * AT91: change dma resource index + - LP: #649483 + * cxgb3: fix hot plug removal crash + - LP: #649483 + * mm: page allocator: drain per-cpu lists after direct reclaim allocation + fails + - LP: #649483 + * mm: page allocator: calculate a better estimate of NR_FREE_PAGES when + memory is low and kswapd is awake + - LP: #649483 + * mm: page allocator: update free page counters after pages are placed on + the free list + - LP: #649483 + * guard page for stacks that grow upwards + - LP: #649483 + * Fix unprotected access to task credentials in waitid() + - LP: #649483 + * sctp: Do not reset the packet during sctp_packet_config(). + - LP: #649483 + * 3c503: Fix IRQ probing + - LP: #649483 + * asix: fix setting mac address for AX88772 + - LP: #649483 + * dasd: use correct label location for diag fba disks + - LP: #649483 + * clocksource: sh_tmu: compute mult and shift before registration + - LP: #649483 + * gro: Fix bogus gso_size on the first fraglist entry + - LP: #649483 + * hostap_pci: set dev->base_addr during probe + - LP: #649483 + * inotify: fix inotify oneshot support + - LP: #649483 + * Input: add compat support for sysfs and /proc capabilities output + - LP: #649483 + * MIPS: Quit using undefined behavior of ADDU in 64-bit atomic + operations. + - LP: #649483 + * MIPS: Set io_map_base for several PCI bridges lacking it + - LP: #649483 + * MIPS: uasm: Add OR instruction. + - LP: #649483 + * pata_pdc202xx_old: fix UDMA mode for Promise UDMA33 cards + - LP: #649483 + * pata_pdc202xx_old: fix UDMA mode for PDC2026x chipsets + - LP: #649483 + * MIPS: Sibyte: Fix M3 TLB exception handler workaround. + - LP: #649483 + * sis-agp: Remove SIS 760, handled by amd64-agp + - LP: #649483 + * alpha: Fix printk format errors + - LP: #649483 + * x86: Add memory modify constraints to xchg() and cmpxchg() + - LP: #649483 + * Linux 2.6.32.23 + - LP: #649483 + * (pre-stable) [SCSI] megaraid_sas: Add new megaraid SAS 2 controller + support to the driver + - LP: #546091 + * (pre-stable) [SCSI] megaraid_sas: allocate the application cmds to sas2 + controller + - LP: #546091 + * Xen: fix typo in previous patch + - LP: #655456 + * Linux 2.6.32.24 + - LP: #655456 + * (ore-stable) ALSA: hda - Apply ALC269 VAIO fix-up to all Sony laptops + with ALC269 + - See: #546769, #598938, #637291, #642892, #648871, #655386 + * (pre-stable) ALSA: HDA: Correctly apply position_fix quirks for ATI and + VIA controllers + - See: #465942, #580749, #587546 + * (pre-stable) ACPI: enable repeated PCIEXP wakeup by clearing + PCIEXP_WAKE_STS on resume + - LP: #613381 + * i915: return -EFAULT if copy_to_user fails + - LP: #663176 + * i915_gem: return -EFAULT if copy_to_user fails + - LP: #663176 + * drm/i915: Prevent double dpms on + - LP: #663176 + * drm: Only decouple the old_fb from the crtc is we call mode_set* + - LP: #663176 + * drm/radeon/kms: fix potential segfault in r600_ioctl_wait_idle + - LP: #663176 + * drm/i915: Unset cursor if out-of-bounds upon mode change (v4) + - LP: #586325, #663176 + * drm/i915: disable FBC when more than one pipe is active + - LP: #663176 + * drm/radeon/kms: fix macbookpro connector quirk + - LP: #663176 + * drm/nouveau: use ALIGN instead of open coding it + - LP: #663176 + * drm/nouveau: Fix fbcon corruption with font width not divisible by 8 + - LP: #663176 + * drm/i915,agp/intel: Add second set of PCI-IDs for B43 + - LP: #640214, #663176 + * Linux 2.6.32.24+drm33.11 + - LP: #663176 + + -- Brad Figg Fri, 22 Oct 2010 10:41:58 -0700 + +linux (2.6.32-25.45) lucid-security; urgency=low + + [ Upstream Kernel Changes ] + + * v4l: disable dangerous buggy compat function + - CVE-2010-2963 + * Local privilege escalation vulnerability in RDS sockets + - CVE-2010-3904 + * mm: (pre-stable) Move vma_stack_continue into mm.h + - LP: #646114 + * net sched: fix some kernel memory leaks + - CVE-2010-2942 + * irda: Correctly clean up self->ias_obj on irda_bind() failure. + - CVE-2010-2954 + * wireless extensions: fix kernel heap content leak + - CVE-2010-2955 + * KEYS: Fix RCU no-lock warning in keyctl_session_to_parent() + - CVE-2010-2960 + * KEYS: Fix bug in keyctl_session_to_parent() if parent has no session + keyring + - CVE-2010-2960 + * aio: check for multiplication overflow in do_io_submit + - CVE-2010-3067 + * xfs: prevent reading uninitialized stack memory + - CVE-2010-3078 + * ALSA: seq/oss - Fix double-free at error path of snd_seq_oss_open() + - CVE-2010-3080 + * niu: Fix kernel buffer overflow for ETHTOOL_GRXCLSRLALL + - CVE-2010-3084 + * rose: Fix signedness issues wrt. digi count. + - CVE-2010-3310 + * sctp: Do not reset the packet during sctp_packet_config(). + - CVE-2010-3432 + * Fix pktcdvd ioctl dev_minor range check + - CVE-2010-3437 + * ALSA: prevent heap corruption in snd_ctl_new() + - CVE-2010-3442 + * net sched: fix kernel leak in act_police + - CVE-2010-3477 + * Fix out-of-bounds reading in sctp_asoc_get_hmac() + - CVE-2010-3705 + * ocfs2: Don't walk off the end of fast symlinks. + - CVE-2010-NNN2 + + -- Steve Conklin Wed, 06 Oct 2010 16:16:20 +0100 + +linux (2.6.32-25.44) lucid-proposed; urgency=low + + [ Brad Figg ] + + * SAUCE: (no-up) Modularize vesafb -- fix initialization + - LP: #611471 + + [ Stefan Bader ] + + * Revert "SAUCE: sync before umount to reduce time taken by ext4 umount" + - LP: #543617, #585092 + + [ Steve Conklin ] + + * Revert "SAUCE: tulip: Let dmfe handle davicom on non-sparc" + - LP: #607824 + + [ Tim Gardner ] + + * [Config] Added ums-cypress to udeb + - LP: #576066 + + [ Upstream Kernel Changes ] + + * Revert "PCI quirk: Disable MSI on VIA K8T890 systems" + - LP: #607824 + * Revert "PCI quirks: disable msi on AMD rs4xx internal gfx bridges" + - LP: #607824 + * Revert "(pre-stable) Input: psmouse - reset all types of mice before + reconnecting" + - LP: #607824 + * Revert "jbd: jbd-debug and jbd2-debug should be writable" + - LP: #607824 + * Revert "ext4: Make fsync sync new parent directories in no-journal + mode" + - LP: #615548 + * Revert "ext4: Fix compat EXT4_IOC_ADD_GROUP" + - LP: #615548 + * Revert "ext4: Conditionally define compat ioctl numbers" + - LP: #615548 + * Revert "ext4: restart ext4_ext_remove_space() after transaction + restart" + - LP: #615548 + * Revert "ext4: Clear the EXT4_EOFBLOCKS_FL flag only when warranted" + - LP: #615548 + * Revert "ext4: Avoid crashing on NULL ptr dereference on a filesystem + error" + - LP: #615548 + * Revert "ext4: Use bitops to read/modify i_flags in struct + ext4_inode_info" + - LP: #615548 + * Revert "ext4: Show journal_checksum option" + - LP: #615548 + * Revert "ext4: check for a good block group before loading buddy pages" + - LP: #615548 + * Revert "ext4: Prevent creation of files larger than RLIMIT_FSIZE using + fallocate" + - LP: #615548 + * Revert "ext4: Remove extraneous newlines in ext4_msg() calls" + - LP: #615548 + * Revert "ext4: init statistics after journal recovery" + - LP: #615548 + * Revert "ext4: clean up inode bitmaps manipulation in ext4_free_inode" + - LP: #615548 + * Revert "ext4: Do not zero out uninitialized extents beyond i_size" + - LP: #615548 + * Revert "ext4: don't scan/accumulate more pages than mballoc will + allocate" + - LP: #615548 + * Revert "ext4: stop issuing discards if not supported by device" + - LP: #615548 + * Revert "ext4: check s_log_groups_per_flex in online resize code" + - LP: #615548 + * Revert "ext4: fix quota accounting in case of fallocate" + - LP: #615548 + * Revert "ext4: allow defrag (EXT4_IOC_MOVE_EXT) in 32bit compat mode" + - LP: #615548 + * Revert "ext4: rename ext4_mb_release_desc() to ext4_mb_unload_buddy()" + - LP: #615548 + * Revert "ext4: Remove unnecessary call to ext4_get_group_desc() in + mballoc" + - LP: #615548 + * Revert "ext4: fix memory leaks in error path handling of + ext4_ext_zeroout()" + - LP: #615548 + * Revert "ext4: check missed return value in ext4_sync_file()" + - LP: #615548 + * Revert "ext4: Issue the discard operation *before* releasing the blocks + to be reused" + - LP: #615548 + * Revert "ext4: Fix buffer head leaks after calls to + ext4_get_inode_loc()" + - LP: #615548 + * Revert "ext4: Fix possible lost inode write in no journal mode" + - LP: #615548 + * Revert "ext4: Fixed inode allocator to correctly track a flex_bg's + used_dirs" + - LP: #615548 + * Revert "ext4: Fix estimate of # of blocks needed to write + indirect-mapped files" + - LP: #615548 + * Revert "ext4: Code cleanup for EXT4_IOC_MOVE_EXT ioctl" + - LP: #615548 + * Revert "ext4: Fix the NULL reference in double_down_write_data_sem()" + - LP: #615548 + * Revert "ext4: Fix insertion point of extent in + mext_insert_across_blocks()" + - LP: #615548 + * Revert "ext4: make "offset" consistent in ext4_check_dir_entry()" + - LP: #615548 + * Revert "ext4: Handle non empty on-disk orphan link" + - LP: #615548 + * Revert "ext4: explicitly remove inode from orphan list after failed + direct io" + - LP: #615548 + * Revert "ext4: fix error handling in migrate" + - LP: #615548 + * Revert "ext4: Fix fencepost error in chosing choosing group vs file + preallocation." + - LP: #615548 + * Revert "ext4: Add flag to files with blocks intentionally past EOF" + - LP: #615548 + * Revert "ext4: Fix BUG_ON at fs/buffer.c:652 in no journal mode" + - LP: #615548 + * Revert "ext4: Use bitops to read/modify EXT4_I(inode)->i_state" + - LP: #615548 + * Revert "ext4: Drop EXT4_GET_BLOCKS_UPDATE_RESERVE_SPACE flag" + - LP: #615548 + * Revert "ext4: Fix quota accounting error with fallocate" + - LP: #615548 + * Revert "ext4: Handle -EDQUOT error on write" + - LP: #615548 + * Revert "ext4: Calculate metadata requirements more accurately" + - LP: #615548 + * Revert "ext4: Fix accounting of reserved metadata blocks" + - LP: #615548 + * Revert "ext4: Patch up how we claim metadata blocks for quota purposes" + - LP: #615548 + * Revert "ext4: Ensure zeroout blocks have no dirty metadata" + - LP: #615548 + * Revert "ext4: return correct wbc.nr_to_write in ext4_da_writepages" + - LP: #615548 + * Revert "ext4: Eliminate potential double free on error path" + - LP: #615548 + * Revert "ext4, jbd2: Add barriers for file systems with exernal + journals" + - LP: #615548 + * Revert "ext4: replace BUG() with return -EIO in ext4_ext_get_blocks" + - LP: #615548 + * Revert "ext4: Fix potential quota deadlock" + - LP: #615548 + * Revert "ext4: don't return to userspace after freezing the fs with a + mutex held" + - LP: #615548 + * ixgbe: Fix return of invalid txq + - LP: #607824 + * oprofile/x86: fix uninitialized counter usage during cpu hotplug + - LP: #607824 + * oprofile: remove double ring buffering + - LP: #607824 + * cpumask: fix compat getaffinity + - LP: #607824 + * NFSD: don't report compiled-out versions as present + - LP: #607824 + * sata_nv: use ata_pci_sff_activate_host() instead of ata_host_activate() + - LP: #607824 + * ARCNET: Limit com20020 PCI ID matches for SOHARD cards + - LP: #607824 + * rtl8180: fix tx status reporting + - LP: #607824 + * Staging: add Add Sitecom WL-349 to rtl8192su + - LP: #607824 + * staging: vt6655: Fix kernel BUG on driver wpa initialization + - LP: #607824 + * Fix racy use of anon_inode_getfd() in perf_event.c + - LP: #607824 + * posix_timer: Fix error path in timer_create + - LP: #607824 + * libata: disable ATAPI AN by default + - LP: #607824 + * libata: don't flush dcache on slab pages + - LP: #607824 + * mutex: Fix optimistic spinning vs. BKL + - LP: #607824 + * ALSA: hda: Fix model quirk for Dell M1730 + - LP: #576160, #607824 + * ALSA: hda: Use LPIB for Toshiba A100-259 + - LP: #549560, #607824 + * ALSA: hda: Use LPIB for Acer Aspire 5110 + - LP: #583983, #607824 + * ALSA: hda: Use LPIB for Sony VPCS11V9E + - LP: #586347, #607824 + * ALSA: hda: Use LPIB for a Shuttle device + - LP: #551949, #607824 + * ACPI: video: fix acpi_backlight=video + - LP: #573120, #607824 + * V4L/DVB: gspca - stv06xx: Remove the 046d:08da from the stv06xx driver + - LP: #607824 + * HID: Add the GYR4101US USB ID to hid-gyration + - LP: #607824 + * ar9170usb: add a couple more USB IDs + - LP: #607824 + * ar9170usb: fix panic triggered by undersized rxstream buffer + - LP: #607824 + * USB: visor: fix memory leak + - LP: #607824 + * USB: CP210x New Device IDs 11 New device IDs + - LP: #607824 + * USB: kobil: fix memory leak + - LP: #607824 + * USB: option: add PID for ZTE product + - LP: #607824 + * USB: option.c: Add Pirelli VID/PID and indicate Pirelli's modem + interface is 0xff + - LP: #607824 + * USB: serial: option: add cinterion device id + - LP: #607824 + * USB: option.c: OLIVETTI OLICARD100 support + - LP: #607824 + * USB: ir-usb: fix double free + - LP: #607824 + * USB: kl5usb105: fix memory leak + - LP: #607824 + * USB: mxc: gadget: Fix bitfield for calculating maximum packet size + - LP: #607824 + * USB: unusual-dev: Add bad sense flag for Appotech ax203 based picture + frames + - LP: #607824 + * USB: EHCI: clear PHCD before resuming + - LP: #607824 + * USB: xhci: Fix issue with set interface after stall. + - LP: #607824 + * USB: xhci: Fix check for room on the ring. + - LP: #607824 + * USB: xHCI: Fix wrong usage of macro TRB_TYPE + - LP: #607824 + * mac80211: give warning if building w/out rate ctrl algorithm + - LP: #607824 + * mac80211: Fix robust management frame handling (MFP) + - LP: #607824 + * mac80211: fix rts threshold check + - LP: #607824 + * drivers/base/cpu.c: fix the output from /sys/devices/system/cpu/offline + - LP: #607824 + * can: Fix SJA1000 command register writes on SMP systems + - LP: #607824 + * PCI quirk: Disable MSI on VIA K8T890 systems + - LP: #607824 + * PCI quirks: disable msi on AMD rs4xx internal gfx bridges + - LP: #607824 + * PCI: Disable MSI for MCP55 on P5N32-E SLI + - LP: #607824 + * virtio_net: Make delayed refill more reliable + - LP: #607824 + * mm: hugetlb: fix clear_huge_page() + - LP: #607824 + * powerpc: Fix handling of strncmp with zero len + - LP: #607824 + * powerpc/pseries: Only call start-cpu when a CPU is stopped + - LP: #607824 + * powerpc/pseries: Make query_cpu_stopped callable outside hotplug cpu + - LP: #607824 + * powerpc/oprofile: fix potential buffer overrun in op_model_cell.c + - LP: #607824 + * writeback: disable periodic old data writeback for + !dirty_writeback_centisecs + - LP: #607824 + * md/raid1: fix counting of write targets. + - LP: #607824 + * md: Fix read balancing in RAID1 and RAID10 on drives > 2TB + - LP: #607824 + * md: set mddev readonly flag on blkdev BLKROSET ioctl + - LP: #607824 + * x86/amd-iommu: Fix suspend/resume with IOMMU + - LP: #607824 + * exofs: confusion between kmap() and kmap_atomic() api + - LP: #607824 + * mn10300: set ARCH_KMALLOC_MINALIGN + - LP: #607824 + * m68k: set ARCH_KMALLOC_MINALIGN + - LP: #607824 + * rtc-cmos: do dev_set_drvdata() earlier in the initialization + - LP: #607824 + * rtc: s3c: initialize driver data before using it + - LP: #607824 + * frv: set ARCH_KMALLOC_MINALIGN + - LP: #607824 + * xtensa: set ARCH_KMALLOC_MINALIGN + - LP: #607824 + * Blackfin: set ARCH_KMALLOC_MINALIGN + - LP: #607824 + * tmpfs: insert tmpfs cache pages to inactive list at first + - LP: #607824 + * mlx4_core: Fix possible chunk sg list overflow in mlx4_alloc_icm() + - LP: #607824 + * ARM: 6166/1: Proper prefetch abort handling on pre-ARMv6 + - LP: #607824 + * ARM: 6164/1: Add kto and kfrom to input operands list. + - LP: #607824 + * ARM: 6146/1: sa1111: Prevent deadlock in resume path + - LP: #607824 + * ARM: 6144/1: TCM memory bug freeing bug + - LP: #607824 + * ARM: VFP: Fix vfp_put_double() for d16-d31 + - LP: #607824 + * ASoC: Fix dB scales for WM835x + - LP: #607824 + * ASoC: Fix dB scales for WM8400 + - LP: #607824 + * ASoC: Fix dB scales for WM8990 + - LP: #607824 + * hwmon: (ltc4245) Read only one GPIO pin + - LP: #607824 + * signals: check_kill_permission(): don't check creds if + same_thread_group() + - LP: #607824 + * do_generic_file_read: clear page errors when issuing a fresh read of + the page + - LP: #607824 + * ipmi: handle run_to_completion properly in deliver_recv_msg() + - LP: #607824 + * x86, setup: Phoenix BIOS fixup is needed on Dell Inspiron Mini 1012 + - LP: #607824 + * xen: ensure timer tick is resumed even on CPU driving the resume + - LP: #607824 + * xen: avoid allocation causing potential swap activity on the resume + path + - LP: #607824 + * ALSA: hda: Use LPIB for an ASUS device + - See: #465942, #607824 + * ALSA: hda: Use mb31 quirk for an iMac model + - LP: #542550, #607824 + * ALSA: hda: Use LPIB for another mainboard + - See: #580749, #607824 + * ALSA: hda: Use LPIB for ASUS M2V + - LP: #587546, #607824 + * Staging: comedi - correct parameter gainlkup for DAQCard-6024E in + driver ni_mio_cs.c + - LP: #607824 + * clocksource: sh_cmt: compute mult and shift before registration + - LP: #607824 + * ath5k: retain promiscuous setting + - LP: #607824 + * ahci: add pci quirk for JMB362 + - LP: #607824 + * firewire: core: check for 1394a compliant IRM, fix inaccessibility of + Sony camcorder + - LP: #607824 + * perf_events: Fix resource leak in x86 __hw_perf_event_init() + - LP: #607824 + * sata_nv: don't diddle with nIEN on mcp55 + - LP: #607824 + * sata_via: magic vt6421 fix for transmission problems w/ WD drives + - LP: #422994, #607824 + * USB: mos7840: fix null-pointer dereference + - LP: #607824 + * USB: xhci: Wait for host to start running. + - LP: #607824 + * USB: xhci: Wait for controller to be ready after reset. + - LP: #607824 + * USB: ftdi_sio: fix DTR/RTS line modes + - LP: #607824 + * USB: cdc-acm: fix resource reclaim in error path of acm_probe + - LP: #607824 + * p54usb: Add device ID for Dell WLA3310 USB + - LP: #607824 + * atl1e: Allow TX checksum offload and TSO to be disabled and reenabled + - LP: #607824 + * via-velocity: Give RX descriptors to the NIC later on open or MTU + change + - LP: #607824 + * dmfe/tulip: Let dmfe handle DM910x except for SPARC on-board chips + - LP: #607824 + * Documentation/3c509: document ethtool support + - LP: #607824 + * wireless: report reasonable bitrate for MCS rates through wext + - LP: #607824 + * ath9k: add support for 802.11n bonded out AR2427 + - LP: #607824 + * wrong type for 'magic' argument in simple_fill_super() + - LP: #607824 + * iwlwifi: check for aggregation frame and queue + - LP: #607824 + * iwlwifi: recalculate average tpt if not current + - LP: #607824 + * iwlwifi: update supported PCI_ID list for 5xx0 series + - LP: #607824 + * wl1251: fix a memory leak in probe + - LP: #607824 + * vfs: add NOFOLLOW flag to umount(2) + - LP: #607824 + * l2tp: Fix oops in pppol2tp_xmit + - LP: #607824 + * ucc_geth: Fix empty TX queue processing + - LP: #607824 + * ucc_geth: Fix netdev watchdog triggering on link changes + - LP: #607824 + * ucc_geth: Fix full TX queue processing + - LP: #607824 + * Input: psmouse - reset all types of mice before reconnecting + - LP: #607824 + * KVM: s390: Fix possible memory leak of in kvm_arch_vcpu_create() + - LP: #607824 + * KVM: PPC: Do not create debugfs if fail to create vcpu + - LP: #607824 + * x86, paravirt: Add a global synchronization point for pvclock + - LP: #607824 + * KVM: Don't allow lmsw to clear cr0.pe + - LP: #607824 + * KVM: x86: Check LMA bit before set_efer + - LP: #607824 + * KVM: MMU: Segregate shadow pages with different cr0.wp + - LP: #607824 + * KVM: VMX: enable VMXON check with SMX enabled (Intel TXT) + - LP: #607824 + * KVM: MMU: Don't read pdptrs with mmu spinlock held in mmu_alloc_roots + - LP: #607824 + * KVM: Fix wallclock version writing race + - LP: #607824 + * KVM: x86: Add missing locking to arch specific vcpu ioctls + - LP: #607824 + * KVM: x86: Inject #GP with the right rip on efer writes + - LP: #607824 + * jbd: jbd-debug and jbd2-debug should be writable + - LP: #607824 + * parisc: clear floating point exception flag on SIGFPE signal + - LP: #607824 + * dm snapshot: simplify sector_to_chunk expression + - LP: #607824 + * KEYS: Return more accurate error codes + - LP: #607824 + * qla2xxx: Disable MSI on qla24xx chips other than QLA2432. + - LP: #607824 + * Linux 2.6.32.16 + - LP: #607824 + * drm/i915: Fix 82854 PCI ID, and treat it like other 85X + - LP: #607824 + * drm/i915: Reject bind_to_gtt() early if object > aperture + - LP: #607824 + * drm/edid: Fix 1024x768@85Hz + - LP: #607824 + * drm/radeon/kms: reset ddc_bus in object header parsing + - LP: #607824 + * drm/radeon/kms/atom: fix typo in LVDS panel info parsing + - LP: #607824 + * drm/radeon: r100/r200 ums: block ability for userspace app to trash 0 + page and beyond + - LP: #607824 + * drm/radeon: fix the r100/r200 ums block 0 page fix + - LP: #607824 + * drm/i915: Rebind bo if currently bound with incorrect alignment. + - LP: #607824 + * Linux 2.6.32.16+drm33.6 + - LP: #607824 + * virtio-pci: disable msi at startup + - LP: #615548 + * hwmon: (k8temp) Bypass core swapping on single-core processors + - LP: #615548 + * hwmon: (k8temp) Fix temperature reporting for ASB1 processor revisions + - LP: #615548 + * hwmon: (coretemp) Properly label the sensors + - LP: #615548 + * hwmon: (coretemp) Skip duplicate CPU entries + - LP: #615548 + * hwmon: (it87) Fix in7 on IT8720F + - LP: #615548 + * cifs: remove bogus first_time check in NTLMv2 session setup code + - LP: #615548 + * cifs: don't attempt busy-file rename unless it's in same directory + - LP: #615548 + * CIFS: Fix a malicious redirect problem in the DNS lookup code + - LP: #615548 + * ALSA: hda - Add Macbook 5,2 quirk + - LP: #463178, #615548 + * cpmac: do not leak struct net_device on phy_connect errors + - LP: #615548 + * sky2: enable rx/tx in sky2_phy_reinit() + - LP: #615548 + * sparc: Fix use of uid16_t and gid16_t in asm/stat.h + - LP: #615548 + * math-emu: correct test for downshifting fraction in _FP_FROM_INT() + - LP: #615548 + * NFSv4: Fix an embarassing typo in encode_attrs() + - LP: #615548 + * NFSv4: Ensure that /proc/self/mountinfo displays the minor version + number + - LP: #615548 + * SUNRPC: Fix a re-entrancy bug in xs_tcp_read_calldir() + - LP: #615548 + * ath5k: drop warning on jumbo frames + - LP: #615548 + * ath9k: re-enable ps by default for new single chip families + - LP: #615548 + * ath9k: Avoid corrupt frames being forwarded to mac80211. + - LP: #615548 + * hostap: Protect against initialization interrupt + - LP: #615548 + * TPM: ReadPubEK output struct fix + - LP: #615548 + * fb: fix colliding defines for fb flags. + - LP: #615548 + * iwlwifi: cancel scan watchdog in iwl_bg_abort_scan + - LP: #615548 + * mac80211: do not wip out old supported rates + - LP: #615548 + * mac80211: Handle mesh action frames in ieee80211_rx_h_action + - LP: #615548 + * Btrfs: fix checks in BTRFS_IOC_CLONE_RANGE + - LP: #615548 + * p54pci: add Symbol AP-300 minipci adapters pciid + - LP: #615548 + * dynamic debug: move ddebug_remove_module() down into free_module() + - LP: #615548 + * tpm_tis: fix subsequent suspend failures + - LP: #615548 + * ipvs: Add missing locking during connection table hashing and unhashing + - LP: #615548 + * netfilter: ip6t_REJECT: fix a dst leak in ipv6 REJECT + - LP: #615548 + * SCSI: aacraid: Eliminate use after free + - LP: #615548 + * amd64-agp: Probe unknown AGP devices the right way + - LP: #615548 + * perf: Resurrect flat callchains + - LP: #615548 + * x86: Fix vsyscall on gcc 4.5 with -Os + - LP: #615548 + * x86, Calgary: Increase max PHB number + - LP: #615548 + * x86, Calgary: Limit the max PHB number to 256 + - LP: #615548 + * sched: Prevent compiler from optimising the sched_avg_update() loop + - LP: #615548 + * sched: Fix over-scheduling bug + - LP: #615548 + * genirq: Deal with desc->set_type() changing desc->chip + - LP: #615548 + * serial: cpm_uart: implement the cpm_uart_early_write() function for + console poll + - LP: #615548 + * cmd640: fix kernel oops in test_irq() method + - LP: #615548 + * ide: Fix IDE taskfile with cfq scheduler + - LP: #615548 + * net/core: neighbour update Oops + - LP: #615548 + * tcp: fix crash in tcp_xmit_retransmit_queue + - LP: #615548 + * rtc: fix ds1388 time corruption + - LP: #615548 + * ethtool: Fix potential kernel buffer overflow in ETHTOOL_GRXCLSRLALL + - LP: #615548 + * sdhci-s3c: add missing remove function + - LP: #615548 + * ASoC: Remove duplicate AUX definition from WM8776 + - LP: #615548 + * x86: Fix x2apic preenabled system with kexec + - LP: #615548 + * IPoIB: Fix world-writable child interface control sysfs attributes + - LP: #615548 + * Input: i8042 - add Gigabyte Spring Peak to dmi_noloop_table + - LP: #580664, #615548 + * Input: twl40300-keypad - fix handling of "all ground" rows + - LP: #615548 + * ARM: 6201/1: RealView: Do not use outer_sync() on ARM11MPCore boards + with L220 + - LP: #615548 + * ARM: 6226/1: fix kprobe bug in ldr instruction emulation + - LP: #615548 + * x86: Do not try to disable hpet if it hasn't been initialized before + - LP: #615548 + * staging: rtl8192su: add USB VID/PID for HWNUm-300 + - LP: #615548 + * Staging: rtl8192su: add USB ID for 0bda:8171 + - LP: #615548 + * USB: obey the sysfs power/wakeup setting + - LP: #615548 + * USB: g_serial: don't set low_latency flag + - LP: #615548 + * USB: g_serial: fix tty cleanup on unload + - LP: #615548 + * USB: option: add support for 1da5:4518 + - LP: #615548 + * USB: Add PID for Sierra 250U to drivers/usb/serial/sierra.c + - LP: #599569, #615548 + * USB: ftdi_sio: support for Signalyzer tools based on FTDI chips + - LP: #615548 + * USB: option: Add support for AMOI Skypephone S2 + - LP: #615548 + * USB: adds Artisman USB dongle to list of quirky devices + - LP: #615548 + * USB: sisusbvga: Fix for USB 3.0 + - LP: #615548 + * USB: add quirk for Broadcom BT dongle + - LP: #615548 + * USB: FTDI: Add support for the RT System VX-7 radio programming cable + - LP: #615548 + * ethtool: Fix potential user buffer overflow for ETHTOOL_{G, S}RXFH + - LP: #615548 + * ext4: Fix potential quota deadlock + - LP: #615548 + * ext4: replace BUG() with return -EIO in ext4_ext_get_blocks + - LP: #615548 + * ext4, jbd2: Add barriers for file systems with exernal journals + - LP: #615548 + * ext4: Eliminate potential double free on error path + - LP: #615548 + * ext4: return correct wbc.nr_to_write in ext4_da_writepages + - LP: #615548 + * ext4: Ensure zeroout blocks have no dirty metadata + - LP: #615548 + * ext4: Patch up how we claim metadata blocks for quota purposes + - LP: #615548 + * ext4: Fix accounting of reserved metadata blocks + - LP: #615548 + * ext4: Calculate metadata requirements more accurately + - LP: #615548 + * ext4: Handle -EDQUOT error on write + - LP: #615548 + * ext4: Fix quota accounting error with fallocate + - LP: #615548 + * ext4: Drop EXT4_GET_BLOCKS_UPDATE_RESERVE_SPACE flag + - LP: #615548 + * ext4: Use bitops to read/modify EXT4_I(inode)->i_state + - LP: #615548 + * ext4: Fix BUG_ON at fs/buffer.c:652 in no journal mode + - LP: #615548 + * ext4: Add flag to files with blocks intentionally past EOF + - LP: #615548 + * ext4: Fix fencepost error in chosing choosing group vs file + preallocation. + - LP: #615548 + * ext4: fix error handling in migrate + - LP: #615548 + * ext4: explicitly remove inode from orphan list after failed direct io + - LP: #615548 + * ext4: Handle non empty on-disk orphan link + - LP: #615548 + * ext4: make "offset" consistent in ext4_check_dir_entry() + - LP: #615548 + * ext4: Fix insertion point of extent in mext_insert_across_blocks() + - LP: #615548 + * ext4: Fix the NULL reference in double_down_write_data_sem() + - LP: #615548 + * ext4: Code cleanup for EXT4_IOC_MOVE_EXT ioctl + - LP: #615548 + * ext4: Fix estimate of # of blocks needed to write indirect-mapped files + - LP: #615548 + * ext4: Fixed inode allocator to correctly track a flex_bg's used_dirs + - LP: #615548 + * ext4: Fix possible lost inode write in no journal mode + - LP: #615548 + * ext4: Fix buffer head leaks after calls to ext4_get_inode_loc() + - LP: #615548 + * ext4: Issue the discard operation *before* releasing the blocks to be + reused + - LP: #615548 + * ext4: check missed return value in ext4_sync_file() + - LP: #615548 + * ext4: fix memory leaks in error path handling of ext4_ext_zeroout() + - LP: #615548 + * ext4: Remove unnecessary call to ext4_get_group_desc() in mballoc + - LP: #615548 + * ext4: rename ext4_mb_release_desc() to ext4_mb_unload_buddy() + - LP: #615548 + * ext4: allow defrag (EXT4_IOC_MOVE_EXT) in 32bit compat mode + - LP: #615548 + * ext4: fix quota accounting in case of fallocate + - LP: #615548 + * ext4: check s_log_groups_per_flex in online resize code + - LP: #615548 + * ext4: don't return to userspace after freezing the fs with a mutex held + - LP: #615548 + * ext4: stop issuing discards if not supported by device + - LP: #615548 + * ext4: don't scan/accumulate more pages than mballoc will allocate + - LP: #615548 + * ext4: Do not zero out uninitialized extents beyond i_size + - LP: #615548 + * ext4: clean up inode bitmaps manipulation in ext4_free_inode + - LP: #615548 + * ext4: init statistics after journal recovery + - LP: #615548 + * ext4: Remove extraneous newlines in ext4_msg() calls + - LP: #615548 + * ext4: Prevent creation of files larger than RLIMIT_FSIZE using + fallocate + - LP: #615548 + * ext4: check for a good block group before loading buddy pages + - LP: #615548 + * ext4: Show journal_checksum option + - LP: #615548 + * ext4: Use bitops to read/modify i_flags in struct ext4_inode_info + - LP: #615548 + * ext4: Avoid crashing on NULL ptr dereference on a filesystem error + - LP: #615548 + * ext4: Clear the EXT4_EOFBLOCKS_FL flag only when warranted + - LP: #615548 + * ext4: restart ext4_ext_remove_space() after transaction restart + - LP: #615548 + * ext4: Conditionally define compat ioctl numbers + - LP: #615548 + * ext4: Fix compat EXT4_IOC_ADD_GROUP + - LP: #615548 + * ext4: Make fsync sync new parent directories in no-journal mode + - LP: #615548 + * KVM: MMU: Remove user access when allowing kernel access to gpte.w=0 + page + - LP: #615548 + * KVM: SVM: Handle MCEs early in the vmexit process + - LP: #615548 + * KVM: SVM: Implement workaround for Erratum 383 + - LP: #615548 + * KVM: MMU: invalidate and flush on spte small->large page size change + - LP: #615548 + * futex: futex_find_get_task remove credentails check + - LP: #615548 + * GFS2: Fix up system xattrs + - LP: #615548 + * PM / x86: Save/restore MISC_ENABLE register + - LP: #615548 + * ACPI: skip checking BM_STS if the BIOS doesn't ask for it + - LP: #615548 + * ACPI: Unconditionally set SCI_EN on resume + - LP: #615548 + * libertas/sdio: 8686: set ECSI bit for 1-bit transfers + - LP: #615548 + * dm9000: fix "BUG: spinlock recursion" + - LP: #615548 + * firmware_class: fix memory leak - free allocated pages + - LP: #615548 + * revert "[CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second + call site)" + - LP: #615548 + * ALSA: Echoaudio, fix Guru Meditation #00000005.48454C50 + - LP: #615548 + * V4L/DVB: dvb-core: Fix ULE decapsulation bug + - LP: #615548 + * V4L/DVB: FusionHDTV: Use quick reads for I2C IR device probing + - LP: #615548 + * forcedeth: fix tx limit2 flag check + - LP: #615548 + * staging: rtl8192su: add Support for Belkin F5D8053 v6 + - LP: #615548 + * MIPS FPU emulator: allow Cause bits of FCSR to be writeable by ctc1 + - LP: #615548 + * V4L/DVB: budget: Select correct frontends + - LP: #615548 + * cxgb3: fix linkup issue + - LP: #615548 + * mac80211: fix supported rates IE if AP doesn't give us it's rates + - LP: #615548 + * V4L/DVB: uvcvideo: Add support for unbranded Arkmicro 18ec:3290 webcams + - LP: #615548 + * V4L/DVB: uvcvideo: Add support for Packard Bell EasyNote MX52 + integrated webcam + - LP: #615548 + * V4L/DVB: uvcvideo: Add support for V4L2_PIX_FMT_Y16 + - LP: #615548 + * iwlagn: verify flow id in compressed BA packet + - LP: #615548 + * kbuild: Fix modpost segfault + - LP: #615548 + * eeepc-laptop: check wireless hotplug events + - LP: #615548 + * Fix spinaphore down_spin() + - LP: #615548 + * ath5k: initialize ah->ah_current_channel + - LP: #615548 + * Input: RX51 keymap - fix recent compile breakage + - LP: #615548 + * V4L/DVB (13830): uvcvideo: add another YUYV format GUID for iSight + cameras + - LP: #615548 + * Linux 2.6.32.17 + - LP: #615548 + * drm/i915: fix hibernation since i915 self-reclaim fixes + - LP: #615548 + * drm/i915: add 'reclaimable' to i915 self-reclaimable page allocations + - LP: #615548 + * i915: fix lock imbalance on error path... + - LP: #615548 + * drm/i915: Define MI_ARB_STATE bits + - LP: #615548 + * drm/i915: enable low power render writes on GEN3 hardware. + - LP: #615548 + * drm/i915: Make G4X-style PLL search more permissive + - LP: #615548 + * drm/radeon/r200: handle more hw tex coord types + - LP: #615548 + * drm/radeon/r100/r200: fix calculation of compressed cube maps + - LP: #615548 + * drm/radeon/kms: CS checker texture fixes for r1xx/r2xx/r3xx + - LP: #615548 + * drm/radeon/kms: fix shared ddc handling + - LP: #615548 + * drm/radeon/kms: fix shared ddc harder + - LP: #615548 + * drm/radeon/kms: add quirk for ASUS HD 3600 board + - LP: #615548 + * drm/radeon/kms: fix possible mis-detection of sideport on rs690/rs740 + - LP: #615548 + * drm/radeon/kms: fix legacy LVDS dpms sequence + - LP: #615548 + * drm/radeon/kms: fix legacy tv-out pal mode + - LP: #615548 + * Linux 2.6.32.17+drm33.7 + - LP: #615548 + * (pre-stable) writeback: remove the always false + bdi_cap_writeback_dirty() test + - LP: #543617, #585092 + * (pre-stable) writeback: remove unused nonblocking and congestion checks + - LP: #543617, #585092 + * (pre-stable) vfs: improve writeback_inodes_wb() + - LP: #543617, #585092 + * (pre-stable) writeback: add missing kernel-doc notation + - LP: #543617, #585092 + * (pre-stable) writeback: fix writeback completion notifications + - LP: #543617, #585092 + * (pre-stable) writeback: queue work on stack in writeback_inodes_sb + - LP: #543617, #585092 + * (pre-stable) writeback: enforce s_umount locking in writeback_inodes_sb + - LP: #543617, #585092 + * (pre-stable) writeback: fix writeback_inodes_wb from + writeback_inodes_sb + - LP: #543617, #585092 + * (pre-stable) writeback: simplify wakeup_flusher_threads + - LP: #543617, #585092 + * (pre-stable) writeback: simplify and split bdi_start_writeback + - LP: #543617, #585092 + * (pre-stable) writeback: add missing requeue_io in writeback_inodes_wb + - LP: #543617, #585092 + * (pre-stable) writeback: fix pin_sb_for_writeback + - LP: #543617, #585092 + * (pre-stable) writeback: remove writeback_inodes_wbc + - LP: #543617, #585092 + * (pre-stable) writeback: split writeback_inodes_wb + - LP: #543617, #585092 + * (pre-stable) writeback: simplify the write back thread queue + - LP: #543617, #585092 + * (pre-stable) Fix compiling NFS when backporting writeback + - LP: #543617, #585092 + * sched: cgroup: Implement different treatment for idle shares + - LP: #620755 + * mm: fix ia64 crash when gcore reads gate area + - LP: #620755 + * acl trouble after upgrading ubuntu + - LP: #620755 + * comedi: Uncripple 8255-based DIO subdevices + - LP: #620755 + * NFS: kswapd must not block in nfs_release_page + - LP: #620755 + * PARISC: led.c - fix potential stack overflow in led_proc_write() + - LP: #620755 + * arm/imx/gpio: add spinlock protection + - LP: #620755 + * parisc: pass through '\t' to early (iodc) console + - LP: #620755 + * amd64_edac: Fix DCT base address selector + - LP: #620755 + * amd64_edac: Correct scrub rate setting + - LP: #620755 + * e1000e: don't inadvertently re-set INTX_DISABLE + - LP: #620755 + * e1000e: 82577/82578 PHY register access issues + - LP: #620755 + * 9p: strlen() doesn't count the terminator + - LP: #620755 + * ath9k: enable serialize_regmode for non-PCIE AR9160 + - LP: #620755 + * ath9k_hw: fix an off-by-one error in the PDADC boundaries calculation + - LP: #620755 + * ath9k: fix TSF after reset on AR913x + - LP: #620755 + * ath9k: fix yet another buffer leak in the tx aggregation code + - LP: #620755 + * iwlwifi: fix scan abort + - LP: #620755 + * cfg80211: ignore spurious deauth + - LP: #620755 + * cfg80211: don't get expired BSSes + - LP: #620755 + * xfs: prevent swapext from operating on write-only files + - LP: #620755 + * SCSI: enclosure: fix error path - actually return ERR_PTR() on error + - LP: #620755 + * GFS2: rename causes kernel Oops + - LP: #620755 + * slow-work: use get_ref wrapper instead of directly calling get_ref + - LP: #620755 + * CIFS: Remove __exit mark from cifs_exit_dns_resolver() + - LP: #620755 + * CIFS: Fix compile error with __init in cifs_init_dns_resolver() + definition + - LP: #620755 + * xen: drop xen_sched_clock in favour of using plain wallclock time + - LP: #620755 + * ssb: do not read SPROM if it does not exist + - LP: #620755 + * ssb: Look for SPROM at different offset on higher rev CC + - LP: #620755 + * ssb: fix NULL ptr deref when pcihost_wrapper is used + - LP: #620755 + * ssb: Handle alternate SSPROM location + - LP: #620755 + * Linux 2.6.32.18 + - LP: #620755 + * ata_piix: fix locking around SIDPR access + - LP: #622877 + * powerpc: fix build with make 3.82 + - LP: #622877 + * nvram: Fix write beyond end condition; prove to gcc copy is safe + - LP: #622877 + * x86: Add memory modify constraints to xchg() and cmpxchg() + - LP: #622877 + * x86, vmware: Preset lpj values when on VMware. + - LP: #622877 + * Staging: line6: needs to select SND_PCM + - LP: #622877 + * Staging: panel: Prevent double-calling of parport_release - fix oops. + - LP: #622877 + * PCI: Do not run NVidia quirks related to MSI with MSI disabled + - LP: #622877 + * PCI: disable MSI on VIA K8M800 + - LP: #622877 + * solos-pci: Fix race condition in tasklet RX handling + - LP: #622877 + * splice: fix misuse of SPLICE_F_NONBLOCK + - LP: #622877 + * drivers/video/w100fb.c: ignore void return value / fix build failure + - LP: #622877 + * ide-cd: Do not access completed requests in the irq handler + - LP: #622877 + * md/raid10: fix deadlock with unaligned read during resync + - LP: #622877 + * blkdev: cgroup whitelist permission fix + - LP: #622877 + * eCryptfs: Handle ioctl calls with unlocked and compat functions + - LP: #622877 + * ecryptfs: release reference to lower mount if interpose fails + - LP: #622877 + * fs/ecryptfs/file.c: introduce missing free + - LP: #622877 + * bio, fs: update RWA_MASK, READA and SWRITE to match the corresponding + BIO_RW_* bits + - LP: #622877 + * signalfd: fill in ssi_int for posix timers and message queues + - LP: #622877 + * smsc911x: Add spinlocks around registers access + - LP: #622877 + * ARM: 6299/1: errata: TLBIASIDIS and TLBIMVAIS operations can broadcast + a faulty ASID + - LP: #622877 + * ARM: 6280/1: imx: Fix build failure when including + without + - LP: #622877 + * USB: resizing usbmon binary interface buffer causes protection faults + - LP: #622877 + * USB delay init quirk for logitech Harmony 700-series devices + - LP: #622877 + * USB: serial: enabling support for Segway RMP in ftdi_sio + - LP: #622877 + * USB: option: Huawei ETS 1220 support added + - LP: #622877 + * USB: option: add huawei k3765 k4505 devices to work properly + - LP: #622877 + * USB: ftdi_sio: device id for Navitator + - LP: #622877 + * USB: cp210x: Add four new device IDs + - LP: #622877 + * USB: usbtest: avoid to free coherent buffer in atomic context + - LP: #622877 + * USB: fix thread-unsafe anchor utiliy routines + - LP: #622877 + * drm/edid: Fix the HDTV hack sync adjustment + - LP: #622877 + * Bluetooth: Added support for controller shipped with iMac i5 + - LP: #622877 + * jfs: don't allow os2 xattr namespace overlap with others + - LP: #622877 + * arp_notify: allow drivers to explicitly request a notification event. + - LP: #622877 + * xen: netfront: explicitly generate arp_notify event after migration. + - LP: #622877 + * net: Fix NETDEV_NOTIFY_PEERS to not conflict with + NETDEV_BONDING_DESLAVE. + - LP: #622877 + * irq: Add new IRQ flag IRQF_NO_SUSPEND + - LP: #622877 + * xen: Do not suspend IPI IRQs. + - LP: #622877 + * drm/i915: Use RSEN instead of HTPLG for tfp410 monitor detection. + - LP: #622877 + * Btrfs: Avoid superfluous tree-log writeout + - LP: #622877 + * Btrfs: Add btrfs_duplicate_item + - LP: #622877 + * Btrfs: Rewrite btrfs_drop_extents + - LP: #622877 + * Btrfs: Fix disk_i_size update corner case + - LP: #622877 + * Btrfs: Avoid orphan inodes cleanup while replaying log + - LP: #622877 + * Btrfs: Avoid orphan inodes cleanup during committing transaction + - LP: #622877 + * Btrfs: Make fallocate(2) more ENOSPC friendly + - LP: #622877 + * Btrfs: Make truncate(2) more ENOSPC friendly + - LP: #622877 + * Btrfs: Pass transaction handle to security and ACL initialization + functions + - LP: #622877 + * Btrfs: Add delayed iput + - LP: #622877 + * Btrfs: Fix btrfs_drop_extent_cache for skip pinned case + - LP: #622877 + * Btrfs: Fix per root used space accounting + - LP: #622877 + * Btrfs: don't add extent 0 to the free space cache v2 + - LP: #622877 + * Btrfs: fail mount on bad mount options + - LP: #622877 + * Btrfs: deny sys_link across subvolumes. + - LP: #622877 + * Btrfs: Show discard option in /proc/mounts + - LP: #622877 + * Btrfs: make metadata chunks smaller + - LP: #622877 + * Btrfs: make sure fallocate properly starts a transaction + - LP: #622877 + * btrfs: fix missing last-entry in readdir(3) + - LP: #622877 + * Btrfs: align offsets for btrfs_ordered_update_i_size + - LP: #622877 + * Btrfs, fix memory leaks in error paths + - LP: #622877 + * Btrfs: Fix race in btrfs_mark_extent_written + - LP: #622877 + * Btrfs: fix regression in orphan cleanup + - LP: #622877 + * Btrfs: deal with NULL acl sent to btrfs_set_acl + - LP: #622877 + * Btrfs: fix possible panic on unmount + - LP: #622877 + * Btrfs: Use correct values when updating inode i_size on fallocate + - LP: #622877 + * Btrfs: fix a memory leak in btrfs_init_acl + - LP: #622877 + * Btrfs: run orphan cleanup on default fs root + - LP: #622877 + * Btrfs: do not mark the chunk as readonly if in degraded mode + - LP: #622877 + * Btrfs: check return value of open_bdev_exclusive properly + - LP: #622877 + * Btrfs: check total number of devices when removing missing + - LP: #622877 + * Btrfs: fix race between allocate and release extent buffer. + - LP: #622877 + * Btrfs: make error return negative in btrfs_sync_file() + - LP: #622877 + * Btrfs: remove BUG_ON() due to mounting bad filesystem + - LP: #622877 + * Btrfs: Fix oopsen when dropping empty tree. + - LP: #622877 + * Btrfs: do not try and lookup the file extent when finishing ordered io + - LP: #622877 + * Btrfs: apply updated fallocate i_size fix + - LP: #622877 + * Btrfs: btrfs_mark_extent_written uses the wrong slot + - LP: #622877 + * Btrfs: kfree correct pointer during mount option parsing + - LP: #622877 + * nohz: Introduce arch_needs_cpu + - LP: #622877 + * nohz: Reuse ktime in sub-functions of tick_check_idle. + - LP: #622877 + * timekeeping: Fix clock_gettime vsyscall time warp + - LP: #622877 + * sched: Fix granularity of task_u/stime() + - LP: #622877 + * sched, cputime: Introduce thread_group_times() + - LP: #622877 + * mutex: Don't spin when the owner CPU is offline or other weird cases + - LP: #622877 + * fix SBA IOMMU to handle allocation failure properly + - LP: #622877 + * crypto: testmgr - Fix complain about lack test for internal used + algorithm + - LP: #622877 + * memory hotplug: fix a bug on /dev/mem for 64-bit kernels + - LP: #622877 + * x86: Fix out of order of gsi + - LP: #622877 + * HWPOISON: remove the anonymous entry + - LP: #622877 + * HWPOISON: abort on failed unmap + - LP: #622877 + * powerpc/eeh: Fix a bug when pci structure is null + - LP: #622877 + * ACPI: Fix regression where _PPC is not read at boot even when + ignore_ppc=0 + - LP: #622877 + * ext4: Make sure the MOVE_EXT ioctl can't overwrite append-only files + - LP: #622877 + * ext4: Fix optional-arg mount options + - LP: #622877 + * reiserfs: properly honor read-only devices + - LP: #622877 + * reiserfs: fix oops while creating privroot with selinux enabled + - LP: #622877 + * dlm: always use GFP_NOFS + - LP: #622877 + * dlm: fix ordering of bast and cast + - LP: #622877 + * dlm: send reply before bast + - LP: #622877 + * ocfs2: Find proper end cpos for a leaf refcount block. + - LP: #622877 + * ocfs2: Set MS_POSIXACL on remount + - LP: #622877 + * Skip check for mandatory locks when unlocking + - LP: #622877 + * loop: Update mtime when writing using aops + - LP: #622877 + * aic79xx: check for non-NULL scb in ahd_handle_nonpkt_busfree + - LP: #622877 + * ibmvfc: Fix command completion handling + - LP: #622877 + * ibmvfc: Reduce error recovery timeout + - LP: #622877 + * md/raid1: delay reads that could overtake behind-writes. + - LP: #622877 + * mm: fix corruption of hibernation caused by reusing swap during image + saving + - LP: #622877 + * Linux 2.6.32.19 + - LP: #622877 + * Linux 2.6.32.20 + - LP: #622882 + * memstick: fix hangs on unexpected device removal in mspro_blk + - LP: #625392 + * ASoC: Fix inverted mute controls for WM8580 + - LP: #625392 + * ASoC: Remove DSP mode support for WM8776 + - LP: #625392 + * ALSA: riptide - Fix detection / load of firmware files + - LP: #625392 + * ALSA: emu10k1 - delay the PCM interrupts (add pcm_irq_delay parameter) + - LP: #625392 + * ALSA: hda - Fix missing stream for second ADC on Realtek ALC260 HDA + codec + - LP: #625392 + * ocfs2: do not overwrite error codes in ocfs2_init_acl + - LP: #625392 + * ocfs2/dlm: fix a dead lock + - LP: #625392 + * ocfs2 fix o2dlm dlm run purgelist (rev 3) + - LP: #625392 + * ocfs2: Count more refcount records in file system fragmentation. + - LP: #625392 + * ocfs2/dlm: avoid incorrect bit set in refmap on recovery master + - LP: #625392 + * ocfs2/dlm: remove potential deadlock -V3 + - LP: #625392 + * x86, hotplug: Serialize CPU hotplug to avoid bringup concurrency issues + - LP: #625392 + * x86, apic: Fix apic=debug boot crash + - LP: #625392 + * Fix the nested PR lock calling issue in ACL + - LP: #625392 + * hwmon: (pc87360) Fix device resource declaration + - LP: #625392 + * ARM: Tighten check for allowable CPSR values + - LP: #625392 + * nfs: Add "lookupcache" to displayed mount options + - LP: #625392 + * ath5k: disable ASPM L0s for all cards + - LP: #625392 + * pxa3xx: fix ns2cycle equation + - LP: #625392 + * dm mpath: fix NULL pointer dereference when path parameters missing + - LP: #625392 + * dm ioctl: release _hash_lock between devices in remove_all + - LP: #625392 + * mm: make the vma list be doubly linked + - LP: #625392 + * mm: make the mlock() stack guard page checks stricter + - LP: #625392 + * mm: make stack guard page logic use vm_prev pointer + - LP: #625392 + * slab: fix object alignment + - LP: #625392 + * sunxvr500: Ignore secondary output PCI devices. + - LP: #625392 + * sparc64: Add missing ID to parport probing code. + - LP: #625392 + * sparc64: Fix rwsem constant bug leading to hangs. + - LP: #625392 + * sparc64: Fix atomic64_t routine return values. + - LP: #625392 + * net: Fix a memmove bug in dev_gro_receive() + - LP: #625392 + * isdn: fix information leak + - LP: #625392 + * act_nat: the checksum of ICMP doesn't have pseudo header + - LP: #625392 + * vmscan: raise the bar to PAGEOUT_IO_SYNC stalls + - LP: #625392 + * pcmcia: avoid buffer overflow in pcmcia_setup_isa_irq + - LP: #625392 + * ext4: consolidate in_range() definitions + - LP: #625392 + * Oprofile: Change CPUIDS from decimal to hex, and add some comments + - LP: #625392 + * oprofile: add support for Intel processor model 30 + - LP: #625392 + * fixes for using make 3.82 + - LP: #625392 + * ALSA: intel8x0: Mute External Amplifier by default for ThinkPad X31 + - LP: #619439, #625392 + * netlink: fix compat recvmsg + - LP: #625392 + * powerpc: Fix typo in uImage target + - LP: #625392 + * USB: option: add Celot CT-650 + - LP: #625392 + * USB: add device IDs for igotu to navman + - LP: #625392 + * USB: pl2303: New vendor and product id + - LP: #625392 + * USB: CP210x Fix Break On/Off + - LP: #625392 + * USB: ftdi_sio: fix endianess of max packet size + - LP: #625392 + * USB: io_ti: check firmware version before updating + - LP: #625392 + * USB: xhci: Remove buggy assignment in next_trb() + - LP: #625392 + * USB: ftdi_sio: Add ID for Ionics PlugComputer + - LP: #625392 + * USB: ftdi_sio: add product ID for Lenz LI-USB + - LP: #625392 + * x86, apic: ack all pending irqs when crashed/on kexec + - LP: #625392 + * Linux 2.6.32.21 + - LP: #625392 + + -- Stefan Bader Tue, 31 Aug 2010 15:17:31 +0200 + +linux (2.6.32-24.43) lucid-security; urgency=low + + [ Upstream Kernel Changes ] + + * 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 + * compat: Make compat_alloc_user_space() incorporate the access_ok() + - CVE-2010-3081 + + -- Stefan Bader Thu, 16 Sep 2010 10:27:21 +0200 + +linux (2.6.32-24.42) lucid-proposed; urgency=low + + [ Upstream Kernel Changes ] + + * (pre-stable) drm/i915: add PANEL_UNLOCK_REGS definition + - LP: #561802, #578673 + * (pre-stable) drm/i915: make sure eDP panel is turned on + - LP: #578673 + * (pre-stable) drm/i915: make sure we shut off the panel in eDP configs + - LP: #578673 + + -- Stefan Bader Thu, 19 Aug 2010 15:20:42 +0200 + +linux (2.6.32-24.41) lucid-security; urgency=low + + [ Upstream Kernel Changes ] + + * (pre-stable) ext4: fix freeze deadlock under IO + - LP: #595489 + * drm: Initialize ioctl struct when no user data is present + - CVE-2010-2803 + * can: add limit for nframes and clean up signed/unsigned variables + - CVE-2010-2959 + * mm: keep a guard page below a grow-down stack segment + - CVE-2010-2240 + * mm: fix missing page table unmap for stack guard page failure case + - CVE-2010-2240 + * mm: fix page table unmap for stack guard page properly + - CVE-2010-2240 + * mm: fix up some user-visible effects of the stack guard page + - CVE-2010-2240 + * x86: don't send SIGBUS for kernel page faults + - CVE-2010-2240 + + -- Stefan Bader Wed, 18 Aug 2010 14:24:07 +0200 + +linux (2.6.32-24.39) lucid-security; urgency=low + + [ Upstream Kernel Changes ] + + * sctp: Fix skb_over_panic resulting from multiple invalid parameter + errors (CVE-2010-1173) (v4) + - CVE-2010-1173 + * sctp: fix append error cause to ERROR chunk correctly + - CVE-2010-1173 + * GFS2: Fix writing to non-page aligned gfs2_quota structures + - CVE-2010-1436 + * KEYS: find_keyring_by_name() can gain access to a freed keyring + - CVE-2010-1437 + * GFS2: Fix permissions checking for setflags ioctl() + - CVE-2010-1641 + * Btrfs: should add a permission check for setfacl + - CVE-2010-2071 + * ecryptfs: Bugfix for error related to ecryptfs_hash_buckets + - CVE-2010-2492 + + -- Stefan Bader Wed, 21 Jul 2010 10:48:54 +0200 + +linux (2.6.32-24.38) lucid-proposed; urgency=low + + [ Keng-Yu Lin ] + + * SAUCE: dell-laptop: fire SMI when toggling hardware killswitch + (revised) + - LP: #590607 + + [ Upstream Kernel Changes ] + + * sfc: Wait at most 10ms for the MC to finish reading out MAC statistics + - LP: #590783 + * sfc: Always close net device at the end of a disabling reset + - LP: #590783 + * sfc: Change falcon_probe_board() to fail for unsupported boards + - LP: #590783 + * ext4: Fix potential quota deadlock + - LP: #588069 + * jbd: jbd-debug and jbd2-debug should be writable + - LP: #588069 + * ext4: replace BUG() with return -EIO in ext4_ext_get_blocks + - LP: #588069 + * ext4, jbd2: Add barriers for file systems with exernal journals + - LP: #588069 + * ext4: Eliminate potential double free on error path + - LP: #588069 + * ext4: return correct wbc.nr_to_write in ext4_da_writepages + - LP: #588069 + * ext4: Ensure zeroout blocks have no dirty metadata + - LP: #588069 + * ext4: Patch up how we claim metadata blocks for quota purposes + - LP: #588069 + * ext4: Fix accounting of reserved metadata blocks + - LP: #588069 + * ext4: Calculate metadata requirements more accurately + - LP: #588069 + * ext4: Handle -EDQUOT error on write + - LP: #588069 + * ext4: Fix quota accounting error with fallocate + - LP: #588069 + * ext4: Drop EXT4_GET_BLOCKS_UPDATE_RESERVE_SPACE flag + - LP: #588069 + * ext4: Use bitops to read/modify EXT4_I(inode)->i_state + - LP: #588069 + * ext4: Fix BUG_ON at fs/buffer.c:652 in no journal mode + - LP: #588069 + * ext4: Add flag to files with blocks intentionally past EOF + - LP: #588069 + * ext4: Fix fencepost error in chosing choosing group vs file + preallocation. + - LP: #588069 + * ext4: fix error handling in migrate + - LP: #588069 + * ext4: explicitly remove inode from orphan list after failed direct io + - LP: #588069 + * ext4: Handle non empty on-disk orphan link + - LP: #588069 + * ext4: make "offset" consistent in ext4_check_dir_entry() + - LP: #588069 + * ext4: Fix insertion point of extent in mext_insert_across_blocks() + - LP: #588069 + * ext4: Fix the NULL reference in double_down_write_data_sem() + - LP: #588069 + * ext4: Code cleanup for EXT4_IOC_MOVE_EXT ioctl + - LP: #588069 + * ext4: Fix estimate of # of blocks needed to write indirect-mapped files + - LP: #588069 + * ext4: Fixed inode allocator to correctly track a flex_bg's used_dirs + - LP: #588069 + * ext4: Fix possible lost inode write in no journal mode + - LP: #588069 + * ext4: Fix buffer head leaks after calls to ext4_get_inode_loc() + - LP: #588069 + * ext4: Issue the discard operation *before* releasing the blocks to be + reused + - LP: #588069 + * ext4: check missed return value in ext4_sync_file() + - LP: #588069 + * ext4: fix memory leaks in error path handling of ext4_ext_zeroout() + - LP: #588069 + * ext4: Remove unnecessary call to ext4_get_group_desc() in mballoc + - LP: #588069 + * ext4: rename ext4_mb_release_desc() to ext4_mb_unload_buddy() + - LP: #588069 + * ext4: allow defrag (EXT4_IOC_MOVE_EXT) in 32bit compat mode + - LP: #588069 + * ext4: fix quota accounting in case of fallocate + - LP: #588069 + * ext4: check s_log_groups_per_flex in online resize code + - LP: #588069 + * ext4: don't return to userspace after freezing the fs with a mutex held + - LP: #588069 + * ext4: stop issuing discards if not supported by device + - LP: #588069 + * ext4: don't scan/accumulate more pages than mballoc will allocate + - LP: #588069 + * ext4: Do not zero out uninitialized extents beyond i_size + - LP: #588069 + * ext4: clean up inode bitmaps manipulation in ext4_free_inode + - LP: #588069 + * ext4: init statistics after journal recovery + - LP: #588069 + * ext4: Remove extraneous newlines in ext4_msg() calls + - LP: #588069 + * ext4: Prevent creation of files larger than RLIMIT_FSIZE using + fallocate + - LP: #588069 + * ext4: check for a good block group before loading buddy pages + - LP: #588069 + * ext4: Show journal_checksum option + - LP: #588069 + * ext4: Use bitops to read/modify i_flags in struct ext4_inode_info + - LP: #588069 + * ext4: Avoid crashing on NULL ptr dereference on a filesystem error + - LP: #588069 + * ext4: Clear the EXT4_EOFBLOCKS_FL flag only when warranted + - LP: #588069 + * ext4: restart ext4_ext_remove_space() after transaction restart + - LP: #588069 + * ext4: Conditionally define compat ioctl numbers + - LP: #588069 + * ext4: Fix compat EXT4_IOC_ADD_GROUP + - LP: #588069 + * ext4: Make fsync sync new parent directories in no-journal mode + - LP: #588069 + * (pre-stable) ahci,ata_generic: let ata_generic handle new MBP w/ MCP89 + - LP: #576601 + * (pre-stable) ata_generic: implement ATA_GEN_* flags and force enable + DMA on MBP 7,1 + - LP: #576601 + + -- Steve Conklin Fri, 2 Jul 2010 11:06:32 -0500 + +linux (2.6.32-23.37) lucid-proposed; urgency=low + + [ Alex Deucher ] + + * SAUCE: drm/radeon/kms/atom: fix dual-link DVI on DCE3.2/4.0 + - LP: #564559 + + [ Andy Whitcroft ] + + * [Config] ports -- build in dm-mod to enable LVM boot + - LP: #560717 + * tools -- fix perf version extraction for multi-part flavours + - LP: #555130 + * SAUCE: ACPI: EC: Allow multibyte access to EC (v3) + - LP: #526354 + * [Config] enforce -- ensure dm_mod is built-in for LVM + - LP: #560717 + * update to ubuntu-debian:7e708d33054c373faf41da23b73e8b48c342d958 + - LP: #570500, #576274 + + [ Chase Douglas ] + + * Revert "(pre-stable): input: ALPS - Add signature for HP Pavilion dm3 + laptops" + - LP: #550625 + * Enable ftrace function profiler + - LP: #570389 + * enforce CONFIG_TMPFS_POSIX_ACL=y + - LP: #575940 + + [ Leann Ogasawara ] + + * Revert "staging/comdi -- disable" + - LP: #563436 + * [Config] Enable multicast routing for sparc + - LP: #416266 + * [Config] Add ahci.ko to virtual sub-flavour + - LP: #570542 + + [ Stefan Bader ] + + * Revert "SAUCE: drm/i915: Disable FBC on 915GM and 945GM" + - LP: #588832 + + [ Tim Gardner ] + + * ubuntu: rtl8192se -- update to version 0015.0127.2010 + - LP: #567016 + * [Config] Add atl1c to nic-modules udeb + - LP: #557130 + + [ Upstream Kernel Changes ] + + * Revert "(pre-stable) iwlwifi: fix nfreed--" + - LP: #575853 + * Revert "backlight: mbp_nvidia_bl - add five more MacBook variants" + - LP: #575853 + * Revert "(pre-stable) pata_via: Add VIA VX900 support" + - LP: #575853 + * Revert "(pre-stable) x86-32, resume: do a global tlb flush in S4 + resume" + - LP: #575853 + * Revert "x86: disable IOMMUs on kernel crash" + - LP: #575853 + * Revert "sunrpc: fix peername failed on closed listener" + - LP: #575853 + * Revert "sunrpc: move the close processing after do recvfrom method" + - LP: #575853 + * Revert "(pre-stable) drm/edid: allow certain bogus edids to hit a fixup + path rather than fail" + - LP: #575853 + * Revert "drm/radeon/kms: don't print error on -ERESTARTSYS." + - LP: #575853 + * Revert "ath9k: fix lockdep warning when unloading module" on stable + kernels + - LP: #588832 + * Staging: comedi: removed "depricated" from COMEDI_CB_BLOCK + - LP: #483343 + * fat: fix buffer overflow in vfat_create_shortname() + - LP: #575853 + * xfs: simplify inode teardown + - LP: #575853 + * xfs: fix mmap_sem/iolock inversion in xfs_free_eofblocks + - LP: #575853 + * xfs: I/O completion handlers must use NOFS allocations + - LP: #575853 + * xfs: Wrapped journal record corruption on read at recovery + - LP: #575853 + * xfs: Fix error return for fallocate() on XFS + - LP: #575853 + * xfs: check for not fully initialized inodes in xfs_ireclaim + - LP: #575853 + * xfs: fix timestamp handling in xfs_setattr + - LP: #575853 + * xfs: Don't flush stale inodes + - LP: #575853 + * xfs: Ensure we force all busy extents in range to disk + - LP: #575853 + * xfs: reclaim inodes under a write lock + - LP: #575853 + * xfs: Avoid inodes in reclaim when flushing from inode cache + - LP: #575853 + * xfs: reclaim all inodes by background tree walks + - LP: #575853 + * xfs: fix stale inode flush avoidance + - LP: #575853 + * xfs: xfs_swap_extents needs to handle dynamic fork offsets + - LP: #575853 + * xfs: quota limit statvfs available blocks + - LP: #575853 + * xfs: don't hold onto reserved blocks on remount, ro + - LP: #575853 + * xfs: remove invalid barrier optimization from xfs_fsync + - LP: #575853 + * xfs: Non-blocking inode locking in IO completion + - LP: #575853 + * xfs: fix locking for inode cache radix tree tag updates + - LP: #575853 + * sh: Enable the mmu in start_secondary() + - LP: #575853 + * sh: Fix FDPIC binary loader + - LP: #575853 + * libiscsi: Fix recovery slowdown regression + - LP: #575853 + * Freezer: Fix buggy resume test for tasks frozen with cgroup freezer + - LP: #575853 + * iwlwifi: counting number of tfds can be free for 4965 + - LP: #575853 + * iwlwifi: fix nfreed-- + - LP: #575853 + * iwlwifi: range checking issue + - LP: #575853 + * setup correct int pipe type in ar9170_usb_exec_cmd + - LP: #575853 + * mac80211: move netdev queue enabling to correct spot + - LP: #575853 + * mac80211: tear down all agg queues when restart/reconfig hw + - LP: #575853 + * WATCHDOG: hpwdt - fix lower timeout limit + - LP: #575853 + * WATCHDOG: iTCO_wdt: TCO Watchdog patch for additional Intel Cougar + Point DeviceIDs + - LP: #575853 + * genirq: Force MSI irq handlers to run with interrupts disabled + - LP: #575853 + * lis3: fix show rate for 8 bits chips + - LP: #575853 + * pata_ali: Fix regression with old devices + - LP: #575853 + * HID: fix oops in gyration_event() + - LP: #575853 + * raw: fsync method is now required + - LP: #575853 + * readahead: fix NULL filp dereference + - LP: #575853 + * ALSA: mixart: range checking proc file + - LP: #575853 + * ALSA: hda: Fix 0 dB offset for Lenovo Thinkpad models using AD1981 + - LP: #551606, #575853 + * x86, amd: Get multi-node CPU info from NodeId MSR instead of PCI config + space + - LP: #575853 + * resource: move kernel function inside __KERNEL__ + - LP: #575853 + * backlight: mbp_nvidia_bl - add five more MacBook variants + - LP: #575853 + * pata_via: Add VIA VX900 support + - LP: #575853 + * ext3: Don't update the superblock in ext3_statfs() + - LP: #575853 + * ext3: journal all modifications in ext3_xattr_set_handle + - LP: #575853 + * eeepc-laptop: disable cpu speed control on EeePC 701 + - LP: #575853 + * eeepc-laptop: dmi blacklist to disable pci hotplug code + - LP: #575853 + * eeepc-laptop: add hotplug_disable parameter + - LP: #575853 + * eeepc-laptop: disable wireless hotplug for 1201N + - LP: #575853 + * eeepc-laptop: disable wireless hotplug for 1005PE + - LP: #575853 + * libata: disable NCQ on Crucial C300 SSD + - LP: #575853 + * cifs: Fix a kernel BUG with remote OS/2 server (try #3) + - LP: #575853 + * CIFS: initialize nbytes at the beginning of CIFSSMBWrite() + - LP: #575853 + * iwlwifi: need check for valid qos packet before free + - LP: #575853 + * ARM: 6031/1: fix Thumb-2 decompressor + - LP: #575853 + * x86-32, resume: do a global tlb flush in S4 resume + - LP: #575853 + * x86: hpet: Make WARN_ON understandable + - LP: #575853 + * x86, hpet: Erratum workaround for read after write of HPET comparator + - LP: #575853 + * x86: Fix double enable_IR_x2apic() call on SMP kernel on !SMP boards + - LP: #575853 + * sched: sched_getaffinity(): Allow less than NR_CPUS length + - LP: #575853 + * sched: Fix sched_getaffinity() + - LP: #575853 + * NFSv4: Fall back to ordinary lookup if nfs4_atomic_open() returns + EISDIR + - LP: #575853 + * NFSv4: fix delegated locking + - LP: #575853 + * ALSA: hda - add a quirk for Clevo M570U laptop + - LP: #575853 + * ALSA: usb - Fix Oops after usb-midi disconnection + - LP: #575853 + * hwmon: (sht15) Fix sht15_calc_temp interpolation function + - LP: #575853 + * hwmon: (sht15) Properly handle the case CONFIG_REGULATOR=n + - LP: #575853 + * x86/amd-iommu: Use helper function to destroy domain + - LP: #575853 + * x86/amd-iommu: enable iommu before attaching devices + - LP: #575853 + * x86, lib: Add wbinvd smp helpers + - LP: #575853 + * x86, cacheinfo: Fix disabling of L3 cache indices + - LP: #575853 + * intel-agp: Switch to wbinvd_on_all_cpus + - LP: #575853 + * x86, cacheinfo: Add cache index disable sysfs attrs only to L3 caches + - LP: #575853 + * x86, cacheinfo: Calculate L3 indices + - LP: #575853 + * x86, cacheinfo: Remove NUMA dependency, fix for AMD Fam10h rev D1 + - LP: #575853 + * x86, cacheinfo: Enable L3 CID only on AMD + - LP: #575853 + * vgaarb: fix "target=default" passing + - LP: #575853 + * x86-32: clean up rwsem inline asm statements + - LP: #575853 + * x86: clean up rwsem type system + - LP: #575853 + * x86-64, rwsem: 64-bit xadd rwsem implementation + - LP: #575853 + * x86-64: support native xadd rwsem implementation + - LP: #575853 + * x86: Fix breakage of UML from the changes in the rwsem system + - LP: #575853 + * x86-64, rwsem: Avoid store forwarding hazard in __downgrade_write + - LP: #575853 + * fix NFS4 handling of mountpoint stat + - LP: #575853 + * dm mpath: fix stall when requeueing io + - LP: #575853 + * quota: Fix possible dq_flags corruption + - LP: #575853 + * Staging: comedi: fix usbdux timeout bug + - LP: #483343, #575853 + * Staging: comedi: usbdux.c: fix locking up of the driver when the comedi + ringbuffer runs empty + - LP: #483343, #575853 + * ocfs2: set i_mode on disk during acl operations + - LP: #575853 + * ocfs2: Change bg_chain check for ocfs2_validate_gd_parent. + - LP: #575853 + * 9p: Skip check for mandatory locks when unlocking + - LP: #575853 + * fc class: fail fast bsg requests + - LP: #575853 + * SCSI: add scsi target reset support to scsi ioctl + - LP: #575853 + * PCIe AER: prevent AER injection if hardware masks error reporting + - LP: #575853 + * vgaarb: Fix VGA arbiter to accept PCI domains other than 0 + - LP: #575853 + * SCSI: fc-transport: Use packed modifier for fc_bsg_request structure. + - LP: #575853 + * pci: Update pci_set_vga_state() to call arch functions + - LP: #575853 + * PCI: kill off pci_register_set_vga_state() symbol export. + - LP: #575853 + * PCI: fix nested spinlock hang in aer_inject + - LP: #575853 + * IPoIB: Fix TX queue lockup with mixed UD/CM traffic + - LP: #575853 + * x86/PCI: irq and pci_ids patch for Intel Cougar Point DeviceIDs + - LP: #575853 + * ALSA: hda_intel: ALSA HD Audio patch for Intel Cougar Point DeviceIDs + - LP: #575853 + * ALSA: hda - enable snoop for Intel Cougar Point + - LP: #575853 + * ata_piix: IDE Mode SATA patch for Intel Cougar Point DeviceIDs + - LP: #575853 + * ahci: AHCI and RAID mode SATA patch for Intel Cougar Point DeviceIDs + - LP: #575853 + * i2c-i801: Add Intel Cougar Point device IDs + - LP: #575853 + * b43: Remove reset after fatal DMA error + - LP: #575853 + * b43: Allow PIO mode to be selected at module load + - LP: #575853 + * b43: fall back gracefully to PIO mode after fatal DMA errors + - LP: #575853 + * ALSA: hda - Add position_fix quirk for Biostar mobo + - LP: #575853 + * agp/hp: fixup hp agp after ACPI changes + - LP: #575853 + * b43: Optimize PIO scratchbuffer usage + - LP: #575853 + * ecryptfs: fix use with tmpfs by removing d_drop from + ecryptfs_destroy_inode + - LP: #575853 + * eCryptfs: Decrypt symlink target for stat size + - LP: #575853 + * ecryptfs: fix error code for missing xattrs in lower fs + - LP: #575853 + * sched: Fix a race between ttwu() and migrate_task() + - LP: #575853 + * USB: cdc-acm: Update to new autopm API + - LP: #575853 + * USB: cdc-acm: Fix stupid NULL pointer in resume() + - LP: #575853 + * iwlwifi: clear all tx queues when firmware ready + - LP: #575853 + * iwlwifi: fix scan race + - LP: #575853 + * e1000e: stop cleaning when we reach tx_ring->next_to_use + - LP: #575853 + * tcp: fix ICMP-RTO war + - LP: #575853 + * perf_events, x86: Implement Intel Westmere/Nehalem-EX support + - LP: #575853 + * Input: wacom - switch mode upon system resume + - LP: #575853 + * md: deal with merge_bvec_fn in component devices better. + - LP: #575853 + * nfsd4: don't try to map gid's in generic rpc code + - LP: #575853 + * nfsd: ensure sockets are closed on error + - LP: #575853 + * ALSA: hda: Set Front Mic to input vref 50% for Lenovo 3000 Y410 + - LP: #479373, #575853 + * mac80211: fix deferred hardware scan requests + - LP: #575853 + * fs-writeback: Add helper function to start writeback if idle + - LP: #575853 + * ext4: flush delalloc blocks when space is low + - LP: #575853 + * ext4: fix async i/o writes beyond 4GB to a sparse file + - LP: #575853 + * tpm: autoload tpm_tis based on system PnP IDs + - LP: #575853 + * IB/iser: Rewrite SG handling for RDMA logic + - LP: #575853 + * mptctl : Remove printk which floods unnecessary messages to + var/log/message + - LP: #575853 + * mptspi: Fix for incorrect data underrun errata + - LP: #575853 + * sched: Use proper type in sched_getaffinity() + - LP: #575853 + * KVM: SVM: Fix memory leaks that happen when svm_create_vcpu() fails + - LP: #575853 + * KVM: Don't spam kernel log when injecting exceptions due to bad cr + writes + - LP: #575853 + * KVM: allow bit 10 to be cleared in MSR_IA32_MC4_CTL + - LP: #575853 + * KVM: VMX: Save/restore rflags.vm correctly in real mode + - LP: #575853 + * KVM: MMU: fix kvm_mmu_zap_page() and its calling path + - LP: #575853 + * KVM: fix the handling of dirty bitmaps to avoid overflows + - LP: #575853 + * KVM: Increase NR_IOBUS_DEVS limit to 200 + - LP: #575853 + * KVM: x86: Fix TSS size check for 16-bit tasks + - LP: #575853 + * x86/gart: Disable GART explicitly before initialization + - LP: #575853 + * r8169: clean up my printk uglyness + - LP: #562742, #575853 + * Linux 2.6.32.12 + - LP: #575853 + * drm/edid: allow certain bogus edids to hit a fixup path rather than + fail + - LP: #575853 + * drm/radeon: add new RS880 pci id + - LP: #575853 + * drm: remove the EDID blob stored in the EDID property when it is + disconnected + - LP: #575853 + * drm/radeon/kms: never treat rs4xx as AGP + - LP: #575853 + * drm/radeon/kms: Fix NULL pointer dereference if memory allocation + failed in a simple way + - LP: #575853 + * drm/radeon/kms: don't print error on -ERESTARTSYS. + - LP: #575853 + * drm/radeon/kms: fix pal tv-out support on legacy IGP chips + - LP: #575853 + * drm: Return ENODEV if the inode mapping changes + - LP: #575853 + * drm/edid/quirks: Envision EN2028 + - LP: #575853 + * drm/radeon: R300 AD only has one quad pipe. + - LP: #575853 + * drm/radeon/kms: fix washed out image on legacy tv dac + - LP: #575853 + * drm/radeon/kms/combios: verify dac_adj values are valid + - LP: #575853 + * drm/i915: Add no_lvds entry for the Clientron U800 + - LP: #544671, #575853 + * drm/radeon/kms: more atom parser fixes (v2) + - LP: #575853 + * drm/radeon/kms: disable the tv encoder when tv/cv is not in use + - LP: #575853 + * drm/radeon/kms: fix tv dac conflict resolver + - LP: #575853 + * drm/radeon/kms: fix rs600 tlb flush + - LP: #575853 + * drm/radeon/kms: add FireMV 2400 PCI ID. + - LP: #575853 + * Linux 2.6.32.12+drm33.3 + - LP: #575853 + * USB: EHCI: defer reclamation of siTDs + - LP: #583414 + * p54usb: Add usbid for Corega CG-WLUSB2GT. + - LP: #583414 + * md/raid5: allow for more than 2^31 chunks. + - LP: #583414 + * md/raid5: fix previous patch. + - LP: #583414 + * libata: fix locking around blk_abort_request() + - LP: #583414 + * libata: ensure NCQ error result taskfile is fully initialized before + returning it via qc->result_tf. + - LP: #583414 + * w1: w1 temp: fix negative termperature calculation + - LP: #583414 + * memcg: fix prepare migration + - LP: #583414 + * mac80211: remove bogus TX agg state assignment + - LP: #583414 + * flex_array: fix the panic when calling flex_array_alloc() without + __GFP_ZERO + - LP: #583414 + * core, x86: make LIST_POISON less deadly + - LP: #583414 + * hugetlb: fix infinite loop in get_futex_key() when backed by huge pages + - LP: #583414 + * reiserfs: fix corruption during shrinking of xattrs + - LP: #583414 + * nfsd4: bug in read_buf + - LP: #583414 + * keys: the request_key() syscall should link an existing key to the dest + keyring + - LP: #583414 + * staging: usbip: Fix deadlock + - LP: #583414 + * USB: fix remote wakeup settings during system sleep + - LP: #583414 + * USB: Add id for HP ev2210 a.k.a Sierra MC5725 miniPCI-e Cell Modem. + - LP: #511066, #583414 + * USB: fix testing the wrong variable in fs_create_by_name() + - LP: #583414 + * USB: don't choose configs with no interfaces + - LP: #583414 + * USB: OHCI: don't look at the root hub to get the number of ports + - LP: #583414 + * USB: xhci: properly set the "Mult" field of the endpoint context. + - LP: #583414 + * USB: xhci: properly set endpoint context fields for periodic eps. + - LP: #583414 + * procfs: fix tid fdinfo + - LP: #583414 + * ocfs2: Update VFS inode's id info after reflink. + - LP: #583414 + * ocfs2: potential ERR_PTR dereference on error paths + - LP: #583414 + * ocfs2: Compute metaecc for superblocks during online resize. + - LP: #583414 + * ocfs2_dlmfs: Fix math error when reading LVB. + - LP: #583414 + * powernow-k8: Fix frequency reporting + - LP: #572348, #583414 + * nfs d_revalidate() is too trigger-happy with d_drop() + - LP: #583414 + * NFS: rsize and wsize settings ignored on v4 mounts + - LP: #583414 + * Staging: hv: Fix a bug affecting IPv6 + - LP: #583414 + * Staging: hv: Fix up memory leak on HvCleanup + - LP: #583414 + * Staging: hv: name network device ethX rather than sethX + - LP: #583414 + * i2c: Fix probing of FSC hardware monitoring chips + - LP: #583414 + * perf: Fix resource leak in failure path of perf_event_open() + - LP: #583414 + * raid6: fix recovery performance regression + - LP: #583414 + * serial: 8250_pnp - add Fujitsu Wacom device + - LP: #583414 + * block: ensure jiffies wrap is handled correctly in + blk_rq_timed_out_timer + - LP: #583414 + * dm9601: fix phy/eeprom write routine + - LP: #583414 + * p54pci: fix bugs in p54p_check_tx_ring + - LP: #583414 + * edac, mce: Fix wrong mask and macro usage + - LP: #583414 + * x86-64: Clear a 64-bit FS/GS base on fork if selector is nonzero + - LP: #583414 + * x86: Disable large pages on CPUs with Atom erratum AAE44 + - LP: #583414 + * x86, k8 nb: Fix boot crash: enable k8_northbridges unconditionally on + AMD systems + - LP: #583414 + * x86, AMD: Fix stale cpuid4_info shared_map data in shared_cpu_map + cpumasks + - LP: #583414 + * ALSA: hda: Use LPIB quirk for DG965OT board version AAD63733-203 + - LP: #459083, #583414 + * ALSA: hda - Add PCI quirk for HP dv6-1110ax. + - LP: #583414 + * ALSA: hda: Use STAC_DELL_M6_BOTH quirk for Dell Studio XPS 1645 + - LP: #553002, #583414 + * ALSA: hda: Use STAC_DELL_M6_BOTH quirk for Dell Studio 1558 + - LP: #568600, #583414 + * ALSA: hda: Use ALC880_F1734 quirk for Fujitsu Siemens AMILO Xi 1526 + - LP: #567494, #583414 + * ALSA: snd-meastro3: Add amp_gpio quirk for Compaq EVO N600C + - LP: #583414 + * ALSA: snd-meastro3: Ignore spurious HV interrupts during suspend / + resume + - LP: #583414 + * ALSA: hda: Fix max PCM level to 0 dB for Fujitsu-Siemens laptops using + CX20549 (Venice) + - LP: #583414 + * ALSA: hda: Fix 0 dB for Packard Bell models using Conexant CX20549 + (Venice) + - LP: #541802, #583414 + * ALSA: hda: Use olpc-xo-1_5 quirk for Toshiba Satellite Pro T130-15F + - LP: #573284, #583414 + * ALSA: hda: Use olpc-xo-1_5 quirk for Toshiba Satellite + P500-PSPGSC-01800T + - LP: #549267, #583414 + * libata: Fix accesses at LBA28 boundary (old bug, but nasty) (v2) + - LP: #583414 + * ext4: correctly calculate number of blocks for fiemap + - LP: #474597, #583414 + * initramfs: handle unrecognised decompressor when unpacking + - LP: #583414 + * CRED: Fix a race in creds_are_invalid() in credentials debugging + - LP: #583414 + * jfs: fix diAllocExt error in resizing filesystem + - LP: #583414 + * ACPI: introduce kernel parameter acpi_sleep=sci_force_enable + - LP: #553498, #583414 + * p54pci: rx frame length check + - LP: #583414 + * drivers/net/wireless/p54/txrx.c Fix off by one error + - LP: #583414 + * dccp_probe: Fix module load dependencies between dccp and dccp_probe + - LP: #583414 + * KVM: remove unused load_segment_descriptor_to_kvm_desct + - LP: #583414 + * kgdb: don't needlessly skip PAGE_USER test for Fsl booke + - LP: #583414 + * r8169: use correct barrier between cacheable and non-cacheable memory + - LP: #562742, #583414 + * r8169: fix broken register writes + - LP: #562742, #583414 + * r8169: more broken register writes workaround + - LP: #562742, #583414 + * PCI: Ensure we re-enable devices on resume + - LP: #566149, #583414 + * skip sense logging for some ATA PASS-THROUGH cdbs + - LP: #583128, #583414 + * tg3: Fix INTx fallback when MSI fails + - LP: #583414 + * xfs: add a shrinker to background inode reclaim + - LP: #583414 + * qla2xxx: Properly handle UNDERRUN completion statuses. + - LP: #583414 + * bnx2: Fix lost MSI-X problem on 5709 NICs. + - LP: #583414 + * tracing: Fix ftrace_event_call alignment for use with gcc 4.5 + - LP: #583414 + * security: testing the wrong variable in create_by_name() + - LP: #583414 + * md: restore ability of spare drives to spin down. + - LP: #583414 + * virtio: initialize earlier + - LP: #583414 + * md/raid6: Fix raid-6 read-error correction in degraded state + - LP: #583414 + * V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer + dereference" + - LP: #583414 + * ACPI: DMI init_set_sci_en_on_resume for multiple Lenovo ThinkPads + - LP: #583414 + * power_meter: acpi_device_class "power_meter_resource" too long + - LP: #583414 + * ACPI: sleep: init_set_sci_en_on_resume for Dell Studio 155x + - LP: #553498, #583414 + * cpuidle: Fix incorrect optimization + - LP: #583414 + * pxa/colibri: fix missing #include in colibri.h + - LP: #583414 + * SCSI: fix locking around blk_abort_request() + - LP: #583414 + * SCSI: libiscsi: regression: fix header digest errors + - LP: #583414 + * scsi_debug: virtual_gb ignores sector_size + - LP: #583414 + * Enable retries for SYNCRONIZE_CACHE commands to fix I/O error + - LP: #583414 + * SCSI: Retry commands with UNIT_ATTENTION sense codes to fix ext3/ext4 + I/O error + - LP: #583414 + * MIPS: Sibyte: Apply M3 workaround only on affected chip types and + versions. + - LP: #583414 + * Linux 2.6.32.13 + - LP: #583414 + * drm/i915: Add initial bits for VGA modesetting bringup on Sandybridge. + - LP: #583414 + * drm/i915: fix tiling limits for i915 class hw v2 + - LP: #583414 + * Linux 2.6.32.13+drm33.4 + - LP: #583414 + * (pre-stable) Input: psmouse - reset all types of mice before + reconnecting + - LP: #551234 + * ipv4: udp: fix short packet and bad checksum logging + - LP: #588832 + * hp_accel: fix race in device removal + - LP: #588832 + * fbdev: bfin-t350mcqb-fb: fix fbmem allocation with blanking lines + - LP: #588832 + * hugetlbfs: kill applications that use MAP_NORESERVE with SIGBUS instead + of OOM-killer + - LP: #588832 + * dma-mapping: fix dma_sync_single_range_* + - LP: #588832 + * ACPI: sleep: eliminate duplicate entries in acpisleep_dmi_table[] + - LP: #588832 + * mmc: atmel-mci: fix two parameters swapped + - LP: #588832 + * mmc: atmel-mci: prevent kernel oops while removing card + - LP: #588832 + * mmc: atmel-mci: remove data error interrupt after xfer + - LP: #588832 + * ptrace: fix return value of do_syscall_trace_enter() + - LP: #588832 + * powerpc/perf_event: Fix oops due to perf_event_do_pending call + - LP: #588832 + * cifs: guard against hardlinking directories + - LP: #588832 + * serial: imx.c: fix CTS trigger level lower to avoid lost chars + - LP: #588832 + * ALSA: ice1724 - Fix ESI Maya44 capture source control + - LP: #588832 + * ALSA: hda: Fix 0 dB for Lenovo models using Conexant CX20549 (Venice) + - LP: #588832 + * inotify: race use after free/double free in inotify inode marks + - LP: #588832 + * inotify: don't leak user struct on inotify release + - LP: #588832 + * profile: fix stats and data leakage + - LP: #588832 + * x86, k8: Fix build error when K8_NB is disabled + - LP: #588832 + * x86, cacheinfo: Turn off L3 cache index disable feature in virtualized + environments + - LP: #588832 + * x86, amd: Check X86_FEATURE_OSVW bit before accessing OSVW MSRs + - LP: #588832 + * Btrfs: check for read permission on src file in the clone ioctl + - LP: #588832 + * ALSA: hda - New Intel HDA controller + - LP: #588832 + * proc: partially revert "procfs: provide stack information for threads" + - LP: #588832 + * revert "procfs: provide stack information for threads" and its fixup + commits + - LP: #588832 + * iwlwifi: clear all the stop_queue flag after load firmware + - LP: #588832 + * p54: disable channels with incomplete calibration data sets + - LP: #588832 + * CacheFiles: Fix error handling in cachefiles_determine_cache_security() + - LP: #588832 + * megaraid_sas: fix for 32bit apps + - LP: #588832 + * mmap_min_addr check CAP_SYS_RAWIO only for write + - LP: #588832 + * nilfs2: fix sync silent failure + - LP: #588832 + * crypto: authenc - Add EINPROGRESS check + - LP: #588832 + * Linux 2.6.32.14 + - LP: #588832 + * drm/i915: use PIPE_CONTROL instruction on Ironlake and Sandy Bridge + - LP: #588832 + * drm/i915: fix non-Ironlake 965 class crashes + - LP: #588832 + * drm/i915: Disable FBC on 915GM and 945GM. + - LP: #492392, #588832 + * Linux 2.6.32.14+drm33.5 + - LP: #588832 + * Linux 2.6.32.15+drm33.5 + - LP: #588832 + * HID: remove MODULE_VERSION from new drivers + - LP: #583531 + * HID: fix N-trig touch panel with recent firmware + - LP: #583531 + * HID: ntrig: explain firmware quirk + - LP: #583531 + * HID: ntrig: Emit TOUCH with DOUBLETAP for single touch + - LP: #583531 + * HID: ntrig: TipSwitch for single touch mode touch. + - LP: #583531 + * HID: ntrig: Remove unused macro, TripleTap and QuadTap + - LP: #583531 + * (pre-stable) drm/radeon/kms: initialize set_surface_reg reg for rs600 + asic + - LP: #544590 + + -- Stefan Bader Wed, 09 Jun 2010 17:01:09 +0200 + +linux (2.6.32-22.36) lucid-security; urgency=low + + [ Andy Whitcroft ] + + * Revert "kvm: restrict writing of segment selectors to segment + registers" + - LP: #589223 + + -- Andy Whitcroft Thu, 03 Jun 2010 17:11:27 +0100 + +linux (2.6.32-22.35) lucid-security; urgency=low + + [ Leann Ogasawara ] + + * kvm: restrict writing of segment selectors to segment registers + - CVE-2010-0419 + + [ Upstream Kernel Changes ] + + * tty: release_one_tty() forgets to put pids + - CVE-2010-1162 + * oom: fix the unsafe usage of badness() in proc_oom_score() + - CVE-2010-1488 + * Attempt #2 to handle null nameidata + - CVE-2010-1148 + * reiserfs: fix permissions on .reiserfs_priv + - CVE-2010-1146 + * r8169: offical fix for CVE-2009-4537 (overlength frame DMAs) + - CVE-2009-4537 + + -- Stefan Bader Tue, 01 Jun 2010 11:44:28 +0200 + +linux (2.6.32-22.33) lucid-proposed; urgency=low + + [ Andy Whitcroft ] + + * SAUCE: ACPI: EC: Allow multibyte access to EC (v3) + - LP: #526354 + + [ Tim Gardner ] + + * ubuntu: rtl8192se -- update to version 0015.0127.2010 + - LP: #567016 + + -- Andy Whitcroft Mon, 19 Apr 2010 11:06:35 +0100 + +linux (2.6.32-21.32) lucid; 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 + * SAUCE: radeon KMS -- support disabling KMS for known broken devices + - LP: #546743 + * SAUCE: radeon KMS -- blacklist ES1000 + - LP: #546743 + + -- Andy Whitcroft Thu, 15 Apr 2010 17:18:49 +0100 + +linux (2.6.32-21.31) lucid; urgency=low + + [ Andy Whitcroft ] + + * allow modules.builtin to be optional + * d-i: add mpt2sas to the message-modules udeb + - LP: #530361 + + [ Christopher James Halse Rogers ] + + * SAUCE: Nouveau: Add quirk framework to disable acceleration + - LP: #544088, #546393 + * SAUCE: Nouveau: Disable acceleration on MacBook Pros + - LP: #546393 + * SAUCE: Nouveau: Disable acceleration on GeForce3 cards + - LP: #544088 + * SAUCE: Nouveau: Disable acceleration on 6100 cards + - LP: #542950 + + [ Stefan Bader ] + + * SAUCE: dma-mapping: Remove WARN_ON in dma_free_coherent + - LP: #458201 + + [ Surbhi Palande ] + + * SAUCE: sync before umount to reduce time taken by ext4 umount + - LP: #543617 + + [ Upstream Kernel Changes ] + + * tipc: Fix oops on send prior to entering networked mode (v3) + - CVE-2010-1187 + * KVM: x86 emulator: Add Virtual-8086 mode of emulation + - LP: #561425 + * KVM: x86 emulator: fix memory access during x86 emulation + - LP: #561425 + * KVM: x86 emulator: Check IOPL level during io instruction emulation + - LP: #561425 + * KVM: x86 emulator: Fix popf emulation + - LP: #561425 + * KVM: Fix segment descriptor loading + - LP: #561425 + * KVM: VMX: Update instruction length on intercepted BP + - LP: #561425 + * KVM: VMX: Use macros instead of hex value on cr0 initialization + - LP: #561425 + * KVM: SVM: Reset cr0 properly on vcpu reset + - LP: #561425 + * KVM: VMX: Disable unrestricted guest when EPT disabled + - LP: #561425 + * KVM: x86: disable paravirt mmu reporting + - LP: #561425 + * AppArmor: Fix put of unassigned ns if aa_unpack fails + * AppArmor: Fix refcount bug when exec fails + - LP: #562063 + * AppArmor: Take refcount on cxt->profile to ensure it remains a valid + reference + - LP: #367499 + * AppArmor: fix typo in scrubbing environment variable warning + - LP: #562060 + * AppArmor: fix regression by setting default to mediate deleted files + - LP: #562056 + * AppArmor: fix refcount order bug that can trigger during replacement + - LP: #367499 + * AppArmor: Make sure to unmap aliases for vmalloced dfas before they are + live + - LP: #529288 + * AppArmor: address performance regression of replaced profile + - LP: #549428 + * AppArmor: make the global side the correct type + - LP: #562047 + * AppArmor: use the kernel shared workqueue to free vmalloc'ed dfas + * sky2: add register definitions for new chips + - LP: #537168 + * sky2: 88E8059 support + - LP: #537168 + * net: Fix Yukon-2 Optima TCP offload setup + - LP: #537168 + * net: Add missing TST_CFG_WRITE bits around sky2_pci_write + - LP: #537168 + * sky2: print Optima chip name + - LP: #537168 + * (Upstream) dell-laptop: defer dell_rfkill_update to worker thread + - LP: #555261 + * drm/nv40: add LVDS table quirk for Dell Latitude D620 + - LP: #539730 + + -- Andy Whitcroft Tue, 13 Apr 2010 18:50:58 +0100 + +linux (2.6.32-20.30) lucid; urgency=low + + [ Upstream Kernel Changes ] + + * Revert "(pre-stable) ACPI: EC: Allow multibyte access to EC" + - LP: #561151 + + -- Andy Whitcroft Mon, 12 Apr 2010 15:46:31 +0100 + +linux (2.6.32-20.29) lucid; urgency=low + + [ Andy Whitcroft ] + + * Revert "SAUCE: Use MODULE_IMPORT macro to tie intel_agp to i915" + - LP: #542251 + * add Breaks: against hardy lvm2 + - LP: #528155 + + [ Colin Watson ] + + * d-i -- enable udebs for generic-pae + - LP: #160366 + + [ Stefan Bader ] + + * [Config] Add xen netboot support + - LP: #160366 + + [ Takashi Iwai ] + + * (pre-stable): input: Support Clickpad devices in ClickZone mode + - LP: #516329 + + [ Upstream Kernel Changes ] + + * Revert "(pre-stable) Bluetooth: Fix sleeping function in RFCOMM within + invalid context" + - LP: #553837 + * Revert "(pre-stable) USB: fix usbfs regression" + - LP: #553837 + * Revert "(pre-stable) softlockup: Stop spurious softlockup messages due + to overflow" + - LP: #553837 + * Revert "(pre-stable) drm/nouveau: report unknown connector state if lid + closed" + - LP: #553837 + * drivers/scsi/ses.c: eliminate double free + - LP: #553837 + * decompress: fix new decompressor for PIC + - LP: #553837 + * ARM: Fix decompressor's kernel size estimation for ROM=y + - LP: #553837 + * MIPS: Cleanup forgotten label_module_alloc in tlbex.c + - LP: #553837 + * tg3: Fix tg3_poll_controller() passing wrong pointer to tg3_interrupt() + - LP: #553837 + * tg3: Fix 5906 transmit hangs + - LP: #553837 + * ALSA: hda - Fix input source elements of secondary ADCs on Realtek + - LP: #553837 + * ALSA: hda: enable MSI for Gateway M-6866 + - LP: #538918, #553837 + * timekeeping: Prevent oops when GENERIC_TIME=n + - LP: #553837 + * Input: alps - add support for the touchpad on Toshiba Tecra A11-11L + - LP: #553837 + * Input: i8042 - add ALDI/MEDION netbook E1222 to qurik reset table + - LP: #553837 + * i2c-i801: Don't use the block buffer for I2C block writes + - LP: #553837 + * ath5k: dont use external sleep clock in AP mode + - LP: #553837 + * ath5k: fix setup for CAB queue + - LP: #553837 + * ring-buffer: Move disabled check into preempt disable section + - LP: #553837 + * function-graph: Init curr_ret_stack with ret_stack + - LP: #553837 + * Bluetooth: Fix sleeping function in RFCOMM within invalid context + - LP: #553837 + * tracing: Use same local variable when resetting the ring buffer + - LP: #553837 + * tracing: Disable buffer switching when starting or stopping trace + - LP: #553837 + * tracing: Do not record user stack trace from NMI context + - LP: #553837 + * PCI: unconditionally clear AER uncorr status register during cleanup + - LP: #553837 + * efifb: fix framebuffer handoff + - LP: #553837 + * coredump: suppress uid comparison test if core output files are pipes + - LP: #553837 + * V4L/DVB (13961): em28xx-dvb: fix memleak in dvb_fini() + - LP: #553837 + * hrtimer: Tune hrtimer_interrupt hang logic + - LP: #553837 + * x86, apic: Don't use logical-flat mode when CPU hotplug may exceed 8 + CPUs + - LP: #553837 + * mvsas: add support for Adaptec ASC-1045/1405 SAS/SATA HBA + - LP: #553837 + * pci: add support for 82576NS serdes to existing SR-IOV quirk + - LP: #553837 + * sched: Mark boot-cpu active before smp_init() + - LP: #553837 + * sparc64: Make prom entry spinlock NMI safe. + - LP: #553837 + * sysctl: require CAP_SYS_RAWIO to set mmap_min_addr + - LP: #553837 + * e1000e: enable new 82567V-3 device + - LP: #553837 + * ixgbe: add support for 82599 KR device 0x1517 + - LP: #553837 + * ath9k: fix lockdep warning when unloading module + - LP: #553837 + * mqueue: fix mq_open() file descriptor leak on user-space processes + - LP: #553837 + * virtio: fix out of range array access + - LP: #553837 + * sched: Fix SCHED_MC regression caused by change in sched cpu_power + - LP: #553837 + * readahead: add blk_run_backing_dev + - LP: #553837 + * ALSA: hda: Use LPIB and 6stack-dig for eMachines T5212 + - LP: #538895, #553837 + * ALSA: hda - Disable MSI for Nvidia controller + - LP: #553837 + * ALSA: hda - Fix secondary ADC of ALC260 basic model + - LP: #553837 + * ALSA: hda: Fix 0 dB offset for HP laptops using CX20551 (Waikiki) + - LP: #420578, #553837 + * ALSA: cmipci: work around invalid PCM pointer + - LP: #553837 + * gigaset: correct clearing of at_state strings on RING + - LP: #553837 + * gigaset: prune use of tty_buffer_request_room + - LP: #553837 + * perf: Make the install relative to DESTDIR if specified + - LP: #553837 + * perf_event: Fix oops triggered by cpu offline/online + - LP: #553837 + * tmpfs: fix oops on mounts with mpol=default + - LP: #553837 + * tmpfs: mpol=bind:0 don't cause mount error. + - LP: #553837 + * tmpfs: handle MPOL_LOCAL mount option properly + - LP: #553837 + * tmpfs: cleanup mpol_parse_str() + - LP: #553837 + * doc: add the documentation for mpol=local + - LP: #553837 + * SCSI: scsi_transport_fc: Fix synchronization issue while deleting vport + - LP: #553837 + * NFSv4: Don't ignore the NFS_INO_REVAL_FORCED flag in + nfs_revalidate_inode() + - LP: #553837 + * NFS: Avoid a deadlock in nfs_release_page + - LP: #553837 + * NFS: Prevent another deadlock in nfs_release_page() + - LP: #553837 + * tty: Keep the default buffering to sub-page units + - LP: #553837 + * tty: Take a 256 byte padding into account when buffering below sub-page + units + - LP: #553837 + * USB: fix usbfs regression + - LP: #553837 + * USB: EHCI: fix ITD list order + - LP: #553837 + * USB: EHCI: adjust ehci_iso_stream for changes in ehci_qh + - LP: #553837 + * USB: qcserial: add new device ids + - LP: #553837 + * USB: xHCI: re-initialize cmd_completion + - LP: #553837 + * USB: serial: ftdi: add CONTEC vendor and product id + - LP: #553837 + * USB: option: fix incorrect manufacturer name in usb/serial/option: + MAXON->CMOTECH + - LP: #553837 + * USB: option: move hardcoded PID to a macro in usb/serial/option + - LP: #553837 + * USB: option: add support for a new CMOTECH device to usb/serial/option + - LP: #553837 + * usb: r8a66597-hcd: fix removed from an attached hub + - LP: #553837 + * wl1251: fix potential crash + - LP: #553837 + * jme: Fix VLAN memory leak + - LP: #553837 + * jme: Protect vlgrp structure by pause RX actions. + - LP: #553837 + * edac, mce: Filter out invalid values + - LP: #553837 + * iwlwifi: use dma_alloc_coherent + - LP: #553837 + * iwlwifi: Silence tfds_in_queue message + - LP: #553837 + * SUNRPC: Fix a potential memory leak in auth_gss + - LP: #553837 + * sunrpc: handle allocation errors from __rpc_lookup_create() + - LP: #553837 + * if_tunnel.h: add missing ams/byteorder.h include + - LP: #553837 + * fs/partitions/msdos: add support for large disks + - LP: #553837 + * fs/partition/msdos: fix unusable extended partition for > 512B sector + - LP: #553837 + * PCI: fix return value from pcix_get_max_mmrbc() + - LP: #553837 + * PCI: fix access of PCI_X_CMD by pcix get and set mmrbc functions + - LP: #553837 + * PCI: cleanup error return for pcix get and set mmrbc functions + - LP: #553837 + * rt2860sta: Fix argument to linux_pci_unmap_single() + - LP: #553837 + * ath9k: fix BUG_ON triggered by PAE frames + - LP: #553837 + * cpuset: fix the problem that cpuset_mem_spread_node() returns an + offline node + - LP: #553837 + * softlockup: Stop spurious softlockup messages due to overflow + - LP: #553837 + * netfilter: xt_recent: fix regression in rules using a zero hit_count + - LP: #553837 + * x86: Fix placement of FIX_OHCI1394_BASE + - LP: #553837 + * x86, amd: Restrict usage of c1e_idle() + - LP: #553837 + * hwmon: (coretemp) Add missing newline to dev_warn() message + - LP: #553837 + * ALSA: hda: Use LPIB for ga-ma770-ud3 board + - LP: #553837 + * ALSA: ac97: Add Toshiba P500 to ac97 jack sense blacklist + - LP: #481058, #553837 + * ALSA: ac97: Add IBM ThinkPad R40e to Headphone/Line Jack Sense + blacklist + - LP: #303789, #553837 + * ALSA: hda: Use ALC260_WILL quirk for another Acer model (0x1025007f) + - LP: #418627, #553837 + * ath9k: Enable TIM timer interrupt only when needed. + - LP: #553837 + * mac80211: Retry null data frame for power save + - LP: #553837 + * ath9k: Enable IEEE80211_HW_REPORTS_TX_ACK_STATUS flag for ath9k + - LP: #553837 + * mac80211: Reset dynamic ps timer in Rx path. + - LP: #553837 + * leds-gpio: fix default state handling on OF platforms + - LP: #553837 + * quota: manage reserved space when quota is not active [v2] + - LP: #553837 + * quota: Fix warning when a delayed write happens before quota is enabled + - LP: #553837 + * ahci: use BIOS date in broken_suspend list + - LP: #553837 + * Bluetooth: Fix potential bad memory access with sysfs files + - LP: #553837 + * Bluetooth: Fix kernel crash on L2CAP stress tests + - LP: #553837 + * sh: Fix zImage boot using fixed PMB. + - LP: #553837 + * b43: Workaround circular locking in hw-tkip key update callback + - LP: #553837 + * block: Backport of various I/O topology fixes from 2.6.33 and 2.6.34 + - LP: #553837 + * s3cmci: initialize default platform data no_wprotect and no_detect with + 1 + - LP: #553837 + * x86: Fix sched_clock_cpu for systems with unsynchronized TSC + - LP: #553837 + * GFS2: Skip check for mandatory locks when unlocking + - LP: #553837 + * Linux 2.6.32.11 + - LP: #553837 + * drm/i915: fix small leak on overlay error path + - LP: #553837 + * drm/i915: Avoid NULL deref in get_pages() unwind after error. + - LP: #553837 + * drm/nouveau: report unknown connector state if lid closed + - LP: #553837 + * Linux-2.6.32.11+drm33.2 + - LP: #553837 + * mmc: add module parameter to set whether cards are assumed removable + - LP: #477106 + * (pre-stable) ACPI: EC: Allow multibyte access to EC + - LP: #526354 + * PCI quirks: disable msi on AMD rs4xx internal gfx bridges + - LP: #509273 + * drm/i915: Add dependency on the intel agp module + - LP: #542251 + * (pre-stable) drm/edid: allow certain bogus edids to hit a fixup path + rather than fail + - LP: #540632 + * drm/radeon/kms: rework pll algo selection + - LP: #538377 + * drm/radeon/kms: update new pll algo + - LP: #538377 + * PCI quirk: Disable MSI on VIA K8T890 systems + - LP: #544741 + * sched: update load count only once per cpu in 10 tick update window + - LP: #513848 + + -- Andy Whitcroft Fri, 09 Apr 2010 17:44:41 +0100 + +linux (2.6.32-19.28) lucid; urgency=low + + [ Andy Whitcroft ] + + * [Config] enable various multitouch devices + - LP: #541453 + + [ Chase Douglas ] + + * (pre-stable): input: ALPS - Add signature for HP Pavilion dm3 laptops + - LP: #545307 + * SAUCE: Disable function tracing after hitting __schedule_bug + * SAUCE: Reduce ACPI resource conflict message to KERN_INFO, printf + cleanup + - LP: #440470 + + [ Jesse Barnes ] + + * SAUCE: drm/i915: don't change DRM configuration when releasing load + detect pipe + - LP: #488328 + + [ John Johansen ] + + * SAUCE: AppArmor: Remove null_profile's use of PFLAG_NO_LIST_REF + - LP: #539437 + * SAUCE: AppArmor: Stop page allocation warnings that can occur on policy + load + - LP: #458299 + * SAUCE: AppArmor: Return string len rather than the allocation size + - LP: #551844 + * SAUCE: AppArmor: Fix oops in profile verification if profile unpack + fails. + + [ Luke Yelavich ] + + * [Config] Enable Nouveau DRM module on powerpc + + [ Stefan Bader ] + + * SAUCE: Pull in thinkpad-acpi from v2.6.34-rc1 + - LP: #357673 + * [Config] Enable thinkpad-acpi ALSA volume control + - LP: #357673 + + [ Steve Conklin ] + + * SAUCE: drm/i915: Disable FBC on 915GM and 945GM + - LP: #492392, #539609 + + [ Upstream Kernel Changes ] + + * Revert "(pre-stable) drm/i915: blacklist lid status: Sony VGN-BX196VP, + Dell Inspiron 700m" + - LP: #515246 + * (pre-stable) softlockup: Stop spurious softlockup messages due to + overflow + - LP: #551068 + * backlight: mbp_nvidia_bl - add five more MacBook variants + - LP: #511965 + * drm/nv04-nv40: Fix up the programmed horizontal sync pulse delay. + - LP: #529130 + * drm/nouveau: Fix fbcon corruption with font width not divisible by 8 + - LP: #544739 + * (pre-stable) USB: fix usbfs regression + * drm/radeon/bo: add some fallback placements for VRAM only objects. + - LP: #507148 + * drm/radeon/kms: don't print error on -ERESTARTSYS. + - LP: #507148 + * Input: add the ABS_MT_PRESSURE event + - LP: #541453 + * HID: Support for 3M multitouch panel + - LP: #541453 + * HID: make 3M PCT touchscreen driver standalone config option + - LP: #541453 + * HID: add support for Stantum multitouch panel + - LP: #541453 + * HID: make Stantum driver standalone config option + - LP: #541453 + * HID: add support for Acer T230H multitouch + - LP: #541453 + * HID: add support for Pixart Imaging Optical Touch Screen + - LP: #541453 + * HID: fixed bug in single-touch emulation on the stantum panel + - LP: #541453 + * HID: add pressure support for the Stantum multitouch panel + - LP: #541453 + * HID: Support for MosArt multitouch panel + - LP: #541453 + * HID: hid-ntrig add multi input quirk and clean up + - LP: #541453 + * HID: n-trig: remove unnecessary tool switching + - LP: #541453 + * HID: hid-ntrig: multitouch cleanup and fix + - LP: #541453 + * HID: hid-ntrig: Single touch mode tap + - LP: #541453 + * hid: ntrig touch events + - LP: #541453 + * (pre-stable) x86-32, resume: do a global tlb flush in S4 resume + - LP: #531309 + * drm/i915: Part of: Add initial bits for VGA modesetting bringup on + Sandybridge. + - LP: #515246 + * drm/i915: Stop trying to use ACPI lid status to determine LVDS + connection. + - LP: #515246 + + -- Andy Whitcroft Wed, 31 Mar 2010 15:14:32 +0100 + +linux (2.6.32-18.27) lucid; urgency=low + + [ Chase Douglas ] + + * SAUCE: Don't register vga16fb framebuffer if other framebuffers are + present + - LP: #527369 + + [ Loïc Minier ] + + * [Config] armel/versatile: Set CRAMFS=m + - LP: #524893 + * [Config] armel: Reset default command-line + - LP: #524893 + + [ Stefan Bader ] + + * build/modules: Update d-i to reflect recent config changes + - LP: #546929 + + [ Upstream Kernel Changes ] + + * (pre-stable) drm/nouveau: report unknown connector state if lid closed + - LP: #523072 + * (pre-stable) Staging: rt2870: Add USB ID for Buffalo Airstation + WLI-UC-GN + - LP: #441990 + * (pre-stable) iwlwifi: fix nfreed-- + - LP: #545585 + * (pre-stable) pata_via: Add VIA VX900 support + - LP: #548675 + + -- Stefan Bader Fri, 26 Mar 2010 18:39:42 +0100 + +linux (2.6.32-17.26) lucid; urgency=low + + [ Amit Kucheria ] + + * [Config] SECURITY_FILE_CAPABILITIES dissapeared in 2.6.33 + + [ Andy Whitcroft ] + + * rules -- allow architecture configurations to be missing + * SAUCE: cdrom -- default to not locking the tray when in use + - LP: #397734 + * expose the kernel EXTRAVERSION in dmesg and /proc/version_signature + * record the drm version in EXTRAVERSION + * linux-tools -- pull out the perf binary into a binary package + * [Config] enable MMIOTRACE for graphics debugging + * [Config] enable BLK_DEV_BSG + * debian -- fix builds when tools are disabled + * allow us to build default configs for automated builds + * config -- allow locally specified configuration overrides + * [Config] de-modularise PATA disk controllers + * [Config] de-modularise SATA disk controllers + + [ Stefan Bader ] + + * Revert "SAUCE: (pre-stable) netfilter: xt_recent: fix buffer overflow" + - LP: #540231 + * Revert "SAUCE: (pre-stable) netfilter: xt_recent: fix false match" + - LP: #540231 + * [Config] Update configs for 2.6.32.10 + - LP: #540231 + + [ Tim Gardner ] + + * [Config] Add vmw_pvscsi and vmxnet3 to -virtual flavour + - LP: #531017 + * SAUCE: igb: Supress an upstream compiler complaint + * [Config] Fix sub-flavours package conflicts + - LP: #454827 + + [ Upstream Kernel Changes ] + + * Revert "tpm_tis: TPM_STS_DATA_EXPECT workaround" + - LP: #540231 + * Revert "(pre-stable) sched: Fix SMT scheduler regression in + find_busiest_queue()" + - LP: #540231 + * (pre-stable) Bluetooth: Fix sleeping function in RFCOMM within invalid + context + - LP: #534549 + * igb: remove unused temp variable from stats clearing path + * igb: update comments for serdes config and update to handle duplex + * igb: update the approach taken to acquiring and releasing the phy lock + * igb: add locking to reads of the i2c interface + * igb: add combined function for setting rar and pool bits + * igb: make use of the uta to allow for promiscous mode filter + * igb: add support for 82576NS SerDes adapter + * igb: add function to handle mailbox lock + * igb: fix a few items where weren't correctly setup for mbx timeout + * igb: change how we handle alternate mac addresses + * igb: remove microwire support from igb + * igb: move the generic copper link setup code into e1000_phy.c + * igb: add code to retry a phy read in the event of failure on link check + * igb: add additional error handling to the phy code + * igb: add flushes between RAR writes when setting mac address + * igb: Use the instance of net_device_stats from net_device. + * igb: Fix erroneous display of stats by ethtool -S + * igb: add new data structure for handling interrupts and NAPI + * igb: remove rx checksum good counter + * igb: increase minimum rx buffer size to 1K + * igb: move the tx and rx ring specific config into seperate functions + * igb: remove rx_ps_hdr_len + * igb: move SRRCTL register configuration into ring specific config + * igb: change the head and tail offsets into pointers + * igb: add pci device pointer to ring structure + * igb: move rx_buffer_len into the ring structure + * igb: move alloc_failed and csum_err stats into per rx-ring stat + * igb: add a flags value to the ring + * igb: place a pointer to the netdev struct in the ring itself + * igb: move the multiple receive queue configuration into seperate + function + * igb: delay VF reset notification until after interrupts are enabed + * igb: setup vlan tag replication stripping in igb_vmm_control + * igb: re-use ring configuration code in ethtool testing + * igb: make tx ring map and free functionality non-static + * igb: make ethtool use core xmit map and free functionality + * igb: add single vector msi-x testing to interrupt test + * igb: cleanup "todo" code found in igb_ethtool.c + * igb: add support for seperate tx-usecs setting in ethtool + * igb: cleanup some of the code related to hw timestamping + * igb: misc cleanups within igb_ethtool.c + * igb: use packet buffer sizes from RXPBS register + * igb: replace the VF clear_to_send with a flags value + * igb: rework use of VMOLR in regards to PF and VFs + * igb: rework handling of the vfta and vlvf registers in relation to + mng_vlan + * igb: move vf init into a seperate function + * igb: only process global stats in igb_update_stats + * igb: move global_quad_port_a from global into local static define + * igb: make tx hang check multiqueue, check eop descriptor + * igb: cleanup code related to ring resource allocation and free + * igb: change queue ordering for 82576 based adapters + * igb: cleanup interrupt enablement in regards to msix_other + * igb: Remove invalid stats counters + * igb: cleanup igb.h header whitespace and some structure formatting + * igb: cleanup igb xmit frame path + * igb: cleanup clean_rx_irq_adv and alloc_rx_buffers_adv + * igb: replace unecessary &adapter->hw with just hw where applicable + * igb: add pci_dev in few spots to clean up use of dev_err/info/warn + * igb: limit minimum mtu to 68 to keep ip bound to interface + * igb: open up SCTP checksum offloads to all MACs 82576 and newer + * igb: cleanup whitespace issues in igb_main.c + * igb: Fix warnings in igb_set_ringparam() + * igb: change type for ring sizes to u16 in igb_set_ring_param + * igb: move timesync init into a seperate function + * igb: when number of CPUs > 4 combine tx/rx queues to allow more queues + * igb: Rework how netdev->stats is handled + * igb: removed unused tx/rx total bytes/packets from adapter struct + * igb: check for packets on all tx rings when link is down + * igb: only recycle page if it is on our numa node + * igb: add support for the 82580 phy + * igb: add support for 82580 MAC + * igb: Add full support for 82580 devices + * igb: remove use of skb_dma_map from driver + * igb: fix handling of mailbox collisions between PF/VF + * igb: do not force pcs link when in KX mode + * igb: do not force retry count to 1 on 82580 phy + * igb: correctly offset 82575 flow control watermarks by 16 bytes + * igb: check both function bits in status register in wol exception + * igb: make certain to reassign legacy interrupt vectors after reset + * igb/igbvf: cleanup exception handling in tx_map_adv + * fix LOOKUP_FOLLOW on automount "symlinks" + - LP: #540231 + * ARM: 5944/1: scsi: fix timer setup in fas216.c + - LP: #540231 + * V4L/DVB: dvb: l64781.ko broken with gcc 4.5 + - LP: #540231 + * bfin: fix max timeout calculation + - LP: #540231 + * V4L/DVB: Video : pwc : Fix regression in pwc_set_shutter_speed caused + by bad constant => sizeof conversion. + - LP: #540231 + * V4L/DVB: bttv: Move I2C IR initialization + - LP: #540231 + * V4L/DVB: cxusb: Select all required frontend and tuner modules + - LP: #540231 + * memcg: fix oom killing a child process in an other cgroup + - LP: #540231 + * fs/exec.c: fix initial stack reservation + - LP: #540231 + * iwlwifi: error checking for number of tfds in queue + - LP: #540231 + * iwlwifi: set HT flags after channel in rxon + - LP: #540231 + * iwlwifi: sanity check before counting number of tfds can be free + - LP: #540231 + * netlabel: fix export of SELinux categories > 127 + - LP: #540231 + * ahci: disable FPDMA auto-activate optimization on NVIDIA AHCI + - LP: #540231 + * PCI hotplug: ibmphp: read the length of ebda and map entire ebda region + - LP: #540231 + * PCI hotplug: check ioremap() return value in ibmphp_ebda.c + - LP: #540231 + * ACPI: remove Asus P2B-DS from acpi=ht blacklist + - LP: #540231 + * ACPI: fix "acpi=ht" boot option + - LP: #540231 + * thinkpad-acpi: wrong thermal attribute_group removed in thermal_exit() + - LP: #540231 + * ACPI: Be in TS_POLLING state during mwait based C-state entry + - LP: #540231 + * mpt2sas: Delete volume before HBA detach. + - LP: #540231 + * slab: initialize unused alien cache entry as NULL at + alloc_alien_cache(). + - LP: #540231 + * mac80211: quit addba_resp_timer if Tx BA session is torn down + - LP: #540231 + * V4L/DVB (13991): gspca_mr973010a: Fix cif type 1 cameras not streaming + on UHCI controllers + - LP: #540231 + * vfs: take f_lock on modifying f_mode after open time + - LP: #540231 + * readahead: introduce FMODE_RANDOM for POSIX_FADV_RANDOM + - LP: #540231 + * HID: remove TENX iBuddy from blacklist + - LP: #540231 + * HID: add multi-input quirk for NextWindow Touchscreen. + - LP: #540231 + * HID: usbhid: introduce timeout for stuck ctrl/out URBs + - LP: #540231 + * airo: fix setting zero length WEP key + - LP: #540231 + * idr: fix a critical misallocation bug, take#2 + - LP: #540231 + * Switch proc/self to nd_set_link() + - LP: #540231 + * sparc: Align clone and signal stacks to 16 bytes. + - LP: #540231 + * sparc32: Fix page_to_phys(). + - LP: #540231 + * sparc32: Fix struct stat uid/gid types. + - LP: #540231 + * sparc: leds_resource.end assigned to itself in clock_board_probe() + - LP: #540231 + * sparc64: Fix sun4u execute bit check in TSB I-TLB load. + - LP: #540231 + * net: Fix sysctl restarts... + - LP: #540231 + * net-sysfs: Use rtnl_trylock in wireless sysfs methods. + - LP: #540231 + * net: bug fix for vlan + gro issue + - LP: #540231 + * inet: Remove bogus IGMPv3 report handling + - LP: #540231 + * ipv6: conntrack: Add member of user to nf_ct_frag6_queue structure + - LP: #540231 + * drivers/net: ks8851_mll ethernet network driver + - LP: #540231 + * sky2: fix transmit DMA map leakage + - LP: #540231 + * SCSI: qla2xxx: Obtain proper host structure during response-queue + processing. + - LP: #540231 + * rtc-core: fix memory leak + - LP: #540231 + * offb: Add support for framebuffer handoff to offb. + - LP: #540231 + * tpm_tis: TPM_STS_DATA_EXPECT workaround + - LP: #540231 + * rndis_wlan: handle NL80211_AUTHTYPE_AUTOMATIC + - LP: #540231 + * rndis_wlan: fix buffer overflow in rndis_query_oid + - LP: #540231 + * rndis_wlan: disable stall workaround + - LP: #540231 + * net/via-rhine: Fix scheduling while atomic bugs + - LP: #540231 + * clocksource: Fix up a registration/IRQ race in the sh drivers. + - LP: #540231 + * SCSI: qla1280: Drop host_lock while requesting firmware + - LP: #540231 + * Staging: hv: add a pci device table + - LP: #540231 + * Staging: hv: match on DMI values to know if we should run. + - LP: #540231 + * Staging: mimio: remove the mimio driver + - LP: #540231 + * dvb-core: Fix DoS bug in ULE decapsulation code that can be triggered + by an invalid Payload Pointer + - LP: #540231 + * V4L/DVB (13148): uvcvideo: Handle V4L2_CTRL_TYPE_BUTTON control type in + VIDIOC_QUERYCTRL + - LP: #540231 + * PM / Hibernate: Fix preallocating of memory + - LP: #540231 + * macintosh/therm_adt746x: Fix sysfs attributes lifetime + - LP: #540231 + * macintosh/hwmon/ams: Fix device removal sequence + - LP: #540231 + * oprofile/x86: fix perfctr nmi reservation for mulitplexing + - LP: #540231 + * oprofile: remove tracing build dependency + - LP: #540231 + * oprofile/x86: remove node check in AMD IBS initialization + - LP: #540231 + * oprofile/x86: use kzalloc() instead of kmalloc() + - LP: #540231 + * oprofile/x86: fix msr access to reserved counters + - LP: #540231 + * ALSA: hda: Use 3stack quirk for Toshiba Satellite L40-10Q + - LP: #524948, #540231 + * ALSA: via82xx: add quirk for D1289 motherboard + - LP: #540231 + * ALSA: pcm core - fix fifo_size channels interval check + - LP: #540231 + * ALSA: USB MIDI support for Access Music VirusTI + - LP: #540231 + * ALSA: hda: Use LPIB for Dell Latitude 131L + - LP: #530346, #540231 + * ALSA: hda: Use LPIB for a Biostar Microtech board + - LP: #523953, #540231 + * ALSA: hda - Add a position_fix quirk for MSI Wind U115 + - LP: #540231 + * ALSA: hda - Add position_fix quirk for HP dv3 + - LP: #540231 + * ALSA: hda-intel: Add position_fix quirk for ASUS M2V-MX SE. + - LP: #540231 + * ASoC: fix ak4104 register array access + - LP: #540231 + * driver-core: fix race condition in get_device_parent() + - LP: #540231 + * Driver-Core: devtmpfs - reset inode permissions before unlinking + - LP: #540231 + * tty: Fix the ldisc hangup race + - LP: #540231 + * serial: imx: fix NULL dereference Oops when pdata == NULL + - LP: #540231 + * USB: serial: sierra driver indat_callback fix + - LP: #511157, #540231 + * USB: SIS USB2VGA DRIVER: support KAIREN's USB VGA adaptor + USB20SVGA-MB-PLUS + - LP: #540231 + * USB: fix I2C API usage in ohci-pnx4008. + - LP: #540231 + * p54usb: Add the USB ID for Belkin (Accton) FD7050E ver 1010ec + - LP: #540231 + * p54pci: handle dma mapping errors + - LP: #540231 + * gpiolib: Actually set output state in wm831x_gpio_direction_output() + - LP: #540231 + * hwmon: (tmp421) Fix temperature conversions + - LP: #540231 + * hwmon: (tmp421) Restore missing inputs + - LP: #540231 + * pata_hpt3x2n: always stretch UltraDMA timing + - LP: #540231 + * scm: Only support SCM_RIGHTS on unix domain sockets. + - LP: #540231 + * ath9k: fix beacon timer restart after a card reset + - LP: #540231 + * ath9k: fix rate control fallback rate selection + - LP: #540231 + * ath9k: disable RIFS search for AR91xx based chips + - LP: #540231 + * ath5k: use correct packet type when transmitting + - LP: #540231 + * b43/b43legacy: Wake queues in wireless_core_start + - LP: #540231 + * netfilter: xt_recent: fix buffer overflow + - LP: #540231 + * netfilter: xt_recent: fix false match + - LP: #540231 + * sunxvr500: Additional PCI id for sunxvr500 driver + - LP: #540231 + * thinkpad-acpi: fix poll thread auto-start + - LP: #540231 + * thinkpad-acpi: R52 brightness_mode has been confirmed + - LP: #540231 + * thinkpad-acpi: document HKEY event 3006 + - LP: #540231 + * thinkpad-acpi: make driver events work in NVRAM poll mode + - LP: #540231 + * thinkpad-acpi: fix bluetooth/wwan resume + - LP: #540231 + * ocfs2: Only bug out in direct io write for reflinked extent. + - LP: #540231 + * x86, ia32_aout: do not kill argument mapping + - LP: #540231 + * x86: Add iMac9,1 to pci_reboot_dmi_table + - LP: #540231 + * x86, xen: Disable highmem PTE allocation even when CONFIG_HIGHPTE=y + - LP: #540231 + * x86: Avoid race condition in pci_enable_msix() + - LP: #540231 + * x86: Fix SCI on IOAPIC != 0 + - LP: #540231 + * USB: xhci: Fix finding extended capabilities registers + - LP: #540231 + * USB: fix the idProduct value for USB-3.0 root hubs + - LP: #540231 + * USB: fix crash in uhci_scan_schedule + - LP: #540231 + * USB: remove debugging message for uevent constructions + - LP: #540231 + * USB: Move hcd free_dev call into usb_disconnect to fix oops + - LP: #540231 + * USB: ftdi_sio: isolate all device IDs to new ftdi_sio_ids.h header + - LP: #540231 + * USB: ftdi_sio: sort PID/VID entries in new ftdi_sio_ids.h header + - LP: #540231 + * USB: ftdi_sio: new device id for papouch AD4USB + - LP: #540231 + * USB: ftdi_sio: add device IDs (several ELV, one Mindstorms NXT) + - LP: #540231 + * USB: add new ftdi_sio device ids + - LP: #540231 + * USB: serial: ftdi: add CONTEC vendor and product id + - LP: #540231 + * USB: cp210x: Add 81E8 (Zephyr Bioharness) + - LP: #540231 + * USB: unusual_devs: Add support for multiple Option 3G sticks + - LP: #540231 + * sunrpc: remove unnecessary svc_xprt_put + - LP: #540231 + * SUNRPC: Handle EINVAL error returns from the TCP connect operation + - LP: #540231 + * s3cmci: s3cmci_card_present: Use no_detect to decide whether there is a + card detect pin + - LP: #540231 + * rtc-coh901331: fix braces in resume code + - LP: #540231 + * NFS: Fix an allocation-under-spinlock bug + - LP: #540231 + * dm: free dm_io before bio_endio not after + - LP: #540231 + * KVM: x86 emulator: Add group8 instruction decoding + - LP: #540231 + * KVM: x86 emulator: Forbid modifying CS segment register by mov + instruction + - LP: #540231 + * KVM: x86 emulator: Add group9 instruction decoding + - LP: #540231 + * KVM: x86 emulator: Check CPL level during privilege instruction + emulation + - LP: #540231 + * sched: Fix sched_mv_power_savings for !SMT + - LP: #540231 + * sched: Fix SMT scheduler regression in find_busiest_queue() + - LP: #540231 + * sched: Don't use possibly stale sched_class + - LP: #540231 + * x86, mm: Allow highmem user page tables to be disabled at boot time + - LP: #540231 + * Linux 2.6.32.10 + - LP: #540231 + * drm/i915: give up on 8xx lid status + - LP: #540231 + * drm/i915: Use a dmi quirk to skip a broken SDVO TV output. + - LP: #540231 + * drm/ttm: handle OOM in ttm_tt_swapout + - LP: #540231 + * drm/radeon/kms/atom: fix shr/shl ops + - LP: #540231 + * Linux 2.6.32.10+drm33.1 + - LP: #540231 + + -- Andy Whitcroft Fri, 19 Mar 2010 19:17:09 +0000 + +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-2.6.32.orig/debian/copyright +++ linux-2.6.32/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-2.6.32.orig/debian/commit-templates/bumpabi +++ linux-2.6.32/debian/commit-templates/bumpabi @@ -0,0 +1,3 @@ +UBUNTU: Bump ABI + +Ignore: yes --- linux-2.6.32.orig/debian/commit-templates/config-updates +++ linux-2.6.32/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-2.6.32.orig/debian/commit-templates/external-driver +++ linux-2.6.32/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-2.6.32.orig/debian/commit-templates/missing-modules +++ linux-2.6.32/debian/commit-templates/missing-modules @@ -0,0 +1,3 @@ +UBUNTU: build/modules: Add modules that have intentionally gone missing + +Ignore: yes --- linux-2.6.32.orig/debian/commit-templates/newrelease +++ linux-2.6.32/debian/commit-templates/newrelease @@ -0,0 +1,3 @@ +UBUNTU: Start new release + +Ignore: yes --- linux-2.6.32.orig/debian/commit-templates/sauce-patch +++ linux-2.6.32/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-2.6.32.orig/debian/commit-templates/upstream-patch +++ linux-2.6.32/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-2.6.32.orig/debian/docs/README.inclusion-list +++ linux-2.6.32/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-2.6.32.orig/debian/stamps/keep-dir +++ linux-2.6.32/debian/stamps/keep-dir @@ -0,0 +1 @@ +Place holder --- linux-2.6.32.orig/debian/control-scripts/headers-postinst +++ linux-2.6.32/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-2.6.32.orig/debian/control-scripts/postinst +++ linux-2.6.32/debian/control-scripts/postinst @@ -0,0 +1,1088 @@ +#! /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.\n"); + } + # 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 .\n"); + 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 : $!\n"); + 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}.\n"); + } + } + 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}: $!\n"); + } + } + + # 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 .\n"); + } + } + 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 .\n"); + } + } + 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: $!\n"); + 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 .\n"); + } + } + ##,#### + # 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 .\n"); + } + 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 .\n"); + } + } + ##,#### + # 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 .\n"); + } + } + # 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"; + } +} + +## 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-2.6.32.orig/debian/control-scripts/postrm +++ linux-2.6.32/debian/control-scripts/postrm @@ -0,0 +1,354 @@ +#! /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"; + } +} + +## 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-2.6.32.orig/debian/control-scripts/preinst +++ linux-2.6.32/debian/control-scripts/preinst @@ -0,0 +1,299 @@ +#! /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)/; + +# 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"; + } +} + + +## 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-2.6.32.orig/debian/control-scripts/prerm +++ linux-2.6.32/debian/control-scripts/prerm @@ -0,0 +1,308 @@ +#! /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"; + } +} + + +## 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 () { + my @files_to_remove = qw{ + modules.dep modules.isapnpmap modules.pcimap + modules.usbmap modules.parportmap + modules.generic_string modules.ieee1394map + modules.ieee1394map modules.pnpbiosmap + modules.alias modules.ccwmap modules.inputmap + modules.symbols modules.ofmap modules.seriomap + modules.alias.bin modules.builtin.bin modules.dep.bin modules.symbols.bin + }; + + foreach my $extra_file (@files_to_remove) { + if (-f "/lib/modules/$version/$extra_file") { + unlink "/lib/modules/$version/$extra_file"; + } + } + exit 0; +} + + + +&success(); +exit 0; +__END__ + + + + + --- linux-2.6.32.orig/debian/rules.d/0-common-vars.mk +++ linux-2.6.32/debian/rules.d/0-common-vars.mk @@ -0,0 +1,182 @@ +# +# 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 := lucid +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. +extraversion=$(shell awk '/EXTRAVERSION =/ { print $$3 }' 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) \ + EXTRAVERSION=-$(abinum)-$(target_flavour) \ + CONFIG_DEBUG_SECTION_MISMATCH=y SUBLEVEL=$(SUBLEVEL) \ + KBUILD_BUILD_VERSION="$(uploadnum)" \ + LOCALVERSION= +ifneq ($(LOCAL_ENV_CC),) +kmake += CC=$(LOCAL_ENV_CC) DISTCC_HOSTS=$(LOCAL_ENV_DISTCC_HOSTS) +endif --- linux-2.6.32.orig/debian/rules.d/1-maintainer.mk +++ linux-2.6.32/debian/rules.d/1-maintainer.mk @@ -0,0 +1,137 @@ +# 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: + dh_testdir; + $(SHELL) $(DROOT)/scripts/misc/kernelconfig oldconfig + rm -rf build + +defaultconfigs: + dh_testdir; + yes "" | $(SHELL) $(DROOT)/scripts/misc/kernelconfig defaultconfig + rm -rf build + +editconfigs: + dh_testdir + $(SHELL) $(DROOT)/scripts/misc/kernelconfig editconfig + rm -rf build + +genconfigs: + dh_testdir + $(SHELL) $(DROOT)/scripts/misc/kernelconfig genconfig + rm -rf build + +updateportsconfigs: + dh_testdir; + $(SHELL) $(DROOT)/scripts/misc/kernelconfig oldconfig ports + rm -rf build + +editportsconfigs: + dh_testdir + $(SHELL) $(DROOT)/scripts/misc/kernelconfig editconfig ports + rm -rf build + +genportsconfigs: + dh_testdir + $(SHELL) $(DROOT)/scripts/misc/kernelconfig genconfig 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)" +ifneq ($(SUBLEVEL),) + @echo "SUBLEVEL = $(SUBLEVEL)" +endif + @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_common_headers_indep = $(do_common_headers_indep)" + @echo "do_full_source = $(do_full_source)" + @echo "do_tools = $(do_tools)" + +printchanges: + @baseCommit=$$(git log --pretty=format:'%H %s' | \ + awk '/UBUNTU: '".*Ubuntu-$(release)-$(prev_revision)"'$$/ { print $$1; exit }'); \ + git log "$$baseCommit"..HEAD | \ + perl -w -f $(DROOT)/scripts/misc/git-ubuntu-log $(ubuntu_log_opts) + +insertchanges: + @perl -w -f $(DROOT)/scripts/misc/insert-changes.pl $(DROOT) $(DEBIAN) + +diffupstream: + @git diff-tree -p refs/remotes/linux-2.6/master..HEAD $(shell ls | grep -vE '^(ubuntu|$(DEBIAN)|\.git.*)') + +startnewrelease: + dh_testdir + @nextminor=$(shell expr `echo $(revision) | awk -F. '{print $$2}'` + 1); \ + now="$(shell date -R)"; \ + echo "Creating new changelog set for $(abi_release).$$nextminor..."; \ + echo -e "$(src_pkg_name) ($(abi_release).$$nextminor) UNRELEASED; urgency=low\n" > $(DEBIAN)/changelog.new; \ + echo " CHANGELOG: Do not edit directly. Autogenerated at release." >> \ + $(DEBIAN)/changelog.new; \ + echo " CHANGELOG: Use the printchanges target to see the curent changes." \ + >> $(DEBIAN)/changelog.new; \ + echo " CHANGELOG: Use the insertchanges target to create the final log." \ + >> $(DEBIAN)/changelog.new; \ + echo -e "\n -- $$DEBFULLNAME <$$DEBEMAIL> $$now\n" >> \ + $(DEBIAN)/changelog.new ; \ + cat $(DEBIAN)/changelog >> $(DEBIAN)/changelog.new; \ + mv $(DEBIAN)/changelog.new $(DEBIAN)/changelog + --- linux-2.6.32.orig/debian/rules.d/2-binary-arch.mk +++ linux-2.6.32/debian/rules.d/2-binary-arch.mk @@ -0,0 +1,394 @@ +# 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-% + @touch $@ +$(stampdir)/stamp-prepare-tree-%: target_flavour = $* +$(stampdir)/stamp-prepare-tree-%: $(commonconfdir)/config.common.$(family) $(archconfdir)/config.common.$(arch) $(archconfdir)/config.flavour.% + @echo "Preparing $*..." + 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)-$* $(release)$(extraversion)"/' > $(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 Prepared $* for $(arch) +# Used by developers to allow efficient pre-building without fakeroot. +build-%: $(stampdir)/stamp-build-% + @echo Built $* for $(arch) + +# Do the actual build, including image and modules +$(stampdir)/stamp-build-%: target_flavour = $* +$(stampdir)/stamp-build-%: $(stampdir)/stamp-prepare-% + @echo "Building $*..." + $(build_cd) $(kmake) $(build_O) $(conc_level) $(build_image) modules + @touch $@ + +# Install the finished build +install-%: pkgdir = $(CURDIR)/debian/$(bin_pkg_name)-$* +install-%: bindoc = $(pkgdir)/usr/share/doc/$(bin_pkg_name)-$* +install-%: dbgpkgdir = $(CURDIR)/debian/$(bin_pkg_name)-$*-dbgsym +install-%: basepkg = $(hdrs_pkg_name) +install-%: hdrdir = $(CURDIR)/debian/$(basepkg)-$*/usr/src/$(basepkg)-$* +install-%: target_flavour = $* +install-%: checks-% + 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 -m644 -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 644 $(pkgdir)/boot/$(install_file)-$(abi_release)-$* +endif + + install -m644 $(builddir)/build-$*/.config \ + $(pkgdir)/boot/config-$(abi_release)-$* + install -m644 $(abidir)/$* \ + $(pkgdir)/boot/abi-$(abi_release)-$* + install -m644 $(builddir)/build-$*/System.map \ + $(pkgdir)/boot/System.map-$(abi_release)-$* +ifeq ($(no_dumpfile),) + makedumpfile -g $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$* \ + -x $(builddir)/build-$*/vmlinux +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 \ + $(DROOT)/scripts/module-inclusion $(pkgdir)/lib/modules/$(abi_release)-$*/kernel \ + $(DEBIAN)/control.d/$(target_flavour).inclusion-list 2>&1 | \ + tee $(target_flavour).inclusion-list.log; \ + /sbin/depmod -b $(pkgdir) -ea -F $(pkgdir)/boot/System.map-$(abi_release)-$* \ + $(abi_release)-$* 2>&1 |tee $(target_flavour).depmod.log; \ + fi + +ifeq ($(no_dumpfile),) + makedumpfile -g $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$* \ + -x $(builddir)/build-$*/vmlinux +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 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 + 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 + # 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)" "$*" + # Setup the proper asm symlink + rm -f $(hdrdir)/include/asm + ln -s asm-$(asm_link) $(hdrdir)/include/asm + # 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 + # + 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) SUBLEVEL=$(SUBLEVEL) \ + EXTRAVERSION=-$(abinum) INSTALL_HDR_PATH=$(headers_tmp)/install \ + SHELL="$(SHELL)" ARCH=$(header_arch) + +install-arch-headers: + 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/ ) + + rm -rf $(headers_tmp) + +binary-arch-headers: install-arch-headers + dh_testdir + dh_testroot +ifeq ($(do_libc_dev_package),true) + 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 + dh_gencontrol -plinux-libc-dev + dh_md5sums -plinux-libc-dev + dh_builddeb -plinux-libc-dev +endif + +binary-%: pkgimg = $(bin_pkg_name)-$* +binary-%: pkghdr = $(hdrs_pkg_name)-$* +binary-%: dbgpkg = $(bin_pkg_name)-$*-dbgsym +binary-%: install-% + dh_testdir + dh_testroot + + dh_installchangelogs -p$(pkgimg) + dh_installdocs -p$(pkgimg) + dh_compress -p$(pkgimg) + dh_fixperms -p$(pkgimg) + dh_installdeb -p$(pkgimg) + dh_shlibdeps -p$(pkgimg) + dh_gencontrol -p$(pkgimg) + dh_md5sums -p$(pkgimg) + dh_builddeb -p$(pkgimg) -- -Zbzip2 -z9 + + dh_installchangelogs -p$(pkghdr) + dh_installdocs -p$(pkghdr) + dh_compress -p$(pkghdr) + dh_fixperms -p$(pkghdr) + dh_shlibdeps -p$(pkghdr) + dh_installdeb -p$(pkghdr) + 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; \ + dh_shlibdeps -p$$pkg; \ + dh_installdeb -p$$pkg; \ + 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) + 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; \ + 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 + # Now, the package wont get into the archive, but it will get put + # into the debug system. +endif + +# +# per-architecture packages +# +builddirpa = $(builddir)/tools-perarch + +$(stampdir)/stamp-prepare-perarch: + @echo "Preparing perarch ..." +ifeq ($(do_tools),true) + install -d $(builddirpa)/tools-$* + for i in *; do ln -s $(CURDIR)/$$i $(builddirpa)/tools-$*/; done + rm $(builddirpa)/tools-$*/tools + rsync -a tools/ $(builddirpa)/tools-$*/tools/ +endif + touch $@ + +$(stampdir)/stamp-build-perarch: $(stampdir)/stamp-prepare-perarch +ifeq ($(do_tools),true) + cd $(builddirpa)/tools-$*/tools/perf && make HAVE_CPLUS_DEMANGLE=1 $(conc_level) +endif + @touch $@ + +install-perarch: toolspkgdir = $(CURDIR)/debian/$(tools_pkg_name) +install-perarch: $(stampdir)/stamp-build-perarch + # Add the tools. +ifeq ($(do_tools),true) + install -d $(toolspkgdir)/usr/bin + install -s -m755 $(builddirpa)/tools-$*/tools/perf/perf \ + $(toolspkgdir)/usr/bin/perf_$(abi_release) +endif + +binary-perarch: toolspkg = $(tools_pkg_name) +binary-perarch: install-perarch + @# Empty for make to be happy +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) + dh_gencontrol -p$(toolspkg) + dh_md5sums -p$(toolspkg) + dh_builddeb -p$(toolspkg) +endif + +binary-debs: binary-perarch $(addprefix binary-,$(flavours)) + +build-arch: $(addprefix $(stampdir)/stamp-build-,$(flavours)) + +ifeq ($(AUTOBUILD),) +binary-arch-deps += binary-udebs +else +binary-arch-deps = binary-debs +endif +ifeq ($(do_libc_dev_package),true) +binary-arch-deps += binary-arch-headers +endif +ifneq ($(do_common_headers_indep),true) +binary-arch-deps += binary-headers +endif +binary-arch: $(binary-arch-deps) --- linux-2.6.32.orig/debian/rules.d/3-binary-indep.mk +++ linux-2.6.32/debian/rules.d/3-binary-indep.mk @@ -0,0 +1,122 @@ +build-indep: + +docpkg = $(doc_pkg_name) +docdir = $(CURDIR)/debian/$(docpkg)/usr/share/doc/$(docpkg) +install-doc: install-headers +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: +ifeq ($(do_common_headers_indep),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 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) +install-source: install-doc +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 $(srcdir) + (cd $(srcdir)/..; tar cf - $(srcpkg)) | bzip2 -9c > \ + $(srcdir).tar.bz2 + rm -rf $(srcdir) +endif +endif + +install-tools: toolspkg = $(tools_common_pkg_name) +install-tools: toolsbin = $(CURDIR)/debian/$(toolspkg)/usr/bin +install-tools: toolsman = $(CURDIR)/debian/$(toolspkg)/usr/share/man +install-tools: install-source +ifeq ($(do_tools),true) + dh_testdir + dh_testroot + dh_clean -k -p$(toolspkg) + + install -d $(toolsbin) + install -d $(toolsman)/man1 + + install -m755 debian/tools/perf $(toolsbin)/perf + + 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 +endif + +install-indep: install-tools + +# This is just to make it easy to call manually. Normally done in +# binary-indep target during builds. +binary-headers: install-headers + 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) + dh_gencontrol -p$(indep_hdrpkg) + dh_md5sums -p$(indep_hdrpkg) + dh_builddeb -p$(indep_hdrpkg) + +binary-indep: install-indep + dh_testdir + dh_testroot + + dh_installchangelogs -i + dh_installdocs -i + dh_compress -i + dh_fixperms -i + dh_installdeb -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i --- linux-2.6.32.orig/debian/rules.d/4-checks.mk +++ linux-2.6.32/debian/rules.d/4-checks.mk @@ -0,0 +1,24 @@ +# Check ABI for package against last release (if not same abinum) +abi-check-%: $(stampdir)/stamp-build-% + 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-% + 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 checks-$* + +# Check the config against the known options list. +config-prepare-check-%: $(stampdir)/stamp-prepare-tree-% + @perl -f $(DROOT)/scripts/config-check \ + $(builddir)/build-$*/.config "$(arch)" "$*" "$(sharedconfdir)" "$(skipconfig)" + --- linux-2.6.32.orig/debian/rules.d/5-udebs.mk +++ linux-2.6.32/debian/rules.d/5-udebs.mk @@ -0,0 +1,38 @@ +# Do udebs if not disabled in the arch-specific makefile +binary-udebs: binary-debs +ifeq ($(disable_d_i),) + @$(MAKE) --no-print-directory -f $(DROOT)/rules DEBIAN=$(DEBIAN) \ + do-binary-udebs +endif + +do-binary-udebs: debian/control + 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}; \ + /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; \ + dh_gencontrol -p$$i; \ + dh_builddeb -p$$i; \ + done --- linux-2.6.32.orig/debian/scripts/abi-check +++ linux-2.6.32/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-2.6.32.orig/debian/scripts/config-check +++ linux-2.6.32/debian/scripts/config-check @@ -0,0 +1,389 @@ +#!/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); + + if ($a[0] eq 'arch') { + die "$P: $pred: malformed -- $pred \n" if ($#a != 1); + #print " *** ARCH<$arch ?? $a[1]>\n"; + return ($arch eq $a[1]) + } elsif ($a[0] eq 'flavour') { + die "$P: $pred: malformed -- $pred \n" if ($#a != 1); + #print " *** FLAVOUR<$flavour ?? $a[1]>\n"; + return ($flavour eq $a[1]) + } 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 $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"; + $res = !pred_exec($1); + + # Recurse left for complex expressions. + } elsif ($pred =~ /^\s*\((.*)\)\s*$/) { + #print " left<$1>\n"; + $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 (($res && $sep eq '&') || (!$res && $sep eq '|')) { + #print " right<$rest>\n"; + $res = pred_exec($rest); + } + + } else { + die "$P: $pred$rest: malformed predicate\n"; + } + #print " return res<$res> sep<$sep>\n"; + return $res; +} + +# +# PREDICATE TESTS +# +my $test_total = 1; +my $test_good = 0; +sub pred_test { + my ($pred, $eres, $eerr) = @_; + my ($res, $err, $fail); + + $test_total++; + if ($test != 0 && $test != $test_total - 1) { + return; + } + + eval { + $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 MYARCH', undef, $epred); + pred_test('arch MYARCH', 1, undef); + pred_test('arch NOTMYARCH', 0, undef); + + pred_test('flavour', undef, $epred); + pred_test('flavour MYFLAVOUR myflavour', undef, $epred); + pred_test('flavour MYFLAVOUR', 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); + + $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 $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-2.6.32.orig/debian/scripts/control-create +++ linux-2.6.32/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-2.6.32.orig/debian/scripts/link-headers +++ linux-2.6.32/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-2.6.32.orig/debian/scripts/module-check +++ linux-2.6.32/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-2.6.32.orig/debian/scripts/module-inclusion +++ linux-2.6.32/debian/scripts/module-inclusion @@ -0,0 +1,51 @@ +#!/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.master/control.d/virtual.inclusion-list +ROOT=$1 +ILIST=$2 + +NROOT=${ROOT}.new + +# +# Prep a destination directory. +# +mkdir -p ${NROOT} +rsync -a --exclude="*.ko" ${ROOT}/ ${NROOT} + +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` + cp ${ROOT}/$f ${NROOT}/$f + done + else + if [ -f "${ROOT}/$i" ] + then + mkdir -p ${NROOT}/`dirname $i` + cp ${ROOT}/$i ${NROOT}/$i + else + echo Warning: Could not find ${ROOT}/$i + fi + fi + +done + +# +# Cleanup +# +rm -rf ${ROOT} +mv ${NROOT} ${ROOT} + +exit 0 + --- linux-2.6.32.orig/debian/scripts/sub-flavour +++ linux-2.6.32/debian/scripts/sub-flavour @@ -0,0 +1,67 @@ +#!/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/{vmlinuz,System.map,config}-$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-2.6.32.orig/debian/scripts/misc/getabis +++ linux-2.6.32/debian/scripts/misc/getabis @@ -0,0 +1,76 @@ +#!/bin/bash + +. debian/debian.env + +if [ "$#" != "2" ]; then + echo "Usage: $0 " 1>&2 + exit 1 +fi + +ver=$1 +revision=$2 +abi=$(echo $revision | awk -F. '{print $1}') + +verabi=$ver-$abi +verfull=$ver-$revision + +WGET="wget --quiet -c" + +abidir="`pwd`/$DEBIAN/abi/$verfull" +tmpdir="`pwd`/abi-tmp-$verfull" +origdir="`pwd`" + +test -d $tmpdir || mkdir $tmpdir + +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..." + filename=linux-image-${verabi}-${sub}_${verfull}_${arch}.deb + cd $tmpdir + for r in "${repo_list[@]}" + do + if ! [ -f $filename ]; then + $WGET $r/$filename + fi + done + if [ "$?" = "0" ]; then + echo -n "extracting..." + dpkg-deb --extract $filename tmp + 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 + rm -rf tmp $filename + 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. + +. $DEBIAN/etc/getabis + +rmdir $tmpdir --- linux-2.6.32.orig/debian/scripts/misc/git-ubuntu-log +++ linux-2.6.32/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-2.6.32.orig/debian/scripts/misc/insert-changes.pl +++ linux-2.6.32/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-2.6.32.orig/debian/scripts/misc/insert-ubuntu-changes +++ linux-2.6.32/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-2.6.32.orig/debian/scripts/misc/kernelconfig +++ linux-2.6.32/debian/scripts/misc/kernelconfig @@ -0,0 +1,171 @@ +#!/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]"} +case "$mode" in + oldconfig) ;; # All is good + defaultconfig) ;; # All is good + editconfig) ;; # All is good + genconfig) ;; # All is good + *) 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" = "genconfig" ]; 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 + amd64) kernarch="x86_64" ;; + lpia) kernarch="x86" ;; + sparc) kernarch="sparc64" ;; + armel) 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 + oldconfig) + # Weed out incorrect config parameters + echo "* Run silentoldconfig on $arch/$config ..." + make O=`pwd`/build ARCH=$kernarch silentoldconfig ;; + defaultconfig) + # Weed out incorrect config parameters + echo "* Run oldconfig on $arch/$config ..." + make O=`pwd`/build ARCH=$kernarch oldconfig ;; + editconfig) + # 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 + ;; + *) # Bad! + exit 1 ;; + 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; 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 + if [ -f $archconfdir/$config ]; then + fullconf="$tmpdir/CONFIGS/$arch-$config" + "$bindir/../config-check" "$fullconf" "$arch" "$config" "$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-2.6.32.orig/debian/scripts/misc/retag +++ linux-2.6.32/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-2.6.32.orig/debian/scripts/misc/splitconfig.pl +++ linux-2.6.32/debian/scripts/misc/splitconfig.pl @@ -0,0 +1,111 @@ +#!/usr/bin/perl -w + +%allconfigs = (); +%common = (); + +print "Reading config's ...\n"; + +opendir(DIR, "."); + +while (defined($config = readdir(DIR))) { + # 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"; +} + +closedir(DIR); + +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-2.6.32.orig/debian/tests/README +++ linux-2.6.32/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-2.6.32.orig/debian/tests/check-aliases +++ linux-2.6.32/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-2.6.32.orig/debian/tools/perf +++ linux-2.6.32/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-2.6.32.orig/drivers/Makefile +++ linux-2.6.32/drivers/Makefile @@ -9,7 +9,6 @@ obj-$(CONFIG_PCI) += pci/ obj-$(CONFIG_PARISC) += parisc/ obj-$(CONFIG_RAPIDIO) += rapidio/ -obj-y += video/ obj-$(CONFIG_ACPI) += acpi/ obj-$(CONFIG_SFI) += sfi/ # PnP must come after ACPI since it will eventually need to check if acpi @@ -17,6 +16,7 @@ obj-$(CONFIG_PNP) += pnp/ obj-$(CONFIG_ARM_AMBA) += amba/ +obj-$(CONFIG_VIRTIO) += virtio/ obj-$(CONFIG_XEN) += xen/ # regulators early, since some subsystems rely on them to initialize @@ -28,6 +28,8 @@ # gpu/ comes after char for AGP vs DRM startup obj-y += gpu/ +# video/ needs to come after gpu for framebuffer fallback. +obj-y += video/ obj-$(CONFIG_CONNECTOR) += connector/ @@ -106,7 +108,6 @@ obj-$(CONFIG_PPC_PS3) += ps3/ obj-$(CONFIG_OF) += of/ obj-$(CONFIG_SSB) += ssb/ -obj-$(CONFIG_VIRTIO) += virtio/ obj-$(CONFIG_VLYNQ) += vlynq/ obj-$(CONFIG_STAGING) += staging/ obj-y += platform/ --- linux-2.6.32.orig/drivers/acpi/battery.c +++ linux-2.6.32/drivers/acpi/battery.c @@ -837,6 +837,18 @@ #endif } +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; @@ -851,14 +863,14 @@ strcpy(acpi_device_class(device), ACPI_BATTERY_CLASS); device->driver_data = battery; mutex_init(&battery->lock); - acpi_battery_update(battery); + /* 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) { - printk(KERN_INFO PREFIX "%s Slot [%s] (battery %s)\n", - ACPI_BATTERY_DEVICE_NAME, acpi_device_bid(device), - device->status.battery_present ? "present" : "absent"); + async_schedule_domain(acpi_battery_update_async, device, &acpi_battery_domain); + } else { #ifdef CONFIG_ACPI_PROCFS_POWER acpi_battery_remove_fs(device); @@ -874,6 +886,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); #ifdef CONFIG_ACPI_PROCFS_POWER acpi_battery_remove_fs(device); @@ -911,27 +927,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-2.6.32.orig/drivers/acpi/blacklist.c +++ linux-2.6.32/drivers/acpi/blacklist.c @@ -185,6 +185,12 @@ acpi_osi_setup("!Windows 2006"); return 0; } +static int __init dmi_disable_osi_win7(const struct dmi_system_id *d) +{ + printk(KERN_NOTICE PREFIX "DMI detected: %s\n", d->ident); + acpi_osi_setup("!Windows 2009"); + return 0; +} static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { { @@ -211,6 +217,38 @@ DMI_MATCH(DMI_PRODUCT_NAME, "Sony VGN-SR290J"), }, }, + { + .callback = dmi_disable_osi_vista, + .ident = "Toshiba Satellite L355", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), + DMI_MATCH(DMI_PRODUCT_VERSION, "Satellite L355"), + }, + }, + { + .callback = dmi_disable_osi_vista, + .ident = "Toshiba Satellite L355", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), + DMI_MATCH(DMI_PRODUCT_VERSION, "Satellite L355"), + }, + }, + { + .callback = dmi_disable_osi_win7, + .ident = "ASUS K50IJ", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "K50IJ"), + }, + }, + { + .callback = dmi_disable_osi_vista, + .ident = "Toshiba P305D", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), + DMI_MATCH(DMI_PRODUCT_NAME, "Satellite P305D"), + }, + }, /* * BIOS invocation of _OSI(Linux) is almost always a BIOS bug. --- linux-2.6.32.orig/drivers/acpi/bus.c +++ linux-2.6.32/drivers/acpi/bus.c @@ -344,6 +344,167 @@ EXPORT_SYMBOL(acpi_bus_can_wakeup); +static void acpi_print_osc_error(acpi_handle handle, + struct acpi_osc_context *context, char *error) +{ + struct acpi_buffer buffer = {ACPI_ALLOCATE_BUFFER}; + int i; + + if (ACPI_FAILURE(acpi_get_name(handle, ACPI_FULL_PATHNAME, &buffer))) + printk(KERN_DEBUG "%s\n", error); + else { + printk(KERN_DEBUG "%s:%s\n", (char *)buffer.pointer, error); + kfree(buffer.pointer); + } + printk(KERN_DEBUG"_OSC request data:"); + for (i = 0; i < context->cap.length; i += sizeof(u32)) + printk("%x ", *((u32 *)(context->cap.pointer + i))); + printk("\n"); +} + +static u8 hex_val(unsigned char c) +{ + return isdigit(c) ? c - '0' : toupper(c) - 'A' + 10; +} + +static acpi_status acpi_str_to_uuid(char *str, u8 *uuid) +{ + int i; + static int opc_map_to_uuid[16] = {6, 4, 2, 0, 11, 9, 16, 14, 19, 21, + 24, 26, 28, 30, 32, 34}; + + if (strlen(str) != 36) + return AE_BAD_PARAMETER; + for (i = 0; i < 36; i++) { + if (i == 8 || i == 13 || i == 18 || i == 23) { + if (str[i] != '-') + return AE_BAD_PARAMETER; + } else if (!isxdigit(str[i])) + return AE_BAD_PARAMETER; + } + for (i = 0; i < 16; i++) { + uuid[i] = hex_val(str[opc_map_to_uuid[i]]) << 4; + uuid[i] |= hex_val(str[opc_map_to_uuid[i] + 1]); + } + return AE_OK; +} + +acpi_status acpi_run_osc(acpi_handle handle, struct acpi_osc_context *context) +{ + acpi_status status; + struct acpi_object_list input; + union acpi_object in_params[4]; + union acpi_object *out_obj; + u8 uuid[16]; + u32 errors; + struct acpi_buffer output = {ACPI_ALLOCATE_BUFFER, NULL}; + + if (!context) + return AE_ERROR; + if (ACPI_FAILURE(acpi_str_to_uuid(context->uuid_str, uuid))) + return AE_ERROR; + context->ret.length = ACPI_ALLOCATE_BUFFER; + context->ret.pointer = NULL; + + /* Setting up input parameters */ + input.count = 4; + input.pointer = in_params; + in_params[0].type = ACPI_TYPE_BUFFER; + in_params[0].buffer.length = 16; + in_params[0].buffer.pointer = uuid; + in_params[1].type = ACPI_TYPE_INTEGER; + in_params[1].integer.value = context->rev; + in_params[2].type = ACPI_TYPE_INTEGER; + in_params[2].integer.value = context->cap.length/sizeof(u32); + in_params[3].type = ACPI_TYPE_BUFFER; + in_params[3].buffer.length = context->cap.length; + in_params[3].buffer.pointer = context->cap.pointer; + + status = acpi_evaluate_object(handle, "_OSC", &input, &output); + if (ACPI_FAILURE(status)) + return status; + + if (!output.length) + return AE_NULL_OBJECT; + + out_obj = output.pointer; + if (out_obj->type != ACPI_TYPE_BUFFER + || out_obj->buffer.length != context->cap.length) { + acpi_print_osc_error(handle, context, + "_OSC evaluation returned wrong type"); + status = AE_TYPE; + goto out_kfree; + } + /* Need to ignore the bit0 in result code */ + errors = *((u32 *)out_obj->buffer.pointer) & ~(1 << 0); + if (errors) { + if (errors & OSC_REQUEST_ERROR) + acpi_print_osc_error(handle, context, + "_OSC request failed"); + if (errors & OSC_INVALID_UUID_ERROR) + acpi_print_osc_error(handle, context, + "_OSC invalid UUID"); + if (errors & OSC_INVALID_REVISION_ERROR) + acpi_print_osc_error(handle, context, + "_OSC invalid revision"); + if (errors & OSC_CAPABILITIES_MASK_ERROR) { + if (((u32 *)context->cap.pointer)[OSC_QUERY_TYPE] + & OSC_QUERY_ENABLE) + goto out_success; + status = AE_SUPPORT; + goto out_kfree; + } + status = AE_ERROR; + goto out_kfree; + } +out_success: + context->ret.length = out_obj->buffer.length; + context->ret.pointer = kmalloc(context->ret.length, GFP_KERNEL); + if (!context->ret.pointer) { + status = AE_NO_MEMORY; + goto out_kfree; + } + memcpy(context->ret.pointer, out_obj->buffer.pointer, + context->ret.length); + status = AE_OK; + +out_kfree: + kfree(output.pointer); + if (status != AE_OK) + context->ret.pointer = NULL; + return status; +} +EXPORT_SYMBOL(acpi_run_osc); + +static u8 sb_uuid_str[] = "0811B06E-4A27-44F9-8D60-3CBBC22E7B48"; +static void acpi_bus_osc_support(void) +{ + u32 capbuf[2]; + struct acpi_osc_context context = { + .uuid_str = sb_uuid_str, + .rev = 1, + .cap.length = 8, + .cap.pointer = capbuf, + }; + acpi_handle handle; + + capbuf[OSC_QUERY_TYPE] = OSC_QUERY_ENABLE; + capbuf[OSC_SUPPORT_TYPE] = OSC_SB_PR3_SUPPORT; /* _PR3 is in use */ +#if defined(CONFIG_ACPI_PROCESSOR_AGGREGATOR) ||\ + defined(CONFIG_ACPI_PROCESSOR_AGGREGATOR_MODULE) + capbuf[OSC_SUPPORT_TYPE] |= OSC_SB_PAD_SUPPORT; +#endif + +#if defined(CONFIG_ACPI_PROCESSOR) || defined(CONFIG_ACPI_PROCESSOR_MODULE) + capbuf[OSC_SUPPORT_TYPE] |= OSC_SB_PPC_OST_SUPPORT; +#endif + if (ACPI_FAILURE(acpi_get_handle(NULL, "\\_SB", &handle))) + return; + if (ACPI_SUCCESS(acpi_run_osc(handle, &context))) + kfree(context.ret.pointer); + /* do we need to check the returned cap? Sounds no */ +} + /* -------------------------------------------------------------------------- Event Management -------------------------------------------------------------------------- */ @@ -734,6 +895,8 @@ 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"); --- linux-2.6.32.orig/drivers/acpi/button.c +++ linux-2.6.32/drivers/acpi/button.c @@ -282,6 +282,13 @@ if (ret == NOTIFY_DONE) ret = blocking_notifier_call_chain(&acpi_lid_notifier, state, device); + if (ret == NOTIFY_DONE || ret == NOTIFY_OK) { + /* + * It is also regarded as success if the notifier_chain + * returns NOTIFY_OK or NOTIFY_DONE. + */ + ret = 0; + } return ret; } --- linux-2.6.32.orig/drivers/acpi/ec.c +++ linux-2.6.32/drivers/acpi/ec.c @@ -201,14 +201,13 @@ spin_unlock_irqrestore(&ec->curr_lock, flags); } -static void acpi_ec_gpe_query(void *ec_cxt); +static int acpi_ec_sync_query(struct acpi_ec *ec); -static int ec_check_sci(struct acpi_ec *ec, u8 state) +static int ec_check_sci_sync(struct acpi_ec *ec, u8 state) { if (state & ACPI_EC_FLAG_SCI) { if (!test_and_set_bit(EC_FLAGS_QUERY_PENDING, &ec->flags)) - return acpi_os_execute(OSL_EC_BURST_HANDLER, - acpi_ec_gpe_query, ec); + return acpi_ec_sync_query(ec); } return 0; } @@ -249,11 +248,6 @@ { unsigned long tmp; int ret = 0; - pr_debug(PREFIX "transaction start\n"); - /* disable GPE during transaction if storm is detected */ - if (test_bit(EC_FLAGS_GPE_STORM, &ec->flags)) { - acpi_disable_gpe(NULL, ec->gpe); - } if (EC_FLAGS_MSI) udelay(ACPI_EC_MSI_UDELAY); /* start transaction */ @@ -265,20 +259,9 @@ clear_bit(EC_FLAGS_QUERY_PENDING, &ec->flags); spin_unlock_irqrestore(&ec->curr_lock, tmp); ret = ec_poll(ec); - pr_debug(PREFIX "transaction end\n"); spin_lock_irqsave(&ec->curr_lock, tmp); ec->curr = NULL; spin_unlock_irqrestore(&ec->curr_lock, tmp); - if (test_bit(EC_FLAGS_GPE_STORM, &ec->flags)) { - /* check if we received SCI during transaction */ - ec_check_sci(ec, acpi_ec_read_status(ec)); - /* it is safe to enable GPE outside of transaction */ - acpi_enable_gpe(NULL, ec->gpe); - } else if (t->irq_count > ACPI_EC_STORM_THRESHOLD) { - pr_info(PREFIX "GPE storm detected, " - "transactions will use polling mode\n"); - set_bit(EC_FLAGS_GPE_STORM, &ec->flags); - } return ret; } @@ -321,7 +304,26 @@ status = -ETIME; goto end; } + pr_debug(PREFIX "transaction start\n"); + /* disable GPE during transaction if storm is detected */ + if (test_bit(EC_FLAGS_GPE_STORM, &ec->flags)) { + acpi_disable_gpe(NULL, ec->gpe); + } + status = acpi_ec_transaction_unlocked(ec, t); + + /* check if we received SCI during transaction */ + ec_check_sci_sync(ec, acpi_ec_read_status(ec)); + if (test_bit(EC_FLAGS_GPE_STORM, &ec->flags)) { + msleep(1); + /* it is safe to enable GPE outside of transaction */ + acpi_enable_gpe(NULL, ec->gpe); + } else if (t->irq_count > ACPI_EC_STORM_THRESHOLD) { + pr_info(PREFIX "GPE storm detected, " + "transactions will use polling mode\n"); + set_bit(EC_FLAGS_GPE_STORM, &ec->flags); + } + pr_debug(PREFIX "transaction end\n"); end: if (ec->global_lock) acpi_release_global_lock(glk); @@ -443,7 +445,7 @@ EXPORT_SYMBOL(ec_transaction); -static int acpi_ec_query(struct acpi_ec *ec, u8 * data) +static int acpi_ec_query_unlocked(struct acpi_ec *ec, u8 * data) { int result; u8 d; @@ -452,20 +454,16 @@ .wlen = 0, .rlen = 1}; if (!ec || !data) return -EINVAL; - /* * Query the EC to find out which _Qxx method we need to evaluate. * Note that successful completion of the query causes the ACPI_EC_SCI * bit to be cleared (and thus clearing the interrupt source). */ - - result = acpi_ec_transaction(ec, &t); + result = acpi_ec_transaction_unlocked(ec, &t); if (result) return result; - if (!d) return -ENODATA; - *data = d; return 0; } @@ -509,43 +507,78 @@ EXPORT_SYMBOL_GPL(acpi_ec_remove_query_handler); -static void acpi_ec_gpe_query(void *ec_cxt) +static void acpi_ec_run(void *cxt) { - struct acpi_ec *ec = ec_cxt; - u8 value = 0; - struct acpi_ec_query_handler *handler, copy; - - if (!ec || acpi_ec_query(ec, &value)) + struct acpi_ec_query_handler *handler = cxt; + if (!handler) return; - mutex_lock(&ec->lock); + pr_debug(PREFIX "start query execution\n"); + if (handler->func) + handler->func(handler->data); + else if (handler->handle) + acpi_evaluate_object(handler->handle, NULL, NULL, NULL); + pr_debug(PREFIX "stop query execution\n"); + kfree(handler); +} + +static int acpi_ec_sync_query(struct acpi_ec *ec) +{ + u8 value = 0; + int status; + struct acpi_ec_query_handler *handler, *copy; + if ((status = acpi_ec_query_unlocked(ec, &value))) + return status; list_for_each_entry(handler, &ec->list, node) { if (value == handler->query_bit) { /* have custom handler for this bit */ - memcpy(©, handler, sizeof(copy)); - mutex_unlock(&ec->lock); - if (copy.func) { - copy.func(copy.data); - } else if (copy.handle) { - acpi_evaluate_object(copy.handle, NULL, NULL, NULL); - } - return; + copy = kmalloc(sizeof(*handler), GFP_KERNEL); + if (!copy) + return -ENOMEM; + memcpy(copy, handler, sizeof(*copy)); + pr_debug(PREFIX "push query execution (0x%2x) on queue\n", value); + return acpi_os_execute(OSL_GPE_HANDLER, + acpi_ec_run, copy); } } + return 0; +} + +static void acpi_ec_gpe_query(void *ec_cxt) +{ + struct acpi_ec *ec = ec_cxt; + if (!ec) + return; + mutex_lock(&ec->lock); + acpi_ec_sync_query(ec); mutex_unlock(&ec->lock); } +static void acpi_ec_gpe_query(void *ec_cxt); + +static int ec_check_sci(struct acpi_ec *ec, u8 state) +{ + if (state & ACPI_EC_FLAG_SCI) { + if (!test_and_set_bit(EC_FLAGS_QUERY_PENDING, &ec->flags)) { + pr_debug(PREFIX "push gpe query to the queue\n"); + return acpi_os_execute(OSL_NOTIFY_HANDLER, + acpi_ec_gpe_query, ec); + } + } + return 0; +} + static u32 acpi_ec_gpe_handler(void *data) { struct acpi_ec *ec = data; - u8 status; pr_debug(PREFIX "~~~> interrupt\n"); - status = acpi_ec_read_status(ec); - advance_transaction(ec, status); - if (ec_transaction_done(ec) && (status & ACPI_EC_FLAG_IBF) == 0) + advance_transaction(ec, acpi_ec_read_status(ec)); + if (ec_transaction_done(ec) && + (acpi_ec_read_status(ec) & ACPI_EC_FLAG_IBF) == 0) { wake_up(&ec->wait); - ec_check_sci(ec, status); + ec_check_sci(ec, acpi_ec_read_status(ec)); + } return ACPI_INTERRUPT_HANDLED; } @@ -568,10 +601,7 @@ if (function != ACPI_READ && function != ACPI_WRITE) return AE_BAD_PARAMETER; - if (bits != 8 && acpi_strict) - return AE_BAD_PARAMETER; - - if (EC_FLAGS_MSI) + if (EC_FLAGS_MSI || bits > 8) acpi_ec_burst_enable(ec); if (function == ACPI_READ) { @@ -593,7 +623,7 @@ } } - if (EC_FLAGS_MSI) + if (EC_FLAGS_MSI || bits > 8) acpi_ec_burst_disable(ec); switch (result) { @@ -916,6 +946,7 @@ /* MSI EC needs special treatment, enable it */ static int ec_flag_msi(const struct dmi_system_id *id) { + printk(KERN_DEBUG PREFIX "Detected MSI hardware, enabling workarounds.\n"); EC_FLAGS_MSI = 1; EC_FLAGS_VALIDATE_ECDT = 1; return 0; @@ -928,8 +959,16 @@ DMI_MATCH(DMI_BOARD_NAME, "JFL92") }, NULL}, { ec_flag_msi, "MSI hardware", { - DMI_MATCH(DMI_BIOS_VENDOR, "Micro-Star"), - DMI_MATCH(DMI_CHASSIS_VENDOR, "MICRO-Star") }, NULL}, + DMI_MATCH(DMI_BIOS_VENDOR, "Micro-Star")}, NULL}, + { + ec_flag_msi, "MSI hardware", { + DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star")}, NULL}, + { + ec_flag_msi, "MSI hardware", { + DMI_MATCH(DMI_CHASSIS_VENDOR, "MICRO-Star")}, NULL}, + { + ec_flag_msi, "MSI hardware", { + DMI_MATCH(DMI_CHASSIS_VENDOR, "MICRO-STAR")}, NULL}, { ec_validate_ecdt, "ASUS hardware", { DMI_MATCH(DMI_BIOS_VENDOR, "ASUS") }, NULL}, --- linux-2.6.32.orig/drivers/acpi/osl.c +++ linux-2.6.32/drivers/acpi/osl.c @@ -1151,16 +1151,10 @@ if (clash) { if (acpi_enforce_resources != ENFORCE_RESOURCES_NO) { - printk("%sACPI: %s resource %s [0x%llx-0x%llx]" - " conflicts with ACPI region %s" - " [0x%llx-0x%llx]\n", - acpi_enforce_resources == ENFORCE_RESOURCES_LAX - ? KERN_WARNING : KERN_ERR, - ioport ? "I/O" : "Memory", res->name, - (long long) res->start, (long long) res->end, - res_list_elem->name, - (long long) res_list_elem->start, - (long long) res_list_elem->end); + printk(KERN_INFO "ACPI: resource %s %pR" + " conflicts with ACPI region %s %pR\n", + res->name, res, res_list_elem->name, + res_list_elem); if (acpi_enforce_resources == ENFORCE_RESOURCES_LAX) printk(KERN_NOTICE "ACPI: This conflict may" " cause random problems and system" --- linux-2.6.32.orig/drivers/acpi/processor_core.c +++ linux-2.6.32/drivers/acpi/processor_core.c @@ -134,12 +134,6 @@ static struct dmi_system_id __cpuinitdata processor_idle_dmi_table[] = { { - set_no_mwait, "IFL91 board", { - DMI_MATCH(DMI_BIOS_VENDOR, "COMPAL"), - DMI_MATCH(DMI_SYS_VENDOR, "ZEPTO"), - DMI_MATCH(DMI_PRODUCT_VERSION, "3215W"), - DMI_MATCH(DMI_BOARD_NAME, "IFL91") }, NULL}, - { set_no_mwait, "Extensa 5220", { DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies LTD"), DMI_MATCH(DMI_SYS_VENDOR, "Acer"), --- linux-2.6.32.orig/drivers/acpi/processor_idle.c +++ linux-2.6.32/drivers/acpi/processor_idle.c @@ -110,6 +110,14 @@ DMI_MATCH(DMI_BIOS_VENDOR,"Phoenix Technologies LTD"), DMI_MATCH(DMI_BIOS_VERSION,"SHE845M0.86C.0013.D.0302131307")}, (void *)2}, + { set_max_cstate, "Pavilion zv5000", { + DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME,"Pavilion zv5000 (DS502A#ABA)")}, + (void *)1}, + { set_max_cstate, "Asus L8400B", { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer Inc."), + DMI_MATCH(DMI_PRODUCT_NAME,"L8400B series Notebook PC")}, + (void *)1}, {}, }; @@ -299,6 +307,17 @@ pr->power.states[ACPI_STATE_C2].latency = acpi_gbl_FADT.C2latency; pr->power.states[ACPI_STATE_C3].latency = acpi_gbl_FADT.C3latency; + /* + * FADT specified C2 latency must be less than or equal to + * 100 microseconds. + */ + if (acpi_gbl_FADT.C2latency > ACPI_PROCESSOR_MAX_C2_LATENCY) { + ACPI_DEBUG_PRINT((ACPI_DB_INFO, + "C2 latency too large [%d]\n", acpi_gbl_FADT.C2latency)); + /* invalidate C2 */ + pr->power.states[ACPI_STATE_C2].address = 0; + } + ACPI_DEBUG_PRINT((ACPI_DB_INFO, "lvl2[0x%08x] lvl3[0x%08x]\n", pr->power.states[ACPI_STATE_C2].address, @@ -495,16 +514,6 @@ return; /* - * C2 latency must be less than or equal to 100 - * microseconds. - */ - else if (cx->latency > ACPI_PROCESSOR_MAX_C2_LATENCY) { - ACPI_DEBUG_PRINT((ACPI_DB_INFO, - "latency too large [%d]\n", cx->latency)); - return; - } - - /* * Otherwise we've met all of our C2 requirements. * Normalize the C2 latency to expidite policy */ @@ -879,12 +888,14 @@ return(acpi_idle_enter_c1(dev, state)); local_irq_disable(); - current_thread_info()->status &= ~TS_POLLING; - /* - * TS_POLLING-cleared state must be visible before we test - * NEED_RESCHED: - */ - smp_mb(); + if (cx->entry_method != ACPI_CSTATE_FFH) { + current_thread_info()->status &= ~TS_POLLING; + /* + * TS_POLLING-cleared state must be visible before we test + * NEED_RESCHED: + */ + smp_mb(); + } if (unlikely(need_resched())) { current_thread_info()->status |= TS_POLLING; @@ -951,7 +962,7 @@ if (acpi_idle_suspend) return(acpi_idle_enter_c1(dev, state)); - if (acpi_idle_bm_check()) { + if (!cx->bm_sts_skip && acpi_idle_bm_check()) { if (dev->safe_state) { dev->last_state = dev->safe_state; return dev->safe_state->enter(dev, dev->safe_state); @@ -964,12 +975,14 @@ } local_irq_disable(); - current_thread_info()->status &= ~TS_POLLING; - /* - * TS_POLLING-cleared state must be visible before we test - * NEED_RESCHED: - */ - smp_mb(); + if (cx->entry_method != ACPI_CSTATE_FFH) { + current_thread_info()->status &= ~TS_POLLING; + /* + * TS_POLLING-cleared state must be visible before we test + * NEED_RESCHED: + */ + smp_mb(); + } if (unlikely(need_resched())) { current_thread_info()->status |= TS_POLLING; --- linux-2.6.32.orig/drivers/acpi/processor_perflib.c +++ linux-2.6.32/drivers/acpi/processor_perflib.c @@ -356,7 +356,11 @@ if (result) goto update_bios; - return 0; + /* We need to call _PPC once when cpufreq starts */ + if (ignore_ppc != 1) + result = acpi_processor_get_platform_limit(pr); + + return result; /* * Having _PPC but missing frequencies (_PSS, _PCT) is a very good hint that --- linux-2.6.32.orig/drivers/acpi/scan.c +++ linux-2.6.32/drivers/acpi/scan.c @@ -1026,12 +1026,6 @@ if (ACPI_IS_ROOT_DEVICE(device)) { acpi_add_id(device, ACPI_SYSTEM_HID); break; - } else if (ACPI_IS_ROOT_DEVICE(device->parent)) { - /* \_SB_, the only root-level namespace device */ - acpi_add_id(device, ACPI_BUS_HID); - strcpy(device->pnp.device_name, ACPI_BUS_DEVICE_NAME); - strcpy(device->pnp.device_class, ACPI_BUS_CLASS); - break; } status = acpi_get_object_info(device->handle, &info); @@ -1064,6 +1058,12 @@ acpi_add_id(device, ACPI_BAY_HID); else if (ACPI_SUCCESS(acpi_dock_match(device))) acpi_add_id(device, ACPI_DOCK_HID); + else if (!acpi_device_hid(device) && + ACPI_IS_ROOT_DEVICE(device->parent)) { + acpi_add_id(device, ACPI_BUS_HID); /* \_SB, LNXSYBUS */ + strcpy(device->pnp.device_name, ACPI_BUS_DEVICE_NAME); + strcpy(device->pnp.device_class, ACPI_BUS_CLASS); + } break; case ACPI_BUS_TYPE_POWER: @@ -1357,6 +1357,9 @@ { struct acpi_bus_ops ops; + if (!device) + return -EINVAL; + memset(&ops, 0, sizeof(ops)); ops.acpi_op_start = 1; --- linux-2.6.32.orig/drivers/acpi/sleep.c +++ linux-2.6.32/drivers/acpi/sleep.c @@ -80,6 +80,7 @@ #ifdef CONFIG_ACPI_SLEEP static u32 acpi_target_sleep_state = ACPI_STATE_S0; + /* * ACPI 1.0 wants us to execute _PTS before suspending devices, so we allow the * user to request that behavior by using the 'acpi_old_suspend_ordering' @@ -170,18 +171,6 @@ #endif /* CONFIG_ACPI_SLEEP */ #ifdef CONFIG_SUSPEND -/* - * According to the ACPI specification the BIOS should make sure that ACPI is - * enabled and SCI_EN bit is set on wake-up from S1 - S3 sleep states. Still, - * some BIOSes don't do that and therefore we use acpi_enable() to enable ACPI - * on such systems during resume. Unfortunately that doesn't help in - * particularly pathological cases in which SCI_EN has to be set directly on - * resume, although the specification states very clearly that this flag is - * owned by the hardware. The set_sci_en_on_resume variable will be set in such - * cases. - */ -static bool set_sci_en_on_resume; - extern void do_suspend_lowlevel(void); static u32 acpi_suspend_states[] = { @@ -248,11 +237,8 @@ break; } - /* If ACPI is not enabled by the BIOS, we need to enable it here. */ - if (set_sci_en_on_resume) - acpi_write_bit_register(ACPI_BITREG_SCI_ENABLE, 1); - else - acpi_enable(); + /* This violates the spec but is required for bug compatibility. */ + acpi_write_bit_register(ACPI_BITREG_SCI_ENABLE, 1); /* Reprogram control registers and execute _BFS */ acpi_leave_sleep_state_prep(acpi_state); @@ -341,12 +327,6 @@ return 0; } -static int __init init_set_sci_en_on_resume(const struct dmi_system_id *d) -{ - set_sci_en_on_resume = true; - return 0; -} - static struct dmi_system_id __initdata acpisleep_dmi_table[] = { { .callback = init_old_suspend_ordering, @@ -365,22 +345,6 @@ }, }, { - .callback = init_set_sci_en_on_resume, - .ident = "Apple MacBook 1,1", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Apple Computer, Inc."), - DMI_MATCH(DMI_PRODUCT_NAME, "MacBook1,1"), - }, - }, - { - .callback = init_set_sci_en_on_resume, - .ident = "Apple MacMini 1,1", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Apple Computer, Inc."), - DMI_MATCH(DMI_PRODUCT_NAME, "Macmini1,1"), - }, - }, - { .callback = init_old_suspend_ordering, .ident = "Asus Pundit P1-AH2 (M2N8L motherboard)", .matches = { @@ -389,62 +353,6 @@ }, }, { - .callback = init_set_sci_en_on_resume, - .ident = "Toshiba Satellite L300", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), - DMI_MATCH(DMI_PRODUCT_NAME, "Satellite L300"), - }, - }, - { - .callback = init_set_sci_en_on_resume, - .ident = "Hewlett-Packard HP G7000 Notebook PC", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), - DMI_MATCH(DMI_PRODUCT_NAME, "HP G7000 Notebook PC"), - }, - }, - { - .callback = init_set_sci_en_on_resume, - .ident = "Hewlett-Packard HP Pavilion dv3 Notebook PC", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), - DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion dv3 Notebook PC"), - }, - }, - { - .callback = init_set_sci_en_on_resume, - .ident = "Hewlett-Packard Pavilion dv4", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), - DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion dv4"), - }, - }, - { - .callback = init_set_sci_en_on_resume, - .ident = "Hewlett-Packard Pavilion dv7", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), - DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion dv7"), - }, - }, - { - .callback = init_set_sci_en_on_resume, - .ident = "Hewlett-Packard Compaq Presario C700 Notebook PC", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), - DMI_MATCH(DMI_PRODUCT_NAME, "Compaq Presario C700 Notebook PC"), - }, - }, - { - .callback = init_set_sci_en_on_resume, - .ident = "Hewlett-Packard Compaq Presario CQ40 Notebook PC", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), - DMI_MATCH(DMI_PRODUCT_NAME, "Compaq Presario CQ40 Notebook PC"), - }, - }, - { .callback = init_old_suspend_ordering, .ident = "Panasonic CF51-2L", .matches = { --- linux-2.6.32.orig/drivers/acpi/tables.c +++ linux-2.6.32/drivers/acpi/tables.c @@ -213,7 +213,7 @@ unsigned long table_end; acpi_size tbl_size; - if (acpi_disabled) + if (acpi_disabled && !acpi_ht) return -ENODEV; if (!handler) @@ -280,7 +280,7 @@ struct acpi_table_header *table = NULL; acpi_size tbl_size; - if (acpi_disabled) + if (acpi_disabled && !acpi_ht) return -ENODEV; if (!handler) --- linux-2.6.32.orig/drivers/acpi/video.c +++ linux-2.6.32/drivers/acpi/video.c @@ -2088,7 +2088,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, 1); } static int acpi_video_bus_stop_devices(struct acpi_video_bus *video) --- linux-2.6.32.orig/drivers/acpi/video_detect.c +++ linux-2.6.32/drivers/acpi/video_detect.c @@ -250,7 +250,7 @@ ACPI_VIDEO_BACKLIGHT_FORCE_VENDOR; if (!strcmp("video", str)) acpi_video_support |= - ACPI_VIDEO_OUTPUT_SWITCHING_FORCE_VIDEO; + ACPI_VIDEO_BACKLIGHT_FORCE_VIDEO; } return 1; } --- linux-2.6.32.orig/drivers/acpi/power_meter.c +++ linux-2.6.32/drivers/acpi/power_meter.c @@ -34,7 +34,7 @@ #define ACPI_POWER_METER_NAME "power_meter" ACPI_MODULE_NAME(ACPI_POWER_METER_NAME); #define ACPI_POWER_METER_DEVICE_NAME "Power Meter" -#define ACPI_POWER_METER_CLASS "power_meter_resource" +#define ACPI_POWER_METER_CLASS "pwr_meter_resource" #define NUM_SENSORS 17 --- linux-2.6.32.orig/drivers/acpi/acpica/aclocal.h +++ linux-2.6.32/drivers/acpi/acpica/aclocal.h @@ -846,6 +846,7 @@ ACPI_BITMASK_POWER_BUTTON_STATUS | \ ACPI_BITMASK_SLEEP_BUTTON_STATUS | \ ACPI_BITMASK_RT_CLOCK_STATUS | \ + ACPI_BITMASK_PCIEXP_WAKE_DISABLE | \ ACPI_BITMASK_WAKE_STATUS) #define ACPI_BITMASK_TIMER_ENABLE 0x0001 --- linux-2.6.32.orig/drivers/acpi/acpica/dswexec.c +++ linux-2.6.32/drivers/acpi/acpica/dswexec.c @@ -300,10 +300,25 @@ * we must enter this object into the namespace. The created * object is temporary and will be deleted upon completion of * the execution of this method. + * + * Note 10/2010: Except for the Scope() op. This opcode does + * not actually create a new object, it refers to an existing + * object. However, for Scope(), we want to indeed open a + * new scope. */ - status = acpi_ds_load2_begin_op(walk_state, NULL); + if (op->common.aml_opcode != AML_SCOPE_OP) { + status = + acpi_ds_load2_begin_op(walk_state, NULL); + } else { + status = + acpi_ds_scope_stack_push(op->named.node, + op->named.node-> + type, walk_state); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); + } + } } - break; case AML_CLASS_EXECUTE: --- linux-2.6.32.orig/drivers/acpi/acpica/exprep.c +++ linux-2.6.32/drivers/acpi/acpica/exprep.c @@ -468,6 +468,23 @@ acpi_ut_add_reference(obj_desc->field.region_obj); + /* allow full data read from EC address space */ + if (obj_desc->field.region_obj->region.space_id == + ACPI_ADR_SPACE_EC) { + if (obj_desc->common_field.bit_length > 8) { + int access_bit_width = ACPI_ROUND_UP( + obj_desc->common_field.bit_length, 8); + if (access_bit_width > sizeof(acpi_integer) * 8) + access_bit_width = + sizeof(acpi_integer) * 8; + obj_desc->common_field.access_bit_width = + access_bit_width; + obj_desc->common_field.access_byte_width = + ACPI_DIV_8(access_bit_width); + } + + } + ACPI_DEBUG_PRINT((ACPI_DB_BFIELD, "RegionField: BitOff %X, Off %X, Gran %X, Region %p\n", obj_desc->field.start_field_bit_offset, --- linux-2.6.32.orig/drivers/ata/ahci.c +++ linux-2.6.32/drivers/ata/ahci.c @@ -113,6 +113,7 @@ board_ahci_mcp65 = 6, board_ahci_nopmp = 7, board_ahci_yesncq = 8, + board_ahci_nosntf = 9, /* global controller registers */ HOST_CAP = 0x00, /* host capabilities */ @@ -235,6 +236,7 @@ AHCI_HFLAG_NO_SUSPEND = (1 << 10), /* don't suspend */ AHCI_HFLAG_SRST_TOUT_IS_OFFLINE = (1 << 11), /* treat SRST timeout as link offline */ + AHCI_HFLAG_NO_SNTF = (1 << 12), /* no sntf */ /* ap->flags bits */ @@ -508,7 +510,7 @@ .udma_mask = ATA_UDMA6, .port_ops = &ahci_ops, }, - /* board_ahci_yesncq */ + [board_ahci_yesncq] = { AHCI_HFLAGS (AHCI_HFLAG_YES_NCQ), .flags = AHCI_FLAG_COMMON, @@ -516,6 +518,14 @@ .udma_mask = ATA_UDMA6, .port_ops = &ahci_ops, }, + [board_ahci_nosntf] = + { + AHCI_HFLAGS (AHCI_HFLAG_NO_SNTF), + .flags = AHCI_FLAG_COMMON, + .pio_mask = ATA_PIO4, + .udma_mask = ATA_UDMA6, + .port_ops = &ahci_ops, + }, }; static const struct pci_device_id ahci_pci_tbl[] = { @@ -531,7 +541,7 @@ { PCI_VDEVICE(INTEL, 0x2683), board_ahci }, /* ESB2 */ { PCI_VDEVICE(INTEL, 0x27c6), board_ahci }, /* ICH7-M DH */ { PCI_VDEVICE(INTEL, 0x2821), board_ahci }, /* ICH8 */ - { PCI_VDEVICE(INTEL, 0x2822), board_ahci }, /* ICH8 */ + { PCI_VDEVICE(INTEL, 0x2822), board_ahci_nosntf }, /* ICH8 */ { PCI_VDEVICE(INTEL, 0x2824), board_ahci }, /* ICH8 */ { PCI_VDEVICE(INTEL, 0x2829), board_ahci }, /* ICH8M */ { PCI_VDEVICE(INTEL, 0x282a), board_ahci }, /* ICH8M */ @@ -560,6 +570,17 @@ { PCI_VDEVICE(INTEL, 0x3b2b), board_ahci }, /* PCH RAID */ { PCI_VDEVICE(INTEL, 0x3b2c), board_ahci }, /* PCH RAID */ { PCI_VDEVICE(INTEL, 0x3b2f), board_ahci }, /* PCH AHCI */ + { PCI_VDEVICE(INTEL, 0x1c02), board_ahci }, /* CPT AHCI */ + { PCI_VDEVICE(INTEL, 0x1c03), board_ahci }, /* CPT AHCI */ + { PCI_VDEVICE(INTEL, 0x1c04), board_ahci }, /* CPT RAID */ + { PCI_VDEVICE(INTEL, 0x1c05), board_ahci }, /* CPT RAID */ + { PCI_VDEVICE(INTEL, 0x1c06), board_ahci }, /* CPT RAID */ + { PCI_VDEVICE(INTEL, 0x1c07), board_ahci }, /* CPT RAID */ + { PCI_VDEVICE(INTEL, 0x1d02), board_ahci }, /* PBG AHCI */ + { PCI_VDEVICE(INTEL, 0x1d04), board_ahci }, /* PBG RAID */ + { PCI_VDEVICE(INTEL, 0x1d06), board_ahci }, /* PBG RAID */ + { PCI_VDEVICE(INTEL, 0x2826), board_ahci }, /* PBG RAID */ + { PCI_VDEVICE(INTEL, 0x2323), board_ahci }, /* DH89xxCC 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, @@ -849,6 +870,12 @@ cap &= ~HOST_CAP_PMP; } + if ((cap & HOST_CAP_SNTF) && (hpriv->flags & AHCI_HFLAG_NO_SNTF)) { + dev_printk(KERN_INFO, &pdev->dev, + "controller can't do SNTF, turning off CAP_SNTF\n"); + cap &= ~HOST_CAP_SNTF; + } + if (pdev->vendor == PCI_VENDOR_ID_JMICRON && pdev->device == 0x2361 && port_map != 1) { dev_printk(KERN_INFO, &pdev->dev, @@ -2742,6 +2769,18 @@ DMI_MATCH(DMI_BOARD_NAME, "MS-7376"), }, }, + /* + * All BIOS versions for the Asus M3A support 64bit DMA. + * (all release versions from 0301 to 1206 were tested) + */ + { + .ident = "ASUS M3A", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, + "ASUSTeK Computer INC."), + DMI_MATCH(DMI_BOARD_NAME, "M3A"), + }, + }, { } }; const struct dmi_system_id *match; @@ -2815,6 +2854,14 @@ * On HP dv[4-6] and HDX18 with earlier BIOSen, link * to the harddisk doesn't become online after * resuming from STR. Warn and fail suspend. + * + * http://bugzilla.kernel.org/show_bug.cgi?id=12276 + * + * Use dates instead of versions to match as HP is + * apparently recycling both product and version + * strings. + * + * http://bugzilla.kernel.org/show_bug.cgi?id=15462 */ { .ident = "dv4", @@ -2823,7 +2870,7 @@ DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion dv4 Notebook PC"), }, - .driver_data = "F.30", /* cutoff BIOS version */ + .driver_data = "20090105", /* F.30 */ }, { .ident = "dv5", @@ -2832,7 +2879,7 @@ DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion dv5 Notebook PC"), }, - .driver_data = "F.16", /* cutoff BIOS version */ + .driver_data = "20090506", /* F.16 */ }, { .ident = "dv6", @@ -2841,7 +2888,7 @@ DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion dv6 Notebook PC"), }, - .driver_data = "F.21", /* cutoff BIOS version */ + .driver_data = "20090423", /* F.21 */ }, { .ident = "HDX18", @@ -2850,19 +2897,38 @@ DMI_MATCH(DMI_PRODUCT_NAME, "HP HDX18 Notebook PC"), }, - .driver_data = "F.23", /* cutoff BIOS version */ + .driver_data = "20090430", /* F.23 */ + }, + /* + * Acer eMachines G725 has the same problem. BIOS + * V1.03 is known to be broken. V3.04 is known to + * work. Inbetween, there are V1.06, V2.06 and V3.03 + * that we don't have much idea about. For now, + * blacklist anything older than V3.04. + * + * http://bugzilla.kernel.org/show_bug.cgi?id=15104 + */ + { + .ident = "G725", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "eMachines"), + DMI_MATCH(DMI_PRODUCT_NAME, "eMachines G725"), + }, + .driver_data = "20091216", /* V3.04 */ }, { } /* terminate list */ }; const struct dmi_system_id *dmi = dmi_first_match(sysids); - const char *ver; + int year, month, date; + char buf[9]; if (!dmi || pdev->bus->number || pdev->devfn != PCI_DEVFN(0x1f, 2)) return false; - ver = dmi_get_system_info(DMI_BIOS_VERSION); + dmi_get_date(DMI_BIOS_DATE, &year, &month, &date); + snprintf(buf, sizeof(buf), "%04d%02d%02d", year, month, date); - return !ver || strcmp(ver, dmi->driver_data) < 0; + return strcmp(buf, dmi->driver_data) < 0; } static bool ahci_broken_online(struct pci_dev *pdev) @@ -2988,6 +3054,16 @@ if (pdev->vendor == PCI_VENDOR_ID_MARVELL && !marvell_enable) return -ENODEV; + /* + * For some reason, MCP89 on MacBook 7,1 doesn't work with + * ahci, use ata_generic instead. + */ + if (pdev->vendor == PCI_VENDOR_ID_NVIDIA && + pdev->device == PCI_DEVICE_ID_NVIDIA_NFORCE_MCP89_SATA && + pdev->subsystem_vendor == PCI_VENDOR_ID_APPLE && + pdev->subsystem_device == 0xcb89) + return -ENODEV; + /* acquire resources */ rc = pcim_enable_device(pdev); if (rc) @@ -3043,8 +3119,16 @@ ahci_save_initial_config(pdev, hpriv); /* prepare host */ - if (hpriv->cap & HOST_CAP_NCQ) - pi.flags |= ATA_FLAG_NCQ | ATA_FLAG_FPDMA_AA; + if (hpriv->cap & HOST_CAP_NCQ) { + pi.flags |= ATA_FLAG_NCQ; + /* Auto-activate optimization is supposed to be supported on + all AHCI controllers indicating NCQ support, but it seems + to be broken at least on some NVIDIA MCP79 chipsets. + Until we get info on which NVIDIA chipsets don't have this + issue, if any, disable AA on all NVIDIA AHCIs. */ + if (pdev->vendor != PCI_VENDOR_ID_NVIDIA) + pi.flags |= ATA_FLAG_FPDMA_AA; + } if (hpriv->cap & HOST_CAP_PMP) pi.flags |= ATA_FLAG_PMP; --- linux-2.6.32.orig/drivers/ata/ata_generic.c +++ linux-2.6.32/drivers/ata/ata_generic.c @@ -32,6 +32,11 @@ * A generic parallel ATA driver using libata */ +enum { + ATA_GEN_CLASS_MATCH = (1 << 0), + ATA_GEN_FORCE_DMA = (1 << 1), +}; + /** * generic_set_mode - mode setting * @link: link to set up @@ -46,13 +51,17 @@ static int generic_set_mode(struct ata_link *link, struct ata_device **unused) { struct ata_port *ap = link->ap; + const struct pci_device_id *id = ap->host->private_data; int dma_enabled = 0; struct ata_device *dev; struct pci_dev *pdev = to_pci_dev(ap->host->dev); - /* Bits 5 and 6 indicate if DMA is active on master/slave */ - if (ap->ioaddr.bmdma_addr) + if (id->driver_data & ATA_GEN_FORCE_DMA) { + dma_enabled = 0xff; + } else if (ap->ioaddr.bmdma_addr) { + /* Bits 5 and 6 indicate if DMA is active on master/slave */ dma_enabled = ioread8(ap->ioaddr.bmdma_addr + ATA_DMA_STATUS); + } if (pdev->vendor == PCI_VENDOR_ID_CENATEK) dma_enabled = 0xFF; @@ -126,7 +135,7 @@ const struct ata_port_info *ppi[] = { &info, NULL }; /* Don't use the generic entry unless instructed to do so */ - if (id->driver_data == 1 && all_generic_ide == 0) + if ((id->driver_data & ATA_GEN_CLASS_MATCH) && all_generic_ide == 0) return -ENODEV; /* Devices that need care */ @@ -155,7 +164,7 @@ return rc; pcim_pin_device(dev); } - return ata_pci_sff_init_one(dev, ppi, &generic_sht, NULL); + return ata_pci_sff_init_one(dev, ppi, &generic_sht, (void *)id); } static struct pci_device_id ata_generic[] = { @@ -167,12 +176,21 @@ { PCI_DEVICE(PCI_VENDOR_ID_HINT, PCI_DEVICE_ID_HINT_VXPROII_IDE), }, { PCI_DEVICE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C561), }, { PCI_DEVICE(PCI_VENDOR_ID_OPTI, PCI_DEVICE_ID_OPTI_82C558), }, - { PCI_DEVICE(PCI_VENDOR_ID_CENATEK,PCI_DEVICE_ID_CENATEK_IDE), }, + { PCI_DEVICE(PCI_VENDOR_ID_CENATEK,PCI_DEVICE_ID_CENATEK_IDE), + .driver_data = ATA_GEN_FORCE_DMA }, + /* + * For some reason, MCP89 on MacBook 7,1 doesn't work with + * ahci, use ata_generic instead. + */ + { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP89_SATA, + PCI_VENDOR_ID_APPLE, 0xcb89, + .driver_data = ATA_GEN_FORCE_DMA }, { PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO), }, { PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_1), }, { PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_2), }, /* Must come last. If you add entries adjust this table appropriately */ - { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_STORAGE_IDE << 8, 0xFFFFFF00UL, 1}, + { PCI_DEVICE_CLASS(PCI_CLASS_STORAGE_IDE << 8, 0xFFFFFF00UL), + .driver_data = ATA_GEN_CLASS_MATCH }, { 0, }, }; --- linux-2.6.32.orig/drivers/ata/ata_piix.c +++ linux-2.6.32/drivers/ata/ata_piix.c @@ -157,6 +157,7 @@ struct piix_host_priv { const int *map; u32 saved_iocfg; + spinlock_t sidpr_lock; /* FIXME: remove once locking in EH is fixed */ void __iomem *sidpr; }; @@ -291,6 +292,14 @@ { 0x8086, 0x3b2d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, /* SATA Controller IDE (PCH) */ { 0x8086, 0x3b2e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata }, + /* SATA Controller IDE (CPT) */ + { 0x8086, 0x1c00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata }, + /* SATA Controller IDE (CPT) */ + { 0x8086, 0x1c01, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata }, + /* SATA Controller IDE (CPT) */ + { 0x8086, 0x1c08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, + /* SATA Controller IDE (CPT) */ + { 0x8086, 0x1c09, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, { } /* terminate list */ }; @@ -869,10 +878,10 @@ (timings[pio][1] << 8); } - if (ap->udma_mask) { + if (ap->udma_mask) udma_enable &= ~(1 << devid); - pci_write_config_word(dev, master_port, master_data); - } + + pci_write_config_word(dev, master_port, master_data); } /* Don't scribble on 0x48 if the controller does not support UDMA */ if (ap->udma_mask) @@ -940,12 +949,15 @@ unsigned int reg, u32 *val) { struct piix_host_priv *hpriv = link->ap->host->private_data; + unsigned long flags; if (reg >= ARRAY_SIZE(piix_sidx_map)) return -EINVAL; + spin_lock_irqsave(&hpriv->sidpr_lock, flags); piix_sidpr_sel(link, reg); *val = ioread32(hpriv->sidpr + PIIX_SIDPR_DATA); + spin_unlock_irqrestore(&hpriv->sidpr_lock, flags); return 0; } @@ -953,12 +965,15 @@ unsigned int reg, u32 val) { struct piix_host_priv *hpriv = link->ap->host->private_data; + unsigned long flags; if (reg >= ARRAY_SIZE(piix_sidx_map)) return -EINVAL; + spin_lock_irqsave(&hpriv->sidpr_lock, flags); piix_sidpr_sel(link, reg); iowrite32(val, hpriv->sidpr + PIIX_SIDPR_DATA); + spin_unlock_irqrestore(&hpriv->sidpr_lock, flags); return 0; } @@ -1547,6 +1562,7 @@ hpriv = devm_kzalloc(dev, sizeof(*hpriv), GFP_KERNEL); if (!hpriv) return -ENOMEM; + spin_lock_init(&hpriv->sidpr_lock); /* Save IOCFG, this will be used for cable detection, quirk * detection and restoration on detach. This is necessary --- linux-2.6.32.orig/drivers/ata/libata-core.c +++ linux-2.6.32/drivers/ata/libata-core.c @@ -139,7 +139,7 @@ module_param_named(fua, libata_fua, int, 0444); MODULE_PARM_DESC(fua, "FUA support (0=off [default], 1=on)"); -static int ata_ignore_hpa; +static int ata_ignore_hpa = 1; module_param_named(ignore_hpa, ata_ignore_hpa, int, 0644); MODULE_PARM_DESC(ignore_hpa, "Ignore HPA limit (0=keep BIOS limits, 1=ignore limits, using full disk)"); @@ -159,6 +159,10 @@ module_param_named(allow_tpm, libata_allow_tpm, int, 0444); MODULE_PARM_DESC(allow_tpm, "Permit the use of TPM commands (0=off [default], 1=on)"); +static int atapi_an; +module_param(atapi_an, int, 0444); +MODULE_PARM_DESC(atapi_an, "Enable ATAPI AN media presence notification (0=0ff [default], 1=on)"); + MODULE_AUTHOR("Jeff Garzik"); MODULE_DESCRIPTION("Library module for ATA devices"); MODULE_LICENSE("GPL"); @@ -2570,7 +2574,8 @@ * to enable ATAPI AN to discern between PHY status * changed notifications and ATAPI ANs. */ - if ((ap->flags & ATA_FLAG_AN) && ata_id_has_atapi_AN(id) && + if (atapi_an && + (ap->flags & ATA_FLAG_AN) && ata_id_has_atapi_AN(id) && (!sata_pmp_attached(ap) || sata_scr_read(&ap->link, SCR_NOTIFICATION, &sntf) == 0)) { unsigned int err_mask; @@ -3790,21 +3795,45 @@ int sata_link_resume(struct ata_link *link, const unsigned long *params, unsigned long deadline) { + int tries = ATA_LINK_RESUME_TRIES; u32 scontrol, serror; int rc; if ((rc = sata_scr_read(link, SCR_CONTROL, &scontrol))) return rc; - scontrol = (scontrol & 0x0f0) | 0x300; + /* + * Writes to SControl sometimes get ignored under certain + * controllers (ata_piix SIDPR). Make sure DET actually is + * cleared. + */ + do { + scontrol = (scontrol & 0x0f0) | 0x300; + if ((rc = sata_scr_write(link, SCR_CONTROL, scontrol))) + return rc; + /* + * Some PHYs react badly if SStatus is pounded + * immediately after resuming. Delay 200ms before + * debouncing. + */ + msleep(200); - if ((rc = sata_scr_write(link, SCR_CONTROL, scontrol))) - return rc; + /* is SControl restored correctly? */ + if ((rc = sata_scr_read(link, SCR_CONTROL, &scontrol))) + return rc; + } while ((scontrol & 0xf0f) != 0x300 && --tries); - /* Some PHYs react badly if SStatus is pounded immediately - * after resuming. Delay 200ms before debouncing. - */ - msleep(200); + if ((scontrol & 0xf0f) != 0x300) { + ata_link_printk(link, KERN_ERR, + "failed to resume link (SControl %X)\n", + scontrol); + return 0; + } + + if (tries < ATA_LINK_RESUME_TRIES) + ata_link_printk(link, KERN_WARNING, + "link resume succeeded after %d retries\n", + ATA_LINK_RESUME_TRIES - tries); if ((rc = sata_link_debounce(link, params, deadline))) return rc; @@ -4323,6 +4352,10 @@ { "HTS541060G9SA00", "MB3OC60D", ATA_HORKAGE_NONCQ, }, { "HTS541080G9SA00", "MB4OC60D", ATA_HORKAGE_NONCQ, }, { "HTS541010G9SA00", "MBZOC60D", ATA_HORKAGE_NONCQ, }, + { "FUJITSU MHW2160BH PL", "0084001E", ATA_HORKAGE_NONCQ, }, + + /* https://bugzilla.kernel.org/show_bug.cgi?id=15573 */ + { "C300-CTFDDAC128MAG", "0001", ATA_HORKAGE_NONCQ, }, /* devices which puke on READ_NATIVE_MAX */ { "HDS724040KLSA80", "KFAOA20N", ATA_HORKAGE_BROKEN_HPA, }, @@ -4984,9 +5017,6 @@ { struct ata_device *dev = qc->dev; - if (ata_tag_internal(qc->tag)) - return; - if (ata_is_nodata(qc->tf.protocol)) return; @@ -5030,14 +5060,23 @@ if (unlikely(qc->err_mask)) qc->flags |= ATA_QCFLAG_FAILED; - if (unlikely(qc->flags & ATA_QCFLAG_FAILED)) { - /* always fill result TF for failed qc */ + /* + * Finish internal commands without any further processing + * and always with the result TF filled. + */ + if (unlikely(ata_tag_internal(qc->tag))) { fill_result_tf(qc); + __ata_qc_complete(qc); + return; + } - if (!ata_tag_internal(qc->tag)) - ata_qc_schedule_eh(qc); - else - __ata_qc_complete(qc); + /* + * Non-internal qc has failed. Fill the result TF and + * summon EH. + */ + if (unlikely(qc->flags & ATA_QCFLAG_FAILED)) { + fill_result_tf(qc); + ata_qc_schedule_eh(qc); return; } @@ -5472,6 +5511,7 @@ */ int ata_host_suspend(struct ata_host *host, pm_message_t mesg) { + unsigned int ehi_flags = ATA_EHI_QUIET; int rc; /* @@ -5480,7 +5520,18 @@ */ ata_lpm_enable(host); - rc = ata_host_request_pm(host, mesg, 0, ATA_EHI_QUIET, 1); + /* + * On some hardware, device fails to respond after spun down + * for suspend. As the device won't be used before being + * resumed, we don't need to touch the device. Ask EH to skip + * the usual stuff and proceed directly to suspend. + * + * http://thread.gmane.org/gmane.linux.ide/46764 + */ + if (mesg.event == PM_EVENT_SUSPEND) + ehi_flags |= ATA_EHI_NO_AUTOPSY | ATA_EHI_NO_RECOVERY; + + rc = ata_host_request_pm(host, mesg, 0, ehi_flags, 1); if (rc == 0) host->dev->power.power_state = mesg; return rc; --- linux-2.6.32.orig/drivers/ata/libata-eh.c +++ linux-2.6.32/drivers/ata/libata-eh.c @@ -870,6 +870,8 @@ void ata_qc_schedule_eh(struct ata_queued_cmd *qc) { struct ata_port *ap = qc->ap; + struct request_queue *q = qc->scsicmd->device->request_queue; + unsigned long flags; WARN_ON(!ap->ops->error_handler); @@ -881,7 +883,9 @@ * Note that ATA_QCFLAG_FAILED is unconditionally set after * this function completes. */ + spin_lock_irqsave(q->queue_lock, flags); blk_abort_request(qc->scsicmd->request); + spin_unlock_irqrestore(q->queue_lock, flags); } /** @@ -1615,6 +1619,7 @@ } /* okay, this error is ours */ + memset(&tf, 0, sizeof(tf)); rc = ata_eh_read_log_10h(dev, &tag, &tf); if (rc) { ata_link_printk(link, KERN_ERR, "failed to read log page 10h " @@ -2019,8 +2024,9 @@ qc->err_mask &= ~(AC_ERR_DEV | AC_ERR_OTHER); /* determine whether the command is worth retrying */ - if (!(qc->err_mask & AC_ERR_INVALID) && - ((qc->flags & ATA_QCFLAG_IO) || qc->err_mask != AC_ERR_DEV)) + if (qc->flags & ATA_QCFLAG_IO || + (!(qc->err_mask & AC_ERR_INVALID) && + qc->err_mask != AC_ERR_DEV)) qc->flags |= ATA_QCFLAG_RETRY; /* accumulate error info */ @@ -2701,10 +2707,11 @@ } /* - * Some controllers can't be frozen very well and may set - * spuruious error conditions during reset. Clear accumulated - * error information. As reset is the final recovery action, - * nothing is lost by doing this. + * Some controllers can't be frozen very well and may set spurious + * error conditions during reset. Clear accumulated error + * information and re-thaw the port if frozen. As reset is the + * final recovery action and we cross check link onlineness against + * device classification later, no hotplug event is lost by this. */ spin_lock_irqsave(link->ap->lock, flags); memset(&link->eh_info, 0, sizeof(link->eh_info)); @@ -2713,6 +2720,9 @@ ap->pflags &= ~ATA_PFLAG_EH_PENDING; spin_unlock_irqrestore(link->ap->lock, flags); + if (ap->pflags & ATA_PFLAG_FROZEN) + ata_eh_thaw_port(ap); + /* * Make sure onlineness and classification result correspond. * Hotplug could have happened during reset and some @@ -3143,6 +3153,10 @@ if (link->flags & ATA_LFLAG_DISABLED) return 1; + /* skip if explicitly requested */ + if (ehc->i.flags & ATA_EHI_NO_RECOVERY) + return 1; + /* thaw frozen port and recover failed devices */ if ((ap->pflags & ATA_PFLAG_FROZEN) || ata_link_nr_enabled(link)) return 0; --- linux-2.6.32.orig/drivers/ata/libata-scsi.c +++ linux-2.6.32/drivers/ata/libata-scsi.c @@ -1099,13 +1099,13 @@ /* configure max sectors */ blk_queue_max_sectors(sdev->request_queue, dev->max_sectors); + sdev->sector_size = ATA_SECT_SIZE; + if (dev->class == ATA_DEV_ATAPI) { struct request_queue *q = sdev->request_queue; void *buf; - /* set the min alignment and padding */ - blk_queue_update_dma_alignment(sdev->request_queue, - ATA_DMA_PAD_SZ - 1); + /* set DMA padding */ blk_queue_update_dma_pad(sdev->request_queue, ATA_DMA_PAD_SZ - 1); @@ -1119,12 +1119,24 @@ blk_queue_dma_drain(q, atapi_drain_needed, buf, ATAPI_MAX_DRAIN); } else { - /* ATA devices must be sector aligned */ - blk_queue_update_dma_alignment(sdev->request_queue, - ATA_SECT_SIZE - 1); sdev->manage_start_stop = 1; } + /* + * ata_pio_sectors() expects buffer for each sector to not cross + * page boundary. Enforce it by requiring buffers to be sector + * aligned, which works iff sector_size is not larger than + * PAGE_SIZE. ATAPI devices also need the alignment as + * IDENTIFY_PACKET is executed as ATA_PROT_PIO. + */ + if (sdev->sector_size > PAGE_SIZE) + ata_dev_printk(dev, KERN_WARNING, + "sector_size=%u > PAGE_SIZE, PIO may malfunction\n", + sdev->sector_size); + + blk_queue_update_dma_alignment(sdev->request_queue, + sdev->sector_size - 1); + if (dev->flags & ATA_DFLAG_AN) set_bit(SDEV_EVT_MEDIA_CHANGE, sdev->supported_events); @@ -2497,8 +2509,11 @@ * * If door lock fails, always clear sdev->locked to * avoid this infinite loop. + * + * This may happen before SCSI scan is complete. Make + * sure qc->dev->sdev isn't NULL before dereferencing. */ - if (qc->cdb[0] == ALLOW_MEDIUM_REMOVAL) + if (qc->cdb[0] == ALLOW_MEDIUM_REMOVAL && qc->dev->sdev) qc->dev->sdev->locked = 0; qc->scsicmd->result = SAM_STAT_CHECK_CONDITION; @@ -2825,7 +2840,7 @@ * write indication (used for PIO/DMA setup), result TF is * copied back and we don't whine too much about its failure. */ - tf->flags = ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; + tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; if (scmd->sc_data_direction == DMA_TO_DEVICE) tf->flags |= ATA_TFLAG_WRITE; --- linux-2.6.32.orig/drivers/ata/libata-sff.c +++ linux-2.6.32/drivers/ata/libata-sff.c @@ -893,6 +893,9 @@ do_write); } + if (!do_write && !PageSlab(page)) + flush_dcache_page(page); + qc->curbytes += qc->sect_size; qc->cursg_ofs += qc->sect_size; --- linux-2.6.32.orig/drivers/ata/pata_ali.c +++ linux-2.6.32/drivers/ata/pata_ali.c @@ -453,7 +453,9 @@ /* Clear CD-ROM DMA write bit */ tmp &= 0x7F; /* Cable and UDMA */ - pci_write_config_byte(pdev, 0x4B, tmp | 0x09); + if (pdev->revision >= 0xc2) + tmp |= 0x01; + pci_write_config_byte(pdev, 0x4B, tmp | 0x08); /* * CD_ROM DMA on (0x53 bit 0). Enable this even if we want * to use PIO. 0x53 bit 1 (rev 20 only) - enable FIFO control --- linux-2.6.32.orig/drivers/ata/pata_cmd64x.c +++ linux-2.6.32/drivers/ata/pata_cmd64x.c @@ -2,6 +2,7 @@ * pata_cmd64x.c - CMD64x PATA for new ATA layer * (C) 2005 Red Hat Inc * Alan Cox + * (C) 2009-2010 Bartlomiej Zolnierkiewicz * * Based upon * linux/drivers/ide/pci/cmd64x.c Version 1.30 Sept 10, 2002 @@ -39,11 +40,10 @@ enum { CFR = 0x50, - CFR_INTR_CH0 = 0x02, - CNTRL = 0x51, - CNTRL_DIS_RA0 = 0x40, - CNTRL_DIS_RA1 = 0x80, - CNTRL_ENA_2ND = 0x08, + CFR_INTR_CH0 = 0x04, + CNTRL = 0x51, + CNTRL_CH0 = 0x04, + CNTRL_CH1 = 0x08, CMDTIM = 0x52, ARTTIM0 = 0x53, DRWTIM0 = 0x54, @@ -53,9 +53,6 @@ ARTTIM23_DIS_RA2 = 0x04, ARTTIM23_DIS_RA3 = 0x08, ARTTIM23_INTR_CH1 = 0x10, - ARTTIM2 = 0x57, - ARTTIM3 = 0x57, - DRWTIM23 = 0x58, DRWTIM2 = 0x58, BRST = 0x59, DRWTIM3 = 0x5b, @@ -63,14 +60,11 @@ MRDMODE = 0x71, MRDMODE_INTR_CH0 = 0x04, MRDMODE_INTR_CH1 = 0x08, - MRDMODE_BLK_CH0 = 0x10, - MRDMODE_BLK_CH1 = 0x20, BMIDESR0 = 0x72, UDIDETCR0 = 0x73, DTPR0 = 0x74, BMIDECR1 = 0x78, BMIDECSR = 0x79, - BMIDESR1 = 0x7A, UDIDETCR1 = 0x7B, DTPR1 = 0x7C }; @@ -147,7 +141,9 @@ /* Now convert the clocks into values we can actually stuff into the chip */ - if (t.recover > 1) + if (t.recover == 16) + t.recover = 0; + else if (t.recover > 1) t.recover--; else t.recover = 15; @@ -219,7 +215,7 @@ regU |= udma_data[adev->dma_mode - XFER_UDMA_0] << shift; /* Merge the control bits */ regU |= 1 << adev->devno; /* UDMA on */ - if (adev->dma_mode > 2) /* 15nS timing */ + if (adev->dma_mode > XFER_UDMA_2) /* 15nS timing */ regU |= 4 << adev->devno; } else { regU &= ~ (1 << adev->devno); /* UDMA off */ @@ -245,7 +241,7 @@ struct pci_dev *pdev = to_pci_dev(ap->host->dev); u8 dma_intr; int dma_mask = ap->port_no ? ARTTIM23_INTR_CH1 : CFR_INTR_CH0; - int dma_reg = ap->port_no ? ARTTIM2 : CFR; + int dma_reg = ap->port_no ? ARTTIM23 : CFR; ata_bmdma_stop(qc); @@ -294,8 +290,6 @@ static int cmd64x_init_one(struct pci_dev *pdev, const struct pci_device_id *id) { - u32 class_rev; - static const struct ata_port_info cmd_info[6] = { { /* CMD 643 - no UDMA */ .flags = ATA_FLAG_SLAVE_POSS, @@ -337,27 +331,41 @@ .port_ops = &cmd648_port_ops } }; - const struct ata_port_info *ppi[] = { &cmd_info[id->driver_data], NULL }; - u8 mrdmode; + const struct ata_port_info *ppi[] = { + &cmd_info[id->driver_data], + &cmd_info[id->driver_data], + NULL + }; + u8 mrdmode, reg; int rc; + struct pci_dev *bridge = pdev->bus->self; + /* mobility split bridges don't report enabled ports correctly */ + int port_ok = !(bridge && bridge->vendor == + PCI_VENDOR_ID_MOBILITY_ELECTRONICS); + /* all (with exceptions below) apart from 643 have CNTRL_CH0 bit */ + int cntrl_ch0_ok = (id->driver_data != 0); rc = pcim_enable_device(pdev); if (rc) return rc; - pci_read_config_dword(pdev, PCI_CLASS_REVISION, &class_rev); - class_rev &= 0xFF; - if (id->driver_data == 0) /* 643 */ ata_pci_bmdma_clear_simplex(pdev); if (pdev->device == PCI_DEVICE_ID_CMD_646) { /* Does UDMA work ? */ - if (class_rev > 4) + if (pdev->revision > 4) { ppi[0] = &cmd_info[2]; + ppi[1] = &cmd_info[2]; + } /* Early rev with other problems ? */ - else if (class_rev == 1) + else if (pdev->revision == 1) { ppi[0] = &cmd_info[3]; + ppi[1] = &cmd_info[3]; + } + /* revs 1,2 have no CNTRL_CH0 */ + if (pdev->revision < 3) + cntrl_ch0_ok = 0; } pci_write_config_byte(pdev, PCI_LATENCY_TIMER, 64); @@ -366,6 +374,20 @@ mrdmode |= 0x02; /* Memory read line enable */ pci_write_config_byte(pdev, MRDMODE, mrdmode); + /* check for enabled ports */ + pci_read_config_byte(pdev, CNTRL, ®); + if (!port_ok) + dev_printk(KERN_NOTICE, &pdev->dev, "Mobility Bridge detected, ignoring CNTRL port enable/disable\n"); + if (port_ok && cntrl_ch0_ok && !(reg & CNTRL_CH0)) { + dev_printk(KERN_NOTICE, &pdev->dev, "Primary port is disabled\n"); + ppi[0] = &ata_dummy_port_info; + + } + if (port_ok && !(reg & CNTRL_CH1)) { + dev_printk(KERN_NOTICE, &pdev->dev, "Secondary port is disabled\n"); + ppi[1] = &ata_dummy_port_info; + } + /* Force PIO 0 here.. */ /* PPC specific fixup copied from old driver */ --- linux-2.6.32.orig/drivers/ata/pata_hpt366.c +++ linux-2.6.32/drivers/ata/pata_hpt366.c @@ -344,7 +344,6 @@ const struct ata_port_info *ppi[] = { &info_hpt366, NULL }; void *hpriv = NULL; - u32 class_rev; u32 reg1; int rc; @@ -352,13 +351,10 @@ if (rc) return rc; - pci_read_config_dword(dev, PCI_CLASS_REVISION, &class_rev); - class_rev &= 0xFF; - /* May be a later chip in disguise. Check */ /* Newer chips are not in the HPT36x driver. Ignore them */ - if (class_rev > 2) - return -ENODEV; + if (dev->revision > 2) + return -ENODEV; hpt36x_init_chipset(dev); --- linux-2.6.32.orig/drivers/ata/pata_hpt37x.c +++ linux-2.6.32/drivers/ata/pata_hpt37x.c @@ -24,7 +24,7 @@ #include #define DRV_NAME "pata_hpt37x" -#define DRV_VERSION "0.6.12" +#define DRV_VERSION "0.6.14" struct hpt_clock { u8 xfer_speed; @@ -404,9 +404,8 @@ pci_read_config_dword(pdev, addr1, ®); mode = hpt37x_find_mode(ap, adev->pio_mode); - mode &= ~0x8000000; /* No FIFO in PIO */ - mode &= ~0x30070000; /* Leave config bits alone */ - reg &= 0x30070000; /* Strip timing bits */ + mode &= 0xCFC3FFFF; /* Leave DMA bits alone */ + reg &= ~0xCFC3FFFF; /* Strip timing bits */ pci_write_config_dword(pdev, addr1, reg | mode); } @@ -423,8 +422,7 @@ { struct pci_dev *pdev = to_pci_dev(ap->host->dev); u32 addr1, addr2; - u32 reg; - u32 mode; + u32 reg, mode, mask; u8 fast; addr1 = 0x40 + 4 * (adev->devno + 2 * ap->port_no); @@ -436,11 +434,12 @@ fast |= 0x01; pci_write_config_byte(pdev, addr2, fast); + mask = adev->dma_mode < XFER_UDMA_0 ? 0x31C001FF : 0x303C0000; + pci_read_config_dword(pdev, addr1, ®); mode = hpt37x_find_mode(ap, adev->dma_mode); - mode |= 0x8000000; /* FIFO in MWDMA or UDMA */ - mode &= ~0xC0000000; /* Leave config bits alone */ - reg &= 0xC0000000; /* Strip timing bits */ + mode &= mask; + reg &= ~mask; pci_write_config_dword(pdev, addr1, reg | mode); } @@ -508,9 +507,8 @@ mode = hpt37x_find_mode(ap, adev->pio_mode); printk("Find mode for %d reports %X\n", adev->pio_mode, mode); - mode &= ~0x80000000; /* No FIFO in PIO */ - mode &= ~0x30070000; /* Leave config bits alone */ - reg &= 0x30070000; /* Strip timing bits */ + mode &= 0xCFC3FFFF; /* Leave DMA bits alone */ + reg &= ~0xCFC3FFFF; /* Strip timing bits */ pci_write_config_dword(pdev, addr1, reg | mode); } @@ -527,8 +525,7 @@ { struct pci_dev *pdev = to_pci_dev(ap->host->dev); u32 addr1, addr2; - u32 reg; - u32 mode; + u32 reg, mode, mask; u8 fast; addr1 = 0x40 + 4 * (adev->devno + 2 * ap->port_no); @@ -539,12 +536,13 @@ fast &= ~0x07; pci_write_config_byte(pdev, addr2, fast); + mask = adev->dma_mode < XFER_UDMA_0 ? 0x31C001FF : 0x303C0000; + pci_read_config_dword(pdev, addr1, ®); mode = hpt37x_find_mode(ap, adev->dma_mode); printk("Find mode for DMA %d reports %X\n", adev->dma_mode, mode); - mode &= ~0xC0000000; /* Leave config bits alone */ - mode |= 0x80000000; /* FIFO in MWDMA or UDMA */ - reg &= 0xC0000000; /* Strip timing bits */ + mode &= mask; + reg &= ~mask; pci_write_config_dword(pdev, addr1, reg | mode); } @@ -791,9 +789,8 @@ static const int MHz[4] = { 33, 40, 50, 66 }; void *private_data = NULL; const struct ata_port_info *ppi[] = { NULL, NULL }; - + u8 rev = dev->revision; u8 irqmask; - u32 class_rev; u8 mcr1; u32 freq; int prefer_dpll = 1; @@ -808,19 +805,16 @@ if (rc) return rc; - pci_read_config_dword(dev, PCI_CLASS_REVISION, &class_rev); - class_rev &= 0xFF; - if (dev->device == PCI_DEVICE_ID_TTI_HPT366) { /* May be a later chip in disguise. Check */ /* Older chips are in the HPT366 driver. Ignore them */ - if (class_rev < 3) + if (rev < 3) return -ENODEV; /* N series chips have their own driver. Ignore */ - if (class_rev == 6) + if (rev == 6) return -ENODEV; - switch(class_rev) { + switch(rev) { case 3: ppi[0] = &info_hpt370; chip_table = &hpt370; @@ -836,28 +830,29 @@ chip_table = &hpt372; break; default: - printk(KERN_ERR "pata_hpt37x: Unknown HPT366 subtype please report (%d).\n", class_rev); + printk(KERN_ERR "pata_hpt37x: Unknown HPT366 " + "subtype, please report (%d).\n", rev); return -ENODEV; } } else { switch(dev->device) { case PCI_DEVICE_ID_TTI_HPT372: /* 372N if rev >= 2*/ - if (class_rev >= 2) + if (rev >= 2) return -ENODEV; ppi[0] = &info_hpt372; chip_table = &hpt372a; break; case PCI_DEVICE_ID_TTI_HPT302: /* 302N if rev > 1 */ - if (class_rev > 1) + if (rev > 1) return -ENODEV; ppi[0] = &info_hpt372; /* Check this */ chip_table = &hpt302; break; case PCI_DEVICE_ID_TTI_HPT371: - if (class_rev > 1) + if (rev > 1) return -ENODEV; ppi[0] = &info_hpt372; chip_table = &hpt371; --- linux-2.6.32.orig/drivers/ata/pata_hpt3x2n.c +++ linux-2.6.32/drivers/ata/pata_hpt3x2n.c @@ -8,7 +8,7 @@ * Copyright (C) 1999-2003 Andre Hedrick * Portions Copyright (C) 2001 Sun Microsystems, Inc. * Portions Copyright (C) 2003 Red Hat Inc - * Portions Copyright (C) 2005-2007 MontaVista Software, Inc. + * Portions Copyright (C) 2005-2009 MontaVista Software, Inc. * * * TODO @@ -25,7 +25,7 @@ #include #define DRV_NAME "pata_hpt3x2n" -#define DRV_VERSION "0.3.4" +#define DRV_VERSION "0.3.9" enum { HPT_PCI_FAST = (1 << 31), @@ -185,9 +185,8 @@ pci_read_config_dword(pdev, addr1, ®); mode = hpt3x2n_find_mode(ap, adev->pio_mode); - mode &= ~0x8000000; /* No FIFO in PIO */ - mode &= ~0x30070000; /* Leave config bits alone */ - reg &= 0x30070000; /* Strip timing bits */ + mode &= 0xCFC3FFFF; /* Leave DMA bits alone */ + reg &= ~0xCFC3FFFF; /* Strip timing bits */ pci_write_config_dword(pdev, addr1, reg | mode); } @@ -204,8 +203,7 @@ { struct pci_dev *pdev = to_pci_dev(ap->host->dev); u32 addr1, addr2; - u32 reg; - u32 mode; + u32 reg, mode, mask; u8 fast; addr1 = 0x40 + 4 * (adev->devno + 2 * ap->port_no); @@ -216,11 +214,12 @@ fast &= ~0x07; pci_write_config_byte(pdev, addr2, fast); + mask = adev->dma_mode < XFER_UDMA_0 ? 0x31C001FF : 0x303C0000; + pci_read_config_dword(pdev, addr1, ®); mode = hpt3x2n_find_mode(ap, adev->dma_mode); - mode |= 0x8000000; /* FIFO in MWDMA or UDMA */ - mode &= ~0xC0000000; /* Leave config bits alone */ - reg &= 0xC0000000; /* Strip timing bits */ + mode &= mask; + reg &= ~mask; pci_write_config_dword(pdev, addr1, reg | mode); } @@ -263,7 +262,7 @@ static void hpt3x2n_set_clock(struct ata_port *ap, int source) { - void __iomem *bmdma = ap->ioaddr.bmdma_addr; + void __iomem *bmdma = ap->ioaddr.bmdma_addr - ap->port_no * 8; /* Tristate the bus */ iowrite8(0x80, bmdma+0x73); @@ -273,9 +272,9 @@ iowrite8(source, bmdma+0x7B); iowrite8(0xC0, bmdma+0x79); - /* Reset state machines */ - iowrite8(0x37, bmdma+0x70); - iowrite8(0x37, bmdma+0x74); + /* Reset state machines, avoid enabling the disabled channels */ + iowrite8(ioread8(bmdma+0x70) | 0x32, bmdma+0x70); + iowrite8(ioread8(bmdma+0x74) | 0x32, bmdma+0x74); /* Complete reset */ iowrite8(0x00, bmdma+0x79); @@ -285,21 +284,10 @@ iowrite8(0x00, bmdma+0x77); } -/* Check if our partner interface is busy */ - -static int hpt3x2n_pair_idle(struct ata_port *ap) -{ - struct ata_host *host = ap->host; - struct ata_port *pair = host->ports[ap->port_no ^ 1]; - - if (pair->hsm_task_state == HSM_ST_IDLE) - return 1; - return 0; -} - static int hpt3x2n_use_dpll(struct ata_port *ap, int writing) { long flags = (long)ap->host->private_data; + /* See if we should use the DPLL */ if (writing) return USE_DPLL; /* Needed for write */ @@ -308,20 +296,35 @@ return 0; } +static int hpt3x2n_qc_defer(struct ata_queued_cmd *qc) +{ + struct ata_port *ap = qc->ap; + struct ata_port *alt = ap->host->ports[ap->port_no ^ 1]; + int rc, flags = (long)ap->host->private_data; + int dpll = hpt3x2n_use_dpll(ap, qc->tf.flags & ATA_TFLAG_WRITE); + + /* First apply the usual rules */ + rc = ata_std_qc_defer(qc); + if (rc != 0) + return rc; + + if ((flags & USE_DPLL) != dpll && alt->qc_active) + return ATA_DEFER_PORT; + return 0; +} + static unsigned int hpt3x2n_qc_issue(struct ata_queued_cmd *qc) { - struct ata_taskfile *tf = &qc->tf; struct ata_port *ap = qc->ap; int flags = (long)ap->host->private_data; + int dpll = hpt3x2n_use_dpll(ap, qc->tf.flags & ATA_TFLAG_WRITE); - if (hpt3x2n_pair_idle(ap)) { - int dpll = hpt3x2n_use_dpll(ap, (tf->flags & ATA_TFLAG_WRITE)); - if ((flags & USE_DPLL) != dpll) { - if (dpll == 1) - hpt3x2n_set_clock(ap, 0x21); - else - hpt3x2n_set_clock(ap, 0x23); - } + if ((flags & USE_DPLL) != dpll) { + flags &= ~USE_DPLL; + flags |= dpll; + ap->host->private_data = (void *)(long)flags; + + hpt3x2n_set_clock(ap, dpll ? 0x21 : 0x23); } return ata_sff_qc_issue(qc); } @@ -338,6 +341,8 @@ .inherits = &ata_bmdma_port_ops, .bmdma_stop = hpt3x2n_bmdma_stop, + + .qc_defer = hpt3x2n_qc_defer, .qc_issue = hpt3x2n_qc_issue, .cable_detect = hpt3x2n_cable_detect, @@ -447,41 +452,36 @@ .port_ops = &hpt3x2n_port_ops }; const struct ata_port_info *ppi[] = { &info, NULL }; - + u8 rev = dev->revision; u8 irqmask; - u32 class_rev; - unsigned int pci_mhz; unsigned int f_low, f_high; int adjust; unsigned long iobase = pci_resource_start(dev, 4); - void *hpriv = NULL; + void *hpriv = (void *)USE_DPLL; int rc; rc = pcim_enable_device(dev); if (rc) return rc; - pci_read_config_dword(dev, PCI_CLASS_REVISION, &class_rev); - class_rev &= 0xFF; - switch(dev->device) { case PCI_DEVICE_ID_TTI_HPT366: - if (class_rev < 6) + if (rev < 6) return -ENODEV; break; case PCI_DEVICE_ID_TTI_HPT371: - if (class_rev < 2) + if (rev < 2) return -ENODEV; /* 371N if rev > 1 */ break; case PCI_DEVICE_ID_TTI_HPT372: /* 372N if rev >= 2*/ - if (class_rev < 2) + if (rev < 2) return -ENODEV; break; case PCI_DEVICE_ID_TTI_HPT302: - if (class_rev < 2) + if (rev < 2) return -ENODEV; break; case PCI_DEVICE_ID_TTI_HPT372N: @@ -542,16 +542,16 @@ pci_mhz); /* Set our private data up. We only need a few flags so we use it directly */ - if (pci_mhz > 60) { - hpriv = (void *)PCI66; - /* - * On HPT371N, if ATA clock is 66 MHz we must set bit 2 in - * the MISC. register to stretch the UltraDMA Tss timing. - * NOTE: This register is only writeable via I/O space. - */ - if (dev->device == PCI_DEVICE_ID_TTI_HPT371) - outb(inb(iobase + 0x9c) | 0x04, iobase + 0x9c); - } + if (pci_mhz > 60) + hpriv = (void *)(PCI66 | USE_DPLL); + + /* + * On HPT371N, if ATA clock is 66 MHz we must set bit 2 in + * the MISC. register to stretch the UltraDMA Tss timing. + * NOTE: This register is only writeable via I/O space. + */ + if (dev->device == PCI_DEVICE_ID_TTI_HPT371) + outb(inb(iobase + 0x9c) | 0x04, iobase + 0x9c); /* Now kick off ATA set up */ return ata_pci_sff_init_one(dev, ppi, &hpt3x2n_sht, hpriv); --- linux-2.6.32.orig/drivers/ata/pata_mpc52xx.c +++ linux-2.6.32/drivers/ata/pata_mpc52xx.c @@ -610,7 +610,7 @@ }; static struct ata_port_operations mpc52xx_ata_port_ops = { - .inherits = &ata_sff_port_ops, + .inherits = &ata_bmdma_port_ops, .sff_dev_select = mpc52xx_ata_dev_select, .set_piomode = mpc52xx_ata_set_piomode, .set_dmamode = mpc52xx_ata_set_dmamode, --- linux-2.6.32.orig/drivers/ata/pata_pdc202xx_old.c +++ linux-2.6.32/drivers/ata/pata_pdc202xx_old.c @@ -2,7 +2,7 @@ * pata_pdc202xx_old.c - Promise PDC202xx PATA for new ATA layer * (C) 2005 Red Hat Inc * Alan Cox - * (C) 2007,2009 Bartlomiej Zolnierkiewicz + * (C) 2007,2009,2010 Bartlomiej Zolnierkiewicz * * Based in part on linux/drivers/ide/pci/pdc202xx_old.c * @@ -35,6 +35,15 @@ return ATA_CBL_PATA80; } +static void pdc202xx_exec_command(struct ata_port *ap, + const struct ata_taskfile *tf) +{ + DPRINTK("ata%u: cmd 0x%X\n", ap->print_id, tf->command); + + iowrite8(tf->command, ap->ioaddr.command_addr); + ndelay(400); +} + /** * pdc202xx_configure_piomode - set chip PIO timing * @ap: ATA interface @@ -271,6 +280,8 @@ .cable_detect = ata_cable_40wire, .set_piomode = pdc202xx_set_piomode, .set_dmamode = pdc202xx_set_dmamode, + + .sff_exec_command = pdc202xx_exec_command, }; static struct ata_port_operations pdc2026x_port_ops = { @@ -284,6 +295,8 @@ .dev_config = pdc2026x_dev_config, .port_start = pdc2026x_port_start, + + .sff_exec_command = pdc202xx_exec_command, }; static int pdc202xx_init_one(struct pci_dev *dev, const struct pci_device_id *id) --- linux-2.6.32.orig/drivers/ata/pata_via.c +++ linux-2.6.32/drivers/ata/pata_via.c @@ -661,6 +661,7 @@ { PCI_VDEVICE(VIA, 0x3164), }, { PCI_VDEVICE(VIA, 0x5324), }, { PCI_VDEVICE(VIA, 0xC409), VIA_IDFLAG_SINGLE }, + { PCI_VDEVICE(VIA, 0x9001), VIA_IDFLAG_SINGLE }, { }, }; --- linux-2.6.32.orig/drivers/ata/pata_sil680.c +++ linux-2.6.32/drivers/ata/pata_sil680.c @@ -212,13 +212,11 @@ static u8 sil680_init_chip(struct pci_dev *pdev, int *try_mmio) { - u32 class_rev = 0; u8 tmpbyte = 0; - pci_read_config_dword(pdev, PCI_CLASS_REVISION, &class_rev); - class_rev &= 0xff; /* FIXME: double check */ - pci_write_config_byte(pdev, PCI_CACHE_LINE_SIZE, (class_rev) ? 1 : 255); + pci_write_config_byte(pdev, PCI_CACHE_LINE_SIZE, + pdev->revision ? 1 : 255); pci_write_config_byte(pdev, 0x80, 0x00); pci_write_config_byte(pdev, 0x84, 0x00); --- linux-2.6.32.orig/drivers/ata/sata_mv.c +++ linux-2.6.32/drivers/ata/sata_mv.c @@ -1879,19 +1879,25 @@ * LOCKING: * Inherited from caller. */ -static void mv_bmdma_stop(struct ata_queued_cmd *qc) +static void mv_bmdma_stop_ap(struct ata_port *ap) { - struct ata_port *ap = qc->ap; void __iomem *port_mmio = mv_ap_base(ap); u32 cmd; /* clear start/stop bit */ cmd = readl(port_mmio + BMDMA_CMD); - cmd &= ~ATA_DMA_START; - writelfl(cmd, port_mmio + BMDMA_CMD); + if (cmd & ATA_DMA_START) { + cmd &= ~ATA_DMA_START; + writelfl(cmd, port_mmio + BMDMA_CMD); - /* one-PIO-cycle guaranteed wait, per spec, for HDMA1:0 transition */ - ata_sff_dma_pause(ap); + /* one-PIO-cycle guaranteed wait, per spec, for HDMA1:0 transition */ + ata_sff_dma_pause(ap); + } +} + +static void mv_bmdma_stop(struct ata_queued_cmd *qc) +{ + mv_bmdma_stop_ap(qc->ap); } /** @@ -1915,8 +1921,21 @@ reg = readl(port_mmio + BMDMA_STATUS); if (reg & ATA_DMA_ACTIVE) status = ATA_DMA_ACTIVE; - else + else if (reg & ATA_DMA_ERR) status = (reg & ATA_DMA_ERR) | ATA_DMA_INTR; + else { + /* + * Just because DMA_ACTIVE is 0 (DMA completed), + * this does _not_ mean the device is "done". + * So we should not yet be signalling ATA_DMA_INTR + * in some cases. Eg. DSM/TRIM, and perhaps others. + */ + mv_bmdma_stop_ap(ap); + if (ioread8(ap->ioaddr.altstatus_addr) & ATA_BUSY) + status = 0; + else + status = ATA_DMA_INTR; + } return status; } @@ -1976,6 +1995,9 @@ switch (tf->protocol) { case ATA_PROT_DMA: + if (tf->command == ATA_CMD_DSM) + return; + /* fall-thru */ case ATA_PROT_NCQ: break; /* continue below */ case ATA_PROT_PIO: @@ -2075,6 +2097,8 @@ if ((tf->protocol != ATA_PROT_DMA) && (tf->protocol != ATA_PROT_NCQ)) return; + if (tf->command == ATA_CMD_DSM) + return; /* use bmdma for this */ /* Fill in Gen IIE command request block */ if (!(tf->flags & ATA_TFLAG_WRITE)) @@ -2270,6 +2294,12 @@ switch (qc->tf.protocol) { case ATA_PROT_DMA: + if (qc->tf.command == ATA_CMD_DSM) { + if (!ap->ops->bmdma_setup) /* no bmdma on GEN_I */ + return AC_ERR_OTHER; + break; /* use bmdma for this */ + } + /* fall thru */ case ATA_PROT_NCQ: mv_start_edma(ap, port_mmio, pp, qc->tf.protocol); pp->req_idx = (pp->req_idx + 1) & MV_MAX_Q_DEPTH_MASK; --- linux-2.6.32.orig/drivers/ata/sata_nv.c +++ linux-2.6.32/drivers/ata/sata_nv.c @@ -1673,7 +1673,6 @@ mask = readl(mmio_base + NV_INT_ENABLE_MCP55); mask &= ~(NV_INT_ALL_MCP55 << shift); writel(mask, mmio_base + NV_INT_ENABLE_MCP55); - ata_sff_freeze(ap); } static void nv_mcp55_thaw(struct ata_port *ap) @@ -1687,7 +1686,6 @@ mask = readl(mmio_base + NV_INT_ENABLE_MCP55); mask |= (NV_INT_MASK_MCP55 << shift); writel(mask, mmio_base + NV_INT_ENABLE_MCP55); - ata_sff_thaw(ap); } static void nv_adma_error_handler(struct ata_port *ap) @@ -2478,8 +2476,7 @@ } pci_set_master(pdev); - return ata_host_activate(host, pdev->irq, ipriv->irq_handler, - IRQF_SHARED, ipriv->sht); + return ata_pci_sff_activate_host(host, ipriv->irq_handler, ipriv->sht); } #ifdef CONFIG_PM --- linux-2.6.32.orig/drivers/ata/sata_via.c +++ linux-2.6.32/drivers/ata/sata_via.c @@ -40,6 +40,8 @@ #include #include #include +#include +#include #include #include @@ -80,6 +82,7 @@ static void svia_tf_load(struct ata_port *ap, const struct ata_taskfile *tf); static void svia_noop_freeze(struct ata_port *ap); static int vt6420_prereset(struct ata_link *link, unsigned long deadline); +static void vt6420_bmdma_start(struct ata_queued_cmd *qc); static int vt6421_pata_cable_detect(struct ata_port *ap); static void vt6421_set_pio_mode(struct ata_port *ap, struct ata_device *adev); static void vt6421_set_dma_mode(struct ata_port *ap, struct ata_device *adev); @@ -121,6 +124,7 @@ .inherits = &svia_base_ops, .freeze = svia_noop_freeze, .prereset = vt6420_prereset, + .bmdma_start = vt6420_bmdma_start, }; static struct ata_port_operations vt6421_pata_ops = { @@ -377,6 +381,17 @@ return 0; } +static void vt6420_bmdma_start(struct ata_queued_cmd *qc) +{ + struct ata_port *ap = qc->ap; + if ((qc->tf.command == ATA_CMD_PACKET) && + (qc->scsicmd->sc_data_direction == DMA_TO_DEVICE)) { + /* Prevents corruption on some ATAPI burners */ + ata_sff_pause(ap); + } + ata_bmdma_start(qc); +} + static int vt6421_pata_cable_detect(struct ata_port *ap) { struct pci_dev *pdev = to_pci_dev(ap->host->dev); @@ -558,6 +573,19 @@ tmp8 |= NATIVE_MODE_ALL; pci_write_config_byte(pdev, SATA_NATIVE_MODE, tmp8); } + + /* + * vt6421 has problems talking to some drives. The following + * is the magic fix from Joseph Chan . + * Please add proper documentation if possible. + * + * https://bugzilla.kernel.org/show_bug.cgi?id=15173 + */ + if (pdev->device == 0x3249) { + pci_read_config_byte(pdev, 0x52, &tmp8); + tmp8 |= 1 << 2; + pci_write_config_byte(pdev, 0x52, tmp8); + } } static int svia_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) --- linux-2.6.32.orig/drivers/atm/solos-pci.c +++ linux-2.6.32/drivers/atm/solos-pci.c @@ -688,7 +688,7 @@ size); } if (atmdebug) { - dev_info(&card->dev->dev, "Received: device %d\n", port); + dev_info(&card->dev->dev, "Received: port %d\n", port); dev_info(&card->dev->dev, "size: %d VPI: %d VCI: %d\n", size, le16_to_cpu(header->vpi), le16_to_cpu(header->vci)); @@ -774,7 +774,8 @@ sk_for_each(s, node, head) { vcc = atm_sk(s); if (vcc->dev == dev && vcc->vci == vci && - vcc->vpi == vpi && vcc->qos.rxtp.traffic_class != ATM_NONE) + vcc->vpi == vpi && vcc->qos.rxtp.traffic_class != ATM_NONE && + test_bit(ATM_VF_READY, &vcc->flags)) goto out; } vcc = NULL; @@ -900,6 +901,10 @@ clear_bit(ATM_VF_ADDR, &vcc->flags); clear_bit(ATM_VF_READY, &vcc->flags); + /* Hold up vcc_destroy_socket() (our caller) until solos_bh() in the + tasklet has finished processing any incoming packets (and, more to + the point, using the vcc pointer). */ + tasklet_unlock_wait(&card->tlet); return; } @@ -1003,8 +1008,15 @@ /* Clean up and free oldskb now it's gone */ if (atmdebug) { + struct pkt_hdr *header = (void *)oldskb->data; + int size = le16_to_cpu(header->size); + + skb_pull(oldskb, sizeof(*header)); dev_info(&card->dev->dev, "Transmitted: port %d\n", port); + dev_info(&card->dev->dev, "size: %d VPI: %d VCI: %d\n", + size, le16_to_cpu(header->vpi), + le16_to_cpu(header->vci)); print_buffer(oldskb); } --- linux-2.6.32.orig/drivers/base/Kconfig +++ linux-2.6.32/drivers/base/Kconfig @@ -151,4 +151,12 @@ bool default n +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-2.6.32.orig/drivers/base/class.c +++ linux-2.6.32/drivers/base/class.c @@ -59,6 +59,8 @@ else pr_debug("class '%s' does not have a release() function, " "be careful\n", class->name); + + kfree(cp); } static struct sysfs_ops class_sysfs_ops = { --- linux-2.6.32.orig/drivers/base/core.c +++ linux-2.6.32/drivers/base/core.c @@ -56,7 +56,14 @@ */ const char *dev_driver_string(const struct device *dev) { - return dev->driver ? dev->driver->name : + struct device_driver *drv; + + /* dev->driver can change to NULL underneath us because of unbinding, + * so be careful about accessing it. dev->bus and dev->class should + * never change once they are set, so they don't need special care. + */ + drv = ACCESS_ONCE(dev->driver); + return drv ? drv->name : (dev->bus ? dev->bus->name : (dev->class ? dev->class->name : "")); } @@ -596,6 +603,7 @@ int retval; if (dev->class) { + static DEFINE_MUTEX(gdp_mutex); struct kobject *kobj = NULL; struct kobject *parent_kobj; struct kobject *k; @@ -612,6 +620,8 @@ else parent_kobj = &parent->kobj; + mutex_lock(&gdp_mutex); + /* find our class-directory at the parent and reference it */ spin_lock(&dev->class->p->class_dirs.list_lock); list_for_each_entry(k, &dev->class->p->class_dirs.list, entry) @@ -620,20 +630,26 @@ break; } spin_unlock(&dev->class->p->class_dirs.list_lock); - if (kobj) + if (kobj) { + mutex_unlock(&gdp_mutex); return kobj; + } /* or create a new class-directory at the parent device */ k = kobject_create(); - if (!k) + if (!k) { + mutex_unlock(&gdp_mutex); return NULL; + } k->kset = &dev->class->p->class_dirs; retval = kobject_add(k, parent_kobj, "%s", dev->class->name); if (retval < 0) { + mutex_unlock(&gdp_mutex); kobject_put(k); return NULL; } /* do not emit an uevent for this simple "glue" directory */ + mutex_unlock(&gdp_mutex); return k; } --- linux-2.6.32.orig/drivers/base/cpu.c +++ linux-2.6.32/drivers/base/cpu.c @@ -149,7 +149,7 @@ /* display offline cpus < nr_cpu_ids */ if (!alloc_cpumask_var(&offline, GFP_KERNEL)) return -ENOMEM; - cpumask_complement(offline, cpu_online_mask); + cpumask_andnot(offline, cpu_possible_mask, cpu_online_mask); n = cpulist_scnprintf(buf, len, offline); free_cpumask_var(offline); --- linux-2.6.32.orig/drivers/base/devtmpfs.c +++ linux-2.6.32/drivers/base/devtmpfs.c @@ -295,6 +295,19 @@ if (dentry->d_inode) { err = vfs_getattr(nd.path.mnt, dentry, &stat); if (!err && dev_mynode(dev, dentry->d_inode, &stat)) { + struct iattr newattrs; + /* + * before unlinking this node, reset permissions + * of possible references like hardlinks + */ + newattrs.ia_uid = 0; + newattrs.ia_gid = 0; + newattrs.ia_mode = stat.mode & ~0777; + newattrs.ia_valid = + ATTR_UID|ATTR_GID|ATTR_MODE; + mutex_lock(&dentry->d_inode->i_mutex); + notify_change(dentry, &newattrs); + mutex_unlock(&dentry->d_inode->i_mutex); err = vfs_unlink(nd.path.dentry->d_inode, dentry); if (!err || err == -ENOENT) @@ -353,6 +366,7 @@ { int err; struct vfsmount *mnt; + char options[] = "mode=0755"; err = register_filesystem(&dev_fs_type); if (err) { @@ -361,7 +375,7 @@ return err; } - mnt = kern_mount(&dev_fs_type); + mnt = kern_mount_data(&dev_fs_type, options); if (IS_ERR(mnt)) { err = PTR_ERR(mnt); printk(KERN_ERR "devtmpfs: unable to create devtmpfs %i\n", err); --- linux-2.6.32.orig/drivers/base/firmware_class.c +++ linux-2.6.32/drivers/base/firmware_class.c @@ -125,6 +125,17 @@ return sprintf(buf, "%d\n", loading); } +static void firmware_free_data(const struct firmware *fw) +{ + int i; + vunmap(fw->data); + if (fw->pages) { + for (i = 0; i < PFN_UP(fw->size); i++) + __free_page(fw->pages[i]); + kfree(fw->pages); + } +} + /* Some architectures don't have PAGE_KERNEL_RO */ #ifndef PAGE_KERNEL_RO #define PAGE_KERNEL_RO PAGE_KERNEL @@ -150,28 +161,27 @@ int loading = simple_strtol(buf, NULL, 10); int i; + mutex_lock(&fw_lock); + + if (!fw_priv->fw) + goto out; + switch (loading) { case 1: - mutex_lock(&fw_lock); - if (!fw_priv->fw) { - mutex_unlock(&fw_lock); - break; - } - vfree(fw_priv->fw->data); - fw_priv->fw->data = NULL; + firmware_free_data(fw_priv->fw); + memset(fw_priv->fw, 0, sizeof(struct firmware)); + /* If the pages are not owned by 'struct firmware' */ for (i = 0; i < fw_priv->nr_pages; i++) __free_page(fw_priv->pages[i]); kfree(fw_priv->pages); fw_priv->pages = NULL; fw_priv->page_array_size = 0; fw_priv->nr_pages = 0; - fw_priv->fw->size = 0; set_bit(FW_STATUS_LOADING, &fw_priv->status); - mutex_unlock(&fw_lock); break; case 0: if (test_bit(FW_STATUS_LOADING, &fw_priv->status)) { - vfree(fw_priv->fw->data); + vunmap(fw_priv->fw->data); fw_priv->fw->data = vmap(fw_priv->pages, fw_priv->nr_pages, 0, PAGE_KERNEL_RO); @@ -179,7 +189,10 @@ dev_err(dev, "%s: vmap() failed\n", __func__); goto err; } - /* Pages will be freed by vfree() */ + /* Pages are now owned by 'struct firmware' */ + fw_priv->fw->pages = fw_priv->pages; + fw_priv->pages = NULL; + fw_priv->page_array_size = 0; fw_priv->nr_pages = 0; complete(&fw_priv->completion); @@ -195,7 +208,8 @@ fw_load_abort(fw_priv); break; } - +out: + mutex_unlock(&fw_lock); return count; } @@ -479,8 +493,7 @@ if (!firmware) { dev_err(device, "%s: kmalloc(struct firmware) failed\n", __func__); - retval = -ENOMEM; - goto out; + return -ENOMEM; } for (builtin = __start_builtin_fw; builtin != __end_builtin_fw; @@ -494,6 +507,14 @@ return 0; } + read_lock_usermodehelper(); + + if (WARN_ON(usermodehelper_is_disabled())) { + dev_err(device, "firmware: %s will not be loaded\n", name); + retval = -EBUSY; + goto out; + } + if (uevent) dev_info(device, "firmware: requesting %s\n", name); @@ -531,6 +552,7 @@ kfree(firmware); *firmware_p = NULL; out: + read_unlock_usermodehelper(); return retval; } @@ -572,7 +594,7 @@ if (fw->data == builtin->data) goto free_fw; } - vfree(fw->data); + firmware_free_data(fw); free_fw: kfree(fw); } --- linux-2.6.32.orig/drivers/base/sys.c +++ linux-2.6.32/drivers/base/sys.c @@ -471,6 +471,12 @@ { struct sysdev_class *cls; + /* + * Called from syscore in mainline but called directly here + * since syscore does not exist in this tree. + */ + irq_pm_syscore_resume(); + WARN_ONCE(!irqs_disabled(), "Interrupts enabled while resuming system devices\n"); --- linux-2.6.32.orig/drivers/base/power/main.c +++ linux-2.6.32/drivers/base/power/main.c @@ -324,6 +324,41 @@ kobject_name(&dev->kobj), 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; + 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; + pr_info("PM: %s%s%s of devices complete after %ld.%03ld msecs\n", + info ?: "", info ? " " : "", pm_verb(state.event), + usecs / USEC_PER_MSEC, usecs % USEC_PER_MSEC); +} + /*------------------------- Resume routines -------------------------*/ /** @@ -337,6 +372,7 @@ static int device_resume_noirq(struct device *dev, pm_message_t state) { int error = 0; + ktime_t starttime = ktime_get(); TRACE_DEVICE(dev); TRACE_RESUME(0); @@ -347,6 +383,7 @@ if (dev->bus->pm) { pm_dev_dbg(dev, state, "EARLY "); error = pm_noirq_op(dev, dev->bus->pm, state); + device_show_time(dev, starttime, state, "early"); } End: TRACE_RESUME(error); @@ -363,6 +400,7 @@ void dpm_resume_noirq(pm_message_t state) { struct device *dev; + ktime_t starttime = ktime_get(); mutex_lock(&dpm_list_mtx); transition_started = false; @@ -376,6 +414,7 @@ pm_dev_err(dev, state, " early", error); } mutex_unlock(&dpm_list_mtx); + dpm_show_time(starttime, state, "early"); resume_device_irqs(); } EXPORT_SYMBOL_GPL(dpm_resume_noirq); @@ -388,6 +427,7 @@ static int device_resume(struct device *dev, pm_message_t state) { int error = 0; + ktime_t starttime = ktime_get(); TRACE_DEVICE(dev); TRACE_RESUME(0); @@ -424,6 +464,7 @@ error = dev->class->resume(dev); } } + device_show_time(dev, starttime, state, NULL); End: up(&dev->sem); @@ -441,6 +482,7 @@ static void dpm_resume(pm_message_t state) { struct list_head list; + ktime_t starttime = ktime_get(); INIT_LIST_HEAD(&list); mutex_lock(&dpm_list_mtx); @@ -469,6 +511,7 @@ } list_splice(&list, &dpm_list); mutex_unlock(&dpm_list_mtx); + dpm_show_time(starttime, state, NULL); } /** @@ -583,6 +626,7 @@ static int device_suspend_noirq(struct device *dev, pm_message_t state) { int error = 0; + ktime_t starttime = ktime_get(); if (!dev->bus) return 0; @@ -590,6 +634,7 @@ if (dev->bus->pm) { pm_dev_dbg(dev, state, "LATE "); error = pm_noirq_op(dev, dev->bus->pm, state); + device_show_time(dev, starttime, state, "late"); } return error; } @@ -604,6 +649,7 @@ int dpm_suspend_noirq(pm_message_t state) { struct device *dev; + ktime_t starttime = ktime_get(); int error = 0; suspend_device_irqs(); @@ -619,6 +665,8 @@ mutex_unlock(&dpm_list_mtx); if (error) dpm_resume_noirq(resume_event(state)); + else + dpm_show_time(starttime, state, "late"); return error; } EXPORT_SYMBOL_GPL(dpm_suspend_noirq); @@ -631,6 +679,7 @@ static int device_suspend(struct device *dev, pm_message_t state) { int error = 0; + ktime_t starttime = ktime_get(); down(&dev->sem); @@ -666,6 +715,7 @@ suspend_report_result(dev->bus->suspend, error); } } + device_show_time(dev, starttime, state, NULL); End: up(&dev->sem); @@ -679,6 +729,7 @@ static int dpm_suspend(pm_message_t state) { struct list_head list; + ktime_t starttime = ktime_get(); int error = 0; INIT_LIST_HEAD(&list); @@ -704,6 +755,8 @@ } list_splice(&list, dpm_list.prev); mutex_unlock(&dpm_list_mtx); + if (!error) + dpm_show_time(starttime, state, NULL); return error; } --- linux-2.6.32.orig/drivers/base/power/runtime.c +++ linux-2.6.32/drivers/base/power/runtime.c @@ -777,7 +777,7 @@ } if (parent) { - spin_lock(&parent->power.lock); + spin_lock_nested(&parent->power.lock, SINGLE_DEPTH_NESTING); /* * It is invalid to put an active child under a parent that is --- linux-2.6.32.orig/drivers/block/brd.c +++ linux-2.6.32/drivers/block/brd.c @@ -498,7 +498,7 @@ struct kobject *kobj; mutex_lock(&brd_devices_mutex); - brd = brd_init_one(dev & MINORMASK); + brd = brd_init_one(MINOR(dev) >> part_shift); kobj = brd ? get_disk(brd->brd_disk) : ERR_PTR(-ENOMEM); mutex_unlock(&brd_devices_mutex); @@ -531,15 +531,18 @@ if (max_part > 0) part_shift = fls(max_part); + if ((1UL << part_shift) > DISK_MAX_PARTS) + return -EINVAL; + if (rd_nr > 1UL << (MINORBITS - part_shift)) return -EINVAL; if (rd_nr) { nr = rd_nr; - range = rd_nr; + range = rd_nr << part_shift; } else { nr = CONFIG_BLK_DEV_RAM_COUNT; - range = 1UL << (MINORBITS - part_shift); + range = 1UL << MINORBITS; } if (register_blkdev(RAMDISK_MAJOR, "ramdisk")) @@ -578,7 +581,7 @@ unsigned long range; struct brd_device *brd, *next; - range = rd_nr ? rd_nr : 1UL << (MINORBITS - part_shift); + range = rd_nr ? rd_nr << part_shift : 1UL << MINORBITS; list_for_each_entry_safe(brd, next, &brd_devices, brd_list) brd_del_one(brd); --- linux-2.6.32.orig/drivers/block/cciss.c +++ linux-2.6.32/drivers/block/cciss.c @@ -339,6 +339,9 @@ if (*pos > h->highest_lun) return 0; + if (drv == NULL) /* it's possible for h->drv[] to have holes. */ + return 0; + if (drv->heads == 0) return 0; @@ -1580,7 +1583,7 @@ return status; } - /* scsi_cmd_ioctl handles these, below, though some are not */ + /* scsi_cmd_blk_ioctl handles these, below, though some are not */ /* very meaningful for cciss. SG_IO is the main one people want. */ case SG_GET_VERSION_NUM: @@ -1591,9 +1594,9 @@ case SG_EMULATED_HOST: case SG_IO: case SCSI_IOCTL_SEND_COMMAND: - return scsi_cmd_ioctl(disk->queue, disk, mode, cmd, argp); + return scsi_cmd_blk_ioctl(bdev, mode, cmd, argp); - /* scsi_cmd_ioctl would normally handle these, below, but */ + /* scsi_cmd_blk_ioctl would normally handle these, below, but */ /* they aren't a good fit for cciss, as CD-ROMs are */ /* not supported, and we don't have any bus/target/lun */ /* which we present to the kernel. */ --- linux-2.6.32.orig/drivers/block/cciss.h +++ linux-2.6.32/drivers/block/cciss.h @@ -165,6 +165,7 @@ printk("Sending %x - down to controller\n", c->busaddr ); #endif /* CCISS_DEBUG */ writel(c->busaddr, h->vaddr + SA5_REQUEST_PORT_OFFSET); + readl(h->vaddr + SA5_SCRATCHPAD_OFFSET); h->commands_outstanding++; if ( h->commands_outstanding > h->max_outstanding) h->max_outstanding = h->commands_outstanding; --- linux-2.6.32.orig/drivers/block/loop.c +++ linux-2.6.32/drivers/block/loop.c @@ -238,6 +238,8 @@ if (ret) goto fail; + file_update_time(file); + transfer_result = lo_do_transfer(lo, WRITE, page, offset, bvec->bv_page, bv_offs, size, IV); copied = size; @@ -1570,7 +1572,7 @@ struct kobject *kobj; mutex_lock(&loop_devices_mutex); - lo = loop_init_one(dev & MINORMASK); + lo = loop_init_one(MINOR(dev) >> part_shift); kobj = lo ? get_disk(lo->lo_disk) : ERR_PTR(-ENOMEM); mutex_unlock(&loop_devices_mutex); @@ -1603,15 +1605,18 @@ if (max_part > 0) part_shift = fls(max_part); + if ((1UL << part_shift) > DISK_MAX_PARTS) + return -EINVAL; + if (max_loop > 1UL << (MINORBITS - part_shift)) return -EINVAL; if (max_loop) { nr = max_loop; - range = max_loop; + range = max_loop << part_shift; } else { nr = 8; - range = 1UL << (MINORBITS - part_shift); + range = 1UL << MINORBITS; } if (register_blkdev(LOOP_MAJOR, "loop")) @@ -1650,7 +1655,7 @@ unsigned long range; struct loop_device *lo, *next; - range = max_loop ? max_loop : 1UL << (MINORBITS - part_shift); + range = max_loop ? max_loop << part_shift : 1UL << MINORBITS; list_for_each_entry_safe(lo, next, &loop_devices, lo_list) loop_del_one(lo); --- linux-2.6.32.orig/drivers/block/nbd.c +++ linux-2.6.32/drivers/block/nbd.c @@ -56,7 +56,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: @@ -754,6 +754,12 @@ if (max_part > 0) part_shift = fls(max_part); + if ((1UL << part_shift) > DISK_MAX_PARTS) + return -EINVAL; + + if (nbds_max > 1UL << (MINORBITS - part_shift)) + return -EINVAL; + for (i = 0; i < nbds_max; i++) { struct gendisk *disk = alloc_disk(1 << part_shift); if (!disk) --- linux-2.6.32.orig/drivers/block/pktcdvd.c +++ linux-2.6.32/drivers/block/pktcdvd.c @@ -322,7 +322,7 @@ pkt_kobj_remove(pd->kobj_stat); pkt_kobj_remove(pd->kobj_wqueue); if (class_pktcdvd) - device_destroy(class_pktcdvd, pd->pkt_dev); + device_unregister(pd->dev); } @@ -2408,7 +2408,7 @@ pkt_shrink_pktlist(pd); } -static struct pktcdvd_device *pkt_find_dev_from_minor(int dev_minor) +static struct pktcdvd_device *pkt_find_dev_from_minor(unsigned int dev_minor) { if (dev_minor >= MAX_WRITERS) return NULL; --- linux-2.6.32.orig/drivers/block/ub.c +++ linux-2.6.32/drivers/block/ub.c @@ -1726,10 +1726,9 @@ static int ub_bd_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd, unsigned long arg) { - struct gendisk *disk = bdev->bd_disk; void __user *usermem = (void __user *) arg; - return scsi_cmd_ioctl(disk->queue, disk, mode, cmd, usermem); + return scsi_cmd_blk_ioctl(bdev, mode, cmd, usermem); } /* --- linux-2.6.32.orig/drivers/block/virtio_blk.c +++ linux-2.6.32/drivers/block/virtio_blk.c @@ -200,8 +200,8 @@ if (!virtio_has_feature(vblk->vdev, VIRTIO_BLK_F_SCSI)) return -ENOTTY; - return scsi_cmd_ioctl(disk->queue, disk, mode, cmd, - (void __user *)data); + return scsi_cmd_blk_ioctl(bdev, mode, cmd, + (void __user *)data); } /* We provide getgeo only to please some old bootloader/partitioning tools */ --- linux-2.6.32.orig/drivers/block/xen-blkfront.c +++ linux-2.6.32/drivers/block/xen-blkfront.c @@ -889,7 +889,7 @@ } err = xenbus_gather(XBT_NIL, info->xbdev->otherend, - "feature-barrier", "%lu", &info->feature_barrier, + "feature-barrier", "%d", &info->feature_barrier, NULL); if (err) info->feature_barrier = 0; @@ -942,11 +942,11 @@ /* Flush gnttab callback work. Must be done with no locks held. */ flush_scheduled_work(); + del_gendisk(info->gd); + blk_cleanup_queue(info->rq); info->rq = NULL; - del_gendisk(info->gd); - out: xenbus_frontend_closed(dev); } --- linux-2.6.32.orig/drivers/bluetooth/btusb.c +++ linux-2.6.32/drivers/bluetooth/btusb.c @@ -59,6 +59,21 @@ /* Generic Bluetooth USB device */ { USB_DEVICE_INFO(0xe0, 0x01, 0x01) }, + /* Apple MacBookPro 7,1 */ + { USB_DEVICE(0x05ac, 0x8213) }, + + /* Apple iMac11,1 */ + { USB_DEVICE(0x05ac, 0x8215) }, + + /* Apple MacBookPro6,2 */ + { USB_DEVICE(0x05ac, 0x8218) }, + + /* Apple MacBookAir3,1, MacBookAir3,2 */ + { USB_DEVICE(0x05ac, 0x821b) }, + + /* Apple MacBookPro8,2 */ + { USB_DEVICE(0x05ac, 0x821a) }, + /* AVM BlueFRITZ! USB v2.0 */ { USB_DEVICE(0x057c, 0x3800) }, @@ -307,6 +322,7 @@ return; usb_anchor_urb(urb, &data->bulk_anchor); + usb_mark_last_busy(data->udev); err = usb_submit_urb(urb, GFP_ATOMIC); if (err < 0) { --- linux-2.6.32.orig/drivers/bluetooth/hci_ldisc.c +++ linux-2.6.32/drivers/bluetooth/hci_ldisc.c @@ -258,9 +258,16 @@ BT_DBG("tty %p", tty); + /* FIXME: This btw is bogus, nothing requires the old ldisc to clear + the pointer */ if (hu) return -EEXIST; + /* Error if the tty has no write op instead of leaving an exploitable + hole */ + if (tty->ops->write == NULL) + return -EOPNOTSUPP; + if (!(hu = kzalloc(sizeof(struct hci_uart), GFP_KERNEL))) { BT_ERR("Can't allocate control structure"); return -ENFILE; --- linux-2.6.32.orig/drivers/cdrom/cdrom.c +++ linux-2.6.32/drivers/cdrom/cdrom.c @@ -290,7 +290,7 @@ /* default compatibility mode */ static int autoclose=1; static int autoeject; -static int lockdoor = 1; +static int lockdoor = 0; /* will we ever get to use this... sigh. */ static int check_media_type; /* automatically restart mrw format */ @@ -2057,11 +2057,6 @@ if (!nr) return -ENOMEM; - if (!access_ok(VERIFY_WRITE, ubuf, nframes * CD_FRAMESIZE_RAW)) { - ret = -EFAULT; - goto out; - } - cgc.data_direction = CGC_DATA_READ; while (nframes > 0) { if (nr > nframes) @@ -2070,7 +2065,7 @@ ret = cdrom_read_block(cdi, &cgc, lba, nr, 1, CD_FRAMESIZE_RAW); if (ret) break; - if (__copy_to_user(ubuf, cgc.buffer, CD_FRAMESIZE_RAW * nr)) { + if (copy_to_user(ubuf, cgc.buffer, CD_FRAMESIZE_RAW * nr)) { ret = -EFAULT; break; } @@ -2078,7 +2073,6 @@ nframes -= nr; lba += nr; } -out: kfree(cgc.buffer); return ret; } @@ -2684,12 +2678,11 @@ { void __user *argp = (void __user *)arg; int ret; - struct gendisk *disk = bdev->bd_disk; /* * Try the generic SCSI command ioctl's first. */ - ret = scsi_cmd_ioctl(disk->queue, disk, mode, cmd, argp); + ret = scsi_cmd_blk_ioctl(bdev, mode, cmd, argp); if (ret != -ENOTTY) return ret; --- linux-2.6.32.orig/drivers/char/hpet.c +++ linux-2.6.32/drivers/char/hpet.c @@ -476,6 +476,21 @@ if (irq) { unsigned long irq_flags; + if (devp->hd_flags & HPET_SHARED_IRQ) { + /* + * To prevent the interrupt handler from seeing an + * unwanted interrupt status bit, program the timer + * so that it will not fire in the near future ... + */ + writel(readl(&timer->hpet_config) & ~Tn_TYPE_CNF_MASK, + &timer->hpet_config); + write_counter(read_counter(&hpet->hpet_mc), + &timer->hpet_compare); + /* ... and clear any left-over status. */ + isr = 1 << (devp - devp->hd_hpets->hp_dev); + writel(isr, &hpet->hpet_isr); + } + sprintf(devp->hd_name, "hpet%d", (int)(devp - hpetp->hp_dev)); irq_flags = devp->hd_flags & HPET_SHARED_IRQ ? IRQF_SHARED : IRQF_DISABLED; @@ -970,6 +985,8 @@ return -ENODEV; if (!data.hd_address || !data.hd_nirqs) { + if (data.hd_address) + iounmap(data.hd_address); printk("%s: no address or irqs in _CRS\n", __func__); return -ENODEV; } --- linux-2.6.32.orig/drivers/char/i8k.c +++ linux-2.6.32/drivers/char/i8k.c @@ -119,7 +119,7 @@ int eax = regs->eax; #if defined(CONFIG_X86_64) - asm("pushq %%rax\n\t" + asm volatile("pushq %%rax\n\t" "movl 0(%%rax),%%edx\n\t" "pushq %%rdx\n\t" "movl 4(%%rax),%%ebx\n\t" @@ -138,14 +138,14 @@ "movl %%edi,20(%%rax)\n\t" "popq %%rdx\n\t" "movl %%edx,0(%%rax)\n\t" - "lahf\n\t" - "shrl $8,%%eax\n\t" + "pushfq\n\t" + "popq %%rax\n\t" "andl $1,%%eax\n" :"=a"(rc) : "a"(regs) : "%ebx", "%ecx", "%edx", "%esi", "%edi", "memory"); #else - asm("pushl %%eax\n\t" + asm volatile("pushl %%eax\n\t" "movl 0(%%eax),%%edx\n\t" "push %%edx\n\t" "movl 4(%%eax),%%ebx\n\t" @@ -166,7 +166,8 @@ "movl %%edx,0(%%eax)\n\t" "lahf\n\t" "shrl $8,%%eax\n\t" - "andl $1,%%eax\n":"=a"(rc) + "andl $1,%%eax\n" + :"=a"(rc) : "a"(regs) : "%ebx", "%ecx", "%edx", "%esi", "%edi", "memory"); #endif --- linux-2.6.32.orig/drivers/char/mem.c +++ linux-2.6.32/drivers/char/mem.c @@ -35,6 +35,19 @@ # include #endif +static inline unsigned long size_inside_page(unsigned long start, + unsigned long size) +{ + unsigned long sz; + + if (-start & (PAGE_SIZE - 1)) + sz = -start & (PAGE_SIZE - 1); + else + sz = PAGE_SIZE; + + return min_t(unsigned long, sz, size); +} + /* * Architectures vary in how they handle caching for addresses * outside of main memory. @@ -408,6 +421,7 @@ unsigned long p = *ppos; ssize_t low_count, read, sz; char * kbuf; /* k-addr because vread() takes vmlist_lock rwlock */ + int err = 0; read = 0; if (p < (unsigned long) high_memory) { @@ -430,15 +444,7 @@ } #endif while (low_count > 0) { - /* - * Handle first page in case it's not aligned - */ - if (-p & (PAGE_SIZE - 1)) - sz = -p & (PAGE_SIZE - 1); - else - sz = PAGE_SIZE; - - sz = min_t(unsigned long, sz, low_count); + sz = size_inside_page(p, low_count); /* * On ia64 if a page has been mapped somewhere as @@ -462,16 +468,18 @@ if (!kbuf) return -ENOMEM; while (count > 0) { - int len = count; + int len = size_inside_page(p, count); - if (len > PAGE_SIZE) - len = PAGE_SIZE; + if (!is_vmalloc_or_module_addr((void *)p)) { + err = -ENXIO; + break; + } len = vread(kbuf, (char *)p, len); if (!len) break; if (copy_to_user(buf, kbuf, len)) { - free_page((unsigned long)kbuf); - return -EFAULT; + err = -EFAULT; + break; } count -= len; buf += len; @@ -480,8 +488,8 @@ } free_page((unsigned long)kbuf); } - *ppos = p; - return read; + *ppos = p; + return read ? read : err; } @@ -510,15 +518,8 @@ while (count > 0) { char *ptr; - /* - * Handle first page in case it's not aligned - */ - if (-realp & (PAGE_SIZE - 1)) - sz = -realp & (PAGE_SIZE - 1); - else - sz = PAGE_SIZE; - sz = min_t(unsigned long, sz, count); + sz = size_inside_page(realp, count); /* * On ia64 if a page has been mapped somewhere as @@ -557,6 +558,7 @@ ssize_t virtr = 0; ssize_t written; char * kbuf; /* k-addr because vwrite() takes vmlist_lock rwlock */ + int err = 0; if (p < (unsigned long) high_memory) { @@ -578,20 +580,20 @@ if (!kbuf) return wrote ? wrote : -ENOMEM; while (count > 0) { - int len = count; + int len = size_inside_page(p, count); - if (len > PAGE_SIZE) - len = PAGE_SIZE; + if (!is_vmalloc_or_module_addr((void *)p)) { + err = -ENXIO; + break; + } if (len) { written = copy_from_user(kbuf, buf, len); if (written) { - if (wrote + virtr) - break; - free_page((unsigned long)kbuf); - return -EFAULT; + err = -EFAULT; + break; } } - len = vwrite(kbuf, (char *)p, len); + vwrite(kbuf, (char *)p, len); count -= len; buf += len; virtr += len; @@ -600,8 +602,8 @@ free_page((unsigned long)kbuf); } - *ppos = p; - return virtr + wrote; + *ppos = p; + return virtr + wrote ? : err; } #endif @@ -820,10 +822,11 @@ /* * capabilities for /dev/zero * - permits private mappings, "copies" are taken of the source of zeros + * - no writeback happens */ static struct backing_dev_info zero_bdi = { .name = "char/mem", - .capabilities = BDI_CAP_MAP_COPY, + .capabilities = BDI_CAP_MAP_COPY | BDI_CAP_NO_ACCT_AND_WRITEBACK, }; static const struct file_operations full_fops = { --- linux-2.6.32.orig/drivers/char/random.c +++ linux-2.6.32/drivers/char/random.c @@ -1051,12 +1051,6 @@ /* like a named pipe */ } - /* - * If we gave the user some bytes, update the access time. - */ - if (count) - file_accessed(file); - return (count ? count : retval); } @@ -1107,7 +1101,6 @@ size_t count, loff_t *ppos) { size_t ret; - struct inode *inode = file->f_path.dentry->d_inode; ret = write_pool(&blocking_pool, buffer, count); if (ret) @@ -1116,8 +1109,6 @@ if (ret) return ret; - inode->i_mtime = current_fs_time(inode->i_sb); - mark_inode_dirty(inode); return (ssize_t)count; } @@ -1348,330 +1339,14 @@ }; #endif /* CONFIG_SYSCTL */ -/******************************************************************** - * - * Random funtions for networking - * - ********************************************************************/ - -/* - * TCP initial sequence number picking. This uses the random number - * generator to pick an initial secret value. This value is hashed - * along with the TCP endpoint information to provide a unique - * starting point for each pair of TCP endpoints. This defeats - * attacks which rely on guessing the initial TCP sequence number. - * This algorithm was suggested by Steve Bellovin. - * - * Using a very strong hash was taking an appreciable amount of the total - * TCP connection establishment time, so this is a weaker hash, - * compensated for by changing the secret periodically. - */ - -/* F, G and H are basic MD4 functions: selection, majority, parity */ -#define F(x, y, z) ((z) ^ ((x) & ((y) ^ (z)))) -#define G(x, y, z) (((x) & (y)) + (((x) ^ (y)) & (z))) -#define H(x, y, z) ((x) ^ (y) ^ (z)) - -/* - * The generic round function. The application is so specific that - * we don't bother protecting all the arguments with parens, as is generally - * good macro practice, in favor of extra legibility. - * Rotation is separate from addition to prevent recomputation - */ -#define ROUND(f, a, b, c, d, x, s) \ - (a += f(b, c, d) + x, a = (a << s) | (a >> (32 - s))) -#define K1 0 -#define K2 013240474631UL -#define K3 015666365641UL - -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) - -static __u32 twothirdsMD4Transform(__u32 const buf[4], __u32 const in[12]) -{ - __u32 a = buf[0], b = buf[1], c = buf[2], d = buf[3]; - - /* Round 1 */ - ROUND(F, a, b, c, d, in[ 0] + K1, 3); - ROUND(F, d, a, b, c, in[ 1] + K1, 7); - ROUND(F, c, d, a, b, in[ 2] + K1, 11); - ROUND(F, b, c, d, a, in[ 3] + K1, 19); - ROUND(F, a, b, c, d, in[ 4] + K1, 3); - ROUND(F, d, a, b, c, in[ 5] + K1, 7); - ROUND(F, c, d, a, b, in[ 6] + K1, 11); - ROUND(F, b, c, d, a, in[ 7] + K1, 19); - ROUND(F, a, b, c, d, in[ 8] + K1, 3); - ROUND(F, d, a, b, c, in[ 9] + K1, 7); - ROUND(F, c, d, a, b, in[10] + K1, 11); - ROUND(F, b, c, d, a, in[11] + K1, 19); - - /* Round 2 */ - ROUND(G, a, b, c, d, in[ 1] + K2, 3); - ROUND(G, d, a, b, c, in[ 3] + K2, 5); - ROUND(G, c, d, a, b, in[ 5] + K2, 9); - ROUND(G, b, c, d, a, in[ 7] + K2, 13); - ROUND(G, a, b, c, d, in[ 9] + K2, 3); - ROUND(G, d, a, b, c, in[11] + K2, 5); - ROUND(G, c, d, a, b, in[ 0] + K2, 9); - ROUND(G, b, c, d, a, in[ 2] + K2, 13); - ROUND(G, a, b, c, d, in[ 4] + K2, 3); - ROUND(G, d, a, b, c, in[ 6] + K2, 5); - ROUND(G, c, d, a, b, in[ 8] + K2, 9); - ROUND(G, b, c, d, a, in[10] + K2, 13); - - /* Round 3 */ - ROUND(H, a, b, c, d, in[ 3] + K3, 3); - ROUND(H, d, a, b, c, in[ 7] + K3, 9); - ROUND(H, c, d, a, b, in[11] + K3, 11); - ROUND(H, b, c, d, a, in[ 2] + K3, 15); - ROUND(H, a, b, c, d, in[ 6] + K3, 3); - ROUND(H, d, a, b, c, in[10] + K3, 9); - ROUND(H, c, d, a, b, in[ 1] + K3, 11); - ROUND(H, b, c, d, a, in[ 5] + K3, 15); - ROUND(H, a, b, c, d, in[ 9] + K3, 3); - ROUND(H, d, a, b, c, in[ 0] + K3, 9); - ROUND(H, c, d, a, b, in[ 4] + K3, 11); - ROUND(H, b, c, d, a, in[ 8] + K3, 15); - - return buf[1] + b; /* "most hashed" word */ - /* Alternative: return sum of all words? */ -} -#endif - -#undef ROUND -#undef F -#undef G -#undef H -#undef K1 -#undef K2 -#undef K3 - -/* This should not be decreased so low that ISNs wrap too fast. */ -#define REKEY_INTERVAL (300 * HZ) -/* - * Bit layout of the tcp sequence numbers (before adding current time): - * bit 24-31: increased after every key exchange - * bit 0-23: hash(source,dest) - * - * The implementation is similar to the algorithm described - * in the Appendix of RFC 1185, except that - * - it uses a 1 MHz clock instead of a 250 kHz clock - * - it performs a rekey every 5 minutes, which is equivalent - * to a (source,dest) tulple dependent forward jump of the - * clock by 0..2^(HASH_BITS+1) - * - * Thus the average ISN wraparound time is 68 minutes instead of - * 4.55 hours. - * - * SMP cleanup and lock avoidance with poor man's RCU. - * Manfred Spraul - * - */ -#define COUNT_BITS 8 -#define COUNT_MASK ((1 << COUNT_BITS) - 1) -#define HASH_BITS 24 -#define HASH_MASK ((1 << HASH_BITS) - 1) - -static struct keydata { - __u32 count; /* already shifted to the final position */ - __u32 secret[12]; -} ____cacheline_aligned ip_keydata[2]; - -static unsigned int ip_cnt; - -static void rekey_seq_generator(struct work_struct *work); - -static DECLARE_DELAYED_WORK(rekey_work, rekey_seq_generator); - -/* - * Lock avoidance: - * The ISN generation runs lockless - it's just a hash over random data. - * State changes happen every 5 minutes when the random key is replaced. - * Synchronization is performed by having two copies of the hash function - * state and rekey_seq_generator always updates the inactive copy. - * The copy is then activated by updating ip_cnt. - * The implementation breaks down if someone blocks the thread - * that processes SYN requests for more than 5 minutes. Should never - * happen, and even if that happens only a not perfectly compliant - * ISN is generated, nothing fatal. - */ -static void rekey_seq_generator(struct work_struct *work) -{ - struct keydata *keyptr = &ip_keydata[1 ^ (ip_cnt & 1)]; - - get_random_bytes(keyptr->secret, sizeof(keyptr->secret)); - keyptr->count = (ip_cnt & COUNT_MASK) << HASH_BITS; - smp_wmb(); - ip_cnt++; - schedule_delayed_work(&rekey_work, - round_jiffies_relative(REKEY_INTERVAL)); -} - -static inline struct keydata *get_keyptr(void) -{ - struct keydata *keyptr = &ip_keydata[ip_cnt & 1]; - - smp_rmb(); +static u32 random_int_secret[MD5_MESSAGE_BYTES / 4] ____cacheline_aligned; - return keyptr; -} - -static __init int seqgen_init(void) +static int __init random_int_secret_init(void) { - rekey_seq_generator(NULL); + get_random_bytes(random_int_secret, sizeof(random_int_secret)); return 0; } -late_initcall(seqgen_init); - -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) -__u32 secure_tcpv6_sequence_number(__be32 *saddr, __be32 *daddr, - __be16 sport, __be16 dport) -{ - __u32 seq; - __u32 hash[12]; - struct keydata *keyptr = get_keyptr(); - - /* The procedure is the same as for IPv4, but addresses are longer. - * Thus we must use twothirdsMD4Transform. - */ - - memcpy(hash, saddr, 16); - hash[4] = ((__force u16)sport << 16) + (__force u16)dport; - memcpy(&hash[5], keyptr->secret, sizeof(__u32) * 7); - - seq = twothirdsMD4Transform((const __u32 *)daddr, hash) & HASH_MASK; - seq += keyptr->count; - - seq += ktime_to_ns(ktime_get_real()); - - return seq; -} -EXPORT_SYMBOL(secure_tcpv6_sequence_number); -#endif - -/* The code below is shamelessly stolen from secure_tcp_sequence_number(). - * All blames to Andrey V. Savochkin . - */ -__u32 secure_ip_id(__be32 daddr) -{ - struct keydata *keyptr; - __u32 hash[4]; - - keyptr = get_keyptr(); - - /* - * Pick a unique starting offset for each IP destination. - * The dest ip address is placed in the starting vector, - * which is then hashed with random data. - */ - hash[0] = (__force __u32)daddr; - hash[1] = keyptr->secret[9]; - hash[2] = keyptr->secret[10]; - hash[3] = keyptr->secret[11]; - - return half_md4_transform(hash, keyptr->secret); -} - -#ifdef CONFIG_INET - -__u32 secure_tcp_sequence_number(__be32 saddr, __be32 daddr, - __be16 sport, __be16 dport) -{ - __u32 seq; - __u32 hash[4]; - struct keydata *keyptr = get_keyptr(); - - /* - * Pick a unique starting offset for each TCP connection endpoints - * (saddr, daddr, sport, dport). - * Note that the words are placed into the starting vector, which is - * then mixed with a partial MD4 over random data. - */ - hash[0] = (__force u32)saddr; - hash[1] = (__force u32)daddr; - hash[2] = ((__force u16)sport << 16) + (__force u16)dport; - hash[3] = keyptr->secret[11]; - - seq = half_md4_transform(hash, keyptr->secret) & HASH_MASK; - seq += keyptr->count; - /* - * As close as possible to RFC 793, which - * suggests using a 250 kHz clock. - * Further reading shows this assumes 2 Mb/s networks. - * For 10 Mb/s Ethernet, a 1 MHz clock is appropriate. - * For 10 Gb/s Ethernet, a 1 GHz clock should be ok, but - * we also need to limit the resolution so that the u32 seq - * overlaps less than one time per MSL (2 minutes). - * Choosing a clock of 64 ns period is OK. (period of 274 s) - */ - seq += ktime_to_ns(ktime_get_real()) >> 6; - - return seq; -} - -/* Generate secure starting point for ephemeral IPV4 transport port search */ -u32 secure_ipv4_port_ephemeral(__be32 saddr, __be32 daddr, __be16 dport) -{ - struct keydata *keyptr = get_keyptr(); - u32 hash[4]; - - /* - * Pick a unique starting offset for each ephemeral port search - * (saddr, daddr, dport) and 48bits of random data. - */ - hash[0] = (__force u32)saddr; - hash[1] = (__force u32)daddr; - hash[2] = (__force u32)dport ^ keyptr->secret[10]; - hash[3] = keyptr->secret[11]; - - return half_md4_transform(hash, keyptr->secret); -} -EXPORT_SYMBOL_GPL(secure_ipv4_port_ephemeral); - -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) -u32 secure_ipv6_port_ephemeral(const __be32 *saddr, const __be32 *daddr, - __be16 dport) -{ - struct keydata *keyptr = get_keyptr(); - u32 hash[12]; - - memcpy(hash, saddr, 16); - hash[4] = (__force u32)dport; - memcpy(&hash[5], keyptr->secret, sizeof(__u32) * 7); - - return twothirdsMD4Transform((const __u32 *)daddr, hash); -} -#endif - -#if defined(CONFIG_IP_DCCP) || defined(CONFIG_IP_DCCP_MODULE) -/* Similar to secure_tcp_sequence_number but generate a 48 bit value - * bit's 32-47 increase every key exchange - * 0-31 hash(source, dest) - */ -u64 secure_dccp_sequence_number(__be32 saddr, __be32 daddr, - __be16 sport, __be16 dport) -{ - u64 seq; - __u32 hash[4]; - struct keydata *keyptr = get_keyptr(); - - hash[0] = (__force u32)saddr; - hash[1] = (__force u32)daddr; - hash[2] = ((__force u16)sport << 16) + (__force u16)dport; - hash[3] = keyptr->secret[11]; - - seq = half_md4_transform(hash, keyptr->secret); - seq |= ((u64)keyptr->count) << (32 - HASH_BITS); - - seq += ktime_to_ns(ktime_get_real()); - seq &= (1ull << 48) - 1; - - return seq; -} -EXPORT_SYMBOL(secure_dccp_sequence_number); -#endif - -#endif /* CONFIG_INET */ - +late_initcall(random_int_secret_init); /* * Get a random word for internal kernel use only. Similar to urandom but @@ -1679,17 +1354,15 @@ * value is not cryptographically secure but for several uses the cost of * depleting entropy is too high */ -DEFINE_PER_CPU(__u32 [4], get_random_int_hash); +DEFINE_PER_CPU(__u32 [MD5_DIGEST_WORDS], get_random_int_hash); unsigned int get_random_int(void) { - struct keydata *keyptr; __u32 *hash = get_cpu_var(get_random_int_hash); - int ret; + unsigned int ret; - keyptr = get_keyptr(); hash[0] += current->pid + jiffies + get_cycles(); - - ret = half_md4_transform(hash, keyptr->secret); + md5_transform(hash, random_int_secret); + ret = hash[0]; put_cpu_var(get_random_int_hash); return ret; --- linux-2.6.32.orig/drivers/char/raw.c +++ linux-2.6.32/drivers/char/raw.c @@ -247,6 +247,7 @@ .aio_read = generic_file_aio_read, .write = do_sync_write, .aio_write = blkdev_aio_write, + .fsync = block_fsync, .open = raw_open, .release= raw_release, .ioctl = raw_ioctl, --- linux-2.6.32.orig/drivers/char/amiserial.c +++ linux-2.6.32/drivers/char/amiserial.c @@ -1262,6 +1262,36 @@ return 0; } +/* + * Get counter of input serial line interrupts (DCD,RI,DSR,CTS) + * Return: write counters to the user passed counter struct + * NB: both 1->0 and 0->1 transitions are counted except for + * RI where only 0->1 is counted. + */ +static int rs_get_icount(struct tty_struct *tty, + struct serial_icounter_struct *icount) +{ + struct async_struct *info = tty->driver_data; + struct async_icount cnow; + unsigned long flags; + + local_irq_save(flags); + cnow = info->state->icount; + local_irq_restore(flags); + icount->cts = cnow.cts; + icount->dsr = cnow.dsr; + icount->rng = cnow.rng; + icount->dcd = cnow.dcd; + icount->rx = cnow.rx; + icount->tx = cnow.tx; + icount->frame = cnow.frame; + icount->overrun = cnow.overrun; + icount->parity = cnow.parity; + icount->brk = cnow.brk; + icount->buf_overrun = cnow.buf_overrun; + + return 0; +} static int rs_ioctl(struct tty_struct *tty, struct file * file, unsigned int cmd, unsigned long arg) @@ -1331,31 +1361,6 @@ } /* NOTREACHED */ - /* - * Get counter of input serial line interrupts (DCD,RI,DSR,CTS) - * Return: write counters to the user passed counter struct - * NB: both 1->0 and 0->1 transitions are counted except for - * RI where only 0->1 is counted. - */ - case TIOCGICOUNT: - local_irq_save(flags); - cnow = info->state->icount; - local_irq_restore(flags); - icount.cts = cnow.cts; - icount.dsr = cnow.dsr; - icount.rng = cnow.rng; - icount.dcd = cnow.dcd; - icount.rx = cnow.rx; - icount.tx = cnow.tx; - icount.frame = cnow.frame; - icount.overrun = cnow.overrun; - icount.parity = cnow.parity; - icount.brk = cnow.brk; - icount.buf_overrun = cnow.buf_overrun; - - if (copy_to_user(argp, &icount, sizeof(icount))) - return -EFAULT; - return 0; case TIOCSERGWILD: case TIOCSERSWILD: /* "setserial -W" is called in Debian boot */ @@ -1948,6 +1953,7 @@ .wait_until_sent = rs_wait_until_sent, .tiocmget = rs_tiocmget, .tiocmset = rs_tiocmset, + .get_icount = rs_get_icount, .proc_fops = &rs_proc_fops, }; --- linux-2.6.32.orig/drivers/char/nvram.c +++ linux-2.6.32/drivers/char/nvram.c @@ -265,10 +265,16 @@ unsigned char contents[NVRAM_BYTES]; unsigned i = *ppos; unsigned char *tmp; - int len; - len = (NVRAM_BYTES - i) < count ? (NVRAM_BYTES - i) : count; - if (copy_from_user(contents, buf, len)) + if (i >= NVRAM_BYTES) + return 0; /* Past EOF */ + + if (count > NVRAM_BYTES - i) + count = NVRAM_BYTES - i; + if (count > NVRAM_BYTES) + return -EFAULT; /* Can't happen, but prove it to gcc */ + + if (copy_from_user(contents, buf, count)) return -EFAULT; spin_lock_irq(&rtc_lock); @@ -276,7 +282,7 @@ if (!__nvram_check_checksum()) goto checksum_err; - for (tmp = contents; count-- > 0 && i < NVRAM_BYTES; ++i, ++tmp) + for (tmp = contents; count--; ++i, ++tmp) __nvram_write_byte(*tmp, i); __nvram_set_checksum(); --- linux-2.6.32.orig/drivers/char/cyclades.c +++ linux-2.6.32/drivers/char/cyclades.c @@ -2798,29 +2798,6 @@ * NB: both 1->0 and 0->1 transitions are counted except for * RI where only 0->1 is counted. */ - case TIOCGICOUNT: { - struct serial_icounter_struct sic = { }; - - spin_lock_irqsave(&info->card->card_lock, flags); - cnow = info->icount; - spin_unlock_irqrestore(&info->card->card_lock, flags); - - sic.cts = cnow.cts; - sic.dsr = cnow.dsr; - sic.rng = cnow.rng; - sic.dcd = cnow.dcd; - sic.rx = cnow.rx; - sic.tx = cnow.tx; - sic.frame = cnow.frame; - sic.overrun = cnow.overrun; - sic.parity = cnow.parity; - sic.brk = cnow.brk; - sic.buf_overrun = cnow.buf_overrun; - - if (copy_to_user(argp, &sic, sizeof(sic))) - ret_val = -EFAULT; - break; - } default: ret_val = -ENOIOCTLCMD; } @@ -2832,6 +2809,31 @@ return ret_val; } /* cy_ioctl */ +static int cy_get_icount(struct tty_struct *tty, + struct serial_icounter_struct *sic) +{ + struct cyclades_port *info = tty->driver_data; + struct cyclades_icount cnow; /* Used to snapshot */ + unsigned long flags; + + spin_lock_irqsave(&info->card->card_lock, flags); + cnow = info->icount; + spin_unlock_irqrestore(&info->card->card_lock, flags); + + sic->cts = cnow.cts; + sic->dsr = cnow.dsr; + sic->rng = cnow.rng; + sic->dcd = cnow.dcd; + sic->rx = cnow.rx; + sic->tx = cnow.tx; + sic->frame = cnow.frame; + sic->overrun = cnow.overrun; + sic->parity = cnow.parity; + sic->brk = cnow.brk; + sic->buf_overrun = cnow.buf_overrun; + return 0; +} + /* * This routine allows the tty driver to be notified when * device's termios settings have changed. Note that a @@ -4098,6 +4100,7 @@ .wait_until_sent = cy_wait_until_sent, .tiocmget = cy_tiocmget, .tiocmset = cy_tiocmset, + .get_icount = cy_get_icount, .proc_fops = &cyclades_proc_fops, }; --- linux-2.6.32.orig/drivers/char/hvc_console.c +++ linux-2.6.32/drivers/char/hvc_console.c @@ -162,8 +162,10 @@ } else { r = cons_ops[index]->put_chars(vtermnos[index], c, i); if (r <= 0) { - /* throw away chars on error */ - i = 0; + /* throw away characters on error + * but spin in case of -EAGAIN */ + if (r != -EAGAIN) + i = 0; } else if (r > 0) { i -= r; if (i > 0) @@ -312,6 +314,7 @@ spin_lock_irqsave(&hp->lock, flags); /* Check and then increment for fast path open. */ if (hp->count++ > 0) { + tty_kref_get(tty); spin_unlock_irqrestore(&hp->lock, flags); hvc_kick(); return 0; @@ -319,7 +322,7 @@ tty->driver_data = hp; - hp->tty = tty; + hp->tty = tty_kref_get(tty); spin_unlock_irqrestore(&hp->lock, flags); @@ -336,6 +339,7 @@ spin_lock_irqsave(&hp->lock, flags); hp->tty = NULL; spin_unlock_irqrestore(&hp->lock, flags); + tty_kref_put(tty); tty->driver_data = NULL; kref_put(&hp->kref, destroy_hvc_struct); printk(KERN_ERR "hvc_open: request_irq failed with rc %d.\n", rc); @@ -363,6 +367,7 @@ return; hp = tty->driver_data; + spin_lock_irqsave(&hp->lock, flags); if (--hp->count == 0) { @@ -389,6 +394,7 @@ spin_unlock_irqrestore(&hp->lock, flags); } + tty_kref_put(tty); kref_put(&hp->kref, destroy_hvc_struct); } @@ -424,10 +430,11 @@ spin_unlock_irqrestore(&hp->lock, flags); if (hp->ops->notifier_hangup) - hp->ops->notifier_hangup(hp, hp->data); + hp->ops->notifier_hangup(hp, hp->data); while(temp_open_count) { --temp_open_count; + tty_kref_put(tty); kref_put(&hp->kref, destroy_hvc_struct); } } @@ -442,7 +449,7 @@ n = hp->ops->put_chars(hp->vtermno, hp->outbuf, hp->n_outbuf); if (n <= 0) { - if (n == 0) { + if (n == 0 || n == -EAGAIN) { hp->do_wakeup = 1; return 0; } @@ -592,7 +599,7 @@ } /* No tty attached, just skip */ - tty = hp->tty; + tty = tty_kref_get(hp->tty); if (tty == NULL) goto bail; @@ -672,6 +679,8 @@ tty_flip_buffer_push(tty); } + if (tty) + tty_kref_put(tty); return poll_mask; } @@ -806,7 +815,7 @@ struct tty_struct *tty; spin_lock_irqsave(&hp->lock, flags); - tty = hp->tty; + tty = tty_kref_get(hp->tty); if (hp->index < MAX_NR_HVC_CONSOLES) vtermnos[hp->index] = -1; @@ -818,18 +827,18 @@ /* * We 'put' the instance that was grabbed when the kref instance * was initialized using kref_init(). Let the last holder of this - * kref cause it to be removed, which will probably be the tty_hangup + * kref cause it to be removed, which will probably be the tty_vhangup * below. */ kref_put(&hp->kref, destroy_hvc_struct); /* - * This function call will auto chain call hvc_hangup. The tty should - * always be valid at this time unless a simultaneous tty close already - * cleaned up the hvc_struct. + * This function call will auto chain call hvc_hangup. */ - if (tty) - tty_hangup(tty); + if (tty) { + tty_vhangup(tty); + tty_kref_put(tty); + } return 0; } --- linux-2.6.32.orig/drivers/char/hvc_iucv.c +++ linux-2.6.32/drivers/char/hvc_iucv.c @@ -139,6 +139,8 @@ * * This function allocates a new struct iucv_tty_buffer element and, optionally, * allocates an internal data buffer with the specified size @size. + * The internal data buffer is always allocated with GFP_DMA which is + * required for receiving and sending data with IUCV. * Note: The total message size arises from the internal buffer size and the * members of the iucv_tty_msg structure. * The function returns NULL if memory allocation has failed. @@ -154,7 +156,7 @@ if (size > 0) { bufp->msg.length = MSG_SIZE(size); - bufp->mbuf = kmalloc(bufp->msg.length, flags); + bufp->mbuf = kmalloc(bufp->msg.length, flags | GFP_DMA); if (!bufp->mbuf) { mempool_free(bufp, hvc_iucv_mempool); return NULL; @@ -237,7 +239,7 @@ if (!rb->mbuf) { /* message not yet received ... */ /* allocate mem to store msg data; if no memory is available * then leave the buffer on the list and re-try later */ - rb->mbuf = kmalloc(rb->msg.length, GFP_ATOMIC); + rb->mbuf = kmalloc(rb->msg.length, GFP_ATOMIC | GFP_DMA); if (!rb->mbuf) return -ENOMEM; --- linux-2.6.32.orig/drivers/char/keyboard.c +++ linux-2.6.32/drivers/char/keyboard.c @@ -1068,6 +1068,8 @@ int code; switch (keycode) { + case KEY_RESERVED: + break; case KEY_PAUSE: put_queue(vc, 0xe1); put_queue(vc, 0x1d | up_flag); @@ -1125,6 +1127,8 @@ static int emulate_raw(struct vc_data *vc, unsigned int keycode, unsigned char up_flag) { + if (keycode == KEY_RESERVED) + return 0; if (keycode > 127) return -1; --- linux-2.6.32.orig/drivers/char/mxser.c +++ linux-2.6.32/drivers/char/mxser.c @@ -1736,7 +1736,7 @@ return 0; } - if (cmd != TIOCGSERIAL && cmd != TIOCMIWAIT && cmd != TIOCGICOUNT && + if (cmd != TIOCGSERIAL && cmd != TIOCMIWAIT && test_bit(TTY_IO_ERROR, &tty->flags)) return -EIO; @@ -1766,32 +1766,6 @@ return wait_event_interruptible(info->port.delta_msr_wait, mxser_cflags_changed(info, arg, &cnow)); - /* - * Get counter of input serial line interrupts (DCD,RI,DSR,CTS) - * Return: write counters to the user passed counter struct - * NB: both 1->0 and 0->1 transitions are counted except for - * RI where only 0->1 is counted. - */ - case TIOCGICOUNT: { - struct serial_icounter_struct icnt = { 0 }; - spin_lock_irqsave(&info->slock, flags); - cnow = info->icount; - spin_unlock_irqrestore(&info->slock, flags); - - icnt.frame = cnow.frame; - icnt.brk = cnow.brk; - icnt.overrun = cnow.overrun; - icnt.buf_overrun = cnow.buf_overrun; - icnt.parity = cnow.parity; - icnt.rx = cnow.rx; - icnt.tx = cnow.tx; - icnt.cts = cnow.cts; - icnt.dsr = cnow.dsr; - icnt.rng = cnow.rng; - icnt.dcd = cnow.dcd; - - return copy_to_user(argp, &icnt, sizeof(icnt)) ? -EFAULT : 0; - } case MOXA_HighSpeedOn: return put_user(info->baud_base != 115200 ? 1 : 0, (int __user *)argp); case MOXA_SDS_RSTICOUNTER: @@ -1862,6 +1836,39 @@ return 0; } + /* + * Get counter of input serial line interrupts (DCD,RI,DSR,CTS) + * Return: write counters to the user passed counter struct + * NB: both 1->0 and 0->1 transitions are counted except for + * RI where only 0->1 is counted. + */ + +static int mxser_get_icount(struct tty_struct *tty, + struct serial_icounter_struct *icount) + +{ + struct mxser_port *info = tty->driver_data; + struct async_icount cnow; + unsigned long flags; + + spin_lock_irqsave(&info->slock, flags); + cnow = info->icount; + spin_unlock_irqrestore(&info->slock, flags); + + icount->frame = cnow.frame; + icount->brk = cnow.brk; + icount->overrun = cnow.overrun; + icount->buf_overrun = cnow.buf_overrun; + icount->parity = cnow.parity; + icount->rx = cnow.rx; + icount->tx = cnow.tx; + icount->cts = cnow.cts; + icount->dsr = cnow.dsr; + icount->rng = cnow.rng; + icount->dcd = cnow.dcd; + return 0; +} + static void mxser_stoprx(struct tty_struct *tty) { struct mxser_port *info = tty->driver_data; @@ -2358,6 +2365,7 @@ .wait_until_sent = mxser_wait_until_sent, .tiocmget = mxser_tiocmget, .tiocmset = mxser_tiocmset, + .get_icount = mxser_get_icount, }; struct tty_port_operations mxser_port_ops = { --- linux-2.6.32.orig/drivers/char/nozomi.c +++ linux-2.6.32/drivers/char/nozomi.c @@ -1629,10 +1629,10 @@ dc->open_ttys--; port->count--; - tty_port_tty_set(port, NULL); if (port->count == 0) { DBG1("close: %d", nport->token_dl); + tty_port_tty_set(port, NULL); spin_lock_irqsave(&dc->spin_mutex, flags); dc->last_ier &= ~(nport->token_dl); writew(dc->last_ier, dc->reg_ier); @@ -1783,24 +1783,24 @@ return ret; } -static int ntty_ioctl_tiocgicount(struct port *port, void __user *argp) +static int ntty_tiocgicount(struct tty_struct *tty, + struct serial_icounter_struct *icount) { + struct port *port = tty->driver_data; const struct async_icount cnow = port->tty_icount; - struct serial_icounter_struct icount; - - icount.cts = cnow.cts; - icount.dsr = cnow.dsr; - icount.rng = cnow.rng; - icount.dcd = cnow.dcd; - icount.rx = cnow.rx; - icount.tx = cnow.tx; - icount.frame = cnow.frame; - icount.overrun = cnow.overrun; - icount.parity = cnow.parity; - icount.brk = cnow.brk; - icount.buf_overrun = cnow.buf_overrun; - return copy_to_user(argp, &icount, sizeof(icount)) ? -EFAULT : 0; + icount->cts = cnow.cts; + icount->dsr = cnow.dsr; + icount->rng = cnow.rng; + icount->dcd = cnow.dcd; + icount->rx = cnow.rx; + icount->tx = cnow.tx; + icount->frame = cnow.frame; + icount->overrun = cnow.overrun; + icount->parity = cnow.parity; + icount->brk = cnow.brk; + icount->buf_overrun = cnow.buf_overrun; + return 0; } static int ntty_ioctl(struct tty_struct *tty, struct file *file, @@ -1819,9 +1819,7 @@ rval = wait_event_interruptible(port->tty_wait, ntty_cflags_changed(port, arg, &cprev)); break; - } case TIOCGICOUNT: - rval = ntty_ioctl_tiocgicount(port, argp); - break; + } default: DBG1("ERR: 0x%08X, %d", cmd, cmd); break; @@ -1895,6 +1893,7 @@ .chars_in_buffer = ntty_chars_in_buffer, .tiocmget = ntty_tiocmget, .tiocmset = ntty_tiocmset, + .get_icount = ntty_tiocgicount, }; /* Module initialization */ --- linux-2.6.32.orig/drivers/char/synclink.c +++ linux-2.6.32/drivers/char/synclink.c @@ -2920,6 +2920,38 @@ } /* end of mgsl_break() */ +/* + * Get counter of input serial line interrupts (DCD,RI,DSR,CTS) + * Return: write counters to the user passed counter struct + * NB: both 1->0 and 0->1 transitions are counted except for + * RI where only 0->1 is counted. + */ +static int msgl_get_icount(struct tty_struct *tty, + struct serial_icounter_struct *icount) + +{ + struct mgsl_struct * info = tty->driver_data; + struct mgsl_icount cnow; /* kernel counter temps */ + unsigned long flags; + + spin_lock_irqsave(&info->irq_spinlock,flags); + cnow = info->icount; + spin_unlock_irqrestore(&info->irq_spinlock,flags); + + icount->cts = cnow.cts; + icount->dsr = cnow.dsr; + icount->rng = cnow.rng; + icount->dcd = cnow.dcd; + icount->rx = cnow.rx; + icount->tx = cnow.tx; + icount->frame = cnow.frame; + icount->overrun = cnow.overrun; + icount->parity = cnow.parity; + icount->brk = cnow.brk; + icount->buf_overrun = cnow.buf_overrun; + return 0; +} + /* mgsl_ioctl() Service an IOCTL request * * Arguments: @@ -2945,7 +2977,7 @@ return -ENODEV; if ((cmd != TIOCGSERIAL) && (cmd != TIOCSSERIAL) && - (cmd != TIOCMIWAIT) && (cmd != TIOCGICOUNT)) { + (cmd != TIOCMIWAIT)) { if (tty->flags & (1 << TTY_IO_ERROR)) return -EIO; } @@ -2958,11 +2990,7 @@ static int mgsl_ioctl_common(struct mgsl_struct *info, unsigned int cmd, unsigned long arg) { - int error; - struct mgsl_icount cnow; /* kernel counter temps */ void __user *argp = (void __user *)arg; - struct serial_icounter_struct __user *p_cuser; /* user space */ - unsigned long flags; switch (cmd) { case MGSL_IOCGPARAMS: @@ -2991,40 +3019,6 @@ case TIOCMIWAIT: return modem_input_wait(info,(int)arg); - /* - * Get counter of input serial line interrupts (DCD,RI,DSR,CTS) - * Return: write counters to the user passed counter struct - * NB: both 1->0 and 0->1 transitions are counted except for - * RI where only 0->1 is counted. - */ - case TIOCGICOUNT: - spin_lock_irqsave(&info->irq_spinlock,flags); - cnow = info->icount; - spin_unlock_irqrestore(&info->irq_spinlock,flags); - p_cuser = argp; - PUT_USER(error,cnow.cts, &p_cuser->cts); - if (error) return error; - PUT_USER(error,cnow.dsr, &p_cuser->dsr); - if (error) return error; - PUT_USER(error,cnow.rng, &p_cuser->rng); - if (error) return error; - PUT_USER(error,cnow.dcd, &p_cuser->dcd); - if (error) return error; - PUT_USER(error,cnow.rx, &p_cuser->rx); - if (error) return error; - PUT_USER(error,cnow.tx, &p_cuser->tx); - if (error) return error; - PUT_USER(error,cnow.frame, &p_cuser->frame); - if (error) return error; - PUT_USER(error,cnow.overrun, &p_cuser->overrun); - if (error) return error; - PUT_USER(error,cnow.parity, &p_cuser->parity); - if (error) return error; - PUT_USER(error,cnow.brk, &p_cuser->brk); - if (error) return error; - PUT_USER(error,cnow.buf_overrun, &p_cuser->buf_overrun); - if (error) return error; - return 0; default: return -ENOIOCTLCMD; } @@ -4325,6 +4319,7 @@ .hangup = mgsl_hangup, .tiocmget = tiocmget, .tiocmset = tiocmset, + .get_icount = msgl_get_icount, .proc_fops = &mgsl_proc_fops, }; --- linux-2.6.32.orig/drivers/char/synclink_gt.c +++ linux-2.6.32/drivers/char/synclink_gt.c @@ -1057,9 +1057,6 @@ unsigned int cmd, unsigned long arg) { struct slgt_info *info = tty->driver_data; - struct mgsl_icount cnow; /* kernel counter temps */ - struct serial_icounter_struct __user *p_cuser; /* user space */ - unsigned long flags; void __user *argp = (void __user *)arg; int ret; @@ -1068,7 +1065,7 @@ DBGINFO(("%s ioctl() cmd=%08X\n", info->device_name, cmd)); if ((cmd != TIOCGSERIAL) && (cmd != TIOCSSERIAL) && - (cmd != TIOCMIWAIT) && (cmd != TIOCGICOUNT)) { + (cmd != TIOCMIWAIT)) { if (tty->flags & (1 << TTY_IO_ERROR)) return -EIO; } @@ -1121,25 +1118,6 @@ case MGSL_IOCWAITGPIO: ret = wait_gpio(info, argp); break; - case TIOCGICOUNT: - spin_lock_irqsave(&info->lock,flags); - cnow = info->icount; - spin_unlock_irqrestore(&info->lock,flags); - p_cuser = argp; - if (put_user(cnow.cts, &p_cuser->cts) || - put_user(cnow.dsr, &p_cuser->dsr) || - put_user(cnow.rng, &p_cuser->rng) || - put_user(cnow.dcd, &p_cuser->dcd) || - put_user(cnow.rx, &p_cuser->rx) || - put_user(cnow.tx, &p_cuser->tx) || - put_user(cnow.frame, &p_cuser->frame) || - put_user(cnow.overrun, &p_cuser->overrun) || - put_user(cnow.parity, &p_cuser->parity) || - put_user(cnow.brk, &p_cuser->brk) || - put_user(cnow.buf_overrun, &p_cuser->buf_overrun)) - ret = -EFAULT; - ret = 0; - break; default: ret = -ENOIOCTLCMD; } @@ -1147,6 +1125,33 @@ return ret; } +static int get_icount(struct tty_struct *tty, + struct serial_icounter_struct *icount) + +{ + struct slgt_info *info = tty->driver_data; + struct mgsl_icount cnow; /* kernel counter temps */ + unsigned long flags; + + spin_lock_irqsave(&info->lock,flags); + cnow = info->icount; + spin_unlock_irqrestore(&info->lock,flags); + + icount->cts = cnow.cts; + icount->dsr = cnow.dsr; + icount->rng = cnow.rng; + icount->dcd = cnow.dcd; + icount->rx = cnow.rx; + icount->tx = cnow.tx; + icount->frame = cnow.frame; + icount->overrun = cnow.overrun; + icount->parity = cnow.parity; + icount->brk = cnow.brk; + icount->buf_overrun = cnow.buf_overrun; + + return 0; +} + /* * support for 32 bit ioctl calls on 64 bit systems */ @@ -1236,10 +1241,6 @@ case MGSL_IOCSGPIO: case MGSL_IOCGGPIO: case MGSL_IOCWAITGPIO: - case TIOCGICOUNT: - rc = ioctl(tty, file, cmd, (unsigned long)(compat_ptr(arg))); - break; - case MGSL_IOCSTXIDLE: case MGSL_IOCTXENABLE: case MGSL_IOCRXENABLE: @@ -3639,6 +3640,7 @@ .hangup = hangup, .tiocmget = tiocmget, .tiocmset = tiocmset, + .get_icount = get_icount, .proc_fops = &synclink_gt_proc_fops, }; --- linux-2.6.32.orig/drivers/char/synclinkmp.c +++ linux-2.6.32/drivers/char/synclinkmp.c @@ -1255,10 +1255,6 @@ unsigned int cmd, unsigned long arg) { SLMP_INFO *info = tty->driver_data; - int error; - struct mgsl_icount cnow; /* kernel counter temps */ - struct serial_icounter_struct __user *p_cuser; /* user space */ - unsigned long flags; void __user *argp = (void __user *)arg; if (debug_level >= DEBUG_LEVEL_INFO) @@ -1269,7 +1265,7 @@ return -ENODEV; if ((cmd != TIOCGSERIAL) && (cmd != TIOCSSERIAL) && - (cmd != TIOCMIWAIT) && (cmd != TIOCGICOUNT)) { + (cmd != TIOCMIWAIT)) { if (tty->flags & (1 << TTY_IO_ERROR)) return -EIO; } @@ -1307,34 +1303,6 @@ * NB: both 1->0 and 0->1 transitions are counted except for * RI where only 0->1 is counted. */ - case TIOCGICOUNT: - spin_lock_irqsave(&info->lock,flags); - cnow = info->icount; - spin_unlock_irqrestore(&info->lock,flags); - p_cuser = argp; - PUT_USER(error,cnow.cts, &p_cuser->cts); - if (error) return error; - PUT_USER(error,cnow.dsr, &p_cuser->dsr); - if (error) return error; - PUT_USER(error,cnow.rng, &p_cuser->rng); - if (error) return error; - PUT_USER(error,cnow.dcd, &p_cuser->dcd); - if (error) return error; - PUT_USER(error,cnow.rx, &p_cuser->rx); - if (error) return error; - PUT_USER(error,cnow.tx, &p_cuser->tx); - if (error) return error; - PUT_USER(error,cnow.frame, &p_cuser->frame); - if (error) return error; - PUT_USER(error,cnow.overrun, &p_cuser->overrun); - if (error) return error; - PUT_USER(error,cnow.parity, &p_cuser->parity); - if (error) return error; - PUT_USER(error,cnow.brk, &p_cuser->brk); - if (error) return error; - PUT_USER(error,cnow.buf_overrun, &p_cuser->buf_overrun); - if (error) return error; - return 0; default: return -ENOIOCTLCMD; } @@ -1351,6 +1319,32 @@ return ret; } +static int get_icount(struct tty_struct *tty, + struct serial_icounter_struct *icount) +{ + SLMP_INFO *info = tty->driver_data; + struct mgsl_icount cnow; /* kernel counter temps */ + unsigned long flags; + + spin_lock_irqsave(&info->lock,flags); + cnow = info->icount; + spin_unlock_irqrestore(&info->lock,flags); + + icount->cts = cnow.cts; + icount->dsr = cnow.dsr; + icount->rng = cnow.rng; + icount->dcd = cnow.dcd; + icount->rx = cnow.rx; + icount->tx = cnow.tx; + icount->frame = cnow.frame; + icount->overrun = cnow.overrun; + icount->parity = cnow.parity; + icount->brk = cnow.brk; + icount->buf_overrun = cnow.buf_overrun; + + return 0; +} + /* * /proc fs routines.... */ @@ -3908,6 +3902,7 @@ .hangup = hangup, .tiocmget = tiocmget, .tiocmset = tiocmset, + .get_icount = get_icount, .proc_fops = &synclinkmp_proc_fops, }; --- linux-2.6.32.orig/drivers/char/tty_buffer.c +++ linux-2.6.32/drivers/char/tty_buffer.c @@ -247,7 +247,8 @@ { int copied = 0; do { - int space = tty_buffer_request_room(tty, size - copied); + int goal = min(size - copied, TTY_BUFFER_PAGE); + int space = tty_buffer_request_room(tty, goal); struct tty_buffer *tb = tty->buf.tail; /* If there is no space then tb may be NULL */ if (unlikely(space == 0)) @@ -283,7 +284,8 @@ { int copied = 0; do { - int space = tty_buffer_request_room(tty, size - copied); + int goal = min(size - copied, TTY_BUFFER_PAGE); + int space = tty_buffer_request_room(tty, goal); struct tty_buffer *tb = tty->buf.tail; /* If there is no space then tb may be NULL */ if (unlikely(space == 0)) @@ -410,7 +412,8 @@ spin_lock_irqsave(&tty->buf.lock, flags); if (!test_and_set_bit(TTY_FLUSHING, &tty->flags)) { - struct tty_buffer *head; + struct tty_buffer *head, *tail = tty->buf.tail; + int seen_tail = 0; while ((head = tty->buf.head) != NULL) { int count; char *char_buf; @@ -420,6 +423,15 @@ if (!count) { if (head->next == NULL) break; + /* + There's a possibility tty might get new buffer + added during the unlock window below. We could + end up spinning in here forever hogging the CPU + completely. To avoid this let's have a rest each + time we processed the tail buffer. + */ + if (tail == head) + seen_tail = 1; tty->buf.head = head->next; tty_buffer_free(tty, head); continue; @@ -429,7 +441,7 @@ line discipline as we want to empty the queue */ if (test_bit(TTY_FLUSHPENDING, &tty->flags)) break; - if (!tty->receive_room) { + if (!tty->receive_room || seen_tail) { schedule_delayed_work(&tty->buf.work, 1); break; } --- linux-2.6.32.orig/drivers/char/tty_io.c +++ linux-2.6.32/drivers/char/tty_io.c @@ -96,6 +96,7 @@ #include #include #include +#include #include #include @@ -1408,6 +1409,8 @@ list_del_init(&tty->tty_files); file_list_unlock(); + put_pid(tty->pgrp); + put_pid(tty->session); free_tty_struct(tty); } @@ -1930,8 +1933,10 @@ pid = task_pid(current); type = PIDTYPE_PID; } + get_pid(pid); spin_unlock_irqrestore(&tty->ctrl_lock, flags); retval = __f_setown(filp, pid, type, 0); + put_pid(pid); if (retval) goto out; } else { @@ -2432,6 +2437,20 @@ return tty->ops->tiocmset(tty, file, set, clear); } +static int tty_tiocgicount(struct tty_struct *tty, void __user *arg) +{ + int retval = -EINVAL; + struct serial_icounter_struct icount; + memset(&icount, 0, sizeof(icount)); + if (tty->ops->get_icount) + retval = tty->ops->get_icount(tty, &icount); + if (retval != 0) + return retval; + if (copy_to_user(arg, &icount, sizeof(icount))) + return -EFAULT; + return 0; +} + struct tty_struct *tty_pair_get_tty(struct tty_struct *tty) { if (tty->driver->type == TTY_DRIVER_TYPE_PTY && @@ -2552,6 +2571,12 @@ case TIOCMBIC: case TIOCMBIS: return tty_tiocmset(tty, file, cmd, p); + case TIOCGICOUNT: + retval = tty_tiocgicount(tty, p); + /* For the moment allow fall through to the old method */ + if (retval != -EINVAL) + return retval; + break; case TCFLSH: switch (arg) { case TCIFLUSH: --- linux-2.6.32.orig/drivers/char/tty_ldisc.c +++ linux-2.6.32/drivers/char/tty_ldisc.c @@ -45,6 +45,7 @@ static DEFINE_SPINLOCK(tty_ldisc_lock); static DECLARE_WAIT_QUEUE_HEAD(tty_ldisc_wait); +static DECLARE_WAIT_QUEUE_HEAD(tty_ldisc_idle); /* Line disc dispatch table */ static struct tty_ldisc_ops *tty_ldiscs[NR_LDISCS]; @@ -81,6 +82,7 @@ return; } local_irq_restore(flags); + wake_up(&tty_ldisc_idle); } /** @@ -442,9 +444,15 @@ static int tty_ldisc_open(struct tty_struct *tty, struct tty_ldisc *ld) { + int ret; + WARN_ON(test_and_set_bit(TTY_LDISC_OPEN, &tty->flags)); - if (ld->ops->open) - return ld->ops->open(tty); + if (ld->ops->open) { + ret = ld->ops->open(tty); + if (ret) + clear_bit(TTY_LDISC_OPEN, &tty->flags); + return ret; + } return 0; } @@ -522,6 +530,23 @@ } /** + * tty_ldisc_wait_idle - wait for the ldisc to become idle + * @tty: tty to wait for + * + * Wait for the line discipline to become idle. The discipline must + * have been halted for this to guarantee it remains idle. + */ +static int tty_ldisc_wait_idle(struct tty_struct *tty) +{ + int ret; + ret = wait_event_timeout(tty_ldisc_idle, + atomic_read(&tty->ldisc->users) == 1, 5 * HZ); + if (ret < 0) + return ret; + return ret > 0 ? 0 : -EBUSY; +} + +/** * tty_set_ldisc - set line discipline * @tty: the terminal to set * @ldisc: the line discipline @@ -616,7 +641,16 @@ flush_scheduled_work(); + retval = tty_ldisc_wait_idle(tty); + mutex_lock(&tty->ldisc_mutex); + + /* handle wait idle failure locked */ + if (retval) { + tty_ldisc_put(new_ldisc); + goto enable; + } + if (test_bit(TTY_HUPPED, &tty->flags)) { /* We were raced by the hangup method. It will have stomped the ldisc data and closed the ldisc down */ @@ -649,6 +683,7 @@ tty_ldisc_put(o_ldisc); +enable: /* * Allow ldisc referencing to occur again */ @@ -687,14 +722,20 @@ /** * tty_ldisc_reinit - reinitialise the tty ldisc * @tty: tty to reinit + * @ldisc: line discipline to reinitialize * - * Switch the tty back to N_TTY line discipline and leave the - * ldisc state closed + * Switch the tty to a line discipline and leave the ldisc + * state closed */ -static void tty_ldisc_reinit(struct tty_struct *tty) +static int tty_ldisc_reinit(struct tty_struct *tty, int ldisc) { - struct tty_ldisc *ld; + struct tty_ldisc *ld = tty_ldisc_get(ldisc); + + if (IS_ERR(ld)) + return -1; + + WARN_ON_ONCE(tty_ldisc_wait_idle(tty)); tty_ldisc_close(tty, tty->ldisc); tty_ldisc_put(tty->ldisc); @@ -702,10 +743,10 @@ /* * Switch the line discipline back */ - ld = tty_ldisc_get(N_TTY); - BUG_ON(IS_ERR(ld)); tty_ldisc_assign(tty, ld); - tty_set_termios_ldisc(tty, N_TTY); + tty_set_termios_ldisc(tty, ldisc); + + return 0; } /** @@ -726,6 +767,8 @@ void tty_ldisc_hangup(struct tty_struct *tty) { struct tty_ldisc *ld; + int reset = tty->driver->flags & TTY_DRIVER_RESET_TERMIOS; + int err = 0; /* * FIXME! What are the locking issues here? This may me overdoing @@ -753,25 +796,35 @@ wake_up_interruptible_poll(&tty->read_wait, POLLIN); /* * Shutdown the current line discipline, and reset it to - * N_TTY. + * N_TTY if need be. + * + * Avoid racing set_ldisc or tty_ldisc_release */ - if (tty->driver->flags & TTY_DRIVER_RESET_TERMIOS) { - /* Avoid racing set_ldisc or tty_ldisc_release */ - mutex_lock(&tty->ldisc_mutex); - tty_ldisc_halt(tty); - if (tty->ldisc) { /* Not yet closed */ - /* Switch back to N_TTY */ - tty_ldisc_reinit(tty); - /* At this point we have a closed ldisc and we want to - reopen it. We could defer this to the next open but - it means auditing a lot of other paths so this is - a FIXME */ + mutex_lock(&tty->ldisc_mutex); + tty_ldisc_halt(tty); + /* At this point we have a closed ldisc and we want to + reopen it. We could defer this to the next open but + it means auditing a lot of other paths so this is + a FIXME */ + if (tty->ldisc) { /* Not yet closed */ + if (reset == 0) { + + if (!tty_ldisc_reinit(tty, tty->termios->c_line)) + err = tty_ldisc_open(tty, tty->ldisc); + else + err = 1; + } + /* If the re-open fails or we reset then go to N_TTY. The + N_TTY open cannot fail */ + if (reset || err) { + BUG_ON(tty_ldisc_reinit(tty, N_TTY)); WARN_ON(tty_ldisc_open(tty, tty->ldisc)); - tty_ldisc_enable(tty); } - mutex_unlock(&tty->ldisc_mutex); - tty_reset_termios(tty); + tty_ldisc_enable(tty); } + mutex_unlock(&tty->ldisc_mutex); + if (reset) + tty_reset_termios(tty); } /** --- linux-2.6.32.orig/drivers/char/vt_ioctl.c +++ linux-2.6.32/drivers/char/vt_ioctl.c @@ -38,6 +38,8 @@ #include #include +#define max_font_size 65536 + char vt_dont_switch; extern struct tty_driver *console_driver; @@ -503,6 +505,7 @@ struct kbd_struct * kbd; unsigned int console; unsigned char ucval; + unsigned int uival; void __user *up = (void __user *)arg; int i, perm; int ret = 0; @@ -657,7 +660,7 @@ break; case KDGETMODE: - ucval = vc->vc_mode; + uival = vc->vc_mode; goto setint; case KDMAPDISP: @@ -695,7 +698,7 @@ break; case KDGKBMODE: - ucval = ((kbd->kbdmode == VC_RAW) ? K_RAW : + uival = ((kbd->kbdmode == VC_RAW) ? K_RAW : (kbd->kbdmode == VC_MEDIUMRAW) ? K_MEDIUMRAW : (kbd->kbdmode == VC_UNICODE) ? K_UNICODE : K_XLATE); @@ -717,9 +720,9 @@ break; case KDGKBMETA: - ucval = (vc_kbd_mode(kbd, VC_META) ? K_ESCPREFIX : K_METABIT); + uival = (vc_kbd_mode(kbd, VC_META) ? K_ESCPREFIX : K_METABIT); setint: - ret = put_user(ucval, (int __user *)arg); + ret = put_user(uival, (int __user *)arg); break; case KDGETKEYCODE: @@ -949,7 +952,7 @@ for (i = 0; i < MAX_NR_CONSOLES; ++i) if (! VT_IS_IN_USE(i)) break; - ucval = i < MAX_NR_CONSOLES ? (i+1) : -1; + uival = i < MAX_NR_CONSOLES ? (i+1) : -1; goto setint; /* @@ -1589,6 +1592,7 @@ { unsigned char old_vc_mode; int old = fg_console; + struct vc_data *oldvc = vc_cons[fg_console].d; last_console = fg_console; @@ -1597,9 +1601,31 @@ * KD_TEXT mode or vice versa, which means we need to blank or * unblank the screen later. */ - old_vc_mode = vc_cons[fg_console].d->vc_mode; + old_vc_mode = oldvc->vc_mode; + +#if defined(CONFIG_VGA_CONSOLE) + if (old_vc_mode == KD_TEXT && oldvc->vc_sw == &vga_con && + oldvc->vc_sw->con_font_get) { + if (!oldvc->vc_font.data) + oldvc->vc_font.data = kmalloc(max_font_size, + GFP_KERNEL); + lock_kernel(); + oldvc->vc_sw->con_font_get(oldvc, &oldvc->vc_font); + unlock_kernel(); + } +#endif switch_screen(vc); +#if defined(CONFIG_VGA_CONSOLE) + if (vc->vc_mode == KD_TEXT && vc->vc_sw == &vga_con && + vc->vc_sw->con_font_set) { + if (vc->vc_font.data) { + lock_kernel(); + vc->vc_sw->con_font_set(vc, &vc->vc_font, 0); + unlock_kernel(); + } + } +#endif /* * This can't appear below a successful kill_pid(). If it did, * then the *blank_screen operation could occur while X, having --- linux-2.6.32.orig/drivers/char/agp/Kconfig +++ linux-2.6.32/drivers/char/agp/Kconfig @@ -57,7 +57,7 @@ config AGP_AMD64 tristate "AMD Opteron/Athlon64 on-CPU GART support" if !GART_IOMMU - depends on AGP && X86 + depends on AGP && X86 && K8_NB default y if GART_IOMMU help This option gives you AGP support for the GLX component of --- linux-2.6.32.orig/drivers/char/agp/amd64-agp.c +++ linux-2.6.32/drivers/char/agp/amd64-agp.c @@ -499,6 +499,10 @@ u8 cap_ptr; int err; + /* The Highlander principle */ + if (agp_bridges_found) + return -ENODEV; + cap_ptr = pci_find_capability(pdev, PCI_CAP_ID_AGP); if (!cap_ptr) return -ENODEV; @@ -562,6 +566,8 @@ amd64_aperture_sizes[bridge->aperture_size_idx].size); agp_remove_bridge(bridge); agp_put_bridge(bridge); + + agp_bridges_found--; } #ifdef CONFIG_PM @@ -709,6 +715,11 @@ MODULE_DEVICE_TABLE(pci, agp_amd64_pci_table); +static DEFINE_PCI_DEVICE_TABLE(agp_amd64_pci_promisc_table) = { + { PCI_DEVICE_CLASS(0, 0) }, + { } +}; + static struct pci_driver agp_amd64_pci_driver = { .name = "agpgart-amd64", .id_table = agp_amd64_pci_table, @@ -733,7 +744,6 @@ return err; if (agp_bridges_found == 0) { - struct pci_dev *dev; if (!agp_try_unsupported && !agp_try_unsupported_boot) { printk(KERN_INFO PFX "No supported AGP bridge found.\n"); #ifdef MODULE @@ -749,17 +759,10 @@ return -ENODEV; /* Look for any AGP bridge */ - dev = NULL; - err = -ENODEV; - for_each_pci_dev(dev) { - if (!pci_find_capability(dev, PCI_CAP_ID_AGP)) - continue; - /* Only one bridge supported right now */ - if (agp_amd64_probe(dev, NULL) == 0) { - err = 0; - break; - } - } + agp_amd64_pci_driver.id_table = agp_amd64_pci_promisc_table; + err = driver_attach(&agp_amd64_pci_driver.driver); + if (err == 0 && agp_bridges_found == 0) + err = -ENODEV; } return err; } --- linux-2.6.32.orig/drivers/char/agp/generic.c +++ linux-2.6.32/drivers/char/agp/generic.c @@ -123,6 +123,9 @@ struct agp_memory *new; unsigned long alloc_size = num_agp_pages*sizeof(struct page *); + if (INT_MAX/sizeof(struct page *) < num_agp_pages) + return NULL; + new = kzalloc(sizeof(struct agp_memory), GFP_KERNEL); if (new == NULL) return NULL; @@ -242,11 +245,14 @@ int scratch_pages; struct agp_memory *new; size_t i; + int cur_memory; if (!bridge) return NULL; - if ((atomic_read(&bridge->current_memory_agp) + page_count) > bridge->max_memory_agp) + cur_memory = atomic_read(&bridge->current_memory_agp); + if ((cur_memory + page_count > bridge->max_memory_agp) || + (cur_memory + page_count < page_count)) return NULL; if (type >= AGP_USER_TYPES) { @@ -1123,8 +1129,8 @@ return -EINVAL; } - /* AK: could wrap */ - if ((pg_start + mem->page_count) > num_entries) + if (((pg_start + mem->page_count) > num_entries) || + ((pg_start + mem->page_count) < pg_start)) return -EINVAL; j = pg_start; @@ -1158,7 +1164,7 @@ { size_t i; struct agp_bridge_data *bridge; - int mask_type; + int mask_type, num_entries; bridge = mem->bridge; if (!bridge) @@ -1170,6 +1176,11 @@ if (type != mem->type) return -EINVAL; + num_entries = agp_num_entries(); + if (((pg_start + mem->page_count) > num_entries) || + ((pg_start + mem->page_count) < pg_start)) + return -EINVAL; + mask_type = bridge->driver->agp_type_to_mask_type(bridge, type); if (mask_type != 0) { /* The generic routines know nothing of memory types */ --- linux-2.6.32.orig/drivers/char/agp/hp-agp.c +++ linux-2.6.32/drivers/char/agp/hp-agp.c @@ -488,9 +488,8 @@ handle = obj; do { status = acpi_get_object_info(handle, &info); - if (ACPI_SUCCESS(status)) { + if (ACPI_SUCCESS(status) && (info->valid & ACPI_VALID_HID)) { /* TBD check _CID also */ - info->hardware_id.string[sizeof(info->hardware_id.length)-1] = '\0'; match = (strcmp(info->hardware_id.string, "HWP0001") == 0); kfree(info); if (match) { --- linux-2.6.32.orig/drivers/char/agp/intel-agp.c +++ linux-2.6.32/drivers/char/agp/intel-agp.c @@ -8,8 +8,12 @@ #include #include #include +#include #include "agp.h" +int intel_agp_enabled; +EXPORT_SYMBOL(intel_agp_enabled); + /* * If we have Intel graphics, we're not going to have anything other than * an Intel IOMMU. So make the correct use of the PCI DMA API contingent @@ -48,6 +52,8 @@ #define PCI_DEVICE_ID_INTEL_Q33_IG 0x29D2 #define PCI_DEVICE_ID_INTEL_B43_HB 0x2E40 #define PCI_DEVICE_ID_INTEL_B43_IG 0x2E42 +#define PCI_DEVICE_ID_INTEL_B43_1_HB 0x2E90 +#define PCI_DEVICE_ID_INTEL_B43_1_IG 0x2E92 #define PCI_DEVICE_ID_INTEL_GM45_HB 0x2A40 #define PCI_DEVICE_ID_INTEL_GM45_IG 0x2A42 #define PCI_DEVICE_ID_INTEL_IGD_E_HB 0x2E00 @@ -95,6 +101,7 @@ agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_GM45_HB || \ agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_G41_HB || \ agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_B43_HB || \ + agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_B43_1_HB || \ agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDNG_D_HB || \ agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDNG_M_HB || \ agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDNG_MA_HB || \ @@ -178,6 +185,7 @@ * popup and for the GTT. */ int gtt_entries; /* i830+ */ + int gtt_total_size; union { void __iomem *i9xx_flush_page; void *i8xx_flush_page; @@ -814,12 +822,6 @@ intel_i830_fini_flush(); } -static void -do_wbinvd(void *null) -{ - wbinvd(); -} - /* The chipset_flush interface needs to get data that has already been * flushed out of the CPU all the way out to main memory, because the GPU * doesn't snoop those buffers. @@ -836,12 +838,10 @@ memset(pg, 0, 1024); - if (cpu_has_clflush) { + if (cpu_has_clflush) clflush_cache_range(pg, 1024); - } else { - if (on_each_cpu(do_wbinvd, NULL, 1) != 0) - printk(KERN_ERR "Timed out waiting for cache flush.\n"); - } + else if (wbinvd_on_all_cpus() != 0) + printk(KERN_ERR "Timed out waiting for cache flush.\n"); } /* The intel i830 automatically initializes the agp aperture during POST. @@ -1153,7 +1153,7 @@ readl(intel_private.registers+I810_PGETBL_CTL); /* PCI Posting. */ if (agp_bridge->driver->needs_scratch_page) { - for (i = intel_private.gtt_entries; i < current_size->num_entries; i++) { + for (i = intel_private.gtt_entries; i < intel_private.gtt_total_size; i++) { writel(agp_bridge->scratch_page, intel_private.gtt+i); } readl(intel_private.gtt+i-1); /* PCI Posting. */ @@ -1308,6 +1308,8 @@ if (!intel_private.gtt) return -ENOMEM; + intel_private.gtt_total_size = gtt_map_size / 4; + temp &= 0xfff80000; intel_private.registers = ioremap(temp, 128 * 4096); @@ -1357,6 +1359,7 @@ case PCI_DEVICE_ID_INTEL_G45_HB: case PCI_DEVICE_ID_INTEL_G41_HB: case PCI_DEVICE_ID_INTEL_B43_HB: + case PCI_DEVICE_ID_INTEL_B43_1_HB: case PCI_DEVICE_ID_INTEL_IGDNG_D_HB: case PCI_DEVICE_ID_INTEL_IGDNG_M_HB: case PCI_DEVICE_ID_INTEL_IGDNG_MA_HB: @@ -1395,6 +1398,8 @@ if (!intel_private.gtt) return -ENOMEM; + intel_private.gtt_total_size = gtt_size / 4; + intel_private.registers = ioremap(temp, 128 * 4096); if (!intel_private.registers) { iounmap(intel_private.gtt); @@ -2354,6 +2359,8 @@ "G45/G43", NULL, &intel_i965_driver }, { PCI_DEVICE_ID_INTEL_B43_HB, PCI_DEVICE_ID_INTEL_B43_IG, 0, "B43", NULL, &intel_i965_driver }, + { PCI_DEVICE_ID_INTEL_B43_1_HB, PCI_DEVICE_ID_INTEL_B43_1_IG, 0, + "B43", NULL, &intel_i965_driver }, { PCI_DEVICE_ID_INTEL_G41_HB, PCI_DEVICE_ID_INTEL_G41_IG, 0, "G41", NULL, &intel_i965_driver }, { PCI_DEVICE_ID_INTEL_IGDNG_D_HB, PCI_DEVICE_ID_INTEL_IGDNG_D_IG, 0, @@ -2373,7 +2380,7 @@ struct agp_bridge_data *bridge; u8 cap_ptr = 0; struct resource *r; - int i; + int i, err; cap_ptr = pci_find_capability(pdev, PCI_CAP_ID_AGP); @@ -2461,7 +2468,10 @@ "set gfx device dma mask 36bit failed!\n"); pci_set_drvdata(pdev, bridge); - return agp_add_bridge(bridge); + err = agp_add_bridge(bridge); + if (!err) + intel_agp_enabled = 1; + return err; } static void __devexit agp_intel_remove(struct pci_dev *pdev) @@ -2562,6 +2572,7 @@ ID(PCI_DEVICE_ID_INTEL_G45_HB), ID(PCI_DEVICE_ID_INTEL_G41_HB), ID(PCI_DEVICE_ID_INTEL_B43_HB), + ID(PCI_DEVICE_ID_INTEL_B43_1_HB), ID(PCI_DEVICE_ID_INTEL_IGDNG_D_HB), ID(PCI_DEVICE_ID_INTEL_IGDNG_M_HB), ID(PCI_DEVICE_ID_INTEL_IGDNG_MA_HB), --- linux-2.6.32.orig/drivers/char/agp/sis-agp.c +++ linux-2.6.32/drivers/char/agp/sis-agp.c @@ -415,14 +415,6 @@ .subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID, }, - { - .class = (PCI_CLASS_BRIDGE_HOST << 8), - .class_mask = ~0, - .vendor = PCI_VENDOR_ID_SI, - .device = PCI_DEVICE_ID_SI_760, - .subvendor = PCI_ANY_ID, - .subdevice = PCI_ANY_ID, - }, { } }; --- linux-2.6.32.orig/drivers/char/ip2/ip2main.c +++ linux-2.6.32/drivers/char/ip2/ip2main.c @@ -183,6 +183,8 @@ static int ip2_tiocmget(struct tty_struct *tty, struct file *file); static int ip2_tiocmset(struct tty_struct *tty, struct file *file, unsigned int set, unsigned int clear); +static int ip2_get_icount(struct tty_struct *tty, + struct serial_icounter_struct *icount); static void set_irq(int, int); static void ip2_interrupt_bh(struct work_struct *work); @@ -448,6 +450,7 @@ .hangup = ip2_hangup, .tiocmget = ip2_tiocmget, .tiocmset = ip2_tiocmset, + .get_icount = ip2_get_icount, .proc_fops = &ip2_proc_fops, }; @@ -2112,7 +2115,6 @@ i2ChanStrPtr pCh = DevTable[tty->index]; i2eBordStrPtr pB; struct async_icount cprev, cnow; /* kernel counter temps */ - struct serial_icounter_struct __user *p_cuser; int rc = 0; unsigned long flags; void __user *argp = (void __user *)arg; @@ -2281,34 +2283,6 @@ break; /* - * Get counter of input serial line interrupts (DCD,RI,DSR,CTS) - * Return: write counters to the user passed counter struct - * NB: both 1->0 and 0->1 transitions are counted except for RI where - * only 0->1 is counted. The controller is quite capable of counting - * both, but this done to preserve compatibility with the standard - * serial driver. - */ - case TIOCGICOUNT: - ip2trace (CHANN, ITRC_IOCTL, 11, 1, rc ); - - write_lock_irqsave(&pB->read_fifo_spinlock, flags); - cnow = pCh->icount; - write_unlock_irqrestore(&pB->read_fifo_spinlock, flags); - p_cuser = argp; - rc = put_user(cnow.cts, &p_cuser->cts); - rc = put_user(cnow.dsr, &p_cuser->dsr); - rc = put_user(cnow.rng, &p_cuser->rng); - rc = put_user(cnow.dcd, &p_cuser->dcd); - rc = put_user(cnow.rx, &p_cuser->rx); - rc = put_user(cnow.tx, &p_cuser->tx); - rc = put_user(cnow.frame, &p_cuser->frame); - rc = put_user(cnow.overrun, &p_cuser->overrun); - rc = put_user(cnow.parity, &p_cuser->parity); - rc = put_user(cnow.brk, &p_cuser->brk); - rc = put_user(cnow.buf_overrun, &p_cuser->buf_overrun); - break; - - /* * The rest are not supported by this driver. By returning -ENOIOCTLCMD they * will be passed to the line discipline for it to handle. */ @@ -2332,6 +2306,46 @@ return rc; } +static int ip2_get_icount(struct tty_struct *tty, + struct serial_icounter_struct *icount) +{ + i2ChanStrPtr pCh = DevTable[tty->index]; + i2eBordStrPtr pB; + struct async_icount cnow; /* kernel counter temp */ + unsigned long flags; + + if ( pCh == NULL ) + return -ENODEV; + + pB = pCh->pMyBord; + + /* + * Get counter of input serial line interrupts (DCD,RI,DSR,CTS) + * Return: write counters to the user passed counter struct + * NB: both 1->0 and 0->1 transitions are counted except for RI where + * only 0->1 is counted. The controller is quite capable of counting + * both, but this done to preserve compatibility with the standard + * serial driver. + */ + + write_lock_irqsave(&pB->read_fifo_spinlock, flags); + cnow = pCh->icount; + write_unlock_irqrestore(&pB->read_fifo_spinlock, flags); + + icount->cts = cnow.cts; + icount->dsr = cnow.dsr; + icount->rng = cnow.rng; + icount->dcd = cnow.dcd; + icount->rx = cnow.rx; + icount->tx = cnow.tx; + icount->frame = cnow.frame; + icount->overrun = cnow.overrun; + icount->parity = cnow.parity; + icount->brk = cnow.brk; + icount->buf_overrun = cnow.buf_overrun; + return 0; +} + /******************************************************************************/ /* Function: GetSerialInfo() */ /* Parameters: Pointer to channel structure */ --- linux-2.6.32.orig/drivers/char/ipmi/ipmi_si_intf.c +++ linux-2.6.32/drivers/char/ipmi/ipmi_si_intf.c @@ -310,9 +310,14 @@ { /* Deliver the message to the upper layer with the lock released. */ - spin_unlock(&(smi_info->si_lock)); - ipmi_smi_msg_received(smi_info->intf, msg); - spin_lock(&(smi_info->si_lock)); + + if (smi_info->run_to_completion) { + ipmi_smi_msg_received(smi_info->intf, msg); + } else { + spin_unlock(&(smi_info->si_lock)); + ipmi_smi_msg_received(smi_info->intf, msg); + spin_lock(&(smi_info->si_lock)); + } } static void return_hosed_msg(struct smi_info *smi_info, int cCode) --- linux-2.6.32.orig/drivers/char/pcmcia/synclink_cs.c +++ linux-2.6.32/drivers/char/pcmcia/synclink_cs.c @@ -2252,6 +2252,32 @@ return 0; } +static int mgslpc_get_icount(struct tty_struct *tty, + struct serial_icounter_struct *icount) +{ + MGSLPC_INFO * info = (MGSLPC_INFO *)tty->driver_data; + struct mgsl_icount cnow; /* kernel counter temps */ + unsigned long flags; + + spin_lock_irqsave(&info->lock,flags); + cnow = info->icount; + spin_unlock_irqrestore(&info->lock,flags); + + icount->cts = cnow.cts; + icount->dsr = cnow.dsr; + icount->rng = cnow.rng; + icount->dcd = cnow.dcd; + icount->rx = cnow.rx; + icount->tx = cnow.tx; + icount->frame = cnow.frame; + icount->overrun = cnow.overrun; + icount->parity = cnow.parity; + icount->brk = cnow.brk; + icount->buf_overrun = cnow.buf_overrun; + + return 0; +} + /* Service an IOCTL request * * Arguments: @@ -2267,11 +2293,7 @@ unsigned int cmd, unsigned long arg) { MGSLPC_INFO * info = (MGSLPC_INFO *)tty->driver_data; - int error; - struct mgsl_icount cnow; /* kernel counter temps */ - struct serial_icounter_struct __user *p_cuser; /* user space */ void __user *argp = (void __user *)arg; - unsigned long flags; if (debug_level >= DEBUG_LEVEL_INFO) printk("%s(%d):mgslpc_ioctl %s cmd=%08X\n", __FILE__,__LINE__, @@ -2281,7 +2303,7 @@ return -ENODEV; if ((cmd != TIOCGSERIAL) && (cmd != TIOCSSERIAL) && - (cmd != TIOCMIWAIT) && (cmd != TIOCGICOUNT)) { + (cmd != TIOCMIWAIT)) { if (tty->flags & (1 << TTY_IO_ERROR)) return -EIO; } @@ -2311,34 +2333,6 @@ return wait_events(info, argp); case TIOCMIWAIT: return modem_input_wait(info,(int)arg); - case TIOCGICOUNT: - spin_lock_irqsave(&info->lock,flags); - cnow = info->icount; - spin_unlock_irqrestore(&info->lock,flags); - p_cuser = argp; - PUT_USER(error,cnow.cts, &p_cuser->cts); - if (error) return error; - PUT_USER(error,cnow.dsr, &p_cuser->dsr); - if (error) return error; - PUT_USER(error,cnow.rng, &p_cuser->rng); - if (error) return error; - PUT_USER(error,cnow.dcd, &p_cuser->dcd); - if (error) return error; - PUT_USER(error,cnow.rx, &p_cuser->rx); - if (error) return error; - PUT_USER(error,cnow.tx, &p_cuser->tx); - if (error) return error; - PUT_USER(error,cnow.frame, &p_cuser->frame); - if (error) return error; - PUT_USER(error,cnow.overrun, &p_cuser->overrun); - if (error) return error; - PUT_USER(error,cnow.parity, &p_cuser->parity); - if (error) return error; - PUT_USER(error,cnow.brk, &p_cuser->brk); - if (error) return error; - PUT_USER(error,cnow.buf_overrun, &p_cuser->buf_overrun); - if (error) return error; - return 0; default: return -ENOIOCTLCMD; } @@ -4164,6 +4158,8 @@ if (cmd != SIOCWANDEV) return hdlc_ioctl(dev, ifr, cmd); + memset(&new_line, 0, size); + switch(ifr->ifr_settings.type) { case IF_GET_IFACE: /* return current sync_serial_settings */ --- linux-2.6.32.orig/drivers/char/tpm/tpm.c +++ linux-2.6.32/drivers/char/tpm/tpm.c @@ -353,12 +353,14 @@ tpm_protected_ordinal_duration[ordinal & TPM_PROTECTED_ORDINAL_MASK]; - if (duration_idx != TPM_UNDEFINED) + if (duration_idx != TPM_UNDEFINED) { duration = chip->vendor.duration[duration_idx]; - if (duration <= 0) + /* if duration is 0, it's because chip->vendor.duration wasn't */ + /* filled yet, so we set the lowest timeout just to give enough */ + /* time for tpm_get_timeouts() to succeed */ + return (duration <= 0 ? HZ : duration); + } else return 2 * 60 * HZ; - else - return duration; } EXPORT_SYMBOL_GPL(tpm_calc_ordinal_duration); @@ -372,6 +374,9 @@ u32 count, ordinal; unsigned long stop; + if (bufsiz > TPM_BUFSIZE) + bufsiz = TPM_BUFSIZE; + count = be32_to_cpu(*((__be32 *) (buf + 2))); ordinal = be32_to_cpu(*((__be32 *) (buf + 6))); if (count == 0) @@ -564,9 +569,11 @@ if (rc) return; - if (be32_to_cpu(tpm_cmd.header.out.return_code) - != 3 * sizeof(u32)) + if (be32_to_cpu(tpm_cmd.header.out.return_code) != 0 || + be32_to_cpu(tpm_cmd.header.out.length) + != sizeof(tpm_cmd.header.out) + sizeof(u32) + 3 * sizeof(u32)) return; + duration_cap = &tpm_cmd.params.getcap_out.cap.duration; chip->vendor.duration[TPM_SHORT] = usecs_to_jiffies(be32_to_cpu(duration_cap->tpm_short)); @@ -910,6 +917,18 @@ } EXPORT_SYMBOL_GPL(tpm_show_caps_1_2); +ssize_t tpm_show_timeouts(struct device *dev, struct device_attribute *attr, + char *buf) +{ + struct tpm_chip *chip = dev_get_drvdata(dev); + + return sprintf(buf, "%d %d %d\n", + jiffies_to_usecs(chip->vendor.duration[TPM_SHORT]), + jiffies_to_usecs(chip->vendor.duration[TPM_MEDIUM]), + jiffies_to_usecs(chip->vendor.duration[TPM_LONG])); +} +EXPORT_SYMBOL_GPL(tpm_show_timeouts); + ssize_t tpm_store_cancel(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { @@ -953,7 +972,7 @@ return -EBUSY; } - chip->data_buffer = kmalloc(TPM_BUFSIZE * sizeof(u8), GFP_KERNEL); + chip->data_buffer = kzalloc(TPM_BUFSIZE, GFP_KERNEL); if (chip->data_buffer == NULL) { clear_bit(0, &chip->is_open); put_device(chip->dev); @@ -1025,6 +1044,7 @@ { struct tpm_chip *chip = file->private_data; ssize_t ret_size; + int rc; del_singleshot_timer_sync(&chip->user_read_timer); flush_scheduled_work(); @@ -1035,8 +1055,11 @@ ret_size = size; mutex_lock(&chip->buffer_mutex); - if (copy_to_user(buf, chip->data_buffer, ret_size)) + rc = copy_to_user(buf, chip->data_buffer, ret_size); + memset(chip->data_buffer, 0, ret_size); + if (rc) ret_size = -EFAULT; + mutex_unlock(&chip->buffer_mutex); } --- linux-2.6.32.orig/drivers/char/tpm/tpm.h +++ linux-2.6.32/drivers/char/tpm/tpm.h @@ -56,6 +56,8 @@ char *); extern ssize_t tpm_show_temp_deactivated(struct device *, struct device_attribute *attr, char *); +extern ssize_t tpm_show_timeouts(struct device *, + struct device_attribute *attr, char *); struct tpm_chip; @@ -224,6 +226,7 @@ u8 algorithm[4]; u8 encscheme[2]; u8 sigscheme[2]; + __be32 paramsize; u8 parameters[12]; /*assuming RSA*/ __be32 keysize; u8 modulus[256]; --- linux-2.6.32.orig/drivers/char/tpm/tpm_infineon.c +++ linux-2.6.32/drivers/char/tpm/tpm_infineon.c @@ -39,12 +39,12 @@ struct tpm_inf_dev { int iotype; - void __iomem *mem_base; /* MMIO ioremap'd addr */ - unsigned long map_base; /* phys MMIO base */ - unsigned long map_size; /* MMIO region size */ - unsigned int index_off; /* index register offset */ + void __iomem *mem_base; /* MMIO ioremap'd addr */ + unsigned long map_base; /* phys MMIO base */ + unsigned long map_size; /* MMIO region size */ + unsigned int index_off; /* index register offset */ - unsigned int data_regs; /* Data registers */ + unsigned int data_regs; /* Data registers */ unsigned int data_size; unsigned int config_port; /* IO Port config index reg */ @@ -406,14 +406,14 @@ .miscdev = {.fops = &inf_ops,}, }; -static const struct pnp_device_id tpm_pnp_tbl[] = { +static const struct pnp_device_id tpm_inf_pnp_tbl[] = { /* Infineon TPMs */ {"IFX0101", 0}, {"IFX0102", 0}, {"", 0} }; -MODULE_DEVICE_TABLE(pnp, tpm_pnp_tbl); +MODULE_DEVICE_TABLE(pnp, tpm_inf_pnp_tbl); static int __devinit tpm_inf_pnp_probe(struct pnp_dev *dev, const struct pnp_device_id *dev_id) @@ -430,7 +430,7 @@ if (pnp_port_valid(dev, 0) && pnp_port_valid(dev, 1) && !(pnp_port_flags(dev, 0) & IORESOURCE_DISABLED)) { - tpm_dev.iotype = TPM_INF_IO_PORT; + tpm_dev.iotype = TPM_INF_IO_PORT; tpm_dev.config_port = pnp_port_start(dev, 0); tpm_dev.config_size = pnp_port_len(dev, 0); @@ -459,9 +459,9 @@ goto err_last; } } else if (pnp_mem_valid(dev, 0) && - !(pnp_mem_flags(dev, 0) & IORESOURCE_DISABLED)) { + !(pnp_mem_flags(dev, 0) & IORESOURCE_DISABLED)) { - tpm_dev.iotype = TPM_INF_IO_MEM; + tpm_dev.iotype = TPM_INF_IO_MEM; tpm_dev.map_base = pnp_mem_start(dev, 0); tpm_dev.map_size = pnp_mem_len(dev, 0); @@ -563,11 +563,11 @@ "product id 0x%02x%02x" "%s\n", tpm_dev.iotype == TPM_INF_IO_PORT ? - tpm_dev.config_port : - tpm_dev.map_base + tpm_dev.index_off, + tpm_dev.config_port : + tpm_dev.map_base + tpm_dev.index_off, tpm_dev.iotype == TPM_INF_IO_PORT ? - tpm_dev.data_regs : - tpm_dev.map_base + tpm_dev.data_regs, + tpm_dev.data_regs : + tpm_dev.map_base + tpm_dev.data_regs, version[0], version[1], vendorid[0], vendorid[1], productid[0], productid[1], chipname); @@ -607,20 +607,55 @@ iounmap(tpm_dev.mem_base); release_mem_region(tpm_dev.map_base, tpm_dev.map_size); } + tpm_dev_vendor_release(chip); tpm_remove_hardware(chip->dev); } } +static int tpm_inf_pnp_suspend(struct pnp_dev *dev, pm_message_t pm_state) +{ + struct tpm_chip *chip = pnp_get_drvdata(dev); + int rc; + if (chip) { + u8 savestate[] = { + 0, 193, /* TPM_TAG_RQU_COMMAND */ + 0, 0, 0, 10, /* blob length (in bytes) */ + 0, 0, 0, 152 /* TPM_ORD_SaveState */ + }; + dev_info(&dev->dev, "saving TPM state\n"); + rc = tpm_inf_send(chip, savestate, sizeof(savestate)); + if (rc < 0) { + dev_err(&dev->dev, "error while saving TPM state\n"); + return rc; + } + } + return 0; +} + +static int tpm_inf_pnp_resume(struct pnp_dev *dev) +{ + /* Re-configure TPM after suspending */ + tpm_config_out(ENABLE_REGISTER_PAIR, TPM_INF_ADDR); + tpm_config_out(IOLIMH, TPM_INF_ADDR); + tpm_config_out((tpm_dev.data_regs >> 8) & 0xff, TPM_INF_DATA); + tpm_config_out(IOLIML, TPM_INF_ADDR); + tpm_config_out((tpm_dev.data_regs & 0xff), TPM_INF_DATA); + /* activate register */ + tpm_config_out(TPM_DAR, TPM_INF_ADDR); + tpm_config_out(0x01, TPM_INF_DATA); + tpm_config_out(DISABLE_REGISTER_PAIR, TPM_INF_ADDR); + /* disable RESET, LP and IRQC */ + tpm_data_out(RESET_LP_IRQC_DISABLE, CMD); + return tpm_pm_resume(&dev->dev); +} + static struct pnp_driver tpm_inf_pnp_driver = { .name = "tpm_inf_pnp", - .driver = { - .owner = THIS_MODULE, - .suspend = tpm_pm_suspend, - .resume = tpm_pm_resume, - }, - .id_table = tpm_pnp_tbl, + .id_table = tpm_inf_pnp_tbl, .probe = tpm_inf_pnp_probe, - .remove = __devexit_p(tpm_inf_pnp_remove), + .suspend = tpm_inf_pnp_suspend, + .resume = tpm_inf_pnp_resume, + .remove = __devexit_p(tpm_inf_pnp_remove) }; static int __init init_inf(void) @@ -638,5 +673,5 @@ MODULE_AUTHOR("Marcel Selhorst "); MODULE_DESCRIPTION("Driver for Infineon TPM SLD 9630 TT 1.1 / SLB 9635 TT 1.2"); -MODULE_VERSION("1.9"); +MODULE_VERSION("1.9.2"); MODULE_LICENSE("GPL"); --- linux-2.6.32.orig/drivers/char/tpm/tpm_tis.c +++ linux-2.6.32/drivers/char/tpm/tpm_tis.c @@ -257,6 +257,10 @@ return size; } +static int itpm; +module_param(itpm, bool, 0444); +MODULE_PARM_DESC(itpm, "Force iTPM workarounds (found on some Lenovo laptops)"); + /* * If interrupts are used (signaled by an irq set in the vendor structure) * tpm.c can skip polling for the data to be available as the interrupt is @@ -293,7 +297,7 @@ wait_for_stat(chip, TPM_STS_VALID, chip->vendor.timeout_c, &chip->vendor.int_queue); status = tpm_tis_status(chip); - if ((status & TPM_STS_DATA_EXPECT) == 0) { + if (!itpm && (status & TPM_STS_DATA_EXPECT) == 0) { rc = -EIO; goto out_err; } @@ -350,6 +354,7 @@ NULL); static DEVICE_ATTR(caps, S_IRUGO, tpm_show_caps_1_2, NULL); static DEVICE_ATTR(cancel, S_IWUSR | S_IWGRP, NULL, tpm_store_cancel); +static DEVICE_ATTR(timeouts, S_IRUGO, tpm_show_timeouts, NULL); static struct attribute *tis_attrs[] = { &dev_attr_pubek.attr, @@ -359,7 +364,8 @@ &dev_attr_owned.attr, &dev_attr_temp_deactivated.attr, &dev_attr_caps.attr, - &dev_attr_cancel.attr, NULL, + &dev_attr_cancel.attr, + &dev_attr_timeouts.attr, NULL, }; static struct attribute_group tis_attr_grp = { @@ -467,6 +473,10 @@ "1.2 TPM (device-id 0x%X, rev-id %d)\n", vendor >> 16, ioread8(chip->vendor.iobase + TPM_RID(0))); + if (itpm) + dev_info(dev, "Intel iTPM workaround enabled\n"); + + /* Figure out the capabilities */ intfcaps = ioread32(chip->vendor.iobase + @@ -614,7 +624,14 @@ static int tpm_tis_pnp_resume(struct pnp_dev *dev) { - return tpm_pm_resume(&dev->dev); + struct tpm_chip *chip = pnp_get_drvdata(dev); + int ret; + + ret = tpm_pm_resume(&dev->dev); + if (!ret) + tpm_continue_selftest(chip); + + return ret; } static struct pnp_device_id tpm_pnp_tbl[] __devinitdata = { @@ -629,6 +646,7 @@ {"", 0}, /* User Specified */ {"", 0} /* Terminator */ }; +MODULE_DEVICE_TABLE(pnp, tpm_pnp_tbl); static __devexit void tpm_tis_pnp_remove(struct pnp_dev *dev) { --- linux-2.6.32.orig/drivers/clocksource/sh_cmt.c +++ linux-2.6.32/drivers/clocksource/sh_cmt.c @@ -413,18 +413,10 @@ static int sh_cmt_clocksource_enable(struct clocksource *cs) { struct sh_cmt_priv *p = cs_to_sh_cmt(cs); - int ret; p->total_cycles = 0; - ret = sh_cmt_start(p, FLAG_CLOCKSOURCE); - if (ret) - return ret; - - /* TODO: calculate good shift from rate and counter bit width */ - cs->shift = 0; - cs->mult = clocksource_hz2mult(p->rate, cs->shift); - return 0; + return sh_cmt_start(p, FLAG_CLOCKSOURCE); } static void sh_cmt_clocksource_disable(struct clocksource *cs) @@ -444,7 +436,18 @@ cs->disable = sh_cmt_clocksource_disable; cs->mask = CLOCKSOURCE_MASK(sizeof(unsigned long) * 8); cs->flags = CLOCK_SOURCE_IS_CONTINUOUS; + + /* clk_get_rate() needs an enabled clock */ + clk_enable(p->clk); + p->rate = clk_get_rate(p->clk) / (p->width == 16) ? 512 : 8; + clk_disable(p->clk); + + /* TODO: calculate good shift from rate and counter bit width */ + cs->shift = 10; + cs->mult = clocksource_hz2mult(p->rate, cs->shift); + pr_info("sh_cmt: %s used as clock source\n", cs->name); + clocksource_register(cs); return 0; } @@ -603,18 +606,13 @@ p->irqaction.handler = sh_cmt_interrupt; p->irqaction.dev_id = p; p->irqaction.flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL; - ret = setup_irq(irq, &p->irqaction); - if (ret) { - pr_err("sh_cmt: failed to request irq %d\n", irq); - goto err1; - } /* get hold of clock */ p->clk = clk_get(&p->pdev->dev, cfg->clk); if (IS_ERR(p->clk)) { pr_err("sh_cmt: cannot get clock \"%s\"\n", cfg->clk); ret = PTR_ERR(p->clk); - goto err2; + goto err1; } if (resource_size(res) == 6) { @@ -627,14 +625,25 @@ p->clear_bits = ~0xc000; } - return sh_cmt_register(p, cfg->name, - cfg->clockevent_rating, - cfg->clocksource_rating); - err2: - remove_irq(irq, &p->irqaction); - err1: + ret = sh_cmt_register(p, cfg->name, + cfg->clockevent_rating, + cfg->clocksource_rating); + if (ret) { + pr_err("sh_cmt: registration failed\n"); + goto err1; + } + + ret = setup_irq(irq, &p->irqaction); + if (ret) { + pr_err("sh_cmt: failed to request irq %d\n", irq); + goto err1; + } + + return 0; + +err1: iounmap(p->mapbase); - err0: +err0: return ret; } --- linux-2.6.32.orig/drivers/clocksource/sh_mtu2.c +++ linux-2.6.32/drivers/clocksource/sh_mtu2.c @@ -221,15 +221,15 @@ ced->cpumask = cpumask_of(0); ced->set_mode = sh_mtu2_clock_event_mode; + pr_info("sh_mtu2: %s used for clock events\n", ced->name); + clockevents_register_device(ced); + ret = setup_irq(p->irqaction.irq, &p->irqaction); if (ret) { pr_err("sh_mtu2: failed to request irq %d\n", p->irqaction.irq); return; } - - pr_info("sh_mtu2: %s used for clock events\n", ced->name); - clockevents_register_device(ced); } static int sh_mtu2_register(struct sh_mtu2_priv *p, char *name, --- linux-2.6.32.orig/drivers/clocksource/sh_tmu.c +++ linux-2.6.32/drivers/clocksource/sh_tmu.c @@ -199,16 +199,8 @@ static int sh_tmu_clocksource_enable(struct clocksource *cs) { struct sh_tmu_priv *p = cs_to_sh_tmu(cs); - int ret; - - ret = sh_tmu_enable(p); - if (ret) - return ret; - /* TODO: calculate good shift from rate and counter bit width */ - cs->shift = 10; - cs->mult = clocksource_hz2mult(p->rate, cs->shift); - return 0; + return sh_tmu_enable(p); } static void sh_tmu_clocksource_disable(struct clocksource *cs) @@ -228,6 +220,16 @@ cs->disable = sh_tmu_clocksource_disable; cs->mask = CLOCKSOURCE_MASK(32); cs->flags = CLOCK_SOURCE_IS_CONTINUOUS; + + /* clk_get_rate() needs an enabled clock */ + clk_enable(p->clk); + /* channel will be configured at parent clock / 4 */ + p->rate = clk_get_rate(p->clk) / 4; + clk_disable(p->clk); + /* TODO: calculate good shift from rate and counter bit width */ + cs->shift = 10; + cs->mult = clocksource_hz2mult(p->rate, cs->shift); + pr_info("sh_tmu: %s used as clock source\n", cs->name); clocksource_register(cs); return 0; @@ -323,15 +325,15 @@ ced->set_next_event = sh_tmu_clock_event_next; ced->set_mode = sh_tmu_clock_event_mode; + pr_info("sh_tmu: %s used for clock events\n", ced->name); + clockevents_register_device(ced); + ret = setup_irq(p->irqaction.irq, &p->irqaction); if (ret) { pr_err("sh_tmu: failed to request irq %d\n", p->irqaction.irq); return; } - - pr_info("sh_tmu: %s used for clock events\n", ced->name); - clockevents_register_device(ced); } static int sh_tmu_register(struct sh_tmu_priv *p, char *name, --- linux-2.6.32.orig/drivers/connector/connector.c +++ linux-2.6.32/drivers/connector/connector.c @@ -36,17 +36,6 @@ MODULE_AUTHOR("Evgeniy Polyakov "); MODULE_DESCRIPTION("Generic userspace <-> kernelspace connector."); -static u32 cn_idx = CN_IDX_CONNECTOR; -static u32 cn_val = CN_VAL_CONNECTOR; - -module_param(cn_idx, uint, 0); -module_param(cn_val, uint, 0); -MODULE_PARM_DESC(cn_idx, "Connector's main device idx."); -MODULE_PARM_DESC(cn_val, "Connector's main device val."); - -static DEFINE_MUTEX(notify_lock); -static LIST_HEAD(notify_list); - static struct cn_dev cdev; static int cn_already_initialized; @@ -210,54 +199,6 @@ } /* - * Notification routing. - * - * Gets id and checks if there are notification request for it's idx - * and val. If there are such requests notify the listeners with the - * given notify event. - * - */ -static void cn_notify(struct cb_id *id, u32 notify_event) -{ - struct cn_ctl_entry *ent; - - mutex_lock(¬ify_lock); - list_for_each_entry(ent, ¬ify_list, notify_entry) { - int i; - struct cn_notify_req *req; - struct cn_ctl_msg *ctl = ent->msg; - int idx_found, val_found; - - idx_found = val_found = 0; - - req = (struct cn_notify_req *)ctl->data; - for (i = 0; i < ctl->idx_notify_num; ++i, ++req) { - if (id->idx >= req->first && - id->idx < req->first + req->range) { - idx_found = 1; - break; - } - } - - for (i = 0; i < ctl->val_notify_num; ++i, ++req) { - if (id->val >= req->first && - id->val < req->first + req->range) { - val_found = 1; - break; - } - } - - if (idx_found && val_found) { - struct cn_msg m = { .ack = notify_event, }; - - memcpy(&m.id, id, sizeof(m.id)); - cn_netlink_send(&m, ctl->group, GFP_KERNEL); - } - } - mutex_unlock(¬ify_lock); -} - -/* * Callback add routing - adds callback with given ID and name. * If there is registered callback with the same ID it will not be added. * @@ -276,8 +217,6 @@ if (err) return err; - cn_notify(id, 0); - return 0; } EXPORT_SYMBOL_GPL(cn_add_callback); @@ -295,111 +234,9 @@ struct cn_dev *dev = &cdev; cn_queue_del_callback(dev->cbdev, id); - cn_notify(id, 1); } EXPORT_SYMBOL_GPL(cn_del_callback); -/* - * Checks two connector's control messages to be the same. - * Returns 1 if they are the same or if the first one is corrupted. - */ -static int cn_ctl_msg_equals(struct cn_ctl_msg *m1, struct cn_ctl_msg *m2) -{ - int i; - struct cn_notify_req *req1, *req2; - - if (m1->idx_notify_num != m2->idx_notify_num) - return 0; - - if (m1->val_notify_num != m2->val_notify_num) - return 0; - - if (m1->len != m2->len) - return 0; - - if ((m1->idx_notify_num + m1->val_notify_num) * sizeof(*req1) != - m1->len) - return 1; - - req1 = (struct cn_notify_req *)m1->data; - req2 = (struct cn_notify_req *)m2->data; - - for (i = 0; i < m1->idx_notify_num; ++i) { - if (req1->first != req2->first || req1->range != req2->range) - return 0; - req1++; - req2++; - } - - for (i = 0; i < m1->val_notify_num; ++i) { - if (req1->first != req2->first || req1->range != req2->range) - return 0; - req1++; - req2++; - } - - return 1; -} - -/* - * Main connector device's callback. - * - * Used for notification of a request's processing. - */ -static void cn_callback(struct cn_msg *msg, struct netlink_skb_parms *nsp) -{ - struct cn_ctl_msg *ctl; - struct cn_ctl_entry *ent; - u32 size; - - if (msg->len < sizeof(*ctl)) - return; - - ctl = (struct cn_ctl_msg *)msg->data; - - size = (sizeof(*ctl) + ((ctl->idx_notify_num + - ctl->val_notify_num) * - sizeof(struct cn_notify_req))); - - if (msg->len != size) - return; - - if (ctl->len + sizeof(*ctl) != msg->len) - return; - - /* - * Remove notification. - */ - if (ctl->group == 0) { - struct cn_ctl_entry *n; - - mutex_lock(¬ify_lock); - list_for_each_entry_safe(ent, n, ¬ify_list, notify_entry) { - if (cn_ctl_msg_equals(ent->msg, ctl)) { - list_del(&ent->notify_entry); - kfree(ent); - } - } - mutex_unlock(¬ify_lock); - - return; - } - - size += sizeof(*ent); - - ent = kzalloc(size, GFP_KERNEL); - if (!ent) - return; - - ent->msg = (struct cn_ctl_msg *)(ent + 1); - - memcpy(ent->msg, ctl, size - sizeof(*ent)); - - mutex_lock(¬ify_lock); - list_add(&ent->notify_entry, ¬ify_list); - mutex_unlock(¬ify_lock); -} - static int cn_proc_show(struct seq_file *m, void *v) { struct cn_queue_dev *dev = cdev.cbdev; @@ -437,11 +274,8 @@ static int __devinit cn_init(void) { struct cn_dev *dev = &cdev; - int err; dev->input = cn_rx_skb; - dev->id.idx = cn_idx; - dev->id.val = cn_val; dev->nls = netlink_kernel_create(&init_net, NETLINK_CONNECTOR, CN_NETLINK_USERS + 0xf, @@ -457,14 +291,6 @@ cn_already_initialized = 1; - err = cn_add_callback(&dev->id, "connector", &cn_callback); - if (err) { - cn_already_initialized = 0; - cn_queue_free_dev(dev->cbdev); - netlink_kernel_release(dev->nls); - return -EINVAL; - } - proc_net_fops_create(&init_net, "connector", S_IRUGO, &cn_file_ops); return 0; @@ -478,7 +304,6 @@ proc_net_remove(&init_net, "connector"); - cn_del_callback(&dev->id); cn_queue_free_dev(dev->cbdev); netlink_kernel_release(dev->nls); } --- linux-2.6.32.orig/drivers/cpufreq/cpufreq.c +++ linux-2.6.32/drivers/cpufreq/cpufreq.c @@ -1183,12 +1183,28 @@ unlock_policy_rwsem_write(cpu); + cpufreq_debug_enable_ratelimit(); + +#ifdef CONFIG_HOTPLUG_CPU + /* when the CPU which is the parent of the kobj is hotplugged + * offline, check for siblings, and create cpufreq sysfs interface + * and symlinks + */ + if (unlikely(cpumask_weight(data->cpus) > 1)) { + /* first sibling now owns the new sysfs dir */ + cpumask_clear_cpu(cpu, data->cpus); + cpufreq_add_dev(get_cpu_sysdev(cpumask_first(data->cpus))); + + /* finally remove our own symlink */ + lock_policy_rwsem_write(cpu); + __cpufreq_remove_dev(sys_dev); + } +#endif + free_cpumask_var(data->related_cpus); free_cpumask_var(data->cpus); kfree(data); - per_cpu(cpufreq_cpu_data, cpu) = NULL; - cpufreq_debug_enable_ratelimit(); return 0; } @@ -1741,17 +1757,8 @@ dprintk("governor switch\n"); /* end old governor */ - if (data->governor) { - /* - * Need to release the rwsem around governor - * stop due to lock dependency between - * cancel_delayed_work_sync and the read lock - * taken in the delayed work handler. - */ - unlock_policy_rwsem_write(data->cpu); + if (data->governor) __cpufreq_governor(data, CPUFREQ_GOV_STOP); - lock_policy_rwsem_write(data->cpu); - } /* start new governor */ data->governor = policy->governor; --- linux-2.6.32.orig/drivers/cpufreq/cpufreq_stats.c +++ linux-2.6.32/drivers/cpufreq/cpufreq_stats.c @@ -164,17 +164,27 @@ return -1; } +/* should be called late in the CPU removal sequence so that the stats + * memory is still available in case someone tries to use it. + */ static void cpufreq_stats_free_table(unsigned int cpu) { struct cpufreq_stats *stat = per_cpu(cpufreq_stats_table, cpu); - struct cpufreq_policy *policy = cpufreq_cpu_get(cpu); - if (policy && policy->cpu == cpu) - sysfs_remove_group(&policy->kobj, &stats_attr_group); if (stat) { kfree(stat->time_in_state); kfree(stat); } per_cpu(cpufreq_stats_table, cpu) = NULL; +} + +/* must be called early in the CPU removal sequence (before + * cpufreq_remove_dev) so that policy is still valid. + */ +static void cpufreq_stats_free_sysfs(unsigned int cpu) +{ + struct cpufreq_policy *policy = cpufreq_cpu_get(cpu); + if (policy && policy->cpu == cpu) + sysfs_remove_group(&policy->kobj, &stats_attr_group); if (policy) cpufreq_cpu_put(policy); } @@ -315,6 +325,9 @@ case CPU_ONLINE_FROZEN: cpufreq_update_policy(cpu); break; + case CPU_DOWN_PREPARE: + cpufreq_stats_free_sysfs(cpu); + break; case CPU_DEAD: case CPU_DEAD_FROZEN: cpufreq_stats_free_table(cpu); @@ -323,9 +336,11 @@ return NOTIFY_OK; } +/* priority=1 so this will get called before cpufreq_remove_dev */ static struct notifier_block cpufreq_stat_cpu_notifier __refdata = { .notifier_call = cpufreq_stat_cpu_callback, + .priority = 1, }; static struct notifier_block notifier_policy_block = { @@ -372,6 +387,7 @@ unregister_hotcpu_notifier(&cpufreq_stat_cpu_notifier); for_each_online_cpu(cpu) { cpufreq_stats_free_table(cpu); + cpufreq_stats_free_sysfs(cpu); } } --- linux-2.6.32.orig/drivers/cpuidle/governors/menu.c +++ linux-2.6.32/drivers/cpuidle/governors/menu.c @@ -18,6 +18,7 @@ #include #include #include +#include #define BUCKETS 12 #define RESOLUTION 1024 @@ -100,7 +101,6 @@ unsigned int expected_us; u64 predicted_us; - unsigned int measured_us; unsigned int exit_us; unsigned int bucket; u64 correction_factor[BUCKETS]; @@ -169,6 +169,12 @@ static void menu_update(struct cpuidle_device *dev); +/* This implements DIV_ROUND_CLOSEST but avoids 64 bit division */ +static u64 div_round64(u64 dividend, u32 divisor) +{ + return div_u64(dividend + (divisor / 2), divisor); +} + /** * menu_select - selects the next idle state to enter * @dev: the CPU @@ -179,22 +185,24 @@ int latency_req = pm_qos_requirement(PM_QOS_CPU_DMA_LATENCY); int i; int multiplier; - - data->last_state_idx = 0; - data->exit_us = 0; + struct timespec t; if (data->needs_update) { menu_update(dev); data->needs_update = 0; } + data->last_state_idx = 0; + data->exit_us = 0; + /* Special case when user has set very strict latency requirement */ if (unlikely(latency_req == 0)) return 0; /* determine the expected residency time, round up */ + t = ktime_to_timespec(tick_nohz_get_sleep_length()); data->expected_us = - DIV_ROUND_UP((u32)ktime_to_ns(tick_nohz_get_sleep_length()), 1000); + t.tv_sec * USEC_PER_SEC + t.tv_nsec / NSEC_PER_USEC; data->bucket = which_bucket(data->expected_us); @@ -209,9 +217,8 @@ data->correction_factor[data->bucket] = RESOLUTION * DECAY; /* Make sure to round up for half microseconds */ - data->predicted_us = DIV_ROUND_CLOSEST( - data->expected_us * data->correction_factor[data->bucket], - RESOLUTION * DECAY); + data->predicted_us = div_round64(data->expected_us * data->correction_factor[data->bucket], + RESOLUTION * DECAY); /* * We want to default to C1 (hlt), not to busy polling @@ -288,7 +295,7 @@ new_factor = data->correction_factor[data->bucket] * (DECAY - 1) / DECAY; - if (data->expected_us > 0 && data->measured_us < MAX_INTERESTING) + if (data->expected_us > 0 && measured_us < MAX_INTERESTING) new_factor += RESOLUTION * measured_us / data->expected_us; else /* --- linux-2.6.32.orig/drivers/crypto/padlock-aes.c +++ linux-2.6.32/drivers/crypto/padlock-aes.c @@ -285,7 +285,7 @@ if (initial) asm volatile (".byte 0xf3,0x0f,0xa7,0xd0" /* rep xcryptcbc */ : "+S" (input), "+D" (output), "+a" (iv) - : "d" (control_word), "b" (key), "c" (count)); + : "d" (control_word), "b" (key), "c" (initial)); asm volatile (".byte 0xf3,0x0f,0xa7,0xd0" /* rep xcryptcbc */ : "+S" (input), "+D" (output), "+a" (iv) --- linux-2.6.32.orig/drivers/crypto/padlock-sha.c +++ linux-2.6.32/drivers/crypto/padlock-sha.c @@ -57,6 +57,23 @@ return crypto_shash_update(&dctx->fallback, data, length); } +static int padlock_sha_export(struct shash_desc *desc, void *out) +{ + struct padlock_sha_desc *dctx = shash_desc_ctx(desc); + + return crypto_shash_export(&dctx->fallback, out); +} + +static int padlock_sha_import(struct shash_desc *desc, const void *in) +{ + struct padlock_sha_desc *dctx = shash_desc_ctx(desc); + struct padlock_sha_ctx *ctx = crypto_shash_ctx(desc->tfm); + + dctx->fallback.tfm = ctx->fallback; + dctx->fallback.flags = desc->flags & CRYPTO_TFM_REQ_MAY_SLEEP; + return crypto_shash_import(&dctx->fallback, in); +} + static inline void padlock_output_block(uint32_t *src, uint32_t *dst, size_t count) { @@ -235,7 +252,10 @@ .update = padlock_sha_update, .finup = padlock_sha1_finup, .final = padlock_sha1_final, + .export = padlock_sha_export, + .import = padlock_sha_import, .descsize = sizeof(struct padlock_sha_desc), + .statesize = sizeof(struct sha1_state), .base = { .cra_name = "sha1", .cra_driver_name = "sha1-padlock", @@ -256,7 +276,10 @@ .update = padlock_sha_update, .finup = padlock_sha256_finup, .final = padlock_sha256_final, + .export = padlock_sha_export, + .import = padlock_sha_import, .descsize = sizeof(struct padlock_sha_desc), + .statesize = sizeof(struct sha256_state), .base = { .cra_name = "sha256", .cra_driver_name = "sha256-padlock", --- linux-2.6.32.orig/drivers/dma/at_hdmac.c +++ linux-2.6.32/drivers/dma/at_hdmac.c @@ -815,7 +815,7 @@ dev_vdbg(chan2dev(chan), "is_tx_complete: %d (d%d, u%d)\n", cookie, done ? *done : 0, used ? *used : 0); - spin_lock_bh(atchan->lock); + spin_lock_bh(&atchan->lock); last_complete = atchan->completed_cookie; last_used = chan->cookie; @@ -830,7 +830,7 @@ ret = dma_async_is_complete(cookie, last_complete, last_used); } - spin_unlock_bh(atchan->lock); + spin_unlock_bh(&atchan->lock); if (done) *done = last_complete; --- linux-2.6.32.orig/drivers/dma/mv_xor.c +++ linux-2.6.32/drivers/dma/mv_xor.c @@ -161,7 +161,7 @@ static void mv_xor_device_clear_eoc_cause(struct mv_xor_chan *chan) { - u32 val = (1 << (1 + (chan->idx * 16))); + u32 val = ~(1 << (chan->idx * 16)); dev_dbg(chan->device->common.dev, "%s, val 0x%08x\n", __func__, val); __raw_writel(val, XOR_INTR_CAUSE(chan)); } @@ -448,7 +448,7 @@ static void mv_xor_tasklet(unsigned long data) { struct mv_xor_chan *chan = (struct mv_xor_chan *) data; - __mv_xor_slot_cleanup(chan); + mv_xor_slot_cleanup(chan); } static struct mv_xor_desc_slot * --- linux-2.6.32.orig/drivers/dma/ioat/dma.c +++ linux-2.6.32/drivers/dma/ioat/dma.c @@ -1032,7 +1032,7 @@ dma->dev = &pdev->dev; if (!dma->chancnt) { - dev_err(dev, "zero channels detected\n"); + dev_err(dev, "channel enumeration error\n"); goto err_setup_interrupts; } --- linux-2.6.32.orig/drivers/dma/ioat/dma.h +++ linux-2.6.32/drivers/dma/ioat/dma.h @@ -60,6 +60,7 @@ * @dca: direct cache access context * @intr_quirk: interrupt setup quirk (for ioat_v1 devices) * @enumerate_channels: hw version specific channel enumeration + * @reset_hw: hw version specific channel (re)initialization * @cleanup_tasklet: select between the v2 and v3 cleanup routines * @timer_fn: select between the v2 and v3 timer watchdog routines * @self_test: hardware version specific self test for each supported op type @@ -78,6 +79,7 @@ struct dca_provider *dca; void (*intr_quirk)(struct ioatdma_device *device); int (*enumerate_channels)(struct ioatdma_device *device); + int (*reset_hw)(struct ioat_chan_common *chan); void (*cleanup_tasklet)(unsigned long data); void (*timer_fn)(unsigned long data); int (*self_test)(struct ioatdma_device *device); @@ -264,6 +266,22 @@ writeb(IOAT_CHANCMD_SUSPEND, chan->reg_base + IOAT_CHANCMD_OFFSET(ver)); } +static inline void ioat_reset(struct ioat_chan_common *chan) +{ + u8 ver = chan->device->version; + + writeb(IOAT_CHANCMD_RESET, chan->reg_base + IOAT_CHANCMD_OFFSET(ver)); +} + +static inline bool ioat_reset_pending(struct ioat_chan_common *chan) +{ + u8 ver = chan->device->version; + u8 cmd; + + cmd = readb(chan->reg_base + IOAT_CHANCMD_OFFSET(ver)); + return (cmd & IOAT_CHANCMD_RESET) == IOAT_CHANCMD_RESET; +} + static inline void ioat_set_chainaddr(struct ioat_dma_chan *ioat, u64 addr) { struct ioat_chan_common *chan = &ioat->base; --- linux-2.6.32.orig/drivers/dma/ioat/dma_v2.c +++ linux-2.6.32/drivers/dma/ioat/dma_v2.c @@ -239,20 +239,50 @@ __ioat2_start_null_desc(ioat); } -static void ioat2_restart_channel(struct ioat2_dma_chan *ioat) +int ioat2_quiesce(struct ioat_chan_common *chan, unsigned long tmo) { - struct ioat_chan_common *chan = &ioat->base; - unsigned long phys_complete; + unsigned long end = jiffies + tmo; + int err = 0; u32 status; status = ioat_chansts(chan); if (is_ioat_active(status) || is_ioat_idle(status)) ioat_suspend(chan); while (is_ioat_active(status) || is_ioat_idle(status)) { + if (tmo && time_after(jiffies, end)) { + err = -ETIMEDOUT; + break; + } status = ioat_chansts(chan); cpu_relax(); } + return err; +} + +int ioat2_reset_sync(struct ioat_chan_common *chan, unsigned long tmo) +{ + unsigned long end = jiffies + tmo; + int err = 0; + + ioat_reset(chan); + while (ioat_reset_pending(chan)) { + if (end && time_after(jiffies, end)) { + err = -ETIMEDOUT; + break; + } + cpu_relax(); + } + + return err; +} + +static void ioat2_restart_channel(struct ioat2_dma_chan *ioat) +{ + struct ioat_chan_common *chan = &ioat->base; + unsigned long phys_complete; + + ioat2_quiesce(chan, 0); if (ioat_cleanup_preamble(chan, &phys_complete)) __cleanup(ioat, phys_complete); @@ -318,6 +348,19 @@ spin_unlock_bh(&chan->cleanup_lock); } +static int ioat2_reset_hw(struct ioat_chan_common *chan) +{ + /* throw away whatever the channel was doing and get it initialized */ + u32 chanerr; + + ioat2_quiesce(chan, msecs_to_jiffies(100)); + + chanerr = readl(chan->reg_base + IOAT_CHANERR_OFFSET); + writel(chanerr, chan->reg_base + IOAT_CHANERR_OFFSET); + + return ioat2_reset_sync(chan, msecs_to_jiffies(200)); +} + /** * ioat2_enumerate_channels - find and initialize the device's channels * @device: the device to be enumerated @@ -360,6 +403,10 @@ (unsigned long) ioat); ioat->xfercap_log = xfercap_log; spin_lock_init(&ioat->ring_lock); + if (device->reset_hw(&ioat->base)) { + i = 0; + break; + } } dma->chancnt = i; return i; @@ -467,7 +514,6 @@ struct ioat2_dma_chan *ioat = to_ioat2_chan(c); struct ioat_chan_common *chan = &ioat->base; struct ioat_ring_ent **ring; - u32 chanerr; int order; /* have we already been set up? */ @@ -477,12 +523,6 @@ /* Setup register to interrupt and write completion status on error */ writew(IOAT_CHANCTRL_RUN, chan->reg_base + IOAT_CHANCTRL_OFFSET); - chanerr = readl(chan->reg_base + IOAT_CHANERR_OFFSET); - if (chanerr) { - dev_err(to_dev(chan), "CHANERR = %x, clearing\n", chanerr); - writel(chanerr, chan->reg_base + IOAT_CHANERR_OFFSET); - } - /* allocate a completion writeback area */ /* doing 2 32bit writes to mmio since 1 64b write doesn't work */ chan->completion = pci_pool_alloc(chan->device->completion_pool, @@ -746,13 +786,7 @@ tasklet_disable(&chan->cleanup_task); del_timer_sync(&chan->timer); device->cleanup_tasklet((unsigned long) ioat); - - /* Delay 100ms after reset to allow internal DMA logic to quiesce - * before removing DMA descriptor resources. - */ - writeb(IOAT_CHANCMD_RESET, - chan->reg_base + IOAT_CHANCMD_OFFSET(chan->device->version)); - mdelay(100); + device->reset_hw(chan); spin_lock_bh(&ioat->ring_lock); descs = ioat2_ring_space(ioat); @@ -839,6 +873,7 @@ int err; device->enumerate_channels = ioat2_enumerate_channels; + device->reset_hw = ioat2_reset_hw; device->cleanup_tasklet = ioat2_cleanup_tasklet; device->timer_fn = ioat2_timer_event; device->self_test = ioat_dma_self_test; --- linux-2.6.32.orig/drivers/dma/ioat/dma_v2.h +++ linux-2.6.32/drivers/dma/ioat/dma_v2.h @@ -185,6 +185,8 @@ void __ioat2_issue_pending(struct ioat2_dma_chan *ioat); void ioat2_cleanup_tasklet(unsigned long data); void ioat2_timer_event(unsigned long data); +int ioat2_quiesce(struct ioat_chan_common *chan, unsigned long tmo); +int ioat2_reset_sync(struct ioat_chan_common *chan, unsigned long tmo); extern struct kobj_type ioat2_ktype; extern struct kmem_cache *ioat2_cache; #endif /* IOATDMA_V2_H */ --- linux-2.6.32.orig/drivers/dma/ioat/dma_v3.c +++ linux-2.6.32/drivers/dma/ioat/dma_v3.c @@ -650,9 +650,11 @@ num_descs = ioat2_xferlen_to_descs(ioat, len); /* we need 2x the number of descriptors to cover greater than 3 - * sources + * sources (we need 1 extra source in the q-only continuation + * case and 3 extra sources in the p+q continuation case. */ - if (src_cnt > 3 || flags & DMA_PREP_CONTINUE) { + if (src_cnt + dmaf_p_disabled_continue(flags) > 3 || + (dmaf_continue(flags) && !dmaf_p_disabled_continue(flags))) { with_ext = 1; num_descs *= 2; } else @@ -1128,6 +1130,45 @@ return 0; } +static int ioat3_reset_hw(struct ioat_chan_common *chan) +{ + /* throw away whatever the channel was doing and get it + * initialized, with ioat3 specific workarounds + */ + struct ioatdma_device *device = chan->device; + struct pci_dev *pdev = device->pdev; + u32 chanerr; + u16 dev_id; + int err; + + ioat2_quiesce(chan, msecs_to_jiffies(100)); + + chanerr = readl(chan->reg_base + IOAT_CHANERR_OFFSET); + writel(chanerr, chan->reg_base + IOAT_CHANERR_OFFSET); + + /* -= IOAT ver.3 workarounds =- */ + /* Write CHANERRMSK_INT with 3E07h to mask out the errors + * that can cause stability issues for IOAT ver.3, and clear any + * pending errors + */ + pci_write_config_dword(pdev, IOAT_PCI_CHANERRMASK_INT_OFFSET, 0x3e07); + err = pci_read_config_dword(pdev, IOAT_PCI_CHANERR_INT_OFFSET, &chanerr); + if (err) { + dev_err(&pdev->dev, "channel error register unreachable\n"); + return err; + } + pci_write_config_dword(pdev, IOAT_PCI_CHANERR_INT_OFFSET, chanerr); + + /* Clear DMAUNCERRSTS Cfg-Reg Parity Error status bit + * (workaround for spurious config parity error after restart) + */ + pci_read_config_word(pdev, IOAT_PCI_DEVICE_ID_OFFSET, &dev_id); + if (dev_id == PCI_DEVICE_ID_INTEL_IOAT_TBG0) + pci_write_config_dword(pdev, IOAT_PCI_DMAUNCERRSTS_OFFSET, 0x10); + + return ioat2_reset_sync(chan, msecs_to_jiffies(200)); +} + int __devinit ioat3_dma_probe(struct ioatdma_device *device, int dca) { struct pci_dev *pdev = device->pdev; @@ -1137,10 +1178,10 @@ struct ioat_chan_common *chan; bool is_raid_device = false; int err; - u16 dev_id; u32 cap; device->enumerate_channels = ioat2_enumerate_channels; + device->reset_hw = ioat3_reset_hw; device->self_test = ioat3_dma_self_test; dma = &device->common; dma->device_prep_dma_memcpy = ioat2_dma_prep_memcpy_lock; @@ -1216,19 +1257,6 @@ dma->device_prep_dma_xor_val = NULL; #endif - /* -= IOAT ver.3 workarounds =- */ - /* Write CHANERRMSK_INT with 3E07h to mask out the errors - * that can cause stability issues for IOAT ver.3 - */ - pci_write_config_dword(pdev, IOAT_PCI_CHANERRMASK_INT_OFFSET, 0x3e07); - - /* Clear DMAUNCERRSTS Cfg-Reg Parity Error status bit - * (workaround for spurious config parity error after restart) - */ - pci_read_config_word(pdev, IOAT_PCI_DEVICE_ID_OFFSET, &dev_id); - if (dev_id == PCI_DEVICE_ID_INTEL_IOAT_TBG0) - pci_write_config_dword(pdev, IOAT_PCI_DMAUNCERRSTS_OFFSET, 0x10); - err = ioat_probe(device); if (err) return err; --- linux-2.6.32.orig/drivers/dma/ioat/registers.h +++ linux-2.6.32/drivers/dma/ioat/registers.h @@ -27,6 +27,7 @@ #define IOAT_PCI_DEVICE_ID_OFFSET 0x02 #define IOAT_PCI_DMAUNCERRSTS_OFFSET 0x148 +#define IOAT_PCI_CHANERR_INT_OFFSET 0x180 #define IOAT_PCI_CHANERRMASK_INT_OFFSET 0x184 /* MMIO Device Registers */ --- linux-2.6.32.orig/drivers/edac/amd64_edac.c +++ linux-2.6.32/drivers/edac/amd64_edac.c @@ -13,6 +13,8 @@ static int ecc_enable_override; module_param(ecc_enable_override, int, 0644); +static struct msr *msrs; + /* Lookup table for all possible MC control instances */ struct amd64_pvt; static struct mem_ctl_info *mci_lookup[EDAC_MAX_NUMNODES]; @@ -154,7 +156,7 @@ default: amd64_printk(KERN_ERR, "Unsupported family!\n"); - break; + return -EINVAL; } return amd64_search_set_scrub_rate(pvt->misc_f3_ctl, *bandwidth, min_scrubrate); @@ -1489,7 +1491,7 @@ u64 chan_off; if (hi_range_sel) { - if (!(dct_sel_base_addr & 0xFFFFF800) && + if (!(dct_sel_base_addr & 0xFFFF0000) && hole_valid && (sys_addr >= 0x100000000ULL)) chan_off = hole_off << 16; else @@ -1626,7 +1628,7 @@ debugf1(" HoleOffset=0x%x HoleValid=0x%x IntlvSel=0x%x\n", hole_off, hole_valid, intlv_sel); - if (intlv_en || + if (intlv_en && (intlv_sel != ((sys_addr >> 12) & intlv_en))) return -EINVAL; @@ -2618,6 +2620,90 @@ return empty; } +/* get all cores on this DCT */ +static void get_cpus_on_this_dct_cpumask(struct cpumask *mask, int nid) +{ + int cpu; + + for_each_online_cpu(cpu) + if (amd_get_nb_id(cpu) == nid) + cpumask_set_cpu(cpu, mask); +} + +/* check MCG_CTL on all the cpus on this node */ +static bool amd64_nb_mce_bank_enabled_on_node(int nid) +{ + cpumask_var_t mask; + int cpu, nbe; + bool ret = false; + + if (!zalloc_cpumask_var(&mask, GFP_KERNEL)) { + amd64_printk(KERN_WARNING, "%s: error allocating mask\n", + __func__); + return false; + } + + get_cpus_on_this_dct_cpumask(mask, nid); + + rdmsr_on_cpus(mask, MSR_IA32_MCG_CTL, msrs); + + for_each_cpu(cpu, mask) { + struct msr *reg = per_cpu_ptr(msrs, cpu); + nbe = reg->l & K8_MSR_MCGCTL_NBE; + + debugf0("core: %u, MCG_CTL: 0x%llx, NB MSR is %s\n", + cpu, reg->q, + (nbe ? "enabled" : "disabled")); + + if (!nbe) + goto out; + } + ret = true; + +out: + free_cpumask_var(mask); + return ret; +} + +static int amd64_toggle_ecc_err_reporting(struct amd64_pvt *pvt, bool on) +{ + cpumask_var_t cmask; + int cpu; + + if (!zalloc_cpumask_var(&cmask, GFP_KERNEL)) { + amd64_printk(KERN_WARNING, "%s: error allocating mask\n", + __func__); + return false; + } + + get_cpus_on_this_dct_cpumask(cmask, pvt->mc_node_id); + + rdmsr_on_cpus(cmask, MSR_IA32_MCG_CTL, msrs); + + for_each_cpu(cpu, cmask) { + + struct msr *reg = per_cpu_ptr(msrs, cpu); + + if (on) { + if (reg->l & K8_MSR_MCGCTL_NBE) + pvt->flags.ecc_report = 1; + + reg->l |= K8_MSR_MCGCTL_NBE; + } else { + /* + * Turn off ECC reporting only when it was off before + */ + if (!pvt->flags.ecc_report) + reg->l &= ~K8_MSR_MCGCTL_NBE; + } + } + wrmsr_on_cpus(cmask, MSR_IA32_MCG_CTL, msrs); + + free_cpumask_var(cmask); + + return 0; +} + /* * Only if 'ecc_enable_override' is set AND BIOS had ECC disabled, do "we" * enable it. @@ -2625,17 +2711,12 @@ static void amd64_enable_ecc_error_reporting(struct mem_ctl_info *mci) { struct amd64_pvt *pvt = mci->pvt_info; - const cpumask_t *cpumask = cpumask_of_node(pvt->mc_node_id); - int cpu, idx = 0, err = 0; - struct msr msrs[cpumask_weight(cpumask)]; - u32 value; - u32 mask = K8_NBCTL_CECCEn | K8_NBCTL_UECCEn; + int err = 0; + u32 value, mask = K8_NBCTL_CECCEn | K8_NBCTL_UECCEn; if (!ecc_enable_override) return; - memset(msrs, 0, sizeof(msrs)); - amd64_printk(KERN_WARNING, "'ecc_enable_override' parameter is active, " "Enabling AMD ECC hardware now: CAUTION\n"); @@ -2651,16 +2732,9 @@ value |= mask; pci_write_config_dword(pvt->misc_f3_ctl, K8_NBCTL, value); - rdmsr_on_cpus(cpumask, K8_MSR_MCGCTL, msrs); - - for_each_cpu(cpu, cpumask) { - if (msrs[idx].l & K8_MSR_MCGCTL_NBE) - set_bit(idx, &pvt->old_mcgctl); - - msrs[idx].l |= K8_MSR_MCGCTL_NBE; - idx++; - } - wrmsr_on_cpus(cpumask, K8_MSR_MCGCTL, msrs); + if (amd64_toggle_ecc_err_reporting(pvt, ON)) + amd64_printk(KERN_WARNING, "Error enabling ECC reporting over " + "MCGCTL!\n"); err = pci_read_config_dword(pvt->misc_f3_ctl, K8_NBCFG, &value); if (err) @@ -2701,17 +2775,12 @@ static void amd64_restore_ecc_error_reporting(struct amd64_pvt *pvt) { - const cpumask_t *cpumask = cpumask_of_node(pvt->mc_node_id); - int cpu, idx = 0, err = 0; - struct msr msrs[cpumask_weight(cpumask)]; - u32 value; - u32 mask = K8_NBCTL_CECCEn | K8_NBCTL_UECCEn; + int err = 0; + u32 value, mask = K8_NBCTL_CECCEn | K8_NBCTL_UECCEn; if (!pvt->nbctl_mcgctl_saved) return; - memset(msrs, 0, sizeof(msrs)); - err = pci_read_config_dword(pvt->misc_f3_ctl, K8_NBCTL, &value); if (err) debugf0("Reading K8_NBCTL failed\n"); @@ -2721,66 +2790,9 @@ /* restore the NB Enable MCGCTL bit */ pci_write_config_dword(pvt->misc_f3_ctl, K8_NBCTL, value); - rdmsr_on_cpus(cpumask, K8_MSR_MCGCTL, msrs); - - for_each_cpu(cpu, cpumask) { - msrs[idx].l &= ~K8_MSR_MCGCTL_NBE; - msrs[idx].l |= - test_bit(idx, &pvt->old_mcgctl) << K8_MSR_MCGCTL_NBE; - idx++; - } - - wrmsr_on_cpus(cpumask, K8_MSR_MCGCTL, msrs); -} - -/* get all cores on this DCT */ -static void get_cpus_on_this_dct_cpumask(cpumask_t *mask, int nid) -{ - int cpu; - - for_each_online_cpu(cpu) - if (amd_get_nb_id(cpu) == nid) - cpumask_set_cpu(cpu, mask); -} - -/* check MCG_CTL on all the cpus on this node */ -static bool amd64_nb_mce_bank_enabled_on_node(int nid) -{ - cpumask_t mask; - struct msr *msrs; - int cpu, nbe, idx = 0; - bool ret = false; - - cpumask_clear(&mask); - - get_cpus_on_this_dct_cpumask(&mask, nid); - - msrs = kzalloc(sizeof(struct msr) * cpumask_weight(&mask), GFP_KERNEL); - if (!msrs) { - amd64_printk(KERN_WARNING, "%s: error allocating msrs\n", - __func__); - return false; - } - - rdmsr_on_cpus(&mask, MSR_IA32_MCG_CTL, msrs); - - for_each_cpu(cpu, &mask) { - nbe = msrs[idx].l & K8_MSR_MCGCTL_NBE; - - debugf0("core: %u, MCG_CTL: 0x%llx, NB MSR is %s\n", - cpu, msrs[idx].q, - (nbe ? "enabled" : "disabled")); - - if (!nbe) - goto out; - - idx++; - } - ret = true; - -out: - kfree(msrs); - return ret; + if (amd64_toggle_ecc_err_reporting(pvt, OFF)) + amd64_printk(KERN_WARNING, "Error restoring ECC reporting over " + "MCGCTL!\n"); } /* @@ -2789,10 +2801,11 @@ * the memory system completely. A command line option allows to force-enable * hardware ECC later in amd64_enable_ecc_error_reporting(). */ -static const char *ecc_warning = - "WARNING: ECC is disabled by BIOS. Module will NOT be loaded.\n" - " Either Enable ECC in the BIOS, or set 'ecc_enable_override'.\n" - " Also, use of the override can cause unknown side effects.\n"; +static const char *ecc_msg = + "ECC disabled in the BIOS or no ECC capability, module will not load.\n" + " Either enable ECC checking or force module loading by setting " + "'ecc_enable_override'.\n" + " (Note that use of the override may cause unknown side effects.)\n"; static int amd64_check_ecc_enabled(struct amd64_pvt *pvt) { @@ -2807,7 +2820,7 @@ ecc_enabled = !!(value & K8_NBCFG_ECC_ENABLE); if (!ecc_enabled) - amd64_printk(KERN_WARNING, "This node reports that Memory ECC " + amd64_printk(KERN_NOTICE, "This node reports that Memory ECC " "is currently disabled, set F3x%x[22] (%s).\n", K8_NBCFG, pci_name(pvt->misc_f3_ctl)); else @@ -2815,18 +2828,17 @@ nb_mce_en = amd64_nb_mce_bank_enabled_on_node(pvt->mc_node_id); if (!nb_mce_en) - amd64_printk(KERN_WARNING, "NB MCE bank disabled, set MSR " + amd64_printk(KERN_NOTICE, "NB MCE bank disabled, set MSR " "0x%08x[4] on node %d to enable.\n", MSR_IA32_MCG_CTL, pvt->mc_node_id); if (!ecc_enabled || !nb_mce_en) { if (!ecc_enable_override) { - amd64_printk(KERN_WARNING, "%s", ecc_warning); + amd64_printk(KERN_NOTICE, "%s", ecc_msg); return -ENODEV; } - } else - /* CLEAR the override, since BIOS controlled it */ ecc_enable_override = 0; + } return 0; } @@ -2909,7 +2921,6 @@ pvt->ext_model = boot_cpu_data.x86_model >> 4; pvt->mc_type_index = mc_type_index; pvt->ops = family_ops(mc_type_index); - pvt->old_mcgctl = 0; /* * We have the dram_f2_ctl device as an argument, now go reserve its @@ -3071,16 +3082,15 @@ amd64_free_mc_sibling_devices(pvt); - kfree(pvt); - mci->pvt_info = NULL; - - mci_lookup[pvt->mc_node_id] = NULL; - /* unregister from EDAC MCE */ amd_report_gart_errors(false); amd_unregister_ecc_decoder(amd64_decode_bus_error); /* Free the EDAC CORE resources */ + mci->pvt_info = NULL; + mci_lookup[pvt->mc_node_id] = NULL; + + kfree(pvt); edac_mc_free(mci); } @@ -3157,23 +3167,29 @@ static int __init amd64_edac_init(void) { int nb, err = -ENODEV; + bool load_ok = false; edac_printk(KERN_INFO, EDAC_MOD_STR, EDAC_AMD64_VERSION "\n"); opstate_init(); if (cache_k8_northbridges() < 0) - return err; + goto err_ret; + + msrs = msrs_alloc(); + if (!msrs) + goto err_ret; err = pci_register_driver(&amd64_pci_driver); if (err) - return err; + goto err_pci; /* * At this point, the array 'pvt_lookup[]' contains pointers to alloc'd * amd64_pvt structs. These will be used in the 2nd stage init function * to finish initialization of the MC instances. */ + err = -ENODEV; for (nb = 0; nb < num_k8_northbridges; nb++) { if (!pvt_lookup[nb]) continue; @@ -3181,16 +3197,21 @@ err = amd64_init_2nd_stage(pvt_lookup[nb]); if (err) goto err_2nd_stage; - } - amd64_setup_pci_device(); + load_ok = true; + } - return 0; + if (load_ok) { + amd64_setup_pci_device(); + return 0; + } err_2nd_stage: - debugf0("2nd stage failed\n"); pci_unregister_driver(&amd64_pci_driver); - +err_pci: + msrs_free(msrs); + msrs = NULL; +err_ret: return err; } @@ -3200,6 +3221,9 @@ edac_pci_release_generic_ctl(amd64_ctl_pci); pci_unregister_driver(&amd64_pci_driver); + + msrs_free(msrs); + msrs = NULL; } module_init(amd64_edac_init); --- linux-2.6.32.orig/drivers/edac/amd64_edac.h +++ linux-2.6.32/drivers/edac/amd64_edac.h @@ -147,6 +147,8 @@ #define MAX_CS_COUNT 8 #define DRAM_REG_COUNT 8 +#define ON true +#define OFF false /* * PCI-defined configuration space registers @@ -386,10 +388,7 @@ #define K8_NBCAP_DUAL_NODE BIT(1) #define K8_NBCAP_DCT_DUAL BIT(0) -/* - * MSR Regs - */ -#define K8_MSR_MCGCTL 0x017b +/* MSRs */ #define K8_MSR_MCGCTL_NBE BIT(4) #define K8_MSR_MC4CTL 0x0410 @@ -487,7 +486,6 @@ /* Save old hw registers' values before we modified them */ u32 nbctl_mcgctl_saved; /* When true, following 2 are valid */ u32 old_nbctl; - unsigned long old_mcgctl; /* per core on this node */ /* MC Type Index value: socket F vs Family 10h */ u32 mc_type_index; @@ -495,6 +493,7 @@ /* misc settings */ struct flags { unsigned long cf8_extcfg:1; + unsigned long ecc_report:1; } flags; }; --- linux-2.6.32.orig/drivers/edac/i5000_edac.c +++ linux-2.6.32/drivers/edac/i5000_edac.c @@ -577,7 +577,13 @@ debugf0("\tUncorrected bits= 0x%x\n", ue_errors); branch = EXTRACT_FBDCHAN_INDX(info->ferr_nf_fbd); - channel = branch; + + /* + * According with i5000 datasheet, bit 28 has no significance + * for errors M4Err-M12Err and M17Err-M21Err, on FERR_NF_FBD + */ + channel = branch & 2; + bank = NREC_BANK(info->nrecmema); rank = NREC_RANK(info->nrecmema); rdwr = NREC_RDWR(info->nrecmema); --- linux-2.6.32.orig/drivers/edac/edac_mce_amd.c +++ linux-2.6.32/drivers/edac/edac_mce_amd.c @@ -295,7 +295,6 @@ void amd_decode_nb_mce(int node_id, struct err_regs *regs, int handle_errors) { u32 ec = ERROR_CODE(regs->nbsl); - u32 xec = EXT_ERROR_CODE(regs->nbsl); if (!handle_errors) return; @@ -311,11 +310,15 @@ if (regs->nbsh & K8_NBSH_ERR_CPU_VAL) pr_cont(", core: %u\n", (u8)(regs->nbsh & 0xf)); } else { - pr_cont(", core: %d\n", ilog2((regs->nbsh & 0xf))); - } + u8 assoc_cpus = regs->nbsh & 0xf; + + if (assoc_cpus > 0) + pr_cont(", core: %d", fls(assoc_cpus) - 1); + pr_cont("\n"); + } - pr_emerg("%s.\n", EXT_ERR_MSG(xec)); + pr_emerg("%s.\n", EXT_ERR_MSG(regs->nbsl)); if (BUS_ERROR(ec) && nb_bus_decoder) nb_bus_decoder(node_id, regs); @@ -378,7 +381,7 @@ ((m->status & MCI_STATUS_PCC) ? "yes" : "no")); /* do the two bits[14:13] together */ - ecc = m->status & (3ULL << 45); + ecc = (m->status >> 45) & 0x3; if (ecc) pr_cont(", %sECC Error", ((ecc == 2) ? "C" : "U")); --- linux-2.6.32.orig/drivers/firewire/core-card.c +++ linux-2.6.32/drivers/firewire/core-card.c @@ -57,6 +57,9 @@ static LIST_HEAD(descriptor_list); static int descriptor_count; +/* ROM header, bus info block, root dir header, capabilities = 7 quadlets */ +static size_t config_rom_length = 1 + 4 + 1 + 1; + #define BIB_CRC(v) ((v) << 0) #define BIB_CRC_LENGTH(v) ((v) << 16) #define BIB_INFO_LENGTH(v) ((v) << 24) @@ -72,7 +75,7 @@ #define BIB_CMC ((1) << 30) #define BIB_IMC ((1) << 31) -static u32 *generate_config_rom(struct fw_card *card, size_t *config_rom_length) +static u32 *generate_config_rom(struct fw_card *card) { struct fw_descriptor *desc; static u32 config_rom[256]; @@ -131,7 +134,7 @@ for (i = 0; i < j; i += length + 1) length = fw_compute_block_crc(config_rom + i); - *config_rom_length = j; + WARN_ON(j != config_rom_length); return config_rom; } @@ -140,17 +143,24 @@ { struct fw_card *card; u32 *config_rom; - size_t length; list_for_each_entry (card, &card_list, link) { - config_rom = generate_config_rom(card, &length); - card->driver->set_config_rom(card, config_rom, length); + config_rom = generate_config_rom(card); + card->driver->set_config_rom(card, config_rom, + config_rom_length); } } +static size_t required_space(struct fw_descriptor *desc) +{ + /* descriptor + entry into root dir + optional immediate entry */ + return desc->length + 1 + (desc->immediate > 0 ? 1 : 0); +} + int fw_core_add_descriptor(struct fw_descriptor *desc) { size_t i; + int ret; /* * Check descriptor is valid; the length of all blocks in the @@ -166,15 +176,21 @@ mutex_lock(&card_mutex); - list_add_tail(&desc->link, &descriptor_list); - descriptor_count++; - if (desc->immediate > 0) + if (config_rom_length + required_space(desc) > 256) { + ret = -EBUSY; + } else { + list_add_tail(&desc->link, &descriptor_list); + config_rom_length += required_space(desc); descriptor_count++; - update_config_roms(); + if (desc->immediate > 0) + descriptor_count++; + update_config_roms(); + ret = 0; + } mutex_unlock(&card_mutex); - return 0; + return ret; } EXPORT_SYMBOL(fw_core_add_descriptor); @@ -183,6 +199,7 @@ mutex_lock(&card_mutex); list_del(&desc->link); + config_rom_length -= required_space(desc); descriptor_count--; if (desc->immediate > 0) descriptor_count--; @@ -222,7 +239,7 @@ static void fw_card_bm_work(struct work_struct *work) { struct fw_card *card = container_of(work, struct fw_card, work.work); - struct fw_device *root_device; + struct fw_device *root_device, *irm_device; struct fw_node *root_node; unsigned long flags; int root_id, new_root_id, irm_id, local_id; @@ -230,6 +247,7 @@ bool do_reset = false; bool root_device_is_running; bool root_device_is_cmc; + bool irm_is_1394_1995_only; spin_lock_irqsave(&card->lock, flags); @@ -239,12 +257,18 @@ } generation = card->generation; + root_node = card->root_node; fw_node_get(root_node); root_device = root_node->data; root_device_is_running = root_device && atomic_read(&root_device->state) == FW_DEVICE_RUNNING; root_device_is_cmc = root_device && root_device->cmc; + + irm_device = card->irm_node->data; + irm_is_1394_1995_only = irm_device && irm_device->config_rom && + (irm_device->config_rom[2] & 0x000000f0) == 0; + root_id = root_node->node_id; irm_id = card->irm_node->node_id; local_id = card->local_node->node_id; @@ -267,8 +291,15 @@ if (!card->irm_node->link_on) { new_root_id = local_id; - fw_notify("IRM has link off, making local node (%02x) root.\n", - new_root_id); + fw_notify("%s, making local node (%02x) root.\n", + "IRM has link off", new_root_id); + goto pick_me; + } + + if (irm_is_1394_1995_only) { + new_root_id = local_id; + fw_notify("%s, making local node (%02x) root.\n", + "IRM is not 1394a compliant", new_root_id); goto pick_me; } @@ -307,8 +338,8 @@ * root, and thus, IRM. */ new_root_id = local_id; - fw_notify("BM lock failed, making local node (%02x) root.\n", - new_root_id); + fw_notify("%s, making local node (%02x) root.\n", + "BM lock failed", new_root_id); goto pick_me; } } else if (card->bm_generation != generation) { @@ -436,7 +467,6 @@ u32 max_receive, u32 link_speed, u64 guid) { u32 *config_rom; - size_t length; int ret; card->max_receive = max_receive; @@ -445,8 +475,8 @@ mutex_lock(&card_mutex); - config_rom = generate_config_rom(card, &length); - ret = card->driver->enable(card, config_rom, length); + config_rom = generate_config_rom(card); + ret = card->driver->enable(card, config_rom, config_rom_length); if (ret == 0) list_add_tail(&card->link, &card_list); --- linux-2.6.32.orig/drivers/firewire/core-cdev.c +++ linux-2.6.32/drivers/firewire/core-cdev.c @@ -1299,24 +1299,24 @@ int ret; if (_IOC_TYPE(cmd) != '#' || - _IOC_NR(cmd) >= ARRAY_SIZE(ioctl_handlers)) + _IOC_NR(cmd) >= ARRAY_SIZE(ioctl_handlers) || + _IOC_SIZE(cmd) > sizeof(buffer)) return -EINVAL; - if (_IOC_DIR(cmd) & _IOC_WRITE) { - if (_IOC_SIZE(cmd) > sizeof(buffer) || - copy_from_user(buffer, arg, _IOC_SIZE(cmd))) + if (_IOC_DIR(cmd) == _IOC_READ) + memset(&buffer, 0, _IOC_SIZE(cmd)); + + if (_IOC_DIR(cmd) & _IOC_WRITE) + if (copy_from_user(buffer, arg, _IOC_SIZE(cmd))) return -EFAULT; - } ret = ioctl_handlers[_IOC_NR(cmd)](client, buffer); if (ret < 0) return ret; - if (_IOC_DIR(cmd) & _IOC_READ) { - if (_IOC_SIZE(cmd) > sizeof(buffer) || - copy_to_user(arg, buffer, _IOC_SIZE(cmd))) + if (_IOC_DIR(cmd) & _IOC_READ) + if (copy_to_user(arg, buffer, _IOC_SIZE(cmd))) return -EFAULT; - } return ret; } --- linux-2.6.32.orig/drivers/firewire/core-device.c +++ linux-2.6.32/drivers/firewire/core-device.c @@ -463,6 +463,7 @@ return -ENOMEM; stack = &rom[READ_BIB_ROM_SIZE]; + memset(rom, 0, sizeof(*rom) * READ_BIB_ROM_SIZE); device->max_speed = SCODE_100; --- linux-2.6.32.orig/drivers/firewire/ohci.c +++ linux-2.6.32/drivers/firewire/ohci.c @@ -628,7 +628,7 @@ d = &ab->descriptor; if (d->res_count == 0) { - size_t size, rest, offset; + size_t size, size2, rest, pktsize, size3, offset; dma_addr_t start_bus; void *start; @@ -639,25 +639,61 @@ */ offset = offsetof(struct ar_buffer, data); - start = buffer = ab; + start = ab; start_bus = le32_to_cpu(ab->descriptor.data_address) - offset; + buffer = ab->data; ab = ab->next; d = &ab->descriptor; - size = buffer + PAGE_SIZE - ctx->pointer; + size = start + PAGE_SIZE - ctx->pointer; + /* valid buffer data in the next page */ rest = le16_to_cpu(d->req_count) - le16_to_cpu(d->res_count); + /* what actually fits in this page */ + size2 = min(rest, (size_t)PAGE_SIZE - offset - size); memmove(buffer, ctx->pointer, size); - memcpy(buffer + size, ab->data, rest); - ctx->current_buffer = ab; - ctx->pointer = (void *) ab->data + rest; - end = buffer + size + rest; + memcpy(buffer + size, ab->data, size2); - while (buffer < end) - buffer = handle_ar_packet(ctx, buffer); + while (size > 0) { + void *next = handle_ar_packet(ctx, buffer); + pktsize = next - buffer; + if (pktsize >= size) { + /* + * We have handled all the data that was + * originally in this page, so we can now + * continue in the next page. + */ + buffer = next; + break; + } + /* move the next packet to the start of the buffer */ + memmove(buffer, next, size + size2 - pktsize); + size -= pktsize; + /* fill up this page again */ + size3 = min(rest - size2, + (size_t)PAGE_SIZE - offset - size - size2); + memcpy(buffer + size + size2, + (void *) ab->data + size2, size3); + size2 += size3; + } - dma_free_coherent(ohci->card.device, PAGE_SIZE, - start, start_bus); - ar_context_add_page(ctx); + if (rest > 0) { + /* handle the packets that are fully in the next page */ + buffer = (void *) ab->data + + (buffer - (start + offset + size)); + end = (void *) ab->data + rest; + + while (buffer < end) + buffer = handle_ar_packet(ctx, buffer); + + ctx->current_buffer = ab; + ctx->pointer = end; + + dma_free_coherent(ohci->card.device, PAGE_SIZE, + start, start_bus); + ar_context_add_page(ctx); + } else { + ctx->pointer = start + PAGE_SIZE; + } } else { buffer = ctx->pointer; ctx->pointer = end = @@ -2209,6 +2245,13 @@ page = payload >> PAGE_SHIFT; offset = payload & ~PAGE_MASK; rest = p->payload_length; + /* + * The controllers I've tested have not worked correctly when + * second_req_count is zero. Rather than do something we know won't + * work, return an error + */ + if (rest == 0) + return -EINVAL; /* FIXME: make packet-per-buffer/dual-buffer a context option */ while (rest > 0) { @@ -2262,7 +2305,7 @@ unsigned long payload) { struct iso_context *ctx = container_of(base, struct iso_context, base); - struct descriptor *d = NULL, *pd = NULL; + struct descriptor *d, *pd; struct fw_iso_packet *p = packet; dma_addr_t d_bus, page_bus; u32 z, header_z, rest; @@ -2300,8 +2343,9 @@ d->data_address = cpu_to_le32(d_bus + (z * sizeof(*d))); rest = payload_per_buffer; + pd = d; for (j = 1; j < z; j++) { - pd = d + j; + pd++; pd->control = cpu_to_le16(DESCRIPTOR_STATUS | DESCRIPTOR_INPUT_MORE); @@ -2404,6 +2448,7 @@ #define PCI_VENDOR_ID_AGERE PCI_VENDOR_ID_ATT #define PCI_DEVICE_ID_AGERE_FW643 0x5901 +#define PCI_DEVICE_ID_TI_TSB43AB23 0x8024 static int __devinit pci_probe(struct pci_dev *dev, const struct pci_device_id *ent) @@ -2469,7 +2514,8 @@ #if !defined(CONFIG_X86_32) /* dual-buffer mode is broken with descriptor addresses above 2G */ if (dev->vendor == PCI_VENDOR_ID_TI && - dev->device == PCI_DEVICE_ID_TI_TSB43AB22) + (dev->device == PCI_DEVICE_ID_TI_TSB43AB22 || + dev->device == PCI_DEVICE_ID_TI_TSB43AB23)) ohci->use_dualbuffer = false; #endif --- linux-2.6.32.orig/drivers/firmware/dcdbas.c +++ linux-2.6.32/drivers/firmware/dcdbas.c @@ -267,8 +267,10 @@ } /* generate SMI */ + /* inb to force posted write through and make SMI happen now */ asm volatile ( - "outb %b0,%w1" + "outb %b0,%w1\n" + "inb %w1" : /* no output args */ : "a" (smi_cmd->command_code), "d" (smi_cmd->command_address), --- linux-2.6.32.orig/drivers/firmware/dmi_scan.c +++ linux-2.6.32/drivers/firmware/dmi_scan.c @@ -429,7 +429,7 @@ for (i = 0; i < ARRAY_SIZE(dmi->matches); i++) { int s = dmi->matches[i].slot; if (s == DMI_NONE) - continue; + break; if (dmi_ident[s] && strstr(dmi_ident[s], dmi->matches[i].substr)) continue; @@ -440,6 +440,15 @@ } /** + * dmi_is_end_of_table - check for end-of-table marker + * @dmi: pointer to the dmi_system_id structure to check + */ +static bool dmi_is_end_of_table(const struct dmi_system_id *dmi) +{ + return dmi->matches[0].slot == DMI_NONE; +} + +/** * dmi_check_system - check system DMI data * @list: array of dmi_system_id structures to match against * All non-null elements of the list must match @@ -457,7 +466,7 @@ int count = 0; const struct dmi_system_id *d; - for (d = list; d->ident; d++) + for (d = list; !dmi_is_end_of_table(d); d++) if (dmi_matches(d)) { count++; if (d->callback && d->callback(d)) @@ -484,7 +493,7 @@ { const struct dmi_system_id *d; - for (d = list; d->ident; d++) + for (d = list; !dmi_is_end_of_table(d); d++) if (dmi_matches(d)) return d; --- linux-2.6.32.orig/drivers/gpio/wm831x-gpio.c +++ linux-2.6.32/drivers/gpio/wm831x-gpio.c @@ -61,23 +61,31 @@ return 0; } -static int wm831x_gpio_direction_out(struct gpio_chip *chip, - unsigned offset, int value) +static void wm831x_gpio_set(struct gpio_chip *chip, unsigned offset, int value) { struct wm831x_gpio *wm831x_gpio = to_wm831x_gpio(chip); struct wm831x *wm831x = wm831x_gpio->wm831x; - return wm831x_set_bits(wm831x, WM831X_GPIO1_CONTROL + offset, - WM831X_GPN_DIR | WM831X_GPN_TRI, 0); + wm831x_set_bits(wm831x, WM831X_GPIO_LEVEL, 1 << offset, + value << offset); } -static void wm831x_gpio_set(struct gpio_chip *chip, unsigned offset, int value) +static int wm831x_gpio_direction_out(struct gpio_chip *chip, + unsigned offset, int value) { struct wm831x_gpio *wm831x_gpio = to_wm831x_gpio(chip); struct wm831x *wm831x = wm831x_gpio->wm831x; + int ret; - wm831x_set_bits(wm831x, WM831X_GPIO_LEVEL, 1 << offset, - value << offset); + ret = wm831x_set_bits(wm831x, WM831X_GPIO1_CONTROL + offset, + WM831X_GPN_DIR | WM831X_GPN_TRI, 0); + if (ret < 0) + return ret; + + /* Can only set GPIO state once it's in output mode */ + wm831x_gpio_set(chip, offset, value); + + return 0; } #ifdef CONFIG_DEBUG_FS --- linux-2.6.32.orig/drivers/gpu/drm/Kconfig +++ linux-2.6.32/drivers/gpu/drm/Kconfig @@ -66,6 +66,8 @@ If M is selected, the module will be called radeon. +source "drivers/gpu/drm/radeon/Kconfig" + config DRM_I810 tristate "Intel I810" depends on DRM && AGP && AGP_INTEL @@ -92,7 +94,10 @@ config DRM_I915 tristate "i915 driver" 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 --- linux-2.6.32.orig/drivers/gpu/drm/Makefile +++ linux-2.6.32/drivers/gpu/drm/Makefile @@ -15,7 +15,7 @@ drm-$(CONFIG_COMPAT) += drm_ioc32.o -drm_kms_helper-y := drm_fb_helper.o drm_crtc_helper.o +drm_kms_helper-y := drm_fb_helper.o drm_crtc_helper.o drm_dp_i2c_helper.o obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o @@ -30,4 +30,7 @@ obj-$(CONFIG_DRM_I915) += i915/ obj-$(CONFIG_DRM_SIS) += sis/ obj-$(CONFIG_DRM_SAVAGE)+= savage/ +obj-$(CONFIG_DRM_VMWGFX)+= vmwgfx/ obj-$(CONFIG_DRM_VIA) +=via/ +obj-$(CONFIG_DRM_NOUVEAU) +=nouveau/ +obj-y += i2c/ --- linux-2.6.32.orig/drivers/gpu/drm/ati_pcigart.c +++ linux-2.6.32/drivers/gpu/drm/ati_pcigart.c @@ -39,8 +39,7 @@ struct drm_ati_pcigart_info *gart_info) { gart_info->table_handle = drm_pci_alloc(dev, gart_info->table_size, - PAGE_SIZE, - gart_info->table_mask); + PAGE_SIZE); if (gart_info->table_handle == NULL) return -ENOMEM; @@ -112,6 +111,13 @@ if (gart_info->gart_table_location == DRM_ATI_GART_MAIN) { DRM_DEBUG("PCI: no table in VRAM: using normal RAM\n"); + if (pci_set_dma_mask(dev->pdev, gart_info->table_mask)) { + DRM_ERROR("fail to set dma mask to 0x%Lx\n", + (unsigned long long)gart_info->table_mask); + ret = 1; + goto done; + } + ret = drm_ati_alloc_pcigart_table(dev, gart_info); if (ret) { DRM_ERROR("cannot allocate PCI GART page!\n"); --- linux-2.6.32.orig/drivers/gpu/drm/drm_auth.c +++ linux-2.6.32/drivers/gpu/drm/drm_auth.c @@ -102,7 +102,7 @@ * Searches and unlinks the entry in drm_device::magiclist with the magic * number hash key, while holding the drm_device::struct_mutex lock. */ -static int drm_remove_magic(struct drm_master *master, drm_magic_t magic) +int drm_remove_magic(struct drm_master *master, drm_magic_t magic) { struct drm_magic_entry *pt; struct drm_hash_item *hash; @@ -137,6 +137,8 @@ * If there is a magic number in drm_file::magic then use it, otherwise * searches an unique non-zero magic number and add it associating it with \p * file_priv. + * This ioctl needs protection by the drm_global_mutex, which protects + * struct drm_file::magic and struct drm_magic_entry::priv. */ int drm_getmagic(struct drm_device *dev, void *data, struct drm_file *file_priv) { @@ -174,6 +176,8 @@ * \return zero if authentication successed, or a negative number otherwise. * * Checks if \p file_priv is associated with the magic number passed in \arg. + * This ioctl needs protection by the drm_global_mutex, which protects + * struct drm_file::magic and struct drm_magic_entry::priv. */ int drm_authmagic(struct drm_device *dev, void *data, struct drm_file *file_priv) --- linux-2.6.32.orig/drivers/gpu/drm/drm_bufs.c +++ linux-2.6.32/drivers/gpu/drm/drm_bufs.c @@ -326,7 +326,7 @@ * As we're limiting the address to 2^32-1 (or less), * casting it down to 32 bits is no problem, but we * need to point to a 64bit variable first. */ - dmah = drm_pci_alloc(dev, map->size, map->size, 0xffffffffUL); + dmah = drm_pci_alloc(dev, map->size, map->size); if (!dmah) { kfree(map); return -ENOMEM; @@ -885,7 +885,7 @@ while (entry->buf_count < count) { - dmah = drm_pci_alloc(dev, PAGE_SIZE << page_order, 0x1000, 0xfffffffful); + dmah = drm_pci_alloc(dev, PAGE_SIZE << page_order, 0x1000); if (!dmah) { /* Set count correctly so we free the proper amount. */ --- linux-2.6.32.orig/drivers/gpu/drm/drm_crtc.c +++ linux-2.6.32/drivers/gpu/drm/drm_crtc.c @@ -125,6 +125,15 @@ DRM_ENUM_NAME_FN(drm_get_tv_subconnector_name, drm_tv_subconnector_enum_list) +static struct drm_prop_enum_list drm_dirty_info_enum_list[] = { + { DRM_MODE_DIRTY_OFF, "Off" }, + { DRM_MODE_DIRTY_ON, "On" }, + { DRM_MODE_DIRTY_ANNOTATE, "Annotate" }, +}; + +DRM_ENUM_NAME_FN(drm_get_dirty_info_name, + drm_dirty_info_enum_list) + struct drm_conn_prop_enum_list { int type; char *name; @@ -144,11 +153,12 @@ { DRM_MODE_CONNECTOR_SVIDEO, "SVIDEO", 0 }, { DRM_MODE_CONNECTOR_LVDS, "LVDS", 0 }, { DRM_MODE_CONNECTOR_Component, "Component", 0 }, - { DRM_MODE_CONNECTOR_9PinDIN, "9-pin DIN", 0 }, - { DRM_MODE_CONNECTOR_DisplayPort, "DisplayPort", 0 }, - { DRM_MODE_CONNECTOR_HDMIA, "HDMI Type A", 0 }, - { DRM_MODE_CONNECTOR_HDMIB, "HDMI Type B", 0 }, + { DRM_MODE_CONNECTOR_9PinDIN, "DIN", 0 }, + { DRM_MODE_CONNECTOR_DisplayPort, "DP", 0 }, + { DRM_MODE_CONNECTOR_HDMIA, "HDMI-A", 0 }, + { DRM_MODE_CONNECTOR_HDMIB, "HDMI-B", 0 }, { DRM_MODE_CONNECTOR_TV, "TV", 0 }, + { DRM_MODE_CONNECTOR_eDP, "eDP", 0 }, }; static struct drm_prop_enum_list drm_encoder_enum_list[] = @@ -247,7 +257,8 @@ mutex_unlock(&dev->mode_config.idr_mutex); } -void *drm_mode_object_find(struct drm_device *dev, uint32_t id, uint32_t type) +struct drm_mode_object *drm_mode_object_find(struct drm_device *dev, + uint32_t id, uint32_t type) { struct drm_mode_object *obj = NULL; @@ -272,7 +283,7 @@ * functions & device file and adds it to the master fd list. * * RETURNS: - * Zero on success, error code on falure. + * Zero on success, error code on failure. */ int drm_framebuffer_init(struct drm_device *dev, struct drm_framebuffer *fb, const struct drm_framebuffer_funcs *funcs) @@ -802,6 +813,36 @@ EXPORT_SYMBOL(drm_mode_create_dithering_property); /** + * drm_mode_create_dirty_property - create dirty property + * @dev: DRM device + * + * Called by a driver the first time it's needed, must be attached to desired + * connectors. + */ +int drm_mode_create_dirty_info_property(struct drm_device *dev) +{ + struct drm_property *dirty_info; + int i; + + if (dev->mode_config.dirty_info_property) + return 0; + + dirty_info = + drm_property_create(dev, DRM_MODE_PROP_ENUM | + DRM_MODE_PROP_IMMUTABLE, + "dirty", + ARRAY_SIZE(drm_dirty_info_enum_list)); + for (i = 0; i < ARRAY_SIZE(drm_dirty_info_enum_list); i++) + drm_property_add_enum(dirty_info, i, + drm_dirty_info_enum_list[i].type, + drm_dirty_info_enum_list[i].name); + dev->mode_config.dirty_info_property = dirty_info; + + return 0; +} +EXPORT_SYMBOL(drm_mode_create_dirty_info_property); + +/** * drm_mode_config_init - initialize DRM mode_configuration structure * @dev: DRM device * @@ -1753,6 +1794,71 @@ return ret; } +int drm_mode_dirtyfb_ioctl(struct drm_device *dev, + void *data, struct drm_file *file_priv) +{ + struct drm_clip_rect __user *clips_ptr; + struct drm_clip_rect *clips = NULL; + struct drm_mode_fb_dirty_cmd *r = data; + struct drm_mode_object *obj; + struct drm_framebuffer *fb; + unsigned flags; + int num_clips; + int ret = 0; + + mutex_lock(&dev->mode_config.mutex); + obj = drm_mode_object_find(dev, r->fb_id, DRM_MODE_OBJECT_FB); + if (!obj) { + DRM_ERROR("invalid framebuffer id\n"); + ret = -EINVAL; + goto out_err1; + } + fb = obj_to_fb(obj); + + num_clips = r->num_clips; + clips_ptr = (struct drm_clip_rect *)(unsigned long)r->clips_ptr; + + if (!num_clips != !clips_ptr) { + ret = -EINVAL; + goto out_err1; + } + + flags = DRM_MODE_FB_DIRTY_FLAGS & r->flags; + + /* If userspace annotates copy, clips must come in pairs */ + if (flags & DRM_MODE_FB_DIRTY_ANNOTATE_COPY && (num_clips % 2)) { + ret = -EINVAL; + goto out_err1; + } + + if (num_clips && clips_ptr) { + clips = kzalloc(num_clips * sizeof(*clips), GFP_KERNEL); + if (!clips) { + ret = -ENOMEM; + goto out_err1; + } + + ret = copy_from_user(clips, clips_ptr, + num_clips * sizeof(*clips)); + if (ret) + goto out_err2; + } + + if (fb->funcs->dirty) { + ret = fb->funcs->dirty(fb, flags, r->color, clips, num_clips); + } else { + ret = -ENOSYS; + goto out_err2; + } + +out_err2: + kfree(clips); +out_err1: + mutex_unlock(&dev->mode_config.mutex); + return ret; +} + + /** * drm_fb_release - remove and free the FBs on this file * @filp: file * from the ioctl @@ -2328,7 +2434,7 @@ } else if (connector->funcs->set_property) ret = connector->funcs->set_property(connector, property, out_resp->value); - /* store the property value if succesful */ + /* store the property value if successful */ if (!ret) drm_connector_property_set_value(connector, property, out_resp->value); out: @@ -2478,3 +2584,72 @@ mutex_unlock(&dev->mode_config.mutex); return ret; } + +int drm_mode_page_flip_ioctl(struct drm_device *dev, + void *data, struct drm_file *file_priv) +{ + struct drm_mode_crtc_page_flip *page_flip = data; + struct drm_mode_object *obj; + struct drm_crtc *crtc; + struct drm_framebuffer *fb; + struct drm_pending_vblank_event *e = NULL; + unsigned long flags; + int ret = -EINVAL; + + if (page_flip->flags & ~DRM_MODE_PAGE_FLIP_FLAGS || + page_flip->reserved != 0) + return -EINVAL; + + mutex_lock(&dev->mode_config.mutex); + obj = drm_mode_object_find(dev, page_flip->crtc_id, DRM_MODE_OBJECT_CRTC); + if (!obj) + goto out; + crtc = obj_to_crtc(obj); + + if (crtc->funcs->page_flip == NULL) + goto out; + + obj = drm_mode_object_find(dev, page_flip->fb_id, DRM_MODE_OBJECT_FB); + if (!obj) + goto out; + fb = obj_to_fb(obj); + + if (page_flip->flags & DRM_MODE_PAGE_FLIP_EVENT) { + ret = -ENOMEM; + spin_lock_irqsave(&dev->event_lock, flags); + if (file_priv->event_space < sizeof e->event) { + spin_unlock_irqrestore(&dev->event_lock, flags); + goto out; + } + file_priv->event_space -= sizeof e->event; + spin_unlock_irqrestore(&dev->event_lock, flags); + + e = kzalloc(sizeof *e, GFP_KERNEL); + if (e == NULL) { + spin_lock_irqsave(&dev->event_lock, flags); + file_priv->event_space += sizeof e->event; + spin_unlock_irqrestore(&dev->event_lock, flags); + goto out; + } + + e->event.base.type = DRM_EVENT_FLIP_COMPLETE; + e->event.base.length = sizeof e->event; + e->event.user_data = page_flip->user_data; + e->base.event = &e->event.base; + e->base.file_priv = file_priv; + e->base.destroy = + (void (*) (struct drm_pending_event *)) kfree; + } + + ret = crtc->funcs->page_flip(crtc, fb, e); + if (ret) { + spin_lock_irqsave(&dev->event_lock, flags); + file_priv->event_space += sizeof e->event; + spin_unlock_irqrestore(&dev->event_lock, flags); + kfree(e); + } + +out: + mutex_unlock(&dev->mode_config.mutex); + return ret; +} --- linux-2.6.32.orig/drivers/gpu/drm/drm_crtc_helper.c +++ linux-2.6.32/drivers/gpu/drm/drm_crtc_helper.c @@ -104,12 +104,13 @@ if (connector->status == connector_status_disconnected) { DRM_DEBUG_KMS("%s is disconnected\n", drm_get_connector_name(connector)); + drm_mode_connector_update_edid_property(connector, NULL); goto prune; } count = (*connector_funcs->get_modes)(connector); if (!count) { - count = drm_add_modes_noedid(connector, 800, 600); + count = drm_add_modes_noedid(connector, 1024, 768); if (!count) return 0; } @@ -216,7 +217,7 @@ EXPORT_SYMBOL(drm_helper_crtc_in_use); /** - * drm_disable_unused_functions - disable unused objects + * drm_helper_disable_unused_functions - disable unused objects * @dev: DRM device * * LOCKING: @@ -702,7 +703,7 @@ if (encoder->crtc != crtc) continue; - DRM_INFO("%s: set mode %s %x\n", drm_get_encoder_name(encoder), + DRM_DEBUG("%s: set mode %s %x\n", drm_get_encoder_name(encoder), mode->name, mode->base.id); encoder_funcs = encoder->helper_private; encoder_funcs->mode_set(encoder, mode, adjusted_mode); @@ -924,13 +925,13 @@ mode_changed = true; if (mode_changed) { - old_fb = set->crtc->fb; - set->crtc->fb = set->fb; set->crtc->enabled = (set->mode != NULL); if (set->mode != NULL) { DRM_DEBUG_KMS("attempting to set mode from" " userspace\n"); drm_mode_debug_printmodeline(set->mode); + old_fb = set->crtc->fb; + set->crtc->fb = set->fb; if (!drm_crtc_helper_set_mode(set->crtc, set->mode, set->x, set->y, old_fb)) { @@ -1020,6 +1021,9 @@ { int count = 0; + /* disable all the possible outputs/crtcs before entering KMS mode */ + drm_helper_disable_unused_functions(dev); + drm_fb_helper_parse_command_line(dev); count = drm_helper_probe_connector_modes(dev, @@ -1029,7 +1033,8 @@ /* * we shouldn't end up with no modes here. */ - WARN(!count, "No connectors reported connected with modes\n"); + if (count == 0) + printk(KERN_INFO "No connectors reported connected with modes\n"); drm_setup_crtcs(dev); @@ -1159,6 +1164,9 @@ int drm_helper_resume_force_mode(struct drm_device *dev) { struct drm_crtc *crtc; + struct drm_encoder *encoder; + struct drm_encoder_helper_funcs *encoder_funcs; + struct drm_crtc_helper_funcs *crtc_funcs; int ret; list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { @@ -1171,6 +1179,25 @@ if (ret == false) DRM_ERROR("failed to set mode on crtc %p\n", crtc); + + /* Turn off outputs that were already powered off */ + if (drm_helper_choose_crtc_dpms(crtc)) { + list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { + + if(encoder->crtc != crtc) + continue; + + encoder_funcs = encoder->helper_private; + if (encoder_funcs->dpms) + (*encoder_funcs->dpms) (encoder, + drm_helper_choose_encoder_dpms(encoder)); + + crtc_funcs = crtc->helper_private; + if (crtc_funcs->dpms) + (*crtc_funcs->dpms) (crtc, + drm_helper_choose_crtc_dpms(crtc)); + } + } } /* disable the unused connectors while restoring the modesetting */ drm_helper_disable_unused_functions(dev); --- linux-2.6.32.orig/drivers/gpu/drm/drm_drv.c +++ linux-2.6.32/drivers/gpu/drm/drm_drv.c @@ -145,6 +145,8 @@ DRM_IOCTL_DEF(DRM_IOCTL_MODE_GETFB, drm_mode_getfb, DRM_MASTER|DRM_CONTROL_ALLOW), DRM_IOCTL_DEF(DRM_IOCTL_MODE_ADDFB, drm_mode_addfb, DRM_MASTER|DRM_CONTROL_ALLOW), DRM_IOCTL_DEF(DRM_IOCTL_MODE_RMFB, drm_mode_rmfb, DRM_MASTER|DRM_CONTROL_ALLOW), + DRM_IOCTL_DEF(DRM_IOCTL_MODE_PAGE_FLIP, drm_mode_page_flip_ioctl, DRM_MASTER|DRM_CONTROL_ALLOW), + DRM_IOCTL_DEF(DRM_IOCTL_MODE_DIRTYFB, drm_mode_dirtyfb_ioctl, DRM_MASTER|DRM_CONTROL_ALLOW) }; #define DRM_CORE_IOCTL_COUNT ARRAY_SIZE( drm_ioctls ) @@ -366,6 +368,29 @@ module_exit(drm_core_exit); /** + * Copy and IOCTL return string to user space + */ +static int drm_copy_field(char *buf, size_t *buf_len, const char *value) +{ + int len; + + /* don't overflow userbuf */ + len = strlen(value); + if (len > *buf_len) + len = *buf_len; + + /* let userspace know exact length of driver value (which could be + * larger than the userspace-supplied buffer) */ + *buf_len = strlen(value); + + /* finally, try filling in the userbuf */ + if (len && buf) + if (copy_to_user(buf, value, len)) + return -EFAULT; + return 0; +} + +/** * Get version information * * \param inode device inode. @@ -380,16 +405,21 @@ struct drm_file *file_priv) { struct drm_version *version = data; - int len; + int err; version->version_major = dev->driver->major; version->version_minor = dev->driver->minor; version->version_patchlevel = dev->driver->patchlevel; - DRM_COPY(version->name, dev->driver->name); - DRM_COPY(version->date, dev->driver->date); - DRM_COPY(version->desc, dev->driver->desc); + err = drm_copy_field(version->name, &version->name_len, + dev->driver->name); + if (!err) + err = drm_copy_field(version->date, &version->date_len, + dev->driver->date); + if (!err) + err = drm_copy_field(version->desc, &version->desc_len, + dev->driver->desc); - return 0; + return err; } /** @@ -404,11 +434,11 @@ * Looks up the ioctl function in the ::ioctls table, checking for root * previleges if so required, and dispatches to the respective function. */ -int drm_ioctl(struct inode *inode, struct file *filp, +long drm_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) { struct drm_file *file_priv = filp->private_data; - struct drm_device *dev = file_priv->minor->dev; + struct drm_device *dev; struct drm_ioctl_desc *ioctl; drm_ioctl_t *func; unsigned int nr = DRM_IOCTL_NR(cmd); @@ -416,6 +446,7 @@ char stack_kdata[128]; char *kdata = NULL; + dev = file_priv->minor->dev; atomic_inc(&dev->ioctl_count); atomic_inc(&dev->counts[_DRM_STAT_IOCTLS]); ++file_priv->ioctl_count; @@ -470,8 +501,16 @@ retcode = -EFAULT; goto err_i1; } + } else + memset(kdata, 0, _IOC_SIZE(cmd)); + + if (ioctl->flags & DRM_UNLOCKED) + retcode = func(dev, kdata, file_priv); + else { + lock_kernel(); + retcode = func(dev, kdata, file_priv); + unlock_kernel(); } - retcode = func(dev, kdata, file_priv); if (cmd & IOC_OUT) { if (copy_to_user((void __user *)arg, kdata, --- linux-2.6.32.orig/drivers/gpu/drm/drm_edid.c +++ linux-2.6.32/drivers/gpu/drm/drm_edid.c @@ -85,6 +85,8 @@ /* Envision Peripherals, Inc. EN-7100e */ { "EPI", 59264, EDID_QUIRK_135_CLOCK_TOO_HIGH }, + /* Envision EN2028 */ + { "EPI", 8232, EDID_QUIRK_PREFER_LARGE_60 }, /* Funai Electronics PM36B */ { "FCM", 13600, EDID_QUIRK_PREFER_LARGE_75 | @@ -123,18 +125,20 @@ */ static bool edid_is_valid(struct edid *edid) { - int i; + int i, score = 0; u8 csum = 0; u8 *raw_edid = (u8 *)edid; - if (memcmp(edid->header, edid_header, sizeof(edid_header))) - goto bad; - if (edid->version != 1) { - DRM_ERROR("EDID has major version %d, instead of 1\n", edid->version); + for (i = 0; i < sizeof(edid_header); i++) + if (raw_edid[i] == edid_header[i]) + score++; + + if (score == 8) ; + else if (score >= 6) { + DRM_DEBUG("Fixing EDID header, your hardware may be failing\n"); + memcpy(raw_edid, edid_header, sizeof(edid_header)); + } else goto bad; - } - if (edid->revision > 4) - DRM_DEBUG("EDID minor > 4, assuming backward compatibility\n"); for (i = 0; i < EDID_LENGTH; i++) csum += raw_edid[i]; @@ -143,6 +147,14 @@ goto bad; } + if (edid->version != 1) { + DRM_ERROR("EDID has major version %d, instead of 1\n", edid->version); + goto bad; + } + + if (edid->revision > 4) + DRM_DEBUG("EDID minor > 4, assuming backward compatibility\n"); + return 1; bad: @@ -322,7 +334,7 @@ DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, /* 1024x768@85Hz */ { DRM_MODE("1024x768", DRM_MODE_TYPE_DRIVER, 94500, 1024, 1072, - 1072, 1376, 0, 768, 769, 772, 808, 0, + 1168, 1376, 0, 768, 769, 772, 808, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, /* 1152x864@75Hz */ { DRM_MODE("1152x864", DRM_MODE_TYPE_DRIVER, 108000, 1152, 1216, @@ -481,16 +493,17 @@ 3048, 3536, 0, 1600, 1603, 1609, 1682, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC) }, }; +static const int drm_num_dmt_modes = + sizeof(drm_dmt_modes) / sizeof(struct drm_display_mode); static struct drm_display_mode *drm_find_dmt(struct drm_device *dev, int hsize, int vsize, int fresh) { - int i, count; + int i; struct drm_display_mode *ptr, *mode; - count = sizeof(drm_dmt_modes) / sizeof(struct drm_display_mode); mode = NULL; - for (i = 0; i < count; i++) { + for (i = 0; i < drm_num_dmt_modes; i++) { ptr = &drm_dmt_modes[i]; if (hsize == ptr->hdisplay && vsize == ptr->vdisplay && @@ -563,8 +576,8 @@ mode = drm_cvt_mode(dev, hsize, vsize, vrefresh_rate, 0, 0, false); mode->hdisplay = 1366; - mode->vsync_start = mode->vsync_start - 1; - mode->vsync_end = mode->vsync_end - 1; + mode->hsync_start = mode->hsync_start - 1; + mode->hsync_end = mode->hsync_end - 1; return mode; } mode = NULL; @@ -587,6 +600,50 @@ return mode; } +/* + * EDID is delightfully ambiguous about how interlaced modes are to be + * encoded. Our internal representation is of frame height, but some + * HDTV detailed timings are encoded as field height. + * + * The format list here is from CEA, in frame size. Technically we + * should be checking refresh rate too. Whatever. + */ +static void +drm_mode_do_interlace_quirk(struct drm_display_mode *mode, + struct detailed_pixel_timing *pt) +{ + int i; + static const struct { + int w, h; + } cea_interlaced[] = { + { 1920, 1080 }, + { 720, 480 }, + { 1440, 480 }, + { 2880, 480 }, + { 720, 576 }, + { 1440, 576 }, + { 2880, 576 }, + }; + static const int n_sizes = + sizeof(cea_interlaced)/sizeof(cea_interlaced[0]); + + if (!(pt->misc & DRM_EDID_PT_INTERLACED)) + return; + + for (i = 0; i < n_sizes; i++) { + if ((mode->hdisplay == cea_interlaced[i].w) && + (mode->vdisplay == cea_interlaced[i].h / 2)) { + mode->vdisplay *= 2; + mode->vsync_start *= 2; + mode->vsync_end *= 2; + mode->vtotal *= 2; + mode->vtotal |= 1; + } + } + + mode->flags |= DRM_MODE_FLAG_INTERLACE; +} + /** * drm_mode_detailed - create a new mode from an EDID detailed timing section * @dev: DRM device (needed to create new mode) @@ -622,8 +679,7 @@ return NULL; } if (!(pt->misc & DRM_EDID_PT_SEPARATE_SYNC)) { - printk(KERN_WARNING "integrated sync not supported\n"); - return NULL; + printk(KERN_WARNING "composite sync not supported\n"); } /* it is incorrect if hsync/vsync width is zero */ @@ -653,15 +709,6 @@ mode->vsync_end = mode->vsync_start + vsync_pulse_width; mode->vtotal = mode->vdisplay + vblank; - /* perform the basic check for the detailed timing */ - if (mode->hsync_end > mode->htotal || - mode->vsync_end > mode->vtotal) { - drm_mode_destroy(dev, mode); - DRM_DEBUG_KMS("Incorrect detailed timing. " - "Sync is beyond the blank.\n"); - return NULL; - } - /* Some EDIDs have bogus h/vtotal values */ if (mode->hsync_end > mode->htotal) mode->htotal = mode->hsync_end + 1; @@ -670,8 +717,7 @@ drm_mode_set_name(mode); - if (pt->misc & DRM_EDID_PT_INTERLACED) - mode->flags |= DRM_MODE_FLAG_INTERLACE; + drm_mode_do_interlace_quirk(mode, pt); if (quirks & EDID_QUIRK_DETAILED_SYNC_PP) { pt->misc |= DRM_EDID_PT_HSYNC_POSITIVE | DRM_EDID_PT_VSYNC_POSITIVE; @@ -834,8 +880,169 @@ return modes; } +/* + * XXX fix this for: + * - GTF secondary curve formula + * - EDID 1.4 range offsets + * - CVT extended bits + */ +static bool +mode_in_range(struct drm_display_mode *mode, struct detailed_timing *timing) +{ + struct detailed_data_monitor_range *range; + int hsync, vrefresh; + + range = &timing->data.other_data.data.range; + + hsync = drm_mode_hsync(mode); + vrefresh = drm_mode_vrefresh(mode); + + if (hsync < range->min_hfreq_khz || hsync > range->max_hfreq_khz) + return false; + + if (vrefresh < range->min_vfreq || vrefresh > range->max_vfreq) + return false; + + if (range->pixel_clock_mhz && range->pixel_clock_mhz != 0xff) { + /* be forgiving since it's in units of 10MHz */ + int max_clock = range->pixel_clock_mhz * 10 + 9; + max_clock *= 1000; + if (mode->clock > max_clock) + return false; + } + + return true; +} + +/* + * XXX If drm_dmt_modes ever regrows the CVT-R modes (and it will) this will + * need to account for them. + */ +static int drm_gtf_modes_for_range(struct drm_connector *connector, + struct detailed_timing *timing) +{ + int i, modes = 0; + struct drm_display_mode *newmode; + struct drm_device *dev = connector->dev; + + for (i = 0; i < drm_num_dmt_modes; i++) { + if (mode_in_range(drm_dmt_modes + i, timing)) { + newmode = drm_mode_duplicate(dev, &drm_dmt_modes[i]); + if (newmode) { + drm_mode_probed_add(connector, newmode); + modes++; + } + } + } + + return modes; +} + +static int drm_cvt_modes(struct drm_connector *connector, + struct detailed_timing *timing) +{ + int i, j, modes = 0; + struct drm_display_mode *newmode; + struct drm_device *dev = connector->dev; + struct cvt_timing *cvt; + const int rates[] = { 60, 85, 75, 60, 50 }; + const u8 empty[3] = { 0, 0, 0 }; + + for (i = 0; i < 4; i++) { + int uninitialized_var(width), height; + cvt = &(timing->data.other_data.data.cvt[i]); + + if (!memcmp(cvt->code, empty, 3)) + continue; + + height = (cvt->code[0] + ((cvt->code[1] & 0xf0) << 4) + 1) * 2; + switch (cvt->code[1] & 0x0c) { + case 0x00: + width = height * 4 / 3; + break; + case 0x04: + width = height * 16 / 9; + break; + case 0x08: + width = height * 16 / 10; + break; + case 0x0c: + width = height * 15 / 9; + break; + } + + for (j = 1; j < 5; j++) { + if (cvt->code[2] & (1 << j)) { + newmode = drm_cvt_mode(dev, width, height, + rates[j], j == 0, + false, false); + if (newmode) { + drm_mode_probed_add(connector, newmode); + modes++; + } + } + } + } + + return modes; +} + +static int add_detailed_modes(struct drm_connector *connector, + struct detailed_timing *timing, + struct edid *edid, u32 quirks, int preferred) +{ + int i, modes = 0; + struct detailed_non_pixel *data = &timing->data.other_data; + int timing_level = standard_timing_level(edid); + int gtf = (edid->features & DRM_EDID_FEATURE_DEFAULT_GTF); + struct drm_display_mode *newmode; + struct drm_device *dev = connector->dev; + + if (timing->pixel_clock) { + newmode = drm_mode_detailed(dev, edid, timing, quirks); + if (!newmode) + return 0; + + if (preferred) + newmode->type |= DRM_MODE_TYPE_PREFERRED; + + drm_mode_probed_add(connector, newmode); + return 1; + } + + /* other timing types */ + switch (data->type) { + case EDID_DETAIL_MONITOR_RANGE: + if (gtf) + modes += drm_gtf_modes_for_range(connector, timing); + break; + case EDID_DETAIL_STD_MODES: + /* Six modes per detailed section */ + for (i = 0; i < 6; i++) { + struct std_timing *std; + struct drm_display_mode *newmode; + + std = &data->data.timings[i]; + newmode = drm_mode_std(dev, std, edid->revision, + timing_level); + if (newmode) { + drm_mode_probed_add(connector, newmode); + modes++; + } + } + break; + case EDID_DETAIL_CVT_3BYTE: + modes += drm_cvt_modes(connector, timing); + break; + default: + break; + } + + return modes; +} + /** - * add_detailed_modes - get detailed mode info from EDID data + * add_detailed_info - get detailed mode info from EDID data * @connector: attached connector * @edid: EDID block to scan * @quirks: quirks to apply @@ -846,67 +1053,24 @@ static int add_detailed_info(struct drm_connector *connector, struct edid *edid, u32 quirks) { - struct drm_device *dev = connector->dev; - int i, j, modes = 0; - int timing_level; - - timing_level = standard_timing_level(edid); + int i, modes = 0; for (i = 0; i < EDID_DETAILED_TIMINGS; i++) { struct detailed_timing *timing = &edid->detailed_timings[i]; - struct detailed_non_pixel *data = &timing->data.other_data; - struct drm_display_mode *newmode; - - /* X server check is version 1.1 or higher */ - if (edid->version == 1 && edid->revision >= 1 && - !timing->pixel_clock) { - /* Other timing or info */ - switch (data->type) { - case EDID_DETAIL_MONITOR_SERIAL: - break; - case EDID_DETAIL_MONITOR_STRING: - break; - case EDID_DETAIL_MONITOR_RANGE: - /* Get monitor range data */ - break; - case EDID_DETAIL_MONITOR_NAME: - break; - case EDID_DETAIL_MONITOR_CPDATA: - break; - case EDID_DETAIL_STD_MODES: - for (j = 0; j < 6; i++) { - struct std_timing *std; - struct drm_display_mode *newmode; - - std = &data->data.timings[j]; - newmode = drm_mode_std(dev, std, - edid->revision, - timing_level); - if (newmode) { - drm_mode_probed_add(connector, newmode); - modes++; - } - } - break; - default: - break; - } - } else { - newmode = drm_mode_detailed(dev, edid, timing, quirks); - if (!newmode) - continue; + int preferred = (i == 0) && (edid->features & DRM_EDID_FEATURE_PREFERRED_TIMING); - /* First detailed mode is preferred */ - if (i == 0 && (edid->features & DRM_EDID_FEATURE_PREFERRED_TIMING)) - newmode->type |= DRM_MODE_TYPE_PREFERRED; - drm_mode_probed_add(connector, newmode); + /* In 1.0, only timings are allowed */ + if (!timing->pixel_clock && edid->version == 1 && + edid->revision == 0) + continue; - modes++; - } + modes += add_detailed_modes(connector, timing, edid, quirks, + preferred); } return modes; } + /** * add_detailed_mode_eedid - get detailed mode info from addtional timing * EDID block @@ -920,12 +1084,9 @@ static int add_detailed_info_eedid(struct drm_connector *connector, struct edid *edid, u32 quirks) { - struct drm_device *dev = connector->dev; - int i, j, modes = 0; + int i, modes = 0; char *edid_ext = NULL; struct detailed_timing *timing; - struct detailed_non_pixel *data; - struct drm_display_mode *newmode; int edid_ext_num; int start_offset, end_offset; int timing_level; @@ -976,51 +1137,7 @@ for (i = start_offset; i < end_offset; i += sizeof(struct detailed_timing)) { timing = (struct detailed_timing *)(edid_ext + i); - data = &timing->data.other_data; - /* Detailed mode timing */ - if (timing->pixel_clock) { - newmode = drm_mode_detailed(dev, edid, timing, quirks); - if (!newmode) - continue; - - drm_mode_probed_add(connector, newmode); - - modes++; - continue; - } - - /* Other timing or info */ - switch (data->type) { - case EDID_DETAIL_MONITOR_SERIAL: - break; - case EDID_DETAIL_MONITOR_STRING: - break; - case EDID_DETAIL_MONITOR_RANGE: - /* Get monitor range data */ - break; - case EDID_DETAIL_MONITOR_NAME: - break; - case EDID_DETAIL_MONITOR_CPDATA: - break; - case EDID_DETAIL_STD_MODES: - /* Five modes per detailed section */ - for (j = 0; j < 5; i++) { - struct std_timing *std; - struct drm_display_mode *newmode; - - std = &data->data.timings[j]; - newmode = drm_mode_std(dev, std, - edid->revision, - timing_level); - if (newmode) { - drm_mode_probed_add(connector, newmode); - modes++; - } - } - break; - default: - break; - } + modes += add_detailed_modes(connector, timing, edid, quirks, 0); } return modes; @@ -1066,19 +1183,19 @@ struct i2c_adapter *adapter, char *buf, int len) { - int ret; + int i; - ret = drm_do_probe_ddc_edid(adapter, buf, len); - if (ret != 0) { - goto end; - } - if (!edid_is_valid((struct edid *)buf)) { - dev_warn(&connector->dev->pdev->dev, "%s: EDID invalid.\n", - drm_get_connector_name(connector)); - ret = -1; + for (i = 0; i < 4; i++) { + if (drm_do_probe_ddc_edid(adapter, buf, len)) + return -1; + if (edid_is_valid((struct edid *)buf)) + return 0; } -end: - return ret; + + /* repeated checksum failures; warn, but carry on */ + dev_warn(&connector->dev->pdev->dev, "%s: EDID invalid.\n", + drm_get_connector_name(connector)); + return -1; } /** @@ -1296,6 +1413,8 @@ ptr->vdisplay > vdisplay) continue; } + if (drm_mode_vrefresh(ptr) > 61) + continue; mode = drm_mode_duplicate(dev, ptr); if (mode) { drm_mode_probed_add(connector, mode); --- linux-2.6.32.orig/drivers/gpu/drm/drm_fops.c +++ linux-2.6.32/drivers/gpu/drm/drm_fops.c @@ -140,14 +140,16 @@ spin_unlock(&dev->count_lock); } out: - mutex_lock(&dev->struct_mutex); - if (minor->type == DRM_MINOR_LEGACY) { - BUG_ON((dev->dev_mapping != NULL) && - (dev->dev_mapping != inode->i_mapping)); - if (dev->dev_mapping == NULL) - dev->dev_mapping = inode->i_mapping; + if (!retcode) { + mutex_lock(&dev->struct_mutex); + if (minor->type == DRM_MINOR_LEGACY) { + if (dev->dev_mapping == NULL) + dev->dev_mapping = inode->i_mapping; + else if (dev->dev_mapping != inode->i_mapping) + retcode = -ENODEV; + } + mutex_unlock(&dev->struct_mutex); } - mutex_unlock(&dev->struct_mutex); return retcode; } @@ -257,6 +259,9 @@ INIT_LIST_HEAD(&priv->lhead); INIT_LIST_HEAD(&priv->fbs); + INIT_LIST_HEAD(&priv->event_list); + init_waitqueue_head(&priv->event_wait); + priv->event_space = 4096; /* set aside 4k for event buffer */ if (dev->driver->driver_features & DRIVER_GEM) drm_gem_open(dev, priv); @@ -297,6 +302,18 @@ goto out_free; } } + mutex_lock(&dev->struct_mutex); + if (dev->driver->master_set) { + ret = dev->driver->master_set(dev, priv, true); + if (ret) { + /* drop both references if this fails */ + drm_master_put(&priv->minor->master); + drm_master_put(&priv->master); + mutex_unlock(&dev->struct_mutex); + goto out_free; + } + } + mutex_unlock(&dev->struct_mutex); } else { /* get a reference to the master */ priv->master = drm_master_get(priv->minor->master); @@ -413,6 +430,30 @@ } } +static void drm_events_release(struct drm_file *file_priv) +{ + struct drm_device *dev = file_priv->minor->dev; + struct drm_pending_event *e, *et; + struct drm_pending_vblank_event *v, *vt; + unsigned long flags; + + spin_lock_irqsave(&dev->event_lock, flags); + + /* Remove pending flips */ + list_for_each_entry_safe(v, vt, &dev->vblank_event_list, base.link) + if (v->base.file_priv == file_priv) { + list_del(&v->base.link); + drm_vblank_put(dev, v->pipe); + v->base.destroy(&v->base); + } + + /* Remove unconsumed events */ + list_for_each_entry_safe(e, et, &file_priv->event_list, link) + e->destroy(e); + + spin_unlock_irqrestore(&dev->event_lock, flags); +} + /** * Release file. * @@ -447,10 +488,17 @@ (long)old_encode_dev(file_priv->minor->device), dev->open_count); + /* Release any auth tokens that might point to this file_priv, + (do that under the drm_global_mutex) */ + if (file_priv->magic) + (void) drm_remove_magic(file_priv->master, file_priv->magic); + /* if the master has gone away we can't do anything with the lock */ if (file_priv->minor->master) drm_master_release(dev, filp); + drm_events_release(file_priv); + if (dev->driver->driver_features & DRIVER_GEM) drm_gem_release(dev, file_priv); @@ -504,6 +552,8 @@ if (file_priv->minor->master == file_priv->master) { /* drop the reference held my the minor */ + if (dev->driver->master_drop) + dev->driver->master_drop(dev, file_priv, true); drm_master_put(&file_priv->minor->master); } } @@ -544,9 +594,74 @@ } EXPORT_SYMBOL(drm_release); -/** No-op. */ +static bool +drm_dequeue_event(struct drm_file *file_priv, + size_t total, size_t max, struct drm_pending_event **out) +{ + struct drm_device *dev = file_priv->minor->dev; + struct drm_pending_event *e; + unsigned long flags; + bool ret = false; + + spin_lock_irqsave(&dev->event_lock, flags); + + *out = NULL; + if (list_empty(&file_priv->event_list)) + goto out; + e = list_first_entry(&file_priv->event_list, + struct drm_pending_event, link); + if (e->event->length + total > max) + goto out; + + file_priv->event_space += e->event->length; + list_del(&e->link); + *out = e; + ret = true; + +out: + spin_unlock_irqrestore(&dev->event_lock, flags); + return ret; +} + +ssize_t drm_read(struct file *filp, char __user *buffer, + size_t count, loff_t *offset) +{ + struct drm_file *file_priv = filp->private_data; + struct drm_pending_event *e; + size_t total; + ssize_t ret; + + ret = wait_event_interruptible(file_priv->event_wait, + !list_empty(&file_priv->event_list)); + if (ret < 0) + return ret; + + total = 0; + while (drm_dequeue_event(file_priv, total, count, &e)) { + if (copy_to_user(buffer + total, + e->event, e->event->length)) { + total = -EFAULT; + break; + } + + total += e->event->length; + e->destroy(e); + } + + return total; +} +EXPORT_SYMBOL(drm_read); + unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait) { - return 0; + struct drm_file *file_priv = filp->private_data; + unsigned int mask = 0; + + poll_wait(filp, &file_priv->event_wait, wait); + + if (!list_empty(&file_priv->event_list)) + mask |= POLLIN | POLLRDNORM; + + return mask; } EXPORT_SYMBOL(drm_poll); --- linux-2.6.32.orig/drivers/gpu/drm/drm_gem.c +++ linux-2.6.32/drivers/gpu/drm/drm_gem.c @@ -142,19 +142,6 @@ if (IS_ERR(obj->filp)) goto free; - /* Basically we want to disable the OOM killer and handle ENOMEM - * ourselves by sacrificing pages from cached buffers. - * XXX shmem_file_[gs]et_gfp_mask() - */ - mapping_set_gfp_mask(obj->filp->f_path.dentry->d_inode->i_mapping, - GFP_HIGHUSER | - __GFP_COLD | - __GFP_FS | - __GFP_RECLAIMABLE | - __GFP_NORETRY | - __GFP_NOWARN | - __GFP_NOMEMALLOC); - kref_init(&obj->refcount); kref_init(&obj->handlecount); obj->size = size; --- linux-2.6.32.orig/drivers/gpu/drm/drm_ioc32.c +++ linux-2.6.32/drivers/gpu/drm/drm_ioc32.c @@ -104,7 +104,7 @@ &version->desc)) return -EFAULT; - err = drm_ioctl(file->f_path.dentry->d_inode, file, + err = drm_ioctl(file, DRM_IOCTL_VERSION, (unsigned long)version); if (err) return err; @@ -145,8 +145,7 @@ &u->unique)) return -EFAULT; - err = drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_GET_UNIQUE, (unsigned long)u); + err = drm_ioctl(file, DRM_IOCTL_GET_UNIQUE, (unsigned long)u); if (err) return err; @@ -174,8 +173,7 @@ &u->unique)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_SET_UNIQUE, (unsigned long)u); + return drm_ioctl(file, DRM_IOCTL_SET_UNIQUE, (unsigned long)u); } typedef struct drm_map32 { @@ -205,8 +203,7 @@ if (__put_user(idx, &map->offset)) return -EFAULT; - err = drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_GET_MAP, (unsigned long)map); + err = drm_ioctl(file, DRM_IOCTL_GET_MAP, (unsigned long)map); if (err) return err; @@ -246,8 +243,7 @@ || __put_user(m32.flags, &map->flags)) return -EFAULT; - err = drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_ADD_MAP, (unsigned long)map); + err = drm_ioctl(file, DRM_IOCTL_ADD_MAP, (unsigned long)map); if (err) return err; @@ -284,8 +280,7 @@ if (__put_user((void *)(unsigned long)handle, &map->handle)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_RM_MAP, (unsigned long)map); + return drm_ioctl(file, DRM_IOCTL_RM_MAP, (unsigned long)map); } typedef struct drm_client32 { @@ -314,8 +309,7 @@ if (__put_user(idx, &client->idx)) return -EFAULT; - err = drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_GET_CLIENT, (unsigned long)client); + err = drm_ioctl(file, DRM_IOCTL_GET_CLIENT, (unsigned long)client); if (err) return err; @@ -351,8 +345,7 @@ if (!access_ok(VERIFY_WRITE, stats, sizeof(*stats))) return -EFAULT; - err = drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_GET_STATS, (unsigned long)stats); + err = drm_ioctl(file, DRM_IOCTL_GET_STATS, (unsigned long)stats); if (err) return err; @@ -395,8 +388,7 @@ || __put_user(agp_start, &buf->agp_start)) return -EFAULT; - err = drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_ADD_BUFS, (unsigned long)buf); + err = drm_ioctl(file, DRM_IOCTL_ADD_BUFS, (unsigned long)buf); if (err) return err; @@ -427,8 +419,7 @@ || __put_user(b32.high_mark, &buf->high_mark)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_MARK_BUFS, (unsigned long)buf); + return drm_ioctl(file, DRM_IOCTL_MARK_BUFS, (unsigned long)buf); } typedef struct drm_buf_info32 { @@ -469,8 +460,7 @@ || __put_user(list, &request->list)) return -EFAULT; - err = drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_INFO_BUFS, (unsigned long)request); + err = drm_ioctl(file, DRM_IOCTL_INFO_BUFS, (unsigned long)request); if (err) return err; @@ -531,8 +521,7 @@ || __put_user(list, &request->list)) return -EFAULT; - err = drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_MAP_BUFS, (unsigned long)request); + err = drm_ioctl(file, DRM_IOCTL_MAP_BUFS, (unsigned long)request); if (err) return err; @@ -578,8 +567,7 @@ &request->list)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_FREE_BUFS, (unsigned long)request); + return drm_ioctl(file, DRM_IOCTL_FREE_BUFS, (unsigned long)request); } typedef struct drm_ctx_priv_map32 { @@ -605,8 +593,7 @@ &request->handle)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_SET_SAREA_CTX, (unsigned long)request); + return drm_ioctl(file, DRM_IOCTL_SET_SAREA_CTX, (unsigned long)request); } static int compat_drm_getsareactx(struct file *file, unsigned int cmd, @@ -628,8 +615,7 @@ if (__put_user(ctx_id, &request->ctx_id)) return -EFAULT; - err = drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_GET_SAREA_CTX, (unsigned long)request); + err = drm_ioctl(file, DRM_IOCTL_GET_SAREA_CTX, (unsigned long)request); if (err) return err; @@ -664,8 +650,7 @@ &res->contexts)) return -EFAULT; - err = drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_RES_CTX, (unsigned long)res); + err = drm_ioctl(file, DRM_IOCTL_RES_CTX, (unsigned long)res); if (err) return err; @@ -718,8 +703,7 @@ &d->request_sizes)) return -EFAULT; - err = drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_DMA, (unsigned long)d); + err = drm_ioctl(file, DRM_IOCTL_DMA, (unsigned long)d); if (err) return err; @@ -751,8 +735,7 @@ if (put_user(m32.mode, &mode->mode)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_AGP_ENABLE, (unsigned long)mode); + return drm_ioctl(file, DRM_IOCTL_AGP_ENABLE, (unsigned long)mode); } typedef struct drm_agp_info32 { @@ -781,8 +764,7 @@ if (!access_ok(VERIFY_WRITE, info, sizeof(*info))) return -EFAULT; - err = drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_AGP_INFO, (unsigned long)info); + err = drm_ioctl(file, DRM_IOCTL_AGP_INFO, (unsigned long)info); if (err) return err; @@ -827,16 +809,14 @@ || __put_user(req32.type, &request->type)) return -EFAULT; - err = drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_AGP_ALLOC, (unsigned long)request); + err = drm_ioctl(file, DRM_IOCTL_AGP_ALLOC, (unsigned long)request); if (err) return err; if (__get_user(req32.handle, &request->handle) || __get_user(req32.physical, &request->physical) || copy_to_user(argp, &req32, sizeof(req32))) { - drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_AGP_FREE, (unsigned long)request); + drm_ioctl(file, DRM_IOCTL_AGP_FREE, (unsigned long)request); return -EFAULT; } @@ -856,8 +836,7 @@ || __put_user(handle, &request->handle)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_AGP_FREE, (unsigned long)request); + return drm_ioctl(file, DRM_IOCTL_AGP_FREE, (unsigned long)request); } typedef struct drm_agp_binding32 { @@ -881,8 +860,7 @@ || __put_user(req32.offset, &request->offset)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_AGP_BIND, (unsigned long)request); + return drm_ioctl(file, DRM_IOCTL_AGP_BIND, (unsigned long)request); } static int compat_drm_agp_unbind(struct file *file, unsigned int cmd, @@ -898,8 +876,7 @@ || __put_user(handle, &request->handle)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_AGP_UNBIND, (unsigned long)request); + return drm_ioctl(file, DRM_IOCTL_AGP_UNBIND, (unsigned long)request); } #endif /* __OS_HAS_AGP */ @@ -923,8 +900,7 @@ || __put_user(x, &request->size)) return -EFAULT; - err = drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_SG_ALLOC, (unsigned long)request); + err = drm_ioctl(file, DRM_IOCTL_SG_ALLOC, (unsigned long)request); if (err) return err; @@ -950,8 +926,7 @@ || __put_user(x << PAGE_SHIFT, &request->handle)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_SG_FREE, (unsigned long)request); + return drm_ioctl(file, DRM_IOCTL_SG_FREE, (unsigned long)request); } #if defined(CONFIG_X86) || defined(CONFIG_IA64) @@ -981,8 +956,7 @@ __put_user(update32.data, &request->data)) return -EFAULT; - err = drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_UPDATE_DRAW, (unsigned long)request); + err = drm_ioctl(file, DRM_IOCTL_UPDATE_DRAW, (unsigned long)request); return err; } #endif @@ -1023,8 +997,7 @@ || __put_user(req32.request.signal, &request->request.signal)) return -EFAULT; - err = drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_WAIT_VBLANK, (unsigned long)request); + err = drm_ioctl(file, DRM_IOCTL_WAIT_VBLANK, (unsigned long)request); if (err) return err; @@ -1094,16 +1067,14 @@ * than always failing. */ if (nr >= ARRAY_SIZE(drm_compat_ioctls)) - return drm_ioctl(filp->f_dentry->d_inode, filp, cmd, arg); + return drm_ioctl(filp, cmd, arg); fn = drm_compat_ioctls[nr]; - lock_kernel(); /* XXX for now */ if (fn != NULL) ret = (*fn) (filp, cmd, arg); else - ret = drm_ioctl(filp->f_path.dentry->d_inode, filp, cmd, arg); - unlock_kernel(); + ret = drm_ioctl(filp, cmd, arg); return ret; } --- linux-2.6.32.orig/drivers/gpu/drm/drm_irq.c +++ linux-2.6.32/drivers/gpu/drm/drm_irq.c @@ -115,6 +115,7 @@ dev->num_crtcs = 0; } +EXPORT_SYMBOL(drm_vblank_cleanup); int drm_vblank_init(struct drm_device *dev, int num_crtcs) { @@ -163,7 +164,6 @@ } dev->vblank_disable_allowed = 0; - return 0; err: @@ -429,15 +429,21 @@ spin_lock_irqsave(&dev->vbl_lock, irqflags); /* Going from 0->1 means we have to enable interrupts again */ - if (atomic_add_return(1, &dev->vblank_refcount[crtc]) == 1 && - !dev->vblank_enabled[crtc]) { - ret = dev->driver->enable_vblank(dev, crtc); - DRM_DEBUG("enabling vblank on crtc %d, ret: %d\n", crtc, ret); - if (ret) + if (atomic_add_return(1, &dev->vblank_refcount[crtc]) == 1) { + if (!dev->vblank_enabled[crtc]) { + ret = dev->driver->enable_vblank(dev, crtc); + DRM_DEBUG("enabling vblank on crtc %d, ret: %d\n", crtc, ret); + if (ret) + atomic_dec(&dev->vblank_refcount[crtc]); + else { + dev->vblank_enabled[crtc] = 1; + drm_update_vblank_count(dev, crtc); + } + } + } else { + if (!dev->vblank_enabled[crtc]) { atomic_dec(&dev->vblank_refcount[crtc]); - else { - dev->vblank_enabled[crtc] = 1; - drm_update_vblank_count(dev, crtc); + ret = -EINVAL; } } spin_unlock_irqrestore(&dev->vbl_lock, irqflags); @@ -464,6 +470,18 @@ } EXPORT_SYMBOL(drm_vblank_put); +void drm_vblank_off(struct drm_device *dev, int crtc) +{ + unsigned long irqflags; + + spin_lock_irqsave(&dev->vbl_lock, irqflags); + DRM_WAKEUP(&dev->vbl_queue[crtc]); + dev->vblank_enabled[crtc] = 0; + dev->last_vblank[crtc] = dev->driver->get_vblank_counter(dev, crtc); + spin_unlock_irqrestore(&dev->vbl_lock, irqflags); +} +EXPORT_SYMBOL(drm_vblank_off); + /** * drm_vblank_pre_modeset - account for vblanks across mode sets * @dev: DRM device @@ -475,6 +493,9 @@ */ void drm_vblank_pre_modeset(struct drm_device *dev, int crtc) { + /* vblank is not initialized (IRQ not installed ?) */ + if (!dev->num_crtcs) + return; /* * To avoid all the problems that might happen if interrupts * were enabled/disabled around or between these calls, we just @@ -522,7 +543,8 @@ struct drm_file *file_priv) { struct drm_modeset_ctl *modeset = data; - int crtc, ret = 0; + int ret = 0; + unsigned int crtc; /* If drm_vblank_init() hasn't been called yet, just no-op */ if (!dev->num_crtcs) @@ -550,6 +572,63 @@ return ret; } +static int drm_queue_vblank_event(struct drm_device *dev, int pipe, + union drm_wait_vblank *vblwait, + struct drm_file *file_priv) +{ + struct drm_pending_vblank_event *e; + struct timeval now; + unsigned long flags; + unsigned int seq; + + e = kzalloc(sizeof *e, GFP_KERNEL); + if (e == NULL) + return -ENOMEM; + + e->pipe = pipe; + e->event.base.type = DRM_EVENT_VBLANK; + e->event.base.length = sizeof e->event; + e->event.user_data = vblwait->request.signal; + e->base.event = &e->event.base; + e->base.file_priv = file_priv; + e->base.destroy = (void (*) (struct drm_pending_event *)) kfree; + + do_gettimeofday(&now); + spin_lock_irqsave(&dev->event_lock, flags); + + if (file_priv->event_space < sizeof e->event) { + spin_unlock_irqrestore(&dev->event_lock, flags); + kfree(e); + return -ENOMEM; + } + + file_priv->event_space -= sizeof e->event; + seq = drm_vblank_count(dev, pipe); + if ((vblwait->request.type & _DRM_VBLANK_NEXTONMISS) && + (seq - vblwait->request.sequence) <= (1 << 23)) { + vblwait->request.sequence = seq + 1; + vblwait->reply.sequence = vblwait->request.sequence; + } + + DRM_DEBUG("event on vblank count %d, current %d, crtc %d\n", + vblwait->request.sequence, seq, pipe); + + e->event.sequence = vblwait->request.sequence; + if ((seq - vblwait->request.sequence) <= (1 << 23)) { + e->event.tv_sec = now.tv_sec; + e->event.tv_usec = now.tv_usec; + drm_vblank_put(dev, e->pipe); + list_add_tail(&e->base.link, &e->base.file_priv->event_list); + wake_up_interruptible(&e->base.file_priv->event_wait); + } else { + list_add_tail(&e->base.link, &dev->vblank_event_list); + } + + spin_unlock_irqrestore(&dev->event_lock, flags); + + return 0; +} + /** * Wait for VBLANK. * @@ -609,6 +688,9 @@ goto done; } + if (flags & _DRM_VBLANK_EVENT) + return drm_queue_vblank_event(dev, crtc, vblwait, file_priv); + if ((flags & _DRM_VBLANK_NEXTONMISS) && (seq - vblwait->request.sequence) <= (1<<23)) { vblwait->request.sequence = seq + 1; @@ -641,6 +723,38 @@ return ret; } +void drm_handle_vblank_events(struct drm_device *dev, int crtc) +{ + struct drm_pending_vblank_event *e, *t; + struct timeval now; + unsigned long flags; + unsigned int seq; + + do_gettimeofday(&now); + seq = drm_vblank_count(dev, crtc); + + spin_lock_irqsave(&dev->event_lock, flags); + + list_for_each_entry_safe(e, t, &dev->vblank_event_list, base.link) { + if (e->pipe != crtc) + continue; + if ((seq - e->event.sequence) > (1<<23)) + continue; + + DRM_DEBUG("vblank event on %d, current %d\n", + e->event.sequence, seq); + + e->event.sequence = seq; + e->event.tv_sec = now.tv_sec; + e->event.tv_usec = now.tv_usec; + drm_vblank_put(dev, e->pipe); + list_move_tail(&e->base.link, &e->base.file_priv->event_list); + wake_up_interruptible(&e->base.file_priv->event_wait); + } + + spin_unlock_irqrestore(&dev->event_lock, flags); +} + /** * drm_handle_vblank - handle a vblank event * @dev: DRM device @@ -651,7 +765,11 @@ */ void drm_handle_vblank(struct drm_device *dev, int crtc) { + if (!dev->num_crtcs) + return; + atomic_inc(&dev->_vblank_count[crtc]); DRM_WAKEUP(&dev->vbl_queue[crtc]); + drm_handle_vblank_events(dev, crtc); } EXPORT_SYMBOL(drm_handle_vblank); --- linux-2.6.32.orig/drivers/gpu/drm/drm_mm.c +++ linux-2.6.32/drivers/gpu/drm/drm_mm.c @@ -83,9 +83,9 @@ struct drm_mm_node *child; if (atomic) - child = kmalloc(sizeof(*child), GFP_ATOMIC); + child = kzalloc(sizeof(*child), GFP_ATOMIC); else - child = kmalloc(sizeof(*child), GFP_KERNEL); + child = kzalloc(sizeof(*child), GFP_KERNEL); if (unlikely(child == NULL)) { spin_lock(&mm->unused_lock); @@ -115,7 +115,7 @@ spin_lock(&mm->unused_lock); while (mm->num_unused < MM_UNUSED_TARGET) { spin_unlock(&mm->unused_lock); - node = kmalloc(sizeof(*node), GFP_KERNEL); + node = kzalloc(sizeof(*node), GFP_KERNEL); spin_lock(&mm->unused_lock); if (unlikely(node == NULL)) { @@ -179,7 +179,6 @@ INIT_LIST_HEAD(&child->fl_entry); - child->free = 0; child->size = size; child->start = parent->start; child->mm = parent->mm; @@ -226,6 +225,44 @@ } EXPORT_SYMBOL(drm_mm_get_block_generic); +struct drm_mm_node *drm_mm_get_block_range_generic(struct drm_mm_node *node, + unsigned long size, + unsigned alignment, + unsigned long start, + unsigned long end, + int atomic) +{ + struct drm_mm_node *align_splitoff = NULL; + unsigned tmp = 0; + unsigned wasted = 0; + + if (node->start < start) + wasted += start - node->start; + if (alignment) + tmp = ((node->start + wasted) % alignment); + + if (tmp) + wasted += alignment - tmp; + if (wasted) { + align_splitoff = drm_mm_split_at_start(node, wasted, atomic); + if (unlikely(align_splitoff == NULL)) + return NULL; + } + + if (node->size == size) { + list_del_init(&node->fl_entry); + node->free = 0; + } else { + node = drm_mm_split_at_start(node, size, atomic); + } + + if (align_splitoff) + drm_mm_put_block(align_splitoff); + + return node; +} +EXPORT_SYMBOL(drm_mm_get_block_range_generic); + /* * Put a block. Merge with the previous and / or next block if they are free. * Otherwise add to the free stack. @@ -242,6 +279,9 @@ int merged = 0; + BUG_ON(cur->scanned_block || cur->scanned_prev_free + || cur->scanned_next_free); + if (cur_head->prev != root_head) { prev_node = list_entry(cur_head->prev, struct drm_mm_node, ml_entry); @@ -290,6 +330,27 @@ EXPORT_SYMBOL(drm_mm_put_block); +static int check_free_hole(unsigned long start, unsigned long end, + unsigned long size, unsigned alignment) +{ + unsigned wasted = 0; + + if (end - start < size) + return 0; + + if (alignment) { + unsigned tmp = start % alignment; + if (tmp) + wasted = alignment - tmp; + } + + if (end >= start + size + wasted) { + return 1; + } + + return 0; +} + struct drm_mm_node *drm_mm_search_free(const struct drm_mm *mm, unsigned long size, unsigned alignment, int best_match) @@ -299,31 +360,25 @@ struct drm_mm_node *entry; struct drm_mm_node *best; unsigned long best_size; - unsigned wasted; + + BUG_ON(mm->scanned_blocks); best = NULL; best_size = ~0UL; list_for_each(list, free_stack) { entry = list_entry(list, struct drm_mm_node, fl_entry); - wasted = 0; - if (entry->size < size) + if (!check_free_hole(entry->start, entry->start + entry->size, + size, alignment)) continue; - if (alignment) { - register unsigned tmp = entry->start % alignment; - if (tmp) - wasted += alignment - tmp; - } + if (!best_match) + return entry; - if (entry->size >= size + wasted) { - if (!best_match) - return entry; - if (size < best_size) { - best = entry; - best_size = entry->size; - } + if (entry->size < best_size) { + best = entry; + best_size = entry->size; } } @@ -331,6 +386,198 @@ } EXPORT_SYMBOL(drm_mm_search_free); +struct drm_mm_node *drm_mm_search_free_in_range(const struct drm_mm *mm, + unsigned long size, + unsigned alignment, + unsigned long start, + unsigned long end, + int best_match) +{ + const struct list_head *free_stack = &mm->fl_entry; + struct drm_mm_node *entry; + struct drm_mm_node *best; + unsigned long best_size; + + BUG_ON(mm->scanned_blocks); + + best = NULL; + best_size = ~0UL; + + list_for_each_entry(entry, free_stack, fl_entry) { + unsigned long adj_start = entry->start < start ? + start : entry->start; + unsigned long adj_end = entry->start + entry->size > end ? + end : entry->start + entry->size; + + if (!check_free_hole(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); + +/** + * 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(struct drm_mm *mm, unsigned long size, + unsigned alignment) +{ + mm->scan_alignment = alignment; + mm->scan_size = size; + mm->scanned_blocks = 0; + mm->scan_hit_start = 0; + mm->scan_hit_size = 0; +} +EXPORT_SYMBOL(drm_mm_init_scan); + +/** + * 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(struct drm_mm_node *node) +{ + struct drm_mm *mm = node->mm; + struct list_head *prev_free, *next_free; + struct drm_mm_node *prev_node, *next_node; + + mm->scanned_blocks++; + + prev_free = next_free = NULL; + + BUG_ON(node->free); + node->scanned_block = 1; + node->free = 1; + + if (node->ml_entry.prev != &mm->ml_entry) { + prev_node = list_entry(node->ml_entry.prev, struct drm_mm_node, + ml_entry); + + if (prev_node->free) { + list_del(&prev_node->ml_entry); + + node->start = prev_node->start; + node->size += prev_node->size; + + prev_node->scanned_prev_free = 1; + + prev_free = &prev_node->fl_entry; + } + } + + if (node->ml_entry.next != &mm->ml_entry) { + next_node = list_entry(node->ml_entry.next, struct drm_mm_node, + ml_entry); + + if (next_node->free) { + list_del(&next_node->ml_entry); + + node->size += next_node->size; + + next_node->scanned_next_free = 1; + + next_free = &next_node->fl_entry; + } + } + + /* The fl_entry list is not used for allocated objects, so these two + * pointers can be abused (as long as no allocations in this memory + * manager happens). */ + node->fl_entry.prev = prev_free; + node->fl_entry.next = next_free; + + if (check_free_hole(node->start, node->start + node->size, + mm->scan_size, mm->scan_alignment)) { + mm->scan_hit_start = node->start; + mm->scan_hit_size = node->size; + + return 1; + } + + return 0; +} +EXPORT_SYMBOL(drm_mm_scan_add_block); + +/** + * 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 + * immediatly following drm_mm_search_free with best_match = 0 will then return + * the just freed block (because its at the top of the fl_entry 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(struct drm_mm_node *node) +{ + struct drm_mm *mm = node->mm; + struct drm_mm_node *prev_node, *next_node; + + mm->scanned_blocks--; + + BUG_ON(!node->scanned_block); + node->scanned_block = 0; + node->free = 0; + + prev_node = list_entry(node->fl_entry.prev, struct drm_mm_node, + fl_entry); + next_node = list_entry(node->fl_entry.next, struct drm_mm_node, + fl_entry); + + if (prev_node) { + BUG_ON(!prev_node->scanned_prev_free); + prev_node->scanned_prev_free = 0; + + list_add_tail(&prev_node->ml_entry, &node->ml_entry); + + node->start = prev_node->start + prev_node->size; + node->size -= prev_node->size; + } + + if (next_node) { + BUG_ON(!next_node->scanned_next_free); + next_node->scanned_next_free = 0; + + list_add(&next_node->ml_entry, &node->ml_entry); + + node->size -= next_node->size; + } + + INIT_LIST_HEAD(&node->fl_entry); + + /* Only need to check for containement because start&size for the + * complete resulting free block (not just the desired part) is + * stored. */ + if (node->start >= mm->scan_hit_start && + node->start + node->size + <= mm->scan_hit_start + mm->scan_hit_size) { + return 1; + } + + return 0; +} +EXPORT_SYMBOL(drm_mm_scan_remove_block); + int drm_mm_clean(struct drm_mm * mm) { struct list_head *head = &mm->ml_entry; @@ -345,6 +592,7 @@ INIT_LIST_HEAD(&mm->fl_entry); INIT_LIST_HEAD(&mm->unused_nodes); mm->num_unused = 0; + mm->scanned_blocks = 0; spin_lock_init(&mm->unused_lock); return drm_mm_create_tail_node(mm, start, size, 0); @@ -381,6 +629,26 @@ } EXPORT_SYMBOL(drm_mm_takedown); +void drm_mm_debug_table(struct drm_mm *mm, const char *prefix) +{ + struct drm_mm_node *entry; + int total_used = 0, total_free = 0, total = 0; + + list_for_each_entry(entry, &mm->ml_entry, ml_entry) { + printk(KERN_DEBUG "%s 0x%08lx-0x%08lx: %8ld: %s\n", + prefix, entry->start, entry->start + entry->size, + entry->size, entry->free ? "free" : "used"); + total += entry->size; + if (entry->free) + total_free += entry->size; + else + total_used += entry->size; + } + printk(KERN_DEBUG "%s total: %d, used %d free %d\n", prefix, total, + total_used, total_free); +} +EXPORT_SYMBOL(drm_mm_debug_table); + #if defined(CONFIG_DEBUG_FS) int drm_mm_dump_table(struct seq_file *m, struct drm_mm *mm) { @@ -395,7 +663,7 @@ else total_used += entry->size; } - seq_printf(m, "total: %d, used %d free %d\n", total, total_free, total_used); + seq_printf(m, "total: %d, used %d free %d\n", total, total_used, total_free); return 0; } EXPORT_SYMBOL(drm_mm_dump_table); --- linux-2.6.32.orig/drivers/gpu/drm/drm_modes.c +++ linux-2.6.32/drivers/gpu/drm/drm_modes.c @@ -1,9 +1,4 @@ /* - * The list_sort function is (presumably) licensed under the GPL (see the - * top level "COPYING" file for details). - * - * The remainder of this file is: - * * Copyright © 1997-2003 by The XFree86 Project, Inc. * Copyright © 2007 Dave Airlie * Copyright © 2007-2008 Intel Corporation @@ -36,6 +31,7 @@ */ #include +#include #include "drmP.h" #include "drm.h" #include "drm_crtc.h" @@ -553,6 +549,32 @@ } EXPORT_SYMBOL(drm_mode_height); +/** drm_mode_hsync - get the hsync of a mode + * @mode: mode + * + * LOCKING: + * None. + * + * Return @modes's hsync rate in kHz, rounded to the nearest int. + */ +int drm_mode_hsync(struct drm_display_mode *mode) +{ + unsigned int calc_val; + + if (mode->hsync) + return mode->hsync; + + if (mode->htotal < 0) + return 0; + + calc_val = (mode->clock * 1000) / mode->htotal; /* hsync in Hz */ + calc_val += 500; /* round to 1000Hz */ + calc_val /= 1000; /* truncate to kHz */ + + return calc_val; +} +EXPORT_SYMBOL(drm_mode_hsync); + /** * drm_mode_vrefresh - get the vrefresh of a mode * @mode: mode @@ -560,7 +582,7 @@ * LOCKING: * None. * - * Return @mode's vrefresh rate or calculate it if necessary. + * Return @mode's vrefresh rate in Hz or calculate it if necessary. * * FIXME: why is this needed? shouldn't vrefresh be set already? * @@ -829,6 +851,7 @@ /** * drm_mode_compare - compare modes for favorability + * @priv: unused * @lh_a: list_head for first mode * @lh_b: list_head for second mode * @@ -842,7 +865,7 @@ * Negative if @lh_a is better than @lh_b, zero if they're equivalent, or * positive if @lh_b is better than @lh_a. */ -static int drm_mode_compare(struct list_head *lh_a, struct list_head *lh_b) +static int drm_mode_compare(void *priv, struct list_head *lh_a, struct list_head *lh_b) { struct drm_display_mode *a = list_entry(lh_a, struct drm_display_mode, head); struct drm_display_mode *b = list_entry(lh_b, struct drm_display_mode, head); @@ -859,85 +882,6 @@ return diff; } -/* FIXME: what we don't have a list sort function? */ -/* list sort from Mark J Roberts (mjr@znex.org) */ -void list_sort(struct list_head *head, - int (*cmp)(struct list_head *a, struct list_head *b)) -{ - struct list_head *p, *q, *e, *list, *tail, *oldhead; - int insize, nmerges, psize, qsize, i; - - list = head->next; - list_del(head); - insize = 1; - for (;;) { - p = oldhead = list; - list = tail = NULL; - nmerges = 0; - - while (p) { - nmerges++; - q = p; - psize = 0; - for (i = 0; i < insize; i++) { - psize++; - q = q->next == oldhead ? NULL : q->next; - if (!q) - break; - } - - qsize = insize; - while (psize > 0 || (qsize > 0 && q)) { - if (!psize) { - e = q; - q = q->next; - qsize--; - if (q == oldhead) - q = NULL; - } else if (!qsize || !q) { - e = p; - p = p->next; - psize--; - if (p == oldhead) - p = NULL; - } else if (cmp(p, q) <= 0) { - e = p; - p = p->next; - psize--; - if (p == oldhead) - p = NULL; - } else { - e = q; - q = q->next; - qsize--; - if (q == oldhead) - q = NULL; - } - if (tail) - tail->next = e; - else - list = e; - e->prev = tail; - tail = e; - } - p = q; - } - - tail->next = list; - list->prev = tail; - - if (nmerges <= 1) - break; - - insize *= 2; - } - - head->next = list; - head->prev = list->prev; - list->prev->next = head; - list->prev = head; -} - /** * drm_mode_sort - sort mode list * @mode_list: list to sort @@ -949,7 +893,7 @@ */ void drm_mode_sort(struct list_head *mode_list) { - list_sort(mode_list, drm_mode_compare); + list_sort(NULL, mode_list, drm_mode_compare); } EXPORT_SYMBOL(drm_mode_sort); --- linux-2.6.32.orig/drivers/gpu/drm/drm_pci.c +++ linux-2.6.32/drivers/gpu/drm/drm_pci.c @@ -47,8 +47,7 @@ /** * \brief Allocate a PCI consistent memory block, for DMA. */ -drm_dma_handle_t *drm_pci_alloc(struct drm_device * dev, size_t size, size_t align, - dma_addr_t maxaddr) +drm_dma_handle_t *drm_pci_alloc(struct drm_device * dev, size_t size, size_t align) { drm_dma_handle_t *dmah; #if 1 @@ -63,11 +62,6 @@ if (align > size) return NULL; - if (pci_set_dma_mask(dev->pdev, maxaddr) != 0) { - DRM_ERROR("Setting pci dma mask failed\n"); - return NULL; - } - dmah = kmalloc(sizeof(drm_dma_handle_t), GFP_KERNEL); if (!dmah) return NULL; --- linux-2.6.32.orig/drivers/gpu/drm/drm_stub.c +++ linux-2.6.32/drivers/gpu/drm/drm_stub.c @@ -128,6 +128,7 @@ kref_get(&master->refcount); return master; } +EXPORT_SYMBOL(drm_master_get); static void drm_master_destroy(struct kref *kref) { @@ -170,10 +171,13 @@ kref_put(&(*master)->refcount, drm_master_destroy); *master = NULL; } +EXPORT_SYMBOL(drm_master_put); int drm_setmaster_ioctl(struct drm_device *dev, void *data, struct drm_file *file_priv) { + int ret = 0; + if (file_priv->is_master) return 0; @@ -188,6 +192,13 @@ mutex_lock(&dev->struct_mutex); file_priv->minor->master = drm_master_get(file_priv->master); file_priv->is_master = 1; + if (dev->driver->master_set) { + ret = dev->driver->master_set(dev, file_priv, false); + if (unlikely(ret != 0)) { + file_priv->is_master = 0; + drm_master_put(&file_priv->minor->master); + } + } mutex_unlock(&dev->struct_mutex); } @@ -204,6 +215,8 @@ return -EINVAL; mutex_lock(&dev->struct_mutex); + if (dev->driver->master_drop) + dev->driver->master_drop(dev, file_priv, false); drm_master_put(&file_priv->minor->master); file_priv->is_master = 0; mutex_unlock(&dev->struct_mutex); @@ -220,9 +233,11 @@ INIT_LIST_HEAD(&dev->ctxlist); INIT_LIST_HEAD(&dev->vmalist); INIT_LIST_HEAD(&dev->maplist); + INIT_LIST_HEAD(&dev->vblank_event_list); spin_lock_init(&dev->count_lock); spin_lock_init(&dev->drw_lock); + spin_lock_init(&dev->event_lock); init_timer(&dev->timer); mutex_init(&dev->struct_mutex); mutex_init(&dev->ctxlist_mutex); --- linux-2.6.32.orig/drivers/gpu/drm/drm_dp_i2c_helper.c +++ linux-2.6.32/drivers/gpu/drm/drm_dp_i2c_helper.c @@ -0,0 +1,209 @@ +/* + * Copyright © 2009 Keith Packard + * + * 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. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "drm_dp_helper.h" +#include "drmP.h" + +/* Run a single AUX_CH I2C transaction, writing/reading data as necessary */ +static int +i2c_algo_dp_aux_transaction(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; + int ret; + + ret = (*algo_data->aux_ch)(adapter, mode, + write_byte, read_byte); + return ret; +} + +/* + * I2C over AUX CH + */ + +/* + * Send the address. If the I2C link is running, this 'restarts' + * the connection with the new address, this is used for doing + * a write followed by a read (as needed for DDC) + */ +static int +i2c_algo_dp_aux_address(struct i2c_adapter *adapter, u16 address, bool reading) +{ + struct i2c_algo_dp_aux_data *algo_data = adapter->algo_data; + int mode = MODE_I2C_START; + int ret; + + if (reading) + mode |= MODE_I2C_READ; + else + mode |= MODE_I2C_WRITE; + algo_data->address = address; + algo_data->running = true; + ret = i2c_algo_dp_aux_transaction(adapter, mode, 0, NULL); + return ret; +} + +/* + * Stop the I2C transaction. This closes out the link, sending + * a bare address packet with the MOT bit turned off + */ +static void +i2c_algo_dp_aux_stop(struct i2c_adapter *adapter, bool reading) +{ + struct i2c_algo_dp_aux_data *algo_data = adapter->algo_data; + int mode = MODE_I2C_STOP; + + if (reading) + mode |= MODE_I2C_READ; + else + mode |= MODE_I2C_WRITE; + if (algo_data->running) { + (void) i2c_algo_dp_aux_transaction(adapter, mode, 0, NULL); + algo_data->running = false; + } +} + +/* + * Write a single byte to the current I2C address, the + * the I2C link must be running or this returns -EIO + */ +static int +i2c_algo_dp_aux_put_byte(struct i2c_adapter *adapter, u8 byte) +{ + struct i2c_algo_dp_aux_data *algo_data = adapter->algo_data; + int ret; + + if (!algo_data->running) + return -EIO; + + ret = i2c_algo_dp_aux_transaction(adapter, MODE_I2C_WRITE, byte, NULL); + return ret; +} + +/* + * Read a single byte from the current I2C address, the + * I2C link must be running or this returns -EIO + */ +static int +i2c_algo_dp_aux_get_byte(struct i2c_adapter *adapter, u8 *byte_ret) +{ + struct i2c_algo_dp_aux_data *algo_data = adapter->algo_data; + int ret; + + if (!algo_data->running) + return -EIO; + + ret = i2c_algo_dp_aux_transaction(adapter, MODE_I2C_READ, 0, byte_ret); + return ret; +} + +static int +i2c_algo_dp_aux_xfer(struct i2c_adapter *adapter, + struct i2c_msg *msgs, + int num) +{ + int ret = 0; + bool reading = false; + int m; + int b; + + for (m = 0; m < num; m++) { + u16 len = msgs[m].len; + u8 *buf = msgs[m].buf; + reading = (msgs[m].flags & I2C_M_RD) != 0; + ret = i2c_algo_dp_aux_address(adapter, msgs[m].addr, reading); + if (ret < 0) + break; + if (reading) { + for (b = 0; b < len; b++) { + ret = i2c_algo_dp_aux_get_byte(adapter, &buf[b]); + if (ret < 0) + break; + } + } else { + for (b = 0; b < len; b++) { + ret = i2c_algo_dp_aux_put_byte(adapter, buf[b]); + if (ret < 0) + break; + } + } + if (ret < 0) + break; + } + if (ret >= 0) + ret = num; + i2c_algo_dp_aux_stop(adapter, reading); + DRM_DEBUG_KMS("dp_aux_xfer return %d\n", ret); + return ret; +} + +static u32 +i2c_algo_dp_aux_functionality(struct i2c_adapter *adapter) +{ + return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL | + I2C_FUNC_SMBUS_READ_BLOCK_DATA | + I2C_FUNC_SMBUS_BLOCK_PROC_CALL | + I2C_FUNC_10BIT_ADDR; +} + +static const struct i2c_algorithm i2c_dp_aux_algo = { + .master_xfer = i2c_algo_dp_aux_xfer, + .functionality = i2c_algo_dp_aux_functionality, +}; + +static void +i2c_dp_aux_reset_bus(struct i2c_adapter *adapter) +{ + (void) i2c_algo_dp_aux_address(adapter, 0, false); + (void) i2c_algo_dp_aux_stop(adapter, false); + +} + +static int +i2c_dp_aux_prepare_bus(struct i2c_adapter *adapter) +{ + adapter->algo = &i2c_dp_aux_algo; + adapter->retries = 3; + i2c_dp_aux_reset_bus(adapter); + return 0; +} + +int +i2c_dp_aux_add_bus(struct i2c_adapter *adapter) +{ + int error; + + error = i2c_dp_aux_prepare_bus(adapter); + if (error) + return error; + error = i2c_add_adapter(adapter); + return error; +} +EXPORT_SYMBOL(i2c_dp_aux_add_bus); --- linux-2.6.32.orig/drivers/gpu/drm/drm_fb_helper.c +++ linux-2.6.32/drivers/gpu/drm/drm_fb_helper.c @@ -156,7 +156,7 @@ force = DRM_FORCE_ON; break; case 'D': - if ((connector->connector_type != DRM_MODE_CONNECTOR_DVII) || + if ((connector->connector_type != DRM_MODE_CONNECTOR_DVII) && (connector->connector_type != DRM_MODE_CONNECTOR_HDMIB)) force = DRM_FORCE_ON; else @@ -373,11 +373,9 @@ mutex_unlock(&dev->mode_config.mutex); } } - if (dpms_mode == DRM_MODE_DPMS_OFF) { - mutex_lock(&dev->mode_config.mutex); - crtc_funcs->dpms(crtc, dpms_mode); - mutex_unlock(&dev->mode_config.mutex); - } + mutex_lock(&dev->mode_config.mutex); + crtc_funcs->dpms(crtc, DRM_MODE_DPMS_OFF); + mutex_unlock(&dev->mode_config.mutex); } } } @@ -385,18 +383,23 @@ int drm_fb_helper_blank(int blank, struct fb_info *info) { switch (blank) { + /* Display: On; HSync: On, VSync: On */ case FB_BLANK_UNBLANK: drm_fb_helper_on(info); break; + /* Display: Off; HSync: On, VSync: On */ case FB_BLANK_NORMAL: drm_fb_helper_off(info, DRM_MODE_DPMS_STANDBY); break; + /* Display: Off; HSync: Off, VSync: On */ case FB_BLANK_HSYNC_SUSPEND: drm_fb_helper_off(info, DRM_MODE_DPMS_STANDBY); break; + /* Display: Off; HSync: On, VSync: Off */ case FB_BLANK_VSYNC_SUSPEND: drm_fb_helper_off(info, DRM_MODE_DPMS_SUSPEND); break; + /* Display: Off; HSync: Off, VSync: Off */ case FB_BLANK_POWERDOWN: drm_fb_helper_off(info, DRM_MODE_DPMS_OFF); break; @@ -603,11 +606,10 @@ return -EINVAL; /* Need to resize the fb object !!! */ - if (var->xres > fb->width || var->yres > fb->height) { - DRM_ERROR("Requested width/height is greater than current fb " - "object %dx%d > %dx%d\n", var->xres, var->yres, - fb->width, fb->height); - DRM_ERROR("Need resizing code.\n"); + if (var->bits_per_pixel > fb->bits_per_pixel || var->xres > fb->width || var->yres > fb->height) { + DRM_DEBUG("fb userspace requested width/height/bpp is greater than current fb " + "object %dx%d-%d > %dx%d-%d\n", var->xres, var->yres, var->bits_per_pixel, + fb->width, fb->height, fb->bits_per_pixel); return -EINVAL; } @@ -905,8 +907,13 @@ if (new_fb) { info->var.pixclock = 0; - if (register_framebuffer(info) < 0) + ret = fb_alloc_cmap(&info->cmap, modeset->crtc->gamma_size, 0); + if (ret) + return ret; + if (register_framebuffer(info) < 0) { + fb_dealloc_cmap(&info->cmap); return -EINVAL; + } } else { drm_fb_helper_set_par(info); } @@ -936,6 +943,7 @@ unregister_sysrq_key('v', &sysrq_drm_fb_helper_restore_op); } drm_fb_helper_crtc_free(helper); + fb_dealloc_cmap(&helper->fb->fbdev->cmap); } EXPORT_SYMBOL(drm_fb_helper_free); --- linux-2.6.32.orig/drivers/gpu/drm/i830/i830_dma.c +++ linux-2.6.32/drivers/gpu/drm/i830/i830_dma.c @@ -117,7 +117,7 @@ static const struct file_operations i830_buffer_fops = { .open = drm_open, .release = drm_release, - .ioctl = drm_ioctl, + .unlocked_ioctl = drm_ioctl, .mmap = i830_mmap_buffers, .fasync = drm_fasync, }; --- linux-2.6.32.orig/drivers/gpu/drm/i830/i830_drv.c +++ linux-2.6.32/drivers/gpu/drm/i830/i830_drv.c @@ -70,7 +70,7 @@ .owner = THIS_MODULE, .open = drm_open, .release = drm_release, - .ioctl = drm_ioctl, + .unlocked_ioctl = drm_ioctl, .mmap = drm_mmap, .poll = drm_poll, .fasync = drm_fasync, --- linux-2.6.32.orig/drivers/gpu/drm/i2c/Makefile +++ linux-2.6.32/drivers/gpu/drm/i2c/Makefile @@ -0,0 +1,4 @@ +ccflags-y := -Iinclude/drm + +ch7006-y := ch7006_drv.o ch7006_mode.o +obj-$(CONFIG_DRM_I2C_CH7006) += ch7006.o --- linux-2.6.32.orig/drivers/gpu/drm/i2c/ch7006_drv.c +++ linux-2.6.32/drivers/gpu/drm/i2c/ch7006_drv.c @@ -0,0 +1,536 @@ +/* + * Copyright (C) 2009 Francisco Jerez. + * 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 COPYRIGHT OWNER(S) 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 "ch7006_priv.h" + +/* DRM encoder functions */ + +static void ch7006_encoder_set_config(struct drm_encoder *encoder, + void *params) +{ + struct ch7006_priv *priv = to_ch7006_priv(encoder); + + priv->params = params; +} + +static void ch7006_encoder_destroy(struct drm_encoder *encoder) +{ + struct ch7006_priv *priv = to_ch7006_priv(encoder); + + drm_property_destroy(encoder->dev, priv->scale_property); + + kfree(priv); + to_encoder_slave(encoder)->slave_priv = NULL; + + drm_i2c_encoder_destroy(encoder); +} + +static void ch7006_encoder_dpms(struct drm_encoder *encoder, int mode) +{ + struct i2c_client *client = drm_i2c_encoder_get_client(encoder); + struct ch7006_priv *priv = to_ch7006_priv(encoder); + struct ch7006_state *state = &priv->state; + + ch7006_dbg(client, "\n"); + + if (mode == priv->last_dpms) + return; + priv->last_dpms = mode; + + ch7006_setup_power_state(encoder); + + ch7006_load_reg(client, state, CH7006_POWER); +} + +static void ch7006_encoder_save(struct drm_encoder *encoder) +{ + struct i2c_client *client = drm_i2c_encoder_get_client(encoder); + struct ch7006_priv *priv = to_ch7006_priv(encoder); + + ch7006_dbg(client, "\n"); + + ch7006_state_save(client, &priv->saved_state); +} + +static void ch7006_encoder_restore(struct drm_encoder *encoder) +{ + struct i2c_client *client = drm_i2c_encoder_get_client(encoder); + struct ch7006_priv *priv = to_ch7006_priv(encoder); + + ch7006_dbg(client, "\n"); + + ch7006_state_load(client, &priv->saved_state); +} + +static bool ch7006_encoder_mode_fixup(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct ch7006_priv *priv = to_ch7006_priv(encoder); + + /* The ch7006 is painfully picky with the input timings so no + * custom modes for now... */ + + priv->mode = ch7006_lookup_mode(encoder, mode); + + return !!priv->mode; +} + +static int ch7006_encoder_mode_valid(struct drm_encoder *encoder, + struct drm_display_mode *mode) +{ + if (ch7006_lookup_mode(encoder, mode)) + return MODE_OK; + else + return MODE_BAD; +} + +static void ch7006_encoder_mode_set(struct drm_encoder *encoder, + struct drm_display_mode *drm_mode, + struct drm_display_mode *adjusted_mode) +{ + struct i2c_client *client = drm_i2c_encoder_get_client(encoder); + struct ch7006_priv *priv = to_ch7006_priv(encoder); + struct ch7006_encoder_params *params = priv->params; + struct ch7006_state *state = &priv->state; + uint8_t *regs = state->regs; + struct ch7006_mode *mode = priv->mode; + struct ch7006_tv_norm_info *norm = &ch7006_tv_norms[priv->norm]; + int start_active; + + ch7006_dbg(client, "\n"); + + regs[CH7006_DISPMODE] = norm->dispmode | mode->dispmode; + regs[CH7006_BWIDTH] = 0; + regs[CH7006_INPUT_FORMAT] = bitf(CH7006_INPUT_FORMAT_FORMAT, + params->input_format); + + regs[CH7006_CLKMODE] = CH7006_CLKMODE_SUBC_LOCK + | bitf(CH7006_CLKMODE_XCM, params->xcm) + | bitf(CH7006_CLKMODE_PCM, params->pcm); + if (params->clock_mode) + regs[CH7006_CLKMODE] |= CH7006_CLKMODE_MASTER; + if (params->clock_edge) + regs[CH7006_CLKMODE] |= CH7006_CLKMODE_POS_EDGE; + + start_active = (drm_mode->htotal & ~0x7) - (drm_mode->hsync_start & ~0x7); + regs[CH7006_POV] = bitf(CH7006_POV_START_ACTIVE_8, start_active); + regs[CH7006_START_ACTIVE] = bitf(CH7006_START_ACTIVE_0, start_active); + + regs[CH7006_INPUT_SYNC] = 0; + if (params->sync_direction) + regs[CH7006_INPUT_SYNC] |= CH7006_INPUT_SYNC_OUTPUT; + if (params->sync_encoding) + regs[CH7006_INPUT_SYNC] |= CH7006_INPUT_SYNC_EMBEDDED; + if (drm_mode->flags & DRM_MODE_FLAG_PVSYNC) + regs[CH7006_INPUT_SYNC] |= CH7006_INPUT_SYNC_PVSYNC; + if (drm_mode->flags & DRM_MODE_FLAG_PHSYNC) + regs[CH7006_INPUT_SYNC] |= CH7006_INPUT_SYNC_PHSYNC; + + regs[CH7006_DETECT] = 0; + regs[CH7006_BCLKOUT] = 0; + + regs[CH7006_SUBC_INC3] = 0; + if (params->pout_level) + regs[CH7006_SUBC_INC3] |= CH7006_SUBC_INC3_POUT_3_3V; + + regs[CH7006_SUBC_INC4] = 0; + if (params->active_detect) + regs[CH7006_SUBC_INC4] |= CH7006_SUBC_INC4_DS_INPUT; + + regs[CH7006_PLL_CONTROL] = priv->saved_state.regs[CH7006_PLL_CONTROL]; + + ch7006_setup_levels(encoder); + ch7006_setup_subcarrier(encoder); + ch7006_setup_pll(encoder); + ch7006_setup_power_state(encoder); + ch7006_setup_properties(encoder); + + ch7006_state_load(client, state); +} + +static enum drm_connector_status ch7006_encoder_detect(struct drm_encoder *encoder, + struct drm_connector *connector) +{ + struct i2c_client *client = drm_i2c_encoder_get_client(encoder); + struct ch7006_priv *priv = to_ch7006_priv(encoder); + struct ch7006_state *state = &priv->state; + int det; + + ch7006_dbg(client, "\n"); + + ch7006_save_reg(client, state, CH7006_DETECT); + ch7006_save_reg(client, state, CH7006_POWER); + ch7006_save_reg(client, state, CH7006_CLKMODE); + + ch7006_write(client, CH7006_POWER, CH7006_POWER_RESET | + bitfs(CH7006_POWER_LEVEL, NORMAL)); + ch7006_write(client, CH7006_CLKMODE, CH7006_CLKMODE_MASTER); + + ch7006_write(client, CH7006_DETECT, CH7006_DETECT_SENSE); + + ch7006_write(client, CH7006_DETECT, 0); + + det = ch7006_read(client, CH7006_DETECT); + + ch7006_load_reg(client, state, CH7006_CLKMODE); + ch7006_load_reg(client, state, CH7006_POWER); + ch7006_load_reg(client, state, CH7006_DETECT); + + if ((det & (CH7006_DETECT_SVIDEO_Y_TEST| + CH7006_DETECT_SVIDEO_C_TEST| + CH7006_DETECT_CVBS_TEST)) == 0) + priv->subconnector = DRM_MODE_SUBCONNECTOR_SCART; + else if ((det & (CH7006_DETECT_SVIDEO_Y_TEST| + CH7006_DETECT_SVIDEO_C_TEST)) == 0) + priv->subconnector = DRM_MODE_SUBCONNECTOR_SVIDEO; + else if ((det & CH7006_DETECT_CVBS_TEST) == 0) + priv->subconnector = DRM_MODE_SUBCONNECTOR_Composite; + else + priv->subconnector = DRM_MODE_SUBCONNECTOR_Unknown; + + drm_connector_property_set_value(connector, + encoder->dev->mode_config.tv_subconnector_property, + priv->subconnector); + + return priv->subconnector ? connector_status_connected : + connector_status_disconnected; +} + +static int ch7006_encoder_get_modes(struct drm_encoder *encoder, + struct drm_connector *connector) +{ + struct ch7006_priv *priv = to_ch7006_priv(encoder); + struct ch7006_mode *mode; + int n = 0; + + for (mode = ch7006_modes; mode->mode.clock; mode++) { + if (~mode->valid_scales & 1<scale || + ~mode->valid_norms & 1<norm) + continue; + + drm_mode_probed_add(connector, + drm_mode_duplicate(encoder->dev, &mode->mode)); + + n++; + } + + return n; +} + +static int ch7006_encoder_create_resources(struct drm_encoder *encoder, + struct drm_connector *connector) +{ + struct ch7006_priv *priv = to_ch7006_priv(encoder); + struct drm_device *dev = encoder->dev; + struct drm_mode_config *conf = &dev->mode_config; + + drm_mode_create_tv_properties(dev, NUM_TV_NORMS, ch7006_tv_norm_names); + + priv->scale_property = drm_property_create(dev, DRM_MODE_PROP_RANGE, + "scale", 2); + priv->scale_property->values[0] = 0; + priv->scale_property->values[1] = 2; + + drm_connector_attach_property(connector, conf->tv_select_subconnector_property, + priv->select_subconnector); + drm_connector_attach_property(connector, conf->tv_subconnector_property, + priv->subconnector); + drm_connector_attach_property(connector, conf->tv_left_margin_property, + priv->hmargin); + drm_connector_attach_property(connector, conf->tv_bottom_margin_property, + priv->vmargin); + drm_connector_attach_property(connector, conf->tv_mode_property, + priv->norm); + drm_connector_attach_property(connector, conf->tv_brightness_property, + priv->brightness); + drm_connector_attach_property(connector, conf->tv_contrast_property, + priv->contrast); + drm_connector_attach_property(connector, conf->tv_flicker_reduction_property, + priv->flicker); + drm_connector_attach_property(connector, priv->scale_property, + priv->scale); + + return 0; +} + +static int ch7006_encoder_set_property(struct drm_encoder *encoder, + struct drm_connector *connector, + struct drm_property *property, + uint64_t val) +{ + struct i2c_client *client = drm_i2c_encoder_get_client(encoder); + struct ch7006_priv *priv = to_ch7006_priv(encoder); + struct ch7006_state *state = &priv->state; + struct drm_mode_config *conf = &encoder->dev->mode_config; + struct drm_crtc *crtc = encoder->crtc; + bool modes_changed = false; + + ch7006_dbg(client, "\n"); + + if (property == conf->tv_select_subconnector_property) { + priv->select_subconnector = val; + + ch7006_setup_power_state(encoder); + + ch7006_load_reg(client, state, CH7006_POWER); + + } else if (property == conf->tv_left_margin_property) { + priv->hmargin = val; + + ch7006_setup_properties(encoder); + + ch7006_load_reg(client, state, CH7006_POV); + ch7006_load_reg(client, state, CH7006_HPOS); + + } else if (property == conf->tv_bottom_margin_property) { + priv->vmargin = val; + + ch7006_setup_properties(encoder); + + ch7006_load_reg(client, state, CH7006_POV); + ch7006_load_reg(client, state, CH7006_VPOS); + + } else if (property == conf->tv_mode_property) { + if (connector->dpms != DRM_MODE_DPMS_OFF) + return -EINVAL; + + priv->norm = val; + + modes_changed = true; + + } else if (property == conf->tv_brightness_property) { + priv->brightness = val; + + ch7006_setup_levels(encoder); + + ch7006_load_reg(client, state, CH7006_BLACK_LEVEL); + + } else if (property == conf->tv_contrast_property) { + priv->contrast = val; + + ch7006_setup_properties(encoder); + + ch7006_load_reg(client, state, CH7006_CONTRAST); + + } else if (property == conf->tv_flicker_reduction_property) { + priv->flicker = val; + + ch7006_setup_properties(encoder); + + ch7006_load_reg(client, state, CH7006_FFILTER); + + } else if (property == priv->scale_property) { + if (connector->dpms != DRM_MODE_DPMS_OFF) + return -EINVAL; + + priv->scale = val; + + modes_changed = true; + + } else { + return -EINVAL; + } + + if (modes_changed) { + drm_helper_probe_single_connector_modes(connector, 0, 0); + + /* Disable the crtc to ensure a full modeset is + * performed whenever it's turned on again. */ + if (crtc) { + struct drm_mode_set modeset = { + .crtc = crtc, + }; + + crtc->funcs->set_config(&modeset); + } + } + + return 0; +} + +static struct drm_encoder_slave_funcs ch7006_encoder_funcs = { + .set_config = ch7006_encoder_set_config, + .destroy = ch7006_encoder_destroy, + .dpms = ch7006_encoder_dpms, + .save = ch7006_encoder_save, + .restore = ch7006_encoder_restore, + .mode_fixup = ch7006_encoder_mode_fixup, + .mode_valid = ch7006_encoder_mode_valid, + .mode_set = ch7006_encoder_mode_set, + .detect = ch7006_encoder_detect, + .get_modes = ch7006_encoder_get_modes, + .create_resources = ch7006_encoder_create_resources, + .set_property = ch7006_encoder_set_property, +}; + + +/* I2C driver functions */ + +static int ch7006_probe(struct i2c_client *client, const struct i2c_device_id *id) +{ + uint8_t addr = CH7006_VERSION_ID; + uint8_t val; + int ret; + + ch7006_dbg(client, "\n"); + + ret = i2c_master_send(client, &addr, sizeof(addr)); + if (ret < 0) + goto fail; + + ret = i2c_master_recv(client, &val, sizeof(val)); + if (ret < 0) + goto fail; + + ch7006_info(client, "Detected version ID: %x\n", val); + + /* I don't know what this is for, but otherwise I get no + * signal. + */ + ch7006_write(client, 0x3d, 0x0); + + return 0; + +fail: + ch7006_err(client, "Error %d reading version ID\n", ret); + + return -ENODEV; +} + +static int ch7006_remove(struct i2c_client *client) +{ + ch7006_dbg(client, "\n"); + + return 0; +} + +static int ch7006_encoder_init(struct i2c_client *client, + struct drm_device *dev, + struct drm_encoder_slave *encoder) +{ + struct ch7006_priv *priv; + int i; + + ch7006_dbg(client, "\n"); + + priv = kzalloc(sizeof(*priv), GFP_KERNEL); + if (!priv) + return -ENOMEM; + + encoder->slave_priv = priv; + encoder->slave_funcs = &ch7006_encoder_funcs; + + priv->norm = TV_NORM_PAL; + priv->select_subconnector = DRM_MODE_SUBCONNECTOR_Automatic; + priv->subconnector = DRM_MODE_SUBCONNECTOR_Unknown; + priv->scale = 1; + priv->contrast = 50; + priv->brightness = 50; + priv->flicker = 50; + priv->hmargin = 50; + priv->vmargin = 50; + priv->last_dpms = -1; + + if (ch7006_tv_norm) { + for (i = 0; i < NUM_TV_NORMS; i++) { + if (!strcmp(ch7006_tv_norm_names[i], ch7006_tv_norm)) { + priv->norm = i; + break; + } + } + + if (i == NUM_TV_NORMS) + ch7006_err(client, "Invalid TV norm setting \"%s\".\n", + ch7006_tv_norm); + } + + if (ch7006_scale >= 0 && ch7006_scale <= 2) + priv->scale = ch7006_scale; + else + ch7006_err(client, "Invalid scale setting \"%d\".\n", + ch7006_scale); + + return 0; +} + +static struct i2c_device_id ch7006_ids[] = { + { "ch7006", 0 }, + { } +}; +MODULE_DEVICE_TABLE(i2c, ch7006_ids); + +static struct drm_i2c_encoder_driver ch7006_driver = { + .i2c_driver = { + .probe = ch7006_probe, + .remove = ch7006_remove, + + .driver = { + .name = "ch7006", + }, + + .id_table = ch7006_ids, + }, + + .encoder_init = ch7006_encoder_init, +}; + + +/* Module initialization */ + +static int __init ch7006_init(void) +{ + return drm_i2c_encoder_register(THIS_MODULE, &ch7006_driver); +} + +static void __exit ch7006_exit(void) +{ + drm_i2c_encoder_unregister(&ch7006_driver); +} + +int ch7006_debug; +module_param_named(debug, ch7006_debug, int, 0600); +MODULE_PARM_DESC(debug, "Enable debug output."); + +char *ch7006_tv_norm; +module_param_named(tv_norm, ch7006_tv_norm, charp, 0600); +MODULE_PARM_DESC(tv_norm, "Default TV norm.\n" + "\t\tSupported: PAL, PAL-M, PAL-N, PAL-Nc, PAL-60, NTSC-M, NTSC-J.\n" + "\t\tDefault: PAL"); + +int ch7006_scale = 1; +module_param_named(scale, ch7006_scale, int, 0600); +MODULE_PARM_DESC(scale, "Default scale.\n" + "\t\tSupported: 0 -> Select video modes with a higher blanking ratio.\n" + "\t\t\t1 -> Select default video modes.\n" + "\t\t\t2 -> Select video modes with a lower blanking ratio."); + +MODULE_AUTHOR("Francisco Jerez "); +MODULE_DESCRIPTION("Chrontel ch7006 TV encoder driver"); +MODULE_LICENSE("GPL and additional rights"); + +module_init(ch7006_init); +module_exit(ch7006_exit); --- linux-2.6.32.orig/drivers/gpu/drm/i2c/ch7006_mode.c +++ linux-2.6.32/drivers/gpu/drm/i2c/ch7006_mode.c @@ -0,0 +1,468 @@ +/* + * Copyright (C) 2009 Francisco Jerez. + * 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 COPYRIGHT OWNER(S) 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 "ch7006_priv.h" + +char *ch7006_tv_norm_names[] = { + [TV_NORM_PAL] = "PAL", + [TV_NORM_PAL_M] = "PAL-M", + [TV_NORM_PAL_N] = "PAL-N", + [TV_NORM_PAL_NC] = "PAL-Nc", + [TV_NORM_PAL_60] = "PAL-60", + [TV_NORM_NTSC_M] = "NTSC-M", + [TV_NORM_NTSC_J] = "NTSC-J", +}; + +#define NTSC_LIKE_TIMINGS .vrefresh = 60 * fixed1/1.001, \ + .vdisplay = 480, \ + .vtotal = 525, \ + .hvirtual = 660 + +#define PAL_LIKE_TIMINGS .vrefresh = 50 * fixed1, \ + .vdisplay = 576, \ + .vtotal = 625, \ + .hvirtual = 810 + +struct ch7006_tv_norm_info ch7006_tv_norms[] = { + [TV_NORM_NTSC_M] = { + NTSC_LIKE_TIMINGS, + .black_level = 0.339 * fixed1, + .subc_freq = 3579545 * fixed1, + .dispmode = bitfs(CH7006_DISPMODE_OUTPUT_STD, NTSC), + .voffset = 0, + }, + [TV_NORM_NTSC_J] = { + NTSC_LIKE_TIMINGS, + .black_level = 0.286 * fixed1, + .subc_freq = 3579545 * fixed1, + .dispmode = bitfs(CH7006_DISPMODE_OUTPUT_STD, NTSC_J), + .voffset = 0, + }, + [TV_NORM_PAL] = { + PAL_LIKE_TIMINGS, + .black_level = 0.3 * fixed1, + .subc_freq = 4433618.75 * fixed1, + .dispmode = bitfs(CH7006_DISPMODE_OUTPUT_STD, PAL), + .voffset = 0, + }, + [TV_NORM_PAL_M] = { + NTSC_LIKE_TIMINGS, + .black_level = 0.339 * fixed1, + .subc_freq = 3575611.433 * fixed1, + .dispmode = bitfs(CH7006_DISPMODE_OUTPUT_STD, PAL_M), + .voffset = 16, + }, + + /* The following modes seem to work right but they're + * undocumented */ + + [TV_NORM_PAL_N] = { + PAL_LIKE_TIMINGS, + .black_level = 0.339 * fixed1, + .subc_freq = 4433618.75 * fixed1, + .dispmode = bitfs(CH7006_DISPMODE_OUTPUT_STD, PAL), + .voffset = 0, + }, + [TV_NORM_PAL_NC] = { + PAL_LIKE_TIMINGS, + .black_level = 0.3 * fixed1, + .subc_freq = 3582056.25 * fixed1, + .dispmode = bitfs(CH7006_DISPMODE_OUTPUT_STD, PAL), + .voffset = 0, + }, + [TV_NORM_PAL_60] = { + NTSC_LIKE_TIMINGS, + .black_level = 0.3 * fixed1, + .subc_freq = 4433618.75 * fixed1, + .dispmode = bitfs(CH7006_DISPMODE_OUTPUT_STD, PAL_M), + .voffset = 16, + }, +}; + +#define __MODE(f, hd, vd, ht, vt, hsynp, vsynp, \ + subc, scale, scale_mask, norm_mask, e_hd, e_vd) { \ + .mode = { \ + .name = #hd "x" #vd, \ + .status = 0, \ + .type = DRM_MODE_TYPE_DRIVER, \ + .clock = f, \ + .hdisplay = hd, \ + .hsync_start = e_hd + 16, \ + .hsync_end = e_hd + 80, \ + .htotal = ht, \ + .hskew = 0, \ + .vdisplay = vd, \ + .vsync_start = vd + 10, \ + .vsync_end = vd + 26, \ + .vtotal = vt, \ + .vscan = 0, \ + .flags = DRM_MODE_FLAG_##hsynp##HSYNC | \ + DRM_MODE_FLAG_##vsynp##VSYNC, \ + .vrefresh = 0, \ + }, \ + .enc_hdisp = e_hd, \ + .enc_vdisp = e_vd, \ + .subc_coeff = subc * fixed1, \ + .dispmode = bitfs(CH7006_DISPMODE_SCALING_RATIO, scale) | \ + bitfs(CH7006_DISPMODE_INPUT_RES, e_hd##x##e_vd), \ + .valid_scales = scale_mask, \ + .valid_norms = norm_mask \ + } + +#define MODE(f, hd, vd, ht, vt, hsynp, vsynp, \ + subc, scale, scale_mask, norm_mask) \ + __MODE(f, hd, vd, ht, vt, hsynp, vsynp, subc, scale, \ + scale_mask, norm_mask, hd, vd) + +#define NTSC_LIKE (1 << TV_NORM_NTSC_M | 1 << TV_NORM_NTSC_J | \ + 1 << TV_NORM_PAL_M | 1 << TV_NORM_PAL_60) + +#define PAL_LIKE (1 << TV_NORM_PAL | 1 << TV_NORM_PAL_N | 1 << TV_NORM_PAL_NC) + +struct ch7006_mode ch7006_modes[] = { + MODE(21000, 512, 384, 840, 500, N, N, 181.797557582, 5_4, 0x6, PAL_LIKE), + MODE(26250, 512, 384, 840, 625, N, N, 145.438046066, 1_1, 0x1, PAL_LIKE), + MODE(20140, 512, 384, 800, 420, N, N, 213.257083791, 5_4, 0x4, NTSC_LIKE), + MODE(24671, 512, 384, 784, 525, N, N, 174.0874153, 1_1, 0x3, NTSC_LIKE), + MODE(28125, 720, 400, 1125, 500, N, N, 135.742176298, 5_4, 0x6, PAL_LIKE), + MODE(34875, 720, 400, 1116, 625, N, N, 109.469496898, 1_1, 0x1, PAL_LIKE), + MODE(23790, 720, 400, 945, 420, N, N, 160.475642016, 5_4, 0x4, NTSC_LIKE), + MODE(29455, 720, 400, 936, 525, N, N, 129.614941843, 1_1, 0x3, NTSC_LIKE), + MODE(25000, 640, 400, 1000, 500, N, N, 152.709948279, 5_4, 0x6, PAL_LIKE), + MODE(31500, 640, 400, 1008, 625, N, N, 121.198371646, 1_1, 0x1, PAL_LIKE), + MODE(21147, 640, 400, 840, 420, N, N, 180.535097338, 5_4, 0x4, NTSC_LIKE), + MODE(26434, 640, 400, 840, 525, N, N, 144.42807787, 1_1, 0x2, NTSC_LIKE), + MODE(30210, 640, 400, 840, 600, N, N, 126.374568276, 7_8, 0x1, NTSC_LIKE), + MODE(21000, 640, 480, 840, 500, N, N, 181.797557582, 5_4, 0x4, PAL_LIKE), + MODE(26250, 640, 480, 840, 625, N, N, 145.438046066, 1_1, 0x2, PAL_LIKE), + MODE(31500, 640, 480, 840, 750, N, N, 121.198371646, 5_6, 0x1, PAL_LIKE), + MODE(24671, 640, 480, 784, 525, N, N, 174.0874153, 1_1, 0x4, NTSC_LIKE), + MODE(28196, 640, 480, 784, 600, N, N, 152.326488422, 7_8, 0x2, NTSC_LIKE), + MODE(30210, 640, 480, 800, 630, N, N, 142.171389101, 5_6, 0x1, NTSC_LIKE), + __MODE(29500, 720, 576, 944, 625, P, P, 145.592111636, 1_1, 0x7, PAL_LIKE, 800, 600), + MODE(36000, 800, 600, 960, 750, P, P, 119.304647022, 5_6, 0x6, PAL_LIKE), + MODE(39000, 800, 600, 936, 836, P, P, 110.127366499, 3_4, 0x1, PAL_LIKE), + MODE(39273, 800, 600, 1040, 630, P, P, 145.816809399, 5_6, 0x4, NTSC_LIKE), + MODE(43636, 800, 600, 1040, 700, P, P, 131.235128487, 3_4, 0x2, NTSC_LIKE), + MODE(47832, 800, 600, 1064, 750, P, P, 119.723275165, 7_10, 0x1, NTSC_LIKE), + {} +}; + +struct ch7006_mode *ch7006_lookup_mode(struct drm_encoder *encoder, + struct drm_display_mode *drm_mode) +{ + struct ch7006_priv *priv = to_ch7006_priv(encoder); + struct ch7006_mode *mode; + + for (mode = ch7006_modes; mode->mode.clock; mode++) { + + if (~mode->valid_norms & 1<norm) + continue; + + if (mode->mode.hdisplay != drm_mode->hdisplay || + mode->mode.vdisplay != drm_mode->vdisplay || + mode->mode.vtotal != drm_mode->vtotal || + mode->mode.htotal != drm_mode->htotal || + mode->mode.clock != drm_mode->clock) + continue; + + return mode; + } + + return NULL; +} + +/* Some common HW state calculation code */ + +void ch7006_setup_levels(struct drm_encoder *encoder) +{ + struct i2c_client *client = drm_i2c_encoder_get_client(encoder); + struct ch7006_priv *priv = to_ch7006_priv(encoder); + uint8_t *regs = priv->state.regs; + struct ch7006_tv_norm_info *norm = &ch7006_tv_norms[priv->norm]; + int gain; + int black_level; + + /* Set DAC_GAIN if the voltage drop between white and black is + * high enough. */ + if (norm->black_level < 339*fixed1/1000) { + gain = 76; + + regs[CH7006_INPUT_FORMAT] |= CH7006_INPUT_FORMAT_DAC_GAIN; + } else { + gain = 71; + + regs[CH7006_INPUT_FORMAT] &= ~CH7006_INPUT_FORMAT_DAC_GAIN; + } + + black_level = round_fixed(norm->black_level*26625)/gain; + + /* Correct it with the specified brightness. */ + black_level = interpolate(90, black_level, 208, priv->brightness); + + regs[CH7006_BLACK_LEVEL] = bitf(CH7006_BLACK_LEVEL_0, black_level); + + ch7006_dbg(client, "black level: %d\n", black_level); +} + +void ch7006_setup_subcarrier(struct drm_encoder *encoder) +{ + struct i2c_client *client = drm_i2c_encoder_get_client(encoder); + struct ch7006_priv *priv = to_ch7006_priv(encoder); + struct ch7006_state *state = &priv->state; + struct ch7006_tv_norm_info *norm = &ch7006_tv_norms[priv->norm]; + struct ch7006_mode *mode = priv->mode; + uint32_t subc_inc; + + subc_inc = round_fixed((mode->subc_coeff >> 8) + * (norm->subc_freq >> 24)); + + setbitf(state, CH7006_SUBC_INC0, 28, subc_inc); + setbitf(state, CH7006_SUBC_INC1, 24, subc_inc); + setbitf(state, CH7006_SUBC_INC2, 20, subc_inc); + setbitf(state, CH7006_SUBC_INC3, 16, subc_inc); + setbitf(state, CH7006_SUBC_INC4, 12, subc_inc); + setbitf(state, CH7006_SUBC_INC5, 8, subc_inc); + setbitf(state, CH7006_SUBC_INC6, 4, subc_inc); + setbitf(state, CH7006_SUBC_INC7, 0, subc_inc); + + ch7006_dbg(client, "subcarrier inc: %u\n", subc_inc); +} + +void ch7006_setup_pll(struct drm_encoder *encoder) +{ + struct i2c_client *client = drm_i2c_encoder_get_client(encoder); + struct ch7006_priv *priv = to_ch7006_priv(encoder); + uint8_t *regs = priv->state.regs; + struct ch7006_mode *mode = priv->mode; + int n, best_n = 0; + int m, best_m = 0; + int freq, best_freq = 0; + + for (n = 0; n < CH7006_MAXN; n++) { + for (m = 0; m < CH7006_MAXM; m++) { + freq = CH7006_FREQ0*(n+2)/(m+2); + + if (abs(freq - mode->mode.clock) < + abs(best_freq - mode->mode.clock)) { + best_freq = freq; + best_n = n; + best_m = m; + } + } + } + + regs[CH7006_PLLOV] = bitf(CH7006_PLLOV_N_8, best_n) | + bitf(CH7006_PLLOV_M_8, best_m); + + regs[CH7006_PLLM] = bitf(CH7006_PLLM_0, best_m); + regs[CH7006_PLLN] = bitf(CH7006_PLLN_0, best_n); + + if (best_n < 108) + regs[CH7006_PLL_CONTROL] |= CH7006_PLL_CONTROL_CAPACITOR; + else + regs[CH7006_PLL_CONTROL] &= ~CH7006_PLL_CONTROL_CAPACITOR; + + ch7006_dbg(client, "n=%d m=%d f=%d c=%d\n", + best_n, best_m, best_freq, best_n < 108); +} + +void ch7006_setup_power_state(struct drm_encoder *encoder) +{ + struct ch7006_priv *priv = to_ch7006_priv(encoder); + uint8_t *power = &priv->state.regs[CH7006_POWER]; + int subconnector; + + subconnector = priv->select_subconnector ? priv->select_subconnector : + priv->subconnector; + + *power = CH7006_POWER_RESET; + + if (priv->last_dpms == DRM_MODE_DPMS_ON) { + switch (subconnector) { + case DRM_MODE_SUBCONNECTOR_SVIDEO: + *power |= bitfs(CH7006_POWER_LEVEL, CVBS_OFF); + break; + case DRM_MODE_SUBCONNECTOR_Composite: + *power |= bitfs(CH7006_POWER_LEVEL, SVIDEO_OFF); + break; + case DRM_MODE_SUBCONNECTOR_SCART: + *power |= bitfs(CH7006_POWER_LEVEL, NORMAL) | + CH7006_POWER_SCART; + break; + } + + } else { + *power |= bitfs(CH7006_POWER_LEVEL, FULL_POWER_OFF); + } +} + +void ch7006_setup_properties(struct drm_encoder *encoder) +{ + struct i2c_client *client = drm_i2c_encoder_get_client(encoder); + struct ch7006_priv *priv = to_ch7006_priv(encoder); + struct ch7006_state *state = &priv->state; + struct ch7006_tv_norm_info *norm = &ch7006_tv_norms[priv->norm]; + struct ch7006_mode *ch_mode = priv->mode; + struct drm_display_mode *mode = &ch_mode->mode; + uint8_t *regs = state->regs; + int flicker, contrast, hpos, vpos; + uint64_t scale, aspect; + + flicker = interpolate(0, 2, 3, priv->flicker); + regs[CH7006_FFILTER] = bitf(CH7006_FFILTER_TEXT, flicker) | + bitf(CH7006_FFILTER_LUMA, flicker) | + bitf(CH7006_FFILTER_CHROMA, 1); + + contrast = interpolate(0, 5, 7, priv->contrast); + regs[CH7006_CONTRAST] = bitf(CH7006_CONTRAST_0, contrast); + + scale = norm->vtotal*fixed1; + do_div(scale, mode->vtotal); + + aspect = ch_mode->enc_hdisp*fixed1; + do_div(aspect, ch_mode->enc_vdisp); + + hpos = round_fixed((norm->hvirtual * aspect - mode->hdisplay * scale) + * priv->hmargin * mode->vtotal) / norm->vtotal / 100 / 4; + + setbitf(state, CH7006_POV, HPOS_8, hpos); + setbitf(state, CH7006_HPOS, 0, hpos); + + vpos = max(0, norm->vdisplay - round_fixed(mode->vdisplay*scale) + + norm->voffset) * priv->vmargin / 100 / 2; + + setbitf(state, CH7006_POV, VPOS_8, vpos); + setbitf(state, CH7006_VPOS, 0, vpos); + + ch7006_dbg(client, "hpos: %d, vpos: %d\n", hpos, vpos); +} + +/* HW access functions */ + +void ch7006_write(struct i2c_client *client, uint8_t addr, uint8_t val) +{ + uint8_t buf[] = {addr, val}; + int ret; + + ret = i2c_master_send(client, buf, ARRAY_SIZE(buf)); + if (ret < 0) + ch7006_err(client, "Error %d writing to subaddress 0x%x\n", + ret, addr); +} + +uint8_t ch7006_read(struct i2c_client *client, uint8_t addr) +{ + uint8_t val; + int ret; + + ret = i2c_master_send(client, &addr, sizeof(addr)); + if (ret < 0) + goto fail; + + ret = i2c_master_recv(client, &val, sizeof(val)); + if (ret < 0) + goto fail; + + return val; + +fail: + ch7006_err(client, "Error %d reading from subaddress 0x%x\n", + ret, addr); + return 0; +} + +void ch7006_state_load(struct i2c_client *client, + struct ch7006_state *state) +{ + ch7006_load_reg(client, state, CH7006_POWER); + + ch7006_load_reg(client, state, CH7006_DISPMODE); + ch7006_load_reg(client, state, CH7006_FFILTER); + ch7006_load_reg(client, state, CH7006_BWIDTH); + ch7006_load_reg(client, state, CH7006_INPUT_FORMAT); + ch7006_load_reg(client, state, CH7006_CLKMODE); + ch7006_load_reg(client, state, CH7006_START_ACTIVE); + ch7006_load_reg(client, state, CH7006_POV); + ch7006_load_reg(client, state, CH7006_BLACK_LEVEL); + ch7006_load_reg(client, state, CH7006_HPOS); + ch7006_load_reg(client, state, CH7006_VPOS); + ch7006_load_reg(client, state, CH7006_INPUT_SYNC); + ch7006_load_reg(client, state, CH7006_DETECT); + ch7006_load_reg(client, state, CH7006_CONTRAST); + ch7006_load_reg(client, state, CH7006_PLLOV); + ch7006_load_reg(client, state, CH7006_PLLM); + ch7006_load_reg(client, state, CH7006_PLLN); + ch7006_load_reg(client, state, CH7006_BCLKOUT); + ch7006_load_reg(client, state, CH7006_SUBC_INC0); + ch7006_load_reg(client, state, CH7006_SUBC_INC1); + ch7006_load_reg(client, state, CH7006_SUBC_INC2); + ch7006_load_reg(client, state, CH7006_SUBC_INC3); + ch7006_load_reg(client, state, CH7006_SUBC_INC4); + ch7006_load_reg(client, state, CH7006_SUBC_INC5); + ch7006_load_reg(client, state, CH7006_SUBC_INC6); + ch7006_load_reg(client, state, CH7006_SUBC_INC7); + ch7006_load_reg(client, state, CH7006_PLL_CONTROL); + ch7006_load_reg(client, state, CH7006_CALC_SUBC_INC0); +} + +void ch7006_state_save(struct i2c_client *client, + struct ch7006_state *state) +{ + ch7006_save_reg(client, state, CH7006_POWER); + + ch7006_save_reg(client, state, CH7006_DISPMODE); + ch7006_save_reg(client, state, CH7006_FFILTER); + ch7006_save_reg(client, state, CH7006_BWIDTH); + ch7006_save_reg(client, state, CH7006_INPUT_FORMAT); + ch7006_save_reg(client, state, CH7006_CLKMODE); + ch7006_save_reg(client, state, CH7006_START_ACTIVE); + ch7006_save_reg(client, state, CH7006_POV); + ch7006_save_reg(client, state, CH7006_BLACK_LEVEL); + ch7006_save_reg(client, state, CH7006_HPOS); + ch7006_save_reg(client, state, CH7006_VPOS); + ch7006_save_reg(client, state, CH7006_INPUT_SYNC); + ch7006_save_reg(client, state, CH7006_DETECT); + ch7006_save_reg(client, state, CH7006_CONTRAST); + ch7006_save_reg(client, state, CH7006_PLLOV); + ch7006_save_reg(client, state, CH7006_PLLM); + ch7006_save_reg(client, state, CH7006_PLLN); + ch7006_save_reg(client, state, CH7006_BCLKOUT); + ch7006_save_reg(client, state, CH7006_SUBC_INC0); + ch7006_save_reg(client, state, CH7006_SUBC_INC1); + ch7006_save_reg(client, state, CH7006_SUBC_INC2); + ch7006_save_reg(client, state, CH7006_SUBC_INC3); + ch7006_save_reg(client, state, CH7006_SUBC_INC4); + ch7006_save_reg(client, state, CH7006_SUBC_INC5); + ch7006_save_reg(client, state, CH7006_SUBC_INC6); + ch7006_save_reg(client, state, CH7006_SUBC_INC7); + ch7006_save_reg(client, state, CH7006_PLL_CONTROL); + ch7006_save_reg(client, state, CH7006_CALC_SUBC_INC0); + + state->regs[CH7006_FFILTER] = (state->regs[CH7006_FFILTER] & 0xf0) | + (state->regs[CH7006_FFILTER] & 0x0c) >> 2 | + (state->regs[CH7006_FFILTER] & 0x03) << 2; +} --- linux-2.6.32.orig/drivers/gpu/drm/i2c/ch7006_priv.h +++ linux-2.6.32/drivers/gpu/drm/i2c/ch7006_priv.h @@ -0,0 +1,344 @@ +/* + * Copyright (C) 2009 Francisco Jerez. + * 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 COPYRIGHT OWNER(S) 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 __DRM_I2C_CH7006_PRIV_H__ +#define __DRM_I2C_CH7006_PRIV_H__ + +#include "drmP.h" +#include "drm_crtc_helper.h" +#include "drm_encoder_slave.h" +#include "i2c/ch7006.h" + +typedef int64_t fixed; +#define fixed1 (1LL << 32) + +enum ch7006_tv_norm { + TV_NORM_PAL, + TV_NORM_PAL_M, + TV_NORM_PAL_N, + TV_NORM_PAL_NC, + TV_NORM_PAL_60, + TV_NORM_NTSC_M, + TV_NORM_NTSC_J, + NUM_TV_NORMS +}; + +struct ch7006_tv_norm_info { + fixed vrefresh; + int vdisplay; + int vtotal; + int hvirtual; + + fixed subc_freq; + fixed black_level; + + uint32_t dispmode; + int voffset; +}; + +struct ch7006_mode { + struct drm_display_mode mode; + + int enc_hdisp; + int enc_vdisp; + + fixed subc_coeff; + uint32_t dispmode; + + uint32_t valid_scales; + uint32_t valid_norms; +}; + +struct ch7006_state { + uint8_t regs[0x26]; +}; + +struct ch7006_priv { + struct ch7006_encoder_params *params; + struct ch7006_mode *mode; + + struct ch7006_state state; + struct ch7006_state saved_state; + + struct drm_property *scale_property; + + int select_subconnector; + int subconnector; + int hmargin; + int vmargin; + enum ch7006_tv_norm norm; + int brightness; + int contrast; + int flicker; + int scale; + + int last_dpms; +}; + +#define to_ch7006_priv(x) \ + ((struct ch7006_priv *)to_encoder_slave(x)->slave_priv) + +extern int ch7006_debug; +extern char *ch7006_tv_norm; +extern int ch7006_scale; + +extern char *ch7006_tv_norm_names[]; +extern struct ch7006_tv_norm_info ch7006_tv_norms[]; +extern struct ch7006_mode ch7006_modes[]; + +struct ch7006_mode *ch7006_lookup_mode(struct drm_encoder *encoder, + struct drm_display_mode *drm_mode); + +void ch7006_setup_levels(struct drm_encoder *encoder); +void ch7006_setup_subcarrier(struct drm_encoder *encoder); +void ch7006_setup_pll(struct drm_encoder *encoder); +void ch7006_setup_power_state(struct drm_encoder *encoder); +void ch7006_setup_properties(struct drm_encoder *encoder); + +void ch7006_write(struct i2c_client *client, uint8_t addr, uint8_t val); +uint8_t ch7006_read(struct i2c_client *client, uint8_t addr); + +void ch7006_state_load(struct i2c_client *client, + struct ch7006_state *state); +void ch7006_state_save(struct i2c_client *client, + struct ch7006_state *state); + +/* Some helper macros */ + +#define ch7006_dbg(client, format, ...) do { \ + if (ch7006_debug) \ + dev_printk(KERN_DEBUG, &client->dev, \ + "%s: " format, __func__, ## __VA_ARGS__); \ + } while (0) +#define ch7006_info(client, format, ...) \ + dev_info(&client->dev, format, __VA_ARGS__) +#define ch7006_err(client, format, ...) \ + dev_err(&client->dev, format, __VA_ARGS__) + +#define __mask(src, bitfield) \ + (((2 << (1 ? bitfield)) - 1) & ~((1 << (0 ? bitfield)) - 1)) +#define mask(bitfield) __mask(bitfield) + +#define __bitf(src, bitfield, x) \ + (((x) >> (src) << (0 ? bitfield)) & __mask(src, bitfield)) +#define bitf(bitfield, x) __bitf(bitfield, x) +#define bitfs(bitfield, s) __bitf(bitfield, bitfield##_##s) +#define setbitf(state, reg, bitfield, x) \ + state->regs[reg] = (state->regs[reg] & ~mask(reg##_##bitfield)) \ + | bitf(reg##_##bitfield, x) + +#define __unbitf(src, bitfield, x) \ + ((x & __mask(src, bitfield)) >> (0 ? bitfield) << (src)) +#define unbitf(bitfield, x) __unbitf(bitfield, x) + +static inline int interpolate(int y0, int y1, int y2, int x) +{ + return y1 + (x < 50 ? y1 - y0 : y2 - y1) * (x - 50) / 50; +} + +static inline int32_t round_fixed(fixed x) +{ + return (x + fixed1/2) >> 32; +} + +#define ch7006_load_reg(client, state, reg) ch7006_write(client, reg, state->regs[reg]) +#define ch7006_save_reg(client, state, reg) state->regs[reg] = ch7006_read(client, reg) + +/* Fixed hardware specs */ + +#define CH7006_FREQ0 14318 +#define CH7006_MAXN 650 +#define CH7006_MAXM 315 + +/* Register definitions */ + +#define CH7006_DISPMODE 0x00 +#define CH7006_DISPMODE_INPUT_RES 0, 7:5 +#define CH7006_DISPMODE_INPUT_RES_512x384 0x0 +#define CH7006_DISPMODE_INPUT_RES_720x400 0x1 +#define CH7006_DISPMODE_INPUT_RES_640x400 0x2 +#define CH7006_DISPMODE_INPUT_RES_640x480 0x3 +#define CH7006_DISPMODE_INPUT_RES_800x600 0x4 +#define CH7006_DISPMODE_INPUT_RES_NATIVE 0x5 +#define CH7006_DISPMODE_OUTPUT_STD 0, 4:3 +#define CH7006_DISPMODE_OUTPUT_STD_PAL 0x0 +#define CH7006_DISPMODE_OUTPUT_STD_NTSC 0x1 +#define CH7006_DISPMODE_OUTPUT_STD_PAL_M 0x2 +#define CH7006_DISPMODE_OUTPUT_STD_NTSC_J 0x3 +#define CH7006_DISPMODE_SCALING_RATIO 0, 2:0 +#define CH7006_DISPMODE_SCALING_RATIO_5_4 0x0 +#define CH7006_DISPMODE_SCALING_RATIO_1_1 0x1 +#define CH7006_DISPMODE_SCALING_RATIO_7_8 0x2 +#define CH7006_DISPMODE_SCALING_RATIO_5_6 0x3 +#define CH7006_DISPMODE_SCALING_RATIO_3_4 0x4 +#define CH7006_DISPMODE_SCALING_RATIO_7_10 0x5 + +#define CH7006_FFILTER 0x01 +#define CH7006_FFILTER_TEXT 0, 5:4 +#define CH7006_FFILTER_LUMA 0, 3:2 +#define CH7006_FFILTER_CHROMA 0, 1:0 +#define CH7006_FFILTER_CHROMA_NO_DCRAWL 0x3 + +#define CH7006_BWIDTH 0x03 +#define CH7006_BWIDTH_5L_FFILER (1 << 7) +#define CH7006_BWIDTH_CVBS_NO_CHROMA (1 << 6) +#define CH7006_BWIDTH_CHROMA 0, 5:4 +#define CH7006_BWIDTH_SVIDEO_YPEAK (1 << 3) +#define CH7006_BWIDTH_SVIDEO_LUMA 0, 2:1 +#define CH7006_BWIDTH_CVBS_LUMA 0, 0:0 + +#define CH7006_INPUT_FORMAT 0x04 +#define CH7006_INPUT_FORMAT_DAC_GAIN (1 << 6) +#define CH7006_INPUT_FORMAT_RGB_PASS_THROUGH (1 << 5) +#define CH7006_INPUT_FORMAT_FORMAT 0, 3:0 +#define CH7006_INPUT_FORMAT_FORMAT_RGB16 0x0 +#define CH7006_INPUT_FORMAT_FORMAT_YCrCb24m16 0x1 +#define CH7006_INPUT_FORMAT_FORMAT_RGB24m16 0x2 +#define CH7006_INPUT_FORMAT_FORMAT_RGB15 0x3 +#define CH7006_INPUT_FORMAT_FORMAT_RGB24m12C 0x4 +#define CH7006_INPUT_FORMAT_FORMAT_RGB24m12I 0x5 +#define CH7006_INPUT_FORMAT_FORMAT_RGB24m8 0x6 +#define CH7006_INPUT_FORMAT_FORMAT_RGB16m8 0x7 +#define CH7006_INPUT_FORMAT_FORMAT_RGB15m8 0x8 +#define CH7006_INPUT_FORMAT_FORMAT_YCrCb24m8 0x9 + +#define CH7006_CLKMODE 0x06 +#define CH7006_CLKMODE_SUBC_LOCK (1 << 7) +#define CH7006_CLKMODE_MASTER (1 << 6) +#define CH7006_CLKMODE_POS_EDGE (1 << 4) +#define CH7006_CLKMODE_XCM 0, 3:2 +#define CH7006_CLKMODE_PCM 0, 1:0 + +#define CH7006_START_ACTIVE 0x07 +#define CH7006_START_ACTIVE_0 0, 7:0 + +#define CH7006_POV 0x08 +#define CH7006_POV_START_ACTIVE_8 8, 2:2 +#define CH7006_POV_HPOS_8 8, 1:1 +#define CH7006_POV_VPOS_8 8, 0:0 + +#define CH7006_BLACK_LEVEL 0x09 +#define CH7006_BLACK_LEVEL_0 0, 7:0 + +#define CH7006_HPOS 0x0a +#define CH7006_HPOS_0 0, 7:0 + +#define CH7006_VPOS 0x0b +#define CH7006_VPOS_0 0, 7:0 + +#define CH7006_INPUT_SYNC 0x0d +#define CH7006_INPUT_SYNC_EMBEDDED (1 << 3) +#define CH7006_INPUT_SYNC_OUTPUT (1 << 2) +#define CH7006_INPUT_SYNC_PVSYNC (1 << 1) +#define CH7006_INPUT_SYNC_PHSYNC (1 << 0) + +#define CH7006_POWER 0x0e +#define CH7006_POWER_SCART (1 << 4) +#define CH7006_POWER_RESET (1 << 3) +#define CH7006_POWER_LEVEL 0, 2:0 +#define CH7006_POWER_LEVEL_CVBS_OFF 0x0 +#define CH7006_POWER_LEVEL_POWER_OFF 0x1 +#define CH7006_POWER_LEVEL_SVIDEO_OFF 0x2 +#define CH7006_POWER_LEVEL_NORMAL 0x3 +#define CH7006_POWER_LEVEL_FULL_POWER_OFF 0x4 + +#define CH7006_DETECT 0x10 +#define CH7006_DETECT_SVIDEO_Y_TEST (1 << 3) +#define CH7006_DETECT_SVIDEO_C_TEST (1 << 2) +#define CH7006_DETECT_CVBS_TEST (1 << 1) +#define CH7006_DETECT_SENSE (1 << 0) + +#define CH7006_CONTRAST 0x11 +#define CH7006_CONTRAST_0 0, 2:0 + +#define CH7006_PLLOV 0x13 +#define CH7006_PLLOV_N_8 8, 2:1 +#define CH7006_PLLOV_M_8 8, 0:0 + +#define CH7006_PLLM 0x14 +#define CH7006_PLLM_0 0, 7:0 + +#define CH7006_PLLN 0x15 +#define CH7006_PLLN_0 0, 7:0 + +#define CH7006_BCLKOUT 0x17 + +#define CH7006_SUBC_INC0 0x18 +#define CH7006_SUBC_INC0_28 28, 3:0 + +#define CH7006_SUBC_INC1 0x19 +#define CH7006_SUBC_INC1_24 24, 3:0 + +#define CH7006_SUBC_INC2 0x1a +#define CH7006_SUBC_INC2_20 20, 3:0 + +#define CH7006_SUBC_INC3 0x1b +#define CH7006_SUBC_INC3_GPIO1_VAL (1 << 7) +#define CH7006_SUBC_INC3_GPIO0_VAL (1 << 6) +#define CH7006_SUBC_INC3_POUT_3_3V (1 << 5) +#define CH7006_SUBC_INC3_POUT_INV (1 << 4) +#define CH7006_SUBC_INC3_16 16, 3:0 + +#define CH7006_SUBC_INC4 0x1c +#define CH7006_SUBC_INC4_GPIO1_IN (1 << 7) +#define CH7006_SUBC_INC4_GPIO0_IN (1 << 6) +#define CH7006_SUBC_INC4_DS_INPUT (1 << 4) +#define CH7006_SUBC_INC4_12 12, 3:0 + +#define CH7006_SUBC_INC5 0x1d +#define CH7006_SUBC_INC5_8 8, 3:0 + +#define CH7006_SUBC_INC6 0x1e +#define CH7006_SUBC_INC6_4 4, 3:0 + +#define CH7006_SUBC_INC7 0x1f +#define CH7006_SUBC_INC7_0 0, 3:0 + +#define CH7006_PLL_CONTROL 0x20 +#define CH7006_PLL_CONTROL_CPI (1 << 5) +#define CH7006_PLL_CONTROL_CAPACITOR (1 << 4) +#define CH7006_PLL_CONTROL_7STAGES (1 << 3) +#define CH7006_PLL_CONTROL_DIGITAL_5V (1 << 2) +#define CH7006_PLL_CONTROL_ANALOG_5V (1 << 1) +#define CH7006_PLL_CONTROL_MEMORY_5V (1 << 0) + +#define CH7006_CALC_SUBC_INC0 0x21 +#define CH7006_CALC_SUBC_INC0_24 24, 4:3 +#define CH7006_CALC_SUBC_INC0_HYST 0, 2:1 +#define CH7006_CALC_SUBC_INC0_AUTO (1 << 0) + +#define CH7006_CALC_SUBC_INC1 0x22 +#define CH7006_CALC_SUBC_INC1_16 16, 7:0 + +#define CH7006_CALC_SUBC_INC2 0x23 +#define CH7006_CALC_SUBC_INC2_8 8, 7:0 + +#define CH7006_CALC_SUBC_INC3 0x24 +#define CH7006_CALC_SUBC_INC3_0 0, 7:0 + +#define CH7006_VERSION_ID 0x25 + +#endif --- linux-2.6.32.orig/drivers/gpu/drm/i810/i810_dma.c +++ linux-2.6.32/drivers/gpu/drm/i810/i810_dma.c @@ -115,7 +115,7 @@ static const struct file_operations i810_buffer_fops = { .open = drm_open, .release = drm_release, - .ioctl = drm_ioctl, + .unlocked_ioctl = drm_ioctl, .mmap = i810_mmap_buffers, .fasync = drm_fasync, }; --- linux-2.6.32.orig/drivers/gpu/drm/i810/i810_drv.c +++ linux-2.6.32/drivers/gpu/drm/i810/i810_drv.c @@ -59,7 +59,7 @@ .owner = THIS_MODULE, .open = drm_open, .release = drm_release, - .ioctl = drm_ioctl, + .unlocked_ioctl = drm_ioctl, .mmap = drm_mmap, .poll = drm_poll, .fasync = drm_fasync, --- linux-2.6.32.orig/drivers/gpu/drm/i915/Makefile +++ linux-2.6.32/drivers/gpu/drm/i915/Makefile @@ -8,6 +8,7 @@ i915_suspend.o \ i915_gem.o \ i915_gem_debug.o \ + i915_gem_evict.o \ i915_gem_tiling.o \ i915_trace_points.o \ intel_display.o \ @@ -15,7 +16,6 @@ intel_lvds.o \ intel_bios.o \ intel_dp.o \ - intel_dp_i2c.o \ intel_hdmi.o \ intel_sdvo.o \ intel_modes.o \ @@ -23,6 +23,7 @@ intel_fb.o \ intel_tv.o \ intel_dvo.o \ + intel_overlay.o \ dvo_ch7xxx.o \ dvo_ch7017.o \ dvo_ivch.o \ --- linux-2.6.32.orig/drivers/gpu/drm/i915/dvo_ch7017.c +++ linux-2.6.32/drivers/gpu/drm/i915/dvo_ch7017.c @@ -249,7 +249,8 @@ if (val != CH7017_DEVICE_ID_VALUE && val != CH7018_DEVICE_ID_VALUE && val != CH7019_DEVICE_ID_VALUE) { - DRM_DEBUG("ch701x not detected, got %d: from %s Slave %d.\n", + DRM_DEBUG_KMS("ch701x not detected, got %d: from %s " + "Slave %d.\n", val, i2cbus->adapter.name,dvo->slave_addr); goto fail; } @@ -284,7 +285,7 @@ uint8_t horizontal_active_pixel_output, vertical_active_line_output; uint8_t active_input_line_output; - DRM_DEBUG("Registers before mode setting\n"); + DRM_DEBUG_KMS("Registers before mode setting\n"); ch7017_dump_regs(dvo); /* LVDS PLL settings from page 75 of 7017-7017ds.pdf*/ @@ -346,7 +347,7 @@ /* Turn the LVDS back on with new settings. */ ch7017_write(dvo, CH7017_LVDS_POWER_DOWN, lvds_power_down); - DRM_DEBUG("Registers after mode setting\n"); + DRM_DEBUG_KMS("Registers after mode setting\n"); ch7017_dump_regs(dvo); } @@ -386,7 +387,7 @@ #define DUMP(reg) \ do { \ ch7017_read(dvo, reg, &val); \ - DRM_DEBUG(#reg ": %02x\n", val); \ + DRM_DEBUG_KMS(#reg ": %02x\n", val); \ } while (0) DUMP(CH7017_HORIZONTAL_ACTIVE_PIXEL_INPUT); --- linux-2.6.32.orig/drivers/gpu/drm/i915/dvo_ch7xxx.c +++ linux-2.6.32/drivers/gpu/drm/i915/dvo_ch7xxx.c @@ -152,7 +152,7 @@ }; if (!ch7xxx->quiet) { - DRM_DEBUG("Unable to read register 0x%02x from %s:%02x.\n", + DRM_DEBUG_KMS("Unable to read register 0x%02x from %s:%02x.\n", addr, i2cbus->adapter.name, dvo->slave_addr); } return false; @@ -179,7 +179,7 @@ return true; if (!ch7xxx->quiet) { - DRM_DEBUG("Unable to write register 0x%02x to %s:%d.\n", + DRM_DEBUG_KMS("Unable to write register 0x%02x to %s:%d.\n", addr, i2cbus->adapter.name, dvo->slave_addr); } @@ -207,7 +207,8 @@ name = ch7xxx_get_id(vendor); if (!name) { - DRM_DEBUG("ch7xxx not detected; got 0x%02x from %s slave %d.\n", + DRM_DEBUG_KMS("ch7xxx not detected; got 0x%02x from %s " + "slave %d.\n", vendor, adapter->name, dvo->slave_addr); goto out; } @@ -217,13 +218,14 @@ goto out; if (device != CH7xxx_DID) { - DRM_DEBUG("ch7xxx not detected; got 0x%02x from %s slave %d.\n", + 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("Detected %s chipset, vendor/device ID 0x%02x/0x%02x\n", + DRM_DEBUG_KMS("Detected %s chipset, vendor/device ID 0x%02x/0x%02x\n", name, vendor, device); return true; out: @@ -315,8 +317,8 @@ for (i = 0; i < CH7xxx_NUM_REGS; i++) { if ((i % 8) == 0 ) - DRM_DEBUG("\n %02X: ", i); - DRM_DEBUG("%02X ", ch7xxx->mode_reg.regs[i]); + DRM_LOG_KMS("\n %02X: ", i); + DRM_LOG_KMS("%02X ", ch7xxx->mode_reg.regs[i]); } } --- linux-2.6.32.orig/drivers/gpu/drm/i915/dvo_ivch.c +++ linux-2.6.32/drivers/gpu/drm/i915/dvo_ivch.c @@ -202,7 +202,8 @@ }; if (!priv->quiet) { - DRM_DEBUG("Unable to read register 0x%02x from %s:%02x.\n", + DRM_DEBUG_KMS("Unable to read register 0x%02x from " + "%s:%02x.\n", addr, i2cbus->adapter.name, dvo->slave_addr); } return false; @@ -230,7 +231,7 @@ return true; if (!priv->quiet) { - DRM_DEBUG("Unable to write register 0x%02x to %s:%d.\n", + DRM_DEBUG_KMS("Unable to write register 0x%02x to %s:%d.\n", addr, i2cbus->adapter.name, dvo->slave_addr); } @@ -261,7 +262,7 @@ * the address it's responding on. */ if ((temp & VR00_BASE_ADDRESS_MASK) != dvo->slave_addr) { - DRM_DEBUG("ivch detect failed due to address mismatch " + DRM_DEBUG_KMS("ivch detect failed due to address mismatch " "(%d vs %d)\n", (temp & VR00_BASE_ADDRESS_MASK), dvo->slave_addr); goto out; @@ -367,41 +368,41 @@ uint16_t val; ivch_read(dvo, VR00, &val); - DRM_DEBUG("VR00: 0x%04x\n", val); + DRM_LOG_KMS("VR00: 0x%04x\n", val); ivch_read(dvo, VR01, &val); - DRM_DEBUG("VR01: 0x%04x\n", val); + DRM_LOG_KMS("VR01: 0x%04x\n", val); ivch_read(dvo, VR30, &val); - DRM_DEBUG("VR30: 0x%04x\n", val); + DRM_LOG_KMS("VR30: 0x%04x\n", val); ivch_read(dvo, VR40, &val); - DRM_DEBUG("VR40: 0x%04x\n", val); + DRM_LOG_KMS("VR40: 0x%04x\n", val); /* GPIO registers */ ivch_read(dvo, VR80, &val); - DRM_DEBUG("VR80: 0x%04x\n", val); + DRM_LOG_KMS("VR80: 0x%04x\n", val); ivch_read(dvo, VR81, &val); - DRM_DEBUG("VR81: 0x%04x\n", val); + DRM_LOG_KMS("VR81: 0x%04x\n", val); ivch_read(dvo, VR82, &val); - DRM_DEBUG("VR82: 0x%04x\n", val); + DRM_LOG_KMS("VR82: 0x%04x\n", val); ivch_read(dvo, VR83, &val); - DRM_DEBUG("VR83: 0x%04x\n", val); + DRM_LOG_KMS("VR83: 0x%04x\n", val); ivch_read(dvo, VR84, &val); - DRM_DEBUG("VR84: 0x%04x\n", val); + DRM_LOG_KMS("VR84: 0x%04x\n", val); ivch_read(dvo, VR85, &val); - DRM_DEBUG("VR85: 0x%04x\n", val); + DRM_LOG_KMS("VR85: 0x%04x\n", val); ivch_read(dvo, VR86, &val); - DRM_DEBUG("VR86: 0x%04x\n", val); + DRM_LOG_KMS("VR86: 0x%04x\n", val); ivch_read(dvo, VR87, &val); - DRM_DEBUG("VR87: 0x%04x\n", val); + DRM_LOG_KMS("VR87: 0x%04x\n", val); ivch_read(dvo, VR88, &val); - DRM_DEBUG("VR88: 0x%04x\n", val); + DRM_LOG_KMS("VR88: 0x%04x\n", val); /* Scratch register 0 - AIM Panel type */ ivch_read(dvo, VR8E, &val); - DRM_DEBUG("VR8E: 0x%04x\n", val); + DRM_LOG_KMS("VR8E: 0x%04x\n", val); /* Scratch register 1 - Status register */ ivch_read(dvo, VR8F, &val); - DRM_DEBUG("VR8F: 0x%04x\n", val); + DRM_LOG_KMS("VR8F: 0x%04x\n", val); } static void ivch_save(struct intel_dvo_device *dvo) --- linux-2.6.32.orig/drivers/gpu/drm/i915/dvo_sil164.c +++ linux-2.6.32/drivers/gpu/drm/i915/dvo_sil164.c @@ -105,7 +105,7 @@ }; if (!sil->quiet) { - DRM_DEBUG("Unable to read register 0x%02x from %s:%02x.\n", + DRM_DEBUG_KMS("Unable to read register 0x%02x from %s:%02x.\n", addr, i2cbus->adapter.name, dvo->slave_addr); } return false; @@ -131,7 +131,7 @@ return true; if (!sil->quiet) { - DRM_DEBUG("Unable to write register 0x%02x to %s:%d.\n", + DRM_DEBUG_KMS("Unable to write register 0x%02x to %s:%d.\n", addr, i2cbus->adapter.name, dvo->slave_addr); } @@ -158,7 +158,7 @@ goto out; if (ch != (SIL164_VID & 0xff)) { - DRM_DEBUG("sil164 not detected got %d: from %s Slave %d.\n", + DRM_DEBUG_KMS("sil164 not detected got %d: from %s Slave %d.\n", ch, adapter->name, dvo->slave_addr); goto out; } @@ -167,13 +167,13 @@ goto out; if (ch != (SIL164_DID & 0xff)) { - DRM_DEBUG("sil164 not detected got %d: from %s Slave %d.\n", + 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("init sil164 dvo controller successfully!\n"); + DRM_DEBUG_KMS("init sil164 dvo controller successfully!\n"); return true; out: @@ -241,15 +241,15 @@ uint8_t val; sil164_readb(dvo, SIL164_FREQ_LO, &val); - DRM_DEBUG("SIL164_FREQ_LO: 0x%02x\n", val); + DRM_LOG_KMS("SIL164_FREQ_LO: 0x%02x\n", val); sil164_readb(dvo, SIL164_FREQ_HI, &val); - DRM_DEBUG("SIL164_FREQ_HI: 0x%02x\n", val); + DRM_LOG_KMS("SIL164_FREQ_HI: 0x%02x\n", val); sil164_readb(dvo, SIL164_REG8, &val); - DRM_DEBUG("SIL164_REG8: 0x%02x\n", val); + DRM_LOG_KMS("SIL164_REG8: 0x%02x\n", val); sil164_readb(dvo, SIL164_REG9, &val); - DRM_DEBUG("SIL164_REG9: 0x%02x\n", val); + DRM_LOG_KMS("SIL164_REG9: 0x%02x\n", val); sil164_readb(dvo, SIL164_REGC, &val); - DRM_DEBUG("SIL164_REGC: 0x%02x\n", val); + DRM_LOG_KMS("SIL164_REGC: 0x%02x\n", val); } static void sil164_save(struct intel_dvo_device *dvo) --- linux-2.6.32.orig/drivers/gpu/drm/i915/dvo_tfp410.c +++ linux-2.6.32/drivers/gpu/drm/i915/dvo_tfp410.c @@ -130,7 +130,7 @@ }; if (!tfp->quiet) { - DRM_DEBUG("Unable to read register 0x%02x from %s:%02x.\n", + DRM_DEBUG_KMS("Unable to read register 0x%02x from %s:%02x.\n", addr, i2cbus->adapter.name, dvo->slave_addr); } return false; @@ -156,7 +156,7 @@ return true; if (!tfp->quiet) { - DRM_DEBUG("Unable to write register 0x%02x to %s:%d.\n", + DRM_DEBUG_KMS("Unable to write register 0x%02x to %s:%d.\n", addr, i2cbus->adapter.name, dvo->slave_addr); } @@ -191,13 +191,15 @@ tfp->quiet = true; if ((id = tfp410_getid(dvo, TFP410_VID_LO)) != TFP410_VID) { - DRM_DEBUG("tfp410 not detected got VID %X: from %s Slave %d.\n", + 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("tfp410 not detected got DID %X: from %s Slave %d.\n", + DRM_DEBUG_KMS("tfp410 not detected got DID %X: from %s " + "Slave %d.\n", id, adapter->name, dvo->slave_addr); goto out; } @@ -214,7 +216,7 @@ uint8_t ctl2; if (tfp410_readb(dvo, TFP410_CTL_2, &ctl2)) { - if (ctl2 & TFP410_CTL_2_HTPLG) + if (ctl2 & TFP410_CTL_2_RSEN) ret = connector_status_connected; else ret = connector_status_disconnected; @@ -262,33 +264,33 @@ uint8_t val, val2; tfp410_readb(dvo, TFP410_REV, &val); - DRM_DEBUG("TFP410_REV: 0x%02X\n", val); + DRM_LOG_KMS("TFP410_REV: 0x%02X\n", val); tfp410_readb(dvo, TFP410_CTL_1, &val); - DRM_DEBUG("TFP410_CTL1: 0x%02X\n", val); + DRM_LOG_KMS("TFP410_CTL1: 0x%02X\n", val); tfp410_readb(dvo, TFP410_CTL_2, &val); - DRM_DEBUG("TFP410_CTL2: 0x%02X\n", val); + DRM_LOG_KMS("TFP410_CTL2: 0x%02X\n", val); tfp410_readb(dvo, TFP410_CTL_3, &val); - DRM_DEBUG("TFP410_CTL3: 0x%02X\n", val); + DRM_LOG_KMS("TFP410_CTL3: 0x%02X\n", val); tfp410_readb(dvo, TFP410_USERCFG, &val); - DRM_DEBUG("TFP410_USERCFG: 0x%02X\n", val); + DRM_LOG_KMS("TFP410_USERCFG: 0x%02X\n", val); tfp410_readb(dvo, TFP410_DE_DLY, &val); - DRM_DEBUG("TFP410_DE_DLY: 0x%02X\n", val); + DRM_LOG_KMS("TFP410_DE_DLY: 0x%02X\n", val); tfp410_readb(dvo, TFP410_DE_CTL, &val); - DRM_DEBUG("TFP410_DE_CTL: 0x%02X\n", val); + DRM_LOG_KMS("TFP410_DE_CTL: 0x%02X\n", val); tfp410_readb(dvo, TFP410_DE_TOP, &val); - DRM_DEBUG("TFP410_DE_TOP: 0x%02X\n", 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_DEBUG("TFP410_DE_CNT: 0x%02X%02X\n", val2, val); + 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_DEBUG("TFP410_DE_LIN: 0x%02X%02X\n", val2, val); + 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_DEBUG("TFP410_H_RES: 0x%02X%02X\n", val2, val); + 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_DEBUG("TFP410_V_RES: 0x%02X%02X\n", val2, val); + DRM_LOG_KMS("TFP410_V_RES: 0x%02X%02X\n", val2, val); } static void tfp410_save(struct intel_dvo_device *dvo) --- linux-2.6.32.orig/drivers/gpu/drm/i915/i915_dma.c +++ linux-2.6.32/drivers/gpu/drm/i915/i915_dma.c @@ -123,7 +123,7 @@ drm_i915_private_t *dev_priv = dev->dev_private; /* Program Hardware Status Page */ dev_priv->status_page_dmah = - drm_pci_alloc(dev, PAGE_SIZE, PAGE_SIZE, 0xffffffff); + drm_pci_alloc(dev, PAGE_SIZE, PAGE_SIZE); if (!dev_priv->status_page_dmah) { DRM_ERROR("Can not allocate hardware status page\n"); @@ -134,6 +134,10 @@ memset(dev_priv->hw_status_page, 0, PAGE_SIZE); + if (IS_I965G(dev)) + dev_priv->dma_status_page |= (dev_priv->dma_status_page >> 28) & + 0xf0; + I915_WRITE(HWS_PGA, dev_priv->dma_status_page); DRM_DEBUG_DRIVER("Enabled hardware status page\n"); return 0; @@ -683,8 +687,10 @@ ret = copy_from_user(cliprects, batch->cliprects, batch->num_cliprects * sizeof(struct drm_clip_rect)); - if (ret != 0) + if (ret != 0) { + ret = -EFAULT; goto fail_free; + } } mutex_lock(&dev->struct_mutex); @@ -725,20 +731,26 @@ return -ENOMEM; ret = copy_from_user(batch_data, cmdbuf->buf, cmdbuf->sz); - if (ret != 0) + 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) + 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) + if (ret != 0) { + ret = -EFAULT; goto fail_clip_free; + } } mutex_lock(&dev->struct_mutex); @@ -807,9 +819,19 @@ 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 = dev_priv->has_gem; + break; default: DRM_DEBUG_DRIVER("Unknown parameter %d\n", - param->param); + param->param); return -EINVAL; } @@ -962,15 +984,21 @@ * Some of the preallocated space is taken by the GTT * and popup. GTT is 1K per MB of aperture size, and popup is 4K. */ - if (IS_G4X(dev) || IS_IGD(dev) || IS_IGDNG(dev)) + if (IS_G4X(dev) || IS_PINEVIEW(dev) || IS_IRONLAKE(dev) || IS_GEN6(dev)) overhead = 4096; else overhead = (*aperture_size / 1024) + 4096; switch (tmp & INTEL_GMCH_GMS_MASK) { case INTEL_855_GMCH_GMS_DISABLED: - DRM_ERROR("video memory is disabled\n"); - return -1; + /* XXX: This is what my A1 silicon has. */ + if (IS_GEN6(dev)) { + stolen = 64 * 1024 * 1024; + } else { + DRM_ERROR("video memory is disabled\n"); + return -1; + } + break; case INTEL_855_GMCH_GMS_STOLEN_1M: stolen = 1 * 1024 * 1024; break; @@ -1048,7 +1076,7 @@ int gtt_offset, gtt_size; if (IS_I965G(dev)) { - if (IS_G4X(dev) || IS_IGDNG(dev)) { + if (IS_G4X(dev) || IS_IRONLAKE(dev) || IS_GEN6(dev)) { gtt_offset = 2*1024*1024; gtt_size = 2*1024*1024; } else { @@ -1070,7 +1098,7 @@ entry = *(volatile u32 *)(gtt + (gtt_addr / 1024)); - DRM_DEBUG("GTT addr: 0x%08lx, PTE: 0x%08lx\n", gtt_addr, entry); + DRM_DEBUG_DRIVER("GTT addr: 0x%08lx, PTE: 0x%08lx\n", gtt_addr, entry); /* Mask out these reserved bits on this hardware. */ if (!IS_I9XX(dev) || IS_I915G(dev) || IS_I915GM(dev) || @@ -1096,7 +1124,7 @@ phys =(entry & PTE_ADDRESS_MASK) | ((uint64_t)(entry & PTE_ADDRESS_MASK_HIGH) << (32 - 4)); - DRM_DEBUG("GTT addr: 0x%08lx, phys addr: 0x%08lx\n", gtt_addr, phys); + DRM_DEBUG_DRIVER("GTT addr: 0x%08lx, phys addr: 0x%08lx\n", gtt_addr, phys); return phys; } @@ -1111,7 +1139,8 @@ { struct drm_i915_private *dev_priv = dev->dev_private; struct drm_mm_node *compressed_fb, *compressed_llb; - unsigned long cfb_base, ll_base; + unsigned long cfb_base; + unsigned long ll_base = 0; /* Leave 1M for line length buffer & misc. */ compressed_fb = drm_mm_search_free(&dev_priv->vram, size, 4096, 0); @@ -1194,14 +1223,6 @@ dev->mode_config.fb_base = drm_get_resource_start(dev, fb_bar) & 0xff000000; - if (IS_MOBILE(dev) || IS_I9XX(dev)) - dev_priv->cursor_needs_physical = true; - else - dev_priv->cursor_needs_physical = false; - - if (IS_I965G(dev) || IS_G33(dev)) - dev_priv->cursor_needs_physical = false; - /* Basic memrange allocator for stolen space (aka vram) */ drm_mm_init(&dev_priv->vram, 0, prealloc_size); DRM_INFO("set up %ldM of stolen space\n", prealloc_size / (1024*1024)); @@ -1251,6 +1272,12 @@ if (ret) goto destroy_ringbuffer; + /* IIR "flip pending" bit means done if this bit is set */ + if (IS_GEN3(dev) && (I915_READ(ECOSKPD) & ECO_FLIP_DONE)) + dev_priv->flip_pending_is_done = true; + + intel_modeset_init(dev); + ret = drm_irq_install(dev); if (ret) goto destroy_ringbuffer; @@ -1265,8 +1292,6 @@ I915_WRITE(INSTPM, (1 << 5) | (1 << 21)); - intel_modeset_init(dev); - drm_helper_initial_config(dev); return 0; @@ -1306,7 +1331,7 @@ drm_i915_private_t *dev_priv = dev->dev_private; u32 tmp; - if (!IS_IGD(dev)) + if (!IS_PINEVIEW(dev)) return; tmp = I915_READ(CLKCFG); @@ -1337,6 +1362,10 @@ dev_priv->mem_freq = 800; break; } + + /* detect pineview DDR3 setting */ + tmp = I915_READ(CSHRDDR3CTL); + dev_priv->is_ddr3 = (tmp & CSHRDDR3CTL_DDR3) ? 1 : 0; } /** @@ -1354,7 +1383,7 @@ { struct drm_i915_private *dev_priv = dev->dev_private; resource_size_t base, size; - int ret = 0, mmio_bar = IS_I9XX(dev) ? 0 : 1; + int ret = 0, mmio_bar; uint32_t agp_size, prealloc_size, prealloc_start; /* i915 has 4 more counters */ @@ -1370,8 +1399,10 @@ dev->dev_private = (void *)dev_priv; dev_priv->dev = dev; + dev_priv->info = (struct intel_device_info *) flags; /* Add register map (needed for suspend/resume) */ + mmio_bar = IS_I9XX(dev) ? 0 : 1; base = drm_get_resource_start(dev, mmio_bar); size = drm_get_resource_len(dev, mmio_bar); @@ -1380,6 +1411,21 @@ goto free_priv; } + /* overlay on gen2 is broken and can't address above 1G */ + if (IS_GEN2(dev)) + pci_set_consistent_dma_mask(dev->pdev, 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_I965G(dev) && !IS_G4X(dev) && !IS_IRONLAKE(dev)) + pci_set_consistent_dma_mask(dev->pdev, DMA_BIT_MASK(32)); + dev_priv->regs = ioremap(base, size); if (!dev_priv->regs) { DRM_ERROR("failed to map registers\n"); @@ -1413,7 +1459,7 @@ if (ret) goto out_iomapfree; - dev_priv->wq = create_workqueue("i915"); + dev_priv->wq = create_singlethread_workqueue("i915"); if (dev_priv->wq == NULL) { DRM_ERROR("Failed to create our workqueue.\n"); ret = -ENOMEM; @@ -1434,7 +1480,7 @@ dev->driver->get_vblank_counter = i915_get_vblank_counter; dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */ - if (IS_G4X(dev) || IS_IGDNG(dev)) { + if (IS_G4X(dev) || IS_IRONLAKE(dev) || IS_GEN6(dev)) { dev->max_vblank_count = 0xffffffff; /* full 32 bit counter */ dev->driver->get_vblank_counter = gm45_get_vblank_counter; } @@ -1489,9 +1535,7 @@ } /* Must be done after probing outputs */ - /* FIXME: verify on IGDNG */ - if (!IS_IGDNG(dev)) - intel_opregion_init(dev, 0); + intel_opregion_init(dev, 0); setup_timer(&dev_priv->hangcheck_timer, i915_hangcheck_elapsed, (unsigned long) dev); @@ -1525,6 +1569,15 @@ } if (drm_core_check_feature(dev, DRIVER_MODESET)) { + /* + * 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; + } drm_irq_uninstall(dev); vga_client_register(dev->pdev, NULL, NULL, NULL); } @@ -1535,8 +1588,7 @@ if (dev_priv->regs != NULL) iounmap(dev_priv->regs); - if (!IS_IGDNG(dev)) - intel_opregion_free(dev, 0); + intel_opregion_free(dev, 0); if (drm_core_check_feature(dev, DRIVER_MODESET)) { intel_modeset_cleanup(dev); @@ -1548,6 +1600,11 @@ mutex_unlock(&dev->struct_mutex); drm_mm_takedown(&dev_priv->vram); i915_gem_lastclose(dev); + + intel_cleanup_overlay(dev); + + if (!I915_NEED_GFX_HWS(dev)) + i915_free_hws(dev); } pci_dev_put(dev_priv->bridge_dev); @@ -1638,6 +1695,7 @@ DRM_IOCTL_DEF(DRM_I915_HWS_ADDR, i915_set_status_page, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), DRM_IOCTL_DEF(DRM_I915_GEM_INIT, i915_gem_init_ioctl, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), DRM_IOCTL_DEF(DRM_I915_GEM_EXECBUFFER, i915_gem_execbuffer, DRM_AUTH), + DRM_IOCTL_DEF(DRM_I915_GEM_EXECBUFFER2, i915_gem_execbuffer2, DRM_AUTH), DRM_IOCTL_DEF(DRM_I915_GEM_PIN, i915_gem_pin_ioctl, DRM_AUTH|DRM_ROOT_ONLY), DRM_IOCTL_DEF(DRM_I915_GEM_UNPIN, i915_gem_unpin_ioctl, DRM_AUTH|DRM_ROOT_ONLY), DRM_IOCTL_DEF(DRM_I915_GEM_BUSY, i915_gem_busy_ioctl, DRM_AUTH), @@ -1656,6 +1714,8 @@ DRM_IOCTL_DEF(DRM_I915_GEM_GET_APERTURE, i915_gem_get_aperture_ioctl, 0), DRM_IOCTL_DEF(DRM_I915_GET_PIPE_FROM_CRTC_ID, intel_get_pipe_from_crtc_id, 0), DRM_IOCTL_DEF(DRM_I915_GEM_MADVISE, i915_gem_madvise_ioctl, 0), + DRM_IOCTL_DEF(DRM_I915_OVERLAY_PUT_IMAGE, intel_overlay_put_image, DRM_MASTER|DRM_CONTROL_ALLOW), + DRM_IOCTL_DEF(DRM_I915_OVERLAY_ATTRS, intel_overlay_attrs, DRM_MASTER|DRM_CONTROL_ALLOW), }; int i915_max_ioctl = DRM_ARRAY_SIZE(i915_ioctls); --- linux-2.6.32.orig/drivers/gpu/drm/i915/i915_drv.c +++ linux-2.6.32/drivers/gpu/drm/i915/i915_drv.c @@ -33,7 +33,6 @@ #include "i915_drm.h" #include "i915_drv.h" -#include "drm_pciids.h" #include #include "drm_crtc_helper.h" @@ -46,36 +45,152 @@ unsigned int i915_powersave = 1; module_param_named(powersave, i915_powersave, int, 0400); +unsigned int i915_lvds_downclock = 0; +module_param_named(lvds_downclock, i915_lvds_downclock, int, 0400); + static struct drm_driver driver; +extern int intel_agp_enabled; + +#define INTEL_VGA_DEVICE(id, info) { \ + .class = PCI_CLASS_DISPLAY_VGA << 8, \ + .class_mask = 0xffff00, \ + .vendor = 0x8086, \ + .device = id, \ + .subvendor = PCI_ANY_ID, \ + .subdevice = PCI_ANY_ID, \ + .driver_data = (unsigned long) info } + +const static struct intel_device_info intel_i830_info = { + .is_i8xx = 1, .is_mobile = 1, .cursor_needs_physical = 1, +}; + +const static struct intel_device_info intel_845g_info = { + .is_i8xx = 1, +}; + +const static struct intel_device_info intel_i85x_info = { + .is_i8xx = 1, .is_i85x = 1, .is_mobile = 1, + .cursor_needs_physical = 1, +}; + +const static struct intel_device_info intel_i865g_info = { + .is_i8xx = 1, +}; + +const static struct intel_device_info intel_i915g_info = { + .is_i915g = 1, .is_i9xx = 1, .cursor_needs_physical = 1, +}; +const static struct intel_device_info intel_i915gm_info = { + .is_i9xx = 1, .is_mobile = 1, + .cursor_needs_physical = 1, +}; +const static struct intel_device_info intel_i945g_info = { + .is_i9xx = 1, .has_hotplug = 1, .cursor_needs_physical = 1, +}; +const static struct intel_device_info intel_i945gm_info = { + .is_i945gm = 1, .is_i9xx = 1, .is_mobile = 1, + .has_hotplug = 1, .cursor_needs_physical = 1, +}; + +const static struct intel_device_info intel_i965g_info = { + .is_i965g = 1, .is_i9xx = 1, .has_hotplug = 1, +}; + +const static struct intel_device_info intel_i965gm_info = { + .is_i965g = 1, .is_mobile = 1, .is_i965gm = 1, .is_i9xx = 1, + .is_mobile = 1, .has_fbc = 1, .has_rc6 = 1, + .has_hotplug = 1, +}; + +const static struct intel_device_info intel_g33_info = { + .is_g33 = 1, .is_i9xx = 1, .need_gfx_hws = 1, + .has_hotplug = 1, +}; -static struct pci_device_id pciidlist[] = { - i915_PCI_IDS +const static struct intel_device_info intel_g45_info = { + .is_i965g = 1, .is_g4x = 1, .is_i9xx = 1, .need_gfx_hws = 1, + .has_pipe_cxsr = 1, + .has_hotplug = 1, +}; + +const static struct intel_device_info intel_gm45_info = { + .is_i965g = 1, .is_mobile = 1, .is_g4x = 1, .is_i9xx = 1, + .is_mobile = 1, .need_gfx_hws = 1, .has_fbc = 1, .has_rc6 = 1, + .has_pipe_cxsr = 1, + .has_hotplug = 1, +}; + +const static struct intel_device_info intel_pineview_info = { + .is_g33 = 1, .is_pineview = 1, .is_mobile = 1, .is_i9xx = 1, + .need_gfx_hws = 1, + .has_hotplug = 1, +}; + +const static struct intel_device_info intel_ironlake_d_info = { + .is_ironlake = 1, .is_i965g = 1, .is_i9xx = 1, .need_gfx_hws = 1, + .has_pipe_cxsr = 1, + .has_hotplug = 1, +}; + +const static struct intel_device_info intel_ironlake_m_info = { + .is_ironlake = 1, .is_mobile = 1, .is_i965g = 1, .is_i9xx = 1, + .need_gfx_hws = 1, .has_rc6 = 1, + .has_hotplug = 1, +}; + +const static struct pci_device_id pciidlist[] = { + INTEL_VGA_DEVICE(0x3577, &intel_i830_info), + INTEL_VGA_DEVICE(0x2562, &intel_845g_info), + INTEL_VGA_DEVICE(0x3582, &intel_i85x_info), + INTEL_VGA_DEVICE(0x358e, &intel_i85x_info), + INTEL_VGA_DEVICE(0x2572, &intel_i865g_info), + INTEL_VGA_DEVICE(0x2582, &intel_i915g_info), + INTEL_VGA_DEVICE(0x258a, &intel_i915g_info), + INTEL_VGA_DEVICE(0x2592, &intel_i915gm_info), + INTEL_VGA_DEVICE(0x2772, &intel_i945g_info), + INTEL_VGA_DEVICE(0x27a2, &intel_i945gm_info), + INTEL_VGA_DEVICE(0x27ae, &intel_i945gm_info), + INTEL_VGA_DEVICE(0x2972, &intel_i965g_info), + INTEL_VGA_DEVICE(0x2982, &intel_i965g_info), + INTEL_VGA_DEVICE(0x2992, &intel_i965g_info), + INTEL_VGA_DEVICE(0x29a2, &intel_i965g_info), + INTEL_VGA_DEVICE(0x29b2, &intel_g33_info), + INTEL_VGA_DEVICE(0x29c2, &intel_g33_info), + INTEL_VGA_DEVICE(0x29d2, &intel_g33_info), + INTEL_VGA_DEVICE(0x2a02, &intel_i965gm_info), + INTEL_VGA_DEVICE(0x2a12, &intel_i965gm_info), + INTEL_VGA_DEVICE(0x2a42, &intel_gm45_info), + INTEL_VGA_DEVICE(0x2e02, &intel_g45_info), + INTEL_VGA_DEVICE(0x2e12, &intel_g45_info), + INTEL_VGA_DEVICE(0x2e22, &intel_g45_info), + INTEL_VGA_DEVICE(0x2e32, &intel_g45_info), + INTEL_VGA_DEVICE(0x2e42, &intel_g45_info), + INTEL_VGA_DEVICE(0x2e92, &intel_g45_info), + INTEL_VGA_DEVICE(0xa001, &intel_pineview_info), + INTEL_VGA_DEVICE(0xa011, &intel_pineview_info), + INTEL_VGA_DEVICE(0x0042, &intel_ironlake_d_info), + INTEL_VGA_DEVICE(0x0046, &intel_ironlake_m_info), + {0, 0, 0} }; #if defined(CONFIG_DRM_I915_KMS) MODULE_DEVICE_TABLE(pci, pciidlist); #endif -static int i915_suspend(struct drm_device *dev, pm_message_t state) +static int i915_drm_freeze(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; - if (!dev || !dev_priv) { - DRM_ERROR("dev: %p, dev_priv: %p\n", dev, dev_priv); - DRM_ERROR("DRM not initialized, aborting suspend.\n"); - return -ENODEV; - } - - if (state.event == PM_EVENT_PRETHAW) - return 0; - pci_save_state(dev->pdev); /* If KMS is active, we do the leavevt stuff here */ if (drm_core_check_feature(dev, DRIVER_MODESET)) { - if (i915_gem_idle(dev)) + int error = i915_gem_idle(dev); + if (error) { dev_err(&dev->pdev->dev, - "GEM idle failed, resume may fail\n"); + "GEM idle failed, resume might fail\n"); + return error; + } drm_irq_uninstall(dev); } @@ -83,26 +198,42 @@ intel_opregion_free(dev, 1); + /* Modeset on resume, not lid events */ + dev_priv->modeset_on_lid = 0; + + return 0; +} + +static 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; + + 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); } - /* Modeset on resume, not lid events */ - dev_priv->modeset_on_lid = 0; - return 0; } -static int i915_resume(struct drm_device *dev) +static int i915_drm_thaw(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; - int ret = 0; - - if (pci_enable_device(dev->pdev)) - return -1; - pci_set_master(dev->pdev); + int error = 0; i915_restore_state(dev); @@ -113,21 +244,28 @@ mutex_lock(&dev->struct_mutex); dev_priv->mm.suspended = 0; - ret = i915_gem_init_ringbuffer(dev); - if (ret != 0) - ret = -1; + error = i915_gem_init_ringbuffer(dev); mutex_unlock(&dev->struct_mutex); drm_irq_install(dev); - } - if (drm_core_check_feature(dev, DRIVER_MODESET)) { + /* Resume the modeset for every activated CRTC */ drm_helper_resume_force_mode(dev); } dev_priv->modeset_on_lid = 0; - return ret; + return error; +} + +static int i915_resume(struct drm_device *dev) +{ + if (pci_enable_device(dev->pdev)) + return -EIO; + + pci_set_master(dev->pdev); + + return i915_drm_thaw(dev); } /** @@ -192,6 +330,7 @@ } } else { DRM_ERROR("Error occurred. Don't know how to reset this chip.\n"); + mutex_unlock(&dev->struct_mutex); return -ENODEV; } @@ -268,22 +407,73 @@ drm_put_dev(dev); } -static int -i915_pci_suspend(struct pci_dev *pdev, pm_message_t state) +static int i915_pm_suspend(struct device *dev) { - struct drm_device *dev = pci_get_drvdata(pdev); + 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; + } - return i915_suspend(dev, state); + 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_pci_resume(struct pci_dev *pdev) +static int i915_pm_resume(struct device *dev) { - struct drm_device *dev = pci_get_drvdata(pdev); + 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_resume(dev); + 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); +} + +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 struct vm_operations_struct i915_gem_vm_ops = { .fault = i915_gem_fault, .open = drm_gem_vm_open, @@ -303,8 +493,11 @@ .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, .enable_vblank = i915_enable_vblank, .disable_vblank = i915_disable_vblank, @@ -329,10 +522,11 @@ .owner = THIS_MODULE, .open = drm_open, .release = drm_release, - .ioctl = drm_ioctl, + .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 @@ -343,10 +537,7 @@ .id_table = pciidlist, .probe = i915_pci_probe, .remove = i915_pci_remove, -#ifdef CONFIG_PM - .resume = i915_pci_resume, - .suspend = i915_pci_suspend, -#endif + .driver.pm = &i915_pm_ops, }, .name = DRIVER_NAME, @@ -359,6 +550,11 @@ 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; i915_gem_shrinker_init(); @@ -372,6 +568,22 @@ * Allow optional vga_text_mode_force boot option to override * the default behavior. */ + /* + * If the user has not specified modesetting the check for known + * bad devices and disable them. + */ + if (i915_modeset == -1) { + static struct pci_device_id i915_badmodeset[] = { + INTEL_VGA_DEVICE(0x3577, 0), + INTEL_VGA_DEVICE(0x2562, 0), + INTEL_VGA_DEVICE(0x3582, 0), + { }, + }; + if (pci_dev_present(i915_badmodeset)) { + DRM_INFO("i915 disabling kernel modesetting for known bad device.\n"); + i915_modeset = 0; + } + } #if defined(CONFIG_DRM_I915_KMS) if (i915_modeset != 0) driver.driver_features |= DRIVER_MODESET; --- linux-2.6.32.orig/drivers/gpu/drm/i915/i915_drv.h +++ linux-2.6.32/drivers/gpu/drm/i915/i915_drv.h @@ -55,6 +55,8 @@ #define I915_NUM_PIPE 2 +#define I915_GEM_GPU_DOMAINS (~(I915_GEM_DOMAIN_CPU | I915_GEM_DOMAIN_GTT)) + /* Interface history: * * 1.1: Original. @@ -170,9 +172,34 @@ /* clock gating init */ }; +struct intel_overlay; + +struct intel_device_info { + u8 is_mobile : 1; + u8 is_i8xx : 1; + u8 is_i85x : 1; + u8 is_i915g : 1; + u8 is_i9xx : 1; + u8 is_i945gm : 1; + u8 is_i965g : 1; + u8 is_i965gm : 1; + u8 is_g33 : 1; + u8 need_gfx_hws : 1; + u8 is_g4x : 1; + u8 is_pineview : 1; + u8 is_ironlake : 1; + u8 has_fbc : 1; + u8 has_rc6 : 1; + u8 has_pipe_cxsr : 1; + u8 has_hotplug : 1; + u8 cursor_needs_physical : 1; +}; + typedef struct drm_i915_private { struct drm_device *dev; + const struct intel_device_info *info; + int has_gem; void __iomem *regs; @@ -182,11 +209,15 @@ drm_dma_handle_t *status_page_dmah; void *hw_status_page; + void *seqno_page; dma_addr_t dma_status_page; uint32_t counter; unsigned int status_gfx_addr; + unsigned int seqno_gfx_addr; drm_local_map_t hws_map; struct drm_gem_object *hws_obj; + struct drm_gem_object *seqno_obj; + struct drm_gem_object *pwrctx; struct resource mch_res; @@ -206,11 +237,13 @@ /** Cached value of IMR to avoid reads in updating the bitfield */ u32 irq_mask_reg; u32 pipestat[2]; - /** splitted irq regs for graphics and display engine on IGDNG, + /** splitted irq regs for graphics and display engine on Ironlake, irq_mask_reg is still used for display irq. */ u32 gt_irq_mask_reg; u32 gt_irq_enable_reg; u32 de_irq_enable_reg; + u32 pch_irq_mask_reg; + u32 pch_irq_enable_reg; u32 hotplug_supported_mask; struct work_struct hotplug_work; @@ -227,8 +260,6 @@ int hangcheck_count; uint32_t last_acthd; - bool cursor_needs_physical; - struct drm_mm vram; unsigned long cfb_size; @@ -240,6 +271,9 @@ struct intel_opregion opregion; + /* overlay */ + struct intel_overlay *overlay; + /* LVDS info */ int backlight_duty_cycle; /* restore backlight to this value */ bool panel_wants_dither; @@ -255,15 +289,16 @@ unsigned int lvds_use_ssc:1; unsigned int edp_support:1; int lvds_ssc_freq; + int edp_bpp; struct notifier_block lid_notifier; - int crt_ddc_bus; /* -1 = unknown, else GPIO to use for CRT DDC */ + int crt_ddc_bus; /* 0 = unknown, else GPIO to use for CRT DDC */ struct drm_i915_fence_reg fence_regs[16]; /* 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; + unsigned int fsb_freq, mem_freq, is_ddr3; spinlock_t error_lock; struct drm_i915_error_state *first_error; @@ -279,7 +314,6 @@ u32 saveDSPACNTR; u32 saveDSPBCNTR; u32 saveDSPARB; - u32 saveRENDERSTANDBY; u32 saveHWS; u32 savePIPEACONF; u32 savePIPEBCONF; @@ -374,8 +408,6 @@ u32 saveFDI_RXA_IMR; u32 saveFDI_RXB_IMR; u32 saveCACHE_MODE_0; - u32 saveD_STATE; - u32 saveDSPCLK_GATE_D; u32 saveMI_ARB_STATE; u32 saveSWF0[16]; u32 saveSWF1[16]; @@ -467,6 +499,15 @@ struct list_head flushing_list; /** + * List of objects currently pending a GPU write flush. + * + * All elements on this list will belong to either the + * active_list or flushing_list, last_rendering_seqno can + * be used to differentiate between the two elements. + */ + struct list_head gpu_write_list; + + /** * LRU list of objects which are not in the ringbuffer and * are ready to unbind, but are still in the GTT. * @@ -539,13 +580,23 @@ /* indicate whether the LVDS_BORDER should be enabled or not */ unsigned int lvds_border_bits; + struct drm_crtc *plane_to_crtc_mapping[2]; + struct drm_crtc *pipe_to_crtc_mapping[2]; + wait_queue_head_t pending_flip_queue; + bool flip_pending_is_done; + /* Reclocking support */ bool render_reclock_avail; bool lvds_downclock_avail; + /* indicates the reduced downclock for LVDS*/ + int lvds_downclock; struct work_struct idle_work; struct timer_list idle_timer; bool busy; u16 orig_clock; + int child_dev_num; + struct child_device_config *child_dev; + struct drm_connector *int_lvds_connector; } drm_i915_private_t; /** driver private structure attached to each drm_gem_object */ @@ -557,6 +608,10 @@ /** This object's place on the active/flushing/inactive lists */ struct list_head list; + /** This object's place on GPU write list */ + struct list_head gpu_write_list; + /** This object's place on eviction list */ + struct list_head evict_list; /** This object's place on the fenced object LRU */ struct list_head fence_list; @@ -638,6 +693,13 @@ * Advice: are the backing pages purgeable? */ int madv; + + /** + * 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; }; /** @@ -681,6 +743,7 @@ extern int i915_max_ioctl; extern unsigned int i915_fbpercrtc; extern unsigned int i915_powersave; +extern unsigned int i915_lvds_downclock; extern void i915_save_display(struct drm_device *dev); extern void i915_restore_display(struct drm_device *dev); @@ -738,6 +801,8 @@ void i915_disable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask); +void intel_enable_asle (struct drm_device *dev); + /* i915_mem.c */ extern int i915_mem_alloc(struct drm_device *dev, void *data, @@ -770,6 +835,8 @@ 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, @@ -795,6 +862,9 @@ void i915_gem_free_object(struct drm_gem_object *obj); int i915_gem_object_pin(struct drm_gem_object *obj, uint32_t alignment); void i915_gem_object_unpin(struct drm_gem_object *obj); +void i915_gem_flush(struct drm_device *dev, + uint32_t invalidate_domains, + uint32_t flush_domains); int i915_gem_object_unbind(struct drm_gem_object *obj); void i915_gem_release_mmap(struct drm_gem_object *obj); void i915_gem_lastclose(struct drm_device *dev); @@ -812,26 +882,40 @@ void i915_gem_cleanup_ringbuffer(struct drm_device *dev); int i915_gem_do_init(struct drm_device *dev, unsigned long start, unsigned long end); +int i915_gpu_idle(struct drm_device *dev); int i915_gem_idle(struct drm_device *dev); +uint32_t i915_add_request(struct drm_device *dev, struct drm_file *file_priv, + uint32_t flush_domains); +int i915_do_wait_request(struct drm_device *dev, uint32_t seqno, int interruptible); int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf); int i915_gem_object_set_to_gtt_domain(struct drm_gem_object *obj, int write); +int i915_gem_object_set_to_display_plane(struct drm_gem_object *obj); int i915_gem_attach_phys_object(struct drm_device *dev, struct drm_gem_object *obj, int id); void i915_gem_detach_phys_object(struct drm_device *dev, struct drm_gem_object *obj); void i915_gem_free_all_phys_object(struct drm_device *dev); -int i915_gem_object_get_pages(struct drm_gem_object *obj); +int i915_gem_object_get_pages(struct drm_gem_object *obj, gfp_t gfpmask); void i915_gem_object_put_pages(struct drm_gem_object *obj); void i915_gem_release(struct drm_device * dev, struct drm_file *file_priv); +void i915_gem_object_flush_write_domain(struct drm_gem_object *obj); void i915_gem_shrinker_init(void); void i915_gem_shrinker_exit(void); +/* i915_gem_evict.c */ +int i915_gem_evict_something(struct drm_device *dev, int min_size, unsigned alignment); +int i915_gem_evict_everything(struct drm_device *dev); +int i915_gem_evict_inactive(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_gem_object *obj); void i915_gem_object_save_bit_17_swizzle(struct drm_gem_object *obj); +bool i915_tiling_ok(struct drm_device *dev, int stride, int size, + int tiling_mode); +bool i915_obj_fenceable(struct drm_device *dev, struct drm_gem_object *obj); /* i915_gem_debug.c */ void i915_gem_dump_object(struct drm_gem_object *obj, int len, @@ -863,11 +947,13 @@ extern int intel_opregion_init(struct drm_device *dev, int resume); extern void intel_opregion_free(struct drm_device *dev, int suspend); extern void opregion_asle_intr(struct drm_device *dev); +extern void ironlake_opregion_gse_intr(struct drm_device *dev); extern void opregion_enable_asle(struct drm_device *dev); #else static inline int intel_opregion_init(struct drm_device *dev, int resume) { return 0; } static inline void intel_opregion_free(struct drm_device *dev, int suspend) { return; } static inline void opregion_asle_intr(struct drm_device *dev) { return; } +static inline void ironlake_opregion_gse_intr(struct drm_device *dev) { return; } static inline void opregion_enable_asle(struct drm_device *dev) { return; } #endif @@ -952,85 +1038,78 @@ extern int i915_wrap_ring(struct drm_device * dev); extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); -#define IS_I830(dev) ((dev)->pci_device == 0x3577) -#define IS_845G(dev) ((dev)->pci_device == 0x2562) -#define IS_I85X(dev) ((dev)->pci_device == 0x3582) -#define IS_I855(dev) ((dev)->pci_device == 0x3582) -#define IS_I865G(dev) ((dev)->pci_device == 0x2572) - -#define IS_I915G(dev) ((dev)->pci_device == 0x2582 || (dev)->pci_device == 0x258a) -#define IS_I915GM(dev) ((dev)->pci_device == 0x2592) -#define IS_I945G(dev) ((dev)->pci_device == 0x2772) -#define IS_I945GM(dev) ((dev)->pci_device == 0x27A2 ||\ - (dev)->pci_device == 0x27AE) -#define IS_I965G(dev) ((dev)->pci_device == 0x2972 || \ - (dev)->pci_device == 0x2982 || \ - (dev)->pci_device == 0x2992 || \ - (dev)->pci_device == 0x29A2 || \ - (dev)->pci_device == 0x2A02 || \ - (dev)->pci_device == 0x2A12 || \ - (dev)->pci_device == 0x2A42 || \ - (dev)->pci_device == 0x2E02 || \ - (dev)->pci_device == 0x2E12 || \ - (dev)->pci_device == 0x2E22 || \ - (dev)->pci_device == 0x2E32 || \ - (dev)->pci_device == 0x2E42 || \ - (dev)->pci_device == 0x0042 || \ - (dev)->pci_device == 0x0046) - -#define IS_I965GM(dev) ((dev)->pci_device == 0x2A02 || \ - (dev)->pci_device == 0x2A12) - -#define IS_GM45(dev) ((dev)->pci_device == 0x2A42) - -#define IS_G4X(dev) ((dev)->pci_device == 0x2E02 || \ - (dev)->pci_device == 0x2E12 || \ - (dev)->pci_device == 0x2E22 || \ - (dev)->pci_device == 0x2E32 || \ - (dev)->pci_device == 0x2E42 || \ - IS_GM45(dev)) - -#define IS_IGDG(dev) ((dev)->pci_device == 0xa001) -#define IS_IGDGM(dev) ((dev)->pci_device == 0xa011) -#define IS_IGD(dev) (IS_IGDG(dev) || IS_IGDGM(dev)) - -#define IS_G33(dev) ((dev)->pci_device == 0x29C2 || \ - (dev)->pci_device == 0x29B2 || \ - (dev)->pci_device == 0x29D2 || \ - (IS_IGD(dev))) - -#define IS_IGDNG_D(dev) ((dev)->pci_device == 0x0042) -#define IS_IGDNG_M(dev) ((dev)->pci_device == 0x0046) -#define IS_IGDNG(dev) (IS_IGDNG_D(dev) || IS_IGDNG_M(dev)) - -#define IS_I9XX(dev) (IS_I915G(dev) || IS_I915GM(dev) || IS_I945G(dev) || \ - IS_I945GM(dev) || IS_I965G(dev) || IS_G33(dev) || \ - IS_IGDNG(dev)) - -#define IS_MOBILE(dev) (IS_I830(dev) || IS_I85X(dev) || IS_I915GM(dev) || \ - IS_I945GM(dev) || IS_I965GM(dev) || IS_GM45(dev) || \ - IS_IGD(dev) || IS_IGDNG_M(dev)) +#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_GEN2(dev) (INTEL_INFO(dev)->is_i8xx) +#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_I965G(dev) (INTEL_INFO(dev)->is_i965g) +#define IS_I965GM(dev) (INTEL_INFO(dev)->is_i965gm) +#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_IRONLAKE(dev) (INTEL_INFO(dev)->is_ironlake) +#define IS_I9XX(dev) (INTEL_INFO(dev)->is_i9xx) +#define IS_MOBILE(dev) (INTEL_INFO(dev)->is_mobile) + +#define IS_GEN3(dev) (IS_I915G(dev) || \ + IS_I915GM(dev) || \ + IS_I945G(dev) || \ + IS_I945GM(dev) || \ + IS_G33(dev) || \ + IS_PINEVIEW(dev)) +#define IS_GEN4(dev) ((dev)->pci_device == 0x2972 || \ + (dev)->pci_device == 0x2982 || \ + (dev)->pci_device == 0x2992 || \ + (dev)->pci_device == 0x29A2 || \ + (dev)->pci_device == 0x2A02 || \ + (dev)->pci_device == 0x2A12 || \ + (dev)->pci_device == 0x2E02 || \ + (dev)->pci_device == 0x2E12 || \ + (dev)->pci_device == 0x2E22 || \ + (dev)->pci_device == 0x2E32 || \ + (dev)->pci_device == 0x2A42 || \ + (dev)->pci_device == 0x2E42 || \ + (dev)->pci_device == 0x2E92) + +#define I915_NEED_GFX_HWS(dev) (INTEL_INFO(dev)->need_gfx_hws) + +#define IS_GEN6(dev) ((dev)->pci_device == 0x0102) -#define I915_NEED_GFX_HWS(dev) (IS_G33(dev) || IS_GM45(dev) || IS_G4X(dev) || \ - IS_IGDNG(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_I9XX(dev) && !(IS_I915G(dev) || \ IS_I915GM(dev))) -#define SUPPORTS_INTEGRATED_HDMI(dev) (IS_G4X(dev) || IS_IGDNG(dev)) -#define SUPPORTS_INTEGRATED_DP(dev) (IS_G4X(dev) || IS_IGDNG(dev)) -#define SUPPORTS_EDP(dev) (IS_IGDNG_M(dev)) -#define I915_HAS_HOTPLUG(dev) (IS_I945G(dev) || IS_I945GM(dev) || IS_G33(dev) || IS_I965G(dev)) +#define SUPPORTS_DIGITAL_OUTPUTS(dev) (IS_I9XX(dev) && !IS_PINEVIEW(dev)) +#define SUPPORTS_INTEGRATED_HDMI(dev) (IS_G4X(dev) || IS_IRONLAKE(dev)) +#define SUPPORTS_INTEGRATED_DP(dev) (IS_G4X(dev) || IS_IRONLAKE(dev)) +#define SUPPORTS_EDP(dev) (IS_IRONLAKE_M(dev)) +#define SUPPORTS_TV(dev) (IS_I9XX(dev) && IS_MOBILE(dev) && \ + !IS_IRONLAKE(dev) && !IS_PINEVIEW(dev)) +#define I915_HAS_HOTPLUG(dev) (INTEL_INFO(dev)->has_hotplug) /* dsparb controlled by hw only */ -#define DSPARB_HWCONTROL(dev) (IS_G4X(dev) || IS_IGDNG(dev)) +#define DSPARB_HWCONTROL(dev) (IS_G4X(dev) || IS_IRONLAKE(dev)) -#define HAS_FW_BLC(dev) (IS_I9XX(dev) || IS_G4X(dev) || IS_IGDNG(dev)) -#define HAS_PIPE_CXSR(dev) (IS_G4X(dev) || IS_IGDNG(dev)) -#define I915_HAS_FBC(dev) (IS_MOBILE(dev) && \ - (IS_I9XX(dev) || IS_GM45(dev)) && \ - !IS_IGD(dev) && \ - !IS_IGDNG(dev)) +#define HAS_FW_BLC(dev) (IS_I9XX(dev) || IS_G4X(dev) || IS_IRONLAKE(dev)) +#define HAS_PIPE_CXSR(dev) (INTEL_INFO(dev)->has_pipe_cxsr) +#define I915_HAS_FBC(dev) (INTEL_INFO(dev)->has_fbc) +#define I915_HAS_RC6(dev) (INTEL_INFO(dev)->has_rc6) + +#define HAS_PCH_SPLIT(dev) (IS_IRONLAKE(dev) || \ + IS_GEN6(dev)) +#define HAS_PIPE_CONTROL(dev) (IS_IRONLAKE(dev) || IS_GEN6(dev)) #define PRIMARY_RINGBUFFER_SIZE (128*1024) --- linux-2.6.32.orig/drivers/gpu/drm/i915/i915_gem.c +++ linux-2.6.32/drivers/gpu/drm/i915/i915_gem.c @@ -34,8 +34,7 @@ #include #include -#define I915_GEM_GPU_DOMAINS (~(I915_GEM_DOMAIN_CPU | I915_GEM_DOMAIN_GTT)) - +static uint32_t i915_gem_get_gtt_alignment(struct drm_gem_object *obj); static void i915_gem_object_flush_gpu_write_domain(struct drm_gem_object *obj); static void i915_gem_object_flush_gtt_write_domain(struct drm_gem_object *obj); static void i915_gem_object_flush_cpu_write_domain(struct drm_gem_object *obj); @@ -49,8 +48,6 @@ static int i915_gem_object_bind_to_gtt(struct drm_gem_object *obj, unsigned alignment); static void i915_gem_clear_fence_reg(struct drm_gem_object *obj); -static int i915_gem_evict_something(struct drm_device *dev, int min_size); -static int i915_gem_evict_from_inactive_list(struct drm_device *dev); static int i915_gem_phys_pwrite(struct drm_device *dev, struct drm_gem_object *obj, struct drm_i915_gem_pwrite *args, struct drm_file *file_priv); @@ -58,6 +55,14 @@ static LIST_HEAD(shrink_list); static DEFINE_SPINLOCK(shrink_list_lock); +static inline bool +i915_gem_object_is_inactive(struct drm_i915_gem_object *obj_priv) +{ + return obj_priv->gtt_space && + !obj_priv->active && + obj_priv->pin_count == 0; +} + int i915_gem_do_init(struct drm_device *dev, unsigned long start, unsigned long end) { @@ -277,7 +282,7 @@ mutex_lock(&dev->struct_mutex); - ret = i915_gem_object_get_pages(obj); + ret = i915_gem_object_get_pages(obj, 0); if (ret != 0) goto fail_unlock; @@ -321,40 +326,25 @@ return ret; } -static inline gfp_t -i915_gem_object_get_page_gfp_mask (struct drm_gem_object *obj) -{ - return mapping_gfp_mask(obj->filp->f_path.dentry->d_inode->i_mapping); -} - -static inline void -i915_gem_object_set_page_gfp_mask (struct drm_gem_object *obj, gfp_t gfp) -{ - mapping_set_gfp_mask(obj->filp->f_path.dentry->d_inode->i_mapping, gfp); -} - static int i915_gem_object_get_pages_or_evict(struct drm_gem_object *obj) { int ret; - ret = i915_gem_object_get_pages(obj); + ret = i915_gem_object_get_pages(obj, __GFP_NORETRY | __GFP_NOWARN); /* If we've insufficient memory to map in the pages, attempt * to make some space by throwing out some old buffers. */ if (ret == -ENOMEM) { struct drm_device *dev = obj->dev; - gfp_t gfp; - ret = i915_gem_evict_something(dev, obj->size); + ret = i915_gem_evict_something(dev, obj->size, + i915_gem_get_gtt_alignment(obj)); if (ret) return ret; - gfp = i915_gem_object_get_page_gfp_mask(obj); - i915_gem_object_set_page_gfp_mask(obj, gfp & ~__GFP_NORETRY); - ret = i915_gem_object_get_pages(obj); - i915_gem_object_set_page_gfp_mask (obj, gfp); + ret = i915_gem_object_get_pages(obj, 0); } return ret; @@ -498,14 +488,17 @@ return -EBADF; obj_priv = obj->driver_private; - /* Bounds check source. - * - * XXX: This could use review for overflow issues... - */ - if (args->offset > obj->size || args->size > obj->size || - args->offset + args->size > obj->size) { - drm_gem_object_unreference(obj); - return -EINVAL; + /* Bounds check source. */ + if (args->offset > obj->size || args->size > obj->size - args->offset) { + ret = -EINVAL; + goto err; + } + + if (!access_ok(VERIFY_WRITE, + (char __user *)(uintptr_t)args->data_ptr, + args->size)) { + ret = -EFAULT; + goto err; } if (i915_gem_object_needs_bit17_swizzle(obj)) { @@ -517,8 +510,8 @@ file_priv); } +err: drm_gem_object_unreference(obj); - return ret; } @@ -608,8 +601,6 @@ user_data = (char __user *) (uintptr_t) args->data_ptr; remain = args->size; - if (!access_ok(VERIFY_READ, user_data, remain)) - return -EFAULT; mutex_lock(&dev->struct_mutex); @@ -790,7 +781,7 @@ mutex_lock(&dev->struct_mutex); - ret = i915_gem_object_get_pages(obj); + ret = i915_gem_object_get_pages(obj, 0); if (ret != 0) goto fail_unlock; @@ -971,14 +962,17 @@ return -EBADF; obj_priv = obj->driver_private; - /* Bounds check destination. - * - * XXX: This could use review for overflow issues... - */ - if (args->offset > obj->size || args->size > obj->size || - args->offset + args->size > obj->size) { - drm_gem_object_unreference(obj); - return -EINVAL; + /* Bounds check destination. */ + if (args->offset > obj->size || args->size > obj->size - args->offset) { + ret = -EINVAL; + goto err; + } + + if (!access_ok(VERIFY_READ, + (char __user *)(uintptr_t)args->data_ptr, + args->size)) { + ret = -EFAULT; + goto err; } /* We can only do the GTT pwrite on untiled buffers, as otherwise @@ -1011,8 +1005,8 @@ DRM_INFO("pwrite failed %d\n", ret); #endif +err: drm_gem_object_unreference(obj); - return ret; } @@ -1082,6 +1076,11 @@ ret = i915_gem_object_set_to_cpu_domain(obj, write_domain != 0); } + + /* Maintain LRU order of "inactive" objects */ + if (ret == 0 && i915_gem_object_is_inactive(obj_priv)) + list_move_tail(&obj_priv->list, &dev_priv->mm.inactive_list); + drm_gem_object_unreference(obj); mutex_unlock(&dev->struct_mutex); return ret; @@ -1217,6 +1216,9 @@ goto unlock; } + if (i915_gem_object_is_inactive(obj_priv)) + list_move_tail(&obj_priv->list, &dev_priv->mm.inactive_list); + pfn = ((dev->agp->base + obj_priv->gtt_offset) >> PAGE_SHIFT) + page_offset; @@ -1288,6 +1290,7 @@ list->hash.key = list->file_offset_node->start; if (drm_ht_insert_item(&mm->offset_hash, &list->hash)) { DRM_ERROR("failed to add to map hash\n"); + ret = -ENOMEM; goto out_free_mm; } @@ -1309,7 +1312,7 @@ * i915_gem_release_mmap - remove physical page mappings * @obj: obj in question * - * Preserve the reservation of the mmaping with the DRM core code, but + * 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 @@ -1485,9 +1488,6 @@ obj_priv->dirty = 0; for (i = 0; i < page_count; i++) { - if (obj_priv->pages[i] == NULL) - break; - if (obj_priv->dirty) set_page_dirty(obj_priv->pages[i]); @@ -1567,6 +1567,8 @@ else list_move_tail(&obj_priv->list, &dev_priv->mm.inactive_list); + BUG_ON(!list_empty(&obj_priv->gpu_write_list)); + obj_priv->last_rendering_seqno = 0; if (obj_priv->active) { obj_priv->active = 0; @@ -1575,6 +1577,13 @@ i915_verify_inactive(dev, __FILE__, __LINE__); } +#define PIPE_CONTROL_FLUSH(addr) \ + OUT_RING(GFX_OP_PIPE_CONTROL | PIPE_CONTROL_QW_WRITE | \ + PIPE_CONTROL_DEPTH_STALL); \ + OUT_RING(addr | PIPE_CONTROL_GLOBAL_GTT); \ + OUT_RING(0); \ + OUT_RING(0); \ + /** * Creates a new sequence number, emitting a write of it to the status page * plus an interrupt, which will trigger i915_user_interrupt_handler. @@ -1583,7 +1592,7 @@ * * Returned sequence numbers are nonzero on success. */ -static uint32_t +uint32_t i915_add_request(struct drm_device *dev, struct drm_file *file_priv, uint32_t flush_domains) { @@ -1609,15 +1618,49 @@ if (dev_priv->mm.next_gem_seqno == 0) dev_priv->mm.next_gem_seqno++; - BEGIN_LP_RING(4); - OUT_RING(MI_STORE_DWORD_INDEX); - OUT_RING(I915_GEM_HWS_INDEX << MI_STORE_DWORD_INDEX_SHIFT); - OUT_RING(seqno); + if (HAS_PIPE_CONTROL(dev)) { + u32 scratch_addr = dev_priv->seqno_gfx_addr + 128; - OUT_RING(MI_USER_INTERRUPT); - ADVANCE_LP_RING(); + /* + * Workaround qword write incoherence by flushing the + * PIPE_NOTIFY buffers out to memory before requesting + * an interrupt. + */ + BEGIN_LP_RING(32); + OUT_RING(GFX_OP_PIPE_CONTROL | PIPE_CONTROL_QW_WRITE | + PIPE_CONTROL_WC_FLUSH | PIPE_CONTROL_TC_FLUSH); + OUT_RING(dev_priv->seqno_gfx_addr | PIPE_CONTROL_GLOBAL_GTT); + OUT_RING(seqno); + OUT_RING(0); + PIPE_CONTROL_FLUSH(scratch_addr); + scratch_addr += 128; /* write to separate cachelines */ + PIPE_CONTROL_FLUSH(scratch_addr); + scratch_addr += 128; + PIPE_CONTROL_FLUSH(scratch_addr); + scratch_addr += 128; + PIPE_CONTROL_FLUSH(scratch_addr); + scratch_addr += 128; + PIPE_CONTROL_FLUSH(scratch_addr); + scratch_addr += 128; + PIPE_CONTROL_FLUSH(scratch_addr); + OUT_RING(GFX_OP_PIPE_CONTROL | PIPE_CONTROL_QW_WRITE | + PIPE_CONTROL_WC_FLUSH | PIPE_CONTROL_TC_FLUSH | + PIPE_CONTROL_NOTIFY); + OUT_RING(dev_priv->seqno_gfx_addr | PIPE_CONTROL_GLOBAL_GTT); + OUT_RING(seqno); + OUT_RING(0); + ADVANCE_LP_RING(); + } else { + BEGIN_LP_RING(4); + OUT_RING(MI_STORE_DWORD_INDEX); + OUT_RING(I915_GEM_HWS_INDEX << MI_STORE_DWORD_INDEX_SHIFT); + OUT_RING(seqno); + + OUT_RING(MI_USER_INTERRUPT); + ADVANCE_LP_RING(); + } - DRM_DEBUG("%d\n", seqno); + DRM_DEBUG_DRIVER("%d\n", seqno); request->seqno = seqno; request->emitted_jiffies = jiffies; @@ -1637,7 +1680,8 @@ struct drm_i915_gem_object *obj_priv, *next; list_for_each_entry_safe(obj_priv, next, - &dev_priv->mm.flushing_list, list) { + &dev_priv->mm.gpu_write_list, + gpu_write_list) { struct drm_gem_object *obj = obj_priv->obj; if ((obj->write_domain & flush_domains) == @@ -1645,6 +1689,7 @@ uint32_t old_write_domain = obj->write_domain; obj->write_domain = 0; + list_del_init(&obj_priv->gpu_write_list); i915_gem_object_move_to_active(obj, seqno); trace_i915_gem_object_change_domain(obj, @@ -1758,7 +1803,10 @@ { drm_i915_private_t *dev_priv = dev->dev_private; - return READ_HWSP(dev_priv, I915_GEM_HWS_INDEX); + if (HAS_PIPE_CONTROL(dev)) + return ((volatile u32 *)(dev_priv->seqno_page))[0]; + else + return READ_HWSP(dev_priv, I915_GEM_HWS_INDEX); } /** @@ -1814,18 +1862,21 @@ mutex_lock(&dev->struct_mutex); i915_gem_retire_requests(dev); + + if (!list_empty(&dev_priv->mm.gpu_write_list)) { + i915_gem_flush(dev, 0, I915_GEM_GPU_DOMAINS); + i915_add_request(dev, NULL, I915_GEM_GPU_DOMAINS); + } + if (!dev_priv->mm.suspended && !list_empty(&dev_priv->mm.request_list)) queue_delayed_work(dev_priv->wq, &dev_priv->mm.retire_work, HZ); + mutex_unlock(&dev->struct_mutex); } -/** - * Waits for a sequence number to be signaled, and cleans up the - * request and object lists appropriately for that event. - */ -static int -i915_wait_request(struct drm_device *dev, uint32_t seqno) +int +i915_do_wait_request(struct drm_device *dev, uint32_t seqno, int interruptible) { drm_i915_private_t *dev_priv = dev->dev_private; u32 ier; @@ -1837,7 +1888,7 @@ return -EIO; if (!i915_seqno_passed(i915_get_gem_seqno(dev), seqno)) { - if (IS_IGDNG(dev)) + if (HAS_PCH_SPLIT(dev)) ier = I915_READ(DEIER) | I915_READ(GTIER); else ier = I915_READ(IER); @@ -1852,10 +1903,15 @@ dev_priv->mm.waiting_gem_seqno = seqno; i915_user_irq_get(dev); - ret = wait_event_interruptible(dev_priv->irq_queue, - i915_seqno_passed(i915_get_gem_seqno(dev), - seqno) || - atomic_read(&dev_priv->mm.wedged)); + if (interruptible) + ret = wait_event_interruptible(dev_priv->irq_queue, + i915_seqno_passed(i915_get_gem_seqno(dev), seqno) || + atomic_read(&dev_priv->mm.wedged)); + else + wait_event(dev_priv->irq_queue, + i915_seqno_passed(i915_get_gem_seqno(dev), seqno) || + atomic_read(&dev_priv->mm.wedged)); + i915_user_irq_put(dev); dev_priv->mm.waiting_gem_seqno = 0; @@ -1879,7 +1935,17 @@ return ret; } -static void +/** + * Waits for a sequence number to be signaled, and cleans up the + * request and object lists appropriately for that event. + */ +static int +i915_wait_request(struct drm_device *dev, uint32_t seqno) +{ + return i915_do_wait_request(dev, seqno, 1); +} + +void i915_gem_flush(struct drm_device *dev, uint32_t invalidate_domains, uint32_t flush_domains) @@ -1947,7 +2013,7 @@ #endif BEGIN_LP_RING(2); OUT_RING(cmd); - OUT_RING(0); /* noop */ + OUT_RING(MI_NOOP); ADVANCE_LP_RING(); } } @@ -2009,9 +2075,6 @@ /* blow away mappings if mapped through GTT */ i915_gem_release_mmap(obj); - if (obj_priv->fence_reg != I915_FENCE_REG_NONE) - i915_gem_clear_fence_reg(obj); - /* Move the object to the CPU domain to ensure that * any possible CPU writes while it's not in the GTT * are flushed when we go to remap it. This will @@ -2027,6 +2090,10 @@ BUG_ON(obj_priv->active); + /* release the fence reg _after_ flushing */ + if (obj_priv->fence_reg != I915_FENCE_REG_NONE) + i915_gem_clear_fence_reg(obj); + if (obj_priv->agp_mem != NULL) { drm_unbind_agp(obj_priv->agp_mem); drm_free_agp(obj_priv->agp_mem, obj->size / PAGE_SIZE); @@ -2056,175 +2123,15 @@ return 0; } -static struct drm_gem_object * -i915_gem_find_inactive_object(struct drm_device *dev, int min_size) -{ - drm_i915_private_t *dev_priv = dev->dev_private; - struct drm_i915_gem_object *obj_priv; - struct drm_gem_object *best = NULL; - struct drm_gem_object *first = NULL; - - /* Try to find the smallest clean object */ - list_for_each_entry(obj_priv, &dev_priv->mm.inactive_list, list) { - struct drm_gem_object *obj = obj_priv->obj; - if (obj->size >= min_size) { - if ((!obj_priv->dirty || - i915_gem_object_is_purgeable(obj_priv)) && - (!best || obj->size < best->size)) { - best = obj; - if (best->size == min_size) - return best; - } - if (!first) - first = obj; - } - } - - return best ? best : first; -} - -static int -i915_gem_evict_everything(struct drm_device *dev) -{ - drm_i915_private_t *dev_priv = dev->dev_private; - uint32_t seqno; - int ret; - bool lists_empty; - - spin_lock(&dev_priv->mm.active_list_lock); - lists_empty = (list_empty(&dev_priv->mm.inactive_list) && - list_empty(&dev_priv->mm.flushing_list) && - list_empty(&dev_priv->mm.active_list)); - spin_unlock(&dev_priv->mm.active_list_lock); - - if (lists_empty) - return -ENOSPC; - - /* Flush everything (on to the inactive lists) and evict */ - i915_gem_flush(dev, I915_GEM_GPU_DOMAINS, I915_GEM_GPU_DOMAINS); - seqno = i915_add_request(dev, NULL, I915_GEM_GPU_DOMAINS); - if (seqno == 0) - return -ENOMEM; - - ret = i915_wait_request(dev, seqno); - if (ret) - return ret; - - ret = i915_gem_evict_from_inactive_list(dev); - if (ret) - return ret; - - spin_lock(&dev_priv->mm.active_list_lock); - lists_empty = (list_empty(&dev_priv->mm.inactive_list) && - list_empty(&dev_priv->mm.flushing_list) && - list_empty(&dev_priv->mm.active_list)); - spin_unlock(&dev_priv->mm.active_list_lock); - BUG_ON(!lists_empty); - - return 0; -} - -static int -i915_gem_evict_something(struct drm_device *dev, int min_size) -{ - drm_i915_private_t *dev_priv = dev->dev_private; - struct drm_gem_object *obj; - int ret; - - for (;;) { - i915_gem_retire_requests(dev); - - /* If there's an inactive buffer available now, grab it - * and be done. - */ - obj = i915_gem_find_inactive_object(dev, min_size); - if (obj) { - struct drm_i915_gem_object *obj_priv; - -#if WATCH_LRU - DRM_INFO("%s: evicting %p\n", __func__, obj); -#endif - obj_priv = obj->driver_private; - BUG_ON(obj_priv->pin_count != 0); - BUG_ON(obj_priv->active); - - /* Wait on the rendering and unbind the buffer. */ - return i915_gem_object_unbind(obj); - } - - /* If we didn't get anything, but the ring is still processing - * things, wait for the next to finish and hopefully leave us - * a buffer to evict. - */ - if (!list_empty(&dev_priv->mm.request_list)) { - struct drm_i915_gem_request *request; - - request = list_first_entry(&dev_priv->mm.request_list, - struct drm_i915_gem_request, - list); - - ret = i915_wait_request(dev, request->seqno); - if (ret) - return ret; - - continue; - } - - /* If we didn't have anything on the request list but there - * are buffers awaiting a flush, emit one and try again. - * When we wait on it, those buffers waiting for that flush - * will get moved to inactive. - */ - if (!list_empty(&dev_priv->mm.flushing_list)) { - struct drm_i915_gem_object *obj_priv; - - /* Find an object that we can immediately reuse */ - list_for_each_entry(obj_priv, &dev_priv->mm.flushing_list, list) { - obj = obj_priv->obj; - if (obj->size >= min_size) - break; - - obj = NULL; - } - - if (obj != NULL) { - uint32_t seqno; - - i915_gem_flush(dev, - obj->write_domain, - obj->write_domain); - seqno = i915_add_request(dev, NULL, obj->write_domain); - if (seqno == 0) - return -ENOMEM; - - ret = i915_wait_request(dev, seqno); - if (ret) - return ret; - - continue; - } - } - - /* If we didn't do any of the above, there's no single buffer - * large enough to swap out for the new one, so just evict - * everything and start again. (This should be rare.) - */ - if (!list_empty (&dev_priv->mm.inactive_list)) - return i915_gem_evict_from_inactive_list(dev); - else - return i915_gem_evict_everything(dev); - } -} - int -i915_gem_object_get_pages(struct drm_gem_object *obj) +i915_gem_object_get_pages(struct drm_gem_object *obj, + gfp_t gfpmask) { struct drm_i915_gem_object *obj_priv = obj->driver_private; int page_count, i; struct address_space *mapping; struct inode *inode; struct page *page; - int ret; if (obj_priv->pages_refcount++ != 0) return 0; @@ -2243,12 +2150,14 @@ inode = obj->filp->f_path.dentry->d_inode; mapping = inode->i_mapping; for (i = 0; i < page_count; i++) { - page = read_mapping_page(mapping, i, NULL); - if (IS_ERR(page)) { - ret = PTR_ERR(page); - i915_gem_object_put_pages(obj); - return ret; - } + page = read_cache_page_gfp(mapping, i, + GFP_HIGHUSER | + __GFP_COLD | + __GFP_RECLAIMABLE | + gfpmask); + if (IS_ERR(page)) + goto err_pages; + obj_priv->pages[i] = page; } @@ -2256,6 +2165,15 @@ i915_gem_object_do_bit_17_swizzle(obj); return 0; + +err_pages: + while (i--) + page_cache_release(obj_priv->pages[i]); + + drm_free_large(obj_priv->pages); + obj_priv->pages = NULL; + obj_priv->pages_refcount--; + return PTR_ERR(page); } static void i965_write_fence_reg(struct drm_i915_fence_reg *reg) @@ -2306,6 +2224,12 @@ pitch_val = obj_priv->stride / tile_width; pitch_val = ffs(pitch_val) - 1; + if (obj_priv->tiling_mode == I915_TILING_Y && + HAS_128_BYTE_Y_TILING(dev)) + WARN_ON(pitch_val > I830_FENCE_MAX_PITCH_VAL); + else + WARN_ON(pitch_val > I915_FENCE_MAX_PITCH_VAL); + val = obj_priv->gtt_offset; if (obj_priv->tiling_mode == I915_TILING_Y) val |= 1 << I830_FENCE_TILING_Y_SHIFT; @@ -2566,12 +2490,9 @@ drm_i915_private_t *dev_priv = dev->dev_private; struct drm_i915_gem_object *obj_priv = obj->driver_private; struct drm_mm_node *free_space; - bool retry_alloc = false; + gfp_t gfpmask = __GFP_NORETRY | __GFP_NOWARN; int ret; - if (dev_priv->mm.suspended) - return -EBUSY; - if (obj_priv->madv != I915_MADV_WILLNEED) { DRM_ERROR("Attempting to bind a purgeable object\n"); return -EINVAL; @@ -2584,6 +2505,14 @@ return -EINVAL; } + /* If the object is bigger than the entire aperture, reject it early + * before evicting everything in a vain attempt to find space. + */ + if (obj->size > dev->gtt_total) { + DRM_ERROR("Attempting to bind an object larger than the aperture\n"); + return -E2BIG; + } + search_free: free_space = drm_mm_search_free(&dev_priv->mm.gtt_space, obj->size, alignment, 0); @@ -2602,7 +2531,7 @@ #if WATCH_LRU DRM_INFO("%s: GTT full, evicting something\n", __func__); #endif - ret = i915_gem_evict_something(dev, obj->size); + ret = i915_gem_evict_something(dev, obj->size, alignment); if (ret) return ret; @@ -2613,27 +2542,20 @@ DRM_INFO("Binding object of size %zd at 0x%08x\n", obj->size, obj_priv->gtt_offset); #endif - if (retry_alloc) { - i915_gem_object_set_page_gfp_mask (obj, - i915_gem_object_get_page_gfp_mask (obj) & ~__GFP_NORETRY); - } - ret = i915_gem_object_get_pages(obj); - if (retry_alloc) { - i915_gem_object_set_page_gfp_mask (obj, - i915_gem_object_get_page_gfp_mask (obj) | __GFP_NORETRY); - } + ret = i915_gem_object_get_pages(obj, gfpmask); if (ret) { drm_mm_put_block(obj_priv->gtt_space); obj_priv->gtt_space = NULL; if (ret == -ENOMEM) { /* first try to clear up some space from the GTT */ - ret = i915_gem_evict_something(dev, obj->size); + ret = i915_gem_evict_something(dev, obj->size, + alignment); if (ret) { /* now try to shrink everyone else */ - if (! retry_alloc) { - retry_alloc = true; - goto search_free; + if (gfpmask) { + gfpmask = 0; + goto search_free; } return ret; @@ -2658,7 +2580,7 @@ drm_mm_put_block(obj_priv->gtt_space); obj_priv->gtt_space = NULL; - ret = i915_gem_evict_something(dev, obj->size); + ret = i915_gem_evict_something(dev, obj->size, alignment); if (ret) return ret; @@ -2711,7 +2633,7 @@ old_write_domain = obj->write_domain; i915_gem_flush(dev, 0, obj->write_domain); seqno = i915_add_request(dev, NULL, obj->write_domain); - obj->write_domain = 0; + BUG_ON(obj->write_domain); i915_gem_object_move_to_active(obj, seqno); trace_i915_gem_object_change_domain(obj, @@ -2760,6 +2682,22 @@ old_write_domain); } +void +i915_gem_object_flush_write_domain(struct drm_gem_object *obj) +{ + switch (obj->write_domain) { + case I915_GEM_DOMAIN_GTT: + i915_gem_object_flush_gtt_write_domain(obj); + break; + case I915_GEM_DOMAIN_CPU: + i915_gem_object_flush_cpu_write_domain(obj); + break; + default: + i915_gem_object_flush_gpu_write_domain(obj); + break; + } +} + /** * Moves a single object to the GTT read, and possibly write domain. * @@ -2811,6 +2749,57 @@ return 0; } +/* + * Prepare buffer for display plane. Use uninterruptible for possible flush + * wait, as in modesetting process we're not supposed to be interrupted. + */ +int +i915_gem_object_set_to_display_plane(struct drm_gem_object *obj) +{ + struct drm_device *dev = obj->dev; + struct drm_i915_gem_object *obj_priv = obj->driver_private; + uint32_t old_write_domain, old_read_domains; + int ret; + + /* Not valid to be called on unbound objects. */ + if (obj_priv->gtt_space == NULL) + return -EINVAL; + + i915_gem_object_flush_gpu_write_domain(obj); + + /* Wait on any GPU rendering and flushing to occur. */ + if (obj_priv->active) { +#if WATCH_BUF + DRM_INFO("%s: object %p wait for seqno %08x\n", + __func__, obj, obj_priv->last_rendering_seqno); +#endif + ret = i915_do_wait_request(dev, obj_priv->last_rendering_seqno, 0); + if (ret != 0) + return ret; + } + + old_write_domain = obj->write_domain; + old_read_domains = obj->read_domains; + + obj->read_domains &= I915_GEM_DOMAIN_GTT; + + i915_gem_object_flush_cpu_write_domain(obj); + + /* It should now be out of any other write domains, and we can update + * the domain values for our changes. + */ + BUG_ON((obj->write_domain & ~I915_GEM_DOMAIN_GTT) != 0); + obj->read_domains |= I915_GEM_DOMAIN_GTT; + obj->write_domain = I915_GEM_DOMAIN_GTT; + obj_priv->dirty = 1; + + trace_i915_gem_object_change_domain(obj, + old_read_domains, + old_write_domain); + + return 0; +} + /** * Moves a single object to the CPU read, and possibly write domain. * @@ -3170,7 +3159,7 @@ static int i915_gem_object_pin_and_relocate(struct drm_gem_object *obj, struct drm_file *file_priv, - struct drm_i915_gem_exec_object *entry, + struct drm_i915_gem_exec_object2 *entry, struct drm_i915_gem_relocation_entry *relocs) { struct drm_device *dev = obj->dev; @@ -3178,12 +3167,35 @@ struct drm_i915_gem_object *obj_priv = obj->driver_private; int i, ret; void __iomem *reloc_page; + bool need_fence; + + need_fence = entry->flags & EXEC_OBJECT_NEEDS_FENCE && + obj_priv->tiling_mode != I915_TILING_NONE; + + /* Check fence reg constraints and rebind if necessary */ + if (need_fence && !i915_obj_fenceable(dev, obj)) + i915_gem_object_unbind(obj); /* Choose the GTT offset for our buffer and put it there. */ ret = i915_gem_object_pin(obj, (uint32_t) entry->alignment); if (ret) return ret; + /* + * Pre-965 chips need a fence register set up in order to + * properly handle blits to/from tiled surfaces. + */ + if (need_fence) { + ret = i915_gem_object_get_fence_reg(obj); + if (ret != 0) { + if (ret != -EBUSY && ret != -ERESTARTSYS) + DRM_ERROR("Failure to install fence: %d\n", + ret); + i915_gem_object_unpin(obj); + return ret; + } + } + entry->offset = obj_priv->gtt_offset; /* Apply the relocations, using the GTT aperture to avoid cache @@ -3345,7 +3357,7 @@ */ static int i915_dispatch_gem_execbuffer(struct drm_device *dev, - struct drm_i915_gem_execbuffer *exec, + struct drm_i915_gem_execbuffer2 *exec, struct drm_clip_rect *cliprects, uint64_t exec_offset) { @@ -3435,7 +3447,7 @@ } static int -i915_gem_get_relocs_from_user(struct drm_i915_gem_exec_object *exec_list, +i915_gem_get_relocs_from_user(struct drm_i915_gem_exec_object2 *exec_list, uint32_t buffer_count, struct drm_i915_gem_relocation_entry **relocs) { @@ -3450,8 +3462,10 @@ } *relocs = drm_calloc_large(reloc_count, sizeof(**relocs)); - if (*relocs == NULL) + if (*relocs == NULL) { + DRM_ERROR("failed to alloc relocs, count %d\n", reloc_count); return -ENOMEM; + } for (i = 0; i < buffer_count; i++) { struct drm_i915_gem_relocation_entry __user *user_relocs; @@ -3475,13 +3489,16 @@ } static int -i915_gem_put_relocs_to_user(struct drm_i915_gem_exec_object *exec_list, +i915_gem_put_relocs_to_user(struct drm_i915_gem_exec_object2 *exec_list, uint32_t buffer_count, struct drm_i915_gem_relocation_entry *relocs) { uint32_t reloc_count = 0, i; int ret = 0; + if (relocs == NULL) + return 0; + for (i = 0; i < buffer_count; i++) { struct drm_i915_gem_relocation_entry __user *user_relocs; int unwritten; @@ -3508,7 +3525,7 @@ } static int -i915_gem_check_execbuffer (struct drm_i915_gem_execbuffer *exec, +i915_gem_check_execbuffer (struct drm_i915_gem_execbuffer2 *exec, uint64_t exec_offset) { uint32_t exec_start, exec_len; @@ -3525,22 +3542,57 @@ return 0; } +static int +i915_gem_wait_for_pending_flip(struct drm_device *dev, + struct drm_gem_object **object_list, + int count) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_i915_gem_object *obj_priv; + DEFINE_WAIT(wait); + int i, ret = 0; + + for (;;) { + prepare_to_wait(&dev_priv->pending_flip_queue, + &wait, TASK_INTERRUPTIBLE); + for (i = 0; i < count; i++) { + obj_priv = object_list[i]->driver_private; + if (atomic_read(&obj_priv->pending_flip) > 0) + break; + } + if (i == count) + break; + + if (!signal_pending(current)) { + mutex_unlock(&dev->struct_mutex); + schedule(); + mutex_lock(&dev->struct_mutex); + continue; + } + ret = -ERESTARTSYS; + break; + } + finish_wait(&dev_priv->pending_flip_queue, &wait); + + return ret; +} + int -i915_gem_execbuffer(struct drm_device *dev, void *data, - struct drm_file *file_priv) +i915_gem_do_execbuffer(struct drm_device *dev, void *data, + struct drm_file *file_priv, + struct drm_i915_gem_execbuffer2 *args, + struct drm_i915_gem_exec_object2 *exec_list) { drm_i915_private_t *dev_priv = dev->dev_private; - struct drm_i915_gem_execbuffer *args = data; - struct drm_i915_gem_exec_object *exec_list = NULL; struct drm_gem_object **object_list = NULL; struct drm_gem_object *batch_obj; struct drm_i915_gem_object *obj_priv; struct drm_clip_rect *cliprects = NULL; - struct drm_i915_gem_relocation_entry *relocs; - int ret, ret2, i, pinned = 0; + struct drm_i915_gem_relocation_entry *relocs = NULL; + int ret = 0, ret2, i, pinned = 0; uint64_t exec_offset; uint32_t seqno, flush_domains, reloc_index; - int pin_tries; + int pin_tries, flips; #if WATCH_EXEC DRM_INFO("buffers_ptr %d buffer_count %d len %08x\n", @@ -3551,31 +3603,21 @@ DRM_ERROR("execbuf with %d buffers\n", args->buffer_count); return -EINVAL; } - /* Copy in the exec list from userland */ - exec_list = drm_calloc_large(sizeof(*exec_list), args->buffer_count); - object_list = drm_calloc_large(sizeof(*object_list), args->buffer_count); - if (exec_list == NULL || object_list == NULL) { - DRM_ERROR("Failed to allocate exec or object list " - "for %d buffers\n", + object_list = drm_malloc_ab(sizeof(*object_list), args->buffer_count); + if (object_list == NULL) { + DRM_ERROR("Failed to allocate object list for %d buffers\n", args->buffer_count); ret = -ENOMEM; goto pre_mutex_err; } - ret = copy_from_user(exec_list, - (struct drm_i915_relocation_entry __user *) - (uintptr_t) args->buffers_ptr, - sizeof(*exec_list) * args->buffer_count); - if (ret != 0) { - DRM_ERROR("copy %d exec entries failed %d\n", - args->buffer_count, ret); - goto pre_mutex_err; - } if (args->num_cliprects != 0) { cliprects = kcalloc(args->num_cliprects, sizeof(*cliprects), GFP_KERNEL); - if (cliprects == NULL) + if (cliprects == NULL) { + ret = -ENOMEM; goto pre_mutex_err; + } ret = copy_from_user(cliprects, (struct drm_clip_rect __user *) @@ -3584,6 +3626,7 @@ if (ret != 0) { DRM_ERROR("copy %d cliprects failed: %d\n", args->num_cliprects, ret); + ret = -EFAULT; goto pre_mutex_err; } } @@ -3598,26 +3641,27 @@ i915_verify_inactive(dev, __FILE__, __LINE__); if (atomic_read(&dev_priv->mm.wedged)) { - DRM_ERROR("Execbuf while wedged\n"); mutex_unlock(&dev->struct_mutex); ret = -EIO; goto pre_mutex_err; } if (dev_priv->mm.suspended) { - DRM_ERROR("Execbuf while VT-switched.\n"); mutex_unlock(&dev->struct_mutex); ret = -EBUSY; goto pre_mutex_err; } /* Look up object handles */ + flips = 0; for (i = 0; i < args->buffer_count; i++) { object_list[i] = drm_gem_object_lookup(dev, file_priv, exec_list[i].handle); if (object_list[i] == NULL) { DRM_ERROR("Invalid object handle %d at index %d\n", exec_list[i].handle, i); + /* prevent error path from reading uninitialized data */ + args->buffer_count = i + 1; ret = -EBADF; goto err; } @@ -3626,10 +3670,20 @@ if (obj_priv->in_execbuffer) { DRM_ERROR("Object %p appears more than once in object list\n", object_list[i]); + /* prevent error path from reading uninitialized data */ + args->buffer_count = i + 1; ret = -EBADF; goto err; } obj_priv->in_execbuffer = true; + flips += atomic_read(&obj_priv->pending_flip); + } + + if (flips > 0) { + ret = i915_gem_wait_for_pending_flip(dev, object_list, + args->buffer_count); + if (ret) + goto err; } /* Pin and relocate */ @@ -3731,16 +3785,23 @@ i915_gem_flush(dev, dev->invalidate_domains, dev->flush_domains); - if (dev->flush_domains) + if (dev->flush_domains & I915_GEM_GPU_DOMAINS) (void)i915_add_request(dev, file_priv, dev->flush_domains); } for (i = 0; i < args->buffer_count; i++) { struct drm_gem_object *obj = object_list[i]; + struct drm_i915_gem_object *obj_priv = obj->driver_private; uint32_t old_write_domain = obj->write_domain; obj->write_domain = obj->pending_write_domain; + if (obj->write_domain) + list_move_tail(&obj_priv->gpu_write_list, + &dev_priv->mm.gpu_write_list); + else + list_del_init(&obj_priv->gpu_write_list); + trace_i915_gem_object_change_domain(obj, obj->read_domains, old_write_domain); @@ -3814,8 +3875,101 @@ mutex_unlock(&dev->struct_mutex); +pre_mutex_err: + /* Copy the updated relocations out regardless of current error + * state. Failure to update the relocs would mean that the next + * time userland calls execbuf, it would do so with presumed offset + * state that didn't match the actual object state. + */ + ret2 = i915_gem_put_relocs_to_user(exec_list, args->buffer_count, + relocs); + if (ret2 != 0) { + DRM_ERROR("Failed to copy relocations back out: %d\n", ret2); + + if (ret == 0) + ret = ret2; + } + + drm_free_large(object_list); + 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_priv) +{ + 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 WATCH_EXEC + DRM_INFO("buffers_ptr %d buffer_count %d len %08x\n", + (int) args->buffers_ptr, args->buffer_count, args->batch_len); +#endif + + if (args->buffer_count < 1) { + DRM_ERROR("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_ERROR("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, + (struct drm_i915_relocation_entry __user *) + (uintptr_t) args->buffers_ptr, + sizeof(*exec_list) * args->buffer_count); + if (ret != 0) { + DRM_ERROR("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 (!IS_I965G(dev)) + 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 = 0; + + ret = i915_gem_do_execbuffer(dev, data, file_priv, &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((struct drm_i915_relocation_entry __user *) (uintptr_t) args->buffers_ptr, exec_list, @@ -3828,25 +3982,62 @@ } } - /* Copy the updated relocations out regardless of current error - * state. Failure to update the relocs would mean that the next - * time userland calls execbuf, it would do so with presumed offset - * state that didn't match the actual object state. - */ - ret2 = i915_gem_put_relocs_to_user(exec_list, args->buffer_count, - relocs); - if (ret2 != 0) { - DRM_ERROR("Failed to copy relocations back out: %d\n", ret2); + drm_free_large(exec_list); + drm_free_large(exec2_list); + return ret; +} - if (ret == 0) - ret = ret2; +int +i915_gem_execbuffer2(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_i915_gem_execbuffer2 *args = data; + struct drm_i915_gem_exec_object2 *exec2_list = NULL; + int ret; + +#if WATCH_EXEC + DRM_INFO("buffers_ptr %d buffer_count %d len %08x\n", + (int) args->buffers_ptr, args->buffer_count, args->batch_len); +#endif + + if (args->buffer_count < 1) { + DRM_ERROR("execbuf2 with %d buffers\n", args->buffer_count); + return -EINVAL; } -pre_mutex_err: - drm_free_large(object_list); - drm_free_large(exec_list); - kfree(cliprects); + exec2_list = drm_malloc_ab(sizeof(*exec2_list), args->buffer_count); + if (exec2_list == NULL) { + DRM_ERROR("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_ERROR("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_priv, args, exec2_list); + if (!ret) { + /* Copy the new buffer offsets back to the user's exec list. */ + ret = copy_to_user((struct drm_i915_relocation_entry __user *) + (uintptr_t) args->buffers_ptr, + exec2_list, + sizeof(*exec2_list) * args->buffer_count); + if (ret) { + ret = -EFAULT; + DRM_ERROR("failed to copy %d exec entries " + "back to user (%d)\n", + args->buffer_count, ret); + } + } + drm_free_large(exec2_list); return ret; } @@ -3858,24 +4049,23 @@ int ret; i915_verify_inactive(dev, __FILE__, __LINE__); + + if (obj_priv->gtt_space != NULL) { + if (alignment == 0) + alignment = i915_gem_get_gtt_alignment(obj); + if (obj_priv->gtt_offset & (alignment - 1)) { + ret = i915_gem_object_unbind(obj); + if (ret) + return ret; + } + } + if (obj_priv->gtt_space == NULL) { ret = i915_gem_object_bind_to_gtt(obj, alignment); if (ret) return ret; } - /* - * Pre-965 chips need a fence register set up in order to - * properly handle tiled surfaces. - */ - if (!IS_I965G(dev) && obj_priv->tiling_mode != I915_TILING_NONE) { - ret = i915_gem_object_get_fence_reg(obj); - if (ret != 0) { - if (ret != -EBUSY && ret != -ERESTARTSYS) - DRM_ERROR("Failure to install fence: %d\n", - ret); - return ret; - } - } + obj_priv->pin_count++; /* If the object is not active and not pending a flush, @@ -4133,6 +4323,7 @@ obj_priv->obj = obj; obj_priv->fence_reg = I915_FENCE_REG_NONE; INIT_LIST_HEAD(&obj_priv->list); + INIT_LIST_HEAD(&obj_priv->gpu_write_list); INIT_LIST_HEAD(&obj_priv->fence_list); obj_priv->madv = I915_MADV_WILLNEED; @@ -4164,30 +4355,6 @@ kfree(obj->driver_private); } -/** Unbinds all inactive objects. */ -static int -i915_gem_evict_from_inactive_list(struct drm_device *dev) -{ - drm_i915_private_t *dev_priv = dev->dev_private; - - while (!list_empty(&dev_priv->mm.inactive_list)) { - struct drm_gem_object *obj; - int ret; - - obj = list_first_entry(&dev_priv->mm.inactive_list, - struct drm_i915_gem_object, - list)->obj; - - ret = i915_gem_object_unbind(obj); - if (ret != 0) { - DRM_ERROR("Error unbinding object: %d\n", ret); - return ret; - } - } - - return 0; -} - int i915_gem_idle(struct drm_device *dev) { @@ -4301,7 +4468,7 @@ /* Move all inactive buffers out of the GTT. */ - ret = i915_gem_evict_from_inactive_list(dev); + ret = i915_gem_evict_inactive(dev); WARN_ON(!list_empty(&dev_priv->mm.inactive_list)); if (ret) { mutex_unlock(&dev->struct_mutex); @@ -4314,6 +4481,49 @@ return 0; } +/* + * 965+ support PIPE_CONTROL commands, which provide finer grained control + * over cache flushing. + */ +static int +i915_gem_init_pipe_control(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_gem_object *obj; + struct drm_i915_gem_object *obj_priv; + int ret; + + obj = drm_gem_object_alloc(dev, 4096); + if (obj == NULL) { + DRM_ERROR("Failed to allocate seqno page\n"); + ret = -ENOMEM; + goto err; + } + obj_priv = obj->driver_private; + obj_priv->agp_type = AGP_USER_CACHED_MEMORY; + + ret = i915_gem_object_pin(obj, 4096); + if (ret) + goto err_unref; + + dev_priv->seqno_gfx_addr = obj_priv->gtt_offset; + dev_priv->seqno_page = kmap(obj_priv->pages[0]); + if (dev_priv->seqno_page == NULL) + goto err_unpin; + + dev_priv->seqno_obj = obj; + memset(dev_priv->seqno_page, 0, PAGE_SIZE); + + return 0; + +err_unpin: + i915_gem_object_unpin(obj); +err_unref: + drm_gem_object_unreference(obj); +err: + return ret; +} + static int i915_gem_init_hws(struct drm_device *dev) { @@ -4331,7 +4541,8 @@ obj = drm_gem_object_alloc(dev, 4096); if (obj == NULL) { DRM_ERROR("Failed to allocate status page\n"); - return -ENOMEM; + ret = -ENOMEM; + goto err; } obj_priv = obj->driver_private; obj_priv->agp_type = AGP_USER_CACHED_MEMORY; @@ -4339,7 +4550,7 @@ ret = i915_gem_object_pin(obj, 4096); if (ret != 0) { drm_gem_object_unreference(obj); - return ret; + goto err_unref; } dev_priv->status_gfx_addr = obj_priv->gtt_offset; @@ -4348,17 +4559,47 @@ if (dev_priv->hw_status_page == NULL) { DRM_ERROR("Failed to map status page.\n"); memset(&dev_priv->hws_map, 0, sizeof(dev_priv->hws_map)); - i915_gem_object_unpin(obj); - drm_gem_object_unreference(obj); - return -EINVAL; + ret = -EINVAL; + goto err_unpin; } + + if (HAS_PIPE_CONTROL(dev)) { + ret = i915_gem_init_pipe_control(dev); + if (ret) + goto err_unpin; + } + dev_priv->hws_obj = obj; memset(dev_priv->hw_status_page, 0, PAGE_SIZE); I915_WRITE(HWS_PGA, dev_priv->status_gfx_addr); I915_READ(HWS_PGA); /* posting read */ - DRM_DEBUG("hws offset: 0x%08x\n", dev_priv->status_gfx_addr); + DRM_DEBUG_DRIVER("hws offset: 0x%08x\n", dev_priv->status_gfx_addr); return 0; + +err_unpin: + i915_gem_object_unpin(obj); +err_unref: + drm_gem_object_unreference(obj); +err: + return 0; +} + +static void +i915_gem_cleanup_pipe_control(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_gem_object *obj; + struct drm_i915_gem_object *obj_priv; + + obj = dev_priv->seqno_obj; + obj_priv = obj->driver_private; + kunmap(obj_priv->pages[0]); + i915_gem_object_unpin(obj); + drm_gem_object_unreference(obj); + dev_priv->seqno_obj = NULL; + + dev_priv->seqno_page = NULL; } static void @@ -4382,6 +4623,9 @@ memset(&dev_priv->hws_map, 0, sizeof(dev_priv->hws_map)); dev_priv->hw_status_page = NULL; + if (HAS_PIPE_CONTROL(dev)) + i915_gem_cleanup_pipe_control(dev); + /* Write high address into HWS_PGA when disabling. */ I915_WRITE(HWS_PGA, 0x1ffff000); } @@ -4584,6 +4828,7 @@ spin_lock_init(&dev_priv->mm.active_list_lock); INIT_LIST_HEAD(&dev_priv->mm.active_list); INIT_LIST_HEAD(&dev_priv->mm.flushing_list); + INIT_LIST_HEAD(&dev_priv->mm.gpu_write_list); INIT_LIST_HEAD(&dev_priv->mm.inactive_list); INIT_LIST_HEAD(&dev_priv->mm.request_list); INIT_LIST_HEAD(&dev_priv->mm.fence_list); @@ -4595,6 +4840,16 @@ list_add(&dev_priv->mm.shrink_list, &shrink_list); spin_unlock(&shrink_list_lock); + /* On GEN3 we really need to make sure the ARB C3 LP bit is set */ + if (IS_GEN3(dev)) { + u32 tmp = I915_READ(MI_ARB_STATE); + if (!(tmp & MI_ARB_C3_LP_WRITE_ENABLE)) { + /* arb state is a masked write, so set bit + bit in mask */ + tmp = MI_ARB_C3_LP_WRITE_ENABLE | (MI_ARB_C3_LP_WRITE_ENABLE << MI_ARB_MASK_SHIFT); + I915_WRITE(MI_ARB_STATE, tmp); + } + } + /* Old X drivers will take 0-2 for front, back, depth buffers */ dev_priv->fence_reg_start = 3; @@ -4614,8 +4869,8 @@ for (i = 0; i < 8; i++) I915_WRITE(FENCE_REG_945_8 + (i * 4), 0); } - i915_gem_detect_bit_6_swizzle(dev); + init_waitqueue_head(&dev_priv->pending_flip_queue); } /* @@ -4638,7 +4893,7 @@ phys_obj->id = id; - phys_obj->handle = drm_pci_alloc(dev, size, 0, 0xffffffff); + phys_obj->handle = drm_pci_alloc(dev, size, 0); if (!phys_obj->handle) { ret = -ENOMEM; goto kfree_obj; @@ -4696,7 +4951,7 @@ if (!obj_priv->phys_obj) return; - ret = i915_gem_object_get_pages(obj); + ret = i915_gem_object_get_pages(obj, 0); if (ret) goto out; @@ -4754,7 +5009,7 @@ obj_priv->phys_obj = dev_priv->mm.phys_objs[id - 1]; obj_priv->phys_obj->cur_obj = obj; - ret = i915_gem_object_get_pages(obj); + ret = i915_gem_object_get_pages(obj, 0); if (ret) { DRM_ERROR("failed to get page list\n"); goto out; @@ -4790,7 +5045,7 @@ user_data = (char __user *) (uintptr_t) args->data_ptr; obj_addr = obj_priv->phys_obj->handle->vaddr + args->offset; - DRM_DEBUG("obj_addr %p, %lld\n", obj_addr, args->size); + DRM_DEBUG_DRIVER("obj_addr %p, %lld\n", obj_addr, args->size); ret = copy_from_user(obj_addr, user_data, args->size); if (ret) return -EFAULT; --- linux-2.6.32.orig/drivers/gpu/drm/i915/i915_ioc32.c +++ linux-2.6.32/drivers/gpu/drm/i915/i915_ioc32.c @@ -66,8 +66,7 @@ &batchbuffer->cliprects)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_I915_BATCHBUFFER, + return drm_ioctl(file, DRM_IOCTL_I915_BATCHBUFFER, (unsigned long)batchbuffer); } @@ -102,8 +101,8 @@ &cmdbuffer->cliprects)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_I915_CMDBUFFER, (unsigned long)cmdbuffer); + return drm_ioctl(file, DRM_IOCTL_I915_CMDBUFFER, + (unsigned long)cmdbuffer); } typedef struct drm_i915_irq_emit32 { @@ -125,8 +124,8 @@ &request->irq_seq)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_I915_IRQ_EMIT, (unsigned long)request); + return drm_ioctl(file, DRM_IOCTL_I915_IRQ_EMIT, + (unsigned long)request); } typedef struct drm_i915_getparam32 { int param; @@ -149,8 +148,8 @@ &request->value)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_I915_GETPARAM, (unsigned long)request); + return drm_ioctl(file, DRM_IOCTL_I915_GETPARAM, + (unsigned long)request); } typedef struct drm_i915_mem_alloc32 { @@ -178,8 +177,8 @@ &request->region_offset)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_I915_ALLOC, (unsigned long)request); + return drm_ioctl(file, DRM_IOCTL_I915_ALLOC, + (unsigned long)request); } drm_ioctl_compat_t *i915_compat_ioctls[] = { @@ -211,12 +210,10 @@ if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(i915_compat_ioctls)) fn = i915_compat_ioctls[nr - DRM_COMMAND_BASE]; - lock_kernel(); /* XXX for now */ if (fn != NULL) ret = (*fn) (filp, cmd, arg); else - ret = drm_ioctl(filp->f_path.dentry->d_inode, filp, cmd, arg); - unlock_kernel(); + ret = drm_ioctl(filp, cmd, arg); return ret; } --- linux-2.6.32.orig/drivers/gpu/drm/i915/i915_gem_tiling.c +++ linux-2.6.32/drivers/gpu/drm/i915/i915_gem_tiling.c @@ -121,7 +121,7 @@ 0, pcibios_align_resource, dev_priv->bridge_dev); if (ret) { - DRM_DEBUG("failed bus alloc: %d\n", ret); + DRM_DEBUG_DRIVER("failed bus alloc: %d\n", ret); dev_priv->mch_res.start = 0; goto out; } @@ -209,8 +209,8 @@ uint32_t swizzle_y = I915_BIT_6_SWIZZLE_UNKNOWN; bool need_disable; - if (IS_IGDNG(dev)) { - /* On IGDNG whatever DRAM config, GPU always do + if (IS_IRONLAKE(dev) || IS_GEN6(dev)) { + /* On Ironlake whatever DRAM config, GPU always do * same swizzling setup. */ swizzle_x = I915_BIT_6_SWIZZLE_9_10; @@ -304,35 +304,39 @@ /** - * Returns the size of the fence for a tiled object of the given size. + * Returns whether an object is currently fenceable. If not, it may need + * to be unbound and have its pitch adjusted. */ -static int -i915_get_fence_size(struct drm_device *dev, int size) +bool +i915_obj_fenceable(struct drm_device *dev, struct drm_gem_object *obj) { - int i; - int start; + struct drm_i915_gem_object *obj_priv = obj->driver_private; if (IS_I965G(dev)) { /* The 965 can have fences at any page boundary. */ - return ALIGN(size, 4096); + if (obj->size & 4095) + return false; + return true; + } else if (IS_I9XX(dev)) { + if (obj_priv->gtt_offset & ~I915_FENCE_START_MASK) + return false; } else { - /* Align the size to a power of two greater than the smallest - * fence size. - */ - if (IS_I9XX(dev)) - start = 1024 * 1024; - else - start = 512 * 1024; + if (obj_priv->gtt_offset & ~I830_FENCE_START_MASK) + return false; + } - for (i = start; i < size; i <<= 1) - ; + /* Power of two sized... */ + if (obj->size & (obj->size - 1)) + return false; - return i; - } + /* Objects must be size aligned as well */ + if (obj_priv->gtt_offset & (obj->size - 1)) + return false; + return true; } /* Check pitch constriants for all chips & tiling formats */ -static bool +bool i915_tiling_ok(struct drm_device *dev, int stride, int size, int tiling_mode) { int tile_width; @@ -353,21 +357,17 @@ * reg, so dont bother to check the size */ if (stride / 128 > I965_FENCE_MAX_PITCH_VAL) return false; - } else if (IS_I9XX(dev)) { - uint32_t pitch_val = ffs(stride / tile_width) - 1; - - /* XXX: For Y tiling, FENCE_MAX_PITCH_VAL is actually 6 (8KB) - * instead of 4 (2KB) on 945s. - */ - if (pitch_val > I915_FENCE_MAX_PITCH_VAL || - size > (I830_FENCE_MAX_SIZE_VAL << 20)) + } else if (IS_GEN3(dev) || IS_GEN2(dev)) { + if (stride > 8192) return false; - } else { - uint32_t pitch_val = ffs(stride / tile_width) - 1; - if (pitch_val > I830_FENCE_MAX_PITCH_VAL || - size > (I830_FENCE_MAX_SIZE_VAL << 19)) - 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 */ @@ -384,12 +384,6 @@ if (stride & (stride - 1)) return false; - /* We don't 0handle the aperture area covered by the fence being bigger - * than the object size. - */ - if (i915_get_fence_size(dev, size) != size) - return false; - return true; } --- linux-2.6.32.orig/drivers/gpu/drm/i915/i915_irq.c +++ linux-2.6.32/drivers/gpu/drm/i915/i915_irq.c @@ -43,10 +43,13 @@ * we leave them always unmasked in IMR and then control enabling them through * PIPESTAT alone. */ -#define I915_INTERRUPT_ENABLE_FIX (I915_ASLE_INTERRUPT | \ - I915_DISPLAY_PIPE_A_EVENT_INTERRUPT | \ - I915_DISPLAY_PIPE_B_EVENT_INTERRUPT | \ - I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT) +#define I915_INTERRUPT_ENABLE_FIX \ + (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) /** Interrupts that we mask and unmask at runtime. */ #define I915_INTERRUPT_ENABLE_VAR (I915_USER_INTERRUPT) @@ -61,7 +64,7 @@ DRM_I915_VBLANK_PIPE_B) void -igdng_enable_graphics_irq(drm_i915_private_t *dev_priv, u32 mask) +ironlake_enable_graphics_irq(drm_i915_private_t *dev_priv, u32 mask) { if ((dev_priv->gt_irq_mask_reg & mask) != 0) { dev_priv->gt_irq_mask_reg &= ~mask; @@ -71,7 +74,7 @@ } static inline void -igdng_disable_graphics_irq(drm_i915_private_t *dev_priv, u32 mask) +ironlake_disable_graphics_irq(drm_i915_private_t *dev_priv, u32 mask) { if ((dev_priv->gt_irq_mask_reg & mask) != mask) { dev_priv->gt_irq_mask_reg |= mask; @@ -82,7 +85,7 @@ /* For display hotplug interrupt */ void -igdng_enable_display_irq(drm_i915_private_t *dev_priv, u32 mask) +ironlake_enable_display_irq(drm_i915_private_t *dev_priv, u32 mask) { if ((dev_priv->irq_mask_reg & mask) != 0) { dev_priv->irq_mask_reg &= ~mask; @@ -92,7 +95,7 @@ } static inline void -igdng_disable_display_irq(drm_i915_private_t *dev_priv, u32 mask) +ironlake_disable_display_irq(drm_i915_private_t *dev_priv, u32 mask) { if ((dev_priv->irq_mask_reg & mask) != mask) { dev_priv->irq_mask_reg |= mask; @@ -157,6 +160,20 @@ } /** + * intel_enable_asle - enable ASLE interrupt for OpRegion + */ +void intel_enable_asle (struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + + if (IS_IRONLAKE(dev)) + ironlake_enable_display_irq(dev_priv, DE_GSE); + else + i915_enable_pipestat(dev_priv, 1, + I915_LEGACY_BLC_EVENT_ENABLE); +} + +/** * i915_pipe_enabled - check if a pipe is enabled * @dev: DRM device * @pipe: pipe to check @@ -191,7 +208,8 @@ low_frame = pipe ? PIPEBFRAMEPIXEL : PIPEAFRAMEPIXEL; if (!i915_pipe_enabled(dev, pipe)) { - DRM_DEBUG("trying to get vblank count for disabled pipe %d\n", pipe); + DRM_DEBUG_DRIVER("trying to get vblank count for disabled " + "pipe %d\n", pipe); return 0; } @@ -220,7 +238,8 @@ int reg = pipe ? PIPEB_FRMCOUNT_GM45 : PIPEA_FRMCOUNT_GM45; if (!i915_pipe_enabled(dev, pipe)) { - DRM_DEBUG("trying to get vblank count for disabled pipe %d\n", pipe); + DRM_DEBUG_DRIVER("trying to get vblank count for disabled " + "pipe %d\n", pipe); return 0; } @@ -250,12 +269,11 @@ drm_sysfs_hotplug_event(dev); } -irqreturn_t igdng_irq_handler(struct drm_device *dev) +irqreturn_t ironlake_irq_handler(struct drm_device *dev) { drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; int ret = IRQ_NONE; - u32 de_iir, gt_iir, de_ier; - u32 new_de_iir, new_gt_iir; + u32 de_iir, gt_iir, de_ier, pch_iir; struct drm_i915_master_private *master_priv; /* disable master interrupt before clearing iir */ @@ -265,36 +283,60 @@ de_iir = I915_READ(DEIIR); gt_iir = I915_READ(GTIIR); + pch_iir = I915_READ(SDEIIR); - for (;;) { - if (de_iir == 0 && gt_iir == 0) - break; + if (de_iir == 0 && gt_iir == 0 && pch_iir == 0) + goto done; - ret = IRQ_HANDLED; + ret = IRQ_HANDLED; - I915_WRITE(DEIIR, de_iir); - new_de_iir = I915_READ(DEIIR); - I915_WRITE(GTIIR, gt_iir); - new_gt_iir = I915_READ(GTIIR); + 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); + } - 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); - } + if (gt_iir & GT_PIPE_NOTIFY) { + u32 seqno = i915_get_gem_seqno(dev); + dev_priv->mm.irq_gem_seqno = seqno; + trace_i915_gem_request_complete(dev, seqno); + DRM_WAKEUP(&dev_priv->irq_queue); + dev_priv->hangcheck_count = 0; + mod_timer(&dev_priv->hangcheck_timer, jiffies + DRM_I915_HANGCHECK_PERIOD); + } - if (gt_iir & GT_USER_INTERRUPT) { - u32 seqno = i915_get_gem_seqno(dev); - dev_priv->mm.irq_gem_seqno = seqno; - trace_i915_gem_request_complete(dev, seqno); - DRM_WAKEUP(&dev_priv->irq_queue); - } + if (de_iir & DE_GSE) + ironlake_opregion_gse_intr(dev); + + if (de_iir & DE_PLANEA_FLIP_DONE) { + intel_prepare_page_flip(dev, 0); + intel_finish_page_flip(dev, 0); + } + + if (de_iir & DE_PLANEB_FLIP_DONE) { + intel_prepare_page_flip(dev, 1); + intel_finish_page_flip(dev, 1); + } + + if (de_iir & DE_PIPEA_VBLANK) + drm_handle_vblank(dev, 0); + + if (de_iir & DE_PIPEB_VBLANK) + drm_handle_vblank(dev, 1); - de_iir = new_de_iir; - gt_iir = new_gt_iir; + /* check event from PCH */ + if ((de_iir & DE_PCH_EVENT) && + (pch_iir & SDE_HOTPLUG_MASK)) { + queue_work(dev_priv->wq, &dev_priv->hotplug_work); } + /* should clear PCH hotplug event before clear CPU irq */ + I915_WRITE(SDEIIR, pch_iir); + I915_WRITE(GTIIR, gt_iir); + I915_WRITE(DEIIR, de_iir); + +done: I915_WRITE(DEIER, de_ier); (void)I915_READ(DEIER); @@ -317,19 +359,19 @@ char *reset_event[] = { "RESET=1", NULL }; char *reset_done_event[] = { "ERROR=0", NULL }; - DRM_DEBUG("generating error event\n"); + DRM_DEBUG_DRIVER("generating error event\n"); kobject_uevent_env(&dev->primary->kdev.kobj, KOBJ_CHANGE, error_event); if (atomic_read(&dev_priv->mm.wedged)) { if (IS_I965G(dev)) { - DRM_DEBUG("resetting chip\n"); + DRM_DEBUG_DRIVER("resetting chip\n"); kobject_uevent_env(&dev->primary->kdev.kobj, KOBJ_CHANGE, reset_event); if (!i965_reset(dev, GDRST_RENDER)) { atomic_set(&dev_priv->mm.wedged, 0); kobject_uevent_env(&dev->primary->kdev.kobj, KOBJ_CHANGE, reset_done_event); } } else { - printk("reboot required\n"); + DRM_DEBUG_DRIVER("reboot required\n"); } } } @@ -355,7 +397,7 @@ error = kmalloc(sizeof(*error), GFP_ATOMIC); if (!error) { - DRM_DEBUG("out ot memory, not capturing error state\n"); + DRM_DEBUG_DRIVER("out ot memory, not capturing error state\n"); goto out; } @@ -512,7 +554,6 @@ /* * Wakeup waiting processes so they don't hang */ - printk("i915: Waking up sleeping processes\n"); DRM_WAKEUP(&dev_priv->irq_queue); } @@ -535,8 +576,8 @@ atomic_inc(&dev_priv->irq_received); - if (IS_IGDNG(dev)) - return igdng_irq_handler(dev); + if (HAS_PCH_SPLIT(dev)) + return ironlake_irq_handler(dev); iir = I915_READ(IIR); @@ -568,14 +609,14 @@ */ if (pipea_stats & 0x8000ffff) { if (pipea_stats & PIPE_FIFO_UNDERRUN_STATUS) - DRM_DEBUG("pipe a underrun\n"); + DRM_DEBUG_DRIVER("pipe a underrun\n"); I915_WRITE(PIPEASTAT, pipea_stats); irq_received = 1; } if (pipeb_stats & 0x8000ffff) { if (pipeb_stats & PIPE_FIFO_UNDERRUN_STATUS) - DRM_DEBUG("pipe b underrun\n"); + DRM_DEBUG_DRIVER("pipe b underrun\n"); I915_WRITE(PIPEBSTAT, pipeb_stats); irq_received = 1; } @@ -591,7 +632,7 @@ (iir & I915_DISPLAY_PORT_INTERRUPT)) { u32 hotplug_status = I915_READ(PORT_HOTPLUG_STAT); - DRM_DEBUG("hotplug event received, stat 0x%08x\n", + 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, @@ -599,27 +640,6 @@ I915_WRITE(PORT_HOTPLUG_STAT, hotplug_status); I915_READ(PORT_HOTPLUG_STAT); - - /* EOS interrupts occurs */ - if (IS_IGD(dev) && - (hotplug_status & CRT_EOS_INT_STATUS)) { - u32 temp; - - DRM_DEBUG("EOS interrupt occurs\n"); - /* status is already cleared */ - temp = I915_READ(ADPA); - temp &= ~ADPA_DAC_ENABLE; - I915_WRITE(ADPA, temp); - - temp = I915_READ(PORT_HOTPLUG_EN); - temp &= ~CRT_EOS_INT_EN; - I915_WRITE(PORT_HOTPLUG_EN, temp); - - temp = I915_READ(PORT_HOTPLUG_STAT); - if (temp & CRT_EOS_INT_STATUS) - I915_WRITE(PORT_HOTPLUG_STAT, - CRT_EOS_INT_STATUS); - } } I915_WRITE(IIR, iir); @@ -641,14 +661,30 @@ mod_timer(&dev_priv->hangcheck_timer, jiffies + DRM_I915_HANGCHECK_PERIOD); } + if (iir & I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT) { + intel_prepare_page_flip(dev, 0); + if (dev_priv->flip_pending_is_done) + intel_finish_page_flip_plane(dev, 0); + } + + if (iir & I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT) { + if (dev_priv->flip_pending_is_done) + intel_finish_page_flip_plane(dev, 1); + intel_prepare_page_flip(dev, 1); + } + if (pipea_stats & vblank_status) { vblank++; drm_handle_vblank(dev, 0); + if (!dev_priv->flip_pending_is_done) + intel_finish_page_flip(dev, 0); } if (pipeb_stats & vblank_status) { vblank++; drm_handle_vblank(dev, 1); + if (!dev_priv->flip_pending_is_done) + intel_finish_page_flip(dev, 1); } if ((pipeb_stats & I915_LEGACY_BLC_EVENT_STATUS) || @@ -684,7 +720,7 @@ i915_kernel_lost_context(dev); - DRM_DEBUG("\n"); + DRM_DEBUG_DRIVER("\n"); dev_priv->counter++; if (dev_priv->counter > 0x7FFFFFFFUL) @@ -709,8 +745,8 @@ spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags); if (dev->irq_enabled && (++dev_priv->user_irq_refcount == 1)) { - if (IS_IGDNG(dev)) - igdng_enable_graphics_irq(dev_priv, GT_USER_INTERRUPT); + if (HAS_PCH_SPLIT(dev)) + ironlake_enable_graphics_irq(dev_priv, GT_PIPE_NOTIFY); else i915_enable_irq(dev_priv, I915_USER_INTERRUPT); } @@ -725,8 +761,8 @@ spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags); BUG_ON(dev->irq_enabled && dev_priv->user_irq_refcount <= 0); if (dev->irq_enabled && (--dev_priv->user_irq_refcount == 0)) { - if (IS_IGDNG(dev)) - igdng_disable_graphics_irq(dev_priv, GT_USER_INTERRUPT); + if (HAS_PCH_SPLIT(dev)) + ironlake_disable_graphics_irq(dev_priv, GT_PIPE_NOTIFY); else i915_disable_irq(dev_priv, I915_USER_INTERRUPT); } @@ -749,7 +785,7 @@ struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv; int ret = 0; - DRM_DEBUG("irq_nr=%d breadcrumb=%d\n", irq_nr, + DRM_DEBUG_DRIVER("irq_nr=%d breadcrumb=%d\n", irq_nr, READ_BREADCRUMB(dev_priv)); if (READ_BREADCRUMB(dev_priv) >= irq_nr) { @@ -832,11 +868,11 @@ if (!(pipeconf & PIPEACONF_ENABLE)) return -EINVAL; - if (IS_IGDNG(dev)) - return 0; - spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags); - if (IS_I965G(dev)) + if (HAS_PCH_SPLIT(dev)) + ironlake_enable_display_irq(dev_priv, (pipe == 0) ? + DE_PIPEA_VBLANK: DE_PIPEB_VBLANK); + else if (IS_I965G(dev)) i915_enable_pipestat(dev_priv, pipe, PIPE_START_VBLANK_INTERRUPT_ENABLE); else @@ -854,13 +890,14 @@ drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; unsigned long irqflags; - if (IS_IGDNG(dev)) - return; - spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags); - i915_disable_pipestat(dev_priv, pipe, - PIPE_VBLANK_INTERRUPT_ENABLE | - PIPE_START_VBLANK_INTERRUPT_ENABLE); + if (HAS_PCH_SPLIT(dev)) + ironlake_disable_display_irq(dev_priv, (pipe == 0) ? + DE_PIPEA_VBLANK: DE_PIPEB_VBLANK); + else + i915_disable_pipestat(dev_priv, pipe, + PIPE_VBLANK_INTERRUPT_ENABLE | + PIPE_START_VBLANK_INTERRUPT_ENABLE); spin_unlock_irqrestore(&dev_priv->user_irq_lock, irqflags); } @@ -868,7 +905,7 @@ { struct drm_i915_private *dev_priv = dev->dev_private; - if (!IS_IGDNG(dev)) + if (!HAS_PCH_SPLIT(dev)) opregion_enable_asle(dev); dev_priv->irq_enabled = 1; } @@ -976,7 +1013,7 @@ /* drm_dma.h hooks */ -static void igdng_irq_preinstall(struct drm_device *dev) +static void ironlake_irq_preinstall(struct drm_device *dev) { drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; @@ -992,17 +1029,25 @@ I915_WRITE(GTIMR, 0xffffffff); I915_WRITE(GTIER, 0x0); (void) I915_READ(GTIER); + + /* south display irq */ + I915_WRITE(SDEIMR, 0xffffffff); + I915_WRITE(SDEIER, 0x0); + (void) I915_READ(SDEIER); } -static int igdng_irq_postinstall(struct drm_device *dev) +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_PCH_EVENT */; - u32 render_mask = GT_USER_INTERRUPT; + u32 display_mask = DE_MASTER_IRQ_CONTROL | DE_GSE | DE_PCH_EVENT | + DE_PLANEA_FLIP_DONE | DE_PLANEB_FLIP_DONE; + u32 render_mask = GT_PIPE_NOTIFY; + u32 hotplug_mask = SDE_CRT_HOTPLUG | SDE_PORTB_HOTPLUG | + SDE_PORTC_HOTPLUG | SDE_PORTD_HOTPLUG; dev_priv->irq_mask_reg = ~display_mask; - dev_priv->de_irq_enable_reg = display_mask; + dev_priv->de_irq_enable_reg = display_mask | DE_PIPEA_VBLANK | DE_PIPEB_VBLANK; /* should always can generate irq */ I915_WRITE(DEIIR, I915_READ(DEIIR)); @@ -1019,6 +1064,14 @@ I915_WRITE(GTIER, dev_priv->gt_irq_enable_reg); (void) I915_READ(GTIER); + dev_priv->pch_irq_mask_reg = ~hotplug_mask; + dev_priv->pch_irq_enable_reg = hotplug_mask; + + I915_WRITE(SDEIIR, I915_READ(SDEIIR)); + I915_WRITE(SDEIMR, dev_priv->pch_irq_mask_reg); + I915_WRITE(SDEIER, dev_priv->pch_irq_enable_reg); + (void) I915_READ(SDEIER); + return 0; } @@ -1031,8 +1084,8 @@ INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func); INIT_WORK(&dev_priv->error_work, i915_error_work_func); - if (IS_IGDNG(dev)) { - igdng_irq_preinstall(dev); + if (HAS_PCH_SPLIT(dev)) { + ironlake_irq_preinstall(dev); return; } @@ -1049,6 +1102,10 @@ (void) I915_READ(IER); } +/* + * Must be called after intel_modeset_init or hotplug interrupts won't be + * enabled correctly. + */ int i915_driver_irq_postinstall(struct drm_device *dev) { drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; @@ -1059,8 +1116,8 @@ dev_priv->vblank_pipe = DRM_I915_VBLANK_PIPE_A | DRM_I915_VBLANK_PIPE_B; - if (IS_IGDNG(dev)) - return igdng_irq_postinstall(dev); + if (HAS_PCH_SPLIT(dev)) + return ironlake_irq_postinstall(dev); /* Unmask the interrupts that we always want on. */ dev_priv->irq_mask_reg = ~I915_INTERRUPT_ENABLE_FIX; @@ -1071,19 +1128,23 @@ if (I915_HAS_HOTPLUG(dev)) { u32 hotplug_en = I915_READ(PORT_HOTPLUG_EN); - /* Leave other bits alone */ - hotplug_en |= HOTPLUG_EN_MASK; + /* 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) + hotplug_en |= SDVOC_HOTPLUG_INT_EN; + if (dev_priv->hotplug_supported_mask & SDVOB_HOTPLUG_INT_STATUS) + hotplug_en |= SDVOB_HOTPLUG_INT_EN; + if (dev_priv->hotplug_supported_mask & CRT_HOTPLUG_INT_STATUS) + hotplug_en |= CRT_HOTPLUG_INT_EN; + /* Ignore TV since it's buggy */ + I915_WRITE(PORT_HOTPLUG_EN, hotplug_en); - dev_priv->hotplug_supported_mask = CRT_HOTPLUG_INT_STATUS | - TV_HOTPLUG_INT_STATUS | SDVOC_HOTPLUG_INT_STATUS | - SDVOB_HOTPLUG_INT_STATUS; - if (IS_G4X(dev)) { - dev_priv->hotplug_supported_mask |= - HDMIB_HOTPLUG_INT_STATUS | - HDMIC_HOTPLUG_INT_STATUS | - HDMID_HOTPLUG_INT_STATUS; - } /* Enable in IER... */ enable_mask |= I915_DISPLAY_PORT_INTERRUPT; /* and unmask in IMR */ @@ -1120,7 +1181,7 @@ return 0; } -static void igdng_irq_uninstall(struct drm_device *dev) +static void ironlake_irq_uninstall(struct drm_device *dev) { drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; I915_WRITE(HWSTAM, 0xffffffff); @@ -1143,8 +1204,8 @@ dev_priv->vblank_pipe = 0; - if (IS_IGDNG(dev)) { - igdng_irq_uninstall(dev); + if (HAS_PCH_SPLIT(dev)) { + ironlake_irq_uninstall(dev); return; } --- linux-2.6.32.orig/drivers/gpu/drm/i915/i915_debugfs.c +++ linux-2.6.32/drivers/gpu/drm/i915/i915_debugfs.c @@ -27,6 +27,7 @@ */ #include +#include #include "drmP.h" #include "drm.h" #include "i915_drm.h" @@ -96,13 +97,14 @@ { struct drm_gem_object *obj = obj_priv->obj; - seq_printf(m, " %p: %s %8zd %08x %08x %d %s", + seq_printf(m, " %p: %s %8zd %08x %08x %d%s%s", obj, get_pin_flag(obj_priv), obj->size, obj->read_domains, obj->write_domain, obj_priv->last_rendering_seqno, - obj_priv->dirty ? "dirty" : ""); + obj_priv->dirty ? " dirty" : "", + obj_priv->madv == I915_MADV_DONTNEED ? " purgeable" : ""); if (obj->name) seq_printf(m, " (name: %d)", obj->name); @@ -160,7 +162,7 @@ struct drm_device *dev = node->minor->dev; drm_i915_private_t *dev_priv = dev->dev_private; - if (!IS_IGDNG(dev)) { + if (!HAS_PCH_SPLIT(dev)) { seq_printf(m, "Interrupt enable: %08x\n", I915_READ(IER)); seq_printf(m, "Interrupt identity: %08x\n", @@ -270,7 +272,7 @@ mem = kmap_atomic(pages[page], KM_USER0); for (i = 0; i < PAGE_SIZE; i += 4) seq_printf(m, "%08x : %08x\n", i, mem[i / 4]); - kunmap_atomic(pages[page], KM_USER0); + kunmap_atomic(mem, KM_USER0); } } @@ -288,7 +290,7 @@ list_for_each_entry(obj_priv, &dev_priv->mm.active_list, list) { obj = obj_priv->obj; if (obj->read_domains & I915_GEM_DOMAIN_COMMAND) { - ret = i915_gem_object_get_pages(obj); + ret = i915_gem_object_get_pages(obj, 0); if (ret) { DRM_ERROR("Failed to get pages: %d\n", ret); spin_unlock(&dev_priv->mm.active_list_lock); @@ -384,37 +386,111 @@ return 0; } -static int i915_registers_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; +static int +i915_wedged_open(struct inode *inode, + struct file *filp) +{ + filp->private_data = inode->i_private; + 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)); + + 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; drm_i915_private_t *dev_priv = dev->dev_private; - uint32_t reg; + 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); -#define DUMP_RANGE(start, end) \ - for (reg=start; reg < end; reg += 4) \ - seq_printf(m, "%08x\t%08x\n", reg, I915_READ(reg)); - - DUMP_RANGE(0x00000, 0x00fff); /* VGA registers */ - DUMP_RANGE(0x02000, 0x02fff); /* instruction, memory, interrupt control registers */ - DUMP_RANGE(0x03000, 0x031ff); /* FENCE and PPGTT control registers */ - DUMP_RANGE(0x03200, 0x03fff); /* frame buffer compression registers */ - DUMP_RANGE(0x05000, 0x05fff); /* I/O control registers */ - DUMP_RANGE(0x06000, 0x06fff); /* clock control registers */ - DUMP_RANGE(0x07000, 0x07fff); /* 3D internal debug registers */ - DUMP_RANGE(0x07400, 0x088ff); /* GPE debug registers */ - DUMP_RANGE(0x0a000, 0x0afff); /* display palette registers */ - DUMP_RANGE(0x10000, 0x13fff); /* MMIO MCHBAR */ - DUMP_RANGE(0x30000, 0x3ffff); /* overlay registers */ - DUMP_RANGE(0x60000, 0x6ffff); /* display engine pipeline registers */ - DUMP_RANGE(0x70000, 0x72fff); /* display and cursor registers */ - DUMP_RANGE(0x73000, 0x73fff); /* performance counters */ + atomic_set(&dev_priv->mm.wedged, val); + if (val) { + DRM_WAKEUP(&dev_priv->irq_queue); + queue_work(dev_priv->wq, &dev_priv->error_work); + } + + return cnt; +} + +static const struct file_operations i915_wedged_fops = { + .owner = THIS_MODULE, + .open = i915_wedged_open, + .read = i915_wedged_read, + .write = i915_wedged_write, +}; + +/* 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; + list_add(&node->list, &minor->debugfs_nodes.list); return 0; } +static int i915_wedged_create(struct dentry *root, struct drm_minor *minor) +{ + struct drm_device *dev = minor->dev; + struct dentry *ent; + + ent = debugfs_create_file("i915_wedged", + S_IRUGO | S_IWUSR, + root, dev, + &i915_wedged_fops); + if (IS_ERR(ent)) + return PTR_ERR(ent); + + return drm_add_fake_info_node(minor, ent, &i915_wedged_fops); +} static struct drm_info_list i915_debugfs_list[] = { - {"i915_regs", i915_registers_info, 0}, {"i915_gem_active", i915_gem_object_list_info, 0, (void *) ACTIVE_LIST}, {"i915_gem_flushing", i915_gem_object_list_info, 0, (void *) FLUSHING_LIST}, {"i915_gem_inactive", i915_gem_object_list_info, 0, (void *) INACTIVE_LIST}, @@ -432,6 +508,12 @@ int i915_debugfs_init(struct drm_minor *minor) { + int ret; + + ret = i915_wedged_create(minor->debugfs_root, minor); + if (ret) + return ret; + return drm_debugfs_create_files(i915_debugfs_list, I915_DEBUGFS_ENTRIES, minor->debugfs_root, minor); @@ -441,7 +523,8 @@ { drm_debugfs_remove_files(i915_debugfs_list, I915_DEBUGFS_ENTRIES, minor); + drm_debugfs_remove_files((struct drm_info_list *) &i915_wedged_fops, + 1, minor); } #endif /* CONFIG_DEBUG_FS */ - --- linux-2.6.32.orig/drivers/gpu/drm/i915/i915_reg.h +++ linux-2.6.32/drivers/gpu/drm/i915/i915_reg.h @@ -140,6 +140,7 @@ #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) @@ -151,7 +152,14 @@ #define MI_END_SCENE (1 << 4) /* flush binner and incr scene count */ #define MI_BATCH_BUFFER_END MI_INSTR(0x0a, 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) #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) @@ -203,6 +211,16 @@ #define ASYNC_FLIP (1<<22) #define DISPLAY_PLANE_A (0<<20) #define DISPLAY_PLANE_B (1<<20) +#define GFX_OP_PIPE_CONTROL ((0x3<<29)|(0x3<<27)|(0x2<<24)|2) +#define PIPE_CONTROL_QW_WRITE (1<<14) +#define PIPE_CONTROL_DEPTH_STALL (1<<13) +#define PIPE_CONTROL_WC_FLUSH (1<<12) +#define PIPE_CONTROL_IS_FLUSH (1<<11) /* MBZ on Ironlake */ +#define PIPE_CONTROL_TC_FLUSH (1<<10) /* GM45+ only */ +#define PIPE_CONTROL_ISP_DIS (1<<9) +#define PIPE_CONTROL_NOTIFY (1<<8) +#define PIPE_CONTROL_GLOBAL_GTT (1<<2) /* in addr dword */ +#define PIPE_CONTROL_STALL_EN (1<<1) /* in addr word, Ironlake+ only */ /* * Fence registers @@ -214,7 +232,7 @@ #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 0x10 +#define I915_FENCE_MAX_PITCH_VAL 4 #define I830_FENCE_MAX_PITCH_VAL 6 #define I830_FENCE_MAX_SIZE_VAL (1<<8) @@ -260,6 +278,8 @@ #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 @@ -307,6 +327,70 @@ #define LM_BURST_LENGTH 0x00000700 #define LM_FIFO_WATERMARK 0x0000001F #define MI_ARB_STATE 0x020e4 /* 915+ only */ +#define MI_ARB_MASK_SHIFT 16 /* shift for enable bits */ + +/* 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_MASK_SHIFT 16 #define CM0_IZ_OPT_DISABLE (1<<6) @@ -316,6 +400,9 @@ #define CM0_DEPTH_WRITE_DISABLE (1<<1) #define CM0_RC_OP_FLUSH_DISABLE (1<<0) #define GFX_FLSH_CNTL 0x02170 /* 915+ only */ +#define ECOSKPD 0x021d0 +#define ECO_GATING_CX_ONLY (1<<3) +#define ECO_FLIP_DONE (1<<0) /* @@ -329,6 +416,7 @@ #define FBC_CTL_PERIODIC (1<<30) #define FBC_CTL_INTERVAL_SHIFT (16) #define FBC_CTL_UNCOMPRESSIBLE (1<<14) +#define FBC_C3_IDLE (1<<13) #define FBC_CTL_STRIDE_SHIFT (5) #define FBC_CTL_FENCENO (1<<0) #define FBC_COMMAND 0x0320c @@ -405,6 +493,13 @@ # define GPIO_DATA_VAL_IN (1 << 12) # define GPIO_DATA_PULLUP_DISABLE (1 << 13) +#define GMBUS0 0x5100 +#define GMBUS1 0x5104 +#define GMBUS2 0x5108 +#define GMBUS3 0x510c +#define GMBUS4 0x5110 +#define GMBUS5 0x5120 + /* * Clock control & power management */ @@ -435,7 +530,7 @@ #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_IGD 0x00ff8000 /* IGD */ +#define DPLL_FPA01_P1_POST_DIV_MASK_PINEVIEW 0x00ff8000 /* Pineview */ #define I915_FIFO_UNDERRUN_STATUS (1UL<<31) #define I915_CRC_ERROR_ENABLE (1UL<<29) @@ -512,7 +607,7 @@ */ #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_IGD 15 +#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 */ @@ -522,7 +617,7 @@ #define PLLB_REF_INPUT_SPREADSPECTRUMIN (3 << 13) #define PLL_REF_INPUT_MASK (3 << 13) #define PLL_LOAD_PULSE_PHASE_SHIFT 9 -/* IGDNG */ +/* 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) @@ -586,12 +681,12 @@ #define FPB0 0x06048 #define FPB1 0x0604c #define FP_N_DIV_MASK 0x003f0000 -#define FP_N_IGD_DIV_MASK 0x00ff0000 +#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_IGD_DIV_MASK 0x000000ff +#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) @@ -746,6 +841,10 @@ #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 @@ -769,7 +868,8 @@ /** GM965 GM45 render standby register */ #define MCHBAR_RENDER_STANDBY 0x111B8 - +#define RCX_SW_EXIT (1<<23) +#define RSX_STATUS_MASK 0x00700000 #define PEG_BAND_GAP_DATA 0x14d68 /* @@ -844,7 +944,6 @@ #define SDVOB_HOTPLUG_INT_EN (1 << 26) #define SDVOC_HOTPLUG_INT_EN (1 << 25) #define TV_HOTPLUG_INT_EN (1 << 18) -#define CRT_EOS_INT_EN (1 << 10) #define CRT_HOTPLUG_INT_EN (1 << 9) #define CRT_HOTPLUG_FORCE_DETECT (1 << 3) #define CRT_HOTPLUG_ACTIVATION_PERIOD_32 (0 << 8) @@ -863,14 +962,6 @@ #define CRT_HOTPLUG_DETECT_VOLTAGE_475MV (1 << 2) #define CRT_HOTPLUG_MASK (0x3fc) /* Bits 9-2 */ #define CRT_FORCE_HOTPLUG_MASK 0xfffffe1f -#define HOTPLUG_EN_MASK (HDMIB_HOTPLUG_INT_EN | \ - HDMIC_HOTPLUG_INT_EN | \ - HDMID_HOTPLUG_INT_EN | \ - SDVOB_HOTPLUG_INT_EN | \ - SDVOC_HOTPLUG_INT_EN | \ - TV_HOTPLUG_INT_EN | \ - CRT_HOTPLUG_INT_EN) - #define PORT_HOTPLUG_STAT 0x61114 #define HDMIB_HOTPLUG_INT_STATUS (1 << 29) @@ -879,7 +970,6 @@ #define DPC_HOTPLUG_INT_STATUS (1 << 28) #define HDMID_HOTPLUG_INT_STATUS (1 << 27) #define DPD_HOTPLUG_INT_STATUS (1 << 27) -#define CRT_EOS_INT_STATUS (1 << 12) #define CRT_HOTPLUG_INT_STATUS (1 << 11) #define TV_HOTPLUG_INT_STATUS (1 << 10) #define CRT_HOTPLUG_MONITOR_MASK (3 << 8) @@ -968,6 +1058,8 @@ #define LVDS_PORT_EN (1 << 31) /* Selects pipe B for LVDS data. Must be set on pre-965. */ #define LVDS_PIPEB_SELECT (1 << 30) +/* LVDS dithering flag on 965/g4x platform */ +#define LVDS_ENABLE_DITHER (1 << 25) /* Enable border for unscaled (or aspect-scaled) display */ #define LVDS_BORDER_ENABLE (1 << 15) /* @@ -1620,7 +1712,7 @@ #define DP_CLOCK_OUTPUT_ENABLE (1 << 13) #define DP_SCRAMBLING_DISABLE (1 << 12) -#define DP_SCRAMBLING_DISABLE_IGDNG (1 << 7) +#define DP_SCRAMBLING_DISABLE_IRONLAKE (1 << 7) /** limit RGB values to avoid confusing TVs */ #define DP_COLOR_RANGE_16_235 (1 << 8) @@ -1737,6 +1829,8 @@ /* Display & cursor control */ +/* dithering flag on Ironlake */ +#define PIPE_ENABLE_DITHER (1 << 4) /* Pipe A */ #define PIPEADSL 0x70000 #define PIPEACONF 0x70008 @@ -1800,15 +1894,24 @@ #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 16 +#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 IGD_SELF_REFRESH_EN (1<<30) +#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) /* FIFO watermark sizes etc */ #define G4X_FIFO_LINE_SIZE 64 @@ -1824,16 +1927,16 @@ #define G4X_MAX_WM 0x3f #define I915_MAX_WM 0x3f -#define IGD_DISPLAY_FIFO 512 /* in 64byte unit */ -#define IGD_FIFO_LINE_SIZE 64 -#define IGD_MAX_WM 0x1ff -#define IGD_DFT_WM 0x3f -#define IGD_DFT_HPLLOFF_WM 0 -#define IGD_GUARD_WM 10 -#define IGD_CURSOR_FIFO 64 -#define IGD_CURSOR_MAX_WM 0x3f -#define IGD_CURSOR_DFT_WM 0 -#define IGD_CURSOR_GUARD_WM 5 +#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 /* * The two pipe frame counter registers are not synchronized, so @@ -1907,6 +2010,7 @@ #define DISPPLANE_16BPP (0x5<<26) #define DISPPLANE_32BPP_NO_ALPHA (0x6<<26) #define DISPPLANE_32BPP (0x7<<26) +#define DISPPLANE_32BPP_30BIT_NO_ALPHA (0xa<<26) #define DISPPLANE_STEREO_ENABLE (1<<25) #define DISPPLANE_STEREO_DISABLE 0 #define DISPPLANE_SEL_PIPE_MASK (1<<24) @@ -1918,7 +2022,7 @@ #define DISPPLANE_NO_LINE_DOUBLE 0 #define DISPPLANE_STEREO_POLARITY_FIRST 0 #define DISPPLANE_STEREO_POLARITY_SECOND (1<<18) -#define DISPPLANE_TRICKLE_FEED_DISABLE (1<<14) /* IGDNG */ +#define DISPPLANE_TRICKLE_FEED_DISABLE (1<<14) /* Ironlake */ #define DISPPLANE_TILED (1<<10) #define DSPAADDR 0x70184 #define DSPASTRIDE 0x70188 @@ -1971,7 +2075,7 @@ # define VGA_2X_MODE (1 << 30) # define VGA_PIPE_B_SELECT (1 << 29) -/* IGDNG */ +/* Ironlake */ #define CPU_VGACNTRL 0x41000 @@ -2098,6 +2202,7 @@ #define DEIER 0x4400c /* GT interrupt */ +#define GT_PIPE_NOTIFY (1 << 4) #define GT_SYNC_STATUS (1 << 2) #define GT_USER_INTERRUPT (1 << 0) @@ -2117,6 +2222,7 @@ #define SDE_PORTC_HOTPLUG (1 << 9) #define SDE_PORTB_HOTPLUG (1 << 8) #define SDE_SDVOB_HOTPLUG (1 << 6) +#define SDE_HOTPLUG_MASK (0xf << 8) #define SDEISR 0xc4000 #define SDEIMR 0xc4004 @@ -2157,6 +2263,13 @@ #define PCH_GPIOE 0xc5020 #define PCH_GPIOF 0xc5024 +#define PCH_GMBUS0 0xc5100 +#define PCH_GMBUS1 0xc5104 +#define PCH_GMBUS2 0xc5108 +#define PCH_GMBUS3 0xc510c +#define PCH_GMBUS4 0xc5110 +#define PCH_GMBUS5 0xc5120 + #define PCH_DPLL_A 0xc6014 #define PCH_DPLL_B 0xc6018 @@ -2292,7 +2405,7 @@ #define FDI_DP_PORT_WIDTH_X3 (2<<19) #define FDI_DP_PORT_WIDTH_X4 (3<<19) #define FDI_TX_ENHANCE_FRAME_ENABLE (1<<18) -/* IGDNG: hardwired to 1 */ +/* Ironlake: hardwired to 1 */ #define FDI_TX_PLL_ENABLE (1<<14) /* both Tx and Rx */ #define FDI_SCRAMBLING_ENABLE (0<<7) @@ -2413,6 +2526,7 @@ #define PCH_PP_STATUS 0xc7200 #define PCH_PP_CONTROL 0xc7204 +#define PANEL_UNLOCK_REGS (0xabcd << 16) #define EDP_FORCE_VDD (1 << 3) #define EDP_BLC_ENABLE (1 << 2) #define PANEL_POWER_RESET (1 << 1) --- linux-2.6.32.orig/drivers/gpu/drm/i915/i915_suspend.c +++ linux-2.6.32/drivers/gpu/drm/i915/i915_suspend.c @@ -27,14 +27,14 @@ #include "drmP.h" #include "drm.h" #include "i915_drm.h" -#include "i915_drv.h" +#include "intel_drv.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; - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { dpll_reg = (pipe == PIPE_A) ? PCH_DPLL_A: PCH_DPLL_B; } else { dpll_reg = (pipe == PIPE_A) ? DPLL_A: DPLL_B; @@ -53,7 +53,7 @@ if (!i915_pipe_enabled(dev, pipe)) return; - if (IS_IGDNG(dev)) + if (IS_IRONLAKE(dev)) reg = (pipe == PIPE_A) ? LGC_PALETTE_A : LGC_PALETTE_B; if (pipe == PIPE_A) @@ -75,7 +75,7 @@ if (!i915_pipe_enabled(dev, pipe)) return; - if (IS_IGDNG(dev)) + if (IS_IRONLAKE(dev)) reg = (pipe == PIPE_A) ? LGC_PALETTE_A : LGC_PALETTE_B; if (pipe == PIPE_A) @@ -239,7 +239,7 @@ if (drm_core_check_feature(dev, DRIVER_MODESET)) return; - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { dev_priv->savePCH_DREF_CONTROL = I915_READ(PCH_DREF_CONTROL); dev_priv->saveDISP_ARB_CTL = I915_READ(DISP_ARB_CTL); } @@ -247,7 +247,7 @@ /* Pipe & plane A info */ dev_priv->savePIPEACONF = I915_READ(PIPEACONF); dev_priv->savePIPEASRC = I915_READ(PIPEASRC); - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { dev_priv->saveFPA0 = I915_READ(PCH_FPA0); dev_priv->saveFPA1 = I915_READ(PCH_FPA1); dev_priv->saveDPLL_A = I915_READ(PCH_DPLL_A); @@ -256,7 +256,7 @@ dev_priv->saveFPA1 = I915_READ(FPA1); dev_priv->saveDPLL_A = I915_READ(DPLL_A); } - if (IS_I965G(dev) && !IS_IGDNG(dev)) + if (IS_I965G(dev) && !IS_IRONLAKE(dev)) dev_priv->saveDPLL_A_MD = I915_READ(DPLL_A_MD); dev_priv->saveHTOTAL_A = I915_READ(HTOTAL_A); dev_priv->saveHBLANK_A = I915_READ(HBLANK_A); @@ -264,10 +264,10 @@ dev_priv->saveVTOTAL_A = I915_READ(VTOTAL_A); dev_priv->saveVBLANK_A = I915_READ(VBLANK_A); dev_priv->saveVSYNC_A = I915_READ(VSYNC_A); - if (!IS_IGDNG(dev)) + if (!IS_IRONLAKE(dev)) dev_priv->saveBCLRPAT_A = I915_READ(BCLRPAT_A); - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { dev_priv->savePIPEA_DATA_M1 = I915_READ(PIPEA_DATA_M1); dev_priv->savePIPEA_DATA_N1 = I915_READ(PIPEA_DATA_N1); dev_priv->savePIPEA_LINK_M1 = I915_READ(PIPEA_LINK_M1); @@ -304,7 +304,7 @@ /* Pipe & plane B info */ dev_priv->savePIPEBCONF = I915_READ(PIPEBCONF); dev_priv->savePIPEBSRC = I915_READ(PIPEBSRC); - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { dev_priv->saveFPB0 = I915_READ(PCH_FPB0); dev_priv->saveFPB1 = I915_READ(PCH_FPB1); dev_priv->saveDPLL_B = I915_READ(PCH_DPLL_B); @@ -313,7 +313,7 @@ dev_priv->saveFPB1 = I915_READ(FPB1); dev_priv->saveDPLL_B = I915_READ(DPLL_B); } - if (IS_I965G(dev) && !IS_IGDNG(dev)) + if (IS_I965G(dev) && !IS_IRONLAKE(dev)) dev_priv->saveDPLL_B_MD = I915_READ(DPLL_B_MD); dev_priv->saveHTOTAL_B = I915_READ(HTOTAL_B); dev_priv->saveHBLANK_B = I915_READ(HBLANK_B); @@ -321,10 +321,10 @@ dev_priv->saveVTOTAL_B = I915_READ(VTOTAL_B); dev_priv->saveVBLANK_B = I915_READ(VBLANK_B); dev_priv->saveVSYNC_B = I915_READ(VSYNC_B); - if (!IS_IGDNG(dev)) + if (!IS_IRONLAKE(dev)) dev_priv->saveBCLRPAT_B = I915_READ(BCLRPAT_B); - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { dev_priv->savePIPEB_DATA_M1 = I915_READ(PIPEB_DATA_M1); dev_priv->savePIPEB_DATA_N1 = I915_READ(PIPEB_DATA_N1); dev_priv->savePIPEB_LINK_M1 = I915_READ(PIPEB_LINK_M1); @@ -369,7 +369,7 @@ if (drm_core_check_feature(dev, DRIVER_MODESET)) return; - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { dpll_a_reg = PCH_DPLL_A; dpll_b_reg = PCH_DPLL_B; fpa0_reg = PCH_FPA0; @@ -385,7 +385,7 @@ fpb1_reg = FPB1; } - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { I915_WRITE(PCH_DREF_CONTROL, dev_priv->savePCH_DREF_CONTROL); I915_WRITE(DISP_ARB_CTL, dev_priv->saveDISP_ARB_CTL); } @@ -402,7 +402,7 @@ /* Actually enable it */ I915_WRITE(dpll_a_reg, dev_priv->saveDPLL_A); DRM_UDELAY(150); - if (IS_I965G(dev) && !IS_IGDNG(dev)) + if (IS_I965G(dev) && !IS_IRONLAKE(dev)) I915_WRITE(DPLL_A_MD, dev_priv->saveDPLL_A_MD); DRM_UDELAY(150); @@ -413,10 +413,10 @@ I915_WRITE(VTOTAL_A, dev_priv->saveVTOTAL_A); I915_WRITE(VBLANK_A, dev_priv->saveVBLANK_A); I915_WRITE(VSYNC_A, dev_priv->saveVSYNC_A); - if (!IS_IGDNG(dev)) + if (!IS_IRONLAKE(dev)) I915_WRITE(BCLRPAT_A, dev_priv->saveBCLRPAT_A); - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { I915_WRITE(PIPEA_DATA_M1, dev_priv->savePIPEA_DATA_M1); I915_WRITE(PIPEA_DATA_N1, dev_priv->savePIPEA_DATA_N1); I915_WRITE(PIPEA_LINK_M1, dev_priv->savePIPEA_LINK_M1); @@ -467,7 +467,7 @@ /* Actually enable it */ I915_WRITE(dpll_b_reg, dev_priv->saveDPLL_B); DRM_UDELAY(150); - if (IS_I965G(dev) && !IS_IGDNG(dev)) + if (IS_I965G(dev) && !IS_IRONLAKE(dev)) I915_WRITE(DPLL_B_MD, dev_priv->saveDPLL_B_MD); DRM_UDELAY(150); @@ -478,10 +478,10 @@ I915_WRITE(VTOTAL_B, dev_priv->saveVTOTAL_B); I915_WRITE(VBLANK_B, dev_priv->saveVBLANK_B); I915_WRITE(VSYNC_B, dev_priv->saveVSYNC_B); - if (!IS_IGDNG(dev)) + if (!IS_IRONLAKE(dev)) I915_WRITE(BCLRPAT_B, dev_priv->saveBCLRPAT_B); - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { I915_WRITE(PIPEB_DATA_M1, dev_priv->savePIPEB_DATA_M1); I915_WRITE(PIPEB_DATA_N1, dev_priv->savePIPEB_DATA_N1); I915_WRITE(PIPEB_LINK_M1, dev_priv->savePIPEB_LINK_M1); @@ -546,14 +546,14 @@ dev_priv->saveCURSIZE = I915_READ(CURSIZE); /* CRT state */ - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { dev_priv->saveADPA = I915_READ(PCH_ADPA); } else { dev_priv->saveADPA = I915_READ(ADPA); } /* LVDS state */ - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { dev_priv->savePP_CONTROL = I915_READ(PCH_PP_CONTROL); dev_priv->saveBLC_PWM_CTL = I915_READ(BLC_PWM_PCH_CTL1); dev_priv->saveBLC_PWM_CTL2 = I915_READ(BLC_PWM_PCH_CTL2); @@ -571,10 +571,10 @@ dev_priv->saveLVDS = I915_READ(LVDS); } - if (!IS_I830(dev) && !IS_845G(dev) && !IS_IGDNG(dev)) + if (!IS_I830(dev) && !IS_845G(dev) && !IS_IRONLAKE(dev)) dev_priv->savePFIT_CONTROL = I915_READ(PFIT_CONTROL); - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { dev_priv->savePP_ON_DELAYS = I915_READ(PCH_PP_ON_DELAYS); dev_priv->savePP_OFF_DELAYS = I915_READ(PCH_PP_OFF_DELAYS); dev_priv->savePP_DIVISOR = I915_READ(PCH_PP_DIVISOR); @@ -614,7 +614,7 @@ dev_priv->saveVGA0 = I915_READ(VGA0); dev_priv->saveVGA1 = I915_READ(VGA1); dev_priv->saveVGA_PD = I915_READ(VGA_PD); - if (IS_IGDNG(dev)) + if (IS_IRONLAKE(dev)) dev_priv->saveVGACNTRL = I915_READ(CPU_VGACNTRL); else dev_priv->saveVGACNTRL = I915_READ(VGACNTRL); @@ -656,24 +656,24 @@ I915_WRITE(CURSIZE, dev_priv->saveCURSIZE); /* CRT state */ - if (IS_IGDNG(dev)) + if (IS_IRONLAKE(dev)) I915_WRITE(PCH_ADPA, dev_priv->saveADPA); else I915_WRITE(ADPA, dev_priv->saveADPA); /* LVDS state */ - if (IS_I965G(dev) && !IS_IGDNG(dev)) + if (IS_I965G(dev) && !IS_IRONLAKE(dev)) I915_WRITE(BLC_PWM_CTL2, dev_priv->saveBLC_PWM_CTL2); - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { I915_WRITE(PCH_LVDS, dev_priv->saveLVDS); } else if (IS_MOBILE(dev) && !IS_I830(dev)) I915_WRITE(LVDS, dev_priv->saveLVDS); - if (!IS_I830(dev) && !IS_845G(dev) && !IS_IGDNG(dev)) + if (!IS_I830(dev) && !IS_845G(dev) && !IS_IRONLAKE(dev)) I915_WRITE(PFIT_CONTROL, dev_priv->savePFIT_CONTROL); - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { I915_WRITE(BLC_PWM_PCH_CTL1, dev_priv->saveBLC_PWM_CTL); I915_WRITE(BLC_PWM_PCH_CTL2, dev_priv->saveBLC_PWM_CTL2); I915_WRITE(BLC_PWM_CPU_CTL, dev_priv->saveBLC_CPU_PWM_CTL); @@ -713,7 +713,7 @@ } /* VGA state */ - if (IS_IGDNG(dev)) + if (IS_IRONLAKE(dev)) I915_WRITE(CPU_VGACNTRL, dev_priv->saveVGACNTRL); else I915_WRITE(VGACNTRL, dev_priv->saveVGACNTRL); @@ -732,17 +732,13 @@ pci_read_config_byte(dev->pdev, LBB, &dev_priv->saveLBB); - /* Render Standby */ - if (IS_I965G(dev) && IS_MOBILE(dev)) - dev_priv->saveRENDERSTANDBY = I915_READ(MCHBAR_RENDER_STANDBY); - /* Hardware status page */ dev_priv->saveHWS = I915_READ(HWS_PGA); i915_save_display(dev); /* Interrupt state */ - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { dev_priv->saveDEIER = I915_READ(DEIER); dev_priv->saveDEIMR = I915_READ(DEIMR); dev_priv->saveGTIER = I915_READ(GTIER); @@ -754,10 +750,6 @@ dev_priv->saveIMR = I915_READ(IMR); } - /* Clock gating state */ - dev_priv->saveD_STATE = I915_READ(D_STATE); - dev_priv->saveDSPCLK_GATE_D = I915_READ(DSPCLK_GATE_D); /* Not sure about this */ - /* Cache mode state */ dev_priv->saveCACHE_MODE_0 = I915_READ(CACHE_MODE_0); @@ -795,10 +787,6 @@ pci_write_config_byte(dev->pdev, LBB, dev_priv->saveLBB); - /* Render Standby */ - if (IS_I965G(dev) && IS_MOBILE(dev)) - I915_WRITE(MCHBAR_RENDER_STANDBY, dev_priv->saveRENDERSTANDBY); - /* Hardware status page */ I915_WRITE(HWS_PGA, dev_priv->saveHWS); @@ -817,7 +805,7 @@ i915_restore_display(dev); /* Interrupt state */ - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { I915_WRITE(DEIER, dev_priv->saveDEIER); I915_WRITE(DEIMR, dev_priv->saveDEIMR); I915_WRITE(GTIER, dev_priv->saveGTIER); @@ -830,8 +818,7 @@ } /* Clock gating state */ - I915_WRITE (D_STATE, dev_priv->saveD_STATE); - I915_WRITE (DSPCLK_GATE_D, dev_priv->saveDSPCLK_GATE_D); + intel_init_clock_gating(dev); /* Cache mode state */ I915_WRITE (CACHE_MODE_0, dev_priv->saveCACHE_MODE_0 | 0xffff0000); @@ -846,6 +833,9 @@ for (i = 0; i < 3; i++) I915_WRITE(SWF30 + (i << 2), dev_priv->saveSWF2[i]); + /* I2C state */ + intel_i2c_reset_gmbus(dev); + return 0; } --- linux-2.6.32.orig/drivers/gpu/drm/i915/intel_bios.c +++ linux-2.6.32/drivers/gpu/drm/i915/intel_bios.c @@ -33,6 +33,8 @@ #define SLAVE_ADDR1 0x70 #define SLAVE_ADDR2 0x72 +static int panel_type; + static void * find_section(struct bdb_header *bdb, int section_id) { @@ -114,6 +116,8 @@ struct lvds_dvo_timing *dvo_timing; struct drm_display_mode *panel_fixed_mode; int lfp_data_size, dvo_timing_offset; + int i, temp_downclock; + struct drm_display_mode *temp_mode; /* Defaults if we can't find VBT info */ dev_priv->lvds_dither = 0; @@ -126,6 +130,7 @@ 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) @@ -159,9 +164,50 @@ dev_priv->lfp_lvds_vbt_mode = panel_fixed_mode; - DRM_DEBUG("Found panel mode in BIOS VBT tables:\n"); + DRM_DEBUG_KMS("Found panel mode in BIOS VBT tables:\n"); drm_mode_debug_printmodeline(panel_fixed_mode); + temp_mode = kzalloc(sizeof(*temp_mode), GFP_KERNEL); + temp_downclock = panel_fixed_mode->clock; + /* + * enumerate the LVDS panel timing info entry in VBT to check whether + * the LVDS downclock is found. + */ + for (i = 0; i < 16; i++) { + entry = (struct bdb_lvds_lfp_data_entry *) + ((uint8_t *)lvds_lfp_data->data + (lfp_data_size * i)); + dvo_timing = (struct lvds_dvo_timing *) + ((unsigned char *)entry + dvo_timing_offset); + + fill_detail_timing_data(temp_mode, dvo_timing); + + if (temp_mode->hdisplay == panel_fixed_mode->hdisplay && + temp_mode->hsync_start == panel_fixed_mode->hsync_start && + temp_mode->hsync_end == panel_fixed_mode->hsync_end && + temp_mode->htotal == panel_fixed_mode->htotal && + temp_mode->vdisplay == panel_fixed_mode->vdisplay && + temp_mode->vsync_start == panel_fixed_mode->vsync_start && + temp_mode->vsync_end == panel_fixed_mode->vsync_end && + temp_mode->vtotal == panel_fixed_mode->vtotal && + temp_mode->clock < temp_downclock) { + /* + * downclock is already found. But we expect + * to find the lower downclock. + */ + temp_downclock = temp_mode->clock; + } + /* clear it to zero */ + memset(temp_mode, 0, sizeof(*temp_mode)); + } + kfree(temp_mode); + if (temp_downclock < panel_fixed_mode->clock && + i915_lvds_downclock) { + dev_priv->lvds_downclock_avail = 1; + dev_priv->lvds_downclock = temp_downclock; + DRM_DEBUG_KMS("LVDS downclock is found in VBT. ", + "Normal Clock %dKHz, downclock %dKHz\n", + temp_downclock, panel_fixed_mode->clock); + } return; } @@ -201,6 +247,7 @@ 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; /* Set sensible defaults in case we can't find the general block */ @@ -217,7 +264,7 @@ if (IS_I85X(dev_priv->dev)) dev_priv->lvds_ssc_freq = general->ssc_freq ? 66 : 48; - else if (IS_IGDNG(dev_priv->dev)) + else if (IS_IRONLAKE(dev_priv->dev) || IS_GEN6(dev)) dev_priv->lvds_ssc_freq = general->ssc_freq ? 100 : 120; else @@ -241,22 +288,18 @@ GPIOF, }; - /* Set sensible defaults in case we can't find the general block - or it is the wrong chipset */ - dev_priv->crt_ddc_bus = -1; - 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("crt_ddc_bus_pin: %d\n", bus_pin); + DRM_DEBUG_KMS("crt_ddc_bus_pin: %d\n", bus_pin); if ((bus_pin >= 1) && (bus_pin <= 6)) { dev_priv->crt_ddc_bus = crt_bus_map_table[bus_pin-1]; } } else { - DRM_DEBUG("BDB_GD too small (%d). Invalid.\n", + DRM_DEBUG_KMS("BDB_GD too small (%d). Invalid.\n", block_size); } } @@ -274,7 +317,7 @@ p_defs = find_section(bdb, BDB_GENERAL_DEFINITIONS); if (!p_defs) { - DRM_DEBUG("No general definition block is found\n"); + DRM_DEBUG_KMS("No general definition block is found\n"); return; } /* judge whether the size of child device meets the requirements. @@ -284,7 +327,7 @@ */ if (p_defs->child_dev_size != sizeof(*p_child)) { /* different child dev size . Ignore it */ - DRM_DEBUG("different child size is found. Invalid.\n"); + DRM_DEBUG_KMS("different child size is found. Invalid.\n"); return; } /* get the block size of general definitions */ @@ -310,11 +353,11 @@ if (p_child->dvo_port != DEVICE_PORT_DVOB && p_child->dvo_port != DEVICE_PORT_DVOC) { /* skip the incorrect SDVO port */ - DRM_DEBUG("Incorrect SDVO port. Skip it \n"); + DRM_DEBUG_KMS("Incorrect SDVO port. Skip it \n"); continue; } - DRM_DEBUG("the SDVO device with slave addr %2x is found on " - "%s port\n", + 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"); @@ -325,21 +368,21 @@ p_mapping->dvo_wiring = p_child->dvo_wiring; p_mapping->initialized = 1; } else { - DRM_DEBUG("Maybe one SDVO port is shared by " + 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("there exists the slave2_addr. Maybe this " - "is a SDVO device with multiple inputs.\n"); + 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("No SDVO device info is found in VBT\n"); + DRM_DEBUG_KMS("No SDVO device info is found in VBT\n"); } return; } @@ -366,6 +409,98 @@ dev_priv->render_reclock_avail = true; } +static void +parse_edp(struct drm_i915_private *dev_priv, struct bdb_header *bdb) +{ + struct bdb_edp *edp; + + 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 18bpp panel color depth.\n"); + dev_priv->edp_bpp = 18; + } + 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; + } +} + +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\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 = kzalloc(sizeof(*p_child) * count, 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; +} /** * intel_init_bios - initialize VBIOS settings & find VBT * @dev: DRM device @@ -417,7 +552,9 @@ 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); pci_unmap_rom(pdev, bios); --- linux-2.6.32.orig/drivers/gpu/drm/i915/intel_bios.h +++ linux-2.6.32/drivers/gpu/drm/i915/intel_bios.h @@ -98,6 +98,7 @@ #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 @@ -426,6 +427,45 @@ 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 t3; + u16 t7; + u16 t9; + u16 t10; + u16 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; + u32 sdrrs_msa_timing_delay; + struct edp_link_params link_params[16]; +} __attribute__ ((packed)); + bool intel_init_bios(struct drm_device *dev); /* @@ -549,4 +589,21 @@ #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-2.6.32.orig/drivers/gpu/drm/i915/i915_gem_evict.c +++ linux-2.6.32/drivers/gpu/drm/i915/i915_gem_evict.c @@ -0,0 +1,252 @@ +/* + * Copyright © 2008-2010 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + * Chris Wilson + * + */ + +#include "drmP.h" +#include "drm.h" +#include "i915_drv.h" +#include "i915_drm.h" + +static struct drm_i915_gem_object * +i915_gem_next_active_object(struct drm_device *dev, + struct list_head **iter) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_i915_gem_object *obj = NULL; + + if (*iter != &dev_priv->mm.active_list) + obj = list_entry(*iter, + struct drm_i915_gem_object, + list); + + *iter = (*iter)->next; + return obj; +} + +static bool +mark_free(struct drm_i915_gem_object *obj_priv, + struct list_head *unwind) +{ + list_add(&obj_priv->evict_list, unwind); + drm_gem_object_reference(obj_priv->obj); + return drm_mm_scan_add_block(obj_priv->gtt_space); +} + +#define i915_for_each_active_object(OBJ, I) \ + *(I) = dev_priv->mm.active_list.next; \ + while (((OBJ) = i915_gem_next_active_object(dev, (I))) != NULL) + +int +i915_gem_evict_something(struct drm_device *dev, int min_size, unsigned alignment) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct list_head eviction_list, unwind_list; + struct drm_i915_gem_object *obj_priv; + struct list_head *iter; + int ret = 0; + + i915_gem_retire_requests(dev); + + /* Re-check for free space after retiring requests */ + if (drm_mm_search_free(&dev_priv->mm.gtt_space, + min_size, alignment, 0)) + return 0; + + /* + * 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 + * 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 list. + * + * 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); + drm_mm_init_scan(&dev_priv->mm.gtt_space, min_size, alignment); + + /* First see if there is a large enough contiguous idle region... */ + list_for_each_entry(obj_priv, &dev_priv->mm.inactive_list, list) { + if (mark_free(obj_priv, &unwind_list)) + goto found; + } + + /* Now merge in the soon-to-be-expired objects... */ + i915_for_each_active_object(obj_priv, &iter) { + /* Does the object require an outstanding flush? */ + if (obj_priv->obj->write_domain || obj_priv->pin_count) + continue; + + if (mark_free(obj_priv, &unwind_list)) + goto found; + } + + /* Finally add anything with a pending flush (in order of retirement) */ + list_for_each_entry(obj_priv, &dev_priv->mm.flushing_list, list) { + if (obj_priv->pin_count) + continue; + + if (mark_free(obj_priv, &unwind_list)) + goto found; + } + i915_for_each_active_object(obj_priv, &iter) { + if (! obj_priv->obj->write_domain || obj_priv->pin_count) + continue; + + if (mark_free(obj_priv, &unwind_list)) + goto found; + } + + /* Nothing found, clean up and bail out! */ + while (!list_empty(&unwind_list)) { + obj_priv = list_first_entry(&unwind_list, + struct drm_i915_gem_object, + evict_list); + + ret = drm_mm_scan_remove_block(obj_priv->gtt_space); + BUG_ON(ret); + + list_del_init(&obj_priv->evict_list); + drm_gem_object_unreference(obj_priv->obj); + } + + /* We expect the caller to unpin, evict all and try again, or give up. + * So calling i915_gem_evict_everything() is unnecessary. + */ + return -ENOSPC; + +found: + /* drm_mm doesn't allow any other other operations while + * scanning, therefore store to be evicted objects on a + * temporary list. */ + INIT_LIST_HEAD(&eviction_list); + while (!list_empty(&unwind_list)) { + obj_priv = list_first_entry(&unwind_list, + struct drm_i915_gem_object, + evict_list); + if (drm_mm_scan_remove_block(obj_priv->gtt_space)) { + list_move(&obj_priv->evict_list, &eviction_list); + continue; + } + list_del_init(&obj_priv->evict_list); + drm_gem_object_unreference(obj_priv->obj); + } + + /* Unbinding will emit any required flushes */ + while (!list_empty(&eviction_list)) { + obj_priv = list_first_entry(&eviction_list, + struct drm_i915_gem_object, + evict_list); + if (ret == 0) + ret = i915_gem_object_unbind(obj_priv->obj); + + list_del_init(&obj_priv->evict_list); + drm_gem_object_unreference(obj_priv->obj); + } + + return ret; +} + +int +i915_gem_evict_everything(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + int ret; + uint32_t seqno; + bool lists_empty; + + spin_lock(&dev_priv->mm.active_list_lock); + lists_empty = (list_empty(&dev_priv->mm.inactive_list) && + list_empty(&dev_priv->mm.flushing_list) && + list_empty(&dev_priv->mm.active_list)); + spin_unlock(&dev_priv->mm.active_list_lock); + + if (lists_empty) + return -ENOSPC; + + /* Flush everything (on to the inactive lists) and evict */ + i915_gem_flush(dev, I915_GEM_GPU_DOMAINS, I915_GEM_GPU_DOMAINS); + seqno = i915_add_request(dev, NULL, I915_GEM_GPU_DOMAINS); + if (seqno == 0) + return -ENOMEM; + + ret = i915_do_wait_request(dev, seqno, true); + if (ret) + return ret; + + BUG_ON(!list_empty(&dev_priv->mm.flushing_list)); + + ret = i915_gem_evict_inactive(dev); + if (ret) + return ret; + + spin_lock(&dev_priv->mm.active_list_lock); + lists_empty = (list_empty(&dev_priv->mm.inactive_list) && + list_empty(&dev_priv->mm.flushing_list) && + list_empty(&dev_priv->mm.active_list)); + spin_unlock(&dev_priv->mm.active_list_lock); + BUG_ON(!lists_empty); + + return 0; +} + +/** Unbinds all inactive objects. */ +int +i915_gem_evict_inactive(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + + while (!list_empty(&dev_priv->mm.inactive_list)) { + struct drm_gem_object *obj; + int ret; + + obj = list_first_entry(&dev_priv->mm.inactive_list, + struct drm_i915_gem_object, + list)->obj; + + ret = i915_gem_object_unbind(obj); + if (ret != 0) { + DRM_ERROR("Error unbinding object: %d\n", ret); + return ret; + } + } + + return 0; +} --- linux-2.6.32.orig/drivers/gpu/drm/i915/intel_crt.c +++ linux-2.6.32/drivers/gpu/drm/i915/intel_crt.c @@ -39,7 +39,7 @@ struct drm_i915_private *dev_priv = dev->dev_private; u32 temp, reg; - if (IS_IGDNG(dev)) + if (HAS_PCH_SPLIT(dev)) reg = PCH_ADPA; else reg = ADPA; @@ -64,34 +64,6 @@ } I915_WRITE(reg, temp); - - if (IS_IGD(dev)) { - if (mode == DRM_MODE_DPMS_OFF) { - /* turn off DAC */ - temp = I915_READ(PORT_HOTPLUG_EN); - temp &= ~CRT_EOS_INT_EN; - I915_WRITE(PORT_HOTPLUG_EN, temp); - - temp = I915_READ(PORT_HOTPLUG_STAT); - if (temp & CRT_EOS_INT_STATUS) - I915_WRITE(PORT_HOTPLUG_STAT, - CRT_EOS_INT_STATUS); - } else { - /* turn on DAC. EOS interrupt must be enabled after DAC - * is enabled, so it sounds not good to enable it in - * i915_driver_irq_postinstall() - * wait 12.5ms after DAC is enabled - */ - msleep(13); - temp = I915_READ(PORT_HOTPLUG_STAT); - if (temp & CRT_EOS_INT_STATUS) - I915_WRITE(PORT_HOTPLUG_STAT, - CRT_EOS_INT_STATUS); - temp = I915_READ(PORT_HOTPLUG_EN); - temp |= CRT_EOS_INT_EN; - I915_WRITE(PORT_HOTPLUG_EN, temp); - } - } } static int intel_crt_mode_valid(struct drm_connector *connector, @@ -141,7 +113,7 @@ else dpll_md_reg = DPLL_B_MD; - if (IS_IGDNG(dev)) + if (HAS_PCH_SPLIT(dev)) adpa_reg = PCH_ADPA; else adpa_reg = ADPA; @@ -150,7 +122,7 @@ * Disable separate mode multiplier used when cloning SDVO to CRT * XXX this needs to be adjusted when we really are cloning */ - if (IS_I965G(dev) && !IS_IGDNG(dev)) { + if (IS_I965G(dev) && !HAS_PCH_SPLIT(dev)) { dpll_md = I915_READ(dpll_md_reg); I915_WRITE(dpll_md_reg, dpll_md & ~DPLL_MD_UDI_MULTIPLIER_MASK); @@ -164,18 +136,18 @@ if (intel_crtc->pipe == 0) { adpa |= ADPA_PIPE_A_SELECT; - if (!IS_IGDNG(dev)) + if (!HAS_PCH_SPLIT(dev)) I915_WRITE(BCLRPAT_A, 0); } else { adpa |= ADPA_PIPE_B_SELECT; - if (!IS_IGDNG(dev)) + if (!HAS_PCH_SPLIT(dev)) I915_WRITE(BCLRPAT_B, 0); } I915_WRITE(adpa_reg, adpa); } -static bool intel_igdng_crt_detect_hotplug(struct drm_connector *connector) +static bool intel_ironlake_crt_detect_hotplug(struct drm_connector *connector) { struct drm_device *dev = connector->dev; struct drm_i915_private *dev_priv = dev->dev_private; @@ -185,6 +157,9 @@ adpa = I915_READ(PCH_ADPA); adpa &= ~ADPA_CRT_HOTPLUG_MASK; + /* disable HPD first */ + I915_WRITE(PCH_ADPA, adpa); + (void)I915_READ(PCH_ADPA); adpa |= (ADPA_CRT_HOTPLUG_PERIOD_128 | ADPA_CRT_HOTPLUG_WARMUP_10MS | @@ -194,7 +169,7 @@ ADPA_CRT_HOTPLUG_ENABLE | ADPA_CRT_HOTPLUG_FORCE_TRIGGER); - DRM_DEBUG("pch crt adpa 0x%x", adpa); + DRM_DEBUG_KMS("pch crt adpa 0x%x", adpa); I915_WRITE(PCH_ADPA, adpa); while ((I915_READ(PCH_ADPA) & ADPA_CRT_HOTPLUG_FORCE_TRIGGER) != 0) @@ -227,8 +202,8 @@ u32 hotplug_en; int i, tries = 0; - if (IS_IGDNG(dev)) - return intel_igdng_crt_detect_hotplug(connector); + if (HAS_PCH_SPLIT(dev)) + return intel_ironlake_crt_detect_hotplug(connector); /* * On 4 series desktop, CRT detect sequence need to be done twice @@ -549,12 +524,12 @@ &intel_output->enc); /* Set up the DDC bus. */ - if (IS_IGDNG(dev)) + if (HAS_PCH_SPLIT(dev)) i2c_reg = PCH_GPIOA; else { i2c_reg = GPIOA; /* Use VBT information for CRT DDC if available */ - if (dev_priv->crt_ddc_bus != -1) + if (dev_priv->crt_ddc_bus != 0) i2c_reg = dev_priv->crt_ddc_bus; } intel_output->ddc_bus = intel_i2c_create(dev, i2c_reg, "CRTDDC_A"); @@ -576,4 +551,6 @@ drm_connector_helper_add(connector, &intel_crt_connector_helper_funcs); drm_sysfs_connector_add(connector); + + dev_priv->hotplug_supported_mask |= CRT_HOTPLUG_INT_STATUS; } --- linux-2.6.32.orig/drivers/gpu/drm/i915/intel_display.c +++ linux-2.6.32/drivers/gpu/drm/i915/intel_display.c @@ -32,7 +32,7 @@ #include "intel_drv.h" #include "i915_drm.h" #include "i915_drv.h" -#include "intel_dp.h" +#include "drm_dp_helper.h" #include "drm_crtc_helper.h" @@ -41,6 +41,7 @@ bool intel_pipe_has_type (struct drm_crtc *crtc, int type); static void intel_update_watermarks(struct drm_device *dev); static void intel_increase_pllclock(struct drm_crtc *crtc, bool schedule); +static void intel_crtc_update_cursor(struct drm_crtc *crtc); typedef struct { /* given values */ @@ -70,8 +71,6 @@ intel_p2_t p2; bool (* find_pll)(const intel_limit_t *, struct drm_crtc *, int, int, intel_clock_t *); - bool (* find_reduced_pll)(const intel_limit_t *, struct drm_crtc *, - int, int, intel_clock_t *); }; #define I8XX_DOT_MIN 25000 @@ -102,32 +101,32 @@ #define I9XX_DOT_MAX 400000 #define I9XX_VCO_MIN 1400000 #define I9XX_VCO_MAX 2800000 -#define IGD_VCO_MIN 1700000 -#define IGD_VCO_MAX 3500000 +#define PINEVIEW_VCO_MIN 1700000 +#define PINEVIEW_VCO_MAX 3500000 #define I9XX_N_MIN 1 #define I9XX_N_MAX 6 -/* IGD's Ncounter is a ring counter */ -#define IGD_N_MIN 3 -#define IGD_N_MAX 6 +/* Pineview's Ncounter is a ring counter */ +#define PINEVIEW_N_MIN 3 +#define PINEVIEW_N_MAX 6 #define I9XX_M_MIN 70 #define I9XX_M_MAX 120 -#define IGD_M_MIN 2 -#define IGD_M_MAX 256 +#define PINEVIEW_M_MIN 2 +#define PINEVIEW_M_MAX 256 #define I9XX_M1_MIN 10 #define I9XX_M1_MAX 22 #define I9XX_M2_MIN 5 #define I9XX_M2_MAX 9 -/* IGD M1 is reserved, and must be 0 */ -#define IGD_M1_MIN 0 -#define IGD_M1_MAX 0 -#define IGD_M2_MIN 0 -#define IGD_M2_MAX 254 +/* Pineview M1 is reserved, and must be 0 */ +#define PINEVIEW_M1_MIN 0 +#define PINEVIEW_M1_MAX 0 +#define PINEVIEW_M2_MIN 0 +#define PINEVIEW_M2_MAX 254 #define I9XX_P_SDVO_DAC_MIN 5 #define I9XX_P_SDVO_DAC_MAX 80 #define I9XX_P_LVDS_MIN 7 #define I9XX_P_LVDS_MAX 98 -#define IGD_P_LVDS_MIN 7 -#define IGD_P_LVDS_MAX 112 +#define PINEVIEW_P_LVDS_MIN 7 +#define PINEVIEW_P_LVDS_MAX 112 #define I9XX_P1_MIN 1 #define I9XX_P1_MAX 8 #define I9XX_P2_SDVO_DAC_SLOW 10 @@ -234,53 +233,108 @@ #define G4X_P2_DISPLAY_PORT_FAST 10 #define G4X_P2_DISPLAY_PORT_LIMIT 0 -/* IGDNG */ +/* Ironlake / Sandybridge */ /* as we calculate clock using (register_value + 2) for N/M1/M2, so here the range value for them is (actual_value-2). */ -#define IGDNG_DOT_MIN 25000 -#define IGDNG_DOT_MAX 350000 -#define IGDNG_VCO_MIN 1760000 -#define IGDNG_VCO_MAX 3510000 -#define IGDNG_N_MIN 1 -#define IGDNG_N_MAX 5 -#define IGDNG_M_MIN 79 -#define IGDNG_M_MAX 118 -#define IGDNG_M1_MIN 12 -#define IGDNG_M1_MAX 23 -#define IGDNG_M2_MIN 5 -#define IGDNG_M2_MAX 9 -#define IGDNG_P_SDVO_DAC_MIN 5 -#define IGDNG_P_SDVO_DAC_MAX 80 -#define IGDNG_P_LVDS_MIN 28 -#define IGDNG_P_LVDS_MAX 112 -#define IGDNG_P1_MIN 1 -#define IGDNG_P1_MAX 8 -#define IGDNG_P2_SDVO_DAC_SLOW 10 -#define IGDNG_P2_SDVO_DAC_FAST 5 -#define IGDNG_P2_LVDS_SLOW 14 /* single channel */ -#define IGDNG_P2_LVDS_FAST 7 /* double channel */ -#define IGDNG_P2_DOT_LIMIT 225000 /* 225Mhz */ +#define IRONLAKE_DOT_MIN 25000 +#define IRONLAKE_DOT_MAX 350000 +#define IRONLAKE_VCO_MIN 1760000 +#define IRONLAKE_VCO_MAX 3510000 +#define IRONLAKE_M1_MIN 12 +#define IRONLAKE_M1_MAX 22 +#define IRONLAKE_M2_MIN 5 +#define IRONLAKE_M2_MAX 9 +#define IRONLAKE_P2_DOT_LIMIT 225000 /* 225Mhz */ + +/* We have parameter ranges for different type of outputs. */ + +/* DAC & HDMI Refclk 120Mhz */ +#define IRONLAKE_DAC_N_MIN 1 +#define IRONLAKE_DAC_N_MAX 5 +#define IRONLAKE_DAC_M_MIN 79 +#define IRONLAKE_DAC_M_MAX 127 +#define IRONLAKE_DAC_P_MIN 5 +#define IRONLAKE_DAC_P_MAX 80 +#define IRONLAKE_DAC_P1_MIN 1 +#define IRONLAKE_DAC_P1_MAX 8 +#define IRONLAKE_DAC_P2_SLOW 10 +#define IRONLAKE_DAC_P2_FAST 5 + +/* LVDS single-channel 120Mhz refclk */ +#define IRONLAKE_LVDS_S_N_MIN 1 +#define IRONLAKE_LVDS_S_N_MAX 3 +#define IRONLAKE_LVDS_S_M_MIN 79 +#define IRONLAKE_LVDS_S_M_MAX 118 +#define IRONLAKE_LVDS_S_P_MIN 28 +#define IRONLAKE_LVDS_S_P_MAX 112 +#define IRONLAKE_LVDS_S_P1_MIN 2 +#define IRONLAKE_LVDS_S_P1_MAX 8 +#define IRONLAKE_LVDS_S_P2_SLOW 14 +#define IRONLAKE_LVDS_S_P2_FAST 14 + +/* LVDS dual-channel 120Mhz refclk */ +#define IRONLAKE_LVDS_D_N_MIN 1 +#define IRONLAKE_LVDS_D_N_MAX 3 +#define IRONLAKE_LVDS_D_M_MIN 79 +#define IRONLAKE_LVDS_D_M_MAX 127 +#define IRONLAKE_LVDS_D_P_MIN 14 +#define IRONLAKE_LVDS_D_P_MAX 56 +#define IRONLAKE_LVDS_D_P1_MIN 2 +#define IRONLAKE_LVDS_D_P1_MAX 8 +#define IRONLAKE_LVDS_D_P2_SLOW 7 +#define IRONLAKE_LVDS_D_P2_FAST 7 + +/* LVDS single-channel 100Mhz refclk */ +#define IRONLAKE_LVDS_S_SSC_N_MIN 1 +#define IRONLAKE_LVDS_S_SSC_N_MAX 2 +#define IRONLAKE_LVDS_S_SSC_M_MIN 79 +#define IRONLAKE_LVDS_S_SSC_M_MAX 126 +#define IRONLAKE_LVDS_S_SSC_P_MIN 28 +#define IRONLAKE_LVDS_S_SSC_P_MAX 112 +#define IRONLAKE_LVDS_S_SSC_P1_MIN 2 +#define IRONLAKE_LVDS_S_SSC_P1_MAX 8 +#define IRONLAKE_LVDS_S_SSC_P2_SLOW 14 +#define IRONLAKE_LVDS_S_SSC_P2_FAST 14 + +/* LVDS dual-channel 100Mhz refclk */ +#define IRONLAKE_LVDS_D_SSC_N_MIN 1 +#define IRONLAKE_LVDS_D_SSC_N_MAX 3 +#define IRONLAKE_LVDS_D_SSC_M_MIN 79 +#define IRONLAKE_LVDS_D_SSC_M_MAX 126 +#define IRONLAKE_LVDS_D_SSC_P_MIN 14 +#define IRONLAKE_LVDS_D_SSC_P_MAX 42 +#define IRONLAKE_LVDS_D_SSC_P1_MIN 2 +#define IRONLAKE_LVDS_D_SSC_P1_MAX 6 +#define IRONLAKE_LVDS_D_SSC_P2_SLOW 7 +#define IRONLAKE_LVDS_D_SSC_P2_FAST 7 + +/* DisplayPort */ +#define IRONLAKE_DP_N_MIN 1 +#define IRONLAKE_DP_N_MAX 2 +#define IRONLAKE_DP_M_MIN 81 +#define IRONLAKE_DP_M_MAX 90 +#define IRONLAKE_DP_P_MIN 10 +#define IRONLAKE_DP_P_MAX 20 +#define IRONLAKE_DP_P2_FAST 10 +#define IRONLAKE_DP_P2_SLOW 10 +#define IRONLAKE_DP_P2_LIMIT 0 +#define IRONLAKE_DP_P1_MIN 1 +#define IRONLAKE_DP_P1_MAX 2 static bool intel_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc, int target, int refclk, intel_clock_t *best_clock); static bool -intel_find_best_reduced_PLL(const intel_limit_t *limit, struct drm_crtc *crtc, - int target, int refclk, 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 *best_clock); -static bool -intel_igdng_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc, - int target, int refclk, 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 *best_clock); static bool -intel_find_pll_igdng_dp(const intel_limit_t *, struct drm_crtc *crtc, - int target, int refclk, intel_clock_t *best_clock); +intel_find_pll_ironlake_dp(const intel_limit_t *, struct drm_crtc *crtc, + int target, int refclk, intel_clock_t *best_clock); static const intel_limit_t intel_limits_i8xx_dvo = { .dot = { .min = I8XX_DOT_MIN, .max = I8XX_DOT_MAX }, @@ -294,7 +348,6 @@ .p2 = { .dot_limit = I8XX_P2_SLOW_LIMIT, .p2_slow = I8XX_P2_SLOW, .p2_fast = I8XX_P2_FAST }, .find_pll = intel_find_best_PLL, - .find_reduced_pll = intel_find_best_reduced_PLL, }; static const intel_limit_t intel_limits_i8xx_lvds = { @@ -309,7 +362,6 @@ .p2 = { .dot_limit = I8XX_P2_SLOW_LIMIT, .p2_slow = I8XX_P2_LVDS_SLOW, .p2_fast = I8XX_P2_LVDS_FAST }, .find_pll = intel_find_best_PLL, - .find_reduced_pll = intel_find_best_reduced_PLL, }; static const intel_limit_t intel_limits_i9xx_sdvo = { @@ -324,7 +376,6 @@ .p2 = { .dot_limit = I9XX_P2_SDVO_DAC_SLOW_LIMIT, .p2_slow = I9XX_P2_SDVO_DAC_SLOW, .p2_fast = I9XX_P2_SDVO_DAC_FAST }, .find_pll = intel_find_best_PLL, - .find_reduced_pll = intel_find_best_reduced_PLL, }; static const intel_limit_t intel_limits_i9xx_lvds = { @@ -342,7 +393,6 @@ .p2 = { .dot_limit = I9XX_P2_LVDS_SLOW_LIMIT, .p2_slow = I9XX_P2_LVDS_SLOW, .p2_fast = I9XX_P2_LVDS_FAST }, .find_pll = intel_find_best_PLL, - .find_reduced_pll = intel_find_best_reduced_PLL, }; /* below parameter and function is for G4X Chipset Family*/ @@ -360,7 +410,6 @@ .p2_fast = G4X_P2_SDVO_FAST }, .find_pll = intel_g4x_find_best_PLL, - .find_reduced_pll = intel_g4x_find_best_PLL, }; static const intel_limit_t intel_limits_g4x_hdmi = { @@ -377,7 +426,6 @@ .p2_fast = G4X_P2_HDMI_DAC_FAST }, .find_pll = intel_g4x_find_best_PLL, - .find_reduced_pll = intel_g4x_find_best_PLL, }; static const intel_limit_t intel_limits_g4x_single_channel_lvds = { @@ -402,7 +450,6 @@ .p2_fast = G4X_P2_SINGLE_CHANNEL_LVDS_FAST }, .find_pll = intel_g4x_find_best_PLL, - .find_reduced_pll = intel_g4x_find_best_PLL, }; static const intel_limit_t intel_limits_g4x_dual_channel_lvds = { @@ -427,7 +474,6 @@ .p2_fast = G4X_P2_DUAL_CHANNEL_LVDS_FAST }, .find_pll = intel_g4x_find_best_PLL, - .find_reduced_pll = intel_g4x_find_best_PLL, }; static const intel_limit_t intel_limits_g4x_display_port = { @@ -453,74 +499,162 @@ .find_pll = intel_find_pll_g4x_dp, }; -static const intel_limit_t intel_limits_igd_sdvo = { +static const intel_limit_t intel_limits_pineview_sdvo = { .dot = { .min = I9XX_DOT_MIN, .max = I9XX_DOT_MAX}, - .vco = { .min = IGD_VCO_MIN, .max = IGD_VCO_MAX }, - .n = { .min = IGD_N_MIN, .max = IGD_N_MAX }, - .m = { .min = IGD_M_MIN, .max = IGD_M_MAX }, - .m1 = { .min = IGD_M1_MIN, .max = IGD_M1_MAX }, - .m2 = { .min = IGD_M2_MIN, .max = IGD_M2_MAX }, + .vco = { .min = PINEVIEW_VCO_MIN, .max = PINEVIEW_VCO_MAX }, + .n = { .min = PINEVIEW_N_MIN, .max = PINEVIEW_N_MAX }, + .m = { .min = PINEVIEW_M_MIN, .max = PINEVIEW_M_MAX }, + .m1 = { .min = PINEVIEW_M1_MIN, .max = PINEVIEW_M1_MAX }, + .m2 = { .min = PINEVIEW_M2_MIN, .max = PINEVIEW_M2_MAX }, .p = { .min = I9XX_P_SDVO_DAC_MIN, .max = I9XX_P_SDVO_DAC_MAX }, .p1 = { .min = I9XX_P1_MIN, .max = I9XX_P1_MAX }, .p2 = { .dot_limit = I9XX_P2_SDVO_DAC_SLOW_LIMIT, .p2_slow = I9XX_P2_SDVO_DAC_SLOW, .p2_fast = I9XX_P2_SDVO_DAC_FAST }, .find_pll = intel_find_best_PLL, - .find_reduced_pll = intel_find_best_reduced_PLL, }; -static const intel_limit_t intel_limits_igd_lvds = { +static const intel_limit_t intel_limits_pineview_lvds = { .dot = { .min = I9XX_DOT_MIN, .max = I9XX_DOT_MAX }, - .vco = { .min = IGD_VCO_MIN, .max = IGD_VCO_MAX }, - .n = { .min = IGD_N_MIN, .max = IGD_N_MAX }, - .m = { .min = IGD_M_MIN, .max = IGD_M_MAX }, - .m1 = { .min = IGD_M1_MIN, .max = IGD_M1_MAX }, - .m2 = { .min = IGD_M2_MIN, .max = IGD_M2_MAX }, - .p = { .min = IGD_P_LVDS_MIN, .max = IGD_P_LVDS_MAX }, + .vco = { .min = PINEVIEW_VCO_MIN, .max = PINEVIEW_VCO_MAX }, + .n = { .min = PINEVIEW_N_MIN, .max = PINEVIEW_N_MAX }, + .m = { .min = PINEVIEW_M_MIN, .max = PINEVIEW_M_MAX }, + .m1 = { .min = PINEVIEW_M1_MIN, .max = PINEVIEW_M1_MAX }, + .m2 = { .min = PINEVIEW_M2_MIN, .max = PINEVIEW_M2_MAX }, + .p = { .min = PINEVIEW_P_LVDS_MIN, .max = PINEVIEW_P_LVDS_MAX }, .p1 = { .min = I9XX_P1_MIN, .max = I9XX_P1_MAX }, - /* IGD only supports single-channel mode. */ + /* Pineview only supports single-channel mode. */ .p2 = { .dot_limit = I9XX_P2_LVDS_SLOW_LIMIT, .p2_slow = I9XX_P2_LVDS_SLOW, .p2_fast = I9XX_P2_LVDS_SLOW }, .find_pll = intel_find_best_PLL, - .find_reduced_pll = intel_find_best_reduced_PLL, }; -static const intel_limit_t intel_limits_igdng_sdvo = { - .dot = { .min = IGDNG_DOT_MIN, .max = IGDNG_DOT_MAX }, - .vco = { .min = IGDNG_VCO_MIN, .max = IGDNG_VCO_MAX }, - .n = { .min = IGDNG_N_MIN, .max = IGDNG_N_MAX }, - .m = { .min = IGDNG_M_MIN, .max = IGDNG_M_MAX }, - .m1 = { .min = IGDNG_M1_MIN, .max = IGDNG_M1_MAX }, - .m2 = { .min = IGDNG_M2_MIN, .max = IGDNG_M2_MAX }, - .p = { .min = IGDNG_P_SDVO_DAC_MIN, .max = IGDNG_P_SDVO_DAC_MAX }, - .p1 = { .min = IGDNG_P1_MIN, .max = IGDNG_P1_MAX }, - .p2 = { .dot_limit = IGDNG_P2_DOT_LIMIT, - .p2_slow = IGDNG_P2_SDVO_DAC_SLOW, - .p2_fast = IGDNG_P2_SDVO_DAC_FAST }, - .find_pll = intel_igdng_find_best_PLL, +static const intel_limit_t intel_limits_ironlake_dac = { + .dot = { .min = IRONLAKE_DOT_MIN, .max = IRONLAKE_DOT_MAX }, + .vco = { .min = IRONLAKE_VCO_MIN, .max = IRONLAKE_VCO_MAX }, + .n = { .min = IRONLAKE_DAC_N_MIN, .max = IRONLAKE_DAC_N_MAX }, + .m = { .min = IRONLAKE_DAC_M_MIN, .max = IRONLAKE_DAC_M_MAX }, + .m1 = { .min = IRONLAKE_M1_MIN, .max = IRONLAKE_M1_MAX }, + .m2 = { .min = IRONLAKE_M2_MIN, .max = IRONLAKE_M2_MAX }, + .p = { .min = IRONLAKE_DAC_P_MIN, .max = IRONLAKE_DAC_P_MAX }, + .p1 = { .min = IRONLAKE_DAC_P1_MIN, .max = IRONLAKE_DAC_P1_MAX }, + .p2 = { .dot_limit = IRONLAKE_P2_DOT_LIMIT, + .p2_slow = IRONLAKE_DAC_P2_SLOW, + .p2_fast = IRONLAKE_DAC_P2_FAST }, + .find_pll = intel_g4x_find_best_PLL, +}; + +static const intel_limit_t intel_limits_ironlake_single_lvds = { + .dot = { .min = IRONLAKE_DOT_MIN, .max = IRONLAKE_DOT_MAX }, + .vco = { .min = IRONLAKE_VCO_MIN, .max = IRONLAKE_VCO_MAX }, + .n = { .min = IRONLAKE_LVDS_S_N_MIN, .max = IRONLAKE_LVDS_S_N_MAX }, + .m = { .min = IRONLAKE_LVDS_S_M_MIN, .max = IRONLAKE_LVDS_S_M_MAX }, + .m1 = { .min = IRONLAKE_M1_MIN, .max = IRONLAKE_M1_MAX }, + .m2 = { .min = IRONLAKE_M2_MIN, .max = IRONLAKE_M2_MAX }, + .p = { .min = IRONLAKE_LVDS_S_P_MIN, .max = IRONLAKE_LVDS_S_P_MAX }, + .p1 = { .min = IRONLAKE_LVDS_S_P1_MIN, .max = IRONLAKE_LVDS_S_P1_MAX }, + .p2 = { .dot_limit = IRONLAKE_P2_DOT_LIMIT, + .p2_slow = IRONLAKE_LVDS_S_P2_SLOW, + .p2_fast = IRONLAKE_LVDS_S_P2_FAST }, + .find_pll = intel_g4x_find_best_PLL, +}; + +static const intel_limit_t intel_limits_ironlake_dual_lvds = { + .dot = { .min = IRONLAKE_DOT_MIN, .max = IRONLAKE_DOT_MAX }, + .vco = { .min = IRONLAKE_VCO_MIN, .max = IRONLAKE_VCO_MAX }, + .n = { .min = IRONLAKE_LVDS_D_N_MIN, .max = IRONLAKE_LVDS_D_N_MAX }, + .m = { .min = IRONLAKE_LVDS_D_M_MIN, .max = IRONLAKE_LVDS_D_M_MAX }, + .m1 = { .min = IRONLAKE_M1_MIN, .max = IRONLAKE_M1_MAX }, + .m2 = { .min = IRONLAKE_M2_MIN, .max = IRONLAKE_M2_MAX }, + .p = { .min = IRONLAKE_LVDS_D_P_MIN, .max = IRONLAKE_LVDS_D_P_MAX }, + .p1 = { .min = IRONLAKE_LVDS_D_P1_MIN, .max = IRONLAKE_LVDS_D_P1_MAX }, + .p2 = { .dot_limit = IRONLAKE_P2_DOT_LIMIT, + .p2_slow = IRONLAKE_LVDS_D_P2_SLOW, + .p2_fast = IRONLAKE_LVDS_D_P2_FAST }, + .find_pll = intel_g4x_find_best_PLL, +}; + +static const intel_limit_t intel_limits_ironlake_single_lvds_100m = { + .dot = { .min = IRONLAKE_DOT_MIN, .max = IRONLAKE_DOT_MAX }, + .vco = { .min = IRONLAKE_VCO_MIN, .max = IRONLAKE_VCO_MAX }, + .n = { .min = IRONLAKE_LVDS_S_SSC_N_MIN, .max = IRONLAKE_LVDS_S_SSC_N_MAX }, + .m = { .min = IRONLAKE_LVDS_S_SSC_M_MIN, .max = IRONLAKE_LVDS_S_SSC_M_MAX }, + .m1 = { .min = IRONLAKE_M1_MIN, .max = IRONLAKE_M1_MAX }, + .m2 = { .min = IRONLAKE_M2_MIN, .max = IRONLAKE_M2_MAX }, + .p = { .min = IRONLAKE_LVDS_S_SSC_P_MIN, .max = IRONLAKE_LVDS_S_SSC_P_MAX }, + .p1 = { .min = IRONLAKE_LVDS_S_SSC_P1_MIN,.max = IRONLAKE_LVDS_S_SSC_P1_MAX }, + .p2 = { .dot_limit = IRONLAKE_P2_DOT_LIMIT, + .p2_slow = IRONLAKE_LVDS_S_SSC_P2_SLOW, + .p2_fast = IRONLAKE_LVDS_S_SSC_P2_FAST }, + .find_pll = intel_g4x_find_best_PLL, +}; + +static const intel_limit_t intel_limits_ironlake_dual_lvds_100m = { + .dot = { .min = IRONLAKE_DOT_MIN, .max = IRONLAKE_DOT_MAX }, + .vco = { .min = IRONLAKE_VCO_MIN, .max = IRONLAKE_VCO_MAX }, + .n = { .min = IRONLAKE_LVDS_D_SSC_N_MIN, .max = IRONLAKE_LVDS_D_SSC_N_MAX }, + .m = { .min = IRONLAKE_LVDS_D_SSC_M_MIN, .max = IRONLAKE_LVDS_D_SSC_M_MAX }, + .m1 = { .min = IRONLAKE_M1_MIN, .max = IRONLAKE_M1_MAX }, + .m2 = { .min = IRONLAKE_M2_MIN, .max = IRONLAKE_M2_MAX }, + .p = { .min = IRONLAKE_LVDS_D_SSC_P_MIN, .max = IRONLAKE_LVDS_D_SSC_P_MAX }, + .p1 = { .min = IRONLAKE_LVDS_D_SSC_P1_MIN,.max = IRONLAKE_LVDS_D_SSC_P1_MAX }, + .p2 = { .dot_limit = IRONLAKE_P2_DOT_LIMIT, + .p2_slow = IRONLAKE_LVDS_D_SSC_P2_SLOW, + .p2_fast = IRONLAKE_LVDS_D_SSC_P2_FAST }, + .find_pll = intel_g4x_find_best_PLL, }; -static const intel_limit_t intel_limits_igdng_lvds = { - .dot = { .min = IGDNG_DOT_MIN, .max = IGDNG_DOT_MAX }, - .vco = { .min = IGDNG_VCO_MIN, .max = IGDNG_VCO_MAX }, - .n = { .min = IGDNG_N_MIN, .max = IGDNG_N_MAX }, - .m = { .min = IGDNG_M_MIN, .max = IGDNG_M_MAX }, - .m1 = { .min = IGDNG_M1_MIN, .max = IGDNG_M1_MAX }, - .m2 = { .min = IGDNG_M2_MIN, .max = IGDNG_M2_MAX }, - .p = { .min = IGDNG_P_LVDS_MIN, .max = IGDNG_P_LVDS_MAX }, - .p1 = { .min = IGDNG_P1_MIN, .max = IGDNG_P1_MAX }, - .p2 = { .dot_limit = IGDNG_P2_DOT_LIMIT, - .p2_slow = IGDNG_P2_LVDS_SLOW, - .p2_fast = IGDNG_P2_LVDS_FAST }, - .find_pll = intel_igdng_find_best_PLL, +static const intel_limit_t intel_limits_ironlake_display_port = { + .dot = { .min = IRONLAKE_DOT_MIN, + .max = IRONLAKE_DOT_MAX }, + .vco = { .min = IRONLAKE_VCO_MIN, + .max = IRONLAKE_VCO_MAX}, + .n = { .min = IRONLAKE_DP_N_MIN, + .max = IRONLAKE_DP_N_MAX }, + .m = { .min = IRONLAKE_DP_M_MIN, + .max = IRONLAKE_DP_M_MAX }, + .m1 = { .min = IRONLAKE_M1_MIN, + .max = IRONLAKE_M1_MAX }, + .m2 = { .min = IRONLAKE_M2_MIN, + .max = IRONLAKE_M2_MAX }, + .p = { .min = IRONLAKE_DP_P_MIN, + .max = IRONLAKE_DP_P_MAX }, + .p1 = { .min = IRONLAKE_DP_P1_MIN, + .max = IRONLAKE_DP_P1_MAX}, + .p2 = { .dot_limit = IRONLAKE_DP_P2_LIMIT, + .p2_slow = IRONLAKE_DP_P2_SLOW, + .p2_fast = IRONLAKE_DP_P2_FAST }, + .find_pll = intel_find_pll_ironlake_dp, }; -static const intel_limit_t *intel_igdng_limit(struct drm_crtc *crtc) +static const intel_limit_t *intel_ironlake_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)) - limit = &intel_limits_igdng_lvds; + int refclk = 120; + + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) { + if (dev_priv->lvds_use_ssc && dev_priv->lvds_ssc_freq == 100) + refclk = 100; + + if ((I915_READ(PCH_LVDS) & LVDS_CLKB_POWER_MASK) == + LVDS_CLKB_POWER_UP) { + /* LVDS dual channel */ + if (refclk == 100) + limit = &intel_limits_ironlake_dual_lvds_100m; + else + limit = &intel_limits_ironlake_dual_lvds; + } else { + if (refclk == 100) + limit = &intel_limits_ironlake_single_lvds_100m; + else + limit = &intel_limits_ironlake_single_lvds; + } + } else if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT) || + HAS_eDP) + limit = &intel_limits_ironlake_display_port; else - limit = &intel_limits_igdng_sdvo; + limit = &intel_limits_ironlake_dac; return limit; } @@ -557,20 +691,20 @@ struct drm_device *dev = crtc->dev; const intel_limit_t *limit; - if (IS_IGDNG(dev)) - limit = intel_igdng_limit(crtc); + if (HAS_PCH_SPLIT(dev)) + limit = intel_ironlake_limit(crtc); else if (IS_G4X(dev)) { limit = intel_g4x_limit(crtc); - } else if (IS_I9XX(dev) && !IS_IGD(dev)) { + } else if (IS_I9XX(dev) && !IS_PINEVIEW(dev)) { if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) limit = &intel_limits_i9xx_lvds; else limit = &intel_limits_i9xx_sdvo; - } else if (IS_IGD(dev)) { + } else if (IS_PINEVIEW(dev)) { if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) - limit = &intel_limits_igd_lvds; + limit = &intel_limits_pineview_lvds; else - limit = &intel_limits_igd_sdvo; + limit = &intel_limits_pineview_sdvo; } else { if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) limit = &intel_limits_i8xx_lvds; @@ -580,8 +714,8 @@ return limit; } -/* m1 is reserved as 0 in IGD, n is a ring counter */ -static void igd_clock(int refclk, intel_clock_t *clock) +/* 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; @@ -591,8 +725,8 @@ static void intel_clock(struct drm_device *dev, int refclk, intel_clock_t *clock) { - if (IS_IGD(dev)) { - igd_clock(refclk, clock); + if (IS_PINEVIEW(dev)) { + pineview_clock(refclk, clock); return; } clock->m = 5 * (clock->m1 + 2) + (clock->m2 + 2); @@ -657,7 +791,7 @@ 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_IGD(dev)) + 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"); @@ -706,16 +840,17 @@ memset (best_clock, 0, sizeof (*best_clock)); - for (clock.p1 = limit->p1.max; clock.p1 >= limit->p1.min; clock.p1--) { - 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 IGD */ - if (clock.m2 >= clock.m1 && !IS_IGD(dev)) - break; - for (clock.n = limit->n.min; - clock.n <= limit->n.max; clock.n++) { + 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); @@ -736,46 +871,6 @@ return (err != target); } - -static bool -intel_find_best_reduced_PLL(const intel_limit_t *limit, struct drm_crtc *crtc, - int target, int refclk, intel_clock_t *best_clock) - -{ - struct drm_device *dev = crtc->dev; - intel_clock_t clock; - int err = target; - bool found = false; - - memcpy(&clock, best_clock, sizeof(intel_clock_t)); - - 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 IGD */ - if (clock.m2 >= clock.m1 && !IS_IGD(dev)) - break; - for (clock.n = limit->n.min; clock.n <= limit->n.max; - clock.n++) { - int this_err; - - intel_clock(dev, refclk, &clock); - - if (!intel_PLL_is_valid(crtc, &clock)) - continue; - - this_err = abs(clock.dot - target); - if (this_err < err) { - *best_clock = clock; - err = this_err; - found = true; - } - } - } - } - - return found; -} - static bool intel_g4x_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc, int target, int refclk, intel_clock_t *best_clock) @@ -785,12 +880,18 @@ intel_clock_t clock; int max_n; bool found; - /* approximately equals target * 0.00488 */ - int err_most = (target >> 8) + (target >> 10); + /* approximately equals target * 0.00585 */ + int err_most = (target >> 8) + (target >> 9); found = false; if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) { - if ((I915_READ(LVDS) & LVDS_CLKB_POWER_MASK) == + int lvds_reg; + + if (IS_IRONLAKE(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 @@ -833,11 +934,16 @@ } static bool -intel_find_pll_igdng_dp(const intel_limit_t *limit, struct drm_crtc *crtc, - int target, int refclk, intel_clock_t *best_clock) +intel_find_pll_ironlake_dp(const intel_limit_t *limit, struct drm_crtc *crtc, + int target, int refclk, intel_clock_t *best_clock) { struct drm_device *dev = crtc->dev; intel_clock_t clock; + + /* return directly when it is eDP */ + if (HAS_eDP) + return true; + if (target < 200000) { clock.n = 1; clock.p1 = 2; @@ -856,68 +962,6 @@ return true; } -static bool -intel_igdng_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc, - int target, int refclk, 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_most = 47; - int err_min = 10000; - - /* eDP has only 2 clock choice, no n/m/p setting */ - if (HAS_eDP) - return true; - - if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT)) - return intel_find_pll_igdng_dp(limit, crtc, target, - refclk, best_clock); - - if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) { - if ((I915_READ(PCH_LVDS) & 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)); - for (clock.p1 = limit->p1.max; clock.p1 >= limit->p1.min; clock.p1--) { - /* based on hardware requriment prefer smaller n to precision */ - for (clock.n = limit->n.min; clock.n <= limit->n.max; clock.n++) { - /* based on hardware requirment 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--) { - int this_err; - - intel_clock(dev, refclk, &clock); - if (!intel_PLL_is_valid(crtc, &clock)) - continue; - this_err = abs((10000 - (target*10000/clock.dot))); - if (this_err < err_most) { - *best_clock = clock; - /* found on first matching */ - goto out; - } else if (this_err < err_min) { - *best_clock = clock; - err_min = this_err; - } - } - } - } - } -out: - 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, @@ -949,7 +993,7 @@ intel_wait_for_vblank(struct drm_device *dev) { /* Wait for 20ms, i.e. one cycle at 50hz. */ - mdelay(20); + msleep(20); } /* Parameters have changed, update FBC info */ @@ -988,13 +1032,15 @@ /* enable it... */ fbc_ctl = FBC_CTL_EN | FBC_CTL_PERIODIC; + if (IS_I945GM(dev)) + fbc_ctl |= FBC_C3_IDLE; /* 945 needs special SR handling */ fbc_ctl |= (dev_priv->cfb_pitch & 0xff) << FBC_CTL_STRIDE_SHIFT; fbc_ctl |= (interval & 0x2fff) << FBC_CTL_INTERVAL_SHIFT; if (obj_priv->tiling_mode != I915_TILING_NONE) fbc_ctl |= dev_priv->cfb_fence; I915_WRITE(FBC_CONTROL, fbc_ctl); - DRM_DEBUG("enabled FBC, pitch %ld, yoff %d, plane %d, ", + DRM_DEBUG_KMS("enabled FBC, pitch %ld, yoff %d, plane %d, ", dev_priv->cfb_pitch, crtc->y, dev_priv->cfb_plane); } @@ -1017,7 +1063,7 @@ intel_wait_for_vblank(dev); - DRM_DEBUG("disabled FBC\n"); + DRM_DEBUG_KMS("disabled FBC\n"); } static bool i8xx_fbc_enabled(struct drm_crtc *crtc) @@ -1062,7 +1108,7 @@ /* enable it... */ I915_WRITE(DPFC_CONTROL, I915_READ(DPFC_CONTROL) | DPFC_CTL_EN); - DRM_DEBUG("enabled fbc on plane %d\n", intel_crtc->plane); + DRM_DEBUG_KMS("enabled fbc on plane %d\n", intel_crtc->plane); } void g4x_disable_fbc(struct drm_device *dev) @@ -1076,7 +1122,7 @@ I915_WRITE(DPFC_CONTROL, dpfc_ctl); intel_wait_for_vblank(dev); - DRM_DEBUG("disabled FBC\n"); + DRM_DEBUG_KMS("disabled FBC\n"); } static bool g4x_fbc_enabled(struct drm_crtc *crtc) @@ -1115,8 +1161,12 @@ struct drm_framebuffer *fb = crtc->fb; struct intel_framebuffer *intel_fb; struct drm_i915_gem_object *obj_priv; + struct drm_crtc *tmp_crtc; struct intel_crtc *intel_crtc = to_intel_crtc(crtc); int plane = intel_crtc->plane; + int crtcs_enabled = 0; + + DRM_DEBUG_KMS("\n"); if (!i915_powersave) return; @@ -1136,30 +1186,42 @@ * If FBC is already on, we just have to verify that we can * keep it that way... * Need to disable if: + * - more than one pipe is active * - changing FBC params (stride, fence, mode) * - new fb is too large to fit in compressed buffer * - going to an unsupported config (interlace, pixel multiply, etc.) */ + list_for_each_entry(tmp_crtc, &dev->mode_config.crtc_list, head) { + if (tmp_crtc->enabled) + crtcs_enabled++; + } + DRM_DEBUG_KMS("%d pipes active\n", crtcs_enabled); + if (crtcs_enabled > 1) { + DRM_DEBUG_KMS("more than one pipe active, disabling compression\n"); + goto out_disable; + } if (intel_fb->obj->size > dev_priv->cfb_size) { - DRM_DEBUG("framebuffer too large, disabling compression\n"); + DRM_DEBUG_KMS("framebuffer too large, disabling " + "compression\n"); goto out_disable; } if ((mode->flags & DRM_MODE_FLAG_INTERLACE) || (mode->flags & DRM_MODE_FLAG_DBLSCAN)) { - DRM_DEBUG("mode incompatible with compression, disabling\n"); + DRM_DEBUG_KMS("mode incompatible with compression, " + "disabling\n"); goto out_disable; } if ((mode->hdisplay > 2048) || (mode->vdisplay > 1536)) { - DRM_DEBUG("mode too large for compression, disabling\n"); + DRM_DEBUG_KMS("mode too large for compression, disabling\n"); goto out_disable; } if ((IS_I915GM(dev) || IS_I945GM(dev)) && plane != 0) { - DRM_DEBUG("plane not 0, disabling compression\n"); + DRM_DEBUG_KMS("plane not 0, disabling compression\n"); goto out_disable; } if (obj_priv->tiling_mode != I915_TILING_X) { - DRM_DEBUG("framebuffer not tiled, disabling compression\n"); + DRM_DEBUG_KMS("framebuffer not tiled, disabling compression\n"); goto out_disable; } @@ -1181,13 +1243,57 @@ return; out_disable: - DRM_DEBUG("unsupported config, disabling FBC\n"); + DRM_DEBUG_KMS("unsupported config, disabling FBC\n"); /* Multiple disables should be harmless */ if (dev_priv->display.fbc_enabled(crtc)) dev_priv->display.disable_fbc(dev); } static int +intel_pin_and_fence_fb_obj(struct drm_device *dev, struct drm_gem_object *obj) +{ + struct drm_i915_gem_object *obj_priv = obj->driver_private; + u32 alignment; + int ret; + + switch (obj_priv->tiling_mode) { + case I915_TILING_NONE: + 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(); + } + + ret = i915_gem_object_pin(obj, alignment); + if (ret != 0) + return ret; + + /* 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. + */ + if (obj_priv->fence_reg == I915_FENCE_REG_NONE && + obj_priv->tiling_mode != I915_TILING_NONE) { + ret = i915_gem_object_get_fence_reg(obj); + if (ret != 0) { + i915_gem_object_unpin(obj); + return ret; + } + } + + return 0; +} + +static int intel_pipe_set_base(struct drm_crtc *crtc, int x, int y, struct drm_framebuffer *old_fb) { @@ -1206,12 +1312,12 @@ int dspstride = (plane == 0) ? DSPASTRIDE : DSPBSTRIDE; int dsptileoff = (plane == 0 ? DSPATILEOFF : DSPBTILEOFF); int dspcntr_reg = (plane == 0) ? DSPACNTR : DSPBCNTR; - u32 dspcntr, alignment; + u32 dspcntr; int ret; /* no fb bound */ if (!crtc->fb) { - DRM_DEBUG("No FB bound\n"); + DRM_DEBUG_KMS("No FB bound\n"); return 0; } @@ -1228,50 +1334,20 @@ obj = intel_fb->obj; obj_priv = obj->driver_private; - switch (obj_priv->tiling_mode) { - case I915_TILING_NONE: - 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(); - } - mutex_lock(&dev->struct_mutex); - ret = i915_gem_object_pin(obj, alignment); + ret = intel_pin_and_fence_fb_obj(dev, obj); if (ret != 0) { mutex_unlock(&dev->struct_mutex); return ret; } - ret = i915_gem_object_set_to_gtt_domain(obj, 1); + ret = i915_gem_object_set_to_display_plane(obj); if (ret != 0) { i915_gem_object_unpin(obj); mutex_unlock(&dev->struct_mutex); return ret; } - /* 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. - */ - if (obj_priv->fence_reg == I915_FENCE_REG_NONE && - obj_priv->tiling_mode != I915_TILING_NONE) { - ret = i915_gem_object_get_fence_reg(obj); - if (ret != 0) { - i915_gem_object_unpin(obj); - mutex_unlock(&dev->struct_mutex); - return ret; - } - } - dspcntr = I915_READ(dspcntr_reg); /* Mask out pixel format bits in case we change it */ dspcntr &= ~DISPPLANE_PIXFORMAT_MASK; @@ -1287,7 +1363,10 @@ break; case 24: case 32: - dspcntr |= DISPPLANE_32BPP_NO_ALPHA; + if (crtc->fb->depth == 30) + dspcntr |= DISPPLANE_32BPP_30BIT_NO_ALPHA; + else + dspcntr |= DISPPLANE_32BPP_NO_ALPHA; break; default: DRM_ERROR("Unknown color depth\n"); @@ -1302,7 +1381,7 @@ dspcntr &= ~DISPPLANE_TILED; } - if (IS_IGDNG(dev)) + if (HAS_PCH_SPLIT(dev)) /* must disable */ dspcntr |= DISPPLANE_TRICKLE_FEED_DISABLE; @@ -1311,7 +1390,7 @@ Start = obj_priv->gtt_offset; Offset = y * crtc->fb->pitch + x * (crtc->fb->bits_per_pixel / 8); - DRM_DEBUG("Writing base %08lX %08lX %d %d\n", Start, Offset, x, y); + DRM_DEBUG_KMS("Writing base %08lX %08lX %d %d\n", Start, Offset, x, y); I915_WRITE(dspstride, crtc->fb->pitch); if (IS_I965G(dev)) { I915_WRITE(dspbase, Offset); @@ -1363,7 +1442,7 @@ u8 sr1; u32 vga_reg; - if (IS_IGDNG(dev)) + if (HAS_PCH_SPLIT(dev)) vga_reg = CPU_VGACNTRL; else vga_reg = VGACNTRL; @@ -1379,19 +1458,19 @@ I915_WRITE(vga_reg, VGA_DISP_DISABLE); } -static void igdng_disable_pll_edp (struct drm_crtc *crtc) +static void ironlake_disable_pll_edp (struct drm_crtc *crtc) { struct drm_device *dev = crtc->dev; struct drm_i915_private *dev_priv = dev->dev_private; u32 dpa_ctl; - DRM_DEBUG("\n"); + DRM_DEBUG_KMS("\n"); dpa_ctl = I915_READ(DP_A); dpa_ctl &= ~DP_PLL_ENABLE; I915_WRITE(DP_A, dpa_ctl); } -static void igdng_enable_pll_edp (struct drm_crtc *crtc) +static void ironlake_enable_pll_edp (struct drm_crtc *crtc) { struct drm_device *dev = crtc->dev; struct drm_i915_private *dev_priv = dev->dev_private; @@ -1400,17 +1479,18 @@ dpa_ctl = I915_READ(DP_A); dpa_ctl |= DP_PLL_ENABLE; I915_WRITE(DP_A, dpa_ctl); + POSTING_READ(DP_A); udelay(200); } -static void igdng_set_pll_edp (struct drm_crtc *crtc, int clock) +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("eDP PLL enable for clock %d\n", clock); + DRM_DEBUG_KMS("eDP PLL enable for clock %d\n", clock); dpa_ctl = I915_READ(DP_A); dpa_ctl &= ~DP_PLL_FREQ_MASK; @@ -1440,7 +1520,7 @@ udelay(500); } -static void igdng_crtc_dpms(struct drm_crtc *crtc, int mode) +static void ironlake_crtc_dpms(struct drm_crtc *crtc, int mode) { struct drm_device *dev = crtc->dev; struct drm_i915_private *dev_priv = dev->dev_private; @@ -1473,6 +1553,10 @@ int trans_vsync_reg = (pipe == 0) ? TRANS_VSYNC_A : TRANS_VSYNC_B; u32 temp; int tries = 5, j, n; + u32 pipe_bpc; + + temp = I915_READ(pipeconf_reg); + pipe_bpc = temp & PIPE_BPC_MASK; /* XXX: When our outputs are all unaware of DPMS modes other than off * and on, we should map those modes to DRM_MODE_DPMS_OFF in the CRTC. @@ -1481,10 +1565,19 @@ case DRM_MODE_DPMS_ON: case DRM_MODE_DPMS_STANDBY: case DRM_MODE_DPMS_SUSPEND: - DRM_DEBUG("crtc %d dpms on\n", pipe); + DRM_DEBUG_KMS("crtc %d dpms on\n", pipe); + + 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); + POSTING_READ(PCH_LVDS); + } + } + if (HAS_eDP) { /* enable eDP PLL */ - igdng_enable_pll_edp(crtc); + ironlake_enable_pll_edp(crtc); } else { /* enable PCH DPLL */ temp = I915_READ(pch_dpll_reg); @@ -1495,13 +1588,19 @@ /* enable PCH FDI RX PLL, wait warmup plus DMI latency */ temp = I915_READ(fdi_rx_reg); + /* + * make the BPC in FDI Rx be consistent with that in + * pipeconf reg. + */ + temp &= ~(0x7 << 16); + temp |= (pipe_bpc << 11); I915_WRITE(fdi_rx_reg, temp | FDI_RX_PLL_ENABLE | FDI_SEL_PCDCLK | FDI_DP_PORT_WIDTH_X4); /* default 4 lanes */ I915_READ(fdi_rx_reg); udelay(200); - /* Enable CPU FDI TX PLL, always on for IGDNG */ + /* Enable CPU FDI TX PLL, always on for Ironlake */ temp = I915_READ(fdi_tx_reg); if ((temp & FDI_TX_PLL_ENABLE) == 0) { I915_WRITE(fdi_tx_reg, temp | FDI_TX_PLL_ENABLE); @@ -1568,12 +1667,13 @@ udelay(150); temp = I915_READ(fdi_rx_iir_reg); - DRM_DEBUG("FDI_RX_IIR 0x%x\n", temp); + DRM_DEBUG_KMS("FDI_RX_IIR 0x%x\n", temp); if ((temp & FDI_RX_BIT_LOCK) == 0) { for (j = 0; j < tries; j++) { temp = I915_READ(fdi_rx_iir_reg); - DRM_DEBUG("FDI_RX_IIR 0x%x\n", temp); + DRM_DEBUG_KMS("FDI_RX_IIR 0x%x\n", + temp); if (temp & FDI_RX_BIT_LOCK) break; udelay(200); @@ -1582,11 +1682,11 @@ I915_WRITE(fdi_rx_iir_reg, temp | FDI_RX_BIT_LOCK); else - DRM_DEBUG("train 1 fail\n"); + DRM_DEBUG_KMS("train 1 fail\n"); } else { I915_WRITE(fdi_rx_iir_reg, temp | FDI_RX_BIT_LOCK); - DRM_DEBUG("train 1 ok 2!\n"); + DRM_DEBUG_KMS("train 1 ok 2!\n"); } temp = I915_READ(fdi_tx_reg); temp &= ~FDI_LINK_TRAIN_NONE; @@ -1601,12 +1701,13 @@ udelay(150); temp = I915_READ(fdi_rx_iir_reg); - DRM_DEBUG("FDI_RX_IIR 0x%x\n", temp); + DRM_DEBUG_KMS("FDI_RX_IIR 0x%x\n", temp); if ((temp & FDI_RX_SYMBOL_LOCK) == 0) { for (j = 0; j < tries; j++) { temp = I915_READ(fdi_rx_iir_reg); - DRM_DEBUG("FDI_RX_IIR 0x%x\n", temp); + DRM_DEBUG_KMS("FDI_RX_IIR 0x%x\n", + temp); if (temp & FDI_RX_SYMBOL_LOCK) break; udelay(200); @@ -1614,15 +1715,15 @@ if (j != tries) { I915_WRITE(fdi_rx_iir_reg, temp | FDI_RX_SYMBOL_LOCK); - DRM_DEBUG("train 2 ok 1!\n"); + DRM_DEBUG_KMS("train 2 ok 1!\n"); } else - DRM_DEBUG("train 2 fail\n"); + DRM_DEBUG_KMS("train 2 fail\n"); } else { I915_WRITE(fdi_rx_iir_reg, temp | FDI_RX_SYMBOL_LOCK); - DRM_DEBUG("train 2 ok 2!\n"); + DRM_DEBUG_KMS("train 2 ok 2!\n"); } - DRM_DEBUG("train done\n"); + DRM_DEBUG_KMS("train done\n"); /* set transcoder timing */ I915_WRITE(trans_htot_reg, I915_READ(cpu_htot_reg)); @@ -1635,6 +1736,12 @@ /* enable PCH transcoder */ temp = I915_READ(transconf_reg); + /* + * make the BPC in transcoder be consistent with + * that in pipeconf reg. + */ + temp &= ~PIPE_BPC_MASK; + temp |= pipe_bpc; I915_WRITE(transconf_reg, temp | TRANS_ENABLE); I915_READ(transconf_reg); @@ -1664,10 +1771,9 @@ break; case DRM_MODE_DPMS_OFF: - DRM_DEBUG("crtc %d dpms off\n", pipe); - - i915_disable_vga(dev); + DRM_DEBUG_KMS("crtc %d dpms off\n", pipe); + drm_vblank_off(dev, pipe); /* Disable display plane */ temp = I915_READ(dspcntr_reg); if ((temp & DISPLAY_PLANE_ENABLE) != 0) { @@ -1677,6 +1783,8 @@ I915_READ(dspbase_reg); } + i915_disable_vga(dev); + /* disable cpu pipe, disable after all planes disabled */ temp = I915_READ(pipeconf_reg); if ((temp & PIPEACONF_ENABLE) != 0) { @@ -1690,16 +1798,23 @@ udelay(500); continue; } else { - DRM_DEBUG("pipe %d off delay\n", pipe); + DRM_DEBUG_KMS("pipe %d off delay\n", + pipe); break; } } } else - DRM_DEBUG("crtc %d is disabled\n", pipe); + DRM_DEBUG_KMS("crtc %d is disabled\n", pipe); - if (HAS_eDP) { - igdng_disable_pll_edp(crtc); + udelay(100); + + /* Disable PF */ + temp = I915_READ(pf_ctl_reg); + if ((temp & PF_ENABLE) != 0) { + I915_WRITE(pf_ctl_reg, temp & ~PF_ENABLE); + I915_READ(pf_ctl_reg); } + I915_WRITE(pf_win_size, 0); /* disable CPU FDI tx and PCH FDI rx */ temp = I915_READ(fdi_tx_reg); @@ -1707,6 +1822,9 @@ I915_READ(fdi_tx_reg); temp = I915_READ(fdi_rx_reg); + /* BPC in FDI rx is consistent with that in pipeconf */ + temp &= ~(0x07 << 16); + temp |= (pipe_bpc << 11); I915_WRITE(fdi_rx_reg, temp & ~FDI_RX_ENABLE); I915_READ(fdi_rx_reg); @@ -1725,6 +1843,13 @@ udelay(100); + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) { + temp = I915_READ(PCH_LVDS); + I915_WRITE(PCH_LVDS, temp & ~LVDS_PORT_EN); + I915_READ(PCH_LVDS); + udelay(100); + } + /* disable PCH transcoder */ temp = I915_READ(transconf_reg); if ((temp & TRANS_ENABLE) != 0) { @@ -1738,11 +1863,19 @@ udelay(500); continue; } else { - DRM_DEBUG("transcoder %d off delay\n", pipe); + DRM_DEBUG_KMS("transcoder %d off " + "delay\n", pipe); break; } } } + temp = I915_READ(transconf_reg); + /* BPC in transcoder is consistent with that in pipeconf */ + temp &= ~PIPE_BPC_MASK; + temp |= pipe_bpc; + I915_WRITE(transconf_reg, temp); + I915_READ(transconf_reg); + udelay(100); /* disable PCH DPLL */ temp = I915_READ(pch_dpll_reg); @@ -1751,14 +1884,20 @@ I915_READ(pch_dpll_reg); } - temp = I915_READ(fdi_rx_reg); - if ((temp & FDI_RX_PLL_ENABLE) != 0) { - temp &= ~FDI_SEL_PCDCLK; - temp &= ~FDI_RX_PLL_ENABLE; - I915_WRITE(fdi_rx_reg, temp); - I915_READ(fdi_rx_reg); + if (HAS_eDP) { + ironlake_disable_pll_edp(crtc); } + temp = I915_READ(fdi_rx_reg); + temp &= ~FDI_SEL_PCDCLK; + I915_WRITE(fdi_rx_reg, temp); + I915_READ(fdi_rx_reg); + + temp = I915_READ(fdi_rx_reg); + temp &= ~FDI_RX_PLL_ENABLE; + I915_WRITE(fdi_rx_reg, temp); + I915_READ(fdi_rx_reg); + /* Disable CPU FDI TX PLL */ temp = I915_READ(fdi_tx_reg); if ((temp & FDI_TX_PLL_ENABLE) != 0) { @@ -1767,20 +1906,43 @@ udelay(100); } - /* Disable PF */ - temp = I915_READ(pf_ctl_reg); - if ((temp & PF_ENABLE) != 0) { - I915_WRITE(pf_ctl_reg, temp & ~PF_ENABLE); - I915_READ(pf_ctl_reg); - } - I915_WRITE(pf_win_size, 0); - /* Wait for the clocks to turn off. */ - udelay(150); + udelay(100); break; } } +static void intel_crtc_dpms_overlay(struct intel_crtc *intel_crtc, bool enable) +{ + struct intel_overlay *overlay; + int ret; + + if (!enable && intel_crtc->overlay) { + overlay = intel_crtc->overlay; + mutex_lock(&overlay->dev->struct_mutex); + for (;;) { + ret = intel_overlay_switch_off(overlay); + if (ret == 0) + break; + + ret = intel_overlay_recover_from_interrupt(overlay, 0); + if (ret != 0) { + /* overlay doesn't react anymore. Usually + * results in a black screen and an unkillable + * X server. */ + BUG(); + overlay->hw_wedged = HW_WEDGED; + break; + } + } + mutex_unlock(&overlay->dev->struct_mutex); + } + /* Let userspace switch the overlay on again. In most cases userspace + * has to recompute where to put it anyway. */ + + return; +} + static void i9xx_crtc_dpms(struct drm_crtc *crtc, int mode) { struct drm_device *dev = crtc->dev; @@ -1839,12 +2001,14 @@ intel_update_fbc(crtc, &crtc->mode); /* Give the overlay scaler a chance to enable if it's on this pipe */ - //intel_crtc_dpms_video(crtc, true); TODO + intel_crtc_dpms_overlay(intel_crtc, true); break; case DRM_MODE_DPMS_OFF: intel_update_watermarks(dev); + /* Give the overlay scaler a chance to disable if it's on this pipe */ - //intel_crtc_dpms_video(crtc, FALSE); TODO + intel_crtc_dpms_overlay(intel_crtc, false); + drm_vblank_off(dev, pipe); if (dev_priv->cfb_plane == plane && dev_priv->display.disable_fbc) @@ -1904,6 +2068,9 @@ int pipe = intel_crtc->pipe; bool enabled; + if (intel_crtc->dpms_mode == mode) + return; + dev_priv->display.dpms(crtc, mode); intel_crtc->dpms_mode = mode; @@ -1963,7 +2130,7 @@ struct drm_display_mode *adjusted_mode) { struct drm_device *dev = crtc->dev; - if (IS_IGDNG(dev)) { + if (HAS_PCH_SPLIT(dev)) { /* FDI link clock is fixed at 2.7G */ if (mode->clock * 3 > 27000 * 4) return MODE_CLOCK_HIGH; @@ -2039,7 +2206,7 @@ * 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) +int intel_panel_fitter_pipe (struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; u32 pfit_control; @@ -2083,9 +2250,8 @@ #define LINK_N 0x80000 static void -igdng_compute_m_n(int bits_per_pixel, int nlanes, - int pixel_clock, int link_clock, - struct fdi_m_n *m_n) +ironlake_compute_m_n(int bits_per_pixel, int nlanes, int pixel_clock, + int link_clock, struct fdi_m_n *m_n) { u64 temp; @@ -2113,34 +2279,34 @@ unsigned long cacheline_size; }; -/* IGD has different values for various configs */ -static struct intel_watermark_params igd_display_wm = { - IGD_DISPLAY_FIFO, - IGD_MAX_WM, - IGD_DFT_WM, - IGD_GUARD_WM, - IGD_FIFO_LINE_SIZE +/* Pineview has different values for various configs */ +static struct intel_watermark_params pineview_display_wm = { + PINEVIEW_DISPLAY_FIFO, + PINEVIEW_MAX_WM, + PINEVIEW_DFT_WM, + PINEVIEW_GUARD_WM, + PINEVIEW_FIFO_LINE_SIZE }; -static struct intel_watermark_params igd_display_hplloff_wm = { - IGD_DISPLAY_FIFO, - IGD_MAX_WM, - IGD_DFT_HPLLOFF_WM, - IGD_GUARD_WM, - IGD_FIFO_LINE_SIZE +static 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 struct intel_watermark_params igd_cursor_wm = { - IGD_CURSOR_FIFO, - IGD_CURSOR_MAX_WM, - IGD_CURSOR_DFT_WM, - IGD_CURSOR_GUARD_WM, - IGD_FIFO_LINE_SIZE, +static 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 struct intel_watermark_params igd_cursor_hplloff_wm = { - IGD_CURSOR_FIFO, - IGD_CURSOR_MAX_WM, - IGD_CURSOR_DFT_WM, - IGD_CURSOR_GUARD_WM, - IGD_FIFO_LINE_SIZE +static 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 struct intel_watermark_params g4x_wm_info = { G4X_FIFO_SIZE, @@ -2213,11 +2379,11 @@ 1000; entries_required /= wm->cacheline_size; - DRM_DEBUG("FIFO entries required for mode: %d\n", entries_required); + DRM_DEBUG_KMS("FIFO entries required for mode: %d\n", entries_required); wm_size = wm->fifo_size - (entries_required + wm->guard_size); - DRM_DEBUG("FIFO watermark level: %d\n", wm_size); + DRM_DEBUG_KMS("FIFO watermark level: %d\n", wm_size); /* Don't promote wm_size to unsigned... */ if (wm_size > (long)wm->max_wm) @@ -2229,6 +2395,7 @@ struct cxsr_latency { int is_desktop; + int is_ddr3; unsigned long fsb_freq; unsigned long mem_freq; unsigned long display_sr; @@ -2238,33 +2405,45 @@ }; static struct cxsr_latency cxsr_latency_table[] = { - {1, 800, 400, 3382, 33382, 3983, 33983}, /* DDR2-400 SC */ - {1, 800, 667, 3354, 33354, 3807, 33807}, /* DDR2-667 SC */ - {1, 800, 800, 3347, 33347, 3763, 33763}, /* DDR2-800 SC */ - - {1, 667, 400, 3400, 33400, 4021, 34021}, /* DDR2-400 SC */ - {1, 667, 667, 3372, 33372, 3845, 33845}, /* DDR2-667 SC */ - {1, 667, 800, 3386, 33386, 3822, 33822}, /* DDR2-800 SC */ - - {1, 400, 400, 3472, 33472, 4173, 34173}, /* DDR2-400 SC */ - {1, 400, 667, 3443, 33443, 3996, 33996}, /* DDR2-667 SC */ - {1, 400, 800, 3430, 33430, 3946, 33946}, /* DDR2-800 SC */ - - {0, 800, 400, 3438, 33438, 4065, 34065}, /* DDR2-400 SC */ - {0, 800, 667, 3410, 33410, 3889, 33889}, /* DDR2-667 SC */ - {0, 800, 800, 3403, 33403, 3845, 33845}, /* DDR2-800 SC */ - - {0, 667, 400, 3456, 33456, 4103, 34106}, /* DDR2-400 SC */ - {0, 667, 667, 3428, 33428, 3927, 33927}, /* DDR2-667 SC */ - {0, 667, 800, 3443, 33443, 3905, 33905}, /* DDR2-800 SC */ - - {0, 400, 400, 3528, 33528, 4255, 34255}, /* DDR2-400 SC */ - {0, 400, 667, 3500, 33500, 4079, 34079}, /* DDR2-667 SC */ - {0, 400, 800, 3487, 33487, 4029, 34029}, /* DDR2-800 SC */ + {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 struct cxsr_latency *intel_get_cxsr_latency(int is_desktop, int fsb, - int mem) +static struct cxsr_latency *intel_get_cxsr_latency(int is_desktop, int is_ddr3, + int fsb, int mem) { int i; struct cxsr_latency *latency; @@ -2275,108 +2454,49 @@ 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("Unknown FSB/MEM found, disable CxSR\n"); + DRM_DEBUG_KMS("Unknown FSB/MEM found, disable CxSR\n"); return NULL; } -static void igd_disable_cxsr(struct drm_device *dev) +static void pineview_disable_cxsr(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; u32 reg; /* deactivate cxsr */ reg = I915_READ(DSPFW3); - reg &= ~(IGD_SELF_REFRESH_EN); + reg &= ~(PINEVIEW_SELF_REFRESH_EN); I915_WRITE(DSPFW3, reg); DRM_INFO("Big FIFO is disabled\n"); } -static void igd_enable_cxsr(struct drm_device *dev, unsigned long clock, - int pixel_size) +/* + * 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; - u32 reg; - unsigned long wm; - struct cxsr_latency *latency; - - latency = intel_get_cxsr_latency(IS_IGDG(dev), dev_priv->fsb_freq, - dev_priv->mem_freq); - if (!latency) { - DRM_DEBUG("Unknown FSB/MEM found, disable CxSR\n"); - igd_disable_cxsr(dev); - return; - } - - /* Display SR */ - wm = intel_calculate_wm(clock, &igd_display_wm, pixel_size, - latency->display_sr); - reg = I915_READ(DSPFW1); - reg &= 0x7fffff; - reg |= wm << 23; - I915_WRITE(DSPFW1, reg); - DRM_DEBUG("DSPFW1 register is %x\n", reg); - - /* cursor SR */ - wm = intel_calculate_wm(clock, &igd_cursor_wm, pixel_size, - latency->cursor_sr); - reg = I915_READ(DSPFW3); - reg &= ~(0x3f << 24); - reg |= (wm & 0x3f) << 24; - I915_WRITE(DSPFW3, reg); - - /* Display HPLL off SR */ - wm = intel_calculate_wm(clock, &igd_display_hplloff_wm, - latency->display_hpll_disable, I915_FIFO_LINE_SIZE); - reg = I915_READ(DSPFW3); - reg &= 0xfffffe00; - reg |= wm & 0x1ff; - I915_WRITE(DSPFW3, reg); - - /* cursor HPLL off SR */ - wm = intel_calculate_wm(clock, &igd_cursor_hplloff_wm, pixel_size, - latency->cursor_hpll_disable); - reg = I915_READ(DSPFW3); - reg &= ~(0x3f << 16); - reg |= (wm & 0x3f) << 16; - I915_WRITE(DSPFW3, reg); - DRM_DEBUG("DSPFW3 register is %x\n", reg); - - /* activate cxsr */ - reg = I915_READ(DSPFW3); - reg |= IGD_SELF_REFRESH_EN; - I915_WRITE(DSPFW3, reg); - - DRM_INFO("Big FIFO is enabled\n"); - - return; -} - -/* - * 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. - */ -const static 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; + uint32_t dsparb = I915_READ(DSPARB); + int size; if (plane == 0) size = dsparb & 0x7f; @@ -2384,8 +2504,8 @@ size = ((dsparb >> DSPARB_CSTART_SHIFT) & 0x7f) - (dsparb & 0x7f); - DRM_DEBUG("FIFO size - (0x%08x) %s: %d\n", dsparb, plane ? "B" : "A", - size); + DRM_DEBUG_KMS("FIFO size - (0x%08x) %s: %d\n", dsparb, + plane ? "B" : "A", size); return size; } @@ -2403,8 +2523,8 @@ (dsparb & 0x1ff); size >>= 1; /* Convert to cachelines */ - DRM_DEBUG("FIFO size - (0x%08x) %s: %d\n", dsparb, plane ? "B" : "A", - size); + DRM_DEBUG_KMS("FIFO size - (0x%08x) %s: %d\n", dsparb, + plane ? "B" : "A", size); return size; } @@ -2418,7 +2538,8 @@ size = dsparb & 0x7f; size >>= 2; /* Convert to cachelines */ - DRM_DEBUG("FIFO size - (0x%08x) %s: %d\n", dsparb, plane ? "B" : "A", + DRM_DEBUG_KMS("FIFO size - (0x%08x) %s: %d\n", dsparb, + plane ? "B" : "A", size); return size; @@ -2433,12 +2554,77 @@ size = dsparb & 0x7f; size >>= 1; /* Convert to cachelines */ - DRM_DEBUG("FIFO size - (0x%08x) %s: %d\n", dsparb, plane ? "B" : "A", - size); + DRM_DEBUG_KMS("FIFO size - (0x%08x) %s: %d\n", dsparb, + plane ? "B" : "A", size); return size; } +static void pineview_update_wm(struct drm_device *dev, int planea_clock, + int planeb_clock, int sr_hdisplay, int pixel_size) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 reg; + unsigned long wm; + struct cxsr_latency *latency; + int sr_clock; + + 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; + } + + if (!planea_clock || !planeb_clock) { + sr_clock = planea_clock ? planea_clock : planeb_clock; + + /* Display SR */ + wm = intel_calculate_wm(sr_clock, &pineview_display_wm, + 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(sr_clock, &pineview_cursor_wm, + 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(sr_clock, &pineview_display_hplloff_wm, + 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(sr_clock, &pineview_cursor_hplloff_wm, + 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 */ + reg = I915_READ(DSPFW3); + reg |= PINEVIEW_SELF_REFRESH_EN; + I915_WRITE(DSPFW3, reg); + DRM_DEBUG_KMS("Self-refresh is enabled\n"); + } else { + pineview_disable_cxsr(dev); + DRM_DEBUG_KMS("Self-refresh is disabled\n"); + } +} + static void g4x_update_wm(struct drm_device *dev, int planea_clock, int planeb_clock, int sr_hdisplay, int pixel_size) { @@ -2480,7 +2666,7 @@ /* Calc sr entries for one plane configs */ if (sr_hdisplay && (!planea_clock || !planeb_clock)) { /* self-refresh has much higher latency */ - const static int sr_latency_ns = 12000; + static const int sr_latency_ns = 12000; sr_clock = planea_clock ? planea_clock : planeb_clock; line_time_us = ((sr_hdisplay * 1000) / sr_clock); @@ -2491,6 +2677,10 @@ sr_entries = roundup(sr_entries / cacheline_size, 1); DRM_DEBUG("self-refresh entries: %d\n", sr_entries); I915_WRITE(FW_BLC_SELF, FW_BLC_SELF_EN); + } else { + /* Turn off self refresh if both pipes are enabled */ + I915_WRITE(FW_BLC_SELF, I915_READ(FW_BLC_SELF) + & ~FW_BLC_SELF_EN); } DRM_DEBUG("Setting FIFO watermarks - A: %d, B: %d, SR %d\n", @@ -2509,15 +2699,45 @@ (cursor_sr << DSPFW_CURSOR_SR_SHIFT)); } -static void i965_update_wm(struct drm_device *dev, int unused, int unused2, - int unused3, int unused4) +static void i965_update_wm(struct drm_device *dev, int planea_clock, + int planeb_clock, int sr_hdisplay, int pixel_size) { struct drm_i915_private *dev_priv = dev->dev_private; + unsigned long line_time_us; + int sr_clock, sr_entries, srwm = 1; - DRM_DEBUG("Setting FIFO watermarks - A: 8, B: 8, C: 8, SR 8\n"); + /* Calc sr entries for one plane configs */ + if (sr_hdisplay && (!planea_clock || !planeb_clock)) { + /* self-refresh has much higher latency */ + static const int sr_latency_ns = 12000; + + sr_clock = planea_clock ? planea_clock : planeb_clock; + line_time_us = ((sr_hdisplay * 1000) / sr_clock); + + /* Use ns/us then divide to preserve precision */ + sr_entries = (((sr_latency_ns / line_time_us) + 1) * + pixel_size * sr_hdisplay) / 1000; + sr_entries = roundup(sr_entries / I915_FIFO_LINE_SIZE, 1); + DRM_DEBUG("self-refresh entries: %d\n", sr_entries); + srwm = I945_FIFO_SIZE - sr_entries; + if (srwm < 0) + srwm = 1; + srwm &= 0x3f; + if (IS_I965GM(dev)) + I915_WRITE(FW_BLC_SELF, FW_BLC_SELF_EN); + } else { + /* Turn off self refresh if both pipes are enabled */ + if (IS_I965GM(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, (8 << 16) | (8 << 8) | (8 << 0)); + I915_WRITE(DSPFW1, (srwm << DSPFW_SR_SHIFT) | (8 << 16) | (8 << 8) | + (8 << 0)); I915_WRITE(DSPFW2, (8 << 8) | (8 << 0)); } @@ -2553,7 +2773,7 @@ pixel_size, latency_ns); planeb_wm = intel_calculate_wm(planeb_clock, &planeb_params, pixel_size, latency_ns); - DRM_DEBUG("FIFO watermarks - A: %d, B: %d\n", planea_wm, planeb_wm); + DRM_DEBUG_KMS("FIFO watermarks - A: %d, B: %d\n", planea_wm, planeb_wm); /* * Overlay gets an aggressive default since video jitter is bad. @@ -2564,7 +2784,7 @@ if (HAS_FW_BLC(dev) && sr_hdisplay && (!planea_clock || !planeb_clock)) { /* self-refresh has much higher latency */ - const static int sr_latency_ns = 6000; + static const int sr_latency_ns = 6000; sr_clock = planea_clock ? planea_clock : planeb_clock; line_time_us = ((sr_hdisplay * 1000) / sr_clock); @@ -2573,14 +2793,18 @@ sr_entries = (((sr_latency_ns / line_time_us) + 1) * pixel_size * sr_hdisplay) / 1000; sr_entries = roundup(sr_entries / cacheline_size, 1); - DRM_DEBUG("self-refresh entries: %d\n", sr_entries); + DRM_DEBUG_KMS("self-refresh entries: %d\n", sr_entries); srwm = total_size - sr_entries; if (srwm < 0) srwm = 1; I915_WRITE(FW_BLC_SELF, FW_BLC_SELF_EN | (srwm & 0x3f)); + } else { + /* Turn off self refresh if both pipes are enabled */ + I915_WRITE(FW_BLC_SELF, I915_READ(FW_BLC_SELF) + & ~FW_BLC_SELF_EN); } - DRM_DEBUG("Setting FIFO watermarks - A: %d, B: %d, C: %d, SR %d\n", + 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); @@ -2607,7 +2831,7 @@ pixel_size, latency_ns); fwater_lo |= (3<<8) | planea_wm; - DRM_DEBUG("Setting FIFO watermarks - A: %d\n", planea_wm); + DRM_DEBUG_KMS("Setting FIFO watermarks - A: %d\n", planea_wm); I915_WRITE(FW_BLC, fwater_lo); } @@ -2661,11 +2885,11 @@ if (crtc->enabled) { enabled++; if (intel_crtc->plane == 0) { - DRM_DEBUG("plane A (pipe %d) clock: %d\n", + DRM_DEBUG_KMS("plane A (pipe %d) clock: %d\n", intel_crtc->pipe, crtc->mode.clock); planea_clock = crtc->mode.clock; } else { - DRM_DEBUG("plane B (pipe %d) clock: %d\n", + DRM_DEBUG_KMS("plane B (pipe %d) clock: %d\n", intel_crtc->pipe, crtc->mode.clock); planeb_clock = crtc->mode.clock; } @@ -2681,12 +2905,6 @@ if (enabled <= 0) return; - /* Single plane configs can enable self refresh */ - if (enabled == 1 && IS_IGD(dev)) - igd_enable_cxsr(dev, sr_clock, pixel_size); - else if (IS_IGD(dev)) - igd_disable_cxsr(dev); - dev_priv->display.update_wm(dev, planea_clock, planeb_clock, sr_hdisplay, pixel_size); } @@ -2779,10 +2997,11 @@ if (is_lvds && dev_priv->lvds_use_ssc && num_outputs < 2) { refclk = dev_priv->lvds_ssc_freq * 1000; - DRM_DEBUG("using SSC reference clock of %d MHz\n", refclk / 1000); + DRM_DEBUG_KMS("using SSC reference clock of %d MHz\n", + refclk / 1000); } else if (IS_I9XX(dev)) { refclk = 96000; - if (IS_IGDNG(dev)) + if (HAS_PCH_SPLIT(dev)) refclk = 120000; /* 120Mhz refclk */ } else { refclk = 48000; @@ -2802,14 +3021,26 @@ return -EINVAL; } - if (limit->find_reduced_pll && dev_priv->lvds_downclock_avail) { - memcpy(&reduced_clock, &clock, sizeof(intel_clock_t)); - has_reduced_clock = limit->find_reduced_pll(limit, crtc, - (adjusted_mode->clock*3/4), + /* Ensure that the cursor is valid for the new mode before changing... */ + intel_crtc_update_cursor(crtc); + + if (is_lvds && dev_priv->lvds_downclock_avail) { + has_reduced_clock = limit->find_pll(limit, crtc, + dev_priv->lvds_downclock, refclk, &reduced_clock); + if (has_reduced_clock && (clock.p != reduced_clock.p)) { + /* + * If the different P is found, it means that we can't + * switch the display clock by using the FP0/FP1. + * In such case we will disable the LVDS downclock + * feature. + */ + DRM_DEBUG_KMS("Different P is found for " + "LVDS clock/downclock\n"); + has_reduced_clock = 0; + } } - /* SDVO TV has fixed PLL values depend on its clock range, this mirrors vbios setting. */ if (is_sdvo && is_tv) { @@ -2831,7 +3062,7 @@ } /* FDI link */ - if (IS_IGDNG(dev)) { + if (HAS_PCH_SPLIT(dev)) { int lane, link_bw, bpp; /* eDP doesn't require FDI link, so just set DP M/N according to current link config */ @@ -2854,6 +3085,33 @@ /* determine panel color depth */ temp = I915_READ(pipeconf_reg); + temp &= ~PIPE_BPC_MASK; + if (is_lvds) { + int lvds_reg = I915_READ(PCH_LVDS); + /* the BPC will be 6 if it is 18-bit LVDS panel */ + if ((lvds_reg & LVDS_A3_POWER_MASK) == LVDS_A3_POWER_UP) + temp |= PIPE_8BPC; + else + temp |= PIPE_6BPC; + } else if (is_edp) { + switch (dev_priv->edp_bpp/3) { + case 8: + temp |= PIPE_8BPC; + break; + case 10: + temp |= PIPE_10BPC; + break; + case 6: + temp |= PIPE_6BPC; + break; + case 12: + temp |= PIPE_12BPC; + break; + } + } else + temp |= PIPE_8BPC; + I915_WRITE(pipeconf_reg, temp); + I915_READ(pipeconf_reg); switch (temp & PIPE_BPC_MASK) { case PIPE_8BPC: @@ -2873,8 +3131,7 @@ bpp = 24; } - igdng_compute_m_n(bpp, lane, target_clock, - link_bw, &m_n); + ironlake_compute_m_n(bpp, lane, target_clock, link_bw, &m_n); } /* Ironlake: try to setup display ref clock before DPLL @@ -2882,7 +3139,7 @@ * PCH B stepping, previous chipset stepping should be * ignoring this setting. */ - if (IS_IGDNG(dev)) { + if (HAS_PCH_SPLIT(dev)) { temp = I915_READ(PCH_DREF_CONTROL); /* Always enable nonspread source */ temp &= ~DREF_NONSPREAD_SOURCE_MASK; @@ -2917,7 +3174,7 @@ } } - if (IS_IGD(dev)) { + if (IS_PINEVIEW(dev)) { fp = (1 << clock.n) << 16 | clock.m1 << 8 | clock.m2; if (has_reduced_clock) fp2 = (1 << reduced_clock.n) << 16 | @@ -2929,7 +3186,7 @@ reduced_clock.m2; } - if (!IS_IGDNG(dev)) + if (!HAS_PCH_SPLIT(dev)) dpll = DPLL_VGA_MODE_DIS; if (IS_I9XX(dev)) { @@ -2942,19 +3199,19 @@ sdvo_pixel_multiply = adjusted_mode->clock / mode->clock; if (IS_I945G(dev) || IS_I945GM(dev) || IS_G33(dev)) dpll |= (sdvo_pixel_multiply - 1) << SDVO_MULTIPLIER_SHIFT_HIRES; - else if (IS_IGDNG(dev)) + else if (HAS_PCH_SPLIT(dev)) dpll |= (sdvo_pixel_multiply - 1) << PLL_REF_SDVO_HDMI_MULTIPLIER_SHIFT; } if (is_dp) dpll |= DPLL_DVO_HIGH_SPEED; /* compute bitmask from p1 value */ - if (IS_IGD(dev)) - dpll |= (1 << (clock.p1 - 1)) << DPLL_FPA01_P1_POST_DIV_SHIFT_IGD; + 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; /* also FPA1 */ - if (IS_IGDNG(dev)) + if (HAS_PCH_SPLIT(dev)) dpll |= (1 << (clock.p1 - 1)) << DPLL_FPA1_P1_POST_DIV_SHIFT; if (IS_G4X(dev) && has_reduced_clock) dpll |= (1 << (reduced_clock.p1 - 1)) << DPLL_FPA1_P1_POST_DIV_SHIFT; @@ -2973,7 +3230,7 @@ dpll |= DPLLB_LVDS_P2_CLOCK_DIV_14; break; } - if (IS_I965G(dev) && !IS_IGDNG(dev)) + if (IS_I965G(dev) && !HAS_PCH_SPLIT(dev)) dpll |= (6 << PLL_LOAD_PULSE_PHASE_SHIFT); } else { if (is_lvds) { @@ -3005,9 +3262,9 @@ /* Set up the display plane register */ dspcntr = DISPPLANE_GAMMA_ENABLE; - /* IGDNG's plane is forced to pipe, bit 24 is to + /* Ironlake's plane is forced to pipe, bit 24 is to enable color space conversion */ - if (!IS_IGDNG(dev)) { + if (!HAS_PCH_SPLIT(dev)) { if (pipe == 0) dspcntr &= ~DISPPLANE_SEL_PIPE_MASK; else @@ -3034,20 +3291,20 @@ /* Disable the panel fitter if it was on our pipe */ - if (!IS_IGDNG(dev) && intel_panel_fitter_pipe(dev) == pipe) + if (!HAS_PCH_SPLIT(dev) && intel_panel_fitter_pipe(dev) == pipe) I915_WRITE(PFIT_CONTROL, 0); - DRM_DEBUG("Mode for pipe %c:\n", pipe == 0 ? 'A' : 'B'); + DRM_DEBUG_KMS("Mode for pipe %c:\n", pipe == 0 ? 'A' : 'B'); drm_mode_debug_printmodeline(mode); - /* assign to IGDNG registers */ - if (IS_IGDNG(dev)) { + /* assign to Ironlake registers */ + if (HAS_PCH_SPLIT(dev)) { fp_reg = pch_fp_reg; dpll_reg = pch_dpll_reg; } if (is_edp) { - igdng_disable_pll_edp(crtc); + ironlake_disable_pll_edp(crtc); } else if ((dpll & DPLL_VCO_ENABLE)) { I915_WRITE(fp_reg, fp); I915_WRITE(dpll_reg, dpll & ~DPLL_VCO_ENABLE); @@ -3062,7 +3319,7 @@ if (is_lvds) { u32 lvds; - if (IS_IGDNG(dev)) + if (HAS_PCH_SPLIT(dev)) lvds_reg = PCH_LVDS; lvds = I915_READ(lvds_reg); @@ -3081,7 +3338,20 @@ * appropriately here, but we need to look more thoroughly into how * panels behave in the two modes. */ - + /* set the dithering flag */ + if (IS_I965G(dev)) { + if (dev_priv->lvds_dither) { + if (IS_IRONLAKE(dev)) + pipeconf |= PIPE_ENABLE_DITHER; + else + lvds |= LVDS_ENABLE_DITHER; + } else { + if (IS_IRONLAKE(dev)) + pipeconf &= ~PIPE_ENABLE_DITHER; + else + lvds &= ~LVDS_ENABLE_DITHER; + } + } I915_WRITE(lvds_reg, lvds); I915_READ(lvds_reg); } @@ -3095,7 +3365,7 @@ /* Wait for the clocks to stabilize. */ udelay(150); - if (IS_I965G(dev) && !IS_IGDNG(dev)) { + if (IS_I965G(dev) && !HAS_PCH_SPLIT(dev)) { if (is_sdvo) { sdvo_pixel_multiply = adjusted_mode->clock / mode->clock; I915_WRITE(dpll_md_reg, (0 << DPLL_MD_UDI_DIVIDER_SHIFT) | @@ -3115,14 +3385,14 @@ I915_WRITE(fp_reg + 4, fp2); intel_crtc->lowfreq_avail = true; if (HAS_PIPE_CXSR(dev)) { - DRM_DEBUG("enabling CxSR downclocking\n"); + DRM_DEBUG_KMS("enabling CxSR downclocking\n"); pipeconf |= PIPECONF_CXSR_DOWNCLOCK; } } else { I915_WRITE(fp_reg + 4, fp); intel_crtc->lowfreq_avail = false; if (HAS_PIPE_CXSR(dev)) { - DRM_DEBUG("disabling CxSR downclocking\n"); + DRM_DEBUG_KMS("disabling CxSR downclocking\n"); pipeconf &= ~PIPECONF_CXSR_DOWNCLOCK; } } @@ -3142,21 +3412,21 @@ /* pipesrc and dspsize control the size that is scaled from, which should * always be the user's requested size. */ - if (!IS_IGDNG(dev)) { + if (!HAS_PCH_SPLIT(dev)) { I915_WRITE(dspsize_reg, ((mode->vdisplay - 1) << 16) | (mode->hdisplay - 1)); I915_WRITE(dsppos_reg, 0); } I915_WRITE(pipesrc_reg, ((mode->hdisplay - 1) << 16) | (mode->vdisplay - 1)); - if (IS_IGDNG(dev)) { + if (HAS_PCH_SPLIT(dev)) { I915_WRITE(data_m1_reg, TU_SIZE(m_n.tu) | m_n.gmch_m); I915_WRITE(data_n1_reg, TU_SIZE(m_n.tu) | m_n.gmch_n); I915_WRITE(link_m1_reg, m_n.link_m); I915_WRITE(link_n1_reg, m_n.link_n); if (is_edp) { - igdng_set_pll_edp(crtc, adjusted_mode->clock); + ironlake_set_pll_edp(crtc, adjusted_mode->clock); } else { /* enable FDI RX PLL too */ temp = I915_READ(fdi_rx_reg); @@ -3170,7 +3440,7 @@ intel_wait_for_vblank(dev); - if (IS_IGDNG(dev)) { + if (HAS_PCH_SPLIT(dev)) { /* enable address swizzle for tiling buffer */ temp = I915_READ(DISP_ARB_CTL); I915_WRITE(DISP_ARB_CTL, temp | DISP_TILE_SURFACE_SWIZZLING); @@ -3204,8 +3474,8 @@ if (!crtc->enabled) return; - /* use legacy palette for IGDNG */ - if (IS_IGDNG(dev)) + /* use legacy palette for Ironlake */ + if (HAS_PCH_SPLIT(dev)) palreg = (intel_crtc->pipe == 0) ? LGC_PALETTE_A : LGC_PALETTE_B; @@ -3217,6 +3487,85 @@ } } +/* 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) +{ + 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; + uint32_t base, pos; + bool visible; + + pos = 0; + + if (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_visble) + return; + + I915_WRITE(pipe == 0 ? CURAPOS : CURBPOS, pos); + if (intel_crtc->cursor_visble != visible) { + uint32_t cntl = I915_READ(pipe == 0 ? CURACNTR : CURBCNTR); + if (base) { + /* Hooray for CUR*CNTR differences */ + if (IS_MOBILE(dev) || IS_I9XX(dev)) { + 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_FORMAT_MASK); + cntl |= CURSOR_ENABLE; + cntl |= CURSOR_FORMAT_ARGB | CURSOR_GAMMA_ENABLE; + } + } else { + if (IS_MOBILE(dev) || IS_I9XX(dev)) { + cntl &= ~(CURSOR_MODE | MCURSOR_GAMMA_ENABLE); + cntl |= CURSOR_MODE_DISABLE; + } else { + cntl &= ~(CURSOR_ENABLE | CURSOR_GAMMA_ENABLE); + } + } + I915_WRITE(pipe == 0 ? CURACNTR : CURBCNTR, cntl); + + intel_crtc->cursor_visble = visible; + } + /* and commit changes on next vblank */ + I915_WRITE(pipe == 0 ? CURABASE : CURBBASE, base); + + if (visible) + intel_mark_busy(dev, to_intel_framebuffer(crtc->fb)->obj); +} + static int intel_crtc_cursor_set(struct drm_crtc *crtc, struct drm_file *file_priv, uint32_t handle, @@ -3227,24 +3576,14 @@ struct intel_crtc *intel_crtc = to_intel_crtc(crtc); struct drm_gem_object *bo; struct drm_i915_gem_object *obj_priv; - int pipe = intel_crtc->pipe; - uint32_t control = (pipe == 0) ? CURACNTR : CURBCNTR; - uint32_t base = (pipe == 0) ? CURABASE : CURBBASE; - uint32_t temp = I915_READ(control); - size_t addr; + uint32_t addr; int ret; - DRM_DEBUG("\n"); + DRM_DEBUG_KMS("\n"); /* if we want to turn off the cursor ignore width and height */ if (!handle) { - DRM_DEBUG("cursor off\n"); - if (IS_MOBILE(dev) || IS_I9XX(dev)) { - temp &= ~(CURSOR_MODE | MCURSOR_GAMMA_ENABLE); - temp |= CURSOR_MODE_DISABLE; - } else { - temp &= ~(CURSOR_ENABLE | CURSOR_GAMMA_ENABLE); - } + DRM_DEBUG_KMS("cursor off\n"); addr = 0; bo = NULL; mutex_lock(&dev->struct_mutex); @@ -3271,7 +3610,7 @@ /* we only need to pin inside GTT if cursor is non-phy */ mutex_lock(&dev->struct_mutex); - if (!dev_priv->cursor_needs_physical) { + if (!dev_priv->info->cursor_needs_physical) { ret = i915_gem_object_pin(bo, PAGE_SIZE); if (ret) { DRM_ERROR("failed to pin cursor bo\n"); @@ -3279,7 +3618,9 @@ } addr = obj_priv->gtt_offset; } else { - ret = i915_gem_attach_phys_object(dev, bo, (pipe == 0) ? I915_GEM_PHYS_CURSOR_0 : I915_GEM_PHYS_CURSOR_1); + ret = i915_gem_attach_phys_object(dev, bo, + (intel_crtc->pipe == 0) ? I915_GEM_PHYS_CURSOR_0 : I915_GEM_PHYS_CURSOR_1); + if (ret) { DRM_ERROR("failed to attach phys object\n"); goto fail_locked; @@ -3290,23 +3631,9 @@ if (!IS_I9XX(dev)) I915_WRITE(CURSIZE, (height << 12) | width); - /* Hooray for CUR*CNTR differences */ - if (IS_MOBILE(dev) || IS_I9XX(dev)) { - temp &= ~(CURSOR_MODE | MCURSOR_PIPE_SELECT); - temp |= CURSOR_MODE_64_ARGB_AX | MCURSOR_GAMMA_ENABLE; - temp |= (pipe << 28); /* Connect to correct pipe */ - } else { - temp &= ~(CURSOR_FORMAT_MASK); - temp |= CURSOR_ENABLE; - temp |= CURSOR_FORMAT_ARGB | CURSOR_GAMMA_ENABLE; - } - finish: - I915_WRITE(control, temp); - I915_WRITE(base, addr); - if (intel_crtc->cursor_bo) { - if (dev_priv->cursor_needs_physical) { + if (dev_priv->info->cursor_needs_physical) { if (intel_crtc->cursor_bo != bo) i915_gem_detach_phys_object(dev, intel_crtc->cursor_bo); } else @@ -3318,6 +3645,10 @@ intel_crtc->cursor_addr = addr; intel_crtc->cursor_bo = bo; + intel_crtc->cursor_width = width; + intel_crtc->cursor_height = height; + + intel_crtc_update_cursor(crtc); return 0; fail: @@ -3330,34 +3661,12 @@ static int intel_crtc_cursor_move(struct drm_crtc *crtc, 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; - int pipe = intel_crtc->pipe; - uint32_t temp = 0; - uint32_t adder; - if (crtc->fb) { - intel_fb = to_intel_framebuffer(crtc->fb); - intel_mark_busy(dev, intel_fb->obj); - } + intel_crtc->cursor_x = x; + intel_crtc->cursor_y = y; - if (x < 0) { - temp |= CURSOR_POS_SIGN << CURSOR_X_SHIFT; - x = -x; - } - if (y < 0) { - temp |= CURSOR_POS_SIGN << CURSOR_Y_SHIFT; - y = -y; - } - - temp |= x << CURSOR_X_SHIFT; - temp |= y << CURSOR_Y_SHIFT; - - adder = intel_crtc->cursor_addr; - I915_WRITE((pipe == 0) ? CURAPOS : CURBPOS, temp); - I915_WRITE((pipe == 0) ? CURABASE : CURBBASE, adder); + intel_crtc_update_cursor(crtc); return 0; } @@ -3509,7 +3818,6 @@ void intel_release_load_detect_pipe(struct intel_output *intel_output, int dpms_mode) { struct drm_encoder *encoder = &intel_output->enc; - struct drm_device *dev = encoder->dev; struct drm_crtc *crtc = encoder->crtc; struct drm_encoder_helper_funcs *encoder_funcs = encoder->helper_private; struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; @@ -3519,7 +3827,6 @@ intel_output->base.encoder = NULL; intel_output->load_detect_temp = false; crtc->enabled = drm_helper_crtc_in_use(crtc); - drm_helper_disable_unused_functions(dev); } /* Switch crtc and output back off if necessary */ @@ -3546,18 +3853,18 @@ fp = I915_READ((pipe == 0) ? FPA1 : FPB1); clock.m1 = (fp & FP_M1_DIV_MASK) >> FP_M1_DIV_SHIFT; - if (IS_IGD(dev)) { - clock.n = ffs((fp & FP_N_IGD_DIV_MASK) >> FP_N_DIV_SHIFT) - 1; - clock.m2 = (fp & FP_M2_IGD_DIV_MASK) >> FP_M2_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_I9XX(dev)) { - if (IS_IGD(dev)) - clock.p1 = ffs((dpll & DPLL_FPA01_P1_POST_DIV_MASK_IGD) >> - DPLL_FPA01_P1_POST_DIV_SHIFT_IGD); + 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); @@ -3572,7 +3879,7 @@ 7 : 14; break; default: - DRM_DEBUG("Unknown DPLL mode %08x in programmed " + DRM_DEBUG_KMS("Unknown DPLL mode %08x in programmed " "mode\n", (int)(dpll & DPLL_MODE_MASK)); return 0; } @@ -3658,132 +3965,13 @@ struct drm_device *dev = (struct drm_device *)arg; drm_i915_private_t *dev_priv = dev->dev_private; - DRM_DEBUG("idle timer fired, downclocking\n"); + DRM_DEBUG_DRIVER("idle timer fired, downclocking\n"); dev_priv->busy = false; queue_work(dev_priv->wq, &dev_priv->idle_work); } -void intel_increase_renderclock(struct drm_device *dev, bool schedule) -{ - drm_i915_private_t *dev_priv = dev->dev_private; - - if (IS_IGDNG(dev)) - return; - - if (!dev_priv->render_reclock_avail) { - DRM_DEBUG("not reclocking render clock\n"); - return; - } - - /* Restore render clock frequency to original value */ - if (IS_G4X(dev) || IS_I9XX(dev)) - pci_write_config_word(dev->pdev, GCFGC, dev_priv->orig_clock); - else if (IS_I85X(dev)) - pci_write_config_word(dev->pdev, HPLLCC, dev_priv->orig_clock); - DRM_DEBUG("increasing render clock frequency\n"); - - /* Schedule downclock */ - if (schedule) - mod_timer(&dev_priv->idle_timer, jiffies + - msecs_to_jiffies(GPU_IDLE_TIMEOUT)); -} - -void intel_decrease_renderclock(struct drm_device *dev) -{ - drm_i915_private_t *dev_priv = dev->dev_private; - - if (IS_IGDNG(dev)) - return; - - if (!dev_priv->render_reclock_avail) { - DRM_DEBUG("not reclocking render clock\n"); - return; - } - - if (IS_G4X(dev)) { - u16 gcfgc; - - /* Adjust render clock... */ - pci_read_config_word(dev->pdev, GCFGC, &gcfgc); - - /* Down to minimum... */ - gcfgc &= ~GM45_GC_RENDER_CLOCK_MASK; - gcfgc |= GM45_GC_RENDER_CLOCK_266_MHZ; - - pci_write_config_word(dev->pdev, GCFGC, gcfgc); - } else if (IS_I965G(dev)) { - u16 gcfgc; - - /* Adjust render clock... */ - pci_read_config_word(dev->pdev, GCFGC, &gcfgc); - - /* Down to minimum... */ - gcfgc &= ~I965_GC_RENDER_CLOCK_MASK; - gcfgc |= I965_GC_RENDER_CLOCK_267_MHZ; - - pci_write_config_word(dev->pdev, GCFGC, gcfgc); - } else if (IS_I945G(dev) || IS_I945GM(dev)) { - u16 gcfgc; - - /* Adjust render clock... */ - pci_read_config_word(dev->pdev, GCFGC, &gcfgc); - - /* Down to minimum... */ - gcfgc &= ~I945_GC_RENDER_CLOCK_MASK; - gcfgc |= I945_GC_RENDER_CLOCK_166_MHZ; - - pci_write_config_word(dev->pdev, GCFGC, gcfgc); - } else if (IS_I915G(dev)) { - u16 gcfgc; - - /* Adjust render clock... */ - pci_read_config_word(dev->pdev, GCFGC, &gcfgc); - - /* Down to minimum... */ - gcfgc &= ~I915_GC_RENDER_CLOCK_MASK; - gcfgc |= I915_GC_RENDER_CLOCK_166_MHZ; - - pci_write_config_word(dev->pdev, GCFGC, gcfgc); - } else if (IS_I85X(dev)) { - u16 hpllcc; - - /* Adjust render clock... */ - pci_read_config_word(dev->pdev, HPLLCC, &hpllcc); - - /* Up to maximum... */ - hpllcc &= ~GC_CLOCK_CONTROL_MASK; - hpllcc |= GC_CLOCK_133_200; - - pci_write_config_word(dev->pdev, HPLLCC, hpllcc); - } - DRM_DEBUG("decreasing render clock frequency\n"); -} - -/* Note that no increase function is needed for this - increase_renderclock() - * will also rewrite these bits - */ -void intel_decrease_displayclock(struct drm_device *dev) -{ - if (IS_IGDNG(dev)) - return; - - if (IS_I945G(dev) || IS_I945GM(dev) || IS_I915G(dev) || - IS_I915GM(dev)) { - u16 gcfgc; - - /* Adjust render clock... */ - pci_read_config_word(dev->pdev, GCFGC, &gcfgc); - - /* Down to minimum... */ - gcfgc &= ~0xf0; - gcfgc |= 0x80; - - pci_write_config_word(dev->pdev, GCFGC, gcfgc); - } -} - #define CRTC_IDLE_TIMEOUT 1000 /* ms */ static void intel_crtc_idle_timer(unsigned long arg) @@ -3792,7 +3980,7 @@ struct drm_crtc *crtc = &intel_crtc->base; drm_i915_private_t *dev_priv = crtc->dev->dev_private; - DRM_DEBUG("idle timer fired, downclocking\n"); + DRM_DEBUG_DRIVER("idle timer fired, downclocking\n"); intel_crtc->busy = false; @@ -3808,17 +3996,18 @@ int dpll_reg = (pipe == 0) ? DPLL_A : DPLL_B; int dpll = I915_READ(dpll_reg); - if (IS_IGDNG(dev)) + if (HAS_PCH_SPLIT(dev)) return; if (!dev_priv->lvds_downclock_avail) return; if (!HAS_PIPE_CXSR(dev) && (dpll & DISPLAY_RATE_SELECT_FPA1)) { - DRM_DEBUG("upclocking LVDS\n"); + DRM_DEBUG_DRIVER("upclocking LVDS\n"); /* Unlock panel regs */ - I915_WRITE(PP_CONTROL, I915_READ(PP_CONTROL) | (0xabcd << 16)); + I915_WRITE(PP_CONTROL, I915_READ(PP_CONTROL) | + PANEL_UNLOCK_REGS); dpll &= ~DISPLAY_RATE_SELECT_FPA1; I915_WRITE(dpll_reg, dpll); @@ -3826,7 +4015,7 @@ intel_wait_for_vblank(dev); dpll = I915_READ(dpll_reg); if (dpll & DISPLAY_RATE_SELECT_FPA1) - DRM_DEBUG("failed to upclock LVDS!\n"); + DRM_DEBUG_DRIVER("failed to upclock LVDS!\n"); /* ...and lock them again */ I915_WRITE(PP_CONTROL, I915_READ(PP_CONTROL) & 0x3); @@ -3847,7 +4036,7 @@ int dpll_reg = (pipe == 0) ? DPLL_A : DPLL_B; int dpll = I915_READ(dpll_reg); - if (IS_IGDNG(dev)) + if (HAS_PCH_SPLIT(dev)) return; if (!dev_priv->lvds_downclock_avail) @@ -3858,10 +4047,11 @@ * the manual case. */ if (!HAS_PIPE_CXSR(dev) && intel_crtc->lowfreq_avail) { - DRM_DEBUG("downclocking LVDS\n"); + DRM_DEBUG_DRIVER("downclocking LVDS\n"); /* Unlock panel regs */ - I915_WRITE(PP_CONTROL, I915_READ(PP_CONTROL) | (0xabcd << 16)); + I915_WRITE(PP_CONTROL, I915_READ(PP_CONTROL) | + PANEL_UNLOCK_REGS); dpll |= DISPLAY_RATE_SELECT_FPA1; I915_WRITE(dpll_reg, dpll); @@ -3869,7 +4059,7 @@ intel_wait_for_vblank(dev); dpll = I915_READ(dpll_reg); if (!(dpll & DISPLAY_RATE_SELECT_FPA1)) - DRM_DEBUG("failed to downclock LVDS!\n"); + DRM_DEBUG_DRIVER("failed to downclock LVDS!\n"); /* ...and lock them again */ I915_WRITE(PP_CONTROL, I915_READ(PP_CONTROL) & 0x3); @@ -3897,12 +4087,6 @@ mutex_lock(&dev->struct_mutex); - /* GPU isn't processing, downclock it. */ - if (!dev_priv->busy) { - intel_decrease_renderclock(dev); - intel_decrease_displayclock(dev); - } - list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { /* Skip inactive CRTCs */ if (!crtc->fb) @@ -3936,8 +4120,11 @@ if (!drm_core_check_feature(dev, DRIVER_MODESET)) return; - dev_priv->busy = true; - intel_increase_renderclock(dev, true); + if (!dev_priv->busy) + dev_priv->busy = true; + else + mod_timer(&dev_priv->idle_timer, jiffies + + msecs_to_jiffies(GPU_IDLE_TIMEOUT)); list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { if (!crtc->fb) @@ -3967,6 +4154,220 @@ kfree(intel_crtc); } +struct intel_unpin_work { + struct work_struct work; + struct drm_device *dev; + struct drm_gem_object *old_fb_obj; + struct drm_gem_object *pending_flip_obj; + struct drm_pending_vblank_event *event; + int pending; +}; + +static void intel_unpin_work_fn(struct work_struct *__work) +{ + struct intel_unpin_work *work = + container_of(__work, struct intel_unpin_work, work); + + mutex_lock(&work->dev->struct_mutex); + i915_gem_object_unpin(work->old_fb_obj); + drm_gem_object_unreference(work->pending_flip_obj); + drm_gem_object_unreference(work->old_fb_obj); + mutex_unlock(&work->dev->struct_mutex); + 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_priv; + struct drm_pending_vblank_event *e; + struct timeval now; + unsigned long flags; + + /* Ignore early vblank irqs */ + if (intel_crtc == NULL) + return; + + spin_lock_irqsave(&dev->event_lock, flags); + work = intel_crtc->unpin_work; + if (work == NULL || !work->pending) { + spin_unlock_irqrestore(&dev->event_lock, flags); + return; + } + + intel_crtc->unpin_work = NULL; + drm_vblank_put(dev, intel_crtc->pipe); + + if (work->event) { + e = work->event; + do_gettimeofday(&now); + e->event.sequence = drm_vblank_count(dev, intel_crtc->pipe); + e->event.tv_sec = now.tv_sec; + e->event.tv_usec = now.tv_usec; + list_add_tail(&e->base.link, + &e->base.file_priv->event_list); + wake_up_interruptible(&e->base.file_priv->event_wait); + } + + spin_unlock_irqrestore(&dev->event_lock, flags); + + obj_priv = work->pending_flip_obj->driver_private; + + /* Initial scanout buffer will have a 0 pending flip count */ + if ((atomic_read(&obj_priv->pending_flip) == 0) || + atomic_dec_and_test(&obj_priv->pending_flip)) + DRM_WAKEUP(&dev_priv->pending_flip_queue); + schedule_work(&work->work); +} + +void intel_finish_page_flip(struct drm_device *dev, int pipe) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_crtc *crtc = dev_priv->pipe_to_crtc_mapping[pipe]; + + do_intel_finish_page_flip(dev, crtc); +} + +void intel_finish_page_flip_plane(struct drm_device *dev, int plane) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_crtc *crtc = dev_priv->plane_to_crtc_mapping[plane]; + + do_intel_finish_page_flip(dev, crtc); +} + +void intel_prepare_page_flip(struct drm_device *dev, int plane) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + struct intel_crtc *intel_crtc = + to_intel_crtc(dev_priv->plane_to_crtc_mapping[plane]); + unsigned long flags; + + spin_lock_irqsave(&dev->event_lock, flags); + if (intel_crtc->unpin_work) { + intel_crtc->unpin_work->pending = 1; + } else { + DRM_DEBUG_DRIVER("preparing flip with no unpin work?\n"); + } + spin_unlock_irqrestore(&dev->event_lock, flags); +} + +static int intel_crtc_page_flip(struct drm_crtc *crtc, + struct drm_framebuffer *fb, + struct drm_pending_vblank_event *event) +{ + struct drm_device *dev = crtc->dev; + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_framebuffer *intel_fb; + struct drm_i915_gem_object *obj_priv; + struct drm_gem_object *obj; + struct intel_crtc *intel_crtc = to_intel_crtc(crtc); + struct intel_unpin_work *work; + unsigned long flags, offset; + int pipesrc_reg = (intel_crtc->pipe == 0) ? PIPEASRC : PIPEBSRC; + int ret, pipesrc; + u32 flip_mask; + RING_LOCALS; + + work = kzalloc(sizeof *work, GFP_KERNEL); + if (work == NULL) + return -ENOMEM; + + work->event = event; + work->dev = crtc->dev; + intel_fb = to_intel_framebuffer(crtc->fb); + work->old_fb_obj = intel_fb->obj; + INIT_WORK(&work->work, intel_unpin_work_fn); + + /* 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_DEBUG_DRIVER("flip queue: crtc already busy\n"); + return -EBUSY; + } + intel_crtc->unpin_work = work; + spin_unlock_irqrestore(&dev->event_lock, flags); + + intel_fb = to_intel_framebuffer(fb); + obj = intel_fb->obj; + + mutex_lock(&dev->struct_mutex); + ret = intel_pin_and_fence_fb_obj(dev, obj); + if (ret != 0) { + mutex_unlock(&dev->struct_mutex); + + spin_lock_irqsave(&dev->event_lock, flags); + intel_crtc->unpin_work = NULL; + spin_unlock_irqrestore(&dev->event_lock, flags); + + kfree(work); + + DRM_DEBUG_DRIVER("flip queue: %p pin & fence failed\n", + obj->driver_private); + return ret; + } + + /* Reference the objects for the scheduled work. */ + drm_gem_object_reference(work->old_fb_obj); + drm_gem_object_reference(obj); + + crtc->fb = fb; + i915_gem_object_flush_write_domain(obj); + drm_vblank_get(dev, intel_crtc->pipe); + obj_priv = obj->driver_private; + atomic_inc(&obj_priv->pending_flip); + work->pending_flip_obj = obj; + + if (intel_crtc->plane) + flip_mask = MI_WAIT_FOR_PLANE_B_FLIP; + else + flip_mask = MI_WAIT_FOR_PLANE_A_FLIP; + + if (IS_GEN3(dev) || IS_GEN2(dev)) { + BEGIN_LP_RING(2); + OUT_RING(MI_WAIT_FOR_EVENT | flip_mask); + OUT_RING(0); + ADVANCE_LP_RING(); + } + + /* Offset into the new buffer for cases of shared fbs between CRTCs */ + offset = obj_priv->gtt_offset; + offset += (crtc->y * fb->pitch) + (crtc->x * (fb->bits_per_pixel) / 8); + + BEGIN_LP_RING(4); + if (IS_I965G(dev)) { + OUT_RING(MI_DISPLAY_FLIP | + MI_DISPLAY_FLIP_PLANE(intel_crtc->plane)); + OUT_RING(fb->pitch); + OUT_RING(offset | obj_priv->tiling_mode); + pipesrc = I915_READ(pipesrc_reg); + OUT_RING(pipesrc & 0x0fff0fff); + } else if (IS_GEN3(dev)) { + OUT_RING(MI_DISPLAY_FLIP_I915 | + MI_DISPLAY_FLIP_PLANE(intel_crtc->plane)); + OUT_RING(fb->pitch); + OUT_RING(offset); + OUT_RING(MI_NOOP); + } else { + OUT_RING(MI_DISPLAY_FLIP | + MI_DISPLAY_FLIP_PLANE(intel_crtc->plane)); + OUT_RING(fb->pitch); + OUT_RING(offset); + OUT_RING(MI_NOOP); + } + ADVANCE_LP_RING(); + + mutex_unlock(&dev->struct_mutex); + + return 0; +} + static const struct drm_crtc_helper_funcs intel_helper_funcs = { .dpms = intel_crtc_dpms, .mode_fixup = intel_crtc_mode_fixup, @@ -3983,11 +4384,13 @@ .gamma_set = intel_crtc_gamma_set, .set_config = drm_crtc_helper_set_config, .destroy = intel_crtc_destroy, + .page_flip = intel_crtc_page_flip, }; 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; @@ -4010,12 +4413,17 @@ intel_crtc->pipe = pipe; intel_crtc->plane = pipe; if (IS_MOBILE(dev) && (IS_I9XX(dev) && !IS_I965G(dev))) { - DRM_DEBUG("swapping pipes & planes for FBC\n"); + DRM_DEBUG_KMS("swapping pipes & planes for FBC\n"); intel_crtc->plane = ((pipe == 0) ? 1 : 0); } + 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->cursor_addr = 0; - intel_crtc->dpms_mode = DRM_MODE_DPMS_OFF; + intel_crtc->dpms_mode = -1; drm_crtc_helper_add(&intel_crtc->base, &intel_helper_funcs); intel_crtc->busy = false; @@ -4090,7 +4498,7 @@ if (IS_MOBILE(dev) && !IS_I830(dev)) intel_lvds_init(dev); - if (IS_IGDNG(dev)) { + if (HAS_PCH_SPLIT(dev)) { int found; if (IS_MOBILE(dev) && (I915_READ(DP_A) & DP_DETECTED)) @@ -4118,37 +4526,51 @@ if (I915_READ(PCH_DP_D) & DP_DETECTED) intel_dp_init(dev, PCH_DP_D); - } else if (IS_I9XX(dev)) { + } 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); - if (!found && SUPPORTS_INTEGRATED_HDMI(dev)) + if (!found && SUPPORTS_INTEGRATED_HDMI(dev)) { + DRM_DEBUG_KMS("probing HDMI on SDVOB\n"); intel_hdmi_init(dev, SDVOB); + } - if (!found && SUPPORTS_INTEGRATED_DP(dev)) + if (!found && SUPPORTS_INTEGRATED_DP(dev)) { + DRM_DEBUG_KMS("probing DP_B\n"); intel_dp_init(dev, DP_B); + } } /* Before G4X SDVOC doesn't have its own detect register */ - if (I915_READ(SDVOB) & SDVO_DETECTED) + if (I915_READ(SDVOB) & SDVO_DETECTED) { + DRM_DEBUG_KMS("probing SDVOC\n"); found = intel_sdvo_init(dev, SDVOC); + } if (!found && (I915_READ(SDVOC) & SDVO_DETECTED)) { - if (SUPPORTS_INTEGRATED_HDMI(dev)) + if (SUPPORTS_INTEGRATED_HDMI(dev)) { + DRM_DEBUG_KMS("probing HDMI on SDVOC\n"); intel_hdmi_init(dev, SDVOC); - if (SUPPORTS_INTEGRATED_DP(dev)) + } + if (SUPPORTS_INTEGRATED_DP(dev)) { + DRM_DEBUG_KMS("probing DP_C\n"); intel_dp_init(dev, DP_C); + } } - if (SUPPORTS_INTEGRATED_DP(dev) && (I915_READ(DP_D) & DP_DETECTED)) + if (SUPPORTS_INTEGRATED_DP(dev) && + (I915_READ(DP_D) & DP_DETECTED)) { + DRM_DEBUG_KMS("probing DP_D\n"); intel_dp_init(dev, DP_D); - } else + } + } else if (IS_GEN2(dev)) intel_dvo_init(dev); - if (IS_I9XX(dev) && IS_MOBILE(dev) && !IS_IGDNG(dev)) + if (SUPPORTS_TV(dev)) intel_tv_init(dev); list_for_each_entry(connector, &dev->mode_config.connector_list, head) { @@ -4249,6 +4671,42 @@ .fb_changed = intelfb_probe, }; +static struct drm_gem_object * +intel_alloc_power_context(struct drm_device *dev) +{ + struct drm_gem_object *pwrctx; + int ret; + + pwrctx = drm_gem_object_alloc(dev, 4096); + if (!pwrctx) { + DRM_DEBUG("failed to alloc power context, RC6 disabled\n"); + return NULL; + } + + mutex_lock(&dev->struct_mutex); + ret = i915_gem_object_pin(pwrctx, 4096); + if (ret) { + DRM_ERROR("failed to pin power context: %d\n", ret); + goto err_unref; + } + + ret = i915_gem_object_set_to_gtt_domain(pwrctx, 1); + if (ret) { + DRM_ERROR("failed to set-domain on power context: %d\n", ret); + goto err_unpin; + } + mutex_unlock(&dev->struct_mutex); + + return pwrctx; + +err_unpin: + i915_gem_object_unpin(pwrctx); +err_unref: + drm_gem_object_unreference(pwrctx); + mutex_unlock(&dev->struct_mutex); + return NULL; +} + void intel_init_clock_gating(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; @@ -4257,7 +4715,7 @@ * Disable clock gating reported to work incorrectly according to the * specs, but enable as much else as we can. */ - if (IS_IGDNG(dev)) { + if (HAS_PCH_SPLIT(dev)) { return; } else if (IS_G4X(dev)) { uint32_t dspclk_gate; @@ -4291,11 +4749,37 @@ dstate |= DSTATE_PLL_D3_OFF | DSTATE_GFX_CLOCK_GATING | DSTATE_DOT_CLOCK_GATING; I915_WRITE(D_STATE, dstate); - } else if (IS_I855(dev) || IS_I865G(dev)) { + } else if (IS_I85X(dev) || IS_I865G(dev)) { I915_WRITE(RENCLK_GATE_D1, SV_CLOCK_GATE_DISABLE); } else if (IS_I830(dev)) { I915_WRITE(DSPCLK_GATE_D, OVRUNIT_CLOCK_GATE_DISABLE); } + + /* + * GPU can automatically power down the render unit if given a page + * to save state. + */ + if (I915_HAS_RC6(dev) && drm_core_check_feature(dev, DRIVER_MODESET)) { + struct drm_i915_gem_object *obj_priv = NULL; + + if (dev_priv->pwrctx) { + obj_priv = dev_priv->pwrctx->driver_private; + } else { + struct drm_gem_object *pwrctx; + + pwrctx = intel_alloc_power_context(dev); + if (pwrctx) { + dev_priv->pwrctx = pwrctx; + obj_priv = pwrctx->driver_private; + } + } + + if (obj_priv) { + I915_WRITE(PWRCTXA, obj_priv->gtt_offset | PWRCTX_EN); + I915_WRITE(MCHBAR_RENDER_STANDBY, + I915_READ(MCHBAR_RENDER_STANDBY) & ~RCX_SW_EXIT); + } + } } /* Set up chip specific display functions */ @@ -4304,8 +4788,8 @@ struct drm_i915_private *dev_priv = dev->dev_private; /* We always want a DPMS function */ - if (IS_IGDNG(dev)) - dev_priv->display.dpms = igdng_crtc_dpms; + if (HAS_PCH_SPLIT(dev)) + dev_priv->display.dpms = ironlake_crtc_dpms; else dev_priv->display.dpms = i9xx_crtc_dpms; @@ -4315,7 +4799,7 @@ 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_I965GM(dev) || IS_I945GM(dev) || IS_I915GM(dev)) { + } else if (IS_I965GM(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; @@ -4324,13 +4808,13 @@ } /* Returns the core display clock speed */ - if (IS_I945G(dev)) + 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_IGDGM(dev)) + 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)) @@ -4339,7 +4823,7 @@ else if (IS_I865G(dev)) dev_priv->display.get_display_clock_speed = i865_get_display_clock_speed; - else if (IS_I855(dev)) + else if (IS_I85X(dev)) dev_priv->display.get_display_clock_speed = i855_get_display_clock_speed; else /* 852, 830 */ @@ -4347,9 +4831,24 @@ i830_get_display_clock_speed; /* For FIFO watermark updates */ - if (IS_IGDNG(dev)) + if (HAS_PCH_SPLIT(dev)) dev_priv->display.update_wm = NULL; - else if (IS_G4X(dev)) + 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; + } else if (IS_G4X(dev)) dev_priv->display.update_wm = g4x_update_wm; else if (IS_I965G(dev)) dev_priv->display.update_wm = i965_update_wm; @@ -4403,7 +4902,7 @@ num_pipe = 2; else num_pipe = 1; - DRM_DEBUG("%d display pipe%s available.\n", + DRM_DEBUG_KMS("%d display pipe%s available.\n", num_pipe, num_pipe > 1 ? "s" : ""); if (IS_I85X(dev)) @@ -4422,6 +4921,8 @@ INIT_WORK(&dev_priv->idle_work, intel_idle_update); setup_timer(&dev_priv->idle_timer, intel_gpu_idle_timer, (unsigned long)dev); + + intel_setup_overlay(dev); } void intel_modeset_cleanup(struct drm_device *dev) @@ -4442,14 +4943,23 @@ del_timer_sync(&intel_crtc->idle_timer); } - intel_increase_renderclock(dev, false); del_timer_sync(&dev_priv->idle_timer); - mutex_unlock(&dev->struct_mutex); - if (dev_priv->display.disable_fbc) dev_priv->display.disable_fbc(dev); + if (dev_priv->pwrctx) { + struct drm_i915_gem_object *obj_priv; + + obj_priv = dev_priv->pwrctx->driver_private; + I915_WRITE(PWRCTXA, obj_priv->gtt_offset &~ PWRCTX_EN); + I915_READ(PWRCTXA); + i915_gem_object_unpin(dev_priv->pwrctx); + drm_gem_object_unreference(dev_priv->pwrctx); + } + + mutex_unlock(&dev->struct_mutex); + drm_mode_config_cleanup(dev); } --- linux-2.6.32.orig/drivers/gpu/drm/i915/intel_dp.c +++ linux-2.6.32/drivers/gpu/drm/i915/intel_dp.c @@ -33,7 +33,8 @@ #include "intel_drv.h" #include "i915_drm.h" #include "i915_drv.h" -#include "intel_dp.h" +#include "drm_dp_helper.h" + #define DP_LINK_STATUS_SIZE 6 #define DP_LINK_CHECK_TIMEOUT (10 * 1000) @@ -124,9 +125,21 @@ /* I think this is a fiction */ static int -intel_dp_link_required(int pixel_clock) +intel_dp_link_required(struct drm_device *dev, + struct intel_output *intel_output, int pixel_clock) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (IS_eDP(intel_output)) + return (pixel_clock * dev_priv->edp_bpp) / 8; + else + return pixel_clock * 3; +} + +static int +intel_dp_max_data_rate(int max_link_clock, int max_lanes) { - return pixel_clock * 3; + return (max_link_clock * max_lanes * 8) / 10; } static int @@ -137,7 +150,11 @@ int max_link_clock = intel_dp_link_clock(intel_dp_max_link_bw(intel_output)); int max_lanes = intel_dp_max_lane_count(intel_output); - if (intel_dp_link_required(mode->clock) > max_link_clock * max_lanes) + /* only refuse the mode on non eDP since we have seen some wierd eDP panels + which are outside spec tolerances but somehow work by magic */ + if (!IS_eDP(intel_output) && + (intel_dp_link_required(connector->dev, intel_output, mode->clock) + > intel_dp_max_data_rate(max_link_clock, max_lanes))) return MODE_CLOCK_HIGH; if (mode->clock < 10000) @@ -223,8 +240,8 @@ */ if (IS_eDP(intel_output)) aux_clock_divider = 225; /* eDP input clock at 450Mhz */ - else if (IS_IGDNG(dev)) - aux_clock_divider = 62; /* IGDNG: input clock fixed at 125Mhz */ + else if (IS_IRONLAKE(dev)) + aux_clock_divider = 62; /* IRL input clock fixed at 125Mhz */ else aux_clock_divider = intel_hrawclk(dev) / 2; @@ -282,7 +299,7 @@ /* 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("dp_aux_ch timeout status 0x%08x\n", status); + DRM_DEBUG_KMS("dp_aux_ch timeout status 0x%08x\n", status); return -ETIMEDOUT; } @@ -382,17 +399,77 @@ } static int -intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, - uint8_t *send, int send_bytes, - uint8_t *recv, int recv_bytes) +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_priv *dp_priv = container_of(adapter, struct intel_dp_priv, adapter); struct intel_output *intel_output = dp_priv->intel_output; + uint16_t address = algo_data->address; + uint8_t msg[5]; + uint8_t reply[2]; + int msg_bytes; + int reply_bytes; + int ret; + + /* 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; - return intel_dp_aux_ch(intel_output, - send, send_bytes, recv, recv_bytes); + 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 (;;) { + ret = intel_dp_aux_ch(intel_output, + msg, msg_bytes, + reply, reply_bytes); + if (ret < 0) { + DRM_DEBUG_KMS("aux_ch failed %d\n", ret); + return ret; + } + 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_ch nack\n"); + return -EREMOTEIO; + case AUX_I2C_REPLY_DEFER: + DRM_DEBUG_KMS("aux_ch defer\n"); + udelay(100); + break; + default: + DRM_ERROR("aux_ch invalid reply 0x%02x\n", reply[0]); + return -EREMOTEIO; + } + } } static int @@ -429,19 +506,33 @@ for (lane_count = 1; lane_count <= max_lane_count; lane_count <<= 1) { for (clock = 0; clock <= max_clock; clock++) { - int link_avail = intel_dp_link_clock(bws[clock]) * lane_count; + int link_avail = intel_dp_max_data_rate(intel_dp_link_clock(bws[clock]), lane_count); - if (intel_dp_link_required(mode->clock) <= link_avail) { + if (intel_dp_link_required(encoder->dev, intel_output, mode->clock) + <= link_avail) { dp_priv->link_bw = bws[clock]; dp_priv->lane_count = lane_count; adjusted_mode->clock = intel_dp_link_clock(dp_priv->link_bw); - DRM_DEBUG("Display port link bw %02x lane count %d clock %d\n", + DRM_DEBUG_KMS("Display port link bw %02x lane " + "count %d clock %d\n", dp_priv->link_bw, dp_priv->lane_count, adjusted_mode->clock); return true; } } } + + if (IS_eDP(intel_output)) { + /* okay we failed just pick the highest */ + dp_priv->lane_count = max_lane_count; + dp_priv->link_bw = bws[max_clock]; + adjusted_mode->clock = intel_dp_link_clock(dp_priv->link_bw); + DRM_DEBUG_KMS("Force picking display port link bw %02x lane " + "count %d clock %d\n", + dp_priv->link_bw, dp_priv->lane_count, + adjusted_mode->clock); + return true; + } return false; } @@ -514,7 +605,7 @@ intel_dp_compute_m_n(3, lane_count, mode->clock, adjusted_mode->clock, &m_n); - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { if (intel_crtc->pipe == 0) { I915_WRITE(TRANSA_DATA_M1, ((m_n.tu - 1) << PIPE_GMCH_DATA_M_TU_SIZE_SHIFT) | @@ -606,23 +697,68 @@ } } -static void igdng_edp_backlight_on (struct drm_device *dev) +static void ironlake_edp_panel_on (struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + unsigned long timeout = jiffies + msecs_to_jiffies(5000); + u32 pp, pp_status; + + pp_status = I915_READ(PCH_PP_STATUS); + if (pp_status & PP_ON) + return; + + pp = I915_READ(PCH_PP_CONTROL); + pp |= PANEL_UNLOCK_REGS | POWER_TARGET_ON; + I915_WRITE(PCH_PP_CONTROL, pp); + do { + pp_status = I915_READ(PCH_PP_STATUS); + } while (((pp_status & PP_ON) == 0) && !time_after(jiffies, timeout)); + + if (time_after(jiffies, timeout)) + DRM_DEBUG_KMS("panel on wait timed out: 0x%08x\n", pp_status); + + pp &= ~(PANEL_UNLOCK_REGS | EDP_FORCE_VDD); + I915_WRITE(PCH_PP_CONTROL, pp); +} + +static void ironlake_edp_panel_off (struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + unsigned long timeout = jiffies + msecs_to_jiffies(5000); + u32 pp, pp_status; + + pp = I915_READ(PCH_PP_CONTROL); + pp &= ~POWER_TARGET_ON; + I915_WRITE(PCH_PP_CONTROL, pp); + do { + pp_status = I915_READ(PCH_PP_STATUS); + } while ((pp_status & PP_ON) && !time_after(jiffies, timeout)); + + if (time_after(jiffies, timeout)) + DRM_DEBUG_KMS("panel off wait timed out\n"); + + /* Make sure VDD is enabled so DP AUX will work */ + pp |= EDP_FORCE_VDD; + I915_WRITE(PCH_PP_CONTROL, pp); +} + +static void ironlake_edp_backlight_on (struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; u32 pp; - DRM_DEBUG("\n"); + DRM_DEBUG_KMS("\n"); pp = I915_READ(PCH_PP_CONTROL); pp |= EDP_BLC_ENABLE; I915_WRITE(PCH_PP_CONTROL, pp); } -static void igdng_edp_backlight_off (struct drm_device *dev) +static void ironlake_edp_backlight_off (struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; u32 pp; - DRM_DEBUG("\n"); + DRM_DEBUG_KMS("\n"); pp = I915_READ(PCH_PP_CONTROL); pp &= ~EDP_BLC_ENABLE; I915_WRITE(PCH_PP_CONTROL, pp); @@ -640,14 +776,18 @@ if (mode != DRM_MODE_DPMS_ON) { if (dp_reg & DP_PORT_EN) { intel_dp_link_down(intel_output, dp_priv->DP); - if (IS_eDP(intel_output)) - igdng_edp_backlight_off(dev); + if (IS_eDP(intel_output)) { + ironlake_edp_backlight_off(dev); + ironlake_edp_panel_off(dev); + } } } else { if (!(dp_reg & DP_PORT_EN)) { intel_dp_link_train(intel_output, dp_priv->DP, dp_priv->link_configuration); - if (IS_eDP(intel_output)) - igdng_edp_backlight_on(dev); + if (IS_eDP(intel_output)) { + ironlake_edp_panel_on(dev); + ironlake_edp_backlight_on(dev); + } } } dp_priv->dpms_mode = mode; @@ -1010,7 +1150,7 @@ struct drm_i915_private *dev_priv = dev->dev_private; struct intel_dp_priv *dp_priv = intel_output->dev_priv; - DRM_DEBUG("\n"); + DRM_DEBUG_KMS("\n"); if (IS_eDP(intel_output)) { DP &= ~DP_PLL_ENABLE; @@ -1071,7 +1211,7 @@ } static enum drm_connector_status -igdng_dp_detect(struct drm_connector *connector) +ironlake_dp_detect(struct drm_connector *connector) { struct intel_output *intel_output = to_intel_output(connector); struct intel_dp_priv *dp_priv = intel_output->dev_priv; @@ -1106,18 +1246,8 @@ dp_priv->has_audio = false; - if (IS_IGDNG(dev)) - return igdng_dp_detect(connector); - - temp = I915_READ(PORT_HOTPLUG_EN); - - I915_WRITE(PORT_HOTPLUG_EN, - temp | - DPB_HOTPLUG_INT_EN | - DPC_HOTPLUG_INT_EN | - DPD_HOTPLUG_INT_EN); - - POSTING_READ(PORT_HOTPLUG_EN); + if (IS_IRONLAKE(dev)) + return ironlake_dp_detect(connector); switch (dp_priv->output_reg) { case DP_B: @@ -1254,18 +1384,17 @@ else intel_output->type = INTEL_OUTPUT_DISPLAYPORT; - if (output_reg == DP_B) + if (output_reg == DP_B || output_reg == PCH_DP_B) intel_output->clone_mask = (1 << INTEL_DP_B_CLONE_BIT); - else if (output_reg == DP_C) + else if (output_reg == DP_C || output_reg == PCH_DP_C) intel_output->clone_mask = (1 << INTEL_DP_C_CLONE_BIT); - else if (output_reg == DP_D) + else if (output_reg == DP_D || output_reg == PCH_DP_D) intel_output->clone_mask = (1 << INTEL_DP_D_CLONE_BIT); - if (IS_eDP(intel_output)) { - intel_output->crtc_mask = (1 << 1); + if (IS_eDP(intel_output)) intel_output->clone_mask = (1 << INTEL_EDP_CLONE_BIT); - } else - intel_output->crtc_mask = (1 << 0) | (1 << 1); + + intel_output->crtc_mask = (1 << 0) | (1 << 1); connector->interlace_allowed = true; connector->doublescan_allowed = 0; @@ -1290,14 +1419,20 @@ break; case DP_B: case PCH_DP_B: + dev_priv->hotplug_supported_mask |= + HDMIB_HOTPLUG_INT_STATUS; name = "DPDDC-B"; break; case DP_C: case PCH_DP_C: + dev_priv->hotplug_supported_mask |= + HDMIC_HOTPLUG_INT_STATUS; name = "DPDDC-C"; break; case DP_D: case PCH_DP_D: + dev_priv->hotplug_supported_mask |= + HDMID_HOTPLUG_INT_STATUS; name = "DPDDC-D"; break; } --- linux-2.6.32.orig/drivers/gpu/drm/i915/i915_opregion.c +++ linux-2.6.32/drivers/gpu/drm/i915/i915_opregion.c @@ -118,6 +118,10 @@ #define ASLE_BACKLIGHT_FAIL (2<<12) #define ASLE_PFIT_FAIL (2<<14) #define ASLE_PWM_FREQ_FAIL (2<<16) +#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) @@ -163,7 +167,7 @@ if (IS_I965G(dev) && (blc_pwm_ctl2 & BLM_COMBINATION_MODE)) pci_write_config_dword(dev->pdev, PCI_LBPC, bclp); else { - if (IS_IGD(dev)) { + if (IS_PINEVIEW(dev)) { blc_pwm_ctl &= ~(BACKLIGHT_DUTY_CYCLE_MASK - 1); max_backlight = (blc_pwm_ctl & BACKLIGHT_MODULATION_FREQ_MASK) >> BACKLIGHT_MODULATION_FREQ_SHIFT; @@ -224,7 +228,7 @@ asle_req = asle->aslc & ASLE_REQ_MSK; if (!asle_req) { - DRM_DEBUG("non asle set request??\n"); + DRM_DEBUG_DRIVER("non asle set request??\n"); return; } @@ -243,6 +247,73 @@ asle->aslc = asle_stat; } +static u32 asle_set_backlight_ironlake(struct drm_device *dev, u32 bclp) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct opregion_asle *asle = dev_priv->opregion.asle; + u32 cpu_pwm_ctl, pch_pwm_ctl2; + u32 max_backlight, level; + + if (!(bclp & ASLE_BCLP_VALID)) + return ASLE_BACKLIGHT_FAILED; + + bclp &= ASLE_BCLP_MSK; + if (bclp < 0 || bclp > 255) + return ASLE_BACKLIGHT_FAILED; + + cpu_pwm_ctl = I915_READ(BLC_PWM_CPU_CTL); + pch_pwm_ctl2 = I915_READ(BLC_PWM_PCH_CTL2); + /* get the max PWM frequency */ + max_backlight = (pch_pwm_ctl2 >> 16) & BACKLIGHT_DUTY_CYCLE_MASK; + /* calculate the expected PMW frequency */ + level = (bclp * max_backlight) / 255; + /* reserve the high 16 bits */ + cpu_pwm_ctl &= ~(BACKLIGHT_DUTY_CYCLE_MASK); + /* write the updated PWM frequency */ + I915_WRITE(BLC_PWM_CPU_CTL, cpu_pwm_ctl | level); + + asle->cblv = (bclp*0x64)/0xff | ASLE_CBLV_VALID; + + return 0; +} + +void ironlake_opregion_gse_intr(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct opregion_asle *asle = dev_priv->opregion.asle; + u32 asle_stat = 0; + u32 asle_req; + + if (!asle) + return; + + asle_req = 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_ironlake(dev, 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; + } + + asle->aslc = asle_stat; +} #define ASLE_ALS_EN (1<<0) #define ASLE_BLC_EN (1<<1) #define ASLE_PFIT_EN (1<<2) @@ -258,8 +329,7 @@ unsigned long irqflags; spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags); - i915_enable_pipestat(dev_priv, 1, - I915_LEGACY_BLC_EVENT_ENABLE); + intel_enable_asle(dev); spin_unlock_irqrestore(&dev_priv->user_irq_lock, irqflags); } @@ -312,8 +382,57 @@ 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; 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) { + printk(KERN_WARNING "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; + opregion->acpi->didl[i] = (u32)(device_id & 0x0f0f); + i++; + } + } + +end: + /* If fewer than 8 outputs, the list must be null terminated */ + if (i < 8) + opregion->acpi->didl[i] = 0; + 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) { @@ -346,10 +465,7 @@ opregion->acpi->didl[i] |= (1<<31) | output_type | i; i++; } - - /* If fewer than 8 outputs, the list must be null terminated */ - if (i < 8) - opregion->acpi->didl[i] = 0; + goto end; } int intel_opregion_init(struct drm_device *dev, int resume) @@ -361,9 +477,9 @@ int err = 0; pci_read_config_dword(dev->pdev, PCI_ASLS, &asls); - DRM_DEBUG("graphic opregion physical addr: 0x%x\n", asls); + DRM_DEBUG_DRIVER("graphic opregion physical addr: 0x%x\n", asls); if (asls == 0) { - DRM_DEBUG("ACPI OpRegion not supported!\n"); + DRM_DEBUG_DRIVER("ACPI OpRegion not supported!\n"); return -ENOTSUPP; } @@ -373,30 +489,30 @@ opregion->header = base; if (memcmp(opregion->header->signature, OPREGION_SIGNATURE, 16)) { - DRM_DEBUG("opregion signature mismatch\n"); + DRM_DEBUG_DRIVER("opregion signature mismatch\n"); err = -EINVAL; goto err_out; } mboxes = opregion->header->mboxes; if (mboxes & MBOX_ACPI) { - DRM_DEBUG("Public ACPI methods supported\n"); + DRM_DEBUG_DRIVER("Public ACPI methods supported\n"); opregion->acpi = base + OPREGION_ACPI_OFFSET; if (drm_core_check_feature(dev, DRIVER_MODESET)) intel_didl_outputs(dev); } else { - DRM_DEBUG("Public ACPI methods not supported\n"); + DRM_DEBUG_DRIVER("Public ACPI methods not supported\n"); err = -ENOTSUPP; goto err_out; } opregion->enabled = 1; if (mboxes & MBOX_SWSCI) { - DRM_DEBUG("SWSCI supported\n"); + DRM_DEBUG_DRIVER("SWSCI supported\n"); opregion->swsci = base + OPREGION_SWSCI_OFFSET; } if (mboxes & MBOX_ASLE) { - DRM_DEBUG("ASLE supported\n"); + DRM_DEBUG_DRIVER("ASLE supported\n"); opregion->asle = base + OPREGION_ASLE_OFFSET; opregion_enable_asle(dev); } --- linux-2.6.32.orig/drivers/gpu/drm/i915/intel_drv.h +++ linux-2.6.32/drivers/gpu/drm/i915/intel_drv.h @@ -110,17 +110,49 @@ int clone_mask; }; +struct intel_crtc; +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; + void *virt_addr; + /* flip handling */ + uint32_t last_flip_req; + int hw_wedged; +#define HW_WEDGED 1 +#define NEEDS_WAIT_FOR_FLIP 2 +#define RELEASE_OLD_VID 3 +#define SWITCH_OFF_STAGE_1 4 +#define SWITCH_OFF_STAGE_2 5 +}; + struct intel_crtc { struct drm_crtc base; enum pipe pipe; enum plane plane; - struct drm_gem_object *cursor_bo; - uint32_t cursor_addr; u8 lut_r[256], lut_g[256], lut_b[256]; int dpms_mode; bool busy; /* is scanout buffer being updated frequently? */ struct timer_list idle_timer; bool lowfreq_avail; + struct intel_overlay *overlay; + struct intel_unpin_work *unpin_work; + + struct drm_gem_object *cursor_bo; + uint32_t cursor_addr; + int16_t cursor_x, cursor_y; + int16_t cursor_width, cursor_height; + bool cursor_visble; }; #define to_intel_crtc(x) container_of(x, struct intel_crtc, base) @@ -134,6 +166,8 @@ int intel_ddc_get_modes(struct intel_output *intel_output); extern bool intel_ddc_probe(struct intel_output *intel_output); void intel_i2c_quirk_set(struct drm_device *dev, bool enable); +void intel_i2c_reset_gmbus(struct drm_device *dev); + extern void intel_crt_init(struct drm_device *dev); extern void intel_hdmi_init(struct drm_device *dev, int sdvox_reg); extern bool intel_sdvo_init(struct drm_device *dev, int output_device); @@ -148,6 +182,7 @@ extern void intel_edp_link_config (struct intel_output *, int *, int *); +extern int intel_panel_fitter_pipe (struct drm_device *dev); extern void intel_crtc_load_lut(struct drm_crtc *crtc); extern void intel_encoder_prepare (struct drm_encoder *encoder); extern void intel_encoder_commit (struct drm_encoder *encoder); @@ -177,10 +212,24 @@ 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_init_clock_gating(struct drm_device *dev); extern int intel_framebuffer_create(struct drm_device *dev, struct drm_mode_fb_cmd *mode_cmd, struct drm_framebuffer **fb, struct drm_gem_object *obj); +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_recover_from_interrupt(struct intel_overlay *overlay, + int interruptible); +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); #endif /* __INTEL_DRV_H__ */ --- linux-2.6.32.orig/drivers/gpu/drm/i915/intel_fb.c +++ linux-2.6.32/drivers/gpu/drm/i915/intel_fb.c @@ -70,7 +70,7 @@ /** - * Curretly it is assumed that the old framebuffer is reused. + * Currently it is assumed that the old framebuffer is reused. * * LOCKING * caller should hold the mode config lock. @@ -148,7 +148,7 @@ mutex_lock(&dev->struct_mutex); - ret = i915_gem_object_pin(fbo, PAGE_SIZE); + ret = i915_gem_object_pin(fbo, 64*1024); if (ret) { DRM_ERROR("failed to pin fb: %d\n", ret); goto out_unref; @@ -230,8 +230,9 @@ par->intel_fb = intel_fb; /* To allow resizeing without swapping buffers */ - DRM_DEBUG("allocated %dx%d fb: 0x%08x, bo %p\n", intel_fb->base.width, - intel_fb->base.height, obj_priv->gtt_offset, fbo); + DRM_DEBUG_KMS("allocated %dx%d fb: 0x%08x, bo %p\n", + intel_fb->base.width, intel_fb->base.height, + obj_priv->gtt_offset, fbo); mutex_unlock(&dev->struct_mutex); return 0; @@ -249,7 +250,7 @@ { int ret; - DRM_DEBUG("\n"); + DRM_DEBUG_KMS("\n"); ret = drm_fb_helper_single_fb_probe(dev, 32, intelfb_create); return ret; } --- linux-2.6.32.orig/drivers/gpu/drm/i915/intel_hdmi.c +++ linux-2.6.32/drivers/gpu/drm/i915/intel_hdmi.c @@ -82,7 +82,7 @@ /* HW workaround, need to toggle enable bit off and on for 12bpc, but * we do this anyway which shows more stable in testing. */ - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { I915_WRITE(hdmi_priv->sdvox_reg, temp & ~SDVO_ENABLE); POSTING_READ(hdmi_priv->sdvox_reg); } @@ -99,7 +99,7 @@ /* HW workaround, need to write this twice for issue that may result * in first write getting masked. */ - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { I915_WRITE(hdmi_priv->sdvox_reg, temp); POSTING_READ(hdmi_priv->sdvox_reg); } @@ -225,7 +225,6 @@ .destroy = intel_hdmi_enc_destroy, }; - void intel_hdmi_init(struct drm_device *dev, int sdvox_reg) { struct drm_i915_private *dev_priv = dev->dev_private; @@ -254,21 +253,26 @@ if (sdvox_reg == SDVOB) { intel_output->clone_mask = (1 << INTEL_HDMIB_CLONE_BIT); intel_output->ddc_bus = intel_i2c_create(dev, GPIOE, "HDMIB"); + dev_priv->hotplug_supported_mask |= HDMIB_HOTPLUG_INT_STATUS; } else if (sdvox_reg == SDVOC) { intel_output->clone_mask = (1 << INTEL_HDMIC_CLONE_BIT); intel_output->ddc_bus = intel_i2c_create(dev, GPIOD, "HDMIC"); + dev_priv->hotplug_supported_mask |= HDMIC_HOTPLUG_INT_STATUS; } else if (sdvox_reg == HDMIB) { intel_output->clone_mask = (1 << INTEL_HDMID_CLONE_BIT); intel_output->ddc_bus = intel_i2c_create(dev, PCH_GPIOE, "HDMIB"); + dev_priv->hotplug_supported_mask |= HDMIB_HOTPLUG_INT_STATUS; } else if (sdvox_reg == HDMIC) { intel_output->clone_mask = (1 << INTEL_HDMIE_CLONE_BIT); intel_output->ddc_bus = intel_i2c_create(dev, PCH_GPIOD, "HDMIC"); + dev_priv->hotplug_supported_mask |= HDMIC_HOTPLUG_INT_STATUS; } else if (sdvox_reg == HDMID) { intel_output->clone_mask = (1 << INTEL_HDMIF_CLONE_BIT); intel_output->ddc_bus = intel_i2c_create(dev, PCH_GPIOF, "HDMID"); + dev_priv->hotplug_supported_mask |= HDMID_HOTPLUG_INT_STATUS; } if (!intel_output->ddc_bus) goto err_connector; --- linux-2.6.32.orig/drivers/gpu/drm/i915/intel_i2c.c +++ linux-2.6.32/drivers/gpu/drm/i915/intel_i2c.c @@ -39,7 +39,7 @@ struct drm_i915_private *dev_priv = dev->dev_private; /* When using bit bashing for I2C, this bit needs to be set to 1 */ - if (!IS_IGD(dev)) + if (!IS_PINEVIEW(dev)) return; if (enable) I915_WRITE(DSPCLK_GATE_D, @@ -118,6 +118,23 @@ udelay(I2C_RISEFALL_TIME); /* wait for the line to change state */ } +/* Clears the GMBUS setup. Our driver doesn't make use of the GMBUS I2C + * engine, but if the BIOS leaves it enabled, then that can break our use + * of the bit-banging I2C interfaces. This is notably the case with the + * Mac Mini in EFI mode. + */ +void +intel_i2c_reset_gmbus(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + if (IS_IRONLAKE(dev)) { + I915_WRITE(PCH_GMBUS0, 0); + } else { + I915_WRITE(GMBUS0, 0); + } +} + /** * intel_i2c_create - instantiate an Intel i2c bus using the specified GPIO reg * @dev: DRM device @@ -168,6 +185,8 @@ if(i2c_bit_add_bus(&chan->adapter)) goto out_free; + intel_i2c_reset_gmbus(dev); + /* JJJ: raise SCL and SDA? */ intel_i2c_quirk_set(dev, true); set_data(chan, 1); --- linux-2.6.32.orig/drivers/gpu/drm/i915/intel_lvds.c +++ linux-2.6.32/drivers/gpu/drm/i915/intel_lvds.c @@ -56,7 +56,7 @@ struct drm_i915_private *dev_priv = dev->dev_private; u32 blc_pwm_ctl, reg; - if (IS_IGDNG(dev)) + if (IS_IRONLAKE(dev)) reg = BLC_PWM_CPU_CTL; else reg = BLC_PWM_CTL; @@ -74,7 +74,7 @@ struct drm_i915_private *dev_priv = dev->dev_private; u32 reg; - if (IS_IGDNG(dev)) + if (IS_IRONLAKE(dev)) reg = BLC_PWM_PCH_CTL2; else reg = BLC_PWM_CTL; @@ -91,7 +91,7 @@ struct drm_i915_private *dev_priv = dev->dev_private; u32 pp_status, ctl_reg, status_reg; - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { ctl_reg = PCH_PP_CONTROL; status_reg = PCH_PP_STATUS; } else { @@ -137,7 +137,7 @@ u32 pp_on_reg, pp_off_reg, pp_ctl_reg, pp_div_reg; u32 pwm_ctl_reg; - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { pp_on_reg = PCH_PP_ON_DELAYS; pp_off_reg = PCH_PP_OFF_DELAYS; pp_ctl_reg = PCH_PP_CONTROL; @@ -174,7 +174,7 @@ u32 pp_on_reg, pp_off_reg, pp_ctl_reg, pp_div_reg; u32 pwm_ctl_reg; - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { pp_on_reg = PCH_PP_ON_DELAYS; pp_off_reg = PCH_PP_OFF_DELAYS; pp_ctl_reg = PCH_PP_CONTROL; @@ -297,7 +297,7 @@ } /* full screen scale for now */ - if (IS_IGDNG(dev)) + if (IS_IRONLAKE(dev)) goto out; /* 965+ wants fuzzy fitting */ @@ -327,7 +327,7 @@ * to register description and PRM. * Change the value here to see the borders for debugging */ - if (!IS_IGDNG(dev)) { + if (!IS_IRONLAKE(dev)) { I915_WRITE(BCLRPAT_A, 0); I915_WRITE(BCLRPAT_B, 0); } @@ -548,7 +548,7 @@ struct drm_i915_private *dev_priv = dev->dev_private; u32 reg; - if (IS_IGDNG(dev)) + if (IS_IRONLAKE(dev)) reg = BLC_PWM_CPU_CTL; else reg = BLC_PWM_CTL; @@ -587,7 +587,7 @@ * settings. */ - if (IS_IGDNG(dev)) + if (IS_IRONLAKE(dev)) return; /* @@ -599,18 +599,6 @@ I915_WRITE(PFIT_CONTROL, lvds_priv->pfit_control); } -/* Some lid devices report incorrect lid status, assume they're connected */ -static const struct dmi_system_id bad_lid_status[] = { - { - .ident = "Aspire One", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Aspire one"), - }, - }, - { } -}; - /** * Detect the LVDS connection. * @@ -620,10 +608,14 @@ */ static enum drm_connector_status intel_lvds_detect(struct drm_connector *connector) { + struct drm_device *dev = connector->dev; enum drm_connector_status status = connector_status_connected; - if (!acpi_lid_open() && !dmi_check_system(bad_lid_status)) - status = connector_status_disconnected; + /* ACPI lid methods were generally unreliable in this generation, so + * don't even bother. + */ + if (IS_GEN2(dev) || IS_GEN3(dev)) + return connector_status_connected; return status; } @@ -679,7 +671,14 @@ struct drm_i915_private *dev_priv = container_of(nb, struct drm_i915_private, lid_notifier); struct drm_device *dev = dev_priv->dev; + struct drm_connector *connector = dev_priv->int_lvds_connector; + /* + * check and update the status of LVDS connector after receiving + * the LID nofication event. + */ + if (connector) + connector->status = connector->funcs->detect(connector); if (!acpi_lid_open()) { dev_priv->modeset_on_lid = 1; return NOTIFY_OK; @@ -845,73 +844,142 @@ }, { .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 = "Asus EeeBox PC EB1007", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "EB1007"), + }, + }, { } /* terminating entry */ }; -#ifdef CONFIG_ACPI -/* - * check_lid_device -- check whether @handle is an ACPI LID device. - * @handle: ACPI device handle - * @level : depth in the ACPI namespace tree - * @context: the number of LID device when we find the device - * @rv: a return value to fill if desired (Not use) +/** + * 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 acpi_status -check_lid_device(acpi_handle handle, u32 level, void *context, - void **return_value) +static void intel_find_lvds_downclock(struct drm_device *dev, + struct drm_connector *connector) { - struct acpi_device *acpi_dev; - int *lid_present = context; - - acpi_dev = NULL; - /* Get the acpi device for device handle */ - if (acpi_bus_get_device(handle, &acpi_dev) || !acpi_dev) { - /* If there is no ACPI device for handle, return */ - return AE_OK; - } + struct drm_i915_private *dev_priv = dev->dev_private; + struct drm_display_mode *scan, *panel_fixed_mode; + int temp_downclock; - if (!strncmp(acpi_device_hid(acpi_dev), "PNP0C0D", 7)) - *lid_present = 1; + panel_fixed_mode = dev_priv->panel_fixed_mode; + temp_downclock = panel_fixed_mode->clock; - return AE_OK; + mutex_lock(&dev->mode_config.mutex); + 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 == panel_fixed_mode->hdisplay && + scan->hsync_start == panel_fixed_mode->hsync_start && + scan->hsync_end == panel_fixed_mode->hsync_end && + scan->htotal == panel_fixed_mode->htotal && + scan->vdisplay == panel_fixed_mode->vdisplay && + scan->vsync_start == panel_fixed_mode->vsync_start && + scan->vsync_end == panel_fixed_mode->vsync_end && + scan->vtotal == panel_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; + } + } + } + mutex_unlock(&dev->mode_config.mutex); + if (temp_downclock < panel_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", + panel_fixed_mode->clock, temp_downclock); + } + return; } -/** - * check whether there exists the ACPI LID device by enumerating the ACPI - * device tree. +/* + * 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. + * Note: The addin_offset should also be checked for LVDS panel. + * Only when it is non-zero, it is assumed that it is present. */ -static int intel_lid_present(void) +static int lvds_is_present_in_vbt(struct drm_device *dev) { - int lid_present = 0; + struct drm_i915_private *dev_priv = dev->dev_private; + struct child_device_config *p_child; + int i, ret; - if (acpi_disabled) { - /* If ACPI is disabled, there is no ACPI device tree to - * check, so assume the LID device would have been present. - */ + if (!dev_priv->child_dev_num) return 1; - } - acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, - ACPI_UINT32_MAX, - check_lid_device, &lid_present, NULL); + 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 LFP, continue. + * If the device type is 0x22, it is also regarded as LFP. + */ + if (p_child->device_type != DEVICE_TYPE_INT_LFP && + p_child->device_type != DEVICE_TYPE_LFP) + continue; - return lid_present; -} -#else -static int intel_lid_present(void) -{ - /* In the absence of ACPI built in, assume that the LID device would - * have been present. - */ - return 1; + /* The addin_offset should be checked. Only when it is + * non-zero, it is regarded as present. + */ + if (p_child->addin_offset) { + ret = 1; + break; + } + } + return ret; } -#endif /** * intel_lvds_init - setup LVDS connectors on this device @@ -936,21 +1004,16 @@ if (dmi_check_system(intel_no_lvds)) return; - /* Assume that any device without an ACPI LID device also doesn't - * have an integrated LVDS. We would be better off parsing the BIOS - * to get a reliable indicator, but that code isn't written yet. - * - * In the case of all-in-one desktops using LVDS that we've seen, - * they're using SDVO LVDS. - */ - if (!intel_lid_present()) + if (!lvds_is_present_in_vbt(dev)) { + DRM_DEBUG_KMS("LVDS is not present in VBT\n"); return; + } - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { if ((I915_READ(PCH_LVDS) & LVDS_DETECTED) == 0) return; if (dev_priv->edp_support) { - DRM_DEBUG("disable LVDS for eDP support\n"); + DRM_DEBUG_KMS("disable LVDS for eDP support\n"); return; } gpio = PCH_GPIOC; @@ -1023,6 +1086,7 @@ dev_priv->panel_fixed_mode = drm_mode_duplicate(dev, scan); mutex_unlock(&dev->mode_config.mutex); + intel_find_lvds_downclock(dev, connector); goto out; } mutex_unlock(&dev->mode_config.mutex); @@ -1047,8 +1111,8 @@ * correct mode. */ - /* IGDNG: FIXME if still fail, not try pipe mode now */ - if (IS_IGDNG(dev)) + /* Ironlake: FIXME if still fail, not try pipe mode now */ + if (IS_IRONLAKE(dev)) goto failed; lvds = I915_READ(LVDS); @@ -1069,7 +1133,7 @@ goto failed; out: - if (IS_IGDNG(dev)) { + if (IS_IRONLAKE(dev)) { u32 pwm; /* make sure PWM is enabled */ pwm = I915_READ(BLC_PWM_CPU_CTL2); @@ -1082,9 +1146,11 @@ } dev_priv->lid_notifier.notifier_call = intel_lid_notify; if (acpi_lid_notifier_register(&dev_priv->lid_notifier)) { - DRM_DEBUG("lid notifier registration failed\n"); + DRM_DEBUG_KMS("lid notifier registration failed\n"); dev_priv->lid_notifier.notifier_call = NULL; } + /* keep the LVDS connector */ + dev_priv->int_lvds_connector = connector; drm_sysfs_connector_add(connector); return; @@ -1093,5 +1159,6 @@ if (intel_output->ddc_bus) intel_i2c_destroy(intel_output->ddc_bus); drm_connector_cleanup(connector); + drm_encoder_cleanup(encoder); kfree(intel_output); } --- linux-2.6.32.orig/drivers/gpu/drm/i915/intel_sdvo.c +++ linux-2.6.32/drivers/gpu/drm/i915/intel_sdvo.c @@ -35,8 +35,7 @@ #include "i915_drm.h" #include "i915_drv.h" #include "intel_sdvo_regs.h" - -#undef SDVO_DEBUG +#include static char *tv_format_names[] = { "NTSC_M" , "NTSC_J" , "NTSC_443", @@ -356,7 +355,6 @@ #define SDVO_NAME(dev_priv) ((dev_priv)->output_device == SDVOB ? "SDVOB" : "SDVOC") #define SDVO_PRIV(output) ((struct intel_sdvo_priv *) (output)->dev_priv) -#ifdef SDVO_DEBUG static void intel_sdvo_debug_write(struct intel_output *intel_output, u8 cmd, void *args, int args_len) { @@ -379,9 +377,6 @@ DRM_LOG_KMS("(%02X)", cmd); DRM_LOG_KMS("\n"); } -#else -#define intel_sdvo_debug_write(o, c, a, l) -#endif static void intel_sdvo_write_cmd(struct intel_output *intel_output, u8 cmd, void *args, int args_len) @@ -398,7 +393,6 @@ intel_sdvo_write_byte(intel_output, SDVO_I2C_OPCODE, cmd); } -#ifdef SDVO_DEBUG static const char *cmd_status_names[] = { "Power on", "Success", @@ -427,9 +421,6 @@ DRM_LOG_KMS("(??? %d)", status); DRM_LOG_KMS("\n"); } -#else -#define intel_sdvo_debug_response(o, r, l, s) -#endif static u8 intel_sdvo_read_response(struct intel_output *intel_output, void *response, int response_len) @@ -472,14 +463,63 @@ } /** - * Don't check status code from this as it switches the bus back to the - * SDVO chips which defeats the purpose of doing a bus switch in the first - * place. + * Try to read the response after issuie the DDC switch command. But it + * is noted that we must do the action of reading response and issuing DDC + * switch command in one I2C transaction. Otherwise when we try to start + * another I2C transaction after issuing the DDC bus switch, it will be + * switched to the internal SDVO register. */ static void intel_sdvo_set_control_bus_switch(struct intel_output *intel_output, u8 target) { - intel_sdvo_write_cmd(intel_output, SDVO_CMD_SET_CONTROL_BUS_SWITCH, &target, 1); + struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; + u8 out_buf[2], cmd_buf[2], ret_value[2], ret; + struct i2c_msg msgs[] = { + { + .addr = sdvo_priv->slave_addr >> 1, + .flags = 0, + .len = 2, + .buf = out_buf, + }, + /* the following two are to read the response */ + { + .addr = sdvo_priv->slave_addr >> 1, + .flags = 0, + .len = 1, + .buf = cmd_buf, + }, + { + .addr = sdvo_priv->slave_addr >> 1, + .flags = I2C_M_RD, + .len = 1, + .buf = ret_value, + }, + }; + + intel_sdvo_debug_write(intel_output, SDVO_CMD_SET_CONTROL_BUS_SWITCH, + &target, 1); + /* write the DDC switch command argument */ + intel_sdvo_write_byte(intel_output, SDVO_I2C_ARG_0, target); + + out_buf[0] = SDVO_I2C_OPCODE; + out_buf[1] = SDVO_CMD_SET_CONTROL_BUS_SWITCH; + cmd_buf[0] = SDVO_I2C_CMD_STATUS; + cmd_buf[1] = 0; + ret_value[0] = 0; + ret_value[1] = 0; + + ret = i2c_transfer(intel_output->i2c_bus, msgs, 3); + if (ret != 3) { + /* failure in I2C transfer */ + DRM_DEBUG_KMS("I2c transfer returned %d\n", ret); + return; + } + if (ret_value[0] != SDVO_CMD_STATUS_SUCCESS) { + DRM_DEBUG_KMS("DDC switch command returns response %d\n", + ret_value[0]); + return; + } + return; } static bool intel_sdvo_set_target_input(struct intel_output *intel_output, bool target_0, bool target_1) @@ -1589,6 +1629,32 @@ edid = drm_get_edid(&intel_output->base, intel_output->ddc_bus); + /* This is only applied to SDVO cards with multiple outputs */ + if (edid == NULL && intel_sdvo_multifunc_encoder(intel_output)) { + uint8_t saved_ddc, temp_ddc; + saved_ddc = sdvo_priv->ddc_bus; + temp_ddc = sdvo_priv->ddc_bus >> 1; + /* + * Don't use the 1 as the argument of DDC bus switch to get + * the EDID. It is used for SDVO SPD ROM. + */ + while(temp_ddc > 1) { + sdvo_priv->ddc_bus = temp_ddc; + edid = drm_get_edid(&intel_output->base, + intel_output->ddc_bus); + if (edid) { + /* + * When we can get the EDID, maybe it is the + * correct DDC bus. Update it. + */ + sdvo_priv->ddc_bus = temp_ddc; + break; + } + temp_ddc >>= 1; + } + if (edid == NULL) + sdvo_priv->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 */ @@ -1627,6 +1693,10 @@ intel_sdvo_write_cmd(intel_output, SDVO_CMD_GET_ATTACHED_DISPLAYS, NULL, 0); + /* add 30ms delay when the output type might be TV */ + if (sdvo_priv->caps.output_flags & + (SDVO_OUTPUT_SVID0 | SDVO_OUTPUT_CVBS0)) + mdelay(30); status = intel_sdvo_read_response(intel_output, &response, 2); DRM_DEBUG_KMS("SDVO response %d %d\n", response & 0xff, response >> 8); @@ -2214,6 +2284,25 @@ return 0x72; } +static int intel_sdvo_bad_tv_callback(const struct dmi_system_id *id) +{ + DRM_DEBUG_KMS("Ignoring bad SDVO TV connector for %s\n", id->ident); + return 1; +} + +static struct dmi_system_id intel_sdvo_bad_tv[] = { + { + .callback = intel_sdvo_bad_tv_callback, + .ident = "IntelG45/ICH10R/DME1737", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "IBM CORPORATION"), + DMI_MATCH(DMI_PRODUCT_NAME, "4800784"), + }, + }, + + { } /* terminating entry */ +}; + static bool intel_sdvo_output_setup(struct intel_output *intel_output, uint16_t flags) { @@ -2254,7 +2343,8 @@ (1 << INTEL_SDVO_NON_TV_CLONE_BIT) | (1 << INTEL_ANALOG_CLONE_BIT); } - } else if (flags & SDVO_OUTPUT_SVID0) { + } else if ((flags & SDVO_OUTPUT_SVID0) && + !dmi_check_system(intel_sdvo_bad_tv)) { sdvo_priv->controlled_output = SDVO_OUTPUT_SVID0; encoder->encoder_type = DRM_MODE_ENCODER_TVDAC; @@ -2276,6 +2366,14 @@ connector->connector_type = DRM_MODE_CONNECTOR_VGA; intel_output->clone_mask = (1 << INTEL_SDVO_NON_TV_CLONE_BIT) | (1 << INTEL_ANALOG_CLONE_BIT); + } else if (flags & SDVO_OUTPUT_CVBS0) { + + sdvo_priv->controlled_output = SDVO_OUTPUT_CVBS0; + encoder->encoder_type = DRM_MODE_ENCODER_TVDAC; + connector->connector_type = DRM_MODE_CONNECTOR_SVIDEO; + sdvo_priv->is_tv = true; + intel_output->needs_tv_clock = true; + intel_output->clone_mask = 1 << INTEL_SDVO_TV_CLONE_BIT; } else if (flags & SDVO_OUTPUT_LVDS0) { sdvo_priv->controlled_output = SDVO_OUTPUT_LVDS0; @@ -2668,6 +2766,7 @@ bool intel_sdvo_init(struct drm_device *dev, int output_device) { + struct drm_i915_private *dev_priv = dev->dev_private; struct drm_connector *connector; struct intel_output *intel_output; struct intel_sdvo_priv *sdvo_priv; @@ -2714,10 +2813,12 @@ intel_output->ddc_bus = intel_i2c_create(dev, GPIOE, "SDVOB DDC BUS"); sdvo_priv->analog_ddc_bus = intel_i2c_create(dev, GPIOA, "SDVOB/VGA DDC BUS"); + dev_priv->hotplug_supported_mask |= SDVOB_HOTPLUG_INT_STATUS; } else { intel_output->ddc_bus = intel_i2c_create(dev, GPIOE, "SDVOC DDC BUS"); sdvo_priv->analog_ddc_bus = intel_i2c_create(dev, GPIOA, "SDVOC/VGA DDC BUS"); + dev_priv->hotplug_supported_mask |= SDVOC_HOTPLUG_INT_STATUS; } if (intel_output->ddc_bus == NULL) @@ -2726,7 +2827,7 @@ /* Wrap with our custom algo which switches to DDC mode */ intel_output->ddc_bus->algo = &intel_sdvo_i2c_bit_algo; - /* In defaut case sdvo lvds is false */ + /* In default case sdvo lvds is false */ intel_sdvo_get_capabilities(intel_output, &sdvo_priv->caps); if (intel_sdvo_output_setup(intel_output, --- linux-2.6.32.orig/drivers/gpu/drm/i915/intel_tv.c +++ linux-2.6.32/drivers/gpu/drm/i915/intel_tv.c @@ -415,7 +415,7 @@ { .name = "NTSC-M", .clock = 108000, - .refresh = 29970, + .refresh = 59940, .oversample = TV_OVERSAMPLE_8X, .component_only = 0, /* 525 Lines, 60 Fields, 15.734KHz line, Sub-Carrier 3.580MHz */ @@ -458,7 +458,7 @@ { .name = "NTSC-443", .clock = 108000, - .refresh = 29970, + .refresh = 59940, .oversample = TV_OVERSAMPLE_8X, .component_only = 0, /* 525 Lines, 60 Fields, 15.734KHz line, Sub-Carrier 4.43MHz */ @@ -500,7 +500,7 @@ { .name = "NTSC-J", .clock = 108000, - .refresh = 29970, + .refresh = 59940, .oversample = TV_OVERSAMPLE_8X, .component_only = 0, @@ -543,7 +543,7 @@ { .name = "PAL-M", .clock = 108000, - .refresh = 29970, + .refresh = 59940, .oversample = TV_OVERSAMPLE_8X, .component_only = 0, @@ -587,7 +587,7 @@ /* 625 Lines, 50 Fields, 15.625KHz line, Sub-Carrier 4.434MHz */ .name = "PAL-N", .clock = 108000, - .refresh = 25000, + .refresh = 50000, .oversample = TV_OVERSAMPLE_8X, .component_only = 0, @@ -632,7 +632,7 @@ /* 625 Lines, 50 Fields, 15.625KHz line, Sub-Carrier 4.434MHz */ .name = "PAL", .clock = 108000, - .refresh = 25000, + .refresh = 50000, .oversample = TV_OVERSAMPLE_8X, .component_only = 0, @@ -819,7 +819,7 @@ { .name = "1080i@50Hz", .clock = 148800, - .refresh = 25000, + .refresh = 50000, .oversample = TV_OVERSAMPLE_2X, .component_only = 1, @@ -845,7 +845,7 @@ { .name = "1080i@60Hz", .clock = 148800, - .refresh = 30000, + .refresh = 60000, .oversample = TV_OVERSAMPLE_2X, .component_only = 1, @@ -1213,20 +1213,17 @@ tv_ctl |= TV_TRILEVEL_SYNC; if (tv_mode->pal_burst) tv_ctl |= TV_PAL_BURST; + scctl1 = 0; - /* dda1 implies valid video levels */ - if (tv_mode->dda1_inc) { + 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; - scctl1 |= video_levels->burst << TV_BURST_LEVEL_SHIFT; + 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 | @@ -1416,16 +1413,16 @@ * 0 0 0 Component */ if ((tv_dac & TVDAC_SENSE_MASK) == (TVDAC_B_SENSE | TVDAC_C_SENSE)) { - DRM_DEBUG("Detected Composite TV connection\n"); + 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("Detected S-Video TV connection\n"); + DRM_DEBUG_KMS("Detected S-Video TV connection\n"); type = DRM_MODE_CONNECTOR_SVIDEO; } else if ((tv_dac & TVDAC_SENSE_MASK) == 0) { - DRM_DEBUG("Detected Component TV connection\n"); + DRM_DEBUG_KMS("Detected Component TV connection\n"); type = DRM_MODE_CONNECTOR_Component; } else { - DRM_DEBUG("No TV connection detected\n"); + DRM_DEBUG_KMS("No TV connection detected\n"); type = -1; } @@ -1702,6 +1699,41 @@ .destroy = intel_tv_enc_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) @@ -1717,6 +1749,10 @@ 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; --- linux-2.6.32.orig/drivers/gpu/drm/i915/intel_overlay.c +++ linux-2.6.32/drivers/gpu/drm/i915/intel_overlay.c @@ -0,0 +1,1432 @@ +/* + * Copyright © 2009 + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * Authors: + * Daniel Vetter + * + * Derived from Xorg ddx, xf86-video-intel, src/i830_video.c + */ +#include "drmP.h" +#include "drm.h" +#include "i915_drm.h" +#include "i915_drv.h" +#include "i915_reg.h" +#include "intel_drv.h" + +/* Limits for overlay size. According to intel doc, the real limits are: + * Y width: 4095, UV width (planar): 2047, Y height: 2047, + * UV width (planar): * 1023. But the xorg thinks 2048 for height and width. Use + * the mininum of both. */ +#define IMAGE_MAX_WIDTH 2048 +#define IMAGE_MAX_HEIGHT 2046 /* 2 * 1023 */ +/* on 830 and 845 these large limits result in the card hanging */ +#define IMAGE_MAX_WIDTH_LEGACY 1024 +#define IMAGE_MAX_HEIGHT_LEGACY 1088 + +/* overlay register definitions */ +/* OCMD register */ +#define OCMD_TILED_SURFACE (0x1<<19) +#define OCMD_MIRROR_MASK (0x3<<17) +#define OCMD_MIRROR_MODE (0x3<<17) +#define OCMD_MIRROR_HORIZONTAL (0x1<<17) +#define OCMD_MIRROR_VERTICAL (0x2<<17) +#define OCMD_MIRROR_BOTH (0x3<<17) +#define OCMD_BYTEORDER_MASK (0x3<<14) /* zero for YUYV or FOURCC YUY2 */ +#define OCMD_UV_SWAP (0x1<<14) /* YVYU */ +#define OCMD_Y_SWAP (0x2<<14) /* UYVY or FOURCC UYVY */ +#define OCMD_Y_AND_UV_SWAP (0x3<<14) /* VYUY */ +#define OCMD_SOURCE_FORMAT_MASK (0xf<<10) +#define OCMD_RGB_888 (0x1<<10) /* not in i965 Intel docs */ +#define OCMD_RGB_555 (0x2<<10) /* not in i965 Intel docs */ +#define OCMD_RGB_565 (0x3<<10) /* not in i965 Intel docs */ +#define OCMD_YUV_422_PACKED (0x8<<10) +#define OCMD_YUV_411_PACKED (0x9<<10) /* not in i965 Intel docs */ +#define OCMD_YUV_420_PLANAR (0xc<<10) +#define OCMD_YUV_422_PLANAR (0xd<<10) +#define OCMD_YUV_410_PLANAR (0xe<<10) /* also 411 */ +#define OCMD_TVSYNCFLIP_PARITY (0x1<<9) +#define OCMD_TVSYNCFLIP_ENABLE (0x1<<7) +#define OCMD_BUF_TYPE_MASK (Ox1<<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]; +}; + +/* overlay flip addr flag */ +#define OFC_UPDATE 0x1 + +#define OVERLAY_NONPHYSICAL(dev) (IS_G33(dev) || IS_I965G(dev)) +#define OVERLAY_EXISTS(dev) (!IS_G4X(dev) && !IS_IRONLAKE(dev) && !IS_GEN6(dev)) + + +static struct overlay_registers *intel_overlay_map_regs_atomic(struct intel_overlay *overlay) +{ + drm_i915_private_t *dev_priv = overlay->dev->dev_private; + struct overlay_registers *regs; + + /* no recursive mappings */ + BUG_ON(overlay->virt_addr); + + if (OVERLAY_NONPHYSICAL(overlay->dev)) { + regs = io_mapping_map_atomic_wc(dev_priv->mm.gtt_mapping, + overlay->reg_bo->gtt_offset); + + if (!regs) { + DRM_ERROR("failed to map overlay regs in GTT\n"); + return NULL; + } + } else + regs = overlay->reg_bo->phys_obj->handle->vaddr; + + return overlay->virt_addr = regs; +} + +static void intel_overlay_unmap_regs_atomic(struct intel_overlay *overlay) +{ + struct drm_device *dev = overlay->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + + if (OVERLAY_NONPHYSICAL(overlay->dev)) + io_mapping_unmap_atomic(overlay->virt_addr); + + overlay->virt_addr = NULL; + + I915_READ(OVADD); /* flush wc cashes */ + + return; +} + +/* overlay needs to be disable in OCMD reg */ +static int intel_overlay_on(struct intel_overlay *overlay) +{ + struct drm_device *dev = overlay->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + int ret; + RING_LOCALS; + + BUG_ON(overlay->active); + + overlay->active = 1; + overlay->hw_wedged = NEEDS_WAIT_FOR_FLIP; + + BEGIN_LP_RING(6); + OUT_RING(MI_FLUSH); + OUT_RING(MI_NOOP); + OUT_RING(MI_OVERLAY_FLIP | MI_OVERLAY_ON); + OUT_RING(overlay->flip_addr | OFC_UPDATE); + OUT_RING(MI_WAIT_FOR_EVENT | MI_WAIT_FOR_OVERLAY_FLIP); + OUT_RING(MI_NOOP); + ADVANCE_LP_RING(); + + overlay->last_flip_req = i915_add_request(dev, NULL, 0); + if (overlay->last_flip_req == 0) + return -ENOMEM; + + ret = i915_do_wait_request(dev, overlay->last_flip_req, 1); + if (ret != 0) + return ret; + + overlay->hw_wedged = 0; + overlay->last_flip_req = 0; + return 0; +} + +/* overlay needs to be enabled in OCMD reg */ +static void 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; + u32 flip_addr = overlay->flip_addr; + u32 tmp; + RING_LOCALS; + + 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); + + BEGIN_LP_RING(4); + OUT_RING(MI_FLUSH); + OUT_RING(MI_NOOP); + OUT_RING(MI_OVERLAY_FLIP | MI_OVERLAY_CONTINUE); + OUT_RING(flip_addr); + ADVANCE_LP_RING(); + + overlay->last_flip_req = i915_add_request(dev, NULL, 0); +} + +static int intel_overlay_wait_flip(struct intel_overlay *overlay) +{ + struct drm_device *dev = overlay->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + int ret; + u32 tmp; + RING_LOCALS; + + if (overlay->last_flip_req != 0) { + ret = i915_do_wait_request(dev, overlay->last_flip_req, 1); + if (ret == 0) { + overlay->last_flip_req = 0; + + tmp = I915_READ(ISR); + + if (!(tmp & I915_OVERLAY_PLANE_FLIP_PENDING_INTERRUPT)) + return 0; + } + } + + /* synchronous slowpath */ + overlay->hw_wedged = RELEASE_OLD_VID; + + BEGIN_LP_RING(2); + OUT_RING(MI_WAIT_FOR_EVENT | MI_WAIT_FOR_OVERLAY_FLIP); + OUT_RING(MI_NOOP); + ADVANCE_LP_RING(); + + overlay->last_flip_req = i915_add_request(dev, NULL, 0); + if (overlay->last_flip_req == 0) + return -ENOMEM; + + ret = i915_do_wait_request(dev, overlay->last_flip_req, 1); + if (ret != 0) + return ret; + + overlay->hw_wedged = 0; + overlay->last_flip_req = 0; + return 0; +} + +/* overlay needs to be disabled in OCMD reg */ +static int intel_overlay_off(struct intel_overlay *overlay) +{ + u32 flip_addr = overlay->flip_addr; + struct drm_device *dev = overlay->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + int ret; + RING_LOCALS; + + 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; + + /* wait for overlay to go idle */ + overlay->hw_wedged = SWITCH_OFF_STAGE_1; + + BEGIN_LP_RING(6); + OUT_RING(MI_FLUSH); + OUT_RING(MI_NOOP); + OUT_RING(MI_OVERLAY_FLIP | MI_OVERLAY_CONTINUE); + OUT_RING(flip_addr); + OUT_RING(MI_WAIT_FOR_EVENT | MI_WAIT_FOR_OVERLAY_FLIP); + OUT_RING(MI_NOOP); + ADVANCE_LP_RING(); + + overlay->last_flip_req = i915_add_request(dev, NULL, 0); + if (overlay->last_flip_req == 0) + return -ENOMEM; + + ret = i915_do_wait_request(dev, overlay->last_flip_req, 1); + if (ret != 0) + return ret; + + /* turn overlay off */ + overlay->hw_wedged = SWITCH_OFF_STAGE_2; + + BEGIN_LP_RING(6); + OUT_RING(MI_FLUSH); + OUT_RING(MI_NOOP); + OUT_RING(MI_OVERLAY_FLIP | MI_OVERLAY_OFF); + OUT_RING(flip_addr); + OUT_RING(MI_WAIT_FOR_EVENT | MI_WAIT_FOR_OVERLAY_FLIP); + OUT_RING(MI_NOOP); + ADVANCE_LP_RING(); + + overlay->last_flip_req = i915_add_request(dev, NULL, 0); + if (overlay->last_flip_req == 0) + return -ENOMEM; + + ret = i915_do_wait_request(dev, overlay->last_flip_req, 1); + if (ret != 0) + return ret; + + overlay->hw_wedged = 0; + overlay->last_flip_req = 0; + return ret; +} + +static void intel_overlay_off_tail(struct intel_overlay *overlay) +{ + struct drm_gem_object *obj; + + /* never have the overlay hw on without showing a frame */ + BUG_ON(!overlay->vid_bo); + obj = overlay->vid_bo->obj; + + i915_gem_object_unpin(obj); + drm_gem_object_unreference(obj); + overlay->vid_bo = NULL; + + overlay->crtc->overlay = NULL; + overlay->crtc = NULL; + overlay->active = 0; +} + +/* recover from an interruption due to a signal + * We have to be careful not to repeat work forever an make forward progess. */ +int intel_overlay_recover_from_interrupt(struct intel_overlay *overlay, + int interruptible) +{ + struct drm_device *dev = overlay->dev; + drm_i915_private_t *dev_priv = dev->dev_private; + struct drm_gem_object *obj; + u32 flip_addr; + int ret; + RING_LOCALS; + + if (overlay->hw_wedged == HW_WEDGED) + return -EIO; + + if (overlay->last_flip_req == 0) { + overlay->last_flip_req = i915_add_request(dev, NULL, 0); + if (overlay->last_flip_req == 0) + return -ENOMEM; + } + + ret = i915_do_wait_request(dev, overlay->last_flip_req, interruptible); + if (ret != 0) + return ret; + + switch (overlay->hw_wedged) { + case RELEASE_OLD_VID: + obj = overlay->old_vid_bo->obj; + i915_gem_object_unpin(obj); + drm_gem_object_unreference(obj); + overlay->old_vid_bo = NULL; + break; + case SWITCH_OFF_STAGE_1: + flip_addr = overlay->flip_addr; + flip_addr |= OFC_UPDATE; + + overlay->hw_wedged = SWITCH_OFF_STAGE_2; + + BEGIN_LP_RING(6); + OUT_RING(MI_FLUSH); + OUT_RING(MI_NOOP); + OUT_RING(MI_OVERLAY_FLIP | MI_OVERLAY_OFF); + OUT_RING(flip_addr); + OUT_RING(MI_WAIT_FOR_EVENT | MI_WAIT_FOR_OVERLAY_FLIP); + OUT_RING(MI_NOOP); + ADVANCE_LP_RING(); + + overlay->last_flip_req = i915_add_request(dev, NULL, 0); + if (overlay->last_flip_req == 0) + return -ENOMEM; + + ret = i915_do_wait_request(dev, overlay->last_flip_req, + interruptible); + if (ret != 0) + return ret; + + case SWITCH_OFF_STAGE_2: + intel_overlay_off_tail(overlay); + break; + default: + BUG_ON(overlay->hw_wedged != NEEDS_WAIT_FOR_FLIP); + } + + overlay->hw_wedged = 0; + 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_atomic */ +static int intel_overlay_release_old_vid(struct intel_overlay *overlay) +{ + int ret; + struct drm_gem_object *obj; + + /* only wait if there is actually an old frame to release to + * guarantee forward progress */ + if (!overlay->old_vid_bo) + return 0; + + ret = intel_overlay_wait_flip(overlay); + if (ret != 0) + return ret; + + obj = overlay->old_vid_bo->obj; + i915_gem_object_unpin(obj); + drm_gem_object_unreference(obj); + overlay->old_vid_bo = NULL; + + 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_I9XX(dev)) { + mask = 0x3f; + shift = 6; + } else { + mask = 0x1f; + shift = 5; + } + ret = ((offset + width + mask) >> shift) - (offset >> shift); + if (IS_I9XX(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 *regs) +{ + memcpy(regs->Y_HCOEFS, y_static_hcoeffs, sizeof(y_static_hcoeffs)); + memcpy(regs->UV_HCOEFS, uv_static_hcoeffs, sizeof(uv_static_hcoeffs)); +} + +static bool update_scaling_factors(struct intel_overlay *overlay, + struct overlay_registers *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; + + regs->YRGBSCALE = ((yscale & FRACT_MASK) << 20) + | ((xscale >> FP_SHIFT) << 16) + | ((xscale & FRACT_MASK) << 3); + regs->UVSCALE = ((yscale_UV & FRACT_MASK) << 20) + | ((xscale_UV >> FP_SHIFT) << 16) + | ((xscale_UV & FRACT_MASK) << 3); + regs->UVSCALEV = ((yscale >> FP_SHIFT) << 16) + | ((yscale_UV >> FP_SHIFT) << 0); + + if (scale_changed) + update_polyphase_filter(regs); + + return scale_changed; +} + +static void update_colorkey(struct intel_overlay *overlay, + struct overlay_registers *regs) +{ + u32 key = overlay->color_key; + switch (overlay->crtc->base.fb->bits_per_pixel) { + case 8: + regs->DCLRKV = 0; + regs->DCLRKM = CLK_RGB8I_MASK | DST_KEY_ENABLE; + case 16: + if (overlay->crtc->base.fb->depth == 15) { + regs->DCLRKV = RGB15_TO_COLORKEY(key); + regs->DCLRKM = CLK_RGB15_MASK | DST_KEY_ENABLE; + } else { + regs->DCLRKV = RGB16_TO_COLORKEY(key); + regs->DCLRKM = CLK_RGB16_MASK | DST_KEY_ENABLE; + } + case 24: + case 32: + regs->DCLRKV = key; + regs->DCLRKM = CLK_RGB24_MASK | DST_KEY_ENABLE; + } +} + +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; +} + +int intel_overlay_do_put_image(struct intel_overlay *overlay, + struct drm_gem_object *new_bo, + struct put_image_params *params) +{ + int ret, tmp_width; + struct overlay_registers *regs; + bool scale_changed = false; + struct drm_i915_gem_object *bo_priv = new_bo->driver_private; + struct drm_device *dev = overlay->dev; + + 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(new_bo, PAGE_SIZE); + if (ret != 0) + return ret; + + ret = i915_gem_object_set_to_gtt_domain(new_bo, 0); + if (ret != 0) + goto out_unpin; + + if (!overlay->active) { + regs = intel_overlay_map_regs_atomic(overlay); + if (!regs) { + ret = -ENOMEM; + goto out_unpin; + } + regs->OCONFIG = OCONF_CC_OUT_8BIT; + if (IS_I965GM(overlay->dev)) + regs->OCONFIG |= OCONF_CSC_MODE_BT709; + regs->OCONFIG |= overlay->crtc->pipe == 0 ? + OCONF_PIPE_A : OCONF_PIPE_B; + intel_overlay_unmap_regs_atomic(overlay); + + ret = intel_overlay_on(overlay); + if (ret != 0) + goto out_unpin; + } + + regs = intel_overlay_map_regs_atomic(overlay); + if (!regs) { + ret = -ENOMEM; + goto out_unpin; + } + + regs->DWINPOS = (params->dst_y << 16) | params->dst_x; + regs->DWINSZ = (params->dst_h << 16) | params->dst_w; + + if (params->format & I915_OVERLAY_YUV_PACKED) + tmp_width = packed_width_bytes(params->format, params->src_w); + else + tmp_width = params->src_w; + + regs->SWIDTH = params->src_w; + regs->SWIDTHSW = calc_swidthsw(overlay->dev, + params->offset_Y, tmp_width); + regs->SHEIGHT = params->src_h; + regs->OBUF_0Y = bo_priv->gtt_offset + params-> offset_Y; + regs->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; + regs->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); + regs->SWIDTHSW |= max_t(u32, tmp_U, tmp_V) << 16; + regs->SHEIGHT |= (params->src_h/uv_vscale) << 16; + regs->OBUF_0U = bo_priv->gtt_offset + params->offset_U; + regs->OBUF_0V = bo_priv->gtt_offset + params->offset_V; + regs->OSTRIDE |= params->stride_UV << 16; + } + + scale_changed = update_scaling_factors(overlay, regs, params); + + update_colorkey(overlay, regs); + + regs->OCMD = overlay_cmd_reg(params); + + intel_overlay_unmap_regs_atomic(overlay); + + intel_overlay_continue(overlay, scale_changed); + + overlay->old_vid_bo = overlay->vid_bo; + overlay->vid_bo = new_bo->driver_private; + + return 0; + +out_unpin: + i915_gem_object_unpin(new_bo); + return ret; +} + +int intel_overlay_switch_off(struct intel_overlay *overlay) +{ + int ret; + struct overlay_registers *regs; + struct drm_device *dev = overlay->dev; + + BUG_ON(!mutex_is_locked(&dev->struct_mutex)); + BUG_ON(!mutex_is_locked(&dev->mode_config.mutex)); + + if (overlay->hw_wedged) { + ret = intel_overlay_recover_from_interrupt(overlay, 1); + 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_atomic(overlay); + regs->OCMD = 0; + intel_overlay_unmap_regs_atomic(overlay); + + 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; + u32 pipeconf; + int pipeconf_reg = (crtc->pipe == 0) ? PIPEACONF : PIPEBCONF; + + if (!crtc->base.enabled || crtc->dpms_mode != DRM_MODE_DPMS_ON) + return -EINVAL; + + pipeconf = I915_READ(pipeconf_reg); + + /* can't use the overlay with double wide pipe */ + if (!IS_I965G(overlay->dev) && pipeconf & PIPEACONF_DOUBLE_WIDE) + 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 ratio; + u32 pfit_control = I915_READ(PFIT_CONTROL); + + /* XXX: This is not the same logic as in the xorg driver, but more in + * line with the intel documentation for the i965 */ + if (!IS_I965G(dev) && (pfit_control & VERT_AUTO_SCALE)) { + ratio = I915_READ(PFIT_AUTO_RATIOS) >> PFIT_VERT_SCALE_SHIFT; + } else { /* on i965 use the PGM reg to read out the autoscaler values */ + ratio = I915_READ(PFIT_PGM_RATIOS); + if (IS_I965G(dev)) + ratio >>= PFIT_VERT_SCALE_SHIFT_965; + else + 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->crtc_hdisplay) + && (rec->dst_x + rec->dst_width + <= mode->crtc_hdisplay) + && (rec->dst_y < mode->crtc_vdisplay) + && (rec->dst_y + rec->dst_height + <= mode->crtc_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_gem_object *new_bo) +{ + u32 stride_mask; + int depth; + int uv_hscale = uv_hsubsampling(rec->flags); + int uv_vscale = uv_vsubsampling(rec->flags); + size_t 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: + depth = packed_depth_bytes(rec->flags); + if (uv_vscale != 1) + return -EINVAL; + 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_I965G(dev) && rec->stride_Y < 512) + return -EINVAL; + + tmp = (rec->flags & I915_OVERLAY_TYPE_MASK) == I915_OVERLAY_YUV_PLANAR ? + 4 : 8; + if (rec->stride_Y > tmp*1024 || 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->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->size) + return -EINVAL; + tmp = rec->stride_UV*rec->src_height; + tmp /= uv_vscale; + if (rec->offset_U + tmp > new_bo->size + || rec->offset_V + tmp > new_bo->size) + return -EINVAL; + break; + } + + return 0; +} + +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_gem_object *new_bo; + struct put_image_params *params; + int ret; + + if (!dev_priv) { + DRM_ERROR("called with no initialization\n"); + return -EINVAL; + } + + 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 = drm_gem_object_lookup(dev, file_priv, + put_image_rec->bo_handle); + if (!new_bo) { + ret = -ENOENT; + goto out_free; + } + + mutex_lock(&dev->mode_config.mutex); + mutex_lock(&dev->struct_mutex); + + if (overlay->hw_wedged) { + ret = intel_overlay_recover_from_interrupt(overlay, 1); + 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; + + if (intel_panel_fitter_pipe(dev) == crtc->pipe + /* and line to wide, i.e. one-line-mode */ + && mode->hdisplay > 1024) { + 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(new_bo); +out_free: + kfree(params); + + return ret; +} + +static void update_reg_attrs(struct intel_overlay *overlay, + struct overlay_registers *regs) +{ + regs->OCLRC0 = (overlay->contrast << 18) | (overlay->brightness & 0xff); + regs->OCLRC1 = overlay->saturation; +} + +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 *regs; + int ret; + + if (!dev_priv) { + DRM_ERROR("called with no initialization\n"); + return -EINVAL; + } + + 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); + + 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_I9XX(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); + } + ret = 0; + } else { + overlay->color_key = attrs->color_key; + if (attrs->brightness >= -128 && attrs->brightness <= 127) { + overlay->brightness = attrs->brightness; + } else { + ret = -EINVAL; + goto out_unlock; + } + if (attrs->contrast <= 255) { + overlay->contrast = attrs->contrast; + } else { + ret = -EINVAL; + goto out_unlock; + } + if (attrs->saturation <= 1023) { + overlay->saturation = attrs->saturation; + } else { + ret = -EINVAL; + goto out_unlock; + } + + regs = intel_overlay_map_regs_atomic(overlay); + if (!regs) { + ret = -ENOMEM; + goto out_unlock; + } + + update_reg_attrs(overlay, regs); + + intel_overlay_unmap_regs_atomic(overlay); + + if (attrs->flags & I915_OVERLAY_UPDATE_GAMMA) { + if (!IS_I9XX(dev)) { + ret = -EINVAL; + goto out_unlock; + } + + if (overlay->active) { + ret = -EBUSY; + goto out_unlock; + } + + ret = check_gamma(attrs); + if (ret != 0) + 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_gem_object *reg_bo; + struct overlay_registers *regs; + int ret; + + if (!OVERLAY_EXISTS(dev)) + return; + + overlay = kzalloc(sizeof(struct intel_overlay), GFP_KERNEL); + if (!overlay) + return; + overlay->dev = dev; + + reg_bo = drm_gem_object_alloc(dev, PAGE_SIZE); + if (!reg_bo) + goto out_free; + overlay->reg_bo = reg_bo->driver_private; + + if (OVERLAY_NONPHYSICAL(dev)) { + ret = i915_gem_object_pin(reg_bo, PAGE_SIZE); + if (ret) { + DRM_ERROR("failed to pin overlay register bo\n"); + goto out_free_bo; + } + overlay->flip_addr = overlay->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; + } + } else { + ret = i915_gem_attach_phys_object(dev, reg_bo, + I915_GEM_PHYS_OVERLAY_REGS); + if (ret) { + DRM_ERROR("failed to attach phys overlay regs\n"); + goto out_free_bo; + } + overlay->flip_addr = overlay->reg_bo->phys_obj->handle->busaddr; + } + + /* init all values */ + overlay->color_key = 0x0101fe; + overlay->brightness = -19; + overlay->contrast = 75; + overlay->saturation = 146; + + regs = intel_overlay_map_regs_atomic(overlay); + if (!regs) + goto out_free_bo; + + memset(regs, 0, sizeof(struct overlay_registers)); + update_polyphase_filter(regs); + + update_reg_attrs(overlay, regs); + + intel_overlay_unmap_regs_atomic(overlay); + + dev_priv->overlay = overlay; + DRM_INFO("initialized overlay support\n"); + return; + +out_unpin_bo: + i915_gem_object_unpin(reg_bo); +out_free_bo: + drm_gem_object_unreference(reg_bo); +out_free: + kfree(overlay); + return; +} + +void intel_cleanup_overlay(struct drm_device *dev) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + + if (dev_priv->overlay) { + /* 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); + + kfree(dev_priv->overlay); + } +} --- linux-2.6.32.orig/drivers/gpu/drm/mga/mga_drv.c +++ linux-2.6.32/drivers/gpu/drm/mga/mga_drv.c @@ -68,7 +68,7 @@ .owner = THIS_MODULE, .open = drm_open, .release = drm_release, - .ioctl = drm_ioctl, + .unlocked_ioctl = drm_ioctl, .mmap = drm_mmap, .poll = drm_poll, .fasync = drm_fasync, --- linux-2.6.32.orig/drivers/gpu/drm/mga/mga_ioc32.c +++ linux-2.6.32/drivers/gpu/drm/mga/mga_ioc32.c @@ -100,8 +100,7 @@ if (err) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_MGA_INIT, (unsigned long)init); + return drm_ioctl(file, DRM_IOCTL_MGA_INIT, (unsigned long)init); } typedef struct drm_mga_getparam32 { @@ -125,8 +124,7 @@ &getparam->value)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_MGA_GETPARAM, (unsigned long)getparam); + return drm_ioctl(file, DRM_IOCTL_MGA_GETPARAM, (unsigned long)getparam); } typedef struct drm_mga_drm_bootstrap32 { @@ -166,8 +164,7 @@ || __put_user(dma_bootstrap32.agp_size, &dma_bootstrap->agp_size)) return -EFAULT; - err = drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_MGA_DMA_BOOTSTRAP, + err = drm_ioctl(file, DRM_IOCTL_MGA_DMA_BOOTSTRAP, (unsigned long)dma_bootstrap); if (err) return err; @@ -220,12 +217,10 @@ if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(mga_compat_ioctls)) fn = mga_compat_ioctls[nr - DRM_COMMAND_BASE]; - lock_kernel(); /* XXX for now */ if (fn != NULL) ret = (*fn) (filp, cmd, arg); else - ret = drm_ioctl(filp->f_path.dentry->d_inode, filp, cmd, arg); - unlock_kernel(); + ret = drm_ioctl(filp, cmd, arg); return ret; } --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/Kconfig +++ linux-2.6.32/drivers/gpu/drm/nouveau/Kconfig @@ -0,0 +1,44 @@ +config DRM_NOUVEAU + tristate "Nouveau (nVidia) cards" + depends on DRM + select FW_LOADER + select DRM_KMS_HELPER + select DRM_TTM + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + select FB + select FRAMEBUFFER_CONSOLE if !EMBEDDED + select FB_BACKLIGHT if DRM_NOUVEAU_BACKLIGHT + help + Choose this option for open-source nVidia support. + +config DRM_NOUVEAU_BACKLIGHT + bool "Support for backlight control" + depends on DRM_NOUVEAU + default y + help + Say Y here if you want to control the backlight of your display + (e.g. a laptop panel). + +config DRM_NOUVEAU_DEBUG + bool "Build in Nouveau's debugfs support" + depends on DRM_NOUVEAU && DEBUG_FS + default y + help + Say Y here if you want Nouveau to output debugging information + via debugfs. + +menu "I2C encoder or helper chips" + depends on DRM && DRM_KMS_HELPER && I2C + +config DRM_I2C_CH7006 + tristate "Chrontel ch7006 TV encoder" + default m if DRM_NOUVEAU + help + Support for Chrontel ch7006 and similar TV encoders, found + on some nVidia video cards. + + This driver is currently only useful if you're also using + the nouveau driver. +endmenu --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/Makefile +++ linux-2.6.32/drivers/gpu/drm/nouveau/Makefile @@ -0,0 +1,32 @@ +# +# 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 +nouveau-y := nouveau_drv.o nouveau_state.o nouveau_channel.o nouveau_mem.o \ + nouveau_object.o nouveau_irq.o nouveau_notifier.o \ + nouveau_sgdma.o nouveau_dma.o \ + nouveau_bo.o nouveau_fence.o nouveau_gem.o nouveau_ttm.o \ + nouveau_hw.o nouveau_calc.o nouveau_bios.o nouveau_i2c.o \ + nouveau_display.o nouveau_connector.o nouveau_fbcon.o \ + nouveau_dp.o nouveau_grctx.o \ + nv04_timer.o \ + nv04_mc.o nv40_mc.o nv50_mc.o \ + nv04_fb.o nv10_fb.o nv40_fb.o \ + nv04_fifo.o nv10_fifo.o nv40_fifo.o nv50_fifo.o \ + nv04_graph.o nv10_graph.o nv20_graph.o \ + nv40_graph.o nv50_graph.o \ + nv40_grctx.o nv50_grctx.o \ + nv04_instmem.o nv50_instmem.o \ + nv50_crtc.o nv50_dac.o nv50_sor.o \ + nv50_cursor.o nv50_display.o nv50_fbcon.o \ + nv04_dac.o nv04_dfp.o nv04_tv.o nv17_tv.o nv17_tv_modes.o \ + nv04_crtc.o nv04_display.o nv04_cursor.o nv04_fbcon.o \ + nv17_gpio.o + +nouveau-$(CONFIG_DRM_NOUVEAU_DEBUG) += nouveau_debugfs.o +nouveau-$(CONFIG_COMPAT) += nouveau_ioc32.o +nouveau-$(CONFIG_DRM_NOUVEAU_BACKLIGHT) += nouveau_backlight.o +nouveau-$(CONFIG_ACPI) += nouveau_acpi.o + +obj-$(CONFIG_DRM_NOUVEAU)+= nouveau.o --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_acpi.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_acpi.c @@ -0,0 +1,125 @@ +#include +#include +#include +#include + +#include "drmP.h" +#include "drm.h" +#include "drm_sarea.h" +#include "drm_crtc_helper.h" +#include "nouveau_drv.h" +#include "nouveau_drm.h" +#include "nv50_display.h" + +#define NOUVEAU_DSM_SUPPORTED 0x00 +#define NOUVEAU_DSM_SUPPORTED_FUNCTIONS 0x00 + +#define NOUVEAU_DSM_ACTIVE 0x01 +#define NOUVEAU_DSM_ACTIVE_QUERY 0x00 + +#define NOUVEAU_DSM_LED 0x02 +#define NOUVEAU_DSM_LED_STATE 0x00 +#define NOUVEAU_DSM_LED_OFF 0x10 +#define NOUVEAU_DSM_LED_STAMINA 0x11 +#define NOUVEAU_DSM_LED_SPEED 0x12 + +#define NOUVEAU_DSM_POWER 0x03 +#define NOUVEAU_DSM_POWER_STATE 0x00 +#define NOUVEAU_DSM_POWER_SPEED 0x01 +#define NOUVEAU_DSM_POWER_STAMINA 0x02 + +static int nouveau_dsm(struct drm_device *dev, int func, int arg, int *result) +{ + static char muid[] = { + 0xA0, 0xA0, 0x95, 0x9D, 0x60, 0x00, 0x48, 0x4D, + 0xB3, 0x4D, 0x7E, 0x5F, 0xEA, 0x12, 0x9F, 0xD4, + }; + + struct pci_dev *pdev = dev->pdev; + struct acpi_handle *handle; + struct acpi_buffer output = { ACPI_ALLOCATE_BUFFER, NULL }; + struct acpi_object_list input; + union acpi_object params[4]; + union acpi_object *obj; + int err; + + handle = DEVICE_ACPI_HANDLE(&pdev->dev); + + if (!handle) + return -ENODEV; + + input.count = 4; + input.pointer = params; + params[0].type = ACPI_TYPE_BUFFER; + params[0].buffer.length = sizeof(muid); + params[0].buffer.pointer = (char *)muid; + params[1].type = ACPI_TYPE_INTEGER; + params[1].integer.value = 0x00000102; + params[2].type = ACPI_TYPE_INTEGER; + params[2].integer.value = func; + params[3].type = ACPI_TYPE_INTEGER; + params[3].integer.value = arg; + + err = acpi_evaluate_object(handle, "_DSM", &input, &output); + if (err) { + NV_INFO(dev, "failed to evaluate _DSM: %d\n", err); + return err; + } + + obj = (union acpi_object *)output.pointer; + + if (obj->type == ACPI_TYPE_INTEGER) + if (obj->integer.value == 0x80000002) + return -ENODEV; + + if (obj->type == ACPI_TYPE_BUFFER) { + if (obj->buffer.length == 4 && result) { + *result = 0; + *result |= obj->buffer.pointer[0]; + *result |= (obj->buffer.pointer[1] << 8); + *result |= (obj->buffer.pointer[2] << 16); + *result |= (obj->buffer.pointer[3] << 24); + } + } + + kfree(output.pointer); + return 0; +} + +int nouveau_hybrid_setup(struct drm_device *dev) +{ + int result; + + if (nouveau_dsm(dev, NOUVEAU_DSM_POWER, NOUVEAU_DSM_POWER_STATE, + &result)) + return -ENODEV; + + NV_INFO(dev, "_DSM hardware status gave 0x%x\n", result); + + if (result) { /* Ensure that the external GPU is enabled */ + nouveau_dsm(dev, NOUVEAU_DSM_LED, NOUVEAU_DSM_LED_SPEED, NULL); + nouveau_dsm(dev, NOUVEAU_DSM_POWER, NOUVEAU_DSM_POWER_SPEED, + NULL); + } else { /* Stamina mode - disable the external GPU */ + nouveau_dsm(dev, NOUVEAU_DSM_LED, NOUVEAU_DSM_LED_STAMINA, + NULL); + nouveau_dsm(dev, NOUVEAU_DSM_POWER, NOUVEAU_DSM_POWER_STAMINA, + NULL); + } + + return 0; +} + +bool nouveau_dsm_probe(struct drm_device *dev) +{ + int support = 0; + + if (nouveau_dsm(dev, NOUVEAU_DSM_SUPPORTED, + NOUVEAU_DSM_SUPPORTED_FUNCTIONS, &support)) + return false; + + if (!support) + return false; + + return true; +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_backlight.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_backlight.c @@ -0,0 +1,155 @@ +/* + * Copyright (C) 2009 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, 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 COPYRIGHT OWNER(S) 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: + * Matthew Garrett + * + * Register locations derived from NVClock by Roderick Colenbrander + */ + +#include + +#include "drmP.h" +#include "nouveau_drv.h" +#include "nouveau_drm.h" +#include "nouveau_reg.h" + +static int nv40_get_intensity(struct backlight_device *bd) +{ + struct drm_device *dev = bl_get_data(bd); + int val = (nv_rd32(dev, NV40_PMC_BACKLIGHT) & NV40_PMC_BACKLIGHT_MASK) + >> 16; + + return val; +} + +static int nv40_set_intensity(struct backlight_device *bd) +{ + struct drm_device *dev = bl_get_data(bd); + int val = bd->props.brightness; + int reg = nv_rd32(dev, NV40_PMC_BACKLIGHT); + + nv_wr32(dev, NV40_PMC_BACKLIGHT, + (val << 16) | (reg & ~NV40_PMC_BACKLIGHT_MASK)); + + return 0; +} + +static struct backlight_ops nv40_bl_ops = { + .options = BL_CORE_SUSPENDRESUME, + .get_brightness = nv40_get_intensity, + .update_status = nv40_set_intensity, +}; + +static int nv50_get_intensity(struct backlight_device *bd) +{ + struct drm_device *dev = bl_get_data(bd); + + return nv_rd32(dev, NV50_PDISPLAY_SOR_BACKLIGHT); +} + +static int nv50_set_intensity(struct backlight_device *bd) +{ + struct drm_device *dev = bl_get_data(bd); + int val = bd->props.brightness; + + nv_wr32(dev, NV50_PDISPLAY_SOR_BACKLIGHT, + val | NV50_PDISPLAY_SOR_BACKLIGHT_ENABLE); + return 0; +} + +static struct backlight_ops nv50_bl_ops = { + .options = BL_CORE_SUSPENDRESUME, + .get_brightness = nv50_get_intensity, + .update_status = nv50_set_intensity, +}; + +static int nouveau_nv40_backlight_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct backlight_device *bd; + + if (!(nv_rd32(dev, NV40_PMC_BACKLIGHT) & NV40_PMC_BACKLIGHT_MASK)) + return 0; + + bd = backlight_device_register("nv_backlight", &dev->pdev->dev, dev, + &nv40_bl_ops); + if (IS_ERR(bd)) + return PTR_ERR(bd); + + dev_priv->backlight = bd; + bd->props.max_brightness = 31; + bd->props.brightness = nv40_get_intensity(bd); + backlight_update_status(bd); + + return 0; +} + +static int nouveau_nv50_backlight_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct backlight_device *bd; + + if (!nv_rd32(dev, NV50_PDISPLAY_SOR_BACKLIGHT)) + return 0; + + bd = backlight_device_register("nv_backlight", &dev->pdev->dev, dev, + &nv50_bl_ops); + if (IS_ERR(bd)) + return PTR_ERR(bd); + + dev_priv->backlight = bd; + bd->props.max_brightness = 1025; + bd->props.brightness = nv50_get_intensity(bd); + backlight_update_status(bd); + return 0; +} + +int nouveau_backlight_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + switch (dev_priv->card_type) { + case NV_40: + return nouveau_nv40_backlight_init(dev); + case NV_50: + return nouveau_nv50_backlight_init(dev); + default: + break; + } + + return 0; +} + +void nouveau_backlight_exit(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + if (dev_priv->backlight) { + backlight_device_unregister(dev_priv->backlight); + dev_priv->backlight = NULL; + } +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_bios.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_bios.c @@ -0,0 +1,6066 @@ +/* + * Copyright 2005-2006 Erik Waling + * Copyright 2006 Stephane Marchesin + * Copyright 2007-2009 Stuart Bennett + * + * 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 AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include "drmP.h" +#define NV_DEBUG_NOTRACE +#include "nouveau_drv.h" +#include "nouveau_hw.h" + +/* these defines are made up */ +#define NV_CIO_CRE_44_HEADA 0x0 +#define NV_CIO_CRE_44_HEADB 0x3 +#define FEATURE_MOBILE 0x10 /* also FEATURE_QUADRO for BMP */ +#define LEGACY_I2C_CRT 0x80 +#define LEGACY_I2C_PANEL 0x81 +#define LEGACY_I2C_TV 0x82 + +#define EDID1_LEN 128 + +#define BIOSLOG(sip, fmt, arg...) NV_DEBUG(sip->dev, fmt, ##arg) +#define LOG_OLD_VALUE(x) + +#define ROM16(x) le16_to_cpu(*(uint16_t *)&(x)) +#define ROM32(x) le32_to_cpu(*(uint32_t *)&(x)) + +struct init_exec { + bool execute; + bool repeat; +}; + +static bool nv_cksum(const uint8_t *data, unsigned int length) +{ + /* + * There's a few checksums in the BIOS, so here's a generic checking + * function. + */ + int i; + uint8_t sum = 0; + + for (i = 0; i < length; i++) + sum += data[i]; + + if (sum) + return true; + + return false; +} + +static int +score_vbios(struct drm_device *dev, const uint8_t *data, const bool writeable) +{ + if (!(data[0] == 0x55 && data[1] == 0xAA)) { + NV_TRACEWARN(dev, "... BIOS signature not found\n"); + return 0; + } + + if (nv_cksum(data, data[2] * 512)) { + NV_TRACEWARN(dev, "... BIOS checksum invalid\n"); + /* if a ro image is somewhat bad, it's probably all rubbish */ + return writeable ? 2 : 1; + } else + NV_TRACE(dev, "... appears to be valid\n"); + + return 3; +} + +static void load_vbios_prom(struct drm_device *dev, uint8_t *data) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t pci_nv_20, save_pci_nv_20; + int pcir_ptr; + int i; + + if (dev_priv->card_type >= NV_50) + pci_nv_20 = 0x88050; + else + pci_nv_20 = NV_PBUS_PCI_NV_20; + + /* enable ROM access */ + save_pci_nv_20 = nvReadMC(dev, pci_nv_20); + nvWriteMC(dev, pci_nv_20, + save_pci_nv_20 & ~NV_PBUS_PCI_NV_20_ROM_SHADOW_ENABLED); + + /* bail if no rom signature */ + if (nv_rd08(dev, NV_PROM_OFFSET) != 0x55 || + nv_rd08(dev, NV_PROM_OFFSET + 1) != 0xaa) + goto out; + + /* additional check (see note below) - read PCI record header */ + pcir_ptr = nv_rd08(dev, NV_PROM_OFFSET + 0x18) | + nv_rd08(dev, NV_PROM_OFFSET + 0x19) << 8; + if (nv_rd08(dev, NV_PROM_OFFSET + pcir_ptr) != 'P' || + nv_rd08(dev, NV_PROM_OFFSET + pcir_ptr + 1) != 'C' || + nv_rd08(dev, NV_PROM_OFFSET + pcir_ptr + 2) != 'I' || + nv_rd08(dev, NV_PROM_OFFSET + pcir_ptr + 3) != 'R') + goto out; + + /* on some 6600GT/6800LE prom reads are messed up. nvclock alleges a + * a good read may be obtained by waiting or re-reading (cargocult: 5x) + * each byte. we'll hope pramin has something usable instead + */ + for (i = 0; i < NV_PROM_SIZE; i++) + data[i] = nv_rd08(dev, NV_PROM_OFFSET + i); + +out: + /* disable ROM access */ + nvWriteMC(dev, pci_nv_20, + save_pci_nv_20 | NV_PBUS_PCI_NV_20_ROM_SHADOW_ENABLED); +} + +static void load_vbios_pramin(struct drm_device *dev, uint8_t *data) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t old_bar0_pramin = 0; + int i; + + if (dev_priv->card_type >= NV_50) { + uint32_t vbios_vram = (nv_rd32(dev, 0x619f04) & ~0xff) << 8; + + if (!vbios_vram) + vbios_vram = (nv_rd32(dev, 0x1700) << 16) + 0xf0000; + + old_bar0_pramin = nv_rd32(dev, 0x1700); + nv_wr32(dev, 0x1700, vbios_vram >> 16); + } + + /* bail if no rom signature */ + if (nv_rd08(dev, NV_PRAMIN_OFFSET) != 0x55 || + nv_rd08(dev, NV_PRAMIN_OFFSET + 1) != 0xaa) + goto out; + + for (i = 0; i < NV_PROM_SIZE; i++) + data[i] = nv_rd08(dev, NV_PRAMIN_OFFSET + i); + +out: + if (dev_priv->card_type >= NV_50) + nv_wr32(dev, 0x1700, old_bar0_pramin); +} + +static void load_vbios_pci(struct drm_device *dev, uint8_t *data) +{ + void __iomem *rom = NULL; + size_t rom_len; + int ret; + + ret = pci_enable_rom(dev->pdev); + if (ret) + return; + + rom = pci_map_rom(dev->pdev, &rom_len); + if (!rom) + goto out; + memcpy_fromio(data, rom, rom_len); + pci_unmap_rom(dev->pdev, rom); + +out: + pci_disable_rom(dev->pdev); +} + +struct methods { + const char desc[8]; + void (*loadbios)(struct drm_device *, uint8_t *); + const bool rw; +}; + +static struct methods nv04_methods[] = { + { "PROM", load_vbios_prom, false }, + { "PRAMIN", load_vbios_pramin, true }, + { "PCIROM", load_vbios_pci, true }, +}; + +static struct methods nv50_methods[] = { + { "PRAMIN", load_vbios_pramin, true }, + { "PROM", load_vbios_prom, false }, + { "PCIROM", load_vbios_pci, true }, +}; + +#define METHODCNT 3 + +static bool NVShadowVBIOS(struct drm_device *dev, uint8_t *data) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct methods *methods; + int i; + int testscore = 3; + int scores[METHODCNT]; + + if (nouveau_vbios) { + methods = nv04_methods; + for (i = 0; i < METHODCNT; i++) + if (!strcasecmp(nouveau_vbios, methods[i].desc)) + break; + + if (i < METHODCNT) { + NV_INFO(dev, "Attempting to use BIOS image from %s\n", + methods[i].desc); + + methods[i].loadbios(dev, data); + if (score_vbios(dev, data, methods[i].rw)) + return true; + } + + NV_ERROR(dev, "VBIOS source \'%s\' invalid\n", nouveau_vbios); + } + + if (dev_priv->card_type < NV_50) + methods = nv04_methods; + else + methods = nv50_methods; + + for (i = 0; i < METHODCNT; i++) { + NV_TRACE(dev, "Attempting to load BIOS image from %s\n", + methods[i].desc); + data[0] = data[1] = 0; /* avoid reuse of previous image */ + methods[i].loadbios(dev, data); + scores[i] = score_vbios(dev, data, methods[i].rw); + if (scores[i] == testscore) + return true; + } + + while (--testscore > 0) { + for (i = 0; i < METHODCNT; i++) { + if (scores[i] == testscore) { + NV_TRACE(dev, "Using BIOS image from %s\n", + methods[i].desc); + methods[i].loadbios(dev, data); + return true; + } + } + } + + NV_ERROR(dev, "No valid BIOS image found\n"); + return false; +} + +struct init_tbl_entry { + char *name; + uint8_t id; + int (*handler)(struct nvbios *, uint16_t, struct init_exec *); +}; + +struct bit_entry { + uint8_t id[2]; + uint16_t length; + uint16_t offset; +}; + +static int parse_init_table(struct nvbios *, unsigned int, struct init_exec *); + +#define MACRO_INDEX_SIZE 2 +#define MACRO_SIZE 8 +#define CONDITION_SIZE 12 +#define IO_FLAG_CONDITION_SIZE 9 +#define IO_CONDITION_SIZE 5 +#define MEM_INIT_SIZE 66 + +static void still_alive(void) +{ +#if 0 + sync(); + msleep(2); +#endif +} + +static uint32_t +munge_reg(struct nvbios *bios, uint32_t reg) +{ + struct drm_nouveau_private *dev_priv = bios->dev->dev_private; + struct dcb_entry *dcbent = bios->display.output; + + if (dev_priv->card_type < NV_50) + return reg; + + if (reg & 0x40000000) { + BUG_ON(!dcbent); + + reg += (ffs(dcbent->or) - 1) * 0x800; + if ((reg & 0x20000000) && !(dcbent->sorconf.link & 1)) + reg += 0x00000080; + } + + reg &= ~0x60000000; + return reg; +} + +static int +valid_reg(struct nvbios *bios, uint32_t reg) +{ + struct drm_nouveau_private *dev_priv = bios->dev->dev_private; + struct drm_device *dev = bios->dev; + + /* C51 has misaligned regs on purpose. Marvellous */ + if (reg & 0x2 || + (reg & 0x1 && dev_priv->VBIOS.pub.chip_version != 0x51)) + NV_ERROR(dev, "======= misaligned reg 0x%08X =======\n", reg); + + /* warn on C51 regs that haven't been verified accessible in tracing */ + if (reg & 0x1 && dev_priv->VBIOS.pub.chip_version == 0x51 && + reg != 0x130d && reg != 0x1311 && reg != 0x60081d) + NV_WARN(dev, "=== C51 misaligned reg 0x%08X not verified ===\n", + reg); + + if (reg >= (8*1024*1024)) { + NV_ERROR(dev, "=== reg 0x%08x out of mapped bounds ===\n", reg); + return 0; + } + + return 1; +} + +static bool +valid_idx_port(struct nvbios *bios, uint16_t port) +{ + struct drm_nouveau_private *dev_priv = bios->dev->dev_private; + struct drm_device *dev = bios->dev; + + /* + * If adding more ports here, the read/write functions below will need + * updating so that the correct mmio range (PRMCIO, PRMDIO, PRMVIO) is + * used for the port in question + */ + if (dev_priv->card_type < NV_50) { + if (port == NV_CIO_CRX__COLOR) + return true; + if (port == NV_VIO_SRX) + return true; + } else { + if (port == NV_CIO_CRX__COLOR) + return true; + } + + NV_ERROR(dev, "========== unknown indexed io port 0x%04X ==========\n", + port); + + return false; +} + +static bool +valid_port(struct nvbios *bios, uint16_t port) +{ + struct drm_device *dev = bios->dev; + + /* + * If adding more ports here, the read/write functions below will need + * updating so that the correct mmio range (PRMCIO, PRMDIO, PRMVIO) is + * used for the port in question + */ + if (port == NV_VIO_VSE2) + return true; + + NV_ERROR(dev, "========== unknown io port 0x%04X ==========\n", port); + + return false; +} + +static uint32_t +bios_rd32(struct nvbios *bios, uint32_t reg) +{ + uint32_t data; + + reg = munge_reg(bios, reg); + if (!valid_reg(bios, reg)) + return 0; + + /* + * C51 sometimes uses regs with bit0 set in the address. For these + * cases there should exist a translation in a BIOS table to an IO + * port address which the BIOS uses for accessing the reg + * + * These only seem to appear for the power control regs to a flat panel, + * and the GPIO regs at 0x60081*. In C51 mmio traces the normal regs + * for 0x1308 and 0x1310 are used - hence the mask below. An S3 + * suspend-resume mmio trace from a C51 will be required to see if this + * is true for the power microcode in 0x14.., or whether the direct IO + * port access method is needed + */ + if (reg & 0x1) + reg &= ~0x1; + + data = nv_rd32(bios->dev, reg); + + BIOSLOG(bios, " Read: Reg: 0x%08X, Data: 0x%08X\n", reg, data); + + return data; +} + +static void +bios_wr32(struct nvbios *bios, uint32_t reg, uint32_t data) +{ + struct drm_nouveau_private *dev_priv = bios->dev->dev_private; + + reg = munge_reg(bios, reg); + if (!valid_reg(bios, reg)) + return; + + /* see note in bios_rd32 */ + if (reg & 0x1) + reg &= 0xfffffffe; + + LOG_OLD_VALUE(bios_rd32(bios, reg)); + BIOSLOG(bios, " Write: Reg: 0x%08X, Data: 0x%08X\n", reg, data); + + if (dev_priv->VBIOS.execute) { + still_alive(); + nv_wr32(bios->dev, reg, data); + } +} + +static uint8_t +bios_idxprt_rd(struct nvbios *bios, uint16_t port, uint8_t index) +{ + struct drm_nouveau_private *dev_priv = bios->dev->dev_private; + struct drm_device *dev = bios->dev; + uint8_t data; + + if (!valid_idx_port(bios, port)) + return 0; + + if (dev_priv->card_type < NV_50) { + if (port == NV_VIO_SRX) + data = NVReadVgaSeq(dev, bios->state.crtchead, index); + else /* assume NV_CIO_CRX__COLOR */ + data = NVReadVgaCrtc(dev, bios->state.crtchead, index); + } else { + uint32_t data32; + + data32 = bios_rd32(bios, NV50_PDISPLAY_VGACRTC(index & ~3)); + data = (data32 >> ((index & 3) << 3)) & 0xff; + } + + BIOSLOG(bios, " Indexed IO read: Port: 0x%04X, Index: 0x%02X, " + "Head: 0x%02X, Data: 0x%02X\n", + port, index, bios->state.crtchead, data); + return data; +} + +static void +bios_idxprt_wr(struct nvbios *bios, uint16_t port, uint8_t index, uint8_t data) +{ + struct drm_nouveau_private *dev_priv = bios->dev->dev_private; + struct drm_device *dev = bios->dev; + + if (!valid_idx_port(bios, port)) + return; + + /* + * The current head is maintained in the nvbios member state.crtchead. + * We trap changes to CR44 and update the head variable and hence the + * register set written. + * As CR44 only exists on CRTC0, we update crtchead to head0 in advance + * of the write, and to head1 after the write + */ + if (port == NV_CIO_CRX__COLOR && index == NV_CIO_CRE_44 && + data != NV_CIO_CRE_44_HEADB) + bios->state.crtchead = 0; + + LOG_OLD_VALUE(bios_idxprt_rd(bios, port, index)); + BIOSLOG(bios, " Indexed IO write: Port: 0x%04X, Index: 0x%02X, " + "Head: 0x%02X, Data: 0x%02X\n", + port, index, bios->state.crtchead, data); + + if (bios->execute && dev_priv->card_type < NV_50) { + still_alive(); + if (port == NV_VIO_SRX) + NVWriteVgaSeq(dev, bios->state.crtchead, index, data); + else /* assume NV_CIO_CRX__COLOR */ + NVWriteVgaCrtc(dev, bios->state.crtchead, index, data); + } else + if (bios->execute) { + uint32_t data32, shift = (index & 3) << 3; + + still_alive(); + + data32 = bios_rd32(bios, NV50_PDISPLAY_VGACRTC(index & ~3)); + data32 &= ~(0xff << shift); + data32 |= (data << shift); + bios_wr32(bios, NV50_PDISPLAY_VGACRTC(index & ~3), data32); + } + + if (port == NV_CIO_CRX__COLOR && + index == NV_CIO_CRE_44 && data == NV_CIO_CRE_44_HEADB) + bios->state.crtchead = 1; +} + +static uint8_t +bios_port_rd(struct nvbios *bios, uint16_t port) +{ + uint8_t data, head = bios->state.crtchead; + + if (!valid_port(bios, port)) + return 0; + + data = NVReadPRMVIO(bios->dev, head, NV_PRMVIO0_OFFSET + port); + + BIOSLOG(bios, " IO read: Port: 0x%04X, Head: 0x%02X, Data: 0x%02X\n", + port, head, data); + + return data; +} + +static void +bios_port_wr(struct nvbios *bios, uint16_t port, uint8_t data) +{ + int head = bios->state.crtchead; + + if (!valid_port(bios, port)) + return; + + LOG_OLD_VALUE(bios_port_rd(bios, port)); + BIOSLOG(bios, " IO write: Port: 0x%04X, Head: 0x%02X, Data: 0x%02X\n", + port, head, data); + + if (!bios->execute) + return; + + still_alive(); + NVWritePRMVIO(bios->dev, head, NV_PRMVIO0_OFFSET + port, data); +} + +static bool +io_flag_condition_met(struct nvbios *bios, uint16_t offset, uint8_t cond) +{ + /* + * The IO flag condition entry has 2 bytes for the CRTC port; 1 byte + * for the CRTC index; 1 byte for the mask to apply to the value + * retrieved from the CRTC; 1 byte for the shift right to apply to the + * masked CRTC value; 2 bytes for the offset to the flag array, to + * which the shifted value is added; 1 byte for the mask applied to the + * value read from the flag array; and 1 byte for the value to compare + * against the masked byte from the flag table. + */ + + uint16_t condptr = bios->io_flag_condition_tbl_ptr + cond * IO_FLAG_CONDITION_SIZE; + uint16_t crtcport = ROM16(bios->data[condptr]); + uint8_t crtcindex = bios->data[condptr + 2]; + uint8_t mask = bios->data[condptr + 3]; + uint8_t shift = bios->data[condptr + 4]; + uint16_t flagarray = ROM16(bios->data[condptr + 5]); + uint8_t flagarraymask = bios->data[condptr + 7]; + uint8_t cmpval = bios->data[condptr + 8]; + uint8_t data; + + BIOSLOG(bios, "0x%04X: Port: 0x%04X, Index: 0x%02X, Mask: 0x%02X, " + "Shift: 0x%02X, FlagArray: 0x%04X, FAMask: 0x%02X, " + "Cmpval: 0x%02X\n", + offset, crtcport, crtcindex, mask, shift, flagarray, flagarraymask, cmpval); + + data = bios_idxprt_rd(bios, crtcport, crtcindex); + + data = bios->data[flagarray + ((data & mask) >> shift)]; + data &= flagarraymask; + + BIOSLOG(bios, "0x%04X: Checking if 0x%02X equals 0x%02X\n", + offset, data, cmpval); + + return (data == cmpval); +} + +static bool +bios_condition_met(struct nvbios *bios, uint16_t offset, uint8_t cond) +{ + /* + * The condition table entry has 4 bytes for the address of the + * register to check, 4 bytes for a mask to apply to the register and + * 4 for a test comparison value + */ + + uint16_t condptr = bios->condition_tbl_ptr + cond * CONDITION_SIZE; + uint32_t reg = ROM32(bios->data[condptr]); + uint32_t mask = ROM32(bios->data[condptr + 4]); + uint32_t cmpval = ROM32(bios->data[condptr + 8]); + uint32_t data; + + BIOSLOG(bios, "0x%04X: Cond: 0x%02X, Reg: 0x%08X, Mask: 0x%08X\n", + offset, cond, reg, mask); + + data = bios_rd32(bios, reg) & mask; + + BIOSLOG(bios, "0x%04X: Checking if 0x%08X equals 0x%08X\n", + offset, data, cmpval); + + return (data == cmpval); +} + +static bool +io_condition_met(struct nvbios *bios, uint16_t offset, uint8_t cond) +{ + /* + * The IO condition entry has 2 bytes for the IO port address; 1 byte + * for the index to write to io_port; 1 byte for the mask to apply to + * the byte read from io_port+1; and 1 byte for the value to compare + * against the masked byte. + */ + + uint16_t condptr = bios->io_condition_tbl_ptr + cond * IO_CONDITION_SIZE; + uint16_t io_port = ROM16(bios->data[condptr]); + uint8_t port_index = bios->data[condptr + 2]; + uint8_t mask = bios->data[condptr + 3]; + uint8_t cmpval = bios->data[condptr + 4]; + + uint8_t data = bios_idxprt_rd(bios, io_port, port_index) & mask; + + BIOSLOG(bios, "0x%04X: Checking if 0x%02X equals 0x%02X\n", + offset, data, cmpval); + + return (data == cmpval); +} + +static int +nv50_pll_set(struct drm_device *dev, uint32_t reg, uint32_t clk) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t reg0 = nv_rd32(dev, reg + 0); + uint32_t reg1 = nv_rd32(dev, reg + 4); + struct nouveau_pll_vals pll; + struct pll_lims pll_limits; + int ret; + + ret = get_pll_limits(dev, reg, &pll_limits); + if (ret) + return ret; + + clk = nouveau_calc_pll_mnp(dev, &pll_limits, clk, &pll); + if (!clk) + return -ERANGE; + + reg0 = (reg0 & 0xfff8ffff) | (pll.log2P << 16); + reg1 = (reg1 & 0xffff0000) | (pll.N1 << 8) | pll.M1; + + if (dev_priv->VBIOS.execute) { + still_alive(); + nv_wr32(dev, reg + 4, reg1); + nv_wr32(dev, reg + 0, reg0); + } + + return 0; +} + +static int +setPLL(struct nvbios *bios, uint32_t reg, uint32_t clk) +{ + struct drm_device *dev = bios->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + /* clk in kHz */ + struct pll_lims pll_lim; + struct nouveau_pll_vals pllvals; + int ret; + + if (dev_priv->card_type >= NV_50) + return nv50_pll_set(dev, reg, clk); + + /* high regs (such as in the mac g5 table) are not -= 4 */ + ret = get_pll_limits(dev, reg > 0x405c ? reg : reg - 4, &pll_lim); + if (ret) + return ret; + + clk = nouveau_calc_pll_mnp(dev, &pll_lim, clk, &pllvals); + if (!clk) + return -ERANGE; + + if (bios->execute) { + still_alive(); + nouveau_hw_setpll(dev, reg, &pllvals); + } + + return 0; +} + +static int dcb_entry_idx_from_crtchead(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + + /* + * For the results of this function to be correct, CR44 must have been + * set (using bios_idxprt_wr to set crtchead), CR58 set for CR57 = 0, + * and the DCB table parsed, before the script calling the function is + * run. run_digital_op_script is example of how to do such setup + */ + + uint8_t dcb_entry = NVReadVgaCrtc5758(dev, bios->state.crtchead, 0); + + if (dcb_entry > bios->bdcb.dcb.entries) { + NV_ERROR(dev, "CR58 doesn't have a valid DCB entry currently " + "(%02X)\n", dcb_entry); + dcb_entry = 0x7f; /* unused / invalid marker */ + } + + return dcb_entry; +} + +static struct nouveau_i2c_chan * +init_i2c_device_find(struct drm_device *dev, int i2c_index) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct bios_parsed_dcb *bdcb = &dev_priv->VBIOS.bdcb; + + if (i2c_index == 0xff) { + /* note: dcb_entry_idx_from_crtchead needs pre-script set-up */ + int idx = dcb_entry_idx_from_crtchead(dev), shift = 0; + int default_indices = bdcb->i2c_default_indices; + + if (idx != 0x7f && bdcb->dcb.entry[idx].i2c_upper_default) + shift = 4; + + i2c_index = (default_indices >> shift) & 0xf; + } + if (i2c_index == 0x80) /* g80+ */ + i2c_index = bdcb->i2c_default_indices & 0xf; + + return nouveau_i2c_find(dev, i2c_index); +} + +static uint32_t get_tmds_index_reg(struct drm_device *dev, uint8_t mlv) +{ + /* + * For mlv < 0x80, it is an index into a table of TMDS base addresses. + * For mlv == 0x80 use the "or" value of the dcb_entry indexed by + * CR58 for CR57 = 0 to index a table of offsets to the basic + * 0x6808b0 address. + * For mlv == 0x81 use the "or" value of the dcb_entry indexed by + * CR58 for CR57 = 0 to index a table of offsets to the basic + * 0x6808b0 address, and then flip the offset by 8. + */ + + struct drm_nouveau_private *dev_priv = dev->dev_private; + const int pramdac_offset[13] = { + 0, 0, 0x8, 0, 0x2000, 0, 0, 0, 0x2008, 0, 0, 0, 0x2000 }; + const uint32_t pramdac_table[4] = { + 0x6808b0, 0x6808b8, 0x6828b0, 0x6828b8 }; + + if (mlv >= 0x80) { + int dcb_entry, dacoffset; + + /* note: dcb_entry_idx_from_crtchead needs pre-script set-up */ + dcb_entry = dcb_entry_idx_from_crtchead(dev); + if (dcb_entry == 0x7f) + return 0; + dacoffset = pramdac_offset[ + dev_priv->VBIOS.bdcb.dcb.entry[dcb_entry].or]; + if (mlv == 0x81) + dacoffset ^= 8; + return 0x6808b0 + dacoffset; + } else { + if (mlv > ARRAY_SIZE(pramdac_table)) { + NV_ERROR(dev, "Magic Lookup Value too big (%02X)\n", + mlv); + return 0; + } + return pramdac_table[mlv]; + } +} + +static int +init_io_restrict_prog(struct nvbios *bios, uint16_t offset, + struct init_exec *iexec) +{ + /* + * INIT_IO_RESTRICT_PROG opcode: 0x32 ('2') + * + * offset (8 bit): opcode + * offset + 1 (16 bit): CRTC port + * offset + 3 (8 bit): CRTC index + * offset + 4 (8 bit): mask + * offset + 5 (8 bit): shift + * offset + 6 (8 bit): count + * offset + 7 (32 bit): register + * offset + 11 (32 bit): configuration 1 + * ... + * + * Starting at offset + 11 there are "count" 32 bit values. + * To find out which value to use read index "CRTC index" on "CRTC + * port", AND this value with "mask" and then bit shift right "shift" + * bits. Read the appropriate value using this index and write to + * "register" + */ + + uint16_t crtcport = ROM16(bios->data[offset + 1]); + uint8_t crtcindex = bios->data[offset + 3]; + uint8_t mask = bios->data[offset + 4]; + uint8_t shift = bios->data[offset + 5]; + uint8_t count = bios->data[offset + 6]; + uint32_t reg = ROM32(bios->data[offset + 7]); + uint8_t config; + uint32_t configval; + int len = 11 + count * 4; + + if (!iexec->execute) + return len; + + BIOSLOG(bios, "0x%04X: Port: 0x%04X, Index: 0x%02X, Mask: 0x%02X, " + "Shift: 0x%02X, Count: 0x%02X, Reg: 0x%08X\n", + offset, crtcport, crtcindex, mask, shift, count, reg); + + config = (bios_idxprt_rd(bios, crtcport, crtcindex) & mask) >> shift; + if (config > count) { + NV_ERROR(bios->dev, + "0x%04X: Config 0x%02X exceeds maximal bound 0x%02X\n", + offset, config, count); + return 0; + } + + configval = ROM32(bios->data[offset + 11 + config * 4]); + + BIOSLOG(bios, "0x%04X: Writing config %02X\n", offset, config); + + bios_wr32(bios, reg, configval); + + return len; +} + +static int +init_repeat(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_REPEAT opcode: 0x33 ('3') + * + * offset (8 bit): opcode + * offset + 1 (8 bit): count + * + * Execute script following this opcode up to INIT_REPEAT_END + * "count" times + */ + + uint8_t count = bios->data[offset + 1]; + uint8_t i; + + /* no iexec->execute check by design */ + + BIOSLOG(bios, "0x%04X: Repeating following segment %d times\n", + offset, count); + + iexec->repeat = true; + + /* + * count - 1, as the script block will execute once when we leave this + * opcode -- this is compatible with bios behaviour as: + * a) the block is always executed at least once, even if count == 0 + * b) the bios interpreter skips to the op following INIT_END_REPEAT, + * while we don't + */ + for (i = 0; i < count - 1; i++) + parse_init_table(bios, offset + 2, iexec); + + iexec->repeat = false; + + return 2; +} + +static int +init_io_restrict_pll(struct nvbios *bios, uint16_t offset, + struct init_exec *iexec) +{ + /* + * INIT_IO_RESTRICT_PLL opcode: 0x34 ('4') + * + * offset (8 bit): opcode + * offset + 1 (16 bit): CRTC port + * offset + 3 (8 bit): CRTC index + * offset + 4 (8 bit): mask + * offset + 5 (8 bit): shift + * offset + 6 (8 bit): IO flag condition index + * offset + 7 (8 bit): count + * offset + 8 (32 bit): register + * offset + 12 (16 bit): frequency 1 + * ... + * + * Starting at offset + 12 there are "count" 16 bit frequencies (10kHz). + * Set PLL register "register" to coefficients for frequency n, + * selected by reading index "CRTC index" of "CRTC port" ANDed with + * "mask" and shifted right by "shift". + * + * If "IO flag condition index" > 0, and condition met, double + * frequency before setting it. + */ + + uint16_t crtcport = ROM16(bios->data[offset + 1]); + uint8_t crtcindex = bios->data[offset + 3]; + uint8_t mask = bios->data[offset + 4]; + uint8_t shift = bios->data[offset + 5]; + int8_t io_flag_condition_idx = bios->data[offset + 6]; + uint8_t count = bios->data[offset + 7]; + uint32_t reg = ROM32(bios->data[offset + 8]); + uint8_t config; + uint16_t freq; + int len = 12 + count * 2; + + if (!iexec->execute) + return len; + + BIOSLOG(bios, "0x%04X: Port: 0x%04X, Index: 0x%02X, Mask: 0x%02X, " + "Shift: 0x%02X, IO Flag Condition: 0x%02X, " + "Count: 0x%02X, Reg: 0x%08X\n", + offset, crtcport, crtcindex, mask, shift, + io_flag_condition_idx, count, reg); + + config = (bios_idxprt_rd(bios, crtcport, crtcindex) & mask) >> shift; + if (config > count) { + NV_ERROR(bios->dev, + "0x%04X: Config 0x%02X exceeds maximal bound 0x%02X\n", + offset, config, count); + return 0; + } + + freq = ROM16(bios->data[offset + 12 + config * 2]); + + if (io_flag_condition_idx > 0) { + if (io_flag_condition_met(bios, offset, io_flag_condition_idx)) { + BIOSLOG(bios, "0x%04X: Condition fulfilled -- " + "frequency doubled\n", offset); + freq *= 2; + } else + BIOSLOG(bios, "0x%04X: Condition not fulfilled -- " + "frequency unchanged\n", offset); + } + + BIOSLOG(bios, "0x%04X: Reg: 0x%08X, Config: 0x%02X, Freq: %d0kHz\n", + offset, reg, config, freq); + + setPLL(bios, reg, freq * 10); + + return len; +} + +static int +init_end_repeat(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_END_REPEAT opcode: 0x36 ('6') + * + * offset (8 bit): opcode + * + * Marks the end of the block for INIT_REPEAT to repeat + */ + + /* no iexec->execute check by design */ + + /* + * iexec->repeat flag necessary to go past INIT_END_REPEAT opcode when + * we're not in repeat mode + */ + if (iexec->repeat) + return 0; + + return 1; +} + +static int +init_copy(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_COPY opcode: 0x37 ('7') + * + * offset (8 bit): opcode + * offset + 1 (32 bit): register + * offset + 5 (8 bit): shift + * offset + 6 (8 bit): srcmask + * offset + 7 (16 bit): CRTC port + * offset + 9 (8 bit): CRTC index + * offset + 10 (8 bit): mask + * + * Read index "CRTC index" on "CRTC port", AND with "mask", OR with + * (REGVAL("register") >> "shift" & "srcmask") and write-back to CRTC + * port + */ + + uint32_t reg = ROM32(bios->data[offset + 1]); + uint8_t shift = bios->data[offset + 5]; + uint8_t srcmask = bios->data[offset + 6]; + uint16_t crtcport = ROM16(bios->data[offset + 7]); + uint8_t crtcindex = bios->data[offset + 9]; + uint8_t mask = bios->data[offset + 10]; + uint32_t data; + uint8_t crtcdata; + + if (!iexec->execute) + return 11; + + BIOSLOG(bios, "0x%04X: Reg: 0x%08X, Shift: 0x%02X, SrcMask: 0x%02X, " + "Port: 0x%04X, Index: 0x%02X, Mask: 0x%02X\n", + offset, reg, shift, srcmask, crtcport, crtcindex, mask); + + data = bios_rd32(bios, reg); + + if (shift < 0x80) + data >>= shift; + else + data <<= (0x100 - shift); + + data &= srcmask; + + crtcdata = bios_idxprt_rd(bios, crtcport, crtcindex) & mask; + crtcdata |= (uint8_t)data; + bios_idxprt_wr(bios, crtcport, crtcindex, crtcdata); + + return 11; +} + +static int +init_not(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_NOT opcode: 0x38 ('8') + * + * offset (8 bit): opcode + * + * Invert the current execute / no-execute condition (i.e. "else") + */ + if (iexec->execute) + BIOSLOG(bios, "0x%04X: ------ Skipping following commands ------\n", offset); + else + BIOSLOG(bios, "0x%04X: ------ Executing following commands ------\n", offset); + + iexec->execute = !iexec->execute; + return 1; +} + +static int +init_io_flag_condition(struct nvbios *bios, uint16_t offset, + struct init_exec *iexec) +{ + /* + * INIT_IO_FLAG_CONDITION opcode: 0x39 ('9') + * + * offset (8 bit): opcode + * offset + 1 (8 bit): condition number + * + * Check condition "condition number" in the IO flag condition table. + * If condition not met skip subsequent opcodes until condition is + * inverted (INIT_NOT), or we hit INIT_RESUME + */ + + uint8_t cond = bios->data[offset + 1]; + + if (!iexec->execute) + return 2; + + if (io_flag_condition_met(bios, offset, cond)) + BIOSLOG(bios, "0x%04X: Condition fulfilled -- continuing to execute\n", offset); + else { + BIOSLOG(bios, "0x%04X: Condition not fulfilled -- skipping following commands\n", offset); + iexec->execute = false; + } + + return 2; +} + +static int +init_idx_addr_latched(struct nvbios *bios, uint16_t offset, + struct init_exec *iexec) +{ + /* + * INIT_INDEX_ADDRESS_LATCHED opcode: 0x49 ('I') + * + * offset (8 bit): opcode + * offset + 1 (32 bit): control register + * offset + 5 (32 bit): data register + * offset + 9 (32 bit): mask + * offset + 13 (32 bit): data + * offset + 17 (8 bit): count + * offset + 18 (8 bit): address 1 + * offset + 19 (8 bit): data 1 + * ... + * + * For each of "count" address and data pairs, write "data n" to + * "data register", read the current value of "control register", + * and write it back once ANDed with "mask", ORed with "data", + * and ORed with "address n" + */ + + uint32_t controlreg = ROM32(bios->data[offset + 1]); + uint32_t datareg = ROM32(bios->data[offset + 5]); + uint32_t mask = ROM32(bios->data[offset + 9]); + uint32_t data = ROM32(bios->data[offset + 13]); + uint8_t count = bios->data[offset + 17]; + int len = 18 + count * 2; + uint32_t value; + int i; + + if (!iexec->execute) + return len; + + BIOSLOG(bios, "0x%04X: ControlReg: 0x%08X, DataReg: 0x%08X, " + "Mask: 0x%08X, Data: 0x%08X, Count: 0x%02X\n", + offset, controlreg, datareg, mask, data, count); + + for (i = 0; i < count; i++) { + uint8_t instaddress = bios->data[offset + 18 + i * 2]; + uint8_t instdata = bios->data[offset + 19 + i * 2]; + + BIOSLOG(bios, "0x%04X: Address: 0x%02X, Data: 0x%02X\n", + offset, instaddress, instdata); + + bios_wr32(bios, datareg, instdata); + value = bios_rd32(bios, controlreg) & mask; + value |= data; + value |= instaddress; + bios_wr32(bios, controlreg, value); + } + + return len; +} + +static int +init_io_restrict_pll2(struct nvbios *bios, uint16_t offset, + struct init_exec *iexec) +{ + /* + * INIT_IO_RESTRICT_PLL2 opcode: 0x4A ('J') + * + * offset (8 bit): opcode + * offset + 1 (16 bit): CRTC port + * offset + 3 (8 bit): CRTC index + * offset + 4 (8 bit): mask + * offset + 5 (8 bit): shift + * offset + 6 (8 bit): count + * offset + 7 (32 bit): register + * offset + 11 (32 bit): frequency 1 + * ... + * + * Starting at offset + 11 there are "count" 32 bit frequencies (kHz). + * Set PLL register "register" to coefficients for frequency n, + * selected by reading index "CRTC index" of "CRTC port" ANDed with + * "mask" and shifted right by "shift". + */ + + uint16_t crtcport = ROM16(bios->data[offset + 1]); + uint8_t crtcindex = bios->data[offset + 3]; + uint8_t mask = bios->data[offset + 4]; + uint8_t shift = bios->data[offset + 5]; + uint8_t count = bios->data[offset + 6]; + uint32_t reg = ROM32(bios->data[offset + 7]); + int len = 11 + count * 4; + uint8_t config; + uint32_t freq; + + if (!iexec->execute) + return len; + + BIOSLOG(bios, "0x%04X: Port: 0x%04X, Index: 0x%02X, Mask: 0x%02X, " + "Shift: 0x%02X, Count: 0x%02X, Reg: 0x%08X\n", + offset, crtcport, crtcindex, mask, shift, count, reg); + + if (!reg) + return len; + + config = (bios_idxprt_rd(bios, crtcport, crtcindex) & mask) >> shift; + if (config > count) { + NV_ERROR(bios->dev, + "0x%04X: Config 0x%02X exceeds maximal bound 0x%02X\n", + offset, config, count); + return 0; + } + + freq = ROM32(bios->data[offset + 11 + config * 4]); + + BIOSLOG(bios, "0x%04X: Reg: 0x%08X, Config: 0x%02X, Freq: %dkHz\n", + offset, reg, config, freq); + + setPLL(bios, reg, freq); + + return len; +} + +static int +init_pll2(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_PLL2 opcode: 0x4B ('K') + * + * offset (8 bit): opcode + * offset + 1 (32 bit): register + * offset + 5 (32 bit): freq + * + * Set PLL register "register" to coefficients for frequency "freq" + */ + + uint32_t reg = ROM32(bios->data[offset + 1]); + uint32_t freq = ROM32(bios->data[offset + 5]); + + if (!iexec->execute) + return 9; + + BIOSLOG(bios, "0x%04X: Reg: 0x%04X, Freq: %dkHz\n", + offset, reg, freq); + + setPLL(bios, reg, freq); + return 9; +} + +static int +init_i2c_byte(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_I2C_BYTE opcode: 0x4C ('L') + * + * offset (8 bit): opcode + * offset + 1 (8 bit): DCB I2C table entry index + * offset + 2 (8 bit): I2C slave address + * offset + 3 (8 bit): count + * offset + 4 (8 bit): I2C register 1 + * offset + 5 (8 bit): mask 1 + * offset + 6 (8 bit): data 1 + * ... + * + * For each of "count" registers given by "I2C register n" on the device + * addressed by "I2C slave address" on the I2C bus given by + * "DCB I2C table entry index", read the register, AND the result with + * "mask n" and OR it with "data n" before writing it back to the device + */ + + uint8_t i2c_index = bios->data[offset + 1]; + uint8_t i2c_address = bios->data[offset + 2]; + uint8_t count = bios->data[offset + 3]; + int len = 4 + count * 3; + struct nouveau_i2c_chan *chan; + struct i2c_msg msg; + int i; + + if (!iexec->execute) + return len; + + BIOSLOG(bios, "0x%04X: DCBI2CIndex: 0x%02X, I2CAddress: 0x%02X, " + "Count: 0x%02X\n", + offset, i2c_index, i2c_address, count); + + chan = init_i2c_device_find(bios->dev, i2c_index); + if (!chan) + return 0; + + for (i = 0; i < count; i++) { + uint8_t i2c_reg = bios->data[offset + 4 + i * 3]; + uint8_t mask = bios->data[offset + 5 + i * 3]; + uint8_t data = bios->data[offset + 6 + i * 3]; + uint8_t value; + + msg.addr = i2c_address; + msg.flags = I2C_M_RD; + msg.len = 1; + msg.buf = &value; + if (i2c_transfer(&chan->adapter, &msg, 1) != 1) + return 0; + + BIOSLOG(bios, "0x%04X: I2CReg: 0x%02X, Value: 0x%02X, " + "Mask: 0x%02X, Data: 0x%02X\n", + offset, i2c_reg, value, mask, data); + + value = (value & mask) | data; + + if (bios->execute) { + msg.addr = i2c_address; + msg.flags = 0; + msg.len = 1; + msg.buf = &value; + if (i2c_transfer(&chan->adapter, &msg, 1) != 1) + return 0; + } + } + + return len; +} + +static int +init_zm_i2c_byte(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_ZM_I2C_BYTE opcode: 0x4D ('M') + * + * offset (8 bit): opcode + * offset + 1 (8 bit): DCB I2C table entry index + * offset + 2 (8 bit): I2C slave address + * offset + 3 (8 bit): count + * offset + 4 (8 bit): I2C register 1 + * offset + 5 (8 bit): data 1 + * ... + * + * For each of "count" registers given by "I2C register n" on the device + * addressed by "I2C slave address" on the I2C bus given by + * "DCB I2C table entry index", set the register to "data n" + */ + + uint8_t i2c_index = bios->data[offset + 1]; + uint8_t i2c_address = bios->data[offset + 2]; + uint8_t count = bios->data[offset + 3]; + int len = 4 + count * 2; + struct nouveau_i2c_chan *chan; + struct i2c_msg msg; + int i; + + if (!iexec->execute) + return len; + + BIOSLOG(bios, "0x%04X: DCBI2CIndex: 0x%02X, I2CAddress: 0x%02X, " + "Count: 0x%02X\n", + offset, i2c_index, i2c_address, count); + + chan = init_i2c_device_find(bios->dev, i2c_index); + if (!chan) + return 0; + + for (i = 0; i < count; i++) { + uint8_t i2c_reg = bios->data[offset + 4 + i * 2]; + uint8_t data = bios->data[offset + 5 + i * 2]; + + BIOSLOG(bios, "0x%04X: I2CReg: 0x%02X, Data: 0x%02X\n", + offset, i2c_reg, data); + + if (bios->execute) { + msg.addr = i2c_address; + msg.flags = 0; + msg.len = 1; + msg.buf = &data; + if (i2c_transfer(&chan->adapter, &msg, 1) != 1) + return 0; + } + } + + return len; +} + +static int +init_zm_i2c(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_ZM_I2C opcode: 0x4E ('N') + * + * offset (8 bit): opcode + * offset + 1 (8 bit): DCB I2C table entry index + * offset + 2 (8 bit): I2C slave address + * offset + 3 (8 bit): count + * offset + 4 (8 bit): data 1 + * ... + * + * Send "count" bytes ("data n") to the device addressed by "I2C slave + * address" on the I2C bus given by "DCB I2C table entry index" + */ + + uint8_t i2c_index = bios->data[offset + 1]; + uint8_t i2c_address = bios->data[offset + 2]; + uint8_t count = bios->data[offset + 3]; + int len = 4 + count; + struct nouveau_i2c_chan *chan; + struct i2c_msg msg; + uint8_t data[256]; + int i; + + if (!iexec->execute) + return len; + + BIOSLOG(bios, "0x%04X: DCBI2CIndex: 0x%02X, I2CAddress: 0x%02X, " + "Count: 0x%02X\n", + offset, i2c_index, i2c_address, count); + + chan = init_i2c_device_find(bios->dev, i2c_index); + if (!chan) + return 0; + + for (i = 0; i < count; i++) { + data[i] = bios->data[offset + 4 + i]; + + BIOSLOG(bios, "0x%04X: Data: 0x%02X\n", offset, data[i]); + } + + if (bios->execute) { + msg.addr = i2c_address; + msg.flags = 0; + msg.len = count; + msg.buf = data; + if (i2c_transfer(&chan->adapter, &msg, 1) != 1) + return 0; + } + + return len; +} + +static int +init_tmds(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_TMDS opcode: 0x4F ('O') (non-canon name) + * + * offset (8 bit): opcode + * offset + 1 (8 bit): magic lookup value + * offset + 2 (8 bit): TMDS address + * offset + 3 (8 bit): mask + * offset + 4 (8 bit): data + * + * Read the data reg for TMDS address "TMDS address", AND it with mask + * and OR it with data, then write it back + * "magic lookup value" determines which TMDS base address register is + * used -- see get_tmds_index_reg() + */ + + uint8_t mlv = bios->data[offset + 1]; + uint32_t tmdsaddr = bios->data[offset + 2]; + uint8_t mask = bios->data[offset + 3]; + uint8_t data = bios->data[offset + 4]; + uint32_t reg, value; + + if (!iexec->execute) + return 5; + + BIOSLOG(bios, "0x%04X: MagicLookupValue: 0x%02X, TMDSAddr: 0x%02X, " + "Mask: 0x%02X, Data: 0x%02X\n", + offset, mlv, tmdsaddr, mask, data); + + reg = get_tmds_index_reg(bios->dev, mlv); + if (!reg) + return 0; + + bios_wr32(bios, reg, + tmdsaddr | NV_PRAMDAC_FP_TMDS_CONTROL_WRITE_DISABLE); + value = (bios_rd32(bios, reg + 4) & mask) | data; + bios_wr32(bios, reg + 4, value); + bios_wr32(bios, reg, tmdsaddr); + + return 5; +} + +static int +init_zm_tmds_group(struct nvbios *bios, uint16_t offset, + struct init_exec *iexec) +{ + /* + * INIT_ZM_TMDS_GROUP opcode: 0x50 ('P') (non-canon name) + * + * offset (8 bit): opcode + * offset + 1 (8 bit): magic lookup value + * offset + 2 (8 bit): count + * offset + 3 (8 bit): addr 1 + * offset + 4 (8 bit): data 1 + * ... + * + * For each of "count" TMDS address and data pairs write "data n" to + * "addr n". "magic lookup value" determines which TMDS base address + * register is used -- see get_tmds_index_reg() + */ + + uint8_t mlv = bios->data[offset + 1]; + uint8_t count = bios->data[offset + 2]; + int len = 3 + count * 2; + uint32_t reg; + int i; + + if (!iexec->execute) + return len; + + BIOSLOG(bios, "0x%04X: MagicLookupValue: 0x%02X, Count: 0x%02X\n", + offset, mlv, count); + + reg = get_tmds_index_reg(bios->dev, mlv); + if (!reg) + return 0; + + for (i = 0; i < count; i++) { + uint8_t tmdsaddr = bios->data[offset + 3 + i * 2]; + uint8_t tmdsdata = bios->data[offset + 4 + i * 2]; + + bios_wr32(bios, reg + 4, tmdsdata); + bios_wr32(bios, reg, tmdsaddr); + } + + return len; +} + +static int +init_cr_idx_adr_latch(struct nvbios *bios, uint16_t offset, + struct init_exec *iexec) +{ + /* + * INIT_CR_INDEX_ADDRESS_LATCHED opcode: 0x51 ('Q') + * + * offset (8 bit): opcode + * offset + 1 (8 bit): CRTC index1 + * offset + 2 (8 bit): CRTC index2 + * offset + 3 (8 bit): baseaddr + * offset + 4 (8 bit): count + * offset + 5 (8 bit): data 1 + * ... + * + * For each of "count" address and data pairs, write "baseaddr + n" to + * "CRTC index1" and "data n" to "CRTC index2" + * Once complete, restore initial value read from "CRTC index1" + */ + uint8_t crtcindex1 = bios->data[offset + 1]; + uint8_t crtcindex2 = bios->data[offset + 2]; + uint8_t baseaddr = bios->data[offset + 3]; + uint8_t count = bios->data[offset + 4]; + int len = 5 + count; + uint8_t oldaddr, data; + int i; + + if (!iexec->execute) + return len; + + BIOSLOG(bios, "0x%04X: Index1: 0x%02X, Index2: 0x%02X, " + "BaseAddr: 0x%02X, Count: 0x%02X\n", + offset, crtcindex1, crtcindex2, baseaddr, count); + + oldaddr = bios_idxprt_rd(bios, NV_CIO_CRX__COLOR, crtcindex1); + + for (i = 0; i < count; i++) { + bios_idxprt_wr(bios, NV_CIO_CRX__COLOR, crtcindex1, + baseaddr + i); + data = bios->data[offset + 5 + i]; + bios_idxprt_wr(bios, NV_CIO_CRX__COLOR, crtcindex2, data); + } + + bios_idxprt_wr(bios, NV_CIO_CRX__COLOR, crtcindex1, oldaddr); + + return len; +} + +static int +init_cr(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_CR opcode: 0x52 ('R') + * + * offset (8 bit): opcode + * offset + 1 (8 bit): CRTC index + * offset + 2 (8 bit): mask + * offset + 3 (8 bit): data + * + * Assign the value of at "CRTC index" ANDed with mask and ORed with + * data back to "CRTC index" + */ + + uint8_t crtcindex = bios->data[offset + 1]; + uint8_t mask = bios->data[offset + 2]; + uint8_t data = bios->data[offset + 3]; + uint8_t value; + + if (!iexec->execute) + return 4; + + BIOSLOG(bios, "0x%04X: Index: 0x%02X, Mask: 0x%02X, Data: 0x%02X\n", + offset, crtcindex, mask, data); + + value = bios_idxprt_rd(bios, NV_CIO_CRX__COLOR, crtcindex) & mask; + value |= data; + bios_idxprt_wr(bios, NV_CIO_CRX__COLOR, crtcindex, value); + + return 4; +} + +static int +init_zm_cr(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_ZM_CR opcode: 0x53 ('S') + * + * offset (8 bit): opcode + * offset + 1 (8 bit): CRTC index + * offset + 2 (8 bit): value + * + * Assign "value" to CRTC register with index "CRTC index". + */ + + uint8_t crtcindex = ROM32(bios->data[offset + 1]); + uint8_t data = bios->data[offset + 2]; + + if (!iexec->execute) + return 3; + + bios_idxprt_wr(bios, NV_CIO_CRX__COLOR, crtcindex, data); + + return 3; +} + +static int +init_zm_cr_group(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_ZM_CR_GROUP opcode: 0x54 ('T') + * + * offset (8 bit): opcode + * offset + 1 (8 bit): count + * offset + 2 (8 bit): CRTC index 1 + * offset + 3 (8 bit): value 1 + * ... + * + * For "count", assign "value n" to CRTC register with index + * "CRTC index n". + */ + + uint8_t count = bios->data[offset + 1]; + int len = 2 + count * 2; + int i; + + if (!iexec->execute) + return len; + + for (i = 0; i < count; i++) + init_zm_cr(bios, offset + 2 + 2 * i - 1, iexec); + + return len; +} + +static int +init_condition_time(struct nvbios *bios, uint16_t offset, + struct init_exec *iexec) +{ + /* + * INIT_CONDITION_TIME opcode: 0x56 ('V') + * + * offset (8 bit): opcode + * offset + 1 (8 bit): condition number + * offset + 2 (8 bit): retries / 50 + * + * Check condition "condition number" in the condition table. + * Bios code then sleeps for 2ms if the condition is not met, and + * repeats up to "retries" times, but on one C51 this has proved + * insufficient. In mmiotraces the driver sleeps for 20ms, so we do + * this, and bail after "retries" times, or 2s, whichever is less. + * If still not met after retries, clear execution flag for this table. + */ + + uint8_t cond = bios->data[offset + 1]; + uint16_t retries = bios->data[offset + 2] * 50; + unsigned cnt; + + if (!iexec->execute) + return 3; + + if (retries > 100) + retries = 100; + + BIOSLOG(bios, "0x%04X: Condition: 0x%02X, Retries: 0x%02X\n", + offset, cond, retries); + + if (!bios->execute) /* avoid 2s delays when "faking" execution */ + retries = 1; + + for (cnt = 0; cnt < retries; cnt++) { + if (bios_condition_met(bios, offset, cond)) { + BIOSLOG(bios, "0x%04X: Condition met, continuing\n", + offset); + break; + } else { + BIOSLOG(bios, "0x%04X: " + "Condition not met, sleeping for 20ms\n", + offset); + msleep(20); + } + } + + if (!bios_condition_met(bios, offset, cond)) { + NV_WARN(bios->dev, + "0x%04X: Condition still not met after %dms, " + "skipping following opcodes\n", offset, 20 * retries); + iexec->execute = false; + } + + return 3; +} + +static int +init_zm_reg_sequence(struct nvbios *bios, uint16_t offset, + struct init_exec *iexec) +{ + /* + * INIT_ZM_REG_SEQUENCE opcode: 0x58 ('X') + * + * offset (8 bit): opcode + * offset + 1 (32 bit): base register + * offset + 5 (8 bit): count + * offset + 6 (32 bit): value 1 + * ... + * + * Starting at offset + 6 there are "count" 32 bit values. + * For "count" iterations set "base register" + 4 * current_iteration + * to "value current_iteration" + */ + + uint32_t basereg = ROM32(bios->data[offset + 1]); + uint32_t count = bios->data[offset + 5]; + int len = 6 + count * 4; + int i; + + if (!iexec->execute) + return len; + + BIOSLOG(bios, "0x%04X: BaseReg: 0x%08X, Count: 0x%02X\n", + offset, basereg, count); + + for (i = 0; i < count; i++) { + uint32_t reg = basereg + i * 4; + uint32_t data = ROM32(bios->data[offset + 6 + i * 4]); + + bios_wr32(bios, reg, data); + } + + return len; +} + +static int +init_sub_direct(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_SUB_DIRECT opcode: 0x5B ('[') + * + * offset (8 bit): opcode + * offset + 1 (16 bit): subroutine offset (in bios) + * + * Calls a subroutine that will execute commands until INIT_DONE + * is found. + */ + + uint16_t sub_offset = ROM16(bios->data[offset + 1]); + + if (!iexec->execute) + return 3; + + BIOSLOG(bios, "0x%04X: Executing subroutine at 0x%04X\n", + offset, sub_offset); + + parse_init_table(bios, sub_offset, iexec); + + BIOSLOG(bios, "0x%04X: End of 0x%04X subroutine\n", offset, sub_offset); + + return 3; +} + +static int +init_copy_nv_reg(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_COPY_NV_REG opcode: 0x5F ('_') + * + * offset (8 bit): opcode + * offset + 1 (32 bit): src reg + * offset + 5 (8 bit): shift + * offset + 6 (32 bit): src mask + * offset + 10 (32 bit): xor + * offset + 14 (32 bit): dst reg + * offset + 18 (32 bit): dst mask + * + * Shift REGVAL("src reg") right by (signed) "shift", AND result with + * "src mask", then XOR with "xor". Write this OR'd with + * (REGVAL("dst reg") AND'd with "dst mask") to "dst reg" + */ + + uint32_t srcreg = *((uint32_t *)(&bios->data[offset + 1])); + uint8_t shift = bios->data[offset + 5]; + uint32_t srcmask = *((uint32_t *)(&bios->data[offset + 6])); + uint32_t xor = *((uint32_t *)(&bios->data[offset + 10])); + uint32_t dstreg = *((uint32_t *)(&bios->data[offset + 14])); + uint32_t dstmask = *((uint32_t *)(&bios->data[offset + 18])); + uint32_t srcvalue, dstvalue; + + if (!iexec->execute) + return 22; + + BIOSLOG(bios, "0x%04X: SrcReg: 0x%08X, Shift: 0x%02X, SrcMask: 0x%08X, " + "Xor: 0x%08X, DstReg: 0x%08X, DstMask: 0x%08X\n", + offset, srcreg, shift, srcmask, xor, dstreg, dstmask); + + srcvalue = bios_rd32(bios, srcreg); + + if (shift < 0x80) + srcvalue >>= shift; + else + srcvalue <<= (0x100 - shift); + + srcvalue = (srcvalue & srcmask) ^ xor; + + dstvalue = bios_rd32(bios, dstreg) & dstmask; + + bios_wr32(bios, dstreg, dstvalue | srcvalue); + + return 22; +} + +static int +init_zm_index_io(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_ZM_INDEX_IO opcode: 0x62 ('b') + * + * offset (8 bit): opcode + * offset + 1 (16 bit): CRTC port + * offset + 3 (8 bit): CRTC index + * offset + 4 (8 bit): data + * + * Write "data" to index "CRTC index" of "CRTC port" + */ + uint16_t crtcport = ROM16(bios->data[offset + 1]); + uint8_t crtcindex = bios->data[offset + 3]; + uint8_t data = bios->data[offset + 4]; + + if (!iexec->execute) + return 5; + + bios_idxprt_wr(bios, crtcport, crtcindex, data); + + return 5; +} + +static int +init_compute_mem(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_COMPUTE_MEM opcode: 0x63 ('c') + * + * offset (8 bit): opcode + * + * This opcode is meant to set NV_PFB_CFG0 (0x100200) appropriately so + * that the hardware can correctly calculate how much VRAM it has + * (and subsequently report that value in NV_PFB_CSTATUS (0x10020C)) + * + * The implementation of this opcode in general consists of two parts: + * 1) determination of the memory bus width + * 2) determination of how many of the card's RAM pads have ICs attached + * + * 1) is done by a cunning combination of writes to offsets 0x1c and + * 0x3c in the framebuffer, and seeing whether the written values are + * read back correctly. This then affects bits 4-7 of NV_PFB_CFG0 + * + * 2) is done by a cunning combination of writes to an offset slightly + * less than the maximum memory reported by NV_PFB_CSTATUS, then seeing + * if the test pattern can be read back. This then affects bits 12-15 of + * NV_PFB_CFG0 + * + * In this context a "cunning combination" may include multiple reads + * and writes to varying locations, often alternating the test pattern + * and 0, doubtless to make sure buffers are filled, residual charges + * on tracks are removed etc. + * + * Unfortunately, the "cunning combination"s mentioned above, and the + * changes to the bits in NV_PFB_CFG0 differ with nearly every bios + * trace I have. + * + * Therefore, we cheat and assume the value of NV_PFB_CFG0 with which + * we started was correct, and use that instead + */ + + /* no iexec->execute check by design */ + + /* + * This appears to be a NOP on G8x chipsets, both io logs of the VBIOS + * and kmmio traces of the binary driver POSTing the card show nothing + * being done for this opcode. why is it still listed in the table?! + */ + + struct drm_nouveau_private *dev_priv = bios->dev->dev_private; + + if (dev_priv->card_type >= NV_40) + return 1; + + /* + * On every card I've seen, this step gets done for us earlier in + * the init scripts + uint8_t crdata = bios_idxprt_rd(dev, NV_VIO_SRX, 0x01); + bios_idxprt_wr(dev, NV_VIO_SRX, 0x01, crdata | 0x20); + */ + + /* + * This also has probably been done in the scripts, but an mmio trace of + * s3 resume shows nvidia doing it anyway (unlike the NV_VIO_SRX write) + */ + bios_wr32(bios, NV_PFB_REFCTRL, NV_PFB_REFCTRL_VALID_1); + + /* write back the saved configuration value */ + bios_wr32(bios, NV_PFB_CFG0, bios->state.saved_nv_pfb_cfg0); + + return 1; +} + +static int +init_reset(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_RESET opcode: 0x65 ('e') + * + * offset (8 bit): opcode + * offset + 1 (32 bit): register + * offset + 5 (32 bit): value1 + * offset + 9 (32 bit): value2 + * + * Assign "value1" to "register", then assign "value2" to "register" + */ + + uint32_t reg = ROM32(bios->data[offset + 1]); + uint32_t value1 = ROM32(bios->data[offset + 5]); + uint32_t value2 = ROM32(bios->data[offset + 9]); + uint32_t pci_nv_19, pci_nv_20; + + /* no iexec->execute check by design */ + + pci_nv_19 = bios_rd32(bios, NV_PBUS_PCI_NV_19); + bios_wr32(bios, NV_PBUS_PCI_NV_19, 0); + bios_wr32(bios, reg, value1); + + udelay(10); + + bios_wr32(bios, reg, value2); + bios_wr32(bios, NV_PBUS_PCI_NV_19, pci_nv_19); + + pci_nv_20 = bios_rd32(bios, NV_PBUS_PCI_NV_20); + pci_nv_20 &= ~NV_PBUS_PCI_NV_20_ROM_SHADOW_ENABLED; /* 0xfffffffe */ + bios_wr32(bios, NV_PBUS_PCI_NV_20, pci_nv_20); + + return 13; +} + +static int +init_configure_mem(struct nvbios *bios, uint16_t offset, + struct init_exec *iexec) +{ + /* + * INIT_CONFIGURE_MEM opcode: 0x66 ('f') + * + * offset (8 bit): opcode + * + * Equivalent to INIT_DONE on bios version 3 or greater. + * For early bios versions, sets up the memory registers, using values + * taken from the memory init table + */ + + /* no iexec->execute check by design */ + + uint16_t meminitoffs = bios->legacy.mem_init_tbl_ptr + MEM_INIT_SIZE * (bios_idxprt_rd(bios, NV_CIO_CRX__COLOR, NV_CIO_CRE_SCRATCH4__INDEX) >> 4); + uint16_t seqtbloffs = bios->legacy.sdr_seq_tbl_ptr, meminitdata = meminitoffs + 6; + uint32_t reg, data; + + if (bios->major_version > 2) + return 0; + + bios_idxprt_wr(bios, NV_VIO_SRX, NV_VIO_SR_CLOCK_INDEX, bios_idxprt_rd( + bios, NV_VIO_SRX, NV_VIO_SR_CLOCK_INDEX) | 0x20); + + if (bios->data[meminitoffs] & 1) + seqtbloffs = bios->legacy.ddr_seq_tbl_ptr; + + for (reg = ROM32(bios->data[seqtbloffs]); + reg != 0xffffffff; + reg = ROM32(bios->data[seqtbloffs += 4])) { + + switch (reg) { + case NV_PFB_PRE: + data = NV_PFB_PRE_CMD_PRECHARGE; + break; + case NV_PFB_PAD: + data = NV_PFB_PAD_CKE_NORMAL; + break; + case NV_PFB_REF: + data = NV_PFB_REF_CMD_REFRESH; + break; + default: + data = ROM32(bios->data[meminitdata]); + meminitdata += 4; + if (data == 0xffffffff) + continue; + } + + bios_wr32(bios, reg, data); + } + + return 1; +} + +static int +init_configure_clk(struct nvbios *bios, uint16_t offset, + struct init_exec *iexec) +{ + /* + * INIT_CONFIGURE_CLK opcode: 0x67 ('g') + * + * offset (8 bit): opcode + * + * Equivalent to INIT_DONE on bios version 3 or greater. + * For early bios versions, sets up the NVClk and MClk PLLs, using + * values taken from the memory init table + */ + + /* no iexec->execute check by design */ + + uint16_t meminitoffs = bios->legacy.mem_init_tbl_ptr + MEM_INIT_SIZE * (bios_idxprt_rd(bios, NV_CIO_CRX__COLOR, NV_CIO_CRE_SCRATCH4__INDEX) >> 4); + int clock; + + if (bios->major_version > 2) + return 0; + + clock = ROM16(bios->data[meminitoffs + 4]) * 10; + setPLL(bios, NV_PRAMDAC_NVPLL_COEFF, clock); + + clock = ROM16(bios->data[meminitoffs + 2]) * 10; + if (bios->data[meminitoffs] & 1) /* DDR */ + clock *= 2; + setPLL(bios, NV_PRAMDAC_MPLL_COEFF, clock); + + return 1; +} + +static int +init_configure_preinit(struct nvbios *bios, uint16_t offset, + struct init_exec *iexec) +{ + /* + * INIT_CONFIGURE_PREINIT opcode: 0x68 ('h') + * + * offset (8 bit): opcode + * + * Equivalent to INIT_DONE on bios version 3 or greater. + * For early bios versions, does early init, loading ram and crystal + * configuration from straps into CR3C + */ + + /* no iexec->execute check by design */ + + uint32_t straps = bios_rd32(bios, NV_PEXTDEV_BOOT_0); + uint8_t cr3c = ((straps << 2) & 0xf0) | (straps & (1 << 6)); + + if (bios->major_version > 2) + return 0; + + bios_idxprt_wr(bios, NV_CIO_CRX__COLOR, + NV_CIO_CRE_SCRATCH4__INDEX, cr3c); + + return 1; +} + +static int +init_io(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_IO opcode: 0x69 ('i') + * + * offset (8 bit): opcode + * offset + 1 (16 bit): CRTC port + * offset + 3 (8 bit): mask + * offset + 4 (8 bit): data + * + * Assign ((IOVAL("crtc port") & "mask") | "data") to "crtc port" + */ + + struct drm_nouveau_private *dev_priv = bios->dev->dev_private; + uint16_t crtcport = ROM16(bios->data[offset + 1]); + uint8_t mask = bios->data[offset + 3]; + uint8_t data = bios->data[offset + 4]; + + if (!iexec->execute) + return 5; + + BIOSLOG(bios, "0x%04X: Port: 0x%04X, Mask: 0x%02X, Data: 0x%02X\n", + offset, crtcport, mask, data); + + /* + * I have no idea what this does, but NVIDIA do this magic sequence + * in the places where this INIT_IO happens.. + */ + if (dev_priv->card_type >= NV_50 && crtcport == 0x3c3 && data == 1) { + int i; + + bios_wr32(bios, 0x614100, (bios_rd32( + bios, 0x614100) & 0x0fffffff) | 0x00800000); + + bios_wr32(bios, 0x00e18c, bios_rd32( + bios, 0x00e18c) | 0x00020000); + + bios_wr32(bios, 0x614900, (bios_rd32( + bios, 0x614900) & 0x0fffffff) | 0x00800000); + + bios_wr32(bios, 0x000200, bios_rd32( + bios, 0x000200) & ~0x40000000); + + mdelay(10); + + bios_wr32(bios, 0x00e18c, bios_rd32( + bios, 0x00e18c) & ~0x00020000); + + bios_wr32(bios, 0x000200, bios_rd32( + bios, 0x000200) | 0x40000000); + + bios_wr32(bios, 0x614100, 0x00800018); + bios_wr32(bios, 0x614900, 0x00800018); + + mdelay(10); + + bios_wr32(bios, 0x614100, 0x10000018); + bios_wr32(bios, 0x614900, 0x10000018); + + for (i = 0; i < 3; i++) + bios_wr32(bios, 0x614280 + (i*0x800), bios_rd32( + bios, 0x614280 + (i*0x800)) & 0xf0f0f0f0); + + for (i = 0; i < 2; i++) + bios_wr32(bios, 0x614300 + (i*0x800), bios_rd32( + bios, 0x614300 + (i*0x800)) & 0xfffff0f0); + + for (i = 0; i < 3; i++) + bios_wr32(bios, 0x614380 + (i*0x800), bios_rd32( + bios, 0x614380 + (i*0x800)) & 0xfffff0f0); + + for (i = 0; i < 2; i++) + bios_wr32(bios, 0x614200 + (i*0x800), bios_rd32( + bios, 0x614200 + (i*0x800)) & 0xfffffff0); + + for (i = 0; i < 2; i++) + bios_wr32(bios, 0x614108 + (i*0x800), bios_rd32( + bios, 0x614108 + (i*0x800)) & 0x0fffffff); + return 5; + } + + bios_port_wr(bios, crtcport, (bios_port_rd(bios, crtcport) & mask) | + data); + return 5; +} + +static int +init_sub(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_SUB opcode: 0x6B ('k') + * + * offset (8 bit): opcode + * offset + 1 (8 bit): script number + * + * Execute script number "script number", as a subroutine + */ + + uint8_t sub = bios->data[offset + 1]; + + if (!iexec->execute) + return 2; + + BIOSLOG(bios, "0x%04X: Calling script %d\n", offset, sub); + + parse_init_table(bios, + ROM16(bios->data[bios->init_script_tbls_ptr + sub * 2]), + iexec); + + BIOSLOG(bios, "0x%04X: End of script %d\n", offset, sub); + + return 2; +} + +static int +init_ram_condition(struct nvbios *bios, uint16_t offset, + struct init_exec *iexec) +{ + /* + * INIT_RAM_CONDITION opcode: 0x6D ('m') + * + * offset (8 bit): opcode + * offset + 1 (8 bit): mask + * offset + 2 (8 bit): cmpval + * + * Test if (NV_PFB_BOOT_0 & "mask") equals "cmpval". + * If condition not met skip subsequent opcodes until condition is + * inverted (INIT_NOT), or we hit INIT_RESUME + */ + + uint8_t mask = bios->data[offset + 1]; + uint8_t cmpval = bios->data[offset + 2]; + uint8_t data; + + if (!iexec->execute) + return 3; + + data = bios_rd32(bios, NV_PFB_BOOT_0) & mask; + + BIOSLOG(bios, "0x%04X: Checking if 0x%08X equals 0x%08X\n", + offset, data, cmpval); + + if (data == cmpval) + BIOSLOG(bios, "0x%04X: Condition fulfilled -- continuing to execute\n", offset); + else { + BIOSLOG(bios, "0x%04X: Condition not fulfilled -- skipping following commands\n", offset); + iexec->execute = false; + } + + return 3; +} + +static int +init_nv_reg(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_NV_REG opcode: 0x6E ('n') + * + * offset (8 bit): opcode + * offset + 1 (32 bit): register + * offset + 5 (32 bit): mask + * offset + 9 (32 bit): data + * + * Assign ((REGVAL("register") & "mask") | "data") to "register" + */ + + uint32_t reg = ROM32(bios->data[offset + 1]); + uint32_t mask = ROM32(bios->data[offset + 5]); + uint32_t data = ROM32(bios->data[offset + 9]); + + if (!iexec->execute) + return 13; + + BIOSLOG(bios, "0x%04X: Reg: 0x%08X, Mask: 0x%08X, Data: 0x%08X\n", + offset, reg, mask, data); + + bios_wr32(bios, reg, (bios_rd32(bios, reg) & mask) | data); + + return 13; +} + +static int +init_macro(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_MACRO opcode: 0x6F ('o') + * + * offset (8 bit): opcode + * offset + 1 (8 bit): macro number + * + * Look up macro index "macro number" in the macro index table. + * The macro index table entry has 1 byte for the index in the macro + * table, and 1 byte for the number of times to repeat the macro. + * The macro table entry has 4 bytes for the register address and + * 4 bytes for the value to write to that register + */ + + uint8_t macro_index_tbl_idx = bios->data[offset + 1]; + uint16_t tmp = bios->macro_index_tbl_ptr + (macro_index_tbl_idx * MACRO_INDEX_SIZE); + uint8_t macro_tbl_idx = bios->data[tmp]; + uint8_t count = bios->data[tmp + 1]; + uint32_t reg, data; + int i; + + if (!iexec->execute) + return 2; + + BIOSLOG(bios, "0x%04X: Macro: 0x%02X, MacroTableIndex: 0x%02X, " + "Count: 0x%02X\n", + offset, macro_index_tbl_idx, macro_tbl_idx, count); + + for (i = 0; i < count; i++) { + uint16_t macroentryptr = bios->macro_tbl_ptr + (macro_tbl_idx + i) * MACRO_SIZE; + + reg = ROM32(bios->data[macroentryptr]); + data = ROM32(bios->data[macroentryptr + 4]); + + bios_wr32(bios, reg, data); + } + + return 2; +} + +static int +init_done(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_DONE opcode: 0x71 ('q') + * + * offset (8 bit): opcode + * + * End the current script + */ + + /* mild retval abuse to stop parsing this table */ + return 0; +} + +static int +init_resume(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_RESUME opcode: 0x72 ('r') + * + * offset (8 bit): opcode + * + * End the current execute / no-execute condition + */ + + if (iexec->execute) + return 1; + + iexec->execute = true; + BIOSLOG(bios, "0x%04X: ---- Executing following commands ----\n", offset); + + return 1; +} + +static int +init_time(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_TIME opcode: 0x74 ('t') + * + * offset (8 bit): opcode + * offset + 1 (16 bit): time + * + * Sleep for "time" microseconds. + */ + + unsigned time = ROM16(bios->data[offset + 1]); + + if (!iexec->execute) + return 3; + + BIOSLOG(bios, "0x%04X: Sleeping for 0x%04X microseconds\n", + offset, time); + + if (time < 1000) + udelay(time); + else + msleep((time + 900) / 1000); + + return 3; +} + +static int +init_condition(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_CONDITION opcode: 0x75 ('u') + * + * offset (8 bit): opcode + * offset + 1 (8 bit): condition number + * + * Check condition "condition number" in the condition table. + * If condition not met skip subsequent opcodes until condition is + * inverted (INIT_NOT), or we hit INIT_RESUME + */ + + uint8_t cond = bios->data[offset + 1]; + + if (!iexec->execute) + return 2; + + BIOSLOG(bios, "0x%04X: Condition: 0x%02X\n", offset, cond); + + if (bios_condition_met(bios, offset, cond)) + BIOSLOG(bios, "0x%04X: Condition fulfilled -- continuing to execute\n", offset); + else { + BIOSLOG(bios, "0x%04X: Condition not fulfilled -- skipping following commands\n", offset); + iexec->execute = false; + } + + return 2; +} + +static int +init_io_condition(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_IO_CONDITION opcode: 0x76 + * + * offset (8 bit): opcode + * offset + 1 (8 bit): condition number + * + * Check condition "condition number" in the io condition table. + * If condition not met skip subsequent opcodes until condition is + * inverted (INIT_NOT), or we hit INIT_RESUME + */ + + uint8_t cond = bios->data[offset + 1]; + + if (!iexec->execute) + return 2; + + BIOSLOG(bios, "0x%04X: IO condition: 0x%02X\n", offset, cond); + + if (io_condition_met(bios, offset, cond)) + BIOSLOG(bios, "0x%04X: Condition fulfilled -- continuing to execute\n", offset); + else { + BIOSLOG(bios, "0x%04X: Condition not fulfilled -- skipping following commands\n", offset); + iexec->execute = false; + } + + return 2; +} + +static int +init_index_io(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_INDEX_IO opcode: 0x78 ('x') + * + * offset (8 bit): opcode + * offset + 1 (16 bit): CRTC port + * offset + 3 (8 bit): CRTC index + * offset + 4 (8 bit): mask + * offset + 5 (8 bit): data + * + * Read value at index "CRTC index" on "CRTC port", AND with "mask", + * OR with "data", write-back + */ + + uint16_t crtcport = ROM16(bios->data[offset + 1]); + uint8_t crtcindex = bios->data[offset + 3]; + uint8_t mask = bios->data[offset + 4]; + uint8_t data = bios->data[offset + 5]; + uint8_t value; + + if (!iexec->execute) + return 6; + + BIOSLOG(bios, "0x%04X: Port: 0x%04X, Index: 0x%02X, Mask: 0x%02X, " + "Data: 0x%02X\n", + offset, crtcport, crtcindex, mask, data); + + value = (bios_idxprt_rd(bios, crtcport, crtcindex) & mask) | data; + bios_idxprt_wr(bios, crtcport, crtcindex, value); + + return 6; +} + +static int +init_pll(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_PLL opcode: 0x79 ('y') + * + * offset (8 bit): opcode + * offset + 1 (32 bit): register + * offset + 5 (16 bit): freq + * + * Set PLL register "register" to coefficients for frequency (10kHz) + * "freq" + */ + + uint32_t reg = ROM32(bios->data[offset + 1]); + uint16_t freq = ROM16(bios->data[offset + 5]); + + if (!iexec->execute) + return 7; + + BIOSLOG(bios, "0x%04X: Reg: 0x%08X, Freq: %d0kHz\n", offset, reg, freq); + + setPLL(bios, reg, freq * 10); + + return 7; +} + +static int +init_zm_reg(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_ZM_REG opcode: 0x7A ('z') + * + * offset (8 bit): opcode + * offset + 1 (32 bit): register + * offset + 5 (32 bit): value + * + * Assign "value" to "register" + */ + + uint32_t reg = ROM32(bios->data[offset + 1]); + uint32_t value = ROM32(bios->data[offset + 5]); + + if (!iexec->execute) + return 9; + + if (reg == 0x000200) + value |= 1; + + bios_wr32(bios, reg, value); + + return 9; +} + +static int +init_ram_restrict_pll(struct nvbios *bios, uint16_t offset, + struct init_exec *iexec) +{ + /* + * INIT_RAM_RESTRICT_PLL opcode: 0x87 ('') + * + * offset (8 bit): opcode + * offset + 1 (8 bit): PLL type + * offset + 2 (32 bit): frequency 0 + * + * Uses the RAMCFG strap of PEXTDEV_BOOT as an index into the table at + * ram_restrict_table_ptr. The value read from there is used to select + * a frequency from the table starting at 'frequency 0' to be + * programmed into the PLL corresponding to 'type'. + * + * The PLL limits table on cards using this opcode has a mapping of + * 'type' to the relevant registers. + */ + + struct drm_device *dev = bios->dev; + uint32_t strap = (bios_rd32(bios, NV_PEXTDEV_BOOT_0) & 0x0000003c) >> 2; + uint8_t index = bios->data[bios->ram_restrict_tbl_ptr + strap]; + uint8_t type = bios->data[offset + 1]; + uint32_t freq = ROM32(bios->data[offset + 2 + (index * 4)]); + uint8_t *pll_limits = &bios->data[bios->pll_limit_tbl_ptr], *entry; + int len = 2 + bios->ram_restrict_group_count * 4; + int i; + + if (!iexec->execute) + return len; + + if (!bios->pll_limit_tbl_ptr || (pll_limits[0] & 0xf0) != 0x30) { + NV_ERROR(dev, "PLL limits table not version 3.x\n"); + return len; /* deliberate, allow default clocks to remain */ + } + + entry = pll_limits + pll_limits[1]; + for (i = 0; i < pll_limits[3]; i++, entry += pll_limits[2]) { + if (entry[0] == type) { + uint32_t reg = ROM32(entry[3]); + + BIOSLOG(bios, "0x%04X: " + "Type %02x Reg 0x%08x Freq %dKHz\n", + offset, type, reg, freq); + + setPLL(bios, reg, freq); + return len; + } + } + + NV_ERROR(dev, "PLL type 0x%02x not found in PLL limits table", type); + return len; +} + +static int +init_8c(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_8C opcode: 0x8C ('') + * + * NOP so far.... + * + */ + + return 1; +} + +static int +init_8d(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_8D opcode: 0x8D ('') + * + * NOP so far.... + * + */ + + return 1; +} + +static int +init_gpio(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_GPIO opcode: 0x8E ('') + * + * offset (8 bit): opcode + * + * Loop over all entries in the DCB GPIO table, and initialise + * each GPIO according to various values listed in each entry + */ + + const uint32_t nv50_gpio_reg[4] = { 0xe104, 0xe108, 0xe280, 0xe284 }; + const uint32_t nv50_gpio_ctl[2] = { 0xe100, 0xe28c }; + const uint8_t *gpio_table = &bios->data[bios->bdcb.gpio_table_ptr]; + const uint8_t *gpio_entry; + int i; + + if (!iexec->execute) + return 1; + + if (bios->bdcb.version != 0x40) { + NV_ERROR(bios->dev, "DCB table not version 4.0\n"); + return 0; + } + + if (!bios->bdcb.gpio_table_ptr) { + NV_WARN(bios->dev, "Invalid pointer to INIT_8E table\n"); + return 0; + } + + gpio_entry = gpio_table + gpio_table[1]; + for (i = 0; i < gpio_table[2]; i++, gpio_entry += gpio_table[3]) { + uint32_t entry = ROM32(gpio_entry[0]), r, s, v; + int line = (entry & 0x0000001f); + + BIOSLOG(bios, "0x%04X: Entry: 0x%08X\n", offset, entry); + + if ((entry & 0x0000ff00) == 0x0000ff00) + continue; + + r = nv50_gpio_reg[line >> 3]; + s = (line & 0x07) << 2; + v = bios_rd32(bios, r) & ~(0x00000003 << s); + if (entry & 0x01000000) + v |= (((entry & 0x60000000) >> 29) ^ 2) << s; + else + v |= (((entry & 0x18000000) >> 27) ^ 2) << s; + bios_wr32(bios, r, v); + + r = nv50_gpio_ctl[line >> 4]; + s = (line & 0x0f); + v = bios_rd32(bios, r) & ~(0x00010001 << s); + switch ((entry & 0x06000000) >> 25) { + case 1: + v |= (0x00000001 << s); + break; + case 2: + v |= (0x00010000 << s); + break; + default: + break; + } + bios_wr32(bios, r, v); + } + + return 1; +} + +static int +init_ram_restrict_zm_reg_group(struct nvbios *bios, uint16_t offset, + struct init_exec *iexec) +{ + /* + * INIT_RAM_RESTRICT_ZM_REG_GROUP opcode: 0x8F ('') + * + * offset (8 bit): opcode + * offset + 1 (32 bit): reg + * offset + 5 (8 bit): regincrement + * offset + 6 (8 bit): count + * offset + 7 (32 bit): value 1,1 + * ... + * + * Use the RAMCFG strap of PEXTDEV_BOOT as an index into the table at + * ram_restrict_table_ptr. The value read from here is 'n', and + * "value 1,n" gets written to "reg". This repeats "count" times and on + * each iteration 'm', "reg" increases by "regincrement" and + * "value m,n" is used. The extent of n is limited by a number read + * from the 'M' BIT table, herein called "blocklen" + */ + + uint32_t reg = ROM32(bios->data[offset + 1]); + uint8_t regincrement = bios->data[offset + 5]; + uint8_t count = bios->data[offset + 6]; + uint32_t strap_ramcfg, data; + /* previously set by 'M' BIT table */ + uint16_t blocklen = bios->ram_restrict_group_count * 4; + int len = 7 + count * blocklen; + uint8_t index; + int i; + + + if (!iexec->execute) + return len; + + if (!blocklen) { + NV_ERROR(bios->dev, + "0x%04X: Zero block length - has the M table " + "been parsed?\n", offset); + return 0; + } + + strap_ramcfg = (bios_rd32(bios, NV_PEXTDEV_BOOT_0) >> 2) & 0xf; + index = bios->data[bios->ram_restrict_tbl_ptr + strap_ramcfg]; + + BIOSLOG(bios, "0x%04X: Reg: 0x%08X, RegIncrement: 0x%02X, " + "Count: 0x%02X, StrapRamCfg: 0x%02X, Index: 0x%02X\n", + offset, reg, regincrement, count, strap_ramcfg, index); + + for (i = 0; i < count; i++) { + data = ROM32(bios->data[offset + 7 + index * 4 + blocklen * i]); + + bios_wr32(bios, reg, data); + + reg += regincrement; + } + + return len; +} + +static int +init_copy_zm_reg(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_COPY_ZM_REG opcode: 0x90 ('') + * + * offset (8 bit): opcode + * offset + 1 (32 bit): src reg + * offset + 5 (32 bit): dst reg + * + * Put contents of "src reg" into "dst reg" + */ + + uint32_t srcreg = ROM32(bios->data[offset + 1]); + uint32_t dstreg = ROM32(bios->data[offset + 5]); + + if (!iexec->execute) + return 9; + + bios_wr32(bios, dstreg, bios_rd32(bios, srcreg)); + + return 9; +} + +static int +init_zm_reg_group_addr_latched(struct nvbios *bios, uint16_t offset, + struct init_exec *iexec) +{ + /* + * INIT_ZM_REG_GROUP_ADDRESS_LATCHED opcode: 0x91 ('') + * + * offset (8 bit): opcode + * offset + 1 (32 bit): dst reg + * offset + 5 (8 bit): count + * offset + 6 (32 bit): data 1 + * ... + * + * For each of "count" values write "data n" to "dst reg" + */ + + uint32_t reg = ROM32(bios->data[offset + 1]); + uint8_t count = bios->data[offset + 5]; + int len = 6 + count * 4; + int i; + + if (!iexec->execute) + return len; + + for (i = 0; i < count; i++) { + uint32_t data = ROM32(bios->data[offset + 6 + 4 * i]); + bios_wr32(bios, reg, data); + } + + return len; +} + +static int +init_reserved(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_RESERVED opcode: 0x92 ('') + * + * offset (8 bit): opcode + * + * Seemingly does nothing + */ + + return 1; +} + +static int +init_96(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_96 opcode: 0x96 ('') + * + * offset (8 bit): opcode + * offset + 1 (32 bit): sreg + * offset + 5 (8 bit): sshift + * offset + 6 (8 bit): smask + * offset + 7 (8 bit): index + * offset + 8 (32 bit): reg + * offset + 12 (32 bit): mask + * offset + 16 (8 bit): shift + * + */ + + uint16_t xlatptr = bios->init96_tbl_ptr + (bios->data[offset + 7] * 2); + uint32_t reg = ROM32(bios->data[offset + 8]); + uint32_t mask = ROM32(bios->data[offset + 12]); + uint32_t val; + + val = bios_rd32(bios, ROM32(bios->data[offset + 1])); + if (bios->data[offset + 5] < 0x80) + val >>= bios->data[offset + 5]; + else + val <<= (0x100 - bios->data[offset + 5]); + val &= bios->data[offset + 6]; + + val = bios->data[ROM16(bios->data[xlatptr]) + val]; + val <<= bios->data[offset + 16]; + + if (!iexec->execute) + return 17; + + bios_wr32(bios, reg, (bios_rd32(bios, reg) & mask) | val); + return 17; +} + +static int +init_97(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_97 opcode: 0x97 ('') + * + * offset (8 bit): opcode + * offset + 1 (32 bit): register + * offset + 5 (32 bit): mask + * offset + 9 (32 bit): value + * + * Adds "value" to "register" preserving the fields specified + * by "mask" + */ + + uint32_t reg = ROM32(bios->data[offset + 1]); + uint32_t mask = ROM32(bios->data[offset + 5]); + uint32_t add = ROM32(bios->data[offset + 9]); + uint32_t val; + + val = bios_rd32(bios, reg); + val = (val & mask) | ((val + add) & ~mask); + + if (!iexec->execute) + return 13; + + bios_wr32(bios, reg, val); + return 13; +} + +static int +init_auxch(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_AUXCH opcode: 0x98 ('') + * + * offset (8 bit): opcode + * offset + 1 (32 bit): address + * offset + 5 (8 bit): count + * offset + 6 (8 bit): mask 0 + * offset + 7 (8 bit): data 0 + * ... + * + */ + + struct drm_device *dev = bios->dev; + struct nouveau_i2c_chan *auxch; + uint32_t addr = ROM32(bios->data[offset + 1]); + uint8_t count = bios->data[offset + 5]; + int len = 6 + count * 2; + int ret, i; + + if (!bios->display.output) { + NV_ERROR(dev, "INIT_AUXCH: no active output\n"); + return 0; + } + + auxch = init_i2c_device_find(dev, bios->display.output->i2c_index); + if (!auxch) { + NV_ERROR(dev, "INIT_AUXCH: couldn't get auxch %d\n", + bios->display.output->i2c_index); + return 0; + } + + if (!iexec->execute) + return len; + + offset += 6; + for (i = 0; i < count; i++, offset += 2) { + uint8_t data; + + ret = nouveau_dp_auxch(auxch, 9, addr, &data, 1); + if (ret) { + NV_ERROR(dev, "INIT_AUXCH: rd auxch fail %d\n", ret); + return 0; + } + + data &= bios->data[offset + 0]; + data |= bios->data[offset + 1]; + + ret = nouveau_dp_auxch(auxch, 8, addr, &data, 1); + if (ret) { + NV_ERROR(dev, "INIT_AUXCH: wr auxch fail %d\n", ret); + return 0; + } + } + + return len; +} + +static int +init_zm_auxch(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) +{ + /* + * INIT_ZM_AUXCH opcode: 0x99 ('') + * + * offset (8 bit): opcode + * offset + 1 (32 bit): address + * offset + 5 (8 bit): count + * offset + 6 (8 bit): data 0 + * ... + * + */ + + struct drm_device *dev = bios->dev; + struct nouveau_i2c_chan *auxch; + uint32_t addr = ROM32(bios->data[offset + 1]); + uint8_t count = bios->data[offset + 5]; + int len = 6 + count; + int ret, i; + + if (!bios->display.output) { + NV_ERROR(dev, "INIT_ZM_AUXCH: no active output\n"); + return 0; + } + + auxch = init_i2c_device_find(dev, bios->display.output->i2c_index); + if (!auxch) { + NV_ERROR(dev, "INIT_ZM_AUXCH: couldn't get auxch %d\n", + bios->display.output->i2c_index); + return 0; + } + + if (!iexec->execute) + return len; + + offset += 6; + for (i = 0; i < count; i++, offset++) { + ret = nouveau_dp_auxch(auxch, 8, addr, &bios->data[offset], 1); + if (ret) { + NV_ERROR(dev, "INIT_ZM_AUXCH: wr auxch fail %d\n", ret); + return 0; + } + } + + return len; +} + +static struct init_tbl_entry itbl_entry[] = { + /* command name , id , length , offset , mult , command handler */ + /* INIT_PROG (0x31, 15, 10, 4) removed due to no example of use */ + { "INIT_IO_RESTRICT_PROG" , 0x32, init_io_restrict_prog }, + { "INIT_REPEAT" , 0x33, init_repeat }, + { "INIT_IO_RESTRICT_PLL" , 0x34, init_io_restrict_pll }, + { "INIT_END_REPEAT" , 0x36, init_end_repeat }, + { "INIT_COPY" , 0x37, init_copy }, + { "INIT_NOT" , 0x38, init_not }, + { "INIT_IO_FLAG_CONDITION" , 0x39, init_io_flag_condition }, + { "INIT_INDEX_ADDRESS_LATCHED" , 0x49, init_idx_addr_latched }, + { "INIT_IO_RESTRICT_PLL2" , 0x4A, init_io_restrict_pll2 }, + { "INIT_PLL2" , 0x4B, init_pll2 }, + { "INIT_I2C_BYTE" , 0x4C, init_i2c_byte }, + { "INIT_ZM_I2C_BYTE" , 0x4D, init_zm_i2c_byte }, + { "INIT_ZM_I2C" , 0x4E, init_zm_i2c }, + { "INIT_TMDS" , 0x4F, init_tmds }, + { "INIT_ZM_TMDS_GROUP" , 0x50, init_zm_tmds_group }, + { "INIT_CR_INDEX_ADDRESS_LATCHED" , 0x51, init_cr_idx_adr_latch }, + { "INIT_CR" , 0x52, init_cr }, + { "INIT_ZM_CR" , 0x53, init_zm_cr }, + { "INIT_ZM_CR_GROUP" , 0x54, init_zm_cr_group }, + { "INIT_CONDITION_TIME" , 0x56, init_condition_time }, + { "INIT_ZM_REG_SEQUENCE" , 0x58, init_zm_reg_sequence }, + /* INIT_INDIRECT_REG (0x5A, 7, 0, 0) removed due to no example of use */ + { "INIT_SUB_DIRECT" , 0x5B, init_sub_direct }, + { "INIT_COPY_NV_REG" , 0x5F, init_copy_nv_reg }, + { "INIT_ZM_INDEX_IO" , 0x62, init_zm_index_io }, + { "INIT_COMPUTE_MEM" , 0x63, init_compute_mem }, + { "INIT_RESET" , 0x65, init_reset }, + { "INIT_CONFIGURE_MEM" , 0x66, init_configure_mem }, + { "INIT_CONFIGURE_CLK" , 0x67, init_configure_clk }, + { "INIT_CONFIGURE_PREINIT" , 0x68, init_configure_preinit }, + { "INIT_IO" , 0x69, init_io }, + { "INIT_SUB" , 0x6B, init_sub }, + { "INIT_RAM_CONDITION" , 0x6D, init_ram_condition }, + { "INIT_NV_REG" , 0x6E, init_nv_reg }, + { "INIT_MACRO" , 0x6F, init_macro }, + { "INIT_DONE" , 0x71, init_done }, + { "INIT_RESUME" , 0x72, init_resume }, + /* INIT_RAM_CONDITION2 (0x73, 9, 0, 0) removed due to no example of use */ + { "INIT_TIME" , 0x74, init_time }, + { "INIT_CONDITION" , 0x75, init_condition }, + { "INIT_IO_CONDITION" , 0x76, init_io_condition }, + { "INIT_INDEX_IO" , 0x78, init_index_io }, + { "INIT_PLL" , 0x79, init_pll }, + { "INIT_ZM_REG" , 0x7A, init_zm_reg }, + { "INIT_RAM_RESTRICT_PLL" , 0x87, init_ram_restrict_pll }, + { "INIT_8C" , 0x8C, init_8c }, + { "INIT_8D" , 0x8D, init_8d }, + { "INIT_GPIO" , 0x8E, init_gpio }, + { "INIT_RAM_RESTRICT_ZM_REG_GROUP" , 0x8F, init_ram_restrict_zm_reg_group }, + { "INIT_COPY_ZM_REG" , 0x90, init_copy_zm_reg }, + { "INIT_ZM_REG_GROUP_ADDRESS_LATCHED" , 0x91, init_zm_reg_group_addr_latched }, + { "INIT_RESERVED" , 0x92, init_reserved }, + { "INIT_96" , 0x96, init_96 }, + { "INIT_97" , 0x97, init_97 }, + { "INIT_AUXCH" , 0x98, init_auxch }, + { "INIT_ZM_AUXCH" , 0x99, init_zm_auxch }, + { NULL , 0 , NULL } +}; + +#define MAX_TABLE_OPS 1000 + +static int +parse_init_table(struct nvbios *bios, unsigned int offset, + struct init_exec *iexec) +{ + /* + * Parses all commands in an init table. + * + * We start out executing all commands found in the init table. Some + * opcodes may change the status of iexec->execute to SKIP, which will + * cause the following opcodes to perform no operation until the value + * is changed back to EXECUTE. + */ + + int count = 0, i, res; + uint8_t id; + + /* + * Loop until INIT_DONE causes us to break out of the loop + * (or until offset > bios length just in case... ) + * (and no more than MAX_TABLE_OPS iterations, just in case... ) + */ + while ((offset < bios->length) && (count++ < MAX_TABLE_OPS)) { + id = bios->data[offset]; + + /* Find matching id in itbl_entry */ + for (i = 0; itbl_entry[i].name && (itbl_entry[i].id != id); i++) + ; + + if (itbl_entry[i].name) { + BIOSLOG(bios, "0x%04X: [ (0x%02X) - %s ]\n", + offset, itbl_entry[i].id, itbl_entry[i].name); + + /* execute eventual command handler */ + res = (*itbl_entry[i].handler)(bios, offset, iexec); + if (!res) + break; + /* + * Add the offset of the current command including all data + * of that command. The offset will then be pointing on the + * next op code. + */ + offset += res; + } else { + NV_ERROR(bios->dev, + "0x%04X: Init table command not found: " + "0x%02X\n", offset, id); + return -ENOENT; + } + } + + if (offset >= bios->length) + NV_WARN(bios->dev, + "Offset 0x%04X greater than known bios image length. " + "Corrupt image?\n", offset); + if (count >= MAX_TABLE_OPS) + NV_WARN(bios->dev, + "More than %d opcodes to a table is unlikely, " + "is the bios image corrupt?\n", MAX_TABLE_OPS); + + return 0; +} + +static void +parse_init_tables(struct nvbios *bios) +{ + /* Loops and calls parse_init_table() for each present table. */ + + int i = 0; + uint16_t table; + struct init_exec iexec = {true, false}; + + if (bios->old_style_init) { + if (bios->init_script_tbls_ptr) + parse_init_table(bios, bios->init_script_tbls_ptr, &iexec); + if (bios->extra_init_script_tbl_ptr) + parse_init_table(bios, bios->extra_init_script_tbl_ptr, &iexec); + + return; + } + + while ((table = ROM16(bios->data[bios->init_script_tbls_ptr + i]))) { + NV_INFO(bios->dev, + "Parsing VBIOS init table %d at offset 0x%04X\n", + i / 2, table); + BIOSLOG(bios, "0x%04X: ------ Executing following commands ------\n", table); + + parse_init_table(bios, table, &iexec); + i += 2; + } +} + +static uint16_t clkcmptable(struct nvbios *bios, uint16_t clktable, int pxclk) +{ + int compare_record_len, i = 0; + uint16_t compareclk, scriptptr = 0; + + if (bios->major_version < 5) /* pre BIT */ + compare_record_len = 3; + else + compare_record_len = 4; + + do { + compareclk = ROM16(bios->data[clktable + compare_record_len * i]); + if (pxclk >= compareclk * 10) { + if (bios->major_version < 5) { + uint8_t tmdssub = bios->data[clktable + 2 + compare_record_len * i]; + scriptptr = ROM16(bios->data[bios->init_script_tbls_ptr + tmdssub * 2]); + } else + scriptptr = ROM16(bios->data[clktable + 2 + compare_record_len * i]); + break; + } + i++; + } while (compareclk); + + return scriptptr; +} + +static void +run_digital_op_script(struct drm_device *dev, uint16_t scriptptr, + struct dcb_entry *dcbent, int head, bool dl) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + struct init_exec iexec = {true, false}; + + NV_TRACE(dev, "0x%04X: Parsing digital output script table\n", + scriptptr); + bios_idxprt_wr(bios, NV_CIO_CRX__COLOR, NV_CIO_CRE_44, + head ? NV_CIO_CRE_44_HEADB : NV_CIO_CRE_44_HEADA); + /* note: if dcb entries have been merged, index may be misleading */ + NVWriteVgaCrtc5758(dev, head, 0, dcbent->index); + parse_init_table(bios, scriptptr, &iexec); + + nv04_dfp_bind_head(dev, dcbent, head, dl); +} + +static int call_lvds_manufacturer_script(struct drm_device *dev, struct dcb_entry *dcbent, int head, enum LVDS_script script) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + uint8_t sub = bios->data[bios->fp.xlated_entry + script] + (bios->fp.link_c_increment && dcbent->or & OUTPUT_C ? 1 : 0); + uint16_t scriptofs = ROM16(bios->data[bios->init_script_tbls_ptr + sub * 2]); + + if (!bios->fp.xlated_entry || !sub || !scriptofs) + return -EINVAL; + + run_digital_op_script(dev, scriptofs, dcbent, head, bios->fp.dual_link); + + if (script == LVDS_PANEL_OFF) { + /* off-on delay in ms */ + msleep(ROM16(bios->data[bios->fp.xlated_entry + 7])); + } +#ifdef __powerpc__ + /* Powerbook specific quirks */ + if ((dev->pci_device & 0xffff) == 0x0179 || + (dev->pci_device & 0xffff) == 0x0189 || + (dev->pci_device & 0xffff) == 0x0329) { + if (script == LVDS_RESET) { + nv_write_tmds(dev, dcbent->or, 0, 0x02, 0x72); + + } else if (script == LVDS_PANEL_ON) { + bios_wr32(bios, NV_PBUS_DEBUG_DUALHEAD_CTL, + bios_rd32(bios, NV_PBUS_DEBUG_DUALHEAD_CTL) + | (1 << 31)); + bios_wr32(bios, NV_PCRTC_GPIO_EXT, + bios_rd32(bios, NV_PCRTC_GPIO_EXT) | 1); + + } else if (script == LVDS_PANEL_OFF) { + bios_wr32(bios, NV_PBUS_DEBUG_DUALHEAD_CTL, + bios_rd32(bios, NV_PBUS_DEBUG_DUALHEAD_CTL) + & ~(1 << 31)); + bios_wr32(bios, NV_PCRTC_GPIO_EXT, + bios_rd32(bios, NV_PCRTC_GPIO_EXT) & ~3); + } + } +#endif + + return 0; +} + +static int run_lvds_table(struct drm_device *dev, struct dcb_entry *dcbent, int head, enum LVDS_script script, int pxclk) +{ + /* + * The BIT LVDS table's header has the information to setup the + * necessary registers. Following the standard 4 byte header are: + * A bitmask byte and a dual-link transition pxclk value for use in + * selecting the init script when not using straps; 4 script pointers + * for panel power, selected by output and on/off; and 8 table pointers + * for panel init, the needed one determined by output, and bits in the + * conf byte. These tables are similar to the TMDS tables, consisting + * of a list of pxclks and script pointers. + */ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + unsigned int outputset = (dcbent->or == 4) ? 1 : 0; + uint16_t scriptptr = 0, clktable; + uint8_t clktableptr = 0; + + /* + * For now we assume version 3.0 table - g80 support will need some + * changes + */ + + switch (script) { + case LVDS_INIT: + return -ENOSYS; + case LVDS_BACKLIGHT_ON: + case LVDS_PANEL_ON: + scriptptr = ROM16(bios->data[bios->fp.lvdsmanufacturerpointer + 7 + outputset * 2]); + break; + case LVDS_BACKLIGHT_OFF: + case LVDS_PANEL_OFF: + scriptptr = ROM16(bios->data[bios->fp.lvdsmanufacturerpointer + 11 + outputset * 2]); + break; + case LVDS_RESET: + if (dcbent->lvdsconf.use_straps_for_mode) { + if (bios->fp.dual_link) + clktableptr += 2; + if (bios->fp.BITbit1) + clktableptr++; + } else { + /* using EDID */ + uint8_t fallback = bios->data[bios->fp.lvdsmanufacturerpointer + 4]; + int fallbackcmpval = (dcbent->or == 4) ? 4 : 1; + + if (bios->fp.dual_link) { + clktableptr += 2; + fallbackcmpval *= 2; + } + if (fallbackcmpval & fallback) + clktableptr++; + } + + /* adding outputset * 8 may not be correct */ + clktable = ROM16(bios->data[bios->fp.lvdsmanufacturerpointer + 15 + clktableptr * 2 + outputset * 8]); + if (!clktable) { + NV_ERROR(dev, "Pixel clock comparison table not found\n"); + return -ENOENT; + } + scriptptr = clkcmptable(bios, clktable, pxclk); + } + + if (!scriptptr) { + NV_ERROR(dev, "LVDS output init script not found\n"); + return -ENOENT; + } + run_digital_op_script(dev, scriptptr, dcbent, head, bios->fp.dual_link); + + return 0; +} + +int call_lvds_script(struct drm_device *dev, struct dcb_entry *dcbent, int head, enum LVDS_script script, int pxclk) +{ + /* + * LVDS operations are multiplexed in an effort to present a single API + * which works with two vastly differing underlying structures. + * This acts as the demux + */ + + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + uint8_t lvds_ver = bios->data[bios->fp.lvdsmanufacturerpointer]; + uint32_t sel_clk_binding, sel_clk; + int ret; + + if (bios->fp.last_script_invoc == (script << 1 | head) || !lvds_ver || + (lvds_ver >= 0x30 && script == LVDS_INIT)) + return 0; + + if (!bios->fp.lvds_init_run) { + bios->fp.lvds_init_run = true; + call_lvds_script(dev, dcbent, head, LVDS_INIT, pxclk); + } + + if (script == LVDS_PANEL_ON && bios->fp.reset_after_pclk_change) + call_lvds_script(dev, dcbent, head, LVDS_RESET, pxclk); + if (script == LVDS_RESET && bios->fp.power_off_for_reset) + call_lvds_script(dev, dcbent, head, LVDS_PANEL_OFF, pxclk); + + NV_TRACE(dev, "Calling LVDS script %d:\n", script); + + /* don't let script change pll->head binding */ + sel_clk_binding = bios_rd32(bios, NV_PRAMDAC_SEL_CLK) & 0x50000; + + if (lvds_ver < 0x30) + ret = call_lvds_manufacturer_script(dev, dcbent, head, script); + else + ret = run_lvds_table(dev, dcbent, head, script, pxclk); + + bios->fp.last_script_invoc = (script << 1 | head); + + sel_clk = NVReadRAMDAC(dev, 0, NV_PRAMDAC_SEL_CLK) & ~0x50000; + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_SEL_CLK, sel_clk | sel_clk_binding); + /* some scripts set a value in NV_PBUS_POWERCTRL_2 and break video overlay */ + nvWriteMC(dev, NV_PBUS_POWERCTRL_2, 0); + + return ret; +} + +struct lvdstableheader { + uint8_t lvds_ver, headerlen, recordlen; +}; + +static int parse_lvds_manufacturer_table_header(struct drm_device *dev, struct nvbios *bios, struct lvdstableheader *lth) +{ + /* + * BMP version (0xa) LVDS table has a simple header of version and + * record length. The BIT LVDS table has the typical BIT table header: + * version byte, header length byte, record length byte, and a byte for + * the maximum number of records that can be held in the table. + */ + + uint8_t lvds_ver, headerlen, recordlen; + + memset(lth, 0, sizeof(struct lvdstableheader)); + + if (bios->fp.lvdsmanufacturerpointer == 0x0) { + NV_ERROR(dev, "Pointer to LVDS manufacturer table invalid\n"); + return -EINVAL; + } + + lvds_ver = bios->data[bios->fp.lvdsmanufacturerpointer]; + + switch (lvds_ver) { + case 0x0a: /* pre NV40 */ + headerlen = 2; + recordlen = bios->data[bios->fp.lvdsmanufacturerpointer + 1]; + break; + case 0x30: /* NV4x */ + headerlen = bios->data[bios->fp.lvdsmanufacturerpointer + 1]; + if (headerlen < 0x1f) { + NV_ERROR(dev, "LVDS table header not understood\n"); + return -EINVAL; + } + recordlen = bios->data[bios->fp.lvdsmanufacturerpointer + 2]; + break; + case 0x40: /* G80/G90 */ + headerlen = bios->data[bios->fp.lvdsmanufacturerpointer + 1]; + if (headerlen < 0x7) { + NV_ERROR(dev, "LVDS table header not understood\n"); + return -EINVAL; + } + recordlen = bios->data[bios->fp.lvdsmanufacturerpointer + 2]; + break; + default: + NV_ERROR(dev, + "LVDS table revision %d.%d not currently supported\n", + lvds_ver >> 4, lvds_ver & 0xf); + return -ENOSYS; + } + + lth->lvds_ver = lvds_ver; + lth->headerlen = headerlen; + lth->recordlen = recordlen; + + return 0; +} + +static int +get_fp_strap(struct drm_device *dev, struct nvbios *bios) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + /* + * The fp strap is normally dictated by the "User Strap" in + * PEXTDEV_BOOT_0[20:16], but on BMP cards when bit 2 of the + * Internal_Flags struct at 0x48 is set, the user strap gets overriden + * by the PCI subsystem ID during POST, but not before the previous user + * strap has been committed to CR58 for CR57=0xf on head A, which may be + * read and used instead + */ + + if (bios->major_version < 5 && bios->data[0x48] & 0x4) + return NVReadVgaCrtc5758(dev, 0, 0xf) & 0xf; + + if (dev_priv->card_type >= NV_50) + return (bios_rd32(bios, NV_PEXTDEV_BOOT_0) >> 24) & 0xf; + else + return (bios_rd32(bios, NV_PEXTDEV_BOOT_0) >> 16) & 0xf; +} + +static int parse_fp_mode_table(struct drm_device *dev, struct nvbios *bios) +{ + uint8_t *fptable; + uint8_t fptable_ver, headerlen = 0, recordlen, fpentries = 0xf, fpindex; + int ret, ofs, fpstrapping; + struct lvdstableheader lth; + + if (bios->fp.fptablepointer == 0x0) { + /* Apple cards don't have the fp table; the laptops use DDC */ + /* The table is also missing on some x86 IGPs */ +#ifndef __powerpc__ + NV_ERROR(dev, "Pointer to flat panel table invalid\n"); +#endif + bios->pub.digital_min_front_porch = 0x4b; + return 0; + } + + fptable = &bios->data[bios->fp.fptablepointer]; + fptable_ver = fptable[0]; + + switch (fptable_ver) { + /* + * BMP version 0x5.0x11 BIOSen have version 1 like tables, but no + * version field, and miss one of the spread spectrum/PWM bytes. + * This could affect early GF2Go parts (not seen any appropriate ROMs + * though). Here we assume that a version of 0x05 matches this case + * (combining with a BMP version check would be better), as the + * common case for the panel type field is 0x0005, and that is in + * fact what we are reading the first byte of. + */ + case 0x05: /* some NV10, 11, 15, 16 */ + recordlen = 42; + ofs = -1; + break; + case 0x10: /* some NV15/16, and NV11+ */ + recordlen = 44; + ofs = 0; + break; + case 0x20: /* NV40+ */ + headerlen = fptable[1]; + recordlen = fptable[2]; + fpentries = fptable[3]; + /* + * fptable[4] is the minimum + * RAMDAC_FP_HCRTC -> RAMDAC_FP_HSYNC_START gap + */ + bios->pub.digital_min_front_porch = fptable[4]; + ofs = -7; + break; + default: + NV_ERROR(dev, + "FP table revision %d.%d not currently supported\n", + fptable_ver >> 4, fptable_ver & 0xf); + return -ENOSYS; + } + + if (!bios->is_mobile) /* !mobile only needs digital_min_front_porch */ + return 0; + + ret = parse_lvds_manufacturer_table_header(dev, bios, <h); + if (ret) + return ret; + + if (lth.lvds_ver == 0x30 || lth.lvds_ver == 0x40) { + bios->fp.fpxlatetableptr = bios->fp.lvdsmanufacturerpointer + + lth.headerlen + 1; + bios->fp.xlatwidth = lth.recordlen; + } + if (bios->fp.fpxlatetableptr == 0x0) { + NV_ERROR(dev, "Pointer to flat panel xlat table invalid\n"); + return -EINVAL; + } + + fpstrapping = get_fp_strap(dev, bios); + + fpindex = bios->data[bios->fp.fpxlatetableptr + + fpstrapping * bios->fp.xlatwidth]; + + if (fpindex > fpentries) { + NV_ERROR(dev, "Bad flat panel table index\n"); + return -ENOENT; + } + + /* nv4x cards need both a strap value and fpindex of 0xf to use DDC */ + if (lth.lvds_ver > 0x10) + bios->pub.fp_no_ddc = fpstrapping != 0xf || fpindex != 0xf; + + /* + * If either the strap or xlated fpindex value are 0xf there is no + * panel using a strap-derived bios mode present. this condition + * includes, but is different from, the DDC panel indicator above + */ + if (fpstrapping == 0xf || fpindex == 0xf) + return 0; + + bios->fp.mode_ptr = bios->fp.fptablepointer + headerlen + + recordlen * fpindex + ofs; + + NV_TRACE(dev, "BIOS FP mode: %dx%d (%dkHz pixel clock)\n", + ROM16(bios->data[bios->fp.mode_ptr + 11]) + 1, + ROM16(bios->data[bios->fp.mode_ptr + 25]) + 1, + ROM16(bios->data[bios->fp.mode_ptr + 7]) * 10); + + return 0; +} + +bool nouveau_bios_fp_mode(struct drm_device *dev, struct drm_display_mode *mode) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + uint8_t *mode_entry = &bios->data[bios->fp.mode_ptr]; + + if (!mode) /* just checking whether we can produce a mode */ + return bios->fp.mode_ptr; + + memset(mode, 0, sizeof(struct drm_display_mode)); + /* + * For version 1.0 (version in byte 0): + * bytes 1-2 are "panel type", including bits on whether Colour/mono, + * single/dual link, and type (TFT etc.) + * bytes 3-6 are bits per colour in RGBX + */ + mode->clock = ROM16(mode_entry[7]) * 10; + /* bytes 9-10 is HActive */ + mode->hdisplay = ROM16(mode_entry[11]) + 1; + /* + * bytes 13-14 is HValid Start + * bytes 15-16 is HValid End + */ + mode->hsync_start = ROM16(mode_entry[17]) + 1; + mode->hsync_end = ROM16(mode_entry[19]) + 1; + mode->htotal = ROM16(mode_entry[21]) + 1; + /* bytes 23-24, 27-30 similarly, but vertical */ + mode->vdisplay = ROM16(mode_entry[25]) + 1; + mode->vsync_start = ROM16(mode_entry[31]) + 1; + mode->vsync_end = ROM16(mode_entry[33]) + 1; + mode->vtotal = ROM16(mode_entry[35]) + 1; + mode->flags |= (mode_entry[37] & 0x10) ? + DRM_MODE_FLAG_PHSYNC : DRM_MODE_FLAG_NHSYNC; + mode->flags |= (mode_entry[37] & 0x1) ? + DRM_MODE_FLAG_PVSYNC : DRM_MODE_FLAG_NVSYNC; + /* + * bytes 38-39 relate to spread spectrum settings + * bytes 40-43 are something to do with PWM + */ + + mode->status = MODE_OK; + mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED; + drm_mode_set_name(mode); + return bios->fp.mode_ptr; +} + +int nouveau_bios_parse_lvds_table(struct drm_device *dev, int pxclk, bool *dl, bool *if_is_24bit) +{ + /* + * The LVDS table header is (mostly) described in + * parse_lvds_manufacturer_table_header(): the BIT header additionally + * contains the dual-link transition pxclk (in 10s kHz), at byte 5 - if + * straps are not being used for the panel, this specifies the frequency + * at which modes should be set up in the dual link style. + * + * Following the header, the BMP (ver 0xa) table has several records, + * indexed by a seperate xlat table, indexed in turn by the fp strap in + * EXTDEV_BOOT. Each record had a config byte, followed by 6 script + * numbers for use by INIT_SUB which controlled panel init and power, + * and finally a dword of ms to sleep between power off and on + * operations. + * + * In the BIT versions, the table following the header serves as an + * integrated config and xlat table: the records in the table are + * indexed by the FP strap nibble in EXTDEV_BOOT, and each record has + * two bytes - the first as a config byte, the second for indexing the + * fp mode table pointed to by the BIT 'D' table + * + * DDC is not used until after card init, so selecting the correct table + * entry and setting the dual link flag for EDID equipped panels, + * requiring tests against the native-mode pixel clock, cannot be done + * until later, when this function should be called with non-zero pxclk + */ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + int fpstrapping = get_fp_strap(dev, bios), lvdsmanufacturerindex = 0; + struct lvdstableheader lth; + uint16_t lvdsofs; + int ret, chip_version = bios->pub.chip_version; + + ret = parse_lvds_manufacturer_table_header(dev, bios, <h); + if (ret) + return ret; + + switch (lth.lvds_ver) { + case 0x0a: /* pre NV40 */ + lvdsmanufacturerindex = bios->data[ + bios->fp.fpxlatemanufacturertableptr + + fpstrapping]; + + /* we're done if this isn't the EDID panel case */ + if (!pxclk) + break; + + if (chip_version < 0x25) { + /* nv17 behaviour + * + * It seems the old style lvds script pointer is reused + * to select 18/24 bit colour depth for EDID panels. + */ + lvdsmanufacturerindex = + (bios->legacy.lvds_single_a_script_ptr & 1) ? + 2 : 0; + if (pxclk >= bios->fp.duallink_transition_clk) + lvdsmanufacturerindex++; + } else if (chip_version < 0x30) { + /* nv28 behaviour (off-chip encoder) + * + * nv28 does a complex dance of first using byte 121 of + * the EDID to choose the lvdsmanufacturerindex, then + * later attempting to match the EDID manufacturer and + * product IDs in a table (signature 'pidt' (panel id + * table?)), setting an lvdsmanufacturerindex of 0 and + * an fp strap of the match index (or 0xf if none) + */ + lvdsmanufacturerindex = 0; + } else { + /* nv31, nv34 behaviour */ + lvdsmanufacturerindex = 0; + if (pxclk >= bios->fp.duallink_transition_clk) + lvdsmanufacturerindex = 2; + if (pxclk >= 140000) + lvdsmanufacturerindex = 3; + } + + /* + * nvidia set the high nibble of (cr57=f, cr58) to + * lvdsmanufacturerindex in this case; we don't + */ + break; + case 0x30: /* NV4x */ + case 0x40: /* G80/G90 */ + lvdsmanufacturerindex = fpstrapping; + break; + default: + NV_ERROR(dev, "LVDS table revision not currently supported\n"); + return -ENOSYS; + } + + lvdsofs = bios->fp.xlated_entry = bios->fp.lvdsmanufacturerpointer + lth.headerlen + lth.recordlen * lvdsmanufacturerindex; + switch (lth.lvds_ver) { + case 0x0a: + bios->fp.power_off_for_reset = bios->data[lvdsofs] & 1; + bios->fp.reset_after_pclk_change = bios->data[lvdsofs] & 2; + bios->fp.dual_link = bios->data[lvdsofs] & 4; + bios->fp.link_c_increment = bios->data[lvdsofs] & 8; + *if_is_24bit = bios->data[lvdsofs] & 16; + break; + case 0x30: + /* + * My money would be on there being a 24 bit interface bit in + * this table, but I have no example of a laptop bios with a + * 24 bit panel to confirm that. Hence we shout loudly if any + * bit other than bit 0 is set (I've not even seen bit 1) + */ + if (bios->data[lvdsofs] > 1) + NV_ERROR(dev, + "You have a very unusual laptop display; please report it\n"); + /* + * No sign of the "power off for reset" or "reset for panel + * on" bits, but it's safer to assume we should + */ + bios->fp.power_off_for_reset = true; + bios->fp.reset_after_pclk_change = true; + /* + * It's ok lvdsofs is wrong for nv4x edid case; dual_link is + * over-written, and BITbit1 isn't used + */ + bios->fp.dual_link = bios->data[lvdsofs] & 1; + bios->fp.BITbit1 = bios->data[lvdsofs] & 2; + bios->fp.duallink_transition_clk = ROM16(bios->data[bios->fp.lvdsmanufacturerpointer + 5]) * 10; + break; + case 0x40: + bios->fp.dual_link = bios->data[lvdsofs] & 1; + bios->fp.if_is_24bit = bios->data[lvdsofs] & 2; + bios->fp.strapless_is_24bit = bios->data[bios->fp.lvdsmanufacturerpointer + 4]; + bios->fp.duallink_transition_clk = ROM16(bios->data[bios->fp.lvdsmanufacturerpointer + 5]) * 10; + break; + } + + /* Dell Latitude D620 reports a too-high value for the dual-link + * transition freq, causing us to program the panel incorrectly. + * + * It doesn't appear the VBIOS actually uses its transition freq + * (90000kHz), instead it uses the "Number of LVDS channels" field + * out of the panel ID structure (http://www.spwg.org/). + * + * For the moment, a quirk will do :) + */ + if ((dev->pdev->device == 0x01d7) && + (dev->pdev->subsystem_vendor == 0x1028) && + (dev->pdev->subsystem_device == 0x01c2)) { + bios->fp.duallink_transition_clk = 80000; + } + + /* set dual_link flag for EDID case */ + if (pxclk && (chip_version < 0x25 || chip_version > 0x28)) + bios->fp.dual_link = (pxclk >= bios->fp.duallink_transition_clk); + + *dl = bios->fp.dual_link; + + return 0; +} + +static uint8_t * +bios_output_config_match(struct drm_device *dev, struct dcb_entry *dcbent, + uint16_t record, int record_len, int record_nr) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + uint32_t entry; + uint16_t table; + int i, v; + + for (i = 0; i < record_nr; i++, record += record_len) { + table = ROM16(bios->data[record]); + if (!table) + continue; + entry = ROM32(bios->data[table]); + + v = (entry & 0x000f0000) >> 16; + if (!(v & dcbent->or)) + continue; + + v = (entry & 0x000000f0) >> 4; + if (v != dcbent->location) + continue; + + v = (entry & 0x0000000f); + if (v != dcbent->type) + continue; + + return &bios->data[table]; + } + + return NULL; +} + +void * +nouveau_bios_dp_table(struct drm_device *dev, struct dcb_entry *dcbent, + int *length) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + uint8_t *table; + + if (!bios->display.dp_table_ptr) { + NV_ERROR(dev, "No pointer to DisplayPort table\n"); + return NULL; + } + table = &bios->data[bios->display.dp_table_ptr]; + + if (table[0] != 0x21) { + NV_ERROR(dev, "DisplayPort table version 0x%02x unknown\n", + table[0]); + return NULL; + } + + *length = table[4]; + return bios_output_config_match(dev, dcbent, + bios->display.dp_table_ptr + table[1], + table[2], table[3]); +} + +int +nouveau_bios_run_display_table(struct drm_device *dev, struct dcb_entry *dcbent, + uint32_t sub, int pxclk) +{ + /* + * The display script table is located by the BIT 'U' table. + * + * It contains an array of pointers to various tables describing + * a particular output type. The first 32-bits of the output + * tables contains similar information to a DCB entry, and is + * used to decide whether that particular table is suitable for + * the output you want to access. + * + * The "record header length" field here seems to indicate the + * offset of the first configuration entry in the output tables. + * This is 10 on most cards I've seen, but 12 has been witnessed + * on DP cards, and there's another script pointer within the + * header. + * + * offset + 0 ( 8 bits): version + * offset + 1 ( 8 bits): header length + * offset + 2 ( 8 bits): record length + * offset + 3 ( 8 bits): number of records + * offset + 4 ( 8 bits): record header length + * offset + 5 (16 bits): pointer to first output script table + */ + + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + uint8_t *table = &bios->data[bios->display.script_table_ptr]; + uint8_t *otable = NULL; + uint16_t script; + int i = 0; + + if (!bios->display.script_table_ptr) { + NV_ERROR(dev, "No pointer to output script table\n"); + return 1; + } + + /* + * Nothing useful has been in any of the pre-2.0 tables I've seen, + * so until they are, we really don't need to care. + */ + if (table[0] < 0x20) + return 1; + + if (table[0] != 0x20 && table[0] != 0x21) { + NV_ERROR(dev, "Output script table version 0x%02x unknown\n", + table[0]); + return 1; + } + + /* + * The output script tables describing a particular output type + * look as follows: + * + * offset + 0 (32 bits): output this table matches (hash of DCB) + * offset + 4 ( 8 bits): unknown + * offset + 5 ( 8 bits): number of configurations + * offset + 6 (16 bits): pointer to some script + * offset + 8 (16 bits): pointer to some script + * + * headerlen == 10 + * offset + 10 : configuration 0 + * + * headerlen == 12 + * offset + 10 : pointer to some script + * offset + 12 : configuration 0 + * + * Each config entry is as follows: + * + * offset + 0 (16 bits): unknown, assumed to be a match value + * offset + 2 (16 bits): pointer to script table (clock set?) + * offset + 4 (16 bits): pointer to script table (reset?) + * + * There doesn't appear to be a count value to say how many + * entries exist in each script table, instead, a 0 value in + * the first 16-bit word seems to indicate both the end of the + * list and the default entry. The second 16-bit word in the + * script tables is a pointer to the script to execute. + */ + + NV_DEBUG_KMS(dev, "Searching for output entry for %d %d %d\n", + dcbent->type, dcbent->location, dcbent->or); + otable = bios_output_config_match(dev, dcbent, table[1] + + bios->display.script_table_ptr, + table[2], table[3]); + if (!otable) { + NV_ERROR(dev, "Couldn't find matching output script table\n"); + return 1; + } + + if (pxclk < -2 || pxclk > 0) { + /* Try to find matching script table entry */ + for (i = 0; i < otable[5]; i++) { + if (ROM16(otable[table[4] + i*6]) == sub) + break; + } + + if (i == otable[5]) { + NV_ERROR(dev, "Table 0x%04x not found for %d/%d, " + "using first\n", + sub, dcbent->type, dcbent->or); + i = 0; + } + } + + if (pxclk == 0) { + script = ROM16(otable[6]); + if (!script) { + NV_DEBUG_KMS(dev, "output script 0 not found\n"); + return 1; + } + + NV_TRACE(dev, "0x%04X: parsing output script 0\n", script); + nouveau_bios_run_init_table(dev, script, dcbent); + } else + if (pxclk == -1) { + script = ROM16(otable[8]); + if (!script) { + NV_DEBUG_KMS(dev, "output script 1 not found\n"); + return 1; + } + + NV_TRACE(dev, "0x%04X: parsing output script 1\n", script); + nouveau_bios_run_init_table(dev, script, dcbent); + } else + if (pxclk == -2) { + if (table[4] >= 12) + script = ROM16(otable[10]); + else + script = 0; + if (!script) { + NV_DEBUG_KMS(dev, "output script 2 not found\n"); + return 1; + } + + NV_TRACE(dev, "0x%04X: parsing output script 2\n", script); + nouveau_bios_run_init_table(dev, script, dcbent); + } else + if (pxclk > 0) { + script = ROM16(otable[table[4] + i*6 + 2]); + if (script) + script = clkcmptable(bios, script, pxclk); + if (!script) { + NV_ERROR(dev, "clock script 0 not found\n"); + return 1; + } + + NV_TRACE(dev, "0x%04X: parsing clock script 0\n", script); + nouveau_bios_run_init_table(dev, script, dcbent); + } else + if (pxclk < 0) { + script = ROM16(otable[table[4] + i*6 + 4]); + if (script) + script = clkcmptable(bios, script, -pxclk); + if (!script) { + NV_DEBUG_KMS(dev, "clock script 1 not found\n"); + return 1; + } + + NV_TRACE(dev, "0x%04X: parsing clock script 1\n", script); + nouveau_bios_run_init_table(dev, script, dcbent); + } + + return 0; +} + + +int run_tmds_table(struct drm_device *dev, struct dcb_entry *dcbent, int head, int pxclk) +{ + /* + * the pxclk parameter is in kHz + * + * This runs the TMDS regs setting code found on BIT bios cards + * + * For ffs(or) == 1 use the first table, for ffs(or) == 2 and + * ffs(or) == 3, use the second. + */ + + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + int cv = bios->pub.chip_version; + uint16_t clktable = 0, scriptptr; + uint32_t sel_clk_binding, sel_clk; + + /* pre-nv17 off-chip tmds uses scripts, post nv17 doesn't */ + if (cv >= 0x17 && cv != 0x1a && cv != 0x20 && + dcbent->location != DCB_LOC_ON_CHIP) + return 0; + + switch (ffs(dcbent->or)) { + case 1: + clktable = bios->tmds.output0_script_ptr; + break; + case 2: + case 3: + clktable = bios->tmds.output1_script_ptr; + break; + } + + if (!clktable) { + NV_ERROR(dev, "Pixel clock comparison table not found\n"); + return -EINVAL; + } + + scriptptr = clkcmptable(bios, clktable, pxclk); + + if (!scriptptr) { + NV_ERROR(dev, "TMDS output init script not found\n"); + return -ENOENT; + } + + /* don't let script change pll->head binding */ + sel_clk_binding = bios_rd32(bios, NV_PRAMDAC_SEL_CLK) & 0x50000; + run_digital_op_script(dev, scriptptr, dcbent, head, pxclk >= 165000); + sel_clk = NVReadRAMDAC(dev, 0, NV_PRAMDAC_SEL_CLK) & ~0x50000; + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_SEL_CLK, sel_clk | sel_clk_binding); + + return 0; +} + +int get_pll_limits(struct drm_device *dev, uint32_t limit_match, struct pll_lims *pll_lim) +{ + /* + * PLL limits table + * + * Version 0x10: NV30, NV31 + * One byte header (version), one record of 24 bytes + * Version 0x11: NV36 - Not implemented + * Seems to have same record style as 0x10, but 3 records rather than 1 + * Version 0x20: Found on Geforce 6 cards + * Trivial 4 byte BIT header. 31 (0x1f) byte record length + * Version 0x21: Found on Geforce 7, 8 and some Geforce 6 cards + * 5 byte header, fifth byte of unknown purpose. 35 (0x23) byte record + * length in general, some (integrated) have an extra configuration byte + * Version 0x30: Found on Geforce 8, separates the register mapping + * from the limits tables. + */ + + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + int cv = bios->pub.chip_version, pllindex = 0; + uint8_t pll_lim_ver = 0, headerlen = 0, recordlen = 0, entries = 0; + uint32_t crystal_strap_mask, crystal_straps; + + if (!bios->pll_limit_tbl_ptr) { + if (cv == 0x30 || cv == 0x31 || cv == 0x35 || cv == 0x36 || + cv >= 0x40) { + NV_ERROR(dev, "Pointer to PLL limits table invalid\n"); + return -EINVAL; + } + } else + pll_lim_ver = bios->data[bios->pll_limit_tbl_ptr]; + + crystal_strap_mask = 1 << 6; + /* open coded dev->twoHeads test */ + if (cv > 0x10 && cv != 0x15 && cv != 0x1a && cv != 0x20) + crystal_strap_mask |= 1 << 22; + crystal_straps = nvReadEXTDEV(dev, NV_PEXTDEV_BOOT_0) & + crystal_strap_mask; + + switch (pll_lim_ver) { + /* + * We use version 0 to indicate a pre limit table bios (single stage + * pll) and load the hard coded limits instead. + */ + case 0: + break; + case 0x10: + case 0x11: + /* + * Strictly v0x11 has 3 entries, but the last two don't seem + * to get used. + */ + headerlen = 1; + recordlen = 0x18; + entries = 1; + pllindex = 0; + break; + case 0x20: + case 0x21: + case 0x30: + case 0x40: + headerlen = bios->data[bios->pll_limit_tbl_ptr + 1]; + recordlen = bios->data[bios->pll_limit_tbl_ptr + 2]; + entries = bios->data[bios->pll_limit_tbl_ptr + 3]; + break; + default: + NV_ERROR(dev, "PLL limits table revision 0x%X not currently " + "supported\n", pll_lim_ver); + return -ENOSYS; + } + + /* initialize all members to zero */ + memset(pll_lim, 0, sizeof(struct pll_lims)); + + if (pll_lim_ver == 0x10 || pll_lim_ver == 0x11) { + uint8_t *pll_rec = &bios->data[bios->pll_limit_tbl_ptr + headerlen + recordlen * pllindex]; + + pll_lim->vco1.minfreq = ROM32(pll_rec[0]); + pll_lim->vco1.maxfreq = ROM32(pll_rec[4]); + pll_lim->vco2.minfreq = ROM32(pll_rec[8]); + pll_lim->vco2.maxfreq = ROM32(pll_rec[12]); + pll_lim->vco1.min_inputfreq = ROM32(pll_rec[16]); + pll_lim->vco2.min_inputfreq = ROM32(pll_rec[20]); + pll_lim->vco1.max_inputfreq = pll_lim->vco2.max_inputfreq = INT_MAX; + + /* these values taken from nv30/31/36 */ + pll_lim->vco1.min_n = 0x1; + if (cv == 0x36) + pll_lim->vco1.min_n = 0x5; + pll_lim->vco1.max_n = 0xff; + pll_lim->vco1.min_m = 0x1; + pll_lim->vco1.max_m = 0xd; + pll_lim->vco2.min_n = 0x4; + /* + * On nv30, 31, 36 (i.e. all cards with two stage PLLs with this + * table version (apart from nv35)), N2 is compared to + * maxN2 (0x46) and 10 * maxM2 (0x4), so set maxN2 to 0x28 and + * save a comparison + */ + pll_lim->vco2.max_n = 0x28; + if (cv == 0x30 || cv == 0x35) + /* only 5 bits available for N2 on nv30/35 */ + pll_lim->vco2.max_n = 0x1f; + pll_lim->vco2.min_m = 0x1; + pll_lim->vco2.max_m = 0x4; + pll_lim->max_log2p = 0x7; + pll_lim->max_usable_log2p = 0x6; + } else if (pll_lim_ver == 0x20 || pll_lim_ver == 0x21) { + uint16_t plloffs = bios->pll_limit_tbl_ptr + headerlen; + uint32_t reg = 0; /* default match */ + uint8_t *pll_rec; + int i; + + /* + * First entry is default match, if nothing better. warn if + * reg field nonzero + */ + if (ROM32(bios->data[plloffs])) + NV_WARN(dev, "Default PLL limit entry has non-zero " + "register field\n"); + + if (limit_match > MAX_PLL_TYPES) + /* we've been passed a reg as the match */ + reg = limit_match; + else /* limit match is a pll type */ + for (i = 1; i < entries && !reg; i++) { + uint32_t cmpreg = ROM32(bios->data[plloffs + recordlen * i]); + + if (limit_match == NVPLL && + (cmpreg == NV_PRAMDAC_NVPLL_COEFF || cmpreg == 0x4000)) + reg = cmpreg; + if (limit_match == MPLL && + (cmpreg == NV_PRAMDAC_MPLL_COEFF || cmpreg == 0x4020)) + reg = cmpreg; + if (limit_match == VPLL1 && + (cmpreg == NV_PRAMDAC_VPLL_COEFF || cmpreg == 0x4010)) + reg = cmpreg; + if (limit_match == VPLL2 && + (cmpreg == NV_RAMDAC_VPLL2 || cmpreg == 0x4018)) + reg = cmpreg; + } + + for (i = 1; i < entries; i++) + if (ROM32(bios->data[plloffs + recordlen * i]) == reg) { + pllindex = i; + break; + } + + pll_rec = &bios->data[plloffs + recordlen * pllindex]; + + BIOSLOG(bios, "Loading PLL limits for reg 0x%08x\n", + pllindex ? reg : 0); + + /* + * Frequencies are stored in tables in MHz, kHz are more + * useful, so we convert. + */ + + /* What output frequencies can each VCO generate? */ + pll_lim->vco1.minfreq = ROM16(pll_rec[4]) * 1000; + pll_lim->vco1.maxfreq = ROM16(pll_rec[6]) * 1000; + pll_lim->vco2.minfreq = ROM16(pll_rec[8]) * 1000; + pll_lim->vco2.maxfreq = ROM16(pll_rec[10]) * 1000; + + /* What input frequencies they accept (past the m-divider)? */ + pll_lim->vco1.min_inputfreq = ROM16(pll_rec[12]) * 1000; + pll_lim->vco2.min_inputfreq = ROM16(pll_rec[14]) * 1000; + pll_lim->vco1.max_inputfreq = ROM16(pll_rec[16]) * 1000; + pll_lim->vco2.max_inputfreq = ROM16(pll_rec[18]) * 1000; + + /* What values are accepted as multiplier and divider? */ + pll_lim->vco1.min_n = pll_rec[20]; + pll_lim->vco1.max_n = pll_rec[21]; + pll_lim->vco1.min_m = pll_rec[22]; + pll_lim->vco1.max_m = pll_rec[23]; + pll_lim->vco2.min_n = pll_rec[24]; + pll_lim->vco2.max_n = pll_rec[25]; + pll_lim->vco2.min_m = pll_rec[26]; + pll_lim->vco2.max_m = pll_rec[27]; + + pll_lim->max_usable_log2p = pll_lim->max_log2p = pll_rec[29]; + if (pll_lim->max_log2p > 0x7) + /* pll decoding in nv_hw.c assumes never > 7 */ + NV_WARN(dev, "Max log2 P value greater than 7 (%d)\n", + pll_lim->max_log2p); + if (cv < 0x60) + pll_lim->max_usable_log2p = 0x6; + pll_lim->log2p_bias = pll_rec[30]; + + if (recordlen > 0x22) + pll_lim->refclk = ROM32(pll_rec[31]); + + if (recordlen > 0x23 && pll_rec[35]) + NV_WARN(dev, + "Bits set in PLL configuration byte (%x)\n", + pll_rec[35]); + + /* C51 special not seen elsewhere */ + if (cv == 0x51 && !pll_lim->refclk) { + uint32_t sel_clk = bios_rd32(bios, NV_PRAMDAC_SEL_CLK); + + if (((limit_match == NV_PRAMDAC_VPLL_COEFF || limit_match == VPLL1) && sel_clk & 0x20) || + ((limit_match == NV_RAMDAC_VPLL2 || limit_match == VPLL2) && sel_clk & 0x80)) { + if (bios_idxprt_rd(bios, NV_CIO_CRX__COLOR, NV_CIO_CRE_CHIP_ID_INDEX) < 0xa3) + pll_lim->refclk = 200000; + else + pll_lim->refclk = 25000; + } + } + } else if (pll_lim_ver == 0x30) { /* ver 0x30 */ + uint8_t *entry = &bios->data[bios->pll_limit_tbl_ptr + headerlen]; + uint8_t *record = NULL; + int i; + + BIOSLOG(bios, "Loading PLL limits for register 0x%08x\n", + limit_match); + + for (i = 0; i < entries; i++, entry += recordlen) { + if (ROM32(entry[3]) == limit_match) { + record = &bios->data[ROM16(entry[1])]; + break; + } + } + + if (!record) { + NV_ERROR(dev, "Register 0x%08x not found in PLL " + "limits table", limit_match); + return -ENOENT; + } + + pll_lim->vco1.minfreq = ROM16(record[0]) * 1000; + pll_lim->vco1.maxfreq = ROM16(record[2]) * 1000; + pll_lim->vco2.minfreq = ROM16(record[4]) * 1000; + pll_lim->vco2.maxfreq = ROM16(record[6]) * 1000; + pll_lim->vco1.min_inputfreq = ROM16(record[8]) * 1000; + pll_lim->vco2.min_inputfreq = ROM16(record[10]) * 1000; + pll_lim->vco1.max_inputfreq = ROM16(record[12]) * 1000; + pll_lim->vco2.max_inputfreq = ROM16(record[14]) * 1000; + pll_lim->vco1.min_n = record[16]; + pll_lim->vco1.max_n = record[17]; + pll_lim->vco1.min_m = record[18]; + pll_lim->vco1.max_m = record[19]; + pll_lim->vco2.min_n = record[20]; + pll_lim->vco2.max_n = record[21]; + pll_lim->vco2.min_m = record[22]; + pll_lim->vco2.max_m = record[23]; + pll_lim->max_usable_log2p = pll_lim->max_log2p = record[25]; + pll_lim->log2p_bias = record[27]; + pll_lim->refclk = ROM32(record[28]); + } else if (pll_lim_ver) { /* ver 0x40 */ + uint8_t *entry = &bios->data[bios->pll_limit_tbl_ptr + headerlen]; + uint8_t *record = NULL; + int i; + + BIOSLOG(bios, "Loading PLL limits for register 0x%08x\n", + limit_match); + + for (i = 0; i < entries; i++, entry += recordlen) { + if (ROM32(entry[3]) == limit_match) { + record = &bios->data[ROM16(entry[1])]; + break; + } + } + + if (!record) { + NV_ERROR(dev, "Register 0x%08x not found in PLL " + "limits table", limit_match); + return -ENOENT; + } + + pll_lim->vco1.minfreq = ROM16(record[0]) * 1000; + pll_lim->vco1.maxfreq = ROM16(record[2]) * 1000; + pll_lim->vco1.min_inputfreq = ROM16(record[4]) * 1000; + pll_lim->vco1.max_inputfreq = ROM16(record[6]) * 1000; + pll_lim->vco1.min_m = record[8]; + pll_lim->vco1.max_m = record[9]; + pll_lim->vco1.min_n = record[10]; + pll_lim->vco1.max_n = record[11]; + pll_lim->min_p = record[12]; + pll_lim->max_p = record[13]; + /* where did this go to?? */ + if (limit_match == 0x00614100 || limit_match == 0x00614900) + pll_lim->refclk = 27000; + else + pll_lim->refclk = 100000; + } + + /* + * By now any valid limit table ought to have set a max frequency for + * vco1, so if it's zero it's either a pre limit table bios, or one + * with an empty limit table (seen on nv18) + */ + if (!pll_lim->vco1.maxfreq) { + pll_lim->vco1.minfreq = bios->fminvco; + pll_lim->vco1.maxfreq = bios->fmaxvco; + pll_lim->vco1.min_inputfreq = 0; + pll_lim->vco1.max_inputfreq = INT_MAX; + pll_lim->vco1.min_n = 0x1; + pll_lim->vco1.max_n = 0xff; + pll_lim->vco1.min_m = 0x1; + if (crystal_straps == 0) { + /* nv05 does this, nv11 doesn't, nv10 unknown */ + if (cv < 0x11) + pll_lim->vco1.min_m = 0x7; + pll_lim->vco1.max_m = 0xd; + } else { + if (cv < 0x11) + pll_lim->vco1.min_m = 0x8; + pll_lim->vco1.max_m = 0xe; + } + if (cv < 0x17 || cv == 0x1a || cv == 0x20) + pll_lim->max_log2p = 4; + else + pll_lim->max_log2p = 5; + pll_lim->max_usable_log2p = pll_lim->max_log2p; + } + + if (!pll_lim->refclk) + switch (crystal_straps) { + case 0: + pll_lim->refclk = 13500; + break; + case (1 << 6): + pll_lim->refclk = 14318; + break; + case (1 << 22): + pll_lim->refclk = 27000; + break; + case (1 << 22 | 1 << 6): + pll_lim->refclk = 25000; + break; + } + +#if 0 /* for easy debugging */ + ErrorF("pll.vco1.minfreq: %d\n", pll_lim->vco1.minfreq); + ErrorF("pll.vco1.maxfreq: %d\n", pll_lim->vco1.maxfreq); + ErrorF("pll.vco2.minfreq: %d\n", pll_lim->vco2.minfreq); + ErrorF("pll.vco2.maxfreq: %d\n", pll_lim->vco2.maxfreq); + + ErrorF("pll.vco1.min_inputfreq: %d\n", pll_lim->vco1.min_inputfreq); + ErrorF("pll.vco1.max_inputfreq: %d\n", pll_lim->vco1.max_inputfreq); + ErrorF("pll.vco2.min_inputfreq: %d\n", pll_lim->vco2.min_inputfreq); + ErrorF("pll.vco2.max_inputfreq: %d\n", pll_lim->vco2.max_inputfreq); + + ErrorF("pll.vco1.min_n: %d\n", pll_lim->vco1.min_n); + ErrorF("pll.vco1.max_n: %d\n", pll_lim->vco1.max_n); + ErrorF("pll.vco1.min_m: %d\n", pll_lim->vco1.min_m); + ErrorF("pll.vco1.max_m: %d\n", pll_lim->vco1.max_m); + ErrorF("pll.vco2.min_n: %d\n", pll_lim->vco2.min_n); + ErrorF("pll.vco2.max_n: %d\n", pll_lim->vco2.max_n); + ErrorF("pll.vco2.min_m: %d\n", pll_lim->vco2.min_m); + ErrorF("pll.vco2.max_m: %d\n", pll_lim->vco2.max_m); + + ErrorF("pll.max_log2p: %d\n", pll_lim->max_log2p); + ErrorF("pll.log2p_bias: %d\n", pll_lim->log2p_bias); + + ErrorF("pll.refclk: %d\n", pll_lim->refclk); +#endif + + return 0; +} + +static void parse_bios_version(struct drm_device *dev, struct nvbios *bios, uint16_t offset) +{ + /* + * offset + 0 (8 bits): Micro version + * offset + 1 (8 bits): Minor version + * offset + 2 (8 bits): Chip version + * offset + 3 (8 bits): Major version + */ + + bios->major_version = bios->data[offset + 3]; + bios->pub.chip_version = bios->data[offset + 2]; + NV_TRACE(dev, "Bios version %02x.%02x.%02x.%02x\n", + bios->data[offset + 3], bios->data[offset + 2], + bios->data[offset + 1], bios->data[offset]); +} + +static void parse_script_table_pointers(struct nvbios *bios, uint16_t offset) +{ + /* + * Parses the init table segment for pointers used in script execution. + * + * offset + 0 (16 bits): init script tables pointer + * offset + 2 (16 bits): macro index table pointer + * offset + 4 (16 bits): macro table pointer + * offset + 6 (16 bits): condition table pointer + * offset + 8 (16 bits): io condition table pointer + * offset + 10 (16 bits): io flag condition table pointer + * offset + 12 (16 bits): init function table pointer + */ + + bios->init_script_tbls_ptr = ROM16(bios->data[offset]); + bios->macro_index_tbl_ptr = ROM16(bios->data[offset + 2]); + bios->macro_tbl_ptr = ROM16(bios->data[offset + 4]); + bios->condition_tbl_ptr = ROM16(bios->data[offset + 6]); + bios->io_condition_tbl_ptr = ROM16(bios->data[offset + 8]); + bios->io_flag_condition_tbl_ptr = ROM16(bios->data[offset + 10]); + bios->init_function_tbl_ptr = ROM16(bios->data[offset + 12]); +} + +static int parse_bit_A_tbl_entry(struct drm_device *dev, struct nvbios *bios, struct bit_entry *bitentry) +{ + /* + * Parses the load detect values for g80 cards. + * + * offset + 0 (16 bits): loadval table pointer + */ + + uint16_t load_table_ptr; + uint8_t version, headerlen, entrylen, num_entries; + + if (bitentry->length != 3) { + NV_ERROR(dev, "Do not understand BIT A table\n"); + return -EINVAL; + } + + load_table_ptr = ROM16(bios->data[bitentry->offset]); + + if (load_table_ptr == 0x0) { + NV_ERROR(dev, "Pointer to BIT loadval table invalid\n"); + return -EINVAL; + } + + version = bios->data[load_table_ptr]; + + if (version != 0x10) { + NV_ERROR(dev, "BIT loadval table version %d.%d not supported\n", + version >> 4, version & 0xF); + return -ENOSYS; + } + + headerlen = bios->data[load_table_ptr + 1]; + entrylen = bios->data[load_table_ptr + 2]; + num_entries = bios->data[load_table_ptr + 3]; + + if (headerlen != 4 || entrylen != 4 || num_entries != 2) { + NV_ERROR(dev, "Do not understand BIT loadval table\n"); + return -EINVAL; + } + + /* First entry is normal dac, 2nd tv-out perhaps? */ + bios->pub.dactestval = ROM32(bios->data[load_table_ptr + headerlen]) & 0x3ff; + + return 0; +} + +static int parse_bit_C_tbl_entry(struct drm_device *dev, struct nvbios *bios, struct bit_entry *bitentry) +{ + /* + * offset + 8 (16 bits): PLL limits table pointer + * + * There's more in here, but that's unknown. + */ + + if (bitentry->length < 10) { + NV_ERROR(dev, "Do not understand BIT C table\n"); + return -EINVAL; + } + + bios->pll_limit_tbl_ptr = ROM16(bios->data[bitentry->offset + 8]); + + return 0; +} + +static int parse_bit_display_tbl_entry(struct drm_device *dev, struct nvbios *bios, struct bit_entry *bitentry) +{ + /* + * Parses the flat panel table segment that the bit entry points to. + * Starting at bitentry->offset: + * + * offset + 0 (16 bits): ??? table pointer - seems to have 18 byte + * records beginning with a freq. + * offset + 2 (16 bits): mode table pointer + */ + + if (bitentry->length != 4) { + NV_ERROR(dev, "Do not understand BIT display table\n"); + return -EINVAL; + } + + bios->fp.fptablepointer = ROM16(bios->data[bitentry->offset + 2]); + + return 0; +} + +static int parse_bit_init_tbl_entry(struct drm_device *dev, struct nvbios *bios, struct bit_entry *bitentry) +{ + /* + * Parses the init table segment that the bit entry points to. + * + * See parse_script_table_pointers for layout + */ + + if (bitentry->length < 14) { + NV_ERROR(dev, "Do not understand init table\n"); + return -EINVAL; + } + + parse_script_table_pointers(bios, bitentry->offset); + + if (bitentry->length >= 16) + bios->some_script_ptr = ROM16(bios->data[bitentry->offset + 14]); + if (bitentry->length >= 18) + bios->init96_tbl_ptr = ROM16(bios->data[bitentry->offset + 16]); + + return 0; +} + +static int parse_bit_i_tbl_entry(struct drm_device *dev, struct nvbios *bios, struct bit_entry *bitentry) +{ + /* + * BIT 'i' (info?) table + * + * offset + 0 (32 bits): BIOS version dword (as in B table) + * offset + 5 (8 bits): BIOS feature byte (same as for BMP?) + * offset + 13 (16 bits): pointer to table containing DAC load + * detection comparison values + * + * There's other things in the table, purpose unknown + */ + + uint16_t daccmpoffset; + uint8_t dacver, dacheaderlen; + + if (bitentry->length < 6) { + NV_ERROR(dev, "BIT i table too short for needed information\n"); + return -EINVAL; + } + + parse_bios_version(dev, bios, bitentry->offset); + + /* + * bit 4 seems to indicate a mobile bios (doesn't suffer from BMP's + * Quadro identity crisis), other bits possibly as for BMP feature byte + */ + bios->feature_byte = bios->data[bitentry->offset + 5]; + bios->is_mobile = bios->feature_byte & FEATURE_MOBILE; + + if (bitentry->length < 15) { + NV_WARN(dev, "BIT i table not long enough for DAC load " + "detection comparison table\n"); + return -EINVAL; + } + + daccmpoffset = ROM16(bios->data[bitentry->offset + 13]); + + /* doesn't exist on g80 */ + if (!daccmpoffset) + return 0; + + /* + * The first value in the table, following the header, is the + * comparison value, the second entry is a comparison value for + * TV load detection. + */ + + dacver = bios->data[daccmpoffset]; + dacheaderlen = bios->data[daccmpoffset + 1]; + + if (dacver != 0x00 && dacver != 0x10) { + NV_WARN(dev, "DAC load detection comparison table version " + "%d.%d not known\n", dacver >> 4, dacver & 0xf); + return -ENOSYS; + } + + bios->pub.dactestval = ROM32(bios->data[daccmpoffset + dacheaderlen]); + bios->pub.tvdactestval = ROM32(bios->data[daccmpoffset + dacheaderlen + 4]); + + return 0; +} + +static int parse_bit_lvds_tbl_entry(struct drm_device *dev, struct nvbios *bios, struct bit_entry *bitentry) +{ + /* + * Parses the LVDS table segment that the bit entry points to. + * Starting at bitentry->offset: + * + * offset + 0 (16 bits): LVDS strap xlate table pointer + */ + + if (bitentry->length != 2) { + NV_ERROR(dev, "Do not understand BIT LVDS table\n"); + return -EINVAL; + } + + /* + * No idea if it's still called the LVDS manufacturer table, but + * the concept's close enough. + */ + bios->fp.lvdsmanufacturerpointer = ROM16(bios->data[bitentry->offset]); + + return 0; +} + +static int +parse_bit_M_tbl_entry(struct drm_device *dev, struct nvbios *bios, + struct bit_entry *bitentry) +{ + /* + * offset + 2 (8 bits): number of options in an + * INIT_RAM_RESTRICT_ZM_REG_GROUP opcode option set + * offset + 3 (16 bits): pointer to strap xlate table for RAM + * restrict option selection + * + * There's a bunch of bits in this table other than the RAM restrict + * stuff that we don't use - their use currently unknown + */ + + /* + * Older bios versions don't have a sufficiently long table for + * what we want + */ + if (bitentry->length < 0x5) + return 0; + + if (bitentry->id[1] < 2) { + bios->ram_restrict_group_count = bios->data[bitentry->offset + 2]; + bios->ram_restrict_tbl_ptr = ROM16(bios->data[bitentry->offset + 3]); + } else { + bios->ram_restrict_group_count = bios->data[bitentry->offset + 0]; + bios->ram_restrict_tbl_ptr = ROM16(bios->data[bitentry->offset + 1]); + } + + return 0; +} + +static int parse_bit_tmds_tbl_entry(struct drm_device *dev, struct nvbios *bios, struct bit_entry *bitentry) +{ + /* + * Parses the pointer to the TMDS table + * + * Starting at bitentry->offset: + * + * offset + 0 (16 bits): TMDS table pointer + * + * The TMDS table is typically found just before the DCB table, with a + * characteristic signature of 0x11,0x13 (1.1 being version, 0x13 being + * length?) + * + * At offset +7 is a pointer to a script, which I don't know how to + * run yet. + * At offset +9 is a pointer to another script, likewise + * Offset +11 has a pointer to a table where the first word is a pxclk + * frequency and the second word a pointer to a script, which should be + * run if the comparison pxclk frequency is less than the pxclk desired. + * This repeats for decreasing comparison frequencies + * Offset +13 has a pointer to a similar table + * The selection of table (and possibly +7/+9 script) is dictated by + * "or" from the DCB. + */ + + uint16_t tmdstableptr, script1, script2; + + if (bitentry->length != 2) { + NV_ERROR(dev, "Do not understand BIT TMDS table\n"); + return -EINVAL; + } + + tmdstableptr = ROM16(bios->data[bitentry->offset]); + + if (tmdstableptr == 0x0) { + NV_ERROR(dev, "Pointer to TMDS table invalid\n"); + return -EINVAL; + } + + /* nv50+ has v2.0, but we don't parse it atm */ + if (bios->data[tmdstableptr] != 0x11) { + NV_WARN(dev, + "TMDS table revision %d.%d not currently supported\n", + bios->data[tmdstableptr] >> 4, bios->data[tmdstableptr] & 0xf); + return -ENOSYS; + } + + /* + * These two scripts are odd: they don't seem to get run even when + * they are not stubbed. + */ + script1 = ROM16(bios->data[tmdstableptr + 7]); + script2 = ROM16(bios->data[tmdstableptr + 9]); + if (bios->data[script1] != 'q' || bios->data[script2] != 'q') + NV_WARN(dev, "TMDS table script pointers not stubbed\n"); + + bios->tmds.output0_script_ptr = ROM16(bios->data[tmdstableptr + 11]); + bios->tmds.output1_script_ptr = ROM16(bios->data[tmdstableptr + 13]); + + return 0; +} + +static int +parse_bit_U_tbl_entry(struct drm_device *dev, struct nvbios *bios, + struct bit_entry *bitentry) +{ + /* + * Parses the pointer to the G80 output script tables + * + * Starting at bitentry->offset: + * + * offset + 0 (16 bits): output script table pointer + */ + + uint16_t outputscripttableptr; + + if (bitentry->length != 3) { + NV_ERROR(dev, "Do not understand BIT U table\n"); + return -EINVAL; + } + + outputscripttableptr = ROM16(bios->data[bitentry->offset]); + bios->display.script_table_ptr = outputscripttableptr; + return 0; +} + +static int +parse_bit_displayport_tbl_entry(struct drm_device *dev, struct nvbios *bios, + struct bit_entry *bitentry) +{ + bios->display.dp_table_ptr = ROM16(bios->data[bitentry->offset]); + return 0; +} + +struct bit_table { + const char id; + int (* const parse_fn)(struct drm_device *, struct nvbios *, struct bit_entry *); +}; + +#define BIT_TABLE(id, funcid) ((struct bit_table){ id, parse_bit_##funcid##_tbl_entry }) + +static int +parse_bit_table(struct nvbios *bios, const uint16_t bitoffset, + struct bit_table *table) +{ + struct drm_device *dev = bios->dev; + uint8_t maxentries = bios->data[bitoffset + 4]; + int i, offset; + struct bit_entry bitentry; + + for (i = 0, offset = bitoffset + 6; i < maxentries; i++, offset += 6) { + bitentry.id[0] = bios->data[offset]; + + if (bitentry.id[0] != table->id) + continue; + + bitentry.id[1] = bios->data[offset + 1]; + bitentry.length = ROM16(bios->data[offset + 2]); + bitentry.offset = ROM16(bios->data[offset + 4]); + + return table->parse_fn(dev, bios, &bitentry); + } + + NV_INFO(dev, "BIT table '%c' not found\n", table->id); + return -ENOSYS; +} + +static int +parse_bit_structure(struct nvbios *bios, const uint16_t bitoffset) +{ + int ret; + + /* + * The only restriction on parsing order currently is having 'i' first + * for use of bios->*_version or bios->feature_byte while parsing; + * functions shouldn't be actually *doing* anything apart from pulling + * data from the image into the bios struct, thus no interdependencies + */ + ret = parse_bit_table(bios, bitoffset, &BIT_TABLE('i', i)); + if (ret) /* info? */ + return ret; + if (bios->major_version >= 0x60) /* g80+ */ + parse_bit_table(bios, bitoffset, &BIT_TABLE('A', A)); + ret = parse_bit_table(bios, bitoffset, &BIT_TABLE('C', C)); + if (ret) + return ret; + parse_bit_table(bios, bitoffset, &BIT_TABLE('D', display)); + ret = parse_bit_table(bios, bitoffset, &BIT_TABLE('I', init)); + if (ret) + return ret; + parse_bit_table(bios, bitoffset, &BIT_TABLE('M', M)); /* memory? */ + parse_bit_table(bios, bitoffset, &BIT_TABLE('L', lvds)); + parse_bit_table(bios, bitoffset, &BIT_TABLE('T', tmds)); + parse_bit_table(bios, bitoffset, &BIT_TABLE('U', U)); + parse_bit_table(bios, bitoffset, &BIT_TABLE('d', displayport)); + + return 0; +} + +static int parse_bmp_structure(struct drm_device *dev, struct nvbios *bios, unsigned int offset) +{ + /* + * Parses the BMP structure for useful things, but does not act on them + * + * offset + 5: BMP major version + * offset + 6: BMP minor version + * offset + 9: BMP feature byte + * offset + 10: BCD encoded BIOS version + * + * offset + 18: init script table pointer (for bios versions < 5.10h) + * offset + 20: extra init script table pointer (for bios + * versions < 5.10h) + * + * offset + 24: memory init table pointer (used on early bios versions) + * offset + 26: SDR memory sequencing setup data table + * offset + 28: DDR memory sequencing setup data table + * + * offset + 54: index of I2C CRTC pair to use for CRT output + * offset + 55: index of I2C CRTC pair to use for TV output + * offset + 56: index of I2C CRTC pair to use for flat panel output + * offset + 58: write CRTC index for I2C pair 0 + * offset + 59: read CRTC index for I2C pair 0 + * offset + 60: write CRTC index for I2C pair 1 + * offset + 61: read CRTC index for I2C pair 1 + * + * offset + 67: maximum internal PLL frequency (single stage PLL) + * offset + 71: minimum internal PLL frequency (single stage PLL) + * + * offset + 75: script table pointers, as described in + * parse_script_table_pointers + * + * offset + 89: TMDS single link output A table pointer + * offset + 91: TMDS single link output B table pointer + * offset + 95: LVDS single link output A table pointer + * offset + 105: flat panel timings table pointer + * offset + 107: flat panel strapping translation table pointer + * offset + 117: LVDS manufacturer panel config table pointer + * offset + 119: LVDS manufacturer strapping translation table pointer + * + * offset + 142: PLL limits table pointer + * + * offset + 156: minimum pixel clock for LVDS dual link + */ + + uint8_t *bmp = &bios->data[offset], bmp_version_major, bmp_version_minor; + uint16_t bmplength; + uint16_t legacy_scripts_offset, legacy_i2c_offset; + + /* load needed defaults in case we can't parse this info */ + bios->bdcb.dcb.i2c[0].write = NV_CIO_CRE_DDC_WR__INDEX; + bios->bdcb.dcb.i2c[0].read = NV_CIO_CRE_DDC_STATUS__INDEX; + bios->bdcb.dcb.i2c[1].write = NV_CIO_CRE_DDC0_WR__INDEX; + bios->bdcb.dcb.i2c[1].read = NV_CIO_CRE_DDC0_STATUS__INDEX; + bios->pub.digital_min_front_porch = 0x4b; + bios->fmaxvco = 256000; + bios->fminvco = 128000; + bios->fp.duallink_transition_clk = 90000; + + bmp_version_major = bmp[5]; + bmp_version_minor = bmp[6]; + + NV_TRACE(dev, "BMP version %d.%d\n", + bmp_version_major, bmp_version_minor); + + /* + * Make sure that 0x36 is blank and can't be mistaken for a DCB + * pointer on early versions + */ + if (bmp_version_major < 5) + *(uint16_t *)&bios->data[0x36] = 0; + + /* + * Seems that the minor version was 1 for all major versions prior + * to 5. Version 6 could theoretically exist, but I suspect BIT + * happened instead. + */ + if ((bmp_version_major < 5 && bmp_version_minor != 1) || bmp_version_major > 5) { + NV_ERROR(dev, "You have an unsupported BMP version. " + "Please send in your bios\n"); + return -ENOSYS; + } + + if (bmp_version_major == 0) + /* nothing that's currently useful in this version */ + return 0; + else if (bmp_version_major == 1) + bmplength = 44; /* exact for 1.01 */ + else if (bmp_version_major == 2) + bmplength = 48; /* exact for 2.01 */ + else if (bmp_version_major == 3) + bmplength = 54; + /* guessed - mem init tables added in this version */ + else if (bmp_version_major == 4 || bmp_version_minor < 0x1) + /* don't know if 5.0 exists... */ + bmplength = 62; + /* guessed - BMP I2C indices added in version 4*/ + else if (bmp_version_minor < 0x6) + bmplength = 67; /* exact for 5.01 */ + else if (bmp_version_minor < 0x10) + bmplength = 75; /* exact for 5.06 */ + else if (bmp_version_minor == 0x10) + bmplength = 89; /* exact for 5.10h */ + else if (bmp_version_minor < 0x14) + bmplength = 118; /* exact for 5.11h */ + else if (bmp_version_minor < 0x24) + /* + * Not sure of version where pll limits came in; + * certainly exist by 0x24 though. + */ + /* length not exact: this is long enough to get lvds members */ + bmplength = 123; + else if (bmp_version_minor < 0x27) + /* + * Length not exact: this is long enough to get pll limit + * member + */ + bmplength = 144; + else + /* + * Length not exact: this is long enough to get dual link + * transition clock. + */ + bmplength = 158; + + /* checksum */ + if (nv_cksum(bmp, 8)) { + NV_ERROR(dev, "Bad BMP checksum\n"); + return -EINVAL; + } + + /* + * Bit 4 seems to indicate either a mobile bios or a quadro card -- + * mobile behaviour consistent (nv11+), quadro only seen nv18gl-nv36gl + * (not nv10gl), bit 5 that the flat panel tables are present, and + * bit 6 a tv bios. + */ + bios->feature_byte = bmp[9]; + + parse_bios_version(dev, bios, offset + 10); + + if (bmp_version_major < 5 || bmp_version_minor < 0x10) + bios->old_style_init = true; + legacy_scripts_offset = 18; + if (bmp_version_major < 2) + legacy_scripts_offset -= 4; + bios->init_script_tbls_ptr = ROM16(bmp[legacy_scripts_offset]); + bios->extra_init_script_tbl_ptr = ROM16(bmp[legacy_scripts_offset + 2]); + + if (bmp_version_major > 2) { /* appears in BMP 3 */ + bios->legacy.mem_init_tbl_ptr = ROM16(bmp[24]); + bios->legacy.sdr_seq_tbl_ptr = ROM16(bmp[26]); + bios->legacy.ddr_seq_tbl_ptr = ROM16(bmp[28]); + } + + legacy_i2c_offset = 0x48; /* BMP version 2 & 3 */ + if (bmplength > 61) + legacy_i2c_offset = offset + 54; + bios->legacy.i2c_indices.crt = bios->data[legacy_i2c_offset]; + bios->legacy.i2c_indices.tv = bios->data[legacy_i2c_offset + 1]; + bios->legacy.i2c_indices.panel = bios->data[legacy_i2c_offset + 2]; + bios->bdcb.dcb.i2c[0].write = bios->data[legacy_i2c_offset + 4]; + bios->bdcb.dcb.i2c[0].read = bios->data[legacy_i2c_offset + 5]; + bios->bdcb.dcb.i2c[1].write = bios->data[legacy_i2c_offset + 6]; + bios->bdcb.dcb.i2c[1].read = bios->data[legacy_i2c_offset + 7]; + + if (bmplength > 74) { + bios->fmaxvco = ROM32(bmp[67]); + bios->fminvco = ROM32(bmp[71]); + } + if (bmplength > 88) + parse_script_table_pointers(bios, offset + 75); + if (bmplength > 94) { + bios->tmds.output0_script_ptr = ROM16(bmp[89]); + bios->tmds.output1_script_ptr = ROM16(bmp[91]); + /* + * Never observed in use with lvds scripts, but is reused for + * 18/24 bit panel interface default for EDID equipped panels + * (if_is_24bit not set directly to avoid any oscillation). + */ + bios->legacy.lvds_single_a_script_ptr = ROM16(bmp[95]); + } + if (bmplength > 108) { + bios->fp.fptablepointer = ROM16(bmp[105]); + bios->fp.fpxlatetableptr = ROM16(bmp[107]); + bios->fp.xlatwidth = 1; + } + if (bmplength > 120) { + bios->fp.lvdsmanufacturerpointer = ROM16(bmp[117]); + bios->fp.fpxlatemanufacturertableptr = ROM16(bmp[119]); + } + if (bmplength > 143) + bios->pll_limit_tbl_ptr = ROM16(bmp[142]); + + if (bmplength > 157) + bios->fp.duallink_transition_clk = ROM16(bmp[156]) * 10; + + return 0; +} + +static uint16_t findstr(uint8_t *data, int n, const uint8_t *str, int len) +{ + int i, j; + + for (i = 0; i <= (n - len); i++) { + for (j = 0; j < len; j++) + if (data[i + j] != str[j]) + break; + if (j == len) + return i; + } + + return 0; +} + +static int +read_dcb_i2c_entry(struct drm_device *dev, int dcb_version, uint8_t *i2ctable, int index, struct dcb_i2c_entry *i2c) +{ + uint8_t dcb_i2c_ver = dcb_version, headerlen = 0, entry_len = 4; + int i2c_entries = DCB_MAX_NUM_I2C_ENTRIES; + int recordoffset = 0, rdofs = 1, wrofs = 0; + uint8_t port_type = 0; + + if (!i2ctable) + return -EINVAL; + + if (dcb_version >= 0x30) { + if (i2ctable[0] != dcb_version) /* necessary? */ + NV_WARN(dev, + "DCB I2C table version mismatch (%02X vs %02X)\n", + i2ctable[0], dcb_version); + dcb_i2c_ver = i2ctable[0]; + headerlen = i2ctable[1]; + if (i2ctable[2] <= DCB_MAX_NUM_I2C_ENTRIES) + i2c_entries = i2ctable[2]; + else + NV_WARN(dev, + "DCB I2C table has more entries than indexable " + "(%d entries, max index 15)\n", i2ctable[2]); + entry_len = i2ctable[3]; + /* [4] is i2c_default_indices, read in parse_dcb_table() */ + } + /* + * It's your own fault if you call this function on a DCB 1.1 BIOS -- + * the test below is for DCB 1.2 + */ + if (dcb_version < 0x14) { + recordoffset = 2; + rdofs = 0; + wrofs = 1; + } + + if (index == 0xf) + return 0; + if (index > i2c_entries) { + NV_ERROR(dev, "DCB I2C index too big (%d > %d)\n", + index, i2ctable[2]); + return -ENOENT; + } + if (i2ctable[headerlen + entry_len * index + 3] == 0xff) { + NV_ERROR(dev, "DCB I2C entry invalid\n"); + return -EINVAL; + } + + if (dcb_i2c_ver >= 0x30) { + port_type = i2ctable[headerlen + recordoffset + 3 + entry_len * index]; + + /* + * Fixup for chips using same address offset for read and + * write. + */ + if (port_type == 4) /* seen on C51 */ + rdofs = wrofs = 1; + if (port_type >= 5) /* G80+ */ + rdofs = wrofs = 0; + } + + if (dcb_i2c_ver >= 0x40 && port_type != 5 && port_type != 6) + NV_WARN(dev, "DCB I2C table has port type %d\n", port_type); + + i2c->port_type = port_type; + i2c->read = i2ctable[headerlen + recordoffset + rdofs + entry_len * index]; + i2c->write = i2ctable[headerlen + recordoffset + wrofs + entry_len * index]; + + return 0; +} + +static struct dcb_gpio_entry * +new_gpio_entry(struct nvbios *bios) +{ + struct parsed_dcb_gpio *gpio = &bios->bdcb.gpio; + + return &gpio->entry[gpio->entries++]; +} + +struct dcb_gpio_entry * +nouveau_bios_gpio_entry(struct drm_device *dev, enum dcb_gpio_tag tag) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + int i; + + for (i = 0; i < bios->bdcb.gpio.entries; i++) { + if (bios->bdcb.gpio.entry[i].tag != tag) + continue; + + return &bios->bdcb.gpio.entry[i]; + } + + return NULL; +} + +static void +parse_dcb30_gpio_entry(struct nvbios *bios, uint16_t offset) +{ + struct dcb_gpio_entry *gpio; + uint16_t ent = ROM16(bios->data[offset]); + uint8_t line = ent & 0x1f, + tag = ent >> 5 & 0x3f, + flags = ent >> 11 & 0x1f; + + if (tag == 0x3f) + return; + + gpio = new_gpio_entry(bios); + + gpio->tag = tag; + gpio->line = line; + gpio->invert = flags != 4; +} + +static void +parse_dcb40_gpio_entry(struct nvbios *bios, uint16_t offset) +{ + struct dcb_gpio_entry *gpio; + uint32_t ent = ROM32(bios->data[offset]); + uint8_t line = ent & 0x1f, + tag = ent >> 8 & 0xff; + + if (tag == 0xff) + return; + + gpio = new_gpio_entry(bios); + + /* Currently unused, we may need more fields parsed at some + * point. */ + gpio->tag = tag; + gpio->line = line; +} + +static void +parse_dcb_gpio_table(struct nvbios *bios) +{ + struct drm_device *dev = bios->dev; + uint16_t gpio_table_ptr = bios->bdcb.gpio_table_ptr; + uint8_t *gpio_table = &bios->data[gpio_table_ptr]; + int header_len = gpio_table[1], + entries = gpio_table[2], + entry_len = gpio_table[3]; + void (*parse_entry)(struct nvbios *, uint16_t) = NULL; + int i; + + if (bios->bdcb.version >= 0x40) { + if (gpio_table_ptr && entry_len != 4) { + NV_WARN(dev, "Invalid DCB GPIO table entry length.\n"); + return; + } + + parse_entry = parse_dcb40_gpio_entry; + + } else if (bios->bdcb.version >= 0x30) { + if (gpio_table_ptr && entry_len != 2) { + NV_WARN(dev, "Invalid DCB GPIO table entry length.\n"); + return; + } + + parse_entry = parse_dcb30_gpio_entry; + + } else if (bios->bdcb.version >= 0x22) { + /* + * DCBs older than v3.0 don't really have a GPIO + * table, instead they keep some GPIO info at fixed + * locations. + */ + uint16_t dcbptr = ROM16(bios->data[0x36]); + uint8_t *tvdac_gpio = &bios->data[dcbptr - 5]; + + if (tvdac_gpio[0] & 1) { + struct dcb_gpio_entry *gpio = new_gpio_entry(bios); + + gpio->tag = DCB_GPIO_TVDAC0; + gpio->line = tvdac_gpio[1] >> 4; + gpio->invert = tvdac_gpio[0] & 2; + } + } + + if (!gpio_table_ptr) + return; + + if (entries > DCB_MAX_NUM_GPIO_ENTRIES) { + NV_WARN(dev, "Too many entries in the DCB GPIO table.\n"); + entries = DCB_MAX_NUM_GPIO_ENTRIES; + } + + for (i = 0; i < entries; i++) + parse_entry(bios, gpio_table_ptr + header_len + entry_len * i); +} + +struct dcb_connector_table_entry * +nouveau_bios_connector_entry(struct drm_device *dev, int index) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + struct dcb_connector_table_entry *cte; + + if (index >= bios->bdcb.connector.entries) + return NULL; + + cte = &bios->bdcb.connector.entry[index]; + if (cte->type == 0xff) + return NULL; + + return cte; +} + +static void +parse_dcb_connector_table(struct nvbios *bios) +{ + struct drm_device *dev = bios->dev; + struct dcb_connector_table *ct = &bios->bdcb.connector; + struct dcb_connector_table_entry *cte; + uint8_t *conntab = &bios->data[bios->bdcb.connector_table_ptr]; + uint8_t *entry; + int i; + + if (!bios->bdcb.connector_table_ptr) { + NV_DEBUG_KMS(dev, "No DCB connector table present\n"); + return; + } + + NV_INFO(dev, "DCB connector table: VHER 0x%02x %d %d %d\n", + conntab[0], conntab[1], conntab[2], conntab[3]); + if ((conntab[0] != 0x30 && conntab[0] != 0x40) || + (conntab[3] != 2 && conntab[3] != 4)) { + NV_ERROR(dev, " Unknown! Please report.\n"); + return; + } + + ct->entries = conntab[2]; + + entry = conntab + conntab[1]; + cte = &ct->entry[0]; + for (i = 0; i < conntab[2]; i++, entry += conntab[3], cte++) { + if (conntab[3] == 2) + cte->entry = ROM16(entry[0]); + else + cte->entry = ROM32(entry[0]); + cte->type = (cte->entry & 0x000000ff) >> 0; + cte->index = (cte->entry & 0x00000f00) >> 8; + switch (cte->entry & 0x00033000) { + case 0x00001000: + cte->gpio_tag = 0x07; + break; + case 0x00002000: + cte->gpio_tag = 0x08; + break; + case 0x00010000: + cte->gpio_tag = 0x51; + break; + case 0x00020000: + cte->gpio_tag = 0x52; + break; + default: + cte->gpio_tag = 0xff; + break; + } + + if (cte->type == 0xff) + continue; + + NV_INFO(dev, " %d: 0x%08x: type 0x%02x idx %d tag 0x%02x\n", + i, cte->entry, cte->type, cte->index, cte->gpio_tag); + } +} + +static struct dcb_entry *new_dcb_entry(struct parsed_dcb *dcb) +{ + struct dcb_entry *entry = &dcb->entry[dcb->entries]; + + memset(entry, 0, sizeof(struct dcb_entry)); + entry->index = dcb->entries++; + + return entry; +} + +static void fabricate_vga_output(struct parsed_dcb *dcb, int i2c, int heads) +{ + struct dcb_entry *entry = new_dcb_entry(dcb); + + entry->type = 0; + entry->i2c_index = i2c; + entry->heads = heads; + entry->location = DCB_LOC_ON_CHIP; + /* "or" mostly unused in early gen crt modesetting, 0 is fine */ +} + +static void fabricate_dvi_i_output(struct parsed_dcb *dcb, bool twoHeads) +{ + struct dcb_entry *entry = new_dcb_entry(dcb); + + entry->type = 2; + entry->i2c_index = LEGACY_I2C_PANEL; + entry->heads = twoHeads ? 3 : 1; + entry->location = !DCB_LOC_ON_CHIP; /* ie OFF CHIP */ + entry->or = 1; /* means |0x10 gets set on CRE_LCD__INDEX */ + entry->duallink_possible = false; /* SiI164 and co. are single link */ + +#if 0 + /* + * For dvi-a either crtc probably works, but my card appears to only + * support dvi-d. "nvidia" still attempts to program it for dvi-a, + * doing the full fp output setup (program 0x6808.. fp dimension regs, + * setting 0x680848 to 0x10000111 to enable, maybe setting 0x680880); + * the monitor picks up the mode res ok and lights up, but no pixel + * data appears, so the board manufacturer probably connected up the + * sync lines, but missed the video traces / components + * + * with this introduction, dvi-a left as an exercise for the reader. + */ + fabricate_vga_output(dcb, LEGACY_I2C_PANEL, entry->heads); +#endif +} + +static void fabricate_tv_output(struct parsed_dcb *dcb, bool twoHeads) +{ + struct dcb_entry *entry = new_dcb_entry(dcb); + + entry->type = 1; + entry->i2c_index = LEGACY_I2C_TV; + entry->heads = twoHeads ? 3 : 1; + entry->location = !DCB_LOC_ON_CHIP; /* ie OFF CHIP */ +} + +static bool +parse_dcb20_entry(struct drm_device *dev, struct bios_parsed_dcb *bdcb, + uint32_t conn, uint32_t conf, struct dcb_entry *entry) +{ + entry->type = conn & 0xf; + entry->i2c_index = (conn >> 4) & 0xf; + entry->heads = (conn >> 8) & 0xf; + if (bdcb->version >= 0x40) + entry->connector = (conn >> 12) & 0xf; + entry->bus = (conn >> 16) & 0xf; + entry->location = (conn >> 20) & 0x3; + entry->or = (conn >> 24) & 0xf; + /* + * Normal entries consist of a single bit, but dual link has the + * next most significant bit set too + */ + entry->duallink_possible = + ((1 << (ffs(entry->or) - 1)) * 3 == entry->or); + + switch (entry->type) { + case OUTPUT_ANALOG: + /* + * Although the rest of a CRT conf dword is usually + * zeros, mac biosen have stuff there so we must mask + */ + entry->crtconf.maxfreq = (bdcb->version < 0x30) ? + (conf & 0xffff) * 10 : + (conf & 0xff) * 10000; + break; + case OUTPUT_LVDS: + { + uint32_t mask; + if (conf & 0x1) + entry->lvdsconf.use_straps_for_mode = true; + if (bdcb->version < 0x22) { + mask = ~0xd; + /* + * The laptop in bug 14567 lies and claims to not use + * straps when it does, so assume all DCB 2.0 laptops + * use straps, until a broken EDID using one is produced + */ + entry->lvdsconf.use_straps_for_mode = true; + /* + * Both 0x4 and 0x8 show up in v2.0 tables; assume they + * mean the same thing (probably wrong, but might work) + */ + if (conf & 0x4 || conf & 0x8) + entry->lvdsconf.use_power_scripts = true; + } else { + mask = ~0x5; + if (conf & 0x4) + entry->lvdsconf.use_power_scripts = true; + } + if (conf & mask) { + /* + * Until we even try to use these on G8x, it's + * useless reporting unknown bits. They all are. + */ + if (bdcb->version >= 0x40) + break; + + NV_ERROR(dev, "Unknown LVDS configuration bits, " + "please report\n"); + } + break; + } + case OUTPUT_TV: + { + if (bdcb->version >= 0x30) + entry->tvconf.has_component_output = conf & (0x8 << 4); + else + entry->tvconf.has_component_output = false; + + break; + } + case OUTPUT_DP: + entry->dpconf.sor.link = (conf & 0x00000030) >> 4; + entry->dpconf.link_bw = (conf & 0x00e00000) >> 21; + switch ((conf & 0x0f000000) >> 24) { + case 0xf: + entry->dpconf.link_nr = 4; + break; + case 0x3: + entry->dpconf.link_nr = 2; + break; + default: + entry->dpconf.link_nr = 1; + break; + } + break; + case OUTPUT_TMDS: + entry->tmdsconf.sor.link = (conf & 0x00000030) >> 4; + break; + case 0xe: + /* weird g80 mobile type that "nv" treats as a terminator */ + bdcb->dcb.entries--; + return false; + } + + /* unsure what DCB version introduces this, 3.0? */ + if (conf & 0x100000) + entry->i2c_upper_default = true; + + return true; +} + +static bool +parse_dcb15_entry(struct drm_device *dev, struct parsed_dcb *dcb, + uint32_t conn, uint32_t conf, struct dcb_entry *entry) +{ + switch (conn & 0x0000000f) { + case 0: + entry->type = OUTPUT_ANALOG; + break; + case 1: + entry->type = OUTPUT_TV; + break; + case 2: + case 3: + entry->type = OUTPUT_LVDS; + break; + case 4: + switch ((conn & 0x000000f0) >> 4) { + case 0: + entry->type = OUTPUT_TMDS; + break; + case 1: + entry->type = OUTPUT_LVDS; + break; + default: + NV_ERROR(dev, "Unknown DCB subtype 4/%d\n", + (conn & 0x000000f0) >> 4); + return false; + } + break; + default: + NV_ERROR(dev, "Unknown DCB type %d\n", conn & 0x0000000f); + return false; + } + + entry->i2c_index = (conn & 0x0003c000) >> 14; + entry->heads = ((conn & 0x001c0000) >> 18) + 1; + entry->or = entry->heads; /* same as heads, hopefully safe enough */ + entry->location = (conn & 0x01e00000) >> 21; + entry->bus = (conn & 0x0e000000) >> 25; + entry->duallink_possible = false; + + switch (entry->type) { + case OUTPUT_ANALOG: + entry->crtconf.maxfreq = (conf & 0xffff) * 10; + break; + case OUTPUT_TV: + entry->tvconf.has_component_output = false; + break; + case OUTPUT_TMDS: + /* + * Invent a DVI-A output, by copying the fields of the DVI-D + * output; reported to work by math_b on an NV20(!). + */ + fabricate_vga_output(dcb, entry->i2c_index, entry->heads); + break; + case OUTPUT_LVDS: + if ((conn & 0x00003f00) != 0x10) + entry->lvdsconf.use_straps_for_mode = true; + entry->lvdsconf.use_power_scripts = true; + break; + default: + break; + } + + return true; +} + +static bool parse_dcb_entry(struct drm_device *dev, struct bios_parsed_dcb *bdcb, + uint32_t conn, uint32_t conf) +{ + struct dcb_entry *entry = new_dcb_entry(&bdcb->dcb); + bool ret; + + if (bdcb->version >= 0x20) + ret = parse_dcb20_entry(dev, bdcb, conn, conf, entry); + else + ret = parse_dcb15_entry(dev, &bdcb->dcb, conn, conf, entry); + if (!ret) + return ret; + + read_dcb_i2c_entry(dev, bdcb->version, bdcb->i2c_table, + entry->i2c_index, &bdcb->dcb.i2c[entry->i2c_index]); + + return true; +} + +static +void merge_like_dcb_entries(struct drm_device *dev, struct parsed_dcb *dcb) +{ + /* + * DCB v2.0 lists each output combination separately. + * Here we merge compatible entries to have fewer outputs, with + * more options + */ + + int i, newentries = 0; + + for (i = 0; i < dcb->entries; i++) { + struct dcb_entry *ient = &dcb->entry[i]; + int j; + + for (j = i + 1; j < dcb->entries; j++) { + struct dcb_entry *jent = &dcb->entry[j]; + + if (jent->type == 100) /* already merged entry */ + continue; + + /* merge heads field when all other fields the same */ + if (jent->i2c_index == ient->i2c_index && + jent->type == ient->type && + jent->location == ient->location && + jent->or == ient->or) { + NV_TRACE(dev, "Merging DCB entries %d and %d\n", + i, j); + ient->heads |= jent->heads; + jent->type = 100; /* dummy value */ + } + } + } + + /* Compact entries merged into others out of dcb */ + for (i = 0; i < dcb->entries; i++) { + if (dcb->entry[i].type == 100) + continue; + + if (newentries != i) { + dcb->entry[newentries] = dcb->entry[i]; + dcb->entry[newentries].index = newentries; + } + newentries++; + } + + dcb->entries = newentries; +} + +static int +parse_dcb_table(struct drm_device *dev, struct nvbios *bios, bool twoHeads) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct bios_parsed_dcb *bdcb = &bios->bdcb; + struct parsed_dcb *dcb; + uint16_t dcbptr = 0, i2ctabptr = 0; + uint8_t *dcbtable; + uint8_t headerlen = 0x4, entries = DCB_MAX_NUM_ENTRIES; + bool configblock = true; + int recordlength = 8, confofs = 4; + int i; + + dcb = bios->pub.dcb = &bdcb->dcb; + dcb->entries = 0; + + /* get the offset from 0x36 */ + if (dev_priv->card_type > NV_04) { + dcbptr = ROM16(bios->data[0x36]); + if (dcbptr == 0x0000) + NV_WARN(dev, "No output data (DCB) found in BIOS\n"); + } + + /* this situation likely means a really old card, pre DCB */ + if (dcbptr == 0x0) { + NV_INFO(dev, "Assuming a CRT output exists\n"); + fabricate_vga_output(dcb, LEGACY_I2C_CRT, 1); + + if (nv04_tv_identify(dev, bios->legacy.i2c_indices.tv) >= 0) + fabricate_tv_output(dcb, twoHeads); + + return 0; + } + + dcbtable = &bios->data[dcbptr]; + + /* get DCB version */ + bdcb->version = dcbtable[0]; + NV_TRACE(dev, "Found Display Configuration Block version %d.%d\n", + bdcb->version >> 4, bdcb->version & 0xf); + + if (bdcb->version >= 0x20) { /* NV17+ */ + uint32_t sig; + + if (bdcb->version >= 0x30) { /* NV40+ */ + headerlen = dcbtable[1]; + entries = dcbtable[2]; + recordlength = dcbtable[3]; + i2ctabptr = ROM16(dcbtable[4]); + sig = ROM32(dcbtable[6]); + bdcb->gpio_table_ptr = ROM16(dcbtable[10]); + bdcb->connector_table_ptr = ROM16(dcbtable[20]); + } else { + i2ctabptr = ROM16(dcbtable[2]); + sig = ROM32(dcbtable[4]); + headerlen = 8; + } + + if (sig != 0x4edcbdcb) { + NV_ERROR(dev, "Bad Display Configuration Block " + "signature (%08X)\n", sig); + return -EINVAL; + } + } else if (bdcb->version >= 0x15) { /* some NV11 and NV20 */ + char sig[8] = { 0 }; + + strncpy(sig, (char *)&dcbtable[-7], 7); + i2ctabptr = ROM16(dcbtable[2]); + recordlength = 10; + confofs = 6; + + if (strcmp(sig, "DEV_REC")) { + NV_ERROR(dev, "Bad Display Configuration Block " + "signature (%s)\n", sig); + return -EINVAL; + } + } else { + /* + * v1.4 (some NV15/16, NV11+) seems the same as v1.5, but always + * has the same single (crt) entry, even when tv-out present, so + * the conclusion is this version cannot really be used. + * v1.2 tables (some NV6/10, and NV15+) normally have the same + * 5 entries, which are not specific to the card and so no use. + * v1.2 does have an I2C table that read_dcb_i2c_table can + * handle, but cards exist (nv11 in #14821) with a bad i2c table + * pointer, so use the indices parsed in parse_bmp_structure. + * v1.1 (NV5+, maybe some NV4) is entirely unhelpful + */ + NV_TRACEWARN(dev, "No useful information in BIOS output table; " + "adding all possible outputs\n"); + fabricate_vga_output(dcb, LEGACY_I2C_CRT, 1); + + /* + * Attempt to detect TV before DVI because the test + * for the former is more accurate and it rules the + * latter out. + */ + if (nv04_tv_identify(dev, + bios->legacy.i2c_indices.tv) >= 0) + fabricate_tv_output(dcb, twoHeads); + + else if (bios->tmds.output0_script_ptr || + bios->tmds.output1_script_ptr) + fabricate_dvi_i_output(dcb, twoHeads); + + return 0; + } + + if (!i2ctabptr) + NV_WARN(dev, "No pointer to DCB I2C port table\n"); + else { + bdcb->i2c_table = &bios->data[i2ctabptr]; + if (bdcb->version >= 0x30) + bdcb->i2c_default_indices = bdcb->i2c_table[4]; + } + + parse_dcb_gpio_table(bios); + parse_dcb_connector_table(bios); + + if (entries > DCB_MAX_NUM_ENTRIES) + entries = DCB_MAX_NUM_ENTRIES; + + for (i = 0; i < entries; i++) { + uint32_t connection, config = 0; + + connection = ROM32(dcbtable[headerlen + recordlength * i]); + if (configblock) + config = ROM32(dcbtable[headerlen + confofs + recordlength * i]); + + /* seen on an NV11 with DCB v1.5 */ + if (connection == 0x00000000) + break; + + /* seen on an NV17 with DCB v2.0 */ + if (connection == 0xffffffff) + break; + + if ((connection & 0x0000000f) == 0x0000000f) + continue; + + NV_TRACEWARN(dev, "Raw DCB entry %d: %08x %08x\n", + dcb->entries, connection, config); + + if (!parse_dcb_entry(dev, bdcb, connection, config)) + break; + } + + /* + * apart for v2.1+ not being known for requiring merging, this + * guarantees dcbent->index is the index of the entry in the rom image + */ + if (bdcb->version < 0x21) + merge_like_dcb_entries(dev, dcb); + + return dcb->entries ? 0 : -ENXIO; +} + +static void +fixup_legacy_connector(struct nvbios *bios) +{ + struct bios_parsed_dcb *bdcb = &bios->bdcb; + struct parsed_dcb *dcb = &bdcb->dcb; + int high = 0, i; + + /* + * DCB 3.0 also has the table in most cases, but there are some cards + * where the table is filled with stub entries, and the DCB entriy + * indices are all 0. We don't need the connector indices on pre-G80 + * chips (yet?) so limit the use to DCB 4.0 and above. + */ + if (bdcb->version >= 0x40) + return; + + /* + * No known connector info before v3.0, so make it up. the rule here + * is: anything on the same i2c bus is considered to be on the same + * connector. any output without an associated i2c bus is assigned + * its own unique connector index. + */ + for (i = 0; i < dcb->entries; i++) { + if (dcb->entry[i].i2c_index == 0xf) + continue; + + /* + * Ignore the I2C index for on-chip TV-out, as there + * are cards with bogus values (nv31m in bug 23212), + * and it's otherwise useless. + */ + if (dcb->entry[i].type == OUTPUT_TV && + dcb->entry[i].location == DCB_LOC_ON_CHIP) { + dcb->entry[i].i2c_index = 0xf; + continue; + } + + dcb->entry[i].connector = dcb->entry[i].i2c_index; + if (dcb->entry[i].connector > high) + high = dcb->entry[i].connector; + } + + for (i = 0; i < dcb->entries; i++) { + if (dcb->entry[i].i2c_index != 0xf) + continue; + + dcb->entry[i].connector = ++high; + } +} + +static void +fixup_legacy_i2c(struct nvbios *bios) +{ + struct parsed_dcb *dcb = &bios->bdcb.dcb; + int i; + + for (i = 0; i < dcb->entries; i++) { + if (dcb->entry[i].i2c_index == LEGACY_I2C_CRT) + dcb->entry[i].i2c_index = bios->legacy.i2c_indices.crt; + if (dcb->entry[i].i2c_index == LEGACY_I2C_PANEL) + dcb->entry[i].i2c_index = bios->legacy.i2c_indices.panel; + if (dcb->entry[i].i2c_index == LEGACY_I2C_TV) + dcb->entry[i].i2c_index = bios->legacy.i2c_indices.tv; + } +} + +static int load_nv17_hwsq_ucode_entry(struct drm_device *dev, struct nvbios *bios, uint16_t hwsq_offset, int entry) +{ + /* + * The header following the "HWSQ" signature has the number of entries, + * and the entry size + * + * An entry consists of a dword to write to the sequencer control reg + * (0x00001304), followed by the ucode bytes, written sequentially, + * starting at reg 0x00001400 + */ + + uint8_t bytes_to_write; + uint16_t hwsq_entry_offset; + int i; + + if (bios->data[hwsq_offset] <= entry) { + NV_ERROR(dev, "Too few entries in HW sequencer table for " + "requested entry\n"); + return -ENOENT; + } + + bytes_to_write = bios->data[hwsq_offset + 1]; + + if (bytes_to_write != 36) { + NV_ERROR(dev, "Unknown HW sequencer entry size\n"); + return -EINVAL; + } + + NV_TRACE(dev, "Loading NV17 power sequencing microcode\n"); + + hwsq_entry_offset = hwsq_offset + 2 + entry * bytes_to_write; + + /* set sequencer control */ + bios_wr32(bios, 0x00001304, ROM32(bios->data[hwsq_entry_offset])); + bytes_to_write -= 4; + + /* write ucode */ + for (i = 0; i < bytes_to_write; i += 4) + bios_wr32(bios, 0x00001400 + i, ROM32(bios->data[hwsq_entry_offset + i + 4])); + + /* twiddle NV_PBUS_DEBUG_4 */ + bios_wr32(bios, NV_PBUS_DEBUG_4, bios_rd32(bios, NV_PBUS_DEBUG_4) | 0x18); + + return 0; +} + +static int load_nv17_hw_sequencer_ucode(struct drm_device *dev, + struct nvbios *bios) +{ + /* + * BMP based cards, from NV17, need a microcode loading to correctly + * control the GPIO etc for LVDS panels + * + * BIT based cards seem to do this directly in the init scripts + * + * The microcode entries are found by the "HWSQ" signature. + */ + + const uint8_t hwsq_signature[] = { 'H', 'W', 'S', 'Q' }; + const int sz = sizeof(hwsq_signature); + int hwsq_offset; + + hwsq_offset = findstr(bios->data, bios->length, hwsq_signature, sz); + if (!hwsq_offset) + return 0; + + /* always use entry 0? */ + return load_nv17_hwsq_ucode_entry(dev, bios, hwsq_offset + sz, 0); +} + +uint8_t *nouveau_bios_embedded_edid(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + const uint8_t edid_sig[] = { + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00 }; + uint16_t offset = 0; + uint16_t newoffset; + int searchlen = NV_PROM_SIZE; + + if (bios->fp.edid) + return bios->fp.edid; + + while (searchlen) { + newoffset = findstr(&bios->data[offset], searchlen, + edid_sig, 8); + if (!newoffset) + return NULL; + offset += newoffset; + if (!nv_cksum(&bios->data[offset], EDID1_LEN)) + break; + + searchlen -= offset; + offset++; + } + + NV_TRACE(dev, "Found EDID in BIOS\n"); + + return bios->fp.edid = &bios->data[offset]; +} + +void +nouveau_bios_run_init_table(struct drm_device *dev, uint16_t table, + struct dcb_entry *dcbent) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + struct init_exec iexec = { true, false }; + + mutex_lock(&bios->lock); + bios->display.output = dcbent; + parse_init_table(bios, table, &iexec); + bios->display.output = NULL; + mutex_unlock(&bios->lock); +} + +static bool NVInitVBIOS(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + + memset(bios, 0, sizeof(struct nvbios)); + mutex_init(&bios->lock); + bios->dev = dev; + + if (!NVShadowVBIOS(dev, bios->data)) + return false; + + bios->length = NV_PROM_SIZE; + return true; +} + +static int nouveau_parse_vbios_struct(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + const uint8_t bit_signature[] = { 0xff, 0xb8, 'B', 'I', 'T' }; + const uint8_t bmp_signature[] = { 0xff, 0x7f, 'N', 'V', 0x0 }; + int offset; + + offset = findstr(bios->data, bios->length, + bit_signature, sizeof(bit_signature)); + if (offset) { + NV_TRACE(dev, "BIT BIOS found\n"); + return parse_bit_structure(bios, offset + 6); + } + + offset = findstr(bios->data, bios->length, + bmp_signature, sizeof(bmp_signature)); + if (offset) { + NV_TRACE(dev, "BMP BIOS found\n"); + return parse_bmp_structure(dev, bios, offset); + } + + NV_ERROR(dev, "No known BIOS signature found\n"); + return -ENODEV; +} + +int +nouveau_run_vbios_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + int i, ret = 0; + + NVLockVgaCrtcs(dev, false); + if (nv_two_heads(dev)) + NVSetOwner(dev, bios->state.crtchead); + + if (bios->major_version < 5) /* BMP only */ + load_nv17_hw_sequencer_ucode(dev, bios); + + if (bios->execute) { + bios->fp.last_script_invoc = 0; + bios->fp.lvds_init_run = false; + } + + parse_init_tables(bios); + + /* + * Runs some additional script seen on G8x VBIOSen. The VBIOS' + * parser will run this right after the init tables, the binary + * driver appears to run it at some point later. + */ + if (bios->some_script_ptr) { + struct init_exec iexec = {true, false}; + + NV_INFO(dev, "Parsing VBIOS init table at offset 0x%04X\n", + bios->some_script_ptr); + parse_init_table(bios, bios->some_script_ptr, &iexec); + } + + if (dev_priv->card_type >= NV_50) { + for (i = 0; i < bios->bdcb.dcb.entries; i++) { + nouveau_bios_run_display_table(dev, + &bios->bdcb.dcb.entry[i], + 0, 0); + } + } + + NVLockVgaCrtcs(dev, true); + + return ret; +} + +static void +nouveau_bios_i2c_devices_takedown(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + struct dcb_i2c_entry *entry; + int i; + + entry = &bios->bdcb.dcb.i2c[0]; + for (i = 0; i < DCB_MAX_NUM_I2C_ENTRIES; i++, entry++) + nouveau_i2c_fini(dev, entry); +} + +int +nouveau_bios_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + uint32_t saved_nv_pextdev_boot_0; + bool was_locked; + int ret; + + dev_priv->vbios = &bios->pub; + + if (!NVInitVBIOS(dev)) + return -ENODEV; + + ret = nouveau_parse_vbios_struct(dev); + if (ret) + return ret; + + ret = parse_dcb_table(dev, bios, nv_two_heads(dev)); + if (ret) + return ret; + + fixup_legacy_i2c(bios); + fixup_legacy_connector(bios); + + if (!bios->major_version) /* we don't run version 0 bios */ + return 0; + + /* these will need remembering across a suspend */ + saved_nv_pextdev_boot_0 = bios_rd32(bios, NV_PEXTDEV_BOOT_0); + bios->state.saved_nv_pfb_cfg0 = bios_rd32(bios, NV_PFB_CFG0); + + /* init script execution disabled */ + bios->execute = false; + + /* ... unless card isn't POSTed already */ + if (dev_priv->card_type >= NV_10 && + NVReadVgaCrtc(dev, 0, 0x00) == 0 && + NVReadVgaCrtc(dev, 0, 0x1a) == 0) { + NV_INFO(dev, "Adaptor not initialised\n"); + if (dev_priv->card_type < NV_50) { + NV_ERROR(dev, "Unable to POST this chipset\n"); + return -ENODEV; + } + + NV_INFO(dev, "Running VBIOS init tables\n"); + bios->execute = true; + } + + bios_wr32(bios, NV_PEXTDEV_BOOT_0, saved_nv_pextdev_boot_0); + + ret = nouveau_run_vbios_init(dev); + if (ret) { + dev_priv->vbios = NULL; + return ret; + } + + /* feature_byte on BMP is poor, but init always sets CR4B */ + was_locked = NVLockVgaCrtcs(dev, false); + if (bios->major_version < 5) + bios->is_mobile = NVReadVgaCrtc(dev, 0, NV_CIO_CRE_4B) & 0x40; + + /* all BIT systems need p_f_m_t for digital_min_front_porch */ + if (bios->is_mobile || bios->major_version >= 5) + ret = parse_fp_mode_table(dev, bios); + NVLockVgaCrtcs(dev, was_locked); + + /* allow subsequent scripts to execute */ + bios->execute = true; + + return 0; +} + +void +nouveau_bios_takedown(struct drm_device *dev) +{ + nouveau_bios_i2c_devices_takedown(dev); +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_bios.h +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_bios.h @@ -0,0 +1,292 @@ +/* + * Copyright 2007-2008 Nouveau Project + * + * 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 __NOUVEAU_BIOS_H__ +#define __NOUVEAU_BIOS_H__ + +#include "nvreg.h" +#include "nouveau_i2c.h" + +#define DCB_MAX_NUM_ENTRIES 16 +#define DCB_MAX_NUM_I2C_ENTRIES 16 +#define DCB_MAX_NUM_GPIO_ENTRIES 32 +#define DCB_MAX_NUM_CONNECTOR_ENTRIES 16 + +#define DCB_LOC_ON_CHIP 0 + +struct dcb_entry { + int index; /* may not be raw dcb index if merging has happened */ + uint8_t type; + uint8_t i2c_index; + uint8_t heads; + uint8_t connector; + uint8_t bus; + uint8_t location; + uint8_t or; + bool duallink_possible; + union { + struct sor_conf { + int link; + } sorconf; + struct { + int maxfreq; + } crtconf; + struct { + struct sor_conf sor; + bool use_straps_for_mode; + bool use_power_scripts; + } lvdsconf; + struct { + bool has_component_output; + } tvconf; + struct { + struct sor_conf sor; + int link_nr; + int link_bw; + } dpconf; + struct { + struct sor_conf sor; + } tmdsconf; + }; + bool i2c_upper_default; +}; + +struct dcb_i2c_entry { + uint8_t port_type; + uint8_t read, write; + struct nouveau_i2c_chan *chan; +}; + +struct parsed_dcb { + int entries; + struct dcb_entry entry[DCB_MAX_NUM_ENTRIES]; + struct dcb_i2c_entry i2c[DCB_MAX_NUM_I2C_ENTRIES]; +}; + +enum dcb_gpio_tag { + DCB_GPIO_TVDAC0 = 0xc, + DCB_GPIO_TVDAC1 = 0x2d, +}; + +struct dcb_gpio_entry { + enum dcb_gpio_tag tag; + int line; + bool invert; +}; + +struct parsed_dcb_gpio { + int entries; + struct dcb_gpio_entry entry[DCB_MAX_NUM_GPIO_ENTRIES]; +}; + +struct dcb_connector_table_entry { + uint32_t entry; + uint8_t type; + uint8_t index; + uint8_t gpio_tag; +}; + +struct dcb_connector_table { + int entries; + struct dcb_connector_table_entry entry[DCB_MAX_NUM_CONNECTOR_ENTRIES]; +}; + +struct bios_parsed_dcb { + uint8_t version; + + struct parsed_dcb dcb; + + uint8_t *i2c_table; + uint8_t i2c_default_indices; + + uint16_t gpio_table_ptr; + struct parsed_dcb_gpio gpio; + uint16_t connector_table_ptr; + struct dcb_connector_table connector; +}; + +enum nouveau_encoder_type { + OUTPUT_ANALOG = 0, + OUTPUT_TV = 1, + OUTPUT_TMDS = 2, + OUTPUT_LVDS = 3, + OUTPUT_DP = 6, + OUTPUT_ANY = -1 +}; + +enum nouveau_or { + OUTPUT_A = (1 << 0), + OUTPUT_B = (1 << 1), + OUTPUT_C = (1 << 2) +}; + +enum LVDS_script { + /* Order *does* matter here */ + LVDS_INIT = 1, + LVDS_RESET, + LVDS_BACKLIGHT_ON, + LVDS_BACKLIGHT_OFF, + LVDS_PANEL_ON, + LVDS_PANEL_OFF +}; + +/* changing these requires matching changes to reg tables in nv_get_clock */ +#define MAX_PLL_TYPES 4 +enum pll_types { + NVPLL, + MPLL, + VPLL1, + VPLL2 +}; + +struct pll_lims { + struct { + int minfreq; + int maxfreq; + int min_inputfreq; + int max_inputfreq; + + uint8_t min_m; + uint8_t max_m; + uint8_t min_n; + uint8_t max_n; + } vco1, vco2; + + uint8_t max_log2p; + /* + * for most pre nv50 cards setting a log2P of 7 (the common max_log2p + * value) is no different to 6 (at least for vplls) so allowing the MNP + * calc to use 7 causes the generated clock to be out by a factor of 2. + * however, max_log2p cannot be fixed-up during parsing as the + * unmodified max_log2p value is still needed for setting mplls, hence + * an additional max_usable_log2p member + */ + uint8_t max_usable_log2p; + uint8_t log2p_bias; + + uint8_t min_p; + uint8_t max_p; + + int refclk; +}; + +struct nouveau_bios_info { + struct parsed_dcb *dcb; + + uint8_t chip_version; + + uint32_t dactestval; + uint32_t tvdactestval; + uint8_t digital_min_front_porch; + bool fp_no_ddc; +}; + +struct nvbios { + struct drm_device *dev; + struct nouveau_bios_info pub; + + struct mutex lock; + + uint8_t data[NV_PROM_SIZE]; + unsigned int length; + bool execute; + + uint8_t major_version; + uint8_t feature_byte; + bool is_mobile; + + uint32_t fmaxvco, fminvco; + + bool old_style_init; + uint16_t init_script_tbls_ptr; + uint16_t extra_init_script_tbl_ptr; + uint16_t macro_index_tbl_ptr; + uint16_t macro_tbl_ptr; + uint16_t condition_tbl_ptr; + uint16_t io_condition_tbl_ptr; + uint16_t io_flag_condition_tbl_ptr; + uint16_t init_function_tbl_ptr; + + uint16_t pll_limit_tbl_ptr; + uint16_t ram_restrict_tbl_ptr; + uint8_t ram_restrict_group_count; + + uint16_t some_script_ptr; /* BIT I + 14 */ + uint16_t init96_tbl_ptr; /* BIT I + 16 */ + + struct bios_parsed_dcb bdcb; + + struct { + int crtchead; + /* these need remembering across suspend */ + uint32_t saved_nv_pfb_cfg0; + } state; + + struct { + struct dcb_entry *output; + uint16_t script_table_ptr; + uint16_t dp_table_ptr; + } display; + + struct { + uint16_t fptablepointer; /* also used by tmds */ + uint16_t fpxlatetableptr; + int xlatwidth; + uint16_t lvdsmanufacturerpointer; + uint16_t fpxlatemanufacturertableptr; + uint16_t mode_ptr; + uint16_t xlated_entry; + bool power_off_for_reset; + bool reset_after_pclk_change; + bool dual_link; + bool link_c_increment; + bool BITbit1; + bool if_is_24bit; + int duallink_transition_clk; + uint8_t strapless_is_24bit; + uint8_t *edid; + + /* will need resetting after suspend */ + int last_script_invoc; + bool lvds_init_run; + } fp; + + struct { + uint16_t output0_script_ptr; + uint16_t output1_script_ptr; + } tmds; + + struct { + uint16_t mem_init_tbl_ptr; + uint16_t sdr_seq_tbl_ptr; + uint16_t ddr_seq_tbl_ptr; + + struct { + uint8_t crt, tv, panel; + } i2c_indices; + + uint16_t lvds_single_a_script_ptr; + } legacy; +}; + +#endif --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_bo.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_bo.c @@ -0,0 +1,773 @@ +/* + * Copyright 2007 Dave Airlied + * 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 + * VA LINUX SYSTEMS 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: Dave Airlied + * Ben Skeggs + * Jeremy Kolb + */ + +#include "drmP.h" + +#include "nouveau_drm.h" +#include "nouveau_drv.h" +#include "nouveau_dma.h" + +#include + +static void +nouveau_bo_del_ttm(struct ttm_buffer_object *bo) +{ + struct drm_nouveau_private *dev_priv = nouveau_bdev(bo->bdev); + struct drm_device *dev = dev_priv->dev; + struct nouveau_bo *nvbo = nouveau_bo(bo); + + ttm_bo_kunmap(&nvbo->kmap); + + if (unlikely(nvbo->gem)) + DRM_ERROR("bo %p still attached to GEM object\n", bo); + + if (nvbo->tile) + nv10_mem_expire_tiling(dev, nvbo->tile, NULL); + + spin_lock(&dev_priv->ttm.bo_list_lock); + list_del(&nvbo->head); + spin_unlock(&dev_priv->ttm.bo_list_lock); + kfree(nvbo); +} + +static void +nouveau_bo_fixup_align(struct drm_device *dev, + uint32_t tile_mode, uint32_t tile_flags, + int *align, int *size) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + /* + * Some of the tile_flags have a periodic structure of N*4096 bytes, + * align to to that as well as the page size. Align the size to the + * appropriate boundaries. This does imply that sizes are rounded up + * 3-7 pages, so be aware of this and do not waste memory by allocating + * many small buffers. + */ + if (dev_priv->card_type == NV_50) { + uint32_t block_size = nouveau_mem_fb_amount(dev) >> 15; + int i; + + switch (tile_flags) { + case 0x1800: + case 0x2800: + case 0x4800: + case 0x7a00: + if (is_power_of_2(block_size)) { + for (i = 1; i < 10; i++) { + *align = 12 * i * block_size; + if (!(*align % 65536)) + break; + } + } else { + for (i = 1; i < 10; i++) { + *align = 8 * i * block_size; + if (!(*align % 65536)) + break; + } + } + *size = roundup(*size, *align); + break; + default: + break; + } + + } else { + if (tile_mode) { + if (dev_priv->chipset >= 0x40) { + *align = 65536; + *size = roundup(*size, 64 * tile_mode); + + } else if (dev_priv->chipset >= 0x30) { + *align = 32768; + *size = roundup(*size, 64 * tile_mode); + + } else if (dev_priv->chipset >= 0x20) { + *align = 16384; + *size = roundup(*size, 64 * tile_mode); + + } else if (dev_priv->chipset >= 0x10) { + *align = 16384; + *size = roundup(*size, 32 * tile_mode); + } + } + } + + /* ALIGN works only on powers of two. */ + *size = roundup(*size, PAGE_SIZE); + + if (dev_priv->card_type == NV_50) { + *size = roundup(*size, 65536); + *align = max(65536, *align); + } +} + +int +nouveau_bo_new(struct drm_device *dev, struct nouveau_channel *chan, + int size, int align, uint32_t flags, uint32_t tile_mode, + uint32_t tile_flags, bool no_vm, bool mappable, + struct nouveau_bo **pnvbo) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_bo *nvbo; + int ret = 0; + + nvbo = kzalloc(sizeof(struct nouveau_bo), GFP_KERNEL); + if (!nvbo) + return -ENOMEM; + INIT_LIST_HEAD(&nvbo->head); + INIT_LIST_HEAD(&nvbo->entry); + nvbo->mappable = mappable; + nvbo->no_vm = no_vm; + nvbo->tile_mode = tile_mode; + nvbo->tile_flags = tile_flags; + + nouveau_bo_fixup_align(dev, tile_mode, tile_flags, &align, &size); + align >>= PAGE_SHIFT; + + nvbo->placement.fpfn = 0; + nvbo->placement.lpfn = mappable ? dev_priv->fb_mappable_pages : 0; + nouveau_bo_placement_set(nvbo, flags); + + nvbo->channel = chan; + ret = ttm_bo_init(&dev_priv->ttm.bdev, &nvbo->bo, size, + ttm_bo_type_device, &nvbo->placement, align, 0, + false, NULL, size, nouveau_bo_del_ttm); + nvbo->channel = NULL; + if (ret) { + /* ttm will call nouveau_bo_del_ttm if it fails.. */ + return ret; + } + + spin_lock(&dev_priv->ttm.bo_list_lock); + list_add_tail(&nvbo->head, &dev_priv->ttm.bo_list); + spin_unlock(&dev_priv->ttm.bo_list_lock); + *pnvbo = nvbo; + return 0; +} + +void +nouveau_bo_placement_set(struct nouveau_bo *nvbo, uint32_t memtype) +{ + int n = 0; + + if (memtype & TTM_PL_FLAG_VRAM) + nvbo->placements[n++] = TTM_PL_FLAG_VRAM | TTM_PL_MASK_CACHING; + if (memtype & TTM_PL_FLAG_TT) + nvbo->placements[n++] = TTM_PL_FLAG_TT | TTM_PL_MASK_CACHING; + if (memtype & TTM_PL_FLAG_SYSTEM) + nvbo->placements[n++] = TTM_PL_FLAG_SYSTEM | TTM_PL_MASK_CACHING; + nvbo->placement.placement = nvbo->placements; + nvbo->placement.busy_placement = nvbo->placements; + nvbo->placement.num_placement = n; + nvbo->placement.num_busy_placement = n; + + if (nvbo->pin_refcnt) { + while (n--) + nvbo->placements[n] |= TTM_PL_FLAG_NO_EVICT; + } +} + +int +nouveau_bo_pin(struct nouveau_bo *nvbo, uint32_t memtype) +{ + struct drm_nouveau_private *dev_priv = nouveau_bdev(nvbo->bo.bdev); + struct ttm_buffer_object *bo = &nvbo->bo; + int ret, i; + + if (nvbo->pin_refcnt && !(memtype & (1 << bo->mem.mem_type))) { + NV_ERROR(nouveau_bdev(bo->bdev)->dev, + "bo %p pinned elsewhere: 0x%08x vs 0x%08x\n", bo, + 1 << bo->mem.mem_type, memtype); + return -EINVAL; + } + + if (nvbo->pin_refcnt++) + return 0; + + ret = ttm_bo_reserve(bo, false, false, false, 0); + if (ret) + goto out; + + nouveau_bo_placement_set(nvbo, memtype); + for (i = 0; i < nvbo->placement.num_placement; i++) + nvbo->placements[i] |= TTM_PL_FLAG_NO_EVICT; + + ret = ttm_bo_validate(bo, &nvbo->placement, false, false); + if (ret == 0) { + switch (bo->mem.mem_type) { + case TTM_PL_VRAM: + dev_priv->fb_aper_free -= bo->mem.size; + break; + case TTM_PL_TT: + dev_priv->gart_info.aper_free -= bo->mem.size; + break; + default: + break; + } + } + ttm_bo_unreserve(bo); +out: + if (unlikely(ret)) + nvbo->pin_refcnt--; + return ret; +} + +int +nouveau_bo_unpin(struct nouveau_bo *nvbo) +{ + struct drm_nouveau_private *dev_priv = nouveau_bdev(nvbo->bo.bdev); + struct ttm_buffer_object *bo = &nvbo->bo; + int ret, i; + + if (--nvbo->pin_refcnt) + return 0; + + ret = ttm_bo_reserve(bo, false, false, false, 0); + if (ret) + return ret; + + for (i = 0; i < nvbo->placement.num_placement; i++) + nvbo->placements[i] &= ~TTM_PL_FLAG_NO_EVICT; + + ret = ttm_bo_validate(bo, &nvbo->placement, false, false); + if (ret == 0) { + switch (bo->mem.mem_type) { + case TTM_PL_VRAM: + dev_priv->fb_aper_free += bo->mem.size; + break; + case TTM_PL_TT: + dev_priv->gart_info.aper_free += bo->mem.size; + break; + default: + break; + } + } + + ttm_bo_unreserve(bo); + return ret; +} + +int +nouveau_bo_map(struct nouveau_bo *nvbo) +{ + int ret; + + ret = ttm_bo_reserve(&nvbo->bo, false, false, false, 0); + if (ret) + return ret; + + ret = ttm_bo_kmap(&nvbo->bo, 0, nvbo->bo.mem.num_pages, &nvbo->kmap); + ttm_bo_unreserve(&nvbo->bo); + return ret; +} + +void +nouveau_bo_unmap(struct nouveau_bo *nvbo) +{ + ttm_bo_kunmap(&nvbo->kmap); +} + +u16 +nouveau_bo_rd16(struct nouveau_bo *nvbo, unsigned index) +{ + bool is_iomem; + u16 *mem = ttm_kmap_obj_virtual(&nvbo->kmap, &is_iomem); + mem = &mem[index]; + if (is_iomem) + return ioread16_native((void __force __iomem *)mem); + else + return *mem; +} + +void +nouveau_bo_wr16(struct nouveau_bo *nvbo, unsigned index, u16 val) +{ + bool is_iomem; + u16 *mem = ttm_kmap_obj_virtual(&nvbo->kmap, &is_iomem); + mem = &mem[index]; + if (is_iomem) + iowrite16_native(val, (void __force __iomem *)mem); + else + *mem = val; +} + +u32 +nouveau_bo_rd32(struct nouveau_bo *nvbo, unsigned index) +{ + bool is_iomem; + u32 *mem = ttm_kmap_obj_virtual(&nvbo->kmap, &is_iomem); + mem = &mem[index]; + if (is_iomem) + return ioread32_native((void __force __iomem *)mem); + else + return *mem; +} + +void +nouveau_bo_wr32(struct nouveau_bo *nvbo, unsigned index, u32 val) +{ + bool is_iomem; + u32 *mem = ttm_kmap_obj_virtual(&nvbo->kmap, &is_iomem); + mem = &mem[index]; + if (is_iomem) + iowrite32_native(val, (void __force __iomem *)mem); + else + *mem = val; +} + +static struct ttm_backend * +nouveau_bo_create_ttm_backend_entry(struct ttm_bo_device *bdev) +{ + struct drm_nouveau_private *dev_priv = nouveau_bdev(bdev); + struct drm_device *dev = dev_priv->dev; + + switch (dev_priv->gart_info.type) { +#if __OS_HAS_AGP + case NOUVEAU_GART_AGP: + return ttm_agp_backend_init(bdev, dev->agp->bridge); +#endif + case NOUVEAU_GART_SGDMA: + return nouveau_sgdma_init_ttm(dev); + default: + NV_ERROR(dev, "Unknown GART type %d\n", + dev_priv->gart_info.type); + break; + } + + return NULL; +} + +static int +nouveau_bo_invalidate_caches(struct ttm_bo_device *bdev, uint32_t flags) +{ + /* We'll do this from user space. */ + return 0; +} + +static int +nouveau_bo_init_mem_type(struct ttm_bo_device *bdev, uint32_t type, + struct ttm_mem_type_manager *man) +{ + struct drm_nouveau_private *dev_priv = nouveau_bdev(bdev); + struct drm_device *dev = dev_priv->dev; + + switch (type) { + case TTM_PL_SYSTEM: + man->flags = TTM_MEMTYPE_FLAG_MAPPABLE; + man->available_caching = TTM_PL_MASK_CACHING; + man->default_caching = TTM_PL_FLAG_CACHED; + break; + case TTM_PL_VRAM: + man->flags = TTM_MEMTYPE_FLAG_FIXED | + TTM_MEMTYPE_FLAG_MAPPABLE | + TTM_MEMTYPE_FLAG_NEEDS_IOREMAP; + man->available_caching = TTM_PL_FLAG_UNCACHED | + TTM_PL_FLAG_WC; + man->default_caching = TTM_PL_FLAG_WC; + + man->io_addr = NULL; + man->io_offset = drm_get_resource_start(dev, 1); + man->io_size = drm_get_resource_len(dev, 1); + if (man->io_size > nouveau_mem_fb_amount(dev)) + man->io_size = nouveau_mem_fb_amount(dev); + + man->gpu_offset = dev_priv->vm_vram_base; + break; + case TTM_PL_TT: + switch (dev_priv->gart_info.type) { + case NOUVEAU_GART_AGP: + man->flags = TTM_MEMTYPE_FLAG_MAPPABLE | + TTM_MEMTYPE_FLAG_NEEDS_IOREMAP; + man->available_caching = TTM_PL_FLAG_UNCACHED; + man->default_caching = TTM_PL_FLAG_UNCACHED; + break; + case NOUVEAU_GART_SGDMA: + man->flags = TTM_MEMTYPE_FLAG_MAPPABLE | + TTM_MEMTYPE_FLAG_CMA; + man->available_caching = TTM_PL_MASK_CACHING; + man->default_caching = TTM_PL_FLAG_CACHED; + break; + default: + NV_ERROR(dev, "Unknown GART type: %d\n", + dev_priv->gart_info.type); + return -EINVAL; + } + + man->io_offset = dev_priv->gart_info.aper_base; + man->io_size = dev_priv->gart_info.aper_size; + man->io_addr = NULL; + man->gpu_offset = dev_priv->vm_gart_base; + break; + default: + NV_ERROR(dev, "Unsupported memory type %u\n", (unsigned)type); + return -EINVAL; + } + return 0; +} + +static void +nouveau_bo_evict_flags(struct ttm_buffer_object *bo, struct ttm_placement *pl) +{ + struct nouveau_bo *nvbo = nouveau_bo(bo); + + switch (bo->mem.mem_type) { + case TTM_PL_VRAM: + nouveau_bo_placement_set(nvbo, TTM_PL_FLAG_TT | + TTM_PL_FLAG_SYSTEM); + break; + default: + nouveau_bo_placement_set(nvbo, TTM_PL_FLAG_SYSTEM); + break; + } + + *pl = nvbo->placement; +} + + +/* GPU-assisted copy using NV_MEMORY_TO_MEMORY_FORMAT, can access + * TTM_PL_{VRAM,TT} directly. + */ + +static int +nouveau_bo_move_accel_cleanup(struct nouveau_channel *chan, + struct nouveau_bo *nvbo, bool evict, bool no_wait, + struct ttm_mem_reg *new_mem) +{ + struct nouveau_fence *fence = NULL; + int ret; + + ret = nouveau_fence_new(chan, &fence, true); + if (ret) + return ret; + + ret = ttm_bo_move_accel_cleanup(&nvbo->bo, fence, NULL, + evict, no_wait, new_mem); + if (nvbo->channel && nvbo->channel != chan) + ret = nouveau_fence_wait(fence, NULL, false, false); + nouveau_fence_unref((void *)&fence); + return ret; +} + +static inline uint32_t +nouveau_bo_mem_ctxdma(struct nouveau_bo *nvbo, struct nouveau_channel *chan, + struct ttm_mem_reg *mem) +{ + if (chan == nouveau_bdev(nvbo->bo.bdev)->channel) { + if (mem->mem_type == TTM_PL_TT) + return NvDmaGART; + return NvDmaVRAM; + } + + if (mem->mem_type == TTM_PL_TT) + return chan->gart_handle; + return chan->vram_handle; +} + +static int +nouveau_bo_move_m2mf(struct ttm_buffer_object *bo, int evict, bool intr, + int no_wait, struct ttm_mem_reg *new_mem) +{ + struct nouveau_bo *nvbo = nouveau_bo(bo); + struct drm_nouveau_private *dev_priv = nouveau_bdev(bo->bdev); + struct ttm_mem_reg *old_mem = &bo->mem; + struct nouveau_channel *chan; + uint64_t src_offset, dst_offset; + uint32_t page_count; + int ret; + + chan = nvbo->channel; + if (!chan || nvbo->tile_flags || nvbo->no_vm) + chan = dev_priv->channel; + + src_offset = old_mem->mm_node->start << PAGE_SHIFT; + dst_offset = new_mem->mm_node->start << PAGE_SHIFT; + if (chan != dev_priv->channel) { + if (old_mem->mem_type == TTM_PL_TT) + src_offset += dev_priv->vm_gart_base; + else + src_offset += dev_priv->vm_vram_base; + + if (new_mem->mem_type == TTM_PL_TT) + dst_offset += dev_priv->vm_gart_base; + else + dst_offset += dev_priv->vm_vram_base; + } + + ret = RING_SPACE(chan, 3); + if (ret) + return ret; + BEGIN_RING(chan, NvSubM2MF, NV_MEMORY_TO_MEMORY_FORMAT_DMA_SOURCE, 2); + OUT_RING(chan, nouveau_bo_mem_ctxdma(nvbo, chan, old_mem)); + OUT_RING(chan, nouveau_bo_mem_ctxdma(nvbo, chan, new_mem)); + + if (dev_priv->card_type >= NV_50) { + ret = RING_SPACE(chan, 4); + if (ret) + return ret; + BEGIN_RING(chan, NvSubM2MF, 0x0200, 1); + OUT_RING(chan, 1); + BEGIN_RING(chan, NvSubM2MF, 0x021c, 1); + OUT_RING(chan, 1); + } + + page_count = new_mem->num_pages; + while (page_count) { + int line_count = (page_count > 2047) ? 2047 : page_count; + + if (dev_priv->card_type >= NV_50) { + ret = RING_SPACE(chan, 3); + if (ret) + return ret; + BEGIN_RING(chan, NvSubM2MF, 0x0238, 2); + OUT_RING(chan, upper_32_bits(src_offset)); + OUT_RING(chan, upper_32_bits(dst_offset)); + } + ret = RING_SPACE(chan, 11); + if (ret) + return ret; + BEGIN_RING(chan, NvSubM2MF, + NV_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN, 8); + OUT_RING(chan, lower_32_bits(src_offset)); + OUT_RING(chan, lower_32_bits(dst_offset)); + OUT_RING(chan, PAGE_SIZE); /* src_pitch */ + OUT_RING(chan, PAGE_SIZE); /* dst_pitch */ + OUT_RING(chan, PAGE_SIZE); /* line_length */ + OUT_RING(chan, line_count); + OUT_RING(chan, (1<<8)|(1<<0)); + OUT_RING(chan, 0); + BEGIN_RING(chan, NvSubM2MF, NV_MEMORY_TO_MEMORY_FORMAT_NOP, 1); + OUT_RING(chan, 0); + + page_count -= line_count; + src_offset += (PAGE_SIZE * line_count); + dst_offset += (PAGE_SIZE * line_count); + } + + return nouveau_bo_move_accel_cleanup(chan, nvbo, evict, no_wait, new_mem); +} + +static int +nouveau_bo_move_flipd(struct ttm_buffer_object *bo, bool evict, bool intr, + bool no_wait, struct ttm_mem_reg *new_mem) +{ + u32 placement_memtype = TTM_PL_FLAG_TT | TTM_PL_MASK_CACHING; + struct ttm_placement placement; + struct ttm_mem_reg tmp_mem; + int ret; + + placement.fpfn = placement.lpfn = 0; + placement.num_placement = placement.num_busy_placement = 1; + placement.placement = placement.busy_placement = &placement_memtype; + + tmp_mem = *new_mem; + tmp_mem.mm_node = NULL; + ret = ttm_bo_mem_space(bo, &placement, &tmp_mem, intr, no_wait); + if (ret) + return ret; + + ret = ttm_tt_bind(bo->ttm, &tmp_mem); + if (ret) + goto out; + + ret = nouveau_bo_move_m2mf(bo, true, intr, no_wait, &tmp_mem); + if (ret) + goto out; + + ret = ttm_bo_move_ttm(bo, evict, no_wait, new_mem); +out: + if (tmp_mem.mm_node) { + spin_lock(&bo->bdev->glob->lru_lock); + drm_mm_put_block(tmp_mem.mm_node); + spin_unlock(&bo->bdev->glob->lru_lock); + } + + return ret; +} + +static int +nouveau_bo_move_flips(struct ttm_buffer_object *bo, bool evict, bool intr, + bool no_wait, struct ttm_mem_reg *new_mem) +{ + u32 placement_memtype = TTM_PL_FLAG_TT | TTM_PL_MASK_CACHING; + struct ttm_placement placement; + struct ttm_mem_reg tmp_mem; + int ret; + + placement.fpfn = placement.lpfn = 0; + placement.num_placement = placement.num_busy_placement = 1; + placement.placement = placement.busy_placement = &placement_memtype; + + tmp_mem = *new_mem; + tmp_mem.mm_node = NULL; + ret = ttm_bo_mem_space(bo, &placement, &tmp_mem, intr, no_wait); + if (ret) + return ret; + + ret = ttm_bo_move_ttm(bo, evict, no_wait, &tmp_mem); + if (ret) + goto out; + + ret = nouveau_bo_move_m2mf(bo, evict, intr, no_wait, new_mem); + if (ret) + goto out; + +out: + if (tmp_mem.mm_node) { + spin_lock(&bo->bdev->glob->lru_lock); + drm_mm_put_block(tmp_mem.mm_node); + spin_unlock(&bo->bdev->glob->lru_lock); + } + + return ret; +} + +static int +nouveau_bo_vm_bind(struct ttm_buffer_object *bo, struct ttm_mem_reg *new_mem, + struct nouveau_tile_reg **new_tile) +{ + struct drm_nouveau_private *dev_priv = nouveau_bdev(bo->bdev); + struct drm_device *dev = dev_priv->dev; + struct nouveau_bo *nvbo = nouveau_bo(bo); + uint64_t offset; + int ret; + + if (nvbo->no_vm || new_mem->mem_type != TTM_PL_VRAM) { + /* Nothing to do. */ + *new_tile = NULL; + return 0; + } + + offset = new_mem->mm_node->start << PAGE_SHIFT; + + if (dev_priv->card_type == NV_50) { + ret = nv50_mem_vm_bind_linear(dev, + offset + dev_priv->vm_vram_base, + new_mem->size, nvbo->tile_flags, + offset); + if (ret) + return ret; + + } else if (dev_priv->card_type >= NV_10) { + *new_tile = nv10_mem_set_tiling(dev, offset, new_mem->size, + nvbo->tile_mode); + } + + return 0; +} + +static void +nouveau_bo_vm_cleanup(struct ttm_buffer_object *bo, + struct nouveau_tile_reg *new_tile, + struct nouveau_tile_reg **old_tile) +{ + struct drm_nouveau_private *dev_priv = nouveau_bdev(bo->bdev); + struct drm_device *dev = dev_priv->dev; + + if (dev_priv->card_type >= NV_10 && + dev_priv->card_type < NV_50) { + if (*old_tile) + nv10_mem_expire_tiling(dev, *old_tile, bo->sync_obj); + + *old_tile = new_tile; + } +} + +static int +nouveau_bo_move(struct ttm_buffer_object *bo, bool evict, bool intr, + bool no_wait, struct ttm_mem_reg *new_mem) +{ + struct drm_nouveau_private *dev_priv = nouveau_bdev(bo->bdev); + struct nouveau_bo *nvbo = nouveau_bo(bo); + struct ttm_mem_reg *old_mem = &bo->mem; + struct nouveau_tile_reg *new_tile = NULL; + int ret = 0; + + ret = nouveau_bo_vm_bind(bo, new_mem, &new_tile); + if (ret) + return ret; + + /* Software copy if the card isn't up and running yet. */ + if (dev_priv->init_state != NOUVEAU_CARD_INIT_DONE || + !dev_priv->channel) { + ret = ttm_bo_move_memcpy(bo, evict, no_wait, new_mem); + goto out; + } + + /* Fake bo copy. */ + if (old_mem->mem_type == TTM_PL_SYSTEM && !bo->ttm) { + BUG_ON(bo->mem.mm_node != NULL); + bo->mem = *new_mem; + new_mem->mm_node = NULL; + goto out; + } + + /* Hardware assisted copy. */ + if (new_mem->mem_type == TTM_PL_SYSTEM) + ret = nouveau_bo_move_flipd(bo, evict, intr, no_wait, new_mem); + else if (old_mem->mem_type == TTM_PL_SYSTEM) + ret = nouveau_bo_move_flips(bo, evict, intr, no_wait, new_mem); + else + ret = nouveau_bo_move_m2mf(bo, evict, intr, no_wait, new_mem); + + if (!ret) + goto out; + + /* Fallback to software copy. */ + ret = ttm_bo_move_memcpy(bo, evict, no_wait, new_mem); + +out: + if (ret) + nouveau_bo_vm_cleanup(bo, NULL, &new_tile); + else + nouveau_bo_vm_cleanup(bo, new_tile, &nvbo->tile); + + return ret; +} + +static int +nouveau_bo_verify_access(struct ttm_buffer_object *bo, struct file *filp) +{ + return 0; +} + +struct ttm_bo_driver nouveau_bo_driver = { + .create_ttm_backend_entry = nouveau_bo_create_ttm_backend_entry, + .invalidate_caches = nouveau_bo_invalidate_caches, + .init_mem_type = nouveau_bo_init_mem_type, + .evict_flags = nouveau_bo_evict_flags, + .move = nouveau_bo_move, + .verify_access = nouveau_bo_verify_access, + .sync_obj_signaled = nouveau_fence_signalled, + .sync_obj_wait = nouveau_fence_wait, + .sync_obj_flush = nouveau_fence_flush, + .sync_obj_unref = nouveau_fence_unref, + .sync_obj_ref = nouveau_fence_ref, +}; + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_calc.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_calc.c @@ -0,0 +1,478 @@ +/* + * Copyright 1993-2003 NVIDIA, Corporation + * Copyright 2007-2009 Stuart Bennett + * + * 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 AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include "drmP.h" +#include "nouveau_drv.h" +#include "nouveau_hw.h" + +/****************************************************************************\ +* * +* The video arbitration routines calculate some "magic" numbers. Fixes * +* the snow seen when accessing the framebuffer without it. * +* It just works (I hope). * +* * +\****************************************************************************/ + +struct nv_fifo_info { + int lwm; + int burst; +}; + +struct nv_sim_state { + int pclk_khz; + int mclk_khz; + int nvclk_khz; + int bpp; + int mem_page_miss; + int mem_latency; + int memory_type; + int memory_width; + int two_heads; +}; + +static void +nv04_calc_arb(struct nv_fifo_info *fifo, struct nv_sim_state *arb) +{ + int pagemiss, cas, width, bpp; + int nvclks, mclks, pclks, crtpagemiss; + int found, mclk_extra, mclk_loop, cbs, m1, p1; + int mclk_freq, pclk_freq, nvclk_freq; + int us_m, us_n, us_p, crtc_drain_rate; + int cpm_us, us_crt, clwm; + + pclk_freq = arb->pclk_khz; + mclk_freq = arb->mclk_khz; + nvclk_freq = arb->nvclk_khz; + pagemiss = arb->mem_page_miss; + cas = arb->mem_latency; + width = arb->memory_width >> 6; + bpp = arb->bpp; + cbs = 128; + + pclks = 2; + nvclks = 10; + mclks = 13 + cas; + mclk_extra = 3; + found = 0; + + while (!found) { + found = 1; + + mclk_loop = mclks + mclk_extra; + us_m = mclk_loop * 1000 * 1000 / mclk_freq; + us_n = nvclks * 1000 * 1000 / nvclk_freq; + us_p = nvclks * 1000 * 1000 / pclk_freq; + + crtc_drain_rate = pclk_freq * bpp / 8; + crtpagemiss = 2; + crtpagemiss += 1; + cpm_us = crtpagemiss * pagemiss * 1000 * 1000 / mclk_freq; + us_crt = cpm_us + us_m + us_n + us_p; + clwm = us_crt * crtc_drain_rate / (1000 * 1000); + clwm++; + + m1 = clwm + cbs - 512; + p1 = m1 * pclk_freq / mclk_freq; + p1 = p1 * bpp / 8; + if ((p1 < m1 && m1 > 0) || clwm > 519) { + found = !mclk_extra; + mclk_extra--; + } + if (clwm < 384) + clwm = 384; + + fifo->lwm = clwm; + fifo->burst = cbs; + } +} + +static void +nv10_calc_arb(struct nv_fifo_info *fifo, struct nv_sim_state *arb) +{ + int fill_rate, drain_rate; + int pclks, nvclks, mclks, xclks; + int pclk_freq, nvclk_freq, mclk_freq; + int fill_lat, extra_lat; + int max_burst_o, max_burst_l; + int fifo_len, min_lwm, max_lwm; + const int burst_lat = 80; /* Maximum allowable latency due + * to the CRTC FIFO burst. (ns) */ + + pclk_freq = arb->pclk_khz; + nvclk_freq = arb->nvclk_khz; + mclk_freq = arb->mclk_khz; + + fill_rate = mclk_freq * arb->memory_width / 8; /* kB/s */ + drain_rate = pclk_freq * arb->bpp / 8; /* kB/s */ + + fifo_len = arb->two_heads ? 1536 : 1024; /* B */ + + /* Fixed FIFO refill latency. */ + + pclks = 4; /* lwm detect. */ + + nvclks = 3 /* lwm -> sync. */ + + 2 /* fbi bus cycles (1 req + 1 busy) */ + + 1 /* 2 edge sync. may be very close to edge so + * just put one. */ + + 1 /* fbi_d_rdv_n */ + + 1 /* Fbi_d_rdata */ + + 1; /* crtfifo load */ + + mclks = 1 /* 2 edge sync. may be very close to edge so + * just put one. */ + + 1 /* arb_hp_req */ + + 5 /* tiling pipeline */ + + 2 /* latency fifo */ + + 2 /* memory request to fbio block */ + + 7; /* data returned from fbio block */ + + /* Need to accumulate 256 bits for read */ + mclks += (arb->memory_type == 0 ? 2 : 1) + * arb->memory_width / 32; + + fill_lat = mclks * 1000 * 1000 / mclk_freq /* minimum mclk latency */ + + nvclks * 1000 * 1000 / nvclk_freq /* nvclk latency */ + + pclks * 1000 * 1000 / pclk_freq; /* pclk latency */ + + /* Conditional FIFO refill latency. */ + + xclks = 2 * arb->mem_page_miss + mclks /* Extra latency due to + * the overlay. */ + + 2 * arb->mem_page_miss /* Extra pagemiss latency. */ + + (arb->bpp == 32 ? 8 : 4); /* Margin of error. */ + + extra_lat = xclks * 1000 * 1000 / mclk_freq; + + if (arb->two_heads) + /* Account for another CRTC. */ + extra_lat += fill_lat + extra_lat + burst_lat; + + /* FIFO burst */ + + /* Max burst not leading to overflows. */ + max_burst_o = (1 + fifo_len - extra_lat * drain_rate / (1000 * 1000)) + * (fill_rate / 1000) / ((fill_rate - drain_rate) / 1000); + fifo->burst = min(max_burst_o, 1024); + + /* Max burst value with an acceptable latency. */ + max_burst_l = burst_lat * fill_rate / (1000 * 1000); + fifo->burst = min(max_burst_l, fifo->burst); + + fifo->burst = rounddown_pow_of_two(fifo->burst); + + /* FIFO low watermark */ + + min_lwm = (fill_lat + extra_lat) * drain_rate / (1000 * 1000) + 1; + max_lwm = fifo_len - fifo->burst + + fill_lat * drain_rate / (1000 * 1000) + + fifo->burst * drain_rate / fill_rate; + + fifo->lwm = min_lwm + 10 * (max_lwm - min_lwm) / 100; /* Empirical. */ +} + +static void +nv04_update_arb(struct drm_device *dev, int VClk, int bpp, + int *burst, int *lwm) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv_fifo_info fifo_data; + struct nv_sim_state sim_data; + int MClk = nouveau_hw_get_clock(dev, MPLL); + int NVClk = nouveau_hw_get_clock(dev, NVPLL); + uint32_t cfg1 = nvReadFB(dev, NV_PFB_CFG1); + + sim_data.pclk_khz = VClk; + sim_data.mclk_khz = MClk; + sim_data.nvclk_khz = NVClk; + sim_data.bpp = bpp; + sim_data.two_heads = nv_two_heads(dev); + if ((dev->pci_device & 0xffff) == 0x01a0 /*CHIPSET_NFORCE*/ || + (dev->pci_device & 0xffff) == 0x01f0 /*CHIPSET_NFORCE2*/) { + uint32_t type; + + pci_read_config_dword(pci_get_bus_and_slot(0, 1), 0x7c, &type); + + sim_data.memory_type = (type >> 12) & 1; + sim_data.memory_width = 64; + sim_data.mem_latency = 3; + sim_data.mem_page_miss = 10; + } else { + sim_data.memory_type = nvReadFB(dev, NV_PFB_CFG0) & 0x1; + sim_data.memory_width = (nvReadEXTDEV(dev, NV_PEXTDEV_BOOT_0) & 0x10) ? 128 : 64; + sim_data.mem_latency = cfg1 & 0xf; + sim_data.mem_page_miss = ((cfg1 >> 4) & 0xf) + ((cfg1 >> 31) & 0x1); + } + + if (dev_priv->card_type == NV_04) + nv04_calc_arb(&fifo_data, &sim_data); + else + nv10_calc_arb(&fifo_data, &sim_data); + + *burst = ilog2(fifo_data.burst >> 4); + *lwm = fifo_data.lwm >> 3; +} + +static void +nv30_update_arb(int *burst, int *lwm) +{ + unsigned int fifo_size, burst_size, graphics_lwm; + + fifo_size = 2048; + burst_size = 512; + graphics_lwm = fifo_size - burst_size; + + *burst = ilog2(burst_size >> 5); + *lwm = graphics_lwm >> 3; +} + +void +nouveau_calc_arb(struct drm_device *dev, int vclk, int bpp, int *burst, int *lwm) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + if (dev_priv->card_type < NV_30) + nv04_update_arb(dev, vclk, bpp, burst, lwm); + else if ((dev->pci_device & 0xfff0) == 0x0240 /*CHIPSET_C51*/ || + (dev->pci_device & 0xfff0) == 0x03d0 /*CHIPSET_C512*/) { + *burst = 128; + *lwm = 0x0480; + } else + nv30_update_arb(burst, lwm); +} + +static int +getMNP_single(struct drm_device *dev, struct pll_lims *pll_lim, int clk, + struct nouveau_pll_vals *bestpv) +{ + /* Find M, N and P for a single stage PLL + * + * Note that some bioses (NV3x) have lookup tables of precomputed MNP + * values, but we're too lazy to use those atm + * + * "clk" parameter in kHz + * returns calculated clock + */ + struct drm_nouveau_private *dev_priv = dev->dev_private; + int cv = dev_priv->vbios->chip_version; + int minvco = pll_lim->vco1.minfreq, maxvco = pll_lim->vco1.maxfreq; + int minM = pll_lim->vco1.min_m, maxM = pll_lim->vco1.max_m; + int minN = pll_lim->vco1.min_n, maxN = pll_lim->vco1.max_n; + int minU = pll_lim->vco1.min_inputfreq; + int maxU = pll_lim->vco1.max_inputfreq; + int minP = pll_lim->max_p ? pll_lim->min_p : 0; + int maxP = pll_lim->max_p ? pll_lim->max_p : pll_lim->max_usable_log2p; + int crystal = pll_lim->refclk; + int M, N, thisP, P; + int clkP, calcclk; + int delta, bestdelta = INT_MAX; + int bestclk = 0; + + /* this division verified for nv20, nv18, nv28 (Haiku), and nv34 */ + /* possibly correlated with introduction of 27MHz crystal */ + if (dev_priv->card_type < NV_50) { + if (cv < 0x17 || cv == 0x1a || cv == 0x20) { + if (clk > 250000) + maxM = 6; + if (clk > 340000) + maxM = 2; + } else if (cv < 0x40) { + if (clk > 150000) + maxM = 6; + if (clk > 200000) + maxM = 4; + if (clk > 340000) + maxM = 2; + } + } + + P = pll_lim->max_p ? maxP : (1 << maxP); + if ((clk * P) < minvco) { + minvco = clk * maxP; + maxvco = minvco * 2; + } + + if (clk + clk/200 > maxvco) /* +0.5% */ + maxvco = clk + clk/200; + + /* NV34 goes maxlog2P->0, NV20 goes 0->maxlog2P */ + for (thisP = minP; thisP <= maxP; thisP++) { + P = pll_lim->max_p ? thisP : (1 << thisP); + clkP = clk * P; + + if (clkP < minvco) + continue; + if (clkP > maxvco) + return bestclk; + + for (M = minM; M <= maxM; M++) { + if (crystal/M < minU) + return bestclk; + if (crystal/M > maxU) + continue; + + /* add crystal/2 to round better */ + N = (clkP * M + crystal/2) / crystal; + + if (N < minN) + continue; + if (N > maxN) + break; + + /* more rounding additions */ + calcclk = ((N * crystal + P/2) / P + M/2) / M; + delta = abs(calcclk - clk); + /* we do an exhaustive search rather than terminating + * on an optimality condition... + */ + if (delta < bestdelta) { + bestdelta = delta; + bestclk = calcclk; + bestpv->N1 = N; + bestpv->M1 = M; + bestpv->log2P = thisP; + if (delta == 0) /* except this one */ + return bestclk; + } + } + } + + return bestclk; +} + +static int +getMNP_double(struct drm_device *dev, struct pll_lims *pll_lim, int clk, + struct nouveau_pll_vals *bestpv) +{ + /* Find M, N and P for a two stage PLL + * + * Note that some bioses (NV30+) have lookup tables of precomputed MNP + * values, but we're too lazy to use those atm + * + * "clk" parameter in kHz + * returns calculated clock + */ + struct drm_nouveau_private *dev_priv = dev->dev_private; + int chip_version = dev_priv->vbios->chip_version; + int minvco1 = pll_lim->vco1.minfreq, maxvco1 = pll_lim->vco1.maxfreq; + int minvco2 = pll_lim->vco2.minfreq, maxvco2 = pll_lim->vco2.maxfreq; + int minU1 = pll_lim->vco1.min_inputfreq, minU2 = pll_lim->vco2.min_inputfreq; + int maxU1 = pll_lim->vco1.max_inputfreq, maxU2 = pll_lim->vco2.max_inputfreq; + int minM1 = pll_lim->vco1.min_m, maxM1 = pll_lim->vco1.max_m; + int minN1 = pll_lim->vco1.min_n, maxN1 = pll_lim->vco1.max_n; + int minM2 = pll_lim->vco2.min_m, maxM2 = pll_lim->vco2.max_m; + int minN2 = pll_lim->vco2.min_n, maxN2 = pll_lim->vco2.max_n; + int maxlog2P = pll_lim->max_usable_log2p; + int crystal = pll_lim->refclk; + bool fixedgain2 = (minM2 == maxM2 && minN2 == maxN2); + int M1, N1, M2, N2, log2P; + int clkP, calcclk1, calcclk2, calcclkout; + int delta, bestdelta = INT_MAX; + int bestclk = 0; + + int vco2 = (maxvco2 - maxvco2/200) / 2; + for (log2P = 0; clk && log2P < maxlog2P && clk <= (vco2 >> log2P); log2P++) + ; + clkP = clk << log2P; + + if (maxvco2 < clk + clk/200) /* +0.5% */ + maxvco2 = clk + clk/200; + + for (M1 = minM1; M1 <= maxM1; M1++) { + if (crystal/M1 < minU1) + return bestclk; + if (crystal/M1 > maxU1) + continue; + + for (N1 = minN1; N1 <= maxN1; N1++) { + calcclk1 = crystal * N1 / M1; + if (calcclk1 < minvco1) + continue; + if (calcclk1 > maxvco1) + break; + + for (M2 = minM2; M2 <= maxM2; M2++) { + if (calcclk1/M2 < minU2) + break; + if (calcclk1/M2 > maxU2) + continue; + + /* add calcclk1/2 to round better */ + N2 = (clkP * M2 + calcclk1/2) / calcclk1; + if (N2 < minN2) + continue; + if (N2 > maxN2) + break; + + if (!fixedgain2) { + if (chip_version < 0x60) + if (N2/M2 < 4 || N2/M2 > 10) + continue; + + calcclk2 = calcclk1 * N2 / M2; + if (calcclk2 < minvco2) + break; + if (calcclk2 > maxvco2) + continue; + } else + calcclk2 = calcclk1; + + calcclkout = calcclk2 >> log2P; + delta = abs(calcclkout - clk); + /* we do an exhaustive search rather than terminating + * on an optimality condition... + */ + if (delta < bestdelta) { + bestdelta = delta; + bestclk = calcclkout; + bestpv->N1 = N1; + bestpv->M1 = M1; + bestpv->N2 = N2; + bestpv->M2 = M2; + bestpv->log2P = log2P; + if (delta == 0) /* except this one */ + return bestclk; + } + } + } + } + + return bestclk; +} + +int +nouveau_calc_pll_mnp(struct drm_device *dev, struct pll_lims *pll_lim, int clk, + struct nouveau_pll_vals *pv) +{ + int outclk; + + if (!pll_lim->vco2.maxfreq) + outclk = getMNP_single(dev, pll_lim, clk, pv); + else + outclk = getMNP_double(dev, pll_lim, clk, pv); + + if (!outclk) + NV_ERROR(dev, "Could not find a compatible set of PLL values\n"); + + return outclk; +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_channel.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_channel.c @@ -0,0 +1,430 @@ +/* + * Copyright 2005-2006 Stephane Marchesin + * 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 + * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" +#include "nouveau_drm.h" +#include "nouveau_dma.h" + +static int +nouveau_channel_pushbuf_ctxdma_init(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_bo *pb = chan->pushbuf_bo; + struct nouveau_gpuobj *pushbuf = NULL; + uint32_t start = pb->bo.mem.mm_node->start << PAGE_SHIFT; + int ret; + + if (pb->bo.mem.mem_type == TTM_PL_TT) { + ret = nouveau_gpuobj_gart_dma_new(chan, 0, + dev_priv->gart_info.aper_size, + NV_DMA_ACCESS_RO, &pushbuf, + NULL); + chan->pushbuf_base = start; + } else + if (dev_priv->card_type != NV_04) { + ret = nouveau_gpuobj_dma_new(chan, NV_CLASS_DMA_IN_MEMORY, 0, + dev_priv->fb_available_size, + NV_DMA_ACCESS_RO, + NV_DMA_TARGET_VIDMEM, &pushbuf); + chan->pushbuf_base = start; + } else { + /* NV04 cmdbuf hack, from original ddx.. not sure of it's + * exact reason for existing :) PCI access to cmdbuf in + * VRAM. + */ + ret = nouveau_gpuobj_dma_new(chan, NV_CLASS_DMA_IN_MEMORY, + drm_get_resource_start(dev, 1), + dev_priv->fb_available_size, + NV_DMA_ACCESS_RO, + NV_DMA_TARGET_PCI, &pushbuf); + chan->pushbuf_base = start; + } + + ret = nouveau_gpuobj_ref_add(dev, chan, 0, pushbuf, &chan->pushbuf); + if (ret) { + NV_ERROR(dev, "Error referencing pushbuf ctxdma: %d\n", ret); + if (pushbuf != dev_priv->gart_info.sg_ctxdma) + nouveau_gpuobj_del(dev, &pushbuf); + return ret; + } + + return 0; +} + +static struct nouveau_bo * +nouveau_channel_user_pushbuf_alloc(struct drm_device *dev) +{ + struct nouveau_bo *pushbuf = NULL; + int location, ret; + + if (nouveau_vram_pushbuf) + location = TTM_PL_FLAG_VRAM; + else + location = TTM_PL_FLAG_TT; + + ret = nouveau_bo_new(dev, NULL, 65536, 0, location, 0, 0x0000, false, + true, &pushbuf); + if (ret) { + NV_ERROR(dev, "error allocating DMA push buffer: %d\n", ret); + return NULL; + } + + ret = nouveau_bo_pin(pushbuf, location); + if (ret) { + NV_ERROR(dev, "error pinning DMA push buffer: %d\n", ret); + nouveau_bo_ref(NULL, &pushbuf); + return NULL; + } + + return pushbuf; +} + +/* allocates and initializes a fifo for user space consumption */ +int +nouveau_channel_alloc(struct drm_device *dev, struct nouveau_channel **chan_ret, + struct drm_file *file_priv, + uint32_t vram_handle, uint32_t tt_handle) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_pgraph_engine *pgraph = &dev_priv->engine.graph; + struct nouveau_fifo_engine *pfifo = &dev_priv->engine.fifo; + struct nouveau_channel *chan; + int channel, user; + int ret; + + /* + * Alright, here is the full story + * Nvidia cards have multiple hw fifo contexts (praise them for that, + * no complicated crash-prone context switches) + * We allocate a new context for each app and let it write to it + * directly (woo, full userspace command submission !) + * When there are no more contexts, you lost + */ + for (channel = 0; channel < pfifo->channels; channel++) { + if (dev_priv->fifos[channel] == NULL) + break; + } + + /* no more fifos. you lost. */ + if (channel == pfifo->channels) + return -EINVAL; + + dev_priv->fifos[channel] = kzalloc(sizeof(struct nouveau_channel), + GFP_KERNEL); + if (!dev_priv->fifos[channel]) + return -ENOMEM; + dev_priv->fifo_alloc_count++; + chan = dev_priv->fifos[channel]; + INIT_LIST_HEAD(&chan->nvsw.vbl_wait); + INIT_LIST_HEAD(&chan->fence.pending); + chan->dev = dev; + chan->id = channel; + chan->file_priv = file_priv; + chan->vram_handle = vram_handle; + chan->gart_handle = tt_handle; + + NV_INFO(dev, "Allocating FIFO number %d\n", channel); + + /* Allocate DMA push buffer */ + chan->pushbuf_bo = nouveau_channel_user_pushbuf_alloc(dev); + if (!chan->pushbuf_bo) { + ret = -ENOMEM; + NV_ERROR(dev, "pushbuf %d\n", ret); + nouveau_channel_free(chan); + return ret; + } + + nouveau_dma_pre_init(chan); + + /* Locate channel's user control regs */ + if (dev_priv->card_type < NV_40) + user = NV03_USER(channel); + else + if (dev_priv->card_type < NV_50) + user = NV40_USER(channel); + else + user = NV50_USER(channel); + + chan->user = ioremap(pci_resource_start(dev->pdev, 0) + user, + PAGE_SIZE); + if (!chan->user) { + NV_ERROR(dev, "ioremap of regs failed.\n"); + nouveau_channel_free(chan); + return -ENOMEM; + } + chan->user_put = 0x40; + chan->user_get = 0x44; + + /* Allocate space for per-channel fixed notifier memory */ + ret = nouveau_notifier_init_channel(chan); + if (ret) { + NV_ERROR(dev, "ntfy %d\n", ret); + nouveau_channel_free(chan); + return ret; + } + + /* Setup channel's default objects */ + ret = nouveau_gpuobj_channel_init(chan, vram_handle, tt_handle); + if (ret) { + NV_ERROR(dev, "gpuobj %d\n", ret); + nouveau_channel_free(chan); + return ret; + } + + /* Create a dma object for the push buffer */ + ret = nouveau_channel_pushbuf_ctxdma_init(chan); + if (ret) { + NV_ERROR(dev, "pbctxdma %d\n", ret); + nouveau_channel_free(chan); + return ret; + } + + /* disable the fifo caches */ + pfifo->reassign(dev, false); + + /* Create a graphics context for new channel */ + ret = pgraph->create_context(chan); + if (ret) { + nouveau_channel_free(chan); + return ret; + } + + /* Construct inital RAMFC for new channel */ + ret = pfifo->create_context(chan); + if (ret) { + nouveau_channel_free(chan); + return ret; + } + + pfifo->reassign(dev, true); + + ret = nouveau_dma_init(chan); + if (!ret) + ret = nouveau_fence_init(chan); + if (ret) { + nouveau_channel_free(chan); + return ret; + } + + nouveau_debugfs_channel_init(chan); + + NV_INFO(dev, "%s: initialised FIFO %d\n", __func__, channel); + *chan_ret = chan; + return 0; +} + +/* stops a fifo */ +void +nouveau_channel_free(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_pgraph_engine *pgraph = &dev_priv->engine.graph; + struct nouveau_fifo_engine *pfifo = &dev_priv->engine.fifo; + unsigned long flags; + int ret; + + NV_INFO(dev, "%s: freeing fifo %d\n", __func__, chan->id); + + nouveau_debugfs_channel_fini(chan); + + /* Give outstanding push buffers a chance to complete */ + spin_lock_irqsave(&chan->fence.lock, flags); + nouveau_fence_update(chan); + spin_unlock_irqrestore(&chan->fence.lock, flags); + if (chan->fence.sequence != chan->fence.sequence_ack) { + struct nouveau_fence *fence = NULL; + + ret = nouveau_fence_new(chan, &fence, true); + if (ret == 0) { + ret = nouveau_fence_wait(fence, NULL, false, false); + nouveau_fence_unref((void *)&fence); + } + + if (ret) + NV_ERROR(dev, "Failed to idle channel %d.\n", chan->id); + } + + /* Ensure all outstanding fences are signaled. They should be if the + * above attempts at idling were OK, but if we failed this'll tell TTM + * we're done with the buffers. + */ + nouveau_fence_fini(chan); + + /* Ensure the channel is no longer active on the GPU */ + pfifo->reassign(dev, false); + + pgraph->fifo_access(dev, false); + if (pgraph->channel(dev) == chan) + pgraph->unload_context(dev); + pgraph->destroy_context(chan); + pgraph->fifo_access(dev, true); + + if (pfifo->channel_id(dev) == chan->id) { + pfifo->disable(dev); + pfifo->unload_context(dev); + pfifo->enable(dev); + } + pfifo->destroy_context(chan); + + pfifo->reassign(dev, true); + + /* Release the channel's resources */ + nouveau_gpuobj_ref_del(dev, &chan->pushbuf); + if (chan->pushbuf_bo) { + nouveau_bo_unpin(chan->pushbuf_bo); + nouveau_bo_ref(NULL, &chan->pushbuf_bo); + } + nouveau_gpuobj_channel_takedown(chan); + nouveau_notifier_takedown_channel(chan); + if (chan->user) + iounmap(chan->user); + + dev_priv->fifos[chan->id] = NULL; + dev_priv->fifo_alloc_count--; + kfree(chan); +} + +/* cleans up all the fifos from file_priv */ +void +nouveau_channel_cleanup(struct drm_device *dev, struct drm_file *file_priv) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_engine *engine = &dev_priv->engine; + int i; + + NV_DEBUG(dev, "clearing FIFO enables from file_priv\n"); + for (i = 0; i < engine->fifo.channels; i++) { + struct nouveau_channel *chan = dev_priv->fifos[i]; + + if (chan && chan->file_priv == file_priv) + nouveau_channel_free(chan); + } +} + +int +nouveau_channel_owner(struct drm_device *dev, struct drm_file *file_priv, + int channel) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_engine *engine = &dev_priv->engine; + + if (channel >= engine->fifo.channels) + return 0; + if (dev_priv->fifos[channel] == NULL) + return 0; + + return (dev_priv->fifos[channel]->file_priv == file_priv); +} + +/*********************************** + * ioctls wrapping the functions + ***********************************/ + +static int +nouveau_ioctl_fifo_alloc(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct drm_nouveau_channel_alloc *init = data; + struct nouveau_channel *chan; + int ret; + + NOUVEAU_CHECK_INITIALISED_WITH_RETURN; + + if (dev_priv->engine.graph.accel_blocked) + return -ENODEV; + + if (init->fb_ctxdma_handle == ~0 || init->tt_ctxdma_handle == ~0) + return -EINVAL; + + ret = nouveau_channel_alloc(dev, &chan, file_priv, + init->fb_ctxdma_handle, + init->tt_ctxdma_handle); + if (ret) + return ret; + init->channel = chan->id; + + init->subchan[0].handle = NvM2MF; + if (dev_priv->card_type < NV_50) + init->subchan[0].grclass = 0x0039; + else + init->subchan[0].grclass = 0x5039; + init->subchan[1].handle = NvSw; + init->subchan[1].grclass = NV_SW; + init->nr_subchan = 2; + + /* Named memory object area */ + ret = drm_gem_handle_create(file_priv, chan->notifier_bo->gem, + &init->notifier_handle); + if (ret) { + nouveau_channel_free(chan); + return ret; + } + + return 0; +} + +static int +nouveau_ioctl_fifo_free(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_nouveau_channel_free *cfree = data; + struct nouveau_channel *chan; + + NOUVEAU_CHECK_INITIALISED_WITH_RETURN; + NOUVEAU_GET_USER_CHANNEL_WITH_RETURN(cfree->channel, file_priv, chan); + + nouveau_channel_free(chan); + return 0; +} + +/*********************************** + * finally, the ioctl table + ***********************************/ + +struct drm_ioctl_desc nouveau_ioctls[] = { + DRM_IOCTL_DEF(DRM_NOUVEAU_CARD_INIT, nouveau_ioctl_card_init, DRM_AUTH), + DRM_IOCTL_DEF(DRM_NOUVEAU_GETPARAM, nouveau_ioctl_getparam, DRM_AUTH), + DRM_IOCTL_DEF(DRM_NOUVEAU_SETPARAM, nouveau_ioctl_setparam, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), + DRM_IOCTL_DEF(DRM_NOUVEAU_CHANNEL_ALLOC, nouveau_ioctl_fifo_alloc, DRM_AUTH), + DRM_IOCTL_DEF(DRM_NOUVEAU_CHANNEL_FREE, nouveau_ioctl_fifo_free, DRM_AUTH), + DRM_IOCTL_DEF(DRM_NOUVEAU_GROBJ_ALLOC, nouveau_ioctl_grobj_alloc, DRM_AUTH), + DRM_IOCTL_DEF(DRM_NOUVEAU_NOTIFIEROBJ_ALLOC, nouveau_ioctl_notifier_alloc, DRM_AUTH), + DRM_IOCTL_DEF(DRM_NOUVEAU_GPUOBJ_FREE, nouveau_ioctl_gpuobj_free, DRM_AUTH), + DRM_IOCTL_DEF(DRM_NOUVEAU_GEM_NEW, nouveau_gem_ioctl_new, DRM_AUTH), + DRM_IOCTL_DEF(DRM_NOUVEAU_GEM_PUSHBUF, nouveau_gem_ioctl_pushbuf, DRM_AUTH), + DRM_IOCTL_DEF(DRM_NOUVEAU_GEM_PUSHBUF_CALL, nouveau_gem_ioctl_pushbuf_call, DRM_AUTH), + DRM_IOCTL_DEF(DRM_NOUVEAU_GEM_PIN, nouveau_gem_ioctl_pin, DRM_AUTH), + DRM_IOCTL_DEF(DRM_NOUVEAU_GEM_UNPIN, nouveau_gem_ioctl_unpin, DRM_AUTH), + DRM_IOCTL_DEF(DRM_NOUVEAU_GEM_CPU_PREP, nouveau_gem_ioctl_cpu_prep, DRM_AUTH), + DRM_IOCTL_DEF(DRM_NOUVEAU_GEM_CPU_FINI, nouveau_gem_ioctl_cpu_fini, DRM_AUTH), + DRM_IOCTL_DEF(DRM_NOUVEAU_GEM_INFO, nouveau_gem_ioctl_info, DRM_AUTH), + DRM_IOCTL_DEF(DRM_NOUVEAU_GEM_PUSHBUF_CALL2, nouveau_gem_ioctl_pushbuf_call2, DRM_AUTH), +}; + +int nouveau_max_ioctl = DRM_ARRAY_SIZE(nouveau_ioctls); --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_connector.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_connector.c @@ -0,0 +1,848 @@ +/* + * Copyright (C) 2008 Maarten Maathuis. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +#include "drmP.h" +#include "drm_edid.h" +#include "drm_crtc_helper.h" + +#include "nouveau_reg.h" +#include "nouveau_drv.h" +#include "nouveau_encoder.h" +#include "nouveau_crtc.h" +#include "nouveau_connector.h" +#include "nouveau_hw.h" + +static inline struct drm_encoder_slave_funcs * +get_slave_funcs(struct nouveau_encoder *enc) +{ + return to_encoder_slave(to_drm_encoder(enc))->slave_funcs; +} + +static struct nouveau_encoder * +find_encoder_by_type(struct drm_connector *connector, int type) +{ + struct drm_device *dev = connector->dev; + struct nouveau_encoder *nv_encoder; + struct drm_mode_object *obj; + int i, id; + + for (i = 0; i < DRM_CONNECTOR_MAX_ENCODER; i++) { + id = connector->encoder_ids[i]; + if (!id) + break; + + obj = drm_mode_object_find(dev, id, DRM_MODE_OBJECT_ENCODER); + if (!obj) + continue; + nv_encoder = nouveau_encoder(obj_to_encoder(obj)); + + if (type == OUTPUT_ANY || nv_encoder->dcb->type == type) + return nv_encoder; + } + + return NULL; +} + +struct nouveau_connector * +nouveau_encoder_connector_get(struct nouveau_encoder *encoder) +{ + struct drm_device *dev = to_drm_encoder(encoder)->dev; + struct drm_connector *drm_connector; + + list_for_each_entry(drm_connector, &dev->mode_config.connector_list, head) { + if (drm_connector->encoder == to_drm_encoder(encoder)) + return nouveau_connector(drm_connector); + } + + return NULL; +} + + +static void +nouveau_connector_destroy(struct drm_connector *drm_connector) +{ + struct nouveau_connector *nv_connector = + nouveau_connector(drm_connector); + struct drm_device *dev; + + if (!nv_connector) + return; + + dev = nv_connector->base.dev; + NV_DEBUG_KMS(dev, "\n"); + + kfree(nv_connector->edid); + drm_sysfs_connector_remove(drm_connector); + drm_connector_cleanup(drm_connector); + kfree(drm_connector); +} + +static void +nouveau_connector_ddc_prepare(struct drm_connector *connector, int *flags) +{ + struct drm_nouveau_private *dev_priv = connector->dev->dev_private; + + if (dev_priv->card_type >= NV_50) + return; + + *flags = 0; + if (NVLockVgaCrtcs(dev_priv->dev, false)) + *flags |= 1; + if (nv_heads_tied(dev_priv->dev)) + *flags |= 2; + + if (*flags & 2) + NVSetOwner(dev_priv->dev, 0); /* necessary? */ +} + +static void +nouveau_connector_ddc_finish(struct drm_connector *connector, int flags) +{ + struct drm_nouveau_private *dev_priv = connector->dev->dev_private; + + if (dev_priv->card_type >= NV_50) + return; + + if (flags & 2) + NVSetOwner(dev_priv->dev, 4); + if (flags & 1) + NVLockVgaCrtcs(dev_priv->dev, true); +} + +static struct nouveau_i2c_chan * +nouveau_connector_ddc_detect(struct drm_connector *connector, + struct nouveau_encoder **pnv_encoder) +{ + struct drm_device *dev = connector->dev; + uint8_t out_buf[] = { 0x0, 0x0}, buf[2]; + int ret, flags, i; + + struct i2c_msg msgs[] = { + { + .addr = 0x50, + .flags = 0, + .len = 1, + .buf = out_buf, + }, + { + .addr = 0x50, + .flags = I2C_M_RD, + .len = 1, + .buf = buf, + } + }; + + for (i = 0; i < DRM_CONNECTOR_MAX_ENCODER; i++) { + struct nouveau_i2c_chan *i2c = NULL; + struct nouveau_encoder *nv_encoder; + struct drm_mode_object *obj; + int id; + + id = connector->encoder_ids[i]; + if (!id) + break; + + obj = drm_mode_object_find(dev, id, DRM_MODE_OBJECT_ENCODER); + if (!obj) + continue; + nv_encoder = nouveau_encoder(obj_to_encoder(obj)); + + if (nv_encoder->dcb->i2c_index < 0xf) + i2c = nouveau_i2c_find(dev, nv_encoder->dcb->i2c_index); + if (!i2c) + continue; + + nouveau_connector_ddc_prepare(connector, &flags); + ret = i2c_transfer(&i2c->adapter, msgs, 2); + nouveau_connector_ddc_finish(connector, flags); + + if (ret == 2) { + *pnv_encoder = nv_encoder; + return i2c; + } + } + + return NULL; +} + +static void +nouveau_connector_set_encoder(struct drm_connector *connector, + struct nouveau_encoder *nv_encoder) +{ + struct nouveau_connector *nv_connector = nouveau_connector(connector); + struct drm_nouveau_private *dev_priv = connector->dev->dev_private; + struct drm_device *dev = connector->dev; + + if (nv_connector->detected_encoder == nv_encoder) + return; + nv_connector->detected_encoder = nv_encoder; + + if (nv_encoder->dcb->type == OUTPUT_LVDS || + nv_encoder->dcb->type == OUTPUT_TMDS) { + connector->doublescan_allowed = false; + connector->interlace_allowed = false; + } else { + connector->doublescan_allowed = true; + if (dev_priv->card_type == NV_20 || + (dev_priv->card_type == NV_10 && + (dev->pci_device & 0x0ff0) != 0x0100 && + (dev->pci_device & 0x0ff0) != 0x0150)) + /* HW is broken */ + connector->interlace_allowed = false; + else + connector->interlace_allowed = true; + } + + if (connector->connector_type == DRM_MODE_CONNECTOR_DVII) { + drm_connector_property_set_value(connector, + dev->mode_config.dvi_i_subconnector_property, + nv_encoder->dcb->type == OUTPUT_TMDS ? + DRM_MODE_SUBCONNECTOR_DVID : + DRM_MODE_SUBCONNECTOR_DVIA); + } +} + +static enum drm_connector_status +nouveau_connector_detect(struct drm_connector *connector) +{ + struct drm_device *dev = connector->dev; + struct nouveau_connector *nv_connector = nouveau_connector(connector); + struct nouveau_encoder *nv_encoder = NULL; + struct nouveau_i2c_chan *i2c; + int type, flags; + + if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS) + nv_encoder = find_encoder_by_type(connector, OUTPUT_LVDS); + if (nv_encoder && nv_connector->native_mode) { + unsigned status = connector_status_connected; + +#ifdef CONFIG_ACPI + if (!nouveau_ignorelid && !acpi_lid_open()) + status = connector_status_unknown; +#endif + nouveau_connector_set_encoder(connector, nv_encoder); + return status; + } + + /* Cleanup the previous EDID block. */ + if (nv_connector->edid) { + drm_mode_connector_update_edid_property(connector, NULL); + kfree(nv_connector->edid); + nv_connector->edid = NULL; + } + + i2c = nouveau_connector_ddc_detect(connector, &nv_encoder); + if (i2c) { + nouveau_connector_ddc_prepare(connector, &flags); + nv_connector->edid = drm_get_edid(connector, &i2c->adapter); + nouveau_connector_ddc_finish(connector, flags); + drm_mode_connector_update_edid_property(connector, + nv_connector->edid); + if (!nv_connector->edid) { + NV_ERROR(dev, "DDC responded, but no EDID for %s\n", + drm_get_connector_name(connector)); + goto detect_analog; + } + + if (nv_encoder->dcb->type == OUTPUT_DP && + !nouveau_dp_detect(to_drm_encoder(nv_encoder))) { + NV_ERROR(dev, "Detected %s, but failed init\n", + drm_get_connector_name(connector)); + return connector_status_disconnected; + } + + /* Override encoder type for DVI-I based on whether EDID + * says the display is digital or analog, both use the + * same i2c channel so the value returned from ddc_detect + * isn't necessarily correct. + */ + if (connector->connector_type == DRM_MODE_CONNECTOR_DVII) { + if (nv_connector->edid->input & DRM_EDID_INPUT_DIGITAL) + type = OUTPUT_TMDS; + else + type = OUTPUT_ANALOG; + + nv_encoder = find_encoder_by_type(connector, type); + if (!nv_encoder) { + NV_ERROR(dev, "Detected %d encoder on %s, " + "but no object!\n", type, + drm_get_connector_name(connector)); + return connector_status_disconnected; + } + } + + nouveau_connector_set_encoder(connector, nv_encoder); + return connector_status_connected; + } + +detect_analog: + nv_encoder = find_encoder_by_type(connector, OUTPUT_ANALOG); + if (!nv_encoder) + nv_encoder = find_encoder_by_type(connector, OUTPUT_TV); + if (nv_encoder) { + struct drm_encoder *encoder = to_drm_encoder(nv_encoder); + struct drm_encoder_helper_funcs *helper = + encoder->helper_private; + + if (helper->detect(encoder, connector) == + connector_status_connected) { + nouveau_connector_set_encoder(connector, nv_encoder); + return connector_status_connected; + } + + } + + return connector_status_disconnected; +} + +static void +nouveau_connector_force(struct drm_connector *connector) +{ + struct drm_device *dev = connector->dev; + struct nouveau_encoder *nv_encoder; + int type; + + if (connector->connector_type == DRM_MODE_CONNECTOR_DVII) { + if (connector->force == DRM_FORCE_ON_DIGITAL) + type = OUTPUT_TMDS; + else + type = OUTPUT_ANALOG; + } else + type = OUTPUT_ANY; + + nv_encoder = find_encoder_by_type(connector, type); + if (!nv_encoder) { + NV_ERROR(dev, "can't find encoder to force %s on!\n", + drm_get_connector_name(connector)); + connector->status = connector_status_disconnected; + return; + } + + nouveau_connector_set_encoder(connector, nv_encoder); +} + +static int +nouveau_connector_set_property(struct drm_connector *connector, + struct drm_property *property, uint64_t value) +{ + struct nouveau_connector *nv_connector = nouveau_connector(connector); + struct nouveau_encoder *nv_encoder = nv_connector->detected_encoder; + struct drm_device *dev = connector->dev; + int ret; + + /* Scaling mode */ + if (property == dev->mode_config.scaling_mode_property) { + struct nouveau_crtc *nv_crtc = NULL; + bool modeset = false; + + switch (value) { + case DRM_MODE_SCALE_NONE: + case DRM_MODE_SCALE_FULLSCREEN: + case DRM_MODE_SCALE_CENTER: + case DRM_MODE_SCALE_ASPECT: + break; + default: + return -EINVAL; + } + + /* LVDS always needs gpu scaling */ + if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS && + value == DRM_MODE_SCALE_NONE) + return -EINVAL; + + /* Changing between GPU and panel scaling requires a full + * modeset + */ + if ((nv_connector->scaling_mode == DRM_MODE_SCALE_NONE) || + (value == DRM_MODE_SCALE_NONE)) + modeset = true; + nv_connector->scaling_mode = value; + + if (connector->encoder && connector->encoder->crtc) + nv_crtc = nouveau_crtc(connector->encoder->crtc); + if (!nv_crtc) + return 0; + + if (modeset || !nv_crtc->set_scale) { + ret = drm_crtc_helper_set_mode(&nv_crtc->base, + &nv_crtc->base.mode, + nv_crtc->base.x, + nv_crtc->base.y, NULL); + if (!ret) + return -EINVAL; + } else { + ret = nv_crtc->set_scale(nv_crtc, value, true); + if (ret) + return ret; + } + + return 0; + } + + /* Dithering */ + if (property == dev->mode_config.dithering_mode_property) { + struct nouveau_crtc *nv_crtc = NULL; + + if (value == DRM_MODE_DITHERING_ON) + nv_connector->use_dithering = true; + else + nv_connector->use_dithering = false; + + if (connector->encoder && connector->encoder->crtc) + nv_crtc = nouveau_crtc(connector->encoder->crtc); + + if (!nv_crtc || !nv_crtc->set_dither) + return 0; + + return nv_crtc->set_dither(nv_crtc, nv_connector->use_dithering, + true); + } + + if (nv_encoder && nv_encoder->dcb->type == OUTPUT_TV) + return get_slave_funcs(nv_encoder)-> + set_property(to_drm_encoder(nv_encoder), connector, property, value); + + return -EINVAL; +} + +static struct drm_display_mode * +nouveau_connector_native_mode(struct nouveau_connector *connector) +{ + struct drm_device *dev = connector->base.dev; + struct drm_display_mode *mode, *largest = NULL; + int high_w = 0, high_h = 0, high_v = 0; + + /* Use preferred mode if there is one.. */ + list_for_each_entry(mode, &connector->base.probed_modes, head) { + if (mode->type & DRM_MODE_TYPE_PREFERRED) { + NV_DEBUG_KMS(dev, "native mode from preferred\n"); + return drm_mode_duplicate(dev, mode); + } + } + + /* Otherwise, take the resolution with the largest width, then height, + * then vertical refresh + */ + list_for_each_entry(mode, &connector->base.probed_modes, head) { + if (mode->hdisplay < high_w) + continue; + + if (mode->hdisplay == high_w && mode->vdisplay < high_h) + continue; + + if (mode->hdisplay == high_w && mode->vdisplay == high_h && + mode->vrefresh < high_v) + continue; + + high_w = mode->hdisplay; + high_h = mode->vdisplay; + high_v = mode->vrefresh; + largest = mode; + } + + NV_DEBUG_KMS(dev, "native mode from largest: %dx%d@%d\n", + high_w, high_h, high_v); + return largest ? drm_mode_duplicate(dev, largest) : NULL; +} + +struct moderec { + int hdisplay; + int vdisplay; +}; + +static struct moderec scaler_modes[] = { + { 1920, 1200 }, + { 1920, 1080 }, + { 1680, 1050 }, + { 1600, 1200 }, + { 1400, 1050 }, + { 1280, 1024 }, + { 1280, 960 }, + { 1152, 864 }, + { 1024, 768 }, + { 800, 600 }, + { 720, 400 }, + { 640, 480 }, + { 640, 400 }, + { 640, 350 }, + {} +}; + +static int +nouveau_connector_scaler_modes_add(struct drm_connector *connector) +{ + struct nouveau_connector *nv_connector = nouveau_connector(connector); + struct drm_display_mode *native = nv_connector->native_mode, *m; + struct drm_device *dev = connector->dev; + struct moderec *mode = &scaler_modes[0]; + int modes = 0; + + if (!native) + return 0; + + while (mode->hdisplay) { + if (mode->hdisplay <= native->hdisplay && + mode->vdisplay <= native->vdisplay) { + m = drm_cvt_mode(dev, mode->hdisplay, mode->vdisplay, + drm_mode_vrefresh(native), false, + false, false); + if (!m) + continue; + + m->type |= DRM_MODE_TYPE_DRIVER; + + drm_mode_probed_add(connector, m); + modes++; + } + + mode++; + } + + return modes; +} + +static int +nouveau_connector_get_modes(struct drm_connector *connector) +{ + struct drm_device *dev = connector->dev; + struct nouveau_connector *nv_connector = nouveau_connector(connector); + struct nouveau_encoder *nv_encoder = nv_connector->detected_encoder; + int ret = 0; + + /* If we're not LVDS, destroy the previous native mode, the attached + * monitor could have changed. + */ + if (connector->connector_type != DRM_MODE_CONNECTOR_LVDS && + nv_connector->native_mode) { + drm_mode_destroy(dev, nv_connector->native_mode); + nv_connector->native_mode = NULL; + } + + if (nv_connector->edid) + ret = drm_add_edid_modes(connector, nv_connector->edid); + + /* Find the native mode if this is a digital panel, if we didn't + * find any modes through DDC previously add the native mode to + * the list of modes. + */ + if (!nv_connector->native_mode) + nv_connector->native_mode = + nouveau_connector_native_mode(nv_connector); + if (ret == 0 && nv_connector->native_mode) { + struct drm_display_mode *mode; + + mode = drm_mode_duplicate(dev, nv_connector->native_mode); + drm_mode_probed_add(connector, mode); + ret = 1; + } + + if (nv_encoder->dcb->type == OUTPUT_TV) + ret = get_slave_funcs(nv_encoder)-> + get_modes(to_drm_encoder(nv_encoder), connector); + + if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS) + ret += nouveau_connector_scaler_modes_add(connector); + + return ret; +} + +static int +nouveau_connector_mode_valid(struct drm_connector *connector, + struct drm_display_mode *mode) +{ + struct drm_nouveau_private *dev_priv = connector->dev->dev_private; + struct nouveau_connector *nv_connector = nouveau_connector(connector); + struct nouveau_encoder *nv_encoder = nv_connector->detected_encoder; + unsigned min_clock = 25000, max_clock = min_clock; + unsigned clock = mode->clock; + + switch (nv_encoder->dcb->type) { + case OUTPUT_LVDS: + BUG_ON(!nv_connector->native_mode); + if (mode->hdisplay > nv_connector->native_mode->hdisplay || + mode->vdisplay > nv_connector->native_mode->vdisplay) + return MODE_PANEL; + + min_clock = 0; + max_clock = 400000; + break; + case OUTPUT_TMDS: + if ((dev_priv->card_type >= NV_50 && !nouveau_duallink) || + (dev_priv->card_type < NV_50 && + !nv_encoder->dcb->duallink_possible)) + max_clock = 165000; + else + max_clock = 330000; + break; + case OUTPUT_ANALOG: + max_clock = nv_encoder->dcb->crtconf.maxfreq; + if (!max_clock) + max_clock = 350000; + break; + case OUTPUT_TV: + return get_slave_funcs(nv_encoder)-> + mode_valid(to_drm_encoder(nv_encoder), mode); + case OUTPUT_DP: + if (nv_encoder->dp.link_bw == DP_LINK_BW_2_7) + max_clock = nv_encoder->dp.link_nr * 270000; + else + max_clock = nv_encoder->dp.link_nr * 162000; + + clock *= 3; + break; + } + + if (clock < min_clock) + return MODE_CLOCK_LOW; + + if (clock > max_clock) + return MODE_CLOCK_HIGH; + + return MODE_OK; +} + +static struct drm_encoder * +nouveau_connector_best_encoder(struct drm_connector *connector) +{ + struct nouveau_connector *nv_connector = nouveau_connector(connector); + + if (nv_connector->detected_encoder) + return to_drm_encoder(nv_connector->detected_encoder); + + return NULL; +} + +static const struct drm_connector_helper_funcs +nouveau_connector_helper_funcs = { + .get_modes = nouveau_connector_get_modes, + .mode_valid = nouveau_connector_mode_valid, + .best_encoder = nouveau_connector_best_encoder, +}; + +static const struct drm_connector_funcs +nouveau_connector_funcs = { + .dpms = drm_helper_connector_dpms, + .save = NULL, + .restore = NULL, + .detect = nouveau_connector_detect, + .destroy = nouveau_connector_destroy, + .fill_modes = drm_helper_probe_single_connector_modes, + .set_property = nouveau_connector_set_property, + .force = nouveau_connector_force +}; + +static int +nouveau_connector_create_lvds(struct drm_device *dev, + struct drm_connector *connector) +{ + struct nouveau_connector *nv_connector = nouveau_connector(connector); + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_i2c_chan *i2c = NULL; + struct nouveau_encoder *nv_encoder; + struct drm_display_mode native, *mode, *temp; + bool dummy, if_is_24bit = false; + int ret, flags; + + nv_encoder = find_encoder_by_type(connector, OUTPUT_LVDS); + if (!nv_encoder) + return -ENODEV; + + ret = nouveau_bios_parse_lvds_table(dev, 0, &dummy, &if_is_24bit); + if (ret) { + NV_ERROR(dev, "Error parsing LVDS table, disabling LVDS\n"); + return ret; + } + nv_connector->use_dithering = !if_is_24bit; + + /* Firstly try getting EDID over DDC, if allowed and I2C channel + * is available. + */ + if (!dev_priv->VBIOS.pub.fp_no_ddc && nv_encoder->dcb->i2c_index < 0xf) + i2c = nouveau_i2c_find(dev, nv_encoder->dcb->i2c_index); + + if (i2c) { + nouveau_connector_ddc_prepare(connector, &flags); + nv_connector->edid = drm_get_edid(connector, &i2c->adapter); + nouveau_connector_ddc_finish(connector, flags); + } + + /* If no EDID found above, and the VBIOS indicates a hardcoded + * modeline is avalilable for the panel, set it as the panel's + * native mode and exit. + */ + if (!nv_connector->edid && nouveau_bios_fp_mode(dev, &native) && + (nv_encoder->dcb->lvdsconf.use_straps_for_mode || + dev_priv->VBIOS.pub.fp_no_ddc)) { + nv_connector->native_mode = drm_mode_duplicate(dev, &native); + goto out; + } + + /* Still nothing, some VBIOS images have a hardcoded EDID block + * stored for the panel stored in them. + */ + if (!nv_connector->edid && !nv_connector->native_mode && + !dev_priv->VBIOS.pub.fp_no_ddc) { + struct edid *edid = + (struct edid *)nouveau_bios_embedded_edid(dev); + if (edid) { + nv_connector->edid = kmalloc(EDID_LENGTH, GFP_KERNEL); + *(nv_connector->edid) = *edid; + } + } + + if (!nv_connector->edid) + goto out; + + /* We didn't find/use a panel mode from the VBIOS, so parse the EDID + * block and look for the preferred mode there. + */ + ret = drm_add_edid_modes(connector, nv_connector->edid); + if (ret == 0) + goto out; + nv_connector->detected_encoder = nv_encoder; + nv_connector->native_mode = nouveau_connector_native_mode(nv_connector); + list_for_each_entry_safe(mode, temp, &connector->probed_modes, head) + drm_mode_remove(connector, mode); + +out: + if (!nv_connector->native_mode) { + NV_ERROR(dev, "LVDS present in DCB table, but couldn't " + "determine its native mode. Disabling.\n"); + return -ENODEV; + } + + drm_mode_connector_update_edid_property(connector, nv_connector->edid); + return 0; +} + +int +nouveau_connector_create(struct drm_device *dev, int index, int type) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_connector *nv_connector = NULL; + struct drm_connector *connector; + struct drm_encoder *encoder; + int ret; + + NV_DEBUG_KMS(dev, "\n"); + + nv_connector = kzalloc(sizeof(*nv_connector), GFP_KERNEL); + if (!nv_connector) + return -ENOMEM; + nv_connector->dcb = nouveau_bios_connector_entry(dev, index); + connector = &nv_connector->base; + + switch (type) { + case DRM_MODE_CONNECTOR_VGA: + NV_INFO(dev, "Detected a VGA connector\n"); + break; + case DRM_MODE_CONNECTOR_DVID: + NV_INFO(dev, "Detected a DVI-D connector\n"); + break; + case DRM_MODE_CONNECTOR_DVII: + NV_INFO(dev, "Detected a DVI-I connector\n"); + break; + case DRM_MODE_CONNECTOR_LVDS: + NV_INFO(dev, "Detected a LVDS connector\n"); + break; + case DRM_MODE_CONNECTOR_TV: + NV_INFO(dev, "Detected a TV connector\n"); + break; + case DRM_MODE_CONNECTOR_DisplayPort: + NV_INFO(dev, "Detected a DisplayPort connector\n"); + break; + default: + NV_ERROR(dev, "Unknown connector, this is not good.\n"); + break; + } + + /* defaults, will get overridden in detect() */ + connector->interlace_allowed = false; + connector->doublescan_allowed = false; + + drm_connector_init(dev, connector, &nouveau_connector_funcs, type); + drm_connector_helper_add(connector, &nouveau_connector_helper_funcs); + + /* Init DVI-I specific properties */ + if (type == DRM_MODE_CONNECTOR_DVII) { + drm_mode_create_dvi_i_properties(dev); + drm_connector_attach_property(connector, dev->mode_config.dvi_i_subconnector_property, 0); + drm_connector_attach_property(connector, dev->mode_config.dvi_i_select_subconnector_property, 0); + } + + if (type != DRM_MODE_CONNECTOR_LVDS) + nv_connector->use_dithering = false; + + if (type == DRM_MODE_CONNECTOR_DVID || + type == DRM_MODE_CONNECTOR_DVII || + type == DRM_MODE_CONNECTOR_LVDS || + type == DRM_MODE_CONNECTOR_DisplayPort) { + nv_connector->scaling_mode = DRM_MODE_SCALE_FULLSCREEN; + + drm_connector_attach_property(connector, dev->mode_config.scaling_mode_property, + nv_connector->scaling_mode); + drm_connector_attach_property(connector, dev->mode_config.dithering_mode_property, + nv_connector->use_dithering ? DRM_MODE_DITHERING_ON + : DRM_MODE_DITHERING_OFF); + + } else { + nv_connector->scaling_mode = DRM_MODE_SCALE_NONE; + + if (type == DRM_MODE_CONNECTOR_VGA && + dev_priv->card_type >= NV_50) { + drm_connector_attach_property(connector, + dev->mode_config.scaling_mode_property, + nv_connector->scaling_mode); + } + } + + /* attach encoders */ + list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + + if (nv_encoder->dcb->connector != index) + continue; + + if (get_slave_funcs(nv_encoder)) + get_slave_funcs(nv_encoder)->create_resources(encoder, connector); + + drm_mode_connector_attach_encoder(connector, encoder); + } + + drm_sysfs_connector_add(connector); + + if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS) { + ret = nouveau_connector_create_lvds(dev, connector); + if (ret) { + connector->funcs->destroy(connector); + return ret; + } + } + + return 0; +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_connector.h +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_connector.h @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2008 Maarten Maathuis. + * 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 COPYRIGHT OWNER(S) 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 __NOUVEAU_CONNECTOR_H__ +#define __NOUVEAU_CONNECTOR_H__ + +#include "drm_edid.h" +#include "nouveau_i2c.h" + +struct nouveau_connector { + struct drm_connector base; + + struct dcb_connector_table_entry *dcb; + + int scaling_mode; + bool use_dithering; + + struct nouveau_encoder *detected_encoder; + struct edid *edid; + struct drm_display_mode *native_mode; +}; + +static inline struct nouveau_connector *nouveau_connector( + struct drm_connector *con) +{ + return container_of(con, struct nouveau_connector, base); +} + +int nouveau_connector_create(struct drm_device *dev, int i2c_index, int type); + +#endif /* __NOUVEAU_CONNECTOR_H__ */ --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_crtc.h +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_crtc.h @@ -0,0 +1,95 @@ +/* + * Copyright (C) 2008 Maarten Maathuis. + * 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 COPYRIGHT OWNER(S) 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 __NOUVEAU_CRTC_H__ +#define __NOUVEAU_CRTC_H__ + +struct nouveau_crtc { + struct drm_crtc base; + + int index; + + struct drm_display_mode *mode; + + uint32_t dpms_saved_fp_control; + uint32_t fp_users; + int saturation; + int sharpness; + int last_dpms; + + struct { + int cpp; + bool blanked; + uint32_t offset; + uint32_t tile_flags; + } fb; + + struct { + struct nouveau_bo *nvbo; + bool visible; + uint32_t offset; + void (*set_offset)(struct nouveau_crtc *, uint32_t offset); + void (*set_pos)(struct nouveau_crtc *, int x, int y); + void (*hide)(struct nouveau_crtc *, bool update); + void (*show)(struct nouveau_crtc *, bool update); + } cursor; + + struct { + struct nouveau_bo *nvbo; + uint16_t r[256]; + uint16_t g[256]; + uint16_t b[256]; + int depth; + } lut; + + int (*set_dither)(struct nouveau_crtc *crtc, bool on, bool update); + int (*set_scale)(struct nouveau_crtc *crtc, int mode, bool update); +}; + +static inline struct nouveau_crtc *nouveau_crtc(struct drm_crtc *crtc) +{ + return container_of(crtc, struct nouveau_crtc, base); +} + +static inline struct drm_crtc *to_drm_crtc(struct nouveau_crtc *crtc) +{ + return &crtc->base; +} + +int nv50_crtc_create(struct drm_device *dev, int index); +int nv50_cursor_init(struct nouveau_crtc *); +void nv50_cursor_fini(struct nouveau_crtc *); +int nv50_crtc_cursor_set(struct drm_crtc *drm_crtc, struct drm_file *file_priv, + uint32_t buffer_handle, uint32_t width, + uint32_t height); +int nv50_crtc_cursor_move(struct drm_crtc *drm_crtc, int x, int y); + +int nv04_cursor_init(struct nouveau_crtc *); + +struct nouveau_connector * +nouveau_crtc_connector_get(struct nouveau_crtc *crtc); + +#endif /* __NOUVEAU_CRTC_H__ */ --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_debugfs.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_debugfs.c @@ -0,0 +1,155 @@ +/* + * Copyright (C) 2009 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, 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 COPYRIGHT OWNER(S) 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: + * Ben Skeggs + */ + +#include + +#include "drmP.h" +#include "nouveau_drv.h" + +static int +nouveau_debugfs_channel_info(struct seq_file *m, void *data) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct nouveau_channel *chan = node->info_ent->data; + + seq_printf(m, "channel id : %d\n", chan->id); + + seq_printf(m, "cpu fifo state:\n"); + seq_printf(m, " base: 0x%08x\n", chan->pushbuf_base); + seq_printf(m, " max: 0x%08x\n", chan->dma.max << 2); + seq_printf(m, " cur: 0x%08x\n", chan->dma.cur << 2); + seq_printf(m, " put: 0x%08x\n", chan->dma.put << 2); + seq_printf(m, " free: 0x%08x\n", chan->dma.free << 2); + + seq_printf(m, "gpu fifo state:\n"); + seq_printf(m, " get: 0x%08x\n", + nvchan_rd32(chan, chan->user_get)); + seq_printf(m, " put: 0x%08x\n", + nvchan_rd32(chan, chan->user_put)); + + seq_printf(m, "last fence : %d\n", chan->fence.sequence); + seq_printf(m, "last signalled: %d\n", chan->fence.sequence_ack); + return 0; +} + +int +nouveau_debugfs_channel_init(struct nouveau_channel *chan) +{ + struct drm_nouveau_private *dev_priv = chan->dev->dev_private; + struct drm_minor *minor = chan->dev->primary; + int ret; + + if (!dev_priv->debugfs.channel_root) { + dev_priv->debugfs.channel_root = + debugfs_create_dir("channel", minor->debugfs_root); + if (!dev_priv->debugfs.channel_root) + return -ENOENT; + } + + snprintf(chan->debugfs.name, 32, "%d", chan->id); + chan->debugfs.info.name = chan->debugfs.name; + chan->debugfs.info.show = nouveau_debugfs_channel_info; + chan->debugfs.info.driver_features = 0; + chan->debugfs.info.data = chan; + + ret = drm_debugfs_create_files(&chan->debugfs.info, 1, + dev_priv->debugfs.channel_root, + chan->dev->primary); + if (ret == 0) + chan->debugfs.active = true; + return ret; +} + +void +nouveau_debugfs_channel_fini(struct nouveau_channel *chan) +{ + struct drm_nouveau_private *dev_priv = chan->dev->dev_private; + + if (!chan->debugfs.active) + return; + + drm_debugfs_remove_files(&chan->debugfs.info, 1, chan->dev->primary); + chan->debugfs.active = false; + + if (chan == dev_priv->channel) { + debugfs_remove(dev_priv->debugfs.channel_root); + dev_priv->debugfs.channel_root = NULL; + } +} + +static int +nouveau_debugfs_chipset_info(struct seq_file *m, void *data) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_minor *minor = node->minor; + struct drm_device *dev = minor->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t ppci_0; + + ppci_0 = nv_rd32(dev, dev_priv->chipset >= 0x40 ? 0x88000 : 0x1800); + + seq_printf(m, "PMC_BOOT_0: 0x%08x\n", nv_rd32(dev, NV03_PMC_BOOT_0)); + seq_printf(m, "PCI ID : 0x%04x:0x%04x\n", + ppci_0 & 0xffff, ppci_0 >> 16); + return 0; +} + +static int +nouveau_debugfs_memory_info(struct seq_file *m, void *data) +{ + struct drm_info_node *node = (struct drm_info_node *) m->private; + struct drm_minor *minor = node->minor; + struct drm_device *dev = minor->dev; + + seq_printf(m, "VRAM total: %dKiB\n", + (int)(nouveau_mem_fb_amount(dev) >> 10)); + return 0; +} + +static struct drm_info_list nouveau_debugfs_list[] = { + { "chipset", nouveau_debugfs_chipset_info, 0, NULL }, + { "memory", nouveau_debugfs_memory_info, 0, NULL }, +}; +#define NOUVEAU_DEBUGFS_ENTRIES ARRAY_SIZE(nouveau_debugfs_list) + +int +nouveau_debugfs_init(struct drm_minor *minor) +{ + drm_debugfs_create_files(nouveau_debugfs_list, NOUVEAU_DEBUGFS_ENTRIES, + minor->debugfs_root, minor); + return 0; +} + +void +nouveau_debugfs_takedown(struct drm_minor *minor) +{ + drm_debugfs_remove_files(nouveau_debugfs_list, NOUVEAU_DEBUGFS_ENTRIES, + minor); +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_display.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_display.c @@ -0,0 +1,115 @@ +/* + * Copyright (C) 2008 Maarten Maathuis. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "drm_crtc_helper.h" +#include "nouveau_drv.h" +#include "nouveau_fb.h" +#include "nouveau_fbcon.h" + +static void +nouveau_user_framebuffer_destroy(struct drm_framebuffer *drm_fb) +{ + struct nouveau_framebuffer *fb = nouveau_framebuffer(drm_fb); + struct drm_device *dev = drm_fb->dev; + + if (drm_fb->fbdev) + nouveau_fbcon_remove(dev, drm_fb); + + if (fb->nvbo) { + mutex_lock(&dev->struct_mutex); + drm_gem_object_unreference(fb->nvbo->gem); + mutex_unlock(&dev->struct_mutex); + } + + drm_framebuffer_cleanup(drm_fb); + kfree(fb); +} + +static int +nouveau_user_framebuffer_create_handle(struct drm_framebuffer *drm_fb, + struct drm_file *file_priv, + unsigned int *handle) +{ + struct nouveau_framebuffer *fb = nouveau_framebuffer(drm_fb); + + return drm_gem_handle_create(file_priv, fb->nvbo->gem, handle); +} + +static const struct drm_framebuffer_funcs nouveau_framebuffer_funcs = { + .destroy = nouveau_user_framebuffer_destroy, + .create_handle = nouveau_user_framebuffer_create_handle, +}; + +struct drm_framebuffer * +nouveau_framebuffer_create(struct drm_device *dev, struct nouveau_bo *nvbo, + struct drm_mode_fb_cmd *mode_cmd) +{ + struct nouveau_framebuffer *fb; + int ret; + + fb = kzalloc(sizeof(struct nouveau_framebuffer), GFP_KERNEL); + if (!fb) + return NULL; + + ret = drm_framebuffer_init(dev, &fb->base, &nouveau_framebuffer_funcs); + if (ret) { + kfree(fb); + return NULL; + } + + drm_helper_mode_fill_fb_struct(&fb->base, mode_cmd); + + fb->nvbo = nvbo; + return &fb->base; +} + +static struct drm_framebuffer * +nouveau_user_framebuffer_create(struct drm_device *dev, + struct drm_file *file_priv, + struct drm_mode_fb_cmd *mode_cmd) +{ + struct drm_framebuffer *fb; + struct drm_gem_object *gem; + + gem = drm_gem_object_lookup(dev, file_priv, mode_cmd->handle); + if (!gem) + return NULL; + + fb = nouveau_framebuffer_create(dev, nouveau_gem_object(gem), mode_cmd); + if (!fb) { + drm_gem_object_unreference(gem); + return NULL; + } + + return fb; +} + +const struct drm_mode_config_funcs nouveau_mode_config_funcs = { + .fb_create = nouveau_user_framebuffer_create, + .fb_changed = nouveau_fbcon_probe, +}; + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_dma.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_dma.c @@ -0,0 +1,244 @@ +/* + * Copyright (C) 2007 Ben Skeggs. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" +#include "nouveau_dma.h" + +void +nouveau_dma_pre_init(struct nouveau_channel *chan) +{ + chan->dma.max = (chan->pushbuf_bo->bo.mem.size >> 2) - 2; + chan->dma.put = 0; + chan->dma.cur = chan->dma.put; + chan->dma.free = chan->dma.max - chan->dma.cur; +} + +int +nouveau_dma_init(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *m2mf = NULL; + struct nouveau_gpuobj *nvsw = NULL; + int ret, i; + + /* Create NV_MEMORY_TO_MEMORY_FORMAT for buffer moves */ + ret = nouveau_gpuobj_gr_new(chan, dev_priv->card_type < NV_50 ? + 0x0039 : 0x5039, &m2mf); + if (ret) + return ret; + + ret = nouveau_gpuobj_ref_add(dev, chan, NvM2MF, m2mf, NULL); + if (ret) + return ret; + + /* Create an NV_SW object for various sync purposes */ + ret = nouveau_gpuobj_sw_new(chan, NV_SW, &nvsw); + if (ret) + return ret; + + ret = nouveau_gpuobj_ref_add(dev, chan, NvSw, nvsw, NULL); + if (ret) + return ret; + + /* NV_MEMORY_TO_MEMORY_FORMAT requires a notifier object */ + ret = nouveau_notifier_alloc(chan, NvNotify0, 32, &chan->m2mf_ntfy); + if (ret) + return ret; + + /* Map push buffer */ + ret = nouveau_bo_map(chan->pushbuf_bo); + if (ret) + return ret; + + /* Map M2MF notifier object - fbcon. */ + if (drm_core_check_feature(dev, DRIVER_MODESET)) { + ret = nouveau_bo_map(chan->notifier_bo); + if (ret) + return ret; + } + + /* Insert NOPS for NOUVEAU_DMA_SKIPS */ + ret = RING_SPACE(chan, NOUVEAU_DMA_SKIPS); + if (ret) + return ret; + + for (i = 0; i < NOUVEAU_DMA_SKIPS; i++) + OUT_RING(chan, 0); + + /* Initialise NV_MEMORY_TO_MEMORY_FORMAT */ + ret = RING_SPACE(chan, 4); + if (ret) + return ret; + BEGIN_RING(chan, NvSubM2MF, NV_MEMORY_TO_MEMORY_FORMAT_NAME, 1); + OUT_RING(chan, NvM2MF); + BEGIN_RING(chan, NvSubM2MF, NV_MEMORY_TO_MEMORY_FORMAT_DMA_NOTIFY, 1); + OUT_RING(chan, NvNotify0); + + /* Initialise NV_SW */ + ret = RING_SPACE(chan, 2); + if (ret) + return ret; + BEGIN_RING(chan, NvSubSw, 0, 1); + OUT_RING(chan, NvSw); + + /* Sit back and pray the channel works.. */ + FIRE_RING(chan); + + return 0; +} + +void +OUT_RINGp(struct nouveau_channel *chan, const void *data, unsigned nr_dwords) +{ + bool is_iomem; + u32 *mem = ttm_kmap_obj_virtual(&chan->pushbuf_bo->kmap, &is_iomem); + mem = &mem[chan->dma.cur]; + if (is_iomem) + memcpy_toio((void __force __iomem *)mem, data, nr_dwords * 4); + else + memcpy(mem, data, nr_dwords * 4); + chan->dma.cur += nr_dwords; +} + +/* Fetch and adjust GPU GET pointer + * + * Returns: + * value >= 0, the adjusted GET pointer + * -EINVAL if GET pointer currently outside main push buffer + * -EBUSY if timeout exceeded + */ +static inline int +READ_GET(struct nouveau_channel *chan, uint32_t *prev_get, uint32_t *timeout) +{ + uint32_t val; + + val = nvchan_rd32(chan, chan->user_get); + + /* reset counter as long as GET is still advancing, this is + * to avoid misdetecting a GPU lockup if the GPU happens to + * just be processing an operation that takes a long time + */ + if (val != *prev_get) { + *prev_get = val; + *timeout = 0; + } + + if ((++*timeout & 0xff) == 0) { + DRM_UDELAY(1); + if (*timeout > 100000) + return -EBUSY; + } + + if (val < chan->pushbuf_base || + val > chan->pushbuf_base + (chan->dma.max << 2)) + return -EINVAL; + + return (val - chan->pushbuf_base) >> 2; +} + +int +nouveau_dma_wait(struct nouveau_channel *chan, int size) +{ + uint32_t prev_get = 0, cnt = 0; + int get; + + while (chan->dma.free < size) { + get = READ_GET(chan, &prev_get, &cnt); + if (unlikely(get == -EBUSY)) + return -EBUSY; + + /* loop until we have a usable GET pointer. the value + * we read from the GPU may be outside the main ring if + * PFIFO is processing a buffer called from the main ring, + * discard these values until something sensible is seen. + * + * the other case we discard GET is while the GPU is fetching + * from the SKIPS area, so the code below doesn't have to deal + * with some fun corner cases. + */ + if (unlikely(get == -EINVAL) || get < NOUVEAU_DMA_SKIPS) + continue; + + if (get <= chan->dma.cur) { + /* engine is fetching behind us, or is completely + * idle (GET == PUT) so we have free space up until + * the end of the push buffer + * + * we can only hit that path once per call due to + * looping back to the beginning of the push buffer, + * we'll hit the fetching-ahead-of-us path from that + * point on. + * + * the *one* exception to that rule is if we read + * GET==PUT, in which case the below conditional will + * always succeed and break us out of the wait loop. + */ + chan->dma.free = chan->dma.max - chan->dma.cur; + if (chan->dma.free >= size) + break; + + /* not enough space left at the end of the push buffer, + * instruct the GPU to jump back to the start right + * after processing the currently pending commands. + */ + OUT_RING(chan, chan->pushbuf_base | 0x20000000); + + /* wait for GET to depart from the skips area. + * prevents writing GET==PUT and causing a race + * condition that causes us to think the GPU is + * idle when it's not. + */ + do { + get = READ_GET(chan, &prev_get, &cnt); + if (unlikely(get == -EBUSY)) + return -EBUSY; + if (unlikely(get == -EINVAL)) + continue; + } while (get <= NOUVEAU_DMA_SKIPS); + WRITE_PUT(NOUVEAU_DMA_SKIPS); + + /* we're now submitting commands at the start of + * the push buffer. + */ + chan->dma.cur = + chan->dma.put = NOUVEAU_DMA_SKIPS; + } + + /* engine fetching ahead of us, we have space up until the + * current GET pointer. the "- 1" is to ensure there's + * space left to emit a jump back to the beginning of the + * push buffer if we require it. we can never get GET == PUT + * here, so this is safe. + */ + chan->dma.free = get - chan->dma.cur - 1; + } + + return 0; +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_dma.h +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_dma.h @@ -0,0 +1,159 @@ +/* + * Copyright (C) 2007 Ben Skeggs. + * 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 COPYRIGHT OWNER(S) 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 __NOUVEAU_DMA_H__ +#define __NOUVEAU_DMA_H__ + +#ifndef NOUVEAU_DMA_DEBUG +#define NOUVEAU_DMA_DEBUG 0 +#endif + +/* + * There's a hw race condition where you can't jump to your PUT offset, + * to avoid this we jump to offset + SKIPS and fill the difference with + * NOPs. + * + * xf86-video-nv configures the DMA fetch size to 32 bytes, and uses + * a SKIPS value of 8. Lets assume that the race condition is to do + * with writing into the fetch area, we configure a fetch size of 128 + * bytes so we need a larger SKIPS value. + */ +#define NOUVEAU_DMA_SKIPS (128 / 4) + +/* Hardcoded object assignments to subchannels (subchannel id). */ +enum { + NvSubM2MF = 0, + NvSubSw = 1, + NvSub2D = 2, + NvSubCtxSurf2D = 2, + NvSubGdiRect = 3, + NvSubImageBlit = 4 +}; + +/* Object handles. */ +enum { + NvM2MF = 0x80000001, + NvDmaFB = 0x80000002, + NvDmaTT = 0x80000003, + NvDmaVRAM = 0x80000004, + NvDmaGART = 0x80000005, + NvNotify0 = 0x80000006, + Nv2D = 0x80000007, + NvCtxSurf2D = 0x80000008, + NvRop = 0x80000009, + NvImagePatt = 0x8000000a, + NvClipRect = 0x8000000b, + NvGdiRect = 0x8000000c, + NvImageBlit = 0x8000000d, + NvSw = 0x8000000e, + + /* G80+ display objects */ + NvEvoVRAM = 0x01000000, + NvEvoFB16 = 0x01000001, + NvEvoFB32 = 0x01000002 +}; + +#define NV_MEMORY_TO_MEMORY_FORMAT 0x00000039 +#define NV_MEMORY_TO_MEMORY_FORMAT_NAME 0x00000000 +#define NV_MEMORY_TO_MEMORY_FORMAT_SET_REF 0x00000050 +#define NV_MEMORY_TO_MEMORY_FORMAT_NOP 0x00000100 +#define NV_MEMORY_TO_MEMORY_FORMAT_NOTIFY 0x00000104 +#define NV_MEMORY_TO_MEMORY_FORMAT_NOTIFY_STYLE_WRITE 0x00000000 +#define NV_MEMORY_TO_MEMORY_FORMAT_NOTIFY_STYLE_WRITE_LE_AWAKEN 0x00000001 +#define NV_MEMORY_TO_MEMORY_FORMAT_DMA_NOTIFY 0x00000180 +#define NV_MEMORY_TO_MEMORY_FORMAT_DMA_SOURCE 0x00000184 +#define NV_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN 0x0000030c + +#define NV50_MEMORY_TO_MEMORY_FORMAT 0x00005039 +#define NV50_MEMORY_TO_MEMORY_FORMAT_UNK200 0x00000200 +#define NV50_MEMORY_TO_MEMORY_FORMAT_UNK21C 0x0000021c +#define NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN_HIGH 0x00000238 +#define NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_HIGH 0x0000023c + +static __must_check inline int +RING_SPACE(struct nouveau_channel *chan, int size) +{ + if (chan->dma.free < size) { + int ret; + + ret = nouveau_dma_wait(chan, size); + if (ret) + return ret; + } + + chan->dma.free -= size; + return 0; +} + +static inline void +OUT_RING(struct nouveau_channel *chan, int data) +{ + if (NOUVEAU_DMA_DEBUG) { + NV_INFO(chan->dev, "Ch%d/0x%08x: 0x%08x\n", + chan->id, chan->dma.cur << 2, data); + } + + nouveau_bo_wr32(chan->pushbuf_bo, chan->dma.cur++, data); +} + +extern void +OUT_RINGp(struct nouveau_channel *chan, const void *data, unsigned nr_dwords); + +static inline void +BEGIN_RING(struct nouveau_channel *chan, int subc, int mthd, int size) +{ + OUT_RING(chan, (subc << 13) | (size << 18) | mthd); +} + +#define WRITE_PUT(val) do { \ + DRM_MEMORYBARRIER(); \ + nouveau_bo_rd32(chan->pushbuf_bo, 0); \ + nvchan_wr32(chan, chan->user_put, ((val) << 2) + chan->pushbuf_base); \ +} while (0) + +static inline void +FIRE_RING(struct nouveau_channel *chan) +{ + if (NOUVEAU_DMA_DEBUG) { + NV_INFO(chan->dev, "Ch%d/0x%08x: PUSH!\n", + chan->id, chan->dma.cur << 2); + } + + if (chan->dma.cur == chan->dma.put) + return; + chan->accel_done = true; + + WRITE_PUT(chan->dma.cur); + chan->dma.put = chan->dma.cur; +} + +static inline void +WIND_RING(struct nouveau_channel *chan) +{ + chan->dma.cur = chan->dma.put; +} + +#endif --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_dp.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_dp.c @@ -0,0 +1,575 @@ +/* + * Copyright 2009 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 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. + * + * Authors: Ben Skeggs + */ + +#include "drmP.h" +#include "nouveau_drv.h" +#include "nouveau_i2c.h" +#include "nouveau_encoder.h" + +static int +auxch_rd(struct drm_encoder *encoder, int address, uint8_t *buf, int size) +{ + struct drm_device *dev = encoder->dev; + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct nouveau_i2c_chan *auxch; + int ret; + + auxch = nouveau_i2c_find(dev, nv_encoder->dcb->i2c_index); + if (!auxch) + return -ENODEV; + + ret = nouveau_dp_auxch(auxch, 9, address, buf, size); + if (ret) + return ret; + + return 0; +} + +static int +auxch_wr(struct drm_encoder *encoder, int address, uint8_t *buf, int size) +{ + struct drm_device *dev = encoder->dev; + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct nouveau_i2c_chan *auxch; + int ret; + + auxch = nouveau_i2c_find(dev, nv_encoder->dcb->i2c_index); + if (!auxch) + return -ENODEV; + + ret = nouveau_dp_auxch(auxch, 8, address, buf, size); + return ret; +} + +static int +nouveau_dp_lane_count_set(struct drm_encoder *encoder, uint8_t cmd) +{ + struct drm_device *dev = encoder->dev; + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + uint32_t tmp; + int or = nv_encoder->or, link = !(nv_encoder->dcb->sorconf.link & 1); + + tmp = nv_rd32(dev, NV50_SOR_DP_CTRL(or, link)); + tmp &= ~(NV50_SOR_DP_CTRL_ENHANCED_FRAME_ENABLED | + NV50_SOR_DP_CTRL_LANE_MASK); + tmp |= ((1 << (cmd & DP_LANE_COUNT_MASK)) - 1) << 16; + if (cmd & DP_LANE_COUNT_ENHANCED_FRAME_EN) + tmp |= NV50_SOR_DP_CTRL_ENHANCED_FRAME_ENABLED; + nv_wr32(dev, NV50_SOR_DP_CTRL(or, link), tmp); + + return auxch_wr(encoder, DP_LANE_COUNT_SET, &cmd, 1); +} + +static int +nouveau_dp_link_bw_set(struct drm_encoder *encoder, uint8_t cmd) +{ + struct drm_device *dev = encoder->dev; + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + uint32_t tmp; + int reg = 0x614300 + (nv_encoder->or * 0x800); + + tmp = nv_rd32(dev, reg); + tmp &= 0xfff3ffff; + if (cmd == DP_LINK_BW_2_7) + tmp |= 0x00040000; + nv_wr32(dev, reg, tmp); + + return auxch_wr(encoder, DP_LINK_BW_SET, &cmd, 1); +} + +static int +nouveau_dp_link_train_set(struct drm_encoder *encoder, int pattern) +{ + struct drm_device *dev = encoder->dev; + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + uint32_t tmp; + uint8_t cmd; + int or = nv_encoder->or, link = !(nv_encoder->dcb->sorconf.link & 1); + int ret; + + tmp = nv_rd32(dev, NV50_SOR_DP_CTRL(or, link)); + tmp &= ~NV50_SOR_DP_CTRL_TRAINING_PATTERN; + tmp |= (pattern << 24); + nv_wr32(dev, NV50_SOR_DP_CTRL(or, link), tmp); + + ret = auxch_rd(encoder, DP_TRAINING_PATTERN_SET, &cmd, 1); + if (ret) + return ret; + cmd &= ~DP_TRAINING_PATTERN_MASK; + cmd |= (pattern & DP_TRAINING_PATTERN_MASK); + return auxch_wr(encoder, DP_TRAINING_PATTERN_SET, &cmd, 1); +} + +static int +nouveau_dp_max_voltage_swing(struct drm_encoder *encoder) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_device *dev = encoder->dev; + struct bit_displayport_encoder_table_entry *dpse; + struct bit_displayport_encoder_table *dpe; + int i, dpe_headerlen, max_vs = 0; + + dpe = nouveau_bios_dp_table(dev, nv_encoder->dcb, &dpe_headerlen); + if (!dpe) + return false; + dpse = (void *)((char *)dpe + dpe_headerlen); + + for (i = 0; i < dpe_headerlen; i++, dpse++) { + if (dpse->vs_level > max_vs) + max_vs = dpse->vs_level; + } + + return max_vs; +} + +static int +nouveau_dp_max_pre_emphasis(struct drm_encoder *encoder, int vs) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_device *dev = encoder->dev; + struct bit_displayport_encoder_table_entry *dpse; + struct bit_displayport_encoder_table *dpe; + int i, dpe_headerlen, max_pre = 0; + + dpe = nouveau_bios_dp_table(dev, nv_encoder->dcb, &dpe_headerlen); + if (!dpe) + return false; + dpse = (void *)((char *)dpe + dpe_headerlen); + + for (i = 0; i < dpe_headerlen; i++, dpse++) { + if (dpse->vs_level != vs) + continue; + + if (dpse->pre_level > max_pre) + max_pre = dpse->pre_level; + } + + return max_pre; +} + +static bool +nouveau_dp_link_train_adjust(struct drm_encoder *encoder, uint8_t *config) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_device *dev = encoder->dev; + struct bit_displayport_encoder_table_entry *dpse; + struct bit_displayport_encoder_table *dpe; + int ret, i, dpe_headerlen, vs = 0, pre = 0; + uint8_t request[2]; + + dpe = nouveau_bios_dp_table(dev, nv_encoder->dcb, &dpe_headerlen); + if (!dpe) + return false; + dpse = (void *)((char *)dpe + dpe_headerlen); + + ret = auxch_rd(encoder, DP_ADJUST_REQUEST_LANE0_1, request, 2); + if (ret) + return false; + + NV_DEBUG_KMS(dev, "\t\tadjust 0x%02x 0x%02x\n", request[0], request[1]); + + /* Keep all lanes at the same level.. */ + for (i = 0; i < nv_encoder->dp.link_nr; i++) { + int lane_req = (request[i >> 1] >> ((i & 1) << 2)) & 0xf; + int lane_vs = lane_req & 3; + int lane_pre = (lane_req >> 2) & 3; + + if (lane_vs > vs) + vs = lane_vs; + if (lane_pre > pre) + pre = lane_pre; + } + + if (vs >= nouveau_dp_max_voltage_swing(encoder)) { + vs = nouveau_dp_max_voltage_swing(encoder); + vs |= 4; + } + + if (pre >= nouveau_dp_max_pre_emphasis(encoder, vs & 3)) { + pre = nouveau_dp_max_pre_emphasis(encoder, vs & 3); + pre |= 4; + } + + /* Update the configuration for all lanes.. */ + for (i = 0; i < nv_encoder->dp.link_nr; i++) + config[i] = (pre << 3) | vs; + + return true; +} + +static bool +nouveau_dp_link_train_commit(struct drm_encoder *encoder, uint8_t *config) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_device *dev = encoder->dev; + struct bit_displayport_encoder_table_entry *dpse; + struct bit_displayport_encoder_table *dpe; + int or = nv_encoder->or, link = !(nv_encoder->dcb->sorconf.link & 1); + int dpe_headerlen, ret, i; + + NV_DEBUG_KMS(dev, "\t\tconfig 0x%02x 0x%02x 0x%02x 0x%02x\n", + config[0], config[1], config[2], config[3]); + + dpe = nouveau_bios_dp_table(dev, nv_encoder->dcb, &dpe_headerlen); + if (!dpe) + return false; + dpse = (void *)((char *)dpe + dpe_headerlen); + + for (i = 0; i < dpe->record_nr; i++, dpse++) { + if (dpse->vs_level == (config[0] & 3) && + dpse->pre_level == ((config[0] >> 3) & 3)) + break; + } + BUG_ON(i == dpe->record_nr); + + for (i = 0; i < nv_encoder->dp.link_nr; i++) { + const int shift[4] = { 16, 8, 0, 24 }; + uint32_t mask = 0xff << shift[i]; + uint32_t reg0, reg1, reg2; + + reg0 = nv_rd32(dev, NV50_SOR_DP_UNK118(or, link)) & ~mask; + reg0 |= (dpse->reg0 << shift[i]); + reg1 = nv_rd32(dev, NV50_SOR_DP_UNK120(or, link)) & ~mask; + reg1 |= (dpse->reg1 << shift[i]); + reg2 = nv_rd32(dev, NV50_SOR_DP_UNK130(or, link)) & 0xffff00ff; + reg2 |= (dpse->reg2 << 8); + nv_wr32(dev, NV50_SOR_DP_UNK118(or, link), reg0); + nv_wr32(dev, NV50_SOR_DP_UNK120(or, link), reg1); + nv_wr32(dev, NV50_SOR_DP_UNK130(or, link), reg2); + } + + ret = auxch_wr(encoder, DP_TRAINING_LANE0_SET, config, 4); + if (ret) + return false; + + return true; +} + +bool +nouveau_dp_link_train(struct drm_encoder *encoder) +{ + struct drm_device *dev = encoder->dev; + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + uint8_t config[4]; + uint8_t status[3]; + bool cr_done, cr_max_vs, eq_done; + int ret = 0, i, tries, voltage; + + NV_DEBUG_KMS(dev, "link training!!\n"); +train: + cr_done = eq_done = false; + + /* set link configuration */ + NV_DEBUG_KMS(dev, "\tbegin train: bw %d, lanes %d\n", + nv_encoder->dp.link_bw, nv_encoder->dp.link_nr); + + ret = nouveau_dp_link_bw_set(encoder, nv_encoder->dp.link_bw); + if (ret) + return false; + + config[0] = nv_encoder->dp.link_nr; + if (nv_encoder->dp.dpcd_version >= 0x11) + config[0] |= DP_LANE_COUNT_ENHANCED_FRAME_EN; + + ret = nouveau_dp_lane_count_set(encoder, config[0]); + if (ret) + return false; + + /* clock recovery */ + NV_DEBUG_KMS(dev, "\tbegin cr\n"); + ret = nouveau_dp_link_train_set(encoder, DP_TRAINING_PATTERN_1); + if (ret) + goto stop; + + tries = 0; + voltage = -1; + memset(config, 0x00, sizeof(config)); + for (;;) { + if (!nouveau_dp_link_train_commit(encoder, config)) + break; + + udelay(100); + + ret = auxch_rd(encoder, DP_LANE0_1_STATUS, status, 2); + if (ret) + break; + NV_DEBUG_KMS(dev, "\t\tstatus: 0x%02x 0x%02x\n", + status[0], status[1]); + + cr_done = true; + cr_max_vs = false; + for (i = 0; i < nv_encoder->dp.link_nr; i++) { + int lane = (status[i >> 1] >> ((i & 1) * 4)) & 0xf; + + if (!(lane & DP_LANE_CR_DONE)) { + cr_done = false; + if (config[i] & DP_TRAIN_MAX_PRE_EMPHASIS_REACHED) + cr_max_vs = true; + break; + } + } + + if ((config[0] & DP_TRAIN_VOLTAGE_SWING_MASK) != voltage) { + voltage = config[0] & DP_TRAIN_VOLTAGE_SWING_MASK; + tries = 0; + } + + if (cr_done || cr_max_vs || (++tries == 5)) + break; + + if (!nouveau_dp_link_train_adjust(encoder, config)) + break; + } + + if (!cr_done) + goto stop; + + /* channel equalisation */ + NV_DEBUG_KMS(dev, "\tbegin eq\n"); + ret = nouveau_dp_link_train_set(encoder, DP_TRAINING_PATTERN_2); + if (ret) + goto stop; + + for (tries = 0; tries <= 5; tries++) { + udelay(400); + + ret = auxch_rd(encoder, DP_LANE0_1_STATUS, status, 3); + if (ret) + break; + NV_DEBUG_KMS(dev, "\t\tstatus: 0x%02x 0x%02x\n", + status[0], status[1]); + + eq_done = true; + if (!(status[2] & DP_INTERLANE_ALIGN_DONE)) + eq_done = false; + + for (i = 0; eq_done && i < nv_encoder->dp.link_nr; i++) { + int lane = (status[i >> 1] >> ((i & 1) * 4)) & 0xf; + + if (!(lane & DP_LANE_CR_DONE)) { + cr_done = false; + break; + } + + if (!(lane & DP_LANE_CHANNEL_EQ_DONE) || + !(lane & DP_LANE_SYMBOL_LOCKED)) { + eq_done = false; + break; + } + } + + if (eq_done || !cr_done) + break; + + if (!nouveau_dp_link_train_adjust(encoder, config) || + !nouveau_dp_link_train_commit(encoder, config)) + break; + } + +stop: + /* end link training */ + ret = nouveau_dp_link_train_set(encoder, DP_TRAINING_PATTERN_DISABLE); + if (ret) + return false; + + /* retry at a lower setting, if possible */ + if (!ret && !(eq_done && cr_done)) { + NV_DEBUG_KMS(dev, "\twe failed\n"); + if (nv_encoder->dp.link_bw != DP_LINK_BW_1_62) { + NV_DEBUG_KMS(dev, "retry link training at low rate\n"); + nv_encoder->dp.link_bw = DP_LINK_BW_1_62; + goto train; + } + } + + return eq_done; +} + +bool +nouveau_dp_detect(struct drm_encoder *encoder) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_device *dev = encoder->dev; + uint8_t dpcd[4]; + int ret; + + ret = auxch_rd(encoder, 0x0000, dpcd, 4); + if (ret) + return false; + + NV_DEBUG_KMS(dev, "encoder: link_bw %d, link_nr %d\n" + "display: link_bw %d, link_nr %d version 0x%02x\n", + nv_encoder->dcb->dpconf.link_bw, + nv_encoder->dcb->dpconf.link_nr, + dpcd[1], dpcd[2] & 0x0f, dpcd[0]); + + nv_encoder->dp.dpcd_version = dpcd[0]; + + nv_encoder->dp.link_bw = dpcd[1]; + if (nv_encoder->dp.link_bw != DP_LINK_BW_1_62 && + !nv_encoder->dcb->dpconf.link_bw) + nv_encoder->dp.link_bw = DP_LINK_BW_1_62; + + nv_encoder->dp.link_nr = dpcd[2] & 0xf; + if (nv_encoder->dp.link_nr > nv_encoder->dcb->dpconf.link_nr) + nv_encoder->dp.link_nr = nv_encoder->dcb->dpconf.link_nr; + + return true; +} + +int +nouveau_dp_auxch(struct nouveau_i2c_chan *auxch, int cmd, int addr, + uint8_t *data, int data_nr) +{ + struct drm_device *dev = auxch->dev; + uint32_t tmp, ctrl, stat = 0, data32[4] = {}; + int ret = 0, i, index = auxch->rd; + + NV_DEBUG_KMS(dev, "ch %d cmd %d addr 0x%x len %d\n", index, cmd, addr, data_nr); + + tmp = nv_rd32(dev, NV50_AUXCH_CTRL(auxch->rd)); + nv_wr32(dev, NV50_AUXCH_CTRL(auxch->rd), tmp | 0x00100000); + tmp = nv_rd32(dev, NV50_AUXCH_CTRL(auxch->rd)); + if (!(tmp & 0x01000000)) { + NV_ERROR(dev, "expected bit 24 == 1, got 0x%08x\n", tmp); + ret = -EIO; + goto out; + } + + for (i = 0; i < 3; i++) { + tmp = nv_rd32(dev, NV50_AUXCH_STAT(auxch->rd)); + if (tmp & NV50_AUXCH_STAT_STATE_READY) + break; + udelay(100); + } + + if (i == 3) { + ret = -EBUSY; + goto out; + } + + if (!(cmd & 1)) { + memcpy(data32, data, data_nr); + for (i = 0; i < 4; i++) { + NV_DEBUG_KMS(dev, "wr %d: 0x%08x\n", i, data32[i]); + nv_wr32(dev, NV50_AUXCH_DATA_OUT(index, i), data32[i]); + } + } + + nv_wr32(dev, NV50_AUXCH_ADDR(index), addr); + ctrl = nv_rd32(dev, NV50_AUXCH_CTRL(index)); + ctrl &= ~(NV50_AUXCH_CTRL_CMD | NV50_AUXCH_CTRL_LEN); + ctrl |= (cmd << NV50_AUXCH_CTRL_CMD_SHIFT); + ctrl |= ((data_nr - 1) << NV50_AUXCH_CTRL_LEN_SHIFT); + + for (;;) { + nv_wr32(dev, NV50_AUXCH_CTRL(index), ctrl | 0x80000000); + nv_wr32(dev, NV50_AUXCH_CTRL(index), ctrl); + nv_wr32(dev, NV50_AUXCH_CTRL(index), ctrl | 0x00010000); + if (!nv_wait(NV50_AUXCH_CTRL(index), 0x00010000, 0x00000000)) { + NV_ERROR(dev, "expected bit 16 == 0, got 0x%08x\n", + nv_rd32(dev, NV50_AUXCH_CTRL(index))); + ret = -EBUSY; + goto out; + } + + udelay(400); + + stat = nv_rd32(dev, NV50_AUXCH_STAT(index)); + if ((stat & NV50_AUXCH_STAT_REPLY_AUX) != + NV50_AUXCH_STAT_REPLY_AUX_DEFER) + break; + } + + if (cmd & 1) { + if ((stat & NV50_AUXCH_STAT_COUNT) != data_nr) { + ret = -EREMOTEIO; + goto out; + } + + for (i = 0; i < 4; i++) { + data32[i] = nv_rd32(dev, NV50_AUXCH_DATA_IN(index, i)); + NV_DEBUG_KMS(dev, "rd %d: 0x%08x\n", i, data32[i]); + } + memcpy(data, data32, data_nr); + } + +out: + tmp = nv_rd32(dev, NV50_AUXCH_CTRL(auxch->rd)); + nv_wr32(dev, NV50_AUXCH_CTRL(auxch->rd), tmp & ~0x00100000); + tmp = nv_rd32(dev, NV50_AUXCH_CTRL(auxch->rd)); + if (tmp & 0x01000000) { + NV_ERROR(dev, "expected bit 24 == 0, got 0x%08x\n", tmp); + ret = -EIO; + } + + udelay(400); + + return ret ? ret : (stat & NV50_AUXCH_STAT_REPLY); +} + +int +nouveau_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 nouveau_i2c_chan *auxch = (struct nouveau_i2c_chan *)adapter; + struct drm_device *dev = auxch->dev; + int ret = 0, cmd, addr = algo_data->address; + uint8_t *buf; + + if (mode == MODE_I2C_READ) { + cmd = AUX_I2C_READ; + buf = read_byte; + } else { + cmd = (mode & MODE_I2C_READ) ? AUX_I2C_READ : AUX_I2C_WRITE; + buf = &write_byte; + } + + if (!(mode & MODE_I2C_STOP)) + cmd |= AUX_I2C_MOT; + + if (mode & MODE_I2C_START) + return 1; + + for (;;) { + ret = nouveau_dp_auxch(auxch, cmd, addr, buf, 1); + if (ret < 0) + return ret; + + switch (ret & NV50_AUXCH_STAT_REPLY_I2C) { + case NV50_AUXCH_STAT_REPLY_I2C_ACK: + return 1; + case NV50_AUXCH_STAT_REPLY_I2C_NACK: + return -EREMOTEIO; + case NV50_AUXCH_STAT_REPLY_I2C_DEFER: + udelay(100); + break; + default: + NV_ERROR(dev, "invalid auxch status: 0x%08x\n", ret); + return -EREMOTEIO; + } + } +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_drv.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_drv.c @@ -0,0 +1,421 @@ +/* + * Copyright 2005 Stephane Marchesin. + * 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 + * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +#include + +#include "drmP.h" +#include "drm.h" +#include "drm_crtc_helper.h" +#include "nouveau_drv.h" +#include "nouveau_hw.h" +#include "nouveau_fb.h" +#include "nouveau_fbcon.h" +#include "nv50_display.h" + +#include "drm_pciids.h" + +MODULE_PARM_DESC(ctxfw, "Use external firmware blob for grctx init (NV40)"); +int nouveau_ctxfw = 0; +module_param_named(ctxfw, nouveau_ctxfw, int, 0400); + +MODULE_PARM_DESC(noagp, "Disable AGP"); +int nouveau_noagp; +module_param_named(noagp, nouveau_noagp, int, 0400); + +MODULE_PARM_DESC(modeset, "Enable kernel modesetting"); +static int nouveau_modeset = -1; /* kms */ +module_param_named(modeset, nouveau_modeset, int, 0400); + +MODULE_PARM_DESC(vbios, "Override default VBIOS location"); +char *nouveau_vbios; +module_param_named(vbios, nouveau_vbios, charp, 0400); + +MODULE_PARM_DESC(vram_pushbuf, "Force DMA push buffers to be in VRAM"); +int nouveau_vram_pushbuf; +module_param_named(vram_pushbuf, nouveau_vram_pushbuf, int, 0400); + +MODULE_PARM_DESC(vram_notify, "Force DMA notifiers to be in VRAM"); +int nouveau_vram_notify = 1; +module_param_named(vram_notify, nouveau_vram_notify, int, 0400); + +MODULE_PARM_DESC(duallink, "Allow dual-link TMDS (>=GeForce 8)"); +int nouveau_duallink = 1; +module_param_named(duallink, nouveau_duallink, int, 0400); + +MODULE_PARM_DESC(uscript_lvds, "LVDS output script table ID (>=GeForce 8)"); +int nouveau_uscript_lvds = -1; +module_param_named(uscript_lvds, nouveau_uscript_lvds, int, 0400); + +MODULE_PARM_DESC(uscript_tmds, "TMDS output script table ID (>=GeForce 8)"); +int nouveau_uscript_tmds = -1; +module_param_named(uscript_tmds, nouveau_uscript_tmds, int, 0400); + +MODULE_PARM_DESC(ignorelid, "Ignore ACPI lid status"); +int nouveau_ignorelid = 0; +module_param_named(ignorelid, nouveau_ignorelid, int, 0400); + +MODULE_PARM_DESC(noagp, "Disable all acceleration"); +int nouveau_noaccel = -1; +module_param_named(noaccel, nouveau_noaccel, int, 0400); + +MODULE_PARM_DESC(noagp, "Disable fbcon acceleration"); +int nouveau_nofbaccel = 0; +module_param_named(nofbaccel, nouveau_nofbaccel, int, 0400); + +MODULE_PARM_DESC(tv_norm, "Default TV norm.\n" + "\t\tSupported: PAL, PAL-M, PAL-N, PAL-Nc, NTSC-M, NTSC-J,\n" + "\t\t\thd480i, hd480p, hd576i, hd576p, hd720p, hd1080i.\n" + "\t\tDefault: PAL\n" + "\t\t*NOTE* Ignored for cards with external TV encoders."); +char *nouveau_tv_norm; +module_param_named(tv_norm, nouveau_tv_norm, charp, 0400); + +MODULE_PARM_DESC(reg_debug, "Register access debug bitmask:\n" + "\t\t0x1 mc, 0x2 video, 0x4 fb, 0x8 extdev,\n" + "\t\t0x10 crtc, 0x20 ramdac, 0x40 vgacrtc, 0x80 rmvio,\n" + "\t\t0x100 vgaattr, 0x200 EVO (G80+). "); +int nouveau_reg_debug; +module_param_named(reg_debug, nouveau_reg_debug, int, 0600); + +int nouveau_fbpercrtc; +#if 0 +module_param_named(fbpercrtc, nouveau_fbpercrtc, int, 0400); +#endif + +static struct pci_device_id pciidlist[] = { + { + PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID), + .class = PCI_BASE_CLASS_DISPLAY << 16, + .class_mask = 0xff << 16, + }, + { + PCI_DEVICE(PCI_VENDOR_ID_NVIDIA_SGS, PCI_ANY_ID), + .class = PCI_BASE_CLASS_DISPLAY << 16, + .class_mask = 0xff << 16, + }, + {} +}; + +MODULE_DEVICE_TABLE(pci, pciidlist); + +static struct drm_driver driver; + +static int __devinit +nouveau_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) +{ + return drm_get_dev(pdev, ent, &driver); +} + +static void +nouveau_pci_remove(struct pci_dev *pdev) +{ + struct drm_device *dev = pci_get_drvdata(pdev); + + drm_put_dev(dev); +} + +static int +nouveau_pci_suspend(struct pci_dev *pdev, pm_message_t pm_state) +{ + struct drm_device *dev = pci_get_drvdata(pdev); + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_instmem_engine *pinstmem = &dev_priv->engine.instmem; + struct nouveau_pgraph_engine *pgraph = &dev_priv->engine.graph; + struct nouveau_fifo_engine *pfifo = &dev_priv->engine.fifo; + struct nouveau_channel *chan; + struct drm_crtc *crtc; + uint32_t fbdev_flags; + int ret, i; + + if (!drm_core_check_feature(dev, DRIVER_MODESET)) + return -ENODEV; + + if (pm_state.event == PM_EVENT_PRETHAW) + return 0; + + fbdev_flags = dev_priv->fbdev_info->flags; + dev_priv->fbdev_info->flags |= FBINFO_HWACCEL_DISABLED; + + list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { + struct nouveau_framebuffer *nouveau_fb; + + nouveau_fb = nouveau_framebuffer(crtc->fb); + if (!nouveau_fb || !nouveau_fb->nvbo) + continue; + + nouveau_bo_unpin(nouveau_fb->nvbo); + } + + NV_INFO(dev, "Evicting buffers...\n"); + ttm_bo_evict_mm(&dev_priv->ttm.bdev, TTM_PL_VRAM); + + NV_INFO(dev, "Idling channels...\n"); + for (i = 0; i < pfifo->channels; i++) { + struct nouveau_fence *fence = NULL; + + chan = dev_priv->fifos[i]; + if (!chan || (dev_priv->card_type >= NV_50 && + chan == dev_priv->fifos[0])) + continue; + + ret = nouveau_fence_new(chan, &fence, true); + if (ret == 0) { + ret = nouveau_fence_wait(fence, NULL, false, false); + nouveau_fence_unref((void *)&fence); + } + + if (ret) { + NV_ERROR(dev, "Failed to idle channel %d for suspend\n", + chan->id); + } + } + + pgraph->fifo_access(dev, false); + nouveau_wait_for_idle(dev); + pfifo->reassign(dev, false); + pfifo->disable(dev); + pfifo->unload_context(dev); + pgraph->unload_context(dev); + + NV_INFO(dev, "Suspending GPU objects...\n"); + ret = nouveau_gpuobj_suspend(dev); + if (ret) { + NV_ERROR(dev, "... failed: %d\n", ret); + goto out_abort; + } + + ret = pinstmem->suspend(dev); + if (ret) { + NV_ERROR(dev, "... failed: %d\n", ret); + nouveau_gpuobj_suspend_cleanup(dev); + goto out_abort; + } + + NV_INFO(dev, "And we're gone!\n"); + pci_save_state(pdev); + if (pm_state.event == PM_EVENT_SUSPEND) { + pci_disable_device(pdev); + pci_set_power_state(pdev, PCI_D3hot); + } + + acquire_console_sem(); + fb_set_suspend(dev_priv->fbdev_info, 1); + release_console_sem(); + dev_priv->fbdev_info->flags = fbdev_flags; + return 0; + +out_abort: + NV_INFO(dev, "Re-enabling acceleration..\n"); + pfifo->enable(dev); + pfifo->reassign(dev, true); + pgraph->fifo_access(dev, true); + return ret; +} + +static int +nouveau_pci_resume(struct pci_dev *pdev) +{ + struct drm_device *dev = pci_get_drvdata(pdev); + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_engine *engine = &dev_priv->engine; + struct drm_crtc *crtc; + uint32_t fbdev_flags; + int ret, i; + + if (!drm_core_check_feature(dev, DRIVER_MODESET)) + return -ENODEV; + + fbdev_flags = dev_priv->fbdev_info->flags; + dev_priv->fbdev_info->flags |= FBINFO_HWACCEL_DISABLED; + + NV_INFO(dev, "We're back, enabling device...\n"); + pci_set_power_state(pdev, PCI_D0); + pci_restore_state(pdev); + if (pci_enable_device(pdev)) + return -1; + pci_set_master(dev->pdev); + + NV_INFO(dev, "POSTing device...\n"); + ret = nouveau_run_vbios_init(dev); + if (ret) + return ret; + + if (dev_priv->gart_info.type == NOUVEAU_GART_AGP) { + ret = nouveau_mem_init_agp(dev); + if (ret) { + NV_ERROR(dev, "error reinitialising AGP: %d\n", ret); + return ret; + } + } + + NV_INFO(dev, "Reinitialising engines...\n"); + engine->instmem.resume(dev); + engine->mc.init(dev); + engine->timer.init(dev); + engine->fb.init(dev); + engine->graph.init(dev); + engine->fifo.init(dev); + + NV_INFO(dev, "Restoring GPU objects...\n"); + nouveau_gpuobj_resume(dev); + + nouveau_irq_postinstall(dev); + + /* Re-write SKIPS, they'll have been lost over the suspend */ + if (nouveau_vram_pushbuf) { + struct nouveau_channel *chan; + int j; + + for (i = 0; i < dev_priv->engine.fifo.channels; i++) { + chan = dev_priv->fifos[i]; + if (!chan || !chan->pushbuf_bo) + continue; + + for (j = 0; j < NOUVEAU_DMA_SKIPS; j++) + nouveau_bo_wr32(chan->pushbuf_bo, i, 0); + } + } + + NV_INFO(dev, "Restoring mode...\n"); + list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { + struct nouveau_framebuffer *nouveau_fb; + + nouveau_fb = nouveau_framebuffer(crtc->fb); + if (!nouveau_fb || !nouveau_fb->nvbo) + continue; + + nouveau_bo_pin(nouveau_fb->nvbo, TTM_PL_FLAG_VRAM); + } + + if (dev_priv->card_type < NV_50) { + nv04_display_restore(dev); + NVLockVgaCrtcs(dev, false); + } else + nv50_display_init(dev); + + /* Force CLUT to get re-loaded during modeset */ + list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + + nv_crtc->lut.depth = 0; + } + + acquire_console_sem(); + fb_set_suspend(dev_priv->fbdev_info, 0); + release_console_sem(); + + nouveau_fbcon_zfill(dev); + + drm_helper_resume_force_mode(dev); + dev_priv->fbdev_info->flags = fbdev_flags; + return 0; +} + +static struct drm_driver driver = { + .driver_features = + DRIVER_USE_AGP | DRIVER_PCI_DMA | DRIVER_SG | + DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | DRIVER_GEM, + .load = nouveau_load, + .firstopen = nouveau_firstopen, + .lastclose = nouveau_lastclose, + .unload = nouveau_unload, + .preclose = nouveau_preclose, +#if defined(CONFIG_DRM_NOUVEAU_DEBUG) + .debugfs_init = nouveau_debugfs_init, + .debugfs_cleanup = nouveau_debugfs_takedown, +#endif + .irq_preinstall = nouveau_irq_preinstall, + .irq_postinstall = nouveau_irq_postinstall, + .irq_uninstall = nouveau_irq_uninstall, + .irq_handler = nouveau_irq_handler, + .reclaim_buffers = drm_core_reclaim_buffers, + .get_map_ofs = drm_core_get_map_ofs, + .get_reg_ofs = drm_core_get_reg_ofs, + .ioctls = nouveau_ioctls, + .fops = { + .owner = THIS_MODULE, + .open = drm_open, + .release = drm_release, + .unlocked_ioctl = drm_ioctl, + .mmap = nouveau_ttm_mmap, + .poll = drm_poll, + .fasync = drm_fasync, +#if defined(CONFIG_COMPAT) + .compat_ioctl = nouveau_compat_ioctl, +#endif + }, + .pci_driver = { + .name = DRIVER_NAME, + .id_table = pciidlist, + .probe = nouveau_pci_probe, + .remove = nouveau_pci_remove, + .suspend = nouveau_pci_suspend, + .resume = nouveau_pci_resume + }, + + .gem_init_object = nouveau_gem_object_new, + .gem_free_object = nouveau_gem_object_del, + + .name = DRIVER_NAME, + .desc = DRIVER_DESC, +#ifdef GIT_REVISION + .date = GIT_REVISION, +#else + .date = DRIVER_DATE, +#endif + .major = DRIVER_MAJOR, + .minor = DRIVER_MINOR, + .patchlevel = DRIVER_PATCHLEVEL, +}; + +static int __init nouveau_init(void) +{ + driver.num_ioctls = nouveau_max_ioctl; + + if (nouveau_modeset == -1) { +#ifdef CONFIG_VGA_CONSOLE + if (vgacon_text_force()) + nouveau_modeset = 0; + else +#endif + nouveau_modeset = 1; + } + + if (nouveau_modeset == 1) + driver.driver_features |= DRIVER_MODESET; + + return drm_init(&driver); +} + +static void __exit nouveau_exit(void) +{ + drm_exit(&driver); +} + +module_init(nouveau_init); +module_exit(nouveau_exit); + +MODULE_AUTHOR(DRIVER_AUTHOR); +MODULE_DESCRIPTION(DRIVER_DESC); +MODULE_LICENSE("GPL and additional rights"); --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_drv.h +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_drv.h @@ -0,0 +1,1352 @@ +/* + * Copyright 2005 Stephane Marchesin. + * 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 + * VA LINUX SYSTEMS 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 __NOUVEAU_DRV_H__ +#define __NOUVEAU_DRV_H__ + +#define DRIVER_AUTHOR "Stephane Marchesin" +#define DRIVER_EMAIL "dri-devel@lists.sourceforge.net" + +#define DRIVER_NAME "nouveau" +#define DRIVER_DESC "nVidia Riva/TNT/GeForce" +#define DRIVER_DATE "20090420" + +#define DRIVER_MAJOR 0 +#define DRIVER_MINOR 0 +#define DRIVER_PATCHLEVEL 15 + +#define NOUVEAU_FAMILY 0x0000FFFF +#define NOUVEAU_FLAGS 0xFFFF0000 + +#include "ttm/ttm_bo_api.h" +#include "ttm/ttm_bo_driver.h" +#include "ttm/ttm_placement.h" +#include "ttm/ttm_memory.h" +#include "ttm/ttm_module.h" + +struct nouveau_fpriv { + struct ttm_object_file *tfile; +}; + +#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT) + +#include "nouveau_drm.h" +#include "nouveau_reg.h" +#include "nouveau_bios.h" +struct nouveau_grctx; + +#define MAX_NUM_DCB_ENTRIES 16 + +#define NOUVEAU_MAX_CHANNEL_NR 128 +#define NOUVEAU_MAX_TILE_NR 15 + +#define NV50_VM_MAX_VRAM (2*1024*1024*1024ULL) +#define NV50_VM_BLOCK (512*1024*1024ULL) +#define NV50_VM_VRAM_NR (NV50_VM_MAX_VRAM / NV50_VM_BLOCK) + +struct nouveau_tile_reg { + struct nouveau_fence *fence; + uint32_t addr; + uint32_t size; + bool used; +}; + +struct nouveau_bo { + struct ttm_buffer_object bo; + struct ttm_placement placement; + u32 placements[3]; + struct ttm_bo_kmap_obj kmap; + struct list_head head; + + /* protected by ttm_bo_reserve() */ + struct drm_file *reserved_by; + struct list_head entry; + int pbbo_index; + + struct nouveau_channel *channel; + + bool mappable; + bool no_vm; + + uint32_t tile_mode; + uint32_t tile_flags; + struct nouveau_tile_reg *tile; + + struct drm_gem_object *gem; + struct drm_file *cpu_filp; + int pin_refcnt; +}; + +static inline struct nouveau_bo * +nouveau_bo(struct ttm_buffer_object *bo) +{ + return container_of(bo, struct nouveau_bo, bo); +} + +static inline struct nouveau_bo * +nouveau_gem_object(struct drm_gem_object *gem) +{ + return gem ? gem->driver_private : NULL; +} + +/* TODO: submit equivalent to TTM generic API upstream? */ +static inline void __iomem * +nvbo_kmap_obj_iovirtual(struct nouveau_bo *nvbo) +{ + bool is_iomem; + void __iomem *ioptr = (void __force __iomem *)ttm_kmap_obj_virtual( + &nvbo->kmap, &is_iomem); + WARN_ON_ONCE(ioptr && !is_iomem); + return ioptr; +} + +struct mem_block { + struct mem_block *next; + struct mem_block *prev; + uint64_t start; + uint64_t size; + struct drm_file *file_priv; /* NULL: free, -1: heap, other: real files */ +}; + +enum nouveau_flags { + NV_NFORCE = 0x10000000, + NV_NFORCE2 = 0x20000000 +}; + +#define NVOBJ_ENGINE_SW 0 +#define NVOBJ_ENGINE_GR 1 +#define NVOBJ_ENGINE_DISPLAY 2 +#define NVOBJ_ENGINE_INT 0xdeadbeef + +#define NVOBJ_FLAG_ALLOW_NO_REFS (1 << 0) +#define NVOBJ_FLAG_ZERO_ALLOC (1 << 1) +#define NVOBJ_FLAG_ZERO_FREE (1 << 2) +#define NVOBJ_FLAG_FAKE (1 << 3) +struct nouveau_gpuobj { + struct list_head list; + + struct nouveau_channel *im_channel; + struct mem_block *im_pramin; + struct nouveau_bo *im_backing; + uint32_t im_backing_start; + uint32_t *im_backing_suspend; + int im_bound; + + uint32_t flags; + int refcount; + + uint32_t engine; + uint32_t class; + + void (*dtor)(struct drm_device *, struct nouveau_gpuobj *); + void *priv; +}; + +struct nouveau_gpuobj_ref { + struct list_head list; + + struct nouveau_gpuobj *gpuobj; + uint32_t instance; + + struct nouveau_channel *channel; + int handle; +}; + +struct nouveau_channel { + struct drm_device *dev; + int id; + + /* owner of this fifo */ + struct drm_file *file_priv; + /* mapping of the fifo itself */ + struct drm_local_map *map; + + /* mapping of the regs controling the fifo */ + void __iomem *user; + uint32_t user_get; + uint32_t user_put; + + /* Fencing */ + struct { + /* lock protects the pending list only */ + spinlock_t lock; + struct list_head pending; + uint32_t sequence; + uint32_t sequence_ack; + uint32_t last_sequence_irq; + } fence; + + /* DMA push buffer */ + struct nouveau_gpuobj_ref *pushbuf; + struct nouveau_bo *pushbuf_bo; + uint32_t pushbuf_base; + + /* Notifier memory */ + struct nouveau_bo *notifier_bo; + struct mem_block *notifier_heap; + + /* PFIFO context */ + struct nouveau_gpuobj_ref *ramfc; + struct nouveau_gpuobj_ref *cache; + + /* PGRAPH context */ + /* XXX may be merge 2 pointers as private data ??? */ + struct nouveau_gpuobj_ref *ramin_grctx; + void *pgraph_ctx; + + /* NV50 VM */ + struct nouveau_gpuobj *vm_pd; + struct nouveau_gpuobj_ref *vm_gart_pt; + struct nouveau_gpuobj_ref *vm_vram_pt[NV50_VM_VRAM_NR]; + + /* Objects */ + struct nouveau_gpuobj_ref *ramin; /* Private instmem */ + struct mem_block *ramin_heap; /* Private PRAMIN heap */ + struct nouveau_gpuobj_ref *ramht; /* Hash table */ + struct list_head ramht_refs; /* Objects referenced by RAMHT */ + + /* GPU object info for stuff used in-kernel (mm_enabled) */ + uint32_t m2mf_ntfy; + uint32_t vram_handle; + uint32_t gart_handle; + bool accel_done; + + /* Push buffer state (only for drm's channel on !mm_enabled) */ + struct { + int max; + int free; + int cur; + int put; + /* access via pushbuf_bo */ + } dma; + + uint32_t sw_subchannel[8]; + + struct { + struct nouveau_gpuobj *vblsem; + uint32_t vblsem_offset; + uint32_t vblsem_rval; + struct list_head vbl_wait; + } nvsw; + + struct { + bool active; + char name[32]; + struct drm_info_list info; + } debugfs; +}; + +struct nouveau_instmem_engine { + void *priv; + + int (*init)(struct drm_device *dev); + void (*takedown)(struct drm_device *dev); + int (*suspend)(struct drm_device *dev); + void (*resume)(struct drm_device *dev); + + int (*populate)(struct drm_device *, struct nouveau_gpuobj *, + uint32_t *size); + void (*clear)(struct drm_device *, struct nouveau_gpuobj *); + int (*bind)(struct drm_device *, struct nouveau_gpuobj *); + int (*unbind)(struct drm_device *, struct nouveau_gpuobj *); + void (*prepare_access)(struct drm_device *, bool write); + void (*finish_access)(struct drm_device *); +}; + +struct nouveau_mc_engine { + int (*init)(struct drm_device *dev); + void (*takedown)(struct drm_device *dev); +}; + +struct nouveau_timer_engine { + int (*init)(struct drm_device *dev); + void (*takedown)(struct drm_device *dev); + uint64_t (*read)(struct drm_device *dev); +}; + +struct nouveau_fb_engine { + int num_tiles; + + int (*init)(struct drm_device *dev); + void (*takedown)(struct drm_device *dev); + + void (*set_region_tiling)(struct drm_device *dev, int i, uint32_t addr, + uint32_t size, uint32_t pitch); +}; + +struct nouveau_fifo_engine { + void *priv; + + int channels; + + int (*init)(struct drm_device *); + void (*takedown)(struct drm_device *); + + void (*disable)(struct drm_device *); + void (*enable)(struct drm_device *); + bool (*reassign)(struct drm_device *, bool enable); + bool (*cache_flush)(struct drm_device *dev); + bool (*cache_pull)(struct drm_device *dev, bool enable); + + int (*channel_id)(struct drm_device *); + + int (*create_context)(struct nouveau_channel *); + void (*destroy_context)(struct nouveau_channel *); + int (*load_context)(struct nouveau_channel *); + int (*unload_context)(struct drm_device *); +}; + +struct nouveau_pgraph_object_method { + int id; + int (*exec)(struct nouveau_channel *chan, int grclass, int mthd, + uint32_t data); +}; + +struct nouveau_pgraph_object_class { + int id; + bool software; + struct nouveau_pgraph_object_method *methods; +}; + +struct nouveau_pgraph_engine { + struct nouveau_pgraph_object_class *grclass; + bool accel_blocked; + void *ctxprog; + void *ctxvals; + int grctx_size; + + int (*init)(struct drm_device *); + void (*takedown)(struct drm_device *); + + void (*fifo_access)(struct drm_device *, bool); + + struct nouveau_channel *(*channel)(struct drm_device *); + int (*create_context)(struct nouveau_channel *); + void (*destroy_context)(struct nouveau_channel *); + int (*load_context)(struct nouveau_channel *); + int (*unload_context)(struct drm_device *); + + void (*set_region_tiling)(struct drm_device *dev, int i, uint32_t addr, + uint32_t size, uint32_t pitch); +}; + +struct nouveau_engine { + struct nouveau_instmem_engine instmem; + struct nouveau_mc_engine mc; + struct nouveau_timer_engine timer; + struct nouveau_fb_engine fb; + struct nouveau_pgraph_engine graph; + struct nouveau_fifo_engine fifo; +}; + +struct nouveau_pll_vals { + union { + struct { +#ifdef __BIG_ENDIAN + uint8_t N1, M1, N2, M2; +#else + uint8_t M1, N1, M2, N2; +#endif + }; + struct { + uint16_t NM1, NM2; + } __attribute__((packed)); + }; + int log2P; + + int refclk; +}; + +enum nv04_fp_display_regs { + FP_DISPLAY_END, + FP_TOTAL, + FP_CRTC, + FP_SYNC_START, + FP_SYNC_END, + FP_VALID_START, + FP_VALID_END +}; + +struct nv04_crtc_reg { + unsigned char MiscOutReg; /* */ + uint8_t CRTC[0x9f]; + uint8_t CR58[0x10]; + uint8_t Sequencer[5]; + uint8_t Graphics[9]; + uint8_t Attribute[21]; + unsigned char DAC[768]; /* Internal Colorlookuptable */ + + /* PCRTC regs */ + uint32_t fb_start; + uint32_t crtc_cfg; + uint32_t cursor_cfg; + uint32_t gpio_ext; + uint32_t crtc_830; + uint32_t crtc_834; + uint32_t crtc_850; + uint32_t crtc_eng_ctrl; + + /* PRAMDAC regs */ + uint32_t nv10_cursync; + struct nouveau_pll_vals pllvals; + uint32_t ramdac_gen_ctrl; + uint32_t ramdac_630; + uint32_t ramdac_634; + uint32_t tv_setup; + uint32_t tv_vtotal; + uint32_t tv_vskew; + uint32_t tv_vsync_delay; + uint32_t tv_htotal; + uint32_t tv_hskew; + uint32_t tv_hsync_delay; + uint32_t tv_hsync_delay2; + uint32_t fp_horiz_regs[7]; + uint32_t fp_vert_regs[7]; + uint32_t dither; + uint32_t fp_control; + uint32_t dither_regs[6]; + uint32_t fp_debug_0; + uint32_t fp_debug_1; + uint32_t fp_debug_2; + uint32_t fp_margin_color; + uint32_t ramdac_8c0; + uint32_t ramdac_a20; + uint32_t ramdac_a24; + uint32_t ramdac_a34; + uint32_t ctv_regs[38]; +}; + +struct nv04_output_reg { + uint32_t output; + int head; +}; + +struct nv04_mode_state { + uint32_t bpp; + uint32_t width; + uint32_t height; + uint32_t interlace; + uint32_t repaint0; + uint32_t repaint1; + uint32_t screen; + uint32_t scale; + uint32_t dither; + uint32_t extra; + uint32_t fifo; + uint32_t pixel; + uint32_t horiz; + int arbitration0; + int arbitration1; + uint32_t pll; + uint32_t pllB; + uint32_t vpll; + uint32_t vpll2; + uint32_t vpllB; + uint32_t vpll2B; + uint32_t pllsel; + uint32_t sel_clk; + uint32_t general; + uint32_t crtcOwner; + uint32_t head; + uint32_t head2; + uint32_t cursorConfig; + uint32_t cursor0; + uint32_t cursor1; + uint32_t cursor2; + uint32_t timingH; + uint32_t timingV; + uint32_t displayV; + uint32_t crtcSync; + + struct nv04_crtc_reg crtc_reg[2]; +}; + +enum nouveau_card_type { + NV_04 = 0x00, + NV_10 = 0x10, + NV_20 = 0x20, + NV_30 = 0x30, + NV_40 = 0x40, + NV_50 = 0x50, +}; + +struct drm_nouveau_private { + struct drm_device *dev; + enum { + NOUVEAU_CARD_INIT_DOWN, + NOUVEAU_CARD_INIT_DONE, + NOUVEAU_CARD_INIT_FAILED + } init_state; + + /* the card type, takes NV_* as values */ + enum nouveau_card_type card_type; + /* exact chipset, derived from NV_PMC_BOOT_0 */ + int chipset; + int flags; + + void __iomem *mmio; + void __iomem *ramin; + uint32_t ramin_size; + + struct nouveau_bo *vga_ram; + + struct workqueue_struct *wq; + struct work_struct irq_work; + + struct list_head vbl_waiting; + + struct { + struct ttm_global_reference mem_global_ref; + struct ttm_bo_global_ref bo_global_ref; + struct ttm_bo_device bdev; + spinlock_t bo_list_lock; + struct list_head bo_list; + atomic_t validate_sequence; + } ttm; + + struct fb_info *fbdev_info; + + int fifo_alloc_count; + struct nouveau_channel *fifos[NOUVEAU_MAX_CHANNEL_NR]; + + struct nouveau_engine engine; + struct nouveau_channel *channel; + + /* RAMIN configuration, RAMFC, RAMHT and RAMRO offsets */ + struct nouveau_gpuobj *ramht; + uint32_t ramin_rsvd_vram; + uint32_t ramht_offset; + uint32_t ramht_size; + uint32_t ramht_bits; + uint32_t ramfc_offset; + uint32_t ramfc_size; + uint32_t ramro_offset; + uint32_t ramro_size; + + /* base physical adresses */ + uint64_t fb_phys; + uint64_t fb_available_size; + uint64_t fb_mappable_pages; + uint64_t fb_aper_free; + + struct { + enum { + NOUVEAU_GART_NONE = 0, + NOUVEAU_GART_AGP, + NOUVEAU_GART_SGDMA + } type; + uint64_t aper_base; + uint64_t aper_size; + uint64_t aper_free; + + struct nouveau_gpuobj *sg_ctxdma; + struct page *sg_dummy_page; + dma_addr_t sg_dummy_bus; + + /* nottm hack */ + struct drm_ttm_backend *sg_be; + unsigned long sg_handle; + } gart_info; + + /* nv10-nv40 tiling regions */ + struct { + struct nouveau_tile_reg reg[NOUVEAU_MAX_TILE_NR]; + spinlock_t lock; + } tile; + + /* G8x/G9x virtual address space */ + uint64_t vm_gart_base; + uint64_t vm_gart_size; + uint64_t vm_vram_base; + uint64_t vm_vram_size; + uint64_t vm_end; + struct nouveau_gpuobj *vm_vram_pt[NV50_VM_VRAM_NR]; + int vm_vram_pt_nr; + uint64_t vram_sys_base; + + /* the mtrr covering the FB */ + int fb_mtrr; + + struct mem_block *ramin_heap; + + /* context table pointed to be NV_PGRAPH_CHANNEL_CTX_TABLE (0x400780) */ + uint32_t ctx_table_size; + struct nouveau_gpuobj_ref *ctx_table; + + struct list_head gpuobj_list; + + struct nvbios VBIOS; + struct nouveau_bios_info *vbios; + + struct nv04_mode_state mode_reg; + struct nv04_mode_state saved_reg; + uint32_t saved_vga_font[4][16384]; + uint32_t crtc_owner; + uint32_t dac_users[4]; + + struct nouveau_suspend_resume { + uint32_t fifo_mode; + uint32_t graph_ctx_control; + uint32_t graph_state; + uint32_t *ramin_copy; + uint64_t ramin_size; + } susres; + + struct backlight_device *backlight; + bool acpi_dsm; + + struct nouveau_channel *evo; + + struct { + struct dentry *channel_root; + } debugfs; +}; + +static inline struct drm_nouveau_private * +nouveau_bdev(struct ttm_bo_device *bd) +{ + return container_of(bd, struct drm_nouveau_private, ttm.bdev); +} + +static inline int +nouveau_bo_ref(struct nouveau_bo *ref, struct nouveau_bo **pnvbo) +{ + struct nouveau_bo *prev; + + if (!pnvbo) + return -EINVAL; + prev = *pnvbo; + + *pnvbo = ref ? nouveau_bo(ttm_bo_reference(&ref->bo)) : NULL; + if (prev) { + struct ttm_buffer_object *bo = &prev->bo; + + ttm_bo_unref(&bo); + } + + return 0; +} + +#define NOUVEAU_CHECK_INITIALISED_WITH_RETURN do { \ + struct drm_nouveau_private *nv = dev->dev_private; \ + if (nv->init_state != NOUVEAU_CARD_INIT_DONE) { \ + NV_ERROR(dev, "called without init\n"); \ + return -EINVAL; \ + } \ +} while (0) + +#define NOUVEAU_GET_USER_CHANNEL_WITH_RETURN(id, cl, ch) do { \ + struct drm_nouveau_private *nv = dev->dev_private; \ + if (!nouveau_channel_owner(dev, (cl), (id))) { \ + NV_ERROR(dev, "pid %d doesn't own channel %d\n", \ + DRM_CURRENTPID, (id)); \ + return -EPERM; \ + } \ + (ch) = nv->fifos[(id)]; \ +} while (0) + +/* nouveau_drv.c */ +extern int nouveau_noagp; +extern int nouveau_duallink; +extern int nouveau_uscript_lvds; +extern int nouveau_uscript_tmds; +extern int nouveau_vram_pushbuf; +extern int nouveau_vram_notify; +extern int nouveau_fbpercrtc; +extern char *nouveau_tv_norm; +extern int nouveau_reg_debug; +extern char *nouveau_vbios; +extern int nouveau_ctxfw; +extern int nouveau_ignorelid; +extern int nouveau_nofbaccel; +extern int nouveau_noaccel; + +/* nouveau_state.c */ +extern void nouveau_preclose(struct drm_device *dev, struct drm_file *); +extern int nouveau_load(struct drm_device *, unsigned long flags); +extern int nouveau_firstopen(struct drm_device *); +extern void nouveau_lastclose(struct drm_device *); +extern int nouveau_unload(struct drm_device *); +extern int nouveau_ioctl_getparam(struct drm_device *, void *data, + struct drm_file *); +extern int nouveau_ioctl_setparam(struct drm_device *, void *data, + struct drm_file *); +extern bool nouveau_wait_until(struct drm_device *, uint64_t timeout, + uint32_t reg, uint32_t mask, uint32_t val); +extern bool nouveau_wait_for_idle(struct drm_device *); +extern int nouveau_card_init(struct drm_device *); +extern int nouveau_ioctl_card_init(struct drm_device *, void *data, + struct drm_file *); +extern int nouveau_ioctl_suspend(struct drm_device *, void *data, + struct drm_file *); +extern int nouveau_ioctl_resume(struct drm_device *, void *data, + struct drm_file *); + +/* nouveau_mem.c */ +extern int nouveau_mem_init_heap(struct mem_block **, uint64_t start, + uint64_t size); +extern struct mem_block *nouveau_mem_alloc_block(struct mem_block *, + uint64_t size, int align2, + struct drm_file *, int tail); +extern void nouveau_mem_takedown(struct mem_block **heap); +extern void nouveau_mem_free_block(struct mem_block *); +extern uint64_t nouveau_mem_fb_amount(struct drm_device *); +extern void nouveau_mem_release(struct drm_file *, struct mem_block *heap); +extern int nouveau_mem_init(struct drm_device *); +extern int nouveau_mem_init_agp(struct drm_device *); +extern void nouveau_mem_close(struct drm_device *); +extern struct nouveau_tile_reg *nv10_mem_set_tiling(struct drm_device *dev, + uint32_t addr, + uint32_t size, + uint32_t pitch); +extern void nv10_mem_expire_tiling(struct drm_device *dev, + struct nouveau_tile_reg *tile, + struct nouveau_fence *fence); +extern int nv50_mem_vm_bind_linear(struct drm_device *, uint64_t virt, + uint32_t size, uint32_t flags, + uint64_t phys); +extern void nv50_mem_vm_unbind(struct drm_device *, uint64_t virt, + uint32_t size); + +/* nouveau_notifier.c */ +extern int nouveau_notifier_init_channel(struct nouveau_channel *); +extern void nouveau_notifier_takedown_channel(struct nouveau_channel *); +extern int nouveau_notifier_alloc(struct nouveau_channel *, uint32_t handle, + int cout, uint32_t *offset); +extern int nouveau_notifier_offset(struct nouveau_gpuobj *, uint32_t *); +extern int nouveau_ioctl_notifier_alloc(struct drm_device *, void *data, + struct drm_file *); +extern int nouveau_ioctl_notifier_free(struct drm_device *, void *data, + struct drm_file *); + +/* nouveau_channel.c */ +extern struct drm_ioctl_desc nouveau_ioctls[]; +extern int nouveau_max_ioctl; +extern void nouveau_channel_cleanup(struct drm_device *, struct drm_file *); +extern int nouveau_channel_owner(struct drm_device *, struct drm_file *, + int channel); +extern int nouveau_channel_alloc(struct drm_device *dev, + struct nouveau_channel **chan, + struct drm_file *file_priv, + uint32_t fb_ctxdma, uint32_t tt_ctxdma); +extern void nouveau_channel_free(struct nouveau_channel *); + +/* nouveau_object.c */ +extern int nouveau_gpuobj_early_init(struct drm_device *); +extern int nouveau_gpuobj_init(struct drm_device *); +extern void nouveau_gpuobj_takedown(struct drm_device *); +extern void nouveau_gpuobj_late_takedown(struct drm_device *); +extern int nouveau_gpuobj_suspend(struct drm_device *dev); +extern void nouveau_gpuobj_suspend_cleanup(struct drm_device *dev); +extern void nouveau_gpuobj_resume(struct drm_device *dev); +extern int nouveau_gpuobj_channel_init(struct nouveau_channel *, + uint32_t vram_h, uint32_t tt_h); +extern void nouveau_gpuobj_channel_takedown(struct nouveau_channel *); +extern int nouveau_gpuobj_new(struct drm_device *, struct nouveau_channel *, + uint32_t size, int align, uint32_t flags, + struct nouveau_gpuobj **); +extern int nouveau_gpuobj_del(struct drm_device *, struct nouveau_gpuobj **); +extern int nouveau_gpuobj_ref_add(struct drm_device *, struct nouveau_channel *, + uint32_t handle, struct nouveau_gpuobj *, + struct nouveau_gpuobj_ref **); +extern int nouveau_gpuobj_ref_del(struct drm_device *, + struct nouveau_gpuobj_ref **); +extern int nouveau_gpuobj_ref_find(struct nouveau_channel *, uint32_t handle, + struct nouveau_gpuobj_ref **ref_ret); +extern int nouveau_gpuobj_new_ref(struct drm_device *, + struct nouveau_channel *alloc_chan, + struct nouveau_channel *ref_chan, + uint32_t handle, uint32_t size, int align, + uint32_t flags, struct nouveau_gpuobj_ref **); +extern int nouveau_gpuobj_new_fake(struct drm_device *, + uint32_t p_offset, uint32_t b_offset, + uint32_t size, uint32_t flags, + struct nouveau_gpuobj **, + struct nouveau_gpuobj_ref**); +extern int nouveau_gpuobj_dma_new(struct nouveau_channel *, int class, + uint64_t offset, uint64_t size, int access, + int target, struct nouveau_gpuobj **); +extern int nouveau_gpuobj_gart_dma_new(struct nouveau_channel *, + uint64_t offset, uint64_t size, + int access, struct nouveau_gpuobj **, + uint32_t *o_ret); +extern int nouveau_gpuobj_gr_new(struct nouveau_channel *, int class, + struct nouveau_gpuobj **); +extern int nouveau_gpuobj_sw_new(struct nouveau_channel *, int class, + struct nouveau_gpuobj **); +extern int nouveau_ioctl_grobj_alloc(struct drm_device *, void *data, + struct drm_file *); +extern int nouveau_ioctl_gpuobj_free(struct drm_device *, void *data, + struct drm_file *); + +/* nouveau_irq.c */ +extern irqreturn_t nouveau_irq_handler(DRM_IRQ_ARGS); +extern void nouveau_irq_preinstall(struct drm_device *); +extern int nouveau_irq_postinstall(struct drm_device *); +extern void nouveau_irq_uninstall(struct drm_device *); + +/* nouveau_sgdma.c */ +extern int nouveau_sgdma_init(struct drm_device *); +extern void nouveau_sgdma_takedown(struct drm_device *); +extern int nouveau_sgdma_get_page(struct drm_device *, uint32_t offset, + uint32_t *page); +extern struct ttm_backend *nouveau_sgdma_init_ttm(struct drm_device *); + +/* nouveau_debugfs.c */ +#if defined(CONFIG_DRM_NOUVEAU_DEBUG) +extern int nouveau_debugfs_init(struct drm_minor *); +extern void nouveau_debugfs_takedown(struct drm_minor *); +extern int nouveau_debugfs_channel_init(struct nouveau_channel *); +extern void nouveau_debugfs_channel_fini(struct nouveau_channel *); +#else +static inline int +nouveau_debugfs_init(struct drm_minor *minor) +{ + return 0; +} + +static inline void nouveau_debugfs_takedown(struct drm_minor *minor) +{ +} + +static inline int +nouveau_debugfs_channel_init(struct nouveau_channel *chan) +{ + return 0; +} + +static inline void +nouveau_debugfs_channel_fini(struct nouveau_channel *chan) +{ +} +#endif + +/* nouveau_dma.c */ +extern void nouveau_dma_pre_init(struct nouveau_channel *); +extern int nouveau_dma_init(struct nouveau_channel *); +extern int nouveau_dma_wait(struct nouveau_channel *, int size); + +/* nouveau_acpi.c */ +#ifdef CONFIG_ACPI +extern int nouveau_hybrid_setup(struct drm_device *dev); +extern bool nouveau_dsm_probe(struct drm_device *dev); +#else +static inline int nouveau_hybrid_setup(struct drm_device *dev) +{ + return 0; +} +static inline bool nouveau_dsm_probe(struct drm_device *dev) +{ + return false; +} +#endif + +/* nouveau_backlight.c */ +#ifdef CONFIG_DRM_NOUVEAU_BACKLIGHT +extern int nouveau_backlight_init(struct drm_device *); +extern void nouveau_backlight_exit(struct drm_device *); +#else +static inline int nouveau_backlight_init(struct drm_device *dev) +{ + return 0; +} + +static inline void nouveau_backlight_exit(struct drm_device *dev) { } +#endif + +/* nouveau_bios.c */ +extern int nouveau_bios_init(struct drm_device *); +extern void nouveau_bios_takedown(struct drm_device *dev); +extern int nouveau_run_vbios_init(struct drm_device *); +extern void nouveau_bios_run_init_table(struct drm_device *, uint16_t table, + struct dcb_entry *); +extern struct dcb_gpio_entry *nouveau_bios_gpio_entry(struct drm_device *, + enum dcb_gpio_tag); +extern struct dcb_connector_table_entry * +nouveau_bios_connector_entry(struct drm_device *, int index); +extern int get_pll_limits(struct drm_device *, uint32_t limit_match, + struct pll_lims *); +extern int nouveau_bios_run_display_table(struct drm_device *, + struct dcb_entry *, + uint32_t script, int pxclk); +extern void *nouveau_bios_dp_table(struct drm_device *, struct dcb_entry *, + int *length); +extern bool nouveau_bios_fp_mode(struct drm_device *, struct drm_display_mode *); +extern uint8_t *nouveau_bios_embedded_edid(struct drm_device *); +extern int nouveau_bios_parse_lvds_table(struct drm_device *, int pxclk, + bool *dl, bool *if_is_24bit); +extern int run_tmds_table(struct drm_device *, struct dcb_entry *, + int head, int pxclk); +extern int call_lvds_script(struct drm_device *, struct dcb_entry *, int head, + enum LVDS_script, int pxclk); + +/* nouveau_ttm.c */ +int nouveau_ttm_global_init(struct drm_nouveau_private *); +void nouveau_ttm_global_release(struct drm_nouveau_private *); +int nouveau_ttm_mmap(struct file *, struct vm_area_struct *); + +/* nouveau_dp.c */ +int nouveau_dp_auxch(struct nouveau_i2c_chan *auxch, int cmd, int addr, + uint8_t *data, int data_nr); +bool nouveau_dp_detect(struct drm_encoder *); +bool nouveau_dp_link_train(struct drm_encoder *); + +/* nv04_fb.c */ +extern int nv04_fb_init(struct drm_device *); +extern void nv04_fb_takedown(struct drm_device *); + +/* nv10_fb.c */ +extern int nv10_fb_init(struct drm_device *); +extern void nv10_fb_takedown(struct drm_device *); +extern void nv10_fb_set_region_tiling(struct drm_device *, int, uint32_t, + uint32_t, uint32_t); + +/* nv40_fb.c */ +extern int nv40_fb_init(struct drm_device *); +extern void nv40_fb_takedown(struct drm_device *); +extern void nv40_fb_set_region_tiling(struct drm_device *, int, uint32_t, + uint32_t, uint32_t); + +/* nv04_fifo.c */ +extern int nv04_fifo_init(struct drm_device *); +extern void nv04_fifo_disable(struct drm_device *); +extern void nv04_fifo_enable(struct drm_device *); +extern bool nv04_fifo_reassign(struct drm_device *, bool); +extern bool nv04_fifo_cache_flush(struct drm_device *); +extern bool nv04_fifo_cache_pull(struct drm_device *, bool); +extern int nv04_fifo_channel_id(struct drm_device *); +extern int nv04_fifo_create_context(struct nouveau_channel *); +extern void nv04_fifo_destroy_context(struct nouveau_channel *); +extern int nv04_fifo_load_context(struct nouveau_channel *); +extern int nv04_fifo_unload_context(struct drm_device *); + +/* nv10_fifo.c */ +extern int nv10_fifo_init(struct drm_device *); +extern int nv10_fifo_channel_id(struct drm_device *); +extern int nv10_fifo_create_context(struct nouveau_channel *); +extern void nv10_fifo_destroy_context(struct nouveau_channel *); +extern int nv10_fifo_load_context(struct nouveau_channel *); +extern int nv10_fifo_unload_context(struct drm_device *); + +/* nv40_fifo.c */ +extern int nv40_fifo_init(struct drm_device *); +extern int nv40_fifo_create_context(struct nouveau_channel *); +extern void nv40_fifo_destroy_context(struct nouveau_channel *); +extern int nv40_fifo_load_context(struct nouveau_channel *); +extern int nv40_fifo_unload_context(struct drm_device *); + +/* nv50_fifo.c */ +extern int nv50_fifo_init(struct drm_device *); +extern void nv50_fifo_takedown(struct drm_device *); +extern int nv50_fifo_channel_id(struct drm_device *); +extern int nv50_fifo_create_context(struct nouveau_channel *); +extern void nv50_fifo_destroy_context(struct nouveau_channel *); +extern int nv50_fifo_load_context(struct nouveau_channel *); +extern int nv50_fifo_unload_context(struct drm_device *); + +/* nv04_graph.c */ +extern struct nouveau_pgraph_object_class nv04_graph_grclass[]; +extern int nv04_graph_init(struct drm_device *); +extern void nv04_graph_takedown(struct drm_device *); +extern void nv04_graph_fifo_access(struct drm_device *, bool); +extern struct nouveau_channel *nv04_graph_channel(struct drm_device *); +extern int nv04_graph_create_context(struct nouveau_channel *); +extern void nv04_graph_destroy_context(struct nouveau_channel *); +extern int nv04_graph_load_context(struct nouveau_channel *); +extern int nv04_graph_unload_context(struct drm_device *); +extern void nv04_graph_context_switch(struct drm_device *); + +/* nv10_graph.c */ +extern struct nouveau_pgraph_object_class nv10_graph_grclass[]; +extern int nv10_graph_init(struct drm_device *); +extern void nv10_graph_takedown(struct drm_device *); +extern struct nouveau_channel *nv10_graph_channel(struct drm_device *); +extern int nv10_graph_create_context(struct nouveau_channel *); +extern void nv10_graph_destroy_context(struct nouveau_channel *); +extern int nv10_graph_load_context(struct nouveau_channel *); +extern int nv10_graph_unload_context(struct drm_device *); +extern void nv10_graph_context_switch(struct drm_device *); +extern void nv10_graph_set_region_tiling(struct drm_device *, int, uint32_t, + uint32_t, uint32_t); + +/* nv20_graph.c */ +extern struct nouveau_pgraph_object_class nv20_graph_grclass[]; +extern struct nouveau_pgraph_object_class nv30_graph_grclass[]; +extern int nv20_graph_create_context(struct nouveau_channel *); +extern void nv20_graph_destroy_context(struct nouveau_channel *); +extern int nv20_graph_load_context(struct nouveau_channel *); +extern int nv20_graph_unload_context(struct drm_device *); +extern int nv20_graph_init(struct drm_device *); +extern void nv20_graph_takedown(struct drm_device *); +extern int nv30_graph_init(struct drm_device *); +extern void nv20_graph_set_region_tiling(struct drm_device *, int, uint32_t, + uint32_t, uint32_t); + +/* nv40_graph.c */ +extern struct nouveau_pgraph_object_class nv40_graph_grclass[]; +extern int nv40_graph_init(struct drm_device *); +extern void nv40_graph_takedown(struct drm_device *); +extern struct nouveau_channel *nv40_graph_channel(struct drm_device *); +extern int nv40_graph_create_context(struct nouveau_channel *); +extern void nv40_graph_destroy_context(struct nouveau_channel *); +extern int nv40_graph_load_context(struct nouveau_channel *); +extern int nv40_graph_unload_context(struct drm_device *); +extern void nv40_grctx_init(struct nouveau_grctx *); +extern void nv40_graph_set_region_tiling(struct drm_device *, int, uint32_t, + uint32_t, uint32_t); + +/* nv50_graph.c */ +extern struct nouveau_pgraph_object_class nv50_graph_grclass[]; +extern int nv50_graph_init(struct drm_device *); +extern void nv50_graph_takedown(struct drm_device *); +extern void nv50_graph_fifo_access(struct drm_device *, bool); +extern struct nouveau_channel *nv50_graph_channel(struct drm_device *); +extern int nv50_graph_create_context(struct nouveau_channel *); +extern void nv50_graph_destroy_context(struct nouveau_channel *); +extern int nv50_graph_load_context(struct nouveau_channel *); +extern int nv50_graph_unload_context(struct drm_device *); +extern void nv50_graph_context_switch(struct drm_device *); +extern int nv50_grctx_init(struct nouveau_grctx *); + +/* nouveau_grctx.c */ +extern int nouveau_grctx_prog_load(struct drm_device *); +extern void nouveau_grctx_vals_load(struct drm_device *, + struct nouveau_gpuobj *); +extern void nouveau_grctx_fini(struct drm_device *); + +/* nv04_instmem.c */ +extern int nv04_instmem_init(struct drm_device *); +extern void nv04_instmem_takedown(struct drm_device *); +extern int nv04_instmem_suspend(struct drm_device *); +extern void nv04_instmem_resume(struct drm_device *); +extern int nv04_instmem_populate(struct drm_device *, struct nouveau_gpuobj *, + uint32_t *size); +extern void nv04_instmem_clear(struct drm_device *, struct nouveau_gpuobj *); +extern int nv04_instmem_bind(struct drm_device *, struct nouveau_gpuobj *); +extern int nv04_instmem_unbind(struct drm_device *, struct nouveau_gpuobj *); +extern void nv04_instmem_prepare_access(struct drm_device *, bool write); +extern void nv04_instmem_finish_access(struct drm_device *); + +/* nv50_instmem.c */ +extern int nv50_instmem_init(struct drm_device *); +extern void nv50_instmem_takedown(struct drm_device *); +extern int nv50_instmem_suspend(struct drm_device *); +extern void nv50_instmem_resume(struct drm_device *); +extern int nv50_instmem_populate(struct drm_device *, struct nouveau_gpuobj *, + uint32_t *size); +extern void nv50_instmem_clear(struct drm_device *, struct nouveau_gpuobj *); +extern int nv50_instmem_bind(struct drm_device *, struct nouveau_gpuobj *); +extern int nv50_instmem_unbind(struct drm_device *, struct nouveau_gpuobj *); +extern void nv50_instmem_prepare_access(struct drm_device *, bool write); +extern void nv50_instmem_finish_access(struct drm_device *); + +/* nv04_mc.c */ +extern int nv04_mc_init(struct drm_device *); +extern void nv04_mc_takedown(struct drm_device *); + +/* nv40_mc.c */ +extern int nv40_mc_init(struct drm_device *); +extern void nv40_mc_takedown(struct drm_device *); + +/* nv50_mc.c */ +extern int nv50_mc_init(struct drm_device *); +extern void nv50_mc_takedown(struct drm_device *); + +/* nv04_timer.c */ +extern int nv04_timer_init(struct drm_device *); +extern uint64_t nv04_timer_read(struct drm_device *); +extern void nv04_timer_takedown(struct drm_device *); + +extern long nouveau_compat_ioctl(struct file *file, unsigned int cmd, + unsigned long arg); + +/* nv04_dac.c */ +extern int nv04_dac_create(struct drm_device *dev, struct dcb_entry *entry); +extern uint32_t nv17_dac_sample_load(struct drm_encoder *encoder); +extern int nv04_dac_output_offset(struct drm_encoder *encoder); +extern void nv04_dac_update_dacclk(struct drm_encoder *encoder, bool enable); + +/* nv04_dfp.c */ +extern int nv04_dfp_create(struct drm_device *dev, struct dcb_entry *entry); +extern int nv04_dfp_get_bound_head(struct drm_device *dev, struct dcb_entry *dcbent); +extern void nv04_dfp_bind_head(struct drm_device *dev, struct dcb_entry *dcbent, + int head, bool dl); +extern void nv04_dfp_disable(struct drm_device *dev, int head); +extern void nv04_dfp_update_fp_control(struct drm_encoder *encoder, int mode); + +/* nv04_tv.c */ +extern int nv04_tv_identify(struct drm_device *dev, int i2c_index); +extern int nv04_tv_create(struct drm_device *dev, struct dcb_entry *entry); + +/* nv17_tv.c */ +extern int nv17_tv_create(struct drm_device *dev, struct dcb_entry *entry); + +/* nv04_display.c */ +extern int nv04_display_create(struct drm_device *); +extern void nv04_display_destroy(struct drm_device *); +extern void nv04_display_restore(struct drm_device *); + +/* nv04_crtc.c */ +extern int nv04_crtc_create(struct drm_device *, int index); + +/* nouveau_bo.c */ +extern struct ttm_bo_driver nouveau_bo_driver; +extern int nouveau_bo_new(struct drm_device *, struct nouveau_channel *, + int size, int align, uint32_t flags, + uint32_t tile_mode, uint32_t tile_flags, + bool no_vm, bool mappable, struct nouveau_bo **); +extern int nouveau_bo_pin(struct nouveau_bo *, uint32_t flags); +extern int nouveau_bo_unpin(struct nouveau_bo *); +extern int nouveau_bo_map(struct nouveau_bo *); +extern void nouveau_bo_unmap(struct nouveau_bo *); +extern void nouveau_bo_placement_set(struct nouveau_bo *, uint32_t memtype); +extern u16 nouveau_bo_rd16(struct nouveau_bo *nvbo, unsigned index); +extern void nouveau_bo_wr16(struct nouveau_bo *nvbo, unsigned index, u16 val); +extern u32 nouveau_bo_rd32(struct nouveau_bo *nvbo, unsigned index); +extern void nouveau_bo_wr32(struct nouveau_bo *nvbo, unsigned index, u32 val); + +/* nouveau_fence.c */ +struct nouveau_fence; +extern int nouveau_fence_init(struct nouveau_channel *); +extern void nouveau_fence_fini(struct nouveau_channel *); +extern void nouveau_fence_update(struct nouveau_channel *); +extern int nouveau_fence_new(struct nouveau_channel *, struct nouveau_fence **, + bool emit); +extern int nouveau_fence_emit(struct nouveau_fence *); +struct nouveau_channel *nouveau_fence_channel(struct nouveau_fence *); +extern bool nouveau_fence_signalled(void *obj, void *arg); +extern int nouveau_fence_wait(void *obj, void *arg, bool lazy, bool intr); +extern int nouveau_fence_flush(void *obj, void *arg); +extern void nouveau_fence_unref(void **obj); +extern void *nouveau_fence_ref(void *obj); +extern void nouveau_fence_handler(struct drm_device *dev, int channel); + +/* nouveau_gem.c */ +extern int nouveau_gem_new(struct drm_device *, struct nouveau_channel *, + int size, int align, uint32_t flags, + uint32_t tile_mode, uint32_t tile_flags, + bool no_vm, bool mappable, struct nouveau_bo **); +extern int nouveau_gem_object_new(struct drm_gem_object *); +extern void nouveau_gem_object_del(struct drm_gem_object *); +extern int nouveau_gem_ioctl_new(struct drm_device *, void *, + struct drm_file *); +extern int nouveau_gem_ioctl_pushbuf(struct drm_device *, void *, + struct drm_file *); +extern int nouveau_gem_ioctl_pushbuf_call(struct drm_device *, void *, + struct drm_file *); +extern int nouveau_gem_ioctl_pushbuf_call2(struct drm_device *, void *, + struct drm_file *); +extern int nouveau_gem_ioctl_pin(struct drm_device *, void *, + struct drm_file *); +extern int nouveau_gem_ioctl_unpin(struct drm_device *, void *, + struct drm_file *); +extern int nouveau_gem_ioctl_tile(struct drm_device *, void *, + struct drm_file *); +extern int nouveau_gem_ioctl_cpu_prep(struct drm_device *, void *, + struct drm_file *); +extern int nouveau_gem_ioctl_cpu_fini(struct drm_device *, void *, + struct drm_file *); +extern int nouveau_gem_ioctl_info(struct drm_device *, void *, + struct drm_file *); + +/* nv17_gpio.c */ +int nv17_gpio_get(struct drm_device *dev, enum dcb_gpio_tag tag); +int nv17_gpio_set(struct drm_device *dev, enum dcb_gpio_tag tag, int state); + +#ifndef ioread32_native +#ifdef __BIG_ENDIAN +#define ioread16_native ioread16be +#define iowrite16_native iowrite16be +#define ioread32_native ioread32be +#define iowrite32_native iowrite32be +#else /* def __BIG_ENDIAN */ +#define ioread16_native ioread16 +#define iowrite16_native iowrite16 +#define ioread32_native ioread32 +#define iowrite32_native iowrite32 +#endif /* def __BIG_ENDIAN else */ +#endif /* !ioread32_native */ + +/* channel control reg access */ +static inline u32 nvchan_rd32(struct nouveau_channel *chan, unsigned reg) +{ + return ioread32_native(chan->user + reg); +} + +static inline void nvchan_wr32(struct nouveau_channel *chan, + unsigned reg, u32 val) +{ + iowrite32_native(val, chan->user + reg); +} + +/* register access */ +static inline u32 nv_rd32(struct drm_device *dev, unsigned reg) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + return ioread32_native(dev_priv->mmio + reg); +} + +static inline void nv_wr32(struct drm_device *dev, unsigned reg, u32 val) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + iowrite32_native(val, dev_priv->mmio + reg); +} + +static inline u8 nv_rd08(struct drm_device *dev, unsigned reg) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + return ioread8(dev_priv->mmio + reg); +} + +static inline void nv_wr08(struct drm_device *dev, unsigned reg, u8 val) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + iowrite8(val, dev_priv->mmio + reg); +} + +#define nv_wait(reg, mask, val) \ + nouveau_wait_until(dev, 2000000000ULL, (reg), (mask), (val)) + +/* PRAMIN access */ +static inline u32 nv_ri32(struct drm_device *dev, unsigned offset) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + return ioread32_native(dev_priv->ramin + offset); +} + +static inline void nv_wi32(struct drm_device *dev, unsigned offset, u32 val) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + iowrite32_native(val, dev_priv->ramin + offset); +} + +/* object access */ +static inline u32 nv_ro32(struct drm_device *dev, struct nouveau_gpuobj *obj, + unsigned index) +{ + return nv_ri32(dev, obj->im_pramin->start + index * 4); +} + +static inline void nv_wo32(struct drm_device *dev, struct nouveau_gpuobj *obj, + unsigned index, u32 val) +{ + nv_wi32(dev, obj->im_pramin->start + index * 4, val); +} + +/* + * Logging + * Argument d is (struct drm_device *). + */ +#define NV_PRINTK(level, d, fmt, arg...) \ + printk(level "[" DRM_NAME "] " DRIVER_NAME " %s: " fmt, \ + pci_name(d->pdev), ##arg) +#ifndef NV_DEBUG_NOTRACE +#define NV_DEBUG(d, fmt, arg...) do { \ + if (drm_debug & DRM_UT_DRIVER) { \ + NV_PRINTK(KERN_DEBUG, d, "%s:%d - " fmt, __func__, \ + __LINE__, ##arg); \ + } \ +} while (0) +#define NV_DEBUG_KMS(d, fmt, arg...) do { \ + if (drm_debug & DRM_UT_KMS) { \ + NV_PRINTK(KERN_DEBUG, d, "%s:%d - " fmt, __func__, \ + __LINE__, ##arg); \ + } \ +} while (0) +#else +#define NV_DEBUG(d, fmt, arg...) do { \ + if (drm_debug & DRM_UT_DRIVER) \ + NV_PRINTK(KERN_DEBUG, d, fmt, ##arg); \ +} while (0) +#define NV_DEBUG_KMS(d, fmt, arg...) do { \ + if (drm_debug & DRM_UT_KMS) \ + NV_PRINTK(KERN_DEBUG, d, fmt, ##arg); \ +} while (0) +#endif +#define NV_ERROR(d, fmt, arg...) NV_PRINTK(KERN_ERR, d, fmt, ##arg) +#define NV_INFO(d, fmt, arg...) NV_PRINTK(KERN_INFO, d, fmt, ##arg) +#define NV_TRACEWARN(d, fmt, arg...) NV_PRINTK(KERN_NOTICE, d, fmt, ##arg) +#define NV_TRACE(d, fmt, arg...) NV_PRINTK(KERN_INFO, d, fmt, ##arg) +#define NV_WARN(d, fmt, arg...) NV_PRINTK(KERN_WARNING, d, fmt, ##arg) + +/* nouveau_reg_debug bitmask */ +enum { + NOUVEAU_REG_DEBUG_MC = 0x1, + NOUVEAU_REG_DEBUG_VIDEO = 0x2, + NOUVEAU_REG_DEBUG_FB = 0x4, + NOUVEAU_REG_DEBUG_EXTDEV = 0x8, + NOUVEAU_REG_DEBUG_CRTC = 0x10, + NOUVEAU_REG_DEBUG_RAMDAC = 0x20, + NOUVEAU_REG_DEBUG_VGACRTC = 0x40, + NOUVEAU_REG_DEBUG_RMVIO = 0x80, + NOUVEAU_REG_DEBUG_VGAATTR = 0x100, + NOUVEAU_REG_DEBUG_EVO = 0x200, +}; + +#define NV_REG_DEBUG(type, dev, fmt, arg...) do { \ + if (nouveau_reg_debug & NOUVEAU_REG_DEBUG_##type) \ + NV_PRINTK(KERN_DEBUG, dev, "%s: " fmt, __func__, ##arg); \ +} while (0) + +static inline bool +nv_two_heads(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + const int impl = dev->pci_device & 0x0ff0; + + if (dev_priv->card_type >= NV_10 && impl != 0x0100 && + impl != 0x0150 && impl != 0x01a0 && impl != 0x0200) + return true; + + return false; +} + +static inline bool +nv_gf4_disp_arch(struct drm_device *dev) +{ + return nv_two_heads(dev) && (dev->pci_device & 0x0ff0) != 0x0110; +} + +static inline bool +nv_two_reg_pll(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + const int impl = dev->pci_device & 0x0ff0; + + if (impl == 0x0310 || impl == 0x0340 || dev_priv->card_type >= NV_40) + return true; + return false; +} + +#define NV_SW 0x0000506e +#define NV_SW_DMA_SEMAPHORE 0x00000060 +#define NV_SW_SEMAPHORE_OFFSET 0x00000064 +#define NV_SW_SEMAPHORE_ACQUIRE 0x00000068 +#define NV_SW_SEMAPHORE_RELEASE 0x0000006c +#define NV_SW_DMA_VBLSEM 0x0000018c +#define NV_SW_VBLSEM_OFFSET 0x00000400 +#define NV_SW_VBLSEM_RELEASE_VALUE 0x00000404 +#define NV_SW_VBLSEM_RELEASE 0x00000408 + +#endif /* __NOUVEAU_DRV_H__ */ --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_encoder.h +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_encoder.h @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2008 Maarten Maathuis. + * 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 COPYRIGHT OWNER(S) 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 __NOUVEAU_ENCODER_H__ +#define __NOUVEAU_ENCODER_H__ + +#include "drm_encoder_slave.h" +#include "nouveau_drv.h" + +#define NV_DPMS_CLEARED 0x80 + +struct nouveau_encoder { + struct drm_encoder_slave base; + + struct dcb_entry *dcb; + int or; + + struct drm_display_mode mode; + int last_dpms; + + struct nv04_output_reg restore; + + void (*disconnect)(struct nouveau_encoder *encoder); + + union { + struct { + int dpcd_version; + int link_nr; + int link_bw; + } dp; + }; +}; + +static inline struct nouveau_encoder *nouveau_encoder(struct drm_encoder *enc) +{ + struct drm_encoder_slave *slave = to_encoder_slave(enc); + + return container_of(slave, struct nouveau_encoder, base); +} + +static inline struct drm_encoder *to_drm_encoder(struct nouveau_encoder *enc) +{ + return &enc->base.base; +} + +struct nouveau_connector * +nouveau_encoder_connector_get(struct nouveau_encoder *encoder); +int nv50_sor_create(struct drm_device *dev, struct dcb_entry *entry); +int nv50_dac_create(struct drm_device *dev, struct dcb_entry *entry); + +struct bit_displayport_encoder_table { + uint32_t match; + uint8_t record_nr; + uint8_t unknown; + uint16_t script0; + uint16_t script1; + uint16_t unknown_table; +} __attribute__ ((packed)); + +struct bit_displayport_encoder_table_entry { + uint8_t vs_level; + uint8_t pre_level; + uint8_t reg0; + uint8_t reg1; + uint8_t reg2; +} __attribute__ ((packed)); + +#endif /* __NOUVEAU_ENCODER_H__ */ --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_fb.h +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_fb.h @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2008 Maarten Maathuis. + * 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 COPYRIGHT OWNER(S) 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 __NOUVEAU_FB_H__ +#define __NOUVEAU_FB_H__ + +struct nouveau_framebuffer { + struct drm_framebuffer base; + struct nouveau_bo *nvbo; +}; + +static inline struct nouveau_framebuffer * +nouveau_framebuffer(struct drm_framebuffer *fb) +{ + return container_of(fb, struct nouveau_framebuffer, base); +} + +extern const struct drm_mode_config_funcs nouveau_mode_config_funcs; + +struct drm_framebuffer * +nouveau_framebuffer_create(struct drm_device *, struct nouveau_bo *, + struct drm_mode_fb_cmd *); + +#endif /* __NOUVEAU_FB_H__ */ --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_fbcon.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_fbcon.c @@ -0,0 +1,423 @@ +/* + * 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 "drmP.h" +#include "drm.h" +#include "drm_crtc.h" +#include "drm_crtc_helper.h" +#include "drm_fb_helper.h" +#include "nouveau_drv.h" +#include "nouveau_drm.h" +#include "nouveau_crtc.h" +#include "nouveau_fb.h" +#include "nouveau_fbcon.h" +#include "nouveau_dma.h" + +static int +nouveau_fbcon_sync(struct fb_info *info) +{ + struct nouveau_fbcon_par *par = info->par; + struct drm_device *dev = par->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *chan = dev_priv->channel; + int ret, i; + + if (!chan || !chan->accel_done || + info->state != FBINFO_STATE_RUNNING || + info->flags & FBINFO_HWACCEL_DISABLED) + return 0; + + if (RING_SPACE(chan, 4)) { + nouveau_fbcon_gpu_lockup(info); + return 0; + } + + BEGIN_RING(chan, 0, 0x0104, 1); + OUT_RING(chan, 0); + BEGIN_RING(chan, 0, 0x0100, 1); + OUT_RING(chan, 0); + nouveau_bo_wr32(chan->notifier_bo, chan->m2mf_ntfy + 3, 0xffffffff); + FIRE_RING(chan); + + ret = -EBUSY; + for (i = 0; i < 100000; i++) { + if (!nouveau_bo_rd32(chan->notifier_bo, chan->m2mf_ntfy + 3)) { + ret = 0; + break; + } + DRM_UDELAY(1); + } + + if (ret) { + nouveau_fbcon_gpu_lockup(info); + return 0; + } + + chan->accel_done = false; + return 0; +} + +static struct fb_ops nouveau_fbcon_ops = { + .owner = THIS_MODULE, + .fb_check_var = drm_fb_helper_check_var, + .fb_set_par = drm_fb_helper_set_par, + .fb_setcolreg = drm_fb_helper_setcolreg, + .fb_fillrect = cfb_fillrect, + .fb_copyarea = cfb_copyarea, + .fb_imageblit = cfb_imageblit, + .fb_sync = nouveau_fbcon_sync, + .fb_pan_display = drm_fb_helper_pan_display, + .fb_blank = drm_fb_helper_blank, + .fb_setcmap = drm_fb_helper_setcmap, +}; + +static struct fb_ops nv04_fbcon_ops = { + .owner = THIS_MODULE, + .fb_check_var = drm_fb_helper_check_var, + .fb_set_par = drm_fb_helper_set_par, + .fb_setcolreg = drm_fb_helper_setcolreg, + .fb_fillrect = nv04_fbcon_fillrect, + .fb_copyarea = nv04_fbcon_copyarea, + .fb_imageblit = nv04_fbcon_imageblit, + .fb_sync = nouveau_fbcon_sync, + .fb_pan_display = drm_fb_helper_pan_display, + .fb_blank = drm_fb_helper_blank, + .fb_setcmap = drm_fb_helper_setcmap, +}; + +static struct fb_ops nv50_fbcon_ops = { + .owner = THIS_MODULE, + .fb_check_var = drm_fb_helper_check_var, + .fb_set_par = drm_fb_helper_set_par, + .fb_setcolreg = drm_fb_helper_setcolreg, + .fb_fillrect = nv50_fbcon_fillrect, + .fb_copyarea = nv50_fbcon_copyarea, + .fb_imageblit = nv50_fbcon_imageblit, + .fb_sync = nouveau_fbcon_sync, + .fb_pan_display = drm_fb_helper_pan_display, + .fb_blank = drm_fb_helper_blank, + .fb_setcmap = drm_fb_helper_setcmap, +}; + +static void nouveau_fbcon_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, + u16 blue, int regno) +{ + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + + nv_crtc->lut.r[regno] = red; + nv_crtc->lut.g[regno] = green; + nv_crtc->lut.b[regno] = blue; +} + +static void nouveau_fbcon_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green, + u16 *blue, int regno) +{ + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + + *red = nv_crtc->lut.r[regno]; + *green = nv_crtc->lut.g[regno]; + *blue = nv_crtc->lut.b[regno]; +} + +static struct drm_fb_helper_funcs nouveau_fbcon_helper_funcs = { + .gamma_set = nouveau_fbcon_gamma_set, + .gamma_get = nouveau_fbcon_gamma_get +}; + +#if defined(__i386__) || defined(__x86_64__) +static bool +nouveau_fbcon_has_vesafb_or_efifb(struct drm_device *dev) +{ + struct pci_dev *pdev = dev->pdev; + int ramin; + + if (screen_info.orig_video_isVGA != VIDEO_TYPE_VLFB && + screen_info.orig_video_isVGA != VIDEO_TYPE_EFI) + return false; + + if (screen_info.lfb_base < pci_resource_start(pdev, 1)) + goto not_fb; + + if (screen_info.lfb_base + screen_info.lfb_size >= + pci_resource_start(pdev, 1) + pci_resource_len(pdev, 1)) + goto not_fb; + + return true; +not_fb: + ramin = 2; + if (pci_resource_len(pdev, ramin) == 0) { + ramin = 3; + if (pci_resource_len(pdev, ramin) == 0) + return false; + } + + if (screen_info.lfb_base < pci_resource_start(pdev, ramin)) + return false; + + if (screen_info.lfb_base + screen_info.lfb_size >= + pci_resource_start(pdev, ramin) + pci_resource_len(pdev, ramin)) + return false; + + return true; +} +#endif + +void +nouveau_fbcon_zfill(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct fb_info *info = dev_priv->fbdev_info; + struct fb_fillrect rect; + + /* Clear the entire fbcon. The drm will program every connector + * with it's preferred mode. If the sizes differ, one display will + * quite likely have garbage around the console. + */ + rect.dx = rect.dy = 0; + rect.width = info->var.xres_virtual; + rect.height = info->var.yres_virtual; + rect.color = 0; + rect.rop = ROP_COPY; + info->fbops->fb_fillrect(info, &rect); +} + +static int +nouveau_fbcon_create(struct drm_device *dev, uint32_t fb_width, + uint32_t fb_height, uint32_t surface_width, + uint32_t surface_height, uint32_t surface_depth, + uint32_t surface_bpp, struct drm_framebuffer **pfb) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct fb_info *info; + struct nouveau_fbcon_par *par; + struct drm_framebuffer *fb; + struct nouveau_framebuffer *nouveau_fb; + struct nouveau_bo *nvbo; + struct drm_mode_fb_cmd mode_cmd; + struct device *device = &dev->pdev->dev; + int size, ret; + + mode_cmd.width = surface_width; + mode_cmd.height = surface_height; + + mode_cmd.bpp = surface_bpp; + mode_cmd.pitch = mode_cmd.width * (mode_cmd.bpp >> 3); + mode_cmd.pitch = roundup(mode_cmd.pitch, 256); + mode_cmd.depth = surface_depth; + + size = mode_cmd.pitch * mode_cmd.height; + size = roundup(size, PAGE_SIZE); + + ret = nouveau_gem_new(dev, dev_priv->channel, size, 0, TTM_PL_FLAG_VRAM, + 0, 0x0000, false, true, &nvbo); + if (ret) { + NV_ERROR(dev, "failed to allocate framebuffer\n"); + goto out; + } + + ret = nouveau_bo_pin(nvbo, TTM_PL_FLAG_VRAM); + if (ret) { + NV_ERROR(dev, "failed to pin fb: %d\n", ret); + nouveau_bo_ref(NULL, &nvbo); + goto out; + } + + ret = nouveau_bo_map(nvbo); + if (ret) { + NV_ERROR(dev, "failed to map fb: %d\n", ret); + nouveau_bo_unpin(nvbo); + nouveau_bo_ref(NULL, &nvbo); + goto out; + } + + mutex_lock(&dev->struct_mutex); + + fb = nouveau_framebuffer_create(dev, nvbo, &mode_cmd); + if (!fb) { + ret = -ENOMEM; + NV_ERROR(dev, "failed to allocate fb.\n"); + goto out_unref; + } + + list_add(&fb->filp_head, &dev->mode_config.fb_kernel_list); + + nouveau_fb = nouveau_framebuffer(fb); + *pfb = fb; + + info = framebuffer_alloc(sizeof(struct nouveau_fbcon_par), device); + if (!info) { + ret = -ENOMEM; + goto out_unref; + } + + par = info->par; + par->helper.funcs = &nouveau_fbcon_helper_funcs; + par->helper.dev = dev; + ret = drm_fb_helper_init_crtc_count(&par->helper, 2, 4); + if (ret) + goto out_unref; + dev_priv->fbdev_info = info; + + strcpy(info->fix.id, "nouveaufb"); + if (nouveau_nofbaccel) + info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_DISABLED; + else + info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_COPYAREA | + FBINFO_HWACCEL_FILLRECT | + FBINFO_HWACCEL_IMAGEBLIT; + info->fbops = &nouveau_fbcon_ops; + info->fix.smem_start = dev->mode_config.fb_base + nvbo->bo.offset - + dev_priv->vm_vram_base; + info->fix.smem_len = size; + + info->screen_base = nvbo_kmap_obj_iovirtual(nouveau_fb->nvbo); + info->screen_size = size; + + drm_fb_helper_fill_fix(info, fb->pitch, fb->depth); + drm_fb_helper_fill_var(info, fb, fb_width, fb_height); + + /* FIXME: we really shouldn't expose mmio space at all */ + info->fix.mmio_start = pci_resource_start(dev->pdev, 1); + info->fix.mmio_len = pci_resource_len(dev->pdev, 1); + + /* Set aperture base/size for vesafb takeover */ +#if defined(__i386__) || defined(__x86_64__) + if (nouveau_fbcon_has_vesafb_or_efifb(dev)) { + /* Some NVIDIA VBIOS' are stupid and decide to put the + * framebuffer in the middle of the PRAMIN BAR for + * whatever reason. We need to know the exact lfb_base + * to get vesafb kicked off, and the only reliable way + * we have left is to find out lfb_base the same way + * vesafb did. + */ + info->aperture_base = screen_info.lfb_base; + info->aperture_size = screen_info.lfb_size; + if (screen_info.orig_video_isVGA == VIDEO_TYPE_VLFB) + info->aperture_size *= 65536; + } else +#endif + { + info->aperture_base = info->fix.mmio_start; + info->aperture_size = info->fix.mmio_len; + } + + info->pixmap.size = 64*1024; + info->pixmap.buf_align = 8; + info->pixmap.access_align = 32; + info->pixmap.flags = FB_PIXMAP_SYSTEM; + info->pixmap.scan_align = 1; + + fb->fbdev = info; + + par->nouveau_fb = nouveau_fb; + par->dev = dev; + + if (dev_priv->channel && !nouveau_nofbaccel) { + switch (dev_priv->card_type) { + case NV_50: + nv50_fbcon_accel_init(info); + info->fbops = &nv50_fbcon_ops; + break; + default: + nv04_fbcon_accel_init(info); + info->fbops = &nv04_fbcon_ops; + break; + }; + } + + nouveau_fbcon_zfill(dev); + + /* To allow resizeing without swapping buffers */ + NV_INFO(dev, "allocated %dx%d fb: 0x%lx, bo %p\n", + nouveau_fb->base.width, + nouveau_fb->base.height, + nvbo->bo.offset, nvbo); + + mutex_unlock(&dev->struct_mutex); + return 0; + +out_unref: + mutex_unlock(&dev->struct_mutex); +out: + return ret; +} + +int +nouveau_fbcon_probe(struct drm_device *dev) +{ + NV_DEBUG_KMS(dev, "\n"); + + return drm_fb_helper_single_fb_probe(dev, 32, nouveau_fbcon_create); +} + +int +nouveau_fbcon_remove(struct drm_device *dev, struct drm_framebuffer *fb) +{ + struct nouveau_framebuffer *nouveau_fb = nouveau_framebuffer(fb); + struct fb_info *info; + + if (!fb) + return -EINVAL; + + info = fb->fbdev; + if (info) { + struct nouveau_fbcon_par *par = info->par; + + unregister_framebuffer(info); + nouveau_bo_unmap(nouveau_fb->nvbo); + mutex_lock(&dev->struct_mutex); + drm_gem_object_unreference(nouveau_fb->nvbo->gem); + nouveau_fb->nvbo = NULL; + mutex_unlock(&dev->struct_mutex); + if (par) + drm_fb_helper_free(&par->helper); + framebuffer_release(info); + } + + return 0; +} + +void nouveau_fbcon_gpu_lockup(struct fb_info *info) +{ + struct nouveau_fbcon_par *par = info->par; + struct drm_device *dev = par->dev; + + NV_ERROR(dev, "GPU lockup - switching to software fbcon\n"); + info->flags |= FBINFO_HWACCEL_DISABLED; +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_fbcon.h +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_fbcon.h @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2008 Maarten Maathuis. + * 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 COPYRIGHT OWNER(S) 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 __NOUVEAU_FBCON_H__ +#define __NOUVEAU_FBCON_H__ + +#include "drm_fb_helper.h" + +struct nouveau_fbcon_par { + struct drm_fb_helper helper; + struct drm_device *dev; + struct nouveau_framebuffer *nouveau_fb; +}; + +int nouveau_fbcon_probe(struct drm_device *dev); +int nouveau_fbcon_remove(struct drm_device *dev, struct drm_framebuffer *fb); +void nouveau_fbcon_restore(void); +void nouveau_fbcon_zfill(struct drm_device *dev); + +void nv04_fbcon_copyarea(struct fb_info *info, const struct fb_copyarea *region); +void nv04_fbcon_fillrect(struct fb_info *info, const struct fb_fillrect *rect); +void nv04_fbcon_imageblit(struct fb_info *info, const struct fb_image *image); +int nv04_fbcon_accel_init(struct fb_info *info); +void nv50_fbcon_fillrect(struct fb_info *info, const struct fb_fillrect *rect); +void nv50_fbcon_copyarea(struct fb_info *info, const struct fb_copyarea *region); +void nv50_fbcon_imageblit(struct fb_info *info, const struct fb_image *image); +int nv50_fbcon_accel_init(struct fb_info *info); + +void nouveau_fbcon_gpu_lockup(struct fb_info *info); +#endif /* __NV50_FBCON_H__ */ + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_fence.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_fence.c @@ -0,0 +1,262 @@ +/* + * Copyright (C) 2007 Ben Skeggs. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "drm.h" + +#include "nouveau_drv.h" +#include "nouveau_dma.h" + +#define USE_REFCNT (dev_priv->card_type >= NV_10) + +struct nouveau_fence { + struct nouveau_channel *channel; + struct kref refcount; + struct list_head entry; + + uint32_t sequence; + bool signalled; +}; + +static inline struct nouveau_fence * +nouveau_fence(void *sync_obj) +{ + return (struct nouveau_fence *)sync_obj; +} + +static void +nouveau_fence_del(struct kref *ref) +{ + struct nouveau_fence *fence = + container_of(ref, struct nouveau_fence, refcount); + + kfree(fence); +} + +void +nouveau_fence_update(struct nouveau_channel *chan) +{ + struct drm_nouveau_private *dev_priv = chan->dev->dev_private; + struct list_head *entry, *tmp; + struct nouveau_fence *fence; + uint32_t sequence; + + if (USE_REFCNT) + sequence = nvchan_rd32(chan, 0x48); + else + sequence = chan->fence.last_sequence_irq; + + if (chan->fence.sequence_ack == sequence) + return; + chan->fence.sequence_ack = sequence; + + list_for_each_safe(entry, tmp, &chan->fence.pending) { + fence = list_entry(entry, struct nouveau_fence, entry); + + sequence = fence->sequence; + fence->signalled = true; + list_del(&fence->entry); + kref_put(&fence->refcount, nouveau_fence_del); + + if (sequence == chan->fence.sequence_ack) + break; + } +} + +int +nouveau_fence_new(struct nouveau_channel *chan, struct nouveau_fence **pfence, + bool emit) +{ + struct nouveau_fence *fence; + int ret = 0; + + fence = kzalloc(sizeof(*fence), GFP_KERNEL); + if (!fence) + return -ENOMEM; + kref_init(&fence->refcount); + fence->channel = chan; + + if (emit) + ret = nouveau_fence_emit(fence); + + if (ret) + nouveau_fence_unref((void *)&fence); + *pfence = fence; + return ret; +} + +struct nouveau_channel * +nouveau_fence_channel(struct nouveau_fence *fence) +{ + return fence ? fence->channel : NULL; +} + +int +nouveau_fence_emit(struct nouveau_fence *fence) +{ + struct drm_nouveau_private *dev_priv = fence->channel->dev->dev_private; + struct nouveau_channel *chan = fence->channel; + unsigned long flags; + int ret; + + ret = RING_SPACE(chan, 2); + if (ret) + return ret; + + if (unlikely(chan->fence.sequence == chan->fence.sequence_ack - 1)) { + spin_lock_irqsave(&chan->fence.lock, flags); + nouveau_fence_update(chan); + spin_unlock_irqrestore(&chan->fence.lock, flags); + + BUG_ON(chan->fence.sequence == + chan->fence.sequence_ack - 1); + } + + fence->sequence = ++chan->fence.sequence; + + kref_get(&fence->refcount); + spin_lock_irqsave(&chan->fence.lock, flags); + list_add_tail(&fence->entry, &chan->fence.pending); + spin_unlock_irqrestore(&chan->fence.lock, flags); + + BEGIN_RING(chan, NvSubSw, USE_REFCNT ? 0x0050 : 0x0150, 1); + OUT_RING(chan, fence->sequence); + FIRE_RING(chan); + + return 0; +} + +void +nouveau_fence_unref(void **sync_obj) +{ + struct nouveau_fence *fence = nouveau_fence(*sync_obj); + + if (fence) + kref_put(&fence->refcount, nouveau_fence_del); + *sync_obj = NULL; +} + +void * +nouveau_fence_ref(void *sync_obj) +{ + struct nouveau_fence *fence = nouveau_fence(sync_obj); + + kref_get(&fence->refcount); + return sync_obj; +} + +bool +nouveau_fence_signalled(void *sync_obj, void *sync_arg) +{ + struct nouveau_fence *fence = nouveau_fence(sync_obj); + struct nouveau_channel *chan = fence->channel; + unsigned long flags; + + if (fence->signalled) + return true; + + spin_lock_irqsave(&chan->fence.lock, flags); + nouveau_fence_update(chan); + spin_unlock_irqrestore(&chan->fence.lock, flags); + return fence->signalled; +} + +int +nouveau_fence_wait(void *sync_obj, void *sync_arg, bool lazy, bool intr) +{ + unsigned long timeout = jiffies + (3 * DRM_HZ); + int ret = 0; + + __set_current_state(intr ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE); + + while (1) { + if (nouveau_fence_signalled(sync_obj, sync_arg)) + break; + + if (time_after_eq(jiffies, timeout)) { + ret = -EBUSY; + break; + } + + if (lazy) + schedule_timeout(1); + + if (intr && signal_pending(current)) { + ret = -ERESTARTSYS; + break; + } + } + + __set_current_state(TASK_RUNNING); + + return ret; +} + +int +nouveau_fence_flush(void *sync_obj, void *sync_arg) +{ + return 0; +} + +void +nouveau_fence_handler(struct drm_device *dev, int channel) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *chan = NULL; + + if (channel >= 0 && channel < dev_priv->engine.fifo.channels) + chan = dev_priv->fifos[channel]; + + if (chan) { + spin_lock_irq(&chan->fence.lock); + nouveau_fence_update(chan); + spin_unlock_irq(&chan->fence.lock); + } +} + +int +nouveau_fence_init(struct nouveau_channel *chan) +{ + INIT_LIST_HEAD(&chan->fence.pending); + spin_lock_init(&chan->fence.lock); + return 0; +} + +void +nouveau_fence_fini(struct nouveau_channel *chan) +{ + struct list_head *entry, *tmp; + struct nouveau_fence *fence; + + list_for_each_safe(entry, tmp, &chan->fence.pending) { + fence = list_entry(entry, struct nouveau_fence, entry); + + fence->signalled = true; + list_del(&fence->entry); + kref_put(&fence->refcount, nouveau_fence_del); + } +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_gem.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_gem.c @@ -0,0 +1,994 @@ +/* + * Copyright (C) 2008 Ben Skeggs. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +#include "drmP.h" +#include "drm.h" + +#include "nouveau_drv.h" +#include "nouveau_drm.h" +#include "nouveau_dma.h" + +#define nouveau_gem_pushbuf_sync(chan) 0 + +int +nouveau_gem_object_new(struct drm_gem_object *gem) +{ + return 0; +} + +void +nouveau_gem_object_del(struct drm_gem_object *gem) +{ + struct nouveau_bo *nvbo = gem->driver_private; + struct ttm_buffer_object *bo = &nvbo->bo; + + if (!nvbo) + return; + nvbo->gem = NULL; + + if (unlikely(nvbo->cpu_filp)) + ttm_bo_synccpu_write_release(bo); + + if (unlikely(nvbo->pin_refcnt)) { + nvbo->pin_refcnt = 1; + nouveau_bo_unpin(nvbo); + } + + ttm_bo_unref(&bo); +} + +int +nouveau_gem_new(struct drm_device *dev, struct nouveau_channel *chan, + int size, int align, uint32_t flags, uint32_t tile_mode, + uint32_t tile_flags, bool no_vm, bool mappable, + struct nouveau_bo **pnvbo) +{ + struct nouveau_bo *nvbo; + int ret; + + ret = nouveau_bo_new(dev, chan, size, align, flags, tile_mode, + tile_flags, no_vm, mappable, pnvbo); + if (ret) + return ret; + nvbo = *pnvbo; + + nvbo->gem = drm_gem_object_alloc(dev, nvbo->bo.mem.size); + if (!nvbo->gem) { + nouveau_bo_ref(NULL, pnvbo); + return -ENOMEM; + } + + nvbo->bo.persistant_swap_storage = nvbo->gem->filp; + nvbo->gem->driver_private = nvbo; + return 0; +} + +static int +nouveau_gem_info(struct drm_gem_object *gem, struct drm_nouveau_gem_info *rep) +{ + struct nouveau_bo *nvbo = nouveau_gem_object(gem); + + if (nvbo->bo.mem.mem_type == TTM_PL_TT) + rep->domain = NOUVEAU_GEM_DOMAIN_GART; + else + rep->domain = NOUVEAU_GEM_DOMAIN_VRAM; + + rep->size = nvbo->bo.mem.num_pages << PAGE_SHIFT; + rep->offset = nvbo->bo.offset; + rep->map_handle = nvbo->mappable ? nvbo->bo.addr_space_offset : 0; + rep->tile_mode = nvbo->tile_mode; + rep->tile_flags = nvbo->tile_flags; + return 0; +} + +static bool +nouveau_gem_tile_flags_valid(struct drm_device *dev, uint32_t tile_flags) { + switch (tile_flags) { + case 0x0000: + case 0x1800: + case 0x2800: + case 0x4800: + case 0x7000: + case 0x7400: + case 0x7a00: + case 0xe000: + break; + default: + NV_ERROR(dev, "bad page flags: 0x%08x\n", tile_flags); + return false; + } + + return true; +} + +int +nouveau_gem_ioctl_new(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct drm_nouveau_gem_new *req = data; + struct nouveau_bo *nvbo = NULL; + struct nouveau_channel *chan = NULL; + uint32_t flags = 0; + int ret = 0; + + NOUVEAU_CHECK_INITIALISED_WITH_RETURN; + + if (unlikely(dev_priv->ttm.bdev.dev_mapping == NULL)) + dev_priv->ttm.bdev.dev_mapping = dev_priv->dev->dev_mapping; + + if (req->channel_hint) { + NOUVEAU_GET_USER_CHANNEL_WITH_RETURN(req->channel_hint, + file_priv, chan); + } + + if (req->info.domain & NOUVEAU_GEM_DOMAIN_VRAM) + flags |= TTM_PL_FLAG_VRAM; + if (req->info.domain & NOUVEAU_GEM_DOMAIN_GART) + flags |= TTM_PL_FLAG_TT; + if (!flags || req->info.domain & NOUVEAU_GEM_DOMAIN_CPU) + flags |= TTM_PL_FLAG_SYSTEM; + + if (!nouveau_gem_tile_flags_valid(dev, req->info.tile_flags)) + return -EINVAL; + + ret = nouveau_gem_new(dev, chan, req->info.size, req->align, flags, + req->info.tile_mode, req->info.tile_flags, false, + (req->info.domain & NOUVEAU_GEM_DOMAIN_MAPPABLE), + &nvbo); + if (ret) + return ret; + + ret = nouveau_gem_info(nvbo->gem, &req->info); + if (ret) + goto out; + + ret = drm_gem_handle_create(file_priv, nvbo->gem, &req->info.handle); +out: + mutex_lock(&dev->struct_mutex); + drm_gem_object_handle_unreference(nvbo->gem); + mutex_unlock(&dev->struct_mutex); + + if (ret) + drm_gem_object_unreference(nvbo->gem); + return ret; +} + +static int +nouveau_gem_set_domain(struct drm_gem_object *gem, uint32_t read_domains, + uint32_t write_domains, uint32_t valid_domains) +{ + struct nouveau_bo *nvbo = gem->driver_private; + struct ttm_buffer_object *bo = &nvbo->bo; + uint64_t flags; + + if (!valid_domains || (!read_domains && !write_domains)) + return -EINVAL; + + if (write_domains) { + if ((valid_domains & NOUVEAU_GEM_DOMAIN_VRAM) && + (write_domains & NOUVEAU_GEM_DOMAIN_VRAM)) + flags = TTM_PL_FLAG_VRAM; + else + if ((valid_domains & NOUVEAU_GEM_DOMAIN_GART) && + (write_domains & NOUVEAU_GEM_DOMAIN_GART)) + flags = TTM_PL_FLAG_TT; + else + return -EINVAL; + } else { + if ((valid_domains & NOUVEAU_GEM_DOMAIN_VRAM) && + (read_domains & NOUVEAU_GEM_DOMAIN_VRAM) && + bo->mem.mem_type == TTM_PL_VRAM) + flags = TTM_PL_FLAG_VRAM; + else + if ((valid_domains & NOUVEAU_GEM_DOMAIN_GART) && + (read_domains & NOUVEAU_GEM_DOMAIN_GART) && + bo->mem.mem_type == TTM_PL_TT) + flags = TTM_PL_FLAG_TT; + else + if ((valid_domains & NOUVEAU_GEM_DOMAIN_VRAM) && + (read_domains & NOUVEAU_GEM_DOMAIN_VRAM)) + flags = TTM_PL_FLAG_VRAM; + else + flags = TTM_PL_FLAG_TT; + } + + nouveau_bo_placement_set(nvbo, flags); + return 0; +} + +struct validate_op { + struct list_head vram_list; + struct list_head gart_list; + struct list_head both_list; +}; + +static void +validate_fini_list(struct list_head *list, struct nouveau_fence *fence) +{ + struct list_head *entry, *tmp; + struct nouveau_bo *nvbo; + + list_for_each_safe(entry, tmp, list) { + nvbo = list_entry(entry, struct nouveau_bo, entry); + if (likely(fence)) { + struct nouveau_fence *prev_fence; + + spin_lock(&nvbo->bo.lock); + prev_fence = nvbo->bo.sync_obj; + nvbo->bo.sync_obj = nouveau_fence_ref(fence); + spin_unlock(&nvbo->bo.lock); + nouveau_fence_unref((void *)&prev_fence); + } + + list_del(&nvbo->entry); + nvbo->reserved_by = NULL; + ttm_bo_unreserve(&nvbo->bo); + drm_gem_object_unreference(nvbo->gem); + } +} + +static void +validate_fini(struct validate_op *op, struct nouveau_fence* fence) +{ + validate_fini_list(&op->vram_list, fence); + validate_fini_list(&op->gart_list, fence); + validate_fini_list(&op->both_list, fence); +} + +static int +validate_init(struct nouveau_channel *chan, struct drm_file *file_priv, + struct drm_nouveau_gem_pushbuf_bo *pbbo, + int nr_buffers, struct validate_op *op) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t sequence; + int trycnt = 0; + int ret, i; + + sequence = atomic_add_return(1, &dev_priv->ttm.validate_sequence); +retry: + if (++trycnt > 100000) { + NV_ERROR(dev, "%s failed and gave up.\n", __func__); + return -EINVAL; + } + + for (i = 0; i < nr_buffers; i++) { + struct drm_nouveau_gem_pushbuf_bo *b = &pbbo[i]; + struct drm_gem_object *gem; + struct nouveau_bo *nvbo; + + gem = drm_gem_object_lookup(dev, file_priv, b->handle); + if (!gem) { + NV_ERROR(dev, "Unknown handle 0x%08x\n", b->handle); + validate_fini(op, NULL); + return -EINVAL; + } + nvbo = gem->driver_private; + + if (nvbo->reserved_by && nvbo->reserved_by == file_priv) { + NV_ERROR(dev, "multiple instances of buffer %d on " + "validation list\n", b->handle); + validate_fini(op, NULL); + return -EINVAL; + } + + ret = ttm_bo_reserve(&nvbo->bo, false, false, true, sequence); + if (ret) { + validate_fini(op, NULL); + if (ret == -EAGAIN) + ret = ttm_bo_wait_unreserved(&nvbo->bo, false); + drm_gem_object_unreference(gem); + if (ret) + return ret; + goto retry; + } + + nvbo->reserved_by = file_priv; + nvbo->pbbo_index = i; + if ((b->valid_domains & NOUVEAU_GEM_DOMAIN_VRAM) && + (b->valid_domains & NOUVEAU_GEM_DOMAIN_GART)) + list_add_tail(&nvbo->entry, &op->both_list); + else + if (b->valid_domains & NOUVEAU_GEM_DOMAIN_VRAM) + list_add_tail(&nvbo->entry, &op->vram_list); + else + if (b->valid_domains & NOUVEAU_GEM_DOMAIN_GART) + list_add_tail(&nvbo->entry, &op->gart_list); + else { + NV_ERROR(dev, "invalid valid domains: 0x%08x\n", + b->valid_domains); + list_add_tail(&nvbo->entry, &op->both_list); + validate_fini(op, NULL); + return -EINVAL; + } + + if (unlikely(atomic_read(&nvbo->bo.cpu_writers) > 0)) { + validate_fini(op, NULL); + + if (nvbo->cpu_filp == file_priv) { + NV_ERROR(dev, "bo %p mapped by process trying " + "to validate it!\n", nvbo); + return -EINVAL; + } + + ret = ttm_bo_wait_cpu(&nvbo->bo, false); + if (ret) + return ret; + goto retry; + } + } + + return 0; +} + +static int +validate_list(struct nouveau_channel *chan, struct list_head *list, + struct drm_nouveau_gem_pushbuf_bo *pbbo, uint64_t user_pbbo_ptr) +{ + struct drm_nouveau_gem_pushbuf_bo __user *upbbo = + (void __force __user *)(uintptr_t)user_pbbo_ptr; + struct nouveau_bo *nvbo; + int ret, relocs = 0; + + list_for_each_entry(nvbo, list, entry) { + struct drm_nouveau_gem_pushbuf_bo *b = &pbbo[nvbo->pbbo_index]; + struct nouveau_fence *prev_fence = nvbo->bo.sync_obj; + + if (prev_fence && nouveau_fence_channel(prev_fence) != chan) { + spin_lock(&nvbo->bo.lock); + ret = ttm_bo_wait(&nvbo->bo, false, false, false); + spin_unlock(&nvbo->bo.lock); + if (unlikely(ret)) + return ret; + } + + ret = nouveau_gem_set_domain(nvbo->gem, b->read_domains, + b->write_domains, + b->valid_domains); + if (unlikely(ret)) + return ret; + + nvbo->channel = chan; + ret = ttm_bo_validate(&nvbo->bo, &nvbo->placement, + false, false); + nvbo->channel = NULL; + if (unlikely(ret)) + return ret; + + if (nvbo->bo.offset == b->presumed_offset && + ((nvbo->bo.mem.mem_type == TTM_PL_VRAM && + b->presumed_domain & NOUVEAU_GEM_DOMAIN_VRAM) || + (nvbo->bo.mem.mem_type == TTM_PL_TT && + b->presumed_domain & NOUVEAU_GEM_DOMAIN_GART))) + continue; + + if (nvbo->bo.mem.mem_type == TTM_PL_TT) + b->presumed_domain = NOUVEAU_GEM_DOMAIN_GART; + else + b->presumed_domain = NOUVEAU_GEM_DOMAIN_VRAM; + b->presumed_offset = nvbo->bo.offset; + b->presumed_ok = 0; + relocs++; + + if (DRM_COPY_TO_USER(&upbbo[nvbo->pbbo_index], b, sizeof(*b))) + return -EFAULT; + } + + return relocs; +} + +static int +nouveau_gem_pushbuf_validate(struct nouveau_channel *chan, + struct drm_file *file_priv, + struct drm_nouveau_gem_pushbuf_bo *pbbo, + uint64_t user_buffers, int nr_buffers, + struct validate_op *op, int *apply_relocs) +{ + int ret, relocs = 0; + + INIT_LIST_HEAD(&op->vram_list); + INIT_LIST_HEAD(&op->gart_list); + INIT_LIST_HEAD(&op->both_list); + + if (nr_buffers == 0) + return 0; + + ret = validate_init(chan, file_priv, pbbo, nr_buffers, op); + if (unlikely(ret)) + return ret; + + ret = validate_list(chan, &op->vram_list, pbbo, user_buffers); + if (unlikely(ret < 0)) { + validate_fini(op, NULL); + return ret; + } + relocs += ret; + + ret = validate_list(chan, &op->gart_list, pbbo, user_buffers); + if (unlikely(ret < 0)) { + validate_fini(op, NULL); + return ret; + } + relocs += ret; + + ret = validate_list(chan, &op->both_list, pbbo, user_buffers); + if (unlikely(ret < 0)) { + validate_fini(op, NULL); + return ret; + } + relocs += ret; + + *apply_relocs = relocs; + return 0; +} + +static inline void * +u_memcpya(uint64_t user, unsigned nmemb, unsigned size) +{ + void *mem; + void __user *userptr = (void __force __user *)(uintptr_t)user; + + mem = kmalloc(nmemb * size, GFP_KERNEL); + if (!mem) + return ERR_PTR(-ENOMEM); + + if (DRM_COPY_FROM_USER(mem, userptr, nmemb * size)) { + kfree(mem); + return ERR_PTR(-EFAULT); + } + + return mem; +} + +static int +nouveau_gem_pushbuf_reloc_apply(struct nouveau_channel *chan, int nr_bo, + struct drm_nouveau_gem_pushbuf_bo *bo, + unsigned nr_relocs, uint64_t ptr_relocs, + unsigned nr_dwords, unsigned first_dword, + uint32_t *pushbuf, bool is_iomem) +{ + struct drm_nouveau_gem_pushbuf_reloc *reloc = NULL; + struct drm_device *dev = chan->dev; + int ret = 0; + unsigned i; + + reloc = u_memcpya(ptr_relocs, nr_relocs, sizeof(*reloc)); + if (IS_ERR(reloc)) + return PTR_ERR(reloc); + + for (i = 0; i < nr_relocs; i++) { + struct drm_nouveau_gem_pushbuf_reloc *r = &reloc[i]; + struct drm_nouveau_gem_pushbuf_bo *b; + uint32_t data; + + if (r->bo_index >= nr_bo || r->reloc_index < first_dword || + r->reloc_index >= first_dword + nr_dwords) { + NV_ERROR(dev, "Bad relocation %d\n", i); + NV_ERROR(dev, " bo: %d max %d\n", r->bo_index, nr_bo); + NV_ERROR(dev, " id: %d max %d\n", r->reloc_index, nr_dwords); + ret = -EINVAL; + break; + } + + b = &bo[r->bo_index]; + if (b->presumed_ok) + continue; + + if (r->flags & NOUVEAU_GEM_RELOC_LOW) + data = b->presumed_offset + r->data; + else + if (r->flags & NOUVEAU_GEM_RELOC_HIGH) + data = (b->presumed_offset + r->data) >> 32; + else + data = r->data; + + if (r->flags & NOUVEAU_GEM_RELOC_OR) { + if (b->presumed_domain == NOUVEAU_GEM_DOMAIN_GART) + data |= r->tor; + else + data |= r->vor; + } + + if (is_iomem) + iowrite32_native(data, (void __force __iomem *) + &pushbuf[r->reloc_index]); + else + pushbuf[r->reloc_index] = data; + } + + kfree(reloc); + return ret; +} + +int +nouveau_gem_ioctl_pushbuf(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_nouveau_gem_pushbuf *req = data; + struct drm_nouveau_gem_pushbuf_bo *bo = NULL; + struct nouveau_channel *chan; + struct validate_op op; + struct nouveau_fence* fence = 0; + uint32_t *pushbuf = NULL; + int ret = 0, do_reloc = 0, i; + + NOUVEAU_CHECK_INITIALISED_WITH_RETURN; + NOUVEAU_GET_USER_CHANNEL_WITH_RETURN(req->channel, file_priv, chan); + + if (req->nr_dwords >= chan->dma.max || + req->nr_buffers > NOUVEAU_GEM_MAX_BUFFERS || + req->nr_relocs > NOUVEAU_GEM_MAX_RELOCS) { + NV_ERROR(dev, "Pushbuf config exceeds limits:\n"); + NV_ERROR(dev, " dwords : %d max %d\n", req->nr_dwords, + chan->dma.max - 1); + NV_ERROR(dev, " buffers: %d max %d\n", req->nr_buffers, + NOUVEAU_GEM_MAX_BUFFERS); + NV_ERROR(dev, " relocs : %d max %d\n", req->nr_relocs, + NOUVEAU_GEM_MAX_RELOCS); + return -EINVAL; + } + + pushbuf = u_memcpya(req->dwords, req->nr_dwords, sizeof(uint32_t)); + if (IS_ERR(pushbuf)) + return PTR_ERR(pushbuf); + + bo = u_memcpya(req->buffers, req->nr_buffers, sizeof(*bo)); + if (IS_ERR(bo)) { + kfree(pushbuf); + return PTR_ERR(bo); + } + + mutex_lock(&dev->struct_mutex); + + /* Validate buffer list */ + ret = nouveau_gem_pushbuf_validate(chan, file_priv, bo, req->buffers, + req->nr_buffers, &op, &do_reloc); + if (ret) + goto out; + + /* Apply any relocations that are required */ + if (do_reloc) { + ret = nouveau_gem_pushbuf_reloc_apply(chan, req->nr_buffers, + bo, req->nr_relocs, + req->relocs, + req->nr_dwords, 0, + pushbuf, false); + if (ret) + goto out; + } + + /* Emit push buffer to the hw + */ + ret = RING_SPACE(chan, req->nr_dwords); + if (ret) + goto out; + + OUT_RINGp(chan, pushbuf, req->nr_dwords); + + ret = nouveau_fence_new(chan, &fence, true); + if (ret) { + NV_ERROR(dev, "error fencing pushbuf: %d\n", ret); + WIND_RING(chan); + goto out; + } + + if (nouveau_gem_pushbuf_sync(chan)) { + ret = nouveau_fence_wait(fence, NULL, false, false); + if (ret) { + for (i = 0; i < req->nr_dwords; i++) + NV_ERROR(dev, "0x%08x\n", pushbuf[i]); + NV_ERROR(dev, "^^ above push buffer is fail :(\n"); + } + } + +out: + validate_fini(&op, fence); + nouveau_fence_unref((void**)&fence); + mutex_unlock(&dev->struct_mutex); + kfree(pushbuf); + kfree(bo); + return ret; +} + +#define PUSHBUF_CAL (dev_priv->card_type >= NV_20) + +int +nouveau_gem_ioctl_pushbuf_call(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct drm_nouveau_gem_pushbuf_call *req = data; + struct drm_nouveau_gem_pushbuf_bo *bo = NULL; + struct nouveau_channel *chan; + struct drm_gem_object *gem; + struct nouveau_bo *pbbo; + struct validate_op op; + struct nouveau_fence* fence = 0; + int i, ret = 0, do_reloc = 0; + + NOUVEAU_CHECK_INITIALISED_WITH_RETURN; + NOUVEAU_GET_USER_CHANNEL_WITH_RETURN(req->channel, file_priv, chan); + + if (unlikely(req->handle == 0)) + goto out_next; + + if (req->nr_buffers > NOUVEAU_GEM_MAX_BUFFERS || + req->nr_relocs > NOUVEAU_GEM_MAX_RELOCS) { + NV_ERROR(dev, "Pushbuf config exceeds limits:\n"); + NV_ERROR(dev, " buffers: %d max %d\n", req->nr_buffers, + NOUVEAU_GEM_MAX_BUFFERS); + NV_ERROR(dev, " relocs : %d max %d\n", req->nr_relocs, + NOUVEAU_GEM_MAX_RELOCS); + return -EINVAL; + } + + bo = u_memcpya(req->buffers, req->nr_buffers, sizeof(*bo)); + if (IS_ERR(bo)) + return PTR_ERR(bo); + + mutex_lock(&dev->struct_mutex); + + /* Validate buffer list */ + ret = nouveau_gem_pushbuf_validate(chan, file_priv, bo, req->buffers, + req->nr_buffers, &op, &do_reloc); + if (ret) { + NV_ERROR(dev, "validate: %d\n", ret); + goto out; + } + + /* Validate DMA push buffer */ + gem = drm_gem_object_lookup(dev, file_priv, req->handle); + if (!gem) { + NV_ERROR(dev, "Unknown pb handle 0x%08x\n", req->handle); + ret = -EINVAL; + goto out; + } + pbbo = nouveau_gem_object(gem); + + if ((req->offset & 3) || req->nr_dwords < 2 || + (unsigned long)req->offset > (unsigned long)pbbo->bo.mem.size || + (unsigned long)req->nr_dwords > + ((unsigned long)(pbbo->bo.mem.size - req->offset ) >> 2)) { + NV_ERROR(dev, "pb call misaligned or out of bounds: " + "%d + %d * 4 > %ld\n", + req->offset, req->nr_dwords, pbbo->bo.mem.size); + ret = -EINVAL; + drm_gem_object_unreference(gem); + goto out; + } + + ret = ttm_bo_reserve(&pbbo->bo, false, false, true, + chan->fence.sequence); + if (ret) { + NV_ERROR(dev, "resv pb: %d\n", ret); + drm_gem_object_unreference(gem); + goto out; + } + + nouveau_bo_placement_set(pbbo, 1 << chan->pushbuf_bo->bo.mem.mem_type); + ret = ttm_bo_validate(&pbbo->bo, &pbbo->placement, false, false); + if (ret) { + NV_ERROR(dev, "validate pb: %d\n", ret); + ttm_bo_unreserve(&pbbo->bo); + drm_gem_object_unreference(gem); + goto out; + } + + list_add_tail(&pbbo->entry, &op.both_list); + + /* If presumed return address doesn't match, we need to map the + * push buffer and fix it.. + */ + if (!PUSHBUF_CAL) { + uint32_t retaddy; + + if (chan->dma.free < 4 + NOUVEAU_DMA_SKIPS) { + ret = nouveau_dma_wait(chan, 4 + NOUVEAU_DMA_SKIPS); + if (ret) { + NV_ERROR(dev, "jmp_space: %d\n", ret); + goto out; + } + } + + retaddy = chan->pushbuf_base + ((chan->dma.cur + 2) << 2); + retaddy |= 0x20000000; + if (retaddy != req->suffix0) { + req->suffix0 = retaddy; + do_reloc = 1; + } + } + + /* Apply any relocations that are required */ + if (do_reloc) { + void *pbvirt; + bool is_iomem; + ret = ttm_bo_kmap(&pbbo->bo, 0, pbbo->bo.mem.num_pages, + &pbbo->kmap); + if (ret) { + NV_ERROR(dev, "kmap pb: %d\n", ret); + goto out; + } + + pbvirt = ttm_kmap_obj_virtual(&pbbo->kmap, &is_iomem); + ret = nouveau_gem_pushbuf_reloc_apply(chan, req->nr_buffers, bo, + req->nr_relocs, + req->relocs, + req->nr_dwords, + req->offset / 4, + pbvirt, is_iomem); + + if (!PUSHBUF_CAL) { + nouveau_bo_wr32(pbbo, + req->offset / 4 + req->nr_dwords - 2, + req->suffix0); + } + + ttm_bo_kunmap(&pbbo->kmap); + if (ret) { + NV_ERROR(dev, "reloc apply: %d\n", ret); + goto out; + } + } + + if (PUSHBUF_CAL) { + ret = RING_SPACE(chan, 2); + if (ret) { + NV_ERROR(dev, "cal_space: %d\n", ret); + goto out; + } + OUT_RING(chan, ((pbbo->bo.mem.mm_node->start << PAGE_SHIFT) + + req->offset) | 2); + OUT_RING(chan, 0); + } else { + ret = RING_SPACE(chan, 2 + NOUVEAU_DMA_SKIPS); + if (ret) { + NV_ERROR(dev, "jmp_space: %d\n", ret); + goto out; + } + OUT_RING(chan, ((pbbo->bo.mem.mm_node->start << PAGE_SHIFT) + + req->offset) | 0x20000000); + OUT_RING(chan, 0); + + /* Space the jumps apart with NOPs. */ + for (i = 0; i < NOUVEAU_DMA_SKIPS; i++) + OUT_RING(chan, 0); + } + + ret = nouveau_fence_new(chan, &fence, true); + if (ret) { + NV_ERROR(dev, "error fencing pushbuf: %d\n", ret); + WIND_RING(chan); + goto out; + } + +out: + validate_fini(&op, fence); + nouveau_fence_unref((void**)&fence); + mutex_unlock(&dev->struct_mutex); + kfree(bo); + +out_next: + if (PUSHBUF_CAL) { + req->suffix0 = 0x00020000; + req->suffix1 = 0x00000000; + } else { + req->suffix0 = 0x20000000 | + (chan->pushbuf_base + ((chan->dma.cur + 2) << 2)); + req->suffix1 = 0x00000000; + } + + return ret; +} + +int +nouveau_gem_ioctl_pushbuf_call2(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct drm_nouveau_gem_pushbuf_call *req = data; + + req->vram_available = dev_priv->fb_aper_free; + req->gart_available = dev_priv->gart_info.aper_free; + + return nouveau_gem_ioctl_pushbuf_call(dev, data, file_priv); +} + +static inline uint32_t +domain_to_ttm(struct nouveau_bo *nvbo, uint32_t domain) +{ + uint32_t flags = 0; + + if (domain & NOUVEAU_GEM_DOMAIN_VRAM) + flags |= TTM_PL_FLAG_VRAM; + if (domain & NOUVEAU_GEM_DOMAIN_GART) + flags |= TTM_PL_FLAG_TT; + + return flags; +} + +int +nouveau_gem_ioctl_pin(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_nouveau_gem_pin *req = data; + struct drm_gem_object *gem; + struct nouveau_bo *nvbo; + int ret = 0; + + NOUVEAU_CHECK_INITIALISED_WITH_RETURN; + + if (drm_core_check_feature(dev, DRIVER_MODESET)) { + NV_ERROR(dev, "pin only allowed without kernel modesetting\n"); + return -EINVAL; + } + + if (!DRM_SUSER(DRM_CURPROC)) + return -EPERM; + + gem = drm_gem_object_lookup(dev, file_priv, req->handle); + if (!gem) + return -EINVAL; + nvbo = nouveau_gem_object(gem); + + ret = nouveau_bo_pin(nvbo, domain_to_ttm(nvbo, req->domain)); + if (ret) + goto out; + + req->offset = nvbo->bo.offset; + if (nvbo->bo.mem.mem_type == TTM_PL_TT) + req->domain = NOUVEAU_GEM_DOMAIN_GART; + else + req->domain = NOUVEAU_GEM_DOMAIN_VRAM; + +out: + mutex_lock(&dev->struct_mutex); + drm_gem_object_unreference(gem); + mutex_unlock(&dev->struct_mutex); + + return ret; +} + +int +nouveau_gem_ioctl_unpin(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_nouveau_gem_pin *req = data; + struct drm_gem_object *gem; + int ret; + + NOUVEAU_CHECK_INITIALISED_WITH_RETURN; + + if (drm_core_check_feature(dev, DRIVER_MODESET)) + return -EINVAL; + + gem = drm_gem_object_lookup(dev, file_priv, req->handle); + if (!gem) + return -EINVAL; + + ret = nouveau_bo_unpin(nouveau_gem_object(gem)); + + mutex_lock(&dev->struct_mutex); + drm_gem_object_unreference(gem); + mutex_unlock(&dev->struct_mutex); + + return ret; +} + +int +nouveau_gem_ioctl_cpu_prep(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_nouveau_gem_cpu_prep *req = data; + struct drm_gem_object *gem; + struct nouveau_bo *nvbo; + bool no_wait = !!(req->flags & NOUVEAU_GEM_CPU_PREP_NOWAIT); + int ret = -EINVAL; + + NOUVEAU_CHECK_INITIALISED_WITH_RETURN; + + gem = drm_gem_object_lookup(dev, file_priv, req->handle); + if (!gem) + return ret; + nvbo = nouveau_gem_object(gem); + + if (nvbo->cpu_filp) { + if (nvbo->cpu_filp == file_priv) + goto out; + + ret = ttm_bo_wait_cpu(&nvbo->bo, no_wait); + if (ret) + goto out; + } + + if (req->flags & NOUVEAU_GEM_CPU_PREP_NOBLOCK) { + spin_lock(&nvbo->bo.lock); + ret = ttm_bo_wait(&nvbo->bo, false, false, no_wait); + spin_unlock(&nvbo->bo.lock); + } else { + ret = ttm_bo_synccpu_write_grab(&nvbo->bo, no_wait); + if (ret == 0) + nvbo->cpu_filp = file_priv; + } + +out: + mutex_lock(&dev->struct_mutex); + drm_gem_object_unreference(gem); + mutex_unlock(&dev->struct_mutex); + return ret; +} + +int +nouveau_gem_ioctl_cpu_fini(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_nouveau_gem_cpu_prep *req = data; + struct drm_gem_object *gem; + struct nouveau_bo *nvbo; + int ret = -EINVAL; + + NOUVEAU_CHECK_INITIALISED_WITH_RETURN; + + gem = drm_gem_object_lookup(dev, file_priv, req->handle); + if (!gem) + return ret; + nvbo = nouveau_gem_object(gem); + + if (nvbo->cpu_filp != file_priv) + goto out; + nvbo->cpu_filp = NULL; + + ttm_bo_synccpu_write_release(&nvbo->bo); + ret = 0; + +out: + mutex_lock(&dev->struct_mutex); + drm_gem_object_unreference(gem); + mutex_unlock(&dev->struct_mutex); + return ret; +} + +int +nouveau_gem_ioctl_info(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_nouveau_gem_info *req = data; + struct drm_gem_object *gem; + int ret; + + NOUVEAU_CHECK_INITIALISED_WITH_RETURN; + + gem = drm_gem_object_lookup(dev, file_priv, req->handle); + if (!gem) + return -EINVAL; + + ret = nouveau_gem_info(gem, req); + mutex_lock(&dev->struct_mutex); + drm_gem_object_unreference(gem); + mutex_unlock(&dev->struct_mutex); + return ret; +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_grctx.h +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_grctx.h @@ -0,0 +1,133 @@ +#ifndef __NOUVEAU_GRCTX_H__ +#define __NOUVEAU_GRCTX_H__ + +struct nouveau_grctx { + struct drm_device *dev; + + enum { + NOUVEAU_GRCTX_PROG, + NOUVEAU_GRCTX_VALS + } mode; + void *data; + + uint32_t ctxprog_max; + uint32_t ctxprog_len; + uint32_t ctxprog_reg; + int ctxprog_label[32]; + uint32_t ctxvals_pos; + uint32_t ctxvals_base; +}; + +#ifdef CP_CTX +static inline void +cp_out(struct nouveau_grctx *ctx, uint32_t inst) +{ + uint32_t *ctxprog = ctx->data; + + if (ctx->mode != NOUVEAU_GRCTX_PROG) + return; + + BUG_ON(ctx->ctxprog_len == ctx->ctxprog_max); + ctxprog[ctx->ctxprog_len++] = inst; +} + +static inline void +cp_lsr(struct nouveau_grctx *ctx, uint32_t val) +{ + cp_out(ctx, CP_LOAD_SR | val); +} + +static inline void +cp_ctx(struct nouveau_grctx *ctx, uint32_t reg, uint32_t length) +{ + ctx->ctxprog_reg = (reg - 0x00400000) >> 2; + + ctx->ctxvals_base = ctx->ctxvals_pos; + ctx->ctxvals_pos = ctx->ctxvals_base + length; + + if (length > (CP_CTX_COUNT >> CP_CTX_COUNT_SHIFT)) { + cp_lsr(ctx, length); + length = 0; + } + + cp_out(ctx, CP_CTX | (length << CP_CTX_COUNT_SHIFT) | ctx->ctxprog_reg); +} + +static inline void +cp_name(struct nouveau_grctx *ctx, int name) +{ + uint32_t *ctxprog = ctx->data; + int i; + + if (ctx->mode != NOUVEAU_GRCTX_PROG) + return; + + ctx->ctxprog_label[name] = ctx->ctxprog_len; + for (i = 0; i < ctx->ctxprog_len; i++) { + if ((ctxprog[i] & 0xfff00000) != 0xff400000) + continue; + if ((ctxprog[i] & CP_BRA_IP) != ((name) << CP_BRA_IP_SHIFT)) + continue; + ctxprog[i] = (ctxprog[i] & 0x00ff00ff) | + (ctx->ctxprog_len << CP_BRA_IP_SHIFT); + } +} + +static inline void +_cp_bra(struct nouveau_grctx *ctx, u32 mod, int flag, int state, int name) +{ + int ip = 0; + + if (mod != 2) { + ip = ctx->ctxprog_label[name] << CP_BRA_IP_SHIFT; + if (ip == 0) + ip = 0xff000000 | (name << CP_BRA_IP_SHIFT); + } + + cp_out(ctx, CP_BRA | (mod << 18) | ip | flag | + (state ? 0 : CP_BRA_IF_CLEAR)); +} +#define cp_bra(c,f,s,n) _cp_bra((c), 0, CP_FLAG_##f, CP_FLAG_##f##_##s, n) +#ifdef CP_BRA_MOD +#define cp_cal(c,f,s,n) _cp_bra((c), 1, CP_FLAG_##f, CP_FLAG_##f##_##s, n) +#define cp_ret(c,f,s) _cp_bra((c), 2, CP_FLAG_##f, CP_FLAG_##f##_##s, 0) +#endif + +static inline void +_cp_wait(struct nouveau_grctx *ctx, int flag, int state) +{ + cp_out(ctx, CP_WAIT | flag | (state ? CP_WAIT_SET : 0)); +} +#define cp_wait(c,f,s) _cp_wait((c), CP_FLAG_##f, CP_FLAG_##f##_##s) + +static inline void +_cp_set(struct nouveau_grctx *ctx, int flag, int state) +{ + cp_out(ctx, CP_SET | flag | (state ? CP_SET_1 : 0)); +} +#define cp_set(c,f,s) _cp_set((c), CP_FLAG_##f, CP_FLAG_##f##_##s) + +static inline void +cp_pos(struct nouveau_grctx *ctx, int offset) +{ + ctx->ctxvals_pos = offset; + ctx->ctxvals_base = ctx->ctxvals_pos; + + cp_lsr(ctx, ctx->ctxvals_pos); + cp_out(ctx, CP_SET_CONTEXT_POINTER); +} + +static inline void +gr_def(struct nouveau_grctx *ctx, uint32_t reg, uint32_t val) +{ + if (ctx->mode != NOUVEAU_GRCTX_VALS) + return; + + reg = (reg - 0x00400000) / 4; + reg = (reg - ctx->ctxprog_reg) + ctx->ctxvals_base; + + nv_wo32(ctx->dev, ctx->data, reg, val); +} +#endif + +#endif --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_hw.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_hw.c @@ -0,0 +1,1080 @@ +/* + * Copyright 2006 Dave Airlie + * Copyright 2007 Maarten Maathuis + * Copyright 2007-2009 Stuart Bennett + * + * 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 AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include "drmP.h" +#include "nouveau_drv.h" +#include "nouveau_hw.h" + +#define CHIPSET_NFORCE 0x01a0 +#define CHIPSET_NFORCE2 0x01f0 + +/* + * misc hw access wrappers/control functions + */ + +void +NVWriteVgaSeq(struct drm_device *dev, int head, uint8_t index, uint8_t value) +{ + NVWritePRMVIO(dev, head, NV_PRMVIO_SRX, index); + NVWritePRMVIO(dev, head, NV_PRMVIO_SR, value); +} + +uint8_t +NVReadVgaSeq(struct drm_device *dev, int head, uint8_t index) +{ + NVWritePRMVIO(dev, head, NV_PRMVIO_SRX, index); + return NVReadPRMVIO(dev, head, NV_PRMVIO_SR); +} + +void +NVWriteVgaGr(struct drm_device *dev, int head, uint8_t index, uint8_t value) +{ + NVWritePRMVIO(dev, head, NV_PRMVIO_GRX, index); + NVWritePRMVIO(dev, head, NV_PRMVIO_GX, value); +} + +uint8_t +NVReadVgaGr(struct drm_device *dev, int head, uint8_t index) +{ + NVWritePRMVIO(dev, head, NV_PRMVIO_GRX, index); + return NVReadPRMVIO(dev, head, NV_PRMVIO_GX); +} + +/* CR44 takes values 0 (head A), 3 (head B) and 4 (heads tied) + * it affects only the 8 bit vga io regs, which we access using mmio at + * 0xc{0,2}3c*, 0x60{1,3}3*, and 0x68{1,3}3d* + * in general, the set value of cr44 does not matter: reg access works as + * expected and values can be set for the appropriate head by using a 0x2000 + * offset as required + * however: + * a) pre nv40, the head B range of PRMVIO regs at 0xc23c* was not exposed and + * cr44 must be set to 0 or 3 for accessing values on the correct head + * through the common 0xc03c* addresses + * b) in tied mode (4) head B is programmed to the values set on head A, and + * access using the head B addresses can have strange results, ergo we leave + * tied mode in init once we know to what cr44 should be restored on exit + * + * the owner parameter is slightly abused: + * 0 and 1 are treated as head values and so the set value is (owner * 3) + * other values are treated as literal values to set + */ +void +NVSetOwner(struct drm_device *dev, int owner) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + if (owner == 1) + owner *= 3; + + if (dev_priv->chipset == 0x11) { + /* This might seem stupid, but the blob does it and + * omitting it often locks the system up. + */ + NVReadVgaCrtc(dev, 0, NV_CIO_SR_LOCK_INDEX); + NVReadVgaCrtc(dev, 1, NV_CIO_SR_LOCK_INDEX); + } + + /* CR44 is always changed on CRTC0 */ + NVWriteVgaCrtc(dev, 0, NV_CIO_CRE_44, owner); + + if (dev_priv->chipset == 0x11) { /* set me harder */ + NVWriteVgaCrtc(dev, 0, NV_CIO_CRE_2E, owner); + NVWriteVgaCrtc(dev, 0, NV_CIO_CRE_2E, owner); + } +} + +void +NVBlankScreen(struct drm_device *dev, int head, bool blank) +{ + unsigned char seq1; + + if (nv_two_heads(dev)) + NVSetOwner(dev, head); + + seq1 = NVReadVgaSeq(dev, head, NV_VIO_SR_CLOCK_INDEX); + + NVVgaSeqReset(dev, head, true); + if (blank) + NVWriteVgaSeq(dev, head, NV_VIO_SR_CLOCK_INDEX, seq1 | 0x20); + else + NVWriteVgaSeq(dev, head, NV_VIO_SR_CLOCK_INDEX, seq1 & ~0x20); + NVVgaSeqReset(dev, head, false); +} + +/* + * PLL setting + */ + +static int +powerctrl_1_shift(int chip_version, int reg) +{ + int shift = -4; + + if (chip_version < 0x17 || chip_version == 0x1a || chip_version == 0x20) + return shift; + + switch (reg) { + case NV_RAMDAC_VPLL2: + shift += 4; + case NV_PRAMDAC_VPLL_COEFF: + shift += 4; + case NV_PRAMDAC_MPLL_COEFF: + shift += 4; + case NV_PRAMDAC_NVPLL_COEFF: + shift += 4; + } + + /* + * the shift for vpll regs is only used for nv3x chips with a single + * stage pll + */ + if (shift > 4 && (chip_version < 0x32 || chip_version == 0x35 || + chip_version == 0x36 || chip_version >= 0x40)) + shift = -4; + + return shift; +} + +static void +setPLL_single(struct drm_device *dev, uint32_t reg, struct nouveau_pll_vals *pv) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + int chip_version = dev_priv->vbios->chip_version; + uint32_t oldpll = NVReadRAMDAC(dev, 0, reg); + int oldN = (oldpll >> 8) & 0xff, oldM = oldpll & 0xff; + uint32_t pll = (oldpll & 0xfff80000) | pv->log2P << 16 | pv->NM1; + uint32_t saved_powerctrl_1 = 0; + int shift_powerctrl_1 = powerctrl_1_shift(chip_version, reg); + + if (oldpll == pll) + return; /* already set */ + + if (shift_powerctrl_1 >= 0) { + saved_powerctrl_1 = nvReadMC(dev, NV_PBUS_POWERCTRL_1); + nvWriteMC(dev, NV_PBUS_POWERCTRL_1, + (saved_powerctrl_1 & ~(0xf << shift_powerctrl_1)) | + 1 << shift_powerctrl_1); + } + + if (oldM && pv->M1 && (oldN / oldM < pv->N1 / pv->M1)) + /* upclock -- write new post divider first */ + NVWriteRAMDAC(dev, 0, reg, pv->log2P << 16 | (oldpll & 0xffff)); + else + /* downclock -- write new NM first */ + NVWriteRAMDAC(dev, 0, reg, (oldpll & 0xffff0000) | pv->NM1); + + if (chip_version < 0x17 && chip_version != 0x11) + /* wait a bit on older chips */ + msleep(64); + NVReadRAMDAC(dev, 0, reg); + + /* then write the other half as well */ + NVWriteRAMDAC(dev, 0, reg, pll); + + if (shift_powerctrl_1 >= 0) + nvWriteMC(dev, NV_PBUS_POWERCTRL_1, saved_powerctrl_1); +} + +static uint32_t +new_ramdac580(uint32_t reg1, bool ss, uint32_t ramdac580) +{ + bool head_a = (reg1 == NV_PRAMDAC_VPLL_COEFF); + + if (ss) /* single stage pll mode */ + ramdac580 |= head_a ? NV_RAMDAC_580_VPLL1_ACTIVE : + NV_RAMDAC_580_VPLL2_ACTIVE; + else + ramdac580 &= head_a ? ~NV_RAMDAC_580_VPLL1_ACTIVE : + ~NV_RAMDAC_580_VPLL2_ACTIVE; + + return ramdac580; +} + +static void +setPLL_double_highregs(struct drm_device *dev, uint32_t reg1, + struct nouveau_pll_vals *pv) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + int chip_version = dev_priv->vbios->chip_version; + bool nv3035 = chip_version == 0x30 || chip_version == 0x35; + uint32_t reg2 = reg1 + ((reg1 == NV_RAMDAC_VPLL2) ? 0x5c : 0x70); + uint32_t oldpll1 = NVReadRAMDAC(dev, 0, reg1); + uint32_t oldpll2 = !nv3035 ? NVReadRAMDAC(dev, 0, reg2) : 0; + uint32_t pll1 = (oldpll1 & 0xfff80000) | pv->log2P << 16 | pv->NM1; + uint32_t pll2 = (oldpll2 & 0x7fff0000) | 1 << 31 | pv->NM2; + uint32_t oldramdac580 = 0, ramdac580 = 0; + bool single_stage = !pv->NM2 || pv->N2 == pv->M2; /* nv41+ only */ + uint32_t saved_powerctrl_1 = 0, savedc040 = 0; + int shift_powerctrl_1 = powerctrl_1_shift(chip_version, reg1); + + /* model specific additions to generic pll1 and pll2 set up above */ + if (nv3035) { + pll1 = (pll1 & 0xfcc7ffff) | (pv->N2 & 0x18) << 21 | + (pv->N2 & 0x7) << 19 | 8 << 4 | (pv->M2 & 7) << 4; + pll2 = 0; + } + if (chip_version > 0x40 && reg1 >= NV_PRAMDAC_VPLL_COEFF) { /* !nv40 */ + oldramdac580 = NVReadRAMDAC(dev, 0, NV_PRAMDAC_580); + ramdac580 = new_ramdac580(reg1, single_stage, oldramdac580); + if (oldramdac580 != ramdac580) + oldpll1 = ~0; /* force mismatch */ + if (single_stage) + /* magic value used by nvidia in single stage mode */ + pll2 |= 0x011f; + } + if (chip_version > 0x70) + /* magic bits set by the blob (but not the bios) on g71-73 */ + pll1 = (pll1 & 0x7fffffff) | (single_stage ? 0x4 : 0xc) << 28; + + if (oldpll1 == pll1 && oldpll2 == pll2) + return; /* already set */ + + if (shift_powerctrl_1 >= 0) { + saved_powerctrl_1 = nvReadMC(dev, NV_PBUS_POWERCTRL_1); + nvWriteMC(dev, NV_PBUS_POWERCTRL_1, + (saved_powerctrl_1 & ~(0xf << shift_powerctrl_1)) | + 1 << shift_powerctrl_1); + } + + if (chip_version >= 0x40) { + int shift_c040 = 14; + + switch (reg1) { + case NV_PRAMDAC_MPLL_COEFF: + shift_c040 += 2; + case NV_PRAMDAC_NVPLL_COEFF: + shift_c040 += 2; + case NV_RAMDAC_VPLL2: + shift_c040 += 2; + case NV_PRAMDAC_VPLL_COEFF: + shift_c040 += 2; + } + + savedc040 = nvReadMC(dev, 0xc040); + if (shift_c040 != 14) + nvWriteMC(dev, 0xc040, savedc040 & ~(3 << shift_c040)); + } + + if (oldramdac580 != ramdac580) + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_580, ramdac580); + + if (!nv3035) + NVWriteRAMDAC(dev, 0, reg2, pll2); + NVWriteRAMDAC(dev, 0, reg1, pll1); + + if (shift_powerctrl_1 >= 0) + nvWriteMC(dev, NV_PBUS_POWERCTRL_1, saved_powerctrl_1); + if (chip_version >= 0x40) + nvWriteMC(dev, 0xc040, savedc040); +} + +static void +setPLL_double_lowregs(struct drm_device *dev, uint32_t NMNMreg, + struct nouveau_pll_vals *pv) +{ + /* When setting PLLs, there is a merry game of disabling and enabling + * various bits of hardware during the process. This function is a + * synthesis of six nv4x traces, nearly each card doing a subtly + * different thing. With luck all the necessary bits for each card are + * combined herein. Without luck it deviates from each card's formula + * so as to not work on any :) + */ + + uint32_t Preg = NMNMreg - 4; + bool mpll = Preg == 0x4020; + uint32_t oldPval = nvReadMC(dev, Preg); + uint32_t NMNM = pv->NM2 << 16 | pv->NM1; + uint32_t Pval = (oldPval & (mpll ? ~(0x11 << 16) : ~(1 << 16))) | + 0xc << 28 | pv->log2P << 16; + uint32_t saved4600 = 0; + /* some cards have different maskc040s */ + uint32_t maskc040 = ~(3 << 14), savedc040; + bool single_stage = !pv->NM2 || pv->N2 == pv->M2; + + if (nvReadMC(dev, NMNMreg) == NMNM && (oldPval & 0xc0070000) == Pval) + return; + + if (Preg == 0x4000) + maskc040 = ~0x333; + if (Preg == 0x4058) + maskc040 = ~(0xc << 24); + + if (mpll) { + struct pll_lims pll_lim; + uint8_t Pval2; + + if (get_pll_limits(dev, Preg, &pll_lim)) + return; + + Pval2 = pv->log2P + pll_lim.log2p_bias; + if (Pval2 > pll_lim.max_log2p) + Pval2 = pll_lim.max_log2p; + Pval |= 1 << 28 | Pval2 << 20; + + saved4600 = nvReadMC(dev, 0x4600); + nvWriteMC(dev, 0x4600, saved4600 | 8 << 28); + } + if (single_stage) + Pval |= mpll ? 1 << 12 : 1 << 8; + + nvWriteMC(dev, Preg, oldPval | 1 << 28); + nvWriteMC(dev, Preg, Pval & ~(4 << 28)); + if (mpll) { + Pval |= 8 << 20; + nvWriteMC(dev, 0x4020, Pval & ~(0xc << 28)); + nvWriteMC(dev, 0x4038, Pval & ~(0xc << 28)); + } + + savedc040 = nvReadMC(dev, 0xc040); + nvWriteMC(dev, 0xc040, savedc040 & maskc040); + + nvWriteMC(dev, NMNMreg, NMNM); + if (NMNMreg == 0x4024) + nvWriteMC(dev, 0x403c, NMNM); + + nvWriteMC(dev, Preg, Pval); + if (mpll) { + Pval &= ~(8 << 20); + nvWriteMC(dev, 0x4020, Pval); + nvWriteMC(dev, 0x4038, Pval); + nvWriteMC(dev, 0x4600, saved4600); + } + + nvWriteMC(dev, 0xc040, savedc040); + + if (mpll) { + nvWriteMC(dev, 0x4020, Pval & ~(1 << 28)); + nvWriteMC(dev, 0x4038, Pval & ~(1 << 28)); + } +} + +void +nouveau_hw_setpll(struct drm_device *dev, uint32_t reg1, + struct nouveau_pll_vals *pv) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + int cv = dev_priv->vbios->chip_version; + + if (cv == 0x30 || cv == 0x31 || cv == 0x35 || cv == 0x36 || + cv >= 0x40) { + if (reg1 > 0x405c) + setPLL_double_highregs(dev, reg1, pv); + else + setPLL_double_lowregs(dev, reg1, pv); + } else + setPLL_single(dev, reg1, pv); +} + +/* + * PLL getting + */ + +static void +nouveau_hw_decode_pll(struct drm_device *dev, uint32_t reg1, uint32_t pll1, + uint32_t pll2, struct nouveau_pll_vals *pllvals) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + /* to force parsing as single stage (i.e. nv40 vplls) pass pll2 as 0 */ + + /* log2P is & 0x7 as never more than 7, and nv30/35 only uses 3 bits */ + pllvals->log2P = (pll1 >> 16) & 0x7; + pllvals->N2 = pllvals->M2 = 1; + + if (reg1 <= 0x405c) { + pllvals->NM1 = pll2 & 0xffff; + /* single stage NVPLL and VPLLs use 1 << 8, MPLL uses 1 << 12 */ + if (!(pll1 & 0x1100)) + pllvals->NM2 = pll2 >> 16; + } else { + pllvals->NM1 = pll1 & 0xffff; + if (nv_two_reg_pll(dev) && pll2 & NV31_RAMDAC_ENABLE_VCO2) + pllvals->NM2 = pll2 & 0xffff; + else if (dev_priv->chipset == 0x30 || dev_priv->chipset == 0x35) { + pllvals->M1 &= 0xf; /* only 4 bits */ + if (pll1 & NV30_RAMDAC_ENABLE_VCO2) { + pllvals->M2 = (pll1 >> 4) & 0x7; + pllvals->N2 = ((pll1 >> 21) & 0x18) | + ((pll1 >> 19) & 0x7); + } + } + } +} + +int +nouveau_hw_get_pllvals(struct drm_device *dev, enum pll_types plltype, + struct nouveau_pll_vals *pllvals) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + const uint32_t nv04_regs[MAX_PLL_TYPES] = { NV_PRAMDAC_NVPLL_COEFF, + NV_PRAMDAC_MPLL_COEFF, + NV_PRAMDAC_VPLL_COEFF, + NV_RAMDAC_VPLL2 }; + const uint32_t nv40_regs[MAX_PLL_TYPES] = { 0x4000, + 0x4020, + NV_PRAMDAC_VPLL_COEFF, + NV_RAMDAC_VPLL2 }; + uint32_t reg1, pll1, pll2 = 0; + struct pll_lims pll_lim; + int ret; + + if (dev_priv->card_type < NV_40) + reg1 = nv04_regs[plltype]; + else + reg1 = nv40_regs[plltype]; + + pll1 = nvReadMC(dev, reg1); + + if (reg1 <= 0x405c) + pll2 = nvReadMC(dev, reg1 + 4); + else if (nv_two_reg_pll(dev)) { + uint32_t reg2 = reg1 + (reg1 == NV_RAMDAC_VPLL2 ? 0x5c : 0x70); + + pll2 = nvReadMC(dev, reg2); + } + + if (dev_priv->card_type == 0x40 && reg1 >= NV_PRAMDAC_VPLL_COEFF) { + uint32_t ramdac580 = NVReadRAMDAC(dev, 0, NV_PRAMDAC_580); + + /* check whether vpll has been forced into single stage mode */ + if (reg1 == NV_PRAMDAC_VPLL_COEFF) { + if (ramdac580 & NV_RAMDAC_580_VPLL1_ACTIVE) + pll2 = 0; + } else + if (ramdac580 & NV_RAMDAC_580_VPLL2_ACTIVE) + pll2 = 0; + } + + nouveau_hw_decode_pll(dev, reg1, pll1, pll2, pllvals); + + ret = get_pll_limits(dev, plltype, &pll_lim); + if (ret) + return ret; + + pllvals->refclk = pll_lim.refclk; + + return 0; +} + +int +nouveau_hw_pllvals_to_clk(struct nouveau_pll_vals *pv) +{ + /* Avoid divide by zero if called at an inappropriate time */ + if (!pv->M1 || !pv->M2) + return 0; + + return pv->N1 * pv->N2 * pv->refclk / (pv->M1 * pv->M2) >> pv->log2P; +} + +int +nouveau_hw_get_clock(struct drm_device *dev, enum pll_types plltype) +{ + struct nouveau_pll_vals pllvals; + + if (plltype == MPLL && (dev->pci_device & 0x0ff0) == CHIPSET_NFORCE) { + uint32_t mpllP; + + pci_read_config_dword(pci_get_bus_and_slot(0, 3), 0x6c, &mpllP); + if (!mpllP) + mpllP = 4; + + return 400000 / mpllP; + } else + if (plltype == MPLL && (dev->pci_device & 0xff0) == CHIPSET_NFORCE2) { + uint32_t clock; + + pci_read_config_dword(pci_get_bus_and_slot(0, 5), 0x4c, &clock); + return clock; + } + + nouveau_hw_get_pllvals(dev, plltype, &pllvals); + + return nouveau_hw_pllvals_to_clk(&pllvals); +} + +static void +nouveau_hw_fix_bad_vpll(struct drm_device *dev, int head) +{ + /* the vpll on an unused head can come up with a random value, way + * beyond the pll limits. for some reason this causes the chip to + * lock up when reading the dac palette regs, so set a valid pll here + * when such a condition detected. only seen on nv11 to date + */ + + struct pll_lims pll_lim; + struct nouveau_pll_vals pv; + uint32_t pllreg = head ? NV_RAMDAC_VPLL2 : NV_PRAMDAC_VPLL_COEFF; + + if (get_pll_limits(dev, head ? VPLL2 : VPLL1, &pll_lim)) + return; + nouveau_hw_get_pllvals(dev, head ? VPLL2 : VPLL1, &pv); + + if (pv.M1 >= pll_lim.vco1.min_m && pv.M1 <= pll_lim.vco1.max_m && + pv.N1 >= pll_lim.vco1.min_n && pv.N1 <= pll_lim.vco1.max_n && + pv.log2P <= pll_lim.max_log2p) + return; + + NV_WARN(dev, "VPLL %d outwith limits, attempting to fix\n", head + 1); + + /* set lowest clock within static limits */ + pv.M1 = pll_lim.vco1.max_m; + pv.N1 = pll_lim.vco1.min_n; + pv.log2P = pll_lim.max_usable_log2p; + nouveau_hw_setpll(dev, pllreg, &pv); +} + +/* + * vga font save/restore + */ + +static void nouveau_vga_font_io(struct drm_device *dev, + void __iomem *iovram, + bool save, unsigned plane) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + unsigned i; + + NVWriteVgaSeq(dev, 0, NV_VIO_SR_PLANE_MASK_INDEX, 1 << plane); + NVWriteVgaGr(dev, 0, NV_VIO_GX_READ_MAP_INDEX, plane); + for (i = 0; i < 16384; i++) { + if (save) { + dev_priv->saved_vga_font[plane][i] = + ioread32_native(iovram + i * 4); + } else { + iowrite32_native(dev_priv->saved_vga_font[plane][i], + iovram + i * 4); + } + } +} + +void +nouveau_hw_save_vga_fonts(struct drm_device *dev, bool save) +{ + uint8_t misc, gr4, gr5, gr6, seq2, seq4; + bool graphicsmode; + unsigned plane; + void __iomem *iovram; + + if (nv_two_heads(dev)) + NVSetOwner(dev, 0); + + NVSetEnablePalette(dev, 0, true); + graphicsmode = NVReadVgaAttr(dev, 0, NV_CIO_AR_MODE_INDEX) & 1; + NVSetEnablePalette(dev, 0, false); + + if (graphicsmode) /* graphics mode => framebuffer => no need to save */ + return; + + NV_INFO(dev, "%sing VGA fonts\n", save ? "Sav" : "Restor"); + + /* map first 64KiB of VRAM, holds VGA fonts etc */ + iovram = ioremap(pci_resource_start(dev->pdev, 1), 65536); + if (!iovram) { + NV_ERROR(dev, "Failed to map VRAM, " + "cannot save/restore VGA fonts.\n"); + return; + } + + if (nv_two_heads(dev)) + NVBlankScreen(dev, 1, true); + NVBlankScreen(dev, 0, true); + + /* save control regs */ + misc = NVReadPRMVIO(dev, 0, NV_PRMVIO_MISC__READ); + seq2 = NVReadVgaSeq(dev, 0, NV_VIO_SR_PLANE_MASK_INDEX); + seq4 = NVReadVgaSeq(dev, 0, NV_VIO_SR_MEM_MODE_INDEX); + gr4 = NVReadVgaGr(dev, 0, NV_VIO_GX_READ_MAP_INDEX); + gr5 = NVReadVgaGr(dev, 0, NV_VIO_GX_MODE_INDEX); + gr6 = NVReadVgaGr(dev, 0, NV_VIO_GX_MISC_INDEX); + + NVWritePRMVIO(dev, 0, NV_PRMVIO_MISC__WRITE, 0x67); + NVWriteVgaSeq(dev, 0, NV_VIO_SR_MEM_MODE_INDEX, 0x6); + NVWriteVgaGr(dev, 0, NV_VIO_GX_MODE_INDEX, 0x0); + NVWriteVgaGr(dev, 0, NV_VIO_GX_MISC_INDEX, 0x5); + + /* store font in planes 0..3 */ + for (plane = 0; plane < 4; plane++) + nouveau_vga_font_io(dev, iovram, save, plane); + + /* restore control regs */ + NVWritePRMVIO(dev, 0, NV_PRMVIO_MISC__WRITE, misc); + NVWriteVgaGr(dev, 0, NV_VIO_GX_READ_MAP_INDEX, gr4); + NVWriteVgaGr(dev, 0, NV_VIO_GX_MODE_INDEX, gr5); + NVWriteVgaGr(dev, 0, NV_VIO_GX_MISC_INDEX, gr6); + NVWriteVgaSeq(dev, 0, NV_VIO_SR_PLANE_MASK_INDEX, seq2); + NVWriteVgaSeq(dev, 0, NV_VIO_SR_MEM_MODE_INDEX, seq4); + + if (nv_two_heads(dev)) + NVBlankScreen(dev, 1, false); + NVBlankScreen(dev, 0, false); + + iounmap(iovram); +} + +/* + * mode state save/load + */ + +static void +rd_cio_state(struct drm_device *dev, int head, + struct nv04_crtc_reg *crtcstate, int index) +{ + crtcstate->CRTC[index] = NVReadVgaCrtc(dev, head, index); +} + +static void +wr_cio_state(struct drm_device *dev, int head, + struct nv04_crtc_reg *crtcstate, int index) +{ + NVWriteVgaCrtc(dev, head, index, crtcstate->CRTC[index]); +} + +static void +nv_save_state_ramdac(struct drm_device *dev, int head, + struct nv04_mode_state *state) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv04_crtc_reg *regp = &state->crtc_reg[head]; + int i; + + if (dev_priv->card_type >= NV_10) + regp->nv10_cursync = NVReadRAMDAC(dev, head, NV_RAMDAC_NV10_CURSYNC); + + nouveau_hw_get_pllvals(dev, head ? VPLL2 : VPLL1, ®p->pllvals); + state->pllsel = NVReadRAMDAC(dev, 0, NV_PRAMDAC_PLL_COEFF_SELECT); + if (nv_two_heads(dev)) + state->sel_clk = NVReadRAMDAC(dev, 0, NV_PRAMDAC_SEL_CLK); + if (dev_priv->chipset == 0x11) + regp->dither = NVReadRAMDAC(dev, head, NV_RAMDAC_DITHER_NV11); + + regp->ramdac_gen_ctrl = NVReadRAMDAC(dev, head, NV_PRAMDAC_GENERAL_CONTROL); + + if (nv_gf4_disp_arch(dev)) + regp->ramdac_630 = NVReadRAMDAC(dev, head, NV_PRAMDAC_630); + if (dev_priv->chipset >= 0x30) + regp->ramdac_634 = NVReadRAMDAC(dev, head, NV_PRAMDAC_634); + + regp->tv_setup = NVReadRAMDAC(dev, head, NV_PRAMDAC_TV_SETUP); + regp->tv_vtotal = NVReadRAMDAC(dev, head, NV_PRAMDAC_TV_VTOTAL); + regp->tv_vskew = NVReadRAMDAC(dev, head, NV_PRAMDAC_TV_VSKEW); + regp->tv_vsync_delay = NVReadRAMDAC(dev, head, NV_PRAMDAC_TV_VSYNC_DELAY); + regp->tv_htotal = NVReadRAMDAC(dev, head, NV_PRAMDAC_TV_HTOTAL); + regp->tv_hskew = NVReadRAMDAC(dev, head, NV_PRAMDAC_TV_HSKEW); + regp->tv_hsync_delay = NVReadRAMDAC(dev, head, NV_PRAMDAC_TV_HSYNC_DELAY); + regp->tv_hsync_delay2 = NVReadRAMDAC(dev, head, NV_PRAMDAC_TV_HSYNC_DELAY2); + + for (i = 0; i < 7; i++) { + uint32_t ramdac_reg = NV_PRAMDAC_FP_VDISPLAY_END + (i * 4); + regp->fp_vert_regs[i] = NVReadRAMDAC(dev, head, ramdac_reg); + regp->fp_horiz_regs[i] = NVReadRAMDAC(dev, head, ramdac_reg + 0x20); + } + + if (nv_gf4_disp_arch(dev)) { + regp->dither = NVReadRAMDAC(dev, head, NV_RAMDAC_FP_DITHER); + for (i = 0; i < 3; i++) { + regp->dither_regs[i] = NVReadRAMDAC(dev, head, NV_PRAMDAC_850 + i * 4); + regp->dither_regs[i + 3] = NVReadRAMDAC(dev, head, NV_PRAMDAC_85C + i * 4); + } + } + + regp->fp_control = NVReadRAMDAC(dev, head, NV_PRAMDAC_FP_TG_CONTROL); + regp->fp_debug_0 = NVReadRAMDAC(dev, head, NV_PRAMDAC_FP_DEBUG_0); + if (!nv_gf4_disp_arch(dev) && head == 0) { + /* early chips don't allow access to PRAMDAC_TMDS_* without + * the head A FPCLK on (nv11 even locks up) */ + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_FP_DEBUG_0, regp->fp_debug_0 & + ~NV_PRAMDAC_FP_DEBUG_0_PWRDOWN_FPCLK); + } + regp->fp_debug_1 = NVReadRAMDAC(dev, head, NV_PRAMDAC_FP_DEBUG_1); + regp->fp_debug_2 = NVReadRAMDAC(dev, head, NV_PRAMDAC_FP_DEBUG_2); + + regp->fp_margin_color = NVReadRAMDAC(dev, head, NV_PRAMDAC_FP_MARGIN_COLOR); + + if (nv_gf4_disp_arch(dev)) + regp->ramdac_8c0 = NVReadRAMDAC(dev, head, NV_PRAMDAC_8C0); + + if (dev_priv->card_type == NV_40) { + regp->ramdac_a20 = NVReadRAMDAC(dev, head, NV_PRAMDAC_A20); + regp->ramdac_a24 = NVReadRAMDAC(dev, head, NV_PRAMDAC_A24); + regp->ramdac_a34 = NVReadRAMDAC(dev, head, NV_PRAMDAC_A34); + + for (i = 0; i < 38; i++) + regp->ctv_regs[i] = NVReadRAMDAC(dev, head, + NV_PRAMDAC_CTV + 4*i); + } +} + +static void +nv_load_state_ramdac(struct drm_device *dev, int head, + struct nv04_mode_state *state) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv04_crtc_reg *regp = &state->crtc_reg[head]; + uint32_t pllreg = head ? NV_RAMDAC_VPLL2 : NV_PRAMDAC_VPLL_COEFF; + int i; + + if (dev_priv->card_type >= NV_10) + NVWriteRAMDAC(dev, head, NV_RAMDAC_NV10_CURSYNC, regp->nv10_cursync); + + nouveau_hw_setpll(dev, pllreg, ®p->pllvals); + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_PLL_COEFF_SELECT, state->pllsel); + if (nv_two_heads(dev)) + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_SEL_CLK, state->sel_clk); + if (dev_priv->chipset == 0x11) + NVWriteRAMDAC(dev, head, NV_RAMDAC_DITHER_NV11, regp->dither); + + NVWriteRAMDAC(dev, head, NV_PRAMDAC_GENERAL_CONTROL, regp->ramdac_gen_ctrl); + + if (nv_gf4_disp_arch(dev)) + NVWriteRAMDAC(dev, head, NV_PRAMDAC_630, regp->ramdac_630); + if (dev_priv->chipset >= 0x30) + NVWriteRAMDAC(dev, head, NV_PRAMDAC_634, regp->ramdac_634); + + NVWriteRAMDAC(dev, head, NV_PRAMDAC_TV_SETUP, regp->tv_setup); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_TV_VTOTAL, regp->tv_vtotal); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_TV_VSKEW, regp->tv_vskew); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_TV_VSYNC_DELAY, regp->tv_vsync_delay); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_TV_HTOTAL, regp->tv_htotal); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_TV_HSKEW, regp->tv_hskew); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_TV_HSYNC_DELAY, regp->tv_hsync_delay); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_TV_HSYNC_DELAY2, regp->tv_hsync_delay2); + + for (i = 0; i < 7; i++) { + uint32_t ramdac_reg = NV_PRAMDAC_FP_VDISPLAY_END + (i * 4); + + NVWriteRAMDAC(dev, head, ramdac_reg, regp->fp_vert_regs[i]); + NVWriteRAMDAC(dev, head, ramdac_reg + 0x20, regp->fp_horiz_regs[i]); + } + + if (nv_gf4_disp_arch(dev)) { + NVWriteRAMDAC(dev, head, NV_RAMDAC_FP_DITHER, regp->dither); + for (i = 0; i < 3; i++) { + NVWriteRAMDAC(dev, head, NV_PRAMDAC_850 + i * 4, regp->dither_regs[i]); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_85C + i * 4, regp->dither_regs[i + 3]); + } + } + + NVWriteRAMDAC(dev, head, NV_PRAMDAC_FP_TG_CONTROL, regp->fp_control); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_FP_DEBUG_0, regp->fp_debug_0); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_FP_DEBUG_1, regp->fp_debug_1); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_FP_DEBUG_2, regp->fp_debug_2); + + NVWriteRAMDAC(dev, head, NV_PRAMDAC_FP_MARGIN_COLOR, regp->fp_margin_color); + + if (nv_gf4_disp_arch(dev)) + NVWriteRAMDAC(dev, head, NV_PRAMDAC_8C0, regp->ramdac_8c0); + + if (dev_priv->card_type == NV_40) { + NVWriteRAMDAC(dev, head, NV_PRAMDAC_A20, regp->ramdac_a20); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_A24, regp->ramdac_a24); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_A34, regp->ramdac_a34); + + for (i = 0; i < 38; i++) + NVWriteRAMDAC(dev, head, + NV_PRAMDAC_CTV + 4*i, regp->ctv_regs[i]); + } +} + +static void +nv_save_state_vga(struct drm_device *dev, int head, + struct nv04_mode_state *state) +{ + struct nv04_crtc_reg *regp = &state->crtc_reg[head]; + int i; + + regp->MiscOutReg = NVReadPRMVIO(dev, head, NV_PRMVIO_MISC__READ); + + for (i = 0; i < 25; i++) + rd_cio_state(dev, head, regp, i); + + NVSetEnablePalette(dev, head, true); + for (i = 0; i < 21; i++) + regp->Attribute[i] = NVReadVgaAttr(dev, head, i); + NVSetEnablePalette(dev, head, false); + + for (i = 0; i < 9; i++) + regp->Graphics[i] = NVReadVgaGr(dev, head, i); + + for (i = 0; i < 5; i++) + regp->Sequencer[i] = NVReadVgaSeq(dev, head, i); +} + +static void +nv_load_state_vga(struct drm_device *dev, int head, + struct nv04_mode_state *state) +{ + struct nv04_crtc_reg *regp = &state->crtc_reg[head]; + int i; + + NVWritePRMVIO(dev, head, NV_PRMVIO_MISC__WRITE, regp->MiscOutReg); + + for (i = 0; i < 5; i++) + NVWriteVgaSeq(dev, head, i, regp->Sequencer[i]); + + nv_lock_vga_crtc_base(dev, head, false); + for (i = 0; i < 25; i++) + wr_cio_state(dev, head, regp, i); + nv_lock_vga_crtc_base(dev, head, true); + + for (i = 0; i < 9; i++) + NVWriteVgaGr(dev, head, i, regp->Graphics[i]); + + NVSetEnablePalette(dev, head, true); + for (i = 0; i < 21; i++) + NVWriteVgaAttr(dev, head, i, regp->Attribute[i]); + NVSetEnablePalette(dev, head, false); +} + +static void +nv_save_state_ext(struct drm_device *dev, int head, + struct nv04_mode_state *state) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv04_crtc_reg *regp = &state->crtc_reg[head]; + int i; + + rd_cio_state(dev, head, regp, NV_CIO_CRE_LCD__INDEX); + rd_cio_state(dev, head, regp, NV_CIO_CRE_RPC0_INDEX); + rd_cio_state(dev, head, regp, NV_CIO_CRE_RPC1_INDEX); + rd_cio_state(dev, head, regp, NV_CIO_CRE_LSR_INDEX); + rd_cio_state(dev, head, regp, NV_CIO_CRE_PIXEL_INDEX); + rd_cio_state(dev, head, regp, NV_CIO_CRE_HEB__INDEX); + rd_cio_state(dev, head, regp, NV_CIO_CRE_ENH_INDEX); + + rd_cio_state(dev, head, regp, NV_CIO_CRE_FF_INDEX); + rd_cio_state(dev, head, regp, NV_CIO_CRE_FFLWM__INDEX); + rd_cio_state(dev, head, regp, NV_CIO_CRE_21); + if (dev_priv->card_type >= NV_30) + rd_cio_state(dev, head, regp, NV_CIO_CRE_47); + rd_cio_state(dev, head, regp, NV_CIO_CRE_49); + rd_cio_state(dev, head, regp, NV_CIO_CRE_HCUR_ADDR0_INDEX); + rd_cio_state(dev, head, regp, NV_CIO_CRE_HCUR_ADDR1_INDEX); + rd_cio_state(dev, head, regp, NV_CIO_CRE_HCUR_ADDR2_INDEX); + rd_cio_state(dev, head, regp, NV_CIO_CRE_ILACE__INDEX); + + if (dev_priv->card_type >= NV_10) { + regp->crtc_830 = NVReadCRTC(dev, head, NV_PCRTC_830); + regp->crtc_834 = NVReadCRTC(dev, head, NV_PCRTC_834); + + if (dev_priv->card_type >= NV_30) + regp->gpio_ext = NVReadCRTC(dev, head, NV_PCRTC_GPIO_EXT); + + if (dev_priv->card_type == NV_40) + regp->crtc_850 = NVReadCRTC(dev, head, NV_PCRTC_850); + + if (nv_two_heads(dev)) + regp->crtc_eng_ctrl = NVReadCRTC(dev, head, NV_PCRTC_ENGINE_CTRL); + regp->cursor_cfg = NVReadCRTC(dev, head, NV_PCRTC_CURSOR_CONFIG); + } + + regp->crtc_cfg = NVReadCRTC(dev, head, NV_PCRTC_CONFIG); + + rd_cio_state(dev, head, regp, NV_CIO_CRE_SCRATCH3__INDEX); + rd_cio_state(dev, head, regp, NV_CIO_CRE_SCRATCH4__INDEX); + if (dev_priv->card_type >= NV_10) { + rd_cio_state(dev, head, regp, NV_CIO_CRE_EBR_INDEX); + rd_cio_state(dev, head, regp, NV_CIO_CRE_CSB); + rd_cio_state(dev, head, regp, NV_CIO_CRE_4B); + rd_cio_state(dev, head, regp, NV_CIO_CRE_TVOUT_LATENCY); + } + /* NV11 and NV20 don't have this, they stop at 0x52. */ + if (nv_gf4_disp_arch(dev)) { + rd_cio_state(dev, head, regp, NV_CIO_CRE_53); + rd_cio_state(dev, head, regp, NV_CIO_CRE_54); + + for (i = 0; i < 0x10; i++) + regp->CR58[i] = NVReadVgaCrtc5758(dev, head, i); + rd_cio_state(dev, head, regp, NV_CIO_CRE_59); + rd_cio_state(dev, head, regp, NV_CIO_CRE_5B); + + rd_cio_state(dev, head, regp, NV_CIO_CRE_85); + rd_cio_state(dev, head, regp, NV_CIO_CRE_86); + } + + regp->fb_start = NVReadCRTC(dev, head, NV_PCRTC_START); +} + +static void +nv_load_state_ext(struct drm_device *dev, int head, + struct nv04_mode_state *state) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv04_crtc_reg *regp = &state->crtc_reg[head]; + uint32_t reg900; + int i; + + if (dev_priv->card_type >= NV_10) { + if (nv_two_heads(dev)) + /* setting ENGINE_CTRL (EC) *must* come before + * CIO_CRE_LCD, as writing CRE_LCD sets bits 16 & 17 in + * EC that should not be overwritten by writing stale EC + */ + NVWriteCRTC(dev, head, NV_PCRTC_ENGINE_CTRL, regp->crtc_eng_ctrl); + + nvWriteVIDEO(dev, NV_PVIDEO_STOP, 1); + nvWriteVIDEO(dev, NV_PVIDEO_INTR_EN, 0); + nvWriteVIDEO(dev, NV_PVIDEO_OFFSET_BUFF(0), 0); + nvWriteVIDEO(dev, NV_PVIDEO_OFFSET_BUFF(1), 0); + nvWriteVIDEO(dev, NV_PVIDEO_LIMIT(0), dev_priv->fb_available_size - 1); + nvWriteVIDEO(dev, NV_PVIDEO_LIMIT(1), dev_priv->fb_available_size - 1); + nvWriteVIDEO(dev, NV_PVIDEO_UVPLANE_LIMIT(0), dev_priv->fb_available_size - 1); + nvWriteVIDEO(dev, NV_PVIDEO_UVPLANE_LIMIT(1), dev_priv->fb_available_size - 1); + nvWriteMC(dev, NV_PBUS_POWERCTRL_2, 0); + + NVWriteCRTC(dev, head, NV_PCRTC_CURSOR_CONFIG, regp->cursor_cfg); + NVWriteCRTC(dev, head, NV_PCRTC_830, regp->crtc_830); + NVWriteCRTC(dev, head, NV_PCRTC_834, regp->crtc_834); + + if (dev_priv->card_type >= NV_30) + NVWriteCRTC(dev, head, NV_PCRTC_GPIO_EXT, regp->gpio_ext); + + if (dev_priv->card_type == NV_40) { + NVWriteCRTC(dev, head, NV_PCRTC_850, regp->crtc_850); + + reg900 = NVReadRAMDAC(dev, head, NV_PRAMDAC_900); + if (regp->crtc_cfg == NV_PCRTC_CONFIG_START_ADDRESS_HSYNC) + NVWriteRAMDAC(dev, head, NV_PRAMDAC_900, reg900 | 0x10000); + else + NVWriteRAMDAC(dev, head, NV_PRAMDAC_900, reg900 & ~0x10000); + } + } + + NVWriteCRTC(dev, head, NV_PCRTC_CONFIG, regp->crtc_cfg); + + wr_cio_state(dev, head, regp, NV_CIO_CRE_RPC0_INDEX); + wr_cio_state(dev, head, regp, NV_CIO_CRE_RPC1_INDEX); + wr_cio_state(dev, head, regp, NV_CIO_CRE_LSR_INDEX); + wr_cio_state(dev, head, regp, NV_CIO_CRE_PIXEL_INDEX); + wr_cio_state(dev, head, regp, NV_CIO_CRE_LCD__INDEX); + wr_cio_state(dev, head, regp, NV_CIO_CRE_HEB__INDEX); + wr_cio_state(dev, head, regp, NV_CIO_CRE_ENH_INDEX); + wr_cio_state(dev, head, regp, NV_CIO_CRE_FF_INDEX); + wr_cio_state(dev, head, regp, NV_CIO_CRE_FFLWM__INDEX); + if (dev_priv->card_type >= NV_30) + wr_cio_state(dev, head, regp, NV_CIO_CRE_47); + + wr_cio_state(dev, head, regp, NV_CIO_CRE_49); + wr_cio_state(dev, head, regp, NV_CIO_CRE_HCUR_ADDR0_INDEX); + wr_cio_state(dev, head, regp, NV_CIO_CRE_HCUR_ADDR1_INDEX); + wr_cio_state(dev, head, regp, NV_CIO_CRE_HCUR_ADDR2_INDEX); + if (dev_priv->card_type == NV_40) + nv_fix_nv40_hw_cursor(dev, head); + wr_cio_state(dev, head, regp, NV_CIO_CRE_ILACE__INDEX); + + wr_cio_state(dev, head, regp, NV_CIO_CRE_SCRATCH3__INDEX); + wr_cio_state(dev, head, regp, NV_CIO_CRE_SCRATCH4__INDEX); + if (dev_priv->card_type >= NV_10) { + wr_cio_state(dev, head, regp, NV_CIO_CRE_EBR_INDEX); + wr_cio_state(dev, head, regp, NV_CIO_CRE_CSB); + wr_cio_state(dev, head, regp, NV_CIO_CRE_4B); + wr_cio_state(dev, head, regp, NV_CIO_CRE_TVOUT_LATENCY); + } + /* NV11 and NV20 stop at 0x52. */ + if (nv_gf4_disp_arch(dev)) { + if (dev_priv->card_type == NV_10) { + /* Not waiting for vertical retrace before modifying + CRE_53/CRE_54 causes lockups. */ + nouveau_wait_until(dev, 650000000, NV_PRMCIO_INP0__COLOR, 0x8, 0x8); + nouveau_wait_until(dev, 650000000, NV_PRMCIO_INP0__COLOR, 0x8, 0x0); + } + + wr_cio_state(dev, head, regp, NV_CIO_CRE_53); + wr_cio_state(dev, head, regp, NV_CIO_CRE_54); + + for (i = 0; i < 0x10; i++) + NVWriteVgaCrtc5758(dev, head, i, regp->CR58[i]); + wr_cio_state(dev, head, regp, NV_CIO_CRE_59); + wr_cio_state(dev, head, regp, NV_CIO_CRE_5B); + + wr_cio_state(dev, head, regp, NV_CIO_CRE_85); + wr_cio_state(dev, head, regp, NV_CIO_CRE_86); + } + + NVWriteCRTC(dev, head, NV_PCRTC_START, regp->fb_start); + + /* Setting 1 on this value gives you interrupts for every vblank period. */ + NVWriteCRTC(dev, head, NV_PCRTC_INTR_EN_0, 0); + NVWriteCRTC(dev, head, NV_PCRTC_INTR_0, NV_PCRTC_INTR_0_VBLANK); +} + +static void +nv_save_state_palette(struct drm_device *dev, int head, + struct nv04_mode_state *state) +{ + int head_offset = head * NV_PRMDIO_SIZE, i; + + nv_wr08(dev, NV_PRMDIO_PIXEL_MASK + head_offset, + NV_PRMDIO_PIXEL_MASK_MASK); + nv_wr08(dev, NV_PRMDIO_READ_MODE_ADDRESS + head_offset, 0x0); + + for (i = 0; i < 768; i++) { + state->crtc_reg[head].DAC[i] = nv_rd08(dev, + NV_PRMDIO_PALETTE_DATA + head_offset); + } + + NVSetEnablePalette(dev, head, false); +} + +void +nouveau_hw_load_state_palette(struct drm_device *dev, int head, + struct nv04_mode_state *state) +{ + int head_offset = head * NV_PRMDIO_SIZE, i; + + nv_wr08(dev, NV_PRMDIO_PIXEL_MASK + head_offset, + NV_PRMDIO_PIXEL_MASK_MASK); + nv_wr08(dev, NV_PRMDIO_WRITE_MODE_ADDRESS + head_offset, 0x0); + + for (i = 0; i < 768; i++) { + nv_wr08(dev, NV_PRMDIO_PALETTE_DATA + head_offset, + state->crtc_reg[head].DAC[i]); + } + + NVSetEnablePalette(dev, head, false); +} + +void nouveau_hw_save_state(struct drm_device *dev, int head, + struct nv04_mode_state *state) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + if (dev_priv->chipset == 0x11) + /* NB: no attempt is made to restore the bad pll later on */ + nouveau_hw_fix_bad_vpll(dev, head); + nv_save_state_ramdac(dev, head, state); + nv_save_state_vga(dev, head, state); + nv_save_state_palette(dev, head, state); + nv_save_state_ext(dev, head, state); +} + +void nouveau_hw_load_state(struct drm_device *dev, int head, + struct nv04_mode_state *state) +{ + NVVgaProtect(dev, head, true); + nv_load_state_ramdac(dev, head, state); + nv_load_state_ext(dev, head, state); + nouveau_hw_load_state_palette(dev, head, state); + nv_load_state_vga(dev, head, state); + NVVgaProtect(dev, head, false); +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_hw.h +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_hw.h @@ -0,0 +1,455 @@ +/* + * Copyright 2008 Stuart Bennett + * + * 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 AUTHORS 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 __NOUVEAU_HW_H__ +#define __NOUVEAU_HW_H__ + +#include "drmP.h" +#include "nouveau_drv.h" + +#define MASK(field) ( \ + (0xffffffff >> (31 - ((1 ? field) - (0 ? field)))) << (0 ? field)) + +#define XLATE(src, srclowbit, outfield) ( \ + (((src) >> (srclowbit)) << (0 ? outfield)) & MASK(outfield)) + +void NVWriteVgaSeq(struct drm_device *, int head, uint8_t index, uint8_t value); +uint8_t NVReadVgaSeq(struct drm_device *, int head, uint8_t index); +void NVWriteVgaGr(struct drm_device *, int head, uint8_t index, uint8_t value); +uint8_t NVReadVgaGr(struct drm_device *, int head, uint8_t index); +void NVSetOwner(struct drm_device *, int owner); +void NVBlankScreen(struct drm_device *, int head, bool blank); +void nouveau_hw_setpll(struct drm_device *, uint32_t reg1, + struct nouveau_pll_vals *pv); +int nouveau_hw_get_pllvals(struct drm_device *, enum pll_types plltype, + struct nouveau_pll_vals *pllvals); +int nouveau_hw_pllvals_to_clk(struct nouveau_pll_vals *pllvals); +int nouveau_hw_get_clock(struct drm_device *, enum pll_types plltype); +void nouveau_hw_save_vga_fonts(struct drm_device *, bool save); +void nouveau_hw_save_state(struct drm_device *, int head, + struct nv04_mode_state *state); +void nouveau_hw_load_state(struct drm_device *, int head, + struct nv04_mode_state *state); +void nouveau_hw_load_state_palette(struct drm_device *, int head, + struct nv04_mode_state *state); + +/* nouveau_calc.c */ +extern void nouveau_calc_arb(struct drm_device *, int vclk, int bpp, + int *burst, int *lwm); +extern int nouveau_calc_pll_mnp(struct drm_device *, struct pll_lims *pll_lim, + int clk, struct nouveau_pll_vals *pv); + +static inline uint32_t +nvReadMC(struct drm_device *dev, uint32_t reg) +{ + uint32_t val = nv_rd32(dev, reg); + NV_REG_DEBUG(MC, dev, "reg %08x val %08x\n", reg, val); + return val; +} + +static inline void +nvWriteMC(struct drm_device *dev, uint32_t reg, uint32_t val) +{ + NV_REG_DEBUG(MC, dev, "reg %08x val %08x\n", reg, val); + nv_wr32(dev, reg, val); +} + +static inline uint32_t +nvReadVIDEO(struct drm_device *dev, uint32_t reg) +{ + uint32_t val = nv_rd32(dev, reg); + NV_REG_DEBUG(VIDEO, dev, "reg %08x val %08x\n", reg, val); + return val; +} + +static inline void +nvWriteVIDEO(struct drm_device *dev, uint32_t reg, uint32_t val) +{ + NV_REG_DEBUG(VIDEO, dev, "reg %08x val %08x\n", reg, val); + nv_wr32(dev, reg, val); +} + +static inline uint32_t +nvReadFB(struct drm_device *dev, uint32_t reg) +{ + uint32_t val = nv_rd32(dev, reg); + NV_REG_DEBUG(FB, dev, "reg %08x val %08x\n", reg, val); + return val; +} + +static inline void +nvWriteFB(struct drm_device *dev, uint32_t reg, uint32_t val) +{ + NV_REG_DEBUG(FB, dev, "reg %08x val %08x\n", reg, val); + nv_wr32(dev, reg, val); +} + +static inline uint32_t +nvReadEXTDEV(struct drm_device *dev, uint32_t reg) +{ + uint32_t val = nv_rd32(dev, reg); + NV_REG_DEBUG(EXTDEV, dev, "reg %08x val %08x\n", reg, val); + return val; +} + +static inline void +nvWriteEXTDEV(struct drm_device *dev, uint32_t reg, uint32_t val) +{ + NV_REG_DEBUG(EXTDEV, dev, "reg %08x val %08x\n", reg, val); + nv_wr32(dev, reg, val); +} + +static inline uint32_t NVReadCRTC(struct drm_device *dev, + int head, uint32_t reg) +{ + uint32_t val; + if (head) + reg += NV_PCRTC0_SIZE; + val = nv_rd32(dev, reg); + NV_REG_DEBUG(CRTC, dev, "head %d reg %08x val %08x\n", head, reg, val); + return val; +} + +static inline void NVWriteCRTC(struct drm_device *dev, + int head, uint32_t reg, uint32_t val) +{ + if (head) + reg += NV_PCRTC0_SIZE; + NV_REG_DEBUG(CRTC, dev, "head %d reg %08x val %08x\n", head, reg, val); + nv_wr32(dev, reg, val); +} + +static inline uint32_t NVReadRAMDAC(struct drm_device *dev, + int head, uint32_t reg) +{ + uint32_t val; + if (head) + reg += NV_PRAMDAC0_SIZE; + val = nv_rd32(dev, reg); + NV_REG_DEBUG(RAMDAC, dev, "head %d reg %08x val %08x\n", + head, reg, val); + return val; +} + +static inline void NVWriteRAMDAC(struct drm_device *dev, + int head, uint32_t reg, uint32_t val) +{ + if (head) + reg += NV_PRAMDAC0_SIZE; + NV_REG_DEBUG(RAMDAC, dev, "head %d reg %08x val %08x\n", + head, reg, val); + nv_wr32(dev, reg, val); +} + +static inline uint8_t nv_read_tmds(struct drm_device *dev, + int or, int dl, uint8_t address) +{ + int ramdac = (or & OUTPUT_C) >> 2; + + NVWriteRAMDAC(dev, ramdac, NV_PRAMDAC_FP_TMDS_CONTROL + dl * 8, + NV_PRAMDAC_FP_TMDS_CONTROL_WRITE_DISABLE | address); + return NVReadRAMDAC(dev, ramdac, NV_PRAMDAC_FP_TMDS_DATA + dl * 8); +} + +static inline void nv_write_tmds(struct drm_device *dev, + int or, int dl, uint8_t address, + uint8_t data) +{ + int ramdac = (or & OUTPUT_C) >> 2; + + NVWriteRAMDAC(dev, ramdac, NV_PRAMDAC_FP_TMDS_DATA + dl * 8, data); + NVWriteRAMDAC(dev, ramdac, NV_PRAMDAC_FP_TMDS_CONTROL + dl * 8, address); +} + +static inline void NVWriteVgaCrtc(struct drm_device *dev, + int head, uint8_t index, uint8_t value) +{ + NV_REG_DEBUG(VGACRTC, dev, "head %d index 0x%02x data 0x%02x\n", + head, index, value); + nv_wr08(dev, NV_PRMCIO_CRX__COLOR + head * NV_PRMCIO_SIZE, index); + nv_wr08(dev, NV_PRMCIO_CR__COLOR + head * NV_PRMCIO_SIZE, value); +} + +static inline uint8_t NVReadVgaCrtc(struct drm_device *dev, + int head, uint8_t index) +{ + uint8_t val; + nv_wr08(dev, NV_PRMCIO_CRX__COLOR + head * NV_PRMCIO_SIZE, index); + val = nv_rd08(dev, NV_PRMCIO_CR__COLOR + head * NV_PRMCIO_SIZE); + NV_REG_DEBUG(VGACRTC, dev, "head %d index 0x%02x data 0x%02x\n", + head, index, val); + return val; +} + +/* CR57 and CR58 are a fun pair of regs. CR57 provides an index (0-0xf) for CR58 + * I suspect they in fact do nothing, but are merely a way to carry useful + * per-head variables around + * + * Known uses: + * CR57 CR58 + * 0x00 index to the appropriate dcb entry (or 7f for inactive) + * 0x02 dcb entry's "or" value (or 00 for inactive) + * 0x03 bit0 set for dual link (LVDS, possibly elsewhere too) + * 0x08 or 0x09 pxclk in MHz + * 0x0f laptop panel info - low nibble for PEXTDEV_BOOT_0 strap + * high nibble for xlat strap value + */ + +static inline void +NVWriteVgaCrtc5758(struct drm_device *dev, int head, uint8_t index, uint8_t value) +{ + NVWriteVgaCrtc(dev, head, NV_CIO_CRE_57, index); + NVWriteVgaCrtc(dev, head, NV_CIO_CRE_58, value); +} + +static inline uint8_t NVReadVgaCrtc5758(struct drm_device *dev, int head, uint8_t index) +{ + NVWriteVgaCrtc(dev, head, NV_CIO_CRE_57, index); + return NVReadVgaCrtc(dev, head, NV_CIO_CRE_58); +} + +static inline uint8_t NVReadPRMVIO(struct drm_device *dev, + int head, uint32_t reg) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint8_t val; + + /* Only NV4x have two pvio ranges; other twoHeads cards MUST call + * NVSetOwner for the relevant head to be programmed */ + if (head && dev_priv->card_type == NV_40) + reg += NV_PRMVIO_SIZE; + + val = nv_rd08(dev, reg); + NV_REG_DEBUG(RMVIO, dev, "head %d reg %08x val %02x\n", head, reg, val); + return val; +} + +static inline void NVWritePRMVIO(struct drm_device *dev, + int head, uint32_t reg, uint8_t value) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + /* Only NV4x have two pvio ranges; other twoHeads cards MUST call + * NVSetOwner for the relevant head to be programmed */ + if (head && dev_priv->card_type == NV_40) + reg += NV_PRMVIO_SIZE; + + NV_REG_DEBUG(RMVIO, dev, "head %d reg %08x val %02x\n", + head, reg, value); + nv_wr08(dev, reg, value); +} + +static inline void NVSetEnablePalette(struct drm_device *dev, int head, bool enable) +{ + nv_rd08(dev, NV_PRMCIO_INP0__COLOR + head * NV_PRMCIO_SIZE); + nv_wr08(dev, NV_PRMCIO_ARX + head * NV_PRMCIO_SIZE, enable ? 0 : 0x20); +} + +static inline bool NVGetEnablePalette(struct drm_device *dev, int head) +{ + nv_rd08(dev, NV_PRMCIO_INP0__COLOR + head * NV_PRMCIO_SIZE); + return !(nv_rd08(dev, NV_PRMCIO_ARX + head * NV_PRMCIO_SIZE) & 0x20); +} + +static inline void NVWriteVgaAttr(struct drm_device *dev, + int head, uint8_t index, uint8_t value) +{ + if (NVGetEnablePalette(dev, head)) + index &= ~0x20; + else + index |= 0x20; + + nv_rd08(dev, NV_PRMCIO_INP0__COLOR + head * NV_PRMCIO_SIZE); + NV_REG_DEBUG(VGAATTR, dev, "head %d index 0x%02x data 0x%02x\n", + head, index, value); + nv_wr08(dev, NV_PRMCIO_ARX + head * NV_PRMCIO_SIZE, index); + nv_wr08(dev, NV_PRMCIO_AR__WRITE + head * NV_PRMCIO_SIZE, value); +} + +static inline uint8_t NVReadVgaAttr(struct drm_device *dev, + int head, uint8_t index) +{ + uint8_t val; + if (NVGetEnablePalette(dev, head)) + index &= ~0x20; + else + index |= 0x20; + + nv_rd08(dev, NV_PRMCIO_INP0__COLOR + head * NV_PRMCIO_SIZE); + nv_wr08(dev, NV_PRMCIO_ARX + head * NV_PRMCIO_SIZE, index); + val = nv_rd08(dev, NV_PRMCIO_AR__READ + head * NV_PRMCIO_SIZE); + NV_REG_DEBUG(VGAATTR, dev, "head %d index 0x%02x data 0x%02x\n", + head, index, val); + return val; +} + +static inline void NVVgaSeqReset(struct drm_device *dev, int head, bool start) +{ + NVWriteVgaSeq(dev, head, NV_VIO_SR_RESET_INDEX, start ? 0x1 : 0x3); +} + +static inline void NVVgaProtect(struct drm_device *dev, int head, bool protect) +{ + uint8_t seq1 = NVReadVgaSeq(dev, head, NV_VIO_SR_CLOCK_INDEX); + + if (protect) { + NVVgaSeqReset(dev, head, true); + NVWriteVgaSeq(dev, head, NV_VIO_SR_CLOCK_INDEX, seq1 | 0x20); + } else { + /* Reenable sequencer, then turn on screen */ + NVWriteVgaSeq(dev, head, NV_VIO_SR_CLOCK_INDEX, seq1 & ~0x20); /* reenable display */ + NVVgaSeqReset(dev, head, false); + } + NVSetEnablePalette(dev, head, protect); +} + +static inline bool +nv_heads_tied(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + if (dev_priv->chipset == 0x11) + return !!(nvReadMC(dev, NV_PBUS_DEBUG_1) & (1 << 28)); + + return NVReadVgaCrtc(dev, 0, NV_CIO_CRE_44) & 0x4; +} + +/* makes cr0-7 on the specified head read-only */ +static inline bool +nv_lock_vga_crtc_base(struct drm_device *dev, int head, bool lock) +{ + uint8_t cr11 = NVReadVgaCrtc(dev, head, NV_CIO_CR_VRE_INDEX); + bool waslocked = cr11 & 0x80; + + if (lock) + cr11 |= 0x80; + else + cr11 &= ~0x80; + NVWriteVgaCrtc(dev, head, NV_CIO_CR_VRE_INDEX, cr11); + + return waslocked; +} + +static inline void +nv_lock_vga_crtc_shadow(struct drm_device *dev, int head, int lock) +{ + /* shadow lock: connects 0x60?3d? regs to "real" 0x3d? regs + * bit7: unlocks HDT, HBS, HBE, HRS, HRE, HEB + * bit6: seems to have some effect on CR09 (double scan, VBS_9) + * bit5: unlocks HDE + * bit4: unlocks VDE + * bit3: unlocks VDT, OVL, VRS, ?VRE?, VBS, VBE, LSR, EBR + * bit2: same as bit 1 of 0x60?804 + * bit0: same as bit 0 of 0x60?804 + */ + + uint8_t cr21 = lock; + + if (lock < 0) + /* 0xfa is generic "unlock all" mask */ + cr21 = NVReadVgaCrtc(dev, head, NV_CIO_CRE_21) | 0xfa; + + NVWriteVgaCrtc(dev, head, NV_CIO_CRE_21, cr21); +} + +/* renders the extended crtc regs (cr19+) on all crtcs impervious: + * immutable and unreadable + */ +static inline bool +NVLockVgaCrtcs(struct drm_device *dev, bool lock) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + bool waslocked = !NVReadVgaCrtc(dev, 0, NV_CIO_SR_LOCK_INDEX); + + NVWriteVgaCrtc(dev, 0, NV_CIO_SR_LOCK_INDEX, + lock ? NV_CIO_SR_LOCK_VALUE : NV_CIO_SR_UNLOCK_RW_VALUE); + /* NV11 has independently lockable extended crtcs, except when tied */ + if (dev_priv->chipset == 0x11 && !nv_heads_tied(dev)) + NVWriteVgaCrtc(dev, 1, NV_CIO_SR_LOCK_INDEX, + lock ? NV_CIO_SR_LOCK_VALUE : + NV_CIO_SR_UNLOCK_RW_VALUE); + + return waslocked; +} + +/* nv04 cursor max dimensions of 32x32 (A1R5G5B5) */ +#define NV04_CURSOR_SIZE 32 +/* limit nv10 cursors to 64x64 (ARGB8) (we could go to 64x255) */ +#define NV10_CURSOR_SIZE 64 + +static inline int nv_cursor_width(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + return dev_priv->card_type >= NV_10 ? NV10_CURSOR_SIZE : NV04_CURSOR_SIZE; +} + +static inline void +nv_fix_nv40_hw_cursor(struct drm_device *dev, int head) +{ + /* on some nv40 (such as the "true" (in the NV_PFB_BOOT_0 sense) nv40, + * the gf6800gt) a hardware bug requires a write to PRAMDAC_CURSOR_POS + * for changes to the CRTC CURCTL regs to take effect, whether changing + * the pixmap location, or just showing/hiding the cursor + */ + uint32_t curpos = NVReadRAMDAC(dev, head, NV_PRAMDAC_CU_START_POS); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_CU_START_POS, curpos); +} + +static inline void +nv_show_cursor(struct drm_device *dev, int head, bool show) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint8_t *curctl1 = + &dev_priv->mode_reg.crtc_reg[head].CRTC[NV_CIO_CRE_HCUR_ADDR1_INDEX]; + + if (show) + *curctl1 |= MASK(NV_CIO_CRE_HCUR_ADDR1_ENABLE); + else + *curctl1 &= ~MASK(NV_CIO_CRE_HCUR_ADDR1_ENABLE); + NVWriteVgaCrtc(dev, head, NV_CIO_CRE_HCUR_ADDR1_INDEX, *curctl1); + + if (dev_priv->card_type == NV_40) + nv_fix_nv40_hw_cursor(dev, head); +} + +static inline uint32_t +nv_pitch_align(struct drm_device *dev, uint32_t width, int bpp) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + int mask; + + if (bpp == 15) + bpp = 16; + if (bpp == 24) + bpp = 8; + + /* Alignment requirements taken from the Haiku driver */ + if (dev_priv->card_type == NV_04) + mask = 128 / bpp - 1; + else + mask = 512 / bpp - 1; + + return (width + mask) & ~mask; +} + +#endif /* __NOUVEAU_HW_H__ */ --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_i2c.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_i2c.c @@ -0,0 +1,269 @@ +/* + * Copyright 2009 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 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. + * + * Authors: Ben Skeggs + */ + +#include "drmP.h" +#include "nouveau_drv.h" +#include "nouveau_i2c.h" +#include "nouveau_hw.h" + +static void +nv04_i2c_setscl(void *data, int state) +{ + struct nouveau_i2c_chan *i2c = data; + struct drm_device *dev = i2c->dev; + uint8_t val; + + val = (NVReadVgaCrtc(dev, 0, i2c->wr) & 0xd0) | (state ? 0x20 : 0); + NVWriteVgaCrtc(dev, 0, i2c->wr, val | 0x01); +} + +static void +nv04_i2c_setsda(void *data, int state) +{ + struct nouveau_i2c_chan *i2c = data; + struct drm_device *dev = i2c->dev; + uint8_t val; + + val = (NVReadVgaCrtc(dev, 0, i2c->wr) & 0xe0) | (state ? 0x10 : 0); + NVWriteVgaCrtc(dev, 0, i2c->wr, val | 0x01); +} + +static int +nv04_i2c_getscl(void *data) +{ + struct nouveau_i2c_chan *i2c = data; + struct drm_device *dev = i2c->dev; + + return !!(NVReadVgaCrtc(dev, 0, i2c->rd) & 4); +} + +static int +nv04_i2c_getsda(void *data) +{ + struct nouveau_i2c_chan *i2c = data; + struct drm_device *dev = i2c->dev; + + return !!(NVReadVgaCrtc(dev, 0, i2c->rd) & 8); +} + +static void +nv4e_i2c_setscl(void *data, int state) +{ + struct nouveau_i2c_chan *i2c = data; + struct drm_device *dev = i2c->dev; + uint8_t val; + + val = (nv_rd32(dev, i2c->wr) & 0xd0) | (state ? 0x20 : 0); + nv_wr32(dev, i2c->wr, val | 0x01); +} + +static void +nv4e_i2c_setsda(void *data, int state) +{ + struct nouveau_i2c_chan *i2c = data; + struct drm_device *dev = i2c->dev; + uint8_t val; + + val = (nv_rd32(dev, i2c->wr) & 0xe0) | (state ? 0x10 : 0); + nv_wr32(dev, i2c->wr, val | 0x01); +} + +static int +nv4e_i2c_getscl(void *data) +{ + struct nouveau_i2c_chan *i2c = data; + struct drm_device *dev = i2c->dev; + + return !!((nv_rd32(dev, i2c->rd) >> 16) & 4); +} + +static int +nv4e_i2c_getsda(void *data) +{ + struct nouveau_i2c_chan *i2c = data; + struct drm_device *dev = i2c->dev; + + return !!((nv_rd32(dev, i2c->rd) >> 16) & 8); +} + +static int +nv50_i2c_getscl(void *data) +{ + struct nouveau_i2c_chan *i2c = data; + struct drm_device *dev = i2c->dev; + + return !!(nv_rd32(dev, i2c->rd) & 1); +} + + +static int +nv50_i2c_getsda(void *data) +{ + struct nouveau_i2c_chan *i2c = data; + struct drm_device *dev = i2c->dev; + + return !!(nv_rd32(dev, i2c->rd) & 2); +} + +static void +nv50_i2c_setscl(void *data, int state) +{ + struct nouveau_i2c_chan *i2c = data; + struct drm_device *dev = i2c->dev; + + nv_wr32(dev, i2c->wr, 4 | (i2c->data ? 2 : 0) | (state ? 1 : 0)); +} + +static void +nv50_i2c_setsda(void *data, int state) +{ + struct nouveau_i2c_chan *i2c = data; + struct drm_device *dev = i2c->dev; + + nv_wr32(dev, i2c->wr, + (nv_rd32(dev, i2c->rd) & 1) | 4 | (state ? 2 : 0)); + i2c->data = state; +} + +static const uint32_t nv50_i2c_port[] = { + 0x00e138, 0x00e150, 0x00e168, 0x00e180, + 0x00e254, 0x00e274, 0x00e764, 0x00e780, + 0x00e79c, 0x00e7b8 +}; +#define NV50_I2C_PORTS ARRAY_SIZE(nv50_i2c_port) + +int +nouveau_i2c_init(struct drm_device *dev, struct dcb_i2c_entry *entry, int index) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_i2c_chan *i2c; + int ret; + + if (entry->chan) + return -EEXIST; + + if (dev_priv->card_type == NV_50 && entry->read >= NV50_I2C_PORTS) { + NV_ERROR(dev, "unknown i2c port %d\n", entry->read); + return -EINVAL; + } + + i2c = kzalloc(sizeof(*i2c), GFP_KERNEL); + if (i2c == NULL) + return -ENOMEM; + + switch (entry->port_type) { + case 0: + i2c->algo.bit.setsda = nv04_i2c_setsda; + i2c->algo.bit.setscl = nv04_i2c_setscl; + i2c->algo.bit.getsda = nv04_i2c_getsda; + i2c->algo.bit.getscl = nv04_i2c_getscl; + i2c->rd = entry->read; + i2c->wr = entry->write; + break; + case 4: + i2c->algo.bit.setsda = nv4e_i2c_setsda; + i2c->algo.bit.setscl = nv4e_i2c_setscl; + i2c->algo.bit.getsda = nv4e_i2c_getsda; + i2c->algo.bit.getscl = nv4e_i2c_getscl; + i2c->rd = 0x600800 + entry->read; + i2c->wr = 0x600800 + entry->write; + break; + case 5: + i2c->algo.bit.setsda = nv50_i2c_setsda; + i2c->algo.bit.setscl = nv50_i2c_setscl; + i2c->algo.bit.getsda = nv50_i2c_getsda; + i2c->algo.bit.getscl = nv50_i2c_getscl; + i2c->rd = nv50_i2c_port[entry->read]; + i2c->wr = i2c->rd; + break; + case 6: + i2c->rd = entry->read; + i2c->wr = entry->write; + break; + default: + NV_ERROR(dev, "DCB I2C port type %d unknown\n", + entry->port_type); + kfree(i2c); + return -EINVAL; + } + + snprintf(i2c->adapter.name, sizeof(i2c->adapter.name), + "nouveau-%s-%d", pci_name(dev->pdev), index); + i2c->adapter.owner = THIS_MODULE; + i2c->adapter.dev.parent = &dev->pdev->dev; + i2c->dev = dev; + i2c_set_adapdata(&i2c->adapter, i2c); + + if (entry->port_type < 6) { + i2c->adapter.algo_data = &i2c->algo.bit; + i2c->algo.bit.udelay = 40; + i2c->algo.bit.timeout = usecs_to_jiffies(5000); + i2c->algo.bit.data = i2c; + ret = i2c_bit_add_bus(&i2c->adapter); + } else { + i2c->adapter.algo_data = &i2c->algo.dp; + i2c->algo.dp.running = false; + i2c->algo.dp.address = 0; + i2c->algo.dp.aux_ch = nouveau_dp_i2c_aux_ch; + ret = i2c_dp_aux_add_bus(&i2c->adapter); + } + + if (ret) { + NV_ERROR(dev, "Failed to register i2c %d\n", index); + kfree(i2c); + return ret; + } + + entry->chan = i2c; + return 0; +} + +void +nouveau_i2c_fini(struct drm_device *dev, struct dcb_i2c_entry *entry) +{ + if (!entry->chan) + return; + + i2c_del_adapter(&entry->chan->adapter); + kfree(entry->chan); + entry->chan = NULL; +} + +struct nouveau_i2c_chan * +nouveau_i2c_find(struct drm_device *dev, int index) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nvbios *bios = &dev_priv->VBIOS; + + if (index > DCB_MAX_NUM_I2C_ENTRIES) + return NULL; + + if (!bios->bdcb.dcb.i2c[index].chan) { + if (nouveau_i2c_init(dev, &bios->bdcb.dcb.i2c[index], index)) + return NULL; + } + + return bios->bdcb.dcb.i2c[index].chan; +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_i2c.h +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_i2c.h @@ -0,0 +1,52 @@ +/* + * Copyright 2009 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 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 __NOUVEAU_I2C_H__ +#define __NOUVEAU_I2C_H__ + +#include +#include +#include +#include "drm_dp_helper.h" + +struct dcb_i2c_entry; + +struct nouveau_i2c_chan { + struct i2c_adapter adapter; + struct drm_device *dev; + union { + struct i2c_algo_bit_data bit; + struct i2c_algo_dp_aux_data dp; + } algo; + unsigned rd; + unsigned wr; + unsigned data; +}; + +int nouveau_i2c_init(struct drm_device *, struct dcb_i2c_entry *, int index); +void nouveau_i2c_fini(struct drm_device *, struct dcb_i2c_entry *); +struct nouveau_i2c_chan *nouveau_i2c_find(struct drm_device *, int index); + +int nouveau_dp_i2c_aux_ch(struct i2c_adapter *, int mode, uint8_t write_byte, + uint8_t *read_byte); + +#endif /* __NOUVEAU_I2C_H__ */ --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_irq.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_irq.c @@ -0,0 +1,737 @@ +/* + * Copyright (C) 2006 Ben Skeggs. + * + * 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 COPYRIGHT OWNER(S) 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: + * Ben Skeggs + */ + +#include "drmP.h" +#include "drm.h" +#include "nouveau_drm.h" +#include "nouveau_drv.h" +#include "nouveau_reg.h" +#include + +/* needed for hotplug irq */ +#include "nouveau_connector.h" +#include "nv50_display.h" + +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); + + if (dev_priv->card_type == NV_50) { + INIT_WORK(&dev_priv->irq_work, nv50_display_irq_handler_bh); + INIT_LIST_HEAD(&dev_priv->vbl_waiting); + } +} + +int +nouveau_irq_postinstall(struct drm_device *dev) +{ + /* Master enable */ + nv_wr32(dev, NV03_PMC_INTR_EN_0, NV_PMC_INTR_EN_0_MASTER_ENABLE); + return 0; +} + +void +nouveau_irq_uninstall(struct drm_device *dev) +{ + /* Master disable */ + nv_wr32(dev, NV03_PMC_INTR_EN_0, 0); +} + +static int +nouveau_call_method(struct nouveau_channel *chan, int class, int mthd, int data) +{ + struct drm_nouveau_private *dev_priv = chan->dev->dev_private; + struct nouveau_pgraph_object_method *grm; + struct nouveau_pgraph_object_class *grc; + + grc = dev_priv->engine.graph.grclass; + while (grc->id) { + if (grc->id == class) + break; + grc++; + } + + if (grc->id != class || !grc->methods) + return -ENOENT; + + grm = grc->methods; + while (grm->id) { + if (grm->id == mthd) + return grm->exec(chan, class, mthd, data); + grm++; + } + + return -ENOENT; +} + +static bool +nouveau_fifo_swmthd(struct nouveau_channel *chan, uint32_t addr, uint32_t data) +{ + struct drm_device *dev = chan->dev; + const int subc = (addr >> 13) & 0x7; + const int mthd = addr & 0x1ffc; + + if (mthd == 0x0000) { + struct nouveau_gpuobj_ref *ref = NULL; + + if (nouveau_gpuobj_ref_find(chan, data, &ref)) + return false; + + if (ref->gpuobj->engine != NVOBJ_ENGINE_SW) + return false; + + chan->sw_subchannel[subc] = ref->gpuobj->class; + nv_wr32(dev, NV04_PFIFO_CACHE1_ENGINE, nv_rd32(dev, + NV04_PFIFO_CACHE1_ENGINE) & ~(0xf << subc * 4)); + return true; + } + + /* hw object */ + if (nv_rd32(dev, NV04_PFIFO_CACHE1_ENGINE) & (1 << (subc*4))) + return false; + + if (nouveau_call_method(chan, chan->sw_subchannel[subc], mthd, data)) + return false; + + return true; +} + +static void +nouveau_fifo_irq_handler(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_engine *engine = &dev_priv->engine; + uint32_t status, reassign; + int cnt = 0; + + reassign = nv_rd32(dev, NV03_PFIFO_CACHES) & 1; + while ((status = nv_rd32(dev, NV03_PFIFO_INTR_0)) && (cnt++ < 100)) { + struct nouveau_channel *chan = NULL; + uint32_t chid, get; + + nv_wr32(dev, NV03_PFIFO_CACHES, 0); + + chid = engine->fifo.channel_id(dev); + if (chid >= 0 && chid < engine->fifo.channels) + chan = dev_priv->fifos[chid]; + get = nv_rd32(dev, NV03_PFIFO_CACHE1_GET); + + if (status & NV_PFIFO_INTR_CACHE_ERROR) { + uint32_t mthd, data; + int ptr; + + /* NV_PFIFO_CACHE1_GET actually goes to 0xffc before + * wrapping on my G80 chips, but CACHE1 isn't big + * enough for this much data.. Tests show that it + * wraps around to the start at GET=0x800.. No clue + * as to why.. + */ + ptr = (get & 0x7ff) >> 2; + + if (dev_priv->card_type < NV_40) { + mthd = nv_rd32(dev, + NV04_PFIFO_CACHE1_METHOD(ptr)); + data = nv_rd32(dev, + NV04_PFIFO_CACHE1_DATA(ptr)); + } else { + mthd = nv_rd32(dev, + NV40_PFIFO_CACHE1_METHOD(ptr)); + data = nv_rd32(dev, + NV40_PFIFO_CACHE1_DATA(ptr)); + } + + if (!chan || !nouveau_fifo_swmthd(chan, mthd, data)) { + NV_INFO(dev, "PFIFO_CACHE_ERROR - Ch %d/%d " + "Mthd 0x%04x Data 0x%08x\n", + chid, (mthd >> 13) & 7, mthd & 0x1ffc, + data); + } + + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_PUSH, 0); + nv_wr32(dev, NV03_PFIFO_INTR_0, + NV_PFIFO_INTR_CACHE_ERROR); + + nv_wr32(dev, NV03_PFIFO_CACHE1_PUSH0, + nv_rd32(dev, NV03_PFIFO_CACHE1_PUSH0) & ~1); + nv_wr32(dev, NV03_PFIFO_CACHE1_GET, get + 4); + nv_wr32(dev, NV03_PFIFO_CACHE1_PUSH0, + nv_rd32(dev, NV03_PFIFO_CACHE1_PUSH0) | 1); + nv_wr32(dev, NV04_PFIFO_CACHE1_HASH, 0); + + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_PUSH, + nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_PUSH) | 1); + nv_wr32(dev, NV04_PFIFO_CACHE1_PULL0, 1); + + status &= ~NV_PFIFO_INTR_CACHE_ERROR; + } + + if (status & NV_PFIFO_INTR_DMA_PUSHER) { + NV_INFO(dev, "PFIFO_DMA_PUSHER - Ch %d\n", chid); + + status &= ~NV_PFIFO_INTR_DMA_PUSHER; + nv_wr32(dev, NV03_PFIFO_INTR_0, + NV_PFIFO_INTR_DMA_PUSHER); + + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_STATE, 0x00000000); + if (nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_PUT) != get) + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_GET, + get + 4); + } + + if (status & NV_PFIFO_INTR_SEMAPHORE) { + uint32_t sem; + + status &= ~NV_PFIFO_INTR_SEMAPHORE; + nv_wr32(dev, NV03_PFIFO_INTR_0, + NV_PFIFO_INTR_SEMAPHORE); + + sem = nv_rd32(dev, NV10_PFIFO_CACHE1_SEMAPHORE); + nv_wr32(dev, NV10_PFIFO_CACHE1_SEMAPHORE, sem | 0x1); + + nv_wr32(dev, NV03_PFIFO_CACHE1_GET, get + 4); + nv_wr32(dev, NV04_PFIFO_CACHE1_PULL0, 1); + } + + if (status) { + NV_INFO(dev, "PFIFO_INTR 0x%08x - Ch %d\n", + status, chid); + nv_wr32(dev, NV03_PFIFO_INTR_0, status); + status = 0; + } + + nv_wr32(dev, NV03_PFIFO_CACHES, reassign); + } + + if (status) { + NV_INFO(dev, "PFIFO still angry after %d spins, halt\n", cnt); + nv_wr32(dev, 0x2140, 0); + nv_wr32(dev, 0x140, 0); + } + + nv_wr32(dev, NV03_PMC_INTR_0, NV_PMC_INTR_0_PFIFO_PENDING); +} + +struct nouveau_bitfield_names { + uint32_t mask; + const char *name; +}; + +static struct nouveau_bitfield_names nstatus_names[] = +{ + { NV04_PGRAPH_NSTATUS_STATE_IN_USE, "STATE_IN_USE" }, + { NV04_PGRAPH_NSTATUS_INVALID_STATE, "INVALID_STATE" }, + { NV04_PGRAPH_NSTATUS_BAD_ARGUMENT, "BAD_ARGUMENT" }, + { NV04_PGRAPH_NSTATUS_PROTECTION_FAULT, "PROTECTION_FAULT" } +}; + +static struct nouveau_bitfield_names nstatus_names_nv10[] = +{ + { NV10_PGRAPH_NSTATUS_STATE_IN_USE, "STATE_IN_USE" }, + { NV10_PGRAPH_NSTATUS_INVALID_STATE, "INVALID_STATE" }, + { NV10_PGRAPH_NSTATUS_BAD_ARGUMENT, "BAD_ARGUMENT" }, + { NV10_PGRAPH_NSTATUS_PROTECTION_FAULT, "PROTECTION_FAULT" } +}; + +static struct nouveau_bitfield_names nsource_names[] = +{ + { NV03_PGRAPH_NSOURCE_NOTIFICATION, "NOTIFICATION" }, + { NV03_PGRAPH_NSOURCE_DATA_ERROR, "DATA_ERROR" }, + { NV03_PGRAPH_NSOURCE_PROTECTION_ERROR, "PROTECTION_ERROR" }, + { NV03_PGRAPH_NSOURCE_RANGE_EXCEPTION, "RANGE_EXCEPTION" }, + { NV03_PGRAPH_NSOURCE_LIMIT_COLOR, "LIMIT_COLOR" }, + { NV03_PGRAPH_NSOURCE_LIMIT_ZETA, "LIMIT_ZETA" }, + { NV03_PGRAPH_NSOURCE_ILLEGAL_MTHD, "ILLEGAL_MTHD" }, + { NV03_PGRAPH_NSOURCE_DMA_R_PROTECTION, "DMA_R_PROTECTION" }, + { NV03_PGRAPH_NSOURCE_DMA_W_PROTECTION, "DMA_W_PROTECTION" }, + { NV03_PGRAPH_NSOURCE_FORMAT_EXCEPTION, "FORMAT_EXCEPTION" }, + { NV03_PGRAPH_NSOURCE_PATCH_EXCEPTION, "PATCH_EXCEPTION" }, + { NV03_PGRAPH_NSOURCE_STATE_INVALID, "STATE_INVALID" }, + { NV03_PGRAPH_NSOURCE_DOUBLE_NOTIFY, "DOUBLE_NOTIFY" }, + { NV03_PGRAPH_NSOURCE_NOTIFY_IN_USE, "NOTIFY_IN_USE" }, + { NV03_PGRAPH_NSOURCE_METHOD_CNT, "METHOD_CNT" }, + { NV03_PGRAPH_NSOURCE_BFR_NOTIFICATION, "BFR_NOTIFICATION" }, + { NV03_PGRAPH_NSOURCE_DMA_VTX_PROTECTION, "DMA_VTX_PROTECTION" }, + { NV03_PGRAPH_NSOURCE_DMA_WIDTH_A, "DMA_WIDTH_A" }, + { NV03_PGRAPH_NSOURCE_DMA_WIDTH_B, "DMA_WIDTH_B" }, +}; + +static void +nouveau_print_bitfield_names_(uint32_t value, + const struct nouveau_bitfield_names *namelist, + const int namelist_len) +{ + /* + * Caller must have already printed the KERN_* log level for us. + * Also the caller is responsible for adding the newline. + */ + int i; + for (i = 0; i < namelist_len; ++i) { + uint32_t mask = namelist[i].mask; + if (value & mask) { + printk(" %s", namelist[i].name); + value &= ~mask; + } + } + if (value) + printk(" (unknown bits 0x%08x)", value); +} +#define nouveau_print_bitfield_names(val, namelist) \ + nouveau_print_bitfield_names_((val), (namelist), ARRAY_SIZE(namelist)) + + +static int +nouveau_graph_chid_from_grctx(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t inst; + int i; + + if (dev_priv->card_type < NV_40) + return dev_priv->engine.fifo.channels; + else + if (dev_priv->card_type < NV_50) { + inst = (nv_rd32(dev, 0x40032c) & 0xfffff) << 4; + + for (i = 0; i < dev_priv->engine.fifo.channels; i++) { + struct nouveau_channel *chan = dev_priv->fifos[i]; + + if (!chan || !chan->ramin_grctx) + continue; + + if (inst == chan->ramin_grctx->instance) + break; + } + } else { + inst = (nv_rd32(dev, 0x40032c) & 0xfffff) << 12; + + for (i = 0; i < dev_priv->engine.fifo.channels; i++) { + struct nouveau_channel *chan = dev_priv->fifos[i]; + + if (!chan || !chan->ramin) + continue; + + if (inst == chan->ramin->instance) + break; + } + } + + + return i; +} + +static int +nouveau_graph_trapped_channel(struct drm_device *dev, int *channel_ret) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_engine *engine = &dev_priv->engine; + int channel; + + if (dev_priv->card_type < NV_10) + channel = (nv_rd32(dev, NV04_PGRAPH_TRAPPED_ADDR) >> 24) & 0xf; + else + if (dev_priv->card_type < NV_40) + channel = (nv_rd32(dev, NV04_PGRAPH_TRAPPED_ADDR) >> 20) & 0x1f; + else + channel = nouveau_graph_chid_from_grctx(dev); + + if (channel >= engine->fifo.channels || !dev_priv->fifos[channel]) { + NV_ERROR(dev, "AIII, invalid/inactive channel id %d\n", channel); + return -EINVAL; + } + + *channel_ret = channel; + return 0; +} + +struct nouveau_pgraph_trap { + int channel; + int class; + int subc, mthd, size; + uint32_t data, data2; + uint32_t nsource, nstatus; +}; + +static void +nouveau_graph_trap_info(struct drm_device *dev, + struct nouveau_pgraph_trap *trap) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t address; + + trap->nsource = trap->nstatus = 0; + if (dev_priv->card_type < NV_50) { + trap->nsource = nv_rd32(dev, NV03_PGRAPH_NSOURCE); + trap->nstatus = nv_rd32(dev, NV03_PGRAPH_NSTATUS); + } + + if (nouveau_graph_trapped_channel(dev, &trap->channel)) + trap->channel = -1; + address = nv_rd32(dev, NV04_PGRAPH_TRAPPED_ADDR); + + trap->mthd = address & 0x1FFC; + trap->data = nv_rd32(dev, NV04_PGRAPH_TRAPPED_DATA); + if (dev_priv->card_type < NV_10) { + trap->subc = (address >> 13) & 0x7; + } else { + trap->subc = (address >> 16) & 0x7; + trap->data2 = nv_rd32(dev, NV10_PGRAPH_TRAPPED_DATA_HIGH); + } + + if (dev_priv->card_type < NV_10) + trap->class = nv_rd32(dev, 0x400180 + trap->subc*4) & 0xFF; + else if (dev_priv->card_type < NV_40) + trap->class = nv_rd32(dev, 0x400160 + trap->subc*4) & 0xFFF; + else if (dev_priv->card_type < NV_50) + trap->class = nv_rd32(dev, 0x400160 + trap->subc*4) & 0xFFFF; + else + trap->class = nv_rd32(dev, 0x400814); +} + +static void +nouveau_graph_dump_trap_info(struct drm_device *dev, const char *id, + struct nouveau_pgraph_trap *trap) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t nsource = trap->nsource, nstatus = trap->nstatus; + + NV_INFO(dev, "%s - nSource:", id); + nouveau_print_bitfield_names(nsource, nsource_names); + printk(", nStatus:"); + if (dev_priv->card_type < NV_10) + nouveau_print_bitfield_names(nstatus, nstatus_names); + else + nouveau_print_bitfield_names(nstatus, nstatus_names_nv10); + printk("\n"); + + NV_INFO(dev, "%s - Ch %d/%d Class 0x%04x Mthd 0x%04x " + "Data 0x%08x:0x%08x\n", + id, trap->channel, trap->subc, + trap->class, trap->mthd, + trap->data2, trap->data); +} + +static int +nouveau_pgraph_intr_swmthd(struct drm_device *dev, + struct nouveau_pgraph_trap *trap) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + if (trap->channel < 0 || + trap->channel >= dev_priv->engine.fifo.channels || + !dev_priv->fifos[trap->channel]) + return -ENODEV; + + return nouveau_call_method(dev_priv->fifos[trap->channel], + trap->class, trap->mthd, trap->data); +} + +static inline void +nouveau_pgraph_intr_notify(struct drm_device *dev, uint32_t nsource) +{ + struct nouveau_pgraph_trap trap; + int unhandled = 0; + + nouveau_graph_trap_info(dev, &trap); + + if (nsource & NV03_PGRAPH_NSOURCE_ILLEGAL_MTHD) { + if (nouveau_pgraph_intr_swmthd(dev, &trap)) + unhandled = 1; + } else { + unhandled = 1; + } + + if (unhandled) + nouveau_graph_dump_trap_info(dev, "PGRAPH_NOTIFY", &trap); +} + +static DEFINE_RATELIMIT_STATE(nouveau_ratelimit_state, 3 * HZ, 20); + +static int nouveau_ratelimit(void) +{ + return __ratelimit(&nouveau_ratelimit_state); +} + + +static inline void +nouveau_pgraph_intr_error(struct drm_device *dev, uint32_t nsource) +{ + struct nouveau_pgraph_trap trap; + int unhandled = 0; + + nouveau_graph_trap_info(dev, &trap); + trap.nsource = nsource; + + if (nsource & NV03_PGRAPH_NSOURCE_ILLEGAL_MTHD) { + if (nouveau_pgraph_intr_swmthd(dev, &trap)) + unhandled = 1; + } else if (nsource & NV03_PGRAPH_NSOURCE_DMA_VTX_PROTECTION) { + uint32_t v = nv_rd32(dev, 0x402000); + nv_wr32(dev, 0x402000, v); + + /* dump the error anyway for now: it's useful for + Gallium development */ + unhandled = 1; + } else { + unhandled = 1; + } + + if (unhandled && nouveau_ratelimit()) + nouveau_graph_dump_trap_info(dev, "PGRAPH_ERROR", &trap); +} + +static inline void +nouveau_pgraph_intr_context_switch(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_engine *engine = &dev_priv->engine; + uint32_t chid; + + chid = engine->fifo.channel_id(dev); + NV_DEBUG(dev, "PGRAPH context switch interrupt channel %x\n", chid); + + switch (dev_priv->card_type) { + case NV_04: + nv04_graph_context_switch(dev); + break; + case NV_10: + nv10_graph_context_switch(dev); + break; + default: + NV_ERROR(dev, "Context switch not implemented\n"); + break; + } +} + +static void +nouveau_pgraph_irq_handler(struct drm_device *dev) +{ + uint32_t status; + + while ((status = nv_rd32(dev, NV03_PGRAPH_INTR))) { + uint32_t nsource = nv_rd32(dev, NV03_PGRAPH_NSOURCE); + + if (status & NV_PGRAPH_INTR_NOTIFY) { + nouveau_pgraph_intr_notify(dev, nsource); + + status &= ~NV_PGRAPH_INTR_NOTIFY; + nv_wr32(dev, NV03_PGRAPH_INTR, NV_PGRAPH_INTR_NOTIFY); + } + + if (status & NV_PGRAPH_INTR_ERROR) { + nouveau_pgraph_intr_error(dev, nsource); + + status &= ~NV_PGRAPH_INTR_ERROR; + nv_wr32(dev, NV03_PGRAPH_INTR, NV_PGRAPH_INTR_ERROR); + } + + if (status & NV_PGRAPH_INTR_CONTEXT_SWITCH) { + nouveau_pgraph_intr_context_switch(dev); + + status &= ~NV_PGRAPH_INTR_CONTEXT_SWITCH; + nv_wr32(dev, NV03_PGRAPH_INTR, + NV_PGRAPH_INTR_CONTEXT_SWITCH); + } + + if (status) { + NV_INFO(dev, "Unhandled PGRAPH_INTR - 0x%08x\n", status); + nv_wr32(dev, NV03_PGRAPH_INTR, status); + } + + if ((nv_rd32(dev, NV04_PGRAPH_FIFO) & (1 << 0)) == 0) + nv_wr32(dev, NV04_PGRAPH_FIFO, 1); + } + + nv_wr32(dev, NV03_PMC_INTR_0, NV_PMC_INTR_0_PGRAPH_PENDING); +} + +static void +nv50_pgraph_irq_handler(struct drm_device *dev) +{ + uint32_t status; + + while ((status = nv_rd32(dev, NV03_PGRAPH_INTR))) { + uint32_t nsource = nv_rd32(dev, NV03_PGRAPH_NSOURCE); + + if (status & 0x00000001) { + nouveau_pgraph_intr_notify(dev, nsource); + status &= ~0x00000001; + nv_wr32(dev, NV03_PGRAPH_INTR, 0x00000001); + } + + if (status & 0x00000010) { + nouveau_pgraph_intr_error(dev, nsource | + NV03_PGRAPH_NSOURCE_ILLEGAL_MTHD); + + status &= ~0x00000010; + nv_wr32(dev, NV03_PGRAPH_INTR, 0x00000010); + } + + if (status & 0x00001000) { + nv_wr32(dev, 0x400500, 0x00000000); + nv_wr32(dev, NV03_PGRAPH_INTR, + NV_PGRAPH_INTR_CONTEXT_SWITCH); + nv_wr32(dev, NV40_PGRAPH_INTR_EN, nv_rd32(dev, + NV40_PGRAPH_INTR_EN) & + ~NV_PGRAPH_INTR_CONTEXT_SWITCH); + nv_wr32(dev, 0x400500, 0x00010001); + + nv50_graph_context_switch(dev); + + status &= ~NV_PGRAPH_INTR_CONTEXT_SWITCH; + } + + if (status & 0x00100000) { + nouveau_pgraph_intr_error(dev, nsource | + NV03_PGRAPH_NSOURCE_DATA_ERROR); + + status &= ~0x00100000; + nv_wr32(dev, NV03_PGRAPH_INTR, 0x00100000); + } + + if (status & 0x00200000) { + int r; + + nouveau_pgraph_intr_error(dev, nsource | + NV03_PGRAPH_NSOURCE_PROTECTION_ERROR); + + NV_ERROR(dev, "magic set 1:\n"); + for (r = 0x408900; r <= 0x408910; r += 4) + NV_ERROR(dev, "\t0x%08x: 0x%08x\n", r, + nv_rd32(dev, r)); + nv_wr32(dev, 0x408900, + nv_rd32(dev, 0x408904) | 0xc0000000); + for (r = 0x408e08; r <= 0x408e24; r += 4) + NV_ERROR(dev, "\t0x%08x: 0x%08x\n", r, + nv_rd32(dev, r)); + nv_wr32(dev, 0x408e08, + nv_rd32(dev, 0x408e08) | 0xc0000000); + + NV_ERROR(dev, "magic set 2:\n"); + for (r = 0x409900; r <= 0x409910; r += 4) + NV_ERROR(dev, "\t0x%08x: 0x%08x\n", r, + nv_rd32(dev, r)); + nv_wr32(dev, 0x409900, + nv_rd32(dev, 0x409904) | 0xc0000000); + for (r = 0x409e08; r <= 0x409e24; r += 4) + NV_ERROR(dev, "\t0x%08x: 0x%08x\n", r, + nv_rd32(dev, r)); + nv_wr32(dev, 0x409e08, + nv_rd32(dev, 0x409e08) | 0xc0000000); + + status &= ~0x00200000; + nv_wr32(dev, NV03_PGRAPH_NSOURCE, nsource); + nv_wr32(dev, NV03_PGRAPH_INTR, 0x00200000); + } + + if (status) { + NV_INFO(dev, "Unhandled PGRAPH_INTR - 0x%08x\n", + status); + nv_wr32(dev, NV03_PGRAPH_INTR, status); + } + + { + const int isb = (1 << 16) | (1 << 0); + + if ((nv_rd32(dev, 0x400500) & isb) != isb) + nv_wr32(dev, 0x400500, + nv_rd32(dev, 0x400500) | isb); + } + } + + nv_wr32(dev, NV03_PMC_INTR_0, NV_PMC_INTR_0_PGRAPH_PENDING); + nv_wr32(dev, 0x400824, nv_rd32(dev, 0x400824) & ~(1 << 31)); +} + +static void +nouveau_crtc_irq_handler(struct drm_device *dev, int crtc) +{ + if (crtc & 1) + nv_wr32(dev, NV_CRTC0_INTSTAT, NV_CRTC_INTR_VBLANK); + + if (crtc & 2) + nv_wr32(dev, NV_CRTC1_INTSTAT, NV_CRTC_INTR_VBLANK); +} + +irqreturn_t +nouveau_irq_handler(DRM_IRQ_ARGS) +{ + struct drm_device *dev = (struct drm_device *)arg; + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t status, fbdev_flags = 0; + + status = nv_rd32(dev, NV03_PMC_INTR_0); + if (!status) + return IRQ_NONE; + + if (dev_priv->fbdev_info) { + fbdev_flags = dev_priv->fbdev_info->flags; + dev_priv->fbdev_info->flags |= FBINFO_HWACCEL_DISABLED; + } + + if (status & NV_PMC_INTR_0_PFIFO_PENDING) { + nouveau_fifo_irq_handler(dev); + status &= ~NV_PMC_INTR_0_PFIFO_PENDING; + } + + if (status & NV_PMC_INTR_0_PGRAPH_PENDING) { + if (dev_priv->card_type >= NV_50) + nv50_pgraph_irq_handler(dev); + else + nouveau_pgraph_irq_handler(dev); + + status &= ~NV_PMC_INTR_0_PGRAPH_PENDING; + } + + if (status & NV_PMC_INTR_0_CRTCn_PENDING) { + nouveau_crtc_irq_handler(dev, (status>>24)&3); + status &= ~NV_PMC_INTR_0_CRTCn_PENDING; + } + + if (status & (NV_PMC_INTR_0_NV50_DISPLAY_PENDING | + NV_PMC_INTR_0_NV50_I2C_PENDING)) { + nv50_display_irq_handler(dev); + status &= ~(NV_PMC_INTR_0_NV50_DISPLAY_PENDING | + NV_PMC_INTR_0_NV50_I2C_PENDING); + } + + if (status) + NV_ERROR(dev, "Unhandled PMC INTR status bits 0x%08x\n", status); + + if (dev_priv->fbdev_info) + dev_priv->fbdev_info->flags = fbdev_flags; + + return IRQ_HANDLED; +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_ioc32.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_ioc32.c @@ -0,0 +1,70 @@ +/** + * \file mga_ioc32.c + * + * 32-bit ioctl compatibility routines for the MGA DRM. + * + * \author Dave Airlie with code from patches by Egbert Eich + * + * + * Copyright (C) Paul Mackerras 2005 + * Copyright (C) Egbert Eich 2003,2004 + * Copyright (C) Dave Airlie 2005 + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include + +#include "drmP.h" +#include "drm.h" + +#include "nouveau_drv.h" + +/** + * 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 nouveau_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 0 + if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(mga_compat_ioctls)) + fn = nouveau_compat_ioctls[nr - DRM_COMMAND_BASE]; +#endif + if (fn != NULL) + ret = (*fn)(filp, cmd, arg); + else + ret = drm_ioctl(filp, cmd, arg); + + return ret; +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_mem.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_mem.c @@ -0,0 +1,699 @@ +/* + * Copyright (C) The Weather Channel, Inc. 2002. All Rights Reserved. + * Copyright 2005 Stephane Marchesin + * + * The Weather Channel (TM) funded Tungsten Graphics to develop the + * initial release of the Radeon 8500 driver under the XFree86 license. + * This notice must be preserved. + * + * 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 AND/OR THEIR 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: + * Keith Whitwell + */ + + +#include "drmP.h" +#include "drm.h" +#include "drm_sarea.h" +#include "nouveau_drv.h" + +static struct mem_block * +split_block(struct mem_block *p, uint64_t start, uint64_t size, + struct drm_file *file_priv) +{ + /* Maybe cut off the start of an existing block */ + if (start > p->start) { + struct mem_block *newblock = + kmalloc(sizeof(*newblock), GFP_KERNEL); + if (!newblock) + goto out; + newblock->start = start; + newblock->size = p->size - (start - p->start); + newblock->file_priv = NULL; + newblock->next = p->next; + newblock->prev = p; + p->next->prev = newblock; + p->next = newblock; + p->size -= newblock->size; + p = newblock; + } + + /* Maybe cut off the end of an existing block */ + if (size < p->size) { + struct mem_block *newblock = + kmalloc(sizeof(*newblock), GFP_KERNEL); + if (!newblock) + goto out; + newblock->start = start + size; + newblock->size = p->size - size; + newblock->file_priv = NULL; + newblock->next = p->next; + newblock->prev = p; + p->next->prev = newblock; + p->next = newblock; + p->size = size; + } + +out: + /* Our block is in the middle */ + p->file_priv = file_priv; + return p; +} + +struct mem_block * +nouveau_mem_alloc_block(struct mem_block *heap, uint64_t size, + int align2, struct drm_file *file_priv, int tail) +{ + struct mem_block *p; + uint64_t mask = (1 << align2) - 1; + + if (!heap) + return NULL; + + if (tail) { + list_for_each_prev(p, heap) { + uint64_t start = ((p->start + p->size) - size) & ~mask; + + if (p->file_priv == NULL && start >= p->start && + start + size <= p->start + p->size) + return split_block(p, start, size, file_priv); + } + } else { + list_for_each(p, heap) { + uint64_t start = (p->start + mask) & ~mask; + + if (p->file_priv == NULL && + start + size <= p->start + p->size) + return split_block(p, start, size, file_priv); + } + } + + return NULL; +} + +void nouveau_mem_free_block(struct mem_block *p) +{ + p->file_priv = NULL; + + /* Assumes a single contiguous range. Needs a special file_priv in + * 'heap' to stop it being subsumed. + */ + if (p->next->file_priv == NULL) { + struct mem_block *q = p->next; + p->size += q->size; + p->next = q->next; + p->next->prev = p; + kfree(q); + } + + if (p->prev->file_priv == NULL) { + struct mem_block *q = p->prev; + q->size += p->size; + q->next = p->next; + q->next->prev = q; + kfree(p); + } +} + +/* Initialize. How to check for an uninitialized heap? + */ +int nouveau_mem_init_heap(struct mem_block **heap, uint64_t start, + uint64_t size) +{ + struct mem_block *blocks = kmalloc(sizeof(*blocks), GFP_KERNEL); + + if (!blocks) + return -ENOMEM; + + *heap = kmalloc(sizeof(**heap), GFP_KERNEL); + if (!*heap) { + kfree(blocks); + return -ENOMEM; + } + + blocks->start = start; + blocks->size = size; + blocks->file_priv = NULL; + blocks->next = blocks->prev = *heap; + + memset(*heap, 0, sizeof(**heap)); + (*heap)->file_priv = (struct drm_file *) -1; + (*heap)->next = (*heap)->prev = blocks; + return 0; +} + +/* + * Free all blocks associated with the releasing file_priv + */ +void nouveau_mem_release(struct drm_file *file_priv, struct mem_block *heap) +{ + struct mem_block *p; + + if (!heap || !heap->next) + return; + + list_for_each(p, heap) { + if (p->file_priv == file_priv) + p->file_priv = NULL; + } + + /* Assumes a single contiguous range. Needs a special file_priv in + * 'heap' to stop it being subsumed. + */ + list_for_each(p, heap) { + while ((p->file_priv == NULL) && + (p->next->file_priv == NULL) && + (p->next != heap)) { + struct mem_block *q = p->next; + p->size += q->size; + p->next = q->next; + p->next->prev = p; + kfree(q); + } + } +} + +/* + * NV10-NV40 tiling helpers + */ + +static void +nv10_mem_set_region_tiling(struct drm_device *dev, int i, uint32_t addr, + uint32_t size, uint32_t pitch) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_fifo_engine *pfifo = &dev_priv->engine.fifo; + struct nouveau_fb_engine *pfb = &dev_priv->engine.fb; + struct nouveau_pgraph_engine *pgraph = &dev_priv->engine.graph; + struct nouveau_tile_reg *tile = &dev_priv->tile.reg[i]; + + tile->addr = addr; + tile->size = size; + tile->used = !!pitch; + nouveau_fence_unref((void **)&tile->fence); + + if (!pfifo->cache_flush(dev)) + return; + + pfifo->reassign(dev, false); + pfifo->cache_flush(dev); + pfifo->cache_pull(dev, false); + + nouveau_wait_for_idle(dev); + + pgraph->set_region_tiling(dev, i, addr, size, pitch); + pfb->set_region_tiling(dev, i, addr, size, pitch); + + pfifo->cache_pull(dev, true); + pfifo->reassign(dev, true); +} + +struct nouveau_tile_reg * +nv10_mem_set_tiling(struct drm_device *dev, uint32_t addr, uint32_t size, + uint32_t pitch) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_fb_engine *pfb = &dev_priv->engine.fb; + struct nouveau_tile_reg *tile = dev_priv->tile.reg, *found = NULL; + int i; + + spin_lock(&dev_priv->tile.lock); + + for (i = 0; i < pfb->num_tiles; i++) { + if (tile[i].used) + /* Tile region in use. */ + continue; + + if (tile[i].fence && + !nouveau_fence_signalled(tile[i].fence, NULL)) + /* Pending tile region. */ + continue; + + if (max(tile[i].addr, addr) < + min(tile[i].addr + tile[i].size, addr + size)) + /* Kill an intersecting tile region. */ + nv10_mem_set_region_tiling(dev, i, 0, 0, 0); + + if (pitch && !found) { + /* Free tile region. */ + nv10_mem_set_region_tiling(dev, i, addr, size, pitch); + found = &tile[i]; + } + } + + spin_unlock(&dev_priv->tile.lock); + + return found; +} + +void +nv10_mem_expire_tiling(struct drm_device *dev, struct nouveau_tile_reg *tile, + struct nouveau_fence *fence) +{ + if (fence) { + /* Mark it as pending. */ + tile->fence = fence; + nouveau_fence_ref(fence); + } + + tile->used = false; +} + +/* + * NV50 VM helpers + */ +int +nv50_mem_vm_bind_linear(struct drm_device *dev, uint64_t virt, uint32_t size, + uint32_t flags, uint64_t phys) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *pgt; + unsigned block; + int i; + + virt = ((virt - dev_priv->vm_vram_base) >> 16) << 1; + size = (size >> 16) << 1; + + phys |= ((uint64_t)flags << 32); + phys |= 1; + if (dev_priv->vram_sys_base) { + phys += dev_priv->vram_sys_base; + phys |= 0x30; + } + + dev_priv->engine.instmem.prepare_access(dev, true); + while (size) { + unsigned offset_h = upper_32_bits(phys); + unsigned offset_l = lower_32_bits(phys); + unsigned pte, end; + + for (i = 7; i >= 0; i--) { + block = 1 << (i + 1); + if (size >= block && !(virt & (block - 1))) + break; + } + offset_l |= (i << 7); + + phys += block << 15; + size -= block; + + while (block) { + pgt = dev_priv->vm_vram_pt[virt >> 14]; + pte = virt & 0x3ffe; + + end = pte + block; + if (end > 16384) + end = 16384; + block -= (end - pte); + virt += (end - pte); + + while (pte < end) { + nv_wo32(dev, pgt, pte++, offset_l); + nv_wo32(dev, pgt, pte++, offset_h); + } + } + } + dev_priv->engine.instmem.finish_access(dev); + + nv_wr32(dev, 0x100c80, 0x00050001); + if (!nv_wait(0x100c80, 0x00000001, 0x00000000)) { + NV_ERROR(dev, "timeout: (0x100c80 & 1) == 0 (2)\n"); + NV_ERROR(dev, "0x100c80 = 0x%08x\n", nv_rd32(dev, 0x100c80)); + return -EBUSY; + } + + nv_wr32(dev, 0x100c80, 0x00000001); + if (!nv_wait(0x100c80, 0x00000001, 0x00000000)) { + NV_ERROR(dev, "timeout: (0x100c80 & 1) == 0 (2)\n"); + NV_ERROR(dev, "0x100c80 = 0x%08x\n", nv_rd32(dev, 0x100c80)); + return -EBUSY; + } + + return 0; +} + +void +nv50_mem_vm_unbind(struct drm_device *dev, uint64_t virt, uint32_t size) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *pgt; + unsigned pages, pte, end; + + virt -= dev_priv->vm_vram_base; + pages = (size >> 16) << 1; + + dev_priv->engine.instmem.prepare_access(dev, true); + while (pages) { + pgt = dev_priv->vm_vram_pt[virt >> 29]; + pte = (virt & 0x1ffe0000ULL) >> 15; + + end = pte + pages; + if (end > 16384) + end = 16384; + pages -= (end - pte); + virt += (end - pte) << 15; + + while (pte < end) + nv_wo32(dev, pgt, pte++, 0); + } + dev_priv->engine.instmem.finish_access(dev); + + nv_wr32(dev, 0x100c80, 0x00050001); + if (!nv_wait(0x100c80, 0x00000001, 0x00000000)) { + NV_ERROR(dev, "timeout: (0x100c80 & 1) == 0 (2)\n"); + NV_ERROR(dev, "0x100c80 = 0x%08x\n", nv_rd32(dev, 0x100c80)); + return; + } + + nv_wr32(dev, 0x100c80, 0x00000001); + if (!nv_wait(0x100c80, 0x00000001, 0x00000000)) { + NV_ERROR(dev, "timeout: (0x100c80 & 1) == 0 (2)\n"); + NV_ERROR(dev, "0x100c80 = 0x%08x\n", nv_rd32(dev, 0x100c80)); + } +} + +/* + * Cleanup everything + */ +void nouveau_mem_takedown(struct mem_block **heap) +{ + struct mem_block *p; + + if (!*heap) + return; + + for (p = (*heap)->next; p != *heap;) { + struct mem_block *q = p; + p = p->next; + kfree(q); + } + + kfree(*heap); + *heap = NULL; +} + +void nouveau_mem_close(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + nouveau_bo_unpin(dev_priv->vga_ram); + nouveau_bo_ref(NULL, &dev_priv->vga_ram); + + ttm_bo_device_release(&dev_priv->ttm.bdev); + + nouveau_ttm_global_release(dev_priv); + + if (drm_core_has_AGP(dev) && dev->agp && + drm_core_check_feature(dev, DRIVER_MODESET)) { + struct drm_agp_mem *entry, *tempe; + + /* Remove AGP resources, but leave dev->agp + intact until drv_cleanup is called. */ + list_for_each_entry_safe(entry, tempe, &dev->agp->memory, head) { + if (entry->bound) + drm_unbind_agp(entry->memory); + drm_free_agp(entry->memory, entry->pages); + kfree(entry); + } + INIT_LIST_HEAD(&dev->agp->memory); + + if (dev->agp->acquired) + drm_agp_release(dev); + + dev->agp->acquired = 0; + dev->agp->enabled = 0; + } + + if (dev_priv->fb_mtrr) { + drm_mtrr_del(dev_priv->fb_mtrr, drm_get_resource_start(dev, 1), + drm_get_resource_len(dev, 1), DRM_MTRR_WC); + dev_priv->fb_mtrr = 0; + } +} + +/*XXX won't work on BSD because of pci_read_config_dword */ +static uint32_t +nouveau_mem_fb_amount_igp(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct pci_dev *bridge; + uint32_t mem; + + bridge = pci_get_bus_and_slot(0, PCI_DEVFN(0, 1)); + if (!bridge) { + NV_ERROR(dev, "no bridge device\n"); + return 0; + } + + if (dev_priv->flags&NV_NFORCE) { + pci_read_config_dword(bridge, 0x7C, &mem); + return (uint64_t)(((mem >> 6) & 31) + 1)*1024*1024; + } else + if (dev_priv->flags&NV_NFORCE2) { + pci_read_config_dword(bridge, 0x84, &mem); + return (uint64_t)(((mem >> 4) & 127) + 1)*1024*1024; + } + + NV_ERROR(dev, "impossible!\n"); + return 0; +} + +/* returns the amount of FB ram in bytes */ +uint64_t nouveau_mem_fb_amount(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t boot0; + + switch (dev_priv->card_type) { + case NV_04: + boot0 = nv_rd32(dev, NV03_BOOT_0); + if (boot0 & 0x00000100) + return (((boot0 >> 12) & 0xf) * 2 + 2) * 1024 * 1024; + + switch (boot0 & NV03_BOOT_0_RAM_AMOUNT) { + case NV04_BOOT_0_RAM_AMOUNT_32MB: + return 32 * 1024 * 1024; + case NV04_BOOT_0_RAM_AMOUNT_16MB: + return 16 * 1024 * 1024; + case NV04_BOOT_0_RAM_AMOUNT_8MB: + return 8 * 1024 * 1024; + case NV04_BOOT_0_RAM_AMOUNT_4MB: + return 4 * 1024 * 1024; + } + break; + case NV_10: + case NV_20: + case NV_30: + case NV_40: + case NV_50: + default: + if (dev_priv->flags & (NV_NFORCE | NV_NFORCE2)) { + return nouveau_mem_fb_amount_igp(dev); + } else { + uint64_t mem; + mem = (nv_rd32(dev, NV04_FIFO_DATA) & + NV10_FIFO_DATA_RAM_AMOUNT_MB_MASK) >> + NV10_FIFO_DATA_RAM_AMOUNT_MB_SHIFT; + return mem * 1024 * 1024; + } + break; + } + + NV_ERROR(dev, + "Unable to detect video ram size. Please report your setup to " + DRIVER_EMAIL "\n"); + return 0; +} + +#if __OS_HAS_AGP +static void nouveau_mem_reset_agp(struct drm_device *dev) +{ + uint32_t saved_pci_nv_1, saved_pci_nv_19, pmc_enable; + + saved_pci_nv_1 = nv_rd32(dev, NV04_PBUS_PCI_NV_1); + saved_pci_nv_19 = nv_rd32(dev, NV04_PBUS_PCI_NV_19); + + /* clear busmaster bit */ + nv_wr32(dev, NV04_PBUS_PCI_NV_1, saved_pci_nv_1 & ~0x4); + /* clear SBA and AGP bits */ + nv_wr32(dev, NV04_PBUS_PCI_NV_19, saved_pci_nv_19 & 0xfffff0ff); + + /* power cycle pgraph, if enabled */ + pmc_enable = nv_rd32(dev, NV03_PMC_ENABLE); + if (pmc_enable & NV_PMC_ENABLE_PGRAPH) { + nv_wr32(dev, NV03_PMC_ENABLE, + pmc_enable & ~NV_PMC_ENABLE_PGRAPH); + nv_wr32(dev, NV03_PMC_ENABLE, nv_rd32(dev, NV03_PMC_ENABLE) | + NV_PMC_ENABLE_PGRAPH); + } + + /* and restore (gives effect of resetting AGP) */ + nv_wr32(dev, NV04_PBUS_PCI_NV_19, saved_pci_nv_19); + nv_wr32(dev, NV04_PBUS_PCI_NV_1, saved_pci_nv_1); +} +#endif + +int +nouveau_mem_init_agp(struct drm_device *dev) +{ +#if __OS_HAS_AGP + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct drm_agp_info info; + struct drm_agp_mode mode; + int ret; + + if (nouveau_noagp) + return 0; + + nouveau_mem_reset_agp(dev); + + if (!dev->agp->acquired) { + ret = drm_agp_acquire(dev); + if (ret) { + NV_ERROR(dev, "Unable to acquire AGP: %d\n", ret); + return ret; + } + } + + ret = drm_agp_info(dev, &info); + if (ret) { + NV_ERROR(dev, "Unable to get AGP info: %d\n", ret); + return ret; + } + + /* see agp.h for the AGPSTAT_* modes available */ + mode.mode = info.mode; + ret = drm_agp_enable(dev, mode); + if (ret) { + NV_ERROR(dev, "Unable to enable AGP: %d\n", ret); + return ret; + } + + dev_priv->gart_info.type = NOUVEAU_GART_AGP; + dev_priv->gart_info.aper_base = info.aperture_base; + dev_priv->gart_info.aper_size = info.aperture_size; +#endif + return 0; +} + +int +nouveau_mem_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct ttm_bo_device *bdev = &dev_priv->ttm.bdev; + int ret, dma_bits = 32; + + dev_priv->fb_phys = drm_get_resource_start(dev, 1); + dev_priv->gart_info.type = NOUVEAU_GART_NONE; + + if (dev_priv->card_type >= NV_50 && + pci_dma_supported(dev->pdev, DMA_BIT_MASK(40))) + dma_bits = 40; + + ret = pci_set_dma_mask(dev->pdev, DMA_BIT_MASK(dma_bits)); + if (ret) { + NV_ERROR(dev, "Error setting DMA mask: %d\n", ret); + return ret; + } + + ret = nouveau_ttm_global_init(dev_priv); + if (ret) + return ret; + + ret = ttm_bo_device_init(&dev_priv->ttm.bdev, + dev_priv->ttm.bo_global_ref.ref.object, + &nouveau_bo_driver, DRM_FILE_PAGE_OFFSET, + dma_bits <= 32 ? true : false); + if (ret) { + NV_ERROR(dev, "Error initialising bo driver: %d\n", ret); + return ret; + } + + INIT_LIST_HEAD(&dev_priv->ttm.bo_list); + spin_lock_init(&dev_priv->ttm.bo_list_lock); + spin_lock_init(&dev_priv->tile.lock); + + dev_priv->fb_available_size = nouveau_mem_fb_amount(dev); + + dev_priv->fb_mappable_pages = dev_priv->fb_available_size; + if (dev_priv->fb_mappable_pages > drm_get_resource_len(dev, 1)) + dev_priv->fb_mappable_pages = drm_get_resource_len(dev, 1); + dev_priv->fb_mappable_pages >>= PAGE_SHIFT; + + NV_INFO(dev, "%d MiB VRAM\n", (int)(dev_priv->fb_available_size >> 20)); + + /* remove reserved space at end of vram from available amount */ + dev_priv->fb_available_size -= dev_priv->ramin_rsvd_vram; + dev_priv->fb_aper_free = dev_priv->fb_available_size; + + /* mappable vram */ + ret = ttm_bo_init_mm(bdev, TTM_PL_VRAM, + dev_priv->fb_available_size >> PAGE_SHIFT); + if (ret) { + NV_ERROR(dev, "Failed VRAM mm init: %d\n", ret); + return ret; + } + + ret = nouveau_bo_new(dev, NULL, 256*1024, 0, TTM_PL_FLAG_VRAM, + 0, 0, true, true, &dev_priv->vga_ram); + if (ret == 0) + ret = nouveau_bo_pin(dev_priv->vga_ram, TTM_PL_FLAG_VRAM); + if (ret) { + NV_WARN(dev, "failed to reserve VGA memory\n"); + nouveau_bo_ref(NULL, &dev_priv->vga_ram); + } + + /* GART */ +#if !defined(__powerpc__) && !defined(__ia64__) + if (drm_device_is_agp(dev) && dev->agp) { + ret = nouveau_mem_init_agp(dev); + if (ret) + NV_ERROR(dev, "Error initialising AGP: %d\n", ret); + } +#endif + + if (dev_priv->gart_info.type == NOUVEAU_GART_NONE) { + ret = nouveau_sgdma_init(dev); + if (ret) { + NV_ERROR(dev, "Error initialising PCI(E): %d\n", ret); + return ret; + } + } + + NV_INFO(dev, "%d MiB GART (aperture)\n", + (int)(dev_priv->gart_info.aper_size >> 20)); + dev_priv->gart_info.aper_free = dev_priv->gart_info.aper_size; + + ret = ttm_bo_init_mm(bdev, TTM_PL_TT, + dev_priv->gart_info.aper_size >> PAGE_SHIFT); + if (ret) { + NV_ERROR(dev, "Failed TT mm init: %d\n", ret); + return ret; + } + + dev_priv->fb_mtrr = drm_mtrr_add(drm_get_resource_start(dev, 1), + drm_get_resource_len(dev, 1), + DRM_MTRR_WC); + + return 0; +} + + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_notifier.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_notifier.c @@ -0,0 +1,203 @@ +/* + * Copyright (C) 2007 Ben Skeggs. + * + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" + +int +nouveau_notifier_init_channel(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct nouveau_bo *ntfy = NULL; + uint32_t flags; + int ret; + + if (nouveau_vram_notify) + flags = TTM_PL_FLAG_VRAM; + else + flags = TTM_PL_FLAG_TT; + + ret = nouveau_gem_new(dev, NULL, PAGE_SIZE, 0, flags, + 0, 0x0000, false, true, &ntfy); + if (ret) + return ret; + + ret = nouveau_bo_pin(ntfy, flags); + if (ret) + goto out_err; + + ret = nouveau_bo_map(ntfy); + if (ret) + goto out_err; + + ret = nouveau_mem_init_heap(&chan->notifier_heap, 0, ntfy->bo.mem.size); + if (ret) + goto out_err; + + chan->notifier_bo = ntfy; +out_err: + if (ret) { + mutex_lock(&dev->struct_mutex); + drm_gem_object_unreference(ntfy->gem); + mutex_unlock(&dev->struct_mutex); + } + + return ret; +} + +void +nouveau_notifier_takedown_channel(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + + if (!chan->notifier_bo) + return; + + nouveau_bo_unmap(chan->notifier_bo); + mutex_lock(&dev->struct_mutex); + nouveau_bo_unpin(chan->notifier_bo); + drm_gem_object_unreference(chan->notifier_bo->gem); + mutex_unlock(&dev->struct_mutex); + nouveau_mem_takedown(&chan->notifier_heap); +} + +static void +nouveau_notifier_gpuobj_dtor(struct drm_device *dev, + struct nouveau_gpuobj *gpuobj) +{ + NV_DEBUG(dev, "\n"); + + if (gpuobj->priv) + nouveau_mem_free_block(gpuobj->priv); +} + +int +nouveau_notifier_alloc(struct nouveau_channel *chan, uint32_t handle, + int size, uint32_t *b_offset) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *nobj = NULL; + struct mem_block *mem; + uint32_t offset; + int target, ret; + + if (!chan->notifier_heap) { + NV_ERROR(dev, "Channel %d doesn't have a notifier heap!\n", + chan->id); + return -EINVAL; + } + + mem = nouveau_mem_alloc_block(chan->notifier_heap, size, 0, + (struct drm_file *)-2, 0); + if (!mem) { + NV_ERROR(dev, "Channel %d notifier block full\n", chan->id); + return -ENOMEM; + } + + offset = chan->notifier_bo->bo.mem.mm_node->start << PAGE_SHIFT; + if (chan->notifier_bo->bo.mem.mem_type == TTM_PL_VRAM) { + target = NV_DMA_TARGET_VIDMEM; + } else + if (chan->notifier_bo->bo.mem.mem_type == TTM_PL_TT) { + if (dev_priv->gart_info.type == NOUVEAU_GART_SGDMA && + dev_priv->card_type < NV_50) { + ret = nouveau_sgdma_get_page(dev, offset, &offset); + if (ret) + return ret; + target = NV_DMA_TARGET_PCI; + } else { + target = NV_DMA_TARGET_AGP; + if (dev_priv->card_type >= NV_50) + offset += dev_priv->vm_gart_base; + } + } else { + NV_ERROR(dev, "Bad DMA target, mem_type %d!\n", + chan->notifier_bo->bo.mem.mem_type); + return -EINVAL; + } + offset += mem->start; + + ret = nouveau_gpuobj_dma_new(chan, NV_CLASS_DMA_IN_MEMORY, offset, + mem->size, NV_DMA_ACCESS_RW, target, + &nobj); + if (ret) { + nouveau_mem_free_block(mem); + NV_ERROR(dev, "Error creating notifier ctxdma: %d\n", ret); + return ret; + } + nobj->dtor = nouveau_notifier_gpuobj_dtor; + nobj->priv = mem; + + ret = nouveau_gpuobj_ref_add(dev, chan, handle, nobj, NULL); + if (ret) { + nouveau_gpuobj_del(dev, &nobj); + nouveau_mem_free_block(mem); + NV_ERROR(dev, "Error referencing notifier ctxdma: %d\n", ret); + return ret; + } + + *b_offset = mem->start; + return 0; +} + +int +nouveau_notifier_offset(struct nouveau_gpuobj *nobj, uint32_t *poffset) +{ + if (!nobj || nobj->dtor != nouveau_notifier_gpuobj_dtor) + return -EINVAL; + + if (poffset) { + struct mem_block *mem = nobj->priv; + + if (*poffset >= mem->size) + return false; + + *poffset += mem->start; + } + + return 0; +} + +int +nouveau_ioctl_notifier_alloc(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_nouveau_notifierobj_alloc *na = data; + struct nouveau_channel *chan; + int ret; + + NOUVEAU_CHECK_INITIALISED_WITH_RETURN; + NOUVEAU_GET_USER_CHANNEL_WITH_RETURN(na->channel, file_priv, chan); + + ret = nouveau_notifier_alloc(chan, na->handle, na->size, &na->offset); + if (ret) + return ret; + + return 0; +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_object.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_object.c @@ -0,0 +1,1295 @@ +/* + * Copyright (C) 2006 Ben Skeggs. + * + * 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 COPYRIGHT OWNER(S) 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: + * Ben Skeggs + */ + +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" +#include "nouveau_drm.h" + +/* NVidia uses context objects to drive drawing operations. + + Context objects can be selected into 8 subchannels in the FIFO, + and then used via DMA command buffers. + + A context object is referenced by a user defined handle (CARD32). The HW + looks up graphics objects in a hash table in the instance RAM. + + An entry in the hash table consists of 2 CARD32. The first CARD32 contains + the handle, the second one a bitfield, that contains the address of the + object in instance RAM. + + The format of the second CARD32 seems to be: + + NV4 to NV30: + + 15: 0 instance_addr >> 4 + 17:16 engine (here uses 1 = graphics) + 28:24 channel id (here uses 0) + 31 valid (use 1) + + NV40: + + 15: 0 instance_addr >> 4 (maybe 19-0) + 21:20 engine (here uses 1 = graphics) + I'm unsure about the other bits, but using 0 seems to work. + + The key into the hash table depends on the object handle and channel id and + is given as: +*/ +static uint32_t +nouveau_ramht_hash_handle(struct drm_device *dev, int channel, uint32_t handle) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t hash = 0; + int i; + + NV_DEBUG(dev, "ch%d handle=0x%08x\n", channel, handle); + + for (i = 32; i > 0; i -= dev_priv->ramht_bits) { + hash ^= (handle & ((1 << dev_priv->ramht_bits) - 1)); + handle >>= dev_priv->ramht_bits; + } + + if (dev_priv->card_type < NV_50) + hash ^= channel << (dev_priv->ramht_bits - 4); + hash <<= 3; + + NV_DEBUG(dev, "hash=0x%08x\n", hash); + return hash; +} + +static int +nouveau_ramht_entry_valid(struct drm_device *dev, struct nouveau_gpuobj *ramht, + uint32_t offset) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t ctx = nv_ro32(dev, ramht, (offset + 4)/4); + + if (dev_priv->card_type < NV_40) + return ((ctx & NV_RAMHT_CONTEXT_VALID) != 0); + return (ctx != 0); +} + +static int +nouveau_ramht_insert(struct drm_device *dev, struct nouveau_gpuobj_ref *ref) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_instmem_engine *instmem = &dev_priv->engine.instmem; + struct nouveau_channel *chan = ref->channel; + struct nouveau_gpuobj *ramht = chan->ramht ? chan->ramht->gpuobj : NULL; + uint32_t ctx, co, ho; + + if (!ramht) { + NV_ERROR(dev, "No hash table!\n"); + return -EINVAL; + } + + if (dev_priv->card_type < NV_40) { + ctx = NV_RAMHT_CONTEXT_VALID | (ref->instance >> 4) | + (chan->id << NV_RAMHT_CONTEXT_CHANNEL_SHIFT) | + (ref->gpuobj->engine << NV_RAMHT_CONTEXT_ENGINE_SHIFT); + } else + if (dev_priv->card_type < NV_50) { + ctx = (ref->instance >> 4) | + (chan->id << NV40_RAMHT_CONTEXT_CHANNEL_SHIFT) | + (ref->gpuobj->engine << NV40_RAMHT_CONTEXT_ENGINE_SHIFT); + } else { + if (ref->gpuobj->engine == NVOBJ_ENGINE_DISPLAY) { + ctx = (ref->instance << 10) | 2; + } else { + ctx = (ref->instance >> 4) | + ((ref->gpuobj->engine << + NV40_RAMHT_CONTEXT_ENGINE_SHIFT)); + } + } + + instmem->prepare_access(dev, true); + co = ho = nouveau_ramht_hash_handle(dev, chan->id, ref->handle); + do { + if (!nouveau_ramht_entry_valid(dev, ramht, co)) { + NV_DEBUG(dev, + "insert ch%d 0x%08x: h=0x%08x, c=0x%08x\n", + chan->id, co, ref->handle, ctx); + nv_wo32(dev, ramht, (co + 0)/4, ref->handle); + nv_wo32(dev, ramht, (co + 4)/4, ctx); + + list_add_tail(&ref->list, &chan->ramht_refs); + instmem->finish_access(dev); + return 0; + } + NV_DEBUG(dev, "collision ch%d 0x%08x: h=0x%08x\n", + chan->id, co, nv_ro32(dev, ramht, co/4)); + + co += 8; + if (co >= dev_priv->ramht_size) + co = 0; + } while (co != ho); + instmem->finish_access(dev); + + NV_ERROR(dev, "RAMHT space exhausted. ch=%d\n", chan->id); + return -ENOMEM; +} + +static void +nouveau_ramht_remove(struct drm_device *dev, struct nouveau_gpuobj_ref *ref) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_instmem_engine *instmem = &dev_priv->engine.instmem; + struct nouveau_channel *chan = ref->channel; + struct nouveau_gpuobj *ramht = chan->ramht ? chan->ramht->gpuobj : NULL; + uint32_t co, ho; + + if (!ramht) { + NV_ERROR(dev, "No hash table!\n"); + return; + } + + instmem->prepare_access(dev, true); + co = ho = nouveau_ramht_hash_handle(dev, chan->id, ref->handle); + do { + if (nouveau_ramht_entry_valid(dev, ramht, co) && + (ref->handle == nv_ro32(dev, ramht, (co/4)))) { + NV_DEBUG(dev, + "remove ch%d 0x%08x: h=0x%08x, c=0x%08x\n", + chan->id, co, ref->handle, + nv_ro32(dev, ramht, (co + 4))); + nv_wo32(dev, ramht, (co + 0)/4, 0x00000000); + nv_wo32(dev, ramht, (co + 4)/4, 0x00000000); + + list_del(&ref->list); + instmem->finish_access(dev); + return; + } + + co += 8; + if (co >= dev_priv->ramht_size) + co = 0; + } while (co != ho); + list_del(&ref->list); + instmem->finish_access(dev); + + NV_ERROR(dev, "RAMHT entry not found. ch=%d, handle=0x%08x\n", + chan->id, ref->handle); +} + +int +nouveau_gpuobj_new(struct drm_device *dev, struct nouveau_channel *chan, + uint32_t size, int align, uint32_t flags, + struct nouveau_gpuobj **gpuobj_ret) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_engine *engine = &dev_priv->engine; + struct nouveau_gpuobj *gpuobj; + struct mem_block *pramin = NULL; + int ret; + + NV_DEBUG(dev, "ch%d size=%u align=%d flags=0x%08x\n", + chan ? chan->id : -1, size, align, flags); + + if (!dev_priv || !gpuobj_ret || *gpuobj_ret != NULL) + return -EINVAL; + + gpuobj = kzalloc(sizeof(*gpuobj), GFP_KERNEL); + if (!gpuobj) + return -ENOMEM; + NV_DEBUG(dev, "gpuobj %p\n", gpuobj); + gpuobj->flags = flags; + gpuobj->im_channel = chan; + + list_add_tail(&gpuobj->list, &dev_priv->gpuobj_list); + + /* Choose between global instmem heap, and per-channel private + * instmem heap. On ramin_heap) { + NV_DEBUG(dev, "private heap\n"); + pramin = chan->ramin_heap; + } else + if (dev_priv->card_type < NV_50) { + NV_DEBUG(dev, "global heap fallback\n"); + pramin = dev_priv->ramin_heap; + } + } else { + NV_DEBUG(dev, "global heap\n"); + pramin = dev_priv->ramin_heap; + } + + if (!pramin) { + NV_ERROR(dev, "No PRAMIN heap!\n"); + return -EINVAL; + } + + if (!chan) { + ret = engine->instmem.populate(dev, gpuobj, &size); + if (ret) { + nouveau_gpuobj_del(dev, &gpuobj); + return ret; + } + } + + /* Allocate a chunk of the PRAMIN aperture */ + gpuobj->im_pramin = nouveau_mem_alloc_block(pramin, size, + drm_order(align), + (struct drm_file *)-2, 0); + if (!gpuobj->im_pramin) { + nouveau_gpuobj_del(dev, &gpuobj); + return -ENOMEM; + } + + if (!chan) { + ret = engine->instmem.bind(dev, gpuobj); + if (ret) { + nouveau_gpuobj_del(dev, &gpuobj); + return ret; + } + } + + if (gpuobj->flags & NVOBJ_FLAG_ZERO_ALLOC) { + int i; + + engine->instmem.prepare_access(dev, true); + for (i = 0; i < gpuobj->im_pramin->size; i += 4) + nv_wo32(dev, gpuobj, i/4, 0); + engine->instmem.finish_access(dev); + } + + *gpuobj_ret = gpuobj; + return 0; +} + +int +nouveau_gpuobj_early_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + NV_DEBUG(dev, "\n"); + + INIT_LIST_HEAD(&dev_priv->gpuobj_list); + + return 0; +} + +int +nouveau_gpuobj_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + int ret; + + NV_DEBUG(dev, "\n"); + + if (dev_priv->card_type < NV_50) { + ret = nouveau_gpuobj_new_fake(dev, + dev_priv->ramht_offset, ~0, dev_priv->ramht_size, + NVOBJ_FLAG_ZERO_ALLOC | NVOBJ_FLAG_ALLOW_NO_REFS, + &dev_priv->ramht, NULL); + if (ret) + return ret; + } + + return 0; +} + +void +nouveau_gpuobj_takedown(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + NV_DEBUG(dev, "\n"); + + nouveau_gpuobj_del(dev, &dev_priv->ramht); +} + +void +nouveau_gpuobj_late_takedown(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *gpuobj = NULL; + struct list_head *entry, *tmp; + + NV_DEBUG(dev, "\n"); + + list_for_each_safe(entry, tmp, &dev_priv->gpuobj_list) { + gpuobj = list_entry(entry, struct nouveau_gpuobj, list); + + NV_ERROR(dev, "gpuobj %p still exists at takedown, refs=%d\n", + gpuobj, gpuobj->refcount); + gpuobj->refcount = 0; + nouveau_gpuobj_del(dev, &gpuobj); + } +} + +int +nouveau_gpuobj_del(struct drm_device *dev, struct nouveau_gpuobj **pgpuobj) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_engine *engine = &dev_priv->engine; + struct nouveau_gpuobj *gpuobj; + int i; + + NV_DEBUG(dev, "gpuobj %p\n", pgpuobj ? *pgpuobj : NULL); + + if (!dev_priv || !pgpuobj || !(*pgpuobj)) + return -EINVAL; + gpuobj = *pgpuobj; + + if (gpuobj->refcount != 0) { + NV_ERROR(dev, "gpuobj refcount is %d\n", gpuobj->refcount); + return -EINVAL; + } + + if (gpuobj->im_pramin && (gpuobj->flags & NVOBJ_FLAG_ZERO_FREE)) { + engine->instmem.prepare_access(dev, true); + for (i = 0; i < gpuobj->im_pramin->size; i += 4) + nv_wo32(dev, gpuobj, i/4, 0); + engine->instmem.finish_access(dev); + } + + if (gpuobj->dtor) + gpuobj->dtor(dev, gpuobj); + + if (gpuobj->im_backing && !(gpuobj->flags & NVOBJ_FLAG_FAKE)) + engine->instmem.clear(dev, gpuobj); + + if (gpuobj->im_pramin) { + if (gpuobj->flags & NVOBJ_FLAG_FAKE) + kfree(gpuobj->im_pramin); + else + nouveau_mem_free_block(gpuobj->im_pramin); + } + + list_del(&gpuobj->list); + + *pgpuobj = NULL; + kfree(gpuobj); + return 0; +} + +static int +nouveau_gpuobj_instance_get(struct drm_device *dev, + struct nouveau_channel *chan, + struct nouveau_gpuobj *gpuobj, uint32_t *inst) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *cpramin; + + /* card_type < NV_50) { + *inst = gpuobj->im_pramin->start; + return 0; + } + + if (chan && gpuobj->im_channel != chan) { + NV_ERROR(dev, "Channel mismatch: obj %d, ref %d\n", + gpuobj->im_channel->id, chan->id); + return -EINVAL; + } + + /* NV50 channel-local instance */ + if (chan) { + cpramin = chan->ramin->gpuobj; + *inst = gpuobj->im_pramin->start - cpramin->im_pramin->start; + return 0; + } + + /* NV50 global (VRAM) instance */ + if (!gpuobj->im_channel) { + /* ...from global heap */ + if (!gpuobj->im_backing) { + NV_ERROR(dev, "AII, no VRAM backing gpuobj\n"); + return -EINVAL; + } + *inst = gpuobj->im_backing_start; + return 0; + } else { + /* ...from local heap */ + cpramin = gpuobj->im_channel->ramin->gpuobj; + *inst = cpramin->im_backing_start + + (gpuobj->im_pramin->start - cpramin->im_pramin->start); + return 0; + } + + return -EINVAL; +} + +int +nouveau_gpuobj_ref_add(struct drm_device *dev, struct nouveau_channel *chan, + uint32_t handle, struct nouveau_gpuobj *gpuobj, + struct nouveau_gpuobj_ref **ref_ret) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj_ref *ref; + uint32_t instance; + int ret; + + NV_DEBUG(dev, "ch%d h=0x%08x gpuobj=%p\n", + chan ? chan->id : -1, handle, gpuobj); + + if (!dev_priv || !gpuobj || (ref_ret && *ref_ret != NULL)) + return -EINVAL; + + if (!chan && !ref_ret) + return -EINVAL; + + if (gpuobj->engine == NVOBJ_ENGINE_SW && !gpuobj->im_pramin) { + /* sw object */ + instance = 0x40; + } else { + ret = nouveau_gpuobj_instance_get(dev, chan, gpuobj, &instance); + if (ret) + return ret; + } + + ref = kzalloc(sizeof(*ref), GFP_KERNEL); + if (!ref) + return -ENOMEM; + INIT_LIST_HEAD(&ref->list); + ref->gpuobj = gpuobj; + ref->channel = chan; + ref->instance = instance; + + if (!ref_ret) { + ref->handle = handle; + + ret = nouveau_ramht_insert(dev, ref); + if (ret) { + kfree(ref); + return ret; + } + } else { + ref->handle = ~0; + *ref_ret = ref; + } + + ref->gpuobj->refcount++; + return 0; +} + +int nouveau_gpuobj_ref_del(struct drm_device *dev, struct nouveau_gpuobj_ref **pref) +{ + struct nouveau_gpuobj_ref *ref; + + NV_DEBUG(dev, "ref %p\n", pref ? *pref : NULL); + + if (!dev || !pref || *pref == NULL) + return -EINVAL; + ref = *pref; + + if (ref->handle != ~0) + nouveau_ramht_remove(dev, ref); + + if (ref->gpuobj) { + ref->gpuobj->refcount--; + + if (ref->gpuobj->refcount == 0) { + if (!(ref->gpuobj->flags & NVOBJ_FLAG_ALLOW_NO_REFS)) + nouveau_gpuobj_del(dev, &ref->gpuobj); + } + } + + *pref = NULL; + kfree(ref); + return 0; +} + +int +nouveau_gpuobj_new_ref(struct drm_device *dev, + struct nouveau_channel *oc, struct nouveau_channel *rc, + uint32_t handle, uint32_t size, int align, + uint32_t flags, struct nouveau_gpuobj_ref **ref) +{ + struct nouveau_gpuobj *gpuobj = NULL; + int ret; + + ret = nouveau_gpuobj_new(dev, oc, size, align, flags, &gpuobj); + if (ret) + return ret; + + ret = nouveau_gpuobj_ref_add(dev, rc, handle, gpuobj, ref); + if (ret) { + nouveau_gpuobj_del(dev, &gpuobj); + return ret; + } + + return 0; +} + +int +nouveau_gpuobj_ref_find(struct nouveau_channel *chan, uint32_t handle, + struct nouveau_gpuobj_ref **ref_ret) +{ + struct nouveau_gpuobj_ref *ref; + struct list_head *entry, *tmp; + + list_for_each_safe(entry, tmp, &chan->ramht_refs) { + ref = list_entry(entry, struct nouveau_gpuobj_ref, list); + + if (ref->handle == handle) { + if (ref_ret) + *ref_ret = ref; + return 0; + } + } + + return -EINVAL; +} + +int +nouveau_gpuobj_new_fake(struct drm_device *dev, uint32_t p_offset, + uint32_t b_offset, uint32_t size, + uint32_t flags, struct nouveau_gpuobj **pgpuobj, + struct nouveau_gpuobj_ref **pref) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *gpuobj = NULL; + int i; + + NV_DEBUG(dev, + "p_offset=0x%08x b_offset=0x%08x size=0x%08x flags=0x%08x\n", + p_offset, b_offset, size, flags); + + gpuobj = kzalloc(sizeof(*gpuobj), GFP_KERNEL); + if (!gpuobj) + return -ENOMEM; + NV_DEBUG(dev, "gpuobj %p\n", gpuobj); + gpuobj->im_channel = NULL; + gpuobj->flags = flags | NVOBJ_FLAG_FAKE; + + list_add_tail(&gpuobj->list, &dev_priv->gpuobj_list); + + if (p_offset != ~0) { + gpuobj->im_pramin = kzalloc(sizeof(struct mem_block), + GFP_KERNEL); + if (!gpuobj->im_pramin) { + nouveau_gpuobj_del(dev, &gpuobj); + return -ENOMEM; + } + gpuobj->im_pramin->start = p_offset; + gpuobj->im_pramin->size = size; + } + + if (b_offset != ~0) { + gpuobj->im_backing = (struct nouveau_bo *)-1; + gpuobj->im_backing_start = b_offset; + } + + if (gpuobj->flags & NVOBJ_FLAG_ZERO_ALLOC) { + dev_priv->engine.instmem.prepare_access(dev, true); + for (i = 0; i < gpuobj->im_pramin->size; i += 4) + nv_wo32(dev, gpuobj, i/4, 0); + dev_priv->engine.instmem.finish_access(dev); + } + + if (pref) { + i = nouveau_gpuobj_ref_add(dev, NULL, 0, gpuobj, pref); + if (i) { + nouveau_gpuobj_del(dev, &gpuobj); + return i; + } + } + + if (pgpuobj) + *pgpuobj = gpuobj; + return 0; +} + + +static uint32_t +nouveau_gpuobj_class_instmem_size(struct drm_device *dev, int class) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + /*XXX: dodgy hack for now */ + if (dev_priv->card_type >= NV_50) + return 24; + if (dev_priv->card_type >= NV_40) + return 32; + return 16; +} + +/* + DMA objects are used to reference a piece of memory in the + framebuffer, PCI or AGP address space. Each object is 16 bytes big + and looks as follows: + + entry[0] + 11:0 class (seems like I can always use 0 here) + 12 page table present? + 13 page entry linear? + 15:14 access: 0 rw, 1 ro, 2 wo + 17:16 target: 0 NV memory, 1 NV memory tiled, 2 PCI, 3 AGP + 31:20 dma adjust (bits 0-11 of the address) + entry[1] + dma limit (size of transfer) + entry[X] + 1 0 readonly, 1 readwrite + 31:12 dma frame address of the page (bits 12-31 of the address) + entry[N] + page table terminator, same value as the first pte, as does nvidia + rivatv uses 0xffffffff + + Non linear page tables need a list of frame addresses afterwards, + the rivatv project has some info on this. + + The method below creates a DMA object in instance RAM and returns a handle + to it that can be used to set up context objects. +*/ +int +nouveau_gpuobj_dma_new(struct nouveau_channel *chan, int class, + uint64_t offset, uint64_t size, int access, + int target, struct nouveau_gpuobj **gpuobj) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_instmem_engine *instmem = &dev_priv->engine.instmem; + int ret; + + NV_DEBUG(dev, "ch%d class=0x%04x offset=0x%llx size=0x%llx\n", + chan->id, class, offset, size); + NV_DEBUG(dev, "access=%d target=%d\n", access, target); + + switch (target) { + case NV_DMA_TARGET_AGP: + offset += dev_priv->gart_info.aper_base; + break; + default: + break; + } + + ret = nouveau_gpuobj_new(dev, chan, + nouveau_gpuobj_class_instmem_size(dev, class), + 16, NVOBJ_FLAG_ZERO_ALLOC | + NVOBJ_FLAG_ZERO_FREE, gpuobj); + if (ret) { + NV_ERROR(dev, "Error creating gpuobj: %d\n", ret); + return ret; + } + + instmem->prepare_access(dev, true); + + if (dev_priv->card_type < NV_50) { + uint32_t frame, adjust, pte_flags = 0; + + if (access != NV_DMA_ACCESS_RO) + pte_flags |= (1<<1); + adjust = offset & 0x00000fff; + frame = offset & ~0x00000fff; + + nv_wo32(dev, *gpuobj, 0, ((1<<12) | (1<<13) | + (adjust << 20) | + (access << 14) | + (target << 16) | + class)); + nv_wo32(dev, *gpuobj, 1, size - 1); + nv_wo32(dev, *gpuobj, 2, frame | pte_flags); + nv_wo32(dev, *gpuobj, 3, frame | pte_flags); + } else { + uint64_t limit = offset + size - 1; + uint32_t flags0, flags5; + + if (target == NV_DMA_TARGET_VIDMEM) { + flags0 = 0x00190000; + flags5 = 0x00010000; + } else { + flags0 = 0x7fc00000; + flags5 = 0x00080000; + } + + nv_wo32(dev, *gpuobj, 0, flags0 | class); + nv_wo32(dev, *gpuobj, 1, lower_32_bits(limit)); + nv_wo32(dev, *gpuobj, 2, lower_32_bits(offset)); + nv_wo32(dev, *gpuobj, 3, ((upper_32_bits(limit) & 0xff) << 24) | + (upper_32_bits(offset) & 0xff)); + nv_wo32(dev, *gpuobj, 5, flags5); + } + + instmem->finish_access(dev); + + (*gpuobj)->engine = NVOBJ_ENGINE_SW; + (*gpuobj)->class = class; + return 0; +} + +int +nouveau_gpuobj_gart_dma_new(struct nouveau_channel *chan, + uint64_t offset, uint64_t size, int access, + struct nouveau_gpuobj **gpuobj, + uint32_t *o_ret) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + int ret; + + if (dev_priv->gart_info.type == NOUVEAU_GART_AGP || + (dev_priv->card_type >= NV_50 && + dev_priv->gart_info.type == NOUVEAU_GART_SGDMA)) { + ret = nouveau_gpuobj_dma_new(chan, NV_CLASS_DMA_IN_MEMORY, + offset + dev_priv->vm_gart_base, + size, access, NV_DMA_TARGET_AGP, + gpuobj); + if (o_ret) + *o_ret = 0; + } else + if (dev_priv->gart_info.type == NOUVEAU_GART_SGDMA) { + *gpuobj = dev_priv->gart_info.sg_ctxdma; + if (offset & ~0xffffffffULL) { + NV_ERROR(dev, "obj offset exceeds 32-bits\n"); + return -EINVAL; + } + if (o_ret) + *o_ret = (uint32_t)offset; + ret = (*gpuobj != NULL) ? 0 : -EINVAL; + } else { + NV_ERROR(dev, "Invalid GART type %d\n", dev_priv->gart_info.type); + return -EINVAL; + } + + return ret; +} + +/* Context objects in the instance RAM have the following structure. + * On NV40 they are 32 byte long, on NV30 and smaller 16 bytes. + + NV4 - NV30: + + entry[0] + 11:0 class + 12 chroma key enable + 13 user clip enable + 14 swizzle enable + 17:15 patch config: + scrcopy_and, rop_and, blend_and, scrcopy, srccopy_pre, blend_pre + 18 synchronize enable + 19 endian: 1 big, 0 little + 21:20 dither mode + 23 single step enable + 24 patch status: 0 invalid, 1 valid + 25 context_surface 0: 1 valid + 26 context surface 1: 1 valid + 27 context pattern: 1 valid + 28 context rop: 1 valid + 29,30 context beta, beta4 + entry[1] + 7:0 mono format + 15:8 color format + 31:16 notify instance address + entry[2] + 15:0 dma 0 instance address + 31:16 dma 1 instance address + entry[3] + dma method traps + + NV40: + No idea what the exact format is. Here's what can be deducted: + + entry[0]: + 11:0 class (maybe uses more bits here?) + 17 user clip enable + 21:19 patch config + 25 patch status valid ? + entry[1]: + 15:0 DMA notifier (maybe 20:0) + entry[2]: + 15:0 DMA 0 instance (maybe 20:0) + 24 big endian + entry[3]: + 15:0 DMA 1 instance (maybe 20:0) + entry[4]: + entry[5]: + set to 0? +*/ +int +nouveau_gpuobj_gr_new(struct nouveau_channel *chan, int class, + struct nouveau_gpuobj **gpuobj) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + int ret; + + NV_DEBUG(dev, "ch%d class=0x%04x\n", chan->id, class); + + ret = nouveau_gpuobj_new(dev, chan, + nouveau_gpuobj_class_instmem_size(dev, class), + 16, + NVOBJ_FLAG_ZERO_ALLOC | NVOBJ_FLAG_ZERO_FREE, + gpuobj); + if (ret) { + NV_ERROR(dev, "Error creating gpuobj: %d\n", ret); + return ret; + } + + dev_priv->engine.instmem.prepare_access(dev, true); + if (dev_priv->card_type >= NV_50) { + nv_wo32(dev, *gpuobj, 0, class); + nv_wo32(dev, *gpuobj, 5, 0x00010000); + } else { + switch (class) { + case NV_CLASS_NULL: + nv_wo32(dev, *gpuobj, 0, 0x00001030); + nv_wo32(dev, *gpuobj, 1, 0xFFFFFFFF); + break; + default: + if (dev_priv->card_type >= NV_40) { + nv_wo32(dev, *gpuobj, 0, class); +#ifdef __BIG_ENDIAN + nv_wo32(dev, *gpuobj, 2, 0x01000000); +#endif + } else { +#ifdef __BIG_ENDIAN + nv_wo32(dev, *gpuobj, 0, class | 0x00080000); +#else + nv_wo32(dev, *gpuobj, 0, class); +#endif + } + } + } + dev_priv->engine.instmem.finish_access(dev); + + (*gpuobj)->engine = NVOBJ_ENGINE_GR; + (*gpuobj)->class = class; + return 0; +} + +int +nouveau_gpuobj_sw_new(struct nouveau_channel *chan, int class, + struct nouveau_gpuobj **gpuobj_ret) +{ + struct drm_nouveau_private *dev_priv; + struct nouveau_gpuobj *gpuobj; + + if (!chan || !gpuobj_ret || *gpuobj_ret != NULL) + return -EINVAL; + dev_priv = chan->dev->dev_private; + + gpuobj = kzalloc(sizeof(*gpuobj), GFP_KERNEL); + if (!gpuobj) + return -ENOMEM; + gpuobj->engine = NVOBJ_ENGINE_SW; + gpuobj->class = class; + + list_add_tail(&gpuobj->list, &dev_priv->gpuobj_list); + *gpuobj_ret = gpuobj; + return 0; +} + +static int +nouveau_gpuobj_channel_init_pramin(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *pramin = NULL; + uint32_t size; + uint32_t base; + int ret; + + NV_DEBUG(dev, "ch%d\n", chan->id); + + /* Base amount for object storage (4KiB enough?) */ + size = 0x1000; + base = 0; + + /* PGRAPH context */ + + if (dev_priv->card_type == NV_50) { + /* Various fixed table thingos */ + size += 0x1400; /* mostly unknown stuff */ + size += 0x4000; /* vm pd */ + base = 0x6000; + /* RAMHT, not sure about setting size yet, 32KiB to be safe */ + size += 0x8000; + /* RAMFC */ + size += 0x1000; + /* PGRAPH context */ + size += 0x70000; + } + + NV_DEBUG(dev, "ch%d PRAMIN size: 0x%08x bytes, base alloc=0x%08x\n", + chan->id, size, base); + ret = nouveau_gpuobj_new_ref(dev, NULL, NULL, 0, size, 0x1000, 0, + &chan->ramin); + if (ret) { + NV_ERROR(dev, "Error allocating channel PRAMIN: %d\n", ret); + return ret; + } + pramin = chan->ramin->gpuobj; + + ret = nouveau_mem_init_heap(&chan->ramin_heap, + pramin->im_pramin->start + base, size); + if (ret) { + NV_ERROR(dev, "Error creating PRAMIN heap: %d\n", ret); + nouveau_gpuobj_ref_del(dev, &chan->ramin); + return ret; + } + + return 0; +} + +int +nouveau_gpuobj_channel_init(struct nouveau_channel *chan, + uint32_t vram_h, uint32_t tt_h) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_instmem_engine *instmem = &dev_priv->engine.instmem; + struct nouveau_gpuobj *vram = NULL, *tt = NULL; + int ret, i; + + INIT_LIST_HEAD(&chan->ramht_refs); + + NV_DEBUG(dev, "ch%d vram=0x%08x tt=0x%08x\n", chan->id, vram_h, tt_h); + + /* Reserve a block of PRAMIN for the channel + *XXX: maybe on card_type == NV_50) { + ret = nouveau_gpuobj_channel_init_pramin(chan); + if (ret) { + NV_ERROR(dev, "init pramin\n"); + return ret; + } + } + + /* NV50 VM + * - Allocate per-channel page-directory + * - Map GART and VRAM into the channel's address space at the + * locations determined during init. + */ + if (dev_priv->card_type >= NV_50) { + uint32_t vm_offset, pde; + + instmem->prepare_access(dev, true); + + vm_offset = (dev_priv->chipset & 0xf0) == 0x50 ? 0x1400 : 0x200; + vm_offset += chan->ramin->gpuobj->im_pramin->start; + + ret = nouveau_gpuobj_new_fake(dev, vm_offset, ~0, 0x4000, + 0, &chan->vm_pd, NULL); + if (ret) { + instmem->finish_access(dev); + return ret; + } + for (i = 0; i < 0x4000; i += 8) { + nv_wo32(dev, chan->vm_pd, (i+0)/4, 0x00000000); + nv_wo32(dev, chan->vm_pd, (i+4)/4, 0xdeadcafe); + } + + pde = (dev_priv->vm_gart_base / (512*1024*1024)) * 2; + ret = nouveau_gpuobj_ref_add(dev, NULL, 0, + dev_priv->gart_info.sg_ctxdma, + &chan->vm_gart_pt); + if (ret) { + instmem->finish_access(dev); + return ret; + } + nv_wo32(dev, chan->vm_pd, pde++, + chan->vm_gart_pt->instance | 0x03); + nv_wo32(dev, chan->vm_pd, pde++, 0x00000000); + + pde = (dev_priv->vm_vram_base / (512*1024*1024)) * 2; + for (i = 0; i < dev_priv->vm_vram_pt_nr; i++) { + ret = nouveau_gpuobj_ref_add(dev, NULL, 0, + dev_priv->vm_vram_pt[i], + &chan->vm_vram_pt[i]); + if (ret) { + instmem->finish_access(dev); + return ret; + } + + nv_wo32(dev, chan->vm_pd, pde++, + chan->vm_vram_pt[i]->instance | 0x61); + nv_wo32(dev, chan->vm_pd, pde++, 0x00000000); + } + + instmem->finish_access(dev); + } + + /* RAMHT */ + if (dev_priv->card_type < NV_50) { + ret = nouveau_gpuobj_ref_add(dev, NULL, 0, dev_priv->ramht, + &chan->ramht); + if (ret) + return ret; + } else { + ret = nouveau_gpuobj_new_ref(dev, chan, chan, 0, + 0x8000, 16, + NVOBJ_FLAG_ZERO_ALLOC, + &chan->ramht); + if (ret) + return ret; + } + + /* VRAM ctxdma */ + if (dev_priv->card_type >= NV_50) { + ret = nouveau_gpuobj_dma_new(chan, NV_CLASS_DMA_IN_MEMORY, + 0, dev_priv->vm_end, + NV_DMA_ACCESS_RW, + NV_DMA_TARGET_AGP, &vram); + if (ret) { + NV_ERROR(dev, "Error creating VRAM ctxdma: %d\n", ret); + return ret; + } + } else { + ret = nouveau_gpuobj_dma_new(chan, NV_CLASS_DMA_IN_MEMORY, + 0, dev_priv->fb_available_size, + NV_DMA_ACCESS_RW, + NV_DMA_TARGET_VIDMEM, &vram); + if (ret) { + NV_ERROR(dev, "Error creating VRAM ctxdma: %d\n", ret); + return ret; + } + } + + ret = nouveau_gpuobj_ref_add(dev, chan, vram_h, vram, NULL); + if (ret) { + NV_ERROR(dev, "Error referencing VRAM ctxdma: %d\n", ret); + return ret; + } + + /* TT memory ctxdma */ + if (dev_priv->card_type >= NV_50) { + tt = vram; + } else + if (dev_priv->gart_info.type != NOUVEAU_GART_NONE) { + ret = nouveau_gpuobj_gart_dma_new(chan, 0, + dev_priv->gart_info.aper_size, + NV_DMA_ACCESS_RW, &tt, NULL); + } else { + NV_ERROR(dev, "Invalid GART type %d\n", dev_priv->gart_info.type); + ret = -EINVAL; + } + + if (ret) { + NV_ERROR(dev, "Error creating TT ctxdma: %d\n", ret); + return ret; + } + + ret = nouveau_gpuobj_ref_add(dev, chan, tt_h, tt, NULL); + if (ret) { + NV_ERROR(dev, "Error referencing TT ctxdma: %d\n", ret); + return ret; + } + + return 0; +} + +void +nouveau_gpuobj_channel_takedown(struct nouveau_channel *chan) +{ + struct drm_nouveau_private *dev_priv = chan->dev->dev_private; + struct drm_device *dev = chan->dev; + struct list_head *entry, *tmp; + struct nouveau_gpuobj_ref *ref; + int i; + + NV_DEBUG(dev, "ch%d\n", chan->id); + + if (!chan->ramht_refs.next) + return; + + list_for_each_safe(entry, tmp, &chan->ramht_refs) { + ref = list_entry(entry, struct nouveau_gpuobj_ref, list); + + nouveau_gpuobj_ref_del(dev, &ref); + } + + nouveau_gpuobj_ref_del(dev, &chan->ramht); + + nouveau_gpuobj_del(dev, &chan->vm_pd); + nouveau_gpuobj_ref_del(dev, &chan->vm_gart_pt); + for (i = 0; i < dev_priv->vm_vram_pt_nr; i++) + nouveau_gpuobj_ref_del(dev, &chan->vm_vram_pt[i]); + + if (chan->ramin_heap) + nouveau_mem_takedown(&chan->ramin_heap); + if (chan->ramin) + nouveau_gpuobj_ref_del(dev, &chan->ramin); + +} + +int +nouveau_gpuobj_suspend(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *gpuobj; + int i; + + if (dev_priv->card_type < NV_50) { + dev_priv->susres.ramin_copy = vmalloc(dev_priv->ramin_rsvd_vram); + if (!dev_priv->susres.ramin_copy) + return -ENOMEM; + + for (i = 0; i < dev_priv->ramin_rsvd_vram; i += 4) + dev_priv->susres.ramin_copy[i/4] = nv_ri32(dev, i); + return 0; + } + + list_for_each_entry(gpuobj, &dev_priv->gpuobj_list, list) { + if (!gpuobj->im_backing || (gpuobj->flags & NVOBJ_FLAG_FAKE)) + continue; + + gpuobj->im_backing_suspend = vmalloc(gpuobj->im_pramin->size); + if (!gpuobj->im_backing_suspend) { + nouveau_gpuobj_resume(dev); + return -ENOMEM; + } + + dev_priv->engine.instmem.prepare_access(dev, false); + for (i = 0; i < gpuobj->im_pramin->size / 4; i++) + gpuobj->im_backing_suspend[i] = nv_ro32(dev, gpuobj, i); + dev_priv->engine.instmem.finish_access(dev); + } + + return 0; +} + +void +nouveau_gpuobj_suspend_cleanup(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *gpuobj; + + if (dev_priv->card_type < NV_50) { + vfree(dev_priv->susres.ramin_copy); + dev_priv->susres.ramin_copy = NULL; + return; + } + + list_for_each_entry(gpuobj, &dev_priv->gpuobj_list, list) { + if (!gpuobj->im_backing_suspend) + continue; + + vfree(gpuobj->im_backing_suspend); + gpuobj->im_backing_suspend = NULL; + } +} + +void +nouveau_gpuobj_resume(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *gpuobj; + int i; + + if (dev_priv->card_type < NV_50) { + for (i = 0; i < dev_priv->ramin_rsvd_vram; i += 4) + nv_wi32(dev, i, dev_priv->susres.ramin_copy[i/4]); + nouveau_gpuobj_suspend_cleanup(dev); + return; + } + + list_for_each_entry(gpuobj, &dev_priv->gpuobj_list, list) { + if (!gpuobj->im_backing_suspend) + continue; + + dev_priv->engine.instmem.prepare_access(dev, true); + for (i = 0; i < gpuobj->im_pramin->size / 4; i++) + nv_wo32(dev, gpuobj, i, gpuobj->im_backing_suspend[i]); + dev_priv->engine.instmem.finish_access(dev); + } + + nouveau_gpuobj_suspend_cleanup(dev); +} + +int nouveau_ioctl_grobj_alloc(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct drm_nouveau_grobj_alloc *init = data; + struct nouveau_pgraph_engine *pgraph = &dev_priv->engine.graph; + struct nouveau_pgraph_object_class *grc; + struct nouveau_gpuobj *gr = NULL; + struct nouveau_channel *chan; + int ret; + + NOUVEAU_CHECK_INITIALISED_WITH_RETURN; + NOUVEAU_GET_USER_CHANNEL_WITH_RETURN(init->channel, file_priv, chan); + + if (init->handle == ~0) + return -EINVAL; + + grc = pgraph->grclass; + while (grc->id) { + if (grc->id == init->class) + break; + grc++; + } + + if (!grc->id) { + NV_ERROR(dev, "Illegal object class: 0x%x\n", init->class); + return -EPERM; + } + + if (nouveau_gpuobj_ref_find(chan, init->handle, NULL) == 0) + return -EEXIST; + + if (!grc->software) + ret = nouveau_gpuobj_gr_new(chan, grc->id, &gr); + else + ret = nouveau_gpuobj_sw_new(chan, grc->id, &gr); + + if (ret) { + NV_ERROR(dev, "Error creating object: %d (%d/0x%08x)\n", + ret, init->channel, init->handle); + return ret; + } + + ret = nouveau_gpuobj_ref_add(dev, chan, init->handle, gr, NULL); + if (ret) { + NV_ERROR(dev, "Error referencing object: %d (%d/0x%08x)\n", + ret, init->channel, init->handle); + nouveau_gpuobj_del(dev, &gr); + return ret; + } + + return 0; +} + +int nouveau_ioctl_gpuobj_free(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_nouveau_gpuobj_free *objfree = data; + struct nouveau_gpuobj_ref *ref; + struct nouveau_channel *chan; + int ret; + + NOUVEAU_CHECK_INITIALISED_WITH_RETURN; + NOUVEAU_GET_USER_CHANNEL_WITH_RETURN(objfree->channel, file_priv, chan); + + ret = nouveau_gpuobj_ref_find(chan, objfree->handle, &ref); + if (ret) + return ret; + nouveau_gpuobj_ref_del(dev, &ref); + + return 0; +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_reg.h +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_reg.h @@ -0,0 +1,837 @@ + + +#define NV03_BOOT_0 0x00100000 +# define NV03_BOOT_0_RAM_AMOUNT 0x00000003 +# define NV03_BOOT_0_RAM_AMOUNT_8MB 0x00000000 +# define NV03_BOOT_0_RAM_AMOUNT_2MB 0x00000001 +# define NV03_BOOT_0_RAM_AMOUNT_4MB 0x00000002 +# define NV03_BOOT_0_RAM_AMOUNT_8MB_SDRAM 0x00000003 +# define NV04_BOOT_0_RAM_AMOUNT_32MB 0x00000000 +# define NV04_BOOT_0_RAM_AMOUNT_4MB 0x00000001 +# define NV04_BOOT_0_RAM_AMOUNT_8MB 0x00000002 +# define NV04_BOOT_0_RAM_AMOUNT_16MB 0x00000003 + +#define NV04_FIFO_DATA 0x0010020c +# define NV10_FIFO_DATA_RAM_AMOUNT_MB_MASK 0xfff00000 +# define NV10_FIFO_DATA_RAM_AMOUNT_MB_SHIFT 20 + +#define NV_RAMIN 0x00700000 + +#define NV_RAMHT_HANDLE_OFFSET 0 +#define NV_RAMHT_CONTEXT_OFFSET 4 +# define NV_RAMHT_CONTEXT_VALID (1<<31) +# define NV_RAMHT_CONTEXT_CHANNEL_SHIFT 24 +# define NV_RAMHT_CONTEXT_ENGINE_SHIFT 16 +# define NV_RAMHT_CONTEXT_ENGINE_SOFTWARE 0 +# define NV_RAMHT_CONTEXT_ENGINE_GRAPHICS 1 +# define NV_RAMHT_CONTEXT_INSTANCE_SHIFT 0 +# define NV40_RAMHT_CONTEXT_CHANNEL_SHIFT 23 +# define NV40_RAMHT_CONTEXT_ENGINE_SHIFT 20 +# define NV40_RAMHT_CONTEXT_INSTANCE_SHIFT 0 + +/* DMA object defines */ +#define NV_DMA_ACCESS_RW 0 +#define NV_DMA_ACCESS_RO 1 +#define NV_DMA_ACCESS_WO 2 +#define NV_DMA_TARGET_VIDMEM 0 +#define NV_DMA_TARGET_PCI 2 +#define NV_DMA_TARGET_AGP 3 +/* The following is not a real value used by the card, it's changed by + * nouveau_object_dma_create */ +#define NV_DMA_TARGET_PCI_NONLINEAR 8 + +/* Some object classes we care about in the drm */ +#define NV_CLASS_DMA_FROM_MEMORY 0x00000002 +#define NV_CLASS_DMA_TO_MEMORY 0x00000003 +#define NV_CLASS_NULL 0x00000030 +#define NV_CLASS_DMA_IN_MEMORY 0x0000003D + +#define NV03_USER(i) (0x00800000+(i*NV03_USER_SIZE)) +#define NV03_USER__SIZE 16 +#define NV10_USER__SIZE 32 +#define NV03_USER_SIZE 0x00010000 +#define NV03_USER_DMA_PUT(i) (0x00800040+(i*NV03_USER_SIZE)) +#define NV03_USER_DMA_PUT__SIZE 16 +#define NV10_USER_DMA_PUT__SIZE 32 +#define NV03_USER_DMA_GET(i) (0x00800044+(i*NV03_USER_SIZE)) +#define NV03_USER_DMA_GET__SIZE 16 +#define NV10_USER_DMA_GET__SIZE 32 +#define NV03_USER_REF_CNT(i) (0x00800048+(i*NV03_USER_SIZE)) +#define NV03_USER_REF_CNT__SIZE 16 +#define NV10_USER_REF_CNT__SIZE 32 + +#define NV40_USER(i) (0x00c00000+(i*NV40_USER_SIZE)) +#define NV40_USER_SIZE 0x00001000 +#define NV40_USER_DMA_PUT(i) (0x00c00040+(i*NV40_USER_SIZE)) +#define NV40_USER_DMA_PUT__SIZE 32 +#define NV40_USER_DMA_GET(i) (0x00c00044+(i*NV40_USER_SIZE)) +#define NV40_USER_DMA_GET__SIZE 32 +#define NV40_USER_REF_CNT(i) (0x00c00048+(i*NV40_USER_SIZE)) +#define NV40_USER_REF_CNT__SIZE 32 + +#define NV50_USER(i) (0x00c00000+(i*NV50_USER_SIZE)) +#define NV50_USER_SIZE 0x00002000 +#define NV50_USER_DMA_PUT(i) (0x00c00040+(i*NV50_USER_SIZE)) +#define NV50_USER_DMA_PUT__SIZE 128 +#define NV50_USER_DMA_GET(i) (0x00c00044+(i*NV50_USER_SIZE)) +#define NV50_USER_DMA_GET__SIZE 128 +#define NV50_USER_REF_CNT(i) (0x00c00048+(i*NV50_USER_SIZE)) +#define NV50_USER_REF_CNT__SIZE 128 + +#define NV03_FIFO_SIZE 0x8000UL + +#define NV03_PMC_BOOT_0 0x00000000 +#define NV03_PMC_BOOT_1 0x00000004 +#define NV03_PMC_INTR_0 0x00000100 +# define NV_PMC_INTR_0_PFIFO_PENDING (1<<8) +# define NV_PMC_INTR_0_PGRAPH_PENDING (1<<12) +# define NV_PMC_INTR_0_NV50_I2C_PENDING (1<<21) +# define NV_PMC_INTR_0_CRTC0_PENDING (1<<24) +# define NV_PMC_INTR_0_CRTC1_PENDING (1<<25) +# define NV_PMC_INTR_0_NV50_DISPLAY_PENDING (1<<26) +# define NV_PMC_INTR_0_CRTCn_PENDING (3<<24) +#define NV03_PMC_INTR_EN_0 0x00000140 +# define NV_PMC_INTR_EN_0_MASTER_ENABLE (1<<0) +#define NV03_PMC_ENABLE 0x00000200 +# define NV_PMC_ENABLE_PFIFO (1<<8) +# define NV_PMC_ENABLE_PGRAPH (1<<12) +/* Disabling the below bit breaks newer (G7X only?) mobile chipsets, + * the card will hang early on in the X init process. + */ +# define NV_PMC_ENABLE_UNK13 (1<<13) +#define NV40_PMC_GRAPH_UNITS 0x00001540 +#define NV40_PMC_BACKLIGHT 0x000015f0 +# define NV40_PMC_BACKLIGHT_MASK 0x001f0000 +#define NV40_PMC_1700 0x00001700 +#define NV40_PMC_1704 0x00001704 +#define NV40_PMC_1708 0x00001708 +#define NV40_PMC_170C 0x0000170C + +/* probably PMC ? */ +#define NV50_PUNK_BAR0_PRAMIN 0x00001700 +#define NV50_PUNK_BAR_CFG_BASE 0x00001704 +#define NV50_PUNK_BAR_CFG_BASE_VALID (1<<30) +#define NV50_PUNK_BAR1_CTXDMA 0x00001708 +#define NV50_PUNK_BAR1_CTXDMA_VALID (1<<31) +#define NV50_PUNK_BAR3_CTXDMA 0x0000170C +#define NV50_PUNK_BAR3_CTXDMA_VALID (1<<31) +#define NV50_PUNK_UNK1710 0x00001710 + +#define NV04_PBUS_PCI_NV_1 0x00001804 +#define NV04_PBUS_PCI_NV_19 0x0000184C +#define NV04_PBUS_PCI_NV_20 0x00001850 +# define NV04_PBUS_PCI_NV_20_ROM_SHADOW_DISABLED (0 << 0) +# define NV04_PBUS_PCI_NV_20_ROM_SHADOW_ENABLED (1 << 0) + +#define NV04_PTIMER_INTR_0 0x00009100 +#define NV04_PTIMER_INTR_EN_0 0x00009140 +#define NV04_PTIMER_NUMERATOR 0x00009200 +#define NV04_PTIMER_DENOMINATOR 0x00009210 +#define NV04_PTIMER_TIME_0 0x00009400 +#define NV04_PTIMER_TIME_1 0x00009410 +#define NV04_PTIMER_ALARM_0 0x00009420 + +#define NV04_PFB_CFG0 0x00100200 +#define NV04_PFB_CFG1 0x00100204 +#define NV40_PFB_020C 0x0010020C +#define NV10_PFB_TILE(i) (0x00100240 + (i*16)) +#define NV10_PFB_TILE__SIZE 8 +#define NV10_PFB_TLIMIT(i) (0x00100244 + (i*16)) +#define NV10_PFB_TSIZE(i) (0x00100248 + (i*16)) +#define NV10_PFB_TSTATUS(i) (0x0010024C + (i*16)) +#define NV10_PFB_CLOSE_PAGE2 0x0010033C +#define NV40_PFB_TILE(i) (0x00100600 + (i*16)) +#define NV40_PFB_TILE__SIZE_0 12 +#define NV40_PFB_TILE__SIZE_1 15 +#define NV40_PFB_TLIMIT(i) (0x00100604 + (i*16)) +#define NV40_PFB_TSIZE(i) (0x00100608 + (i*16)) +#define NV40_PFB_TSTATUS(i) (0x0010060C + (i*16)) +#define NV40_PFB_UNK_800 0x00100800 + +#define NV04_PGRAPH_DEBUG_0 0x00400080 +#define NV04_PGRAPH_DEBUG_1 0x00400084 +#define NV04_PGRAPH_DEBUG_2 0x00400088 +#define NV04_PGRAPH_DEBUG_3 0x0040008c +#define NV10_PGRAPH_DEBUG_4 0x00400090 +#define NV03_PGRAPH_INTR 0x00400100 +#define NV03_PGRAPH_NSTATUS 0x00400104 +# define NV04_PGRAPH_NSTATUS_STATE_IN_USE (1<<11) +# define NV04_PGRAPH_NSTATUS_INVALID_STATE (1<<12) +# define NV04_PGRAPH_NSTATUS_BAD_ARGUMENT (1<<13) +# define NV04_PGRAPH_NSTATUS_PROTECTION_FAULT (1<<14) +# define NV10_PGRAPH_NSTATUS_STATE_IN_USE (1<<23) +# define NV10_PGRAPH_NSTATUS_INVALID_STATE (1<<24) +# define NV10_PGRAPH_NSTATUS_BAD_ARGUMENT (1<<25) +# define NV10_PGRAPH_NSTATUS_PROTECTION_FAULT (1<<26) +#define NV03_PGRAPH_NSOURCE 0x00400108 +# define NV03_PGRAPH_NSOURCE_NOTIFICATION (1<<0) +# define NV03_PGRAPH_NSOURCE_DATA_ERROR (1<<1) +# define NV03_PGRAPH_NSOURCE_PROTECTION_ERROR (1<<2) +# define NV03_PGRAPH_NSOURCE_RANGE_EXCEPTION (1<<3) +# define NV03_PGRAPH_NSOURCE_LIMIT_COLOR (1<<4) +# define NV03_PGRAPH_NSOURCE_LIMIT_ZETA (1<<5) +# define NV03_PGRAPH_NSOURCE_ILLEGAL_MTHD (1<<6) +# define NV03_PGRAPH_NSOURCE_DMA_R_PROTECTION (1<<7) +# define NV03_PGRAPH_NSOURCE_DMA_W_PROTECTION (1<<8) +# define NV03_PGRAPH_NSOURCE_FORMAT_EXCEPTION (1<<9) +# define NV03_PGRAPH_NSOURCE_PATCH_EXCEPTION (1<<10) +# define NV03_PGRAPH_NSOURCE_STATE_INVALID (1<<11) +# define NV03_PGRAPH_NSOURCE_DOUBLE_NOTIFY (1<<12) +# define NV03_PGRAPH_NSOURCE_NOTIFY_IN_USE (1<<13) +# define NV03_PGRAPH_NSOURCE_METHOD_CNT (1<<14) +# define NV03_PGRAPH_NSOURCE_BFR_NOTIFICATION (1<<15) +# define NV03_PGRAPH_NSOURCE_DMA_VTX_PROTECTION (1<<16) +# define NV03_PGRAPH_NSOURCE_DMA_WIDTH_A (1<<17) +# define NV03_PGRAPH_NSOURCE_DMA_WIDTH_B (1<<18) +#define NV03_PGRAPH_INTR_EN 0x00400140 +#define NV40_PGRAPH_INTR_EN 0x0040013C +# define NV_PGRAPH_INTR_NOTIFY (1<<0) +# define NV_PGRAPH_INTR_MISSING_HW (1<<4) +# define NV_PGRAPH_INTR_CONTEXT_SWITCH (1<<12) +# define NV_PGRAPH_INTR_BUFFER_NOTIFY (1<<16) +# define NV_PGRAPH_INTR_ERROR (1<<20) +#define NV10_PGRAPH_CTX_CONTROL 0x00400144 +#define NV10_PGRAPH_CTX_USER 0x00400148 +#define NV10_PGRAPH_CTX_SWITCH1 0x0040014C +#define NV10_PGRAPH_CTX_SWITCH2 0x00400150 +#define NV10_PGRAPH_CTX_SWITCH3 0x00400154 +#define NV10_PGRAPH_CTX_SWITCH4 0x00400158 +#define NV10_PGRAPH_CTX_SWITCH5 0x0040015C +#define NV04_PGRAPH_CTX_SWITCH1 0x00400160 +#define NV10_PGRAPH_CTX_CACHE1 0x00400160 +#define NV04_PGRAPH_CTX_SWITCH2 0x00400164 +#define NV04_PGRAPH_CTX_SWITCH3 0x00400168 +#define NV04_PGRAPH_CTX_SWITCH4 0x0040016C +#define NV04_PGRAPH_CTX_CONTROL 0x00400170 +#define NV04_PGRAPH_CTX_USER 0x00400174 +#define NV04_PGRAPH_CTX_CACHE1 0x00400180 +#define NV10_PGRAPH_CTX_CACHE2 0x00400180 +#define NV03_PGRAPH_CTX_CONTROL 0x00400190 +#define NV03_PGRAPH_CTX_USER 0x00400194 +#define NV04_PGRAPH_CTX_CACHE2 0x004001A0 +#define NV10_PGRAPH_CTX_CACHE3 0x004001A0 +#define NV04_PGRAPH_CTX_CACHE3 0x004001C0 +#define NV10_PGRAPH_CTX_CACHE4 0x004001C0 +#define NV04_PGRAPH_CTX_CACHE4 0x004001E0 +#define NV10_PGRAPH_CTX_CACHE5 0x004001E0 +#define NV40_PGRAPH_CTXCTL_0304 0x00400304 +#define NV40_PGRAPH_CTXCTL_0304_XFER_CTX 0x00000001 +#define NV40_PGRAPH_CTXCTL_UCODE_STAT 0x00400308 +#define NV40_PGRAPH_CTXCTL_UCODE_STAT_IP_MASK 0xff000000 +#define NV40_PGRAPH_CTXCTL_UCODE_STAT_IP_SHIFT 24 +#define NV40_PGRAPH_CTXCTL_UCODE_STAT_OP_MASK 0x00ffffff +#define NV40_PGRAPH_CTXCTL_0310 0x00400310 +#define NV40_PGRAPH_CTXCTL_0310_XFER_SAVE 0x00000020 +#define NV40_PGRAPH_CTXCTL_0310_XFER_LOAD 0x00000040 +#define NV40_PGRAPH_CTXCTL_030C 0x0040030c +#define NV40_PGRAPH_CTXCTL_UCODE_INDEX 0x00400324 +#define NV40_PGRAPH_CTXCTL_UCODE_DATA 0x00400328 +#define NV40_PGRAPH_CTXCTL_CUR 0x0040032c +#define NV40_PGRAPH_CTXCTL_CUR_LOADED 0x01000000 +#define NV40_PGRAPH_CTXCTL_CUR_INSTANCE 0x000FFFFF +#define NV40_PGRAPH_CTXCTL_NEXT 0x00400330 +#define NV40_PGRAPH_CTXCTL_NEXT_INSTANCE 0x000fffff +#define NV50_PGRAPH_CTXCTL_CUR 0x0040032c +#define NV50_PGRAPH_CTXCTL_CUR_LOADED 0x80000000 +#define NV50_PGRAPH_CTXCTL_CUR_INSTANCE 0x00ffffff +#define NV50_PGRAPH_CTXCTL_NEXT 0x00400330 +#define NV50_PGRAPH_CTXCTL_NEXT_INSTANCE 0x00ffffff +#define NV03_PGRAPH_ABS_X_RAM 0x00400400 +#define NV03_PGRAPH_ABS_Y_RAM 0x00400480 +#define NV03_PGRAPH_X_MISC 0x00400500 +#define NV03_PGRAPH_Y_MISC 0x00400504 +#define NV04_PGRAPH_VALID1 0x00400508 +#define NV04_PGRAPH_SOURCE_COLOR 0x0040050C +#define NV04_PGRAPH_MISC24_0 0x00400510 +#define NV03_PGRAPH_XY_LOGIC_MISC0 0x00400514 +#define NV03_PGRAPH_XY_LOGIC_MISC1 0x00400518 +#define NV03_PGRAPH_XY_LOGIC_MISC2 0x0040051C +#define NV03_PGRAPH_XY_LOGIC_MISC3 0x00400520 +#define NV03_PGRAPH_CLIPX_0 0x00400524 +#define NV03_PGRAPH_CLIPX_1 0x00400528 +#define NV03_PGRAPH_CLIPY_0 0x0040052C +#define NV03_PGRAPH_CLIPY_1 0x00400530 +#define NV03_PGRAPH_ABS_ICLIP_XMAX 0x00400534 +#define NV03_PGRAPH_ABS_ICLIP_YMAX 0x00400538 +#define NV03_PGRAPH_ABS_UCLIP_XMIN 0x0040053C +#define NV03_PGRAPH_ABS_UCLIP_YMIN 0x00400540 +#define NV03_PGRAPH_ABS_UCLIP_XMAX 0x00400544 +#define NV03_PGRAPH_ABS_UCLIP_YMAX 0x00400548 +#define NV03_PGRAPH_ABS_UCLIPA_XMIN 0x00400560 +#define NV03_PGRAPH_ABS_UCLIPA_YMIN 0x00400564 +#define NV03_PGRAPH_ABS_UCLIPA_XMAX 0x00400568 +#define NV03_PGRAPH_ABS_UCLIPA_YMAX 0x0040056C +#define NV04_PGRAPH_MISC24_1 0x00400570 +#define NV04_PGRAPH_MISC24_2 0x00400574 +#define NV04_PGRAPH_VALID2 0x00400578 +#define NV04_PGRAPH_PASSTHRU_0 0x0040057C +#define NV04_PGRAPH_PASSTHRU_1 0x00400580 +#define NV04_PGRAPH_PASSTHRU_2 0x00400584 +#define NV10_PGRAPH_DIMX_TEXTURE 0x00400588 +#define NV10_PGRAPH_WDIMX_TEXTURE 0x0040058C +#define NV04_PGRAPH_COMBINE_0_ALPHA 0x00400590 +#define NV04_PGRAPH_COMBINE_0_COLOR 0x00400594 +#define NV04_PGRAPH_COMBINE_1_ALPHA 0x00400598 +#define NV04_PGRAPH_COMBINE_1_COLOR 0x0040059C +#define NV04_PGRAPH_FORMAT_0 0x004005A8 +#define NV04_PGRAPH_FORMAT_1 0x004005AC +#define NV04_PGRAPH_FILTER_0 0x004005B0 +#define NV04_PGRAPH_FILTER_1 0x004005B4 +#define NV03_PGRAPH_MONO_COLOR0 0x00400600 +#define NV04_PGRAPH_ROP3 0x00400604 +#define NV04_PGRAPH_BETA_AND 0x00400608 +#define NV04_PGRAPH_BETA_PREMULT 0x0040060C +#define NV04_PGRAPH_LIMIT_VIOL_PIX 0x00400610 +#define NV04_PGRAPH_FORMATS 0x00400618 +#define NV10_PGRAPH_DEBUG_2 0x00400620 +#define NV04_PGRAPH_BOFFSET0 0x00400640 +#define NV04_PGRAPH_BOFFSET1 0x00400644 +#define NV04_PGRAPH_BOFFSET2 0x00400648 +#define NV04_PGRAPH_BOFFSET3 0x0040064C +#define NV04_PGRAPH_BOFFSET4 0x00400650 +#define NV04_PGRAPH_BOFFSET5 0x00400654 +#define NV04_PGRAPH_BBASE0 0x00400658 +#define NV04_PGRAPH_BBASE1 0x0040065C +#define NV04_PGRAPH_BBASE2 0x00400660 +#define NV04_PGRAPH_BBASE3 0x00400664 +#define NV04_PGRAPH_BBASE4 0x00400668 +#define NV04_PGRAPH_BBASE5 0x0040066C +#define NV04_PGRAPH_BPITCH0 0x00400670 +#define NV04_PGRAPH_BPITCH1 0x00400674 +#define NV04_PGRAPH_BPITCH2 0x00400678 +#define NV04_PGRAPH_BPITCH3 0x0040067C +#define NV04_PGRAPH_BPITCH4 0x00400680 +#define NV04_PGRAPH_BLIMIT0 0x00400684 +#define NV04_PGRAPH_BLIMIT1 0x00400688 +#define NV04_PGRAPH_BLIMIT2 0x0040068C +#define NV04_PGRAPH_BLIMIT3 0x00400690 +#define NV04_PGRAPH_BLIMIT4 0x00400694 +#define NV04_PGRAPH_BLIMIT5 0x00400698 +#define NV04_PGRAPH_BSWIZZLE2 0x0040069C +#define NV04_PGRAPH_BSWIZZLE5 0x004006A0 +#define NV03_PGRAPH_STATUS 0x004006B0 +#define NV04_PGRAPH_STATUS 0x00400700 +#define NV04_PGRAPH_TRAPPED_ADDR 0x00400704 +#define NV04_PGRAPH_TRAPPED_DATA 0x00400708 +#define NV04_PGRAPH_SURFACE 0x0040070C +#define NV10_PGRAPH_TRAPPED_DATA_HIGH 0x0040070C +#define NV04_PGRAPH_STATE 0x00400710 +#define NV10_PGRAPH_SURFACE 0x00400710 +#define NV04_PGRAPH_NOTIFY 0x00400714 +#define NV10_PGRAPH_STATE 0x00400714 +#define NV10_PGRAPH_NOTIFY 0x00400718 + +#define NV04_PGRAPH_FIFO 0x00400720 + +#define NV04_PGRAPH_BPIXEL 0x00400724 +#define NV10_PGRAPH_RDI_INDEX 0x00400750 +#define NV04_PGRAPH_FFINTFC_ST2 0x00400754 +#define NV10_PGRAPH_RDI_DATA 0x00400754 +#define NV04_PGRAPH_DMA_PITCH 0x00400760 +#define NV10_PGRAPH_FFINTFC_ST2 0x00400764 +#define NV04_PGRAPH_DVD_COLORFMT 0x00400764 +#define NV04_PGRAPH_SCALED_FORMAT 0x00400768 +#define NV10_PGRAPH_DMA_PITCH 0x00400770 +#define NV10_PGRAPH_DVD_COLORFMT 0x00400774 +#define NV10_PGRAPH_SCALED_FORMAT 0x00400778 +#define NV20_PGRAPH_CHANNEL_CTX_TABLE 0x00400780 +#define NV20_PGRAPH_CHANNEL_CTX_POINTER 0x00400784 +#define NV20_PGRAPH_CHANNEL_CTX_XFER 0x00400788 +#define NV20_PGRAPH_CHANNEL_CTX_XFER_LOAD 0x00000001 +#define NV20_PGRAPH_CHANNEL_CTX_XFER_SAVE 0x00000002 +#define NV04_PGRAPH_PATT_COLOR0 0x00400800 +#define NV04_PGRAPH_PATT_COLOR1 0x00400804 +#define NV04_PGRAPH_PATTERN 0x00400808 +#define NV04_PGRAPH_PATTERN_SHAPE 0x00400810 +#define NV04_PGRAPH_CHROMA 0x00400814 +#define NV04_PGRAPH_CONTROL0 0x00400818 +#define NV04_PGRAPH_CONTROL1 0x0040081C +#define NV04_PGRAPH_CONTROL2 0x00400820 +#define NV04_PGRAPH_BLEND 0x00400824 +#define NV04_PGRAPH_STORED_FMT 0x00400830 +#define NV04_PGRAPH_PATT_COLORRAM 0x00400900 +#define NV20_PGRAPH_TILE(i) (0x00400900 + (i*16)) +#define NV20_PGRAPH_TLIMIT(i) (0x00400904 + (i*16)) +#define NV20_PGRAPH_TSIZE(i) (0x00400908 + (i*16)) +#define NV20_PGRAPH_TSTATUS(i) (0x0040090C + (i*16)) +#define NV10_PGRAPH_TILE(i) (0x00400B00 + (i*16)) +#define NV10_PGRAPH_TLIMIT(i) (0x00400B04 + (i*16)) +#define NV10_PGRAPH_TSIZE(i) (0x00400B08 + (i*16)) +#define NV10_PGRAPH_TSTATUS(i) (0x00400B0C + (i*16)) +#define NV04_PGRAPH_U_RAM 0x00400D00 +#define NV47_PGRAPH_TILE(i) (0x00400D00 + (i*16)) +#define NV47_PGRAPH_TLIMIT(i) (0x00400D04 + (i*16)) +#define NV47_PGRAPH_TSIZE(i) (0x00400D08 + (i*16)) +#define NV47_PGRAPH_TSTATUS(i) (0x00400D0C + (i*16)) +#define NV04_PGRAPH_V_RAM 0x00400D40 +#define NV04_PGRAPH_W_RAM 0x00400D80 +#define NV10_PGRAPH_COMBINER0_IN_ALPHA 0x00400E40 +#define NV10_PGRAPH_COMBINER1_IN_ALPHA 0x00400E44 +#define NV10_PGRAPH_COMBINER0_IN_RGB 0x00400E48 +#define NV10_PGRAPH_COMBINER1_IN_RGB 0x00400E4C +#define NV10_PGRAPH_COMBINER_COLOR0 0x00400E50 +#define NV10_PGRAPH_COMBINER_COLOR1 0x00400E54 +#define NV10_PGRAPH_COMBINER0_OUT_ALPHA 0x00400E58 +#define NV10_PGRAPH_COMBINER1_OUT_ALPHA 0x00400E5C +#define NV10_PGRAPH_COMBINER0_OUT_RGB 0x00400E60 +#define NV10_PGRAPH_COMBINER1_OUT_RGB 0x00400E64 +#define NV10_PGRAPH_COMBINER_FINAL0 0x00400E68 +#define NV10_PGRAPH_COMBINER_FINAL1 0x00400E6C +#define NV10_PGRAPH_WINDOWCLIP_HORIZONTAL 0x00400F00 +#define NV10_PGRAPH_WINDOWCLIP_VERTICAL 0x00400F20 +#define NV10_PGRAPH_XFMODE0 0x00400F40 +#define NV10_PGRAPH_XFMODE1 0x00400F44 +#define NV10_PGRAPH_GLOBALSTATE0 0x00400F48 +#define NV10_PGRAPH_GLOBALSTATE1 0x00400F4C +#define NV10_PGRAPH_PIPE_ADDRESS 0x00400F50 +#define NV10_PGRAPH_PIPE_DATA 0x00400F54 +#define NV04_PGRAPH_DMA_START_0 0x00401000 +#define NV04_PGRAPH_DMA_START_1 0x00401004 +#define NV04_PGRAPH_DMA_LENGTH 0x00401008 +#define NV04_PGRAPH_DMA_MISC 0x0040100C +#define NV04_PGRAPH_DMA_DATA_0 0x00401020 +#define NV04_PGRAPH_DMA_DATA_1 0x00401024 +#define NV04_PGRAPH_DMA_RM 0x00401030 +#define NV04_PGRAPH_DMA_A_XLATE_INST 0x00401040 +#define NV04_PGRAPH_DMA_A_CONTROL 0x00401044 +#define NV04_PGRAPH_DMA_A_LIMIT 0x00401048 +#define NV04_PGRAPH_DMA_A_TLB_PTE 0x0040104C +#define NV04_PGRAPH_DMA_A_TLB_TAG 0x00401050 +#define NV04_PGRAPH_DMA_A_ADJ_OFFSET 0x00401054 +#define NV04_PGRAPH_DMA_A_OFFSET 0x00401058 +#define NV04_PGRAPH_DMA_A_SIZE 0x0040105C +#define NV04_PGRAPH_DMA_A_Y_SIZE 0x00401060 +#define NV04_PGRAPH_DMA_B_XLATE_INST 0x00401080 +#define NV04_PGRAPH_DMA_B_CONTROL 0x00401084 +#define NV04_PGRAPH_DMA_B_LIMIT 0x00401088 +#define NV04_PGRAPH_DMA_B_TLB_PTE 0x0040108C +#define NV04_PGRAPH_DMA_B_TLB_TAG 0x00401090 +#define NV04_PGRAPH_DMA_B_ADJ_OFFSET 0x00401094 +#define NV04_PGRAPH_DMA_B_OFFSET 0x00401098 +#define NV04_PGRAPH_DMA_B_SIZE 0x0040109C +#define NV04_PGRAPH_DMA_B_Y_SIZE 0x004010A0 +#define NV40_PGRAPH_TILE1(i) (0x00406900 + (i*16)) +#define NV40_PGRAPH_TLIMIT1(i) (0x00406904 + (i*16)) +#define NV40_PGRAPH_TSIZE1(i) (0x00406908 + (i*16)) +#define NV40_PGRAPH_TSTATUS1(i) (0x0040690C + (i*16)) + + +/* It's a guess that this works on NV03. Confirmed on NV04, though */ +#define NV04_PFIFO_DELAY_0 0x00002040 +#define NV04_PFIFO_DMA_TIMESLICE 0x00002044 +#define NV04_PFIFO_NEXT_CHANNEL 0x00002050 +#define NV03_PFIFO_INTR_0 0x00002100 +#define NV03_PFIFO_INTR_EN_0 0x00002140 +# define NV_PFIFO_INTR_CACHE_ERROR (1<<0) +# define NV_PFIFO_INTR_RUNOUT (1<<4) +# define NV_PFIFO_INTR_RUNOUT_OVERFLOW (1<<8) +# define NV_PFIFO_INTR_DMA_PUSHER (1<<12) +# define NV_PFIFO_INTR_DMA_PT (1<<16) +# define NV_PFIFO_INTR_SEMAPHORE (1<<20) +# define NV_PFIFO_INTR_ACQUIRE_TIMEOUT (1<<24) +#define NV03_PFIFO_RAMHT 0x00002210 +#define NV03_PFIFO_RAMFC 0x00002214 +#define NV03_PFIFO_RAMRO 0x00002218 +#define NV40_PFIFO_RAMFC 0x00002220 +#define NV03_PFIFO_CACHES 0x00002500 +#define NV04_PFIFO_MODE 0x00002504 +#define NV04_PFIFO_DMA 0x00002508 +#define NV04_PFIFO_SIZE 0x0000250c +#define NV50_PFIFO_CTX_TABLE(c) (0x2600+(c)*4) +#define NV50_PFIFO_CTX_TABLE__SIZE 128 +#define NV50_PFIFO_CTX_TABLE_CHANNEL_ENABLED (1<<31) +#define NV50_PFIFO_CTX_TABLE_UNK30_BAD (1<<30) +#define NV50_PFIFO_CTX_TABLE_INSTANCE_MASK_G80 0x0FFFFFFF +#define NV50_PFIFO_CTX_TABLE_INSTANCE_MASK_G84 0x00FFFFFF +#define NV03_PFIFO_CACHE0_PUSH0 0x00003000 +#define NV03_PFIFO_CACHE0_PULL0 0x00003040 +#define NV04_PFIFO_CACHE0_PULL0 0x00003050 +#define NV04_PFIFO_CACHE0_PULL1 0x00003054 +#define NV03_PFIFO_CACHE1_PUSH0 0x00003200 +#define NV03_PFIFO_CACHE1_PUSH1 0x00003204 +#define NV03_PFIFO_CACHE1_PUSH1_DMA (1<<8) +#define NV40_PFIFO_CACHE1_PUSH1_DMA (1<<16) +#define NV03_PFIFO_CACHE1_PUSH1_CHID_MASK 0x0000000f +#define NV10_PFIFO_CACHE1_PUSH1_CHID_MASK 0x0000001f +#define NV50_PFIFO_CACHE1_PUSH1_CHID_MASK 0x0000007f +#define NV03_PFIFO_CACHE1_PUT 0x00003210 +#define NV04_PFIFO_CACHE1_DMA_PUSH 0x00003220 +#define NV04_PFIFO_CACHE1_DMA_FETCH 0x00003224 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_8_BYTES 0x00000000 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_16_BYTES 0x00000008 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_24_BYTES 0x00000010 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_32_BYTES 0x00000018 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_40_BYTES 0x00000020 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_48_BYTES 0x00000028 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_56_BYTES 0x00000030 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_64_BYTES 0x00000038 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_72_BYTES 0x00000040 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_80_BYTES 0x00000048 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_88_BYTES 0x00000050 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_96_BYTES 0x00000058 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_104_BYTES 0x00000060 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_112_BYTES 0x00000068 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_120_BYTES 0x00000070 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_128_BYTES 0x00000078 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_136_BYTES 0x00000080 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_144_BYTES 0x00000088 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_152_BYTES 0x00000090 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_160_BYTES 0x00000098 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_168_BYTES 0x000000A0 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_176_BYTES 0x000000A8 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_184_BYTES 0x000000B0 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_192_BYTES 0x000000B8 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_200_BYTES 0x000000C0 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_208_BYTES 0x000000C8 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_216_BYTES 0x000000D0 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_224_BYTES 0x000000D8 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_232_BYTES 0x000000E0 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_240_BYTES 0x000000E8 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_248_BYTES 0x000000F0 +# define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_256_BYTES 0x000000F8 +# define NV_PFIFO_CACHE1_DMA_FETCH_SIZE 0x0000E000 +# define NV_PFIFO_CACHE1_DMA_FETCH_SIZE_32_BYTES 0x00000000 +# define NV_PFIFO_CACHE1_DMA_FETCH_SIZE_64_BYTES 0x00002000 +# define NV_PFIFO_CACHE1_DMA_FETCH_SIZE_96_BYTES 0x00004000 +# define NV_PFIFO_CACHE1_DMA_FETCH_SIZE_128_BYTES 0x00006000 +# define NV_PFIFO_CACHE1_DMA_FETCH_SIZE_160_BYTES 0x00008000 +# define NV_PFIFO_CACHE1_DMA_FETCH_SIZE_192_BYTES 0x0000A000 +# define NV_PFIFO_CACHE1_DMA_FETCH_SIZE_224_BYTES 0x0000C000 +# define NV_PFIFO_CACHE1_DMA_FETCH_SIZE_256_BYTES 0x0000E000 +# define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS 0x001F0000 +# define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_0 0x00000000 +# define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_1 0x00010000 +# define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_2 0x00020000 +# define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_3 0x00030000 +# define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_4 0x00040000 +# define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_5 0x00050000 +# define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_6 0x00060000 +# define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_7 0x00070000 +# define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_8 0x00080000 +# define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_9 0x00090000 +# define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_10 0x000A0000 +# define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_11 0x000B0000 +# define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_12 0x000C0000 +# define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_13 0x000D0000 +# define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_14 0x000E0000 +# define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_15 0x000F0000 +# define NV_PFIFO_CACHE1_ENDIAN 0x80000000 +# define NV_PFIFO_CACHE1_LITTLE_ENDIAN 0x7FFFFFFF +# define NV_PFIFO_CACHE1_BIG_ENDIAN 0x80000000 +#define NV04_PFIFO_CACHE1_DMA_STATE 0x00003228 +#define NV04_PFIFO_CACHE1_DMA_INSTANCE 0x0000322c +#define NV04_PFIFO_CACHE1_DMA_CTL 0x00003230 +#define NV04_PFIFO_CACHE1_DMA_PUT 0x00003240 +#define NV04_PFIFO_CACHE1_DMA_GET 0x00003244 +#define NV10_PFIFO_CACHE1_REF_CNT 0x00003248 +#define NV10_PFIFO_CACHE1_DMA_SUBROUTINE 0x0000324C +#define NV03_PFIFO_CACHE1_PULL0 0x00003240 +#define NV04_PFIFO_CACHE1_PULL0 0x00003250 +#define NV03_PFIFO_CACHE1_PULL1 0x00003250 +#define NV04_PFIFO_CACHE1_PULL1 0x00003254 +#define NV04_PFIFO_CACHE1_HASH 0x00003258 +#define NV10_PFIFO_CACHE1_ACQUIRE_TIMEOUT 0x00003260 +#define NV10_PFIFO_CACHE1_ACQUIRE_TIMESTAMP 0x00003264 +#define NV10_PFIFO_CACHE1_ACQUIRE_VALUE 0x00003268 +#define NV10_PFIFO_CACHE1_SEMAPHORE 0x0000326C +#define NV03_PFIFO_CACHE1_GET 0x00003270 +#define NV04_PFIFO_CACHE1_ENGINE 0x00003280 +#define NV04_PFIFO_CACHE1_DMA_DCOUNT 0x000032A0 +#define NV40_PFIFO_GRCTX_INSTANCE 0x000032E0 +#define NV40_PFIFO_UNK32E4 0x000032E4 +#define NV04_PFIFO_CACHE1_METHOD(i) (0x00003800+(i*8)) +#define NV04_PFIFO_CACHE1_DATA(i) (0x00003804+(i*8)) +#define NV40_PFIFO_CACHE1_METHOD(i) (0x00090000+(i*8)) +#define NV40_PFIFO_CACHE1_DATA(i) (0x00090004+(i*8)) + +#define NV_CRTC0_INTSTAT 0x00600100 +#define NV_CRTC0_INTEN 0x00600140 +#define NV_CRTC1_INTSTAT 0x00602100 +#define NV_CRTC1_INTEN 0x00602140 +# define NV_CRTC_INTR_VBLANK (1<<0) + +#define NV04_PRAMIN 0x00700000 + +/* Fifo commands. These are not regs, neither masks */ +#define NV03_FIFO_CMD_JUMP 0x20000000 +#define NV03_FIFO_CMD_JUMP_OFFSET_MASK 0x1ffffffc +#define NV03_FIFO_CMD_REWIND (NV03_FIFO_CMD_JUMP | (0 & NV03_FIFO_CMD_JUMP_OFFSET_MASK)) + +/* This is a partial import from rules-ng, a few things may be duplicated. + * Eventually we should completely import everything from rules-ng. + * For the moment check rules-ng for docs. + */ + +#define NV50_PMC 0x00000000 +#define NV50_PMC__LEN 0x1 +#define NV50_PMC__ESIZE 0x2000 +# define NV50_PMC_BOOT_0 0x00000000 +# define NV50_PMC_BOOT_0_REVISION 0x000000ff +# define NV50_PMC_BOOT_0_REVISION__SHIFT 0 +# define NV50_PMC_BOOT_0_ARCH 0x0ff00000 +# define NV50_PMC_BOOT_0_ARCH__SHIFT 20 +# define NV50_PMC_INTR_0 0x00000100 +# define NV50_PMC_INTR_0_PFIFO (1<<8) +# define NV50_PMC_INTR_0_PGRAPH (1<<12) +# define NV50_PMC_INTR_0_PTIMER (1<<20) +# define NV50_PMC_INTR_0_HOTPLUG (1<<21) +# define NV50_PMC_INTR_0_DISPLAY (1<<26) +# define NV50_PMC_INTR_EN_0 0x00000140 +# define NV50_PMC_INTR_EN_0_MASTER (1<<0) +# define NV50_PMC_INTR_EN_0_MASTER_DISABLED (0<<0) +# define NV50_PMC_INTR_EN_0_MASTER_ENABLED (1<<0) +# define NV50_PMC_ENABLE 0x00000200 +# define NV50_PMC_ENABLE_PFIFO (1<<8) +# define NV50_PMC_ENABLE_PGRAPH (1<<12) + +#define NV50_PCONNECTOR 0x0000e000 +#define NV50_PCONNECTOR__LEN 0x1 +#define NV50_PCONNECTOR__ESIZE 0x1000 +# define NV50_PCONNECTOR_HOTPLUG_INTR 0x0000e050 +# define NV50_PCONNECTOR_HOTPLUG_INTR_PLUG_I2C0 (1<<0) +# define NV50_PCONNECTOR_HOTPLUG_INTR_PLUG_I2C1 (1<<1) +# define NV50_PCONNECTOR_HOTPLUG_INTR_PLUG_I2C2 (1<<2) +# define NV50_PCONNECTOR_HOTPLUG_INTR_PLUG_I2C3 (1<<3) +# define NV50_PCONNECTOR_HOTPLUG_INTR_UNPLUG_I2C0 (1<<16) +# define NV50_PCONNECTOR_HOTPLUG_INTR_UNPLUG_I2C1 (1<<17) +# define NV50_PCONNECTOR_HOTPLUG_INTR_UNPLUG_I2C2 (1<<18) +# define NV50_PCONNECTOR_HOTPLUG_INTR_UNPLUG_I2C3 (1<<19) +# define NV50_PCONNECTOR_HOTPLUG_CTRL 0x0000e054 +# define NV50_PCONNECTOR_HOTPLUG_CTRL_PLUG_I2C0 (1<<0) +# define NV50_PCONNECTOR_HOTPLUG_CTRL_PLUG_I2C1 (1<<1) +# define NV50_PCONNECTOR_HOTPLUG_CTRL_PLUG_I2C2 (1<<2) +# define NV50_PCONNECTOR_HOTPLUG_CTRL_PLUG_I2C3 (1<<3) +# define NV50_PCONNECTOR_HOTPLUG_CTRL_UNPLUG_I2C0 (1<<16) +# define NV50_PCONNECTOR_HOTPLUG_CTRL_UNPLUG_I2C1 (1<<17) +# define NV50_PCONNECTOR_HOTPLUG_CTRL_UNPLUG_I2C2 (1<<18) +# define NV50_PCONNECTOR_HOTPLUG_CTRL_UNPLUG_I2C3 (1<<19) +# define NV50_PCONNECTOR_HOTPLUG_STATE 0x0000e104 +# define NV50_PCONNECTOR_HOTPLUG_STATE_PIN_CONNECTED_I2C0 (1<<2) +# define NV50_PCONNECTOR_HOTPLUG_STATE_PIN_CONNECTED_I2C1 (1<<6) +# define NV50_PCONNECTOR_HOTPLUG_STATE_PIN_CONNECTED_I2C2 (1<<10) +# define NV50_PCONNECTOR_HOTPLUG_STATE_PIN_CONNECTED_I2C3 (1<<14) +# define NV50_PCONNECTOR_I2C_PORT_0 0x0000e138 +# define NV50_PCONNECTOR_I2C_PORT_1 0x0000e150 +# define NV50_PCONNECTOR_I2C_PORT_2 0x0000e168 +# define NV50_PCONNECTOR_I2C_PORT_3 0x0000e180 +# define NV50_PCONNECTOR_I2C_PORT_4 0x0000e240 +# define NV50_PCONNECTOR_I2C_PORT_5 0x0000e258 + +#define NV50_AUXCH_DATA_OUT(i,n) ((n) * 4 + (i) * 0x50 + 0x0000e4c0) +#define NV50_AUXCH_DATA_OUT__SIZE 4 +#define NV50_AUXCH_DATA_IN(i,n) ((n) * 4 + (i) * 0x50 + 0x0000e4d0) +#define NV50_AUXCH_DATA_IN__SIZE 4 +#define NV50_AUXCH_ADDR(i) ((i) * 0x50 + 0x0000e4e0) +#define NV50_AUXCH_CTRL(i) ((i) * 0x50 + 0x0000e4e4) +#define NV50_AUXCH_CTRL_LINKSTAT 0x01000000 +#define NV50_AUXCH_CTRL_LINKSTAT_NOT_READY 0x00000000 +#define NV50_AUXCH_CTRL_LINKSTAT_READY 0x01000000 +#define NV50_AUXCH_CTRL_LINKEN 0x00100000 +#define NV50_AUXCH_CTRL_LINKEN_DISABLED 0x00000000 +#define NV50_AUXCH_CTRL_LINKEN_ENABLED 0x00100000 +#define NV50_AUXCH_CTRL_EXEC 0x00010000 +#define NV50_AUXCH_CTRL_EXEC_COMPLETE 0x00000000 +#define NV50_AUXCH_CTRL_EXEC_IN_PROCESS 0x00010000 +#define NV50_AUXCH_CTRL_CMD 0x0000f000 +#define NV50_AUXCH_CTRL_CMD_SHIFT 12 +#define NV50_AUXCH_CTRL_LEN 0x0000000f +#define NV50_AUXCH_CTRL_LEN_SHIFT 0 +#define NV50_AUXCH_STAT(i) ((i) * 0x50 + 0x0000e4e8) +#define NV50_AUXCH_STAT_STATE 0x10000000 +#define NV50_AUXCH_STAT_STATE_NOT_READY 0x00000000 +#define NV50_AUXCH_STAT_STATE_READY 0x10000000 +#define NV50_AUXCH_STAT_REPLY 0x000f0000 +#define NV50_AUXCH_STAT_REPLY_AUX 0x00030000 +#define NV50_AUXCH_STAT_REPLY_AUX_ACK 0x00000000 +#define NV50_AUXCH_STAT_REPLY_AUX_NACK 0x00010000 +#define NV50_AUXCH_STAT_REPLY_AUX_DEFER 0x00020000 +#define NV50_AUXCH_STAT_REPLY_I2C 0x000c0000 +#define NV50_AUXCH_STAT_REPLY_I2C_ACK 0x00000000 +#define NV50_AUXCH_STAT_REPLY_I2C_NACK 0x00040000 +#define NV50_AUXCH_STAT_REPLY_I2C_DEFER 0x00080000 +#define NV50_AUXCH_STAT_COUNT 0x0000001f + +#define NV50_PBUS 0x00088000 +#define NV50_PBUS__LEN 0x1 +#define NV50_PBUS__ESIZE 0x1000 +# define NV50_PBUS_PCI_ID 0x00088000 +# define NV50_PBUS_PCI_ID_VENDOR_ID 0x0000ffff +# define NV50_PBUS_PCI_ID_VENDOR_ID__SHIFT 0 +# define NV50_PBUS_PCI_ID_DEVICE_ID 0xffff0000 +# define NV50_PBUS_PCI_ID_DEVICE_ID__SHIFT 16 + +#define NV50_PFB 0x00100000 +#define NV50_PFB__LEN 0x1 +#define NV50_PFB__ESIZE 0x1000 + +#define NV50_PEXTDEV 0x00101000 +#define NV50_PEXTDEV__LEN 0x1 +#define NV50_PEXTDEV__ESIZE 0x1000 + +#define NV50_PROM 0x00300000 +#define NV50_PROM__LEN 0x1 +#define NV50_PROM__ESIZE 0x10000 + +#define NV50_PGRAPH 0x00400000 +#define NV50_PGRAPH__LEN 0x1 +#define NV50_PGRAPH__ESIZE 0x10000 + +#define NV50_PDISPLAY 0x00610000 +#define NV50_PDISPLAY_OBJECTS 0x00610010 +#define NV50_PDISPLAY_INTR_0 0x00610020 +#define NV50_PDISPLAY_INTR_1 0x00610024 +#define NV50_PDISPLAY_INTR_1_VBLANK_CRTC 0x0000000c +#define NV50_PDISPLAY_INTR_1_VBLANK_CRTC_SHIFT 2 +#define NV50_PDISPLAY_INTR_1_VBLANK_CRTC_(n) (1 << ((n) + 2)) +#define NV50_PDISPLAY_INTR_1_VBLANK_CRTC_0 0x00000004 +#define NV50_PDISPLAY_INTR_1_VBLANK_CRTC_1 0x00000008 +#define NV50_PDISPLAY_INTR_1_CLK_UNK10 0x00000010 +#define NV50_PDISPLAY_INTR_1_CLK_UNK20 0x00000020 +#define NV50_PDISPLAY_INTR_1_CLK_UNK40 0x00000040 +#define NV50_PDISPLAY_INTR_EN 0x0061002c +#define NV50_PDISPLAY_INTR_EN_VBLANK_CRTC 0x0000000c +#define NV50_PDISPLAY_INTR_EN_VBLANK_CRTC_(n) (1 << ((n) + 2)) +#define NV50_PDISPLAY_INTR_EN_VBLANK_CRTC_0 0x00000004 +#define NV50_PDISPLAY_INTR_EN_VBLANK_CRTC_1 0x00000008 +#define NV50_PDISPLAY_INTR_EN_CLK_UNK10 0x00000010 +#define NV50_PDISPLAY_INTR_EN_CLK_UNK20 0x00000020 +#define NV50_PDISPLAY_INTR_EN_CLK_UNK40 0x00000040 +#define NV50_PDISPLAY_UNK30_CTRL 0x00610030 +#define NV50_PDISPLAY_UNK30_CTRL_UPDATE_VCLK0 0x00000200 +#define NV50_PDISPLAY_UNK30_CTRL_UPDATE_VCLK1 0x00000400 +#define NV50_PDISPLAY_UNK30_CTRL_PENDING 0x80000000 +#define NV50_PDISPLAY_TRAPPED_ADDR 0x00610080 +#define NV50_PDISPLAY_TRAPPED_DATA 0x00610084 +#define NV50_PDISPLAY_CHANNEL_STAT(i) ((i) * 0x10 + 0x00610200) +#define NV50_PDISPLAY_CHANNEL_STAT_DMA 0x00000010 +#define NV50_PDISPLAY_CHANNEL_STAT_DMA_DISABLED 0x00000000 +#define NV50_PDISPLAY_CHANNEL_STAT_DMA_ENABLED 0x00000010 +#define NV50_PDISPLAY_CHANNEL_DMA_CB(i) ((i) * 0x10 + 0x00610204) +#define NV50_PDISPLAY_CHANNEL_DMA_CB_LOCATION 0x00000002 +#define NV50_PDISPLAY_CHANNEL_DMA_CB_LOCATION_VRAM 0x00000000 +#define NV50_PDISPLAY_CHANNEL_DMA_CB_LOCATION_SYSTEM 0x00000002 +#define NV50_PDISPLAY_CHANNEL_DMA_CB_VALID 0x00000001 +#define NV50_PDISPLAY_CHANNEL_UNK2(i) ((i) * 0x10 + 0x00610208) +#define NV50_PDISPLAY_CHANNEL_UNK3(i) ((i) * 0x10 + 0x0061020c) + +#define NV50_PDISPLAY_CURSOR 0x00610270 +#define NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(i) ((i) * 0x10 + 0x00610270) +#define NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_ON 0x00000001 +#define NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS 0x00030000 +#define NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS_ACTIVE 0x00010000 + +#define NV50_PDISPLAY_CTRL_STATE 0x00610300 +#define NV50_PDISPLAY_CTRL_STATE_PENDING 0x80000000 +#define NV50_PDISPLAY_CTRL_STATE_METHOD 0x00001ffc +#define NV50_PDISPLAY_CTRL_STATE_ENABLE 0x00000001 +#define NV50_PDISPLAY_CTRL_VAL 0x00610304 +#define NV50_PDISPLAY_UNK_380 0x00610380 +#define NV50_PDISPLAY_RAM_AMOUNT 0x00610384 +#define NV50_PDISPLAY_UNK_388 0x00610388 +#define NV50_PDISPLAY_UNK_38C 0x0061038c + +#define NV50_PDISPLAY_CRTC_P(i, r) ((i) * 0x540 + NV50_PDISPLAY_CRTC_##r) +#define NV50_PDISPLAY_CRTC_C(i, r) (4 + (i) * 0x540 + NV50_PDISPLAY_CRTC_##r) +#define NV50_PDISPLAY_CRTC_UNK_0A18 /* mthd 0x0900 */ 0x00610a18 +#define NV50_PDISPLAY_CRTC_CLUT_MODE 0x00610a24 +#define NV50_PDISPLAY_CRTC_INTERLACE 0x00610a48 +#define NV50_PDISPLAY_CRTC_SCALE_CTRL 0x00610a50 +#define NV50_PDISPLAY_CRTC_CURSOR_CTRL 0x00610a58 +#define NV50_PDISPLAY_CRTC_UNK0A78 /* mthd 0x0904 */ 0x00610a78 +#define NV50_PDISPLAY_CRTC_UNK0AB8 0x00610ab8 +#define NV50_PDISPLAY_CRTC_DEPTH 0x00610ac8 +#define NV50_PDISPLAY_CRTC_CLOCK 0x00610ad0 +#define NV50_PDISPLAY_CRTC_COLOR_CTRL 0x00610ae0 +#define NV50_PDISPLAY_CRTC_SYNC_START_TO_BLANK_END 0x00610ae8 +#define NV50_PDISPLAY_CRTC_MODE_UNK1 0x00610af0 +#define NV50_PDISPLAY_CRTC_DISPLAY_TOTAL 0x00610af8 +#define NV50_PDISPLAY_CRTC_SYNC_DURATION 0x00610b00 +#define NV50_PDISPLAY_CRTC_MODE_UNK2 0x00610b08 +#define NV50_PDISPLAY_CRTC_UNK_0B10 /* mthd 0x0828 */ 0x00610b10 +#define NV50_PDISPLAY_CRTC_FB_SIZE 0x00610b18 +#define NV50_PDISPLAY_CRTC_FB_PITCH 0x00610b20 +#define NV50_PDISPLAY_CRTC_FB_PITCH_LINEAR 0x00100000 +#define NV50_PDISPLAY_CRTC_FB_POS 0x00610b28 +#define NV50_PDISPLAY_CRTC_SCALE_CENTER_OFFSET 0x00610b38 +#define NV50_PDISPLAY_CRTC_REAL_RES 0x00610b40 +#define NV50_PDISPLAY_CRTC_SCALE_RES1 0x00610b48 +#define NV50_PDISPLAY_CRTC_SCALE_RES2 0x00610b50 + +#define NV50_PDISPLAY_DAC_MODE_CTRL_P(i) (0x00610b58 + (i) * 0x8) +#define NV50_PDISPLAY_DAC_MODE_CTRL_C(i) (0x00610b5c + (i) * 0x8) +#define NV50_PDISPLAY_SOR_MODE_CTRL_P(i) (0x00610b70 + (i) * 0x8) +#define NV50_PDISPLAY_SOR_MODE_CTRL_C(i) (0x00610b74 + (i) * 0x8) +#define NV50_PDISPLAY_DAC_MODE_CTRL2_P(i) (0x00610bdc + (i) * 0x8) +#define NV50_PDISPLAY_DAC_MODE_CTRL2_C(i) (0x00610be0 + (i) * 0x8) + +#define NV90_PDISPLAY_SOR_MODE_CTRL_P(i) (0x00610794 + (i) * 0x8) +#define NV90_PDISPLAY_SOR_MODE_CTRL_C(i) (0x00610798 + (i) * 0x8) +#define NV90_PDISPLAY_DAC_MODE_CTRL_P(i) (0x00610b58 + (i) * 0x8) +#define NV90_PDISPLAY_DAC_MODE_CTRL_C(i) (0x00610b5c + (i) * 0x8) +#define NV90_PDISPLAY_DAC_MODE_CTRL2_P(i) (0x00610b80 + (i) * 0x8) +#define NV90_PDISPLAY_DAC_MODE_CTRL2_C(i) (0x00610b84 + (i) * 0x8) + +#define NV50_PDISPLAY_CRTC_CLK 0x00614000 +#define NV50_PDISPLAY_CRTC_CLK_CTRL1(i) ((i) * 0x800 + 0x614100) +#define NV50_PDISPLAY_CRTC_CLK_CTRL1_CONNECTED 0x00000600 +#define NV50_PDISPLAY_CRTC_CLK_VPLL_A(i) ((i) * 0x800 + 0x614104) +#define NV50_PDISPLAY_CRTC_CLK_VPLL_B(i) ((i) * 0x800 + 0x614108) +#define NV50_PDISPLAY_CRTC_CLK_CTRL2(i) ((i) * 0x800 + 0x614200) + +#define NV50_PDISPLAY_DAC_CLK 0x00614000 +#define NV50_PDISPLAY_DAC_CLK_CTRL2(i) ((i) * 0x800 + 0x614280) + +#define NV50_PDISPLAY_SOR_CLK 0x00614000 +#define NV50_PDISPLAY_SOR_CLK_CTRL2(i) ((i) * 0x800 + 0x614300) + +#define NV50_PDISPLAY_VGACRTC(r) ((r) + 0x619400) + +#define NV50_PDISPLAY_DAC 0x0061a000 +#define NV50_PDISPLAY_DAC_DPMS_CTRL(i) (0x0061a004 + (i) * 0x800) +#define NV50_PDISPLAY_DAC_DPMS_CTRL_HSYNC_OFF 0x00000001 +#define NV50_PDISPLAY_DAC_DPMS_CTRL_VSYNC_OFF 0x00000004 +#define NV50_PDISPLAY_DAC_DPMS_CTRL_BLANKED 0x00000010 +#define NV50_PDISPLAY_DAC_DPMS_CTRL_OFF 0x00000040 +#define NV50_PDISPLAY_DAC_DPMS_CTRL_PENDING 0x80000000 +#define NV50_PDISPLAY_DAC_LOAD_CTRL(i) (0x0061a00c + (i) * 0x800) +#define NV50_PDISPLAY_DAC_LOAD_CTRL_ACTIVE 0x00100000 +#define NV50_PDISPLAY_DAC_LOAD_CTRL_PRESENT 0x38000000 +#define NV50_PDISPLAY_DAC_LOAD_CTRL_DONE 0x80000000 +#define NV50_PDISPLAY_DAC_CLK_CTRL1(i) (0x0061a010 + (i) * 0x800) +#define NV50_PDISPLAY_DAC_CLK_CTRL1_CONNECTED 0x00000600 + +#define NV50_PDISPLAY_SOR 0x0061c000 +#define NV50_PDISPLAY_SOR_DPMS_CTRL(i) (0x0061c004 + (i) * 0x800) +#define NV50_PDISPLAY_SOR_DPMS_CTRL_PENDING 0x80000000 +#define NV50_PDISPLAY_SOR_DPMS_CTRL_ON 0x00000001 +#define NV50_PDISPLAY_SOR_CLK_CTRL1(i) (0x0061c008 + (i) * 0x800) +#define NV50_PDISPLAY_SOR_CLK_CTRL1_CONNECTED 0x00000600 +#define NV50_PDISPLAY_SOR_DPMS_STATE(i) (0x0061c030 + (i) * 0x800) +#define NV50_PDISPLAY_SOR_DPMS_STATE_ACTIVE 0x00030000 +#define NV50_PDISPLAY_SOR_DPMS_STATE_BLANKED 0x00080000 +#define NV50_PDISPLAY_SOR_DPMS_STATE_WAIT 0x10000000 +#define NV50_PDISPLAY_SOR_BACKLIGHT 0x0061c084 +#define NV50_PDISPLAY_SOR_BACKLIGHT_ENABLE 0x80000000 +#define NV50_PDISPLAY_SOR_BACKLIGHT_LEVEL 0x00000fff +#define NV50_SOR_DP_CTRL(i,l) (0x0061c10c + (i) * 0x800 + (l) * 0x80) +#define NV50_SOR_DP_CTRL_ENHANCED_FRAME_ENABLED 0x00004000 +#define NV50_SOR_DP_CTRL_LANE_MASK 0x001f0000 +#define NV50_SOR_DP_CTRL_LANE_0_ENABLED 0x00010000 +#define NV50_SOR_DP_CTRL_LANE_1_ENABLED 0x00020000 +#define NV50_SOR_DP_CTRL_LANE_2_ENABLED 0x00040000 +#define NV50_SOR_DP_CTRL_LANE_3_ENABLED 0x00080000 +#define NV50_SOR_DP_CTRL_TRAINING_PATTERN 0x0f000000 +#define NV50_SOR_DP_CTRL_TRAINING_PATTERN_DISABLED 0x00000000 +#define NV50_SOR_DP_CTRL_TRAINING_PATTERN_1 0x01000000 +#define NV50_SOR_DP_CTRL_TRAINING_PATTERN_2 0x02000000 +#define NV50_SOR_DP_UNK118(i,l) (0x0061c118 + (i) * 0x800 + (l) * 0x80) +#define NV50_SOR_DP_UNK120(i,l) (0x0061c120 + (i) * 0x800 + (l) * 0x80) +#define NV50_SOR_DP_UNK130(i,l) (0x0061c130 + (i) * 0x800 + (l) * 0x80) + +#define NV50_PDISPLAY_USER(i) ((i) * 0x1000 + 0x00640000) +#define NV50_PDISPLAY_USER_PUT(i) ((i) * 0x1000 + 0x00640000) +#define NV50_PDISPLAY_USER_GET(i) ((i) * 0x1000 + 0x00640004) + +#define NV50_PDISPLAY_CURSOR_USER 0x00647000 +#define NV50_PDISPLAY_CURSOR_USER_POS_CTRL(i) ((i) * 0x1000 + 0x00647080) +#define NV50_PDISPLAY_CURSOR_USER_POS(i) ((i) * 0x1000 + 0x00647084) --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_sgdma.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_sgdma.c @@ -0,0 +1,322 @@ +#include "drmP.h" +#include "nouveau_drv.h" +#include + +#define NV_CTXDMA_PAGE_SHIFT 12 +#define NV_CTXDMA_PAGE_SIZE (1 << NV_CTXDMA_PAGE_SHIFT) +#define NV_CTXDMA_PAGE_MASK (NV_CTXDMA_PAGE_SIZE - 1) + +struct nouveau_sgdma_be { + struct ttm_backend backend; + struct drm_device *dev; + + dma_addr_t *pages; + unsigned nr_pages; + + unsigned pte_start; + bool bound; +}; + +static int +nouveau_sgdma_populate(struct ttm_backend *be, unsigned long num_pages, + struct page **pages, struct page *dummy_read_page) +{ + struct nouveau_sgdma_be *nvbe = (struct nouveau_sgdma_be *)be; + struct drm_device *dev = nvbe->dev; + + NV_DEBUG(nvbe->dev, "num_pages = %ld\n", num_pages); + + if (nvbe->pages) + return -EINVAL; + + nvbe->pages = kmalloc(sizeof(dma_addr_t) * num_pages, GFP_KERNEL); + if (!nvbe->pages) + return -ENOMEM; + + nvbe->nr_pages = 0; + while (num_pages--) { + nvbe->pages[nvbe->nr_pages] = + pci_map_page(dev->pdev, pages[nvbe->nr_pages], 0, + PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); + if (pci_dma_mapping_error(dev->pdev, + nvbe->pages[nvbe->nr_pages])) { + be->func->clear(be); + return -EFAULT; + } + + nvbe->nr_pages++; + } + + return 0; +} + +static void +nouveau_sgdma_clear(struct ttm_backend *be) +{ + struct nouveau_sgdma_be *nvbe = (struct nouveau_sgdma_be *)be; + struct drm_device *dev; + + if (nvbe && nvbe->pages) { + dev = nvbe->dev; + NV_DEBUG(dev, "\n"); + + if (nvbe->bound) + be->func->unbind(be); + + while (nvbe->nr_pages--) { + pci_unmap_page(dev->pdev, nvbe->pages[nvbe->nr_pages], + PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); + } + kfree(nvbe->pages); + nvbe->pages = NULL; + nvbe->nr_pages = 0; + } +} + +static inline unsigned +nouveau_sgdma_pte(struct drm_device *dev, uint64_t offset) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + unsigned pte = (offset >> NV_CTXDMA_PAGE_SHIFT); + + if (dev_priv->card_type < NV_50) + return pte + 2; + + return pte << 1; +} + +static int +nouveau_sgdma_bind(struct ttm_backend *be, struct ttm_mem_reg *mem) +{ + struct nouveau_sgdma_be *nvbe = (struct nouveau_sgdma_be *)be; + struct drm_device *dev = nvbe->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *gpuobj = dev_priv->gart_info.sg_ctxdma; + unsigned i, j, pte; + + NV_DEBUG(dev, "pg=0x%lx\n", mem->mm_node->start); + + dev_priv->engine.instmem.prepare_access(nvbe->dev, true); + pte = nouveau_sgdma_pte(nvbe->dev, mem->mm_node->start << PAGE_SHIFT); + nvbe->pte_start = pte; + for (i = 0; i < nvbe->nr_pages; i++) { + dma_addr_t dma_offset = nvbe->pages[i]; + uint32_t offset_l = lower_32_bits(dma_offset); + uint32_t offset_h = upper_32_bits(dma_offset); + + for (j = 0; j < PAGE_SIZE / NV_CTXDMA_PAGE_SIZE; j++) { + if (dev_priv->card_type < NV_50) + nv_wo32(dev, gpuobj, pte++, offset_l | 3); + else { + nv_wo32(dev, gpuobj, pte++, offset_l | 0x21); + nv_wo32(dev, gpuobj, pte++, offset_h & 0xff); + } + + dma_offset += NV_CTXDMA_PAGE_SIZE; + } + } + dev_priv->engine.instmem.finish_access(nvbe->dev); + + if (dev_priv->card_type == NV_50) { + nv_wr32(dev, 0x100c80, 0x00050001); + if (!nv_wait(0x100c80, 0x00000001, 0x00000000)) { + NV_ERROR(dev, "timeout: (0x100c80 & 1) == 0 (2)\n"); + NV_ERROR(dev, "0x100c80 = 0x%08x\n", + nv_rd32(dev, 0x100c80)); + return -EBUSY; + } + + nv_wr32(dev, 0x100c80, 0x00000001); + if (!nv_wait(0x100c80, 0x00000001, 0x00000000)) { + NV_ERROR(dev, "timeout: (0x100c80 & 1) == 0 (2)\n"); + NV_ERROR(dev, "0x100c80 = 0x%08x\n", + nv_rd32(dev, 0x100c80)); + return -EBUSY; + } + } + + nvbe->bound = true; + return 0; +} + +static int +nouveau_sgdma_unbind(struct ttm_backend *be) +{ + struct nouveau_sgdma_be *nvbe = (struct nouveau_sgdma_be *)be; + struct drm_device *dev = nvbe->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *gpuobj = dev_priv->gart_info.sg_ctxdma; + unsigned i, j, pte; + + NV_DEBUG(dev, "\n"); + + if (!nvbe->bound) + return 0; + + dev_priv->engine.instmem.prepare_access(nvbe->dev, true); + pte = nvbe->pte_start; + for (i = 0; i < nvbe->nr_pages; i++) { + dma_addr_t dma_offset = dev_priv->gart_info.sg_dummy_bus; + + for (j = 0; j < PAGE_SIZE / NV_CTXDMA_PAGE_SIZE; j++) { + if (dev_priv->card_type < NV_50) + nv_wo32(dev, gpuobj, pte++, dma_offset | 3); + else { + nv_wo32(dev, gpuobj, pte++, dma_offset | 0x21); + nv_wo32(dev, gpuobj, pte++, 0x00000000); + } + + dma_offset += NV_CTXDMA_PAGE_SIZE; + } + } + dev_priv->engine.instmem.finish_access(nvbe->dev); + + nvbe->bound = false; + return 0; +} + +static void +nouveau_sgdma_destroy(struct ttm_backend *be) +{ + struct nouveau_sgdma_be *nvbe = (struct nouveau_sgdma_be *)be; + + if (be) { + NV_DEBUG(nvbe->dev, "\n"); + + if (nvbe) { + if (nvbe->pages) + be->func->clear(be); + kfree(nvbe); + } + } +} + +static struct ttm_backend_func nouveau_sgdma_backend = { + .populate = nouveau_sgdma_populate, + .clear = nouveau_sgdma_clear, + .bind = nouveau_sgdma_bind, + .unbind = nouveau_sgdma_unbind, + .destroy = nouveau_sgdma_destroy +}; + +struct ttm_backend * +nouveau_sgdma_init_ttm(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_sgdma_be *nvbe; + + if (!dev_priv->gart_info.sg_ctxdma) + return NULL; + + nvbe = kzalloc(sizeof(*nvbe), GFP_KERNEL); + if (!nvbe) + return NULL; + + nvbe->dev = dev; + + nvbe->backend.func = &nouveau_sgdma_backend; + + return &nvbe->backend; +} + +int +nouveau_sgdma_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *gpuobj = NULL; + uint32_t aper_size, obj_size; + int i, ret; + + if (dev_priv->card_type < NV_50) { + aper_size = (64 * 1024 * 1024); + obj_size = (aper_size >> NV_CTXDMA_PAGE_SHIFT) * 4; + obj_size += 8; /* ctxdma header */ + } else { + /* 1 entire VM page table */ + aper_size = (512 * 1024 * 1024); + obj_size = (aper_size >> NV_CTXDMA_PAGE_SHIFT) * 8; + } + + ret = nouveau_gpuobj_new(dev, NULL, obj_size, 16, + NVOBJ_FLAG_ALLOW_NO_REFS | + NVOBJ_FLAG_ZERO_ALLOC | + NVOBJ_FLAG_ZERO_FREE, &gpuobj); + if (ret) { + NV_ERROR(dev, "Error creating sgdma object: %d\n", ret); + return ret; + } + + dev_priv->gart_info.sg_dummy_page = + alloc_page(GFP_KERNEL|__GFP_DMA32); + set_bit(PG_locked, &dev_priv->gart_info.sg_dummy_page->flags); + dev_priv->gart_info.sg_dummy_bus = + pci_map_page(dev->pdev, dev_priv->gart_info.sg_dummy_page, 0, + PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); + + dev_priv->engine.instmem.prepare_access(dev, true); + if (dev_priv->card_type < NV_50) { + /* Maybe use NV_DMA_TARGET_AGP for PCIE? NVIDIA do this, and + * confirmed to work on c51. Perhaps means NV_DMA_TARGET_PCIE + * on those cards? */ + nv_wo32(dev, gpuobj, 0, NV_CLASS_DMA_IN_MEMORY | + (1 << 12) /* PT present */ | + (0 << 13) /* PT *not* linear */ | + (NV_DMA_ACCESS_RW << 14) | + (NV_DMA_TARGET_PCI << 16)); + nv_wo32(dev, gpuobj, 1, aper_size - 1); + for (i = 2; i < 2 + (aper_size >> 12); i++) { + nv_wo32(dev, gpuobj, i, + dev_priv->gart_info.sg_dummy_bus | 3); + } + } else { + for (i = 0; i < obj_size; i += 8) { + nv_wo32(dev, gpuobj, (i+0)/4, + dev_priv->gart_info.sg_dummy_bus | 0x21); + nv_wo32(dev, gpuobj, (i+4)/4, 0); + } + } + dev_priv->engine.instmem.finish_access(dev); + + dev_priv->gart_info.type = NOUVEAU_GART_SGDMA; + dev_priv->gart_info.aper_base = 0; + dev_priv->gart_info.aper_size = aper_size; + dev_priv->gart_info.sg_ctxdma = gpuobj; + return 0; +} + +void +nouveau_sgdma_takedown(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + if (dev_priv->gart_info.sg_dummy_page) { + pci_unmap_page(dev->pdev, dev_priv->gart_info.sg_dummy_bus, + NV_CTXDMA_PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); + unlock_page(dev_priv->gart_info.sg_dummy_page); + __free_page(dev_priv->gart_info.sg_dummy_page); + dev_priv->gart_info.sg_dummy_page = NULL; + dev_priv->gart_info.sg_dummy_bus = 0; + } + + nouveau_gpuobj_del(dev, &dev_priv->gart_info.sg_ctxdma); +} + +int +nouveau_sgdma_get_page(struct drm_device *dev, uint32_t offset, uint32_t *page) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *gpuobj = dev_priv->gart_info.sg_ctxdma; + struct nouveau_instmem_engine *instmem = &dev_priv->engine.instmem; + int pte; + + pte = (offset >> NV_CTXDMA_PAGE_SHIFT); + if (dev_priv->card_type < NV_50) { + instmem->prepare_access(dev, false); + *page = nv_ro32(dev, gpuobj, (pte + 2)) & ~NV_CTXDMA_PAGE_MASK; + instmem->finish_access(dev); + return 0; + } + + NV_ERROR(dev, "Unimplemented on NV50\n"); + return -EINVAL; +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_state.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_state.c @@ -0,0 +1,932 @@ +/* + * Copyright 2005 Stephane Marchesin + * Copyright 2008 Stuart Bennett + * 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 + * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#include +#include "drmP.h" +#include "drm.h" +#include "drm_sarea.h" +#include "drm_crtc_helper.h" +#include + +#include "nouveau_drv.h" +#include "nouveau_drm.h" +#include "nv50_display.h" + +static int nouveau_stub_init(struct drm_device *dev) { return 0; } +static void nouveau_stub_takedown(struct drm_device *dev) {} + +static int nouveau_init_engine_ptrs(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_engine *engine = &dev_priv->engine; + + switch (dev_priv->chipset & 0xf0) { + case 0x00: + engine->instmem.init = nv04_instmem_init; + engine->instmem.takedown = nv04_instmem_takedown; + engine->instmem.suspend = nv04_instmem_suspend; + engine->instmem.resume = nv04_instmem_resume; + engine->instmem.populate = nv04_instmem_populate; + engine->instmem.clear = nv04_instmem_clear; + engine->instmem.bind = nv04_instmem_bind; + engine->instmem.unbind = nv04_instmem_unbind; + engine->instmem.prepare_access = nv04_instmem_prepare_access; + engine->instmem.finish_access = nv04_instmem_finish_access; + engine->mc.init = nv04_mc_init; + engine->mc.takedown = nv04_mc_takedown; + engine->timer.init = nv04_timer_init; + engine->timer.read = nv04_timer_read; + engine->timer.takedown = nv04_timer_takedown; + engine->fb.init = nv04_fb_init; + engine->fb.takedown = nv04_fb_takedown; + engine->graph.grclass = nv04_graph_grclass; + engine->graph.init = nv04_graph_init; + engine->graph.takedown = nv04_graph_takedown; + engine->graph.fifo_access = nv04_graph_fifo_access; + engine->graph.channel = nv04_graph_channel; + engine->graph.create_context = nv04_graph_create_context; + engine->graph.destroy_context = nv04_graph_destroy_context; + engine->graph.load_context = nv04_graph_load_context; + engine->graph.unload_context = nv04_graph_unload_context; + engine->fifo.channels = 16; + engine->fifo.init = nv04_fifo_init; + engine->fifo.takedown = nouveau_stub_takedown; + engine->fifo.disable = nv04_fifo_disable; + engine->fifo.enable = nv04_fifo_enable; + engine->fifo.reassign = nv04_fifo_reassign; + engine->fifo.cache_flush = nv04_fifo_cache_flush; + engine->fifo.cache_pull = nv04_fifo_cache_pull; + engine->fifo.channel_id = nv04_fifo_channel_id; + engine->fifo.create_context = nv04_fifo_create_context; + engine->fifo.destroy_context = nv04_fifo_destroy_context; + engine->fifo.load_context = nv04_fifo_load_context; + engine->fifo.unload_context = nv04_fifo_unload_context; + break; + case 0x10: + engine->instmem.init = nv04_instmem_init; + engine->instmem.takedown = nv04_instmem_takedown; + engine->instmem.suspend = nv04_instmem_suspend; + engine->instmem.resume = nv04_instmem_resume; + engine->instmem.populate = nv04_instmem_populate; + engine->instmem.clear = nv04_instmem_clear; + engine->instmem.bind = nv04_instmem_bind; + engine->instmem.unbind = nv04_instmem_unbind; + engine->instmem.prepare_access = nv04_instmem_prepare_access; + engine->instmem.finish_access = nv04_instmem_finish_access; + engine->mc.init = nv04_mc_init; + engine->mc.takedown = nv04_mc_takedown; + engine->timer.init = nv04_timer_init; + engine->timer.read = nv04_timer_read; + engine->timer.takedown = nv04_timer_takedown; + engine->fb.init = nv10_fb_init; + engine->fb.takedown = nv10_fb_takedown; + engine->fb.set_region_tiling = nv10_fb_set_region_tiling; + engine->graph.grclass = nv10_graph_grclass; + engine->graph.init = nv10_graph_init; + engine->graph.takedown = nv10_graph_takedown; + engine->graph.channel = nv10_graph_channel; + engine->graph.create_context = nv10_graph_create_context; + engine->graph.destroy_context = nv10_graph_destroy_context; + engine->graph.fifo_access = nv04_graph_fifo_access; + engine->graph.load_context = nv10_graph_load_context; + engine->graph.unload_context = nv10_graph_unload_context; + engine->graph.set_region_tiling = nv10_graph_set_region_tiling; + engine->fifo.channels = 32; + engine->fifo.init = nv10_fifo_init; + engine->fifo.takedown = nouveau_stub_takedown; + engine->fifo.disable = nv04_fifo_disable; + engine->fifo.enable = nv04_fifo_enable; + engine->fifo.reassign = nv04_fifo_reassign; + engine->fifo.cache_flush = nv04_fifo_cache_flush; + engine->fifo.cache_pull = nv04_fifo_cache_pull; + engine->fifo.channel_id = nv10_fifo_channel_id; + engine->fifo.create_context = nv10_fifo_create_context; + engine->fifo.destroy_context = nv10_fifo_destroy_context; + engine->fifo.load_context = nv10_fifo_load_context; + engine->fifo.unload_context = nv10_fifo_unload_context; + break; + case 0x20: + engine->instmem.init = nv04_instmem_init; + engine->instmem.takedown = nv04_instmem_takedown; + engine->instmem.suspend = nv04_instmem_suspend; + engine->instmem.resume = nv04_instmem_resume; + engine->instmem.populate = nv04_instmem_populate; + engine->instmem.clear = nv04_instmem_clear; + engine->instmem.bind = nv04_instmem_bind; + engine->instmem.unbind = nv04_instmem_unbind; + engine->instmem.prepare_access = nv04_instmem_prepare_access; + engine->instmem.finish_access = nv04_instmem_finish_access; + engine->mc.init = nv04_mc_init; + engine->mc.takedown = nv04_mc_takedown; + engine->timer.init = nv04_timer_init; + engine->timer.read = nv04_timer_read; + engine->timer.takedown = nv04_timer_takedown; + engine->fb.init = nv10_fb_init; + engine->fb.takedown = nv10_fb_takedown; + engine->fb.set_region_tiling = nv10_fb_set_region_tiling; + engine->graph.grclass = nv20_graph_grclass; + engine->graph.init = nv20_graph_init; + engine->graph.takedown = nv20_graph_takedown; + engine->graph.channel = nv10_graph_channel; + engine->graph.create_context = nv20_graph_create_context; + engine->graph.destroy_context = nv20_graph_destroy_context; + engine->graph.fifo_access = nv04_graph_fifo_access; + engine->graph.load_context = nv20_graph_load_context; + engine->graph.unload_context = nv20_graph_unload_context; + engine->graph.set_region_tiling = nv20_graph_set_region_tiling; + engine->fifo.channels = 32; + engine->fifo.init = nv10_fifo_init; + engine->fifo.takedown = nouveau_stub_takedown; + engine->fifo.disable = nv04_fifo_disable; + engine->fifo.enable = nv04_fifo_enable; + engine->fifo.reassign = nv04_fifo_reassign; + engine->fifo.cache_flush = nv04_fifo_cache_flush; + engine->fifo.cache_pull = nv04_fifo_cache_pull; + engine->fifo.channel_id = nv10_fifo_channel_id; + engine->fifo.create_context = nv10_fifo_create_context; + engine->fifo.destroy_context = nv10_fifo_destroy_context; + engine->fifo.load_context = nv10_fifo_load_context; + engine->fifo.unload_context = nv10_fifo_unload_context; + break; + case 0x30: + engine->instmem.init = nv04_instmem_init; + engine->instmem.takedown = nv04_instmem_takedown; + engine->instmem.suspend = nv04_instmem_suspend; + engine->instmem.resume = nv04_instmem_resume; + engine->instmem.populate = nv04_instmem_populate; + engine->instmem.clear = nv04_instmem_clear; + engine->instmem.bind = nv04_instmem_bind; + engine->instmem.unbind = nv04_instmem_unbind; + engine->instmem.prepare_access = nv04_instmem_prepare_access; + engine->instmem.finish_access = nv04_instmem_finish_access; + engine->mc.init = nv04_mc_init; + engine->mc.takedown = nv04_mc_takedown; + engine->timer.init = nv04_timer_init; + engine->timer.read = nv04_timer_read; + engine->timer.takedown = nv04_timer_takedown; + engine->fb.init = nv10_fb_init; + engine->fb.takedown = nv10_fb_takedown; + engine->fb.set_region_tiling = nv10_fb_set_region_tiling; + engine->graph.grclass = nv30_graph_grclass; + engine->graph.init = nv30_graph_init; + engine->graph.takedown = nv20_graph_takedown; + engine->graph.fifo_access = nv04_graph_fifo_access; + engine->graph.channel = nv10_graph_channel; + engine->graph.create_context = nv20_graph_create_context; + engine->graph.destroy_context = nv20_graph_destroy_context; + engine->graph.load_context = nv20_graph_load_context; + engine->graph.unload_context = nv20_graph_unload_context; + engine->graph.set_region_tiling = nv20_graph_set_region_tiling; + engine->fifo.channels = 32; + engine->fifo.init = nv10_fifo_init; + engine->fifo.takedown = nouveau_stub_takedown; + engine->fifo.disable = nv04_fifo_disable; + engine->fifo.enable = nv04_fifo_enable; + engine->fifo.reassign = nv04_fifo_reassign; + engine->fifo.cache_flush = nv04_fifo_cache_flush; + engine->fifo.cache_pull = nv04_fifo_cache_pull; + engine->fifo.channel_id = nv10_fifo_channel_id; + engine->fifo.create_context = nv10_fifo_create_context; + engine->fifo.destroy_context = nv10_fifo_destroy_context; + engine->fifo.load_context = nv10_fifo_load_context; + engine->fifo.unload_context = nv10_fifo_unload_context; + break; + case 0x40: + case 0x60: + engine->instmem.init = nv04_instmem_init; + engine->instmem.takedown = nv04_instmem_takedown; + engine->instmem.suspend = nv04_instmem_suspend; + engine->instmem.resume = nv04_instmem_resume; + engine->instmem.populate = nv04_instmem_populate; + engine->instmem.clear = nv04_instmem_clear; + engine->instmem.bind = nv04_instmem_bind; + engine->instmem.unbind = nv04_instmem_unbind; + engine->instmem.prepare_access = nv04_instmem_prepare_access; + engine->instmem.finish_access = nv04_instmem_finish_access; + engine->mc.init = nv40_mc_init; + engine->mc.takedown = nv40_mc_takedown; + engine->timer.init = nv04_timer_init; + engine->timer.read = nv04_timer_read; + engine->timer.takedown = nv04_timer_takedown; + engine->fb.init = nv40_fb_init; + engine->fb.takedown = nv40_fb_takedown; + engine->fb.set_region_tiling = nv40_fb_set_region_tiling; + engine->graph.grclass = nv40_graph_grclass; + engine->graph.init = nv40_graph_init; + engine->graph.takedown = nv40_graph_takedown; + engine->graph.fifo_access = nv04_graph_fifo_access; + engine->graph.channel = nv40_graph_channel; + engine->graph.create_context = nv40_graph_create_context; + engine->graph.destroy_context = nv40_graph_destroy_context; + engine->graph.load_context = nv40_graph_load_context; + engine->graph.unload_context = nv40_graph_unload_context; + engine->graph.set_region_tiling = nv40_graph_set_region_tiling; + engine->fifo.channels = 32; + engine->fifo.init = nv40_fifo_init; + engine->fifo.takedown = nouveau_stub_takedown; + engine->fifo.disable = nv04_fifo_disable; + engine->fifo.enable = nv04_fifo_enable; + engine->fifo.reassign = nv04_fifo_reassign; + engine->fifo.cache_flush = nv04_fifo_cache_flush; + engine->fifo.cache_pull = nv04_fifo_cache_pull; + engine->fifo.channel_id = nv10_fifo_channel_id; + engine->fifo.create_context = nv40_fifo_create_context; + engine->fifo.destroy_context = nv40_fifo_destroy_context; + engine->fifo.load_context = nv40_fifo_load_context; + engine->fifo.unload_context = nv40_fifo_unload_context; + break; + case 0x50: + case 0x80: /* gotta love NVIDIA's consistency.. */ + case 0x90: + case 0xA0: + engine->instmem.init = nv50_instmem_init; + engine->instmem.takedown = nv50_instmem_takedown; + engine->instmem.suspend = nv50_instmem_suspend; + engine->instmem.resume = nv50_instmem_resume; + engine->instmem.populate = nv50_instmem_populate; + engine->instmem.clear = nv50_instmem_clear; + engine->instmem.bind = nv50_instmem_bind; + engine->instmem.unbind = nv50_instmem_unbind; + engine->instmem.prepare_access = nv50_instmem_prepare_access; + engine->instmem.finish_access = nv50_instmem_finish_access; + engine->mc.init = nv50_mc_init; + engine->mc.takedown = nv50_mc_takedown; + engine->timer.init = nv04_timer_init; + engine->timer.read = nv04_timer_read; + engine->timer.takedown = nv04_timer_takedown; + engine->fb.init = nouveau_stub_init; + engine->fb.takedown = nouveau_stub_takedown; + engine->graph.grclass = nv50_graph_grclass; + engine->graph.init = nv50_graph_init; + engine->graph.takedown = nv50_graph_takedown; + engine->graph.fifo_access = nv50_graph_fifo_access; + engine->graph.channel = nv50_graph_channel; + engine->graph.create_context = nv50_graph_create_context; + engine->graph.destroy_context = nv50_graph_destroy_context; + engine->graph.load_context = nv50_graph_load_context; + engine->graph.unload_context = nv50_graph_unload_context; + engine->fifo.channels = 128; + engine->fifo.init = nv50_fifo_init; + engine->fifo.takedown = nv50_fifo_takedown; + engine->fifo.disable = nv04_fifo_disable; + engine->fifo.enable = nv04_fifo_enable; + engine->fifo.reassign = nv04_fifo_reassign; + engine->fifo.channel_id = nv50_fifo_channel_id; + engine->fifo.create_context = nv50_fifo_create_context; + engine->fifo.destroy_context = nv50_fifo_destroy_context; + engine->fifo.load_context = nv50_fifo_load_context; + engine->fifo.unload_context = nv50_fifo_unload_context; + break; + default: + NV_ERROR(dev, "NV%02x unsupported\n", dev_priv->chipset); + return 1; + } + + return 0; +} + +static unsigned int +nouveau_vga_set_decode(void *priv, bool state) +{ + struct drm_device *dev = priv; + struct drm_nouveau_private *dev_priv = dev->dev_private; + + if (dev_priv->chipset >= 0x40) + nv_wr32(dev, 0x88054, state); + else + nv_wr32(dev, 0x1854, 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 int +nouveau_card_init_channel(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *gpuobj; + int ret; + + ret = nouveau_channel_alloc(dev, &dev_priv->channel, + (struct drm_file *)-2, + NvDmaFB, NvDmaTT); + if (ret) + return ret; + + gpuobj = NULL; + ret = nouveau_gpuobj_dma_new(dev_priv->channel, NV_CLASS_DMA_IN_MEMORY, + 0, nouveau_mem_fb_amount(dev), + NV_DMA_ACCESS_RW, NV_DMA_TARGET_VIDMEM, + &gpuobj); + if (ret) + goto out_err; + + ret = nouveau_gpuobj_ref_add(dev, dev_priv->channel, NvDmaVRAM, + gpuobj, NULL); + if (ret) + goto out_err; + + gpuobj = NULL; + ret = nouveau_gpuobj_gart_dma_new(dev_priv->channel, 0, + dev_priv->gart_info.aper_size, + NV_DMA_ACCESS_RW, &gpuobj, NULL); + if (ret) + goto out_err; + + ret = nouveau_gpuobj_ref_add(dev, dev_priv->channel, NvDmaGART, + gpuobj, NULL); + if (ret) + goto out_err; + + return 0; +out_err: + nouveau_gpuobj_del(dev, &gpuobj); + nouveau_channel_free(dev_priv->channel); + dev_priv->channel = NULL; + return ret; +} + +int +nouveau_card_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_engine *engine; + int ret; + + NV_DEBUG(dev, "prev state = %d\n", dev_priv->init_state); + + if (dev_priv->init_state == NOUVEAU_CARD_INIT_DONE) + return 0; + + vga_client_register(dev->pdev, dev, NULL, nouveau_vga_set_decode); + + /* Initialise internal driver API hooks */ + ret = nouveau_init_engine_ptrs(dev); + if (ret) + goto out; + engine = &dev_priv->engine; + dev_priv->init_state = NOUVEAU_CARD_INIT_FAILED; + + /* Parse BIOS tables / Run init tables if card not POSTed */ + if (drm_core_check_feature(dev, DRIVER_MODESET)) { + ret = nouveau_bios_init(dev); + if (ret) + goto out; + } + + ret = nouveau_gpuobj_early_init(dev); + if (ret) + goto out_bios; + + /* Initialise instance memory, must happen before mem_init so we + * know exactly how much VRAM we're able to use for "normal" + * purposes. + */ + ret = engine->instmem.init(dev); + if (ret) + goto out_gpuobj_early; + + /* Setup the memory manager */ + ret = nouveau_mem_init(dev); + if (ret) + goto out_instmem; + + ret = nouveau_gpuobj_init(dev); + if (ret) + goto out_mem; + + /* PMC */ + ret = engine->mc.init(dev); + if (ret) + goto out_gpuobj; + + /* PTIMER */ + ret = engine->timer.init(dev); + if (ret) + goto out_mc; + + /* PFB */ + ret = engine->fb.init(dev); + if (ret) + goto out_timer; + + if (nouveau_noaccel) + engine->graph.accel_blocked = true; + else { + /* PGRAPH */ + ret = engine->graph.init(dev); + if (ret) + goto out_fb; + + /* PFIFO */ + ret = engine->fifo.init(dev); + if (ret) + goto out_graph; + } + + /* this call irq_preinstall, register irq handler and + * call irq_postinstall + */ + ret = drm_irq_install(dev); + if (ret) + goto out_fifo; + + ret = drm_vblank_init(dev, 0); + if (ret) + goto out_irq; + + /* what about PVIDEO/PCRTC/PRAMDAC etc? */ + + if (!engine->graph.accel_blocked) { + ret = nouveau_card_init_channel(dev); + if (ret) + goto out_irq; + } + + if (drm_core_check_feature(dev, DRIVER_MODESET)) { + if (dev_priv->card_type >= NV_50) + ret = nv50_display_create(dev); + else + ret = nv04_display_create(dev); + if (ret) + goto out_irq; + } + + ret = nouveau_backlight_init(dev); + if (ret) + NV_ERROR(dev, "Error %d registering backlight\n", ret); + + dev_priv->init_state = NOUVEAU_CARD_INIT_DONE; + + if (drm_core_check_feature(dev, DRIVER_MODESET)) + drm_helper_initial_config(dev); + + return 0; + +out_irq: + drm_irq_uninstall(dev); +out_fifo: + if (!nouveau_noaccel) + engine->fifo.takedown(dev); +out_graph: + if (!nouveau_noaccel) + engine->graph.takedown(dev); +out_fb: + engine->fb.takedown(dev); +out_timer: + engine->timer.takedown(dev); +out_mc: + engine->mc.takedown(dev); +out_gpuobj: + nouveau_gpuobj_takedown(dev); +out_mem: + nouveau_mem_close(dev); +out_instmem: + engine->instmem.takedown(dev); +out_gpuobj_early: + nouveau_gpuobj_late_takedown(dev); +out_bios: + nouveau_bios_takedown(dev); +out: + vga_client_register(dev->pdev, NULL, NULL, NULL); + return ret; +} + +static void nouveau_card_takedown(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_engine *engine = &dev_priv->engine; + + NV_DEBUG(dev, "prev state = %d\n", dev_priv->init_state); + + if (dev_priv->init_state != NOUVEAU_CARD_INIT_DOWN) { + nouveau_backlight_exit(dev); + + if (dev_priv->channel) { + nouveau_channel_free(dev_priv->channel); + dev_priv->channel = NULL; + } + + if (!nouveau_noaccel) { + engine->fifo.takedown(dev); + engine->graph.takedown(dev); + } + engine->fb.takedown(dev); + engine->timer.takedown(dev); + engine->mc.takedown(dev); + + mutex_lock(&dev->struct_mutex); + ttm_bo_clean_mm(&dev_priv->ttm.bdev, TTM_PL_VRAM); + ttm_bo_clean_mm(&dev_priv->ttm.bdev, TTM_PL_TT); + mutex_unlock(&dev->struct_mutex); + nouveau_sgdma_takedown(dev); + + nouveau_gpuobj_takedown(dev); + nouveau_mem_close(dev); + engine->instmem.takedown(dev); + + if (drm_core_check_feature(dev, DRIVER_MODESET)) + drm_irq_uninstall(dev); + + nouveau_gpuobj_late_takedown(dev); + nouveau_bios_takedown(dev); + + vga_client_register(dev->pdev, NULL, NULL, NULL); + + dev_priv->init_state = NOUVEAU_CARD_INIT_DOWN; + } +} + +/* here a client dies, release the stuff that was allocated for its + * file_priv */ +void nouveau_preclose(struct drm_device *dev, struct drm_file *file_priv) +{ + nouveau_channel_cleanup(dev, file_priv); +} + +/* first module load, setup the mmio/fb mapping */ +/* KMS: we need mmio at load time, not when the first drm client opens. */ +int nouveau_firstopen(struct drm_device *dev) +{ + return 0; +} + +/* if we have an OF card, copy vbios to RAMIN */ +static void nouveau_OF_copy_vbios_to_ramin(struct drm_device *dev) +{ +#if defined(__powerpc__) + int size, i; + const uint32_t *bios; + struct device_node *dn = pci_device_to_OF_node(dev->pdev); + if (!dn) { + NV_INFO(dev, "Unable to get the OF node\n"); + return; + } + + bios = of_get_property(dn, "NVDA,BMP", &size); + if (bios) { + for (i = 0; i < size; i += 4) + nv_wi32(dev, i, bios[i/4]); + NV_INFO(dev, "OF bios successfully copied (%d bytes)\n", size); + } else { + NV_INFO(dev, "Unable to get the OF bios\n"); + } +#endif +} + +static void nouveau_apply_noaccel_quirks (struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + if (nouveau_noaccel == -1) { + /* If not specified, noaccel should default off */ + nouveau_noaccel = 0; + + /* MacBook Pro laptops with 9600GT cards hang with acceleration */ + /* See https://bugs.launchpad.net/bugs/546393 */ + if ((dev->pdev->device == 0x0647) && + (dev->pdev->subsystem_vendor == 0x106b)) { + nouveau_noaccel = 1; + NV_INFO(dev, "Detected MacBook Pro 9600GT chip. " + "Disabling acceleration\n"); + } + /* At least two of the three nv20 cards hang with acceleration */ + /* See https://bugs.launchpad.net/bugs/544088 */ + if (dev_priv->chipset == 0x20) { + nouveau_noaccel = 1; + NV_INFO(dev, "Detected NV20 (GeForce 3) chip. " + "Disabling acceleration\n"); + } + /* GeForce 6100 cards also hang with acceleration */ + /* See https://bugs.launchpad.net/bugs/542950 */ + if (dev->pdev->device == 0x0242) { + nouveau_noaccel = 1; + NV_INFO(dev, "Detected GeForce 6100 chip. " + "Disabling acceleration\n"); + } + } +} + +int nouveau_load(struct drm_device *dev, unsigned long flags) +{ + struct drm_nouveau_private *dev_priv; + uint32_t reg0; + resource_size_t mmio_start_offs; + + dev_priv = kzalloc(sizeof(*dev_priv), GFP_KERNEL); + if (!dev_priv) + return -ENOMEM; + dev->dev_private = dev_priv; + dev_priv->dev = dev; + + dev_priv->flags = flags & NOUVEAU_FLAGS; + dev_priv->init_state = NOUVEAU_CARD_INIT_DOWN; + + NV_DEBUG(dev, "vendor: 0x%X device: 0x%X class: 0x%X\n", + dev->pci_vendor, dev->pci_device, dev->pdev->class); + + dev_priv->acpi_dsm = nouveau_dsm_probe(dev); + + if (dev_priv->acpi_dsm) + nouveau_hybrid_setup(dev); + + dev_priv->wq = create_workqueue("nouveau"); + if (!dev_priv->wq) + return -EINVAL; + + /* resource 0 is mmio regs */ + /* resource 1 is linear FB */ + /* resource 2 is RAMIN (mmio regs + 0x1000000) */ + /* resource 6 is bios */ + + /* map the mmio regs */ + mmio_start_offs = pci_resource_start(dev->pdev, 0); + dev_priv->mmio = ioremap(mmio_start_offs, 0x00800000); + if (!dev_priv->mmio) { + NV_ERROR(dev, "Unable to initialize the mmio mapping. " + "Please report your setup to " DRIVER_EMAIL "\n"); + return -EINVAL; + } + NV_DEBUG(dev, "regs mapped ok at 0x%llx\n", + (unsigned long long)mmio_start_offs); + +#ifdef __BIG_ENDIAN + /* Put the card in BE mode if it's not */ + if (nv_rd32(dev, NV03_PMC_BOOT_1)) + nv_wr32(dev, NV03_PMC_BOOT_1, 0x00000001); + + DRM_MEMORYBARRIER(); +#endif + + /* Time to determine the card architecture */ + reg0 = nv_rd32(dev, NV03_PMC_BOOT_0); + + /* We're dealing with >=NV10 */ + if ((reg0 & 0x0f000000) > 0) { + /* Bit 27-20 contain the architecture in hex */ + dev_priv->chipset = (reg0 & 0xff00000) >> 20; + /* NV04 or NV05 */ + } else if ((reg0 & 0xff00fff0) == 0x20004000) { + if (reg0 & 0x00f00000) + dev_priv->chipset = 0x05; + else + dev_priv->chipset = 0x04; + } else + dev_priv->chipset = 0xff; + + switch (dev_priv->chipset & 0xf0) { + case 0x00: + case 0x10: + case 0x20: + case 0x30: + dev_priv->card_type = dev_priv->chipset & 0xf0; + break; + case 0x40: + case 0x60: + dev_priv->card_type = NV_40; + break; + case 0x50: + case 0x80: + case 0x90: + case 0xa0: + dev_priv->card_type = NV_50; + break; + default: + NV_INFO(dev, "Unsupported chipset 0x%08x\n", reg0); + return -EINVAL; + } + + NV_INFO(dev, "Detected an NV%2x generation card (0x%08x)\n", + dev_priv->card_type, reg0); + + /* map larger RAMIN aperture on NV40 cards */ + dev_priv->ramin = NULL; + if (dev_priv->card_type >= NV_40) { + int ramin_bar = 2; + if (pci_resource_len(dev->pdev, ramin_bar) == 0) + ramin_bar = 3; + + dev_priv->ramin_size = pci_resource_len(dev->pdev, ramin_bar); + dev_priv->ramin = ioremap( + pci_resource_start(dev->pdev, ramin_bar), + dev_priv->ramin_size); + if (!dev_priv->ramin) { + NV_ERROR(dev, "Failed to init RAMIN mapping, " + "limited instance memory available\n"); + } + } + + /* On older cards (or if the above failed), create a map covering + * the BAR0 PRAMIN aperture */ + if (!dev_priv->ramin) { + dev_priv->ramin_size = 1 * 1024 * 1024; + dev_priv->ramin = ioremap(mmio_start_offs + NV_RAMIN, + dev_priv->ramin_size); + if (!dev_priv->ramin) { + NV_ERROR(dev, "Failed to map BAR0 PRAMIN.\n"); + return -ENOMEM; + } + } + + nouveau_OF_copy_vbios_to_ramin(dev); + + /* Special flags */ + if (dev->pci_device == 0x01a0) + dev_priv->flags |= NV_NFORCE; + else if (dev->pci_device == 0x01f0) + dev_priv->flags |= NV_NFORCE2; + + /* Apply noaccel quirks */ + nouveau_apply_noaccel_quirks(dev); + + /* For kernel modesetting, init card now and bring up fbcon */ + if (drm_core_check_feature(dev, DRIVER_MODESET)) { + int ret = nouveau_card_init(dev); + if (ret) + return ret; + } + + return 0; +} + +static void nouveau_close(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + /* In the case of an error dev_priv may not be allocated yet */ + if (dev_priv) + nouveau_card_takedown(dev); +} + +/* KMS: we need mmio at load time, not when the first drm client opens. */ +void nouveau_lastclose(struct drm_device *dev) +{ + if (drm_core_check_feature(dev, DRIVER_MODESET)) + return; + + nouveau_close(dev); +} + +int nouveau_unload(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + if (drm_core_check_feature(dev, DRIVER_MODESET)) { + if (dev_priv->card_type >= NV_50) + nv50_display_destroy(dev); + else + nv04_display_destroy(dev); + nouveau_close(dev); + } + + iounmap(dev_priv->mmio); + iounmap(dev_priv->ramin); + + kfree(dev_priv); + dev->dev_private = NULL; + return 0; +} + +int +nouveau_ioctl_card_init(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + return nouveau_card_init(dev); +} + +int nouveau_ioctl_getparam(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct drm_nouveau_getparam *getparam = data; + + NOUVEAU_CHECK_INITIALISED_WITH_RETURN; + + switch (getparam->param) { + case NOUVEAU_GETPARAM_CHIPSET_ID: + getparam->value = dev_priv->chipset; + break; + case NOUVEAU_GETPARAM_PCI_VENDOR: + getparam->value = dev->pci_vendor; + break; + case NOUVEAU_GETPARAM_PCI_DEVICE: + getparam->value = dev->pci_device; + break; + case NOUVEAU_GETPARAM_BUS_TYPE: + if (drm_device_is_agp(dev)) + getparam->value = NV_AGP; + else if (drm_device_is_pcie(dev)) + getparam->value = NV_PCIE; + else + getparam->value = NV_PCI; + break; + case NOUVEAU_GETPARAM_FB_PHYSICAL: + getparam->value = dev_priv->fb_phys; + break; + case NOUVEAU_GETPARAM_AGP_PHYSICAL: + getparam->value = dev_priv->gart_info.aper_base; + break; + case NOUVEAU_GETPARAM_PCI_PHYSICAL: + if (dev->sg) { + getparam->value = (unsigned long)dev->sg->virtual; + } else { + NV_ERROR(dev, "Requested PCIGART address, " + "while no PCIGART was created\n"); + return -EINVAL; + } + break; + case NOUVEAU_GETPARAM_FB_SIZE: + getparam->value = dev_priv->fb_available_size; + break; + case NOUVEAU_GETPARAM_AGP_SIZE: + getparam->value = dev_priv->gart_info.aper_size; + break; + case NOUVEAU_GETPARAM_VM_VRAM_BASE: + getparam->value = dev_priv->vm_vram_base; + break; + case NOUVEAU_GETPARAM_GRAPH_UNITS: + /* NV40 and NV50 versions are quite different, but register + * address is the same. User is supposed to know the card + * family anyway... */ + if (dev_priv->chipset >= 0x40) { + getparam->value = nv_rd32(dev, NV40_PMC_GRAPH_UNITS); + break; + } + /* FALLTHRU */ + default: + NV_ERROR(dev, "unknown parameter %lld\n", getparam->param); + return -EINVAL; + } + + return 0; +} + +int +nouveau_ioctl_setparam(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_nouveau_setparam *setparam = data; + + NOUVEAU_CHECK_INITIALISED_WITH_RETURN; + + switch (setparam->param) { + default: + NV_ERROR(dev, "unknown parameter %lld\n", setparam->param); + return -EINVAL; + } + + return 0; +} + +/* Wait until (value(reg) & mask) == val, up until timeout has hit */ +bool nouveau_wait_until(struct drm_device *dev, uint64_t timeout, + uint32_t reg, uint32_t mask, uint32_t val) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_timer_engine *ptimer = &dev_priv->engine.timer; + uint64_t start = ptimer->read(dev); + + do { + if ((nv_rd32(dev, reg) & mask) == val) + return true; + } while (ptimer->read(dev) - start < timeout); + + return false; +} + +/* Waits for PGRAPH to go completely idle */ +bool nouveau_wait_for_idle(struct drm_device *dev) +{ + if (!nv_wait(NV04_PGRAPH_STATUS, 0xffffffff, 0x00000000)) { + NV_ERROR(dev, "PGRAPH idle timed out with status 0x%08x\n", + nv_rd32(dev, NV04_PGRAPH_STATUS)); + return false; + } + + return true; +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_ttm.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_ttm.c @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2007-2008 Tungsten Graphics, Inc., Cedar Park, TX., USA, + * All Rights Reserved. + * Copyright (c) 2009 VMware, Inc., Palo Alto, CA., 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. + */ + +#include "drmP.h" + +#include "nouveau_drv.h" + +int +nouveau_ttm_mmap(struct file *filp, struct vm_area_struct *vma) +{ + struct drm_file *file_priv = filp->private_data; + struct drm_nouveau_private *dev_priv = + file_priv->minor->dev->dev_private; + + if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) + return drm_mmap(filp, vma); + + return ttm_bo_mmap(filp, vma, &dev_priv->ttm.bdev); +} + +static int +nouveau_ttm_mem_global_init(struct ttm_global_reference *ref) +{ + return ttm_mem_global_init(ref->object); +} + +static void +nouveau_ttm_mem_global_release(struct ttm_global_reference *ref) +{ + ttm_mem_global_release(ref->object); +} + +int +nouveau_ttm_global_init(struct drm_nouveau_private *dev_priv) +{ + struct ttm_global_reference *global_ref; + int ret; + + global_ref = &dev_priv->ttm.mem_global_ref; + global_ref->global_type = TTM_GLOBAL_TTM_MEM; + global_ref->size = sizeof(struct ttm_mem_global); + global_ref->init = &nouveau_ttm_mem_global_init; + global_ref->release = &nouveau_ttm_mem_global_release; + + ret = ttm_global_item_ref(global_ref); + if (unlikely(ret != 0)) { + DRM_ERROR("Failed setting up TTM memory accounting\n"); + dev_priv->ttm.mem_global_ref.release = NULL; + return ret; + } + + dev_priv->ttm.bo_global_ref.mem_glob = global_ref->object; + global_ref = &dev_priv->ttm.bo_global_ref.ref; + global_ref->global_type = TTM_GLOBAL_TTM_BO; + global_ref->size = sizeof(struct ttm_bo_global); + global_ref->init = &ttm_bo_global_init; + global_ref->release = &ttm_bo_global_release; + + ret = ttm_global_item_ref(global_ref); + if (unlikely(ret != 0)) { + DRM_ERROR("Failed setting up TTM BO subsystem\n"); + ttm_global_item_unref(&dev_priv->ttm.mem_global_ref); + dev_priv->ttm.mem_global_ref.release = NULL; + return ret; + } + + return 0; +} + +void +nouveau_ttm_global_release(struct drm_nouveau_private *dev_priv) +{ + if (dev_priv->ttm.mem_global_ref.release == NULL) + return; + + ttm_global_item_unref(&dev_priv->ttm.bo_global_ref.ref); + ttm_global_item_unref(&dev_priv->ttm.mem_global_ref); + dev_priv->ttm.mem_global_ref.release = NULL; +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv04_crtc.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv04_crtc.c @@ -0,0 +1,1002 @@ +/* + * Copyright 1993-2003 NVIDIA, Corporation + * Copyright 2006 Dave Airlie + * Copyright 2007 Maarten Maathuis + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#include "drmP.h" +#include "drm_crtc_helper.h" + +#include "nouveau_drv.h" +#include "nouveau_encoder.h" +#include "nouveau_connector.h" +#include "nouveau_crtc.h" +#include "nouveau_fb.h" +#include "nouveau_hw.h" +#include "nvreg.h" + +static int +nv04_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y, + struct drm_framebuffer *old_fb); + +static void +crtc_wr_cio_state(struct drm_crtc *crtc, struct nv04_crtc_reg *crtcstate, int index) +{ + NVWriteVgaCrtc(crtc->dev, nouveau_crtc(crtc)->index, index, + crtcstate->CRTC[index]); +} + +static void nv_crtc_set_digital_vibrance(struct drm_crtc *crtc, int level) +{ + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + struct drm_nouveau_private *dev_priv = crtc->dev->dev_private; + struct nv04_crtc_reg *regp = &dev_priv->mode_reg.crtc_reg[nv_crtc->index]; + + regp->CRTC[NV_CIO_CRE_CSB] = nv_crtc->saturation = level; + if (nv_crtc->saturation && nv_gf4_disp_arch(crtc->dev)) { + regp->CRTC[NV_CIO_CRE_CSB] = 0x80; + regp->CRTC[NV_CIO_CRE_5B] = nv_crtc->saturation << 2; + crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_5B); + } + crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_CSB); +} + +static void nv_crtc_set_image_sharpening(struct drm_crtc *crtc, int level) +{ + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + struct drm_nouveau_private *dev_priv = crtc->dev->dev_private; + struct nv04_crtc_reg *regp = &dev_priv->mode_reg.crtc_reg[nv_crtc->index]; + + nv_crtc->sharpness = level; + if (level < 0) /* blur is in hw range 0x3f -> 0x20 */ + level += 0x40; + regp->ramdac_634 = level; + NVWriteRAMDAC(crtc->dev, nv_crtc->index, NV_PRAMDAC_634, regp->ramdac_634); +} + +#define PLLSEL_VPLL1_MASK \ + (NV_PRAMDAC_PLL_COEFF_SELECT_SOURCE_PROG_VPLL \ + | NV_PRAMDAC_PLL_COEFF_SELECT_VCLK_RATIO_DB2) +#define PLLSEL_VPLL2_MASK \ + (NV_PRAMDAC_PLL_COEFF_SELECT_PLL_SOURCE_VPLL2 \ + | NV_PRAMDAC_PLL_COEFF_SELECT_VCLK2_RATIO_DB2) +#define PLLSEL_TV_MASK \ + (NV_PRAMDAC_PLL_COEFF_SELECT_TV_VSCLK1 \ + | NV_PRAMDAC_PLL_COEFF_SELECT_TV_PCLK1 \ + | NV_PRAMDAC_PLL_COEFF_SELECT_TV_VSCLK2 \ + | NV_PRAMDAC_PLL_COEFF_SELECT_TV_PCLK2) + +/* NV4x 0x40.. pll notes: + * gpu pll: 0x4000 + 0x4004 + * ?gpu? pll: 0x4008 + 0x400c + * vpll1: 0x4010 + 0x4014 + * vpll2: 0x4018 + 0x401c + * mpll: 0x4020 + 0x4024 + * mpll: 0x4038 + 0x403c + * + * the first register of each pair has some unknown details: + * bits 0-7: redirected values from elsewhere? (similar to PLL_SETUP_CONTROL?) + * bits 20-23: (mpll) something to do with post divider? + * bits 28-31: related to single stage mode? (bit 8/12) + */ + +static void nv_crtc_calc_state_ext(struct drm_crtc *crtc, struct drm_display_mode * mode, int dot_clock) +{ + struct drm_device *dev = crtc->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + struct nv04_mode_state *state = &dev_priv->mode_reg; + struct nv04_crtc_reg *regp = &state->crtc_reg[nv_crtc->index]; + struct nouveau_pll_vals *pv = ®p->pllvals; + struct pll_lims pll_lim; + + if (get_pll_limits(dev, nv_crtc->index ? VPLL2 : VPLL1, &pll_lim)) + return; + + /* NM2 == 0 is used to determine single stage mode on two stage plls */ + pv->NM2 = 0; + + /* for newer nv4x the blob uses only the first stage of the vpll below a + * certain clock. for a certain nv4b this is 150MHz. since the max + * output frequency of the first stage for this card is 300MHz, it is + * assumed the threshold is given by vco1 maxfreq/2 + */ + /* for early nv4x, specifically nv40 and *some* nv43 (devids 0 and 6, + * not 8, others unknown), the blob always uses both plls. no problem + * has yet been observed in allowing the use a single stage pll on all + * nv43 however. the behaviour of single stage use is untested on nv40 + */ + if (dev_priv->chipset > 0x40 && dot_clock <= (pll_lim.vco1.maxfreq / 2)) + memset(&pll_lim.vco2, 0, sizeof(pll_lim.vco2)); + + if (!nouveau_calc_pll_mnp(dev, &pll_lim, dot_clock, pv)) + return; + + state->pllsel &= PLLSEL_VPLL1_MASK | PLLSEL_VPLL2_MASK | PLLSEL_TV_MASK; + + /* The blob uses this always, so let's do the same */ + if (dev_priv->card_type == NV_40) + state->pllsel |= NV_PRAMDAC_PLL_COEFF_SELECT_USE_VPLL2_TRUE; + /* again nv40 and some nv43 act more like nv3x as described above */ + if (dev_priv->chipset < 0x41) + state->pllsel |= NV_PRAMDAC_PLL_COEFF_SELECT_SOURCE_PROG_MPLL | + NV_PRAMDAC_PLL_COEFF_SELECT_SOURCE_PROG_NVPLL; + state->pllsel |= nv_crtc->index ? PLLSEL_VPLL2_MASK : PLLSEL_VPLL1_MASK; + + if (pv->NM2) + NV_DEBUG_KMS(dev, "vpll: n1 %d n2 %d m1 %d m2 %d log2p %d\n", + pv->N1, pv->N2, pv->M1, pv->M2, pv->log2P); + else + NV_DEBUG_KMS(dev, "vpll: n %d m %d log2p %d\n", + pv->N1, pv->M1, pv->log2P); + + nv_crtc->cursor.set_offset(nv_crtc, nv_crtc->cursor.offset); +} + +static void +nv_crtc_dpms(struct drm_crtc *crtc, int mode) +{ + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + struct drm_device *dev = crtc->dev; + unsigned char seq1 = 0, crtc17 = 0; + unsigned char crtc1A; + + NV_DEBUG_KMS(dev, "Setting dpms mode %d on CRTC %d\n", mode, + nv_crtc->index); + + if (nv_crtc->last_dpms == mode) /* Don't do unnecesary mode changes. */ + return; + + nv_crtc->last_dpms = mode; + + if (nv_two_heads(dev)) + NVSetOwner(dev, nv_crtc->index); + + /* nv4ref indicates these two RPC1 bits inhibit h/v sync */ + crtc1A = NVReadVgaCrtc(dev, nv_crtc->index, + NV_CIO_CRE_RPC1_INDEX) & ~0xC0; + switch (mode) { + case DRM_MODE_DPMS_STANDBY: + /* Screen: Off; HSync: Off, VSync: On -- Not Supported */ + seq1 = 0x20; + crtc17 = 0x80; + crtc1A |= 0x80; + break; + case DRM_MODE_DPMS_SUSPEND: + /* Screen: Off; HSync: On, VSync: Off -- Not Supported */ + seq1 = 0x20; + crtc17 = 0x80; + crtc1A |= 0x40; + break; + case DRM_MODE_DPMS_OFF: + /* Screen: Off; HSync: Off, VSync: Off */ + seq1 = 0x20; + crtc17 = 0x00; + crtc1A |= 0xC0; + break; + case DRM_MODE_DPMS_ON: + default: + /* Screen: On; HSync: On, VSync: On */ + seq1 = 0x00; + crtc17 = 0x80; + break; + } + + NVVgaSeqReset(dev, nv_crtc->index, true); + /* Each head has it's own sequencer, so we can turn it off when we want */ + seq1 |= (NVReadVgaSeq(dev, nv_crtc->index, NV_VIO_SR_CLOCK_INDEX) & ~0x20); + NVWriteVgaSeq(dev, nv_crtc->index, NV_VIO_SR_CLOCK_INDEX, seq1); + crtc17 |= (NVReadVgaCrtc(dev, nv_crtc->index, NV_CIO_CR_MODE_INDEX) & ~0x80); + mdelay(10); + NVWriteVgaCrtc(dev, nv_crtc->index, NV_CIO_CR_MODE_INDEX, crtc17); + NVVgaSeqReset(dev, nv_crtc->index, false); + + NVWriteVgaCrtc(dev, nv_crtc->index, NV_CIO_CRE_RPC1_INDEX, crtc1A); +} + +static bool +nv_crtc_mode_fixup(struct drm_crtc *crtc, struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + return true; +} + +static void +nv_crtc_mode_set_vga(struct drm_crtc *crtc, struct drm_display_mode *mode) +{ + struct drm_device *dev = crtc->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + struct nv04_crtc_reg *regp = &dev_priv->mode_reg.crtc_reg[nv_crtc->index]; + struct drm_framebuffer *fb = crtc->fb; + + /* Calculate our timings */ + int horizDisplay = (mode->crtc_hdisplay >> 3) - 1; + int horizStart = (mode->crtc_hsync_start >> 3) + 1; + int horizEnd = (mode->crtc_hsync_end >> 3) + 1; + int horizTotal = (mode->crtc_htotal >> 3) - 5; + int horizBlankStart = (mode->crtc_hdisplay >> 3) - 1; + int horizBlankEnd = (mode->crtc_htotal >> 3) - 1; + int vertDisplay = mode->crtc_vdisplay - 1; + int vertStart = mode->crtc_vsync_start - 1; + int vertEnd = mode->crtc_vsync_end - 1; + int vertTotal = mode->crtc_vtotal - 2; + int vertBlankStart = mode->crtc_vdisplay - 1; + int vertBlankEnd = mode->crtc_vtotal - 1; + + struct drm_encoder *encoder; + bool fp_output = false; + + list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + + if (encoder->crtc == crtc && + (nv_encoder->dcb->type == OUTPUT_LVDS || + nv_encoder->dcb->type == OUTPUT_TMDS)) + fp_output = true; + } + + if (fp_output) { + vertStart = vertTotal - 3; + vertEnd = vertTotal - 2; + vertBlankStart = vertStart; + horizStart = horizTotal - 5; + horizEnd = horizTotal - 2; + horizBlankEnd = horizTotal + 4; +#if 0 + if (dev->overlayAdaptor && dev_priv->card_type >= NV_10) + /* This reportedly works around some video overlay bandwidth problems */ + horizTotal += 2; +#endif + } + + if (mode->flags & DRM_MODE_FLAG_INTERLACE) + vertTotal |= 1; + +#if 0 + ErrorF("horizDisplay: 0x%X \n", horizDisplay); + ErrorF("horizStart: 0x%X \n", horizStart); + ErrorF("horizEnd: 0x%X \n", horizEnd); + ErrorF("horizTotal: 0x%X \n", horizTotal); + ErrorF("horizBlankStart: 0x%X \n", horizBlankStart); + ErrorF("horizBlankEnd: 0x%X \n", horizBlankEnd); + ErrorF("vertDisplay: 0x%X \n", vertDisplay); + ErrorF("vertStart: 0x%X \n", vertStart); + ErrorF("vertEnd: 0x%X \n", vertEnd); + ErrorF("vertTotal: 0x%X \n", vertTotal); + ErrorF("vertBlankStart: 0x%X \n", vertBlankStart); + ErrorF("vertBlankEnd: 0x%X \n", vertBlankEnd); +#endif + + /* + * compute correct Hsync & Vsync polarity + */ + if ((mode->flags & (DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NHSYNC)) + && (mode->flags & (DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_NVSYNC))) { + + regp->MiscOutReg = 0x23; + if (mode->flags & DRM_MODE_FLAG_NHSYNC) + regp->MiscOutReg |= 0x40; + if (mode->flags & DRM_MODE_FLAG_NVSYNC) + regp->MiscOutReg |= 0x80; + } else { + int vdisplay = mode->vdisplay; + if (mode->flags & DRM_MODE_FLAG_DBLSCAN) + vdisplay *= 2; + if (mode->vscan > 1) + vdisplay *= mode->vscan; + if (vdisplay < 400) + regp->MiscOutReg = 0xA3; /* +hsync -vsync */ + else if (vdisplay < 480) + regp->MiscOutReg = 0x63; /* -hsync +vsync */ + else if (vdisplay < 768) + regp->MiscOutReg = 0xE3; /* -hsync -vsync */ + else + regp->MiscOutReg = 0x23; /* +hsync +vsync */ + } + + regp->MiscOutReg |= (mode->clock_index & 0x03) << 2; + + /* + * Time Sequencer + */ + regp->Sequencer[NV_VIO_SR_RESET_INDEX] = 0x00; + /* 0x20 disables the sequencer */ + if (mode->flags & DRM_MODE_FLAG_CLKDIV2) + regp->Sequencer[NV_VIO_SR_CLOCK_INDEX] = 0x29; + else + regp->Sequencer[NV_VIO_SR_CLOCK_INDEX] = 0x21; + regp->Sequencer[NV_VIO_SR_PLANE_MASK_INDEX] = 0x0F; + regp->Sequencer[NV_VIO_SR_CHAR_MAP_INDEX] = 0x00; + regp->Sequencer[NV_VIO_SR_MEM_MODE_INDEX] = 0x0E; + + /* + * CRTC + */ + regp->CRTC[NV_CIO_CR_HDT_INDEX] = horizTotal; + regp->CRTC[NV_CIO_CR_HDE_INDEX] = horizDisplay; + regp->CRTC[NV_CIO_CR_HBS_INDEX] = horizBlankStart; + regp->CRTC[NV_CIO_CR_HBE_INDEX] = (1 << 7) | + XLATE(horizBlankEnd, 0, NV_CIO_CR_HBE_4_0); + regp->CRTC[NV_CIO_CR_HRS_INDEX] = horizStart; + regp->CRTC[NV_CIO_CR_HRE_INDEX] = XLATE(horizBlankEnd, 5, NV_CIO_CR_HRE_HBE_5) | + XLATE(horizEnd, 0, NV_CIO_CR_HRE_4_0); + regp->CRTC[NV_CIO_CR_VDT_INDEX] = vertTotal; + regp->CRTC[NV_CIO_CR_OVL_INDEX] = XLATE(vertStart, 9, NV_CIO_CR_OVL_VRS_9) | + XLATE(vertDisplay, 9, NV_CIO_CR_OVL_VDE_9) | + XLATE(vertTotal, 9, NV_CIO_CR_OVL_VDT_9) | + (1 << 4) | + XLATE(vertBlankStart, 8, NV_CIO_CR_OVL_VBS_8) | + XLATE(vertStart, 8, NV_CIO_CR_OVL_VRS_8) | + XLATE(vertDisplay, 8, NV_CIO_CR_OVL_VDE_8) | + XLATE(vertTotal, 8, NV_CIO_CR_OVL_VDT_8); + regp->CRTC[NV_CIO_CR_RSAL_INDEX] = 0x00; + regp->CRTC[NV_CIO_CR_CELL_HT_INDEX] = ((mode->flags & DRM_MODE_FLAG_DBLSCAN) ? MASK(NV_CIO_CR_CELL_HT_SCANDBL) : 0) | + 1 << 6 | + XLATE(vertBlankStart, 9, NV_CIO_CR_CELL_HT_VBS_9); + regp->CRTC[NV_CIO_CR_CURS_ST_INDEX] = 0x00; + regp->CRTC[NV_CIO_CR_CURS_END_INDEX] = 0x00; + regp->CRTC[NV_CIO_CR_SA_HI_INDEX] = 0x00; + regp->CRTC[NV_CIO_CR_SA_LO_INDEX] = 0x00; + regp->CRTC[NV_CIO_CR_TCOFF_HI_INDEX] = 0x00; + regp->CRTC[NV_CIO_CR_TCOFF_LO_INDEX] = 0x00; + regp->CRTC[NV_CIO_CR_VRS_INDEX] = vertStart; + regp->CRTC[NV_CIO_CR_VRE_INDEX] = 1 << 5 | XLATE(vertEnd, 0, NV_CIO_CR_VRE_3_0); + regp->CRTC[NV_CIO_CR_VDE_INDEX] = vertDisplay; + /* framebuffer can be larger than crtc scanout area. */ + regp->CRTC[NV_CIO_CR_OFFSET_INDEX] = fb->pitch / 8; + regp->CRTC[NV_CIO_CR_ULINE_INDEX] = 0x00; + regp->CRTC[NV_CIO_CR_VBS_INDEX] = vertBlankStart; + regp->CRTC[NV_CIO_CR_VBE_INDEX] = vertBlankEnd; + regp->CRTC[NV_CIO_CR_MODE_INDEX] = 0x43; + regp->CRTC[NV_CIO_CR_LCOMP_INDEX] = 0xff; + + /* + * Some extended CRTC registers (they are not saved with the rest of the vga regs). + */ + + /* framebuffer can be larger than crtc scanout area. */ + regp->CRTC[NV_CIO_CRE_RPC0_INDEX] = XLATE(fb->pitch / 8, 8, NV_CIO_CRE_RPC0_OFFSET_10_8); + regp->CRTC[NV_CIO_CRE_RPC1_INDEX] = mode->crtc_hdisplay < 1280 ? + MASK(NV_CIO_CRE_RPC1_LARGE) : 0x00; + regp->CRTC[NV_CIO_CRE_LSR_INDEX] = XLATE(horizBlankEnd, 6, NV_CIO_CRE_LSR_HBE_6) | + XLATE(vertBlankStart, 10, NV_CIO_CRE_LSR_VBS_10) | + XLATE(vertStart, 10, NV_CIO_CRE_LSR_VRS_10) | + XLATE(vertDisplay, 10, NV_CIO_CRE_LSR_VDE_10) | + XLATE(vertTotal, 10, NV_CIO_CRE_LSR_VDT_10); + regp->CRTC[NV_CIO_CRE_HEB__INDEX] = XLATE(horizStart, 8, NV_CIO_CRE_HEB_HRS_8) | + XLATE(horizBlankStart, 8, NV_CIO_CRE_HEB_HBS_8) | + XLATE(horizDisplay, 8, NV_CIO_CRE_HEB_HDE_8) | + XLATE(horizTotal, 8, NV_CIO_CRE_HEB_HDT_8); + regp->CRTC[NV_CIO_CRE_EBR_INDEX] = XLATE(vertBlankStart, 11, NV_CIO_CRE_EBR_VBS_11) | + XLATE(vertStart, 11, NV_CIO_CRE_EBR_VRS_11) | + XLATE(vertDisplay, 11, NV_CIO_CRE_EBR_VDE_11) | + XLATE(vertTotal, 11, NV_CIO_CRE_EBR_VDT_11); + + if (mode->flags & DRM_MODE_FLAG_INTERLACE) { + horizTotal = (horizTotal >> 1) & ~1; + regp->CRTC[NV_CIO_CRE_ILACE__INDEX] = horizTotal; + regp->CRTC[NV_CIO_CRE_HEB__INDEX] |= XLATE(horizTotal, 8, NV_CIO_CRE_HEB_ILC_8); + } else + regp->CRTC[NV_CIO_CRE_ILACE__INDEX] = 0xff; /* interlace off */ + + /* + * Graphics Display Controller + */ + regp->Graphics[NV_VIO_GX_SR_INDEX] = 0x00; + regp->Graphics[NV_VIO_GX_SREN_INDEX] = 0x00; + regp->Graphics[NV_VIO_GX_CCOMP_INDEX] = 0x00; + regp->Graphics[NV_VIO_GX_ROP_INDEX] = 0x00; + regp->Graphics[NV_VIO_GX_READ_MAP_INDEX] = 0x00; + regp->Graphics[NV_VIO_GX_MODE_INDEX] = 0x40; /* 256 color mode */ + regp->Graphics[NV_VIO_GX_MISC_INDEX] = 0x05; /* map 64k mem + graphic mode */ + regp->Graphics[NV_VIO_GX_DONT_CARE_INDEX] = 0x0F; + regp->Graphics[NV_VIO_GX_BIT_MASK_INDEX] = 0xFF; + + regp->Attribute[0] = 0x00; /* standard colormap translation */ + regp->Attribute[1] = 0x01; + regp->Attribute[2] = 0x02; + regp->Attribute[3] = 0x03; + regp->Attribute[4] = 0x04; + regp->Attribute[5] = 0x05; + regp->Attribute[6] = 0x06; + regp->Attribute[7] = 0x07; + regp->Attribute[8] = 0x08; + regp->Attribute[9] = 0x09; + regp->Attribute[10] = 0x0A; + regp->Attribute[11] = 0x0B; + regp->Attribute[12] = 0x0C; + regp->Attribute[13] = 0x0D; + regp->Attribute[14] = 0x0E; + regp->Attribute[15] = 0x0F; + regp->Attribute[NV_CIO_AR_MODE_INDEX] = 0x01; /* Enable graphic mode */ + /* Non-vga */ + regp->Attribute[NV_CIO_AR_OSCAN_INDEX] = 0x00; + regp->Attribute[NV_CIO_AR_PLANE_INDEX] = 0x0F; /* enable all color planes */ + regp->Attribute[NV_CIO_AR_HPP_INDEX] = 0x00; + regp->Attribute[NV_CIO_AR_CSEL_INDEX] = 0x00; +} + +/** + * Sets up registers for the given mode/adjusted_mode pair. + * + * The clocks, CRTCs and outputs attached to this CRTC must be off. + * + * This shouldn't enable any clocks, CRTCs, or outputs, but they should + * be easily turned on/off after this. + */ +static void +nv_crtc_mode_set_regs(struct drm_crtc *crtc, struct drm_display_mode * mode) +{ + struct drm_device *dev = crtc->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + struct nv04_crtc_reg *regp = &dev_priv->mode_reg.crtc_reg[nv_crtc->index]; + struct nv04_crtc_reg *savep = &dev_priv->saved_reg.crtc_reg[nv_crtc->index]; + struct drm_encoder *encoder; + bool lvds_output = false, tmds_output = false, tv_output = false, + off_chip_digital = false; + + list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + bool digital = false; + + if (encoder->crtc != crtc) + continue; + + if (nv_encoder->dcb->type == OUTPUT_LVDS) + digital = lvds_output = true; + if (nv_encoder->dcb->type == OUTPUT_TV) + tv_output = true; + if (nv_encoder->dcb->type == OUTPUT_TMDS) + digital = tmds_output = true; + if (nv_encoder->dcb->location != DCB_LOC_ON_CHIP && digital) + off_chip_digital = true; + } + + /* Registers not directly related to the (s)vga mode */ + + /* What is the meaning of this register? */ + /* A few popular values are 0x18, 0x1c, 0x38, 0x3c */ + regp->CRTC[NV_CIO_CRE_ENH_INDEX] = savep->CRTC[NV_CIO_CRE_ENH_INDEX] & ~(1<<5); + + regp->crtc_eng_ctrl = 0; + /* Except for rare conditions I2C is enabled on the primary crtc */ + if (nv_crtc->index == 0) + regp->crtc_eng_ctrl |= NV_CRTC_FSEL_I2C; +#if 0 + /* Set overlay to desired crtc. */ + if (dev->overlayAdaptor) { + NVPortPrivPtr pPriv = GET_OVERLAY_PRIVATE(dev); + if (pPriv->overlayCRTC == nv_crtc->index) + regp->crtc_eng_ctrl |= NV_CRTC_FSEL_OVERLAY; + } +#endif + + /* ADDRESS_SPACE_PNVM is the same as setting HCUR_ASI */ + regp->cursor_cfg = NV_PCRTC_CURSOR_CONFIG_CUR_LINES_64 | + NV_PCRTC_CURSOR_CONFIG_CUR_PIXELS_64 | + NV_PCRTC_CURSOR_CONFIG_ADDRESS_SPACE_PNVM; + if (dev_priv->chipset >= 0x11) + regp->cursor_cfg |= NV_PCRTC_CURSOR_CONFIG_CUR_BPP_32; + if (mode->flags & DRM_MODE_FLAG_DBLSCAN) + regp->cursor_cfg |= NV_PCRTC_CURSOR_CONFIG_DOUBLE_SCAN_ENABLE; + + /* Unblock some timings */ + regp->CRTC[NV_CIO_CRE_53] = 0; + regp->CRTC[NV_CIO_CRE_54] = 0; + + /* 0x00 is disabled, 0x11 is lvds, 0x22 crt and 0x88 tmds */ + if (lvds_output) + regp->CRTC[NV_CIO_CRE_SCRATCH3__INDEX] = 0x11; + else if (tmds_output) + regp->CRTC[NV_CIO_CRE_SCRATCH3__INDEX] = 0x88; + else + regp->CRTC[NV_CIO_CRE_SCRATCH3__INDEX] = 0x22; + + /* These values seem to vary */ + /* This register seems to be used by the bios to make certain decisions on some G70 cards? */ + regp->CRTC[NV_CIO_CRE_SCRATCH4__INDEX] = savep->CRTC[NV_CIO_CRE_SCRATCH4__INDEX]; + + nv_crtc_set_digital_vibrance(crtc, nv_crtc->saturation); + + /* probably a scratch reg, but kept for cargo-cult purposes: + * bit0: crtc0?, head A + * bit6: lvds, head A + * bit7: (only in X), head A + */ + if (nv_crtc->index == 0) + regp->CRTC[NV_CIO_CRE_4B] = savep->CRTC[NV_CIO_CRE_4B] | 0x80; + + /* The blob seems to take the current value from crtc 0, add 4 to that + * and reuse the old value for crtc 1 */ + regp->CRTC[NV_CIO_CRE_TVOUT_LATENCY] = dev_priv->saved_reg.crtc_reg[0].CRTC[NV_CIO_CRE_TVOUT_LATENCY]; + if (!nv_crtc->index) + regp->CRTC[NV_CIO_CRE_TVOUT_LATENCY] += 4; + + /* the blob sometimes sets |= 0x10 (which is the same as setting |= + * 1 << 30 on 0x60.830), for no apparent reason */ + regp->CRTC[NV_CIO_CRE_59] = off_chip_digital; + + regp->crtc_830 = mode->crtc_vdisplay - 3; + regp->crtc_834 = mode->crtc_vdisplay - 1; + + if (dev_priv->card_type == NV_40) + /* This is what the blob does */ + regp->crtc_850 = NVReadCRTC(dev, 0, NV_PCRTC_850); + + if (dev_priv->card_type >= NV_30) + regp->gpio_ext = NVReadCRTC(dev, 0, NV_PCRTC_GPIO_EXT); + + regp->crtc_cfg = NV_PCRTC_CONFIG_START_ADDRESS_HSYNC; + + /* Some misc regs */ + if (dev_priv->card_type == NV_40) { + regp->CRTC[NV_CIO_CRE_85] = 0xFF; + regp->CRTC[NV_CIO_CRE_86] = 0x1; + } + + regp->CRTC[NV_CIO_CRE_PIXEL_INDEX] = (crtc->fb->depth + 1) / 8; + /* Enable slaved mode (called MODE_TV in nv4ref.h) */ + if (lvds_output || tmds_output || tv_output) + regp->CRTC[NV_CIO_CRE_PIXEL_INDEX] |= (1 << 7); + + /* Generic PRAMDAC regs */ + + if (dev_priv->card_type >= NV_10) + /* Only bit that bios and blob set. */ + regp->nv10_cursync = (1 << 25); + + regp->ramdac_gen_ctrl = NV_PRAMDAC_GENERAL_CONTROL_BPC_8BITS | + NV_PRAMDAC_GENERAL_CONTROL_VGA_STATE_SEL | + NV_PRAMDAC_GENERAL_CONTROL_PIXMIX_ON; + if (crtc->fb->depth == 16) + regp->ramdac_gen_ctrl |= NV_PRAMDAC_GENERAL_CONTROL_ALT_MODE_SEL; + if (dev_priv->chipset >= 0x11) + regp->ramdac_gen_ctrl |= NV_PRAMDAC_GENERAL_CONTROL_PIPE_LONG; + + regp->ramdac_630 = 0; /* turn off green mode (tv test pattern?) */ + regp->tv_setup = 0; + + nv_crtc_set_image_sharpening(crtc, nv_crtc->sharpness); + + /* Some values the blob sets */ + regp->ramdac_8c0 = 0x100; + regp->ramdac_a20 = 0x0; + regp->ramdac_a24 = 0xfffff; + regp->ramdac_a34 = 0x1; +} + +/** + * Sets up registers for the given mode/adjusted_mode pair. + * + * The clocks, CRTCs and outputs attached to this CRTC must be off. + * + * This shouldn't enable any clocks, CRTCs, or outputs, but they should + * be easily turned on/off after this. + */ +static int +nv_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) +{ + struct drm_device *dev = crtc->dev; + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + struct drm_nouveau_private *dev_priv = dev->dev_private; + + NV_DEBUG_KMS(dev, "CTRC mode on CRTC %d:\n", nv_crtc->index); + drm_mode_debug_printmodeline(adjusted_mode); + + /* unlock must come after turning off FP_TG_CONTROL in output_prepare */ + nv_lock_vga_crtc_shadow(dev, nv_crtc->index, -1); + + nv_crtc_mode_set_vga(crtc, adjusted_mode); + /* calculated in nv04_dfp_prepare, nv40 needs it written before calculating PLLs */ + if (dev_priv->card_type == NV_40) + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_SEL_CLK, dev_priv->mode_reg.sel_clk); + nv_crtc_mode_set_regs(crtc, adjusted_mode); + nv_crtc_calc_state_ext(crtc, mode, adjusted_mode->clock); + return 0; +} + +static void nv_crtc_save(struct drm_crtc *crtc) +{ + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + struct drm_nouveau_private *dev_priv = crtc->dev->dev_private; + struct nv04_mode_state *state = &dev_priv->mode_reg; + struct nv04_crtc_reg *crtc_state = &state->crtc_reg[nv_crtc->index]; + struct nv04_mode_state *saved = &dev_priv->saved_reg; + struct nv04_crtc_reg *crtc_saved = &saved->crtc_reg[nv_crtc->index]; + + if (nv_two_heads(crtc->dev)) + NVSetOwner(crtc->dev, nv_crtc->index); + + nouveau_hw_save_state(crtc->dev, nv_crtc->index, saved); + + /* init some state to saved value */ + state->sel_clk = saved->sel_clk & ~(0x5 << 16); + crtc_state->CRTC[NV_CIO_CRE_LCD__INDEX] = crtc_saved->CRTC[NV_CIO_CRE_LCD__INDEX]; + state->pllsel = saved->pllsel & ~(PLLSEL_VPLL1_MASK | PLLSEL_VPLL2_MASK | PLLSEL_TV_MASK); + crtc_state->gpio_ext = crtc_saved->gpio_ext; +} + +static void nv_crtc_restore(struct drm_crtc *crtc) +{ + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + struct drm_nouveau_private *dev_priv = crtc->dev->dev_private; + int head = nv_crtc->index; + uint8_t saved_cr21 = dev_priv->saved_reg.crtc_reg[head].CRTC[NV_CIO_CRE_21]; + + if (nv_two_heads(crtc->dev)) + NVSetOwner(crtc->dev, head); + + nouveau_hw_load_state(crtc->dev, head, &dev_priv->saved_reg); + nv_lock_vga_crtc_shadow(crtc->dev, head, saved_cr21); + + nv_crtc->last_dpms = NV_DPMS_CLEARED; +} + +static void nv_crtc_prepare(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + struct drm_crtc_helper_funcs *funcs = crtc->helper_private; + + if (nv_two_heads(dev)) + NVSetOwner(dev, nv_crtc->index); + + funcs->dpms(crtc, DRM_MODE_DPMS_OFF); + + NVBlankScreen(dev, nv_crtc->index, true); + + /* Some more preperation. */ + NVWriteCRTC(dev, nv_crtc->index, NV_PCRTC_CONFIG, NV_PCRTC_CONFIG_START_ADDRESS_NON_VGA); + if (dev_priv->card_type == NV_40) { + uint32_t reg900 = NVReadRAMDAC(dev, nv_crtc->index, NV_PRAMDAC_900); + NVWriteRAMDAC(dev, nv_crtc->index, NV_PRAMDAC_900, reg900 & ~0x10000); + } +} + +static void nv_crtc_commit(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct drm_crtc_helper_funcs *funcs = crtc->helper_private; + struct drm_nouveau_private *dev_priv = crtc->dev->dev_private; + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + + nouveau_hw_load_state(dev, nv_crtc->index, &dev_priv->mode_reg); + nv04_crtc_mode_set_base(crtc, crtc->x, crtc->y, NULL); + +#ifdef __BIG_ENDIAN + /* turn on LFB swapping */ + { + uint8_t tmp = NVReadVgaCrtc(dev, nv_crtc->index, NV_CIO_CRE_RCR); + tmp |= MASK(NV_CIO_CRE_RCR_ENDIAN_BIG); + NVWriteVgaCrtc(dev, nv_crtc->index, NV_CIO_CRE_RCR, tmp); + } +#endif + + funcs->dpms(crtc, DRM_MODE_DPMS_ON); +} + +static void nv_crtc_destroy(struct drm_crtc *crtc) +{ + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + + NV_DEBUG_KMS(crtc->dev, "\n"); + + if (!nv_crtc) + return; + + drm_crtc_cleanup(crtc); + + nouveau_bo_ref(NULL, &nv_crtc->cursor.nvbo); + kfree(nv_crtc); +} + +static void +nv_crtc_gamma_load(struct drm_crtc *crtc) +{ + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + struct drm_device *dev = nv_crtc->base.dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct rgb { uint8_t r, g, b; } __attribute__((packed)) *rgbs; + int i; + + rgbs = (struct rgb *)dev_priv->mode_reg.crtc_reg[nv_crtc->index].DAC; + for (i = 0; i < 256; i++) { + rgbs[i].r = nv_crtc->lut.r[i] >> 8; + rgbs[i].g = nv_crtc->lut.g[i] >> 8; + rgbs[i].b = nv_crtc->lut.b[i] >> 8; + } + + nouveau_hw_load_state_palette(dev, nv_crtc->index, &dev_priv->mode_reg); +} + +static void +nv_crtc_gamma_set(struct drm_crtc *crtc, u16 *r, u16 *g, u16 *b, uint32_t size) +{ + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + int i; + + if (size != 256) + return; + + for (i = 0; i < 256; i++) { + nv_crtc->lut.r[i] = r[i]; + nv_crtc->lut.g[i] = g[i]; + nv_crtc->lut.b[i] = b[i]; + } + + /* We need to know the depth before we upload, but it's possible to + * get called before a framebuffer is bound. If this is the case, + * mark the lut values as dirty by setting depth==0, and it'll be + * uploaded on the first mode_set_base() + */ + if (!nv_crtc->base.fb) { + nv_crtc->lut.depth = 0; + return; + } + + nv_crtc_gamma_load(crtc); +} + +static int +nv04_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y, + struct drm_framebuffer *old_fb) +{ + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + struct drm_device *dev = crtc->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv04_crtc_reg *regp = &dev_priv->mode_reg.crtc_reg[nv_crtc->index]; + struct drm_framebuffer *drm_fb = nv_crtc->base.fb; + struct nouveau_framebuffer *fb = nouveau_framebuffer(drm_fb); + int arb_burst, arb_lwm; + int ret; + + ret = nouveau_bo_pin(fb->nvbo, TTM_PL_FLAG_VRAM); + if (ret) + return ret; + + if (old_fb) { + struct nouveau_framebuffer *ofb = nouveau_framebuffer(old_fb); + nouveau_bo_unpin(ofb->nvbo); + } + + nv_crtc->fb.offset = fb->nvbo->bo.offset; + + if (nv_crtc->lut.depth != drm_fb->depth) { + nv_crtc->lut.depth = drm_fb->depth; + nv_crtc_gamma_load(crtc); + } + + /* Update the framebuffer format. */ + regp->CRTC[NV_CIO_CRE_PIXEL_INDEX] &= ~3; + regp->CRTC[NV_CIO_CRE_PIXEL_INDEX] |= (crtc->fb->depth + 1) / 8; + regp->ramdac_gen_ctrl &= ~NV_PRAMDAC_GENERAL_CONTROL_ALT_MODE_SEL; + if (crtc->fb->depth == 16) + regp->ramdac_gen_ctrl |= NV_PRAMDAC_GENERAL_CONTROL_ALT_MODE_SEL; + crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_PIXEL_INDEX); + NVWriteRAMDAC(dev, nv_crtc->index, NV_PRAMDAC_GENERAL_CONTROL, + regp->ramdac_gen_ctrl); + + regp->CRTC[NV_CIO_CR_OFFSET_INDEX] = drm_fb->pitch >> 3; + regp->CRTC[NV_CIO_CRE_RPC0_INDEX] = + XLATE(drm_fb->pitch >> 3, 8, NV_CIO_CRE_RPC0_OFFSET_10_8); + crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_RPC0_INDEX); + crtc_wr_cio_state(crtc, regp, NV_CIO_CR_OFFSET_INDEX); + + /* Update the framebuffer location. */ + regp->fb_start = nv_crtc->fb.offset & ~3; + regp->fb_start += (y * drm_fb->pitch) + (x * drm_fb->bits_per_pixel / 8); + NVWriteCRTC(dev, nv_crtc->index, NV_PCRTC_START, regp->fb_start); + + /* Update the arbitration parameters. */ + nouveau_calc_arb(dev, crtc->mode.clock, drm_fb->bits_per_pixel, + &arb_burst, &arb_lwm); + + regp->CRTC[NV_CIO_CRE_FF_INDEX] = arb_burst; + regp->CRTC[NV_CIO_CRE_FFLWM__INDEX] = arb_lwm & 0xff; + crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_FF_INDEX); + crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_FFLWM__INDEX); + + if (dev_priv->card_type >= NV_30) { + regp->CRTC[NV_CIO_CRE_47] = arb_lwm >> 8; + crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_47); + } + + return 0; +} + +static void nv04_cursor_upload(struct drm_device *dev, struct nouveau_bo *src, + struct nouveau_bo *dst) +{ + int width = nv_cursor_width(dev); + uint32_t pixel; + int i, j; + + for (i = 0; i < width; i++) { + for (j = 0; j < width; j++) { + pixel = nouveau_bo_rd32(src, i*64 + j); + + nouveau_bo_wr16(dst, i*width + j, (pixel & 0x80000000) >> 16 + | (pixel & 0xf80000) >> 9 + | (pixel & 0xf800) >> 6 + | (pixel & 0xf8) >> 3); + } + } +} + +static void nv11_cursor_upload(struct drm_device *dev, struct nouveau_bo *src, + struct nouveau_bo *dst) +{ + uint32_t pixel; + int alpha, i; + + /* nv11+ supports premultiplied (PM), or non-premultiplied (NPM) alpha + * cursors (though NPM in combination with fp dithering may not work on + * nv11, from "nv" driver history) + * NPM mode needs NV_PCRTC_CURSOR_CONFIG_ALPHA_BLEND set and is what the + * blob uses, however we get given PM cursors so we use PM mode + */ + for (i = 0; i < 64 * 64; i++) { + pixel = nouveau_bo_rd32(src, i); + + /* hw gets unhappy if alpha <= rgb values. for a PM image "less + * than" shouldn't happen; fix "equal to" case by adding one to + * alpha channel (slightly inaccurate, but so is attempting to + * get back to NPM images, due to limits of integer precision) + */ + alpha = pixel >> 24; + if (alpha > 0 && alpha < 255) + pixel = (pixel & 0x00ffffff) | ((alpha + 1) << 24); + +#ifdef __BIG_ENDIAN + { + struct drm_nouveau_private *dev_priv = dev->dev_private; + + if (dev_priv->chipset == 0x11) { + pixel = ((pixel & 0x000000ff) << 24) | + ((pixel & 0x0000ff00) << 8) | + ((pixel & 0x00ff0000) >> 8) | + ((pixel & 0xff000000) >> 24); + } + } +#endif + + nouveau_bo_wr32(dst, i, pixel); + } +} + +static int +nv04_crtc_cursor_set(struct drm_crtc *crtc, struct drm_file *file_priv, + uint32_t buffer_handle, uint32_t width, uint32_t height) +{ + struct drm_nouveau_private *dev_priv = crtc->dev->dev_private; + struct drm_device *dev = dev_priv->dev; + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + struct nouveau_bo *cursor = NULL; + struct drm_gem_object *gem; + int ret = 0; + + if (width != 64 || height != 64) + return -EINVAL; + + if (!buffer_handle) { + nv_crtc->cursor.hide(nv_crtc, true); + return 0; + } + + gem = drm_gem_object_lookup(dev, file_priv, buffer_handle); + if (!gem) + return -EINVAL; + cursor = nouveau_gem_object(gem); + + ret = nouveau_bo_map(cursor); + if (ret) + goto out; + + if (dev_priv->chipset >= 0x11) + nv11_cursor_upload(dev, cursor, nv_crtc->cursor.nvbo); + else + nv04_cursor_upload(dev, cursor, nv_crtc->cursor.nvbo); + + nouveau_bo_unmap(cursor); + nv_crtc->cursor.offset = nv_crtc->cursor.nvbo->bo.offset; + nv_crtc->cursor.set_offset(nv_crtc, nv_crtc->cursor.offset); + nv_crtc->cursor.show(nv_crtc, true); +out: + mutex_lock(&dev->struct_mutex); + drm_gem_object_unreference(gem); + mutex_unlock(&dev->struct_mutex); + return ret; +} + +static int +nv04_crtc_cursor_move(struct drm_crtc *crtc, int x, int y) +{ + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + + nv_crtc->cursor.set_pos(nv_crtc, x, y); + return 0; +} + +static const struct drm_crtc_funcs nv04_crtc_funcs = { + .save = nv_crtc_save, + .restore = nv_crtc_restore, + .cursor_set = nv04_crtc_cursor_set, + .cursor_move = nv04_crtc_cursor_move, + .gamma_set = nv_crtc_gamma_set, + .set_config = drm_crtc_helper_set_config, + .destroy = nv_crtc_destroy, +}; + +static const struct drm_crtc_helper_funcs nv04_crtc_helper_funcs = { + .dpms = nv_crtc_dpms, + .prepare = nv_crtc_prepare, + .commit = nv_crtc_commit, + .mode_fixup = nv_crtc_mode_fixup, + .mode_set = nv_crtc_mode_set, + .mode_set_base = nv04_crtc_mode_set_base, + .load_lut = nv_crtc_gamma_load, +}; + +int +nv04_crtc_create(struct drm_device *dev, int crtc_num) +{ + struct nouveau_crtc *nv_crtc; + int ret, i; + + nv_crtc = kzalloc(sizeof(*nv_crtc), GFP_KERNEL); + if (!nv_crtc) + return -ENOMEM; + + for (i = 0; i < 256; i++) { + nv_crtc->lut.r[i] = i << 8; + nv_crtc->lut.g[i] = i << 8; + nv_crtc->lut.b[i] = i << 8; + } + nv_crtc->lut.depth = 0; + + nv_crtc->index = crtc_num; + nv_crtc->last_dpms = NV_DPMS_CLEARED; + + drm_crtc_init(dev, &nv_crtc->base, &nv04_crtc_funcs); + drm_crtc_helper_add(&nv_crtc->base, &nv04_crtc_helper_funcs); + drm_mode_crtc_set_gamma_size(&nv_crtc->base, 256); + + ret = nouveau_bo_new(dev, NULL, 64*64*4, 0x100, TTM_PL_FLAG_VRAM, + 0, 0x0000, false, true, &nv_crtc->cursor.nvbo); + if (!ret) { + ret = nouveau_bo_pin(nv_crtc->cursor.nvbo, TTM_PL_FLAG_VRAM); + if (!ret) + ret = nouveau_bo_map(nv_crtc->cursor.nvbo); + if (ret) + nouveau_bo_ref(NULL, &nv_crtc->cursor.nvbo); + } + + nv04_cursor_init(nv_crtc); + + return 0; +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv04_cursor.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv04_cursor.c @@ -0,0 +1,70 @@ +#include "drmP.h" +#include "drm_mode.h" +#include "nouveau_reg.h" +#include "nouveau_drv.h" +#include "nouveau_crtc.h" +#include "nouveau_hw.h" + +static void +nv04_cursor_show(struct nouveau_crtc *nv_crtc, bool update) +{ + nv_show_cursor(nv_crtc->base.dev, nv_crtc->index, true); +} + +static void +nv04_cursor_hide(struct nouveau_crtc *nv_crtc, bool update) +{ + nv_show_cursor(nv_crtc->base.dev, nv_crtc->index, false); +} + +static void +nv04_cursor_set_pos(struct nouveau_crtc *nv_crtc, int x, int y) +{ + NVWriteRAMDAC(nv_crtc->base.dev, nv_crtc->index, + NV_PRAMDAC_CU_START_POS, + XLATE(y, 0, NV_PRAMDAC_CU_START_POS_Y) | + XLATE(x, 0, NV_PRAMDAC_CU_START_POS_X)); +} + +static void +crtc_wr_cio_state(struct drm_crtc *crtc, struct nv04_crtc_reg *crtcstate, int index) +{ + NVWriteVgaCrtc(crtc->dev, nouveau_crtc(crtc)->index, index, + crtcstate->CRTC[index]); +} + +static void +nv04_cursor_set_offset(struct nouveau_crtc *nv_crtc, uint32_t offset) +{ + struct drm_device *dev = nv_crtc->base.dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv04_crtc_reg *regp = &dev_priv->mode_reg.crtc_reg[nv_crtc->index]; + struct drm_crtc *crtc = &nv_crtc->base; + + regp->CRTC[NV_CIO_CRE_HCUR_ADDR0_INDEX] = + MASK(NV_CIO_CRE_HCUR_ASI) | + XLATE(offset, 17, NV_CIO_CRE_HCUR_ADDR0_ADR); + regp->CRTC[NV_CIO_CRE_HCUR_ADDR1_INDEX] = + XLATE(offset, 11, NV_CIO_CRE_HCUR_ADDR1_ADR); + if (crtc->mode.flags & DRM_MODE_FLAG_DBLSCAN) + regp->CRTC[NV_CIO_CRE_HCUR_ADDR1_INDEX] |= + MASK(NV_CIO_CRE_HCUR_ADDR1_CUR_DBL); + regp->CRTC[NV_CIO_CRE_HCUR_ADDR2_INDEX] = offset >> 24; + + crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_HCUR_ADDR0_INDEX); + crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_HCUR_ADDR1_INDEX); + crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_HCUR_ADDR2_INDEX); + if (dev_priv->card_type == NV_40) + nv_fix_nv40_hw_cursor(dev, nv_crtc->index); +} + +int +nv04_cursor_init(struct nouveau_crtc *crtc) +{ + crtc->cursor.set_offset = nv04_cursor_set_offset; + crtc->cursor.set_pos = nv04_cursor_set_pos; + crtc->cursor.hide = nv04_cursor_hide; + crtc->cursor.show = nv04_cursor_show; + return 0; +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv04_dac.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv04_dac.c @@ -0,0 +1,531 @@ +/* + * Copyright 2003 NVIDIA, Corporation + * Copyright 2006 Dave Airlie + * Copyright 2007 Maarten Maathuis + * Copyright 2007-2009 Stuart Bennett + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#include "drmP.h" +#include "drm_crtc_helper.h" + +#include "nouveau_drv.h" +#include "nouveau_encoder.h" +#include "nouveau_connector.h" +#include "nouveau_crtc.h" +#include "nouveau_hw.h" +#include "nvreg.h" + +int nv04_dac_output_offset(struct drm_encoder *encoder) +{ + struct dcb_entry *dcb = nouveau_encoder(encoder)->dcb; + int offset = 0; + + if (dcb->or & (8 | OUTPUT_C)) + offset += 0x68; + if (dcb->or & (8 | OUTPUT_B)) + offset += 0x2000; + + return offset; +} + +/* + * arbitrary limit to number of sense oscillations tolerated in one sample + * period (observed to be at least 13 in "nvidia") + */ +#define MAX_HBLANK_OSC 20 + +/* + * arbitrary limit to number of conflicting sample pairs to tolerate at a + * voltage step (observed to be at least 5 in "nvidia") + */ +#define MAX_SAMPLE_PAIRS 10 + +static int sample_load_twice(struct drm_device *dev, bool sense[2]) +{ + int i; + + for (i = 0; i < 2; i++) { + bool sense_a, sense_b, sense_b_prime; + int j = 0; + + /* + * wait for bit 0 clear -- out of hblank -- (say reg value 0x4), + * then wait for transition 0x4->0x5->0x4: enter hblank, leave + * hblank again + * use a 10ms timeout (guards against crtc being inactive, in + * which case blank state would never change) + */ + if (!nouveau_wait_until(dev, 10000000, NV_PRMCIO_INP0__COLOR, + 0x00000001, 0x00000000)) + return -EBUSY; + if (!nouveau_wait_until(dev, 10000000, NV_PRMCIO_INP0__COLOR, + 0x00000001, 0x00000001)) + return -EBUSY; + if (!nouveau_wait_until(dev, 10000000, NV_PRMCIO_INP0__COLOR, + 0x00000001, 0x00000000)) + return -EBUSY; + + udelay(100); + /* when level triggers, sense is _LO_ */ + sense_a = nv_rd08(dev, NV_PRMCIO_INP0) & 0x10; + + /* take another reading until it agrees with sense_a... */ + do { + udelay(100); + sense_b = nv_rd08(dev, NV_PRMCIO_INP0) & 0x10; + if (sense_a != sense_b) { + sense_b_prime = + nv_rd08(dev, NV_PRMCIO_INP0) & 0x10; + if (sense_b == sense_b_prime) { + /* ... unless two consecutive subsequent + * samples agree; sense_a is replaced */ + sense_a = sense_b; + /* force mis-match so we loop */ + sense_b = !sense_a; + } + } + } while ((sense_a != sense_b) && ++j < MAX_HBLANK_OSC); + + if (j == MAX_HBLANK_OSC) + /* with so much oscillation, default to sense:LO */ + sense[i] = false; + else + sense[i] = sense_a; + } + + return 0; +} + +static enum drm_connector_status nv04_dac_detect(struct drm_encoder *encoder, + struct drm_connector *connector) +{ + struct drm_device *dev = encoder->dev; + uint8_t saved_seq1, saved_pi, saved_rpc1, saved_cr_mode; + uint8_t saved_palette0[3], saved_palette_mask; + uint32_t saved_rtest_ctrl, saved_rgen_ctrl; + int i; + uint8_t blue; + bool sense = true; + + /* + * for this detection to work, there needs to be a mode set up on the + * CRTC. this is presumed to be the case + */ + + if (nv_two_heads(dev)) + /* only implemented for head A for now */ + NVSetOwner(dev, 0); + + saved_cr_mode = NVReadVgaCrtc(dev, 0, NV_CIO_CR_MODE_INDEX); + NVWriteVgaCrtc(dev, 0, NV_CIO_CR_MODE_INDEX, saved_cr_mode | 0x80); + + saved_seq1 = NVReadVgaSeq(dev, 0, NV_VIO_SR_CLOCK_INDEX); + NVWriteVgaSeq(dev, 0, NV_VIO_SR_CLOCK_INDEX, saved_seq1 & ~0x20); + + saved_rtest_ctrl = NVReadRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL); + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL, + saved_rtest_ctrl & ~NV_PRAMDAC_TEST_CONTROL_PWRDWN_DAC_OFF); + + msleep(10); + + saved_pi = NVReadVgaCrtc(dev, 0, NV_CIO_CRE_PIXEL_INDEX); + NVWriteVgaCrtc(dev, 0, NV_CIO_CRE_PIXEL_INDEX, + saved_pi & ~(0x80 | MASK(NV_CIO_CRE_PIXEL_FORMAT))); + saved_rpc1 = NVReadVgaCrtc(dev, 0, NV_CIO_CRE_RPC1_INDEX); + NVWriteVgaCrtc(dev, 0, NV_CIO_CRE_RPC1_INDEX, saved_rpc1 & ~0xc0); + + nv_wr08(dev, NV_PRMDIO_READ_MODE_ADDRESS, 0x0); + for (i = 0; i < 3; i++) + saved_palette0[i] = nv_rd08(dev, NV_PRMDIO_PALETTE_DATA); + saved_palette_mask = nv_rd08(dev, NV_PRMDIO_PIXEL_MASK); + nv_wr08(dev, NV_PRMDIO_PIXEL_MASK, 0); + + saved_rgen_ctrl = NVReadRAMDAC(dev, 0, NV_PRAMDAC_GENERAL_CONTROL); + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_GENERAL_CONTROL, + (saved_rgen_ctrl & ~(NV_PRAMDAC_GENERAL_CONTROL_BPC_8BITS | + NV_PRAMDAC_GENERAL_CONTROL_TERMINATION_75OHM)) | + NV_PRAMDAC_GENERAL_CONTROL_PIXMIX_ON); + + blue = 8; /* start of test range */ + + do { + bool sense_pair[2]; + + nv_wr08(dev, NV_PRMDIO_WRITE_MODE_ADDRESS, 0); + nv_wr08(dev, NV_PRMDIO_PALETTE_DATA, 0); + nv_wr08(dev, NV_PRMDIO_PALETTE_DATA, 0); + /* testing blue won't find monochrome monitors. I don't care */ + nv_wr08(dev, NV_PRMDIO_PALETTE_DATA, blue); + + i = 0; + /* take sample pairs until both samples in the pair agree */ + do { + if (sample_load_twice(dev, sense_pair)) + goto out; + } while ((sense_pair[0] != sense_pair[1]) && + ++i < MAX_SAMPLE_PAIRS); + + if (i == MAX_SAMPLE_PAIRS) + /* too much oscillation defaults to LO */ + sense = false; + else + sense = sense_pair[0]; + + /* + * if sense goes LO before blue ramps to 0x18, monitor is not connected. + * ergo, if blue gets to 0x18, monitor must be connected + */ + } while (++blue < 0x18 && sense); + +out: + nv_wr08(dev, NV_PRMDIO_PIXEL_MASK, saved_palette_mask); + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_GENERAL_CONTROL, saved_rgen_ctrl); + nv_wr08(dev, NV_PRMDIO_WRITE_MODE_ADDRESS, 0); + for (i = 0; i < 3; i++) + nv_wr08(dev, NV_PRMDIO_PALETTE_DATA, saved_palette0[i]); + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL, saved_rtest_ctrl); + NVWriteVgaCrtc(dev, 0, NV_CIO_CRE_PIXEL_INDEX, saved_pi); + NVWriteVgaCrtc(dev, 0, NV_CIO_CRE_RPC1_INDEX, saved_rpc1); + NVWriteVgaSeq(dev, 0, NV_VIO_SR_CLOCK_INDEX, saved_seq1); + NVWriteVgaCrtc(dev, 0, NV_CIO_CR_MODE_INDEX, saved_cr_mode); + + if (blue == 0x18) { + NV_INFO(dev, "Load detected on head A\n"); + return connector_status_connected; + } + + return connector_status_disconnected; +} + +uint32_t nv17_dac_sample_load(struct drm_encoder *encoder) +{ + struct drm_device *dev = encoder->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct dcb_entry *dcb = nouveau_encoder(encoder)->dcb; + uint32_t sample, testval, regoffset = nv04_dac_output_offset(encoder); + uint32_t saved_powerctrl_2 = 0, saved_powerctrl_4 = 0, saved_routput, + saved_rtest_ctrl, saved_gpio0, saved_gpio1, temp, routput; + int head; + +#define RGB_TEST_DATA(r, g, b) (r << 0 | g << 10 | b << 20) + if (dcb->type == OUTPUT_TV) { + testval = RGB_TEST_DATA(0xa0, 0xa0, 0xa0); + + if (dev_priv->vbios->tvdactestval) + testval = dev_priv->vbios->tvdactestval; + } else { + testval = RGB_TEST_DATA(0x140, 0x140, 0x140); /* 0x94050140 */ + + if (dev_priv->vbios->dactestval) + testval = dev_priv->vbios->dactestval; + } + + saved_rtest_ctrl = NVReadRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + regoffset); + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + regoffset, + saved_rtest_ctrl & ~NV_PRAMDAC_TEST_CONTROL_PWRDWN_DAC_OFF); + + saved_powerctrl_2 = nvReadMC(dev, NV_PBUS_POWERCTRL_2); + + nvWriteMC(dev, NV_PBUS_POWERCTRL_2, saved_powerctrl_2 & 0xd7ffffff); + if (regoffset == 0x68) { + saved_powerctrl_4 = nvReadMC(dev, NV_PBUS_POWERCTRL_4); + nvWriteMC(dev, NV_PBUS_POWERCTRL_4, saved_powerctrl_4 & 0xffffffcf); + } + + saved_gpio1 = nv17_gpio_get(dev, DCB_GPIO_TVDAC1); + saved_gpio0 = nv17_gpio_get(dev, DCB_GPIO_TVDAC0); + + nv17_gpio_set(dev, DCB_GPIO_TVDAC1, dcb->type == OUTPUT_TV); + nv17_gpio_set(dev, DCB_GPIO_TVDAC0, dcb->type == OUTPUT_TV); + + msleep(4); + + saved_routput = NVReadRAMDAC(dev, 0, NV_PRAMDAC_DACCLK + regoffset); + head = (saved_routput & 0x100) >> 8; +#if 0 + /* if there's a spare crtc, using it will minimise flicker for the case + * where the in-use crtc is in use by an off-chip tmds encoder */ + if (xf86_config->crtc[head]->enabled && !xf86_config->crtc[head ^ 1]->enabled) + head ^= 1; +#endif + /* nv driver and nv31 use 0xfffffeee, nv34 and 6600 use 0xfffffece */ + routput = (saved_routput & 0xfffffece) | head << 8; + + if (dev_priv->card_type >= NV_40) { + if (dcb->type == OUTPUT_TV) + routput |= 0x1a << 16; + else + routput &= ~(0x1a << 16); + } + + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_DACCLK + regoffset, routput); + msleep(1); + + temp = NVReadRAMDAC(dev, 0, NV_PRAMDAC_DACCLK + regoffset); + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_DACCLK + regoffset, temp | 1); + + NVWriteRAMDAC(dev, head, NV_PRAMDAC_TESTPOINT_DATA, + NV_PRAMDAC_TESTPOINT_DATA_NOTBLANK | testval); + temp = NVReadRAMDAC(dev, head, NV_PRAMDAC_TEST_CONTROL); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_TEST_CONTROL, + temp | NV_PRAMDAC_TEST_CONTROL_TP_INS_EN_ASSERTED); + msleep(5); + + sample = NVReadRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + regoffset); + + temp = NVReadRAMDAC(dev, head, NV_PRAMDAC_TEST_CONTROL); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_TEST_CONTROL, + temp & ~NV_PRAMDAC_TEST_CONTROL_TP_INS_EN_ASSERTED); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_TESTPOINT_DATA, 0); + + /* bios does something more complex for restoring, but I think this is good enough */ + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_DACCLK + regoffset, saved_routput); + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + regoffset, saved_rtest_ctrl); + if (regoffset == 0x68) + nvWriteMC(dev, NV_PBUS_POWERCTRL_4, saved_powerctrl_4); + nvWriteMC(dev, NV_PBUS_POWERCTRL_2, saved_powerctrl_2); + + nv17_gpio_set(dev, DCB_GPIO_TVDAC1, saved_gpio1); + nv17_gpio_set(dev, DCB_GPIO_TVDAC0, saved_gpio0); + + return sample; +} + +static enum drm_connector_status +nv17_dac_detect(struct drm_encoder *encoder, struct drm_connector *connector) +{ + struct drm_device *dev = encoder->dev; + struct dcb_entry *dcb = nouveau_encoder(encoder)->dcb; + uint32_t sample = nv17_dac_sample_load(encoder); + + if (sample & NV_PRAMDAC_TEST_CONTROL_SENSEB_ALLHI) { + NV_INFO(dev, "Load detected on output %c\n", + '@' + ffs(dcb->or)); + return connector_status_connected; + } else { + return connector_status_disconnected; + } +} + +static bool nv04_dac_mode_fixup(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + return true; +} + +static void nv04_dac_prepare(struct drm_encoder *encoder) +{ + struct drm_encoder_helper_funcs *helper = encoder->helper_private; + struct drm_device *dev = encoder->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + int head = nouveau_crtc(encoder->crtc)->index; + struct nv04_crtc_reg *crtcstate = dev_priv->mode_reg.crtc_reg; + + helper->dpms(encoder, DRM_MODE_DPMS_OFF); + + nv04_dfp_disable(dev, head); + + /* Some NV4x have unknown values (0x3f, 0x50, 0x54, 0x6b, 0x79, 0x7f) + * at LCD__INDEX which we don't alter + */ + if (!(crtcstate[head].CRTC[NV_CIO_CRE_LCD__INDEX] & 0x44)) + crtcstate[head].CRTC[NV_CIO_CRE_LCD__INDEX] = 0; +} + + +static void nv04_dac_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_nouveau_private *dev_priv = dev->dev_private; + int head = nouveau_crtc(encoder->crtc)->index; + + if (nv_gf4_disp_arch(dev)) { + struct drm_encoder *rebind; + uint32_t dac_offset = nv04_dac_output_offset(encoder); + uint32_t otherdac; + + /* bit 16-19 are bits that are set on some G70 cards, + * but don't seem to have much effect */ + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_DACCLK + dac_offset, + head << 8 | NV_PRAMDAC_DACCLK_SEL_DACCLK); + /* force any other vga encoders to bind to the other crtc */ + list_for_each_entry(rebind, &dev->mode_config.encoder_list, head) { + if (rebind == encoder + || nouveau_encoder(rebind)->dcb->type != OUTPUT_ANALOG) + continue; + + dac_offset = nv04_dac_output_offset(rebind); + otherdac = NVReadRAMDAC(dev, 0, NV_PRAMDAC_DACCLK + dac_offset); + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_DACCLK + dac_offset, + (otherdac & ~0x0100) | (head ^ 1) << 8); + } + } + + /* This could use refinement for flatpanels, but it should work this way */ + if (dev_priv->chipset < 0x44) + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + nv04_dac_output_offset(encoder), 0xf0000000); + else + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + nv04_dac_output_offset(encoder), 0x00100000); +} + +static void nv04_dac_commit(struct drm_encoder *encoder) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_device *dev = encoder->dev; + struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); + struct drm_encoder_helper_funcs *helper = encoder->helper_private; + + 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)); +} + +void nv04_dac_update_dacclk(struct drm_encoder *encoder, bool enable) +{ + struct drm_device *dev = encoder->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct dcb_entry *dcb = nouveau_encoder(encoder)->dcb; + + if (nv_gf4_disp_arch(dev)) { + uint32_t *dac_users = &dev_priv->dac_users[ffs(dcb->or) - 1]; + int dacclk_off = NV_PRAMDAC_DACCLK + nv04_dac_output_offset(encoder); + uint32_t dacclk = NVReadRAMDAC(dev, 0, dacclk_off); + + if (enable) { + *dac_users |= 1 << dcb->index; + NVWriteRAMDAC(dev, 0, dacclk_off, dacclk | NV_PRAMDAC_DACCLK_SEL_DACCLK); + + } else { + *dac_users &= ~(1 << dcb->index); + if (!*dac_users) + NVWriteRAMDAC(dev, 0, dacclk_off, + dacclk & ~NV_PRAMDAC_DACCLK_SEL_DACCLK); + } + } +} + +static void nv04_dac_dpms(struct drm_encoder *encoder, int mode) +{ + struct drm_device *dev = encoder->dev; + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + + if (nv_encoder->last_dpms == mode) + return; + nv_encoder->last_dpms = mode; + + NV_INFO(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); +} + +static void nv04_dac_save(struct drm_encoder *encoder) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_device *dev = encoder->dev; + + if (nv_gf4_disp_arch(dev)) + nv_encoder->restore.output = NVReadRAMDAC(dev, 0, NV_PRAMDAC_DACCLK + + nv04_dac_output_offset(encoder)); +} + +static void nv04_dac_restore(struct drm_encoder *encoder) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_device *dev = encoder->dev; + + if (nv_gf4_disp_arch(dev)) + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_DACCLK + nv04_dac_output_offset(encoder), + nv_encoder->restore.output); + + nv_encoder->last_dpms = NV_DPMS_CLEARED; +} + +static void nv04_dac_destroy(struct drm_encoder *encoder) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + + NV_DEBUG_KMS(encoder->dev, "\n"); + + drm_encoder_cleanup(encoder); + kfree(nv_encoder); +} + +static const struct drm_encoder_helper_funcs nv04_dac_helper_funcs = { + .dpms = nv04_dac_dpms, + .save = nv04_dac_save, + .restore = nv04_dac_restore, + .mode_fixup = nv04_dac_mode_fixup, + .prepare = nv04_dac_prepare, + .commit = nv04_dac_commit, + .mode_set = nv04_dac_mode_set, + .detect = nv04_dac_detect +}; + +static const struct drm_encoder_helper_funcs nv17_dac_helper_funcs = { + .dpms = nv04_dac_dpms, + .save = nv04_dac_save, + .restore = nv04_dac_restore, + .mode_fixup = nv04_dac_mode_fixup, + .prepare = nv04_dac_prepare, + .commit = nv04_dac_commit, + .mode_set = nv04_dac_mode_set, + .detect = nv17_dac_detect +}; + +static const struct drm_encoder_funcs nv04_dac_funcs = { + .destroy = nv04_dac_destroy, +}; + +int nv04_dac_create(struct drm_device *dev, struct dcb_entry *entry) +{ + const struct drm_encoder_helper_funcs *helper; + struct drm_encoder *encoder; + struct nouveau_encoder *nv_encoder = NULL; + + nv_encoder = kzalloc(sizeof(*nv_encoder), GFP_KERNEL); + if (!nv_encoder) + return -ENOMEM; + + encoder = to_drm_encoder(nv_encoder); + + nv_encoder->dcb = entry; + nv_encoder->or = ffs(entry->or) - 1; + + if (nv_gf4_disp_arch(dev)) + helper = &nv17_dac_helper_funcs; + else + helper = &nv04_dac_helper_funcs; + + drm_encoder_init(dev, encoder, &nv04_dac_funcs, DRM_MODE_ENCODER_DAC); + drm_encoder_helper_add(encoder, helper); + + encoder->possible_crtcs = entry->heads; + encoder->possible_clones = 0; + + return 0; +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv04_dfp.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv04_dfp.c @@ -0,0 +1,623 @@ +/* + * Copyright 2003 NVIDIA, Corporation + * Copyright 2006 Dave Airlie + * Copyright 2007 Maarten Maathuis + * Copyright 2007-2009 Stuart Bennett + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#include "drmP.h" +#include "drm_crtc_helper.h" + +#include "nouveau_drv.h" +#include "nouveau_encoder.h" +#include "nouveau_connector.h" +#include "nouveau_crtc.h" +#include "nouveau_hw.h" +#include "nvreg.h" + +#define FP_TG_CONTROL_ON (NV_PRAMDAC_FP_TG_CONTROL_DISPEN_POS | \ + NV_PRAMDAC_FP_TG_CONTROL_HSYNC_POS | \ + NV_PRAMDAC_FP_TG_CONTROL_VSYNC_POS) +#define FP_TG_CONTROL_OFF (NV_PRAMDAC_FP_TG_CONTROL_DISPEN_DISABLE | \ + NV_PRAMDAC_FP_TG_CONTROL_HSYNC_DISABLE | \ + NV_PRAMDAC_FP_TG_CONTROL_VSYNC_DISABLE) + +static inline bool is_fpc_off(uint32_t fpc) +{ + return ((fpc & (FP_TG_CONTROL_ON | FP_TG_CONTROL_OFF)) == + FP_TG_CONTROL_OFF); +} + +int nv04_dfp_get_bound_head(struct drm_device *dev, struct dcb_entry *dcbent) +{ + /* special case of nv_read_tmds to find crtc associated with an output. + * this does not give a correct answer for off-chip dvi, but there's no + * use for such an answer anyway + */ + int ramdac = (dcbent->or & OUTPUT_C) >> 2; + + NVWriteRAMDAC(dev, ramdac, NV_PRAMDAC_FP_TMDS_CONTROL, + NV_PRAMDAC_FP_TMDS_CONTROL_WRITE_DISABLE | 0x4); + return ((NVReadRAMDAC(dev, ramdac, NV_PRAMDAC_FP_TMDS_DATA) & 0x8) >> 3) ^ ramdac; +} + +void nv04_dfp_bind_head(struct drm_device *dev, struct dcb_entry *dcbent, + int head, bool dl) +{ + /* The BIOS scripts don't do this for us, sadly + * Luckily we do know the values ;-) + * + * head < 0 indicates we wish to force a setting with the overrideval + * (for VT restore etc.) + */ + + int ramdac = (dcbent->or & OUTPUT_C) >> 2; + uint8_t tmds04 = 0x80; + + if (head != ramdac) + tmds04 = 0x88; + + if (dcbent->type == OUTPUT_LVDS) + tmds04 |= 0x01; + + nv_write_tmds(dev, dcbent->or, 0, 0x04, tmds04); + + if (dl) /* dual link */ + nv_write_tmds(dev, dcbent->or, 1, 0x04, tmds04 ^ 0x08); +} + +void nv04_dfp_disable(struct drm_device *dev, int head) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv04_crtc_reg *crtcstate = dev_priv->mode_reg.crtc_reg; + + if (NVReadRAMDAC(dev, head, NV_PRAMDAC_FP_TG_CONTROL) & + FP_TG_CONTROL_ON) { + /* digital remnants must be cleaned before new crtc + * values programmed. delay is time for the vga stuff + * to realise it's in control again + */ + NVWriteRAMDAC(dev, head, NV_PRAMDAC_FP_TG_CONTROL, + FP_TG_CONTROL_OFF); + msleep(50); + } + /* don't inadvertently turn it on when state written later */ + crtcstate[head].fp_control = FP_TG_CONTROL_OFF; +} + +void nv04_dfp_update_fp_control(struct drm_encoder *encoder, int mode) +{ + struct drm_device *dev = encoder->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct drm_crtc *crtc; + struct nouveau_crtc *nv_crtc; + uint32_t *fpc; + + if (mode == DRM_MODE_DPMS_ON) { + nv_crtc = nouveau_crtc(encoder->crtc); + fpc = &dev_priv->mode_reg.crtc_reg[nv_crtc->index].fp_control; + + if (is_fpc_off(*fpc)) { + /* using saved value is ok, as (is_digital && dpms_on && + * fp_control==OFF) is (at present) *only* true when + * fpc's most recent change was by below "off" code + */ + *fpc = nv_crtc->dpms_saved_fp_control; + } + + nv_crtc->fp_users |= 1 << nouveau_encoder(encoder)->dcb->index; + NVWriteRAMDAC(dev, nv_crtc->index, NV_PRAMDAC_FP_TG_CONTROL, *fpc); + } else { + list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { + nv_crtc = nouveau_crtc(crtc); + fpc = &dev_priv->mode_reg.crtc_reg[nv_crtc->index].fp_control; + + nv_crtc->fp_users &= ~(1 << nouveau_encoder(encoder)->dcb->index); + if (!is_fpc_off(*fpc) && !nv_crtc->fp_users) { + nv_crtc->dpms_saved_fp_control = *fpc; + /* cut the FP output */ + *fpc &= ~FP_TG_CONTROL_ON; + *fpc |= FP_TG_CONTROL_OFF; + NVWriteRAMDAC(dev, nv_crtc->index, + NV_PRAMDAC_FP_TG_CONTROL, *fpc); + } + } + } +} + +static bool nv04_dfp_mode_fixup(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct nouveau_connector *nv_connector = nouveau_encoder_connector_get(nv_encoder); + + /* For internal panels and gpu scaling on DVI we need the native mode */ + if (nv_connector->scaling_mode != DRM_MODE_SCALE_NONE) { + if (!nv_connector->native_mode) + return false; + nv_encoder->mode = *nv_connector->native_mode; + adjusted_mode->clock = nv_connector->native_mode->clock; + } else { + nv_encoder->mode = *adjusted_mode; + } + + return true; +} + +static void nv04_dfp_prepare_sel_clk(struct drm_device *dev, + struct nouveau_encoder *nv_encoder, int head) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv04_mode_state *state = &dev_priv->mode_reg; + uint32_t bits1618 = nv_encoder->dcb->or & OUTPUT_A ? 0x10000 : 0x40000; + + if (nv_encoder->dcb->location != DCB_LOC_ON_CHIP) + return; + + /* SEL_CLK is only used on the primary ramdac + * It toggles spread spectrum PLL output and sets the bindings of PLLs + * to heads on digital outputs + */ + if (head) + state->sel_clk |= bits1618; + else + state->sel_clk &= ~bits1618; + + /* nv30: + * bit 0 NVClk spread spectrum on/off + * bit 2 MemClk spread spectrum on/off + * bit 4 PixClk1 spread spectrum on/off toggle + * bit 6 PixClk2 spread spectrum on/off toggle + * + * nv40 (observations from bios behaviour and mmio traces): + * bits 4&6 as for nv30 + * bits 5&7 head dependent as for bits 4&6, but do not appear with 4&6; + * maybe a different spread mode + * bits 8&10 seen on dual-link dvi outputs, purpose unknown (set by POST scripts) + * The logic behind turning spread spectrum on/off in the first place, + * and which bit-pair to use, is unclear on nv40 (for earlier cards, the fp table + * entry has the necessary info) + */ + if (nv_encoder->dcb->type == OUTPUT_LVDS && dev_priv->saved_reg.sel_clk & 0xf0) { + int shift = (dev_priv->saved_reg.sel_clk & 0x50) ? 0 : 1; + + state->sel_clk &= ~0xf0; + state->sel_clk |= (head ? 0x40 : 0x10) << shift; + } +} + +static void nv04_dfp_prepare(struct drm_encoder *encoder) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_encoder_helper_funcs *helper = encoder->helper_private; + struct drm_device *dev = encoder->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + int head = nouveau_crtc(encoder->crtc)->index; + struct nv04_crtc_reg *crtcstate = dev_priv->mode_reg.crtc_reg; + uint8_t *cr_lcd = &crtcstate[head].CRTC[NV_CIO_CRE_LCD__INDEX]; + uint8_t *cr_lcd_oth = &crtcstate[head ^ 1].CRTC[NV_CIO_CRE_LCD__INDEX]; + + helper->dpms(encoder, DRM_MODE_DPMS_OFF); + + nv04_dfp_prepare_sel_clk(dev, nv_encoder, head); + + /* Some NV4x have unknown values (0x3f, 0x50, 0x54, 0x6b, 0x79, 0x7f) + * at LCD__INDEX which we don't alter + */ + if (!(*cr_lcd & 0x44)) { + *cr_lcd = 0x3; + + if (nv_two_heads(dev)) { + if (nv_encoder->dcb->location == DCB_LOC_ON_CHIP) + *cr_lcd |= head ? 0x0 : 0x8; + else { + *cr_lcd |= (nv_encoder->dcb->or << 4) & 0x30; + if (nv_encoder->dcb->type == OUTPUT_LVDS) + *cr_lcd |= 0x30; + if ((*cr_lcd & 0x30) == (*cr_lcd_oth & 0x30)) { + /* avoid being connected to both crtcs */ + *cr_lcd_oth &= ~0x30; + NVWriteVgaCrtc(dev, head ^ 1, + NV_CIO_CRE_LCD__INDEX, + *cr_lcd_oth); + } + } + } + } +} + + +static void nv04_dfp_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_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); + struct nv04_crtc_reg *regp = &dev_priv->mode_reg.crtc_reg[nv_crtc->index]; + struct nv04_crtc_reg *savep = &dev_priv->saved_reg.crtc_reg[nv_crtc->index]; + struct nouveau_connector *nv_connector = nouveau_crtc_connector_get(nv_crtc); + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_display_mode *output_mode = &nv_encoder->mode; + uint32_t mode_ratio, panel_ratio; + + NV_DEBUG_KMS(dev, "Output mode on CRTC %d:\n", nv_crtc->index); + drm_mode_debug_printmodeline(output_mode); + + /* Initialize the FP registers in this CRTC. */ + regp->fp_horiz_regs[FP_DISPLAY_END] = output_mode->hdisplay - 1; + regp->fp_horiz_regs[FP_TOTAL] = output_mode->htotal - 1; + if (!nv_gf4_disp_arch(dev) || + (output_mode->hsync_start - output_mode->hdisplay) >= + dev_priv->vbios->digital_min_front_porch) + regp->fp_horiz_regs[FP_CRTC] = output_mode->hdisplay; + else + regp->fp_horiz_regs[FP_CRTC] = output_mode->hsync_start - dev_priv->vbios->digital_min_front_porch - 1; + regp->fp_horiz_regs[FP_SYNC_START] = output_mode->hsync_start - 1; + regp->fp_horiz_regs[FP_SYNC_END] = output_mode->hsync_end - 1; + regp->fp_horiz_regs[FP_VALID_START] = output_mode->hskew; + regp->fp_horiz_regs[FP_VALID_END] = output_mode->hdisplay - 1; + + regp->fp_vert_regs[FP_DISPLAY_END] = output_mode->vdisplay - 1; + regp->fp_vert_regs[FP_TOTAL] = output_mode->vtotal - 1; + regp->fp_vert_regs[FP_CRTC] = output_mode->vtotal - 5 - 1; + regp->fp_vert_regs[FP_SYNC_START] = output_mode->vsync_start - 1; + regp->fp_vert_regs[FP_SYNC_END] = output_mode->vsync_end - 1; + regp->fp_vert_regs[FP_VALID_START] = 0; + regp->fp_vert_regs[FP_VALID_END] = output_mode->vdisplay - 1; + + /* bit26: a bit seen on some g7x, no as yet discernable purpose */ + regp->fp_control = NV_PRAMDAC_FP_TG_CONTROL_DISPEN_POS | + (savep->fp_control & (1 << 26 | NV_PRAMDAC_FP_TG_CONTROL_READ_PROG)); + /* Deal with vsync/hsync polarity */ + /* LVDS screens do set this, but modes with +ve syncs are very rare */ + if (output_mode->flags & DRM_MODE_FLAG_PVSYNC) + regp->fp_control |= NV_PRAMDAC_FP_TG_CONTROL_VSYNC_POS; + if (output_mode->flags & DRM_MODE_FLAG_PHSYNC) + regp->fp_control |= NV_PRAMDAC_FP_TG_CONTROL_HSYNC_POS; + /* panel scaling first, as native would get set otherwise */ + if (nv_connector->scaling_mode == DRM_MODE_SCALE_NONE || + nv_connector->scaling_mode == DRM_MODE_SCALE_CENTER) /* panel handles it */ + regp->fp_control |= NV_PRAMDAC_FP_TG_CONTROL_MODE_CENTER; + else if (adjusted_mode->hdisplay == output_mode->hdisplay && + adjusted_mode->vdisplay == output_mode->vdisplay) /* native mode */ + regp->fp_control |= NV_PRAMDAC_FP_TG_CONTROL_MODE_NATIVE; + else /* gpu needs to scale */ + regp->fp_control |= NV_PRAMDAC_FP_TG_CONTROL_MODE_SCALE; + if (nvReadEXTDEV(dev, NV_PEXTDEV_BOOT_0) & NV_PEXTDEV_BOOT_0_STRAP_FP_IFACE_12BIT) + regp->fp_control |= NV_PRAMDAC_FP_TG_CONTROL_WIDTH_12; + if (nv_encoder->dcb->location != DCB_LOC_ON_CHIP && + output_mode->clock > 165000) + regp->fp_control |= (2 << 24); + if (nv_encoder->dcb->type == OUTPUT_LVDS) { + bool duallink, dummy; + + nouveau_bios_parse_lvds_table(dev, nv_connector->native_mode-> + clock, &duallink, &dummy); + if (duallink) + regp->fp_control |= (8 << 28); + } else + if (output_mode->clock > 165000) + regp->fp_control |= (8 << 28); + + regp->fp_debug_0 = NV_PRAMDAC_FP_DEBUG_0_YWEIGHT_ROUND | + NV_PRAMDAC_FP_DEBUG_0_XWEIGHT_ROUND | + NV_PRAMDAC_FP_DEBUG_0_YINTERP_BILINEAR | + NV_PRAMDAC_FP_DEBUG_0_XINTERP_BILINEAR | + NV_RAMDAC_FP_DEBUG_0_TMDS_ENABLED | + NV_PRAMDAC_FP_DEBUG_0_YSCALE_ENABLE | + NV_PRAMDAC_FP_DEBUG_0_XSCALE_ENABLE; + + /* We want automatic scaling */ + regp->fp_debug_1 = 0; + /* This can override HTOTAL and VTOTAL */ + regp->fp_debug_2 = 0; + + /* Use 20.12 fixed point format to avoid floats */ + mode_ratio = (1 << 12) * adjusted_mode->hdisplay / adjusted_mode->vdisplay; + panel_ratio = (1 << 12) * output_mode->hdisplay / output_mode->vdisplay; + /* if ratios are equal, SCALE_ASPECT will automatically (and correctly) + * get treated the same as SCALE_FULLSCREEN */ + if (nv_connector->scaling_mode == DRM_MODE_SCALE_ASPECT && + mode_ratio != panel_ratio) { + uint32_t diff, scale; + bool divide_by_2 = nv_gf4_disp_arch(dev); + + if (mode_ratio < panel_ratio) { + /* vertical needs to expand to glass size (automatic) + * horizontal needs to be scaled at vertical scale factor + * to maintain aspect */ + + scale = (1 << 12) * adjusted_mode->vdisplay / output_mode->vdisplay; + regp->fp_debug_1 = NV_PRAMDAC_FP_DEBUG_1_XSCALE_TESTMODE_ENABLE | + XLATE(scale, divide_by_2, NV_PRAMDAC_FP_DEBUG_1_XSCALE_VALUE); + + /* restrict area of screen used, horizontally */ + diff = output_mode->hdisplay - + output_mode->vdisplay * mode_ratio / (1 << 12); + regp->fp_horiz_regs[FP_VALID_START] += diff / 2; + regp->fp_horiz_regs[FP_VALID_END] -= diff / 2; + } + + if (mode_ratio > panel_ratio) { + /* horizontal needs to expand to glass size (automatic) + * vertical needs to be scaled at horizontal scale factor + * to maintain aspect */ + + scale = (1 << 12) * adjusted_mode->hdisplay / output_mode->hdisplay; + regp->fp_debug_1 = NV_PRAMDAC_FP_DEBUG_1_YSCALE_TESTMODE_ENABLE | + XLATE(scale, divide_by_2, NV_PRAMDAC_FP_DEBUG_1_YSCALE_VALUE); + + /* restrict area of screen used, vertically */ + diff = output_mode->vdisplay - + (1 << 12) * output_mode->hdisplay / mode_ratio; + regp->fp_vert_regs[FP_VALID_START] += diff / 2; + regp->fp_vert_regs[FP_VALID_END] -= diff / 2; + } + } + + /* Output property. */ + if (nv_connector->use_dithering) { + if (dev_priv->chipset == 0x11) + regp->dither = savep->dither | 0x00010000; + else { + int i; + regp->dither = savep->dither | 0x00000001; + for (i = 0; i < 3; i++) { + regp->dither_regs[i] = 0xe4e4e4e4; + regp->dither_regs[i + 3] = 0x44444444; + } + } + } else { + if (dev_priv->chipset != 0x11) { + /* reset them */ + int i; + for (i = 0; i < 3; i++) { + regp->dither_regs[i] = savep->dither_regs[i]; + regp->dither_regs[i + 3] = savep->dither_regs[i + 3]; + } + } + regp->dither = savep->dither; + } + + regp->fp_margin_color = 0; +} + +static void nv04_dfp_commit(struct drm_encoder *encoder) +{ + struct drm_device *dev = encoder->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct drm_encoder_helper_funcs *helper = encoder->helper_private; + struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct dcb_entry *dcbe = nv_encoder->dcb; + int head = nouveau_crtc(encoder->crtc)->index; + + 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)); + + if (dcbe->type == OUTPUT_TMDS) + run_tmds_table(dev, dcbe, head, nv_encoder->mode.clock); + else if (dcbe->type == OUTPUT_LVDS) + call_lvds_script(dev, dcbe, head, LVDS_RESET, nv_encoder->mode.clock); + + /* update fp_control state for any changes made by scripts, + * so correct value is written at DPMS on */ + dev_priv->mode_reg.crtc_reg[head].fp_control = + NVReadRAMDAC(dev, head, NV_PRAMDAC_FP_TG_CONTROL); + + /* This could use refinement for flatpanels, but it should work this way */ + if (dev_priv->chipset < 0x44) + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + nv04_dac_output_offset(encoder), 0xf0000000); + else + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + nv04_dac_output_offset(encoder), 0x00100000); + + 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)); +} + +static inline bool is_powersaving_dpms(int mode) +{ + return (mode != DRM_MODE_DPMS_ON); +} + +static void nv04_lvds_dpms(struct drm_encoder *encoder, int mode) +{ + struct drm_device *dev = encoder->dev; + struct drm_crtc *crtc = encoder->crtc; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + bool was_powersaving = is_powersaving_dpms(nv_encoder->last_dpms); + + if (nv_encoder->last_dpms == mode) + return; + nv_encoder->last_dpms = mode; + + NV_INFO(dev, "Setting dpms mode %d on lvds encoder (output %d)\n", + mode, nv_encoder->dcb->index); + + if (was_powersaving && is_powersaving_dpms(mode)) + return; + + if (nv_encoder->dcb->lvdsconf.use_power_scripts) { + struct nouveau_connector *nv_connector = nouveau_encoder_connector_get(nv_encoder); + + /* when removing an output, crtc may not be set, but PANEL_OFF + * must still be run + */ + int head = crtc ? nouveau_crtc(crtc)->index : + nv04_dfp_get_bound_head(dev, nv_encoder->dcb); + + if (mode == DRM_MODE_DPMS_ON) { + if (!nv_connector->native_mode) { + NV_ERROR(dev, "Not turning on LVDS without native mode\n"); + return; + } + call_lvds_script(dev, nv_encoder->dcb, head, + LVDS_PANEL_ON, nv_connector->native_mode->clock); + } else + /* pxclk of 0 is fine for PANEL_OFF, and for a + * disconnected LVDS encoder there is no native_mode + */ + call_lvds_script(dev, nv_encoder->dcb, head, + LVDS_PANEL_OFF, 0); + } + + nv04_dfp_update_fp_control(encoder, mode); + + if (mode == DRM_MODE_DPMS_ON) + nv04_dfp_prepare_sel_clk(dev, nv_encoder, nouveau_crtc(crtc)->index); + else { + dev_priv->mode_reg.sel_clk = NVReadRAMDAC(dev, 0, NV_PRAMDAC_SEL_CLK); + dev_priv->mode_reg.sel_clk &= ~0xf0; + } + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_SEL_CLK, dev_priv->mode_reg.sel_clk); +} + +static void nv04_tmds_dpms(struct drm_encoder *encoder, int mode) +{ + struct drm_device *dev = encoder->dev; + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + + if (nv_encoder->last_dpms == mode) + return; + nv_encoder->last_dpms = mode; + + NV_INFO(dev, "Setting dpms mode %d on tmds encoder (output %d)\n", + mode, nv_encoder->dcb->index); + + nv04_dfp_update_fp_control(encoder, mode); +} + +static void nv04_dfp_save(struct drm_encoder *encoder) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_device *dev = encoder->dev; + + if (nv_two_heads(dev)) + nv_encoder->restore.head = + nv04_dfp_get_bound_head(dev, nv_encoder->dcb); +} + +static void nv04_dfp_restore(struct drm_encoder *encoder) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_device *dev = encoder->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + int head = nv_encoder->restore.head; + + if (nv_encoder->dcb->type == OUTPUT_LVDS) { + struct drm_display_mode *native_mode = nouveau_encoder_connector_get(nv_encoder)->native_mode; + if (native_mode) + call_lvds_script(dev, nv_encoder->dcb, head, LVDS_PANEL_ON, + native_mode->clock); + else + NV_ERROR(dev, "Not restoring LVDS without native mode\n"); + + } else if (nv_encoder->dcb->type == OUTPUT_TMDS) { + int clock = nouveau_hw_pllvals_to_clk + (&dev_priv->saved_reg.crtc_reg[head].pllvals); + + run_tmds_table(dev, nv_encoder->dcb, head, clock); + } + + nv_encoder->last_dpms = NV_DPMS_CLEARED; +} + +static void nv04_dfp_destroy(struct drm_encoder *encoder) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + + NV_DEBUG_KMS(encoder->dev, "\n"); + + drm_encoder_cleanup(encoder); + kfree(nv_encoder); +} + +static const struct drm_encoder_helper_funcs nv04_lvds_helper_funcs = { + .dpms = nv04_lvds_dpms, + .save = nv04_dfp_save, + .restore = nv04_dfp_restore, + .mode_fixup = nv04_dfp_mode_fixup, + .prepare = nv04_dfp_prepare, + .commit = nv04_dfp_commit, + .mode_set = nv04_dfp_mode_set, + .detect = NULL, +}; + +static const struct drm_encoder_helper_funcs nv04_tmds_helper_funcs = { + .dpms = nv04_tmds_dpms, + .save = nv04_dfp_save, + .restore = nv04_dfp_restore, + .mode_fixup = nv04_dfp_mode_fixup, + .prepare = nv04_dfp_prepare, + .commit = nv04_dfp_commit, + .mode_set = nv04_dfp_mode_set, + .detect = NULL, +}; + +static const struct drm_encoder_funcs nv04_dfp_funcs = { + .destroy = nv04_dfp_destroy, +}; + +int nv04_dfp_create(struct drm_device *dev, struct dcb_entry *entry) +{ + const struct drm_encoder_helper_funcs *helper; + struct drm_encoder *encoder; + struct nouveau_encoder *nv_encoder = NULL; + int type; + + switch (entry->type) { + case OUTPUT_TMDS: + type = DRM_MODE_ENCODER_TMDS; + helper = &nv04_tmds_helper_funcs; + break; + case OUTPUT_LVDS: + type = DRM_MODE_ENCODER_LVDS; + helper = &nv04_lvds_helper_funcs; + break; + default: + return -EINVAL; + } + + nv_encoder = kzalloc(sizeof(*nv_encoder), GFP_KERNEL); + if (!nv_encoder) + return -ENOMEM; + + encoder = to_drm_encoder(nv_encoder); + + nv_encoder->dcb = entry; + nv_encoder->or = ffs(entry->or) - 1; + + drm_encoder_init(dev, encoder, &nv04_dfp_funcs, type); + drm_encoder_helper_add(encoder, helper); + + encoder->possible_crtcs = entry->heads; + encoder->possible_clones = 0; + + return 0; +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv04_display.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv04_display.c @@ -0,0 +1,287 @@ +/* + * Copyright 2009 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 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. + * + * Author: Ben Skeggs + */ + +#include "drmP.h" +#include "drm.h" +#include "drm_crtc_helper.h" + +#include "nouveau_drv.h" +#include "nouveau_fb.h" +#include "nouveau_hw.h" +#include "nouveau_encoder.h" +#include "nouveau_connector.h" + +#define MULTIPLE_ENCODERS(e) (e & (e - 1)) + +static void +nv04_display_store_initial_head_owner(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + if (dev_priv->chipset != 0x11) { + dev_priv->crtc_owner = NVReadVgaCrtc(dev, 0, NV_CIO_CRE_44); + goto ownerknown; + } + + /* reading CR44 is broken on nv11, so we attempt to infer it */ + if (nvReadMC(dev, NV_PBUS_DEBUG_1) & (1 << 28)) /* heads tied, restore both */ + dev_priv->crtc_owner = 0x4; + else { + uint8_t slaved_on_A, slaved_on_B; + bool tvA = false; + bool tvB = false; + + NVLockVgaCrtcs(dev, false); + + slaved_on_B = NVReadVgaCrtc(dev, 1, NV_CIO_CRE_PIXEL_INDEX) & + 0x80; + if (slaved_on_B) + tvB = !(NVReadVgaCrtc(dev, 1, NV_CIO_CRE_LCD__INDEX) & + MASK(NV_CIO_CRE_LCD_LCD_SELECT)); + + slaved_on_A = NVReadVgaCrtc(dev, 0, NV_CIO_CRE_PIXEL_INDEX) & + 0x80; + if (slaved_on_A) + tvA = !(NVReadVgaCrtc(dev, 0, NV_CIO_CRE_LCD__INDEX) & + MASK(NV_CIO_CRE_LCD_LCD_SELECT)); + + NVLockVgaCrtcs(dev, true); + + if (slaved_on_A && !tvA) + dev_priv->crtc_owner = 0x0; + else if (slaved_on_B && !tvB) + dev_priv->crtc_owner = 0x3; + else if (slaved_on_A) + dev_priv->crtc_owner = 0x0; + else if (slaved_on_B) + dev_priv->crtc_owner = 0x3; + else + dev_priv->crtc_owner = 0x0; + } + +ownerknown: + NV_INFO(dev, "Initial CRTC_OWNER is %d\n", dev_priv->crtc_owner); + + /* we need to ensure the heads are not tied henceforth, or reading any + * 8 bit reg on head B will fail + * setting a single arbitrary head solves that */ + NVSetOwner(dev, 0); +} + +int +nv04_display_create(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct parsed_dcb *dcb = dev_priv->vbios->dcb; + struct drm_encoder *encoder; + struct drm_crtc *crtc; + uint16_t connector[16] = { 0 }; + int i, ret; + + NV_DEBUG_KMS(dev, "\n"); + + if (nv_two_heads(dev)) + nv04_display_store_initial_head_owner(dev); + nouveau_hw_save_vga_fonts(dev, 1); + + drm_mode_config_init(dev); + drm_mode_create_scaling_mode_property(dev); + drm_mode_create_dithering_property(dev); + + dev->mode_config.funcs = (void *)&nouveau_mode_config_funcs; + + dev->mode_config.min_width = 0; + dev->mode_config.min_height = 0; + switch (dev_priv->card_type) { + case NV_04: + dev->mode_config.max_width = 2048; + dev->mode_config.max_height = 2048; + break; + default: + dev->mode_config.max_width = 4096; + dev->mode_config.max_height = 4096; + break; + } + + dev->mode_config.fb_base = dev_priv->fb_phys; + + nv04_crtc_create(dev, 0); + if (nv_two_heads(dev)) + nv04_crtc_create(dev, 1); + + for (i = 0; i < dcb->entries; i++) { + struct dcb_entry *dcbent = &dcb->entry[i]; + + switch (dcbent->type) { + case OUTPUT_ANALOG: + ret = nv04_dac_create(dev, dcbent); + break; + case OUTPUT_LVDS: + case OUTPUT_TMDS: + ret = nv04_dfp_create(dev, dcbent); + break; + case OUTPUT_TV: + if (dcbent->location == DCB_LOC_ON_CHIP) + ret = nv17_tv_create(dev, dcbent); + else + ret = nv04_tv_create(dev, dcbent); + break; + default: + NV_WARN(dev, "DCB type %d not known\n", dcbent->type); + continue; + } + + if (ret) + continue; + + connector[dcbent->connector] |= (1 << dcbent->type); + } + + for (i = 0; i < dcb->entries; i++) { + struct dcb_entry *dcbent = &dcb->entry[i]; + uint16_t encoders; + int type; + + encoders = connector[dcbent->connector]; + if (!(encoders & (1 << dcbent->type))) + continue; + connector[dcbent->connector] = 0; + + switch (dcbent->type) { + case OUTPUT_ANALOG: + if (!MULTIPLE_ENCODERS(encoders)) + type = DRM_MODE_CONNECTOR_VGA; + else + type = DRM_MODE_CONNECTOR_DVII; + break; + case OUTPUT_TMDS: + if (!MULTIPLE_ENCODERS(encoders)) + type = DRM_MODE_CONNECTOR_DVID; + else + type = DRM_MODE_CONNECTOR_DVII; + break; + case OUTPUT_LVDS: + type = DRM_MODE_CONNECTOR_LVDS; +#if 0 + /* don't create i2c adapter when lvds ddc not allowed */ + if (dcbent->lvdsconf.use_straps_for_mode || + dev_priv->vbios->fp_no_ddc) + i2c_index = 0xf; +#endif + break; + case OUTPUT_TV: + type = DRM_MODE_CONNECTOR_TV; + break; + default: + type = DRM_MODE_CONNECTOR_Unknown; + continue; + } + + nouveau_connector_create(dev, dcbent->connector, type); + } + + /* Save previous state */ + NVLockVgaCrtcs(dev, false); + + list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) + crtc->funcs->save(crtc); + + list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { + struct drm_encoder_helper_funcs *func = encoder->helper_private; + + func->save(encoder); + } + + return 0; +} + +void +nv04_display_destroy(struct drm_device *dev) +{ + struct drm_encoder *encoder; + struct drm_crtc *crtc; + + NV_DEBUG_KMS(dev, "\n"); + + /* Turn every CRTC off. */ + list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { + struct drm_mode_set modeset = { + .crtc = crtc, + }; + + crtc->funcs->set_config(&modeset); + } + + /* Restore state */ + NVLockVgaCrtcs(dev, false); + + list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { + struct drm_encoder_helper_funcs *func = encoder->helper_private; + + func->restore(encoder); + } + + list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) + crtc->funcs->restore(crtc); + + drm_mode_config_cleanup(dev); + + nouveau_hw_save_vga_fonts(dev, 0); +} + +void +nv04_display_restore(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct drm_encoder *encoder; + struct drm_crtc *crtc; + + NVLockVgaCrtcs(dev, false); + + /* meh.. modeset apparently doesn't setup all the regs and depends + * on pre-existing state, for now load the state of the card *before* + * nouveau was loaded, and then do a modeset. + * + * best thing to do probably is to make save/restore routines not + * save/restore "pre-load" state, but more general so we can save + * on suspend too. + */ + list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { + struct drm_encoder_helper_funcs *func = encoder->helper_private; + + func->restore(encoder); + } + + list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) + crtc->funcs->restore(crtc); + + if (nv_two_heads(dev)) { + NV_INFO(dev, "Restoring CRTC_OWNER to %d.\n", + dev_priv->crtc_owner); + NVSetOwner(dev, dev_priv->crtc_owner); + } + + NVLockVgaCrtcs(dev, true); +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv04_fbcon.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv04_fbcon.c @@ -0,0 +1,312 @@ +/* + * Copyright 2009 Ben Skeggs + * Copyright 2008 Stuart Bennett + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#include "drmP.h" +#include "nouveau_drv.h" +#include "nouveau_dma.h" +#include "nouveau_fbcon.h" + +void +nv04_fbcon_copyarea(struct fb_info *info, const struct fb_copyarea *region) +{ + struct nouveau_fbcon_par *par = info->par; + struct drm_device *dev = par->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *chan = dev_priv->channel; + + if (info->state != FBINFO_STATE_RUNNING) + return; + + if (!(info->flags & FBINFO_HWACCEL_DISABLED) && RING_SPACE(chan, 4)) { + nouveau_fbcon_gpu_lockup(info); + } + + if (info->flags & FBINFO_HWACCEL_DISABLED) { + cfb_copyarea(info, region); + return; + } + + BEGIN_RING(chan, NvSubImageBlit, 0x0300, 3); + OUT_RING(chan, (region->sy << 16) | region->sx); + OUT_RING(chan, (region->dy << 16) | region->dx); + OUT_RING(chan, (region->height << 16) | region->width); + FIRE_RING(chan); +} + +void +nv04_fbcon_fillrect(struct fb_info *info, const struct fb_fillrect *rect) +{ + struct nouveau_fbcon_par *par = info->par; + struct drm_device *dev = par->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *chan = dev_priv->channel; + + if (info->state != FBINFO_STATE_RUNNING) + return; + + if (!(info->flags & FBINFO_HWACCEL_DISABLED) && RING_SPACE(chan, 7)) { + nouveau_fbcon_gpu_lockup(info); + } + + if (info->flags & FBINFO_HWACCEL_DISABLED) { + cfb_fillrect(info, rect); + return; + } + + BEGIN_RING(chan, NvSubGdiRect, 0x02fc, 1); + OUT_RING(chan, (rect->rop != ROP_COPY) ? 1 : 3); + BEGIN_RING(chan, NvSubGdiRect, 0x03fc, 1); + if (info->fix.visual == FB_VISUAL_TRUECOLOR || + info->fix.visual == FB_VISUAL_DIRECTCOLOR) + OUT_RING(chan, ((uint32_t *)info->pseudo_palette)[rect->color]); + else + OUT_RING(chan, rect->color); + BEGIN_RING(chan, NvSubGdiRect, 0x0400, 2); + OUT_RING(chan, (rect->dx << 16) | rect->dy); + OUT_RING(chan, (rect->width << 16) | rect->height); + FIRE_RING(chan); +} + +void +nv04_fbcon_imageblit(struct fb_info *info, const struct fb_image *image) +{ + struct nouveau_fbcon_par *par = info->par; + struct drm_device *dev = par->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *chan = dev_priv->channel; + uint32_t fg; + uint32_t bg; + uint32_t dsize; + uint32_t width; + uint32_t *data = (uint32_t *)image->data; + + if (info->state != FBINFO_STATE_RUNNING) + return; + + if (image->depth != 1) { + cfb_imageblit(info, image); + return; + } + + if (!(info->flags & FBINFO_HWACCEL_DISABLED) && RING_SPACE(chan, 8)) { + nouveau_fbcon_gpu_lockup(info); + } + + if (info->flags & FBINFO_HWACCEL_DISABLED) { + cfb_imageblit(info, image); + return; + } + + width = ALIGN(image->width, 8); + dsize = ALIGN(width * image->height, 32) >> 5; + + if (info->fix.visual == FB_VISUAL_TRUECOLOR || + info->fix.visual == FB_VISUAL_DIRECTCOLOR) { + fg = ((uint32_t *) info->pseudo_palette)[image->fg_color]; + bg = ((uint32_t *) info->pseudo_palette)[image->bg_color]; + } else { + fg = image->fg_color; + bg = image->bg_color; + } + + BEGIN_RING(chan, NvSubGdiRect, 0x0be4, 7); + OUT_RING(chan, (image->dy << 16) | (image->dx & 0xffff)); + OUT_RING(chan, ((image->dy + image->height) << 16) | + ((image->dx + image->width) & 0xffff)); + OUT_RING(chan, bg); + OUT_RING(chan, fg); + OUT_RING(chan, (image->height << 16) | width); + OUT_RING(chan, (image->height << 16) | image->width); + OUT_RING(chan, (image->dy << 16) | (image->dx & 0xffff)); + + while (dsize) { + int iter_len = dsize > 128 ? 128 : dsize; + + if (RING_SPACE(chan, iter_len + 1)) { + nouveau_fbcon_gpu_lockup(info); + cfb_imageblit(info, image); + return; + } + + BEGIN_RING(chan, NvSubGdiRect, 0x0c00, iter_len); + OUT_RINGp(chan, data, iter_len); + data += iter_len; + dsize -= iter_len; + } + + FIRE_RING(chan); +} + +static int +nv04_fbcon_grobj_new(struct drm_device *dev, int class, uint32_t handle) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *obj = NULL; + int ret; + + ret = nouveau_gpuobj_gr_new(dev_priv->channel, class, &obj); + if (ret) + return ret; + + ret = nouveau_gpuobj_ref_add(dev, dev_priv->channel, handle, obj, NULL); + if (ret) + return ret; + + return 0; +} + +int +nv04_fbcon_accel_init(struct fb_info *info) +{ + struct nouveau_fbcon_par *par = info->par; + struct drm_device *dev = par->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *chan = dev_priv->channel; + const int sub = NvSubCtxSurf2D; + int surface_fmt, pattern_fmt, rect_fmt; + int ret; + + switch (info->var.bits_per_pixel) { + case 8: + surface_fmt = 1; + pattern_fmt = 3; + rect_fmt = 3; + break; + case 16: + surface_fmt = 4; + pattern_fmt = 1; + rect_fmt = 1; + break; + case 32: + switch (info->var.transp.length) { + case 0: /* depth 24 */ + case 8: /* depth 32 */ + break; + default: + return -EINVAL; + } + + surface_fmt = 6; + pattern_fmt = 3; + rect_fmt = 3; + break; + default: + return -EINVAL; + } + + ret = nv04_fbcon_grobj_new(dev, dev_priv->card_type >= NV_10 ? + 0x0062 : 0x0042, NvCtxSurf2D); + if (ret) + return ret; + + ret = nv04_fbcon_grobj_new(dev, 0x0019, NvClipRect); + if (ret) + return ret; + + ret = nv04_fbcon_grobj_new(dev, 0x0043, NvRop); + if (ret) + return ret; + + ret = nv04_fbcon_grobj_new(dev, 0x0044, NvImagePatt); + if (ret) + return ret; + + ret = nv04_fbcon_grobj_new(dev, 0x004a, NvGdiRect); + if (ret) + return ret; + + ret = nv04_fbcon_grobj_new(dev, dev_priv->card_type >= NV_10 ? + 0x009f : 0x005f, NvImageBlit); + if (ret) + return ret; + + if (RING_SPACE(chan, 49)) { + nouveau_fbcon_gpu_lockup(info); + return 0; + } + + BEGIN_RING(chan, sub, 0x0000, 1); + OUT_RING(chan, NvCtxSurf2D); + BEGIN_RING(chan, sub, 0x0184, 2); + OUT_RING(chan, NvDmaFB); + OUT_RING(chan, NvDmaFB); + BEGIN_RING(chan, sub, 0x0300, 4); + OUT_RING(chan, surface_fmt); + OUT_RING(chan, info->fix.line_length | (info->fix.line_length << 16)); + OUT_RING(chan, info->fix.smem_start - dev->mode_config.fb_base); + OUT_RING(chan, info->fix.smem_start - dev->mode_config.fb_base); + + BEGIN_RING(chan, sub, 0x0000, 1); + OUT_RING(chan, NvRop); + BEGIN_RING(chan, sub, 0x0300, 1); + OUT_RING(chan, 0x55); + + BEGIN_RING(chan, sub, 0x0000, 1); + OUT_RING(chan, NvImagePatt); + BEGIN_RING(chan, sub, 0x0300, 8); + OUT_RING(chan, pattern_fmt); +#ifdef __BIG_ENDIAN + OUT_RING(chan, 2); +#else + OUT_RING(chan, 1); +#endif + OUT_RING(chan, 0); + OUT_RING(chan, 1); + OUT_RING(chan, ~0); + OUT_RING(chan, ~0); + OUT_RING(chan, ~0); + OUT_RING(chan, ~0); + + BEGIN_RING(chan, sub, 0x0000, 1); + OUT_RING(chan, NvClipRect); + BEGIN_RING(chan, sub, 0x0300, 2); + OUT_RING(chan, 0); + OUT_RING(chan, (info->var.yres_virtual << 16) | info->var.xres_virtual); + + BEGIN_RING(chan, NvSubImageBlit, 0x0000, 1); + OUT_RING(chan, NvImageBlit); + BEGIN_RING(chan, NvSubImageBlit, 0x019c, 1); + OUT_RING(chan, NvCtxSurf2D); + BEGIN_RING(chan, NvSubImageBlit, 0x02fc, 1); + OUT_RING(chan, 3); + + BEGIN_RING(chan, NvSubGdiRect, 0x0000, 1); + OUT_RING(chan, NvGdiRect); + BEGIN_RING(chan, NvSubGdiRect, 0x0198, 1); + OUT_RING(chan, NvCtxSurf2D); + BEGIN_RING(chan, NvSubGdiRect, 0x0188, 2); + OUT_RING(chan, NvImagePatt); + OUT_RING(chan, NvRop); + BEGIN_RING(chan, NvSubGdiRect, 0x0304, 1); + OUT_RING(chan, 1); + BEGIN_RING(chan, NvSubGdiRect, 0x0300, 1); + OUT_RING(chan, rect_fmt); + BEGIN_RING(chan, NvSubGdiRect, 0x02fc, 1); + OUT_RING(chan, 3); + + FIRE_RING(chan); + + return 0; +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv04_fb.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv04_fb.c @@ -0,0 +1,21 @@ +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" +#include "nouveau_drm.h" + +int +nv04_fb_init(struct drm_device *dev) +{ + /* This is what the DDX did for NV_ARCH_04, but a mmio-trace shows + * nvidia reading PFB_CFG_0, then writing back its original value. + * (which was 0x701114 in this case) + */ + + nv_wr32(dev, NV04_PFB_CFG0, 0x1114); + return 0; +} + +void +nv04_fb_takedown(struct drm_device *dev) +{ +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv04_fifo.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv04_fifo.c @@ -0,0 +1,305 @@ +/* + * Copyright (C) 2007 Ben Skeggs. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" + +#define NV04_RAMFC(c) (dev_priv->ramfc_offset + ((c) * NV04_RAMFC__SIZE)) +#define NV04_RAMFC__SIZE 32 +#define NV04_RAMFC_DMA_PUT 0x00 +#define NV04_RAMFC_DMA_GET 0x04 +#define NV04_RAMFC_DMA_INSTANCE 0x08 +#define NV04_RAMFC_DMA_STATE 0x0C +#define NV04_RAMFC_DMA_FETCH 0x10 +#define NV04_RAMFC_ENGINE 0x14 +#define NV04_RAMFC_PULL1_ENGINE 0x18 + +#define RAMFC_WR(offset, val) nv_wo32(dev, chan->ramfc->gpuobj, \ + NV04_RAMFC_##offset/4, (val)) +#define RAMFC_RD(offset) nv_ro32(dev, chan->ramfc->gpuobj, \ + NV04_RAMFC_##offset/4) + +void +nv04_fifo_disable(struct drm_device *dev) +{ + uint32_t tmp; + + tmp = nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_PUSH); + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_PUSH, tmp & ~1); + nv_wr32(dev, NV03_PFIFO_CACHE1_PUSH0, 0); + tmp = nv_rd32(dev, NV03_PFIFO_CACHE1_PULL1); + nv_wr32(dev, NV04_PFIFO_CACHE1_PULL0, tmp & ~1); +} + +void +nv04_fifo_enable(struct drm_device *dev) +{ + nv_wr32(dev, NV03_PFIFO_CACHE1_PUSH0, 1); + nv_wr32(dev, NV04_PFIFO_CACHE1_PULL0, 1); +} + +bool +nv04_fifo_reassign(struct drm_device *dev, bool enable) +{ + uint32_t reassign = nv_rd32(dev, NV03_PFIFO_CACHES); + + nv_wr32(dev, NV03_PFIFO_CACHES, enable ? 1 : 0); + return (reassign == 1); +} + +bool +nv04_fifo_cache_flush(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_timer_engine *ptimer = &dev_priv->engine.timer; + uint64_t start = ptimer->read(dev); + + do { + if (nv_rd32(dev, NV03_PFIFO_CACHE1_GET) == + nv_rd32(dev, NV03_PFIFO_CACHE1_PUT)) + return true; + + } while (ptimer->read(dev) - start < 100000000); + + NV_ERROR(dev, "Timeout flushing the PFIFO cache.\n"); + + return false; +} + +bool +nv04_fifo_cache_pull(struct drm_device *dev, bool enable) +{ + uint32_t pull = nv_rd32(dev, NV04_PFIFO_CACHE1_PULL0); + + if (enable) { + nv_wr32(dev, NV04_PFIFO_CACHE1_PULL0, pull | 1); + } else { + nv_wr32(dev, NV04_PFIFO_CACHE1_PULL0, pull & ~1); + nv_wr32(dev, NV04_PFIFO_CACHE1_HASH, 0); + } + + return !!(pull & 1); +} + +int +nv04_fifo_channel_id(struct drm_device *dev) +{ + return nv_rd32(dev, NV03_PFIFO_CACHE1_PUSH1) & + NV03_PFIFO_CACHE1_PUSH1_CHID_MASK; +} + +int +nv04_fifo_create_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + int ret; + + ret = nouveau_gpuobj_new_fake(dev, NV04_RAMFC(chan->id), ~0, + NV04_RAMFC__SIZE, + NVOBJ_FLAG_ZERO_ALLOC | + NVOBJ_FLAG_ZERO_FREE, + NULL, &chan->ramfc); + if (ret) + return ret; + + /* Setup initial state */ + dev_priv->engine.instmem.prepare_access(dev, true); + RAMFC_WR(DMA_PUT, chan->pushbuf_base); + RAMFC_WR(DMA_GET, chan->pushbuf_base); + RAMFC_WR(DMA_INSTANCE, chan->pushbuf->instance >> 4); + RAMFC_WR(DMA_FETCH, (NV_PFIFO_CACHE1_DMA_FETCH_TRIG_128_BYTES | + NV_PFIFO_CACHE1_DMA_FETCH_SIZE_128_BYTES | + NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_8 | +#ifdef __BIG_ENDIAN + NV_PFIFO_CACHE1_BIG_ENDIAN | +#endif + 0)); + dev_priv->engine.instmem.finish_access(dev); + + /* enable the fifo dma operation */ + nv_wr32(dev, NV04_PFIFO_MODE, + nv_rd32(dev, NV04_PFIFO_MODE) | (1 << chan->id)); + return 0; +} + +void +nv04_fifo_destroy_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + + nv_wr32(dev, NV04_PFIFO_MODE, + nv_rd32(dev, NV04_PFIFO_MODE) & ~(1 << chan->id)); + + nouveau_gpuobj_ref_del(dev, &chan->ramfc); +} + +static void +nv04_fifo_do_load_context(struct drm_device *dev, int chid) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t fc = NV04_RAMFC(chid), tmp; + + dev_priv->engine.instmem.prepare_access(dev, false); + + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_PUT, nv_ri32(dev, fc + 0)); + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_GET, nv_ri32(dev, fc + 4)); + tmp = nv_ri32(dev, fc + 8); + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_INSTANCE, tmp & 0xFFFF); + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_DCOUNT, tmp >> 16); + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_STATE, nv_ri32(dev, fc + 12)); + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_FETCH, nv_ri32(dev, fc + 16)); + nv_wr32(dev, NV04_PFIFO_CACHE1_ENGINE, nv_ri32(dev, fc + 20)); + nv_wr32(dev, NV04_PFIFO_CACHE1_PULL1, nv_ri32(dev, fc + 24)); + + dev_priv->engine.instmem.finish_access(dev); + + nv_wr32(dev, NV03_PFIFO_CACHE1_GET, 0); + nv_wr32(dev, NV03_PFIFO_CACHE1_PUT, 0); +} + +int +nv04_fifo_load_context(struct nouveau_channel *chan) +{ + uint32_t tmp; + + nv_wr32(chan->dev, NV03_PFIFO_CACHE1_PUSH1, + NV03_PFIFO_CACHE1_PUSH1_DMA | chan->id); + nv04_fifo_do_load_context(chan->dev, chan->id); + nv_wr32(chan->dev, NV04_PFIFO_CACHE1_DMA_PUSH, 1); + + /* Reset NV04_PFIFO_CACHE1_DMA_CTL_AT_INFO to INVALID */ + tmp = nv_rd32(chan->dev, NV04_PFIFO_CACHE1_DMA_CTL) & ~(1 << 31); + nv_wr32(chan->dev, NV04_PFIFO_CACHE1_DMA_CTL, tmp); + + return 0; +} + +int +nv04_fifo_unload_context(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_fifo_engine *pfifo = &dev_priv->engine.fifo; + struct nouveau_channel *chan = NULL; + uint32_t tmp; + int chid; + + chid = pfifo->channel_id(dev); + if (chid < 0 || chid >= dev_priv->engine.fifo.channels) + return 0; + + chan = dev_priv->fifos[chid]; + if (!chan) { + NV_ERROR(dev, "Inactive channel on PFIFO: %d\n", chid); + return -EINVAL; + } + + dev_priv->engine.instmem.prepare_access(dev, true); + RAMFC_WR(DMA_PUT, nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_PUT)); + RAMFC_WR(DMA_GET, nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_GET)); + tmp = nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_DCOUNT) << 16; + tmp |= nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_INSTANCE); + RAMFC_WR(DMA_INSTANCE, tmp); + RAMFC_WR(DMA_STATE, nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_STATE)); + RAMFC_WR(DMA_FETCH, nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_FETCH)); + RAMFC_WR(ENGINE, nv_rd32(dev, NV04_PFIFO_CACHE1_ENGINE)); + RAMFC_WR(PULL1_ENGINE, nv_rd32(dev, NV04_PFIFO_CACHE1_PULL1)); + dev_priv->engine.instmem.finish_access(dev); + + nv04_fifo_do_load_context(dev, pfifo->channels - 1); + nv_wr32(dev, NV03_PFIFO_CACHE1_PUSH1, pfifo->channels - 1); + return 0; +} + +static void +nv04_fifo_init_reset(struct drm_device *dev) +{ + nv_wr32(dev, NV03_PMC_ENABLE, + nv_rd32(dev, NV03_PMC_ENABLE) & ~NV_PMC_ENABLE_PFIFO); + nv_wr32(dev, NV03_PMC_ENABLE, + nv_rd32(dev, NV03_PMC_ENABLE) | NV_PMC_ENABLE_PFIFO); + + nv_wr32(dev, 0x003224, 0x000f0078); + nv_wr32(dev, 0x002044, 0x0101ffff); + nv_wr32(dev, 0x002040, 0x000000ff); + nv_wr32(dev, 0x002500, 0x00000000); + nv_wr32(dev, 0x003000, 0x00000000); + nv_wr32(dev, 0x003050, 0x00000000); + nv_wr32(dev, 0x003200, 0x00000000); + nv_wr32(dev, 0x003250, 0x00000000); + nv_wr32(dev, 0x003220, 0x00000000); + + nv_wr32(dev, 0x003250, 0x00000000); + nv_wr32(dev, 0x003270, 0x00000000); + nv_wr32(dev, 0x003210, 0x00000000); +} + +static void +nv04_fifo_init_ramxx(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + nv_wr32(dev, NV03_PFIFO_RAMHT, (0x03 << 24) /* search 128 */ | + ((dev_priv->ramht_bits - 9) << 16) | + (dev_priv->ramht_offset >> 8)); + nv_wr32(dev, NV03_PFIFO_RAMRO, dev_priv->ramro_offset>>8); + nv_wr32(dev, NV03_PFIFO_RAMFC, dev_priv->ramfc_offset >> 8); +} + +static void +nv04_fifo_init_intr(struct drm_device *dev) +{ + nv_wr32(dev, 0x002100, 0xffffffff); + nv_wr32(dev, 0x002140, 0xffffffff); +} + +int +nv04_fifo_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_fifo_engine *pfifo = &dev_priv->engine.fifo; + int i; + + nv04_fifo_init_reset(dev); + nv04_fifo_init_ramxx(dev); + + nv04_fifo_do_load_context(dev, pfifo->channels - 1); + nv_wr32(dev, NV03_PFIFO_CACHE1_PUSH1, pfifo->channels - 1); + + nv04_fifo_init_intr(dev); + pfifo->enable(dev); + + for (i = 0; i < dev_priv->engine.fifo.channels; i++) { + if (dev_priv->fifos[i]) { + uint32_t mode = nv_rd32(dev, NV04_PFIFO_MODE); + nv_wr32(dev, NV04_PFIFO_MODE, mode | (1 << i)); + } + } + + return 0; +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv04_graph.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv04_graph.c @@ -0,0 +1,584 @@ +/* + * Copyright 2007 Stephane Marchesin + * 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 + * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#include "drmP.h" +#include "drm.h" +#include "nouveau_drm.h" +#include "nouveau_drv.h" + +static uint32_t nv04_graph_ctx_regs[] = { + 0x0040053c, + 0x00400544, + 0x00400540, + 0x00400548, + NV04_PGRAPH_CTX_SWITCH1, + NV04_PGRAPH_CTX_SWITCH2, + NV04_PGRAPH_CTX_SWITCH3, + NV04_PGRAPH_CTX_SWITCH4, + NV04_PGRAPH_CTX_CACHE1, + NV04_PGRAPH_CTX_CACHE2, + NV04_PGRAPH_CTX_CACHE3, + NV04_PGRAPH_CTX_CACHE4, + 0x00400184, + 0x004001a4, + 0x004001c4, + 0x004001e4, + 0x00400188, + 0x004001a8, + 0x004001c8, + 0x004001e8, + 0x0040018c, + 0x004001ac, + 0x004001cc, + 0x004001ec, + 0x00400190, + 0x004001b0, + 0x004001d0, + 0x004001f0, + 0x00400194, + 0x004001b4, + 0x004001d4, + 0x004001f4, + 0x00400198, + 0x004001b8, + 0x004001d8, + 0x004001f8, + 0x0040019c, + 0x004001bc, + 0x004001dc, + 0x004001fc, + 0x00400174, + NV04_PGRAPH_DMA_START_0, + NV04_PGRAPH_DMA_START_1, + NV04_PGRAPH_DMA_LENGTH, + NV04_PGRAPH_DMA_MISC, + NV04_PGRAPH_DMA_PITCH, + NV04_PGRAPH_BOFFSET0, + NV04_PGRAPH_BBASE0, + NV04_PGRAPH_BLIMIT0, + NV04_PGRAPH_BOFFSET1, + NV04_PGRAPH_BBASE1, + NV04_PGRAPH_BLIMIT1, + NV04_PGRAPH_BOFFSET2, + NV04_PGRAPH_BBASE2, + NV04_PGRAPH_BLIMIT2, + NV04_PGRAPH_BOFFSET3, + NV04_PGRAPH_BBASE3, + NV04_PGRAPH_BLIMIT3, + NV04_PGRAPH_BOFFSET4, + NV04_PGRAPH_BBASE4, + NV04_PGRAPH_BLIMIT4, + NV04_PGRAPH_BOFFSET5, + NV04_PGRAPH_BBASE5, + NV04_PGRAPH_BLIMIT5, + NV04_PGRAPH_BPITCH0, + NV04_PGRAPH_BPITCH1, + NV04_PGRAPH_BPITCH2, + NV04_PGRAPH_BPITCH3, + NV04_PGRAPH_BPITCH4, + NV04_PGRAPH_SURFACE, + NV04_PGRAPH_STATE, + NV04_PGRAPH_BSWIZZLE2, + NV04_PGRAPH_BSWIZZLE5, + NV04_PGRAPH_BPIXEL, + NV04_PGRAPH_NOTIFY, + NV04_PGRAPH_PATT_COLOR0, + NV04_PGRAPH_PATT_COLOR1, + NV04_PGRAPH_PATT_COLORRAM+0x00, + NV04_PGRAPH_PATT_COLORRAM+0x04, + NV04_PGRAPH_PATT_COLORRAM+0x08, + NV04_PGRAPH_PATT_COLORRAM+0x0c, + NV04_PGRAPH_PATT_COLORRAM+0x10, + NV04_PGRAPH_PATT_COLORRAM+0x14, + NV04_PGRAPH_PATT_COLORRAM+0x18, + NV04_PGRAPH_PATT_COLORRAM+0x1c, + NV04_PGRAPH_PATT_COLORRAM+0x20, + NV04_PGRAPH_PATT_COLORRAM+0x24, + NV04_PGRAPH_PATT_COLORRAM+0x28, + NV04_PGRAPH_PATT_COLORRAM+0x2c, + NV04_PGRAPH_PATT_COLORRAM+0x30, + NV04_PGRAPH_PATT_COLORRAM+0x34, + NV04_PGRAPH_PATT_COLORRAM+0x38, + NV04_PGRAPH_PATT_COLORRAM+0x3c, + NV04_PGRAPH_PATT_COLORRAM+0x40, + NV04_PGRAPH_PATT_COLORRAM+0x44, + NV04_PGRAPH_PATT_COLORRAM+0x48, + NV04_PGRAPH_PATT_COLORRAM+0x4c, + NV04_PGRAPH_PATT_COLORRAM+0x50, + NV04_PGRAPH_PATT_COLORRAM+0x54, + NV04_PGRAPH_PATT_COLORRAM+0x58, + NV04_PGRAPH_PATT_COLORRAM+0x5c, + NV04_PGRAPH_PATT_COLORRAM+0x60, + NV04_PGRAPH_PATT_COLORRAM+0x64, + NV04_PGRAPH_PATT_COLORRAM+0x68, + NV04_PGRAPH_PATT_COLORRAM+0x6c, + NV04_PGRAPH_PATT_COLORRAM+0x70, + NV04_PGRAPH_PATT_COLORRAM+0x74, + NV04_PGRAPH_PATT_COLORRAM+0x78, + NV04_PGRAPH_PATT_COLORRAM+0x7c, + NV04_PGRAPH_PATT_COLORRAM+0x80, + NV04_PGRAPH_PATT_COLORRAM+0x84, + NV04_PGRAPH_PATT_COLORRAM+0x88, + NV04_PGRAPH_PATT_COLORRAM+0x8c, + NV04_PGRAPH_PATT_COLORRAM+0x90, + NV04_PGRAPH_PATT_COLORRAM+0x94, + NV04_PGRAPH_PATT_COLORRAM+0x98, + NV04_PGRAPH_PATT_COLORRAM+0x9c, + NV04_PGRAPH_PATT_COLORRAM+0xa0, + NV04_PGRAPH_PATT_COLORRAM+0xa4, + NV04_PGRAPH_PATT_COLORRAM+0xa8, + NV04_PGRAPH_PATT_COLORRAM+0xac, + NV04_PGRAPH_PATT_COLORRAM+0xb0, + NV04_PGRAPH_PATT_COLORRAM+0xb4, + NV04_PGRAPH_PATT_COLORRAM+0xb8, + NV04_PGRAPH_PATT_COLORRAM+0xbc, + NV04_PGRAPH_PATT_COLORRAM+0xc0, + NV04_PGRAPH_PATT_COLORRAM+0xc4, + NV04_PGRAPH_PATT_COLORRAM+0xc8, + NV04_PGRAPH_PATT_COLORRAM+0xcc, + NV04_PGRAPH_PATT_COLORRAM+0xd0, + NV04_PGRAPH_PATT_COLORRAM+0xd4, + NV04_PGRAPH_PATT_COLORRAM+0xd8, + NV04_PGRAPH_PATT_COLORRAM+0xdc, + NV04_PGRAPH_PATT_COLORRAM+0xe0, + NV04_PGRAPH_PATT_COLORRAM+0xe4, + NV04_PGRAPH_PATT_COLORRAM+0xe8, + NV04_PGRAPH_PATT_COLORRAM+0xec, + NV04_PGRAPH_PATT_COLORRAM+0xf0, + NV04_PGRAPH_PATT_COLORRAM+0xf4, + NV04_PGRAPH_PATT_COLORRAM+0xf8, + NV04_PGRAPH_PATT_COLORRAM+0xfc, + NV04_PGRAPH_PATTERN, + 0x0040080c, + NV04_PGRAPH_PATTERN_SHAPE, + 0x00400600, + NV04_PGRAPH_ROP3, + NV04_PGRAPH_CHROMA, + NV04_PGRAPH_BETA_AND, + NV04_PGRAPH_BETA_PREMULT, + NV04_PGRAPH_CONTROL0, + NV04_PGRAPH_CONTROL1, + NV04_PGRAPH_CONTROL2, + NV04_PGRAPH_BLEND, + NV04_PGRAPH_STORED_FMT, + NV04_PGRAPH_SOURCE_COLOR, + 0x00400560, + 0x00400568, + 0x00400564, + 0x0040056c, + 0x00400400, + 0x00400480, + 0x00400404, + 0x00400484, + 0x00400408, + 0x00400488, + 0x0040040c, + 0x0040048c, + 0x00400410, + 0x00400490, + 0x00400414, + 0x00400494, + 0x00400418, + 0x00400498, + 0x0040041c, + 0x0040049c, + 0x00400420, + 0x004004a0, + 0x00400424, + 0x004004a4, + 0x00400428, + 0x004004a8, + 0x0040042c, + 0x004004ac, + 0x00400430, + 0x004004b0, + 0x00400434, + 0x004004b4, + 0x00400438, + 0x004004b8, + 0x0040043c, + 0x004004bc, + 0x00400440, + 0x004004c0, + 0x00400444, + 0x004004c4, + 0x00400448, + 0x004004c8, + 0x0040044c, + 0x004004cc, + 0x00400450, + 0x004004d0, + 0x00400454, + 0x004004d4, + 0x00400458, + 0x004004d8, + 0x0040045c, + 0x004004dc, + 0x00400460, + 0x004004e0, + 0x00400464, + 0x004004e4, + 0x00400468, + 0x004004e8, + 0x0040046c, + 0x004004ec, + 0x00400470, + 0x004004f0, + 0x00400474, + 0x004004f4, + 0x00400478, + 0x004004f8, + 0x0040047c, + 0x004004fc, + 0x00400534, + 0x00400538, + 0x00400514, + 0x00400518, + 0x0040051c, + 0x00400520, + 0x00400524, + 0x00400528, + 0x0040052c, + 0x00400530, + 0x00400d00, + 0x00400d40, + 0x00400d80, + 0x00400d04, + 0x00400d44, + 0x00400d84, + 0x00400d08, + 0x00400d48, + 0x00400d88, + 0x00400d0c, + 0x00400d4c, + 0x00400d8c, + 0x00400d10, + 0x00400d50, + 0x00400d90, + 0x00400d14, + 0x00400d54, + 0x00400d94, + 0x00400d18, + 0x00400d58, + 0x00400d98, + 0x00400d1c, + 0x00400d5c, + 0x00400d9c, + 0x00400d20, + 0x00400d60, + 0x00400da0, + 0x00400d24, + 0x00400d64, + 0x00400da4, + 0x00400d28, + 0x00400d68, + 0x00400da8, + 0x00400d2c, + 0x00400d6c, + 0x00400dac, + 0x00400d30, + 0x00400d70, + 0x00400db0, + 0x00400d34, + 0x00400d74, + 0x00400db4, + 0x00400d38, + 0x00400d78, + 0x00400db8, + 0x00400d3c, + 0x00400d7c, + 0x00400dbc, + 0x00400590, + 0x00400594, + 0x00400598, + 0x0040059c, + 0x004005a8, + 0x004005ac, + 0x004005b0, + 0x004005b4, + 0x004005c0, + 0x004005c4, + 0x004005c8, + 0x004005cc, + 0x004005d0, + 0x004005d4, + 0x004005d8, + 0x004005dc, + 0x004005e0, + NV04_PGRAPH_PASSTHRU_0, + NV04_PGRAPH_PASSTHRU_1, + NV04_PGRAPH_PASSTHRU_2, + NV04_PGRAPH_DVD_COLORFMT, + NV04_PGRAPH_SCALED_FORMAT, + NV04_PGRAPH_MISC24_0, + NV04_PGRAPH_MISC24_1, + NV04_PGRAPH_MISC24_2, + 0x00400500, + 0x00400504, + NV04_PGRAPH_VALID1, + NV04_PGRAPH_VALID2, + NV04_PGRAPH_DEBUG_3 +}; + +struct graph_state { + int nv04[ARRAY_SIZE(nv04_graph_ctx_regs)]; +}; + +struct nouveau_channel * +nv04_graph_channel(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + int chid = dev_priv->engine.fifo.channels; + + if (nv_rd32(dev, NV04_PGRAPH_CTX_CONTROL) & 0x00010000) + chid = nv_rd32(dev, NV04_PGRAPH_CTX_USER) >> 24; + + if (chid >= dev_priv->engine.fifo.channels) + return NULL; + + return dev_priv->fifos[chid]; +} + +void +nv04_graph_context_switch(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_pgraph_engine *pgraph = &dev_priv->engine.graph; + struct nouveau_channel *chan = NULL; + int chid; + + pgraph->fifo_access(dev, false); + nouveau_wait_for_idle(dev); + + /* If previous context is valid, we need to save it */ + pgraph->unload_context(dev); + + /* Load context for next channel */ + chid = dev_priv->engine.fifo.channel_id(dev); + chan = dev_priv->fifos[chid]; + if (chan) + nv04_graph_load_context(chan); + + pgraph->fifo_access(dev, true); +} + +static uint32_t *ctx_reg(struct graph_state *ctx, uint32_t reg) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(nv04_graph_ctx_regs); i++) { + if (nv04_graph_ctx_regs[i] == reg) + return &ctx->nv04[i]; + } + + return NULL; +} + +int nv04_graph_create_context(struct nouveau_channel *chan) +{ + struct graph_state *pgraph_ctx; + NV_DEBUG(chan->dev, "nv04_graph_context_create %d\n", chan->id); + + chan->pgraph_ctx = pgraph_ctx = kzalloc(sizeof(*pgraph_ctx), + GFP_KERNEL); + if (pgraph_ctx == NULL) + return -ENOMEM; + + *ctx_reg(pgraph_ctx, NV04_PGRAPH_DEBUG_3) = 0xfad4ff31; + + return 0; +} + +void nv04_graph_destroy_context(struct nouveau_channel *chan) +{ + struct graph_state *pgraph_ctx = chan->pgraph_ctx; + + kfree(pgraph_ctx); + chan->pgraph_ctx = NULL; +} + +int nv04_graph_load_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct graph_state *pgraph_ctx = chan->pgraph_ctx; + uint32_t tmp; + int i; + + for (i = 0; i < ARRAY_SIZE(nv04_graph_ctx_regs); i++) + nv_wr32(dev, nv04_graph_ctx_regs[i], pgraph_ctx->nv04[i]); + + nv_wr32(dev, NV04_PGRAPH_CTX_CONTROL, 0x10010100); + + tmp = nv_rd32(dev, NV04_PGRAPH_CTX_USER) & 0x00ffffff; + nv_wr32(dev, NV04_PGRAPH_CTX_USER, tmp | chan->id << 24); + + tmp = nv_rd32(dev, NV04_PGRAPH_FFINTFC_ST2); + nv_wr32(dev, NV04_PGRAPH_FFINTFC_ST2, tmp & 0x000fffff); + + return 0; +} + +int +nv04_graph_unload_context(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_pgraph_engine *pgraph = &dev_priv->engine.graph; + struct nouveau_channel *chan = NULL; + struct graph_state *ctx; + uint32_t tmp; + int i; + + chan = pgraph->channel(dev); + if (!chan) + return 0; + ctx = chan->pgraph_ctx; + + for (i = 0; i < ARRAY_SIZE(nv04_graph_ctx_regs); i++) + ctx->nv04[i] = nv_rd32(dev, nv04_graph_ctx_regs[i]); + + nv_wr32(dev, NV04_PGRAPH_CTX_CONTROL, 0x10000000); + tmp = nv_rd32(dev, NV04_PGRAPH_CTX_USER) & 0x00ffffff; + tmp |= (dev_priv->engine.fifo.channels - 1) << 24; + nv_wr32(dev, NV04_PGRAPH_CTX_USER, tmp); + return 0; +} + +int nv04_graph_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t tmp; + + nv_wr32(dev, NV03_PMC_ENABLE, nv_rd32(dev, NV03_PMC_ENABLE) & + ~NV_PMC_ENABLE_PGRAPH); + nv_wr32(dev, NV03_PMC_ENABLE, nv_rd32(dev, NV03_PMC_ENABLE) | + NV_PMC_ENABLE_PGRAPH); + + /* Enable PGRAPH interrupts */ + nv_wr32(dev, NV03_PGRAPH_INTR, 0xFFFFFFFF); + nv_wr32(dev, NV03_PGRAPH_INTR_EN, 0xFFFFFFFF); + + nv_wr32(dev, NV04_PGRAPH_VALID1, 0); + nv_wr32(dev, NV04_PGRAPH_VALID2, 0); + /*nv_wr32(dev, NV04_PGRAPH_DEBUG_0, 0x000001FF); + nv_wr32(dev, NV04_PGRAPH_DEBUG_0, 0x001FFFFF);*/ + nv_wr32(dev, NV04_PGRAPH_DEBUG_0, 0x1231c000); + /*1231C000 blob, 001 haiku*/ + //*V_WRITE(NV04_PGRAPH_DEBUG_1, 0xf2d91100);*/ + nv_wr32(dev, NV04_PGRAPH_DEBUG_1, 0x72111100); + /*0x72111100 blob , 01 haiku*/ + /*nv_wr32(dev, NV04_PGRAPH_DEBUG_2, 0x11d5f870);*/ + nv_wr32(dev, NV04_PGRAPH_DEBUG_2, 0x11d5f071); + /*haiku same*/ + + /*nv_wr32(dev, NV04_PGRAPH_DEBUG_3, 0xfad4ff31);*/ + nv_wr32(dev, NV04_PGRAPH_DEBUG_3, 0xf0d4ff31); + /*haiku and blob 10d4*/ + + nv_wr32(dev, NV04_PGRAPH_STATE , 0xFFFFFFFF); + nv_wr32(dev, NV04_PGRAPH_CTX_CONTROL , 0x10000100); + tmp = nv_rd32(dev, NV04_PGRAPH_CTX_USER) & 0x00ffffff; + tmp |= (dev_priv->engine.fifo.channels - 1) << 24; + nv_wr32(dev, NV04_PGRAPH_CTX_USER, tmp); + + /* These don't belong here, they're part of a per-channel context */ + nv_wr32(dev, NV04_PGRAPH_PATTERN_SHAPE, 0x00000000); + nv_wr32(dev, NV04_PGRAPH_BETA_AND , 0xFFFFFFFF); + + return 0; +} + +void nv04_graph_takedown(struct drm_device *dev) +{ +} + +void +nv04_graph_fifo_access(struct drm_device *dev, bool enabled) +{ + if (enabled) + nv_wr32(dev, NV04_PGRAPH_FIFO, + nv_rd32(dev, NV04_PGRAPH_FIFO) | 1); + else + nv_wr32(dev, NV04_PGRAPH_FIFO, + nv_rd32(dev, NV04_PGRAPH_FIFO) & ~1); +} + +static int +nv04_graph_mthd_set_ref(struct nouveau_channel *chan, int grclass, + int mthd, uint32_t data) +{ + chan->fence.last_sequence_irq = data; + nouveau_fence_handler(chan->dev, chan->id); + return 0; +} + +static int +nv04_graph_mthd_set_operation(struct nouveau_channel *chan, int grclass, + int mthd, uint32_t data) +{ + struct drm_device *dev = chan->dev; + uint32_t instance = (nv_rd32(dev, NV04_PGRAPH_CTX_SWITCH4) & 0xffff) << 4; + int subc = (nv_rd32(dev, NV04_PGRAPH_TRAPPED_ADDR) >> 13) & 0x7; + uint32_t tmp; + + tmp = nv_ri32(dev, instance); + tmp &= ~0x00038000; + tmp |= ((data & 7) << 15); + + nv_wi32(dev, instance, tmp); + nv_wr32(dev, NV04_PGRAPH_CTX_SWITCH1, tmp); + nv_wr32(dev, NV04_PGRAPH_CTX_CACHE1 + (subc<<2), tmp); + return 0; +} + +static struct nouveau_pgraph_object_method nv04_graph_mthds_sw[] = { + { 0x0150, nv04_graph_mthd_set_ref }, + {} +}; + +static struct nouveau_pgraph_object_method nv04_graph_mthds_set_operation[] = { + { 0x02fc, nv04_graph_mthd_set_operation }, + {}, +}; + +struct nouveau_pgraph_object_class nv04_graph_grclass[] = { + { 0x0039, false, NULL }, + { 0x004a, false, nv04_graph_mthds_set_operation }, /* gdirect */ + { 0x005f, false, nv04_graph_mthds_set_operation }, /* imageblit */ + { 0x0061, false, nv04_graph_mthds_set_operation }, /* ifc */ + { 0x0077, false, nv04_graph_mthds_set_operation }, /* sifm */ + { 0x0030, false, NULL }, /* null */ + { 0x0042, false, NULL }, /* surf2d */ + { 0x0043, false, NULL }, /* rop */ + { 0x0012, false, NULL }, /* beta1 */ + { 0x0072, false, NULL }, /* beta4 */ + { 0x0019, false, NULL }, /* cliprect */ + { 0x0044, false, NULL }, /* pattern */ + { 0x0052, false, NULL }, /* swzsurf */ + { 0x0053, false, NULL }, /* surf3d */ + { 0x0054, false, NULL }, /* tex_tri */ + { 0x0055, false, NULL }, /* multitex_tri */ + { 0x506e, true, nv04_graph_mthds_sw }, + {} +}; + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv04_instmem.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv04_instmem.c @@ -0,0 +1,208 @@ +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" + +/* returns the size of fifo context */ +static int +nouveau_fifo_ctx_size(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + if (dev_priv->chipset >= 0x40) + return 128; + else + if (dev_priv->chipset >= 0x17) + return 64; + + return 32; +} + +static void +nv04_instmem_determine_amount(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + int i; + + /* Figure out how much instance memory we need */ + if (dev_priv->card_type >= NV_40) { + /* We'll want more instance memory than this on some NV4x cards. + * There's a 16MB aperture to play with that maps onto the end + * of vram. For now, only reserve a small piece until we know + * more about what each chipset requires. + */ + switch (dev_priv->chipset) { + case 0x40: + case 0x47: + case 0x49: + case 0x4b: + dev_priv->ramin_rsvd_vram = (2 * 1024 * 1024); + break; + default: + dev_priv->ramin_rsvd_vram = (1 * 1024 * 1024); + break; + } + } else { + /*XXX: what *are* the limits on ramin_rsvd_vram = (512 * 1024); + } + NV_DEBUG(dev, "RAMIN size: %dKiB\n", dev_priv->ramin_rsvd_vram >> 10); + + /* Clear all of it, except the BIOS image that's in the first 64KiB */ + dev_priv->engine.instmem.prepare_access(dev, true); + for (i = 64 * 1024; i < dev_priv->ramin_rsvd_vram; i += 4) + nv_wi32(dev, i, 0x00000000); + dev_priv->engine.instmem.finish_access(dev); +} + +static void +nv04_instmem_configure_fixed_tables(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_engine *engine = &dev_priv->engine; + + /* FIFO hash table (RAMHT) + * use 4k hash table at RAMIN+0x10000 + * TODO: extend the hash table + */ + dev_priv->ramht_offset = 0x10000; + dev_priv->ramht_bits = 9; + dev_priv->ramht_size = (1 << dev_priv->ramht_bits); /* nr entries */ + dev_priv->ramht_size *= 8; /* 2 32-bit values per entry in RAMHT */ + NV_DEBUG(dev, "RAMHT offset=0x%x, size=%d\n", dev_priv->ramht_offset, + dev_priv->ramht_size); + + /* FIFO runout table (RAMRO) - 512k at 0x11200 */ + dev_priv->ramro_offset = 0x11200; + dev_priv->ramro_size = 512; + NV_DEBUG(dev, "RAMRO offset=0x%x, size=%d\n", dev_priv->ramro_offset, + dev_priv->ramro_size); + + /* FIFO context table (RAMFC) + * NV40 : Not sure exactly how to position RAMFC on some cards, + * 0x30002 seems to position it at RAMIN+0x20000 on these + * cards. RAMFC is 4kb (32 fifos, 128byte entries). + * Others: Position RAMFC at RAMIN+0x11400 + */ + dev_priv->ramfc_size = engine->fifo.channels * + nouveau_fifo_ctx_size(dev); + switch (dev_priv->card_type) { + case NV_40: + dev_priv->ramfc_offset = 0x20000; + break; + case NV_30: + case NV_20: + case NV_10: + case NV_04: + default: + dev_priv->ramfc_offset = 0x11400; + break; + } + NV_DEBUG(dev, "RAMFC offset=0x%x, size=%d\n", dev_priv->ramfc_offset, + dev_priv->ramfc_size); +} + +int nv04_instmem_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t offset; + int ret = 0; + + nv04_instmem_determine_amount(dev); + nv04_instmem_configure_fixed_tables(dev); + + /* Create a heap to manage RAMIN allocations, we don't allocate + * the space that was reserved for RAMHT/FC/RO. + */ + offset = dev_priv->ramfc_offset + dev_priv->ramfc_size; + + /* It appears RAMRO (or something?) is controlled by 0x2220/0x2230 + * on certain NV4x chipsets as well as RAMFC. When 0x2230 == 0 + * ("new style" control) the upper 16-bits of 0x2220 points at this + * other mysterious table that's clobbering important things. + * + * We're now pointing this at RAMIN+0x30000 to avoid RAMFC getting + * smashed to pieces on us, so reserve 0x30000-0x40000 too.. + */ + if (dev_priv->card_type >= NV_40) { + if (offset < 0x40000) + offset = 0x40000; + } + + ret = nouveau_mem_init_heap(&dev_priv->ramin_heap, + offset, dev_priv->ramin_rsvd_vram - offset); + if (ret) { + dev_priv->ramin_heap = NULL; + NV_ERROR(dev, "Failed to init RAMIN heap\n"); + } + + return ret; +} + +void +nv04_instmem_takedown(struct drm_device *dev) +{ +} + +int +nv04_instmem_populate(struct drm_device *dev, struct nouveau_gpuobj *gpuobj, uint32_t *sz) +{ + if (gpuobj->im_backing) + return -EINVAL; + + return 0; +} + +void +nv04_instmem_clear(struct drm_device *dev, struct nouveau_gpuobj *gpuobj) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + if (gpuobj && gpuobj->im_backing) { + if (gpuobj->im_bound) + dev_priv->engine.instmem.unbind(dev, gpuobj); + gpuobj->im_backing = NULL; + } +} + +int +nv04_instmem_bind(struct drm_device *dev, struct nouveau_gpuobj *gpuobj) +{ + if (!gpuobj->im_pramin || gpuobj->im_bound) + return -EINVAL; + + gpuobj->im_bound = 1; + return 0; +} + +int +nv04_instmem_unbind(struct drm_device *dev, struct nouveau_gpuobj *gpuobj) +{ + if (gpuobj->im_bound == 0) + return -EINVAL; + + gpuobj->im_bound = 0; + return 0; +} + +void +nv04_instmem_prepare_access(struct drm_device *dev, bool write) +{ +} + +void +nv04_instmem_finish_access(struct drm_device *dev) +{ +} + +int +nv04_instmem_suspend(struct drm_device *dev) +{ + return 0; +} + +void +nv04_instmem_resume(struct drm_device *dev) +{ +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv04_mc.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv04_mc.c @@ -0,0 +1,20 @@ +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" +#include "nouveau_drm.h" + +int +nv04_mc_init(struct drm_device *dev) +{ + /* Power up everything, resetting each individual unit will + * be done later if needed. + */ + + nv_wr32(dev, NV03_PMC_ENABLE, 0xFFFFFFFF); + return 0; +} + +void +nv04_mc_takedown(struct drm_device *dev) +{ +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv04_tv.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv04_tv.c @@ -0,0 +1,305 @@ +/* + * Copyright (C) 2009 Francisco Jerez. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "nouveau_drv.h" +#include "nouveau_encoder.h" +#include "nouveau_connector.h" +#include "nouveau_crtc.h" +#include "nouveau_hw.h" +#include "drm_crtc_helper.h" + +#include "i2c/ch7006.h" + +static struct { + struct i2c_board_info board_info; + struct drm_encoder_funcs funcs; + struct drm_encoder_helper_funcs hfuncs; + void *params; + +} nv04_tv_encoder_info[] = { + { + .board_info = { I2C_BOARD_INFO("ch7006", 0x75) }, + .params = &(struct ch7006_encoder_params) { + CH7006_FORMAT_RGB24m12I, CH7006_CLOCK_MASTER, + 0, 0, 0, + CH7006_SYNC_SLAVE, CH7006_SYNC_SEPARATED, + CH7006_POUT_3_3V, CH7006_ACTIVE_HSYNC + }, + }, +}; + +static bool probe_i2c_addr(struct i2c_adapter *adapter, int addr) +{ + struct i2c_msg msg = { + .addr = addr, + .len = 0, + }; + + return i2c_transfer(adapter, &msg, 1) == 1; +} + +int nv04_tv_identify(struct drm_device *dev, int i2c_index) +{ + struct nouveau_i2c_chan *i2c; + bool was_locked; + int i, ret; + + NV_TRACE(dev, "Probing TV encoders on I2C bus: %d\n", i2c_index); + + i2c = nouveau_i2c_find(dev, i2c_index); + if (!i2c) + return -ENODEV; + + was_locked = NVLockVgaCrtcs(dev, false); + + for (i = 0; i < ARRAY_SIZE(nv04_tv_encoder_info); i++) { + if (probe_i2c_addr(&i2c->adapter, + nv04_tv_encoder_info[i].board_info.addr)) { + ret = i; + break; + } + } + + if (i < ARRAY_SIZE(nv04_tv_encoder_info)) { + NV_TRACE(dev, "Detected TV encoder: %s\n", + nv04_tv_encoder_info[i].board_info.type); + + } else { + NV_TRACE(dev, "No TV encoders found.\n"); + i = -ENODEV; + } + + NVLockVgaCrtcs(dev, was_locked); + return i; +} + +#define PLLSEL_TV_CRTC1_MASK \ + (NV_PRAMDAC_PLL_COEFF_SELECT_TV_VSCLK1 \ + | NV_PRAMDAC_PLL_COEFF_SELECT_TV_PCLK1) +#define PLLSEL_TV_CRTC2_MASK \ + (NV_PRAMDAC_PLL_COEFF_SELECT_TV_VSCLK2 \ + | NV_PRAMDAC_PLL_COEFF_SELECT_TV_PCLK2) + +static void nv04_tv_dpms(struct drm_encoder *encoder, int mode) +{ + struct drm_device *dev = encoder->dev; + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_nouveau_private *dev_priv = dev->dev_private; + 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); + + state->pllsel &= ~(PLLSEL_TV_CRTC1_MASK | PLLSEL_TV_CRTC2_MASK); + + if (mode == DRM_MODE_DPMS_ON) { + int head = nouveau_crtc(encoder->crtc)->index; + crtc1A = NVReadVgaCrtc(dev, head, NV_CIO_CRE_RPC1_INDEX); + + state->pllsel |= head ? PLLSEL_TV_CRTC2_MASK : + PLLSEL_TV_CRTC1_MASK; + + /* Inhibit hsync */ + crtc1A |= 0x80; + + NVWriteVgaCrtc(dev, head, NV_CIO_CRE_RPC1_INDEX, crtc1A); + } + + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_PLL_COEFF_SELECT, state->pllsel); + + to_encoder_slave(encoder)->slave_funcs->dpms(encoder, mode); +} + +static void nv04_tv_bind(struct drm_device *dev, int head, bool bind) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv04_crtc_reg *state = &dev_priv->mode_reg.crtc_reg[head]; + + state->tv_setup = 0; + + if (bind) { + state->CRTC[NV_CIO_CRE_LCD__INDEX] = 0; + state->CRTC[NV_CIO_CRE_49] |= 0x10; + } else { + state->CRTC[NV_CIO_CRE_49] &= ~0x10; + } + + NVWriteVgaCrtc(dev, head, NV_CIO_CRE_LCD__INDEX, + state->CRTC[NV_CIO_CRE_LCD__INDEX]); + NVWriteVgaCrtc(dev, head, NV_CIO_CRE_49, + state->CRTC[NV_CIO_CRE_49]); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_TV_SETUP, + state->tv_setup); +} + +static void nv04_tv_prepare(struct drm_encoder *encoder) +{ + struct drm_device *dev = encoder->dev; + int head = nouveau_crtc(encoder->crtc)->index; + struct drm_encoder_helper_funcs *helper = encoder->helper_private; + + helper->dpms(encoder, DRM_MODE_DPMS_OFF); + + nv04_dfp_disable(dev, head); + + if (nv_two_heads(dev)) + nv04_tv_bind(dev, head ^ 1, false); + + nv04_tv_bind(dev, head, true); +} + +static void nv04_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_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); + struct nv04_crtc_reg *regp = &dev_priv->mode_reg.crtc_reg[nv_crtc->index]; + + regp->tv_htotal = adjusted_mode->htotal; + regp->tv_vtotal = adjusted_mode->vtotal; + + /* These delay the TV signals with respect to the VGA port, + * they might be useful if we ever allow a CRTC to drive + * multiple outputs. + */ + regp->tv_hskew = 1; + regp->tv_hsync_delay = 1; + regp->tv_hsync_delay2 = 64; + regp->tv_vskew = 1; + regp->tv_vsync_delay = 1; + + to_encoder_slave(encoder)->slave_funcs->mode_set(encoder, mode, adjusted_mode); +} + +static void nv04_tv_commit(struct drm_encoder *encoder) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_device *dev = encoder->dev; + struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); + struct drm_encoder_helper_funcs *helper = encoder->helper_private; + + 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)); +} + +static void nv04_tv_destroy(struct drm_encoder *encoder) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + + to_encoder_slave(encoder)->slave_funcs->destroy(encoder); + + drm_encoder_cleanup(encoder); + + kfree(nv_encoder); +} + +int nv04_tv_create(struct drm_device *dev, struct dcb_entry *entry) +{ + struct nouveau_encoder *nv_encoder; + struct drm_encoder *encoder; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct i2c_adapter *adap; + struct drm_encoder_funcs *funcs = NULL; + struct drm_encoder_helper_funcs *hfuncs = NULL; + struct drm_encoder_slave_funcs *sfuncs = NULL; + int i2c_index = entry->i2c_index; + int type, ret; + bool was_locked; + + /* Ensure that we can talk to this encoder */ + type = nv04_tv_identify(dev, i2c_index); + if (type < 0) + return type; + + /* Allocate the necessary memory */ + nv_encoder = kzalloc(sizeof(*nv_encoder), GFP_KERNEL); + if (!nv_encoder) + return -ENOMEM; + + /* Initialize the common members */ + encoder = to_drm_encoder(nv_encoder); + + funcs = &nv04_tv_encoder_info[type].funcs; + hfuncs = &nv04_tv_encoder_info[type].hfuncs; + + drm_encoder_init(dev, encoder, funcs, DRM_MODE_ENCODER_TVDAC); + drm_encoder_helper_add(encoder, hfuncs); + + encoder->possible_crtcs = entry->heads; + encoder->possible_clones = 0; + + nv_encoder->dcb = entry; + nv_encoder->or = ffs(entry->or) - 1; + + /* Run the slave-specific initialization */ + adap = &dev_priv->vbios->dcb->i2c[i2c_index].chan->adapter; + + was_locked = NVLockVgaCrtcs(dev, false); + + ret = drm_i2c_encoder_init(encoder->dev, to_encoder_slave(encoder), adap, + &nv04_tv_encoder_info[type].board_info); + + NVLockVgaCrtcs(dev, was_locked); + + if (ret < 0) + goto fail; + + /* Fill the function pointers */ + sfuncs = to_encoder_slave(encoder)->slave_funcs; + + *funcs = (struct drm_encoder_funcs) { + .destroy = nv04_tv_destroy, + }; + + *hfuncs = (struct drm_encoder_helper_funcs) { + .dpms = nv04_tv_dpms, + .save = sfuncs->save, + .restore = sfuncs->restore, + .mode_fixup = sfuncs->mode_fixup, + .prepare = nv04_tv_prepare, + .commit = nv04_tv_commit, + .mode_set = nv04_tv_mode_set, + .detect = sfuncs->detect, + }; + + /* Set the slave encoder configuration */ + sfuncs->set_config(encoder, nv04_tv_encoder_info[type].params); + + return 0; + +fail: + drm_encoder_cleanup(encoder); + + kfree(nv_encoder); + return ret; +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv04_timer.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv04_timer.c @@ -0,0 +1,51 @@ +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" +#include "nouveau_drm.h" + +int +nv04_timer_init(struct drm_device *dev) +{ + nv_wr32(dev, NV04_PTIMER_INTR_EN_0, 0x00000000); + nv_wr32(dev, NV04_PTIMER_INTR_0, 0xFFFFFFFF); + + /* Just use the pre-existing values when possible for now; these regs + * are not written in nv (driver writer missed a /4 on the address), and + * writing 8 and 3 to the correct regs breaks the timings on the LVDS + * hardware sequencing microcode. + * A correct solution (involving calculations with the GPU PLL) can + * be done when kernel modesetting lands + */ + if (!nv_rd32(dev, NV04_PTIMER_NUMERATOR) || + !nv_rd32(dev, NV04_PTIMER_DENOMINATOR)) { + nv_wr32(dev, NV04_PTIMER_NUMERATOR, 0x00000008); + nv_wr32(dev, NV04_PTIMER_DENOMINATOR, 0x00000003); + } + + return 0; +} + +uint64_t +nv04_timer_read(struct drm_device *dev) +{ + uint32_t low; + /* From kmmio dumps on nv28 this looks like how the blob does this. + * It reads the high dword twice, before and after. + * The only explanation seems to be that the 64-bit timer counter + * advances between high and low dword reads and may corrupt the + * result. Not confirmed. + */ + uint32_t high2 = nv_rd32(dev, NV04_PTIMER_TIME_1); + uint32_t high1; + do { + high1 = high2; + low = nv_rd32(dev, NV04_PTIMER_TIME_0); + high2 = nv_rd32(dev, NV04_PTIMER_TIME_1); + } while (high1 != high2); + return (((uint64_t)high2) << 32) | (uint64_t)low; +} + +void +nv04_timer_takedown(struct drm_device *dev) +{ +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv10_fb.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv10_fb.c @@ -0,0 +1,44 @@ +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" +#include "nouveau_drm.h" + +void +nv10_fb_set_region_tiling(struct drm_device *dev, int i, uint32_t addr, + uint32_t size, uint32_t pitch) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t limit = max(1u, addr + size) - 1; + + if (pitch) { + if (dev_priv->card_type >= NV_20) + addr |= 1; + else + addr |= 1 << 31; + } + + nv_wr32(dev, NV10_PFB_TLIMIT(i), limit); + nv_wr32(dev, NV10_PFB_TSIZE(i), pitch); + nv_wr32(dev, NV10_PFB_TILE(i), addr); +} + +int +nv10_fb_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_fb_engine *pfb = &dev_priv->engine.fb; + int i; + + pfb->num_tiles = NV10_PFB_TILE__SIZE; + + /* Turn all the tiling regions off. */ + for (i = 0; i < pfb->num_tiles; i++) + pfb->set_region_tiling(dev, i, 0, 0, 0); + + return 0; +} + +void +nv10_fb_takedown(struct drm_device *dev) +{ +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv10_fifo.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv10_fifo.c @@ -0,0 +1,260 @@ +/* + * Copyright (C) 2007 Ben Skeggs. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" + +#define NV10_RAMFC(c) (dev_priv->ramfc_offset + ((c) * NV10_RAMFC__SIZE)) +#define NV10_RAMFC__SIZE ((dev_priv->chipset) >= 0x17 ? 64 : 32) + +int +nv10_fifo_channel_id(struct drm_device *dev) +{ + return nv_rd32(dev, NV03_PFIFO_CACHE1_PUSH1) & + NV10_PFIFO_CACHE1_PUSH1_CHID_MASK; +} + +int +nv10_fifo_create_context(struct nouveau_channel *chan) +{ + struct drm_nouveau_private *dev_priv = chan->dev->dev_private; + struct drm_device *dev = chan->dev; + uint32_t fc = NV10_RAMFC(chan->id); + int ret; + + ret = nouveau_gpuobj_new_fake(dev, NV10_RAMFC(chan->id), ~0, + NV10_RAMFC__SIZE, NVOBJ_FLAG_ZERO_ALLOC | + NVOBJ_FLAG_ZERO_FREE, NULL, &chan->ramfc); + if (ret) + return ret; + + /* Fill entries that are seen filled in dumps of nvidia driver just + * after channel's is put into DMA mode + */ + dev_priv->engine.instmem.prepare_access(dev, true); + nv_wi32(dev, fc + 0, chan->pushbuf_base); + nv_wi32(dev, fc + 4, chan->pushbuf_base); + nv_wi32(dev, fc + 12, chan->pushbuf->instance >> 4); + nv_wi32(dev, fc + 20, NV_PFIFO_CACHE1_DMA_FETCH_TRIG_128_BYTES | + NV_PFIFO_CACHE1_DMA_FETCH_SIZE_128_BYTES | + NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_8 | +#ifdef __BIG_ENDIAN + NV_PFIFO_CACHE1_BIG_ENDIAN | +#endif + 0); + dev_priv->engine.instmem.finish_access(dev); + + /* enable the fifo dma operation */ + nv_wr32(dev, NV04_PFIFO_MODE, + nv_rd32(dev, NV04_PFIFO_MODE) | (1 << chan->id)); + return 0; +} + +void +nv10_fifo_destroy_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + + nv_wr32(dev, NV04_PFIFO_MODE, + nv_rd32(dev, NV04_PFIFO_MODE) & ~(1 << chan->id)); + + nouveau_gpuobj_ref_del(dev, &chan->ramfc); +} + +static void +nv10_fifo_do_load_context(struct drm_device *dev, int chid) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t fc = NV10_RAMFC(chid), tmp; + + dev_priv->engine.instmem.prepare_access(dev, false); + + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_PUT, nv_ri32(dev, fc + 0)); + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_GET, nv_ri32(dev, fc + 4)); + nv_wr32(dev, NV10_PFIFO_CACHE1_REF_CNT, nv_ri32(dev, fc + 8)); + + tmp = nv_ri32(dev, fc + 12); + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_INSTANCE, tmp & 0xFFFF); + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_DCOUNT, tmp >> 16); + + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_STATE, nv_ri32(dev, fc + 16)); + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_FETCH, nv_ri32(dev, fc + 20)); + nv_wr32(dev, NV04_PFIFO_CACHE1_ENGINE, nv_ri32(dev, fc + 24)); + nv_wr32(dev, NV04_PFIFO_CACHE1_PULL1, nv_ri32(dev, fc + 28)); + + if (dev_priv->chipset < 0x17) + goto out; + + nv_wr32(dev, NV10_PFIFO_CACHE1_ACQUIRE_VALUE, nv_ri32(dev, fc + 32)); + tmp = nv_ri32(dev, fc + 36); + nv_wr32(dev, NV10_PFIFO_CACHE1_ACQUIRE_TIMESTAMP, tmp); + nv_wr32(dev, NV10_PFIFO_CACHE1_ACQUIRE_TIMEOUT, nv_ri32(dev, fc + 40)); + nv_wr32(dev, NV10_PFIFO_CACHE1_SEMAPHORE, nv_ri32(dev, fc + 44)); + nv_wr32(dev, NV10_PFIFO_CACHE1_DMA_SUBROUTINE, nv_ri32(dev, fc + 48)); + +out: + dev_priv->engine.instmem.finish_access(dev); + + nv_wr32(dev, NV03_PFIFO_CACHE1_GET, 0); + nv_wr32(dev, NV03_PFIFO_CACHE1_PUT, 0); +} + +int +nv10_fifo_load_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + uint32_t tmp; + + nv10_fifo_do_load_context(dev, chan->id); + + nv_wr32(dev, NV03_PFIFO_CACHE1_PUSH1, + NV03_PFIFO_CACHE1_PUSH1_DMA | chan->id); + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_PUSH, 1); + + /* Reset NV04_PFIFO_CACHE1_DMA_CTL_AT_INFO to INVALID */ + tmp = nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_CTL) & ~(1 << 31); + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_CTL, tmp); + + return 0; +} + +int +nv10_fifo_unload_context(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_fifo_engine *pfifo = &dev_priv->engine.fifo; + uint32_t fc, tmp; + int chid; + + chid = pfifo->channel_id(dev); + if (chid < 0 || chid >= dev_priv->engine.fifo.channels) + return 0; + fc = NV10_RAMFC(chid); + + dev_priv->engine.instmem.prepare_access(dev, true); + + nv_wi32(dev, fc + 0, nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_PUT)); + nv_wi32(dev, fc + 4, nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_GET)); + nv_wi32(dev, fc + 8, nv_rd32(dev, NV10_PFIFO_CACHE1_REF_CNT)); + tmp = nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_INSTANCE) & 0xFFFF; + tmp |= (nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_DCOUNT) << 16); + nv_wi32(dev, fc + 12, tmp); + nv_wi32(dev, fc + 16, nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_STATE)); + nv_wi32(dev, fc + 20, nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_FETCH)); + nv_wi32(dev, fc + 24, nv_rd32(dev, NV04_PFIFO_CACHE1_ENGINE)); + nv_wi32(dev, fc + 28, nv_rd32(dev, NV04_PFIFO_CACHE1_PULL1)); + + if (dev_priv->chipset < 0x17) + goto out; + + nv_wi32(dev, fc + 32, nv_rd32(dev, NV10_PFIFO_CACHE1_ACQUIRE_VALUE)); + tmp = nv_rd32(dev, NV10_PFIFO_CACHE1_ACQUIRE_TIMESTAMP); + nv_wi32(dev, fc + 36, tmp); + nv_wi32(dev, fc + 40, nv_rd32(dev, NV10_PFIFO_CACHE1_ACQUIRE_TIMEOUT)); + nv_wi32(dev, fc + 44, nv_rd32(dev, NV10_PFIFO_CACHE1_SEMAPHORE)); + nv_wi32(dev, fc + 48, nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_GET)); + +out: + dev_priv->engine.instmem.finish_access(dev); + + nv10_fifo_do_load_context(dev, pfifo->channels - 1); + nv_wr32(dev, NV03_PFIFO_CACHE1_PUSH1, pfifo->channels - 1); + return 0; +} + +static void +nv10_fifo_init_reset(struct drm_device *dev) +{ + nv_wr32(dev, NV03_PMC_ENABLE, + nv_rd32(dev, NV03_PMC_ENABLE) & ~NV_PMC_ENABLE_PFIFO); + nv_wr32(dev, NV03_PMC_ENABLE, + nv_rd32(dev, NV03_PMC_ENABLE) | NV_PMC_ENABLE_PFIFO); + + nv_wr32(dev, 0x003224, 0x000f0078); + nv_wr32(dev, 0x002044, 0x0101ffff); + nv_wr32(dev, 0x002040, 0x000000ff); + nv_wr32(dev, 0x002500, 0x00000000); + nv_wr32(dev, 0x003000, 0x00000000); + nv_wr32(dev, 0x003050, 0x00000000); + + nv_wr32(dev, 0x003258, 0x00000000); + nv_wr32(dev, 0x003210, 0x00000000); + nv_wr32(dev, 0x003270, 0x00000000); +} + +static void +nv10_fifo_init_ramxx(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + nv_wr32(dev, NV03_PFIFO_RAMHT, (0x03 << 24) /* search 128 */ | + ((dev_priv->ramht_bits - 9) << 16) | + (dev_priv->ramht_offset >> 8)); + nv_wr32(dev, NV03_PFIFO_RAMRO, dev_priv->ramro_offset>>8); + + if (dev_priv->chipset < 0x17) { + nv_wr32(dev, NV03_PFIFO_RAMFC, dev_priv->ramfc_offset >> 8); + } else { + nv_wr32(dev, NV03_PFIFO_RAMFC, (dev_priv->ramfc_offset >> 8) | + (1 << 16) /* 64 Bytes entry*/); + /* XXX nvidia blob set bit 18, 21,23 for nv20 & nv30 */ + } +} + +static void +nv10_fifo_init_intr(struct drm_device *dev) +{ + nv_wr32(dev, 0x002100, 0xffffffff); + nv_wr32(dev, 0x002140, 0xffffffff); +} + +int +nv10_fifo_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_fifo_engine *pfifo = &dev_priv->engine.fifo; + int i; + + nv10_fifo_init_reset(dev); + nv10_fifo_init_ramxx(dev); + + nv10_fifo_do_load_context(dev, pfifo->channels - 1); + nv_wr32(dev, NV03_PFIFO_CACHE1_PUSH1, pfifo->channels - 1); + + nv10_fifo_init_intr(dev); + pfifo->enable(dev); + pfifo->reassign(dev, true); + + for (i = 0; i < dev_priv->engine.fifo.channels; i++) { + if (dev_priv->fifos[i]) { + uint32_t mode = nv_rd32(dev, NV04_PFIFO_MODE); + nv_wr32(dev, NV04_PFIFO_MODE, mode | (1 << i)); + } + } + + return 0; +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv10_graph.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv10_graph.c @@ -0,0 +1,1009 @@ +/* + * Copyright 2007 Matthieu CASTET + * 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 + * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#include "drmP.h" +#include "drm.h" +#include "nouveau_drm.h" +#include "nouveau_drv.h" + +#define NV10_FIFO_NUMBER 32 + +struct pipe_state { + uint32_t pipe_0x0000[0x040/4]; + uint32_t pipe_0x0040[0x010/4]; + uint32_t pipe_0x0200[0x0c0/4]; + uint32_t pipe_0x4400[0x080/4]; + uint32_t pipe_0x6400[0x3b0/4]; + uint32_t pipe_0x6800[0x2f0/4]; + uint32_t pipe_0x6c00[0x030/4]; + uint32_t pipe_0x7000[0x130/4]; + uint32_t pipe_0x7400[0x0c0/4]; + uint32_t pipe_0x7800[0x0c0/4]; +}; + +static int nv10_graph_ctx_regs[] = { + NV10_PGRAPH_CTX_SWITCH1, + NV10_PGRAPH_CTX_SWITCH2, + NV10_PGRAPH_CTX_SWITCH3, + NV10_PGRAPH_CTX_SWITCH4, + NV10_PGRAPH_CTX_SWITCH5, + NV10_PGRAPH_CTX_CACHE1, /* 8 values from 0x400160 to 0x40017c */ + NV10_PGRAPH_CTX_CACHE2, /* 8 values from 0x400180 to 0x40019c */ + NV10_PGRAPH_CTX_CACHE3, /* 8 values from 0x4001a0 to 0x4001bc */ + NV10_PGRAPH_CTX_CACHE4, /* 8 values from 0x4001c0 to 0x4001dc */ + NV10_PGRAPH_CTX_CACHE5, /* 8 values from 0x4001e0 to 0x4001fc */ + 0x00400164, + 0x00400184, + 0x004001a4, + 0x004001c4, + 0x004001e4, + 0x00400168, + 0x00400188, + 0x004001a8, + 0x004001c8, + 0x004001e8, + 0x0040016c, + 0x0040018c, + 0x004001ac, + 0x004001cc, + 0x004001ec, + 0x00400170, + 0x00400190, + 0x004001b0, + 0x004001d0, + 0x004001f0, + 0x00400174, + 0x00400194, + 0x004001b4, + 0x004001d4, + 0x004001f4, + 0x00400178, + 0x00400198, + 0x004001b8, + 0x004001d8, + 0x004001f8, + 0x0040017c, + 0x0040019c, + 0x004001bc, + 0x004001dc, + 0x004001fc, + NV10_PGRAPH_CTX_USER, + NV04_PGRAPH_DMA_START_0, + NV04_PGRAPH_DMA_START_1, + NV04_PGRAPH_DMA_LENGTH, + NV04_PGRAPH_DMA_MISC, + NV10_PGRAPH_DMA_PITCH, + NV04_PGRAPH_BOFFSET0, + NV04_PGRAPH_BBASE0, + NV04_PGRAPH_BLIMIT0, + NV04_PGRAPH_BOFFSET1, + NV04_PGRAPH_BBASE1, + NV04_PGRAPH_BLIMIT1, + NV04_PGRAPH_BOFFSET2, + NV04_PGRAPH_BBASE2, + NV04_PGRAPH_BLIMIT2, + NV04_PGRAPH_BOFFSET3, + NV04_PGRAPH_BBASE3, + NV04_PGRAPH_BLIMIT3, + NV04_PGRAPH_BOFFSET4, + NV04_PGRAPH_BBASE4, + NV04_PGRAPH_BLIMIT4, + NV04_PGRAPH_BOFFSET5, + NV04_PGRAPH_BBASE5, + NV04_PGRAPH_BLIMIT5, + NV04_PGRAPH_BPITCH0, + NV04_PGRAPH_BPITCH1, + NV04_PGRAPH_BPITCH2, + NV04_PGRAPH_BPITCH3, + NV04_PGRAPH_BPITCH4, + NV10_PGRAPH_SURFACE, + NV10_PGRAPH_STATE, + NV04_PGRAPH_BSWIZZLE2, + NV04_PGRAPH_BSWIZZLE5, + NV04_PGRAPH_BPIXEL, + NV10_PGRAPH_NOTIFY, + NV04_PGRAPH_PATT_COLOR0, + NV04_PGRAPH_PATT_COLOR1, + NV04_PGRAPH_PATT_COLORRAM, /* 64 values from 0x400900 to 0x4009fc */ + 0x00400904, + 0x00400908, + 0x0040090c, + 0x00400910, + 0x00400914, + 0x00400918, + 0x0040091c, + 0x00400920, + 0x00400924, + 0x00400928, + 0x0040092c, + 0x00400930, + 0x00400934, + 0x00400938, + 0x0040093c, + 0x00400940, + 0x00400944, + 0x00400948, + 0x0040094c, + 0x00400950, + 0x00400954, + 0x00400958, + 0x0040095c, + 0x00400960, + 0x00400964, + 0x00400968, + 0x0040096c, + 0x00400970, + 0x00400974, + 0x00400978, + 0x0040097c, + 0x00400980, + 0x00400984, + 0x00400988, + 0x0040098c, + 0x00400990, + 0x00400994, + 0x00400998, + 0x0040099c, + 0x004009a0, + 0x004009a4, + 0x004009a8, + 0x004009ac, + 0x004009b0, + 0x004009b4, + 0x004009b8, + 0x004009bc, + 0x004009c0, + 0x004009c4, + 0x004009c8, + 0x004009cc, + 0x004009d0, + 0x004009d4, + 0x004009d8, + 0x004009dc, + 0x004009e0, + 0x004009e4, + 0x004009e8, + 0x004009ec, + 0x004009f0, + 0x004009f4, + 0x004009f8, + 0x004009fc, + NV04_PGRAPH_PATTERN, /* 2 values from 0x400808 to 0x40080c */ + 0x0040080c, + NV04_PGRAPH_PATTERN_SHAPE, + NV03_PGRAPH_MONO_COLOR0, + NV04_PGRAPH_ROP3, + NV04_PGRAPH_CHROMA, + NV04_PGRAPH_BETA_AND, + NV04_PGRAPH_BETA_PREMULT, + 0x00400e70, + 0x00400e74, + 0x00400e78, + 0x00400e7c, + 0x00400e80, + 0x00400e84, + 0x00400e88, + 0x00400e8c, + 0x00400ea0, + 0x00400ea4, + 0x00400ea8, + 0x00400e90, + 0x00400e94, + 0x00400e98, + 0x00400e9c, + NV10_PGRAPH_WINDOWCLIP_HORIZONTAL, /* 8 values from 0x400f00-0x400f1c */ + NV10_PGRAPH_WINDOWCLIP_VERTICAL, /* 8 values from 0x400f20-0x400f3c */ + 0x00400f04, + 0x00400f24, + 0x00400f08, + 0x00400f28, + 0x00400f0c, + 0x00400f2c, + 0x00400f10, + 0x00400f30, + 0x00400f14, + 0x00400f34, + 0x00400f18, + 0x00400f38, + 0x00400f1c, + 0x00400f3c, + NV10_PGRAPH_XFMODE0, + NV10_PGRAPH_XFMODE1, + NV10_PGRAPH_GLOBALSTATE0, + NV10_PGRAPH_GLOBALSTATE1, + NV04_PGRAPH_STORED_FMT, + NV04_PGRAPH_SOURCE_COLOR, + NV03_PGRAPH_ABS_X_RAM, /* 32 values from 0x400400 to 0x40047c */ + NV03_PGRAPH_ABS_Y_RAM, /* 32 values from 0x400480 to 0x4004fc */ + 0x00400404, + 0x00400484, + 0x00400408, + 0x00400488, + 0x0040040c, + 0x0040048c, + 0x00400410, + 0x00400490, + 0x00400414, + 0x00400494, + 0x00400418, + 0x00400498, + 0x0040041c, + 0x0040049c, + 0x00400420, + 0x004004a0, + 0x00400424, + 0x004004a4, + 0x00400428, + 0x004004a8, + 0x0040042c, + 0x004004ac, + 0x00400430, + 0x004004b0, + 0x00400434, + 0x004004b4, + 0x00400438, + 0x004004b8, + 0x0040043c, + 0x004004bc, + 0x00400440, + 0x004004c0, + 0x00400444, + 0x004004c4, + 0x00400448, + 0x004004c8, + 0x0040044c, + 0x004004cc, + 0x00400450, + 0x004004d0, + 0x00400454, + 0x004004d4, + 0x00400458, + 0x004004d8, + 0x0040045c, + 0x004004dc, + 0x00400460, + 0x004004e0, + 0x00400464, + 0x004004e4, + 0x00400468, + 0x004004e8, + 0x0040046c, + 0x004004ec, + 0x00400470, + 0x004004f0, + 0x00400474, + 0x004004f4, + 0x00400478, + 0x004004f8, + 0x0040047c, + 0x004004fc, + NV03_PGRAPH_ABS_UCLIP_XMIN, + NV03_PGRAPH_ABS_UCLIP_XMAX, + NV03_PGRAPH_ABS_UCLIP_YMIN, + NV03_PGRAPH_ABS_UCLIP_YMAX, + 0x00400550, + 0x00400558, + 0x00400554, + 0x0040055c, + NV03_PGRAPH_ABS_UCLIPA_XMIN, + NV03_PGRAPH_ABS_UCLIPA_XMAX, + NV03_PGRAPH_ABS_UCLIPA_YMIN, + NV03_PGRAPH_ABS_UCLIPA_YMAX, + NV03_PGRAPH_ABS_ICLIP_XMAX, + NV03_PGRAPH_ABS_ICLIP_YMAX, + NV03_PGRAPH_XY_LOGIC_MISC0, + NV03_PGRAPH_XY_LOGIC_MISC1, + NV03_PGRAPH_XY_LOGIC_MISC2, + NV03_PGRAPH_XY_LOGIC_MISC3, + NV03_PGRAPH_CLIPX_0, + NV03_PGRAPH_CLIPX_1, + NV03_PGRAPH_CLIPY_0, + NV03_PGRAPH_CLIPY_1, + NV10_PGRAPH_COMBINER0_IN_ALPHA, + NV10_PGRAPH_COMBINER1_IN_ALPHA, + NV10_PGRAPH_COMBINER0_IN_RGB, + NV10_PGRAPH_COMBINER1_IN_RGB, + NV10_PGRAPH_COMBINER_COLOR0, + NV10_PGRAPH_COMBINER_COLOR1, + NV10_PGRAPH_COMBINER0_OUT_ALPHA, + NV10_PGRAPH_COMBINER1_OUT_ALPHA, + NV10_PGRAPH_COMBINER0_OUT_RGB, + NV10_PGRAPH_COMBINER1_OUT_RGB, + NV10_PGRAPH_COMBINER_FINAL0, + NV10_PGRAPH_COMBINER_FINAL1, + 0x00400e00, + 0x00400e04, + 0x00400e08, + 0x00400e0c, + 0x00400e10, + 0x00400e14, + 0x00400e18, + 0x00400e1c, + 0x00400e20, + 0x00400e24, + 0x00400e28, + 0x00400e2c, + 0x00400e30, + 0x00400e34, + 0x00400e38, + 0x00400e3c, + NV04_PGRAPH_PASSTHRU_0, + NV04_PGRAPH_PASSTHRU_1, + NV04_PGRAPH_PASSTHRU_2, + NV10_PGRAPH_DIMX_TEXTURE, + NV10_PGRAPH_WDIMX_TEXTURE, + NV10_PGRAPH_DVD_COLORFMT, + NV10_PGRAPH_SCALED_FORMAT, + NV04_PGRAPH_MISC24_0, + NV04_PGRAPH_MISC24_1, + NV04_PGRAPH_MISC24_2, + NV03_PGRAPH_X_MISC, + NV03_PGRAPH_Y_MISC, + NV04_PGRAPH_VALID1, + NV04_PGRAPH_VALID2, +}; + +static int nv17_graph_ctx_regs[] = { + NV10_PGRAPH_DEBUG_4, + 0x004006b0, + 0x00400eac, + 0x00400eb0, + 0x00400eb4, + 0x00400eb8, + 0x00400ebc, + 0x00400ec0, + 0x00400ec4, + 0x00400ec8, + 0x00400ecc, + 0x00400ed0, + 0x00400ed4, + 0x00400ed8, + 0x00400edc, + 0x00400ee0, + 0x00400a00, + 0x00400a04, +}; + +struct graph_state { + int nv10[ARRAY_SIZE(nv10_graph_ctx_regs)]; + int nv17[ARRAY_SIZE(nv17_graph_ctx_regs)]; + struct pipe_state pipe_state; + uint32_t lma_window[4]; +}; + +#define PIPE_SAVE(dev, state, addr) \ + do { \ + int __i; \ + nv_wr32(dev, NV10_PGRAPH_PIPE_ADDRESS, addr); \ + for (__i = 0; __i < ARRAY_SIZE(state); __i++) \ + state[__i] = nv_rd32(dev, NV10_PGRAPH_PIPE_DATA); \ + } while (0) + +#define PIPE_RESTORE(dev, state, addr) \ + do { \ + int __i; \ + nv_wr32(dev, NV10_PGRAPH_PIPE_ADDRESS, addr); \ + for (__i = 0; __i < ARRAY_SIZE(state); __i++) \ + nv_wr32(dev, NV10_PGRAPH_PIPE_DATA, state[__i]); \ + } while (0) + +static void nv10_graph_save_pipe(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct graph_state *pgraph_ctx = chan->pgraph_ctx; + struct pipe_state *pipe = &pgraph_ctx->pipe_state; + + PIPE_SAVE(dev, pipe->pipe_0x4400, 0x4400); + PIPE_SAVE(dev, pipe->pipe_0x0200, 0x0200); + PIPE_SAVE(dev, pipe->pipe_0x6400, 0x6400); + PIPE_SAVE(dev, pipe->pipe_0x6800, 0x6800); + PIPE_SAVE(dev, pipe->pipe_0x6c00, 0x6c00); + PIPE_SAVE(dev, pipe->pipe_0x7000, 0x7000); + PIPE_SAVE(dev, pipe->pipe_0x7400, 0x7400); + PIPE_SAVE(dev, pipe->pipe_0x7800, 0x7800); + PIPE_SAVE(dev, pipe->pipe_0x0040, 0x0040); + PIPE_SAVE(dev, pipe->pipe_0x0000, 0x0000); +} + +static void nv10_graph_load_pipe(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct graph_state *pgraph_ctx = chan->pgraph_ctx; + struct pipe_state *pipe = &pgraph_ctx->pipe_state; + uint32_t xfmode0, xfmode1; + int i; + + nouveau_wait_for_idle(dev); + /* XXX check haiku comments */ + xfmode0 = nv_rd32(dev, NV10_PGRAPH_XFMODE0); + xfmode1 = nv_rd32(dev, NV10_PGRAPH_XFMODE1); + nv_wr32(dev, NV10_PGRAPH_XFMODE0, 0x10000000); + nv_wr32(dev, NV10_PGRAPH_XFMODE1, 0x00000000); + nv_wr32(dev, NV10_PGRAPH_PIPE_ADDRESS, 0x000064c0); + for (i = 0; i < 4; i++) + nv_wr32(dev, NV10_PGRAPH_PIPE_DATA, 0x3f800000); + for (i = 0; i < 4; i++) + nv_wr32(dev, NV10_PGRAPH_PIPE_DATA, 0x00000000); + + nv_wr32(dev, NV10_PGRAPH_PIPE_ADDRESS, 0x00006ab0); + for (i = 0; i < 3; i++) + nv_wr32(dev, NV10_PGRAPH_PIPE_DATA, 0x3f800000); + + nv_wr32(dev, NV10_PGRAPH_PIPE_ADDRESS, 0x00006a80); + for (i = 0; i < 3; i++) + nv_wr32(dev, NV10_PGRAPH_PIPE_DATA, 0x00000000); + + nv_wr32(dev, NV10_PGRAPH_PIPE_ADDRESS, 0x00000040); + nv_wr32(dev, NV10_PGRAPH_PIPE_DATA, 0x00000008); + + + PIPE_RESTORE(dev, pipe->pipe_0x0200, 0x0200); + nouveau_wait_for_idle(dev); + + /* restore XFMODE */ + nv_wr32(dev, NV10_PGRAPH_XFMODE0, xfmode0); + nv_wr32(dev, NV10_PGRAPH_XFMODE1, xfmode1); + PIPE_RESTORE(dev, pipe->pipe_0x6400, 0x6400); + PIPE_RESTORE(dev, pipe->pipe_0x6800, 0x6800); + PIPE_RESTORE(dev, pipe->pipe_0x6c00, 0x6c00); + PIPE_RESTORE(dev, pipe->pipe_0x7000, 0x7000); + PIPE_RESTORE(dev, pipe->pipe_0x7400, 0x7400); + PIPE_RESTORE(dev, pipe->pipe_0x7800, 0x7800); + PIPE_RESTORE(dev, pipe->pipe_0x4400, 0x4400); + PIPE_RESTORE(dev, pipe->pipe_0x0000, 0x0000); + PIPE_RESTORE(dev, pipe->pipe_0x0040, 0x0040); + nouveau_wait_for_idle(dev); +} + +static void nv10_graph_create_pipe(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct graph_state *pgraph_ctx = chan->pgraph_ctx; + struct pipe_state *fifo_pipe_state = &pgraph_ctx->pipe_state; + uint32_t *fifo_pipe_state_addr; + int i; +#define PIPE_INIT(addr) \ + do { \ + fifo_pipe_state_addr = fifo_pipe_state->pipe_##addr; \ + } while (0) +#define PIPE_INIT_END(addr) \ + do { \ + uint32_t *__end_addr = fifo_pipe_state->pipe_##addr + \ + ARRAY_SIZE(fifo_pipe_state->pipe_##addr); \ + if (fifo_pipe_state_addr != __end_addr) \ + NV_ERROR(dev, "incomplete pipe init for 0x%x : %p/%p\n", \ + addr, fifo_pipe_state_addr, __end_addr); \ + } while (0) +#define NV_WRITE_PIPE_INIT(value) *(fifo_pipe_state_addr++) = value + + PIPE_INIT(0x0200); + for (i = 0; i < 48; i++) + NV_WRITE_PIPE_INIT(0x00000000); + PIPE_INIT_END(0x0200); + + PIPE_INIT(0x6400); + for (i = 0; i < 211; i++) + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x3f800000); + NV_WRITE_PIPE_INIT(0x40000000); + NV_WRITE_PIPE_INIT(0x40000000); + NV_WRITE_PIPE_INIT(0x40000000); + NV_WRITE_PIPE_INIT(0x40000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x3f800000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x3f000000); + NV_WRITE_PIPE_INIT(0x3f000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x3f800000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x3f800000); + NV_WRITE_PIPE_INIT(0x3f800000); + NV_WRITE_PIPE_INIT(0x3f800000); + NV_WRITE_PIPE_INIT(0x3f800000); + PIPE_INIT_END(0x6400); + + PIPE_INIT(0x6800); + for (i = 0; i < 162; i++) + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x3f800000); + for (i = 0; i < 25; i++) + NV_WRITE_PIPE_INIT(0x00000000); + PIPE_INIT_END(0x6800); + + PIPE_INIT(0x6c00); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0xbf800000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + PIPE_INIT_END(0x6c00); + + PIPE_INIT(0x7000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x7149f2ca); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x7149f2ca); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x7149f2ca); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x7149f2ca); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x7149f2ca); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x7149f2ca); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x7149f2ca); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x00000000); + NV_WRITE_PIPE_INIT(0x7149f2ca); + for (i = 0; i < 35; i++) + NV_WRITE_PIPE_INIT(0x00000000); + PIPE_INIT_END(0x7000); + + PIPE_INIT(0x7400); + for (i = 0; i < 48; i++) + NV_WRITE_PIPE_INIT(0x00000000); + PIPE_INIT_END(0x7400); + + PIPE_INIT(0x7800); + for (i = 0; i < 48; i++) + NV_WRITE_PIPE_INIT(0x00000000); + PIPE_INIT_END(0x7800); + + PIPE_INIT(0x4400); + for (i = 0; i < 32; i++) + NV_WRITE_PIPE_INIT(0x00000000); + PIPE_INIT_END(0x4400); + + PIPE_INIT(0x0000); + for (i = 0; i < 16; i++) + NV_WRITE_PIPE_INIT(0x00000000); + PIPE_INIT_END(0x0000); + + PIPE_INIT(0x0040); + for (i = 0; i < 4; i++) + NV_WRITE_PIPE_INIT(0x00000000); + PIPE_INIT_END(0x0040); + +#undef PIPE_INIT +#undef PIPE_INIT_END +#undef NV_WRITE_PIPE_INIT +} + +static int nv10_graph_ctx_regs_find_offset(struct drm_device *dev, int reg) +{ + int i; + for (i = 0; i < ARRAY_SIZE(nv10_graph_ctx_regs); i++) { + if (nv10_graph_ctx_regs[i] == reg) + return i; + } + NV_ERROR(dev, "unknow offset nv10_ctx_regs %d\n", reg); + return -1; +} + +static int nv17_graph_ctx_regs_find_offset(struct drm_device *dev, int reg) +{ + int i; + for (i = 0; i < ARRAY_SIZE(nv17_graph_ctx_regs); i++) { + if (nv17_graph_ctx_regs[i] == reg) + return i; + } + NV_ERROR(dev, "unknow offset nv17_ctx_regs %d\n", reg); + return -1; +} + +int nv10_graph_load_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct graph_state *pgraph_ctx = chan->pgraph_ctx; + uint32_t tmp; + int i; + + for (i = 0; i < ARRAY_SIZE(nv10_graph_ctx_regs); i++) + nv_wr32(dev, nv10_graph_ctx_regs[i], pgraph_ctx->nv10[i]); + if (dev_priv->chipset >= 0x17) { + for (i = 0; i < ARRAY_SIZE(nv17_graph_ctx_regs); i++) + nv_wr32(dev, nv17_graph_ctx_regs[i], + pgraph_ctx->nv17[i]); + } + + nv10_graph_load_pipe(chan); + + nv_wr32(dev, NV10_PGRAPH_CTX_CONTROL, 0x10010100); + tmp = nv_rd32(dev, NV10_PGRAPH_CTX_USER); + nv_wr32(dev, NV10_PGRAPH_CTX_USER, (tmp & 0xffffff) | chan->id << 24); + tmp = nv_rd32(dev, NV10_PGRAPH_FFINTFC_ST2); + nv_wr32(dev, NV10_PGRAPH_FFINTFC_ST2, tmp & 0xcfffffff); + return 0; +} + +int +nv10_graph_unload_context(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_pgraph_engine *pgraph = &dev_priv->engine.graph; + struct nouveau_fifo_engine *pfifo = &dev_priv->engine.fifo; + struct nouveau_channel *chan; + struct graph_state *ctx; + uint32_t tmp; + int i; + + chan = pgraph->channel(dev); + if (!chan) + return 0; + ctx = chan->pgraph_ctx; + + for (i = 0; i < ARRAY_SIZE(nv10_graph_ctx_regs); i++) + ctx->nv10[i] = nv_rd32(dev, nv10_graph_ctx_regs[i]); + + if (dev_priv->chipset >= 0x17) { + for (i = 0; i < ARRAY_SIZE(nv17_graph_ctx_regs); i++) + ctx->nv17[i] = nv_rd32(dev, nv17_graph_ctx_regs[i]); + } + + nv10_graph_save_pipe(chan); + + nv_wr32(dev, NV10_PGRAPH_CTX_CONTROL, 0x10000000); + tmp = nv_rd32(dev, NV10_PGRAPH_CTX_USER) & 0x00ffffff; + tmp |= (pfifo->channels - 1) << 24; + nv_wr32(dev, NV10_PGRAPH_CTX_USER, tmp); + return 0; +} + +void +nv10_graph_context_switch(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_pgraph_engine *pgraph = &dev_priv->engine.graph; + struct nouveau_channel *chan = NULL; + int chid; + + pgraph->fifo_access(dev, false); + nouveau_wait_for_idle(dev); + + /* If previous context is valid, we need to save it */ + nv10_graph_unload_context(dev); + + /* Load context for next channel */ + chid = (nv_rd32(dev, NV04_PGRAPH_TRAPPED_ADDR) >> 20) & 0x1f; + chan = dev_priv->fifos[chid]; + if (chan) + nv10_graph_load_context(chan); + + pgraph->fifo_access(dev, true); +} + +#define NV_WRITE_CTX(reg, val) do { \ + int offset = nv10_graph_ctx_regs_find_offset(dev, reg); \ + if (offset > 0) \ + pgraph_ctx->nv10[offset] = val; \ + } while (0) + +#define NV17_WRITE_CTX(reg, val) do { \ + int offset = nv17_graph_ctx_regs_find_offset(dev, reg); \ + if (offset > 0) \ + pgraph_ctx->nv17[offset] = val; \ + } while (0) + +struct nouveau_channel * +nv10_graph_channel(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + int chid = dev_priv->engine.fifo.channels; + + if (nv_rd32(dev, NV10_PGRAPH_CTX_CONTROL) & 0x00010000) + chid = nv_rd32(dev, NV10_PGRAPH_CTX_USER) >> 24; + + if (chid >= dev_priv->engine.fifo.channels) + return NULL; + + return dev_priv->fifos[chid]; +} + +int nv10_graph_create_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct graph_state *pgraph_ctx; + + NV_DEBUG(dev, "nv10_graph_context_create %d\n", chan->id); + + chan->pgraph_ctx = pgraph_ctx = kzalloc(sizeof(*pgraph_ctx), + GFP_KERNEL); + if (pgraph_ctx == NULL) + return -ENOMEM; + + + NV_WRITE_CTX(0x00400e88, 0x08000000); + NV_WRITE_CTX(0x00400e9c, 0x4b7fffff); + NV_WRITE_CTX(NV03_PGRAPH_XY_LOGIC_MISC0, 0x0001ffff); + NV_WRITE_CTX(0x00400e10, 0x00001000); + NV_WRITE_CTX(0x00400e14, 0x00001000); + NV_WRITE_CTX(0x00400e30, 0x00080008); + NV_WRITE_CTX(0x00400e34, 0x00080008); + if (dev_priv->chipset >= 0x17) { + /* is it really needed ??? */ + NV17_WRITE_CTX(NV10_PGRAPH_DEBUG_4, + nv_rd32(dev, NV10_PGRAPH_DEBUG_4)); + NV17_WRITE_CTX(0x004006b0, nv_rd32(dev, 0x004006b0)); + NV17_WRITE_CTX(0x00400eac, 0x0fff0000); + NV17_WRITE_CTX(0x00400eb0, 0x0fff0000); + NV17_WRITE_CTX(0x00400ec0, 0x00000080); + NV17_WRITE_CTX(0x00400ed0, 0x00000080); + } + NV_WRITE_CTX(NV10_PGRAPH_CTX_USER, chan->id << 24); + + nv10_graph_create_pipe(chan); + return 0; +} + +void nv10_graph_destroy_context(struct nouveau_channel *chan) +{ + struct graph_state *pgraph_ctx = chan->pgraph_ctx; + + kfree(pgraph_ctx); + chan->pgraph_ctx = NULL; +} + +void +nv10_graph_set_region_tiling(struct drm_device *dev, int i, uint32_t addr, + uint32_t size, uint32_t pitch) +{ + uint32_t limit = max(1u, addr + size) - 1; + + if (pitch) + addr |= 1 << 31; + + nv_wr32(dev, NV10_PGRAPH_TLIMIT(i), limit); + nv_wr32(dev, NV10_PGRAPH_TSIZE(i), pitch); + nv_wr32(dev, NV10_PGRAPH_TILE(i), addr); +} + +int nv10_graph_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t tmp; + int i; + + nv_wr32(dev, NV03_PMC_ENABLE, nv_rd32(dev, NV03_PMC_ENABLE) & + ~NV_PMC_ENABLE_PGRAPH); + nv_wr32(dev, NV03_PMC_ENABLE, nv_rd32(dev, NV03_PMC_ENABLE) | + NV_PMC_ENABLE_PGRAPH); + + nv_wr32(dev, NV03_PGRAPH_INTR , 0xFFFFFFFF); + nv_wr32(dev, NV03_PGRAPH_INTR_EN, 0xFFFFFFFF); + + nv_wr32(dev, NV04_PGRAPH_DEBUG_0, 0xFFFFFFFF); + nv_wr32(dev, NV04_PGRAPH_DEBUG_0, 0x00000000); + nv_wr32(dev, NV04_PGRAPH_DEBUG_1, 0x00118700); + /* nv_wr32(dev, NV04_PGRAPH_DEBUG_2, 0x24E00810); */ /* 0x25f92ad9 */ + nv_wr32(dev, NV04_PGRAPH_DEBUG_2, 0x25f92ad9); + nv_wr32(dev, NV04_PGRAPH_DEBUG_3, 0x55DE0830 | + (1<<29) | + (1<<31)); + if (dev_priv->chipset >= 0x17) { + nv_wr32(dev, NV10_PGRAPH_DEBUG_4, 0x1f000000); + nv_wr32(dev, 0x400a10, 0x3ff3fb6); + nv_wr32(dev, 0x400838, 0x2f8684); + nv_wr32(dev, 0x40083c, 0x115f3f); + nv_wr32(dev, 0x004006b0, 0x40000020); + } else + nv_wr32(dev, NV10_PGRAPH_DEBUG_4, 0x00000000); + + /* Turn all the tiling regions off. */ + for (i = 0; i < NV10_PFB_TILE__SIZE; i++) + nv10_graph_set_region_tiling(dev, i, 0, 0, 0); + + nv_wr32(dev, NV10_PGRAPH_CTX_SWITCH1, 0x00000000); + nv_wr32(dev, NV10_PGRAPH_CTX_SWITCH2, 0x00000000); + nv_wr32(dev, NV10_PGRAPH_CTX_SWITCH3, 0x00000000); + nv_wr32(dev, NV10_PGRAPH_CTX_SWITCH4, 0x00000000); + nv_wr32(dev, NV10_PGRAPH_STATE , 0xFFFFFFFF); + + tmp = nv_rd32(dev, NV10_PGRAPH_CTX_USER) & 0x00ffffff; + tmp |= (dev_priv->engine.fifo.channels - 1) << 24; + nv_wr32(dev, NV10_PGRAPH_CTX_USER, tmp); + nv_wr32(dev, NV10_PGRAPH_CTX_CONTROL, 0x10000100); + nv_wr32(dev, NV10_PGRAPH_FFINTFC_ST2, 0x08000000); + + return 0; +} + +void nv10_graph_takedown(struct drm_device *dev) +{ +} + +static int +nv17_graph_mthd_lma_window(struct nouveau_channel *chan, int grclass, + int mthd, uint32_t data) +{ + struct drm_device *dev = chan->dev; + struct graph_state *ctx = chan->pgraph_ctx; + struct pipe_state *pipe = &ctx->pipe_state; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_pgraph_engine *pgraph = &dev_priv->engine.graph; + uint32_t pipe_0x0040[1], pipe_0x64c0[8], pipe_0x6a80[3], pipe_0x6ab0[3]; + uint32_t xfmode0, xfmode1; + int i; + + ctx->lma_window[(mthd - 0x1638) / 4] = data; + + if (mthd != 0x1644) + return 0; + + nouveau_wait_for_idle(dev); + + PIPE_SAVE(dev, pipe_0x0040, 0x0040); + PIPE_SAVE(dev, pipe->pipe_0x0200, 0x0200); + + PIPE_RESTORE(dev, ctx->lma_window, 0x6790); + + nouveau_wait_for_idle(dev); + + xfmode0 = nv_rd32(dev, NV10_PGRAPH_XFMODE0); + xfmode1 = nv_rd32(dev, NV10_PGRAPH_XFMODE1); + + PIPE_SAVE(dev, pipe->pipe_0x4400, 0x4400); + PIPE_SAVE(dev, pipe_0x64c0, 0x64c0); + PIPE_SAVE(dev, pipe_0x6ab0, 0x6ab0); + PIPE_SAVE(dev, pipe_0x6a80, 0x6a80); + + nouveau_wait_for_idle(dev); + + nv_wr32(dev, NV10_PGRAPH_XFMODE0, 0x10000000); + nv_wr32(dev, NV10_PGRAPH_XFMODE1, 0x00000000); + nv_wr32(dev, NV10_PGRAPH_PIPE_ADDRESS, 0x000064c0); + for (i = 0; i < 4; i++) + nv_wr32(dev, NV10_PGRAPH_PIPE_DATA, 0x3f800000); + for (i = 0; i < 4; i++) + nv_wr32(dev, NV10_PGRAPH_PIPE_DATA, 0x00000000); + + nv_wr32(dev, NV10_PGRAPH_PIPE_ADDRESS, 0x00006ab0); + for (i = 0; i < 3; i++) + nv_wr32(dev, NV10_PGRAPH_PIPE_DATA, 0x3f800000); + + nv_wr32(dev, NV10_PGRAPH_PIPE_ADDRESS, 0x00006a80); + for (i = 0; i < 3; i++) + nv_wr32(dev, NV10_PGRAPH_PIPE_DATA, 0x00000000); + + nv_wr32(dev, NV10_PGRAPH_PIPE_ADDRESS, 0x00000040); + nv_wr32(dev, NV10_PGRAPH_PIPE_DATA, 0x00000008); + + PIPE_RESTORE(dev, pipe->pipe_0x0200, 0x0200); + + nouveau_wait_for_idle(dev); + + PIPE_RESTORE(dev, pipe_0x0040, 0x0040); + + nv_wr32(dev, NV10_PGRAPH_XFMODE0, xfmode0); + nv_wr32(dev, NV10_PGRAPH_XFMODE1, xfmode1); + + PIPE_RESTORE(dev, pipe_0x64c0, 0x64c0); + PIPE_RESTORE(dev, pipe_0x6ab0, 0x6ab0); + PIPE_RESTORE(dev, pipe_0x6a80, 0x6a80); + PIPE_RESTORE(dev, pipe->pipe_0x4400, 0x4400); + + nv_wr32(dev, NV10_PGRAPH_PIPE_ADDRESS, 0x000000c0); + nv_wr32(dev, NV10_PGRAPH_PIPE_DATA, 0x00000000); + + nouveau_wait_for_idle(dev); + + pgraph->fifo_access(dev, true); + + return 0; +} + +static int +nv17_graph_mthd_lma_enable(struct nouveau_channel *chan, int grclass, + int mthd, uint32_t data) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_pgraph_engine *pgraph = &dev_priv->engine.graph; + + nouveau_wait_for_idle(dev); + + nv_wr32(dev, NV10_PGRAPH_DEBUG_4, + nv_rd32(dev, NV10_PGRAPH_DEBUG_4) | 0x1 << 8); + nv_wr32(dev, 0x004006b0, + nv_rd32(dev, 0x004006b0) | 0x8 << 24); + + pgraph->fifo_access(dev, true); + + return 0; +} + +static struct nouveau_pgraph_object_method nv17_graph_celsius_mthds[] = { + { 0x1638, nv17_graph_mthd_lma_window }, + { 0x163c, nv17_graph_mthd_lma_window }, + { 0x1640, nv17_graph_mthd_lma_window }, + { 0x1644, nv17_graph_mthd_lma_window }, + { 0x1658, nv17_graph_mthd_lma_enable }, + {} +}; + +struct nouveau_pgraph_object_class nv10_graph_grclass[] = { + { 0x0030, false, NULL }, /* null */ + { 0x0039, false, NULL }, /* m2mf */ + { 0x004a, false, NULL }, /* gdirect */ + { 0x005f, false, NULL }, /* imageblit */ + { 0x009f, false, NULL }, /* imageblit (nv12) */ + { 0x008a, false, NULL }, /* ifc */ + { 0x0089, false, NULL }, /* sifm */ + { 0x0062, false, NULL }, /* surf2d */ + { 0x0043, false, NULL }, /* rop */ + { 0x0012, false, NULL }, /* beta1 */ + { 0x0072, false, NULL }, /* beta4 */ + { 0x0019, false, NULL }, /* cliprect */ + { 0x0044, false, NULL }, /* pattern */ + { 0x0052, false, NULL }, /* swzsurf */ + { 0x0093, false, NULL }, /* surf3d */ + { 0x0094, false, NULL }, /* tex_tri */ + { 0x0095, false, NULL }, /* multitex_tri */ + { 0x0056, false, NULL }, /* celcius (nv10) */ + { 0x0096, false, NULL }, /* celcius (nv11) */ + { 0x0099, false, nv17_graph_celsius_mthds }, /* celcius (nv17) */ + {} +}; --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv17_gpio.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv17_gpio.c @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2009 Francisco Jerez. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "nouveau_drv.h" +#include "nouveau_hw.h" + +static bool +get_gpio_location(struct dcb_gpio_entry *ent, uint32_t *reg, uint32_t *shift, + uint32_t *mask) +{ + if (ent->line < 2) { + *reg = NV_PCRTC_GPIO; + *shift = ent->line * 16; + *mask = 0x11; + + } else if (ent->line < 10) { + *reg = NV_PCRTC_GPIO_EXT; + *shift = (ent->line - 2) * 4; + *mask = 0x3; + + } else if (ent->line < 14) { + *reg = NV_PCRTC_850; + *shift = (ent->line - 10) * 4; + *mask = 0x3; + + } else { + return false; + } + + return true; +} + +int +nv17_gpio_get(struct drm_device *dev, enum dcb_gpio_tag tag) +{ + struct dcb_gpio_entry *ent = nouveau_bios_gpio_entry(dev, tag); + uint32_t reg, shift, mask, value; + + if (!ent) + return -ENODEV; + + if (!get_gpio_location(ent, ®, &shift, &mask)) + return -ENODEV; + + value = NVReadCRTC(dev, 0, reg) >> shift; + + return (ent->invert ? 1 : 0) ^ (value & 1); +} + +int +nv17_gpio_set(struct drm_device *dev, enum dcb_gpio_tag tag, int state) +{ + struct dcb_gpio_entry *ent = nouveau_bios_gpio_entry(dev, tag); + uint32_t reg, shift, mask, value; + + if (!ent) + return -ENODEV; + + if (!get_gpio_location(ent, ®, &shift, &mask)) + return -ENODEV; + + value = ((ent->invert ? 1 : 0) ^ (state ? 1 : 0)) << shift; + mask = ~(mask << shift); + + NVWriteCRTC(dev, 0, reg, value | (NVReadCRTC(dev, 0, reg) & mask)); + + return 0; +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv17_tv.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv17_tv.c @@ -0,0 +1,778 @@ +/* + * Copyright (C) 2009 Francisco Jerez. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "drm_crtc_helper.h" +#include "nouveau_drv.h" +#include "nouveau_encoder.h" +#include "nouveau_connector.h" +#include "nouveau_crtc.h" +#include "nouveau_hw.h" +#include "nv17_tv.h" + +static uint32_t nv42_tv_sample_load(struct drm_encoder *encoder) +{ + struct drm_device *dev = encoder->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t testval, regoffset = nv04_dac_output_offset(encoder); + uint32_t gpio0, gpio1, fp_htotal, fp_hsync_start, fp_hsync_end, + fp_control, test_ctrl, dacclk, ctv_14, ctv_1c, ctv_6c; + uint32_t sample = 0; + int head; + +#define RGB_TEST_DATA(r, g, b) (r << 0 | g << 10 | b << 20) + testval = RGB_TEST_DATA(0x82, 0xeb, 0x82); + if (dev_priv->vbios->tvdactestval) + testval = dev_priv->vbios->tvdactestval; + + dacclk = NVReadRAMDAC(dev, 0, NV_PRAMDAC_DACCLK + regoffset); + head = (dacclk & 0x100) >> 8; + + /* Save the previous state. */ + gpio1 = nv17_gpio_get(dev, DCB_GPIO_TVDAC1); + gpio0 = nv17_gpio_get(dev, DCB_GPIO_TVDAC0); + fp_htotal = NVReadRAMDAC(dev, head, NV_PRAMDAC_FP_HTOTAL); + fp_hsync_start = NVReadRAMDAC(dev, head, NV_PRAMDAC_FP_HSYNC_START); + fp_hsync_end = NVReadRAMDAC(dev, head, NV_PRAMDAC_FP_HSYNC_END); + fp_control = NVReadRAMDAC(dev, head, NV_PRAMDAC_FP_TG_CONTROL); + test_ctrl = NVReadRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + regoffset); + ctv_1c = NVReadRAMDAC(dev, head, 0x680c1c); + ctv_14 = NVReadRAMDAC(dev, head, 0x680c14); + ctv_6c = NVReadRAMDAC(dev, head, 0x680c6c); + + /* Prepare the DAC for load detection. */ + nv17_gpio_set(dev, DCB_GPIO_TVDAC1, true); + nv17_gpio_set(dev, DCB_GPIO_TVDAC0, true); + + NVWriteRAMDAC(dev, head, NV_PRAMDAC_FP_HTOTAL, 1343); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_FP_HSYNC_START, 1047); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_FP_HSYNC_END, 1183); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_FP_TG_CONTROL, + NV_PRAMDAC_FP_TG_CONTROL_DISPEN_POS | + NV_PRAMDAC_FP_TG_CONTROL_WIDTH_12 | + NV_PRAMDAC_FP_TG_CONTROL_READ_PROG | + NV_PRAMDAC_FP_TG_CONTROL_HSYNC_POS | + NV_PRAMDAC_FP_TG_CONTROL_VSYNC_POS); + + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + regoffset, 0); + + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_DACCLK + regoffset, + (dacclk & ~0xff) | 0x22); + msleep(1); + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_DACCLK + regoffset, + (dacclk & ~0xff) | 0x21); + + NVWriteRAMDAC(dev, head, 0x680c1c, 1 << 20); + NVWriteRAMDAC(dev, head, 0x680c14, 4 << 16); + + /* Sample pin 0x4 (usually S-video luma). */ + NVWriteRAMDAC(dev, head, 0x680c6c, testval >> 10 & 0x3ff); + msleep(20); + sample |= NVReadRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + regoffset) + & 0x4 << 28; + + /* Sample the remaining pins. */ + NVWriteRAMDAC(dev, head, 0x680c6c, testval & 0x3ff); + msleep(20); + sample |= NVReadRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + regoffset) + & 0xa << 28; + + /* Restore the previous state. */ + NVWriteRAMDAC(dev, head, 0x680c1c, ctv_1c); + NVWriteRAMDAC(dev, head, 0x680c14, ctv_14); + NVWriteRAMDAC(dev, head, 0x680c6c, ctv_6c); + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_DACCLK + regoffset, dacclk); + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + regoffset, test_ctrl); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_FP_TG_CONTROL, fp_control); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_FP_HSYNC_END, fp_hsync_end); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_FP_HSYNC_START, fp_hsync_start); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_FP_HTOTAL, fp_htotal); + nv17_gpio_set(dev, DCB_GPIO_TVDAC1, gpio1); + nv17_gpio_set(dev, DCB_GPIO_TVDAC0, gpio0); + + return sample; +} + +static enum drm_connector_status +nv17_tv_detect(struct drm_encoder *encoder, struct drm_connector *connector) +{ + struct drm_device *dev = encoder->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct drm_mode_config *conf = &dev->mode_config; + struct nv17_tv_encoder *tv_enc = to_tv_enc(encoder); + struct dcb_entry *dcb = tv_enc->base.dcb; + + if (dev_priv->chipset == 0x42 || + dev_priv->chipset == 0x43) + tv_enc->pin_mask = nv42_tv_sample_load(encoder) >> 28 & 0xe; + else + tv_enc->pin_mask = nv17_dac_sample_load(encoder) >> 28 & 0xe; + + switch (tv_enc->pin_mask) { + case 0x2: + case 0x4: + tv_enc->subconnector = DRM_MODE_SUBCONNECTOR_Composite; + break; + case 0xc: + tv_enc->subconnector = DRM_MODE_SUBCONNECTOR_SVIDEO; + break; + case 0xe: + if (dcb->tvconf.has_component_output) + tv_enc->subconnector = DRM_MODE_SUBCONNECTOR_Component; + else + tv_enc->subconnector = DRM_MODE_SUBCONNECTOR_SCART; + break; + default: + tv_enc->subconnector = DRM_MODE_SUBCONNECTOR_Unknown; + break; + } + + drm_connector_property_set_value(connector, + conf->tv_subconnector_property, + tv_enc->subconnector); + + if (tv_enc->subconnector) { + NV_INFO(dev, "Load detected on output %c\n", + '@' + ffs(dcb->or)); + return connector_status_connected; + } else { + return connector_status_disconnected; + } +} + +static const struct { + int hdisplay; + int vdisplay; +} modes[] = { + { 640, 400 }, + { 640, 480 }, + { 720, 480 }, + { 720, 576 }, + { 800, 600 }, + { 1024, 768 }, + { 1280, 720 }, + { 1280, 1024 }, + { 1920, 1080 } +}; + +static int nv17_tv_get_modes(struct drm_encoder *encoder, + struct drm_connector *connector) +{ + struct nv17_tv_norm_params *tv_norm = get_tv_norm(encoder); + struct drm_display_mode *mode; + struct drm_display_mode *output_mode; + int n = 0; + int i; + + if (tv_norm->kind != CTV_ENC_MODE) { + struct drm_display_mode *tv_mode; + + for (tv_mode = nv17_tv_modes; tv_mode->hdisplay; tv_mode++) { + mode = drm_mode_duplicate(encoder->dev, tv_mode); + + mode->clock = tv_norm->tv_enc_mode.vrefresh * + mode->htotal / 1000 * + mode->vtotal / 1000; + + if (mode->flags & DRM_MODE_FLAG_DBLSCAN) + mode->clock *= 2; + + if (mode->hdisplay == tv_norm->tv_enc_mode.hdisplay && + mode->vdisplay == tv_norm->tv_enc_mode.vdisplay) + mode->type |= DRM_MODE_TYPE_PREFERRED; + + drm_mode_probed_add(connector, mode); + n++; + } + return n; + } + + /* tv_norm->kind == CTV_ENC_MODE */ + output_mode = &tv_norm->ctv_enc_mode.mode; + for (i = 0; i < ARRAY_SIZE(modes); i++) { + if (modes[i].hdisplay > output_mode->hdisplay || + modes[i].vdisplay > output_mode->vdisplay) + continue; + + if (modes[i].hdisplay == output_mode->hdisplay && + modes[i].vdisplay == output_mode->vdisplay) { + mode = drm_mode_duplicate(encoder->dev, output_mode); + mode->type |= DRM_MODE_TYPE_PREFERRED; + } else { + mode = drm_cvt_mode(encoder->dev, modes[i].hdisplay, + modes[i].vdisplay, 60, false, + output_mode->flags & DRM_MODE_FLAG_INTERLACE, + false); + } + + /* CVT modes are sometimes unsuitable... */ + if (output_mode->hdisplay <= 720 + || output_mode->hdisplay >= 1920) { + mode->htotal = output_mode->htotal; + mode->hsync_start = (mode->hdisplay + (mode->htotal + - mode->hdisplay) * 9 / 10) & ~7; + mode->hsync_end = mode->hsync_start + 8; + } + if (output_mode->vdisplay >= 1024) { + mode->vtotal = output_mode->vtotal; + mode->vsync_start = output_mode->vsync_start; + mode->vsync_end = output_mode->vsync_end; + } + + mode->type |= DRM_MODE_TYPE_DRIVER; + drm_mode_probed_add(connector, mode); + n++; + } + return n; +} + +static int nv17_tv_mode_valid(struct drm_encoder *encoder, + struct drm_display_mode *mode) +{ + struct nv17_tv_norm_params *tv_norm = get_tv_norm(encoder); + + if (tv_norm->kind == CTV_ENC_MODE) { + struct drm_display_mode *output_mode = + &tv_norm->ctv_enc_mode.mode; + + if (mode->clock > 400000) + return MODE_CLOCK_HIGH; + + if (mode->hdisplay > output_mode->hdisplay || + mode->vdisplay > output_mode->vdisplay) + return MODE_BAD; + + if ((mode->flags & DRM_MODE_FLAG_INTERLACE) != + (output_mode->flags & DRM_MODE_FLAG_INTERLACE)) + return MODE_NO_INTERLACE; + + if (mode->flags & DRM_MODE_FLAG_DBLSCAN) + return MODE_NO_DBLESCAN; + + } else { + const int vsync_tolerance = 600; + + if (mode->clock > 70000) + return MODE_CLOCK_HIGH; + + if (abs(drm_mode_vrefresh(mode) * 1000 - + tv_norm->tv_enc_mode.vrefresh) > vsync_tolerance) + return MODE_VSYNC; + + /* The encoder takes care of the actual interlacing */ + if (mode->flags & DRM_MODE_FLAG_INTERLACE) + return MODE_NO_INTERLACE; + } + + return MODE_OK; +} + +static bool nv17_tv_mode_fixup(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct nv17_tv_norm_params *tv_norm = get_tv_norm(encoder); + + if (tv_norm->kind == CTV_ENC_MODE) + adjusted_mode->clock = tv_norm->ctv_enc_mode.mode.clock; + else + adjusted_mode->clock = 90000; + + return true; +} + +static void nv17_tv_dpms(struct drm_encoder *encoder, int mode) +{ + struct drm_device *dev = encoder->dev; + struct nv17_tv_state *regs = &to_tv_enc(encoder)->state; + struct nv17_tv_norm_params *tv_norm = get_tv_norm(encoder); + + if (nouveau_encoder(encoder)->last_dpms == mode) + return; + nouveau_encoder(encoder)->last_dpms = mode; + + NV_INFO(dev, "Setting dpms mode %d on TV encoder (output %d)\n", + mode, nouveau_encoder(encoder)->dcb->index); + + regs->ptv_200 &= ~1; + + if (tv_norm->kind == CTV_ENC_MODE) { + nv04_dfp_update_fp_control(encoder, mode); + + } else { + nv04_dfp_update_fp_control(encoder, DRM_MODE_DPMS_OFF); + + if (mode == DRM_MODE_DPMS_ON) + regs->ptv_200 |= 1; + } + + nv_load_ptv(dev, regs, 200); + + nv17_gpio_set(dev, DCB_GPIO_TVDAC1, mode == DRM_MODE_DPMS_ON); + nv17_gpio_set(dev, DCB_GPIO_TVDAC0, mode == DRM_MODE_DPMS_ON); + + nv04_dac_update_dacclk(encoder, mode == DRM_MODE_DPMS_ON); +} + +static void nv17_tv_prepare(struct drm_encoder *encoder) +{ + struct drm_device *dev = encoder->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct drm_encoder_helper_funcs *helper = encoder->helper_private; + struct nv17_tv_norm_params *tv_norm = get_tv_norm(encoder); + int head = nouveau_crtc(encoder->crtc)->index; + uint8_t *cr_lcd = &dev_priv->mode_reg.crtc_reg[head].CRTC[ + NV_CIO_CRE_LCD__INDEX]; + uint32_t dacclk_off = NV_PRAMDAC_DACCLK + + nv04_dac_output_offset(encoder); + uint32_t dacclk; + + helper->dpms(encoder, DRM_MODE_DPMS_OFF); + + nv04_dfp_disable(dev, head); + + /* Unbind any FP encoders from this head if we need the FP + * stuff enabled. */ + if (tv_norm->kind == CTV_ENC_MODE) { + struct drm_encoder *enc; + + list_for_each_entry(enc, &dev->mode_config.encoder_list, head) { + struct dcb_entry *dcb = nouveau_encoder(enc)->dcb; + + if ((dcb->type == OUTPUT_TMDS || + dcb->type == OUTPUT_LVDS) && + !enc->crtc && + nv04_dfp_get_bound_head(dev, dcb) == head) { + nv04_dfp_bind_head(dev, dcb, head ^ 1, + dev_priv->VBIOS.fp.dual_link); + } + } + + } + + /* Some NV4x have unknown values (0x3f, 0x50, 0x54, 0x6b, 0x79, 0x7f) + * at LCD__INDEX which we don't alter + */ + if (!(*cr_lcd & 0x44)) { + if (tv_norm->kind == CTV_ENC_MODE) + *cr_lcd = 0x1 | (head ? 0x0 : 0x8); + else + *cr_lcd = 0; + } + + /* Set the DACCLK register */ + dacclk = (NVReadRAMDAC(dev, 0, dacclk_off) & ~0x30) | 0x1; + + if (dev_priv->card_type == NV_40) + dacclk |= 0x1a << 16; + + if (tv_norm->kind == CTV_ENC_MODE) { + dacclk |= 0x20; + + if (head) + dacclk |= 0x100; + else + dacclk &= ~0x100; + + } else { + dacclk |= 0x10; + + } + + NVWriteRAMDAC(dev, 0, dacclk_off, dacclk); +} + +static void nv17_tv_mode_set(struct drm_encoder *encoder, + struct drm_display_mode *drm_mode, + struct drm_display_mode *adjusted_mode) +{ + struct drm_device *dev = encoder->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + int head = nouveau_crtc(encoder->crtc)->index; + struct nv04_crtc_reg *regs = &dev_priv->mode_reg.crtc_reg[head]; + struct nv17_tv_state *tv_regs = &to_tv_enc(encoder)->state; + struct nv17_tv_norm_params *tv_norm = get_tv_norm(encoder); + int i; + + regs->CRTC[NV_CIO_CRE_53] = 0x40; /* FP_HTIMING */ + regs->CRTC[NV_CIO_CRE_54] = 0; /* FP_VTIMING */ + regs->ramdac_630 = 0x2; /* turn off green mode (tv test pattern?) */ + regs->tv_setup = 1; + regs->ramdac_8c0 = 0x0; + + if (tv_norm->kind == TV_ENC_MODE) { + tv_regs->ptv_200 = 0x13111100; + if (head) + tv_regs->ptv_200 |= 0x10; + + tv_regs->ptv_20c = 0x808010; + tv_regs->ptv_304 = 0x2d00000; + tv_regs->ptv_600 = 0x0; + tv_regs->ptv_60c = 0x0; + tv_regs->ptv_610 = 0x1e00000; + + if (tv_norm->tv_enc_mode.vdisplay == 576) { + tv_regs->ptv_508 = 0x1200000; + tv_regs->ptv_614 = 0x33; + + } else if (tv_norm->tv_enc_mode.vdisplay == 480) { + tv_regs->ptv_508 = 0xf00000; + tv_regs->ptv_614 = 0x13; + } + + if (dev_priv->card_type >= NV_30) { + tv_regs->ptv_500 = 0xe8e0; + tv_regs->ptv_504 = 0x1710; + tv_regs->ptv_604 = 0x0; + tv_regs->ptv_608 = 0x0; + } else { + if (tv_norm->tv_enc_mode.vdisplay == 576) { + tv_regs->ptv_604 = 0x20; + tv_regs->ptv_608 = 0x10; + tv_regs->ptv_500 = 0x19710; + tv_regs->ptv_504 = 0x68f0; + + } else if (tv_norm->tv_enc_mode.vdisplay == 480) { + tv_regs->ptv_604 = 0x10; + tv_regs->ptv_608 = 0x20; + tv_regs->ptv_500 = 0x4b90; + tv_regs->ptv_504 = 0x1b480; + } + } + + for (i = 0; i < 0x40; i++) + tv_regs->tv_enc[i] = tv_norm->tv_enc_mode.tv_enc[i]; + + } else { + struct drm_display_mode *output_mode = + &tv_norm->ctv_enc_mode.mode; + + /* The registers in PRAMDAC+0xc00 control some timings and CSC + * parameters for the CTV encoder (It's only used for "HD" TV + * modes, I don't think I have enough working to guess what + * they exactly mean...), it's probably connected at the + * output of the FP encoder, but it also needs the analog + * encoder in its OR enabled and routed to the head it's + * using. It's enabled with the DACCLK register, bits [5:4]. + */ + for (i = 0; i < 38; i++) + regs->ctv_regs[i] = tv_norm->ctv_enc_mode.ctv_regs[i]; + + regs->fp_horiz_regs[FP_DISPLAY_END] = output_mode->hdisplay - 1; + regs->fp_horiz_regs[FP_TOTAL] = output_mode->htotal - 1; + regs->fp_horiz_regs[FP_SYNC_START] = + output_mode->hsync_start - 1; + regs->fp_horiz_regs[FP_SYNC_END] = output_mode->hsync_end - 1; + regs->fp_horiz_regs[FP_CRTC] = output_mode->hdisplay + + max((output_mode->hdisplay-600)/40 - 1, 1); + + regs->fp_vert_regs[FP_DISPLAY_END] = output_mode->vdisplay - 1; + regs->fp_vert_regs[FP_TOTAL] = output_mode->vtotal - 1; + regs->fp_vert_regs[FP_SYNC_START] = + output_mode->vsync_start - 1; + regs->fp_vert_regs[FP_SYNC_END] = output_mode->vsync_end - 1; + regs->fp_vert_regs[FP_CRTC] = output_mode->vdisplay - 1; + + regs->fp_control = NV_PRAMDAC_FP_TG_CONTROL_DISPEN_POS | + NV_PRAMDAC_FP_TG_CONTROL_READ_PROG | + NV_PRAMDAC_FP_TG_CONTROL_WIDTH_12; + + if (output_mode->flags & DRM_MODE_FLAG_PVSYNC) + regs->fp_control |= NV_PRAMDAC_FP_TG_CONTROL_VSYNC_POS; + if (output_mode->flags & DRM_MODE_FLAG_PHSYNC) + regs->fp_control |= NV_PRAMDAC_FP_TG_CONTROL_HSYNC_POS; + + regs->fp_debug_0 = NV_PRAMDAC_FP_DEBUG_0_YWEIGHT_ROUND | + NV_PRAMDAC_FP_DEBUG_0_XWEIGHT_ROUND | + NV_PRAMDAC_FP_DEBUG_0_YINTERP_BILINEAR | + NV_PRAMDAC_FP_DEBUG_0_XINTERP_BILINEAR | + NV_RAMDAC_FP_DEBUG_0_TMDS_ENABLED | + NV_PRAMDAC_FP_DEBUG_0_YSCALE_ENABLE | + NV_PRAMDAC_FP_DEBUG_0_XSCALE_ENABLE; + + regs->fp_debug_2 = 0; + + regs->fp_margin_color = 0x801080; + + } +} + +static void nv17_tv_commit(struct drm_encoder *encoder) +{ + struct drm_device *dev = encoder->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc); + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_encoder_helper_funcs *helper = encoder->helper_private; + + if (get_tv_norm(encoder)->kind == TV_ENC_MODE) { + nv17_tv_update_rescaler(encoder); + nv17_tv_update_properties(encoder); + } else { + nv17_ctv_update_rescaler(encoder); + } + + nv17_tv_state_load(dev, &to_tv_enc(encoder)->state); + + /* This could use refinement for flatpanels, but it should work */ + if (dev_priv->chipset < 0x44) + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + + nv04_dac_output_offset(encoder), + 0xf0000000); + else + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + + nv04_dac_output_offset(encoder), + 0x00100000); + + 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)); +} + +static void nv17_tv_save(struct drm_encoder *encoder) +{ + struct drm_device *dev = encoder->dev; + struct nv17_tv_encoder *tv_enc = to_tv_enc(encoder); + + nouveau_encoder(encoder)->restore.output = + NVReadRAMDAC(dev, 0, + NV_PRAMDAC_DACCLK + + nv04_dac_output_offset(encoder)); + + nv17_tv_state_save(dev, &tv_enc->saved_state); + + tv_enc->state.ptv_200 = tv_enc->saved_state.ptv_200; +} + +static void nv17_tv_restore(struct drm_encoder *encoder) +{ + struct drm_device *dev = encoder->dev; + + NVWriteRAMDAC(dev, 0, NV_PRAMDAC_DACCLK + + nv04_dac_output_offset(encoder), + nouveau_encoder(encoder)->restore.output); + + nv17_tv_state_load(dev, &to_tv_enc(encoder)->saved_state); + + nouveau_encoder(encoder)->last_dpms = NV_DPMS_CLEARED; +} + +static int nv17_tv_create_resources(struct drm_encoder *encoder, + struct drm_connector *connector) +{ + struct drm_device *dev = encoder->dev; + struct drm_mode_config *conf = &dev->mode_config; + struct nv17_tv_encoder *tv_enc = to_tv_enc(encoder); + struct dcb_entry *dcb = nouveau_encoder(encoder)->dcb; + int num_tv_norms = dcb->tvconf.has_component_output ? NUM_TV_NORMS : + NUM_LD_TV_NORMS; + int i; + + if (nouveau_tv_norm) { + for (i = 0; i < num_tv_norms; i++) { + if (!strcmp(nv17_tv_norm_names[i], nouveau_tv_norm)) { + tv_enc->tv_norm = i; + break; + } + } + + if (i == num_tv_norms) + NV_WARN(dev, "Invalid TV norm setting \"%s\"\n", + nouveau_tv_norm); + } + + drm_mode_create_tv_properties(dev, num_tv_norms, nv17_tv_norm_names); + + drm_connector_attach_property(connector, + conf->tv_select_subconnector_property, + tv_enc->select_subconnector); + drm_connector_attach_property(connector, + conf->tv_subconnector_property, + tv_enc->subconnector); + drm_connector_attach_property(connector, + conf->tv_mode_property, + tv_enc->tv_norm); + drm_connector_attach_property(connector, + conf->tv_flicker_reduction_property, + tv_enc->flicker); + drm_connector_attach_property(connector, + conf->tv_saturation_property, + tv_enc->saturation); + drm_connector_attach_property(connector, + conf->tv_hue_property, + tv_enc->hue); + drm_connector_attach_property(connector, + conf->tv_overscan_property, + tv_enc->overscan); + + return 0; +} + +static int nv17_tv_set_property(struct drm_encoder *encoder, + struct drm_connector *connector, + struct drm_property *property, + uint64_t val) +{ + struct drm_mode_config *conf = &encoder->dev->mode_config; + struct drm_crtc *crtc = encoder->crtc; + struct nv17_tv_encoder *tv_enc = to_tv_enc(encoder); + struct nv17_tv_norm_params *tv_norm = get_tv_norm(encoder); + bool modes_changed = false; + + if (property == conf->tv_overscan_property) { + tv_enc->overscan = val; + if (encoder->crtc) { + if (tv_norm->kind == CTV_ENC_MODE) + nv17_ctv_update_rescaler(encoder); + else + nv17_tv_update_rescaler(encoder); + } + + } else if (property == conf->tv_saturation_property) { + if (tv_norm->kind != TV_ENC_MODE) + return -EINVAL; + + tv_enc->saturation = val; + nv17_tv_update_properties(encoder); + + } else if (property == conf->tv_hue_property) { + if (tv_norm->kind != TV_ENC_MODE) + return -EINVAL; + + tv_enc->hue = val; + nv17_tv_update_properties(encoder); + + } else if (property == conf->tv_flicker_reduction_property) { + if (tv_norm->kind != TV_ENC_MODE) + return -EINVAL; + + tv_enc->flicker = val; + if (encoder->crtc) + nv17_tv_update_rescaler(encoder); + + } else if (property == conf->tv_mode_property) { + if (connector->dpms != DRM_MODE_DPMS_OFF) + return -EINVAL; + + tv_enc->tv_norm = val; + + modes_changed = true; + + } else if (property == conf->tv_select_subconnector_property) { + if (tv_norm->kind != TV_ENC_MODE) + return -EINVAL; + + tv_enc->select_subconnector = val; + nv17_tv_update_properties(encoder); + + } else { + return -EINVAL; + } + + if (modes_changed) { + drm_helper_probe_single_connector_modes(connector, 0, 0); + + /* Disable the crtc to ensure a full modeset is + * performed whenever it's turned on again. */ + if (crtc) { + struct drm_mode_set modeset = { + .crtc = crtc, + }; + + crtc->funcs->set_config(&modeset); + } + } + + return 0; +} + +static void nv17_tv_destroy(struct drm_encoder *encoder) +{ + struct nv17_tv_encoder *tv_enc = to_tv_enc(encoder); + + NV_DEBUG_KMS(encoder->dev, "\n"); + + drm_encoder_cleanup(encoder); + kfree(tv_enc); +} + +static struct drm_encoder_helper_funcs nv17_tv_helper_funcs = { + .dpms = nv17_tv_dpms, + .save = nv17_tv_save, + .restore = nv17_tv_restore, + .mode_fixup = nv17_tv_mode_fixup, + .prepare = nv17_tv_prepare, + .commit = nv17_tv_commit, + .mode_set = nv17_tv_mode_set, + .detect = nv17_tv_detect, +}; + +static struct drm_encoder_slave_funcs nv17_tv_slave_funcs = { + .get_modes = nv17_tv_get_modes, + .mode_valid = nv17_tv_mode_valid, + .create_resources = nv17_tv_create_resources, + .set_property = nv17_tv_set_property, +}; + +static struct drm_encoder_funcs nv17_tv_funcs = { + .destroy = nv17_tv_destroy, +}; + +int nv17_tv_create(struct drm_device *dev, struct dcb_entry *entry) +{ + struct drm_encoder *encoder; + struct nv17_tv_encoder *tv_enc = NULL; + + tv_enc = kzalloc(sizeof(*tv_enc), GFP_KERNEL); + if (!tv_enc) + return -ENOMEM; + + tv_enc->overscan = 50; + tv_enc->flicker = 50; + tv_enc->saturation = 50; + tv_enc->hue = 0; + tv_enc->tv_norm = TV_NORM_PAL; + tv_enc->subconnector = DRM_MODE_SUBCONNECTOR_Unknown; + tv_enc->select_subconnector = DRM_MODE_SUBCONNECTOR_Automatic; + tv_enc->pin_mask = 0; + + encoder = to_drm_encoder(&tv_enc->base); + + tv_enc->base.dcb = entry; + tv_enc->base.or = ffs(entry->or) - 1; + + drm_encoder_init(dev, encoder, &nv17_tv_funcs, DRM_MODE_ENCODER_TVDAC); + drm_encoder_helper_add(encoder, &nv17_tv_helper_funcs); + to_encoder_slave(encoder)->slave_funcs = &nv17_tv_slave_funcs; + + encoder->possible_crtcs = entry->heads; + encoder->possible_clones = 0; + + return 0; +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv17_tv.h +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv17_tv.h @@ -0,0 +1,156 @@ +/* + * Copyright (C) 2009 Francisco Jerez. + * 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 COPYRIGHT OWNER(S) 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 __NV17_TV_H__ +#define __NV17_TV_H__ + +struct nv17_tv_state { + uint8_t tv_enc[0x40]; + + uint32_t hfilter[4][7]; + uint32_t hfilter2[4][7]; + uint32_t vfilter[4][7]; + + uint32_t ptv_200; + uint32_t ptv_204; + uint32_t ptv_208; + uint32_t ptv_20c; + uint32_t ptv_304; + uint32_t ptv_500; + uint32_t ptv_504; + uint32_t ptv_508; + uint32_t ptv_600; + uint32_t ptv_604; + uint32_t ptv_608; + uint32_t ptv_60c; + uint32_t ptv_610; + uint32_t ptv_614; +}; + +enum nv17_tv_norm{ + TV_NORM_PAL, + TV_NORM_PAL_M, + TV_NORM_PAL_N, + TV_NORM_PAL_NC, + TV_NORM_NTSC_M, + TV_NORM_NTSC_J, + NUM_LD_TV_NORMS, + TV_NORM_HD480I = NUM_LD_TV_NORMS, + TV_NORM_HD480P, + TV_NORM_HD576I, + TV_NORM_HD576P, + TV_NORM_HD720P, + TV_NORM_HD1080I, + NUM_TV_NORMS +}; + +struct nv17_tv_encoder { + struct nouveau_encoder base; + + struct nv17_tv_state state; + struct nv17_tv_state saved_state; + + int overscan; + int flicker; + int saturation; + int hue; + enum nv17_tv_norm tv_norm; + int subconnector; + int select_subconnector; + uint32_t pin_mask; +}; +#define to_tv_enc(x) container_of(nouveau_encoder(x), \ + struct nv17_tv_encoder, base) + +extern char *nv17_tv_norm_names[NUM_TV_NORMS]; + +extern struct nv17_tv_norm_params { + enum { + TV_ENC_MODE, + CTV_ENC_MODE, + } kind; + + union { + struct { + int hdisplay; + int vdisplay; + int vrefresh; /* mHz */ + + uint8_t tv_enc[0x40]; + } tv_enc_mode; + + struct { + struct drm_display_mode mode; + + uint32_t ctv_regs[38]; + } ctv_enc_mode; + }; + +} nv17_tv_norms[NUM_TV_NORMS]; +#define get_tv_norm(enc) (&nv17_tv_norms[to_tv_enc(enc)->tv_norm]) + +extern struct drm_display_mode nv17_tv_modes[]; + +static inline int interpolate(int y0, int y1, int y2, int x) +{ + return y1 + (x < 50 ? y1 - y0 : y2 - y1) * (x - 50) / 50; +} + +void nv17_tv_state_save(struct drm_device *dev, struct nv17_tv_state *state); +void nv17_tv_state_load(struct drm_device *dev, struct nv17_tv_state *state); +void nv17_tv_update_properties(struct drm_encoder *encoder); +void nv17_tv_update_rescaler(struct drm_encoder *encoder); +void nv17_ctv_update_rescaler(struct drm_encoder *encoder); + +/* TV hardware access functions */ + +static inline void nv_write_ptv(struct drm_device *dev, uint32_t reg, uint32_t val) +{ + nv_wr32(dev, reg, val); +} + +static inline uint32_t nv_read_ptv(struct drm_device *dev, uint32_t reg) +{ + return nv_rd32(dev, reg); +} + +static inline void nv_write_tv_enc(struct drm_device *dev, uint8_t reg, uint8_t val) +{ + nv_write_ptv(dev, NV_PTV_TV_INDEX, reg); + nv_write_ptv(dev, NV_PTV_TV_DATA, val); +} + +static inline uint8_t nv_read_tv_enc(struct drm_device *dev, uint8_t reg) +{ + nv_write_ptv(dev, NV_PTV_TV_INDEX, reg); + return nv_read_ptv(dev, NV_PTV_TV_DATA); +} + +#define nv_load_ptv(dev, state, reg) nv_write_ptv(dev, NV_PTV_OFFSET + 0x##reg, state->ptv_##reg) +#define nv_save_ptv(dev, state, reg) state->ptv_##reg = nv_read_ptv(dev, NV_PTV_OFFSET + 0x##reg) +#define nv_load_tv_enc(dev, state, reg) nv_write_tv_enc(dev, 0x##reg, state->tv_enc[0x##reg]) + +#endif --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv17_tv_modes.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv17_tv_modes.c @@ -0,0 +1,583 @@ +/* + * Copyright (C) 2009 Francisco Jerez. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "drm_crtc_helper.h" +#include "nouveau_drv.h" +#include "nouveau_encoder.h" +#include "nouveau_crtc.h" +#include "nouveau_hw.h" +#include "nv17_tv.h" + +char *nv17_tv_norm_names[NUM_TV_NORMS] = { + [TV_NORM_PAL] = "PAL", + [TV_NORM_PAL_M] = "PAL-M", + [TV_NORM_PAL_N] = "PAL-N", + [TV_NORM_PAL_NC] = "PAL-Nc", + [TV_NORM_NTSC_M] = "NTSC-M", + [TV_NORM_NTSC_J] = "NTSC-J", + [TV_NORM_HD480I] = "hd480i", + [TV_NORM_HD480P] = "hd480p", + [TV_NORM_HD576I] = "hd576i", + [TV_NORM_HD576P] = "hd576p", + [TV_NORM_HD720P] = "hd720p", + [TV_NORM_HD1080I] = "hd1080i" +}; + +/* TV standard specific parameters */ + +struct nv17_tv_norm_params nv17_tv_norms[NUM_TV_NORMS] = { + [TV_NORM_PAL] = { TV_ENC_MODE, { + .tv_enc_mode = { 720, 576, 50000, { + 0x2a, 0x9, 0x8a, 0xcb, 0x0, 0x0, 0xb, 0x18, + 0x7e, 0x40, 0x8a, 0x35, 0x27, 0x0, 0x34, 0x3, + 0x3e, 0x3, 0x17, 0x21, 0x1b, 0x1b, 0x24, 0x9c, + 0x1, 0x0, 0xf, 0xf, 0x60, 0x5, 0xd3, 0x3, + 0xd3, 0x4, 0xd4, 0x1, 0x2, 0x0, 0xa, 0x5, + 0x0, 0x1a, 0xff, 0x3, 0x18, 0xf, 0x78, 0x0, + 0x0, 0xb4, 0x0, 0x15, 0x49, 0x10, 0x0, 0x9b, + 0xbd, 0x15, 0x5, 0x15, 0x3e, 0x3, 0x0, 0x0 + } } } }, + + [TV_NORM_PAL_M] = { TV_ENC_MODE, { + .tv_enc_mode = { 720, 480, 59940, { + 0x21, 0xe6, 0xef, 0xe3, 0x0, 0x0, 0xb, 0x18, + 0x7e, 0x44, 0x76, 0x32, 0x25, 0x0, 0x3c, 0x0, + 0x3c, 0x0, 0x17, 0x21, 0x1b, 0x1b, 0x24, 0x83, + 0x1, 0x0, 0xf, 0xf, 0x60, 0x5, 0xd3, 0x1, + 0xc5, 0x4, 0xc5, 0x1, 0x2, 0x0, 0xa, 0x5, + 0x0, 0x18, 0xff, 0x3, 0x20, 0xf, 0x78, 0x0, + 0x0, 0xb4, 0x0, 0x15, 0x40, 0x10, 0x0, 0x9c, + 0xc8, 0x15, 0x5, 0x15, 0x3c, 0x0, 0x0, 0x0 + } } } }, + + [TV_NORM_PAL_N] = { TV_ENC_MODE, { + .tv_enc_mode = { 720, 576, 50000, { + 0x2a, 0x9, 0x8a, 0xcb, 0x0, 0x0, 0xb, 0x18, + 0x7e, 0x40, 0x8a, 0x32, 0x25, 0x0, 0x3c, 0x0, + 0x3c, 0x0, 0x17, 0x21, 0x1b, 0x1b, 0x24, 0x9c, + 0x1, 0x0, 0xf, 0xf, 0x60, 0x5, 0xd3, 0x1, + 0xc5, 0x4, 0xc5, 0x1, 0x2, 0x0, 0xa, 0x5, + 0x0, 0x1a, 0xff, 0x3, 0x18, 0xf, 0x78, 0x0, + 0x0, 0xb4, 0x0, 0x15, 0x49, 0x10, 0x0, 0x9b, + 0xbd, 0x15, 0x5, 0x15, 0x3c, 0x0, 0x0, 0x0 + } } } }, + + [TV_NORM_PAL_NC] = { TV_ENC_MODE, { + .tv_enc_mode = { 720, 576, 50000, { + 0x21, 0xf6, 0x94, 0x46, 0x0, 0x0, 0xb, 0x18, + 0x7e, 0x44, 0x8a, 0x35, 0x27, 0x0, 0x34, 0x3, + 0x3e, 0x3, 0x17, 0x21, 0x1b, 0x1b, 0x24, 0x9c, + 0x1, 0x0, 0xf, 0xf, 0x60, 0x5, 0xd3, 0x3, + 0xd3, 0x4, 0xd4, 0x1, 0x2, 0x0, 0xa, 0x5, + 0x0, 0x1a, 0xff, 0x3, 0x18, 0xf, 0x78, 0x0, + 0x0, 0xb4, 0x0, 0x15, 0x49, 0x10, 0x0, 0x9b, + 0xbd, 0x15, 0x5, 0x15, 0x3e, 0x3, 0x0, 0x0 + } } } }, + + [TV_NORM_NTSC_M] = { TV_ENC_MODE, { + .tv_enc_mode = { 720, 480, 59940, { + 0x21, 0xf0, 0x7c, 0x1f, 0x0, 0x0, 0xb, 0x18, + 0x7e, 0x44, 0x76, 0x48, 0x0, 0x0, 0x3c, 0x0, + 0x3c, 0x0, 0x17, 0x21, 0x1b, 0x1b, 0x24, 0x83, + 0x1, 0x0, 0xf, 0xf, 0x60, 0x5, 0xd3, 0x1, + 0xc5, 0x4, 0xc5, 0x1, 0x2, 0x0, 0xa, 0x5, + 0x0, 0x16, 0xff, 0x3, 0x20, 0xf, 0x78, 0x0, + 0x0, 0xb4, 0x0, 0x15, 0x4, 0x10, 0x0, 0x9c, + 0xc8, 0x15, 0x5, 0x15, 0x3c, 0x0, 0x0, 0x0 + } } } }, + + [TV_NORM_NTSC_J] = { TV_ENC_MODE, { + .tv_enc_mode = { 720, 480, 59940, { + 0x21, 0xf0, 0x7c, 0x1f, 0x0, 0x0, 0xb, 0x18, + 0x7e, 0x44, 0x76, 0x48, 0x0, 0x0, 0x32, 0x0, + 0x3c, 0x0, 0x17, 0x21, 0x1b, 0x1b, 0x24, 0x83, + 0x1, 0x0, 0xf, 0xf, 0x60, 0x5, 0xd3, 0x1, + 0xcf, 0x4, 0xcf, 0x1, 0x2, 0x0, 0xa, 0x5, + 0x0, 0x16, 0xff, 0x3, 0x20, 0xf, 0x78, 0x0, + 0x0, 0xb4, 0x0, 0x15, 0x4, 0x10, 0x0, 0xa4, + 0xc8, 0x15, 0x5, 0x15, 0x3c, 0x0, 0x0, 0x0 + } } } }, + + [TV_NORM_HD480I] = { TV_ENC_MODE, { + .tv_enc_mode = { 720, 480, 59940, { + 0x21, 0xf0, 0x7c, 0x1f, 0x0, 0x0, 0xb, 0x18, + 0x7e, 0x44, 0x76, 0x48, 0x0, 0x0, 0x32, 0x0, + 0x3c, 0x0, 0x17, 0x21, 0x1b, 0x1b, 0x24, 0x83, + 0x1, 0x0, 0xf, 0xf, 0x60, 0x5, 0xd3, 0x1, + 0xcf, 0x4, 0xcf, 0x1, 0x2, 0x0, 0xa, 0x5, + 0x0, 0x16, 0xff, 0x3, 0x20, 0xf, 0x78, 0x0, + 0x0, 0xb4, 0x0, 0x15, 0x4, 0x10, 0x0, 0xa4, + 0xc8, 0x15, 0x5, 0x15, 0x3c, 0x0, 0x0, 0x0 + } } } }, + + [TV_NORM_HD576I] = { TV_ENC_MODE, { + .tv_enc_mode = { 720, 576, 50000, { + 0x2a, 0x9, 0x8a, 0xcb, 0x0, 0x0, 0xb, 0x18, + 0x7e, 0x40, 0x8a, 0x35, 0x27, 0x0, 0x34, 0x3, + 0x3e, 0x3, 0x17, 0x21, 0x1b, 0x1b, 0x24, 0x9c, + 0x1, 0x0, 0xf, 0xf, 0x60, 0x5, 0xd3, 0x3, + 0xd3, 0x4, 0xd4, 0x1, 0x2, 0x0, 0xa, 0x5, + 0x0, 0x1a, 0xff, 0x3, 0x18, 0xf, 0x78, 0x0, + 0x0, 0xb4, 0x0, 0x15, 0x49, 0x10, 0x0, 0x9b, + 0xbd, 0x15, 0x5, 0x15, 0x3e, 0x3, 0x0, 0x0 + } } } }, + + + [TV_NORM_HD480P] = { CTV_ENC_MODE, { + .ctv_enc_mode = { + .mode = { DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 27000, + 720, 735, 743, 858, 0, 480, 490, 494, 525, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + .ctv_regs = { 0x3540000, 0x0, 0x0, 0x314, + 0x354003a, 0x40000, 0x6f0344, 0x18100000, + 0x10160004, 0x10060005, 0x1006000c, 0x10060020, + 0x10060021, 0x140e0022, 0x10060202, 0x1802020a, + 0x1810020b, 0x10000fff, 0x10000fff, 0x10000fff, + 0x10000fff, 0x10000fff, 0x10000fff, 0x70, + 0x3ff0000, 0x57, 0x2e001e, 0x258012c, + 0xa0aa04ec, 0x30, 0x80960019, 0x12c0300, + 0x2019, 0x600, 0x32060019, 0x0, 0x0, 0x400 + } } } }, + + [TV_NORM_HD576P] = { CTV_ENC_MODE, { + .ctv_enc_mode = { + .mode = { DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 27000, + 720, 730, 738, 864, 0, 576, 581, 585, 625, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + .ctv_regs = { 0x3540000, 0x0, 0x0, 0x314, + 0x354003a, 0x40000, 0x6f0344, 0x18100000, + 0x10060001, 0x10060009, 0x10060026, 0x10060027, + 0x140e0028, 0x10060268, 0x1810026d, 0x10000fff, + 0x10000fff, 0x10000fff, 0x10000fff, 0x10000fff, + 0x10000fff, 0x10000fff, 0x10000fff, 0x69, + 0x3ff0000, 0x57, 0x2e001e, 0x258012c, + 0xa0aa04ec, 0x30, 0x80960019, 0x12c0300, + 0x2019, 0x600, 0x32060019, 0x0, 0x0, 0x400 + } } } }, + + [TV_NORM_HD720P] = { CTV_ENC_MODE, { + .ctv_enc_mode = { + .mode = { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, + 1280, 1349, 1357, 1650, 0, 720, 725, 730, 750, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + .ctv_regs = { 0x1260394, 0x0, 0x0, 0x622, + 0x66b0021, 0x6004a, 0x1210626, 0x8170000, + 0x70004, 0x70016, 0x70017, 0x40f0018, + 0x702e8, 0x81702ed, 0xfff, 0xfff, + 0xfff, 0xfff, 0xfff, 0xfff, + 0xfff, 0xfff, 0xfff, 0x0, + 0x2e40001, 0x58, 0x2e001e, 0x258012c, + 0xa0aa04ec, 0x30, 0x810c0039, 0x12c0300, + 0xc0002039, 0x600, 0x32060039, 0x0, 0x0, 0x0 + } } } }, + + [TV_NORM_HD1080I] = { CTV_ENC_MODE, { + .ctv_enc_mode = { + .mode = { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 74250, + 1920, 1961, 2049, 2200, 0, 1080, 1084, 1088, 1125, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC + | DRM_MODE_FLAG_INTERLACE) }, + .ctv_regs = { 0xac0420, 0x44c0478, 0x4a4, 0x4fc0868, + 0x8940028, 0x60054, 0xe80870, 0xbf70000, + 0xbc70004, 0x70005, 0x70012, 0x70013, + 0x40f0014, 0x70230, 0xbf70232, 0xbf70233, + 0x1c70237, 0x70238, 0x70244, 0x70245, + 0x40f0246, 0x70462, 0x1f70464, 0x0, + 0x2e40001, 0x58, 0x2e001e, 0x258012c, + 0xa0aa04ec, 0x30, 0x815f004c, 0x12c0300, + 0xc000204c, 0x600, 0x3206004c, 0x0, 0x0, 0x0 + } } } } +}; + +/* + * The following is some guesswork on how the TV encoder flicker + * filter/rescaler works: + * + * It seems to use some sort of resampling filter, it is controlled + * through the registers at NV_PTV_HFILTER and NV_PTV_VFILTER, they + * control the horizontal and vertical stage respectively, there is + * also NV_PTV_HFILTER2 the blob fills identically to NV_PTV_HFILTER, + * but they seem to do nothing. A rough guess might be that they could + * be used to independently control the filtering of each interlaced + * field, but I don't know how they are enabled. The whole filtering + * process seems to be disabled with bits 26:27 of PTV_200, but we + * aren't doing that. + * + * The layout of both register sets is the same: + * + * A: [BASE+0x18]...[BASE+0x0] [BASE+0x58]..[BASE+0x40] + * B: [BASE+0x34]...[BASE+0x1c] [BASE+0x74]..[BASE+0x5c] + * + * Each coefficient is stored in bits [31],[15:9] in two's complement + * format. They seem to be some kind of weights used in a low-pass + * filter. Both A and B coefficients are applied to the 14 nearest + * samples on each side (Listed from nearest to furthermost. They + * roughly cover 2 framebuffer pixels on each side). They are + * probably multiplied with some more hardwired weights before being + * used: B-coefficients are applied the same on both sides, + * A-coefficients are inverted before being applied to the opposite + * side. + * + * After all the hassle, I got the following formula by empirical + * means... + */ + +#define calc_overscan(o) interpolate(0x100, 0xe1, 0xc1, o) + +#define id1 (1LL << 8) +#define id2 (1LL << 16) +#define id3 (1LL << 24) +#define id4 (1LL << 32) +#define id5 (1LL << 48) + +static struct filter_params{ + int64_t k1; + int64_t ki; + int64_t ki2; + int64_t ki3; + int64_t kr; + int64_t kir; + int64_t ki2r; + int64_t ki3r; + int64_t kf; + int64_t kif; + int64_t ki2f; + int64_t ki3f; + int64_t krf; + int64_t kirf; + int64_t ki2rf; + int64_t ki3rf; +} fparams[2][4] = { + /* Horizontal filter parameters */ + { + {64.311690 * id5, -39.516924 * id5, 6.586143 * id5, 0.000002 * id5, + 0.051285 * id4, 26.168746 * id4, -4.361449 * id4, -0.000001 * id4, + 9.308169 * id3, 78.180965 * id3, -13.030158 * id3, -0.000001 * id3, + -8.801540 * id1, -46.572890 * id1, 7.762145 * id1, -0.000000 * id1}, + {-44.565569 * id5, -68.081246 * id5, 39.812074 * id5, -4.009316 * id5, + 29.832207 * id4, 50.047322 * id4, -25.380017 * id4, 2.546422 * id4, + 104.605622 * id3, 141.908641 * id3, -74.322319 * id3, 7.484316 * id3, + -37.081621 * id1, -90.397510 * id1, 42.784229 * id1, -4.289952 * id1}, + {-56.793244 * id5, 31.153584 * id5, -5.192247 * id5, -0.000003 * id5, + 33.541131 * id4, -34.149302 * id4, 5.691537 * id4, 0.000002 * id4, + 87.196610 * id3, -88.995169 * id3, 14.832456 * id3, 0.000012 * id3, + 17.288138 * id1, 71.864786 * id1, -11.977408 * id1, -0.000009 * id1}, + {51.787796 * id5, 21.211771 * id5, -18.993730 * id5, 1.853310 * id5, + -41.470726 * id4, -17.775823 * id4, 13.057821 * id4, -1.15823 * id4, + -154.235673 * id3, -44.878641 * id3, 40.656077 * id3, -3.695595 * id3, + 112.201065 * id1, 39.992155 * id1, -25.155714 * id1, 2.113984 * id1}, + }, + + /* Vertical filter parameters */ + { + {67.601979 * id5, 0.428319 * id5, -0.071318 * id5, -0.000012 * id5, + -3.402339 * id4, 0.000209 * id4, -0.000092 * id4, 0.000010 * id4, + -9.180996 * id3, 6.111270 * id3, -1.024457 * id3, 0.001043 * id3, + 6.060315 * id1, -0.017425 * id1, 0.007830 * id1, -0.000869 * id1}, + {6.755647 * id5, 5.841348 * id5, 1.469734 * id5, -0.149656 * id5, + 8.293120 * id4, -1.192888 * id4, -0.947652 * id4, 0.094507 * id4, + 37.526655 * id3, 10.257875 * id3, -10.823275 * id3, 1.081497 * id3, + -2.361928 * id1, -2.059432 * id1, 1.840671 * id1, -0.168100 * id1}, + {-14.780391 * id5, -16.042148 * id5, 2.673692 * id5, -0.000000 * id5, + 39.541978 * id4, 5.680053 * id4, -0.946676 * id4, 0.000000 * id4, + 152.994486 * id3, 12.625439 * id3, -2.119579 * id3, 0.002708 * id3, + -38.125089 * id1, -0.855880 * id1, 0.155359 * id1, -0.002245 * id1}, + {-27.476193 * id5, -1.454976 * id5, 1.286557 * id5, 0.025346 * id5, + 20.687300 * id4, 3.014003 * id4, -0.557786 * id4, -0.01311 * id4, + 60.008737 * id3, -0.738273 * id3, 5.408217 * id3, -0.796798 * id3, + -17.296835 * id1, 4.438577 * id1, -2.809420 * id1, 0.385491 * id1}, + } +}; + +static void tv_setup_filter(struct drm_encoder *encoder) +{ + struct nv17_tv_encoder *tv_enc = to_tv_enc(encoder); + struct nv17_tv_norm_params *tv_norm = get_tv_norm(encoder); + struct drm_display_mode *mode = &encoder->crtc->mode; + uint32_t (*filters[])[4][7] = {&tv_enc->state.hfilter, + &tv_enc->state.vfilter}; + int i, j, k; + int32_t overscan = calc_overscan(tv_enc->overscan); + int64_t flicker = (tv_enc->flicker - 50) * (id3 / 100); + uint64_t rs[] = {mode->hdisplay * id3, + mode->vdisplay * id3}; + + do_div(rs[0], overscan * tv_norm->tv_enc_mode.hdisplay); + do_div(rs[1], overscan * tv_norm->tv_enc_mode.vdisplay); + + for (k = 0; k < 2; k++) { + rs[k] = max((int64_t)rs[k], id2); + + for (j = 0; j < 4; j++) { + struct filter_params *p = &fparams[k][j]; + + for (i = 0; i < 7; i++) { + int64_t c = (p->k1 + p->ki*i + p->ki2*i*i + p->ki3*i*i*i) + + (p->kr + p->kir*i + p->ki2r*i*i + p->ki3r*i*i*i)*rs[k] + + (p->kf + p->kif*i + p->ki2f*i*i + p->ki3f*i*i*i)*flicker + + (p->krf + p->kirf*i + p->ki2rf*i*i + p->ki3rf*i*i*i)*flicker*rs[k]; + + (*filters[k])[j][i] = (c + id5/2) >> 39 & (0x1 << 31 | 0x7f << 9); + } + } + } +} + +/* Hardware state saving/restoring */ + +static void tv_save_filter(struct drm_device *dev, uint32_t base, uint32_t regs[4][7]) +{ + int i, j; + uint32_t offsets[] = { base, base + 0x1c, base + 0x40, base + 0x5c }; + + for (i = 0; i < 4; i++) { + for (j = 0; j < 7; j++) + regs[i][j] = nv_read_ptv(dev, offsets[i]+4*j); + } +} + +static void tv_load_filter(struct drm_device *dev, uint32_t base, uint32_t regs[4][7]) +{ + int i, j; + uint32_t offsets[] = { base, base + 0x1c, base + 0x40, base + 0x5c }; + + for (i = 0; i < 4; i++) { + for (j = 0; j < 7; j++) + nv_write_ptv(dev, offsets[i]+4*j, regs[i][j]); + } +} + +void nv17_tv_state_save(struct drm_device *dev, struct nv17_tv_state *state) +{ + int i; + + for (i = 0; i < 0x40; i++) + state->tv_enc[i] = nv_read_tv_enc(dev, i); + + tv_save_filter(dev, NV_PTV_HFILTER, state->hfilter); + tv_save_filter(dev, NV_PTV_HFILTER2, state->hfilter2); + tv_save_filter(dev, NV_PTV_VFILTER, state->vfilter); + + nv_save_ptv(dev, state, 200); + nv_save_ptv(dev, state, 204); + nv_save_ptv(dev, state, 208); + nv_save_ptv(dev, state, 20c); + nv_save_ptv(dev, state, 304); + nv_save_ptv(dev, state, 500); + nv_save_ptv(dev, state, 504); + nv_save_ptv(dev, state, 508); + nv_save_ptv(dev, state, 600); + nv_save_ptv(dev, state, 604); + nv_save_ptv(dev, state, 608); + nv_save_ptv(dev, state, 60c); + nv_save_ptv(dev, state, 610); + nv_save_ptv(dev, state, 614); +} + +void nv17_tv_state_load(struct drm_device *dev, struct nv17_tv_state *state) +{ + int i; + + for (i = 0; i < 0x40; i++) + nv_write_tv_enc(dev, i, state->tv_enc[i]); + + tv_load_filter(dev, NV_PTV_HFILTER, state->hfilter); + tv_load_filter(dev, NV_PTV_HFILTER2, state->hfilter2); + tv_load_filter(dev, NV_PTV_VFILTER, state->vfilter); + + nv_load_ptv(dev, state, 200); + nv_load_ptv(dev, state, 204); + nv_load_ptv(dev, state, 208); + nv_load_ptv(dev, state, 20c); + nv_load_ptv(dev, state, 304); + nv_load_ptv(dev, state, 500); + nv_load_ptv(dev, state, 504); + nv_load_ptv(dev, state, 508); + nv_load_ptv(dev, state, 600); + nv_load_ptv(dev, state, 604); + nv_load_ptv(dev, state, 608); + nv_load_ptv(dev, state, 60c); + nv_load_ptv(dev, state, 610); + nv_load_ptv(dev, state, 614); + + /* This is required for some settings to kick in. */ + nv_write_tv_enc(dev, 0x3e, 1); + nv_write_tv_enc(dev, 0x3e, 0); +} + +/* Timings similar to the ones the blob sets */ + +struct drm_display_mode nv17_tv_modes[] = { + { DRM_MODE("320x200", DRM_MODE_TYPE_DRIVER, 0, + 320, 344, 392, 560, 0, 200, 200, 202, 220, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC + | DRM_MODE_FLAG_DBLSCAN | DRM_MODE_FLAG_CLKDIV2) }, + { DRM_MODE("320x240", DRM_MODE_TYPE_DRIVER, 0, + 320, 344, 392, 560, 0, 240, 240, 246, 263, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC + | DRM_MODE_FLAG_DBLSCAN | DRM_MODE_FLAG_CLKDIV2) }, + { DRM_MODE("400x300", DRM_MODE_TYPE_DRIVER, 0, + 400, 432, 496, 640, 0, 300, 300, 303, 314, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC + | DRM_MODE_FLAG_DBLSCAN | DRM_MODE_FLAG_CLKDIV2) }, + { DRM_MODE("640x480", DRM_MODE_TYPE_DRIVER, 0, + 640, 672, 768, 880, 0, 480, 480, 492, 525, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, + { DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 0, + 720, 752, 872, 960, 0, 480, 480, 493, 525, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, + { DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 0, + 720, 776, 856, 960, 0, 576, 576, 588, 597, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, + { DRM_MODE("800x600", DRM_MODE_TYPE_DRIVER, 0, + 800, 840, 920, 1040, 0, 600, 600, 604, 618, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + { DRM_MODE("1024x768", DRM_MODE_TYPE_DRIVER, 0, + 1024, 1064, 1200, 1344, 0, 768, 768, 777, 806, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, + {} +}; + +void nv17_tv_update_properties(struct drm_encoder *encoder) +{ + struct drm_device *dev = encoder->dev; + struct nv17_tv_encoder *tv_enc = to_tv_enc(encoder); + struct nv17_tv_state *regs = &tv_enc->state; + struct nv17_tv_norm_params *tv_norm = get_tv_norm(encoder); + int subconnector = tv_enc->select_subconnector ? + tv_enc->select_subconnector : + tv_enc->subconnector; + + switch (subconnector) { + case DRM_MODE_SUBCONNECTOR_Composite: + { + regs->ptv_204 = 0x2; + + /* The composite connector may be found on either pin. */ + if (tv_enc->pin_mask & 0x4) + regs->ptv_204 |= 0x010000; + else if (tv_enc->pin_mask & 0x2) + regs->ptv_204 |= 0x100000; + else + regs->ptv_204 |= 0x110000; + + regs->tv_enc[0x7] = 0x10; + break; + } + case DRM_MODE_SUBCONNECTOR_SVIDEO: + regs->ptv_204 = 0x11012; + regs->tv_enc[0x7] = 0x18; + break; + + case DRM_MODE_SUBCONNECTOR_Component: + regs->ptv_204 = 0x111333; + regs->tv_enc[0x7] = 0x14; + break; + + case DRM_MODE_SUBCONNECTOR_SCART: + regs->ptv_204 = 0x111012; + regs->tv_enc[0x7] = 0x18; + break; + } + + regs->tv_enc[0x20] = interpolate(0, tv_norm->tv_enc_mode.tv_enc[0x20], 255, + tv_enc->saturation); + regs->tv_enc[0x22] = interpolate(0, tv_norm->tv_enc_mode.tv_enc[0x22], 255, + tv_enc->saturation); + regs->tv_enc[0x25] = tv_enc->hue * 255 / 100; + + nv_load_ptv(dev, regs, 204); + nv_load_tv_enc(dev, regs, 7); + nv_load_tv_enc(dev, regs, 20); + nv_load_tv_enc(dev, regs, 22); + nv_load_tv_enc(dev, regs, 25); +} + +void nv17_tv_update_rescaler(struct drm_encoder *encoder) +{ + struct drm_device *dev = encoder->dev; + struct nv17_tv_encoder *tv_enc = to_tv_enc(encoder); + struct nv17_tv_state *regs = &tv_enc->state; + + regs->ptv_208 = 0x40 | (calc_overscan(tv_enc->overscan) << 8); + + tv_setup_filter(encoder); + + nv_load_ptv(dev, regs, 208); + tv_load_filter(dev, NV_PTV_HFILTER, regs->hfilter); + tv_load_filter(dev, NV_PTV_HFILTER2, regs->hfilter2); + tv_load_filter(dev, NV_PTV_VFILTER, regs->vfilter); +} + +void nv17_ctv_update_rescaler(struct drm_encoder *encoder) +{ + struct drm_device *dev = encoder->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv17_tv_encoder *tv_enc = to_tv_enc(encoder); + int head = nouveau_crtc(encoder->crtc)->index; + struct nv04_crtc_reg *regs = &dev_priv->mode_reg.crtc_reg[head]; + struct drm_display_mode *crtc_mode = &encoder->crtc->mode; + struct drm_display_mode *output_mode = &get_tv_norm(encoder)->ctv_enc_mode.mode; + int overscan, hmargin, vmargin, hratio, vratio; + + /* The rescaler doesn't do the right thing for interlaced modes. */ + if (output_mode->flags & DRM_MODE_FLAG_INTERLACE) + overscan = 100; + else + overscan = tv_enc->overscan; + + hmargin = (output_mode->hdisplay - crtc_mode->hdisplay) / 2; + vmargin = (output_mode->vdisplay - crtc_mode->vdisplay) / 2; + + hmargin = interpolate(0, min(hmargin, output_mode->hdisplay/20), hmargin, + overscan); + vmargin = interpolate(0, min(vmargin, output_mode->vdisplay/20), vmargin, + overscan); + + hratio = crtc_mode->hdisplay * 0x800 / (output_mode->hdisplay - 2*hmargin); + vratio = crtc_mode->vdisplay * 0x800 / (output_mode->vdisplay - 2*vmargin) & ~3; + + regs->fp_horiz_regs[FP_VALID_START] = hmargin; + regs->fp_horiz_regs[FP_VALID_END] = output_mode->hdisplay - hmargin - 1; + regs->fp_vert_regs[FP_VALID_START] = vmargin; + regs->fp_vert_regs[FP_VALID_END] = output_mode->vdisplay - vmargin - 1; + + regs->fp_debug_1 = NV_PRAMDAC_FP_DEBUG_1_YSCALE_TESTMODE_ENABLE | + XLATE(vratio, 0, NV_PRAMDAC_FP_DEBUG_1_YSCALE_VALUE) | + NV_PRAMDAC_FP_DEBUG_1_XSCALE_TESTMODE_ENABLE | + XLATE(hratio, 0, NV_PRAMDAC_FP_DEBUG_1_XSCALE_VALUE); + + NVWriteRAMDAC(dev, head, NV_PRAMDAC_FP_HVALID_START, + regs->fp_horiz_regs[FP_VALID_START]); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_FP_HVALID_END, + regs->fp_horiz_regs[FP_VALID_END]); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_FP_VVALID_START, + regs->fp_vert_regs[FP_VALID_START]); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_FP_VVALID_END, + regs->fp_vert_regs[FP_VALID_END]); + NVWriteRAMDAC(dev, head, NV_PRAMDAC_FP_DEBUG_1, regs->fp_debug_1); +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv20_graph.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv20_graph.c @@ -0,0 +1,775 @@ +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" +#include "nouveau_drm.h" + +/* + * NV20 + * ----- + * There are 3 families : + * NV20 is 0x10de:0x020* + * NV25/28 is 0x10de:0x025* / 0x10de:0x028* + * NV2A is 0x10de:0x02A0 + * + * NV30 + * ----- + * There are 3 families : + * NV30/31 is 0x10de:0x030* / 0x10de:0x031* + * NV34 is 0x10de:0x032* + * NV35/36 is 0x10de:0x033* / 0x10de:0x034* + * + * Not seen in the wild, no dumps (probably NV35) : + * NV37 is 0x10de:0x00fc, 0x10de:0x00fd + * NV38 is 0x10de:0x0333, 0x10de:0x00fe + * + */ + +#define NV20_GRCTX_SIZE (3580*4) +#define NV25_GRCTX_SIZE (3529*4) +#define NV2A_GRCTX_SIZE (3500*4) + +#define NV30_31_GRCTX_SIZE (24392) +#define NV34_GRCTX_SIZE (18140) +#define NV35_36_GRCTX_SIZE (22396) + +static void +nv20_graph_context_init(struct drm_device *dev, struct nouveau_gpuobj *ctx) +{ + int i; + + nv_wo32(dev, ctx, 0x033c/4, 0xffff0000); + nv_wo32(dev, ctx, 0x03a0/4, 0x0fff0000); + nv_wo32(dev, ctx, 0x03a4/4, 0x0fff0000); + nv_wo32(dev, ctx, 0x047c/4, 0x00000101); + nv_wo32(dev, ctx, 0x0490/4, 0x00000111); + nv_wo32(dev, ctx, 0x04a8/4, 0x44400000); + for (i = 0x04d4; i <= 0x04e0; i += 4) + nv_wo32(dev, ctx, i/4, 0x00030303); + for (i = 0x04f4; i <= 0x0500; i += 4) + nv_wo32(dev, ctx, i/4, 0x00080000); + for (i = 0x050c; i <= 0x0518; i += 4) + nv_wo32(dev, ctx, i/4, 0x01012000); + for (i = 0x051c; i <= 0x0528; i += 4) + nv_wo32(dev, ctx, i/4, 0x000105b8); + for (i = 0x052c; i <= 0x0538; i += 4) + nv_wo32(dev, ctx, i/4, 0x00080008); + for (i = 0x055c; i <= 0x0598; i += 4) + nv_wo32(dev, ctx, i/4, 0x07ff0000); + nv_wo32(dev, ctx, 0x05a4/4, 0x4b7fffff); + nv_wo32(dev, ctx, 0x05fc/4, 0x00000001); + nv_wo32(dev, ctx, 0x0604/4, 0x00004000); + nv_wo32(dev, ctx, 0x0610/4, 0x00000001); + nv_wo32(dev, ctx, 0x0618/4, 0x00040000); + nv_wo32(dev, ctx, 0x061c/4, 0x00010000); + for (i = 0x1c1c; i <= 0x248c; i += 16) { + nv_wo32(dev, ctx, (i + 0)/4, 0x10700ff9); + nv_wo32(dev, ctx, (i + 4)/4, 0x0436086c); + nv_wo32(dev, ctx, (i + 8)/4, 0x000c001b); + } + nv_wo32(dev, ctx, 0x281c/4, 0x3f800000); + nv_wo32(dev, ctx, 0x2830/4, 0x3f800000); + nv_wo32(dev, ctx, 0x285c/4, 0x40000000); + nv_wo32(dev, ctx, 0x2860/4, 0x3f800000); + nv_wo32(dev, ctx, 0x2864/4, 0x3f000000); + nv_wo32(dev, ctx, 0x286c/4, 0x40000000); + nv_wo32(dev, ctx, 0x2870/4, 0x3f800000); + nv_wo32(dev, ctx, 0x2878/4, 0xbf800000); + nv_wo32(dev, ctx, 0x2880/4, 0xbf800000); + nv_wo32(dev, ctx, 0x34a4/4, 0x000fe000); + nv_wo32(dev, ctx, 0x3530/4, 0x000003f8); + nv_wo32(dev, ctx, 0x3540/4, 0x002fe000); + for (i = 0x355c; i <= 0x3578; i += 4) + nv_wo32(dev, ctx, i/4, 0x001c527c); +} + +static void +nv25_graph_context_init(struct drm_device *dev, struct nouveau_gpuobj *ctx) +{ + int i; + + nv_wo32(dev, ctx, 0x035c/4, 0xffff0000); + nv_wo32(dev, ctx, 0x03c0/4, 0x0fff0000); + nv_wo32(dev, ctx, 0x03c4/4, 0x0fff0000); + nv_wo32(dev, ctx, 0x049c/4, 0x00000101); + nv_wo32(dev, ctx, 0x04b0/4, 0x00000111); + nv_wo32(dev, ctx, 0x04c8/4, 0x00000080); + nv_wo32(dev, ctx, 0x04cc/4, 0xffff0000); + nv_wo32(dev, ctx, 0x04d0/4, 0x00000001); + nv_wo32(dev, ctx, 0x04e4/4, 0x44400000); + nv_wo32(dev, ctx, 0x04fc/4, 0x4b800000); + for (i = 0x0510; i <= 0x051c; i += 4) + nv_wo32(dev, ctx, i/4, 0x00030303); + for (i = 0x0530; i <= 0x053c; i += 4) + nv_wo32(dev, ctx, i/4, 0x00080000); + for (i = 0x0548; i <= 0x0554; i += 4) + nv_wo32(dev, ctx, i/4, 0x01012000); + for (i = 0x0558; i <= 0x0564; i += 4) + nv_wo32(dev, ctx, i/4, 0x000105b8); + for (i = 0x0568; i <= 0x0574; i += 4) + nv_wo32(dev, ctx, i/4, 0x00080008); + for (i = 0x0598; i <= 0x05d4; i += 4) + nv_wo32(dev, ctx, i/4, 0x07ff0000); + nv_wo32(dev, ctx, 0x05e0/4, 0x4b7fffff); + nv_wo32(dev, ctx, 0x0620/4, 0x00000080); + nv_wo32(dev, ctx, 0x0624/4, 0x30201000); + nv_wo32(dev, ctx, 0x0628/4, 0x70605040); + nv_wo32(dev, ctx, 0x062c/4, 0xb0a09080); + nv_wo32(dev, ctx, 0x0630/4, 0xf0e0d0c0); + nv_wo32(dev, ctx, 0x0664/4, 0x00000001); + nv_wo32(dev, ctx, 0x066c/4, 0x00004000); + nv_wo32(dev, ctx, 0x0678/4, 0x00000001); + nv_wo32(dev, ctx, 0x0680/4, 0x00040000); + nv_wo32(dev, ctx, 0x0684/4, 0x00010000); + for (i = 0x1b04; i <= 0x2374; i += 16) { + nv_wo32(dev, ctx, (i + 0)/4, 0x10700ff9); + nv_wo32(dev, ctx, (i + 4)/4, 0x0436086c); + nv_wo32(dev, ctx, (i + 8)/4, 0x000c001b); + } + nv_wo32(dev, ctx, 0x2704/4, 0x3f800000); + nv_wo32(dev, ctx, 0x2718/4, 0x3f800000); + nv_wo32(dev, ctx, 0x2744/4, 0x40000000); + nv_wo32(dev, ctx, 0x2748/4, 0x3f800000); + nv_wo32(dev, ctx, 0x274c/4, 0x3f000000); + nv_wo32(dev, ctx, 0x2754/4, 0x40000000); + nv_wo32(dev, ctx, 0x2758/4, 0x3f800000); + nv_wo32(dev, ctx, 0x2760/4, 0xbf800000); + nv_wo32(dev, ctx, 0x2768/4, 0xbf800000); + nv_wo32(dev, ctx, 0x308c/4, 0x000fe000); + nv_wo32(dev, ctx, 0x3108/4, 0x000003f8); + nv_wo32(dev, ctx, 0x3468/4, 0x002fe000); + for (i = 0x3484; i <= 0x34a0; i += 4) + nv_wo32(dev, ctx, i/4, 0x001c527c); +} + +static void +nv2a_graph_context_init(struct drm_device *dev, struct nouveau_gpuobj *ctx) +{ + int i; + + nv_wo32(dev, ctx, 0x033c/4, 0xffff0000); + nv_wo32(dev, ctx, 0x03a0/4, 0x0fff0000); + nv_wo32(dev, ctx, 0x03a4/4, 0x0fff0000); + nv_wo32(dev, ctx, 0x047c/4, 0x00000101); + nv_wo32(dev, ctx, 0x0490/4, 0x00000111); + nv_wo32(dev, ctx, 0x04a8/4, 0x44400000); + for (i = 0x04d4; i <= 0x04e0; i += 4) + nv_wo32(dev, ctx, i/4, 0x00030303); + for (i = 0x04f4; i <= 0x0500; i += 4) + nv_wo32(dev, ctx, i/4, 0x00080000); + for (i = 0x050c; i <= 0x0518; i += 4) + nv_wo32(dev, ctx, i/4, 0x01012000); + for (i = 0x051c; i <= 0x0528; i += 4) + nv_wo32(dev, ctx, i/4, 0x000105b8); + for (i = 0x052c; i <= 0x0538; i += 4) + nv_wo32(dev, ctx, i/4, 0x00080008); + for (i = 0x055c; i <= 0x0598; i += 4) + nv_wo32(dev, ctx, i/4, 0x07ff0000); + nv_wo32(dev, ctx, 0x05a4/4, 0x4b7fffff); + nv_wo32(dev, ctx, 0x05fc/4, 0x00000001); + nv_wo32(dev, ctx, 0x0604/4, 0x00004000); + nv_wo32(dev, ctx, 0x0610/4, 0x00000001); + nv_wo32(dev, ctx, 0x0618/4, 0x00040000); + nv_wo32(dev, ctx, 0x061c/4, 0x00010000); + for (i = 0x1a9c; i <= 0x22fc; i += 16) { /*XXX: check!! */ + nv_wo32(dev, ctx, (i + 0)/4, 0x10700ff9); + nv_wo32(dev, ctx, (i + 4)/4, 0x0436086c); + nv_wo32(dev, ctx, (i + 8)/4, 0x000c001b); + } + nv_wo32(dev, ctx, 0x269c/4, 0x3f800000); + nv_wo32(dev, ctx, 0x26b0/4, 0x3f800000); + nv_wo32(dev, ctx, 0x26dc/4, 0x40000000); + nv_wo32(dev, ctx, 0x26e0/4, 0x3f800000); + nv_wo32(dev, ctx, 0x26e4/4, 0x3f000000); + nv_wo32(dev, ctx, 0x26ec/4, 0x40000000); + nv_wo32(dev, ctx, 0x26f0/4, 0x3f800000); + nv_wo32(dev, ctx, 0x26f8/4, 0xbf800000); + nv_wo32(dev, ctx, 0x2700/4, 0xbf800000); + nv_wo32(dev, ctx, 0x3024/4, 0x000fe000); + nv_wo32(dev, ctx, 0x30a0/4, 0x000003f8); + nv_wo32(dev, ctx, 0x33fc/4, 0x002fe000); + for (i = 0x341c; i <= 0x3438; i += 4) + nv_wo32(dev, ctx, i/4, 0x001c527c); +} + +static void +nv30_31_graph_context_init(struct drm_device *dev, struct nouveau_gpuobj *ctx) +{ + int i; + + nv_wo32(dev, ctx, 0x0410/4, 0x00000101); + nv_wo32(dev, ctx, 0x0424/4, 0x00000111); + nv_wo32(dev, ctx, 0x0428/4, 0x00000060); + nv_wo32(dev, ctx, 0x0444/4, 0x00000080); + nv_wo32(dev, ctx, 0x0448/4, 0xffff0000); + nv_wo32(dev, ctx, 0x044c/4, 0x00000001); + nv_wo32(dev, ctx, 0x0460/4, 0x44400000); + nv_wo32(dev, ctx, 0x048c/4, 0xffff0000); + for (i = 0x04e0; i < 0x04e8; i += 4) + nv_wo32(dev, ctx, i/4, 0x0fff0000); + nv_wo32(dev, ctx, 0x04ec/4, 0x00011100); + for (i = 0x0508; i < 0x0548; i += 4) + nv_wo32(dev, ctx, i/4, 0x07ff0000); + nv_wo32(dev, ctx, 0x0550/4, 0x4b7fffff); + nv_wo32(dev, ctx, 0x058c/4, 0x00000080); + nv_wo32(dev, ctx, 0x0590/4, 0x30201000); + nv_wo32(dev, ctx, 0x0594/4, 0x70605040); + nv_wo32(dev, ctx, 0x0598/4, 0xb8a89888); + nv_wo32(dev, ctx, 0x059c/4, 0xf8e8d8c8); + nv_wo32(dev, ctx, 0x05b0/4, 0xb0000000); + for (i = 0x0600; i < 0x0640; i += 4) + nv_wo32(dev, ctx, i/4, 0x00010588); + for (i = 0x0640; i < 0x0680; i += 4) + nv_wo32(dev, ctx, i/4, 0x00030303); + for (i = 0x06c0; i < 0x0700; i += 4) + nv_wo32(dev, ctx, i/4, 0x0008aae4); + for (i = 0x0700; i < 0x0740; i += 4) + nv_wo32(dev, ctx, i/4, 0x01012000); + for (i = 0x0740; i < 0x0780; i += 4) + nv_wo32(dev, ctx, i/4, 0x00080008); + nv_wo32(dev, ctx, 0x085c/4, 0x00040000); + nv_wo32(dev, ctx, 0x0860/4, 0x00010000); + for (i = 0x0864; i < 0x0874; i += 4) + nv_wo32(dev, ctx, i/4, 0x00040004); + for (i = 0x1f18; i <= 0x3088 ; i += 16) { + nv_wo32(dev, ctx, i/4 + 0, 0x10700ff9); + nv_wo32(dev, ctx, i/4 + 1, 0x0436086c); + nv_wo32(dev, ctx, i/4 + 2, 0x000c001b); + } + for (i = 0x30b8; i < 0x30c8; i += 4) + nv_wo32(dev, ctx, i/4, 0x0000ffff); + nv_wo32(dev, ctx, 0x344c/4, 0x3f800000); + nv_wo32(dev, ctx, 0x3808/4, 0x3f800000); + nv_wo32(dev, ctx, 0x381c/4, 0x3f800000); + nv_wo32(dev, ctx, 0x3848/4, 0x40000000); + nv_wo32(dev, ctx, 0x384c/4, 0x3f800000); + nv_wo32(dev, ctx, 0x3850/4, 0x3f000000); + nv_wo32(dev, ctx, 0x3858/4, 0x40000000); + nv_wo32(dev, ctx, 0x385c/4, 0x3f800000); + nv_wo32(dev, ctx, 0x3864/4, 0xbf800000); + nv_wo32(dev, ctx, 0x386c/4, 0xbf800000); +} + +static void +nv34_graph_context_init(struct drm_device *dev, struct nouveau_gpuobj *ctx) +{ + int i; + + nv_wo32(dev, ctx, 0x040c/4, 0x01000101); + nv_wo32(dev, ctx, 0x0420/4, 0x00000111); + nv_wo32(dev, ctx, 0x0424/4, 0x00000060); + nv_wo32(dev, ctx, 0x0440/4, 0x00000080); + nv_wo32(dev, ctx, 0x0444/4, 0xffff0000); + nv_wo32(dev, ctx, 0x0448/4, 0x00000001); + nv_wo32(dev, ctx, 0x045c/4, 0x44400000); + nv_wo32(dev, ctx, 0x0480/4, 0xffff0000); + for (i = 0x04d4; i < 0x04dc; i += 4) + nv_wo32(dev, ctx, i/4, 0x0fff0000); + nv_wo32(dev, ctx, 0x04e0/4, 0x00011100); + for (i = 0x04fc; i < 0x053c; i += 4) + nv_wo32(dev, ctx, i/4, 0x07ff0000); + nv_wo32(dev, ctx, 0x0544/4, 0x4b7fffff); + nv_wo32(dev, ctx, 0x057c/4, 0x00000080); + nv_wo32(dev, ctx, 0x0580/4, 0x30201000); + nv_wo32(dev, ctx, 0x0584/4, 0x70605040); + nv_wo32(dev, ctx, 0x0588/4, 0xb8a89888); + nv_wo32(dev, ctx, 0x058c/4, 0xf8e8d8c8); + nv_wo32(dev, ctx, 0x05a0/4, 0xb0000000); + for (i = 0x05f0; i < 0x0630; i += 4) + nv_wo32(dev, ctx, i/4, 0x00010588); + for (i = 0x0630; i < 0x0670; i += 4) + nv_wo32(dev, ctx, i/4, 0x00030303); + for (i = 0x06b0; i < 0x06f0; i += 4) + nv_wo32(dev, ctx, i/4, 0x0008aae4); + for (i = 0x06f0; i < 0x0730; i += 4) + nv_wo32(dev, ctx, i/4, 0x01012000); + for (i = 0x0730; i < 0x0770; i += 4) + nv_wo32(dev, ctx, i/4, 0x00080008); + nv_wo32(dev, ctx, 0x0850/4, 0x00040000); + nv_wo32(dev, ctx, 0x0854/4, 0x00010000); + for (i = 0x0858; i < 0x0868; i += 4) + nv_wo32(dev, ctx, i/4, 0x00040004); + for (i = 0x15ac; i <= 0x271c ; i += 16) { + nv_wo32(dev, ctx, i/4 + 0, 0x10700ff9); + nv_wo32(dev, ctx, i/4 + 1, 0x0436086c); + nv_wo32(dev, ctx, i/4 + 2, 0x000c001b); + } + for (i = 0x274c; i < 0x275c; i += 4) + nv_wo32(dev, ctx, i/4, 0x0000ffff); + nv_wo32(dev, ctx, 0x2ae0/4, 0x3f800000); + nv_wo32(dev, ctx, 0x2e9c/4, 0x3f800000); + nv_wo32(dev, ctx, 0x2eb0/4, 0x3f800000); + nv_wo32(dev, ctx, 0x2edc/4, 0x40000000); + nv_wo32(dev, ctx, 0x2ee0/4, 0x3f800000); + nv_wo32(dev, ctx, 0x2ee4/4, 0x3f000000); + nv_wo32(dev, ctx, 0x2eec/4, 0x40000000); + nv_wo32(dev, ctx, 0x2ef0/4, 0x3f800000); + nv_wo32(dev, ctx, 0x2ef8/4, 0xbf800000); + nv_wo32(dev, ctx, 0x2f00/4, 0xbf800000); +} + +static void +nv35_36_graph_context_init(struct drm_device *dev, struct nouveau_gpuobj *ctx) +{ + int i; + + nv_wo32(dev, ctx, 0x040c/4, 0x00000101); + nv_wo32(dev, ctx, 0x0420/4, 0x00000111); + nv_wo32(dev, ctx, 0x0424/4, 0x00000060); + nv_wo32(dev, ctx, 0x0440/4, 0x00000080); + nv_wo32(dev, ctx, 0x0444/4, 0xffff0000); + nv_wo32(dev, ctx, 0x0448/4, 0x00000001); + nv_wo32(dev, ctx, 0x045c/4, 0x44400000); + nv_wo32(dev, ctx, 0x0488/4, 0xffff0000); + for (i = 0x04dc; i < 0x04e4; i += 4) + nv_wo32(dev, ctx, i/4, 0x0fff0000); + nv_wo32(dev, ctx, 0x04e8/4, 0x00011100); + for (i = 0x0504; i < 0x0544; i += 4) + nv_wo32(dev, ctx, i/4, 0x07ff0000); + nv_wo32(dev, ctx, 0x054c/4, 0x4b7fffff); + nv_wo32(dev, ctx, 0x0588/4, 0x00000080); + nv_wo32(dev, ctx, 0x058c/4, 0x30201000); + nv_wo32(dev, ctx, 0x0590/4, 0x70605040); + nv_wo32(dev, ctx, 0x0594/4, 0xb8a89888); + nv_wo32(dev, ctx, 0x0598/4, 0xf8e8d8c8); + nv_wo32(dev, ctx, 0x05ac/4, 0xb0000000); + for (i = 0x0604; i < 0x0644; i += 4) + nv_wo32(dev, ctx, i/4, 0x00010588); + for (i = 0x0644; i < 0x0684; i += 4) + nv_wo32(dev, ctx, i/4, 0x00030303); + for (i = 0x06c4; i < 0x0704; i += 4) + nv_wo32(dev, ctx, i/4, 0x0008aae4); + for (i = 0x0704; i < 0x0744; i += 4) + nv_wo32(dev, ctx, i/4, 0x01012000); + for (i = 0x0744; i < 0x0784; i += 4) + nv_wo32(dev, ctx, i/4, 0x00080008); + nv_wo32(dev, ctx, 0x0860/4, 0x00040000); + nv_wo32(dev, ctx, 0x0864/4, 0x00010000); + for (i = 0x0868; i < 0x0878; i += 4) + nv_wo32(dev, ctx, i/4, 0x00040004); + for (i = 0x1f1c; i <= 0x308c ; i += 16) { + nv_wo32(dev, ctx, i/4 + 0, 0x10700ff9); + nv_wo32(dev, ctx, i/4 + 1, 0x0436086c); + nv_wo32(dev, ctx, i/4 + 2, 0x000c001b); + } + for (i = 0x30bc; i < 0x30cc; i += 4) + nv_wo32(dev, ctx, i/4, 0x0000ffff); + nv_wo32(dev, ctx, 0x3450/4, 0x3f800000); + nv_wo32(dev, ctx, 0x380c/4, 0x3f800000); + nv_wo32(dev, ctx, 0x3820/4, 0x3f800000); + nv_wo32(dev, ctx, 0x384c/4, 0x40000000); + nv_wo32(dev, ctx, 0x3850/4, 0x3f800000); + nv_wo32(dev, ctx, 0x3854/4, 0x3f000000); + nv_wo32(dev, ctx, 0x385c/4, 0x40000000); + nv_wo32(dev, ctx, 0x3860/4, 0x3f800000); + nv_wo32(dev, ctx, 0x3868/4, 0xbf800000); + nv_wo32(dev, ctx, 0x3870/4, 0xbf800000); +} + +int +nv20_graph_create_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + void (*ctx_init)(struct drm_device *, struct nouveau_gpuobj *); + unsigned int ctx_size; + unsigned int idoffs = 0x28/4; + int ret; + + switch (dev_priv->chipset) { + case 0x20: + ctx_size = NV20_GRCTX_SIZE; + ctx_init = nv20_graph_context_init; + idoffs = 0; + break; + case 0x25: + case 0x28: + ctx_size = NV25_GRCTX_SIZE; + ctx_init = nv25_graph_context_init; + break; + case 0x2a: + ctx_size = NV2A_GRCTX_SIZE; + ctx_init = nv2a_graph_context_init; + idoffs = 0; + break; + case 0x30: + case 0x31: + ctx_size = NV30_31_GRCTX_SIZE; + ctx_init = nv30_31_graph_context_init; + break; + case 0x34: + ctx_size = NV34_GRCTX_SIZE; + ctx_init = nv34_graph_context_init; + break; + case 0x35: + case 0x36: + ctx_size = NV35_36_GRCTX_SIZE; + ctx_init = nv35_36_graph_context_init; + break; + default: + ctx_size = 0; + ctx_init = nv35_36_graph_context_init; + NV_ERROR(dev, "Please contact the devs if you want your NV%x" + " card to work\n", dev_priv->chipset); + return -ENOSYS; + break; + } + + ret = nouveau_gpuobj_new_ref(dev, chan, NULL, 0, ctx_size, 16, + NVOBJ_FLAG_ZERO_ALLOC, + &chan->ramin_grctx); + if (ret) + return ret; + + /* Initialise default context values */ + dev_priv->engine.instmem.prepare_access(dev, true); + ctx_init(dev, chan->ramin_grctx->gpuobj); + + /* nv20: nv_wo32(dev, chan->ramin_grctx->gpuobj, 10, chan->id<<24); */ + nv_wo32(dev, chan->ramin_grctx->gpuobj, idoffs, + (chan->id << 24) | 0x1); /* CTX_USER */ + + nv_wo32(dev, dev_priv->ctx_table->gpuobj, chan->id, + chan->ramin_grctx->instance >> 4); + + dev_priv->engine.instmem.finish_access(dev); + return 0; +} + +void +nv20_graph_destroy_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + + if (chan->ramin_grctx) + nouveau_gpuobj_ref_del(dev, &chan->ramin_grctx); + + dev_priv->engine.instmem.prepare_access(dev, true); + nv_wo32(dev, dev_priv->ctx_table->gpuobj, chan->id, 0); + dev_priv->engine.instmem.finish_access(dev); +} + +int +nv20_graph_load_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + uint32_t inst; + + if (!chan->ramin_grctx) + return -EINVAL; + inst = chan->ramin_grctx->instance >> 4; + + nv_wr32(dev, NV20_PGRAPH_CHANNEL_CTX_POINTER, inst); + nv_wr32(dev, NV20_PGRAPH_CHANNEL_CTX_XFER, + NV20_PGRAPH_CHANNEL_CTX_XFER_LOAD); + nv_wr32(dev, NV10_PGRAPH_CTX_CONTROL, 0x10010100); + + nouveau_wait_for_idle(dev); + return 0; +} + +int +nv20_graph_unload_context(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_pgraph_engine *pgraph = &dev_priv->engine.graph; + struct nouveau_fifo_engine *pfifo = &dev_priv->engine.fifo; + struct nouveau_channel *chan; + uint32_t inst, tmp; + + chan = pgraph->channel(dev); + if (!chan) + return 0; + inst = chan->ramin_grctx->instance >> 4; + + nv_wr32(dev, NV20_PGRAPH_CHANNEL_CTX_POINTER, inst); + nv_wr32(dev, NV20_PGRAPH_CHANNEL_CTX_XFER, + NV20_PGRAPH_CHANNEL_CTX_XFER_SAVE); + + nouveau_wait_for_idle(dev); + + nv_wr32(dev, NV10_PGRAPH_CTX_CONTROL, 0x10000000); + tmp = nv_rd32(dev, NV10_PGRAPH_CTX_USER) & 0x00ffffff; + tmp |= (pfifo->channels - 1) << 24; + nv_wr32(dev, NV10_PGRAPH_CTX_USER, tmp); + return 0; +} + +static void +nv20_graph_rdi(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + int i, writecount = 32; + uint32_t rdi_index = 0x2c80000; + + if (dev_priv->chipset == 0x20) { + rdi_index = 0x3d0000; + writecount = 15; + } + + nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, rdi_index); + for (i = 0; i < writecount; i++) + nv_wr32(dev, NV10_PGRAPH_RDI_DATA, 0); + + nouveau_wait_for_idle(dev); +} + +void +nv20_graph_set_region_tiling(struct drm_device *dev, int i, uint32_t addr, + uint32_t size, uint32_t pitch) +{ + uint32_t limit = max(1u, addr + size) - 1; + + if (pitch) + addr |= 1; + + nv_wr32(dev, NV20_PGRAPH_TLIMIT(i), limit); + nv_wr32(dev, NV20_PGRAPH_TSIZE(i), pitch); + nv_wr32(dev, NV20_PGRAPH_TILE(i), addr); + + nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, 0x00EA0030 + 4 * i); + nv_wr32(dev, NV10_PGRAPH_RDI_DATA, limit); + nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, 0x00EA0050 + 4 * i); + nv_wr32(dev, NV10_PGRAPH_RDI_DATA, pitch); + nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, 0x00EA0010 + 4 * i); + nv_wr32(dev, NV10_PGRAPH_RDI_DATA, addr); +} + +int +nv20_graph_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = + (struct drm_nouveau_private *)dev->dev_private; + uint32_t tmp, vramsz; + int ret, i; + + nv_wr32(dev, NV03_PMC_ENABLE, + nv_rd32(dev, NV03_PMC_ENABLE) & ~NV_PMC_ENABLE_PGRAPH); + nv_wr32(dev, NV03_PMC_ENABLE, + nv_rd32(dev, NV03_PMC_ENABLE) | NV_PMC_ENABLE_PGRAPH); + + if (!dev_priv->ctx_table) { + /* Create Context Pointer Table */ + dev_priv->ctx_table_size = 32 * 4; + ret = nouveau_gpuobj_new_ref(dev, NULL, NULL, 0, + dev_priv->ctx_table_size, 16, + NVOBJ_FLAG_ZERO_ALLOC, + &dev_priv->ctx_table); + if (ret) + return ret; + } + + nv_wr32(dev, NV20_PGRAPH_CHANNEL_CTX_TABLE, + dev_priv->ctx_table->instance >> 4); + + nv20_graph_rdi(dev); + + nv_wr32(dev, NV03_PGRAPH_INTR , 0xFFFFFFFF); + nv_wr32(dev, NV03_PGRAPH_INTR_EN, 0xFFFFFFFF); + + nv_wr32(dev, NV04_PGRAPH_DEBUG_0, 0xFFFFFFFF); + nv_wr32(dev, NV04_PGRAPH_DEBUG_0, 0x00000000); + nv_wr32(dev, NV04_PGRAPH_DEBUG_1, 0x00118700); + nv_wr32(dev, NV04_PGRAPH_DEBUG_3, 0xF3CE0475); /* 0x4 = auto ctx switch */ + nv_wr32(dev, NV10_PGRAPH_DEBUG_4, 0x00000000); + nv_wr32(dev, 0x40009C , 0x00000040); + + if (dev_priv->chipset >= 0x25) { + nv_wr32(dev, 0x400890, 0x00080000); + nv_wr32(dev, 0x400610, 0x304B1FB6); + nv_wr32(dev, 0x400B80, 0x18B82880); + nv_wr32(dev, 0x400B84, 0x44000000); + nv_wr32(dev, 0x400098, 0x40000080); + nv_wr32(dev, 0x400B88, 0x000000ff); + } else { + nv_wr32(dev, 0x400880, 0x00080000); /* 0x0008c7df */ + nv_wr32(dev, 0x400094, 0x00000005); + nv_wr32(dev, 0x400B80, 0x45CAA208); /* 0x45eae20e */ + nv_wr32(dev, 0x400B84, 0x24000000); + nv_wr32(dev, 0x400098, 0x00000040); + nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, 0x00E00038); + nv_wr32(dev, NV10_PGRAPH_RDI_DATA , 0x00000030); + nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, 0x00E10038); + nv_wr32(dev, NV10_PGRAPH_RDI_DATA , 0x00000030); + } + + /* Turn all the tiling regions off. */ + for (i = 0; i < NV10_PFB_TILE__SIZE; i++) + nv20_graph_set_region_tiling(dev, i, 0, 0, 0); + + for (i = 0; i < 8; i++) { + nv_wr32(dev, 0x400980 + i * 4, nv_rd32(dev, 0x100300 + i * 4)); + nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, 0x00EA0090 + i * 4); + nv_wr32(dev, NV10_PGRAPH_RDI_DATA, + nv_rd32(dev, 0x100300 + i * 4)); + } + nv_wr32(dev, 0x4009a0, nv_rd32(dev, 0x100324)); + nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, 0x00EA000C); + nv_wr32(dev, NV10_PGRAPH_RDI_DATA, nv_rd32(dev, 0x100324)); + + nv_wr32(dev, NV10_PGRAPH_CTX_CONTROL, 0x10000100); + nv_wr32(dev, NV10_PGRAPH_STATE , 0xFFFFFFFF); + + tmp = nv_rd32(dev, NV10_PGRAPH_SURFACE) & 0x0007ff00; + nv_wr32(dev, NV10_PGRAPH_SURFACE, tmp); + tmp = nv_rd32(dev, NV10_PGRAPH_SURFACE) | 0x00020100; + nv_wr32(dev, NV10_PGRAPH_SURFACE, tmp); + + /* begin RAM config */ + vramsz = drm_get_resource_len(dev, 0) - 1; + nv_wr32(dev, 0x4009A4, nv_rd32(dev, NV04_PFB_CFG0)); + nv_wr32(dev, 0x4009A8, nv_rd32(dev, NV04_PFB_CFG1)); + nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, 0x00EA0000); + nv_wr32(dev, NV10_PGRAPH_RDI_DATA , nv_rd32(dev, NV04_PFB_CFG0)); + nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, 0x00EA0004); + nv_wr32(dev, NV10_PGRAPH_RDI_DATA , nv_rd32(dev, NV04_PFB_CFG1)); + nv_wr32(dev, 0x400820, 0); + nv_wr32(dev, 0x400824, 0); + nv_wr32(dev, 0x400864, vramsz - 1); + nv_wr32(dev, 0x400868, vramsz - 1); + + /* interesting.. the below overwrites some of the tile setup above.. */ + nv_wr32(dev, 0x400B20, 0x00000000); + nv_wr32(dev, 0x400B04, 0xFFFFFFFF); + + nv_wr32(dev, NV03_PGRAPH_ABS_UCLIP_XMIN, 0); + nv_wr32(dev, NV03_PGRAPH_ABS_UCLIP_YMIN, 0); + nv_wr32(dev, NV03_PGRAPH_ABS_UCLIP_XMAX, 0x7fff); + nv_wr32(dev, NV03_PGRAPH_ABS_UCLIP_YMAX, 0x7fff); + + return 0; +} + +void +nv20_graph_takedown(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + nouveau_gpuobj_ref_del(dev, &dev_priv->ctx_table); +} + +int +nv30_graph_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + int ret, i; + + nv_wr32(dev, NV03_PMC_ENABLE, + nv_rd32(dev, NV03_PMC_ENABLE) & ~NV_PMC_ENABLE_PGRAPH); + nv_wr32(dev, NV03_PMC_ENABLE, + nv_rd32(dev, NV03_PMC_ENABLE) | NV_PMC_ENABLE_PGRAPH); + + if (!dev_priv->ctx_table) { + /* Create Context Pointer Table */ + dev_priv->ctx_table_size = 32 * 4; + ret = nouveau_gpuobj_new_ref(dev, NULL, NULL, 0, + dev_priv->ctx_table_size, 16, + NVOBJ_FLAG_ZERO_ALLOC, + &dev_priv->ctx_table); + if (ret) + return ret; + } + + nv_wr32(dev, NV20_PGRAPH_CHANNEL_CTX_TABLE, + dev_priv->ctx_table->instance >> 4); + + nv_wr32(dev, NV03_PGRAPH_INTR , 0xFFFFFFFF); + nv_wr32(dev, NV03_PGRAPH_INTR_EN, 0xFFFFFFFF); + + nv_wr32(dev, NV04_PGRAPH_DEBUG_0, 0xFFFFFFFF); + nv_wr32(dev, NV04_PGRAPH_DEBUG_0, 0x00000000); + nv_wr32(dev, NV04_PGRAPH_DEBUG_1, 0x401287c0); + nv_wr32(dev, 0x400890, 0x01b463ff); + nv_wr32(dev, NV04_PGRAPH_DEBUG_3, 0xf2de0475); + nv_wr32(dev, NV10_PGRAPH_DEBUG_4, 0x00008000); + nv_wr32(dev, NV04_PGRAPH_LIMIT_VIOL_PIX, 0xf04bdff6); + nv_wr32(dev, 0x400B80, 0x1003d888); + nv_wr32(dev, 0x400B84, 0x0c000000); + nv_wr32(dev, 0x400098, 0x00000000); + nv_wr32(dev, 0x40009C, 0x0005ad00); + nv_wr32(dev, 0x400B88, 0x62ff00ff); /* suspiciously like PGRAPH_DEBUG_2 */ + nv_wr32(dev, 0x4000a0, 0x00000000); + nv_wr32(dev, 0x4000a4, 0x00000008); + nv_wr32(dev, 0x4008a8, 0xb784a400); + nv_wr32(dev, 0x400ba0, 0x002f8685); + nv_wr32(dev, 0x400ba4, 0x00231f3f); + nv_wr32(dev, 0x4008a4, 0x40000020); + + if (dev_priv->chipset == 0x34) { + nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, 0x00EA0004); + nv_wr32(dev, NV10_PGRAPH_RDI_DATA , 0x00200201); + nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, 0x00EA0008); + nv_wr32(dev, NV10_PGRAPH_RDI_DATA , 0x00000008); + nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, 0x00EA0000); + nv_wr32(dev, NV10_PGRAPH_RDI_DATA , 0x00000032); + nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, 0x00E00004); + nv_wr32(dev, NV10_PGRAPH_RDI_DATA , 0x00000002); + } + + nv_wr32(dev, 0x4000c0, 0x00000016); + + /* Turn all the tiling regions off. */ + for (i = 0; i < NV10_PFB_TILE__SIZE; i++) + nv20_graph_set_region_tiling(dev, i, 0, 0, 0); + + nv_wr32(dev, NV10_PGRAPH_CTX_CONTROL, 0x10000100); + nv_wr32(dev, NV10_PGRAPH_STATE , 0xFFFFFFFF); + nv_wr32(dev, 0x0040075c , 0x00000001); + + /* begin RAM config */ + /* vramsz = drm_get_resource_len(dev, 0) - 1; */ + nv_wr32(dev, 0x4009A4, nv_rd32(dev, NV04_PFB_CFG0)); + nv_wr32(dev, 0x4009A8, nv_rd32(dev, NV04_PFB_CFG1)); + if (dev_priv->chipset != 0x34) { + nv_wr32(dev, 0x400750, 0x00EA0000); + nv_wr32(dev, 0x400754, nv_rd32(dev, NV04_PFB_CFG0)); + nv_wr32(dev, 0x400750, 0x00EA0004); + nv_wr32(dev, 0x400754, nv_rd32(dev, NV04_PFB_CFG1)); + } + + return 0; +} + +struct nouveau_pgraph_object_class nv20_graph_grclass[] = { + { 0x0030, false, NULL }, /* null */ + { 0x0039, false, NULL }, /* m2mf */ + { 0x004a, false, NULL }, /* gdirect */ + { 0x009f, false, NULL }, /* imageblit (nv12) */ + { 0x008a, false, NULL }, /* ifc */ + { 0x0089, false, NULL }, /* sifm */ + { 0x0062, false, NULL }, /* surf2d */ + { 0x0043, false, NULL }, /* rop */ + { 0x0012, false, NULL }, /* beta1 */ + { 0x0072, false, NULL }, /* beta4 */ + { 0x0019, false, NULL }, /* cliprect */ + { 0x0044, false, NULL }, /* pattern */ + { 0x009e, false, NULL }, /* swzsurf */ + { 0x0096, false, NULL }, /* celcius */ + { 0x0097, false, NULL }, /* kelvin (nv20) */ + { 0x0597, false, NULL }, /* kelvin (nv25) */ + {} +}; + +struct nouveau_pgraph_object_class nv30_graph_grclass[] = { + { 0x0030, false, NULL }, /* null */ + { 0x0039, false, NULL }, /* m2mf */ + { 0x004a, false, NULL }, /* gdirect */ + { 0x009f, false, NULL }, /* imageblit (nv12) */ + { 0x008a, false, NULL }, /* ifc */ + { 0x038a, false, NULL }, /* ifc (nv30) */ + { 0x0089, false, NULL }, /* sifm */ + { 0x0389, false, NULL }, /* sifm (nv30) */ + { 0x0062, false, NULL }, /* surf2d */ + { 0x0362, false, NULL }, /* surf2d (nv30) */ + { 0x0043, false, NULL }, /* rop */ + { 0x0012, false, NULL }, /* beta1 */ + { 0x0072, false, NULL }, /* beta4 */ + { 0x0019, false, NULL }, /* cliprect */ + { 0x0044, false, NULL }, /* pattern */ + { 0x039e, false, NULL }, /* swzsurf */ + { 0x0397, false, NULL }, /* rankine (nv30) */ + { 0x0497, false, NULL }, /* rankine (nv35) */ + { 0x0697, false, NULL }, /* rankine (nv34) */ + {} +}; + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv40_fb.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv40_fb.c @@ -0,0 +1,75 @@ +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" +#include "nouveau_drm.h" + +void +nv40_fb_set_region_tiling(struct drm_device *dev, int i, uint32_t addr, + uint32_t size, uint32_t pitch) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t limit = max(1u, addr + size) - 1; + + if (pitch) + addr |= 1; + + switch (dev_priv->chipset) { + case 0x40: + nv_wr32(dev, NV10_PFB_TLIMIT(i), limit); + nv_wr32(dev, NV10_PFB_TSIZE(i), pitch); + nv_wr32(dev, NV10_PFB_TILE(i), addr); + break; + + default: + nv_wr32(dev, NV40_PFB_TLIMIT(i), limit); + nv_wr32(dev, NV40_PFB_TSIZE(i), pitch); + nv_wr32(dev, NV40_PFB_TILE(i), addr); + break; + } +} + +int +nv40_fb_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_fb_engine *pfb = &dev_priv->engine.fb; + uint32_t tmp; + int i; + + /* This is strictly a NV4x register (don't know about NV5x). */ + /* The blob sets these to all kinds of values, and they mess up our setup. */ + /* I got value 0x52802 instead. For some cards the blob even sets it back to 0x1. */ + /* Note: the blob doesn't read this value, so i'm pretty sure this is safe for all cards. */ + /* Any idea what this is? */ + nv_wr32(dev, NV40_PFB_UNK_800, 0x1); + + switch (dev_priv->chipset) { + case 0x40: + case 0x45: + tmp = nv_rd32(dev, NV10_PFB_CLOSE_PAGE2); + nv_wr32(dev, NV10_PFB_CLOSE_PAGE2, tmp & ~(1 << 15)); + pfb->num_tiles = NV10_PFB_TILE__SIZE; + break; + case 0x46: /* G72 */ + case 0x47: /* G70 */ + case 0x49: /* G71 */ + case 0x4b: /* G73 */ + case 0x4c: /* C51 (G7X version) */ + pfb->num_tiles = NV40_PFB_TILE__SIZE_1; + break; + default: + pfb->num_tiles = NV40_PFB_TILE__SIZE_0; + break; + } + + /* Turn all the tiling regions off. */ + for (i = 0; i < pfb->num_tiles; i++) + pfb->set_region_tiling(dev, i, 0, 0, 0); + + return 0; +} + +void +nv40_fb_takedown(struct drm_device *dev) +{ +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv40_fifo.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv40_fifo.c @@ -0,0 +1,314 @@ +/* + * Copyright (C) 2007 Ben Skeggs. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "nouveau_drv.h" +#include "nouveau_drm.h" + +#define NV40_RAMFC(c) (dev_priv->ramfc_offset + ((c) * NV40_RAMFC__SIZE)) +#define NV40_RAMFC__SIZE 128 + +int +nv40_fifo_create_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t fc = NV40_RAMFC(chan->id); + int ret; + + ret = nouveau_gpuobj_new_fake(dev, NV40_RAMFC(chan->id), ~0, + NV40_RAMFC__SIZE, NVOBJ_FLAG_ZERO_ALLOC | + NVOBJ_FLAG_ZERO_FREE, NULL, &chan->ramfc); + if (ret) + return ret; + + dev_priv->engine.instmem.prepare_access(dev, true); + nv_wi32(dev, fc + 0, chan->pushbuf_base); + nv_wi32(dev, fc + 4, chan->pushbuf_base); + nv_wi32(dev, fc + 12, chan->pushbuf->instance >> 4); + nv_wi32(dev, fc + 24, NV_PFIFO_CACHE1_DMA_FETCH_TRIG_128_BYTES | + NV_PFIFO_CACHE1_DMA_FETCH_SIZE_128_BYTES | + NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_8 | +#ifdef __BIG_ENDIAN + NV_PFIFO_CACHE1_BIG_ENDIAN | +#endif + 0x30000000 /* no idea.. */); + nv_wi32(dev, fc + 56, chan->ramin_grctx->instance >> 4); + nv_wi32(dev, fc + 60, 0x0001FFFF); + dev_priv->engine.instmem.finish_access(dev); + + /* enable the fifo dma operation */ + nv_wr32(dev, NV04_PFIFO_MODE, + nv_rd32(dev, NV04_PFIFO_MODE) | (1 << chan->id)); + return 0; +} + +void +nv40_fifo_destroy_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + + nv_wr32(dev, NV04_PFIFO_MODE, + nv_rd32(dev, NV04_PFIFO_MODE) & ~(1 << chan->id)); + + if (chan->ramfc) + nouveau_gpuobj_ref_del(dev, &chan->ramfc); +} + +static void +nv40_fifo_do_load_context(struct drm_device *dev, int chid) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t fc = NV40_RAMFC(chid), tmp, tmp2; + + dev_priv->engine.instmem.prepare_access(dev, false); + + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_PUT, nv_ri32(dev, fc + 0)); + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_GET, nv_ri32(dev, fc + 4)); + nv_wr32(dev, NV10_PFIFO_CACHE1_REF_CNT, nv_ri32(dev, fc + 8)); + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_INSTANCE, nv_ri32(dev, fc + 12)); + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_DCOUNT, nv_ri32(dev, fc + 16)); + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_STATE, nv_ri32(dev, fc + 20)); + + /* No idea what 0x2058 is.. */ + tmp = nv_ri32(dev, fc + 24); + tmp2 = nv_rd32(dev, 0x2058) & 0xFFF; + tmp2 |= (tmp & 0x30000000); + nv_wr32(dev, 0x2058, tmp2); + tmp &= ~0x30000000; + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_FETCH, tmp); + + nv_wr32(dev, NV04_PFIFO_CACHE1_ENGINE, nv_ri32(dev, fc + 28)); + nv_wr32(dev, NV04_PFIFO_CACHE1_PULL1, nv_ri32(dev, fc + 32)); + nv_wr32(dev, NV10_PFIFO_CACHE1_ACQUIRE_VALUE, nv_ri32(dev, fc + 36)); + tmp = nv_ri32(dev, fc + 40); + nv_wr32(dev, NV10_PFIFO_CACHE1_ACQUIRE_TIMESTAMP, tmp); + nv_wr32(dev, NV10_PFIFO_CACHE1_ACQUIRE_TIMEOUT, nv_ri32(dev, fc + 44)); + nv_wr32(dev, NV10_PFIFO_CACHE1_SEMAPHORE, nv_ri32(dev, fc + 48)); + nv_wr32(dev, NV10_PFIFO_CACHE1_DMA_SUBROUTINE, nv_ri32(dev, fc + 52)); + nv_wr32(dev, NV40_PFIFO_GRCTX_INSTANCE, nv_ri32(dev, fc + 56)); + + /* Don't clobber the TIMEOUT_ENABLED flag when restoring from RAMFC */ + tmp = nv_rd32(dev, NV04_PFIFO_DMA_TIMESLICE) & ~0x1FFFF; + tmp |= nv_ri32(dev, fc + 60) & 0x1FFFF; + nv_wr32(dev, NV04_PFIFO_DMA_TIMESLICE, tmp); + + nv_wr32(dev, 0x32e4, nv_ri32(dev, fc + 64)); + /* NVIDIA does this next line twice... */ + nv_wr32(dev, 0x32e8, nv_ri32(dev, fc + 68)); + nv_wr32(dev, 0x2088, nv_ri32(dev, fc + 76)); + nv_wr32(dev, 0x3300, nv_ri32(dev, fc + 80)); + + dev_priv->engine.instmem.finish_access(dev); + + nv_wr32(dev, NV03_PFIFO_CACHE1_GET, 0); + nv_wr32(dev, NV03_PFIFO_CACHE1_PUT, 0); +} + +int +nv40_fifo_load_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + uint32_t tmp; + + nv40_fifo_do_load_context(dev, chan->id); + + /* Set channel active, and in DMA mode */ + nv_wr32(dev, NV03_PFIFO_CACHE1_PUSH1, + NV40_PFIFO_CACHE1_PUSH1_DMA | chan->id); + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_PUSH, 1); + + /* Reset DMA_CTL_AT_INFO to INVALID */ + tmp = nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_CTL) & ~(1 << 31); + nv_wr32(dev, NV04_PFIFO_CACHE1_DMA_CTL, tmp); + + return 0; +} + +int +nv40_fifo_unload_context(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_fifo_engine *pfifo = &dev_priv->engine.fifo; + uint32_t fc, tmp; + int chid; + + chid = pfifo->channel_id(dev); + if (chid < 0 || chid >= dev_priv->engine.fifo.channels) + return 0; + fc = NV40_RAMFC(chid); + + dev_priv->engine.instmem.prepare_access(dev, true); + nv_wi32(dev, fc + 0, nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_PUT)); + nv_wi32(dev, fc + 4, nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_GET)); + nv_wi32(dev, fc + 8, nv_rd32(dev, NV10_PFIFO_CACHE1_REF_CNT)); + nv_wi32(dev, fc + 12, nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_INSTANCE)); + nv_wi32(dev, fc + 16, nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_DCOUNT)); + nv_wi32(dev, fc + 20, nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_STATE)); + tmp = nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_FETCH); + tmp |= nv_rd32(dev, 0x2058) & 0x30000000; + nv_wi32(dev, fc + 24, tmp); + nv_wi32(dev, fc + 28, nv_rd32(dev, NV04_PFIFO_CACHE1_ENGINE)); + nv_wi32(dev, fc + 32, nv_rd32(dev, NV04_PFIFO_CACHE1_PULL1)); + nv_wi32(dev, fc + 36, nv_rd32(dev, NV10_PFIFO_CACHE1_ACQUIRE_VALUE)); + tmp = nv_rd32(dev, NV10_PFIFO_CACHE1_ACQUIRE_TIMESTAMP); + nv_wi32(dev, fc + 40, tmp); + nv_wi32(dev, fc + 44, nv_rd32(dev, NV10_PFIFO_CACHE1_ACQUIRE_TIMEOUT)); + nv_wi32(dev, fc + 48, nv_rd32(dev, NV10_PFIFO_CACHE1_SEMAPHORE)); + /* NVIDIA read 0x3228 first, then write DMA_GET here.. maybe something + * more involved depending on the value of 0x3228? + */ + nv_wi32(dev, fc + 52, nv_rd32(dev, NV04_PFIFO_CACHE1_DMA_GET)); + nv_wi32(dev, fc + 56, nv_rd32(dev, NV40_PFIFO_GRCTX_INSTANCE)); + nv_wi32(dev, fc + 60, nv_rd32(dev, NV04_PFIFO_DMA_TIMESLICE) & 0x1ffff); + /* No idea what the below is for exactly, ripped from a mmio-trace */ + nv_wi32(dev, fc + 64, nv_rd32(dev, NV40_PFIFO_UNK32E4)); + /* NVIDIA do this next line twice.. bug? */ + nv_wi32(dev, fc + 68, nv_rd32(dev, 0x32e8)); + nv_wi32(dev, fc + 76, nv_rd32(dev, 0x2088)); + nv_wi32(dev, fc + 80, nv_rd32(dev, 0x3300)); +#if 0 /* no real idea which is PUT/GET in UNK_48.. */ + tmp = nv_rd32(dev, NV04_PFIFO_CACHE1_GET); + tmp |= (nv_rd32(dev, NV04_PFIFO_CACHE1_PUT) << 16); + nv_wi32(dev, fc + 72, tmp); +#endif + dev_priv->engine.instmem.finish_access(dev); + + nv40_fifo_do_load_context(dev, pfifo->channels - 1); + nv_wr32(dev, NV03_PFIFO_CACHE1_PUSH1, + NV40_PFIFO_CACHE1_PUSH1_DMA | (pfifo->channels - 1)); + return 0; +} + +static void +nv40_fifo_init_reset(struct drm_device *dev) +{ + int i; + + nv_wr32(dev, NV03_PMC_ENABLE, + nv_rd32(dev, NV03_PMC_ENABLE) & ~NV_PMC_ENABLE_PFIFO); + nv_wr32(dev, NV03_PMC_ENABLE, + nv_rd32(dev, NV03_PMC_ENABLE) | NV_PMC_ENABLE_PFIFO); + + nv_wr32(dev, 0x003224, 0x000f0078); + nv_wr32(dev, 0x003210, 0x00000000); + nv_wr32(dev, 0x003270, 0x00000000); + nv_wr32(dev, 0x003240, 0x00000000); + nv_wr32(dev, 0x003244, 0x00000000); + nv_wr32(dev, 0x003258, 0x00000000); + nv_wr32(dev, 0x002504, 0x00000000); + for (i = 0; i < 16; i++) + nv_wr32(dev, 0x002510 + (i * 4), 0x00000000); + nv_wr32(dev, 0x00250c, 0x0000ffff); + nv_wr32(dev, 0x002048, 0x00000000); + nv_wr32(dev, 0x003228, 0x00000000); + nv_wr32(dev, 0x0032e8, 0x00000000); + nv_wr32(dev, 0x002410, 0x00000000); + nv_wr32(dev, 0x002420, 0x00000000); + nv_wr32(dev, 0x002058, 0x00000001); + nv_wr32(dev, 0x00221c, 0x00000000); + /* something with 0x2084, read/modify/write, no change */ + nv_wr32(dev, 0x002040, 0x000000ff); + nv_wr32(dev, 0x002500, 0x00000000); + nv_wr32(dev, 0x003200, 0x00000000); + + nv_wr32(dev, NV04_PFIFO_DMA_TIMESLICE, 0x2101ffff); +} + +static void +nv40_fifo_init_ramxx(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + nv_wr32(dev, NV03_PFIFO_RAMHT, (0x03 << 24) /* search 128 */ | + ((dev_priv->ramht_bits - 9) << 16) | + (dev_priv->ramht_offset >> 8)); + nv_wr32(dev, NV03_PFIFO_RAMRO, dev_priv->ramro_offset>>8); + + switch (dev_priv->chipset) { + case 0x47: + case 0x49: + case 0x4b: + nv_wr32(dev, 0x2230, 1); + break; + default: + break; + } + + switch (dev_priv->chipset) { + case 0x40: + case 0x41: + case 0x42: + case 0x43: + case 0x45: + case 0x47: + case 0x48: + case 0x49: + case 0x4b: + nv_wr32(dev, NV40_PFIFO_RAMFC, 0x30002); + break; + default: + nv_wr32(dev, 0x2230, 0); + nv_wr32(dev, NV40_PFIFO_RAMFC, + ((nouveau_mem_fb_amount(dev) - 512 * 1024 + + dev_priv->ramfc_offset) >> 16) | (3 << 16)); + break; + } +} + +static void +nv40_fifo_init_intr(struct drm_device *dev) +{ + nv_wr32(dev, 0x002100, 0xffffffff); + nv_wr32(dev, 0x002140, 0xffffffff); +} + +int +nv40_fifo_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_fifo_engine *pfifo = &dev_priv->engine.fifo; + int i; + + nv40_fifo_init_reset(dev); + nv40_fifo_init_ramxx(dev); + + nv40_fifo_do_load_context(dev, pfifo->channels - 1); + nv_wr32(dev, NV03_PFIFO_CACHE1_PUSH1, pfifo->channels - 1); + + nv40_fifo_init_intr(dev); + pfifo->enable(dev); + pfifo->reassign(dev, true); + + for (i = 0; i < dev_priv->engine.fifo.channels; i++) { + if (dev_priv->fifos[i]) { + uint32_t mode = nv_rd32(dev, NV04_PFIFO_MODE); + nv_wr32(dev, NV04_PFIFO_MODE, mode | (1 << i)); + } + } + + return 0; +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv40_graph.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv40_graph.c @@ -0,0 +1,406 @@ +/* + * Copyright (C) 2007 Ben Skeggs. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" +#include "nouveau_grctx.h" + +struct nouveau_channel * +nv40_graph_channel(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t inst; + int i; + + inst = nv_rd32(dev, NV40_PGRAPH_CTXCTL_CUR); + if (!(inst & NV40_PGRAPH_CTXCTL_CUR_LOADED)) + return NULL; + inst = (inst & NV40_PGRAPH_CTXCTL_CUR_INSTANCE) << 4; + + for (i = 0; i < dev_priv->engine.fifo.channels; i++) { + struct nouveau_channel *chan = dev_priv->fifos[i]; + + if (chan && chan->ramin_grctx && + chan->ramin_grctx->instance == inst) + return chan; + } + + return NULL; +} + +int +nv40_graph_create_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_pgraph_engine *pgraph = &dev_priv->engine.graph; + int ret; + + ret = nouveau_gpuobj_new_ref(dev, chan, NULL, 0, pgraph->grctx_size, + 16, NVOBJ_FLAG_ZERO_ALLOC, + &chan->ramin_grctx); + if (ret) + return ret; + + /* Initialise default context values */ + dev_priv->engine.instmem.prepare_access(dev, true); + if (!pgraph->ctxprog) { + struct nouveau_grctx ctx = {}; + + ctx.dev = chan->dev; + ctx.mode = NOUVEAU_GRCTX_VALS; + ctx.data = chan->ramin_grctx->gpuobj; + nv40_grctx_init(&ctx); + } else { + nouveau_grctx_vals_load(dev, chan->ramin_grctx->gpuobj); + } + nv_wo32(dev, chan->ramin_grctx->gpuobj, 0, + chan->ramin_grctx->gpuobj->im_pramin->start); + dev_priv->engine.instmem.finish_access(dev); + return 0; +} + +void +nv40_graph_destroy_context(struct nouveau_channel *chan) +{ + nouveau_gpuobj_ref_del(chan->dev, &chan->ramin_grctx); +} + +static int +nv40_graph_transfer_context(struct drm_device *dev, uint32_t inst, int save) +{ + uint32_t old_cp, tv = 1000, tmp; + int i; + + old_cp = nv_rd32(dev, NV20_PGRAPH_CHANNEL_CTX_POINTER); + nv_wr32(dev, NV20_PGRAPH_CHANNEL_CTX_POINTER, inst); + + tmp = nv_rd32(dev, NV40_PGRAPH_CTXCTL_0310); + tmp |= save ? NV40_PGRAPH_CTXCTL_0310_XFER_SAVE : + NV40_PGRAPH_CTXCTL_0310_XFER_LOAD; + nv_wr32(dev, NV40_PGRAPH_CTXCTL_0310, tmp); + + tmp = nv_rd32(dev, NV40_PGRAPH_CTXCTL_0304); + tmp |= NV40_PGRAPH_CTXCTL_0304_XFER_CTX; + nv_wr32(dev, NV40_PGRAPH_CTXCTL_0304, tmp); + + nouveau_wait_for_idle(dev); + + for (i = 0; i < tv; i++) { + if (nv_rd32(dev, NV40_PGRAPH_CTXCTL_030C) == 0) + break; + } + + nv_wr32(dev, NV20_PGRAPH_CHANNEL_CTX_POINTER, old_cp); + + if (i == tv) { + uint32_t ucstat = nv_rd32(dev, NV40_PGRAPH_CTXCTL_UCODE_STAT); + NV_ERROR(dev, "Failed: Instance=0x%08x Save=%d\n", inst, save); + NV_ERROR(dev, "IP: 0x%02x, Opcode: 0x%08x\n", + ucstat >> NV40_PGRAPH_CTXCTL_UCODE_STAT_IP_SHIFT, + ucstat & NV40_PGRAPH_CTXCTL_UCODE_STAT_OP_MASK); + NV_ERROR(dev, "0x40030C = 0x%08x\n", + nv_rd32(dev, NV40_PGRAPH_CTXCTL_030C)); + return -EBUSY; + } + + return 0; +} + +/* Restore the context for a specific channel into PGRAPH */ +int +nv40_graph_load_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + uint32_t inst; + int ret; + + if (!chan->ramin_grctx) + return -EINVAL; + inst = chan->ramin_grctx->instance >> 4; + + ret = nv40_graph_transfer_context(dev, inst, 0); + if (ret) + return ret; + + /* 0x40032C, no idea of it's exact function. Could simply be a + * record of the currently active PGRAPH context. It's currently + * unknown as to what bit 24 does. The nv ddx has it set, so we will + * set it here too. + */ + nv_wr32(dev, NV20_PGRAPH_CHANNEL_CTX_POINTER, inst); + nv_wr32(dev, NV40_PGRAPH_CTXCTL_CUR, + (inst & NV40_PGRAPH_CTXCTL_CUR_INSTANCE) | + NV40_PGRAPH_CTXCTL_CUR_LOADED); + /* 0x32E0 records the instance address of the active FIFO's PGRAPH + * context. If at any time this doesn't match 0x40032C, you will + * recieve PGRAPH_INTR_CONTEXT_SWITCH + */ + nv_wr32(dev, NV40_PFIFO_GRCTX_INSTANCE, inst); + return 0; +} + +int +nv40_graph_unload_context(struct drm_device *dev) +{ + uint32_t inst; + int ret; + + inst = nv_rd32(dev, NV40_PGRAPH_CTXCTL_CUR); + if (!(inst & NV40_PGRAPH_CTXCTL_CUR_LOADED)) + return 0; + inst &= NV40_PGRAPH_CTXCTL_CUR_INSTANCE; + + ret = nv40_graph_transfer_context(dev, inst, 1); + + nv_wr32(dev, NV40_PGRAPH_CTXCTL_CUR, inst); + return ret; +} + +void +nv40_graph_set_region_tiling(struct drm_device *dev, int i, uint32_t addr, + uint32_t size, uint32_t pitch) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t limit = max(1u, addr + size) - 1; + + if (pitch) + addr |= 1; + + switch (dev_priv->chipset) { + case 0x44: + case 0x4a: + case 0x4e: + nv_wr32(dev, NV20_PGRAPH_TSIZE(i), pitch); + nv_wr32(dev, NV20_PGRAPH_TLIMIT(i), limit); + nv_wr32(dev, NV20_PGRAPH_TILE(i), addr); + break; + + case 0x46: + case 0x47: + case 0x49: + case 0x4b: + nv_wr32(dev, NV47_PGRAPH_TSIZE(i), pitch); + nv_wr32(dev, NV47_PGRAPH_TLIMIT(i), limit); + nv_wr32(dev, NV47_PGRAPH_TILE(i), addr); + nv_wr32(dev, NV40_PGRAPH_TSIZE1(i), pitch); + nv_wr32(dev, NV40_PGRAPH_TLIMIT1(i), limit); + nv_wr32(dev, NV40_PGRAPH_TILE1(i), addr); + break; + + default: + nv_wr32(dev, NV20_PGRAPH_TSIZE(i), pitch); + nv_wr32(dev, NV20_PGRAPH_TLIMIT(i), limit); + nv_wr32(dev, NV20_PGRAPH_TILE(i), addr); + nv_wr32(dev, NV40_PGRAPH_TSIZE1(i), pitch); + nv_wr32(dev, NV40_PGRAPH_TLIMIT1(i), limit); + nv_wr32(dev, NV40_PGRAPH_TILE1(i), addr); + break; + } +} + +/* + * G70 0x47 + * G71 0x49 + * NV45 0x48 + * G72[M] 0x46 + * G73 0x4b + * C51_G7X 0x4c + * C51 0x4e + */ +int +nv40_graph_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = + (struct drm_nouveau_private *)dev->dev_private; + struct nouveau_fb_engine *pfb = &dev_priv->engine.fb; + uint32_t vramsz; + int i, j; + + nv_wr32(dev, NV03_PMC_ENABLE, nv_rd32(dev, NV03_PMC_ENABLE) & + ~NV_PMC_ENABLE_PGRAPH); + nv_wr32(dev, NV03_PMC_ENABLE, nv_rd32(dev, NV03_PMC_ENABLE) | + NV_PMC_ENABLE_PGRAPH); + + if (nouveau_ctxfw) { + nouveau_grctx_prog_load(dev); + dev_priv->engine.graph.grctx_size = 175 * 1024; + } + + if (!dev_priv->engine.graph.ctxprog) { + struct nouveau_grctx ctx = {}; + uint32_t cp[256]; + + ctx.dev = dev; + ctx.mode = NOUVEAU_GRCTX_PROG; + ctx.data = cp; + ctx.ctxprog_max = 256; + nv40_grctx_init(&ctx); + dev_priv->engine.graph.grctx_size = ctx.ctxvals_pos * 4; + + nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_INDEX, 0); + for (i = 0; i < ctx.ctxprog_len; i++) + nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_DATA, cp[i]); + } + + /* No context present currently */ + nv_wr32(dev, NV40_PGRAPH_CTXCTL_CUR, 0x00000000); + + nv_wr32(dev, NV03_PGRAPH_INTR , 0xFFFFFFFF); + nv_wr32(dev, NV40_PGRAPH_INTR_EN, 0xFFFFFFFF); + + nv_wr32(dev, NV04_PGRAPH_DEBUG_0, 0xFFFFFFFF); + nv_wr32(dev, NV04_PGRAPH_DEBUG_0, 0x00000000); + nv_wr32(dev, NV04_PGRAPH_DEBUG_1, 0x401287c0); + nv_wr32(dev, NV04_PGRAPH_DEBUG_3, 0xe0de8055); + nv_wr32(dev, NV10_PGRAPH_DEBUG_4, 0x00008000); + nv_wr32(dev, NV04_PGRAPH_LIMIT_VIOL_PIX, 0x00be3c5f); + + nv_wr32(dev, NV10_PGRAPH_CTX_CONTROL, 0x10010100); + nv_wr32(dev, NV10_PGRAPH_STATE , 0xFFFFFFFF); + + j = nv_rd32(dev, 0x1540) & 0xff; + if (j) { + for (i = 0; !(j & 1); j >>= 1, i++) + ; + nv_wr32(dev, 0x405000, i); + } + + if (dev_priv->chipset == 0x40) { + nv_wr32(dev, 0x4009b0, 0x83280fff); + nv_wr32(dev, 0x4009b4, 0x000000a0); + } else { + nv_wr32(dev, 0x400820, 0x83280eff); + nv_wr32(dev, 0x400824, 0x000000a0); + } + + switch (dev_priv->chipset) { + case 0x40: + case 0x45: + nv_wr32(dev, 0x4009b8, 0x0078e366); + nv_wr32(dev, 0x4009bc, 0x0000014c); + break; + case 0x41: + case 0x42: /* pciid also 0x00Cx */ + /* case 0x0120: XXX (pciid) */ + nv_wr32(dev, 0x400828, 0x007596ff); + nv_wr32(dev, 0x40082c, 0x00000108); + break; + case 0x43: + nv_wr32(dev, 0x400828, 0x0072cb77); + nv_wr32(dev, 0x40082c, 0x00000108); + break; + case 0x44: + case 0x46: /* G72 */ + case 0x4a: + case 0x4c: /* G7x-based C51 */ + case 0x4e: + nv_wr32(dev, 0x400860, 0); + nv_wr32(dev, 0x400864, 0); + break; + case 0x47: /* G70 */ + case 0x49: /* G71 */ + case 0x4b: /* G73 */ + nv_wr32(dev, 0x400828, 0x07830610); + nv_wr32(dev, 0x40082c, 0x0000016A); + break; + default: + break; + } + + nv_wr32(dev, 0x400b38, 0x2ffff800); + nv_wr32(dev, 0x400b3c, 0x00006000); + + /* Turn all the tiling regions off. */ + for (i = 0; i < pfb->num_tiles; i++) + nv40_graph_set_region_tiling(dev, i, 0, 0, 0); + + /* begin RAM config */ + vramsz = drm_get_resource_len(dev, 0) - 1; + switch (dev_priv->chipset) { + case 0x40: + nv_wr32(dev, 0x4009A4, nv_rd32(dev, NV04_PFB_CFG0)); + nv_wr32(dev, 0x4009A8, nv_rd32(dev, NV04_PFB_CFG1)); + nv_wr32(dev, 0x4069A4, nv_rd32(dev, NV04_PFB_CFG0)); + nv_wr32(dev, 0x4069A8, nv_rd32(dev, NV04_PFB_CFG1)); + nv_wr32(dev, 0x400820, 0); + nv_wr32(dev, 0x400824, 0); + nv_wr32(dev, 0x400864, vramsz); + nv_wr32(dev, 0x400868, vramsz); + break; + default: + switch (dev_priv->chipset) { + case 0x46: + case 0x47: + case 0x49: + case 0x4b: + nv_wr32(dev, 0x400DF0, nv_rd32(dev, NV04_PFB_CFG0)); + nv_wr32(dev, 0x400DF4, nv_rd32(dev, NV04_PFB_CFG1)); + break; + default: + nv_wr32(dev, 0x4009F0, nv_rd32(dev, NV04_PFB_CFG0)); + nv_wr32(dev, 0x4009F4, nv_rd32(dev, NV04_PFB_CFG1)); + break; + } + nv_wr32(dev, 0x4069F0, nv_rd32(dev, NV04_PFB_CFG0)); + nv_wr32(dev, 0x4069F4, nv_rd32(dev, NV04_PFB_CFG1)); + nv_wr32(dev, 0x400840, 0); + nv_wr32(dev, 0x400844, 0); + nv_wr32(dev, 0x4008A0, vramsz); + nv_wr32(dev, 0x4008A4, vramsz); + break; + } + + return 0; +} + +void nv40_graph_takedown(struct drm_device *dev) +{ + nouveau_grctx_fini(dev); +} + +struct nouveau_pgraph_object_class nv40_graph_grclass[] = { + { 0x0030, false, NULL }, /* null */ + { 0x0039, false, NULL }, /* m2mf */ + { 0x004a, false, NULL }, /* gdirect */ + { 0x009f, false, NULL }, /* imageblit (nv12) */ + { 0x008a, false, NULL }, /* ifc */ + { 0x0089, false, NULL }, /* sifm */ + { 0x3089, false, NULL }, /* sifm (nv40) */ + { 0x0062, false, NULL }, /* surf2d */ + { 0x3062, false, NULL }, /* surf2d (nv40) */ + { 0x0043, false, NULL }, /* rop */ + { 0x0012, false, NULL }, /* beta1 */ + { 0x0072, false, NULL }, /* beta4 */ + { 0x0019, false, NULL }, /* cliprect */ + { 0x0044, false, NULL }, /* pattern */ + { 0x309e, false, NULL }, /* swzsurf */ + { 0x4097, false, NULL }, /* curie (nv40) */ + { 0x4497, false, NULL }, /* curie (nv44) */ + {} +}; + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv40_grctx.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv40_grctx.c @@ -0,0 +1,678 @@ +/* + * Copyright 2009 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 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. + * + * Authors: Ben Skeggs + */ + +/* NVIDIA context programs handle a number of other conditions which are + * not implemented in our versions. It's not clear why NVIDIA context + * programs have this code, nor whether it's strictly necessary for + * correct operation. We'll implement additional handling if/when we + * discover it's necessary. + * + * - On context save, NVIDIA set 0x400314 bit 0 to 1 if the "3D state" + * flag is set, this gets saved into the context. + * - On context save, the context program for all cards load nsource + * into a flag register and check for ILLEGAL_MTHD. If it's set, + * opcode 0x60000d is called before resuming normal operation. + * - Some context programs check more conditions than the above. NV44 + * checks: ((nsource & 0x0857) || (0x400718 & 0x0100) || (intr & 0x0001)) + * and calls 0x60000d before resuming normal operation. + * - At the very beginning of NVIDIA's context programs, flag 9 is checked + * and if true 0x800001 is called with count=0, pos=0, the flag is cleared + * and then the ctxprog is aborted. It looks like a complicated NOP, + * its purpose is unknown. + * - In the section of code that loads the per-vs state, NVIDIA check + * flag 10. If it's set, they only transfer the small 0x300 byte block + * of state + the state for a single vs as opposed to the state for + * all vs units. It doesn't seem likely that it'll occur in normal + * operation, especially seeing as it appears NVIDIA may have screwed + * up the ctxprogs for some cards and have an invalid instruction + * rather than a cp_lsr(ctx, dwords_for_1_vs_unit) instruction. + * - There's a number of places where context offset 0 (where we place + * the PRAMIN offset of the context) is loaded into either 0x408000, + * 0x408004 or 0x408008. Not sure what's up there either. + * - The ctxprogs for some cards save 0x400a00 again during the cleanup + * path for auto-loadctx. + */ + +#define CP_FLAG_CLEAR 0 +#define CP_FLAG_SET 1 +#define CP_FLAG_SWAP_DIRECTION ((0 * 32) + 0) +#define CP_FLAG_SWAP_DIRECTION_LOAD 0 +#define CP_FLAG_SWAP_DIRECTION_SAVE 1 +#define CP_FLAG_USER_SAVE ((0 * 32) + 5) +#define CP_FLAG_USER_SAVE_NOT_PENDING 0 +#define CP_FLAG_USER_SAVE_PENDING 1 +#define CP_FLAG_USER_LOAD ((0 * 32) + 6) +#define CP_FLAG_USER_LOAD_NOT_PENDING 0 +#define CP_FLAG_USER_LOAD_PENDING 1 +#define CP_FLAG_STATUS ((3 * 32) + 0) +#define CP_FLAG_STATUS_IDLE 0 +#define CP_FLAG_STATUS_BUSY 1 +#define CP_FLAG_AUTO_SAVE ((3 * 32) + 4) +#define CP_FLAG_AUTO_SAVE_NOT_PENDING 0 +#define CP_FLAG_AUTO_SAVE_PENDING 1 +#define CP_FLAG_AUTO_LOAD ((3 * 32) + 5) +#define CP_FLAG_AUTO_LOAD_NOT_PENDING 0 +#define CP_FLAG_AUTO_LOAD_PENDING 1 +#define CP_FLAG_UNK54 ((3 * 32) + 6) +#define CP_FLAG_UNK54_CLEAR 0 +#define CP_FLAG_UNK54_SET 1 +#define CP_FLAG_ALWAYS ((3 * 32) + 8) +#define CP_FLAG_ALWAYS_FALSE 0 +#define CP_FLAG_ALWAYS_TRUE 1 +#define CP_FLAG_UNK57 ((3 * 32) + 9) +#define CP_FLAG_UNK57_CLEAR 0 +#define CP_FLAG_UNK57_SET 1 + +#define CP_CTX 0x00100000 +#define CP_CTX_COUNT 0x000fc000 +#define CP_CTX_COUNT_SHIFT 14 +#define CP_CTX_REG 0x00003fff +#define CP_LOAD_SR 0x00200000 +#define CP_LOAD_SR_VALUE 0x000fffff +#define CP_BRA 0x00400000 +#define CP_BRA_IP 0x0000ff00 +#define CP_BRA_IP_SHIFT 8 +#define CP_BRA_IF_CLEAR 0x00000080 +#define CP_BRA_FLAG 0x0000007f +#define CP_WAIT 0x00500000 +#define CP_WAIT_SET 0x00000080 +#define CP_WAIT_FLAG 0x0000007f +#define CP_SET 0x00700000 +#define CP_SET_1 0x00000080 +#define CP_SET_FLAG 0x0000007f +#define CP_NEXT_TO_SWAP 0x00600007 +#define CP_NEXT_TO_CURRENT 0x00600009 +#define CP_SET_CONTEXT_POINTER 0x0060000a +#define CP_END 0x0060000e +#define CP_LOAD_MAGIC_UNK01 0x00800001 /* unknown */ +#define CP_LOAD_MAGIC_NV44TCL 0x00800029 /* per-vs state (0x4497) */ +#define CP_LOAD_MAGIC_NV40TCL 0x00800041 /* per-vs state (0x4097) */ + +#include "drmP.h" +#include "nouveau_drv.h" +#include "nouveau_grctx.h" + +/* TODO: + * - get vs count from 0x1540 + * - document unimplemented bits compared to nvidia + * - nsource handling + * - R0 & 0x0200 handling + * - single-vs handling + * - 400314 bit 0 + */ + +static int +nv40_graph_4097(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + if ((dev_priv->chipset & 0xf0) == 0x60) + return 0; + + return !!(0x0baf & (1 << dev_priv->chipset)); +} + +static int +nv40_graph_vs_count(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + switch (dev_priv->chipset) { + case 0x47: + case 0x49: + case 0x4b: + return 8; + case 0x40: + return 6; + case 0x41: + case 0x42: + return 5; + case 0x43: + case 0x44: + case 0x46: + case 0x4a: + return 3; + case 0x4c: + case 0x4e: + case 0x67: + default: + return 1; + } +} + + +enum cp_label { + cp_check_load = 1, + cp_setup_auto_load, + cp_setup_load, + cp_setup_save, + cp_swap_state, + cp_swap_state3d_3_is_save, + cp_prepare_exit, + cp_exit, +}; + +static void +nv40_graph_construct_general(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + int i; + + cp_ctx(ctx, 0x4000a4, 1); + gr_def(ctx, 0x4000a4, 0x00000008); + cp_ctx(ctx, 0x400144, 58); + gr_def(ctx, 0x400144, 0x00000001); + cp_ctx(ctx, 0x400314, 1); + gr_def(ctx, 0x400314, 0x00000000); + cp_ctx(ctx, 0x400400, 10); + cp_ctx(ctx, 0x400480, 10); + cp_ctx(ctx, 0x400500, 19); + gr_def(ctx, 0x400514, 0x00040000); + gr_def(ctx, 0x400524, 0x55555555); + gr_def(ctx, 0x400528, 0x55555555); + gr_def(ctx, 0x40052c, 0x55555555); + gr_def(ctx, 0x400530, 0x55555555); + cp_ctx(ctx, 0x400560, 6); + gr_def(ctx, 0x400568, 0x0000ffff); + gr_def(ctx, 0x40056c, 0x0000ffff); + cp_ctx(ctx, 0x40057c, 5); + cp_ctx(ctx, 0x400710, 3); + gr_def(ctx, 0x400710, 0x20010001); + gr_def(ctx, 0x400714, 0x0f73ef00); + cp_ctx(ctx, 0x400724, 1); + gr_def(ctx, 0x400724, 0x02008821); + cp_ctx(ctx, 0x400770, 3); + if (dev_priv->chipset == 0x40) { + cp_ctx(ctx, 0x400814, 4); + cp_ctx(ctx, 0x400828, 5); + cp_ctx(ctx, 0x400840, 5); + gr_def(ctx, 0x400850, 0x00000040); + cp_ctx(ctx, 0x400858, 4); + gr_def(ctx, 0x400858, 0x00000040); + gr_def(ctx, 0x40085c, 0x00000040); + gr_def(ctx, 0x400864, 0x80000000); + cp_ctx(ctx, 0x40086c, 9); + gr_def(ctx, 0x40086c, 0x80000000); + gr_def(ctx, 0x400870, 0x80000000); + gr_def(ctx, 0x400874, 0x80000000); + gr_def(ctx, 0x400878, 0x80000000); + gr_def(ctx, 0x400888, 0x00000040); + gr_def(ctx, 0x40088c, 0x80000000); + cp_ctx(ctx, 0x4009c0, 8); + gr_def(ctx, 0x4009cc, 0x80000000); + gr_def(ctx, 0x4009dc, 0x80000000); + } else { + cp_ctx(ctx, 0x400840, 20); + if (!nv40_graph_4097(ctx->dev)) { + for (i = 0; i < 8; i++) + gr_def(ctx, 0x400860 + (i * 4), 0x00000001); + } + gr_def(ctx, 0x400880, 0x00000040); + gr_def(ctx, 0x400884, 0x00000040); + gr_def(ctx, 0x400888, 0x00000040); + cp_ctx(ctx, 0x400894, 11); + gr_def(ctx, 0x400894, 0x00000040); + if (nv40_graph_4097(ctx->dev)) { + for (i = 0; i < 8; i++) + gr_def(ctx, 0x4008a0 + (i * 4), 0x80000000); + } + cp_ctx(ctx, 0x4008e0, 2); + cp_ctx(ctx, 0x4008f8, 2); + if (dev_priv->chipset == 0x4c || + (dev_priv->chipset & 0xf0) == 0x60) + cp_ctx(ctx, 0x4009f8, 1); + } + cp_ctx(ctx, 0x400a00, 73); + gr_def(ctx, 0x400b0c, 0x0b0b0b0c); + cp_ctx(ctx, 0x401000, 4); + cp_ctx(ctx, 0x405004, 1); + switch (dev_priv->chipset) { + case 0x47: + case 0x49: + case 0x4b: + cp_ctx(ctx, 0x403448, 1); + gr_def(ctx, 0x403448, 0x00001010); + break; + default: + cp_ctx(ctx, 0x403440, 1); + switch (dev_priv->chipset) { + case 0x40: + gr_def(ctx, 0x403440, 0x00000010); + break; + case 0x44: + case 0x46: + case 0x4a: + gr_def(ctx, 0x403440, 0x00003010); + break; + case 0x41: + case 0x42: + case 0x43: + case 0x4c: + case 0x4e: + case 0x67: + default: + gr_def(ctx, 0x403440, 0x00001010); + break; + } + break; + } +} + +static void +nv40_graph_construct_state3d(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + int i; + + if (dev_priv->chipset == 0x40) { + cp_ctx(ctx, 0x401880, 51); + gr_def(ctx, 0x401940, 0x00000100); + } else + if (dev_priv->chipset == 0x46 || dev_priv->chipset == 0x47 || + dev_priv->chipset == 0x49 || dev_priv->chipset == 0x4b) { + cp_ctx(ctx, 0x401880, 32); + for (i = 0; i < 16; i++) + gr_def(ctx, 0x401880 + (i * 4), 0x00000111); + if (dev_priv->chipset == 0x46) + cp_ctx(ctx, 0x401900, 16); + cp_ctx(ctx, 0x401940, 3); + } + cp_ctx(ctx, 0x40194c, 18); + gr_def(ctx, 0x401954, 0x00000111); + gr_def(ctx, 0x401958, 0x00080060); + gr_def(ctx, 0x401974, 0x00000080); + gr_def(ctx, 0x401978, 0xffff0000); + gr_def(ctx, 0x40197c, 0x00000001); + gr_def(ctx, 0x401990, 0x46400000); + if (dev_priv->chipset == 0x40) { + cp_ctx(ctx, 0x4019a0, 2); + cp_ctx(ctx, 0x4019ac, 5); + } else { + cp_ctx(ctx, 0x4019a0, 1); + cp_ctx(ctx, 0x4019b4, 3); + } + gr_def(ctx, 0x4019bc, 0xffff0000); + switch (dev_priv->chipset) { + case 0x46: + case 0x47: + case 0x49: + case 0x4b: + cp_ctx(ctx, 0x4019c0, 18); + for (i = 0; i < 16; i++) + gr_def(ctx, 0x4019c0 + (i * 4), 0x88888888); + break; + } + cp_ctx(ctx, 0x401a08, 8); + gr_def(ctx, 0x401a10, 0x0fff0000); + gr_def(ctx, 0x401a14, 0x0fff0000); + gr_def(ctx, 0x401a1c, 0x00011100); + cp_ctx(ctx, 0x401a2c, 4); + cp_ctx(ctx, 0x401a44, 26); + for (i = 0; i < 16; i++) + gr_def(ctx, 0x401a44 + (i * 4), 0x07ff0000); + gr_def(ctx, 0x401a8c, 0x4b7fffff); + if (dev_priv->chipset == 0x40) { + cp_ctx(ctx, 0x401ab8, 3); + } else { + cp_ctx(ctx, 0x401ab8, 1); + cp_ctx(ctx, 0x401ac0, 1); + } + cp_ctx(ctx, 0x401ad0, 8); + gr_def(ctx, 0x401ad0, 0x30201000); + gr_def(ctx, 0x401ad4, 0x70605040); + gr_def(ctx, 0x401ad8, 0xb8a89888); + gr_def(ctx, 0x401adc, 0xf8e8d8c8); + cp_ctx(ctx, 0x401b10, dev_priv->chipset == 0x40 ? 2 : 1); + gr_def(ctx, 0x401b10, 0x40100000); + cp_ctx(ctx, 0x401b18, dev_priv->chipset == 0x40 ? 6 : 5); + gr_def(ctx, 0x401b28, dev_priv->chipset == 0x40 ? + 0x00000004 : 0x00000000); + cp_ctx(ctx, 0x401b30, 25); + gr_def(ctx, 0x401b34, 0x0000ffff); + gr_def(ctx, 0x401b68, 0x435185d6); + gr_def(ctx, 0x401b6c, 0x2155b699); + gr_def(ctx, 0x401b70, 0xfedcba98); + gr_def(ctx, 0x401b74, 0x00000098); + gr_def(ctx, 0x401b84, 0xffffffff); + gr_def(ctx, 0x401b88, 0x00ff7000); + gr_def(ctx, 0x401b8c, 0x0000ffff); + if (dev_priv->chipset != 0x44 && dev_priv->chipset != 0x4a && + dev_priv->chipset != 0x4e) + cp_ctx(ctx, 0x401b94, 1); + cp_ctx(ctx, 0x401b98, 8); + gr_def(ctx, 0x401b9c, 0x00ff0000); + cp_ctx(ctx, 0x401bc0, 9); + gr_def(ctx, 0x401be0, 0x00ffff00); + cp_ctx(ctx, 0x401c00, 192); + for (i = 0; i < 16; i++) { /* fragment texture units */ + gr_def(ctx, 0x401c40 + (i * 4), 0x00018488); + gr_def(ctx, 0x401c80 + (i * 4), 0x00028202); + gr_def(ctx, 0x401d00 + (i * 4), 0x0000aae4); + gr_def(ctx, 0x401d40 + (i * 4), 0x01012000); + gr_def(ctx, 0x401d80 + (i * 4), 0x00080008); + gr_def(ctx, 0x401e00 + (i * 4), 0x00100008); + } + for (i = 0; i < 4; i++) { /* vertex texture units */ + gr_def(ctx, 0x401e90 + (i * 4), 0x0001bc80); + gr_def(ctx, 0x401ea0 + (i * 4), 0x00000202); + gr_def(ctx, 0x401ec0 + (i * 4), 0x00000008); + gr_def(ctx, 0x401ee0 + (i * 4), 0x00080008); + } + cp_ctx(ctx, 0x400f5c, 3); + gr_def(ctx, 0x400f5c, 0x00000002); + cp_ctx(ctx, 0x400f84, 1); +} + +static void +nv40_graph_construct_state3d_2(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + int i; + + cp_ctx(ctx, 0x402000, 1); + cp_ctx(ctx, 0x402404, dev_priv->chipset == 0x40 ? 1 : 2); + switch (dev_priv->chipset) { + case 0x40: + gr_def(ctx, 0x402404, 0x00000001); + break; + case 0x4c: + case 0x4e: + case 0x67: + gr_def(ctx, 0x402404, 0x00000020); + break; + case 0x46: + case 0x49: + case 0x4b: + gr_def(ctx, 0x402404, 0x00000421); + break; + default: + gr_def(ctx, 0x402404, 0x00000021); + } + if (dev_priv->chipset != 0x40) + gr_def(ctx, 0x402408, 0x030c30c3); + switch (dev_priv->chipset) { + case 0x44: + case 0x46: + case 0x4a: + case 0x4c: + case 0x4e: + case 0x67: + cp_ctx(ctx, 0x402440, 1); + gr_def(ctx, 0x402440, 0x00011001); + break; + default: + break; + } + cp_ctx(ctx, 0x402480, dev_priv->chipset == 0x40 ? 8 : 9); + gr_def(ctx, 0x402488, 0x3e020200); + gr_def(ctx, 0x40248c, 0x00ffffff); + switch (dev_priv->chipset) { + case 0x40: + gr_def(ctx, 0x402490, 0x60103f00); + break; + case 0x47: + gr_def(ctx, 0x402490, 0x40103f00); + break; + case 0x41: + case 0x42: + case 0x49: + case 0x4b: + gr_def(ctx, 0x402490, 0x20103f00); + break; + default: + gr_def(ctx, 0x402490, 0x0c103f00); + break; + } + gr_def(ctx, 0x40249c, dev_priv->chipset <= 0x43 ? + 0x00020000 : 0x00040000); + cp_ctx(ctx, 0x402500, 31); + gr_def(ctx, 0x402530, 0x00008100); + if (dev_priv->chipset == 0x40) + cp_ctx(ctx, 0x40257c, 6); + cp_ctx(ctx, 0x402594, 16); + cp_ctx(ctx, 0x402800, 17); + gr_def(ctx, 0x402800, 0x00000001); + switch (dev_priv->chipset) { + case 0x47: + case 0x49: + case 0x4b: + cp_ctx(ctx, 0x402864, 1); + gr_def(ctx, 0x402864, 0x00001001); + cp_ctx(ctx, 0x402870, 3); + gr_def(ctx, 0x402878, 0x00000003); + if (dev_priv->chipset != 0x47) { /* belong at end!! */ + cp_ctx(ctx, 0x402900, 1); + cp_ctx(ctx, 0x402940, 1); + cp_ctx(ctx, 0x402980, 1); + cp_ctx(ctx, 0x4029c0, 1); + cp_ctx(ctx, 0x402a00, 1); + cp_ctx(ctx, 0x402a40, 1); + cp_ctx(ctx, 0x402a80, 1); + cp_ctx(ctx, 0x402ac0, 1); + } + break; + case 0x40: + cp_ctx(ctx, 0x402844, 1); + gr_def(ctx, 0x402844, 0x00000001); + cp_ctx(ctx, 0x402850, 1); + break; + default: + cp_ctx(ctx, 0x402844, 1); + gr_def(ctx, 0x402844, 0x00001001); + cp_ctx(ctx, 0x402850, 2); + gr_def(ctx, 0x402854, 0x00000003); + break; + } + + cp_ctx(ctx, 0x402c00, 4); + gr_def(ctx, 0x402c00, dev_priv->chipset == 0x40 ? + 0x80800001 : 0x00888001); + switch (dev_priv->chipset) { + case 0x47: + case 0x49: + case 0x4b: + cp_ctx(ctx, 0x402c20, 40); + for (i = 0; i < 32; i++) + gr_def(ctx, 0x402c40 + (i * 4), 0xffffffff); + cp_ctx(ctx, 0x4030b8, 13); + gr_def(ctx, 0x4030dc, 0x00000005); + gr_def(ctx, 0x4030e8, 0x0000ffff); + break; + default: + cp_ctx(ctx, 0x402c10, 4); + if (dev_priv->chipset == 0x40) + cp_ctx(ctx, 0x402c20, 36); + else + if (dev_priv->chipset <= 0x42) + cp_ctx(ctx, 0x402c20, 24); + else + if (dev_priv->chipset <= 0x4a) + cp_ctx(ctx, 0x402c20, 16); + else + cp_ctx(ctx, 0x402c20, 8); + cp_ctx(ctx, 0x402cb0, dev_priv->chipset == 0x40 ? 12 : 13); + gr_def(ctx, 0x402cd4, 0x00000005); + if (dev_priv->chipset != 0x40) + gr_def(ctx, 0x402ce0, 0x0000ffff); + break; + } + + cp_ctx(ctx, 0x403400, dev_priv->chipset == 0x40 ? 4 : 3); + cp_ctx(ctx, 0x403410, dev_priv->chipset == 0x40 ? 4 : 3); + cp_ctx(ctx, 0x403420, nv40_graph_vs_count(ctx->dev)); + for (i = 0; i < nv40_graph_vs_count(ctx->dev); i++) + gr_def(ctx, 0x403420 + (i * 4), 0x00005555); + + if (dev_priv->chipset != 0x40) { + cp_ctx(ctx, 0x403600, 1); + gr_def(ctx, 0x403600, 0x00000001); + } + cp_ctx(ctx, 0x403800, 1); + + cp_ctx(ctx, 0x403c18, 1); + gr_def(ctx, 0x403c18, 0x00000001); + switch (dev_priv->chipset) { + case 0x46: + case 0x47: + case 0x49: + case 0x4b: + cp_ctx(ctx, 0x405018, 1); + gr_def(ctx, 0x405018, 0x08e00001); + cp_ctx(ctx, 0x405c24, 1); + gr_def(ctx, 0x405c24, 0x000e3000); + break; + } + if (dev_priv->chipset != 0x4e) + cp_ctx(ctx, 0x405800, 11); + cp_ctx(ctx, 0x407000, 1); +} + +static void +nv40_graph_construct_state3d_3(struct nouveau_grctx *ctx) +{ + int len = nv40_graph_4097(ctx->dev) ? 0x0684 : 0x0084; + + cp_out (ctx, 0x300000); + cp_lsr (ctx, len - 4); + cp_bra (ctx, SWAP_DIRECTION, SAVE, cp_swap_state3d_3_is_save); + cp_lsr (ctx, len); + cp_name(ctx, cp_swap_state3d_3_is_save); + cp_out (ctx, 0x800001); + + ctx->ctxvals_pos += len; +} + +static void +nv40_graph_construct_shader(struct nouveau_grctx *ctx) +{ + struct drm_device *dev = ctx->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *obj = ctx->data; + int vs, vs_nr, vs_len, vs_nr_b0, vs_nr_b1, b0_offset, b1_offset; + int offset, i; + + vs_nr = nv40_graph_vs_count(ctx->dev); + vs_nr_b0 = 363; + vs_nr_b1 = dev_priv->chipset == 0x40 ? 128 : 64; + if (dev_priv->chipset == 0x40) { + b0_offset = 0x2200/4; /* 33a0 */ + b1_offset = 0x55a0/4; /* 1500 */ + vs_len = 0x6aa0/4; + } else + if (dev_priv->chipset == 0x41 || dev_priv->chipset == 0x42) { + b0_offset = 0x2200/4; /* 2200 */ + b1_offset = 0x4400/4; /* 0b00 */ + vs_len = 0x4f00/4; + } else { + b0_offset = 0x1d40/4; /* 2200 */ + b1_offset = 0x3f40/4; /* 0b00 : 0a40 */ + vs_len = nv40_graph_4097(dev) ? 0x4a40/4 : 0x4980/4; + } + + cp_lsr(ctx, vs_len * vs_nr + 0x300/4); + cp_out(ctx, nv40_graph_4097(dev) ? 0x800041 : 0x800029); + + offset = ctx->ctxvals_pos; + ctx->ctxvals_pos += (0x0300/4 + (vs_nr * vs_len)); + + if (ctx->mode != NOUVEAU_GRCTX_VALS) + return; + + offset += 0x0280/4; + for (i = 0; i < 16; i++, offset += 2) + nv_wo32(dev, obj, offset, 0x3f800000); + + for (vs = 0; vs < vs_nr; vs++, offset += vs_len) { + for (i = 0; i < vs_nr_b0 * 6; i += 6) + nv_wo32(dev, obj, offset + b0_offset + i, 0x00000001); + for (i = 0; i < vs_nr_b1 * 4; i += 4) + nv_wo32(dev, obj, offset + b1_offset + i, 0x3f800000); + } +} + +void +nv40_grctx_init(struct nouveau_grctx *ctx) +{ + /* decide whether we're loading/unloading the context */ + cp_bra (ctx, AUTO_SAVE, PENDING, cp_setup_save); + cp_bra (ctx, USER_SAVE, PENDING, cp_setup_save); + + cp_name(ctx, cp_check_load); + cp_bra (ctx, AUTO_LOAD, PENDING, cp_setup_auto_load); + cp_bra (ctx, USER_LOAD, PENDING, cp_setup_load); + cp_bra (ctx, ALWAYS, TRUE, cp_exit); + + /* setup for context load */ + cp_name(ctx, cp_setup_auto_load); + cp_wait(ctx, STATUS, IDLE); + cp_out (ctx, CP_NEXT_TO_SWAP); + cp_name(ctx, cp_setup_load); + cp_wait(ctx, STATUS, IDLE); + cp_set (ctx, SWAP_DIRECTION, LOAD); + cp_out (ctx, 0x00910880); /* ?? */ + cp_out (ctx, 0x00901ffe); /* ?? */ + cp_out (ctx, 0x01940000); /* ?? */ + cp_lsr (ctx, 0x20); + cp_out (ctx, 0x0060000b); /* ?? */ + cp_wait(ctx, UNK57, CLEAR); + cp_out (ctx, 0x0060000c); /* ?? */ + cp_bra (ctx, ALWAYS, TRUE, cp_swap_state); + + /* setup for context save */ + cp_name(ctx, cp_setup_save); + cp_set (ctx, SWAP_DIRECTION, SAVE); + + /* general PGRAPH state */ + cp_name(ctx, cp_swap_state); + cp_pos (ctx, 0x00020/4); + nv40_graph_construct_general(ctx); + cp_wait(ctx, STATUS, IDLE); + + /* 3D state, block 1 */ + cp_bra (ctx, UNK54, CLEAR, cp_prepare_exit); + nv40_graph_construct_state3d(ctx); + cp_wait(ctx, STATUS, IDLE); + + /* 3D state, block 2 */ + nv40_graph_construct_state3d_2(ctx); + + /* Some other block of "random" state */ + nv40_graph_construct_state3d_3(ctx); + + /* Per-vertex shader state */ + cp_pos (ctx, ctx->ctxvals_pos); + nv40_graph_construct_shader(ctx); + + /* pre-exit state updates */ + cp_name(ctx, cp_prepare_exit); + cp_bra (ctx, SWAP_DIRECTION, SAVE, cp_check_load); + cp_bra (ctx, USER_SAVE, PENDING, cp_exit); + cp_out (ctx, CP_NEXT_TO_CURRENT); + + cp_name(ctx, cp_exit); + cp_set (ctx, USER_SAVE, NOT_PENDING); + cp_set (ctx, USER_LOAD, NOT_PENDING); + cp_out (ctx, CP_END); +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv40_mc.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv40_mc.c @@ -0,0 +1,38 @@ +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" +#include "nouveau_drm.h" + +int +nv40_mc_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t tmp; + + /* Power up everything, resetting each individual unit will + * be done later if needed. + */ + nv_wr32(dev, NV03_PMC_ENABLE, 0xFFFFFFFF); + + switch (dev_priv->chipset) { + case 0x44: + case 0x46: /* G72 */ + case 0x4e: + case 0x4c: /* C51_G7X */ + tmp = nv_rd32(dev, NV40_PFB_020C); + nv_wr32(dev, NV40_PMC_1700, tmp); + nv_wr32(dev, NV40_PMC_1704, 0); + nv_wr32(dev, NV40_PMC_1708, 0); + nv_wr32(dev, NV40_PMC_170C, tmp); + break; + default: + break; + } + + return 0; +} + +void +nv40_mc_takedown(struct drm_device *dev) +{ +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv50_crtc.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv50_crtc.c @@ -0,0 +1,792 @@ +/* + * Copyright (C) 2008 Maarten Maathuis. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "drm_mode.h" +#include "drm_crtc_helper.h" + +#define NOUVEAU_DMA_DEBUG (nouveau_reg_debug & NOUVEAU_REG_DEBUG_EVO) +#include "nouveau_reg.h" +#include "nouveau_drv.h" +#include "nouveau_hw.h" +#include "nouveau_encoder.h" +#include "nouveau_crtc.h" +#include "nouveau_fb.h" +#include "nouveau_connector.h" +#include "nv50_display.h" + +static void +nv50_crtc_lut_load(struct drm_crtc *crtc) +{ + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + void __iomem *lut = nvbo_kmap_obj_iovirtual(nv_crtc->lut.nvbo); + int i; + + NV_DEBUG_KMS(crtc->dev, "\n"); + + for (i = 0; i < 256; i++) { + writew(nv_crtc->lut.r[i] >> 2, lut + 8*i + 0); + writew(nv_crtc->lut.g[i] >> 2, lut + 8*i + 2); + writew(nv_crtc->lut.b[i] >> 2, lut + 8*i + 4); + } + + if (nv_crtc->lut.depth == 30) { + writew(nv_crtc->lut.r[i - 1] >> 2, lut + 8*i + 0); + writew(nv_crtc->lut.g[i - 1] >> 2, lut + 8*i + 2); + writew(nv_crtc->lut.b[i - 1] >> 2, lut + 8*i + 4); + } +} + +int +nv50_crtc_blank(struct nouveau_crtc *nv_crtc, bool blanked) +{ + struct drm_device *dev = nv_crtc->base.dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *evo = dev_priv->evo; + int index = nv_crtc->index, ret; + + NV_DEBUG_KMS(dev, "index %d\n", nv_crtc->index); + NV_DEBUG_KMS(dev, "%s\n", blanked ? "blanked" : "unblanked"); + + if (blanked) { + nv_crtc->cursor.hide(nv_crtc, false); + + ret = RING_SPACE(evo, dev_priv->chipset != 0x50 ? 7 : 5); + if (ret) { + NV_ERROR(dev, "no space while blanking crtc\n"); + return ret; + } + BEGIN_RING(evo, 0, NV50_EVO_CRTC(index, CLUT_MODE), 2); + OUT_RING(evo, NV50_EVO_CRTC_CLUT_MODE_BLANK); + OUT_RING(evo, 0); + if (dev_priv->chipset != 0x50) { + BEGIN_RING(evo, 0, NV84_EVO_CRTC(index, CLUT_DMA), 1); + OUT_RING(evo, NV84_EVO_CRTC_CLUT_DMA_HANDLE_NONE); + } + + BEGIN_RING(evo, 0, NV50_EVO_CRTC(index, FB_DMA), 1); + OUT_RING(evo, NV50_EVO_CRTC_FB_DMA_HANDLE_NONE); + } else { + if (nv_crtc->cursor.visible) + nv_crtc->cursor.show(nv_crtc, false); + else + nv_crtc->cursor.hide(nv_crtc, false); + + ret = RING_SPACE(evo, dev_priv->chipset != 0x50 ? 10 : 8); + if (ret) { + NV_ERROR(dev, "no space while unblanking crtc\n"); + return ret; + } + BEGIN_RING(evo, 0, NV50_EVO_CRTC(index, CLUT_MODE), 2); + OUT_RING(evo, nv_crtc->lut.depth == 8 ? + NV50_EVO_CRTC_CLUT_MODE_OFF : + NV50_EVO_CRTC_CLUT_MODE_ON); + OUT_RING(evo, (nv_crtc->lut.nvbo->bo.mem.mm_node->start << + PAGE_SHIFT) >> 8); + if (dev_priv->chipset != 0x50) { + BEGIN_RING(evo, 0, NV84_EVO_CRTC(index, CLUT_DMA), 1); + OUT_RING(evo, NvEvoVRAM); + } + + BEGIN_RING(evo, 0, NV50_EVO_CRTC(index, FB_OFFSET), 2); + OUT_RING(evo, nv_crtc->fb.offset >> 8); + OUT_RING(evo, 0); + BEGIN_RING(evo, 0, NV50_EVO_CRTC(index, FB_DMA), 1); + if (dev_priv->chipset != 0x50) + if (nv_crtc->fb.tile_flags == 0x7a00) + OUT_RING(evo, NvEvoFB32); + else + if (nv_crtc->fb.tile_flags == 0x7000) + OUT_RING(evo, NvEvoFB16); + else + OUT_RING(evo, NvEvoVRAM); + else + OUT_RING(evo, NvEvoVRAM); + } + + nv_crtc->fb.blanked = blanked; + return 0; +} + +static int +nv50_crtc_set_dither(struct nouveau_crtc *nv_crtc, bool on, bool update) +{ + struct drm_device *dev = nv_crtc->base.dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *evo = dev_priv->evo; + int ret; + + NV_DEBUG_KMS(dev, "\n"); + + ret = RING_SPACE(evo, 2 + (update ? 2 : 0)); + if (ret) { + NV_ERROR(dev, "no space while setting dither\n"); + return ret; + } + + BEGIN_RING(evo, 0, NV50_EVO_CRTC(nv_crtc->index, DITHER_CTRL), 1); + if (on) + OUT_RING(evo, NV50_EVO_CRTC_DITHER_CTRL_ON); + else + OUT_RING(evo, NV50_EVO_CRTC_DITHER_CTRL_OFF); + + if (update) { + BEGIN_RING(evo, 0, NV50_EVO_UPDATE, 1); + OUT_RING(evo, 0); + FIRE_RING(evo); + } + + return 0; +} + +struct nouveau_connector * +nouveau_crtc_connector_get(struct nouveau_crtc *nv_crtc) +{ + struct drm_device *dev = nv_crtc->base.dev; + struct drm_connector *connector; + struct drm_crtc *crtc = to_drm_crtc(nv_crtc); + + /* The safest approach is to find an encoder with the right crtc, that + * is also linked to a connector. */ + list_for_each_entry(connector, &dev->mode_config.connector_list, head) { + if (connector->encoder) + if (connector->encoder->crtc == crtc) + return nouveau_connector(connector); + } + + return NULL; +} + +static int +nv50_crtc_set_scale(struct nouveau_crtc *nv_crtc, int scaling_mode, bool update) +{ + struct nouveau_connector *nv_connector = + nouveau_crtc_connector_get(nv_crtc); + struct drm_device *dev = nv_crtc->base.dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *evo = dev_priv->evo; + struct drm_display_mode *native_mode = NULL; + struct drm_display_mode *mode = &nv_crtc->base.mode; + uint32_t outX, outY, horiz, vert; + int ret; + + NV_DEBUG_KMS(dev, "\n"); + + switch (scaling_mode) { + case DRM_MODE_SCALE_NONE: + break; + default: + if (!nv_connector || !nv_connector->native_mode) { + NV_ERROR(dev, "No native mode, forcing panel scaling\n"); + scaling_mode = DRM_MODE_SCALE_NONE; + } else { + native_mode = nv_connector->native_mode; + } + break; + } + + switch (scaling_mode) { + case DRM_MODE_SCALE_ASPECT: + horiz = (native_mode->hdisplay << 19) / mode->hdisplay; + vert = (native_mode->vdisplay << 19) / mode->vdisplay; + + if (vert > horiz) { + outX = (mode->hdisplay * horiz) >> 19; + outY = (mode->vdisplay * horiz) >> 19; + } else { + outX = (mode->hdisplay * vert) >> 19; + outY = (mode->vdisplay * vert) >> 19; + } + break; + case DRM_MODE_SCALE_FULLSCREEN: + outX = native_mode->hdisplay; + outY = native_mode->vdisplay; + break; + case DRM_MODE_SCALE_CENTER: + case DRM_MODE_SCALE_NONE: + default: + outX = mode->hdisplay; + outY = mode->vdisplay; + break; + } + + ret = RING_SPACE(evo, update ? 7 : 5); + if (ret) + return ret; + + /* Got a better name for SCALER_ACTIVE? */ + /* One day i've got to really figure out why this is needed. */ + BEGIN_RING(evo, 0, NV50_EVO_CRTC(nv_crtc->index, SCALE_CTRL), 1); + if ((mode->flags & DRM_MODE_FLAG_DBLSCAN) || + (mode->flags & DRM_MODE_FLAG_INTERLACE) || + mode->hdisplay != outX || mode->vdisplay != outY) { + OUT_RING(evo, NV50_EVO_CRTC_SCALE_CTRL_ACTIVE); + } else { + OUT_RING(evo, NV50_EVO_CRTC_SCALE_CTRL_INACTIVE); + } + + BEGIN_RING(evo, 0, NV50_EVO_CRTC(nv_crtc->index, SCALE_RES1), 2); + OUT_RING(evo, outY << 16 | outX); + OUT_RING(evo, outY << 16 | outX); + + if (update) { + BEGIN_RING(evo, 0, NV50_EVO_UPDATE, 1); + OUT_RING(evo, 0); + FIRE_RING(evo); + } + + return 0; +} + +int +nv50_crtc_set_clock(struct drm_device *dev, int head, int pclk) +{ + uint32_t pll_reg = NV50_PDISPLAY_CRTC_CLK_CTRL1(head); + struct nouveau_pll_vals pll; + struct pll_lims limits; + uint32_t reg1, reg2; + int ret; + + ret = get_pll_limits(dev, pll_reg, &limits); + if (ret) + return ret; + + ret = nouveau_calc_pll_mnp(dev, &limits, pclk, &pll); + if (ret <= 0) + return ret; + + if (limits.vco2.maxfreq) { + reg1 = nv_rd32(dev, pll_reg + 4) & 0xff00ff00; + reg2 = nv_rd32(dev, pll_reg + 8) & 0x8000ff00; + nv_wr32(dev, pll_reg, 0x10000611); + nv_wr32(dev, pll_reg + 4, reg1 | (pll.M1 << 16) | pll.N1); + nv_wr32(dev, pll_reg + 8, + reg2 | (pll.log2P << 28) | (pll.M2 << 16) | pll.N2); + } else { + reg1 = nv_rd32(dev, pll_reg + 4) & 0xffc00000; + nv_wr32(dev, pll_reg, 0x50000610); + nv_wr32(dev, pll_reg + 4, reg1 | + (pll.log2P << 16) | (pll.M1 << 8) | pll.N1); + } + + return 0; +} + +static void +nv50_crtc_destroy(struct drm_crtc *crtc) +{ + struct drm_device *dev; + struct nouveau_crtc *nv_crtc; + + if (!crtc) + return; + + dev = crtc->dev; + nv_crtc = nouveau_crtc(crtc); + + NV_DEBUG_KMS(dev, "\n"); + + drm_crtc_cleanup(&nv_crtc->base); + + nv50_cursor_fini(nv_crtc); + + nouveau_bo_ref(NULL, &nv_crtc->lut.nvbo); + nouveau_bo_ref(NULL, &nv_crtc->cursor.nvbo); + kfree(nv_crtc->mode); + kfree(nv_crtc); +} + +int +nv50_crtc_cursor_set(struct drm_crtc *crtc, struct drm_file *file_priv, + uint32_t buffer_handle, uint32_t width, uint32_t height) +{ + struct drm_device *dev = crtc->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + struct nouveau_bo *cursor = NULL; + struct drm_gem_object *gem; + int ret = 0, i; + + if (width != 64 || height != 64) + return -EINVAL; + + if (!buffer_handle) { + nv_crtc->cursor.hide(nv_crtc, true); + return 0; + } + + gem = drm_gem_object_lookup(dev, file_priv, buffer_handle); + if (!gem) + return -EINVAL; + cursor = nouveau_gem_object(gem); + + ret = nouveau_bo_map(cursor); + if (ret) + goto out; + + /* The simple will do for now. */ + for (i = 0; i < 64 * 64; i++) + nouveau_bo_wr32(nv_crtc->cursor.nvbo, i, nouveau_bo_rd32(cursor, i)); + + nouveau_bo_unmap(cursor); + + nv_crtc->cursor.set_offset(nv_crtc, nv_crtc->cursor.nvbo->bo.offset - + dev_priv->vm_vram_base); + nv_crtc->cursor.show(nv_crtc, true); + +out: + mutex_lock(&dev->struct_mutex); + drm_gem_object_unreference(gem); + mutex_unlock(&dev->struct_mutex); + return ret; +} + +int +nv50_crtc_cursor_move(struct drm_crtc *crtc, int x, int y) +{ + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + + nv_crtc->cursor.set_pos(nv_crtc, x, y); + return 0; +} + +static void +nv50_crtc_gamma_set(struct drm_crtc *crtc, u16 *r, u16 *g, u16 *b, + uint32_t size) +{ + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + int i; + + if (size != 256) + return; + + for (i = 0; i < 256; i++) { + nv_crtc->lut.r[i] = r[i]; + nv_crtc->lut.g[i] = g[i]; + nv_crtc->lut.b[i] = b[i]; + } + + /* We need to know the depth before we upload, but it's possible to + * get called before a framebuffer is bound. If this is the case, + * mark the lut values as dirty by setting depth==0, and it'll be + * uploaded on the first mode_set_base() + */ + if (!nv_crtc->base.fb) { + nv_crtc->lut.depth = 0; + return; + } + + nv50_crtc_lut_load(crtc); +} + +static void +nv50_crtc_save(struct drm_crtc *crtc) +{ + NV_ERROR(crtc->dev, "!!\n"); +} + +static void +nv50_crtc_restore(struct drm_crtc *crtc) +{ + NV_ERROR(crtc->dev, "!!\n"); +} + +static const struct drm_crtc_funcs nv50_crtc_funcs = { + .save = nv50_crtc_save, + .restore = nv50_crtc_restore, + .cursor_set = nv50_crtc_cursor_set, + .cursor_move = nv50_crtc_cursor_move, + .gamma_set = nv50_crtc_gamma_set, + .set_config = drm_crtc_helper_set_config, + .destroy = nv50_crtc_destroy, +}; + +static void +nv50_crtc_dpms(struct drm_crtc *crtc, int mode) +{ +} + +static void +nv50_crtc_prepare(struct drm_crtc *crtc) +{ + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + struct drm_device *dev = crtc->dev; + struct drm_encoder *encoder; + uint32_t dac = 0, sor = 0; + + NV_DEBUG_KMS(dev, "index %d\n", nv_crtc->index); + + /* Disconnect all unused encoders. */ + list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + + if (!drm_helper_encoder_in_use(encoder)) + continue; + + if (nv_encoder->dcb->type == OUTPUT_ANALOG || + nv_encoder->dcb->type == OUTPUT_TV) + dac |= (1 << nv_encoder->or); + else + sor |= (1 << nv_encoder->or); + } + + list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + + if (nv_encoder->dcb->type == OUTPUT_ANALOG || + nv_encoder->dcb->type == OUTPUT_TV) { + if (dac & (1 << nv_encoder->or)) + continue; + } else { + if (sor & (1 << nv_encoder->or)) + continue; + } + + nv_encoder->disconnect(nv_encoder); + } + + nv50_crtc_blank(nv_crtc, true); +} + +static void +nv50_crtc_commit(struct drm_crtc *crtc) +{ + struct drm_crtc *crtc2; + struct drm_device *dev = crtc->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *evo = dev_priv->evo; + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + int ret; + + NV_DEBUG_KMS(dev, "index %d\n", nv_crtc->index); + + nv50_crtc_blank(nv_crtc, false); + + /* Explicitly blank all unused crtc's. */ + list_for_each_entry(crtc2, &dev->mode_config.crtc_list, head) { + if (!drm_helper_crtc_in_use(crtc2)) + nv50_crtc_blank(nouveau_crtc(crtc2), true); + } + + ret = RING_SPACE(evo, 2); + if (ret) { + NV_ERROR(dev, "no space while committing crtc\n"); + return; + } + BEGIN_RING(evo, 0, NV50_EVO_UPDATE, 1); + OUT_RING(evo, 0); + FIRE_RING(evo); +} + +static bool +nv50_crtc_mode_fixup(struct drm_crtc *crtc, struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + return true; +} + +static int +nv50_crtc_do_mode_set_base(struct drm_crtc *crtc, int x, int y, + struct drm_framebuffer *old_fb, bool update) +{ + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + struct drm_device *dev = nv_crtc->base.dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *evo = dev_priv->evo; + struct drm_framebuffer *drm_fb = nv_crtc->base.fb; + struct nouveau_framebuffer *fb = nouveau_framebuffer(drm_fb); + int ret, format; + + NV_DEBUG_KMS(dev, "index %d\n", nv_crtc->index); + + switch (drm_fb->depth) { + case 8: + format = NV50_EVO_CRTC_FB_DEPTH_8; + break; + case 15: + format = NV50_EVO_CRTC_FB_DEPTH_15; + break; + case 16: + format = NV50_EVO_CRTC_FB_DEPTH_16; + break; + case 24: + case 32: + format = NV50_EVO_CRTC_FB_DEPTH_24; + break; + case 30: + format = NV50_EVO_CRTC_FB_DEPTH_30; + break; + default: + NV_ERROR(dev, "unknown depth %d\n", drm_fb->depth); + return -EINVAL; + } + + ret = nouveau_bo_pin(fb->nvbo, TTM_PL_FLAG_VRAM); + if (ret) + return ret; + + if (old_fb) { + struct nouveau_framebuffer *ofb = nouveau_framebuffer(old_fb); + nouveau_bo_unpin(ofb->nvbo); + } + + nv_crtc->fb.offset = fb->nvbo->bo.offset - dev_priv->vm_vram_base; + nv_crtc->fb.tile_flags = fb->nvbo->tile_flags; + nv_crtc->fb.cpp = drm_fb->bits_per_pixel / 8; + if (!nv_crtc->fb.blanked && dev_priv->chipset != 0x50) { + ret = RING_SPACE(evo, 2); + if (ret) + return ret; + + BEGIN_RING(evo, 0, NV50_EVO_CRTC(nv_crtc->index, FB_DMA), 1); + if (nv_crtc->fb.tile_flags == 0x7a00) + OUT_RING(evo, NvEvoFB32); + else + if (nv_crtc->fb.tile_flags == 0x7000) + OUT_RING(evo, NvEvoFB16); + else + OUT_RING(evo, NvEvoVRAM); + } + + ret = RING_SPACE(evo, 12); + if (ret) + return ret; + + BEGIN_RING(evo, 0, NV50_EVO_CRTC(nv_crtc->index, FB_OFFSET), 5); + OUT_RING(evo, nv_crtc->fb.offset >> 8); + OUT_RING(evo, 0); + OUT_RING(evo, (drm_fb->height << 16) | drm_fb->width); + if (!nv_crtc->fb.tile_flags) { + OUT_RING(evo, drm_fb->pitch | (1 << 20)); + } else { + OUT_RING(evo, ((drm_fb->pitch / 4) << 4) | + fb->nvbo->tile_mode); + } + if (dev_priv->chipset == 0x50) + OUT_RING(evo, (fb->nvbo->tile_flags << 8) | format); + else + OUT_RING(evo, format); + + BEGIN_RING(evo, 0, NV50_EVO_CRTC(nv_crtc->index, CLUT_MODE), 1); + OUT_RING(evo, fb->base.depth == 8 ? + NV50_EVO_CRTC_CLUT_MODE_OFF : NV50_EVO_CRTC_CLUT_MODE_ON); + + BEGIN_RING(evo, 0, NV50_EVO_CRTC(nv_crtc->index, COLOR_CTRL), 1); + OUT_RING(evo, NV50_EVO_CRTC_COLOR_CTRL_COLOR); + BEGIN_RING(evo, 0, NV50_EVO_CRTC(nv_crtc->index, FB_POS), 1); + OUT_RING(evo, (y << 16) | x); + + if (nv_crtc->lut.depth != fb->base.depth) { + nv_crtc->lut.depth = fb->base.depth; + nv50_crtc_lut_load(crtc); + } + + if (update) { + ret = RING_SPACE(evo, 2); + if (ret) + return ret; + BEGIN_RING(evo, 0, NV50_EVO_UPDATE, 1); + OUT_RING(evo, 0); + FIRE_RING(evo); + } + + return 0; +} + +static int +nv50_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) +{ + struct drm_device *dev = crtc->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *evo = dev_priv->evo; + struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); + struct nouveau_connector *nv_connector = NULL; + uint32_t hsync_dur, vsync_dur, hsync_start_to_end, vsync_start_to_end; + uint32_t hunk1, vunk1, vunk2a, vunk2b; + int ret; + + /* Find the connector attached to this CRTC */ + nv_connector = nouveau_crtc_connector_get(nv_crtc); + + *nv_crtc->mode = *adjusted_mode; + + NV_DEBUG_KMS(dev, "index %d\n", nv_crtc->index); + + hsync_dur = adjusted_mode->hsync_end - adjusted_mode->hsync_start; + vsync_dur = adjusted_mode->vsync_end - adjusted_mode->vsync_start; + hsync_start_to_end = adjusted_mode->htotal - adjusted_mode->hsync_start; + vsync_start_to_end = adjusted_mode->vtotal - adjusted_mode->vsync_start; + /* I can't give this a proper name, anyone else can? */ + hunk1 = adjusted_mode->htotal - + adjusted_mode->hsync_start + adjusted_mode->hdisplay; + vunk1 = adjusted_mode->vtotal - + adjusted_mode->vsync_start + adjusted_mode->vdisplay; + /* Another strange value, this time only for interlaced adjusted_modes. */ + vunk2a = 2 * adjusted_mode->vtotal - + adjusted_mode->vsync_start + adjusted_mode->vdisplay; + vunk2b = adjusted_mode->vtotal - + adjusted_mode->vsync_start + adjusted_mode->vtotal; + + if (adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) { + vsync_dur /= 2; + vsync_start_to_end /= 2; + vunk1 /= 2; + vunk2a /= 2; + vunk2b /= 2; + /* magic */ + if (adjusted_mode->flags & DRM_MODE_FLAG_DBLSCAN) { + vsync_start_to_end -= 1; + vunk1 -= 1; + vunk2a -= 1; + vunk2b -= 1; + } + } + + ret = RING_SPACE(evo, 17); + if (ret) + return ret; + + BEGIN_RING(evo, 0, NV50_EVO_CRTC(nv_crtc->index, CLOCK), 2); + OUT_RING(evo, adjusted_mode->clock | 0x800000); + OUT_RING(evo, (adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) ? 2 : 0); + + BEGIN_RING(evo, 0, NV50_EVO_CRTC(nv_crtc->index, DISPLAY_START), 5); + OUT_RING(evo, 0); + OUT_RING(evo, (adjusted_mode->vtotal << 16) | adjusted_mode->htotal); + OUT_RING(evo, (vsync_dur - 1) << 16 | (hsync_dur - 1)); + OUT_RING(evo, (vsync_start_to_end - 1) << 16 | + (hsync_start_to_end - 1)); + OUT_RING(evo, (vunk1 - 1) << 16 | (hunk1 - 1)); + + if (adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) { + BEGIN_RING(evo, 0, NV50_EVO_CRTC(nv_crtc->index, UNK0824), 1); + OUT_RING(evo, (vunk2b - 1) << 16 | (vunk2a - 1)); + } else { + OUT_RING(evo, 0); + OUT_RING(evo, 0); + } + + BEGIN_RING(evo, 0, NV50_EVO_CRTC(nv_crtc->index, UNK082C), 1); + OUT_RING(evo, 0); + + /* This is the actual resolution of the mode. */ + BEGIN_RING(evo, 0, NV50_EVO_CRTC(nv_crtc->index, REAL_RES), 1); + OUT_RING(evo, (mode->vdisplay << 16) | mode->hdisplay); + BEGIN_RING(evo, 0, NV50_EVO_CRTC(nv_crtc->index, SCALE_CENTER_OFFSET), 1); + OUT_RING(evo, NV50_EVO_CRTC_SCALE_CENTER_OFFSET_VAL(0, 0)); + + nv_crtc->set_dither(nv_crtc, nv_connector->use_dithering, false); + nv_crtc->set_scale(nv_crtc, nv_connector->scaling_mode, false); + + return nv50_crtc_do_mode_set_base(crtc, x, y, old_fb, false); +} + +static int +nv50_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y, + struct drm_framebuffer *old_fb) +{ + return nv50_crtc_do_mode_set_base(crtc, x, y, old_fb, true); +} + +static const struct drm_crtc_helper_funcs nv50_crtc_helper_funcs = { + .dpms = nv50_crtc_dpms, + .prepare = nv50_crtc_prepare, + .commit = nv50_crtc_commit, + .mode_fixup = nv50_crtc_mode_fixup, + .mode_set = nv50_crtc_mode_set, + .mode_set_base = nv50_crtc_mode_set_base, + .load_lut = nv50_crtc_lut_load, +}; + +int +nv50_crtc_create(struct drm_device *dev, int index) +{ + struct nouveau_crtc *nv_crtc = NULL; + int ret, i; + + NV_DEBUG_KMS(dev, "\n"); + + nv_crtc = kzalloc(sizeof(*nv_crtc), GFP_KERNEL); + if (!nv_crtc) + return -ENOMEM; + + nv_crtc->mode = kzalloc(sizeof(*nv_crtc->mode), GFP_KERNEL); + if (!nv_crtc->mode) { + kfree(nv_crtc); + return -ENOMEM; + } + + /* Default CLUT parameters, will be activated on the hw upon + * first mode set. + */ + for (i = 0; i < 256; i++) { + nv_crtc->lut.r[i] = i << 8; + nv_crtc->lut.g[i] = i << 8; + nv_crtc->lut.b[i] = i << 8; + } + nv_crtc->lut.depth = 0; + + ret = nouveau_bo_new(dev, NULL, 4096, 0x100, TTM_PL_FLAG_VRAM, + 0, 0x0000, false, true, &nv_crtc->lut.nvbo); + if (!ret) { + ret = nouveau_bo_pin(nv_crtc->lut.nvbo, TTM_PL_FLAG_VRAM); + if (!ret) + ret = nouveau_bo_map(nv_crtc->lut.nvbo); + if (ret) + nouveau_bo_ref(NULL, &nv_crtc->lut.nvbo); + } + + if (ret) { + kfree(nv_crtc->mode); + kfree(nv_crtc); + return ret; + } + + nv_crtc->index = index; + + /* set function pointers */ + nv_crtc->set_dither = nv50_crtc_set_dither; + nv_crtc->set_scale = nv50_crtc_set_scale; + + drm_crtc_init(dev, &nv_crtc->base, &nv50_crtc_funcs); + drm_crtc_helper_add(&nv_crtc->base, &nv50_crtc_helper_funcs); + drm_mode_crtc_set_gamma_size(&nv_crtc->base, 256); + + ret = nouveau_bo_new(dev, NULL, 64*64*4, 0x100, TTM_PL_FLAG_VRAM, + 0, 0x0000, false, true, &nv_crtc->cursor.nvbo); + if (!ret) { + ret = nouveau_bo_pin(nv_crtc->cursor.nvbo, TTM_PL_FLAG_VRAM); + if (!ret) + ret = nouveau_bo_map(nv_crtc->cursor.nvbo); + if (ret) + nouveau_bo_ref(NULL, &nv_crtc->cursor.nvbo); + } + + nv50_cursor_init(nv_crtc); + return 0; +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv50_cursor.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv50_cursor.c @@ -0,0 +1,156 @@ +/* + * Copyright (C) 2008 Maarten Maathuis. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "drm_mode.h" + +#define NOUVEAU_DMA_DEBUG (nouveau_reg_debug & NOUVEAU_REG_DEBUG_EVO) +#include "nouveau_reg.h" +#include "nouveau_drv.h" +#include "nouveau_crtc.h" +#include "nv50_display.h" + +static void +nv50_cursor_show(struct nouveau_crtc *nv_crtc, bool update) +{ + struct drm_nouveau_private *dev_priv = nv_crtc->base.dev->dev_private; + struct nouveau_channel *evo = dev_priv->evo; + struct drm_device *dev = nv_crtc->base.dev; + int ret; + + NV_DEBUG_KMS(dev, "\n"); + + if (update && nv_crtc->cursor.visible) + return; + + ret = RING_SPACE(evo, (dev_priv->chipset != 0x50 ? 5 : 3) + update * 2); + if (ret) { + NV_ERROR(dev, "no space while unhiding cursor\n"); + return; + } + + if (dev_priv->chipset != 0x50) { + BEGIN_RING(evo, 0, NV84_EVO_CRTC(nv_crtc->index, CURSOR_DMA), 1); + OUT_RING(evo, NvEvoVRAM); + } + BEGIN_RING(evo, 0, NV50_EVO_CRTC(nv_crtc->index, CURSOR_CTRL), 2); + OUT_RING(evo, NV50_EVO_CRTC_CURSOR_CTRL_SHOW); + OUT_RING(evo, nv_crtc->cursor.offset >> 8); + + if (update) { + BEGIN_RING(evo, 0, NV50_EVO_UPDATE, 1); + OUT_RING(evo, 0); + FIRE_RING(evo); + nv_crtc->cursor.visible = true; + } +} + +static void +nv50_cursor_hide(struct nouveau_crtc *nv_crtc, bool update) +{ + struct drm_nouveau_private *dev_priv = nv_crtc->base.dev->dev_private; + struct nouveau_channel *evo = dev_priv->evo; + struct drm_device *dev = nv_crtc->base.dev; + int ret; + + NV_DEBUG_KMS(dev, "\n"); + + if (update && !nv_crtc->cursor.visible) + return; + + ret = RING_SPACE(evo, (dev_priv->chipset != 0x50 ? 5 : 3) + update * 2); + if (ret) { + NV_ERROR(dev, "no space while hiding cursor\n"); + return; + } + BEGIN_RING(evo, 0, NV50_EVO_CRTC(nv_crtc->index, CURSOR_CTRL), 2); + OUT_RING(evo, NV50_EVO_CRTC_CURSOR_CTRL_HIDE); + OUT_RING(evo, 0); + if (dev_priv->chipset != 0x50) { + BEGIN_RING(evo, 0, NV84_EVO_CRTC(nv_crtc->index, CURSOR_DMA), 1); + OUT_RING(evo, NV84_EVO_CRTC_CURSOR_DMA_HANDLE_NONE); + } + + if (update) { + BEGIN_RING(evo, 0, NV50_EVO_UPDATE, 1); + OUT_RING(evo, 0); + FIRE_RING(evo); + nv_crtc->cursor.visible = false; + } +} + +static void +nv50_cursor_set_pos(struct nouveau_crtc *nv_crtc, int x, int y) +{ + struct drm_device *dev = nv_crtc->base.dev; + + nv_wr32(dev, NV50_PDISPLAY_CURSOR_USER_POS(nv_crtc->index), + ((y & 0xFFFF) << 16) | (x & 0xFFFF)); + /* Needed to make the cursor move. */ + nv_wr32(dev, NV50_PDISPLAY_CURSOR_USER_POS_CTRL(nv_crtc->index), 0); +} + +static void +nv50_cursor_set_offset(struct nouveau_crtc *nv_crtc, uint32_t offset) +{ + NV_DEBUG_KMS(nv_crtc->base.dev, "\n"); + if (offset == nv_crtc->cursor.offset) + return; + + nv_crtc->cursor.offset = offset; + if (nv_crtc->cursor.visible) { + nv_crtc->cursor.visible = false; + nv_crtc->cursor.show(nv_crtc, true); + } +} + +int +nv50_cursor_init(struct nouveau_crtc *nv_crtc) +{ + nv_crtc->cursor.set_offset = nv50_cursor_set_offset; + nv_crtc->cursor.set_pos = nv50_cursor_set_pos; + nv_crtc->cursor.hide = nv50_cursor_hide; + nv_crtc->cursor.show = nv50_cursor_show; + return 0; +} + +void +nv50_cursor_fini(struct nouveau_crtc *nv_crtc) +{ + struct drm_device *dev = nv_crtc->base.dev; + int idx = nv_crtc->index; + + NV_DEBUG_KMS(dev, "\n"); + + nv_wr32(dev, NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(idx), 0); + if (!nv_wait(NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(idx), + NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS, 0)) { + NV_ERROR(dev, "timeout: CURSOR_CTRL2_STATUS == 0\n"); + NV_ERROR(dev, "CURSOR_CTRL2 = 0x%08x\n", + nv_rd32(dev, NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(idx))); + } +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv50_dac.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv50_dac.c @@ -0,0 +1,304 @@ +/* + * Copyright (C) 2008 Maarten Maathuis. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "drm_crtc_helper.h" + +#define NOUVEAU_DMA_DEBUG (nouveau_reg_debug & NOUVEAU_REG_DEBUG_EVO) +#include "nouveau_reg.h" +#include "nouveau_drv.h" +#include "nouveau_dma.h" +#include "nouveau_encoder.h" +#include "nouveau_connector.h" +#include "nouveau_crtc.h" +#include "nv50_display.h" + +static void +nv50_dac_disconnect(struct nouveau_encoder *nv_encoder) +{ + struct drm_device *dev = to_drm_encoder(nv_encoder)->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *evo = dev_priv->evo; + int ret; + + NV_DEBUG_KMS(dev, "Disconnecting DAC %d\n", nv_encoder->or); + + ret = RING_SPACE(evo, 2); + if (ret) { + NV_ERROR(dev, "no space while disconnecting DAC\n"); + return; + } + BEGIN_RING(evo, 0, NV50_EVO_DAC(nv_encoder->or, MODE_CTRL), 1); + OUT_RING(evo, 0); +} + +static enum drm_connector_status +nv50_dac_detect(struct drm_encoder *encoder, struct drm_connector *connector) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_device *dev = encoder->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + enum drm_connector_status status = connector_status_disconnected; + uint32_t dpms_state, load_pattern, load_state; + int or = nv_encoder->or; + + nv_wr32(dev, NV50_PDISPLAY_DAC_CLK_CTRL1(or), 0x00000001); + dpms_state = nv_rd32(dev, NV50_PDISPLAY_DAC_DPMS_CTRL(or)); + + nv_wr32(dev, NV50_PDISPLAY_DAC_DPMS_CTRL(or), + 0x00150000 | NV50_PDISPLAY_DAC_DPMS_CTRL_PENDING); + if (!nv_wait(NV50_PDISPLAY_DAC_DPMS_CTRL(or), + NV50_PDISPLAY_DAC_DPMS_CTRL_PENDING, 0)) { + NV_ERROR(dev, "timeout: DAC_DPMS_CTRL_PENDING(%d) == 0\n", or); + NV_ERROR(dev, "DAC_DPMS_CTRL(%d) = 0x%08x\n", or, + nv_rd32(dev, NV50_PDISPLAY_DAC_DPMS_CTRL(or))); + return status; + } + + /* Use bios provided value if possible. */ + if (dev_priv->vbios->dactestval) { + load_pattern = dev_priv->vbios->dactestval; + NV_DEBUG_KMS(dev, "Using bios provided load_pattern of %d\n", + load_pattern); + } else { + load_pattern = 340; + NV_DEBUG_KMS(dev, "Using default load_pattern of %d\n", + load_pattern); + } + + nv_wr32(dev, NV50_PDISPLAY_DAC_LOAD_CTRL(or), + NV50_PDISPLAY_DAC_LOAD_CTRL_ACTIVE | load_pattern); + mdelay(45); /* give it some time to process */ + load_state = nv_rd32(dev, NV50_PDISPLAY_DAC_LOAD_CTRL(or)); + + nv_wr32(dev, NV50_PDISPLAY_DAC_LOAD_CTRL(or), 0); + nv_wr32(dev, NV50_PDISPLAY_DAC_DPMS_CTRL(or), dpms_state | + NV50_PDISPLAY_DAC_DPMS_CTRL_PENDING); + + if ((load_state & NV50_PDISPLAY_DAC_LOAD_CTRL_PRESENT) == + NV50_PDISPLAY_DAC_LOAD_CTRL_PRESENT) + status = connector_status_connected; + + if (status == connector_status_connected) + NV_DEBUG_KMS(dev, "Load was detected on output with or %d\n", or); + else + NV_DEBUG_KMS(dev, "Load was not detected on output with or %d\n", or); + + return status; +} + +static void +nv50_dac_dpms(struct drm_encoder *encoder, int mode) +{ + struct drm_device *dev = encoder->dev; + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + uint32_t val; + int or = nv_encoder->or; + + NV_DEBUG_KMS(dev, "or %d mode %d\n", or, mode); + + /* wait for it to be done */ + if (!nv_wait(NV50_PDISPLAY_DAC_DPMS_CTRL(or), + NV50_PDISPLAY_DAC_DPMS_CTRL_PENDING, 0)) { + NV_ERROR(dev, "timeout: DAC_DPMS_CTRL_PENDING(%d) == 0\n", or); + NV_ERROR(dev, "DAC_DPMS_CTRL(%d) = 0x%08x\n", or, + nv_rd32(dev, NV50_PDISPLAY_DAC_DPMS_CTRL(or))); + return; + } + + val = nv_rd32(dev, NV50_PDISPLAY_DAC_DPMS_CTRL(or)) & ~0x7F; + + if (mode != DRM_MODE_DPMS_ON) + val |= NV50_PDISPLAY_DAC_DPMS_CTRL_BLANKED; + + switch (mode) { + case DRM_MODE_DPMS_STANDBY: + val |= NV50_PDISPLAY_DAC_DPMS_CTRL_HSYNC_OFF; + break; + case DRM_MODE_DPMS_SUSPEND: + val |= NV50_PDISPLAY_DAC_DPMS_CTRL_VSYNC_OFF; + break; + case DRM_MODE_DPMS_OFF: + val |= NV50_PDISPLAY_DAC_DPMS_CTRL_OFF; + val |= NV50_PDISPLAY_DAC_DPMS_CTRL_HSYNC_OFF; + val |= NV50_PDISPLAY_DAC_DPMS_CTRL_VSYNC_OFF; + break; + default: + break; + } + + nv_wr32(dev, NV50_PDISPLAY_DAC_DPMS_CTRL(or), val | + NV50_PDISPLAY_DAC_DPMS_CTRL_PENDING); +} + +static void +nv50_dac_save(struct drm_encoder *encoder) +{ + NV_ERROR(encoder->dev, "!!\n"); +} + +static void +nv50_dac_restore(struct drm_encoder *encoder) +{ + NV_ERROR(encoder->dev, "!!\n"); +} + +static bool +nv50_dac_mode_fixup(struct drm_encoder *encoder, struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct nouveau_connector *connector; + + NV_DEBUG_KMS(encoder->dev, "or %d\n", nv_encoder->or); + + connector = nouveau_encoder_connector_get(nv_encoder); + if (!connector) { + NV_ERROR(encoder->dev, "Encoder has no connector\n"); + return false; + } + + if (connector->scaling_mode != DRM_MODE_SCALE_NONE && + connector->native_mode) { + int id = adjusted_mode->base.id; + *adjusted_mode = *connector->native_mode; + adjusted_mode->base.id = id; + } + + return true; +} + +static void +nv50_dac_prepare(struct drm_encoder *encoder) +{ +} + +static void +nv50_dac_commit(struct drm_encoder *encoder) +{ +} + +static void +nv50_dac_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_device *dev = encoder->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *evo = dev_priv->evo; + struct nouveau_crtc *crtc = nouveau_crtc(encoder->crtc); + uint32_t mode_ctl = 0, mode_ctl2 = 0; + int ret; + + NV_DEBUG_KMS(dev, "or %d\n", nv_encoder->or); + + nv50_dac_dpms(encoder, DRM_MODE_DPMS_ON); + + if (crtc->index == 1) + mode_ctl |= NV50_EVO_DAC_MODE_CTRL_CRTC1; + else + mode_ctl |= NV50_EVO_DAC_MODE_CTRL_CRTC0; + + /* Lacking a working tv-out, this is not a 100% sure. */ + if (nv_encoder->dcb->type == OUTPUT_ANALOG) + mode_ctl |= 0x40; + else + if (nv_encoder->dcb->type == OUTPUT_TV) + mode_ctl |= 0x100; + + if (adjusted_mode->flags & DRM_MODE_FLAG_NHSYNC) + mode_ctl2 |= NV50_EVO_DAC_MODE_CTRL2_NHSYNC; + + if (adjusted_mode->flags & DRM_MODE_FLAG_NVSYNC) + mode_ctl2 |= NV50_EVO_DAC_MODE_CTRL2_NVSYNC; + + ret = RING_SPACE(evo, 3); + if (ret) { + NV_ERROR(dev, "no space while connecting DAC\n"); + return; + } + BEGIN_RING(evo, 0, NV50_EVO_DAC(nv_encoder->or, MODE_CTRL), 2); + OUT_RING(evo, mode_ctl); + OUT_RING(evo, mode_ctl2); +} + +static const struct drm_encoder_helper_funcs nv50_dac_helper_funcs = { + .dpms = nv50_dac_dpms, + .save = nv50_dac_save, + .restore = nv50_dac_restore, + .mode_fixup = nv50_dac_mode_fixup, + .prepare = nv50_dac_prepare, + .commit = nv50_dac_commit, + .mode_set = nv50_dac_mode_set, + .detect = nv50_dac_detect +}; + +static void +nv50_dac_destroy(struct drm_encoder *encoder) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + + if (!encoder) + return; + + NV_DEBUG_KMS(encoder->dev, "\n"); + + drm_encoder_cleanup(encoder); + kfree(nv_encoder); +} + +static const struct drm_encoder_funcs nv50_dac_encoder_funcs = { + .destroy = nv50_dac_destroy, +}; + +int +nv50_dac_create(struct drm_device *dev, struct dcb_entry *entry) +{ + struct nouveau_encoder *nv_encoder; + struct drm_encoder *encoder; + + NV_DEBUG_KMS(dev, "\n"); + NV_INFO(dev, "Detected a DAC output\n"); + + nv_encoder = kzalloc(sizeof(*nv_encoder), GFP_KERNEL); + if (!nv_encoder) + return -ENOMEM; + encoder = to_drm_encoder(nv_encoder); + + nv_encoder->dcb = entry; + nv_encoder->or = ffs(entry->or) - 1; + + nv_encoder->disconnect = nv50_dac_disconnect; + + drm_encoder_init(dev, encoder, &nv50_dac_encoder_funcs, + DRM_MODE_ENCODER_DAC); + drm_encoder_helper_add(encoder, &nv50_dac_helper_funcs); + + encoder->possible_crtcs = entry->heads; + encoder->possible_clones = 0; + return 0; +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv50_display.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv50_display.c @@ -0,0 +1,1032 @@ +/* + * Copyright (C) 2008 Maarten Maathuis. + * 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 COPYRIGHT OWNER(S) 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 "nv50_display.h" +#include "nouveau_crtc.h" +#include "nouveau_encoder.h" +#include "nouveau_connector.h" +#include "nouveau_fb.h" +#include "drm_crtc_helper.h" + +static void +nv50_evo_channel_del(struct nouveau_channel **pchan) +{ + struct nouveau_channel *chan = *pchan; + + if (!chan) + return; + *pchan = NULL; + + nouveau_gpuobj_channel_takedown(chan); + nouveau_bo_ref(NULL, &chan->pushbuf_bo); + + if (chan->user) + iounmap(chan->user); + + kfree(chan); +} + +static int +nv50_evo_dmaobj_new(struct nouveau_channel *evo, uint32_t class, uint32_t name, + uint32_t tile_flags, uint32_t magic_flags, + uint32_t offset, uint32_t limit) +{ + struct drm_nouveau_private *dev_priv = evo->dev->dev_private; + struct drm_device *dev = evo->dev; + struct nouveau_gpuobj *obj = NULL; + int ret; + + ret = nouveau_gpuobj_new(dev, evo, 6*4, 32, 0, &obj); + if (ret) + return ret; + obj->engine = NVOBJ_ENGINE_DISPLAY; + + ret = nouveau_gpuobj_ref_add(dev, evo, name, obj, NULL); + if (ret) { + nouveau_gpuobj_del(dev, &obj); + return ret; + } + + dev_priv->engine.instmem.prepare_access(dev, true); + nv_wo32(dev, obj, 0, (tile_flags << 22) | (magic_flags << 16) | class); + nv_wo32(dev, obj, 1, limit); + nv_wo32(dev, obj, 2, offset); + nv_wo32(dev, obj, 3, 0x00000000); + nv_wo32(dev, obj, 4, 0x00000000); + nv_wo32(dev, obj, 5, 0x00010000); + dev_priv->engine.instmem.finish_access(dev); + + return 0; +} + +static int +nv50_evo_channel_new(struct drm_device *dev, struct nouveau_channel **pchan) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *chan; + int ret; + + chan = kzalloc(sizeof(struct nouveau_channel), GFP_KERNEL); + if (!chan) + return -ENOMEM; + *pchan = chan; + + chan->id = -1; + chan->dev = dev; + chan->user_get = 4; + chan->user_put = 0; + + INIT_LIST_HEAD(&chan->ramht_refs); + + ret = nouveau_gpuobj_new_ref(dev, NULL, NULL, 0, 32768, 0x1000, + NVOBJ_FLAG_ZERO_ALLOC, &chan->ramin); + if (ret) { + NV_ERROR(dev, "Error allocating EVO channel memory: %d\n", ret); + nv50_evo_channel_del(pchan); + return ret; + } + + ret = nouveau_mem_init_heap(&chan->ramin_heap, chan->ramin->gpuobj-> + im_pramin->start, 32768); + if (ret) { + NV_ERROR(dev, "Error initialising EVO PRAMIN heap: %d\n", ret); + nv50_evo_channel_del(pchan); + return ret; + } + + ret = nouveau_gpuobj_new_ref(dev, chan, chan, 0, 4096, 16, + 0, &chan->ramht); + if (ret) { + NV_ERROR(dev, "Unable to allocate EVO RAMHT: %d\n", ret); + nv50_evo_channel_del(pchan); + return ret; + } + + if (dev_priv->chipset != 0x50) { + ret = nv50_evo_dmaobj_new(chan, 0x3d, NvEvoFB16, 0x70, 0x19, + 0, 0xffffffff); + if (ret) { + nv50_evo_channel_del(pchan); + return ret; + } + + + ret = nv50_evo_dmaobj_new(chan, 0x3d, NvEvoFB32, 0x7a, 0x19, + 0, 0xffffffff); + if (ret) { + nv50_evo_channel_del(pchan); + return ret; + } + } + + ret = nv50_evo_dmaobj_new(chan, 0x3d, NvEvoVRAM, 0, 0x19, + 0, nouveau_mem_fb_amount(dev)); + if (ret) { + nv50_evo_channel_del(pchan); + return ret; + } + + ret = nouveau_bo_new(dev, NULL, 4096, 0, TTM_PL_FLAG_VRAM, 0, 0, + false, true, &chan->pushbuf_bo); + if (ret == 0) + ret = nouveau_bo_pin(chan->pushbuf_bo, TTM_PL_FLAG_VRAM); + if (ret) { + NV_ERROR(dev, "Error creating EVO DMA push buffer: %d\n", ret); + nv50_evo_channel_del(pchan); + return ret; + } + + ret = nouveau_bo_map(chan->pushbuf_bo); + if (ret) { + NV_ERROR(dev, "Error mapping EVO DMA push buffer: %d\n", ret); + nv50_evo_channel_del(pchan); + return ret; + } + + chan->user = ioremap(pci_resource_start(dev->pdev, 0) + + NV50_PDISPLAY_USER(0), PAGE_SIZE); + if (!chan->user) { + NV_ERROR(dev, "Error mapping EVO control regs.\n"); + nv50_evo_channel_del(pchan); + return -ENOMEM; + } + + return 0; +} + +int +nv50_display_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_timer_engine *ptimer = &dev_priv->engine.timer; + struct nouveau_channel *evo = dev_priv->evo; + struct drm_connector *connector; + uint32_t val, ram_amount, hpd_en[2]; + uint64_t start; + int ret, i; + + NV_DEBUG_KMS(dev, "\n"); + + nv_wr32(dev, 0x00610184, nv_rd32(dev, 0x00614004)); + /* + * I think the 0x006101XX range is some kind of main control area + * that enables things. + */ + /* CRTC? */ + for (i = 0; i < 2; i++) { + val = nv_rd32(dev, 0x00616100 + (i * 0x800)); + nv_wr32(dev, 0x00610190 + (i * 0x10), val); + val = nv_rd32(dev, 0x00616104 + (i * 0x800)); + nv_wr32(dev, 0x00610194 + (i * 0x10), val); + val = nv_rd32(dev, 0x00616108 + (i * 0x800)); + nv_wr32(dev, 0x00610198 + (i * 0x10), val); + val = nv_rd32(dev, 0x0061610c + (i * 0x800)); + nv_wr32(dev, 0x0061019c + (i * 0x10), val); + } + /* DAC */ + for (i = 0; i < 3; i++) { + val = nv_rd32(dev, 0x0061a000 + (i * 0x800)); + nv_wr32(dev, 0x006101d0 + (i * 0x04), val); + } + /* SOR */ + for (i = 0; i < 4; i++) { + val = nv_rd32(dev, 0x0061c000 + (i * 0x800)); + nv_wr32(dev, 0x006101e0 + (i * 0x04), val); + } + /* Something not yet in use, tv-out maybe. */ + for (i = 0; i < 3; i++) { + val = nv_rd32(dev, 0x0061e000 + (i * 0x800)); + nv_wr32(dev, 0x006101f0 + (i * 0x04), val); + } + + for (i = 0; i < 3; i++) { + nv_wr32(dev, NV50_PDISPLAY_DAC_DPMS_CTRL(i), 0x00550000 | + NV50_PDISPLAY_DAC_DPMS_CTRL_PENDING); + nv_wr32(dev, NV50_PDISPLAY_DAC_CLK_CTRL1(i), 0x00000001); + } + + /* This used to be in crtc unblank, but seems out of place there. */ + nv_wr32(dev, NV50_PDISPLAY_UNK_380, 0); + /* RAM is clamped to 256 MiB. */ + ram_amount = nouveau_mem_fb_amount(dev); + NV_DEBUG_KMS(dev, "ram_amount %d\n", ram_amount); + if (ram_amount > 256*1024*1024) + ram_amount = 256*1024*1024; + nv_wr32(dev, NV50_PDISPLAY_RAM_AMOUNT, ram_amount - 1); + nv_wr32(dev, NV50_PDISPLAY_UNK_388, 0x150000); + nv_wr32(dev, NV50_PDISPLAY_UNK_38C, 0); + + /* The precise purpose is unknown, i suspect it has something to do + * with text mode. + */ + if (nv_rd32(dev, NV50_PDISPLAY_INTR_1) & 0x100) { + nv_wr32(dev, NV50_PDISPLAY_INTR_1, 0x100); + nv_wr32(dev, 0x006194e8, nv_rd32(dev, 0x006194e8) & ~1); + if (!nv_wait(0x006194e8, 2, 0)) { + NV_ERROR(dev, "timeout: (0x6194e8 & 2) != 0\n"); + NV_ERROR(dev, "0x6194e8 = 0x%08x\n", + nv_rd32(dev, 0x6194e8)); + return -EBUSY; + } + } + + /* taken from nv bug #12637, attempts to un-wedge the hw if it's + * stuck in some unspecified state + */ + start = ptimer->read(dev); + nv_wr32(dev, NV50_PDISPLAY_CHANNEL_STAT(0), 0x2b00); + while ((val = nv_rd32(dev, NV50_PDISPLAY_CHANNEL_STAT(0))) & 0x1e0000) { + if ((val & 0x9f0000) == 0x20000) + nv_wr32(dev, NV50_PDISPLAY_CHANNEL_STAT(0), + val | 0x800000); + + if ((val & 0x3f0000) == 0x30000) + nv_wr32(dev, NV50_PDISPLAY_CHANNEL_STAT(0), + val | 0x200000); + + if (ptimer->read(dev) - start > 1000000000ULL) { + NV_ERROR(dev, "timeout: (0x610200 & 0x1e0000) != 0\n"); + NV_ERROR(dev, "0x610200 = 0x%08x\n", val); + return -EBUSY; + } + } + + nv_wr32(dev, NV50_PDISPLAY_CTRL_STATE, NV50_PDISPLAY_CTRL_STATE_ENABLE); + nv_wr32(dev, NV50_PDISPLAY_CHANNEL_STAT(0), 0x1000b03); + if (!nv_wait(NV50_PDISPLAY_CHANNEL_STAT(0), 0x40000000, 0x40000000)) { + NV_ERROR(dev, "timeout: (0x610200 & 0x40000000) == 0x40000000\n"); + NV_ERROR(dev, "0x610200 = 0x%08x\n", + nv_rd32(dev, NV50_PDISPLAY_CHANNEL_STAT(0))); + return -EBUSY; + } + + for (i = 0; i < 2; i++) { + nv_wr32(dev, NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(i), 0x2000); + if (!nv_wait(NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(i), + NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS, 0)) { + NV_ERROR(dev, "timeout: CURSOR_CTRL2_STATUS == 0\n"); + NV_ERROR(dev, "CURSOR_CTRL2 = 0x%08x\n", + nv_rd32(dev, NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(i))); + return -EBUSY; + } + + nv_wr32(dev, NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(i), + NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_ON); + if (!nv_wait(NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(i), + NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS, + NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS_ACTIVE)) { + NV_ERROR(dev, "timeout: " + "CURSOR_CTRL2_STATUS_ACTIVE(%d)\n", i); + NV_ERROR(dev, "CURSOR_CTRL2(%d) = 0x%08x\n", i, + nv_rd32(dev, NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(i))); + return -EBUSY; + } + } + + nv_wr32(dev, NV50_PDISPLAY_OBJECTS, (evo->ramin->instance >> 8) | 9); + + /* initialise fifo */ + nv_wr32(dev, NV50_PDISPLAY_CHANNEL_DMA_CB(0), + ((evo->pushbuf_bo->bo.mem.mm_node->start << PAGE_SHIFT) >> 8) | + NV50_PDISPLAY_CHANNEL_DMA_CB_LOCATION_VRAM | + NV50_PDISPLAY_CHANNEL_DMA_CB_VALID); + nv_wr32(dev, NV50_PDISPLAY_CHANNEL_UNK2(0), 0x00010000); + nv_wr32(dev, NV50_PDISPLAY_CHANNEL_UNK3(0), 0x00000002); + if (!nv_wait(0x610200, 0x80000000, 0x00000000)) { + NV_ERROR(dev, "timeout: (0x610200 & 0x80000000) == 0\n"); + NV_ERROR(dev, "0x610200 = 0x%08x\n", nv_rd32(dev, 0x610200)); + return -EBUSY; + } + nv_wr32(dev, NV50_PDISPLAY_CHANNEL_STAT(0), + (nv_rd32(dev, NV50_PDISPLAY_CHANNEL_STAT(0)) & ~0x00000003) | + NV50_PDISPLAY_CHANNEL_STAT_DMA_ENABLED); + nv_wr32(dev, NV50_PDISPLAY_USER_PUT(0), 0); + nv_wr32(dev, NV50_PDISPLAY_CHANNEL_STAT(0), 0x01000003 | + NV50_PDISPLAY_CHANNEL_STAT_DMA_ENABLED); + nv_wr32(dev, 0x610300, nv_rd32(dev, 0x610300) & ~1); + + evo->dma.max = (4096/4) - 2; + evo->dma.put = 0; + evo->dma.cur = evo->dma.put; + evo->dma.free = evo->dma.max - evo->dma.cur; + + ret = RING_SPACE(evo, NOUVEAU_DMA_SKIPS); + if (ret) + return ret; + + for (i = 0; i < NOUVEAU_DMA_SKIPS; i++) + OUT_RING(evo, 0); + + ret = RING_SPACE(evo, 11); + if (ret) + return ret; + BEGIN_RING(evo, 0, NV50_EVO_UNK84, 2); + OUT_RING(evo, NV50_EVO_UNK84_NOTIFY_DISABLED); + OUT_RING(evo, NV50_EVO_DMA_NOTIFY_HANDLE_NONE); + BEGIN_RING(evo, 0, NV50_EVO_CRTC(0, FB_DMA), 1); + OUT_RING(evo, NV50_EVO_CRTC_FB_DMA_HANDLE_NONE); + BEGIN_RING(evo, 0, NV50_EVO_CRTC(0, UNK0800), 1); + OUT_RING(evo, 0); + BEGIN_RING(evo, 0, NV50_EVO_CRTC(0, DISPLAY_START), 1); + OUT_RING(evo, 0); + BEGIN_RING(evo, 0, NV50_EVO_CRTC(0, UNK082C), 1); + OUT_RING(evo, 0); + FIRE_RING(evo); + if (!nv_wait(0x640004, 0xffffffff, evo->dma.put << 2)) + NV_ERROR(dev, "evo pushbuf stalled\n"); + + /* enable clock change interrupts. */ + nv_wr32(dev, 0x610028, 0x00010001); + nv_wr32(dev, NV50_PDISPLAY_INTR_EN, (NV50_PDISPLAY_INTR_EN_CLK_UNK10 | + NV50_PDISPLAY_INTR_EN_CLK_UNK20 | + NV50_PDISPLAY_INTR_EN_CLK_UNK40)); + + /* enable hotplug interrupts */ + hpd_en[0] = hpd_en[1] = 0; + list_for_each_entry(connector, &dev->mode_config.connector_list, head) { + struct nouveau_connector *conn = nouveau_connector(connector); + struct dcb_gpio_entry *gpio; + + if (connector->connector_type != DRM_MODE_CONNECTOR_DVII && + connector->connector_type != DRM_MODE_CONNECTOR_DVID && + connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort) + continue; + + gpio = nouveau_bios_gpio_entry(dev, conn->dcb->gpio_tag); + if (!gpio) + continue; + + hpd_en[gpio->line >> 4] |= (0x00010001 << (gpio->line & 0xf)); + } + + nv_wr32(dev, 0xe054, 0xffffffff); + nv_wr32(dev, 0xe050, hpd_en[0]); + if (dev_priv->chipset >= 0x90) { + nv_wr32(dev, 0xe074, 0xffffffff); + nv_wr32(dev, 0xe070, hpd_en[1]); + } + + return 0; +} + +static int nv50_display_disable(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct drm_crtc *drm_crtc; + int ret, i; + + NV_DEBUG_KMS(dev, "\n"); + + list_for_each_entry(drm_crtc, &dev->mode_config.crtc_list, head) { + struct nouveau_crtc *crtc = nouveau_crtc(drm_crtc); + + nv50_crtc_blank(crtc, true); + } + + ret = RING_SPACE(dev_priv->evo, 2); + if (ret == 0) { + BEGIN_RING(dev_priv->evo, 0, NV50_EVO_UPDATE, 1); + OUT_RING(dev_priv->evo, 0); + } + FIRE_RING(dev_priv->evo); + + /* Almost like ack'ing a vblank interrupt, maybe in the spirit of + * cleaning up? + */ + list_for_each_entry(drm_crtc, &dev->mode_config.crtc_list, head) { + struct nouveau_crtc *crtc = nouveau_crtc(drm_crtc); + uint32_t mask = NV50_PDISPLAY_INTR_1_VBLANK_CRTC_(crtc->index); + + if (!crtc->base.enabled) + continue; + + nv_wr32(dev, NV50_PDISPLAY_INTR_1, mask); + if (!nv_wait(NV50_PDISPLAY_INTR_1, mask, mask)) { + NV_ERROR(dev, "timeout: (0x610024 & 0x%08x) == " + "0x%08x\n", mask, mask); + NV_ERROR(dev, "0x610024 = 0x%08x\n", + nv_rd32(dev, NV50_PDISPLAY_INTR_1)); + } + } + + nv_wr32(dev, NV50_PDISPLAY_CHANNEL_STAT(0), 0); + nv_wr32(dev, NV50_PDISPLAY_CTRL_STATE, 0); + if (!nv_wait(NV50_PDISPLAY_CHANNEL_STAT(0), 0x1e0000, 0)) { + NV_ERROR(dev, "timeout: (0x610200 & 0x1e0000) == 0\n"); + NV_ERROR(dev, "0x610200 = 0x%08x\n", + nv_rd32(dev, NV50_PDISPLAY_CHANNEL_STAT(0))); + } + + for (i = 0; i < 3; i++) { + if (!nv_wait(NV50_PDISPLAY_SOR_DPMS_STATE(i), + NV50_PDISPLAY_SOR_DPMS_STATE_WAIT, 0)) { + NV_ERROR(dev, "timeout: SOR_DPMS_STATE_WAIT(%d) == 0\n", i); + NV_ERROR(dev, "SOR_DPMS_STATE(%d) = 0x%08x\n", i, + nv_rd32(dev, NV50_PDISPLAY_SOR_DPMS_STATE(i))); + } + } + + /* disable interrupts. */ + nv_wr32(dev, NV50_PDISPLAY_INTR_EN, 0x00000000); + + /* disable hotplug interrupts */ + nv_wr32(dev, 0xe054, 0xffffffff); + nv_wr32(dev, 0xe050, 0x00000000); + if (dev_priv->chipset >= 0x90) { + nv_wr32(dev, 0xe074, 0xffffffff); + nv_wr32(dev, 0xe070, 0x00000000); + } + return 0; +} + +int nv50_display_create(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct parsed_dcb *dcb = dev_priv->vbios->dcb; + uint32_t connector[16] = {}; + int ret, i; + + NV_DEBUG_KMS(dev, "\n"); + + /* init basic kernel modesetting */ + drm_mode_config_init(dev); + + /* Initialise some optional connector properties. */ + drm_mode_create_scaling_mode_property(dev); + drm_mode_create_dithering_property(dev); + + dev->mode_config.min_width = 0; + dev->mode_config.min_height = 0; + + dev->mode_config.funcs = (void *)&nouveau_mode_config_funcs; + + dev->mode_config.max_width = 8192; + dev->mode_config.max_height = 8192; + + dev->mode_config.fb_base = dev_priv->fb_phys; + + /* Create EVO channel */ + ret = nv50_evo_channel_new(dev, &dev_priv->evo); + if (ret) { + NV_ERROR(dev, "Error creating EVO channel: %d\n", ret); + return ret; + } + + /* Create CRTC objects */ + for (i = 0; i < 2; i++) + nv50_crtc_create(dev, i); + + /* We setup the encoders from the BIOS table */ + for (i = 0 ; i < dcb->entries; i++) { + struct dcb_entry *entry = &dcb->entry[i]; + + if (entry->location != DCB_LOC_ON_CHIP) { + NV_WARN(dev, "Off-chip encoder %d/%d unsupported\n", + entry->type, ffs(entry->or) - 1); + continue; + } + + switch (entry->type) { + case OUTPUT_TMDS: + case OUTPUT_LVDS: + case OUTPUT_DP: + nv50_sor_create(dev, entry); + break; + case OUTPUT_ANALOG: + nv50_dac_create(dev, entry); + break; + default: + NV_WARN(dev, "DCB encoder %d unknown\n", entry->type); + continue; + } + + connector[entry->connector] |= (1 << entry->type); + } + + /* It appears that DCB 3.0+ VBIOS has a connector table, however, + * I'm not 100% certain how to decode it correctly yet so just + * look at what encoders are present on each connector index and + * attempt to derive the connector type from that. + */ + for (i = 0 ; i < dcb->entries; i++) { + struct dcb_entry *entry = &dcb->entry[i]; + uint16_t encoders; + int type; + + encoders = connector[entry->connector]; + if (!(encoders & (1 << entry->type))) + continue; + connector[entry->connector] = 0; + + if (encoders & (1 << OUTPUT_DP)) { + type = DRM_MODE_CONNECTOR_DisplayPort; + } else if (encoders & (1 << OUTPUT_TMDS)) { + if (encoders & (1 << OUTPUT_ANALOG)) + type = DRM_MODE_CONNECTOR_DVII; + else + type = DRM_MODE_CONNECTOR_DVID; + } else if (encoders & (1 << OUTPUT_ANALOG)) { + type = DRM_MODE_CONNECTOR_VGA; + } else if (encoders & (1 << OUTPUT_LVDS)) { + type = DRM_MODE_CONNECTOR_LVDS; + } else { + type = DRM_MODE_CONNECTOR_Unknown; + } + + if (type == DRM_MODE_CONNECTOR_Unknown) + continue; + + nouveau_connector_create(dev, entry->connector, type); + } + + ret = nv50_display_init(dev); + if (ret) + return ret; + + return 0; +} + +int nv50_display_destroy(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + NV_DEBUG_KMS(dev, "\n"); + + drm_mode_config_cleanup(dev); + + nv50_display_disable(dev); + nv50_evo_channel_del(&dev_priv->evo); + + return 0; +} + +static inline uint32_t +nv50_display_mode_ctrl(struct drm_device *dev, bool sor, int or) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t mc; + + if (sor) { + if (dev_priv->chipset < 0x90 || + dev_priv->chipset == 0x92 || dev_priv->chipset == 0xa0) + mc = nv_rd32(dev, NV50_PDISPLAY_SOR_MODE_CTRL_P(or)); + else + mc = nv_rd32(dev, NV90_PDISPLAY_SOR_MODE_CTRL_P(or)); + } else { + mc = nv_rd32(dev, NV50_PDISPLAY_DAC_MODE_CTRL_P(or)); + } + + return mc; +} + +static int +nv50_display_irq_head(struct drm_device *dev, int *phead, + struct dcb_entry **pdcbent) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t unk30 = nv_rd32(dev, NV50_PDISPLAY_UNK30_CTRL); + uint32_t dac = 0, sor = 0; + int head, i, or = 0, type = OUTPUT_ANY; + + /* We're assuming that head 0 *or* head 1 will be active here, + * and not both. I'm not sure if the hw will even signal both + * ever, but it definitely shouldn't for us as we commit each + * CRTC separately, and submission will be blocked by the GPU + * until we handle each in turn. + */ + NV_DEBUG_KMS(dev, "0x610030: 0x%08x\n", unk30); + head = ffs((unk30 >> 9) & 3) - 1; + if (head < 0) + return -EINVAL; + + /* This assumes CRTCs are never bound to multiple encoders, which + * should be the case. + */ + for (i = 0; i < 3 && type == OUTPUT_ANY; i++) { + uint32_t mc = nv50_display_mode_ctrl(dev, false, i); + if (!(mc & (1 << head))) + continue; + + switch ((mc >> 8) & 0xf) { + case 0: type = OUTPUT_ANALOG; break; + case 1: type = OUTPUT_TV; break; + default: + NV_ERROR(dev, "unknown dac mode_ctrl: 0x%08x\n", dac); + return -1; + } + + or = i; + } + + for (i = 0; i < 4 && type == OUTPUT_ANY; i++) { + uint32_t mc = nv50_display_mode_ctrl(dev, true, i); + if (!(mc & (1 << head))) + continue; + + switch ((mc >> 8) & 0xf) { + case 0: type = OUTPUT_LVDS; break; + case 1: type = OUTPUT_TMDS; break; + case 2: type = OUTPUT_TMDS; break; + case 5: type = OUTPUT_TMDS; break; + case 8: type = OUTPUT_DP; break; + case 9: type = OUTPUT_DP; break; + default: + NV_ERROR(dev, "unknown sor mode_ctrl: 0x%08x\n", sor); + return -1; + } + + or = i; + } + + NV_DEBUG_KMS(dev, "type %d, or %d\n", type, or); + if (type == OUTPUT_ANY) { + NV_ERROR(dev, "unknown encoder!!\n"); + return -1; + } + + for (i = 0; i < dev_priv->vbios->dcb->entries; i++) { + struct dcb_entry *dcbent = &dev_priv->vbios->dcb->entry[i]; + + if (dcbent->type != type) + continue; + + if (!(dcbent->or & (1 << or))) + continue; + + *phead = head; + *pdcbent = dcbent; + return 0; + } + + NV_ERROR(dev, "no DCB entry for %d %d\n", dac != 0, or); + return 0; +} + +static uint32_t +nv50_display_script_select(struct drm_device *dev, struct dcb_entry *dcbent, + int pxclk) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_connector *nv_connector = NULL; + struct drm_encoder *encoder; + struct nvbios *bios = &dev_priv->VBIOS; + uint32_t mc, script = 0, or; + + list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + + if (nv_encoder->dcb != dcbent) + continue; + + nv_connector = nouveau_encoder_connector_get(nv_encoder); + break; + } + + or = ffs(dcbent->or) - 1; + mc = nv50_display_mode_ctrl(dev, dcbent->type != OUTPUT_ANALOG, or); + switch (dcbent->type) { + case OUTPUT_LVDS: + script = (mc >> 8) & 0xf; + if (bios->pub.fp_no_ddc) { + if (bios->fp.dual_link) + script |= 0x0100; + if (bios->fp.if_is_24bit) + script |= 0x0200; + } else { + if (pxclk >= bios->fp.duallink_transition_clk) { + script |= 0x0100; + if (bios->fp.strapless_is_24bit & 2) + script |= 0x0200; + } else + if (bios->fp.strapless_is_24bit & 1) + script |= 0x0200; + + if (nv_connector && nv_connector->edid && + (nv_connector->edid->revision >= 4) && + (nv_connector->edid->input & 0x70) >= 0x20) + script |= 0x0200; + } + + if (nouveau_uscript_lvds >= 0) { + NV_INFO(dev, "override script 0x%04x with 0x%04x " + "for output LVDS-%d\n", script, + nouveau_uscript_lvds, or); + script = nouveau_uscript_lvds; + } + break; + case OUTPUT_TMDS: + script = (mc >> 8) & 0xf; + if (pxclk >= 165000) + script |= 0x0100; + + if (nouveau_uscript_tmds >= 0) { + NV_INFO(dev, "override script 0x%04x with 0x%04x " + "for output TMDS-%d\n", script, + nouveau_uscript_tmds, or); + script = nouveau_uscript_tmds; + } + break; + case OUTPUT_DP: + script = (mc >> 8) & 0xf; + break; + case OUTPUT_ANALOG: + script = 0xff; + break; + default: + NV_ERROR(dev, "modeset on unsupported output type!\n"); + break; + } + + return script; +} + +static void +nv50_display_vblank_crtc_handler(struct drm_device *dev, int crtc) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *chan; + struct list_head *entry, *tmp; + + list_for_each_safe(entry, tmp, &dev_priv->vbl_waiting) { + chan = list_entry(entry, struct nouveau_channel, nvsw.vbl_wait); + + nouveau_bo_wr32(chan->notifier_bo, chan->nvsw.vblsem_offset, + chan->nvsw.vblsem_rval); + list_del(&chan->nvsw.vbl_wait); + } +} + +static void +nv50_display_vblank_handler(struct drm_device *dev, uint32_t intr) +{ + intr &= NV50_PDISPLAY_INTR_1_VBLANK_CRTC; + + if (intr & NV50_PDISPLAY_INTR_1_VBLANK_CRTC_0) + nv50_display_vblank_crtc_handler(dev, 0); + + if (intr & NV50_PDISPLAY_INTR_1_VBLANK_CRTC_1) + nv50_display_vblank_crtc_handler(dev, 1); + + nv_wr32(dev, NV50_PDISPLAY_INTR_EN, nv_rd32(dev, + NV50_PDISPLAY_INTR_EN) & ~intr); + nv_wr32(dev, NV50_PDISPLAY_INTR_1, intr); +} + +static void +nv50_display_unk10_handler(struct drm_device *dev) +{ + struct dcb_entry *dcbent; + int head, ret; + + ret = nv50_display_irq_head(dev, &head, &dcbent); + if (ret) + goto ack; + + nv_wr32(dev, 0x619494, nv_rd32(dev, 0x619494) & ~8); + + nouveau_bios_run_display_table(dev, dcbent, 0, -1); + +ack: + nv_wr32(dev, NV50_PDISPLAY_INTR_1, NV50_PDISPLAY_INTR_1_CLK_UNK10); + nv_wr32(dev, 0x610030, 0x80000000); +} + +static void +nv50_display_unk20_handler(struct drm_device *dev) +{ + struct dcb_entry *dcbent; + uint32_t tmp, pclk, script; + int head, or, ret; + + ret = nv50_display_irq_head(dev, &head, &dcbent); + if (ret) + goto ack; + or = ffs(dcbent->or) - 1; + pclk = nv_rd32(dev, NV50_PDISPLAY_CRTC_P(head, CLOCK)) & 0x3fffff; + script = nv50_display_script_select(dev, dcbent, pclk); + + NV_DEBUG_KMS(dev, "head %d pxclk: %dKHz\n", head, pclk); + + if (dcbent->type != OUTPUT_DP) + nouveau_bios_run_display_table(dev, dcbent, 0, -2); + + nv50_crtc_set_clock(dev, head, pclk); + + nouveau_bios_run_display_table(dev, dcbent, script, pclk); + + tmp = nv_rd32(dev, NV50_PDISPLAY_CRTC_CLK_CTRL2(head)); + tmp &= ~0x000000f; + nv_wr32(dev, NV50_PDISPLAY_CRTC_CLK_CTRL2(head), tmp); + + if (dcbent->type != OUTPUT_ANALOG) { + tmp = nv_rd32(dev, NV50_PDISPLAY_SOR_CLK_CTRL2(or)); + tmp &= ~0x00000f0f; + if (script & 0x0100) + tmp |= 0x00000101; + nv_wr32(dev, NV50_PDISPLAY_SOR_CLK_CTRL2(or), tmp); + } else { + nv_wr32(dev, NV50_PDISPLAY_DAC_CLK_CTRL2(or), 0); + } + +ack: + nv_wr32(dev, NV50_PDISPLAY_INTR_1, NV50_PDISPLAY_INTR_1_CLK_UNK20); + nv_wr32(dev, 0x610030, 0x80000000); +} + +static void +nv50_display_unk40_handler(struct drm_device *dev) +{ + struct dcb_entry *dcbent; + int head, pclk, script, ret; + + ret = nv50_display_irq_head(dev, &head, &dcbent); + if (ret) + goto ack; + pclk = nv_rd32(dev, NV50_PDISPLAY_CRTC_P(head, CLOCK)) & 0x3fffff; + script = nv50_display_script_select(dev, dcbent, pclk); + + nouveau_bios_run_display_table(dev, dcbent, script, -pclk); + +ack: + nv_wr32(dev, NV50_PDISPLAY_INTR_1, NV50_PDISPLAY_INTR_1_CLK_UNK40); + nv_wr32(dev, 0x610030, 0x80000000); + nv_wr32(dev, 0x619494, nv_rd32(dev, 0x619494) | 8); +} + +void +nv50_display_irq_handler_bh(struct work_struct *work) +{ + struct drm_nouveau_private *dev_priv = + container_of(work, struct drm_nouveau_private, irq_work); + struct drm_device *dev = dev_priv->dev; + + for (;;) { + uint32_t intr0 = nv_rd32(dev, NV50_PDISPLAY_INTR_0); + uint32_t intr1 = nv_rd32(dev, NV50_PDISPLAY_INTR_1); + + NV_DEBUG_KMS(dev, "PDISPLAY_INTR_BH 0x%08x 0x%08x\n", intr0, intr1); + + if (intr1 & NV50_PDISPLAY_INTR_1_CLK_UNK10) + nv50_display_unk10_handler(dev); + else + if (intr1 & NV50_PDISPLAY_INTR_1_CLK_UNK20) + nv50_display_unk20_handler(dev); + else + if (intr1 & NV50_PDISPLAY_INTR_1_CLK_UNK40) + nv50_display_unk40_handler(dev); + else + break; + } + + nv_wr32(dev, NV03_PMC_INTR_EN_0, 1); +} + +static void +nv50_display_error_handler(struct drm_device *dev) +{ + uint32_t addr, data; + + nv_wr32(dev, NV50_PDISPLAY_INTR_0, 0x00010000); + addr = nv_rd32(dev, NV50_PDISPLAY_TRAPPED_ADDR); + data = nv_rd32(dev, NV50_PDISPLAY_TRAPPED_DATA); + + NV_ERROR(dev, "EvoCh %d Mthd 0x%04x Data 0x%08x (0x%04x 0x%02x)\n", + 0, addr & 0xffc, data, addr >> 16, (addr >> 12) & 0xf); + + nv_wr32(dev, NV50_PDISPLAY_TRAPPED_ADDR, 0x90000000); +} + +static void +nv50_display_irq_hotplug(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct drm_connector *connector; + const uint32_t gpio_reg[4] = { 0xe104, 0xe108, 0xe280, 0xe284 }; + uint32_t unplug_mask, plug_mask, change_mask; + uint32_t hpd0, hpd1 = 0; + + hpd0 = nv_rd32(dev, 0xe054) & nv_rd32(dev, 0xe050); + if (dev_priv->chipset >= 0x90) + hpd1 = nv_rd32(dev, 0xe074) & nv_rd32(dev, 0xe070); + + plug_mask = (hpd0 & 0x0000ffff) | (hpd1 << 16); + unplug_mask = (hpd0 >> 16) | (hpd1 & 0xffff0000); + change_mask = plug_mask | unplug_mask; + + list_for_each_entry(connector, &dev->mode_config.connector_list, head) { + struct drm_encoder_helper_funcs *helper; + struct nouveau_connector *nv_connector = + nouveau_connector(connector); + struct nouveau_encoder *nv_encoder; + struct dcb_gpio_entry *gpio; + uint32_t reg; + bool plugged; + + if (!nv_connector->dcb) + continue; + + gpio = nouveau_bios_gpio_entry(dev, nv_connector->dcb->gpio_tag); + if (!gpio || !(change_mask & (1 << gpio->line))) + continue; + + reg = nv_rd32(dev, gpio_reg[gpio->line >> 3]); + plugged = !!(reg & (4 << ((gpio->line & 7) << 2))); + NV_INFO(dev, "%splugged %s\n", plugged ? "" : "un", + drm_get_connector_name(connector)) ; + + if (!connector->encoder || !connector->encoder->crtc || + !connector->encoder->crtc->enabled) + continue; + nv_encoder = nouveau_encoder(connector->encoder); + helper = connector->encoder->helper_private; + + if (nv_encoder->dcb->type != OUTPUT_DP) + continue; + + if (plugged) + helper->dpms(connector->encoder, DRM_MODE_DPMS_ON); + else + helper->dpms(connector->encoder, DRM_MODE_DPMS_OFF); + } + + nv_wr32(dev, 0xe054, nv_rd32(dev, 0xe054)); + if (dev_priv->chipset >= 0x90) + nv_wr32(dev, 0xe074, nv_rd32(dev, 0xe074)); +} + +void +nv50_display_irq_handler(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t delayed = 0; + + while (nv_rd32(dev, NV50_PMC_INTR_0) & NV50_PMC_INTR_0_HOTPLUG) + nv50_display_irq_hotplug(dev); + + while (nv_rd32(dev, NV50_PMC_INTR_0) & NV50_PMC_INTR_0_DISPLAY) { + uint32_t intr0 = nv_rd32(dev, NV50_PDISPLAY_INTR_0); + uint32_t intr1 = nv_rd32(dev, NV50_PDISPLAY_INTR_1); + uint32_t clock; + + NV_DEBUG_KMS(dev, "PDISPLAY_INTR 0x%08x 0x%08x\n", intr0, intr1); + + if (!intr0 && !(intr1 & ~delayed)) + break; + + if (intr0 & 0x00010000) { + nv50_display_error_handler(dev); + intr0 &= ~0x00010000; + } + + if (intr1 & NV50_PDISPLAY_INTR_1_VBLANK_CRTC) { + nv50_display_vblank_handler(dev, intr1); + intr1 &= ~NV50_PDISPLAY_INTR_1_VBLANK_CRTC; + } + + clock = (intr1 & (NV50_PDISPLAY_INTR_1_CLK_UNK10 | + NV50_PDISPLAY_INTR_1_CLK_UNK20 | + NV50_PDISPLAY_INTR_1_CLK_UNK40)); + if (clock) { + nv_wr32(dev, NV03_PMC_INTR_EN_0, 0); + if (!work_pending(&dev_priv->irq_work)) + queue_work(dev_priv->wq, &dev_priv->irq_work); + delayed |= clock; + intr1 &= ~clock; + } + + if (intr0) { + NV_ERROR(dev, "unknown PDISPLAY_INTR_0: 0x%08x\n", intr0); + nv_wr32(dev, NV50_PDISPLAY_INTR_0, intr0); + } + + if (intr1) { + NV_ERROR(dev, + "unknown PDISPLAY_INTR_1: 0x%08x\n", intr1); + nv_wr32(dev, NV50_PDISPLAY_INTR_1, intr1); + } + } +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv50_display.h +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv50_display.h @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2008 Maarten Maathuis. + * 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 COPYRIGHT OWNER(S) 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 __NV50_DISPLAY_H__ +#define __NV50_DISPLAY_H__ + +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" +#include "nouveau_dma.h" +#include "nouveau_reg.h" +#include "nouveau_crtc.h" +#include "nv50_evo.h" + +void nv50_display_irq_handler(struct drm_device *dev); +void nv50_display_irq_handler_bh(struct work_struct *work); +int nv50_display_init(struct drm_device *dev); +int nv50_display_create(struct drm_device *dev); +int nv50_display_destroy(struct drm_device *dev); +int nv50_crtc_blank(struct nouveau_crtc *, bool blank); +int nv50_crtc_set_clock(struct drm_device *, int head, int pclk); + +#endif /* __NV50_DISPLAY_H__ */ --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv50_evo.h +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv50_evo.h @@ -0,0 +1,113 @@ +/* + * Copyright (C) 2008 Maarten Maathuis. + * 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 COPYRIGHT OWNER(S) 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 NV50_EVO_UPDATE 0x00000080 +#define NV50_EVO_UNK84 0x00000084 +#define NV50_EVO_UNK84_NOTIFY 0x40000000 +#define NV50_EVO_UNK84_NOTIFY_DISABLED 0x00000000 +#define NV50_EVO_UNK84_NOTIFY_ENABLED 0x40000000 +#define NV50_EVO_DMA_NOTIFY 0x00000088 +#define NV50_EVO_DMA_NOTIFY_HANDLE 0xffffffff +#define NV50_EVO_DMA_NOTIFY_HANDLE_NONE 0x00000000 +#define NV50_EVO_UNK8C 0x0000008C + +#define NV50_EVO_DAC(n, r) ((n) * 0x80 + NV50_EVO_DAC_##r) +#define NV50_EVO_DAC_MODE_CTRL 0x00000400 +#define NV50_EVO_DAC_MODE_CTRL_CRTC0 0x00000001 +#define NV50_EVO_DAC_MODE_CTRL_CRTC1 0x00000002 +#define NV50_EVO_DAC_MODE_CTRL2 0x00000404 +#define NV50_EVO_DAC_MODE_CTRL2_NHSYNC 0x00000001 +#define NV50_EVO_DAC_MODE_CTRL2_NVSYNC 0x00000002 + +#define NV50_EVO_SOR(n, r) ((n) * 0x40 + NV50_EVO_SOR_##r) +#define NV50_EVO_SOR_MODE_CTRL 0x00000600 +#define NV50_EVO_SOR_MODE_CTRL_CRTC0 0x00000001 +#define NV50_EVO_SOR_MODE_CTRL_CRTC1 0x00000002 +#define NV50_EVO_SOR_MODE_CTRL_TMDS 0x00000100 +#define NV50_EVO_SOR_MODE_CTRL_TMDS_DUAL_LINK 0x00000400 +#define NV50_EVO_SOR_MODE_CTRL_NHSYNC 0x00001000 +#define NV50_EVO_SOR_MODE_CTRL_NVSYNC 0x00002000 + +#define NV50_EVO_CRTC(n, r) ((n) * 0x400 + NV50_EVO_CRTC_##r) +#define NV84_EVO_CRTC(n, r) ((n) * 0x400 + NV84_EVO_CRTC_##r) +#define NV50_EVO_CRTC_UNK0800 0x00000800 +#define NV50_EVO_CRTC_CLOCK 0x00000804 +#define NV50_EVO_CRTC_INTERLACE 0x00000808 +#define NV50_EVO_CRTC_DISPLAY_START 0x00000810 +#define NV50_EVO_CRTC_DISPLAY_TOTAL 0x00000814 +#define NV50_EVO_CRTC_SYNC_DURATION 0x00000818 +#define NV50_EVO_CRTC_SYNC_START_TO_BLANK_END 0x0000081c +#define NV50_EVO_CRTC_UNK0820 0x00000820 +#define NV50_EVO_CRTC_UNK0824 0x00000824 +#define NV50_EVO_CRTC_UNK082C 0x0000082c +#define NV50_EVO_CRTC_CLUT_MODE 0x00000840 +/* You can't have a palette in 8 bit mode (=OFF) */ +#define NV50_EVO_CRTC_CLUT_MODE_BLANK 0x00000000 +#define NV50_EVO_CRTC_CLUT_MODE_OFF 0x80000000 +#define NV50_EVO_CRTC_CLUT_MODE_ON 0xC0000000 +#define NV50_EVO_CRTC_CLUT_OFFSET 0x00000844 +#define NV84_EVO_CRTC_CLUT_DMA 0x0000085C +#define NV84_EVO_CRTC_CLUT_DMA_HANDLE 0xffffffff +#define NV84_EVO_CRTC_CLUT_DMA_HANDLE_NONE 0x00000000 +#define NV50_EVO_CRTC_FB_OFFSET 0x00000860 +#define NV50_EVO_CRTC_FB_SIZE 0x00000868 +#define NV50_EVO_CRTC_FB_CONFIG 0x0000086c +#define NV50_EVO_CRTC_FB_CONFIG_MODE 0x00100000 +#define NV50_EVO_CRTC_FB_CONFIG_MODE_TILE 0x00000000 +#define NV50_EVO_CRTC_FB_CONFIG_MODE_PITCH 0x00100000 +#define NV50_EVO_CRTC_FB_DEPTH 0x00000870 +#define NV50_EVO_CRTC_FB_DEPTH_8 0x00001e00 +#define NV50_EVO_CRTC_FB_DEPTH_15 0x0000e900 +#define NV50_EVO_CRTC_FB_DEPTH_16 0x0000e800 +#define NV50_EVO_CRTC_FB_DEPTH_24 0x0000cf00 +#define NV50_EVO_CRTC_FB_DEPTH_30 0x0000d100 +#define NV50_EVO_CRTC_FB_DMA 0x00000874 +#define NV50_EVO_CRTC_FB_DMA_HANDLE 0xffffffff +#define NV50_EVO_CRTC_FB_DMA_HANDLE_NONE 0x00000000 +#define NV50_EVO_CRTC_CURSOR_CTRL 0x00000880 +#define NV50_EVO_CRTC_CURSOR_CTRL_HIDE 0x05000000 +#define NV50_EVO_CRTC_CURSOR_CTRL_SHOW 0x85000000 +#define NV50_EVO_CRTC_CURSOR_OFFSET 0x00000884 +#define NV84_EVO_CRTC_CURSOR_DMA 0x0000089c +#define NV84_EVO_CRTC_CURSOR_DMA_HANDLE 0xffffffff +#define NV84_EVO_CRTC_CURSOR_DMA_HANDLE_NONE 0x00000000 +#define NV50_EVO_CRTC_DITHER_CTRL 0x000008a0 +#define NV50_EVO_CRTC_DITHER_CTRL_OFF 0x00000000 +#define NV50_EVO_CRTC_DITHER_CTRL_ON 0x00000011 +#define NV50_EVO_CRTC_SCALE_CTRL 0x000008a4 +#define NV50_EVO_CRTC_SCALE_CTRL_INACTIVE 0x00000000 +#define NV50_EVO_CRTC_SCALE_CTRL_ACTIVE 0x00000009 +#define NV50_EVO_CRTC_COLOR_CTRL 0x000008a8 +#define NV50_EVO_CRTC_COLOR_CTRL_COLOR 0x00040000 +#define NV50_EVO_CRTC_FB_POS 0x000008c0 +#define NV50_EVO_CRTC_REAL_RES 0x000008c8 +#define NV50_EVO_CRTC_SCALE_CENTER_OFFSET 0x000008d4 +#define NV50_EVO_CRTC_SCALE_CENTER_OFFSET_VAL(x, y) \ + ((((unsigned)y << 16) & 0xFFFF0000) | (((unsigned)x) & 0x0000FFFF)) +/* Both of these are needed, otherwise nothing happens. */ +#define NV50_EVO_CRTC_SCALE_RES1 0x000008d8 +#define NV50_EVO_CRTC_SCALE_RES2 0x000008dc + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv50_fbcon.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv50_fbcon.c @@ -0,0 +1,267 @@ +#include "drmP.h" +#include "nouveau_drv.h" +#include "nouveau_dma.h" +#include "nouveau_fbcon.h" + +void +nv50_fbcon_fillrect(struct fb_info *info, const struct fb_fillrect *rect) +{ + struct nouveau_fbcon_par *par = info->par; + struct drm_device *dev = par->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *chan = dev_priv->channel; + + if (info->state != FBINFO_STATE_RUNNING) + return; + + if (!(info->flags & FBINFO_HWACCEL_DISABLED) && + RING_SPACE(chan, rect->rop == ROP_COPY ? 7 : 11)) { + nouveau_fbcon_gpu_lockup(info); + } + + if (info->flags & FBINFO_HWACCEL_DISABLED) { + cfb_fillrect(info, rect); + return; + } + + if (rect->rop != ROP_COPY) { + BEGIN_RING(chan, NvSub2D, 0x02ac, 1); + OUT_RING(chan, 1); + } + BEGIN_RING(chan, NvSub2D, 0x0588, 1); + if (info->fix.visual == FB_VISUAL_TRUECOLOR || + info->fix.visual == FB_VISUAL_DIRECTCOLOR) + OUT_RING(chan, ((uint32_t *)info->pseudo_palette)[rect->color]); + else + OUT_RING(chan, rect->color); + BEGIN_RING(chan, NvSub2D, 0x0600, 4); + OUT_RING(chan, rect->dx); + OUT_RING(chan, rect->dy); + OUT_RING(chan, rect->dx + rect->width); + OUT_RING(chan, rect->dy + rect->height); + if (rect->rop != ROP_COPY) { + BEGIN_RING(chan, NvSub2D, 0x02ac, 1); + OUT_RING(chan, 3); + } + FIRE_RING(chan); +} + +void +nv50_fbcon_copyarea(struct fb_info *info, const struct fb_copyarea *region) +{ + struct nouveau_fbcon_par *par = info->par; + struct drm_device *dev = par->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *chan = dev_priv->channel; + + if (info->state != FBINFO_STATE_RUNNING) + return; + + if (!(info->flags & FBINFO_HWACCEL_DISABLED) && RING_SPACE(chan, 12)) { + nouveau_fbcon_gpu_lockup(info); + } + + if (info->flags & FBINFO_HWACCEL_DISABLED) { + cfb_copyarea(info, region); + return; + } + + BEGIN_RING(chan, NvSub2D, 0x0110, 1); + OUT_RING(chan, 0); + BEGIN_RING(chan, NvSub2D, 0x08b0, 4); + OUT_RING(chan, region->dx); + OUT_RING(chan, region->dy); + OUT_RING(chan, region->width); + OUT_RING(chan, region->height); + BEGIN_RING(chan, NvSub2D, 0x08d0, 4); + OUT_RING(chan, 0); + OUT_RING(chan, region->sx); + OUT_RING(chan, 0); + OUT_RING(chan, region->sy); + FIRE_RING(chan); +} + +void +nv50_fbcon_imageblit(struct fb_info *info, const struct fb_image *image) +{ + struct nouveau_fbcon_par *par = info->par; + struct drm_device *dev = par->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *chan = dev_priv->channel; + uint32_t width, dwords, *data = (uint32_t *)image->data; + uint32_t mask = ~(~0 >> (32 - info->var.bits_per_pixel)); + uint32_t *palette = info->pseudo_palette; + + if (info->state != FBINFO_STATE_RUNNING) + return; + + if (image->depth != 1) { + cfb_imageblit(info, image); + return; + } + + if (!(info->flags & FBINFO_HWACCEL_DISABLED) && RING_SPACE(chan, 11)) { + nouveau_fbcon_gpu_lockup(info); + } + + if (info->flags & FBINFO_HWACCEL_DISABLED) { + cfb_imageblit(info, image); + return; + } + + width = ALIGN(image->width, 32); + dwords = (width * image->height) >> 5; + + BEGIN_RING(chan, NvSub2D, 0x0814, 2); + if (info->fix.visual == FB_VISUAL_TRUECOLOR || + info->fix.visual == FB_VISUAL_DIRECTCOLOR) { + OUT_RING(chan, palette[image->bg_color] | mask); + OUT_RING(chan, palette[image->fg_color] | mask); + } else { + OUT_RING(chan, image->bg_color); + OUT_RING(chan, image->fg_color); + } + BEGIN_RING(chan, NvSub2D, 0x0838, 2); + OUT_RING(chan, image->width); + OUT_RING(chan, image->height); + BEGIN_RING(chan, NvSub2D, 0x0850, 4); + OUT_RING(chan, 0); + OUT_RING(chan, image->dx); + OUT_RING(chan, 0); + OUT_RING(chan, image->dy); + + while (dwords) { + int push = dwords > 2047 ? 2047 : dwords; + + if (RING_SPACE(chan, push + 1)) { + nouveau_fbcon_gpu_lockup(info); + cfb_imageblit(info, image); + return; + } + + dwords -= push; + + BEGIN_RING(chan, NvSub2D, 0x40000860, push); + OUT_RINGp(chan, data, push); + data += push; + } + + FIRE_RING(chan); +} + +int +nv50_fbcon_accel_init(struct fb_info *info) +{ + struct nouveau_fbcon_par *par = info->par; + struct drm_device *dev = par->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *chan = dev_priv->channel; + struct nouveau_gpuobj *eng2d = NULL; + int ret, format; + + switch (info->var.bits_per_pixel) { + case 8: + format = 0xf3; + break; + case 15: + format = 0xf8; + break; + case 16: + format = 0xe8; + break; + case 32: + switch (info->var.transp.length) { + case 0: /* depth 24 */ + case 8: /* depth 32, just use 24.. */ + format = 0xe6; + break; + case 2: /* depth 30 */ + format = 0xd1; + break; + default: + return -EINVAL; + } + break; + default: + return -EINVAL; + } + + ret = nouveau_gpuobj_gr_new(dev_priv->channel, 0x502d, &eng2d); + if (ret) + return ret; + + ret = nouveau_gpuobj_ref_add(dev, dev_priv->channel, Nv2D, eng2d, NULL); + if (ret) + return ret; + + ret = RING_SPACE(chan, 59); + if (ret) { + nouveau_fbcon_gpu_lockup(info); + return ret; + } + + BEGIN_RING(chan, NvSub2D, 0x0000, 1); + OUT_RING(chan, Nv2D); + BEGIN_RING(chan, NvSub2D, 0x0180, 4); + OUT_RING(chan, NvNotify0); + OUT_RING(chan, chan->vram_handle); + OUT_RING(chan, chan->vram_handle); + OUT_RING(chan, chan->vram_handle); + BEGIN_RING(chan, NvSub2D, 0x0290, 1); + OUT_RING(chan, 0); + BEGIN_RING(chan, NvSub2D, 0x0888, 1); + OUT_RING(chan, 1); + BEGIN_RING(chan, NvSub2D, 0x02ac, 1); + OUT_RING(chan, 3); + BEGIN_RING(chan, NvSub2D, 0x02a0, 1); + OUT_RING(chan, 0x55); + BEGIN_RING(chan, NvSub2D, 0x08c0, 4); + OUT_RING(chan, 0); + OUT_RING(chan, 1); + OUT_RING(chan, 0); + OUT_RING(chan, 1); + BEGIN_RING(chan, NvSub2D, 0x0580, 2); + OUT_RING(chan, 4); + OUT_RING(chan, format); + BEGIN_RING(chan, NvSub2D, 0x02e8, 2); + OUT_RING(chan, 2); + OUT_RING(chan, 1); + BEGIN_RING(chan, NvSub2D, 0x0804, 1); + OUT_RING(chan, format); + BEGIN_RING(chan, NvSub2D, 0x0800, 1); + OUT_RING(chan, 1); + BEGIN_RING(chan, NvSub2D, 0x0808, 3); + OUT_RING(chan, 0); + OUT_RING(chan, 0); + OUT_RING(chan, 1); + BEGIN_RING(chan, NvSub2D, 0x081c, 1); + OUT_RING(chan, 1); + BEGIN_RING(chan, NvSub2D, 0x0840, 4); + OUT_RING(chan, 0); + OUT_RING(chan, 1); + OUT_RING(chan, 0); + OUT_RING(chan, 1); + BEGIN_RING(chan, NvSub2D, 0x0200, 2); + OUT_RING(chan, format); + OUT_RING(chan, 1); + BEGIN_RING(chan, NvSub2D, 0x0214, 5); + OUT_RING(chan, info->fix.line_length); + OUT_RING(chan, info->var.xres_virtual); + OUT_RING(chan, info->var.yres_virtual); + OUT_RING(chan, 0); + OUT_RING(chan, info->fix.smem_start - dev_priv->fb_phys + + dev_priv->vm_vram_base); + BEGIN_RING(chan, NvSub2D, 0x0230, 2); + OUT_RING(chan, format); + OUT_RING(chan, 1); + BEGIN_RING(chan, NvSub2D, 0x0244, 5); + OUT_RING(chan, info->fix.line_length); + OUT_RING(chan, info->var.xres_virtual); + OUT_RING(chan, info->var.yres_virtual); + OUT_RING(chan, 0); + OUT_RING(chan, info->fix.smem_start - dev_priv->fb_phys + + dev_priv->vm_vram_base); + + return 0; +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv50_fifo.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv50_fifo.c @@ -0,0 +1,495 @@ +/* + * Copyright (C) 2007 Ben Skeggs. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" + +struct nv50_fifo_priv { + struct nouveau_gpuobj_ref *thingo[2]; + int cur_thingo; +}; + +#define IS_G80 ((dev_priv->chipset & 0xf0) == 0x50) + +static void +nv50_fifo_init_thingo(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv50_fifo_priv *priv = dev_priv->engine.fifo.priv; + struct nouveau_gpuobj_ref *cur; + int i, nr; + + NV_DEBUG(dev, "\n"); + + cur = priv->thingo[priv->cur_thingo]; + priv->cur_thingo = !priv->cur_thingo; + + /* We never schedule channel 0 or 127 */ + dev_priv->engine.instmem.prepare_access(dev, true); + for (i = 1, nr = 0; i < 127; i++) { + if (dev_priv->fifos[i] && dev_priv->fifos[i]->ramfc) + nv_wo32(dev, cur->gpuobj, nr++, i); + } + dev_priv->engine.instmem.finish_access(dev); + + nv_wr32(dev, 0x32f4, cur->instance >> 12); + nv_wr32(dev, 0x32ec, nr); + nv_wr32(dev, 0x2500, 0x101); +} + +static int +nv50_fifo_channel_enable(struct drm_device *dev, int channel, bool nt) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *chan = dev_priv->fifos[channel]; + uint32_t inst; + + NV_DEBUG(dev, "ch%d\n", channel); + + if (!chan->ramfc) + return -EINVAL; + + if (IS_G80) + inst = chan->ramfc->instance >> 12; + else + inst = chan->ramfc->instance >> 8; + nv_wr32(dev, NV50_PFIFO_CTX_TABLE(channel), + inst | NV50_PFIFO_CTX_TABLE_CHANNEL_ENABLED); + + if (!nt) + nv50_fifo_init_thingo(dev); + return 0; +} + +static void +nv50_fifo_channel_disable(struct drm_device *dev, int channel, bool nt) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t inst; + + NV_DEBUG(dev, "ch%d, nt=%d\n", channel, nt); + + if (IS_G80) + inst = NV50_PFIFO_CTX_TABLE_INSTANCE_MASK_G80; + else + inst = NV50_PFIFO_CTX_TABLE_INSTANCE_MASK_G84; + nv_wr32(dev, NV50_PFIFO_CTX_TABLE(channel), inst); + + if (!nt) + nv50_fifo_init_thingo(dev); +} + +static void +nv50_fifo_init_reset(struct drm_device *dev) +{ + uint32_t pmc_e = NV_PMC_ENABLE_PFIFO; + + NV_DEBUG(dev, "\n"); + + nv_wr32(dev, NV03_PMC_ENABLE, nv_rd32(dev, NV03_PMC_ENABLE) & ~pmc_e); + nv_wr32(dev, NV03_PMC_ENABLE, nv_rd32(dev, NV03_PMC_ENABLE) | pmc_e); +} + +static void +nv50_fifo_init_intr(struct drm_device *dev) +{ + NV_DEBUG(dev, "\n"); + + nv_wr32(dev, NV03_PFIFO_INTR_0, 0xFFFFFFFF); + nv_wr32(dev, NV03_PFIFO_INTR_EN_0, 0xFFFFFFFF); +} + +static void +nv50_fifo_init_context_table(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + int i; + + NV_DEBUG(dev, "\n"); + + for (i = 0; i < NV50_PFIFO_CTX_TABLE__SIZE; i++) { + if (dev_priv->fifos[i]) + nv50_fifo_channel_enable(dev, i, true); + else + nv50_fifo_channel_disable(dev, i, true); + } + + nv50_fifo_init_thingo(dev); +} + +static void +nv50_fifo_init_regs__nv(struct drm_device *dev) +{ + NV_DEBUG(dev, "\n"); + + nv_wr32(dev, 0x250c, 0x6f3cfc34); +} + +static void +nv50_fifo_init_regs(struct drm_device *dev) +{ + NV_DEBUG(dev, "\n"); + + nv_wr32(dev, 0x2500, 0); + nv_wr32(dev, 0x3250, 0); + nv_wr32(dev, 0x3220, 0); + nv_wr32(dev, 0x3204, 0); + nv_wr32(dev, 0x3210, 0); + nv_wr32(dev, 0x3270, 0); + + /* Enable dummy channels setup by nv50_instmem.c */ + nv50_fifo_channel_enable(dev, 0, true); + nv50_fifo_channel_enable(dev, 127, true); +} + +int +nv50_fifo_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv50_fifo_priv *priv; + int ret; + + NV_DEBUG(dev, "\n"); + + priv = dev_priv->engine.fifo.priv; + if (priv) { + priv->cur_thingo = !priv->cur_thingo; + goto just_reset; + } + + priv = kzalloc(sizeof(*priv), GFP_KERNEL); + if (!priv) + return -ENOMEM; + dev_priv->engine.fifo.priv = priv; + + ret = nouveau_gpuobj_new_ref(dev, NULL, NULL, 0, 128*4, 0x1000, + NVOBJ_FLAG_ZERO_ALLOC, &priv->thingo[0]); + if (ret) { + NV_ERROR(dev, "error creating thingo0: %d\n", ret); + return ret; + } + + ret = nouveau_gpuobj_new_ref(dev, NULL, NULL, 0, 128*4, 0x1000, + NVOBJ_FLAG_ZERO_ALLOC, &priv->thingo[1]); + if (ret) { + NV_ERROR(dev, "error creating thingo1: %d\n", ret); + return ret; + } + +just_reset: + nv50_fifo_init_reset(dev); + nv50_fifo_init_intr(dev); + nv50_fifo_init_context_table(dev); + nv50_fifo_init_regs__nv(dev); + nv50_fifo_init_regs(dev); + dev_priv->engine.fifo.enable(dev); + dev_priv->engine.fifo.reassign(dev, true); + + return 0; +} + +void +nv50_fifo_takedown(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv50_fifo_priv *priv = dev_priv->engine.fifo.priv; + + NV_DEBUG(dev, "\n"); + + if (!priv) + return; + + nouveau_gpuobj_ref_del(dev, &priv->thingo[0]); + nouveau_gpuobj_ref_del(dev, &priv->thingo[1]); + + dev_priv->engine.fifo.priv = NULL; + kfree(priv); +} + +int +nv50_fifo_channel_id(struct drm_device *dev) +{ + return nv_rd32(dev, NV03_PFIFO_CACHE1_PUSH1) & + NV50_PFIFO_CACHE1_PUSH1_CHID_MASK; +} + +int +nv50_fifo_create_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *ramfc = NULL; + int ret; + + NV_DEBUG(dev, "ch%d\n", chan->id); + + if (IS_G80) { + uint32_t ramin_poffset = chan->ramin->gpuobj->im_pramin->start; + uint32_t ramin_voffset = chan->ramin->gpuobj->im_backing_start; + + ret = nouveau_gpuobj_new_fake(dev, ramin_poffset, ramin_voffset, + 0x100, NVOBJ_FLAG_ZERO_ALLOC | + NVOBJ_FLAG_ZERO_FREE, &ramfc, + &chan->ramfc); + if (ret) + return ret; + + ret = nouveau_gpuobj_new_fake(dev, ramin_poffset + 0x0400, + ramin_voffset + 0x0400, 4096, + 0, NULL, &chan->cache); + if (ret) + return ret; + } else { + ret = nouveau_gpuobj_new_ref(dev, chan, NULL, 0, 0x100, 256, + NVOBJ_FLAG_ZERO_ALLOC | + NVOBJ_FLAG_ZERO_FREE, + &chan->ramfc); + if (ret) + return ret; + ramfc = chan->ramfc->gpuobj; + + ret = nouveau_gpuobj_new_ref(dev, chan, NULL, 0, 4096, 1024, + 0, &chan->cache); + if (ret) + return ret; + } + + dev_priv->engine.instmem.prepare_access(dev, true); + + nv_wo32(dev, ramfc, 0x08/4, chan->pushbuf_base); + nv_wo32(dev, ramfc, 0x10/4, chan->pushbuf_base); + nv_wo32(dev, ramfc, 0x48/4, chan->pushbuf->instance >> 4); + nv_wo32(dev, ramfc, 0x80/4, (0xc << 24) | (chan->ramht->instance >> 4)); + nv_wo32(dev, ramfc, 0x3c/4, 0x00086078); + nv_wo32(dev, ramfc, 0x44/4, 0x2101ffff); + nv_wo32(dev, ramfc, 0x60/4, 0x7fffffff); + nv_wo32(dev, ramfc, 0x40/4, 0x00000000); + nv_wo32(dev, ramfc, 0x7c/4, 0x30000001); + nv_wo32(dev, ramfc, 0x78/4, 0x00000000); + nv_wo32(dev, ramfc, 0x4c/4, 0xffffffff); + + if (!IS_G80) { + nv_wo32(dev, chan->ramin->gpuobj, 0, chan->id); + nv_wo32(dev, chan->ramin->gpuobj, 1, + chan->ramfc->instance >> 8); + + nv_wo32(dev, ramfc, 0x88/4, chan->cache->instance >> 10); + nv_wo32(dev, ramfc, 0x98/4, chan->ramin->instance >> 12); + } + + dev_priv->engine.instmem.finish_access(dev); + + ret = nv50_fifo_channel_enable(dev, chan->id, false); + if (ret) { + NV_ERROR(dev, "error enabling ch%d: %d\n", chan->id, ret); + nouveau_gpuobj_ref_del(dev, &chan->ramfc); + return ret; + } + + return 0; +} + +void +nv50_fifo_destroy_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct nouveau_gpuobj_ref *ramfc = chan->ramfc; + + NV_DEBUG(dev, "ch%d\n", chan->id); + + /* This will ensure the channel is seen as disabled. */ + chan->ramfc = NULL; + nv50_fifo_channel_disable(dev, chan->id, false); + + /* Dummy channel, also used on ch 127 */ + if (chan->id == 0) + nv50_fifo_channel_disable(dev, 127, false); + + nouveau_gpuobj_ref_del(dev, &ramfc); + nouveau_gpuobj_ref_del(dev, &chan->cache); +} + +int +nv50_fifo_load_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *ramfc = chan->ramfc->gpuobj; + struct nouveau_gpuobj *cache = chan->cache->gpuobj; + int ptr, cnt; + + NV_DEBUG(dev, "ch%d\n", chan->id); + + dev_priv->engine.instmem.prepare_access(dev, false); + + nv_wr32(dev, 0x3330, nv_ro32(dev, ramfc, 0x00/4)); + nv_wr32(dev, 0x3334, nv_ro32(dev, ramfc, 0x04/4)); + nv_wr32(dev, 0x3240, nv_ro32(dev, ramfc, 0x08/4)); + nv_wr32(dev, 0x3320, nv_ro32(dev, ramfc, 0x0c/4)); + nv_wr32(dev, 0x3244, nv_ro32(dev, ramfc, 0x10/4)); + nv_wr32(dev, 0x3328, nv_ro32(dev, ramfc, 0x14/4)); + nv_wr32(dev, 0x3368, nv_ro32(dev, ramfc, 0x18/4)); + nv_wr32(dev, 0x336c, nv_ro32(dev, ramfc, 0x1c/4)); + nv_wr32(dev, 0x3370, nv_ro32(dev, ramfc, 0x20/4)); + nv_wr32(dev, 0x3374, nv_ro32(dev, ramfc, 0x24/4)); + nv_wr32(dev, 0x3378, nv_ro32(dev, ramfc, 0x28/4)); + nv_wr32(dev, 0x337c, nv_ro32(dev, ramfc, 0x2c/4)); + nv_wr32(dev, 0x3228, nv_ro32(dev, ramfc, 0x30/4)); + nv_wr32(dev, 0x3364, nv_ro32(dev, ramfc, 0x34/4)); + nv_wr32(dev, 0x32a0, nv_ro32(dev, ramfc, 0x38/4)); + nv_wr32(dev, 0x3224, nv_ro32(dev, ramfc, 0x3c/4)); + nv_wr32(dev, 0x324c, nv_ro32(dev, ramfc, 0x40/4)); + nv_wr32(dev, 0x2044, nv_ro32(dev, ramfc, 0x44/4)); + nv_wr32(dev, 0x322c, nv_ro32(dev, ramfc, 0x48/4)); + nv_wr32(dev, 0x3234, nv_ro32(dev, ramfc, 0x4c/4)); + nv_wr32(dev, 0x3340, nv_ro32(dev, ramfc, 0x50/4)); + nv_wr32(dev, 0x3344, nv_ro32(dev, ramfc, 0x54/4)); + nv_wr32(dev, 0x3280, nv_ro32(dev, ramfc, 0x58/4)); + nv_wr32(dev, 0x3254, nv_ro32(dev, ramfc, 0x5c/4)); + nv_wr32(dev, 0x3260, nv_ro32(dev, ramfc, 0x60/4)); + nv_wr32(dev, 0x3264, nv_ro32(dev, ramfc, 0x64/4)); + nv_wr32(dev, 0x3268, nv_ro32(dev, ramfc, 0x68/4)); + nv_wr32(dev, 0x326c, nv_ro32(dev, ramfc, 0x6c/4)); + nv_wr32(dev, 0x32e4, nv_ro32(dev, ramfc, 0x70/4)); + nv_wr32(dev, 0x3248, nv_ro32(dev, ramfc, 0x74/4)); + nv_wr32(dev, 0x2088, nv_ro32(dev, ramfc, 0x78/4)); + nv_wr32(dev, 0x2058, nv_ro32(dev, ramfc, 0x7c/4)); + nv_wr32(dev, 0x2210, nv_ro32(dev, ramfc, 0x80/4)); + + cnt = nv_ro32(dev, ramfc, 0x84/4); + for (ptr = 0; ptr < cnt; ptr++) { + nv_wr32(dev, NV40_PFIFO_CACHE1_METHOD(ptr), + nv_ro32(dev, cache, (ptr * 2) + 0)); + nv_wr32(dev, NV40_PFIFO_CACHE1_DATA(ptr), + nv_ro32(dev, cache, (ptr * 2) + 1)); + } + nv_wr32(dev, NV03_PFIFO_CACHE1_PUT, cnt << 2); + nv_wr32(dev, NV03_PFIFO_CACHE1_GET, 0); + + /* guessing that all the 0x34xx regs aren't on NV50 */ + if (!IS_G80) { + nv_wr32(dev, 0x340c, nv_ro32(dev, ramfc, 0x88/4)); + nv_wr32(dev, 0x3400, nv_ro32(dev, ramfc, 0x8c/4)); + nv_wr32(dev, 0x3404, nv_ro32(dev, ramfc, 0x90/4)); + nv_wr32(dev, 0x3408, nv_ro32(dev, ramfc, 0x94/4)); + nv_wr32(dev, 0x3410, nv_ro32(dev, ramfc, 0x98/4)); + } + + dev_priv->engine.instmem.finish_access(dev); + + nv_wr32(dev, NV03_PFIFO_CACHE1_PUSH1, chan->id | (1<<16)); + return 0; +} + +int +nv50_fifo_unload_context(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_fifo_engine *pfifo = &dev_priv->engine.fifo; + struct nouveau_gpuobj *ramfc, *cache; + struct nouveau_channel *chan = NULL; + int chid, get, put, ptr; + + NV_DEBUG(dev, "\n"); + + chid = pfifo->channel_id(dev); + if (chid < 1 || chid >= dev_priv->engine.fifo.channels - 1) + return 0; + + chan = dev_priv->fifos[chid]; + if (!chan) { + NV_ERROR(dev, "Inactive channel on PFIFO: %d\n", chid); + return -EINVAL; + } + NV_DEBUG(dev, "ch%d\n", chan->id); + ramfc = chan->ramfc->gpuobj; + cache = chan->cache->gpuobj; + + dev_priv->engine.instmem.prepare_access(dev, true); + + nv_wo32(dev, ramfc, 0x00/4, nv_rd32(dev, 0x3330)); + nv_wo32(dev, ramfc, 0x04/4, nv_rd32(dev, 0x3334)); + nv_wo32(dev, ramfc, 0x08/4, nv_rd32(dev, 0x3240)); + nv_wo32(dev, ramfc, 0x0c/4, nv_rd32(dev, 0x3320)); + nv_wo32(dev, ramfc, 0x10/4, nv_rd32(dev, 0x3244)); + nv_wo32(dev, ramfc, 0x14/4, nv_rd32(dev, 0x3328)); + nv_wo32(dev, ramfc, 0x18/4, nv_rd32(dev, 0x3368)); + nv_wo32(dev, ramfc, 0x1c/4, nv_rd32(dev, 0x336c)); + nv_wo32(dev, ramfc, 0x20/4, nv_rd32(dev, 0x3370)); + nv_wo32(dev, ramfc, 0x24/4, nv_rd32(dev, 0x3374)); + nv_wo32(dev, ramfc, 0x28/4, nv_rd32(dev, 0x3378)); + nv_wo32(dev, ramfc, 0x2c/4, nv_rd32(dev, 0x337c)); + nv_wo32(dev, ramfc, 0x30/4, nv_rd32(dev, 0x3228)); + nv_wo32(dev, ramfc, 0x34/4, nv_rd32(dev, 0x3364)); + nv_wo32(dev, ramfc, 0x38/4, nv_rd32(dev, 0x32a0)); + nv_wo32(dev, ramfc, 0x3c/4, nv_rd32(dev, 0x3224)); + nv_wo32(dev, ramfc, 0x40/4, nv_rd32(dev, 0x324c)); + nv_wo32(dev, ramfc, 0x44/4, nv_rd32(dev, 0x2044)); + nv_wo32(dev, ramfc, 0x48/4, nv_rd32(dev, 0x322c)); + nv_wo32(dev, ramfc, 0x4c/4, nv_rd32(dev, 0x3234)); + nv_wo32(dev, ramfc, 0x50/4, nv_rd32(dev, 0x3340)); + nv_wo32(dev, ramfc, 0x54/4, nv_rd32(dev, 0x3344)); + nv_wo32(dev, ramfc, 0x58/4, nv_rd32(dev, 0x3280)); + nv_wo32(dev, ramfc, 0x5c/4, nv_rd32(dev, 0x3254)); + nv_wo32(dev, ramfc, 0x60/4, nv_rd32(dev, 0x3260)); + nv_wo32(dev, ramfc, 0x64/4, nv_rd32(dev, 0x3264)); + nv_wo32(dev, ramfc, 0x68/4, nv_rd32(dev, 0x3268)); + nv_wo32(dev, ramfc, 0x6c/4, nv_rd32(dev, 0x326c)); + nv_wo32(dev, ramfc, 0x70/4, nv_rd32(dev, 0x32e4)); + nv_wo32(dev, ramfc, 0x74/4, nv_rd32(dev, 0x3248)); + nv_wo32(dev, ramfc, 0x78/4, nv_rd32(dev, 0x2088)); + nv_wo32(dev, ramfc, 0x7c/4, nv_rd32(dev, 0x2058)); + nv_wo32(dev, ramfc, 0x80/4, nv_rd32(dev, 0x2210)); + + put = (nv_rd32(dev, NV03_PFIFO_CACHE1_PUT) & 0x7ff) >> 2; + get = (nv_rd32(dev, NV03_PFIFO_CACHE1_GET) & 0x7ff) >> 2; + ptr = 0; + while (put != get) { + nv_wo32(dev, cache, ptr++, + nv_rd32(dev, NV40_PFIFO_CACHE1_METHOD(get))); + nv_wo32(dev, cache, ptr++, + nv_rd32(dev, NV40_PFIFO_CACHE1_DATA(get))); + get = (get + 1) & 0x1ff; + } + + /* guessing that all the 0x34xx regs aren't on NV50 */ + if (!IS_G80) { + nv_wo32(dev, ramfc, 0x84/4, ptr >> 1); + nv_wo32(dev, ramfc, 0x88/4, nv_rd32(dev, 0x340c)); + nv_wo32(dev, ramfc, 0x8c/4, nv_rd32(dev, 0x3400)); + nv_wo32(dev, ramfc, 0x90/4, nv_rd32(dev, 0x3404)); + nv_wo32(dev, ramfc, 0x94/4, nv_rd32(dev, 0x3408)); + nv_wo32(dev, ramfc, 0x98/4, nv_rd32(dev, 0x3410)); + } + + dev_priv->engine.instmem.finish_access(dev); + + /*XXX: probably reload ch127 (NULL) state back too */ + nv_wr32(dev, NV03_PFIFO_CACHE1_PUSH1, 127); + return 0; +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv50_graph.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv50_graph.c @@ -0,0 +1,400 @@ +/* + * Copyright (C) 2007 Ben Skeggs. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" + +#include "nouveau_grctx.h" + +#define IS_G80 ((dev_priv->chipset & 0xf0) == 0x50) + +static void +nv50_graph_init_reset(struct drm_device *dev) +{ + uint32_t pmc_e = NV_PMC_ENABLE_PGRAPH | (1 << 21); + + NV_DEBUG(dev, "\n"); + + nv_wr32(dev, NV03_PMC_ENABLE, nv_rd32(dev, NV03_PMC_ENABLE) & ~pmc_e); + nv_wr32(dev, NV03_PMC_ENABLE, nv_rd32(dev, NV03_PMC_ENABLE) | pmc_e); +} + +static void +nv50_graph_init_intr(struct drm_device *dev) +{ + NV_DEBUG(dev, "\n"); + + nv_wr32(dev, NV03_PGRAPH_INTR, 0xffffffff); + nv_wr32(dev, 0x400138, 0xffffffff); + nv_wr32(dev, NV40_PGRAPH_INTR_EN, 0xffffffff); +} + +static void +nv50_graph_init_regs__nv(struct drm_device *dev) +{ + NV_DEBUG(dev, "\n"); + + nv_wr32(dev, 0x400804, 0xc0000000); + nv_wr32(dev, 0x406800, 0xc0000000); + nv_wr32(dev, 0x400c04, 0xc0000000); + nv_wr32(dev, 0x401800, 0xc0000000); + nv_wr32(dev, 0x405018, 0xc0000000); + nv_wr32(dev, 0x402000, 0xc0000000); + + nv_wr32(dev, 0x400108, 0xffffffff); + + nv_wr32(dev, 0x400824, 0x00004000); + nv_wr32(dev, 0x400500, 0x00010001); +} + +static void +nv50_graph_init_regs(struct drm_device *dev) +{ + NV_DEBUG(dev, "\n"); + + nv_wr32(dev, NV04_PGRAPH_DEBUG_3, + (1 << 2) /* HW_CONTEXT_SWITCH_ENABLED */); + nv_wr32(dev, 0x402ca8, 0x800); +} + +static int +nv50_graph_init_ctxctl(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + NV_DEBUG(dev, "\n"); + + if (nouveau_ctxfw) { + nouveau_grctx_prog_load(dev); + dev_priv->engine.graph.grctx_size = 0x70000; + } + if (!dev_priv->engine.graph.ctxprog) { + struct nouveau_grctx ctx = {}; + uint32_t *cp = kmalloc(512 * 4, GFP_KERNEL); + int i; + if (!cp) { + NV_ERROR(dev, "Couldn't alloc ctxprog! Disabling acceleration.\n"); + dev_priv->engine.graph.accel_blocked = true; + return 0; + } + ctx.dev = dev; + ctx.mode = NOUVEAU_GRCTX_PROG; + ctx.data = cp; + ctx.ctxprog_max = 512; + if (!nv50_grctx_init(&ctx)) { + dev_priv->engine.graph.grctx_size = ctx.ctxvals_pos * 4; + + nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_INDEX, 0); + for (i = 0; i < ctx.ctxprog_len; i++) + nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_DATA, cp[i]); + } else { + dev_priv->engine.graph.accel_blocked = true; + } + kfree(cp); + } + + nv_wr32(dev, 0x400320, 4); + nv_wr32(dev, NV40_PGRAPH_CTXCTL_CUR, 0); + nv_wr32(dev, NV20_PGRAPH_CHANNEL_CTX_POINTER, 0); + return 0; +} + +int +nv50_graph_init(struct drm_device *dev) +{ + int ret; + + NV_DEBUG(dev, "\n"); + + nv50_graph_init_reset(dev); + nv50_graph_init_regs__nv(dev); + nv50_graph_init_regs(dev); + nv50_graph_init_intr(dev); + + ret = nv50_graph_init_ctxctl(dev); + if (ret) + return ret; + + return 0; +} + +void +nv50_graph_takedown(struct drm_device *dev) +{ + NV_DEBUG(dev, "\n"); + nouveau_grctx_fini(dev); +} + +void +nv50_graph_fifo_access(struct drm_device *dev, bool enabled) +{ + const uint32_t mask = 0x00010001; + + if (enabled) + nv_wr32(dev, 0x400500, nv_rd32(dev, 0x400500) | mask); + else + nv_wr32(dev, 0x400500, nv_rd32(dev, 0x400500) & ~mask); +} + +struct nouveau_channel * +nv50_graph_channel(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + uint32_t inst; + int i; + + /* Be sure we're not in the middle of a context switch or bad things + * will happen, such as unloading the wrong pgraph context. + */ + if (!nv_wait(0x400300, 0x00000001, 0x00000000)) + NV_ERROR(dev, "Ctxprog is still running\n"); + + inst = nv_rd32(dev, NV50_PGRAPH_CTXCTL_CUR); + if (!(inst & NV50_PGRAPH_CTXCTL_CUR_LOADED)) + return NULL; + inst = (inst & NV50_PGRAPH_CTXCTL_CUR_INSTANCE) << 12; + + for (i = 0; i < dev_priv->engine.fifo.channels; i++) { + struct nouveau_channel *chan = dev_priv->fifos[i]; + + if (chan && chan->ramin && chan->ramin->instance == inst) + return chan; + } + + return NULL; +} + +int +nv50_graph_create_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *ramin = chan->ramin->gpuobj; + struct nouveau_gpuobj *ctx; + struct nouveau_pgraph_engine *pgraph = &dev_priv->engine.graph; + int hdr, ret; + + NV_DEBUG(dev, "ch%d\n", chan->id); + + ret = nouveau_gpuobj_new_ref(dev, chan, NULL, 0, pgraph->grctx_size, + 0x1000, NVOBJ_FLAG_ZERO_ALLOC | + NVOBJ_FLAG_ZERO_FREE, &chan->ramin_grctx); + if (ret) + return ret; + ctx = chan->ramin_grctx->gpuobj; + + hdr = IS_G80 ? 0x200 : 0x20; + dev_priv->engine.instmem.prepare_access(dev, true); + nv_wo32(dev, ramin, (hdr + 0x00)/4, 0x00190002); + nv_wo32(dev, ramin, (hdr + 0x04)/4, chan->ramin_grctx->instance + + pgraph->grctx_size - 1); + nv_wo32(dev, ramin, (hdr + 0x08)/4, chan->ramin_grctx->instance); + nv_wo32(dev, ramin, (hdr + 0x0c)/4, 0); + nv_wo32(dev, ramin, (hdr + 0x10)/4, 0); + nv_wo32(dev, ramin, (hdr + 0x14)/4, 0x00010000); + dev_priv->engine.instmem.finish_access(dev); + + dev_priv->engine.instmem.prepare_access(dev, true); + if (!pgraph->ctxprog) { + struct nouveau_grctx ctx = {}; + ctx.dev = chan->dev; + ctx.mode = NOUVEAU_GRCTX_VALS; + ctx.data = chan->ramin_grctx->gpuobj; + nv50_grctx_init(&ctx); + } else { + nouveau_grctx_vals_load(dev, ctx); + } + nv_wo32(dev, ctx, 0x00000/4, chan->ramin->instance >> 12); + dev_priv->engine.instmem.finish_access(dev); + + return 0; +} + +void +nv50_graph_destroy_context(struct nouveau_channel *chan) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + int i, hdr = IS_G80 ? 0x200 : 0x20; + + NV_DEBUG(dev, "ch%d\n", chan->id); + + if (!chan->ramin || !chan->ramin->gpuobj) + return; + + dev_priv->engine.instmem.prepare_access(dev, true); + for (i = hdr; i < hdr + 24; i += 4) + nv_wo32(dev, chan->ramin->gpuobj, i/4, 0); + dev_priv->engine.instmem.finish_access(dev); + + nouveau_gpuobj_ref_del(dev, &chan->ramin_grctx); +} + +static int +nv50_graph_do_load_context(struct drm_device *dev, uint32_t inst) +{ + uint32_t fifo = nv_rd32(dev, 0x400500); + + nv_wr32(dev, 0x400500, fifo & ~1); + nv_wr32(dev, 0x400784, inst); + nv_wr32(dev, 0x400824, nv_rd32(dev, 0x400824) | 0x40); + nv_wr32(dev, 0x400320, nv_rd32(dev, 0x400320) | 0x11); + nv_wr32(dev, 0x400040, 0xffffffff); + (void)nv_rd32(dev, 0x400040); + nv_wr32(dev, 0x400040, 0x00000000); + nv_wr32(dev, 0x400304, nv_rd32(dev, 0x400304) | 1); + + if (nouveau_wait_for_idle(dev)) + nv_wr32(dev, 0x40032c, inst | (1<<31)); + nv_wr32(dev, 0x400500, fifo); + + return 0; +} + +int +nv50_graph_load_context(struct nouveau_channel *chan) +{ + uint32_t inst = chan->ramin->instance >> 12; + + NV_DEBUG(chan->dev, "ch%d\n", chan->id); + return nv50_graph_do_load_context(chan->dev, inst); +} + +int +nv50_graph_unload_context(struct drm_device *dev) +{ + uint32_t inst; + + inst = nv_rd32(dev, NV50_PGRAPH_CTXCTL_CUR); + if (!(inst & NV50_PGRAPH_CTXCTL_CUR_LOADED)) + return 0; + inst &= NV50_PGRAPH_CTXCTL_CUR_INSTANCE; + + nouveau_wait_for_idle(dev); + nv_wr32(dev, 0x400784, inst); + nv_wr32(dev, 0x400824, nv_rd32(dev, 0x400824) | 0x20); + nv_wr32(dev, 0x400304, nv_rd32(dev, 0x400304) | 0x01); + nouveau_wait_for_idle(dev); + + nv_wr32(dev, NV50_PGRAPH_CTXCTL_CUR, inst); + return 0; +} + +void +nv50_graph_context_switch(struct drm_device *dev) +{ + uint32_t inst; + + nv50_graph_unload_context(dev); + + inst = nv_rd32(dev, NV50_PGRAPH_CTXCTL_NEXT); + inst &= NV50_PGRAPH_CTXCTL_NEXT_INSTANCE; + nv50_graph_do_load_context(dev, inst); + + nv_wr32(dev, NV40_PGRAPH_INTR_EN, nv_rd32(dev, + NV40_PGRAPH_INTR_EN) | NV_PGRAPH_INTR_CONTEXT_SWITCH); +} + +static int +nv50_graph_nvsw_dma_vblsem(struct nouveau_channel *chan, int grclass, + int mthd, uint32_t data) +{ + struct nouveau_gpuobj_ref *ref = NULL; + + if (nouveau_gpuobj_ref_find(chan, data, &ref)) + return -ENOENT; + + if (nouveau_notifier_offset(ref->gpuobj, NULL)) + return -EINVAL; + + chan->nvsw.vblsem = ref->gpuobj; + chan->nvsw.vblsem_offset = ~0; + return 0; +} + +static int +nv50_graph_nvsw_vblsem_offset(struct nouveau_channel *chan, int grclass, + int mthd, uint32_t data) +{ + if (nouveau_notifier_offset(chan->nvsw.vblsem, &data)) + return -ERANGE; + + chan->nvsw.vblsem_offset = data >> 2; + return 0; +} + +static int +nv50_graph_nvsw_vblsem_release_val(struct nouveau_channel *chan, int grclass, + int mthd, uint32_t data) +{ + chan->nvsw.vblsem_rval = data; + return 0; +} + +static int +nv50_graph_nvsw_vblsem_release(struct nouveau_channel *chan, int grclass, + int mthd, uint32_t data) +{ + struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + + if (!chan->nvsw.vblsem || chan->nvsw.vblsem_offset == ~0 || data > 1) + return -EINVAL; + + if (!(nv_rd32(dev, NV50_PDISPLAY_INTR_EN) & + NV50_PDISPLAY_INTR_EN_VBLANK_CRTC_(data))) { + nv_wr32(dev, NV50_PDISPLAY_INTR_1, + NV50_PDISPLAY_INTR_1_VBLANK_CRTC_(data)); + nv_wr32(dev, NV50_PDISPLAY_INTR_EN, nv_rd32(dev, + NV50_PDISPLAY_INTR_EN) | + NV50_PDISPLAY_INTR_EN_VBLANK_CRTC_(data)); + } + + list_add(&chan->nvsw.vbl_wait, &dev_priv->vbl_waiting); + return 0; +} + +static struct nouveau_pgraph_object_method nv50_graph_nvsw_methods[] = { + { 0x018c, nv50_graph_nvsw_dma_vblsem }, + { 0x0400, nv50_graph_nvsw_vblsem_offset }, + { 0x0404, nv50_graph_nvsw_vblsem_release_val }, + { 0x0408, nv50_graph_nvsw_vblsem_release }, + {} +}; + +struct nouveau_pgraph_object_class nv50_graph_grclass[] = { + { 0x506e, true, nv50_graph_nvsw_methods }, /* nvsw */ + { 0x0030, false, NULL }, /* null */ + { 0x5039, false, NULL }, /* m2mf */ + { 0x502d, false, NULL }, /* 2d */ + { 0x50c0, false, NULL }, /* compute */ + { 0x5097, false, NULL }, /* tesla (nv50) */ + { 0x8297, false, NULL }, /* tesla (nv80/nv90) */ + { 0x8397, false, NULL }, /* tesla (nva0) */ + { 0x8597, false, NULL }, /* tesla (nva8) */ + {} +}; --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv50_grctx.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv50_grctx.c @@ -0,0 +1,2367 @@ +/* + * Copyright 2009 Marcin Kościelnicki + * + * 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. + */ + +#define CP_FLAG_CLEAR 0 +#define CP_FLAG_SET 1 +#define CP_FLAG_SWAP_DIRECTION ((0 * 32) + 0) +#define CP_FLAG_SWAP_DIRECTION_LOAD 0 +#define CP_FLAG_SWAP_DIRECTION_SAVE 1 +#define CP_FLAG_UNK01 ((0 * 32) + 1) +#define CP_FLAG_UNK01_CLEAR 0 +#define CP_FLAG_UNK01_SET 1 +#define CP_FLAG_UNK03 ((0 * 32) + 3) +#define CP_FLAG_UNK03_CLEAR 0 +#define CP_FLAG_UNK03_SET 1 +#define CP_FLAG_USER_SAVE ((0 * 32) + 5) +#define CP_FLAG_USER_SAVE_NOT_PENDING 0 +#define CP_FLAG_USER_SAVE_PENDING 1 +#define CP_FLAG_USER_LOAD ((0 * 32) + 6) +#define CP_FLAG_USER_LOAD_NOT_PENDING 0 +#define CP_FLAG_USER_LOAD_PENDING 1 +#define CP_FLAG_UNK0B ((0 * 32) + 0xb) +#define CP_FLAG_UNK0B_CLEAR 0 +#define CP_FLAG_UNK0B_SET 1 +#define CP_FLAG_UNK1D ((0 * 32) + 0x1d) +#define CP_FLAG_UNK1D_CLEAR 0 +#define CP_FLAG_UNK1D_SET 1 +#define CP_FLAG_UNK20 ((1 * 32) + 0) +#define CP_FLAG_UNK20_CLEAR 0 +#define CP_FLAG_UNK20_SET 1 +#define CP_FLAG_STATUS ((2 * 32) + 0) +#define CP_FLAG_STATUS_BUSY 0 +#define CP_FLAG_STATUS_IDLE 1 +#define CP_FLAG_AUTO_SAVE ((2 * 32) + 4) +#define CP_FLAG_AUTO_SAVE_NOT_PENDING 0 +#define CP_FLAG_AUTO_SAVE_PENDING 1 +#define CP_FLAG_AUTO_LOAD ((2 * 32) + 5) +#define CP_FLAG_AUTO_LOAD_NOT_PENDING 0 +#define CP_FLAG_AUTO_LOAD_PENDING 1 +#define CP_FLAG_XFER ((2 * 32) + 11) +#define CP_FLAG_XFER_IDLE 0 +#define CP_FLAG_XFER_BUSY 1 +#define CP_FLAG_NEWCTX ((2 * 32) + 12) +#define CP_FLAG_NEWCTX_BUSY 0 +#define CP_FLAG_NEWCTX_DONE 1 +#define CP_FLAG_ALWAYS ((2 * 32) + 13) +#define CP_FLAG_ALWAYS_FALSE 0 +#define CP_FLAG_ALWAYS_TRUE 1 + +#define CP_CTX 0x00100000 +#define CP_CTX_COUNT 0x000f0000 +#define CP_CTX_COUNT_SHIFT 16 +#define CP_CTX_REG 0x00003fff +#define CP_LOAD_SR 0x00200000 +#define CP_LOAD_SR_VALUE 0x000fffff +#define CP_BRA 0x00400000 +#define CP_BRA_IP 0x0001ff00 +#define CP_BRA_IP_SHIFT 8 +#define CP_BRA_IF_CLEAR 0x00000080 +#define CP_BRA_FLAG 0x0000007f +#define CP_WAIT 0x00500000 +#define CP_WAIT_SET 0x00000080 +#define CP_WAIT_FLAG 0x0000007f +#define CP_SET 0x00700000 +#define CP_SET_1 0x00000080 +#define CP_SET_FLAG 0x0000007f +#define CP_NEWCTX 0x00600004 +#define CP_NEXT_TO_SWAP 0x00600005 +#define CP_SET_CONTEXT_POINTER 0x00600006 +#define CP_SET_XFER_POINTER 0x00600007 +#define CP_ENABLE 0x00600009 +#define CP_END 0x0060000c +#define CP_NEXT_TO_CURRENT 0x0060000d +#define CP_DISABLE1 0x0090ffff +#define CP_DISABLE2 0x0091ffff +#define CP_XFER_1 0x008000ff +#define CP_XFER_2 0x008800ff +#define CP_SEEK_1 0x00c000ff +#define CP_SEEK_2 0x00c800ff + +#include "drmP.h" +#include "nouveau_drv.h" +#include "nouveau_grctx.h" + +/* + * This code deals with PGRAPH contexts on NV50 family cards. Like NV40, it's + * the GPU itself that does context-switching, but it needs a special + * microcode to do it. And it's the driver's task to supply this microcode, + * further known as ctxprog, as well as the initial context values, known + * as ctxvals. + * + * Without ctxprog, you cannot switch contexts. Not even in software, since + * the majority of context [xfer strands] isn't accessible directly. You're + * stuck with a single channel, and you also suffer all the problems resulting + * from missing ctxvals, since you cannot load them. + * + * Without ctxvals, you're stuck with PGRAPH's default context. It's enough to + * run 2d operations, but trying to utilise 3d or CUDA will just lock you up, + * since you don't have... some sort of needed setup. + * + * Nouveau will just disable acceleration if not given ctxprog + ctxvals, since + * it's too much hassle to handle no-ctxprog as a special case. + */ + +/* + * How ctxprogs work. + * + * The ctxprog is written in its own kind of microcode, with very small and + * crappy set of available commands. You upload it to a small [512 insns] + * area of memory on PGRAPH, and it'll be run when PFIFO wants PGRAPH to + * switch channel. or when the driver explicitely requests it. Stuff visible + * to ctxprog consists of: PGRAPH MMIO registers, PGRAPH context strands, + * the per-channel context save area in VRAM [known as ctxvals or grctx], + * 4 flags registers, a scratch register, two grctx pointers, plus many + * random poorly-understood details. + * + * When ctxprog runs, it's supposed to check what operations are asked of it, + * save old context if requested, optionally reset PGRAPH and switch to the + * new channel, and load the new context. Context consists of three major + * parts: subset of MMIO registers and two "xfer areas". + */ + +/* TODO: + * - document unimplemented bits compared to nvidia + * - NVAx: make a TP subroutine, use it. + * - use 0x4008fc instead of 0x1540? + */ + +enum cp_label { + cp_check_load = 1, + cp_setup_auto_load, + cp_setup_load, + cp_setup_save, + cp_swap_state, + cp_prepare_exit, + cp_exit, +}; + +static void nv50_graph_construct_mmio(struct nouveau_grctx *ctx); +static void nv50_graph_construct_xfer1(struct nouveau_grctx *ctx); +static void nv50_graph_construct_xfer2(struct nouveau_grctx *ctx); + +/* Main function: construct the ctxprog skeleton, call the other functions. */ + +int +nv50_grctx_init(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + + switch (dev_priv->chipset) { + case 0x50: + case 0x84: + case 0x86: + case 0x92: + case 0x94: + case 0x96: + case 0x98: + case 0xa0: + case 0xa5: + case 0xa8: + case 0xaa: + case 0xac: + break; + default: + NV_ERROR(ctx->dev, "I don't know how to make a ctxprog for " + "your NV%x card.\n", dev_priv->chipset); + NV_ERROR(ctx->dev, "Disabling acceleration. Please contact " + "the devs.\n"); + return -ENOSYS; + } + /* decide whether we're loading/unloading the context */ + cp_bra (ctx, AUTO_SAVE, PENDING, cp_setup_save); + cp_bra (ctx, USER_SAVE, PENDING, cp_setup_save); + + cp_name(ctx, cp_check_load); + cp_bra (ctx, AUTO_LOAD, PENDING, cp_setup_auto_load); + cp_bra (ctx, USER_LOAD, PENDING, cp_setup_load); + cp_bra (ctx, ALWAYS, TRUE, cp_exit); + + /* setup for context load */ + cp_name(ctx, cp_setup_auto_load); + cp_out (ctx, CP_DISABLE1); + cp_out (ctx, CP_DISABLE2); + cp_out (ctx, CP_ENABLE); + cp_out (ctx, CP_NEXT_TO_SWAP); + cp_set (ctx, UNK01, SET); + cp_name(ctx, cp_setup_load); + cp_out (ctx, CP_NEWCTX); + cp_wait(ctx, NEWCTX, BUSY); + cp_set (ctx, UNK1D, CLEAR); + cp_set (ctx, SWAP_DIRECTION, LOAD); + cp_bra (ctx, UNK0B, SET, cp_prepare_exit); + cp_bra (ctx, ALWAYS, TRUE, cp_swap_state); + + /* setup for context save */ + cp_name(ctx, cp_setup_save); + cp_set (ctx, UNK1D, SET); + cp_wait(ctx, STATUS, BUSY); + cp_set (ctx, UNK01, SET); + cp_set (ctx, SWAP_DIRECTION, SAVE); + + /* general PGRAPH state */ + cp_name(ctx, cp_swap_state); + cp_set (ctx, UNK03, SET); + cp_pos (ctx, 0x00004/4); + cp_ctx (ctx, 0x400828, 1); /* needed. otherwise, flickering happens. */ + cp_pos (ctx, 0x00100/4); + nv50_graph_construct_mmio(ctx); + nv50_graph_construct_xfer1(ctx); + nv50_graph_construct_xfer2(ctx); + + cp_bra (ctx, SWAP_DIRECTION, SAVE, cp_check_load); + + cp_set (ctx, UNK20, SET); + cp_set (ctx, SWAP_DIRECTION, SAVE); /* no idea why this is needed, but fixes at least one lockup. */ + cp_lsr (ctx, ctx->ctxvals_base); + cp_out (ctx, CP_SET_XFER_POINTER); + cp_lsr (ctx, 4); + cp_out (ctx, CP_SEEK_1); + cp_out (ctx, CP_XFER_1); + cp_wait(ctx, XFER, BUSY); + + /* pre-exit state updates */ + cp_name(ctx, cp_prepare_exit); + cp_set (ctx, UNK01, CLEAR); + cp_set (ctx, UNK03, CLEAR); + cp_set (ctx, UNK1D, CLEAR); + + cp_bra (ctx, USER_SAVE, PENDING, cp_exit); + cp_out (ctx, CP_NEXT_TO_CURRENT); + + cp_name(ctx, cp_exit); + cp_set (ctx, USER_SAVE, NOT_PENDING); + cp_set (ctx, USER_LOAD, NOT_PENDING); + cp_out (ctx, CP_END); + ctx->ctxvals_pos += 0x400; /* padding... no idea why you need it */ + + return 0; +} + +/* + * Constructs MMIO part of ctxprog and ctxvals. Just a matter of knowing which + * registers to save/restore and the default values for them. + */ + +static void +nv50_graph_construct_mmio(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + int i, j; + int offset, base; + uint32_t units = nv_rd32 (ctx->dev, 0x1540); + + /* 0800 */ + cp_ctx(ctx, 0x400808, 7); + gr_def(ctx, 0x400814, 0x00000030); + cp_ctx(ctx, 0x400834, 0x32); + if (dev_priv->chipset == 0x50) { + gr_def(ctx, 0x400834, 0xff400040); + gr_def(ctx, 0x400838, 0xfff00080); + gr_def(ctx, 0x40083c, 0xfff70090); + gr_def(ctx, 0x400840, 0xffe806a8); + } + gr_def(ctx, 0x400844, 0x00000002); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + gr_def(ctx, 0x400894, 0x00001000); + gr_def(ctx, 0x4008e8, 0x00000003); + gr_def(ctx, 0x4008ec, 0x00001000); + if (dev_priv->chipset == 0x50) + cp_ctx(ctx, 0x400908, 0xb); + else if (dev_priv->chipset < 0xa0) + cp_ctx(ctx, 0x400908, 0xc); + else + cp_ctx(ctx, 0x400908, 0xe); + + if (dev_priv->chipset >= 0xa0) + cp_ctx(ctx, 0x400b00, 0x1); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) { + cp_ctx(ctx, 0x400b10, 0x1); + gr_def(ctx, 0x400b10, 0x0001629d); + cp_ctx(ctx, 0x400b20, 0x1); + gr_def(ctx, 0x400b20, 0x0001629d); + } + + /* 0C00 */ + cp_ctx(ctx, 0x400c08, 0x2); + gr_def(ctx, 0x400c08, 0x0000fe0c); + + /* 1000 */ + if (dev_priv->chipset < 0xa0) { + cp_ctx(ctx, 0x401008, 0x4); + gr_def(ctx, 0x401014, 0x00001000); + } else if (dev_priv->chipset == 0xa0 || dev_priv->chipset >= 0xaa) { + cp_ctx(ctx, 0x401008, 0x5); + gr_def(ctx, 0x401018, 0x00001000); + } else { + cp_ctx(ctx, 0x401008, 0x5); + gr_def(ctx, 0x401018, 0x00004000); + } + + /* 1400 */ + cp_ctx(ctx, 0x401400, 0x8); + cp_ctx(ctx, 0x401424, 0x3); + if (dev_priv->chipset == 0x50) + gr_def(ctx, 0x40142c, 0x0001fd87); + else + gr_def(ctx, 0x40142c, 0x00000187); + cp_ctx(ctx, 0x401540, 0x5); + gr_def(ctx, 0x401550, 0x00001018); + + /* 1800 */ + cp_ctx(ctx, 0x401814, 0x1); + gr_def(ctx, 0x401814, 0x000000ff); + if (dev_priv->chipset == 0x50) { + cp_ctx(ctx, 0x40181c, 0xe); + gr_def(ctx, 0x401850, 0x00000004); + } else if (dev_priv->chipset < 0xa0) { + cp_ctx(ctx, 0x40181c, 0xf); + gr_def(ctx, 0x401854, 0x00000004); + } else { + cp_ctx(ctx, 0x40181c, 0x13); + gr_def(ctx, 0x401864, 0x00000004); + } + + /* 1C00 */ + cp_ctx(ctx, 0x401c00, 0x1); + switch (dev_priv->chipset) { + case 0x50: + gr_def(ctx, 0x401c00, 0x0001005f); + break; + case 0x84: + case 0x86: + case 0x94: + gr_def(ctx, 0x401c00, 0x044d00df); + break; + case 0x92: + case 0x96: + case 0x98: + case 0xa0: + case 0xaa: + case 0xac: + gr_def(ctx, 0x401c00, 0x042500df); + break; + case 0xa5: + case 0xa8: + gr_def(ctx, 0x401c00, 0x142500df); + break; + } + + /* 2400 */ + cp_ctx(ctx, 0x402400, 0x1); + if (dev_priv->chipset == 0x50) + cp_ctx(ctx, 0x402408, 0x1); + else + cp_ctx(ctx, 0x402408, 0x2); + gr_def(ctx, 0x402408, 0x00000600); + + /* 2800 */ + cp_ctx(ctx, 0x402800, 0x1); + if (dev_priv->chipset == 0x50) + gr_def(ctx, 0x402800, 0x00000006); + + /* 2C00 */ + cp_ctx(ctx, 0x402c08, 0x6); + if (dev_priv->chipset != 0x50) + gr_def(ctx, 0x402c14, 0x01000000); + gr_def(ctx, 0x402c18, 0x000000ff); + if (dev_priv->chipset == 0x50) + cp_ctx(ctx, 0x402ca0, 0x1); + else + cp_ctx(ctx, 0x402ca0, 0x2); + if (dev_priv->chipset < 0xa0) + gr_def(ctx, 0x402ca0, 0x00000400); + else if (dev_priv->chipset == 0xa0 || dev_priv->chipset >= 0xaa) + gr_def(ctx, 0x402ca0, 0x00000800); + else + gr_def(ctx, 0x402ca0, 0x00000400); + cp_ctx(ctx, 0x402cac, 0x4); + + /* 3000 */ + cp_ctx(ctx, 0x403004, 0x1); + gr_def(ctx, 0x403004, 0x00000001); + + /* 3404 */ + if (dev_priv->chipset >= 0xa0) { + cp_ctx(ctx, 0x403404, 0x1); + gr_def(ctx, 0x403404, 0x00000001); + } + + /* 5000 */ + cp_ctx(ctx, 0x405000, 0x1); + switch (dev_priv->chipset) { + case 0x50: + gr_def(ctx, 0x405000, 0x00300080); + break; + case 0x84: + case 0xa0: + case 0xa5: + case 0xa8: + case 0xaa: + case 0xac: + gr_def(ctx, 0x405000, 0x000e0080); + break; + case 0x86: + case 0x92: + case 0x94: + case 0x96: + case 0x98: + gr_def(ctx, 0x405000, 0x00000080); + break; + } + cp_ctx(ctx, 0x405014, 0x1); + gr_def(ctx, 0x405014, 0x00000004); + cp_ctx(ctx, 0x40501c, 0x1); + cp_ctx(ctx, 0x405024, 0x1); + cp_ctx(ctx, 0x40502c, 0x1); + + /* 5400 or maybe 4800 */ + if (dev_priv->chipset == 0x50) { + offset = 0x405400; + cp_ctx(ctx, 0x405400, 0xea); + } else if (dev_priv->chipset < 0x94) { + offset = 0x405400; + cp_ctx(ctx, 0x405400, 0xcb); + } else if (dev_priv->chipset < 0xa0) { + offset = 0x405400; + cp_ctx(ctx, 0x405400, 0xcc); + } else if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) { + offset = 0x404800; + cp_ctx(ctx, 0x404800, 0xda); + } else { + offset = 0x405400; + cp_ctx(ctx, 0x405400, 0xd4); + } + gr_def(ctx, offset + 0x0c, 0x00000002); + gr_def(ctx, offset + 0x10, 0x00000001); + if (dev_priv->chipset >= 0x94) + offset += 4; + gr_def(ctx, offset + 0x1c, 0x00000001); + gr_def(ctx, offset + 0x20, 0x00000100); + gr_def(ctx, offset + 0x38, 0x00000002); + gr_def(ctx, offset + 0x3c, 0x00000001); + gr_def(ctx, offset + 0x40, 0x00000001); + gr_def(ctx, offset + 0x50, 0x00000001); + gr_def(ctx, offset + 0x54, 0x003fffff); + gr_def(ctx, offset + 0x58, 0x00001fff); + gr_def(ctx, offset + 0x60, 0x00000001); + gr_def(ctx, offset + 0x64, 0x00000001); + gr_def(ctx, offset + 0x6c, 0x00000001); + gr_def(ctx, offset + 0x70, 0x00000001); + gr_def(ctx, offset + 0x74, 0x00000001); + gr_def(ctx, offset + 0x78, 0x00000004); + gr_def(ctx, offset + 0x7c, 0x00000001); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + offset += 4; + gr_def(ctx, offset + 0x80, 0x00000001); + gr_def(ctx, offset + 0x84, 0x00000001); + gr_def(ctx, offset + 0x88, 0x00000007); + gr_def(ctx, offset + 0x8c, 0x00000001); + gr_def(ctx, offset + 0x90, 0x00000007); + gr_def(ctx, offset + 0x94, 0x00000001); + gr_def(ctx, offset + 0x98, 0x00000001); + gr_def(ctx, offset + 0x9c, 0x00000001); + if (dev_priv->chipset == 0x50) { + gr_def(ctx, offset + 0xb0, 0x00000001); + gr_def(ctx, offset + 0xb4, 0x00000001); + gr_def(ctx, offset + 0xbc, 0x00000001); + gr_def(ctx, offset + 0xc0, 0x0000000a); + gr_def(ctx, offset + 0xd0, 0x00000040); + gr_def(ctx, offset + 0xd8, 0x00000002); + gr_def(ctx, offset + 0xdc, 0x00000100); + gr_def(ctx, offset + 0xe0, 0x00000001); + gr_def(ctx, offset + 0xe4, 0x00000100); + gr_def(ctx, offset + 0x100, 0x00000001); + gr_def(ctx, offset + 0x124, 0x00000004); + gr_def(ctx, offset + 0x13c, 0x00000001); + gr_def(ctx, offset + 0x140, 0x00000100); + gr_def(ctx, offset + 0x148, 0x00000001); + gr_def(ctx, offset + 0x154, 0x00000100); + gr_def(ctx, offset + 0x158, 0x00000001); + gr_def(ctx, offset + 0x15c, 0x00000100); + gr_def(ctx, offset + 0x164, 0x00000001); + gr_def(ctx, offset + 0x170, 0x00000100); + gr_def(ctx, offset + 0x174, 0x00000001); + gr_def(ctx, offset + 0x17c, 0x00000001); + gr_def(ctx, offset + 0x188, 0x00000002); + gr_def(ctx, offset + 0x190, 0x00000001); + gr_def(ctx, offset + 0x198, 0x00000001); + gr_def(ctx, offset + 0x1ac, 0x00000003); + offset += 0xd0; + } else { + gr_def(ctx, offset + 0xb0, 0x00000001); + gr_def(ctx, offset + 0xb4, 0x00000100); + gr_def(ctx, offset + 0xbc, 0x00000001); + gr_def(ctx, offset + 0xc8, 0x00000100); + gr_def(ctx, offset + 0xcc, 0x00000001); + gr_def(ctx, offset + 0xd0, 0x00000100); + gr_def(ctx, offset + 0xd8, 0x00000001); + gr_def(ctx, offset + 0xe4, 0x00000100); + } + gr_def(ctx, offset + 0xf8, 0x00000004); + gr_def(ctx, offset + 0xfc, 0x00000070); + gr_def(ctx, offset + 0x100, 0x00000080); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + offset += 4; + gr_def(ctx, offset + 0x114, 0x0000000c); + if (dev_priv->chipset == 0x50) + offset -= 4; + gr_def(ctx, offset + 0x11c, 0x00000008); + gr_def(ctx, offset + 0x120, 0x00000014); + if (dev_priv->chipset == 0x50) { + gr_def(ctx, offset + 0x124, 0x00000026); + offset -= 0x18; + } else { + gr_def(ctx, offset + 0x128, 0x00000029); + gr_def(ctx, offset + 0x12c, 0x00000027); + gr_def(ctx, offset + 0x130, 0x00000026); + gr_def(ctx, offset + 0x134, 0x00000008); + gr_def(ctx, offset + 0x138, 0x00000004); + gr_def(ctx, offset + 0x13c, 0x00000027); + } + gr_def(ctx, offset + 0x148, 0x00000001); + gr_def(ctx, offset + 0x14c, 0x00000002); + gr_def(ctx, offset + 0x150, 0x00000003); + gr_def(ctx, offset + 0x154, 0x00000004); + gr_def(ctx, offset + 0x158, 0x00000005); + gr_def(ctx, offset + 0x15c, 0x00000006); + gr_def(ctx, offset + 0x160, 0x00000007); + gr_def(ctx, offset + 0x164, 0x00000001); + gr_def(ctx, offset + 0x1a8, 0x000000cf); + if (dev_priv->chipset == 0x50) + offset -= 4; + gr_def(ctx, offset + 0x1d8, 0x00000080); + gr_def(ctx, offset + 0x1dc, 0x00000004); + gr_def(ctx, offset + 0x1e0, 0x00000004); + if (dev_priv->chipset == 0x50) + offset -= 4; + else + gr_def(ctx, offset + 0x1e4, 0x00000003); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) { + gr_def(ctx, offset + 0x1ec, 0x00000003); + offset += 8; + } + gr_def(ctx, offset + 0x1e8, 0x00000001); + if (dev_priv->chipset == 0x50) + offset -= 4; + gr_def(ctx, offset + 0x1f4, 0x00000012); + gr_def(ctx, offset + 0x1f8, 0x00000010); + gr_def(ctx, offset + 0x1fc, 0x0000000c); + gr_def(ctx, offset + 0x200, 0x00000001); + gr_def(ctx, offset + 0x210, 0x00000004); + gr_def(ctx, offset + 0x214, 0x00000002); + gr_def(ctx, offset + 0x218, 0x00000004); + if (dev_priv->chipset >= 0xa0) + offset += 4; + gr_def(ctx, offset + 0x224, 0x003fffff); + gr_def(ctx, offset + 0x228, 0x00001fff); + if (dev_priv->chipset == 0x50) + offset -= 0x20; + else if (dev_priv->chipset >= 0xa0) { + gr_def(ctx, offset + 0x250, 0x00000001); + gr_def(ctx, offset + 0x254, 0x00000001); + gr_def(ctx, offset + 0x258, 0x00000002); + offset += 0x10; + } + gr_def(ctx, offset + 0x250, 0x00000004); + gr_def(ctx, offset + 0x254, 0x00000014); + gr_def(ctx, offset + 0x258, 0x00000001); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + offset += 4; + gr_def(ctx, offset + 0x264, 0x00000002); + if (dev_priv->chipset >= 0xa0) + offset += 8; + gr_def(ctx, offset + 0x270, 0x00000001); + gr_def(ctx, offset + 0x278, 0x00000002); + gr_def(ctx, offset + 0x27c, 0x00001000); + if (dev_priv->chipset == 0x50) + offset -= 0xc; + else { + gr_def(ctx, offset + 0x280, 0x00000e00); + gr_def(ctx, offset + 0x284, 0x00001000); + gr_def(ctx, offset + 0x288, 0x00001e00); + } + gr_def(ctx, offset + 0x290, 0x00000001); + gr_def(ctx, offset + 0x294, 0x00000001); + gr_def(ctx, offset + 0x298, 0x00000001); + gr_def(ctx, offset + 0x29c, 0x00000001); + gr_def(ctx, offset + 0x2a0, 0x00000001); + gr_def(ctx, offset + 0x2b0, 0x00000200); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) { + gr_def(ctx, offset + 0x2b4, 0x00000200); + offset += 4; + } + if (dev_priv->chipset < 0xa0) { + gr_def(ctx, offset + 0x2b8, 0x00000001); + gr_def(ctx, offset + 0x2bc, 0x00000070); + gr_def(ctx, offset + 0x2c0, 0x00000080); + gr_def(ctx, offset + 0x2cc, 0x00000001); + gr_def(ctx, offset + 0x2d0, 0x00000070); + gr_def(ctx, offset + 0x2d4, 0x00000080); + } else { + gr_def(ctx, offset + 0x2b8, 0x00000001); + gr_def(ctx, offset + 0x2bc, 0x000000f0); + gr_def(ctx, offset + 0x2c0, 0x000000ff); + gr_def(ctx, offset + 0x2cc, 0x00000001); + gr_def(ctx, offset + 0x2d0, 0x000000f0); + gr_def(ctx, offset + 0x2d4, 0x000000ff); + gr_def(ctx, offset + 0x2dc, 0x00000009); + offset += 4; + } + gr_def(ctx, offset + 0x2e4, 0x00000001); + gr_def(ctx, offset + 0x2e8, 0x000000cf); + gr_def(ctx, offset + 0x2f0, 0x00000001); + gr_def(ctx, offset + 0x300, 0x000000cf); + gr_def(ctx, offset + 0x308, 0x00000002); + gr_def(ctx, offset + 0x310, 0x00000001); + gr_def(ctx, offset + 0x318, 0x00000001); + gr_def(ctx, offset + 0x320, 0x000000cf); + gr_def(ctx, offset + 0x324, 0x000000cf); + gr_def(ctx, offset + 0x328, 0x00000001); + + /* 6000? */ + if (dev_priv->chipset == 0x50) + cp_ctx(ctx, 0x4063e0, 0x1); + + /* 6800 */ + if (dev_priv->chipset < 0x90) { + cp_ctx(ctx, 0x406814, 0x2b); + gr_def(ctx, 0x406818, 0x00000f80); + gr_def(ctx, 0x406860, 0x007f0080); + gr_def(ctx, 0x40689c, 0x007f0080); + } else { + cp_ctx(ctx, 0x406814, 0x4); + if (dev_priv->chipset == 0x98) + gr_def(ctx, 0x406818, 0x00000f80); + else + gr_def(ctx, 0x406818, 0x00001f80); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + gr_def(ctx, 0x40681c, 0x00000030); + cp_ctx(ctx, 0x406830, 0x3); + } + + /* 7000: per-ROP group state */ + for (i = 0; i < 8; i++) { + if (units & (1<<(i+16))) { + cp_ctx(ctx, 0x407000 + (i<<8), 3); + if (dev_priv->chipset == 0x50) + gr_def(ctx, 0x407000 + (i<<8), 0x1b74f820); + else if (dev_priv->chipset != 0xa5) + gr_def(ctx, 0x407000 + (i<<8), 0x3b74f821); + else + gr_def(ctx, 0x407000 + (i<<8), 0x7b74f821); + gr_def(ctx, 0x407004 + (i<<8), 0x89058001); + + if (dev_priv->chipset == 0x50) { + cp_ctx(ctx, 0x407010 + (i<<8), 1); + } else if (dev_priv->chipset < 0xa0) { + cp_ctx(ctx, 0x407010 + (i<<8), 2); + gr_def(ctx, 0x407010 + (i<<8), 0x00001000); + gr_def(ctx, 0x407014 + (i<<8), 0x0000001f); + } else { + cp_ctx(ctx, 0x407010 + (i<<8), 3); + gr_def(ctx, 0x407010 + (i<<8), 0x00001000); + if (dev_priv->chipset != 0xa5) + gr_def(ctx, 0x407014 + (i<<8), 0x000000ff); + else + gr_def(ctx, 0x407014 + (i<<8), 0x000001ff); + } + + cp_ctx(ctx, 0x407080 + (i<<8), 4); + if (dev_priv->chipset != 0xa5) + gr_def(ctx, 0x407080 + (i<<8), 0x027c10fa); + else + gr_def(ctx, 0x407080 + (i<<8), 0x827c10fa); + if (dev_priv->chipset == 0x50) + gr_def(ctx, 0x407084 + (i<<8), 0x000000c0); + else + gr_def(ctx, 0x407084 + (i<<8), 0x400000c0); + gr_def(ctx, 0x407088 + (i<<8), 0xb7892080); + + if (dev_priv->chipset < 0xa0) + cp_ctx(ctx, 0x407094 + (i<<8), 1); + else if (dev_priv->chipset <= 0xa0 || dev_priv->chipset >= 0xaa) + cp_ctx(ctx, 0x407094 + (i<<8), 3); + else { + cp_ctx(ctx, 0x407094 + (i<<8), 4); + gr_def(ctx, 0x4070a0 + (i<<8), 1); + } + } + } + + cp_ctx(ctx, 0x407c00, 0x3); + if (dev_priv->chipset < 0x90) + gr_def(ctx, 0x407c00, 0x00010040); + else if (dev_priv->chipset < 0xa0) + gr_def(ctx, 0x407c00, 0x00390040); + else + gr_def(ctx, 0x407c00, 0x003d0040); + gr_def(ctx, 0x407c08, 0x00000022); + if (dev_priv->chipset >= 0xa0) { + cp_ctx(ctx, 0x407c10, 0x3); + cp_ctx(ctx, 0x407c20, 0x1); + cp_ctx(ctx, 0x407c2c, 0x1); + } + + if (dev_priv->chipset < 0xa0) { + cp_ctx(ctx, 0x407d00, 0x9); + } else { + cp_ctx(ctx, 0x407d00, 0x15); + } + if (dev_priv->chipset == 0x98) + gr_def(ctx, 0x407d08, 0x00380040); + else { + if (dev_priv->chipset < 0x90) + gr_def(ctx, 0x407d08, 0x00010040); + else if (dev_priv->chipset < 0xa0) + gr_def(ctx, 0x407d08, 0x00390040); + else + gr_def(ctx, 0x407d08, 0x003d0040); + gr_def(ctx, 0x407d0c, 0x00000022); + } + + /* 8000+: per-TP state */ + for (i = 0; i < 10; i++) { + if (units & (1<chipset < 0xa0) + base = 0x408000 + (i<<12); + else + base = 0x408000 + (i<<11); + if (dev_priv->chipset < 0xa0) + offset = base + 0xc00; + else + offset = base + 0x80; + cp_ctx(ctx, offset + 0x00, 1); + gr_def(ctx, offset + 0x00, 0x0000ff0a); + cp_ctx(ctx, offset + 0x08, 1); + + /* per-MP state */ + for (j = 0; j < (dev_priv->chipset < 0xa0 ? 2 : 4); j++) { + if (!(units & (1 << (j+24)))) continue; + if (dev_priv->chipset < 0xa0) + offset = base + 0x200 + (j<<7); + else + offset = base + 0x100 + (j<<7); + cp_ctx(ctx, offset, 0x20); + gr_def(ctx, offset + 0x00, 0x01800000); + gr_def(ctx, offset + 0x04, 0x00160000); + gr_def(ctx, offset + 0x08, 0x01800000); + gr_def(ctx, offset + 0x18, 0x0003ffff); + switch (dev_priv->chipset) { + case 0x50: + gr_def(ctx, offset + 0x1c, 0x00080000); + break; + case 0x84: + gr_def(ctx, offset + 0x1c, 0x00880000); + break; + case 0x86: + gr_def(ctx, offset + 0x1c, 0x008c0000); + break; + case 0x92: + case 0x96: + case 0x98: + gr_def(ctx, offset + 0x1c, 0x118c0000); + break; + case 0x94: + gr_def(ctx, offset + 0x1c, 0x10880000); + break; + case 0xa0: + case 0xa5: + gr_def(ctx, offset + 0x1c, 0x310c0000); + break; + case 0xa8: + case 0xaa: + case 0xac: + gr_def(ctx, offset + 0x1c, 0x300c0000); + break; + } + gr_def(ctx, offset + 0x40, 0x00010401); + if (dev_priv->chipset == 0x50) + gr_def(ctx, offset + 0x48, 0x00000040); + else + gr_def(ctx, offset + 0x48, 0x00000078); + gr_def(ctx, offset + 0x50, 0x000000bf); + gr_def(ctx, offset + 0x58, 0x00001210); + if (dev_priv->chipset == 0x50) + gr_def(ctx, offset + 0x5c, 0x00000080); + else + gr_def(ctx, offset + 0x5c, 0x08000080); + if (dev_priv->chipset >= 0xa0) + gr_def(ctx, offset + 0x68, 0x0000003e); + } + + if (dev_priv->chipset < 0xa0) + cp_ctx(ctx, base + 0x300, 0x4); + else + cp_ctx(ctx, base + 0x300, 0x5); + if (dev_priv->chipset == 0x50) + gr_def(ctx, base + 0x304, 0x00007070); + else if (dev_priv->chipset < 0xa0) + gr_def(ctx, base + 0x304, 0x00027070); + else if (dev_priv->chipset <= 0xa0 || dev_priv->chipset >= 0xaa) + gr_def(ctx, base + 0x304, 0x01127070); + else + gr_def(ctx, base + 0x304, 0x05127070); + + if (dev_priv->chipset < 0xa0) + cp_ctx(ctx, base + 0x318, 1); + else + cp_ctx(ctx, base + 0x320, 1); + if (dev_priv->chipset == 0x50) + gr_def(ctx, base + 0x318, 0x0003ffff); + else if (dev_priv->chipset < 0xa0) + gr_def(ctx, base + 0x318, 0x03ffffff); + else + gr_def(ctx, base + 0x320, 0x07ffffff); + + if (dev_priv->chipset < 0xa0) + cp_ctx(ctx, base + 0x324, 5); + else + cp_ctx(ctx, base + 0x328, 4); + + if (dev_priv->chipset < 0xa0) { + cp_ctx(ctx, base + 0x340, 9); + offset = base + 0x340; + } else if (dev_priv->chipset <= 0xa0 || dev_priv->chipset >= 0xaa) { + cp_ctx(ctx, base + 0x33c, 0xb); + offset = base + 0x344; + } else { + cp_ctx(ctx, base + 0x33c, 0xd); + offset = base + 0x344; + } + gr_def(ctx, offset + 0x0, 0x00120407); + gr_def(ctx, offset + 0x4, 0x05091507); + if (dev_priv->chipset == 0x84) + gr_def(ctx, offset + 0x8, 0x05100202); + else + gr_def(ctx, offset + 0x8, 0x05010202); + gr_def(ctx, offset + 0xc, 0x00030201); + + cp_ctx(ctx, base + 0x400, 2); + gr_def(ctx, base + 0x404, 0x00000040); + cp_ctx(ctx, base + 0x40c, 2); + gr_def(ctx, base + 0x40c, 0x0d0c0b0a); + gr_def(ctx, base + 0x410, 0x00141210); + + if (dev_priv->chipset < 0xa0) + offset = base + 0x800; + else + offset = base + 0x500; + cp_ctx(ctx, offset, 6); + gr_def(ctx, offset + 0x0, 0x000001f0); + gr_def(ctx, offset + 0x4, 0x00000001); + gr_def(ctx, offset + 0x8, 0x00000003); + if (dev_priv->chipset == 0x50 || dev_priv->chipset >= 0xaa) + gr_def(ctx, offset + 0xc, 0x00008000); + gr_def(ctx, offset + 0x14, 0x00039e00); + cp_ctx(ctx, offset + 0x1c, 2); + if (dev_priv->chipset == 0x50) + gr_def(ctx, offset + 0x1c, 0x00000040); + else + gr_def(ctx, offset + 0x1c, 0x00000100); + gr_def(ctx, offset + 0x20, 0x00003800); + + if (dev_priv->chipset >= 0xa0) { + cp_ctx(ctx, base + 0x54c, 2); + if (dev_priv->chipset <= 0xa0 || dev_priv->chipset >= 0xaa) + gr_def(ctx, base + 0x54c, 0x003fe006); + else + gr_def(ctx, base + 0x54c, 0x003fe007); + gr_def(ctx, base + 0x550, 0x003fe000); + } + + if (dev_priv->chipset < 0xa0) + offset = base + 0xa00; + else + offset = base + 0x680; + cp_ctx(ctx, offset, 1); + gr_def(ctx, offset, 0x00404040); + + if (dev_priv->chipset < 0xa0) + offset = base + 0xe00; + else + offset = base + 0x700; + cp_ctx(ctx, offset, 2); + if (dev_priv->chipset < 0xa0) + gr_def(ctx, offset, 0x0077f005); + else if (dev_priv->chipset == 0xa5) + gr_def(ctx, offset, 0x6cf7f007); + else if (dev_priv->chipset == 0xa8) + gr_def(ctx, offset, 0x6cfff007); + else if (dev_priv->chipset == 0xac) + gr_def(ctx, offset, 0x0cfff007); + else + gr_def(ctx, offset, 0x0cf7f007); + if (dev_priv->chipset == 0x50) + gr_def(ctx, offset + 0x4, 0x00007fff); + else if (dev_priv->chipset < 0xa0) + gr_def(ctx, offset + 0x4, 0x003f7fff); + else + gr_def(ctx, offset + 0x4, 0x02bf7fff); + cp_ctx(ctx, offset + 0x2c, 1); + if (dev_priv->chipset == 0x50) { + cp_ctx(ctx, offset + 0x50, 9); + gr_def(ctx, offset + 0x54, 0x000003ff); + gr_def(ctx, offset + 0x58, 0x00000003); + gr_def(ctx, offset + 0x5c, 0x00000003); + gr_def(ctx, offset + 0x60, 0x000001ff); + gr_def(ctx, offset + 0x64, 0x0000001f); + gr_def(ctx, offset + 0x68, 0x0000000f); + gr_def(ctx, offset + 0x6c, 0x0000000f); + } else if(dev_priv->chipset < 0xa0) { + cp_ctx(ctx, offset + 0x50, 1); + cp_ctx(ctx, offset + 0x70, 1); + } else { + cp_ctx(ctx, offset + 0x50, 1); + cp_ctx(ctx, offset + 0x60, 5); + } + } + } +} + +/* + * xfer areas. These are a pain. + * + * There are 2 xfer areas: the first one is big and contains all sorts of + * stuff, the second is small and contains some per-TP context. + * + * Each area is split into 8 "strands". The areas, when saved to grctx, + * are made of 8-word blocks. Each block contains a single word from + * each strand. The strands are independent of each other, their + * addresses are unrelated to each other, and data in them is closely + * packed together. The strand layout varies a bit between cards: here + * and there, a single word is thrown out in the middle and the whole + * strand is offset by a bit from corresponding one on another chipset. + * For this reason, addresses of stuff in strands are almost useless. + * Knowing sequence of stuff and size of gaps between them is much more + * useful, and that's how we build the strands in our generator. + * + * NVA0 takes this mess to a whole new level by cutting the old strands + * into a few dozen pieces [known as genes], rearranging them randomly, + * and putting them back together to make new strands. Hopefully these + * genes correspond more or less directly to the same PGRAPH subunits + * as in 400040 register. + * + * The most common value in default context is 0, and when the genes + * are separated by 0's, gene bounduaries are quite speculative... + * some of them can be clearly deduced, others can be guessed, and yet + * others won't be resolved without figuring out the real meaning of + * given ctxval. For the same reason, ending point of each strand + * is unknown. Except for strand 0, which is the longest strand and + * its end corresponds to end of the whole xfer. + * + * An unsolved mystery is the seek instruction: it takes an argument + * in bits 8-18, and that argument is clearly the place in strands to + * seek to... but the offsets don't seem to correspond to offsets as + * seen in grctx. Perhaps there's another, real, not randomly-changing + * addressing in strands, and the xfer insn just happens to skip over + * the unused bits? NV10-NV30 PIPE comes to mind... + * + * As far as I know, there's no way to access the xfer areas directly + * without the help of ctxprog. + */ + +static inline void +xf_emit(struct nouveau_grctx *ctx, int num, uint32_t val) { + int i; + if (val && ctx->mode == NOUVEAU_GRCTX_VALS) + for (i = 0; i < num; i++) + nv_wo32(ctx->dev, ctx->data, ctx->ctxvals_pos + (i << 3), val); + ctx->ctxvals_pos += num << 3; +} + +/* Gene declarations... */ + +static void nv50_graph_construct_gene_m2mf(struct nouveau_grctx *ctx); +static void nv50_graph_construct_gene_unk1(struct nouveau_grctx *ctx); +static void nv50_graph_construct_gene_unk2(struct nouveau_grctx *ctx); +static void nv50_graph_construct_gene_unk3(struct nouveau_grctx *ctx); +static void nv50_graph_construct_gene_unk4(struct nouveau_grctx *ctx); +static void nv50_graph_construct_gene_unk5(struct nouveau_grctx *ctx); +static void nv50_graph_construct_gene_unk6(struct nouveau_grctx *ctx); +static void nv50_graph_construct_gene_unk7(struct nouveau_grctx *ctx); +static void nv50_graph_construct_gene_unk8(struct nouveau_grctx *ctx); +static void nv50_graph_construct_gene_unk9(struct nouveau_grctx *ctx); +static void nv50_graph_construct_gene_unk10(struct nouveau_grctx *ctx); +static void nv50_graph_construct_gene_ropc(struct nouveau_grctx *ctx); +static void nv50_graph_construct_xfer_tp(struct nouveau_grctx *ctx); + +static void +nv50_graph_construct_xfer1(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + int i; + int offset; + int size = 0; + uint32_t units = nv_rd32 (ctx->dev, 0x1540); + + offset = (ctx->ctxvals_pos+0x3f)&~0x3f; + ctx->ctxvals_base = offset; + + if (dev_priv->chipset < 0xa0) { + /* Strand 0 */ + ctx->ctxvals_pos = offset; + switch (dev_priv->chipset) { + case 0x50: + xf_emit(ctx, 0x99, 0); + break; + case 0x84: + case 0x86: + xf_emit(ctx, 0x384, 0); + break; + case 0x92: + case 0x94: + case 0x96: + case 0x98: + xf_emit(ctx, 0x380, 0); + break; + } + nv50_graph_construct_gene_m2mf (ctx); + switch (dev_priv->chipset) { + case 0x50: + case 0x84: + case 0x86: + case 0x98: + xf_emit(ctx, 0x4c4, 0); + break; + case 0x92: + case 0x94: + case 0x96: + xf_emit(ctx, 0x984, 0); + break; + } + nv50_graph_construct_gene_unk5(ctx); + if (dev_priv->chipset == 0x50) + xf_emit(ctx, 0xa, 0); + else + xf_emit(ctx, 0xb, 0); + nv50_graph_construct_gene_unk4(ctx); + nv50_graph_construct_gene_unk3(ctx); + if ((ctx->ctxvals_pos-offset)/8 > size) + size = (ctx->ctxvals_pos-offset)/8; + + /* Strand 1 */ + ctx->ctxvals_pos = offset + 0x1; + nv50_graph_construct_gene_unk6(ctx); + nv50_graph_construct_gene_unk7(ctx); + nv50_graph_construct_gene_unk8(ctx); + switch (dev_priv->chipset) { + case 0x50: + case 0x92: + xf_emit(ctx, 0xfb, 0); + break; + case 0x84: + xf_emit(ctx, 0xd3, 0); + break; + case 0x94: + case 0x96: + xf_emit(ctx, 0xab, 0); + break; + case 0x86: + case 0x98: + xf_emit(ctx, 0x6b, 0); + break; + } + xf_emit(ctx, 2, 0x4e3bfdf); + xf_emit(ctx, 4, 0); + xf_emit(ctx, 1, 0x0fac6881); + xf_emit(ctx, 0xb, 0); + xf_emit(ctx, 2, 0x4e3bfdf); + if ((ctx->ctxvals_pos-offset)/8 > size) + size = (ctx->ctxvals_pos-offset)/8; + + /* Strand 2 */ + ctx->ctxvals_pos = offset + 0x2; + switch (dev_priv->chipset) { + case 0x50: + case 0x92: + xf_emit(ctx, 0xa80, 0); + break; + case 0x84: + xf_emit(ctx, 0xa7e, 0); + break; + case 0x94: + case 0x96: + xf_emit(ctx, 0xa7c, 0); + break; + case 0x86: + case 0x98: + xf_emit(ctx, 0xa7a, 0); + break; + } + xf_emit(ctx, 1, 0x3fffff); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 0x1fff); + xf_emit(ctx, 0xe, 0); + nv50_graph_construct_gene_unk9(ctx); + nv50_graph_construct_gene_unk2(ctx); + nv50_graph_construct_gene_unk1(ctx); + nv50_graph_construct_gene_unk10(ctx); + if ((ctx->ctxvals_pos-offset)/8 > size) + size = (ctx->ctxvals_pos-offset)/8; + + /* Strand 3: per-ROP group state */ + ctx->ctxvals_pos = offset + 3; + for (i = 0; i < 6; i++) + if (units & (1 << (i + 16))) + nv50_graph_construct_gene_ropc(ctx); + if ((ctx->ctxvals_pos-offset)/8 > size) + size = (ctx->ctxvals_pos-offset)/8; + + /* Strands 4-7: per-TP state */ + for (i = 0; i < 4; i++) { + ctx->ctxvals_pos = offset + 4 + i; + if (units & (1 << (2 * i))) + nv50_graph_construct_xfer_tp(ctx); + if (units & (1 << (2 * i + 1))) + nv50_graph_construct_xfer_tp(ctx); + if ((ctx->ctxvals_pos-offset)/8 > size) + size = (ctx->ctxvals_pos-offset)/8; + } + } else { + /* Strand 0 */ + ctx->ctxvals_pos = offset; + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 0x385, 0); + else + xf_emit(ctx, 0x384, 0); + nv50_graph_construct_gene_m2mf(ctx); + xf_emit(ctx, 0x950, 0); + nv50_graph_construct_gene_unk10(ctx); + xf_emit(ctx, 1, 0x0fac6881); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) { + xf_emit(ctx, 1, 1); + xf_emit(ctx, 3, 0); + } + nv50_graph_construct_gene_unk8(ctx); + if (dev_priv->chipset == 0xa0) + xf_emit(ctx, 0x189, 0); + else if (dev_priv->chipset < 0xa8) + xf_emit(ctx, 0x99, 0); + else if (dev_priv->chipset == 0xaa) + xf_emit(ctx, 0x65, 0); + else + xf_emit(ctx, 0x6d, 0); + nv50_graph_construct_gene_unk9(ctx); + if ((ctx->ctxvals_pos-offset)/8 > size) + size = (ctx->ctxvals_pos-offset)/8; + + /* Strand 1 */ + ctx->ctxvals_pos = offset + 1; + nv50_graph_construct_gene_unk1(ctx); + if ((ctx->ctxvals_pos-offset)/8 > size) + size = (ctx->ctxvals_pos-offset)/8; + + /* Strand 2 */ + ctx->ctxvals_pos = offset + 2; + if (dev_priv->chipset == 0xa0) { + nv50_graph_construct_gene_unk2(ctx); + } + xf_emit(ctx, 0x36, 0); + nv50_graph_construct_gene_unk5(ctx); + if ((ctx->ctxvals_pos-offset)/8 > size) + size = (ctx->ctxvals_pos-offset)/8; + + /* Strand 3 */ + ctx->ctxvals_pos = offset + 3; + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 1); + nv50_graph_construct_gene_unk6(ctx); + if ((ctx->ctxvals_pos-offset)/8 > size) + size = (ctx->ctxvals_pos-offset)/8; + + /* Strand 4 */ + ctx->ctxvals_pos = offset + 4; + if (dev_priv->chipset == 0xa0) + xf_emit(ctx, 0xa80, 0); + else + xf_emit(ctx, 0xa7a, 0); + xf_emit(ctx, 1, 0x3fffff); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 0x1fff); + if ((ctx->ctxvals_pos-offset)/8 > size) + size = (ctx->ctxvals_pos-offset)/8; + + /* Strand 5 */ + ctx->ctxvals_pos = offset + 5; + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x0fac6881); + xf_emit(ctx, 0xb, 0); + xf_emit(ctx, 2, 0x4e3bfdf); + xf_emit(ctx, 3, 0); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 1, 0x11); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 2, 0x4e3bfdf); + xf_emit(ctx, 2, 0); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 1, 0x11); + xf_emit(ctx, 1, 0); + for (i = 0; i < 8; i++) + if (units & (1<<(i+16))) + nv50_graph_construct_gene_ropc(ctx); + if ((ctx->ctxvals_pos-offset)/8 > size) + size = (ctx->ctxvals_pos-offset)/8; + + /* Strand 6 */ + ctx->ctxvals_pos = offset + 6; + nv50_graph_construct_gene_unk3(ctx); + xf_emit(ctx, 0xb, 0); + nv50_graph_construct_gene_unk4(ctx); + nv50_graph_construct_gene_unk7(ctx); + if (units & (1 << 0)) + nv50_graph_construct_xfer_tp(ctx); + if (units & (1 << 1)) + nv50_graph_construct_xfer_tp(ctx); + if (units & (1 << 2)) + nv50_graph_construct_xfer_tp(ctx); + if (units & (1 << 3)) + nv50_graph_construct_xfer_tp(ctx); + if ((ctx->ctxvals_pos-offset)/8 > size) + size = (ctx->ctxvals_pos-offset)/8; + + /* Strand 7 */ + ctx->ctxvals_pos = offset + 7; + if (dev_priv->chipset == 0xa0) { + if (units & (1 << 4)) + nv50_graph_construct_xfer_tp(ctx); + if (units & (1 << 5)) + nv50_graph_construct_xfer_tp(ctx); + if (units & (1 << 6)) + nv50_graph_construct_xfer_tp(ctx); + if (units & (1 << 7)) + nv50_graph_construct_xfer_tp(ctx); + if (units & (1 << 8)) + nv50_graph_construct_xfer_tp(ctx); + if (units & (1 << 9)) + nv50_graph_construct_xfer_tp(ctx); + } else { + nv50_graph_construct_gene_unk2(ctx); + } + if ((ctx->ctxvals_pos-offset)/8 > size) + size = (ctx->ctxvals_pos-offset)/8; + } + + ctx->ctxvals_pos = offset + size * 8; + ctx->ctxvals_pos = (ctx->ctxvals_pos+0x3f)&~0x3f; + cp_lsr (ctx, offset); + cp_out (ctx, CP_SET_XFER_POINTER); + cp_lsr (ctx, size); + cp_out (ctx, CP_SEEK_1); + cp_out (ctx, CP_XFER_1); + cp_wait(ctx, XFER, BUSY); +} + +/* + * non-trivial demagiced parts of ctx init go here + */ + +static void +nv50_graph_construct_gene_m2mf(struct nouveau_grctx *ctx) +{ + /* m2mf state */ + xf_emit (ctx, 1, 0); /* DMA_NOTIFY instance >> 4 */ + xf_emit (ctx, 1, 0); /* DMA_BUFFER_IN instance >> 4 */ + xf_emit (ctx, 1, 0); /* DMA_BUFFER_OUT instance >> 4 */ + xf_emit (ctx, 1, 0); /* OFFSET_IN */ + xf_emit (ctx, 1, 0); /* OFFSET_OUT */ + xf_emit (ctx, 1, 0); /* PITCH_IN */ + xf_emit (ctx, 1, 0); /* PITCH_OUT */ + xf_emit (ctx, 1, 0); /* LINE_LENGTH */ + xf_emit (ctx, 1, 0); /* LINE_COUNT */ + xf_emit (ctx, 1, 0x21); /* FORMAT: bits 0-4 INPUT_INC, bits 5-9 OUTPUT_INC */ + xf_emit (ctx, 1, 1); /* LINEAR_IN */ + xf_emit (ctx, 1, 0x2); /* TILING_MODE_IN: bits 0-2 y tiling, bits 3-5 z tiling */ + xf_emit (ctx, 1, 0x100); /* TILING_PITCH_IN */ + xf_emit (ctx, 1, 0x100); /* TILING_HEIGHT_IN */ + xf_emit (ctx, 1, 1); /* TILING_DEPTH_IN */ + xf_emit (ctx, 1, 0); /* TILING_POSITION_IN_Z */ + xf_emit (ctx, 1, 0); /* TILING_POSITION_IN */ + xf_emit (ctx, 1, 1); /* LINEAR_OUT */ + xf_emit (ctx, 1, 0x2); /* TILING_MODE_OUT: bits 0-2 y tiling, bits 3-5 z tiling */ + xf_emit (ctx, 1, 0x100); /* TILING_PITCH_OUT */ + xf_emit (ctx, 1, 0x100); /* TILING_HEIGHT_OUT */ + xf_emit (ctx, 1, 1); /* TILING_DEPTH_OUT */ + xf_emit (ctx, 1, 0); /* TILING_POSITION_OUT_Z */ + xf_emit (ctx, 1, 0); /* TILING_POSITION_OUT */ + xf_emit (ctx, 1, 0); /* OFFSET_IN_HIGH */ + xf_emit (ctx, 1, 0); /* OFFSET_OUT_HIGH */ +} + +static void +nv50_graph_construct_gene_unk1(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + /* end of area 2 on pre-NVA0, area 1 on NVAx */ + xf_emit(ctx, 2, 4); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x80); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 1, 0x80c14); + xf_emit(ctx, 1, 0); + if (dev_priv->chipset == 0x50) + xf_emit(ctx, 1, 0x3ff); + else + xf_emit(ctx, 1, 0x7ff); + switch (dev_priv->chipset) { + case 0x50: + case 0x86: + case 0x98: + case 0xaa: + case 0xac: + xf_emit(ctx, 0x542, 0); + break; + case 0x84: + case 0x92: + case 0x94: + case 0x96: + xf_emit(ctx, 0x942, 0); + break; + case 0xa0: + xf_emit(ctx, 0x2042, 0); + break; + case 0xa5: + case 0xa8: + xf_emit(ctx, 0x842, 0); + break; + } + xf_emit(ctx, 2, 4); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x80); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x27); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x26); + xf_emit(ctx, 3, 0); +} + +static void +nv50_graph_construct_gene_unk10(struct nouveau_grctx *ctx) +{ + /* end of area 2 on pre-NVA0, area 1 on NVAx */ + xf_emit(ctx, 0x10, 0x04000000); + xf_emit(ctx, 0x24, 0); + xf_emit(ctx, 2, 0x04e3bfdf); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 0x1fe21); +} + +static void +nv50_graph_construct_gene_unk2(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + /* middle of area 2 on pre-NVA0, beginning of area 2 on NVA0, area 7 on >NVA0 */ + if (dev_priv->chipset != 0x50) { + xf_emit(ctx, 5, 0); + xf_emit(ctx, 1, 0x80c14); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 0x804); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 2, 4); + xf_emit(ctx, 1, 0x8100c12); + } + xf_emit(ctx, 1, 0); + xf_emit(ctx, 2, 4); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x10); + if (dev_priv->chipset == 0x50) + xf_emit(ctx, 3, 0); + else + xf_emit(ctx, 4, 0); + xf_emit(ctx, 1, 0x804); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0x1a); + if (dev_priv->chipset != 0x50) + xf_emit(ctx, 1, 0x7f); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0x80c14); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x8100c12); + xf_emit(ctx, 2, 4); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x10); + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0x8100c12); + xf_emit(ctx, 6, 0); + if (dev_priv->chipset == 0x50) + xf_emit(ctx, 1, 0x3ff); + else + xf_emit(ctx, 1, 0x7ff); + xf_emit(ctx, 1, 0x80c14); + xf_emit(ctx, 0x38, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 0x10); + xf_emit(ctx, 0x38, 0); + xf_emit(ctx, 2, 0x88); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 0x16, 0); + xf_emit(ctx, 1, 0x26); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 0x3f800000); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 4, 0); + else + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 0x1a); + xf_emit(ctx, 1, 0x10); + if (dev_priv->chipset != 0x50) + xf_emit(ctx, 0x28, 0); + else + xf_emit(ctx, 0x25, 0); + xf_emit(ctx, 1, 0x52); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x26); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 2, 4); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x1a); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 0x00ffff00); + xf_emit(ctx, 1, 0); +} + +static void +nv50_graph_construct_gene_unk3(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + /* end of area 0 on pre-NVA0, beginning of area 6 on NVAx */ + xf_emit(ctx, 1, 0x3f); + xf_emit(ctx, 0xa, 0); + xf_emit(ctx, 1, 2); + xf_emit(ctx, 2, 0x04000000); + xf_emit(ctx, 8, 0); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 4); + if (dev_priv->chipset == 0x50) + xf_emit(ctx, 0x10, 0); + else + xf_emit(ctx, 0x11, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0x1001); + xf_emit(ctx, 4, 0xffff); + xf_emit(ctx, 0x20, 0); + xf_emit(ctx, 0x10, 0x3f800000); + xf_emit(ctx, 1, 0x10); + if (dev_priv->chipset == 0x50) + xf_emit(ctx, 1, 0); + else + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 3); + xf_emit(ctx, 2, 0); +} + +static void +nv50_graph_construct_gene_unk4(struct nouveau_grctx *ctx) +{ + /* middle of area 0 on pre-NVA0, middle of area 6 on NVAx */ + xf_emit(ctx, 2, 0x04000000); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x80); + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 0x80); + xf_emit(ctx, 1, 0); +} + +static void +nv50_graph_construct_gene_unk5(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + /* middle of area 0 on pre-NVA0 [after m2mf], end of area 2 on NVAx */ + xf_emit(ctx, 2, 4); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 0x1c4d, 0); + else + xf_emit(ctx, 0x1c4b, 0); + xf_emit(ctx, 2, 4); + xf_emit(ctx, 1, 0x8100c12); + if (dev_priv->chipset != 0x50) + xf_emit(ctx, 1, 3); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x8100c12); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x80c14); + xf_emit(ctx, 1, 1); + if (dev_priv->chipset >= 0xa0) + xf_emit(ctx, 2, 4); + xf_emit(ctx, 1, 0x80c14); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 0x8100c12); + xf_emit(ctx, 1, 0x27); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 0x3c1, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 0x16, 0); + xf_emit(ctx, 1, 0x8100c12); + xf_emit(ctx, 1, 0); +} + +static void +nv50_graph_construct_gene_unk6(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + /* beginning of area 1 on pre-NVA0 [after m2mf], area 3 on NVAx */ + xf_emit(ctx, 4, 0); + xf_emit(ctx, 1, 0xf); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 8, 0); + else + xf_emit(ctx, 4, 0); + xf_emit(ctx, 1, 0x20); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 0x11, 0); + else if (dev_priv->chipset >= 0xa0) + xf_emit(ctx, 0xf, 0); + else + xf_emit(ctx, 0xe, 0); + xf_emit(ctx, 1, 0x1a); + xf_emit(ctx, 0xd, 0); + xf_emit(ctx, 2, 4); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 1, 8); + xf_emit(ctx, 1, 0); + if (dev_priv->chipset == 0x50) + xf_emit(ctx, 1, 0x3ff); + else + xf_emit(ctx, 1, 0x7ff); + if (dev_priv->chipset == 0xa8) + xf_emit(ctx, 1, 0x1e00); + xf_emit(ctx, 0xc, 0); + xf_emit(ctx, 1, 0xf); + if (dev_priv->chipset == 0x50) + xf_emit(ctx, 0x125, 0); + else if (dev_priv->chipset < 0xa0) + xf_emit(ctx, 0x126, 0); + else if (dev_priv->chipset == 0xa0 || dev_priv->chipset >= 0xaa) + xf_emit(ctx, 0x124, 0); + else + xf_emit(ctx, 0x1f7, 0); + xf_emit(ctx, 1, 0xf); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 3, 0); + else + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 1); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 0xa1, 0); + else + xf_emit(ctx, 0x5a, 0); + xf_emit(ctx, 1, 0xf); + if (dev_priv->chipset < 0xa0) + xf_emit(ctx, 0x834, 0); + else if (dev_priv->chipset == 0xa0) + xf_emit(ctx, 0x1873, 0); + else if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 0x8ba, 0); + else + xf_emit(ctx, 0x833, 0); + xf_emit(ctx, 1, 0xf); + xf_emit(ctx, 0xf, 0); +} + +static void +nv50_graph_construct_gene_unk7(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + /* middle of area 1 on pre-NVA0 [after m2mf], middle of area 6 on NVAx */ + xf_emit(ctx, 2, 0); + if (dev_priv->chipset == 0x50) + xf_emit(ctx, 2, 1); + else + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 2, 0x100); + xf_emit(ctx, 1, 0x11); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 8); + xf_emit(ctx, 5, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 3, 1); + xf_emit(ctx, 1, 0xcf); + xf_emit(ctx, 1, 2); + xf_emit(ctx, 6, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 3, 1); + xf_emit(ctx, 4, 0); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0x15); + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 0x4444480); + xf_emit(ctx, 0x37, 0); +} + +static void +nv50_graph_construct_gene_unk8(struct nouveau_grctx *ctx) +{ + /* middle of area 1 on pre-NVA0 [after m2mf], middle of area 0 on NVAx */ + xf_emit(ctx, 4, 0); + xf_emit(ctx, 1, 0x8100c12); + xf_emit(ctx, 4, 0); + xf_emit(ctx, 1, 0x100); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 0x10001); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x10001); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0x10001); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 1, 2); +} + +static void +nv50_graph_construct_gene_unk9(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + /* middle of area 2 on pre-NVA0 [after m2mf], end of area 0 on NVAx */ + xf_emit(ctx, 1, 0x3f800000); + xf_emit(ctx, 6, 0); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 1, 0x1a); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 0x12, 0); + xf_emit(ctx, 1, 0x00ffff00); + xf_emit(ctx, 6, 0); + xf_emit(ctx, 1, 0xf); + xf_emit(ctx, 7, 0); + xf_emit(ctx, 1, 0x0fac6881); + xf_emit(ctx, 1, 0x11); + xf_emit(ctx, 0xf, 0); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 2, 0); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 1, 3); + else if (dev_priv->chipset >= 0xa0) + xf_emit(ctx, 1, 1); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 2); + xf_emit(ctx, 2, 0x04000000); + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 5); + xf_emit(ctx, 1, 0x52); + if (dev_priv->chipset == 0x50) { + xf_emit(ctx, 0x13, 0); + } else { + xf_emit(ctx, 4, 0); + xf_emit(ctx, 1, 1); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 0x11, 0); + else + xf_emit(ctx, 0x10, 0); + } + xf_emit(ctx, 0x10, 0x3f800000); + xf_emit(ctx, 1, 0x10); + xf_emit(ctx, 0x26, 0); + xf_emit(ctx, 1, 0x8100c12); + xf_emit(ctx, 1, 5); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 4, 0xffff); + if (dev_priv->chipset != 0x50) + xf_emit(ctx, 1, 3); + if (dev_priv->chipset < 0xa0) + xf_emit(ctx, 0x1f, 0); + else if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 0xc, 0); + else + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 0x00ffff00); + xf_emit(ctx, 1, 0x1a); + if (dev_priv->chipset != 0x50) { + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 3); + } + if (dev_priv->chipset < 0xa0) + xf_emit(ctx, 0x26, 0); + else + xf_emit(ctx, 0x3c, 0); + xf_emit(ctx, 1, 0x102); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 4, 4); + if (dev_priv->chipset >= 0xa0) + xf_emit(ctx, 8, 0); + xf_emit(ctx, 2, 4); + xf_emit(ctx, 1, 0); + if (dev_priv->chipset == 0x50) + xf_emit(ctx, 1, 0x3ff); + else + xf_emit(ctx, 1, 0x7ff); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x102); + xf_emit(ctx, 9, 0); + xf_emit(ctx, 4, 4); + xf_emit(ctx, 0x2c, 0); +} + +static void +nv50_graph_construct_gene_ropc(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + int magic2; + if (dev_priv->chipset == 0x50) { + magic2 = 0x00003e60; + } else if (dev_priv->chipset <= 0xa0 || dev_priv->chipset >= 0xaa) { + magic2 = 0x001ffe67; + } else { + magic2 = 0x00087e67; + } + xf_emit(ctx, 8, 0); + xf_emit(ctx, 1, 2); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, magic2); + xf_emit(ctx, 4, 0); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 1, 1); + xf_emit(ctx, 7, 0); + if (dev_priv->chipset >= 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 1, 0x15); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0x10); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 4, 0); + if (dev_priv->chipset == 0x86 || dev_priv->chipset == 0x92 || dev_priv->chipset == 0x98 || dev_priv->chipset >= 0xa0) { + xf_emit(ctx, 1, 4); + xf_emit(ctx, 1, 0x400); + xf_emit(ctx, 1, 0x300); + xf_emit(ctx, 1, 0x1001); + if (dev_priv->chipset != 0xa0) { + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 1, 0); + else + xf_emit(ctx, 1, 0x15); + } + xf_emit(ctx, 3, 0); + } + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 2); + xf_emit(ctx, 8, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0x10); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 0x13, 0); + xf_emit(ctx, 1, 0x10); + xf_emit(ctx, 0x10, 0); + xf_emit(ctx, 0x10, 0x3f800000); + xf_emit(ctx, 0x19, 0); + xf_emit(ctx, 1, 0x10); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x3f); + xf_emit(ctx, 6, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 1); + if (dev_priv->chipset >= 0xa0) { + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 0x1001); + xf_emit(ctx, 0xb, 0); + } else { + xf_emit(ctx, 0xc, 0); + } + xf_emit(ctx, 1, 0x11); + xf_emit(ctx, 7, 0); + xf_emit(ctx, 1, 0xf); + xf_emit(ctx, 7, 0); + xf_emit(ctx, 1, 0x11); + if (dev_priv->chipset == 0x50) + xf_emit(ctx, 4, 0); + else + xf_emit(ctx, 6, 0); + xf_emit(ctx, 3, 1); + xf_emit(ctx, 1, 2); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 2); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, magic2); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x0fac6881); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) { + xf_emit(ctx, 1, 0); + xf_emit(ctx, 0x18, 1); + xf_emit(ctx, 8, 2); + xf_emit(ctx, 8, 1); + xf_emit(ctx, 8, 2); + xf_emit(ctx, 8, 1); + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 5, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 0x16, 0); + } else { + if (dev_priv->chipset >= 0xa0) + xf_emit(ctx, 0x1b, 0); + else + xf_emit(ctx, 0x15, 0); + } + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 2); + xf_emit(ctx, 2, 1); + xf_emit(ctx, 1, 2); + xf_emit(ctx, 2, 1); + if (dev_priv->chipset >= 0xa0) + xf_emit(ctx, 4, 0); + else + xf_emit(ctx, 3, 0); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) { + xf_emit(ctx, 0x10, 1); + xf_emit(ctx, 8, 2); + xf_emit(ctx, 0x10, 1); + xf_emit(ctx, 8, 2); + xf_emit(ctx, 8, 1); + xf_emit(ctx, 3, 0); + } + xf_emit(ctx, 1, 0x11); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 0x5b, 0); +} + +static void +nv50_graph_construct_xfer_tp_x1(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + int magic3; + if (dev_priv->chipset == 0x50) + magic3 = 0x1000; + else if (dev_priv->chipset == 0x86 || dev_priv->chipset == 0x98 || dev_priv->chipset >= 0xa8) + magic3 = 0x1e00; + else + magic3 = 0; + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 4); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 0x24, 0); + else if (dev_priv->chipset >= 0xa0) + xf_emit(ctx, 0x14, 0); + else + xf_emit(ctx, 0x15, 0); + xf_emit(ctx, 2, 4); + if (dev_priv->chipset >= 0xa0) + xf_emit(ctx, 1, 0x03020100); + else + xf_emit(ctx, 1, 0x00608080); + xf_emit(ctx, 4, 0); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 2, 4); + xf_emit(ctx, 1, 0x80); + if (magic3) + xf_emit(ctx, 1, magic3); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 0x24, 0); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 1, 0x80); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 1, 0x03020100); + xf_emit(ctx, 1, 3); + if (magic3) + xf_emit(ctx, 1, magic3); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 4, 0); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 1, 3); + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 4); + if (dev_priv->chipset == 0x94 || dev_priv->chipset == 0x96) + xf_emit(ctx, 0x1024, 0); + else if (dev_priv->chipset < 0xa0) + xf_emit(ctx, 0xa24, 0); + else if (dev_priv->chipset == 0xa0 || dev_priv->chipset >= 0xaa) + xf_emit(ctx, 0x214, 0); + else + xf_emit(ctx, 0x414, 0); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 1, 3); + xf_emit(ctx, 2, 0); +} + +static void +nv50_graph_construct_xfer_tp_x2(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + int magic1, magic2; + if (dev_priv->chipset == 0x50) { + magic1 = 0x3ff; + magic2 = 0x00003e60; + } else if (dev_priv->chipset <= 0xa0 || dev_priv->chipset >= 0xaa) { + magic1 = 0x7ff; + magic2 = 0x001ffe67; + } else { + magic1 = 0x7ff; + magic2 = 0x00087e67; + } + xf_emit(ctx, 3, 0); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 1, 1); + xf_emit(ctx, 0xc, 0); + xf_emit(ctx, 1, 0xf); + xf_emit(ctx, 0xb, 0); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 4, 0xffff); + xf_emit(ctx, 8, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 5, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 2, 0); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) { + xf_emit(ctx, 1, 3); + xf_emit(ctx, 1, 0); + } else if (dev_priv->chipset >= 0xa0) + xf_emit(ctx, 1, 1); + xf_emit(ctx, 0xa, 0); + xf_emit(ctx, 2, 1); + xf_emit(ctx, 1, 2); + xf_emit(ctx, 2, 1); + xf_emit(ctx, 1, 2); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) { + xf_emit(ctx, 1, 0); + xf_emit(ctx, 0x18, 1); + xf_emit(ctx, 8, 2); + xf_emit(ctx, 8, 1); + xf_emit(ctx, 8, 2); + xf_emit(ctx, 8, 1); + xf_emit(ctx, 1, 0); + } + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x11); + xf_emit(ctx, 7, 0); + xf_emit(ctx, 1, 0x0fac6881); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 0x11); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 3, 0xcf); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 1, 1); + xf_emit(ctx, 0xa, 0); + xf_emit(ctx, 2, 1); + xf_emit(ctx, 1, 2); + xf_emit(ctx, 2, 1); + xf_emit(ctx, 1, 2); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 8, 1); + xf_emit(ctx, 1, 0x11); + xf_emit(ctx, 7, 0); + xf_emit(ctx, 1, 0x0fac6881); + xf_emit(ctx, 1, 0xf); + xf_emit(ctx, 7, 0); + xf_emit(ctx, 1, magic2); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 0x11); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 2, 1); + else + xf_emit(ctx, 1, 1); + if(dev_priv->chipset == 0x50) + xf_emit(ctx, 1, 0); + else + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 5, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 4, 0); + xf_emit(ctx, 1, 0x11); + xf_emit(ctx, 7, 0); + xf_emit(ctx, 1, 0x0fac6881); + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 0x11); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, magic1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 2, 0); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 1, 1); + xf_emit(ctx, 0x28, 0); + xf_emit(ctx, 8, 8); + xf_emit(ctx, 1, 0x11); + xf_emit(ctx, 7, 0); + xf_emit(ctx, 1, 0x0fac6881); + xf_emit(ctx, 8, 0x400); + xf_emit(ctx, 8, 0x300); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0xf); + xf_emit(ctx, 7, 0); + xf_emit(ctx, 1, 0x20); + xf_emit(ctx, 1, 0x11); + xf_emit(ctx, 1, 0x100); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 0x40); + xf_emit(ctx, 1, 0x100); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 3); + xf_emit(ctx, 4, 0); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, magic2); + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 2); + xf_emit(ctx, 1, 0x0fac6881); + xf_emit(ctx, 9, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 4, 0); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0x400); + xf_emit(ctx, 1, 0x300); + xf_emit(ctx, 1, 0x1001); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 4, 0); + else + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 0x11); + xf_emit(ctx, 7, 0); + xf_emit(ctx, 1, 0x0fac6881); + xf_emit(ctx, 1, 0xf); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) { + xf_emit(ctx, 0x15, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 3, 0); + } else + xf_emit(ctx, 0x17, 0); + if (dev_priv->chipset >= 0xa0) + xf_emit(ctx, 1, 0x0fac6881); + xf_emit(ctx, 1, magic2); + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 0x11); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 2, 1); + xf_emit(ctx, 3, 0); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 2, 1); + else + xf_emit(ctx, 1, 1); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 2, 0); + else if (dev_priv->chipset != 0x50) + xf_emit(ctx, 1, 0); +} + +static void +nv50_graph_construct_xfer_tp_x3(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 1); + if (dev_priv->chipset == 0x50) + xf_emit(ctx, 2, 0); + else + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 0x2a712488); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x4085c000); + xf_emit(ctx, 1, 0x40); + xf_emit(ctx, 1, 0x100); + xf_emit(ctx, 1, 0x10100); + xf_emit(ctx, 1, 0x02800000); +} + +static void +nv50_graph_construct_xfer_tp_x4(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + xf_emit(ctx, 2, 0x04e3bfdf); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x00ffff00); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 2, 1); + else + xf_emit(ctx, 1, 1); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 0x00ffff00); + xf_emit(ctx, 8, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0x30201000); + xf_emit(ctx, 1, 0x70605040); + xf_emit(ctx, 1, 0xb8a89888); + xf_emit(ctx, 1, 0xf8e8d8c8); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x1a); +} + +static void +nv50_graph_construct_xfer_tp_x5(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 0xfac6881); + xf_emit(ctx, 4, 0); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 2, 1); + xf_emit(ctx, 2, 0); + xf_emit(ctx, 1, 1); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 0xb, 0); + else + xf_emit(ctx, 0xa, 0); + xf_emit(ctx, 8, 1); + xf_emit(ctx, 1, 0x11); + xf_emit(ctx, 7, 0); + xf_emit(ctx, 1, 0xfac6881); + xf_emit(ctx, 1, 0xf); + xf_emit(ctx, 7, 0); + xf_emit(ctx, 1, 0x11); + xf_emit(ctx, 1, 1); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) { + xf_emit(ctx, 6, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 6, 0); + } else { + xf_emit(ctx, 0xb, 0); + } +} + +static void +nv50_graph_construct_xfer_tp(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + if (dev_priv->chipset < 0xa0) { + nv50_graph_construct_xfer_tp_x1(ctx); + nv50_graph_construct_xfer_tp_x2(ctx); + nv50_graph_construct_xfer_tp_x3(ctx); + if (dev_priv->chipset == 0x50) + xf_emit(ctx, 0xf, 0); + else + xf_emit(ctx, 0x12, 0); + nv50_graph_construct_xfer_tp_x4(ctx); + } else { + nv50_graph_construct_xfer_tp_x3(ctx); + if (dev_priv->chipset < 0xaa) + xf_emit(ctx, 0xc, 0); + else + xf_emit(ctx, 0xa, 0); + nv50_graph_construct_xfer_tp_x2(ctx); + nv50_graph_construct_xfer_tp_x5(ctx); + nv50_graph_construct_xfer_tp_x4(ctx); + nv50_graph_construct_xfer_tp_x1(ctx); + } +} + +static void +nv50_graph_construct_xfer_tp2(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + int i, mpcnt; + if (dev_priv->chipset == 0x98 || dev_priv->chipset == 0xaa) + mpcnt = 1; + else if (dev_priv->chipset < 0xa0 || dev_priv->chipset >= 0xa8) + mpcnt = 2; + else + mpcnt = 3; + for (i = 0; i < mpcnt; i++) { + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x80); + xf_emit(ctx, 1, 0x80007004); + xf_emit(ctx, 1, 0x04000400); + if (dev_priv->chipset >= 0xa0) + xf_emit(ctx, 1, 0xc0); + xf_emit(ctx, 1, 0x1000); + xf_emit(ctx, 2, 0); + if (dev_priv->chipset == 0x86 || dev_priv->chipset == 0x98 || dev_priv->chipset >= 0xa8) { + xf_emit(ctx, 1, 0xe00); + xf_emit(ctx, 1, 0x1e00); + } + xf_emit(ctx, 1, 1); + xf_emit(ctx, 2, 0); + if (dev_priv->chipset == 0x50) + xf_emit(ctx, 2, 0x1000); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 1, 2); + if (dev_priv->chipset >= 0xaa) + xf_emit(ctx, 0xb, 0); + else if (dev_priv->chipset >= 0xa0) + xf_emit(ctx, 0xc, 0); + else + xf_emit(ctx, 0xa, 0); + } + xf_emit(ctx, 1, 0x08100c12); + xf_emit(ctx, 1, 0); + if (dev_priv->chipset >= 0xa0) { + xf_emit(ctx, 1, 0x1fe21); + } + xf_emit(ctx, 5, 0); + xf_emit(ctx, 4, 0xffff); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 2, 0x10001); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 0x1fe21); + xf_emit(ctx, 1, 0); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 1, 1); + xf_emit(ctx, 4, 0); + xf_emit(ctx, 1, 0x08100c12); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 2); + xf_emit(ctx, 1, 0x11); + xf_emit(ctx, 8, 0); + xf_emit(ctx, 1, 0xfac6881); + xf_emit(ctx, 1, 0); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) + xf_emit(ctx, 1, 3); + xf_emit(ctx, 3, 0); + xf_emit(ctx, 1, 4); + xf_emit(ctx, 9, 0); + xf_emit(ctx, 1, 2); + xf_emit(ctx, 2, 1); + xf_emit(ctx, 1, 2); + xf_emit(ctx, 3, 1); + xf_emit(ctx, 1, 0); + if (dev_priv->chipset > 0xa0 && dev_priv->chipset < 0xaa) { + xf_emit(ctx, 8, 2); + xf_emit(ctx, 0x10, 1); + xf_emit(ctx, 8, 2); + xf_emit(ctx, 0x18, 1); + xf_emit(ctx, 3, 0); + } + xf_emit(ctx, 1, 4); + if (dev_priv->chipset == 0x50) + xf_emit(ctx, 0x3a0, 0); + else if (dev_priv->chipset < 0x94) + xf_emit(ctx, 0x3a2, 0); + else if (dev_priv->chipset == 0x98 || dev_priv->chipset == 0xaa) + xf_emit(ctx, 0x39f, 0); + else + xf_emit(ctx, 0x3a3, 0); + xf_emit(ctx, 1, 0x11); + xf_emit(ctx, 1, 0); + xf_emit(ctx, 1, 1); + xf_emit(ctx, 0x2d, 0); +} + +static void +nv50_graph_construct_xfer2(struct nouveau_grctx *ctx) +{ + struct drm_nouveau_private *dev_priv = ctx->dev->dev_private; + int i; + uint32_t offset; + uint32_t units = nv_rd32 (ctx->dev, 0x1540); + int size = 0; + + offset = (ctx->ctxvals_pos+0x3f)&~0x3f; + + if (dev_priv->chipset < 0xa0) { + for (i = 0; i < 8; i++) { + ctx->ctxvals_pos = offset + i; + if (i == 0) + xf_emit(ctx, 1, 0x08100c12); + if (units & (1 << i)) + nv50_graph_construct_xfer_tp2(ctx); + if ((ctx->ctxvals_pos-offset)/8 > size) + size = (ctx->ctxvals_pos-offset)/8; + } + } else { + /* Strand 0: TPs 0, 1 */ + ctx->ctxvals_pos = offset; + xf_emit(ctx, 1, 0x08100c12); + if (units & (1 << 0)) + nv50_graph_construct_xfer_tp2(ctx); + if (units & (1 << 1)) + nv50_graph_construct_xfer_tp2(ctx); + if ((ctx->ctxvals_pos-offset)/8 > size) + size = (ctx->ctxvals_pos-offset)/8; + + /* Strand 0: TPs 2, 3 */ + ctx->ctxvals_pos = offset + 1; + if (units & (1 << 2)) + nv50_graph_construct_xfer_tp2(ctx); + if (units & (1 << 3)) + nv50_graph_construct_xfer_tp2(ctx); + if ((ctx->ctxvals_pos-offset)/8 > size) + size = (ctx->ctxvals_pos-offset)/8; + + /* Strand 0: TPs 4, 5, 6 */ + ctx->ctxvals_pos = offset + 2; + if (units & (1 << 4)) + nv50_graph_construct_xfer_tp2(ctx); + if (units & (1 << 5)) + nv50_graph_construct_xfer_tp2(ctx); + if (units & (1 << 6)) + nv50_graph_construct_xfer_tp2(ctx); + if ((ctx->ctxvals_pos-offset)/8 > size) + size = (ctx->ctxvals_pos-offset)/8; + + /* Strand 0: TPs 7, 8, 9 */ + ctx->ctxvals_pos = offset + 3; + if (units & (1 << 7)) + nv50_graph_construct_xfer_tp2(ctx); + if (units & (1 << 8)) + nv50_graph_construct_xfer_tp2(ctx); + if (units & (1 << 9)) + nv50_graph_construct_xfer_tp2(ctx); + if ((ctx->ctxvals_pos-offset)/8 > size) + size = (ctx->ctxvals_pos-offset)/8; + } + ctx->ctxvals_pos = offset + size * 8; + ctx->ctxvals_pos = (ctx->ctxvals_pos+0x3f)&~0x3f; + cp_lsr (ctx, offset); + cp_out (ctx, CP_SET_XFER_POINTER); + cp_lsr (ctx, size); + cp_out (ctx, CP_SEEK_2); + cp_out (ctx, CP_XFER_2); + cp_wait(ctx, XFER, BUSY); +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv50_instmem.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv50_instmem.c @@ -0,0 +1,531 @@ +/* + * Copyright (C) 2007 Ben Skeggs. + * + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" + +struct nv50_instmem_priv { + uint32_t save1700[5]; /* 0x1700->0x1710 */ + + struct nouveau_gpuobj_ref *pramin_pt; + struct nouveau_gpuobj_ref *pramin_bar; + struct nouveau_gpuobj_ref *fb_bar; + + bool last_access_wr; +}; + +#define NV50_INSTMEM_PAGE_SHIFT 12 +#define NV50_INSTMEM_PAGE_SIZE (1 << NV50_INSTMEM_PAGE_SHIFT) +#define NV50_INSTMEM_PT_SIZE(a) (((a) >> 12) << 3) + +/*NOTE: - Assumes 0x1700 already covers the correct MiB of PRAMIN + */ +#define BAR0_WI32(g, o, v) do { \ + uint32_t offset; \ + if ((g)->im_backing) { \ + offset = (g)->im_backing_start; \ + } else { \ + offset = chan->ramin->gpuobj->im_backing_start; \ + offset += (g)->im_pramin->start; \ + } \ + offset += (o); \ + nv_wr32(dev, NV_RAMIN + (offset & 0xfffff), (v)); \ +} while (0) + +int +nv50_instmem_init(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *chan; + uint32_t c_offset, c_size, c_ramfc, c_vmpd, c_base, pt_size; + struct nv50_instmem_priv *priv; + int ret, i; + uint32_t v, save_nv001700; + + priv = kzalloc(sizeof(*priv), GFP_KERNEL); + if (!priv) + return -ENOMEM; + dev_priv->engine.instmem.priv = priv; + + /* Save state, will restore at takedown. */ + for (i = 0x1700; i <= 0x1710; i += 4) + priv->save1700[(i-0x1700)/4] = nv_rd32(dev, i); + + if (dev_priv->chipset == 0xaa || dev_priv->chipset == 0xac) + dev_priv->vram_sys_base = nv_rd32(dev, 0x100e10) << 12; + else + dev_priv->vram_sys_base = 0; + + /* Reserve the last MiB of VRAM, we should probably try to avoid + * setting up the below tables over the top of the VBIOS image at + * some point. + */ + dev_priv->ramin_rsvd_vram = 1 << 20; + c_offset = nouveau_mem_fb_amount(dev) - dev_priv->ramin_rsvd_vram; + c_size = 128 << 10; + c_vmpd = ((dev_priv->chipset & 0xf0) == 0x50) ? 0x1400 : 0x200; + c_ramfc = ((dev_priv->chipset & 0xf0) == 0x50) ? 0x0 : 0x20; + c_base = c_vmpd + 0x4000; + pt_size = NV50_INSTMEM_PT_SIZE(dev_priv->ramin_size); + + NV_DEBUG(dev, " Rsvd VRAM base: 0x%08x\n", c_offset); + NV_DEBUG(dev, " VBIOS image: 0x%08x\n", + (nv_rd32(dev, 0x619f04) & ~0xff) << 8); + NV_DEBUG(dev, " Aperture size: %d MiB\n", dev_priv->ramin_size >> 20); + NV_DEBUG(dev, " PT size: %d KiB\n", pt_size >> 10); + + /* Determine VM layout, we need to do this first to make sure + * we allocate enough memory for all the page tables. + */ + dev_priv->vm_gart_base = roundup(NV50_VM_BLOCK, NV50_VM_BLOCK); + dev_priv->vm_gart_size = NV50_VM_BLOCK; + + dev_priv->vm_vram_base = dev_priv->vm_gart_base + dev_priv->vm_gart_size; + dev_priv->vm_vram_size = nouveau_mem_fb_amount(dev); + if (dev_priv->vm_vram_size > NV50_VM_MAX_VRAM) + dev_priv->vm_vram_size = NV50_VM_MAX_VRAM; + dev_priv->vm_vram_size = roundup(dev_priv->vm_vram_size, NV50_VM_BLOCK); + dev_priv->vm_vram_pt_nr = dev_priv->vm_vram_size / NV50_VM_BLOCK; + + dev_priv->vm_end = dev_priv->vm_vram_base + dev_priv->vm_vram_size; + + NV_DEBUG(dev, "NV50VM: GART 0x%016llx-0x%016llx\n", + dev_priv->vm_gart_base, + dev_priv->vm_gart_base + dev_priv->vm_gart_size - 1); + NV_DEBUG(dev, "NV50VM: VRAM 0x%016llx-0x%016llx\n", + dev_priv->vm_vram_base, + dev_priv->vm_vram_base + dev_priv->vm_vram_size - 1); + + c_size += dev_priv->vm_vram_pt_nr * (NV50_VM_BLOCK / 65536 * 8); + + /* Map BAR0 PRAMIN aperture over the memory we want to use */ + save_nv001700 = nv_rd32(dev, NV50_PUNK_BAR0_PRAMIN); + nv_wr32(dev, NV50_PUNK_BAR0_PRAMIN, (c_offset >> 16)); + + /* Create a fake channel, and use it as our "dummy" channels 0/127. + * The main reason for creating a channel is so we can use the gpuobj + * code. However, it's probably worth noting that NVIDIA also setup + * their channels 0/127 with the same values they configure here. + * So, there may be some other reason for doing this. + * + * Have to create the entire channel manually, as the real channel + * creation code assumes we have PRAMIN access, and we don't until + * we're done here. + */ + chan = kzalloc(sizeof(*chan), GFP_KERNEL); + if (!chan) + return -ENOMEM; + chan->id = 0; + chan->dev = dev; + chan->file_priv = (struct drm_file *)-2; + dev_priv->fifos[0] = dev_priv->fifos[127] = chan; + + /* Channel's PRAMIN object + heap */ + ret = nouveau_gpuobj_new_fake(dev, 0, c_offset, c_size, 0, + NULL, &chan->ramin); + if (ret) + return ret; + + if (nouveau_mem_init_heap(&chan->ramin_heap, c_base, c_size - c_base)) + return -ENOMEM; + + /* RAMFC + zero channel's PRAMIN up to start of VM pagedir */ + ret = nouveau_gpuobj_new_fake(dev, c_ramfc, c_offset + c_ramfc, + 0x4000, 0, NULL, &chan->ramfc); + if (ret) + return ret; + + for (i = 0; i < c_vmpd; i += 4) + BAR0_WI32(chan->ramin->gpuobj, i, 0); + + /* VM page directory */ + ret = nouveau_gpuobj_new_fake(dev, c_vmpd, c_offset + c_vmpd, + 0x4000, 0, &chan->vm_pd, NULL); + if (ret) + return ret; + for (i = 0; i < 0x4000; i += 8) { + BAR0_WI32(chan->vm_pd, i + 0x00, 0x00000000); + BAR0_WI32(chan->vm_pd, i + 0x04, 0x00000000); + } + + /* PRAMIN page table, cheat and map into VM at 0x0000000000. + * We map the entire fake channel into the start of the PRAMIN BAR + */ + ret = nouveau_gpuobj_new_ref(dev, chan, NULL, 0, pt_size, 0x1000, + 0, &priv->pramin_pt); + if (ret) + return ret; + + v = c_offset | 1; + if (dev_priv->vram_sys_base) { + v += dev_priv->vram_sys_base; + v |= 0x30; + } + + i = 0; + while (v < dev_priv->vram_sys_base + c_offset + c_size) { + BAR0_WI32(priv->pramin_pt->gpuobj, i + 0, v); + BAR0_WI32(priv->pramin_pt->gpuobj, i + 4, 0x00000000); + v += 0x1000; + i += 8; + } + + while (i < pt_size) { + BAR0_WI32(priv->pramin_pt->gpuobj, i + 0, 0x00000000); + BAR0_WI32(priv->pramin_pt->gpuobj, i + 4, 0x00000000); + i += 8; + } + + BAR0_WI32(chan->vm_pd, 0x00, priv->pramin_pt->instance | 0x63); + BAR0_WI32(chan->vm_pd, 0x04, 0x00000000); + + /* VRAM page table(s), mapped into VM at +1GiB */ + for (i = 0; i < dev_priv->vm_vram_pt_nr; i++) { + ret = nouveau_gpuobj_new_ref(dev, chan, NULL, 0, + NV50_VM_BLOCK/65536*8, 0, 0, + &chan->vm_vram_pt[i]); + if (ret) { + NV_ERROR(dev, "Error creating VRAM page tables: %d\n", + ret); + dev_priv->vm_vram_pt_nr = i; + return ret; + } + dev_priv->vm_vram_pt[i] = chan->vm_vram_pt[i]->gpuobj; + + for (v = 0; v < dev_priv->vm_vram_pt[i]->im_pramin->size; + v += 4) + BAR0_WI32(dev_priv->vm_vram_pt[i], v, 0); + + BAR0_WI32(chan->vm_pd, 0x10 + (i*8), + chan->vm_vram_pt[i]->instance | 0x61); + BAR0_WI32(chan->vm_pd, 0x14 + (i*8), 0); + } + + /* DMA object for PRAMIN BAR */ + ret = nouveau_gpuobj_new_ref(dev, chan, chan, 0, 6*4, 16, 0, + &priv->pramin_bar); + if (ret) + return ret; + BAR0_WI32(priv->pramin_bar->gpuobj, 0x00, 0x7fc00000); + BAR0_WI32(priv->pramin_bar->gpuobj, 0x04, dev_priv->ramin_size - 1); + BAR0_WI32(priv->pramin_bar->gpuobj, 0x08, 0x00000000); + BAR0_WI32(priv->pramin_bar->gpuobj, 0x0c, 0x00000000); + BAR0_WI32(priv->pramin_bar->gpuobj, 0x10, 0x00000000); + BAR0_WI32(priv->pramin_bar->gpuobj, 0x14, 0x00000000); + + /* DMA object for FB BAR */ + ret = nouveau_gpuobj_new_ref(dev, chan, chan, 0, 6*4, 16, 0, + &priv->fb_bar); + if (ret) + return ret; + BAR0_WI32(priv->fb_bar->gpuobj, 0x00, 0x7fc00000); + BAR0_WI32(priv->fb_bar->gpuobj, 0x04, 0x40000000 + + drm_get_resource_len(dev, 1) - 1); + BAR0_WI32(priv->fb_bar->gpuobj, 0x08, 0x40000000); + BAR0_WI32(priv->fb_bar->gpuobj, 0x0c, 0x00000000); + BAR0_WI32(priv->fb_bar->gpuobj, 0x10, 0x00000000); + BAR0_WI32(priv->fb_bar->gpuobj, 0x14, 0x00000000); + + /* Poke the relevant regs, and pray it works :) */ + nv_wr32(dev, NV50_PUNK_BAR_CFG_BASE, (chan->ramin->instance >> 12)); + nv_wr32(dev, NV50_PUNK_UNK1710, 0); + nv_wr32(dev, NV50_PUNK_BAR_CFG_BASE, (chan->ramin->instance >> 12) | + NV50_PUNK_BAR_CFG_BASE_VALID); + nv_wr32(dev, NV50_PUNK_BAR1_CTXDMA, (priv->fb_bar->instance >> 4) | + NV50_PUNK_BAR1_CTXDMA_VALID); + nv_wr32(dev, NV50_PUNK_BAR3_CTXDMA, (priv->pramin_bar->instance >> 4) | + NV50_PUNK_BAR3_CTXDMA_VALID); + + for (i = 0; i < 8; i++) + nv_wr32(dev, 0x1900 + (i*4), 0); + + /* Assume that praying isn't enough, check that we can re-read the + * entire fake channel back from the PRAMIN BAR */ + dev_priv->engine.instmem.prepare_access(dev, false); + for (i = 0; i < c_size; i += 4) { + if (nv_rd32(dev, NV_RAMIN + i) != nv_ri32(dev, i)) { + NV_ERROR(dev, "Error reading back PRAMIN at 0x%08x\n", + i); + dev_priv->engine.instmem.finish_access(dev); + return -EINVAL; + } + } + dev_priv->engine.instmem.finish_access(dev); + + nv_wr32(dev, NV50_PUNK_BAR0_PRAMIN, save_nv001700); + + /* Global PRAMIN heap */ + if (nouveau_mem_init_heap(&dev_priv->ramin_heap, + c_size, dev_priv->ramin_size - c_size)) { + dev_priv->ramin_heap = NULL; + NV_ERROR(dev, "Failed to init RAMIN heap\n"); + } + + /*XXX: incorrect, but needed to make hash func "work" */ + dev_priv->ramht_offset = 0x10000; + dev_priv->ramht_bits = 9; + dev_priv->ramht_size = (1 << dev_priv->ramht_bits); + return 0; +} + +void +nv50_instmem_takedown(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv50_instmem_priv *priv = dev_priv->engine.instmem.priv; + struct nouveau_channel *chan = dev_priv->fifos[0]; + int i; + + NV_DEBUG(dev, "\n"); + + if (!priv) + return; + + /* Restore state from before init */ + for (i = 0x1700; i <= 0x1710; i += 4) + nv_wr32(dev, i, priv->save1700[(i - 0x1700) / 4]); + + nouveau_gpuobj_ref_del(dev, &priv->fb_bar); + nouveau_gpuobj_ref_del(dev, &priv->pramin_bar); + nouveau_gpuobj_ref_del(dev, &priv->pramin_pt); + + /* Destroy dummy channel */ + if (chan) { + for (i = 0; i < dev_priv->vm_vram_pt_nr; i++) { + nouveau_gpuobj_ref_del(dev, &chan->vm_vram_pt[i]); + dev_priv->vm_vram_pt[i] = NULL; + } + dev_priv->vm_vram_pt_nr = 0; + + nouveau_gpuobj_del(dev, &chan->vm_pd); + nouveau_gpuobj_ref_del(dev, &chan->ramfc); + nouveau_gpuobj_ref_del(dev, &chan->ramin); + nouveau_mem_takedown(&chan->ramin_heap); + + dev_priv->fifos[0] = dev_priv->fifos[127] = NULL; + kfree(chan); + } + + dev_priv->engine.instmem.priv = NULL; + kfree(priv); +} + +int +nv50_instmem_suspend(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *chan = dev_priv->fifos[0]; + struct nouveau_gpuobj *ramin = chan->ramin->gpuobj; + int i; + + ramin->im_backing_suspend = vmalloc(ramin->im_pramin->size); + if (!ramin->im_backing_suspend) + return -ENOMEM; + + for (i = 0; i < ramin->im_pramin->size; i += 4) + ramin->im_backing_suspend[i/4] = nv_ri32(dev, i); + return 0; +} + +void +nv50_instmem_resume(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv50_instmem_priv *priv = dev_priv->engine.instmem.priv; + struct nouveau_channel *chan = dev_priv->fifos[0]; + struct nouveau_gpuobj *ramin = chan->ramin->gpuobj; + int i; + + nv_wr32(dev, NV50_PUNK_BAR0_PRAMIN, (ramin->im_backing_start >> 16)); + for (i = 0; i < ramin->im_pramin->size; i += 4) + BAR0_WI32(ramin, i, ramin->im_backing_suspend[i/4]); + vfree(ramin->im_backing_suspend); + ramin->im_backing_suspend = NULL; + + /* Poke the relevant regs, and pray it works :) */ + nv_wr32(dev, NV50_PUNK_BAR_CFG_BASE, (chan->ramin->instance >> 12)); + nv_wr32(dev, NV50_PUNK_UNK1710, 0); + nv_wr32(dev, NV50_PUNK_BAR_CFG_BASE, (chan->ramin->instance >> 12) | + NV50_PUNK_BAR_CFG_BASE_VALID); + nv_wr32(dev, NV50_PUNK_BAR1_CTXDMA, (priv->fb_bar->instance >> 4) | + NV50_PUNK_BAR1_CTXDMA_VALID); + nv_wr32(dev, NV50_PUNK_BAR3_CTXDMA, (priv->pramin_bar->instance >> 4) | + NV50_PUNK_BAR3_CTXDMA_VALID); + + for (i = 0; i < 8; i++) + nv_wr32(dev, 0x1900 + (i*4), 0); +} + +int +nv50_instmem_populate(struct drm_device *dev, struct nouveau_gpuobj *gpuobj, + uint32_t *sz) +{ + int ret; + + if (gpuobj->im_backing) + return -EINVAL; + + *sz = ALIGN(*sz, NV50_INSTMEM_PAGE_SIZE); + if (*sz == 0) + return -EINVAL; + + ret = nouveau_bo_new(dev, NULL, *sz, 0, TTM_PL_FLAG_VRAM, 0, 0x0000, + true, false, &gpuobj->im_backing); + if (ret) { + NV_ERROR(dev, "error getting PRAMIN backing pages: %d\n", ret); + return ret; + } + + ret = nouveau_bo_pin(gpuobj->im_backing, TTM_PL_FLAG_VRAM); + if (ret) { + NV_ERROR(dev, "error pinning PRAMIN backing VRAM: %d\n", ret); + nouveau_bo_ref(NULL, &gpuobj->im_backing); + return ret; + } + + gpuobj->im_backing_start = gpuobj->im_backing->bo.mem.mm_node->start; + gpuobj->im_backing_start <<= PAGE_SHIFT; + + return 0; +} + +void +nv50_instmem_clear(struct drm_device *dev, struct nouveau_gpuobj *gpuobj) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + if (gpuobj && gpuobj->im_backing) { + if (gpuobj->im_bound) + dev_priv->engine.instmem.unbind(dev, gpuobj); + nouveau_bo_unpin(gpuobj->im_backing); + nouveau_bo_ref(NULL, &gpuobj->im_backing); + gpuobj->im_backing = NULL; + } +} + +int +nv50_instmem_bind(struct drm_device *dev, struct nouveau_gpuobj *gpuobj) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv50_instmem_priv *priv = dev_priv->engine.instmem.priv; + struct nouveau_gpuobj *pramin_pt = priv->pramin_pt->gpuobj; + uint32_t pte, pte_end; + uint64_t vram; + + if (!gpuobj->im_backing || !gpuobj->im_pramin || gpuobj->im_bound) + return -EINVAL; + + NV_DEBUG(dev, "st=0x%0llx sz=0x%0llx\n", + gpuobj->im_pramin->start, gpuobj->im_pramin->size); + + pte = (gpuobj->im_pramin->start >> 12) << 1; + pte_end = ((gpuobj->im_pramin->size >> 12) << 1) + pte; + vram = gpuobj->im_backing_start; + + NV_DEBUG(dev, "pramin=0x%llx, pte=%d, pte_end=%d\n", + gpuobj->im_pramin->start, pte, pte_end); + NV_DEBUG(dev, "first vram page: 0x%08x\n", gpuobj->im_backing_start); + + vram |= 1; + if (dev_priv->vram_sys_base) { + vram += dev_priv->vram_sys_base; + vram |= 0x30; + } + + dev_priv->engine.instmem.prepare_access(dev, true); + while (pte < pte_end) { + nv_wo32(dev, pramin_pt, pte++, lower_32_bits(vram)); + nv_wo32(dev, pramin_pt, pte++, upper_32_bits(vram)); + vram += NV50_INSTMEM_PAGE_SIZE; + } + dev_priv->engine.instmem.finish_access(dev); + + nv_wr32(dev, 0x100c80, 0x00040001); + if (!nv_wait(0x100c80, 0x00000001, 0x00000000)) { + NV_ERROR(dev, "timeout: (0x100c80 & 1) == 0 (1)\n"); + NV_ERROR(dev, "0x100c80 = 0x%08x\n", nv_rd32(dev, 0x100c80)); + return -EBUSY; + } + + nv_wr32(dev, 0x100c80, 0x00060001); + if (!nv_wait(0x100c80, 0x00000001, 0x00000000)) { + NV_ERROR(dev, "timeout: (0x100c80 & 1) == 0 (2)\n"); + NV_ERROR(dev, "0x100c80 = 0x%08x\n", nv_rd32(dev, 0x100c80)); + return -EBUSY; + } + + gpuobj->im_bound = 1; + return 0; +} + +int +nv50_instmem_unbind(struct drm_device *dev, struct nouveau_gpuobj *gpuobj) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv50_instmem_priv *priv = dev_priv->engine.instmem.priv; + uint32_t pte, pte_end; + + if (gpuobj->im_bound == 0) + return -EINVAL; + + pte = (gpuobj->im_pramin->start >> 12) << 1; + pte_end = ((gpuobj->im_pramin->size >> 12) << 1) + pte; + + dev_priv->engine.instmem.prepare_access(dev, true); + while (pte < pte_end) { + nv_wo32(dev, priv->pramin_pt->gpuobj, pte++, 0x00000000); + nv_wo32(dev, priv->pramin_pt->gpuobj, pte++, 0x00000000); + } + dev_priv->engine.instmem.finish_access(dev); + + gpuobj->im_bound = 0; + return 0; +} + +void +nv50_instmem_prepare_access(struct drm_device *dev, bool write) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv50_instmem_priv *priv = dev_priv->engine.instmem.priv; + + priv->last_access_wr = write; +} + +void +nv50_instmem_finish_access(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nv50_instmem_priv *priv = dev_priv->engine.instmem.priv; + + if (priv->last_access_wr) { + nv_wr32(dev, 0x070000, 0x00000001); + if (!nv_wait(0x070000, 0x00000001, 0x00000000)) + NV_ERROR(dev, "PRAMIN flush timeout\n"); + } +} + --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv50_sor.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv50_sor.c @@ -0,0 +1,323 @@ +/* + * Copyright (C) 2008 Maarten Maathuis. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "drm_crtc_helper.h" + +#define NOUVEAU_DMA_DEBUG (nouveau_reg_debug & NOUVEAU_REG_DEBUG_EVO) +#include "nouveau_reg.h" +#include "nouveau_drv.h" +#include "nouveau_dma.h" +#include "nouveau_encoder.h" +#include "nouveau_connector.h" +#include "nouveau_crtc.h" +#include "nv50_display.h" + +static void +nv50_sor_disconnect(struct nouveau_encoder *nv_encoder) +{ + struct drm_device *dev = to_drm_encoder(nv_encoder)->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_channel *evo = dev_priv->evo; + int ret; + + NV_DEBUG_KMS(dev, "Disconnecting SOR %d\n", nv_encoder->or); + + ret = RING_SPACE(evo, 2); + if (ret) { + NV_ERROR(dev, "no space while disconnecting SOR\n"); + return; + } + BEGIN_RING(evo, 0, NV50_EVO_SOR(nv_encoder->or, MODE_CTRL), 1); + OUT_RING(evo, 0); +} + +static void +nv50_sor_dp_link_train(struct drm_encoder *encoder) +{ + struct drm_device *dev = encoder->dev; + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct bit_displayport_encoder_table *dpe; + int dpe_headerlen; + + dpe = nouveau_bios_dp_table(dev, nv_encoder->dcb, &dpe_headerlen); + if (!dpe) { + NV_ERROR(dev, "SOR-%d: no DP encoder table!\n", nv_encoder->or); + return; + } + + if (dpe->script0) { + NV_DEBUG_KMS(dev, "SOR-%d: running DP script 0\n", nv_encoder->or); + nouveau_bios_run_init_table(dev, le16_to_cpu(dpe->script0), + nv_encoder->dcb); + } + + if (!nouveau_dp_link_train(encoder)) + NV_ERROR(dev, "SOR-%d: link training failed\n", nv_encoder->or); + + if (dpe->script1) { + NV_DEBUG_KMS(dev, "SOR-%d: running DP script 1\n", nv_encoder->or); + nouveau_bios_run_init_table(dev, le16_to_cpu(dpe->script1), + nv_encoder->dcb); + } +} + +static void +nv50_sor_dpms(struct drm_encoder *encoder, int mode) +{ + struct drm_device *dev = encoder->dev; + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_encoder *enc; + uint32_t val; + int or = nv_encoder->or; + + NV_DEBUG_KMS(dev, "or %d mode %d\n", or, mode); + + nv_encoder->last_dpms = mode; + list_for_each_entry(enc, &dev->mode_config.encoder_list, head) { + struct nouveau_encoder *nvenc = nouveau_encoder(enc); + + if (nvenc == nv_encoder || + nvenc->disconnect != nv50_sor_disconnect || + nvenc->dcb->or != nv_encoder->dcb->or) + continue; + + if (nvenc->last_dpms == DRM_MODE_DPMS_ON) + return; + } + + /* wait for it to be done */ + if (!nv_wait(NV50_PDISPLAY_SOR_DPMS_CTRL(or), + NV50_PDISPLAY_SOR_DPMS_CTRL_PENDING, 0)) { + NV_ERROR(dev, "timeout: SOR_DPMS_CTRL_PENDING(%d) == 0\n", or); + NV_ERROR(dev, "SOR_DPMS_CTRL(%d) = 0x%08x\n", or, + nv_rd32(dev, NV50_PDISPLAY_SOR_DPMS_CTRL(or))); + } + + val = nv_rd32(dev, NV50_PDISPLAY_SOR_DPMS_CTRL(or)); + + if (mode == DRM_MODE_DPMS_ON) + val |= NV50_PDISPLAY_SOR_DPMS_CTRL_ON; + else + val &= ~NV50_PDISPLAY_SOR_DPMS_CTRL_ON; + + nv_wr32(dev, NV50_PDISPLAY_SOR_DPMS_CTRL(or), val | + NV50_PDISPLAY_SOR_DPMS_CTRL_PENDING); + if (!nv_wait(NV50_PDISPLAY_SOR_DPMS_STATE(or), + NV50_PDISPLAY_SOR_DPMS_STATE_WAIT, 0)) { + NV_ERROR(dev, "timeout: SOR_DPMS_STATE_WAIT(%d) == 0\n", or); + NV_ERROR(dev, "SOR_DPMS_STATE(%d) = 0x%08x\n", or, + nv_rd32(dev, NV50_PDISPLAY_SOR_DPMS_STATE(or))); + } + + if (nv_encoder->dcb->type == OUTPUT_DP && mode == DRM_MODE_DPMS_ON) + nv50_sor_dp_link_train(encoder); +} + +static void +nv50_sor_save(struct drm_encoder *encoder) +{ + NV_ERROR(encoder->dev, "!!\n"); +} + +static void +nv50_sor_restore(struct drm_encoder *encoder) +{ + NV_ERROR(encoder->dev, "!!\n"); +} + +static bool +nv50_sor_mode_fixup(struct drm_encoder *encoder, struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct nouveau_connector *connector; + + NV_DEBUG_KMS(encoder->dev, "or %d\n", nv_encoder->or); + + connector = nouveau_encoder_connector_get(nv_encoder); + if (!connector) { + NV_ERROR(encoder->dev, "Encoder has no connector\n"); + return false; + } + + if (connector->scaling_mode != DRM_MODE_SCALE_NONE && + connector->native_mode) { + int id = adjusted_mode->base.id; + *adjusted_mode = *connector->native_mode; + adjusted_mode->base.id = id; + } + + return true; +} + +static void +nv50_sor_prepare(struct drm_encoder *encoder) +{ +} + +static void +nv50_sor_commit(struct drm_encoder *encoder) +{ +} + +static void +nv50_sor_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct drm_nouveau_private *dev_priv = encoder->dev->dev_private; + struct nouveau_channel *evo = dev_priv->evo; + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_device *dev = encoder->dev; + struct nouveau_crtc *crtc = nouveau_crtc(encoder->crtc); + uint32_t mode_ctl = 0; + int ret; + + NV_DEBUG_KMS(dev, "or %d\n", nv_encoder->or); + + nv50_sor_dpms(encoder, DRM_MODE_DPMS_ON); + + switch (nv_encoder->dcb->type) { + case OUTPUT_TMDS: + if (nv_encoder->dcb->sorconf.link & 1) { + if (adjusted_mode->clock < 165000) + mode_ctl = 0x0100; + else + mode_ctl = 0x0500; + } else + mode_ctl = 0x0200; + break; + case OUTPUT_DP: + mode_ctl |= 0x00050000; + if (nv_encoder->dcb->sorconf.link & 1) + mode_ctl |= 0x00000800; + else + mode_ctl |= 0x00000900; + break; + default: + break; + } + + if (crtc->index == 1) + mode_ctl |= NV50_EVO_SOR_MODE_CTRL_CRTC1; + else + mode_ctl |= NV50_EVO_SOR_MODE_CTRL_CRTC0; + + if (adjusted_mode->flags & DRM_MODE_FLAG_NHSYNC) + mode_ctl |= NV50_EVO_SOR_MODE_CTRL_NHSYNC; + + if (adjusted_mode->flags & DRM_MODE_FLAG_NVSYNC) + mode_ctl |= NV50_EVO_SOR_MODE_CTRL_NVSYNC; + + ret = RING_SPACE(evo, 2); + if (ret) { + NV_ERROR(dev, "no space while connecting SOR\n"); + return; + } + BEGIN_RING(evo, 0, NV50_EVO_SOR(nv_encoder->or, MODE_CTRL), 1); + OUT_RING(evo, mode_ctl); +} + +static const struct drm_encoder_helper_funcs nv50_sor_helper_funcs = { + .dpms = nv50_sor_dpms, + .save = nv50_sor_save, + .restore = nv50_sor_restore, + .mode_fixup = nv50_sor_mode_fixup, + .prepare = nv50_sor_prepare, + .commit = nv50_sor_commit, + .mode_set = nv50_sor_mode_set, + .detect = NULL +}; + +static void +nv50_sor_destroy(struct drm_encoder *encoder) +{ + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + + if (!encoder) + return; + + NV_DEBUG_KMS(encoder->dev, "\n"); + + drm_encoder_cleanup(encoder); + + kfree(nv_encoder); +} + +static const struct drm_encoder_funcs nv50_sor_encoder_funcs = { + .destroy = nv50_sor_destroy, +}; + +int +nv50_sor_create(struct drm_device *dev, struct dcb_entry *entry) +{ + struct nouveau_encoder *nv_encoder = NULL; + struct drm_encoder *encoder; + bool dum; + int type; + + NV_DEBUG_KMS(dev, "\n"); + + switch (entry->type) { + case OUTPUT_TMDS: + NV_INFO(dev, "Detected a TMDS output\n"); + type = DRM_MODE_ENCODER_TMDS; + break; + case OUTPUT_LVDS: + NV_INFO(dev, "Detected a LVDS output\n"); + type = DRM_MODE_ENCODER_LVDS; + + if (nouveau_bios_parse_lvds_table(dev, 0, &dum, &dum)) { + NV_ERROR(dev, "Failed parsing LVDS table\n"); + return -EINVAL; + } + break; + case OUTPUT_DP: + NV_INFO(dev, "Detected a DP output\n"); + type = DRM_MODE_ENCODER_TMDS; + break; + default: + return -EINVAL; + } + + nv_encoder = kzalloc(sizeof(*nv_encoder), GFP_KERNEL); + if (!nv_encoder) + return -ENOMEM; + encoder = to_drm_encoder(nv_encoder); + + nv_encoder->dcb = entry; + nv_encoder->or = ffs(entry->or) - 1; + + nv_encoder->disconnect = nv50_sor_disconnect; + + drm_encoder_init(dev, encoder, &nv50_sor_encoder_funcs, type); + drm_encoder_helper_add(encoder, &nv50_sor_helper_funcs); + + encoder->possible_crtcs = entry->heads; + encoder->possible_clones = 0; + + return 0; +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nv50_mc.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nv50_mc.c @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2007 Ben Skeggs. + * 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "drmP.h" +#include "drm.h" +#include "nouveau_drv.h" + +int +nv50_mc_init(struct drm_device *dev) +{ + nv_wr32(dev, NV03_PMC_ENABLE, 0xFFFFFFFF); + return 0; +} + +void nv50_mc_takedown(struct drm_device *dev) +{ +} --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nvreg.h +++ linux-2.6.32/drivers/gpu/drm/nouveau/nvreg.h @@ -0,0 +1,535 @@ +/* $XConsortium: nvreg.h /main/2 1996/10/28 05:13:41 kaleb $ */ +/* + * Copyright 1996-1997 David J. McKay + * + * 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 + * DAVID J. MCKAY 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. + */ + +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nvreg.h,v 1.6 2002/01/25 21:56:06 tsi Exp $ */ + +#ifndef __NVREG_H_ +#define __NVREG_H_ + +#define NV_PMC_OFFSET 0x00000000 +#define NV_PMC_SIZE 0x00001000 + +#define NV_PBUS_OFFSET 0x00001000 +#define NV_PBUS_SIZE 0x00001000 + +#define NV_PFIFO_OFFSET 0x00002000 +#define NV_PFIFO_SIZE 0x00002000 + +#define NV_HDIAG_OFFSET 0x00005000 +#define NV_HDIAG_SIZE 0x00001000 + +#define NV_PRAM_OFFSET 0x00006000 +#define NV_PRAM_SIZE 0x00001000 + +#define NV_PVIDEO_OFFSET 0x00008000 +#define NV_PVIDEO_SIZE 0x00001000 + +#define NV_PTIMER_OFFSET 0x00009000 +#define NV_PTIMER_SIZE 0x00001000 + +#define NV_PPM_OFFSET 0x0000A000 +#define NV_PPM_SIZE 0x00001000 + +#define NV_PTV_OFFSET 0x0000D000 +#define NV_PTV_SIZE 0x00001000 + +#define NV_PRMVGA_OFFSET 0x000A0000 +#define NV_PRMVGA_SIZE 0x00020000 + +#define NV_PRMVIO0_OFFSET 0x000C0000 +#define NV_PRMVIO_SIZE 0x00002000 +#define NV_PRMVIO1_OFFSET 0x000C2000 + +#define NV_PFB_OFFSET 0x00100000 +#define NV_PFB_SIZE 0x00001000 + +#define NV_PEXTDEV_OFFSET 0x00101000 +#define NV_PEXTDEV_SIZE 0x00001000 + +#define NV_PME_OFFSET 0x00200000 +#define NV_PME_SIZE 0x00001000 + +#define NV_PROM_OFFSET 0x00300000 +#define NV_PROM_SIZE 0x00010000 + +#define NV_PGRAPH_OFFSET 0x00400000 +#define NV_PGRAPH_SIZE 0x00010000 + +#define NV_PCRTC0_OFFSET 0x00600000 +#define NV_PCRTC0_SIZE 0x00002000 /* empirical */ + +#define NV_PRMCIO0_OFFSET 0x00601000 +#define NV_PRMCIO_SIZE 0x00002000 +#define NV_PRMCIO1_OFFSET 0x00603000 + +#define NV50_DISPLAY_OFFSET 0x00610000 +#define NV50_DISPLAY_SIZE 0x0000FFFF + +#define NV_PRAMDAC0_OFFSET 0x00680000 +#define NV_PRAMDAC0_SIZE 0x00002000 + +#define NV_PRMDIO0_OFFSET 0x00681000 +#define NV_PRMDIO_SIZE 0x00002000 +#define NV_PRMDIO1_OFFSET 0x00683000 + +#define NV_PRAMIN_OFFSET 0x00700000 +#define NV_PRAMIN_SIZE 0x00100000 + +#define NV_FIFO_OFFSET 0x00800000 +#define NV_FIFO_SIZE 0x00800000 + +#define NV_PMC_BOOT_0 0x00000000 +#define NV_PMC_ENABLE 0x00000200 + +#define NV_VIO_VSE2 0x000003c3 +#define NV_VIO_SRX 0x000003c4 + +#define NV_CIO_CRX__COLOR 0x000003d4 +#define NV_CIO_CR__COLOR 0x000003d5 + +#define NV_PBUS_DEBUG_1 0x00001084 +#define NV_PBUS_DEBUG_4 0x00001098 +#define NV_PBUS_DEBUG_DUALHEAD_CTL 0x000010f0 +#define NV_PBUS_POWERCTRL_1 0x00001584 +#define NV_PBUS_POWERCTRL_2 0x00001588 +#define NV_PBUS_POWERCTRL_4 0x00001590 +#define NV_PBUS_PCI_NV_19 0x0000184C +#define NV_PBUS_PCI_NV_20 0x00001850 +# define NV_PBUS_PCI_NV_20_ROM_SHADOW_DISABLED (0 << 0) +# define NV_PBUS_PCI_NV_20_ROM_SHADOW_ENABLED (1 << 0) + +#define NV_PFIFO_RAMHT 0x00002210 + +#define NV_PTV_TV_INDEX 0x0000d220 +#define NV_PTV_TV_DATA 0x0000d224 +#define NV_PTV_HFILTER 0x0000d310 +#define NV_PTV_HFILTER2 0x0000d390 +#define NV_PTV_VFILTER 0x0000d510 + +#define NV_PRMVIO_MISC__WRITE 0x000c03c2 +#define NV_PRMVIO_SRX 0x000c03c4 +#define NV_PRMVIO_SR 0x000c03c5 +# define NV_VIO_SR_RESET_INDEX 0x00 +# define NV_VIO_SR_CLOCK_INDEX 0x01 +# define NV_VIO_SR_PLANE_MASK_INDEX 0x02 +# define NV_VIO_SR_CHAR_MAP_INDEX 0x03 +# define NV_VIO_SR_MEM_MODE_INDEX 0x04 +#define NV_PRMVIO_MISC__READ 0x000c03cc +#define NV_PRMVIO_GRX 0x000c03ce +#define NV_PRMVIO_GX 0x000c03cf +# define NV_VIO_GX_SR_INDEX 0x00 +# define NV_VIO_GX_SREN_INDEX 0x01 +# define NV_VIO_GX_CCOMP_INDEX 0x02 +# define NV_VIO_GX_ROP_INDEX 0x03 +# define NV_VIO_GX_READ_MAP_INDEX 0x04 +# define NV_VIO_GX_MODE_INDEX 0x05 +# define NV_VIO_GX_MISC_INDEX 0x06 +# define NV_VIO_GX_DONT_CARE_INDEX 0x07 +# define NV_VIO_GX_BIT_MASK_INDEX 0x08 + +#define NV_PFB_BOOT_0 0x00100000 +#define NV_PFB_CFG0 0x00100200 +#define NV_PFB_CFG1 0x00100204 +#define NV_PFB_CSTATUS 0x0010020C +#define NV_PFB_REFCTRL 0x00100210 +# define NV_PFB_REFCTRL_VALID_1 (1 << 31) +#define NV_PFB_PAD 0x0010021C +# define NV_PFB_PAD_CKE_NORMAL (1 << 0) +#define NV_PFB_TILE_NV10 0x00100240 +#define NV_PFB_TILE_SIZE_NV10 0x00100244 +#define NV_PFB_REF 0x001002D0 +# define NV_PFB_REF_CMD_REFRESH (1 << 0) +#define NV_PFB_PRE 0x001002D4 +# define NV_PFB_PRE_CMD_PRECHARGE (1 << 0) +#define NV_PFB_CLOSE_PAGE2 0x0010033C +#define NV_PFB_TILE_NV40 0x00100600 +#define NV_PFB_TILE_SIZE_NV40 0x00100604 + +#define NV_PEXTDEV_BOOT_0 0x00101000 +# define NV_PEXTDEV_BOOT_0_STRAP_FP_IFACE_12BIT (8 << 12) +#define NV_PEXTDEV_BOOT_3 0x0010100c + +#define NV_PCRTC_INTR_0 0x00600100 +# define NV_PCRTC_INTR_0_VBLANK (1 << 0) +#define NV_PCRTC_INTR_EN_0 0x00600140 +#define NV_PCRTC_START 0x00600800 +#define NV_PCRTC_CONFIG 0x00600804 +# define NV_PCRTC_CONFIG_START_ADDRESS_NON_VGA (1 << 0) +# define NV_PCRTC_CONFIG_START_ADDRESS_HSYNC (2 << 0) +#define NV_PCRTC_CURSOR_CONFIG 0x00600810 +# define NV_PCRTC_CURSOR_CONFIG_ENABLE_ENABLE (1 << 0) +# define NV_PCRTC_CURSOR_CONFIG_DOUBLE_SCAN_ENABLE (1 << 4) +# define NV_PCRTC_CURSOR_CONFIG_ADDRESS_SPACE_PNVM (1 << 8) +# define NV_PCRTC_CURSOR_CONFIG_CUR_BPP_32 (1 << 12) +# define NV_PCRTC_CURSOR_CONFIG_CUR_PIXELS_64 (1 << 16) +# define NV_PCRTC_CURSOR_CONFIG_CUR_LINES_32 (2 << 24) +# define NV_PCRTC_CURSOR_CONFIG_CUR_LINES_64 (4 << 24) +# define NV_PCRTC_CURSOR_CONFIG_CUR_BLEND_ALPHA (1 << 28) + +/* note: PCRTC_GPIO is not available on nv10, and in fact aliases 0x600810 */ +#define NV_PCRTC_GPIO 0x00600818 +#define NV_PCRTC_GPIO_EXT 0x0060081c +#define NV_PCRTC_830 0x00600830 +#define NV_PCRTC_834 0x00600834 +#define NV_PCRTC_850 0x00600850 +#define NV_PCRTC_ENGINE_CTRL 0x00600860 +# define NV_CRTC_FSEL_I2C (1 << 4) +# define NV_CRTC_FSEL_OVERLAY (1 << 12) + +#define NV_PRMCIO_ARX 0x006013c0 +#define NV_PRMCIO_AR__WRITE 0x006013c0 +#define NV_PRMCIO_AR__READ 0x006013c1 +# define NV_CIO_AR_MODE_INDEX 0x10 +# define NV_CIO_AR_OSCAN_INDEX 0x11 +# define NV_CIO_AR_PLANE_INDEX 0x12 +# define NV_CIO_AR_HPP_INDEX 0x13 +# define NV_CIO_AR_CSEL_INDEX 0x14 +#define NV_PRMCIO_INP0 0x006013c2 +#define NV_PRMCIO_CRX__COLOR 0x006013d4 +#define NV_PRMCIO_CR__COLOR 0x006013d5 + /* Standard VGA CRTC registers */ +# define NV_CIO_CR_HDT_INDEX 0x00 /* horizontal display total */ +# define NV_CIO_CR_HDE_INDEX 0x01 /* horizontal display end */ +# define NV_CIO_CR_HBS_INDEX 0x02 /* horizontal blanking start */ +# define NV_CIO_CR_HBE_INDEX 0x03 /* horizontal blanking end */ +# define NV_CIO_CR_HBE_4_0 4:0 +# define NV_CIO_CR_HRS_INDEX 0x04 /* horizontal retrace start */ +# define NV_CIO_CR_HRE_INDEX 0x05 /* horizontal retrace end */ +# define NV_CIO_CR_HRE_4_0 4:0 +# define NV_CIO_CR_HRE_HBE_5 7:7 +# define NV_CIO_CR_VDT_INDEX 0x06 /* vertical display total */ +# define NV_CIO_CR_OVL_INDEX 0x07 /* overflow bits */ +# define NV_CIO_CR_OVL_VDT_8 0:0 +# define NV_CIO_CR_OVL_VDE_8 1:1 +# define NV_CIO_CR_OVL_VRS_8 2:2 +# define NV_CIO_CR_OVL_VBS_8 3:3 +# define NV_CIO_CR_OVL_VDT_9 5:5 +# define NV_CIO_CR_OVL_VDE_9 6:6 +# define NV_CIO_CR_OVL_VRS_9 7:7 +# define NV_CIO_CR_RSAL_INDEX 0x08 /* normally "preset row scan" */ +# define NV_CIO_CR_CELL_HT_INDEX 0x09 /* cell height?! normally "max scan line" */ +# define NV_CIO_CR_CELL_HT_VBS_9 5:5 +# define NV_CIO_CR_CELL_HT_SCANDBL 7:7 +# define NV_CIO_CR_CURS_ST_INDEX 0x0a /* cursor start */ +# define NV_CIO_CR_CURS_END_INDEX 0x0b /* cursor end */ +# define NV_CIO_CR_SA_HI_INDEX 0x0c /* screen start address high */ +# define NV_CIO_CR_SA_LO_INDEX 0x0d /* screen start address low */ +# define NV_CIO_CR_TCOFF_HI_INDEX 0x0e /* cursor offset high */ +# define NV_CIO_CR_TCOFF_LO_INDEX 0x0f /* cursor offset low */ +# define NV_CIO_CR_VRS_INDEX 0x10 /* vertical retrace start */ +# define NV_CIO_CR_VRE_INDEX 0x11 /* vertical retrace end */ +# define NV_CIO_CR_VRE_3_0 3:0 +# define NV_CIO_CR_VDE_INDEX 0x12 /* vertical display end */ +# define NV_CIO_CR_OFFSET_INDEX 0x13 /* sets screen pitch */ +# define NV_CIO_CR_ULINE_INDEX 0x14 /* underline location */ +# define NV_CIO_CR_VBS_INDEX 0x15 /* vertical blank start */ +# define NV_CIO_CR_VBE_INDEX 0x16 /* vertical blank end */ +# define NV_CIO_CR_MODE_INDEX 0x17 /* crtc mode control */ +# define NV_CIO_CR_LCOMP_INDEX 0x18 /* line compare */ + /* Extended VGA CRTC registers */ +# define NV_CIO_CRE_RPC0_INDEX 0x19 /* repaint control 0 */ +# define NV_CIO_CRE_RPC0_OFFSET_10_8 7:5 +# define NV_CIO_CRE_RPC1_INDEX 0x1a /* repaint control 1 */ +# define NV_CIO_CRE_RPC1_LARGE 2:2 +# define NV_CIO_CRE_FF_INDEX 0x1b /* fifo control */ +# define NV_CIO_CRE_ENH_INDEX 0x1c /* enhanced? */ +# define NV_CIO_SR_LOCK_INDEX 0x1f /* crtc lock */ +# define NV_CIO_SR_UNLOCK_RW_VALUE 0x57 +# define NV_CIO_SR_LOCK_VALUE 0x99 +# define NV_CIO_CRE_FFLWM__INDEX 0x20 /* fifo low water mark */ +# define NV_CIO_CRE_21 0x21 /* vga shadow crtc lock */ +# define NV_CIO_CRE_LSR_INDEX 0x25 /* ? */ +# define NV_CIO_CRE_LSR_VDT_10 0:0 +# define NV_CIO_CRE_LSR_VDE_10 1:1 +# define NV_CIO_CRE_LSR_VRS_10 2:2 +# define NV_CIO_CRE_LSR_VBS_10 3:3 +# define NV_CIO_CRE_LSR_HBE_6 4:4 +# define NV_CIO_CR_ARX_INDEX 0x26 /* attribute index -- ro copy of 0x60.3c0 */ +# define NV_CIO_CRE_CHIP_ID_INDEX 0x27 /* chip revision */ +# define NV_CIO_CRE_PIXEL_INDEX 0x28 +# define NV_CIO_CRE_PIXEL_FORMAT 1:0 +# define NV_CIO_CRE_HEB__INDEX 0x2d /* horizontal extra bits? */ +# define NV_CIO_CRE_HEB_HDT_8 0:0 +# define NV_CIO_CRE_HEB_HDE_8 1:1 +# define NV_CIO_CRE_HEB_HBS_8 2:2 +# define NV_CIO_CRE_HEB_HRS_8 3:3 +# define NV_CIO_CRE_HEB_ILC_8 4:4 +# define NV_CIO_CRE_2E 0x2e /* some scratch or dummy reg to force writes to sink in */ +# define NV_CIO_CRE_HCUR_ADDR2_INDEX 0x2f /* cursor */ +# define NV_CIO_CRE_HCUR_ADDR0_INDEX 0x30 /* pixmap */ +# define NV_CIO_CRE_HCUR_ADDR0_ADR 6:0 +# define NV_CIO_CRE_HCUR_ASI 7:7 +# define NV_CIO_CRE_HCUR_ADDR1_INDEX 0x31 /* address */ +# define NV_CIO_CRE_HCUR_ADDR1_ENABLE 0:0 +# define NV_CIO_CRE_HCUR_ADDR1_CUR_DBL 1:1 +# define NV_CIO_CRE_HCUR_ADDR1_ADR 7:2 +# define NV_CIO_CRE_LCD__INDEX 0x33 +# define NV_CIO_CRE_LCD_LCD_SELECT 0:0 +# define NV_CIO_CRE_DDC0_STATUS__INDEX 0x36 +# define NV_CIO_CRE_DDC0_WR__INDEX 0x37 +# define NV_CIO_CRE_ILACE__INDEX 0x39 /* interlace */ +# define NV_CIO_CRE_SCRATCH3__INDEX 0x3b +# define NV_CIO_CRE_SCRATCH4__INDEX 0x3c +# define NV_CIO_CRE_DDC_STATUS__INDEX 0x3e +# define NV_CIO_CRE_DDC_WR__INDEX 0x3f +# define NV_CIO_CRE_EBR_INDEX 0x41 /* extra bits ? (vertical) */ +# define NV_CIO_CRE_EBR_VDT_11 0:0 +# define NV_CIO_CRE_EBR_VDE_11 2:2 +# define NV_CIO_CRE_EBR_VRS_11 4:4 +# define NV_CIO_CRE_EBR_VBS_11 6:6 +# define NV_CIO_CRE_43 0x43 +# define NV_CIO_CRE_44 0x44 /* head control */ +# define NV_CIO_CRE_CSB 0x45 /* colour saturation boost */ +# define NV_CIO_CRE_RCR 0x46 +# define NV_CIO_CRE_RCR_ENDIAN_BIG 7:7 +# define NV_CIO_CRE_47 0x47 /* extended fifo lwm, used on nv30+ */ +# define NV_CIO_CRE_49 0x49 +# define NV_CIO_CRE_4B 0x4b /* given patterns in 0x[2-3][a-c] regs, probably scratch 6 */ +# define NV_CIO_CRE_TVOUT_LATENCY 0x52 +# define NV_CIO_CRE_53 0x53 /* `fp_htiming' according to Haiku */ +# define NV_CIO_CRE_54 0x54 /* `fp_vtiming' according to Haiku */ +# define NV_CIO_CRE_57 0x57 /* index reg for cr58 */ +# define NV_CIO_CRE_58 0x58 /* data reg for cr57 */ +# define NV_CIO_CRE_59 0x59 /* related to on/off-chip-ness of digital outputs */ +# define NV_CIO_CRE_5B 0x5B /* newer colour saturation reg */ +# define NV_CIO_CRE_85 0x85 +# define NV_CIO_CRE_86 0x86 +#define NV_PRMCIO_INP0__COLOR 0x006013da + +#define NV_PRAMDAC_CU_START_POS 0x00680300 +# define NV_PRAMDAC_CU_START_POS_X 15:0 +# define NV_PRAMDAC_CU_START_POS_Y 31:16 +#define NV_RAMDAC_NV10_CURSYNC 0x00680404 + +#define NV_PRAMDAC_NVPLL_COEFF 0x00680500 +#define NV_PRAMDAC_MPLL_COEFF 0x00680504 +#define NV_PRAMDAC_VPLL_COEFF 0x00680508 +# define NV30_RAMDAC_ENABLE_VCO2 (8 << 4) + +#define NV_PRAMDAC_PLL_COEFF_SELECT 0x0068050c +# define NV_PRAMDAC_PLL_COEFF_SELECT_USE_VPLL2_TRUE (4 << 0) +# define NV_PRAMDAC_PLL_COEFF_SELECT_SOURCE_PROG_MPLL (1 << 8) +# define NV_PRAMDAC_PLL_COEFF_SELECT_SOURCE_PROG_VPLL (2 << 8) +# define NV_PRAMDAC_PLL_COEFF_SELECT_SOURCE_PROG_NVPLL (4 << 8) +# define NV_PRAMDAC_PLL_COEFF_SELECT_PLL_SOURCE_VPLL2 (8 << 8) +# define NV_PRAMDAC_PLL_COEFF_SELECT_TV_VSCLK1 (1 << 16) +# define NV_PRAMDAC_PLL_COEFF_SELECT_TV_PCLK1 (2 << 16) +# define NV_PRAMDAC_PLL_COEFF_SELECT_TV_VSCLK2 (4 << 16) +# define NV_PRAMDAC_PLL_COEFF_SELECT_TV_PCLK2 (8 << 16) +# define NV_PRAMDAC_PLL_COEFF_SELECT_TV_CLK_SOURCE_VIP (1 << 20) +# define NV_PRAMDAC_PLL_COEFF_SELECT_VCLK_RATIO_DB2 (1 << 28) +# define NV_PRAMDAC_PLL_COEFF_SELECT_VCLK2_RATIO_DB2 (2 << 28) + +#define NV_PRAMDAC_PLL_SETUP_CONTROL 0x00680510 +#define NV_RAMDAC_VPLL2 0x00680520 +#define NV_PRAMDAC_SEL_CLK 0x00680524 +#define NV_RAMDAC_DITHER_NV11 0x00680528 +#define NV_PRAMDAC_DACCLK 0x0068052c +# define NV_PRAMDAC_DACCLK_SEL_DACCLK (1 << 0) + +#define NV_RAMDAC_NVPLL_B 0x00680570 +#define NV_RAMDAC_MPLL_B 0x00680574 +#define NV_RAMDAC_VPLL_B 0x00680578 +#define NV_RAMDAC_VPLL2_B 0x0068057c +# define NV31_RAMDAC_ENABLE_VCO2 (8 << 28) +#define NV_PRAMDAC_580 0x00680580 +# define NV_RAMDAC_580_VPLL1_ACTIVE (1 << 8) +# define NV_RAMDAC_580_VPLL2_ACTIVE (1 << 28) + +#define NV_PRAMDAC_GENERAL_CONTROL 0x00680600 +# define NV_PRAMDAC_GENERAL_CONTROL_PIXMIX_ON (3 << 4) +# define NV_PRAMDAC_GENERAL_CONTROL_VGA_STATE_SEL (1 << 8) +# define NV_PRAMDAC_GENERAL_CONTROL_ALT_MODE_SEL (1 << 12) +# define NV_PRAMDAC_GENERAL_CONTROL_TERMINATION_75OHM (2 << 16) +# define NV_PRAMDAC_GENERAL_CONTROL_BPC_8BITS (1 << 20) +# define NV_PRAMDAC_GENERAL_CONTROL_PIPE_LONG (2 << 28) +#define NV_PRAMDAC_TEST_CONTROL 0x00680608 +# define NV_PRAMDAC_TEST_CONTROL_TP_INS_EN_ASSERTED (1 << 12) +# define NV_PRAMDAC_TEST_CONTROL_PWRDWN_DAC_OFF (1 << 16) +# define NV_PRAMDAC_TEST_CONTROL_SENSEB_ALLHI (1 << 28) +#define NV_PRAMDAC_TESTPOINT_DATA 0x00680610 +# define NV_PRAMDAC_TESTPOINT_DATA_NOTBLANK (8 << 28) +#define NV_PRAMDAC_630 0x00680630 +#define NV_PRAMDAC_634 0x00680634 + +#define NV_PRAMDAC_TV_SETUP 0x00680700 +#define NV_PRAMDAC_TV_VTOTAL 0x00680720 +#define NV_PRAMDAC_TV_VSKEW 0x00680724 +#define NV_PRAMDAC_TV_VSYNC_DELAY 0x00680728 +#define NV_PRAMDAC_TV_HTOTAL 0x0068072c +#define NV_PRAMDAC_TV_HSKEW 0x00680730 +#define NV_PRAMDAC_TV_HSYNC_DELAY 0x00680734 +#define NV_PRAMDAC_TV_HSYNC_DELAY2 0x00680738 + +#define NV_PRAMDAC_TV_SETUP 0x00680700 + +#define NV_PRAMDAC_FP_VDISPLAY_END 0x00680800 +#define NV_PRAMDAC_FP_VTOTAL 0x00680804 +#define NV_PRAMDAC_FP_VCRTC 0x00680808 +#define NV_PRAMDAC_FP_VSYNC_START 0x0068080c +#define NV_PRAMDAC_FP_VSYNC_END 0x00680810 +#define NV_PRAMDAC_FP_VVALID_START 0x00680814 +#define NV_PRAMDAC_FP_VVALID_END 0x00680818 +#define NV_PRAMDAC_FP_HDISPLAY_END 0x00680820 +#define NV_PRAMDAC_FP_HTOTAL 0x00680824 +#define NV_PRAMDAC_FP_HCRTC 0x00680828 +#define NV_PRAMDAC_FP_HSYNC_START 0x0068082c +#define NV_PRAMDAC_FP_HSYNC_END 0x00680830 +#define NV_PRAMDAC_FP_HVALID_START 0x00680834 +#define NV_PRAMDAC_FP_HVALID_END 0x00680838 + +#define NV_RAMDAC_FP_DITHER 0x0068083c +#define NV_PRAMDAC_FP_TG_CONTROL 0x00680848 +# define NV_PRAMDAC_FP_TG_CONTROL_VSYNC_POS (1 << 0) +# define NV_PRAMDAC_FP_TG_CONTROL_VSYNC_DISABLE (2 << 0) +# define NV_PRAMDAC_FP_TG_CONTROL_HSYNC_POS (1 << 4) +# define NV_PRAMDAC_FP_TG_CONTROL_HSYNC_DISABLE (2 << 4) +# define NV_PRAMDAC_FP_TG_CONTROL_MODE_SCALE (0 << 8) +# define NV_PRAMDAC_FP_TG_CONTROL_MODE_CENTER (1 << 8) +# define NV_PRAMDAC_FP_TG_CONTROL_MODE_NATIVE (2 << 8) +# define NV_PRAMDAC_FP_TG_CONTROL_READ_PROG (1 << 20) +# define NV_PRAMDAC_FP_TG_CONTROL_WIDTH_12 (1 << 24) +# define NV_PRAMDAC_FP_TG_CONTROL_DISPEN_POS (1 << 28) +# define NV_PRAMDAC_FP_TG_CONTROL_DISPEN_DISABLE (2 << 28) +#define NV_PRAMDAC_FP_MARGIN_COLOR 0x0068084c +#define NV_PRAMDAC_850 0x00680850 +#define NV_PRAMDAC_85C 0x0068085c +#define NV_PRAMDAC_FP_DEBUG_0 0x00680880 +# define NV_PRAMDAC_FP_DEBUG_0_XSCALE_ENABLE (1 << 0) +# define NV_PRAMDAC_FP_DEBUG_0_YSCALE_ENABLE (1 << 4) +/* This doesn't seem to be essential for tmds, but still often set */ +# define NV_RAMDAC_FP_DEBUG_0_TMDS_ENABLED (8 << 4) +# define NV_PRAMDAC_FP_DEBUG_0_XINTERP_BILINEAR (1 << 8) +# define NV_PRAMDAC_FP_DEBUG_0_YINTERP_BILINEAR (1 << 12) +# define NV_PRAMDAC_FP_DEBUG_0_XWEIGHT_ROUND (1 << 20) +# define NV_PRAMDAC_FP_DEBUG_0_YWEIGHT_ROUND (1 << 24) +# define NV_PRAMDAC_FP_DEBUG_0_PWRDOWN_FPCLK (1 << 28) +#define NV_PRAMDAC_FP_DEBUG_1 0x00680884 +# define NV_PRAMDAC_FP_DEBUG_1_XSCALE_VALUE 11:0 +# define NV_PRAMDAC_FP_DEBUG_1_XSCALE_TESTMODE_ENABLE (1 << 12) +# define NV_PRAMDAC_FP_DEBUG_1_YSCALE_VALUE 27:16 +# define NV_PRAMDAC_FP_DEBUG_1_YSCALE_TESTMODE_ENABLE (1 << 28) +#define NV_PRAMDAC_FP_DEBUG_2 0x00680888 +#define NV_PRAMDAC_FP_DEBUG_3 0x0068088C + +/* see NV_PRAMDAC_INDIR_TMDS in rules.xml */ +#define NV_PRAMDAC_FP_TMDS_CONTROL 0x006808b0 +# define NV_PRAMDAC_FP_TMDS_CONTROL_WRITE_DISABLE (1 << 16) +#define NV_PRAMDAC_FP_TMDS_DATA 0x006808b4 + +#define NV_PRAMDAC_8C0 0x006808c0 + +/* Some kind of switch */ +#define NV_PRAMDAC_900 0x00680900 +#define NV_PRAMDAC_A20 0x00680A20 +#define NV_PRAMDAC_A24 0x00680A24 +#define NV_PRAMDAC_A34 0x00680A34 + +#define NV_PRAMDAC_CTV 0x00680c00 + +/* names fabricated from NV_USER_DAC info */ +#define NV_PRMDIO_PIXEL_MASK 0x006813c6 +# define NV_PRMDIO_PIXEL_MASK_MASK 0xff +#define NV_PRMDIO_READ_MODE_ADDRESS 0x006813c7 +#define NV_PRMDIO_WRITE_MODE_ADDRESS 0x006813c8 +#define NV_PRMDIO_PALETTE_DATA 0x006813c9 + +#define NV_PGRAPH_DEBUG_0 0x00400080 +#define NV_PGRAPH_DEBUG_1 0x00400084 +#define NV_PGRAPH_DEBUG_2_NV04 0x00400088 +#define NV_PGRAPH_DEBUG_2 0x00400620 +#define NV_PGRAPH_DEBUG_3 0x0040008c +#define NV_PGRAPH_DEBUG_4 0x00400090 +#define NV_PGRAPH_INTR 0x00400100 +#define NV_PGRAPH_INTR_EN 0x00400140 +#define NV_PGRAPH_CTX_CONTROL 0x00400144 +#define NV_PGRAPH_CTX_CONTROL_NV04 0x00400170 +#define NV_PGRAPH_ABS_UCLIP_XMIN 0x0040053C +#define NV_PGRAPH_ABS_UCLIP_YMIN 0x00400540 +#define NV_PGRAPH_ABS_UCLIP_XMAX 0x00400544 +#define NV_PGRAPH_ABS_UCLIP_YMAX 0x00400548 +#define NV_PGRAPH_BETA_AND 0x00400608 +#define NV_PGRAPH_LIMIT_VIOL_PIX 0x00400610 +#define NV_PGRAPH_BOFFSET0 0x00400640 +#define NV_PGRAPH_BOFFSET1 0x00400644 +#define NV_PGRAPH_BOFFSET2 0x00400648 +#define NV_PGRAPH_BLIMIT0 0x00400684 +#define NV_PGRAPH_BLIMIT1 0x00400688 +#define NV_PGRAPH_BLIMIT2 0x0040068c +#define NV_PGRAPH_STATUS 0x00400700 +#define NV_PGRAPH_SURFACE 0x00400710 +#define NV_PGRAPH_STATE 0x00400714 +#define NV_PGRAPH_FIFO 0x00400720 +#define NV_PGRAPH_PATTERN_SHAPE 0x00400810 +#define NV_PGRAPH_TILE 0x00400b00 + +#define NV_PVIDEO_INTR_EN 0x00008140 +#define NV_PVIDEO_BUFFER 0x00008700 +#define NV_PVIDEO_STOP 0x00008704 +#define NV_PVIDEO_UVPLANE_BASE(buff) (0x00008800+(buff)*4) +#define NV_PVIDEO_UVPLANE_LIMIT(buff) (0x00008808+(buff)*4) +#define NV_PVIDEO_UVPLANE_OFFSET_BUFF(buff) (0x00008820+(buff)*4) +#define NV_PVIDEO_BASE(buff) (0x00008900+(buff)*4) +#define NV_PVIDEO_LIMIT(buff) (0x00008908+(buff)*4) +#define NV_PVIDEO_LUMINANCE(buff) (0x00008910+(buff)*4) +#define NV_PVIDEO_CHROMINANCE(buff) (0x00008918+(buff)*4) +#define NV_PVIDEO_OFFSET_BUFF(buff) (0x00008920+(buff)*4) +#define NV_PVIDEO_SIZE_IN(buff) (0x00008928+(buff)*4) +#define NV_PVIDEO_POINT_IN(buff) (0x00008930+(buff)*4) +#define NV_PVIDEO_DS_DX(buff) (0x00008938+(buff)*4) +#define NV_PVIDEO_DT_DY(buff) (0x00008940+(buff)*4) +#define NV_PVIDEO_POINT_OUT(buff) (0x00008948+(buff)*4) +#define NV_PVIDEO_SIZE_OUT(buff) (0x00008950+(buff)*4) +#define NV_PVIDEO_FORMAT(buff) (0x00008958+(buff)*4) +# define NV_PVIDEO_FORMAT_PLANAR (1 << 0) +# define NV_PVIDEO_FORMAT_COLOR_LE_CR8YB8CB8YA8 (1 << 16) +# define NV_PVIDEO_FORMAT_DISPLAY_COLOR_KEY (1 << 20) +# define NV_PVIDEO_FORMAT_MATRIX_ITURBT709 (1 << 24) +#define NV_PVIDEO_COLOR_KEY 0x00008B00 + +/* NV04 overlay defines from VIDIX & Haiku */ +#define NV_PVIDEO_INTR_EN_0 0x00680140 +#define NV_PVIDEO_STEP_SIZE 0x00680200 +#define NV_PVIDEO_CONTROL_Y 0x00680204 +#define NV_PVIDEO_CONTROL_X 0x00680208 +#define NV_PVIDEO_BUFF0_START_ADDRESS 0x0068020c +#define NV_PVIDEO_BUFF0_PITCH_LENGTH 0x00680214 +#define NV_PVIDEO_BUFF0_OFFSET 0x0068021c +#define NV_PVIDEO_BUFF1_START_ADDRESS 0x00680210 +#define NV_PVIDEO_BUFF1_PITCH_LENGTH 0x00680218 +#define NV_PVIDEO_BUFF1_OFFSET 0x00680220 +#define NV_PVIDEO_OE_STATE 0x00680224 +#define NV_PVIDEO_SU_STATE 0x00680228 +#define NV_PVIDEO_RM_STATE 0x0068022c +#define NV_PVIDEO_WINDOW_START 0x00680230 +#define NV_PVIDEO_WINDOW_SIZE 0x00680234 +#define NV_PVIDEO_FIFO_THRES_SIZE 0x00680238 +#define NV_PVIDEO_FIFO_BURST_LENGTH 0x0068023c +#define NV_PVIDEO_KEY 0x00680240 +#define NV_PVIDEO_OVERLAY 0x00680244 +#define NV_PVIDEO_RED_CSC_OFFSET 0x00680280 +#define NV_PVIDEO_GREEN_CSC_OFFSET 0x00680284 +#define NV_PVIDEO_BLUE_CSC_OFFSET 0x00680288 +#define NV_PVIDEO_CSC_ADJUST 0x0068028c + +#endif --- linux-2.6.32.orig/drivers/gpu/drm/nouveau/nouveau_grctx.c +++ linux-2.6.32/drivers/gpu/drm/nouveau/nouveau_grctx.c @@ -0,0 +1,161 @@ +/* + * Copyright 2009 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 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. + * + * Authors: Ben Skeggs + */ + +#include + +#include "drmP.h" +#include "nouveau_drv.h" + +struct nouveau_ctxprog { + uint32_t signature; + uint8_t version; + uint16_t length; + uint32_t data[]; +} __attribute__ ((packed)); + +struct nouveau_ctxvals { + uint32_t signature; + uint8_t version; + uint32_t length; + struct { + uint32_t offset; + uint32_t value; + } data[]; +} __attribute__ ((packed)); + +int +nouveau_grctx_prog_load(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_pgraph_engine *pgraph = &dev_priv->engine.graph; + const int chipset = dev_priv->chipset; + const struct firmware *fw; + const struct nouveau_ctxprog *cp; + const struct nouveau_ctxvals *cv; + char name[32]; + int ret, i; + + if (pgraph->accel_blocked) + return -ENODEV; + + if (!pgraph->ctxprog) { + sprintf(name, "nouveau/nv%02x.ctxprog", chipset); + ret = request_firmware(&fw, name, &dev->pdev->dev); + if (ret) { + NV_ERROR(dev, "No ctxprog for NV%02x\n", chipset); + return ret; + } + + pgraph->ctxprog = kmalloc(fw->size, GFP_KERNEL); + if (!pgraph->ctxprog) { + NV_ERROR(dev, "OOM copying ctxprog\n"); + release_firmware(fw); + return -ENOMEM; + } + memcpy(pgraph->ctxprog, fw->data, fw->size); + + cp = pgraph->ctxprog; + if (le32_to_cpu(cp->signature) != 0x5043564e || + cp->version != 0 || + le16_to_cpu(cp->length) != ((fw->size - 7) / 4)) { + NV_ERROR(dev, "ctxprog invalid\n"); + release_firmware(fw); + nouveau_grctx_fini(dev); + return -EINVAL; + } + release_firmware(fw); + } + + if (!pgraph->ctxvals) { + sprintf(name, "nouveau/nv%02x.ctxvals", chipset); + ret = request_firmware(&fw, name, &dev->pdev->dev); + if (ret) { + NV_ERROR(dev, "No ctxvals for NV%02x\n", chipset); + nouveau_grctx_fini(dev); + return ret; + } + + pgraph->ctxvals = kmalloc(fw->size, GFP_KERNEL); + if (!pgraph->ctxvals) { + NV_ERROR(dev, "OOM copying ctxvals\n"); + release_firmware(fw); + nouveau_grctx_fini(dev); + return -ENOMEM; + } + memcpy(pgraph->ctxvals, fw->data, fw->size); + + cv = (void *)pgraph->ctxvals; + if (le32_to_cpu(cv->signature) != 0x5643564e || + cv->version != 0 || + le32_to_cpu(cv->length) != ((fw->size - 9) / 8)) { + NV_ERROR(dev, "ctxvals invalid\n"); + release_firmware(fw); + nouveau_grctx_fini(dev); + return -EINVAL; + } + release_firmware(fw); + } + + cp = pgraph->ctxprog; + + nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_INDEX, 0); + for (i = 0; i < le16_to_cpu(cp->length); i++) + nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_DATA, + le32_to_cpu(cp->data[i])); + + return 0; +} + +void +nouveau_grctx_fini(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_pgraph_engine *pgraph = &dev_priv->engine.graph; + + if (pgraph->ctxprog) { + kfree(pgraph->ctxprog); + pgraph->ctxprog = NULL; + } + + if (pgraph->ctxvals) { + kfree(pgraph->ctxprog); + pgraph->ctxvals = NULL; + } +} + +void +nouveau_grctx_vals_load(struct drm_device *dev, struct nouveau_gpuobj *ctx) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_pgraph_engine *pgraph = &dev_priv->engine.graph; + struct nouveau_ctxvals *cv = pgraph->ctxvals; + int i; + + if (!cv) + return; + + for (i = 0; i < le32_to_cpu(cv->length); i++) + nv_wo32(dev, ctx, le32_to_cpu(cv->data[i].offset), + le32_to_cpu(cv->data[i].value)); +} --- linux-2.6.32.orig/drivers/gpu/drm/r128/r128_drv.c +++ linux-2.6.32/drivers/gpu/drm/r128/r128_drv.c @@ -64,7 +64,7 @@ .owner = THIS_MODULE, .open = drm_open, .release = drm_release, - .ioctl = drm_ioctl, + .unlocked_ioctl = drm_ioctl, .mmap = drm_mmap, .poll = drm_poll, .fasync = drm_fasync, --- linux-2.6.32.orig/drivers/gpu/drm/r128/r128_ioc32.c +++ linux-2.6.32/drivers/gpu/drm/r128/r128_ioc32.c @@ -95,8 +95,7 @@ &init->agp_textures_offset)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_R128_INIT, (unsigned long)init); + return drm_ioctl(file, DRM_IOCTL_R128_INIT, (unsigned long)init); } typedef struct drm_r128_depth32 { @@ -129,8 +128,7 @@ &depth->mask)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_R128_DEPTH, (unsigned long)depth); + return drm_ioctl(file, DRM_IOCTL_R128_DEPTH, (unsigned long)depth); } @@ -153,8 +151,7 @@ &stipple->mask)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_R128_STIPPLE, (unsigned long)stipple); + return drm_ioctl(file, DRM_IOCTL_R128_STIPPLE, (unsigned long)stipple); } typedef struct drm_r128_getparam32 { @@ -178,8 +175,7 @@ &getparam->value)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_R128_GETPARAM, (unsigned long)getparam); + return drm_ioctl(file, DRM_IOCTL_R128_GETPARAM, (unsigned long)getparam); } drm_ioctl_compat_t *r128_compat_ioctls[] = { @@ -210,12 +206,10 @@ if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(r128_compat_ioctls)) fn = r128_compat_ioctls[nr - DRM_COMMAND_BASE]; - lock_kernel(); /* XXX for now */ if (fn != NULL) ret = (*fn) (filp, cmd, arg); else - ret = drm_ioctl(filp->f_path.dentry->d_inode, filp, cmd, arg); - unlock_kernel(); + ret = drm_ioctl(filp, cmd, arg); return ret; } --- linux-2.6.32.orig/drivers/gpu/drm/radeon/Kconfig +++ linux-2.6.32/drivers/gpu/drm/radeon/Kconfig @@ -1,10 +1,14 @@ config DRM_RADEON_KMS - bool "Enable modesetting on radeon by default" + bool "Enable modesetting on radeon by default - NEW DRIVER" depends on DRM_RADEON help - Choose this option if you want kernel modesetting enabled by default, - and you have a new enough userspace to support this. Running old - userspaces with this enabled will cause pain. + Choose this option if you want kernel modesetting enabled by default. + + This is a completely new driver. It's only part of the existing drm + for compatibility reasons. It requires an entirely different graphics + stack above it and works very differently from the old drm stack. + i.e. don't enable this unless you know what you are doing it may + cause issues or bugs compared to the previous userspace driver stack. When kernel modesetting is enabled the IOCTL of radeon/drm driver are considered as invalid and an error message is printed --- linux-2.6.32.orig/drivers/gpu/drm/radeon/Makefile +++ linux-2.6.32/drivers/gpu/drm/radeon/Makefile @@ -24,6 +24,9 @@ $(obj)/r300_reg_safe.h: $(src)/reg_srcs/r300 $(obj)/mkregtable $(call if_changed,mkregtable) +$(obj)/r420_reg_safe.h: $(src)/reg_srcs/r420 $(obj)/mkregtable + $(call if_changed,mkregtable) + $(obj)/rs600_reg_safe.h: $(src)/reg_srcs/rs600 $(obj)/mkregtable $(call if_changed,mkregtable) @@ -35,6 +38,8 @@ $(obj)/r300.o: $(obj)/r300_reg_safe.h +$(obj)/r420.o: $(obj)/r420_reg_safe.h + $(obj)/rs600.o: $(obj)/rs600_reg_safe.h radeon-y := radeon_drv.o radeon_cp.o radeon_state.o radeon_mem.o \ @@ -49,7 +54,7 @@ radeon_cs.o radeon_bios.o radeon_benchmark.o r100.o r300.o r420.o \ rs400.o rs600.o rs690.o rv515.o r520.o r600.o rv770.o radeon_test.o \ r200.o radeon_legacy_tv.o r600_cs.o r600_blit.o r600_blit_shaders.o \ - r600_blit_kms.o radeon_pm.o + r600_blit_kms.o radeon_pm.o atombios_dp.o r600_audio.o r600_hdmi.o radeon-$(CONFIG_COMPAT) += radeon_ioc32.o --- linux-2.6.32.orig/drivers/gpu/drm/radeon/ObjectID.h +++ linux-2.6.32/drivers/gpu/drm/radeon/ObjectID.h @@ -1,5 +1,5 @@ /* -* Copyright 2006-2007 Advanced Micro Devices, Inc. +* Copyright 2006-2007 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"), @@ -41,14 +41,14 @@ /****************************************************/ /* Encoder Object ID Definition */ /****************************************************/ -#define ENCODER_OBJECT_ID_NONE 0x00 +#define ENCODER_OBJECT_ID_NONE 0x00 /* Radeon Class Display Hardware */ #define ENCODER_OBJECT_ID_INTERNAL_LVDS 0x01 #define ENCODER_OBJECT_ID_INTERNAL_TMDS1 0x02 #define ENCODER_OBJECT_ID_INTERNAL_TMDS2 0x03 #define ENCODER_OBJECT_ID_INTERNAL_DAC1 0x04 -#define ENCODER_OBJECT_ID_INTERNAL_DAC2 0x05 /* TV/CV DAC */ +#define ENCODER_OBJECT_ID_INTERNAL_DAC2 0x05 /* TV/CV DAC */ #define ENCODER_OBJECT_ID_INTERNAL_SDVOA 0x06 #define ENCODER_OBJECT_ID_INTERNAL_SDVOB 0x07 @@ -56,11 +56,11 @@ #define ENCODER_OBJECT_ID_SI170B 0x08 #define ENCODER_OBJECT_ID_CH7303 0x09 #define ENCODER_OBJECT_ID_CH7301 0x0A -#define ENCODER_OBJECT_ID_INTERNAL_DVO1 0x0B /* This belongs to Radeon Class Display Hardware */ +#define ENCODER_OBJECT_ID_INTERNAL_DVO1 0x0B /* This belongs to Radeon Class Display Hardware */ #define ENCODER_OBJECT_ID_EXTERNAL_SDVOA 0x0C #define ENCODER_OBJECT_ID_EXTERNAL_SDVOB 0x0D #define ENCODER_OBJECT_ID_TITFP513 0x0E -#define ENCODER_OBJECT_ID_INTERNAL_LVTM1 0x0F /* not used for Radeon */ +#define ENCODER_OBJECT_ID_INTERNAL_LVTM1 0x0F /* not used for Radeon */ #define ENCODER_OBJECT_ID_VT1623 0x10 #define ENCODER_OBJECT_ID_HDMI_SI1930 0x11 #define ENCODER_OBJECT_ID_HDMI_INTERNAL 0x12 @@ -68,9 +68,9 @@ #define ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1 0x13 #define ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1 0x14 #define ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC1 0x15 -#define ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2 0x16 /* Shared with CV/TV and CRT */ -#define ENCODER_OBJECT_ID_SI178 0X17 /* External TMDS (dual link, no HDCP.) */ -#define ENCODER_OBJECT_ID_MVPU_FPGA 0x18 /* MVPU FPGA chip */ +#define ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2 0x16 /* Shared with CV/TV and CRT */ +#define ENCODER_OBJECT_ID_SI178 0X17 /* External TMDS (dual link, no HDCP.) */ +#define ENCODER_OBJECT_ID_MVPU_FPGA 0x18 /* MVPU FPGA chip */ #define ENCODER_OBJECT_ID_INTERNAL_DDI 0x19 #define ENCODER_OBJECT_ID_VT1625 0x1A #define ENCODER_OBJECT_ID_HDMI_SI1932 0x1B @@ -86,7 +86,7 @@ /****************************************************/ /* Connector Object ID Definition */ /****************************************************/ -#define CONNECTOR_OBJECT_ID_NONE 0x00 +#define CONNECTOR_OBJECT_ID_NONE 0x00 #define CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I 0x01 #define CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I 0x02 #define CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D 0x03 @@ -96,7 +96,7 @@ #define CONNECTOR_OBJECT_ID_SVIDEO 0x07 #define CONNECTOR_OBJECT_ID_YPbPr 0x08 #define CONNECTOR_OBJECT_ID_D_CONNECTOR 0x09 -#define CONNECTOR_OBJECT_ID_9PIN_DIN 0x0A /* Supports both CV & TV */ +#define CONNECTOR_OBJECT_ID_9PIN_DIN 0x0A /* Supports both CV & TV */ #define CONNECTOR_OBJECT_ID_SCART 0x0B #define CONNECTOR_OBJECT_ID_HDMI_TYPE_A 0x0C #define CONNECTOR_OBJECT_ID_HDMI_TYPE_B 0x0D @@ -106,6 +106,8 @@ #define CONNECTOR_OBJECT_ID_CROSSFIRE 0x11 #define CONNECTOR_OBJECT_ID_HARDCODE_DVI 0x12 #define CONNECTOR_OBJECT_ID_DISPLAYPORT 0x13 +#define CONNECTOR_OBJECT_ID_eDP 0x14 +#define CONNECTOR_OBJECT_ID_MXM 0x15 /* deleted */ @@ -116,6 +118,14 @@ #define ROUTER_OBJECT_ID_I2C_EXTENDER_CNTL 0x01 /****************************************************/ +/* Generic Object ID Definition */ +/****************************************************/ +#define GENERIC_OBJECT_ID_NONE 0x00 +#define GENERIC_OBJECT_ID_GLSYNC 0x01 +#define GENERIC_OBJECT_ID_PX2_NON_DRIVABLE 0x02 +#define GENERIC_OBJECT_ID_MXM_OPM 0x03 + +/****************************************************/ /* Graphics Object ENUM ID Definition */ /****************************************************/ #define GRAPH_OBJECT_ENUM_ID1 0x01 @@ -124,6 +134,7 @@ #define GRAPH_OBJECT_ENUM_ID4 0x04 #define GRAPH_OBJECT_ENUM_ID5 0x05 #define GRAPH_OBJECT_ENUM_ID6 0x06 +#define GRAPH_OBJECT_ENUM_ID7 0x07 /****************************************************/ /* Graphics Object ID Bit definition */ @@ -133,35 +144,35 @@ #define RESERVED1_ID_MASK 0x0800 #define OBJECT_TYPE_MASK 0x7000 #define RESERVED2_ID_MASK 0x8000 - + #define OBJECT_ID_SHIFT 0x00 #define ENUM_ID_SHIFT 0x08 #define OBJECT_TYPE_SHIFT 0x0C + /****************************************************/ /* Graphics Object family definition */ /****************************************************/ -#define CONSTRUCTOBJECTFAMILYID(GRAPHICS_OBJECT_TYPE, GRAPHICS_OBJECT_ID) \ - (GRAPHICS_OBJECT_TYPE << OBJECT_TYPE_SHIFT | \ - GRAPHICS_OBJECT_ID << OBJECT_ID_SHIFT) +#define CONSTRUCTOBJECTFAMILYID(GRAPHICS_OBJECT_TYPE, GRAPHICS_OBJECT_ID) (GRAPHICS_OBJECT_TYPE << OBJECT_TYPE_SHIFT | \ + GRAPHICS_OBJECT_ID << OBJECT_ID_SHIFT) /****************************************************/ /* GPU Object ID definition - Shared with BIOS */ /****************************************************/ -#define GPU_ENUM_ID1 (GRAPH_OBJECT_TYPE_GPU << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT) +#define GPU_ENUM_ID1 ( GRAPH_OBJECT_TYPE_GPU << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT) /****************************************************/ /* Encoder Object ID definition - Shared with BIOS */ /****************************************************/ /* -#define ENCODER_INTERNAL_LVDS_ENUM_ID1 0x2101 +#define ENCODER_INTERNAL_LVDS_ENUM_ID1 0x2101 #define ENCODER_INTERNAL_TMDS1_ENUM_ID1 0x2102 #define ENCODER_INTERNAL_TMDS2_ENUM_ID1 0x2103 #define ENCODER_INTERNAL_DAC1_ENUM_ID1 0x2104 #define ENCODER_INTERNAL_DAC2_ENUM_ID1 0x2105 #define ENCODER_INTERNAL_SDVOA_ENUM_ID1 0x2106 #define ENCODER_INTERNAL_SDVOB_ENUM_ID1 0x2107 -#define ENCODER_SIL170B_ENUM_ID1 0x2108 +#define ENCODER_SIL170B_ENUM_ID1 0x2108 #define ENCODER_CH7303_ENUM_ID1 0x2109 #define ENCODER_CH7301_ENUM_ID1 0x210A #define ENCODER_INTERNAL_DVO1_ENUM_ID1 0x210B @@ -175,8 +186,8 @@ #define ENCODER_INTERNAL_KLDSCP_TMDS1_ENUM_ID1 0x2113 #define ENCODER_INTERNAL_KLDSCP_DVO1_ENUM_ID1 0x2114 #define ENCODER_INTERNAL_KLDSCP_DAC1_ENUM_ID1 0x2115 -#define ENCODER_INTERNAL_KLDSCP_DAC2_ENUM_ID1 0x2116 -#define ENCODER_SI178_ENUM_ID1 0x2117 +#define ENCODER_INTERNAL_KLDSCP_DAC2_ENUM_ID1 0x2116 +#define ENCODER_SI178_ENUM_ID1 0x2117 #define ENCODER_MVPU_FPGA_ENUM_ID1 0x2118 #define ENCODER_INTERNAL_DDI_ENUM_ID1 0x2119 #define ENCODER_VT1625_ENUM_ID1 0x211A @@ -185,205 +196,169 @@ #define ENCODER_DP_DP501_ENUM_ID1 0x211D #define ENCODER_INTERNAL_UNIPHY_ENUM_ID1 0x211E */ -#define ENCODER_INTERNAL_LVDS_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_LVDS << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_TMDS1_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_TMDS1 << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_TMDS2_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_TMDS2 << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_DAC1_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_DAC1 << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_DAC2_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_DAC2 << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_SDVOA_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_SDVOA << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_SDVOA_ENUM_ID2 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_SDVOA << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_SDVOB_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_SDVOB << OBJECT_ID_SHIFT) - -#define ENCODER_SIL170B_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_SI170B << OBJECT_ID_SHIFT) - -#define ENCODER_CH7303_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_CH7303 << OBJECT_ID_SHIFT) - -#define ENCODER_CH7301_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_CH7301 << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_DVO1_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_DVO1 << OBJECT_ID_SHIFT) - -#define ENCODER_EXTERNAL_SDVOA_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_EXTERNAL_SDVOA << OBJECT_ID_SHIFT) - -#define ENCODER_EXTERNAL_SDVOA_ENUM_ID2 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_EXTERNAL_SDVOA << OBJECT_ID_SHIFT) - -#define ENCODER_EXTERNAL_SDVOB_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_EXTERNAL_SDVOB << OBJECT_ID_SHIFT) - -#define ENCODER_TITFP513_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_TITFP513 << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_LVTM1_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_LVTM1 << OBJECT_ID_SHIFT) - -#define ENCODER_VT1623_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_VT1623 << OBJECT_ID_SHIFT) - -#define ENCODER_HDMI_SI1930_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_HDMI_SI1930 << OBJECT_ID_SHIFT) - -#define ENCODER_HDMI_INTERNAL_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_HDMI_INTERNAL << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_KLDSCP_TMDS1_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1 << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_KLDSCP_TMDS1_ENUM_ID2 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1 << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_KLDSCP_DVO1_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1 << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_KLDSCP_DAC1_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC1 << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_KLDSCP_DAC2_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2 << OBJECT_ID_SHIFT) /* Shared with CV/TV and CRT */ - -#define ENCODER_SI178_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_SI178 << OBJECT_ID_SHIFT) - -#define ENCODER_MVPU_FPGA_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_MVPU_FPGA << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_DDI_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_DDI << OBJECT_ID_SHIFT) - -#define ENCODER_VT1625_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_VT1625 << OBJECT_ID_SHIFT) - -#define ENCODER_HDMI_SI1932_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_HDMI_SI1932 << OBJECT_ID_SHIFT) - -#define ENCODER_DP_DP501_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_DP_DP501 << OBJECT_ID_SHIFT) - -#define ENCODER_DP_AN9801_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_DP_AN9801 << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_UNIPHY_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_UNIPHY << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_UNIPHY_ENUM_ID2 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_UNIPHY << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_KLDSCP_LVTMA_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_UNIPHY1_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_UNIPHY1 << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_UNIPHY1_ENUM_ID2 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_UNIPHY1 << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_UNIPHY2_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_UNIPHY2 << OBJECT_ID_SHIFT) - -#define ENCODER_INTERNAL_UNIPHY2_ENUM_ID2 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_INTERNAL_UNIPHY2 << OBJECT_ID_SHIFT) - -#define ENCODER_GENERAL_EXTERNAL_DVO_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ENCODER_OBJECT_ID_GENERAL_EXTERNAL_DVO << OBJECT_ID_SHIFT) +#define ENCODER_INTERNAL_LVDS_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_LVDS << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_TMDS1_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_TMDS1 << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_TMDS2_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_TMDS2 << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_DAC1_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_DAC1 << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_DAC2_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_DAC2 << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_SDVOA_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_SDVOA << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_SDVOA_ENUM_ID2 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_SDVOA << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_SDVOB_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_SDVOB << OBJECT_ID_SHIFT) + +#define ENCODER_SIL170B_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_SI170B << OBJECT_ID_SHIFT) + +#define ENCODER_CH7303_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_CH7303 << OBJECT_ID_SHIFT) + +#define ENCODER_CH7301_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_CH7301 << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_DVO1_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_DVO1 << OBJECT_ID_SHIFT) + +#define ENCODER_EXTERNAL_SDVOA_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_EXTERNAL_SDVOA << OBJECT_ID_SHIFT) + +#define ENCODER_EXTERNAL_SDVOA_ENUM_ID2 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_EXTERNAL_SDVOA << OBJECT_ID_SHIFT) + + +#define ENCODER_EXTERNAL_SDVOB_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_EXTERNAL_SDVOB << OBJECT_ID_SHIFT) + + +#define ENCODER_TITFP513_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_TITFP513 << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_LVTM1_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_LVTM1 << OBJECT_ID_SHIFT) + +#define ENCODER_VT1623_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_VT1623 << OBJECT_ID_SHIFT) + +#define ENCODER_HDMI_SI1930_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_HDMI_SI1930 << OBJECT_ID_SHIFT) + +#define ENCODER_HDMI_INTERNAL_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_HDMI_INTERNAL << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_KLDSCP_TMDS1_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1 << OBJECT_ID_SHIFT) + + +#define ENCODER_INTERNAL_KLDSCP_TMDS1_ENUM_ID2 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1 << OBJECT_ID_SHIFT) + + +#define ENCODER_INTERNAL_KLDSCP_DVO1_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1 << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_KLDSCP_DAC1_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC1 << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_KLDSCP_DAC2_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2 << OBJECT_ID_SHIFT) // Shared with CV/TV and CRT + +#define ENCODER_SI178_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_SI178 << OBJECT_ID_SHIFT) + +#define ENCODER_MVPU_FPGA_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_MVPU_FPGA << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_DDI_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_DDI << OBJECT_ID_SHIFT) + +#define ENCODER_VT1625_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_VT1625 << OBJECT_ID_SHIFT) + +#define ENCODER_HDMI_SI1932_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_HDMI_SI1932 << OBJECT_ID_SHIFT) + +#define ENCODER_DP_DP501_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_DP_DP501 << OBJECT_ID_SHIFT) + +#define ENCODER_DP_AN9801_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_DP_AN9801 << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_UNIPHY_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_UNIPHY << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_UNIPHY_ENUM_ID2 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_UNIPHY << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_KLDSCP_LVTMA_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_UNIPHY1_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_UNIPHY1 << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_UNIPHY1_ENUM_ID2 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_UNIPHY1 << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_UNIPHY2_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_UNIPHY2 << OBJECT_ID_SHIFT) + +#define ENCODER_INTERNAL_UNIPHY2_ENUM_ID2 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_UNIPHY2 << OBJECT_ID_SHIFT) + +#define ENCODER_GENERAL_EXTERNAL_DVO_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_GENERAL_EXTERNAL_DVO << OBJECT_ID_SHIFT) /****************************************************/ /* Connector Object ID definition - Shared with BIOS */ @@ -406,167 +381,253 @@ #define CONNECTOR_7PIN_DIN_ENUM_ID1 0x310F #define CONNECTOR_PCIE_CONNECTOR_ENUM_ID1 0x3110 */ -#define CONNECTOR_LVDS_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_LVDS << OBJECT_ID_SHIFT) - -#define CONNECTOR_SINGLE_LINK_DVI_I_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I << OBJECT_ID_SHIFT) - -#define CONNECTOR_SINGLE_LINK_DVI_I_ENUM_ID2 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I << OBJECT_ID_SHIFT) - -#define CONNECTOR_DUAL_LINK_DVI_I_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I << OBJECT_ID_SHIFT) - -#define CONNECTOR_DUAL_LINK_DVI_I_ENUM_ID2 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I << OBJECT_ID_SHIFT) - -#define CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D << OBJECT_ID_SHIFT) - -#define CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID2 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D << OBJECT_ID_SHIFT) - -#define CONNECTOR_DUAL_LINK_DVI_D_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D << OBJECT_ID_SHIFT) - -#define CONNECTOR_VGA_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_VGA << OBJECT_ID_SHIFT) - -#define CONNECTOR_VGA_ENUM_ID2 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_VGA << OBJECT_ID_SHIFT) - -#define CONNECTOR_COMPOSITE_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_COMPOSITE << OBJECT_ID_SHIFT) - -#define CONNECTOR_SVIDEO_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_SVIDEO << OBJECT_ID_SHIFT) - -#define CONNECTOR_YPbPr_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_YPbPr << OBJECT_ID_SHIFT) - -#define CONNECTOR_D_CONNECTOR_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_D_CONNECTOR << OBJECT_ID_SHIFT) - -#define CONNECTOR_9PIN_DIN_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_9PIN_DIN << OBJECT_ID_SHIFT) - -#define CONNECTOR_SCART_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_SCART << OBJECT_ID_SHIFT) - -#define CONNECTOR_HDMI_TYPE_A_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_HDMI_TYPE_A << OBJECT_ID_SHIFT) - -#define CONNECTOR_HDMI_TYPE_B_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_HDMI_TYPE_B << OBJECT_ID_SHIFT) - -#define CONNECTOR_7PIN_DIN_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_7PIN_DIN << OBJECT_ID_SHIFT) - -#define CONNECTOR_PCIE_CONNECTOR_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_PCIE_CONNECTOR << OBJECT_ID_SHIFT) - -#define CONNECTOR_PCIE_CONNECTOR_ENUM_ID2 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_PCIE_CONNECTOR << OBJECT_ID_SHIFT) - -#define CONNECTOR_CROSSFIRE_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_CROSSFIRE << OBJECT_ID_SHIFT) - -#define CONNECTOR_CROSSFIRE_ENUM_ID2 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_CROSSFIRE << OBJECT_ID_SHIFT) - -#define CONNECTOR_HARDCODE_DVI_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_HARDCODE_DVI << OBJECT_ID_SHIFT) - -#define CONNECTOR_HARDCODE_DVI_ENUM_ID2 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_HARDCODE_DVI << OBJECT_ID_SHIFT) - -#define CONNECTOR_DISPLAYPORT_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT) - -#define CONNECTOR_DISPLAYPORT_ENUM_ID2 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT) - -#define CONNECTOR_DISPLAYPORT_ENUM_ID3 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID3 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT) - -#define CONNECTOR_DISPLAYPORT_ENUM_ID4 \ - (GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID4 << ENUM_ID_SHIFT |\ - CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT) +#define CONNECTOR_LVDS_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_LVDS << OBJECT_ID_SHIFT) + +#define CONNECTOR_LVDS_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_LVDS << OBJECT_ID_SHIFT) + +#define CONNECTOR_eDP_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_eDP << OBJECT_ID_SHIFT) + +#define CONNECTOR_eDP_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_eDP << OBJECT_ID_SHIFT) + +#define CONNECTOR_SINGLE_LINK_DVI_I_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I << OBJECT_ID_SHIFT) + +#define CONNECTOR_SINGLE_LINK_DVI_I_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I << OBJECT_ID_SHIFT) + +#define CONNECTOR_DUAL_LINK_DVI_I_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I << OBJECT_ID_SHIFT) + +#define CONNECTOR_DUAL_LINK_DVI_I_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I << OBJECT_ID_SHIFT) + +#define CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D << OBJECT_ID_SHIFT) + +#define CONNECTOR_SINGLE_LINK_DVI_D_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D << OBJECT_ID_SHIFT) + +#define CONNECTOR_DUAL_LINK_DVI_D_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D << OBJECT_ID_SHIFT) + +#define CONNECTOR_DUAL_LINK_DVI_D_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D << OBJECT_ID_SHIFT) + +#define CONNECTOR_DUAL_LINK_DVI_D_ENUM_ID3 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID3 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D << OBJECT_ID_SHIFT) + +#define CONNECTOR_VGA_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_VGA << OBJECT_ID_SHIFT) + +#define CONNECTOR_VGA_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_VGA << OBJECT_ID_SHIFT) + +#define CONNECTOR_COMPOSITE_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_COMPOSITE << OBJECT_ID_SHIFT) + +#define CONNECTOR_COMPOSITE_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_COMPOSITE << OBJECT_ID_SHIFT) + +#define CONNECTOR_SVIDEO_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_SVIDEO << OBJECT_ID_SHIFT) + +#define CONNECTOR_SVIDEO_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_SVIDEO << OBJECT_ID_SHIFT) + +#define CONNECTOR_YPbPr_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_YPbPr << OBJECT_ID_SHIFT) + +#define CONNECTOR_YPbPr_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_YPbPr << OBJECT_ID_SHIFT) + +#define CONNECTOR_D_CONNECTOR_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_D_CONNECTOR << OBJECT_ID_SHIFT) + +#define CONNECTOR_D_CONNECTOR_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_D_CONNECTOR << OBJECT_ID_SHIFT) + +#define CONNECTOR_9PIN_DIN_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_9PIN_DIN << OBJECT_ID_SHIFT) + +#define CONNECTOR_9PIN_DIN_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_9PIN_DIN << OBJECT_ID_SHIFT) + +#define CONNECTOR_SCART_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_SCART << OBJECT_ID_SHIFT) + +#define CONNECTOR_SCART_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_SCART << OBJECT_ID_SHIFT) + +#define CONNECTOR_HDMI_TYPE_A_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_HDMI_TYPE_A << OBJECT_ID_SHIFT) + +#define CONNECTOR_HDMI_TYPE_A_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_HDMI_TYPE_A << OBJECT_ID_SHIFT) + +#define CONNECTOR_HDMI_TYPE_A_ENUM_ID3 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID3 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_HDMI_TYPE_A << OBJECT_ID_SHIFT) + +#define CONNECTOR_HDMI_TYPE_B_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_HDMI_TYPE_B << OBJECT_ID_SHIFT) + +#define CONNECTOR_HDMI_TYPE_B_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_HDMI_TYPE_B << OBJECT_ID_SHIFT) + +#define CONNECTOR_7PIN_DIN_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_7PIN_DIN << OBJECT_ID_SHIFT) +#define CONNECTOR_7PIN_DIN_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_7PIN_DIN << OBJECT_ID_SHIFT) + +#define CONNECTOR_PCIE_CONNECTOR_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_PCIE_CONNECTOR << OBJECT_ID_SHIFT) + +#define CONNECTOR_PCIE_CONNECTOR_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_PCIE_CONNECTOR << OBJECT_ID_SHIFT) + +#define CONNECTOR_CROSSFIRE_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_CROSSFIRE << OBJECT_ID_SHIFT) + +#define CONNECTOR_CROSSFIRE_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_CROSSFIRE << OBJECT_ID_SHIFT) + + +#define CONNECTOR_HARDCODE_DVI_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_HARDCODE_DVI << OBJECT_ID_SHIFT) + +#define CONNECTOR_HARDCODE_DVI_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_HARDCODE_DVI << OBJECT_ID_SHIFT) + +#define CONNECTOR_DISPLAYPORT_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT) + +#define CONNECTOR_DISPLAYPORT_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT) + +#define CONNECTOR_DISPLAYPORT_ENUM_ID3 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID3 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT) + +#define CONNECTOR_DISPLAYPORT_ENUM_ID4 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID4 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT) + +#define CONNECTOR_DISPLAYPORT_ENUM_ID5 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID5 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT) + +#define CONNECTOR_DISPLAYPORT_ENUM_ID6 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID6 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_DISPLAYPORT << OBJECT_ID_SHIFT) + +#define CONNECTOR_MXM_ENUM_ID1 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_MXM << OBJECT_ID_SHIFT) //Mapping to MXM_DP_A + +#define CONNECTOR_MXM_ENUM_ID2 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_MXM << OBJECT_ID_SHIFT) //Mapping to MXM_DP_B + +#define CONNECTOR_MXM_ENUM_ID3 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID3 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_MXM << OBJECT_ID_SHIFT) //Mapping to MXM_DP_C + +#define CONNECTOR_MXM_ENUM_ID4 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID4 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_MXM << OBJECT_ID_SHIFT) //Mapping to MXM_DP_D + +#define CONNECTOR_MXM_ENUM_ID5 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID5 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_MXM << OBJECT_ID_SHIFT) //Mapping to MXM_LVDS_TXxx + +#define CONNECTOR_MXM_ENUM_ID6 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID6 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_MXM << OBJECT_ID_SHIFT) //Mapping to MXM_LVDS_UXxx + +#define CONNECTOR_MXM_ENUM_ID7 ( GRAPH_OBJECT_TYPE_CONNECTOR << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID7 << ENUM_ID_SHIFT |\ + CONNECTOR_OBJECT_ID_MXM << OBJECT_ID_SHIFT) //Mapping to MXM_DAC /****************************************************/ /* Router Object ID definition - Shared with BIOS */ /****************************************************/ -#define ROUTER_I2C_EXTENDER_CNTL_ENUM_ID1 \ - (GRAPH_OBJECT_TYPE_ROUTER << OBJECT_TYPE_SHIFT |\ - GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ - ROUTER_OBJECT_ID_I2C_EXTENDER_CNTL << OBJECT_ID_SHIFT) +#define ROUTER_I2C_EXTENDER_CNTL_ENUM_ID1 ( GRAPH_OBJECT_TYPE_ROUTER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ROUTER_OBJECT_ID_I2C_EXTENDER_CNTL << OBJECT_ID_SHIFT) /* deleted */ /****************************************************/ +/* Generic Object ID definition - Shared with BIOS */ +/****************************************************/ +#define GENERICOBJECT_GLSYNC_ENUM_ID1 (GRAPH_OBJECT_TYPE_GENERIC << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + GENERIC_OBJECT_ID_GLSYNC << OBJECT_ID_SHIFT) + +#define GENERICOBJECT_PX2_NON_DRIVABLE_ID1 (GRAPH_OBJECT_TYPE_GENERIC << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + GENERIC_OBJECT_ID_PX2_NON_DRIVABLE<< OBJECT_ID_SHIFT) + +#define GENERICOBJECT_PX2_NON_DRIVABLE_ID2 (GRAPH_OBJECT_TYPE_GENERIC << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID2 << ENUM_ID_SHIFT |\ + GENERIC_OBJECT_ID_PX2_NON_DRIVABLE<< OBJECT_ID_SHIFT) + +#define GENERICOBJECT_MXM_OPM_ENUM_ID1 (GRAPH_OBJECT_TYPE_GENERIC << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + GENERIC_OBJECT_ID_MXM_OPM << OBJECT_ID_SHIFT) + +/****************************************************/ /* Object Cap definition - Shared with BIOS */ /****************************************************/ #define GRAPHICS_OBJECT_CAP_I2C 0x00000001L #define GRAPHICS_OBJECT_CAP_TABLE_ID 0x00000002L + #define GRAPHICS_OBJECT_I2CCOMMAND_TABLE_ID 0x01 #define GRAPHICS_OBJECT_HOTPLUGDETECTIONINTERUPT_TABLE_ID 0x02 #define GRAPHICS_OBJECT_ENCODER_OUTPUT_PROTECTION_TABLE_ID 0x03 @@ -575,4 +636,8 @@ #pragma pack() #endif -#endif /*GRAPHICTYPE */ +#endif /*GRAPHICTYPE */ + + + + --- linux-2.6.32.orig/drivers/gpu/drm/radeon/atom.c +++ linux-2.6.32/drivers/gpu/drm/radeon/atom.c @@ -24,6 +24,7 @@ #include #include +#include #define ATOM_DEBUG @@ -58,6 +59,7 @@ } atom_exec_context; int atom_debug = 0; +static void atom_execute_table_locked(struct atom_context *ctx, int index, uint32_t * params); void atom_execute_table(struct atom_context *ctx, int index, uint32_t * params); static uint32_t atom_arg_mask[8] = @@ -126,7 +128,7 @@ case ATOM_IIO_MOVE_INDEX: temp &= ~((0xFFFFFFFF >> (32 - CU8(base + 1))) << - CU8(base + 2)); + CU8(base + 3)); temp |= ((index >> CU8(base + 2)) & (0xFFFFFFFF >> (32 - CU8(base + 1)))) << CU8(base + @@ -136,7 +138,7 @@ case ATOM_IIO_MOVE_DATA: temp &= ~((0xFFFFFFFF >> (32 - CU8(base + 1))) << - CU8(base + 2)); + CU8(base + 3)); temp |= ((data >> CU8(base + 2)) & (0xFFFFFFFF >> (32 - CU8(base + 1)))) << CU8(base + @@ -146,7 +148,7 @@ case ATOM_IIO_MOVE_ATTR: temp &= ~((0xFFFFFFFF >> (32 - CU8(base + 1))) << - CU8(base + 2)); + CU8(base + 3)); temp |= ((ctx-> io_attr >> CU8(base + 2)) & (0xFFFFFFFF >> (32 - @@ -211,7 +213,9 @@ case ATOM_ARG_PS: idx = U8(*ptr); (*ptr)++; - val = le32_to_cpu(ctx->ps[idx]); + /* get_unaligned_le32 avoids unaligned accesses from atombios + * tables, noticed on a DEC Alpha. */ + val = get_unaligned_le32((u32 *)&ctx->ps[idx]); if (print) DEBUG("PS[0x%02X,0x%04X]", idx, val); break; @@ -245,6 +249,9 @@ case ATOM_WS_ATTRIBUTES: val = gctx->io_attr; break; + case ATOM_WS_REGPTR: + val = gctx->reg_block; + break; default: val = ctx->ws[idx]; } @@ -263,10 +270,10 @@ case ATOM_ARG_FB: idx = U8(*ptr); (*ptr)++; + val = gctx->scratch[((gctx->fb_base + idx) / 4)]; if (print) DEBUG("FB[0x%02X]", idx); - printk(KERN_INFO "FB access is not implemented.\n"); - return 0; + break; case ATOM_ARG_IMM: switch (align) { case ATOM_SRC_DWORD: @@ -384,6 +391,32 @@ return atom_get_src_int(ctx, attr, ptr, NULL, 1); } +static uint32_t atom_get_src_direct(atom_exec_context *ctx, uint8_t align, int *ptr) +{ + uint32_t val = 0xCDCDCDCD; + + switch (align) { + case ATOM_SRC_DWORD: + val = U32(*ptr); + (*ptr) += 4; + break; + case ATOM_SRC_WORD0: + case ATOM_SRC_WORD8: + case ATOM_SRC_WORD16: + val = U16(*ptr); + (*ptr) += 2; + break; + case ATOM_SRC_BYTE0: + case ATOM_SRC_BYTE8: + case ATOM_SRC_BYTE16: + case ATOM_SRC_BYTE24: + val = U8(*ptr); + (*ptr)++; + break; + } + return val; +} + static uint32_t atom_get_dst(atom_exec_context *ctx, int arg, uint8_t attr, int *ptr, uint32_t *saved, int print) { @@ -481,6 +514,9 @@ case ATOM_WS_ATTRIBUTES: gctx->io_attr = val; break; + case ATOM_WS_REGPTR: + gctx->reg_block = val; + break; default: ctx->ws[idx] = val; } @@ -488,9 +524,9 @@ case ATOM_ARG_FB: idx = U8(*ptr); (*ptr)++; + gctx->scratch[((gctx->fb_base + idx) / 4)] = val; DEBUG("FB[0x%02X]", idx); - printk(KERN_INFO "FB access is not implemented.\n"); - return; + break; case ATOM_ARG_PLL: idx = U8(*ptr); (*ptr)++; @@ -573,7 +609,7 @@ else SDEBUG(" table: %d\n", idx); if (U16(ctx->ctx->cmd_table + 4 + 2 * idx)) - atom_execute_table(ctx->ctx, idx, ctx->ps + ctx->ps_shift); + atom_execute_table_locked(ctx->ctx, idx, ctx->ps + ctx->ps_shift); } static void atom_op_clear(atom_exec_context *ctx, int *ptr, int arg) @@ -607,7 +643,7 @@ uint8_t count = U8((*ptr)++); SDEBUG(" count: %d\n", count); if (arg == ATOM_UNIT_MICROSEC) - schedule_timeout_uninterruptible(usecs_to_jiffies(count)); + udelay(count); else schedule_timeout_uninterruptible(msecs_to_jiffies(count)); } @@ -676,7 +712,7 @@ SDEBUG(" dst: "); dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); SDEBUG(" src1: "); - src1 = atom_get_src(ctx, attr, ptr); + src1 = atom_get_src_direct(ctx, ((attr >> 3) & 7), ptr); SDEBUG(" src2: "); src2 = atom_get_src(ctx, attr, ptr); dst &= src1; @@ -808,7 +844,7 @@ SDEBUG(" base: 0x%04X\n", ctx->ctx->reg_block); } -static void atom_op_shl(atom_exec_context *ctx, int *ptr, int arg) +static void atom_op_shift_left(atom_exec_context *ctx, int *ptr, int arg) { uint8_t attr = U8((*ptr)++), shift; uint32_t saved, dst; @@ -817,14 +853,14 @@ attr |= atom_def_dst[attr >> 3] << 6; SDEBUG(" dst: "); dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); - shift = U8((*ptr)++); + shift = atom_get_src_direct(ctx, ATOM_SRC_BYTE0, ptr); SDEBUG(" shift: %d\n", shift); dst <<= shift; SDEBUG(" dst: "); atom_put_dst(ctx, arg, attr, &dptr, dst, saved); } -static void atom_op_shr(atom_exec_context *ctx, int *ptr, int arg) +static void atom_op_shift_right(atom_exec_context *ctx, int *ptr, int arg) { uint8_t attr = U8((*ptr)++), shift; uint32_t saved, dst; @@ -833,9 +869,47 @@ attr |= atom_def_dst[attr >> 3] << 6; SDEBUG(" dst: "); dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); - shift = U8((*ptr)++); + shift = atom_get_src_direct(ctx, ATOM_SRC_BYTE0, ptr); + SDEBUG(" shift: %d\n", shift); + dst >>= shift; + SDEBUG(" dst: "); + atom_put_dst(ctx, arg, attr, &dptr, dst, saved); +} + +static void atom_op_shl(atom_exec_context *ctx, int *ptr, int arg) +{ + uint8_t attr = U8((*ptr)++), shift; + uint32_t saved, dst; + int dptr = *ptr; + uint32_t dst_align = atom_dst_to_src[(attr >> 3) & 7][(attr >> 6) & 3]; + SDEBUG(" dst: "); + dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); + /* op needs to full dst value */ + dst = saved; + shift = atom_get_src(ctx, attr, ptr); + SDEBUG(" shift: %d\n", shift); + dst <<= shift; + dst &= atom_arg_mask[dst_align]; + dst >>= atom_arg_shift[dst_align]; + SDEBUG(" dst: "); + atom_put_dst(ctx, arg, attr, &dptr, dst, saved); +} + +static void atom_op_shr(atom_exec_context *ctx, int *ptr, int arg) +{ + uint8_t attr = U8((*ptr)++), shift; + uint32_t saved, dst; + int dptr = *ptr; + uint32_t dst_align = atom_dst_to_src[(attr >> 3) & 7][(attr >> 6) & 3]; + SDEBUG(" dst: "); + dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); + /* op needs to full dst value */ + dst = saved; + shift = atom_get_src(ctx, attr, ptr); SDEBUG(" shift: %d\n", shift); dst >>= shift; + dst &= atom_arg_mask[dst_align]; + dst >>= atom_arg_shift[dst_align]; SDEBUG(" dst: "); atom_put_dst(ctx, arg, attr, &dptr, dst, saved); } @@ -936,18 +1010,18 @@ atom_op_or, ATOM_ARG_FB}, { atom_op_or, ATOM_ARG_PLL}, { atom_op_or, ATOM_ARG_MC}, { - atom_op_shl, ATOM_ARG_REG}, { - atom_op_shl, ATOM_ARG_PS}, { - atom_op_shl, ATOM_ARG_WS}, { - atom_op_shl, ATOM_ARG_FB}, { - atom_op_shl, ATOM_ARG_PLL}, { - atom_op_shl, ATOM_ARG_MC}, { - atom_op_shr, ATOM_ARG_REG}, { - atom_op_shr, ATOM_ARG_PS}, { - atom_op_shr, ATOM_ARG_WS}, { - atom_op_shr, ATOM_ARG_FB}, { - atom_op_shr, ATOM_ARG_PLL}, { - atom_op_shr, ATOM_ARG_MC}, { + atom_op_shift_left, ATOM_ARG_REG}, { + atom_op_shift_left, ATOM_ARG_PS}, { + atom_op_shift_left, ATOM_ARG_WS}, { + atom_op_shift_left, ATOM_ARG_FB}, { + atom_op_shift_left, ATOM_ARG_PLL}, { + atom_op_shift_left, ATOM_ARG_MC}, { + atom_op_shift_right, ATOM_ARG_REG}, { + atom_op_shift_right, ATOM_ARG_PS}, { + atom_op_shift_right, ATOM_ARG_WS}, { + atom_op_shift_right, ATOM_ARG_FB}, { + atom_op_shift_right, ATOM_ARG_PLL}, { + atom_op_shift_right, ATOM_ARG_MC}, { atom_op_mul, ATOM_ARG_REG}, { atom_op_mul, ATOM_ARG_PS}, { atom_op_mul, ATOM_ARG_WS}, { @@ -1040,7 +1114,7 @@ atom_op_shr, ATOM_ARG_MC}, { atom_op_debug, 0},}; -void atom_execute_table(struct atom_context *ctx, int index, uint32_t * params) +static void atom_execute_table_locked(struct atom_context *ctx, int index, uint32_t * params) { int base = CU16(ctx->cmd_table + 4 + 2 * index); int len, ws, ps, ptr; @@ -1057,8 +1131,6 @@ SDEBUG(">> execute %04X (len %d, WS %d, PS %d)\n", base, len, ws, ps); - /* reset reg block */ - ctx->reg_block = 0; ectx.ctx = ctx; ectx.ps_shift = ps / 4; ectx.start = base; @@ -1092,6 +1164,19 @@ kfree(ectx.ws); } +void atom_execute_table(struct atom_context *ctx, int index, uint32_t * params) +{ + mutex_lock(&ctx->mutex); + /* reset reg block */ + ctx->reg_block = 0; + /* reset fb window */ + ctx->fb_base = 0; + /* reset io mode */ + ctx->io_mode = ATOM_IO_MM; + atom_execute_table_locked(ctx, index, params); + mutex_unlock(&ctx->mutex); +} + static int atom_iio_len[] = { 1, 2, 3, 3, 3, 3, 4, 4, 4, 3 }; static void atom_index_iio(struct atom_context *ctx, int base) @@ -1214,3 +1299,28 @@ *crev = CU8(idx + 3); return; } + +int atom_allocate_fb_scratch(struct atom_context *ctx) +{ + int index = GetIndexIntoMasterTable(DATA, VRAM_UsageByFirmware); + uint16_t data_offset; + int usage_bytes; + struct _ATOM_VRAM_USAGE_BY_FIRMWARE *firmware_usage; + + atom_parse_data_header(ctx, index, NULL, NULL, NULL, &data_offset); + + 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); + + usage_bytes = firmware_usage->asFirmwareVramReserveInfo[0].usFirmwareUseInKb * 1024; + if (usage_bytes == 0) + usage_bytes = 20 * 1024; + /* allocate some scratch memory */ + ctx->scratch = kzalloc(usage_bytes, GFP_KERNEL); + if (!ctx->scratch) + return -ENOMEM; + return 0; +} --- linux-2.6.32.orig/drivers/gpu/drm/radeon/atom.h +++ linux-2.6.32/drivers/gpu/drm/radeon/atom.h @@ -91,6 +91,7 @@ #define ATOM_WS_AND_MASK 0x45 #define ATOM_WS_FB_WINDOW 0x46 #define ATOM_WS_ATTRIBUTES 0x47 +#define ATOM_WS_REGPTR 0x48 #define ATOM_IIO_NOP 0 #define ATOM_IIO_START 1 @@ -120,6 +121,7 @@ struct atom_context { struct card_info *card; + struct mutex mutex; void *bios; uint32_t cmd_table, data_table; uint16_t *iio; @@ -132,6 +134,7 @@ uint8_t shift; int cs_equal, cs_above; int io_mode; + uint32_t *scratch; }; extern int atom_debug; @@ -142,6 +145,7 @@ void atom_destroy(struct atom_context *); void atom_parse_data_header(struct atom_context *ctx, int index, uint16_t *size, uint8_t *frev, uint8_t *crev, uint16_t *data_start); void atom_parse_cmd_header(struct atom_context *ctx, int index, uint8_t *frev, uint8_t *crev); +int atom_allocate_fb_scratch(struct atom_context *ctx); #include "atom-types.h" #include "atombios.h" #include "ObjectID.h" --- linux-2.6.32.orig/drivers/gpu/drm/radeon/atombios.h +++ linux-2.6.32/drivers/gpu/drm/radeon/atombios.h @@ -1141,7 +1141,7 @@ /* ucTableFormatRevision=1,ucTableContentRevision=2 */ typedef struct _LVDS_ENCODER_CONTROL_PARAMETERS_V2 { USHORT usPixelClock; /* in 10KHz; for bios convenient */ - UCHAR ucMisc; /* see PANEL_ENCODER_MISC_xx defintions below */ + UCHAR ucMisc; /* see PANEL_ENCODER_MISC_xx definitions below */ UCHAR ucAction; /* 0: turn off encoder */ /* 1: setup and turn on encoder */ UCHAR ucTruncate; /* bit0=0: Disable truncate */ @@ -1424,7 +1424,7 @@ /* Structures used in FirmwareInfoTable */ /****************************************************************************/ -/* usBIOSCapability Defintion: */ +/* usBIOSCapability Definition: */ /* Bit 0 = 0: Bios image is not Posted, =1:Bios image is Posted; */ /* Bit 1 = 0: Dual CRTC is not supported, =1: Dual CRTC is supported; */ /* Bit 2 = 0: Extended Desktop is not supported, =1: Extended Desktop is supported; */ @@ -2386,7 +2386,7 @@ } ATOM_ANALOG_TV_INFO_V1_2; /**************************************************************************/ -/* VRAM usage and their defintions */ +/* VRAM usage and their definitions */ /* One chunk of VRAM used by Bios are for HWICON surfaces,EDID data. */ /* Current Mode timing and Dail Timing and/or STD timing data EACH device. They can be broken down as below. */ @@ -2680,7 +2680,7 @@ typedef struct _ATOM_HPD_INT_RECORD { ATOM_COMMON_RECORD_HEADER sheader; UCHAR ucHPDIntGPIOID; /* Corresponding block in GPIO_PIN_INFO table gives the pin info */ - UCHAR ucPluggged_PinState; + UCHAR ucPlugged_PinState; } ATOM_HPD_INT_RECORD; typedef struct _ATOM_OUTPUT_PROTECTION_RECORD { @@ -3046,7 +3046,7 @@ #define ATOM_S0_SYSTEM_POWER_STATE_VALUE_DC 2 #define ATOM_S0_SYSTEM_POWER_STATE_VALUE_LITEAC 3 -/* Byte aligned defintion for BIOS usage */ +/* Byte aligned definition for BIOS usage */ #define ATOM_S0_CRT1_MONOb0 0x01 #define ATOM_S0_CRT1_COLORb0 0x02 #define ATOM_S0_CRT1_MASKb0 (ATOM_S0_CRT1_MONOb0+ATOM_S0_CRT1_COLORb0) @@ -3131,7 +3131,7 @@ #define ATOM_S2_DISPLAY_ROTATION_DEGREE_SHIFT 30 #define ATOM_S2_DISPLAY_ROTATION_ANGLE_MASK 0xC0000000L -/* Byte aligned defintion for BIOS usage */ +/* Byte aligned definition for BIOS usage */ #define ATOM_S2_TV1_STANDARD_MASKb0 0x0F #define ATOM_S2_CURRENT_BL_LEVEL_MASKb1 0xFF #define ATOM_S2_CRT1_DPMS_STATEb2 0x01 @@ -3190,7 +3190,7 @@ #define ATOM_S3_ALLOW_FAST_PWR_SWITCH 0x40000000L #define ATOM_S3_RQST_GPU_USE_MIN_PWR 0x80000000L -/* Byte aligned defintion for BIOS usage */ +/* Byte aligned definition for BIOS usage */ #define ATOM_S3_CRT1_ACTIVEb0 0x01 #define ATOM_S3_LCD1_ACTIVEb0 0x02 #define ATOM_S3_TV1_ACTIVEb0 0x04 @@ -3230,7 +3230,7 @@ #define ATOM_S4_LCD1_REFRESH_MASK 0x0000FF00L #define ATOM_S4_LCD1_REFRESH_SHIFT 8 -/* Byte aligned defintion for BIOS usage */ +/* Byte aligned definition for BIOS usage */ #define ATOM_S4_LCD1_PANEL_ID_MASKb0 0x0FF #define ATOM_S4_LCD1_REFRESH_MASKb1 ATOM_S4_LCD1_PANEL_ID_MASKb0 #define ATOM_S4_VRAM_INFO_MASKb2 ATOM_S4_LCD1_PANEL_ID_MASKb0 @@ -3310,7 +3310,7 @@ #define ATOM_S6_VRI_BRIGHTNESS_CHANGE 0x40000000L #define ATOM_S6_CONFIG_DISPLAY_CHANGE_MASK 0x80000000L -/* Byte aligned defintion for BIOS usage */ +/* Byte aligned definition for BIOS usage */ #define ATOM_S6_DEVICE_CHANGEb0 0x01 #define ATOM_S6_SCALER_CHANGEb0 0x02 #define ATOM_S6_LID_CHANGEb0 0x04 @@ -4690,6 +4690,205 @@ ATOM_POWERMODE_INFO_V3 asPowerPlayInfo[ATOM_MAX_NUMBEROF_POWER_BLOCK]; } ATOM_POWERPLAY_INFO_V3; +/* New PPlib */ +/**************************************************************************/ +typedef struct _ATOM_PPLIB_THERMALCONTROLLER + +{ + UCHAR ucType; // one of ATOM_PP_THERMALCONTROLLER_* + UCHAR ucI2cLine; // as interpreted by DAL I2C + UCHAR ucI2cAddress; + UCHAR ucFanParameters; // Fan Control Parameters. + UCHAR ucFanMinRPM; // Fan Minimum RPM (hundreds) -- for display purposes only. + UCHAR ucFanMaxRPM; // Fan Maximum RPM (hundreds) -- for display purposes only. + UCHAR ucReserved; // ---- + UCHAR ucFlags; // to be defined +} ATOM_PPLIB_THERMALCONTROLLER; + +#define ATOM_PP_FANPARAMETERS_TACHOMETER_PULSES_PER_REVOLUTION_MASK 0x0f +#define ATOM_PP_FANPARAMETERS_NOFAN 0x80 // No fan is connected to this controller. + +#define ATOM_PP_THERMALCONTROLLER_NONE 0 +#define ATOM_PP_THERMALCONTROLLER_LM63 1 // Not used by PPLib +#define ATOM_PP_THERMALCONTROLLER_ADM1032 2 // Not used by PPLib +#define ATOM_PP_THERMALCONTROLLER_ADM1030 3 // Not used by PPLib +#define ATOM_PP_THERMALCONTROLLER_MUA6649 4 // Not used by PPLib +#define ATOM_PP_THERMALCONTROLLER_LM64 5 +#define ATOM_PP_THERMALCONTROLLER_F75375 6 // Not used by PPLib +#define ATOM_PP_THERMALCONTROLLER_RV6xx 7 +#define ATOM_PP_THERMALCONTROLLER_RV770 8 +#define ATOM_PP_THERMALCONTROLLER_ADT7473 9 + +typedef struct _ATOM_PPLIB_STATE +{ + UCHAR ucNonClockStateIndex; + UCHAR ucClockStateIndices[1]; // variable-sized +} ATOM_PPLIB_STATE; + +//// ATOM_PPLIB_POWERPLAYTABLE::ulPlatformCaps +#define ATOM_PP_PLATFORM_CAP_BACKBIAS 1 +#define ATOM_PP_PLATFORM_CAP_POWERPLAY 2 +#define ATOM_PP_PLATFORM_CAP_SBIOSPOWERSOURCE 4 +#define ATOM_PP_PLATFORM_CAP_ASPM_L0s 8 +#define ATOM_PP_PLATFORM_CAP_ASPM_L1 16 +#define ATOM_PP_PLATFORM_CAP_HARDWAREDC 32 +#define ATOM_PP_PLATFORM_CAP_GEMINIPRIMARY 64 +#define ATOM_PP_PLATFORM_CAP_STEPVDDC 128 +#define ATOM_PP_PLATFORM_CAP_VOLTAGECONTROL 256 +#define ATOM_PP_PLATFORM_CAP_SIDEPORTCONTROL 512 +#define ATOM_PP_PLATFORM_CAP_TURNOFFPLL_ASPML1 1024 +#define ATOM_PP_PLATFORM_CAP_HTLINKCONTROL 2048 + +typedef struct _ATOM_PPLIB_POWERPLAYTABLE +{ + ATOM_COMMON_TABLE_HEADER sHeader; + + UCHAR ucDataRevision; + + UCHAR ucNumStates; + UCHAR ucStateEntrySize; + UCHAR ucClockInfoSize; + UCHAR ucNonClockSize; + + // offset from start of this table to array of ucNumStates ATOM_PPLIB_STATE structures + USHORT usStateArrayOffset; + + // offset from start of this table to array of ASIC-specific structures, + // currently ATOM_PPLIB_CLOCK_INFO. + USHORT usClockInfoArrayOffset; + + // offset from start of this table to array of ATOM_PPLIB_NONCLOCK_INFO + USHORT usNonClockInfoArrayOffset; + + USHORT usBackbiasTime; // in microseconds + USHORT usVoltageTime; // in microseconds + USHORT usTableSize; //the size of this structure, or the extended structure + + ULONG ulPlatformCaps; // See ATOM_PPLIB_CAPS_* + + ATOM_PPLIB_THERMALCONTROLLER sThermalController; + + USHORT usBootClockInfoOffset; + USHORT usBootNonClockInfoOffset; + +} ATOM_PPLIB_POWERPLAYTABLE; + +//// ATOM_PPLIB_NONCLOCK_INFO::usClassification +#define ATOM_PPLIB_CLASSIFICATION_UI_MASK 0x0007 +#define ATOM_PPLIB_CLASSIFICATION_UI_SHIFT 0 +#define ATOM_PPLIB_CLASSIFICATION_UI_NONE 0 +#define ATOM_PPLIB_CLASSIFICATION_UI_BATTERY 1 +#define ATOM_PPLIB_CLASSIFICATION_UI_BALANCED 3 +#define ATOM_PPLIB_CLASSIFICATION_UI_PERFORMANCE 5 +// 2, 4, 6, 7 are reserved + +#define ATOM_PPLIB_CLASSIFICATION_BOOT 0x0008 +#define ATOM_PPLIB_CLASSIFICATION_THERMAL 0x0010 +#define ATOM_PPLIB_CLASSIFICATION_LIMITEDPOWERSOURCE 0x0020 +#define ATOM_PPLIB_CLASSIFICATION_REST 0x0040 +#define ATOM_PPLIB_CLASSIFICATION_FORCED 0x0080 +#define ATOM_PPLIB_CLASSIFICATION_3DPERFORMANCE 0x0100 +#define ATOM_PPLIB_CLASSIFICATION_OVERDRIVETEMPLATE 0x0200 +#define ATOM_PPLIB_CLASSIFICATION_UVDSTATE 0x0400 +#define ATOM_PPLIB_CLASSIFICATION_3DLOW 0x0800 +#define ATOM_PPLIB_CLASSIFICATION_ACPI 0x1000 +// remaining 3 bits are reserved + +//// ATOM_PPLIB_NONCLOCK_INFO::ulCapsAndSettings +#define ATOM_PPLIB_SINGLE_DISPLAY_ONLY 0x00000001 +#define ATOM_PPLIB_SUPPORTS_VIDEO_PLAYBACK 0x00000002 + +// 0 is 2.5Gb/s, 1 is 5Gb/s +#define ATOM_PPLIB_PCIE_LINK_SPEED_MASK 0x00000004 +#define ATOM_PPLIB_PCIE_LINK_SPEED_SHIFT 2 + +// lanes - 1: 1, 2, 4, 8, 12, 16 permitted by PCIE spec +#define ATOM_PPLIB_PCIE_LINK_WIDTH_MASK 0x000000F8 +#define ATOM_PPLIB_PCIE_LINK_WIDTH_SHIFT 3 + +// lookup into reduced refresh-rate table +#define ATOM_PPLIB_LIMITED_REFRESHRATE_VALUE_MASK 0x00000F00 +#define ATOM_PPLIB_LIMITED_REFRESHRATE_VALUE_SHIFT 8 + +#define ATOM_PPLIB_LIMITED_REFRESHRATE_UNLIMITED 0 +#define ATOM_PPLIB_LIMITED_REFRESHRATE_50HZ 1 +// 2-15 TBD as needed. + +#define ATOM_PPLIB_SOFTWARE_DISABLE_LOADBALANCING 0x00001000 +#define ATOM_PPLIB_SOFTWARE_ENABLE_SLEEP_FOR_TIMESTAMPS 0x00002000 +#define ATOM_PPLIB_ENABLE_VARIBRIGHT 0x00008000 + +#define ATOM_PPLIB_DISALLOW_ON_DC 0x00004000 + +// Contained in an array starting at the offset +// in ATOM_PPLIB_POWERPLAYTABLE::usNonClockInfoArrayOffset. +// referenced from ATOM_PPLIB_STATE_INFO::ucNonClockStateIndex +typedef struct _ATOM_PPLIB_NONCLOCK_INFO +{ + USHORT usClassification; + UCHAR ucMinTemperature; + UCHAR ucMaxTemperature; + ULONG ulCapsAndSettings; + UCHAR ucRequiredPower; + UCHAR ucUnused1[3]; +} ATOM_PPLIB_NONCLOCK_INFO; + +// Contained in an array starting at the offset +// in ATOM_PPLIB_POWERPLAYTABLE::usClockInfoArrayOffset. +// referenced from ATOM_PPLIB_STATE::ucClockStateIndices +typedef struct _ATOM_PPLIB_R600_CLOCK_INFO +{ + USHORT usEngineClockLow; + UCHAR ucEngineClockHigh; + + USHORT usMemoryClockLow; + UCHAR ucMemoryClockHigh; + + USHORT usVDDC; + USHORT usUnused1; + USHORT usUnused2; + + ULONG ulFlags; // ATOM_PPLIB_R600_FLAGS_* + +} ATOM_PPLIB_R600_CLOCK_INFO; + +// ulFlags in ATOM_PPLIB_R600_CLOCK_INFO +#define ATOM_PPLIB_R600_FLAGS_PCIEGEN2 1 +#define ATOM_PPLIB_R600_FLAGS_UVDSAFE 2 +#define ATOM_PPLIB_R600_FLAGS_BACKBIASENABLE 4 +#define ATOM_PPLIB_R600_FLAGS_MEMORY_ODT_OFF 8 +#define ATOM_PPLIB_R600_FLAGS_MEMORY_DLL_OFF 16 + +typedef struct _ATOM_PPLIB_RS780_CLOCK_INFO + +{ + USHORT usLowEngineClockLow; // Low Engine clock in MHz (the same way as on the R600). + UCHAR ucLowEngineClockHigh; + USHORT usHighEngineClockLow; // High Engine clock in MHz. + UCHAR ucHighEngineClockHigh; + USHORT usMemoryClockLow; // For now one of the ATOM_PPLIB_RS780_SPMCLK_XXXX constants. + UCHAR ucMemoryClockHigh; // Currentyl unused. + UCHAR ucPadding; // For proper alignment and size. + USHORT usVDDC; // For the 780, use: None, Low, High, Variable + UCHAR ucMaxHTLinkWidth; // From SBIOS - {2, 4, 8, 16} + UCHAR ucMinHTLinkWidth; // From SBIOS - {2, 4, 8, 16}. Effective only if CDLW enabled. Minimum down stream width could be bigger as display BW requriement. + USHORT usHTLinkFreq; // See definition ATOM_PPLIB_RS780_HTLINKFREQ_xxx or in MHz(>=200). + ULONG ulFlags; +} ATOM_PPLIB_RS780_CLOCK_INFO; + +#define ATOM_PPLIB_RS780_VOLTAGE_NONE 0 +#define ATOM_PPLIB_RS780_VOLTAGE_LOW 1 +#define ATOM_PPLIB_RS780_VOLTAGE_HIGH 2 +#define ATOM_PPLIB_RS780_VOLTAGE_VARIABLE 3 + +#define ATOM_PPLIB_RS780_SPMCLK_NONE 0 // We cannot change the side port memory clock, leave it as it is. +#define ATOM_PPLIB_RS780_SPMCLK_LOW 1 +#define ATOM_PPLIB_RS780_SPMCLK_HIGH 2 + +#define ATOM_PPLIB_RS780_HTLINKFREQ_NONE 0 +#define ATOM_PPLIB_RS780_HTLINKFREQ_LOW 1 +#define ATOM_PPLIB_RS780_HTLINKFREQ_HIGH 2 + /**************************************************************************/ /* Following definitions are for compatiblity issue in different SW components. */ --- linux-2.6.32.orig/drivers/gpu/drm/radeon/atombios_crtc.c +++ linux-2.6.32/drivers/gpu/drm/radeon/atombios_crtc.c @@ -241,6 +241,7 @@ { struct drm_device *dev = crtc->dev; struct radeon_device *rdev = dev->dev_private; + struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); switch (mode) { case DRM_MODE_DPMS_ON: @@ -248,20 +249,19 @@ if (ASIC_IS_DCE3(rdev)) atombios_enable_crtc_memreq(crtc, 1); atombios_blank_crtc(crtc, 0); + drm_vblank_post_modeset(dev, radeon_crtc->crtc_id); + radeon_crtc_load_lut(crtc); break; case DRM_MODE_DPMS_STANDBY: case DRM_MODE_DPMS_SUSPEND: case DRM_MODE_DPMS_OFF: + drm_vblank_pre_modeset(dev, radeon_crtc->crtc_id); atombios_blank_crtc(crtc, 1); if (ASIC_IS_DCE3(rdev)) atombios_enable_crtc_memreq(crtc, 0); atombios_enable_crtc(crtc, 0); break; } - - if (mode != DRM_MODE_DPMS_OFF) { - radeon_crtc_load_lut(crtc); - } } static void @@ -307,7 +307,6 @@ args.susModeMiscInfo.usAccess = cpu_to_le16(misc); args.ucCRTC = radeon_crtc->crtc_id; - printk("executing set crtc dtd timing\n"); atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); } @@ -347,7 +346,6 @@ args.susModeMiscInfo.usAccess = cpu_to_le16(misc); args.ucCRTC = radeon_crtc->crtc_id; - printk("executing set crtc timing\n"); atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); } @@ -409,60 +407,75 @@ } } -void atombios_crtc_set_pll(struct drm_crtc *crtc, struct drm_display_mode *mode) +union adjust_pixel_clock { + ADJUST_DISPLAY_PLL_PS_ALLOCATION v1; +}; + +static u32 atombios_adjust_pll(struct drm_crtc *crtc, + struct drm_display_mode *mode, + struct radeon_pll *pll) { - struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); struct drm_device *dev = crtc->dev; struct radeon_device *rdev = dev->dev_private; struct drm_encoder *encoder = NULL; struct radeon_encoder *radeon_encoder = NULL; - uint8_t frev, crev; - int index; - SET_PIXEL_CLOCK_PS_ALLOCATION args; - PIXEL_CLOCK_PARAMETERS *spc1_ptr; - PIXEL_CLOCK_PARAMETERS_V2 *spc2_ptr; - PIXEL_CLOCK_PARAMETERS_V3 *spc3_ptr; - uint32_t pll_clock = mode->clock; - uint32_t adjusted_clock; - uint32_t ref_div = 0, fb_div = 0, frac_fb_div = 0, post_div = 0; - struct radeon_pll *pll; - int pll_flags = 0; + u32 adjusted_clock = mode->clock; - memset(&args, 0, sizeof(args)); + /* reset the pll flags */ + pll->flags = 0; + + /* select the PLL algo */ + if (ASIC_IS_AVIVO(rdev)) { + if (radeon_new_pll == 0) + pll->algo = PLL_ALGO_LEGACY; + else + pll->algo = PLL_ALGO_NEW; + } else { + if (radeon_new_pll == 1) + pll->algo = PLL_ALGO_NEW; + else + pll->algo = PLL_ALGO_LEGACY; + } if (ASIC_IS_AVIVO(rdev)) { if ((rdev->family == CHIP_RS600) || (rdev->family == CHIP_RS690) || (rdev->family == CHIP_RS740)) - pll_flags |= (RADEON_PLL_USE_FRAC_FB_DIV | - RADEON_PLL_PREFER_CLOSEST_LOWER); + pll->flags |= (RADEON_PLL_USE_FRAC_FB_DIV | + RADEON_PLL_PREFER_CLOSEST_LOWER); if (ASIC_IS_DCE32(rdev) && mode->clock > 200000) /* range limits??? */ - pll_flags |= RADEON_PLL_PREFER_HIGH_FB_DIV; + pll->flags |= RADEON_PLL_PREFER_HIGH_FB_DIV; else - pll_flags |= RADEON_PLL_PREFER_LOW_REF_DIV; + pll->flags |= RADEON_PLL_PREFER_LOW_REF_DIV; } else { - pll_flags |= RADEON_PLL_LEGACY; + pll->flags |= RADEON_PLL_LEGACY; if (mode->clock > 200000) /* range limits??? */ - pll_flags |= RADEON_PLL_PREFER_HIGH_FB_DIV; + pll->flags |= RADEON_PLL_PREFER_HIGH_FB_DIV; else - pll_flags |= RADEON_PLL_PREFER_LOW_REF_DIV; + pll->flags |= RADEON_PLL_PREFER_LOW_REF_DIV; } list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { if (encoder->crtc == crtc) { - if (!ASIC_IS_AVIVO(rdev)) { - if (encoder->encoder_type != - DRM_MODE_ENCODER_DAC) - pll_flags |= RADEON_PLL_NO_ODD_POST_DIV; - if (!ASIC_IS_AVIVO(rdev) - && (encoder->encoder_type == - DRM_MODE_ENCODER_LVDS)) - pll_flags |= RADEON_PLL_USE_REF_DIV; - } radeon_encoder = to_radeon_encoder(encoder); + if (ASIC_IS_AVIVO(rdev)) { + /* DVO wants 2x pixel clock if the DVO chip is in 12 bit mode */ + if (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1) + adjusted_clock = mode->clock * 2; + /* LVDS PLL quirks */ + if (encoder->encoder_type == DRM_MODE_ENCODER_LVDS) { + struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; + pll->algo = dig->pll_algo; + } + } else { + if (encoder->encoder_type != DRM_MODE_ENCODER_DAC) + pll->flags |= RADEON_PLL_NO_ODD_POST_DIV; + if (encoder->encoder_type == DRM_MODE_ENCODER_LVDS) + pll->flags |= RADEON_PLL_USE_REF_DIV; + } break; } } @@ -472,36 +485,91 @@ * special hw requirements. */ if (ASIC_IS_DCE3(rdev)) { - ADJUST_DISPLAY_PLL_PS_ALLOCATION adjust_pll_args; + union adjust_pixel_clock args; + struct radeon_encoder_atom_dig *dig; + u8 frev, crev; + int index; + + if (!radeon_encoder->enc_priv) + return adjusted_clock; + dig = radeon_encoder->enc_priv; - if (!encoder) - return; + index = GetIndexIntoMasterTable(COMMAND, AdjustDisplayPll); + atom_parse_cmd_header(rdev->mode_info.atom_context, index, &frev, + &crev); - memset(&adjust_pll_args, 0, sizeof(adjust_pll_args)); - adjust_pll_args.usPixelClock = cpu_to_le16(mode->clock / 10); - adjust_pll_args.ucTransmitterID = radeon_encoder->encoder_id; - adjust_pll_args.ucEncodeMode = atombios_get_encoder_mode(encoder); + memset(&args, 0, sizeof(args)); - index = GetIndexIntoMasterTable(COMMAND, AdjustDisplayPll); - atom_execute_table(rdev->mode_info.atom_context, - index, (uint32_t *)&adjust_pll_args); - adjusted_clock = le16_to_cpu(adjust_pll_args.usPixelClock) * 10; - } else { - /* DVO wants 2x pixel clock if the DVO chip is in 12 bit mode */ - if (ASIC_IS_AVIVO(rdev) && - (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1)) - adjusted_clock = mode->clock * 2; - else - adjusted_clock = mode->clock; + switch (frev) { + case 1: + switch (crev) { + case 1: + case 2: + args.v1.usPixelClock = cpu_to_le16(mode->clock / 10); + args.v1.ucTransmitterID = radeon_encoder->encoder_id; + args.v1.ucEncodeMode = atombios_get_encoder_mode(encoder); + + atom_execute_table(rdev->mode_info.atom_context, + index, (uint32_t *)&args); + adjusted_clock = le16_to_cpu(args.v1.usPixelClock) * 10; + break; + default: + DRM_ERROR("Unknown table version %d %d\n", frev, crev); + return adjusted_clock; + } + break; + default: + DRM_ERROR("Unknown table version %d %d\n", frev, crev); + return adjusted_clock; + } + } + return adjusted_clock; +} + +union set_pixel_clock { + SET_PIXEL_CLOCK_PS_ALLOCATION base; + PIXEL_CLOCK_PARAMETERS v1; + PIXEL_CLOCK_PARAMETERS_V2 v2; + PIXEL_CLOCK_PARAMETERS_V3 v3; +}; + +void atombios_crtc_set_pll(struct drm_crtc *crtc, struct drm_display_mode *mode) +{ + struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); + struct drm_device *dev = crtc->dev; + struct radeon_device *rdev = dev->dev_private; + struct drm_encoder *encoder = NULL; + struct radeon_encoder *radeon_encoder = NULL; + u8 frev, crev; + int index; + union set_pixel_clock args; + u32 pll_clock = mode->clock; + u32 ref_div = 0, fb_div = 0, frac_fb_div = 0, post_div = 0; + struct radeon_pll *pll; + u32 adjusted_clock; + + memset(&args, 0, sizeof(args)); + + list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { + if (encoder->crtc == crtc) { + radeon_encoder = to_radeon_encoder(encoder); + break; + } } + if (!radeon_encoder) + return; + if (radeon_crtc->crtc_id == 0) pll = &rdev->clock.p1pll; else pll = &rdev->clock.p2pll; + /* adjust pixel clock as needed */ + adjusted_clock = atombios_adjust_pll(crtc, mode, pll); + radeon_compute_pll(pll, adjusted_clock, &pll_clock, &fb_div, &frac_fb_div, - &ref_div, &post_div, pll_flags); + &ref_div, &post_div); index = GetIndexIntoMasterTable(COMMAND, SetPixelClock); atom_parse_cmd_header(rdev->mode_info.atom_context, index, &frev, @@ -511,45 +579,38 @@ case 1: switch (crev) { case 1: - spc1_ptr = (PIXEL_CLOCK_PARAMETERS *) & args.sPCLKInput; - spc1_ptr->usPixelClock = cpu_to_le16(mode->clock / 10); - spc1_ptr->usRefDiv = cpu_to_le16(ref_div); - spc1_ptr->usFbDiv = cpu_to_le16(fb_div); - spc1_ptr->ucFracFbDiv = frac_fb_div; - spc1_ptr->ucPostDiv = post_div; - spc1_ptr->ucPpll = + args.v1.usPixelClock = cpu_to_le16(mode->clock / 10); + args.v1.usRefDiv = cpu_to_le16(ref_div); + args.v1.usFbDiv = cpu_to_le16(fb_div); + args.v1.ucFracFbDiv = frac_fb_div; + args.v1.ucPostDiv = post_div; + args.v1.ucPpll = radeon_crtc->crtc_id ? ATOM_PPLL2 : ATOM_PPLL1; - spc1_ptr->ucCRTC = radeon_crtc->crtc_id; - spc1_ptr->ucRefDivSrc = 1; + args.v1.ucCRTC = radeon_crtc->crtc_id; + args.v1.ucRefDivSrc = 1; break; case 2: - spc2_ptr = - (PIXEL_CLOCK_PARAMETERS_V2 *) & args.sPCLKInput; - spc2_ptr->usPixelClock = cpu_to_le16(mode->clock / 10); - spc2_ptr->usRefDiv = cpu_to_le16(ref_div); - spc2_ptr->usFbDiv = cpu_to_le16(fb_div); - spc2_ptr->ucFracFbDiv = frac_fb_div; - spc2_ptr->ucPostDiv = post_div; - spc2_ptr->ucPpll = + args.v2.usPixelClock = cpu_to_le16(mode->clock / 10); + args.v2.usRefDiv = cpu_to_le16(ref_div); + args.v2.usFbDiv = cpu_to_le16(fb_div); + args.v2.ucFracFbDiv = frac_fb_div; + args.v2.ucPostDiv = post_div; + args.v2.ucPpll = radeon_crtc->crtc_id ? ATOM_PPLL2 : ATOM_PPLL1; - spc2_ptr->ucCRTC = radeon_crtc->crtc_id; - spc2_ptr->ucRefDivSrc = 1; + args.v2.ucCRTC = radeon_crtc->crtc_id; + args.v2.ucRefDivSrc = 1; break; case 3: - if (!encoder) - return; - spc3_ptr = - (PIXEL_CLOCK_PARAMETERS_V3 *) & args.sPCLKInput; - spc3_ptr->usPixelClock = cpu_to_le16(mode->clock / 10); - spc3_ptr->usRefDiv = cpu_to_le16(ref_div); - spc3_ptr->usFbDiv = cpu_to_le16(fb_div); - spc3_ptr->ucFracFbDiv = frac_fb_div; - spc3_ptr->ucPostDiv = post_div; - spc3_ptr->ucPpll = + args.v3.usPixelClock = cpu_to_le16(mode->clock / 10); + args.v3.usRefDiv = cpu_to_le16(ref_div); + args.v3.usFbDiv = cpu_to_le16(fb_div); + args.v3.ucFracFbDiv = frac_fb_div; + args.v3.ucPostDiv = post_div; + args.v3.ucPpll = radeon_crtc->crtc_id ? ATOM_PPLL2 : ATOM_PPLL1; - spc3_ptr->ucMiscInfo = (radeon_crtc->crtc_id << 2); - spc3_ptr->ucTransmitterId = radeon_encoder->encoder_id; - spc3_ptr->ucEncoderMode = + args.v3.ucMiscInfo = (radeon_crtc->crtc_id << 2); + args.v3.ucTransmitterId = radeon_encoder->encoder_id; + args.v3.ucEncoderMode = atombios_get_encoder_mode(encoder); break; default: @@ -562,33 +623,43 @@ return; } - printk("executing set pll\n"); atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); } -int atombios_crtc_set_base(struct drm_crtc *crtc, int x, int y, - struct drm_framebuffer *old_fb) +static int avivo_crtc_set_base(struct drm_crtc *crtc, int x, int y, + struct drm_framebuffer *old_fb) { struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); struct drm_device *dev = crtc->dev; struct radeon_device *rdev = dev->dev_private; struct radeon_framebuffer *radeon_fb; struct drm_gem_object *obj; - struct drm_radeon_gem_object *obj_priv; + struct radeon_bo *rbo; uint64_t fb_location; uint32_t fb_format, fb_pitch_pixels, tiling_flags; + int r; - if (!crtc->fb) - return -EINVAL; + /* no fb bound */ + if (!crtc->fb) { + DRM_DEBUG("No FB bound\n"); + return 0; + } radeon_fb = to_radeon_framebuffer(crtc->fb); + /* Pin framebuffer & get tilling informations */ obj = radeon_fb->obj; - obj_priv = obj->driver_private; - - if (radeon_gem_object_pin(obj, RADEON_GEM_DOMAIN_VRAM, &fb_location)) { + rbo = obj->driver_private; + r = radeon_bo_reserve(rbo, false); + if (unlikely(r != 0)) + return r; + r = radeon_bo_pin(rbo, RADEON_GEM_DOMAIN_VRAM, &fb_location); + if (unlikely(r != 0)) { + radeon_bo_unreserve(rbo); return -EINVAL; } + radeon_bo_get_tiling_flags(rbo, &tiling_flags, NULL); + radeon_bo_unreserve(rbo); switch (crtc->fb->bits_per_pixel) { case 8: @@ -618,8 +689,6 @@ return -EINVAL; } - radeon_object_get_tiling_flags(obj->driver_private, - &tiling_flags, NULL); if (tiling_flags & RADEON_TILING_MACRO) fb_format |= AVIVO_D1GRPH_MACRO_ADDRESS_MODE; @@ -674,7 +743,12 @@ if (old_fb && old_fb != crtc->fb) { radeon_fb = to_radeon_framebuffer(old_fb); - radeon_gem_object_unpin(radeon_fb->obj); + rbo = radeon_fb->obj->driver_private; + r = radeon_bo_reserve(rbo, false); + if (unlikely(r != 0)) + return r; + radeon_bo_unpin(rbo); + radeon_bo_unreserve(rbo); } /* Bytes per pixel may have changed */ @@ -683,6 +757,42 @@ return 0; } +int atombios_crtc_set_base(struct drm_crtc *crtc, int x, int y, + struct drm_framebuffer *old_fb) +{ + struct drm_device *dev = crtc->dev; + struct radeon_device *rdev = dev->dev_private; + + if (ASIC_IS_AVIVO(rdev)) + return avivo_crtc_set_base(crtc, x, y, old_fb); + else + return radeon_crtc_set_base(crtc, x, y, old_fb); +} + +/* properly set additional regs when using atombios */ +static void radeon_legacy_atom_fixup(struct drm_crtc *crtc) +{ + struct drm_device *dev = crtc->dev; + struct radeon_device *rdev = dev->dev_private; + struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); + u32 disp_merge_cntl; + + switch (radeon_crtc->crtc_id) { + case 0: + disp_merge_cntl = RREG32(RADEON_DISP_MERGE_CNTL); + disp_merge_cntl &= ~RADEON_DISP_RGB_OFFSET_EN; + WREG32(RADEON_DISP_MERGE_CNTL, disp_merge_cntl); + break; + case 1: + disp_merge_cntl = RREG32(RADEON_DISP2_MERGE_CNTL); + disp_merge_cntl &= ~RADEON_DISP2_RGB_OFFSET_EN; + WREG32(RADEON_DISP2_MERGE_CNTL, disp_merge_cntl); + WREG32(RADEON_FP_H2_SYNC_STRT_WID, RREG32(RADEON_CRTC2_H_SYNC_STRT_WID)); + WREG32(RADEON_FP_V2_SYNC_STRT_WID, RREG32(RADEON_CRTC2_V_SYNC_STRT_WID)); + break; + } +} + int atombios_crtc_mode_set(struct drm_crtc *crtc, struct drm_display_mode *mode, struct drm_display_mode *adjusted_mode, @@ -704,8 +814,8 @@ else { if (radeon_crtc->crtc_id == 0) atombios_set_crtc_dtd_timing(crtc, adjusted_mode); - radeon_crtc_set_base(crtc, x, y, old_fb); - radeon_legacy_atom_set_surface(crtc); + atombios_crtc_set_base(crtc, x, y, old_fb); + radeon_legacy_atom_fixup(crtc); } atombios_overscan_setup(crtc, mode, adjusted_mode); atombios_scaler_setup(crtc); @@ -723,8 +833,8 @@ static void atombios_crtc_prepare(struct drm_crtc *crtc) { - atombios_crtc_dpms(crtc, DRM_MODE_DPMS_OFF); atombios_lock_crtc(crtc, 1); + atombios_crtc_dpms(crtc, DRM_MODE_DPMS_OFF); } static void atombios_crtc_commit(struct drm_crtc *crtc) --- linux-2.6.32.orig/drivers/gpu/drm/radeon/r100.c +++ linux-2.6.32/drivers/gpu/drm/radeon/r100.c @@ -65,6 +65,96 @@ * r100,rv100,rs100,rv200,rs200,r200,rv250,rs300,rv280 */ +/* hpd for digital panel detect/disconnect */ +bool r100_hpd_sense(struct radeon_device *rdev, enum radeon_hpd_id hpd) +{ + bool connected = false; + + switch (hpd) { + case RADEON_HPD_1: + if (RREG32(RADEON_FP_GEN_CNTL) & RADEON_FP_DETECT_SENSE) + connected = true; + break; + case RADEON_HPD_2: + if (RREG32(RADEON_FP2_GEN_CNTL) & RADEON_FP2_DETECT_SENSE) + connected = true; + break; + default: + break; + } + return connected; +} + +void r100_hpd_set_polarity(struct radeon_device *rdev, + enum radeon_hpd_id hpd) +{ + u32 tmp; + bool connected = r100_hpd_sense(rdev, hpd); + + switch (hpd) { + case RADEON_HPD_1: + tmp = RREG32(RADEON_FP_GEN_CNTL); + if (connected) + tmp &= ~RADEON_FP_DETECT_INT_POL; + else + tmp |= RADEON_FP_DETECT_INT_POL; + WREG32(RADEON_FP_GEN_CNTL, tmp); + break; + case RADEON_HPD_2: + tmp = RREG32(RADEON_FP2_GEN_CNTL); + if (connected) + tmp &= ~RADEON_FP2_DETECT_INT_POL; + else + tmp |= RADEON_FP2_DETECT_INT_POL; + WREG32(RADEON_FP2_GEN_CNTL, tmp); + break; + default: + break; + } +} + +void r100_hpd_init(struct radeon_device *rdev) +{ + struct drm_device *dev = rdev->ddev; + struct drm_connector *connector; + + list_for_each_entry(connector, &dev->mode_config.connector_list, head) { + struct radeon_connector *radeon_connector = to_radeon_connector(connector); + switch (radeon_connector->hpd.hpd) { + case RADEON_HPD_1: + rdev->irq.hpd[0] = true; + break; + case RADEON_HPD_2: + rdev->irq.hpd[1] = true; + break; + default: + break; + } + } + if (rdev->irq.installed) + r100_irq_set(rdev); +} + +void r100_hpd_fini(struct radeon_device *rdev) +{ + struct drm_device *dev = rdev->ddev; + struct drm_connector *connector; + + list_for_each_entry(connector, &dev->mode_config.connector_list, head) { + struct radeon_connector *radeon_connector = to_radeon_connector(connector); + switch (radeon_connector->hpd.hpd) { + case RADEON_HPD_1: + rdev->irq.hpd[0] = false; + break; + case RADEON_HPD_2: + rdev->irq.hpd[1] = false; + break; + default: + break; + } + } +} + /* * PCI GART */ @@ -94,6 +184,15 @@ return radeon_gart_table_ram_alloc(rdev); } +/* required on r1xx, r2xx, r300, r(v)350, r420/r481, rs400/rs480 */ +void r100_enable_bm(struct radeon_device *rdev) +{ + uint32_t tmp; + /* Enable bus mastering */ + tmp = RREG32(RADEON_BUS_CNTL) & ~RADEON_BUS_MASTER_DIS; + WREG32(RADEON_BUS_CNTL, tmp); +} + int r100_pci_gart_enable(struct radeon_device *rdev) { uint32_t tmp; @@ -105,9 +204,6 @@ WREG32(RADEON_AIC_LO_ADDR, rdev->mc.gtt_location); tmp = rdev->mc.gtt_location + rdev->mc.gtt_size - 1; WREG32(RADEON_AIC_HI_ADDR, tmp); - /* Enable bus mastering */ - tmp = RREG32(RADEON_BUS_CNTL) & ~RADEON_BUS_MASTER_DIS; - WREG32(RADEON_BUS_CNTL, tmp); /* set PCI GART page-table base address */ WREG32(RADEON_AIC_PT_BASE, rdev->gart.table_addr); tmp = RREG32(RADEON_AIC_CNTL) | RADEON_PCIGART_TRANSLATE_EN; @@ -148,6 +244,11 @@ { uint32_t tmp = 0; + if (!rdev->irq.installed) { + WARN(1, "Can't enable IRQ/MSI because no handler is installed.\n"); + WREG32(R_000040_GEN_INT_CNTL, 0); + return -EINVAL; + } if (rdev->irq.sw_int) { tmp |= RADEON_SW_INT_ENABLE; } @@ -157,6 +258,12 @@ if (rdev->irq.crtc_vblank_int[1]) { tmp |= RADEON_CRTC2_VBLANK_MASK; } + if (rdev->irq.hpd[0]) { + tmp |= RADEON_FP_DETECT_MASK; + } + if (rdev->irq.hpd[1]) { + tmp |= RADEON_FP2_DETECT_MASK; + } WREG32(RADEON_GEN_INT_CNTL, tmp); return 0; } @@ -175,8 +282,9 @@ static inline uint32_t r100_irq_ack(struct radeon_device *rdev) { uint32_t irqs = RREG32(RADEON_GEN_INT_STATUS); - uint32_t irq_mask = RADEON_SW_INT_TEST | RADEON_CRTC_VBLANK_STAT | - RADEON_CRTC2_VBLANK_STAT; + uint32_t irq_mask = RADEON_SW_INT_TEST | + RADEON_CRTC_VBLANK_STAT | RADEON_CRTC2_VBLANK_STAT | + RADEON_FP_DETECT_STAT | RADEON_FP2_DETECT_STAT; if (irqs) { WREG32(RADEON_GEN_INT_STATUS, irqs); @@ -187,6 +295,7 @@ int r100_irq_process(struct radeon_device *rdev) { uint32_t status, msi_rearm; + bool queue_hotplug = false; status = r100_irq_ack(rdev); if (!status) { @@ -207,8 +316,18 @@ if (status & RADEON_CRTC2_VBLANK_STAT) { drm_handle_vblank(rdev->ddev, 1); } + if (status & RADEON_FP_DETECT_STAT) { + queue_hotplug = true; + DRM_DEBUG("HPD1\n"); + } + if (status & RADEON_FP2_DETECT_STAT) { + queue_hotplug = true; + DRM_DEBUG("HPD2\n"); + } status = r100_irq_ack(rdev); } + if (queue_hotplug) + queue_work(rdev->wq, &rdev->hotplug_work); if (rdev->msi_enabled) { switch (rdev->family) { case CHIP_RS400: @@ -218,9 +337,7 @@ WREG32(RADEON_AIC_CNTL, msi_rearm | RS400_MSI_REARM); break; default: - msi_rearm = RREG32(RADEON_MSI_REARM_EN) & ~RV370_MSI_REARM_EN; - WREG32(RADEON_MSI_REARM_EN, msi_rearm); - WREG32(RADEON_MSI_REARM_EN, msi_rearm | RV370_MSI_REARM_EN); + WREG32(RADEON_MSI_REARM_EN, RV370_MSI_REARM_EN); break; } } @@ -235,14 +352,25 @@ return RREG32(RADEON_CRTC2_CRNT_FRAME); } +/* Who ever call radeon_fence_emit should call ring_lock and ask + * for enough space (today caller are ib schedule and buffer move) */ void r100_fence_ring_emit(struct radeon_device *rdev, struct radeon_fence *fence) { - /* Who ever call radeon_fence_emit should call ring_lock and ask - * for enough space (today caller are ib schedule and buffer move) */ + /* We have to make sure that caches are flushed before + * CPU might read something from VRAM. */ + radeon_ring_write(rdev, PACKET0(RADEON_RB3D_DSTCACHE_CTLSTAT, 0)); + radeon_ring_write(rdev, RADEON_RB3D_DC_FLUSH_ALL); + radeon_ring_write(rdev, PACKET0(RADEON_RB3D_ZCACHE_CTLSTAT, 0)); + radeon_ring_write(rdev, RADEON_RB3D_ZC_FLUSH_ALL); /* Wait until IDLE & CLEAN */ radeon_ring_write(rdev, PACKET0(0x1720, 0)); radeon_ring_write(rdev, (1 << 16) | (1 << 17)); + radeon_ring_write(rdev, PACKET0(RADEON_HOST_PATH_CNTL, 0)); + radeon_ring_write(rdev, rdev->config.r100.hdp_cntl | + RADEON_HDP_READ_BUFFER_INVALIDATE); + radeon_ring_write(rdev, PACKET0(RADEON_HOST_PATH_CNTL, 0)); + radeon_ring_write(rdev, rdev->config.r100.hdp_cntl); /* Emit fence sequence & fire IRQ */ radeon_ring_write(rdev, PACKET0(rdev->fence_drv.scratch_reg, 0)); radeon_ring_write(rdev, fence->seq); @@ -255,24 +383,27 @@ int r; if (rdev->wb.wb_obj == NULL) { - r = radeon_object_create(rdev, NULL, RADEON_GPU_PAGE_SIZE, - true, - RADEON_GEM_DOMAIN_GTT, - false, &rdev->wb.wb_obj); + r = radeon_bo_create(rdev, NULL, RADEON_GPU_PAGE_SIZE, true, + RADEON_GEM_DOMAIN_GTT, + &rdev->wb.wb_obj); if (r) { - DRM_ERROR("radeon: failed to create WB buffer (%d).\n", r); + dev_err(rdev->dev, "(%d) create WB buffer failed\n", r); return r; } - r = radeon_object_pin(rdev->wb.wb_obj, - RADEON_GEM_DOMAIN_GTT, - &rdev->wb.gpu_addr); + r = radeon_bo_reserve(rdev->wb.wb_obj, false); + if (unlikely(r != 0)) + return r; + r = radeon_bo_pin(rdev->wb.wb_obj, RADEON_GEM_DOMAIN_GTT, + &rdev->wb.gpu_addr); if (r) { - DRM_ERROR("radeon: failed to pin WB buffer (%d).\n", r); + dev_err(rdev->dev, "(%d) pin WB buffer failed\n", r); + radeon_bo_unreserve(rdev->wb.wb_obj); return r; } - r = radeon_object_kmap(rdev->wb.wb_obj, (void **)&rdev->wb.wb); + r = radeon_bo_kmap(rdev->wb.wb_obj, (void **)&rdev->wb.wb); + radeon_bo_unreserve(rdev->wb.wb_obj); if (r) { - DRM_ERROR("radeon: failed to map WB buffer (%d).\n", r); + dev_err(rdev->dev, "(%d) map WB buffer failed\n", r); return r; } } @@ -290,11 +421,19 @@ void r100_wb_fini(struct radeon_device *rdev) { + int r; + r100_wb_disable(rdev); if (rdev->wb.wb_obj) { - radeon_object_kunmap(rdev->wb.wb_obj); - radeon_object_unpin(rdev->wb.wb_obj); - radeon_object_unref(&rdev->wb.wb_obj); + r = radeon_bo_reserve(rdev->wb.wb_obj, false); + if (unlikely(r != 0)) { + dev_err(rdev->dev, "(%d) can't finish WB\n", r); + return; + } + radeon_bo_kunmap(rdev->wb.wb_obj); + radeon_bo_unpin(rdev->wb.wb_obj); + radeon_bo_unreserve(rdev->wb.wb_obj); + radeon_bo_unref(&rdev->wb.wb_obj); rdev->wb.wb = NULL; rdev->wb.wb_obj = NULL; } @@ -1243,6 +1382,7 @@ case RADEON_TXFORMAT_RGB332: case RADEON_TXFORMAT_Y8: track->textures[i].cpp = 1; + track->textures[i].compress_format = R100_TRACK_COMP_NONE; break; case RADEON_TXFORMAT_AI88: case RADEON_TXFORMAT_ARGB1555: @@ -1250,19 +1390,27 @@ case RADEON_TXFORMAT_ARGB4444: case RADEON_TXFORMAT_VYUY422: case RADEON_TXFORMAT_YVYU422: - case RADEON_TXFORMAT_DXT1: case RADEON_TXFORMAT_SHADOW16: case RADEON_TXFORMAT_LDUDV655: case RADEON_TXFORMAT_DUDV88: track->textures[i].cpp = 2; + track->textures[i].compress_format = R100_TRACK_COMP_NONE; break; case RADEON_TXFORMAT_ARGB8888: case RADEON_TXFORMAT_RGBA8888: - case RADEON_TXFORMAT_DXT23: - case RADEON_TXFORMAT_DXT45: case RADEON_TXFORMAT_SHADOW32: case RADEON_TXFORMAT_LDUDUV8888: track->textures[i].cpp = 4; + track->textures[i].compress_format = R100_TRACK_COMP_NONE; + break; + case RADEON_TXFORMAT_DXT1: + track->textures[i].cpp = 1; + track->textures[i].compress_format = R100_TRACK_COMP_DXT1; + break; + case RADEON_TXFORMAT_DXT23: + case RADEON_TXFORMAT_DXT45: + track->textures[i].cpp = 1; + track->textures[i].compress_format = R100_TRACK_COMP_DXT35; break; } track->textures[i].cube_info[4].width = 1 << ((idx_value >> 16) & 0xf); @@ -1288,17 +1436,17 @@ int r100_cs_track_check_pkt3_indx_buffer(struct radeon_cs_parser *p, struct radeon_cs_packet *pkt, - struct radeon_object *robj) + struct radeon_bo *robj) { unsigned idx; u32 value; idx = pkt->idx + 1; value = radeon_get_ib_value(p, idx + 2); - if ((value + 1) > radeon_object_size(robj)) { + if ((value + 1) > radeon_bo_size(robj)) { DRM_ERROR("[drm] Buffer too small for PACKET3 INDX_BUFFER " "(need %u have %lu) !\n", value + 1, - radeon_object_size(robj)); + radeon_bo_size(robj)); return -EINVAL; } return 0; @@ -1363,6 +1511,7 @@ DRM_ERROR("PRIM_WALK must be 3 for IMMD draw\n"); return -EINVAL; } + track->vtx_size = r100_get_vtx_size(radeon_get_ib_value(p, idx + 0)); track->vap_vf_cntl = radeon_get_ib_value(p, idx + 1); track->immd_dwords = pkt->count - 1; r = r100_cs_track_check(p->rdev, track); @@ -1650,6 +1799,17 @@ return 0; } +void r100_set_common_regs(struct radeon_device *rdev) +{ + /* set these so they don't interfere with anything */ + WREG32(RADEON_OV0_SCALE_CNTL, 0); + WREG32(RADEON_SUBPIC_CNTL, 0); + WREG32(RADEON_VIPH_CONTROL, 0); + WREG32(RADEON_I2C_CNTL_1, 0); + WREG32(RADEON_DVI_I2C_CNTL_1, 0); + WREG32(RADEON_CAP0_TRIG_CNTL, 0); + WREG32(RADEON_CAP1_TRIG_CNTL, 0); +} /* * VRAM info @@ -1756,6 +1916,9 @@ rdev->mc.vram_location = 0xFFFFFFFFUL; /* Fix for RN50, M6, M7 with 8/16/32(??) MBs of VRAM - * Novell bug 204882 + along with lots of ubuntu ones */ + if (rdev->mc.aper_size > config_aper_size) + config_aper_size = rdev->mc.aper_size; + if (config_aper_size > rdev->mc.real_vram_size) rdev->mc.mc_vram_size = config_aper_size; else @@ -2588,28 +2751,63 @@ DRM_ERROR("coordinate type %d\n", t->tex_coord_type); DRM_ERROR("width round to power of 2 %d\n", t->roundup_w); DRM_ERROR("height round to power of 2 %d\n", t->roundup_h); + DRM_ERROR("compress format %d\n", t->compress_format); +} + +static int r100_track_compress_size(int compress_format, int w, int h) +{ + int block_width, block_height, block_bytes; + int wblocks, hblocks; + int min_wblocks; + int sz; + + block_width = 4; + block_height = 4; + + switch (compress_format) { + case R100_TRACK_COMP_DXT1: + block_bytes = 8; + min_wblocks = 4; + break; + default: + case R100_TRACK_COMP_DXT35: + block_bytes = 16; + min_wblocks = 2; + break; + } + + hblocks = (h + block_height - 1) / block_height; + wblocks = (w + block_width - 1) / block_width; + if (wblocks < min_wblocks) + wblocks = min_wblocks; + sz = wblocks * hblocks * block_bytes; + return sz; } static int r100_cs_track_cube(struct radeon_device *rdev, struct r100_cs_track *track, unsigned idx) { unsigned face, w, h; - struct radeon_object *cube_robj; + struct radeon_bo *cube_robj; unsigned long size; + unsigned compress_format = track->textures[idx].compress_format; for (face = 0; face < 5; face++) { cube_robj = track->textures[idx].cube_info[face].robj; w = track->textures[idx].cube_info[face].width; h = track->textures[idx].cube_info[face].height; - size = w * h; + if (compress_format) { + size = r100_track_compress_size(compress_format, w, h); + } else + size = w * h; size *= track->textures[idx].cpp; size += track->textures[idx].cube_info[face].offset; - if (size > radeon_object_size(cube_robj)) { + if (size > radeon_bo_size(cube_robj)) { DRM_ERROR("Cube texture offset greater than object size %lu %lu\n", - size, radeon_object_size(cube_robj)); + size, radeon_bo_size(cube_robj)); r100_cs_track_texture_print(&track->textures[idx]); return -1; } @@ -2620,7 +2818,7 @@ static int r100_cs_track_texture_check(struct radeon_device *rdev, struct r100_cs_track *track) { - struct radeon_object *robj; + struct radeon_bo *robj; unsigned long size; unsigned u, i, w, h; int ret; @@ -2628,6 +2826,8 @@ for (u = 0; u < track->num_texture; u++) { if (!track->textures[u].enabled) continue; + if (track->textures[u].lookup_disable) + continue; robj = track->textures[u].robj; if (robj == NULL) { DRM_ERROR("No texture bound to unit %u\n", u); @@ -2654,9 +2854,15 @@ h = h / (1 << i); if (track->textures[u].roundup_h) h = roundup_pow_of_two(h); - size += w * h; + if (track->textures[u].compress_format) { + + size += r100_track_compress_size(track->textures[u].compress_format, w, h); + /* compressed textures are block based */ + } else + size += w * h; } size *= track->textures[u].cpp; + switch (track->textures[u].tex_coord_type) { case 0: break; @@ -2676,9 +2882,9 @@ "%u\n", track->textures[u].tex_coord_type, u); return -EINVAL; } - if (size > radeon_object_size(robj)) { + if (size > radeon_bo_size(robj)) { DRM_ERROR("Texture of unit %u needs %lu bytes but is " - "%lu\n", u, size, radeon_object_size(robj)); + "%lu\n", u, size, radeon_bo_size(robj)); r100_cs_track_texture_print(&track->textures[u]); return -EINVAL; } @@ -2695,15 +2901,19 @@ for (i = 0; i < track->num_cb; i++) { if (track->cb[i].robj == NULL) { + if (!(track->fastfill || track->color_channel_mask || + track->blend_read_enable)) { + continue; + } DRM_ERROR("[drm] No buffer for color buffer %d !\n", i); return -EINVAL; } size = track->cb[i].pitch * track->cb[i].cpp * track->maxy; size += track->cb[i].offset; - if (size > radeon_object_size(track->cb[i].robj)) { + if (size > radeon_bo_size(track->cb[i].robj)) { DRM_ERROR("[drm] Buffer too small for color buffer %d " "(need %lu have %lu) !\n", i, size, - radeon_object_size(track->cb[i].robj)); + radeon_bo_size(track->cb[i].robj)); DRM_ERROR("[drm] color buffer %d (%u %u %u %u)\n", i, track->cb[i].pitch, track->cb[i].cpp, track->cb[i].offset, track->maxy); @@ -2717,16 +2927,37 @@ } size = track->zb.pitch * track->zb.cpp * track->maxy; size += track->zb.offset; - if (size > radeon_object_size(track->zb.robj)) { + if (size > radeon_bo_size(track->zb.robj)) { DRM_ERROR("[drm] Buffer too small for z buffer " "(need %lu have %lu) !\n", size, - radeon_object_size(track->zb.robj)); + radeon_bo_size(track->zb.robj)); DRM_ERROR("[drm] zbuffer (%u %u %u %u)\n", track->zb.pitch, track->zb.cpp, track->zb.offset, track->maxy); return -EINVAL; } } + + if (track->aa_dirty && track->aaresolve) { + if (track->aa.robj == NULL) { + DRM_ERROR("[drm] No buffer for AA resolve buffer %d !\n", i); + return -EINVAL; + } + /* I believe the format comes from colorbuffer0. */ + size = track->aa.pitch * track->cb[0].cpp * track->maxy; + size += track->aa.offset; + if (size > radeon_bo_size(track->aa.robj)) { + DRM_ERROR("[drm] Buffer too small for AA resolve buffer %d " + "(need %lu have %lu) !\n", i, size, + radeon_bo_size(track->aa.robj)); + DRM_ERROR("[drm] AA resolve buffer %d (%u %u %u %u)\n", + i, track->aa.pitch, track->cb[0].cpp, + track->aa.offset, track->maxy); + return -EINVAL; + } + } + track->aa_dirty = false; + prim_walk = (track->vap_vf_cntl >> 4) & 0x3; nverts = (track->vap_vf_cntl >> 16) & 0xFFFF; switch (prim_walk) { @@ -2738,11 +2969,12 @@ "bound\n", prim_walk, i); return -EINVAL; } - if (size > radeon_object_size(track->arrays[i].robj)) { - DRM_ERROR("(PW %u) Vertex array %u need %lu dwords " - "have %lu dwords\n", prim_walk, i, - size >> 2, - radeon_object_size(track->arrays[i].robj) >> 2); + if (size > radeon_bo_size(track->arrays[i].robj)) { + dev_err(rdev->dev, "(PW %u) Vertex array %u " + "need %lu dwords have %lu dwords\n", + prim_walk, i, size >> 2, + radeon_bo_size(track->arrays[i].robj) + >> 2); DRM_ERROR("Max indices %u\n", track->max_indx); return -EINVAL; } @@ -2756,10 +2988,12 @@ "bound\n", prim_walk, i); return -EINVAL; } - if (size > radeon_object_size(track->arrays[i].robj)) { - DRM_ERROR("(PW %u) Vertex array %u need %lu dwords " - "have %lu dwords\n", prim_walk, i, size >> 2, - radeon_object_size(track->arrays[i].robj) >> 2); + if (size > radeon_bo_size(track->arrays[i].robj)) { + dev_err(rdev->dev, "(PW %u) Vertex array %u " + "need %lu dwords have %lu dwords\n", + prim_walk, i, size >> 2, + radeon_bo_size(track->arrays[i].robj) + >> 2); return -EINVAL; } } @@ -2785,6 +3019,7 @@ void r100_cs_track_clear(struct radeon_device *rdev, struct r100_cs_track *track) { unsigned i, face; + track->aa_dirty = true; if (rdev->family < CHIP_R300) { track->num_cb = 1; @@ -2799,6 +3034,8 @@ track->num_texture = 16; track->maxy = 4096; track->separate_cube = 0; + track->aaresolve = false; + track->aa.robj = NULL; } for (i = 0; i < track->num_cb; i++) { @@ -2821,6 +3058,7 @@ track->arrays[i].esize = 0x7F; } for (i = 0; i < track->num_texture; i++) { + track->textures[i].compress_format = R100_TRACK_COMP_NONE; track->textures[i].pitch = 16536; track->textures[i].width = 16536; track->textures[i].height = 16536; @@ -2838,6 +3076,7 @@ track->textures[i].robj = NULL; /* CS IB emission code makes sure texture unit are disabled */ track->textures[i].enabled = false; + track->textures[i].lookup_disable = false; track->textures[i].roundup_w = true; track->textures[i].roundup_h = true; if (track->separate_cube) @@ -3101,6 +3340,9 @@ { int r; + /* set common regs */ + r100_set_common_regs(rdev); + /* program mc */ r100_mc_program(rdev); /* Resume clock */ r100_clock_startup(rdev); @@ -3108,14 +3350,15 @@ r100_gpu_init(rdev); /* Initialize GART (initialize after TTM so we can allocate * memory through TTM but finalize after TTM) */ + r100_enable_bm(rdev); if (rdev->flags & RADEON_IS_PCI) { r = r100_pci_gart_enable(rdev); if (r) return r; } /* Enable IRQ */ - rdev->irq.sw_int = true; r100_irq_set(rdev); + rdev->config.r100.hdp_cntl = RREG32(RADEON_HOST_PATH_CNTL); /* 1M ring buffer */ r = r100_cp_init(rdev, 1024 * 1024); if (r) { @@ -3150,6 +3393,8 @@ radeon_combios_asic_init(rdev->ddev); /* Resume clock after posting */ r100_clock_startup(rdev); + /* Initialize surface registers */ + radeon_surface_init(rdev); return r100_startup(rdev); } @@ -3165,16 +3410,16 @@ void r100_fini(struct radeon_device *rdev) { - r100_suspend(rdev); r100_cp_fini(rdev); r100_wb_fini(rdev); r100_ib_fini(rdev); radeon_gem_fini(rdev); if (rdev->flags & RADEON_IS_PCI) r100_pci_gart_fini(rdev); + radeon_agp_fini(rdev); radeon_irq_kms_fini(rdev); radeon_fence_driver_fini(rdev); - radeon_object_fini(rdev); + radeon_bo_fini(rdev); radeon_atombios_fini(rdev); kfree(rdev->bios); rdev->bios = NULL; @@ -3195,9 +3440,7 @@ if (rdev->flags & RADEON_IS_AGP) { r = radeon_agp_init(rdev); if (r) { - printk(KERN_WARNING "[drm] Disabling AGP\n"); - rdev->flags &= ~RADEON_IS_AGP; - rdev->mc.gtt_size = radeon_gart_size * 1024 * 1024; + radeon_agp_disable(rdev); } else { rdev->mc.gtt_location = rdev->mc.agp_base; } @@ -3242,14 +3485,14 @@ RREG32(R_0007C0_CP_STAT)); } /* check if cards are posted or not */ - if (!radeon_card_posted(rdev) && rdev->bios) { - DRM_INFO("GPU not posted. posting now...\n"); - radeon_combios_asic_init(rdev->ddev); - } + if (radeon_boot_test_post_card(rdev) == false) + return -EINVAL; /* Set asic errata */ r100_errata(rdev); /* Initialize clocks */ radeon_get_clock_info(rdev->ddev); + /* Initialize power management */ + radeon_pm_init(rdev); /* Get vram informations */ r100_vram_info(rdev); /* Initialize memory controller (also test AGP) */ @@ -3264,7 +3507,7 @@ if (r) return r; /* Memory manager */ - r = radeon_object_init(rdev); + r = radeon_bo_init(rdev); if (r) return r; if (rdev->flags & RADEON_IS_PCI) { @@ -3278,13 +3521,12 @@ if (r) { /* Somethings want wront with the accel init stop accel */ dev_err(rdev->dev, "Disabling GPU acceleration\n"); - r100_suspend(rdev); r100_cp_fini(rdev); r100_wb_fini(rdev); r100_ib_fini(rdev); + radeon_irq_kms_fini(rdev); if (rdev->flags & RADEON_IS_PCI) r100_pci_gart_fini(rdev); - radeon_irq_kms_fini(rdev); rdev->accel_working = false; } return 0; --- linux-2.6.32.orig/drivers/gpu/drm/radeon/r300.c +++ linux-2.6.32/drivers/gpu/drm/radeon/r300.c @@ -36,7 +36,15 @@ #include "rv350d.h" #include "r300_reg_safe.h" -/* This files gather functions specifics to: r300,r350,rv350,rv370,rv380 */ +/* This files gather functions specifics to: r300,r350,rv350,rv370,rv380 + * + * GPU Errata: + * - HOST_PATH_CNTL: r300 family seems to dislike write to HOST_PATH_CNTL + * using MMIO to flush host path read cache, this lead to HARDLOCKUP. + * However, scheduling such write to the ring seems harmless, i suspect + * the CP read collide with the flush somehow, or maybe the MC, hard to + * tell. (Jerome Glisse) + */ /* * rv370,rv380 PCIE GART @@ -137,14 +145,19 @@ void rv370_pcie_gart_disable(struct radeon_device *rdev) { - uint32_t tmp; + u32 tmp; + int r; tmp = RREG32_PCIE(RADEON_PCIE_TX_GART_CNTL); tmp |= RADEON_PCIE_TX_GART_UNMAPPED_ACCESS_DISCARD; WREG32_PCIE(RADEON_PCIE_TX_GART_CNTL, tmp & ~RADEON_PCIE_TX_GART_EN); if (rdev->gart.table.vram.robj) { - radeon_object_kunmap(rdev->gart.table.vram.robj); - radeon_object_unpin(rdev->gart.table.vram.robj); + r = radeon_bo_reserve(rdev->gart.table.vram.robj, false); + if (likely(r == 0)) { + radeon_bo_kunmap(rdev->gart.table.vram.robj); + radeon_bo_unpin(rdev->gart.table.vram.robj); + radeon_bo_unreserve(rdev->gart.table.vram.robj); + } } } @@ -173,6 +186,11 @@ /* Wait until IDLE & CLEAN */ radeon_ring_write(rdev, PACKET0(0x1720, 0)); radeon_ring_write(rdev, (1 << 17) | (1 << 16) | (1 << 9)); + radeon_ring_write(rdev, PACKET0(RADEON_HOST_PATH_CNTL, 0)); + radeon_ring_write(rdev, rdev->config.r300.hdp_cntl | + RADEON_HDP_READ_BUFFER_INVALIDATE); + radeon_ring_write(rdev, PACKET0(RADEON_HOST_PATH_CNTL, 0)); + radeon_ring_write(rdev, rdev->config.r300.hdp_cntl); /* Emit fence sequence & fire IRQ */ radeon_ring_write(rdev, PACKET0(rdev->fence_drv.scratch_reg, 0)); radeon_ring_write(rdev, fence->seq); @@ -346,11 +364,12 @@ r100_hdp_reset(rdev); /* FIXME: rv380 one pipes ? */ - if ((rdev->family == CHIP_R300) || (rdev->family == CHIP_R350)) { + if ((rdev->family == CHIP_R300 && rdev->pdev->device != 0x4144) || + (rdev->family == CHIP_R350)) { /* r300,r350 */ rdev->num_gb_pipes = 2; } else { - /* rv350,rv370,rv380 */ + /* rv350,rv370,rv380,r300 AD */ rdev->num_gb_pipes = 1; } rdev->num_z_pipes = 1; @@ -488,11 +507,14 @@ /* DDR for all card after R300 & IGP */ rdev->mc.vram_is_ddr = true; + tmp = RREG32(RADEON_MEM_CNTL); - if (tmp & R300_MEM_NUM_CHANNELS_MASK) { - rdev->mc.vram_width = 128; - } else { - rdev->mc.vram_width = 64; + tmp &= R300_MEM_NUM_CHANNELS_MASK; + switch (tmp) { + case 0: rdev->mc.vram_width = 64; break; + case 1: rdev->mc.vram_width = 128; break; + case 2: rdev->mc.vram_width = 256; break; + default: rdev->mc.vram_width = 128; break; } r100_vram_init_sizes(rdev); @@ -681,7 +703,15 @@ r100_cs_dump_packet(p, pkt); return r; } - ib[idx] = idx_value + ((u32)reloc->lobj.gpu_offset); + + if (reloc->lobj.tiling_flags & RADEON_TILING_MACRO) + tile_flags |= R300_TXO_MACRO_TILE; + if (reloc->lobj.tiling_flags & RADEON_TILING_MICRO) + tile_flags |= R300_TXO_MICRO_TILE; + + tmp = idx_value + ((u32)reloc->lobj.gpu_offset); + tmp |= tile_flags; + ib[idx] = tmp; track->textures[i].robj = reloc->robj; break; /* Tracked registers */ @@ -840,6 +870,7 @@ case R300_TX_FORMAT_Y4X4: case R300_TX_FORMAT_Z3Y3X2: track->textures[i].cpp = 1; + track->textures[i].compress_format = R100_TRACK_COMP_NONE; break; case R300_TX_FORMAT_X16: case R300_TX_FORMAT_Y8X8: @@ -847,11 +878,11 @@ case R300_TX_FORMAT_Z6Y5X5: case R300_TX_FORMAT_W4Z4Y4X4: case R300_TX_FORMAT_W1Z5Y5X5: - case R300_TX_FORMAT_DXT1: case R300_TX_FORMAT_D3DMFT_CxV8U8: case R300_TX_FORMAT_B8G8_B8G8: case R300_TX_FORMAT_G8R8_G8B8: track->textures[i].cpp = 2; + track->textures[i].compress_format = R100_TRACK_COMP_NONE; break; case R300_TX_FORMAT_Y16X16: case R300_TX_FORMAT_Z11Y11X10: @@ -861,17 +892,35 @@ case 0x17: case R300_TX_FORMAT_FL_I32: case 0x1e: - case R300_TX_FORMAT_DXT3: - case R300_TX_FORMAT_DXT5: track->textures[i].cpp = 4; + track->textures[i].compress_format = R100_TRACK_COMP_NONE; break; case R300_TX_FORMAT_W16Z16Y16X16: case R300_TX_FORMAT_FL_R16G16B16A16: case R300_TX_FORMAT_FL_I32A32: track->textures[i].cpp = 8; + track->textures[i].compress_format = R100_TRACK_COMP_NONE; break; case R300_TX_FORMAT_FL_R32G32B32A32: track->textures[i].cpp = 16; + track->textures[i].compress_format = R100_TRACK_COMP_NONE; + break; + case R300_TX_FORMAT_DXT1: + track->textures[i].cpp = 1; + track->textures[i].compress_format = R100_TRACK_COMP_DXT1; + break; + case R300_TX_FORMAT_ATI2N: + if (p->rdev->family < CHIP_R420) { + DRM_ERROR("Invalid texture format %u\n", + (idx_value & 0x1F)); + return -EINVAL; + } + /* The same rules apply as for DXT3/5. */ + /* Pass through. */ + case R300_TX_FORMAT_DXT3: + case R300_TX_FORMAT_DXT5: + track->textures[i].cpp = 1; + track->textures[i].compress_format = R100_TRACK_COMP_DXT35; break; default: DRM_ERROR("Invalid texture format %u\n", @@ -932,6 +981,16 @@ track->textures[i].width_11 = tmp; tmp = ((idx_value >> 16) & 1) << 11; track->textures[i].height_11 = tmp; + + /* ATI1N */ + if (idx_value & (1 << 14)) { + /* The same rules apply as for DXT1. */ + track->textures[i].compress_format = + R100_TRACK_COMP_DXT1; + } + } else if (idx_value & (1 << 14)) { + DRM_ERROR("Forbidden bit TXFORMAT_MSB\n"); + return -EINVAL; } break; case 0x4480: @@ -973,6 +1032,39 @@ } ib[idx] = idx_value + ((u32)reloc->lobj.gpu_offset); break; + case 0x4e0c: + /* RB3D_COLOR_CHANNEL_MASK */ + track->color_channel_mask = idx_value; + break; + case 0x4d1c: + /* ZB_BW_CNTL */ + track->fastfill = !!(idx_value & (1 << 2)); + break; + case 0x4e04: + /* RB3D_BLENDCNTL */ + track->blend_read_enable = !!(idx_value & (1 << 2)); + break; + case R300_RB3D_AARESOLVE_OFFSET: + r = r100_cs_packet_next_reloc(p, &reloc); + if (r) { + DRM_ERROR("No reloc for ib[%d]=0x%04X\n", + idx, reg); + r100_cs_dump_packet(p, pkt); + return r; + } + track->aa.robj = reloc->robj; + track->aa.offset = idx_value; + track->aa_dirty = true; + ib[idx] = idx_value + ((u32)reloc->lobj.gpu_offset); + break; + case R300_RB3D_AARESOLVE_PITCH: + track->aa.pitch = idx_value & 0x3FFE; + track->aa_dirty = true; + break; + case R300_RB3D_AARESOLVE_CTL: + track->aaresolve = idx_value & 0x1; + track->aa_dirty = true; + break; case 0x4be8: /* valid register only on RV530 */ if (p->rdev->family == CHIP_RV530) @@ -1181,6 +1273,9 @@ { int r; + /* set common regs */ + r100_set_common_regs(rdev); + /* program mc */ r300_mc_program(rdev); /* Resume clock */ r300_clock_startup(rdev); @@ -1193,14 +1288,20 @@ if (r) return r; } + + if (rdev->family == CHIP_R300 || + rdev->family == CHIP_R350 || + rdev->family == CHIP_RV350) + r100_enable_bm(rdev); + if (rdev->flags & RADEON_IS_PCI) { r = r100_pci_gart_enable(rdev); if (r) return r; } /* Enable IRQ */ - rdev->irq.sw_int = true; r100_irq_set(rdev); + rdev->config.r300.hdp_cntl = RREG32(RADEON_HOST_PATH_CNTL); /* 1M ring buffer */ r = r100_cp_init(rdev, 1024 * 1024); if (r) { @@ -1237,6 +1338,8 @@ radeon_combios_asic_init(rdev->ddev); /* Resume clock after posting */ r300_clock_startup(rdev); + /* Initialize surface registers */ + radeon_surface_init(rdev); return r300_startup(rdev); } @@ -1254,7 +1357,6 @@ void r300_fini(struct radeon_device *rdev) { - r300_suspend(rdev); r100_cp_fini(rdev); r100_wb_fini(rdev); r100_ib_fini(rdev); @@ -1263,9 +1365,10 @@ rv370_pcie_gart_fini(rdev); if (rdev->flags & RADEON_IS_PCI) r100_pci_gart_fini(rdev); + radeon_agp_fini(rdev); radeon_irq_kms_fini(rdev); radeon_fence_driver_fini(rdev); - radeon_object_fini(rdev); + radeon_bo_fini(rdev); radeon_atombios_fini(rdev); kfree(rdev->bios); rdev->bios = NULL; @@ -1303,14 +1406,14 @@ RREG32(R_0007C0_CP_STAT)); } /* check if cards are posted or not */ - if (!radeon_card_posted(rdev) && rdev->bios) { - DRM_INFO("GPU not posted. posting now...\n"); - radeon_combios_asic_init(rdev->ddev); - } + if (radeon_boot_test_post_card(rdev) == false) + return -EINVAL; /* Set asic errata */ r300_errata(rdev); /* Initialize clocks */ radeon_get_clock_info(rdev->ddev); + /* Initialize power management */ + radeon_pm_init(rdev); /* Get vram informations */ r300_vram_info(rdev); /* Initialize memory controller (also test AGP) */ @@ -1325,7 +1428,7 @@ if (r) return r; /* Memory manager */ - r = radeon_object_init(rdev); + r = radeon_bo_init(rdev); if (r) return r; if (rdev->flags & RADEON_IS_PCIE) { @@ -1344,15 +1447,15 @@ if (r) { /* Somethings want wront with the accel init stop accel */ dev_err(rdev->dev, "Disabling GPU acceleration\n"); - r300_suspend(rdev); r100_cp_fini(rdev); r100_wb_fini(rdev); r100_ib_fini(rdev); + radeon_irq_kms_fini(rdev); if (rdev->flags & RADEON_IS_PCIE) rv370_pcie_gart_fini(rdev); if (rdev->flags & RADEON_IS_PCI) r100_pci_gart_fini(rdev); - radeon_irq_kms_fini(rdev); + radeon_agp_fini(rdev); rdev->accel_working = false; } return 0; --- linux-2.6.32.orig/drivers/gpu/drm/radeon/r300_cmdbuf.c +++ linux-2.6.32/drivers/gpu/drm/radeon/r300_cmdbuf.c @@ -990,7 +990,7 @@ int sz; int addr; int type; - int clamp; + int isclamp; int stride; RING_LOCALS; @@ -999,10 +999,10 @@ addr = ((header.r500fp.adrhi_flags & 1) << 8) | header.r500fp.adrlo; type = !!(header.r500fp.adrhi_flags & R500FP_CONSTANT_TYPE); - clamp = !!(header.r500fp.adrhi_flags & R500FP_CONSTANT_CLAMP); + isclamp = !!(header.r500fp.adrhi_flags & R500FP_CONSTANT_CLAMP); addr |= (type << 16); - addr |= (clamp << 17); + addr |= (isclamp << 17); stride = type ? 4 : 6; --- linux-2.6.32.orig/drivers/gpu/drm/radeon/r300_reg.h +++ linux-2.6.32/drivers/gpu/drm/radeon/r300_reg.h @@ -900,6 +900,7 @@ # define R300_TX_FORMAT_FL_I32 0x1B # define R300_TX_FORMAT_FL_I32A32 0x1C # define R300_TX_FORMAT_FL_R32G32B32A32 0x1D +# define R300_TX_FORMAT_ATI2N 0x1F /* alpha modes, convenience mostly */ /* if you have alpha, pick constant appropriate to the number of channels (1 for I8, 2 for I8A8, 4 for R8G8B8A8, etc */ @@ -1368,6 +1369,8 @@ #define R300_RB3D_COLORPITCH2 0x4E40 /* GUESS */ #define R300_RB3D_COLORPITCH3 0x4E44 /* GUESS */ +#define R300_RB3D_AARESOLVE_OFFSET 0x4E80 +#define R300_RB3D_AARESOLVE_PITCH 0x4E84 #define R300_RB3D_AARESOLVE_CTL 0x4E88 /* gap */ --- linux-2.6.32.orig/drivers/gpu/drm/radeon/r420.c +++ linux-2.6.32/drivers/gpu/drm/radeon/r420.c @@ -30,7 +30,15 @@ #include "radeon_reg.h" #include "radeon.h" #include "atom.h" +#include "r100d.h" #include "r420d.h" +#include "r420_reg_safe.h" + +static void r420_set_reg_safe(struct radeon_device *rdev) +{ + rdev->config.r300.reg_safe_bm = r420_reg_safe_bm; + rdev->config.r300.reg_safe_bm_size = ARRAY_SIZE(r420_reg_safe_bm); +} int r420_mc_init(struct radeon_device *rdev) { @@ -42,9 +50,7 @@ if (rdev->flags & RADEON_IS_AGP) { r = radeon_agp_init(rdev); if (r) { - printk(KERN_WARNING "[drm] Disabling AGP\n"); - rdev->flags &= ~RADEON_IS_AGP; - rdev->mc.gtt_size = radeon_gart_size * 1024 * 1024; + radeon_agp_disable(rdev); } else { rdev->mc.gtt_location = rdev->mc.agp_base; } @@ -165,10 +171,41 @@ WREG32_PLL(R_00000D_SCLK_CNTL, sclk_cntl); } +static void r420_cp_errata_init(struct radeon_device *rdev) +{ + /* RV410 and R420 can lock up if CP DMA to host memory happens + * while the 2D engine is busy. + * + * The proper workaround is to queue a RESYNC at the beginning + * of the CP init, apparently. + */ + radeon_scratch_get(rdev, &rdev->config.r300.resync_scratch); + radeon_ring_lock(rdev, 8); + radeon_ring_write(rdev, PACKET0(R300_CP_RESYNC_ADDR, 1)); + radeon_ring_write(rdev, rdev->config.r300.resync_scratch); + radeon_ring_write(rdev, 0xDEADBEEF); + radeon_ring_unlock_commit(rdev); +} + +static void r420_cp_errata_fini(struct radeon_device *rdev) +{ + /* Catch the RESYNC we dispatched all the way back, + * at the very beginning of the CP init. + */ + radeon_ring_lock(rdev, 8); + radeon_ring_write(rdev, PACKET0(R300_RB3D_DSTCACHE_CTLSTAT, 0)); + radeon_ring_write(rdev, R300_RB3D_DC_FINISH); + radeon_ring_unlock_commit(rdev); + radeon_scratch_free(rdev, rdev->config.r300.resync_scratch); +} + static int r420_startup(struct radeon_device *rdev) { int r; + /* set common regs */ + r100_set_common_regs(rdev); + /* program mc */ r300_mc_program(rdev); /* Resume clock */ r420_clock_resume(rdev); @@ -186,14 +223,15 @@ } r420_pipes_init(rdev); /* Enable IRQ */ - rdev->irq.sw_int = true; r100_irq_set(rdev); + rdev->config.r300.hdp_cntl = RREG32(RADEON_HOST_PATH_CNTL); /* 1M ring buffer */ r = r100_cp_init(rdev, 1024 * 1024); if (r) { dev_err(rdev->dev, "failled initializing CP (%d).\n", r); return r; } + r420_cp_errata_init(rdev); r = r100_wb_init(rdev); if (r) { dev_err(rdev->dev, "failled initializing WB (%d).\n", r); @@ -229,12 +267,14 @@ } /* Resume clock after posting */ r420_clock_resume(rdev); - + /* Initialize surface registers */ + radeon_surface_init(rdev); return r420_startup(rdev); } int r420_suspend(struct radeon_device *rdev) { + r420_cp_errata_fini(rdev); r100_cp_disable(rdev); r100_wb_disable(rdev); r100_irq_disable(rdev); @@ -258,7 +298,7 @@ radeon_agp_fini(rdev); radeon_irq_kms_fini(rdev); radeon_fence_driver_fini(rdev); - radeon_object_fini(rdev); + radeon_bo_fini(rdev); if (rdev->is_atom_bios) { radeon_atombios_fini(rdev); } else { @@ -301,14 +341,9 @@ RREG32(R_0007C0_CP_STAT)); } /* check if cards are posted or not */ - if (!radeon_card_posted(rdev) && rdev->bios) { - DRM_INFO("GPU not posted. posting now...\n"); - if (rdev->is_atom_bios) { - atom_asic_init(rdev->mode_info.atom_context); - } else { - radeon_combios_asic_init(rdev->ddev); - } - } + if (radeon_boot_test_post_card(rdev) == false) + return -EINVAL; + /* Initialize clocks */ radeon_get_clock_info(rdev->ddev); /* Initialize power management */ @@ -331,10 +366,13 @@ return r; } /* Memory manager */ - r = radeon_object_init(rdev); + r = radeon_bo_init(rdev); if (r) { return r; } + if (rdev->family == CHIP_R420) + r100_enable_bm(rdev); + if (rdev->flags & RADEON_IS_PCIE) { r = rv370_pcie_gart_init(rdev); if (r) @@ -345,22 +383,21 @@ if (r) return r; } - r300_set_reg_safe(rdev); + r420_set_reg_safe(rdev); rdev->accel_working = true; r = r420_startup(rdev); if (r) { /* Somethings want wront with the accel init stop accel */ dev_err(rdev->dev, "Disabling GPU acceleration\n"); - r420_suspend(rdev); r100_cp_fini(rdev); r100_wb_fini(rdev); r100_ib_fini(rdev); + radeon_irq_kms_fini(rdev); if (rdev->flags & RADEON_IS_PCIE) rv370_pcie_gart_fini(rdev); if (rdev->flags & RADEON_IS_PCI) r100_pci_gart_fini(rdev); radeon_agp_fini(rdev); - radeon_irq_kms_fini(rdev); rdev->accel_working = false; } return 0; --- linux-2.6.32.orig/drivers/gpu/drm/radeon/r500_reg.h +++ linux-2.6.32/drivers/gpu/drm/radeon/r500_reg.h @@ -716,6 +716,8 @@ #define AVIVO_DVOA_BIT_DEPTH_CONTROL 0x7988 +#define AVIVO_DC_GPIO_HPD_A 0x7e94 + #define AVIVO_GPIO_0 0x7e30 #define AVIVO_GPIO_1 0x7e40 #define AVIVO_GPIO_2 0x7e50 --- linux-2.6.32.orig/drivers/gpu/drm/radeon/r520.c +++ linux-2.6.32/drivers/gpu/drm/radeon/r520.c @@ -185,8 +185,8 @@ return r; } /* Enable IRQ */ - rdev->irq.sw_int = true; rs600_irq_set(rdev); + rdev->config.r300.hdp_cntl = RREG32(RADEON_HOST_PATH_CNTL); /* 1M ring buffer */ r = r100_cp_init(rdev, 1024 * 1024); if (r) { @@ -221,6 +221,8 @@ atom_asic_init(rdev->mode_info.atom_context); /* Resume clock after posting */ rv515_clock_startup(rdev); + /* Initialize surface registers */ + radeon_surface_init(rdev); return r520_startup(rdev); } @@ -254,6 +256,9 @@ RREG32(R_0007C0_CP_STAT)); } /* check if cards are posted or not */ + if (radeon_boot_test_post_card(rdev) == false) + return -EINVAL; + if (!radeon_card_posted(rdev) && rdev->bios) { DRM_INFO("GPU not posted. posting now...\n"); atom_asic_init(rdev->mode_info.atom_context); @@ -277,7 +282,7 @@ if (r) return r; /* Memory manager */ - r = radeon_object_init(rdev); + r = radeon_bo_init(rdev); if (r) return r; r = rv370_pcie_gart_init(rdev); @@ -289,13 +294,12 @@ if (r) { /* Somethings want wront with the accel init stop accel */ dev_err(rdev->dev, "Disabling GPU acceleration\n"); - rv515_suspend(rdev); r100_cp_fini(rdev); r100_wb_fini(rdev); r100_ib_fini(rdev); + radeon_irq_kms_fini(rdev); rv370_pcie_gart_fini(rdev); radeon_agp_fini(rdev); - radeon_irq_kms_fini(rdev); rdev->accel_working = false; } return 0; --- linux-2.6.32.orig/drivers/gpu/drm/radeon/r600.c +++ linux-2.6.32/drivers/gpu/drm/radeon/r600.c @@ -38,8 +38,10 @@ #define PFP_UCODE_SIZE 576 #define PM4_UCODE_SIZE 1792 +#define RLC_UCODE_SIZE 768 #define R700_PFP_UCODE_SIZE 848 #define R700_PM4_UCODE_SIZE 1360 +#define R700_RLC_UCODE_SIZE 1024 /* Firmware Names */ MODULE_FIRMWARE("radeon/R600_pfp.bin"); @@ -62,6 +64,8 @@ MODULE_FIRMWARE("radeon/RV730_me.bin"); MODULE_FIRMWARE("radeon/RV710_pfp.bin"); MODULE_FIRMWARE("radeon/RV710_me.bin"); +MODULE_FIRMWARE("radeon/R600_rlc.bin"); +MODULE_FIRMWARE("radeon/R700_rlc.bin"); int r600_debugfs_mc_info_init(struct radeon_device *rdev); @@ -70,6 +74,282 @@ void r600_gpu_init(struct radeon_device *rdev); void r600_fini(struct radeon_device *rdev); +/* hpd for digital panel detect/disconnect */ +bool r600_hpd_sense(struct radeon_device *rdev, enum radeon_hpd_id hpd) +{ + bool connected = false; + + if (ASIC_IS_DCE3(rdev)) { + switch (hpd) { + case RADEON_HPD_1: + if (RREG32(DC_HPD1_INT_STATUS) & DC_HPDx_SENSE) + connected = true; + break; + case RADEON_HPD_2: + if (RREG32(DC_HPD2_INT_STATUS) & DC_HPDx_SENSE) + connected = true; + break; + case RADEON_HPD_3: + if (RREG32(DC_HPD3_INT_STATUS) & DC_HPDx_SENSE) + connected = true; + break; + case RADEON_HPD_4: + if (RREG32(DC_HPD4_INT_STATUS) & DC_HPDx_SENSE) + connected = true; + break; + /* DCE 3.2 */ + case RADEON_HPD_5: + if (RREG32(DC_HPD5_INT_STATUS) & DC_HPDx_SENSE) + connected = true; + break; + case RADEON_HPD_6: + if (RREG32(DC_HPD6_INT_STATUS) & DC_HPDx_SENSE) + connected = true; + break; + default: + break; + } + } else { + switch (hpd) { + case RADEON_HPD_1: + if (RREG32(DC_HOT_PLUG_DETECT1_INT_STATUS) & DC_HOT_PLUG_DETECTx_SENSE) + connected = true; + break; + case RADEON_HPD_2: + if (RREG32(DC_HOT_PLUG_DETECT2_INT_STATUS) & DC_HOT_PLUG_DETECTx_SENSE) + connected = true; + break; + case RADEON_HPD_3: + if (RREG32(DC_HOT_PLUG_DETECT3_INT_STATUS) & DC_HOT_PLUG_DETECTx_SENSE) + connected = true; + break; + default: + break; + } + } + return connected; +} + +void r600_hpd_set_polarity(struct radeon_device *rdev, + enum radeon_hpd_id hpd) +{ + u32 tmp; + bool connected = r600_hpd_sense(rdev, hpd); + + if (ASIC_IS_DCE3(rdev)) { + switch (hpd) { + case RADEON_HPD_1: + tmp = RREG32(DC_HPD1_INT_CONTROL); + if (connected) + tmp &= ~DC_HPDx_INT_POLARITY; + else + tmp |= DC_HPDx_INT_POLARITY; + WREG32(DC_HPD1_INT_CONTROL, tmp); + break; + case RADEON_HPD_2: + tmp = RREG32(DC_HPD2_INT_CONTROL); + if (connected) + tmp &= ~DC_HPDx_INT_POLARITY; + else + tmp |= DC_HPDx_INT_POLARITY; + WREG32(DC_HPD2_INT_CONTROL, tmp); + break; + case RADEON_HPD_3: + tmp = RREG32(DC_HPD3_INT_CONTROL); + if (connected) + tmp &= ~DC_HPDx_INT_POLARITY; + else + tmp |= DC_HPDx_INT_POLARITY; + WREG32(DC_HPD3_INT_CONTROL, tmp); + break; + case RADEON_HPD_4: + tmp = RREG32(DC_HPD4_INT_CONTROL); + if (connected) + tmp &= ~DC_HPDx_INT_POLARITY; + else + tmp |= DC_HPDx_INT_POLARITY; + WREG32(DC_HPD4_INT_CONTROL, tmp); + break; + case RADEON_HPD_5: + tmp = RREG32(DC_HPD5_INT_CONTROL); + if (connected) + tmp &= ~DC_HPDx_INT_POLARITY; + else + tmp |= DC_HPDx_INT_POLARITY; + WREG32(DC_HPD5_INT_CONTROL, tmp); + break; + /* DCE 3.2 */ + case RADEON_HPD_6: + tmp = RREG32(DC_HPD6_INT_CONTROL); + if (connected) + tmp &= ~DC_HPDx_INT_POLARITY; + else + tmp |= DC_HPDx_INT_POLARITY; + WREG32(DC_HPD6_INT_CONTROL, tmp); + break; + default: + break; + } + } else { + switch (hpd) { + case RADEON_HPD_1: + tmp = RREG32(DC_HOT_PLUG_DETECT1_INT_CONTROL); + if (connected) + tmp &= ~DC_HOT_PLUG_DETECTx_INT_POLARITY; + else + tmp |= DC_HOT_PLUG_DETECTx_INT_POLARITY; + WREG32(DC_HOT_PLUG_DETECT1_INT_CONTROL, tmp); + break; + case RADEON_HPD_2: + tmp = RREG32(DC_HOT_PLUG_DETECT2_INT_CONTROL); + if (connected) + tmp &= ~DC_HOT_PLUG_DETECTx_INT_POLARITY; + else + tmp |= DC_HOT_PLUG_DETECTx_INT_POLARITY; + WREG32(DC_HOT_PLUG_DETECT2_INT_CONTROL, tmp); + break; + case RADEON_HPD_3: + tmp = RREG32(DC_HOT_PLUG_DETECT3_INT_CONTROL); + if (connected) + tmp &= ~DC_HOT_PLUG_DETECTx_INT_POLARITY; + else + tmp |= DC_HOT_PLUG_DETECTx_INT_POLARITY; + WREG32(DC_HOT_PLUG_DETECT3_INT_CONTROL, tmp); + break; + default: + break; + } + } +} + +void r600_hpd_init(struct radeon_device *rdev) +{ + struct drm_device *dev = rdev->ddev; + struct drm_connector *connector; + + if (ASIC_IS_DCE3(rdev)) { + u32 tmp = DC_HPDx_CONNECTION_TIMER(0x9c4) | DC_HPDx_RX_INT_TIMER(0xfa); + if (ASIC_IS_DCE32(rdev)) + tmp |= DC_HPDx_EN; + + list_for_each_entry(connector, &dev->mode_config.connector_list, head) { + struct radeon_connector *radeon_connector = to_radeon_connector(connector); + switch (radeon_connector->hpd.hpd) { + case RADEON_HPD_1: + WREG32(DC_HPD1_CONTROL, tmp); + rdev->irq.hpd[0] = true; + break; + case RADEON_HPD_2: + WREG32(DC_HPD2_CONTROL, tmp); + rdev->irq.hpd[1] = true; + break; + case RADEON_HPD_3: + WREG32(DC_HPD3_CONTROL, tmp); + rdev->irq.hpd[2] = true; + break; + case RADEON_HPD_4: + WREG32(DC_HPD4_CONTROL, tmp); + rdev->irq.hpd[3] = true; + break; + /* DCE 3.2 */ + case RADEON_HPD_5: + WREG32(DC_HPD5_CONTROL, tmp); + rdev->irq.hpd[4] = true; + break; + case RADEON_HPD_6: + WREG32(DC_HPD6_CONTROL, tmp); + rdev->irq.hpd[5] = true; + break; + default: + break; + } + } + } else { + list_for_each_entry(connector, &dev->mode_config.connector_list, head) { + struct radeon_connector *radeon_connector = to_radeon_connector(connector); + switch (radeon_connector->hpd.hpd) { + case RADEON_HPD_1: + WREG32(DC_HOT_PLUG_DETECT1_CONTROL, DC_HOT_PLUG_DETECTx_EN); + rdev->irq.hpd[0] = true; + break; + case RADEON_HPD_2: + WREG32(DC_HOT_PLUG_DETECT2_CONTROL, DC_HOT_PLUG_DETECTx_EN); + rdev->irq.hpd[1] = true; + break; + case RADEON_HPD_3: + WREG32(DC_HOT_PLUG_DETECT3_CONTROL, DC_HOT_PLUG_DETECTx_EN); + rdev->irq.hpd[2] = true; + break; + default: + break; + } + } + } + if (rdev->irq.installed) + r600_irq_set(rdev); +} + +void r600_hpd_fini(struct radeon_device *rdev) +{ + struct drm_device *dev = rdev->ddev; + struct drm_connector *connector; + + if (ASIC_IS_DCE3(rdev)) { + list_for_each_entry(connector, &dev->mode_config.connector_list, head) { + struct radeon_connector *radeon_connector = to_radeon_connector(connector); + switch (radeon_connector->hpd.hpd) { + case RADEON_HPD_1: + WREG32(DC_HPD1_CONTROL, 0); + rdev->irq.hpd[0] = false; + break; + case RADEON_HPD_2: + WREG32(DC_HPD2_CONTROL, 0); + rdev->irq.hpd[1] = false; + break; + case RADEON_HPD_3: + WREG32(DC_HPD3_CONTROL, 0); + rdev->irq.hpd[2] = false; + break; + case RADEON_HPD_4: + WREG32(DC_HPD4_CONTROL, 0); + rdev->irq.hpd[3] = false; + break; + /* DCE 3.2 */ + case RADEON_HPD_5: + WREG32(DC_HPD5_CONTROL, 0); + rdev->irq.hpd[4] = false; + break; + case RADEON_HPD_6: + WREG32(DC_HPD6_CONTROL, 0); + rdev->irq.hpd[5] = false; + break; + default: + break; + } + } + } else { + list_for_each_entry(connector, &dev->mode_config.connector_list, head) { + struct radeon_connector *radeon_connector = to_radeon_connector(connector); + switch (radeon_connector->hpd.hpd) { + case RADEON_HPD_1: + WREG32(DC_HOT_PLUG_DETECT1_CONTROL, 0); + rdev->irq.hpd[0] = false; + break; + case RADEON_HPD_2: + WREG32(DC_HOT_PLUG_DETECT2_CONTROL, 0); + rdev->irq.hpd[1] = false; + break; + case RADEON_HPD_3: + WREG32(DC_HOT_PLUG_DETECT3_CONTROL, 0); + rdev->irq.hpd[2] = false; + break; + default: + break; + } + } + } +} + /* * R600 PCIE GART */ @@ -90,6 +370,22 @@ unsigned i; u32 tmp; + /* flush hdp cache so updates hit vram */ + if ((rdev->family >= CHIP_RV770) && (rdev->family <= CHIP_RV740) && + !(rdev->flags & RADEON_IS_AGP)) { + void __iomem *ptr = (void *)rdev->gart.table.vram.ptr; + u32 tmp; + + /* r7xx hw bug. write to HDP_DEBUG1 followed by fb read + * rather than write to HDP_REG_COHERENCY_FLUSH_CNTL + * This seems to cause problems on some AGP cards. Just use the old + * method for them. + */ + WREG32(HDP_DEBUG1, 0); + tmp = readl((void __iomem *)ptr); + } else + WREG32(R_005480_HDP_MEM_COHERENCY_FLUSH_CNTL, 0x1); + WREG32(VM_CONTEXT0_INVALIDATION_LOW_ADDR, rdev->mc.gtt_start >> 12); WREG32(VM_CONTEXT0_INVALIDATION_HIGH_ADDR, (rdev->mc.gtt_end - 1) >> 12); WREG32(VM_CONTEXT0_REQUEST_RESPONSE, REQUEST_TYPE(1)); @@ -180,7 +476,7 @@ void r600_pcie_gart_disable(struct radeon_device *rdev) { u32 tmp; - int i; + int i, r; /* Disable all tables */ for (i = 0; i < 7; i++) @@ -208,8 +504,12 @@ WREG32(MC_VM_L1_TLB_MCB_RD_HDP_CNTL, tmp); WREG32(MC_VM_L1_TLB_MCB_WR_HDP_CNTL, tmp); if (rdev->gart.table.vram.robj) { - radeon_object_kunmap(rdev->gart.table.vram.robj); - radeon_object_unpin(rdev->gart.table.vram.robj); + r = radeon_bo_reserve(rdev->gart.table.vram.robj, false); + if (likely(r == 0)) { + radeon_bo_kunmap(rdev->gart.table.vram.robj); + radeon_bo_unpin(rdev->gart.table.vram.robj); + radeon_bo_unreserve(rdev->gart.table.vram.robj); + } } } @@ -340,7 +640,6 @@ fixed20_12 a; u32 tmp; int chansize, numchan; - int r; /* Get VRAM informations */ rdev->mc.vram_is_ddr = true; @@ -383,9 +682,6 @@ rdev->mc.real_vram_size = rdev->mc.aper_size; if (rdev->flags & RADEON_IS_AGP) { - r = radeon_agp_init(rdev); - if (r) - return r; /* gtt_size is setup by radeon_agp_init */ rdev->mc.gtt_location = rdev->mc.agp_base; tmp = 0xFFFFFFFFUL - rdev->mc.agp_base - rdev->mc.gtt_size; @@ -394,11 +690,11 @@ * AGP so that GPU can catch out of VRAM/AGP access */ if (rdev->mc.gtt_location > rdev->mc.mc_vram_size) { - /* Enought place before */ + /* Enough place before */ rdev->mc.vram_location = rdev->mc.gtt_location - rdev->mc.mc_vram_size; } else if (tmp > rdev->mc.mc_vram_size) { - /* Enought place after */ + /* Enough place after */ rdev->mc.vram_location = rdev->mc.gtt_location + rdev->mc.gtt_size; } else { @@ -443,6 +739,10 @@ a.full = rfixed_const(100); rdev->pm.sclk.full = rfixed_const(rdev->clock.default_sclk); rdev->pm.sclk.full = rfixed_div(rdev->pm.sclk, a); + + if (rdev->flags & RADEON_IS_IGP) + rdev->mc.igp_sideport_enabled = radeon_atombios_sideport_present(rdev); + return 0; } @@ -1101,7 +1401,6 @@ (void)RREG32(PCIE_PORT_DATA); } - /* * CP & Ring */ @@ -1110,11 +1409,12 @@ WREG32(R_0086D8_CP_ME_CNTL, S_0086D8_CP_ME_HALT(1)); } -int r600_cp_init_microcode(struct radeon_device *rdev) +int r600_init_microcode(struct radeon_device *rdev) { struct platform_device *pdev; const char *chip_name; - size_t pfp_req_size, me_req_size; + const char *rlc_chip_name; + size_t pfp_req_size, me_req_size, rlc_req_size; char fw_name[30]; int err; @@ -1128,30 +1428,62 @@ } switch (rdev->family) { - case CHIP_R600: chip_name = "R600"; break; - case CHIP_RV610: chip_name = "RV610"; break; - case CHIP_RV630: chip_name = "RV630"; break; - case CHIP_RV620: chip_name = "RV620"; break; - case CHIP_RV635: chip_name = "RV635"; break; - case CHIP_RV670: chip_name = "RV670"; break; + case CHIP_R600: + chip_name = "R600"; + rlc_chip_name = "R600"; + break; + case CHIP_RV610: + chip_name = "RV610"; + rlc_chip_name = "R600"; + break; + case CHIP_RV630: + chip_name = "RV630"; + rlc_chip_name = "R600"; + break; + case CHIP_RV620: + chip_name = "RV620"; + rlc_chip_name = "R600"; + break; + case CHIP_RV635: + chip_name = "RV635"; + rlc_chip_name = "R600"; + break; + case CHIP_RV670: + chip_name = "RV670"; + rlc_chip_name = "R600"; + break; case CHIP_RS780: - case CHIP_RS880: chip_name = "RS780"; break; - case CHIP_RV770: chip_name = "RV770"; break; + case CHIP_RS880: + chip_name = "RS780"; + rlc_chip_name = "R600"; + break; + case CHIP_RV770: + chip_name = "RV770"; + rlc_chip_name = "R700"; + break; case CHIP_RV730: - case CHIP_RV740: chip_name = "RV730"; break; - case CHIP_RV710: chip_name = "RV710"; break; + case CHIP_RV740: + chip_name = "RV730"; + rlc_chip_name = "R700"; + break; + case CHIP_RV710: + chip_name = "RV710"; + rlc_chip_name = "R700"; + break; default: BUG(); } if (rdev->family >= CHIP_RV770) { pfp_req_size = R700_PFP_UCODE_SIZE * 4; me_req_size = R700_PM4_UCODE_SIZE * 4; + rlc_req_size = R700_RLC_UCODE_SIZE * 4; } else { pfp_req_size = PFP_UCODE_SIZE * 4; me_req_size = PM4_UCODE_SIZE * 12; + rlc_req_size = RLC_UCODE_SIZE * 4; } - DRM_INFO("Loading %s CP Microcode\n", chip_name); + DRM_INFO("Loading %s Microcode\n", chip_name); snprintf(fw_name, sizeof(fw_name), "radeon/%s_pfp.bin", chip_name); err = request_firmware(&rdev->pfp_fw, fw_name, &pdev->dev); @@ -1175,6 +1507,18 @@ rdev->me_fw->size, fw_name); err = -EINVAL; } + + snprintf(fw_name, sizeof(fw_name), "radeon/%s_rlc.bin", rlc_chip_name); + err = request_firmware(&rdev->rlc_fw, fw_name, &pdev->dev); + if (err) + goto out; + if (rdev->rlc_fw->size != rlc_req_size) { + printk(KERN_ERR + "r600_rlc: Bogus length %zu in firmware \"%s\"\n", + rdev->rlc_fw->size, fw_name); + err = -EINVAL; + } + out: platform_device_unregister(pdev); @@ -1187,6 +1531,8 @@ rdev->pfp_fw = NULL; release_firmware(rdev->me_fw); rdev->me_fw = NULL; + release_firmware(rdev->rlc_fw); + rdev->rlc_fw = NULL; } return err; } @@ -1324,6 +1670,12 @@ rdev->cp.align_mask = 16 - 1; } +void r600_cp_fini(struct radeon_device *rdev) +{ + r600_cp_stop(rdev); + radeon_ring_fini(rdev); +} + /* * GPU scratch registers helpers function. @@ -1381,10 +1733,16 @@ void r600_wb_disable(struct radeon_device *rdev) { + int r; + WREG32(SCRATCH_UMSK, 0); if (rdev->wb.wb_obj) { - radeon_object_kunmap(rdev->wb.wb_obj); - radeon_object_unpin(rdev->wb.wb_obj); + r = radeon_bo_reserve(rdev->wb.wb_obj, false); + if (unlikely(r != 0)) + return; + radeon_bo_kunmap(rdev->wb.wb_obj); + radeon_bo_unpin(rdev->wb.wb_obj); + radeon_bo_unreserve(rdev->wb.wb_obj); } } @@ -1392,7 +1750,7 @@ { r600_wb_disable(rdev); if (rdev->wb.wb_obj) { - radeon_object_unref(&rdev->wb.wb_obj); + radeon_bo_unref(&rdev->wb.wb_obj); rdev->wb.wb = NULL; rdev->wb.wb_obj = NULL; } @@ -1403,22 +1761,29 @@ int r; if (rdev->wb.wb_obj == NULL) { - r = radeon_object_create(rdev, NULL, RADEON_GPU_PAGE_SIZE, true, - RADEON_GEM_DOMAIN_GTT, false, &rdev->wb.wb_obj); + r = radeon_bo_create(rdev, NULL, RADEON_GPU_PAGE_SIZE, true, + RADEON_GEM_DOMAIN_GTT, &rdev->wb.wb_obj); if (r) { - dev_warn(rdev->dev, "failed to create WB buffer (%d).\n", r); + dev_warn(rdev->dev, "(%d) create WB bo failed\n", r); return r; } - r = radeon_object_pin(rdev->wb.wb_obj, RADEON_GEM_DOMAIN_GTT, + r = radeon_bo_reserve(rdev->wb.wb_obj, false); + if (unlikely(r != 0)) { + r600_wb_fini(rdev); + return r; + } + r = radeon_bo_pin(rdev->wb.wb_obj, RADEON_GEM_DOMAIN_GTT, &rdev->wb.gpu_addr); if (r) { - dev_warn(rdev->dev, "failed to pin WB buffer (%d).\n", r); + radeon_bo_unreserve(rdev->wb.wb_obj); + dev_warn(rdev->dev, "(%d) pin WB bo failed\n", r); r600_wb_fini(rdev); return r; } - r = radeon_object_kmap(rdev->wb.wb_obj, (void **)&rdev->wb.wb); + r = radeon_bo_kmap(rdev->wb.wb_obj, (void **)&rdev->wb.wb); + radeon_bo_unreserve(rdev->wb.wb_obj); if (r) { - dev_warn(rdev->dev, "failed to map WB buffer (%d).\n", r); + dev_warn(rdev->dev, "(%d) map WB bo failed\n", r); r600_wb_fini(rdev); return r; } @@ -1433,41 +1798,36 @@ void r600_fence_ring_emit(struct radeon_device *rdev, struct radeon_fence *fence) { + /* Also consider EVENT_WRITE_EOP. it handles the interrupts + timestamps + events */ /* Emit fence sequence & fire IRQ */ radeon_ring_write(rdev, PACKET3(PACKET3_SET_CONFIG_REG, 1)); radeon_ring_write(rdev, ((rdev->fence_drv.scratch_reg - PACKET3_SET_CONFIG_REG_OFFSET) >> 2)); radeon_ring_write(rdev, fence->seq); -} - -int r600_copy_dma(struct radeon_device *rdev, - uint64_t src_offset, - uint64_t dst_offset, - unsigned num_pages, - struct radeon_fence *fence) -{ - /* FIXME: implement */ - return 0; + radeon_ring_write(rdev, PACKET0(R_005480_HDP_MEM_COHERENCY_FLUSH_CNTL, 0)); + radeon_ring_write(rdev, 1); + /* CP_INTERRUPT packet 3 no longer exists, use packet 0 */ + radeon_ring_write(rdev, PACKET0(CP_INT_STATUS, 0)); + radeon_ring_write(rdev, RB_INT_STAT); } int r600_copy_blit(struct radeon_device *rdev, uint64_t src_offset, uint64_t dst_offset, unsigned num_pages, struct radeon_fence *fence) { - r600_blit_prepare_copy(rdev, num_pages * RADEON_GPU_PAGE_SIZE); + int r; + + mutex_lock(&rdev->r600_blit.mutex); + rdev->r600_blit.vb_ib = NULL; + r = r600_blit_prepare_copy(rdev, num_pages * RADEON_GPU_PAGE_SIZE); + if (r) { + if (rdev->r600_blit.vb_ib) + radeon_ib_free(rdev, &rdev->r600_blit.vb_ib); + mutex_unlock(&rdev->r600_blit.mutex); + return r; + } r600_kms_blit_copy(rdev, src_offset, dst_offset, num_pages * RADEON_GPU_PAGE_SIZE); r600_blit_done_copy(rdev, fence); - return 0; -} - -int r600_irq_process(struct radeon_device *rdev) -{ - /* FIXME: implement */ - return 0; -} - -int r600_irq_set(struct radeon_device *rdev) -{ - /* FIXME: implement */ + mutex_unlock(&rdev->r600_blit.mutex); return 0; } @@ -1506,6 +1866,14 @@ { int r; + if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) { + r = r600_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); + return r; + } + } + r600_mc_program(rdev); if (rdev->flags & RADEON_IS_AGP) { r600_agp_enable(rdev); @@ -1515,13 +1883,33 @@ return r; } r600_gpu_init(rdev); - - r = radeon_object_pin(rdev->r600_blit.shader_obj, RADEON_GEM_DOMAIN_VRAM, - &rdev->r600_blit.shader_gpu_addr); + r = r600_blit_init(rdev); if (r) { - DRM_ERROR("failed to pin blit object %d\n", r); + r600_blit_fini(rdev); + rdev->asic->copy = NULL; + dev_warn(rdev->dev, "failed blitter (%d) falling back to memcpy\n", r); + } + /* pin copy shader into vram */ + if (rdev->r600_blit.shader_obj) { + r = radeon_bo_reserve(rdev->r600_blit.shader_obj, false); + if (unlikely(r != 0)) + return r; + r = radeon_bo_pin(rdev->r600_blit.shader_obj, RADEON_GEM_DOMAIN_VRAM, + &rdev->r600_blit.shader_gpu_addr); + radeon_bo_unreserve(rdev->r600_blit.shader_obj); + if (r) { + dev_err(rdev->dev, "(%d) pin blit object failed\n", r); + return r; + } + } + /* Enable IRQ */ + r = r600_irq_init(rdev); + if (r) { + DRM_ERROR("radeon: IH init failed (%d).\n", r); + radeon_irq_kms_fini(rdev); return r; } + r600_irq_set(rdev); r = radeon_ring_init(rdev, rdev->cp.ring_size); if (r) @@ -1578,18 +1966,35 @@ DRM_ERROR("radeon: failled testing IB (%d).\n", r); return r; } + + r = r600_audio_init(rdev); + if (r) { + DRM_ERROR("radeon: audio resume failed\n"); + return r; + } + return r; } int r600_suspend(struct radeon_device *rdev) { + int r; + + r600_audio_fini(rdev); /* FIXME: we should wait for ring to be empty */ r600_cp_stop(rdev); rdev->cp.ready = false; + r600_irq_suspend(rdev); r600_wb_disable(rdev); r600_pcie_gart_disable(rdev); /* unpin shaders bo */ - radeon_object_unpin(rdev->r600_blit.shader_obj); + if (rdev->r600_blit.shader_obj) { + r = radeon_bo_reserve(rdev->r600_blit.shader_obj, false); + if (!r) { + radeon_bo_unpin(rdev->r600_blit.shader_obj); + radeon_bo_unreserve(rdev->r600_blit.shader_obj); + } + } return 0; } @@ -1627,7 +2032,11 @@ if (r) return r; /* Post card if necessary */ - if (!r600_card_posted(rdev) && rdev->bios) { + if (!r600_card_posted(rdev)) { + if (!rdev->bios) { + dev_err(rdev->dev, "Card not posted and no BIOS - ignoring\n"); + return -EINVAL; + } DRM_INFO("GPU not posted. posting now...\n"); atom_asic_init(rdev->mode_info.atom_context); } @@ -1646,73 +2055,78 @@ r = radeon_fence_driver_init(rdev); if (r) return r; + if (rdev->flags & RADEON_IS_AGP) { + r = radeon_agp_init(rdev); + if (r) + radeon_agp_disable(rdev); + } r = r600_mc_init(rdev); if (r) return r; /* Memory manager */ - r = radeon_object_init(rdev); + r = radeon_bo_init(rdev); + if (r) + return r; + + r = radeon_irq_kms_init(rdev); if (r) return r; + rdev->cp.ring_obj = NULL; r600_ring_init(rdev, 1024 * 1024); - if (!rdev->me_fw || !rdev->pfp_fw) { - r = r600_cp_init_microcode(rdev); - if (r) { - DRM_ERROR("Failed to load firmware!\n"); - return r; - } - } + rdev->ih.ring_obj = NULL; + r600_ih_ring_init(rdev, 64 * 1024); r = r600_pcie_gart_init(rdev); if (r) return r; rdev->accel_working = true; - r = r600_blit_init(rdev); - if (r) { - DRM_ERROR("radeon: failled blitter (%d).\n", r); - return r; - } - r = r600_startup(rdev); if (r) { - r600_suspend(rdev); + dev_err(rdev->dev, "disabling GPU acceleration\n"); + r600_cp_fini(rdev); r600_wb_fini(rdev); - radeon_ring_fini(rdev); + r600_irq_fini(rdev); + radeon_irq_kms_fini(rdev); r600_pcie_gart_fini(rdev); rdev->accel_working = false; } if (rdev->accel_working) { r = radeon_ib_pool_init(rdev); if (r) { - DRM_ERROR("radeon: failled initializing IB pool (%d).\n", r); - rdev->accel_working = false; - } - r = r600_ib_test(rdev); - if (r) { - DRM_ERROR("radeon: failled testing IB (%d).\n", r); + dev_err(rdev->dev, "IB initialization failed (%d).\n", r); rdev->accel_working = false; + } else { + r = r600_ib_test(rdev); + if (r) { + dev_err(rdev->dev, "IB test failed (%d).\n", r); + rdev->accel_working = false; + } } } + + r = r600_audio_init(rdev); + if (r) + return r; /* TODO error handling */ return 0; } void r600_fini(struct radeon_device *rdev) { - /* Suspend operations */ - r600_suspend(rdev); - + r600_audio_fini(rdev); r600_blit_fini(rdev); - radeon_ring_fini(rdev); + r600_cp_fini(rdev); r600_wb_fini(rdev); + r600_irq_fini(rdev); + radeon_irq_kms_fini(rdev); r600_pcie_gart_fini(rdev); + radeon_agp_fini(rdev); radeon_gem_fini(rdev); radeon_fence_driver_fini(rdev); radeon_clocks_fini(rdev); - if (rdev->flags & RADEON_IS_AGP) - radeon_agp_fini(rdev); - radeon_object_fini(rdev); + radeon_bo_fini(rdev); radeon_atombios_fini(rdev); kfree(rdev->bios); rdev->bios = NULL; @@ -1798,8 +2212,668 @@ return r; } +/* + * Interrupts + * + * Interrupts use a ring buffer on r6xx/r7xx hardware. It works pretty + * the same as the CP ring buffer, but in reverse. Rather than the CPU + * writing to the ring and the GPU consuming, the GPU writes to the ring + * and host consumes. As the host irq handler processes interrupts, it + * increments the rptr. When the rptr catches up with the wptr, all the + * current interrupts have been processed. + */ + +void r600_ih_ring_init(struct radeon_device *rdev, unsigned ring_size) +{ + u32 rb_bufsz; + + /* Align ring size */ + rb_bufsz = drm_order(ring_size / 4); + ring_size = (1 << rb_bufsz) * 4; + rdev->ih.ring_size = ring_size; + rdev->ih.ptr_mask = rdev->ih.ring_size - 1; + rdev->ih.rptr = 0; +} + +static int r600_ih_ring_alloc(struct radeon_device *rdev) +{ + int r; + + /* Allocate ring buffer */ + if (rdev->ih.ring_obj == NULL) { + r = radeon_bo_create(rdev, NULL, rdev->ih.ring_size, + true, + RADEON_GEM_DOMAIN_GTT, + &rdev->ih.ring_obj); + if (r) { + DRM_ERROR("radeon: failed to create ih ring buffer (%d).\n", r); + return r; + } + r = radeon_bo_reserve(rdev->ih.ring_obj, false); + if (unlikely(r != 0)) + return r; + r = radeon_bo_pin(rdev->ih.ring_obj, + RADEON_GEM_DOMAIN_GTT, + &rdev->ih.gpu_addr); + if (r) { + radeon_bo_unreserve(rdev->ih.ring_obj); + DRM_ERROR("radeon: failed to pin ih ring buffer (%d).\n", r); + return r; + } + r = radeon_bo_kmap(rdev->ih.ring_obj, + (void **)&rdev->ih.ring); + radeon_bo_unreserve(rdev->ih.ring_obj); + if (r) { + DRM_ERROR("radeon: failed to map ih ring buffer (%d).\n", r); + return r; + } + } + return 0; +} + +static void r600_ih_ring_fini(struct radeon_device *rdev) +{ + int r; + if (rdev->ih.ring_obj) { + r = radeon_bo_reserve(rdev->ih.ring_obj, false); + if (likely(r == 0)) { + radeon_bo_kunmap(rdev->ih.ring_obj); + radeon_bo_unpin(rdev->ih.ring_obj); + radeon_bo_unreserve(rdev->ih.ring_obj); + } + radeon_bo_unref(&rdev->ih.ring_obj); + rdev->ih.ring = NULL; + rdev->ih.ring_obj = NULL; + } +} + +static void r600_rlc_stop(struct radeon_device *rdev) +{ + + if (rdev->family >= CHIP_RV770) { + /* r7xx asics need to soft reset RLC before halting */ + WREG32(SRBM_SOFT_RESET, SOFT_RESET_RLC); + RREG32(SRBM_SOFT_RESET); + udelay(15000); + WREG32(SRBM_SOFT_RESET, 0); + RREG32(SRBM_SOFT_RESET); + } + + WREG32(RLC_CNTL, 0); +} + +static void r600_rlc_start(struct radeon_device *rdev) +{ + WREG32(RLC_CNTL, RLC_ENABLE); +} + +static int r600_rlc_init(struct radeon_device *rdev) +{ + u32 i; + const __be32 *fw_data; + + if (!rdev->rlc_fw) + return -EINVAL; + + r600_rlc_stop(rdev); + + WREG32(RLC_HB_BASE, 0); + WREG32(RLC_HB_CNTL, 0); + WREG32(RLC_HB_RPTR, 0); + WREG32(RLC_HB_WPTR, 0); + WREG32(RLC_HB_WPTR_LSB_ADDR, 0); + WREG32(RLC_HB_WPTR_MSB_ADDR, 0); + WREG32(RLC_MC_CNTL, 0); + WREG32(RLC_UCODE_CNTL, 0); + + fw_data = (const __be32 *)rdev->rlc_fw->data; + if (rdev->family >= CHIP_RV770) { + for (i = 0; i < R700_RLC_UCODE_SIZE; i++) { + WREG32(RLC_UCODE_ADDR, i); + WREG32(RLC_UCODE_DATA, be32_to_cpup(fw_data++)); + } + } else { + for (i = 0; i < RLC_UCODE_SIZE; i++) { + WREG32(RLC_UCODE_ADDR, i); + WREG32(RLC_UCODE_DATA, be32_to_cpup(fw_data++)); + } + } + WREG32(RLC_UCODE_ADDR, 0); + + r600_rlc_start(rdev); + + return 0; +} + +static void r600_enable_interrupts(struct radeon_device *rdev) +{ + u32 ih_cntl = RREG32(IH_CNTL); + u32 ih_rb_cntl = RREG32(IH_RB_CNTL); + + ih_cntl |= ENABLE_INTR; + ih_rb_cntl |= IH_RB_ENABLE; + WREG32(IH_CNTL, ih_cntl); + WREG32(IH_RB_CNTL, ih_rb_cntl); + rdev->ih.enabled = true; +} + +static void r600_disable_interrupts(struct radeon_device *rdev) +{ + u32 ih_rb_cntl = RREG32(IH_RB_CNTL); + u32 ih_cntl = RREG32(IH_CNTL); + + ih_rb_cntl &= ~IH_RB_ENABLE; + ih_cntl &= ~ENABLE_INTR; + WREG32(IH_RB_CNTL, ih_rb_cntl); + WREG32(IH_CNTL, ih_cntl); + /* set rptr, wptr to 0 */ + WREG32(IH_RB_RPTR, 0); + WREG32(IH_RB_WPTR, 0); + rdev->ih.enabled = false; + rdev->ih.wptr = 0; + rdev->ih.rptr = 0; +} + +static void r600_disable_interrupt_state(struct radeon_device *rdev) +{ + u32 tmp; + + WREG32(CP_INT_CNTL, 0); + WREG32(GRBM_INT_CNTL, 0); + WREG32(DxMODE_INT_MASK, 0); + if (ASIC_IS_DCE3(rdev)) { + WREG32(DCE3_DACA_AUTODETECT_INT_CONTROL, 0); + WREG32(DCE3_DACB_AUTODETECT_INT_CONTROL, 0); + tmp = RREG32(DC_HPD1_INT_CONTROL) & DC_HPDx_INT_POLARITY; + WREG32(DC_HPD1_INT_CONTROL, tmp); + tmp = RREG32(DC_HPD2_INT_CONTROL) & DC_HPDx_INT_POLARITY; + WREG32(DC_HPD2_INT_CONTROL, tmp); + tmp = RREG32(DC_HPD3_INT_CONTROL) & DC_HPDx_INT_POLARITY; + WREG32(DC_HPD3_INT_CONTROL, tmp); + tmp = RREG32(DC_HPD4_INT_CONTROL) & DC_HPDx_INT_POLARITY; + WREG32(DC_HPD4_INT_CONTROL, tmp); + if (ASIC_IS_DCE32(rdev)) { + tmp = RREG32(DC_HPD5_INT_CONTROL) & DC_HPDx_INT_POLARITY; + WREG32(DC_HPD5_INT_CONTROL, 0); + tmp = RREG32(DC_HPD6_INT_CONTROL) & DC_HPDx_INT_POLARITY; + WREG32(DC_HPD6_INT_CONTROL, 0); + } + } else { + WREG32(DACA_AUTODETECT_INT_CONTROL, 0); + WREG32(DACB_AUTODETECT_INT_CONTROL, 0); + tmp = RREG32(DC_HOT_PLUG_DETECT1_INT_CONTROL) & DC_HOT_PLUG_DETECTx_INT_POLARITY; + WREG32(DC_HOT_PLUG_DETECT1_INT_CONTROL, 0); + tmp = RREG32(DC_HOT_PLUG_DETECT2_INT_CONTROL) & DC_HOT_PLUG_DETECTx_INT_POLARITY; + WREG32(DC_HOT_PLUG_DETECT2_INT_CONTROL, 0); + tmp = RREG32(DC_HOT_PLUG_DETECT3_INT_CONTROL) & DC_HOT_PLUG_DETECTx_INT_POLARITY; + WREG32(DC_HOT_PLUG_DETECT3_INT_CONTROL, 0); + } +} + +int r600_irq_init(struct radeon_device *rdev) +{ + int ret = 0; + int rb_bufsz; + u32 interrupt_cntl, ih_cntl, ih_rb_cntl; + + /* allocate ring */ + ret = r600_ih_ring_alloc(rdev); + if (ret) + return ret; + + /* disable irqs */ + r600_disable_interrupts(rdev); + + /* init rlc */ + ret = r600_rlc_init(rdev); + if (ret) { + r600_ih_ring_fini(rdev); + return ret; + } + + /* setup interrupt control */ + /* set dummy read address to ring address */ + WREG32(INTERRUPT_CNTL2, rdev->ih.gpu_addr >> 8); + interrupt_cntl = RREG32(INTERRUPT_CNTL); + /* IH_DUMMY_RD_OVERRIDE=0 - dummy read disabled with msi, enabled without msi + * IH_DUMMY_RD_OVERRIDE=1 - dummy read controlled by IH_DUMMY_RD_EN + */ + interrupt_cntl &= ~IH_DUMMY_RD_OVERRIDE; + /* IH_REQ_NONSNOOP_EN=1 if ring is in non-cacheable memory, e.g., vram */ + interrupt_cntl &= ~IH_REQ_NONSNOOP_EN; + WREG32(INTERRUPT_CNTL, interrupt_cntl); + + WREG32(IH_RB_BASE, rdev->ih.gpu_addr >> 8); + rb_bufsz = drm_order(rdev->ih.ring_size / 4); + + ih_rb_cntl = (IH_WPTR_OVERFLOW_ENABLE | + IH_WPTR_OVERFLOW_CLEAR | + (rb_bufsz << 1)); + /* WPTR writeback, not yet */ + /*ih_rb_cntl |= IH_WPTR_WRITEBACK_ENABLE;*/ + WREG32(IH_RB_WPTR_ADDR_LO, 0); + WREG32(IH_RB_WPTR_ADDR_HI, 0); + + WREG32(IH_RB_CNTL, ih_rb_cntl); + + /* set rptr, wptr to 0 */ + WREG32(IH_RB_RPTR, 0); + WREG32(IH_RB_WPTR, 0); + + /* Default settings for IH_CNTL (disabled at first) */ + ih_cntl = MC_WRREQ_CREDIT(0x10) | MC_WR_CLEAN_CNT(0x10); + /* RPTR_REARM only works if msi's are enabled */ + if (rdev->msi_enabled) + ih_cntl |= RPTR_REARM; + +#ifdef __BIG_ENDIAN + ih_cntl |= IH_MC_SWAP(IH_MC_SWAP_32BIT); +#endif + WREG32(IH_CNTL, ih_cntl); + + /* force the active interrupt state to all disabled */ + r600_disable_interrupt_state(rdev); + + /* enable irqs */ + r600_enable_interrupts(rdev); + + return ret; +} + +void r600_irq_suspend(struct radeon_device *rdev) +{ + r600_disable_interrupts(rdev); + r600_rlc_stop(rdev); +} + +void r600_irq_fini(struct radeon_device *rdev) +{ + r600_irq_suspend(rdev); + r600_ih_ring_fini(rdev); +} + +int r600_irq_set(struct radeon_device *rdev) +{ + u32 cp_int_cntl = CNTX_BUSY_INT_ENABLE | CNTX_EMPTY_INT_ENABLE; + u32 mode_int = 0; + u32 hpd1, hpd2, hpd3, hpd4 = 0, hpd5 = 0, hpd6 = 0; + + if (!rdev->irq.installed) { + WARN(1, "Can't enable IRQ/MSI because no handler is installed.\n"); + return -EINVAL; + } + /* don't enable anything if the ih is disabled */ + if (!rdev->ih.enabled) { + r600_disable_interrupts(rdev); + /* force the active interrupt state to all disabled */ + r600_disable_interrupt_state(rdev); + return 0; + } + if (ASIC_IS_DCE3(rdev)) { + hpd1 = RREG32(DC_HPD1_INT_CONTROL) & ~DC_HPDx_INT_EN; + hpd2 = RREG32(DC_HPD2_INT_CONTROL) & ~DC_HPDx_INT_EN; + hpd3 = RREG32(DC_HPD3_INT_CONTROL) & ~DC_HPDx_INT_EN; + hpd4 = RREG32(DC_HPD4_INT_CONTROL) & ~DC_HPDx_INT_EN; + if (ASIC_IS_DCE32(rdev)) { + hpd5 = RREG32(DC_HPD5_INT_CONTROL) & ~DC_HPDx_INT_EN; + hpd6 = RREG32(DC_HPD6_INT_CONTROL) & ~DC_HPDx_INT_EN; + } + } else { + hpd1 = RREG32(DC_HOT_PLUG_DETECT1_INT_CONTROL) & ~DC_HPDx_INT_EN; + hpd2 = RREG32(DC_HOT_PLUG_DETECT2_INT_CONTROL) & ~DC_HPDx_INT_EN; + hpd3 = RREG32(DC_HOT_PLUG_DETECT3_INT_CONTROL) & ~DC_HPDx_INT_EN; + } + + if (rdev->irq.sw_int) { + DRM_DEBUG("r600_irq_set: sw int\n"); + cp_int_cntl |= RB_INT_ENABLE; + } + if (rdev->irq.crtc_vblank_int[0]) { + DRM_DEBUG("r600_irq_set: vblank 0\n"); + mode_int |= D1MODE_VBLANK_INT_MASK; + } + if (rdev->irq.crtc_vblank_int[1]) { + DRM_DEBUG("r600_irq_set: vblank 1\n"); + mode_int |= D2MODE_VBLANK_INT_MASK; + } + if (rdev->irq.hpd[0]) { + DRM_DEBUG("r600_irq_set: hpd 1\n"); + hpd1 |= DC_HPDx_INT_EN; + } + if (rdev->irq.hpd[1]) { + DRM_DEBUG("r600_irq_set: hpd 2\n"); + hpd2 |= DC_HPDx_INT_EN; + } + if (rdev->irq.hpd[2]) { + DRM_DEBUG("r600_irq_set: hpd 3\n"); + hpd3 |= DC_HPDx_INT_EN; + } + if (rdev->irq.hpd[3]) { + DRM_DEBUG("r600_irq_set: hpd 4\n"); + hpd4 |= DC_HPDx_INT_EN; + } + if (rdev->irq.hpd[4]) { + DRM_DEBUG("r600_irq_set: hpd 5\n"); + hpd5 |= DC_HPDx_INT_EN; + } + if (rdev->irq.hpd[5]) { + DRM_DEBUG("r600_irq_set: hpd 6\n"); + hpd6 |= DC_HPDx_INT_EN; + } + + WREG32(CP_INT_CNTL, cp_int_cntl); + WREG32(DxMODE_INT_MASK, mode_int); + if (ASIC_IS_DCE3(rdev)) { + WREG32(DC_HPD1_INT_CONTROL, hpd1); + WREG32(DC_HPD2_INT_CONTROL, hpd2); + WREG32(DC_HPD3_INT_CONTROL, hpd3); + WREG32(DC_HPD4_INT_CONTROL, hpd4); + if (ASIC_IS_DCE32(rdev)) { + WREG32(DC_HPD5_INT_CONTROL, hpd5); + WREG32(DC_HPD6_INT_CONTROL, hpd6); + } + } else { + WREG32(DC_HOT_PLUG_DETECT1_INT_CONTROL, hpd1); + WREG32(DC_HOT_PLUG_DETECT2_INT_CONTROL, hpd2); + WREG32(DC_HOT_PLUG_DETECT3_INT_CONTROL, hpd3); + } + return 0; +} + +static inline void r600_irq_ack(struct radeon_device *rdev, + u32 *disp_int, + u32 *disp_int_cont, + u32 *disp_int_cont2) +{ + u32 tmp; + + if (ASIC_IS_DCE3(rdev)) { + *disp_int = RREG32(DCE3_DISP_INTERRUPT_STATUS); + *disp_int_cont = RREG32(DCE3_DISP_INTERRUPT_STATUS_CONTINUE); + *disp_int_cont2 = RREG32(DCE3_DISP_INTERRUPT_STATUS_CONTINUE2); + } else { + *disp_int = RREG32(DISP_INTERRUPT_STATUS); + *disp_int_cont = RREG32(DISP_INTERRUPT_STATUS_CONTINUE); + *disp_int_cont2 = 0; + } + + if (*disp_int & LB_D1_VBLANK_INTERRUPT) + WREG32(D1MODE_VBLANK_STATUS, DxMODE_VBLANK_ACK); + if (*disp_int & LB_D1_VLINE_INTERRUPT) + WREG32(D1MODE_VLINE_STATUS, DxMODE_VLINE_ACK); + if (*disp_int & LB_D2_VBLANK_INTERRUPT) + WREG32(D2MODE_VBLANK_STATUS, DxMODE_VBLANK_ACK); + if (*disp_int & LB_D2_VLINE_INTERRUPT) + WREG32(D2MODE_VLINE_STATUS, DxMODE_VLINE_ACK); + if (*disp_int & DC_HPD1_INTERRUPT) { + if (ASIC_IS_DCE3(rdev)) { + tmp = RREG32(DC_HPD1_INT_CONTROL); + tmp |= DC_HPDx_INT_ACK; + WREG32(DC_HPD1_INT_CONTROL, tmp); + } else { + tmp = RREG32(DC_HOT_PLUG_DETECT1_INT_CONTROL); + tmp |= DC_HPDx_INT_ACK; + WREG32(DC_HOT_PLUG_DETECT1_INT_CONTROL, tmp); + } + } + if (*disp_int & DC_HPD2_INTERRUPT) { + if (ASIC_IS_DCE3(rdev)) { + tmp = RREG32(DC_HPD2_INT_CONTROL); + tmp |= DC_HPDx_INT_ACK; + WREG32(DC_HPD2_INT_CONTROL, tmp); + } else { + tmp = RREG32(DC_HOT_PLUG_DETECT2_INT_CONTROL); + tmp |= DC_HPDx_INT_ACK; + WREG32(DC_HOT_PLUG_DETECT2_INT_CONTROL, tmp); + } + } + if (*disp_int_cont & DC_HPD3_INTERRUPT) { + if (ASIC_IS_DCE3(rdev)) { + tmp = RREG32(DC_HPD3_INT_CONTROL); + tmp |= DC_HPDx_INT_ACK; + WREG32(DC_HPD3_INT_CONTROL, tmp); + } else { + tmp = RREG32(DC_HOT_PLUG_DETECT3_INT_CONTROL); + tmp |= DC_HPDx_INT_ACK; + WREG32(DC_HOT_PLUG_DETECT3_INT_CONTROL, tmp); + } + } + if (*disp_int_cont & DC_HPD4_INTERRUPT) { + tmp = RREG32(DC_HPD4_INT_CONTROL); + tmp |= DC_HPDx_INT_ACK; + WREG32(DC_HPD4_INT_CONTROL, tmp); + } + if (ASIC_IS_DCE32(rdev)) { + if (*disp_int_cont2 & DC_HPD5_INTERRUPT) { + tmp = RREG32(DC_HPD5_INT_CONTROL); + tmp |= DC_HPDx_INT_ACK; + WREG32(DC_HPD5_INT_CONTROL, tmp); + } + if (*disp_int_cont2 & DC_HPD6_INTERRUPT) { + tmp = RREG32(DC_HPD5_INT_CONTROL); + tmp |= DC_HPDx_INT_ACK; + WREG32(DC_HPD6_INT_CONTROL, tmp); + } + } +} + +void r600_irq_disable(struct radeon_device *rdev) +{ + u32 disp_int, disp_int_cont, disp_int_cont2; + + r600_disable_interrupts(rdev); + /* Wait and acknowledge irq */ + mdelay(1); + r600_irq_ack(rdev, &disp_int, &disp_int_cont, &disp_int_cont2); + r600_disable_interrupt_state(rdev); +} + +static inline u32 r600_get_ih_wptr(struct radeon_device *rdev) +{ + u32 wptr, tmp; + + /* XXX use writeback */ + wptr = RREG32(IH_RB_WPTR); + + if (wptr & RB_OVERFLOW) { + /* When a ring buffer overflow happen start parsing interrupt + * from the last not overwritten vector (wptr + 16). Hopefully + * this should allow us to catchup. + */ + dev_warn(rdev->dev, "IH ring buffer overflow (0x%08X, %d, %d)\n", + wptr, rdev->ih.rptr, (wptr + 16) + rdev->ih.ptr_mask); + rdev->ih.rptr = (wptr + 16) & rdev->ih.ptr_mask; + tmp = RREG32(IH_RB_CNTL); + tmp |= IH_WPTR_OVERFLOW_CLEAR; + WREG32(IH_RB_CNTL, tmp); + } + return (wptr & rdev->ih.ptr_mask); +} + +/* r600 IV Ring + * Each IV ring entry is 128 bits: + * [7:0] - interrupt source id + * [31:8] - reserved + * [59:32] - interrupt source data + * [127:60] - reserved + * + * The basic interrupt vector entries + * are decoded as follows: + * src_id src_data description + * 1 0 D1 Vblank + * 1 1 D1 Vline + * 5 0 D2 Vblank + * 5 1 D2 Vline + * 19 0 FP Hot plug detection A + * 19 1 FP Hot plug detection B + * 19 2 DAC A auto-detection + * 19 3 DAC B auto-detection + * 176 - CP_INT RB + * 177 - CP_INT IB1 + * 178 - CP_INT IB2 + * 181 - EOP Interrupt + * 233 - GUI Idle + * + * Note, these are based on r600 and may need to be + * adjusted or added to on newer asics + */ + +int r600_irq_process(struct radeon_device *rdev) +{ + u32 wptr = r600_get_ih_wptr(rdev); + u32 rptr = rdev->ih.rptr; + u32 src_id, src_data; + u32 ring_index, disp_int, disp_int_cont, disp_int_cont2; + unsigned long flags; + bool queue_hotplug = false; + + DRM_DEBUG("r600_irq_process start: rptr %d, wptr %d\n", rptr, wptr); + if (!rdev->ih.enabled) + return IRQ_NONE; + + spin_lock_irqsave(&rdev->ih.lock, flags); + + if (rptr == wptr) { + spin_unlock_irqrestore(&rdev->ih.lock, flags); + return IRQ_NONE; + } + if (rdev->shutdown) { + spin_unlock_irqrestore(&rdev->ih.lock, flags); + return IRQ_NONE; + } + +restart_ih: + /* display interrupts */ + r600_irq_ack(rdev, &disp_int, &disp_int_cont, &disp_int_cont2); + + rdev->ih.wptr = wptr; + while (rptr != wptr) { + /* wptr/rptr are in bytes! */ + ring_index = rptr / 4; + src_id = rdev->ih.ring[ring_index] & 0xff; + src_data = rdev->ih.ring[ring_index + 1] & 0xfffffff; + + switch (src_id) { + case 1: /* D1 vblank/vline */ + switch (src_data) { + case 0: /* D1 vblank */ + if (disp_int & LB_D1_VBLANK_INTERRUPT) { + drm_handle_vblank(rdev->ddev, 0); + disp_int &= ~LB_D1_VBLANK_INTERRUPT; + DRM_DEBUG("IH: D1 vblank\n"); + } + break; + case 1: /* D1 vline */ + if (disp_int & LB_D1_VLINE_INTERRUPT) { + disp_int &= ~LB_D1_VLINE_INTERRUPT; + DRM_DEBUG("IH: D1 vline\n"); + } + break; + default: + DRM_DEBUG("Unhandled interrupt: %d %d\n", src_id, src_data); + break; + } + break; + case 5: /* D2 vblank/vline */ + switch (src_data) { + case 0: /* D2 vblank */ + if (disp_int & LB_D2_VBLANK_INTERRUPT) { + drm_handle_vblank(rdev->ddev, 1); + disp_int &= ~LB_D2_VBLANK_INTERRUPT; + DRM_DEBUG("IH: D2 vblank\n"); + } + break; + case 1: /* D1 vline */ + if (disp_int & LB_D2_VLINE_INTERRUPT) { + disp_int &= ~LB_D2_VLINE_INTERRUPT; + DRM_DEBUG("IH: D2 vline\n"); + } + break; + default: + DRM_DEBUG("Unhandled interrupt: %d %d\n", src_id, src_data); + break; + } + break; + case 19: /* HPD/DAC hotplug */ + switch (src_data) { + case 0: + if (disp_int & DC_HPD1_INTERRUPT) { + disp_int &= ~DC_HPD1_INTERRUPT; + queue_hotplug = true; + DRM_DEBUG("IH: HPD1\n"); + } + break; + case 1: + if (disp_int & DC_HPD2_INTERRUPT) { + disp_int &= ~DC_HPD2_INTERRUPT; + queue_hotplug = true; + DRM_DEBUG("IH: HPD2\n"); + } + break; + case 4: + if (disp_int_cont & DC_HPD3_INTERRUPT) { + disp_int_cont &= ~DC_HPD3_INTERRUPT; + queue_hotplug = true; + DRM_DEBUG("IH: HPD3\n"); + } + break; + case 5: + if (disp_int_cont & DC_HPD4_INTERRUPT) { + disp_int_cont &= ~DC_HPD4_INTERRUPT; + queue_hotplug = true; + DRM_DEBUG("IH: HPD4\n"); + } + break; + case 10: + if (disp_int_cont2 & DC_HPD5_INTERRUPT) { + disp_int_cont &= ~DC_HPD5_INTERRUPT; + queue_hotplug = true; + DRM_DEBUG("IH: HPD5\n"); + } + break; + case 12: + if (disp_int_cont2 & DC_HPD6_INTERRUPT) { + disp_int_cont &= ~DC_HPD6_INTERRUPT; + queue_hotplug = true; + DRM_DEBUG("IH: HPD6\n"); + } + break; + default: + DRM_DEBUG("Unhandled interrupt: %d %d\n", src_id, src_data); + break; + } + break; + case 176: /* CP_INT in ring buffer */ + case 177: /* CP_INT in IB1 */ + case 178: /* CP_INT in IB2 */ + DRM_DEBUG("IH: CP int: 0x%08x\n", src_data); + radeon_fence_process(rdev); + break; + case 181: /* CP EOP event */ + DRM_DEBUG("IH: CP EOP\n"); + break; + default: + DRM_DEBUG("Unhandled interrupt: %d %d\n", src_id, src_data); + break; + } + + /* wptr/rptr are in bytes! */ + rptr += 16; + rptr &= rdev->ih.ptr_mask; + } + /* make sure wptr hasn't changed while processing */ + wptr = r600_get_ih_wptr(rdev); + if (wptr != rdev->ih.wptr) + goto restart_ih; + if (queue_hotplug) + queue_work(rdev->wq, &rdev->hotplug_work); + rdev->ih.rptr = rptr; + WREG32(IH_RB_RPTR, rdev->ih.rptr); + spin_unlock_irqrestore(&rdev->ih.lock, flags); + return IRQ_HANDLED; +} /* * Debugfs info @@ -1811,21 +2885,21 @@ struct drm_info_node *node = (struct drm_info_node *) m->private; struct drm_device *dev = node->minor->dev; struct radeon_device *rdev = dev->dev_private; - uint32_t rdp, wdp; unsigned count, i, j; radeon_ring_free_size(rdev); - rdp = RREG32(CP_RB_RPTR); - wdp = RREG32(CP_RB_WPTR); - count = (rdp + rdev->cp.ring_size - wdp) & rdev->cp.ptr_mask; + count = (rdev->cp.ring_size / 4) - rdev->cp.ring_free_dw; seq_printf(m, "CP_STAT 0x%08x\n", RREG32(CP_STAT)); - seq_printf(m, "CP_RB_WPTR 0x%08x\n", wdp); - seq_printf(m, "CP_RB_RPTR 0x%08x\n", rdp); + seq_printf(m, "CP_RB_WPTR 0x%08x\n", RREG32(CP_RB_WPTR)); + seq_printf(m, "CP_RB_RPTR 0x%08x\n", RREG32(CP_RB_RPTR)); + seq_printf(m, "driver's copy of the CP_RB_WPTR 0x%08x\n", rdev->cp.wptr); + seq_printf(m, "driver's copy of the CP_RB_RPTR 0x%08x\n", rdev->cp.rptr); seq_printf(m, "%u free dwords in ring\n", rdev->cp.ring_free_dw); seq_printf(m, "%u dwords in ring\n", count); + i = rdev->cp.rptr; for (j = 0; j <= count; j++) { - i = (rdp + j) & rdev->cp.ptr_mask; seq_printf(m, "r[%04d]=0x%08x\n", i, rdev->cp.ring[i]); + i = (i + 1) & rdev->cp.ptr_mask; } return 0; } @@ -1855,3 +2929,31 @@ return 0; #endif } + +/** + * r600_ioctl_wait_idle - flush host path cache on wait idle ioctl + * rdev: radeon device structure + * bo: buffer object struct which userspace is waiting for idle + * + * Some R6XX/R7XX doesn't seems to take into account HDP flush performed + * through ring buffer, this leads to corruption in rendering, see + * http://bugzilla.kernel.org/show_bug.cgi?id=15186 to avoid this we + * directly perform HDP flush by writing register through MMIO. + */ +void r600_ioctl_wait_idle(struct radeon_device *rdev, struct radeon_bo *bo) +{ + /* r7xx hw bug. write to HDP_DEBUG1 followed by fb read + * rather than write to HDP_REG_COHERENCY_FLUSH_CNTL. + * This seems to cause problems on some AGP cards. Just use the old + * method for them. + */ + if ((rdev->family >= CHIP_RV770) && (rdev->family <= CHIP_RV740) && + rdev->vram_scratch.ptr && !(rdev->flags & RADEON_IS_AGP)) { + void __iomem *ptr = (void *)rdev->vram_scratch.ptr; + u32 tmp; + + WREG32(HDP_DEBUG1, 0); + tmp = readl((void __iomem *)ptr); + } else + WREG32(R_005480_HDP_MEM_COHERENCY_FLUSH_CNTL, 0x1); +} --- linux-2.6.32.orig/drivers/gpu/drm/radeon/r600_cp.c +++ linux-2.6.32/drivers/gpu/drm/radeon/r600_cp.c @@ -1428,9 +1428,12 @@ gb_tiling_config |= R600_BANK_SWAPS(1); - backend_map = r700_get_tile_pipe_to_backend_map(dev_priv->r600_max_tile_pipes, - dev_priv->r600_max_backends, - (0xff << dev_priv->r600_max_backends) & 0xff); + if ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV740) + backend_map = 0x28; + else + backend_map = r700_get_tile_pipe_to_backend_map(dev_priv->r600_max_tile_pipes, + dev_priv->r600_max_backends, + (0xff << dev_priv->r600_max_backends) & 0xff); gb_tiling_config |= R600_BACKEND_MAP(backend_map); cc_gc_shader_pipe_config = --- linux-2.6.32.orig/drivers/gpu/drm/radeon/r600_reg.h +++ linux-2.6.32/drivers/gpu/drm/radeon/r600_reg.h @@ -86,6 +86,7 @@ #define R600_HDP_NONSURFACE_BASE 0x2c04 #define R600_BUS_CNTL 0x5420 +# define R600_BIOS_ROM_DIS (1 << 1) #define R600_CONFIG_CNTL 0x5424 #define R600_CONFIG_MEMSIZE 0x5428 #define R600_CONFIG_F0_BASE 0x542C @@ -110,5 +111,79 @@ #define R600_BIOS_6_SCRATCH 0x173c #define R600_BIOS_7_SCRATCH 0x1740 +/* Audio, these regs were reverse enginered, + * so the chance is high that the naming is wrong + * R6xx+ ??? */ + +/* Audio clocks */ +#define R600_AUDIO_PLL1_MUL 0x0514 +#define R600_AUDIO_PLL1_DIV 0x0518 +#define R600_AUDIO_PLL2_MUL 0x0524 +#define R600_AUDIO_PLL2_DIV 0x0528 +#define R600_AUDIO_CLK_SRCSEL 0x0534 + +/* Audio general */ +#define R600_AUDIO_ENABLE 0x7300 +#define R600_AUDIO_TIMING 0x7344 + +/* Audio params */ +#define R600_AUDIO_VENDOR_ID 0x7380 +#define R600_AUDIO_REVISION_ID 0x7384 +#define R600_AUDIO_ROOT_NODE_COUNT 0x7388 +#define R600_AUDIO_NID1_NODE_COUNT 0x738c +#define R600_AUDIO_NID1_TYPE 0x7390 +#define R600_AUDIO_SUPPORTED_SIZE_RATE 0x7394 +#define R600_AUDIO_SUPPORTED_CODEC 0x7398 +#define R600_AUDIO_SUPPORTED_POWER_STATES 0x739c +#define R600_AUDIO_NID2_CAPS 0x73a0 +#define R600_AUDIO_NID3_CAPS 0x73a4 +#define R600_AUDIO_NID3_PIN_CAPS 0x73a8 + +/* Audio conn list */ +#define R600_AUDIO_CONN_LIST_LEN 0x73ac +#define R600_AUDIO_CONN_LIST 0x73b0 + +/* Audio verbs */ +#define R600_AUDIO_RATE_BPS_CHANNEL 0x73c0 +#define R600_AUDIO_PLAYING 0x73c4 +#define R600_AUDIO_IMPLEMENTATION_ID 0x73c8 +#define R600_AUDIO_CONFIG_DEFAULT 0x73cc +#define R600_AUDIO_PIN_SENSE 0x73d0 +#define R600_AUDIO_PIN_WIDGET_CNTL 0x73d4 +#define R600_AUDIO_STATUS_BITS 0x73d8 + +/* HDMI base register addresses */ +#define R600_HDMI_TMDS1 0x7400 +#define R600_HDMI_TMDS2 0x7700 +#define R600_HDMI_DIG 0x7800 + +/* HDMI registers */ +#define R600_HDMI_ENABLE 0x00 +#define R600_HDMI_STATUS 0x04 +#define R600_HDMI_CNTL 0x08 +#define R600_HDMI_UNKNOWN_0 0x0C +#define R600_HDMI_AUDIOCNTL 0x10 +#define R600_HDMI_VIDEOCNTL 0x14 +#define R600_HDMI_VERSION 0x18 +#define R600_HDMI_UNKNOWN_1 0x28 +#define R600_HDMI_VIDEOINFOFRAME_0 0x54 +#define R600_HDMI_VIDEOINFOFRAME_1 0x58 +#define R600_HDMI_VIDEOINFOFRAME_2 0x5c +#define R600_HDMI_VIDEOINFOFRAME_3 0x60 +#define R600_HDMI_32kHz_CTS 0xac +#define R600_HDMI_32kHz_N 0xb0 +#define R600_HDMI_44_1kHz_CTS 0xb4 +#define R600_HDMI_44_1kHz_N 0xb8 +#define R600_HDMI_48kHz_CTS 0xbc +#define R600_HDMI_48kHz_N 0xc0 +#define R600_HDMI_AUDIOINFOFRAME_0 0xcc +#define R600_HDMI_AUDIOINFOFRAME_1 0xd0 +#define R600_HDMI_IEC60958_1 0xd4 +#define R600_HDMI_IEC60958_2 0xd8 +#define R600_HDMI_UNKNOWN_2 0xdc +#define R600_HDMI_AUDIO_DEBUG_0 0xe0 +#define R600_HDMI_AUDIO_DEBUG_1 0xe4 +#define R600_HDMI_AUDIO_DEBUG_2 0xe8 +#define R600_HDMI_AUDIO_DEBUG_3 0xec #endif --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon.h +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon.h @@ -28,8 +28,6 @@ #ifndef __RADEON_H__ #define __RADEON_H__ -#include "radeon_object.h" - /* TODO: Here are things that needs to be done : * - surface allocator & initializer : (bit like scratch reg) should * initialize HDP_ stuff on RS600, R600, R700 hw, well anythings @@ -67,6 +65,11 @@ #include #include +#include +#include +#include +#include + #include "radeon_family.h" #include "radeon_mode.h" #include "radeon_reg.h" @@ -85,12 +88,15 @@ extern int radeon_testing; extern int radeon_connector_table; extern int radeon_tv; +extern int radeon_new_pll; +extern int radeon_audio; /* * Copy from radeon_drv.h so we don't have to include both and have conflicting * symbol; */ #define RADEON_MAX_USEC_TIMEOUT 100000 /* 100 ms */ +/* RADEON_IB_POOL_SIZE must be a power of 2 */ #define RADEON_IB_POOL_SIZE 16 #define RADEON_DEBUGFS_MAX_NUM_FILES 32 #define RADEONFB_CONN_LIMIT 4 @@ -157,6 +163,7 @@ struct list_head created; struct list_head emited; struct list_head signaled; + bool initialized; }; struct radeon_fence { @@ -186,76 +193,63 @@ * Tiling registers */ struct radeon_surface_reg { - struct radeon_object *robj; + struct radeon_bo *bo; }; #define RADEON_GEM_MAX_SURFACES 8 /* - * Radeon buffer. + * TTM. */ -struct radeon_object; +struct radeon_mman { + struct ttm_bo_global_ref bo_global_ref; + struct ttm_global_reference mem_global_ref; + struct ttm_bo_device bdev; + bool mem_global_referenced; + bool initialized; +}; + +struct radeon_bo { + /* Protected by gem.mutex */ + struct list_head list; + /* Protected by tbo.reserved */ + u32 placements[3]; + struct ttm_placement placement; + struct ttm_buffer_object tbo; + struct ttm_bo_kmap_obj kmap; + unsigned pin_count; + void *kptr; + u32 tiling_flags; + u32 pitch; + int surface_reg; + /* Constant after initialization */ + struct radeon_device *rdev; + struct drm_gem_object *gobj; +}; -struct radeon_object_list { +struct radeon_bo_list { struct list_head list; - struct radeon_object *robj; + struct radeon_bo *bo; uint64_t gpu_offset; unsigned rdomain; unsigned wdomain; - uint32_t tiling_flags; + u32 tiling_flags; }; -int radeon_object_init(struct radeon_device *rdev); -void radeon_object_fini(struct radeon_device *rdev); -int radeon_object_create(struct radeon_device *rdev, - struct drm_gem_object *gobj, - unsigned long size, - bool kernel, - uint32_t domain, - bool interruptible, - struct radeon_object **robj_ptr); -int radeon_object_kmap(struct radeon_object *robj, void **ptr); -void radeon_object_kunmap(struct radeon_object *robj); -void radeon_object_unref(struct radeon_object **robj); -int radeon_object_pin(struct radeon_object *robj, uint32_t domain, - uint64_t *gpu_addr); -void radeon_object_unpin(struct radeon_object *robj); -int radeon_object_wait(struct radeon_object *robj); -int radeon_object_busy_domain(struct radeon_object *robj, uint32_t *cur_placement); -int radeon_object_evict_vram(struct radeon_device *rdev); -int radeon_object_mmap(struct radeon_object *robj, uint64_t *offset); -void radeon_object_force_delete(struct radeon_device *rdev); -void radeon_object_list_add_object(struct radeon_object_list *lobj, - struct list_head *head); -int radeon_object_list_validate(struct list_head *head, void *fence); -void radeon_object_list_unvalidate(struct list_head *head); -void radeon_object_list_clean(struct list_head *head); -int radeon_object_fbdev_mmap(struct radeon_object *robj, - struct vm_area_struct *vma); -unsigned long radeon_object_size(struct radeon_object *robj); -void radeon_object_clear_surface_reg(struct radeon_object *robj); -int radeon_object_check_tiling(struct radeon_object *robj, bool has_moved, - bool force_drop); -void radeon_object_set_tiling_flags(struct radeon_object *robj, - uint32_t tiling_flags, uint32_t pitch); -void radeon_object_get_tiling_flags(struct radeon_object *robj, uint32_t *tiling_flags, uint32_t *pitch); -void radeon_bo_move_notify(struct ttm_buffer_object *bo, - struct ttm_mem_reg *mem); -void radeon_bo_fault_reserve_notify(struct ttm_buffer_object *bo); /* * GEM objects. */ struct radeon_gem { + struct mutex mutex; struct list_head objects; }; int radeon_gem_init(struct radeon_device *rdev); void radeon_gem_fini(struct radeon_device *rdev); int radeon_gem_object_create(struct radeon_device *rdev, int size, - int alignment, int initial_domain, - bool discardable, bool kernel, - bool interruptible, - struct drm_gem_object **obj); + int alignment, int initial_domain, + bool discardable, bool kernel, + struct drm_gem_object **obj); int radeon_gem_object_pin(struct drm_gem_object *obj, uint32_t pin_domain, uint64_t *gpu_addr); void radeon_gem_object_unpin(struct drm_gem_object *obj); @@ -271,7 +265,7 @@ }; struct radeon_gart_table_vram { - struct radeon_object *robj; + struct radeon_bo *robj; volatile uint32_t *ptr; }; @@ -326,10 +320,12 @@ u64 real_vram_size; int vram_mtrr; bool vram_is_ddr; + bool igp_sideport_enabled; }; int radeon_mc_setup(struct radeon_device *rdev); - +bool radeon_combios_sideport_present(struct radeon_device *rdev); +bool radeon_atombios_sideport_present(struct radeon_device *rdev); /* * GPU scratch registers structures, functions & helpers @@ -352,22 +348,28 @@ bool sw_int; /* FIXME: use a define max crtc rather than hardcode it */ bool crtc_vblank_int[2]; + /* FIXME: use defines for max hpd/dacs */ + bool hpd[6]; + spinlock_t sw_lock; + int sw_refcount; }; int radeon_irq_kms_init(struct radeon_device *rdev); void radeon_irq_kms_fini(struct radeon_device *rdev); - +void radeon_irq_kms_sw_irq_get(struct radeon_device *rdev); +void radeon_irq_kms_sw_irq_put(struct radeon_device *rdev); /* * CP & ring. */ struct radeon_ib { struct list_head list; - unsigned long idx; + unsigned idx; uint64_t gpu_addr; struct radeon_fence *fence; - uint32_t *ptr; + uint32_t *ptr; uint32_t length_dw; + bool free; }; /* @@ -376,15 +378,14 @@ */ struct radeon_ib_pool { struct mutex mutex; - struct radeon_object *robj; - struct list_head scheduled_ibs; + struct radeon_bo *robj; struct radeon_ib ibs[RADEON_IB_POOL_SIZE]; bool ready; - DECLARE_BITMAP(alloc_bm, RADEON_IB_POOL_SIZE); + unsigned head_id; }; struct radeon_cp { - struct radeon_object *ring_obj; + struct radeon_bo *ring_obj; volatile uint32_t *ring; unsigned rptr; unsigned wptr; @@ -399,8 +400,25 @@ bool ready; }; +/* + * R6xx+ IH ring + */ +struct r600_ih { + struct radeon_bo *ring_obj; + volatile uint32_t *ring; + unsigned rptr; + unsigned wptr; + unsigned wptr_old; + unsigned ring_size; + uint64_t gpu_addr; + uint32_t ptr_mask; + spinlock_t lock; + bool enabled; +}; + struct r600_blit { - struct radeon_object *shader_obj; + struct mutex mutex; + struct radeon_bo *shader_obj; u64 shader_gpu_addr; u32 vs_offset, ps_offset; u32 state_offset; @@ -430,8 +448,8 @@ */ struct radeon_cs_reloc { struct drm_gem_object *gobj; - struct radeon_object *robj; - struct radeon_object_list lobj; + struct radeon_bo *robj; + struct radeon_bo_list lobj; uint32_t handle; uint32_t flags; }; @@ -448,6 +466,7 @@ }; struct radeon_cs_parser { + struct device *dev; struct radeon_device *rdev; struct drm_file *filp; /* chunks */ @@ -520,6 +539,7 @@ */ int radeon_agp_init(struct radeon_device *rdev); void radeon_agp_resume(struct radeon_device *rdev); +void radeon_agp_suspend(struct radeon_device *rdev); void radeon_agp_fini(struct radeon_device *rdev); @@ -527,7 +547,7 @@ * Writeback */ struct radeon_wb { - struct radeon_object *wb_obj; + struct radeon_bo *wb_obj; volatile uint32_t *wb; uint64_t gpu_addr; }; @@ -639,6 +659,17 @@ uint32_t offset, uint32_t obj_size); int (*clear_surface_reg)(struct radeon_device *rdev, int reg); void (*bandwidth_update)(struct radeon_device *rdev); + void (*hpd_init)(struct radeon_device *rdev); + void (*hpd_fini)(struct radeon_device *rdev); + bool (*hpd_sense)(struct radeon_device *rdev, enum radeon_hpd_id hpd); + void (*hpd_set_polarity)(struct radeon_device *rdev, enum radeon_hpd_id hpd); + /* ioctl hw specific callback. Some hw might want to perform special + * operation on specific ioctl. For instance on wait idle some hw + * might want to perform and HDP flush through MMIO as it seems that + * some R6XX/R7XX hw doesn't take HDP flush into account if programmed + * through ring. + */ + void (*ioctl_wait_idle)(struct radeon_device *rdev, struct radeon_bo *bo); }; /* @@ -647,11 +678,14 @@ struct r100_asic { const unsigned *reg_safe_bm; unsigned reg_safe_bm_size; + u32 hdp_cntl; }; struct r300_asic { const unsigned *reg_safe_bm; unsigned reg_safe_bm_size; + u32 resync_scratch; + u32 hdp_cntl; }; struct r600_asic { @@ -727,6 +761,11 @@ int radeon_gem_get_tiling_ioctl(struct drm_device *dev, void *data, struct drm_file *filp); +/* VRAM scratch page for HDP bug */ +struct r700_vram_scratch { + struct radeon_bo *robj; + volatile uint32_t *ptr; +}; /* * Core structure, functions and helpers. @@ -751,9 +790,9 @@ uint8_t *bios; bool is_atom_bios; uint16_t bios_header_start; - struct radeon_object *stollen_vga_memory; + struct radeon_bo *stollen_vga_memory; struct fb_info *fbdev_info; - struct radeon_object *fbdev_robj; + struct radeon_bo *fbdev_rbo; struct radeon_framebuffer *fbdev_rfb; /* Register mmio */ resource_size_t rmmio_base; @@ -791,8 +830,21 @@ struct radeon_surface_reg surface_regs[RADEON_GEM_MAX_SURFACES]; const struct firmware *me_fw; /* all family ME firmware */ const struct firmware *pfp_fw; /* r6/700 PFP firmware */ + const struct firmware *rlc_fw; /* r6/700 RLC firmware */ struct r600_blit r600_blit; + struct r700_vram_scratch vram_scratch; int msi_enabled; /* msi enabled */ + struct r600_ih ih; /* r6/700 interrupt ring */ + struct workqueue_struct *wq; + struct work_struct hotplug_work; + + /* audio stuff */ + struct timer_list audio_timer; + int audio_channels; + int audio_rate; + int audio_bits_per_sample; + uint8_t audio_status_bits; + uint8_t audio_category_code; }; int radeon_device_init(struct radeon_device *rdev, @@ -811,7 +863,7 @@ static inline uint32_t r100_mm_rreg(struct radeon_device *rdev, uint32_t reg) { - if (reg < 0x10000) + if (reg < rdev->rmmio_size) return readl(((void __iomem *)rdev->rmmio) + reg); else { writel(reg, ((void __iomem *)rdev->rmmio) + RADEON_MM_INDEX); @@ -821,7 +873,7 @@ static inline void r100_mm_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v) { - if (reg < 0x10000) + if (reg < rdev->rmmio_size) writel(v, ((void __iomem *)rdev->rmmio) + reg); else { writel(reg, ((void __iomem *)rdev->rmmio) + RADEON_MM_INDEX); @@ -829,6 +881,10 @@ } } +/* + * Cast helper + */ +#define to_radeon_fence(p) ((struct radeon_fence *)(p)) /* * Registers read & write functions. @@ -965,18 +1021,25 @@ #define radeon_get_engine_clock(rdev) (rdev)->asic->get_engine_clock((rdev)) #define radeon_set_engine_clock(rdev, e) (rdev)->asic->set_engine_clock((rdev), (e)) #define radeon_get_memory_clock(rdev) (rdev)->asic->get_memory_clock((rdev)) -#define radeon_set_memory_clock(rdev, e) (rdev)->asic->set_engine_clock((rdev), (e)) +#define radeon_set_memory_clock(rdev, e) (rdev)->asic->set_memory_clock((rdev), (e)) #define radeon_set_pcie_lanes(rdev, l) (rdev)->asic->set_pcie_lanes((rdev), (l)) #define radeon_set_clock_gating(rdev, e) (rdev)->asic->set_clock_gating((rdev), (e)) #define radeon_set_surface_reg(rdev, r, f, p, o, s) ((rdev)->asic->set_surface_reg((rdev), (r), (f), (p), (o), (s))) #define radeon_clear_surface_reg(rdev, r) ((rdev)->asic->clear_surface_reg((rdev), (r))) #define radeon_bandwidth_update(rdev) (rdev)->asic->bandwidth_update((rdev)) +#define radeon_hpd_init(rdev) (rdev)->asic->hpd_init((rdev)) +#define radeon_hpd_fini(rdev) (rdev)->asic->hpd_fini((rdev)) +#define radeon_hpd_sense(rdev, hpd) (rdev)->asic->hpd_sense((rdev), (hpd)) +#define radeon_hpd_set_polarity(rdev, hpd) (rdev)->asic->hpd_set_polarity((rdev), (hpd)) /* Common functions */ +/* AGP */ +extern void radeon_agp_disable(struct radeon_device *rdev); extern int radeon_gart_table_vram_pin(struct radeon_device *rdev); extern int radeon_modeset_init(struct radeon_device *rdev); extern void radeon_modeset_fini(struct radeon_device *rdev); extern bool radeon_card_posted(struct radeon_device *rdev); +extern bool radeon_boot_test_post_card(struct radeon_device *rdev); extern int radeon_clocks_init(struct radeon_device *rdev); extern void radeon_clocks_fini(struct radeon_device *rdev); extern void radeon_scratch_init(struct radeon_device *rdev); @@ -984,6 +1047,8 @@ extern int radeon_cs_parser_init(struct radeon_cs_parser *p, void *data); extern void radeon_legacy_set_clock_gating(struct radeon_device *rdev, int enable); extern void radeon_atom_set_clock_gating(struct radeon_device *rdev, int enable); +extern void radeon_ttm_placement_from_domain(struct radeon_bo *rbo, u32 domain); +extern bool radeon_ttm_bo_is_radeon_bo(struct ttm_buffer_object *bo); /* r100,rv100,rs100,rv200,rs200,r200,rv250,rs300,rv280 */ struct r100_mc_save { @@ -1021,7 +1086,7 @@ extern void r100_vga_render_disable(struct radeon_device *rdev); extern int r100_cs_track_check_pkt3_indx_buffer(struct radeon_cs_parser *p, struct radeon_cs_packet *pkt, - struct radeon_object *robj); + struct radeon_bo *robj); extern int r100_cs_parse_packet0(struct radeon_cs_parser *p, struct radeon_cs_packet *pkt, const unsigned *auth, unsigned n, @@ -1029,6 +1094,8 @@ extern int r100_cs_packet_parse(struct radeon_cs_parser *p, struct radeon_cs_packet *pkt, unsigned idx); +extern void r100_enable_bm(struct radeon_device *rdev); +extern void r100_set_common_regs(struct radeon_device *rdev); /* rv200,rv250,rv280 */ extern void r200_set_safe_registers(struct radeon_device *rdev); @@ -1091,6 +1158,7 @@ extern void r600_cp_stop(struct radeon_device *rdev); extern void r600_ring_init(struct radeon_device *rdev, unsigned ring_size); extern int r600_cp_resume(struct radeon_device *rdev); +extern void r600_cp_fini(struct radeon_device *rdev); extern int r600_count_pipe_bits(uint32_t val); extern int r600_gart_clear_page(struct radeon_device *rdev, int i); extern int r600_mc_wait_for_idle(struct radeon_device *rdev); @@ -1104,7 +1172,30 @@ extern void r600_scratch_init(struct radeon_device *rdev); extern int r600_blit_init(struct radeon_device *rdev); extern void r600_blit_fini(struct radeon_device *rdev); -extern int r600_cp_init_microcode(struct radeon_device *rdev); +extern int r600_init_microcode(struct radeon_device *rdev); extern int r600_gpu_reset(struct radeon_device *rdev); +/* r600 irq */ +extern int r600_irq_init(struct radeon_device *rdev); +extern void r600_irq_fini(struct radeon_device *rdev); +extern void r600_ih_ring_init(struct radeon_device *rdev, unsigned ring_size); +extern int r600_irq_set(struct radeon_device *rdev); +extern void r600_irq_suspend(struct radeon_device *rdev); +/* r600 audio */ +extern int r600_audio_init(struct radeon_device *rdev); +extern int r600_audio_tmds_index(struct drm_encoder *encoder); +extern void r600_audio_set_clock(struct drm_encoder *encoder, int clock); +extern void r600_audio_fini(struct radeon_device *rdev); +extern void r600_hdmi_init(struct drm_encoder *encoder); +extern void r600_hdmi_enable(struct drm_encoder *encoder, int enable); +extern void r600_hdmi_setmode(struct drm_encoder *encoder, struct drm_display_mode *mode); +extern int r600_hdmi_buffer_status_changed(struct drm_encoder *encoder); +extern void r600_hdmi_update_audio_settings(struct drm_encoder *encoder, + int channels, + int rate, + int bps, + uint8_t status_bits, + uint8_t category_code); + +#include "radeon_object.h" #endif --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_agp.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_agp.c @@ -144,9 +144,19 @@ ret = drm_agp_info(rdev->ddev, &info); if (ret) { + drm_agp_release(rdev->ddev); DRM_ERROR("Unable to get AGP info: %d\n", ret); return ret; } + + if (rdev->ddev->agp->agp_info.aper_size < 32) { + drm_agp_release(rdev->ddev); + dev_warn(rdev->dev, "AGP aperture too small (%zuM) " + "need at least 32M, disabling AGP\n", + rdev->ddev->agp->agp_info.aper_size); + return -EINVAL; + } + mode.mode = info.mode; agp_status = (RREG32(RADEON_AGP_STATUS) | RADEON_AGPv3_MODE) & mode.mode; is_v3 = !!(agp_status & RADEON_AGPv3_MODE); @@ -221,6 +231,7 @@ ret = drm_agp_enable(rdev->ddev, mode); if (ret) { DRM_ERROR("Unable to enable AGP (mode = 0x%lx)\n", mode.mode); + drm_agp_release(rdev->ddev); return ret; } @@ -252,10 +263,13 @@ void radeon_agp_fini(struct radeon_device *rdev) { #if __OS_HAS_AGP - if (rdev->flags & RADEON_IS_AGP) { - if (rdev->ddev->agp && rdev->ddev->agp->acquired) { - drm_agp_release(rdev->ddev); - } + if (rdev->ddev->agp && rdev->ddev->agp->acquired) { + drm_agp_release(rdev->ddev); } #endif } + +void radeon_agp_suspend(struct radeon_device *rdev) +{ + radeon_agp_fini(rdev); +} --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_asic.h +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_asic.h @@ -33,6 +33,7 @@ */ uint32_t radeon_legacy_get_engine_clock(struct radeon_device *rdev); void radeon_legacy_set_engine_clock(struct radeon_device *rdev, uint32_t eng_clock); +uint32_t radeon_legacy_get_memory_clock(struct radeon_device *rdev); void radeon_legacy_set_clock_gating(struct radeon_device *rdev, int enable); uint32_t radeon_atom_get_engine_clock(struct radeon_device *rdev); @@ -76,6 +77,11 @@ void r100_bandwidth_update(struct radeon_device *rdev); void r100_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib); int r100_ring_test(struct radeon_device *rdev); +void r100_hpd_init(struct radeon_device *rdev); +void r100_hpd_fini(struct radeon_device *rdev); +bool r100_hpd_sense(struct radeon_device *rdev, enum radeon_hpd_id hpd); +void r100_hpd_set_polarity(struct radeon_device *rdev, + enum radeon_hpd_id hpd); static struct radeon_asic r100_asic = { .init = &r100_init, @@ -100,13 +106,18 @@ .copy = &r100_copy_blit, .get_engine_clock = &radeon_legacy_get_engine_clock, .set_engine_clock = &radeon_legacy_set_engine_clock, - .get_memory_clock = NULL, + .get_memory_clock = &radeon_legacy_get_memory_clock, .set_memory_clock = NULL, .set_pcie_lanes = NULL, .set_clock_gating = &radeon_legacy_set_clock_gating, .set_surface_reg = r100_set_surface_reg, .clear_surface_reg = r100_clear_surface_reg, .bandwidth_update = &r100_bandwidth_update, + .hpd_init = &r100_hpd_init, + .hpd_fini = &r100_hpd_fini, + .hpd_sense = &r100_hpd_sense, + .hpd_set_polarity = &r100_hpd_set_polarity, + .ioctl_wait_idle = NULL, }; @@ -155,13 +166,18 @@ .copy = &r100_copy_blit, .get_engine_clock = &radeon_legacy_get_engine_clock, .set_engine_clock = &radeon_legacy_set_engine_clock, - .get_memory_clock = NULL, + .get_memory_clock = &radeon_legacy_get_memory_clock, .set_memory_clock = NULL, .set_pcie_lanes = &rv370_set_pcie_lanes, .set_clock_gating = &radeon_legacy_set_clock_gating, .set_surface_reg = r100_set_surface_reg, .clear_surface_reg = r100_clear_surface_reg, .bandwidth_update = &r100_bandwidth_update, + .hpd_init = &r100_hpd_init, + .hpd_fini = &r100_hpd_fini, + .hpd_sense = &r100_hpd_sense, + .hpd_set_polarity = &r100_hpd_set_polarity, + .ioctl_wait_idle = NULL, }; /* @@ -201,6 +217,11 @@ .set_surface_reg = r100_set_surface_reg, .clear_surface_reg = r100_clear_surface_reg, .bandwidth_update = &r100_bandwidth_update, + .hpd_init = &r100_hpd_init, + .hpd_fini = &r100_hpd_fini, + .hpd_sense = &r100_hpd_sense, + .hpd_set_polarity = &r100_hpd_set_polarity, + .ioctl_wait_idle = NULL, }; @@ -238,13 +259,18 @@ .copy = &r100_copy_blit, .get_engine_clock = &radeon_legacy_get_engine_clock, .set_engine_clock = &radeon_legacy_set_engine_clock, - .get_memory_clock = NULL, + .get_memory_clock = &radeon_legacy_get_memory_clock, .set_memory_clock = NULL, .set_pcie_lanes = NULL, .set_clock_gating = &radeon_legacy_set_clock_gating, .set_surface_reg = r100_set_surface_reg, .clear_surface_reg = r100_clear_surface_reg, .bandwidth_update = &r100_bandwidth_update, + .hpd_init = &r100_hpd_init, + .hpd_fini = &r100_hpd_fini, + .hpd_sense = &r100_hpd_sense, + .hpd_set_polarity = &r100_hpd_set_polarity, + .ioctl_wait_idle = NULL, }; @@ -263,6 +289,12 @@ uint32_t rs600_mc_rreg(struct radeon_device *rdev, uint32_t reg); void rs600_mc_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v); void rs600_bandwidth_update(struct radeon_device *rdev); +void rs600_hpd_init(struct radeon_device *rdev); +void rs600_hpd_fini(struct radeon_device *rdev); +bool rs600_hpd_sense(struct radeon_device *rdev, enum radeon_hpd_id hpd); +void rs600_hpd_set_polarity(struct radeon_device *rdev, + enum radeon_hpd_id hpd); + static struct radeon_asic rs600_asic = { .init = &rs600_init, .fini = &rs600_fini, @@ -290,7 +322,14 @@ .set_memory_clock = &radeon_atom_set_memory_clock, .set_pcie_lanes = NULL, .set_clock_gating = &radeon_atom_set_clock_gating, + .set_surface_reg = r100_set_surface_reg, + .clear_surface_reg = r100_clear_surface_reg, .bandwidth_update = &rs600_bandwidth_update, + .hpd_init = &rs600_hpd_init, + .hpd_fini = &rs600_hpd_fini, + .hpd_sense = &rs600_hpd_sense, + .hpd_set_polarity = &rs600_hpd_set_polarity, + .ioctl_wait_idle = NULL, }; @@ -334,6 +373,11 @@ .set_surface_reg = r100_set_surface_reg, .clear_surface_reg = r100_clear_surface_reg, .bandwidth_update = &rs690_bandwidth_update, + .hpd_init = &rs600_hpd_init, + .hpd_fini = &rs600_hpd_fini, + .hpd_sense = &rs600_hpd_sense, + .hpd_set_polarity = &rs600_hpd_set_polarity, + .ioctl_wait_idle = NULL, }; @@ -381,6 +425,11 @@ .set_surface_reg = r100_set_surface_reg, .clear_surface_reg = r100_clear_surface_reg, .bandwidth_update = &rv515_bandwidth_update, + .hpd_init = &rs600_hpd_init, + .hpd_fini = &rs600_hpd_fini, + .hpd_sense = &rs600_hpd_sense, + .hpd_set_polarity = &rs600_hpd_set_polarity, + .ioctl_wait_idle = NULL, }; @@ -419,6 +468,11 @@ .set_surface_reg = r100_set_surface_reg, .clear_surface_reg = r100_clear_surface_reg, .bandwidth_update = &rv515_bandwidth_update, + .hpd_init = &rs600_hpd_init, + .hpd_fini = &rs600_hpd_fini, + .hpd_sense = &rs600_hpd_sense, + .hpd_set_polarity = &rs600_hpd_set_polarity, + .ioctl_wait_idle = NULL, }; /* @@ -455,6 +509,12 @@ int r600_copy_blit(struct radeon_device *rdev, uint64_t src_offset, uint64_t dst_offset, unsigned num_pages, struct radeon_fence *fence); +void r600_hpd_init(struct radeon_device *rdev); +void r600_hpd_fini(struct radeon_device *rdev); +bool r600_hpd_sense(struct radeon_device *rdev, enum radeon_hpd_id hpd); +void r600_hpd_set_polarity(struct radeon_device *rdev, + enum radeon_hpd_id hpd); +extern void r600_ioctl_wait_idle(struct radeon_device *rdev, struct radeon_bo *bo); static struct radeon_asic r600_asic = { .init = &r600_init, @@ -470,6 +530,7 @@ .ring_ib_execute = &r600_ring_ib_execute, .irq_set = &r600_irq_set, .irq_process = &r600_irq_process, + .get_vblank_counter = &rs600_get_vblank_counter, .fence_ring_emit = &r600_fence_ring_emit, .cs_parse = &r600_cs_parse, .copy_blit = &r600_copy_blit, @@ -484,6 +545,11 @@ .set_surface_reg = r600_set_surface_reg, .clear_surface_reg = r600_clear_surface_reg, .bandwidth_update = &rv515_bandwidth_update, + .hpd_init = &r600_hpd_init, + .hpd_fini = &r600_hpd_fini, + .hpd_sense = &r600_hpd_sense, + .hpd_set_polarity = &r600_hpd_set_polarity, + .ioctl_wait_idle = r600_ioctl_wait_idle, }; /* @@ -509,6 +575,7 @@ .ring_ib_execute = &r600_ring_ib_execute, .irq_set = &r600_irq_set, .irq_process = &r600_irq_process, + .get_vblank_counter = &rs600_get_vblank_counter, .fence_ring_emit = &r600_fence_ring_emit, .cs_parse = &r600_cs_parse, .copy_blit = &r600_copy_blit, @@ -523,6 +590,11 @@ .set_surface_reg = r600_set_surface_reg, .clear_surface_reg = r600_clear_surface_reg, .bandwidth_update = &rv515_bandwidth_update, + .hpd_init = &r600_hpd_init, + .hpd_fini = &r600_hpd_fini, + .hpd_sense = &r600_hpd_sense, + .hpd_set_polarity = &r600_hpd_set_polarity, + .ioctl_wait_idle = r600_ioctl_wait_idle, }; #endif --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_atombios.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_atombios.c @@ -47,7 +47,8 @@ int connector_type, struct radeon_i2c_bus_rec *i2c_bus, bool linkb, uint32_t igp_lane_info, - uint16_t connector_object_id); + uint16_t connector_object_id, + struct radeon_hpd *hpd); /* from radeon_legacy_encoder.c */ extern void @@ -60,16 +61,16 @@ struct _ATOM_SUPPORTED_DEVICES_INFO_2d1 info_2d1; }; -static inline struct radeon_i2c_bus_rec radeon_lookup_gpio(struct drm_device - *dev, uint8_t id) +static inline struct radeon_i2c_bus_rec radeon_lookup_i2c_gpio(struct radeon_device *rdev, + uint8_t id) { - struct radeon_device *rdev = dev->dev_private; struct atom_context *ctx = rdev->mode_info.atom_context; - ATOM_GPIO_I2C_ASSIGMENT gpio; + ATOM_GPIO_I2C_ASSIGMENT *gpio; struct radeon_i2c_bus_rec i2c; int index = GetIndexIntoMasterTable(DATA, GPIO_I2C_Info); struct _ATOM_GPIO_I2C_INFO *i2c_info; uint16_t data_offset; + int i; memset(&i2c, 0, sizeof(struct radeon_i2c_bus_rec)); i2c.valid = false; @@ -78,35 +79,132 @@ i2c_info = (struct _ATOM_GPIO_I2C_INFO *)(ctx->bios + data_offset); - gpio = i2c_info->asGPIO_Info[id]; - i2c.mask_clk_reg = le16_to_cpu(gpio.usClkMaskRegisterIndex) * 4; - i2c.mask_data_reg = le16_to_cpu(gpio.usDataMaskRegisterIndex) * 4; - i2c.put_clk_reg = le16_to_cpu(gpio.usClkEnRegisterIndex) * 4; - i2c.put_data_reg = le16_to_cpu(gpio.usDataEnRegisterIndex) * 4; - i2c.get_clk_reg = le16_to_cpu(gpio.usClkY_RegisterIndex) * 4; - i2c.get_data_reg = le16_to_cpu(gpio.usDataY_RegisterIndex) * 4; - i2c.a_clk_reg = le16_to_cpu(gpio.usClkA_RegisterIndex) * 4; - i2c.a_data_reg = le16_to_cpu(gpio.usDataA_RegisterIndex) * 4; - i2c.mask_clk_mask = (1 << gpio.ucClkMaskShift); - i2c.mask_data_mask = (1 << gpio.ucDataMaskShift); - i2c.put_clk_mask = (1 << gpio.ucClkEnShift); - i2c.put_data_mask = (1 << gpio.ucDataEnShift); - i2c.get_clk_mask = (1 << gpio.ucClkY_Shift); - i2c.get_data_mask = (1 << gpio.ucDataY_Shift); - i2c.a_clk_mask = (1 << gpio.ucClkA_Shift); - i2c.a_data_mask = (1 << gpio.ucDataA_Shift); - i2c.valid = true; + for (i = 0; i < ATOM_MAX_SUPPORTED_DEVICE; i++) { + gpio = &i2c_info->asGPIO_Info[i]; + + /* some DCE3 boards have bad data for this entry */ + if (ASIC_IS_DCE3(rdev)) { + if ((i == 4) && + (gpio->usClkMaskRegisterIndex == 0x1fda) && + (gpio->sucI2cId.ucAccess == 0x94)) + gpio->sucI2cId.ucAccess = 0x14; + } + + if (gpio->sucI2cId.ucAccess == id) { + i2c.mask_clk_reg = le16_to_cpu(gpio->usClkMaskRegisterIndex) * 4; + i2c.mask_data_reg = le16_to_cpu(gpio->usDataMaskRegisterIndex) * 4; + i2c.en_clk_reg = le16_to_cpu(gpio->usClkEnRegisterIndex) * 4; + i2c.en_data_reg = le16_to_cpu(gpio->usDataEnRegisterIndex) * 4; + i2c.y_clk_reg = le16_to_cpu(gpio->usClkY_RegisterIndex) * 4; + i2c.y_data_reg = le16_to_cpu(gpio->usDataY_RegisterIndex) * 4; + i2c.a_clk_reg = le16_to_cpu(gpio->usClkA_RegisterIndex) * 4; + i2c.a_data_reg = le16_to_cpu(gpio->usDataA_RegisterIndex) * 4; + i2c.mask_clk_mask = (1 << gpio->ucClkMaskShift); + i2c.mask_data_mask = (1 << gpio->ucDataMaskShift); + i2c.en_clk_mask = (1 << gpio->ucClkEnShift); + i2c.en_data_mask = (1 << gpio->ucDataEnShift); + i2c.y_clk_mask = (1 << gpio->ucClkY_Shift); + i2c.y_data_mask = (1 << gpio->ucDataY_Shift); + i2c.a_clk_mask = (1 << gpio->ucClkA_Shift); + i2c.a_data_mask = (1 << gpio->ucDataA_Shift); + + if (gpio->sucI2cId.sbfAccess.bfHW_Capable) + i2c.hw_capable = true; + else + i2c.hw_capable = false; + + if (gpio->sucI2cId.ucAccess == 0xa0) + i2c.mm_i2c = true; + else + i2c.mm_i2c = false; + + i2c.i2c_id = gpio->sucI2cId.ucAccess; + + i2c.valid = true; + break; + } + } return i2c; } +static inline struct radeon_gpio_rec radeon_lookup_gpio(struct radeon_device *rdev, + u8 id) +{ + struct atom_context *ctx = rdev->mode_info.atom_context; + struct radeon_gpio_rec gpio; + int index = GetIndexIntoMasterTable(DATA, GPIO_Pin_LUT); + struct _ATOM_GPIO_PIN_LUT *gpio_info; + ATOM_GPIO_PIN_ASSIGNMENT *pin; + u16 data_offset, size; + int i, num_indices; + + memset(&gpio, 0, sizeof(struct radeon_gpio_rec)); + gpio.valid = false; + + atom_parse_data_header(ctx, index, &size, NULL, NULL, &data_offset); + + gpio_info = (struct _ATOM_GPIO_PIN_LUT *)(ctx->bios + data_offset); + + num_indices = (size - sizeof(ATOM_COMMON_TABLE_HEADER)) / sizeof(ATOM_GPIO_PIN_ASSIGNMENT); + + for (i = 0; i < num_indices; i++) { + pin = &gpio_info->asGPIO_Pin[i]; + if (id == pin->ucGPIO_ID) { + gpio.id = pin->ucGPIO_ID; + gpio.reg = pin->usGpioPin_AIndex * 4; + gpio.mask = (1 << pin->ucGpioPinBitShift); + gpio.valid = true; + break; + } + } + + return gpio; +} + +static struct radeon_hpd radeon_atom_get_hpd_info_from_gpio(struct radeon_device *rdev, + struct radeon_gpio_rec *gpio) +{ + struct radeon_hpd hpd; + hpd.gpio = *gpio; + if (gpio->reg == AVIVO_DC_GPIO_HPD_A) { + switch(gpio->mask) { + case (1 << 0): + hpd.hpd = RADEON_HPD_1; + break; + case (1 << 8): + hpd.hpd = RADEON_HPD_2; + break; + case (1 << 16): + hpd.hpd = RADEON_HPD_3; + break; + case (1 << 24): + hpd.hpd = RADEON_HPD_4; + break; + case (1 << 26): + hpd.hpd = RADEON_HPD_5; + break; + case (1 << 28): + hpd.hpd = RADEON_HPD_6; + break; + default: + hpd.hpd = RADEON_HPD_NONE; + break; + } + } else + hpd.hpd = RADEON_HPD_NONE; + return hpd; +} + static bool radeon_atom_apply_quirks(struct drm_device *dev, uint32_t supported_device, int *connector_type, struct radeon_i2c_bus_rec *i2c_bus, - uint16_t *line_mux) + uint16_t *line_mux, + struct radeon_hpd *hpd) { + struct radeon_device *rdev = dev->dev_private; /* Asus M2A-VM HDMI board lists the DVI port as HDMI */ if ((dev->pdev->device == 0x791e) && @@ -117,6 +215,15 @@ *connector_type = DRM_MODE_CONNECTOR_DVID; } + /* Asrock RS600 board lists the DVI port as HDMI */ + if ((dev->pdev->device == 0x7941) && + (dev->pdev->subsystem_vendor == 0x1849) && + (dev->pdev->subsystem_device == 0x7941)) { + if ((*connector_type == DRM_MODE_CONNECTOR_HDMIA) && + (supported_device == ATOM_DEVICE_DFP3_SUPPORT)) + *connector_type = DRM_MODE_CONNECTOR_DVID; + } + /* a-bit f-i90hd - ciaranm on #radeonhd - this board has no DVI */ if ((dev->pdev->device == 0x7941) && (dev->pdev->subsystem_vendor == 0x147b) && @@ -135,6 +242,23 @@ } } + /* HIS X1300 is DVI+VGA, not DVI+DVI */ + if ((dev->pdev->device == 0x7146) && + (dev->pdev->subsystem_vendor == 0x17af) && + (dev->pdev->subsystem_device == 0x2058)) { + if (supported_device == ATOM_DEVICE_DFP1_SUPPORT) + return false; + } + + /* Gigabyte X1300 is DVI+VGA, not DVI+DVI */ + if ((dev->pdev->device == 0x7142) && + (dev->pdev->subsystem_vendor == 0x1458) && + (dev->pdev->subsystem_device == 0x2134)) { + if (supported_device == ATOM_DEVICE_DFP1_SUPPORT) + return false; + } + + /* Funky macbooks */ if ((dev->pdev->device == 0x71C5) && (dev->pdev->subsystem_vendor == 0x106b) && @@ -142,6 +266,15 @@ if ((supported_device == ATOM_DEVICE_CRT1_SUPPORT) || (supported_device == ATOM_DEVICE_DFP2_SUPPORT)) return false; + if (supported_device == ATOM_DEVICE_CRT2_SUPPORT) + *line_mux = 0x90; + } + + /* mac rv630, rv730, others */ + if ((supported_device == ATOM_DEVICE_TV1_SUPPORT) && + (*connector_type == DRM_MODE_CONNECTOR_DVII)) { + *connector_type = DRM_MODE_CONNECTOR_9PinDIN; + *line_mux = CONNECTOR_7PIN_DIN_ENUM_ID1; } /* ASUS HD 3600 XT board lists the DVI port as HDMI */ @@ -153,6 +286,15 @@ } } + /* ASUS HD 3600 board lists the DVI port as HDMI */ + if ((dev->pdev->device == 0x9598) && + (dev->pdev->subsystem_vendor == 0x1043) && + (dev->pdev->subsystem_device == 0x01e4)) { + if (*connector_type == DRM_MODE_CONNECTOR_HDMIA) { + *connector_type = DRM_MODE_CONNECTOR_DVII; + } + } + /* ASUS HD 3450 board lists the DVI port as HDMI */ if ((dev->pdev->device == 0x95C5) && (dev->pdev->subsystem_vendor == 0x1043) && @@ -172,6 +314,33 @@ } } + /* Acer laptop reports DVI-D as DVI-I and hpd pins reversed */ + if ((dev->pdev->device == 0x95c4) && + (dev->pdev->subsystem_vendor == 0x1025) && + (dev->pdev->subsystem_device == 0x013c)) { + struct radeon_gpio_rec gpio; + + if ((*connector_type == DRM_MODE_CONNECTOR_DVII) && + (supported_device == ATOM_DEVICE_DFP1_SUPPORT)) { + gpio = radeon_lookup_gpio(rdev, 6); + *hpd = radeon_atom_get_hpd_info_from_gpio(rdev, &gpio); + *connector_type = DRM_MODE_CONNECTOR_DVID; + } else if ((*connector_type == DRM_MODE_CONNECTOR_HDMIA) && + (supported_device == ATOM_DEVICE_DFP1_SUPPORT)) { + gpio = radeon_lookup_gpio(rdev, 7); + *hpd = radeon_atom_get_hpd_info_from_gpio(rdev, &gpio); + } + } + + /* XFX Pine Group device rv730 reports no VGA DDC lines + * even though they are wired up to record 0x93 + */ + if ((dev->pdev->device == 0x9498) && + (dev->pdev->subsystem_vendor == 0x1682) && + (dev->pdev->subsystem_device == 0x2452)) { + struct radeon_device *rdev = dev->dev_private; + *i2c_bus = radeon_lookup_i2c_gpio(rdev, 0x93); + } return true; } @@ -231,7 +400,9 @@ DRM_MODE_CONNECTOR_Unknown, DRM_MODE_CONNECTOR_Unknown, DRM_MODE_CONNECTOR_Unknown, - DRM_MODE_CONNECTOR_DisplayPort + DRM_MODE_CONNECTOR_DisplayPort, + DRM_MODE_CONNECTOR_eDP, + DRM_MODE_CONNECTOR_Unknown }; bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev) @@ -240,16 +411,18 @@ struct radeon_mode_info *mode_info = &rdev->mode_info; struct atom_context *ctx = mode_info->atom_context; int index = GetIndexIntoMasterTable(DATA, Object_Header); - uint16_t size, data_offset; - uint8_t frev, crev, line_mux = 0; + u16 size, data_offset; + u8 frev, crev; ATOM_CONNECTOR_OBJECT_TABLE *con_obj; ATOM_DISPLAY_OBJECT_PATH_TABLE *path_obj; ATOM_OBJECT_HEADER *obj_header; int i, j, path_size, device_support; int connector_type; - uint16_t igp_lane_info, conn_id, connector_object_id; + u16 igp_lane_info, conn_id, connector_object_id; bool linkb; struct radeon_i2c_bus_rec ddc_bus; + struct radeon_gpio_rec gpio; + struct radeon_hpd hpd; atom_parse_data_header(ctx, index, &size, &frev, &crev, &data_offset); @@ -276,7 +449,6 @@ path = (ATOM_DISPLAY_OBJECT_PATH *) addr; path_size += le16_to_cpu(path->usSize); linkb = false; - if (device_support & le16_to_cpu(path->usDeviceTag)) { uint8_t con_obj_id, con_obj_num, con_obj_type; @@ -377,10 +549,11 @@ } } - /* look up gpio for ddc */ + /* look up gpio for ddc, hpd */ + ddc_bus.valid = false; + hpd.hpd = RADEON_HPD_NONE; if ((le16_to_cpu(path->usDeviceTag) & - (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) - == 0) { + (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) == 0) { for (j = 0; j < con_obj->ucNumberOfObjects; j++) { if (le16_to_cpu(path->usConnObjectId) == le16_to_cpu(con_obj->asObjects[j]. @@ -394,21 +567,34 @@ asObjects[j]. usRecordOffset)); ATOM_I2C_RECORD *i2c_record; + ATOM_HPD_INT_RECORD *hpd_record; + ATOM_I2C_ID_CONFIG_ACCESS *i2c_config; + hpd.hpd = RADEON_HPD_NONE; while (record->ucRecordType > 0 && record-> ucRecordType <= ATOM_MAX_OBJECT_RECORD_NUMBER) { - switch (record-> - ucRecordType) { + switch (record->ucRecordType) { case ATOM_I2C_RECORD_TYPE: i2c_record = - (ATOM_I2C_RECORD - *) record; - line_mux = - i2c_record-> - sucI2cId. - bfI2C_LineMux; + (ATOM_I2C_RECORD *) + record; + i2c_config = + (ATOM_I2C_ID_CONFIG_ACCESS *) + &i2c_record->sucI2cId; + ddc_bus = radeon_lookup_i2c_gpio(rdev, + i2c_config-> + ucAccess); + break; + case ATOM_HPD_INT_RECORD_TYPE: + hpd_record = + (ATOM_HPD_INT_RECORD *) + record; + gpio = radeon_lookup_gpio(rdev, + hpd_record->ucHPDIntGPIOID); + hpd = radeon_atom_get_hpd_info_from_gpio(rdev, &gpio); + hpd.plugged_state = hpd_record->ucPlugged_PinState; break; } record = @@ -421,24 +607,13 @@ break; } } - } else - line_mux = 0; - - if ((le16_to_cpu(path->usDeviceTag) == - ATOM_DEVICE_TV1_SUPPORT) - || (le16_to_cpu(path->usDeviceTag) == - ATOM_DEVICE_TV2_SUPPORT) - || (le16_to_cpu(path->usDeviceTag) == - ATOM_DEVICE_CV_SUPPORT)) - ddc_bus.valid = false; - else - ddc_bus = radeon_lookup_gpio(dev, line_mux); + } conn_id = le16_to_cpu(path->usConnObjectId); if (!radeon_atom_apply_quirks (dev, le16_to_cpu(path->usDeviceTag), &connector_type, - &ddc_bus, &conn_id)) + &ddc_bus, &conn_id, &hpd)) continue; radeon_add_atom_connector(dev, @@ -447,7 +622,8 @@ usDeviceTag), connector_type, &ddc_bus, linkb, igp_lane_info, - connector_object_id); + connector_object_id, + &hpd); } } @@ -502,6 +678,7 @@ uint16_t devices; int connector_type; struct radeon_i2c_bus_rec ddc_bus; + struct radeon_hpd hpd; }; bool radeon_get_atom_connector_info_from_supported_devices_table(struct @@ -517,7 +694,7 @@ uint16_t device_support; uint8_t dac; union atom_supported_devices *supported_devices; - int i, j; + int i, j, max_device; struct bios_connector bios_connectors[ATOM_MAX_SUPPORTED_DEVICE]; atom_parse_data_header(ctx, index, &size, &frev, &crev, &data_offset); @@ -527,7 +704,12 @@ device_support = le16_to_cpu(supported_devices->info.usDeviceSupport); - for (i = 0; i < ATOM_MAX_SUPPORTED_DEVICE; i++) { + if (frev > 1) + max_device = ATOM_MAX_SUPPORTED_DEVICE; + else + max_device = ATOM_MAX_SUPPORTED_DEVICE_INFO; + + for (i = 0; i < max_device; i++) { ATOM_CONNECTOR_INFO_I2C ci = supported_devices->info.asConnInfo[i]; @@ -553,22 +735,8 @@ dac = ci.sucConnectorInfo.sbfAccess.bfAssociatedDAC; - if ((rdev->family == CHIP_RS690) || - (rdev->family == CHIP_RS740)) { - if ((i == ATOM_DEVICE_DFP2_INDEX) - && (ci.sucI2cId.sbfAccess.bfI2C_LineMux == 2)) - bios_connectors[i].line_mux = - ci.sucI2cId.sbfAccess.bfI2C_LineMux + 1; - else if ((i == ATOM_DEVICE_DFP3_INDEX) - && (ci.sucI2cId.sbfAccess.bfI2C_LineMux == 1)) - bios_connectors[i].line_mux = - ci.sucI2cId.sbfAccess.bfI2C_LineMux + 1; - else - bios_connectors[i].line_mux = - ci.sucI2cId.sbfAccess.bfI2C_LineMux; - } else - bios_connectors[i].line_mux = - ci.sucI2cId.sbfAccess.bfI2C_LineMux; + bios_connectors[i].line_mux = + ci.sucI2cId.ucAccess; /* give tv unique connector ids */ if (i == ATOM_DEVICE_TV1_INDEX) { @@ -582,8 +750,30 @@ bios_connectors[i].line_mux = 52; } else bios_connectors[i].ddc_bus = - radeon_lookup_gpio(dev, - bios_connectors[i].line_mux); + radeon_lookup_i2c_gpio(rdev, + bios_connectors[i].line_mux); + + if ((crev > 1) && (frev > 1)) { + u8 isb = supported_devices->info_2d1.asIntSrcInfo[i].ucIntSrcBitmap; + switch (isb) { + case 0x4: + bios_connectors[i].hpd.hpd = RADEON_HPD_1; + break; + case 0xa: + bios_connectors[i].hpd.hpd = RADEON_HPD_2; + break; + default: + bios_connectors[i].hpd.hpd = RADEON_HPD_NONE; + break; + } + } else { + if (i == ATOM_DEVICE_DFP1_INDEX) + bios_connectors[i].hpd.hpd = RADEON_HPD_1; + else if (i == ATOM_DEVICE_DFP2_INDEX) + bios_connectors[i].hpd.hpd = RADEON_HPD_2; + else + bios_connectors[i].hpd.hpd = RADEON_HPD_NONE; + } /* Always set the connector type to VGA for CRT1/CRT2. if they are * shared with a DVI port, we'll pick up the DVI connector when we @@ -595,7 +785,8 @@ if (!radeon_atom_apply_quirks (dev, (1 << i), &bios_connectors[i].connector_type, - &bios_connectors[i].ddc_bus, &bios_connectors[i].line_mux)) + &bios_connectors[i].ddc_bus, &bios_connectors[i].line_mux, + &bios_connectors[i].hpd)) continue; bios_connectors[i].valid = true; @@ -610,41 +801,42 @@ else radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, - (1 << - i), + (1 << i), dac), (1 << i)); } /* combine shared connectors */ - for (i = 0; i < ATOM_MAX_SUPPORTED_DEVICE; i++) { + for (i = 0; i < max_device; i++) { if (bios_connectors[i].valid) { - for (j = 0; j < ATOM_MAX_SUPPORTED_DEVICE; j++) { + for (j = 0; j < max_device; j++) { if (bios_connectors[j].valid && (i != j)) { if (bios_connectors[i].line_mux == bios_connectors[j].line_mux) { - if (((bios_connectors[i]. - devices & - (ATOM_DEVICE_DFP_SUPPORT)) - && (bios_connectors[j]. - devices & - (ATOM_DEVICE_CRT_SUPPORT))) - || - ((bios_connectors[j]. - devices & - (ATOM_DEVICE_DFP_SUPPORT)) - && (bios_connectors[i]. - devices & - (ATOM_DEVICE_CRT_SUPPORT)))) { - bios_connectors[i]. - devices |= - bios_connectors[j]. - devices; - bios_connectors[i]. - connector_type = - DRM_MODE_CONNECTOR_DVII; - bios_connectors[j]. - valid = false; + /* make sure not to combine LVDS */ + if (bios_connectors[i].devices & (ATOM_DEVICE_LCD_SUPPORT)) { + bios_connectors[i].line_mux = 53; + bios_connectors[i].ddc_bus.valid = false; + continue; + } + if (bios_connectors[j].devices & (ATOM_DEVICE_LCD_SUPPORT)) { + bios_connectors[j].line_mux = 53; + bios_connectors[j].ddc_bus.valid = false; + continue; + } + /* combine analog and digital for DVI-I */ + if (((bios_connectors[i].devices & (ATOM_DEVICE_DFP_SUPPORT)) && + (bios_connectors[j].devices & (ATOM_DEVICE_CRT_SUPPORT))) || + ((bios_connectors[j].devices & (ATOM_DEVICE_DFP_SUPPORT)) && + (bios_connectors[i].devices & (ATOM_DEVICE_CRT_SUPPORT)))) { + bios_connectors[i].devices |= + bios_connectors[j].devices; + bios_connectors[i].connector_type = + DRM_MODE_CONNECTOR_DVII; + if (bios_connectors[j].devices & (ATOM_DEVICE_DFP_SUPPORT)) + bios_connectors[i].hpd = + bios_connectors[j].hpd; + bios_connectors[j].valid = false; } } } @@ -653,7 +845,7 @@ } /* add the connectors */ - for (i = 0; i < ATOM_MAX_SUPPORTED_DEVICE; i++) { + for (i = 0; i < max_device; i++) { if (bios_connectors[i].valid) { uint16_t connector_object_id = atombios_get_connector_object_id(dev, @@ -666,7 +858,8 @@ connector_type, &bios_connectors[i].ddc_bus, false, 0, - connector_object_id); + connector_object_id, + &bios_connectors[i].hpd); } } @@ -731,7 +924,8 @@ * pre-DCE 3.0 r6xx hardware. This might need to be adjusted per * family. */ - p1pll->pll_out_min = 64800; + if (!radeon_new_pll) + p1pll->pll_out_min = 64800; } p1pll->pll_in_min = @@ -797,6 +991,47 @@ return false; } +union igp_info { + struct _ATOM_INTEGRATED_SYSTEM_INFO info; + struct _ATOM_INTEGRATED_SYSTEM_INFO_V2 info_2; +}; + +bool radeon_atombios_sideport_present(struct radeon_device *rdev) +{ + struct radeon_mode_info *mode_info = &rdev->mode_info; + int index = GetIndexIntoMasterTable(DATA, IntegratedSystemInfo); + union igp_info *igp_info; + u8 frev, crev; + u16 data_offset; + + /* sideport is AMD only */ + if (rdev->family == CHIP_RS600) + return false; + + atom_parse_data_header(mode_info->atom_context, index, NULL, &frev, + &crev, &data_offset); + + igp_info = (union igp_info *)(mode_info->atom_context->bios + + data_offset); + + if (igp_info) { + switch (crev) { + case 1: + if (igp_info->info.ulBootUpMemoryClock) + return true; + break; + case 2: + if (igp_info->info_2.ulBootUpSidePortClock) + return true; + break; + default: + DRM_ERROR("Unsupported IGP table: %d %d\n", frev, crev); + break; + } + } + return false; +} + bool radeon_atombios_get_tmds_info(struct radeon_encoder *encoder, struct radeon_encoder_int_tmds *tmds) { @@ -861,6 +1096,7 @@ struct _ATOM_SPREAD_SPECTRUM_INFO *ss_info; uint8_t frev, crev; struct radeon_atom_ss *ss = NULL; + int i; if (id > ATOM_MAX_SS_ENTRY) return NULL; @@ -878,12 +1114,18 @@ if (!ss) return NULL; - ss->percentage = le16_to_cpu(ss_info->asSS_Info[id].usSpreadSpectrumPercentage); - ss->type = ss_info->asSS_Info[id].ucSpreadSpectrumType; - ss->step = ss_info->asSS_Info[id].ucSS_Step; - ss->delay = ss_info->asSS_Info[id].ucSS_Delay; - ss->range = ss_info->asSS_Info[id].ucSS_Range; - ss->refdiv = ss_info->asSS_Info[id].ucRecommendedRef_Div; + for (i = 0; i < ATOM_MAX_SS_ENTRY; i++) { + if (ss_info->asSS_Info[i].ucSS_Id == id) { + ss->percentage = + le16_to_cpu(ss_info->asSS_Info[i].usSpreadSpectrumPercentage); + ss->type = ss_info->asSS_Info[i].ucSpreadSpectrumType; + ss->step = ss_info->asSS_Info[i].ucSS_Step; + ss->delay = ss_info->asSS_Info[i].ucSS_Delay; + ss->range = ss_info->asSS_Info[i].ucSS_Range; + ss->refdiv = ss_info->asSS_Info[i].ucRecommendedRef_Div; + break; + } + } } return ss; } @@ -901,7 +1143,7 @@ struct radeon_device *rdev = dev->dev_private; struct radeon_mode_info *mode_info = &rdev->mode_info; int index = GetIndexIntoMasterTable(DATA, LVDS_Info); - uint16_t data_offset; + uint16_t data_offset, misc; union lvds_info *lvds_info; uint8_t frev, crev; struct radeon_encoder_atom_dig *lvds = NULL; @@ -934,17 +1176,42 @@ lvds->native_mode.vtotal = lvds->native_mode.vdisplay + le16_to_cpu(lvds_info->info.sLCDTiming.usVBlanking_Time); lvds->native_mode.vsync_start = lvds->native_mode.vdisplay + - le16_to_cpu(lvds_info->info.sLCDTiming.usVSyncWidth); + le16_to_cpu(lvds_info->info.sLCDTiming.usVSyncOffset); lvds->native_mode.vsync_end = lvds->native_mode.vsync_start + le16_to_cpu(lvds_info->info.sLCDTiming.usVSyncWidth); lvds->panel_pwr_delay = le16_to_cpu(lvds_info->info.usOffDelayInMs); lvds->lvds_misc = lvds_info->info.ucLVDS_Misc; + + misc = le16_to_cpu(lvds_info->info.sLCDTiming.susModeMiscInfo.usAccess); + if (misc & ATOM_VSYNC_POLARITY) + lvds->native_mode.flags |= DRM_MODE_FLAG_NVSYNC; + if (misc & ATOM_HSYNC_POLARITY) + lvds->native_mode.flags |= DRM_MODE_FLAG_NHSYNC; + if (misc & ATOM_COMPOSITESYNC) + lvds->native_mode.flags |= DRM_MODE_FLAG_CSYNC; + if (misc & ATOM_INTERLACE) + lvds->native_mode.flags |= DRM_MODE_FLAG_INTERLACE; + if (misc & ATOM_DOUBLE_CLOCK_MODE) + lvds->native_mode.flags |= DRM_MODE_FLAG_DBLSCAN; + /* set crtc values */ drm_mode_set_crtcinfo(&lvds->native_mode, CRTC_INTERLACE_HALVE_V); lvds->ss = radeon_atombios_get_ss_info(encoder, lvds_info->info.ucSS_Id); + if (ASIC_IS_AVIVO(rdev)) { + if (radeon_new_pll == 0) + lvds->pll_algo = PLL_ALGO_LEGACY; + else + lvds->pll_algo = PLL_ALGO_NEW; + } else { + if (radeon_new_pll == 1) + lvds->pll_algo = PLL_ALGO_NEW; + else + lvds->pll_algo = PLL_ALGO_LEGACY; + } + encoder->native_mode = lvds->native_mode; } return lvds; @@ -1074,6 +1341,61 @@ return true; } +enum radeon_tv_std +radeon_atombios_get_tv_info(struct radeon_device *rdev) +{ + struct radeon_mode_info *mode_info = &rdev->mode_info; + int index = GetIndexIntoMasterTable(DATA, AnalogTV_Info); + uint16_t data_offset; + uint8_t frev, crev; + struct _ATOM_ANALOG_TV_INFO *tv_info; + enum radeon_tv_std tv_std = TV_STD_NTSC; + + atom_parse_data_header(mode_info->atom_context, index, NULL, &frev, &crev, &data_offset); + + tv_info = (struct _ATOM_ANALOG_TV_INFO *)(mode_info->atom_context->bios + data_offset); + + switch (tv_info->ucTV_BootUpDefaultStandard) { + case ATOM_TV_NTSC: + tv_std = TV_STD_NTSC; + DRM_INFO("Default TV standard: NTSC\n"); + break; + case ATOM_TV_NTSCJ: + tv_std = TV_STD_NTSC_J; + DRM_INFO("Default TV standard: NTSC-J\n"); + break; + case ATOM_TV_PAL: + tv_std = TV_STD_PAL; + DRM_INFO("Default TV standard: PAL\n"); + break; + case ATOM_TV_PALM: + tv_std = TV_STD_PAL_M; + DRM_INFO("Default TV standard: PAL-M\n"); + break; + case ATOM_TV_PALN: + tv_std = TV_STD_PAL_N; + DRM_INFO("Default TV standard: PAL-N\n"); + break; + case ATOM_TV_PALCN: + tv_std = TV_STD_PAL_CN; + DRM_INFO("Default TV standard: PAL-CN\n"); + break; + case ATOM_TV_PAL60: + tv_std = TV_STD_PAL_60; + DRM_INFO("Default TV standard: PAL-60\n"); + break; + case ATOM_TV_SECAM: + tv_std = TV_STD_SECAM; + DRM_INFO("Default TV standard: SECAM\n"); + break; + default: + tv_std = TV_STD_NTSC; + DRM_INFO("Unknown TV standard; defaulting to NTSC\n"); + break; + } + return tv_std; +} + struct radeon_encoder_tv_dac * radeon_atombios_get_tv_dac_info(struct radeon_encoder *encoder) { @@ -1109,6 +1431,7 @@ dac = dac_info->ucDAC2_NTSC_DAC_Adjustment; tv_dac->ntsc_tvdac_adj = (bg << 16) | (dac << 20); + tv_dac->tv_std = radeon_atombios_get_tv_info(rdev); } return tv_dac; } @@ -1193,7 +1516,7 @@ bios_2_scratch &= ~ATOM_S2_VRI_BRIGHT_ENABLE; /* tell the bios not to handle mode switching */ - bios_6_scratch |= (ATOM_S6_ACC_BLOCK_DISPLAY_SWITCH | ATOM_S6_ACC_MODE); + bios_6_scratch |= ATOM_S6_ACC_BLOCK_DISPLAY_SWITCH; if (rdev->family >= CHIP_R600) { WREG32(R600_BIOS_2_SCRATCH, bios_2_scratch); @@ -1244,10 +1567,13 @@ else bios_6_scratch = RREG32(RADEON_BIOS_6_SCRATCH); - if (lock) + if (lock) { bios_6_scratch |= ATOM_S6_CRITICAL_STATE; - else + bios_6_scratch &= ~ATOM_S6_ACC_MODE; + } else { bios_6_scratch &= ~ATOM_S6_CRITICAL_STATE; + bios_6_scratch |= ATOM_S6_ACC_MODE; + } if (rdev->family >= CHIP_R600) WREG32(R600_BIOS_6_SCRATCH, bios_6_scratch); --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_benchmark.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_benchmark.c @@ -29,8 +29,8 @@ void radeon_benchmark_move(struct radeon_device *rdev, unsigned bsize, unsigned sdomain, unsigned ddomain) { - struct radeon_object *dobj = NULL; - struct radeon_object *sobj = NULL; + struct radeon_bo *dobj = NULL; + struct radeon_bo *sobj = NULL; struct radeon_fence *fence = NULL; uint64_t saddr, daddr; unsigned long start_jiffies; @@ -41,47 +41,66 @@ size = bsize; n = 1024; - r = radeon_object_create(rdev, NULL, size, true, sdomain, false, &sobj); + r = radeon_bo_create(rdev, NULL, size, true, sdomain, &sobj); if (r) { goto out_cleanup; } - r = radeon_object_pin(sobj, sdomain, &saddr); + r = radeon_bo_reserve(sobj, false); + if (unlikely(r != 0)) + goto out_cleanup; + r = radeon_bo_pin(sobj, sdomain, &saddr); + radeon_bo_unreserve(sobj); if (r) { goto out_cleanup; } - r = radeon_object_create(rdev, NULL, size, true, ddomain, false, &dobj); + r = radeon_bo_create(rdev, NULL, size, true, ddomain, &dobj); if (r) { goto out_cleanup; } - r = radeon_object_pin(dobj, ddomain, &daddr); + r = radeon_bo_reserve(dobj, false); + if (unlikely(r != 0)) + goto out_cleanup; + r = radeon_bo_pin(dobj, ddomain, &daddr); + radeon_bo_unreserve(dobj); if (r) { goto out_cleanup; } - start_jiffies = jiffies; - for (i = 0; i < n; i++) { - r = radeon_fence_create(rdev, &fence); - if (r) { - goto out_cleanup; - } - r = radeon_copy_dma(rdev, saddr, daddr, size / RADEON_GPU_PAGE_SIZE, fence); - if (r) { - goto out_cleanup; - } - r = radeon_fence_wait(fence, false); - if (r) { - goto out_cleanup; + + /* r100 doesn't have dma engine so skip the test */ + if (rdev->asic->copy_dma) { + + start_jiffies = jiffies; + for (i = 0; i < n; i++) { + r = radeon_fence_create(rdev, &fence); + if (r) { + goto out_cleanup; + } + + r = radeon_copy_dma(rdev, saddr, daddr, + size / RADEON_GPU_PAGE_SIZE, fence); + + if (r) { + goto out_cleanup; + } + r = radeon_fence_wait(fence, false); + if (r) { + goto out_cleanup; + } + radeon_fence_unref(&fence); + } + end_jiffies = jiffies; + time = end_jiffies - start_jiffies; + time = jiffies_to_msecs(time); + if (time > 0) { + i = ((n * size) >> 10) / time; + printk(KERN_INFO "radeon: dma %u bo moves of %ukb from" + " %d to %d in %lums (%ukb/ms %ukb/s %uM/s)\n", + n, size >> 10, + sdomain, ddomain, time, + i, i * 1000, (i * 1000) / 1024); } - radeon_fence_unref(&fence); - } - end_jiffies = jiffies; - time = end_jiffies - start_jiffies; - time = jiffies_to_msecs(time); - if (time > 0) { - i = ((n * size) >> 10) / time; - printk(KERN_INFO "radeon: dma %u bo moves of %ukb from %d to %d" - " in %lums (%ukb/ms %ukb/s %uM/s)\n", n, size >> 10, - sdomain, ddomain, time, i, i * 1000, (i * 1000) / 1024); } + start_jiffies = jiffies; for (i = 0; i < n; i++) { r = radeon_fence_create(rdev, &fence); @@ -109,12 +128,20 @@ } out_cleanup: if (sobj) { - radeon_object_unpin(sobj); - radeon_object_unref(&sobj); + r = radeon_bo_reserve(sobj, false); + if (likely(r == 0)) { + radeon_bo_unpin(sobj); + radeon_bo_unreserve(sobj); + } + radeon_bo_unref(&sobj); } if (dobj) { - radeon_object_unpin(dobj); - radeon_object_unref(&dobj); + r = radeon_bo_reserve(dobj, false); + if (likely(r == 0)) { + radeon_bo_unpin(dobj); + radeon_bo_unreserve(dobj); + } + radeon_bo_unref(&dobj); } if (fence) { radeon_fence_unref(&fence); --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_bios.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_bios.c @@ -106,7 +106,7 @@ bool r; viph_control = RREG32(RADEON_VIPH_CONTROL); - bus_cntl = RREG32(RADEON_BUS_CNTL); + bus_cntl = RREG32(R600_BUS_CNTL); d1vga_control = RREG32(AVIVO_D1VGA_CONTROL); d2vga_control = RREG32(AVIVO_D2VGA_CONTROL); vga_render_control = RREG32(AVIVO_VGA_RENDER_CONTROL); @@ -115,7 +115,7 @@ /* disable VIP */ WREG32(RADEON_VIPH_CONTROL, (viph_control & ~RADEON_VIPH_EN)); /* enable the rom */ - WREG32(RADEON_BUS_CNTL, (bus_cntl & ~RADEON_BUS_BIOS_DIS_ROM)); + WREG32(R600_BUS_CNTL, (bus_cntl & ~R600_BIOS_ROM_DIS)); /* Disable VGA mode */ WREG32(AVIVO_D1VGA_CONTROL, (d1vga_control & ~(AVIVO_DVGA_CONTROL_MODE_ENABLE | @@ -154,7 +154,7 @@ cg_spll_status = RREG32(R600_CG_SPLL_STATUS); } WREG32(RADEON_VIPH_CONTROL, viph_control); - WREG32(RADEON_BUS_CNTL, bus_cntl); + WREG32(R600_BUS_CNTL, bus_cntl); WREG32(AVIVO_D1VGA_CONTROL, d1vga_control); WREG32(AVIVO_D2VGA_CONTROL, d2vga_control); WREG32(AVIVO_VGA_RENDER_CONTROL, vga_render_control); @@ -179,7 +179,7 @@ bool r; viph_control = RREG32(RADEON_VIPH_CONTROL); - bus_cntl = RREG32(RADEON_BUS_CNTL); + bus_cntl = RREG32(R600_BUS_CNTL); d1vga_control = RREG32(AVIVO_D1VGA_CONTROL); d2vga_control = RREG32(AVIVO_D2VGA_CONTROL); vga_render_control = RREG32(AVIVO_VGA_RENDER_CONTROL); @@ -194,7 +194,7 @@ /* disable VIP */ WREG32(RADEON_VIPH_CONTROL, (viph_control & ~RADEON_VIPH_EN)); /* enable the rom */ - WREG32(RADEON_BUS_CNTL, (bus_cntl & ~RADEON_BUS_BIOS_DIS_ROM)); + WREG32(R600_BUS_CNTL, (bus_cntl & ~R600_BIOS_ROM_DIS)); /* Disable VGA mode */ WREG32(AVIVO_D1VGA_CONTROL, (d1vga_control & ~(AVIVO_DVGA_CONTROL_MODE_ENABLE | @@ -225,7 +225,7 @@ /* restore regs */ WREG32(RADEON_VIPH_CONTROL, viph_control); - WREG32(RADEON_BUS_CNTL, bus_cntl); + WREG32(R600_BUS_CNTL, bus_cntl); WREG32(AVIVO_D1VGA_CONTROL, d1vga_control); WREG32(AVIVO_D2VGA_CONTROL, d2vga_control); WREG32(AVIVO_VGA_RENDER_CONTROL, vga_render_control); --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_clocks.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_clocks.c @@ -44,6 +44,10 @@ ref_div = RREG32_PLL(RADEON_M_SPLL_REF_FB_DIV) & RADEON_M_SPLL_REF_DIV_MASK; + + if (ref_div == 0) + return 0; + sclk = fb_div / ref_div; post_div = RREG32_PLL(RADEON_SCLK_CNTL) & RADEON_SCLK_SRC_SEL_MASK; @@ -52,13 +56,13 @@ else if (post_div == 3) sclk >>= 2; else if (post_div == 4) - sclk >>= 4; + sclk >>= 3; return sclk; } /* 10 khz */ -static uint32_t radeon_legacy_get_memory_clock(struct radeon_device *rdev) +uint32_t radeon_legacy_get_memory_clock(struct radeon_device *rdev) { struct radeon_pll *mpll = &rdev->clock.mpll; uint32_t fb_div, ref_div, post_div, mclk; @@ -70,6 +74,10 @@ ref_div = RREG32_PLL(RADEON_M_SPLL_REF_FB_DIV) & RADEON_M_SPLL_REF_DIV_MASK; + + if (ref_div == 0) + return 0; + mclk = fb_div / ref_div; post_div = RREG32_PLL(RADEON_MCLK_CNTL) & 0x7; @@ -78,7 +86,7 @@ else if (post_div == 3) mclk >>= 2; else if (post_div == 4) - mclk >>= 4; + mclk >>= 3; return mclk; } @@ -98,8 +106,19 @@ ret = radeon_combios_get_clock_info(dev); if (ret) { - if (p1pll->reference_div < 2) - p1pll->reference_div = 12; + if (p1pll->reference_div < 2) { + if (!ASIC_IS_AVIVO(rdev)) { + u32 tmp = RREG32_PLL(RADEON_PPLL_REF_DIV); + if (ASIC_IS_R300(rdev)) + p1pll->reference_div = + (tmp & R300_PPLL_REF_DIV_ACC_MASK) >> R300_PPLL_REF_DIV_ACC_SHIFT; + else + p1pll->reference_div = tmp & RADEON_PPLL_REF_DIV_MASK; + if (p1pll->reference_div < 2) + p1pll->reference_div = 12; + } else + p1pll->reference_div = 12; + } if (p2pll->reference_div < 2) p2pll->reference_div = 12; if (rdev->family < CHIP_RS600) { --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_combios.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_combios.c @@ -50,7 +50,8 @@ uint32_t supported_device, int connector_type, struct radeon_i2c_bus_rec *i2c_bus, - uint16_t connector_object_id); + uint16_t connector_object_id, + struct radeon_hpd *hpd); /* from radeon_legacy_encoder.c */ extern void @@ -442,39 +443,71 @@ } -struct radeon_i2c_bus_rec combios_setup_i2c_bus(int ddc_line) +static struct radeon_i2c_bus_rec combios_setup_i2c_bus(struct radeon_device *rdev, + int ddc_line) { struct radeon_i2c_bus_rec i2c; - i2c.mask_clk_mask = RADEON_GPIO_EN_1; - i2c.mask_data_mask = RADEON_GPIO_EN_0; - i2c.a_clk_mask = RADEON_GPIO_A_1; - i2c.a_data_mask = RADEON_GPIO_A_0; - i2c.put_clk_mask = RADEON_GPIO_EN_1; - i2c.put_data_mask = RADEON_GPIO_EN_0; - i2c.get_clk_mask = RADEON_GPIO_Y_1; - i2c.get_data_mask = RADEON_GPIO_Y_0; - if ((ddc_line == RADEON_LCD_GPIO_MASK) || - (ddc_line == RADEON_MDGPIO_EN_REG)) { - i2c.mask_clk_reg = ddc_line; - i2c.mask_data_reg = ddc_line; - i2c.a_clk_reg = ddc_line; - i2c.a_data_reg = ddc_line; - i2c.put_clk_reg = ddc_line; - i2c.put_data_reg = ddc_line; - i2c.get_clk_reg = ddc_line + 4; - i2c.get_data_reg = ddc_line + 4; + if (ddc_line == RADEON_GPIOPAD_MASK) { + i2c.mask_clk_reg = RADEON_GPIOPAD_MASK; + i2c.mask_data_reg = RADEON_GPIOPAD_MASK; + i2c.a_clk_reg = RADEON_GPIOPAD_A; + i2c.a_data_reg = RADEON_GPIOPAD_A; + i2c.en_clk_reg = RADEON_GPIOPAD_EN; + i2c.en_data_reg = RADEON_GPIOPAD_EN; + i2c.y_clk_reg = RADEON_GPIOPAD_Y; + i2c.y_data_reg = RADEON_GPIOPAD_Y; + } else if (ddc_line == RADEON_MDGPIO_MASK) { + i2c.mask_clk_reg = RADEON_MDGPIO_MASK; + i2c.mask_data_reg = RADEON_MDGPIO_MASK; + i2c.a_clk_reg = RADEON_MDGPIO_A; + i2c.a_data_reg = RADEON_MDGPIO_A; + i2c.en_clk_reg = RADEON_MDGPIO_EN; + i2c.en_data_reg = RADEON_MDGPIO_EN; + i2c.y_clk_reg = RADEON_MDGPIO_Y; + i2c.y_data_reg = RADEON_MDGPIO_Y; } else { + i2c.mask_clk_mask = RADEON_GPIO_EN_1; + i2c.mask_data_mask = RADEON_GPIO_EN_0; + i2c.a_clk_mask = RADEON_GPIO_A_1; + i2c.a_data_mask = RADEON_GPIO_A_0; + i2c.en_clk_mask = RADEON_GPIO_EN_1; + i2c.en_data_mask = RADEON_GPIO_EN_0; + i2c.y_clk_mask = RADEON_GPIO_Y_1; + i2c.y_data_mask = RADEON_GPIO_Y_0; + i2c.mask_clk_reg = ddc_line; i2c.mask_data_reg = ddc_line; i2c.a_clk_reg = ddc_line; i2c.a_data_reg = ddc_line; - i2c.put_clk_reg = ddc_line; - i2c.put_data_reg = ddc_line; - i2c.get_clk_reg = ddc_line; - i2c.get_data_reg = ddc_line; + i2c.en_clk_reg = ddc_line; + i2c.en_data_reg = ddc_line; + i2c.y_clk_reg = ddc_line; + i2c.y_data_reg = ddc_line; } + if (rdev->family < CHIP_R200) + i2c.hw_capable = false; + else { + switch (ddc_line) { + case RADEON_GPIO_VGA_DDC: + case RADEON_GPIO_DVI_DDC: + i2c.hw_capable = true; + break; + case RADEON_GPIO_MONID: + /* hw i2c on RADEON_GPIO_MONID doesn't seem to work + * reliably on some pre-r4xx hardware; not sure why. + */ + i2c.hw_capable = false; + break; + default: + i2c.hw_capable = false; + break; + } + } + i2c.mm_i2c = false; + i2c.i2c_id = 0; + if (ddc_line) i2c.valid = true; else @@ -495,7 +528,7 @@ uint16_t sclk, mclk; if (rdev->bios == NULL) - return NULL; + return false; pll_info = combios_get_table_offset(dev, COMBIOS_PLL_INFO_TABLE); if (pll_info) { @@ -562,6 +595,52 @@ return false; } +bool radeon_combios_sideport_present(struct radeon_device *rdev) +{ + struct drm_device *dev = rdev->ddev; + u16 igp_info; + + /* sideport is AMD only */ + if (rdev->family == CHIP_RS400) + return false; + + igp_info = combios_get_table_offset(dev, COMBIOS_INTEGRATED_SYSTEM_INFO_TABLE); + + if (igp_info) { + if (RBIOS16(igp_info + 0x4)) + return true; + } + return false; +} + +static const uint32_t default_primarydac_adj[CHIP_LAST] = { + 0x00000808, /* r100 */ + 0x00000808, /* rv100 */ + 0x00000808, /* rs100 */ + 0x00000808, /* rv200 */ + 0x00000808, /* rs200 */ + 0x00000808, /* r200 */ + 0x00000808, /* rv250 */ + 0x00000000, /* rs300 */ + 0x00000808, /* rv280 */ + 0x00000808, /* r300 */ + 0x00000808, /* r350 */ + 0x00000808, /* rv350 */ + 0x00000808, /* rv380 */ + 0x00000808, /* r420 */ + 0x00000808, /* r423 */ + 0x00000808, /* rv410 */ + 0x00000000, /* rs400 */ + 0x00000000, /* rs480 */ +}; + +static void radeon_legacy_get_primary_dac_info_from_table(struct radeon_device *rdev, + struct radeon_encoder_primary_dac *p_dac) +{ + p_dac->ps2_pdac_adj = default_primarydac_adj[rdev->family]; + return; +} + struct radeon_encoder_primary_dac *radeon_combios_get_primary_dac_info(struct radeon_encoder *encoder) @@ -571,20 +650,20 @@ uint16_t dac_info; uint8_t rev, bg, dac; struct radeon_encoder_primary_dac *p_dac = NULL; + int found = 0; - if (rdev->bios == NULL) + p_dac = kzalloc(sizeof(struct radeon_encoder_primary_dac), + GFP_KERNEL); + + if (!p_dac) return NULL; + if (rdev->bios == NULL) + goto out; + /* check CRT table */ dac_info = combios_get_table_offset(dev, COMBIOS_CRT_INFO_TABLE); if (dac_info) { - p_dac = - kzalloc(sizeof(struct radeon_encoder_primary_dac), - GFP_KERNEL); - - if (!p_dac) - return NULL; - rev = RBIOS8(dac_info) & 0x3; if (rev < 2) { bg = RBIOS8(dac_info + 0x2) & 0xf; @@ -595,20 +674,28 @@ 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) + found = 1; } +out: + if (!found) /* fallback to defaults */ + radeon_legacy_get_primary_dac_info_from_table(rdev, p_dac); + return p_dac; } -static enum radeon_tv_std -radeon_combios_get_tv_info(struct radeon_encoder *encoder) +enum radeon_tv_std +radeon_combios_get_tv_info(struct radeon_device *rdev) { - struct drm_device *dev = encoder->base.dev; - struct radeon_device *rdev = dev->dev_private; + struct drm_device *dev = rdev->ddev; uint16_t tv_info; enum radeon_tv_std tv_std = TV_STD_NTSC; + if (rdev->bios == NULL) + return tv_std; + tv_info = combios_get_table_offset(dev, COMBIOS_TV_INFO_TABLE); if (tv_info) { if (RBIOS8(tv_info + 6) == 'T') { @@ -731,7 +818,9 @@ bg = RBIOS8(dac_info + 0x10) & 0xf; dac = RBIOS8(dac_info + 0x11) & 0xf; tv_dac->ntsc_tvdac_adj = (bg << 16) | (dac << 20); - found = 1; + /* if the values are all zeros, use the table */ + if (tv_dac->ps2_tvdac_adj) + found = 1; } else if (rev > 1) { bg = RBIOS8(dac_info + 0xc) & 0xf; dac = (RBIOS8(dac_info + 0xc) >> 4) & 0xf; @@ -744,9 +833,11 @@ bg = RBIOS8(dac_info + 0xe) & 0xf; dac = (RBIOS8(dac_info + 0xe) >> 4) & 0xf; tv_dac->ntsc_tvdac_adj = (bg << 16) | (dac << 20); - found = 1; + /* if the values are all zeros, use the table */ + if (tv_dac->ps2_tvdac_adj) + found = 1; } - tv_dac->tv_std = radeon_combios_get_tv_info(encoder); + tv_dac->tv_std = radeon_combios_get_tv_info(rdev); } if (!found) { /* then check CRT table */ @@ -761,7 +852,9 @@ (bg << 16) | (dac << 20); tv_dac->pal_tvdac_adj = tv_dac->ps2_tvdac_adj; tv_dac->ntsc_tvdac_adj = tv_dac->ps2_tvdac_adj; - found = 1; + /* if the values are all zeros, use the table */ + if (tv_dac->ps2_tvdac_adj) + found = 1; } else { bg = RBIOS8(dac_info + 0x4) & 0xf; dac = RBIOS8(dac_info + 0x5) & 0xf; @@ -769,7 +862,9 @@ (bg << 16) | (dac << 20); tv_dac->pal_tvdac_adj = tv_dac->ps2_tvdac_adj; tv_dac->ntsc_tvdac_adj = tv_dac->ps2_tvdac_adj; - found = 1; + /* if the values are all zeros, use the table */ + if (tv_dac->ps2_tvdac_adj) + found = 1; } } else { DRM_INFO("No TV DAC info found in BIOS\n"); @@ -890,8 +985,7 @@ lvds->native_mode.vdisplay); lvds->panel_vcc_delay = RBIOS16(lcd_info + 0x2c); - if (lvds->panel_vcc_delay > 2000 || lvds->panel_vcc_delay < 0) - lvds->panel_vcc_delay = 2000; + lvds->panel_vcc_delay = min_t(u16, lvds->panel_vcc_delay, 2000); lvds->panel_pwr_delay = RBIOS8(lcd_info + 0x24); lvds->panel_digon_delay = RBIOS16(lcd_info + 0x38) & 0xf; @@ -993,8 +1087,8 @@ {{0xffffffff, 0xb01cb}, {0, 0}, {0, 0}, {0, 0}}, /* CHIP_R420 */ {{0xffffffff, 0xb01cb}, {0, 0}, {0, 0}, {0, 0}}, /* CHIP_R423 */ {{0xffffffff, 0xb01cb}, {0, 0}, {0, 0}, {0, 0}}, /* CHIP_RV410 */ - {{15000, 0xb0155}, {0xffffffff, 0xb01cb}, {0, 0}, {0, 0}}, /* CHIP_RS400 */ - {{15000, 0xb0155}, {0xffffffff, 0xb01cb}, {0, 0}, {0, 0}}, /* CHIP_RS480 */ + { {0, 0}, {0, 0}, {0, 0}, {0, 0} }, /* CHIP_RS400 */ + { {0, 0}, {0, 0}, {0, 0}, {0, 0} }, /* CHIP_RS480 */ }; bool radeon_legacy_get_tmds_info_from_table(struct radeon_encoder *encoder, @@ -1028,7 +1122,6 @@ tmds_info = combios_get_table_offset(dev, COMBIOS_DFP_INFO_TABLE); if (tmds_info) { - ver = RBIOS8(tmds_info); DRM_INFO("DFP table revision: %d\n", ver); if (ver == 3) { @@ -1063,51 +1156,139 @@ tmds->tmds_pll[i].value); } } - } else + } else { DRM_INFO("No TMDS info found in BIOS\n"); + return false; + } return true; } -struct radeon_encoder_int_tmds *radeon_combios_get_tmds_info(struct radeon_encoder *encoder) +bool radeon_legacy_get_ext_tmds_info_from_table(struct radeon_encoder *encoder, + struct radeon_encoder_ext_tmds *tmds) { - struct radeon_encoder_int_tmds *tmds = NULL; - bool ret; - - tmds = kzalloc(sizeof(struct radeon_encoder_int_tmds), GFP_KERNEL); + struct drm_device *dev = encoder->base.dev; + struct radeon_device *rdev = dev->dev_private; + struct radeon_i2c_bus_rec i2c_bus; - if (!tmds) - return NULL; + /* default for macs */ + i2c_bus = combios_setup_i2c_bus(rdev, RADEON_GPIO_MONID); + tmds->i2c_bus = radeon_i2c_create(dev, &i2c_bus, "DVO"); - ret = radeon_legacy_get_tmds_info_from_combios(encoder, tmds); - if (ret == false) - radeon_legacy_get_tmds_info_from_table(encoder, tmds); + /* XXX some macs have duallink chips */ + switch (rdev->mode_info.connector_table) { + case CT_POWERBOOK_EXTERNAL: + case CT_MINI_EXTERNAL: + default: + tmds->dvo_chip = DVO_SIL164; + tmds->slave_addr = 0x70 >> 1; /* 7 bit addressing */ + break; + } - return tmds; + return true; } -void radeon_combios_get_ext_tmds_info(struct radeon_encoder *encoder) +bool radeon_legacy_get_ext_tmds_info_from_combios(struct radeon_encoder *encoder, + struct radeon_encoder_ext_tmds *tmds) { struct drm_device *dev = encoder->base.dev; struct radeon_device *rdev = dev->dev_private; - uint16_t ext_tmds_info; - uint8_t ver; + uint16_t offset; + uint8_t ver, id, blocks, clk, data; + int i; + enum radeon_combios_ddc gpio; + struct radeon_i2c_bus_rec i2c_bus; if (rdev->bios == NULL) - return; + return false; - ext_tmds_info = - combios_get_table_offset(dev, COMBIOS_EXT_TMDS_INFO_TABLE); - if (ext_tmds_info) { - ver = RBIOS8(ext_tmds_info); - DRM_INFO("External TMDS Table revision: %d\n", ver); - // TODO + tmds->i2c_bus = NULL; + if (rdev->flags & RADEON_IS_IGP) { + offset = combios_get_table_offset(dev, COMBIOS_I2C_INFO_TABLE); + if (offset) { + ver = RBIOS8(offset); + DRM_INFO("GPIO Table revision: %d\n", ver); + blocks = RBIOS8(offset + 2); + for (i = 0; i < blocks; i++) { + id = RBIOS8(offset + 3 + (i * 5) + 0); + if (id == 136) { + clk = RBIOS8(offset + 3 + (i * 5) + 3); + data = RBIOS8(offset + 3 + (i * 5) + 4); + i2c_bus.valid = true; + i2c_bus.mask_clk_mask = (1 << clk); + i2c_bus.mask_data_mask = (1 << data); + i2c_bus.a_clk_mask = (1 << clk); + i2c_bus.a_data_mask = (1 << data); + i2c_bus.en_clk_mask = (1 << clk); + i2c_bus.en_data_mask = (1 << data); + i2c_bus.y_clk_mask = (1 << clk); + i2c_bus.y_data_mask = (1 << data); + i2c_bus.mask_clk_reg = RADEON_GPIOPAD_MASK; + i2c_bus.mask_data_reg = RADEON_GPIOPAD_MASK; + i2c_bus.a_clk_reg = RADEON_GPIOPAD_A; + i2c_bus.a_data_reg = RADEON_GPIOPAD_A; + i2c_bus.en_clk_reg = RADEON_GPIOPAD_EN; + i2c_bus.en_data_reg = RADEON_GPIOPAD_EN; + i2c_bus.y_clk_reg = RADEON_GPIOPAD_Y; + i2c_bus.y_data_reg = RADEON_GPIOPAD_Y; + tmds->i2c_bus = radeon_i2c_create(dev, &i2c_bus, "DVO"); + tmds->dvo_chip = DVO_SIL164; + tmds->slave_addr = 0x70 >> 1; /* 7 bit addressing */ + break; + } + } + } + } else { + offset = combios_get_table_offset(dev, COMBIOS_EXT_TMDS_INFO_TABLE); + if (offset) { + ver = RBIOS8(offset); + DRM_INFO("External TMDS Table revision: %d\n", ver); + tmds->slave_addr = RBIOS8(offset + 4 + 2); + tmds->slave_addr >>= 1; /* 7 bit addressing */ + gpio = RBIOS8(offset + 4 + 3); + switch (gpio) { + case DDC_MONID: + i2c_bus = combios_setup_i2c_bus(rdev, RADEON_GPIO_MONID); + tmds->i2c_bus = radeon_i2c_create(dev, &i2c_bus, "DVO"); + break; + case DDC_DVI: + i2c_bus = combios_setup_i2c_bus(rdev, RADEON_GPIO_DVI_DDC); + tmds->i2c_bus = radeon_i2c_create(dev, &i2c_bus, "DVO"); + break; + case DDC_VGA: + i2c_bus = combios_setup_i2c_bus(rdev, RADEON_GPIO_VGA_DDC); + tmds->i2c_bus = radeon_i2c_create(dev, &i2c_bus, "DVO"); + break; + case DDC_CRT2: + /* R3xx+ chips don't have GPIO_CRT2_DDC gpio pad */ + if (rdev->family >= CHIP_R300) + i2c_bus = combios_setup_i2c_bus(rdev, RADEON_GPIO_MONID); + else + i2c_bus = combios_setup_i2c_bus(rdev, RADEON_GPIO_CRT2_DDC); + tmds->i2c_bus = radeon_i2c_create(dev, &i2c_bus, "DVO"); + break; + case DDC_LCD: /* MM i2c */ + DRM_ERROR("MM i2c requires hw i2c engine\n"); + break; + default: + DRM_ERROR("Unsupported gpio %d\n", gpio); + break; + } + } + } + + if (!tmds->i2c_bus) { + DRM_INFO("No valid Ext TMDS info found in BIOS\n"); + return false; } + + return true; } bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev) { struct radeon_device *rdev = dev->dev_private; struct radeon_i2c_bus_rec ddc_i2c; + struct radeon_hpd hpd; rdev->mode_info.connector_table = radeon_connector_table; if (rdev->mode_info.connector_table == CT_NONE) { @@ -1168,7 +1349,8 @@ /* these are the most common settings */ if (rdev->flags & RADEON_SINGLE_CRTC) { /* VGA - primary dac */ - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_VGA_DDC); + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_CRT1_SUPPORT, @@ -1178,10 +1360,12 @@ ATOM_DEVICE_CRT1_SUPPORT, DRM_MODE_CONNECTOR_VGA, &ddc_i2c, - CONNECTOR_OBJECT_ID_VGA); + CONNECTOR_OBJECT_ID_VGA, + &hpd); } else if (rdev->flags & RADEON_IS_MOBILITY) { /* LVDS */ - ddc_i2c = combios_setup_i2c_bus(RADEON_LCD_GPIO_MASK); + ddc_i2c = combios_setup_i2c_bus(rdev, 0); + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_LCD1_SUPPORT, @@ -1191,10 +1375,12 @@ ATOM_DEVICE_LCD1_SUPPORT, DRM_MODE_CONNECTOR_LVDS, &ddc_i2c, - CONNECTOR_OBJECT_ID_LVDS); + CONNECTOR_OBJECT_ID_LVDS, + &hpd); /* VGA - primary dac */ - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_VGA_DDC); + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_CRT1_SUPPORT, @@ -1204,10 +1390,12 @@ ATOM_DEVICE_CRT1_SUPPORT, DRM_MODE_CONNECTOR_VGA, &ddc_i2c, - CONNECTOR_OBJECT_ID_VGA); + CONNECTOR_OBJECT_ID_VGA, + &hpd); } else { /* DVI-I - tv dac, int tmds */ - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_DVI_DDC); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_DVI_DDC); + hpd.hpd = RADEON_HPD_1; radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_DFP1_SUPPORT, @@ -1223,10 +1411,12 @@ ATOM_DEVICE_CRT2_SUPPORT, DRM_MODE_CONNECTOR_DVII, &ddc_i2c, - CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I); + CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I, + &hpd); /* VGA - primary dac */ - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_VGA_DDC); + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_CRT1_SUPPORT, @@ -1236,11 +1426,14 @@ ATOM_DEVICE_CRT1_SUPPORT, DRM_MODE_CONNECTOR_VGA, &ddc_i2c, - CONNECTOR_OBJECT_ID_VGA); + CONNECTOR_OBJECT_ID_VGA, + &hpd); } if (rdev->family != CHIP_R100 && rdev->family != CHIP_R200) { /* TV - tv dac */ + ddc_i2c.valid = false; + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_TV1_SUPPORT, @@ -1250,14 +1443,16 @@ ATOM_DEVICE_TV1_SUPPORT, DRM_MODE_CONNECTOR_SVIDEO, &ddc_i2c, - CONNECTOR_OBJECT_ID_SVIDEO); + CONNECTOR_OBJECT_ID_SVIDEO, + &hpd); } break; case CT_IBOOK: DRM_INFO("Connector Table: %d (ibook)\n", rdev->mode_info.connector_table); /* LVDS */ - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_DVI_DDC); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_DVI_DDC); + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_LCD1_SUPPORT, @@ -1265,9 +1460,11 @@ ATOM_DEVICE_LCD1_SUPPORT); radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_LCD1_SUPPORT, DRM_MODE_CONNECTOR_LVDS, &ddc_i2c, - CONNECTOR_OBJECT_ID_LVDS); + CONNECTOR_OBJECT_ID_LVDS, + &hpd); /* VGA - TV DAC */ - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_VGA_DDC); + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_CRT2_SUPPORT, @@ -1275,8 +1472,11 @@ ATOM_DEVICE_CRT2_SUPPORT); radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_CRT2_SUPPORT, DRM_MODE_CONNECTOR_VGA, &ddc_i2c, - CONNECTOR_OBJECT_ID_VGA); + 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_id(dev, ATOM_DEVICE_TV1_SUPPORT, @@ -1285,13 +1485,15 @@ radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT, DRM_MODE_CONNECTOR_SVIDEO, &ddc_i2c, - CONNECTOR_OBJECT_ID_SVIDEO); + CONNECTOR_OBJECT_ID_SVIDEO, + &hpd); break; case CT_POWERBOOK_EXTERNAL: DRM_INFO("Connector Table: %d (powerbook external tmds)\n", rdev->mode_info.connector_table); /* LVDS */ - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_DVI_DDC); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_DVI_DDC); + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_LCD1_SUPPORT, @@ -1299,9 +1501,11 @@ ATOM_DEVICE_LCD1_SUPPORT); radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_LCD1_SUPPORT, DRM_MODE_CONNECTOR_LVDS, &ddc_i2c, - CONNECTOR_OBJECT_ID_LVDS); + CONNECTOR_OBJECT_ID_LVDS, + &hpd); /* DVI-I - primary dac, ext tmds */ - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_VGA_DDC); + hpd.hpd = RADEON_HPD_2; /* ??? */ radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_DFP2_SUPPORT, @@ -1317,8 +1521,11 @@ ATOM_DEVICE_DFP2_SUPPORT | ATOM_DEVICE_CRT1_SUPPORT, DRM_MODE_CONNECTOR_DVII, &ddc_i2c, - CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I); + CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I, + &hpd); /* TV - TV DAC */ + ddc_i2c.valid = false; + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_TV1_SUPPORT, @@ -1327,13 +1534,15 @@ radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT, DRM_MODE_CONNECTOR_SVIDEO, &ddc_i2c, - CONNECTOR_OBJECT_ID_SVIDEO); + CONNECTOR_OBJECT_ID_SVIDEO, + &hpd); break; case CT_POWERBOOK_INTERNAL: DRM_INFO("Connector Table: %d (powerbook internal tmds)\n", rdev->mode_info.connector_table); /* LVDS */ - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_DVI_DDC); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_DVI_DDC); + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_LCD1_SUPPORT, @@ -1341,9 +1550,11 @@ ATOM_DEVICE_LCD1_SUPPORT); radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_LCD1_SUPPORT, DRM_MODE_CONNECTOR_LVDS, &ddc_i2c, - CONNECTOR_OBJECT_ID_LVDS); + CONNECTOR_OBJECT_ID_LVDS, + &hpd); /* DVI-I - primary dac, int tmds */ - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_VGA_DDC); + hpd.hpd = RADEON_HPD_1; /* ??? */ radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_DFP1_SUPPORT, @@ -1358,8 +1569,11 @@ ATOM_DEVICE_DFP1_SUPPORT | ATOM_DEVICE_CRT1_SUPPORT, DRM_MODE_CONNECTOR_DVII, &ddc_i2c, - CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I); + CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I, + &hpd); /* TV - TV DAC */ + ddc_i2c.valid = false; + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_TV1_SUPPORT, @@ -1368,13 +1582,15 @@ radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT, DRM_MODE_CONNECTOR_SVIDEO, &ddc_i2c, - CONNECTOR_OBJECT_ID_SVIDEO); + CONNECTOR_OBJECT_ID_SVIDEO, + &hpd); break; case CT_POWERBOOK_VGA: DRM_INFO("Connector Table: %d (powerbook vga)\n", rdev->mode_info.connector_table); /* LVDS */ - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_DVI_DDC); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_DVI_DDC); + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_LCD1_SUPPORT, @@ -1382,9 +1598,11 @@ ATOM_DEVICE_LCD1_SUPPORT); radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_LCD1_SUPPORT, DRM_MODE_CONNECTOR_LVDS, &ddc_i2c, - CONNECTOR_OBJECT_ID_LVDS); + CONNECTOR_OBJECT_ID_LVDS, + &hpd); /* VGA - primary dac */ - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_VGA_DDC); + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_CRT1_SUPPORT, @@ -1392,8 +1610,11 @@ ATOM_DEVICE_CRT1_SUPPORT); radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_CRT1_SUPPORT, DRM_MODE_CONNECTOR_VGA, &ddc_i2c, - CONNECTOR_OBJECT_ID_VGA); + 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_id(dev, ATOM_DEVICE_TV1_SUPPORT, @@ -1402,13 +1623,15 @@ radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT, DRM_MODE_CONNECTOR_SVIDEO, &ddc_i2c, - CONNECTOR_OBJECT_ID_SVIDEO); + CONNECTOR_OBJECT_ID_SVIDEO, + &hpd); break; case CT_MINI_EXTERNAL: DRM_INFO("Connector Table: %d (mini external tmds)\n", rdev->mode_info.connector_table); /* DVI-I - tv dac, ext tmds */ - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_CRT2_DDC); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_CRT2_DDC); + hpd.hpd = RADEON_HPD_2; /* ??? */ radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_DFP2_SUPPORT, @@ -1424,8 +1647,11 @@ ATOM_DEVICE_DFP2_SUPPORT | ATOM_DEVICE_CRT2_SUPPORT, DRM_MODE_CONNECTOR_DVII, &ddc_i2c, - CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I); + CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I, + &hpd); /* TV - TV DAC */ + ddc_i2c.valid = false; + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_TV1_SUPPORT, @@ -1434,13 +1660,15 @@ radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_TV1_SUPPORT, DRM_MODE_CONNECTOR_SVIDEO, &ddc_i2c, - CONNECTOR_OBJECT_ID_SVIDEO); + CONNECTOR_OBJECT_ID_SVIDEO, + &hpd); break; case CT_MINI_INTERNAL: DRM_INFO("Connector Table: %d (mini internal tmds)\n", rdev->mode_info.connector_table); /* DVI-I - tv dac, int tmds */ - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_CRT2_DDC); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_CRT2_DDC); + hpd.hpd = RADEON_HPD_1; /* ??? */ radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_DFP1_SUPPORT, @@ -1455,8 +1683,11 @@ ATOM_DEVICE_DFP1_SUPPORT | ATOM_DEVICE_CRT2_SUPPORT, DRM_MODE_CONNECTOR_DVII, &ddc_i2c, - CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I); + CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I, + &hpd); /* TV - TV DAC */ + ddc_i2c.valid = false; + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_TV1_SUPPORT, @@ -1465,13 +1696,15 @@ radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_TV1_SUPPORT, DRM_MODE_CONNECTOR_SVIDEO, &ddc_i2c, - CONNECTOR_OBJECT_ID_SVIDEO); + CONNECTOR_OBJECT_ID_SVIDEO, + &hpd); break; case CT_IMAC_G5_ISIGHT: DRM_INFO("Connector Table: %d (imac g5 isight)\n", rdev->mode_info.connector_table); /* DVI-D - int tmds */ - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_MONID); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_MONID); + hpd.hpd = RADEON_HPD_1; /* ??? */ radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_DFP1_SUPPORT, @@ -1479,9 +1712,11 @@ ATOM_DEVICE_DFP1_SUPPORT); radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_DFP1_SUPPORT, DRM_MODE_CONNECTOR_DVID, &ddc_i2c, - CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D); + CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D, + &hpd); /* VGA - tv dac */ - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_DVI_DDC); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_DVI_DDC); + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_CRT2_SUPPORT, @@ -1489,8 +1724,11 @@ ATOM_DEVICE_CRT2_SUPPORT); radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_CRT2_SUPPORT, DRM_MODE_CONNECTOR_VGA, &ddc_i2c, - CONNECTOR_OBJECT_ID_VGA); + 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_id(dev, ATOM_DEVICE_TV1_SUPPORT, @@ -1499,13 +1737,15 @@ radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT, DRM_MODE_CONNECTOR_SVIDEO, &ddc_i2c, - CONNECTOR_OBJECT_ID_SVIDEO); + CONNECTOR_OBJECT_ID_SVIDEO, + &hpd); break; case CT_EMAC: DRM_INFO("Connector Table: %d (emac)\n", rdev->mode_info.connector_table); /* VGA - primary dac */ - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_VGA_DDC); + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_CRT1_SUPPORT, @@ -1513,9 +1753,11 @@ ATOM_DEVICE_CRT1_SUPPORT); radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_CRT1_SUPPORT, DRM_MODE_CONNECTOR_VGA, &ddc_i2c, - CONNECTOR_OBJECT_ID_VGA); + CONNECTOR_OBJECT_ID_VGA, + &hpd); /* VGA - tv dac */ - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_CRT2_DDC); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_CRT2_DDC); + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_encoder(dev, radeon_get_encoder_id(dev, ATOM_DEVICE_CRT2_SUPPORT, @@ -1523,8 +1765,11 @@ ATOM_DEVICE_CRT2_SUPPORT); radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_CRT2_SUPPORT, DRM_MODE_CONNECTOR_VGA, &ddc_i2c, - CONNECTOR_OBJECT_ID_VGA); + 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_id(dev, ATOM_DEVICE_TV1_SUPPORT, @@ -1533,7 +1778,8 @@ radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT, DRM_MODE_CONNECTOR_SVIDEO, &ddc_i2c, - CONNECTOR_OBJECT_ID_SVIDEO); + CONNECTOR_OBJECT_ID_SVIDEO, + &hpd); break; default: DRM_INFO("Connector table: %d (invalid)\n", @@ -1550,7 +1796,8 @@ int bios_index, enum radeon_combios_connector *legacy_connector, - struct radeon_i2c_bus_rec *ddc_i2c) + struct radeon_i2c_bus_rec *ddc_i2c, + struct radeon_hpd *hpd) { struct radeon_device *rdev = dev->dev_private; @@ -1558,29 +1805,26 @@ if ((rdev->family == CHIP_RS400 || rdev->family == CHIP_RS480) && ddc_i2c->mask_clk_reg == RADEON_GPIO_CRT2_DDC) - *ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_MONID); + *ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_MONID); else if ((rdev->family == CHIP_RS400 || rdev->family == CHIP_RS480) && ddc_i2c->mask_clk_reg == RADEON_GPIO_MONID) { - ddc_i2c->valid = true; + *ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIOPAD_MASK); ddc_i2c->mask_clk_mask = (0x20 << 8); ddc_i2c->mask_data_mask = 0x80; ddc_i2c->a_clk_mask = (0x20 << 8); ddc_i2c->a_data_mask = 0x80; - ddc_i2c->put_clk_mask = (0x20 << 8); - ddc_i2c->put_data_mask = 0x80; - ddc_i2c->get_clk_mask = (0x20 << 8); - ddc_i2c->get_data_mask = 0x80; - ddc_i2c->mask_clk_reg = RADEON_GPIOPAD_MASK; - ddc_i2c->mask_data_reg = RADEON_GPIOPAD_MASK; - ddc_i2c->a_clk_reg = RADEON_GPIOPAD_A; - ddc_i2c->a_data_reg = RADEON_GPIOPAD_A; - ddc_i2c->put_clk_reg = RADEON_GPIOPAD_EN; - ddc_i2c->put_data_reg = RADEON_GPIOPAD_EN; - ddc_i2c->get_clk_reg = RADEON_LCD_GPIO_Y_REG; - ddc_i2c->get_data_reg = RADEON_LCD_GPIO_Y_REG; + ddc_i2c->en_clk_mask = (0x20 << 8); + ddc_i2c->en_data_mask = 0x80; + ddc_i2c->y_clk_mask = (0x20 << 8); + ddc_i2c->y_data_mask = 0x80; } + /* R3xx+ chips don't have GPIO_CRT2_DDC gpio pad */ + if ((rdev->family >= CHIP_R300) && + ddc_i2c->mask_clk_reg == RADEON_GPIO_CRT2_DDC) + *ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_DVI_DDC); + /* Certain IBM chipset RN50s have a BIOS reporting two VGAs, one with VGA DDC and one with CRT2 DDC. - kill the CRT2 DDC one */ if (dev->pdev->device == 0x515e && @@ -1624,6 +1868,12 @@ dev->pdev->subsystem_device == 0x280a) return false; + /* MSI S270 has non-existent TV port */ + if (dev->pdev->device == 0x5955 && + dev->pdev->subsystem_vendor == 0x1462 && + dev->pdev->subsystem_device == 0x0131) + return false; + return true; } @@ -1671,6 +1921,7 @@ enum radeon_combios_connector connector; int i = 0; struct radeon_i2c_bus_rec ddc_i2c; + struct radeon_hpd hpd; if (rdev->bios == NULL) return false; @@ -1691,26 +1942,40 @@ switch (ddc_type) { case DDC_MONID: ddc_i2c = - combios_setup_i2c_bus(RADEON_GPIO_MONID); + combios_setup_i2c_bus(rdev, RADEON_GPIO_MONID); break; case DDC_DVI: ddc_i2c = - combios_setup_i2c_bus(RADEON_GPIO_DVI_DDC); + combios_setup_i2c_bus(rdev, RADEON_GPIO_DVI_DDC); break; case DDC_VGA: ddc_i2c = - combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC); + combios_setup_i2c_bus(rdev, RADEON_GPIO_VGA_DDC); break; case DDC_CRT2: ddc_i2c = - combios_setup_i2c_bus(RADEON_GPIO_CRT2_DDC); + combios_setup_i2c_bus(rdev, RADEON_GPIO_CRT2_DDC); break; default: break; } + switch (connector) { + case CONNECTOR_PROPRIETARY_LEGACY: + case CONNECTOR_DVI_I_LEGACY: + case CONNECTOR_DVI_D_LEGACY: + if ((tmp >> 4) & 0x1) + hpd.hpd = RADEON_HPD_2; + else + hpd.hpd = RADEON_HPD_1; + break; + default: + hpd.hpd = RADEON_HPD_NONE; + break; + } + if (!radeon_apply_legacy_quirks(dev, i, &connector, - &ddc_i2c)) + &ddc_i2c, &hpd)) continue; switch (connector) { @@ -1727,7 +1992,8 @@ legacy_connector_convert [connector], &ddc_i2c, - CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D); + CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D, + &hpd); break; case CONNECTOR_CRT_LEGACY: if (tmp & 0x1) { @@ -1753,7 +2019,8 @@ legacy_connector_convert [connector], &ddc_i2c, - CONNECTOR_OBJECT_ID_VGA); + CONNECTOR_OBJECT_ID_VGA, + &hpd); break; case CONNECTOR_DVI_I_LEGACY: devices = 0; @@ -1799,7 +2066,8 @@ legacy_connector_convert [connector], &ddc_i2c, - connector_object_id); + connector_object_id, + &hpd); break; case CONNECTOR_DVI_D_LEGACY: if ((tmp >> 4) & 0x1) { @@ -1817,7 +2085,8 @@ legacy_connector_convert [connector], &ddc_i2c, - connector_object_id); + connector_object_id, + &hpd); break; case CONNECTOR_CTV_LEGACY: case CONNECTOR_STV_LEGACY: @@ -1832,7 +2101,8 @@ legacy_connector_convert [connector], &ddc_i2c, - CONNECTOR_OBJECT_ID_SVIDEO); + CONNECTOR_OBJECT_ID_SVIDEO, + &hpd); break; default: DRM_ERROR("Unknown connector type: %d\n", @@ -1858,14 +2128,16 @@ 0), ATOM_DEVICE_DFP1_SUPPORT); - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_DVI_DDC); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_DVI_DDC); + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_CRT1_SUPPORT | ATOM_DEVICE_DFP1_SUPPORT, DRM_MODE_CONNECTOR_DVII, &ddc_i2c, - CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I); + CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I, + &hpd); } else { uint16_t crt_info = combios_get_table_offset(dev, COMBIOS_CRT_INFO_TABLE); @@ -1876,13 +2148,15 @@ ATOM_DEVICE_CRT1_SUPPORT, 1), ATOM_DEVICE_CRT1_SUPPORT); - ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC); + ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_VGA_DDC); + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_CRT1_SUPPORT, DRM_MODE_CONNECTOR_VGA, &ddc_i2c, - CONNECTOR_OBJECT_ID_VGA); + CONNECTOR_OBJECT_ID_VGA, + &hpd); } else { DRM_DEBUG("No connector info found\n"); return false; @@ -1910,27 +2184,27 @@ case DDC_MONID: ddc_i2c = combios_setup_i2c_bus - (RADEON_GPIO_MONID); + (rdev, RADEON_GPIO_MONID); break; case DDC_DVI: ddc_i2c = combios_setup_i2c_bus - (RADEON_GPIO_DVI_DDC); + (rdev, RADEON_GPIO_DVI_DDC); break; case DDC_VGA: ddc_i2c = combios_setup_i2c_bus - (RADEON_GPIO_VGA_DDC); + (rdev, RADEON_GPIO_VGA_DDC); break; case DDC_CRT2: ddc_i2c = combios_setup_i2c_bus - (RADEON_GPIO_CRT2_DDC); + (rdev, RADEON_GPIO_CRT2_DDC); break; case DDC_LCD: ddc_i2c = combios_setup_i2c_bus - (RADEON_LCD_GPIO_MASK); + (rdev, RADEON_GPIOPAD_MASK); ddc_i2c.mask_clk_mask = RBIOS32(lcd_ddc_info + 3); ddc_i2c.mask_data_mask = @@ -1939,19 +2213,19 @@ RBIOS32(lcd_ddc_info + 3); ddc_i2c.a_data_mask = RBIOS32(lcd_ddc_info + 7); - ddc_i2c.put_clk_mask = + ddc_i2c.en_clk_mask = RBIOS32(lcd_ddc_info + 3); - ddc_i2c.put_data_mask = + ddc_i2c.en_data_mask = RBIOS32(lcd_ddc_info + 7); - ddc_i2c.get_clk_mask = + ddc_i2c.y_clk_mask = RBIOS32(lcd_ddc_info + 3); - ddc_i2c.get_data_mask = + ddc_i2c.y_data_mask = RBIOS32(lcd_ddc_info + 7); break; case DDC_GPIO: ddc_i2c = combios_setup_i2c_bus - (RADEON_MDGPIO_EN_REG); + (rdev, RADEON_MDGPIO_MASK); ddc_i2c.mask_clk_mask = RBIOS32(lcd_ddc_info + 3); ddc_i2c.mask_data_mask = @@ -1960,13 +2234,13 @@ RBIOS32(lcd_ddc_info + 3); ddc_i2c.a_data_mask = RBIOS32(lcd_ddc_info + 7); - ddc_i2c.put_clk_mask = + ddc_i2c.en_clk_mask = RBIOS32(lcd_ddc_info + 3); - ddc_i2c.put_data_mask = + ddc_i2c.en_data_mask = RBIOS32(lcd_ddc_info + 7); - ddc_i2c.get_clk_mask = + ddc_i2c.y_clk_mask = RBIOS32(lcd_ddc_info + 3); - ddc_i2c.get_data_mask = + ddc_i2c.y_data_mask = RBIOS32(lcd_ddc_info + 7); break; default: @@ -1977,12 +2251,14 @@ } else ddc_i2c.valid = false; + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_connector(dev, 5, ATOM_DEVICE_LCD1_SUPPORT, DRM_MODE_CONNECTOR_LVDS, &ddc_i2c, - CONNECTOR_OBJECT_ID_LVDS); + CONNECTOR_OBJECT_ID_LVDS, + &hpd); } } @@ -1993,6 +2269,7 @@ if (tv_info) { if (RBIOS8(tv_info + 6) == 'T') { if (radeon_apply_legacy_tv_quirks(dev)) { + hpd.hpd = RADEON_HPD_NONE; radeon_add_legacy_encoder(dev, radeon_get_encoder_id (dev, @@ -2003,7 +2280,8 @@ ATOM_DEVICE_TV1_SUPPORT, DRM_MODE_CONNECTOR_SVIDEO, &ddc_i2c, - CONNECTOR_OBJECT_ID_SVIDEO); + CONNECTOR_OBJECT_ID_SVIDEO, + &hpd); } } } @@ -2014,6 +2292,193 @@ return true; } +void radeon_external_tmds_setup(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) + return; + + switch (tmds->dvo_chip) { + case DVO_SIL164: + /* sil 164 */ + radeon_i2c_do_lock(tmds->i2c_bus, 1); + radeon_i2c_sw_put_byte(tmds->i2c_bus, + tmds->slave_addr, + 0x08, 0x30); + radeon_i2c_sw_put_byte(tmds->i2c_bus, + tmds->slave_addr, + 0x09, 0x00); + radeon_i2c_sw_put_byte(tmds->i2c_bus, + tmds->slave_addr, + 0x0a, 0x90); + radeon_i2c_sw_put_byte(tmds->i2c_bus, + tmds->slave_addr, + 0x0c, 0x89); + radeon_i2c_sw_put_byte(tmds->i2c_bus, + tmds->slave_addr, + 0x08, 0x3b); + radeon_i2c_do_lock(tmds->i2c_bus, 0); + break; + case DVO_SIL1178: + /* sil 1178 - untested */ + /* + * 0x0f, 0x44 + * 0x0f, 0x4c + * 0x0e, 0x01 + * 0x0a, 0x80 + * 0x09, 0x30 + * 0x0c, 0xc9 + * 0x0d, 0x70 + * 0x08, 0x32 + * 0x08, 0x33 + */ + break; + default: + break; + } + +} + +bool radeon_combios_external_tmds_setup(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); + uint16_t offset; + uint8_t blocks, slave_addr, rev; + uint32_t index, id; + uint32_t reg, val, and_mask, or_mask; + struct radeon_encoder_ext_tmds *tmds = radeon_encoder->enc_priv; + + if (rdev->bios == NULL) + return false; + + if (!tmds) + return false; + + if (rdev->flags & RADEON_IS_IGP) { + offset = combios_get_table_offset(dev, COMBIOS_TMDS_POWER_ON_TABLE); + rev = RBIOS8(offset); + if (offset) { + rev = RBIOS8(offset); + if (rev > 1) { + blocks = RBIOS8(offset + 3); + index = offset + 4; + while (blocks > 0) { + id = RBIOS16(index); + index += 2; + switch (id >> 13) { + case 0: + reg = (id & 0x1fff) * 4; + val = RBIOS32(index); + index += 4; + WREG32(reg, val); + break; + case 2: + reg = (id & 0x1fff) * 4; + and_mask = RBIOS32(index); + index += 4; + or_mask = RBIOS32(index); + index += 4; + val = RREG32(reg); + val = (val & and_mask) | or_mask; + WREG32(reg, val); + break; + case 3: + val = RBIOS16(index); + index += 2; + udelay(val); + break; + case 4: + val = RBIOS16(index); + index += 2; + udelay(val * 1000); + break; + case 6: + slave_addr = id & 0xff; + slave_addr >>= 1; /* 7 bit addressing */ + index++; + reg = RBIOS8(index); + index++; + val = RBIOS8(index); + index++; + radeon_i2c_do_lock(tmds->i2c_bus, 1); + radeon_i2c_sw_put_byte(tmds->i2c_bus, + slave_addr, + reg, val); + radeon_i2c_do_lock(tmds->i2c_bus, 0); + break; + default: + DRM_ERROR("Unknown id %d\n", id >> 13); + break; + } + blocks--; + } + return true; + } + } + } else { + offset = combios_get_table_offset(dev, COMBIOS_EXT_TMDS_INFO_TABLE); + if (offset) { + index = offset + 10; + id = RBIOS16(index); + while (id != 0xffff) { + index += 2; + switch (id >> 13) { + case 0: + reg = (id & 0x1fff) * 4; + val = RBIOS32(index); + WREG32(reg, val); + break; + case 2: + reg = (id & 0x1fff) * 4; + and_mask = RBIOS32(index); + index += 4; + or_mask = RBIOS32(index); + index += 4; + val = RREG32(reg); + val = (val & and_mask) | or_mask; + WREG32(reg, val); + break; + case 4: + val = RBIOS16(index); + index += 2; + udelay(val); + break; + case 5: + reg = id & 0x1fff; + and_mask = RBIOS32(index); + index += 4; + or_mask = RBIOS32(index); + index += 4; + val = RREG32_PLL(reg); + val = (val & and_mask) | or_mask; + WREG32_PLL(reg, val); + break; + case 6: + reg = id & 0x1fff; + val = RBIOS8(index); + index += 1; + radeon_i2c_do_lock(tmds->i2c_bus, 1); + radeon_i2c_sw_put_byte(tmds->i2c_bus, + tmds->slave_addr, + reg, val); + radeon_i2c_do_lock(tmds->i2c_bus, 0); + break; + default: + DRM_ERROR("Unknown id %d\n", id >> 13); + break; + } + id = RBIOS16(index); + } + return true; + } + } + return false; +} + static void combios_parse_mmio_table(struct drm_device *dev, uint16_t offset) { struct radeon_device *rdev = dev->dev_private; @@ -2384,6 +2849,22 @@ combios_write_ram_size(dev); } + /* quirk for rs4xx HP nx6125 laptop to make it resume + * - it hangs on resume inside the dynclk 1 table. + */ + if (rdev->family == CHIP_RS480 && + rdev->pdev->subsystem_vendor == 0x103c && + rdev->pdev->subsystem_device == 0x308b) + return; + + /* quirk for rs4xx HP dv5000 laptop to make it resume + * - it hangs on resume inside the dynclk 1 table. + */ + if (rdev->family == CHIP_RS480 && + rdev->pdev->subsystem_vendor == 0x103c && + rdev->pdev->subsystem_device == 0x30a4) + return; + /* DYN CLK 1 */ table = combios_get_table_offset(dev, COMBIOS_DYN_CLK_1_TABLE); if (table) --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_connectors.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_connectors.c @@ -40,6 +40,28 @@ struct drm_encoder *encoder, bool connected); +void radeon_connector_hotplug(struct drm_connector *connector) +{ + struct drm_device *dev = connector->dev; + struct radeon_device *rdev = dev->dev_private; + struct radeon_connector *radeon_connector = to_radeon_connector(connector); + + if (radeon_connector->hpd.hpd != RADEON_HPD_NONE) + radeon_hpd_set_polarity(rdev, radeon_connector->hpd.hpd); + + if ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) || + (connector->connector_type == DRM_MODE_CONNECTOR_eDP)) { + if ((radeon_dp_getsinktype(radeon_connector) == CONNECTOR_OBJECT_ID_DISPLAYPORT) || + (radeon_dp_getsinktype(radeon_connector) == CONNECTOR_OBJECT_ID_eDP)) { + if (radeon_dp_needs_link_train(radeon_connector)) { + if (connector->encoder) + dp_link_train(connector->encoder, connector); + } + } + } + +} + static void radeon_property_change_mode(struct drm_encoder *encoder) { struct drm_crtc *crtc = encoder->crtc; @@ -140,12 +162,14 @@ { struct drm_device *dev = connector->dev; struct drm_connector *conflict; + struct radeon_connector *radeon_conflict; int i; list_for_each_entry(conflict, &dev->mode_config.connector_list, head) { if (conflict == connector) continue; + radeon_conflict = to_radeon_connector(conflict); for (i = 0; i < DRM_CONNECTOR_MAX_ENCODER; i++) { if (conflict->encoder_ids[i] == 0) break; @@ -155,6 +179,9 @@ if (conflict->status != connector_status_connected) continue; + if (radeon_conflict->use_digital) + continue; + if (priority == true) { DRM_INFO("1: conflicting encoders switching off %s\n", drm_get_connector_name(conflict)); DRM_INFO("in favor of %s\n", drm_get_connector_name(connector)); @@ -188,6 +215,18 @@ drm_mode_set_name(mode); DRM_DEBUG("Adding native panel mode %s\n", mode->name); + } else if (native_mode->hdisplay != 0 && + native_mode->vdisplay != 0) { + /* mac laptops without an edid */ + /* Note that this is not necessarily the exact panel mode, + * but an approximation based on the cvt formula. For these + * systems we should ideally read the mode info out of the + * registers or add a mode table, but this works and is much + * simpler. + */ + mode = drm_cvt_mode(dev, native_mode->hdisplay, native_mode->vdisplay, 60, true, false, false); + mode->type = DRM_MODE_TYPE_PREFERRED | DRM_MODE_TYPE_DRIVER; + DRM_DEBUG("Adding cvt approximation of native panel mode %s\n", mode->name); } return mode; } @@ -281,7 +320,7 @@ radeon_encoder = to_radeon_encoder(encoder); if (!radeon_encoder->enc_priv) return 0; - if (rdev->is_atom_bios) { + if (ASIC_IS_AVIVO(rdev) || radeon_r4xx_atom) { struct radeon_encoder_atom_dac *dac_int; dac_int = radeon_encoder->enc_priv; dac_int->tv_std = val; @@ -445,10 +484,10 @@ ret = connector_status_connected; else { if (radeon_connector->ddc_bus) { - radeon_i2c_do_lock(radeon_connector, 1); + radeon_i2c_do_lock(radeon_connector->ddc_bus, 1); radeon_connector->edid = drm_get_edid(&radeon_connector->base, &radeon_connector->ddc_bus->adapter); - radeon_i2c_do_lock(radeon_connector, 0); + radeon_i2c_do_lock(radeon_connector->ddc_bus, 0); if (radeon_connector->edid) ret = connector_status_connected; } @@ -546,24 +585,26 @@ struct radeon_connector *radeon_connector = to_radeon_connector(connector); struct drm_encoder *encoder; struct drm_encoder_helper_funcs *encoder_funcs; - bool dret; + bool dret = false; enum drm_connector_status ret = connector_status_disconnected; encoder = radeon_best_single_encoder(connector); if (!encoder) ret = connector_status_disconnected; - radeon_i2c_do_lock(radeon_connector, 1); - dret = radeon_ddc_probe(radeon_connector); - radeon_i2c_do_lock(radeon_connector, 0); + if (radeon_connector->ddc_bus) { + radeon_i2c_do_lock(radeon_connector->ddc_bus, 1); + dret = radeon_ddc_probe(radeon_connector); + radeon_i2c_do_lock(radeon_connector->ddc_bus, 0); + } if (dret) { if (radeon_connector->edid) { kfree(radeon_connector->edid); radeon_connector->edid = NULL; } - radeon_i2c_do_lock(radeon_connector, 1); + radeon_i2c_do_lock(radeon_connector->ddc_bus, 1); radeon_connector->edid = drm_get_edid(&radeon_connector->base, &radeon_connector->ddc_bus->adapter); - radeon_i2c_do_lock(radeon_connector, 0); + radeon_i2c_do_lock(radeon_connector->ddc_bus, 0); if (!radeon_connector->edid) { DRM_ERROR("%s: probed a monitor but no|invalid EDID\n", @@ -583,7 +624,7 @@ ret = connector_status_connected; } } else { - if (radeon_connector->dac_load_detect) { + if (radeon_connector->dac_load_detect && encoder) { encoder_funcs = encoder->helper_private; ret = encoder_funcs->detect(encoder, connector); } @@ -706,19 +747,21 @@ struct drm_mode_object *obj; int i; enum drm_connector_status ret = connector_status_disconnected; - bool dret; + bool dret = false; - radeon_i2c_do_lock(radeon_connector, 1); - dret = radeon_ddc_probe(radeon_connector); - radeon_i2c_do_lock(radeon_connector, 0); + if (radeon_connector->ddc_bus) { + radeon_i2c_do_lock(radeon_connector->ddc_bus, 1); + dret = radeon_ddc_probe(radeon_connector); + radeon_i2c_do_lock(radeon_connector->ddc_bus, 0); + } if (dret) { if (radeon_connector->edid) { kfree(radeon_connector->edid); radeon_connector->edid = NULL; } - radeon_i2c_do_lock(radeon_connector, 1); + radeon_i2c_do_lock(radeon_connector->ddc_bus, 1); radeon_connector->edid = drm_get_edid(&radeon_connector->base, &radeon_connector->ddc_bus->adapter); - radeon_i2c_do_lock(radeon_connector, 0); + radeon_i2c_do_lock(radeon_connector->ddc_bus, 0); if (!radeon_connector->edid) { DRM_ERROR("%s: probed a monitor but no|invalid EDID\n", @@ -735,6 +778,36 @@ ret = connector_status_disconnected; } else ret = connector_status_connected; + + /* This gets complicated. We have boards with VGA + HDMI with a + * shared DDC line and we have boards with DVI-D + HDMI with a shared + * DDC line. The latter is more complex because with DVI<->HDMI adapters + * you don't really know what's connected to which port as both are digital. + */ + if (radeon_connector->shared_ddc && (ret == connector_status_connected)) { + struct drm_device *dev = connector->dev; + struct radeon_device *rdev = dev->dev_private; + struct drm_connector *list_connector; + struct radeon_connector *list_radeon_connector; + list_for_each_entry(list_connector, &dev->mode_config.connector_list, head) { + if (connector == list_connector) + continue; + list_radeon_connector = to_radeon_connector(list_connector); + if (list_radeon_connector->shared_ddc && + (list_radeon_connector->ddc_bus->rec.i2c_id == + radeon_connector->ddc_bus->rec.i2c_id)) { + /* cases where both connectors are digital */ + if (list_connector->connector_type != DRM_MODE_CONNECTOR_VGA) { + /* hpd is our only option in this case */ + if (!radeon_hpd_sense(rdev, radeon_connector->hpd.hpd)) { + kfree(radeon_connector->edid); + radeon_connector->edid = NULL; + ret = connector_status_disconnected; + } + } + } + } + } } } @@ -833,10 +906,18 @@ static int radeon_dvi_mode_valid(struct drm_connector *connector, struct drm_display_mode *mode) { + struct drm_device *dev = connector->dev; + struct radeon_device *rdev = dev->dev_private; struct radeon_connector *radeon_connector = to_radeon_connector(connector); /* XXX check mode bandwidth */ + /* clocks over 135 MHz have heat issues with DVI on RV100 */ + if (radeon_connector->use_digital && + (rdev->family == CHIP_RV100) && + (mode->clock > 135000)) + return MODE_CLOCK_HIGH; + if (radeon_connector->use_digital && (mode->clock > 165000)) { if ((radeon_connector->connector_object_id == CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I) || (radeon_connector->connector_object_id == CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D) || @@ -863,6 +944,93 @@ .force = radeon_dvi_force, }; +static void radeon_dp_connector_destroy(struct drm_connector *connector) +{ + struct radeon_connector *radeon_connector = to_radeon_connector(connector); + struct radeon_connector_atom_dig *radeon_dig_connector = radeon_connector->con_priv; + + if (radeon_connector->ddc_bus) + radeon_i2c_destroy(radeon_connector->ddc_bus); + if (radeon_connector->edid) + kfree(radeon_connector->edid); + if (radeon_dig_connector->dp_i2c_bus) + radeon_i2c_destroy(radeon_dig_connector->dp_i2c_bus); + kfree(radeon_connector->con_priv); + drm_sysfs_connector_remove(connector); + drm_connector_cleanup(connector); + kfree(connector); +} + +static int radeon_dp_get_modes(struct drm_connector *connector) +{ + struct radeon_connector *radeon_connector = to_radeon_connector(connector); + int ret; + + ret = radeon_ddc_get_modes(radeon_connector); + return ret; +} + +static enum drm_connector_status radeon_dp_detect(struct drm_connector *connector) +{ + struct radeon_connector *radeon_connector = to_radeon_connector(connector); + enum drm_connector_status ret = connector_status_disconnected; + struct radeon_connector_atom_dig *radeon_dig_connector = radeon_connector->con_priv; + u8 sink_type; + + if (radeon_connector->edid) { + kfree(radeon_connector->edid); + radeon_connector->edid = NULL; + } + + sink_type = radeon_dp_getsinktype(radeon_connector); + if ((sink_type == CONNECTOR_OBJECT_ID_DISPLAYPORT) || + (sink_type == CONNECTOR_OBJECT_ID_eDP)) { + if (radeon_dp_getdpcd(radeon_connector)) { + radeon_dig_connector->dp_sink_type = sink_type; + ret = connector_status_connected; + } + } else { + radeon_i2c_do_lock(radeon_connector->ddc_bus, 1); + if (radeon_ddc_probe(radeon_connector)) { + radeon_dig_connector->dp_sink_type = sink_type; + ret = connector_status_connected; + } + radeon_i2c_do_lock(radeon_connector->ddc_bus, 0); + } + + return ret; +} + +static int radeon_dp_mode_valid(struct drm_connector *connector, + struct drm_display_mode *mode) +{ + struct radeon_connector *radeon_connector = to_radeon_connector(connector); + struct radeon_connector_atom_dig *radeon_dig_connector = radeon_connector->con_priv; + + /* XXX check mode bandwidth */ + + if ((radeon_dig_connector->dp_sink_type == CONNECTOR_OBJECT_ID_DISPLAYPORT) || + (radeon_dig_connector->dp_sink_type == CONNECTOR_OBJECT_ID_eDP)) + return radeon_dp_mode_valid_helper(radeon_connector, mode); + else + return MODE_OK; +} + +struct drm_connector_helper_funcs radeon_dp_connector_helper_funcs = { + .get_modes = radeon_dp_get_modes, + .mode_valid = radeon_dp_mode_valid, + .best_encoder = radeon_dvi_encoder, +}; + +struct drm_connector_funcs radeon_dp_connector_funcs = { + .dpms = drm_helper_connector_dpms, + .detect = radeon_dp_detect, + .fill_modes = drm_helper_probe_single_connector_modes, + .set_property = radeon_connector_set_property, + .destroy = radeon_dp_connector_destroy, + .force = radeon_dvi_force, +}; + void radeon_add_atom_connector(struct drm_device *dev, uint32_t connector_id, @@ -871,7 +1039,8 @@ struct radeon_i2c_bus_rec *i2c_bus, bool linkb, uint32_t igp_lane_info, - uint16_t connector_object_id) + uint16_t connector_object_id, + struct radeon_hpd *hpd) { struct radeon_device *rdev = dev->dev_private; struct drm_connector *connector; @@ -893,8 +1062,7 @@ return; } if (radeon_connector->ddc_bus && i2c_bus->valid) { - if (memcmp(&radeon_connector->ddc_bus->rec, i2c_bus, - sizeof(struct radeon_i2c_bus_rec)) == 0) { + if (radeon_connector->ddc_bus->rec.i2c_id == i2c_bus->i2c_id) { radeon_connector->shared_ddc = true; shared_ddc = true; } @@ -911,6 +1079,7 @@ radeon_connector->devices = supported_device; radeon_connector->shared_ddc = shared_ddc; radeon_connector->connector_object_id = connector_object_id; + radeon_connector->hpd = *hpd; switch (connector_type) { case DRM_MODE_CONNECTOR_VGA: drm_connector_init(dev, &radeon_connector->base, &radeon_vga_connector_funcs, connector_type); @@ -926,6 +1095,8 @@ drm_connector_attach_property(&radeon_connector->base, rdev->mode_info.load_detect_property, 1); + connector->interlace_allowed = true; + connector->doublescan_allowed = true; break; case DRM_MODE_CONNECTOR_DVIA: drm_connector_init(dev, &radeon_connector->base, &radeon_vga_connector_funcs, connector_type); @@ -941,6 +1112,8 @@ drm_connector_attach_property(&radeon_connector->base, rdev->mode_info.load_detect_property, 1); + connector->interlace_allowed = true; + connector->doublescan_allowed = true; break; case DRM_MODE_CONNECTOR_DVII: case DRM_MODE_CONNECTOR_DVID: @@ -963,10 +1136,17 @@ drm_connector_attach_property(&radeon_connector->base, rdev->mode_info.coherent_mode_property, 1); - radeon_connector->dac_load_detect = true; - drm_connector_attach_property(&radeon_connector->base, - rdev->mode_info.load_detect_property, - 1); + if (connector_type == DRM_MODE_CONNECTOR_DVII) { + radeon_connector->dac_load_detect = true; + drm_connector_attach_property(&radeon_connector->base, + rdev->mode_info.load_detect_property, + 1); + } + connector->interlace_allowed = true; + if (connector_type == DRM_MODE_CONNECTOR_DVII) + connector->doublescan_allowed = true; + else + connector->doublescan_allowed = false; break; case DRM_MODE_CONNECTOR_HDMIA: case DRM_MODE_CONNECTOR_HDMIB: @@ -989,24 +1169,46 @@ rdev->mode_info.coherent_mode_property, 1); subpixel_order = SubPixelHorizontalRGB; + connector->interlace_allowed = true; + if (connector_type == DRM_MODE_CONNECTOR_HDMIB) + connector->doublescan_allowed = true; + else + connector->doublescan_allowed = false; break; case DRM_MODE_CONNECTOR_DisplayPort: + case DRM_MODE_CONNECTOR_eDP: radeon_dig_connector = kzalloc(sizeof(struct radeon_connector_atom_dig), GFP_KERNEL); if (!radeon_dig_connector) goto failed; radeon_dig_connector->linkb = linkb; radeon_dig_connector->igp_lane_info = igp_lane_info; radeon_connector->con_priv = radeon_dig_connector; - drm_connector_init(dev, &radeon_connector->base, &radeon_dvi_connector_funcs, connector_type); - ret = drm_connector_helper_add(&radeon_connector->base, &radeon_dvi_connector_helper_funcs); + drm_connector_init(dev, &radeon_connector->base, &radeon_dp_connector_funcs, connector_type); + ret = drm_connector_helper_add(&radeon_connector->base, &radeon_dp_connector_helper_funcs); if (ret) goto failed; if (i2c_bus->valid) { - radeon_connector->ddc_bus = radeon_i2c_create(dev, i2c_bus, "DP"); + /* add DP i2c bus */ + if (connector_type == DRM_MODE_CONNECTOR_eDP) + radeon_dig_connector->dp_i2c_bus = radeon_i2c_create_dp(dev, i2c_bus, "eDP-auxch"); + else + radeon_dig_connector->dp_i2c_bus = radeon_i2c_create_dp(dev, i2c_bus, "DP-auxch"); + if (!radeon_dig_connector->dp_i2c_bus) + goto failed; + if (connector_type == DRM_MODE_CONNECTOR_eDP) + radeon_connector->ddc_bus = radeon_i2c_create(dev, i2c_bus, "eDP"); + else + radeon_connector->ddc_bus = radeon_i2c_create(dev, i2c_bus, "DP"); if (!radeon_connector->ddc_bus) goto failed; } subpixel_order = SubPixelHorizontalRGB; + drm_connector_attach_property(&radeon_connector->base, + rdev->mode_info.coherent_mode_property, + 1); + connector->interlace_allowed = true; + /* in theory with a DP to VGA converter... */ + connector->doublescan_allowed = false; break; case DRM_MODE_CONNECTOR_SVIDEO: case DRM_MODE_CONNECTOR_Composite: @@ -1020,7 +1222,12 @@ drm_connector_attach_property(&radeon_connector->base, rdev->mode_info.load_detect_property, 1); + drm_connector_attach_property(&radeon_connector->base, + rdev->mode_info.tv_std_property, + radeon_atombios_get_tv_info(rdev)); } + connector->interlace_allowed = false; + connector->doublescan_allowed = false; break; case DRM_MODE_CONNECTOR_LVDS: radeon_dig_connector = kzalloc(sizeof(struct radeon_connector_atom_dig), GFP_KERNEL); @@ -1038,11 +1245,12 @@ if (!radeon_connector->ddc_bus) goto failed; } - drm_mode_create_scaling_mode_property(dev); drm_connector_attach_property(&radeon_connector->base, dev->mode_config.scaling_mode_property, DRM_MODE_SCALE_FULLSCREEN); subpixel_order = SubPixelHorizontalRGB; + connector->interlace_allowed = false; + connector->doublescan_allowed = false; break; } @@ -1063,7 +1271,8 @@ uint32_t supported_device, int connector_type, struct radeon_i2c_bus_rec *i2c_bus, - uint16_t connector_object_id) + uint16_t connector_object_id, + struct radeon_hpd *hpd) { struct radeon_device *rdev = dev->dev_private; struct drm_connector *connector; @@ -1093,6 +1302,7 @@ radeon_connector->connector_id = connector_id; radeon_connector->devices = supported_device; radeon_connector->connector_object_id = connector_object_id; + radeon_connector->hpd = *hpd; switch (connector_type) { case DRM_MODE_CONNECTOR_VGA: drm_connector_init(dev, &radeon_connector->base, &radeon_vga_connector_funcs, connector_type); @@ -1108,6 +1318,8 @@ drm_connector_attach_property(&radeon_connector->base, rdev->mode_info.load_detect_property, 1); + connector->interlace_allowed = true; + connector->doublescan_allowed = true; break; case DRM_MODE_CONNECTOR_DVIA: drm_connector_init(dev, &radeon_connector->base, &radeon_vga_connector_funcs, connector_type); @@ -1123,6 +1335,8 @@ drm_connector_attach_property(&radeon_connector->base, rdev->mode_info.load_detect_property, 1); + connector->interlace_allowed = true; + connector->doublescan_allowed = true; break; case DRM_MODE_CONNECTOR_DVII: case DRM_MODE_CONNECTOR_DVID: @@ -1140,6 +1354,11 @@ 1); } subpixel_order = SubPixelHorizontalRGB; + connector->interlace_allowed = true; + if (connector_type == DRM_MODE_CONNECTOR_DVII) + connector->doublescan_allowed = true; + else + connector->doublescan_allowed = false; break; case DRM_MODE_CONNECTOR_SVIDEO: case DRM_MODE_CONNECTOR_Composite: @@ -1159,8 +1378,13 @@ radeon_connector->dac_load_detect = false; drm_connector_attach_property(&radeon_connector->base, rdev->mode_info.load_detect_property, - 1); + radeon_connector->dac_load_detect); + drm_connector_attach_property(&radeon_connector->base, + rdev->mode_info.tv_std_property, + radeon_combios_get_tv_info(rdev)); } + connector->interlace_allowed = false; + connector->doublescan_allowed = false; break; case DRM_MODE_CONNECTOR_LVDS: drm_connector_init(dev, &radeon_connector->base, &radeon_lvds_connector_funcs, connector_type); @@ -1176,6 +1400,8 @@ dev->mode_config.scaling_mode_property, DRM_MODE_SCALE_FULLSCREEN); subpixel_order = SubPixelHorizontalRGB; + connector->interlace_allowed = false; + connector->doublescan_allowed = false; break; } --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_cp.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_cp.c @@ -417,8 +417,9 @@ return -EBUSY; } -static void radeon_init_pipes(drm_radeon_private_t *dev_priv) +static void radeon_init_pipes(struct drm_device *dev) { + drm_radeon_private_t *dev_priv = dev->dev_private; uint32_t gb_tile_config, gb_pipe_sel = 0; if ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV530) { @@ -436,11 +437,12 @@ dev_priv->num_gb_pipes = ((gb_pipe_sel >> 12) & 0x3) + 1; } else { /* R3xx */ - if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R300) || + if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R300 && + dev->pdev->device != 0x4144) || ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R350)) { dev_priv->num_gb_pipes = 2; } else { - /* R3Vxx */ + /* RV3xx/R300 AD */ dev_priv->num_gb_pipes = 1; } } @@ -736,7 +738,7 @@ /* setup the raster pipes */ if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R300) - radeon_init_pipes(dev_priv); + radeon_init_pipes(dev); /* Reset the CP ring */ radeon_do_cp_reset(dev_priv); @@ -1644,6 +1646,7 @@ radeon_cp_load_microcode(dev_priv); radeon_cp_init_ring_buffer(dev, dev_priv, file_priv); + dev_priv->have_z_offset = 0; radeon_do_engine_reset(dev); radeon_irq_set_state(dev, RADEON_SW_INT_ENABLE, 1); @@ -1941,8 +1944,8 @@ for (t = 0; t < dev_priv->usec_timeout; t++) { u32 done_age = GET_SCRATCH(dev_priv, 1); DRM_DEBUG("done_age = %d\n", done_age); - for (i = start; i < dma->buf_count; i++) { - buf = dma->buflist[i]; + for (i = 0; i < dma->buf_count; i++) { + buf = dma->buflist[start]; buf_priv = buf->dev_private; if (buf->file_priv == NULL || (buf->pending && buf_priv->age <= @@ -1951,7 +1954,8 @@ buf->pending = 0; return buf; } - start = 0; + if (++start >= dma->buf_count) + start = 0; } if (t) { @@ -1960,46 +1964,8 @@ } } - DRM_DEBUG("returning NULL!\n"); - return NULL; -} - -#if 0 -struct drm_buf *radeon_freelist_get(struct drm_device * dev) -{ - struct drm_device_dma *dma = dev->dma; - drm_radeon_private_t *dev_priv = dev->dev_private; - drm_radeon_buf_priv_t *buf_priv; - struct drm_buf *buf; - int i, t; - int start; - u32 done_age; - - done_age = radeon_read_ring_rptr(dev_priv, RADEON_SCRATCHOFF(1)); - if (++dev_priv->last_buf >= dma->buf_count) - dev_priv->last_buf = 0; - - start = dev_priv->last_buf; - dev_priv->stats.freelist_loops++; - - for (t = 0; t < 2; t++) { - for (i = start; i < dma->buf_count; i++) { - buf = dma->buflist[i]; - buf_priv = buf->dev_private; - if (buf->file_priv == 0 || (buf->pending && - buf_priv->age <= - done_age)) { - dev_priv->stats.requested_bufs++; - buf->pending = 0; - return buf; - } - } - start = 0; - } - return NULL; } -#endif void radeon_freelist_reset(struct drm_device * dev) { @@ -2182,6 +2148,7 @@ &master_priv->sarea); if (ret) { DRM_ERROR("SAREA setup failed\n"); + kfree(master_priv); return ret; } master_priv->sarea_priv = master_priv->sarea->handle + sizeof(struct drm_sarea); --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_cs.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_cs.c @@ -76,17 +76,17 @@ } p->relocs_ptr[i] = &p->relocs[i]; p->relocs[i].robj = p->relocs[i].gobj->driver_private; - p->relocs[i].lobj.robj = p->relocs[i].robj; + p->relocs[i].lobj.bo = p->relocs[i].robj; p->relocs[i].lobj.rdomain = r->read_domains; p->relocs[i].lobj.wdomain = r->write_domain; p->relocs[i].handle = r->handle; p->relocs[i].flags = r->flags; INIT_LIST_HEAD(&p->relocs[i].lobj.list); - radeon_object_list_add_object(&p->relocs[i].lobj, - &p->validated); + radeon_bo_list_add_object(&p->relocs[i].lobj, + &p->validated); } } - return radeon_object_list_validate(&p->validated, p->ib->fence); + return radeon_bo_list_validate(&p->validated); } int radeon_cs_parser_init(struct radeon_cs_parser *p, void *data) @@ -189,16 +189,17 @@ { unsigned i; - if (error) { - radeon_object_list_unvalidate(&parser->validated); - } else { - radeon_object_list_clean(&parser->validated); - } - for (i = 0; i < parser->nrelocs; i++) { - if (parser->relocs[i].gobj) { - mutex_lock(&parser->rdev->ddev->struct_mutex); - drm_gem_object_unreference(parser->relocs[i].gobj); - mutex_unlock(&parser->rdev->ddev->struct_mutex); + if (!error && parser->ib) { + radeon_bo_list_fence(&parser->validated, parser->ib->fence); + } + radeon_bo_list_unreserve(&parser->validated); + if (parser->relocs != NULL) { + for (i = 0; i < parser->nrelocs; i++) { + if (parser->relocs[i].gobj) { + mutex_lock(&parser->rdev->ddev->struct_mutex); + drm_gem_object_unreference(parser->relocs[i].gobj); + mutex_unlock(&parser->rdev->ddev->struct_mutex); + } } } kfree(parser->track); @@ -230,6 +231,7 @@ memset(&parser, 0, sizeof(struct radeon_cs_parser)); parser.filp = filp; parser.rdev = rdev; + parser.dev = rdev->dev; r = radeon_cs_parser_init(&parser, data); if (r) { DRM_ERROR("Failed to initialize parser !\n"); @@ -246,7 +248,8 @@ } r = radeon_cs_parser_relocs(&parser); if (r) { - DRM_ERROR("Failed to parse relocation !\n"); + if (r != -ERESTARTSYS) + DRM_ERROR("Failed to parse relocation %d!\n", r); radeon_cs_parser_fini(&parser, r); mutex_unlock(&rdev->cs_mutex); return r; --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_device.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_device.c @@ -44,10 +44,11 @@ if (rdev->family < CHIP_R600) { int i; - for (i = 0; i < 8; i++) { - WREG32(RADEON_SURFACE0_INFO + - i * (RADEON_SURFACE1_INFO - RADEON_SURFACE0_INFO), - 0); + for (i = 0; i < RADEON_GEM_MAX_SURFACES; i++) { + if (rdev->surface_regs[i].bo) + radeon_bo_get_surface_reg(rdev->surface_regs[i].bo); + else + radeon_clear_surface_reg(rdev, i); } /* enable surfaces */ WREG32(RADEON_SURFACE_CNTL, 0); @@ -208,6 +209,24 @@ } +bool radeon_boot_test_post_card(struct radeon_device *rdev) +{ + if (radeon_card_posted(rdev)) + return true; + + if (rdev->bios) { + DRM_INFO("GPU not posted. posting now...\n"); + if (rdev->is_atom_bios) + atom_asic_init(rdev->mode_info.atom_context); + else + radeon_combios_asic_init(rdev->ddev); + return true; + } else { + dev_err(rdev->dev, "Card not posted and no BIOS - ignoring\n"); + return false; + } +} + int radeon_dummy_page_init(struct radeon_device *rdev) { rdev->dummy_page.page = alloc_page(GFP_DMA32 | GFP_KERNEL | __GFP_ZERO); @@ -372,6 +391,12 @@ /* FIXME: not supported yet */ return -EINVAL; } + + if (rdev->flags & RADEON_IS_IGP) { + rdev->asic->get_memory_clock = NULL; + rdev->asic->set_memory_clock = NULL; + } + return 0; } @@ -462,13 +487,18 @@ atom_card_info->pll_write = cail_pll_write; rdev->mode_info.atom_context = atom_parse(atom_card_info, rdev->bios); + mutex_init(&rdev->mode_info.atom_context->mutex); radeon_atom_initialize_bios_scratch_regs(rdev->ddev); + atom_allocate_fb_scratch(rdev->mode_info.atom_context); return 0; } void radeon_atombios_fini(struct radeon_device *rdev) { - kfree(rdev->mode_info.atom_context); + if (rdev->mode_info.atom_context) { + kfree(rdev->mode_info.atom_context->scratch); + kfree(rdev->mode_info.atom_context); + } kfree(rdev->mode_info.atom_card_info); } @@ -514,11 +544,75 @@ rdev->asic->gart_tlb_flush = &r100_pci_gart_tlb_flush; rdev->asic->gart_set_page = &r100_pci_gart_set_page; } + rdev->mc.gtt_size = radeon_gart_size * 1024 * 1024; +} + +void radeon_check_arguments(struct radeon_device *rdev) +{ + /* vramlimit must be a power of two */ + switch (radeon_vram_limit) { + case 0: + case 4: + case 8: + case 16: + case 32: + case 64: + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + break; + default: + dev_warn(rdev->dev, "vram limit (%d) must be a power of 2\n", + radeon_vram_limit); + radeon_vram_limit = 0; + break; + } + radeon_vram_limit = radeon_vram_limit << 20; + /* gtt size must be power of two and greater or equal to 32M */ + switch (radeon_gart_size) { + case 4: + case 8: + case 16: + dev_warn(rdev->dev, "gart size (%d) too small forcing to 512M\n", + radeon_gart_size); + radeon_gart_size = 512; + break; + case 32: + case 64: + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + break; + default: + dev_warn(rdev->dev, "gart size (%d) must be a power of 2\n", + radeon_gart_size); + radeon_gart_size = 512; + break; + } + rdev->mc.gtt_size = radeon_gart_size * 1024 * 1024; + /* AGP mode can only be -1, 1, 2, 4, 8 */ + switch (radeon_agpmode) { + case -1: + case 0: + case 1: + case 2: + case 4: + case 8: + break; + default: + dev_warn(rdev->dev, "invalid AGP mode %d (valid mode: " + "-1, 0, 1, 2, 4, 8)\n", radeon_agpmode); + radeon_agpmode = 0; + break; + } } -/* - * Radeon device. - */ int radeon_device_init(struct radeon_device *rdev, struct drm_device *ddev, struct pci_dev *pdev, @@ -544,16 +638,32 @@ mutex_init(&rdev->cs_mutex); mutex_init(&rdev->ib_pool.mutex); mutex_init(&rdev->cp.mutex); + if (rdev->family >= CHIP_R600) + spin_lock_init(&rdev->ih.lock); + mutex_init(&rdev->gem.mutex); rwlock_init(&rdev->fence_drv.lock); INIT_LIST_HEAD(&rdev->gem.objects); + /* setup workqueue */ + rdev->wq = create_workqueue("radeon"); + if (rdev->wq == NULL) + return -ENOMEM; + /* Set asic functions */ r = radeon_asic_init(rdev); - if (r) { + if (r) return r; + radeon_check_arguments(rdev); + + /* all of the newer IGP chips have an internal gart + * However some rs4xx report as AGP, so remove that here. + */ + if ((rdev->family >= CHIP_RS400) && + (rdev->flags & RADEON_IS_IGP)) { + rdev->flags &= ~RADEON_IS_AGP; } - if (radeon_agpmode == -1) { + if (rdev->flags & RADEON_IS_AGP && radeon_agpmode == -1) { radeon_agp_disable(rdev); } @@ -572,6 +682,7 @@ dma_bits = rdev->need_dma32 ? 32 : 40; r = pci_set_dma_mask(rdev->pdev, DMA_BIT_MASK(dma_bits)); if (r) { + rdev->need_dma32 = true; printk(KERN_WARNING "radeon: No suitable DMA available.\n"); } @@ -620,6 +731,7 @@ DRM_INFO("radeon: finishing device.\n"); rdev->shutdown = true; radeon_fini(rdev); + destroy_workqueue(rdev->wq); vga_client_register(rdev->pdev, NULL, NULL, NULL); iounmap(rdev->rmmio); rdev->rmmio = NULL; @@ -631,38 +743,48 @@ */ int radeon_suspend_kms(struct drm_device *dev, pm_message_t state) { - struct radeon_device *rdev = dev->dev_private; + struct radeon_device *rdev; struct drm_crtc *crtc; + int r; - if (dev == NULL || rdev == NULL) { + if (dev == NULL || dev->dev_private == NULL) { return -ENODEV; } if (state.event == PM_EVENT_PRETHAW) { return 0; } + rdev = dev->dev_private; + /* unpin the front buffers */ list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { struct radeon_framebuffer *rfb = to_radeon_framebuffer(crtc->fb); - struct radeon_object *robj; + struct radeon_bo *robj; if (rfb == NULL || rfb->obj == NULL) { continue; } robj = rfb->obj->driver_private; - if (robj != rdev->fbdev_robj) { - radeon_object_unpin(robj); + if (robj != rdev->fbdev_rbo) { + r = radeon_bo_reserve(robj, false); + if (unlikely(r == 0)) { + radeon_bo_unpin(robj); + radeon_bo_unreserve(robj); + } } } /* evict vram memory */ - radeon_object_evict_vram(rdev); + radeon_bo_evict_vram(rdev); /* wait for gpu to finish processing current batch */ radeon_fence_wait_last(rdev); radeon_save_bios_scratch_regs(rdev); radeon_suspend(rdev); + radeon_hpd_fini(rdev); /* evict remaining vram memory */ - radeon_object_evict_vram(rdev); + radeon_bo_evict_vram(rdev); + + radeon_agp_suspend(rdev); pci_save_state(dev->pdev); if (state.event == PM_EVENT_SUSPEND) { @@ -695,6 +817,8 @@ fb_set_suspend(rdev->fbdev_info, 0); release_console_sem(); + /* reset hpd state */ + radeon_hpd_init(rdev); /* blat the mode back in */ drm_helper_resume_force_mode(dev); return 0; --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_display.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_display.c @@ -234,7 +234,7 @@ "INTERNAL_UNIPHY2", }; -static const char *connector_names[13] = { +static const char *connector_names[15] = { "Unknown", "VGA", "DVI-I", @@ -248,6 +248,18 @@ "DisplayPort", "HDMI-A", "HDMI-B", + "TV", + "eDP", +}; + +static const char *hpd_names[7] = { + "NONE", + "HPD1", + "HPD2", + "HPD3", + "HPD4", + "HPD5", + "HPD6", }; static void radeon_print_display_setup(struct drm_device *dev) @@ -264,16 +276,27 @@ radeon_connector = to_radeon_connector(connector); DRM_INFO("Connector %d:\n", i); DRM_INFO(" %s\n", connector_names[connector->connector_type]); - if (radeon_connector->ddc_bus) + if (radeon_connector->hpd.hpd != RADEON_HPD_NONE) + DRM_INFO(" %s\n", hpd_names[radeon_connector->hpd.hpd]); + if (radeon_connector->ddc_bus) { DRM_INFO(" DDC: 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x\n", radeon_connector->ddc_bus->rec.mask_clk_reg, radeon_connector->ddc_bus->rec.mask_data_reg, radeon_connector->ddc_bus->rec.a_clk_reg, radeon_connector->ddc_bus->rec.a_data_reg, - radeon_connector->ddc_bus->rec.put_clk_reg, - radeon_connector->ddc_bus->rec.put_data_reg, - radeon_connector->ddc_bus->rec.get_clk_reg, - radeon_connector->ddc_bus->rec.get_data_reg); + radeon_connector->ddc_bus->rec.en_clk_reg, + radeon_connector->ddc_bus->rec.en_data_reg, + radeon_connector->ddc_bus->rec.y_clk_reg, + radeon_connector->ddc_bus->rec.y_data_reg); + } else { + if (connector->connector_type == DRM_MODE_CONNECTOR_VGA || + connector->connector_type == DRM_MODE_CONNECTOR_DVII || + connector->connector_type == DRM_MODE_CONNECTOR_DVID || + connector->connector_type == DRM_MODE_CONNECTOR_DVIA || + connector->connector_type == DRM_MODE_CONNECTOR_HDMIA || + connector->connector_type == DRM_MODE_CONNECTOR_HDMIB) + DRM_INFO(" DDC: no ddc bus - possible BIOS bug - please report to xorg-driver-ati@lists.x.org\n"); + } DRM_INFO(" Encoders:\n"); list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { radeon_encoder = to_radeon_encoder(encoder); @@ -317,13 +340,17 @@ ret = radeon_get_atom_connector_info_from_object_table(dev); else ret = radeon_get_atom_connector_info_from_supported_devices_table(dev); - } else + } else { ret = radeon_get_legacy_connector_info_from_bios(dev); + if (ret == false) + ret = radeon_get_legacy_connector_info_from_table(dev); + } } else { if (!ASIC_IS_AVIVO(rdev)) ret = radeon_get_legacy_connector_info_from_table(dev); } if (ret) { + radeon_setup_encoder_clones(dev); radeon_print_display_setup(dev); list_for_each_entry(drm_connector, &dev->mode_config.connector_list, head) radeon_ddc_dump(drm_connector); @@ -336,12 +363,19 @@ { int ret = 0; + 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 || + dig->dp_sink_type == CONNECTOR_OBJECT_ID_eDP) && dig->dp_i2c_bus) + radeon_connector->edid = drm_get_edid(&radeon_connector->base, &dig->dp_i2c_bus->adapter); + } if (!radeon_connector->ddc_bus) return -1; if (!radeon_connector->edid) { - radeon_i2c_do_lock(radeon_connector, 1); + radeon_i2c_do_lock(radeon_connector->ddc_bus, 1); radeon_connector->edid = drm_get_edid(&radeon_connector->base, &radeon_connector->ddc_bus->adapter); - radeon_i2c_do_lock(radeon_connector, 0); + radeon_i2c_do_lock(radeon_connector->ddc_bus, 0); } if (radeon_connector->edid) { @@ -361,9 +395,9 @@ if (!radeon_connector->ddc_bus) return -1; - radeon_i2c_do_lock(radeon_connector, 1); + radeon_i2c_do_lock(radeon_connector->ddc_bus, 1); edid = drm_get_edid(connector, &radeon_connector->ddc_bus->adapter); - radeon_i2c_do_lock(radeon_connector, 0); + radeon_i2c_do_lock(radeon_connector->ddc_bus, 0); if (edid) { kfree(edid); } @@ -380,17 +414,18 @@ return n; } -void radeon_compute_pll(struct radeon_pll *pll, - uint64_t freq, - uint32_t *dot_clock_p, - uint32_t *fb_div_p, - uint32_t *frac_fb_div_p, - uint32_t *ref_div_p, - uint32_t *post_div_p, - int flags) +static void radeon_compute_pll_legacy(struct radeon_pll *pll, + uint64_t freq, + uint32_t *dot_clock_p, + uint32_t *fb_div_p, + uint32_t *frac_fb_div_p, + uint32_t *ref_div_p, + uint32_t *post_div_p) { uint32_t min_ref_div = pll->min_ref_div; uint32_t max_ref_div = pll->max_ref_div; + uint32_t min_post_div = pll->min_post_div; + uint32_t max_post_div = pll->max_post_div; uint32_t min_fractional_feed_div = 0; uint32_t max_fractional_feed_div = 0; uint32_t best_vco = pll->best_vco; @@ -406,7 +441,7 @@ DRM_DEBUG("PLL freq %llu %u %u\n", freq, pll->min_ref_div, pll->max_ref_div); freq = freq * 1000; - if (flags & RADEON_PLL_USE_REF_DIV) + if (pll->flags & RADEON_PLL_USE_REF_DIV) min_ref_div = max_ref_div = pll->reference_div; else { while (min_ref_div < max_ref_div-1) { @@ -421,19 +456,22 @@ } } - if (flags & RADEON_PLL_USE_FRAC_FB_DIV) { + if (pll->flags & RADEON_PLL_USE_POST_DIV) + min_post_div = max_post_div = pll->post_div; + + if (pll->flags & RADEON_PLL_USE_FRAC_FB_DIV) { min_fractional_feed_div = pll->min_frac_feedback_div; max_fractional_feed_div = pll->max_frac_feedback_div; } - for (post_div = pll->min_post_div; post_div <= pll->max_post_div; ++post_div) { + for (post_div = max_post_div; post_div >= min_post_div; --post_div) { uint32_t ref_div; - if ((flags & RADEON_PLL_NO_ODD_POST_DIV) && (post_div & 1)) + if ((pll->flags & RADEON_PLL_NO_ODD_POST_DIV) && (post_div & 1)) continue; /* legacy radeons only have a few post_divs */ - if (flags & RADEON_PLL_LEGACY) { + if (pll->flags & RADEON_PLL_LEGACY) { if ((post_div == 5) || (post_div == 7) || (post_div == 9) || @@ -480,16 +518,18 @@ tmp += (uint64_t)pll->reference_freq * 1000 * frac_feedback_div; current_freq = radeon_div(tmp, ref_div * post_div); - if (flags & RADEON_PLL_PREFER_CLOSEST_LOWER) { - error = freq - current_freq; - error = error < 0 ? 0xffffffff : error; + if (pll->flags & RADEON_PLL_PREFER_CLOSEST_LOWER) { + if (freq < current_freq) + error = 0xffffffff; + else + error = freq - current_freq; } else error = abs(current_freq - freq); vco_diff = abs(vco - best_vco); if ((best_vco == 0 && error < best_error) || (best_vco != 0 && - (error < best_error - 100 || + ((best_error > 100 && error < best_error - 100) || (abs(error - best_error) < 100 && vco_diff < best_vco_diff)))) { best_post_div = post_div; best_ref_div = ref_div; @@ -507,12 +547,12 @@ best_freq = current_freq; best_error = error; best_vco_diff = vco_diff; - } else if (((flags & RADEON_PLL_PREFER_LOW_REF_DIV) && (ref_div < best_ref_div)) || - ((flags & RADEON_PLL_PREFER_HIGH_REF_DIV) && (ref_div > best_ref_div)) || - ((flags & RADEON_PLL_PREFER_LOW_FB_DIV) && (feedback_div < best_feedback_div)) || - ((flags & RADEON_PLL_PREFER_HIGH_FB_DIV) && (feedback_div > best_feedback_div)) || - ((flags & RADEON_PLL_PREFER_LOW_POST_DIV) && (post_div < best_post_div)) || - ((flags & RADEON_PLL_PREFER_HIGH_POST_DIV) && (post_div > best_post_div))) { + } else if (((pll->flags & RADEON_PLL_PREFER_LOW_REF_DIV) && (ref_div < best_ref_div)) || + ((pll->flags & RADEON_PLL_PREFER_HIGH_REF_DIV) && (ref_div > best_ref_div)) || + ((pll->flags & RADEON_PLL_PREFER_LOW_FB_DIV) && (feedback_div < best_feedback_div)) || + ((pll->flags & RADEON_PLL_PREFER_HIGH_FB_DIV) && (feedback_div > best_feedback_div)) || + ((pll->flags & RADEON_PLL_PREFER_LOW_POST_DIV) && (post_div < best_post_div)) || + ((pll->flags & RADEON_PLL_PREFER_HIGH_POST_DIV) && (post_div > best_post_div))) { best_post_div = post_div; best_ref_div = ref_div; best_feedback_div = feedback_div; @@ -540,6 +580,200 @@ *frac_fb_div_p = best_frac_feedback_div; *ref_div_p = best_ref_div; *post_div_p = best_post_div; + DRM_DEBUG_KMS("%d %d, pll dividers - fb: %d.%d ref: %d, post %d\n", + freq, best_freq / 1000, best_feedback_div, best_frac_feedback_div, + best_ref_div, best_post_div); + +} + +static bool +calc_fb_div(struct radeon_pll *pll, + uint32_t freq, + uint32_t post_div, + uint32_t ref_div, + uint32_t *fb_div, + uint32_t *fb_div_frac) +{ + fixed20_12 feedback_divider, a, b; + u32 vco_freq; + + vco_freq = freq * post_div; + /* feedback_divider = vco_freq * ref_div / pll->reference_freq; */ + a.full = rfixed_const(pll->reference_freq); + feedback_divider.full = rfixed_const(vco_freq); + feedback_divider.full = rfixed_div(feedback_divider, a); + a.full = rfixed_const(ref_div); + feedback_divider.full = rfixed_mul(feedback_divider, a); + + if (pll->flags & RADEON_PLL_USE_FRAC_FB_DIV) { + /* feedback_divider = floor((feedback_divider * 10.0) + 0.5) * 0.1; */ + a.full = rfixed_const(10); + feedback_divider.full = rfixed_mul(feedback_divider, a); + feedback_divider.full += rfixed_const_half(0); + feedback_divider.full = rfixed_floor(feedback_divider); + feedback_divider.full = rfixed_div(feedback_divider, a); + + /* *fb_div = floor(feedback_divider); */ + a.full = rfixed_floor(feedback_divider); + *fb_div = rfixed_trunc(a); + /* *fb_div_frac = fmod(feedback_divider, 1.0) * 10.0; */ + a.full = rfixed_const(10); + b.full = rfixed_mul(feedback_divider, a); + + feedback_divider.full = rfixed_floor(feedback_divider); + feedback_divider.full = rfixed_mul(feedback_divider, a); + feedback_divider.full = b.full - feedback_divider.full; + *fb_div_frac = rfixed_trunc(feedback_divider); + } else { + /* *fb_div = floor(feedback_divider + 0.5); */ + feedback_divider.full += rfixed_const_half(0); + feedback_divider.full = rfixed_floor(feedback_divider); + + *fb_div = rfixed_trunc(feedback_divider); + *fb_div_frac = 0; + } + + if (((*fb_div) < pll->min_feedback_div) || ((*fb_div) > pll->max_feedback_div)) + return false; + else + return true; +} + +static bool +calc_fb_ref_div(struct radeon_pll *pll, + uint32_t freq, + uint32_t post_div, + uint32_t *fb_div, + uint32_t *fb_div_frac, + uint32_t *ref_div) +{ + fixed20_12 ffreq, max_error, error, pll_out, a; + u32 vco; + + ffreq.full = rfixed_const(freq); + /* max_error = ffreq * 0.0025; */ + a.full = rfixed_const(400); + max_error.full = rfixed_div(ffreq, a); + + for ((*ref_div) = pll->min_ref_div; (*ref_div) < pll->max_ref_div; ++(*ref_div)) { + if (calc_fb_div(pll, freq, post_div, (*ref_div), fb_div, fb_div_frac)) { + vco = pll->reference_freq * (((*fb_div) * 10) + (*fb_div_frac)); + vco = vco / ((*ref_div) * 10); + + if ((vco < pll->pll_out_min) || (vco > pll->pll_out_max)) + continue; + + /* pll_out = vco / post_div; */ + a.full = rfixed_const(post_div); + pll_out.full = rfixed_const(vco); + pll_out.full = rfixed_div(pll_out, a); + + if (pll_out.full >= ffreq.full) { + error.full = pll_out.full - ffreq.full; + if (error.full <= max_error.full) + return true; + } + } + } + return false; +} + +static void radeon_compute_pll_new(struct radeon_pll *pll, + uint64_t freq, + uint32_t *dot_clock_p, + uint32_t *fb_div_p, + uint32_t *frac_fb_div_p, + uint32_t *ref_div_p, + uint32_t *post_div_p) +{ + u32 fb_div = 0, fb_div_frac = 0, post_div = 0, ref_div = 0; + u32 best_freq = 0, vco_frequency; + + /* freq = freq / 10; */ + do_div(freq, 10); + + if (pll->flags & RADEON_PLL_USE_POST_DIV) { + post_div = pll->post_div; + if ((post_div < pll->min_post_div) || (post_div > pll->max_post_div)) + goto done; + + vco_frequency = freq * post_div; + if ((vco_frequency < pll->pll_out_min) || (vco_frequency > pll->pll_out_max)) + goto done; + + if (pll->flags & RADEON_PLL_USE_REF_DIV) { + ref_div = pll->reference_div; + if ((ref_div < pll->min_ref_div) || (ref_div > pll->max_ref_div)) + goto done; + if (!calc_fb_div(pll, freq, post_div, ref_div, &fb_div, &fb_div_frac)) + goto done; + } + } else { + for (post_div = pll->max_post_div; post_div >= pll->min_post_div; --post_div) { + if (pll->flags & RADEON_PLL_LEGACY) { + if ((post_div == 5) || + (post_div == 7) || + (post_div == 9) || + (post_div == 10) || + (post_div == 11)) + continue; + } + + if ((pll->flags & RADEON_PLL_NO_ODD_POST_DIV) && (post_div & 1)) + continue; + + vco_frequency = freq * post_div; + if ((vco_frequency < pll->pll_out_min) || (vco_frequency > pll->pll_out_max)) + continue; + if (pll->flags & RADEON_PLL_USE_REF_DIV) { + ref_div = pll->reference_div; + if ((ref_div < pll->min_ref_div) || (ref_div > pll->max_ref_div)) + goto done; + if (calc_fb_div(pll, freq, post_div, ref_div, &fb_div, &fb_div_frac)) + break; + } else { + if (calc_fb_ref_div(pll, freq, post_div, &fb_div, &fb_div_frac, &ref_div)) + break; + } + } + } + + best_freq = pll->reference_freq * 10 * fb_div; + best_freq += pll->reference_freq * fb_div_frac; + best_freq = best_freq / (ref_div * post_div); + +done: + if (best_freq == 0) + DRM_ERROR("Couldn't find valid PLL dividers\n"); + + *dot_clock_p = best_freq / 10; + *fb_div_p = fb_div; + *frac_fb_div_p = fb_div_frac; + *ref_div_p = ref_div; + *post_div_p = post_div; + + DRM_DEBUG("%u %d.%d, %d, %d\n", *dot_clock_p, *fb_div_p, *frac_fb_div_p, *ref_div_p, *post_div_p); +} + +void radeon_compute_pll(struct radeon_pll *pll, + uint64_t freq, + uint32_t *dot_clock_p, + uint32_t *fb_div_p, + uint32_t *frac_fb_div_p, + uint32_t *ref_div_p, + uint32_t *post_div_p) +{ + switch (pll->algo) { + case PLL_ALGO_NEW: + radeon_compute_pll_new(pll, freq, dot_clock_p, fb_div_p, + frac_fb_div_p, ref_div_p, post_div_p); + break; + case PLL_ALGO_LEGACY: + default: + radeon_compute_pll_legacy(pll, freq, dot_clock_p, fb_div_p, + frac_fb_div_p, ref_div_p, post_div_p); + break; + } } static void radeon_user_framebuffer_destroy(struct drm_framebuffer *fb) @@ -551,7 +785,6 @@ radeonfb_remove(dev, fb); if (radeon_fb->obj) { - radeon_gem_object_unpin(radeon_fb->obj); mutex_lock(&dev->struct_mutex); drm_gem_object_unreference(radeon_fb->obj); mutex_unlock(&dev->struct_mutex); @@ -599,7 +832,11 @@ struct drm_gem_object *obj; obj = drm_gem_object_lookup(dev, file_priv, mode_cmd->handle); - + if (obj == NULL) { + dev_err(&dev->pdev->dev, "No GEM object associated to handle 0x%08X, " + "can't create framebuffer\n", mode_cmd->handle); + return NULL; + } return radeon_framebuffer_create(dev, mode_cmd, obj); } @@ -629,7 +866,7 @@ { TV_STD_SECAM, "secam" }, }; -int radeon_modeset_create_props(struct radeon_device *rdev) +static int radeon_modeset_create_props(struct radeon_device *rdev) { int i, sz; @@ -642,7 +879,7 @@ return -ENOMEM; rdev->mode_info.coherent_mode_property->values[0] = 0; - rdev->mode_info.coherent_mode_property->values[0] = 1; + rdev->mode_info.coherent_mode_property->values[1] = 1; } if (!ASIC_IS_AVIVO(rdev)) { @@ -666,7 +903,7 @@ if (!rdev->mode_info.load_detect_property) return -ENOMEM; rdev->mode_info.load_detect_property->values[0] = 0; - rdev->mode_info.load_detect_property->values[0] = 1; + rdev->mode_info.load_detect_property->values[1] = 1; drm_mode_create_scaling_mode_property(rdev->ddev); @@ -723,6 +960,8 @@ if (!ret) { return ret; } + /* initialize hpd */ + radeon_hpd_init(rdev); drm_helper_initial_config(rdev->ddev); return 0; } @@ -730,6 +969,7 @@ void radeon_modeset_fini(struct radeon_device *rdev) { if (rdev->mode_info.mode_config_initialized) { + radeon_hpd_fini(rdev); drm_mode_config_cleanup(rdev->ddev); rdev->mode_info.mode_config_initialized = false; } @@ -750,9 +990,17 @@ if (encoder->crtc != crtc) continue; if (first) { - radeon_crtc->rmx_type = radeon_encoder->rmx_type; + /* set scaling */ + if (radeon_encoder->rmx_type == RMX_OFF) + radeon_crtc->rmx_type = RMX_OFF; + else if (mode->hdisplay < radeon_encoder->native_mode.hdisplay || + mode->vdisplay < radeon_encoder->native_mode.vdisplay) + radeon_crtc->rmx_type = radeon_encoder->rmx_type; + else + radeon_crtc->rmx_type = RMX_OFF; + /* copy native mode */ memcpy(&radeon_crtc->native_mode, - &radeon_encoder->native_mode, + &radeon_encoder->native_mode, sizeof(struct drm_display_mode)); first = false; } else { --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_drv.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_drv.c @@ -86,6 +86,8 @@ int radeon_testing = 0; int radeon_connector_table = 0; int radeon_tv = 1; +int radeon_new_pll = -1; +int radeon_audio = 1; MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers"); module_param_named(no_wb, radeon_no_wb, int, 0444); @@ -120,6 +122,12 @@ MODULE_PARM_DESC(tv, "TV enable (0 = disable)"); module_param_named(tv, radeon_tv, int, 0444); +MODULE_PARM_DESC(new_pll, "Select new PLL code"); +module_param_named(new_pll, radeon_new_pll, int, 0444); + +MODULE_PARM_DESC(audio, "Audio enable (0 = disable)"); +module_param_named(audio, radeon_audio, int, 0444); + static int radeon_suspend(struct drm_device *dev, pm_message_t state) { drm_radeon_private_t *dev_priv = dev->dev_private; @@ -188,7 +196,7 @@ .owner = THIS_MODULE, .open = drm_open, .release = drm_release, - .ioctl = drm_ioctl, + .unlocked_ioctl = drm_ioctl, .mmap = drm_mmap, .poll = drm_poll, .fasync = drm_fasync, @@ -276,7 +284,7 @@ .owner = THIS_MODULE, .open = drm_open, .release = drm_release, - .ioctl = drm_ioctl, + .unlocked_ioctl = drm_ioctl, .mmap = radeon_mmap, .poll = drm_poll, .fasync = drm_fasync, @@ -316,6 +324,18 @@ radeon_modeset = 0; } #endif + /* Check for known bad devices by default. */ + if (radeon_modeset == -1) { + static struct pci_device_id radeon_badmodeset[] = { + { PCI_DEVICE(0x1002, 0x515e) }, + { PCI_DEVICE(0x1002, 0x515f) }, + { }, + }; + if (pci_dev_present(radeon_badmodeset)) { + DRM_INFO("radeon disabling kernel modesetting for known bad device.\n"); + radeon_modeset = 0; + } + } /* if enabled by default */ if (radeon_modeset == -1) { #ifdef CONFIG_DRM_RADEON_KMS --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_drv.h +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_drv.h @@ -106,9 +106,10 @@ * 1.29- R500 3D cmd buffer support * 1.30- Add support for occlusion queries * 1.31- Add support for num Z pipes from GET_PARAM + * 1.32- fixes for rv740 setup */ #define DRIVER_MAJOR 1 -#define DRIVER_MINOR 31 +#define DRIVER_MINOR 32 #define DRIVER_PATCHLEVEL 0 enum radeon_cp_microcode_version { @@ -267,6 +268,8 @@ u32 scratch_ages[5]; + int have_z_offset; + /* starting from here on, data is preserved accross an open */ uint32_t flags; /* see radeon_chip_flags */ resource_size_t fb_aper_offset; @@ -1104,7 +1107,6 @@ # define R600_IT_WAIT_REG_MEM 0x00003C00 # define R600_IT_MEM_WRITE 0x00003D00 # define R600_IT_INDIRECT_BUFFER 0x00003200 -# define R600_IT_CP_INTERRUPT 0x00004000 # define R600_IT_SURFACE_SYNC 0x00004300 # define R600_CB0_DEST_BASE_ENA (1 << 6) # define R600_TC_ACTION_ENA (1 << 23) --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_encoders.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_encoders.c @@ -35,6 +35,51 @@ bool radeon_atom_get_tv_timings(struct radeon_device *rdev, int index, struct drm_display_mode *mode); +static uint32_t radeon_encoder_clones(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_encoder *clone_encoder; + uint32_t index_mask = 0; + int count; + + /* DIG routing gets problematic */ + if (rdev->family >= CHIP_R600) + return index_mask; + /* LVDS/TV are too wacky */ + if (radeon_encoder->devices & ATOM_DEVICE_LCD_SUPPORT) + return index_mask; + /* DVO requires 2x ppll clocks depending on tmds chip */ + if (radeon_encoder->devices & ATOM_DEVICE_DFP2_SUPPORT) + return index_mask; + + count = -1; + list_for_each_entry(clone_encoder, &dev->mode_config.encoder_list, head) { + struct radeon_encoder *radeon_clone = to_radeon_encoder(clone_encoder); + count++; + + if (clone_encoder == encoder) + continue; + if (radeon_clone->devices & (ATOM_DEVICE_LCD_SUPPORT)) + continue; + if (radeon_clone->devices & ATOM_DEVICE_DFP2_SUPPORT) + continue; + else + index_mask |= (1 << count); + } + return index_mask; +} + +void radeon_setup_encoder_clones(struct drm_device *dev) +{ + struct drm_encoder *encoder; + + list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { + encoder->possible_clones = radeon_encoder_clones(encoder); + } +} + uint32_t radeon_get_encoder_id(struct drm_device *dev, uint32_t supported_device, uint8_t dac) { @@ -111,6 +156,26 @@ return ret; } +static inline bool radeon_encoder_is_digital(struct drm_encoder *encoder) +{ + struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); + switch (radeon_encoder->encoder_id) { + case ENCODER_OBJECT_ID_INTERNAL_LVDS: + case ENCODER_OBJECT_ID_INTERNAL_TMDS1: + case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1: + case ENCODER_OBJECT_ID_INTERNAL_LVTM1: + case ENCODER_OBJECT_ID_INTERNAL_DVO1: + case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1: + case ENCODER_OBJECT_ID_INTERNAL_DDI: + 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: + return true; + default: + return false; + } +} void radeon_link_encoder_connector(struct drm_device *dev) { @@ -157,35 +222,12 @@ list_for_each_entry(connector, &dev->mode_config.connector_list, head) { radeon_connector = to_radeon_connector(connector); - if (radeon_encoder->devices & radeon_connector->devices) + if (radeon_encoder->active_device & radeon_connector->devices) return connector; } return NULL; } -/* used for both atom and legacy */ -void radeon_rmx_mode_fixup(struct drm_encoder *encoder, - struct drm_display_mode *mode, - struct drm_display_mode *adjusted_mode) -{ - struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); - struct drm_device *dev = encoder->dev; - struct radeon_device *rdev = dev->dev_private; - struct drm_display_mode *native_mode = &radeon_encoder->native_mode; - - if (mode->hdisplay < native_mode->hdisplay || - mode->vdisplay < native_mode->vdisplay) { - int mode_id = adjusted_mode->base.id; - *adjusted_mode = *native_mode; - if (!ASIC_IS_AVIVO(rdev)) { - adjusted_mode->hdisplay = mode->hdisplay; - adjusted_mode->vdisplay = mode->vdisplay; - } - adjusted_mode->base.id = mode_id; - } -} - - static bool radeon_atom_mode_fixup(struct drm_encoder *encoder, struct drm_display_mode *mode, struct drm_display_mode *adjusted_mode) @@ -198,14 +240,26 @@ radeon_encoder_set_active_device(encoder); drm_mode_set_crtcinfo(adjusted_mode, 0); - if (radeon_encoder->rmx_type != RMX_OFF) - radeon_rmx_mode_fixup(encoder, mode, adjusted_mode); - /* hw bug */ if ((mode->flags & DRM_MODE_FLAG_INTERLACE) && (mode->crtc_vsync_start < (mode->crtc_vdisplay + 2))) adjusted_mode->crtc_vsync_start = adjusted_mode->crtc_vdisplay + 2; + /* get the native mode for LVDS */ + if (radeon_encoder->active_device & (ATOM_DEVICE_LCD_SUPPORT)) { + struct drm_display_mode *native_mode = &radeon_encoder->native_mode; + int mode_id = adjusted_mode->base.id; + *adjusted_mode = *native_mode; + if (!ASIC_IS_AVIVO(rdev)) { + adjusted_mode->hdisplay = mode->hdisplay; + adjusted_mode->vdisplay = mode->vdisplay; + adjusted_mode->crtc_hdisplay = mode->hdisplay; + adjusted_mode->crtc_vdisplay = mode->vdisplay; + } + adjusted_mode->base.id = mode_id; + } + + /* get the native mode for TV */ if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT)) { struct radeon_encoder_atom_dac *tv_dac = radeon_encoder->enc_priv; if (tv_dac) { @@ -218,6 +272,12 @@ } } + if (ASIC_IS_DCE3(rdev) && + (radeon_encoder->active_device & (ATOM_DEVICE_DFP_SUPPORT))) { + struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); + radeon_dp_set_link_config(connector, mode); + } + return true; } @@ -392,7 +452,7 @@ LVDS_ENCODER_CONTROL_PS_ALLOCATION_V2 v2; }; -static void +void atombios_digital_setup(struct drm_encoder *encoder, int action) { struct drm_device *dev = encoder->dev; @@ -400,6 +460,7 @@ struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); union lvds_encoder_control args; int index = 0; + int hdmi_detected = 0; uint8_t frev, crev; struct radeon_encoder_atom_dig *dig; struct drm_connector *connector; @@ -420,6 +481,9 @@ if (!radeon_connector->con_priv) return; + if (drm_detect_hdmi_monitor(radeon_connector->edid)) + hdmi_detected = 1; + dig_connector = radeon_connector->con_priv; memset(&args, 0, sizeof(args)); @@ -449,13 +513,13 @@ case 1: args.v1.ucMisc = 0; args.v1.ucAction = action; - if (drm_detect_hdmi_monitor(radeon_connector->edid)) + if (hdmi_detected) args.v1.ucMisc |= PANEL_ENCODER_MISC_HDMI_TYPE; args.v1.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) { - if (dig->lvds_misc & (1 << 0)) + if (dig->lvds_misc & ATOM_PANEL_MISC_DUAL) args.v1.ucMisc |= PANEL_ENCODER_MISC_DUAL; - if (dig->lvds_misc & (1 << 1)) + if (dig->lvds_misc & ATOM_PANEL_MISC_888RGB) args.v1.ucMisc |= (1 << 1); } else { if (dig_connector->linkb) @@ -474,7 +538,7 @@ if (dig->coherent_mode) args.v2.ucMisc |= PANEL_ENCODER_MISC_COHERENT; } - if (drm_detect_hdmi_monitor(radeon_connector->edid)) + if (hdmi_detected) args.v2.ucMisc |= PANEL_ENCODER_MISC_HDMI_TYPE; args.v2.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); args.v2.ucTruncate = 0; @@ -482,18 +546,18 @@ args.v2.ucTemporal = 0; args.v2.ucFRC = 0; if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) { - if (dig->lvds_misc & (1 << 0)) + if (dig->lvds_misc & ATOM_PANEL_MISC_DUAL) args.v2.ucMisc |= PANEL_ENCODER_MISC_DUAL; - if (dig->lvds_misc & (1 << 5)) { + if (dig->lvds_misc & ATOM_PANEL_MISC_SPATIAL) { args.v2.ucSpatial = PANEL_ENCODER_SPATIAL_DITHER_EN; - if (dig->lvds_misc & (1 << 1)) + if (dig->lvds_misc & ATOM_PANEL_MISC_888RGB) args.v2.ucSpatial |= PANEL_ENCODER_SPATIAL_DITHER_DEPTH; } - if (dig->lvds_misc & (1 << 6)) { + if (dig->lvds_misc & ATOM_PANEL_MISC_TEMPORAL) { args.v2.ucTemporal = PANEL_ENCODER_TEMPORAL_DITHER_EN; - if (dig->lvds_misc & (1 << 1)) + if (dig->lvds_misc & ATOM_PANEL_MISC_888RGB) args.v2.ucTemporal |= PANEL_ENCODER_TEMPORAL_DITHER_DEPTH; - if (((dig->lvds_misc >> 2) & 0x3) == 2) + if (((dig->lvds_misc >> ATOM_PANEL_MISC_GREY_LEVEL_SHIFT) & 0x3) == 2) args.v2.ucTemporal |= PANEL_ENCODER_TEMPORAL_LEVEL_4; } } else { @@ -514,7 +578,7 @@ } atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); - + r600_hdmi_enable(encoder, hdmi_detected); } int @@ -522,11 +586,24 @@ { struct drm_connector *connector; struct radeon_connector *radeon_connector; + struct radeon_connector_atom_dig *radeon_dig_connector; + struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); connector = radeon_get_connector_for_encoder(encoder); - if (!connector) - return 0; - + if (!connector) { + switch (radeon_encoder->encoder_id) { + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY: + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY1: + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY2: + case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA: + case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1: + return ATOM_ENCODER_MODE_DVI; + case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC1: + case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2: + default: + return ATOM_ENCODER_MODE_CRT; + } + } radeon_connector = to_radeon_connector(connector); switch (connector->connector_type) { @@ -551,21 +628,23 @@ return ATOM_ENCODER_MODE_LVDS; break; case DRM_MODE_CONNECTOR_DisplayPort: - /*if (radeon_output->MonType == MT_DP) - return ATOM_ENCODER_MODE_DP; - else*/ - if (drm_detect_hdmi_monitor(radeon_connector->edid)) + case DRM_MODE_CONNECTOR_eDP: + radeon_dig_connector = radeon_connector->con_priv; + if ((radeon_dig_connector->dp_sink_type == CONNECTOR_OBJECT_ID_DISPLAYPORT) || + (radeon_dig_connector->dp_sink_type == CONNECTOR_OBJECT_ID_eDP)) + return ATOM_ENCODER_MODE_DP; + else if (drm_detect_hdmi_monitor(radeon_connector->edid)) return ATOM_ENCODER_MODE_HDMI; else return ATOM_ENCODER_MODE_DVI; break; - case CONNECTOR_DVI_A: - case CONNECTOR_VGA: + case DRM_MODE_CONNECTOR_DVIA: + case DRM_MODE_CONNECTOR_VGA: return ATOM_ENCODER_MODE_CRT; break; - case CONNECTOR_STV: - case CONNECTOR_CTV: - case CONNECTOR_DIN: + case DRM_MODE_CONNECTOR_Composite: + case DRM_MODE_CONNECTOR_SVIDEO: + case DRM_MODE_CONNECTOR_9PinDIN: /* fix me */ return ATOM_ENCODER_MODE_TV; /*return ATOM_ENCODER_MODE_CV;*/ @@ -573,6 +652,30 @@ } } +/* + * DIG Encoder/Transmitter Setup + * + * DCE 3.0/3.1 + * - 2 DIG transmitter blocks. UNIPHY (links A and B) and LVTMA. + * Supports up to 3 digital outputs + * - 2 DIG encoder blocks. + * DIG1 can drive UNIPHY link A or link B + * DIG2 can drive UNIPHY link B or LVTMA + * + * DCE 3.2 + * - 3 DIG transmitter blocks. UNIPHY0/1/2 (links A and B). + * Supports up to 5 digital outputs + * - 2 DIG encoder blocks. + * DIG1/2 can drive UNIPHY0/1/2 link A or link B + * + * Routing + * crtc -> dig encoder -> UNIPHY/LVTMA (1 or 2 links) + * Examples: + * crtc0 -> dig2 -> LVTMA links A+B -> TMDS/HDMI + * crtc1 -> dig1 -> UNIPHY0 link B -> DP + * crtc0 -> dig1 -> UNIPHY2 link A -> LVDS + * crtc1 -> dig2 -> UNIPHY1 link B+A -> TMDS/HDMI + */ static void atombios_dig_encoder_setup(struct drm_encoder *encoder, int action) { @@ -605,24 +708,11 @@ memset(&args, 0, sizeof(args)); - if (ASIC_IS_DCE32(rdev)) { - if (dig->dig_block) - index = GetIndexIntoMasterTable(COMMAND, DIG2EncoderControl); - else - index = GetIndexIntoMasterTable(COMMAND, DIG1EncoderControl); - num = dig->dig_block + 1; - } else { - switch (radeon_encoder->encoder_id) { - case ENCODER_OBJECT_ID_INTERNAL_UNIPHY: - index = GetIndexIntoMasterTable(COMMAND, DIG1EncoderControl); - num = 1; - break; - case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA: - index = GetIndexIntoMasterTable(COMMAND, DIG2EncoderControl); - num = 2; - break; - } - } + if (dig->dig_encoder) + index = GetIndexIntoMasterTable(COMMAND, DIG2EncoderControl); + else + index = GetIndexIntoMasterTable(COMMAND, DIG1EncoderControl); + num = dig->dig_encoder + 1; atom_parse_cmd_header(rdev->mode_info.atom_context, index, &frev, &crev); @@ -652,18 +742,21 @@ } } - if (radeon_encoder->pixel_clock > 165000) { - args.ucConfig |= ATOM_ENCODER_CONFIG_LINKA_B; + args.ucEncoderMode = atombios_get_encoder_mode(encoder); + + if (args.ucEncoderMode == ATOM_ENCODER_MODE_DP) { + if (dig_connector->dp_clock == 270000) + args.ucConfig |= ATOM_ENCODER_CONFIG_DPLINKRATE_2_70GHZ; + args.ucLaneNum = dig_connector->dp_lane_count; + } else if (radeon_encoder->pixel_clock > 165000) args.ucLaneNum = 8; - } else { - if (dig_connector->linkb) - args.ucConfig |= ATOM_ENCODER_CONFIG_LINKB; - else - args.ucConfig |= ATOM_ENCODER_CONFIG_LINKA; + else args.ucLaneNum = 4; - } - args.ucEncoderMode = atombios_get_encoder_mode(encoder); + if (dig_connector->linkb) + args.ucConfig |= ATOM_ENCODER_CONFIG_LINKB; + else + args.ucConfig |= ATOM_ENCODER_CONFIG_LINKA; atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); @@ -674,8 +767,8 @@ DIG_TRANSMITTER_CONTROL_PARAMETERS_V2 v2; }; -static void -atombios_dig_transmitter_setup(struct drm_encoder *encoder, int action) +void +atombios_dig_transmitter_setup(struct drm_encoder *encoder, int action, uint8_t lane_num, uint8_t lane_set) { struct drm_device *dev = encoder->dev; struct radeon_device *rdev = dev->dev_private; @@ -687,6 +780,7 @@ struct drm_connector *connector; struct radeon_connector *radeon_connector; struct radeon_connector_atom_dig *dig_connector; + bool is_dp = false; connector = radeon_get_connector_for_encoder(encoder); if (!connector) @@ -704,6 +798,9 @@ dig_connector = radeon_connector->con_priv; + if (atombios_get_encoder_mode(encoder) == ATOM_ENCODER_MODE_DP) + is_dp = true; + memset(&args, 0, sizeof(args)); if (ASIC_IS_DCE32(rdev)) @@ -724,17 +821,23 @@ args.v1.ucAction = action; if (action == ATOM_TRANSMITTER_ACTION_INIT) { args.v1.usInitInfo = radeon_connector->connector_object_id; + } else if (action == ATOM_TRANSMITTER_ACTION_SETUP_VSEMPH) { + args.v1.asMode.ucLaneSel = lane_num; + args.v1.asMode.ucLaneSet = lane_set; } else { - if (radeon_encoder->pixel_clock > 165000) + if (is_dp) + args.v1.usPixelClock = + cpu_to_le16(dig_connector->dp_clock / 10); + else if (radeon_encoder->pixel_clock > 165000) args.v1.usPixelClock = cpu_to_le16((radeon_encoder->pixel_clock / 2) / 10); else args.v1.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); } if (ASIC_IS_DCE32(rdev)) { - if (radeon_encoder->pixel_clock > 165000) - args.v2.usPixelClock = cpu_to_le16((radeon_encoder->pixel_clock / 2) / 10); - if (dig->dig_block) + if (dig->dig_encoder == 1) args.v2.acConfig.ucEncoderSel = 1; + if (dig_connector->linkb) + args.v2.acConfig.ucLinkSel = 1; switch (radeon_encoder->encoder_id) { case ENCODER_OBJECT_ID_INTERNAL_UNIPHY: @@ -751,26 +854,32 @@ break; } - if (radeon_encoder->devices & (ATOM_DEVICE_DFP_SUPPORT)) { + if (is_dp) + args.v2.acConfig.fCoherentMode = 1; + else if (radeon_encoder->devices & (ATOM_DEVICE_DFP_SUPPORT)) { if (dig->coherent_mode) args.v2.acConfig.fCoherentMode = 1; + if (radeon_encoder->pixel_clock > 165000) + args.v2.acConfig.fDualLinkConnector = 1; } } else { + args.v1.ucConfig = ATOM_TRANSMITTER_CONFIG_CLKSRC_PPLL; + if (dig->dig_encoder) + args.v1.ucConfig |= ATOM_TRANSMITTER_CONFIG_DIG2_ENCODER; + else + args.v1.ucConfig |= ATOM_TRANSMITTER_CONFIG_DIG1_ENCODER; + switch (radeon_encoder->encoder_id) { case ENCODER_OBJECT_ID_INTERNAL_UNIPHY: - args.v1.ucConfig |= ATOM_TRANSMITTER_CONFIG_DIG1_ENCODER; if (rdev->flags & RADEON_IS_IGP) { if (radeon_encoder->pixel_clock > 165000) { - args.v1.ucConfig |= (ATOM_TRANSMITTER_CONFIG_8LANE_LINK | - ATOM_TRANSMITTER_CONFIG_LINKA_B); if (dig_connector->igp_lane_info & 0x3) args.v1.ucConfig |= ATOM_TRANSMITTER_CONFIG_LANE_0_7; else if (dig_connector->igp_lane_info & 0xc) args.v1.ucConfig |= ATOM_TRANSMITTER_CONFIG_LANE_8_15; } else { - args.v1.ucConfig |= ATOM_TRANSMITTER_CONFIG_LINKA; if (dig_connector->igp_lane_info & 0x1) args.v1.ucConfig |= ATOM_TRANSMITTER_CONFIG_LANE_0_3; else if (dig_connector->igp_lane_info & 0x2) @@ -780,42 +889,27 @@ else if (dig_connector->igp_lane_info & 0x8) args.v1.ucConfig |= ATOM_TRANSMITTER_CONFIG_LANE_12_15; } - } else { - if (radeon_encoder->pixel_clock > 165000) - args.v1.ucConfig |= (ATOM_TRANSMITTER_CONFIG_8LANE_LINK | - ATOM_TRANSMITTER_CONFIG_LINKA_B | - ATOM_TRANSMITTER_CONFIG_LANE_0_7); - else { - if (dig_connector->linkb) - args.v1.ucConfig |= ATOM_TRANSMITTER_CONFIG_LINKB | ATOM_TRANSMITTER_CONFIG_LANE_0_3; - else - args.v1.ucConfig |= ATOM_TRANSMITTER_CONFIG_LINKA | ATOM_TRANSMITTER_CONFIG_LANE_0_3; - } - } - break; - case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA: - args.v1.ucConfig |= ATOM_TRANSMITTER_CONFIG_DIG2_ENCODER; - if (radeon_encoder->pixel_clock > 165000) - args.v1.ucConfig |= (ATOM_TRANSMITTER_CONFIG_8LANE_LINK | - ATOM_TRANSMITTER_CONFIG_LINKA_B | - ATOM_TRANSMITTER_CONFIG_LANE_0_7); - else { - if (dig_connector->linkb) - args.v1.ucConfig |= ATOM_TRANSMITTER_CONFIG_LINKB | ATOM_TRANSMITTER_CONFIG_LANE_0_3; - else - args.v1.ucConfig |= ATOM_TRANSMITTER_CONFIG_LINKA | ATOM_TRANSMITTER_CONFIG_LANE_0_3; } break; } - if (radeon_encoder->devices & (ATOM_DEVICE_DFP_SUPPORT)) { + if (radeon_encoder->pixel_clock > 165000) + args.v1.ucConfig |= ATOM_TRANSMITTER_CONFIG_8LANE_LINK; + + if (dig_connector->linkb) + args.v1.ucConfig |= ATOM_TRANSMITTER_CONFIG_LINKB; + else + args.v1.ucConfig |= ATOM_TRANSMITTER_CONFIG_LINKA; + + if (is_dp) + args.v1.ucConfig |= ATOM_TRANSMITTER_CONFIG_COHERENT; + else if (radeon_encoder->devices & (ATOM_DEVICE_DFP_SUPPORT)) { if (dig->coherent_mode) args.v1.ucConfig |= ATOM_TRANSMITTER_CONFIG_COHERENT; } } atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); - } static void @@ -918,12 +1012,16 @@ if (is_dig) { switch (mode) { case DRM_MODE_DPMS_ON: - atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE); + atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE_OUTPUT, 0, 0); + { + struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); + dp_link_train(encoder, connector); + } break; case DRM_MODE_DPMS_STANDBY: case DRM_MODE_DPMS_SUSPEND: case DRM_MODE_DPMS_OFF: - atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_DISABLE); + atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_DISABLE_OUTPUT, 0, 0); break; } } else { @@ -957,6 +1055,7 @@ union crtc_sourc_param args; int index = GetIndexIntoMasterTable(COMMAND, SelectCRTC_Source); uint8_t frev, crev; + struct radeon_encoder_atom_dig *dig; memset(&args, 0, sizeof(args)); @@ -1020,20 +1119,16 @@ case ENCODER_OBJECT_ID_INTERNAL_UNIPHY: case ENCODER_OBJECT_ID_INTERNAL_UNIPHY1: case ENCODER_OBJECT_ID_INTERNAL_UNIPHY2: - if (ASIC_IS_DCE32(rdev)) { - if (radeon_crtc->crtc_id) - args.v2.ucEncoderID = ASIC_INT_DIG2_ENCODER_ID; - else - args.v2.ucEncoderID = ASIC_INT_DIG1_ENCODER_ID; - } else + case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA: + dig = radeon_encoder->enc_priv; + if (dig->dig_encoder) + args.v2.ucEncoderID = ASIC_INT_DIG2_ENCODER_ID; + else args.v2.ucEncoderID = ASIC_INT_DIG1_ENCODER_ID; break; case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1: args.v2.ucEncoderID = ASIC_INT_DVO_ENCODER_ID; break; - case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA: - args.v2.ucEncoderID = ASIC_INT_DIG2_ENCODER_ID; - break; case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC1: if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT)) args.v2.ucEncoderID = ASIC_INT_TV_ENCODER_ID; @@ -1060,7 +1155,6 @@ } atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); - } static void @@ -1094,6 +1188,47 @@ } } +static int radeon_atom_pick_dig_encoder(struct drm_encoder *encoder) +{ + struct drm_device *dev = encoder->dev; + struct radeon_device *rdev = dev->dev_private; + 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; + uint32_t dig_enc_in_use = 0; + /* on DCE32 and encoder can driver any block so just crtc id */ + if (ASIC_IS_DCE32(rdev)) { + return radeon_crtc->crtc_id; + } + + /* on DCE3 - LVTMA can only be driven by DIGB */ + list_for_each_entry(test_encoder, &dev->mode_config.encoder_list, head) { + struct radeon_encoder *radeon_test_encoder; + + if (encoder == test_encoder) + continue; + + if (!radeon_encoder_is_digital(test_encoder)) + continue; + + radeon_test_encoder = to_radeon_encoder(test_encoder); + dig = radeon_test_encoder->enc_priv; + + if (dig->dig_encoder >= 0) + dig_enc_in_use |= (1 << dig->dig_encoder); + } + + if (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA) { + if (dig_enc_in_use & 0x2) + DRM_ERROR("LVDS required digital encoder 2 but it was in use - stealing\n"); + return 1; + } + if (!(dig_enc_in_use & 1)) + return 0; + return 1; +} + static void radeon_atom_encoder_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode, @@ -1104,11 +1239,11 @@ struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); struct radeon_crtc *radeon_crtc = to_radeon_crtc(encoder->crtc); - if (radeon_encoder->enc_priv) { - struct radeon_encoder_atom_dig *dig; - - dig = radeon_encoder->enc_priv; - dig->dig_block = radeon_crtc->crtc_id; + if (radeon_encoder->active_device & + (ATOM_DEVICE_DFP_SUPPORT | ATOM_DEVICE_LCD_SUPPORT)) { + struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; + if (dig) + dig->dig_encoder = radeon_atom_pick_dig_encoder(encoder); } radeon_encoder->pixel_clock = adjusted_mode->clock; @@ -1134,14 +1269,14 @@ case ENCODER_OBJECT_ID_INTERNAL_UNIPHY2: case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA: /* disable the encoder and transmitter */ - atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_DISABLE); + atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_DISABLE, 0, 0); atombios_dig_encoder_setup(encoder, ATOM_DISABLE); /* setup and enable the encoder and transmitter */ atombios_dig_encoder_setup(encoder, ATOM_ENABLE); - atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_INIT); - atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_SETUP); - atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE); + atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_INIT, 0, 0); + atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_SETUP, 0, 0); + atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE, 0, 0); break; case ENCODER_OBJECT_ID_INTERNAL_DDI: atombios_ddia_setup(encoder, ATOM_ENABLE); @@ -1155,11 +1290,17 @@ case ENCODER_OBJECT_ID_INTERNAL_DAC2: case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2: atombios_dac_setup(encoder, ATOM_ENABLE); - if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) - atombios_tv_setup(encoder, ATOM_ENABLE); + if (radeon_encoder->devices & (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) { + if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) + atombios_tv_setup(encoder, ATOM_ENABLE); + else + atombios_tv_setup(encoder, ATOM_DISABLE); + } break; } atombios_apply_encoder_quirks(encoder, adjusted_mode); + + r600_hdmi_setmode(encoder, adjusted_mode); } static bool @@ -1266,7 +1407,13 @@ static void radeon_atom_encoder_disable(struct drm_encoder *encoder) { struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); + struct radeon_encoder_atom_dig *dig; radeon_atom_encoder_dpms(encoder, DRM_MODE_DPMS_OFF); + + if (radeon_encoder_is_digital(encoder)) { + dig = radeon_encoder->enc_priv; + dig->dig_encoder = -1; + } radeon_encoder->active_device = 0; } @@ -1323,6 +1470,7 @@ /* coherent mode by default */ dig->coherent_mode = true; + dig->dig_encoder = -1; return dig; } @@ -1354,7 +1502,6 @@ encoder->possible_crtcs = 0x1; else encoder->possible_crtcs = 0x3; - encoder->possible_clones = 0; radeon_encoder->enc_priv = NULL; @@ -1406,4 +1553,6 @@ drm_encoder_helper_add(encoder, &radeon_atom_dig_helper_funcs); break; } + + r600_hdmi_init(encoder); } --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_fb.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_fb.c @@ -59,7 +59,7 @@ }; /** - * Curretly it is assumed that the old framebuffer is reused. + * Currently it is assumed that the old framebuffer is reused. * * LOCKING * caller should hold the mode config lock. @@ -140,7 +140,7 @@ struct radeon_framebuffer *rfb; struct drm_mode_fb_cmd mode_cmd; struct drm_gem_object *gobj = NULL; - struct radeon_object *robj = NULL; + struct radeon_bo *rbo = NULL; struct device *device = &rdev->pdev->dev; int size, aligned_size, ret; u64 fb_gpuaddr; @@ -168,14 +168,14 @@ ret = radeon_gem_object_create(rdev, aligned_size, 0, RADEON_GEM_DOMAIN_VRAM, false, ttm_bo_type_kernel, - false, &gobj); + &gobj); if (ret) { printk(KERN_ERR "failed to allocate framebuffer (%d %d)\n", surface_width, surface_height); ret = -ENOMEM; goto out; } - robj = gobj->driver_private; + rbo = gobj->driver_private; if (fb_tiled) tiling_flags = RADEON_TILING_MACRO; @@ -192,8 +192,13 @@ } #endif - if (tiling_flags) - radeon_object_set_tiling_flags(robj, tiling_flags | RADEON_TILING_SURFACE, mode_cmd.pitch); + if (tiling_flags) { + ret = radeon_bo_set_tiling_flags(rbo, + tiling_flags | RADEON_TILING_SURFACE, + mode_cmd.pitch); + if (ret) + dev_err(rdev->dev, "FB failed to set tiling flags\n"); + } mutex_lock(&rdev->ddev->struct_mutex); fb = radeon_framebuffer_create(rdev->ddev, &mode_cmd, gobj); if (fb == NULL) { @@ -201,10 +206,19 @@ ret = -ENOMEM; goto out_unref; } - ret = radeon_object_pin(robj, RADEON_GEM_DOMAIN_VRAM, &fb_gpuaddr); + ret = radeon_bo_reserve(rbo, false); + if (unlikely(ret != 0)) + goto out_unref; + ret = radeon_bo_pin(rbo, RADEON_GEM_DOMAIN_VRAM, &fb_gpuaddr); + if (ret) { + radeon_bo_unreserve(rbo); + goto out_unref; + } + if (fb_tiled) + radeon_bo_check_tiling(rbo, 0, 0); + ret = radeon_bo_kmap(rbo, &fbptr); + radeon_bo_unreserve(rbo); if (ret) { - printk(KERN_ERR "failed to pin framebuffer\n"); - ret = -ENOMEM; goto out_unref; } @@ -213,7 +227,7 @@ *fb_p = fb; rfb = to_radeon_framebuffer(fb); rdev->fbdev_rfb = rfb; - rdev->fbdev_robj = robj; + rdev->fbdev_rbo = rbo; info = framebuffer_alloc(sizeof(struct radeon_fb_device), device); if (info == NULL) { @@ -234,15 +248,7 @@ if (ret) goto out_unref; - if (fb_tiled) - radeon_object_check_tiling(robj, 0, 0); - - ret = radeon_object_kmap(robj, &fbptr); - if (ret) { - goto out_unref; - } - - memset_io(fbptr, 0, aligned_size); + memset_io(fbptr, 0x0, aligned_size); strcpy(info->fix.id, "radeondrmfb"); @@ -288,8 +294,12 @@ return 0; out_unref: - if (robj) { - radeon_object_kunmap(robj); + if (rbo) { + ret = radeon_bo_reserve(rbo, false); + if (likely(ret == 0)) { + radeon_bo_kunmap(rbo); + radeon_bo_unreserve(rbo); + } } if (fb && ret) { list_del(&fb->filp_head); @@ -321,14 +331,22 @@ int radeonfb_probe(struct drm_device *dev) { - return drm_fb_helper_single_fb_probe(dev, 32, &radeonfb_create); + struct radeon_device *rdev = dev->dev_private; + int bpp_sel = 32; + + /* select 8 bpp console on RN50 or 16MB cards */ + if (ASIC_IS_RN50(rdev) || rdev->mc.real_vram_size <= (32*1024*1024)) + bpp_sel = 8; + + return drm_fb_helper_single_fb_probe(dev, bpp_sel, &radeonfb_create); } int radeonfb_remove(struct drm_device *dev, struct drm_framebuffer *fb) { struct fb_info *info; struct radeon_framebuffer *rfb = to_radeon_framebuffer(fb); - struct radeon_object *robj; + struct radeon_bo *rbo; + int r; if (!fb) { return -EINVAL; @@ -336,10 +354,14 @@ info = fb->fbdev; if (info) { struct radeon_fb_device *rfbdev = info->par; - robj = rfb->obj->driver_private; + rbo = rfb->obj->driver_private; unregister_framebuffer(info); - radeon_object_kunmap(robj); - radeon_object_unpin(robj); + r = radeon_bo_reserve(rbo, false); + if (likely(r == 0)) { + radeon_bo_kunmap(rbo); + radeon_bo_unpin(rbo); + radeon_bo_unreserve(rbo); + } drm_fb_helper_free(&rfbdev->helper); framebuffer_release(info); } --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_fence.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_fence.c @@ -140,16 +140,15 @@ bool radeon_fence_signaled(struct radeon_fence *fence) { - struct radeon_device *rdev = fence->rdev; unsigned long irq_flags; bool signaled = false; - if (rdev->gpu_lockup) { + if (!fence) return true; - } - if (fence == NULL) { + + if (fence->rdev->gpu_lockup) return true; - } + write_lock_irqsave(&fence->rdev->fence_drv.lock, irq_flags); signaled = fence->signaled; /* if we are shuting down report all fence as signaled */ @@ -168,37 +167,6 @@ return signaled; } -int r600_fence_wait(struct radeon_fence *fence, bool intr, bool lazy) -{ - struct radeon_device *rdev; - int ret = 0; - - rdev = fence->rdev; - - __set_current_state(intr ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE); - - while (1) { - if (radeon_fence_signaled(fence)) - break; - - if (time_after_eq(jiffies, fence->timeout)) { - ret = -EBUSY; - break; - } - - if (lazy) - schedule_timeout(1); - - if (intr && signal_pending(current)) { - ret = -ERESTARTSYS; - break; - } - } - __set_current_state(TASK_RUNNING); - return ret; -} - - int radeon_fence_wait(struct radeon_fence *fence, bool intr) { struct radeon_device *rdev; @@ -216,13 +184,6 @@ return 0; } - if (rdev->family >= CHIP_R600) { - r = r600_fence_wait(fence, intr, 0); - if (r == -ERESTARTSYS) - return -EBUSY; - return r; - } - retry: cur_jiffies = jiffies; timeout = HZ / 100; @@ -231,14 +192,17 @@ } if (intr) { + radeon_irq_kms_sw_irq_get(rdev); r = wait_event_interruptible_timeout(rdev->fence_drv.queue, radeon_fence_signaled(fence), timeout); - if (unlikely(r == -ERESTARTSYS)) { - return -EBUSY; - } + radeon_irq_kms_sw_irq_put(rdev); + if (unlikely(r < 0)) + return r; } else { + radeon_irq_kms_sw_irq_get(rdev); r = wait_event_timeout(rdev->fence_drv.queue, radeon_fence_signaled(fence), timeout); + radeon_irq_kms_sw_irq_put(rdev); } if (unlikely(!radeon_fence_signaled(fence))) { if (unlikely(r == 0)) { @@ -359,7 +323,7 @@ write_lock_irqsave(&rdev->fence_drv.lock, irq_flags); r = radeon_scratch_get(rdev, &rdev->fence_drv.scratch_reg); if (r) { - DRM_ERROR("Fence failed to get a scratch register."); + dev_err(rdev->dev, "fence failed to get scratch register\n"); write_unlock_irqrestore(&rdev->fence_drv.lock, irq_flags); return r; } @@ -370,9 +334,10 @@ INIT_LIST_HEAD(&rdev->fence_drv.signaled); rdev->fence_drv.count_timeout = 0; init_waitqueue_head(&rdev->fence_drv.queue); + rdev->fence_drv.initialized = true; write_unlock_irqrestore(&rdev->fence_drv.lock, irq_flags); if (radeon_debugfs_fence_init(rdev)) { - DRM_ERROR("Failed to register debugfs file for fence !\n"); + dev_err(rdev->dev, "fence debugfs file creation failed\n"); } return 0; } @@ -381,11 +346,13 @@ { unsigned long irq_flags; + if (!rdev->fence_drv.initialized) + return; wake_up_all(&rdev->fence_drv.queue); write_lock_irqsave(&rdev->fence_drv.lock, irq_flags); radeon_scratch_free(rdev, rdev->fence_drv.scratch_reg); write_unlock_irqrestore(&rdev->fence_drv.lock, irq_flags); - DRM_INFO("radeon: fence finalized\n"); + rdev->fence_drv.initialized = false; } --- linux-2.6.32.orig/drivers/gpu/drm/radeon/atombios_dp.c +++ linux-2.6.32/drivers/gpu/drm/radeon/atombios_dp.c @@ -0,0 +1,789 @@ +/* + * Copyright 2007-8 Advanced Micro Devices, Inc. + * Copyright 2008 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 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. + * + * Authors: Dave Airlie + * Alex Deucher + */ +#include "drmP.h" +#include "radeon_drm.h" +#include "radeon.h" + +#include "atom.h" +#include "atom-bits.h" +#include "drm_dp_helper.h" + +/* move these to drm_dp_helper.c/h */ +#define DP_LINK_CONFIGURATION_SIZE 9 +#define DP_LINK_STATUS_SIZE 6 +#define DP_DPCD_SIZE 8 + +static char *voltage_names[] = { + "0.4V", "0.6V", "0.8V", "1.2V" +}; +static char *pre_emph_names[] = { + "0dB", "3.5dB", "6dB", "9.5dB" +}; + +static const int dp_clocks[] = { + 54000, /* 1 lane, 1.62 Ghz */ + 90000, /* 1 lane, 2.70 Ghz */ + 108000, /* 2 lane, 1.62 Ghz */ + 180000, /* 2 lane, 2.70 Ghz */ + 216000, /* 4 lane, 1.62 Ghz */ + 360000, /* 4 lane, 2.70 Ghz */ +}; + +static const int num_dp_clocks = sizeof(dp_clocks) / sizeof(int); + +/* common helper functions */ +static int dp_lanes_for_mode_clock(u8 dpcd[DP_DPCD_SIZE], int mode_clock) +{ + int i; + u8 max_link_bw; + u8 max_lane_count; + + if (!dpcd) + return 0; + + max_link_bw = dpcd[DP_MAX_LINK_RATE]; + max_lane_count = dpcd[DP_MAX_LANE_COUNT] & DP_MAX_LANE_COUNT_MASK; + + switch (max_link_bw) { + case DP_LINK_BW_1_62: + default: + for (i = 0; i < num_dp_clocks; i++) { + if (i % 2) + continue; + switch (max_lane_count) { + case 1: + if (i > 1) + return 0; + break; + case 2: + if (i > 3) + return 0; + break; + case 4: + default: + break; + } + if (dp_clocks[i] > mode_clock) { + if (i < 2) + return 1; + else if (i < 4) + return 2; + else + return 4; + } + } + break; + case DP_LINK_BW_2_7: + for (i = 0; i < num_dp_clocks; i++) { + switch (max_lane_count) { + case 1: + if (i > 1) + return 0; + break; + case 2: + if (i > 3) + return 0; + break; + case 4: + default: + break; + } + if (dp_clocks[i] > mode_clock) { + if (i < 2) + return 1; + else if (i < 4) + return 2; + else + return 4; + } + } + break; + } + + return 0; +} + +static int dp_link_clock_for_mode_clock(u8 dpcd[DP_DPCD_SIZE], int mode_clock) +{ + int i; + u8 max_link_bw; + u8 max_lane_count; + + if (!dpcd) + return 0; + + max_link_bw = dpcd[DP_MAX_LINK_RATE]; + max_lane_count = dpcd[DP_MAX_LANE_COUNT] & DP_MAX_LANE_COUNT_MASK; + + switch (max_link_bw) { + case DP_LINK_BW_1_62: + default: + for (i = 0; i < num_dp_clocks; i++) { + if (i % 2) + continue; + switch (max_lane_count) { + case 1: + if (i > 1) + return 0; + break; + case 2: + if (i > 3) + return 0; + break; + case 4: + default: + break; + } + if (dp_clocks[i] > mode_clock) + return 162000; + } + break; + case DP_LINK_BW_2_7: + for (i = 0; i < num_dp_clocks; i++) { + switch (max_lane_count) { + case 1: + if (i > 1) + return 0; + break; + case 2: + if (i > 3) + return 0; + break; + case 4: + default: + break; + } + if (dp_clocks[i] > mode_clock) + return (i % 2) ? 270000 : 162000; + } + } + + return 0; +} + +int dp_mode_valid(u8 dpcd[DP_DPCD_SIZE], int mode_clock) +{ + int lanes = dp_lanes_for_mode_clock(dpcd, mode_clock); + int bw = dp_lanes_for_mode_clock(dpcd, mode_clock); + + if ((lanes == 0) || (bw == 0)) + return MODE_CLOCK_HIGH; + + return MODE_OK; +} + +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; +} + +static bool 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; +} + +static bool 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; +} + +static u8 dp_get_adjust_request_voltage(uint8_t 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; +} + +static u8 dp_get_adjust_request_pre_emphasis(uint8_t 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; +} + +/* XXX fix me -- chip specific */ +#define DP_VOLTAGE_MAX DP_TRAIN_VOLTAGE_SWING_1200 +static u8 dp_pre_emphasis_max(u8 voltage_swing) +{ + 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 dp_get_adjust_train(u8 link_status[DP_LINK_STATUS_SIZE], + int lane_count, + u8 train_set[4]) +{ + u8 v = 0; + u8 p = 0; + int lane; + + for (lane = 0; lane < lane_count; lane++) { + u8 this_v = dp_get_adjust_request_voltage(link_status, lane); + u8 this_p = dp_get_adjust_request_pre_emphasis(link_status, lane); + + DRM_DEBUG("requested signal parameters: lane %d voltage %s pre_emph %s\n", + lane, + voltage_names[this_v >> DP_TRAIN_VOLTAGE_SWING_SHIFT], + pre_emph_names[this_p >> DP_TRAIN_PRE_EMPHASIS_SHIFT]); + + if (this_v > v) + v = this_v; + if (this_p > p) + p = this_p; + } + + if (v >= DP_VOLTAGE_MAX) + v = DP_VOLTAGE_MAX | DP_TRAIN_MAX_SWING_REACHED; + + if (p >= dp_pre_emphasis_max(v)) + p = dp_pre_emphasis_max(v) | DP_TRAIN_MAX_PRE_EMPHASIS_REACHED; + + DRM_DEBUG("using signal parameters: voltage %s pre_emph %s\n", + voltage_names[(v & DP_TRAIN_VOLTAGE_SWING_MASK) >> DP_TRAIN_VOLTAGE_SWING_SHIFT], + pre_emph_names[(p & DP_TRAIN_PRE_EMPHASIS_MASK) >> DP_TRAIN_PRE_EMPHASIS_SHIFT]); + + for (lane = 0; lane < 4; lane++) + train_set[lane] = v | p; +} + + +/* radeon aux chan functions */ +bool radeon_process_aux_ch(struct radeon_i2c_chan *chan, u8 *req_bytes, + int num_bytes, u8 *read_byte, + u8 read_buf_len, u8 delay) +{ + struct drm_device *dev = chan->dev; + struct radeon_device *rdev = dev->dev_private; + PROCESS_AUX_CHANNEL_TRANSACTION_PS_ALLOCATION args; + int index = GetIndexIntoMasterTable(COMMAND, ProcessAuxChannelTransaction); + unsigned char *base; + int retry_count = 0; + + memset(&args, 0, sizeof(args)); + + base = (unsigned char *)rdev->mode_info.atom_context->scratch; + +retry: + memcpy(base, req_bytes, num_bytes); + + args.lpAuxRequest = 0; + args.lpDataOut = 16; + args.ucDataOutLen = 0; + args.ucChannelID = chan->rec.i2c_id; + args.ucDelay = delay / 10; + + atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); + + if (args.ucReplyStatus && !args.ucDataOutLen) { + if (args.ucReplyStatus == 0x20 && retry_count++ < 10) + goto retry; + DRM_DEBUG("failed to get auxch %02x%02x %02x %02x 0x%02x %02x after %d retries\n", + req_bytes[1], req_bytes[0], req_bytes[2], req_bytes[3], + chan->rec.i2c_id, args.ucReplyStatus, retry_count); + return false; + } + + if (args.ucDataOutLen && read_byte && read_buf_len) { + if (read_buf_len < args.ucDataOutLen) { + DRM_ERROR("Buffer to small for return answer %d %d\n", + read_buf_len, args.ucDataOutLen); + return false; + } + { + int len = min(read_buf_len, args.ucDataOutLen); + memcpy(read_byte, base + 16, len); + } + } + return true; +} + +bool radeon_dp_aux_native_write(struct radeon_connector *radeon_connector, uint16_t address, + uint8_t send_bytes, uint8_t *send) +{ + struct radeon_connector_atom_dig *dig_connector = radeon_connector->con_priv; + u8 msg[20]; + u8 msg_len, dp_msg_len; + bool ret; + + dp_msg_len = 4; + msg[0] = address; + msg[1] = address >> 8; + msg[2] = AUX_NATIVE_WRITE << 4; + dp_msg_len += send_bytes; + msg[3] = (dp_msg_len << 4) | (send_bytes - 1); + + if (send_bytes > 16) + return false; + + memcpy(&msg[4], send, send_bytes); + msg_len = 4 + send_bytes; + ret = radeon_process_aux_ch(dig_connector->dp_i2c_bus, msg, msg_len, NULL, 0, 0); + return ret; +} + +bool radeon_dp_aux_native_read(struct radeon_connector *radeon_connector, uint16_t address, + uint8_t delay, uint8_t expected_bytes, + uint8_t *read_p) +{ + struct radeon_connector_atom_dig *dig_connector = radeon_connector->con_priv; + u8 msg[20]; + u8 msg_len, dp_msg_len; + bool ret = false; + msg_len = 4; + dp_msg_len = 4; + msg[0] = address; + msg[1] = address >> 8; + msg[2] = AUX_NATIVE_READ << 4; + msg[3] = (dp_msg_len) << 4; + msg[3] |= expected_bytes - 1; + + ret = radeon_process_aux_ch(dig_connector->dp_i2c_bus, msg, msg_len, read_p, expected_bytes, delay); + return ret; +} + +/* radeon dp functions */ +static u8 radeon_dp_encoder_service(struct radeon_device *rdev, int action, int dp_clock, + uint8_t ucconfig, uint8_t lane_num) +{ + DP_ENCODER_SERVICE_PARAMETERS args; + int index = GetIndexIntoMasterTable(COMMAND, DPEncoderService); + + memset(&args, 0, sizeof(args)); + args.ucLinkClock = dp_clock / 10; + args.ucConfig = ucconfig; + args.ucAction = action; + args.ucLaneNum = lane_num; + args.ucStatus = 0; + + atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); + return args.ucStatus; +} + +u8 radeon_dp_getsinktype(struct radeon_connector *radeon_connector) +{ + struct radeon_connector_atom_dig *dig_connector = radeon_connector->con_priv; + struct drm_device *dev = radeon_connector->base.dev; + struct radeon_device *rdev = dev->dev_private; + + return radeon_dp_encoder_service(rdev, ATOM_DP_ACTION_GET_SINK_TYPE, 0, + dig_connector->dp_i2c_bus->rec.i2c_id, 0); +} + +bool radeon_dp_getdpcd(struct radeon_connector *radeon_connector) +{ + struct radeon_connector_atom_dig *dig_connector = radeon_connector->con_priv; + u8 msg[25]; + int ret; + + ret = radeon_dp_aux_native_read(radeon_connector, DP_DPCD_REV, 0, 8, msg); + if (ret) { + memcpy(dig_connector->dpcd, msg, 8); + { + int i; + DRM_DEBUG("DPCD: "); + for (i = 0; i < 8; i++) + DRM_DEBUG("%02x ", msg[i]); + DRM_DEBUG("\n"); + } + return true; + } + dig_connector->dpcd[0] = 0; + return false; +} + +void radeon_dp_set_link_config(struct drm_connector *connector, + struct drm_display_mode *mode) +{ + struct radeon_connector *radeon_connector; + struct radeon_connector_atom_dig *dig_connector; + + if ((connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort) && + (connector->connector_type != DRM_MODE_CONNECTOR_eDP)) + return; + + radeon_connector = to_radeon_connector(connector); + if (!radeon_connector->con_priv) + return; + dig_connector = radeon_connector->con_priv; + + dig_connector->dp_clock = + dp_link_clock_for_mode_clock(dig_connector->dpcd, mode->clock); + dig_connector->dp_lane_count = + dp_lanes_for_mode_clock(dig_connector->dpcd, mode->clock); +} + +int radeon_dp_mode_valid_helper(struct radeon_connector *radeon_connector, + struct drm_display_mode *mode) +{ + struct radeon_connector_atom_dig *dig_connector = radeon_connector->con_priv; + + return dp_mode_valid(dig_connector->dpcd, mode->clock); +} + +static bool atom_dp_get_link_status(struct radeon_connector *radeon_connector, + u8 link_status[DP_LINK_STATUS_SIZE]) +{ + int ret; + ret = radeon_dp_aux_native_read(radeon_connector, DP_LANE0_1_STATUS, 100, + DP_LINK_STATUS_SIZE, link_status); + if (!ret) { + DRM_ERROR("displayport link status failed\n"); + return false; + } + + DRM_DEBUG("link status %02x %02x %02x %02x %02x %02x\n", + link_status[0], link_status[1], link_status[2], + link_status[3], link_status[4], link_status[5]); + return true; +} + +bool radeon_dp_needs_link_train(struct radeon_connector *radeon_connector) +{ + struct radeon_connector_atom_dig *dig_connector = radeon_connector->con_priv; + u8 link_status[DP_LINK_STATUS_SIZE]; + + if (!atom_dp_get_link_status(radeon_connector, link_status)) + return false; + if (dp_channel_eq_ok(link_status, dig_connector->dp_lane_count)) + return false; + return true; +} + +static void dp_set_power(struct radeon_connector *radeon_connector, u8 power_state) +{ + struct radeon_connector_atom_dig *dig_connector = radeon_connector->con_priv; + + if (dig_connector->dpcd[0] >= 0x11) { + radeon_dp_aux_native_write(radeon_connector, DP_SET_POWER, 1, + &power_state); + } +} + +static void dp_set_downspread(struct radeon_connector *radeon_connector, u8 downspread) +{ + radeon_dp_aux_native_write(radeon_connector, DP_DOWNSPREAD_CTRL, 1, + &downspread); +} + +static void dp_set_link_bw_lanes(struct radeon_connector *radeon_connector, + u8 link_configuration[DP_LINK_CONFIGURATION_SIZE]) +{ + radeon_dp_aux_native_write(radeon_connector, DP_LINK_BW_SET, 2, + link_configuration); +} + +static void dp_update_dpvs_emph(struct radeon_connector *radeon_connector, + struct drm_encoder *encoder, + u8 train_set[4]) +{ + struct radeon_connector_atom_dig *dig_connector = radeon_connector->con_priv; + int i; + + for (i = 0; i < dig_connector->dp_lane_count; i++) + atombios_dig_transmitter_setup(encoder, + ATOM_TRANSMITTER_ACTION_SETUP_VSEMPH, + i, train_set[i]); + + radeon_dp_aux_native_write(radeon_connector, DP_TRAINING_LANE0_SET, + dig_connector->dp_lane_count, train_set); +} + +static void dp_set_training(struct radeon_connector *radeon_connector, + u8 training) +{ + radeon_dp_aux_native_write(radeon_connector, DP_TRAINING_PATTERN_SET, + 1, &training); +} + +void dp_link_train(struct drm_encoder *encoder, + struct drm_connector *connector) +{ + struct drm_device *dev = encoder->dev; + struct radeon_device *rdev = dev->dev_private; + struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); + struct radeon_encoder_atom_dig *dig; + struct radeon_connector *radeon_connector; + struct radeon_connector_atom_dig *dig_connector; + int enc_id = 0; + bool clock_recovery, channel_eq; + u8 link_status[DP_LINK_STATUS_SIZE]; + u8 link_configuration[DP_LINK_CONFIGURATION_SIZE]; + u8 tries, voltage; + u8 train_set[4]; + int i; + + if ((connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort) && + (connector->connector_type != DRM_MODE_CONNECTOR_eDP)) + return; + + if (!radeon_encoder->enc_priv) + return; + dig = radeon_encoder->enc_priv; + + radeon_connector = to_radeon_connector(connector); + if (!radeon_connector->con_priv) + return; + dig_connector = radeon_connector->con_priv; + + if (dig->dig_encoder) + enc_id |= ATOM_DP_CONFIG_DIG2_ENCODER; + else + enc_id |= ATOM_DP_CONFIG_DIG1_ENCODER; + if (dig_connector->linkb) + enc_id |= ATOM_DP_CONFIG_LINK_B; + else + enc_id |= ATOM_DP_CONFIG_LINK_A; + + memset(link_configuration, 0, DP_LINK_CONFIGURATION_SIZE); + if (dig_connector->dp_clock == 270000) + link_configuration[0] = DP_LINK_BW_2_7; + else + link_configuration[0] = DP_LINK_BW_1_62; + link_configuration[1] = dig_connector->dp_lane_count; + if (dig_connector->dpcd[0] >= 0x11) + link_configuration[1] |= DP_LANE_COUNT_ENHANCED_FRAME_EN; + + /* power up the sink */ + dp_set_power(radeon_connector, DP_SET_POWER_D0); + /* disable the training pattern on the sink */ + dp_set_training(radeon_connector, DP_TRAINING_PATTERN_DISABLE); + /* set link bw and lanes on the sink */ + dp_set_link_bw_lanes(radeon_connector, link_configuration); + /* disable downspread on the sink */ + dp_set_downspread(radeon_connector, 0); + /* start training on the source */ + radeon_dp_encoder_service(rdev, ATOM_DP_ACTION_TRAINING_START, + dig_connector->dp_clock, enc_id, 0); + /* set training pattern 1 on the source */ + radeon_dp_encoder_service(rdev, ATOM_DP_ACTION_TRAINING_PATTERN_SEL, + dig_connector->dp_clock, enc_id, 0); + + /* set initial vs/emph */ + memset(train_set, 0, 4); + udelay(400); + /* set training pattern 1 on the sink */ + dp_set_training(radeon_connector, DP_TRAINING_PATTERN_1); + + dp_update_dpvs_emph(radeon_connector, encoder, train_set); + + /* clock recovery loop */ + clock_recovery = false; + tries = 0; + voltage = 0xff; + for (;;) { + udelay(100); + if (!atom_dp_get_link_status(radeon_connector, link_status)) + break; + + if (dp_clock_recovery_ok(link_status, dig_connector->dp_lane_count)) { + clock_recovery = true; + break; + } + + for (i = 0; i < dig_connector->dp_lane_count; i++) { + if ((train_set[i] & DP_TRAIN_MAX_SWING_REACHED) == 0) + break; + } + if (i == dig_connector->dp_lane_count) { + DRM_ERROR("clock recovery reached max voltage\n"); + break; + } + + if ((train_set[0] & DP_TRAIN_VOLTAGE_SWING_MASK) == voltage) { + ++tries; + if (tries == 5) { + DRM_ERROR("clock recovery tried 5 times\n"); + break; + } + } else + tries = 0; + + voltage = train_set[0] & DP_TRAIN_VOLTAGE_SWING_MASK; + + /* Compute new train_set as requested by sink */ + dp_get_adjust_train(link_status, dig_connector->dp_lane_count, train_set); + dp_update_dpvs_emph(radeon_connector, encoder, train_set); + } + if (!clock_recovery) + DRM_ERROR("clock recovery failed\n"); + else + DRM_DEBUG("clock recovery at voltage %d pre-emphasis %d\n", + train_set[0] & DP_TRAIN_VOLTAGE_SWING_MASK, + (train_set[0] & DP_TRAIN_PRE_EMPHASIS_MASK) >> + DP_TRAIN_PRE_EMPHASIS_SHIFT); + + + /* set training pattern 2 on the sink */ + dp_set_training(radeon_connector, DP_TRAINING_PATTERN_2); + /* set training pattern 2 on the source */ + radeon_dp_encoder_service(rdev, ATOM_DP_ACTION_TRAINING_PATTERN_SEL, + dig_connector->dp_clock, enc_id, 1); + + /* channel equalization loop */ + tries = 0; + channel_eq = false; + for (;;) { + udelay(400); + if (!atom_dp_get_link_status(radeon_connector, link_status)) + break; + + if (dp_channel_eq_ok(link_status, dig_connector->dp_lane_count)) { + channel_eq = true; + break; + } + + /* Try 5 times */ + if (tries > 5) { + DRM_ERROR("channel eq failed: 5 tries\n"); + break; + } + + /* Compute new train_set as requested by sink */ + dp_get_adjust_train(link_status, dig_connector->dp_lane_count, train_set); + dp_update_dpvs_emph(radeon_connector, encoder, train_set); + + tries++; + } + + if (!channel_eq) + DRM_ERROR("channel eq failed\n"); + else + DRM_DEBUG("channel eq at voltage %d pre-emphasis %d\n", + train_set[0] & DP_TRAIN_VOLTAGE_SWING_MASK, + (train_set[0] & DP_TRAIN_PRE_EMPHASIS_MASK) + >> DP_TRAIN_PRE_EMPHASIS_SHIFT); + + /* disable the training pattern on the sink */ + dp_set_training(radeon_connector, DP_TRAINING_PATTERN_DISABLE); + + radeon_dp_encoder_service(rdev, ATOM_DP_ACTION_TRAINING_COMPLETE, + dig_connector->dp_clock, enc_id, 0); +} + +int radeon_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 radeon_i2c_chan *auxch = (struct radeon_i2c_chan *)adapter; + int ret = 0; + uint16_t address = algo_data->address; + uint8_t msg[5]; + uint8_t reply[2]; + int msg_len, dp_msg_len; + int reply_bytes; + + /* Set up the command byte */ + if (mode & MODE_I2C_READ) + msg[2] = AUX_I2C_READ << 4; + else + msg[2] = AUX_I2C_WRITE << 4; + + if (!(mode & MODE_I2C_STOP)) + msg[2] |= AUX_I2C_MOT << 4; + + msg[0] = address; + msg[1] = address >> 8; + + reply_bytes = 1; + + msg_len = 4; + dp_msg_len = 3; + switch (mode) { + case MODE_I2C_WRITE: + msg[4] = write_byte; + msg_len++; + dp_msg_len += 2; + break; + case MODE_I2C_READ: + dp_msg_len += 1; + break; + default: + break; + } + + msg[3] = (dp_msg_len) << 4; + ret = radeon_process_aux_ch(auxch, msg, msg_len, reply, reply_bytes, 0); + + if (ret) { + if (read_byte) + *read_byte = reply[0]; + return reply_bytes; + } + return -EREMOTEIO; +} + --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_gart.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_gart.c @@ -78,11 +78,9 @@ int r; if (rdev->gart.table.vram.robj == NULL) { - r = radeon_object_create(rdev, NULL, - rdev->gart.table_size, - true, - RADEON_GEM_DOMAIN_VRAM, - false, &rdev->gart.table.vram.robj); + r = radeon_bo_create(rdev, NULL, rdev->gart.table_size, + true, RADEON_GEM_DOMAIN_VRAM, + &rdev->gart.table.vram.robj); if (r) { return r; } @@ -95,32 +93,38 @@ uint64_t gpu_addr; int r; - r = radeon_object_pin(rdev->gart.table.vram.robj, - RADEON_GEM_DOMAIN_VRAM, &gpu_addr); - if (r) { - radeon_object_unref(&rdev->gart.table.vram.robj); + r = radeon_bo_reserve(rdev->gart.table.vram.robj, false); + if (unlikely(r != 0)) return r; - } - r = radeon_object_kmap(rdev->gart.table.vram.robj, - (void **)&rdev->gart.table.vram.ptr); + r = radeon_bo_pin(rdev->gart.table.vram.robj, + RADEON_GEM_DOMAIN_VRAM, &gpu_addr); if (r) { - radeon_object_unpin(rdev->gart.table.vram.robj); - radeon_object_unref(&rdev->gart.table.vram.robj); - DRM_ERROR("radeon: failed to map gart vram table.\n"); + radeon_bo_unreserve(rdev->gart.table.vram.robj); return r; } + r = radeon_bo_kmap(rdev->gart.table.vram.robj, + (void **)&rdev->gart.table.vram.ptr); + if (r) + radeon_bo_unpin(rdev->gart.table.vram.robj); + radeon_bo_unreserve(rdev->gart.table.vram.robj); rdev->gart.table_addr = gpu_addr; - return 0; + return r; } void radeon_gart_table_vram_free(struct radeon_device *rdev) { + int r; + if (rdev->gart.table.vram.robj == NULL) { return; } - radeon_object_kunmap(rdev->gart.table.vram.robj); - radeon_object_unpin(rdev->gart.table.vram.robj); - radeon_object_unref(&rdev->gart.table.vram.robj); + r = radeon_bo_reserve(rdev->gart.table.vram.robj, false); + if (likely(r == 0)) { + radeon_bo_kunmap(rdev->gart.table.vram.robj); + radeon_bo_unpin(rdev->gart.table.vram.robj); + radeon_bo_unreserve(rdev->gart.table.vram.robj); + } + radeon_bo_unref(&rdev->gart.table.vram.robj); } --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_gem.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_gem.c @@ -38,22 +38,21 @@ void radeon_gem_object_free(struct drm_gem_object *gobj) { - struct radeon_object *robj = gobj->driver_private; + struct radeon_bo *robj = gobj->driver_private; gobj->driver_private = NULL; if (robj) { - radeon_object_unref(&robj); + radeon_bo_unref(&robj); } } int radeon_gem_object_create(struct radeon_device *rdev, int size, - int alignment, int initial_domain, - bool discardable, bool kernel, - bool interruptible, - struct drm_gem_object **obj) + int alignment, int initial_domain, + bool discardable, bool kernel, + struct drm_gem_object **obj) { struct drm_gem_object *gobj; - struct radeon_object *robj; + struct radeon_bo *robj; int r; *obj = NULL; @@ -65,11 +64,11 @@ if (alignment < PAGE_SIZE) { alignment = PAGE_SIZE; } - r = radeon_object_create(rdev, gobj, size, kernel, initial_domain, - interruptible, &robj); + r = radeon_bo_create(rdev, gobj, size, kernel, initial_domain, &robj); if (r) { - DRM_ERROR("Failed to allocate GEM object (%d, %d, %u)\n", - size, initial_domain, alignment); + if (r != -ERESTARTSYS) + DRM_ERROR("Failed to allocate GEM object (%d, %d, %u, %d)\n", + size, initial_domain, alignment, r); mutex_lock(&rdev->ddev->struct_mutex); drm_gem_object_unreference(gobj); mutex_unlock(&rdev->ddev->struct_mutex); @@ -83,33 +82,33 @@ int radeon_gem_object_pin(struct drm_gem_object *obj, uint32_t pin_domain, uint64_t *gpu_addr) { - struct radeon_object *robj = obj->driver_private; - uint32_t flags; + struct radeon_bo *robj = obj->driver_private; + int r; - switch (pin_domain) { - case RADEON_GEM_DOMAIN_VRAM: - flags = TTM_PL_FLAG_VRAM; - break; - case RADEON_GEM_DOMAIN_GTT: - flags = TTM_PL_FLAG_TT; - break; - default: - flags = TTM_PL_FLAG_SYSTEM; - break; - } - return radeon_object_pin(robj, flags, gpu_addr); + r = radeon_bo_reserve(robj, false); + if (unlikely(r != 0)) + return r; + r = radeon_bo_pin(robj, pin_domain, gpu_addr); + radeon_bo_unreserve(robj); + return r; } void radeon_gem_object_unpin(struct drm_gem_object *obj) { - struct radeon_object *robj = obj->driver_private; - radeon_object_unpin(robj); + struct radeon_bo *robj = obj->driver_private; + int r; + + r = radeon_bo_reserve(robj, false); + if (likely(r == 0)) { + radeon_bo_unpin(robj); + radeon_bo_unreserve(robj); + } } int radeon_gem_set_domain(struct drm_gem_object *gobj, uint32_t rdomain, uint32_t wdomain) { - struct radeon_object *robj; + struct radeon_bo *robj; uint32_t domain; int r; @@ -127,7 +126,7 @@ } if (domain == RADEON_GEM_DOMAIN_CPU) { /* Asking for cpu access wait for object idle */ - r = radeon_object_wait(robj); + r = radeon_bo_wait(robj, NULL, false); if (r) { printk(KERN_ERR "Failed to wait for object !\n"); return r; @@ -144,7 +143,7 @@ void radeon_gem_fini(struct radeon_device *rdev) { - radeon_object_force_delete(rdev); + radeon_bo_force_delete(rdev); } @@ -158,9 +157,13 @@ struct drm_radeon_gem_info *args = data; args->vram_size = rdev->mc.real_vram_size; - /* FIXME: report somethings that makes sense */ - args->vram_visible = rdev->mc.real_vram_size - (4 * 1024 * 1024); - args->gart_size = rdev->mc.gtt_size; + args->vram_visible = rdev->mc.real_vram_size; + if (rdev->stollen_vga_memory) + args->vram_visible -= radeon_bo_size(rdev->stollen_vga_memory); + if (rdev->fbdev_rbo) + args->vram_visible -= radeon_bo_size(rdev->fbdev_rbo); + args->gart_size = rdev->mc.gtt_size - rdev->cp.ring_size - 4096 - + RADEON_IB_POOL_SIZE*64*1024; return 0; } @@ -192,8 +195,8 @@ /* create a gem object to contain this object in */ args->size = roundup(args->size, PAGE_SIZE); r = radeon_gem_object_create(rdev, args->size, args->alignment, - args->initial_domain, false, - false, true, &gobj); + args->initial_domain, false, + false, &gobj); if (r) { return r; } @@ -218,7 +221,7 @@ * just validate the BO into a certain domain */ struct drm_radeon_gem_set_domain *args = data; struct drm_gem_object *gobj; - struct radeon_object *robj; + struct radeon_bo *robj; int r; /* for now if someone requests domain CPU - @@ -244,19 +247,18 @@ { struct drm_radeon_gem_mmap *args = data; struct drm_gem_object *gobj; - struct radeon_object *robj; - int r; + struct radeon_bo *robj; gobj = drm_gem_object_lookup(dev, filp, args->handle); if (gobj == NULL) { return -EINVAL; } robj = gobj->driver_private; - r = radeon_object_mmap(robj, &args->addr_ptr); + args->addr_ptr = radeon_bo_mmap_offset(robj); mutex_lock(&dev->struct_mutex); drm_gem_object_unreference(gobj); mutex_unlock(&dev->struct_mutex); - return r; + return 0; } int radeon_gem_busy_ioctl(struct drm_device *dev, void *data, @@ -264,16 +266,16 @@ { struct drm_radeon_gem_busy *args = data; struct drm_gem_object *gobj; - struct radeon_object *robj; + struct radeon_bo *robj; int r; - uint32_t cur_placement; + uint32_t cur_placement = 0; gobj = drm_gem_object_lookup(dev, filp, args->handle); if (gobj == NULL) { return -EINVAL; } robj = gobj->driver_private; - r = radeon_object_busy_domain(robj, &cur_placement); + r = radeon_bo_wait(robj, &cur_placement, true); switch (cur_placement) { case TTM_PL_VRAM: args->domain = RADEON_GEM_DOMAIN_VRAM; @@ -297,7 +299,7 @@ { struct drm_radeon_gem_wait_idle *args = data; struct drm_gem_object *gobj; - struct radeon_object *robj; + struct radeon_bo *robj; int r; gobj = drm_gem_object_lookup(dev, filp, args->handle); @@ -305,7 +307,10 @@ return -EINVAL; } robj = gobj->driver_private; - r = radeon_object_wait(robj); + r = radeon_bo_wait(robj, NULL, false); + /* callback hw specific functions if any */ + if (robj->rdev->asic->ioctl_wait_idle) + robj->rdev->asic->ioctl_wait_idle(robj->rdev, robj); mutex_lock(&dev->struct_mutex); drm_gem_object_unreference(gobj); mutex_unlock(&dev->struct_mutex); @@ -317,7 +322,7 @@ { struct drm_radeon_gem_set_tiling *args = data; struct drm_gem_object *gobj; - struct radeon_object *robj; + struct radeon_bo *robj; int r = 0; DRM_DEBUG("%d \n", args->handle); @@ -325,7 +330,7 @@ if (gobj == NULL) return -EINVAL; robj = gobj->driver_private; - radeon_object_set_tiling_flags(robj, args->tiling_flags, args->pitch); + r = radeon_bo_set_tiling_flags(robj, args->tiling_flags, args->pitch); mutex_lock(&dev->struct_mutex); drm_gem_object_unreference(gobj); mutex_unlock(&dev->struct_mutex); @@ -337,16 +342,20 @@ { struct drm_radeon_gem_get_tiling *args = data; struct drm_gem_object *gobj; - struct radeon_object *robj; + struct radeon_bo *rbo; int r = 0; DRM_DEBUG("\n"); gobj = drm_gem_object_lookup(dev, filp, args->handle); if (gobj == NULL) return -EINVAL; - robj = gobj->driver_private; - radeon_object_get_tiling_flags(robj, &args->tiling_flags, - &args->pitch); + rbo = gobj->driver_private; + r = radeon_bo_reserve(rbo, false); + if (unlikely(r != 0)) + goto out; + radeon_bo_get_tiling_flags(rbo, &args->tiling_flags, &args->pitch); + radeon_bo_unreserve(rbo); +out: mutex_lock(&dev->struct_mutex); drm_gem_object_unreference(gobj); mutex_unlock(&dev->struct_mutex); --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_i2c.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_i2c.c @@ -59,35 +59,50 @@ } -void radeon_i2c_do_lock(struct radeon_connector *radeon_connector, int lock_state) +void radeon_i2c_do_lock(struct radeon_i2c_chan *i2c, int lock_state) { - struct radeon_device *rdev = radeon_connector->base.dev->dev_private; + struct radeon_device *rdev = i2c->dev->dev_private; + struct radeon_i2c_bus_rec *rec = &i2c->rec; uint32_t temp; - struct radeon_i2c_bus_rec *rec = &radeon_connector->ddc_bus->rec; /* RV410 appears to have a bug where the hw i2c in reset * holds the i2c port in a bad state - switch hw i2c away before * doing DDC - do this for all r200s/r300s/r400s for safety sake */ - if ((rdev->family >= CHIP_R200) && !ASIC_IS_AVIVO(rdev)) { - if (rec->a_clk_reg == RADEON_GPIO_MONID) { - WREG32(RADEON_DVI_I2C_CNTL_0, (RADEON_I2C_SOFT_RST | - R200_DVI_I2C_PIN_SEL(R200_SEL_DDC1))); - } else { - WREG32(RADEON_DVI_I2C_CNTL_0, (RADEON_I2C_SOFT_RST | - R200_DVI_I2C_PIN_SEL(R200_SEL_DDC3))); + if (rec->hw_capable) { + if ((rdev->family >= CHIP_R200) && !ASIC_IS_AVIVO(rdev)) { + if (rec->a_clk_reg == RADEON_GPIO_MONID) { + WREG32(RADEON_DVI_I2C_CNTL_0, (RADEON_I2C_SOFT_RST | + R200_DVI_I2C_PIN_SEL(R200_SEL_DDC1))); + } else { + WREG32(RADEON_DVI_I2C_CNTL_0, (RADEON_I2C_SOFT_RST | + R200_DVI_I2C_PIN_SEL(R200_SEL_DDC3))); + } } } - if (lock_state) { - temp = RREG32(rec->a_clk_reg); - temp &= ~(rec->a_clk_mask); - WREG32(rec->a_clk_reg, temp); - - temp = RREG32(rec->a_data_reg); - temp &= ~(rec->a_data_mask); - WREG32(rec->a_data_reg, temp); + + /* switch the pads to ddc mode */ + if (ASIC_IS_DCE3(rdev) && rec->hw_capable) { + temp = RREG32(rec->mask_clk_reg); + temp &= ~(1 << 16); + WREG32(rec->mask_clk_reg, temp); } + /* clear the output pin values */ + temp = RREG32(rec->a_clk_reg) & ~rec->a_clk_mask; + WREG32(rec->a_clk_reg, temp); + + temp = RREG32(rec->a_data_reg) & ~rec->a_data_mask; + WREG32(rec->a_data_reg, temp); + + /* set the pins to input */ + temp = RREG32(rec->en_clk_reg) & ~rec->en_clk_mask; + WREG32(rec->en_clk_reg, temp); + + temp = RREG32(rec->en_data_reg) & ~rec->en_data_mask; + WREG32(rec->en_data_reg, temp); + + /* mask the gpio pins for software use */ temp = RREG32(rec->mask_clk_reg); if (lock_state) temp |= rec->mask_clk_mask; @@ -112,8 +127,9 @@ struct radeon_i2c_bus_rec *rec = &i2c->rec; uint32_t val; - val = RREG32(rec->get_clk_reg); - val &= rec->get_clk_mask; + /* read the value off the pin */ + val = RREG32(rec->y_clk_reg); + val &= rec->y_clk_mask; return (val != 0); } @@ -126,8 +142,10 @@ struct radeon_i2c_bus_rec *rec = &i2c->rec; uint32_t val; - val = RREG32(rec->get_data_reg); - val &= rec->get_data_mask; + /* read the value off the pin */ + val = RREG32(rec->y_data_reg); + val &= rec->y_data_mask; + return (val != 0); } @@ -138,9 +156,10 @@ struct radeon_i2c_bus_rec *rec = &i2c->rec; uint32_t val; - val = RREG32(rec->put_clk_reg) & (uint32_t)~(rec->put_clk_mask); - val |= clock ? 0 : rec->put_clk_mask; - WREG32(rec->put_clk_reg, val); + /* set pin direction */ + val = RREG32(rec->en_clk_reg) & ~rec->en_clk_mask; + val |= clock ? 0 : rec->en_clk_mask; + WREG32(rec->en_clk_reg, val); } static void set_data(void *i2c_priv, int data) @@ -150,14 +169,15 @@ struct radeon_i2c_bus_rec *rec = &i2c->rec; uint32_t val; - val = RREG32(rec->put_data_reg) & (uint32_t)~(rec->put_data_mask); - val |= data ? 0 : rec->put_data_mask; - WREG32(rec->put_data_reg, val); + /* set pin direction */ + val = RREG32(rec->en_data_reg) & ~rec->en_data_mask; + val |= data ? 0 : rec->en_data_mask; + WREG32(rec->en_data_reg, val); } struct radeon_i2c_chan *radeon_i2c_create(struct drm_device *dev, - struct radeon_i2c_bus_rec *rec, - const char *name) + struct radeon_i2c_bus_rec *rec, + const char *name) { struct radeon_i2c_chan *i2c; int ret; @@ -167,20 +187,19 @@ return NULL; i2c->adapter.owner = THIS_MODULE; - i2c->adapter.algo_data = &i2c->algo; i2c->dev = dev; - i2c->algo.setsda = set_data; - i2c->algo.setscl = set_clock; - i2c->algo.getsda = get_data; - i2c->algo.getscl = get_clock; - i2c->algo.udelay = 20; + i2c_set_adapdata(&i2c->adapter, i2c); + i2c->adapter.algo_data = &i2c->algo.bit; + i2c->algo.bit.setsda = set_data; + i2c->algo.bit.setscl = set_clock; + i2c->algo.bit.getsda = get_data; + i2c->algo.bit.getscl = get_clock; + i2c->algo.bit.udelay = 20; /* vesa says 2.2 ms is enough, 1 jiffy doesn't seem to always * make this, 2 jiffies is a lot more reliable */ - i2c->algo.timeout = 2; - i2c->algo.data = i2c; + i2c->algo.bit.timeout = 2; + i2c->algo.bit.data = i2c; i2c->rec = *rec; - i2c_set_adapdata(&i2c->adapter, i2c); - ret = i2c_bit_add_bus(&i2c->adapter); if (ret) { DRM_INFO("Failed to register i2c %s\n", name); @@ -194,6 +213,38 @@ } +struct radeon_i2c_chan *radeon_i2c_create_dp(struct drm_device *dev, + struct radeon_i2c_bus_rec *rec, + const char *name) +{ + struct radeon_i2c_chan *i2c; + int ret; + + i2c = kzalloc(sizeof(struct radeon_i2c_chan), GFP_KERNEL); + if (i2c == NULL) + return NULL; + + i2c->rec = *rec; + i2c->adapter.owner = THIS_MODULE; + i2c->dev = dev; + i2c_set_adapdata(&i2c->adapter, i2c); + i2c->adapter.algo_data = &i2c->algo.dp; + i2c->algo.dp.aux_ch = radeon_dp_i2c_aux_ch; + i2c->algo.dp.address = 0; + ret = i2c_dp_aux_add_bus(&i2c->adapter); + if (ret) { + DRM_INFO("Failed to register i2c %s\n", name); + goto out_free; + } + + return i2c; +out_free: + kfree(i2c); + return NULL; + +} + + void radeon_i2c_destroy(struct radeon_i2c_chan *i2c) { if (!i2c) @@ -207,3 +258,59 @@ { return NULL; } + +void radeon_i2c_sw_get_byte(struct radeon_i2c_chan *i2c_bus, + u8 slave_addr, + u8 addr, + u8 *val) +{ + u8 out_buf[2]; + u8 in_buf[2]; + struct i2c_msg msgs[] = { + { + .addr = slave_addr, + .flags = 0, + .len = 1, + .buf = out_buf, + }, + { + .addr = slave_addr, + .flags = I2C_M_RD, + .len = 1, + .buf = in_buf, + } + }; + + out_buf[0] = addr; + out_buf[1] = 0; + + if (i2c_transfer(&i2c_bus->adapter, msgs, 2) == 2) { + *val = in_buf[0]; + DRM_DEBUG("val = 0x%02x\n", *val); + } else { + DRM_ERROR("i2c 0x%02x 0x%02x read failed\n", + addr, *val); + } +} + +void radeon_i2c_sw_put_byte(struct radeon_i2c_chan *i2c_bus, + u8 slave_addr, + u8 addr, + u8 val) +{ + uint8_t out_buf[2]; + struct i2c_msg msg = { + .addr = slave_addr, + .flags = 0, + .len = 2, + .buf = out_buf, + }; + + out_buf[0] = addr; + out_buf[1] = val; + + if (i2c_transfer(&i2c_bus->adapter, &msg, 1) != 1) + DRM_ERROR("i2c 0x%02x 0x%02x write failed\n", + addr, val); +} + --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_ioc32.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_ioc32.c @@ -92,8 +92,7 @@ &init->gart_textures_offset)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_RADEON_CP_INIT, (unsigned long)init); + return drm_ioctl(file, DRM_IOCTL_RADEON_CP_INIT, (unsigned long)init); } typedef struct drm_radeon_clear32 { @@ -125,8 +124,7 @@ &clr->depth_boxes)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_RADEON_CLEAR, (unsigned long)clr); + return drm_ioctl(file, DRM_IOCTL_RADEON_CLEAR, (unsigned long)clr); } typedef struct drm_radeon_stipple32 { @@ -149,8 +147,7 @@ &request->mask)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_RADEON_STIPPLE, (unsigned long)request); + return drm_ioctl(file, DRM_IOCTL_RADEON_STIPPLE, (unsigned long)request); } typedef struct drm_radeon_tex_image32 { @@ -204,8 +201,7 @@ &image->data)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_RADEON_TEXTURE, (unsigned long)request); + return drm_ioctl(file, DRM_IOCTL_RADEON_TEXTURE, (unsigned long)request); } typedef struct drm_radeon_vertex2_32 { @@ -238,8 +234,7 @@ &request->prim)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_RADEON_VERTEX2, (unsigned long)request); + return drm_ioctl(file, DRM_IOCTL_RADEON_VERTEX2, (unsigned long)request); } typedef struct drm_radeon_cmd_buffer32 { @@ -268,8 +263,7 @@ &request->boxes)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_RADEON_CMDBUF, (unsigned long)request); + return drm_ioctl(file, DRM_IOCTL_RADEON_CMDBUF, (unsigned long)request); } typedef struct drm_radeon_getparam32 { @@ -293,8 +287,7 @@ &request->value)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_RADEON_GETPARAM, (unsigned long)request); + return drm_ioctl(file, DRM_IOCTL_RADEON_GETPARAM, (unsigned long)request); } typedef struct drm_radeon_mem_alloc32 { @@ -322,8 +315,7 @@ &request->region_offset)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_RADEON_ALLOC, (unsigned long)request); + return drm_ioctl(file, DRM_IOCTL_RADEON_ALLOC, (unsigned long)request); } typedef struct drm_radeon_irq_emit32 { @@ -345,8 +337,7 @@ &request->irq_seq)) return -EFAULT; - return drm_ioctl(file->f_path.dentry->d_inode, file, - DRM_IOCTL_RADEON_IRQ_EMIT, (unsigned long)request); + return drm_ioctl(file, DRM_IOCTL_RADEON_IRQ_EMIT, (unsigned long)request); } /* The two 64-bit arches where alignof(u64)==4 in 32-bit code */ @@ -372,8 +363,7 @@ &request->value)) return -EFAULT; - return drm_ioctl(file->f_dentry->d_inode, file, - DRM_IOCTL_RADEON_SETPARAM, (unsigned long) request); + return drm_ioctl(file, DRM_IOCTL_RADEON_SETPARAM, (unsigned long) request); } #else #define compat_radeon_cp_setparam NULL @@ -413,12 +403,10 @@ if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(radeon_compat_ioctls)) fn = radeon_compat_ioctls[nr - DRM_COMMAND_BASE]; - lock_kernel(); /* XXX for now */ if (fn != NULL) ret = (*fn) (filp, cmd, arg); else - ret = drm_ioctl(filp->f_path.dentry->d_inode, filp, cmd, arg); - unlock_kernel(); + ret = drm_ioctl(filp, cmd, arg); return ret; } @@ -431,9 +419,7 @@ if (nr < DRM_COMMAND_BASE) return drm_compat_ioctl(filp, cmd, arg); - lock_kernel(); /* XXX for now */ - ret = drm_ioctl(filp->f_path.dentry->d_inode, filp, cmd, arg); - unlock_kernel(); + ret = drm_ioctl(filp, cmd, arg); return ret; } --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_irq.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_irq.c @@ -289,16 +289,16 @@ drm_radeon_irq_emit_t *emit = data; int result; - if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600) - return -EINVAL; - - LOCK_TEST_WITH_RETURN(dev, file_priv); - if (!dev_priv) { DRM_ERROR("called with no initialization\n"); return -EINVAL; } + if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600) + return -EINVAL; + + LOCK_TEST_WITH_RETURN(dev, file_priv); + result = radeon_emit_irq(dev); if (DRM_COPY_TO_USER(emit->irq_seq, &result, sizeof(int))) { --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_irq_kms.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_irq_kms.c @@ -39,11 +39,32 @@ return radeon_irq_process(rdev); } +/* + * Handle hotplug events outside the interrupt handler proper. + */ +static void radeon_hotplug_work_func(struct work_struct *work) +{ + struct radeon_device *rdev = container_of(work, struct radeon_device, + hotplug_work); + struct drm_device *dev = rdev->ddev; + struct drm_mode_config *mode_config = &dev->mode_config; + struct drm_connector *connector; + + if (mode_config->num_connector) { + list_for_each_entry(connector, &mode_config->connector_list, head) + radeon_connector_hotplug(connector); + } + /* Just fire off a uevent and let userspace tell us what to do */ + drm_sysfs_hotplug_event(dev); +} + void radeon_driver_irq_preinstall_kms(struct drm_device *dev) { struct radeon_device *rdev = dev->dev_private; unsigned i; + INIT_WORK(&rdev->hotplug_work, radeon_hotplug_work_func); + /* Disable *all* interrupts */ rdev->irq.sw_int = false; for (i = 0; i < 2; i++) { @@ -76,6 +97,7 @@ rdev->irq.sw_int = false; for (i = 0; i < 2; i++) { rdev->irq.crtc_vblank_int[i] = false; + rdev->irq.hpd[i] = false; } radeon_irq_set(rdev); } @@ -87,30 +109,68 @@ if (rdev->flags & RADEON_SINGLE_CRTC) num_crtc = 1; - + spin_lock_init(&rdev->irq.sw_lock); r = drm_vblank_init(rdev->ddev, num_crtc); if (r) { return r; } /* enable msi */ rdev->msi_enabled = 0; - if (rdev->family >= CHIP_RV380) { + /* MSIs don't seem to work reliably on all IGP + * chips. Disable MSI on them for now. + */ + if ((rdev->family >= CHIP_RV380) && + (!(rdev->flags & RADEON_IS_IGP)) && + (!(rdev->flags & RADEON_IS_AGP))) { int ret = pci_enable_msi(rdev->pdev); - if (!ret) + if (!ret) { rdev->msi_enabled = 1; + dev_info(rdev->dev, "radeon: using MSI.\n"); + } } - drm_irq_install(rdev->ddev); rdev->irq.installed = true; + r = drm_irq_install(rdev->ddev); + if (r) { + rdev->irq.installed = false; + return r; + } DRM_INFO("radeon: irq initialized.\n"); return 0; } void radeon_irq_kms_fini(struct radeon_device *rdev) { + drm_vblank_cleanup(rdev->ddev); if (rdev->irq.installed) { - rdev->irq.installed = false; drm_irq_uninstall(rdev->ddev); + rdev->irq.installed = false; if (rdev->msi_enabled) pci_disable_msi(rdev->pdev); } } + +void radeon_irq_kms_sw_irq_get(struct radeon_device *rdev) +{ + unsigned long irqflags; + + spin_lock_irqsave(&rdev->irq.sw_lock, irqflags); + if (rdev->ddev->irq_enabled && (++rdev->irq.sw_refcount == 1)) { + rdev->irq.sw_int = true; + radeon_irq_set(rdev); + } + spin_unlock_irqrestore(&rdev->irq.sw_lock, irqflags); +} + +void radeon_irq_kms_sw_irq_put(struct radeon_device *rdev) +{ + unsigned long irqflags; + + spin_lock_irqsave(&rdev->irq.sw_lock, irqflags); + BUG_ON(rdev->ddev->irq_enabled && rdev->irq.sw_refcount <= 0); + if (rdev->ddev->irq_enabled && (--rdev->irq.sw_refcount == 0)) { + rdev->irq.sw_int = false; + radeon_irq_set(rdev); + } + spin_unlock_irqrestore(&rdev->irq.sw_lock, irqflags); +} + --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_kms.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_kms.c @@ -30,10 +30,19 @@ #include "radeon.h" #include "radeon_drm.h" +int radeon_driver_unload_kms(struct drm_device *dev) +{ + struct radeon_device *rdev = dev->dev_private; + + if (rdev == NULL) + return 0; + radeon_modeset_fini(rdev); + radeon_device_fini(rdev); + kfree(rdev); + dev->dev_private = NULL; + return 0; +} -/* - * Driver load/unload - */ int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags) { struct radeon_device *rdev; @@ -62,31 +71,20 @@ */ r = radeon_device_init(rdev, dev, dev->pdev, flags); if (r) { - DRM_ERROR("Fatal error while trying to initialize radeon.\n"); - return r; + dev_err(&dev->pdev->dev, "Fatal error during GPU init\n"); + goto out; } /* Again modeset_init should fail only on fatal error * otherwise it should provide enough functionalities * for shadowfb to run */ r = radeon_modeset_init(rdev); - if (r) { - return r; - } - return 0; -} - -int radeon_driver_unload_kms(struct drm_device *dev) -{ - struct radeon_device *rdev = dev->dev_private; - - if (rdev == NULL) - return 0; - radeon_modeset_fini(rdev); - radeon_device_fini(rdev); - kfree(rdev); - dev->dev_private = NULL; - return 0; + if (r) + dev_err(&dev->pdev->dev, "Fatal error during modeset init\n"); +out: + if (r) + radeon_driver_unload_kms(dev); + return r; } --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_legacy_crtc.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_legacy_crtc.c @@ -30,9 +30,20 @@ #include "radeon.h" #include "atom.h" +static void radeon_overscan_setup(struct drm_crtc *crtc, + struct drm_display_mode *mode) +{ + struct drm_device *dev = crtc->dev; + struct radeon_device *rdev = dev->dev_private; + struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); + + WREG32(RADEON_OVR_CLR + radeon_crtc->crtc_offset, 0); + WREG32(RADEON_OVR_WID_LEFT_RIGHT + radeon_crtc->crtc_offset, 0); + WREG32(RADEON_OVR_WID_TOP_BOTTOM + radeon_crtc->crtc_offset, 0); +} + static void radeon_legacy_rmx_mode_set(struct drm_crtc *crtc, - struct drm_display_mode *mode, - struct drm_display_mode *adjusted_mode) + struct drm_display_mode *mode) { struct drm_device *dev = crtc->dev; struct radeon_device *rdev = dev->dev_private; @@ -261,7 +272,7 @@ if (!ref_div) return 1; - vcoFreq = ((unsigned)ref_freq & fb_div) / ref_div; + vcoFreq = ((unsigned)ref_freq * fb_div) / ref_div; /* * This is horribly crude: the VCO frequency range is divided into @@ -292,8 +303,7 @@ uint32_t mask; if (radeon_crtc->crtc_id) - mask = (RADEON_CRTC2_EN | - RADEON_CRTC2_DISP_DIS | + mask = (RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_VSYNC_DIS | RADEON_CRTC2_HSYNC_DIS | RADEON_CRTC2_DISP_REQ_EN_B); @@ -305,7 +315,7 @@ switch (mode) { case DRM_MODE_DPMS_ON: if (radeon_crtc->crtc_id) - WREG32_P(RADEON_CRTC2_GEN_CNTL, RADEON_CRTC2_EN, ~mask); + WREG32_P(RADEON_CRTC2_GEN_CNTL, RADEON_CRTC2_EN, ~(RADEON_CRTC2_EN | mask)); else { WREG32_P(RADEON_CRTC_GEN_CNTL, RADEON_CRTC_EN, ~(RADEON_CRTC_EN | RADEON_CRTC_DISP_REQ_EN_B)); @@ -319,7 +329,7 @@ case DRM_MODE_DPMS_OFF: drm_vblank_pre_modeset(dev, radeon_crtc->crtc_id); if (radeon_crtc->crtc_id) - WREG32_P(RADEON_CRTC2_GEN_CNTL, mask, ~mask); + WREG32_P(RADEON_CRTC2_GEN_CNTL, mask, ~(RADEON_CRTC2_EN | mask)); else { WREG32_P(RADEON_CRTC_GEN_CNTL, RADEON_CRTC_DISP_REQ_EN_B, ~(RADEON_CRTC_EN | RADEON_CRTC_DISP_REQ_EN_B)); @@ -329,69 +339,6 @@ } } -/* properly set crtc bpp when using atombios */ -void radeon_legacy_atom_set_surface(struct drm_crtc *crtc) -{ - struct drm_device *dev = crtc->dev; - struct radeon_device *rdev = dev->dev_private; - struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); - int format; - uint32_t crtc_gen_cntl; - uint32_t disp_merge_cntl; - uint32_t crtc_pitch; - - switch (crtc->fb->bits_per_pixel) { - case 8: - format = 2; - break; - case 15: /* 555 */ - format = 3; - break; - case 16: /* 565 */ - format = 4; - break; - case 24: /* RGB */ - format = 5; - break; - case 32: /* xRGB */ - format = 6; - break; - default: - return; - } - - crtc_pitch = ((((crtc->fb->pitch / (crtc->fb->bits_per_pixel / 8)) * crtc->fb->bits_per_pixel) + - ((crtc->fb->bits_per_pixel * 8) - 1)) / - (crtc->fb->bits_per_pixel * 8)); - crtc_pitch |= crtc_pitch << 16; - - WREG32(RADEON_CRTC_PITCH + radeon_crtc->crtc_offset, crtc_pitch); - - switch (radeon_crtc->crtc_id) { - case 0: - disp_merge_cntl = RREG32(RADEON_DISP_MERGE_CNTL); - disp_merge_cntl &= ~RADEON_DISP_RGB_OFFSET_EN; - WREG32(RADEON_DISP_MERGE_CNTL, disp_merge_cntl); - - crtc_gen_cntl = RREG32(RADEON_CRTC_GEN_CNTL) & 0xfffff0ff; - crtc_gen_cntl |= (format << 8); - crtc_gen_cntl |= RADEON_CRTC_EXT_DISP_EN; - WREG32(RADEON_CRTC_GEN_CNTL, crtc_gen_cntl); - break; - case 1: - disp_merge_cntl = RREG32(RADEON_DISP2_MERGE_CNTL); - disp_merge_cntl &= ~RADEON_DISP2_RGB_OFFSET_EN; - WREG32(RADEON_DISP2_MERGE_CNTL, disp_merge_cntl); - - crtc_gen_cntl = RREG32(RADEON_CRTC2_GEN_CNTL) & 0xfffff0ff; - crtc_gen_cntl |= (format << 8); - WREG32(RADEON_CRTC2_GEN_CNTL, crtc_gen_cntl); - WREG32(RADEON_FP_H2_SYNC_STRT_WID, RREG32(RADEON_CRTC2_H_SYNC_STRT_WID)); - WREG32(RADEON_FP_V2_SYNC_STRT_WID, RREG32(RADEON_CRTC2_V_SYNC_STRT_WID)); - break; - } -} - int radeon_crtc_set_base(struct drm_crtc *crtc, int x, int y, struct drm_framebuffer *old_fb) { @@ -400,14 +347,21 @@ struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); struct radeon_framebuffer *radeon_fb; struct drm_gem_object *obj; + struct radeon_bo *rbo; uint64_t base; uint32_t crtc_offset, crtc_offset_cntl, crtc_tile_x0_y0 = 0; uint32_t crtc_pitch, pitch_pixels; uint32_t tiling_flags; int format; uint32_t gen_cntl_reg, gen_cntl_val; + int r; DRM_DEBUG("\n"); + /* no fb bound */ + if (!crtc->fb) { + DRM_DEBUG("No FB bound\n"); + return 0; + } radeon_fb = to_radeon_framebuffer(crtc->fb); @@ -431,10 +385,22 @@ return false; } + /* Pin framebuffer & get tilling informations */ obj = radeon_fb->obj; - if (radeon_gem_object_pin(obj, RADEON_GEM_DOMAIN_VRAM, &base)) { + rbo = obj->driver_private; + r = radeon_bo_reserve(rbo, false); + if (unlikely(r != 0)) + return r; + r = radeon_bo_pin(rbo, RADEON_GEM_DOMAIN_VRAM, &base); + if (unlikely(r != 0)) { + radeon_bo_unreserve(rbo); return -EINVAL; } + radeon_bo_get_tiling_flags(rbo, &tiling_flags, NULL); + radeon_bo_unreserve(rbo); + if (tiling_flags & RADEON_TILING_MICRO) + DRM_ERROR("trying to scanout microtiled buffer\n"); + /* if scanout was in GTT this really wouldn't work */ /* crtc offset is from display base addr not FB location */ radeon_crtc->legacy_display_base_addr = rdev->mc.vram_location; @@ -449,10 +415,6 @@ (crtc->fb->bits_per_pixel * 8)); crtc_pitch |= crtc_pitch << 16; - radeon_object_get_tiling_flags(obj->driver_private, - &tiling_flags, NULL); - if (tiling_flags & RADEON_TILING_MICRO) - DRM_ERROR("trying to scanout microtiled buffer\n"); if (tiling_flags & RADEON_TILING_MACRO) { if (ASIC_IS_R300(rdev)) @@ -530,7 +492,12 @@ if (old_fb && old_fb != crtc->fb) { radeon_fb = to_radeon_framebuffer(old_fb); - radeon_gem_object_unpin(radeon_fb->obj); + rbo = radeon_fb->obj->driver_private; + r = radeon_bo_reserve(rbo, false); + if (unlikely(r != 0)) + return r; + radeon_bo_unpin(rbo); + radeon_bo_unreserve(rbo); } /* Bytes per pixel may have changed */ @@ -642,12 +609,8 @@ uint32_t crtc2_gen_cntl; uint32_t disp2_merge_cntl; - /* check to see if TV DAC is enabled for another crtc and keep it enabled */ - if (RREG32(RADEON_CRTC2_GEN_CNTL) & RADEON_CRTC2_CRT2_ON) - crtc2_gen_cntl = RADEON_CRTC2_CRT2_ON; - else - crtc2_gen_cntl = 0; - + /* if TV DAC is enabled for another crtc and keep it enabled */ + crtc2_gen_cntl = RREG32(RADEON_CRTC2_GEN_CNTL) & 0x00718080; crtc2_gen_cntl |= ((format << 8) | RADEON_CRTC2_VSYNC_DIS | RADEON_CRTC2_HSYNC_DIS @@ -676,7 +639,8 @@ uint32_t crtc_ext_cntl; uint32_t disp_merge_cntl; - crtc_gen_cntl = (RADEON_CRTC_EXT_DISP_EN + crtc_gen_cntl = RREG32(RADEON_CRTC_GEN_CNTL) & 0x00718000; + crtc_gen_cntl |= (RADEON_CRTC_EXT_DISP_EN | (format << 8) | RADEON_CRTC_DISP_REQ_EN_B | ((mode->flags & DRM_MODE_FLAG_DBLSCAN) @@ -728,7 +692,6 @@ uint32_t post_divider = 0; uint32_t freq = 0; uint8_t pll_gain; - int pll_flags = RADEON_PLL_LEGACY; bool use_bios_divs = false; /* PLL registers */ uint32_t pll_ref_div = 0; @@ -762,10 +725,16 @@ else pll = &rdev->clock.p1pll; + pll->flags = RADEON_PLL_LEGACY; + if (radeon_new_pll == 1) + pll->algo = PLL_ALGO_NEW; + else + pll->algo = PLL_ALGO_LEGACY; + if (mode->clock > 200000) /* range limits??? */ - pll_flags |= RADEON_PLL_PREFER_HIGH_FB_DIV; + pll->flags |= RADEON_PLL_PREFER_HIGH_FB_DIV; else - pll_flags |= RADEON_PLL_PREFER_LOW_REF_DIV; + pll->flags |= RADEON_PLL_PREFER_LOW_REF_DIV; list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { if (encoder->crtc == crtc) { @@ -777,20 +746,22 @@ } if (encoder->encoder_type != DRM_MODE_ENCODER_DAC) - pll_flags |= RADEON_PLL_NO_ODD_POST_DIV; + pll->flags |= RADEON_PLL_NO_ODD_POST_DIV; if (encoder->encoder_type == DRM_MODE_ENCODER_LVDS) { - struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); - struct radeon_encoder_lvds *lvds = (struct radeon_encoder_lvds *)radeon_encoder->enc_priv; - if (lvds) { - if (lvds->use_bios_dividers) { - pll_ref_div = lvds->panel_ref_divider; - pll_fb_post_div = (lvds->panel_fb_divider | - (lvds->panel_post_divider << 16)); - htotal_cntl = 0; - use_bios_divs = true; + if (!rdev->is_atom_bios) { + struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); + struct radeon_encoder_lvds *lvds = (struct radeon_encoder_lvds *)radeon_encoder->enc_priv; + if (lvds) { + if (lvds->use_bios_dividers) { + pll_ref_div = lvds->panel_ref_divider; + pll_fb_post_div = (lvds->panel_fb_divider | + (lvds->panel_post_divider << 16)); + htotal_cntl = 0; + use_bios_divs = true; + } } } - pll_flags |= RADEON_PLL_USE_REF_DIV; + pll->flags |= RADEON_PLL_USE_REF_DIV; } } } @@ -800,8 +771,7 @@ if (!use_bios_divs) { radeon_compute_pll(pll, mode->clock, &freq, &feedback_div, &frac_fb_div, - &reference_div, &post_divider, - pll_flags); + &reference_div, &post_divider); for (post_div = &post_divs[0]; post_div->divider; ++post_div) { if (post_div->divider == post_divider) @@ -1027,8 +997,9 @@ radeon_crtc_set_base(crtc, x, y, old_fb); radeon_set_crtc_timing(crtc, adjusted_mode); radeon_set_pll(crtc, adjusted_mode); + radeon_overscan_setup(crtc, adjusted_mode); if (radeon_crtc->crtc_id == 0) { - radeon_legacy_rmx_mode_set(crtc, mode, adjusted_mode); + radeon_legacy_rmx_mode_set(crtc, adjusted_mode); } else { if (radeon_crtc->rmx_type != RMX_OFF) { /* FIXME: only first crtc has rmx what should we @@ -1042,12 +1013,29 @@ static void radeon_crtc_prepare(struct drm_crtc *crtc) { - radeon_crtc_dpms(crtc, DRM_MODE_DPMS_OFF); + struct drm_device *dev = crtc->dev; + struct drm_crtc *crtci; + + /* + * The hardware wedges sometimes if you reconfigure one CRTC + * whilst another is running (see fdo bug #24611). + */ + list_for_each_entry(crtci, &dev->mode_config.crtc_list, head) + radeon_crtc_dpms(crtci, DRM_MODE_DPMS_OFF); } static void radeon_crtc_commit(struct drm_crtc *crtc) { - radeon_crtc_dpms(crtc, DRM_MODE_DPMS_ON); + struct drm_device *dev = crtc->dev; + struct drm_crtc *crtci; + + /* + * Reenable the CRTCs that should be running. + */ + list_for_each_entry(crtci, &dev->mode_config.crtc_list, head) { + if (crtci->enabled) + radeon_crtc_dpms(crtci, DRM_MODE_DPMS_ON); + } } static const struct drm_crtc_helper_funcs legacy_helper_funcs = { --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_legacy_encoders.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_legacy_encoders.c @@ -46,6 +46,7 @@ struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); uint32_t lvds_gen_cntl, lvds_pll_cntl, pixclks_cntl, disp_pwr_man; int panel_pwr_delay = 2000; + bool is_mac = false; DRM_DEBUG("\n"); if (radeon_encoder->enc_priv) { @@ -58,6 +59,15 @@ } } + /* macs (and possibly some x86 oem systems?) wire up LVDS strangely + * Taken from radeonfb. + */ + if ((rdev->mode_info.connector_table == CT_IBOOK) || + (rdev->mode_info.connector_table == CT_POWERBOOK_EXTERNAL) || + (rdev->mode_info.connector_table == CT_POWERBOOK_INTERNAL) || + (rdev->mode_info.connector_table == CT_POWERBOOK_VGA)) + is_mac = true; + switch (mode) { case DRM_MODE_DPMS_ON: disp_pwr_man = RREG32(RADEON_DISP_PWR_MAN); @@ -74,6 +84,8 @@ lvds_gen_cntl = RREG32(RADEON_LVDS_GEN_CNTL); lvds_gen_cntl |= (RADEON_LVDS_ON | RADEON_LVDS_EN | RADEON_LVDS_DIGON | RADEON_LVDS_BLON); + if (is_mac) + lvds_gen_cntl |= RADEON_LVDS_BL_MOD_EN; lvds_gen_cntl &= ~(RADEON_LVDS_DISPLAY_DIS); udelay(panel_pwr_delay * 1000); WREG32(RADEON_LVDS_GEN_CNTL, lvds_gen_cntl); @@ -85,10 +97,18 @@ WREG32_PLL_P(RADEON_PIXCLKS_CNTL, 0, ~RADEON_PIXCLK_LVDS_ALWAYS_ONb); lvds_gen_cntl = RREG32(RADEON_LVDS_GEN_CNTL); lvds_gen_cntl |= RADEON_LVDS_DISPLAY_DIS; - lvds_gen_cntl &= ~(RADEON_LVDS_ON | RADEON_LVDS_BLON | RADEON_LVDS_EN | RADEON_LVDS_DIGON); + if (is_mac) { + lvds_gen_cntl &= ~RADEON_LVDS_BL_MOD_EN; + WREG32(RADEON_LVDS_GEN_CNTL, lvds_gen_cntl); + lvds_gen_cntl &= ~(RADEON_LVDS_ON | RADEON_LVDS_EN); + } else { + WREG32(RADEON_LVDS_GEN_CNTL, lvds_gen_cntl); + lvds_gen_cntl &= ~(RADEON_LVDS_ON | RADEON_LVDS_BLON | RADEON_LVDS_EN | RADEON_LVDS_DIGON); + } udelay(panel_pwr_delay * 1000); WREG32(RADEON_LVDS_GEN_CNTL, lvds_gen_cntl); WREG32_PLL(RADEON_PIXCLKS_CNTL, pixclks_cntl); + udelay(panel_pwr_delay * 1000); break; } @@ -136,7 +156,14 @@ lvds_pll_cntl &= ~RADEON_LVDS_PLL_EN; lvds_ss_gen_cntl = RREG32(RADEON_LVDS_SS_GEN_CNTL); - if ((!rdev->is_atom_bios)) { + if (rdev->is_atom_bios) { + /* LVDS_GEN_CNTL parameters are computed in LVDSEncoderControl + * need to call that on resume to set up the reg properly. + */ + radeon_encoder->pixel_clock = adjusted_mode->clock; + atombios_digital_setup(encoder, PANEL_ENCODER_ACTION_ENABLE); + lvds_gen_cntl = RREG32(RADEON_LVDS_GEN_CNTL); + } else { struct radeon_encoder_lvds *lvds = (struct radeon_encoder_lvds *)radeon_encoder->enc_priv; if (lvds) { DRM_DEBUG("bios LVDS_GEN_CNTL: 0x%x\n", lvds->lvds_gen_cntl); @@ -147,8 +174,7 @@ (lvds->panel_blon_delay << RADEON_LVDS_PWRSEQ_DELAY2_SHIFT)); } else lvds_gen_cntl = RREG32(RADEON_LVDS_GEN_CNTL); - } else - lvds_gen_cntl = RREG32(RADEON_LVDS_GEN_CNTL); + } lvds_gen_cntl |= RADEON_LVDS_DISPLAY_DIS; lvds_gen_cntl &= ~(RADEON_LVDS_ON | RADEON_LVDS_BLON | @@ -184,9 +210,9 @@ radeon_combios_encoder_crtc_scratch_regs(encoder, radeon_crtc->crtc_id); } -static bool radeon_legacy_lvds_mode_fixup(struct drm_encoder *encoder, - struct drm_display_mode *mode, - struct drm_display_mode *adjusted_mode) +static bool radeon_legacy_mode_fixup(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) { struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); @@ -194,15 +220,24 @@ radeon_encoder_set_active_device(encoder); drm_mode_set_crtcinfo(adjusted_mode, 0); - if (radeon_encoder->rmx_type != RMX_OFF) - radeon_rmx_mode_fixup(encoder, mode, adjusted_mode); + /* get the native mode for LVDS */ + if (radeon_encoder->active_device & (ATOM_DEVICE_LCD_SUPPORT)) { + struct drm_display_mode *native_mode = &radeon_encoder->native_mode; + int mode_id = adjusted_mode->base.id; + *adjusted_mode = *native_mode; + adjusted_mode->hdisplay = mode->hdisplay; + adjusted_mode->vdisplay = mode->vdisplay; + adjusted_mode->crtc_hdisplay = mode->hdisplay; + adjusted_mode->crtc_vdisplay = mode->vdisplay; + adjusted_mode->base.id = mode_id; + } return true; } static const struct drm_encoder_helper_funcs radeon_legacy_lvds_helper_funcs = { .dpms = radeon_legacy_lvds_dpms, - .mode_fixup = radeon_legacy_lvds_mode_fixup, + .mode_fixup = radeon_legacy_mode_fixup, .prepare = radeon_legacy_lvds_prepare, .mode_set = radeon_legacy_lvds_mode_set, .commit = radeon_legacy_lvds_commit, @@ -214,17 +249,6 @@ .destroy = radeon_enc_destroy, }; -static bool radeon_legacy_primary_dac_mode_fixup(struct drm_encoder *encoder, - struct drm_display_mode *mode, - struct drm_display_mode *adjusted_mode) -{ - /* set the active encoder to connector routing */ - radeon_encoder_set_active_device(encoder); - drm_mode_set_crtcinfo(adjusted_mode, 0); - - return true; -} - static void radeon_legacy_primary_dac_dpms(struct drm_encoder *encoder, int mode) { struct drm_device *dev = encoder->dev; @@ -410,7 +434,7 @@ static const struct drm_encoder_helper_funcs radeon_legacy_primary_dac_helper_funcs = { .dpms = radeon_legacy_primary_dac_dpms, - .mode_fixup = radeon_legacy_primary_dac_mode_fixup, + .mode_fixup = radeon_legacy_mode_fixup, .prepare = radeon_legacy_primary_dac_prepare, .mode_set = radeon_legacy_primary_dac_mode_set, .commit = radeon_legacy_primary_dac_commit, @@ -423,16 +447,6 @@ .destroy = radeon_enc_destroy, }; -static bool radeon_legacy_tmds_int_mode_fixup(struct drm_encoder *encoder, - struct drm_display_mode *mode, - struct drm_display_mode *adjusted_mode) -{ - - drm_mode_set_crtcinfo(adjusted_mode, 0); - - return true; -} - static void radeon_legacy_tmds_int_dpms(struct drm_encoder *encoder, int mode) { struct drm_device *dev = encoder->dev; @@ -584,7 +598,7 @@ static const struct drm_encoder_helper_funcs radeon_legacy_tmds_int_helper_funcs = { .dpms = radeon_legacy_tmds_int_dpms, - .mode_fixup = radeon_legacy_tmds_int_mode_fixup, + .mode_fixup = radeon_legacy_mode_fixup, .prepare = radeon_legacy_tmds_int_prepare, .mode_set = radeon_legacy_tmds_int_mode_set, .commit = radeon_legacy_tmds_int_commit, @@ -596,17 +610,6 @@ .destroy = radeon_enc_destroy, }; -static bool radeon_legacy_tmds_ext_mode_fixup(struct drm_encoder *encoder, - struct drm_display_mode *mode, - struct drm_display_mode *adjusted_mode) -{ - /* set the active encoder to connector routing */ - radeon_encoder_set_active_device(encoder); - drm_mode_set_crtcinfo(adjusted_mode, 0); - - return true; -} - static void radeon_legacy_tmds_ext_dpms(struct drm_encoder *encoder, int mode) { struct drm_device *dev = encoder->dev; @@ -697,6 +700,8 @@ /*if (mode->clock > 165000) fp2_gen_cntl |= R300_FP2_DVO_DUAL_CHANNEL_EN;*/ } + if (!radeon_combios_external_tmds_setup(encoder)) + radeon_external_tmds_setup(encoder); } if (radeon_crtc->crtc_id == 0) { @@ -724,9 +729,22 @@ radeon_combios_encoder_crtc_scratch_regs(encoder, radeon_crtc->crtc_id); } +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); + } + kfree(radeon_encoder->enc_priv); + drm_encoder_cleanup(encoder); + kfree(radeon_encoder); +} + static const struct drm_encoder_helper_funcs radeon_legacy_tmds_ext_helper_funcs = { .dpms = radeon_legacy_tmds_ext_dpms, - .mode_fixup = radeon_legacy_tmds_ext_mode_fixup, + .mode_fixup = radeon_legacy_mode_fixup, .prepare = radeon_legacy_tmds_ext_prepare, .mode_set = radeon_legacy_tmds_ext_mode_set, .commit = radeon_legacy_tmds_ext_commit, @@ -735,20 +753,9 @@ static const struct drm_encoder_funcs radeon_legacy_tmds_ext_enc_funcs = { - .destroy = radeon_enc_destroy, + .destroy = radeon_ext_tmds_enc_destroy, }; -static bool radeon_legacy_tv_dac_mode_fixup(struct drm_encoder *encoder, - struct drm_display_mode *mode, - struct drm_display_mode *adjusted_mode) -{ - /* set the active encoder to connector routing */ - radeon_encoder_set_active_device(encoder); - drm_mode_set_crtcinfo(adjusted_mode, 0); - - return true; -} - static void radeon_legacy_tv_dac_dpms(struct drm_encoder *encoder, int mode) { struct drm_device *dev = encoder->dev; @@ -1265,7 +1272,7 @@ static const struct drm_encoder_helper_funcs radeon_legacy_tv_dac_helper_funcs = { .dpms = radeon_legacy_tv_dac_dpms, - .mode_fixup = radeon_legacy_tv_dac_mode_fixup, + .mode_fixup = radeon_legacy_mode_fixup, .prepare = radeon_legacy_tv_dac_prepare, .mode_set = radeon_legacy_tv_dac_mode_set, .commit = radeon_legacy_tv_dac_commit, @@ -1302,6 +1309,29 @@ return tmds; } +static struct radeon_encoder_ext_tmds *radeon_legacy_get_ext_tmds_info(struct radeon_encoder *encoder) +{ + struct drm_device *dev = encoder->base.dev; + struct radeon_device *rdev = dev->dev_private; + struct radeon_encoder_ext_tmds *tmds = NULL; + bool ret; + + if (rdev->is_atom_bios) + return NULL; + + tmds = kzalloc(sizeof(struct radeon_encoder_ext_tmds), GFP_KERNEL); + + if (!tmds) + return NULL; + + ret = radeon_legacy_get_ext_tmds_info_from_combios(encoder, tmds); + + if (ret == false) + radeon_legacy_get_ext_tmds_info_from_table(encoder, tmds); + + return tmds; +} + void radeon_add_legacy_encoder(struct drm_device *dev, uint32_t encoder_id, uint32_t supported_device) { @@ -1329,7 +1359,6 @@ encoder->possible_crtcs = 0x1; else encoder->possible_crtcs = 0x3; - encoder->possible_clones = 0; radeon_encoder->enc_priv = NULL; @@ -1373,7 +1402,7 @@ drm_encoder_init(dev, encoder, &radeon_legacy_tmds_ext_enc_funcs, DRM_MODE_ENCODER_TMDS); drm_encoder_helper_add(encoder, &radeon_legacy_tmds_ext_helper_funcs); if (!rdev->is_atom_bios) - radeon_combios_get_ext_tmds_info(radeon_encoder); + radeon_encoder->enc_priv = radeon_legacy_get_ext_tmds_info(radeon_encoder); break; } } --- linux-2.6.32.orig/drivers/gpu/drm/radeon/mkregtable.c +++ linux-2.6.32/drivers/gpu/drm/radeon/mkregtable.c @@ -661,8 +661,10 @@ fseek(file, 0, SEEK_SET); /* get header */ - if (fgets(buf, 1024, file) == NULL) + if (fgets(buf, 1024, file) == NULL) { + fclose(file); return -1; + } /* first line will contain the last register * and gpu name */ --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_mode.h +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_mode.h @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -45,32 +46,6 @@ #define to_radeon_encoder(x) container_of(x, struct radeon_encoder, base) #define to_radeon_framebuffer(x) container_of(x, struct radeon_framebuffer, base) -enum radeon_connector_type { - CONNECTOR_NONE, - CONNECTOR_VGA, - CONNECTOR_DVI_I, - CONNECTOR_DVI_D, - CONNECTOR_DVI_A, - CONNECTOR_STV, - CONNECTOR_CTV, - CONNECTOR_LVDS, - CONNECTOR_DIGITAL, - CONNECTOR_SCART, - CONNECTOR_HDMI_TYPE_A, - CONNECTOR_HDMI_TYPE_B, - CONNECTOR_0XC, - CONNECTOR_0XD, - CONNECTOR_DIN, - CONNECTOR_DISPLAY_PORT, - CONNECTOR_UNSUPPORTED -}; - -enum radeon_dvi_type { - DVI_AUTO, - DVI_DIGITAL, - DVI_ANALOG -}; - enum radeon_rmx_type { RMX_OFF, RMX_FULL, @@ -87,26 +62,48 @@ TV_STD_SCART_PAL, TV_STD_SECAM, TV_STD_PAL_CN, + TV_STD_PAL_N, }; +/* radeon gpio-based i2c + * 1. "mask" reg and bits + * grabs the gpio pins for software use + * 0=not held 1=held + * 2. "a" reg and bits + * output pin value + * 0=low 1=high + * 3. "en" reg and bits + * sets the pin direction + * 0=input 1=output + * 4. "y" reg and bits + * input pin value + * 0=low 1=high + */ struct radeon_i2c_bus_rec { bool valid; + /* id used by atom */ + uint8_t i2c_id; + /* can be used with hw i2c engine */ + bool hw_capable; + /* uses multi-media i2c engine */ + bool mm_i2c; + /* regs and bits */ uint32_t mask_clk_reg; uint32_t mask_data_reg; uint32_t a_clk_reg; uint32_t a_data_reg; - uint32_t put_clk_reg; - uint32_t put_data_reg; - uint32_t get_clk_reg; - uint32_t get_data_reg; + uint32_t en_clk_reg; + uint32_t en_data_reg; + uint32_t y_clk_reg; + uint32_t y_data_reg; uint32_t mask_clk_mask; uint32_t mask_data_mask; - uint32_t put_clk_mask; - uint32_t put_data_mask; - uint32_t get_clk_mask; - uint32_t get_data_mask; uint32_t a_clk_mask; uint32_t a_data_mask; + uint32_t en_clk_mask; + uint32_t en_data_mask; + uint32_t y_clk_mask; + uint32_t y_data_mask; }; struct radeon_tmds_pll { @@ -116,6 +113,7 @@ #define RADEON_MAX_BIOS_CONNECTOR 16 +/* pll flags */ #define RADEON_PLL_USE_BIOS_DIVS (1 << 0) #define RADEON_PLL_NO_ODD_POST_DIV (1 << 1) #define RADEON_PLL_USE_REF_DIV (1 << 2) @@ -128,16 +126,30 @@ #define RADEON_PLL_PREFER_HIGH_POST_DIV (1 << 9) #define RADEON_PLL_USE_FRAC_FB_DIV (1 << 10) #define RADEON_PLL_PREFER_CLOSEST_LOWER (1 << 11) +#define RADEON_PLL_USE_POST_DIV (1 << 12) + +/* pll algo */ +enum radeon_pll_algo { + PLL_ALGO_LEGACY, + PLL_ALGO_NEW +}; struct radeon_pll { - uint16_t reference_freq; - uint16_t reference_div; + /* reference frequency */ + uint32_t reference_freq; + + /* fixed dividers */ + uint32_t reference_div; + uint32_t post_div; + + /* pll in/out limits */ uint32_t pll_in_min; uint32_t pll_in_max; uint32_t pll_out_min; uint32_t pll_out_max; - uint16_t xclk; + uint32_t best_vco; + /* divider limits */ uint32_t min_ref_div; uint32_t max_ref_div; uint32_t min_post_div; @@ -146,13 +158,23 @@ uint32_t max_feedback_div; uint32_t min_frac_feedback_div; uint32_t max_frac_feedback_div; - uint32_t best_vco; + + /* flags for the current clock */ + uint32_t flags; + + /* pll id */ + uint32_t id; + /* pll algo */ + enum radeon_pll_algo algo; }; struct radeon_i2c_chan { - struct drm_device *dev; struct i2c_adapter adapter; - struct i2c_algo_bit_data algo; + struct drm_device *dev; + union { + struct i2c_algo_dp_aux_data dp; + struct i2c_algo_bit_data bit; + } algo; struct radeon_i2c_bus_rec rec; }; @@ -170,6 +192,11 @@ CT_EMAC, }; +enum radeon_dvo_chip { + DVO_SIL164, + DVO_SIL1178, +}; + struct radeon_mode_info { struct atom_context *atom_context; struct card_info *atom_card_info; @@ -261,6 +288,13 @@ struct radeon_tmds_pll tmds_pll[4]; }; +struct radeon_encoder_ext_tmds { + /* tmds over dvo */ + struct radeon_i2c_chan *i2c_bus; + uint8_t slave_addr; + enum radeon_dvo_chip dvo_chip; +}; + /* spread spectrum */ struct radeon_atom_ss { uint16_t percentage; @@ -274,10 +308,11 @@ struct radeon_encoder_atom_dig { /* atom dig */ bool coherent_mode; - int dig_block; + int dig_encoder; /* -1 disabled, 0 DIGA, 1 DIGB */ /* atom lvds */ uint32_t lvds_misc; uint16_t panel_pwr_delay; + enum radeon_pll_algo pll_algo; struct radeon_atom_ss *ss; /* panel mode */ struct drm_display_mode native_mode; @@ -297,11 +332,43 @@ enum radeon_rmx_type rmx_type; struct drm_display_mode native_mode; void *enc_priv; + int hdmi_offset; + int hdmi_audio_workaround; + int hdmi_buffer_status; }; struct radeon_connector_atom_dig { uint32_t igp_lane_info; bool linkb; + /* displayport */ + struct radeon_i2c_chan *dp_i2c_bus; + u8 dpcd[8]; + u8 dp_sink_type; + int dp_clock; + int dp_lane_count; +}; + +struct radeon_gpio_rec { + bool valid; + u8 id; + u32 reg; + u32 mask; +}; + +enum radeon_hpd_id { + RADEON_HPD_NONE = 0, + RADEON_HPD_1, + RADEON_HPD_2, + RADEON_HPD_3, + RADEON_HPD_4, + RADEON_HPD_5, + RADEON_HPD_6, +}; + +struct radeon_hpd { + enum radeon_hpd_id hpd; + u8 plugged_state; + struct radeon_gpio_rec gpio; }; struct radeon_connector { @@ -318,6 +385,7 @@ void *con_priv; bool dac_load_detect; uint16_t connector_object_id; + struct radeon_hpd hpd; }; struct radeon_framebuffer { @@ -325,10 +393,42 @@ struct drm_gem_object *obj; }; +extern enum radeon_tv_std +radeon_combios_get_tv_info(struct radeon_device *rdev); +extern enum radeon_tv_std +radeon_atombios_get_tv_info(struct radeon_device *rdev); + +extern void radeon_connector_hotplug(struct drm_connector *connector); +extern bool radeon_dp_needs_link_train(struct radeon_connector *radeon_connector); +extern int radeon_dp_mode_valid_helper(struct radeon_connector *radeon_connector, + struct drm_display_mode *mode); +extern void radeon_dp_set_link_config(struct drm_connector *connector, + struct drm_display_mode *mode); +extern void dp_link_train(struct drm_encoder *encoder, + struct drm_connector *connector); +extern u8 radeon_dp_getsinktype(struct radeon_connector *radeon_connector); +extern bool radeon_dp_getdpcd(struct radeon_connector *radeon_connector); +extern void atombios_dig_transmitter_setup(struct drm_encoder *encoder, + int action, uint8_t lane_num, + uint8_t lane_set); +extern int radeon_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode, + uint8_t write_byte, uint8_t *read_byte); + +extern struct radeon_i2c_chan *radeon_i2c_create_dp(struct drm_device *dev, + struct radeon_i2c_bus_rec *rec, + const char *name); extern struct radeon_i2c_chan *radeon_i2c_create(struct drm_device *dev, struct radeon_i2c_bus_rec *rec, const char *name); extern void radeon_i2c_destroy(struct radeon_i2c_chan *i2c); +extern void radeon_i2c_sw_get_byte(struct radeon_i2c_chan *i2c_bus, + u8 slave_addr, + u8 addr, + u8 *val); +extern void radeon_i2c_sw_put_byte(struct radeon_i2c_chan *i2c, + u8 slave_addr, + u8 addr, + u8 val); extern bool radeon_ddc_probe(struct radeon_connector *radeon_connector); extern int radeon_ddc_get_modes(struct radeon_connector *radeon_connector); @@ -340,8 +440,9 @@ uint32_t *fb_div_p, uint32_t *frac_fb_div_p, uint32_t *ref_div_p, - uint32_t *post_div_p, - int flags); + uint32_t *post_div_p); + +extern void radeon_setup_encoder_clones(struct drm_device *dev); struct drm_encoder *radeon_encoder_legacy_lvds_add(struct drm_device *dev, int bios_index); struct drm_encoder *radeon_encoder_legacy_primary_dac_add(struct drm_device *dev, int bios_index, int with_tv); @@ -349,6 +450,7 @@ struct drm_encoder *radeon_encoder_legacy_tmds_int_add(struct drm_device *dev, int bios_index); struct drm_encoder *radeon_encoder_legacy_tmds_ext_add(struct drm_device *dev, int bios_index); extern void atombios_external_tmds_setup(struct drm_encoder *encoder, int action); +extern void atombios_digital_setup(struct drm_encoder *encoder, int action); extern int atombios_get_encoder_mode(struct drm_encoder *encoder); extern void radeon_encoder_set_active_device(struct drm_encoder *encoder); @@ -364,7 +466,6 @@ extern int radeon_crtc_set_base(struct drm_crtc *crtc, int x, int y, struct drm_framebuffer *old_fb); -extern void radeon_legacy_atom_set_surface(struct drm_crtc *crtc); extern int radeon_crtc_cursor_set(struct drm_crtc *crtc, struct drm_file *file_priv, @@ -378,12 +479,16 @@ extern bool radeon_combios_get_clock_info(struct drm_device *dev); extern struct radeon_encoder_atom_dig * radeon_atombios_get_lvds_info(struct radeon_encoder *encoder); -bool radeon_atombios_get_tmds_info(struct radeon_encoder *encoder, - struct radeon_encoder_int_tmds *tmds); -bool radeon_legacy_get_tmds_info_from_combios(struct radeon_encoder *encoder, - struct radeon_encoder_int_tmds *tmds); -bool radeon_legacy_get_tmds_info_from_table(struct radeon_encoder *encoder, - struct radeon_encoder_int_tmds *tmds); +extern bool radeon_atombios_get_tmds_info(struct radeon_encoder *encoder, + struct radeon_encoder_int_tmds *tmds); +extern bool radeon_legacy_get_tmds_info_from_combios(struct radeon_encoder *encoder, + struct radeon_encoder_int_tmds *tmds); +extern bool radeon_legacy_get_tmds_info_from_table(struct radeon_encoder *encoder, + struct radeon_encoder_int_tmds *tmds); +extern bool radeon_legacy_get_ext_tmds_info_from_combios(struct radeon_encoder *encoder, + struct radeon_encoder_ext_tmds *tmds); +extern bool radeon_legacy_get_ext_tmds_info_from_table(struct radeon_encoder *encoder, + struct radeon_encoder_ext_tmds *tmds); extern struct radeon_encoder_primary_dac * radeon_atombios_get_primary_dac_info(struct radeon_encoder *encoder); extern struct radeon_encoder_tv_dac * @@ -395,6 +500,8 @@ radeon_combios_get_tv_dac_info(struct radeon_encoder *encoder); extern struct radeon_encoder_primary_dac * radeon_combios_get_primary_dac_info(struct radeon_encoder *encoder); +extern bool radeon_combios_external_tmds_setup(struct drm_encoder *encoder); +extern void radeon_external_tmds_setup(struct drm_encoder *encoder); extern void radeon_combios_output_lock(struct drm_encoder *encoder, bool lock); extern void radeon_combios_initialize_bios_scratch_regs(struct drm_device *dev); extern void radeon_atom_output_lock(struct drm_encoder *encoder, bool lock); @@ -426,16 +533,13 @@ struct radeon_crtc *radeon_crtc); void radeon_legacy_init_crtc(struct drm_device *dev, struct radeon_crtc *radeon_crtc); -void radeon_i2c_do_lock(struct radeon_connector *radeon_connector, int lock_state); +extern void radeon_i2c_do_lock(struct radeon_i2c_chan *i2c, int lock_state); void radeon_get_clock_info(struct drm_device *dev); extern bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev); extern bool radeon_get_atom_connector_info_from_supported_devices_table(struct drm_device *dev); -void radeon_rmx_mode_fixup(struct drm_encoder *encoder, - struct drm_display_mode *mode, - struct drm_display_mode *adjusted_mode); void radeon_enc_destroy(struct drm_encoder *encoder); void radeon_copy_fb(struct drm_device *dev, struct drm_gem_object *dst_obj); void radeon_combios_asic_init(struct drm_device *dev); --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_object.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_object.c @@ -34,100 +34,62 @@ #include "radeon_drm.h" #include "radeon.h" -struct radeon_object { - struct ttm_buffer_object tobj; - struct list_head list; - struct radeon_device *rdev; - struct drm_gem_object *gobj; - struct ttm_bo_kmap_obj kmap; - unsigned pin_count; - uint64_t gpu_addr; - void *kptr; - bool is_iomem; - uint32_t tiling_flags; - uint32_t pitch; - int surface_reg; -}; int radeon_ttm_init(struct radeon_device *rdev); void radeon_ttm_fini(struct radeon_device *rdev); +static void radeon_bo_clear_surface_reg(struct radeon_bo *bo); /* * To exclude mutual BO access we rely on bo_reserve exclusion, as all * function are calling it. */ -static int radeon_object_reserve(struct radeon_object *robj, bool interruptible) +static void radeon_ttm_bo_destroy(struct ttm_buffer_object *tbo) { - return ttm_bo_reserve(&robj->tobj, interruptible, false, false, 0); -} + struct radeon_bo *bo; -static void radeon_object_unreserve(struct radeon_object *robj) -{ - ttm_bo_unreserve(&robj->tobj); + bo = container_of(tbo, struct radeon_bo, tbo); + mutex_lock(&bo->rdev->gem.mutex); + list_del_init(&bo->list); + mutex_unlock(&bo->rdev->gem.mutex); + radeon_bo_clear_surface_reg(bo); + kfree(bo); } -static void radeon_ttm_object_object_destroy(struct ttm_buffer_object *tobj) +bool radeon_ttm_bo_is_radeon_bo(struct ttm_buffer_object *bo) { - struct radeon_object *robj; - - robj = container_of(tobj, struct radeon_object, tobj); - list_del_init(&robj->list); - radeon_object_clear_surface_reg(robj); - kfree(robj); + if (bo->destroy == &radeon_ttm_bo_destroy) + return true; + return false; } -static inline void radeon_object_gpu_addr(struct radeon_object *robj) +void radeon_ttm_placement_from_domain(struct radeon_bo *rbo, u32 domain) { - /* Default gpu address */ - robj->gpu_addr = 0xFFFFFFFFFFFFFFFFULL; - if (robj->tobj.mem.mm_node == NULL) { - return; - } - robj->gpu_addr = ((u64)robj->tobj.mem.mm_node->start) << PAGE_SHIFT; - switch (robj->tobj.mem.mem_type) { - case TTM_PL_VRAM: - robj->gpu_addr += (u64)robj->rdev->mc.vram_location; - break; - case TTM_PL_TT: - robj->gpu_addr += (u64)robj->rdev->mc.gtt_location; - break; - default: - DRM_ERROR("Unknown placement %d\n", robj->tobj.mem.mem_type); - robj->gpu_addr = 0xFFFFFFFFFFFFFFFFULL; - return; - } -} + u32 c = 0; -static inline uint32_t radeon_object_flags_from_domain(uint32_t domain) -{ - uint32_t flags = 0; - if (domain & RADEON_GEM_DOMAIN_VRAM) { - flags |= TTM_PL_FLAG_VRAM | TTM_PL_FLAG_WC | TTM_PL_FLAG_UNCACHED; - } - if (domain & RADEON_GEM_DOMAIN_GTT) { - flags |= TTM_PL_FLAG_TT | TTM_PL_MASK_CACHING; - } - if (domain & RADEON_GEM_DOMAIN_CPU) { - flags |= TTM_PL_FLAG_SYSTEM | TTM_PL_MASK_CACHING; - } - if (!flags) { - flags |= TTM_PL_FLAG_SYSTEM | TTM_PL_MASK_CACHING; - } - return flags; + rbo->placement.fpfn = 0; + rbo->placement.lpfn = 0; + rbo->placement.placement = rbo->placements; + rbo->placement.busy_placement = rbo->placements; + if (domain & RADEON_GEM_DOMAIN_VRAM) + rbo->placements[c++] = TTM_PL_FLAG_WC | TTM_PL_FLAG_UNCACHED | + TTM_PL_FLAG_VRAM; + if (domain & RADEON_GEM_DOMAIN_GTT) + rbo->placements[c++] = TTM_PL_MASK_CACHING | TTM_PL_FLAG_TT; + if (domain & RADEON_GEM_DOMAIN_CPU) + rbo->placements[c++] = TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM; + if (!c) + rbo->placements[c++] = TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM; + rbo->placement.num_placement = c; + rbo->placement.num_busy_placement = c; } -int radeon_object_create(struct radeon_device *rdev, - struct drm_gem_object *gobj, - unsigned long size, - bool kernel, - uint32_t domain, - bool interruptible, - struct radeon_object **robj_ptr) +int radeon_bo_create(struct radeon_device *rdev, struct drm_gem_object *gobj, + unsigned long size, bool kernel, u32 domain, + struct radeon_bo **bo_ptr) { - struct radeon_object *robj; + struct radeon_bo *bo; enum ttm_bo_type type; - uint32_t flags; int r; if (unlikely(rdev->mman.bdev.dev_mapping == NULL)) { @@ -138,238 +100,167 @@ } else { type = ttm_bo_type_device; } - *robj_ptr = NULL; - robj = kzalloc(sizeof(struct radeon_object), GFP_KERNEL); - if (robj == NULL) { + *bo_ptr = NULL; + +retry: + bo = kzalloc(sizeof(struct radeon_bo), GFP_KERNEL); + if (bo == NULL) return -ENOMEM; - } - robj->rdev = rdev; - robj->gobj = gobj; - robj->surface_reg = -1; - INIT_LIST_HEAD(&robj->list); - - flags = radeon_object_flags_from_domain(domain); - r = ttm_buffer_object_init(&rdev->mman.bdev, &robj->tobj, size, type, flags, - 0, 0, false, NULL, size, - &radeon_ttm_object_object_destroy); + bo->rdev = rdev; + bo->gobj = gobj; + bo->surface_reg = -1; + INIT_LIST_HEAD(&bo->list); + radeon_ttm_placement_from_domain(bo, domain); + /* Kernel allocation are uninterruptible */ + r = ttm_bo_init(&rdev->mman.bdev, &bo->tbo, size, type, + &bo->placement, 0, 0, !kernel, NULL, size, + &radeon_ttm_bo_destroy); if (unlikely(r != 0)) { - /* ttm call radeon_ttm_object_object_destroy if error happen */ - DRM_ERROR("Failed to allocate TTM object (%ld, 0x%08X, %u)\n", - size, flags, 0); + if (r != -ERESTARTSYS) { + if (domain == RADEON_GEM_DOMAIN_VRAM) { + domain |= RADEON_GEM_DOMAIN_GTT; + goto retry; + } + dev_err(rdev->dev, + "object_init failed for (%lu, 0x%08X)\n", + size, domain); + } return r; } - *robj_ptr = robj; + *bo_ptr = bo; if (gobj) { - list_add_tail(&robj->list, &rdev->gem.objects); + mutex_lock(&bo->rdev->gem.mutex); + list_add_tail(&bo->list, &rdev->gem.objects); + mutex_unlock(&bo->rdev->gem.mutex); } return 0; } -int radeon_object_kmap(struct radeon_object *robj, void **ptr) +int radeon_bo_kmap(struct radeon_bo *bo, void **ptr) { + bool is_iomem; int r; - spin_lock(&robj->tobj.lock); - if (robj->kptr) { + if (bo->kptr) { if (ptr) { - *ptr = robj->kptr; + *ptr = bo->kptr; } - spin_unlock(&robj->tobj.lock); return 0; } - spin_unlock(&robj->tobj.lock); - r = ttm_bo_kmap(&robj->tobj, 0, robj->tobj.num_pages, &robj->kmap); + r = ttm_bo_kmap(&bo->tbo, 0, bo->tbo.num_pages, &bo->kmap); if (r) { return r; } - spin_lock(&robj->tobj.lock); - robj->kptr = ttm_kmap_obj_virtual(&robj->kmap, &robj->is_iomem); - spin_unlock(&robj->tobj.lock); + bo->kptr = ttm_kmap_obj_virtual(&bo->kmap, &is_iomem); if (ptr) { - *ptr = robj->kptr; + *ptr = bo->kptr; } - radeon_object_check_tiling(robj, 0, 0); + radeon_bo_check_tiling(bo, 0, 0); return 0; } -void radeon_object_kunmap(struct radeon_object *robj) +void radeon_bo_kunmap(struct radeon_bo *bo) { - spin_lock(&robj->tobj.lock); - if (robj->kptr == NULL) { - spin_unlock(&robj->tobj.lock); + if (bo->kptr == NULL) return; - } - robj->kptr = NULL; - spin_unlock(&robj->tobj.lock); - radeon_object_check_tiling(robj, 0, 0); - ttm_bo_kunmap(&robj->kmap); + bo->kptr = NULL; + radeon_bo_check_tiling(bo, 0, 0); + ttm_bo_kunmap(&bo->kmap); } -void radeon_object_unref(struct radeon_object **robj) +void radeon_bo_unref(struct radeon_bo **bo) { - struct ttm_buffer_object *tobj; + struct ttm_buffer_object *tbo; - if ((*robj) == NULL) { + if ((*bo) == NULL) return; - } - tobj = &((*robj)->tobj); - ttm_bo_unref(&tobj); - if (tobj == NULL) { - *robj = NULL; - } + tbo = &((*bo)->tbo); + ttm_bo_unref(&tbo); + if (tbo == NULL) + *bo = NULL; } -int radeon_object_mmap(struct radeon_object *robj, uint64_t *offset) +int radeon_bo_pin(struct radeon_bo *bo, u32 domain, u64 *gpu_addr) { - *offset = robj->tobj.addr_space_offset; - return 0; -} + int r, i; -int radeon_object_pin(struct radeon_object *robj, uint32_t domain, - uint64_t *gpu_addr) -{ - uint32_t flags; - uint32_t tmp; - int r; - - flags = radeon_object_flags_from_domain(domain); - spin_lock(&robj->tobj.lock); - if (robj->pin_count) { - robj->pin_count++; - if (gpu_addr != NULL) { - *gpu_addr = robj->gpu_addr; - } - spin_unlock(&robj->tobj.lock); + radeon_ttm_placement_from_domain(bo, domain); + if (bo->pin_count) { + bo->pin_count++; + if (gpu_addr) + *gpu_addr = radeon_bo_gpu_offset(bo); return 0; } - spin_unlock(&robj->tobj.lock); - r = radeon_object_reserve(robj, false); - if (unlikely(r != 0)) { - DRM_ERROR("radeon: failed to reserve object for pinning it.\n"); - return r; + radeon_ttm_placement_from_domain(bo, domain); + for (i = 0; i < bo->placement.num_placement; i++) + bo->placements[i] |= TTM_PL_FLAG_NO_EVICT; + r = ttm_bo_validate(&bo->tbo, &bo->placement, false, false); + if (likely(r == 0)) { + bo->pin_count = 1; + if (gpu_addr != NULL) + *gpu_addr = radeon_bo_gpu_offset(bo); } - tmp = robj->tobj.mem.placement; - ttm_flag_masked(&tmp, flags, TTM_PL_MASK_MEM); - robj->tobj.proposed_placement = tmp | TTM_PL_FLAG_NO_EVICT | TTM_PL_MASK_CACHING; - r = ttm_buffer_object_validate(&robj->tobj, - robj->tobj.proposed_placement, - false, false); - radeon_object_gpu_addr(robj); - if (gpu_addr != NULL) { - *gpu_addr = robj->gpu_addr; - } - robj->pin_count = 1; - if (unlikely(r != 0)) { - DRM_ERROR("radeon: failed to pin object.\n"); - } - radeon_object_unreserve(robj); + if (unlikely(r != 0)) + dev_err(bo->rdev->dev, "%p pin failed\n", bo); return r; } -void radeon_object_unpin(struct radeon_object *robj) +int radeon_bo_unpin(struct radeon_bo *bo) { - uint32_t flags; - int r; - - spin_lock(&robj->tobj.lock); - if (!robj->pin_count) { - spin_unlock(&robj->tobj.lock); - printk(KERN_WARNING "Unpin not necessary for %p !\n", robj); - return; - } - robj->pin_count--; - if (robj->pin_count) { - spin_unlock(&robj->tobj.lock); - return; - } - spin_unlock(&robj->tobj.lock); - r = radeon_object_reserve(robj, false); - if (unlikely(r != 0)) { - DRM_ERROR("radeon: failed to reserve object for unpinning it.\n"); - return; - } - flags = robj->tobj.mem.placement; - robj->tobj.proposed_placement = flags & ~TTM_PL_FLAG_NO_EVICT; - r = ttm_buffer_object_validate(&robj->tobj, - robj->tobj.proposed_placement, - false, false); - if (unlikely(r != 0)) { - DRM_ERROR("radeon: failed to unpin buffer.\n"); - } - radeon_object_unreserve(robj); -} + int r, i; -int radeon_object_wait(struct radeon_object *robj) -{ - int r = 0; - - /* FIXME: should use block reservation instead */ - r = radeon_object_reserve(robj, true); - if (unlikely(r != 0)) { - DRM_ERROR("radeon: failed to reserve object for waiting.\n"); - return r; - } - spin_lock(&robj->tobj.lock); - if (robj->tobj.sync_obj) { - r = ttm_bo_wait(&robj->tobj, true, true, false); - } - spin_unlock(&robj->tobj.lock); - radeon_object_unreserve(robj); - return r; -} - -int radeon_object_busy_domain(struct radeon_object *robj, uint32_t *cur_placement) -{ - int r = 0; - - r = radeon_object_reserve(robj, true); - if (unlikely(r != 0)) { - DRM_ERROR("radeon: failed to reserve object for waiting.\n"); - return r; - } - spin_lock(&robj->tobj.lock); - *cur_placement = robj->tobj.mem.mem_type; - if (robj->tobj.sync_obj) { - r = ttm_bo_wait(&robj->tobj, true, true, true); + if (!bo->pin_count) { + dev_warn(bo->rdev->dev, "%p unpin not necessary\n", bo); + return 0; } - spin_unlock(&robj->tobj.lock); - radeon_object_unreserve(robj); + bo->pin_count--; + if (bo->pin_count) + return 0; + for (i = 0; i < bo->placement.num_placement; i++) + bo->placements[i] &= ~TTM_PL_FLAG_NO_EVICT; + r = ttm_bo_validate(&bo->tbo, &bo->placement, false, false); + if (unlikely(r != 0)) + dev_err(bo->rdev->dev, "%p validate failed for unpin\n", bo); return r; } -int radeon_object_evict_vram(struct radeon_device *rdev) +int radeon_bo_evict_vram(struct radeon_device *rdev) { - if (rdev->flags & RADEON_IS_IGP) { - /* Useless to evict on IGP chips */ - return 0; + /* late 2.6.33 fix IGP hibernate - we need pm ops to do this correct */ + if (0 && (rdev->flags & RADEON_IS_IGP)) { + if (rdev->mc.igp_sideport_enabled == false) + /* Useless to evict on IGP chips */ + return 0; } return ttm_bo_evict_mm(&rdev->mman.bdev, TTM_PL_VRAM); } -void radeon_object_force_delete(struct radeon_device *rdev) +void radeon_bo_force_delete(struct radeon_device *rdev) { - struct radeon_object *robj, *n; + struct radeon_bo *bo, *n; struct drm_gem_object *gobj; if (list_empty(&rdev->gem.objects)) { return; } - DRM_ERROR("Userspace still has active objects !\n"); - list_for_each_entry_safe(robj, n, &rdev->gem.objects, list) { + dev_err(rdev->dev, "Userspace still has active objects !\n"); + list_for_each_entry_safe(bo, n, &rdev->gem.objects, list) { mutex_lock(&rdev->ddev->struct_mutex); - gobj = robj->gobj; - DRM_ERROR("Force free for (%p,%p,%lu,%lu)\n", - gobj, robj, (unsigned long)gobj->size, - *((unsigned long *)&gobj->refcount)); - list_del_init(&robj->list); - radeon_object_unref(&robj); + gobj = bo->gobj; + dev_err(rdev->dev, "%p %p %lu %lu force free\n", + gobj, bo, (unsigned long)gobj->size, + *((unsigned long *)&gobj->refcount)); + mutex_lock(&bo->rdev->gem.mutex); + list_del_init(&bo->list); + mutex_unlock(&bo->rdev->gem.mutex); + radeon_bo_unref(&bo); gobj->driver_private = NULL; drm_gem_object_unreference(gobj); mutex_unlock(&rdev->ddev->struct_mutex); } } -int radeon_object_init(struct radeon_device *rdev) +int radeon_bo_init(struct radeon_device *rdev) { /* Add an MTRR for the VRAM */ rdev->mc.vram_mtrr = mtrr_add(rdev->mc.aper_base, rdev->mc.aper_size, @@ -382,13 +273,13 @@ return radeon_ttm_init(rdev); } -void radeon_object_fini(struct radeon_device *rdev) +void radeon_bo_fini(struct radeon_device *rdev) { radeon_ttm_fini(rdev); } -void radeon_object_list_add_object(struct radeon_object_list *lobj, - struct list_head *head) +void radeon_bo_list_add_object(struct radeon_bo_list *lobj, + struct list_head *head) { if (lobj->wdomain) { list_add(&lobj->list, head); @@ -397,125 +288,105 @@ } } -int radeon_object_list_reserve(struct list_head *head) +int radeon_bo_list_reserve(struct list_head *head) { - struct radeon_object_list *lobj; + struct radeon_bo_list *lobj; int r; list_for_each_entry(lobj, head, list){ - if (!lobj->robj->pin_count) { - r = radeon_object_reserve(lobj->robj, true); - if (unlikely(r != 0)) { - DRM_ERROR("radeon: failed to reserve object.\n"); - return r; - } - } else { - } + r = radeon_bo_reserve(lobj->bo, false); + if (unlikely(r != 0)) + return r; } return 0; } -void radeon_object_list_unreserve(struct list_head *head) +void radeon_bo_list_unreserve(struct list_head *head) { - struct radeon_object_list *lobj; + struct radeon_bo_list *lobj; list_for_each_entry(lobj, head, list) { - if (!lobj->robj->pin_count) { - radeon_object_unreserve(lobj->robj); - } + /* only unreserve object we successfully reserved */ + if (radeon_bo_is_reserved(lobj->bo)) + radeon_bo_unreserve(lobj->bo); } } -int radeon_object_list_validate(struct list_head *head, void *fence) +int radeon_bo_list_validate(struct list_head *head) { - struct radeon_object_list *lobj; - struct radeon_object *robj; - struct radeon_fence *old_fence = NULL; + struct radeon_bo_list *lobj; + struct radeon_bo *bo; + u32 domain; int r; - r = radeon_object_list_reserve(head); + r = radeon_bo_list_reserve(head); if (unlikely(r != 0)) { - radeon_object_list_unreserve(head); return r; } list_for_each_entry(lobj, head, list) { - robj = lobj->robj; - if (!robj->pin_count) { - if (lobj->wdomain) { - robj->tobj.proposed_placement = - radeon_object_flags_from_domain(lobj->wdomain); - } else { - robj->tobj.proposed_placement = - radeon_object_flags_from_domain(lobj->rdomain); - } - r = ttm_buffer_object_validate(&robj->tobj, - robj->tobj.proposed_placement, - true, false); + bo = lobj->bo; + if (!bo->pin_count) { + domain = lobj->wdomain ? lobj->wdomain : lobj->rdomain; + + retry: + radeon_ttm_placement_from_domain(bo, domain); + r = ttm_bo_validate(&bo->tbo, &bo->placement, + true, false); if (unlikely(r)) { - DRM_ERROR("radeon: failed to validate.\n"); + if (r != -ERESTARTSYS && domain == RADEON_GEM_DOMAIN_VRAM) { + domain |= RADEON_GEM_DOMAIN_GTT; + goto retry; + } return r; } - radeon_object_gpu_addr(robj); - } - lobj->gpu_offset = robj->gpu_addr; - lobj->tiling_flags = robj->tiling_flags; - if (fence) { - old_fence = (struct radeon_fence *)robj->tobj.sync_obj; - robj->tobj.sync_obj = radeon_fence_ref(fence); - robj->tobj.sync_obj_arg = NULL; - } - if (old_fence) { - radeon_fence_unref(&old_fence); } + lobj->gpu_offset = radeon_bo_gpu_offset(bo); + lobj->tiling_flags = bo->tiling_flags; } return 0; } -void radeon_object_list_unvalidate(struct list_head *head) +void radeon_bo_list_fence(struct list_head *head, void *fence) { - struct radeon_object_list *lobj; + struct radeon_bo_list *lobj; + struct radeon_bo *bo; struct radeon_fence *old_fence = NULL; list_for_each_entry(lobj, head, list) { - old_fence = (struct radeon_fence *)lobj->robj->tobj.sync_obj; - lobj->robj->tobj.sync_obj = NULL; + bo = lobj->bo; + spin_lock(&bo->tbo.lock); + old_fence = (struct radeon_fence *)bo->tbo.sync_obj; + bo->tbo.sync_obj = radeon_fence_ref(fence); + bo->tbo.sync_obj_arg = NULL; + spin_unlock(&bo->tbo.lock); if (old_fence) { radeon_fence_unref(&old_fence); } } - radeon_object_list_unreserve(head); } -void radeon_object_list_clean(struct list_head *head) -{ - radeon_object_list_unreserve(head); -} - -int radeon_object_fbdev_mmap(struct radeon_object *robj, +int radeon_bo_fbdev_mmap(struct radeon_bo *bo, struct vm_area_struct *vma) { - return ttm_fbdev_mmap(vma, &robj->tobj); + return ttm_fbdev_mmap(vma, &bo->tbo); } -unsigned long radeon_object_size(struct radeon_object *robj) +int radeon_bo_get_surface_reg(struct radeon_bo *bo) { - return robj->tobj.num_pages << PAGE_SHIFT; -} - -int radeon_object_get_surface_reg(struct radeon_object *robj) -{ - struct radeon_device *rdev = robj->rdev; + struct radeon_device *rdev = bo->rdev; struct radeon_surface_reg *reg; - struct radeon_object *old_object; + struct radeon_bo *old_object; int steal; int i; - if (!robj->tiling_flags) + BUG_ON(!atomic_read(&bo->tbo.reserved)); + + if (!bo->tiling_flags) return 0; - if (robj->surface_reg >= 0) { - reg = &rdev->surface_regs[robj->surface_reg]; - i = robj->surface_reg; + if (bo->surface_reg >= 0) { + reg = &rdev->surface_regs[bo->surface_reg]; + i = bo->surface_reg; goto out; } @@ -523,10 +394,10 @@ for (i = 0; i < RADEON_GEM_MAX_SURFACES; i++) { reg = &rdev->surface_regs[i]; - if (!reg->robj) + if (!reg->bo) break; - old_object = reg->robj; + old_object = reg->bo; if (old_object->pin_count == 0) steal = i; } @@ -537,91 +408,107 @@ return -ENOMEM; /* find someone with a surface reg and nuke their BO */ reg = &rdev->surface_regs[steal]; - old_object = reg->robj; + old_object = reg->bo; /* blow away the mapping */ DRM_DEBUG("stealing surface reg %d from %p\n", steal, old_object); - ttm_bo_unmap_virtual(&old_object->tobj); + ttm_bo_unmap_virtual(&old_object->tbo); old_object->surface_reg = -1; i = steal; } - robj->surface_reg = i; - reg->robj = robj; + bo->surface_reg = i; + reg->bo = bo; out: - radeon_set_surface_reg(rdev, i, robj->tiling_flags, robj->pitch, - robj->tobj.mem.mm_node->start << PAGE_SHIFT, - robj->tobj.num_pages << PAGE_SHIFT); + radeon_set_surface_reg(rdev, i, bo->tiling_flags, bo->pitch, + bo->tbo.mem.mm_node->start << PAGE_SHIFT, + bo->tbo.num_pages << PAGE_SHIFT); return 0; } -void radeon_object_clear_surface_reg(struct radeon_object *robj) +static void radeon_bo_clear_surface_reg(struct radeon_bo *bo) { - struct radeon_device *rdev = robj->rdev; + struct radeon_device *rdev = bo->rdev; struct radeon_surface_reg *reg; - if (robj->surface_reg == -1) + if (bo->surface_reg == -1) return; - reg = &rdev->surface_regs[robj->surface_reg]; - radeon_clear_surface_reg(rdev, robj->surface_reg); + reg = &rdev->surface_regs[bo->surface_reg]; + radeon_clear_surface_reg(rdev, bo->surface_reg); - reg->robj = NULL; - robj->surface_reg = -1; + reg->bo = NULL; + bo->surface_reg = -1; } -void radeon_object_set_tiling_flags(struct radeon_object *robj, - uint32_t tiling_flags, uint32_t pitch) +int radeon_bo_set_tiling_flags(struct radeon_bo *bo, + uint32_t tiling_flags, uint32_t pitch) { - robj->tiling_flags = tiling_flags; - robj->pitch = pitch; + int r; + + r = radeon_bo_reserve(bo, false); + if (unlikely(r != 0)) + return r; + bo->tiling_flags = tiling_flags; + bo->pitch = pitch; + radeon_bo_unreserve(bo); + return 0; } -void radeon_object_get_tiling_flags(struct radeon_object *robj, - uint32_t *tiling_flags, - uint32_t *pitch) +void radeon_bo_get_tiling_flags(struct radeon_bo *bo, + uint32_t *tiling_flags, + uint32_t *pitch) { + BUG_ON(!atomic_read(&bo->tbo.reserved)); if (tiling_flags) - *tiling_flags = robj->tiling_flags; + *tiling_flags = bo->tiling_flags; if (pitch) - *pitch = robj->pitch; + *pitch = bo->pitch; } -int radeon_object_check_tiling(struct radeon_object *robj, bool has_moved, - bool force_drop) +int radeon_bo_check_tiling(struct radeon_bo *bo, bool has_moved, + bool force_drop) { - if (!(robj->tiling_flags & RADEON_TILING_SURFACE)) + BUG_ON(!atomic_read(&bo->tbo.reserved)); + + if (!(bo->tiling_flags & RADEON_TILING_SURFACE)) return 0; if (force_drop) { - radeon_object_clear_surface_reg(robj); + radeon_bo_clear_surface_reg(bo); return 0; } - if (robj->tobj.mem.mem_type != TTM_PL_VRAM) { + if (bo->tbo.mem.mem_type != TTM_PL_VRAM) { if (!has_moved) return 0; - if (robj->surface_reg >= 0) - radeon_object_clear_surface_reg(robj); + if (bo->surface_reg >= 0) + radeon_bo_clear_surface_reg(bo); return 0; } - if ((robj->surface_reg >= 0) && !has_moved) + if ((bo->surface_reg >= 0) && !has_moved) return 0; - return radeon_object_get_surface_reg(robj); + return radeon_bo_get_surface_reg(bo); } void radeon_bo_move_notify(struct ttm_buffer_object *bo, - struct ttm_mem_reg *mem) + struct ttm_mem_reg *mem) { - struct radeon_object *robj = container_of(bo, struct radeon_object, tobj); - radeon_object_check_tiling(robj, 0, 1); + struct radeon_bo *rbo; + if (!radeon_ttm_bo_is_radeon_bo(bo)) + return; + rbo = container_of(bo, struct radeon_bo, tbo); + radeon_bo_check_tiling(rbo, 0, 1); } void radeon_bo_fault_reserve_notify(struct ttm_buffer_object *bo) { - struct radeon_object *robj = container_of(bo, struct radeon_object, tobj); - radeon_object_check_tiling(robj, 0, 0); + struct radeon_bo *rbo; + if (!radeon_ttm_bo_is_radeon_bo(bo)) + return; + rbo = container_of(bo, struct radeon_bo, tbo); + radeon_bo_check_tiling(rbo, 0, 0); } --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_object.h +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_object.h @@ -28,19 +28,146 @@ #ifndef __RADEON_OBJECT_H__ #define __RADEON_OBJECT_H__ -#include -#include -#include -#include +#include +#include "radeon.h" -/* - * TTM. +/** + * radeon_mem_type_to_domain - return domain corresponding to mem_type + * @mem_type: ttm memory type + * + * Returns corresponding domain of the ttm mem_type */ -struct radeon_mman { - struct ttm_bo_global_ref bo_global_ref; - struct ttm_global_reference mem_global_ref; - bool mem_global_referenced; - struct ttm_bo_device bdev; -}; +static inline unsigned radeon_mem_type_to_domain(u32 mem_type) +{ + switch (mem_type) { + case TTM_PL_VRAM: + return RADEON_GEM_DOMAIN_VRAM; + case TTM_PL_TT: + return RADEON_GEM_DOMAIN_GTT; + case TTM_PL_SYSTEM: + return RADEON_GEM_DOMAIN_CPU; + default: + break; + } + return 0; +} +/** + * radeon_bo_reserve - reserve bo + * @bo: bo structure + * @no_wait: don't sleep while trying to reserve (return -EBUSY) + * + * Returns: + * -EBUSY: buffer is busy and @no_wait is true + * -ERESTARTSYS: A wait for the buffer to become unreserved was interrupted by + * a signal. Release all buffer reservations and return to user-space. + */ +static inline int radeon_bo_reserve(struct radeon_bo *bo, bool no_wait) +{ + int r; + + r = ttm_bo_reserve(&bo->tbo, true, no_wait, false, 0); + if (unlikely(r != 0)) { + if (r != -ERESTARTSYS) + dev_err(bo->rdev->dev, "%p reserve failed\n", bo); + return r; + } + return 0; +} + +static inline void radeon_bo_unreserve(struct radeon_bo *bo) +{ + ttm_bo_unreserve(&bo->tbo); +} + +/** + * radeon_bo_gpu_offset - return GPU offset of bo + * @bo: radeon object for which we query the offset + * + * Returns current GPU offset of the object. + * + * Note: object should either be pinned or reserved when calling this + * function, it might be usefull to add check for this for debugging. + */ +static inline u64 radeon_bo_gpu_offset(struct radeon_bo *bo) +{ + return bo->tbo.offset; +} + +static inline unsigned long radeon_bo_size(struct radeon_bo *bo) +{ + return bo->tbo.num_pages << PAGE_SHIFT; +} + +static inline bool radeon_bo_is_reserved(struct radeon_bo *bo) +{ + return !!atomic_read(&bo->tbo.reserved); +} + +/** + * radeon_bo_mmap_offset - return mmap offset of bo + * @bo: radeon object for which we query the offset + * + * Returns mmap offset of the object. + * + * Note: addr_space_offset is constant after ttm bo init thus isn't protected + * by any lock. + */ +static inline u64 radeon_bo_mmap_offset(struct radeon_bo *bo) +{ + return bo->tbo.addr_space_offset; +} + +static inline int radeon_bo_wait(struct radeon_bo *bo, u32 *mem_type, + bool no_wait) +{ + int r; + + r = ttm_bo_reserve(&bo->tbo, true, no_wait, false, 0); + if (unlikely(r != 0)) { + if (r != -ERESTARTSYS) + dev_err(bo->rdev->dev, "%p reserve failed for wait\n", bo); + return r; + } + spin_lock(&bo->tbo.lock); + if (mem_type) + *mem_type = bo->tbo.mem.mem_type; + if (bo->tbo.sync_obj) + r = ttm_bo_wait(&bo->tbo, true, true, no_wait); + spin_unlock(&bo->tbo.lock); + ttm_bo_unreserve(&bo->tbo); + return r; +} + +extern int radeon_bo_create(struct radeon_device *rdev, + struct drm_gem_object *gobj, unsigned long size, + bool kernel, u32 domain, + struct radeon_bo **bo_ptr); +extern int radeon_bo_kmap(struct radeon_bo *bo, void **ptr); +extern void radeon_bo_kunmap(struct radeon_bo *bo); +extern void radeon_bo_unref(struct radeon_bo **bo); +extern int radeon_bo_pin(struct radeon_bo *bo, u32 domain, u64 *gpu_addr); +extern int radeon_bo_unpin(struct radeon_bo *bo); +extern int radeon_bo_evict_vram(struct radeon_device *rdev); +extern void radeon_bo_force_delete(struct radeon_device *rdev); +extern int radeon_bo_init(struct radeon_device *rdev); +extern void radeon_bo_fini(struct radeon_device *rdev); +extern void radeon_bo_list_add_object(struct radeon_bo_list *lobj, + struct list_head *head); +extern int radeon_bo_list_reserve(struct list_head *head); +extern void radeon_bo_list_unreserve(struct list_head *head); +extern int radeon_bo_list_validate(struct list_head *head); +extern void radeon_bo_list_fence(struct list_head *head, void *fence); +extern int radeon_bo_fbdev_mmap(struct radeon_bo *bo, + struct vm_area_struct *vma); +extern int radeon_bo_set_tiling_flags(struct radeon_bo *bo, + u32 tiling_flags, u32 pitch); +extern void radeon_bo_get_tiling_flags(struct radeon_bo *bo, + u32 *tiling_flags, u32 *pitch); +extern int radeon_bo_check_tiling(struct radeon_bo *bo, bool has_moved, + bool force_drop); +extern void radeon_bo_move_notify(struct ttm_buffer_object *bo, + struct ttm_mem_reg *mem); +extern void radeon_bo_fault_reserve_notify(struct ttm_buffer_object *bo); +extern int radeon_bo_get_surface_reg(struct radeon_bo *bo); #endif --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_reg.h +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_reg.h @@ -887,6 +887,7 @@ # define RADEON_FP_PANEL_FORMAT (1 << 3) # define RADEON_FP_EN_TMDS (1 << 7) # define RADEON_FP_DETECT_SENSE (1 << 8) +# define RADEON_FP_DETECT_INT_POL (1 << 9) # define R200_FP_SOURCE_SEL_MASK (3 << 10) # define R200_FP_SOURCE_SEL_CRTC1 (0 << 10) # define R200_FP_SOURCE_SEL_CRTC2 (1 << 10) @@ -894,6 +895,7 @@ # define R200_FP_SOURCE_SEL_TRANS (3 << 10) # define RADEON_FP_SEL_CRTC1 (0 << 13) # define RADEON_FP_SEL_CRTC2 (1 << 13) +# define R300_HPD_SEL(x) ((x) << 13) # define RADEON_FP_CRTC_DONT_SHADOW_HPAR (1 << 15) # define RADEON_FP_CRTC_DONT_SHADOW_VPAR (1 << 16) # define RADEON_FP_CRTC_DONT_SHADOW_HEND (1 << 17) @@ -909,6 +911,7 @@ # define RADEON_FP2_ON (1 << 2) # define RADEON_FP2_PANEL_FORMAT (1 << 3) # define RADEON_FP2_DETECT_SENSE (1 << 8) +# define RADEON_FP2_DETECT_INT_POL (1 << 9) # define R200_FP2_SOURCE_SEL_MASK (3 << 10) # define R200_FP2_SOURCE_SEL_CRTC1 (0 << 10) # define R200_FP2_SOURCE_SEL_CRTC2 (1 << 10) @@ -988,14 +991,20 @@ #define RADEON_GEN_INT_CNTL 0x0040 # define RADEON_CRTC_VBLANK_MASK (1 << 0) +# define RADEON_FP_DETECT_MASK (1 << 4) # define RADEON_CRTC2_VBLANK_MASK (1 << 9) +# define RADEON_FP2_DETECT_MASK (1 << 10) # define RADEON_SW_INT_ENABLE (1 << 25) #define RADEON_GEN_INT_STATUS 0x0044 # define AVIVO_DISPLAY_INT_STATUS (1 << 0) # define RADEON_CRTC_VBLANK_STAT (1 << 0) # define RADEON_CRTC_VBLANK_STAT_ACK (1 << 0) +# define RADEON_FP_DETECT_STAT (1 << 4) +# define RADEON_FP_DETECT_STAT_ACK (1 << 4) # define RADEON_CRTC2_VBLANK_STAT (1 << 9) # define RADEON_CRTC2_VBLANK_STAT_ACK (1 << 9) +# define RADEON_FP2_DETECT_STAT (1 << 10) +# define RADEON_FP2_DETECT_STAT_ACK (1 << 10) # define RADEON_SW_INT_FIRE (1 << 26) # define RADEON_SW_INT_TEST (1 << 25) # define RADEON_SW_INT_TEST_ACK (1 << 25) @@ -1051,20 +1060,25 @@ /* Multimedia I2C bus */ #define RADEON_I2C_CNTL_0 0x0090 -#define RADEON_I2C_DONE (1<<0) -#define RADEON_I2C_NACK (1<<1) -#define RADEON_I2C_HALT (1<<2) -#define RADEON_I2C_SOFT_RST (1<<5) -#define RADEON_I2C_DRIVE_EN (1<<6) -#define RADEON_I2C_DRIVE_SEL (1<<7) -#define RADEON_I2C_START (1<<8) -#define RADEON_I2C_STOP (1<<9) -#define RADEON_I2C_RECEIVE (1<<10) -#define RADEON_I2C_ABORT (1<<11) -#define RADEON_I2C_GO (1<<12) +#define RADEON_I2C_DONE (1 << 0) +#define RADEON_I2C_NACK (1 << 1) +#define RADEON_I2C_HALT (1 << 2) +#define RADEON_I2C_SOFT_RST (1 << 5) +#define RADEON_I2C_DRIVE_EN (1 << 6) +#define RADEON_I2C_DRIVE_SEL (1 << 7) +#define RADEON_I2C_START (1 << 8) +#define RADEON_I2C_STOP (1 << 9) +#define RADEON_I2C_RECEIVE (1 << 10) +#define RADEON_I2C_ABORT (1 << 11) +#define RADEON_I2C_GO (1 << 12) +#define RADEON_I2C_PRESCALE_SHIFT 16 #define RADEON_I2C_CNTL_1 0x0094 -#define RADEON_I2C_SEL (1<<16) -#define RADEON_I2C_EN (1<<17) +#define RADEON_I2C_DATA_COUNT_SHIFT 0 +#define RADEON_I2C_ADDR_COUNT_SHIFT 4 +#define RADEON_I2C_INTRA_BYTE_DELAY_SHIFT 8 +#define RADEON_I2C_SEL (1 << 16) +#define RADEON_I2C_EN (1 << 17) +#define RADEON_I2C_TIME_LIMIT_SHIFT 24 #define RADEON_I2C_DATA 0x0098 #define RADEON_DVI_I2C_CNTL_0 0x02e0 @@ -1072,7 +1086,7 @@ # define R200_SEL_DDC1 0 /* 0x60 - VGA_DDC */ # define R200_SEL_DDC2 1 /* 0x64 - DVI_DDC */ # define R200_SEL_DDC3 2 /* 0x68 - MONID_DDC */ -#define RADEON_DVI_I2C_CNTL_1 0x02e4 /* ? */ +#define RADEON_DVI_I2C_CNTL_1 0x02e4 #define RADEON_DVI_I2C_DATA 0x02e8 #define RADEON_INTERRUPT_LINE 0x0f3c /* PCI */ @@ -1143,15 +1157,16 @@ # define RADEON_IO_MCLK_MAX_DYN_STOP_LAT (1 << 13) # define RADEON_MC_MCLK_DYN_ENABLE (1 << 14) # define RADEON_IO_MCLK_DYN_ENABLE (1 << 15) -#define RADEON_LCD_GPIO_MASK 0x01a0 -#define RADEON_GPIOPAD_EN 0x01a0 -#define RADEON_LCD_GPIO_Y_REG 0x01a4 -#define RADEON_MDGPIO_A_REG 0x01ac -#define RADEON_MDGPIO_EN_REG 0x01b0 -#define RADEON_MDGPIO_MASK 0x0198 + #define RADEON_GPIOPAD_MASK 0x0198 #define RADEON_GPIOPAD_A 0x019c -#define RADEON_MDGPIO_Y_REG 0x01b4 +#define RADEON_GPIOPAD_EN 0x01a0 +#define RADEON_GPIOPAD_Y 0x01a4 +#define RADEON_MDGPIO_MASK 0x01a8 +#define RADEON_MDGPIO_A 0x01ac +#define RADEON_MDGPIO_EN 0x01b0 +#define RADEON_MDGPIO_Y 0x01b4 + #define RADEON_MEM_ADDR_CONFIG 0x0148 #define RADEON_MEM_BASE 0x0f10 /* PCI */ #define RADEON_MEM_CNTL 0x0140 @@ -1360,6 +1375,9 @@ #define RADEON_OVR_CLR 0x0230 #define RADEON_OVR_WID_LEFT_RIGHT 0x0234 #define RADEON_OVR_WID_TOP_BOTTOM 0x0238 +#define RADEON_OVR2_CLR 0x0330 +#define RADEON_OVR2_WID_LEFT_RIGHT 0x0334 +#define RADEON_OVR2_WID_TOP_BOTTOM 0x0338 /* first capture unit */ @@ -2809,6 +2827,7 @@ # define R200_TXFORMAT_ST_ROUTE_STQ5 (5 << 24) # define R200_TXFORMAT_ST_ROUTE_MASK (7 << 24) # define R200_TXFORMAT_ST_ROUTE_SHIFT 24 +# define R200_TXFORMAT_LOOKUP_DISABLE (1 << 27) # define R200_TXFORMAT_ALPHA_MASK_ENABLE (1 << 28) # define R200_TXFORMAT_CHROMA_KEY_ENABLE (1 << 29) # define R200_TXFORMAT_CUBIC_MAP_ENABLE (1 << 30) --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_ring.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_ring.c @@ -41,68 +41,55 @@ { struct radeon_fence *fence; struct radeon_ib *nib; - unsigned long i; - int r = 0; + int r = 0, i, c; *ib = NULL; r = radeon_fence_create(rdev, &fence); if (r) { - DRM_ERROR("failed to create fence for new IB\n"); + dev_err(rdev->dev, "failed to create fence for new IB\n"); return r; } mutex_lock(&rdev->ib_pool.mutex); - i = find_first_zero_bit(rdev->ib_pool.alloc_bm, RADEON_IB_POOL_SIZE); - if (i < RADEON_IB_POOL_SIZE) { - set_bit(i, rdev->ib_pool.alloc_bm); - rdev->ib_pool.ibs[i].length_dw = 0; - *ib = &rdev->ib_pool.ibs[i]; - mutex_unlock(&rdev->ib_pool.mutex); - goto out; + for (i = rdev->ib_pool.head_id, c = 0, nib = NULL; c < RADEON_IB_POOL_SIZE; c++, i++) { + i &= (RADEON_IB_POOL_SIZE - 1); + if (rdev->ib_pool.ibs[i].free) { + nib = &rdev->ib_pool.ibs[i]; + break; + } } - if (list_empty(&rdev->ib_pool.scheduled_ibs)) { - /* we go do nothings here */ + if (nib == NULL) { + /* This should never happen, it means we allocated all + * IB and haven't scheduled one yet, return EBUSY to + * userspace hoping that on ioctl recall we get better + * luck + */ + dev_err(rdev->dev, "no free indirect buffer !\n"); mutex_unlock(&rdev->ib_pool.mutex); - DRM_ERROR("all IB allocated none scheduled.\n"); - r = -EINVAL; - goto out; - } - /* get the first ib on the scheduled list */ - nib = list_entry(rdev->ib_pool.scheduled_ibs.next, - struct radeon_ib, list); - if (nib->fence == NULL) { - /* we go do nothings here */ - mutex_unlock(&rdev->ib_pool.mutex); - DRM_ERROR("IB %lu scheduled without a fence.\n", nib->idx); - r = -EINVAL; - goto out; + radeon_fence_unref(&fence); + return -EBUSY; } - mutex_unlock(&rdev->ib_pool.mutex); - - r = radeon_fence_wait(nib->fence, false); - if (r) { - DRM_ERROR("radeon: IB(%lu:0x%016lX:%u)\n", nib->idx, - (unsigned long)nib->gpu_addr, nib->length_dw); - DRM_ERROR("radeon: GPU lockup detected, fail to get a IB\n"); - goto out; + rdev->ib_pool.head_id = (nib->idx + 1) & (RADEON_IB_POOL_SIZE - 1); + nib->free = false; + if (nib->fence) { + mutex_unlock(&rdev->ib_pool.mutex); + r = radeon_fence_wait(nib->fence, false); + if (r) { + dev_err(rdev->dev, "error waiting fence of IB(%u:0x%016lX:%u)\n", + nib->idx, (unsigned long)nib->gpu_addr, nib->length_dw); + mutex_lock(&rdev->ib_pool.mutex); + nib->free = true; + mutex_unlock(&rdev->ib_pool.mutex); + radeon_fence_unref(&fence); + return r; + } + mutex_lock(&rdev->ib_pool.mutex); } radeon_fence_unref(&nib->fence); - + nib->fence = fence; nib->length_dw = 0; - - /* scheduled list is accessed here */ - mutex_lock(&rdev->ib_pool.mutex); - list_del(&nib->list); - INIT_LIST_HEAD(&nib->list); mutex_unlock(&rdev->ib_pool.mutex); - *ib = nib; -out: - if (r) { - radeon_fence_unref(&fence); - } else { - (*ib)->fence = fence; - } - return r; + return 0; } void radeon_ib_free(struct radeon_device *rdev, struct radeon_ib **ib) @@ -113,19 +100,10 @@ if (tmp == NULL) { return; } - mutex_lock(&rdev->ib_pool.mutex); - if (!list_empty(&tmp->list) && !radeon_fence_signaled(tmp->fence)) { - /* IB is scheduled & not signaled don't do anythings */ - mutex_unlock(&rdev->ib_pool.mutex); - return; - } - list_del(&tmp->list); - INIT_LIST_HEAD(&tmp->list); - if (tmp->fence) + if (!tmp->fence->emited) radeon_fence_unref(&tmp->fence); - - tmp->length_dw = 0; - clear_bit(tmp->idx, rdev->ib_pool.alloc_bm); + mutex_lock(&rdev->ib_pool.mutex); + tmp->free = true; mutex_unlock(&rdev->ib_pool.mutex); } @@ -135,7 +113,7 @@ if (!ib->length_dw || !rdev->cp.ready) { /* TODO: Nothings in the ib we should report. */ - DRM_ERROR("radeon: couldn't schedule IB(%lu).\n", ib->idx); + DRM_ERROR("radeon: couldn't schedule IB(%u).\n", ib->idx); return -EINVAL; } @@ -148,7 +126,8 @@ radeon_ring_ib_execute(rdev, ib); radeon_fence_emit(rdev, ib->fence); mutex_lock(&rdev->ib_pool.mutex); - list_add_tail(&ib->list, &rdev->ib_pool.scheduled_ibs); + /* once scheduled IB is considered free and protected by the fence */ + ib->free = true; mutex_unlock(&rdev->ib_pool.mutex); radeon_ring_unlock_commit(rdev); return 0; @@ -164,20 +143,24 @@ if (rdev->ib_pool.robj) return 0; /* Allocate 1M object buffer */ - INIT_LIST_HEAD(&rdev->ib_pool.scheduled_ibs); - r = radeon_object_create(rdev, NULL, RADEON_IB_POOL_SIZE*64*1024, - true, RADEON_GEM_DOMAIN_GTT, - false, &rdev->ib_pool.robj); + r = radeon_bo_create(rdev, NULL, RADEON_IB_POOL_SIZE*64*1024, + true, RADEON_GEM_DOMAIN_GTT, + &rdev->ib_pool.robj); if (r) { DRM_ERROR("radeon: failed to ib pool (%d).\n", r); return r; } - r = radeon_object_pin(rdev->ib_pool.robj, RADEON_GEM_DOMAIN_GTT, &gpu_addr); + r = radeon_bo_reserve(rdev->ib_pool.robj, false); + if (unlikely(r != 0)) + return r; + r = radeon_bo_pin(rdev->ib_pool.robj, RADEON_GEM_DOMAIN_GTT, &gpu_addr); if (r) { + radeon_bo_unreserve(rdev->ib_pool.robj); DRM_ERROR("radeon: failed to pin ib pool (%d).\n", r); return r; } - r = radeon_object_kmap(rdev->ib_pool.robj, &ptr); + r = radeon_bo_kmap(rdev->ib_pool.robj, &ptr); + radeon_bo_unreserve(rdev->ib_pool.robj); if (r) { DRM_ERROR("radeon: failed to map ib poll (%d).\n", r); return r; @@ -190,9 +173,9 @@ rdev->ib_pool.ibs[i].ptr = ptr + offset; rdev->ib_pool.ibs[i].idx = i; rdev->ib_pool.ibs[i].length_dw = 0; - INIT_LIST_HEAD(&rdev->ib_pool.ibs[i].list); + rdev->ib_pool.ibs[i].free = true; } - bitmap_zero(rdev->ib_pool.alloc_bm, RADEON_IB_POOL_SIZE); + rdev->ib_pool.head_id = 0; rdev->ib_pool.ready = true; DRM_INFO("radeon: ib pool ready.\n"); if (radeon_debugfs_ib_init(rdev)) { @@ -203,14 +186,20 @@ void radeon_ib_pool_fini(struct radeon_device *rdev) { + int r; + if (!rdev->ib_pool.ready) { return; } mutex_lock(&rdev->ib_pool.mutex); - bitmap_zero(rdev->ib_pool.alloc_bm, RADEON_IB_POOL_SIZE); if (rdev->ib_pool.robj) { - radeon_object_kunmap(rdev->ib_pool.robj); - radeon_object_unref(&rdev->ib_pool.robj); + r = radeon_bo_reserve(rdev->ib_pool.robj, false); + if (likely(r == 0)) { + radeon_bo_kunmap(rdev->ib_pool.robj); + radeon_bo_unpin(rdev->ib_pool.robj); + radeon_bo_unreserve(rdev->ib_pool.robj); + } + radeon_bo_unref(&rdev->ib_pool.robj); rdev->ib_pool.robj = NULL; } mutex_unlock(&rdev->ib_pool.mutex); @@ -288,29 +277,28 @@ rdev->cp.ring_size = ring_size; /* Allocate ring buffer */ if (rdev->cp.ring_obj == NULL) { - r = radeon_object_create(rdev, NULL, rdev->cp.ring_size, - true, - RADEON_GEM_DOMAIN_GTT, - false, - &rdev->cp.ring_obj); + r = radeon_bo_create(rdev, NULL, rdev->cp.ring_size, true, + RADEON_GEM_DOMAIN_GTT, + &rdev->cp.ring_obj); if (r) { - DRM_ERROR("radeon: failed to create ring buffer (%d).\n", r); - mutex_unlock(&rdev->cp.mutex); + dev_err(rdev->dev, "(%d) ring create failed\n", r); return r; } - r = radeon_object_pin(rdev->cp.ring_obj, - RADEON_GEM_DOMAIN_GTT, - &rdev->cp.gpu_addr); + r = radeon_bo_reserve(rdev->cp.ring_obj, false); + if (unlikely(r != 0)) + return r; + r = radeon_bo_pin(rdev->cp.ring_obj, RADEON_GEM_DOMAIN_GTT, + &rdev->cp.gpu_addr); if (r) { - DRM_ERROR("radeon: failed to pin ring buffer (%d).\n", r); - mutex_unlock(&rdev->cp.mutex); + radeon_bo_unreserve(rdev->cp.ring_obj); + dev_err(rdev->dev, "(%d) ring pin failed\n", r); return r; } - r = radeon_object_kmap(rdev->cp.ring_obj, + r = radeon_bo_kmap(rdev->cp.ring_obj, (void **)&rdev->cp.ring); + radeon_bo_unreserve(rdev->cp.ring_obj); if (r) { - DRM_ERROR("radeon: failed to map ring buffer (%d).\n", r); - mutex_unlock(&rdev->cp.mutex); + dev_err(rdev->dev, "(%d) ring map failed\n", r); return r; } } @@ -321,11 +309,17 @@ void radeon_ring_fini(struct radeon_device *rdev) { + int r; + mutex_lock(&rdev->cp.mutex); if (rdev->cp.ring_obj) { - radeon_object_kunmap(rdev->cp.ring_obj); - radeon_object_unpin(rdev->cp.ring_obj); - radeon_object_unref(&rdev->cp.ring_obj); + r = radeon_bo_reserve(rdev->cp.ring_obj, false); + if (likely(r == 0)) { + radeon_bo_kunmap(rdev->cp.ring_obj); + radeon_bo_unpin(rdev->cp.ring_obj); + radeon_bo_unreserve(rdev->cp.ring_obj); + } + radeon_bo_unref(&rdev->cp.ring_obj); rdev->cp.ring = NULL; rdev->cp.ring_obj = NULL; } @@ -346,7 +340,7 @@ if (ib == NULL) { return 0; } - seq_printf(m, "IB %04lu\n", ib->idx); + seq_printf(m, "IB %04u\n", ib->idx); seq_printf(m, "IB fence %p\n", ib->fence); seq_printf(m, "IB size %05u dwords\n", ib->length_dw); for (i = 0; i < ib->length_dw; i++) { --- linux-2.6.32.orig/drivers/gpu/drm/radeon/r100_track.h +++ linux-2.6.32/drivers/gpu/drm/radeon/r100_track.h @@ -10,26 +10,30 @@ * CS functions */ struct r100_cs_track_cb { - struct radeon_object *robj; + struct radeon_bo *robj; unsigned pitch; unsigned cpp; unsigned offset; }; struct r100_cs_track_array { - struct radeon_object *robj; + struct radeon_bo *robj; unsigned esize; }; struct r100_cs_cube_info { - struct radeon_object *robj; - unsigned offset; + struct radeon_bo *robj; + unsigned offset; unsigned width; unsigned height; }; +#define R100_TRACK_COMP_NONE 0 +#define R100_TRACK_COMP_DXT1 1 +#define R100_TRACK_COMP_DXT35 2 + struct r100_cs_track_texture { - struct radeon_object *robj; + struct radeon_bo *robj; struct r100_cs_cube_info cube_info[5]; /* info for 5 non-primary faces */ unsigned pitch; unsigned width; @@ -42,8 +46,10 @@ unsigned height_11; bool use_pitch; bool enabled; + bool lookup_disable; bool roundup_w; bool roundup_h; + unsigned compress_format; }; struct r100_cs_track_limits { @@ -62,13 +68,18 @@ unsigned immd_dwords; unsigned num_arrays; unsigned max_indx; + unsigned color_channel_mask; struct r100_cs_track_array arrays[11]; struct r100_cs_track_cb cb[R300_MAX_CB]; struct r100_cs_track_cb zb; + struct r100_cs_track_cb aa; struct r100_cs_track_texture textures[R300_TRACK_MAX_TEXTURE]; bool z_enabled; bool separate_cube; - + bool fastfill; + bool blend_read_enable; + bool aa_dirty; + bool aaresolve; }; int r100_cs_track_check(struct radeon_device *rdev, struct r100_cs_track *track); --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_state.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_state.c @@ -101,6 +101,7 @@ DRM_ERROR("Invalid depth buffer offset\n"); return -EINVAL; } + dev_priv->have_z_offset = 1; break; case RADEON_EMIT_PP_CNTL: @@ -876,6 +877,12 @@ if (tmp & RADEON_BACK) flags |= RADEON_FRONT; } + if (flags & (RADEON_DEPTH|RADEON_STENCIL)) { + if (!dev_priv->have_z_offset) { + printk_once(KERN_ERR "radeon: illegal depth clear request. Buggy mesa detected - please update.\n"); + flags &= ~(RADEON_DEPTH | RADEON_STENCIL); + } + } if (flags & (RADEON_FRONT | RADEON_BACK)) { @@ -1950,7 +1957,7 @@ * Note that refcount can be at most 2, since during a free refcount=3 * might mean we have to allocate a new surface which might not always * be available. - * For example : we allocate three contigous surfaces ABC. If B is + * For example : we allocate three contiguous surfaces ABC. If B is * freed, we suddenly need two surfaces to store A and C, which might * not always be available. */ --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_test.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_test.c @@ -30,8 +30,8 @@ /* Test BO GTT->VRAM and VRAM->GTT GPU copies across the whole GTT aperture */ void radeon_test_moves(struct radeon_device *rdev) { - struct radeon_object *vram_obj = NULL; - struct radeon_object **gtt_obj = NULL; + struct radeon_bo *vram_obj = NULL; + struct radeon_bo **gtt_obj = NULL; struct radeon_fence *fence = NULL; uint64_t gtt_addr, vram_addr; unsigned i, n, size; @@ -42,8 +42,8 @@ /* Number of tests = * (Total GTT - IB pool - writeback page - ring buffer) / test size */ - n = (rdev->mc.gtt_size - RADEON_IB_POOL_SIZE*64*1024 - RADEON_GPU_PAGE_SIZE - - rdev->cp.ring_size) / size; + n = ((u32)(rdev->mc.gtt_size - RADEON_IB_POOL_SIZE*64*1024 - RADEON_GPU_PAGE_SIZE - + rdev->cp.ring_size)) / size; gtt_obj = kzalloc(n * sizeof(*gtt_obj), GFP_KERNEL); if (!gtt_obj) { @@ -52,38 +52,42 @@ goto out_cleanup; } - r = radeon_object_create(rdev, NULL, size, true, RADEON_GEM_DOMAIN_VRAM, - false, &vram_obj); + r = radeon_bo_create(rdev, NULL, size, true, RADEON_GEM_DOMAIN_VRAM, + &vram_obj); if (r) { DRM_ERROR("Failed to create VRAM object\n"); goto out_cleanup; } - - r = radeon_object_pin(vram_obj, RADEON_GEM_DOMAIN_VRAM, &vram_addr); + r = radeon_bo_reserve(vram_obj, false); + if (unlikely(r != 0)) + goto out_cleanup; + r = radeon_bo_pin(vram_obj, RADEON_GEM_DOMAIN_VRAM, &vram_addr); if (r) { DRM_ERROR("Failed to pin VRAM object\n"); goto out_cleanup; } - for (i = 0; i < n; i++) { void *gtt_map, *vram_map; void **gtt_start, **gtt_end; void **vram_start, **vram_end; - r = radeon_object_create(rdev, NULL, size, true, - RADEON_GEM_DOMAIN_GTT, false, gtt_obj + i); + r = radeon_bo_create(rdev, NULL, size, true, + RADEON_GEM_DOMAIN_GTT, gtt_obj + i); if (r) { DRM_ERROR("Failed to create GTT object %d\n", i); goto out_cleanup; } - r = radeon_object_pin(gtt_obj[i], RADEON_GEM_DOMAIN_GTT, >t_addr); + r = radeon_bo_reserve(gtt_obj[i], false); + if (unlikely(r != 0)) + goto out_cleanup; + r = radeon_bo_pin(gtt_obj[i], RADEON_GEM_DOMAIN_GTT, >t_addr); if (r) { DRM_ERROR("Failed to pin GTT object %d\n", i); goto out_cleanup; } - r = radeon_object_kmap(gtt_obj[i], >t_map); + r = radeon_bo_kmap(gtt_obj[i], >t_map); if (r) { DRM_ERROR("Failed to map GTT object %d\n", i); goto out_cleanup; @@ -94,7 +98,7 @@ gtt_start++) *gtt_start = gtt_start; - radeon_object_kunmap(gtt_obj[i]); + radeon_bo_kunmap(gtt_obj[i]); r = radeon_fence_create(rdev, &fence); if (r) { @@ -116,7 +120,7 @@ radeon_fence_unref(&fence); - r = radeon_object_kmap(vram_obj, &vram_map); + r = radeon_bo_kmap(vram_obj, &vram_map); if (r) { DRM_ERROR("Failed to map VRAM object after copy %d\n", i); goto out_cleanup; @@ -131,13 +135,13 @@ "expected 0x%p (GTT map 0x%p-0x%p)\n", i, *vram_start, gtt_start, gtt_map, gtt_end); - radeon_object_kunmap(vram_obj); + radeon_bo_kunmap(vram_obj); goto out_cleanup; } *vram_start = vram_start; } - radeon_object_kunmap(vram_obj); + radeon_bo_kunmap(vram_obj); r = radeon_fence_create(rdev, &fence); if (r) { @@ -159,7 +163,7 @@ radeon_fence_unref(&fence); - r = radeon_object_kmap(gtt_obj[i], >t_map); + r = radeon_bo_kmap(gtt_obj[i], >t_map); if (r) { DRM_ERROR("Failed to map GTT object after copy %d\n", i); goto out_cleanup; @@ -174,12 +178,12 @@ "expected 0x%p (VRAM map 0x%p-0x%p)\n", i, *gtt_start, vram_start, vram_map, vram_end); - radeon_object_kunmap(gtt_obj[i]); + radeon_bo_kunmap(gtt_obj[i]); goto out_cleanup; } } - radeon_object_kunmap(gtt_obj[i]); + radeon_bo_kunmap(gtt_obj[i]); DRM_INFO("Tested GTT->VRAM and VRAM->GTT copy for GTT offset 0x%llx\n", gtt_addr - rdev->mc.gtt_location); @@ -187,14 +191,20 @@ out_cleanup: if (vram_obj) { - radeon_object_unpin(vram_obj); - radeon_object_unref(&vram_obj); + if (radeon_bo_is_reserved(vram_obj)) { + radeon_bo_unpin(vram_obj); + radeon_bo_unreserve(vram_obj); + } + radeon_bo_unref(&vram_obj); } if (gtt_obj) { for (i = 0; i < n; i++) { if (gtt_obj[i]) { - radeon_object_unpin(gtt_obj[i]); - radeon_object_unref(>t_obj[i]); + if (radeon_bo_is_reserved(gtt_obj[i])) { + radeon_bo_unpin(gtt_obj[i]); + radeon_bo_unreserve(gtt_obj[i]); + } + radeon_bo_unref(>t_obj[i]); } } kfree(gtt_obj); @@ -206,4 +216,3 @@ printk(KERN_WARNING "Error while testing BO move.\n"); } } - --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_ttm.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_ttm.c @@ -150,7 +150,7 @@ man->default_caching = TTM_PL_FLAG_CACHED; break; case TTM_PL_TT: - man->gpu_offset = 0; + man->gpu_offset = rdev->mc.gtt_location; man->available_caching = TTM_PL_MASK_CACHING; man->default_caching = TTM_PL_FLAG_CACHED; man->flags = TTM_MEMTYPE_FLAG_MAPPABLE | TTM_MEMTYPE_FLAG_CMA; @@ -180,7 +180,7 @@ break; case TTM_PL_VRAM: /* "On-card" video ram */ - man->gpu_offset = 0; + man->gpu_offset = rdev->mc.vram_location; man->flags = TTM_MEMTYPE_FLAG_FIXED | TTM_MEMTYPE_FLAG_NEEDS_IOREMAP | TTM_MEMTYPE_FLAG_MAPPABLE; @@ -197,16 +197,34 @@ return 0; } -static uint32_t radeon_evict_flags(struct ttm_buffer_object *bo) +static void radeon_evict_flags(struct ttm_buffer_object *bo, + struct ttm_placement *placement) { - uint32_t cur_placement = bo->mem.placement & ~TTM_PL_MASK_MEMTYPE; + struct radeon_bo *rbo; + static u32 placements = TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM; + if (!radeon_ttm_bo_is_radeon_bo(bo)) { + placement->fpfn = 0; + placement->lpfn = 0; + placement->placement = &placements; + placement->busy_placement = &placements; + placement->num_placement = 1; + placement->num_busy_placement = 1; + return; + } + rbo = container_of(bo, struct radeon_bo, tbo); switch (bo->mem.mem_type) { + case TTM_PL_VRAM: + if (rbo->rdev->cp.ready == false) + radeon_ttm_placement_from_domain(rbo, RADEON_GEM_DOMAIN_CPU); + else + radeon_ttm_placement_from_domain(rbo, RADEON_GEM_DOMAIN_GTT); + break; + case TTM_PL_TT: default: - return (cur_placement & ~TTM_PL_MASK_CACHING) | - TTM_PL_FLAG_SYSTEM | - TTM_PL_FLAG_CACHED; + radeon_ttm_placement_from_domain(rbo, RADEON_GEM_DOMAIN_CPU); } + *placement = rbo->placement; } static int radeon_verify_access(struct ttm_buffer_object *bo, struct file *filp) @@ -283,14 +301,21 @@ struct radeon_device *rdev; struct ttm_mem_reg *old_mem = &bo->mem; struct ttm_mem_reg tmp_mem; - uint32_t proposed_placement; + u32 placements; + struct ttm_placement placement; int r; rdev = radeon_get_rdev(bo->bdev); tmp_mem = *new_mem; tmp_mem.mm_node = NULL; - proposed_placement = TTM_PL_FLAG_TT | TTM_PL_MASK_CACHING; - r = ttm_bo_mem_space(bo, proposed_placement, &tmp_mem, + placement.fpfn = 0; + placement.lpfn = 0; + placement.num_placement = 1; + placement.placement = &placements; + placement.num_busy_placement = 1; + placement.busy_placement = &placements; + placements = TTM_PL_MASK_CACHING | TTM_PL_FLAG_TT; + r = ttm_bo_mem_space(bo, &placement, &tmp_mem, interruptible, no_wait); if (unlikely(r)) { return r; @@ -329,15 +354,21 @@ struct radeon_device *rdev; struct ttm_mem_reg *old_mem = &bo->mem; struct ttm_mem_reg tmp_mem; - uint32_t proposed_flags; + struct ttm_placement placement; + u32 placements; int r; rdev = radeon_get_rdev(bo->bdev); tmp_mem = *new_mem; tmp_mem.mm_node = NULL; - proposed_flags = TTM_PL_FLAG_TT | TTM_PL_MASK_CACHING; - r = ttm_bo_mem_space(bo, proposed_flags, &tmp_mem, - interruptible, no_wait); + placement.fpfn = 0; + placement.lpfn = 0; + placement.num_placement = 1; + placement.placement = &placements; + placement.num_busy_placement = 1; + placement.busy_placement = &placements; + placements = TTM_PL_MASK_CACHING | TTM_PL_FLAG_TT; + r = ttm_bo_mem_space(bo, &placement, &tmp_mem, interruptible, no_wait); if (unlikely(r)) { return r; } @@ -378,7 +409,7 @@ new_mem->mem_type == TTM_PL_SYSTEM) || (old_mem->mem_type == TTM_PL_SYSTEM && new_mem->mem_type == TTM_PL_TT)) { - /* bind is enought */ + /* bind is enough */ radeon_move_null(bo, new_mem); return 0; } @@ -407,18 +438,6 @@ return r; } -const uint32_t radeon_mem_prios[] = { - TTM_PL_VRAM, - TTM_PL_TT, - TTM_PL_SYSTEM, -}; - -const uint32_t radeon_busy_prios[] = { - TTM_PL_TT, - TTM_PL_VRAM, - TTM_PL_SYSTEM, -}; - static int radeon_sync_obj_wait(void *sync_obj, void *sync_arg, bool lazy, bool interruptible) { @@ -446,10 +465,6 @@ } static struct ttm_bo_driver radeon_bo_driver = { - .mem_type_prio = radeon_mem_prios, - .mem_busy_prio = radeon_busy_prios, - .num_mem_type_prio = ARRAY_SIZE(radeon_mem_prios), - .num_mem_busy_prio = ARRAY_SIZE(radeon_busy_prios), .create_ttm_backend_entry = &radeon_create_ttm_backend_entry, .invalidate_caches = &radeon_invalidate_caches, .init_mem_type = &radeon_init_mem_type, @@ -482,27 +497,32 @@ DRM_ERROR("failed initializing buffer object driver(%d).\n", r); return r; } - r = ttm_bo_init_mm(&rdev->mman.bdev, TTM_PL_VRAM, 0, - ((rdev->mc.real_vram_size) >> PAGE_SHIFT)); + rdev->mman.initialized = true; + r = ttm_bo_init_mm(&rdev->mman.bdev, TTM_PL_VRAM, + rdev->mc.real_vram_size >> PAGE_SHIFT); if (r) { DRM_ERROR("Failed initializing VRAM heap.\n"); return r; } - r = radeon_object_create(rdev, NULL, 256 * 1024, true, - RADEON_GEM_DOMAIN_VRAM, false, - &rdev->stollen_vga_memory); + r = radeon_bo_create(rdev, NULL, 256 * 1024, true, + RADEON_GEM_DOMAIN_VRAM, + &rdev->stollen_vga_memory); if (r) { return r; } - r = radeon_object_pin(rdev->stollen_vga_memory, RADEON_GEM_DOMAIN_VRAM, NULL); + r = radeon_bo_reserve(rdev->stollen_vga_memory, false); + if (r) + return r; + r = radeon_bo_pin(rdev->stollen_vga_memory, RADEON_GEM_DOMAIN_VRAM, NULL); + radeon_bo_unreserve(rdev->stollen_vga_memory); if (r) { - radeon_object_unref(&rdev->stollen_vga_memory); + radeon_bo_unref(&rdev->stollen_vga_memory); return r; } DRM_INFO("radeon: %uM of VRAM memory ready\n", (unsigned)rdev->mc.real_vram_size / (1024 * 1024)); - r = ttm_bo_init_mm(&rdev->mman.bdev, TTM_PL_TT, 0, - ((rdev->mc.gtt_size) >> PAGE_SHIFT)); + r = ttm_bo_init_mm(&rdev->mman.bdev, TTM_PL_TT, + rdev->mc.gtt_size >> PAGE_SHIFT); if (r) { DRM_ERROR("Failed initializing GTT heap.\n"); return r; @@ -523,15 +543,24 @@ void radeon_ttm_fini(struct radeon_device *rdev) { + int r; + + if (!rdev->mman.initialized) + return; if (rdev->stollen_vga_memory) { - radeon_object_unpin(rdev->stollen_vga_memory); - radeon_object_unref(&rdev->stollen_vga_memory); + r = radeon_bo_reserve(rdev->stollen_vga_memory, false); + if (r == 0) { + radeon_bo_unpin(rdev->stollen_vga_memory); + radeon_bo_unreserve(rdev->stollen_vga_memory); + } + radeon_bo_unref(&rdev->stollen_vga_memory); } ttm_bo_clean_mm(&rdev->mman.bdev, TTM_PL_VRAM); ttm_bo_clean_mm(&rdev->mman.bdev, TTM_PL_TT); ttm_bo_device_release(&rdev->mman.bdev); radeon_gart_fini(rdev); radeon_ttm_global_fini(rdev); + rdev->mman.initialized = false; DRM_INFO("radeon: ttm finalized\n"); } --- linux-2.6.32.orig/drivers/gpu/drm/radeon/rs400.c +++ linux-2.6.32/drivers/gpu/drm/radeon/rs400.c @@ -223,15 +223,31 @@ return 0; } +int rs400_mc_wait_for_idle(struct radeon_device *rdev) +{ + unsigned i; + uint32_t tmp; + + for (i = 0; i < rdev->usec_timeout; i++) { + /* read MC_STATUS */ + tmp = RREG32(0x0150); + if (tmp & (1 << 2)) { + return 0; + } + DRM_UDELAY(1); + } + return -1; +} + void rs400_gpu_init(struct radeon_device *rdev) { /* FIXME: HDP same place on rs400 ? */ r100_hdp_reset(rdev); /* FIXME: is this correct ? */ r420_pipes_init(rdev); - if (r300_mc_wait_for_idle(rdev)) { - printk(KERN_WARNING "Failed to wait MC idle while " - "programming pipes. Bad things might happen.\n"); + if (rs400_mc_wait_for_idle(rdev)) { + printk(KERN_WARNING "rs400: Failed to wait MC idle while " + "programming pipes. Bad things might happen. %08x\n", RREG32(0x150)); } } @@ -352,10 +368,11 @@ u32 tmp; /* Setup GPU memory space */ - tmp = G_00015C_MC_FB_START(RREG32(R_00015C_NB_TOM)); + tmp = RREG32(R_00015C_NB_TOM); rdev->mc.vram_location = G_00015C_MC_FB_START(tmp) << 16; rdev->mc.gtt_location = 0xFFFFFFFFUL; r = radeon_mc_setup(rdev); + rdev->mc.igp_sideport_enabled = radeon_combios_sideport_present(rdev); if (r) return r; return 0; @@ -369,8 +386,8 @@ r100_mc_stop(rdev, &save); /* Wait for mc idle */ - if (r300_mc_wait_for_idle(rdev)) - dev_warn(rdev->dev, "Wait MC idle timeout before updating MC.\n"); + if (rs400_mc_wait_for_idle(rdev)) + dev_warn(rdev->dev, "rs400: Wait MC idle timeout before updating MC.\n"); WREG32(R_000148_MC_FB_LOCATION, S_000148_MC_FB_START(rdev->mc.vram_start >> 16) | S_000148_MC_FB_TOP(rdev->mc.vram_end >> 16)); @@ -387,14 +404,15 @@ r300_clock_startup(rdev); /* Initialize GPU configuration (# pipes, ...) */ rs400_gpu_init(rdev); + r100_enable_bm(rdev); /* Initialize GART (initialize after TTM so we can allocate * memory through TTM but finalize after TTM) */ r = rs400_gart_enable(rdev); if (r) return r; /* Enable IRQ */ - rdev->irq.sw_int = true; r100_irq_set(rdev); + rdev->config.r300.hdp_cntl = RREG32(RADEON_HOST_PATH_CNTL); /* 1M ring buffer */ r = r100_cp_init(rdev, 1024 * 1024); if (r) { @@ -430,6 +448,8 @@ radeon_combios_asic_init(rdev->ddev); /* Resume clock after posting */ r300_clock_startup(rdev); + /* Initialize surface registers */ + radeon_surface_init(rdev); return rs400_startup(rdev); } @@ -444,7 +464,6 @@ void rs400_fini(struct radeon_device *rdev) { - rs400_suspend(rdev); r100_cp_fini(rdev); r100_wb_fini(rdev); r100_ib_fini(rdev); @@ -452,7 +471,7 @@ rs400_gart_fini(rdev); radeon_irq_kms_fini(rdev); radeon_fence_driver_fini(rdev); - radeon_object_fini(rdev); + radeon_bo_fini(rdev); radeon_atombios_fini(rdev); kfree(rdev->bios); rdev->bios = NULL; @@ -490,12 +509,13 @@ RREG32(R_0007C0_CP_STAT)); } /* check if cards are posted or not */ - if (!radeon_card_posted(rdev) && rdev->bios) { - DRM_INFO("GPU not posted. posting now...\n"); - radeon_combios_asic_init(rdev->ddev); - } + if (radeon_boot_test_post_card(rdev) == false) + return -EINVAL; + /* Initialize clocks */ radeon_get_clock_info(rdev->ddev); + /* Initialize power management */ + radeon_pm_init(rdev); /* Get vram informations */ rs400_vram_info(rdev); /* Initialize memory controller (also test AGP) */ @@ -510,7 +530,7 @@ if (r) return r; /* Memory manager */ - r = radeon_object_init(rdev); + r = radeon_bo_init(rdev); if (r) return r; r = rs400_gart_init(rdev); @@ -522,7 +542,6 @@ if (r) { /* Somethings want wront with the accel init stop accel */ dev_err(rdev->dev, "Disabling GPU acceleration\n"); - rs400_suspend(rdev); r100_cp_fini(rdev); r100_wb_fini(rdev); r100_ib_fini(rdev); --- linux-2.6.32.orig/drivers/gpu/drm/radeon/rs600.c +++ linux-2.6.32/drivers/gpu/drm/radeon/rs600.c @@ -45,6 +45,123 @@ void rs600_gpu_init(struct radeon_device *rdev); int rs600_mc_wait_for_idle(struct radeon_device *rdev); +int rs600_mc_init(struct radeon_device *rdev) +{ + /* read back the MC value from the hw */ + int r; + u32 tmp; + + /* Setup GPU memory space */ + tmp = RREG32_MC(R_000004_MC_FB_LOCATION); + rdev->mc.vram_location = G_000004_MC_FB_START(tmp) << 16; + rdev->mc.gtt_location = 0xffffffffUL; + r = radeon_mc_setup(rdev); + if (r) + return r; + return 0; +} + +/* hpd for digital panel detect/disconnect */ +bool rs600_hpd_sense(struct radeon_device *rdev, enum radeon_hpd_id hpd) +{ + u32 tmp; + bool connected = false; + + switch (hpd) { + case RADEON_HPD_1: + tmp = RREG32(R_007D04_DC_HOT_PLUG_DETECT1_INT_STATUS); + if (G_007D04_DC_HOT_PLUG_DETECT1_SENSE(tmp)) + connected = true; + break; + case RADEON_HPD_2: + tmp = RREG32(R_007D14_DC_HOT_PLUG_DETECT2_INT_STATUS); + if (G_007D14_DC_HOT_PLUG_DETECT2_SENSE(tmp)) + connected = true; + break; + default: + break; + } + return connected; +} + +void rs600_hpd_set_polarity(struct radeon_device *rdev, + enum radeon_hpd_id hpd) +{ + u32 tmp; + bool connected = rs600_hpd_sense(rdev, hpd); + + switch (hpd) { + case RADEON_HPD_1: + tmp = RREG32(R_007D08_DC_HOT_PLUG_DETECT1_INT_CONTROL); + if (connected) + tmp &= ~S_007D08_DC_HOT_PLUG_DETECT1_INT_POLARITY(1); + else + tmp |= S_007D08_DC_HOT_PLUG_DETECT1_INT_POLARITY(1); + WREG32(R_007D08_DC_HOT_PLUG_DETECT1_INT_CONTROL, tmp); + break; + case RADEON_HPD_2: + tmp = RREG32(R_007D18_DC_HOT_PLUG_DETECT2_INT_CONTROL); + if (connected) + tmp &= ~S_007D18_DC_HOT_PLUG_DETECT2_INT_POLARITY(1); + else + tmp |= S_007D18_DC_HOT_PLUG_DETECT2_INT_POLARITY(1); + WREG32(R_007D18_DC_HOT_PLUG_DETECT2_INT_CONTROL, tmp); + break; + default: + break; + } +} + +void rs600_hpd_init(struct radeon_device *rdev) +{ + struct drm_device *dev = rdev->ddev; + struct drm_connector *connector; + + list_for_each_entry(connector, &dev->mode_config.connector_list, head) { + struct radeon_connector *radeon_connector = to_radeon_connector(connector); + switch (radeon_connector->hpd.hpd) { + case RADEON_HPD_1: + WREG32(R_007D00_DC_HOT_PLUG_DETECT1_CONTROL, + S_007D00_DC_HOT_PLUG_DETECT1_EN(1)); + rdev->irq.hpd[0] = true; + break; + case RADEON_HPD_2: + WREG32(R_007D10_DC_HOT_PLUG_DETECT2_CONTROL, + S_007D10_DC_HOT_PLUG_DETECT2_EN(1)); + rdev->irq.hpd[1] = true; + break; + default: + break; + } + } + if (rdev->irq.installed) + rs600_irq_set(rdev); +} + +void rs600_hpd_fini(struct radeon_device *rdev) +{ + struct drm_device *dev = rdev->ddev; + struct drm_connector *connector; + + list_for_each_entry(connector, &dev->mode_config.connector_list, head) { + struct radeon_connector *radeon_connector = to_radeon_connector(connector); + switch (radeon_connector->hpd.hpd) { + case RADEON_HPD_1: + WREG32(R_007D00_DC_HOT_PLUG_DETECT1_CONTROL, + S_007D00_DC_HOT_PLUG_DETECT1_EN(0)); + rdev->irq.hpd[0] = false; + break; + case RADEON_HPD_2: + WREG32(R_007D10_DC_HOT_PLUG_DETECT2_CONTROL, + S_007D10_DC_HOT_PLUG_DETECT2_EN(0)); + rdev->irq.hpd[1] = false; + break; + default: + break; + } + } +} + /* * GART. */ @@ -57,7 +174,7 @@ WREG32_MC(R_000100_MC_PT0_CNTL, tmp); tmp = RREG32_MC(R_000100_MC_PT0_CNTL); - tmp |= S_000100_INVALIDATE_ALL_L1_TLBS(1) & S_000100_INVALIDATE_L2_CACHE(1); + tmp |= S_000100_INVALIDATE_ALL_L1_TLBS(1) | S_000100_INVALIDATE_L2_CACHE(1); WREG32_MC(R_000100_MC_PT0_CNTL, tmp); tmp = RREG32_MC(R_000100_MC_PT0_CNTL); @@ -100,40 +217,40 @@ WREG32(R_00004C_BUS_CNTL, tmp); /* FIXME: setup default page */ WREG32_MC(R_000100_MC_PT0_CNTL, - (S_000100_EFFECTIVE_L2_CACHE_SIZE(6) | - S_000100_EFFECTIVE_L2_QUEUE_SIZE(6))); + (S_000100_EFFECTIVE_L2_CACHE_SIZE(6) | + S_000100_EFFECTIVE_L2_QUEUE_SIZE(6))); + for (i = 0; i < 19; i++) { WREG32_MC(R_00016C_MC_PT0_CLIENT0_CNTL + i, - S_00016C_ENABLE_TRANSLATION_MODE_OVERRIDE(1) | - S_00016C_SYSTEM_ACCESS_MODE_MASK( - V_00016C_SYSTEM_ACCESS_MODE_IN_SYS) | - S_00016C_SYSTEM_APERTURE_UNMAPPED_ACCESS( - V_00016C_SYSTEM_APERTURE_UNMAPPED_DEFAULT_PAGE) | - S_00016C_EFFECTIVE_L1_CACHE_SIZE(1) | - S_00016C_ENABLE_FRAGMENT_PROCESSING(1) | - S_00016C_EFFECTIVE_L1_QUEUE_SIZE(1)); + S_00016C_ENABLE_TRANSLATION_MODE_OVERRIDE(1) | + S_00016C_SYSTEM_ACCESS_MODE_MASK( + V_00016C_SYSTEM_ACCESS_MODE_NOT_IN_SYS) | + S_00016C_SYSTEM_APERTURE_UNMAPPED_ACCESS( + V_00016C_SYSTEM_APERTURE_UNMAPPED_PASSTHROUGH) | + S_00016C_EFFECTIVE_L1_CACHE_SIZE(3) | + S_00016C_ENABLE_FRAGMENT_PROCESSING(1) | + S_00016C_EFFECTIVE_L1_QUEUE_SIZE(3)); } - - /* System context map to GART space */ - WREG32_MC(R_000112_MC_PT0_SYSTEM_APERTURE_LOW_ADDR, rdev->mc.gtt_start); - WREG32_MC(R_000114_MC_PT0_SYSTEM_APERTURE_HIGH_ADDR, rdev->mc.gtt_end); - /* enable first context */ - WREG32_MC(R_00013C_MC_PT0_CONTEXT0_FLAT_START_ADDR, rdev->mc.gtt_start); - WREG32_MC(R_00014C_MC_PT0_CONTEXT0_FLAT_END_ADDR, rdev->mc.gtt_end); WREG32_MC(R_000102_MC_PT0_CONTEXT0_CNTL, - S_000102_ENABLE_PAGE_TABLE(1) | - S_000102_PAGE_TABLE_DEPTH(V_000102_PAGE_TABLE_FLAT)); + S_000102_ENABLE_PAGE_TABLE(1) | + S_000102_PAGE_TABLE_DEPTH(V_000102_PAGE_TABLE_FLAT)); + /* disable all other contexts */ - for (i = 1; i < 8; i++) { + for (i = 1; i < 8; i++) WREG32_MC(R_000102_MC_PT0_CONTEXT0_CNTL + i, 0); - } /* setup the page table */ WREG32_MC(R_00012C_MC_PT0_CONTEXT0_FLAT_BASE_ADDR, - rdev->gart.table_addr); + rdev->gart.table_addr); + WREG32_MC(R_00013C_MC_PT0_CONTEXT0_FLAT_START_ADDR, rdev->mc.gtt_start); + WREG32_MC(R_00014C_MC_PT0_CONTEXT0_FLAT_END_ADDR, rdev->mc.gtt_end); WREG32_MC(R_00011C_MC_PT0_CONTEXT0_DEFAULT_READ_ADDR, 0); + /* System context maps to VRAM space */ + WREG32_MC(R_000112_MC_PT0_SYSTEM_APERTURE_LOW_ADDR, rdev->mc.vram_start); + WREG32_MC(R_000114_MC_PT0_SYSTEM_APERTURE_HIGH_ADDR, rdev->mc.vram_end); + /* enable page tables */ tmp = RREG32_MC(R_000100_MC_PT0_CNTL); WREG32_MC(R_000100_MC_PT0_CNTL, (tmp | S_000100_ENABLE_PT(1))); @@ -146,15 +263,20 @@ void rs600_gart_disable(struct radeon_device *rdev) { - uint32_t tmp; + u32 tmp; + int r; /* FIXME: disable out of gart access */ WREG32_MC(R_000100_MC_PT0_CNTL, 0); tmp = RREG32_MC(R_000009_MC_CNTL1); WREG32_MC(R_000009_MC_CNTL1, tmp & C_000009_ENABLE_PAGE_TABLES); if (rdev->gart.table.vram.robj) { - radeon_object_kunmap(rdev->gart.table.vram.robj); - radeon_object_unpin(rdev->gart.table.vram.robj); + r = radeon_bo_reserve(rdev->gart.table.vram.robj, false); + if (r == 0) { + radeon_bo_kunmap(rdev->gart.table.vram.robj); + radeon_bo_unpin(rdev->gart.table.vram.robj); + radeon_bo_unreserve(rdev->gart.table.vram.robj); + } } } @@ -189,7 +311,16 @@ { uint32_t tmp = 0; uint32_t mode_int = 0; - + u32 hpd1 = RREG32(R_007D08_DC_HOT_PLUG_DETECT1_INT_CONTROL) & + ~S_007D08_DC_HOT_PLUG_DETECT1_INT_EN(1); + u32 hpd2 = RREG32(R_007D18_DC_HOT_PLUG_DETECT2_INT_CONTROL) & + ~S_007D18_DC_HOT_PLUG_DETECT2_INT_EN(1); + + if (!rdev->irq.installed) { + WARN(1, "Can't enable IRQ/MSI because no handler is installed.\n"); + WREG32(R_000040_GEN_INT_CNTL, 0); + return -EINVAL; + } if (rdev->irq.sw_int) { tmp |= S_000040_SW_INT_EN(1); } @@ -199,8 +330,16 @@ if (rdev->irq.crtc_vblank_int[1]) { mode_int |= S_006540_D2MODE_VBLANK_INT_MASK(1); } + if (rdev->irq.hpd[0]) { + hpd1 |= S_007D08_DC_HOT_PLUG_DETECT1_INT_EN(1); + } + if (rdev->irq.hpd[1]) { + hpd2 |= S_007D18_DC_HOT_PLUG_DETECT2_INT_EN(1); + } WREG32(R_000040_GEN_INT_CNTL, tmp); WREG32(R_006540_DxMODE_INT_MASK, mode_int); + WREG32(R_007D08_DC_HOT_PLUG_DETECT1_INT_CONTROL, hpd1); + WREG32(R_007D18_DC_HOT_PLUG_DETECT2_INT_CONTROL, hpd2); return 0; } @@ -208,6 +347,7 @@ { uint32_t irqs = RREG32(R_000044_GEN_INT_STATUS); uint32_t irq_mask = ~C_000044_SW_INT; + u32 tmp; if (G_000044_DISPLAY_INT_STAT(irqs)) { *r500_disp_int = RREG32(R_007EDC_DISP_INTERRUPT_STATUS); @@ -219,6 +359,16 @@ WREG32(R_006D34_D2MODE_VBLANK_STATUS, S_006D34_D2MODE_VBLANK_ACK(1)); } + if (G_007EDC_DC_HOT_PLUG_DETECT1_INTERRUPT(*r500_disp_int)) { + tmp = RREG32(R_007D08_DC_HOT_PLUG_DETECT1_INT_CONTROL); + tmp |= S_007D08_DC_HOT_PLUG_DETECT1_INT_ACK(1); + WREG32(R_007D08_DC_HOT_PLUG_DETECT1_INT_CONTROL, tmp); + } + if (G_007EDC_DC_HOT_PLUG_DETECT2_INTERRUPT(*r500_disp_int)) { + tmp = RREG32(R_007D18_DC_HOT_PLUG_DETECT2_INT_CONTROL); + tmp |= S_007D18_DC_HOT_PLUG_DETECT2_INT_ACK(1); + WREG32(R_007D18_DC_HOT_PLUG_DETECT2_INT_CONTROL, tmp); + } } else { *r500_disp_int = 0; } @@ -244,6 +394,7 @@ { uint32_t status, msi_rearm; uint32_t r500_disp_int; + bool queue_hotplug = false; status = rs600_irq_ack(rdev, &r500_disp_int); if (!status && !r500_disp_int) { @@ -251,15 +402,25 @@ } while (status || r500_disp_int) { /* SW interrupt */ - if (G_000040_SW_INT_EN(status)) + if (G_000044_SW_INT(status)) radeon_fence_process(rdev); /* Vertical blank interrupts */ if (G_007EDC_LB_D1_VBLANK_INTERRUPT(r500_disp_int)) drm_handle_vblank(rdev->ddev, 0); if (G_007EDC_LB_D2_VBLANK_INTERRUPT(r500_disp_int)) drm_handle_vblank(rdev->ddev, 1); + if (G_007EDC_DC_HOT_PLUG_DETECT1_INTERRUPT(r500_disp_int)) { + queue_hotplug = true; + DRM_DEBUG("HPD1\n"); + } + if (G_007EDC_DC_HOT_PLUG_DETECT2_INTERRUPT(r500_disp_int)) { + queue_hotplug = true; + DRM_DEBUG("HPD2\n"); + } status = rs600_irq_ack(rdev, &r500_disp_int); } + if (queue_hotplug) + queue_work(rdev->wq, &rdev->hotplug_work); if (rdev->msi_enabled) { switch (rdev->family) { case CHIP_RS600: @@ -270,9 +431,7 @@ WREG32(RADEON_BUS_CNTL, msi_rearm | RS600_MSI_REARM); break; default: - msi_rearm = RREG32(RADEON_MSI_REARM_EN) & ~RV370_MSI_REARM_EN; - WREG32(RADEON_MSI_REARM_EN, msi_rearm); - WREG32(RADEON_MSI_REARM_EN, msi_rearm | RV370_MSI_REARM_EN); + WREG32(RADEON_MSI_REARM_EN, RV370_MSI_REARM_EN); break; } } @@ -301,9 +460,7 @@ void rs600_gpu_init(struct radeon_device *rdev) { - /* FIXME: HDP same place on rs600 ? */ r100_hdp_reset(rdev); - /* FIXME: is this correct ? */ r420_pipes_init(rdev); /* Wait for mc idle */ if (rs600_mc_wait_for_idle(rdev)) @@ -312,9 +469,20 @@ void rs600_vram_info(struct radeon_device *rdev) { - /* FIXME: to do or is these values sane ? */ rdev->mc.vram_is_ddr = true; rdev->mc.vram_width = 128; + + rdev->mc.real_vram_size = RREG32(RADEON_CONFIG_MEMSIZE); + rdev->mc.mc_vram_size = rdev->mc.real_vram_size; + + rdev->mc.aper_base = drm_get_resource_start(rdev->ddev, 0); + rdev->mc.aper_size = drm_get_resource_len(rdev->ddev, 0); + + if (rdev->mc.mc_vram_size > rdev->mc.aper_size) + rdev->mc.mc_vram_size = rdev->mc.aper_size; + + if (rdev->mc.real_vram_size > rdev->mc.aper_size) + rdev->mc.real_vram_size = rdev->mc.aper_size; } void rs600_bandwidth_update(struct radeon_device *rdev) @@ -388,8 +556,8 @@ if (r) return r; /* Enable IRQ */ - rdev->irq.sw_int = true; rs600_irq_set(rdev); + rdev->config.r300.hdp_cntl = RREG32(RADEON_HOST_PATH_CNTL); /* 1M ring buffer */ r = r100_cp_init(rdev, 1024 * 1024); if (r) { @@ -423,6 +591,8 @@ atom_asic_init(rdev->mode_info.atom_context); /* Resume clock after posting */ rv515_clock_startup(rdev); + /* Initialize surface registers */ + radeon_surface_init(rdev); return rs600_startup(rdev); } @@ -437,7 +607,6 @@ void rs600_fini(struct radeon_device *rdev) { - rs600_suspend(rdev); r100_cp_fini(rdev); r100_wb_fini(rdev); r100_ib_fini(rdev); @@ -445,7 +614,7 @@ rs600_gart_fini(rdev); radeon_irq_kms_fini(rdev); radeon_fence_driver_fini(rdev); - radeon_object_fini(rdev); + radeon_bo_fini(rdev); radeon_atombios_fini(rdev); kfree(rdev->bios); rdev->bios = NULL; @@ -482,10 +651,9 @@ RREG32(R_0007C0_CP_STAT)); } /* check if cards are posted or not */ - if (!radeon_card_posted(rdev) && rdev->bios) { - DRM_INFO("GPU not posted. posting now...\n"); - atom_asic_init(rdev->mode_info.atom_context); - } + if (radeon_boot_test_post_card(rdev) == false) + return -EINVAL; + /* Initialize clocks */ radeon_get_clock_info(rdev->ddev); /* Initialize power management */ @@ -493,7 +661,7 @@ /* Get vram informations */ rs600_vram_info(rdev); /* Initialize memory controller (also test AGP) */ - r = r420_mc_init(rdev); + r = rs600_mc_init(rdev); if (r) return r; rs600_debugfs(rdev); @@ -505,7 +673,7 @@ if (r) return r; /* Memory manager */ - r = radeon_object_init(rdev); + r = radeon_bo_init(rdev); if (r) return r; r = rs600_gart_init(rdev); @@ -517,7 +685,6 @@ if (r) { /* Somethings want wront with the accel init stop accel */ dev_err(rdev->dev, "Disabling GPU acceleration\n"); - rs600_suspend(rdev); r100_cp_fini(rdev); r100_wb_fini(rdev); r100_ib_fini(rdev); --- linux-2.6.32.orig/drivers/gpu/drm/radeon/rs690.c +++ linux-2.6.32/drivers/gpu/drm/radeon/rs690.c @@ -131,24 +131,26 @@ void rs690_vram_info(struct radeon_device *rdev) { - uint32_t tmp; fixed20_12 a; rs400_gart_adjust_size(rdev); - /* DDR for all card after R300 & IGP */ + rdev->mc.vram_is_ddr = true; - /* FIXME: is this correct for RS690/RS740 ? */ - tmp = RREG32(RADEON_MEM_CNTL); - if (tmp & R300_MEM_NUM_CHANNELS_MASK) { - rdev->mc.vram_width = 128; - } else { - rdev->mc.vram_width = 64; - } + rdev->mc.vram_width = 128; + rdev->mc.real_vram_size = RREG32(RADEON_CONFIG_MEMSIZE); rdev->mc.mc_vram_size = rdev->mc.real_vram_size; rdev->mc.aper_base = drm_get_resource_start(rdev->ddev, 0); rdev->mc.aper_size = drm_get_resource_len(rdev->ddev, 0); + + if (rdev->mc.mc_vram_size > rdev->mc.aper_size) + rdev->mc.mc_vram_size = rdev->mc.aper_size; + + if (rdev->mc.real_vram_size > rdev->mc.aper_size) + rdev->mc.real_vram_size = rdev->mc.aper_size; + + rdev->mc.igp_sideport_enabled = radeon_atombios_sideport_present(rdev); rs690_pm_info(rdev); /* FIXME: we should enforce default clock in case GPU is not in * default setup @@ -161,6 +163,21 @@ rdev->pm.core_bandwidth.full = rfixed_div(rdev->pm.sclk, a); } +static int rs690_mc_init(struct radeon_device *rdev) +{ + int r; + u32 tmp; + + /* Setup GPU memory space */ + tmp = RREG32_MC(R_000100_MCCFG_FB_LOCATION); + rdev->mc.vram_location = G_000100_MC_FB_START(tmp) << 16; + rdev->mc.gtt_location = 0xFFFFFFFFUL; + r = radeon_mc_setup(rdev); + if (r) + return r; + return 0; +} + void rs690_line_buffer_adjust(struct radeon_device *rdev, struct drm_display_mode *mode1, struct drm_display_mode *mode2) @@ -244,8 +261,9 @@ b.full = rfixed_const(mode->crtc_hdisplay); c.full = rfixed_const(256); - a.full = rfixed_mul(wm->num_line_pair, b); - request_fifo_depth.full = rfixed_div(a, c); + a.full = rfixed_div(b, c); + request_fifo_depth.full = rfixed_mul(a, wm->num_line_pair); + request_fifo_depth.full = rfixed_ceil(request_fifo_depth); if (a.full < rfixed_const(4)) { wm->lb_request_fifo_depth = 4; } else { @@ -374,6 +392,7 @@ a.full = rfixed_const(16); wm->priority_mark_max.full = rfixed_const(crtc->base.mode.crtc_hdisplay); wm->priority_mark_max.full = rfixed_div(wm->priority_mark_max, a); + wm->priority_mark_max.full = rfixed_ceil(wm->priority_mark_max); /* Determine estimated width */ estimated_width.full = tolerable_latency.full - wm->worst_case_latency.full; @@ -383,6 +402,7 @@ } else { a.full = rfixed_const(16); wm->priority_mark.full = rfixed_div(estimated_width, a); + wm->priority_mark.full = rfixed_ceil(wm->priority_mark); wm->priority_mark.full = wm->priority_mark_max.full - wm->priority_mark.full; } } @@ -605,8 +625,8 @@ if (r) return r; /* Enable IRQ */ - rdev->irq.sw_int = true; rs600_irq_set(rdev); + rdev->config.r300.hdp_cntl = RREG32(RADEON_HOST_PATH_CNTL); /* 1M ring buffer */ r = r100_cp_init(rdev, 1024 * 1024); if (r) { @@ -640,6 +660,8 @@ atom_asic_init(rdev->mode_info.atom_context); /* Resume clock after posting */ rv515_clock_startup(rdev); + /* Initialize surface registers */ + radeon_surface_init(rdev); return rs690_startup(rdev); } @@ -654,7 +676,6 @@ void rs690_fini(struct radeon_device *rdev) { - rs690_suspend(rdev); r100_cp_fini(rdev); r100_wb_fini(rdev); r100_ib_fini(rdev); @@ -662,7 +683,7 @@ rs400_gart_fini(rdev); radeon_irq_kms_fini(rdev); radeon_fence_driver_fini(rdev); - radeon_object_fini(rdev); + radeon_bo_fini(rdev); radeon_atombios_fini(rdev); kfree(rdev->bios); rdev->bios = NULL; @@ -700,10 +721,9 @@ RREG32(R_0007C0_CP_STAT)); } /* check if cards are posted or not */ - if (!radeon_card_posted(rdev) && rdev->bios) { - DRM_INFO("GPU not posted. posting now...\n"); - atom_asic_init(rdev->mode_info.atom_context); - } + if (radeon_boot_test_post_card(rdev) == false) + return -EINVAL; + /* Initialize clocks */ radeon_get_clock_info(rdev->ddev); /* Initialize power management */ @@ -711,7 +731,7 @@ /* Get vram informations */ rs690_vram_info(rdev); /* Initialize memory controller (also test AGP) */ - r = r420_mc_init(rdev); + r = rs690_mc_init(rdev); if (r) return r; rv515_debugfs(rdev); @@ -723,7 +743,7 @@ if (r) return r; /* Memory manager */ - r = radeon_object_init(rdev); + r = radeon_bo_init(rdev); if (r) return r; r = rs400_gart_init(rdev); @@ -735,7 +755,6 @@ if (r) { /* Somethings want wront with the accel init stop accel */ dev_err(rdev->dev, "Disabling GPU acceleration\n"); - rs690_suspend(rdev); r100_cp_fini(rdev); r100_wb_fini(rdev); r100_ib_fini(rdev); --- linux-2.6.32.orig/drivers/gpu/drm/radeon/rv515.c +++ linux-2.6.32/drivers/gpu/drm/radeon/rv515.c @@ -478,8 +478,8 @@ return r; } /* Enable IRQ */ - rdev->irq.sw_int = true; rs600_irq_set(rdev); + rdev->config.r300.hdp_cntl = RREG32(RADEON_HOST_PATH_CNTL); /* 1M ring buffer */ r = r100_cp_init(rdev, 1024 * 1024); if (r) { @@ -514,6 +514,8 @@ atom_asic_init(rdev->mode_info.atom_context); /* Resume clock after posting */ rv515_clock_startup(rdev); + /* Initialize surface registers */ + radeon_surface_init(rdev); return rv515_startup(rdev); } @@ -535,16 +537,15 @@ void rv515_fini(struct radeon_device *rdev) { - rv515_suspend(rdev); r100_cp_fini(rdev); r100_wb_fini(rdev); r100_ib_fini(rdev); radeon_gem_fini(rdev); - rv370_pcie_gart_fini(rdev); + rv370_pcie_gart_fini(rdev); radeon_agp_fini(rdev); radeon_irq_kms_fini(rdev); radeon_fence_driver_fini(rdev); - radeon_object_fini(rdev); + radeon_bo_fini(rdev); radeon_atombios_fini(rdev); kfree(rdev->bios); rdev->bios = NULL; @@ -580,10 +581,8 @@ RREG32(R_0007C0_CP_STAT)); } /* check if cards are posted or not */ - if (!radeon_card_posted(rdev) && rdev->bios) { - DRM_INFO("GPU not posted. posting now...\n"); - atom_asic_init(rdev->mode_info.atom_context); - } + if (radeon_boot_test_post_card(rdev) == false) + return -EINVAL; /* Initialize clocks */ radeon_get_clock_info(rdev->ddev); /* Initialize power management */ @@ -603,7 +602,7 @@ if (r) return r; /* Memory manager */ - r = radeon_object_init(rdev); + r = radeon_bo_init(rdev); if (r) return r; r = rv370_pcie_gart_init(rdev); @@ -615,13 +614,12 @@ if (r) { /* Somethings want wront with the accel init stop accel */ dev_err(rdev->dev, "Disabling GPU acceleration\n"); - rv515_suspend(rdev); r100_cp_fini(rdev); r100_wb_fini(rdev); r100_ib_fini(rdev); + radeon_irq_kms_fini(rdev); rv370_pcie_gart_fini(rdev); radeon_agp_fini(rdev); - radeon_irq_kms_fini(rdev); rdev->accel_working = false; } return 0; @@ -892,8 +890,9 @@ b.full = rfixed_const(mode->crtc_hdisplay); c.full = rfixed_const(256); - a.full = rfixed_mul(wm->num_line_pair, b); - request_fifo_depth.full = rfixed_div(a, c); + a.full = rfixed_div(b, c); + request_fifo_depth.full = rfixed_mul(a, wm->num_line_pair); + request_fifo_depth.full = rfixed_ceil(request_fifo_depth); if (a.full < rfixed_const(4)) { wm->lb_request_fifo_depth = 4; } else { @@ -995,15 +994,17 @@ a.full = rfixed_const(16); wm->priority_mark_max.full = rfixed_const(crtc->base.mode.crtc_hdisplay); wm->priority_mark_max.full = rfixed_div(wm->priority_mark_max, a); + wm->priority_mark_max.full = rfixed_ceil(wm->priority_mark_max); /* Determine estimated width */ estimated_width.full = tolerable_latency.full - wm->worst_case_latency.full; estimated_width.full = rfixed_div(estimated_width, consumption_time); if (rfixed_trunc(estimated_width) > crtc->base.mode.crtc_hdisplay) { - wm->priority_mark.full = rfixed_const(10); + wm->priority_mark.full = wm->priority_mark_max.full; } else { a.full = rfixed_const(16); wm->priority_mark.full = rfixed_div(estimated_width, a); + wm->priority_mark.full = rfixed_ceil(wm->priority_mark); wm->priority_mark.full = wm->priority_mark_max.full - wm->priority_mark.full; } } --- linux-2.6.32.orig/drivers/gpu/drm/radeon/r200.c +++ linux-2.6.32/drivers/gpu/drm/radeon/r200.c @@ -368,16 +368,21 @@ /* 2D, 3D, CUBE */ switch (tmp) { case 0: + case 3: + case 4: case 5: case 6: case 7: + /* 1D/2D */ track->textures[i].tex_coord_type = 0; break; case 1: - track->textures[i].tex_coord_type = 1; + /* CUBE */ + track->textures[i].tex_coord_type = 2; break; case 2: - track->textures[i].tex_coord_type = 2; + /* 3D */ + track->textures[i].tex_coord_type = 1; break; } break; @@ -395,13 +400,15 @@ track->textures[i].width = 1 << ((idx_value >> RADEON_TXFORMAT_WIDTH_SHIFT) & RADEON_TXFORMAT_WIDTH_MASK); track->textures[i].height = 1 << ((idx_value >> RADEON_TXFORMAT_HEIGHT_SHIFT) & RADEON_TXFORMAT_HEIGHT_MASK); } + if (idx_value & R200_TXFORMAT_LOOKUP_DISABLE) + track->textures[i].lookup_disable = true; switch ((idx_value & RADEON_TXFORMAT_FORMAT_MASK)) { case R200_TXFORMAT_I8: case R200_TXFORMAT_RGB332: case R200_TXFORMAT_Y8: track->textures[i].cpp = 1; + track->textures[i].compress_format = R100_TRACK_COMP_NONE; break; - case R200_TXFORMAT_DXT1: case R200_TXFORMAT_AI88: case R200_TXFORMAT_ARGB1555: case R200_TXFORMAT_RGB565: @@ -412,15 +419,24 @@ case R200_TXFORMAT_DVDU88: case R200_TXFORMAT_AVYU4444: track->textures[i].cpp = 2; + track->textures[i].compress_format = R100_TRACK_COMP_NONE; break; case R200_TXFORMAT_ARGB8888: case R200_TXFORMAT_RGBA8888: case R200_TXFORMAT_ABGR8888: case R200_TXFORMAT_BGR111110: case R200_TXFORMAT_LDVDU8888: + track->textures[i].cpp = 4; + track->textures[i].compress_format = R100_TRACK_COMP_NONE; + break; + case R200_TXFORMAT_DXT1: + track->textures[i].cpp = 1; + track->textures[i].compress_format = R100_TRACK_COMP_DXT1; + break; case R200_TXFORMAT_DXT23: case R200_TXFORMAT_DXT45: - track->textures[i].cpp = 4; + track->textures[i].cpp = 1; + track->textures[i].compress_format = R100_TRACK_COMP_DXT1; break; } track->textures[i].cube_info[4].width = 1 << ((idx_value >> 16) & 0xf); --- linux-2.6.32.orig/drivers/gpu/drm/radeon/rv770.c +++ linux-2.6.32/drivers/gpu/drm/radeon/rv770.c @@ -92,7 +92,7 @@ void rv770_pcie_gart_disable(struct radeon_device *rdev) { u32 tmp; - int i; + int i, r; /* Disable all tables */ for (i = 0; i < 7; i++) @@ -113,8 +113,12 @@ WREG32(MC_VM_MB_L1_TLB2_CNTL, tmp); WREG32(MC_VM_MB_L1_TLB3_CNTL, tmp); if (rdev->gart.table.vram.robj) { - radeon_object_kunmap(rdev->gart.table.vram.robj); - radeon_object_unpin(rdev->gart.table.vram.robj); + r = radeon_bo_reserve(rdev->gart.table.vram.robj, false); + if (likely(r == 0)) { + radeon_bo_kunmap(rdev->gart.table.vram.robj); + radeon_bo_unpin(rdev->gart.table.vram.robj); + radeon_bo_unreserve(rdev->gart.table.vram.robj); + } } } @@ -167,7 +171,10 @@ WREG32((0x2c20 + j), 0x00000000); WREG32((0x2c24 + j), 0x00000000); } - WREG32(HDP_REG_COHERENCY_FLUSH_CNTL, 0); + /* r7xx hw bug. Read from HDP_DEBUG1 rather + * than writing to HDP_REG_COHERENCY_FLUSH_CNTL + */ + tmp = RREG32(HDP_DEBUG1); rv515_mc_stop(rdev, &save); if (r600_mc_wait_for_idle(rdev)) { @@ -545,9 +552,12 @@ gb_tiling_config |= BANK_SWAPS(1); - backend_map = r700_get_tile_pipe_to_backend_map(rdev->config.rv770.max_tile_pipes, - rdev->config.rv770.max_backends, - (0xff << rdev->config.rv770.max_backends) & 0xff); + if (rdev->family == CHIP_RV740) + backend_map = 0x28; + else + backend_map = r700_get_tile_pipe_to_backend_map(rdev->config.rv770.max_tile_pipes, + rdev->config.rv770.max_backends, + (0xff << rdev->config.rv770.max_backends) & 0xff); gb_tiling_config |= BACKEND_MAP(backend_map); cc_gc_shader_pipe_config = @@ -770,12 +780,59 @@ } +static int rv770_vram_scratch_init(struct radeon_device *rdev) +{ + int r; + u64 gpu_addr; + + if (rdev->vram_scratch.robj == NULL) { + r = radeon_bo_create(rdev, NULL, RADEON_GPU_PAGE_SIZE, + true, RADEON_GEM_DOMAIN_VRAM, + &rdev->vram_scratch.robj); + if (r) { + return r; + } + } + + r = radeon_bo_reserve(rdev->vram_scratch.robj, false); + if (unlikely(r != 0)) + return r; + r = radeon_bo_pin(rdev->vram_scratch.robj, + RADEON_GEM_DOMAIN_VRAM, &gpu_addr); + if (r) { + radeon_bo_unreserve(rdev->vram_scratch.robj); + return r; + } + r = radeon_bo_kmap(rdev->vram_scratch.robj, + (void **)&rdev->vram_scratch.ptr); + if (r) + radeon_bo_unpin(rdev->vram_scratch.robj); + radeon_bo_unreserve(rdev->vram_scratch.robj); + + return r; +} + +static void rv770_vram_scratch_fini(struct radeon_device *rdev) +{ + int r; + + if (rdev->vram_scratch.robj == NULL) { + return; + } + r = radeon_bo_reserve(rdev->vram_scratch.robj, false); + if (likely(r == 0)) { + radeon_bo_kunmap(rdev->vram_scratch.robj); + radeon_bo_unpin(rdev->vram_scratch.robj); + radeon_bo_unreserve(rdev->vram_scratch.robj); + } + radeon_bo_unref(&rdev->vram_scratch.robj); +} + int rv770_mc_init(struct radeon_device *rdev) { fixed20_12 a; u32 tmp; int chansize, numchan; - int r; /* Get VRAM informations */ rdev->mc.vram_is_ddr = true; @@ -818,9 +875,6 @@ rdev->mc.real_vram_size = rdev->mc.aper_size; if (rdev->flags & RADEON_IS_AGP) { - r = radeon_agp_init(rdev); - if (r) - return r; /* gtt_size is setup by radeon_agp_init */ rdev->mc.gtt_location = rdev->mc.agp_base; tmp = 0xFFFFFFFFUL - rdev->mc.agp_base - rdev->mc.gtt_size; @@ -829,11 +883,11 @@ * AGP so that GPU can catch out of VRAM/AGP access */ if (rdev->mc.gtt_location > rdev->mc.mc_vram_size) { - /* Enought place before */ + /* Enough place before */ rdev->mc.vram_location = rdev->mc.gtt_location - rdev->mc.mc_vram_size; } else if (tmp > rdev->mc.mc_vram_size) { - /* Enought place after */ + /* Enough place after */ rdev->mc.vram_location = rdev->mc.gtt_location + rdev->mc.gtt_size; } else { @@ -870,6 +924,14 @@ { int r; + if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) { + r = r600_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); + return r; + } + } + rv770_mc_program(rdev); if (rdev->flags & RADEON_IS_AGP) { rv770_agp_enable(rdev); @@ -878,14 +940,37 @@ if (r) return r; } + r = rv770_vram_scratch_init(rdev); + if (r) + return r; rv770_gpu_init(rdev); - - r = radeon_object_pin(rdev->r600_blit.shader_obj, RADEON_GEM_DOMAIN_VRAM, - &rdev->r600_blit.shader_gpu_addr); + r = r600_blit_init(rdev); + if (r) { + r600_blit_fini(rdev); + rdev->asic->copy = NULL; + dev_warn(rdev->dev, "failed blitter (%d) falling back to memcpy\n", r); + } + /* pin copy shader into vram */ + if (rdev->r600_blit.shader_obj) { + r = radeon_bo_reserve(rdev->r600_blit.shader_obj, false); + if (unlikely(r != 0)) + return r; + r = radeon_bo_pin(rdev->r600_blit.shader_obj, RADEON_GEM_DOMAIN_VRAM, + &rdev->r600_blit.shader_gpu_addr); + radeon_bo_unreserve(rdev->r600_blit.shader_obj); + if (r) { + DRM_ERROR("failed to pin blit object %d\n", r); + return r; + } + } + /* Enable IRQ */ + r = r600_irq_init(rdev); if (r) { - DRM_ERROR("failed to pin blit object %d\n", r); + DRM_ERROR("radeon: IH init failed (%d).\n", r); + radeon_irq_kms_fini(rdev); return r; } + r600_irq_set(rdev); r = radeon_ring_init(rdev, rdev->cp.ring_size); if (r) @@ -934,13 +1019,22 @@ int rv770_suspend(struct radeon_device *rdev) { + int r; + /* FIXME: we should wait for ring to be empty */ r700_cp_stop(rdev); rdev->cp.ready = false; + r600_irq_suspend(rdev); r600_wb_disable(rdev); rv770_pcie_gart_disable(rdev); /* unpin shaders bo */ - radeon_object_unpin(rdev->r600_blit.shader_obj); + if (rdev->r600_blit.shader_obj) { + r = radeon_bo_reserve(rdev->r600_blit.shader_obj, false); + if (likely(r == 0)) { + radeon_bo_unpin(rdev->r600_blit.shader_obj); + radeon_bo_unreserve(rdev->r600_blit.shader_obj); + } + } return 0; } @@ -975,7 +1069,11 @@ if (r) return r; /* Post card if necessary */ - if (!r600_card_posted(rdev) && rdev->bios) { + if (!r600_card_posted(rdev)) { + if (!rdev->bios) { + dev_err(rdev->dev, "Card not posted and no BIOS - ignoring\n"); + return -EINVAL; + } DRM_INFO("GPU not posted. posting now...\n"); atom_asic_init(rdev->mode_info.atom_context); } @@ -994,53 +1092,55 @@ r = radeon_fence_driver_init(rdev); if (r) return r; + if (rdev->flags & RADEON_IS_AGP) { + r = radeon_agp_init(rdev); + if (r) + radeon_agp_disable(rdev); + } r = rv770_mc_init(rdev); if (r) return r; /* Memory manager */ - r = radeon_object_init(rdev); + r = radeon_bo_init(rdev); if (r) return r; + + r = radeon_irq_kms_init(rdev); + if (r) + return r; + rdev->cp.ring_obj = NULL; r600_ring_init(rdev, 1024 * 1024); - if (!rdev->me_fw || !rdev->pfp_fw) { - r = r600_cp_init_microcode(rdev); - if (r) { - DRM_ERROR("Failed to load firmware!\n"); - return r; - } - } + rdev->ih.ring_obj = NULL; + r600_ih_ring_init(rdev, 64 * 1024); r = r600_pcie_gart_init(rdev); if (r) return r; rdev->accel_working = true; - r = r600_blit_init(rdev); - if (r) { - DRM_ERROR("radeon: failled blitter (%d).\n", r); - rdev->accel_working = false; - } - r = rv770_startup(rdev); if (r) { - rv770_suspend(rdev); + dev_err(rdev->dev, "disabling GPU acceleration\n"); + r600_cp_fini(rdev); r600_wb_fini(rdev); - radeon_ring_fini(rdev); + r600_irq_fini(rdev); + radeon_irq_kms_fini(rdev); rv770_pcie_gart_fini(rdev); rdev->accel_working = false; } if (rdev->accel_working) { r = radeon_ib_pool_init(rdev); if (r) { - DRM_ERROR("radeon: failled initializing IB pool (%d).\n", r); - rdev->accel_working = false; - } - r = r600_ib_test(rdev); - if (r) { - DRM_ERROR("radeon: failled testing IB (%d).\n", r); + dev_err(rdev->dev, "IB initialization failed (%d).\n", r); rdev->accel_working = false; + } else { + r = r600_ib_test(rdev); + if (r) { + dev_err(rdev->dev, "IB test failed (%d).\n", r); + rdev->accel_working = false; + } } } return 0; @@ -1048,18 +1148,18 @@ void rv770_fini(struct radeon_device *rdev) { - rv770_suspend(rdev); - r600_blit_fini(rdev); - radeon_ring_fini(rdev); + r600_cp_fini(rdev); r600_wb_fini(rdev); + r600_irq_fini(rdev); + radeon_irq_kms_fini(rdev); rv770_pcie_gart_fini(rdev); + rv770_vram_scratch_fini(rdev); radeon_gem_fini(rdev); radeon_fence_driver_fini(rdev); radeon_clocks_fini(rdev); - if (rdev->flags & RADEON_IS_AGP) - radeon_agp_fini(rdev); - radeon_object_fini(rdev); + radeon_agp_fini(rdev); + radeon_bo_fini(rdev); radeon_atombios_fini(rdev); kfree(rdev->bios); rdev->bios = NULL; --- linux-2.6.32.orig/drivers/gpu/drm/radeon/r600_audio.c +++ linux-2.6.32/drivers/gpu/drm/radeon/r600_audio.c @@ -0,0 +1,266 @@ +/* + * Copyright 2008 Advanced Micro Devices, Inc. + * Copyright 2008 Red Hat Inc. + * Copyright 2009 Christian König. + * + * 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. + * + * Authors: Christian König + */ +#include "drmP.h" +#include "radeon.h" +#include "radeon_reg.h" +#include "atom.h" + +#define AUDIO_TIMER_INTERVALL 100 /* 1/10 sekund should be enough */ + +/* + * check if the chipset is supported + */ +static int r600_audio_chipset_supported(struct radeon_device *rdev) +{ + return (rdev->family >= CHIP_R600 && rdev->family < CHIP_RV710) + || rdev->family == CHIP_RS600 + || rdev->family == CHIP_RS690 + || rdev->family == CHIP_RS740; +} + +/* + * current number of channels + */ +static int r600_audio_channels(struct radeon_device *rdev) +{ + return (RREG32(R600_AUDIO_RATE_BPS_CHANNEL) & 0x7) + 1; +} + +/* + * current bits per sample + */ +static int r600_audio_bits_per_sample(struct radeon_device *rdev) +{ + uint32_t value = (RREG32(R600_AUDIO_RATE_BPS_CHANNEL) & 0xF0) >> 4; + switch (value) { + case 0x0: return 8; + case 0x1: return 16; + case 0x2: return 20; + case 0x3: return 24; + case 0x4: return 32; + } + + DRM_ERROR("Unknown bits per sample 0x%x using 16 instead.\n", (int)value); + + return 16; +} + +/* + * current sampling rate in HZ + */ +static int r600_audio_rate(struct radeon_device *rdev) +{ + uint32_t value = RREG32(R600_AUDIO_RATE_BPS_CHANNEL); + uint32_t result; + + if (value & 0x4000) + result = 44100; + else + result = 48000; + + result *= ((value >> 11) & 0x7) + 1; + result /= ((value >> 8) & 0x7) + 1; + + return result; +} + +/* + * iec 60958 status bits + */ +static uint8_t r600_audio_status_bits(struct radeon_device *rdev) +{ + return RREG32(R600_AUDIO_STATUS_BITS) & 0xff; +} + +/* + * iec 60958 category code + */ +static uint8_t r600_audio_category_code(struct radeon_device *rdev) +{ + return (RREG32(R600_AUDIO_STATUS_BITS) >> 8) & 0xff; +} + +/* + * update all hdmi interfaces with current audio parameters + */ +static void r600_audio_update_hdmi(unsigned long param) +{ + struct radeon_device *rdev = (struct radeon_device *)param; + struct drm_device *dev = rdev->ddev; + + int channels = r600_audio_channels(rdev); + int rate = r600_audio_rate(rdev); + int bps = r600_audio_bits_per_sample(rdev); + uint8_t status_bits = r600_audio_status_bits(rdev); + uint8_t category_code = r600_audio_category_code(rdev); + + struct drm_encoder *encoder; + int changes = 0; + + changes |= channels != rdev->audio_channels; + changes |= rate != rdev->audio_rate; + changes |= bps != rdev->audio_bits_per_sample; + changes |= status_bits != rdev->audio_status_bits; + changes |= category_code != rdev->audio_category_code; + + if (changes) { + rdev->audio_channels = channels; + rdev->audio_rate = rate; + rdev->audio_bits_per_sample = bps; + rdev->audio_status_bits = status_bits; + rdev->audio_category_code = category_code; + } + + list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { + if (changes || r600_hdmi_buffer_status_changed(encoder)) + r600_hdmi_update_audio_settings( + encoder, channels, + rate, bps, status_bits, + category_code); + } + + mod_timer(&rdev->audio_timer, + jiffies + msecs_to_jiffies(AUDIO_TIMER_INTERVALL)); +} + +/* + * initialize the audio vars and register the update timer + */ +int r600_audio_init(struct radeon_device *rdev) +{ + if (!r600_audio_chipset_supported(rdev)) + return 0; + + DRM_INFO("%s audio support", radeon_audio ? "Enabling" : "Disabling"); + WREG32_P(R600_AUDIO_ENABLE, radeon_audio ? 0x81000000 : 0x0, ~0x81000000); + + rdev->audio_channels = -1; + rdev->audio_rate = -1; + rdev->audio_bits_per_sample = -1; + rdev->audio_status_bits = 0; + rdev->audio_category_code = 0; + + setup_timer( + &rdev->audio_timer, + r600_audio_update_hdmi, + (unsigned long)rdev); + + mod_timer(&rdev->audio_timer, jiffies + 1); + + return 0; +} + +/* + * determin how the encoders and audio interface is wired together + */ +int r600_audio_tmds_index(struct drm_encoder *encoder) +{ + struct drm_device *dev = encoder->dev; + struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); + struct drm_encoder *other; + + switch (radeon_encoder->encoder_id) { + case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1: + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY: + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY1: + return 0; + + case ENCODER_OBJECT_ID_INTERNAL_LVTM1: + /* special case check if an TMDS1 is present */ + list_for_each_entry(other, &dev->mode_config.encoder_list, head) { + if (to_radeon_encoder(other)->encoder_id == + ENCODER_OBJECT_ID_INTERNAL_TMDS1) + return 1; + } + return 0; + + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY2: + case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA: + return 1; + + default: + DRM_ERROR("Unsupported encoder type 0x%02X\n", + radeon_encoder->encoder_id); + return -1; + } +} + +/* + * atach the audio codec to the clock source of the encoder + */ +void r600_audio_set_clock(struct drm_encoder *encoder, int clock) +{ + struct drm_device *dev = encoder->dev; + struct radeon_device *rdev = dev->dev_private; + struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); + int base_rate = 48000; + + switch (radeon_encoder->encoder_id) { + case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1: + case ENCODER_OBJECT_ID_INTERNAL_LVTM1: + WREG32_P(R600_AUDIO_TIMING, 0, ~0x301); + break; + + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY: + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY1: + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY2: + case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA: + WREG32_P(R600_AUDIO_TIMING, 0x100, ~0x301); + break; + + default: + DRM_ERROR("Unsupported encoder type 0x%02X\n", + radeon_encoder->encoder_id); + return; + } + + switch (r600_audio_tmds_index(encoder)) { + case 0: + WREG32(R600_AUDIO_PLL1_MUL, base_rate*50); + WREG32(R600_AUDIO_PLL1_DIV, clock*100); + WREG32(R600_AUDIO_CLK_SRCSEL, 0); + break; + + case 1: + WREG32(R600_AUDIO_PLL2_MUL, base_rate*50); + WREG32(R600_AUDIO_PLL2_DIV, clock*100); + WREG32(R600_AUDIO_CLK_SRCSEL, 1); + break; + } +} + +/* + * release the audio timer + * TODO: How to do this correctly on SMP systems? + */ +void r600_audio_fini(struct radeon_device *rdev) +{ + if (!r600_audio_chipset_supported(rdev)) + return; + + del_timer(&rdev->audio_timer); + WREG32_P(R600_AUDIO_ENABLE, 0x0, ~0x81000000); +} --- linux-2.6.32.orig/drivers/gpu/drm/radeon/r600_blit_kms.c +++ linux-2.6.32/drivers/gpu/drm/radeon/r600_blit_kms.c @@ -449,6 +449,7 @@ u32 packet2s[16]; int num_packet2s = 0; + mutex_init(&rdev->r600_blit.mutex); rdev->r600_blit.state_offset = 0; if (rdev->family >= CHIP_RV770) @@ -473,9 +474,8 @@ obj_size += r6xx_ps_size * 4; obj_size = ALIGN(obj_size, 256); - r = radeon_object_create(rdev, NULL, obj_size, - true, RADEON_GEM_DOMAIN_VRAM, - false, &rdev->r600_blit.shader_obj); + r = radeon_bo_create(rdev, NULL, obj_size, true, RADEON_GEM_DOMAIN_VRAM, + &rdev->r600_blit.shader_obj); if (r) { DRM_ERROR("r600 failed to allocate shader\n"); return r; @@ -485,12 +485,14 @@ obj_size, rdev->r600_blit.vs_offset, rdev->r600_blit.ps_offset); - r = radeon_object_kmap(rdev->r600_blit.shader_obj, &ptr); + r = radeon_bo_reserve(rdev->r600_blit.shader_obj, false); + if (unlikely(r != 0)) + return r; + r = radeon_bo_kmap(rdev->r600_blit.shader_obj, &ptr); if (r) { DRM_ERROR("failed to map blit object %d\n", r); return r; } - if (rdev->family >= CHIP_RV770) memcpy_toio(ptr + rdev->r600_blit.state_offset, r7xx_default_state, rdev->r600_blit.state_len * 4); @@ -500,19 +502,28 @@ if (num_packet2s) memcpy_toio(ptr + rdev->r600_blit.state_offset + (rdev->r600_blit.state_len * 4), packet2s, num_packet2s * 4); - - memcpy(ptr + rdev->r600_blit.vs_offset, r6xx_vs, r6xx_vs_size * 4); memcpy(ptr + rdev->r600_blit.ps_offset, r6xx_ps, r6xx_ps_size * 4); - - radeon_object_kunmap(rdev->r600_blit.shader_obj); + radeon_bo_kunmap(rdev->r600_blit.shader_obj); + radeon_bo_unreserve(rdev->r600_blit.shader_obj); return 0; } void r600_blit_fini(struct radeon_device *rdev) { - radeon_object_unpin(rdev->r600_blit.shader_obj); - radeon_object_unref(&rdev->r600_blit.shader_obj); + int r; + + if (rdev->r600_blit.shader_obj == NULL) + return; + /* If we can't reserve the bo, unref should be enough to destroy + * it when it becomes idle. + */ + r = radeon_bo_reserve(rdev->r600_blit.shader_obj, false); + if (!r) { + radeon_bo_unpin(rdev->r600_blit.shader_obj); + radeon_bo_unreserve(rdev->r600_blit.shader_obj); + } + radeon_bo_unref(&rdev->r600_blit.shader_obj); } int r600_vb_ib_get(struct radeon_device *rdev) @@ -532,9 +543,6 @@ void r600_vb_ib_put(struct radeon_device *rdev) { radeon_fence_emit(rdev, rdev->r600_blit.vb_ib->fence); - mutex_lock(&rdev->ib_pool.mutex); - list_add_tail(&rdev->r600_blit.vb_ib->list, &rdev->ib_pool.scheduled_ibs); - mutex_unlock(&rdev->ib_pool.mutex); radeon_ib_free(rdev, &rdev->r600_blit.vb_ib); } @@ -547,7 +555,8 @@ int dwords_per_loop = 76, num_loops; r = r600_vb_ib_get(rdev); - WARN_ON(r); + if (r) + return r; /* set_render_target emits 2 extra dwords on rv6xx */ if (rdev->family > CHIP_R600 && rdev->family < CHIP_RV770) @@ -569,11 +578,12 @@ ring_size = num_loops * dwords_per_loop; /* set default + shaders */ ring_size += 40; /* shaders + def state */ - ring_size += 3; /* fence emit for VB IB */ + ring_size += 7; /* fence emit for VB IB */ ring_size += 5; /* done copy */ - ring_size += 3; /* fence emit for done copy */ + ring_size += 7; /* fence emit for done copy */ r = radeon_ring_lock(rdev, ring_size); - WARN_ON(r); + if (r) + return r; set_default_state(rdev); /* 14 */ set_shaders(rdev); /* 26 */ @@ -619,8 +629,8 @@ int src_x = src_gpu_addr & 255; int dst_x = dst_gpu_addr & 255; int h = 1; - src_gpu_addr = src_gpu_addr & ~255; - dst_gpu_addr = dst_gpu_addr & ~255; + src_gpu_addr = src_gpu_addr & ~255ULL; + dst_gpu_addr = dst_gpu_addr & ~255ULL; if (!src_x && !dst_x) { h = (cur_size / max_bytes); @@ -713,8 +723,8 @@ int src_x = (src_gpu_addr & 255); int dst_x = (dst_gpu_addr & 255); int h = 1; - src_gpu_addr = src_gpu_addr & ~255; - dst_gpu_addr = dst_gpu_addr & ~255; + src_gpu_addr = src_gpu_addr & ~255ULL; + dst_gpu_addr = dst_gpu_addr & ~255ULL; if (!src_x && !dst_x) { h = (cur_size / max_bytes); --- linux-2.6.32.orig/drivers/gpu/drm/radeon/r600_cs.c +++ linux-2.6.32/drivers/gpu/drm/radeon/r600_cs.c @@ -36,6 +36,10 @@ typedef int (*next_reloc_t)(struct radeon_cs_parser*, struct radeon_cs_reloc**); static next_reloc_t r600_cs_packet_next_reloc = &r600_cs_packet_next_reloc_mm; +struct r600_cs_track { + u32 cb_color0_base_last; +}; + /** * r600_cs_packet_parse() - parse cp packet and point ib index to next packet * @parser: parser structure holding parsing context. @@ -170,13 +174,35 @@ idx, relocs_chunk->length_dw); return -EINVAL; } - *cs_reloc = &p->relocs[0]; + *cs_reloc = p->relocs; (*cs_reloc)->lobj.gpu_offset = (u64)relocs_chunk->kdata[idx + 3] << 32; (*cs_reloc)->lobj.gpu_offset |= relocs_chunk->kdata[idx + 0]; return 0; } /** + * r600_cs_packet_next_is_pkt3_nop() - test if next packet is packet3 nop for reloc + * @parser: parser structure holding parsing context. + * + * Check next packet is relocation packet3, do bo validation and compute + * GPU offset using the provided start. + **/ +static inline int r600_cs_packet_next_is_pkt3_nop(struct radeon_cs_parser *p) +{ + struct radeon_cs_packet p3reloc; + int r; + + r = r600_cs_packet_parse(p, &p3reloc, p->idx); + if (r) { + return 0; + } + if (p3reloc.type != PACKET_TYPE3 || p3reloc.opcode != PACKET3_NOP) { + return 0; + } + return 1; +} + +/** * r600_cs_packet_next_vline() - parse userspace VLINE packet * @parser: parser structure holding parsing context. * @@ -337,6 +363,7 @@ struct radeon_cs_packet *pkt) { struct radeon_cs_reloc *reloc; + struct r600_cs_track *track; volatile u32 *ib; unsigned idx; unsigned i; @@ -344,6 +371,7 @@ int r; u32 idx_value; + track = (struct r600_cs_track *)p->track; ib = p->ib->ptr; idx = pkt->idx + 1; idx_value = radeon_get_ib_value(p, idx); @@ -503,9 +531,60 @@ for (i = 0; i < pkt->count; i++) { reg = start_reg + (4 * i); switch (reg) { + /* This register were added late, there is userspace + * which does provide relocation for those but set + * 0 offset. In order to avoid breaking old userspace + * we detect this and set address to point to last + * CB_COLOR0_BASE, note that if userspace doesn't set + * CB_COLOR0_BASE before this register we will report + * error. Old userspace always set CB_COLOR0_BASE + * before any of this. + */ + case R_0280E0_CB_COLOR0_FRAG: + case R_0280E4_CB_COLOR1_FRAG: + case R_0280E8_CB_COLOR2_FRAG: + case R_0280EC_CB_COLOR3_FRAG: + case R_0280F0_CB_COLOR4_FRAG: + case R_0280F4_CB_COLOR5_FRAG: + case R_0280F8_CB_COLOR6_FRAG: + case R_0280FC_CB_COLOR7_FRAG: + case R_0280C0_CB_COLOR0_TILE: + case R_0280C4_CB_COLOR1_TILE: + case R_0280C8_CB_COLOR2_TILE: + case R_0280CC_CB_COLOR3_TILE: + case R_0280D0_CB_COLOR4_TILE: + case R_0280D4_CB_COLOR5_TILE: + case R_0280D8_CB_COLOR6_TILE: + case R_0280DC_CB_COLOR7_TILE: + if (!r600_cs_packet_next_is_pkt3_nop(p)) { + if (!track->cb_color0_base_last) { + dev_err(p->dev, "Broken old userspace ? no cb_color0_base supplied before trying to write 0x%08X\n", reg); + return -EINVAL; + } + ib[idx+1+i] = track->cb_color0_base_last; + printk_once(KERN_WARNING "radeon: You have old & broken userspace " + "please consider updating mesa & xf86-video-ati\n"); + } else { + r = r600_cs_packet_next_reloc(p, &reloc); + if (r) { + dev_err(p->dev, "bad SET_CONTEXT_REG 0x%04X\n", reg); + return -EINVAL; + } + ib[idx+1+i] += (u32)((reloc->lobj.gpu_offset >> 8) & 0xffffffff); + } + break; case DB_DEPTH_BASE: case DB_HTILE_DATA_BASE: case CB_COLOR0_BASE: + r = r600_cs_packet_next_reloc(p, &reloc); + if (r) { + DRM_ERROR("bad SET_CONTEXT_REG " + "0x%04X\n", reg); + return -EINVAL; + } + ib[idx+1+i] += (u32)((reloc->lobj.gpu_offset >> 8) & 0xffffffff); + track->cb_color0_base_last = ib[idx+1+i]; + break; case CB_COLOR1_BASE: case CB_COLOR2_BASE: case CB_COLOR3_BASE: @@ -678,8 +757,11 @@ int r600_cs_parse(struct radeon_cs_parser *p) { struct radeon_cs_packet pkt; + struct r600_cs_track *track; int r; + track = kzalloc(sizeof(*track), GFP_KERNEL); + p->track = track; do { r = r600_cs_packet_parse(p, &pkt, p->idx); if (r) { @@ -717,7 +799,7 @@ if (p->chunk_relocs_idx == -1) { return 0; } - p->relocs = kcalloc(1, sizeof(struct radeon_cs_reloc), GFP_KERNEL); + p->relocs = kzalloc(sizeof(struct radeon_cs_reloc), GFP_KERNEL); if (p->relocs == NULL) { return -ENOMEM; } @@ -757,6 +839,7 @@ /* initialize parser */ memset(&parser, 0, sizeof(struct radeon_cs_parser)); parser.filp = filp; + parser.dev = &dev->pdev->dev; parser.rdev = NULL; parser.family = family; parser.ib = &fake_ib; --- linux-2.6.32.orig/drivers/gpu/drm/radeon/r600_hdmi.c +++ linux-2.6.32/drivers/gpu/drm/radeon/r600_hdmi.c @@ -0,0 +1,506 @@ +/* + * Copyright 2008 Advanced Micro Devices, Inc. + * Copyright 2008 Red Hat Inc. + * Copyright 2009 Christian König. + * + * 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. + * + * Authors: Christian König + */ +#include "drmP.h" +#include "radeon_drm.h" +#include "radeon.h" +#include "atom.h" + +/* + * HDMI color format + */ +enum r600_hdmi_color_format { + RGB = 0, + YCC_422 = 1, + YCC_444 = 2 +}; + +/* + * IEC60958 status bits + */ +enum r600_hdmi_iec_status_bits { + AUDIO_STATUS_DIG_ENABLE = 0x01, + AUDIO_STATUS_V = 0x02, + AUDIO_STATUS_VCFG = 0x04, + AUDIO_STATUS_EMPHASIS = 0x08, + AUDIO_STATUS_COPYRIGHT = 0x10, + AUDIO_STATUS_NONAUDIO = 0x20, + AUDIO_STATUS_PROFESSIONAL = 0x40, + AUDIO_STATUS_LEVEL = 0x80 +}; + +struct { + uint32_t Clock; + + int N_32kHz; + int CTS_32kHz; + + int N_44_1kHz; + int CTS_44_1kHz; + + int N_48kHz; + int CTS_48kHz; + +} r600_hdmi_ACR[] = { + /* 32kHz 44.1kHz 48kHz */ + /* Clock N CTS N CTS N CTS */ + { 25174, 4576, 28125, 7007, 31250, 6864, 28125 }, /* 25,20/1.001 MHz */ + { 25200, 4096, 25200, 6272, 28000, 6144, 25200 }, /* 25.20 MHz */ + { 27000, 4096, 27000, 6272, 30000, 6144, 27000 }, /* 27.00 MHz */ + { 27027, 4096, 27027, 6272, 30030, 6144, 27027 }, /* 27.00*1.001 MHz */ + { 54000, 4096, 54000, 6272, 60000, 6144, 54000 }, /* 54.00 MHz */ + { 54054, 4096, 54054, 6272, 60060, 6144, 54054 }, /* 54.00*1.001 MHz */ + { 74175, 11648, 210937, 17836, 234375, 11648, 140625 }, /* 74.25/1.001 MHz */ + { 74250, 4096, 74250, 6272, 82500, 6144, 74250 }, /* 74.25 MHz */ + { 148351, 11648, 421875, 8918, 234375, 5824, 140625 }, /* 148.50/1.001 MHz */ + { 148500, 4096, 148500, 6272, 165000, 6144, 148500 }, /* 148.50 MHz */ + { 0, 4096, 0, 6272, 0, 6144, 0 } /* Other */ +}; + +/* + * calculate CTS value if it's not found in the table + */ +static void r600_hdmi_calc_CTS(uint32_t clock, int *CTS, int N, int freq) +{ + if (*CTS == 0) + *CTS = clock*N/(128*freq)*1000; + DRM_DEBUG("Using ACR timing N=%d CTS=%d for frequency %d\n", + N, *CTS, freq); +} + +/* + * update the N and CTS parameters for a given pixel clock rate + */ +static void r600_hdmi_update_ACR(struct drm_encoder *encoder, uint32_t clock) +{ + struct drm_device *dev = encoder->dev; + struct radeon_device *rdev = dev->dev_private; + uint32_t offset = to_radeon_encoder(encoder)->hdmi_offset; + int CTS; + int N; + int i; + + for (i = 0; r600_hdmi_ACR[i].Clock != clock && r600_hdmi_ACR[i].Clock != 0; i++); + + CTS = r600_hdmi_ACR[i].CTS_32kHz; + N = r600_hdmi_ACR[i].N_32kHz; + r600_hdmi_calc_CTS(clock, &CTS, N, 32000); + WREG32(offset+R600_HDMI_32kHz_CTS, CTS << 12); + WREG32(offset+R600_HDMI_32kHz_N, N); + + CTS = r600_hdmi_ACR[i].CTS_44_1kHz; + N = r600_hdmi_ACR[i].N_44_1kHz; + r600_hdmi_calc_CTS(clock, &CTS, N, 44100); + WREG32(offset+R600_HDMI_44_1kHz_CTS, CTS << 12); + WREG32(offset+R600_HDMI_44_1kHz_N, N); + + CTS = r600_hdmi_ACR[i].CTS_48kHz; + N = r600_hdmi_ACR[i].N_48kHz; + r600_hdmi_calc_CTS(clock, &CTS, N, 48000); + WREG32(offset+R600_HDMI_48kHz_CTS, CTS << 12); + WREG32(offset+R600_HDMI_48kHz_N, N); +} + +/* + * calculate the crc for a given info frame + */ +static void r600_hdmi_infoframe_checksum(uint8_t packetType, + uint8_t versionNumber, + uint8_t length, + uint8_t *frame) +{ + int i; + frame[0] = packetType + versionNumber + length; + for (i = 1; i <= length; i++) + frame[0] += frame[i]; + frame[0] = 0x100 - frame[0]; +} + +/* + * build a HDMI Video Info Frame + */ +static void r600_hdmi_videoinfoframe( + struct drm_encoder *encoder, + enum r600_hdmi_color_format color_format, + int active_information_present, + uint8_t active_format_aspect_ratio, + uint8_t scan_information, + uint8_t colorimetry, + uint8_t ex_colorimetry, + uint8_t quantization, + int ITC, + uint8_t picture_aspect_ratio, + uint8_t video_format_identification, + uint8_t pixel_repetition, + uint8_t non_uniform_picture_scaling, + uint8_t bar_info_data_valid, + uint16_t top_bar, + uint16_t bottom_bar, + uint16_t left_bar, + uint16_t right_bar +) +{ + struct drm_device *dev = encoder->dev; + struct radeon_device *rdev = dev->dev_private; + uint32_t offset = to_radeon_encoder(encoder)->hdmi_offset; + + uint8_t frame[14]; + + frame[0x0] = 0; + frame[0x1] = + (scan_information & 0x3) | + ((bar_info_data_valid & 0x3) << 2) | + ((active_information_present & 0x1) << 4) | + ((color_format & 0x3) << 5); + frame[0x2] = + (active_format_aspect_ratio & 0xF) | + ((picture_aspect_ratio & 0x3) << 4) | + ((colorimetry & 0x3) << 6); + frame[0x3] = + (non_uniform_picture_scaling & 0x3) | + ((quantization & 0x3) << 2) | + ((ex_colorimetry & 0x7) << 4) | + ((ITC & 0x1) << 7); + frame[0x4] = (video_format_identification & 0x7F); + frame[0x5] = (pixel_repetition & 0xF); + frame[0x6] = (top_bar & 0xFF); + frame[0x7] = (top_bar >> 8); + frame[0x8] = (bottom_bar & 0xFF); + frame[0x9] = (bottom_bar >> 8); + frame[0xA] = (left_bar & 0xFF); + frame[0xB] = (left_bar >> 8); + frame[0xC] = (right_bar & 0xFF); + frame[0xD] = (right_bar >> 8); + + r600_hdmi_infoframe_checksum(0x82, 0x02, 0x0D, frame); + + WREG32(offset+R600_HDMI_VIDEOINFOFRAME_0, + frame[0x0] | (frame[0x1] << 8) | (frame[0x2] << 16) | (frame[0x3] << 24)); + WREG32(offset+R600_HDMI_VIDEOINFOFRAME_1, + frame[0x4] | (frame[0x5] << 8) | (frame[0x6] << 16) | (frame[0x7] << 24)); + WREG32(offset+R600_HDMI_VIDEOINFOFRAME_2, + frame[0x8] | (frame[0x9] << 8) | (frame[0xA] << 16) | (frame[0xB] << 24)); + WREG32(offset+R600_HDMI_VIDEOINFOFRAME_3, + frame[0xC] | (frame[0xD] << 8)); +} + +/* + * build a Audio Info Frame + */ +static void r600_hdmi_audioinfoframe( + struct drm_encoder *encoder, + uint8_t channel_count, + uint8_t coding_type, + uint8_t sample_size, + uint8_t sample_frequency, + uint8_t format, + uint8_t channel_allocation, + uint8_t level_shift, + int downmix_inhibit +) +{ + struct drm_device *dev = encoder->dev; + struct radeon_device *rdev = dev->dev_private; + uint32_t offset = to_radeon_encoder(encoder)->hdmi_offset; + + uint8_t frame[11]; + + frame[0x0] = 0; + frame[0x1] = (channel_count & 0x7) | ((coding_type & 0xF) << 4); + frame[0x2] = (sample_size & 0x3) | ((sample_frequency & 0x7) << 2); + frame[0x3] = format; + frame[0x4] = channel_allocation; + frame[0x5] = ((level_shift & 0xF) << 3) | ((downmix_inhibit & 0x1) << 7); + frame[0x6] = 0; + frame[0x7] = 0; + frame[0x8] = 0; + frame[0x9] = 0; + frame[0xA] = 0; + + r600_hdmi_infoframe_checksum(0x84, 0x01, 0x0A, frame); + + WREG32(offset+R600_HDMI_AUDIOINFOFRAME_0, + frame[0x0] | (frame[0x1] << 8) | (frame[0x2] << 16) | (frame[0x3] << 24)); + WREG32(offset+R600_HDMI_AUDIOINFOFRAME_1, + frame[0x4] | (frame[0x5] << 8) | (frame[0x6] << 16) | (frame[0x8] << 24)); +} + +/* + * test if audio buffer is filled enough to start playing + */ +static int r600_hdmi_is_audio_buffer_filled(struct drm_encoder *encoder) +{ + struct drm_device *dev = encoder->dev; + struct radeon_device *rdev = dev->dev_private; + uint32_t offset = to_radeon_encoder(encoder)->hdmi_offset; + + return (RREG32(offset+R600_HDMI_STATUS) & 0x10) != 0; +} + +/* + * have buffer status changed since last call? + */ +int r600_hdmi_buffer_status_changed(struct drm_encoder *encoder) +{ + struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); + int status, result; + + if (!radeon_encoder->hdmi_offset) + return 0; + + status = r600_hdmi_is_audio_buffer_filled(encoder); + result = radeon_encoder->hdmi_buffer_status != status; + radeon_encoder->hdmi_buffer_status = status; + + return result; +} + +/* + * write the audio workaround status to the hardware + */ +void r600_hdmi_audio_workaround(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); + uint32_t offset = radeon_encoder->hdmi_offset; + + if (!offset) + return; + + if (r600_hdmi_is_audio_buffer_filled(encoder)) { + /* disable audio workaround and start delivering of audio frames */ + WREG32_P(offset+R600_HDMI_CNTL, 0x00000001, ~0x00001001); + + } else if (radeon_encoder->hdmi_audio_workaround) { + /* enable audio workaround and start delivering of audio frames */ + WREG32_P(offset+R600_HDMI_CNTL, 0x00001001, ~0x00001001); + + } else { + /* disable audio workaround and stop delivering of audio frames */ + WREG32_P(offset+R600_HDMI_CNTL, 0x00000000, ~0x00001001); + } +} + + +/* + * update the info frames with the data from the current display mode + */ +void r600_hdmi_setmode(struct drm_encoder *encoder, struct drm_display_mode *mode) +{ + struct drm_device *dev = encoder->dev; + struct radeon_device *rdev = dev->dev_private; + uint32_t offset = to_radeon_encoder(encoder)->hdmi_offset; + + if (!offset) + return; + + r600_audio_set_clock(encoder, mode->clock); + + WREG32(offset+R600_HDMI_UNKNOWN_0, 0x1000); + WREG32(offset+R600_HDMI_UNKNOWN_1, 0x0); + WREG32(offset+R600_HDMI_UNKNOWN_2, 0x1000); + + r600_hdmi_update_ACR(encoder, mode->clock); + + WREG32(offset+R600_HDMI_VIDEOCNTL, 0x13); + + WREG32(offset+R600_HDMI_VERSION, 0x202); + + r600_hdmi_videoinfoframe(encoder, RGB, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + + /* it's unknown what these bits do excatly, but it's indeed quite usefull for debugging */ + WREG32(offset+R600_HDMI_AUDIO_DEBUG_0, 0x00FFFFFF); + WREG32(offset+R600_HDMI_AUDIO_DEBUG_1, 0x007FFFFF); + WREG32(offset+R600_HDMI_AUDIO_DEBUG_2, 0x00000001); + WREG32(offset+R600_HDMI_AUDIO_DEBUG_3, 0x00000001); + + r600_hdmi_audio_workaround(encoder); + + /* audio packets per line, does anyone know how to calc this ? */ + WREG32_P(offset+R600_HDMI_CNTL, 0x00040000, ~0x001F0000); + + /* update? reset? don't realy know */ + WREG32_P(offset+R600_HDMI_CNTL, 0x14000000, ~0x14000000); +} + +/* + * update settings with current parameters from audio engine + */ +void r600_hdmi_update_audio_settings(struct drm_encoder *encoder, + int channels, + int rate, + int bps, + uint8_t status_bits, + uint8_t category_code) +{ + struct drm_device *dev = encoder->dev; + struct radeon_device *rdev = dev->dev_private; + uint32_t offset = to_radeon_encoder(encoder)->hdmi_offset; + + uint32_t iec; + + if (!offset) + return; + + DRM_DEBUG("%s with %d channels, %d Hz sampling rate, %d bits per sample,\n", + r600_hdmi_is_audio_buffer_filled(encoder) ? "playing" : "stopped", + channels, rate, bps); + DRM_DEBUG("0x%02X IEC60958 status bits and 0x%02X category code\n", + (int)status_bits, (int)category_code); + + iec = 0; + if (status_bits & AUDIO_STATUS_PROFESSIONAL) + iec |= 1 << 0; + if (status_bits & AUDIO_STATUS_NONAUDIO) + iec |= 1 << 1; + if (status_bits & AUDIO_STATUS_COPYRIGHT) + iec |= 1 << 2; + if (status_bits & AUDIO_STATUS_EMPHASIS) + iec |= 1 << 3; + + iec |= category_code << 8; + + switch (rate) { + case 32000: iec |= 0x3 << 24; break; + case 44100: iec |= 0x0 << 24; break; + case 88200: iec |= 0x8 << 24; break; + case 176400: iec |= 0xc << 24; break; + case 48000: iec |= 0x2 << 24; break; + case 96000: iec |= 0xa << 24; break; + case 192000: iec |= 0xe << 24; break; + } + + WREG32(offset+R600_HDMI_IEC60958_1, iec); + + iec = 0; + switch (bps) { + case 16: iec |= 0x2; break; + case 20: iec |= 0x3; break; + case 24: iec |= 0xb; break; + } + if (status_bits & AUDIO_STATUS_V) + iec |= 0x5 << 16; + + WREG32_P(offset+R600_HDMI_IEC60958_2, iec, ~0x5000f); + + /* 0x021 or 0x031 sets the audio frame length */ + WREG32(offset+R600_HDMI_AUDIOCNTL, 0x31); + r600_hdmi_audioinfoframe(encoder, channels-1, 0, 0, 0, 0, 0, 0, 0); + + r600_hdmi_audio_workaround(encoder); + + /* update? reset? don't realy know */ + WREG32_P(offset+R600_HDMI_CNTL, 0x04000000, ~0x04000000); +} + +/* + * enable/disable the HDMI engine + */ +void r600_hdmi_enable(struct drm_encoder *encoder, int enable) +{ + struct drm_device *dev = encoder->dev; + struct radeon_device *rdev = dev->dev_private; + struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); + uint32_t offset = to_radeon_encoder(encoder)->hdmi_offset; + + if (!offset) + return; + + DRM_DEBUG("%s HDMI interface @ 0x%04X\n", enable ? "Enabling" : "Disabling", offset); + + /* some version of atombios ignore the enable HDMI flag + * so enabling/disabling HDMI was moved here for TMDS1+2 */ + switch (radeon_encoder->encoder_id) { + case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1: + WREG32_P(AVIVO_TMDSA_CNTL, enable ? 0x4 : 0x0, ~0x4); + WREG32(offset+R600_HDMI_ENABLE, enable ? 0x101 : 0x0); + break; + + case ENCODER_OBJECT_ID_INTERNAL_LVTM1: + WREG32_P(AVIVO_LVTMA_CNTL, enable ? 0x4 : 0x0, ~0x4); + WREG32(offset+R600_HDMI_ENABLE, enable ? 0x105 : 0x0); + break; + + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY: + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY1: + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY2: + case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA: + /* This part is doubtfull in my opinion */ + WREG32(offset+R600_HDMI_ENABLE, enable ? 0x110 : 0x0); + break; + + default: + DRM_ERROR("unknown HDMI output type\n"); + break; + } +} + +/* + * determin at which register offset the HDMI encoder is + */ +void r600_hdmi_init(struct drm_encoder *encoder) +{ + struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); + + switch (radeon_encoder->encoder_id) { + case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1: + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY: + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY1: + radeon_encoder->hdmi_offset = R600_HDMI_TMDS1; + break; + + case ENCODER_OBJECT_ID_INTERNAL_LVTM1: + switch (r600_audio_tmds_index(encoder)) { + case 0: + radeon_encoder->hdmi_offset = R600_HDMI_TMDS1; + break; + case 1: + radeon_encoder->hdmi_offset = R600_HDMI_TMDS2; + break; + default: + radeon_encoder->hdmi_offset = 0; + break; + } + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY2: + radeon_encoder->hdmi_offset = R600_HDMI_TMDS2; + break; + + case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA: + radeon_encoder->hdmi_offset = R600_HDMI_DIG; + break; + + default: + radeon_encoder->hdmi_offset = 0; + break; + } + + DRM_DEBUG("using HDMI engine at offset 0x%04X for encoder 0x%x\n", + radeon_encoder->hdmi_offset, radeon_encoder->encoder_id); + + /* TODO: make this configureable */ + radeon_encoder->hdmi_audio_workaround = 0; +} --- linux-2.6.32.orig/drivers/gpu/drm/radeon/r600d.h +++ linux-2.6.32/drivers/gpu/drm/radeon/r600d.h @@ -196,6 +196,7 @@ #define HDP_NONSURFACE_SIZE 0x2C0C #define HDP_REG_COHERENCY_FLUSH_CNTL 0x54A0 #define HDP_TILING_CONFIG 0x2F3C +#define HDP_DEBUG1 0x2F34 #define MC_VM_AGP_TOP 0x2184 #define MC_VM_AGP_BOT 0x2188 @@ -456,7 +457,215 @@ #define WAIT_2D_IDLECLEAN_bit (1 << 16) #define WAIT_3D_IDLECLEAN_bit (1 << 17) - +#define IH_RB_CNTL 0x3e00 +# define IH_RB_ENABLE (1 << 0) +# define IH_IB_SIZE(x) ((x) << 1) /* log2 */ +# define IH_RB_FULL_DRAIN_ENABLE (1 << 6) +# define IH_WPTR_WRITEBACK_ENABLE (1 << 8) +# define IH_WPTR_WRITEBACK_TIMER(x) ((x) << 9) /* log2 */ +# define IH_WPTR_OVERFLOW_ENABLE (1 << 16) +# define IH_WPTR_OVERFLOW_CLEAR (1 << 31) +#define IH_RB_BASE 0x3e04 +#define IH_RB_RPTR 0x3e08 +#define IH_RB_WPTR 0x3e0c +# define RB_OVERFLOW (1 << 0) +# define WPTR_OFFSET_MASK 0x3fffc +#define IH_RB_WPTR_ADDR_HI 0x3e10 +#define IH_RB_WPTR_ADDR_LO 0x3e14 +#define IH_CNTL 0x3e18 +# define ENABLE_INTR (1 << 0) +# define IH_MC_SWAP(x) ((x) << 2) +# define IH_MC_SWAP_NONE 0 +# define IH_MC_SWAP_16BIT 1 +# define IH_MC_SWAP_32BIT 2 +# define IH_MC_SWAP_64BIT 3 +# define RPTR_REARM (1 << 4) +# define MC_WRREQ_CREDIT(x) ((x) << 15) +# define MC_WR_CLEAN_CNT(x) ((x) << 20) + +#define RLC_CNTL 0x3f00 +# define RLC_ENABLE (1 << 0) +#define RLC_HB_BASE 0x3f10 +#define RLC_HB_CNTL 0x3f0c +#define RLC_HB_RPTR 0x3f20 +#define RLC_HB_WPTR 0x3f1c +#define RLC_HB_WPTR_LSB_ADDR 0x3f14 +#define RLC_HB_WPTR_MSB_ADDR 0x3f18 +#define RLC_MC_CNTL 0x3f44 +#define RLC_UCODE_CNTL 0x3f48 +#define RLC_UCODE_ADDR 0x3f2c +#define RLC_UCODE_DATA 0x3f30 + +#define SRBM_SOFT_RESET 0xe60 +# define SOFT_RESET_RLC (1 << 13) + +#define CP_INT_CNTL 0xc124 +# define CNTX_BUSY_INT_ENABLE (1 << 19) +# define CNTX_EMPTY_INT_ENABLE (1 << 20) +# define SCRATCH_INT_ENABLE (1 << 25) +# define TIME_STAMP_INT_ENABLE (1 << 26) +# define IB2_INT_ENABLE (1 << 29) +# define IB1_INT_ENABLE (1 << 30) +# define RB_INT_ENABLE (1 << 31) +#define CP_INT_STATUS 0xc128 +# define SCRATCH_INT_STAT (1 << 25) +# define TIME_STAMP_INT_STAT (1 << 26) +# define IB2_INT_STAT (1 << 29) +# define IB1_INT_STAT (1 << 30) +# define RB_INT_STAT (1 << 31) + +#define GRBM_INT_CNTL 0x8060 +# define RDERR_INT_ENABLE (1 << 0) +# define WAIT_COUNT_TIMEOUT_INT_ENABLE (1 << 1) +# define GUI_IDLE_INT_ENABLE (1 << 19) + +#define INTERRUPT_CNTL 0x5468 +# define IH_DUMMY_RD_OVERRIDE (1 << 0) +# define IH_DUMMY_RD_EN (1 << 1) +# define IH_REQ_NONSNOOP_EN (1 << 3) +# define GEN_IH_INT_EN (1 << 8) +#define INTERRUPT_CNTL2 0x546c + +#define D1MODE_VBLANK_STATUS 0x6534 +#define D2MODE_VBLANK_STATUS 0x6d34 +# define DxMODE_VBLANK_OCCURRED (1 << 0) +# define DxMODE_VBLANK_ACK (1 << 4) +# define DxMODE_VBLANK_STAT (1 << 12) +# define DxMODE_VBLANK_INTERRUPT (1 << 16) +# define DxMODE_VBLANK_INTERRUPT_TYPE (1 << 17) +#define D1MODE_VLINE_STATUS 0x653c +#define D2MODE_VLINE_STATUS 0x6d3c +# define DxMODE_VLINE_OCCURRED (1 << 0) +# define DxMODE_VLINE_ACK (1 << 4) +# define DxMODE_VLINE_STAT (1 << 12) +# define DxMODE_VLINE_INTERRUPT (1 << 16) +# define DxMODE_VLINE_INTERRUPT_TYPE (1 << 17) +#define DxMODE_INT_MASK 0x6540 +# define D1MODE_VBLANK_INT_MASK (1 << 0) +# define D1MODE_VLINE_INT_MASK (1 << 4) +# define D2MODE_VBLANK_INT_MASK (1 << 8) +# define D2MODE_VLINE_INT_MASK (1 << 12) +#define DCE3_DISP_INTERRUPT_STATUS 0x7ddc +# define DC_HPD1_INTERRUPT (1 << 18) +# define DC_HPD2_INTERRUPT (1 << 19) +#define DISP_INTERRUPT_STATUS 0x7edc +# define LB_D1_VLINE_INTERRUPT (1 << 2) +# define LB_D2_VLINE_INTERRUPT (1 << 3) +# define LB_D1_VBLANK_INTERRUPT (1 << 4) +# define LB_D2_VBLANK_INTERRUPT (1 << 5) +# define DACA_AUTODETECT_INTERRUPT (1 << 16) +# define DACB_AUTODETECT_INTERRUPT (1 << 17) +# define DC_HOT_PLUG_DETECT1_INTERRUPT (1 << 18) +# define DC_HOT_PLUG_DETECT2_INTERRUPT (1 << 19) +# define DC_I2C_SW_DONE_INTERRUPT (1 << 20) +# define DC_I2C_HW_DONE_INTERRUPT (1 << 21) +#define DISP_INTERRUPT_STATUS_CONTINUE 0x7ee8 +#define DCE3_DISP_INTERRUPT_STATUS_CONTINUE 0x7de8 +# define DC_HPD4_INTERRUPT (1 << 14) +# define DC_HPD4_RX_INTERRUPT (1 << 15) +# define DC_HPD3_INTERRUPT (1 << 28) +# define DC_HPD1_RX_INTERRUPT (1 << 29) +# define DC_HPD2_RX_INTERRUPT (1 << 30) +#define DCE3_DISP_INTERRUPT_STATUS_CONTINUE2 0x7dec +# define DC_HPD3_RX_INTERRUPT (1 << 0) +# define DIGA_DP_VID_STREAM_DISABLE_INTERRUPT (1 << 1) +# define DIGA_DP_STEER_FIFO_OVERFLOW_INTERRUPT (1 << 2) +# define DIGB_DP_VID_STREAM_DISABLE_INTERRUPT (1 << 3) +# define DIGB_DP_STEER_FIFO_OVERFLOW_INTERRUPT (1 << 4) +# define AUX1_SW_DONE_INTERRUPT (1 << 5) +# define AUX1_LS_DONE_INTERRUPT (1 << 6) +# define AUX2_SW_DONE_INTERRUPT (1 << 7) +# define AUX2_LS_DONE_INTERRUPT (1 << 8) +# define AUX3_SW_DONE_INTERRUPT (1 << 9) +# define AUX3_LS_DONE_INTERRUPT (1 << 10) +# define AUX4_SW_DONE_INTERRUPT (1 << 11) +# define AUX4_LS_DONE_INTERRUPT (1 << 12) +# define DIGA_DP_FAST_TRAINING_COMPLETE_INTERRUPT (1 << 13) +# define DIGB_DP_FAST_TRAINING_COMPLETE_INTERRUPT (1 << 14) +/* DCE 3.2 */ +# define AUX5_SW_DONE_INTERRUPT (1 << 15) +# define AUX5_LS_DONE_INTERRUPT (1 << 16) +# define AUX6_SW_DONE_INTERRUPT (1 << 17) +# define AUX6_LS_DONE_INTERRUPT (1 << 18) +# define DC_HPD5_INTERRUPT (1 << 19) +# define DC_HPD5_RX_INTERRUPT (1 << 20) +# define DC_HPD6_INTERRUPT (1 << 21) +# define DC_HPD6_RX_INTERRUPT (1 << 22) + +#define DACA_AUTO_DETECT_CONTROL 0x7828 +#define DACB_AUTO_DETECT_CONTROL 0x7a28 +#define DCE3_DACA_AUTO_DETECT_CONTROL 0x7028 +#define DCE3_DACB_AUTO_DETECT_CONTROL 0x7128 +# define DACx_AUTODETECT_MODE(x) ((x) << 0) +# define DACx_AUTODETECT_MODE_NONE 0 +# define DACx_AUTODETECT_MODE_CONNECT 1 +# define DACx_AUTODETECT_MODE_DISCONNECT 2 +# define DACx_AUTODETECT_FRAME_TIME_COUNTER(x) ((x) << 8) +/* bit 18 = R/C, 17 = G/Y, 16 = B/Comp */ +# define DACx_AUTODETECT_CHECK_MASK(x) ((x) << 16) + +#define DCE3_DACA_AUTODETECT_INT_CONTROL 0x7038 +#define DCE3_DACB_AUTODETECT_INT_CONTROL 0x7138 +#define DACA_AUTODETECT_INT_CONTROL 0x7838 +#define DACB_AUTODETECT_INT_CONTROL 0x7a38 +# define DACx_AUTODETECT_ACK (1 << 0) +# define DACx_AUTODETECT_INT_ENABLE (1 << 16) + +#define DC_HOT_PLUG_DETECT1_CONTROL 0x7d00 +#define DC_HOT_PLUG_DETECT2_CONTROL 0x7d10 +#define DC_HOT_PLUG_DETECT3_CONTROL 0x7d24 +# define DC_HOT_PLUG_DETECTx_EN (1 << 0) + +#define DC_HOT_PLUG_DETECT1_INT_STATUS 0x7d04 +#define DC_HOT_PLUG_DETECT2_INT_STATUS 0x7d14 +#define DC_HOT_PLUG_DETECT3_INT_STATUS 0x7d28 +# define DC_HOT_PLUG_DETECTx_INT_STATUS (1 << 0) +# define DC_HOT_PLUG_DETECTx_SENSE (1 << 1) + +/* DCE 3.0 */ +#define DC_HPD1_INT_STATUS 0x7d00 +#define DC_HPD2_INT_STATUS 0x7d0c +#define DC_HPD3_INT_STATUS 0x7d18 +#define DC_HPD4_INT_STATUS 0x7d24 +/* DCE 3.2 */ +#define DC_HPD5_INT_STATUS 0x7dc0 +#define DC_HPD6_INT_STATUS 0x7df4 +# define DC_HPDx_INT_STATUS (1 << 0) +# define DC_HPDx_SENSE (1 << 1) +# define DC_HPDx_RX_INT_STATUS (1 << 8) + +#define DC_HOT_PLUG_DETECT1_INT_CONTROL 0x7d08 +#define DC_HOT_PLUG_DETECT2_INT_CONTROL 0x7d18 +#define DC_HOT_PLUG_DETECT3_INT_CONTROL 0x7d2c +# define DC_HOT_PLUG_DETECTx_INT_ACK (1 << 0) +# define DC_HOT_PLUG_DETECTx_INT_POLARITY (1 << 8) +# define DC_HOT_PLUG_DETECTx_INT_EN (1 << 16) +/* DCE 3.0 */ +#define DC_HPD1_INT_CONTROL 0x7d04 +#define DC_HPD2_INT_CONTROL 0x7d10 +#define DC_HPD3_INT_CONTROL 0x7d1c +#define DC_HPD4_INT_CONTROL 0x7d28 +/* DCE 3.2 */ +#define DC_HPD5_INT_CONTROL 0x7dc4 +#define DC_HPD6_INT_CONTROL 0x7df8 +# define DC_HPDx_INT_ACK (1 << 0) +# define DC_HPDx_INT_POLARITY (1 << 8) +# define DC_HPDx_INT_EN (1 << 16) +# define DC_HPDx_RX_INT_ACK (1 << 20) +# define DC_HPDx_RX_INT_EN (1 << 24) + +/* DCE 3.0 */ +#define DC_HPD1_CONTROL 0x7d08 +#define DC_HPD2_CONTROL 0x7d14 +#define DC_HPD3_CONTROL 0x7d20 +#define DC_HPD4_CONTROL 0x7d2c +/* DCE 3.2 */ +#define DC_HPD5_CONTROL 0x7dc8 +#define DC_HPD6_CONTROL 0x7dfc +# define DC_HPDx_CONNECTION_TIMER(x) ((x) << 0) +# define DC_HPDx_RX_INT_TIMER(x) ((x) << 16) +/* DCE 3.2 */ +# define DC_HPDx_EN (1 << 28) /* * PM4 @@ -500,7 +709,6 @@ #define PACKET3_WAIT_REG_MEM 0x3C #define PACKET3_MEM_WRITE 0x3D #define PACKET3_INDIRECT_BUFFER 0x32 -#define PACKET3_CP_INTERRUPT 0x40 #define PACKET3_SURFACE_SYNC 0x43 # define PACKET3_CB0_DEST_BASE_ENA (1 << 6) # define PACKET3_TC_ACTION_ENA (1 << 23) @@ -674,4 +882,30 @@ #define S_000E60_SOFT_RESET_TSC(x) (((x) & 1) << 16) #define S_000E60_SOFT_RESET_VMC(x) (((x) & 1) << 17) +#define R_005480_HDP_MEM_COHERENCY_FLUSH_CNTL 0x5480 + +#define R_0280E0_CB_COLOR0_FRAG 0x0280E0 +#define S_0280E0_BASE_256B(x) (((x) & 0xFFFFFFFF) << 0) +#define G_0280E0_BASE_256B(x) (((x) >> 0) & 0xFFFFFFFF) +#define C_0280E0_BASE_256B 0x00000000 +#define R_0280E4_CB_COLOR1_FRAG 0x0280E4 +#define R_0280E8_CB_COLOR2_FRAG 0x0280E8 +#define R_0280EC_CB_COLOR3_FRAG 0x0280EC +#define R_0280F0_CB_COLOR4_FRAG 0x0280F0 +#define R_0280F4_CB_COLOR5_FRAG 0x0280F4 +#define R_0280F8_CB_COLOR6_FRAG 0x0280F8 +#define R_0280FC_CB_COLOR7_FRAG 0x0280FC +#define R_0280C0_CB_COLOR0_TILE 0x0280C0 +#define S_0280C0_BASE_256B(x) (((x) & 0xFFFFFFFF) << 0) +#define G_0280C0_BASE_256B(x) (((x) >> 0) & 0xFFFFFFFF) +#define C_0280C0_BASE_256B 0x00000000 +#define R_0280C4_CB_COLOR1_TILE 0x0280C4 +#define R_0280C8_CB_COLOR2_TILE 0x0280C8 +#define R_0280CC_CB_COLOR3_TILE 0x0280CC +#define R_0280D0_CB_COLOR4_TILE 0x0280D0 +#define R_0280D4_CB_COLOR5_TILE 0x0280D4 +#define R_0280D8_CB_COLOR6_TILE 0x0280D8 +#define R_0280DC_CB_COLOR7_TILE 0x0280DC + + #endif --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_legacy_tv.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_legacy_tv.c @@ -57,6 +57,10 @@ #define NTSC_TV_PLL_N_14 693 #define NTSC_TV_PLL_P_14 7 +#define PAL_TV_PLL_M_14 19 +#define PAL_TV_PLL_N_14 353 +#define PAL_TV_PLL_P_14 5 + #define VERT_LEAD_IN_LINES 2 #define FRAC_BITS 0xe #define FRAC_MASK 0x3fff @@ -77,7 +81,7 @@ unsigned pix_to_tv; }; -static const uint16_t hor_timing_NTSC[] = { +static const uint16_t hor_timing_NTSC[MAX_H_CODE_TIMING_LEN] = { 0x0007, 0x003f, 0x0263, @@ -98,7 +102,7 @@ 0 }; -static const uint16_t vert_timing_NTSC[] = { +static const uint16_t vert_timing_NTSC[MAX_V_CODE_TIMING_LEN] = { 0x2001, 0x200d, 0x1006, @@ -115,7 +119,7 @@ 0 }; -static const uint16_t hor_timing_PAL[] = { +static const uint16_t hor_timing_PAL[MAX_H_CODE_TIMING_LEN] = { 0x0007, 0x0058, 0x027c, @@ -136,7 +140,7 @@ 0 }; -static const uint16_t vert_timing_PAL[] = { +static const uint16_t vert_timing_PAL[MAX_V_CODE_TIMING_LEN] = { 0x2001, 0x200c, 0x1005, @@ -205,9 +209,24 @@ 630627, /* defRestart */ 347, /* crtcPLL_N */ 14, /* crtcPLL_M */ - 8, /* crtcPLL_postDiv */ + 8, /* crtcPLL_postDiv */ 1022, /* pixToTV */ }, + { /* PAL timing for 14 Mhz ref clk */ + 800, /* horResolution */ + 600, /* verResolution */ + TV_STD_PAL, /* standard */ + 1131, /* horTotal */ + 742, /* verTotal */ + 813, /* horStart */ + 840, /* horSyncStart */ + 633, /* verSyncStart */ + 708369, /* defRestart */ + 211, /* crtcPLL_N */ + 9, /* crtcPLL_M */ + 8, /* crtcPLL_postDiv */ + 759, /* pixToTV */ + }, }; #define N_AVAILABLE_MODES ARRAY_SIZE(available_tv_modes) @@ -242,7 +261,7 @@ if (pll->reference_freq == 2700) const_ptr = &available_tv_modes[1]; else - const_ptr = &available_tv_modes[1]; /* FIX ME */ + const_ptr = &available_tv_modes[3]; } return const_ptr; } @@ -625,7 +644,7 @@ if (flicker_removal < 3) flicker_removal = 3; - for (i = 0; i < 6; ++i) { + for (i = 0; i < ARRAY_SIZE(SLOPE_limit); ++i) { if (flicker_removal == SLOPE_limit[i]) break; } @@ -685,9 +704,9 @@ n = PAL_TV_PLL_N_27; p = PAL_TV_PLL_P_27; } else { - m = PAL_TV_PLL_M_27; - n = PAL_TV_PLL_N_27; - p = PAL_TV_PLL_P_27; + m = PAL_TV_PLL_M_14; + n = PAL_TV_PLL_N_14; + p = PAL_TV_PLL_P_14; } } --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_pm.c +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_pm.c @@ -27,7 +27,7 @@ int radeon_pm_init(struct radeon_device *rdev) { if (radeon_debugfs_pm_init(rdev)) { - DRM_ERROR("Failed to register debugfs file for CP !\n"); + DRM_ERROR("Failed to register debugfs file for PM!\n"); } return 0; @@ -44,8 +44,11 @@ struct drm_device *dev = node->minor->dev; struct radeon_device *rdev = dev->dev_private; - seq_printf(m, "engine clock: %u0 Hz\n", radeon_get_engine_clock(rdev)); - seq_printf(m, "memory clock: %u0 Hz\n", radeon_get_memory_clock(rdev)); + seq_printf(m, "default engine clock: %u0 kHz\n", rdev->clock.default_sclk); + seq_printf(m, "current engine clock: %u0 kHz\n", radeon_get_engine_clock(rdev)); + seq_printf(m, "default memory clock: %u0 kHz\n", rdev->clock.default_mclk); + if (rdev->asic->get_memory_clock) + seq_printf(m, "current memory clock: %u0 kHz\n", radeon_get_memory_clock(rdev)); return 0; } --- linux-2.6.32.orig/drivers/gpu/drm/radeon/rs600d.h +++ linux-2.6.32/drivers/gpu/drm/radeon/rs600d.h @@ -30,27 +30,12 @@ /* Registers */ #define R_000040_GEN_INT_CNTL 0x000040 -#define S_000040_DISPLAY_INT_STATUS(x) (((x) & 0x1) << 0) -#define G_000040_DISPLAY_INT_STATUS(x) (((x) >> 0) & 0x1) -#define C_000040_DISPLAY_INT_STATUS 0xFFFFFFFE -#define S_000040_DMA_VIPH0_INT_EN(x) (((x) & 0x1) << 12) -#define G_000040_DMA_VIPH0_INT_EN(x) (((x) >> 12) & 0x1) -#define C_000040_DMA_VIPH0_INT_EN 0xFFFFEFFF -#define S_000040_CRTC2_VSYNC(x) (((x) & 0x1) << 6) -#define G_000040_CRTC2_VSYNC(x) (((x) >> 6) & 0x1) -#define C_000040_CRTC2_VSYNC 0xFFFFFFBF -#define S_000040_SNAPSHOT2(x) (((x) & 0x1) << 7) -#define G_000040_SNAPSHOT2(x) (((x) >> 7) & 0x1) -#define C_000040_SNAPSHOT2 0xFFFFFF7F -#define S_000040_CRTC2_VBLANK(x) (((x) & 0x1) << 9) -#define G_000040_CRTC2_VBLANK(x) (((x) >> 9) & 0x1) -#define C_000040_CRTC2_VBLANK 0xFFFFFDFF -#define S_000040_FP2_DETECT(x) (((x) & 0x1) << 10) -#define G_000040_FP2_DETECT(x) (((x) >> 10) & 0x1) -#define C_000040_FP2_DETECT 0xFFFFFBFF -#define S_000040_VSYNC_DIFF_OVER_LIMIT(x) (((x) & 0x1) << 11) -#define G_000040_VSYNC_DIFF_OVER_LIMIT(x) (((x) >> 11) & 0x1) -#define C_000040_VSYNC_DIFF_OVER_LIMIT 0xFFFFF7FF +#define S_000040_SCRATCH_INT_MASK(x) (((x) & 0x1) << 18) +#define G_000040_SCRATCH_INT_MASK(x) (((x) >> 18) & 0x1) +#define C_000040_SCRATCH_INT_MASK 0xFFFBFFFF +#define S_000040_GUI_IDLE_MASK(x) (((x) & 0x1) << 19) +#define G_000040_GUI_IDLE_MASK(x) (((x) >> 19) & 0x1) +#define C_000040_GUI_IDLE_MASK 0xFFF7FFFF #define S_000040_DMA_VIPH1_INT_EN(x) (((x) & 0x1) << 13) #define G_000040_DMA_VIPH1_INT_EN(x) (((x) >> 13) & 0x1) #define C_000040_DMA_VIPH1_INT_EN 0xFFFFDFFF @@ -370,7 +355,90 @@ #define S_007EDC_LB_D2_VBLANK_INTERRUPT(x) (((x) & 0x1) << 5) #define G_007EDC_LB_D2_VBLANK_INTERRUPT(x) (((x) >> 5) & 0x1) #define C_007EDC_LB_D2_VBLANK_INTERRUPT 0xFFFFFFDF - +#define S_007EDC_DACA_AUTODETECT_INTERRUPT(x) (((x) & 0x1) << 16) +#define G_007EDC_DACA_AUTODETECT_INTERRUPT(x) (((x) >> 16) & 0x1) +#define C_007EDC_DACA_AUTODETECT_INTERRUPT 0xFFFEFFFF +#define S_007EDC_DACB_AUTODETECT_INTERRUPT(x) (((x) & 0x1) << 17) +#define G_007EDC_DACB_AUTODETECT_INTERRUPT(x) (((x) >> 17) & 0x1) +#define C_007EDC_DACB_AUTODETECT_INTERRUPT 0xFFFDFFFF +#define S_007EDC_DC_HOT_PLUG_DETECT1_INTERRUPT(x) (((x) & 0x1) << 18) +#define G_007EDC_DC_HOT_PLUG_DETECT1_INTERRUPT(x) (((x) >> 18) & 0x1) +#define C_007EDC_DC_HOT_PLUG_DETECT1_INTERRUPT 0xFFFBFFFF +#define S_007EDC_DC_HOT_PLUG_DETECT2_INTERRUPT(x) (((x) & 0x1) << 19) +#define G_007EDC_DC_HOT_PLUG_DETECT2_INTERRUPT(x) (((x) >> 19) & 0x1) +#define C_007EDC_DC_HOT_PLUG_DETECT2_INTERRUPT 0xFFF7FFFF +#define R_007828_DACA_AUTODETECT_CONTROL 0x007828 +#define S_007828_DACA_AUTODETECT_MODE(x) (((x) & 0x3) << 0) +#define G_007828_DACA_AUTODETECT_MODE(x) (((x) >> 0) & 0x3) +#define C_007828_DACA_AUTODETECT_MODE 0xFFFFFFFC +#define S_007828_DACA_AUTODETECT_FRAME_TIME_COUNTER(x) (((x) & 0xff) << 8) +#define G_007828_DACA_AUTODETECT_FRAME_TIME_COUNTER(x) (((x) >> 8) & 0xff) +#define C_007828_DACA_AUTODETECT_FRAME_TIME_COUNTER 0xFFFF00FF +#define S_007828_DACA_AUTODETECT_CHECK_MASK(x) (((x) & 0x3) << 16) +#define G_007828_DACA_AUTODETECT_CHECK_MASK(x) (((x) >> 16) & 0x3) +#define C_007828_DACA_AUTODETECT_CHECK_MASK 0xFFFCFFFF +#define R_007838_DACA_AUTODETECT_INT_CONTROL 0x007838 +#define S_007838_DACA_AUTODETECT_ACK(x) (((x) & 0x1) << 0) +#define C_007838_DACA_DACA_AUTODETECT_ACK 0xFFFFFFFE +#define S_007838_DACA_AUTODETECT_INT_ENABLE(x) (((x) & 0x1) << 16) +#define G_007838_DACA_AUTODETECT_INT_ENABLE(x) (((x) >> 16) & 0x1) +#define C_007838_DACA_AUTODETECT_INT_ENABLE 0xFFFCFFFF +#define R_007A28_DACB_AUTODETECT_CONTROL 0x007A28 +#define S_007A28_DACB_AUTODETECT_MODE(x) (((x) & 0x3) << 0) +#define G_007A28_DACB_AUTODETECT_MODE(x) (((x) >> 0) & 0x3) +#define C_007A28_DACB_AUTODETECT_MODE 0xFFFFFFFC +#define S_007A28_DACB_AUTODETECT_FRAME_TIME_COUNTER(x) (((x) & 0xff) << 8) +#define G_007A28_DACB_AUTODETECT_FRAME_TIME_COUNTER(x) (((x) >> 8) & 0xff) +#define C_007A28_DACB_AUTODETECT_FRAME_TIME_COUNTER 0xFFFF00FF +#define S_007A28_DACB_AUTODETECT_CHECK_MASK(x) (((x) & 0x3) << 16) +#define G_007A28_DACB_AUTODETECT_CHECK_MASK(x) (((x) >> 16) & 0x3) +#define C_007A28_DACB_AUTODETECT_CHECK_MASK 0xFFFCFFFF +#define R_007A38_DACB_AUTODETECT_INT_CONTROL 0x007A38 +#define S_007A38_DACB_AUTODETECT_ACK(x) (((x) & 0x1) << 0) +#define C_007A38_DACB_DACA_AUTODETECT_ACK 0xFFFFFFFE +#define S_007A38_DACB_AUTODETECT_INT_ENABLE(x) (((x) & 0x1) << 16) +#define G_007A38_DACB_AUTODETECT_INT_ENABLE(x) (((x) >> 16) & 0x1) +#define C_007A38_DACB_AUTODETECT_INT_ENABLE 0xFFFCFFFF +#define R_007D00_DC_HOT_PLUG_DETECT1_CONTROL 0x007D00 +#define S_007D00_DC_HOT_PLUG_DETECT1_EN(x) (((x) & 0x1) << 0) +#define G_007D00_DC_HOT_PLUG_DETECT1_EN(x) (((x) >> 0) & 0x1) +#define C_007D00_DC_HOT_PLUG_DETECT1_EN 0xFFFFFFFE +#define R_007D04_DC_HOT_PLUG_DETECT1_INT_STATUS 0x007D04 +#define S_007D04_DC_HOT_PLUG_DETECT1_INT_STATUS(x) (((x) & 0x1) << 0) +#define G_007D04_DC_HOT_PLUG_DETECT1_INT_STATUS(x) (((x) >> 0) & 0x1) +#define C_007D04_DC_HOT_PLUG_DETECT1_INT_STATUS 0xFFFFFFFE +#define S_007D04_DC_HOT_PLUG_DETECT1_SENSE(x) (((x) & 0x1) << 1) +#define G_007D04_DC_HOT_PLUG_DETECT1_SENSE(x) (((x) >> 1) & 0x1) +#define C_007D04_DC_HOT_PLUG_DETECT1_SENSE 0xFFFFFFFD +#define R_007D08_DC_HOT_PLUG_DETECT1_INT_CONTROL 0x007D08 +#define S_007D08_DC_HOT_PLUG_DETECT1_INT_ACK(x) (((x) & 0x1) << 0) +#define C_007D08_DC_HOT_PLUG_DETECT1_INT_ACK 0xFFFFFFFE +#define S_007D08_DC_HOT_PLUG_DETECT1_INT_POLARITY(x) (((x) & 0x1) << 8) +#define G_007D08_DC_HOT_PLUG_DETECT1_INT_POLARITY(x) (((x) >> 8) & 0x1) +#define C_007D08_DC_HOT_PLUG_DETECT1_INT_POLARITY 0xFFFFFEFF +#define S_007D08_DC_HOT_PLUG_DETECT1_INT_EN(x) (((x) & 0x1) << 16) +#define G_007D08_DC_HOT_PLUG_DETECT1_INT_EN(x) (((x) >> 16) & 0x1) +#define C_007D08_DC_HOT_PLUG_DETECT1_INT_EN 0xFFFEFFFF +#define R_007D10_DC_HOT_PLUG_DETECT2_CONTROL 0x007D10 +#define S_007D10_DC_HOT_PLUG_DETECT2_EN(x) (((x) & 0x1) << 0) +#define G_007D10_DC_HOT_PLUG_DETECT2_EN(x) (((x) >> 0) & 0x1) +#define C_007D10_DC_HOT_PLUG_DETECT2_EN 0xFFFFFFFE +#define R_007D14_DC_HOT_PLUG_DETECT2_INT_STATUS 0x007D14 +#define S_007D14_DC_HOT_PLUG_DETECT2_INT_STATUS(x) (((x) & 0x1) << 0) +#define G_007D14_DC_HOT_PLUG_DETECT2_INT_STATUS(x) (((x) >> 0) & 0x1) +#define C_007D14_DC_HOT_PLUG_DETECT2_INT_STATUS 0xFFFFFFFE +#define S_007D14_DC_HOT_PLUG_DETECT2_SENSE(x) (((x) & 0x1) << 1) +#define G_007D14_DC_HOT_PLUG_DETECT2_SENSE(x) (((x) >> 1) & 0x1) +#define C_007D14_DC_HOT_PLUG_DETECT2_SENSE 0xFFFFFFFD +#define R_007D18_DC_HOT_PLUG_DETECT2_INT_CONTROL 0x007D18 +#define S_007D18_DC_HOT_PLUG_DETECT2_INT_ACK(x) (((x) & 0x1) << 0) +#define C_007D18_DC_HOT_PLUG_DETECT2_INT_ACK 0xFFFFFFFE +#define S_007D18_DC_HOT_PLUG_DETECT2_INT_POLARITY(x) (((x) & 0x1) << 8) +#define G_007D18_DC_HOT_PLUG_DETECT2_INT_POLARITY(x) (((x) >> 8) & 0x1) +#define C_007D18_DC_HOT_PLUG_DETECT2_INT_POLARITY 0xFFFFFEFF +#define S_007D18_DC_HOT_PLUG_DETECT2_INT_EN(x) (((x) & 0x1) << 16) +#define G_007D18_DC_HOT_PLUG_DETECT2_INT_EN(x) (((x) >> 16) & 0x1) +#define C_007D18_DC_HOT_PLUG_DETECT2_INT_EN 0xFFFEFFFF /* MC registers */ #define R_000000_MC_STATUS 0x000000 --- linux-2.6.32.orig/drivers/gpu/drm/radeon/rv770d.h +++ linux-2.6.32/drivers/gpu/drm/radeon/rv770d.h @@ -128,6 +128,7 @@ #define HDP_NONSURFACE_SIZE 0x2C0C #define HDP_REG_COHERENCY_FLUSH_CNTL 0x54A0 #define HDP_TILING_CONFIG 0x2F3C +#define HDP_DEBUG1 0x2F34 #define MC_SHARED_CHMAP 0x2004 #define NOOFCHAN_SHIFT 12 --- linux-2.6.32.orig/drivers/gpu/drm/radeon/radeon_fixed.h +++ linux-2.6.32/drivers/gpu/drm/radeon/radeon_fixed.h @@ -38,6 +38,23 @@ #define fixed_init_half(A) { .full = rfixed_const_half((A)) } #define rfixed_trunc(A) ((A).full >> 12) +static inline u32 rfixed_floor(fixed20_12 A) +{ + u32 non_frac = rfixed_trunc(A); + + return rfixed_const(non_frac); +} + +static inline u32 rfixed_ceil(fixed20_12 A) +{ + u32 non_frac = rfixed_trunc(A); + + if (A.full > rfixed_const(non_frac)) + return rfixed_const(non_frac + 1); + else + return rfixed_const(non_frac); +} + static inline u32 rfixed_div(fixed20_12 A, fixed20_12 B) { u64 tmp = ((u64)A.full << 13); --- linux-2.6.32.orig/drivers/gpu/drm/radeon/reg_srcs/r200 +++ linux-2.6.32/drivers/gpu/drm/radeon/reg_srcs/r200 @@ -91,6 +91,8 @@ 0x22b8 SE_TCL_TEX_CYL_WRAP_CTL 0x22c0 SE_TCL_UCP_VERT_BLEND_CNTL 0x22c4 SE_TCL_POINT_SPRITE_CNTL +0x22d0 SE_PVS_CNTL +0x22d4 SE_PVS_CONST_CNTL 0x2648 RE_POINTSIZE 0x26c0 RE_TOP_LEFT 0x26c4 RE_MISC --- linux-2.6.32.orig/drivers/gpu/drm/radeon/reg_srcs/r300 +++ linux-2.6.32/drivers/gpu/drm/radeon/reg_srcs/r300 @@ -705,9 +705,6 @@ 0x4E74 RB3D_CMASK_WRINDEX 0x4E78 RB3D_CMASK_DWORD 0x4E7C RB3D_CMASK_RDINDEX -0x4E80 RB3D_AARESOLVE_OFFSET -0x4E84 RB3D_AARESOLVE_PITCH -0x4E88 RB3D_AARESOLVE_CTL 0x4EA0 RB3D_DISCARD_SRC_PIXEL_LTE_THRESHOLD 0x4EA4 RB3D_DISCARD_SRC_PIXEL_GTE_THRESHOLD 0x4F04 ZB_ZSTENCILCNTL --- linux-2.6.32.orig/drivers/gpu/drm/radeon/reg_srcs/r420 +++ linux-2.6.32/drivers/gpu/drm/radeon/reg_srcs/r420 @@ -0,0 +1,792 @@ +r420 0x4f60 +0x1434 SRC_Y_X +0x1438 DST_Y_X +0x143C DST_HEIGHT_WIDTH +0x146C DP_GUI_MASTER_CNTL +0x1474 BRUSH_Y_X +0x1478 DP_BRUSH_BKGD_CLR +0x147C DP_BRUSH_FRGD_CLR +0x1480 BRUSH_DATA0 +0x1484 BRUSH_DATA1 +0x1598 DST_WIDTH_HEIGHT +0x15C0 CLR_CMP_CNTL +0x15C4 CLR_CMP_CLR_SRC +0x15C8 CLR_CMP_CLR_DST +0x15CC CLR_CMP_MSK +0x15D8 DP_SRC_FRGD_CLR +0x15DC DP_SRC_BKGD_CLR +0x1600 DST_LINE_START +0x1604 DST_LINE_END +0x1608 DST_LINE_PATCOUNT +0x16C0 DP_CNTL +0x16CC DP_WRITE_MSK +0x16D0 DP_CNTL_XDIR_YDIR_YMAJOR +0x16E8 DEFAULT_SC_BOTTOM_RIGHT +0x16EC SC_TOP_LEFT +0x16F0 SC_BOTTOM_RIGHT +0x16F4 SRC_SC_BOTTOM_RIGHT +0x1714 DSTCACHE_CTLSTAT +0x1720 WAIT_UNTIL +0x172C RBBM_GUICNTL +0x1D98 VAP_VPORT_XSCALE +0x1D9C VAP_VPORT_XOFFSET +0x1DA0 VAP_VPORT_YSCALE +0x1DA4 VAP_VPORT_YOFFSET +0x1DA8 VAP_VPORT_ZSCALE +0x1DAC VAP_VPORT_ZOFFSET +0x2080 VAP_CNTL +0x2090 VAP_OUT_VTX_FMT_0 +0x2094 VAP_OUT_VTX_FMT_1 +0x20B0 VAP_VTE_CNTL +0x2138 VAP_VF_MIN_VTX_INDX +0x2140 VAP_CNTL_STATUS +0x2150 VAP_PROG_STREAM_CNTL_0 +0x2154 VAP_PROG_STREAM_CNTL_1 +0x2158 VAP_PROG_STREAM_CNTL_2 +0x215C VAP_PROG_STREAM_CNTL_3 +0x2160 VAP_PROG_STREAM_CNTL_4 +0x2164 VAP_PROG_STREAM_CNTL_5 +0x2168 VAP_PROG_STREAM_CNTL_6 +0x216C VAP_PROG_STREAM_CNTL_7 +0x2180 VAP_VTX_STATE_CNTL +0x2184 VAP_VSM_VTX_ASSM +0x2188 VAP_VTX_STATE_IND_REG_0 +0x218C VAP_VTX_STATE_IND_REG_1 +0x2190 VAP_VTX_STATE_IND_REG_2 +0x2194 VAP_VTX_STATE_IND_REG_3 +0x2198 VAP_VTX_STATE_IND_REG_4 +0x219C VAP_VTX_STATE_IND_REG_5 +0x21A0 VAP_VTX_STATE_IND_REG_6 +0x21A4 VAP_VTX_STATE_IND_REG_7 +0x21A8 VAP_VTX_STATE_IND_REG_8 +0x21AC VAP_VTX_STATE_IND_REG_9 +0x21B0 VAP_VTX_STATE_IND_REG_10 +0x21B4 VAP_VTX_STATE_IND_REG_11 +0x21B8 VAP_VTX_STATE_IND_REG_12 +0x21BC VAP_VTX_STATE_IND_REG_13 +0x21C0 VAP_VTX_STATE_IND_REG_14 +0x21C4 VAP_VTX_STATE_IND_REG_15 +0x21DC VAP_PSC_SGN_NORM_CNTL +0x21E0 VAP_PROG_STREAM_CNTL_EXT_0 +0x21E4 VAP_PROG_STREAM_CNTL_EXT_1 +0x21E8 VAP_PROG_STREAM_CNTL_EXT_2 +0x21EC VAP_PROG_STREAM_CNTL_EXT_3 +0x21F0 VAP_PROG_STREAM_CNTL_EXT_4 +0x21F4 VAP_PROG_STREAM_CNTL_EXT_5 +0x21F8 VAP_PROG_STREAM_CNTL_EXT_6 +0x21FC VAP_PROG_STREAM_CNTL_EXT_7 +0x2200 VAP_PVS_VECTOR_INDX_REG +0x2204 VAP_PVS_VECTOR_DATA_REG +0x2208 VAP_PVS_VECTOR_DATA_REG_128 +0x221C VAP_CLIP_CNTL +0x2220 VAP_GB_VERT_CLIP_ADJ +0x2224 VAP_GB_VERT_DISC_ADJ +0x2228 VAP_GB_HORZ_CLIP_ADJ +0x222C VAP_GB_HORZ_DISC_ADJ +0x2230 VAP_PVS_FLOW_CNTL_ADDRS_0 +0x2234 VAP_PVS_FLOW_CNTL_ADDRS_1 +0x2238 VAP_PVS_FLOW_CNTL_ADDRS_2 +0x223C VAP_PVS_FLOW_CNTL_ADDRS_3 +0x2240 VAP_PVS_FLOW_CNTL_ADDRS_4 +0x2244 VAP_PVS_FLOW_CNTL_ADDRS_5 +0x2248 VAP_PVS_FLOW_CNTL_ADDRS_6 +0x224C VAP_PVS_FLOW_CNTL_ADDRS_7 +0x2250 VAP_PVS_FLOW_CNTL_ADDRS_8 +0x2254 VAP_PVS_FLOW_CNTL_ADDRS_9 +0x2258 VAP_PVS_FLOW_CNTL_ADDRS_10 +0x225C VAP_PVS_FLOW_CNTL_ADDRS_11 +0x2260 VAP_PVS_FLOW_CNTL_ADDRS_12 +0x2264 VAP_PVS_FLOW_CNTL_ADDRS_13 +0x2268 VAP_PVS_FLOW_CNTL_ADDRS_14 +0x226C VAP_PVS_FLOW_CNTL_ADDRS_15 +0x2284 VAP_PVS_STATE_FLUSH_REG +0x2288 VAP_PVS_VTX_TIMEOUT_REG +0x2290 VAP_PVS_FLOW_CNTL_LOOP_INDEX_0 +0x2294 VAP_PVS_FLOW_CNTL_LOOP_INDEX_1 +0x2298 VAP_PVS_FLOW_CNTL_LOOP_INDEX_2 +0x229C VAP_PVS_FLOW_CNTL_LOOP_INDEX_3 +0x22A0 VAP_PVS_FLOW_CNTL_LOOP_INDEX_4 +0x22A4 VAP_PVS_FLOW_CNTL_LOOP_INDEX_5 +0x22A8 VAP_PVS_FLOW_CNTL_LOOP_INDEX_6 +0x22AC VAP_PVS_FLOW_CNTL_LOOP_INDEX_7 +0x22B0 VAP_PVS_FLOW_CNTL_LOOP_INDEX_8 +0x22B4 VAP_PVS_FLOW_CNTL_LOOP_INDEX_9 +0x22B8 VAP_PVS_FLOW_CNTL_LOOP_INDEX_10 +0x22BC VAP_PVS_FLOW_CNTL_LOOP_INDEX_11 +0x22C0 VAP_PVS_FLOW_CNTL_LOOP_INDEX_12 +0x22C4 VAP_PVS_FLOW_CNTL_LOOP_INDEX_13 +0x22C8 VAP_PVS_FLOW_CNTL_LOOP_INDEX_14 +0x22CC VAP_PVS_FLOW_CNTL_LOOP_INDEX_15 +0x22D0 VAP_PVS_CODE_CNTL_0 +0x22D4 VAP_PVS_CONST_CNTL +0x22D8 VAP_PVS_CODE_CNTL_1 +0x22DC VAP_PVS_FLOW_CNTL_OPC +0x342C RB2D_DSTCACHE_CTLSTAT +0x4000 GB_VAP_RASTER_VTX_FMT_0 +0x4004 GB_VAP_RASTER_VTX_FMT_1 +0x4008 GB_ENABLE +0x401C GB_SELECT +0x4020 GB_AA_CONFIG +0x4024 GB_FIFO_SIZE +0x4100 TX_INVALTAGS +0x4200 GA_POINT_S0 +0x4204 GA_POINT_T0 +0x4208 GA_POINT_S1 +0x420C GA_POINT_T1 +0x4214 GA_TRIANGLE_STIPPLE +0x421C GA_POINT_SIZE +0x4230 GA_POINT_MINMAX +0x4234 GA_LINE_CNTL +0x4238 GA_LINE_STIPPLE_CONFIG +0x4260 GA_LINE_STIPPLE_VALUE +0x4264 GA_LINE_S0 +0x4268 GA_LINE_S1 +0x4278 GA_COLOR_CONTROL +0x427C GA_SOLID_RG +0x4280 GA_SOLID_BA +0x4288 GA_POLY_MODE +0x428C GA_ROUND_MODE +0x4290 GA_OFFSET +0x4294 GA_FOG_SCALE +0x4298 GA_FOG_OFFSET +0x42A0 SU_TEX_WRAP +0x42A4 SU_POLY_OFFSET_FRONT_SCALE +0x42A8 SU_POLY_OFFSET_FRONT_OFFSET +0x42AC SU_POLY_OFFSET_BACK_SCALE +0x42B0 SU_POLY_OFFSET_BACK_OFFSET +0x42B4 SU_POLY_OFFSET_ENABLE +0x42B8 SU_CULL_MODE +0x42C0 SU_DEPTH_SCALE +0x42C4 SU_DEPTH_OFFSET +0x42C8 SU_REG_DEST +0x4300 RS_COUNT +0x4304 RS_INST_COUNT +0x4310 RS_IP_0 +0x4314 RS_IP_1 +0x4318 RS_IP_2 +0x431C RS_IP_3 +0x4320 RS_IP_4 +0x4324 RS_IP_5 +0x4328 RS_IP_6 +0x432C RS_IP_7 +0x4330 RS_INST_0 +0x4334 RS_INST_1 +0x4338 RS_INST_2 +0x433C RS_INST_3 +0x4340 RS_INST_4 +0x4344 RS_INST_5 +0x4348 RS_INST_6 +0x434C RS_INST_7 +0x4350 RS_INST_8 +0x4354 RS_INST_9 +0x4358 RS_INST_10 +0x435C RS_INST_11 +0x4360 RS_INST_12 +0x4364 RS_INST_13 +0x4368 RS_INST_14 +0x436C RS_INST_15 +0x43A4 SC_HYPERZ_EN +0x43A8 SC_EDGERULE +0x43B0 SC_CLIP_0_A +0x43B4 SC_CLIP_0_B +0x43B8 SC_CLIP_1_A +0x43BC SC_CLIP_1_B +0x43C0 SC_CLIP_2_A +0x43C4 SC_CLIP_2_B +0x43C8 SC_CLIP_3_A +0x43CC SC_CLIP_3_B +0x43D0 SC_CLIP_RULE +0x43E0 SC_SCISSOR0 +0x43E8 SC_SCREENDOOR +0x4440 TX_FILTER1_0 +0x4444 TX_FILTER1_1 +0x4448 TX_FILTER1_2 +0x444C TX_FILTER1_3 +0x4450 TX_FILTER1_4 +0x4454 TX_FILTER1_5 +0x4458 TX_FILTER1_6 +0x445C TX_FILTER1_7 +0x4460 TX_FILTER1_8 +0x4464 TX_FILTER1_9 +0x4468 TX_FILTER1_10 +0x446C TX_FILTER1_11 +0x4470 TX_FILTER1_12 +0x4474 TX_FILTER1_13 +0x4478 TX_FILTER1_14 +0x447C TX_FILTER1_15 +0x4580 TX_CHROMA_KEY_0 +0x4584 TX_CHROMA_KEY_1 +0x4588 TX_CHROMA_KEY_2 +0x458C TX_CHROMA_KEY_3 +0x4590 TX_CHROMA_KEY_4 +0x4594 TX_CHROMA_KEY_5 +0x4598 TX_CHROMA_KEY_6 +0x459C TX_CHROMA_KEY_7 +0x45A0 TX_CHROMA_KEY_8 +0x45A4 TX_CHROMA_KEY_9 +0x45A8 TX_CHROMA_KEY_10 +0x45AC TX_CHROMA_KEY_11 +0x45B0 TX_CHROMA_KEY_12 +0x45B4 TX_CHROMA_KEY_13 +0x45B8 TX_CHROMA_KEY_14 +0x45BC TX_CHROMA_KEY_15 +0x45C0 TX_BORDER_COLOR_0 +0x45C4 TX_BORDER_COLOR_1 +0x45C8 TX_BORDER_COLOR_2 +0x45CC TX_BORDER_COLOR_3 +0x45D0 TX_BORDER_COLOR_4 +0x45D4 TX_BORDER_COLOR_5 +0x45D8 TX_BORDER_COLOR_6 +0x45DC TX_BORDER_COLOR_7 +0x45E0 TX_BORDER_COLOR_8 +0x45E4 TX_BORDER_COLOR_9 +0x45E8 TX_BORDER_COLOR_10 +0x45EC TX_BORDER_COLOR_11 +0x45F0 TX_BORDER_COLOR_12 +0x45F4 TX_BORDER_COLOR_13 +0x45F8 TX_BORDER_COLOR_14 +0x45FC TX_BORDER_COLOR_15 +0x4600 US_CONFIG +0x4604 US_PIXSIZE +0x4608 US_CODE_OFFSET +0x460C US_RESET +0x4610 US_CODE_ADDR_0 +0x4614 US_CODE_ADDR_1 +0x4618 US_CODE_ADDR_2 +0x461C US_CODE_ADDR_3 +0x4620 US_TEX_INST_0 +0x4624 US_TEX_INST_1 +0x4628 US_TEX_INST_2 +0x462C US_TEX_INST_3 +0x4630 US_TEX_INST_4 +0x4634 US_TEX_INST_5 +0x4638 US_TEX_INST_6 +0x463C US_TEX_INST_7 +0x4640 US_TEX_INST_8 +0x4644 US_TEX_INST_9 +0x4648 US_TEX_INST_10 +0x464C US_TEX_INST_11 +0x4650 US_TEX_INST_12 +0x4654 US_TEX_INST_13 +0x4658 US_TEX_INST_14 +0x465C US_TEX_INST_15 +0x4660 US_TEX_INST_16 +0x4664 US_TEX_INST_17 +0x4668 US_TEX_INST_18 +0x466C US_TEX_INST_19 +0x4670 US_TEX_INST_20 +0x4674 US_TEX_INST_21 +0x4678 US_TEX_INST_22 +0x467C US_TEX_INST_23 +0x4680 US_TEX_INST_24 +0x4684 US_TEX_INST_25 +0x4688 US_TEX_INST_26 +0x468C US_TEX_INST_27 +0x4690 US_TEX_INST_28 +0x4694 US_TEX_INST_29 +0x4698 US_TEX_INST_30 +0x469C US_TEX_INST_31 +0x46A4 US_OUT_FMT_0 +0x46A8 US_OUT_FMT_1 +0x46AC US_OUT_FMT_2 +0x46B0 US_OUT_FMT_3 +0x46B4 US_W_FMT +0x46B8 US_CODE_BANK +0x46BC US_CODE_EXT +0x46C0 US_ALU_RGB_ADDR_0 +0x46C4 US_ALU_RGB_ADDR_1 +0x46C8 US_ALU_RGB_ADDR_2 +0x46CC US_ALU_RGB_ADDR_3 +0x46D0 US_ALU_RGB_ADDR_4 +0x46D4 US_ALU_RGB_ADDR_5 +0x46D8 US_ALU_RGB_ADDR_6 +0x46DC US_ALU_RGB_ADDR_7 +0x46E0 US_ALU_RGB_ADDR_8 +0x46E4 US_ALU_RGB_ADDR_9 +0x46E8 US_ALU_RGB_ADDR_10 +0x46EC US_ALU_RGB_ADDR_11 +0x46F0 US_ALU_RGB_ADDR_12 +0x46F4 US_ALU_RGB_ADDR_13 +0x46F8 US_ALU_RGB_ADDR_14 +0x46FC US_ALU_RGB_ADDR_15 +0x4700 US_ALU_RGB_ADDR_16 +0x4704 US_ALU_RGB_ADDR_17 +0x4708 US_ALU_RGB_ADDR_18 +0x470C US_ALU_RGB_ADDR_19 +0x4710 US_ALU_RGB_ADDR_20 +0x4714 US_ALU_RGB_ADDR_21 +0x4718 US_ALU_RGB_ADDR_22 +0x471C US_ALU_RGB_ADDR_23 +0x4720 US_ALU_RGB_ADDR_24 +0x4724 US_ALU_RGB_ADDR_25 +0x4728 US_ALU_RGB_ADDR_26 +0x472C US_ALU_RGB_ADDR_27 +0x4730 US_ALU_RGB_ADDR_28 +0x4734 US_ALU_RGB_ADDR_29 +0x4738 US_ALU_RGB_ADDR_30 +0x473C US_ALU_RGB_ADDR_31 +0x4740 US_ALU_RGB_ADDR_32 +0x4744 US_ALU_RGB_ADDR_33 +0x4748 US_ALU_RGB_ADDR_34 +0x474C US_ALU_RGB_ADDR_35 +0x4750 US_ALU_RGB_ADDR_36 +0x4754 US_ALU_RGB_ADDR_37 +0x4758 US_ALU_RGB_ADDR_38 +0x475C US_ALU_RGB_ADDR_39 +0x4760 US_ALU_RGB_ADDR_40 +0x4764 US_ALU_RGB_ADDR_41 +0x4768 US_ALU_RGB_ADDR_42 +0x476C US_ALU_RGB_ADDR_43 +0x4770 US_ALU_RGB_ADDR_44 +0x4774 US_ALU_RGB_ADDR_45 +0x4778 US_ALU_RGB_ADDR_46 +0x477C US_ALU_RGB_ADDR_47 +0x4780 US_ALU_RGB_ADDR_48 +0x4784 US_ALU_RGB_ADDR_49 +0x4788 US_ALU_RGB_ADDR_50 +0x478C US_ALU_RGB_ADDR_51 +0x4790 US_ALU_RGB_ADDR_52 +0x4794 US_ALU_RGB_ADDR_53 +0x4798 US_ALU_RGB_ADDR_54 +0x479C US_ALU_RGB_ADDR_55 +0x47A0 US_ALU_RGB_ADDR_56 +0x47A4 US_ALU_RGB_ADDR_57 +0x47A8 US_ALU_RGB_ADDR_58 +0x47AC US_ALU_RGB_ADDR_59 +0x47B0 US_ALU_RGB_ADDR_60 +0x47B4 US_ALU_RGB_ADDR_61 +0x47B8 US_ALU_RGB_ADDR_62 +0x47BC US_ALU_RGB_ADDR_63 +0x47C0 US_ALU_ALPHA_ADDR_0 +0x47C4 US_ALU_ALPHA_ADDR_1 +0x47C8 US_ALU_ALPHA_ADDR_2 +0x47CC US_ALU_ALPHA_ADDR_3 +0x47D0 US_ALU_ALPHA_ADDR_4 +0x47D4 US_ALU_ALPHA_ADDR_5 +0x47D8 US_ALU_ALPHA_ADDR_6 +0x47DC US_ALU_ALPHA_ADDR_7 +0x47E0 US_ALU_ALPHA_ADDR_8 +0x47E4 US_ALU_ALPHA_ADDR_9 +0x47E8 US_ALU_ALPHA_ADDR_10 +0x47EC US_ALU_ALPHA_ADDR_11 +0x47F0 US_ALU_ALPHA_ADDR_12 +0x47F4 US_ALU_ALPHA_ADDR_13 +0x47F8 US_ALU_ALPHA_ADDR_14 +0x47FC US_ALU_ALPHA_ADDR_15 +0x4800 US_ALU_ALPHA_ADDR_16 +0x4804 US_ALU_ALPHA_ADDR_17 +0x4808 US_ALU_ALPHA_ADDR_18 +0x480C US_ALU_ALPHA_ADDR_19 +0x4810 US_ALU_ALPHA_ADDR_20 +0x4814 US_ALU_ALPHA_ADDR_21 +0x4818 US_ALU_ALPHA_ADDR_22 +0x481C US_ALU_ALPHA_ADDR_23 +0x4820 US_ALU_ALPHA_ADDR_24 +0x4824 US_ALU_ALPHA_ADDR_25 +0x4828 US_ALU_ALPHA_ADDR_26 +0x482C US_ALU_ALPHA_ADDR_27 +0x4830 US_ALU_ALPHA_ADDR_28 +0x4834 US_ALU_ALPHA_ADDR_29 +0x4838 US_ALU_ALPHA_ADDR_30 +0x483C US_ALU_ALPHA_ADDR_31 +0x4840 US_ALU_ALPHA_ADDR_32 +0x4844 US_ALU_ALPHA_ADDR_33 +0x4848 US_ALU_ALPHA_ADDR_34 +0x484C US_ALU_ALPHA_ADDR_35 +0x4850 US_ALU_ALPHA_ADDR_36 +0x4854 US_ALU_ALPHA_ADDR_37 +0x4858 US_ALU_ALPHA_ADDR_38 +0x485C US_ALU_ALPHA_ADDR_39 +0x4860 US_ALU_ALPHA_ADDR_40 +0x4864 US_ALU_ALPHA_ADDR_41 +0x4868 US_ALU_ALPHA_ADDR_42 +0x486C US_ALU_ALPHA_ADDR_43 +0x4870 US_ALU_ALPHA_ADDR_44 +0x4874 US_ALU_ALPHA_ADDR_45 +0x4878 US_ALU_ALPHA_ADDR_46 +0x487C US_ALU_ALPHA_ADDR_47 +0x4880 US_ALU_ALPHA_ADDR_48 +0x4884 US_ALU_ALPHA_ADDR_49 +0x4888 US_ALU_ALPHA_ADDR_50 +0x488C US_ALU_ALPHA_ADDR_51 +0x4890 US_ALU_ALPHA_ADDR_52 +0x4894 US_ALU_ALPHA_ADDR_53 +0x4898 US_ALU_ALPHA_ADDR_54 +0x489C US_ALU_ALPHA_ADDR_55 +0x48A0 US_ALU_ALPHA_ADDR_56 +0x48A4 US_ALU_ALPHA_ADDR_57 +0x48A8 US_ALU_ALPHA_ADDR_58 +0x48AC US_ALU_ALPHA_ADDR_59 +0x48B0 US_ALU_ALPHA_ADDR_60 +0x48B4 US_ALU_ALPHA_ADDR_61 +0x48B8 US_ALU_ALPHA_ADDR_62 +0x48BC US_ALU_ALPHA_ADDR_63 +0x48C0 US_ALU_RGB_INST_0 +0x48C4 US_ALU_RGB_INST_1 +0x48C8 US_ALU_RGB_INST_2 +0x48CC US_ALU_RGB_INST_3 +0x48D0 US_ALU_RGB_INST_4 +0x48D4 US_ALU_RGB_INST_5 +0x48D8 US_ALU_RGB_INST_6 +0x48DC US_ALU_RGB_INST_7 +0x48E0 US_ALU_RGB_INST_8 +0x48E4 US_ALU_RGB_INST_9 +0x48E8 US_ALU_RGB_INST_10 +0x48EC US_ALU_RGB_INST_11 +0x48F0 US_ALU_RGB_INST_12 +0x48F4 US_ALU_RGB_INST_13 +0x48F8 US_ALU_RGB_INST_14 +0x48FC US_ALU_RGB_INST_15 +0x4900 US_ALU_RGB_INST_16 +0x4904 US_ALU_RGB_INST_17 +0x4908 US_ALU_RGB_INST_18 +0x490C US_ALU_RGB_INST_19 +0x4910 US_ALU_RGB_INST_20 +0x4914 US_ALU_RGB_INST_21 +0x4918 US_ALU_RGB_INST_22 +0x491C US_ALU_RGB_INST_23 +0x4920 US_ALU_RGB_INST_24 +0x4924 US_ALU_RGB_INST_25 +0x4928 US_ALU_RGB_INST_26 +0x492C US_ALU_RGB_INST_27 +0x4930 US_ALU_RGB_INST_28 +0x4934 US_ALU_RGB_INST_29 +0x4938 US_ALU_RGB_INST_30 +0x493C US_ALU_RGB_INST_31 +0x4940 US_ALU_RGB_INST_32 +0x4944 US_ALU_RGB_INST_33 +0x4948 US_ALU_RGB_INST_34 +0x494C US_ALU_RGB_INST_35 +0x4950 US_ALU_RGB_INST_36 +0x4954 US_ALU_RGB_INST_37 +0x4958 US_ALU_RGB_INST_38 +0x495C US_ALU_RGB_INST_39 +0x4960 US_ALU_RGB_INST_40 +0x4964 US_ALU_RGB_INST_41 +0x4968 US_ALU_RGB_INST_42 +0x496C US_ALU_RGB_INST_43 +0x4970 US_ALU_RGB_INST_44 +0x4974 US_ALU_RGB_INST_45 +0x4978 US_ALU_RGB_INST_46 +0x497C US_ALU_RGB_INST_47 +0x4980 US_ALU_RGB_INST_48 +0x4984 US_ALU_RGB_INST_49 +0x4988 US_ALU_RGB_INST_50 +0x498C US_ALU_RGB_INST_51 +0x4990 US_ALU_RGB_INST_52 +0x4994 US_ALU_RGB_INST_53 +0x4998 US_ALU_RGB_INST_54 +0x499C US_ALU_RGB_INST_55 +0x49A0 US_ALU_RGB_INST_56 +0x49A4 US_ALU_RGB_INST_57 +0x49A8 US_ALU_RGB_INST_58 +0x49AC US_ALU_RGB_INST_59 +0x49B0 US_ALU_RGB_INST_60 +0x49B4 US_ALU_RGB_INST_61 +0x49B8 US_ALU_RGB_INST_62 +0x49BC US_ALU_RGB_INST_63 +0x49C0 US_ALU_ALPHA_INST_0 +0x49C4 US_ALU_ALPHA_INST_1 +0x49C8 US_ALU_ALPHA_INST_2 +0x49CC US_ALU_ALPHA_INST_3 +0x49D0 US_ALU_ALPHA_INST_4 +0x49D4 US_ALU_ALPHA_INST_5 +0x49D8 US_ALU_ALPHA_INST_6 +0x49DC US_ALU_ALPHA_INST_7 +0x49E0 US_ALU_ALPHA_INST_8 +0x49E4 US_ALU_ALPHA_INST_9 +0x49E8 US_ALU_ALPHA_INST_10 +0x49EC US_ALU_ALPHA_INST_11 +0x49F0 US_ALU_ALPHA_INST_12 +0x49F4 US_ALU_ALPHA_INST_13 +0x49F8 US_ALU_ALPHA_INST_14 +0x49FC US_ALU_ALPHA_INST_15 +0x4A00 US_ALU_ALPHA_INST_16 +0x4A04 US_ALU_ALPHA_INST_17 +0x4A08 US_ALU_ALPHA_INST_18 +0x4A0C US_ALU_ALPHA_INST_19 +0x4A10 US_ALU_ALPHA_INST_20 +0x4A14 US_ALU_ALPHA_INST_21 +0x4A18 US_ALU_ALPHA_INST_22 +0x4A1C US_ALU_ALPHA_INST_23 +0x4A20 US_ALU_ALPHA_INST_24 +0x4A24 US_ALU_ALPHA_INST_25 +0x4A28 US_ALU_ALPHA_INST_26 +0x4A2C US_ALU_ALPHA_INST_27 +0x4A30 US_ALU_ALPHA_INST_28 +0x4A34 US_ALU_ALPHA_INST_29 +0x4A38 US_ALU_ALPHA_INST_30 +0x4A3C US_ALU_ALPHA_INST_31 +0x4A40 US_ALU_ALPHA_INST_32 +0x4A44 US_ALU_ALPHA_INST_33 +0x4A48 US_ALU_ALPHA_INST_34 +0x4A4C US_ALU_ALPHA_INST_35 +0x4A50 US_ALU_ALPHA_INST_36 +0x4A54 US_ALU_ALPHA_INST_37 +0x4A58 US_ALU_ALPHA_INST_38 +0x4A5C US_ALU_ALPHA_INST_39 +0x4A60 US_ALU_ALPHA_INST_40 +0x4A64 US_ALU_ALPHA_INST_41 +0x4A68 US_ALU_ALPHA_INST_42 +0x4A6C US_ALU_ALPHA_INST_43 +0x4A70 US_ALU_ALPHA_INST_44 +0x4A74 US_ALU_ALPHA_INST_45 +0x4A78 US_ALU_ALPHA_INST_46 +0x4A7C US_ALU_ALPHA_INST_47 +0x4A80 US_ALU_ALPHA_INST_48 +0x4A84 US_ALU_ALPHA_INST_49 +0x4A88 US_ALU_ALPHA_INST_50 +0x4A8C US_ALU_ALPHA_INST_51 +0x4A90 US_ALU_ALPHA_INST_52 +0x4A94 US_ALU_ALPHA_INST_53 +0x4A98 US_ALU_ALPHA_INST_54 +0x4A9C US_ALU_ALPHA_INST_55 +0x4AA0 US_ALU_ALPHA_INST_56 +0x4AA4 US_ALU_ALPHA_INST_57 +0x4AA8 US_ALU_ALPHA_INST_58 +0x4AAC US_ALU_ALPHA_INST_59 +0x4AB0 US_ALU_ALPHA_INST_60 +0x4AB4 US_ALU_ALPHA_INST_61 +0x4AB8 US_ALU_ALPHA_INST_62 +0x4ABC US_ALU_ALPHA_INST_63 +0x4AC0 US_ALU_EXT_ADDR_0 +0x4AC4 US_ALU_EXT_ADDR_1 +0x4AC8 US_ALU_EXT_ADDR_2 +0x4ACC US_ALU_EXT_ADDR_3 +0x4AD0 US_ALU_EXT_ADDR_4 +0x4AD4 US_ALU_EXT_ADDR_5 +0x4AD8 US_ALU_EXT_ADDR_6 +0x4ADC US_ALU_EXT_ADDR_7 +0x4AE0 US_ALU_EXT_ADDR_8 +0x4AE4 US_ALU_EXT_ADDR_9 +0x4AE8 US_ALU_EXT_ADDR_10 +0x4AEC US_ALU_EXT_ADDR_11 +0x4AF0 US_ALU_EXT_ADDR_12 +0x4AF4 US_ALU_EXT_ADDR_13 +0x4AF8 US_ALU_EXT_ADDR_14 +0x4AFC US_ALU_EXT_ADDR_15 +0x4B00 US_ALU_EXT_ADDR_16 +0x4B04 US_ALU_EXT_ADDR_17 +0x4B08 US_ALU_EXT_ADDR_18 +0x4B0C US_ALU_EXT_ADDR_19 +0x4B10 US_ALU_EXT_ADDR_20 +0x4B14 US_ALU_EXT_ADDR_21 +0x4B18 US_ALU_EXT_ADDR_22 +0x4B1C US_ALU_EXT_ADDR_23 +0x4B20 US_ALU_EXT_ADDR_24 +0x4B24 US_ALU_EXT_ADDR_25 +0x4B28 US_ALU_EXT_ADDR_26 +0x4B2C US_ALU_EXT_ADDR_27 +0x4B30 US_ALU_EXT_ADDR_28 +0x4B34 US_ALU_EXT_ADDR_29 +0x4B38 US_ALU_EXT_ADDR_30 +0x4B3C US_ALU_EXT_ADDR_31 +0x4B40 US_ALU_EXT_ADDR_32 +0x4B44 US_ALU_EXT_ADDR_33 +0x4B48 US_ALU_EXT_ADDR_34 +0x4B4C US_ALU_EXT_ADDR_35 +0x4B50 US_ALU_EXT_ADDR_36 +0x4B54 US_ALU_EXT_ADDR_37 +0x4B58 US_ALU_EXT_ADDR_38 +0x4B5C US_ALU_EXT_ADDR_39 +0x4B60 US_ALU_EXT_ADDR_40 +0x4B64 US_ALU_EXT_ADDR_41 +0x4B68 US_ALU_EXT_ADDR_42 +0x4B6C US_ALU_EXT_ADDR_43 +0x4B70 US_ALU_EXT_ADDR_44 +0x4B74 US_ALU_EXT_ADDR_45 +0x4B78 US_ALU_EXT_ADDR_46 +0x4B7C US_ALU_EXT_ADDR_47 +0x4B80 US_ALU_EXT_ADDR_48 +0x4B84 US_ALU_EXT_ADDR_49 +0x4B88 US_ALU_EXT_ADDR_50 +0x4B8C US_ALU_EXT_ADDR_51 +0x4B90 US_ALU_EXT_ADDR_52 +0x4B94 US_ALU_EXT_ADDR_53 +0x4B98 US_ALU_EXT_ADDR_54 +0x4B9C US_ALU_EXT_ADDR_55 +0x4BA0 US_ALU_EXT_ADDR_56 +0x4BA4 US_ALU_EXT_ADDR_57 +0x4BA8 US_ALU_EXT_ADDR_58 +0x4BAC US_ALU_EXT_ADDR_59 +0x4BB0 US_ALU_EXT_ADDR_60 +0x4BB4 US_ALU_EXT_ADDR_61 +0x4BB8 US_ALU_EXT_ADDR_62 +0x4BBC US_ALU_EXT_ADDR_63 +0x4BC0 FG_FOG_BLEND +0x4BC4 FG_FOG_FACTOR +0x4BC8 FG_FOG_COLOR_R +0x4BCC FG_FOG_COLOR_G +0x4BD0 FG_FOG_COLOR_B +0x4BD4 FG_ALPHA_FUNC +0x4BD8 FG_DEPTH_SRC +0x4C00 US_ALU_CONST_R_0 +0x4C04 US_ALU_CONST_G_0 +0x4C08 US_ALU_CONST_B_0 +0x4C0C US_ALU_CONST_A_0 +0x4C10 US_ALU_CONST_R_1 +0x4C14 US_ALU_CONST_G_1 +0x4C18 US_ALU_CONST_B_1 +0x4C1C US_ALU_CONST_A_1 +0x4C20 US_ALU_CONST_R_2 +0x4C24 US_ALU_CONST_G_2 +0x4C28 US_ALU_CONST_B_2 +0x4C2C US_ALU_CONST_A_2 +0x4C30 US_ALU_CONST_R_3 +0x4C34 US_ALU_CONST_G_3 +0x4C38 US_ALU_CONST_B_3 +0x4C3C US_ALU_CONST_A_3 +0x4C40 US_ALU_CONST_R_4 +0x4C44 US_ALU_CONST_G_4 +0x4C48 US_ALU_CONST_B_4 +0x4C4C US_ALU_CONST_A_4 +0x4C50 US_ALU_CONST_R_5 +0x4C54 US_ALU_CONST_G_5 +0x4C58 US_ALU_CONST_B_5 +0x4C5C US_ALU_CONST_A_5 +0x4C60 US_ALU_CONST_R_6 +0x4C64 US_ALU_CONST_G_6 +0x4C68 US_ALU_CONST_B_6 +0x4C6C US_ALU_CONST_A_6 +0x4C70 US_ALU_CONST_R_7 +0x4C74 US_ALU_CONST_G_7 +0x4C78 US_ALU_CONST_B_7 +0x4C7C US_ALU_CONST_A_7 +0x4C80 US_ALU_CONST_R_8 +0x4C84 US_ALU_CONST_G_8 +0x4C88 US_ALU_CONST_B_8 +0x4C8C US_ALU_CONST_A_8 +0x4C90 US_ALU_CONST_R_9 +0x4C94 US_ALU_CONST_G_9 +0x4C98 US_ALU_CONST_B_9 +0x4C9C US_ALU_CONST_A_9 +0x4CA0 US_ALU_CONST_R_10 +0x4CA4 US_ALU_CONST_G_10 +0x4CA8 US_ALU_CONST_B_10 +0x4CAC US_ALU_CONST_A_10 +0x4CB0 US_ALU_CONST_R_11 +0x4CB4 US_ALU_CONST_G_11 +0x4CB8 US_ALU_CONST_B_11 +0x4CBC US_ALU_CONST_A_11 +0x4CC0 US_ALU_CONST_R_12 +0x4CC4 US_ALU_CONST_G_12 +0x4CC8 US_ALU_CONST_B_12 +0x4CCC US_ALU_CONST_A_12 +0x4CD0 US_ALU_CONST_R_13 +0x4CD4 US_ALU_CONST_G_13 +0x4CD8 US_ALU_CONST_B_13 +0x4CDC US_ALU_CONST_A_13 +0x4CE0 US_ALU_CONST_R_14 +0x4CE4 US_ALU_CONST_G_14 +0x4CE8 US_ALU_CONST_B_14 +0x4CEC US_ALU_CONST_A_14 +0x4CF0 US_ALU_CONST_R_15 +0x4CF4 US_ALU_CONST_G_15 +0x4CF8 US_ALU_CONST_B_15 +0x4CFC US_ALU_CONST_A_15 +0x4D00 US_ALU_CONST_R_16 +0x4D04 US_ALU_CONST_G_16 +0x4D08 US_ALU_CONST_B_16 +0x4D0C US_ALU_CONST_A_16 +0x4D10 US_ALU_CONST_R_17 +0x4D14 US_ALU_CONST_G_17 +0x4D18 US_ALU_CONST_B_17 +0x4D1C US_ALU_CONST_A_17 +0x4D20 US_ALU_CONST_R_18 +0x4D24 US_ALU_CONST_G_18 +0x4D28 US_ALU_CONST_B_18 +0x4D2C US_ALU_CONST_A_18 +0x4D30 US_ALU_CONST_R_19 +0x4D34 US_ALU_CONST_G_19 +0x4D38 US_ALU_CONST_B_19 +0x4D3C US_ALU_CONST_A_19 +0x4D40 US_ALU_CONST_R_20 +0x4D44 US_ALU_CONST_G_20 +0x4D48 US_ALU_CONST_B_20 +0x4D4C US_ALU_CONST_A_20 +0x4D50 US_ALU_CONST_R_21 +0x4D54 US_ALU_CONST_G_21 +0x4D58 US_ALU_CONST_B_21 +0x4D5C US_ALU_CONST_A_21 +0x4D60 US_ALU_CONST_R_22 +0x4D64 US_ALU_CONST_G_22 +0x4D68 US_ALU_CONST_B_22 +0x4D6C US_ALU_CONST_A_22 +0x4D70 US_ALU_CONST_R_23 +0x4D74 US_ALU_CONST_G_23 +0x4D78 US_ALU_CONST_B_23 +0x4D7C US_ALU_CONST_A_23 +0x4D80 US_ALU_CONST_R_24 +0x4D84 US_ALU_CONST_G_24 +0x4D88 US_ALU_CONST_B_24 +0x4D8C US_ALU_CONST_A_24 +0x4D90 US_ALU_CONST_R_25 +0x4D94 US_ALU_CONST_G_25 +0x4D98 US_ALU_CONST_B_25 +0x4D9C US_ALU_CONST_A_25 +0x4DA0 US_ALU_CONST_R_26 +0x4DA4 US_ALU_CONST_G_26 +0x4DA8 US_ALU_CONST_B_26 +0x4DAC US_ALU_CONST_A_26 +0x4DB0 US_ALU_CONST_R_27 +0x4DB4 US_ALU_CONST_G_27 +0x4DB8 US_ALU_CONST_B_27 +0x4DBC US_ALU_CONST_A_27 +0x4DC0 US_ALU_CONST_R_28 +0x4DC4 US_ALU_CONST_G_28 +0x4DC8 US_ALU_CONST_B_28 +0x4DCC US_ALU_CONST_A_28 +0x4DD0 US_ALU_CONST_R_29 +0x4DD4 US_ALU_CONST_G_29 +0x4DD8 US_ALU_CONST_B_29 +0x4DDC US_ALU_CONST_A_29 +0x4DE0 US_ALU_CONST_R_30 +0x4DE4 US_ALU_CONST_G_30 +0x4DE8 US_ALU_CONST_B_30 +0x4DEC US_ALU_CONST_A_30 +0x4DF0 US_ALU_CONST_R_31 +0x4DF4 US_ALU_CONST_G_31 +0x4DF8 US_ALU_CONST_B_31 +0x4DFC US_ALU_CONST_A_31 +0x4E04 RB3D_BLENDCNTL_R3 +0x4E08 RB3D_ABLENDCNTL_R3 +0x4E0C RB3D_COLOR_CHANNEL_MASK +0x4E10 RB3D_CONSTANT_COLOR +0x4E14 RB3D_COLOR_CLEAR_VALUE +0x4E18 RB3D_ROPCNTL_R3 +0x4E1C RB3D_CLRCMP_FLIPE_R3 +0x4E20 RB3D_CLRCMP_CLR_R3 +0x4E24 RB3D_CLRCMP_MSK_R3 +0x4E48 RB3D_DEBUG_CTL +0x4E4C RB3D_DSTCACHE_CTLSTAT_R3 +0x4E50 RB3D_DITHER_CTL +0x4E54 RB3D_CMASK_OFFSET0 +0x4E58 RB3D_CMASK_OFFSET1 +0x4E5C RB3D_CMASK_OFFSET2 +0x4E60 RB3D_CMASK_OFFSET3 +0x4E64 RB3D_CMASK_PITCH0 +0x4E68 RB3D_CMASK_PITCH1 +0x4E6C RB3D_CMASK_PITCH2 +0x4E70 RB3D_CMASK_PITCH3 +0x4E74 RB3D_CMASK_WRINDEX +0x4E78 RB3D_CMASK_DWORD +0x4E7C RB3D_CMASK_RDINDEX +0x4EA0 RB3D_DISCARD_SRC_PIXEL_LTE_THRESHOLD +0x4EA4 RB3D_DISCARD_SRC_PIXEL_GTE_THRESHOLD +0x4F04 ZB_ZSTENCILCNTL +0x4F08 ZB_STENCILREFMASK +0x4F14 ZB_ZTOP +0x4F18 ZB_ZCACHE_CTLSTAT +0x4F1C ZB_BW_CNTL +0x4F28 ZB_DEPTHCLEARVALUE +0x4F30 ZB_ZMASK_OFFSET +0x4F34 ZB_ZMASK_PITCH +0x4F38 ZB_ZMASK_WRINDEX +0x4F3C ZB_ZMASK_DWORD +0x4F40 ZB_ZMASK_RDINDEX +0x4F44 ZB_HIZ_OFFSET +0x4F48 ZB_HIZ_WRINDEX +0x4F4C ZB_HIZ_DWORD +0x4F50 ZB_HIZ_RDINDEX +0x4F54 ZB_HIZ_PITCH +0x4F58 ZB_ZPASS_DATA --- linux-2.6.32.orig/drivers/gpu/drm/radeon/reg_srcs/rs600 +++ linux-2.6.32/drivers/gpu/drm/radeon/reg_srcs/rs600 @@ -153,7 +153,7 @@ 0x42A4 SU_POLY_OFFSET_FRONT_SCALE 0x42A8 SU_POLY_OFFSET_FRONT_OFFSET 0x42AC SU_POLY_OFFSET_BACK_SCALE -0x42B0 SU_POLY_OFFSET_BACK_OFFSET +0x42B0 SU_POLY_OFFSET_BACK_OFFSET 0x42B4 SU_POLY_OFFSET_ENABLE 0x42B8 SU_CULL_MODE 0x42C0 SU_DEPTH_SCALE @@ -291,6 +291,8 @@ 0x46AC US_OUT_FMT_2 0x46B0 US_OUT_FMT_3 0x46B4 US_W_FMT +0x46B8 US_CODE_BANK +0x46BC US_CODE_EXT 0x46C0 US_ALU_RGB_ADDR_0 0x46C4 US_ALU_RGB_ADDR_1 0x46C8 US_ALU_RGB_ADDR_2 @@ -547,6 +549,70 @@ 0x4AB4 US_ALU_ALPHA_INST_61 0x4AB8 US_ALU_ALPHA_INST_62 0x4ABC US_ALU_ALPHA_INST_63 +0x4AC0 US_ALU_EXT_ADDR_0 +0x4AC4 US_ALU_EXT_ADDR_1 +0x4AC8 US_ALU_EXT_ADDR_2 +0x4ACC US_ALU_EXT_ADDR_3 +0x4AD0 US_ALU_EXT_ADDR_4 +0x4AD4 US_ALU_EXT_ADDR_5 +0x4AD8 US_ALU_EXT_ADDR_6 +0x4ADC US_ALU_EXT_ADDR_7 +0x4AE0 US_ALU_EXT_ADDR_8 +0x4AE4 US_ALU_EXT_ADDR_9 +0x4AE8 US_ALU_EXT_ADDR_10 +0x4AEC US_ALU_EXT_ADDR_11 +0x4AF0 US_ALU_EXT_ADDR_12 +0x4AF4 US_ALU_EXT_ADDR_13 +0x4AF8 US_ALU_EXT_ADDR_14 +0x4AFC US_ALU_EXT_ADDR_15 +0x4B00 US_ALU_EXT_ADDR_16 +0x4B04 US_ALU_EXT_ADDR_17 +0x4B08 US_ALU_EXT_ADDR_18 +0x4B0C US_ALU_EXT_ADDR_19 +0x4B10 US_ALU_EXT_ADDR_20 +0x4B14 US_ALU_EXT_ADDR_21 +0x4B18 US_ALU_EXT_ADDR_22 +0x4B1C US_ALU_EXT_ADDR_23 +0x4B20 US_ALU_EXT_ADDR_24 +0x4B24 US_ALU_EXT_ADDR_25 +0x4B28 US_ALU_EXT_ADDR_26 +0x4B2C US_ALU_EXT_ADDR_27 +0x4B30 US_ALU_EXT_ADDR_28 +0x4B34 US_ALU_EXT_ADDR_29 +0x4B38 US_ALU_EXT_ADDR_30 +0x4B3C US_ALU_EXT_ADDR_31 +0x4B40 US_ALU_EXT_ADDR_32 +0x4B44 US_ALU_EXT_ADDR_33 +0x4B48 US_ALU_EXT_ADDR_34 +0x4B4C US_ALU_EXT_ADDR_35 +0x4B50 US_ALU_EXT_ADDR_36 +0x4B54 US_ALU_EXT_ADDR_37 +0x4B58 US_ALU_EXT_ADDR_38 +0x4B5C US_ALU_EXT_ADDR_39 +0x4B60 US_ALU_EXT_ADDR_40 +0x4B64 US_ALU_EXT_ADDR_41 +0x4B68 US_ALU_EXT_ADDR_42 +0x4B6C US_ALU_EXT_ADDR_43 +0x4B70 US_ALU_EXT_ADDR_44 +0x4B74 US_ALU_EXT_ADDR_45 +0x4B78 US_ALU_EXT_ADDR_46 +0x4B7C US_ALU_EXT_ADDR_47 +0x4B80 US_ALU_EXT_ADDR_48 +0x4B84 US_ALU_EXT_ADDR_49 +0x4B88 US_ALU_EXT_ADDR_50 +0x4B8C US_ALU_EXT_ADDR_51 +0x4B90 US_ALU_EXT_ADDR_52 +0x4B94 US_ALU_EXT_ADDR_53 +0x4B98 US_ALU_EXT_ADDR_54 +0x4B9C US_ALU_EXT_ADDR_55 +0x4BA0 US_ALU_EXT_ADDR_56 +0x4BA4 US_ALU_EXT_ADDR_57 +0x4BA8 US_ALU_EXT_ADDR_58 +0x4BAC US_ALU_EXT_ADDR_59 +0x4BB0 US_ALU_EXT_ADDR_60 +0x4BB4 US_ALU_EXT_ADDR_61 +0x4BB8 US_ALU_EXT_ADDR_62 +0x4BBC US_ALU_EXT_ADDR_63 0x4BC0 FG_FOG_BLEND 0x4BC4 FG_FOG_FACTOR 0x4BC8 FG_FOG_COLOR_R @@ -705,9 +771,6 @@ 0x4E74 RB3D_CMASK_WRINDEX 0x4E78 RB3D_CMASK_DWORD 0x4E7C RB3D_CMASK_RDINDEX -0x4E80 RB3D_AARESOLVE_OFFSET -0x4E84 RB3D_AARESOLVE_PITCH -0x4E88 RB3D_AARESOLVE_CTL 0x4EA0 RB3D_DISCARD_SRC_PIXEL_LTE_THRESHOLD 0x4EA4 RB3D_DISCARD_SRC_PIXEL_GTE_THRESHOLD 0x4F04 ZB_ZSTENCILCNTL --- linux-2.6.32.orig/drivers/gpu/drm/radeon/reg_srcs/rv515 +++ linux-2.6.32/drivers/gpu/drm/radeon/reg_srcs/rv515 @@ -161,7 +161,12 @@ 0x401C GB_SELECT 0x4020 GB_AA_CONFIG 0x4024 GB_FIFO_SIZE +0x4028 GB_Z_PEQ_CONFIG 0x4100 TX_INVALTAGS +0x4114 SU_TEX_WRAP_PS3 +0x4118 PS3_ENABLE +0x411c PS3_VTX_FMT +0x4120 PS3_TEX_SOURCE 0x4200 GA_POINT_S0 0x4204 GA_POINT_T0 0x4208 GA_POINT_S1 @@ -171,6 +176,7 @@ 0x4230 GA_POINT_MINMAX 0x4234 GA_LINE_CNTL 0x4238 GA_LINE_STIPPLE_CONFIG +0x4258 GA_COLOR_CONTROL_PS3 0x4260 GA_LINE_STIPPLE_VALUE 0x4264 GA_LINE_S0 0x4268 GA_LINE_S1 @@ -459,9 +465,6 @@ 0x4E74 RB3D_CMASK_WRINDEX 0x4E78 RB3D_CMASK_DWORD 0x4E7C RB3D_CMASK_RDINDEX -0x4E80 RB3D_AARESOLVE_OFFSET -0x4E84 RB3D_AARESOLVE_PITCH -0x4E88 RB3D_AARESOLVE_CTL 0x4EA0 RB3D_DISCARD_SRC_PIXEL_LTE_THRESHOLD 0x4EA4 RB3D_DISCARD_SRC_PIXEL_GTE_THRESHOLD 0x4EF8 RB3D_CONSTANT_COLOR_AR --- linux-2.6.32.orig/drivers/gpu/drm/savage/savage_drv.c +++ linux-2.6.32/drivers/gpu/drm/savage/savage_drv.c @@ -50,7 +50,7 @@ .owner = THIS_MODULE, .open = drm_open, .release = drm_release, - .ioctl = drm_ioctl, + .unlocked_ioctl = drm_ioctl, .mmap = drm_mmap, .poll = drm_poll, .fasync = drm_fasync, --- linux-2.6.32.orig/drivers/gpu/drm/sis/sis_drv.c +++ linux-2.6.32/drivers/gpu/drm/sis/sis_drv.c @@ -80,7 +80,7 @@ .owner = THIS_MODULE, .open = drm_open, .release = drm_release, - .ioctl = drm_ioctl, + .unlocked_ioctl = drm_ioctl, .mmap = drm_mmap, .poll = drm_poll, .fasync = drm_fasync, --- linux-2.6.32.orig/drivers/gpu/drm/tdfx/tdfx_drv.c +++ linux-2.6.32/drivers/gpu/drm/tdfx/tdfx_drv.c @@ -48,7 +48,7 @@ .owner = THIS_MODULE, .open = drm_open, .release = drm_release, - .ioctl = drm_ioctl, + .unlocked_ioctl = drm_ioctl, .mmap = drm_mmap, .poll = drm_poll, .fasync = drm_fasync, --- linux-2.6.32.orig/drivers/gpu/drm/ttm/Makefile +++ linux-2.6.32/drivers/gpu/drm/ttm/Makefile @@ -3,6 +3,7 @@ ccflags-y := -Iinclude/drm ttm-y := ttm_agp_backend.o ttm_memory.o ttm_tt.o ttm_bo.o \ - ttm_bo_util.o ttm_bo_vm.o ttm_module.o ttm_global.o + ttm_bo_util.o ttm_bo_vm.o ttm_module.o ttm_global.o \ + ttm_object.o ttm_lock.o ttm_execbuf_util.o obj-$(CONFIG_DRM_TTM) += ttm.o --- linux-2.6.32.orig/drivers/gpu/drm/ttm/ttm_bo.c +++ linux-2.6.32/drivers/gpu/drm/ttm/ttm_bo.c @@ -27,6 +27,14 @@ /* * Authors: Thomas Hellstrom */ +/* Notes: + * + * We store bo pointer in drm_mm_node struct so we know which bo own a + * specific node. There is no protection on the pointer, thus to make + * sure things don't go berserk you have to access this pointer while + * holding the global lru lock and make sure anytime you free a node you + * reset the pointer to NULL. + */ #include "ttm/ttm_module.h" #include "ttm/ttm_bo_driver.h" @@ -51,6 +59,59 @@ .mode = S_IRUGO }; +static inline int ttm_mem_type_from_flags(uint32_t flags, uint32_t *mem_type) +{ + int i; + + for (i = 0; i <= TTM_PL_PRIV5; i++) + if (flags & (1 << i)) { + *mem_type = i; + return 0; + } + return -EINVAL; +} + +static void ttm_mem_type_debug(struct ttm_bo_device *bdev, int mem_type) +{ + struct ttm_mem_type_manager *man = &bdev->man[mem_type]; + + printk(KERN_ERR TTM_PFX " has_type: %d\n", man->has_type); + printk(KERN_ERR TTM_PFX " use_type: %d\n", man->use_type); + printk(KERN_ERR TTM_PFX " flags: 0x%08X\n", man->flags); + printk(KERN_ERR TTM_PFX " gpu_offset: 0x%08lX\n", man->gpu_offset); + printk(KERN_ERR TTM_PFX " io_offset: 0x%08lX\n", man->io_offset); + printk(KERN_ERR TTM_PFX " io_size: %ld\n", man->io_size); + printk(KERN_ERR TTM_PFX " size: %llu\n", man->size); + printk(KERN_ERR TTM_PFX " available_caching: 0x%08X\n", + man->available_caching); + printk(KERN_ERR TTM_PFX " default_caching: 0x%08X\n", + man->default_caching); + if (mem_type != TTM_PL_SYSTEM) { + spin_lock(&bdev->glob->lru_lock); + drm_mm_debug_table(&man->manager, TTM_PFX); + spin_unlock(&bdev->glob->lru_lock); + } +} + +static void ttm_bo_mem_space_debug(struct ttm_buffer_object *bo, + struct ttm_placement *placement) +{ + int i, ret, mem_type; + + printk(KERN_ERR TTM_PFX "No space for %p (%lu pages, %luK, %luM)\n", + bo, bo->mem.num_pages, bo->mem.size >> 10, + bo->mem.size >> 20); + for (i = 0; i < placement->num_placement; i++) { + ret = ttm_mem_type_from_flags(placement->placement[i], + &mem_type); + if (ret) + return; + printk(KERN_ERR TTM_PFX " placement[%d]=0x%08X (%d)\n", + i, placement->placement[i], mem_type); + ttm_mem_type_debug(bo->bdev, mem_type); + } +} + static ssize_t ttm_bo_global_show(struct kobject *kobj, struct attribute *attr, char *buffer) @@ -117,12 +178,13 @@ ret = wait_event_interruptible(bo->event_queue, atomic_read(&bo->reserved) == 0); if (unlikely(ret != 0)) - return -ERESTART; + return ret; } else { wait_event(bo->event_queue, atomic_read(&bo->reserved) == 0); } return 0; } +EXPORT_SYMBOL(ttm_bo_wait_unreserved); static void ttm_bo_add_to_lru(struct ttm_buffer_object *bo) { @@ -247,7 +309,6 @@ /* * Call bo->mutex locked. */ - static int ttm_bo_add_ttm(struct ttm_buffer_object *bo, bool zero_alloc) { struct ttm_bo_device *bdev = bo->bdev; @@ -275,14 +336,17 @@ bo->ttm = ttm_tt_create(bdev, bo->num_pages << PAGE_SHIFT, page_flags | TTM_PAGE_FLAG_USER, glob->dummy_read_page); - if (unlikely(bo->ttm == NULL)) + if (unlikely(bo->ttm == NULL)) { ret = -ENOMEM; - break; + break; + } ret = ttm_tt_set_user(bo->ttm, current, bo->buffer_start, bo->num_pages); - if (unlikely(ret != 0)) + if (unlikely(ret != 0)) { ttm_tt_destroy(bo->ttm); + bo->ttm = NULL; + } break; default: printk(KERN_ERR TTM_PFX "Illegal buffer object type\n"); @@ -328,14 +392,8 @@ } if (bo->mem.mem_type == TTM_PL_SYSTEM) { - - struct ttm_mem_reg *old_mem = &bo->mem; - uint32_t save_flags = old_mem->placement; - - *old_mem = *mem; + bo->mem = *mem; mem->mm_node = NULL; - ttm_flag_masked(&save_flags, mem->placement, - TTM_PL_MASK_MEMTYPE); goto moved; } @@ -370,7 +428,8 @@ bdev->man[bo->mem.mem_type].gpu_offset; bo->cur_placement = bo->mem.placement; spin_unlock(&bo->lock); - } + } else + bo->offset = 0; return 0; @@ -386,6 +445,43 @@ } /** + * Call bo::reserved and with the lru lock held. + * Will release GPU memory type usage on destruction. + * This is the place to put in driver specific hooks. + * Will release the bo::reserved lock and the + * lru lock on exit. + */ + +static void ttm_bo_cleanup_memtype_use(struct ttm_buffer_object *bo) +{ + struct ttm_bo_global *glob = bo->glob; + + if (bo->ttm) { + + /** + * Release the lru_lock, since we don't want to have + * an atomic requirement on ttm_tt[unbind|destroy]. + */ + + spin_unlock(&glob->lru_lock); + ttm_tt_unbind(bo->ttm); + ttm_tt_destroy(bo->ttm); + bo->ttm = NULL; + spin_lock(&glob->lru_lock); + } + + if (bo->mem.mm_node) { + drm_mm_put_block(bo->mem.mm_node); + bo->mem.mm_node = NULL; + } + + atomic_set(&bo->reserved, 0); + wake_up_all(&bo->event_queue); + spin_unlock(&glob->lru_lock); +} + + +/** * If bo idle, remove from delayed- and lru lists, and unref. * If not idle, and already on delayed list, do nothing. * If not idle, and not on delayed list, put on delayed list, @@ -400,6 +496,7 @@ int ret; spin_lock(&bo->lock); +retry: (void) ttm_bo_wait(bo, false, false, !remove_all); if (!bo->sync_obj) { @@ -408,30 +505,52 @@ spin_unlock(&bo->lock); spin_lock(&glob->lru_lock); - ret = ttm_bo_reserve_locked(bo, false, false, false, 0); - BUG_ON(ret); - if (bo->ttm) - ttm_tt_unbind(bo->ttm); + ret = ttm_bo_reserve_locked(bo, false, !remove_all, false, 0); - if (!list_empty(&bo->ddestroy)) { - list_del_init(&bo->ddestroy); - kref_put(&bo->list_kref, ttm_bo_ref_bug); + /** + * Someone else has the object reserved. Bail and retry. + */ + + if (unlikely(ret == -EBUSY)) { + spin_unlock(&glob->lru_lock); + spin_lock(&bo->lock); + goto requeue; } - if (bo->mem.mm_node) { - drm_mm_put_block(bo->mem.mm_node); - bo->mem.mm_node = NULL; + + /** + * We can re-check for sync object without taking + * the bo::lock since setting the sync object requires + * also bo::reserved. A busy object at this point may + * be caused by another thread starting an accelerated + * eviction. + */ + + if (unlikely(bo->sync_obj)) { + atomic_set(&bo->reserved, 0); + wake_up_all(&bo->event_queue); + spin_unlock(&glob->lru_lock); + spin_lock(&bo->lock); + if (remove_all) + goto retry; + else + goto requeue; } + put_count = ttm_bo_del_from_lru(bo); - spin_unlock(&glob->lru_lock); - atomic_set(&bo->reserved, 0); + if (!list_empty(&bo->ddestroy)) { + list_del_init(&bo->ddestroy); + ++put_count; + } + + ttm_bo_cleanup_memtype_use(bo); while (put_count--) - kref_put(&bo->list_kref, ttm_bo_release_list); + kref_put(&bo->list_kref, ttm_bo_ref_bug); return 0; } - +requeue: spin_lock(&glob->lru_lock); if (list_empty(&bo->ddestroy)) { void *sync_obj = bo->sync_obj; @@ -465,52 +584,44 @@ static int ttm_bo_delayed_delete(struct ttm_bo_device *bdev, bool remove_all) { struct ttm_bo_global *glob = bdev->glob; - struct ttm_buffer_object *entry, *nentry; - struct list_head *list, *next; - int ret; + struct ttm_buffer_object *entry = NULL; + int ret = 0; spin_lock(&glob->lru_lock); - list_for_each_safe(list, next, &bdev->ddestroy) { - entry = list_entry(list, struct ttm_buffer_object, ddestroy); - nentry = NULL; - - /* - * Protect the next list entry from destruction while we - * unlock the lru_lock. - */ + if (list_empty(&bdev->ddestroy)) + goto out_unlock; - if (next != &bdev->ddestroy) { - nentry = list_entry(next, struct ttm_buffer_object, - ddestroy); + entry = list_first_entry(&bdev->ddestroy, + struct ttm_buffer_object, ddestroy); + kref_get(&entry->list_kref); + + for (;;) { + struct ttm_buffer_object *nentry = NULL; + + if (entry->ddestroy.next != &bdev->ddestroy) { + nentry = list_first_entry(&entry->ddestroy, + struct ttm_buffer_object, ddestroy); kref_get(&nentry->list_kref); } - kref_get(&entry->list_kref); spin_unlock(&glob->lru_lock); ret = ttm_bo_cleanup_refs(entry, remove_all); kref_put(&entry->list_kref, ttm_bo_release_list); + entry = nentry; - spin_lock(&glob->lru_lock); - if (nentry) { - bool next_onlist = !list_empty(next); - spin_unlock(&glob->lru_lock); - kref_put(&nentry->list_kref, ttm_bo_release_list); - spin_lock(&glob->lru_lock); - /* - * Someone might have raced us and removed the - * next entry from the list. We don't bother restarting - * list traversal. - */ + if (ret || !entry) + goto out; - if (!next_onlist) - break; - } - if (ret) + spin_lock(&glob->lru_lock); + if (list_empty(&entry->ddestroy)) break; } - ret = !list_empty(&bdev->ddestroy); - spin_unlock(&glob->lru_lock); +out_unlock: + spin_unlock(&glob->lru_lock); +out: + if (entry) + kref_put(&entry->list_kref, ttm_bo_release_list); return ret; } @@ -554,24 +665,21 @@ } EXPORT_SYMBOL(ttm_bo_unref); -static int ttm_bo_evict(struct ttm_buffer_object *bo, unsigned mem_type, - bool interruptible, bool no_wait) +static int ttm_bo_evict(struct ttm_buffer_object *bo, bool interruptible, + bool no_wait) { - int ret = 0; struct ttm_bo_device *bdev = bo->bdev; struct ttm_bo_global *glob = bo->glob; struct ttm_mem_reg evict_mem; - uint32_t proposed_placement; - - if (bo->mem.mem_type != mem_type) - goto out; + struct ttm_placement placement; + int ret = 0; spin_lock(&bo->lock); ret = ttm_bo_wait(bo, false, interruptible, no_wait); spin_unlock(&bo->lock); if (unlikely(ret != 0)) { - if (ret != -ERESTART) { + if (ret != -ERESTARTSYS) { printk(KERN_ERR TTM_PFX "Failed to expire sync object before " "buffer eviction.\n"); @@ -584,116 +692,165 @@ evict_mem = bo->mem; evict_mem.mm_node = NULL; - proposed_placement = bdev->driver->evict_flags(bo); - - ret = ttm_bo_mem_space(bo, proposed_placement, - &evict_mem, interruptible, no_wait); - if (unlikely(ret != 0 && ret != -ERESTART)) - ret = ttm_bo_mem_space(bo, TTM_PL_FLAG_SYSTEM, - &evict_mem, interruptible, no_wait); - + placement.fpfn = 0; + placement.lpfn = 0; + placement.num_placement = 0; + placement.num_busy_placement = 0; + bdev->driver->evict_flags(bo, &placement); + ret = ttm_bo_mem_space(bo, &placement, &evict_mem, interruptible, + no_wait); if (ret) { - if (ret != -ERESTART) + if (ret != -ERESTARTSYS) { printk(KERN_ERR TTM_PFX "Failed to find memory space for " "buffer 0x%p eviction.\n", bo); + ttm_bo_mem_space_debug(bo, &placement); + } goto out; } ret = ttm_bo_handle_move_mem(bo, &evict_mem, true, interruptible, no_wait); if (ret) { - if (ret != -ERESTART) + if (ret != -ERESTARTSYS) printk(KERN_ERR TTM_PFX "Buffer eviction failed\n"); + spin_lock(&glob->lru_lock); + if (evict_mem.mm_node) { + evict_mem.mm_node->private = NULL; + drm_mm_put_block(evict_mem.mm_node); + evict_mem.mm_node = NULL; + } + spin_unlock(&glob->lru_lock); goto out; } - - spin_lock(&glob->lru_lock); - if (evict_mem.mm_node) { - drm_mm_put_block(evict_mem.mm_node); - evict_mem.mm_node = NULL; - } - spin_unlock(&glob->lru_lock); bo->evicted = true; out: return ret; } -/** - * Repeatedly evict memory from the LRU for @mem_type until we create enough - * space, or we've evicted everything and there isn't enough space. - */ -static int ttm_bo_mem_force_space(struct ttm_bo_device *bdev, - struct ttm_mem_reg *mem, - uint32_t mem_type, - bool interruptible, bool no_wait) +static int ttm_mem_evict_first(struct ttm_bo_device *bdev, + uint32_t mem_type, + bool interruptible, bool no_wait) { struct ttm_bo_global *glob = bdev->glob; - struct drm_mm_node *node; - struct ttm_buffer_object *entry; struct ttm_mem_type_manager *man = &bdev->man[mem_type]; - struct list_head *lru; - unsigned long num_pages = mem->num_pages; - int put_count = 0; - int ret; - -retry_pre_get: - ret = drm_mm_pre_get(&man->manager); - if (unlikely(ret != 0)) - return ret; + struct ttm_buffer_object *bo; + int ret, put_count = 0; +retry: spin_lock(&glob->lru_lock); - do { - node = drm_mm_search_free(&man->manager, num_pages, - mem->page_alignment, 1); - if (node) - break; + if (list_empty(&man->lru)) { + spin_unlock(&glob->lru_lock); + return -EBUSY; + } - lru = &man->lru; - if (list_empty(lru)) - break; + bo = list_first_entry(&man->lru, struct ttm_buffer_object, lru); + kref_get(&bo->list_kref); - entry = list_first_entry(lru, struct ttm_buffer_object, lru); - kref_get(&entry->list_kref); + ret = ttm_bo_reserve_locked(bo, false, true, false, 0); - ret = - ttm_bo_reserve_locked(entry, interruptible, no_wait, - false, 0); + if (unlikely(ret == -EBUSY)) { + spin_unlock(&glob->lru_lock); + if (likely(!no_wait)) + ret = ttm_bo_wait_unreserved(bo, interruptible); - if (likely(ret == 0)) - put_count = ttm_bo_del_from_lru(entry); + kref_put(&bo->list_kref, ttm_bo_release_list); - spin_unlock(&glob->lru_lock); + /** + * We *need* to retry after releasing the lru lock. + */ if (unlikely(ret != 0)) return ret; + goto retry; + } - while (put_count--) - kref_put(&entry->list_kref, ttm_bo_ref_bug); + put_count = ttm_bo_del_from_lru(bo); + spin_unlock(&glob->lru_lock); - ret = ttm_bo_evict(entry, mem_type, interruptible, no_wait); + BUG_ON(ret != 0); - ttm_bo_unreserve(entry); + while (put_count--) + kref_put(&bo->list_kref, ttm_bo_ref_bug); - kref_put(&entry->list_kref, ttm_bo_release_list); - if (ret) + ret = ttm_bo_evict(bo, interruptible, no_wait); + ttm_bo_unreserve(bo); + + kref_put(&bo->list_kref, ttm_bo_release_list); + return ret; +} + +static int ttm_bo_man_get_node(struct ttm_buffer_object *bo, + struct ttm_mem_type_manager *man, + struct ttm_placement *placement, + struct ttm_mem_reg *mem, + struct drm_mm_node **node) +{ + struct ttm_bo_global *glob = bo->glob; + unsigned long lpfn; + int ret; + + lpfn = placement->lpfn; + if (!lpfn) + lpfn = man->size; + *node = NULL; + do { + ret = drm_mm_pre_get(&man->manager); + if (unlikely(ret)) return ret; spin_lock(&glob->lru_lock); - } while (1); - - if (!node) { + *node = drm_mm_search_free_in_range(&man->manager, + mem->num_pages, mem->page_alignment, + placement->fpfn, lpfn, 1); + if (unlikely(*node == NULL)) { + spin_unlock(&glob->lru_lock); + return 0; + } + *node = drm_mm_get_block_atomic_range(*node, mem->num_pages, + mem->page_alignment, + placement->fpfn, + lpfn); spin_unlock(&glob->lru_lock); - return -ENOMEM; - } + } while (*node == NULL); + return 0; +} - node = drm_mm_get_block_atomic(node, num_pages, mem->page_alignment); - if (unlikely(!node)) { - spin_unlock(&glob->lru_lock); - goto retry_pre_get; - } +/** + * Repeatedly evict memory from the LRU for @mem_type until we create enough + * space, or we've evicted everything and there isn't enough space. + */ +static int ttm_bo_mem_force_space(struct ttm_buffer_object *bo, + uint32_t mem_type, + struct ttm_placement *placement, + struct ttm_mem_reg *mem, + bool interruptible, bool no_wait) +{ + struct ttm_bo_device *bdev = bo->bdev; + struct ttm_bo_global *glob = bdev->glob; + struct ttm_mem_type_manager *man = &bdev->man[mem_type]; + struct drm_mm_node *node; + int ret; - spin_unlock(&glob->lru_lock); + do { + ret = ttm_bo_man_get_node(bo, man, placement, mem, &node); + if (unlikely(ret != 0)) + return ret; + if (node) + break; + spin_lock(&glob->lru_lock); + if (list_empty(&man->lru)) { + spin_unlock(&glob->lru_lock); + break; + } + spin_unlock(&glob->lru_lock); + ret = ttm_mem_evict_first(bdev, mem_type, interruptible, + no_wait); + if (unlikely(ret != 0)) + return ret; + } while (1); + if (node == NULL) + return -ENOMEM; mem->mm_node = node; mem->mem_type = mem_type; return 0; @@ -724,7 +881,6 @@ return result; } - static bool ttm_bo_mt_compatible(struct ttm_mem_type_manager *man, bool disallow_fixed, uint32_t mem_type, @@ -757,66 +913,55 @@ * space. */ int ttm_bo_mem_space(struct ttm_buffer_object *bo, - uint32_t proposed_placement, - struct ttm_mem_reg *mem, - bool interruptible, bool no_wait) + struct ttm_placement *placement, + struct ttm_mem_reg *mem, + bool interruptible, bool no_wait) { struct ttm_bo_device *bdev = bo->bdev; - struct ttm_bo_global *glob = bo->glob; struct ttm_mem_type_manager *man; - - uint32_t num_prios = bdev->driver->num_mem_type_prio; - const uint32_t *prios = bdev->driver->mem_type_prio; - uint32_t i; uint32_t mem_type = TTM_PL_SYSTEM; uint32_t cur_flags = 0; bool type_found = false; bool type_ok = false; - bool has_eagain = false; + bool has_erestartsys = false; struct drm_mm_node *node = NULL; - int ret; + int i, ret; mem->mm_node = NULL; - for (i = 0; i < num_prios; ++i) { - mem_type = prios[i]; + for (i = 0; i < placement->num_placement; ++i) { + ret = ttm_mem_type_from_flags(placement->placement[i], + &mem_type); + if (ret) + return ret; man = &bdev->man[mem_type]; type_ok = ttm_bo_mt_compatible(man, - bo->type == ttm_bo_type_user, - mem_type, proposed_placement, - &cur_flags); + bo->type == ttm_bo_type_user, + mem_type, + placement->placement[i], + &cur_flags); if (!type_ok) continue; cur_flags = ttm_bo_select_caching(man, bo->mem.placement, cur_flags); + /* + * Use the access and other non-mapping-related flag bits from + * the memory placement flags to the current flags + */ + ttm_flag_masked(&cur_flags, placement->placement[i], + ~TTM_PL_MASK_MEMTYPE); if (mem_type == TTM_PL_SYSTEM) break; if (man->has_type && man->use_type) { type_found = true; - do { - ret = drm_mm_pre_get(&man->manager); - if (unlikely(ret)) - return ret; - - spin_lock(&glob->lru_lock); - node = drm_mm_search_free(&man->manager, - mem->num_pages, - mem->page_alignment, - 1); - if (unlikely(!node)) { - spin_unlock(&glob->lru_lock); - break; - } - node = drm_mm_get_block_atomic(node, - mem->num_pages, - mem-> - page_alignment); - spin_unlock(&glob->lru_lock); - } while (!node); + ret = ttm_bo_man_get_node(bo, man, placement, mem, + &node); + if (unlikely(ret)) + return ret; } if (node) break; @@ -826,67 +971,74 @@ mem->mm_node = node; mem->mem_type = mem_type; mem->placement = cur_flags; + if (node) + node->private = bo; return 0; } if (!type_found) return -EINVAL; - num_prios = bdev->driver->num_mem_busy_prio; - prios = bdev->driver->mem_busy_prio; - - for (i = 0; i < num_prios; ++i) { - mem_type = prios[i]; + for (i = 0; i < placement->num_busy_placement; ++i) { + ret = ttm_mem_type_from_flags(placement->busy_placement[i], + &mem_type); + if (ret) + return ret; man = &bdev->man[mem_type]; - if (!man->has_type) continue; - if (!ttm_bo_mt_compatible(man, - bo->type == ttm_bo_type_user, - mem_type, - proposed_placement, &cur_flags)) + bo->type == ttm_bo_type_user, + mem_type, + placement->busy_placement[i], + &cur_flags)) continue; cur_flags = ttm_bo_select_caching(man, bo->mem.placement, cur_flags); + /* + * Use the access and other non-mapping-related flag bits from + * the memory placement flags to the current flags + */ + ttm_flag_masked(&cur_flags, placement->busy_placement[i], + ~TTM_PL_MASK_MEMTYPE); - ret = ttm_bo_mem_force_space(bdev, mem, mem_type, - interruptible, no_wait); - if (ret == 0 && mem->mm_node) { + if (mem_type == TTM_PL_SYSTEM) { + mem->mem_type = mem_type; mem->placement = cur_flags; + mem->mm_node = NULL; return 0; } - if (ret == -ERESTART) - has_eagain = true; + ret = ttm_bo_mem_force_space(bo, mem_type, placement, mem, + interruptible, no_wait); + if (ret == 0 && mem->mm_node) { + mem->placement = cur_flags; + mem->mm_node->private = bo; + return 0; + } + if (ret == -ERESTARTSYS) + has_erestartsys = true; } - - ret = (has_eagain) ? -ERESTART : -ENOMEM; + ret = (has_erestartsys) ? -ERESTARTSYS : -ENOMEM; return ret; } EXPORT_SYMBOL(ttm_bo_mem_space); int ttm_bo_wait_cpu(struct ttm_buffer_object *bo, bool no_wait) { - int ret = 0; - if ((atomic_read(&bo->cpu_writers) > 0) && no_wait) return -EBUSY; - ret = wait_event_interruptible(bo->event_queue, - atomic_read(&bo->cpu_writers) == 0); - - if (ret == -ERESTARTSYS) - ret = -ERESTART; - - return ret; + return wait_event_interruptible(bo->event_queue, + atomic_read(&bo->cpu_writers) == 0); } +EXPORT_SYMBOL(ttm_bo_wait_cpu); int ttm_bo_move_buffer(struct ttm_buffer_object *bo, - uint32_t proposed_placement, - bool interruptible, bool no_wait) + struct ttm_placement *placement, + bool interruptible, bool no_wait) { struct ttm_bo_global *glob = bo->glob; int ret = 0; @@ -899,147 +1051,138 @@ * Have the driver move function wait for idle when necessary, * instead of doing it here. */ - spin_lock(&bo->lock); ret = ttm_bo_wait(bo, false, interruptible, no_wait); spin_unlock(&bo->lock); - if (ret) return ret; - mem.num_pages = bo->num_pages; mem.size = mem.num_pages << PAGE_SHIFT; mem.page_alignment = bo->mem.page_alignment; - /* * Determine where to move the buffer. */ - - ret = ttm_bo_mem_space(bo, proposed_placement, &mem, - interruptible, no_wait); + ret = ttm_bo_mem_space(bo, placement, &mem, interruptible, no_wait); if (ret) goto out_unlock; - ret = ttm_bo_handle_move_mem(bo, &mem, false, interruptible, no_wait); - out_unlock: if (ret && mem.mm_node) { spin_lock(&glob->lru_lock); + mem.mm_node->private = NULL; drm_mm_put_block(mem.mm_node); spin_unlock(&glob->lru_lock); } return ret; } -static int ttm_bo_mem_compat(uint32_t proposed_placement, +static int ttm_bo_mem_compat(struct ttm_placement *placement, struct ttm_mem_reg *mem) { - if ((proposed_placement & mem->placement & TTM_PL_MASK_MEM) == 0) - return 0; - if ((proposed_placement & mem->placement & TTM_PL_MASK_CACHING) == 0) - return 0; + int i; + struct drm_mm_node *node = mem->mm_node; - return 1; + if (node && placement->lpfn != 0 && + (node->start < placement->fpfn || + node->start + node->size > placement->lpfn)) + return -1; + + for (i = 0; i < placement->num_placement; i++) { + if ((placement->placement[i] & mem->placement & + TTM_PL_MASK_CACHING) && + (placement->placement[i] & mem->placement & + TTM_PL_MASK_MEM)) + return i; + } + return -1; } -int ttm_buffer_object_validate(struct ttm_buffer_object *bo, - uint32_t proposed_placement, - bool interruptible, bool no_wait) +int ttm_bo_validate(struct ttm_buffer_object *bo, + struct ttm_placement *placement, + bool interruptible, bool no_wait) { int ret; BUG_ON(!atomic_read(&bo->reserved)); - bo->proposed_placement = proposed_placement; - - TTM_DEBUG("Proposed placement 0x%08lx, Old flags 0x%08lx\n", - (unsigned long)proposed_placement, - (unsigned long)bo->mem.placement); - + /* Check that range is valid */ + if (placement->lpfn || placement->fpfn) + if (placement->fpfn > placement->lpfn || + (placement->lpfn - placement->fpfn) < bo->num_pages) + return -EINVAL; /* * Check whether we need to move buffer. */ - - if (!ttm_bo_mem_compat(bo->proposed_placement, &bo->mem)) { - ret = ttm_bo_move_buffer(bo, bo->proposed_placement, - interruptible, no_wait); - if (ret) { - if (ret != -ERESTART) - printk(KERN_ERR TTM_PFX - "Failed moving buffer. " - "Proposed placement 0x%08x\n", - bo->proposed_placement); - if (ret == -ENOMEM) - printk(KERN_ERR TTM_PFX - "Out of aperture space or " - "DRM memory quota.\n"); + ret = ttm_bo_mem_compat(placement, &bo->mem); + if (ret < 0) { + ret = ttm_bo_move_buffer(bo, placement, interruptible, no_wait); + if (ret) return ret; - } + } else { + /* + * Use the access and other non-mapping-related flag bits from + * the compatible memory placement flags to the active flags + */ + ttm_flag_masked(&bo->mem.placement, placement->placement[ret], + ~TTM_PL_MASK_MEMTYPE); } - /* * We might need to add a TTM. */ - if (bo->mem.mem_type == TTM_PL_SYSTEM && bo->ttm == NULL) { ret = ttm_bo_add_ttm(bo, true); if (ret) return ret; } - /* - * Validation has succeeded, move the access and other - * non-mapping-related flag bits from the proposed flags to - * the active flags - */ - - ttm_flag_masked(&bo->mem.placement, bo->proposed_placement, - ~TTM_PL_MASK_MEMTYPE); - return 0; } -EXPORT_SYMBOL(ttm_buffer_object_validate); +EXPORT_SYMBOL(ttm_bo_validate); -int -ttm_bo_check_placement(struct ttm_buffer_object *bo, - uint32_t set_flags, uint32_t clr_flags) +int ttm_bo_check_placement(struct ttm_buffer_object *bo, + struct ttm_placement *placement) { - uint32_t new_mask = set_flags | clr_flags; - - if ((bo->type == ttm_bo_type_user) && - (clr_flags & TTM_PL_FLAG_CACHED)) { - printk(KERN_ERR TTM_PFX - "User buffers require cache-coherent memory.\n"); - return -EINVAL; - } + int i; - if (!capable(CAP_SYS_ADMIN)) { - if (new_mask & TTM_PL_FLAG_NO_EVICT) { - printk(KERN_ERR TTM_PFX "Need to be root to modify" - " NO_EVICT status.\n"); + if (placement->fpfn || placement->lpfn) { + if (bo->mem.num_pages > (placement->lpfn - placement->fpfn)) { + printk(KERN_ERR TTM_PFX "Page number range to small " + "Need %lu pages, range is [%u, %u]\n", + bo->mem.num_pages, placement->fpfn, + placement->lpfn); return -EINVAL; } - - if ((clr_flags & bo->mem.placement & TTM_PL_MASK_MEMTYPE) && - (bo->mem.placement & TTM_PL_FLAG_NO_EVICT)) { - printk(KERN_ERR TTM_PFX - "Incompatible memory specification" - " for NO_EVICT buffer.\n"); - return -EINVAL; + } + for (i = 0; i < placement->num_placement; i++) { + if (!capable(CAP_SYS_ADMIN)) { + if (placement->placement[i] & TTM_PL_FLAG_NO_EVICT) { + printk(KERN_ERR TTM_PFX "Need to be root to " + "modify NO_EVICT status.\n"); + return -EINVAL; + } + } + } + for (i = 0; i < placement->num_busy_placement; i++) { + if (!capable(CAP_SYS_ADMIN)) { + if (placement->busy_placement[i] & TTM_PL_FLAG_NO_EVICT) { + printk(KERN_ERR TTM_PFX "Need to be root to " + "modify NO_EVICT status.\n"); + return -EINVAL; + } } } return 0; } -int ttm_buffer_object_init(struct ttm_bo_device *bdev, - struct ttm_buffer_object *bo, - unsigned long size, - enum ttm_bo_type type, - uint32_t flags, - uint32_t page_alignment, - unsigned long buffer_start, - bool interruptible, - struct file *persistant_swap_storage, - size_t acc_size, - void (*destroy) (struct ttm_buffer_object *)) +int ttm_bo_init(struct ttm_bo_device *bdev, + struct ttm_buffer_object *bo, + unsigned long size, + enum ttm_bo_type type, + struct ttm_placement *placement, + uint32_t page_alignment, + unsigned long buffer_start, + bool interruptible, + struct file *persistant_swap_storage, + size_t acc_size, + void (*destroy) (struct ttm_buffer_object *)) { int ret = 0; unsigned long num_pages; @@ -1065,6 +1208,7 @@ bo->glob = bdev->glob; bo->type = type; bo->num_pages = num_pages; + bo->mem.size = num_pages << PAGE_SHIFT; bo->mem.mem_type = TTM_PL_SYSTEM; bo->mem.num_pages = bo->num_pages; bo->mem.mm_node = NULL; @@ -1077,29 +1221,21 @@ bo->acc_size = acc_size; atomic_inc(&bo->glob->bo_count); - ret = ttm_bo_check_placement(bo, flags, 0ULL); + ret = ttm_bo_check_placement(bo, placement); if (unlikely(ret != 0)) goto out_err; /* - * If no caching attributes are set, accept any form of caching. - */ - - if ((flags & TTM_PL_MASK_CACHING) == 0) - flags |= TTM_PL_MASK_CACHING; - - /* * For ttm_bo_type_device buffers, allocate * address space from the device. */ - if (bo->type == ttm_bo_type_device) { ret = ttm_bo_setup_vm(bo); if (ret) goto out_err; } - ret = ttm_buffer_object_validate(bo, flags, interruptible, false); + ret = ttm_bo_validate(bo, placement, interruptible, false); if (ret) goto out_err; @@ -1112,7 +1248,7 @@ return ret; } -EXPORT_SYMBOL(ttm_buffer_object_init); +EXPORT_SYMBOL(ttm_bo_init); static inline size_t ttm_bo_size(struct ttm_bo_global *glob, unsigned long num_pages) @@ -1123,19 +1259,19 @@ return glob->ttm_bo_size + 2 * page_array_size; } -int ttm_buffer_object_create(struct ttm_bo_device *bdev, - unsigned long size, - enum ttm_bo_type type, - uint32_t flags, - uint32_t page_alignment, - unsigned long buffer_start, - bool interruptible, - struct file *persistant_swap_storage, - struct ttm_buffer_object **p_bo) +int ttm_bo_create(struct ttm_bo_device *bdev, + unsigned long size, + enum ttm_bo_type type, + struct ttm_placement *placement, + uint32_t page_alignment, + unsigned long buffer_start, + bool interruptible, + struct file *persistant_swap_storage, + struct ttm_buffer_object **p_bo) { struct ttm_buffer_object *bo; - int ret; struct ttm_mem_global *mem_glob = bdev->glob->mem_glob; + int ret; size_t acc_size = ttm_bo_size(bdev->glob, (size + PAGE_SIZE - 1) >> PAGE_SHIFT); @@ -1150,76 +1286,41 @@ return -ENOMEM; } - ret = ttm_buffer_object_init(bdev, bo, size, type, flags, - page_alignment, buffer_start, - interruptible, - persistant_swap_storage, acc_size, NULL); + ret = ttm_bo_init(bdev, bo, size, type, placement, page_alignment, + buffer_start, interruptible, + persistant_swap_storage, acc_size, NULL); if (likely(ret == 0)) *p_bo = bo; return ret; } -static int ttm_bo_leave_list(struct ttm_buffer_object *bo, - uint32_t mem_type, bool allow_errors) -{ - int ret; - - spin_lock(&bo->lock); - ret = ttm_bo_wait(bo, false, false, false); - spin_unlock(&bo->lock); - - if (ret && allow_errors) - goto out; - - if (bo->mem.mem_type == mem_type) - ret = ttm_bo_evict(bo, mem_type, false, false); - - if (ret) { - if (allow_errors) { - goto out; - } else { - ret = 0; - printk(KERN_ERR TTM_PFX "Cleanup eviction failed\n"); - } - } - -out: - return ret; -} - static int ttm_bo_force_list_clean(struct ttm_bo_device *bdev, - struct list_head *head, - unsigned mem_type, bool allow_errors) + unsigned mem_type, bool allow_errors) { + struct ttm_mem_type_manager *man = &bdev->man[mem_type]; struct ttm_bo_global *glob = bdev->glob; - struct ttm_buffer_object *entry; int ret; - int put_count; /* * Can't use standard list traversal since we're unlocking. */ spin_lock(&glob->lru_lock); - - while (!list_empty(head)) { - entry = list_first_entry(head, struct ttm_buffer_object, lru); - kref_get(&entry->list_kref); - ret = ttm_bo_reserve_locked(entry, false, false, false, 0); - put_count = ttm_bo_del_from_lru(entry); + while (!list_empty(&man->lru)) { spin_unlock(&glob->lru_lock); - while (put_count--) - kref_put(&entry->list_kref, ttm_bo_ref_bug); - BUG_ON(ret); - ret = ttm_bo_leave_list(entry, mem_type, allow_errors); - ttm_bo_unreserve(entry); - kref_put(&entry->list_kref, ttm_bo_release_list); + ret = ttm_mem_evict_first(bdev, mem_type, false, false); + if (ret) { + if (allow_errors) { + return ret; + } else { + printk(KERN_ERR TTM_PFX + "Cleanup eviction failed\n"); + } + } spin_lock(&glob->lru_lock); } - spin_unlock(&glob->lru_lock); - return 0; } @@ -1246,7 +1347,7 @@ ret = 0; if (mem_type > 0) { - ttm_bo_force_list_clean(bdev, &man->lru, mem_type, false); + ttm_bo_force_list_clean(bdev, mem_type, false); spin_lock(&glob->lru_lock); if (drm_mm_clean(&man->manager)) @@ -1279,12 +1380,12 @@ return 0; } - return ttm_bo_force_list_clean(bdev, &man->lru, mem_type, true); + return ttm_bo_force_list_clean(bdev, mem_type, true); } EXPORT_SYMBOL(ttm_bo_evict_mm); int ttm_bo_init_mm(struct ttm_bo_device *bdev, unsigned type, - unsigned long p_offset, unsigned long p_size) + unsigned long p_size) { int ret = -EINVAL; struct ttm_mem_type_manager *man; @@ -1314,7 +1415,7 @@ type); return ret; } - ret = drm_mm_init(&man->manager, p_offset, p_size); + ret = drm_mm_init(&man->manager, 0, p_size); if (ret) return ret; } @@ -1463,7 +1564,7 @@ * Initialize the system memory buffer type. * Other types need to be driver / IOCTL initialized. */ - ret = ttm_bo_init_mm(bdev, TTM_PL_SYSTEM, 0, 0); + ret = ttm_bo_init_mm(bdev, TTM_PL_SYSTEM, 0); if (unlikely(ret != 0)) goto out_no_sys; @@ -1693,7 +1794,7 @@ ret = wait_event_interruptible (bo->event_queue, atomic_read(&bo->reserved) == 0); if (unlikely(ret != 0)) - return -ERESTART; + return ret; } else { wait_event(bo->event_queue, atomic_read(&bo->reserved) == 0); @@ -1722,12 +1823,14 @@ ttm_bo_unreserve(bo); return ret; } +EXPORT_SYMBOL(ttm_bo_synccpu_write_grab); void ttm_bo_synccpu_write_release(struct ttm_buffer_object *bo) { if (atomic_dec_and_test(&bo->cpu_writers)) wake_up_all(&bo->event_queue); } +EXPORT_SYMBOL(ttm_bo_synccpu_write_release); /** * A buffer object shrink method that tries to swap out the first @@ -1808,6 +1911,9 @@ * anyone tries to access a ttm page. */ + if (bo->bdev->driver->swap_notify) + bo->bdev->driver->swap_notify(bo); + ret = ttm_tt_swapout(bo->ttm, bo->persistant_swap_storage); out: @@ -1828,3 +1934,4 @@ while (ttm_bo_swapout(&bdev->glob->shrink) == 0) ; } +EXPORT_SYMBOL(ttm_bo_swapout_all); --- linux-2.6.32.orig/drivers/gpu/drm/ttm/ttm_bo_util.c +++ linux-2.6.32/drivers/gpu/drm/ttm/ttm_bo_util.c @@ -53,7 +53,6 @@ { struct ttm_tt *ttm = bo->ttm; struct ttm_mem_reg *old_mem = &bo->mem; - uint32_t save_flags = old_mem->placement; int ret; if (old_mem->mem_type != TTM_PL_SYSTEM) { @@ -62,7 +61,6 @@ ttm_flag_masked(&old_mem->placement, TTM_PL_FLAG_SYSTEM, TTM_PL_MASK_MEM); old_mem->mem_type = TTM_PL_SYSTEM; - save_flags = old_mem->placement; } ret = ttm_tt_set_placement_caching(ttm, new_mem->placement); @@ -77,7 +75,7 @@ *old_mem = *new_mem; new_mem->mm_node = NULL; - ttm_flag_masked(&save_flags, new_mem->placement, TTM_PL_MASK_MEMTYPE); + return 0; } EXPORT_SYMBOL(ttm_bo_move_ttm); @@ -219,7 +217,6 @@ void *old_iomap; void *new_iomap; int ret; - uint32_t save_flags = old_mem->placement; unsigned long i; unsigned long page; unsigned long add = 0; @@ -270,7 +267,6 @@ *old_mem = *new_mem; new_mem->mm_node = NULL; - ttm_flag_masked(&save_flags, new_mem->placement, TTM_PL_MASK_MEMTYPE); if ((man->flags & TTM_MEMTYPE_FLAG_FIXED) && (ttm != NULL)) { ttm_tt_unbind(ttm); @@ -330,6 +326,7 @@ INIT_LIST_HEAD(&fbo->lru); INIT_LIST_HEAD(&fbo->swap); fbo->vm_node = NULL; + atomic_set(&fbo->cpu_writers, 0); fbo->sync_obj = driver->sync_obj_ref(bo->sync_obj); if (fbo->mem.mm_node) @@ -369,6 +366,7 @@ #endif return tmp; } +EXPORT_SYMBOL(ttm_io_prot); static int ttm_bo_ioremap(struct ttm_buffer_object *bo, unsigned long bus_base, @@ -427,7 +425,7 @@ /* * We need to use vmap to get the desired page protection - * or to make the buffer object look contigous. + * or to make the buffer object look contiguous. */ prot = (mem->placement & TTM_PL_FLAG_CACHED) ? PAGE_KERNEL : @@ -536,7 +534,6 @@ struct ttm_mem_type_manager *man = &bdev->man[new_mem->mem_type]; struct ttm_mem_reg *old_mem = &bo->mem; int ret; - uint32_t save_flags = old_mem->placement; struct ttm_buffer_object *ghost_obj; void *tmp_obj = NULL; @@ -597,7 +594,7 @@ *old_mem = *new_mem; new_mem->mm_node = NULL; - ttm_flag_masked(&save_flags, new_mem->placement, TTM_PL_MASK_MEMTYPE); + return 0; } EXPORT_SYMBOL(ttm_bo_move_accel_cleanup); --- linux-2.6.32.orig/drivers/gpu/drm/ttm/ttm_bo_vm.c +++ linux-2.6.32/drivers/gpu/drm/ttm/ttm_bo_vm.c @@ -114,7 +114,7 @@ ret = ttm_bo_wait(bo, false, true, false); spin_unlock(&bo->lock); if (unlikely(ret != 0)) { - retval = (ret != -ERESTART) ? + retval = (ret != -ERESTARTSYS) ? VM_FAULT_SIGBUS : VM_FAULT_NOPAGE; goto out_unlock; } @@ -320,7 +320,7 @@ return -EFAULT; driver = bo->bdev->driver; - if (unlikely(driver->verify_access)) { + if (unlikely(!driver->verify_access)) { ret = -EPERM; goto out_unref; } @@ -349,9 +349,6 @@ switch (ret) { case 0: break; - case -ERESTART: - ret = -EINTR; - goto out_unref; case -EBUSY: ret = -EAGAIN; goto out_unref; @@ -421,8 +418,6 @@ switch (ret) { case 0: break; - case -ERESTART: - return -EINTR; case -EBUSY: return -EAGAIN; default: --- linux-2.6.32.orig/drivers/gpu/drm/ttm/ttm_lock.c +++ linux-2.6.32/drivers/gpu/drm/ttm/ttm_lock.c @@ -0,0 +1,313 @@ +/************************************************************************** + * + * Copyright (c) 2007-2009 VMware, Inc., Palo Alto, CA., 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 + */ + +#include "ttm/ttm_lock.h" +#include "ttm/ttm_module.h" +#include +#include +#include +#include +#include + +#define TTM_WRITE_LOCK_PENDING (1 << 0) +#define TTM_VT_LOCK_PENDING (1 << 1) +#define TTM_SUSPEND_LOCK_PENDING (1 << 2) +#define TTM_VT_LOCK (1 << 3) +#define TTM_SUSPEND_LOCK (1 << 4) + +void ttm_lock_init(struct ttm_lock *lock) +{ + spin_lock_init(&lock->lock); + init_waitqueue_head(&lock->queue); + lock->rw = 0; + lock->flags = 0; + lock->kill_takers = false; + lock->signal = SIGKILL; +} +EXPORT_SYMBOL(ttm_lock_init); + +void ttm_read_unlock(struct ttm_lock *lock) +{ + spin_lock(&lock->lock); + if (--lock->rw == 0) + wake_up_all(&lock->queue); + spin_unlock(&lock->lock); +} +EXPORT_SYMBOL(ttm_read_unlock); + +static bool __ttm_read_lock(struct ttm_lock *lock) +{ + bool locked = false; + + spin_lock(&lock->lock); + if (unlikely(lock->kill_takers)) { + send_sig(lock->signal, current, 0); + spin_unlock(&lock->lock); + return false; + } + if (lock->rw >= 0 && lock->flags == 0) { + ++lock->rw; + locked = true; + } + spin_unlock(&lock->lock); + return locked; +} + +int ttm_read_lock(struct ttm_lock *lock, bool interruptible) +{ + int ret = 0; + + if (interruptible) + ret = wait_event_interruptible(lock->queue, + __ttm_read_lock(lock)); + else + wait_event(lock->queue, __ttm_read_lock(lock)); + return ret; +} +EXPORT_SYMBOL(ttm_read_lock); + +static bool __ttm_read_trylock(struct ttm_lock *lock, bool *locked) +{ + bool block = true; + + *locked = false; + + spin_lock(&lock->lock); + if (unlikely(lock->kill_takers)) { + send_sig(lock->signal, current, 0); + spin_unlock(&lock->lock); + return false; + } + if (lock->rw >= 0 && lock->flags == 0) { + ++lock->rw; + block = false; + *locked = true; + } else if (lock->flags == 0) { + block = false; + } + spin_unlock(&lock->lock); + + return !block; +} + +int ttm_read_trylock(struct ttm_lock *lock, bool interruptible) +{ + int ret = 0; + bool locked; + + if (interruptible) + ret = wait_event_interruptible + (lock->queue, __ttm_read_trylock(lock, &locked)); + else + wait_event(lock->queue, __ttm_read_trylock(lock, &locked)); + + if (unlikely(ret != 0)) { + BUG_ON(locked); + return ret; + } + + return (locked) ? 0 : -EBUSY; +} + +void ttm_write_unlock(struct ttm_lock *lock) +{ + spin_lock(&lock->lock); + lock->rw = 0; + wake_up_all(&lock->queue); + spin_unlock(&lock->lock); +} +EXPORT_SYMBOL(ttm_write_unlock); + +static bool __ttm_write_lock(struct ttm_lock *lock) +{ + bool locked = false; + + spin_lock(&lock->lock); + if (unlikely(lock->kill_takers)) { + send_sig(lock->signal, current, 0); + spin_unlock(&lock->lock); + return false; + } + if (lock->rw == 0 && ((lock->flags & ~TTM_WRITE_LOCK_PENDING) == 0)) { + lock->rw = -1; + lock->flags &= ~TTM_WRITE_LOCK_PENDING; + locked = true; + } else { + lock->flags |= TTM_WRITE_LOCK_PENDING; + } + spin_unlock(&lock->lock); + return locked; +} + +int ttm_write_lock(struct ttm_lock *lock, bool interruptible) +{ + int ret = 0; + + if (interruptible) { + ret = wait_event_interruptible(lock->queue, + __ttm_write_lock(lock)); + if (unlikely(ret != 0)) { + spin_lock(&lock->lock); + lock->flags &= ~TTM_WRITE_LOCK_PENDING; + wake_up_all(&lock->queue); + spin_unlock(&lock->lock); + } + } else + wait_event(lock->queue, __ttm_read_lock(lock)); + + return ret; +} +EXPORT_SYMBOL(ttm_write_lock); + +void ttm_write_lock_downgrade(struct ttm_lock *lock) +{ + spin_lock(&lock->lock); + lock->rw = 1; + wake_up_all(&lock->queue); + spin_unlock(&lock->lock); +} + +static int __ttm_vt_unlock(struct ttm_lock *lock) +{ + int ret = 0; + + spin_lock(&lock->lock); + if (unlikely(!(lock->flags & TTM_VT_LOCK))) + ret = -EINVAL; + lock->flags &= ~TTM_VT_LOCK; + wake_up_all(&lock->queue); + spin_unlock(&lock->lock); + printk(KERN_INFO TTM_PFX "vt unlock.\n"); + + return ret; +} + +static void ttm_vt_lock_remove(struct ttm_base_object **p_base) +{ + struct ttm_base_object *base = *p_base; + struct ttm_lock *lock = container_of(base, struct ttm_lock, base); + int ret; + + *p_base = NULL; + ret = __ttm_vt_unlock(lock); + BUG_ON(ret != 0); +} + +static bool __ttm_vt_lock(struct ttm_lock *lock) +{ + bool locked = false; + + spin_lock(&lock->lock); + if (lock->rw == 0) { + lock->flags &= ~TTM_VT_LOCK_PENDING; + lock->flags |= TTM_VT_LOCK; + locked = true; + } else { + lock->flags |= TTM_VT_LOCK_PENDING; + } + spin_unlock(&lock->lock); + return locked; +} + +int ttm_vt_lock(struct ttm_lock *lock, + bool interruptible, + struct ttm_object_file *tfile) +{ + int ret = 0; + + if (interruptible) { + ret = wait_event_interruptible(lock->queue, + __ttm_vt_lock(lock)); + if (unlikely(ret != 0)) { + spin_lock(&lock->lock); + lock->flags &= ~TTM_VT_LOCK_PENDING; + wake_up_all(&lock->queue); + spin_unlock(&lock->lock); + return ret; + } + } else + wait_event(lock->queue, __ttm_vt_lock(lock)); + + /* + * Add a base-object, the destructor of which will + * make sure the lock is released if the client dies + * while holding it. + */ + + ret = ttm_base_object_init(tfile, &lock->base, false, + ttm_lock_type, &ttm_vt_lock_remove, NULL); + if (ret) + (void)__ttm_vt_unlock(lock); + else { + lock->vt_holder = tfile; + printk(KERN_INFO TTM_PFX "vt lock.\n"); + } + + return ret; +} +EXPORT_SYMBOL(ttm_vt_lock); + +int ttm_vt_unlock(struct ttm_lock *lock) +{ + return ttm_ref_object_base_unref(lock->vt_holder, + lock->base.hash.key, TTM_REF_USAGE); +} +EXPORT_SYMBOL(ttm_vt_unlock); + +void ttm_suspend_unlock(struct ttm_lock *lock) +{ + spin_lock(&lock->lock); + lock->flags &= ~TTM_SUSPEND_LOCK; + wake_up_all(&lock->queue); + spin_unlock(&lock->lock); +} +EXPORT_SYMBOL(ttm_suspend_unlock); + +static bool __ttm_suspend_lock(struct ttm_lock *lock) +{ + bool locked = false; + + spin_lock(&lock->lock); + if (lock->rw == 0) { + lock->flags &= ~TTM_SUSPEND_LOCK_PENDING; + lock->flags |= TTM_SUSPEND_LOCK; + locked = true; + } else { + lock->flags |= TTM_SUSPEND_LOCK_PENDING; + } + spin_unlock(&lock->lock); + return locked; +} + +void ttm_suspend_lock(struct ttm_lock *lock) +{ + wait_event(lock->queue, __ttm_suspend_lock(lock)); +} +EXPORT_SYMBOL(ttm_suspend_lock); --- linux-2.6.32.orig/drivers/gpu/drm/ttm/ttm_memory.c +++ linux-2.6.32/drivers/gpu/drm/ttm/ttm_memory.c @@ -274,16 +274,17 @@ static int ttm_mem_init_highmem_zone(struct ttm_mem_global *glob, const struct sysinfo *si) { - struct ttm_mem_zone *zone = kzalloc(sizeof(*zone), GFP_KERNEL); + struct ttm_mem_zone *zone; uint64_t mem; int ret; - if (unlikely(!zone)) - return -ENOMEM; - if (si->totalhigh == 0) return 0; + zone = kzalloc(sizeof(*zone), GFP_KERNEL); + if (unlikely(!zone)) + return -ENOMEM; + mem = si->totalram; mem *= si->mem_unit; @@ -322,8 +323,10 @@ * No special dma32 zone needed. */ - if (mem <= ((uint64_t) 1ULL << 32)) + if (mem <= ((uint64_t) 1ULL << 32)) { + kfree(zone); return 0; + } /* * Limit max dma32 memory to 4GB for now @@ -460,6 +463,7 @@ { return ttm_mem_global_free_zone(glob, NULL, amount); } +EXPORT_SYMBOL(ttm_mem_global_free); static int ttm_mem_global_reserve(struct ttm_mem_global *glob, struct ttm_mem_zone *single_zone, @@ -533,6 +537,7 @@ return ttm_mem_global_alloc_zone(glob, NULL, memory, no_wait, interruptible); } +EXPORT_SYMBOL(ttm_mem_global_alloc); int ttm_mem_global_alloc_page(struct ttm_mem_global *glob, struct page *page, @@ -588,3 +593,4 @@ } return 0; } +EXPORT_SYMBOL(ttm_round_pot); --- linux-2.6.32.orig/drivers/gpu/drm/ttm/ttm_tt.c +++ linux-2.6.32/drivers/gpu/drm/ttm/ttm_tt.c @@ -192,26 +192,38 @@ ttm->state = tt_unbound; return 0; } +EXPORT_SYMBOL(ttm_tt_populate); #ifdef CONFIG_X86 static inline int ttm_tt_set_page_caching(struct page *p, - enum ttm_caching_state c_state) + enum ttm_caching_state c_old, + enum ttm_caching_state c_new) { + int ret = 0; + if (PageHighMem(p)) return 0; - switch (c_state) { - case tt_cached: - return set_pages_wb(p, 1); - case tt_wc: - return set_memory_wc((unsigned long) page_address(p), 1); - default: - return set_pages_uc(p, 1); + if (c_old != tt_cached) { + /* p isn't in the default caching state, set it to + * writeback first to free its current memtype. */ + + ret = set_pages_wb(p, 1); + if (ret) + return ret; } + + if (c_new == tt_wc) + ret = set_memory_wc((unsigned long) page_address(p), 1); + else if (c_new == tt_uncached) + ret = set_pages_uc(p, 1); + + return ret; } #else /* CONFIG_X86 */ static inline int ttm_tt_set_page_caching(struct page *p, - enum ttm_caching_state c_state) + enum ttm_caching_state c_old, + enum ttm_caching_state c_new) { return 0; } @@ -244,7 +256,9 @@ for (i = 0; i < ttm->num_pages; ++i) { cur_page = ttm->pages[i]; if (likely(cur_page != NULL)) { - ret = ttm_tt_set_page_caching(cur_page, c_state); + ret = ttm_tt_set_page_caching(cur_page, + ttm->caching_state, + c_state); if (unlikely(ret != 0)) goto out_err; } @@ -258,7 +272,7 @@ for (j = 0; j < i; ++j) { cur_page = ttm->pages[j]; if (likely(cur_page != NULL)) { - (void)ttm_tt_set_page_caching(cur_page, + (void)ttm_tt_set_page_caching(cur_page, c_state, ttm->caching_state); } } @@ -466,7 +480,7 @@ void *from_virtual; void *to_virtual; int i; - int ret; + int ret = -ENOMEM; if (ttm->page_flags & TTM_PAGE_FLAG_USER) { ret = ttm_tt_set_user(ttm, ttm->tsk, ttm->start, @@ -485,8 +499,10 @@ for (i = 0; i < ttm->num_pages; ++i) { from_page = read_mapping_page(swap_space, i, NULL); - if (IS_ERR(from_page)) + if (IS_ERR(from_page)) { + ret = PTR_ERR(from_page); goto out_err; + } to_page = __ttm_tt_get_page(ttm, i); if (unlikely(to_page == NULL)) goto out_err; @@ -509,7 +525,7 @@ return 0; out_err: ttm_tt_free_alloced_pages(ttm); - return -ENOMEM; + return ret; } int ttm_tt_swapout(struct ttm_tt *ttm, struct file *persistant_swap_storage) @@ -521,6 +537,7 @@ void *from_virtual; void *to_virtual; int i; + int ret = -ENOMEM; BUG_ON(ttm->state != tt_unbound && ttm->state != tt_unpopulated); BUG_ON(ttm->caching_state != tt_cached); @@ -543,7 +560,7 @@ 0); if (unlikely(IS_ERR(swap_storage))) { printk(KERN_ERR "Failed allocating swap storage.\n"); - return -ENOMEM; + return PTR_ERR(swap_storage); } } else swap_storage = persistant_swap_storage; @@ -555,9 +572,10 @@ if (unlikely(from_page == NULL)) continue; to_page = read_mapping_page(swap_space, i, NULL); - if (unlikely(to_page == NULL)) + if (unlikely(IS_ERR(to_page))) { + ret = PTR_ERR(to_page); goto out_err; - + } preempt_disable(); from_virtual = kmap_atomic(from_page, KM_USER0); to_virtual = kmap_atomic(to_page, KM_USER1); @@ -581,5 +599,5 @@ if (!persistant_swap_storage) fput(swap_storage); - return -ENOMEM; + return ret; } --- linux-2.6.32.orig/drivers/gpu/drm/ttm/ttm_execbuf_util.c +++ linux-2.6.32/drivers/gpu/drm/ttm/ttm_execbuf_util.c @@ -0,0 +1,117 @@ +/************************************************************************** + * + * Copyright (c) 2006-2009 VMware, Inc., Palo Alto, CA., 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. + * + **************************************************************************/ + +#include "ttm/ttm_execbuf_util.h" +#include "ttm/ttm_bo_driver.h" +#include "ttm/ttm_placement.h" +#include +#include +#include + +void ttm_eu_backoff_reservation(struct list_head *list) +{ + struct ttm_validate_buffer *entry; + + list_for_each_entry(entry, list, head) { + struct ttm_buffer_object *bo = entry->bo; + if (!entry->reserved) + continue; + + entry->reserved = false; + ttm_bo_unreserve(bo); + } +} +EXPORT_SYMBOL(ttm_eu_backoff_reservation); + +/* + * Reserve buffers for validation. + * + * If a buffer in the list is marked for CPU access, we back off and + * wait for that buffer to become free for GPU access. + * + * If a buffer is reserved for another validation, the validator with + * the highest validation sequence backs off and waits for that buffer + * to become unreserved. This prevents deadlocks when validating multiple + * buffers in different orders. + */ + +int ttm_eu_reserve_buffers(struct list_head *list, uint32_t val_seq) +{ + struct ttm_validate_buffer *entry; + int ret; + +retry: + list_for_each_entry(entry, list, head) { + struct ttm_buffer_object *bo = entry->bo; + + entry->reserved = false; + ret = ttm_bo_reserve(bo, true, false, true, val_seq); + if (ret != 0) { + ttm_eu_backoff_reservation(list); + if (ret == -EAGAIN) { + ret = ttm_bo_wait_unreserved(bo, true); + if (unlikely(ret != 0)) + return ret; + goto retry; + } else + return ret; + } + + entry->reserved = true; + if (unlikely(atomic_read(&bo->cpu_writers) > 0)) { + ttm_eu_backoff_reservation(list); + ret = ttm_bo_wait_cpu(bo, false); + if (ret) + return ret; + goto retry; + } + } + return 0; +} +EXPORT_SYMBOL(ttm_eu_reserve_buffers); + +void ttm_eu_fence_buffer_objects(struct list_head *list, void *sync_obj) +{ + struct ttm_validate_buffer *entry; + + list_for_each_entry(entry, list, head) { + struct ttm_buffer_object *bo = entry->bo; + struct ttm_bo_driver *driver = bo->bdev->driver; + void *old_sync_obj; + + spin_lock(&bo->lock); + old_sync_obj = bo->sync_obj; + bo->sync_obj = driver->sync_obj_ref(sync_obj); + bo->sync_obj_arg = entry->new_sync_obj_arg; + spin_unlock(&bo->lock); + ttm_bo_unreserve(bo); + entry->reserved = false; + if (old_sync_obj) + driver->sync_obj_unref(&old_sync_obj); + } +} +EXPORT_SYMBOL(ttm_eu_fence_buffer_objects); --- linux-2.6.32.orig/drivers/gpu/drm/ttm/ttm_object.c +++ linux-2.6.32/drivers/gpu/drm/ttm/ttm_object.c @@ -0,0 +1,452 @@ +/************************************************************************** + * + * Copyright (c) 2009 VMware, Inc., Palo Alto, CA., 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 + */ +/** @file ttm_ref_object.c + * + * Base- and reference object implementation for the various + * ttm objects. Implements reference counting, minimal security checks + * and release on file close. + */ + +/** + * struct ttm_object_file + * + * @tdev: Pointer to the ttm_object_device. + * + * @lock: Lock that protects the ref_list list and the + * ref_hash hash tables. + * + * @ref_list: List of ttm_ref_objects to be destroyed at + * file release. + * + * @ref_hash: Hash tables of ref objects, one per ttm_ref_type, + * for fast lookup of ref objects given a base object. + */ + +#include "ttm/ttm_object.h" +#include "ttm/ttm_module.h" +#include +#include +#include +#include +#include + +struct ttm_object_file { + struct ttm_object_device *tdev; + rwlock_t lock; + struct list_head ref_list; + struct drm_open_hash ref_hash[TTM_REF_NUM]; + struct kref refcount; +}; + +/** + * struct ttm_object_device + * + * @object_lock: lock that protects the object_hash hash table. + * + * @object_hash: hash table for fast lookup of object global names. + * + * @object_count: Per device object count. + * + * This is the per-device data structure needed for ttm object management. + */ + +struct ttm_object_device { + rwlock_t object_lock; + struct drm_open_hash object_hash; + atomic_t object_count; + struct ttm_mem_global *mem_glob; +}; + +/** + * struct ttm_ref_object + * + * @hash: Hash entry for the per-file object reference hash. + * + * @head: List entry for the per-file list of ref-objects. + * + * @kref: Ref count. + * + * @obj: Base object this ref object is referencing. + * + * @ref_type: Type of ref object. + * + * This is similar to an idr object, but it also has a hash table entry + * that allows lookup with a pointer to the referenced object as a key. In + * that way, one can easily detect whether a base object is referenced by + * a particular ttm_object_file. It also carries a ref count to avoid creating + * multiple ref objects if a ttm_object_file references the same base + * object more than once. + */ + +struct ttm_ref_object { + struct drm_hash_item hash; + struct list_head head; + struct kref kref; + enum ttm_ref_type ref_type; + struct ttm_base_object *obj; + struct ttm_object_file *tfile; +}; + +static inline struct ttm_object_file * +ttm_object_file_ref(struct ttm_object_file *tfile) +{ + kref_get(&tfile->refcount); + return tfile; +} + +static void ttm_object_file_destroy(struct kref *kref) +{ + struct ttm_object_file *tfile = + container_of(kref, struct ttm_object_file, refcount); + + kfree(tfile); +} + + +static inline void ttm_object_file_unref(struct ttm_object_file **p_tfile) +{ + struct ttm_object_file *tfile = *p_tfile; + + *p_tfile = NULL; + kref_put(&tfile->refcount, ttm_object_file_destroy); +} + + +int ttm_base_object_init(struct ttm_object_file *tfile, + struct ttm_base_object *base, + bool shareable, + enum ttm_object_type object_type, + void (*refcount_release) (struct ttm_base_object **), + void (*ref_obj_release) (struct ttm_base_object *, + enum ttm_ref_type ref_type)) +{ + struct ttm_object_device *tdev = tfile->tdev; + int ret; + + base->shareable = shareable; + base->tfile = ttm_object_file_ref(tfile); + base->refcount_release = refcount_release; + base->ref_obj_release = ref_obj_release; + base->object_type = object_type; + write_lock(&tdev->object_lock); + kref_init(&base->refcount); + ret = drm_ht_just_insert_please(&tdev->object_hash, + &base->hash, + (unsigned long)base, 31, 0, 0); + write_unlock(&tdev->object_lock); + if (unlikely(ret != 0)) + goto out_err0; + + ret = ttm_ref_object_add(tfile, base, TTM_REF_USAGE, NULL); + if (unlikely(ret != 0)) + goto out_err1; + + ttm_base_object_unref(&base); + + return 0; +out_err1: + (void)drm_ht_remove_item(&tdev->object_hash, &base->hash); +out_err0: + return ret; +} +EXPORT_SYMBOL(ttm_base_object_init); + +static void ttm_release_base(struct kref *kref) +{ + struct ttm_base_object *base = + container_of(kref, struct ttm_base_object, refcount); + struct ttm_object_device *tdev = base->tfile->tdev; + + (void)drm_ht_remove_item(&tdev->object_hash, &base->hash); + write_unlock(&tdev->object_lock); + if (base->refcount_release) { + ttm_object_file_unref(&base->tfile); + base->refcount_release(&base); + } + write_lock(&tdev->object_lock); +} + +void ttm_base_object_unref(struct ttm_base_object **p_base) +{ + struct ttm_base_object *base = *p_base; + struct ttm_object_device *tdev = base->tfile->tdev; + + *p_base = NULL; + + /* + * Need to take the lock here to avoid racing with + * users trying to look up the object. + */ + + write_lock(&tdev->object_lock); + (void)kref_put(&base->refcount, &ttm_release_base); + write_unlock(&tdev->object_lock); +} +EXPORT_SYMBOL(ttm_base_object_unref); + +struct ttm_base_object *ttm_base_object_lookup(struct ttm_object_file *tfile, + uint32_t key) +{ + struct ttm_object_device *tdev = tfile->tdev; + struct ttm_base_object *base; + struct drm_hash_item *hash; + int ret; + + read_lock(&tdev->object_lock); + ret = drm_ht_find_item(&tdev->object_hash, key, &hash); + + if (likely(ret == 0)) { + base = drm_hash_entry(hash, struct ttm_base_object, hash); + kref_get(&base->refcount); + } + read_unlock(&tdev->object_lock); + + if (unlikely(ret != 0)) + return NULL; + + if (tfile != base->tfile && !base->shareable) { + printk(KERN_ERR TTM_PFX + "Attempted access of non-shareable object.\n"); + ttm_base_object_unref(&base); + return NULL; + } + + return base; +} +EXPORT_SYMBOL(ttm_base_object_lookup); + +int ttm_ref_object_add(struct ttm_object_file *tfile, + struct ttm_base_object *base, + enum ttm_ref_type ref_type, bool *existed) +{ + struct drm_open_hash *ht = &tfile->ref_hash[ref_type]; + struct ttm_ref_object *ref; + struct drm_hash_item *hash; + struct ttm_mem_global *mem_glob = tfile->tdev->mem_glob; + int ret = -EINVAL; + + if (existed != NULL) + *existed = true; + + while (ret == -EINVAL) { + read_lock(&tfile->lock); + ret = drm_ht_find_item(ht, base->hash.key, &hash); + + if (ret == 0) { + ref = drm_hash_entry(hash, struct ttm_ref_object, hash); + kref_get(&ref->kref); + read_unlock(&tfile->lock); + break; + } + + read_unlock(&tfile->lock); + ret = ttm_mem_global_alloc(mem_glob, sizeof(*ref), + false, false); + if (unlikely(ret != 0)) + return ret; + ref = kmalloc(sizeof(*ref), GFP_KERNEL); + if (unlikely(ref == NULL)) { + ttm_mem_global_free(mem_glob, sizeof(*ref)); + return -ENOMEM; + } + + ref->hash.key = base->hash.key; + ref->obj = base; + ref->tfile = tfile; + ref->ref_type = ref_type; + kref_init(&ref->kref); + + write_lock(&tfile->lock); + ret = drm_ht_insert_item(ht, &ref->hash); + + if (likely(ret == 0)) { + list_add_tail(&ref->head, &tfile->ref_list); + kref_get(&base->refcount); + write_unlock(&tfile->lock); + if (existed != NULL) + *existed = false; + break; + } + + write_unlock(&tfile->lock); + BUG_ON(ret != -EINVAL); + + ttm_mem_global_free(mem_glob, sizeof(*ref)); + kfree(ref); + } + + return ret; +} +EXPORT_SYMBOL(ttm_ref_object_add); + +static void ttm_ref_object_release(struct kref *kref) +{ + struct ttm_ref_object *ref = + container_of(kref, struct ttm_ref_object, kref); + struct ttm_base_object *base = ref->obj; + struct ttm_object_file *tfile = ref->tfile; + struct drm_open_hash *ht; + struct ttm_mem_global *mem_glob = tfile->tdev->mem_glob; + + ht = &tfile->ref_hash[ref->ref_type]; + (void)drm_ht_remove_item(ht, &ref->hash); + list_del(&ref->head); + write_unlock(&tfile->lock); + + if (ref->ref_type != TTM_REF_USAGE && base->ref_obj_release) + base->ref_obj_release(base, ref->ref_type); + + ttm_base_object_unref(&ref->obj); + ttm_mem_global_free(mem_glob, sizeof(*ref)); + kfree(ref); + write_lock(&tfile->lock); +} + +int ttm_ref_object_base_unref(struct ttm_object_file *tfile, + unsigned long key, enum ttm_ref_type ref_type) +{ + struct drm_open_hash *ht = &tfile->ref_hash[ref_type]; + struct ttm_ref_object *ref; + struct drm_hash_item *hash; + int ret; + + write_lock(&tfile->lock); + ret = drm_ht_find_item(ht, key, &hash); + if (unlikely(ret != 0)) { + write_unlock(&tfile->lock); + return -EINVAL; + } + ref = drm_hash_entry(hash, struct ttm_ref_object, hash); + kref_put(&ref->kref, ttm_ref_object_release); + write_unlock(&tfile->lock); + return 0; +} +EXPORT_SYMBOL(ttm_ref_object_base_unref); + +void ttm_object_file_release(struct ttm_object_file **p_tfile) +{ + struct ttm_ref_object *ref; + struct list_head *list; + unsigned int i; + struct ttm_object_file *tfile = *p_tfile; + + *p_tfile = NULL; + write_lock(&tfile->lock); + + /* + * Since we release the lock within the loop, we have to + * restart it from the beginning each time. + */ + + while (!list_empty(&tfile->ref_list)) { + list = tfile->ref_list.next; + ref = list_entry(list, struct ttm_ref_object, head); + ttm_ref_object_release(&ref->kref); + } + + for (i = 0; i < TTM_REF_NUM; ++i) + drm_ht_remove(&tfile->ref_hash[i]); + + write_unlock(&tfile->lock); + ttm_object_file_unref(&tfile); +} +EXPORT_SYMBOL(ttm_object_file_release); + +struct ttm_object_file *ttm_object_file_init(struct ttm_object_device *tdev, + unsigned int hash_order) +{ + struct ttm_object_file *tfile = kmalloc(sizeof(*tfile), GFP_KERNEL); + unsigned int i; + unsigned int j = 0; + int ret; + + if (unlikely(tfile == NULL)) + return NULL; + + rwlock_init(&tfile->lock); + tfile->tdev = tdev; + kref_init(&tfile->refcount); + INIT_LIST_HEAD(&tfile->ref_list); + + for (i = 0; i < TTM_REF_NUM; ++i) { + ret = drm_ht_create(&tfile->ref_hash[i], hash_order); + if (ret) { + j = i; + goto out_err; + } + } + + return tfile; +out_err: + for (i = 0; i < j; ++i) + drm_ht_remove(&tfile->ref_hash[i]); + + kfree(tfile); + + return NULL; +} +EXPORT_SYMBOL(ttm_object_file_init); + +struct ttm_object_device *ttm_object_device_init(struct ttm_mem_global + *mem_glob, + unsigned int hash_order) +{ + struct ttm_object_device *tdev = kmalloc(sizeof(*tdev), GFP_KERNEL); + int ret; + + if (unlikely(tdev == NULL)) + return NULL; + + tdev->mem_glob = mem_glob; + rwlock_init(&tdev->object_lock); + atomic_set(&tdev->object_count, 0); + ret = drm_ht_create(&tdev->object_hash, hash_order); + + if (likely(ret == 0)) + return tdev; + + kfree(tdev); + return NULL; +} +EXPORT_SYMBOL(ttm_object_device_init); + +void ttm_object_device_release(struct ttm_object_device **p_tdev) +{ + struct ttm_object_device *tdev = *p_tdev; + + *p_tdev = NULL; + + write_lock(&tdev->object_lock); + drm_ht_remove(&tdev->object_hash); + write_unlock(&tdev->object_lock); + + kfree(tdev); +} +EXPORT_SYMBOL(ttm_object_device_release); --- linux-2.6.32.orig/drivers/gpu/drm/via/via_drv.c +++ linux-2.6.32/drivers/gpu/drm/via/via_drv.c @@ -58,7 +58,7 @@ .owner = THIS_MODULE, .open = drm_open, .release = drm_release, - .ioctl = drm_ioctl, + .unlocked_ioctl = drm_ioctl, .mmap = drm_mmap, .poll = drm_poll, .fasync = drm_fasync, --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/Kconfig +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/Kconfig @@ -0,0 +1,13 @@ +config DRM_VMWGFX + tristate "DRM driver for VMware Virtual GPU" + depends on DRM && PCI + select FB_DEFERRED_IO + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + select DRM_TTM + help + KMS enabled DRM driver for SVGA2 virtual hardware. + + If unsure say n. The compiled module will be + called vmwgfx.ko --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/Makefile +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/Makefile @@ -0,0 +1,9 @@ + +ccflags-y := -Iinclude/drm + +vmwgfx-y := vmwgfx_execbuf.o vmwgfx_gmr.o vmwgfx_kms.o vmwgfx_drv.o \ + vmwgfx_fb.o vmwgfx_ioctl.o vmwgfx_resource.o vmwgfx_buffer.o \ + vmwgfx_fifo.o vmwgfx_irq.o vmwgfx_ldu.o vmwgfx_ttm_glue.o \ + vmwgfx_overlay.o + +obj-$(CONFIG_DRM_VMWGFX) := vmwgfx.o --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/svga3d_reg.h +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/svga3d_reg.h @@ -0,0 +1,1793 @@ +/********************************************************** + * Copyright 1998-2009 VMware, Inc. 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 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. + * + **********************************************************/ + +/* + * svga3d_reg.h -- + * + * SVGA 3D hardware definitions + */ + +#ifndef _SVGA3D_REG_H_ +#define _SVGA3D_REG_H_ + +#include "svga_reg.h" + + +/* + * 3D Hardware Version + * + * The hardware version is stored in the SVGA_FIFO_3D_HWVERSION fifo + * register. Is set by the host and read by the guest. This lets + * us make new guest drivers which are backwards-compatible with old + * SVGA hardware revisions. It does not let us support old guest + * drivers. Good enough for now. + * + */ + +#define SVGA3D_MAKE_HWVERSION(major, minor) (((major) << 16) | ((minor) & 0xFF)) +#define SVGA3D_MAJOR_HWVERSION(version) ((version) >> 16) +#define SVGA3D_MINOR_HWVERSION(version) ((version) & 0xFF) + +typedef enum { + SVGA3D_HWVERSION_WS5_RC1 = SVGA3D_MAKE_HWVERSION(0, 1), + SVGA3D_HWVERSION_WS5_RC2 = SVGA3D_MAKE_HWVERSION(0, 2), + SVGA3D_HWVERSION_WS51_RC1 = SVGA3D_MAKE_HWVERSION(0, 3), + SVGA3D_HWVERSION_WS6_B1 = SVGA3D_MAKE_HWVERSION(1, 1), + SVGA3D_HWVERSION_FUSION_11 = SVGA3D_MAKE_HWVERSION(1, 4), + SVGA3D_HWVERSION_WS65_B1 = SVGA3D_MAKE_HWVERSION(2, 0), + SVGA3D_HWVERSION_CURRENT = SVGA3D_HWVERSION_WS65_B1, +} SVGA3dHardwareVersion; + +/* + * Generic Types + */ + +typedef uint32 SVGA3dBool; /* 32-bit Bool definition */ +#define SVGA3D_NUM_CLIPPLANES 6 +#define SVGA3D_MAX_SIMULTANEOUS_RENDER_TARGETS 8 + + +/* + * Surface formats. + * + * If you modify this list, be sure to keep GLUtil.c in sync. It + * includes the internal format definition of each surface in + * GLUtil_ConvertSurfaceFormat, and it contains a table of + * human-readable names in GLUtil_GetFormatName. + */ + +typedef enum SVGA3dSurfaceFormat { + SVGA3D_FORMAT_INVALID = 0, + + SVGA3D_X8R8G8B8 = 1, + SVGA3D_A8R8G8B8 = 2, + + SVGA3D_R5G6B5 = 3, + SVGA3D_X1R5G5B5 = 4, + SVGA3D_A1R5G5B5 = 5, + SVGA3D_A4R4G4B4 = 6, + + SVGA3D_Z_D32 = 7, + SVGA3D_Z_D16 = 8, + SVGA3D_Z_D24S8 = 9, + SVGA3D_Z_D15S1 = 10, + + SVGA3D_LUMINANCE8 = 11, + SVGA3D_LUMINANCE4_ALPHA4 = 12, + SVGA3D_LUMINANCE16 = 13, + SVGA3D_LUMINANCE8_ALPHA8 = 14, + + SVGA3D_DXT1 = 15, + SVGA3D_DXT2 = 16, + SVGA3D_DXT3 = 17, + SVGA3D_DXT4 = 18, + SVGA3D_DXT5 = 19, + + SVGA3D_BUMPU8V8 = 20, + SVGA3D_BUMPL6V5U5 = 21, + SVGA3D_BUMPX8L8V8U8 = 22, + SVGA3D_BUMPL8V8U8 = 23, + + SVGA3D_ARGB_S10E5 = 24, /* 16-bit floating-point ARGB */ + SVGA3D_ARGB_S23E8 = 25, /* 32-bit floating-point ARGB */ + + SVGA3D_A2R10G10B10 = 26, + + /* signed formats */ + SVGA3D_V8U8 = 27, + SVGA3D_Q8W8V8U8 = 28, + SVGA3D_CxV8U8 = 29, + + /* mixed formats */ + SVGA3D_X8L8V8U8 = 30, + SVGA3D_A2W10V10U10 = 31, + + SVGA3D_ALPHA8 = 32, + + /* Single- and dual-component floating point formats */ + SVGA3D_R_S10E5 = 33, + SVGA3D_R_S23E8 = 34, + SVGA3D_RG_S10E5 = 35, + SVGA3D_RG_S23E8 = 36, + + /* + * Any surface can be used as a buffer object, but SVGA3D_BUFFER is + * the most efficient format to use when creating new surfaces + * expressly for index or vertex data. + */ + SVGA3D_BUFFER = 37, + + SVGA3D_Z_D24X8 = 38, + + SVGA3D_V16U16 = 39, + + SVGA3D_G16R16 = 40, + SVGA3D_A16B16G16R16 = 41, + + /* Packed Video formats */ + SVGA3D_UYVY = 42, + SVGA3D_YUY2 = 43, + + SVGA3D_FORMAT_MAX +} SVGA3dSurfaceFormat; + +typedef uint32 SVGA3dColor; /* a, r, g, b */ + +/* + * These match the D3DFORMAT_OP definitions used by Direct3D. We need + * them so that we can query the host for what the supported surface + * operations are (when we're using the D3D backend, in particular), + * and so we can send those operations to the guest. + */ +typedef enum { + SVGA3DFORMAT_OP_TEXTURE = 0x00000001, + SVGA3DFORMAT_OP_VOLUMETEXTURE = 0x00000002, + SVGA3DFORMAT_OP_CUBETEXTURE = 0x00000004, + SVGA3DFORMAT_OP_OFFSCREEN_RENDERTARGET = 0x00000008, + SVGA3DFORMAT_OP_SAME_FORMAT_RENDERTARGET = 0x00000010, + SVGA3DFORMAT_OP_ZSTENCIL = 0x00000040, + SVGA3DFORMAT_OP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH = 0x00000080, + +/* + * This format can be used as a render target if the current display mode + * is the same depth if the alpha channel is ignored. e.g. if the device + * can render to A8R8G8B8 when the display mode is X8R8G8B8, then the + * format op list entry for A8R8G8B8 should have this cap. + */ + SVGA3DFORMAT_OP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET = 0x00000100, + +/* + * This format contains DirectDraw support (including Flip). This flag + * should not to be set on alpha formats. + */ + SVGA3DFORMAT_OP_DISPLAYMODE = 0x00000400, + +/* + * The rasterizer can support some level of Direct3D support in this format + * and implies that the driver can create a Context in this mode (for some + * render target format). When this flag is set, the SVGA3DFORMAT_OP_DISPLAYMODE + * flag must also be set. + */ + SVGA3DFORMAT_OP_3DACCELERATION = 0x00000800, + +/* + * This is set for a private format when the driver has put the bpp in + * the structure. + */ + SVGA3DFORMAT_OP_PIXELSIZE = 0x00001000, + +/* + * Indicates that this format can be converted to any RGB format for which + * SVGA3DFORMAT_OP_MEMBEROFGROUP_ARGB is specified + */ + SVGA3DFORMAT_OP_CONVERT_TO_ARGB = 0x00002000, + +/* + * Indicates that this format can be used to create offscreen plain surfaces. + */ + SVGA3DFORMAT_OP_OFFSCREENPLAIN = 0x00004000, + +/* + * Indicated that this format can be read as an SRGB texture (meaning that the + * sampler will linearize the looked up data) + */ + SVGA3DFORMAT_OP_SRGBREAD = 0x00008000, + +/* + * Indicates that this format can be used in the bumpmap instructions + */ + SVGA3DFORMAT_OP_BUMPMAP = 0x00010000, + +/* + * Indicates that this format can be sampled by the displacement map sampler + */ + SVGA3DFORMAT_OP_DMAP = 0x00020000, + +/* + * Indicates that this format cannot be used with texture filtering + */ + SVGA3DFORMAT_OP_NOFILTER = 0x00040000, + +/* + * Indicates that format conversions are supported to this RGB format if + * SVGA3DFORMAT_OP_CONVERT_TO_ARGB is specified in the source format. + */ + SVGA3DFORMAT_OP_MEMBEROFGROUP_ARGB = 0x00080000, + +/* + * Indicated that this format can be written as an SRGB target (meaning that the + * pixel pipe will DE-linearize data on output to format) + */ + SVGA3DFORMAT_OP_SRGBWRITE = 0x00100000, + +/* + * Indicates that this format cannot be used with alpha blending + */ + SVGA3DFORMAT_OP_NOALPHABLEND = 0x00200000, + +/* + * Indicates that the device can auto-generated sublevels for resources + * of this format + */ + SVGA3DFORMAT_OP_AUTOGENMIPMAP = 0x00400000, + +/* + * Indicates that this format can be used by vertex texture sampler + */ + SVGA3DFORMAT_OP_VERTEXTEXTURE = 0x00800000, + +/* + * Indicates that this format supports neither texture coordinate wrap + * modes, nor mipmapping + */ + SVGA3DFORMAT_OP_NOTEXCOORDWRAPNORMIP = 0x01000000 +} SVGA3dFormatOp; + +/* + * This structure is a conversion of SVGA3DFORMAT_OP_*. + * Entries must be located at the same position. + */ +typedef union { + uint32 value; + struct { + uint32 texture : 1; + uint32 volumeTexture : 1; + uint32 cubeTexture : 1; + uint32 offscreenRenderTarget : 1; + uint32 sameFormatRenderTarget : 1; + uint32 unknown1 : 1; + uint32 zStencil : 1; + uint32 zStencilArbitraryDepth : 1; + uint32 sameFormatUpToAlpha : 1; + uint32 unknown2 : 1; + uint32 displayMode : 1; + uint32 acceleration3d : 1; + uint32 pixelSize : 1; + uint32 convertToARGB : 1; + uint32 offscreenPlain : 1; + uint32 sRGBRead : 1; + uint32 bumpMap : 1; + uint32 dmap : 1; + uint32 noFilter : 1; + uint32 memberOfGroupARGB : 1; + uint32 sRGBWrite : 1; + uint32 noAlphaBlend : 1; + uint32 autoGenMipMap : 1; + uint32 vertexTexture : 1; + uint32 noTexCoordWrapNorMip : 1; + }; +} SVGA3dSurfaceFormatCaps; + +/* + * SVGA_3D_CMD_SETRENDERSTATE Types. All value types + * must fit in a uint32. + */ + +typedef enum { + SVGA3D_RS_INVALID = 0, + SVGA3D_RS_ZENABLE = 1, /* SVGA3dBool */ + SVGA3D_RS_ZWRITEENABLE = 2, /* SVGA3dBool */ + SVGA3D_RS_ALPHATESTENABLE = 3, /* SVGA3dBool */ + SVGA3D_RS_DITHERENABLE = 4, /* SVGA3dBool */ + SVGA3D_RS_BLENDENABLE = 5, /* SVGA3dBool */ + SVGA3D_RS_FOGENABLE = 6, /* SVGA3dBool */ + SVGA3D_RS_SPECULARENABLE = 7, /* SVGA3dBool */ + SVGA3D_RS_STENCILENABLE = 8, /* SVGA3dBool */ + SVGA3D_RS_LIGHTINGENABLE = 9, /* SVGA3dBool */ + SVGA3D_RS_NORMALIZENORMALS = 10, /* SVGA3dBool */ + SVGA3D_RS_POINTSPRITEENABLE = 11, /* SVGA3dBool */ + SVGA3D_RS_POINTSCALEENABLE = 12, /* SVGA3dBool */ + SVGA3D_RS_STENCILREF = 13, /* uint32 */ + SVGA3D_RS_STENCILMASK = 14, /* uint32 */ + SVGA3D_RS_STENCILWRITEMASK = 15, /* uint32 */ + SVGA3D_RS_FOGSTART = 16, /* float */ + SVGA3D_RS_FOGEND = 17, /* float */ + SVGA3D_RS_FOGDENSITY = 18, /* float */ + SVGA3D_RS_POINTSIZE = 19, /* float */ + SVGA3D_RS_POINTSIZEMIN = 20, /* float */ + SVGA3D_RS_POINTSIZEMAX = 21, /* float */ + SVGA3D_RS_POINTSCALE_A = 22, /* float */ + SVGA3D_RS_POINTSCALE_B = 23, /* float */ + SVGA3D_RS_POINTSCALE_C = 24, /* float */ + SVGA3D_RS_FOGCOLOR = 25, /* SVGA3dColor */ + SVGA3D_RS_AMBIENT = 26, /* SVGA3dColor */ + SVGA3D_RS_CLIPPLANEENABLE = 27, /* SVGA3dClipPlanes */ + SVGA3D_RS_FOGMODE = 28, /* SVGA3dFogMode */ + SVGA3D_RS_FILLMODE = 29, /* SVGA3dFillMode */ + SVGA3D_RS_SHADEMODE = 30, /* SVGA3dShadeMode */ + SVGA3D_RS_LINEPATTERN = 31, /* SVGA3dLinePattern */ + SVGA3D_RS_SRCBLEND = 32, /* SVGA3dBlendOp */ + SVGA3D_RS_DSTBLEND = 33, /* SVGA3dBlendOp */ + SVGA3D_RS_BLENDEQUATION = 34, /* SVGA3dBlendEquation */ + SVGA3D_RS_CULLMODE = 35, /* SVGA3dFace */ + SVGA3D_RS_ZFUNC = 36, /* SVGA3dCmpFunc */ + SVGA3D_RS_ALPHAFUNC = 37, /* SVGA3dCmpFunc */ + SVGA3D_RS_STENCILFUNC = 38, /* SVGA3dCmpFunc */ + SVGA3D_RS_STENCILFAIL = 39, /* SVGA3dStencilOp */ + SVGA3D_RS_STENCILZFAIL = 40, /* SVGA3dStencilOp */ + SVGA3D_RS_STENCILPASS = 41, /* SVGA3dStencilOp */ + SVGA3D_RS_ALPHAREF = 42, /* float (0.0 .. 1.0) */ + SVGA3D_RS_FRONTWINDING = 43, /* SVGA3dFrontWinding */ + SVGA3D_RS_COORDINATETYPE = 44, /* SVGA3dCoordinateType */ + SVGA3D_RS_ZBIAS = 45, /* float */ + SVGA3D_RS_RANGEFOGENABLE = 46, /* SVGA3dBool */ + SVGA3D_RS_COLORWRITEENABLE = 47, /* SVGA3dColorMask */ + SVGA3D_RS_VERTEXMATERIALENABLE = 48, /* SVGA3dBool */ + SVGA3D_RS_DIFFUSEMATERIALSOURCE = 49, /* SVGA3dVertexMaterial */ + SVGA3D_RS_SPECULARMATERIALSOURCE = 50, /* SVGA3dVertexMaterial */ + SVGA3D_RS_AMBIENTMATERIALSOURCE = 51, /* SVGA3dVertexMaterial */ + SVGA3D_RS_EMISSIVEMATERIALSOURCE = 52, /* SVGA3dVertexMaterial */ + SVGA3D_RS_TEXTUREFACTOR = 53, /* SVGA3dColor */ + SVGA3D_RS_LOCALVIEWER = 54, /* SVGA3dBool */ + SVGA3D_RS_SCISSORTESTENABLE = 55, /* SVGA3dBool */ + SVGA3D_RS_BLENDCOLOR = 56, /* SVGA3dColor */ + SVGA3D_RS_STENCILENABLE2SIDED = 57, /* SVGA3dBool */ + SVGA3D_RS_CCWSTENCILFUNC = 58, /* SVGA3dCmpFunc */ + SVGA3D_RS_CCWSTENCILFAIL = 59, /* SVGA3dStencilOp */ + SVGA3D_RS_CCWSTENCILZFAIL = 60, /* SVGA3dStencilOp */ + SVGA3D_RS_CCWSTENCILPASS = 61, /* SVGA3dStencilOp */ + SVGA3D_RS_VERTEXBLEND = 62, /* SVGA3dVertexBlendFlags */ + SVGA3D_RS_SLOPESCALEDEPTHBIAS = 63, /* float */ + SVGA3D_RS_DEPTHBIAS = 64, /* float */ + + + /* + * Output Gamma Level + * + * Output gamma effects the gamma curve of colors that are output from the + * rendering pipeline. A value of 1.0 specifies a linear color space. If the + * value is <= 0.0, gamma correction is ignored and linear color space is + * used. + */ + + SVGA3D_RS_OUTPUTGAMMA = 65, /* float */ + SVGA3D_RS_ZVISIBLE = 66, /* SVGA3dBool */ + SVGA3D_RS_LASTPIXEL = 67, /* SVGA3dBool */ + SVGA3D_RS_CLIPPING = 68, /* SVGA3dBool */ + SVGA3D_RS_WRAP0 = 69, /* SVGA3dWrapFlags */ + SVGA3D_RS_WRAP1 = 70, /* SVGA3dWrapFlags */ + SVGA3D_RS_WRAP2 = 71, /* SVGA3dWrapFlags */ + SVGA3D_RS_WRAP3 = 72, /* SVGA3dWrapFlags */ + SVGA3D_RS_WRAP4 = 73, /* SVGA3dWrapFlags */ + SVGA3D_RS_WRAP5 = 74, /* SVGA3dWrapFlags */ + SVGA3D_RS_WRAP6 = 75, /* SVGA3dWrapFlags */ + SVGA3D_RS_WRAP7 = 76, /* SVGA3dWrapFlags */ + SVGA3D_RS_WRAP8 = 77, /* SVGA3dWrapFlags */ + SVGA3D_RS_WRAP9 = 78, /* SVGA3dWrapFlags */ + SVGA3D_RS_WRAP10 = 79, /* SVGA3dWrapFlags */ + SVGA3D_RS_WRAP11 = 80, /* SVGA3dWrapFlags */ + SVGA3D_RS_WRAP12 = 81, /* SVGA3dWrapFlags */ + SVGA3D_RS_WRAP13 = 82, /* SVGA3dWrapFlags */ + SVGA3D_RS_WRAP14 = 83, /* SVGA3dWrapFlags */ + SVGA3D_RS_WRAP15 = 84, /* SVGA3dWrapFlags */ + SVGA3D_RS_MULTISAMPLEANTIALIAS = 85, /* SVGA3dBool */ + SVGA3D_RS_MULTISAMPLEMASK = 86, /* uint32 */ + SVGA3D_RS_INDEXEDVERTEXBLENDENABLE = 87, /* SVGA3dBool */ + SVGA3D_RS_TWEENFACTOR = 88, /* float */ + SVGA3D_RS_ANTIALIASEDLINEENABLE = 89, /* SVGA3dBool */ + SVGA3D_RS_COLORWRITEENABLE1 = 90, /* SVGA3dColorMask */ + SVGA3D_RS_COLORWRITEENABLE2 = 91, /* SVGA3dColorMask */ + SVGA3D_RS_COLORWRITEENABLE3 = 92, /* SVGA3dColorMask */ + SVGA3D_RS_SEPARATEALPHABLENDENABLE = 93, /* SVGA3dBool */ + SVGA3D_RS_SRCBLENDALPHA = 94, /* SVGA3dBlendOp */ + SVGA3D_RS_DSTBLENDALPHA = 95, /* SVGA3dBlendOp */ + SVGA3D_RS_BLENDEQUATIONALPHA = 96, /* SVGA3dBlendEquation */ + SVGA3D_RS_MAX +} SVGA3dRenderStateName; + +typedef enum { + SVGA3D_VERTEXMATERIAL_NONE = 0, /* Use the value in the current material */ + SVGA3D_VERTEXMATERIAL_DIFFUSE = 1, /* Use the value in the diffuse component */ + SVGA3D_VERTEXMATERIAL_SPECULAR = 2, /* Use the value in the specular component */ +} SVGA3dVertexMaterial; + +typedef enum { + SVGA3D_FILLMODE_INVALID = 0, + SVGA3D_FILLMODE_POINT = 1, + SVGA3D_FILLMODE_LINE = 2, + SVGA3D_FILLMODE_FILL = 3, + SVGA3D_FILLMODE_MAX +} SVGA3dFillModeType; + + +typedef +union { + struct { + uint16 mode; /* SVGA3dFillModeType */ + uint16 face; /* SVGA3dFace */ + }; + uint32 uintValue; +} SVGA3dFillMode; + +typedef enum { + SVGA3D_SHADEMODE_INVALID = 0, + SVGA3D_SHADEMODE_FLAT = 1, + SVGA3D_SHADEMODE_SMOOTH = 2, + SVGA3D_SHADEMODE_PHONG = 3, /* Not supported */ + SVGA3D_SHADEMODE_MAX +} SVGA3dShadeMode; + +typedef +union { + struct { + uint16 repeat; + uint16 pattern; + }; + uint32 uintValue; +} SVGA3dLinePattern; + +typedef enum { + SVGA3D_BLENDOP_INVALID = 0, + SVGA3D_BLENDOP_ZERO = 1, + SVGA3D_BLENDOP_ONE = 2, + SVGA3D_BLENDOP_SRCCOLOR = 3, + SVGA3D_BLENDOP_INVSRCCOLOR = 4, + SVGA3D_BLENDOP_SRCALPHA = 5, + SVGA3D_BLENDOP_INVSRCALPHA = 6, + SVGA3D_BLENDOP_DESTALPHA = 7, + SVGA3D_BLENDOP_INVDESTALPHA = 8, + SVGA3D_BLENDOP_DESTCOLOR = 9, + SVGA3D_BLENDOP_INVDESTCOLOR = 10, + SVGA3D_BLENDOP_SRCALPHASAT = 11, + SVGA3D_BLENDOP_BLENDFACTOR = 12, + SVGA3D_BLENDOP_INVBLENDFACTOR = 13, + SVGA3D_BLENDOP_MAX +} SVGA3dBlendOp; + +typedef enum { + SVGA3D_BLENDEQ_INVALID = 0, + SVGA3D_BLENDEQ_ADD = 1, + SVGA3D_BLENDEQ_SUBTRACT = 2, + SVGA3D_BLENDEQ_REVSUBTRACT = 3, + SVGA3D_BLENDEQ_MINIMUM = 4, + SVGA3D_BLENDEQ_MAXIMUM = 5, + SVGA3D_BLENDEQ_MAX +} SVGA3dBlendEquation; + +typedef enum { + SVGA3D_FRONTWINDING_INVALID = 0, + SVGA3D_FRONTWINDING_CW = 1, + SVGA3D_FRONTWINDING_CCW = 2, + SVGA3D_FRONTWINDING_MAX +} SVGA3dFrontWinding; + +typedef enum { + SVGA3D_FACE_INVALID = 0, + SVGA3D_FACE_NONE = 1, + SVGA3D_FACE_FRONT = 2, + SVGA3D_FACE_BACK = 3, + SVGA3D_FACE_FRONT_BACK = 4, + SVGA3D_FACE_MAX +} SVGA3dFace; + +/* + * The order and the values should not be changed + */ + +typedef enum { + SVGA3D_CMP_INVALID = 0, + SVGA3D_CMP_NEVER = 1, + SVGA3D_CMP_LESS = 2, + SVGA3D_CMP_EQUAL = 3, + SVGA3D_CMP_LESSEQUAL = 4, + SVGA3D_CMP_GREATER = 5, + SVGA3D_CMP_NOTEQUAL = 6, + SVGA3D_CMP_GREATEREQUAL = 7, + SVGA3D_CMP_ALWAYS = 8, + SVGA3D_CMP_MAX +} SVGA3dCmpFunc; + +/* + * SVGA3D_FOGFUNC_* specifies the fog equation, or PER_VERTEX which allows + * the fog factor to be specified in the alpha component of the specular + * (a.k.a. secondary) vertex color. + */ +typedef enum { + SVGA3D_FOGFUNC_INVALID = 0, + SVGA3D_FOGFUNC_EXP = 1, + SVGA3D_FOGFUNC_EXP2 = 2, + SVGA3D_FOGFUNC_LINEAR = 3, + SVGA3D_FOGFUNC_PER_VERTEX = 4 +} SVGA3dFogFunction; + +/* + * SVGA3D_FOGTYPE_* specifies if fog factors are computed on a per-vertex + * or per-pixel basis. + */ +typedef enum { + SVGA3D_FOGTYPE_INVALID = 0, + SVGA3D_FOGTYPE_VERTEX = 1, + SVGA3D_FOGTYPE_PIXEL = 2, + SVGA3D_FOGTYPE_MAX = 3 +} SVGA3dFogType; + +/* + * SVGA3D_FOGBASE_* selects depth or range-based fog. Depth-based fog is + * computed using the eye Z value of each pixel (or vertex), whereas range- + * based fog is computed using the actual distance (range) to the eye. + */ +typedef enum { + SVGA3D_FOGBASE_INVALID = 0, + SVGA3D_FOGBASE_DEPTHBASED = 1, + SVGA3D_FOGBASE_RANGEBASED = 2, + SVGA3D_FOGBASE_MAX = 3 +} SVGA3dFogBase; + +typedef enum { + SVGA3D_STENCILOP_INVALID = 0, + SVGA3D_STENCILOP_KEEP = 1, + SVGA3D_STENCILOP_ZERO = 2, + SVGA3D_STENCILOP_REPLACE = 3, + SVGA3D_STENCILOP_INCRSAT = 4, + SVGA3D_STENCILOP_DECRSAT = 5, + SVGA3D_STENCILOP_INVERT = 6, + SVGA3D_STENCILOP_INCR = 7, + SVGA3D_STENCILOP_DECR = 8, + SVGA3D_STENCILOP_MAX +} SVGA3dStencilOp; + +typedef enum { + SVGA3D_CLIPPLANE_0 = (1 << 0), + SVGA3D_CLIPPLANE_1 = (1 << 1), + SVGA3D_CLIPPLANE_2 = (1 << 2), + SVGA3D_CLIPPLANE_3 = (1 << 3), + SVGA3D_CLIPPLANE_4 = (1 << 4), + SVGA3D_CLIPPLANE_5 = (1 << 5), +} SVGA3dClipPlanes; + +typedef enum { + SVGA3D_CLEAR_COLOR = 0x1, + SVGA3D_CLEAR_DEPTH = 0x2, + SVGA3D_CLEAR_STENCIL = 0x4 +} SVGA3dClearFlag; + +typedef enum { + SVGA3D_RT_DEPTH = 0, + SVGA3D_RT_STENCIL = 1, + SVGA3D_RT_COLOR0 = 2, + SVGA3D_RT_COLOR1 = 3, + SVGA3D_RT_COLOR2 = 4, + SVGA3D_RT_COLOR3 = 5, + SVGA3D_RT_COLOR4 = 6, + SVGA3D_RT_COLOR5 = 7, + SVGA3D_RT_COLOR6 = 8, + SVGA3D_RT_COLOR7 = 9, + SVGA3D_RT_MAX, + SVGA3D_RT_INVALID = ((uint32)-1), +} SVGA3dRenderTargetType; + +#define SVGA3D_MAX_RT_COLOR (SVGA3D_RT_COLOR7 - SVGA3D_RT_COLOR0 + 1) + +typedef +union { + struct { + uint32 red : 1; + uint32 green : 1; + uint32 blue : 1; + uint32 alpha : 1; + }; + uint32 uintValue; +} SVGA3dColorMask; + +typedef enum { + SVGA3D_VBLEND_DISABLE = 0, + SVGA3D_VBLEND_1WEIGHT = 1, + SVGA3D_VBLEND_2WEIGHT = 2, + SVGA3D_VBLEND_3WEIGHT = 3, +} SVGA3dVertexBlendFlags; + +typedef enum { + SVGA3D_WRAPCOORD_0 = 1 << 0, + SVGA3D_WRAPCOORD_1 = 1 << 1, + SVGA3D_WRAPCOORD_2 = 1 << 2, + SVGA3D_WRAPCOORD_3 = 1 << 3, + SVGA3D_WRAPCOORD_ALL = 0xF, +} SVGA3dWrapFlags; + +/* + * SVGA_3D_CMD_TEXTURESTATE Types. All value types + * must fit in a uint32. + */ + +typedef enum { + SVGA3D_TS_INVALID = 0, + SVGA3D_TS_BIND_TEXTURE = 1, /* SVGA3dSurfaceId */ + SVGA3D_TS_COLOROP = 2, /* SVGA3dTextureCombiner */ + SVGA3D_TS_COLORARG1 = 3, /* SVGA3dTextureArgData */ + SVGA3D_TS_COLORARG2 = 4, /* SVGA3dTextureArgData */ + SVGA3D_TS_ALPHAOP = 5, /* SVGA3dTextureCombiner */ + SVGA3D_TS_ALPHAARG1 = 6, /* SVGA3dTextureArgData */ + SVGA3D_TS_ALPHAARG2 = 7, /* SVGA3dTextureArgData */ + SVGA3D_TS_ADDRESSU = 8, /* SVGA3dTextureAddress */ + SVGA3D_TS_ADDRESSV = 9, /* SVGA3dTextureAddress */ + SVGA3D_TS_MIPFILTER = 10, /* SVGA3dTextureFilter */ + SVGA3D_TS_MAGFILTER = 11, /* SVGA3dTextureFilter */ + SVGA3D_TS_MINFILTER = 12, /* SVGA3dTextureFilter */ + SVGA3D_TS_BORDERCOLOR = 13, /* SVGA3dColor */ + SVGA3D_TS_TEXCOORDINDEX = 14, /* uint32 */ + SVGA3D_TS_TEXTURETRANSFORMFLAGS = 15, /* SVGA3dTexTransformFlags */ + SVGA3D_TS_TEXCOORDGEN = 16, /* SVGA3dTextureCoordGen */ + SVGA3D_TS_BUMPENVMAT00 = 17, /* float */ + SVGA3D_TS_BUMPENVMAT01 = 18, /* float */ + SVGA3D_TS_BUMPENVMAT10 = 19, /* float */ + SVGA3D_TS_BUMPENVMAT11 = 20, /* float */ + SVGA3D_TS_TEXTURE_MIPMAP_LEVEL = 21, /* uint32 */ + SVGA3D_TS_TEXTURE_LOD_BIAS = 22, /* float */ + SVGA3D_TS_TEXTURE_ANISOTROPIC_LEVEL = 23, /* uint32 */ + SVGA3D_TS_ADDRESSW = 24, /* SVGA3dTextureAddress */ + + + /* + * Sampler Gamma Level + * + * Sampler gamma effects the color of samples taken from the sampler. A + * value of 1.0 will produce linear samples. If the value is <= 0.0 the + * gamma value is ignored and a linear space is used. + */ + + SVGA3D_TS_GAMMA = 25, /* float */ + SVGA3D_TS_BUMPENVLSCALE = 26, /* float */ + SVGA3D_TS_BUMPENVLOFFSET = 27, /* float */ + SVGA3D_TS_COLORARG0 = 28, /* SVGA3dTextureArgData */ + SVGA3D_TS_ALPHAARG0 = 29, /* SVGA3dTextureArgData */ + SVGA3D_TS_MAX +} SVGA3dTextureStateName; + +typedef enum { + SVGA3D_TC_INVALID = 0, + SVGA3D_TC_DISABLE = 1, + SVGA3D_TC_SELECTARG1 = 2, + SVGA3D_TC_SELECTARG2 = 3, + SVGA3D_TC_MODULATE = 4, + SVGA3D_TC_ADD = 5, + SVGA3D_TC_ADDSIGNED = 6, + SVGA3D_TC_SUBTRACT = 7, + SVGA3D_TC_BLENDTEXTUREALPHA = 8, + SVGA3D_TC_BLENDDIFFUSEALPHA = 9, + SVGA3D_TC_BLENDCURRENTALPHA = 10, + SVGA3D_TC_BLENDFACTORALPHA = 11, + SVGA3D_TC_MODULATE2X = 12, + SVGA3D_TC_MODULATE4X = 13, + SVGA3D_TC_DSDT = 14, + SVGA3D_TC_DOTPRODUCT3 = 15, + SVGA3D_TC_BLENDTEXTUREALPHAPM = 16, + SVGA3D_TC_ADDSIGNED2X = 17, + SVGA3D_TC_ADDSMOOTH = 18, + SVGA3D_TC_PREMODULATE = 19, + SVGA3D_TC_MODULATEALPHA_ADDCOLOR = 20, + SVGA3D_TC_MODULATECOLOR_ADDALPHA = 21, + SVGA3D_TC_MODULATEINVALPHA_ADDCOLOR = 22, + SVGA3D_TC_MODULATEINVCOLOR_ADDALPHA = 23, + SVGA3D_TC_BUMPENVMAPLUMINANCE = 24, + SVGA3D_TC_MULTIPLYADD = 25, + SVGA3D_TC_LERP = 26, + SVGA3D_TC_MAX +} SVGA3dTextureCombiner; + +#define SVGA3D_TC_CAP_BIT(svga3d_tc_op) (svga3d_tc_op ? (1 << (svga3d_tc_op - 1)) : 0) + +typedef enum { + SVGA3D_TEX_ADDRESS_INVALID = 0, + SVGA3D_TEX_ADDRESS_WRAP = 1, + SVGA3D_TEX_ADDRESS_MIRROR = 2, + SVGA3D_TEX_ADDRESS_CLAMP = 3, + SVGA3D_TEX_ADDRESS_BORDER = 4, + SVGA3D_TEX_ADDRESS_MIRRORONCE = 5, + SVGA3D_TEX_ADDRESS_EDGE = 6, + SVGA3D_TEX_ADDRESS_MAX +} SVGA3dTextureAddress; + +/* + * SVGA3D_TEX_FILTER_NONE as the minification filter means mipmapping is + * disabled, and the rasterizer should use the magnification filter instead. + */ +typedef enum { + SVGA3D_TEX_FILTER_NONE = 0, + SVGA3D_TEX_FILTER_NEAREST = 1, + SVGA3D_TEX_FILTER_LINEAR = 2, + SVGA3D_TEX_FILTER_ANISOTROPIC = 3, + SVGA3D_TEX_FILTER_FLATCUBIC = 4, // Deprecated, not implemented + SVGA3D_TEX_FILTER_GAUSSIANCUBIC = 5, // Deprecated, not implemented + SVGA3D_TEX_FILTER_PYRAMIDALQUAD = 6, // Not currently implemented + SVGA3D_TEX_FILTER_GAUSSIANQUAD = 7, // Not currently implemented + SVGA3D_TEX_FILTER_MAX +} SVGA3dTextureFilter; + +typedef enum { + SVGA3D_TEX_TRANSFORM_OFF = 0, + SVGA3D_TEX_TRANSFORM_S = (1 << 0), + SVGA3D_TEX_TRANSFORM_T = (1 << 1), + SVGA3D_TEX_TRANSFORM_R = (1 << 2), + SVGA3D_TEX_TRANSFORM_Q = (1 << 3), + SVGA3D_TEX_PROJECTED = (1 << 15), +} SVGA3dTexTransformFlags; + +typedef enum { + SVGA3D_TEXCOORD_GEN_OFF = 0, + SVGA3D_TEXCOORD_GEN_EYE_POSITION = 1, + SVGA3D_TEXCOORD_GEN_EYE_NORMAL = 2, + SVGA3D_TEXCOORD_GEN_REFLECTIONVECTOR = 3, + SVGA3D_TEXCOORD_GEN_SPHERE = 4, + SVGA3D_TEXCOORD_GEN_MAX +} SVGA3dTextureCoordGen; + +/* + * Texture argument constants for texture combiner + */ +typedef enum { + SVGA3D_TA_INVALID = 0, + SVGA3D_TA_CONSTANT = 1, + SVGA3D_TA_PREVIOUS = 2, + SVGA3D_TA_DIFFUSE = 3, + SVGA3D_TA_TEXTURE = 4, + SVGA3D_TA_SPECULAR = 5, + SVGA3D_TA_MAX +} SVGA3dTextureArgData; + +#define SVGA3D_TM_MASK_LEN 4 + +/* Modifiers for texture argument constants defined above. */ +typedef enum { + SVGA3D_TM_NONE = 0, + SVGA3D_TM_ALPHA = (1 << SVGA3D_TM_MASK_LEN), + SVGA3D_TM_ONE_MINUS = (2 << SVGA3D_TM_MASK_LEN), +} SVGA3dTextureArgModifier; + +#define SVGA3D_INVALID_ID ((uint32)-1) +#define SVGA3D_MAX_CLIP_PLANES 6 + +/* + * This is the limit to the number of fixed-function texture + * transforms and texture coordinates we can support. It does *not* + * correspond to the number of texture image units (samplers) we + * support! + */ +#define SVGA3D_MAX_TEXTURE_COORDS 8 + +/* + * Vertex declarations + * + * Notes: + * + * SVGA3D_DECLUSAGE_POSITIONT is for pre-transformed vertices. If you + * draw with any POSITIONT vertex arrays, the programmable vertex + * pipeline will be implicitly disabled. Drawing will take place as if + * no vertex shader was bound. + */ + +typedef enum { + SVGA3D_DECLUSAGE_POSITION = 0, + SVGA3D_DECLUSAGE_BLENDWEIGHT, // 1 + SVGA3D_DECLUSAGE_BLENDINDICES, // 2 + SVGA3D_DECLUSAGE_NORMAL, // 3 + SVGA3D_DECLUSAGE_PSIZE, // 4 + SVGA3D_DECLUSAGE_TEXCOORD, // 5 + SVGA3D_DECLUSAGE_TANGENT, // 6 + SVGA3D_DECLUSAGE_BINORMAL, // 7 + SVGA3D_DECLUSAGE_TESSFACTOR, // 8 + SVGA3D_DECLUSAGE_POSITIONT, // 9 + SVGA3D_DECLUSAGE_COLOR, // 10 + SVGA3D_DECLUSAGE_FOG, // 11 + SVGA3D_DECLUSAGE_DEPTH, // 12 + SVGA3D_DECLUSAGE_SAMPLE, // 13 + SVGA3D_DECLUSAGE_MAX +} SVGA3dDeclUsage; + +typedef enum { + SVGA3D_DECLMETHOD_DEFAULT = 0, + SVGA3D_DECLMETHOD_PARTIALU, + SVGA3D_DECLMETHOD_PARTIALV, + SVGA3D_DECLMETHOD_CROSSUV, // Normal + SVGA3D_DECLMETHOD_UV, + SVGA3D_DECLMETHOD_LOOKUP, // Lookup a displacement map + SVGA3D_DECLMETHOD_LOOKUPPRESAMPLED, // Lookup a pre-sampled displacement map +} SVGA3dDeclMethod; + +typedef enum { + SVGA3D_DECLTYPE_FLOAT1 = 0, + SVGA3D_DECLTYPE_FLOAT2 = 1, + SVGA3D_DECLTYPE_FLOAT3 = 2, + SVGA3D_DECLTYPE_FLOAT4 = 3, + SVGA3D_DECLTYPE_D3DCOLOR = 4, + SVGA3D_DECLTYPE_UBYTE4 = 5, + SVGA3D_DECLTYPE_SHORT2 = 6, + SVGA3D_DECLTYPE_SHORT4 = 7, + SVGA3D_DECLTYPE_UBYTE4N = 8, + SVGA3D_DECLTYPE_SHORT2N = 9, + SVGA3D_DECLTYPE_SHORT4N = 10, + SVGA3D_DECLTYPE_USHORT2N = 11, + SVGA3D_DECLTYPE_USHORT4N = 12, + SVGA3D_DECLTYPE_UDEC3 = 13, + SVGA3D_DECLTYPE_DEC3N = 14, + SVGA3D_DECLTYPE_FLOAT16_2 = 15, + SVGA3D_DECLTYPE_FLOAT16_4 = 16, + SVGA3D_DECLTYPE_MAX, +} SVGA3dDeclType; + +/* + * This structure is used for the divisor for geometry instancing; + * it's a direct translation of the Direct3D equivalent. + */ +typedef union { + struct { + /* + * For index data, this number represents the number of instances to draw. + * For instance data, this number represents the number of + * instances/vertex in this stream + */ + uint32 count : 30; + + /* + * This is 1 if this is supposed to be the data that is repeated for + * every instance. + */ + uint32 indexedData : 1; + + /* + * This is 1 if this is supposed to be the per-instance data. + */ + uint32 instanceData : 1; + }; + + uint32 value; +} SVGA3dVertexDivisor; + +typedef enum { + SVGA3D_PRIMITIVE_INVALID = 0, + SVGA3D_PRIMITIVE_TRIANGLELIST = 1, + SVGA3D_PRIMITIVE_POINTLIST = 2, + SVGA3D_PRIMITIVE_LINELIST = 3, + SVGA3D_PRIMITIVE_LINESTRIP = 4, + SVGA3D_PRIMITIVE_TRIANGLESTRIP = 5, + SVGA3D_PRIMITIVE_TRIANGLEFAN = 6, + SVGA3D_PRIMITIVE_MAX +} SVGA3dPrimitiveType; + +typedef enum { + SVGA3D_COORDINATE_INVALID = 0, + SVGA3D_COORDINATE_LEFTHANDED = 1, + SVGA3D_COORDINATE_RIGHTHANDED = 2, + SVGA3D_COORDINATE_MAX +} SVGA3dCoordinateType; + +typedef enum { + SVGA3D_TRANSFORM_INVALID = 0, + SVGA3D_TRANSFORM_WORLD = 1, + SVGA3D_TRANSFORM_VIEW = 2, + SVGA3D_TRANSFORM_PROJECTION = 3, + SVGA3D_TRANSFORM_TEXTURE0 = 4, + SVGA3D_TRANSFORM_TEXTURE1 = 5, + SVGA3D_TRANSFORM_TEXTURE2 = 6, + SVGA3D_TRANSFORM_TEXTURE3 = 7, + SVGA3D_TRANSFORM_TEXTURE4 = 8, + SVGA3D_TRANSFORM_TEXTURE5 = 9, + SVGA3D_TRANSFORM_TEXTURE6 = 10, + SVGA3D_TRANSFORM_TEXTURE7 = 11, + SVGA3D_TRANSFORM_WORLD1 = 12, + SVGA3D_TRANSFORM_WORLD2 = 13, + SVGA3D_TRANSFORM_WORLD3 = 14, + SVGA3D_TRANSFORM_MAX +} SVGA3dTransformType; + +typedef enum { + SVGA3D_LIGHTTYPE_INVALID = 0, + SVGA3D_LIGHTTYPE_POINT = 1, + SVGA3D_LIGHTTYPE_SPOT1 = 2, /* 1-cone, in degrees */ + SVGA3D_LIGHTTYPE_SPOT2 = 3, /* 2-cone, in radians */ + SVGA3D_LIGHTTYPE_DIRECTIONAL = 4, + SVGA3D_LIGHTTYPE_MAX +} SVGA3dLightType; + +typedef enum { + SVGA3D_CUBEFACE_POSX = 0, + SVGA3D_CUBEFACE_NEGX = 1, + SVGA3D_CUBEFACE_POSY = 2, + SVGA3D_CUBEFACE_NEGY = 3, + SVGA3D_CUBEFACE_POSZ = 4, + SVGA3D_CUBEFACE_NEGZ = 5, +} SVGA3dCubeFace; + +typedef enum { + SVGA3D_SHADERTYPE_COMPILED_DX8 = 0, + SVGA3D_SHADERTYPE_VS = 1, + SVGA3D_SHADERTYPE_PS = 2, + SVGA3D_SHADERTYPE_MAX +} SVGA3dShaderType; + +typedef enum { + SVGA3D_CONST_TYPE_FLOAT = 0, + SVGA3D_CONST_TYPE_INT = 1, + SVGA3D_CONST_TYPE_BOOL = 2, +} SVGA3dShaderConstType; + +#define SVGA3D_MAX_SURFACE_FACES 6 + +typedef enum { + SVGA3D_STRETCH_BLT_POINT = 0, + SVGA3D_STRETCH_BLT_LINEAR = 1, + SVGA3D_STRETCH_BLT_MAX +} SVGA3dStretchBltMode; + +typedef enum { + SVGA3D_QUERYTYPE_OCCLUSION = 0, + SVGA3D_QUERYTYPE_MAX +} SVGA3dQueryType; + +typedef enum { + SVGA3D_QUERYSTATE_PENDING = 0, /* Waiting on the host (set by guest) */ + SVGA3D_QUERYSTATE_SUCCEEDED = 1, /* Completed successfully (set by host) */ + SVGA3D_QUERYSTATE_FAILED = 2, /* Completed unsuccessfully (set by host) */ + SVGA3D_QUERYSTATE_NEW = 3, /* Never submitted (For guest use only) */ +} SVGA3dQueryState; + +typedef enum { + SVGA3D_WRITE_HOST_VRAM = 1, + SVGA3D_READ_HOST_VRAM = 2, +} SVGA3dTransferType; + +/* + * The maximum number vertex arrays we're guaranteed to support in + * SVGA_3D_CMD_DRAWPRIMITIVES. + */ +#define SVGA3D_MAX_VERTEX_ARRAYS 32 + +/* + * Identifiers for commands in the command FIFO. + * + * IDs between 1000 and 1039 (inclusive) were used by obsolete versions of + * the SVGA3D protocol and remain reserved; they should not be used in the + * future. + * + * IDs between 1040 and 1999 (inclusive) are available for use by the + * current SVGA3D protocol. + * + * FIFO clients other than SVGA3D should stay below 1000, or at 2000 + * and up. + */ + +#define SVGA_3D_CMD_LEGACY_BASE 1000 +#define SVGA_3D_CMD_BASE 1040 + +#define SVGA_3D_CMD_SURFACE_DEFINE SVGA_3D_CMD_BASE + 0 +#define SVGA_3D_CMD_SURFACE_DESTROY SVGA_3D_CMD_BASE + 1 +#define SVGA_3D_CMD_SURFACE_COPY SVGA_3D_CMD_BASE + 2 +#define SVGA_3D_CMD_SURFACE_STRETCHBLT SVGA_3D_CMD_BASE + 3 +#define SVGA_3D_CMD_SURFACE_DMA SVGA_3D_CMD_BASE + 4 +#define SVGA_3D_CMD_CONTEXT_DEFINE SVGA_3D_CMD_BASE + 5 +#define SVGA_3D_CMD_CONTEXT_DESTROY SVGA_3D_CMD_BASE + 6 +#define SVGA_3D_CMD_SETTRANSFORM SVGA_3D_CMD_BASE + 7 +#define SVGA_3D_CMD_SETZRANGE SVGA_3D_CMD_BASE + 8 +#define SVGA_3D_CMD_SETRENDERSTATE SVGA_3D_CMD_BASE + 9 +#define SVGA_3D_CMD_SETRENDERTARGET SVGA_3D_CMD_BASE + 10 +#define SVGA_3D_CMD_SETTEXTURESTATE SVGA_3D_CMD_BASE + 11 +#define SVGA_3D_CMD_SETMATERIAL SVGA_3D_CMD_BASE + 12 +#define SVGA_3D_CMD_SETLIGHTDATA SVGA_3D_CMD_BASE + 13 +#define SVGA_3D_CMD_SETLIGHTENABLED SVGA_3D_CMD_BASE + 14 +#define SVGA_3D_CMD_SETVIEWPORT SVGA_3D_CMD_BASE + 15 +#define SVGA_3D_CMD_SETCLIPPLANE SVGA_3D_CMD_BASE + 16 +#define SVGA_3D_CMD_CLEAR SVGA_3D_CMD_BASE + 17 +#define SVGA_3D_CMD_PRESENT SVGA_3D_CMD_BASE + 18 // Deprecated +#define SVGA_3D_CMD_SHADER_DEFINE SVGA_3D_CMD_BASE + 19 +#define SVGA_3D_CMD_SHADER_DESTROY SVGA_3D_CMD_BASE + 20 +#define SVGA_3D_CMD_SET_SHADER SVGA_3D_CMD_BASE + 21 +#define SVGA_3D_CMD_SET_SHADER_CONST SVGA_3D_CMD_BASE + 22 +#define SVGA_3D_CMD_DRAW_PRIMITIVES SVGA_3D_CMD_BASE + 23 +#define SVGA_3D_CMD_SETSCISSORRECT SVGA_3D_CMD_BASE + 24 +#define SVGA_3D_CMD_BEGIN_QUERY SVGA_3D_CMD_BASE + 25 +#define SVGA_3D_CMD_END_QUERY SVGA_3D_CMD_BASE + 26 +#define SVGA_3D_CMD_WAIT_FOR_QUERY SVGA_3D_CMD_BASE + 27 +#define SVGA_3D_CMD_PRESENT_READBACK SVGA_3D_CMD_BASE + 28 // Deprecated +#define SVGA_3D_CMD_BLIT_SURFACE_TO_SCREEN SVGA_3D_CMD_BASE + 29 +#define SVGA_3D_CMD_MAX SVGA_3D_CMD_BASE + 30 + +#define SVGA_3D_CMD_FUTURE_MAX 2000 + +/* + * Common substructures used in multiple FIFO commands: + */ + +typedef struct { + union { + struct { + uint16 function; // SVGA3dFogFunction + uint8 type; // SVGA3dFogType + uint8 base; // SVGA3dFogBase + }; + uint32 uintValue; + }; +} SVGA3dFogMode; + +/* + * Uniquely identify one image (a 1D/2D/3D array) from a surface. This + * is a surface ID as well as face/mipmap indices. + */ + +typedef +struct SVGA3dSurfaceImageId { + uint32 sid; + uint32 face; + uint32 mipmap; +} SVGA3dSurfaceImageId; + +typedef +struct SVGA3dGuestImage { + SVGAGuestPtr ptr; + + /* + * A note on interpretation of pitch: This value of pitch is the + * number of bytes between vertically adjacent image + * blocks. Normally this is the number of bytes between the first + * pixel of two adjacent scanlines. With compressed textures, + * however, this may represent the number of bytes between + * compression blocks rather than between rows of pixels. + * + * XXX: Compressed textures currently must be tightly packed in guest memory. + * + * If the image is 1-dimensional, pitch is ignored. + * + * If 'pitch' is zero, the SVGA3D device calculates a pitch value + * assuming each row of blocks is tightly packed. + */ + uint32 pitch; +} SVGA3dGuestImage; + + +/* + * FIFO command format definitions: + */ + +/* + * The data size header following cmdNum for every 3d command + */ +typedef +struct { + uint32 id; + uint32 size; +} SVGA3dCmdHeader; + +/* + * A surface is a hierarchy of host VRAM surfaces: 1D, 2D, or 3D, with + * optional mipmaps and cube faces. + */ + +typedef +struct { + uint32 width; + uint32 height; + uint32 depth; +} SVGA3dSize; + +typedef enum { + SVGA3D_SURFACE_CUBEMAP = (1 << 0), + SVGA3D_SURFACE_HINT_STATIC = (1 << 1), + SVGA3D_SURFACE_HINT_DYNAMIC = (1 << 2), + SVGA3D_SURFACE_HINT_INDEXBUFFER = (1 << 3), + SVGA3D_SURFACE_HINT_VERTEXBUFFER = (1 << 4), + SVGA3D_SURFACE_HINT_TEXTURE = (1 << 5), + SVGA3D_SURFACE_HINT_RENDERTARGET = (1 << 6), + SVGA3D_SURFACE_HINT_DEPTHSTENCIL = (1 << 7), + SVGA3D_SURFACE_HINT_WRITEONLY = (1 << 8), +} SVGA3dSurfaceFlags; + +typedef +struct { + uint32 numMipLevels; +} SVGA3dSurfaceFace; + +typedef +struct { + uint32 sid; + SVGA3dSurfaceFlags surfaceFlags; + SVGA3dSurfaceFormat format; + SVGA3dSurfaceFace face[SVGA3D_MAX_SURFACE_FACES]; + /* + * Followed by an SVGA3dSize structure for each mip level in each face. + * + * A note on surface sizes: Sizes are always specified in pixels, + * even if the true surface size is not a multiple of the minimum + * block size of the surface's format. For example, a 3x3x1 DXT1 + * compressed texture would actually be stored as a 4x4x1 image in + * memory. + */ +} SVGA3dCmdDefineSurface; /* SVGA_3D_CMD_SURFACE_DEFINE */ + +typedef +struct { + uint32 sid; +} SVGA3dCmdDestroySurface; /* SVGA_3D_CMD_SURFACE_DESTROY */ + +typedef +struct { + uint32 cid; +} SVGA3dCmdDefineContext; /* SVGA_3D_CMD_CONTEXT_DEFINE */ + +typedef +struct { + uint32 cid; +} SVGA3dCmdDestroyContext; /* SVGA_3D_CMD_CONTEXT_DESTROY */ + +typedef +struct { + uint32 cid; + SVGA3dClearFlag clearFlag; + uint32 color; + float depth; + uint32 stencil; + /* Followed by variable number of SVGA3dRect structures */ +} SVGA3dCmdClear; /* SVGA_3D_CMD_CLEAR */ + +typedef +struct SVGA3dCopyRect { + uint32 x; + uint32 y; + uint32 w; + uint32 h; + uint32 srcx; + uint32 srcy; +} SVGA3dCopyRect; + +typedef +struct SVGA3dCopyBox { + uint32 x; + uint32 y; + uint32 z; + uint32 w; + uint32 h; + uint32 d; + uint32 srcx; + uint32 srcy; + uint32 srcz; +} SVGA3dCopyBox; + +typedef +struct { + uint32 x; + uint32 y; + uint32 w; + uint32 h; +} SVGA3dRect; + +typedef +struct { + uint32 x; + uint32 y; + uint32 z; + uint32 w; + uint32 h; + uint32 d; +} SVGA3dBox; + +typedef +struct { + uint32 x; + uint32 y; + uint32 z; +} SVGA3dPoint; + +typedef +struct { + SVGA3dLightType type; + SVGA3dBool inWorldSpace; + float diffuse[4]; + float specular[4]; + float ambient[4]; + float position[4]; + float direction[4]; + float range; + float falloff; + float attenuation0; + float attenuation1; + float attenuation2; + float theta; + float phi; +} SVGA3dLightData; + +typedef +struct { + uint32 sid; + /* Followed by variable number of SVGA3dCopyRect structures */ +} SVGA3dCmdPresent; /* SVGA_3D_CMD_PRESENT */ + +typedef +struct { + SVGA3dRenderStateName state; + union { + uint32 uintValue; + float floatValue; + }; +} SVGA3dRenderState; + +typedef +struct { + uint32 cid; + /* Followed by variable number of SVGA3dRenderState structures */ +} SVGA3dCmdSetRenderState; /* SVGA_3D_CMD_SETRENDERSTATE */ + +typedef +struct { + uint32 cid; + SVGA3dRenderTargetType type; + SVGA3dSurfaceImageId target; +} SVGA3dCmdSetRenderTarget; /* SVGA_3D_CMD_SETRENDERTARGET */ + +typedef +struct { + SVGA3dSurfaceImageId src; + SVGA3dSurfaceImageId dest; + /* Followed by variable number of SVGA3dCopyBox structures */ +} SVGA3dCmdSurfaceCopy; /* SVGA_3D_CMD_SURFACE_COPY */ + +typedef +struct { + SVGA3dSurfaceImageId src; + SVGA3dSurfaceImageId dest; + SVGA3dBox boxSrc; + SVGA3dBox boxDest; + SVGA3dStretchBltMode mode; +} SVGA3dCmdSurfaceStretchBlt; /* SVGA_3D_CMD_SURFACE_STRETCHBLT */ + +typedef +struct { + /* + * If the discard flag is present in a surface DMA operation, the host may + * discard the contents of the current mipmap level and face of the target + * surface before applying the surface DMA contents. + */ + uint32 discard : 1; + + /* + * If the unsynchronized flag is present, the host may perform this upload + * without syncing to pending reads on this surface. + */ + uint32 unsynchronized : 1; + + /* + * Guests *MUST* set the reserved bits to 0 before submitting the command + * suffix as future flags may occupy these bits. + */ + uint32 reserved : 30; +} SVGA3dSurfaceDMAFlags; + +typedef +struct { + SVGA3dGuestImage guest; + SVGA3dSurfaceImageId host; + SVGA3dTransferType transfer; + /* + * Followed by variable number of SVGA3dCopyBox structures. For consistency + * in all clipping logic and coordinate translation, we define the + * "source" in each copyBox as the guest image and the + * "destination" as the host image, regardless of transfer + * direction. + * + * For efficiency, the SVGA3D device is free to copy more data than + * specified. For example, it may round copy boxes outwards such + * that they lie on particular alignment boundaries. + */ +} SVGA3dCmdSurfaceDMA; /* SVGA_3D_CMD_SURFACE_DMA */ + +/* + * SVGA3dCmdSurfaceDMASuffix -- + * + * This is a command suffix that will appear after a SurfaceDMA command in + * the FIFO. It contains some extra information that hosts may use to + * optimize performance or protect the guest. This suffix exists to preserve + * backwards compatibility while also allowing for new functionality to be + * implemented. + */ + +typedef +struct { + uint32 suffixSize; + + /* + * The maximum offset is used to determine the maximum offset from the + * guestPtr base address that will be accessed or written to during this + * surfaceDMA. If the suffix is supported, the host will respect this + * boundary while performing surface DMAs. + * + * Defaults to MAX_UINT32 + */ + uint32 maximumOffset; + + /* + * A set of flags that describes optimizations that the host may perform + * while performing this surface DMA operation. The guest should never rely + * on behaviour that is different when these flags are set for correctness. + * + * Defaults to 0 + */ + SVGA3dSurfaceDMAFlags flags; +} SVGA3dCmdSurfaceDMASuffix; + +/* + * SVGA_3D_CMD_DRAW_PRIMITIVES -- + * + * This command is the SVGA3D device's generic drawing entry point. + * It can draw multiple ranges of primitives, optionally using an + * index buffer, using an arbitrary collection of vertex buffers. + * + * Each SVGA3dVertexDecl defines a distinct vertex array to bind + * during this draw call. The declarations specify which surface + * the vertex data lives in, what that vertex data is used for, + * and how to interpret it. + * + * Each SVGA3dPrimitiveRange defines a collection of primitives + * to render using the same vertex arrays. An index buffer is + * optional. + */ + +typedef +struct { + /* + * A range hint is an optional specification for the range of indices + * in an SVGA3dArray that will be used. If 'last' is zero, it is assumed + * that the entire array will be used. + * + * These are only hints. The SVGA3D device may use them for + * performance optimization if possible, but it's also allowed to + * ignore these values. + */ + uint32 first; + uint32 last; +} SVGA3dArrayRangeHint; + +typedef +struct { + /* + * Define the origin and shape of a vertex or index array. Both + * 'offset' and 'stride' are in bytes. The provided surface will be + * reinterpreted as a flat array of bytes in the same format used + * by surface DMA operations. To avoid unnecessary conversions, the + * surface should be created with the SVGA3D_BUFFER format. + * + * Index 0 in the array starts 'offset' bytes into the surface. + * Index 1 begins at byte 'offset + stride', etc. Array indices may + * not be negative. + */ + uint32 surfaceId; + uint32 offset; + uint32 stride; +} SVGA3dArray; + +typedef +struct { + /* + * Describe a vertex array's data type, and define how it is to be + * used by the fixed function pipeline or the vertex shader. It + * isn't useful to have two VertexDecls with the same + * VertexArrayIdentity in one draw call. + */ + SVGA3dDeclType type; + SVGA3dDeclMethod method; + SVGA3dDeclUsage usage; + uint32 usageIndex; +} SVGA3dVertexArrayIdentity; + +typedef +struct { + SVGA3dVertexArrayIdentity identity; + SVGA3dArray array; + SVGA3dArrayRangeHint rangeHint; +} SVGA3dVertexDecl; + +typedef +struct { + /* + * Define a group of primitives to render, from sequential indices. + * + * The value of 'primitiveType' and 'primitiveCount' imply the + * total number of vertices that will be rendered. + */ + SVGA3dPrimitiveType primType; + uint32 primitiveCount; + + /* + * Optional index buffer. If indexArray.surfaceId is + * SVGA3D_INVALID_ID, we render without an index buffer. Rendering + * without an index buffer is identical to rendering with an index + * buffer containing the sequence [0, 1, 2, 3, ...]. + * + * If an index buffer is in use, indexWidth specifies the width in + * bytes of each index value. It must be less than or equal to + * indexArray.stride. + * + * (Currently, the SVGA3D device requires index buffers to be tightly + * packed. In other words, indexWidth == indexArray.stride) + */ + SVGA3dArray indexArray; + uint32 indexWidth; + + /* + * Optional index bias. This number is added to all indices from + * indexArray before they are used as vertex array indices. This + * can be used in multiple ways: + * + * - When not using an indexArray, this bias can be used to + * specify where in the vertex arrays to begin rendering. + * + * - A positive number here is equivalent to increasing the + * offset in each vertex array. + * + * - A negative number can be used to render using a small + * vertex array and an index buffer that contains large + * values. This may be used by some applications that + * crop a vertex buffer without modifying their index + * buffer. + * + * Note that rendering with a negative bias value may be slower and + * use more memory than rendering with a positive or zero bias. + */ + int32 indexBias; +} SVGA3dPrimitiveRange; + +typedef +struct { + uint32 cid; + uint32 numVertexDecls; + uint32 numRanges; + + /* + * There are two variable size arrays after the + * SVGA3dCmdDrawPrimitives structure. In order, + * they are: + * + * 1. SVGA3dVertexDecl, quantity 'numVertexDecls' + * 2. SVGA3dPrimitiveRange, quantity 'numRanges' + * 3. Optionally, SVGA3dVertexDivisor, quantity 'numVertexDecls' (contains + * the frequency divisor for this the corresponding vertex decl) + */ +} SVGA3dCmdDrawPrimitives; /* SVGA_3D_CMD_DRAWPRIMITIVES */ + +typedef +struct { + uint32 stage; + SVGA3dTextureStateName name; + union { + uint32 value; + float floatValue; + }; +} SVGA3dTextureState; + +typedef +struct { + uint32 cid; + /* Followed by variable number of SVGA3dTextureState structures */ +} SVGA3dCmdSetTextureState; /* SVGA_3D_CMD_SETTEXTURESTATE */ + +typedef +struct { + uint32 cid; + SVGA3dTransformType type; + float matrix[16]; +} SVGA3dCmdSetTransform; /* SVGA_3D_CMD_SETTRANSFORM */ + +typedef +struct { + float min; + float max; +} SVGA3dZRange; + +typedef +struct { + uint32 cid; + SVGA3dZRange zRange; +} SVGA3dCmdSetZRange; /* SVGA_3D_CMD_SETZRANGE */ + +typedef +struct { + float diffuse[4]; + float ambient[4]; + float specular[4]; + float emissive[4]; + float shininess; +} SVGA3dMaterial; + +typedef +struct { + uint32 cid; + SVGA3dFace face; + SVGA3dMaterial material; +} SVGA3dCmdSetMaterial; /* SVGA_3D_CMD_SETMATERIAL */ + +typedef +struct { + uint32 cid; + uint32 index; + SVGA3dLightData data; +} SVGA3dCmdSetLightData; /* SVGA_3D_CMD_SETLIGHTDATA */ + +typedef +struct { + uint32 cid; + uint32 index; + uint32 enabled; +} SVGA3dCmdSetLightEnabled; /* SVGA_3D_CMD_SETLIGHTENABLED */ + +typedef +struct { + uint32 cid; + SVGA3dRect rect; +} SVGA3dCmdSetViewport; /* SVGA_3D_CMD_SETVIEWPORT */ + +typedef +struct { + uint32 cid; + SVGA3dRect rect; +} SVGA3dCmdSetScissorRect; /* SVGA_3D_CMD_SETSCISSORRECT */ + +typedef +struct { + uint32 cid; + uint32 index; + float plane[4]; +} SVGA3dCmdSetClipPlane; /* SVGA_3D_CMD_SETCLIPPLANE */ + +typedef +struct { + uint32 cid; + uint32 shid; + SVGA3dShaderType type; + /* Followed by variable number of DWORDs for shader bycode */ +} SVGA3dCmdDefineShader; /* SVGA_3D_CMD_SHADER_DEFINE */ + +typedef +struct { + uint32 cid; + uint32 shid; + SVGA3dShaderType type; +} SVGA3dCmdDestroyShader; /* SVGA_3D_CMD_SHADER_DESTROY */ + +typedef +struct { + uint32 cid; + uint32 reg; /* register number */ + SVGA3dShaderType type; + SVGA3dShaderConstType ctype; + uint32 values[4]; +} SVGA3dCmdSetShaderConst; /* SVGA_3D_CMD_SET_SHADER_CONST */ + +typedef +struct { + uint32 cid; + SVGA3dShaderType type; + uint32 shid; +} SVGA3dCmdSetShader; /* SVGA_3D_CMD_SET_SHADER */ + +typedef +struct { + uint32 cid; + SVGA3dQueryType type; +} SVGA3dCmdBeginQuery; /* SVGA_3D_CMD_BEGIN_QUERY */ + +typedef +struct { + uint32 cid; + SVGA3dQueryType type; + SVGAGuestPtr guestResult; /* Points to an SVGA3dQueryResult structure */ +} SVGA3dCmdEndQuery; /* SVGA_3D_CMD_END_QUERY */ + +typedef +struct { + uint32 cid; /* Same parameters passed to END_QUERY */ + SVGA3dQueryType type; + SVGAGuestPtr guestResult; +} SVGA3dCmdWaitForQuery; /* SVGA_3D_CMD_WAIT_FOR_QUERY */ + +typedef +struct { + uint32 totalSize; /* Set by guest before query is ended. */ + SVGA3dQueryState state; /* Set by host or guest. See SVGA3dQueryState. */ + union { /* Set by host on exit from PENDING state */ + uint32 result32; + }; +} SVGA3dQueryResult; + +/* + * SVGA_3D_CMD_BLIT_SURFACE_TO_SCREEN -- + * + * This is a blit from an SVGA3D surface to a Screen Object. Just + * like GMR-to-screen blits, this blit may be directed at a + * specific screen or to the virtual coordinate space. + * + * The blit copies from a rectangular region of an SVGA3D surface + * image to a rectangular region of a screen or screens. + * + * This command takes an optional variable-length list of clipping + * rectangles after the body of the command. If no rectangles are + * specified, there is no clipping region. The entire destRect is + * drawn to. If one or more rectangles are included, they describe + * a clipping region. The clip rectangle coordinates are measured + * relative to the top-left corner of destRect. + * + * This clipping region serves multiple purposes: + * + * - It can be used to perform an irregularly shaped blit more + * efficiently than by issuing many separate blit commands. + * + * - It is equivalent to allowing blits with non-integer + * source coordinates. You could blit just one half-pixel + * of a source, for example, by specifying a larger + * destination rectangle than you need, then removing + * part of it using a clip rectangle. + * + * Availability: + * SVGA_FIFO_CAP_SCREEN_OBJECT + * + * Limitations: + * + * - Currently, no backend supports blits from a mipmap or face + * other than the first one. + */ + +typedef +struct { + SVGA3dSurfaceImageId srcImage; + SVGASignedRect srcRect; + uint32 destScreenId; /* Screen ID or SVGA_ID_INVALID for virt. coords */ + SVGASignedRect destRect; /* Supports scaling if src/rest different size */ + /* Clipping: zero or more SVGASignedRects follow */ +} SVGA3dCmdBlitSurfaceToScreen; /* SVGA_3D_CMD_BLIT_SURFACE_TO_SCREEN */ + + +/* + * Capability query index. + * + * Notes: + * + * 1. SVGA3D_DEVCAP_MAX_TEXTURES reflects the maximum number of + * fixed-function texture units available. Each of these units + * work in both FFP and Shader modes, and they support texture + * transforms and texture coordinates. The host may have additional + * texture image units that are only usable with shaders. + * + * 2. The BUFFER_FORMAT capabilities are deprecated, and they always + * return TRUE. Even on physical hardware that does not support + * these formats natively, the SVGA3D device will provide an emulation + * which should be invisible to the guest OS. + * + * In general, the SVGA3D device should support any operation on + * any surface format, it just may perform some of these + * operations in software depending on the capabilities of the + * available physical hardware. + * + * XXX: In the future, we will add capabilities that describe in + * detail what formats are supported in hardware for what kinds + * of operations. + */ + +typedef enum { + SVGA3D_DEVCAP_3D = 0, + SVGA3D_DEVCAP_MAX_LIGHTS = 1, + SVGA3D_DEVCAP_MAX_TEXTURES = 2, /* See note (1) */ + SVGA3D_DEVCAP_MAX_CLIP_PLANES = 3, + SVGA3D_DEVCAP_VERTEX_SHADER_VERSION = 4, + SVGA3D_DEVCAP_VERTEX_SHADER = 5, + SVGA3D_DEVCAP_FRAGMENT_SHADER_VERSION = 6, + SVGA3D_DEVCAP_FRAGMENT_SHADER = 7, + SVGA3D_DEVCAP_MAX_RENDER_TARGETS = 8, + SVGA3D_DEVCAP_S23E8_TEXTURES = 9, + SVGA3D_DEVCAP_S10E5_TEXTURES = 10, + SVGA3D_DEVCAP_MAX_FIXED_VERTEXBLEND = 11, + SVGA3D_DEVCAP_D16_BUFFER_FORMAT = 12, /* See note (2) */ + SVGA3D_DEVCAP_D24S8_BUFFER_FORMAT = 13, /* See note (2) */ + SVGA3D_DEVCAP_D24X8_BUFFER_FORMAT = 14, /* See note (2) */ + SVGA3D_DEVCAP_QUERY_TYPES = 15, + SVGA3D_DEVCAP_TEXTURE_GRADIENT_SAMPLING = 16, + SVGA3D_DEVCAP_MAX_POINT_SIZE = 17, + SVGA3D_DEVCAP_MAX_SHADER_TEXTURES = 18, + SVGA3D_DEVCAP_MAX_TEXTURE_WIDTH = 19, + SVGA3D_DEVCAP_MAX_TEXTURE_HEIGHT = 20, + SVGA3D_DEVCAP_MAX_VOLUME_EXTENT = 21, + SVGA3D_DEVCAP_MAX_TEXTURE_REPEAT = 22, + SVGA3D_DEVCAP_MAX_TEXTURE_ASPECT_RATIO = 23, + SVGA3D_DEVCAP_MAX_TEXTURE_ANISOTROPY = 24, + SVGA3D_DEVCAP_MAX_PRIMITIVE_COUNT = 25, + SVGA3D_DEVCAP_MAX_VERTEX_INDEX = 26, + SVGA3D_DEVCAP_MAX_VERTEX_SHADER_INSTRUCTIONS = 27, + SVGA3D_DEVCAP_MAX_FRAGMENT_SHADER_INSTRUCTIONS = 28, + SVGA3D_DEVCAP_MAX_VERTEX_SHADER_TEMPS = 29, + SVGA3D_DEVCAP_MAX_FRAGMENT_SHADER_TEMPS = 30, + SVGA3D_DEVCAP_TEXTURE_OPS = 31, + SVGA3D_DEVCAP_SURFACEFMT_X8R8G8B8 = 32, + SVGA3D_DEVCAP_SURFACEFMT_A8R8G8B8 = 33, + SVGA3D_DEVCAP_SURFACEFMT_A2R10G10B10 = 34, + SVGA3D_DEVCAP_SURFACEFMT_X1R5G5B5 = 35, + SVGA3D_DEVCAP_SURFACEFMT_A1R5G5B5 = 36, + SVGA3D_DEVCAP_SURFACEFMT_A4R4G4B4 = 37, + SVGA3D_DEVCAP_SURFACEFMT_R5G6B5 = 38, + SVGA3D_DEVCAP_SURFACEFMT_LUMINANCE16 = 39, + SVGA3D_DEVCAP_SURFACEFMT_LUMINANCE8_ALPHA8 = 40, + SVGA3D_DEVCAP_SURFACEFMT_ALPHA8 = 41, + SVGA3D_DEVCAP_SURFACEFMT_LUMINANCE8 = 42, + SVGA3D_DEVCAP_SURFACEFMT_Z_D16 = 43, + SVGA3D_DEVCAP_SURFACEFMT_Z_D24S8 = 44, + SVGA3D_DEVCAP_SURFACEFMT_Z_D24X8 = 45, + SVGA3D_DEVCAP_SURFACEFMT_DXT1 = 46, + SVGA3D_DEVCAP_SURFACEFMT_DXT2 = 47, + SVGA3D_DEVCAP_SURFACEFMT_DXT3 = 48, + SVGA3D_DEVCAP_SURFACEFMT_DXT4 = 49, + SVGA3D_DEVCAP_SURFACEFMT_DXT5 = 50, + SVGA3D_DEVCAP_SURFACEFMT_BUMPX8L8V8U8 = 51, + SVGA3D_DEVCAP_SURFACEFMT_A2W10V10U10 = 52, + SVGA3D_DEVCAP_SURFACEFMT_BUMPU8V8 = 53, + SVGA3D_DEVCAP_SURFACEFMT_Q8W8V8U8 = 54, + SVGA3D_DEVCAP_SURFACEFMT_CxV8U8 = 55, + SVGA3D_DEVCAP_SURFACEFMT_R_S10E5 = 56, + SVGA3D_DEVCAP_SURFACEFMT_R_S23E8 = 57, + SVGA3D_DEVCAP_SURFACEFMT_RG_S10E5 = 58, + SVGA3D_DEVCAP_SURFACEFMT_RG_S23E8 = 59, + SVGA3D_DEVCAP_SURFACEFMT_ARGB_S10E5 = 60, + SVGA3D_DEVCAP_SURFACEFMT_ARGB_S23E8 = 61, + SVGA3D_DEVCAP_MAX_VERTEX_SHADER_TEXTURES = 63, + + /* + * Note that MAX_SIMULTANEOUS_RENDER_TARGETS is a maximum count of color + * render targets. This does no include the depth or stencil targets. + */ + SVGA3D_DEVCAP_MAX_SIMULTANEOUS_RENDER_TARGETS = 64, + + SVGA3D_DEVCAP_SURFACEFMT_V16U16 = 65, + SVGA3D_DEVCAP_SURFACEFMT_G16R16 = 66, + SVGA3D_DEVCAP_SURFACEFMT_A16B16G16R16 = 67, + SVGA3D_DEVCAP_SURFACEFMT_UYVY = 68, + SVGA3D_DEVCAP_SURFACEFMT_YUY2 = 69, + + /* + * Don't add new caps into the previous section; the values in this + * enumeration must not change. You can put new values right before + * SVGA3D_DEVCAP_MAX. + */ + SVGA3D_DEVCAP_MAX /* This must be the last index. */ +} SVGA3dDevCapIndex; + +typedef union { + Bool b; + uint32 u; + int32 i; + float f; +} SVGA3dDevCapResult; + +#endif /* _SVGA3D_REG_H_ */ --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/svga_escape.h +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/svga_escape.h @@ -0,0 +1,89 @@ +/********************************************************** + * Copyright 2007-2009 VMware, Inc. 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 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. + * + **********************************************************/ + +/* + * svga_escape.h -- + * + * Definitions for our own (vendor-specific) SVGA Escape commands. + */ + +#ifndef _SVGA_ESCAPE_H_ +#define _SVGA_ESCAPE_H_ + + +/* + * Namespace IDs for the escape command + */ + +#define SVGA_ESCAPE_NSID_VMWARE 0x00000000 +#define SVGA_ESCAPE_NSID_DEVEL 0xFFFFFFFF + + +/* + * Within SVGA_ESCAPE_NSID_VMWARE, we multiplex commands according to + * the first DWORD of escape data (after the nsID and size). As a + * guideline we're using the high word and low word as a major and + * minor command number, respectively. + * + * Major command number allocation: + * + * 0000: Reserved + * 0001: SVGA_ESCAPE_VMWARE_LOG (svga_binary_logger.h) + * 0002: SVGA_ESCAPE_VMWARE_VIDEO (svga_overlay.h) + * 0003: SVGA_ESCAPE_VMWARE_HINT (svga_escape.h) + */ + +#define SVGA_ESCAPE_VMWARE_MAJOR_MASK 0xFFFF0000 + + +/* + * SVGA Hint commands. + * + * These escapes let the SVGA driver provide optional information to + * he host about the state of the guest or guest applications. The + * host can use these hints to make user interface or performance + * decisions. + * + * Notes: + * + * - SVGA_ESCAPE_VMWARE_HINT_FULLSCREEN is deprecated for guests + * that use the SVGA Screen Object extension. Instead of sending + * this escape, use the SVGA_SCREEN_FULLSCREEN_HINT flag on your + * Screen Object. + */ + +#define SVGA_ESCAPE_VMWARE_HINT 0x00030000 +#define SVGA_ESCAPE_VMWARE_HINT_FULLSCREEN 0x00030001 // Deprecated + +typedef +struct { + uint32 command; + uint32 fullscreen; + struct { + int32 x, y; + } monitorPosition; +} SVGAEscapeHintFullscreen; + +#endif /* _SVGA_ESCAPE_H_ */ --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/svga_overlay.h +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/svga_overlay.h @@ -0,0 +1,201 @@ +/********************************************************** + * Copyright 2007-2009 VMware, Inc. 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 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. + * + **********************************************************/ + +/* + * svga_overlay.h -- + * + * Definitions for video-overlay support. + */ + +#ifndef _SVGA_OVERLAY_H_ +#define _SVGA_OVERLAY_H_ + +#include "svga_reg.h" + +/* + * Video formats we support + */ + +#define VMWARE_FOURCC_YV12 0x32315659 // 'Y' 'V' '1' '2' +#define VMWARE_FOURCC_YUY2 0x32595559 // 'Y' 'U' 'Y' '2' +#define VMWARE_FOURCC_UYVY 0x59565955 // 'U' 'Y' 'V' 'Y' + +typedef enum { + SVGA_OVERLAY_FORMAT_INVALID = 0, + SVGA_OVERLAY_FORMAT_YV12 = VMWARE_FOURCC_YV12, + SVGA_OVERLAY_FORMAT_YUY2 = VMWARE_FOURCC_YUY2, + SVGA_OVERLAY_FORMAT_UYVY = VMWARE_FOURCC_UYVY, +} SVGAOverlayFormat; + +#define SVGA_VIDEO_COLORKEY_MASK 0x00ffffff + +#define SVGA_ESCAPE_VMWARE_VIDEO 0x00020000 + +#define SVGA_ESCAPE_VMWARE_VIDEO_SET_REGS 0x00020001 + /* FIFO escape layout: + * Type, Stream Id, (Register Id, Value) pairs */ + +#define SVGA_ESCAPE_VMWARE_VIDEO_FLUSH 0x00020002 + /* FIFO escape layout: + * Type, Stream Id */ + +typedef +struct SVGAEscapeVideoSetRegs { + struct { + uint32 cmdType; + uint32 streamId; + } header; + + // May include zero or more items. + struct { + uint32 registerId; + uint32 value; + } items[1]; +} SVGAEscapeVideoSetRegs; + +typedef +struct SVGAEscapeVideoFlush { + uint32 cmdType; + uint32 streamId; +} SVGAEscapeVideoFlush; + + +/* + * Struct definitions for the video overlay commands built on + * SVGAFifoCmdEscape. + */ +typedef +struct { + uint32 command; + uint32 overlay; +} SVGAFifoEscapeCmdVideoBase; + +typedef +struct { + SVGAFifoEscapeCmdVideoBase videoCmd; +} SVGAFifoEscapeCmdVideoFlush; + +typedef +struct { + SVGAFifoEscapeCmdVideoBase videoCmd; + struct { + uint32 regId; + uint32 value; + } items[1]; +} SVGAFifoEscapeCmdVideoSetRegs; + +typedef +struct { + SVGAFifoEscapeCmdVideoBase videoCmd; + struct { + uint32 regId; + uint32 value; + } items[SVGA_VIDEO_NUM_REGS]; +} SVGAFifoEscapeCmdVideoSetAllRegs; + + +/* + *---------------------------------------------------------------------- + * + * VMwareVideoGetAttributes -- + * + * Computes the size, pitches and offsets for YUV frames. + * + * Results: + * TRUE on success; otherwise FALSE on failure. + * + * Side effects: + * Pitches and offsets for the given YUV frame are put in 'pitches' + * and 'offsets' respectively. They are both optional though. + * + *---------------------------------------------------------------------- + */ + +static inline bool +VMwareVideoGetAttributes(const SVGAOverlayFormat format, // IN + uint32 *width, // IN / OUT + uint32 *height, // IN / OUT + uint32 *size, // OUT + uint32 *pitches, // OUT (optional) + uint32 *offsets) // OUT (optional) +{ + int tmp; + + *width = (*width + 1) & ~1; + + if (offsets) { + offsets[0] = 0; + } + + switch (format) { + case VMWARE_FOURCC_YV12: + *height = (*height + 1) & ~1; + *size = (*width + 3) & ~3; + + if (pitches) { + pitches[0] = *size; + } + + *size *= *height; + + if (offsets) { + offsets[1] = *size; + } + + tmp = ((*width >> 1) + 3) & ~3; + + if (pitches) { + pitches[1] = pitches[2] = tmp; + } + + tmp *= (*height >> 1); + *size += tmp; + + if (offsets) { + offsets[2] = *size; + } + + *size += tmp; + break; + + case VMWARE_FOURCC_YUY2: + case VMWARE_FOURCC_UYVY: + *size = *width * 2; + + if (pitches) { + pitches[0] = *size; + } + + *size *= *height; + break; + + default: + return false; + } + + return true; +} + +#endif // _SVGA_OVERLAY_H_ --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/svga_reg.h +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/svga_reg.h @@ -0,0 +1,1346 @@ +/********************************************************** + * Copyright 1998-2009 VMware, Inc. 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 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. + * + **********************************************************/ + +/* + * svga_reg.h -- + * + * Virtual hardware definitions for the VMware SVGA II device. + */ + +#ifndef _SVGA_REG_H_ +#define _SVGA_REG_H_ + +/* + * PCI device IDs. + */ +#define PCI_VENDOR_ID_VMWARE 0x15AD +#define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405 + +/* + * Legal values for the SVGA_REG_CURSOR_ON register in old-fashioned + * cursor bypass mode. This is still supported, but no new guest + * drivers should use it. + */ +#define SVGA_CURSOR_ON_HIDE 0x0 /* Must be 0 to maintain backward compatibility */ +#define SVGA_CURSOR_ON_SHOW 0x1 /* Must be 1 to maintain backward compatibility */ +#define SVGA_CURSOR_ON_REMOVE_FROM_FB 0x2 /* Remove the cursor from the framebuffer because we need to see what's under it */ +#define SVGA_CURSOR_ON_RESTORE_TO_FB 0x3 /* Put the cursor back in the framebuffer so the user can see it */ + +/* + * The maximum framebuffer size that can traced for e.g. guests in VESA mode. + * The changeMap in the monitor is proportional to this number. Therefore, we'd + * like to keep it as small as possible to reduce monitor overhead (using + * SVGA_VRAM_MAX_SIZE for this increases the size of the shared area by over + * 4k!). + * + * NB: For compatibility reasons, this value must be greater than 0xff0000. + * See bug 335072. + */ +#define SVGA_FB_MAX_TRACEABLE_SIZE 0x1000000 + +#define SVGA_MAX_PSEUDOCOLOR_DEPTH 8 +#define SVGA_MAX_PSEUDOCOLORS (1 << SVGA_MAX_PSEUDOCOLOR_DEPTH) +#define SVGA_NUM_PALETTE_REGS (3 * SVGA_MAX_PSEUDOCOLORS) + +#define SVGA_MAGIC 0x900000UL +#define SVGA_MAKE_ID(ver) (SVGA_MAGIC << 8 | (ver)) + +/* Version 2 let the address of the frame buffer be unsigned on Win32 */ +#define SVGA_VERSION_2 2 +#define SVGA_ID_2 SVGA_MAKE_ID(SVGA_VERSION_2) + +/* Version 1 has new registers starting with SVGA_REG_CAPABILITIES so + PALETTE_BASE has moved */ +#define SVGA_VERSION_1 1 +#define SVGA_ID_1 SVGA_MAKE_ID(SVGA_VERSION_1) + +/* Version 0 is the initial version */ +#define SVGA_VERSION_0 0 +#define SVGA_ID_0 SVGA_MAKE_ID(SVGA_VERSION_0) + +/* "Invalid" value for all SVGA IDs. (Version ID, screen object ID, surface ID...) */ +#define SVGA_ID_INVALID 0xFFFFFFFF + +/* Port offsets, relative to BAR0 */ +#define SVGA_INDEX_PORT 0x0 +#define SVGA_VALUE_PORT 0x1 +#define SVGA_BIOS_PORT 0x2 +#define SVGA_IRQSTATUS_PORT 0x8 + +/* + * Interrupt source flags for IRQSTATUS_PORT and IRQMASK. + * + * Interrupts are only supported when the + * SVGA_CAP_IRQMASK capability is present. + */ +#define SVGA_IRQFLAG_ANY_FENCE 0x1 /* Any fence was passed */ +#define SVGA_IRQFLAG_FIFO_PROGRESS 0x2 /* Made forward progress in the FIFO */ +#define SVGA_IRQFLAG_FENCE_GOAL 0x4 /* SVGA_FIFO_FENCE_GOAL reached */ + +/* + * Registers + */ + +enum { + SVGA_REG_ID = 0, + SVGA_REG_ENABLE = 1, + SVGA_REG_WIDTH = 2, + SVGA_REG_HEIGHT = 3, + SVGA_REG_MAX_WIDTH = 4, + SVGA_REG_MAX_HEIGHT = 5, + SVGA_REG_DEPTH = 6, + SVGA_REG_BITS_PER_PIXEL = 7, /* Current bpp in the guest */ + SVGA_REG_PSEUDOCOLOR = 8, + SVGA_REG_RED_MASK = 9, + SVGA_REG_GREEN_MASK = 10, + SVGA_REG_BLUE_MASK = 11, + SVGA_REG_BYTES_PER_LINE = 12, + SVGA_REG_FB_START = 13, /* (Deprecated) */ + SVGA_REG_FB_OFFSET = 14, + SVGA_REG_VRAM_SIZE = 15, + SVGA_REG_FB_SIZE = 16, + + /* ID 0 implementation only had the above registers, then the palette */ + + SVGA_REG_CAPABILITIES = 17, + SVGA_REG_MEM_START = 18, /* (Deprecated) */ + SVGA_REG_MEM_SIZE = 19, + SVGA_REG_CONFIG_DONE = 20, /* Set when memory area configured */ + SVGA_REG_SYNC = 21, /* See "FIFO Synchronization Registers" */ + SVGA_REG_BUSY = 22, /* See "FIFO Synchronization Registers" */ + SVGA_REG_GUEST_ID = 23, /* Set guest OS identifier */ + SVGA_REG_CURSOR_ID = 24, /* (Deprecated) */ + SVGA_REG_CURSOR_X = 25, /* (Deprecated) */ + SVGA_REG_CURSOR_Y = 26, /* (Deprecated) */ + SVGA_REG_CURSOR_ON = 27, /* (Deprecated) */ + SVGA_REG_HOST_BITS_PER_PIXEL = 28, /* (Deprecated) */ + SVGA_REG_SCRATCH_SIZE = 29, /* Number of scratch registers */ + SVGA_REG_MEM_REGS = 30, /* Number of FIFO registers */ + SVGA_REG_NUM_DISPLAYS = 31, /* (Deprecated) */ + SVGA_REG_PITCHLOCK = 32, /* Fixed pitch for all modes */ + SVGA_REG_IRQMASK = 33, /* Interrupt mask */ + + /* Legacy multi-monitor support */ + SVGA_REG_NUM_GUEST_DISPLAYS = 34,/* Number of guest displays in X/Y direction */ + SVGA_REG_DISPLAY_ID = 35, /* Display ID for the following display attributes */ + SVGA_REG_DISPLAY_IS_PRIMARY = 36,/* Whether this is a primary display */ + SVGA_REG_DISPLAY_POSITION_X = 37,/* The display position x */ + SVGA_REG_DISPLAY_POSITION_Y = 38,/* The display position y */ + SVGA_REG_DISPLAY_WIDTH = 39, /* The display's width */ + SVGA_REG_DISPLAY_HEIGHT = 40, /* The display's height */ + + /* See "Guest memory regions" below. */ + SVGA_REG_GMR_ID = 41, + SVGA_REG_GMR_DESCRIPTOR = 42, + SVGA_REG_GMR_MAX_IDS = 43, + SVGA_REG_GMR_MAX_DESCRIPTOR_LENGTH = 44, + + SVGA_REG_TRACES = 45, /* Enable trace-based updates even when FIFO is on */ + SVGA_REG_TOP = 46, /* Must be 1 more than the last register */ + + SVGA_PALETTE_BASE = 1024, /* Base of SVGA color map */ + /* Next 768 (== 256*3) registers exist for colormap */ + + SVGA_SCRATCH_BASE = SVGA_PALETTE_BASE + SVGA_NUM_PALETTE_REGS + /* Base of scratch registers */ + /* Next reg[SVGA_REG_SCRATCH_SIZE] registers exist for scratch usage: + First 4 are reserved for VESA BIOS Extension; any remaining are for + the use of the current SVGA driver. */ +}; + + +/* + * Guest memory regions (GMRs): + * + * This is a new memory mapping feature available in SVGA devices + * which have the SVGA_CAP_GMR bit set. Previously, there were two + * fixed memory regions available with which to share data between the + * device and the driver: the FIFO ('MEM') and the framebuffer. GMRs + * are our name for an extensible way of providing arbitrary DMA + * buffers for use between the driver and the SVGA device. They are a + * new alternative to framebuffer memory, usable for both 2D and 3D + * graphics operations. + * + * Since GMR mapping must be done synchronously with guest CPU + * execution, we use a new pair of SVGA registers: + * + * SVGA_REG_GMR_ID -- + * + * Read/write. + * This register holds the 32-bit ID (a small positive integer) + * of a GMR to create, delete, or redefine. Writing this register + * has no side-effects. + * + * SVGA_REG_GMR_DESCRIPTOR -- + * + * Write-only. + * Writing this register will create, delete, or redefine the GMR + * specified by the above ID register. If this register is zero, + * the GMR is deleted. Any pointers into this GMR (including those + * currently being processed by FIFO commands) will be + * synchronously invalidated. + * + * If this register is nonzero, it must be the physical page + * number (PPN) of a data structure which describes the physical + * layout of the memory region this GMR should describe. The + * descriptor structure will be read synchronously by the SVGA + * device when this register is written. The descriptor need not + * remain allocated for the lifetime of the GMR. + * + * The guest driver should write SVGA_REG_GMR_ID first, then + * SVGA_REG_GMR_DESCRIPTOR. + * + * SVGA_REG_GMR_MAX_IDS -- + * + * Read-only. + * The SVGA device may choose to support a maximum number of + * user-defined GMR IDs. This register holds the number of supported + * IDs. (The maximum supported ID plus 1) + * + * SVGA_REG_GMR_MAX_DESCRIPTOR_LENGTH -- + * + * Read-only. + * The SVGA device may choose to put a limit on the total number + * of SVGAGuestMemDescriptor structures it will read when defining + * a single GMR. + * + * The descriptor structure is an array of SVGAGuestMemDescriptor + * structures. Each structure may do one of three things: + * + * - Terminate the GMR descriptor list. + * (ppn==0, numPages==0) + * + * - Add a PPN or range of PPNs to the GMR's virtual address space. + * (ppn != 0, numPages != 0) + * + * - Provide the PPN of the next SVGAGuestMemDescriptor, in order to + * support multi-page GMR descriptor tables without forcing the + * driver to allocate physically contiguous memory. + * (ppn != 0, numPages == 0) + * + * Note that each physical page of SVGAGuestMemDescriptor structures + * can describe at least 2MB of guest memory. If the driver needs to + * use more than one page of descriptor structures, it must use one of + * its SVGAGuestMemDescriptors to point to an additional page. The + * device will never automatically cross a page boundary. + * + * Once the driver has described a GMR, it is immediately available + * for use via any FIFO command that uses an SVGAGuestPtr structure. + * These pointers include a GMR identifier plus an offset into that + * GMR. + * + * The driver must check the SVGA_CAP_GMR bit before using the GMR + * registers. + */ + +/* + * Special GMR IDs, allowing SVGAGuestPtrs to point to framebuffer + * memory as well. In the future, these IDs could even be used to + * allow legacy memory regions to be redefined by the guest as GMRs. + * + * Using the guest framebuffer (GFB) at BAR1 for general purpose DMA + * is being phased out. Please try to use user-defined GMRs whenever + * possible. + */ +#define SVGA_GMR_NULL ((uint32) -1) +#define SVGA_GMR_FRAMEBUFFER ((uint32) -2) // Guest Framebuffer (GFB) + +typedef +struct SVGAGuestMemDescriptor { + uint32 ppn; + uint32 numPages; +} SVGAGuestMemDescriptor; + +typedef +struct SVGAGuestPtr { + uint32 gmrId; + uint32 offset; +} SVGAGuestPtr; + + +/* + * SVGAGMRImageFormat -- + * + * This is a packed representation of the source 2D image format + * for a GMR-to-screen blit. Currently it is defined as an encoding + * of the screen's color depth and bits-per-pixel, however, 16 bits + * are reserved for future use to identify other encodings (such as + * RGBA or higher-precision images). + * + * Currently supported formats: + * + * bpp depth Format Name + * --- ----- ----------- + * 32 24 32-bit BGRX + * 24 24 24-bit BGR + * 16 16 RGB 5-6-5 + * 16 15 RGB 5-5-5 + * + */ + +typedef +struct SVGAGMRImageFormat { + union { + struct { + uint32 bitsPerPixel : 8; + uint32 colorDepth : 8; + uint32 reserved : 16; // Must be zero + }; + + uint32 value; + }; +} SVGAGMRImageFormat; + +/* + * SVGAColorBGRX -- + * + * A 24-bit color format (BGRX), which does not depend on the + * format of the legacy guest framebuffer (GFB) or the current + * GMRFB state. + */ + +typedef +struct SVGAColorBGRX { + union { + struct { + uint32 b : 8; + uint32 g : 8; + uint32 r : 8; + uint32 x : 8; // Unused + }; + + uint32 value; + }; +} SVGAColorBGRX; + + +/* + * SVGASignedRect -- + * SVGASignedPoint -- + * + * Signed rectangle and point primitives. These are used by the new + * 2D primitives for drawing to Screen Objects, which can occupy a + * signed virtual coordinate space. + * + * SVGASignedRect specifies a half-open interval: the (left, top) + * pixel is part of the rectangle, but the (right, bottom) pixel is + * not. + */ + +typedef +struct SVGASignedRect { + int32 left; + int32 top; + int32 right; + int32 bottom; +} SVGASignedRect; + +typedef +struct SVGASignedPoint { + int32 x; + int32 y; +} SVGASignedPoint; + + +/* + * Capabilities + * + * Note the holes in the bitfield. Missing bits have been deprecated, + * and must not be reused. Those capabilities will never be reported + * by new versions of the SVGA device. + */ + +#define SVGA_CAP_NONE 0x00000000 +#define SVGA_CAP_RECT_COPY 0x00000002 +#define SVGA_CAP_CURSOR 0x00000020 +#define SVGA_CAP_CURSOR_BYPASS 0x00000040 // Legacy (Use Cursor Bypass 3 instead) +#define SVGA_CAP_CURSOR_BYPASS_2 0x00000080 // Legacy (Use Cursor Bypass 3 instead) +#define SVGA_CAP_8BIT_EMULATION 0x00000100 +#define SVGA_CAP_ALPHA_CURSOR 0x00000200 +#define SVGA_CAP_3D 0x00004000 +#define SVGA_CAP_EXTENDED_FIFO 0x00008000 +#define SVGA_CAP_MULTIMON 0x00010000 // Legacy multi-monitor support +#define SVGA_CAP_PITCHLOCK 0x00020000 +#define SVGA_CAP_IRQMASK 0x00040000 +#define SVGA_CAP_DISPLAY_TOPOLOGY 0x00080000 // Legacy multi-monitor support +#define SVGA_CAP_GMR 0x00100000 +#define SVGA_CAP_TRACES 0x00200000 + + +/* + * FIFO register indices. + * + * The FIFO is a chunk of device memory mapped into guest physmem. It + * is always treated as 32-bit words. + * + * The guest driver gets to decide how to partition it between + * - FIFO registers (there are always at least 4, specifying where the + * following data area is and how much data it contains; there may be + * more registers following these, depending on the FIFO protocol + * version in use) + * - FIFO data, written by the guest and slurped out by the VMX. + * These indices are 32-bit word offsets into the FIFO. + */ + +enum { + /* + * Block 1 (basic registers): The originally defined FIFO registers. + * These exist and are valid for all versions of the FIFO protocol. + */ + + SVGA_FIFO_MIN = 0, + SVGA_FIFO_MAX, /* The distance from MIN to MAX must be at least 10K */ + SVGA_FIFO_NEXT_CMD, + SVGA_FIFO_STOP, + + /* + * Block 2 (extended registers): Mandatory registers for the extended + * FIFO. These exist if the SVGA caps register includes + * SVGA_CAP_EXTENDED_FIFO; some of them are valid only if their + * associated capability bit is enabled. + * + * Note that when originally defined, SVGA_CAP_EXTENDED_FIFO implied + * support only for (FIFO registers) CAPABILITIES, FLAGS, and FENCE. + * This means that the guest has to test individually (in most cases + * using FIFO caps) for the presence of registers after this; the VMX + * can define "extended FIFO" to mean whatever it wants, and currently + * won't enable it unless there's room for that set and much more. + */ + + SVGA_FIFO_CAPABILITIES = 4, + SVGA_FIFO_FLAGS, + // Valid with SVGA_FIFO_CAP_FENCE: + SVGA_FIFO_FENCE, + + /* + * Block 3a (optional extended registers): Additional registers for the + * extended FIFO, whose presence isn't actually implied by + * SVGA_CAP_EXTENDED_FIFO; these exist if SVGA_FIFO_MIN is high enough to + * leave room for them. + * + * These in block 3a, the VMX currently considers mandatory for the + * extended FIFO. + */ + + // Valid if exists (i.e. if extended FIFO enabled): + SVGA_FIFO_3D_HWVERSION, /* See SVGA3dHardwareVersion in svga3d_reg.h */ + // Valid with SVGA_FIFO_CAP_PITCHLOCK: + SVGA_FIFO_PITCHLOCK, + + // Valid with SVGA_FIFO_CAP_CURSOR_BYPASS_3: + SVGA_FIFO_CURSOR_ON, /* Cursor bypass 3 show/hide register */ + SVGA_FIFO_CURSOR_X, /* Cursor bypass 3 x register */ + SVGA_FIFO_CURSOR_Y, /* Cursor bypass 3 y register */ + SVGA_FIFO_CURSOR_COUNT, /* Incremented when any of the other 3 change */ + SVGA_FIFO_CURSOR_LAST_UPDATED,/* Last time the host updated the cursor */ + + // Valid with SVGA_FIFO_CAP_RESERVE: + SVGA_FIFO_RESERVED, /* Bytes past NEXT_CMD with real contents */ + + /* + * Valid with SVGA_FIFO_CAP_SCREEN_OBJECT: + * + * By default this is SVGA_ID_INVALID, to indicate that the cursor + * coordinates are specified relative to the virtual root. If this + * is set to a specific screen ID, cursor position is reinterpreted + * as a signed offset relative to that screen's origin. This is the + * only way to place the cursor on a non-rooted screen. + */ + SVGA_FIFO_CURSOR_SCREEN_ID, + + /* + * XXX: The gap here, up until SVGA_FIFO_3D_CAPS, can be used for new + * registers, but this must be done carefully and with judicious use of + * capability bits, since comparisons based on SVGA_FIFO_MIN aren't + * enough to tell you whether the register exists: we've shipped drivers + * and products that used SVGA_FIFO_3D_CAPS but didn't know about some of + * the earlier ones. The actual order of introduction was: + * - PITCHLOCK + * - 3D_CAPS + * - CURSOR_* (cursor bypass 3) + * - RESERVED + * So, code that wants to know whether it can use any of the + * aforementioned registers, or anything else added after PITCHLOCK and + * before 3D_CAPS, needs to reason about something other than + * SVGA_FIFO_MIN. + */ + + /* + * 3D caps block space; valid with 3D hardware version >= + * SVGA3D_HWVERSION_WS6_B1. + */ + SVGA_FIFO_3D_CAPS = 32, + SVGA_FIFO_3D_CAPS_LAST = 32 + 255, + + /* + * End of VMX's current definition of "extended-FIFO registers". + * Registers before here are always enabled/disabled as a block; either + * the extended FIFO is enabled and includes all preceding registers, or + * it's disabled entirely. + * + * Block 3b (truly optional extended registers): Additional registers for + * the extended FIFO, which the VMX already knows how to enable and + * disable with correct granularity. + * + * Registers after here exist if and only if the guest SVGA driver + * sets SVGA_FIFO_MIN high enough to leave room for them. + */ + + // Valid if register exists: + SVGA_FIFO_GUEST_3D_HWVERSION, /* Guest driver's 3D version */ + SVGA_FIFO_FENCE_GOAL, /* Matching target for SVGA_IRQFLAG_FENCE_GOAL */ + SVGA_FIFO_BUSY, /* See "FIFO Synchronization Registers" */ + + /* + * Always keep this last. This defines the maximum number of + * registers we know about. At power-on, this value is placed in + * the SVGA_REG_MEM_REGS register, and we expect the guest driver + * to allocate this much space in FIFO memory for registers. + */ + SVGA_FIFO_NUM_REGS +}; + + +/* + * Definition of registers included in extended FIFO support. + * + * The guest SVGA driver gets to allocate the FIFO between registers + * and data. It must always allocate at least 4 registers, but old + * drivers stopped there. + * + * The VMX will enable extended FIFO support if and only if the guest + * left enough room for all registers defined as part of the mandatory + * set for the extended FIFO. + * + * Note that the guest drivers typically allocate the FIFO only at + * initialization time, not at mode switches, so it's likely that the + * number of FIFO registers won't change without a reboot. + * + * All registers less than this value are guaranteed to be present if + * svgaUser->fifo.extended is set. Any later registers must be tested + * individually for compatibility at each use (in the VMX). + * + * This value is used only by the VMX, so it can change without + * affecting driver compatibility; keep it that way? + */ +#define SVGA_FIFO_EXTENDED_MANDATORY_REGS (SVGA_FIFO_3D_CAPS_LAST + 1) + + +/* + * FIFO Synchronization Registers + * + * This explains the relationship between the various FIFO + * sync-related registers in IOSpace and in FIFO space. + * + * SVGA_REG_SYNC -- + * + * The SYNC register can be used in two different ways by the guest: + * + * 1. If the guest wishes to fully sync (drain) the FIFO, + * it will write once to SYNC then poll on the BUSY + * register. The FIFO is sync'ed once BUSY is zero. + * + * 2. If the guest wants to asynchronously wake up the host, + * it will write once to SYNC without polling on BUSY. + * Ideally it will do this after some new commands have + * been placed in the FIFO, and after reading a zero + * from SVGA_FIFO_BUSY. + * + * (1) is the original behaviour that SYNC was designed to + * support. Originally, a write to SYNC would implicitly + * trigger a read from BUSY. This causes us to synchronously + * process the FIFO. + * + * This behaviour has since been changed so that writing SYNC + * will *not* implicitly cause a read from BUSY. Instead, it + * makes a channel call which asynchronously wakes up the MKS + * thread. + * + * New guests can use this new behaviour to implement (2) + * efficiently. This lets guests get the host's attention + * without waiting for the MKS to poll, which gives us much + * better CPU utilization on SMP hosts and on UP hosts while + * we're blocked on the host GPU. + * + * Old guests shouldn't notice the behaviour change. SYNC was + * never guaranteed to process the entire FIFO, since it was + * bounded to a particular number of CPU cycles. Old guests will + * still loop on the BUSY register until the FIFO is empty. + * + * Writing to SYNC currently has the following side-effects: + * + * - Sets SVGA_REG_BUSY to TRUE (in the monitor) + * - Asynchronously wakes up the MKS thread for FIFO processing + * - The value written to SYNC is recorded as a "reason", for + * stats purposes. + * + * If SVGA_FIFO_BUSY is available, drivers are advised to only + * write to SYNC if SVGA_FIFO_BUSY is FALSE. Drivers should set + * SVGA_FIFO_BUSY to TRUE after writing to SYNC. The MKS will + * eventually set SVGA_FIFO_BUSY on its own, but this approach + * lets the driver avoid sending multiple asynchronous wakeup + * messages to the MKS thread. + * + * SVGA_REG_BUSY -- + * + * This register is set to TRUE when SVGA_REG_SYNC is written, + * and it reads as FALSE when the FIFO has been completely + * drained. + * + * Every read from this register causes us to synchronously + * process FIFO commands. There is no guarantee as to how many + * commands each read will process. + * + * CPU time spent processing FIFO commands will be billed to + * the guest. + * + * New drivers should avoid using this register unless they + * need to guarantee that the FIFO is completely drained. It + * is overkill for performing a sync-to-fence. Older drivers + * will use this register for any type of synchronization. + * + * SVGA_FIFO_BUSY -- + * + * This register is a fast way for the guest driver to check + * whether the FIFO is already being processed. It reads and + * writes at normal RAM speeds, with no monitor intervention. + * + * If this register reads as TRUE, the host is guaranteeing that + * any new commands written into the FIFO will be noticed before + * the MKS goes back to sleep. + * + * If this register reads as FALSE, no such guarantee can be + * made. + * + * The guest should use this register to quickly determine + * whether or not it needs to wake up the host. If the guest + * just wrote a command or group of commands that it would like + * the host to begin processing, it should: + * + * 1. Read SVGA_FIFO_BUSY. If it reads as TRUE, no further + * action is necessary. + * + * 2. Write TRUE to SVGA_FIFO_BUSY. This informs future guest + * code that we've already sent a SYNC to the host and we + * don't need to send a duplicate. + * + * 3. Write a reason to SVGA_REG_SYNC. This will send an + * asynchronous wakeup to the MKS thread. + */ + + +/* + * FIFO Capabilities + * + * Fence -- Fence register and command are supported + * Accel Front -- Front buffer only commands are supported + * Pitch Lock -- Pitch lock register is supported + * Video -- SVGA Video overlay units are supported + * Escape -- Escape command is supported + * + * XXX: Add longer descriptions for each capability, including a list + * of the new features that each capability provides. + * + * SVGA_FIFO_CAP_SCREEN_OBJECT -- + * + * Provides dynamic multi-screen rendering, for improved Unity and + * multi-monitor modes. With Screen Object, the guest can + * dynamically create and destroy 'screens', which can represent + * Unity windows or virtual monitors. Screen Object also provides + * strong guarantees that DMA operations happen only when + * guest-initiated. Screen Object deprecates the BAR1 guest + * framebuffer (GFB) and all commands that work only with the GFB. + * + * New registers: + * FIFO_CURSOR_SCREEN_ID, VIDEO_DATA_GMRID, VIDEO_DST_SCREEN_ID + * + * New 2D commands: + * DEFINE_SCREEN, DESTROY_SCREEN, DEFINE_GMRFB, BLIT_GMRFB_TO_SCREEN, + * BLIT_SCREEN_TO_GMRFB, ANNOTATION_FILL, ANNOTATION_COPY + * + * New 3D commands: + * BLIT_SURFACE_TO_SCREEN + * + * New guarantees: + * + * - The host will not read or write guest memory, including the GFB, + * except when explicitly initiated by a DMA command. + * + * - All DMA, including legacy DMA like UPDATE and PRESENT_READBACK, + * is guaranteed to complete before any subsequent FENCEs. + * + * - All legacy commands which affect a Screen (UPDATE, PRESENT, + * PRESENT_READBACK) as well as new Screen blit commands will + * all behave consistently as blits, and memory will be read + * or written in FIFO order. + * + * For example, if you PRESENT from one SVGA3D surface to multiple + * places on the screen, the data copied will always be from the + * SVGA3D surface at the time the PRESENT was issued in the FIFO. + * This was not necessarily true on devices without Screen Object. + * + * This means that on devices that support Screen Object, the + * PRESENT_READBACK command should not be necessary unless you + * actually want to read back the results of 3D rendering into + * system memory. (And for that, the BLIT_SCREEN_TO_GMRFB + * command provides a strict superset of functionality.) + * + * - When a screen is resized, either using Screen Object commands or + * legacy multimon registers, its contents are preserved. + */ + +#define SVGA_FIFO_CAP_NONE 0 +#define SVGA_FIFO_CAP_FENCE (1<<0) +#define SVGA_FIFO_CAP_ACCELFRONT (1<<1) +#define SVGA_FIFO_CAP_PITCHLOCK (1<<2) +#define SVGA_FIFO_CAP_VIDEO (1<<3) +#define SVGA_FIFO_CAP_CURSOR_BYPASS_3 (1<<4) +#define SVGA_FIFO_CAP_ESCAPE (1<<5) +#define SVGA_FIFO_CAP_RESERVE (1<<6) +#define SVGA_FIFO_CAP_SCREEN_OBJECT (1<<7) + + +/* + * FIFO Flags + * + * Accel Front -- Driver should use front buffer only commands + */ + +#define SVGA_FIFO_FLAG_NONE 0 +#define SVGA_FIFO_FLAG_ACCELFRONT (1<<0) +#define SVGA_FIFO_FLAG_RESERVED (1<<31) // Internal use only + +/* + * FIFO reservation sentinel value + */ + +#define SVGA_FIFO_RESERVED_UNKNOWN 0xffffffff + + +/* + * Video overlay support + */ + +#define SVGA_NUM_OVERLAY_UNITS 32 + + +/* + * Video capabilities that the guest is currently using + */ + +#define SVGA_VIDEO_FLAG_COLORKEY 0x0001 + + +/* + * Offsets for the video overlay registers + */ + +enum { + SVGA_VIDEO_ENABLED = 0, + SVGA_VIDEO_FLAGS, + SVGA_VIDEO_DATA_OFFSET, + SVGA_VIDEO_FORMAT, + SVGA_VIDEO_COLORKEY, + SVGA_VIDEO_SIZE, // Deprecated + SVGA_VIDEO_WIDTH, + SVGA_VIDEO_HEIGHT, + SVGA_VIDEO_SRC_X, + SVGA_VIDEO_SRC_Y, + SVGA_VIDEO_SRC_WIDTH, + SVGA_VIDEO_SRC_HEIGHT, + SVGA_VIDEO_DST_X, // Signed int32 + SVGA_VIDEO_DST_Y, // Signed int32 + SVGA_VIDEO_DST_WIDTH, + SVGA_VIDEO_DST_HEIGHT, + SVGA_VIDEO_PITCH_1, + SVGA_VIDEO_PITCH_2, + SVGA_VIDEO_PITCH_3, + SVGA_VIDEO_DATA_GMRID, // Optional, defaults to SVGA_GMR_FRAMEBUFFER + SVGA_VIDEO_DST_SCREEN_ID, // Optional, defaults to virtual coords (SVGA_ID_INVALID) + SVGA_VIDEO_NUM_REGS +}; + + +/* + * SVGA Overlay Units + * + * width and height relate to the entire source video frame. + * srcX, srcY, srcWidth and srcHeight represent subset of the source + * video frame to be displayed. + */ + +typedef struct SVGAOverlayUnit { + uint32 enabled; + uint32 flags; + uint32 dataOffset; + uint32 format; + uint32 colorKey; + uint32 size; + uint32 width; + uint32 height; + uint32 srcX; + uint32 srcY; + uint32 srcWidth; + uint32 srcHeight; + int32 dstX; + int32 dstY; + uint32 dstWidth; + uint32 dstHeight; + uint32 pitches[3]; + uint32 dataGMRId; + uint32 dstScreenId; +} SVGAOverlayUnit; + + +/* + * SVGAScreenObject -- + * + * This is a new way to represent a guest's multi-monitor screen or + * Unity window. Screen objects are only supported if the + * SVGA_FIFO_CAP_SCREEN_OBJECT capability bit is set. + * + * If Screen Objects are supported, they can be used to fully + * replace the functionality provided by the framebuffer registers + * (SVGA_REG_WIDTH, HEIGHT, etc.) and by SVGA_CAP_DISPLAY_TOPOLOGY. + * + * The screen object is a struct with guaranteed binary + * compatibility. New flags can be added, and the struct may grow, + * but existing fields must retain their meaning. + * + */ + +#define SVGA_SCREEN_HAS_ROOT (1 << 0) // Screen is present in the virtual coord space +#define SVGA_SCREEN_IS_PRIMARY (1 << 1) // Guest considers this screen to be 'primary' +#define SVGA_SCREEN_FULLSCREEN_HINT (1 << 2) // Guest is running a fullscreen app here + +typedef +struct SVGAScreenObject { + uint32 structSize; // sizeof(SVGAScreenObject) + uint32 id; + uint32 flags; + struct { + uint32 width; + uint32 height; + } size; + struct { + int32 x; + int32 y; + } root; // Only used if SVGA_SCREEN_HAS_ROOT is set. +} SVGAScreenObject; + + +/* + * Commands in the command FIFO: + * + * Command IDs defined below are used for the traditional 2D FIFO + * communication (not all commands are available for all versions of the + * SVGA FIFO protocol). + * + * Note the holes in the command ID numbers: These commands have been + * deprecated, and the old IDs must not be reused. + * + * Command IDs from 1000 to 1999 are reserved for use by the SVGA3D + * protocol. + * + * Each command's parameters are described by the comments and + * structs below. + */ + +typedef enum { + SVGA_CMD_INVALID_CMD = 0, + SVGA_CMD_UPDATE = 1, + SVGA_CMD_RECT_COPY = 3, + SVGA_CMD_DEFINE_CURSOR = 19, + SVGA_CMD_DEFINE_ALPHA_CURSOR = 22, + SVGA_CMD_UPDATE_VERBOSE = 25, + SVGA_CMD_FRONT_ROP_FILL = 29, + SVGA_CMD_FENCE = 30, + SVGA_CMD_ESCAPE = 33, + SVGA_CMD_DEFINE_SCREEN = 34, + SVGA_CMD_DESTROY_SCREEN = 35, + SVGA_CMD_DEFINE_GMRFB = 36, + SVGA_CMD_BLIT_GMRFB_TO_SCREEN = 37, + SVGA_CMD_BLIT_SCREEN_TO_GMRFB = 38, + SVGA_CMD_ANNOTATION_FILL = 39, + SVGA_CMD_ANNOTATION_COPY = 40, + SVGA_CMD_MAX +} SVGAFifoCmdId; + +#define SVGA_CMD_MAX_ARGS 64 + + +/* + * SVGA_CMD_UPDATE -- + * + * This is a DMA transfer which copies from the Guest Framebuffer + * (GFB) at BAR1 + SVGA_REG_FB_OFFSET to any screens which + * intersect with the provided virtual rectangle. + * + * This command does not support using arbitrary guest memory as a + * data source- it only works with the pre-defined GFB memory. + * This command also does not support signed virtual coordinates. + * If you have defined screens (using SVGA_CMD_DEFINE_SCREEN) with + * negative root x/y coordinates, the negative portion of those + * screens will not be reachable by this command. + * + * This command is not necessary when using framebuffer + * traces. Traces are automatically enabled if the SVGA FIFO is + * disabled, and you may explicitly enable/disable traces using + * SVGA_REG_TRACES. With traces enabled, any write to the GFB will + * automatically act as if a subsequent SVGA_CMD_UPDATE was issued. + * + * Traces and SVGA_CMD_UPDATE are the only supported ways to render + * pseudocolor screen updates. The newer Screen Object commands + * only support true color formats. + * + * Availability: + * Always available. + */ + +typedef +struct { + uint32 x; + uint32 y; + uint32 width; + uint32 height; +} SVGAFifoCmdUpdate; + + +/* + * SVGA_CMD_RECT_COPY -- + * + * Perform a rectangular DMA transfer from one area of the GFB to + * another, and copy the result to any screens which intersect it. + * + * Availability: + * SVGA_CAP_RECT_COPY + */ + +typedef +struct { + uint32 srcX; + uint32 srcY; + uint32 destX; + uint32 destY; + uint32 width; + uint32 height; +} SVGAFifoCmdRectCopy; + + +/* + * SVGA_CMD_DEFINE_CURSOR -- + * + * Provide a new cursor image, as an AND/XOR mask. + * + * The recommended way to position the cursor overlay is by using + * the SVGA_FIFO_CURSOR_* registers, supported by the + * SVGA_FIFO_CAP_CURSOR_BYPASS_3 capability. + * + * Availability: + * SVGA_CAP_CURSOR + */ + +typedef +struct { + uint32 id; // Reserved, must be zero. + uint32 hotspotX; + uint32 hotspotY; + uint32 width; + uint32 height; + uint32 andMaskDepth; // Value must be 1 or equal to BITS_PER_PIXEL + uint32 xorMaskDepth; // Value must be 1 or equal to BITS_PER_PIXEL + /* + * Followed by scanline data for AND mask, then XOR mask. + * Each scanline is padded to a 32-bit boundary. + */ +} SVGAFifoCmdDefineCursor; + + +/* + * SVGA_CMD_DEFINE_ALPHA_CURSOR -- + * + * Provide a new cursor image, in 32-bit BGRA format. + * + * The recommended way to position the cursor overlay is by using + * the SVGA_FIFO_CURSOR_* registers, supported by the + * SVGA_FIFO_CAP_CURSOR_BYPASS_3 capability. + * + * Availability: + * SVGA_CAP_ALPHA_CURSOR + */ + +typedef +struct { + uint32 id; // Reserved, must be zero. + uint32 hotspotX; + uint32 hotspotY; + uint32 width; + uint32 height; + /* Followed by scanline data */ +} SVGAFifoCmdDefineAlphaCursor; + + +/* + * SVGA_CMD_UPDATE_VERBOSE -- + * + * Just like SVGA_CMD_UPDATE, but also provide a per-rectangle + * 'reason' value, an opaque cookie which is used by internal + * debugging tools. Third party drivers should not use this + * command. + * + * Availability: + * SVGA_CAP_EXTENDED_FIFO + */ + +typedef +struct { + uint32 x; + uint32 y; + uint32 width; + uint32 height; + uint32 reason; +} SVGAFifoCmdUpdateVerbose; + + +/* + * SVGA_CMD_FRONT_ROP_FILL -- + * + * This is a hint which tells the SVGA device that the driver has + * just filled a rectangular region of the GFB with a solid + * color. Instead of reading these pixels from the GFB, the device + * can assume that they all equal 'color'. This is primarily used + * for remote desktop protocols. + * + * Availability: + * SVGA_FIFO_CAP_ACCELFRONT + */ + +#define SVGA_ROP_COPY 0x03 + +typedef +struct { + uint32 color; // In the same format as the GFB + uint32 x; + uint32 y; + uint32 width; + uint32 height; + uint32 rop; // Must be SVGA_ROP_COPY +} SVGAFifoCmdFrontRopFill; + + +/* + * SVGA_CMD_FENCE -- + * + * Insert a synchronization fence. When the SVGA device reaches + * this command, it will copy the 'fence' value into the + * SVGA_FIFO_FENCE register. It will also compare the fence against + * SVGA_FIFO_FENCE_GOAL. If the fence matches the goal and the + * SVGA_IRQFLAG_FENCE_GOAL interrupt is enabled, the device will + * raise this interrupt. + * + * Availability: + * SVGA_FIFO_FENCE for this command, + * SVGA_CAP_IRQMASK for SVGA_FIFO_FENCE_GOAL. + */ + +typedef +struct { + uint32 fence; +} SVGAFifoCmdFence; + + +/* + * SVGA_CMD_ESCAPE -- + * + * Send an extended or vendor-specific variable length command. + * This is used for video overlay, third party plugins, and + * internal debugging tools. See svga_escape.h + * + * Availability: + * SVGA_FIFO_CAP_ESCAPE + */ + +typedef +struct { + uint32 nsid; + uint32 size; + /* followed by 'size' bytes of data */ +} SVGAFifoCmdEscape; + + +/* + * SVGA_CMD_DEFINE_SCREEN -- + * + * Define or redefine an SVGAScreenObject. See the description of + * SVGAScreenObject above. The video driver is responsible for + * generating new screen IDs. They should be small positive + * integers. The virtual device will have an implementation + * specific upper limit on the number of screen IDs + * supported. Drivers are responsible for recycling IDs. The first + * valid ID is zero. + * + * - Interaction with other registers: + * + * For backwards compatibility, when the GFB mode registers (WIDTH, + * HEIGHT, PITCHLOCK, BITS_PER_PIXEL) are modified, the SVGA device + * deletes all screens other than screen #0, and redefines screen + * #0 according to the specified mode. Drivers that use + * SVGA_CMD_DEFINE_SCREEN should destroy or redefine screen #0. + * + * If you use screen objects, do not use the legacy multi-mon + * registers (SVGA_REG_NUM_GUEST_DISPLAYS, SVGA_REG_DISPLAY_*). + * + * Availability: + * SVGA_FIFO_CAP_SCREEN_OBJECT + */ + +typedef +struct { + SVGAScreenObject screen; // Variable-length according to version +} SVGAFifoCmdDefineScreen; + + +/* + * SVGA_CMD_DESTROY_SCREEN -- + * + * Destroy an SVGAScreenObject. Its ID is immediately available for + * re-use. + * + * Availability: + * SVGA_FIFO_CAP_SCREEN_OBJECT + */ + +typedef +struct { + uint32 screenId; +} SVGAFifoCmdDestroyScreen; + + +/* + * SVGA_CMD_DEFINE_GMRFB -- + * + * This command sets a piece of SVGA device state called the + * Guest Memory Region Framebuffer, or GMRFB. The GMRFB is a + * piece of light-weight state which identifies the location and + * format of an image in guest memory or in BAR1. The GMRFB has + * an arbitrary size, and it doesn't need to match the geometry + * of the GFB or any screen object. + * + * The GMRFB can be redefined as often as you like. You could + * always use the same GMRFB, you could redefine it before + * rendering from a different guest screen, or you could even + * redefine it before every blit. + * + * There are multiple ways to use this command. The simplest way is + * to use it to move the framebuffer either to elsewhere in the GFB + * (BAR1) memory region, or to a user-defined GMR. This lets a + * driver use a framebuffer allocated entirely out of normal system + * memory, which we encourage. + * + * Another way to use this command is to set up a ring buffer of + * updates in GFB memory. If a driver wants to ensure that no + * frames are skipped by the SVGA device, it is important that the + * driver not modify the source data for a blit until the device is + * done processing the command. One efficient way to accomplish + * this is to use a ring of small DMA buffers. Each buffer is used + * for one blit, then we move on to the next buffer in the + * ring. The FENCE mechanism is used to protect each buffer from + * re-use until the device is finished with that buffer's + * corresponding blit. + * + * This command does not affect the meaning of SVGA_CMD_UPDATE. + * UPDATEs always occur from the legacy GFB memory area. This + * command has no support for pseudocolor GMRFBs. Currently only + * true-color 15, 16, and 24-bit depths are supported. Future + * devices may expose capabilities for additional framebuffer + * formats. + * + * The default GMRFB value is undefined. Drivers must always send + * this command at least once before performing any blit from the + * GMRFB. + * + * Availability: + * SVGA_FIFO_CAP_SCREEN_OBJECT + */ + +typedef +struct { + SVGAGuestPtr ptr; + uint32 bytesPerLine; + SVGAGMRImageFormat format; +} SVGAFifoCmdDefineGMRFB; + + +/* + * SVGA_CMD_BLIT_GMRFB_TO_SCREEN -- + * + * This is a guest-to-host blit. It performs a DMA operation to + * copy a rectangular region of pixels from the current GMRFB to + * one or more Screen Objects. + * + * The destination coordinate may be specified relative to a + * screen's origin (if a screen ID is specified) or relative to the + * virtual coordinate system's origin (if the screen ID is + * SVGA_ID_INVALID). The actual destination may span zero or more + * screens, in the case of a virtual destination rect or a rect + * which extends off the edge of the specified screen. + * + * This command writes to the screen's "base layer": the underlying + * framebuffer which exists below any cursor or video overlays. No + * action is necessary to explicitly hide or update any overlays + * which exist on top of the updated region. + * + * The SVGA device is guaranteed to finish reading from the GMRFB + * by the time any subsequent FENCE commands are reached. + * + * This command consumes an annotation. See the + * SVGA_CMD_ANNOTATION_* commands for details. + * + * Availability: + * SVGA_FIFO_CAP_SCREEN_OBJECT + */ + +typedef +struct { + SVGASignedPoint srcOrigin; + SVGASignedRect destRect; + uint32 destScreenId; +} SVGAFifoCmdBlitGMRFBToScreen; + + +/* + * SVGA_CMD_BLIT_SCREEN_TO_GMRFB -- + * + * This is a host-to-guest blit. It performs a DMA operation to + * copy a rectangular region of pixels from a single Screen Object + * back to the current GMRFB. + * + * Usage note: This command should be used rarely. It will + * typically be inefficient, but it is necessary for some types of + * synchronization between 3D (GPU) and 2D (CPU) rendering into + * overlapping areas of a screen. + * + * The source coordinate is specified relative to a screen's + * origin. The provided screen ID must be valid. If any parameters + * are invalid, the resulting pixel values are undefined. + * + * This command reads the screen's "base layer". Overlays like + * video and cursor are not included, but any data which was sent + * using a blit-to-screen primitive will be available, no matter + * whether the data's original source was the GMRFB or the 3D + * acceleration hardware. + * + * Note that our guest-to-host blits and host-to-guest blits aren't + * symmetric in their current implementation. While the parameters + * are identical, host-to-guest blits are a lot less featureful. + * They do not support clipping: If the source parameters don't + * fully fit within a screen, the blit fails. They must originate + * from exactly one screen. Virtual coordinates are not directly + * supported. + * + * Host-to-guest blits do support the same set of GMRFB formats + * offered by guest-to-host blits. + * + * The SVGA device is guaranteed to finish writing to the GMRFB by + * the time any subsequent FENCE commands are reached. + * + * Availability: + * SVGA_FIFO_CAP_SCREEN_OBJECT + */ + +typedef +struct { + SVGASignedPoint destOrigin; + SVGASignedRect srcRect; + uint32 srcScreenId; +} SVGAFifoCmdBlitScreenToGMRFB; + + +/* + * SVGA_CMD_ANNOTATION_FILL -- + * + * This is a blit annotation. This command stores a small piece of + * device state which is consumed by the next blit-to-screen + * command. The state is only cleared by commands which are + * specifically documented as consuming an annotation. Other + * commands (such as ESCAPEs for debugging) may intervene between + * the annotation and its associated blit. + * + * This annotation is a promise about the contents of the next + * blit: The video driver is guaranteeing that all pixels in that + * blit will have the same value, specified here as a color in + * SVGAColorBGRX format. + * + * The SVGA device can still render the blit correctly even if it + * ignores this annotation, but the annotation may allow it to + * perform the blit more efficiently, for example by ignoring the + * source data and performing a fill in hardware. + * + * This annotation is most important for performance when the + * user's display is being remoted over a network connection. + * + * Availability: + * SVGA_FIFO_CAP_SCREEN_OBJECT + */ + +typedef +struct { + SVGAColorBGRX color; +} SVGAFifoCmdAnnotationFill; + + +/* + * SVGA_CMD_ANNOTATION_COPY -- + * + * This is a blit annotation. See SVGA_CMD_ANNOTATION_FILL for more + * information about annotations. + * + * This annotation is a promise about the contents of the next + * blit: The video driver is guaranteeing that all pixels in that + * blit will have the same value as those which already exist at an + * identically-sized region on the same or a different screen. + * + * Note that the source pixels for the COPY in this annotation are + * sampled before applying the anqnotation's associated blit. They + * are allowed to overlap with the blit's destination pixels. + * + * The copy source rectangle is specified the same way as the blit + * destination: it can be a rectangle which spans zero or more + * screens, specified relative to either a screen or to the virtual + * coordinate system's origin. If the source rectangle includes + * pixels which are not from exactly one screen, the results are + * undefined. + * + * Availability: + * SVGA_FIFO_CAP_SCREEN_OBJECT + */ + +typedef +struct { + SVGASignedPoint srcOrigin; + uint32 srcScreenId; +} SVGAFifoCmdAnnotationCopy; + +#endif --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/svga_types.h +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/svga_types.h @@ -0,0 +1,45 @@ +/************************************************************************** + * + * Copyright © 2009 VMware, Inc., Palo Alto, CA., 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. + * + **************************************************************************/ + +/** + * Silly typedefs for the svga headers. Currently the headers are shared + * between all components that talk to svga. And as such the headers are + * are in a completely different style and use weird defines. + * + * This file lets all the ugly be prefixed with svga*. + */ + +#ifndef _SVGA_TYPES_H_ +#define _SVGA_TYPES_H_ + +typedef uint16_t uint16; +typedef uint32_t uint32; +typedef uint8_t uint8; +typedef int32_t int32; +typedef bool Bool; + +#endif --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c @@ -0,0 +1,252 @@ +/************************************************************************** + * + * Copyright © 2009 VMware, Inc., Palo Alto, CA., 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. + * + **************************************************************************/ + +#include "vmwgfx_drv.h" +#include "ttm/ttm_bo_driver.h" +#include "ttm/ttm_placement.h" + +static uint32_t vram_placement_flags = TTM_PL_FLAG_VRAM | + TTM_PL_FLAG_CACHED; + +static uint32_t vram_ne_placement_flags = TTM_PL_FLAG_VRAM | + TTM_PL_FLAG_CACHED | + TTM_PL_FLAG_NO_EVICT; + +static uint32_t sys_placement_flags = TTM_PL_FLAG_SYSTEM | + TTM_PL_FLAG_CACHED; + +struct ttm_placement vmw_vram_placement = { + .fpfn = 0, + .lpfn = 0, + .num_placement = 1, + .placement = &vram_placement_flags, + .num_busy_placement = 1, + .busy_placement = &vram_placement_flags +}; + +struct ttm_placement vmw_vram_sys_placement = { + .fpfn = 0, + .lpfn = 0, + .num_placement = 1, + .placement = &vram_placement_flags, + .num_busy_placement = 1, + .busy_placement = &sys_placement_flags +}; + +struct ttm_placement vmw_vram_ne_placement = { + .fpfn = 0, + .lpfn = 0, + .num_placement = 1, + .placement = &vram_ne_placement_flags, + .num_busy_placement = 1, + .busy_placement = &vram_ne_placement_flags +}; + +struct ttm_placement vmw_sys_placement = { + .fpfn = 0, + .lpfn = 0, + .num_placement = 1, + .placement = &sys_placement_flags, + .num_busy_placement = 1, + .busy_placement = &sys_placement_flags +}; + +struct vmw_ttm_backend { + struct ttm_backend backend; +}; + +static int vmw_ttm_populate(struct ttm_backend *backend, + unsigned long num_pages, struct page **pages, + struct page *dummy_read_page) +{ + return 0; +} + +static int vmw_ttm_bind(struct ttm_backend *backend, struct ttm_mem_reg *bo_mem) +{ + return 0; +} + +static int vmw_ttm_unbind(struct ttm_backend *backend) +{ + return 0; +} + +static void vmw_ttm_clear(struct ttm_backend *backend) +{ +} + +static void vmw_ttm_destroy(struct ttm_backend *backend) +{ + struct vmw_ttm_backend *vmw_be = + container_of(backend, struct vmw_ttm_backend, backend); + + kfree(vmw_be); +} + +static struct ttm_backend_func vmw_ttm_func = { + .populate = vmw_ttm_populate, + .clear = vmw_ttm_clear, + .bind = vmw_ttm_bind, + .unbind = vmw_ttm_unbind, + .destroy = vmw_ttm_destroy, +}; + +struct ttm_backend *vmw_ttm_backend_init(struct ttm_bo_device *bdev) +{ + struct vmw_ttm_backend *vmw_be; + + vmw_be = kmalloc(sizeof(*vmw_be), GFP_KERNEL); + if (!vmw_be) + return NULL; + + vmw_be->backend.func = &vmw_ttm_func; + + return &vmw_be->backend; +} + +int vmw_invalidate_caches(struct ttm_bo_device *bdev, uint32_t flags) +{ + return 0; +} + +int vmw_init_mem_type(struct ttm_bo_device *bdev, uint32_t type, + struct ttm_mem_type_manager *man) +{ + struct vmw_private *dev_priv = + container_of(bdev, struct vmw_private, bdev); + + switch (type) { + case TTM_PL_SYSTEM: + /* System memory */ + + man->flags = TTM_MEMTYPE_FLAG_MAPPABLE; + man->available_caching = TTM_PL_MASK_CACHING; + man->default_caching = TTM_PL_FLAG_CACHED; + break; + case TTM_PL_VRAM: + /* "On-card" video ram */ + man->gpu_offset = 0; + man->io_offset = dev_priv->vram_start; + man->io_size = dev_priv->vram_size; + man->flags = TTM_MEMTYPE_FLAG_FIXED | + TTM_MEMTYPE_FLAG_NEEDS_IOREMAP | TTM_MEMTYPE_FLAG_MAPPABLE; + man->io_addr = NULL; + man->available_caching = TTM_PL_MASK_CACHING; + man->default_caching = TTM_PL_FLAG_WC; + break; + default: + DRM_ERROR("Unsupported memory type %u\n", (unsigned)type); + return -EINVAL; + } + return 0; +} + +void vmw_evict_flags(struct ttm_buffer_object *bo, + struct ttm_placement *placement) +{ + *placement = vmw_sys_placement; +} + +/** + * FIXME: Proper access checks on buffers. + */ + +static int vmw_verify_access(struct ttm_buffer_object *bo, struct file *filp) +{ + return 0; +} + +static void vmw_move_notify(struct ttm_buffer_object *bo, + struct ttm_mem_reg *new_mem) +{ + if (new_mem->mem_type != TTM_PL_SYSTEM) + vmw_dmabuf_gmr_unbind(bo); +} + +static void vmw_swap_notify(struct ttm_buffer_object *bo) +{ + vmw_dmabuf_gmr_unbind(bo); +} + +/** + * FIXME: We're using the old vmware polling method to sync. + * Do this with fences instead. + */ + +static void *vmw_sync_obj_ref(void *sync_obj) +{ + return sync_obj; +} + +static void vmw_sync_obj_unref(void **sync_obj) +{ + *sync_obj = NULL; +} + +static int vmw_sync_obj_flush(void *sync_obj, void *sync_arg) +{ + struct vmw_private *dev_priv = (struct vmw_private *)sync_arg; + + mutex_lock(&dev_priv->hw_mutex); + vmw_write(dev_priv, SVGA_REG_SYNC, SVGA_SYNC_GENERIC); + mutex_unlock(&dev_priv->hw_mutex); + return 0; +} + +static bool vmw_sync_obj_signaled(void *sync_obj, void *sync_arg) +{ + struct vmw_private *dev_priv = (struct vmw_private *)sync_arg; + uint32_t sequence = (unsigned long) sync_obj; + + return vmw_fence_signaled(dev_priv, sequence); +} + +static int vmw_sync_obj_wait(void *sync_obj, void *sync_arg, + bool lazy, bool interruptible) +{ + struct vmw_private *dev_priv = (struct vmw_private *)sync_arg; + uint32_t sequence = (unsigned long) sync_obj; + + return vmw_wait_fence(dev_priv, false, sequence, false, 3*HZ); +} + +struct ttm_bo_driver vmw_bo_driver = { + .create_ttm_backend_entry = vmw_ttm_backend_init, + .invalidate_caches = vmw_invalidate_caches, + .init_mem_type = vmw_init_mem_type, + .evict_flags = vmw_evict_flags, + .move = NULL, + .verify_access = vmw_verify_access, + .sync_obj_signaled = vmw_sync_obj_signaled, + .sync_obj_wait = vmw_sync_obj_wait, + .sync_obj_flush = vmw_sync_obj_flush, + .sync_obj_unref = vmw_sync_obj_unref, + .sync_obj_ref = vmw_sync_obj_ref, + .move_notify = vmw_move_notify, + .swap_notify = vmw_swap_notify +}; --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c @@ -0,0 +1,783 @@ +/************************************************************************** + * + * Copyright © 2009 VMware, Inc., Palo Alto, CA., 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. + * + **************************************************************************/ + +#include "drmP.h" +#include "vmwgfx_drv.h" +#include "ttm/ttm_placement.h" +#include "ttm/ttm_bo_driver.h" +#include "ttm/ttm_object.h" +#include "ttm/ttm_module.h" + +#define VMWGFX_DRIVER_NAME "vmwgfx" +#define VMWGFX_DRIVER_DESC "Linux drm driver for VMware graphics devices" +#define VMWGFX_CHIP_SVGAII 0 +#define VMW_FB_RESERVATION 0 + +/** + * Fully encoded drm commands. Might move to vmw_drm.h + */ + +#define DRM_IOCTL_VMW_GET_PARAM \ + DRM_IOWR(DRM_COMMAND_BASE + DRM_VMW_GET_PARAM, \ + struct drm_vmw_getparam_arg) +#define DRM_IOCTL_VMW_ALLOC_DMABUF \ + DRM_IOWR(DRM_COMMAND_BASE + DRM_VMW_ALLOC_DMABUF, \ + union drm_vmw_alloc_dmabuf_arg) +#define DRM_IOCTL_VMW_UNREF_DMABUF \ + DRM_IOW(DRM_COMMAND_BASE + DRM_VMW_UNREF_DMABUF, \ + struct drm_vmw_unref_dmabuf_arg) +#define DRM_IOCTL_VMW_CURSOR_BYPASS \ + DRM_IOW(DRM_COMMAND_BASE + DRM_VMW_CURSOR_BYPASS, \ + struct drm_vmw_cursor_bypass_arg) + +#define DRM_IOCTL_VMW_CONTROL_STREAM \ + DRM_IOW(DRM_COMMAND_BASE + DRM_VMW_CONTROL_STREAM, \ + struct drm_vmw_control_stream_arg) +#define DRM_IOCTL_VMW_CLAIM_STREAM \ + DRM_IOR(DRM_COMMAND_BASE + DRM_VMW_CLAIM_STREAM, \ + struct drm_vmw_stream_arg) +#define DRM_IOCTL_VMW_UNREF_STREAM \ + DRM_IOW(DRM_COMMAND_BASE + DRM_VMW_UNREF_STREAM, \ + struct drm_vmw_stream_arg) + +#define DRM_IOCTL_VMW_CREATE_CONTEXT \ + DRM_IOR(DRM_COMMAND_BASE + DRM_VMW_CREATE_CONTEXT, \ + struct drm_vmw_context_arg) +#define DRM_IOCTL_VMW_UNREF_CONTEXT \ + DRM_IOW(DRM_COMMAND_BASE + DRM_VMW_UNREF_CONTEXT, \ + struct drm_vmw_context_arg) +#define DRM_IOCTL_VMW_CREATE_SURFACE \ + DRM_IOWR(DRM_COMMAND_BASE + DRM_VMW_CREATE_SURFACE, \ + union drm_vmw_surface_create_arg) +#define DRM_IOCTL_VMW_UNREF_SURFACE \ + DRM_IOW(DRM_COMMAND_BASE + DRM_VMW_UNREF_SURFACE, \ + struct drm_vmw_surface_arg) +#define DRM_IOCTL_VMW_REF_SURFACE \ + DRM_IOWR(DRM_COMMAND_BASE + DRM_VMW_REF_SURFACE, \ + union drm_vmw_surface_reference_arg) +#define DRM_IOCTL_VMW_EXECBUF \ + DRM_IOW(DRM_COMMAND_BASE + DRM_VMW_EXECBUF, \ + struct drm_vmw_execbuf_arg) +#define DRM_IOCTL_VMW_FIFO_DEBUG \ + DRM_IOWR(DRM_COMMAND_BASE + DRM_VMW_FIFO_DEBUG, \ + struct drm_vmw_fifo_debug_arg) +#define DRM_IOCTL_VMW_FENCE_WAIT \ + DRM_IOWR(DRM_COMMAND_BASE + DRM_VMW_FENCE_WAIT, \ + struct drm_vmw_fence_wait_arg) + + +/** + * The core DRM version of this macro doesn't account for + * DRM_COMMAND_BASE. + */ + +#define VMW_IOCTL_DEF(ioctl, func, flags) \ + [DRM_IOCTL_NR(ioctl) - DRM_COMMAND_BASE] = {ioctl, flags, func} + +/** + * Ioctl definitions. + */ + +static struct drm_ioctl_desc vmw_ioctls[] = { + VMW_IOCTL_DEF(DRM_IOCTL_VMW_GET_PARAM, vmw_getparam_ioctl, + DRM_AUTH | DRM_UNLOCKED), + VMW_IOCTL_DEF(DRM_IOCTL_VMW_ALLOC_DMABUF, vmw_dmabuf_alloc_ioctl, + DRM_AUTH | DRM_UNLOCKED), + VMW_IOCTL_DEF(DRM_IOCTL_VMW_UNREF_DMABUF, vmw_dmabuf_unref_ioctl, + DRM_AUTH | DRM_UNLOCKED), + VMW_IOCTL_DEF(DRM_IOCTL_VMW_CURSOR_BYPASS, + vmw_kms_cursor_bypass_ioctl, + DRM_MASTER | DRM_CONTROL_ALLOW | DRM_UNLOCKED), + + VMW_IOCTL_DEF(DRM_IOCTL_VMW_CONTROL_STREAM, vmw_overlay_ioctl, + DRM_MASTER | DRM_CONTROL_ALLOW | DRM_UNLOCKED), + VMW_IOCTL_DEF(DRM_IOCTL_VMW_CLAIM_STREAM, vmw_stream_claim_ioctl, + DRM_MASTER | DRM_CONTROL_ALLOW | DRM_UNLOCKED), + VMW_IOCTL_DEF(DRM_IOCTL_VMW_UNREF_STREAM, vmw_stream_unref_ioctl, + DRM_MASTER | DRM_CONTROL_ALLOW | DRM_UNLOCKED), + + VMW_IOCTL_DEF(DRM_IOCTL_VMW_CREATE_CONTEXT, vmw_context_define_ioctl, + DRM_AUTH | DRM_UNLOCKED), + VMW_IOCTL_DEF(DRM_IOCTL_VMW_UNREF_CONTEXT, vmw_context_destroy_ioctl, + DRM_AUTH | DRM_UNLOCKED), + VMW_IOCTL_DEF(DRM_IOCTL_VMW_CREATE_SURFACE, vmw_surface_define_ioctl, + DRM_AUTH | DRM_UNLOCKED), + VMW_IOCTL_DEF(DRM_IOCTL_VMW_UNREF_SURFACE, vmw_surface_destroy_ioctl, + DRM_AUTH | DRM_UNLOCKED), + VMW_IOCTL_DEF(DRM_IOCTL_VMW_REF_SURFACE, vmw_surface_reference_ioctl, + DRM_AUTH | DRM_UNLOCKED), + VMW_IOCTL_DEF(DRM_IOCTL_VMW_EXECBUF, vmw_execbuf_ioctl, + DRM_AUTH | DRM_UNLOCKED), + VMW_IOCTL_DEF(DRM_IOCTL_VMW_FIFO_DEBUG, vmw_fifo_debug_ioctl, + DRM_AUTH | DRM_ROOT_ONLY | DRM_MASTER | DRM_UNLOCKED), + VMW_IOCTL_DEF(DRM_IOCTL_VMW_FENCE_WAIT, vmw_fence_wait_ioctl, + DRM_AUTH | DRM_UNLOCKED) +}; + +static struct pci_device_id vmw_pci_id_list[] = { + {0x15ad, 0x0405, PCI_ANY_ID, PCI_ANY_ID, 0, 0, VMWGFX_CHIP_SVGAII}, + {0, 0, 0} +}; + +static char *vmw_devname = "vmwgfx"; + +static int vmw_probe(struct pci_dev *, const struct pci_device_id *); +static void vmw_master_init(struct vmw_master *); +static int vmwgfx_pm_notifier(struct notifier_block *nb, unsigned long val, + void *ptr); + +static void vmw_print_capabilities(uint32_t capabilities) +{ + DRM_INFO("Capabilities:\n"); + if (capabilities & SVGA_CAP_RECT_COPY) + DRM_INFO(" Rect copy.\n"); + if (capabilities & SVGA_CAP_CURSOR) + DRM_INFO(" Cursor.\n"); + if (capabilities & SVGA_CAP_CURSOR_BYPASS) + DRM_INFO(" Cursor bypass.\n"); + if (capabilities & SVGA_CAP_CURSOR_BYPASS_2) + DRM_INFO(" Cursor bypass 2.\n"); + if (capabilities & SVGA_CAP_8BIT_EMULATION) + DRM_INFO(" 8bit emulation.\n"); + if (capabilities & SVGA_CAP_ALPHA_CURSOR) + DRM_INFO(" Alpha cursor.\n"); + if (capabilities & SVGA_CAP_3D) + DRM_INFO(" 3D.\n"); + if (capabilities & SVGA_CAP_EXTENDED_FIFO) + DRM_INFO(" Extended Fifo.\n"); + if (capabilities & SVGA_CAP_MULTIMON) + DRM_INFO(" Multimon.\n"); + if (capabilities & SVGA_CAP_PITCHLOCK) + DRM_INFO(" Pitchlock.\n"); + if (capabilities & SVGA_CAP_IRQMASK) + DRM_INFO(" Irq mask.\n"); + if (capabilities & SVGA_CAP_DISPLAY_TOPOLOGY) + DRM_INFO(" Display Topology.\n"); + if (capabilities & SVGA_CAP_GMR) + DRM_INFO(" GMR.\n"); + if (capabilities & SVGA_CAP_TRACES) + DRM_INFO(" Traces.\n"); +} + +static int vmw_request_device(struct vmw_private *dev_priv) +{ + int ret; + + vmw_kms_save_vga(dev_priv); + + ret = vmw_fifo_init(dev_priv, &dev_priv->fifo); + if (unlikely(ret != 0)) { + DRM_ERROR("Unable to initialize FIFO.\n"); + return ret; + } + + return 0; +} + +static void vmw_release_device(struct vmw_private *dev_priv) +{ + vmw_fifo_release(dev_priv, &dev_priv->fifo); + vmw_kms_restore_vga(dev_priv); +} + + +static int vmw_driver_load(struct drm_device *dev, unsigned long chipset) +{ + struct vmw_private *dev_priv; + int ret; + uint32_t svga_id; + + dev_priv = kzalloc(sizeof(*dev_priv), GFP_KERNEL); + if (unlikely(dev_priv == NULL)) { + DRM_ERROR("Failed allocating a device private struct.\n"); + return -ENOMEM; + } + memset(dev_priv, 0, sizeof(*dev_priv)); + + dev_priv->dev = dev; + dev_priv->vmw_chipset = chipset; + dev_priv->last_read_sequence = (uint32_t) -100; + mutex_init(&dev_priv->hw_mutex); + mutex_init(&dev_priv->cmdbuf_mutex); + rwlock_init(&dev_priv->resource_lock); + idr_init(&dev_priv->context_idr); + idr_init(&dev_priv->surface_idr); + idr_init(&dev_priv->stream_idr); + ida_init(&dev_priv->gmr_ida); + mutex_init(&dev_priv->init_mutex); + init_waitqueue_head(&dev_priv->fence_queue); + init_waitqueue_head(&dev_priv->fifo_queue); + atomic_set(&dev_priv->fence_queue_waiters, 0); + atomic_set(&dev_priv->fifo_queue_waiters, 0); + INIT_LIST_HEAD(&dev_priv->gmr_lru); + + dev_priv->io_start = pci_resource_start(dev->pdev, 0); + dev_priv->vram_start = pci_resource_start(dev->pdev, 1); + dev_priv->mmio_start = pci_resource_start(dev->pdev, 2); + + mutex_lock(&dev_priv->hw_mutex); + + vmw_write(dev_priv, SVGA_REG_ID, SVGA_ID_2); + svga_id = vmw_read(dev_priv, SVGA_REG_ID); + if (svga_id != SVGA_ID_2) { + ret = -ENOSYS; + DRM_ERROR("Unsuported SVGA ID 0x%x\n", svga_id); + mutex_unlock(&dev_priv->hw_mutex); + goto out_err0; + } + + dev_priv->capabilities = vmw_read(dev_priv, SVGA_REG_CAPABILITIES); + + if (dev_priv->capabilities & SVGA_CAP_GMR) { + dev_priv->max_gmr_descriptors = + vmw_read(dev_priv, + SVGA_REG_GMR_MAX_DESCRIPTOR_LENGTH); + dev_priv->max_gmr_ids = + vmw_read(dev_priv, SVGA_REG_GMR_MAX_IDS); + } + + dev_priv->vram_size = vmw_read(dev_priv, SVGA_REG_VRAM_SIZE); + dev_priv->mmio_size = vmw_read(dev_priv, SVGA_REG_MEM_SIZE); + dev_priv->fb_max_width = vmw_read(dev_priv, SVGA_REG_MAX_WIDTH); + dev_priv->fb_max_height = vmw_read(dev_priv, SVGA_REG_MAX_HEIGHT); + + mutex_unlock(&dev_priv->hw_mutex); + + vmw_print_capabilities(dev_priv->capabilities); + + if (dev_priv->capabilities & SVGA_CAP_GMR) { + DRM_INFO("Max GMR ids is %u\n", + (unsigned)dev_priv->max_gmr_ids); + DRM_INFO("Max GMR descriptors is %u\n", + (unsigned)dev_priv->max_gmr_descriptors); + } + DRM_INFO("VRAM at 0x%08x size is %u kiB\n", + dev_priv->vram_start, dev_priv->vram_size / 1024); + DRM_INFO("MMIO at 0x%08x size is %u kiB\n", + dev_priv->mmio_start, dev_priv->mmio_size / 1024); + + ret = vmw_ttm_global_init(dev_priv); + if (unlikely(ret != 0)) + goto out_err0; + + + vmw_master_init(&dev_priv->fbdev_master); + ttm_lock_set_kill(&dev_priv->fbdev_master.lock, false, SIGTERM); + dev_priv->active_master = &dev_priv->fbdev_master; + + + ret = ttm_bo_device_init(&dev_priv->bdev, + dev_priv->bo_global_ref.ref.object, + &vmw_bo_driver, VMWGFX_FILE_PAGE_OFFSET, + false); + if (unlikely(ret != 0)) { + DRM_ERROR("Failed initializing TTM buffer object driver.\n"); + goto out_err1; + } + + ret = ttm_bo_init_mm(&dev_priv->bdev, TTM_PL_VRAM, + (dev_priv->vram_size >> PAGE_SHIFT)); + if (unlikely(ret != 0)) { + DRM_ERROR("Failed initializing memory manager for VRAM.\n"); + goto out_err2; + } + + dev_priv->mmio_mtrr = drm_mtrr_add(dev_priv->mmio_start, + dev_priv->mmio_size, DRM_MTRR_WC); + + dev_priv->mmio_virt = ioremap_wc(dev_priv->mmio_start, + dev_priv->mmio_size); + + if (unlikely(dev_priv->mmio_virt == NULL)) { + ret = -ENOMEM; + DRM_ERROR("Failed mapping MMIO.\n"); + goto out_err3; + } + + dev_priv->tdev = ttm_object_device_init + (dev_priv->mem_global_ref.object, 12); + + if (unlikely(dev_priv->tdev == NULL)) { + DRM_ERROR("Unable to initialize TTM object management.\n"); + ret = -ENOMEM; + goto out_err4; + } + + dev->dev_private = dev_priv; + + if (!dev->devname) + dev->devname = vmw_devname; + + if (dev_priv->capabilities & SVGA_CAP_IRQMASK) { + ret = drm_irq_install(dev); + if (unlikely(ret != 0)) { + DRM_ERROR("Failed installing irq: %d\n", ret); + goto out_no_irq; + } + } + + ret = pci_request_regions(dev->pdev, "vmwgfx probe"); + dev_priv->stealth = (ret != 0); + if (dev_priv->stealth) { + /** + * Request at least the mmio PCI resource. + */ + + DRM_INFO("It appears like vesafb is loaded. " + "Ignore above error if any.\n"); + ret = pci_request_region(dev->pdev, 2, "vmwgfx stealth probe"); + if (unlikely(ret != 0)) { + DRM_ERROR("Failed reserving the SVGA MMIO resource.\n"); + goto out_no_device; + } + } + ret = vmw_request_device(dev_priv); + if (unlikely(ret != 0)) + goto out_no_device; + vmw_kms_init(dev_priv); + vmw_overlay_init(dev_priv); + vmw_fb_init(dev_priv); + + dev_priv->pm_nb.notifier_call = vmwgfx_pm_notifier; + register_pm_notifier(&dev_priv->pm_nb); + + DRM_INFO("%s", vmw_fifo_have_3d(dev_priv) ? "Have 3D\n" : "No 3D\n"); + + return 0; + +out_no_device: + if (dev_priv->capabilities & SVGA_CAP_IRQMASK) + drm_irq_uninstall(dev_priv->dev); + if (dev->devname == vmw_devname) + dev->devname = NULL; +out_no_irq: + ttm_object_device_release(&dev_priv->tdev); +out_err4: + iounmap(dev_priv->mmio_virt); +out_err3: + drm_mtrr_del(dev_priv->mmio_mtrr, dev_priv->mmio_start, + dev_priv->mmio_size, DRM_MTRR_WC); + (void)ttm_bo_clean_mm(&dev_priv->bdev, TTM_PL_VRAM); +out_err2: + (void)ttm_bo_device_release(&dev_priv->bdev); +out_err1: + vmw_ttm_global_release(dev_priv); +out_err0: + ida_destroy(&dev_priv->gmr_ida); + idr_destroy(&dev_priv->surface_idr); + idr_destroy(&dev_priv->context_idr); + idr_destroy(&dev_priv->stream_idr); + kfree(dev_priv); + return ret; +} + +static int vmw_driver_unload(struct drm_device *dev) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + + DRM_INFO(VMWGFX_DRIVER_NAME " unload.\n"); + + unregister_pm_notifier(&dev_priv->pm_nb); + + vmw_fb_close(dev_priv); + vmw_kms_close(dev_priv); + vmw_overlay_close(dev_priv); + vmw_release_device(dev_priv); + if (dev_priv->stealth) + pci_release_region(dev->pdev, 2); + else + pci_release_regions(dev->pdev); + + if (dev_priv->capabilities & SVGA_CAP_IRQMASK) + drm_irq_uninstall(dev_priv->dev); + if (dev->devname == vmw_devname) + dev->devname = NULL; + ttm_object_device_release(&dev_priv->tdev); + iounmap(dev_priv->mmio_virt); + drm_mtrr_del(dev_priv->mmio_mtrr, dev_priv->mmio_start, + dev_priv->mmio_size, DRM_MTRR_WC); + (void)ttm_bo_clean_mm(&dev_priv->bdev, TTM_PL_VRAM); + (void)ttm_bo_device_release(&dev_priv->bdev); + vmw_ttm_global_release(dev_priv); + ida_destroy(&dev_priv->gmr_ida); + idr_destroy(&dev_priv->surface_idr); + idr_destroy(&dev_priv->context_idr); + idr_destroy(&dev_priv->stream_idr); + + kfree(dev_priv); + + return 0; +} + +static void vmw_postclose(struct drm_device *dev, + struct drm_file *file_priv) +{ + struct vmw_fpriv *vmw_fp; + + vmw_fp = vmw_fpriv(file_priv); + ttm_object_file_release(&vmw_fp->tfile); + if (vmw_fp->locked_master) + drm_master_put(&vmw_fp->locked_master); + kfree(vmw_fp); +} + +static int vmw_driver_open(struct drm_device *dev, struct drm_file *file_priv) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + struct vmw_fpriv *vmw_fp; + int ret = -ENOMEM; + + vmw_fp = kzalloc(sizeof(*vmw_fp), GFP_KERNEL); + if (unlikely(vmw_fp == NULL)) + return ret; + + vmw_fp->tfile = ttm_object_file_init(dev_priv->tdev, 10); + if (unlikely(vmw_fp->tfile == NULL)) + goto out_no_tfile; + + file_priv->driver_priv = vmw_fp; + + if (unlikely(dev_priv->bdev.dev_mapping == NULL)) + dev_priv->bdev.dev_mapping = + file_priv->filp->f_path.dentry->d_inode->i_mapping; + + return 0; + +out_no_tfile: + kfree(vmw_fp); + return ret; +} + +static long vmw_unlocked_ioctl(struct file *filp, unsigned int cmd, + unsigned long arg) +{ + struct drm_file *file_priv = filp->private_data; + struct drm_device *dev = file_priv->minor->dev; + unsigned int nr = DRM_IOCTL_NR(cmd); + + /* + * Do extra checking on driver private ioctls. + */ + + if ((nr >= DRM_COMMAND_BASE) && (nr < DRM_COMMAND_END) + && (nr < DRM_COMMAND_BASE + dev->driver->num_ioctls)) { + struct drm_ioctl_desc *ioctl = + &vmw_ioctls[nr - DRM_COMMAND_BASE]; + + if (unlikely(ioctl->cmd != cmd)) { + DRM_ERROR("Invalid command format, ioctl %d\n", + nr - DRM_COMMAND_BASE); + return -EINVAL; + } + } + + return drm_ioctl(filp, cmd, arg); +} + +static int vmw_firstopen(struct drm_device *dev) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + dev_priv->is_opened = true; + + return 0; +} + +static void vmw_lastclose(struct drm_device *dev) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + struct drm_crtc *crtc; + struct drm_mode_set set; + int ret; + + /** + * Do nothing on the lastclose call from drm_unload. + */ + + if (!dev_priv->is_opened) + return; + + dev_priv->is_opened = false; + set.x = 0; + set.y = 0; + set.fb = NULL; + set.mode = NULL; + set.connectors = NULL; + set.num_connectors = 0; + + list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { + set.crtc = crtc; + ret = crtc->funcs->set_config(&set); + WARN_ON(ret != 0); + } + +} + +static void vmw_master_init(struct vmw_master *vmaster) +{ + ttm_lock_init(&vmaster->lock); +} + +static int vmw_master_create(struct drm_device *dev, + struct drm_master *master) +{ + struct vmw_master *vmaster; + + DRM_INFO("Master create.\n"); + vmaster = kzalloc(sizeof(*vmaster), GFP_KERNEL); + if (unlikely(vmaster == NULL)) + return -ENOMEM; + + ttm_lock_init(&vmaster->lock); + ttm_lock_set_kill(&vmaster->lock, true, SIGTERM); + master->driver_priv = vmaster; + + return 0; +} + +static void vmw_master_destroy(struct drm_device *dev, + struct drm_master *master) +{ + struct vmw_master *vmaster = vmw_master(master); + + DRM_INFO("Master destroy.\n"); + master->driver_priv = NULL; + kfree(vmaster); +} + + +static int vmw_master_set(struct drm_device *dev, + struct drm_file *file_priv, + bool from_open) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + struct vmw_fpriv *vmw_fp = vmw_fpriv(file_priv); + struct vmw_master *active = dev_priv->active_master; + struct vmw_master *vmaster = vmw_master(file_priv->master); + int ret = 0; + + DRM_INFO("Master set.\n"); + + if (active) { + BUG_ON(active != &dev_priv->fbdev_master); + ret = ttm_vt_lock(&active->lock, false, vmw_fp->tfile); + if (unlikely(ret != 0)) + goto out_no_active_lock; + + ttm_lock_set_kill(&active->lock, true, SIGTERM); + ret = ttm_bo_evict_mm(&dev_priv->bdev, TTM_PL_VRAM); + if (unlikely(ret != 0)) { + DRM_ERROR("Unable to clean VRAM on " + "master drop.\n"); + } + + dev_priv->active_master = NULL; + } + + ttm_lock_set_kill(&vmaster->lock, false, SIGTERM); + if (!from_open) { + ttm_vt_unlock(&vmaster->lock); + BUG_ON(vmw_fp->locked_master != file_priv->master); + drm_master_put(&vmw_fp->locked_master); + } + + dev_priv->active_master = vmaster; + + return 0; + +out_no_active_lock: + vmw_release_device(dev_priv); + return ret; +} + +static void vmw_master_drop(struct drm_device *dev, + struct drm_file *file_priv, + bool from_release) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + struct vmw_fpriv *vmw_fp = vmw_fpriv(file_priv); + struct vmw_master *vmaster = vmw_master(file_priv->master); + int ret; + + DRM_INFO("Master drop.\n"); + + /** + * Make sure the master doesn't disappear while we have + * it locked. + */ + + vmw_fp->locked_master = drm_master_get(file_priv->master); + ret = ttm_vt_lock(&vmaster->lock, false, vmw_fp->tfile); + + if (unlikely((ret != 0))) { + DRM_ERROR("Unable to lock TTM at VT switch.\n"); + drm_master_put(&vmw_fp->locked_master); + } + + ttm_lock_set_kill(&vmaster->lock, true, SIGTERM); + + dev_priv->active_master = &dev_priv->fbdev_master; + ttm_lock_set_kill(&dev_priv->fbdev_master.lock, false, SIGTERM); + ttm_vt_unlock(&dev_priv->fbdev_master.lock); + + vmw_fb_on(dev_priv); +} + + +static void vmw_remove(struct pci_dev *pdev) +{ + struct drm_device *dev = pci_get_drvdata(pdev); + + drm_put_dev(dev); +} + +static int vmwgfx_pm_notifier(struct notifier_block *nb, unsigned long val, + void *ptr) +{ + struct vmw_private *dev_priv = + container_of(nb, struct vmw_private, pm_nb); + struct vmw_master *vmaster = dev_priv->active_master; + + switch (val) { + case PM_HIBERNATION_PREPARE: + case PM_SUSPEND_PREPARE: + ttm_suspend_lock(&vmaster->lock); + + /** + * This empties VRAM and unbinds all GMR bindings. + * Buffer contents is moved to swappable memory. + */ + ttm_bo_swapout_all(&dev_priv->bdev); + break; + case PM_POST_HIBERNATION: + case PM_POST_SUSPEND: + ttm_suspend_unlock(&vmaster->lock); + break; + case PM_RESTORE_PREPARE: + break; + case PM_POST_RESTORE: + break; + default: + break; + } + return 0; +} + +/** + * These might not be needed with the virtual SVGA device. + */ + +int vmw_pci_suspend(struct pci_dev *pdev, pm_message_t state) +{ + pci_save_state(pdev); + pci_disable_device(pdev); + pci_set_power_state(pdev, PCI_D3hot); + return 0; +} + +int vmw_pci_resume(struct pci_dev *pdev) +{ + pci_set_power_state(pdev, PCI_D0); + pci_restore_state(pdev); + return pci_enable_device(pdev); +} + +static struct drm_driver driver = { + .driver_features = DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | + DRIVER_MODESET, + .load = vmw_driver_load, + .unload = vmw_driver_unload, + .firstopen = vmw_firstopen, + .lastclose = vmw_lastclose, + .irq_preinstall = vmw_irq_preinstall, + .irq_postinstall = vmw_irq_postinstall, + .irq_uninstall = vmw_irq_uninstall, + .irq_handler = vmw_irq_handler, + .reclaim_buffers_locked = NULL, + .get_map_ofs = drm_core_get_map_ofs, + .get_reg_ofs = drm_core_get_reg_ofs, + .ioctls = vmw_ioctls, + .num_ioctls = DRM_ARRAY_SIZE(vmw_ioctls), + .dma_quiescent = NULL, /*vmw_dma_quiescent, */ + .master_create = vmw_master_create, + .master_destroy = vmw_master_destroy, + .master_set = vmw_master_set, + .master_drop = vmw_master_drop, + .open = vmw_driver_open, + .postclose = vmw_postclose, + .fops = { + .owner = THIS_MODULE, + .open = drm_open, + .release = drm_release, + .unlocked_ioctl = vmw_unlocked_ioctl, + .mmap = vmw_mmap, + .poll = drm_poll, + .fasync = drm_fasync, +#if defined(CONFIG_COMPAT) + .compat_ioctl = drm_compat_ioctl, +#endif + }, + .pci_driver = { + .name = VMWGFX_DRIVER_NAME, + .id_table = vmw_pci_id_list, + .probe = vmw_probe, + .remove = vmw_remove, + .suspend = vmw_pci_suspend, + .resume = vmw_pci_resume + }, + .name = VMWGFX_DRIVER_NAME, + .desc = VMWGFX_DRIVER_DESC, + .date = VMWGFX_DRIVER_DATE, + .major = VMWGFX_DRIVER_MAJOR, + .minor = VMWGFX_DRIVER_MINOR, + .patchlevel = VMWGFX_DRIVER_PATCHLEVEL +}; + +static int vmw_probe(struct pci_dev *pdev, const struct pci_device_id *ent) +{ + return drm_get_dev(pdev, ent, &driver); +} + +static int __init vmwgfx_init(void) +{ + int ret; + ret = drm_init(&driver); + if (ret) + DRM_ERROR("Failed initializing DRM.\n"); + return ret; +} + +static void __exit vmwgfx_exit(void) +{ + drm_exit(&driver); +} + +module_init(vmwgfx_init); +module_exit(vmwgfx_exit); + +MODULE_AUTHOR("VMware Inc. and others"); +MODULE_DESCRIPTION("Standalone drm driver for the VMware SVGA device"); +MODULE_LICENSE("GPL and additional rights"); --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h @@ -0,0 +1,521 @@ +/************************************************************************** + * + * Copyright © 2009 VMware, Inc., Palo Alto, CA., 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. + * + **************************************************************************/ + +#ifndef _VMWGFX_DRV_H_ +#define _VMWGFX_DRV_H_ + +#include "vmwgfx_reg.h" +#include "drmP.h" +#include "vmwgfx_drm.h" +#include "drm_hashtab.h" +#include "linux/suspend.h" +#include "ttm/ttm_bo_driver.h" +#include "ttm/ttm_object.h" +#include "ttm/ttm_lock.h" +#include "ttm/ttm_execbuf_util.h" +#include "ttm/ttm_module.h" + +#define VMWGFX_DRIVER_DATE "20100209" +#define VMWGFX_DRIVER_MAJOR 1 +#define VMWGFX_DRIVER_MINOR 0 +#define VMWGFX_DRIVER_PATCHLEVEL 0 +#define VMWGFX_FILE_PAGE_OFFSET 0x00100000 +#define VMWGFX_FIFO_STATIC_SIZE (1024*1024) +#define VMWGFX_MAX_RELOCATIONS 2048 +#define VMWGFX_MAX_GMRS 2048 + +struct vmw_fpriv { + struct drm_master *locked_master; + struct ttm_object_file *tfile; +}; + +struct vmw_dma_buffer { + struct ttm_buffer_object base; + struct list_head validate_list; + struct list_head gmr_lru; + uint32_t gmr_id; + bool gmr_bound; + uint32_t cur_validate_node; + bool on_validate_list; +}; + +struct vmw_resource { + struct kref kref; + struct vmw_private *dev_priv; + struct idr *idr; + int id; + enum ttm_object_type res_type; + bool avail; + void (*hw_destroy) (struct vmw_resource *res); + void (*res_free) (struct vmw_resource *res); + + /* TODO is a generic snooper needed? */ +#if 0 + void (*snoop)(struct vmw_resource *res, + struct ttm_object_file *tfile, + SVGA3dCmdHeader *header); + void *snoop_priv; +#endif +}; + +struct vmw_cursor_snooper { + struct drm_crtc *crtc; + size_t age; + uint32_t *image; +}; + +struct vmw_surface { + struct vmw_resource res; + uint32_t flags; + uint32_t format; + uint32_t mip_levels[DRM_VMW_MAX_SURFACE_FACES]; + struct drm_vmw_size *sizes; + uint32_t num_sizes; + + bool scanout; + + /* TODO so far just a extra pointer */ + struct vmw_cursor_snooper snooper; +}; + +struct vmw_fifo_state { + unsigned long reserved_size; + __le32 *dynamic_buffer; + __le32 *static_buffer; + __le32 *last_buffer; + uint32_t last_data_size; + uint32_t last_buffer_size; + bool last_buffer_add; + unsigned long static_buffer_size; + bool using_bounce_buffer; + uint32_t capabilities; + struct mutex fifo_mutex; + struct rw_semaphore rwsem; +}; + +struct vmw_relocation { + SVGAGuestPtr *location; + uint32_t index; +}; + +struct vmw_sw_context{ + struct ida bo_list; + uint32_t last_cid; + bool cid_valid; + uint32_t last_sid; + uint32_t sid_translation; + bool sid_valid; + struct ttm_object_file *tfile; + struct list_head validate_nodes; + struct vmw_relocation relocs[VMWGFX_MAX_RELOCATIONS]; + uint32_t cur_reloc; + struct ttm_validate_buffer val_bufs[VMWGFX_MAX_GMRS]; + uint32_t cur_val_buf; +}; + +struct vmw_legacy_display; +struct vmw_overlay; + +struct vmw_master { + struct ttm_lock lock; +}; + +struct vmw_private { + struct ttm_bo_device bdev; + struct ttm_bo_global_ref bo_global_ref; + struct ttm_global_reference mem_global_ref; + + struct vmw_fifo_state fifo; + + struct drm_device *dev; + unsigned long vmw_chipset; + unsigned int io_start; + uint32_t vram_start; + uint32_t vram_size; + uint32_t mmio_start; + uint32_t mmio_size; + uint32_t fb_max_width; + uint32_t fb_max_height; + __le32 __iomem *mmio_virt; + int mmio_mtrr; + uint32_t capabilities; + uint32_t max_gmr_descriptors; + uint32_t max_gmr_ids; + struct mutex hw_mutex; + + /* + * VGA registers. + */ + + uint32_t vga_width; + uint32_t vga_height; + uint32_t vga_depth; + uint32_t vga_bpp; + uint32_t vga_pseudo; + uint32_t vga_red_mask; + uint32_t vga_blue_mask; + uint32_t vga_green_mask; + + /* + * Framebuffer info. + */ + + void *fb_info; + struct vmw_legacy_display *ldu_priv; + struct vmw_overlay *overlay_priv; + + /* + * Context and surface management. + */ + + rwlock_t resource_lock; + struct idr context_idr; + struct idr surface_idr; + struct idr stream_idr; + + /* + * Block lastclose from racing with firstopen. + */ + + struct mutex init_mutex; + + /* + * A resource manager for kernel-only surfaces and + * contexts. + */ + + struct ttm_object_device *tdev; + + /* + * Fencing and IRQs. + */ + + atomic_t fence_seq; + wait_queue_head_t fence_queue; + wait_queue_head_t fifo_queue; + atomic_t fence_queue_waiters; + atomic_t fifo_queue_waiters; + uint32_t last_read_sequence; + spinlock_t irq_lock; + + /* + * Device state + */ + + uint32_t traces_state; + uint32_t enable_state; + uint32_t config_done_state; + + /** + * Execbuf + */ + /** + * Protected by the cmdbuf mutex. + */ + + struct vmw_sw_context ctx; + uint32_t val_seq; + struct mutex cmdbuf_mutex; + + /** + * GMR management. Protected by the lru spinlock. + */ + + struct ida gmr_ida; + struct list_head gmr_lru; + + + /** + * Operating mode. + */ + + bool stealth; + bool is_opened; + + /** + * Master management. + */ + + struct vmw_master *active_master; + struct vmw_master fbdev_master; + struct notifier_block pm_nb; +}; + +static inline struct vmw_private *vmw_priv(struct drm_device *dev) +{ + return (struct vmw_private *)dev->dev_private; +} + +static inline struct vmw_fpriv *vmw_fpriv(struct drm_file *file_priv) +{ + return (struct vmw_fpriv *)file_priv->driver_priv; +} + +static inline struct vmw_master *vmw_master(struct drm_master *master) +{ + return (struct vmw_master *) master->driver_priv; +} + +static inline void vmw_write(struct vmw_private *dev_priv, + unsigned int offset, uint32_t value) +{ + outl(offset, dev_priv->io_start + VMWGFX_INDEX_PORT); + outl(value, dev_priv->io_start + VMWGFX_VALUE_PORT); +} + +static inline uint32_t vmw_read(struct vmw_private *dev_priv, + unsigned int offset) +{ + uint32_t val; + + outl(offset, dev_priv->io_start + VMWGFX_INDEX_PORT); + val = inl(dev_priv->io_start + VMWGFX_VALUE_PORT); + return val; +} + +/** + * GMR utilities - vmwgfx_gmr.c + */ + +extern int vmw_gmr_bind(struct vmw_private *dev_priv, + struct ttm_buffer_object *bo); +extern void vmw_gmr_unbind(struct vmw_private *dev_priv, int gmr_id); + +/** + * Resource utilities - vmwgfx_resource.c + */ + +extern struct vmw_resource *vmw_context_alloc(struct vmw_private *dev_priv); +extern void vmw_resource_unreference(struct vmw_resource **p_res); +extern struct vmw_resource *vmw_resource_reference(struct vmw_resource *res); +extern int vmw_context_destroy_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +extern int vmw_context_define_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +extern int vmw_context_check(struct vmw_private *dev_priv, + struct ttm_object_file *tfile, + int id); +extern void vmw_surface_res_free(struct vmw_resource *res); +extern int vmw_surface_init(struct vmw_private *dev_priv, + struct vmw_surface *srf, + void (*res_free) (struct vmw_resource *res)); +extern int vmw_user_surface_lookup_handle(struct vmw_private *dev_priv, + struct ttm_object_file *tfile, + uint32_t handle, + struct vmw_surface **out); +extern int vmw_surface_destroy_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +extern int vmw_surface_define_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +extern int vmw_surface_reference_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +extern int vmw_surface_check(struct vmw_private *dev_priv, + struct ttm_object_file *tfile, + uint32_t handle, int *id); +extern void vmw_dmabuf_bo_free(struct ttm_buffer_object *bo); +extern int vmw_dmabuf_init(struct vmw_private *dev_priv, + struct vmw_dma_buffer *vmw_bo, + size_t size, struct ttm_placement *placement, + bool interuptable, + void (*bo_free) (struct ttm_buffer_object *bo)); +extern int vmw_dmabuf_alloc_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +extern int vmw_dmabuf_unref_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +extern uint32_t vmw_dmabuf_validate_node(struct ttm_buffer_object *bo, + uint32_t cur_validate_node); +extern void vmw_dmabuf_validate_clear(struct ttm_buffer_object *bo); +extern int vmw_user_dmabuf_lookup(struct ttm_object_file *tfile, + uint32_t id, struct vmw_dma_buffer **out); +extern uint32_t vmw_dmabuf_gmr(struct ttm_buffer_object *bo); +extern void vmw_dmabuf_set_gmr(struct ttm_buffer_object *bo, uint32_t id); +extern int vmw_gmr_id_alloc(struct vmw_private *dev_priv, uint32_t *p_id); +extern int vmw_dmabuf_to_start_of_vram(struct vmw_private *vmw_priv, + struct vmw_dma_buffer *bo); +extern int vmw_dmabuf_from_vram(struct vmw_private *vmw_priv, + struct vmw_dma_buffer *bo); +extern void vmw_dmabuf_gmr_unbind(struct ttm_buffer_object *bo); +extern int vmw_stream_claim_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +extern int vmw_stream_unref_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +extern int vmw_user_stream_lookup(struct vmw_private *dev_priv, + struct ttm_object_file *tfile, + uint32_t *inout_id, + struct vmw_resource **out); + + +/** + * Misc Ioctl functionality - vmwgfx_ioctl.c + */ + +extern int vmw_getparam_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +extern int vmw_fifo_debug_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); + +/** + * Fifo utilities - vmwgfx_fifo.c + */ + +extern int vmw_fifo_init(struct vmw_private *dev_priv, + struct vmw_fifo_state *fifo); +extern void vmw_fifo_release(struct vmw_private *dev_priv, + struct vmw_fifo_state *fifo); +extern void *vmw_fifo_reserve(struct vmw_private *dev_priv, uint32_t bytes); +extern void vmw_fifo_commit(struct vmw_private *dev_priv, uint32_t bytes); +extern int vmw_fifo_send_fence(struct vmw_private *dev_priv, + uint32_t *sequence); +extern void vmw_fifo_ping_host(struct vmw_private *dev_priv, uint32_t reason); +extern int vmw_fifo_mmap(struct file *filp, struct vm_area_struct *vma); +extern bool vmw_fifo_have_3d(struct vmw_private *dev_priv); + +/** + * TTM glue - vmwgfx_ttm_glue.c + */ + +extern int vmw_ttm_global_init(struct vmw_private *dev_priv); +extern void vmw_ttm_global_release(struct vmw_private *dev_priv); +extern int vmw_mmap(struct file *filp, struct vm_area_struct *vma); + +/** + * TTM buffer object driver - vmwgfx_buffer.c + */ + +extern struct ttm_placement vmw_vram_placement; +extern struct ttm_placement vmw_vram_ne_placement; +extern struct ttm_placement vmw_vram_sys_placement; +extern struct ttm_placement vmw_sys_placement; +extern struct ttm_bo_driver vmw_bo_driver; +extern int vmw_dma_quiescent(struct drm_device *dev); + +/** + * Command submission - vmwgfx_execbuf.c + */ + +extern int vmw_execbuf_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); + +/** + * IRQs and wating - vmwgfx_irq.c + */ + +extern irqreturn_t vmw_irq_handler(DRM_IRQ_ARGS); +extern int vmw_wait_fence(struct vmw_private *dev_priv, bool lazy, + uint32_t sequence, bool interruptible, + unsigned long timeout); +extern void vmw_irq_preinstall(struct drm_device *dev); +extern int vmw_irq_postinstall(struct drm_device *dev); +extern void vmw_irq_uninstall(struct drm_device *dev); +extern bool vmw_fence_signaled(struct vmw_private *dev_priv, + uint32_t sequence); +extern int vmw_fence_wait_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +extern int vmw_fallback_wait(struct vmw_private *dev_priv, + bool lazy, + bool fifo_idle, + uint32_t sequence, + bool interruptible, + unsigned long timeout); + +/** + * Kernel framebuffer - vmwgfx_fb.c + */ + +int vmw_fb_init(struct vmw_private *vmw_priv); +int vmw_fb_close(struct vmw_private *dev_priv); +int vmw_fb_off(struct vmw_private *vmw_priv); +int vmw_fb_on(struct vmw_private *vmw_priv); + +/** + * Kernel modesetting - vmwgfx_kms.c + */ + +int vmw_kms_init(struct vmw_private *dev_priv); +int vmw_kms_close(struct vmw_private *dev_priv); +int vmw_kms_save_vga(struct vmw_private *vmw_priv); +int vmw_kms_restore_vga(struct vmw_private *vmw_priv); +int vmw_kms_cursor_bypass_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +void vmw_kms_cursor_post_execbuf(struct vmw_private *dev_priv); +void vmw_kms_cursor_snoop(struct vmw_surface *srf, + struct ttm_object_file *tfile, + struct ttm_buffer_object *bo, + SVGA3dCmdHeader *header); + +/** + * Overlay control - vmwgfx_overlay.c + */ + +int vmw_overlay_init(struct vmw_private *dev_priv); +int vmw_overlay_close(struct vmw_private *dev_priv); +int vmw_overlay_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv); +int vmw_overlay_stop_all(struct vmw_private *dev_priv); +int vmw_overlay_resume_all(struct vmw_private *dev_priv); +int vmw_overlay_pause_all(struct vmw_private *dev_priv); +int vmw_overlay_claim(struct vmw_private *dev_priv, uint32_t *out); +int vmw_overlay_unref(struct vmw_private *dev_priv, uint32_t stream_id); +int vmw_overlay_num_overlays(struct vmw_private *dev_priv); +int vmw_overlay_num_free_overlays(struct vmw_private *dev_priv); + +/** + * Inline helper functions + */ + +static inline void vmw_surface_unreference(struct vmw_surface **srf) +{ + struct vmw_surface *tmp_srf = *srf; + struct vmw_resource *res = &tmp_srf->res; + *srf = NULL; + + vmw_resource_unreference(&res); +} + +static inline struct vmw_surface *vmw_surface_reference(struct vmw_surface *srf) +{ + (void) vmw_resource_reference(&srf->res); + return srf; +} + +static inline void vmw_dmabuf_unreference(struct vmw_dma_buffer **buf) +{ + struct vmw_dma_buffer *tmp_buf = *buf; + struct ttm_buffer_object *bo = &tmp_buf->base; + *buf = NULL; + + ttm_bo_unref(&bo); +} + +static inline struct vmw_dma_buffer *vmw_dmabuf_reference(struct vmw_dma_buffer *buf) +{ + if (ttm_bo_reference(&buf->base)) + return buf; + return NULL; +} + +#endif --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c @@ -0,0 +1,716 @@ +/************************************************************************** + * + * Copyright © 2009 VMware, Inc., Palo Alto, CA., 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. + * + **************************************************************************/ + +#include "vmwgfx_drv.h" +#include "vmwgfx_reg.h" +#include "ttm/ttm_bo_api.h" +#include "ttm/ttm_placement.h" + +static int vmw_cmd_invalid(struct vmw_private *dev_priv, + struct vmw_sw_context *sw_context, + SVGA3dCmdHeader *header) +{ + return capable(CAP_SYS_ADMIN) ? : -EINVAL; +} + +static int vmw_cmd_ok(struct vmw_private *dev_priv, + struct vmw_sw_context *sw_context, + SVGA3dCmdHeader *header) +{ + return 0; +} + +static int vmw_cmd_cid_check(struct vmw_private *dev_priv, + struct vmw_sw_context *sw_context, + SVGA3dCmdHeader *header) +{ + struct vmw_cid_cmd { + SVGA3dCmdHeader header; + __le32 cid; + } *cmd; + int ret; + + cmd = container_of(header, struct vmw_cid_cmd, header); + if (likely(sw_context->cid_valid && cmd->cid == sw_context->last_cid)) + return 0; + + ret = vmw_context_check(dev_priv, sw_context->tfile, cmd->cid); + if (unlikely(ret != 0)) { + DRM_ERROR("Could not find or use context %u\n", + (unsigned) cmd->cid); + return ret; + } + + sw_context->last_cid = cmd->cid; + sw_context->cid_valid = true; + + return 0; +} + +static int vmw_cmd_sid_check(struct vmw_private *dev_priv, + struct vmw_sw_context *sw_context, + uint32_t *sid) +{ + if (*sid == SVGA3D_INVALID_ID) + return 0; + + if (unlikely((!sw_context->sid_valid || + *sid != sw_context->last_sid))) { + int real_id; + int ret = vmw_surface_check(dev_priv, sw_context->tfile, + *sid, &real_id); + + if (unlikely(ret != 0)) { + DRM_ERROR("Could ot find or use surface 0x%08x " + "address 0x%08lx\n", + (unsigned int) *sid, + (unsigned long) sid); + return ret; + } + + sw_context->last_sid = *sid; + sw_context->sid_valid = true; + *sid = real_id; + sw_context->sid_translation = real_id; + } else + *sid = sw_context->sid_translation; + + return 0; +} + + +static int vmw_cmd_set_render_target_check(struct vmw_private *dev_priv, + struct vmw_sw_context *sw_context, + SVGA3dCmdHeader *header) +{ + struct vmw_sid_cmd { + SVGA3dCmdHeader header; + SVGA3dCmdSetRenderTarget body; + } *cmd; + int ret; + + ret = vmw_cmd_cid_check(dev_priv, sw_context, header); + if (unlikely(ret != 0)) + return ret; + + cmd = container_of(header, struct vmw_sid_cmd, header); + ret = vmw_cmd_sid_check(dev_priv, sw_context, &cmd->body.target.sid); + return ret; +} + +static int vmw_cmd_surface_copy_check(struct vmw_private *dev_priv, + struct vmw_sw_context *sw_context, + SVGA3dCmdHeader *header) +{ + struct vmw_sid_cmd { + SVGA3dCmdHeader header; + SVGA3dCmdSurfaceCopy body; + } *cmd; + int ret; + + cmd = container_of(header, struct vmw_sid_cmd, header); + ret = vmw_cmd_sid_check(dev_priv, sw_context, &cmd->body.src.sid); + if (unlikely(ret != 0)) + return ret; + return vmw_cmd_sid_check(dev_priv, sw_context, &cmd->body.dest.sid); +} + +static int vmw_cmd_stretch_blt_check(struct vmw_private *dev_priv, + struct vmw_sw_context *sw_context, + SVGA3dCmdHeader *header) +{ + struct vmw_sid_cmd { + SVGA3dCmdHeader header; + SVGA3dCmdSurfaceStretchBlt body; + } *cmd; + int ret; + + cmd = container_of(header, struct vmw_sid_cmd, header); + ret = vmw_cmd_sid_check(dev_priv, sw_context, &cmd->body.src.sid); + if (unlikely(ret != 0)) + return ret; + return vmw_cmd_sid_check(dev_priv, sw_context, &cmd->body.dest.sid); +} + +static int vmw_cmd_blt_surf_screen_check(struct vmw_private *dev_priv, + struct vmw_sw_context *sw_context, + SVGA3dCmdHeader *header) +{ + struct vmw_sid_cmd { + SVGA3dCmdHeader header; + SVGA3dCmdBlitSurfaceToScreen body; + } *cmd; + + cmd = container_of(header, struct vmw_sid_cmd, header); + return vmw_cmd_sid_check(dev_priv, sw_context, &cmd->body.srcImage.sid); +} + +static int vmw_cmd_present_check(struct vmw_private *dev_priv, + struct vmw_sw_context *sw_context, + SVGA3dCmdHeader *header) +{ + struct vmw_sid_cmd { + SVGA3dCmdHeader header; + SVGA3dCmdPresent body; + } *cmd; + + cmd = container_of(header, struct vmw_sid_cmd, header); + return vmw_cmd_sid_check(dev_priv, sw_context, &cmd->body.sid); +} + +static int vmw_translate_guest_ptr(struct vmw_private *dev_priv, + struct vmw_sw_context *sw_context, + SVGAGuestPtr *ptr, + struct vmw_dma_buffer **vmw_bo_p) +{ + struct vmw_dma_buffer *vmw_bo = NULL; + struct ttm_buffer_object *bo; + uint32_t handle = ptr->gmrId; + struct vmw_relocation *reloc; + uint32_t cur_validate_node; + struct ttm_validate_buffer *val_buf; + int ret; + + ret = vmw_user_dmabuf_lookup(sw_context->tfile, handle, &vmw_bo); + if (unlikely(ret != 0)) { + DRM_ERROR("Could not find or use GMR region.\n"); + return -EINVAL; + } + bo = &vmw_bo->base; + + if (unlikely(sw_context->cur_reloc >= VMWGFX_MAX_RELOCATIONS)) { + DRM_ERROR("Max number relocations per submission" + " exceeded\n"); + ret = -EINVAL; + goto out_no_reloc; + } + + reloc = &sw_context->relocs[sw_context->cur_reloc++]; + reloc->location = ptr; + + cur_validate_node = vmw_dmabuf_validate_node(bo, sw_context->cur_val_buf); + if (unlikely(cur_validate_node >= VMWGFX_MAX_GMRS)) { + DRM_ERROR("Max number of DMA buffers per submission" + " exceeded.\n"); + ret = -EINVAL; + goto out_no_reloc; + } + + reloc->index = cur_validate_node; + if (unlikely(cur_validate_node == sw_context->cur_val_buf)) { + val_buf = &sw_context->val_bufs[cur_validate_node]; + val_buf->bo = ttm_bo_reference(bo); + val_buf->new_sync_obj_arg = (void *) dev_priv; + list_add_tail(&val_buf->head, &sw_context->validate_nodes); + ++sw_context->cur_val_buf; + } + *vmw_bo_p = vmw_bo; + return 0; + +out_no_reloc: + vmw_dmabuf_unreference(&vmw_bo); + vmw_bo_p = NULL; + return ret; +} + +static int vmw_cmd_end_query(struct vmw_private *dev_priv, + struct vmw_sw_context *sw_context, + SVGA3dCmdHeader *header) +{ + struct vmw_dma_buffer *vmw_bo; + struct vmw_query_cmd { + SVGA3dCmdHeader header; + SVGA3dCmdEndQuery q; + } *cmd; + int ret; + + cmd = container_of(header, struct vmw_query_cmd, header); + ret = vmw_cmd_cid_check(dev_priv, sw_context, header); + if (unlikely(ret != 0)) + return ret; + + ret = vmw_translate_guest_ptr(dev_priv, sw_context, + &cmd->q.guestResult, + &vmw_bo); + if (unlikely(ret != 0)) + return ret; + + vmw_dmabuf_unreference(&vmw_bo); + return 0; +} + +static int vmw_cmd_wait_query(struct vmw_private *dev_priv, + struct vmw_sw_context *sw_context, + SVGA3dCmdHeader *header) +{ + struct vmw_dma_buffer *vmw_bo; + struct vmw_query_cmd { + SVGA3dCmdHeader header; + SVGA3dCmdWaitForQuery q; + } *cmd; + int ret; + + cmd = container_of(header, struct vmw_query_cmd, header); + ret = vmw_cmd_cid_check(dev_priv, sw_context, header); + if (unlikely(ret != 0)) + return ret; + + ret = vmw_translate_guest_ptr(dev_priv, sw_context, + &cmd->q.guestResult, + &vmw_bo); + if (unlikely(ret != 0)) + return ret; + + vmw_dmabuf_unreference(&vmw_bo); + return 0; +} + + +static int vmw_cmd_dma(struct vmw_private *dev_priv, + struct vmw_sw_context *sw_context, + SVGA3dCmdHeader *header) +{ + struct vmw_dma_buffer *vmw_bo = NULL; + struct ttm_buffer_object *bo; + struct vmw_surface *srf = NULL; + struct vmw_dma_cmd { + SVGA3dCmdHeader header; + SVGA3dCmdSurfaceDMA dma; + } *cmd; + int ret; + + cmd = container_of(header, struct vmw_dma_cmd, header); + ret = vmw_translate_guest_ptr(dev_priv, sw_context, + &cmd->dma.guest.ptr, + &vmw_bo); + if (unlikely(ret != 0)) + return ret; + + bo = &vmw_bo->base; + ret = vmw_user_surface_lookup_handle(dev_priv, sw_context->tfile, + cmd->dma.host.sid, &srf); + if (ret) { + DRM_ERROR("could not find surface\n"); + goto out_no_reloc; + } + + /** + * Patch command stream with device SID. + */ + + cmd->dma.host.sid = srf->res.id; + vmw_kms_cursor_snoop(srf, sw_context->tfile, bo, header); + /** + * FIXME: May deadlock here when called from the + * command parsing code. + */ + vmw_surface_unreference(&srf); + +out_no_reloc: + vmw_dmabuf_unreference(&vmw_bo); + return ret; +} + +static int vmw_cmd_draw(struct vmw_private *dev_priv, + struct vmw_sw_context *sw_context, + SVGA3dCmdHeader *header) +{ + struct vmw_draw_cmd { + SVGA3dCmdHeader header; + SVGA3dCmdDrawPrimitives body; + } *cmd; + SVGA3dVertexDecl *decl = (SVGA3dVertexDecl *)( + (unsigned long)header + sizeof(*cmd)); + SVGA3dPrimitiveRange *range; + uint32_t i; + uint32_t maxnum; + int ret; + + ret = vmw_cmd_cid_check(dev_priv, sw_context, header); + if (unlikely(ret != 0)) + return ret; + + cmd = container_of(header, struct vmw_draw_cmd, header); + maxnum = (header->size - sizeof(cmd->body)) / sizeof(*decl); + + if (unlikely(cmd->body.numVertexDecls > maxnum)) { + DRM_ERROR("Illegal number of vertex declarations.\n"); + return -EINVAL; + } + + for (i = 0; i < cmd->body.numVertexDecls; ++i, ++decl) { + ret = vmw_cmd_sid_check(dev_priv, sw_context, + &decl->array.surfaceId); + if (unlikely(ret != 0)) + return ret; + } + + maxnum = (header->size - sizeof(cmd->body) - + cmd->body.numVertexDecls * sizeof(*decl)) / sizeof(*range); + if (unlikely(cmd->body.numRanges > maxnum)) { + DRM_ERROR("Illegal number of index ranges.\n"); + return -EINVAL; + } + + range = (SVGA3dPrimitiveRange *) decl; + for (i = 0; i < cmd->body.numRanges; ++i, ++range) { + ret = vmw_cmd_sid_check(dev_priv, sw_context, + &range->indexArray.surfaceId); + if (unlikely(ret != 0)) + return ret; + } + return 0; +} + + +static int vmw_cmd_tex_state(struct vmw_private *dev_priv, + struct vmw_sw_context *sw_context, + SVGA3dCmdHeader *header) +{ + struct vmw_tex_state_cmd { + SVGA3dCmdHeader header; + SVGA3dCmdSetTextureState state; + }; + + SVGA3dTextureState *last_state = (SVGA3dTextureState *) + ((unsigned long) header + header->size + sizeof(header)); + SVGA3dTextureState *cur_state = (SVGA3dTextureState *) + ((unsigned long) header + sizeof(struct vmw_tex_state_cmd)); + int ret; + + ret = vmw_cmd_cid_check(dev_priv, sw_context, header); + if (unlikely(ret != 0)) + return ret; + + for (; cur_state < last_state; ++cur_state) { + if (likely(cur_state->name != SVGA3D_TS_BIND_TEXTURE)) + continue; + + ret = vmw_cmd_sid_check(dev_priv, sw_context, + &cur_state->value); + if (unlikely(ret != 0)) + return ret; + } + + return 0; +} + + +typedef int (*vmw_cmd_func) (struct vmw_private *, + struct vmw_sw_context *, + SVGA3dCmdHeader *); + +#define VMW_CMD_DEF(cmd, func) \ + [cmd - SVGA_3D_CMD_BASE] = func + +static vmw_cmd_func vmw_cmd_funcs[SVGA_3D_CMD_MAX] = { + VMW_CMD_DEF(SVGA_3D_CMD_SURFACE_DEFINE, &vmw_cmd_invalid), + VMW_CMD_DEF(SVGA_3D_CMD_SURFACE_DESTROY, &vmw_cmd_invalid), + VMW_CMD_DEF(SVGA_3D_CMD_SURFACE_COPY, &vmw_cmd_surface_copy_check), + VMW_CMD_DEF(SVGA_3D_CMD_SURFACE_STRETCHBLT, &vmw_cmd_stretch_blt_check), + VMW_CMD_DEF(SVGA_3D_CMD_SURFACE_DMA, &vmw_cmd_dma), + VMW_CMD_DEF(SVGA_3D_CMD_CONTEXT_DEFINE, &vmw_cmd_invalid), + VMW_CMD_DEF(SVGA_3D_CMD_CONTEXT_DESTROY, &vmw_cmd_invalid), + VMW_CMD_DEF(SVGA_3D_CMD_SETTRANSFORM, &vmw_cmd_cid_check), + VMW_CMD_DEF(SVGA_3D_CMD_SETZRANGE, &vmw_cmd_cid_check), + VMW_CMD_DEF(SVGA_3D_CMD_SETRENDERSTATE, &vmw_cmd_cid_check), + VMW_CMD_DEF(SVGA_3D_CMD_SETRENDERTARGET, + &vmw_cmd_set_render_target_check), + VMW_CMD_DEF(SVGA_3D_CMD_SETTEXTURESTATE, &vmw_cmd_tex_state), + VMW_CMD_DEF(SVGA_3D_CMD_SETMATERIAL, &vmw_cmd_cid_check), + VMW_CMD_DEF(SVGA_3D_CMD_SETLIGHTDATA, &vmw_cmd_cid_check), + VMW_CMD_DEF(SVGA_3D_CMD_SETLIGHTENABLED, &vmw_cmd_cid_check), + VMW_CMD_DEF(SVGA_3D_CMD_SETVIEWPORT, &vmw_cmd_cid_check), + VMW_CMD_DEF(SVGA_3D_CMD_SETCLIPPLANE, &vmw_cmd_cid_check), + VMW_CMD_DEF(SVGA_3D_CMD_CLEAR, &vmw_cmd_cid_check), + VMW_CMD_DEF(SVGA_3D_CMD_PRESENT, &vmw_cmd_present_check), + VMW_CMD_DEF(SVGA_3D_CMD_SHADER_DEFINE, &vmw_cmd_cid_check), + VMW_CMD_DEF(SVGA_3D_CMD_SHADER_DESTROY, &vmw_cmd_cid_check), + VMW_CMD_DEF(SVGA_3D_CMD_SET_SHADER, &vmw_cmd_cid_check), + VMW_CMD_DEF(SVGA_3D_CMD_SET_SHADER_CONST, &vmw_cmd_cid_check), + VMW_CMD_DEF(SVGA_3D_CMD_DRAW_PRIMITIVES, &vmw_cmd_draw), + VMW_CMD_DEF(SVGA_3D_CMD_SETSCISSORRECT, &vmw_cmd_cid_check), + VMW_CMD_DEF(SVGA_3D_CMD_BEGIN_QUERY, &vmw_cmd_cid_check), + VMW_CMD_DEF(SVGA_3D_CMD_END_QUERY, &vmw_cmd_end_query), + VMW_CMD_DEF(SVGA_3D_CMD_WAIT_FOR_QUERY, &vmw_cmd_wait_query), + VMW_CMD_DEF(SVGA_3D_CMD_PRESENT_READBACK, &vmw_cmd_ok), + VMW_CMD_DEF(SVGA_3D_CMD_BLIT_SURFACE_TO_SCREEN, + &vmw_cmd_blt_surf_screen_check) +}; + +static int vmw_cmd_check(struct vmw_private *dev_priv, + struct vmw_sw_context *sw_context, + void *buf, uint32_t *size) +{ + uint32_t cmd_id; + uint32_t size_remaining = *size; + SVGA3dCmdHeader *header = (SVGA3dCmdHeader *) buf; + int ret; + + cmd_id = ((uint32_t *)buf)[0]; + if (cmd_id == SVGA_CMD_UPDATE) { + *size = 5 << 2; + return 0; + } + + cmd_id = le32_to_cpu(header->id); + *size = le32_to_cpu(header->size) + sizeof(SVGA3dCmdHeader); + + cmd_id -= SVGA_3D_CMD_BASE; + if (unlikely(*size > size_remaining)) + goto out_err; + + if (unlikely(cmd_id >= SVGA_3D_CMD_MAX - SVGA_3D_CMD_BASE)) + goto out_err; + + ret = vmw_cmd_funcs[cmd_id](dev_priv, sw_context, header); + if (unlikely(ret != 0)) + goto out_err; + + return 0; +out_err: + DRM_ERROR("Illegal / Invalid SVGA3D command: %d\n", + cmd_id + SVGA_3D_CMD_BASE); + return -EINVAL; +} + +static int vmw_cmd_check_all(struct vmw_private *dev_priv, + struct vmw_sw_context *sw_context, + void *buf, uint32_t size) +{ + int32_t cur_size = size; + int ret; + + while (cur_size > 0) { + size = cur_size; + ret = vmw_cmd_check(dev_priv, sw_context, buf, &size); + if (unlikely(ret != 0)) + return ret; + buf = (void *)((unsigned long) buf + size); + cur_size -= size; + } + + if (unlikely(cur_size != 0)) { + DRM_ERROR("Command verifier out of sync.\n"); + return -EINVAL; + } + + return 0; +} + +static void vmw_free_relocations(struct vmw_sw_context *sw_context) +{ + sw_context->cur_reloc = 0; +} + +static void vmw_apply_relocations(struct vmw_sw_context *sw_context) +{ + uint32_t i; + struct vmw_relocation *reloc; + struct ttm_validate_buffer *validate; + struct ttm_buffer_object *bo; + + for (i = 0; i < sw_context->cur_reloc; ++i) { + reloc = &sw_context->relocs[i]; + validate = &sw_context->val_bufs[reloc->index]; + bo = validate->bo; + reloc->location->offset += bo->offset; + reloc->location->gmrId = vmw_dmabuf_gmr(bo); + } + vmw_free_relocations(sw_context); +} + +static void vmw_clear_validations(struct vmw_sw_context *sw_context) +{ + struct ttm_validate_buffer *entry, *next; + + list_for_each_entry_safe(entry, next, &sw_context->validate_nodes, + head) { + list_del(&entry->head); + vmw_dmabuf_validate_clear(entry->bo); + ttm_bo_unref(&entry->bo); + sw_context->cur_val_buf--; + } + BUG_ON(sw_context->cur_val_buf != 0); +} + +static int vmw_validate_single_buffer(struct vmw_private *dev_priv, + struct ttm_buffer_object *bo) +{ + int ret; + + if (vmw_dmabuf_gmr(bo) != SVGA_GMR_NULL) + return 0; + + /** + * Put BO in VRAM, only if there is space. + */ + + ret = ttm_bo_validate(bo, &vmw_vram_sys_placement, true, false); + if (unlikely(ret == -ERESTARTSYS)) + return ret; + + /** + * Otherwise, set it up as GMR. + */ + + if (vmw_dmabuf_gmr(bo) != SVGA_GMR_NULL) + return 0; + + ret = vmw_gmr_bind(dev_priv, bo); + if (likely(ret == 0 || ret == -ERESTARTSYS)) + return ret; + + /** + * If that failed, try VRAM again, this time evicting + * previous contents. + */ + + ret = ttm_bo_validate(bo, &vmw_vram_placement, true, false); + return ret; +} + + +static int vmw_validate_buffers(struct vmw_private *dev_priv, + struct vmw_sw_context *sw_context) +{ + struct ttm_validate_buffer *entry; + int ret; + + list_for_each_entry(entry, &sw_context->validate_nodes, head) { + ret = vmw_validate_single_buffer(dev_priv, entry->bo); + if (unlikely(ret != 0)) + return ret; + } + return 0; +} + +int vmw_execbuf_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + struct drm_vmw_execbuf_arg *arg = (struct drm_vmw_execbuf_arg *)data; + struct drm_vmw_fence_rep fence_rep; + struct drm_vmw_fence_rep __user *user_fence_rep; + int ret; + void *user_cmd; + void *cmd; + uint32_t sequence; + struct vmw_sw_context *sw_context = &dev_priv->ctx; + struct vmw_master *vmaster = vmw_master(file_priv->master); + + ret = ttm_read_lock(&vmaster->lock, true); + if (unlikely(ret != 0)) + return ret; + + ret = mutex_lock_interruptible(&dev_priv->cmdbuf_mutex); + if (unlikely(ret != 0)) { + ret = -ERESTARTSYS; + goto out_no_cmd_mutex; + } + + cmd = vmw_fifo_reserve(dev_priv, arg->command_size); + if (unlikely(cmd == NULL)) { + DRM_ERROR("Failed reserving fifo space for commands.\n"); + ret = -ENOMEM; + goto out_unlock; + } + + user_cmd = (void __user *)(unsigned long)arg->commands; + ret = copy_from_user(cmd, user_cmd, arg->command_size); + + if (unlikely(ret != 0)) { + DRM_ERROR("Failed copying commands.\n"); + goto out_commit; + } + + sw_context->tfile = vmw_fpriv(file_priv)->tfile; + sw_context->cid_valid = false; + sw_context->sid_valid = false; + sw_context->cur_reloc = 0; + sw_context->cur_val_buf = 0; + + INIT_LIST_HEAD(&sw_context->validate_nodes); + + ret = vmw_cmd_check_all(dev_priv, sw_context, cmd, arg->command_size); + if (unlikely(ret != 0)) + goto out_err; + ret = ttm_eu_reserve_buffers(&sw_context->validate_nodes, + dev_priv->val_seq++); + if (unlikely(ret != 0)) + goto out_err; + + ret = vmw_validate_buffers(dev_priv, sw_context); + if (unlikely(ret != 0)) + goto out_err; + + vmw_apply_relocations(sw_context); + vmw_fifo_commit(dev_priv, arg->command_size); + + ret = vmw_fifo_send_fence(dev_priv, &sequence); + + ttm_eu_fence_buffer_objects(&sw_context->validate_nodes, + (void *)(unsigned long) sequence); + vmw_clear_validations(sw_context); + mutex_unlock(&dev_priv->cmdbuf_mutex); + + /* + * This error is harmless, because if fence submission fails, + * vmw_fifo_send_fence will sync. + */ + + if (ret != 0) + DRM_ERROR("Fence submission error. Syncing.\n"); + + fence_rep.error = ret; + fence_rep.fence_seq = (uint64_t) sequence; + + user_fence_rep = (struct drm_vmw_fence_rep __user *) + (unsigned long)arg->fence_rep; + + /* + * copy_to_user errors will be detected by user space not + * seeing fence_rep::error filled in. + */ + + ret = copy_to_user(user_fence_rep, &fence_rep, sizeof(fence_rep)); + + vmw_kms_cursor_post_execbuf(dev_priv); + ttm_read_unlock(&vmaster->lock); + return 0; +out_err: + vmw_free_relocations(sw_context); + ttm_eu_backoff_reservation(&sw_context->validate_nodes); + vmw_clear_validations(sw_context); +out_commit: + vmw_fifo_commit(dev_priv, 0); +out_unlock: + mutex_unlock(&dev_priv->cmdbuf_mutex); +out_no_cmd_mutex: + ttm_read_unlock(&vmaster->lock); + return ret; +} --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c @@ -0,0 +1,737 @@ +/************************************************************************** + * + * Copyright © 2007 David Airlie + * Copyright © 2009 VMware, Inc., Palo Alto, CA., 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. + * + **************************************************************************/ + +#include "drmP.h" +#include "vmwgfx_drv.h" + +#include "ttm/ttm_placement.h" + +#define VMW_DIRTY_DELAY (HZ / 30) + +struct vmw_fb_par { + struct vmw_private *vmw_priv; + + void *vmalloc; + + struct vmw_dma_buffer *vmw_bo; + struct ttm_bo_kmap_obj map; + + u32 pseudo_palette[17]; + + unsigned depth; + unsigned bpp; + + unsigned max_width; + unsigned max_height; + + void *bo_ptr; + unsigned bo_size; + bool bo_iowrite; + + struct { + spinlock_t lock; + bool active; + unsigned x1; + unsigned y1; + unsigned x2; + unsigned y2; + } dirty; +}; + +static int vmw_fb_setcolreg(unsigned regno, unsigned red, unsigned green, + unsigned blue, unsigned transp, + struct fb_info *info) +{ + struct vmw_fb_par *par = info->par; + u32 *pal = par->pseudo_palette; + + if (regno > 15) { + DRM_ERROR("Bad regno %u.\n", regno); + return 1; + } + + switch (par->depth) { + case 24: + case 32: + pal[regno] = ((red & 0xff00) << 8) | + (green & 0xff00) | + ((blue & 0xff00) >> 8); + break; + default: + DRM_ERROR("Bad depth %u, bpp %u.\n", par->depth, par->bpp); + return 1; + } + + return 0; +} + +static int vmw_fb_check_var(struct fb_var_screeninfo *var, + struct fb_info *info) +{ + int depth = var->bits_per_pixel; + struct vmw_fb_par *par = info->par; + struct vmw_private *vmw_priv = par->vmw_priv; + + switch (var->bits_per_pixel) { + case 32: + depth = (var->transp.length > 0) ? 32 : 24; + break; + default: + DRM_ERROR("Bad bpp %u.\n", var->bits_per_pixel); + return -EINVAL; + } + + switch (depth) { + case 24: + var->red.offset = 16; + var->green.offset = 8; + var->blue.offset = 0; + var->red.length = 8; + var->green.length = 8; + var->blue.length = 8; + var->transp.length = 0; + var->transp.offset = 0; + break; + case 32: + var->red.offset = 16; + var->green.offset = 8; + var->blue.offset = 0; + var->red.length = 8; + var->green.length = 8; + var->blue.length = 8; + var->transp.length = 8; + var->transp.offset = 24; + break; + default: + DRM_ERROR("Bad depth %u.\n", depth); + return -EINVAL; + } + + /* without multimon its hard to resize */ + if (!(vmw_priv->capabilities & SVGA_CAP_MULTIMON) && + (var->xres != par->max_width || + var->yres != par->max_height)) { + DRM_ERROR("Tried to resize, but we don't have multimon\n"); + return -EINVAL; + } + + if (var->xres > par->max_width || + var->yres > par->max_height) { + DRM_ERROR("Requested geom can not fit in framebuffer\n"); + return -EINVAL; + } + + return 0; +} + +static int vmw_fb_set_par(struct fb_info *info) +{ + struct vmw_fb_par *par = info->par; + struct vmw_private *vmw_priv = par->vmw_priv; + + if (vmw_priv->capabilities & SVGA_CAP_MULTIMON) { + vmw_write(vmw_priv, SVGA_REG_NUM_GUEST_DISPLAYS, 1); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_ID, 0); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_IS_PRIMARY, true); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_POSITION_X, 0); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_POSITION_Y, 0); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_WIDTH, 0); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_HEIGHT, 0); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_ID, SVGA_ID_INVALID); + + vmw_write(vmw_priv, SVGA_REG_ENABLE, 1); + vmw_write(vmw_priv, SVGA_REG_WIDTH, par->max_width); + vmw_write(vmw_priv, SVGA_REG_HEIGHT, par->max_height); + vmw_write(vmw_priv, SVGA_REG_BITS_PER_PIXEL, par->bpp); + vmw_write(vmw_priv, SVGA_REG_DEPTH, par->depth); + vmw_write(vmw_priv, SVGA_REG_RED_MASK, 0x00ff0000); + vmw_write(vmw_priv, SVGA_REG_GREEN_MASK, 0x0000ff00); + vmw_write(vmw_priv, SVGA_REG_BLUE_MASK, 0x000000ff); + + /* TODO check if pitch and offset changes */ + + vmw_write(vmw_priv, SVGA_REG_NUM_GUEST_DISPLAYS, 1); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_ID, 0); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_IS_PRIMARY, true); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_POSITION_X, info->var.xoffset); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_POSITION_Y, info->var.yoffset); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_WIDTH, info->var.xres); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_HEIGHT, info->var.yres); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_ID, SVGA_ID_INVALID); + } else { + vmw_write(vmw_priv, SVGA_REG_WIDTH, info->var.xres); + vmw_write(vmw_priv, SVGA_REG_HEIGHT, info->var.yres); + + /* TODO check if pitch and offset changes */ + } + + return 0; +} + +static int vmw_fb_pan_display(struct fb_var_screeninfo *var, + struct fb_info *info) +{ + return 0; +} + +static int vmw_fb_blank(int blank, struct fb_info *info) +{ + return 0; +} + +/* + * Dirty code + */ + +static void vmw_fb_dirty_flush(struct vmw_fb_par *par) +{ + struct vmw_private *vmw_priv = par->vmw_priv; + struct fb_info *info = vmw_priv->fb_info; + int stride = (info->fix.line_length / 4); + int *src = (int *)info->screen_base; + __le32 __iomem *vram_mem = par->bo_ptr; + unsigned long flags; + unsigned x, y, w, h; + int i, k; + struct { + uint32_t header; + SVGAFifoCmdUpdate body; + } *cmd; + + spin_lock_irqsave(&par->dirty.lock, flags); + if (!par->dirty.active) { + spin_unlock_irqrestore(&par->dirty.lock, flags); + return; + } + x = par->dirty.x1; + y = par->dirty.y1; + w = min(par->dirty.x2, info->var.xres) - x; + h = min(par->dirty.y2, info->var.yres) - y; + par->dirty.x1 = par->dirty.x2 = 0; + par->dirty.y1 = par->dirty.y2 = 0; + spin_unlock_irqrestore(&par->dirty.lock, flags); + + for (i = y * stride; i < info->fix.smem_len / 4; i += stride) { + for (k = i+x; k < i+x+w && k < info->fix.smem_len / 4; k++) + iowrite32(src[k], vram_mem + k); + } + +#if 0 + DRM_INFO("%s, (%u, %u) (%ux%u)\n", __func__, x, y, w, h); +#endif + + cmd = vmw_fifo_reserve(vmw_priv, sizeof(*cmd)); + if (unlikely(cmd == NULL)) { + DRM_ERROR("Fifo reserve failed.\n"); + return; + } + + cmd->header = cpu_to_le32(SVGA_CMD_UPDATE); + cmd->body.x = cpu_to_le32(x); + cmd->body.y = cpu_to_le32(y); + cmd->body.width = cpu_to_le32(w); + cmd->body.height = cpu_to_le32(h); + vmw_fifo_commit(vmw_priv, sizeof(*cmd)); +} + +static void vmw_fb_dirty_mark(struct vmw_fb_par *par, + unsigned x1, unsigned y1, + unsigned width, unsigned height) +{ + struct fb_info *info = par->vmw_priv->fb_info; + unsigned long flags; + unsigned x2 = x1 + width; + unsigned y2 = y1 + height; + + spin_lock_irqsave(&par->dirty.lock, flags); + if (par->dirty.x1 == par->dirty.x2) { + par->dirty.x1 = x1; + par->dirty.y1 = y1; + par->dirty.x2 = x2; + par->dirty.y2 = y2; + /* if we are active start the dirty work + * we share the work with the defio system */ + if (par->dirty.active) + schedule_delayed_work(&info->deferred_work, VMW_DIRTY_DELAY); + } else { + if (x1 < par->dirty.x1) + par->dirty.x1 = x1; + if (y1 < par->dirty.y1) + par->dirty.y1 = y1; + if (x2 > par->dirty.x2) + par->dirty.x2 = x2; + if (y2 > par->dirty.y2) + par->dirty.y2 = y2; + } + spin_unlock_irqrestore(&par->dirty.lock, flags); +} + +static void vmw_deferred_io(struct fb_info *info, + struct list_head *pagelist) +{ + struct vmw_fb_par *par = info->par; + unsigned long start, end, min, max; + unsigned long flags; + struct page *page; + int y1, y2; + + min = ULONG_MAX; + max = 0; + list_for_each_entry(page, pagelist, lru) { + start = page->index << PAGE_SHIFT; + end = start + PAGE_SIZE - 1; + min = min(min, start); + max = max(max, end); + } + + if (min < max) { + y1 = min / info->fix.line_length; + y2 = (max / info->fix.line_length) + 1; + + spin_lock_irqsave(&par->dirty.lock, flags); + par->dirty.x1 = 0; + par->dirty.y1 = y1; + par->dirty.x2 = info->var.xres; + par->dirty.y2 = y2; + spin_unlock_irqrestore(&par->dirty.lock, flags); + } + + vmw_fb_dirty_flush(par); +}; + +struct fb_deferred_io vmw_defio = { + .delay = VMW_DIRTY_DELAY, + .deferred_io = vmw_deferred_io, +}; + +/* + * Draw code + */ + +static void vmw_fb_fillrect(struct fb_info *info, const struct fb_fillrect *rect) +{ + cfb_fillrect(info, rect); + vmw_fb_dirty_mark(info->par, rect->dx, rect->dy, + rect->width, rect->height); +} + +static void vmw_fb_copyarea(struct fb_info *info, const struct fb_copyarea *region) +{ + cfb_copyarea(info, region); + vmw_fb_dirty_mark(info->par, region->dx, region->dy, + region->width, region->height); +} + +static void vmw_fb_imageblit(struct fb_info *info, const struct fb_image *image) +{ + cfb_imageblit(info, image); + vmw_fb_dirty_mark(info->par, image->dx, image->dy, + image->width, image->height); +} + +/* + * Bring up code + */ + +static struct fb_ops vmw_fb_ops = { + .owner = THIS_MODULE, + .fb_check_var = vmw_fb_check_var, + .fb_set_par = vmw_fb_set_par, + .fb_setcolreg = vmw_fb_setcolreg, + .fb_fillrect = vmw_fb_fillrect, + .fb_copyarea = vmw_fb_copyarea, + .fb_imageblit = vmw_fb_imageblit, + .fb_pan_display = vmw_fb_pan_display, + .fb_blank = vmw_fb_blank, +}; + +static int vmw_fb_create_bo(struct vmw_private *vmw_priv, + size_t size, struct vmw_dma_buffer **out) +{ + struct vmw_dma_buffer *vmw_bo; + struct ttm_placement ne_placement = vmw_vram_ne_placement; + int ret; + + ne_placement.lpfn = (size + PAGE_SIZE - 1) >> PAGE_SHIFT; + + /* interuptable? */ + ret = ttm_write_lock(&vmw_priv->fbdev_master.lock, false); + if (unlikely(ret != 0)) + return ret; + + vmw_bo = kmalloc(sizeof(*vmw_bo), GFP_KERNEL); + if (!vmw_bo) + goto err_unlock; + + ret = vmw_dmabuf_init(vmw_priv, vmw_bo, size, + &ne_placement, + false, + &vmw_dmabuf_bo_free); + if (unlikely(ret != 0)) + goto err_unlock; /* init frees the buffer on failure */ + + *out = vmw_bo; + + ttm_write_unlock(&vmw_priv->fbdev_master.lock); + + return 0; + +err_unlock: + ttm_write_unlock(&vmw_priv->fbdev_master.lock); + return ret; +} + +int vmw_fb_init(struct vmw_private *vmw_priv) +{ + struct device *device = &vmw_priv->dev->pdev->dev; + struct vmw_fb_par *par; + struct fb_info *info; + unsigned initial_width, initial_height; + unsigned fb_width, fb_height; + unsigned fb_bbp, fb_depth, fb_offset, fb_pitch, fb_size; + int ret; + + initial_width = 800; + initial_height = 600; + + fb_bbp = 32; + fb_depth = 24; + + if (vmw_priv->capabilities & SVGA_CAP_MULTIMON) { + fb_width = min(vmw_priv->fb_max_width, (unsigned)2048); + fb_height = min(vmw_priv->fb_max_height, (unsigned)2048); + } else { + fb_width = min(vmw_priv->fb_max_width, initial_width); + fb_height = min(vmw_priv->fb_max_height, initial_height); + } + + initial_width = min(fb_width, initial_width); + initial_height = min(fb_height, initial_height); + + vmw_write(vmw_priv, SVGA_REG_WIDTH, fb_width); + vmw_write(vmw_priv, SVGA_REG_HEIGHT, fb_height); + vmw_write(vmw_priv, SVGA_REG_BITS_PER_PIXEL, fb_bbp); + vmw_write(vmw_priv, SVGA_REG_DEPTH, fb_depth); + vmw_write(vmw_priv, SVGA_REG_RED_MASK, 0x00ff0000); + vmw_write(vmw_priv, SVGA_REG_GREEN_MASK, 0x0000ff00); + vmw_write(vmw_priv, SVGA_REG_BLUE_MASK, 0x000000ff); + + fb_size = vmw_read(vmw_priv, SVGA_REG_FB_SIZE); + fb_offset = vmw_read(vmw_priv, SVGA_REG_FB_OFFSET); + fb_pitch = vmw_read(vmw_priv, SVGA_REG_BYTES_PER_LINE); + + DRM_DEBUG("width %u\n", vmw_read(vmw_priv, SVGA_REG_MAX_WIDTH)); + DRM_DEBUG("height %u\n", vmw_read(vmw_priv, SVGA_REG_MAX_HEIGHT)); + DRM_DEBUG("width %u\n", vmw_read(vmw_priv, SVGA_REG_WIDTH)); + DRM_DEBUG("height %u\n", vmw_read(vmw_priv, SVGA_REG_HEIGHT)); + DRM_DEBUG("bpp %u\n", vmw_read(vmw_priv, SVGA_REG_BITS_PER_PIXEL)); + DRM_DEBUG("depth %u\n", vmw_read(vmw_priv, SVGA_REG_DEPTH)); + DRM_DEBUG("bpl %u\n", vmw_read(vmw_priv, SVGA_REG_BYTES_PER_LINE)); + DRM_DEBUG("r mask %08x\n", vmw_read(vmw_priv, SVGA_REG_RED_MASK)); + DRM_DEBUG("g mask %08x\n", vmw_read(vmw_priv, SVGA_REG_GREEN_MASK)); + DRM_DEBUG("b mask %08x\n", vmw_read(vmw_priv, SVGA_REG_BLUE_MASK)); + DRM_DEBUG("fb_offset 0x%08x\n", fb_offset); + DRM_DEBUG("fb_pitch %u\n", fb_pitch); + DRM_DEBUG("fb_size %u kiB\n", fb_size / 1024); + + info = framebuffer_alloc(sizeof(*par), device); + if (!info) + return -ENOMEM; + + /* + * Par + */ + vmw_priv->fb_info = info; + par = info->par; + par->vmw_priv = vmw_priv; + par->depth = fb_depth; + par->bpp = fb_bbp; + par->vmalloc = NULL; + par->max_width = fb_width; + par->max_height = fb_height; + + /* + * Create buffers and alloc memory + */ + par->vmalloc = vmalloc(fb_size); + if (unlikely(par->vmalloc == NULL)) { + ret = -ENOMEM; + goto err_free; + } + + ret = vmw_fb_create_bo(vmw_priv, fb_size, &par->vmw_bo); + if (unlikely(ret != 0)) + goto err_free; + + ret = ttm_bo_kmap(&par->vmw_bo->base, + 0, + par->vmw_bo->base.num_pages, + &par->map); + if (unlikely(ret != 0)) + goto err_unref; + par->bo_ptr = ttm_kmap_obj_virtual(&par->map, &par->bo_iowrite); + par->bo_size = fb_size; + + /* + * Fixed and var + */ + strcpy(info->fix.id, "svgadrmfb"); + info->fix.type = FB_TYPE_PACKED_PIXELS; + info->fix.visual = FB_VISUAL_TRUECOLOR; + info->fix.type_aux = 0; + info->fix.xpanstep = 1; /* doing it in hw */ + info->fix.ypanstep = 1; /* doing it in hw */ + info->fix.ywrapstep = 0; + info->fix.accel = FB_ACCEL_NONE; + info->fix.line_length = fb_pitch; + + info->fix.smem_start = 0; + info->fix.smem_len = fb_size; + + info->fix.mmio_start = 0; + info->fix.mmio_len = 0; + + info->pseudo_palette = par->pseudo_palette; + info->screen_base = par->vmalloc; + info->screen_size = fb_size; + + info->flags = FBINFO_DEFAULT; + info->fbops = &vmw_fb_ops; + + /* 24 depth per default */ + info->var.red.offset = 16; + info->var.green.offset = 8; + info->var.blue.offset = 0; + info->var.red.length = 8; + info->var.green.length = 8; + info->var.blue.length = 8; + info->var.transp.offset = 0; + info->var.transp.length = 0; + + info->var.xres_virtual = fb_width; + info->var.yres_virtual = fb_height; + info->var.bits_per_pixel = par->bpp; + info->var.xoffset = 0; + info->var.yoffset = 0; + info->var.activate = FB_ACTIVATE_NOW; + info->var.height = -1; + info->var.width = -1; + + info->var.xres = initial_width; + info->var.yres = initial_height; + +#if 0 + info->pixmap.size = 64*1024; + info->pixmap.buf_align = 8; + info->pixmap.access_align = 32; + info->pixmap.flags = FB_PIXMAP_SYSTEM; + info->pixmap.scan_align = 1; +#else + info->pixmap.size = 0; + info->pixmap.buf_align = 8; + info->pixmap.access_align = 32; + info->pixmap.flags = FB_PIXMAP_SYSTEM; + info->pixmap.scan_align = 1; +#endif + + info->aperture_base = vmw_priv->vram_start; + info->aperture_size = vmw_priv->vram_size; + + /* + * Dirty & Deferred IO + */ + par->dirty.x1 = par->dirty.x2 = 0; + par->dirty.y1 = par->dirty.y1 = 0; + par->dirty.active = true; + spin_lock_init(&par->dirty.lock); + info->fbdefio = &vmw_defio; + fb_deferred_io_init(info); + + ret = register_framebuffer(info); + if (unlikely(ret != 0)) + goto err_defio; + + return 0; + +err_defio: + fb_deferred_io_cleanup(info); + ttm_bo_kunmap(&par->map); +err_unref: + ttm_bo_unref((struct ttm_buffer_object **)&par->vmw_bo); +err_free: + vfree(par->vmalloc); + framebuffer_release(info); + vmw_priv->fb_info = NULL; + + return ret; +} + +int vmw_fb_close(struct vmw_private *vmw_priv) +{ + struct fb_info *info; + struct vmw_fb_par *par; + struct ttm_buffer_object *bo; + + if (!vmw_priv->fb_info) + return 0; + + info = vmw_priv->fb_info; + par = info->par; + bo = &par->vmw_bo->base; + par->vmw_bo = NULL; + + /* ??? order */ + fb_deferred_io_cleanup(info); + unregister_framebuffer(info); + + ttm_bo_kunmap(&par->map); + ttm_bo_unref(&bo); + + vfree(par->vmalloc); + framebuffer_release(info); + + return 0; +} + +int vmw_dmabuf_from_vram(struct vmw_private *vmw_priv, + struct vmw_dma_buffer *vmw_bo) +{ + struct ttm_buffer_object *bo = &vmw_bo->base; + int ret = 0; + + ret = ttm_bo_reserve(bo, false, false, false, 0); + if (unlikely(ret != 0)) + return ret; + + ret = ttm_bo_validate(bo, &vmw_sys_placement, false, false); + ttm_bo_unreserve(bo); + + return ret; +} + +int vmw_dmabuf_to_start_of_vram(struct vmw_private *vmw_priv, + struct vmw_dma_buffer *vmw_bo) +{ + struct ttm_buffer_object *bo = &vmw_bo->base; + struct ttm_placement ne_placement = vmw_vram_ne_placement; + int ret = 0; + + ne_placement.lpfn = bo->num_pages; + + /* interuptable? */ + ret = ttm_write_lock(&vmw_priv->active_master->lock, false); + if (unlikely(ret != 0)) + return ret; + + ret = ttm_bo_reserve(bo, false, false, false, 0); + if (unlikely(ret != 0)) + goto err_unlock; + + ret = ttm_bo_validate(bo, &ne_placement, false, false); + ttm_bo_unreserve(bo); +err_unlock: + ttm_write_unlock(&vmw_priv->active_master->lock); + + return ret; +} + +int vmw_fb_off(struct vmw_private *vmw_priv) +{ + struct fb_info *info; + struct vmw_fb_par *par; + unsigned long flags; + + if (!vmw_priv->fb_info) + return -EINVAL; + + info = vmw_priv->fb_info; + par = info->par; + + spin_lock_irqsave(&par->dirty.lock, flags); + par->dirty.active = false; + spin_unlock_irqrestore(&par->dirty.lock, flags); + + flush_scheduled_work(); + + par->bo_ptr = NULL; + ttm_bo_kunmap(&par->map); + + vmw_dmabuf_from_vram(vmw_priv, par->vmw_bo); + + return 0; +} + +int vmw_fb_on(struct vmw_private *vmw_priv) +{ + struct fb_info *info; + struct vmw_fb_par *par; + unsigned long flags; + bool dummy; + int ret; + + if (!vmw_priv->fb_info) + return -EINVAL; + + info = vmw_priv->fb_info; + par = info->par; + + /* we are already active */ + if (par->bo_ptr != NULL) + return 0; + + /* Make sure that all overlays are stoped when we take over */ + vmw_overlay_stop_all(vmw_priv); + + ret = vmw_dmabuf_to_start_of_vram(vmw_priv, par->vmw_bo); + if (unlikely(ret != 0)) { + DRM_ERROR("could not move buffer to start of VRAM\n"); + goto err_no_buffer; + } + + ret = ttm_bo_kmap(&par->vmw_bo->base, + 0, + par->vmw_bo->base.num_pages, + &par->map); + BUG_ON(ret != 0); + par->bo_ptr = ttm_kmap_obj_virtual(&par->map, &dummy); + + spin_lock_irqsave(&par->dirty.lock, flags); + par->dirty.active = true; + spin_unlock_irqrestore(&par->dirty.lock, flags); + +err_no_buffer: + vmw_fb_set_par(info); + + vmw_fb_dirty_mark(par, 0, 0, info->var.xres, info->var.yres); + + /* If there already was stuff dirty we wont + * schedule a new work, so lets do it now */ + schedule_delayed_work(&info->deferred_work, 0); + + return 0; +} --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c @@ -0,0 +1,538 @@ +/************************************************************************** + * + * Copyright © 2009 VMware, Inc., Palo Alto, CA., 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. + * + **************************************************************************/ + +#include "vmwgfx_drv.h" +#include "drmP.h" +#include "ttm/ttm_placement.h" + +bool vmw_fifo_have_3d(struct vmw_private *dev_priv) +{ + __le32 __iomem *fifo_mem = dev_priv->mmio_virt; + uint32_t fifo_min, hwversion; + + fifo_min = ioread32(fifo_mem + SVGA_FIFO_MIN); + if (fifo_min <= SVGA_FIFO_3D_HWVERSION * sizeof(unsigned int)) + return false; + + hwversion = ioread32(fifo_mem + SVGA_FIFO_3D_HWVERSION); + if (hwversion == 0) + return false; + + if (hwversion < SVGA3D_HWVERSION_WS65_B1) + return false; + + return true; +} + +int vmw_fifo_init(struct vmw_private *dev_priv, struct vmw_fifo_state *fifo) +{ + __le32 __iomem *fifo_mem = dev_priv->mmio_virt; + uint32_t max; + uint32_t min; + uint32_t dummy; + int ret; + + fifo->static_buffer_size = VMWGFX_FIFO_STATIC_SIZE; + fifo->static_buffer = vmalloc(fifo->static_buffer_size); + if (unlikely(fifo->static_buffer == NULL)) + return -ENOMEM; + + fifo->last_buffer_size = VMWGFX_FIFO_STATIC_SIZE; + fifo->last_data_size = 0; + fifo->last_buffer_add = false; + fifo->last_buffer = vmalloc(fifo->last_buffer_size); + if (unlikely(fifo->last_buffer == NULL)) { + ret = -ENOMEM; + goto out_err; + } + + fifo->dynamic_buffer = NULL; + fifo->reserved_size = 0; + fifo->using_bounce_buffer = false; + + mutex_init(&fifo->fifo_mutex); + init_rwsem(&fifo->rwsem); + + /* + * Allow mapping the first page read-only to user-space. + */ + + DRM_INFO("width %d\n", vmw_read(dev_priv, SVGA_REG_WIDTH)); + DRM_INFO("height %d\n", vmw_read(dev_priv, SVGA_REG_HEIGHT)); + DRM_INFO("bpp %d\n", vmw_read(dev_priv, SVGA_REG_BITS_PER_PIXEL)); + + mutex_lock(&dev_priv->hw_mutex); + dev_priv->enable_state = vmw_read(dev_priv, SVGA_REG_ENABLE); + dev_priv->config_done_state = vmw_read(dev_priv, SVGA_REG_CONFIG_DONE); + vmw_write(dev_priv, SVGA_REG_ENABLE, 1); + + min = 4; + if (dev_priv->capabilities & SVGA_CAP_EXTENDED_FIFO) + min = vmw_read(dev_priv, SVGA_REG_MEM_REGS); + min <<= 2; + + if (min < PAGE_SIZE) + min = PAGE_SIZE; + + iowrite32(min, fifo_mem + SVGA_FIFO_MIN); + iowrite32(dev_priv->mmio_size, fifo_mem + SVGA_FIFO_MAX); + wmb(); + iowrite32(min, fifo_mem + SVGA_FIFO_NEXT_CMD); + iowrite32(min, fifo_mem + SVGA_FIFO_STOP); + iowrite32(0, fifo_mem + SVGA_FIFO_BUSY); + mb(); + + vmw_write(dev_priv, SVGA_REG_CONFIG_DONE, 1); + mutex_unlock(&dev_priv->hw_mutex); + + max = ioread32(fifo_mem + SVGA_FIFO_MAX); + min = ioread32(fifo_mem + SVGA_FIFO_MIN); + fifo->capabilities = ioread32(fifo_mem + SVGA_FIFO_CAPABILITIES); + + DRM_INFO("Fifo max 0x%08x min 0x%08x cap 0x%08x\n", + (unsigned int) max, + (unsigned int) min, + (unsigned int) fifo->capabilities); + + atomic_set(&dev_priv->fence_seq, dev_priv->last_read_sequence); + iowrite32(dev_priv->last_read_sequence, fifo_mem + SVGA_FIFO_FENCE); + + return vmw_fifo_send_fence(dev_priv, &dummy); +out_err: + vfree(fifo->static_buffer); + fifo->static_buffer = NULL; + return ret; +} + +void vmw_fifo_ping_host(struct vmw_private *dev_priv, uint32_t reason) +{ + __le32 __iomem *fifo_mem = dev_priv->mmio_virt; + + mutex_lock(&dev_priv->hw_mutex); + + if (unlikely(ioread32(fifo_mem + SVGA_FIFO_BUSY) == 0)) { + iowrite32(1, fifo_mem + SVGA_FIFO_BUSY); + vmw_write(dev_priv, SVGA_REG_SYNC, reason); + } + + mutex_unlock(&dev_priv->hw_mutex); +} + +void vmw_fifo_release(struct vmw_private *dev_priv, struct vmw_fifo_state *fifo) +{ + __le32 __iomem *fifo_mem = dev_priv->mmio_virt; + + mutex_lock(&dev_priv->hw_mutex); + + while (vmw_read(dev_priv, SVGA_REG_BUSY) != 0) + vmw_write(dev_priv, SVGA_REG_SYNC, SVGA_SYNC_GENERIC); + + dev_priv->last_read_sequence = ioread32(fifo_mem + SVGA_FIFO_FENCE); + + vmw_write(dev_priv, SVGA_REG_CONFIG_DONE, + dev_priv->config_done_state); + vmw_write(dev_priv, SVGA_REG_ENABLE, + dev_priv->enable_state); + + mutex_unlock(&dev_priv->hw_mutex); + + if (likely(fifo->last_buffer != NULL)) { + vfree(fifo->last_buffer); + fifo->last_buffer = NULL; + } + + if (likely(fifo->static_buffer != NULL)) { + vfree(fifo->static_buffer); + fifo->static_buffer = NULL; + } + + if (likely(fifo->dynamic_buffer != NULL)) { + vfree(fifo->dynamic_buffer); + fifo->dynamic_buffer = NULL; + } +} + +static bool vmw_fifo_is_full(struct vmw_private *dev_priv, uint32_t bytes) +{ + __le32 __iomem *fifo_mem = dev_priv->mmio_virt; + uint32_t max = ioread32(fifo_mem + SVGA_FIFO_MAX); + uint32_t next_cmd = ioread32(fifo_mem + SVGA_FIFO_NEXT_CMD); + uint32_t min = ioread32(fifo_mem + SVGA_FIFO_MIN); + uint32_t stop = ioread32(fifo_mem + SVGA_FIFO_STOP); + + return ((max - next_cmd) + (stop - min) <= bytes); +} + +static int vmw_fifo_wait_noirq(struct vmw_private *dev_priv, + uint32_t bytes, bool interruptible, + unsigned long timeout) +{ + int ret = 0; + unsigned long end_jiffies = jiffies + timeout; + DEFINE_WAIT(__wait); + + DRM_INFO("Fifo wait noirq.\n"); + + for (;;) { + prepare_to_wait(&dev_priv->fifo_queue, &__wait, + (interruptible) ? + TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE); + if (!vmw_fifo_is_full(dev_priv, bytes)) + break; + if (time_after_eq(jiffies, end_jiffies)) { + ret = -EBUSY; + DRM_ERROR("SVGA device lockup.\n"); + break; + } + schedule_timeout(1); + if (interruptible && signal_pending(current)) { + ret = -ERESTARTSYS; + break; + } + } + finish_wait(&dev_priv->fifo_queue, &__wait); + wake_up_all(&dev_priv->fifo_queue); + DRM_INFO("Fifo noirq exit.\n"); + return ret; +} + +static int vmw_fifo_wait(struct vmw_private *dev_priv, + uint32_t bytes, bool interruptible, + unsigned long timeout) +{ + long ret = 1L; + unsigned long irq_flags; + + if (likely(!vmw_fifo_is_full(dev_priv, bytes))) + return 0; + + vmw_fifo_ping_host(dev_priv, SVGA_SYNC_FIFOFULL); + if (!(dev_priv->capabilities & SVGA_CAP_IRQMASK)) + return vmw_fifo_wait_noirq(dev_priv, bytes, + interruptible, timeout); + + mutex_lock(&dev_priv->hw_mutex); + if (atomic_add_return(1, &dev_priv->fifo_queue_waiters) > 0) { + spin_lock_irqsave(&dev_priv->irq_lock, irq_flags); + outl(SVGA_IRQFLAG_FIFO_PROGRESS, + dev_priv->io_start + VMWGFX_IRQSTATUS_PORT); + vmw_write(dev_priv, SVGA_REG_IRQMASK, + vmw_read(dev_priv, SVGA_REG_IRQMASK) | + SVGA_IRQFLAG_FIFO_PROGRESS); + spin_unlock_irqrestore(&dev_priv->irq_lock, irq_flags); + } + mutex_unlock(&dev_priv->hw_mutex); + + if (interruptible) + ret = wait_event_interruptible_timeout + (dev_priv->fifo_queue, + !vmw_fifo_is_full(dev_priv, bytes), timeout); + else + ret = wait_event_timeout + (dev_priv->fifo_queue, + !vmw_fifo_is_full(dev_priv, bytes), timeout); + + if (unlikely(ret == 0)) + ret = -EBUSY; + else if (likely(ret > 0)) + ret = 0; + + mutex_lock(&dev_priv->hw_mutex); + if (atomic_dec_and_test(&dev_priv->fifo_queue_waiters)) { + spin_lock_irqsave(&dev_priv->irq_lock, irq_flags); + vmw_write(dev_priv, SVGA_REG_IRQMASK, + vmw_read(dev_priv, SVGA_REG_IRQMASK) & + ~SVGA_IRQFLAG_FIFO_PROGRESS); + spin_unlock_irqrestore(&dev_priv->irq_lock, irq_flags); + } + mutex_unlock(&dev_priv->hw_mutex); + + return ret; +} + +void *vmw_fifo_reserve(struct vmw_private *dev_priv, uint32_t bytes) +{ + struct vmw_fifo_state *fifo_state = &dev_priv->fifo; + __le32 __iomem *fifo_mem = dev_priv->mmio_virt; + uint32_t max; + uint32_t min; + uint32_t next_cmd; + uint32_t reserveable = fifo_state->capabilities & SVGA_FIFO_CAP_RESERVE; + int ret; + + mutex_lock(&fifo_state->fifo_mutex); + max = ioread32(fifo_mem + SVGA_FIFO_MAX); + min = ioread32(fifo_mem + SVGA_FIFO_MIN); + next_cmd = ioread32(fifo_mem + SVGA_FIFO_NEXT_CMD); + + if (unlikely(bytes >= (max - min))) + goto out_err; + + BUG_ON(fifo_state->reserved_size != 0); + BUG_ON(fifo_state->dynamic_buffer != NULL); + + fifo_state->reserved_size = bytes; + + while (1) { + uint32_t stop = ioread32(fifo_mem + SVGA_FIFO_STOP); + bool need_bounce = false; + bool reserve_in_place = false; + + if (next_cmd >= stop) { + if (likely((next_cmd + bytes < max || + (next_cmd + bytes == max && stop > min)))) + reserve_in_place = true; + + else if (vmw_fifo_is_full(dev_priv, bytes)) { + ret = vmw_fifo_wait(dev_priv, bytes, + false, 3 * HZ); + if (unlikely(ret != 0)) + goto out_err; + } else + need_bounce = true; + + } else { + + if (likely((next_cmd + bytes < stop))) + reserve_in_place = true; + else { + ret = vmw_fifo_wait(dev_priv, bytes, + false, 3 * HZ); + if (unlikely(ret != 0)) + goto out_err; + } + } + + if (reserve_in_place) { + if (reserveable || bytes <= sizeof(uint32_t)) { + fifo_state->using_bounce_buffer = false; + + if (reserveable) + iowrite32(bytes, fifo_mem + + SVGA_FIFO_RESERVED); + return fifo_mem + (next_cmd >> 2); + } else { + need_bounce = true; + } + } + + if (need_bounce) { + fifo_state->using_bounce_buffer = true; + if (bytes < fifo_state->static_buffer_size) + return fifo_state->static_buffer; + else { + fifo_state->dynamic_buffer = vmalloc(bytes); + return fifo_state->dynamic_buffer; + } + } + } +out_err: + fifo_state->reserved_size = 0; + mutex_unlock(&fifo_state->fifo_mutex); + return NULL; +} + +static void vmw_fifo_res_copy(struct vmw_fifo_state *fifo_state, + __le32 __iomem *fifo_mem, + uint32_t next_cmd, + uint32_t max, uint32_t min, uint32_t bytes) +{ + uint32_t chunk_size = max - next_cmd; + uint32_t rest; + uint32_t *buffer = (fifo_state->dynamic_buffer != NULL) ? + fifo_state->dynamic_buffer : fifo_state->static_buffer; + + if (bytes < chunk_size) + chunk_size = bytes; + + iowrite32(bytes, fifo_mem + SVGA_FIFO_RESERVED); + mb(); + memcpy_toio(fifo_mem + (next_cmd >> 2), buffer, chunk_size); + rest = bytes - chunk_size; + if (rest) + memcpy_toio(fifo_mem + (min >> 2), buffer + (chunk_size >> 2), + rest); +} + +static void vmw_fifo_slow_copy(struct vmw_fifo_state *fifo_state, + __le32 __iomem *fifo_mem, + uint32_t next_cmd, + uint32_t max, uint32_t min, uint32_t bytes) +{ + uint32_t *buffer = (fifo_state->dynamic_buffer != NULL) ? + fifo_state->dynamic_buffer : fifo_state->static_buffer; + + while (bytes > 0) { + iowrite32(*buffer++, fifo_mem + (next_cmd >> 2)); + next_cmd += sizeof(uint32_t); + if (unlikely(next_cmd == max)) + next_cmd = min; + mb(); + iowrite32(next_cmd, fifo_mem + SVGA_FIFO_NEXT_CMD); + mb(); + bytes -= sizeof(uint32_t); + } +} + +void vmw_fifo_commit(struct vmw_private *dev_priv, uint32_t bytes) +{ + struct vmw_fifo_state *fifo_state = &dev_priv->fifo; + __le32 __iomem *fifo_mem = dev_priv->mmio_virt; + uint32_t next_cmd = ioread32(fifo_mem + SVGA_FIFO_NEXT_CMD); + uint32_t max = ioread32(fifo_mem + SVGA_FIFO_MAX); + uint32_t min = ioread32(fifo_mem + SVGA_FIFO_MIN); + bool reserveable = fifo_state->capabilities & SVGA_FIFO_CAP_RESERVE; + + BUG_ON((bytes & 3) != 0); + BUG_ON(bytes > fifo_state->reserved_size); + + fifo_state->reserved_size = 0; + + if (fifo_state->using_bounce_buffer) { + if (reserveable) + vmw_fifo_res_copy(fifo_state, fifo_mem, + next_cmd, max, min, bytes); + else + vmw_fifo_slow_copy(fifo_state, fifo_mem, + next_cmd, max, min, bytes); + + if (fifo_state->dynamic_buffer) { + vfree(fifo_state->dynamic_buffer); + fifo_state->dynamic_buffer = NULL; + } + + } + + down_write(&fifo_state->rwsem); + if (fifo_state->using_bounce_buffer || reserveable) { + next_cmd += bytes; + if (next_cmd >= max) + next_cmd -= max - min; + mb(); + iowrite32(next_cmd, fifo_mem + SVGA_FIFO_NEXT_CMD); + } + + if (reserveable) + iowrite32(0, fifo_mem + SVGA_FIFO_RESERVED); + mb(); + up_write(&fifo_state->rwsem); + vmw_fifo_ping_host(dev_priv, SVGA_SYNC_GENERIC); + mutex_unlock(&fifo_state->fifo_mutex); +} + +int vmw_fifo_send_fence(struct vmw_private *dev_priv, uint32_t *sequence) +{ + struct vmw_fifo_state *fifo_state = &dev_priv->fifo; + struct svga_fifo_cmd_fence *cmd_fence; + void *fm; + int ret = 0; + uint32_t bytes = sizeof(__le32) + sizeof(*cmd_fence); + + fm = vmw_fifo_reserve(dev_priv, bytes); + if (unlikely(fm == NULL)) { + *sequence = atomic_read(&dev_priv->fence_seq); + ret = -ENOMEM; + (void)vmw_fallback_wait(dev_priv, false, true, *sequence, + false, 3*HZ); + goto out_err; + } + + do { + *sequence = atomic_add_return(1, &dev_priv->fence_seq); + } while (*sequence == 0); + + if (!(fifo_state->capabilities & SVGA_FIFO_CAP_FENCE)) { + + /* + * Don't request hardware to send a fence. The + * waiting code in vmwgfx_irq.c will emulate this. + */ + + vmw_fifo_commit(dev_priv, 0); + return 0; + } + + *(__le32 *) fm = cpu_to_le32(SVGA_CMD_FENCE); + cmd_fence = (struct svga_fifo_cmd_fence *) + ((unsigned long)fm + sizeof(__le32)); + + iowrite32(*sequence, &cmd_fence->fence); + fifo_state->last_buffer_add = true; + vmw_fifo_commit(dev_priv, bytes); + fifo_state->last_buffer_add = false; + +out_err: + return ret; +} + +/** + * Map the first page of the FIFO read-only to user-space. + */ + +static int vmw_fifo_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf) +{ + int ret; + unsigned long address = (unsigned long)vmf->virtual_address; + + if (address != vma->vm_start) + return VM_FAULT_SIGBUS; + + ret = vm_insert_pfn(vma, address, vma->vm_pgoff); + if (likely(ret == -EBUSY || ret == 0)) + return VM_FAULT_NOPAGE; + else if (ret == -ENOMEM) + return VM_FAULT_OOM; + + return VM_FAULT_SIGBUS; +} + +static struct vm_operations_struct vmw_fifo_vm_ops = { + .fault = vmw_fifo_vm_fault, + .open = NULL, + .close = NULL +}; + +int vmw_fifo_mmap(struct file *filp, struct vm_area_struct *vma) +{ + struct drm_file *file_priv; + struct vmw_private *dev_priv; + + file_priv = (struct drm_file *)filp->private_data; + dev_priv = vmw_priv(file_priv->minor->dev); + + if (vma->vm_pgoff != (dev_priv->mmio_start >> PAGE_SHIFT) || + (vma->vm_end - vma->vm_start) != PAGE_SIZE) + return -EINVAL; + + vma->vm_flags &= ~(VM_WRITE | VM_MAYWRITE); + vma->vm_flags |= VM_IO | VM_PFNMAP | VM_DONTEXPAND | VM_SHARED; + vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); + vma->vm_page_prot = ttm_io_prot(TTM_PL_FLAG_UNCACHED, + vma->vm_page_prot); + vma->vm_ops = &vmw_fifo_vm_ops; + return 0; +} --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/vmwgfx_gmr.c +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/vmwgfx_gmr.c @@ -0,0 +1,213 @@ +/************************************************************************** + * + * Copyright © 2009 VMware, Inc., Palo Alto, CA., 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. + * + **************************************************************************/ + +#include "vmwgfx_drv.h" +#include "drmP.h" +#include "ttm/ttm_bo_driver.h" + +/** + * FIXME: Adjust to the ttm lowmem / highmem storage to minimize + * the number of used descriptors. + */ + +static int vmw_gmr_build_descriptors(struct list_head *desc_pages, + struct page *pages[], + unsigned long num_pages) +{ + struct page *page, *next; + struct svga_guest_mem_descriptor *page_virtual = NULL; + struct svga_guest_mem_descriptor *desc_virtual = NULL; + unsigned int desc_per_page; + unsigned long prev_pfn; + unsigned long pfn; + int ret; + + desc_per_page = PAGE_SIZE / + sizeof(struct svga_guest_mem_descriptor) - 1; + + while (likely(num_pages != 0)) { + page = alloc_page(__GFP_HIGHMEM); + if (unlikely(page == NULL)) { + ret = -ENOMEM; + goto out_err; + } + + list_add_tail(&page->lru, desc_pages); + + /* + * Point previous page terminating descriptor to this + * page before unmapping it. + */ + + if (likely(page_virtual != NULL)) { + desc_virtual->ppn = page_to_pfn(page); + kunmap_atomic(page_virtual, KM_USER0); + } + + page_virtual = kmap_atomic(page, KM_USER0); + desc_virtual = page_virtual - 1; + prev_pfn = ~(0UL); + + while (likely(num_pages != 0)) { + pfn = page_to_pfn(*pages); + + if (pfn != prev_pfn + 1) { + + if (desc_virtual - page_virtual == + desc_per_page - 1) + break; + + (++desc_virtual)->ppn = cpu_to_le32(pfn); + desc_virtual->num_pages = cpu_to_le32(1); + } else { + uint32_t tmp = + le32_to_cpu(desc_virtual->num_pages); + desc_virtual->num_pages = cpu_to_le32(tmp + 1); + } + prev_pfn = pfn; + --num_pages; + ++pages; + } + + (++desc_virtual)->ppn = cpu_to_le32(0); + desc_virtual->num_pages = cpu_to_le32(0); + } + + if (likely(page_virtual != NULL)) + kunmap_atomic(page_virtual, KM_USER0); + + return 0; +out_err: + list_for_each_entry_safe(page, next, desc_pages, lru) { + list_del_init(&page->lru); + __free_page(page); + } + return ret; +} + +static inline void vmw_gmr_free_descriptors(struct list_head *desc_pages) +{ + struct page *page, *next; + + list_for_each_entry_safe(page, next, desc_pages, lru) { + list_del_init(&page->lru); + __free_page(page); + } +} + +static void vmw_gmr_fire_descriptors(struct vmw_private *dev_priv, + int gmr_id, struct list_head *desc_pages) +{ + struct page *page; + + if (unlikely(list_empty(desc_pages))) + return; + + page = list_entry(desc_pages->next, struct page, lru); + + mutex_lock(&dev_priv->hw_mutex); + + vmw_write(dev_priv, SVGA_REG_GMR_ID, gmr_id); + wmb(); + vmw_write(dev_priv, SVGA_REG_GMR_DESCRIPTOR, page_to_pfn(page)); + mb(); + + mutex_unlock(&dev_priv->hw_mutex); + +} + +/** + * FIXME: Adjust to the ttm lowmem / highmem storage to minimize + * the number of used descriptors. + */ + +static unsigned long vmw_gmr_count_descriptors(struct page *pages[], + unsigned long num_pages) +{ + unsigned long prev_pfn = ~(0UL); + unsigned long pfn; + unsigned long descriptors = 0; + + while (num_pages--) { + pfn = page_to_pfn(*pages++); + if (prev_pfn + 1 != pfn) + ++descriptors; + prev_pfn = pfn; + } + + return descriptors; +} + +int vmw_gmr_bind(struct vmw_private *dev_priv, + struct ttm_buffer_object *bo) +{ + struct ttm_tt *ttm = bo->ttm; + unsigned long descriptors; + int ret; + uint32_t id; + struct list_head desc_pages; + + if (!(dev_priv->capabilities & SVGA_CAP_GMR)) + return -EINVAL; + + ret = ttm_tt_populate(ttm); + if (unlikely(ret != 0)) + return ret; + + descriptors = vmw_gmr_count_descriptors(ttm->pages, ttm->num_pages); + if (unlikely(descriptors > dev_priv->max_gmr_descriptors)) + return -EINVAL; + + INIT_LIST_HEAD(&desc_pages); + ret = vmw_gmr_build_descriptors(&desc_pages, ttm->pages, + ttm->num_pages); + if (unlikely(ret != 0)) + return ret; + + ret = vmw_gmr_id_alloc(dev_priv, &id); + if (unlikely(ret != 0)) + goto out_no_id; + + vmw_gmr_fire_descriptors(dev_priv, id, &desc_pages); + vmw_gmr_free_descriptors(&desc_pages); + vmw_dmabuf_set_gmr(bo, id); + return 0; + +out_no_id: + vmw_gmr_free_descriptors(&desc_pages); + return ret; +} + +void vmw_gmr_unbind(struct vmw_private *dev_priv, int gmr_id) +{ + mutex_lock(&dev_priv->hw_mutex); + vmw_write(dev_priv, SVGA_REG_GMR_ID, gmr_id); + wmb(); + vmw_write(dev_priv, SVGA_REG_GMR_DESCRIPTOR, 0); + mb(); + mutex_unlock(&dev_priv->hw_mutex); +} --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c @@ -0,0 +1,87 @@ +/************************************************************************** + * + * Copyright © 2009 VMware, Inc., Palo Alto, CA., 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. + * + **************************************************************************/ + +#include "vmwgfx_drv.h" +#include "vmwgfx_drm.h" + +int vmw_getparam_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + struct drm_vmw_getparam_arg *param = + (struct drm_vmw_getparam_arg *)data; + + switch (param->param) { + case DRM_VMW_PARAM_NUM_STREAMS: + param->value = vmw_overlay_num_overlays(dev_priv); + break; + case DRM_VMW_PARAM_NUM_FREE_STREAMS: + param->value = vmw_overlay_num_free_overlays(dev_priv); + break; + case DRM_VMW_PARAM_3D: + param->value = vmw_fifo_have_3d(dev_priv) ? 1 : 0; + break; + case DRM_VMW_PARAM_FIFO_OFFSET: + param->value = dev_priv->mmio_start; + break; + case DRM_VMW_PARAM_HW_CAPS: + param->value = dev_priv->capabilities; + break; + case DRM_VMW_PARAM_FIFO_CAPS: + param->value = dev_priv->fifo.capabilities; + break; + default: + DRM_ERROR("Illegal vmwgfx get param request: %d\n", + param->param); + return -EINVAL; + } + + return 0; +} + +int vmw_fifo_debug_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + struct vmw_fifo_state *fifo_state = &dev_priv->fifo; + struct drm_vmw_fifo_debug_arg *arg = + (struct drm_vmw_fifo_debug_arg *)data; + __le32 __user *buffer = (__le32 __user *) + (unsigned long)arg->debug_buffer; + + if (unlikely(fifo_state->last_buffer == NULL)) + return -EINVAL; + + if (arg->debug_buffer_size < fifo_state->last_data_size) { + arg->used_size = arg->debug_buffer_size; + arg->did_not_fit = 1; + } else { + arg->used_size = fifo_state->last_data_size; + arg->did_not_fit = 0; + } + return copy_to_user(buffer, fifo_state->last_buffer, arg->used_size); +} --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c @@ -0,0 +1,286 @@ +/************************************************************************** + * + * Copyright © 2009 VMware, Inc., Palo Alto, CA., 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. + * + **************************************************************************/ + +#include "drmP.h" +#include "vmwgfx_drv.h" + +#define VMW_FENCE_WRAP (1 << 24) + +irqreturn_t vmw_irq_handler(DRM_IRQ_ARGS) +{ + struct drm_device *dev = (struct drm_device *)arg; + struct vmw_private *dev_priv = vmw_priv(dev); + uint32_t status; + + spin_lock(&dev_priv->irq_lock); + status = inl(dev_priv->io_start + VMWGFX_IRQSTATUS_PORT); + spin_unlock(&dev_priv->irq_lock); + + if (status & SVGA_IRQFLAG_ANY_FENCE) + wake_up_all(&dev_priv->fence_queue); + if (status & SVGA_IRQFLAG_FIFO_PROGRESS) + wake_up_all(&dev_priv->fifo_queue); + + if (likely(status)) { + outl(status, dev_priv->io_start + VMWGFX_IRQSTATUS_PORT); + return IRQ_HANDLED; + } + + return IRQ_NONE; +} + +static bool vmw_fifo_idle(struct vmw_private *dev_priv, uint32_t sequence) +{ + uint32_t busy; + + mutex_lock(&dev_priv->hw_mutex); + busy = vmw_read(dev_priv, SVGA_REG_BUSY); + mutex_unlock(&dev_priv->hw_mutex); + + return (busy == 0); +} + + +bool vmw_fence_signaled(struct vmw_private *dev_priv, + uint32_t sequence) +{ + __le32 __iomem *fifo_mem = dev_priv->mmio_virt; + struct vmw_fifo_state *fifo_state; + bool ret; + + if (likely(dev_priv->last_read_sequence - sequence < VMW_FENCE_WRAP)) + return true; + + dev_priv->last_read_sequence = ioread32(fifo_mem + SVGA_FIFO_FENCE); + if (likely(dev_priv->last_read_sequence - sequence < VMW_FENCE_WRAP)) + return true; + + fifo_state = &dev_priv->fifo; + if (!(fifo_state->capabilities & SVGA_FIFO_CAP_FENCE) && + vmw_fifo_idle(dev_priv, sequence)) + return true; + + /** + * Then check if the sequence is higher than what we've actually + * emitted. Then the fence is stale and signaled. + */ + + ret = ((atomic_read(&dev_priv->fence_seq) - sequence) + > VMW_FENCE_WRAP); + + return ret; +} + +int vmw_fallback_wait(struct vmw_private *dev_priv, + bool lazy, + bool fifo_idle, + uint32_t sequence, + bool interruptible, + unsigned long timeout) +{ + struct vmw_fifo_state *fifo_state = &dev_priv->fifo; + + uint32_t count = 0; + uint32_t signal_seq; + int ret; + unsigned long end_jiffies = jiffies + timeout; + bool (*wait_condition)(struct vmw_private *, uint32_t); + DEFINE_WAIT(__wait); + + wait_condition = (fifo_idle) ? &vmw_fifo_idle : + &vmw_fence_signaled; + + /** + * Block command submission while waiting for idle. + */ + + if (fifo_idle) + down_read(&fifo_state->rwsem); + signal_seq = atomic_read(&dev_priv->fence_seq); + ret = 0; + + for (;;) { + prepare_to_wait(&dev_priv->fence_queue, &__wait, + (interruptible) ? + TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE); + if (wait_condition(dev_priv, sequence)) + break; + if (time_after_eq(jiffies, end_jiffies)) { + DRM_ERROR("SVGA device lockup.\n"); + break; + } + if (lazy) + schedule_timeout(1); + else if ((++count & 0x0F) == 0) { + /** + * FIXME: Use schedule_hr_timeout here for + * newer kernels and lower CPU utilization. + */ + + __set_current_state(TASK_RUNNING); + schedule(); + __set_current_state((interruptible) ? + TASK_INTERRUPTIBLE : + TASK_UNINTERRUPTIBLE); + } + if (interruptible && signal_pending(current)) { + ret = -ERESTARTSYS; + break; + } + } + finish_wait(&dev_priv->fence_queue, &__wait); + if (ret == 0 && fifo_idle) { + __le32 __iomem *fifo_mem = dev_priv->mmio_virt; + iowrite32(signal_seq, fifo_mem + SVGA_FIFO_FENCE); + } + wake_up_all(&dev_priv->fence_queue); + if (fifo_idle) + up_read(&fifo_state->rwsem); + + return ret; +} + +int vmw_wait_fence(struct vmw_private *dev_priv, + bool lazy, uint32_t sequence, + bool interruptible, unsigned long timeout) +{ + long ret; + unsigned long irq_flags; + struct vmw_fifo_state *fifo = &dev_priv->fifo; + + if (likely(dev_priv->last_read_sequence - sequence < VMW_FENCE_WRAP)) + return 0; + + if (likely(vmw_fence_signaled(dev_priv, sequence))) + return 0; + + vmw_fifo_ping_host(dev_priv, SVGA_SYNC_GENERIC); + + if (!(fifo->capabilities & SVGA_FIFO_CAP_FENCE)) + return vmw_fallback_wait(dev_priv, lazy, true, sequence, + interruptible, timeout); + + if (!(dev_priv->capabilities & SVGA_CAP_IRQMASK)) + return vmw_fallback_wait(dev_priv, lazy, false, sequence, + interruptible, timeout); + + mutex_lock(&dev_priv->hw_mutex); + if (atomic_add_return(1, &dev_priv->fence_queue_waiters) > 0) { + spin_lock_irqsave(&dev_priv->irq_lock, irq_flags); + outl(SVGA_IRQFLAG_ANY_FENCE, + dev_priv->io_start + VMWGFX_IRQSTATUS_PORT); + vmw_write(dev_priv, SVGA_REG_IRQMASK, + vmw_read(dev_priv, SVGA_REG_IRQMASK) | + SVGA_IRQFLAG_ANY_FENCE); + spin_unlock_irqrestore(&dev_priv->irq_lock, irq_flags); + } + mutex_unlock(&dev_priv->hw_mutex); + + if (interruptible) + ret = wait_event_interruptible_timeout + (dev_priv->fence_queue, + vmw_fence_signaled(dev_priv, sequence), + timeout); + else + ret = wait_event_timeout + (dev_priv->fence_queue, + vmw_fence_signaled(dev_priv, sequence), + timeout); + + if (unlikely(ret == 0)) + ret = -EBUSY; + else if (likely(ret > 0)) + ret = 0; + + mutex_lock(&dev_priv->hw_mutex); + if (atomic_dec_and_test(&dev_priv->fence_queue_waiters)) { + spin_lock_irqsave(&dev_priv->irq_lock, irq_flags); + vmw_write(dev_priv, SVGA_REG_IRQMASK, + vmw_read(dev_priv, SVGA_REG_IRQMASK) & + ~SVGA_IRQFLAG_ANY_FENCE); + spin_unlock_irqrestore(&dev_priv->irq_lock, irq_flags); + } + mutex_unlock(&dev_priv->hw_mutex); + + return ret; +} + +void vmw_irq_preinstall(struct drm_device *dev) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + uint32_t status; + + if (!(dev_priv->capabilities & SVGA_CAP_IRQMASK)) + return; + + spin_lock_init(&dev_priv->irq_lock); + status = inl(dev_priv->io_start + VMWGFX_IRQSTATUS_PORT); + outl(status, dev_priv->io_start + VMWGFX_IRQSTATUS_PORT); +} + +int vmw_irq_postinstall(struct drm_device *dev) +{ + return 0; +} + +void vmw_irq_uninstall(struct drm_device *dev) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + uint32_t status; + + if (!(dev_priv->capabilities & SVGA_CAP_IRQMASK)) + return; + + mutex_lock(&dev_priv->hw_mutex); + vmw_write(dev_priv, SVGA_REG_IRQMASK, 0); + mutex_unlock(&dev_priv->hw_mutex); + + status = inl(dev_priv->io_start + VMWGFX_IRQSTATUS_PORT); + outl(status, dev_priv->io_start + VMWGFX_IRQSTATUS_PORT); +} + +#define VMW_FENCE_WAIT_TIMEOUT 3*HZ; + +int vmw_fence_wait_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_vmw_fence_wait_arg *arg = + (struct drm_vmw_fence_wait_arg *)data; + unsigned long timeout; + + if (!arg->cookie_valid) { + arg->cookie_valid = 1; + arg->kernel_cookie = jiffies + VMW_FENCE_WAIT_TIMEOUT; + } + + timeout = jiffies; + if (time_after_eq(timeout, (unsigned long)arg->kernel_cookie)) + return -EBUSY; + + timeout = (unsigned long)arg->kernel_cookie - timeout; + return vmw_wait_fence(vmw_priv(dev), true, arg->sequence, true, timeout); +} --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c @@ -0,0 +1,880 @@ +/************************************************************************** + * + * Copyright © 2009 VMware, Inc., Palo Alto, CA., 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. + * + **************************************************************************/ + +#include "vmwgfx_kms.h" + +/* Might need a hrtimer here? */ +#define VMWGFX_PRESENT_RATE ((HZ / 60 > 0) ? HZ / 60 : 1) + + +void vmw_display_unit_cleanup(struct vmw_display_unit *du) +{ + if (du->cursor_surface) + vmw_surface_unreference(&du->cursor_surface); + if (du->cursor_dmabuf) + vmw_dmabuf_unreference(&du->cursor_dmabuf); + drm_crtc_cleanup(&du->crtc); + drm_encoder_cleanup(&du->encoder); + drm_connector_cleanup(&du->connector); +} + +/* + * Display Unit Cursor functions + */ + +int vmw_cursor_update_image(struct vmw_private *dev_priv, + u32 *image, u32 width, u32 height, + u32 hotspotX, u32 hotspotY) +{ + struct { + u32 cmd; + SVGAFifoCmdDefineAlphaCursor cursor; + } *cmd; + u32 image_size = width * height * 4; + u32 cmd_size = sizeof(*cmd) + image_size; + + if (!image) + return -EINVAL; + + cmd = vmw_fifo_reserve(dev_priv, cmd_size); + if (unlikely(cmd == NULL)) { + DRM_ERROR("Fifo reserve failed.\n"); + return -ENOMEM; + } + + memset(cmd, 0, sizeof(*cmd)); + + memcpy(&cmd[1], image, image_size); + + cmd->cmd = cpu_to_le32(SVGA_CMD_DEFINE_ALPHA_CURSOR); + cmd->cursor.id = cpu_to_le32(0); + cmd->cursor.width = cpu_to_le32(width); + cmd->cursor.height = cpu_to_le32(height); + cmd->cursor.hotspotX = cpu_to_le32(hotspotX); + cmd->cursor.hotspotY = cpu_to_le32(hotspotY); + + vmw_fifo_commit(dev_priv, cmd_size); + + return 0; +} + +void vmw_cursor_update_position(struct vmw_private *dev_priv, + bool show, int x, int y) +{ + __le32 __iomem *fifo_mem = dev_priv->mmio_virt; + uint32_t count; + + iowrite32(show ? 1 : 0, fifo_mem + SVGA_FIFO_CURSOR_ON); + iowrite32(x, fifo_mem + SVGA_FIFO_CURSOR_X); + iowrite32(y, fifo_mem + SVGA_FIFO_CURSOR_Y); + count = ioread32(fifo_mem + SVGA_FIFO_CURSOR_COUNT); + iowrite32(++count, fifo_mem + SVGA_FIFO_CURSOR_COUNT); +} + +int vmw_du_crtc_cursor_set(struct drm_crtc *crtc, struct drm_file *file_priv, + uint32_t handle, uint32_t width, uint32_t height) +{ + struct vmw_private *dev_priv = vmw_priv(crtc->dev); + struct ttm_object_file *tfile = vmw_fpriv(file_priv)->tfile; + struct vmw_display_unit *du = vmw_crtc_to_du(crtc); + struct vmw_surface *surface = NULL; + struct vmw_dma_buffer *dmabuf = NULL; + int ret; + + if (handle) { + ret = vmw_user_surface_lookup_handle(dev_priv, tfile, + handle, &surface); + if (!ret) { + if (!surface->snooper.image) { + DRM_ERROR("surface not suitable for cursor\n"); + return -EINVAL; + } + } else { + ret = vmw_user_dmabuf_lookup(tfile, + handle, &dmabuf); + if (ret) { + DRM_ERROR("failed to find surface or dmabuf: %i\n", ret); + return -EINVAL; + } + } + } + + /* takedown old cursor */ + if (du->cursor_surface) { + du->cursor_surface->snooper.crtc = NULL; + vmw_surface_unreference(&du->cursor_surface); + } + if (du->cursor_dmabuf) + vmw_dmabuf_unreference(&du->cursor_dmabuf); + + /* setup new image */ + if (surface) { + /* vmw_user_surface_lookup takes one reference */ + du->cursor_surface = surface; + + du->cursor_surface->snooper.crtc = crtc; + du->cursor_age = du->cursor_surface->snooper.age; + vmw_cursor_update_image(dev_priv, surface->snooper.image, + 64, 64, du->hotspot_x, du->hotspot_y); + } else if (dmabuf) { + struct ttm_bo_kmap_obj map; + unsigned long kmap_offset; + unsigned long kmap_num; + void *virtual; + bool dummy; + + /* vmw_user_surface_lookup takes one reference */ + du->cursor_dmabuf = dmabuf; + + kmap_offset = 0; + kmap_num = (64*64*4) >> PAGE_SHIFT; + + ret = ttm_bo_reserve(&dmabuf->base, true, false, false, 0); + if (unlikely(ret != 0)) { + DRM_ERROR("reserve failed\n"); + return -EINVAL; + } + + ret = ttm_bo_kmap(&dmabuf->base, kmap_offset, kmap_num, &map); + if (unlikely(ret != 0)) + goto err_unreserve; + + virtual = ttm_kmap_obj_virtual(&map, &dummy); + vmw_cursor_update_image(dev_priv, virtual, 64, 64, + du->hotspot_x, du->hotspot_y); + + ttm_bo_kunmap(&map); +err_unreserve: + ttm_bo_unreserve(&dmabuf->base); + + } else { + vmw_cursor_update_position(dev_priv, false, 0, 0); + return 0; + } + + vmw_cursor_update_position(dev_priv, true, du->cursor_x, du->cursor_y); + + return 0; +} + +int vmw_du_crtc_cursor_move(struct drm_crtc *crtc, int x, int y) +{ + struct vmw_private *dev_priv = vmw_priv(crtc->dev); + struct vmw_display_unit *du = vmw_crtc_to_du(crtc); + bool shown = du->cursor_surface || du->cursor_dmabuf ? true : false; + + du->cursor_x = x + crtc->x; + du->cursor_y = y + crtc->y; + + vmw_cursor_update_position(dev_priv, shown, + du->cursor_x, du->cursor_y); + + return 0; +} + +void vmw_kms_cursor_snoop(struct vmw_surface *srf, + struct ttm_object_file *tfile, + struct ttm_buffer_object *bo, + SVGA3dCmdHeader *header) +{ + struct ttm_bo_kmap_obj map; + unsigned long kmap_offset; + unsigned long kmap_num; + SVGA3dCopyBox *box; + unsigned box_count; + void *virtual; + bool dummy; + struct vmw_dma_cmd { + SVGA3dCmdHeader header; + SVGA3dCmdSurfaceDMA dma; + } *cmd; + int ret; + + cmd = container_of(header, struct vmw_dma_cmd, header); + + /* No snooper installed */ + if (!srf->snooper.image) + return; + + if (cmd->dma.host.face != 0 || cmd->dma.host.mipmap != 0) { + DRM_ERROR("face and mipmap for cursors should never != 0\n"); + return; + } + + if (cmd->header.size < 64) { + DRM_ERROR("at least one full copy box must be given\n"); + return; + } + + box = (SVGA3dCopyBox *)&cmd[1]; + box_count = (cmd->header.size - sizeof(SVGA3dCmdSurfaceDMA)) / + sizeof(SVGA3dCopyBox); + + if (cmd->dma.guest.pitch != (64 * 4) || + cmd->dma.guest.ptr.offset % PAGE_SIZE || + box->x != 0 || box->y != 0 || box->z != 0 || + box->srcx != 0 || box->srcy != 0 || box->srcz != 0 || + box->w != 64 || box->h != 64 || box->d != 1 || + box_count != 1) { + /* TODO handle none page aligned offsets */ + /* TODO handle partial uploads and pitch != 256 */ + /* TODO handle more then one copy (size != 64) */ + DRM_ERROR("lazy programer, cant handle wierd stuff\n"); + return; + } + + kmap_offset = cmd->dma.guest.ptr.offset >> PAGE_SHIFT; + kmap_num = (64*64*4) >> PAGE_SHIFT; + + ret = ttm_bo_reserve(bo, true, false, false, 0); + if (unlikely(ret != 0)) { + DRM_ERROR("reserve failed\n"); + return; + } + + ret = ttm_bo_kmap(bo, kmap_offset, kmap_num, &map); + if (unlikely(ret != 0)) + goto err_unreserve; + + virtual = ttm_kmap_obj_virtual(&map, &dummy); + + memcpy(srf->snooper.image, virtual, 64*64*4); + srf->snooper.age++; + + /* we can't call this function from this function since execbuf has + * reserved fifo space. + * + * if (srf->snooper.crtc) + * vmw_ldu_crtc_cursor_update_image(dev_priv, + * srf->snooper.image, 64, 64, + * du->hotspot_x, du->hotspot_y); + */ + + ttm_bo_kunmap(&map); +err_unreserve: + ttm_bo_unreserve(bo); +} + +void vmw_kms_cursor_post_execbuf(struct vmw_private *dev_priv) +{ + struct drm_device *dev = dev_priv->dev; + struct vmw_display_unit *du; + struct drm_crtc *crtc; + + mutex_lock(&dev->mode_config.mutex); + + list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { + du = vmw_crtc_to_du(crtc); + if (!du->cursor_surface || + du->cursor_age == du->cursor_surface->snooper.age) + continue; + + du->cursor_age = du->cursor_surface->snooper.age; + vmw_cursor_update_image(dev_priv, + du->cursor_surface->snooper.image, + 64, 64, du->hotspot_x, du->hotspot_y); + } + + mutex_unlock(&dev->mode_config.mutex); +} + +/* + * Generic framebuffer code + */ + +int vmw_framebuffer_create_handle(struct drm_framebuffer *fb, + struct drm_file *file_priv, + unsigned int *handle) +{ + if (handle) + handle = 0; + + return 0; +} + +/* + * Surface framebuffer code + */ + +#define vmw_framebuffer_to_vfbs(x) \ + container_of(x, struct vmw_framebuffer_surface, base.base) + +struct vmw_framebuffer_surface { + struct vmw_framebuffer base; + struct vmw_surface *surface; + struct delayed_work d_work; + struct mutex work_lock; + bool present_fs; +}; + +void vmw_framebuffer_surface_destroy(struct drm_framebuffer *framebuffer) +{ + struct vmw_framebuffer_surface *vfb = + vmw_framebuffer_to_vfbs(framebuffer); + + cancel_delayed_work_sync(&vfb->d_work); + drm_framebuffer_cleanup(framebuffer); + vmw_surface_unreference(&vfb->surface); + + kfree(framebuffer); +} + +static void vmw_framebuffer_present_fs_callback(struct work_struct *work) +{ + struct delayed_work *d_work = + container_of(work, struct delayed_work, work); + struct vmw_framebuffer_surface *vfbs = + container_of(d_work, struct vmw_framebuffer_surface, d_work); + struct vmw_surface *surf = vfbs->surface; + struct drm_framebuffer *framebuffer = &vfbs->base.base; + struct vmw_private *dev_priv = vmw_priv(framebuffer->dev); + + struct { + SVGA3dCmdHeader header; + SVGA3dCmdPresent body; + SVGA3dCopyRect cr; + } *cmd; + + mutex_lock(&vfbs->work_lock); + if (!vfbs->present_fs) + goto out_unlock; + + cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); + if (unlikely(cmd == NULL)) + goto out_resched; + + cmd->header.id = cpu_to_le32(SVGA_3D_CMD_PRESENT); + cmd->header.size = cpu_to_le32(sizeof(cmd->body) + sizeof(cmd->cr)); + cmd->body.sid = cpu_to_le32(surf->res.id); + cmd->cr.x = cpu_to_le32(0); + cmd->cr.y = cpu_to_le32(0); + cmd->cr.srcx = cmd->cr.x; + cmd->cr.srcy = cmd->cr.y; + cmd->cr.w = cpu_to_le32(framebuffer->width); + cmd->cr.h = cpu_to_le32(framebuffer->height); + vfbs->present_fs = false; + vmw_fifo_commit(dev_priv, sizeof(*cmd)); +out_resched: + /** + * Will not re-add if already pending. + */ + schedule_delayed_work(&vfbs->d_work, VMWGFX_PRESENT_RATE); +out_unlock: + mutex_unlock(&vfbs->work_lock); +} + + +int vmw_framebuffer_surface_dirty(struct drm_framebuffer *framebuffer, + unsigned flags, unsigned color, + struct drm_clip_rect *clips, + unsigned num_clips) +{ + struct vmw_private *dev_priv = vmw_priv(framebuffer->dev); + struct vmw_framebuffer_surface *vfbs = + vmw_framebuffer_to_vfbs(framebuffer); + struct vmw_surface *surf = vfbs->surface; + struct drm_clip_rect norect; + SVGA3dCopyRect *cr; + int i, inc = 1; + + struct { + SVGA3dCmdHeader header; + SVGA3dCmdPresent body; + SVGA3dCopyRect cr; + } *cmd; + + if (!num_clips || + !(dev_priv->fifo.capabilities & + SVGA_FIFO_CAP_SCREEN_OBJECT)) { + int ret; + + mutex_lock(&vfbs->work_lock); + vfbs->present_fs = true; + ret = schedule_delayed_work(&vfbs->d_work, VMWGFX_PRESENT_RATE); + mutex_unlock(&vfbs->work_lock); + if (ret) { + /** + * No work pending, Force immediate present. + */ + vmw_framebuffer_present_fs_callback(&vfbs->d_work.work); + } + return 0; + } + + if (!num_clips) { + num_clips = 1; + clips = &norect; + norect.x1 = norect.y1 = 0; + norect.x2 = framebuffer->width; + norect.y2 = framebuffer->height; + } else if (flags & DRM_MODE_FB_DIRTY_ANNOTATE_COPY) { + num_clips /= 2; + inc = 2; /* skip source rects */ + } + + cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd) + (num_clips - 1) * sizeof(cmd->cr)); + if (unlikely(cmd == NULL)) { + DRM_ERROR("Fifo reserve failed.\n"); + return -ENOMEM; + } + + memset(cmd, 0, sizeof(*cmd)); + + cmd->header.id = cpu_to_le32(SVGA_3D_CMD_PRESENT); + cmd->header.size = cpu_to_le32(sizeof(cmd->body) + num_clips * sizeof(cmd->cr)); + cmd->body.sid = cpu_to_le32(surf->res.id); + + for (i = 0, cr = &cmd->cr; i < num_clips; i++, cr++, clips += inc) { + cr->x = cpu_to_le16(clips->x1); + cr->y = cpu_to_le16(clips->y1); + cr->srcx = cr->x; + cr->srcy = cr->y; + cr->w = cpu_to_le16(clips->x2 - clips->x1); + cr->h = cpu_to_le16(clips->y2 - clips->y1); + } + + vmw_fifo_commit(dev_priv, sizeof(*cmd) + (num_clips - 1) * sizeof(cmd->cr)); + + return 0; +} + +static struct drm_framebuffer_funcs vmw_framebuffer_surface_funcs = { + .destroy = vmw_framebuffer_surface_destroy, + .dirty = vmw_framebuffer_surface_dirty, + .create_handle = vmw_framebuffer_create_handle, +}; + +int vmw_kms_new_framebuffer_surface(struct vmw_private *dev_priv, + struct vmw_surface *surface, + struct vmw_framebuffer **out, + unsigned width, unsigned height) + +{ + struct drm_device *dev = dev_priv->dev; + struct vmw_framebuffer_surface *vfbs; + int ret; + + vfbs = kzalloc(sizeof(*vfbs), GFP_KERNEL); + if (!vfbs) { + ret = -ENOMEM; + goto out_err1; + } + + ret = drm_framebuffer_init(dev, &vfbs->base.base, + &vmw_framebuffer_surface_funcs); + if (ret) + goto out_err2; + + if (!vmw_surface_reference(surface)) { + DRM_ERROR("failed to reference surface %p\n", surface); + goto out_err3; + } + + /* XXX get the first 3 from the surface info */ + vfbs->base.base.bits_per_pixel = 32; + vfbs->base.base.pitch = width * 32 / 4; + vfbs->base.base.depth = 24; + vfbs->base.base.width = width; + vfbs->base.base.height = height; + vfbs->base.pin = NULL; + vfbs->base.unpin = NULL; + vfbs->surface = surface; + mutex_init(&vfbs->work_lock); + INIT_DELAYED_WORK(&vfbs->d_work, &vmw_framebuffer_present_fs_callback); + *out = &vfbs->base; + + return 0; + +out_err3: + drm_framebuffer_cleanup(&vfbs->base.base); +out_err2: + kfree(vfbs); +out_err1: + return ret; +} + +/* + * Dmabuf framebuffer code + */ + +#define vmw_framebuffer_to_vfbd(x) \ + container_of(x, struct vmw_framebuffer_dmabuf, base.base) + +struct vmw_framebuffer_dmabuf { + struct vmw_framebuffer base; + struct vmw_dma_buffer *buffer; +}; + +void vmw_framebuffer_dmabuf_destroy(struct drm_framebuffer *framebuffer) +{ + struct vmw_framebuffer_dmabuf *vfbd = + vmw_framebuffer_to_vfbd(framebuffer); + + drm_framebuffer_cleanup(framebuffer); + vmw_dmabuf_unreference(&vfbd->buffer); + + kfree(vfbd); +} + +int vmw_framebuffer_dmabuf_dirty(struct drm_framebuffer *framebuffer, + unsigned flags, unsigned color, + struct drm_clip_rect *clips, + unsigned num_clips) +{ + struct vmw_private *dev_priv = vmw_priv(framebuffer->dev); + struct drm_clip_rect norect; + struct { + uint32_t header; + SVGAFifoCmdUpdate body; + } *cmd; + int i, increment = 1; + + if (!num_clips) { + num_clips = 1; + clips = &norect; + norect.x1 = norect.y1 = 0; + norect.x2 = framebuffer->width; + norect.y2 = framebuffer->height; + } else if (flags & DRM_MODE_FB_DIRTY_ANNOTATE_COPY) { + num_clips /= 2; + increment = 2; + } + + cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd) * num_clips); + if (unlikely(cmd == NULL)) { + DRM_ERROR("Fifo reserve failed.\n"); + return -ENOMEM; + } + + for (i = 0; i < num_clips; i++, clips += increment) { + cmd[i].header = cpu_to_le32(SVGA_CMD_UPDATE); + cmd[i].body.x = cpu_to_le32(clips->x1); + cmd[i].body.y = cpu_to_le32(clips->y1); + cmd[i].body.width = cpu_to_le32(clips->x2 - clips->x1); + cmd[i].body.height = cpu_to_le32(clips->y2 - clips->y1); + } + + vmw_fifo_commit(dev_priv, sizeof(*cmd) * num_clips); + + return 0; +} + +static struct drm_framebuffer_funcs vmw_framebuffer_dmabuf_funcs = { + .destroy = vmw_framebuffer_dmabuf_destroy, + .dirty = vmw_framebuffer_dmabuf_dirty, + .create_handle = vmw_framebuffer_create_handle, +}; + +static int vmw_framebuffer_dmabuf_pin(struct vmw_framebuffer *vfb) +{ + struct vmw_private *dev_priv = vmw_priv(vfb->base.dev); + struct vmw_framebuffer_dmabuf *vfbd = + vmw_framebuffer_to_vfbd(&vfb->base); + int ret; + + vmw_overlay_pause_all(dev_priv); + + ret = vmw_dmabuf_to_start_of_vram(dev_priv, vfbd->buffer); + + if (dev_priv->capabilities & SVGA_CAP_MULTIMON) { + vmw_write(dev_priv, SVGA_REG_NUM_GUEST_DISPLAYS, 1); + vmw_write(dev_priv, SVGA_REG_DISPLAY_ID, 0); + vmw_write(dev_priv, SVGA_REG_DISPLAY_IS_PRIMARY, true); + vmw_write(dev_priv, SVGA_REG_DISPLAY_POSITION_X, 0); + vmw_write(dev_priv, SVGA_REG_DISPLAY_POSITION_Y, 0); + vmw_write(dev_priv, SVGA_REG_DISPLAY_WIDTH, 0); + vmw_write(dev_priv, SVGA_REG_DISPLAY_HEIGHT, 0); + vmw_write(dev_priv, SVGA_REG_DISPLAY_ID, SVGA_ID_INVALID); + + vmw_write(dev_priv, SVGA_REG_ENABLE, 1); + vmw_write(dev_priv, SVGA_REG_WIDTH, vfb->base.width); + vmw_write(dev_priv, SVGA_REG_HEIGHT, vfb->base.height); + vmw_write(dev_priv, SVGA_REG_BITS_PER_PIXEL, vfb->base.bits_per_pixel); + vmw_write(dev_priv, SVGA_REG_DEPTH, vfb->base.depth); + vmw_write(dev_priv, SVGA_REG_RED_MASK, 0x00ff0000); + vmw_write(dev_priv, SVGA_REG_GREEN_MASK, 0x0000ff00); + vmw_write(dev_priv, SVGA_REG_BLUE_MASK, 0x000000ff); + } else + WARN_ON(true); + + vmw_overlay_resume_all(dev_priv); + + return 0; +} + +static int vmw_framebuffer_dmabuf_unpin(struct vmw_framebuffer *vfb) +{ + struct vmw_private *dev_priv = vmw_priv(vfb->base.dev); + struct vmw_framebuffer_dmabuf *vfbd = + vmw_framebuffer_to_vfbd(&vfb->base); + + if (!vfbd->buffer) { + WARN_ON(!vfbd->buffer); + return 0; + } + + return vmw_dmabuf_from_vram(dev_priv, vfbd->buffer); +} + +int vmw_kms_new_framebuffer_dmabuf(struct vmw_private *dev_priv, + struct vmw_dma_buffer *dmabuf, + struct vmw_framebuffer **out, + unsigned width, unsigned height) + +{ + struct drm_device *dev = dev_priv->dev; + struct vmw_framebuffer_dmabuf *vfbd; + int ret; + + vfbd = kzalloc(sizeof(*vfbd), GFP_KERNEL); + if (!vfbd) { + ret = -ENOMEM; + goto out_err1; + } + + ret = drm_framebuffer_init(dev, &vfbd->base.base, + &vmw_framebuffer_dmabuf_funcs); + if (ret) + goto out_err2; + + if (!vmw_dmabuf_reference(dmabuf)) { + DRM_ERROR("failed to reference dmabuf %p\n", dmabuf); + goto out_err3; + } + + /* XXX get the first 3 from the surface info */ + vfbd->base.base.bits_per_pixel = 32; + vfbd->base.base.pitch = width * 32 / 4; + vfbd->base.base.depth = 24; + vfbd->base.base.width = width; + vfbd->base.base.height = height; + vfbd->base.pin = vmw_framebuffer_dmabuf_pin; + vfbd->base.unpin = vmw_framebuffer_dmabuf_unpin; + vfbd->buffer = dmabuf; + *out = &vfbd->base; + + return 0; + +out_err3: + drm_framebuffer_cleanup(&vfbd->base.base); +out_err2: + kfree(vfbd); +out_err1: + return ret; +} + +/* + * Generic Kernel modesetting functions + */ + +static struct drm_framebuffer *vmw_kms_fb_create(struct drm_device *dev, + struct drm_file *file_priv, + struct drm_mode_fb_cmd *mode_cmd) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + struct ttm_object_file *tfile = vmw_fpriv(file_priv)->tfile; + struct vmw_framebuffer *vfb = NULL; + struct vmw_surface *surface = NULL; + struct vmw_dma_buffer *bo = NULL; + int ret; + + ret = vmw_user_surface_lookup_handle(dev_priv, tfile, + mode_cmd->handle, &surface); + if (ret) + goto try_dmabuf; + + if (!surface->scanout) + goto err_not_scanout; + + ret = vmw_kms_new_framebuffer_surface(dev_priv, surface, &vfb, + mode_cmd->width, mode_cmd->height); + + /* vmw_user_surface_lookup takes one ref so does new_fb */ + vmw_surface_unreference(&surface); + + if (ret) { + DRM_ERROR("failed to create vmw_framebuffer: %i\n", ret); + return NULL; + } + return &vfb->base; + +try_dmabuf: + DRM_INFO("%s: trying buffer\n", __func__); + + ret = vmw_user_dmabuf_lookup(tfile, mode_cmd->handle, &bo); + if (ret) { + DRM_ERROR("failed to find buffer: %i\n", ret); + return NULL; + } + + ret = vmw_kms_new_framebuffer_dmabuf(dev_priv, bo, &vfb, + mode_cmd->width, mode_cmd->height); + + /* vmw_user_dmabuf_lookup takes one ref so does new_fb */ + vmw_dmabuf_unreference(&bo); + + if (ret) { + DRM_ERROR("failed to create vmw_framebuffer: %i\n", ret); + return NULL; + } + + return &vfb->base; + +err_not_scanout: + DRM_ERROR("surface not marked as scanout\n"); + /* vmw_user_surface_lookup takes one ref */ + vmw_surface_unreference(&surface); + + return NULL; +} + +static int vmw_kms_fb_changed(struct drm_device *dev) +{ + return 0; +} + +static struct drm_mode_config_funcs vmw_kms_funcs = { + .fb_create = vmw_kms_fb_create, + .fb_changed = vmw_kms_fb_changed, +}; + +int vmw_kms_init(struct vmw_private *dev_priv) +{ + struct drm_device *dev = dev_priv->dev; + int ret; + + drm_mode_config_init(dev); + dev->mode_config.funcs = &vmw_kms_funcs; + dev->mode_config.min_width = 1; + dev->mode_config.min_height = 1; + dev->mode_config.max_width = dev_priv->fb_max_width; + dev->mode_config.max_height = dev_priv->fb_max_height; + + ret = vmw_kms_init_legacy_display_system(dev_priv); + + return 0; +} + +int vmw_kms_close(struct vmw_private *dev_priv) +{ + /* + * Docs says we should take the lock before calling this function + * but since it destroys encoders and our destructor calls + * drm_encoder_cleanup which takes the lock we deadlock. + */ + drm_mode_config_cleanup(dev_priv->dev); + vmw_kms_close_legacy_display_system(dev_priv); + return 0; +} + +int vmw_kms_cursor_bypass_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_vmw_cursor_bypass_arg *arg = data; + struct vmw_display_unit *du; + struct drm_mode_object *obj; + struct drm_crtc *crtc; + int ret = 0; + + + mutex_lock(&dev->mode_config.mutex); + if (arg->flags & DRM_VMW_CURSOR_BYPASS_ALL) { + + list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { + du = vmw_crtc_to_du(crtc); + du->hotspot_x = arg->xhot; + du->hotspot_y = arg->yhot; + } + + mutex_unlock(&dev->mode_config.mutex); + return 0; + } + + obj = drm_mode_object_find(dev, arg->crtc_id, DRM_MODE_OBJECT_CRTC); + if (!obj) { + ret = -EINVAL; + goto out; + } + + crtc = obj_to_crtc(obj); + du = vmw_crtc_to_du(crtc); + + du->hotspot_x = arg->xhot; + du->hotspot_y = arg->yhot; + +out: + mutex_unlock(&dev->mode_config.mutex); + + return ret; +} + +int vmw_kms_save_vga(struct vmw_private *vmw_priv) +{ + /* + * setup a single multimon monitor with the size + * of 0x0, this stops the UI from resizing when we + * change the framebuffer size + */ + if (vmw_priv->capabilities & SVGA_CAP_MULTIMON) { + vmw_write(vmw_priv, SVGA_REG_NUM_GUEST_DISPLAYS, 1); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_ID, 0); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_IS_PRIMARY, true); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_POSITION_X, 0); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_POSITION_Y, 0); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_WIDTH, 0); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_HEIGHT, 0); + vmw_write(vmw_priv, SVGA_REG_DISPLAY_ID, SVGA_ID_INVALID); + } + + vmw_priv->vga_width = vmw_read(vmw_priv, SVGA_REG_WIDTH); + vmw_priv->vga_height = vmw_read(vmw_priv, SVGA_REG_HEIGHT); + vmw_priv->vga_bpp = vmw_read(vmw_priv, SVGA_REG_BITS_PER_PIXEL); + vmw_priv->vga_depth = vmw_read(vmw_priv, SVGA_REG_DEPTH); + vmw_priv->vga_pseudo = vmw_read(vmw_priv, SVGA_REG_PSEUDOCOLOR); + vmw_priv->vga_red_mask = vmw_read(vmw_priv, SVGA_REG_RED_MASK); + vmw_priv->vga_green_mask = vmw_read(vmw_priv, SVGA_REG_GREEN_MASK); + vmw_priv->vga_blue_mask = vmw_read(vmw_priv, SVGA_REG_BLUE_MASK); + + return 0; +} + +int vmw_kms_restore_vga(struct vmw_private *vmw_priv) +{ + vmw_write(vmw_priv, SVGA_REG_WIDTH, vmw_priv->vga_width); + vmw_write(vmw_priv, SVGA_REG_HEIGHT, vmw_priv->vga_height); + vmw_write(vmw_priv, SVGA_REG_BITS_PER_PIXEL, vmw_priv->vga_bpp); + vmw_write(vmw_priv, SVGA_REG_DEPTH, vmw_priv->vga_depth); + vmw_write(vmw_priv, SVGA_REG_PSEUDOCOLOR, vmw_priv->vga_pseudo); + vmw_write(vmw_priv, SVGA_REG_RED_MASK, vmw_priv->vga_red_mask); + vmw_write(vmw_priv, SVGA_REG_GREEN_MASK, vmw_priv->vga_green_mask); + vmw_write(vmw_priv, SVGA_REG_BLUE_MASK, vmw_priv->vga_blue_mask); + + /* TODO check for multimon */ + vmw_write(vmw_priv, SVGA_REG_NUM_GUEST_DISPLAYS, 0); + + return 0; +} --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h @@ -0,0 +1,102 @@ +/************************************************************************** + * + * Copyright © 2009 VMware, Inc., Palo Alto, CA., 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. + * + **************************************************************************/ + +#ifndef VMWGFX_KMS_H_ +#define VMWGFX_KMS_H_ + +#include "drmP.h" +#include "vmwgfx_drv.h" + + +#define vmw_framebuffer_to_vfb(x) \ + container_of(x, struct vmw_framebuffer, base) + +/** + * Base class for framebuffers + * + * @pin is called the when ever a crtc uses this framebuffer + * @unpin is called + */ +struct vmw_framebuffer { + struct drm_framebuffer base; + int (*pin)(struct vmw_framebuffer *fb); + int (*unpin)(struct vmw_framebuffer *fb); +}; + + +#define vmw_crtc_to_du(x) \ + container_of(x, struct vmw_display_unit, crtc) + +/* + * Basic cursor manipulation + */ +int vmw_cursor_update_image(struct vmw_private *dev_priv, + u32 *image, u32 width, u32 height, + u32 hotspotX, u32 hotspotY); +void vmw_cursor_update_position(struct vmw_private *dev_priv, + bool show, int x, int y); + +/** + * Base class display unit. + * + * Since the SVGA hw doesn't have a concept of a crtc, encoder or connector + * so the display unit is all of them at the same time. This is true for both + * legacy multimon and screen objects. + */ +struct vmw_display_unit { + struct drm_crtc crtc; + struct drm_encoder encoder; + struct drm_connector connector; + + struct vmw_surface *cursor_surface; + struct vmw_dma_buffer *cursor_dmabuf; + size_t cursor_age; + + int cursor_x; + int cursor_y; + + int hotspot_x; + int hotspot_y; + + unsigned unit; +}; + +/* + * Shared display unit functions - vmwgfx_kms.c + */ +void vmw_display_unit_cleanup(struct vmw_display_unit *du); +int vmw_du_crtc_cursor_set(struct drm_crtc *crtc, struct drm_file *file_priv, + uint32_t handle, uint32_t width, uint32_t height); +int vmw_du_crtc_cursor_move(struct drm_crtc *crtc, int x, int y); + +/* + * Legacy display unit functions - vmwgfx_ldu.h + */ +int vmw_kms_init_legacy_display_system(struct vmw_private *dev_priv); +int vmw_kms_close_legacy_display_system(struct vmw_private *dev_priv); + +#endif --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c @@ -0,0 +1,516 @@ +/************************************************************************** + * + * Copyright © 2009 VMware, Inc., Palo Alto, CA., 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. + * + **************************************************************************/ + +#include "vmwgfx_kms.h" + +#define vmw_crtc_to_ldu(x) \ + container_of(x, struct vmw_legacy_display_unit, base.crtc) +#define vmw_encoder_to_ldu(x) \ + container_of(x, struct vmw_legacy_display_unit, base.encoder) +#define vmw_connector_to_ldu(x) \ + container_of(x, struct vmw_legacy_display_unit, base.connector) + +struct vmw_legacy_display { + struct list_head active; + + unsigned num_active; + + struct vmw_framebuffer *fb; +}; + +/** + * Display unit using the legacy register interface. + */ +struct vmw_legacy_display_unit { + struct vmw_display_unit base; + + struct list_head active; + + unsigned unit; +}; + +static void vmw_ldu_destroy(struct vmw_legacy_display_unit *ldu) +{ + list_del_init(&ldu->active); + vmw_display_unit_cleanup(&ldu->base); + kfree(ldu); +} + + +/* + * Legacy Display Unit CRTC functions + */ + +static void vmw_ldu_crtc_save(struct drm_crtc *crtc) +{ +} + +static void vmw_ldu_crtc_restore(struct drm_crtc *crtc) +{ +} + +static void vmw_ldu_crtc_gamma_set(struct drm_crtc *crtc, + u16 *r, u16 *g, u16 *b, + uint32_t size) +{ +} + +static void vmw_ldu_crtc_destroy(struct drm_crtc *crtc) +{ + vmw_ldu_destroy(vmw_crtc_to_ldu(crtc)); +} + +static int vmw_ldu_commit_list(struct vmw_private *dev_priv) +{ + struct vmw_legacy_display *lds = dev_priv->ldu_priv; + struct vmw_legacy_display_unit *entry; + struct drm_crtc *crtc; + int i = 0; + + /* to stop the screen from changing size on resize */ + vmw_write(dev_priv, SVGA_REG_NUM_GUEST_DISPLAYS, 0); + for (i = 0; i < lds->num_active; i++) { + vmw_write(dev_priv, SVGA_REG_DISPLAY_ID, i); + vmw_write(dev_priv, SVGA_REG_DISPLAY_IS_PRIMARY, !i); + vmw_write(dev_priv, SVGA_REG_DISPLAY_POSITION_X, 0); + vmw_write(dev_priv, SVGA_REG_DISPLAY_POSITION_Y, 0); + vmw_write(dev_priv, SVGA_REG_DISPLAY_WIDTH, 0); + vmw_write(dev_priv, SVGA_REG_DISPLAY_HEIGHT, 0); + vmw_write(dev_priv, SVGA_REG_DISPLAY_ID, SVGA_ID_INVALID); + } + + /* Now set the mode */ + vmw_write(dev_priv, SVGA_REG_NUM_GUEST_DISPLAYS, lds->num_active); + i = 0; + list_for_each_entry(entry, &lds->active, active) { + crtc = &entry->base.crtc; + + vmw_write(dev_priv, SVGA_REG_DISPLAY_ID, i); + vmw_write(dev_priv, SVGA_REG_DISPLAY_IS_PRIMARY, !i); + vmw_write(dev_priv, SVGA_REG_DISPLAY_POSITION_X, crtc->x); + vmw_write(dev_priv, SVGA_REG_DISPLAY_POSITION_Y, crtc->y); + vmw_write(dev_priv, SVGA_REG_DISPLAY_WIDTH, crtc->mode.hdisplay); + vmw_write(dev_priv, SVGA_REG_DISPLAY_HEIGHT, crtc->mode.vdisplay); + vmw_write(dev_priv, SVGA_REG_DISPLAY_ID, SVGA_ID_INVALID); + + i++; + } + + return 0; +} + +static int vmw_ldu_del_active(struct vmw_private *vmw_priv, + struct vmw_legacy_display_unit *ldu) +{ + struct vmw_legacy_display *ld = vmw_priv->ldu_priv; + if (list_empty(&ldu->active)) + return 0; + + list_del_init(&ldu->active); + if (--(ld->num_active) == 0) { + BUG_ON(!ld->fb); + if (ld->fb->unpin) + ld->fb->unpin(ld->fb); + ld->fb = NULL; + } + + return 0; +} + +static int vmw_ldu_add_active(struct vmw_private *vmw_priv, + struct vmw_legacy_display_unit *ldu, + struct vmw_framebuffer *vfb) +{ + struct vmw_legacy_display *ld = vmw_priv->ldu_priv; + struct vmw_legacy_display_unit *entry; + struct list_head *at; + + if (!list_empty(&ldu->active)) + return 0; + + at = &ld->active; + list_for_each_entry(entry, &ld->active, active) { + if (entry->unit > ldu->unit) + break; + + at = &entry->active; + } + + list_add(&ldu->active, at); + if (ld->num_active++ == 0) { + BUG_ON(ld->fb); + if (vfb->pin) + vfb->pin(vfb); + ld->fb = vfb; + } + + return 0; +} + +static int vmw_ldu_crtc_set_config(struct drm_mode_set *set) +{ + struct vmw_private *dev_priv; + struct vmw_legacy_display_unit *ldu; + struct drm_connector *connector; + struct drm_display_mode *mode; + struct drm_encoder *encoder; + struct vmw_framebuffer *vfb; + struct drm_framebuffer *fb; + struct drm_crtc *crtc; + + if (!set) + return -EINVAL; + + if (!set->crtc) + return -EINVAL; + + /* get the ldu */ + crtc = set->crtc; + ldu = vmw_crtc_to_ldu(crtc); + vfb = set->fb ? vmw_framebuffer_to_vfb(set->fb) : NULL; + dev_priv = vmw_priv(crtc->dev); + + if (set->num_connectors > 1) { + DRM_ERROR("to many connectors\n"); + return -EINVAL; + } + + if (set->num_connectors == 1 && + set->connectors[0] != &ldu->base.connector) { + DRM_ERROR("connector doesn't match %p %p\n", + set->connectors[0], &ldu->base.connector); + return -EINVAL; + } + + /* ldu only supports one fb active at the time */ + if (dev_priv->ldu_priv->fb && vfb && + dev_priv->ldu_priv->fb != vfb) { + DRM_ERROR("Multiple framebuffers not supported\n"); + return -EINVAL; + } + + /* since they always map one to one these are safe */ + connector = &ldu->base.connector; + encoder = &ldu->base.encoder; + + /* should we turn the crtc off? */ + if (set->num_connectors == 0 || !set->mode || !set->fb) { + + connector->encoder = NULL; + encoder->crtc = NULL; + crtc->fb = NULL; + + vmw_ldu_del_active(dev_priv, ldu); + + vmw_ldu_commit_list(dev_priv); + + return 0; + } + + + /* we now know we want to set a mode */ + mode = set->mode; + fb = set->fb; + + if (set->x + mode->hdisplay > fb->width || + set->y + mode->vdisplay > fb->height) { + DRM_ERROR("set outside of framebuffer\n"); + return -EINVAL; + } + + vmw_fb_off(dev_priv); + + crtc->fb = fb; + encoder->crtc = crtc; + connector->encoder = encoder; + crtc->x = set->x; + crtc->y = set->y; + crtc->mode = *mode; + + vmw_ldu_add_active(dev_priv, ldu, vfb); + + vmw_ldu_commit_list(dev_priv); + + return 0; +} + +static struct drm_crtc_funcs vmw_legacy_crtc_funcs = { + .save = vmw_ldu_crtc_save, + .restore = vmw_ldu_crtc_restore, + .cursor_set = vmw_du_crtc_cursor_set, + .cursor_move = vmw_du_crtc_cursor_move, + .gamma_set = vmw_ldu_crtc_gamma_set, + .destroy = vmw_ldu_crtc_destroy, + .set_config = vmw_ldu_crtc_set_config, +}; + +/* + * Legacy Display Unit encoder functions + */ + +static void vmw_ldu_encoder_destroy(struct drm_encoder *encoder) +{ + vmw_ldu_destroy(vmw_encoder_to_ldu(encoder)); +} + +static struct drm_encoder_funcs vmw_legacy_encoder_funcs = { + .destroy = vmw_ldu_encoder_destroy, +}; + +/* + * Legacy Display Unit connector functions + */ + +static void vmw_ldu_connector_dpms(struct drm_connector *connector, int mode) +{ +} + +static void vmw_ldu_connector_save(struct drm_connector *connector) +{ +} + +static void vmw_ldu_connector_restore(struct drm_connector *connector) +{ +} + +static enum drm_connector_status + vmw_ldu_connector_detect(struct drm_connector *connector) +{ + /* XXX vmwctrl should control connection status */ + if (vmw_connector_to_ldu(connector)->base.unit == 0) + return connector_status_connected; + return connector_status_disconnected; +} + +static struct drm_display_mode vmw_ldu_connector_builtin[] = { + /* 640x480@60Hz */ + { DRM_MODE("640x480", DRM_MODE_TYPE_DRIVER, 25175, 640, 656, + 752, 800, 0, 480, 489, 492, 525, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, + /* 800x600@60Hz */ + { DRM_MODE("800x600", + DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED, + 40000, 800, 840, 968, 1056, 0, 600, 601, 605, 628, + 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + /* 1024x768@60Hz */ + { DRM_MODE("1024x768", DRM_MODE_TYPE_DRIVER, 65000, 1024, 1048, + 1184, 1344, 0, 768, 771, 777, 806, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, + /* 1152x864@75Hz */ + { DRM_MODE("1152x864", DRM_MODE_TYPE_DRIVER, 108000, 1152, 1216, + 1344, 1600, 0, 864, 865, 868, 900, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + /* 1280x768@60Hz */ + { DRM_MODE("1280x768", DRM_MODE_TYPE_DRIVER, 79500, 1280, 1344, + 1472, 1664, 0, 768, 771, 778, 798, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC) }, + /* 1280x800@60Hz */ + { DRM_MODE("1280x800", DRM_MODE_TYPE_DRIVER, 83500, 1280, 1352, + 1480, 1680, 0, 800, 803, 809, 831, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC) }, + /* 1280x960@60Hz */ + { DRM_MODE("1280x960", DRM_MODE_TYPE_DRIVER, 108000, 1280, 1376, + 1488, 1800, 0, 960, 961, 964, 1000, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + /* 1280x1024@60Hz */ + { DRM_MODE("1280x1024", DRM_MODE_TYPE_DRIVER, 108000, 1280, 1328, + 1440, 1688, 0, 1024, 1025, 1028, 1066, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + /* 1360x768@60Hz */ + { DRM_MODE("1360x768", DRM_MODE_TYPE_DRIVER, 85500, 1360, 1424, + 1536, 1792, 0, 768, 771, 777, 795, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + /* 1440x1050@60Hz */ + { DRM_MODE("1400x1050", DRM_MODE_TYPE_DRIVER, 121750, 1400, 1488, + 1632, 1864, 0, 1050, 1053, 1057, 1089, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC) }, + /* 1440x900@60Hz */ + { DRM_MODE("1440x900", DRM_MODE_TYPE_DRIVER, 106500, 1440, 1520, + 1672, 1904, 0, 900, 903, 909, 934, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC) }, + /* 1600x1200@60Hz */ + { DRM_MODE("1600x1200", DRM_MODE_TYPE_DRIVER, 162000, 1600, 1664, + 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + /* 1680x1050@60Hz */ + { DRM_MODE("1680x1050", DRM_MODE_TYPE_DRIVER, 146250, 1680, 1784, + 1960, 2240, 0, 1050, 1053, 1059, 1089, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC) }, + /* 1792x1344@60Hz */ + { DRM_MODE("1792x1344", DRM_MODE_TYPE_DRIVER, 204750, 1792, 1920, + 2120, 2448, 0, 1344, 1345, 1348, 1394, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC) }, + /* 1853x1392@60Hz */ + { DRM_MODE("1856x1392", DRM_MODE_TYPE_DRIVER, 218250, 1856, 1952, + 2176, 2528, 0, 1392, 1393, 1396, 1439, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC) }, + /* 1920x1200@60Hz */ + { DRM_MODE("1920x1200", DRM_MODE_TYPE_DRIVER, 193250, 1920, 2056, + 2256, 2592, 0, 1200, 1203, 1209, 1245, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC) }, + /* 1920x1440@60Hz */ + { DRM_MODE("1920x1440", DRM_MODE_TYPE_DRIVER, 234000, 1920, 2048, + 2256, 2600, 0, 1440, 1441, 1444, 1500, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC) }, + /* 2560x1600@60Hz */ + { DRM_MODE("2560x1600", DRM_MODE_TYPE_DRIVER, 348500, 2560, 2752, + 3032, 3504, 0, 1600, 1603, 1609, 1658, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC) }, + /* Terminate */ + { DRM_MODE("", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) }, +}; + +static int vmw_ldu_connector_fill_modes(struct drm_connector *connector, + uint32_t max_width, uint32_t max_height) +{ + struct drm_device *dev = connector->dev; + struct drm_display_mode *mode = NULL; + int i; + + for (i = 0; vmw_ldu_connector_builtin[i].type != 0; i++) { + if (vmw_ldu_connector_builtin[i].hdisplay > max_width || + vmw_ldu_connector_builtin[i].vdisplay > max_height) + continue; + + mode = drm_mode_duplicate(dev, &vmw_ldu_connector_builtin[i]); + if (!mode) + return 0; + mode->vrefresh = drm_mode_vrefresh(mode); + + drm_mode_probed_add(connector, mode); + } + + drm_mode_connector_list_update(connector); + + return 1; +} + +static int vmw_ldu_connector_set_property(struct drm_connector *connector, + struct drm_property *property, + uint64_t val) +{ + return 0; +} + +static void vmw_ldu_connector_destroy(struct drm_connector *connector) +{ + vmw_ldu_destroy(vmw_connector_to_ldu(connector)); +} + +static struct drm_connector_funcs vmw_legacy_connector_funcs = { + .dpms = vmw_ldu_connector_dpms, + .save = vmw_ldu_connector_save, + .restore = vmw_ldu_connector_restore, + .detect = vmw_ldu_connector_detect, + .fill_modes = vmw_ldu_connector_fill_modes, + .set_property = vmw_ldu_connector_set_property, + .destroy = vmw_ldu_connector_destroy, +}; + +static int vmw_ldu_init(struct vmw_private *dev_priv, unsigned unit) +{ + struct vmw_legacy_display_unit *ldu; + struct drm_device *dev = dev_priv->dev; + struct drm_connector *connector; + struct drm_encoder *encoder; + struct drm_crtc *crtc; + + ldu = kzalloc(sizeof(*ldu), GFP_KERNEL); + if (!ldu) + return -ENOMEM; + + ldu->unit = unit; + crtc = &ldu->base.crtc; + encoder = &ldu->base.encoder; + connector = &ldu->base.connector; + + drm_connector_init(dev, connector, &vmw_legacy_connector_funcs, + DRM_MODE_CONNECTOR_LVDS); + /* Initial status */ + if (unit == 0) + connector->status = connector_status_connected; + else + connector->status = connector_status_disconnected; + + drm_encoder_init(dev, encoder, &vmw_legacy_encoder_funcs, + DRM_MODE_ENCODER_LVDS); + drm_mode_connector_attach_encoder(connector, encoder); + encoder->possible_crtcs = (1 << unit); + encoder->possible_clones = 0; + + INIT_LIST_HEAD(&ldu->active); + + drm_crtc_init(dev, crtc, &vmw_legacy_crtc_funcs); + + drm_connector_attach_property(connector, + dev->mode_config.dirty_info_property, + 1); + + return 0; +} + +int vmw_kms_init_legacy_display_system(struct vmw_private *dev_priv) +{ + if (dev_priv->ldu_priv) { + DRM_INFO("ldu system already on\n"); + return -EINVAL; + } + + dev_priv->ldu_priv = kmalloc(GFP_KERNEL, sizeof(*dev_priv->ldu_priv)); + + if (!dev_priv->ldu_priv) + return -ENOMEM; + + INIT_LIST_HEAD(&dev_priv->ldu_priv->active); + dev_priv->ldu_priv->num_active = 0; + dev_priv->ldu_priv->fb = NULL; + + drm_mode_create_dirty_info_property(dev_priv->dev); + + vmw_ldu_init(dev_priv, 0); + vmw_ldu_init(dev_priv, 1); + vmw_ldu_init(dev_priv, 2); + vmw_ldu_init(dev_priv, 3); + vmw_ldu_init(dev_priv, 4); + vmw_ldu_init(dev_priv, 5); + vmw_ldu_init(dev_priv, 6); + vmw_ldu_init(dev_priv, 7); + + return 0; +} + +int vmw_kms_close_legacy_display_system(struct vmw_private *dev_priv) +{ + if (!dev_priv->ldu_priv) + return -ENOSYS; + + BUG_ON(!list_empty(&dev_priv->ldu_priv->active)); + + kfree(dev_priv->ldu_priv); + + return 0; +} --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/vmwgfx_overlay.c +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/vmwgfx_overlay.c @@ -0,0 +1,625 @@ +/************************************************************************** + * + * Copyright © 2009 VMware, Inc., Palo Alto, CA., 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. + * + **************************************************************************/ + + +#include "drmP.h" +#include "vmwgfx_drv.h" + +#include "ttm/ttm_placement.h" + +#include "svga_overlay.h" +#include "svga_escape.h" + +#define VMW_MAX_NUM_STREAMS 1 + +struct vmw_stream { + struct vmw_dma_buffer *buf; + bool claimed; + bool paused; + struct drm_vmw_control_stream_arg saved; +}; + +/** + * Overlay control + */ +struct vmw_overlay { + /* + * Each stream is a single overlay. In Xv these are called ports. + */ + struct mutex mutex; + struct vmw_stream stream[VMW_MAX_NUM_STREAMS]; +}; + +static inline struct vmw_overlay *vmw_overlay(struct drm_device *dev) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + return dev_priv ? dev_priv->overlay_priv : NULL; +} + +struct vmw_escape_header { + uint32_t cmd; + SVGAFifoCmdEscape body; +}; + +struct vmw_escape_video_flush { + struct vmw_escape_header escape; + SVGAEscapeVideoFlush flush; +}; + +static inline void fill_escape(struct vmw_escape_header *header, + uint32_t size) +{ + header->cmd = SVGA_CMD_ESCAPE; + header->body.nsid = SVGA_ESCAPE_NSID_VMWARE; + header->body.size = size; +} + +static inline void fill_flush(struct vmw_escape_video_flush *cmd, + uint32_t stream_id) +{ + fill_escape(&cmd->escape, sizeof(cmd->flush)); + cmd->flush.cmdType = SVGA_ESCAPE_VMWARE_VIDEO_FLUSH; + cmd->flush.streamId = stream_id; +} + +/** + * Pin or unpin a buffer in vram. + * + * @dev_priv: Driver private. + * @buf: DMA buffer to pin or unpin. + * @pin: Pin buffer in vram if true. + * @interruptible: Use interruptible wait. + * + * Takes the current masters ttm lock in read. + * + * Returns + * -ERESTARTSYS if interrupted by a signal. + */ +static int vmw_dmabuf_pin_in_vram(struct vmw_private *dev_priv, + struct vmw_dma_buffer *buf, + bool pin, bool interruptible) +{ + struct ttm_buffer_object *bo = &buf->base; + struct ttm_placement *overlay_placement = &vmw_vram_placement; + int ret; + + ret = ttm_read_lock(&dev_priv->active_master->lock, interruptible); + if (unlikely(ret != 0)) + return ret; + + ret = ttm_bo_reserve(bo, interruptible, false, false, 0); + if (unlikely(ret != 0)) + goto err; + + if (pin) + overlay_placement = &vmw_vram_ne_placement; + + ret = ttm_bo_validate(bo, overlay_placement, interruptible, false); + + ttm_bo_unreserve(bo); + +err: + ttm_read_unlock(&dev_priv->active_master->lock); + + return ret; +} + +/** + * Send put command to hw. + * + * Returns + * -ERESTARTSYS if interrupted by a signal. + */ +static int vmw_overlay_send_put(struct vmw_private *dev_priv, + struct vmw_dma_buffer *buf, + struct drm_vmw_control_stream_arg *arg, + bool interruptible) +{ + struct { + struct vmw_escape_header escape; + struct { + struct { + uint32_t cmdType; + uint32_t streamId; + } header; + struct { + uint32_t registerId; + uint32_t value; + } items[SVGA_VIDEO_PITCH_3 + 1]; + } body; + struct vmw_escape_video_flush flush; + } *cmds; + uint32_t offset; + int i, ret; + + for (;;) { + cmds = vmw_fifo_reserve(dev_priv, sizeof(*cmds)); + if (cmds) + break; + + ret = vmw_fallback_wait(dev_priv, false, true, 0, + interruptible, 3*HZ); + if (interruptible && ret == -ERESTARTSYS) + return ret; + else + BUG_ON(ret != 0); + } + + fill_escape(&cmds->escape, sizeof(cmds->body)); + cmds->body.header.cmdType = SVGA_ESCAPE_VMWARE_VIDEO_SET_REGS; + cmds->body.header.streamId = arg->stream_id; + + for (i = 0; i <= SVGA_VIDEO_PITCH_3; i++) + cmds->body.items[i].registerId = i; + + offset = buf->base.offset + arg->offset; + + cmds->body.items[SVGA_VIDEO_ENABLED].value = true; + cmds->body.items[SVGA_VIDEO_FLAGS].value = arg->flags; + cmds->body.items[SVGA_VIDEO_DATA_OFFSET].value = offset; + cmds->body.items[SVGA_VIDEO_FORMAT].value = arg->format; + cmds->body.items[SVGA_VIDEO_COLORKEY].value = arg->color_key; + cmds->body.items[SVGA_VIDEO_SIZE].value = arg->size; + cmds->body.items[SVGA_VIDEO_WIDTH].value = arg->width; + cmds->body.items[SVGA_VIDEO_HEIGHT].value = arg->height; + cmds->body.items[SVGA_VIDEO_SRC_X].value = arg->src.x; + cmds->body.items[SVGA_VIDEO_SRC_Y].value = arg->src.y; + cmds->body.items[SVGA_VIDEO_SRC_WIDTH].value = arg->src.w; + cmds->body.items[SVGA_VIDEO_SRC_HEIGHT].value = arg->src.h; + cmds->body.items[SVGA_VIDEO_DST_X].value = arg->dst.x; + cmds->body.items[SVGA_VIDEO_DST_Y].value = arg->dst.y; + cmds->body.items[SVGA_VIDEO_DST_WIDTH].value = arg->dst.w; + cmds->body.items[SVGA_VIDEO_DST_HEIGHT].value = arg->dst.h; + cmds->body.items[SVGA_VIDEO_PITCH_1].value = arg->pitch[0]; + cmds->body.items[SVGA_VIDEO_PITCH_2].value = arg->pitch[1]; + cmds->body.items[SVGA_VIDEO_PITCH_3].value = arg->pitch[2]; + + fill_flush(&cmds->flush, arg->stream_id); + + vmw_fifo_commit(dev_priv, sizeof(*cmds)); + + return 0; +} + +/** + * Send stop command to hw. + * + * Returns + * -ERESTARTSYS if interrupted by a signal. + */ +static int vmw_overlay_send_stop(struct vmw_private *dev_priv, + uint32_t stream_id, + bool interruptible) +{ + struct { + struct vmw_escape_header escape; + SVGAEscapeVideoSetRegs body; + struct vmw_escape_video_flush flush; + } *cmds; + int ret; + + for (;;) { + cmds = vmw_fifo_reserve(dev_priv, sizeof(*cmds)); + if (cmds) + break; + + ret = vmw_fallback_wait(dev_priv, false, true, 0, + interruptible, 3*HZ); + if (interruptible && ret == -ERESTARTSYS) + return ret; + else + BUG_ON(ret != 0); + } + + fill_escape(&cmds->escape, sizeof(cmds->body)); + cmds->body.header.cmdType = SVGA_ESCAPE_VMWARE_VIDEO_SET_REGS; + cmds->body.header.streamId = stream_id; + cmds->body.items[0].registerId = SVGA_VIDEO_ENABLED; + cmds->body.items[0].value = false; + fill_flush(&cmds->flush, stream_id); + + vmw_fifo_commit(dev_priv, sizeof(*cmds)); + + return 0; +} + +/** + * Stop or pause a stream. + * + * If the stream is paused the no evict flag is removed from the buffer + * but left in vram. This allows for instance mode_set to evict it + * should it need to. + * + * The caller must hold the overlay lock. + * + * @stream_id which stream to stop/pause. + * @pause true to pause, false to stop completely. + */ +static int vmw_overlay_stop(struct vmw_private *dev_priv, + uint32_t stream_id, bool pause, + bool interruptible) +{ + struct vmw_overlay *overlay = dev_priv->overlay_priv; + struct vmw_stream *stream = &overlay->stream[stream_id]; + int ret; + + /* no buffer attached the stream is completely stopped */ + if (!stream->buf) + return 0; + + /* If the stream is paused this is already done */ + if (!stream->paused) { + ret = vmw_overlay_send_stop(dev_priv, stream_id, + interruptible); + if (ret) + return ret; + + /* We just remove the NO_EVICT flag so no -ENOMEM */ + ret = vmw_dmabuf_pin_in_vram(dev_priv, stream->buf, false, + interruptible); + if (interruptible && ret == -ERESTARTSYS) + return ret; + else + BUG_ON(ret != 0); + } + + if (!pause) { + vmw_dmabuf_unreference(&stream->buf); + stream->paused = false; + } else { + stream->paused = true; + } + + return 0; +} + +/** + * Update a stream and send any put or stop fifo commands needed. + * + * The caller must hold the overlay lock. + * + * Returns + * -ENOMEM if buffer doesn't fit in vram. + * -ERESTARTSYS if interrupted. + */ +static int vmw_overlay_update_stream(struct vmw_private *dev_priv, + struct vmw_dma_buffer *buf, + struct drm_vmw_control_stream_arg *arg, + bool interruptible) +{ + struct vmw_overlay *overlay = dev_priv->overlay_priv; + struct vmw_stream *stream = &overlay->stream[arg->stream_id]; + int ret = 0; + + if (!buf) + return -EINVAL; + + DRM_DEBUG(" %s: old %p, new %p, %spaused\n", __func__, + stream->buf, buf, stream->paused ? "" : "not "); + + if (stream->buf != buf) { + ret = vmw_overlay_stop(dev_priv, arg->stream_id, + false, interruptible); + if (ret) + return ret; + } else if (!stream->paused) { + /* If the buffers match and not paused then just send + * the put command, no need to do anything else. + */ + ret = vmw_overlay_send_put(dev_priv, buf, arg, interruptible); + if (ret == 0) + stream->saved = *arg; + else + BUG_ON(!interruptible); + + return ret; + } + + /* We don't start the old stream if we are interrupted. + * Might return -ENOMEM if it can't fit the buffer in vram. + */ + ret = vmw_dmabuf_pin_in_vram(dev_priv, buf, true, interruptible); + if (ret) + return ret; + + ret = vmw_overlay_send_put(dev_priv, buf, arg, interruptible); + if (ret) { + /* This one needs to happen no matter what. We only remove + * the NO_EVICT flag so this is safe from -ENOMEM. + */ + BUG_ON(vmw_dmabuf_pin_in_vram(dev_priv, buf, false, false) != 0); + return ret; + } + + if (stream->buf != buf) + stream->buf = vmw_dmabuf_reference(buf); + stream->saved = *arg; + + return 0; +} + +/** + * Stop all streams. + * + * Used by the fb code when starting. + * + * Takes the overlay lock. + */ +int vmw_overlay_stop_all(struct vmw_private *dev_priv) +{ + struct vmw_overlay *overlay = dev_priv->overlay_priv; + int i, ret; + + if (!overlay) + return 0; + + mutex_lock(&overlay->mutex); + + for (i = 0; i < VMW_MAX_NUM_STREAMS; i++) { + struct vmw_stream *stream = &overlay->stream[i]; + if (!stream->buf) + continue; + + ret = vmw_overlay_stop(dev_priv, i, false, false); + WARN_ON(ret != 0); + } + + mutex_unlock(&overlay->mutex); + + return 0; +} + +/** + * Try to resume all paused streams. + * + * Used by the kms code after moving a new scanout buffer to vram. + * + * Takes the overlay lock. + */ +int vmw_overlay_resume_all(struct vmw_private *dev_priv) +{ + struct vmw_overlay *overlay = dev_priv->overlay_priv; + int i, ret; + + if (!overlay) + return 0; + + mutex_lock(&overlay->mutex); + + for (i = 0; i < VMW_MAX_NUM_STREAMS; i++) { + struct vmw_stream *stream = &overlay->stream[i]; + if (!stream->paused) + continue; + + ret = vmw_overlay_update_stream(dev_priv, stream->buf, + &stream->saved, false); + if (ret != 0) + DRM_INFO("%s: *warning* failed to resume stream %i\n", + __func__, i); + } + + mutex_unlock(&overlay->mutex); + + return 0; +} + +/** + * Pauses all active streams. + * + * Used by the kms code when moving a new scanout buffer to vram. + * + * Takes the overlay lock. + */ +int vmw_overlay_pause_all(struct vmw_private *dev_priv) +{ + struct vmw_overlay *overlay = dev_priv->overlay_priv; + int i, ret; + + if (!overlay) + return 0; + + mutex_lock(&overlay->mutex); + + for (i = 0; i < VMW_MAX_NUM_STREAMS; i++) { + if (overlay->stream[i].paused) + DRM_INFO("%s: *warning* stream %i already paused\n", + __func__, i); + ret = vmw_overlay_stop(dev_priv, i, true, false); + WARN_ON(ret != 0); + } + + mutex_unlock(&overlay->mutex); + + return 0; +} + +int vmw_overlay_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct ttm_object_file *tfile = vmw_fpriv(file_priv)->tfile; + struct vmw_private *dev_priv = vmw_priv(dev); + struct vmw_overlay *overlay = dev_priv->overlay_priv; + struct drm_vmw_control_stream_arg *arg = + (struct drm_vmw_control_stream_arg *)data; + struct vmw_dma_buffer *buf; + struct vmw_resource *res; + int ret; + + if (!overlay) + return -ENOSYS; + + ret = vmw_user_stream_lookup(dev_priv, tfile, &arg->stream_id, &res); + if (ret) + return ret; + + mutex_lock(&overlay->mutex); + + if (!arg->enabled) { + ret = vmw_overlay_stop(dev_priv, arg->stream_id, false, true); + goto out_unlock; + } + + ret = vmw_user_dmabuf_lookup(tfile, arg->handle, &buf); + if (ret) + goto out_unlock; + + ret = vmw_overlay_update_stream(dev_priv, buf, arg, true); + + vmw_dmabuf_unreference(&buf); + +out_unlock: + mutex_unlock(&overlay->mutex); + vmw_resource_unreference(&res); + + return ret; +} + +int vmw_overlay_num_overlays(struct vmw_private *dev_priv) +{ + if (!dev_priv->overlay_priv) + return 0; + + return VMW_MAX_NUM_STREAMS; +} + +int vmw_overlay_num_free_overlays(struct vmw_private *dev_priv) +{ + struct vmw_overlay *overlay = dev_priv->overlay_priv; + int i, k; + + if (!overlay) + return 0; + + mutex_lock(&overlay->mutex); + + for (i = 0, k = 0; i < VMW_MAX_NUM_STREAMS; i++) + if (!overlay->stream[i].claimed) + k++; + + mutex_unlock(&overlay->mutex); + + return k; +} + +int vmw_overlay_claim(struct vmw_private *dev_priv, uint32_t *out) +{ + struct vmw_overlay *overlay = dev_priv->overlay_priv; + int i; + + if (!overlay) + return -ENOSYS; + + mutex_lock(&overlay->mutex); + + for (i = 0; i < VMW_MAX_NUM_STREAMS; i++) { + + if (overlay->stream[i].claimed) + continue; + + overlay->stream[i].claimed = true; + *out = i; + mutex_unlock(&overlay->mutex); + return 0; + } + + mutex_unlock(&overlay->mutex); + return -ESRCH; +} + +int vmw_overlay_unref(struct vmw_private *dev_priv, uint32_t stream_id) +{ + struct vmw_overlay *overlay = dev_priv->overlay_priv; + + BUG_ON(stream_id >= VMW_MAX_NUM_STREAMS); + + if (!overlay) + return -ENOSYS; + + mutex_lock(&overlay->mutex); + + WARN_ON(!overlay->stream[stream_id].claimed); + vmw_overlay_stop(dev_priv, stream_id, false, false); + overlay->stream[stream_id].claimed = false; + + mutex_unlock(&overlay->mutex); + return 0; +} + +int vmw_overlay_init(struct vmw_private *dev_priv) +{ + struct vmw_overlay *overlay; + int i; + + if (dev_priv->overlay_priv) + return -EINVAL; + + if (!(dev_priv->fifo.capabilities & SVGA_FIFO_CAP_VIDEO) && + (dev_priv->fifo.capabilities & SVGA_FIFO_CAP_ESCAPE)) { + DRM_INFO("hardware doesn't support overlays\n"); + return -ENOSYS; + } + + overlay = kmalloc(GFP_KERNEL, sizeof(*overlay)); + if (!overlay) + return -ENOMEM; + + memset(overlay, 0, sizeof(*overlay)); + mutex_init(&overlay->mutex); + for (i = 0; i < VMW_MAX_NUM_STREAMS; i++) { + overlay->stream[i].buf = NULL; + overlay->stream[i].paused = false; + overlay->stream[i].claimed = false; + } + + dev_priv->overlay_priv = overlay; + + return 0; +} + +int vmw_overlay_close(struct vmw_private *dev_priv) +{ + struct vmw_overlay *overlay = dev_priv->overlay_priv; + bool forgotten_buffer = false; + int i; + + if (!overlay) + return -ENOSYS; + + for (i = 0; i < VMW_MAX_NUM_STREAMS; i++) { + if (overlay->stream[i].buf) { + forgotten_buffer = true; + vmw_overlay_stop(dev_priv, i, false, false); + } + } + + WARN_ON(forgotten_buffer); + + dev_priv->overlay_priv = NULL; + kfree(overlay); + + return 0; +} --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/vmwgfx_reg.h +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/vmwgfx_reg.h @@ -0,0 +1,57 @@ +/************************************************************************** + * + * Copyright © 2009 VMware, Inc., Palo Alto, CA., 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. + * + **************************************************************************/ + +/** + * This file contains virtual hardware defines for kernel space. + */ + +#ifndef _VMWGFX_REG_H_ +#define _VMWGFX_REG_H_ + +#include + +#define VMWGFX_INDEX_PORT 0x0 +#define VMWGFX_VALUE_PORT 0x1 +#define VMWGFX_IRQSTATUS_PORT 0x8 + +struct svga_guest_mem_descriptor { + __le32 ppn; + __le32 num_pages; +}; + +struct svga_fifo_cmd_fence { + __le32 fence; +}; + +#define SVGA_SYNC_GENERIC 1 +#define SVGA_SYNC_FIFOFULL 2 + +#include "svga_types.h" + +#include "svga3d_reg.h" + +#endif --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c @@ -0,0 +1,1187 @@ +/************************************************************************** + * + * Copyright © 2009 VMware, Inc., Palo Alto, CA., 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. + * + **************************************************************************/ + +#include "vmwgfx_drv.h" +#include "vmwgfx_drm.h" +#include "ttm/ttm_object.h" +#include "ttm/ttm_placement.h" +#include "drmP.h" + +#define VMW_RES_CONTEXT ttm_driver_type0 +#define VMW_RES_SURFACE ttm_driver_type1 +#define VMW_RES_STREAM ttm_driver_type2 + +struct vmw_user_context { + struct ttm_base_object base; + struct vmw_resource res; +}; + +struct vmw_user_surface { + struct ttm_base_object base; + struct vmw_surface srf; +}; + +struct vmw_user_dma_buffer { + struct ttm_base_object base; + struct vmw_dma_buffer dma; +}; + +struct vmw_bo_user_rep { + uint32_t handle; + uint64_t map_handle; +}; + +struct vmw_stream { + struct vmw_resource res; + uint32_t stream_id; +}; + +struct vmw_user_stream { + struct ttm_base_object base; + struct vmw_stream stream; +}; + +static inline struct vmw_dma_buffer * +vmw_dma_buffer(struct ttm_buffer_object *bo) +{ + return container_of(bo, struct vmw_dma_buffer, base); +} + +static inline struct vmw_user_dma_buffer * +vmw_user_dma_buffer(struct ttm_buffer_object *bo) +{ + struct vmw_dma_buffer *vmw_bo = vmw_dma_buffer(bo); + return container_of(vmw_bo, struct vmw_user_dma_buffer, dma); +} + +struct vmw_resource *vmw_resource_reference(struct vmw_resource *res) +{ + kref_get(&res->kref); + return res; +} + +static void vmw_resource_release(struct kref *kref) +{ + struct vmw_resource *res = + container_of(kref, struct vmw_resource, kref); + struct vmw_private *dev_priv = res->dev_priv; + + idr_remove(res->idr, res->id); + write_unlock(&dev_priv->resource_lock); + + if (likely(res->hw_destroy != NULL)) + res->hw_destroy(res); + + if (res->res_free != NULL) + res->res_free(res); + else + kfree(res); + + write_lock(&dev_priv->resource_lock); +} + +void vmw_resource_unreference(struct vmw_resource **p_res) +{ + struct vmw_resource *res = *p_res; + struct vmw_private *dev_priv = res->dev_priv; + + *p_res = NULL; + write_lock(&dev_priv->resource_lock); + kref_put(&res->kref, vmw_resource_release); + write_unlock(&dev_priv->resource_lock); +} + +static int vmw_resource_init(struct vmw_private *dev_priv, + struct vmw_resource *res, + struct idr *idr, + enum ttm_object_type obj_type, + void (*res_free) (struct vmw_resource *res)) +{ + int ret; + + kref_init(&res->kref); + res->hw_destroy = NULL; + res->res_free = res_free; + res->res_type = obj_type; + res->idr = idr; + res->avail = false; + res->dev_priv = dev_priv; + + do { + if (unlikely(idr_pre_get(idr, GFP_KERNEL) == 0)) + return -ENOMEM; + + write_lock(&dev_priv->resource_lock); + ret = idr_get_new_above(idr, res, 1, &res->id); + write_unlock(&dev_priv->resource_lock); + + } while (ret == -EAGAIN); + + return ret; +} + +/** + * vmw_resource_activate + * + * @res: Pointer to the newly created resource + * @hw_destroy: Destroy function. NULL if none. + * + * Activate a resource after the hardware has been made aware of it. + * Set tye destroy function to @destroy. Typically this frees the + * resource and destroys the hardware resources associated with it. + * Activate basically means that the function vmw_resource_lookup will + * find it. + */ + +static void vmw_resource_activate(struct vmw_resource *res, + void (*hw_destroy) (struct vmw_resource *)) +{ + struct vmw_private *dev_priv = res->dev_priv; + + write_lock(&dev_priv->resource_lock); + res->avail = true; + res->hw_destroy = hw_destroy; + write_unlock(&dev_priv->resource_lock); +} + +struct vmw_resource *vmw_resource_lookup(struct vmw_private *dev_priv, + struct idr *idr, int id) +{ + struct vmw_resource *res; + + read_lock(&dev_priv->resource_lock); + res = idr_find(idr, id); + if (res && res->avail) + kref_get(&res->kref); + else + res = NULL; + read_unlock(&dev_priv->resource_lock); + + if (unlikely(res == NULL)) + return NULL; + + return res; +} + +/** + * Context management: + */ + +static void vmw_hw_context_destroy(struct vmw_resource *res) +{ + + struct vmw_private *dev_priv = res->dev_priv; + struct { + SVGA3dCmdHeader header; + SVGA3dCmdDestroyContext body; + } *cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); + + if (unlikely(cmd == NULL)) { + DRM_ERROR("Failed reserving FIFO space for surface " + "destruction.\n"); + return; + } + + cmd->header.id = cpu_to_le32(SVGA_3D_CMD_CONTEXT_DESTROY); + cmd->header.size = cpu_to_le32(sizeof(cmd->body)); + cmd->body.cid = cpu_to_le32(res->id); + + vmw_fifo_commit(dev_priv, sizeof(*cmd)); +} + +static int vmw_context_init(struct vmw_private *dev_priv, + struct vmw_resource *res, + void (*res_free) (struct vmw_resource *res)) +{ + int ret; + + struct { + SVGA3dCmdHeader header; + SVGA3dCmdDefineContext body; + } *cmd; + + ret = vmw_resource_init(dev_priv, res, &dev_priv->context_idr, + VMW_RES_CONTEXT, res_free); + + if (unlikely(ret != 0)) { + if (res_free == NULL) + kfree(res); + else + res_free(res); + return ret; + } + + cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); + if (unlikely(cmd == NULL)) { + DRM_ERROR("Fifo reserve failed.\n"); + vmw_resource_unreference(&res); + return -ENOMEM; + } + + cmd->header.id = cpu_to_le32(SVGA_3D_CMD_CONTEXT_DEFINE); + cmd->header.size = cpu_to_le32(sizeof(cmd->body)); + cmd->body.cid = cpu_to_le32(res->id); + + vmw_fifo_commit(dev_priv, sizeof(*cmd)); + vmw_resource_activate(res, vmw_hw_context_destroy); + return 0; +} + +struct vmw_resource *vmw_context_alloc(struct vmw_private *dev_priv) +{ + struct vmw_resource *res = kmalloc(sizeof(*res), GFP_KERNEL); + int ret; + + if (unlikely(res == NULL)) + return NULL; + + ret = vmw_context_init(dev_priv, res, NULL); + return (ret == 0) ? res : NULL; +} + +/** + * User-space context management: + */ + +static void vmw_user_context_free(struct vmw_resource *res) +{ + struct vmw_user_context *ctx = + container_of(res, struct vmw_user_context, res); + + kfree(ctx); +} + +/** + * This function is called when user space has no more references on the + * base object. It releases the base-object's reference on the resource object. + */ + +static void vmw_user_context_base_release(struct ttm_base_object **p_base) +{ + struct ttm_base_object *base = *p_base; + struct vmw_user_context *ctx = + container_of(base, struct vmw_user_context, base); + struct vmw_resource *res = &ctx->res; + + *p_base = NULL; + vmw_resource_unreference(&res); +} + +int vmw_context_destroy_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + struct vmw_resource *res; + struct vmw_user_context *ctx; + struct drm_vmw_context_arg *arg = (struct drm_vmw_context_arg *)data; + struct ttm_object_file *tfile = vmw_fpriv(file_priv)->tfile; + int ret = 0; + + res = vmw_resource_lookup(dev_priv, &dev_priv->context_idr, arg->cid); + if (unlikely(res == NULL)) + return -EINVAL; + + if (res->res_free != &vmw_user_context_free) { + ret = -EINVAL; + goto out; + } + + ctx = container_of(res, struct vmw_user_context, res); + if (ctx->base.tfile != tfile && !ctx->base.shareable) { + ret = -EPERM; + goto out; + } + + ttm_ref_object_base_unref(tfile, ctx->base.hash.key, TTM_REF_USAGE); +out: + vmw_resource_unreference(&res); + return ret; +} + +int vmw_context_define_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + struct vmw_user_context *ctx = kmalloc(sizeof(*ctx), GFP_KERNEL); + struct vmw_resource *res; + struct vmw_resource *tmp; + struct drm_vmw_context_arg *arg = (struct drm_vmw_context_arg *)data; + struct ttm_object_file *tfile = vmw_fpriv(file_priv)->tfile; + int ret; + + if (unlikely(ctx == NULL)) + return -ENOMEM; + + res = &ctx->res; + ctx->base.shareable = false; + ctx->base.tfile = NULL; + + ret = vmw_context_init(dev_priv, res, vmw_user_context_free); + if (unlikely(ret != 0)) + return ret; + + tmp = vmw_resource_reference(&ctx->res); + ret = ttm_base_object_init(tfile, &ctx->base, false, VMW_RES_CONTEXT, + &vmw_user_context_base_release, NULL); + + if (unlikely(ret != 0)) { + vmw_resource_unreference(&tmp); + goto out_err; + } + + arg->cid = res->id; +out_err: + vmw_resource_unreference(&res); + return ret; + +} + +int vmw_context_check(struct vmw_private *dev_priv, + struct ttm_object_file *tfile, + int id) +{ + struct vmw_resource *res; + int ret = 0; + + read_lock(&dev_priv->resource_lock); + res = idr_find(&dev_priv->context_idr, id); + if (res && res->avail) { + struct vmw_user_context *ctx = + container_of(res, struct vmw_user_context, res); + if (ctx->base.tfile != tfile && !ctx->base.shareable) + ret = -EPERM; + } else + ret = -EINVAL; + read_unlock(&dev_priv->resource_lock); + + return ret; +} + + +/** + * Surface management. + */ + +static void vmw_hw_surface_destroy(struct vmw_resource *res) +{ + + struct vmw_private *dev_priv = res->dev_priv; + struct { + SVGA3dCmdHeader header; + SVGA3dCmdDestroySurface body; + } *cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); + + if (unlikely(cmd == NULL)) { + DRM_ERROR("Failed reserving FIFO space for surface " + "destruction.\n"); + return; + } + + cmd->header.id = cpu_to_le32(SVGA_3D_CMD_SURFACE_DESTROY); + cmd->header.size = cpu_to_le32(sizeof(cmd->body)); + cmd->body.sid = cpu_to_le32(res->id); + + vmw_fifo_commit(dev_priv, sizeof(*cmd)); +} + +void vmw_surface_res_free(struct vmw_resource *res) +{ + struct vmw_surface *srf = container_of(res, struct vmw_surface, res); + + kfree(srf->sizes); + kfree(srf->snooper.image); + kfree(srf); +} + +int vmw_surface_init(struct vmw_private *dev_priv, + struct vmw_surface *srf, + void (*res_free) (struct vmw_resource *res)) +{ + int ret; + struct { + SVGA3dCmdHeader header; + SVGA3dCmdDefineSurface body; + } *cmd; + SVGA3dSize *cmd_size; + struct vmw_resource *res = &srf->res; + struct drm_vmw_size *src_size; + size_t submit_size; + uint32_t cmd_len; + int i; + + BUG_ON(res_free == NULL); + ret = vmw_resource_init(dev_priv, res, &dev_priv->surface_idr, + VMW_RES_SURFACE, res_free); + + if (unlikely(ret != 0)) { + res_free(res); + return ret; + } + + submit_size = sizeof(*cmd) + srf->num_sizes * sizeof(SVGA3dSize); + cmd_len = sizeof(cmd->body) + srf->num_sizes * sizeof(SVGA3dSize); + + cmd = vmw_fifo_reserve(dev_priv, submit_size); + if (unlikely(cmd == NULL)) { + DRM_ERROR("Fifo reserve failed for create surface.\n"); + vmw_resource_unreference(&res); + return -ENOMEM; + } + + cmd->header.id = cpu_to_le32(SVGA_3D_CMD_SURFACE_DEFINE); + cmd->header.size = cpu_to_le32(cmd_len); + cmd->body.sid = cpu_to_le32(res->id); + cmd->body.surfaceFlags = cpu_to_le32(srf->flags); + cmd->body.format = cpu_to_le32(srf->format); + for (i = 0; i < DRM_VMW_MAX_SURFACE_FACES; ++i) { + cmd->body.face[i].numMipLevels = + cpu_to_le32(srf->mip_levels[i]); + } + + cmd += 1; + cmd_size = (SVGA3dSize *) cmd; + src_size = srf->sizes; + + for (i = 0; i < srf->num_sizes; ++i, cmd_size++, src_size++) { + cmd_size->width = cpu_to_le32(src_size->width); + cmd_size->height = cpu_to_le32(src_size->height); + cmd_size->depth = cpu_to_le32(src_size->depth); + } + + vmw_fifo_commit(dev_priv, submit_size); + vmw_resource_activate(res, vmw_hw_surface_destroy); + return 0; +} + +static void vmw_user_surface_free(struct vmw_resource *res) +{ + struct vmw_surface *srf = container_of(res, struct vmw_surface, res); + struct vmw_user_surface *user_srf = + container_of(srf, struct vmw_user_surface, srf); + + kfree(srf->sizes); + kfree(srf->snooper.image); + kfree(user_srf); +} + +int vmw_user_surface_lookup_handle(struct vmw_private *dev_priv, + struct ttm_object_file *tfile, + uint32_t handle, struct vmw_surface **out) +{ + struct vmw_resource *res; + struct vmw_surface *srf; + struct vmw_user_surface *user_srf; + struct ttm_base_object *base; + int ret = -EINVAL; + + base = ttm_base_object_lookup(tfile, handle); + if (unlikely(base == NULL)) + return -EINVAL; + + if (unlikely(base->object_type != VMW_RES_SURFACE)) + goto out_bad_resource; + + user_srf = container_of(base, struct vmw_user_surface, base); + srf = &user_srf->srf; + res = &srf->res; + + read_lock(&dev_priv->resource_lock); + + if (!res->avail || res->res_free != &vmw_user_surface_free) { + read_unlock(&dev_priv->resource_lock); + goto out_bad_resource; + } + + kref_get(&res->kref); + read_unlock(&dev_priv->resource_lock); + + *out = srf; + ret = 0; + +out_bad_resource: + ttm_base_object_unref(&base); + + return ret; +} + +static void vmw_user_surface_base_release(struct ttm_base_object **p_base) +{ + struct ttm_base_object *base = *p_base; + struct vmw_user_surface *user_srf = + container_of(base, struct vmw_user_surface, base); + struct vmw_resource *res = &user_srf->srf.res; + + *p_base = NULL; + vmw_resource_unreference(&res); +} + +int vmw_surface_destroy_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_vmw_surface_arg *arg = (struct drm_vmw_surface_arg *)data; + struct ttm_object_file *tfile = vmw_fpriv(file_priv)->tfile; + + return ttm_ref_object_base_unref(tfile, arg->sid, TTM_REF_USAGE); +} + +int vmw_surface_define_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + struct vmw_user_surface *user_srf = + kmalloc(sizeof(*user_srf), GFP_KERNEL); + struct vmw_surface *srf; + struct vmw_resource *res; + struct vmw_resource *tmp; + union drm_vmw_surface_create_arg *arg = + (union drm_vmw_surface_create_arg *)data; + struct drm_vmw_surface_create_req *req = &arg->req; + struct drm_vmw_surface_arg *rep = &arg->rep; + struct ttm_object_file *tfile = vmw_fpriv(file_priv)->tfile; + struct drm_vmw_size __user *user_sizes; + int ret; + int i; + + if (unlikely(user_srf == NULL)) + return -ENOMEM; + + srf = &user_srf->srf; + res = &srf->res; + + srf->flags = req->flags; + srf->format = req->format; + srf->scanout = req->scanout; + memcpy(srf->mip_levels, req->mip_levels, sizeof(srf->mip_levels)); + srf->num_sizes = 0; + for (i = 0; i < DRM_VMW_MAX_SURFACE_FACES; ++i) + srf->num_sizes += srf->mip_levels[i]; + + if (srf->num_sizes > DRM_VMW_MAX_SURFACE_FACES * + DRM_VMW_MAX_MIP_LEVELS) { + ret = -EINVAL; + goto out_err0; + } + + srf->sizes = kmalloc(srf->num_sizes * sizeof(*srf->sizes), GFP_KERNEL); + if (unlikely(srf->sizes == NULL)) { + ret = -ENOMEM; + goto out_err0; + } + + user_sizes = (struct drm_vmw_size __user *)(unsigned long) + req->size_addr; + + ret = copy_from_user(srf->sizes, user_sizes, + srf->num_sizes * sizeof(*srf->sizes)); + if (unlikely(ret != 0)) + goto out_err1; + + if (srf->scanout && + srf->num_sizes == 1 && + srf->sizes[0].width == 64 && + srf->sizes[0].height == 64 && + srf->format == SVGA3D_A8R8G8B8) { + + srf->snooper.image = kmalloc(64 * 64 * 4, GFP_KERNEL); + /* clear the image */ + if (srf->snooper.image) { + memset(srf->snooper.image, 0x00, 64 * 64 * 4); + } else { + DRM_ERROR("Failed to allocate cursor_image\n"); + ret = -ENOMEM; + goto out_err1; + } + } else { + srf->snooper.image = NULL; + } + srf->snooper.crtc = NULL; + + user_srf->base.shareable = false; + user_srf->base.tfile = NULL; + + /** + * From this point, the generic resource management functions + * destroy the object on failure. + */ + + ret = vmw_surface_init(dev_priv, srf, vmw_user_surface_free); + if (unlikely(ret != 0)) + return ret; + + tmp = vmw_resource_reference(&srf->res); + ret = ttm_base_object_init(tfile, &user_srf->base, + req->shareable, VMW_RES_SURFACE, + &vmw_user_surface_base_release, NULL); + + if (unlikely(ret != 0)) { + vmw_resource_unreference(&tmp); + vmw_resource_unreference(&res); + return ret; + } + + rep->sid = user_srf->base.hash.key; + if (rep->sid == SVGA3D_INVALID_ID) + DRM_ERROR("Created bad Surface ID.\n"); + + vmw_resource_unreference(&res); + return 0; +out_err1: + kfree(srf->sizes); +out_err0: + kfree(user_srf); + return ret; +} + +int vmw_surface_reference_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + union drm_vmw_surface_reference_arg *arg = + (union drm_vmw_surface_reference_arg *)data; + struct drm_vmw_surface_arg *req = &arg->req; + struct drm_vmw_surface_create_req *rep = &arg->rep; + struct ttm_object_file *tfile = vmw_fpriv(file_priv)->tfile; + struct vmw_surface *srf; + struct vmw_user_surface *user_srf; + struct drm_vmw_size __user *user_sizes; + struct ttm_base_object *base; + int ret = -EINVAL; + + base = ttm_base_object_lookup(tfile, req->sid); + if (unlikely(base == NULL)) { + DRM_ERROR("Could not find surface to reference.\n"); + return -EINVAL; + } + + if (unlikely(base->object_type != VMW_RES_SURFACE)) + goto out_bad_resource; + + user_srf = container_of(base, struct vmw_user_surface, base); + srf = &user_srf->srf; + + ret = ttm_ref_object_add(tfile, &user_srf->base, TTM_REF_USAGE, NULL); + if (unlikely(ret != 0)) { + DRM_ERROR("Could not add a reference to a surface.\n"); + goto out_no_reference; + } + + rep->flags = srf->flags; + rep->format = srf->format; + memcpy(rep->mip_levels, srf->mip_levels, sizeof(srf->mip_levels)); + user_sizes = (struct drm_vmw_size __user *)(unsigned long) + rep->size_addr; + + if (user_sizes) + ret = copy_to_user(user_sizes, srf->sizes, + srf->num_sizes * sizeof(*srf->sizes)); + if (unlikely(ret != 0)) + DRM_ERROR("copy_to_user failed %p %u\n", + user_sizes, srf->num_sizes); +out_bad_resource: +out_no_reference: + ttm_base_object_unref(&base); + + return ret; +} + +int vmw_surface_check(struct vmw_private *dev_priv, + struct ttm_object_file *tfile, + uint32_t handle, int *id) +{ + struct ttm_base_object *base; + struct vmw_user_surface *user_srf; + + int ret = -EPERM; + + base = ttm_base_object_lookup(tfile, handle); + if (unlikely(base == NULL)) + return -EINVAL; + + if (unlikely(base->object_type != VMW_RES_SURFACE)) + goto out_bad_surface; + + user_srf = container_of(base, struct vmw_user_surface, base); + *id = user_srf->srf.res.id; + ret = 0; + +out_bad_surface: + /** + * FIXME: May deadlock here when called from the + * command parsing code. + */ + + ttm_base_object_unref(&base); + return ret; +} + +/** + * Buffer management. + */ + +static size_t vmw_dmabuf_acc_size(struct ttm_bo_global *glob, + unsigned long num_pages) +{ + static size_t bo_user_size = ~0; + + size_t page_array_size = + (num_pages * sizeof(void *) + PAGE_SIZE - 1) & PAGE_MASK; + + if (unlikely(bo_user_size == ~0)) { + bo_user_size = glob->ttm_bo_extra_size + + ttm_round_pot(sizeof(struct vmw_dma_buffer)); + } + + return bo_user_size + page_array_size; +} + +void vmw_dmabuf_gmr_unbind(struct ttm_buffer_object *bo) +{ + struct vmw_dma_buffer *vmw_bo = vmw_dma_buffer(bo); + struct ttm_bo_global *glob = bo->glob; + struct vmw_private *dev_priv = + container_of(bo->bdev, struct vmw_private, bdev); + + if (vmw_bo->gmr_bound) { + vmw_gmr_unbind(dev_priv, vmw_bo->gmr_id); + spin_lock(&glob->lru_lock); + ida_remove(&dev_priv->gmr_ida, vmw_bo->gmr_id); + spin_unlock(&glob->lru_lock); + vmw_bo->gmr_bound = false; + } +} + +void vmw_dmabuf_bo_free(struct ttm_buffer_object *bo) +{ + struct vmw_dma_buffer *vmw_bo = vmw_dma_buffer(bo); + struct ttm_bo_global *glob = bo->glob; + + vmw_dmabuf_gmr_unbind(bo); + ttm_mem_global_free(glob->mem_glob, bo->acc_size); + kfree(vmw_bo); +} + +int vmw_dmabuf_init(struct vmw_private *dev_priv, + struct vmw_dma_buffer *vmw_bo, + size_t size, struct ttm_placement *placement, + bool interruptible, + void (*bo_free) (struct ttm_buffer_object *bo)) +{ + struct ttm_bo_device *bdev = &dev_priv->bdev; + struct ttm_mem_global *mem_glob = bdev->glob->mem_glob; + size_t acc_size; + int ret; + + BUG_ON(!bo_free); + + acc_size = + vmw_dmabuf_acc_size(bdev->glob, + (size + PAGE_SIZE - 1) >> PAGE_SHIFT); + + ret = ttm_mem_global_alloc(mem_glob, acc_size, false, false); + if (unlikely(ret != 0)) { + /* we must free the bo here as + * ttm_buffer_object_init does so as well */ + bo_free(&vmw_bo->base); + return ret; + } + + memset(vmw_bo, 0, sizeof(*vmw_bo)); + + INIT_LIST_HEAD(&vmw_bo->gmr_lru); + INIT_LIST_HEAD(&vmw_bo->validate_list); + vmw_bo->gmr_id = 0; + vmw_bo->gmr_bound = false; + + ret = ttm_bo_init(bdev, &vmw_bo->base, size, + ttm_bo_type_device, placement, + 0, 0, interruptible, + NULL, acc_size, bo_free); + return ret; +} + +static void vmw_user_dmabuf_destroy(struct ttm_buffer_object *bo) +{ + struct vmw_user_dma_buffer *vmw_user_bo = vmw_user_dma_buffer(bo); + struct ttm_bo_global *glob = bo->glob; + + vmw_dmabuf_gmr_unbind(bo); + ttm_mem_global_free(glob->mem_glob, bo->acc_size); + kfree(vmw_user_bo); +} + +static void vmw_user_dmabuf_release(struct ttm_base_object **p_base) +{ + struct vmw_user_dma_buffer *vmw_user_bo; + struct ttm_base_object *base = *p_base; + struct ttm_buffer_object *bo; + + *p_base = NULL; + + if (unlikely(base == NULL)) + return; + + vmw_user_bo = container_of(base, struct vmw_user_dma_buffer, base); + bo = &vmw_user_bo->dma.base; + ttm_bo_unref(&bo); +} + +int vmw_dmabuf_alloc_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + union drm_vmw_alloc_dmabuf_arg *arg = + (union drm_vmw_alloc_dmabuf_arg *)data; + struct drm_vmw_alloc_dmabuf_req *req = &arg->req; + struct drm_vmw_dmabuf_rep *rep = &arg->rep; + struct vmw_user_dma_buffer *vmw_user_bo; + struct ttm_buffer_object *tmp; + struct vmw_master *vmaster = vmw_master(file_priv->master); + int ret; + + vmw_user_bo = kzalloc(sizeof(*vmw_user_bo), GFP_KERNEL); + if (unlikely(vmw_user_bo == NULL)) + return -ENOMEM; + + ret = ttm_read_lock(&vmaster->lock, true); + if (unlikely(ret != 0)) { + kfree(vmw_user_bo); + return ret; + } + + ret = vmw_dmabuf_init(dev_priv, &vmw_user_bo->dma, req->size, + &vmw_vram_sys_placement, true, + &vmw_user_dmabuf_destroy); + if (unlikely(ret != 0)) + return ret; + + 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)) { + ttm_bo_unref(&tmp); + } else { + rep->handle = vmw_user_bo->base.hash.key; + rep->map_handle = vmw_user_bo->dma.base.addr_space_offset; + rep->cur_gmr_id = vmw_user_bo->base.hash.key; + rep->cur_gmr_offset = 0; + } + ttm_bo_unref(&tmp); + + ttm_read_unlock(&vmaster->lock); + + return 0; +} + +int vmw_dmabuf_unref_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct drm_vmw_unref_dmabuf_arg *arg = + (struct drm_vmw_unref_dmabuf_arg *)data; + + return ttm_ref_object_base_unref(vmw_fpriv(file_priv)->tfile, + arg->handle, + TTM_REF_USAGE); +} + +uint32_t vmw_dmabuf_validate_node(struct ttm_buffer_object *bo, + uint32_t cur_validate_node) +{ + struct vmw_dma_buffer *vmw_bo = vmw_dma_buffer(bo); + + if (likely(vmw_bo->on_validate_list)) + return vmw_bo->cur_validate_node; + + vmw_bo->cur_validate_node = cur_validate_node; + vmw_bo->on_validate_list = true; + + return cur_validate_node; +} + +void vmw_dmabuf_validate_clear(struct ttm_buffer_object *bo) +{ + struct vmw_dma_buffer *vmw_bo = vmw_dma_buffer(bo); + + vmw_bo->on_validate_list = false; +} + +uint32_t vmw_dmabuf_gmr(struct ttm_buffer_object *bo) +{ + struct vmw_dma_buffer *vmw_bo; + + if (bo->mem.mem_type == TTM_PL_VRAM) + return SVGA_GMR_FRAMEBUFFER; + + vmw_bo = vmw_dma_buffer(bo); + + return (vmw_bo->gmr_bound) ? vmw_bo->gmr_id : SVGA_GMR_NULL; +} + +void vmw_dmabuf_set_gmr(struct ttm_buffer_object *bo, uint32_t id) +{ + struct vmw_dma_buffer *vmw_bo = vmw_dma_buffer(bo); + vmw_bo->gmr_bound = true; + vmw_bo->gmr_id = id; +} + +int vmw_user_dmabuf_lookup(struct ttm_object_file *tfile, + uint32_t handle, struct vmw_dma_buffer **out) +{ + struct vmw_user_dma_buffer *vmw_user_bo; + struct ttm_base_object *base; + + base = ttm_base_object_lookup(tfile, handle); + if (unlikely(base == NULL)) { + printk(KERN_ERR "Invalid buffer object handle 0x%08lx.\n", + (unsigned long)handle); + return -ESRCH; + } + + if (unlikely(base->object_type != ttm_buffer_type)) { + ttm_base_object_unref(&base); + printk(KERN_ERR "Invalid buffer object handle 0x%08lx.\n", + (unsigned long)handle); + return -EINVAL; + } + + vmw_user_bo = container_of(base, struct vmw_user_dma_buffer, base); + (void)ttm_bo_reference(&vmw_user_bo->dma.base); + ttm_base_object_unref(&base); + *out = &vmw_user_bo->dma; + + return 0; +} + +/** + * TODO: Implement a gmr id eviction mechanism. Currently we just fail + * when we're out of ids, causing GMR space to be allocated + * out of VRAM. + */ + +int vmw_gmr_id_alloc(struct vmw_private *dev_priv, uint32_t *p_id) +{ + struct ttm_bo_global *glob = dev_priv->bdev.glob; + int id; + int ret; + + do { + if (unlikely(ida_pre_get(&dev_priv->gmr_ida, GFP_KERNEL) == 0)) + return -ENOMEM; + + spin_lock(&glob->lru_lock); + ret = ida_get_new(&dev_priv->gmr_ida, &id); + spin_unlock(&glob->lru_lock); + } while (ret == -EAGAIN); + + if (unlikely(ret != 0)) + return ret; + + if (unlikely(id >= dev_priv->max_gmr_ids)) { + spin_lock(&glob->lru_lock); + ida_remove(&dev_priv->gmr_ida, id); + spin_unlock(&glob->lru_lock); + return -EBUSY; + } + + *p_id = (uint32_t) id; + return 0; +} + +/* + * Stream managment + */ + +static void vmw_stream_destroy(struct vmw_resource *res) +{ + struct vmw_private *dev_priv = res->dev_priv; + struct vmw_stream *stream; + int ret; + + DRM_INFO("%s: unref\n", __func__); + stream = container_of(res, struct vmw_stream, res); + + ret = vmw_overlay_unref(dev_priv, stream->stream_id); + WARN_ON(ret != 0); +} + +static int vmw_stream_init(struct vmw_private *dev_priv, + struct vmw_stream *stream, + void (*res_free) (struct vmw_resource *res)) +{ + struct vmw_resource *res = &stream->res; + int ret; + + ret = vmw_resource_init(dev_priv, res, &dev_priv->stream_idr, + VMW_RES_STREAM, res_free); + + if (unlikely(ret != 0)) { + if (res_free == NULL) + kfree(stream); + else + res_free(&stream->res); + return ret; + } + + ret = vmw_overlay_claim(dev_priv, &stream->stream_id); + if (ret) { + vmw_resource_unreference(&res); + return ret; + } + + DRM_INFO("%s: claimed\n", __func__); + + vmw_resource_activate(&stream->res, vmw_stream_destroy); + return 0; +} + +/** + * User-space context management: + */ + +static void vmw_user_stream_free(struct vmw_resource *res) +{ + struct vmw_user_stream *stream = + container_of(res, struct vmw_user_stream, stream.res); + + kfree(stream); +} + +/** + * This function is called when user space has no more references on the + * base object. It releases the base-object's reference on the resource object. + */ + +static void vmw_user_stream_base_release(struct ttm_base_object **p_base) +{ + struct ttm_base_object *base = *p_base; + struct vmw_user_stream *stream = + container_of(base, struct vmw_user_stream, base); + struct vmw_resource *res = &stream->stream.res; + + *p_base = NULL; + vmw_resource_unreference(&res); +} + +int vmw_stream_unref_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + struct vmw_resource *res; + struct vmw_user_stream *stream; + struct drm_vmw_stream_arg *arg = (struct drm_vmw_stream_arg *)data; + struct ttm_object_file *tfile = vmw_fpriv(file_priv)->tfile; + int ret = 0; + + res = vmw_resource_lookup(dev_priv, &dev_priv->stream_idr, arg->stream_id); + if (unlikely(res == NULL)) + return -EINVAL; + + if (res->res_free != &vmw_user_stream_free) { + ret = -EINVAL; + goto out; + } + + stream = container_of(res, struct vmw_user_stream, stream.res); + if (stream->base.tfile != tfile) { + ret = -EINVAL; + goto out; + } + + ttm_ref_object_base_unref(tfile, stream->base.hash.key, TTM_REF_USAGE); +out: + vmw_resource_unreference(&res); + return ret; +} + +int vmw_stream_claim_ioctl(struct drm_device *dev, void *data, + struct drm_file *file_priv) +{ + struct vmw_private *dev_priv = vmw_priv(dev); + struct vmw_user_stream *stream = kmalloc(sizeof(*stream), GFP_KERNEL); + struct vmw_resource *res; + struct vmw_resource *tmp; + struct drm_vmw_stream_arg *arg = (struct drm_vmw_stream_arg *)data; + struct ttm_object_file *tfile = vmw_fpriv(file_priv)->tfile; + int ret; + + if (unlikely(stream == NULL)) + return -ENOMEM; + + res = &stream->stream.res; + stream->base.shareable = false; + stream->base.tfile = NULL; + + ret = vmw_stream_init(dev_priv, &stream->stream, vmw_user_stream_free); + if (unlikely(ret != 0)) + return ret; + + tmp = vmw_resource_reference(res); + ret = ttm_base_object_init(tfile, &stream->base, false, VMW_RES_STREAM, + &vmw_user_stream_base_release, NULL); + + if (unlikely(ret != 0)) { + vmw_resource_unreference(&tmp); + goto out_err; + } + + arg->stream_id = res->id; +out_err: + vmw_resource_unreference(&res); + return ret; +} + +int vmw_user_stream_lookup(struct vmw_private *dev_priv, + struct ttm_object_file *tfile, + uint32_t *inout_id, struct vmw_resource **out) +{ + struct vmw_user_stream *stream; + struct vmw_resource *res; + int ret; + + res = vmw_resource_lookup(dev_priv, &dev_priv->stream_idr, *inout_id); + if (unlikely(res == NULL)) + return -EINVAL; + + if (res->res_free != &vmw_user_stream_free) { + ret = -EINVAL; + goto err_ref; + } + + stream = container_of(res, struct vmw_user_stream, stream.res); + if (stream->base.tfile != tfile) { + ret = -EPERM; + goto err_ref; + } + + *inout_id = stream->stream.stream_id; + *out = res; + return 0; +err_ref: + vmw_resource_unreference(&res); + return ret; +} --- linux-2.6.32.orig/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c +++ linux-2.6.32/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c @@ -0,0 +1,99 @@ +/************************************************************************** + * + * Copyright © 2009 VMware, Inc., Palo Alto, CA., 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. + * + **************************************************************************/ + +#include "drmP.h" +#include "vmwgfx_drv.h" + +int vmw_mmap(struct file *filp, struct vm_area_struct *vma) +{ + struct drm_file *file_priv; + struct vmw_private *dev_priv; + + if (unlikely(vma->vm_pgoff < VMWGFX_FILE_PAGE_OFFSET)) { + if (vmw_fifo_mmap(filp, vma) == 0) + return 0; + return drm_mmap(filp, vma); + } + + file_priv = (struct drm_file *)filp->private_data; + dev_priv = vmw_priv(file_priv->minor->dev); + return ttm_bo_mmap(filp, vma, &dev_priv->bdev); +} + +static int vmw_ttm_mem_global_init(struct ttm_global_reference *ref) +{ + DRM_INFO("global init.\n"); + return ttm_mem_global_init(ref->object); +} + +static void vmw_ttm_mem_global_release(struct ttm_global_reference *ref) +{ + ttm_mem_global_release(ref->object); +} + +int vmw_ttm_global_init(struct vmw_private *dev_priv) +{ + struct ttm_global_reference *global_ref; + int ret; + + global_ref = &dev_priv->mem_global_ref; + global_ref->global_type = TTM_GLOBAL_TTM_MEM; + global_ref->size = sizeof(struct ttm_mem_global); + global_ref->init = &vmw_ttm_mem_global_init; + global_ref->release = &vmw_ttm_mem_global_release; + + ret = ttm_global_item_ref(global_ref); + if (unlikely(ret != 0)) { + DRM_ERROR("Failed setting up TTM memory accounting.\n"); + return ret; + } + + dev_priv->bo_global_ref.mem_glob = + dev_priv->mem_global_ref.object; + global_ref = &dev_priv->bo_global_ref.ref; + global_ref->global_type = TTM_GLOBAL_TTM_BO; + global_ref->size = sizeof(struct ttm_bo_global); + global_ref->init = &ttm_bo_global_init; + global_ref->release = &ttm_bo_global_release; + ret = ttm_global_item_ref(global_ref); + + if (unlikely(ret != 0)) { + DRM_ERROR("Failed setting up TTM buffer objects.\n"); + goto out_no_bo; + } + + return 0; +out_no_bo: + ttm_global_item_unref(&dev_priv->mem_global_ref); + return ret; +} + +void vmw_ttm_global_release(struct vmw_private *dev_priv) +{ + ttm_global_item_unref(&dev_priv->bo_global_ref.ref); + ttm_global_item_unref(&dev_priv->mem_global_ref); +} --- linux-2.6.32.orig/drivers/gpu/vga/vgaarb.c +++ linux-2.6.32/drivers/gpu/vga/vgaarb.c @@ -954,6 +954,7 @@ } } else if (strncmp(curr_pos, "target ", 7) == 0) { + struct pci_bus *pbus; unsigned int domain, bus, devfn; struct vga_device *vgadev; @@ -961,7 +962,7 @@ remaining -= 7; pr_devel("client 0x%p called 'target'\n", priv); /* if target is default */ - if (!strncmp(buf, "default", 7)) + if (!strncmp(curr_pos, "default", 7)) pdev = pci_dev_get(vga_default_device()); else { if (!vga_pci_str_to_vars(curr_pos, remaining, @@ -969,18 +970,31 @@ ret_val = -EPROTO; goto done; } + pr_devel("vgaarb: %s ==> %x:%x:%x.%x\n", curr_pos, + domain, bus, PCI_SLOT(devfn), PCI_FUNC(devfn)); - pdev = pci_get_bus_and_slot(bus, devfn); + pbus = pci_find_bus(domain, bus); + pr_devel("vgaarb: pbus %p\n", pbus); + if (pbus == NULL) { + pr_err("vgaarb: invalid PCI domain and/or bus address %x:%x\n", + domain, bus); + ret_val = -ENODEV; + goto done; + } + pdev = pci_get_slot(pbus, devfn); + pr_devel("vgaarb: pdev %p\n", pdev); if (!pdev) { - pr_info("vgaarb: invalid PCI address!\n"); + pr_err("vgaarb: invalid PCI address %x:%x\n", + bus, devfn); ret_val = -ENODEV; goto done; } } vgadev = vgadev_find(pdev); + pr_devel("vgaarb: vgadev %p\n", vgadev); if (vgadev == NULL) { - pr_info("vgaarb: this pci device is not a vga device\n"); + pr_err("vgaarb: this pci device is not a vga device\n"); pci_dev_put(pdev); ret_val = -ENODEV; goto done; @@ -998,7 +1012,8 @@ } } if (i == MAX_USER_CARDS) { - pr_err("vgaarb: maximum user cards number reached!\n"); + pr_err("vgaarb: maximum user cards (%d) number reached!\n", + MAX_USER_CARDS); pci_dev_put(pdev); /* XXX: which value to return? */ ret_val = -ENOMEM; --- linux-2.6.32.orig/drivers/hid/Kconfig +++ linux-2.6.32/drivers/hid/Kconfig @@ -55,6 +55,12 @@ menu "Special HID drivers" depends on HID +config HID_3M_PCT + tristate "3M PCT" + depends on USB_HID + ---help--- + Support for 3M PCT touch screens. + config HID_A4TECH tristate "A4 tech" if EMBEDDED depends on USB_HID @@ -190,6 +196,12 @@ ---help--- Support for Microsoft devices that are not fully compliant with HID standard. +config HID_MOSART + tristate "MosArt" + depends on USB_HID + ---help--- + Support for MosArt dual-touch panels. + config HID_MONTEREY tristate "Monterey" if EMBEDDED depends on USB_HID @@ -204,6 +216,13 @@ ---help--- Support for N-Trig touch screen. +config HID_ORTEK + tristate "Ortek" if EMBEDDED + depends on USB_HID + default !EMBEDDED + ---help--- + Support for Ortek WKB-2000 wireless keyboard + mouse trackpad. + config HID_PANTHERLORD tristate "Pantherlord support" if EMBEDDED depends on USB_HID @@ -227,6 +246,12 @@ ---help--- Support for Petalynx Maxter remote control. +config HID_QUANTA + tristate "Quanta Optical Touch" + depends on USB_HID + ---help--- + Support for Quanta Optical Touch dual-touch panels. + config HID_SAMSUNG tristate "Samsung" if EMBEDDED depends on USB_HID @@ -241,6 +266,12 @@ ---help--- Support for Sony PS3 controller. +config HID_STANTUM + tristate "Stantum" + depends on USB_HID + ---help--- + Support for Stantum multitouch panel. + config HID_SUNPLUS tristate "Sunplus" if EMBEDDED depends on USB_HID --- linux-2.6.32.orig/drivers/hid/Makefile +++ linux-2.6.32/drivers/hid/Makefile @@ -19,6 +19,7 @@ hid-logitech-objs += hid-lg2ff.o endif +obj-$(CONFIG_HID_3M_PCT) += hid-3m-pct.o obj-$(CONFIG_HID_A4TECH) += hid-a4tech.o obj-$(CONFIG_HID_APPLE) += hid-apple.o obj-$(CONFIG_HID_BELKIN) += hid-belkin.o @@ -32,13 +33,17 @@ obj-$(CONFIG_HID_KYE) += hid-kye.o obj-$(CONFIG_HID_LOGITECH) += hid-logitech.o obj-$(CONFIG_HID_MICROSOFT) += hid-microsoft.o +obj-$(CONFIG_HID_ORTEK) += hid-ortek.o obj-$(CONFIG_HID_MONTEREY) += hid-monterey.o +obj-$(CONFIG_HID_MOSART) += hid-mosart.o obj-$(CONFIG_HID_NTRIG) += hid-ntrig.o +obj-$(CONFIG_HID_QUANTA) += hid-quanta.o obj-$(CONFIG_HID_PANTHERLORD) += hid-pl.o obj-$(CONFIG_HID_PETALYNX) += hid-petalynx.o obj-$(CONFIG_HID_SAMSUNG) += hid-samsung.o obj-$(CONFIG_HID_SMARTJOYPLUS) += hid-sjoy.o obj-$(CONFIG_HID_SONY) += hid-sony.o +obj-$(CONFIG_HID_STANTUM) += hid-stantum.o obj-$(CONFIG_HID_SUNPLUS) += hid-sunplus.o obj-$(CONFIG_HID_GREENASIA) += hid-gaff.o obj-$(CONFIG_HID_THRUSTMASTER) += hid-tmff.o --- linux-2.6.32.orig/drivers/hid/hid-apple.c +++ linux-2.6.32/drivers/hid/hid-apple.c @@ -53,6 +53,27 @@ u8 flags; }; +static const struct apple_key_translation macbookair_fn_keys[] = { + { KEY_BACKSPACE, KEY_DELETE }, + { KEY_ENTER, KEY_INSERT }, + { KEY_F1, KEY_BRIGHTNESSDOWN, APPLE_FLAG_FKEY }, + { KEY_F2, KEY_BRIGHTNESSUP, APPLE_FLAG_FKEY }, + { KEY_F3, KEY_SCALE, APPLE_FLAG_FKEY }, + { KEY_F4, KEY_DASHBOARD, APPLE_FLAG_FKEY }, + { KEY_F6, KEY_PREVIOUSSONG, APPLE_FLAG_FKEY }, + { KEY_F7, KEY_PLAYPAUSE, APPLE_FLAG_FKEY }, + { KEY_F8, KEY_NEXTSONG, APPLE_FLAG_FKEY }, + { KEY_F9, KEY_MUTE, APPLE_FLAG_FKEY }, + { KEY_F10, KEY_VOLUMEDOWN, APPLE_FLAG_FKEY }, + { KEY_F11, KEY_VOLUMEUP, APPLE_FLAG_FKEY }, + { KEY_F12, KEY_EJECTCD, APPLE_FLAG_FKEY }, + { KEY_UP, KEY_PAGEUP }, + { KEY_DOWN, KEY_PAGEDOWN }, + { KEY_LEFT, KEY_HOME }, + { KEY_RIGHT, KEY_END }, + { } +}; + static const struct apple_key_translation apple_fn_keys[] = { { KEY_BACKSPACE, KEY_DELETE }, { KEY_ENTER, KEY_INSERT }, @@ -151,10 +172,15 @@ if (fnmode) { int do_translate; - trans = apple_find_translation((hid->product < 0x21d || - hid->product >= 0x300) ? - powerbook_fn_keys : apple_fn_keys, - usage->code); + if(hid->product >= USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI && + hid->product <= USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS) { + trans = apple_find_translation(macbookair_fn_keys, usage->code); + } else if (hid->product < 0x21d || hid->product >= 0x300) { + trans = apple_find_translation(powerbook_fn_keys, usage->code); + } else { + trans = apple_find_translation(apple_fn_keys, usage->code); + } + if (trans) { if (test_bit(usage->code, asc->pressed_fn)) do_translate = 1; @@ -431,6 +457,25 @@ .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_JIS), .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI), + .driver_data = APPLE_HAS_FN }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_ISO), + .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_JIS), + .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI), + .driver_data = APPLE_HAS_FN }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO), + .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS), + .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS }, + { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI), + .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN }, + { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO), + .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN | + APPLE_ISO_KEYBOARD }, + { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS), + .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY), .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY), --- linux-2.6.32.orig/drivers/hid/hid-core.c +++ linux-2.6.32/drivers/hid/hid-core.c @@ -350,7 +350,7 @@ case HID_GLOBAL_ITEM_TAG_REPORT_SIZE: parser->global.report_size = item_udata(item); - if (parser->global.report_size > 32) { + if (parser->global.report_size > 96) { dbg_hid("invalid report_size %d\n", parser->global.report_size); return -1; @@ -1250,6 +1250,7 @@ /* a list of devices for which there is a specialized driver on HID bus */ static const struct hid_device_id hid_blacklist[] = { + { HID_USB_DEVICE(USB_VENDOR_ID_3M, USB_DEVICE_ID_3M1968) }, { HID_USB_DEVICE(USB_VENDOR_ID_A4TECH, USB_DEVICE_ID_A4TECH_WCP32PU) }, { HID_USB_DEVICE(USB_VENDOR_ID_A4TECH, USB_DEVICE_ID_A4TECH_X5_005D) }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ATV_IRCONTROL) }, @@ -1287,6 +1288,15 @@ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI) }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_ISO) }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_JIS) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_ISO) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_JIS) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS) }, + { 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_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) }, { HID_USB_DEVICE(USB_VENDOR_ID_BELKIN, USB_DEVICE_ID_FLIP_KVM) }, @@ -1294,6 +1304,7 @@ { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_TACTICAL_PAD) }, { 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_MOUSE) }, { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, 0x0006) }, { HID_USB_DEVICE(USB_VENDOR_ID_EZKEY, USB_DEVICE_ID_BTC_8193) }, @@ -1303,6 +1314,7 @@ { HID_USB_DEVICE(USB_VENDOR_ID_GREENASIA, 0x0012) }, { HID_USB_DEVICE(USB_VENDOR_ID_GYRATION, USB_DEVICE_ID_GYRATION_REMOTE) }, { HID_USB_DEVICE(USB_VENDOR_ID_GYRATION, USB_DEVICE_ID_GYRATION_REMOTE_2) }, + { HID_USB_DEVICE(USB_VENDOR_ID_GYRATION, USB_DEVICE_ID_GYRATION_REMOTE_3) }, { HID_USB_DEVICE(USB_VENDOR_ID_KENSINGTON, USB_DEVICE_ID_KS_SLIMBLADE) }, { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_ERGO_525V) }, { HID_USB_DEVICE(USB_VENDOR_ID_LABTEC, USB_DEVICE_ID_LABTEC_WIRELESS_KEYBOARD) }, @@ -1333,10 +1345,14 @@ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_WIRELESS_OPTICAL_DESKTOP_3_0) }, { HID_USB_DEVICE(USB_VENDOR_ID_MONTEREY, USB_DEVICE_ID_GENIUS_KB29E) }, { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN) }, + { 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_QUANTA, USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH) }, + { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_PIXART_IMAGING_INC_OPTICAL_TOUCH_SCREEN) }, { HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_IR_REMOTE) }, { HID_USB_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_STANTUM, USB_DEVICE_ID_MTP) }, { 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) }, @@ -1539,8 +1555,9 @@ { HID_USB_DEVICE(USB_VENDOR_ID_AIPTEK, USB_DEVICE_ID_AIPTEK_24) }, { HID_USB_DEVICE(USB_VENDOR_ID_AIRCABLE, USB_DEVICE_ID_AIRCABLE1) }, { HID_USB_DEVICE(USB_VENDOR_ID_ALCOR, USB_DEVICE_ID_ALCOR_USBRS232) }, - { HID_USB_DEVICE(USB_VENDOR_ID_ASUS, USB_DEVICE_ID_ASUS_LCM)}, - { HID_USB_DEVICE(USB_VENDOR_ID_ASUS, USB_DEVICE_ID_ASUS_LCM2)}, + { HID_USB_DEVICE(USB_VENDOR_ID_ASUS, USB_DEVICE_ID_ASUS_T91MT)}, + { HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_LCM)}, + { HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_LCM2)}, { HID_USB_DEVICE(USB_VENDOR_ID_AVERMEDIA, USB_DEVICE_ID_AVER_FM_MR800) }, { HID_USB_DEVICE(USB_VENDOR_ID_BERKSHIRE, USB_DEVICE_ID_BERKSHIRE_PCWD) }, { HID_USB_DEVICE(USB_VENDOR_ID_CIDC, 0x0103) }, @@ -1655,8 +1672,6 @@ { HID_USB_DEVICE(USB_VENDOR_ID_PANJIT, 0x0004) }, { HID_USB_DEVICE(USB_VENDOR_ID_PHILIPS, USB_DEVICE_ID_PHILIPS_IEEE802154_DONGLE) }, { HID_USB_DEVICE(USB_VENDOR_ID_POWERCOM, USB_DEVICE_ID_POWERCOM_UPS) }, - { HID_USB_DEVICE(USB_VENDOR_ID_TENX, USB_DEVICE_ID_TENX_IBUDDY1) }, - { HID_USB_DEVICE(USB_VENDOR_ID_TENX, USB_DEVICE_ID_TENX_IBUDDY2) }, { HID_USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_LABPRO) }, { HID_USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_GOTEMP) }, { HID_USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_SKIP) }, @@ -1702,6 +1717,12 @@ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI) }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_ISO) }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_JIS) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_ISO) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_JIS) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS) }, { 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) }, { } --- linux-2.6.32.orig/drivers/hid/hid-cypress.c +++ linux-2.6.32/drivers/hid/hid-cypress.c @@ -126,6 +126,8 @@ .driver_data = CP_RDESC_SWAPPED_MIN_MAX }, { HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_BARCODE_2), .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_MOUSE), .driver_data = CP_2WHEEL_MOUSE_HACK }, { } --- linux-2.6.32.orig/drivers/hid/hid-ids.h +++ linux-2.6.32/drivers/hid/hid-ids.h @@ -18,6 +18,9 @@ #ifndef HID_IDS_H_FILE #define HID_IDS_H_FILE +#define USB_VENDOR_ID_3M 0x0596 +#define USB_DEVICE_ID_3M1968 0x0500 + #define USB_VENDOR_ID_A4TECH 0x09da #define USB_DEVICE_ID_A4TECH_WCP32PU 0x0006 #define USB_DEVICE_ID_A4TECH_X5_005D 0x000a @@ -88,14 +91,26 @@ #define USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI 0x0236 #define USB_DEVICE_ID_APPLE_WELLSPRING3_ISO 0x0237 #define USB_DEVICE_ID_APPLE_WELLSPRING3_JIS 0x0238 +#define USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI 0x023f +#define USB_DEVICE_ID_APPLE_WELLSPRING4_ISO 0x0240 +#define USB_DEVICE_ID_APPLE_WELLSPRING4_JIS 0x0241 +#define USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI 0x0242 +#define USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO 0x0243 +#define USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS 0x0244 +#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI 0x0239 +#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO 0x023a +#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS 0x023b #define USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY 0x030a #define USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY 0x030b #define USB_DEVICE_ID_APPLE_ATV_IRCONTROL 0x8241 #define USB_DEVICE_ID_APPLE_IRCONTROL4 0x8242 -#define USB_VENDOR_ID_ASUS 0x0b05 -#define USB_DEVICE_ID_ASUS_LCM 0x1726 -#define USB_DEVICE_ID_ASUS_LCM2 0x175b +#define USB_VENDOR_ID_ASUS 0x0486 +#define USB_DEVICE_ID_ASUS_T91MT 0x0185 + +#define USB_VENDOR_ID_ASUSTEK 0x0b05 +#define USB_DEVICE_ID_ASUSTEK_LCM 0x1726 +#define USB_DEVICE_ID_ASUSTEK_LCM2 0x175b #define USB_VENDOR_ID_ATEN 0x0557 #define USB_DEVICE_ID_ATEN_UC100KM 0x2004 @@ -145,6 +160,7 @@ #define USB_DEVICE_ID_CYPRESS_ULTRAMOUSE 0x7417 #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_VENDOR_ID_DEALEXTREAME 0x10c5 #define USB_DEVICE_ID_DEALEXTREAME_RADIO_SI4701 0x819a @@ -248,6 +264,7 @@ #define USB_VENDOR_ID_GYRATION 0x0c16 #define USB_DEVICE_ID_GYRATION_REMOTE 0x0002 #define USB_DEVICE_ID_GYRATION_REMOTE_2 0x0003 +#define USB_DEVICE_ID_GYRATION_REMOTE_3 0x0008 #define USB_VENDOR_ID_HAPP 0x078b #define USB_DEVICE_ID_UGCI_DRIVING 0x0010 @@ -346,12 +363,18 @@ #define USB_VENDOR_ID_NEC 0x073e #define USB_DEVICE_ID_NEC_USB_GAME_PAD 0x0301 +#define USB_VENDOR_ID_NEXTWINDOW 0x1926 +#define USB_DEVICE_ID_NEXTWINDOW_TOUCHSCREEN 0x0003 + #define USB_VENDOR_ID_NTRIG 0x1b96 #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN 0x0001 #define USB_VENDOR_ID_ONTRAK 0x0a07 #define USB_DEVICE_ID_ONTRAK_ADU100 0x0064 +#define USB_VENDOR_ID_ORTEK 0x05a4 +#define USB_DEVICE_ID_ORTEK_WKB2000 0x2000 + #define USB_VENDOR_ID_PANJIT 0x134c #define USB_VENDOR_ID_PANTHERLORD 0x0810 @@ -372,9 +395,16 @@ #define USB_VENDOR_ID_SAITEK 0x06a3 #define USB_DEVICE_ID_SAITEK_RUMBLEPAD 0xff17 +#define USB_VENDOR_ID_QUANTA 0x0408 +#define USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH 0x3000 +#define USB_DEVICE_ID_PIXART_IMAGING_INC_OPTICAL_TOUCH_SCREEN 0x3001 + #define USB_VENDOR_ID_SAMSUNG 0x0419 #define USB_DEVICE_ID_SAMSUNG_IR_REMOTE 0x0001 +#define USB_VENDOR_ID_SIGMA_MICRO 0x1c4f +#define USB_DEVICE_ID_SIGMA_MICRO_KEYBOARD 0x0002 + #define USB_VENDOR_ID_SONY 0x054c #define USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE 0x024b #define USB_DEVICE_ID_SONY_PS3_CONTROLLER 0x0268 @@ -383,16 +413,15 @@ #define USB_DEVICE_ID_SOUNDGRAPH_IMON_FIRST 0x0034 #define USB_DEVICE_ID_SOUNDGRAPH_IMON_LAST 0x0046 +#define USB_VENDOR_ID_STANTUM 0x1f87 +#define USB_DEVICE_ID_MTP 0x0002 + #define USB_VENDOR_ID_SUN 0x0430 #define USB_DEVICE_ID_RARITAN_KVM_DONGLE 0xcdab #define USB_VENDOR_ID_SUNPLUS 0x04fc #define USB_DEVICE_ID_SUNPLUS_WDESKTOP 0x05d8 -#define USB_VENDOR_ID_TENX 0x1130 -#define USB_DEVICE_ID_TENX_IBUDDY1 0x0001 -#define USB_DEVICE_ID_TENX_IBUDDY2 0x0002 - #define USB_VENDOR_ID_THRUSTMASTER 0x044f #define USB_VENDOR_ID_TOPMAX 0x0663 --- linux-2.6.32.orig/drivers/hid/hid-gyration.c +++ linux-2.6.32/drivers/hid/hid-gyration.c @@ -53,10 +53,13 @@ static int gyration_event(struct hid_device *hdev, struct hid_field *field, struct hid_usage *usage, __s32 value) { - struct input_dev *input = field->hidinput->input; + + if (!(hdev->claimed & HID_CLAIMED_INPUT) || !field->hidinput) + return 0; if ((usage->hid & HID_USAGE_PAGE) == HID_UP_GENDESK && (usage->hid & 0xff) == 0x82) { + struct input_dev *input = field->hidinput->input; input_event(input, usage->type, usage->code, 1); input_sync(input); input_event(input, usage->type, usage->code, 0); @@ -70,6 +73,7 @@ static const struct hid_device_id gyration_devices[] = { { HID_USB_DEVICE(USB_VENDOR_ID_GYRATION, USB_DEVICE_ID_GYRATION_REMOTE) }, { HID_USB_DEVICE(USB_VENDOR_ID_GYRATION, USB_DEVICE_ID_GYRATION_REMOTE_2) }, + { HID_USB_DEVICE(USB_VENDOR_ID_GYRATION, USB_DEVICE_ID_GYRATION_REMOTE_3) }, { } }; MODULE_DEVICE_TABLE(hid, gyration_devices); --- linux-2.6.32.orig/drivers/hid/hid-input.c +++ linux-2.6.32/drivers/hid/hid-input.c @@ -193,12 +193,17 @@ break; case HID_UP_BUTTON: - code = ((usage->hid - 1) & 0xf); + code = ((usage->hid - 1) & HID_USAGE); switch (field->application) { case HID_GD_MOUSE: case HID_GD_POINTER: code += 0x110; break; - case HID_GD_JOYSTICK: code += 0x120; break; + case HID_GD_JOYSTICK: + if (code <= 0xf) + code += BTN_JOYSTICK; + else + code += BTN_TRIGGER_HAPPY; + break; case HID_GD_GAMEPAD: code += 0x130; break; default: switch (field->physical) { --- linux-2.6.32.orig/drivers/hid/hid-ntrig.c +++ linux-2.6.32/drivers/hid/hid-ntrig.c @@ -1,8 +1,8 @@ /* * HID driver for N-Trig touchscreens * - * Copyright (c) 2008 Rafi Rubin - * Copyright (c) 2009 Stephane Chatty + * Copyright (c) 2008-2010 Rafi Rubin + * Copyright (c) 2009-2010 Stephane Chatty * */ @@ -15,21 +15,27 @@ #include #include +#include +#include "usbhid/usbhid.h" #include #include "hid-ids.h" #define NTRIG_DUPLICATE_USAGES 0x001 -#define nt_map_key_clear(c) hid_map_usage_clear(hi, usage, bit, max, \ - EV_KEY, (c)) - struct ntrig_data { - __s32 x, y, id, w, h; - char reading_a_point, found_contact_id; - char pen_active; - char finger_active; - char inverted; + /* Incoming raw values for a single contact */ + __u16 x, y, w, h; + __u16 id; + + bool tipswitch; + bool confidence; + bool first_contact_touch; + + bool reading_mt; + + __u8 mt_footer[4]; + __u8 mt_foot_count; }; /* @@ -42,8 +48,11 @@ struct hid_field *field, struct hid_usage *usage, unsigned long **bit, int *max) { - switch (usage->hid & HID_USAGE_PAGE) { + /* No special mappings needed for the pen and single touch */ + if (field->physical) + return 0; + switch (usage->hid & HID_USAGE_PAGE) { case HID_UP_GENDESK: switch (usage->hid) { case HID_GD_X: @@ -66,18 +75,12 @@ case HID_UP_DIGITIZER: switch (usage->hid) { /* we do not want to map these for now */ - case HID_DG_CONTACTID: /* value is useless */ + case HID_DG_CONTACTID: /* Not trustworthy, squelch for now */ case HID_DG_INPUTMODE: case HID_DG_DEVICEINDEX: - case HID_DG_CONTACTCOUNT: case HID_DG_CONTACTMAX: return -1; - /* original mapping by Rafi Rubin */ - case HID_DG_CONFIDENCE: - nt_map_key_clear(BTN_TOOL_DOUBLETAP); - return 1; - /* width/height mapped on TouchMajor/TouchMinor/Orientation */ case HID_DG_WIDTH: hid_map_usage(hi, usage, bit, max, @@ -104,6 +107,10 @@ struct hid_field *field, struct hid_usage *usage, unsigned long **bit, int *max) { + /* No special mappings needed for the pen and single touch */ + if (field->physical) + return 0; + if (usage->type == EV_KEY || usage->type == EV_REL || usage->type == EV_ABS) clear_bit(usage->code, *bit); @@ -123,31 +130,34 @@ struct input_dev *input = field->hidinput->input; struct ntrig_data *nd = hid_get_drvdata(hid); + /* No special handling needed for the pen */ + if (field->application == HID_DG_PEN) + return 0; + if (hid->claimed & HID_CLAIMED_INPUT) { switch (usage->hid) { - - case HID_DG_INRANGE: - if (field->application & 0x3) - nd->pen_active = (value != 0); - else - nd->finger_active = (value != 0); - return 0; - - case HID_DG_INVERT: - nd->inverted = value; - return 0; - + case 0xff000001: + /* Tag indicating the start of a multitouch group */ + nd->reading_mt = 1; + nd->first_contact_touch = 0; + break; + case HID_DG_TIPSWITCH: + nd->tipswitch = value; + /* Prevent emission of touch until validated */ + return 1; + case HID_DG_CONFIDENCE: + nd->confidence = value; + break; case HID_GD_X: nd->x = value; - nd->reading_a_point = 1; + /* Clear the contact footer */ + nd->mt_foot_count = 0; break; case HID_GD_Y: nd->y = value; break; case HID_DG_CONTACTID: nd->id = value; - /* we receive this only when in multitouch mode */ - nd->found_contact_id = 1; break; case HID_DG_WIDTH: nd->w = value; @@ -159,33 +169,17 @@ * report received in a finger event. We want * to emit a normal (X, Y) position */ - if (!nd->found_contact_id) { - if (nd->pen_active && nd->finger_active) { - input_report_key(input, BTN_TOOL_DOUBLETAP, 0); - input_report_key(input, BTN_TOOL_DOUBLETAP, 1); - } - input_event(input, EV_ABS, ABS_X, nd->x); - input_event(input, EV_ABS, ABS_Y, nd->y); - } - break; - case HID_DG_TIPPRESSURE: - /* - * when in single touch mode, this is the last - * report received in a pen event. We want - * to emit a normal (X, Y) position - */ - if (! nd->found_contact_id) { - if (nd->pen_active && nd->finger_active) { - input_report_key(input, - nd->inverted ? BTN_TOOL_RUBBER : BTN_TOOL_PEN - , 0); - input_report_key(input, - nd->inverted ? BTN_TOOL_RUBBER : BTN_TOOL_PEN - , 1); - } + if (!nd->reading_mt) { + /* + * TipSwitch indicates the presence of a + * finger in single touch mode. + */ + input_report_key(input, BTN_TOUCH, + nd->tipswitch); + input_report_key(input, BTN_TOOL_DOUBLETAP, + nd->tipswitch); input_event(input, EV_ABS, ABS_X, nd->x); input_event(input, EV_ABS, ABS_Y, nd->y); - input_event(input, EV_ABS, ABS_PRESSURE, value); } break; case 0xff000002: @@ -195,10 +189,40 @@ * this usage tells if the contact point is real * or a placeholder */ - if (!nd->reading_a_point || value != 1) + + /* Shouldn't get more than 4 footer packets, so skip */ + if (nd->mt_foot_count >= 4) break; + + nd->mt_footer[nd->mt_foot_count++] = value; + + /* if the footer isn't complete break */ + if (nd->mt_foot_count != 4) + break; + + /* Pen activity signal, trigger end of touch. */ + if (nd->mt_footer[2]) { + nd->confidence = 0; + break; + } + + /* If the contact was invalid */ + if (!(nd->confidence && nd->mt_footer[0]) + || nd->w <= 250 + || nd->h <= 190) { + nd->confidence = 0; + break; + } + /* emit a normal (X, Y) for the first point only */ if (nd->id == 0) { + /* + * TipSwitch is superfluous in multitouch + * mode. The footer events tell us + * if there is a finger on the screen or + * not. + */ + nd->first_contact_touch = nd->confidence; input_event(input, EV_ABS, ABS_X, nd->x); input_event(input, EV_ABS, ABS_Y, nd->y); } @@ -220,8 +244,21 @@ ABS_MT_TOUCH_MINOR, nd->w); } input_mt_sync(field->hidinput->input); - nd->reading_a_point = 0; - nd->found_contact_id = 0; + break; + + case HID_DG_CONTACTCOUNT: /* End of a multitouch group */ + if (!nd->reading_mt) + break; + + nd->reading_mt = 0; + + if (nd->first_contact_touch) { + input_report_key(input, BTN_TOOL_DOUBLETAP, 1); + input_report_key(input, BTN_TOUCH, 1); + } else { + input_report_key(input, BTN_TOOL_DOUBLETAP, 0); + input_report_key(input, BTN_TOUCH, 0); + } break; default: @@ -231,8 +268,8 @@ } /* we have handled the hidinput part, now remains hiddev */ - if (hid->claimed & HID_CLAIMED_HIDDEV && hid->hiddev_hid_event) - hid->hiddev_hid_event(hid, field, usage, value); + if ((hid->claimed & HID_CLAIMED_HIDDEV) && hid->hiddev_hid_event) + hid->hiddev_hid_event(hid, field, usage, value); return 1; } @@ -241,23 +278,75 @@ { int ret; struct ntrig_data *nd; + struct hid_input *hidinput; + struct input_dev *input; + struct hid_report *report; + + if (id->driver_data) + hdev->quirks |= HID_QUIRK_MULTI_INPUT; nd = kmalloc(sizeof(struct ntrig_data), GFP_KERNEL); if (!nd) { dev_err(&hdev->dev, "cannot allocate N-Trig data\n"); return -ENOMEM; } - nd->reading_a_point = 0; - nd->found_contact_id = 0; + + nd->reading_mt = 0; hid_set_drvdata(hdev, nd); ret = hid_parse(hdev); - if (!ret) - ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT); + if (ret) { + dev_err(&hdev->dev, "parse failed\n"); + goto err_free; + } + + ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT & ~HID_CONNECT_FF); + if (ret) { + dev_err(&hdev->dev, "hw start failed\n"); + goto err_free; + } - if (ret) - kfree (nd); + list_for_each_entry(hidinput, &hdev->inputs, list) { + if (hidinput->report->maxfield < 1) + continue; + + input = hidinput->input; + switch (hidinput->report->field[0]->application) { + case HID_DG_PEN: + input->name = "N-Trig Pen"; + break; + case HID_DG_TOUCHSCREEN: + /* These keys are redundant for fingers, clear them + * to prevent incorrect identification */ + __clear_bit(BTN_TOOL_PEN, input->keybit); + __clear_bit(BTN_TOOL_FINGER, input->keybit); + __clear_bit(BTN_0, input->keybit); + __set_bit(BTN_TOOL_DOUBLETAP, input->keybit); + /* + * The physical touchscreen (single touch) + * input has a value for physical, whereas + * the multitouch only has logical input + * fields. + */ + input->name = + (hidinput->report->field[0] + ->physical) ? + "N-Trig Touchscreen" : + "N-Trig MultiTouch"; + break; + } + } + + /* This is needed for devices with more recent firmware versions */ + report = hdev->report_enum[HID_FEATURE_REPORT].report_id_hash[0x0a]; + if (report) + usbhid_submit_report(hdev, report, USB_DIR_OUT); + + + return 0; +err_free: + kfree(nd); return ret; } @@ -276,7 +365,7 @@ static const struct hid_usage_id ntrig_grabbed_usages[] = { { HID_ANY_ID, HID_ANY_ID, HID_ANY_ID }, - { HID_ANY_ID - 1, HID_ANY_ID - 1, HID_ANY_ID - 1} + { HID_ANY_ID - 1, HID_ANY_ID - 1, HID_ANY_ID - 1 } }; static struct hid_driver ntrig_driver = { --- linux-2.6.32.orig/drivers/hid/hidraw.c +++ linux-2.6.32/drivers/hid/hidraw.c @@ -105,11 +105,15 @@ static ssize_t hidraw_write(struct file *file, const char __user *buffer, size_t count, loff_t *ppos) { unsigned int minor = iminor(file->f_path.dentry->d_inode); - /* FIXME: What stops hidraw_table going NULL */ - struct hid_device *dev = hidraw_table[minor]->hid; + struct hid_device *dev; __u8 *buf; int ret = 0; + if (!hidraw_table[minor]) + return -ENODEV; + + dev = hidraw_table[minor]->hid; + if (!dev->hid_output_raw_report) return -ENODEV; @@ -207,11 +211,14 @@ unsigned int minor = iminor(inode); struct hidraw *dev; struct hidraw_list *list = file->private_data; + int ret; + mutex_lock(&minors_lock); if (!hidraw_table[minor]) { printk(KERN_EMERG "hidraw device with minor %d doesn't exist\n", minor); - return -ENODEV; + ret = -ENODEV; + goto unlock; } list_del(&list->node); @@ -225,10 +232,12 @@ kfree(list->hidraw); } } - kfree(list); + ret = 0; +unlock: + mutex_unlock(&minors_lock); - return 0; + return ret; } static long hidraw_ioctl(struct file *file, unsigned int cmd, @@ -237,11 +246,16 @@ struct inode *inode = file->f_path.dentry->d_inode; unsigned int minor = iminor(inode); long ret = 0; - /* FIXME: What stops hidraw_table going NULL */ - struct hidraw *dev = hidraw_table[minor]; + struct hidraw *dev; void __user *user_arg = (void __user*) arg; lock_kernel(); + dev = hidraw_table[minor]; + if (!dev) { + ret = -ENODEV; + goto out; + } + switch (cmd) { case HIDIOCGRDESCSIZE: if (put_user(dev->hid->rsize, (int __user *)arg)) @@ -314,6 +328,7 @@ ret = -ENOTTY; } +out: unlock_kernel(); return ret; } --- linux-2.6.32.orig/drivers/hid/hid-3m-pct.c +++ linux-2.6.32/drivers/hid/hid-3m-pct.c @@ -0,0 +1,290 @@ +/* + * HID driver for 3M PCT multitouch panels + * + * Copyright (c) 2009 Stephane Chatty + * + */ + +/* + * 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 of the License, or (at your option) + * any later version. + */ + +#include +#include +#include +#include + +MODULE_AUTHOR("Stephane Chatty "); +MODULE_DESCRIPTION("3M PCT multitouch panels"); +MODULE_LICENSE("GPL"); + +#include "hid-ids.h" + +struct mmm_finger { + __s32 x, y; + __u8 rank; + bool touch, valid; +}; + +struct mmm_data { + struct mmm_finger f[10]; + __u8 curid, num; + bool touch, valid; +}; + +static int mmm_input_mapping(struct hid_device *hdev, struct hid_input *hi, + struct hid_field *field, struct hid_usage *usage, + unsigned long **bit, int *max) +{ + switch (usage->hid & HID_USAGE_PAGE) { + + case HID_UP_BUTTON: + return -1; + + case HID_UP_GENDESK: + switch (usage->hid) { + case HID_GD_X: + hid_map_usage(hi, usage, bit, max, + EV_ABS, ABS_MT_POSITION_X); + /* touchscreen emulation */ + input_set_abs_params(hi->input, ABS_X, + field->logical_minimum, + field->logical_maximum, 0, 0); + return 1; + case HID_GD_Y: + hid_map_usage(hi, usage, bit, max, + EV_ABS, ABS_MT_POSITION_Y); + /* touchscreen emulation */ + input_set_abs_params(hi->input, ABS_Y, + field->logical_minimum, + field->logical_maximum, 0, 0); + return 1; + } + return 0; + + case HID_UP_DIGITIZER: + switch (usage->hid) { + /* we do not want to map these: no input-oriented meaning */ + case 0x14: + case 0x23: + case HID_DG_INPUTMODE: + case HID_DG_DEVICEINDEX: + case HID_DG_CONTACTCOUNT: + case HID_DG_CONTACTMAX: + case HID_DG_INRANGE: + case HID_DG_CONFIDENCE: + return -1; + case HID_DG_TIPSWITCH: + /* touchscreen emulation */ + hid_map_usage(hi, usage, bit, max, EV_KEY, BTN_TOUCH); + return 1; + case HID_DG_CONTACTID: + hid_map_usage(hi, usage, bit, max, + EV_ABS, ABS_MT_TRACKING_ID); + return 1; + } + /* let hid-input decide for the others */ + return 0; + + case 0xff000000: + /* we do not want to map these: no input-oriented meaning */ + return -1; + } + + return 0; +} + +static int mmm_input_mapped(struct hid_device *hdev, struct hid_input *hi, + struct hid_field *field, struct hid_usage *usage, + unsigned long **bit, int *max) +{ + if (usage->type == EV_KEY || usage->type == EV_ABS) + clear_bit(usage->code, *bit); + + return 0; +} + +/* + * this function is called when a whole packet has been received and processed, + * so that it can decide what to send to the input layer. + */ +static void mmm_filter_event(struct mmm_data *md, struct input_dev *input) +{ + struct mmm_finger *oldest = 0; + bool pressed = false, released = false; + int i; + + /* + * we need to iterate on all fingers to decide if we have a press + * or a release event in our touchscreen emulation. + */ + for (i = 0; i < 10; ++i) { + struct mmm_finger *f = &md->f[i]; + if (!f->valid) { + /* this finger is just placeholder data, ignore */ + } else if (f->touch) { + /* this finger is on the screen */ + input_event(input, EV_ABS, ABS_MT_TRACKING_ID, i); + input_event(input, EV_ABS, ABS_MT_POSITION_X, f->x); + input_event(input, EV_ABS, ABS_MT_POSITION_Y, f->y); + input_mt_sync(input); + /* + * touchscreen emulation: maintain the age rank + * of this finger, decide if we have a press + */ + if (f->rank == 0) { + f->rank = ++(md->num); + if (f->rank == 1) + pressed = true; + } + if (f->rank == 1) + oldest = f; + } else { + /* this finger took off the screen */ + /* touchscreen emulation: maintain age rank of others */ + int j; + + for (j = 0; j < 10; ++j) { + struct mmm_finger *g = &md->f[j]; + if (g->rank > f->rank) { + g->rank--; + if (g->rank == 1) + oldest = g; + } + } + f->rank = 0; + --(md->num); + if (md->num == 0) + released = true; + } + f->valid = 0; + } + + /* touchscreen emulation */ + if (oldest) { + if (pressed) + input_event(input, EV_KEY, BTN_TOUCH, 1); + input_event(input, EV_ABS, ABS_X, oldest->x); + input_event(input, EV_ABS, ABS_Y, oldest->y); + } else if (released) { + input_event(input, EV_KEY, BTN_TOUCH, 0); + } +} + +/* + * this function is called upon all reports + * so that we can accumulate contact point information, + * and call input_mt_sync after each point. + */ +static int mmm_event(struct hid_device *hid, struct hid_field *field, + struct hid_usage *usage, __s32 value) +{ + struct mmm_data *md = hid_get_drvdata(hid); + /* + * strangely, this function can be called before + * field->hidinput is initialized! + */ + if (hid->claimed & HID_CLAIMED_INPUT) { + struct input_dev *input = field->hidinput->input; + switch (usage->hid) { + case HID_DG_TIPSWITCH: + md->touch = value; + break; + case HID_DG_CONFIDENCE: + md->valid = value; + break; + case HID_DG_CONTACTID: + if (md->valid) { + md->curid = value; + md->f[value].touch = md->touch; + md->f[value].valid = 1; + } + break; + case HID_GD_X: + if (md->valid) + md->f[md->curid].x = value; + break; + case HID_GD_Y: + if (md->valid) + md->f[md->curid].y = value; + break; + case HID_DG_CONTACTCOUNT: + mmm_filter_event(md, input); + break; + } + } + + /* we have handled the hidinput part, now remains hiddev */ + if (hid->claimed & HID_CLAIMED_HIDDEV && hid->hiddev_hid_event) + hid->hiddev_hid_event(hid, field, usage, value); + + return 1; +} + +static int mmm_probe(struct hid_device *hdev, const struct hid_device_id *id) +{ + int ret; + struct mmm_data *md; + + md = kzalloc(sizeof(struct mmm_data), GFP_KERNEL); + if (!md) { + dev_err(&hdev->dev, "cannot allocate 3M data\n"); + return -ENOMEM; + } + hid_set_drvdata(hdev, md); + + ret = hid_parse(hdev); + if (!ret) + ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT); + + if (ret) + kfree(md); + return ret; +} + +static void mmm_remove(struct hid_device *hdev) +{ + hid_hw_stop(hdev); + kfree(hid_get_drvdata(hdev)); + hid_set_drvdata(hdev, NULL); +} + +static const struct hid_device_id mmm_devices[] = { + { HID_USB_DEVICE(USB_VENDOR_ID_3M, USB_DEVICE_ID_3M1968) }, + { } +}; +MODULE_DEVICE_TABLE(hid, mmm_devices); + +static const struct hid_usage_id mmm_grabbed_usages[] = { + { HID_ANY_ID, HID_ANY_ID, HID_ANY_ID }, + { HID_ANY_ID - 1, HID_ANY_ID - 1, HID_ANY_ID - 1} +}; + +static struct hid_driver mmm_driver = { + .name = "3m-pct", + .id_table = mmm_devices, + .probe = mmm_probe, + .remove = mmm_remove, + .input_mapping = mmm_input_mapping, + .input_mapped = mmm_input_mapped, + .usage_table = mmm_grabbed_usages, + .event = mmm_event, +}; + +static int __init mmm_init(void) +{ + return hid_register_driver(&mmm_driver); +} + +static void __exit mmm_exit(void) +{ + hid_unregister_driver(&mmm_driver); +} + +module_init(mmm_init); +module_exit(mmm_exit); +MODULE_LICENSE("GPL"); + --- linux-2.6.32.orig/drivers/hid/hid-ortek.c +++ linux-2.6.32/drivers/hid/hid-ortek.c @@ -0,0 +1,56 @@ +/* + * HID driver for Ortek WKB-2000 (wireless keyboard + mouse trackpad). + * Fixes LogicalMaximum error in USB report description, see + * http://bugzilla.kernel.org/show_bug.cgi?id=14787 + * + * Copyright (c) 2010 Johnathon Harris + */ + +/* + * 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 of the License, or (at your option) + * any later version. + */ + +#include +#include +#include + +#include "hid-ids.h" + +static void ortek_report_fixup(struct hid_device *hdev, __u8 *rdesc, + unsigned int rsize) +{ + if (rsize >= 56 && rdesc[54] == 0x25 && rdesc[55] == 0x01) { + dev_info(&hdev->dev, "Fixing up Ortek WKB-2000 " + "report descriptor.\n"); + rdesc[55] = 0x92; + } +} + +static const struct hid_device_id ortek_devices[] = { + { HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) }, + { } +}; +MODULE_DEVICE_TABLE(hid, ortek_devices); + +static struct hid_driver ortek_driver = { + .name = "ortek", + .id_table = ortek_devices, + .report_fixup = ortek_report_fixup +}; + +static int __init ortek_init(void) +{ + return hid_register_driver(&ortek_driver); +} + +static void __exit ortek_exit(void) +{ + hid_unregister_driver(&ortek_driver); +} + +module_init(ortek_init); +module_exit(ortek_exit); +MODULE_LICENSE("GPL"); --- linux-2.6.32.orig/drivers/hid/hid-quanta.c +++ linux-2.6.32/drivers/hid/hid-quanta.c @@ -0,0 +1,260 @@ +/* + * HID driver for Quanta Optical Touch dual-touch panels + * + * Copyright (c) 2009-2010 Stephane Chatty + * + */ + +/* + * 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 of the License, or (at your option) + * any later version. + */ + +#include +#include +#include + +MODULE_AUTHOR("Stephane Chatty "); +MODULE_DESCRIPTION("Quanta dual-touch panel"); +MODULE_LICENSE("GPL"); + +#include "hid-ids.h" + +struct quanta_data { + __u16 x, y; + __u8 id; + bool valid; /* valid finger data, or just placeholder? */ + bool first; /* is this the first finger in this frame? */ + bool activity_now; /* at least one active finger in this frame? */ + bool activity; /* at least one active finger previously? */ +}; + +static int quanta_input_mapping(struct hid_device *hdev, struct hid_input *hi, + struct hid_field *field, struct hid_usage *usage, + unsigned long **bit, int *max) +{ + switch (usage->hid & HID_USAGE_PAGE) { + + case HID_UP_GENDESK: + switch (usage->hid) { + case HID_GD_X: + hid_map_usage(hi, usage, bit, max, + EV_ABS, ABS_MT_POSITION_X); + /* touchscreen emulation */ + input_set_abs_params(hi->input, ABS_X, + field->logical_minimum, + field->logical_maximum, 0, 0); + return 1; + case HID_GD_Y: + hid_map_usage(hi, usage, bit, max, + EV_ABS, ABS_MT_POSITION_Y); + /* touchscreen emulation */ + input_set_abs_params(hi->input, ABS_Y, + field->logical_minimum, + field->logical_maximum, 0, 0); + return 1; + } + return 0; + + case HID_UP_DIGITIZER: + switch (usage->hid) { + case HID_DG_CONFIDENCE: + case HID_DG_TIPSWITCH: + case HID_DG_INPUTMODE: + case HID_DG_DEVICEINDEX: + case HID_DG_CONTACTCOUNT: + case HID_DG_CONTACTMAX: + case HID_DG_TIPPRESSURE: + case HID_DG_WIDTH: + case HID_DG_HEIGHT: + return -1; + case HID_DG_INRANGE: + /* touchscreen emulation */ + hid_map_usage(hi, usage, bit, max, EV_KEY, BTN_TOUCH); + return 1; + case HID_DG_CONTACTID: + hid_map_usage(hi, usage, bit, max, + EV_ABS, ABS_MT_TRACKING_ID); + return 1; + } + return 0; + + case 0xff000000: + /* ignore vendor-specific features */ + return -1; + } + + return 0; +} + +static int quanta_input_mapped(struct hid_device *hdev, struct hid_input *hi, + struct hid_field *field, struct hid_usage *usage, + unsigned long **bit, int *max) +{ + if (usage->type == EV_KEY || usage->type == EV_ABS) + clear_bit(usage->code, *bit); + + return 0; +} + +/* + * this function is called when a whole finger has been parsed, + * so that it can decide what to send to the input layer. + */ +static void quanta_filter_event(struct quanta_data *td, struct input_dev *input) +{ + + td->first = !td->first; /* touchscreen emulation */ + + if (!td->valid) { + /* + * touchscreen emulation: if no finger in this frame is valid + * and there previously was finger activity, this is a release + */ + if (!td->first && !td->activity_now && td->activity) { + input_event(input, EV_KEY, BTN_TOUCH, 0); + td->activity = false; + } + return; + } + + input_event(input, EV_ABS, ABS_MT_TRACKING_ID, td->id); + input_event(input, EV_ABS, ABS_MT_POSITION_X, td->x); + input_event(input, EV_ABS, ABS_MT_POSITION_Y, td->y); + + input_mt_sync(input); + td->valid = false; + + /* touchscreen emulation: if first active finger in this frame... */ + if (!td->activity_now) { + /* if there was no previous activity, emit touch event */ + if (!td->activity) { + input_event(input, EV_KEY, BTN_TOUCH, 1); + td->activity = true; + } + td->activity_now = true; + /* and in any case this is our preferred finger */ + input_event(input, EV_ABS, ABS_X, td->x); + input_event(input, EV_ABS, ABS_Y, td->y); + } +} + + +static int quanta_event(struct hid_device *hid, struct hid_field *field, + struct hid_usage *usage, __s32 value) +{ + struct quanta_data *td = hid_get_drvdata(hid); + + if (hid->claimed & HID_CLAIMED_INPUT) { + struct input_dev *input = field->hidinput->input; + + switch (usage->hid) { + case HID_DG_INRANGE: + td->valid = !!value; + break; + case HID_GD_X: + td->x = value; + break; + case HID_GD_Y: + td->y = value; + quanta_filter_event(td, input); + break; + case HID_DG_CONTACTID: + td->id = value; + break; + case HID_DG_CONTACTCOUNT: + /* touch emulation: this is the last field in a frame */ + td->first = false; + td->activity_now = false; + break; + case HID_DG_CONFIDENCE: + case HID_DG_TIPSWITCH: + /* avoid interference from generic hidinput handling */ + break; + + default: + /* fallback to the generic hidinput handling */ + return 0; + } + } + + /* we have handled the hidinput part, now remains hiddev */ + if (hid->claimed & HID_CLAIMED_HIDDEV && hid->hiddev_hid_event) + hid->hiddev_hid_event(hid, field, usage, value); + + return 1; +} + +static int quanta_probe(struct hid_device *hdev, const struct hid_device_id *id) +{ + int ret; + struct quanta_data *td; + + td = kmalloc(sizeof(struct quanta_data), GFP_KERNEL); + if (!td) { + dev_err(&hdev->dev, "cannot allocate Quanta Touch data\n"); + return -ENOMEM; + } + td->valid = false; + td->activity = false; + td->activity_now = false; + td->first = false; + hid_set_drvdata(hdev, td); + + ret = hid_parse(hdev); + if (!ret) + ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT); + + if (ret) + kfree(td); + + return ret; +} + +static void quanta_remove(struct hid_device *hdev) +{ + hid_hw_stop(hdev); + kfree(hid_get_drvdata(hdev)); + hid_set_drvdata(hdev, NULL); +} + +static const struct hid_device_id quanta_devices[] = { + { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, + USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH) }, + { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, + USB_DEVICE_ID_PIXART_IMAGING_INC_OPTICAL_TOUCH_SCREEN) }, + { } +}; +MODULE_DEVICE_TABLE(hid, quanta_devices); + +static const struct hid_usage_id quanta_grabbed_usages[] = { + { HID_ANY_ID, HID_ANY_ID, HID_ANY_ID }, + { HID_ANY_ID - 1, HID_ANY_ID - 1, HID_ANY_ID - 1} +}; + +static struct hid_driver quanta_driver = { + .name = "quanta-touch", + .id_table = quanta_devices, + .probe = quanta_probe, + .remove = quanta_remove, + .input_mapping = quanta_input_mapping, + .input_mapped = quanta_input_mapped, + .usage_table = quanta_grabbed_usages, + .event = quanta_event, +}; + +static int __init quanta_init(void) +{ + return hid_register_driver(&quanta_driver); +} + +static void __exit quanta_exit(void) +{ + hid_unregister_driver(&quanta_driver); +} + +module_init(quanta_init); +module_exit(quanta_exit); + --- linux-2.6.32.orig/drivers/hid/hid-mosart.c +++ linux-2.6.32/drivers/hid/hid-mosart.c @@ -0,0 +1,273 @@ +/* + * HID driver for the multitouch panel on the ASUS EeePC T91MT + * + * Copyright (c) 2009-2010 Stephane Chatty + * Copyright (c) 2010 Teemu Tuominen + * + */ + +/* + * 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 of the License, or (at your option) + * any later version. + */ + +#include +#include +#include +#include +#include "usbhid/usbhid.h" + +MODULE_AUTHOR("Stephane Chatty "); +MODULE_DESCRIPTION("MosArt dual-touch panel"); +MODULE_LICENSE("GPL"); + +#include "hid-ids.h" + +struct mosart_data { + __u16 x, y; + __u8 id; + bool valid; /* valid finger data, or just placeholder? */ + bool first; /* is this the first finger in this frame? */ + bool activity_now; /* at least one active finger in this frame? */ + bool activity; /* at least one active finger previously? */ +}; + +static int mosart_input_mapping(struct hid_device *hdev, struct hid_input *hi, + struct hid_field *field, struct hid_usage *usage, + unsigned long **bit, int *max) +{ + switch (usage->hid & HID_USAGE_PAGE) { + + case HID_UP_GENDESK: + switch (usage->hid) { + case HID_GD_X: + hid_map_usage(hi, usage, bit, max, + EV_ABS, ABS_MT_POSITION_X); + /* touchscreen emulation */ + input_set_abs_params(hi->input, ABS_X, + field->logical_minimum, + field->logical_maximum, 0, 0); + return 1; + case HID_GD_Y: + hid_map_usage(hi, usage, bit, max, + EV_ABS, ABS_MT_POSITION_Y); + /* touchscreen emulation */ + input_set_abs_params(hi->input, ABS_Y, + field->logical_minimum, + field->logical_maximum, 0, 0); + return 1; + } + return 0; + + case HID_UP_DIGITIZER: + switch (usage->hid) { + case HID_DG_CONFIDENCE: + case HID_DG_TIPSWITCH: + case HID_DG_INPUTMODE: + case HID_DG_DEVICEINDEX: + case HID_DG_CONTACTCOUNT: + case HID_DG_CONTACTMAX: + case HID_DG_TIPPRESSURE: + case HID_DG_WIDTH: + case HID_DG_HEIGHT: + return -1; + case HID_DG_INRANGE: + /* touchscreen emulation */ + hid_map_usage(hi, usage, bit, max, EV_KEY, BTN_TOUCH); + return 1; + + case HID_DG_CONTACTID: + hid_map_usage(hi, usage, bit, max, + EV_ABS, ABS_MT_TRACKING_ID); + return 1; + + } + return 0; + + case 0xff000000: + /* ignore HID features */ + return -1; + } + + return 0; +} + +static int mosart_input_mapped(struct hid_device *hdev, struct hid_input *hi, + struct hid_field *field, struct hid_usage *usage, + unsigned long **bit, int *max) +{ + if (usage->type == EV_KEY || usage->type == EV_ABS) + clear_bit(usage->code, *bit); + + return 0; +} + +/* + * this function is called when a whole finger has been parsed, + * so that it can decide what to send to the input layer. + */ +static void mosart_filter_event(struct mosart_data *td, struct input_dev *input) +{ + td->first = !td->first; /* touchscreen emulation */ + + if (!td->valid) { + /* + * touchscreen emulation: if no finger in this frame is valid + * and there previously was finger activity, this is a release + */ + if (!td->first && !td->activity_now && td->activity) { + input_event(input, EV_KEY, BTN_TOUCH, 0); + td->activity = false; + } + return; + } + + input_event(input, EV_ABS, ABS_MT_TRACKING_ID, td->id); + input_event(input, EV_ABS, ABS_MT_POSITION_X, td->x); + input_event(input, EV_ABS, ABS_MT_POSITION_Y, td->y); + + input_mt_sync(input); + td->valid = false; + + /* touchscreen emulation: if first active finger in this frame... */ + if (!td->activity_now) { + /* if there was no previous activity, emit touch event */ + if (!td->activity) { + input_event(input, EV_KEY, BTN_TOUCH, 1); + td->activity = true; + } + td->activity_now = true; + /* and in any case this is our preferred finger */ + input_event(input, EV_ABS, ABS_X, td->x); + input_event(input, EV_ABS, ABS_Y, td->y); + } +} + + +static int mosart_event(struct hid_device *hid, struct hid_field *field, + struct hid_usage *usage, __s32 value) +{ + struct mosart_data *td = hid_get_drvdata(hid); + + if (hid->claimed & HID_CLAIMED_INPUT) { + struct input_dev *input = field->hidinput->input; + switch (usage->hid) { + case HID_DG_INRANGE: + td->valid = !!value; + break; + case HID_GD_X: + td->x = value; + break; + case HID_GD_Y: + td->y = value; + mosart_filter_event(td, input); + break; + case HID_DG_CONTACTID: + td->id = value; + break; + case HID_DG_CONTACTCOUNT: + /* touch emulation: this is the last field in a frame */ + td->first = false; + td->activity_now = false; + break; + case HID_DG_CONFIDENCE: + case HID_DG_TIPSWITCH: + /* avoid interference from generic hidinput handling */ + break; + + default: + /* fallback to the generic hidinput handling */ + return 0; + } + } + + /* we have handled the hidinput part, now remains hiddev */ + if (hid->claimed & HID_CLAIMED_HIDDEV && hid->hiddev_hid_event) + hid->hiddev_hid_event(hid, field, usage, value); + + return 1; +} + +static int mosart_probe(struct hid_device *hdev, const struct hid_device_id *id) +{ + int ret; + struct mosart_data *td; + + + td = kmalloc(sizeof(struct mosart_data), GFP_KERNEL); + if (!td) { + dev_err(&hdev->dev, "cannot allocate MosArt data\n"); + return -ENOMEM; + } + td->valid = false; + td->activity = false; + td->activity_now = false; + td->first = false; + hid_set_drvdata(hdev, td); + + /* currently, it's better to have one evdev device only */ +#if 0 + hdev->quirks |= HID_QUIRK_MULTI_INPUT; +#endif + + ret = hid_parse(hdev); + if (ret == 0) + ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT); + + if (ret == 0) { + struct hid_report_enum *re = hdev->report_enum + + HID_FEATURE_REPORT; + struct hid_report *r = re->report_id_hash[7]; + + r->field[0]->value[0] = 0x02; + usbhid_submit_report(hdev, r, USB_DIR_OUT); + } else + kfree(td); + + return ret; +} + +static void mosart_remove(struct hid_device *hdev) +{ + hid_hw_stop(hdev); + kfree(hid_get_drvdata(hdev)); + hid_set_drvdata(hdev, NULL); +} + +static const struct hid_device_id mosart_devices[] = { + { HID_USB_DEVICE(USB_VENDOR_ID_ASUS, USB_DEVICE_ID_ASUS_T91MT) }, + { } +}; +MODULE_DEVICE_TABLE(hid, mosart_devices); + +static const struct hid_usage_id mosart_grabbed_usages[] = { + { HID_ANY_ID, HID_ANY_ID, HID_ANY_ID }, + { HID_ANY_ID - 1, HID_ANY_ID - 1, HID_ANY_ID - 1} +}; + +static struct hid_driver mosart_driver = { + .name = "mosart", + .id_table = mosart_devices, + .probe = mosart_probe, + .remove = mosart_remove, + .input_mapping = mosart_input_mapping, + .input_mapped = mosart_input_mapped, + .usage_table = mosart_grabbed_usages, + .event = mosart_event, +}; + +static int __init mosart_init(void) +{ + return hid_register_driver(&mosart_driver); +} + +static void __exit mosart_exit(void) +{ + hid_unregister_driver(&mosart_driver); +} + +module_init(mosart_init); +module_exit(mosart_exit); + --- linux-2.6.32.orig/drivers/hid/hid-stantum.c +++ linux-2.6.32/drivers/hid/hid-stantum.c @@ -0,0 +1,283 @@ +/* + * HID driver for Stantum multitouch panels + * + * Copyright (c) 2009 Stephane Chatty + * + */ + +/* + * 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 of the License, or (at your option) + * any later version. + */ + +#include +#include +#include + +MODULE_AUTHOR("Stephane Chatty "); +MODULE_DESCRIPTION("Stantum HID multitouch panels"); +MODULE_LICENSE("GPL"); + +#include "hid-ids.h" + +struct stantum_data { + __s32 x, y, z, w, h; /* x, y, pressure, width, height */ + __u16 id; /* touch id */ + bool valid; /* valid finger data, or just placeholder? */ + bool first; /* first finger in the HID packet? */ + bool activity; /* at least one active finger so far? */ +}; + +static int stantum_input_mapping(struct hid_device *hdev, struct hid_input *hi, + struct hid_field *field, struct hid_usage *usage, + unsigned long **bit, int *max) +{ + switch (usage->hid & HID_USAGE_PAGE) { + + case HID_UP_GENDESK: + switch (usage->hid) { + case HID_GD_X: + hid_map_usage(hi, usage, bit, max, + EV_ABS, ABS_MT_POSITION_X); + /* touchscreen emulation */ + input_set_abs_params(hi->input, ABS_X, + field->logical_minimum, + field->logical_maximum, 0, 0); + return 1; + case HID_GD_Y: + hid_map_usage(hi, usage, bit, max, + EV_ABS, ABS_MT_POSITION_Y); + /* touchscreen emulation */ + input_set_abs_params(hi->input, ABS_Y, + field->logical_minimum, + field->logical_maximum, 0, 0); + return 1; + } + return 0; + + case HID_UP_DIGITIZER: + switch (usage->hid) { + case HID_DG_INRANGE: + case HID_DG_CONFIDENCE: + case HID_DG_INPUTMODE: + case HID_DG_DEVICEINDEX: + case HID_DG_CONTACTCOUNT: + case HID_DG_CONTACTMAX: + return -1; + + case HID_DG_TIPSWITCH: + /* touchscreen emulation */ + hid_map_usage(hi, usage, bit, max, EV_KEY, BTN_TOUCH); + return 1; + + case HID_DG_WIDTH: + hid_map_usage(hi, usage, bit, max, + EV_ABS, ABS_MT_TOUCH_MAJOR); + return 1; + case HID_DG_HEIGHT: + hid_map_usage(hi, usage, bit, max, + EV_ABS, ABS_MT_TOUCH_MINOR); + input_set_abs_params(hi->input, ABS_MT_ORIENTATION, + 1, 1, 0, 0); + return 1; + case HID_DG_TIPPRESSURE: + hid_map_usage(hi, usage, bit, max, + EV_ABS, ABS_MT_PRESSURE); + return 1; + + case HID_DG_CONTACTID: + hid_map_usage(hi, usage, bit, max, + EV_ABS, ABS_MT_TRACKING_ID); + return 1; + + } + return 0; + + case 0xff000000: + /* no input-oriented meaning */ + return -1; + } + + return 0; +} + +static int stantum_input_mapped(struct hid_device *hdev, struct hid_input *hi, + struct hid_field *field, struct hid_usage *usage, + unsigned long **bit, int *max) +{ + if (usage->type == EV_KEY || usage->type == EV_ABS) + clear_bit(usage->code, *bit); + + return 0; +} + +/* + * this function is called when a whole finger has been parsed, + * so that it can decide what to send to the input layer. + */ +static void stantum_filter_event(struct stantum_data *sd, + struct input_dev *input) +{ + bool wide; + + if (!sd->valid) { + /* + * touchscreen emulation: if the first finger is not valid and + * there previously was finger activity, this is a release + */ + if (sd->first && sd->activity) { + input_event(input, EV_KEY, BTN_TOUCH, 0); + sd->activity = false; + } + return; + } + + input_event(input, EV_ABS, ABS_MT_TRACKING_ID, sd->id); + input_event(input, EV_ABS, ABS_MT_POSITION_X, sd->x); + input_event(input, EV_ABS, ABS_MT_POSITION_Y, sd->y); + + wide = (sd->w > sd->h); + input_event(input, EV_ABS, ABS_MT_ORIENTATION, wide); + input_event(input, EV_ABS, ABS_MT_TOUCH_MAJOR, wide ? sd->w : sd->h); + input_event(input, EV_ABS, ABS_MT_TOUCH_MINOR, wide ? sd->h : sd->w); + + input_event(input, EV_ABS, ABS_MT_PRESSURE, sd->z); + + input_mt_sync(input); + sd->valid = false; + + /* touchscreen emulation */ + if (sd->first) { + if (!sd->activity) { + input_event(input, EV_KEY, BTN_TOUCH, 1); + sd->activity = true; + } + input_event(input, EV_ABS, ABS_X, sd->x); + input_event(input, EV_ABS, ABS_Y, sd->y); + } + sd->first = false; +} + + +static int stantum_event(struct hid_device *hid, struct hid_field *field, + struct hid_usage *usage, __s32 value) +{ + struct stantum_data *sd = hid_get_drvdata(hid); + + if (hid->claimed & HID_CLAIMED_INPUT) { + struct input_dev *input = field->hidinput->input; + + switch (usage->hid) { + case HID_DG_INRANGE: + /* this is the last field in a finger */ + stantum_filter_event(sd, input); + break; + case HID_DG_WIDTH: + sd->w = value; + break; + case HID_DG_HEIGHT: + sd->h = value; + break; + case HID_GD_X: + sd->x = value; + break; + case HID_GD_Y: + sd->y = value; + break; + case HID_DG_TIPPRESSURE: + sd->z = value; + break; + case HID_DG_CONTACTID: + sd->id = value; + break; + case HID_DG_CONFIDENCE: + sd->valid = !!value; + break; + case 0xff000002: + /* this comes only before the first finger */ + sd->first = true; + break; + + default: + /* ignore the others */ + return 1; + } + } + + /* we have handled the hidinput part, now remains hiddev */ + if (hid->claimed & HID_CLAIMED_HIDDEV && hid->hiddev_hid_event) + hid->hiddev_hid_event(hid, field, usage, value); + + return 1; +} + +static int stantum_probe(struct hid_device *hdev, + const struct hid_device_id *id) +{ + int ret; + struct stantum_data *sd; + + sd = kmalloc(sizeof(struct stantum_data), GFP_KERNEL); + if (!sd) { + dev_err(&hdev->dev, "cannot allocate Stantum data\n"); + return -ENOMEM; + } + sd->valid = false; + sd->first = false; + sd->activity = false; + hid_set_drvdata(hdev, sd); + + ret = hid_parse(hdev); + if (!ret) + ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT); + + if (ret) + kfree(sd); + + return ret; +} + +static void stantum_remove(struct hid_device *hdev) +{ + hid_hw_stop(hdev); + kfree(hid_get_drvdata(hdev)); + hid_set_drvdata(hdev, NULL); +} + +static const struct hid_device_id stantum_devices[] = { + { HID_USB_DEVICE(USB_VENDOR_ID_STANTUM, USB_DEVICE_ID_MTP) }, + { } +}; +MODULE_DEVICE_TABLE(hid, stantum_devices); + +static const struct hid_usage_id stantum_grabbed_usages[] = { + { HID_ANY_ID, HID_ANY_ID, HID_ANY_ID }, + { HID_ANY_ID - 1, HID_ANY_ID - 1, HID_ANY_ID - 1} +}; + +static struct hid_driver stantum_driver = { + .name = "stantum", + .id_table = stantum_devices, + .probe = stantum_probe, + .remove = stantum_remove, + .input_mapping = stantum_input_mapping, + .input_mapped = stantum_input_mapped, + .usage_table = stantum_grabbed_usages, + .event = stantum_event, +}; + +static int __init stantum_init(void) +{ + return hid_register_driver(&stantum_driver); +} + +static void __exit stantum_exit(void) +{ + hid_unregister_driver(&stantum_driver); +} + +module_init(stantum_init); +module_exit(stantum_exit); + --- linux-2.6.32.orig/drivers/hid/usbhid/hid-core.c +++ linux-2.6.32/drivers/hid/usbhid/hid-core.c @@ -318,6 +318,7 @@ err_hid("usb_submit_urb(out) failed"); return -1; } + usbhid->last_out = jiffies; } else { /* * queue work to wake up the device. @@ -379,6 +380,7 @@ err_hid("usb_submit_urb(ctrl) failed"); return -1; } + usbhid->last_ctrl = jiffies; } else { /* * queue work to wake up the device. @@ -514,9 +516,20 @@ usbhid->out[usbhid->outhead].report = report; usbhid->outhead = head; - if (!test_and_set_bit(HID_OUT_RUNNING, &usbhid->iofl)) + if (!test_and_set_bit(HID_OUT_RUNNING, &usbhid->iofl)) { if (hid_submit_out(hid)) clear_bit(HID_OUT_RUNNING, &usbhid->iofl); + } else { + /* + * the queue is known to run + * but an earlier request may be stuck + * we may need to time out + * no race because this is called under + * spinlock + */ + if (time_after(jiffies, usbhid->last_out + HZ * 5)) + usb_unlink_urb(usbhid->urbout); + } return; } @@ -537,9 +550,20 @@ usbhid->ctrl[usbhid->ctrlhead].dir = dir; usbhid->ctrlhead = head; - if (!test_and_set_bit(HID_CTRL_RUNNING, &usbhid->iofl)) + if (!test_and_set_bit(HID_CTRL_RUNNING, &usbhid->iofl)) { if (hid_submit_ctrl(hid)) clear_bit(HID_CTRL_RUNNING, &usbhid->iofl); + } else { + /* + * the queue is known to run + * but an earlier request may be stuck + * we may need to time out + * no race because this is called under + * spinlock + */ + if (time_after(jiffies, usbhid->last_ctrl + HZ * 5)) + usb_unlink_urb(usbhid->urbctrl); + } } void usbhid_submit_report(struct hid_device *hid, struct hid_report *report, unsigned char dir) @@ -976,16 +1000,6 @@ } } - init_waitqueue_head(&usbhid->wait); - INIT_WORK(&usbhid->reset_work, hid_reset); - INIT_WORK(&usbhid->restart_work, __usbhid_restart_queues); - setup_timer(&usbhid->io_retry, hid_retry_timeout, (unsigned long) hid); - - spin_lock_init(&usbhid->lock); - - usbhid->intf = intf; - usbhid->ifnum = interface->desc.bInterfaceNumber; - usbhid->urbctrl = usb_alloc_urb(0, GFP_KERNEL); if (!usbhid->urbctrl) { ret = -ENOMEM; @@ -998,7 +1012,8 @@ usbhid->urbctrl->transfer_dma = usbhid->ctrlbuf_dma; usbhid->urbctrl->transfer_flags |= (URB_NO_TRANSFER_DMA_MAP | URB_NO_SETUP_DMA_MAP); - usbhid_init_reports(hid); + if (!(hid->quirks & HID_QUIRK_NO_INIT_REPORTS)) + usbhid_init_reports(hid); set_bit(HID_STARTED, &usbhid->iofl); @@ -1155,6 +1170,14 @@ hid->driver_data = usbhid; usbhid->hid = hid; + usbhid->intf = intf; + usbhid->ifnum = interface->desc.bInterfaceNumber; + + init_waitqueue_head(&usbhid->wait); + INIT_WORK(&usbhid->reset_work, hid_reset); + INIT_WORK(&usbhid->restart_work, __usbhid_restart_queues); + setup_timer(&usbhid->io_retry, hid_retry_timeout, (unsigned long) hid); + spin_lock_init(&usbhid->lock); ret = hid_add_device(hid); if (ret) { --- linux-2.6.32.orig/drivers/hid/usbhid/hid-quirks.c +++ linux-2.6.32/drivers/hid/usbhid/hid-quirks.c @@ -37,6 +37,7 @@ { USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_FIGHTING, HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT }, { USB_VENDOR_ID_NATSU, USB_DEVICE_ID_NATSU_GAMEPAD, HID_QUIRK_BADPAD }, { USB_VENDOR_ID_NEC, USB_DEVICE_ID_NEC_USB_GAME_PAD, HID_QUIRK_BADPAD }, + { USB_VENDOR_ID_NEXTWINDOW, USB_DEVICE_ID_NEXTWINDOW_TOUCHSCREEN, HID_QUIRK_MULTI_INPUT}, { USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RUMBLEPAD, HID_QUIRK_BADPAD }, { USB_VENDOR_ID_TOPMAX, USB_DEVICE_ID_TOPMAX_COBRAPAD, HID_QUIRK_BADPAD }, @@ -64,6 +65,7 @@ { USB_VENDOR_ID_WISEGROUP_LTD, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, { USB_VENDOR_ID_WISEGROUP_LTD2, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, + { USB_VENDOR_ID_SIGMA_MICRO, USB_DEVICE_ID_SIGMA_MICRO_KEYBOARD, HID_QUIRK_NO_INIT_REPORTS }, { 0, 0 } }; @@ -280,7 +282,7 @@ if (idVendor == USB_VENDOR_ID_NCR && idProduct >= USB_DEVICE_ID_NCR_FIRST && idProduct <= USB_DEVICE_ID_NCR_LAST) - return HID_QUIRK_NOGET; + return HID_QUIRK_NO_INIT_REPORTS; down_read(&dquirks_rwsem); bl_entry = usbhid_exists_dquirk(idVendor, idProduct); --- linux-2.6.32.orig/drivers/hid/usbhid/usbhid.h +++ linux-2.6.32/drivers/hid/usbhid/usbhid.h @@ -80,12 +80,14 @@ unsigned char ctrlhead, ctrltail; /* Control fifo head & tail */ char *ctrlbuf; /* Control buffer */ dma_addr_t ctrlbuf_dma; /* Control buffer dma */ + unsigned long last_ctrl; /* record of last output for timeouts */ struct urb *urbout; /* Output URB */ struct hid_output_fifo out[HID_CONTROL_FIFO_SIZE]; /* Output pipe fifo */ unsigned char outhead, outtail; /* Output pipe fifo head & tail */ char *outbuf; /* Output buffer */ dma_addr_t outbuf_dma; /* Output buffer dma */ + unsigned long last_out; /* record of last output for timeouts */ spinlock_t lock; /* fifo spinlock */ unsigned long iofl; /* I/O flags (CTRL_RUNNING, OUT_RUNNING) */ --- linux-2.6.32.orig/drivers/hwmon/Kconfig +++ linux-2.6.32/drivers/hwmon/Kconfig @@ -374,7 +374,7 @@ config SENSORS_CORETEMP tristate "Intel Core/Core2/Atom temperature sensor" - depends on X86 && EXPERIMENTAL + depends on X86 && PCI && EXPERIMENTAL help If you say yes here you get support for the temperature sensor inside your CPU. Most of the family 6 CPUs --- linux-2.6.32.orig/drivers/hwmon/adm1026.c +++ linux-2.6.32/drivers/hwmon/adm1026.c @@ -919,27 +919,27 @@ int nr = sensor_attr->index; struct i2c_client *client = to_i2c_client(dev); struct adm1026_data *data = i2c_get_clientdata(client); - int val, orig_div, new_div, shift; + int val, orig_div, new_div; val = simple_strtol(buf, NULL, 10); new_div = DIV_TO_REG(val); - if (new_div == 0) { - return -EINVAL; - } + mutex_lock(&data->update_lock); orig_div = data->fan_div[nr]; data->fan_div[nr] = DIV_FROM_REG(new_div); if (nr < 4) { /* 0 <= nr < 4 */ - shift = 2 * nr; adm1026_write_value(client, ADM1026_REG_FAN_DIV_0_3, - ((DIV_TO_REG(orig_div) & (~(0x03 << shift))) | - (new_div << shift))); + (DIV_TO_REG(data->fan_div[0]) << 0) | + (DIV_TO_REG(data->fan_div[1]) << 2) | + (DIV_TO_REG(data->fan_div[2]) << 4) | + (DIV_TO_REG(data->fan_div[3]) << 6)); } else { /* 3 < nr < 8 */ - shift = 2 * (nr - 4); adm1026_write_value(client, ADM1026_REG_FAN_DIV_4_7, - ((DIV_TO_REG(orig_div) & (~(0x03 << (2 * shift)))) | - (new_div << shift))); + (DIV_TO_REG(data->fan_div[4]) << 0) | + (DIV_TO_REG(data->fan_div[5]) << 2) | + (DIV_TO_REG(data->fan_div[6]) << 4) | + (DIV_TO_REG(data->fan_div[7]) << 6)); } if (data->fan_div[nr] != orig_div) { --- linux-2.6.32.orig/drivers/hwmon/adt7462.c +++ linux-2.6.32/drivers/hwmon/adt7462.c @@ -97,7 +97,7 @@ #define ADT7462_PIN24_SHIFT 6 #define ADT7462_PIN26_VOLT_INPUT 0x08 #define ADT7462_PIN25_VOLT_INPUT 0x20 -#define ADT7462_PIN28_SHIFT 6 /* cfg3 */ +#define ADT7462_PIN28_SHIFT 4 /* cfg3 */ #define ADT7462_PIN28_VOLT 0x5 #define ADT7462_REG_ALARM1 0xB8 @@ -182,7 +182,7 @@ * * Some, but not all, of these voltages have low/high limits. */ -#define ADT7462_VOLT_COUNT 12 +#define ADT7462_VOLT_COUNT 13 #define ADT7462_VENDOR 0x41 #define ADT7462_DEVICE 0x62 --- linux-2.6.32.orig/drivers/hwmon/applesmc.c +++ linux-2.6.32/drivers/hwmon/applesmc.c @@ -142,6 +142,30 @@ "TM1S", "TM2P", "TM2S", "TM3S", "TM8P", "TM8S", "TM9P", "TM9S", "TN0C", "TN0D", "TN0H", "TS0C", "Tp0C", "Tp1C", "Tv0S", "Tv1S", NULL }, +/* Set 17: iMac 9,1 */ + { "TA0P", "TC0D", "TC0H", "TC0P", "TG0D", "TG0H", "TH0P", "TL0P", + "TN0D", "TN0H", "TN0P", "TO0P", "Tm0P", "Tp0P", NULL }, +/* Set 18: MacBook Pro 2,2 */ + { "TB0T", "TC0D", "TC0P", "TG0H", "TG0P", "TG0T", "TM0P", "TTF0", + "Th0H", "Th1H", "Tm0P", "Ts0P", NULL }, +/* Set 19: Macbook Pro 5,3 */ + { "TB0T", "TB1T", "TB2T", "TB3T", "TC0D", "TC0F", "TC0P", "TG0D", + "TG0F", "TG0H", "TG0P", "TG0T", "TN0D", "TN0P", "TTF0", "Th2H", + "Tm0P", "Ts0P", "Ts0S", NULL }, +/* Set 20: MacBook Pro 5,4 */ + { "TB0T", "TB1T", "TB2T", "TB3T", "TC0D", "TC0F", "TC0P", "TN0D", + "TN0P", "TTF0", "Th2H", "Ts0P", "Ts0S", NULL }, +/* Set 21: MacBook Pro 6,2 */ + { "TB0T", "TB1T", "TB2T", "TC0C", "TC0D", "TC0P", "TC1C", "TG0D", + "TG0P", "TG0T", "TMCD", "TP0P", "TPCD", "Th1H", "Th2H", "Tm0P", + "Ts0P", "Ts0S", NULL }, +/* Set 22: MacBook Pro 7,1 */ + { "TB0T", "TB1T", "TB2T", "TC0D", "TC0P", "TN0D", "TN0P", "TN0S", + "TN1D", "TN1F", "TN1G", "TN1S", "Th1H", "Ts0P", "Ts0S", NULL }, +/* Set 23: MacBook Air 3,1 */ + { "TB0T", "TB1T", "TB2T", "TC0D", "TC0E", "TC0P", "TC1E", "TCZ3", + "TCZ4", "TCZ5", "TG0E", "TG1E", "TG2E", "TGZ3", "TGZ4", "TGZ5", + "TH0F", "TH0O", "TM0P" }, }; /* List of keys used to read/write fan speeds */ @@ -1350,11 +1374,29 @@ { .accelerometer = 1, .light = 1, .temperature_set = 15 }, /* MacPro3,1: temperature set 16 */ { .accelerometer = 0, .light = 0, .temperature_set = 16 }, +/* iMac 9,1: light sensor only, temperature set 17 */ + { .accelerometer = 0, .light = 0, .temperature_set = 17 }, +/* MacBook Pro 2,2: accelerometer, backlight and temperature set 18 */ + { .accelerometer = 1, .light = 1, .temperature_set = 18 }, +/* MacBook Pro 5,3: accelerometer, backlight and temperature set 19 */ + { .accelerometer = 1, .light = 1, .temperature_set = 19 }, +/* MacBook Pro 5,4: accelerometer, backlight and temperature set 20 */ + { .accelerometer = 1, .light = 1, .temperature_set = 20 }, +/* MacBook Pro 6,2: accelerometer, backlight and temperature set 21 */ + { .accelerometer = 1, .light = 1, .temperature_set = 21 }, +/* MacBook Pro 7,1: accelerometer, backlight and temperature set 22 */ + { .accelerometer = 1, .light = 1, .temperature_set = 22 }, +/* MacBook Air 3,1: accelerometer, backlight and temperature set 23 */ + { .accelerometer = 0, .light = 0, .temperature_set = 23 }, }; /* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1". * So we need to put "Apple MacBook Pro" before "Apple MacBook". */ static __initdata struct dmi_system_id applesmc_whitelist[] = { + { applesmc_dmi_match, "Apple MacBook Air 3", { + DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), + DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir3") }, + &applesmc_dmi_data[23]}, { applesmc_dmi_match, "Apple MacBook Air 2", { DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir2") }, @@ -1363,6 +1405,22 @@ DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir") }, &applesmc_dmi_data[7]}, + { applesmc_dmi_match, "Apple MacBook Pro 7", { + DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), + DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro7") }, + &applesmc_dmi_data[22]}, + { applesmc_dmi_match, "Apple MacBook Pro 5,4", { + DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), + DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro5,4") }, + &applesmc_dmi_data[20]}, + { applesmc_dmi_match, "Apple MacBook Pro 5,3", { + DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), + DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro5,3") }, + &applesmc_dmi_data[19]}, + { applesmc_dmi_match, "Apple MacBook Pro 6", { + DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), + DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro6") }, + &applesmc_dmi_data[21]}, { applesmc_dmi_match, "Apple MacBook Pro 5", { DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro5") }, @@ -1375,6 +1433,10 @@ DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro3") }, &applesmc_dmi_data[9]}, + { applesmc_dmi_match, "Apple MacBook Pro 2,2", { + DMI_MATCH(DMI_BOARD_VENDOR, "Apple Computer, Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro2,2") }, + &applesmc_dmi_data[18]}, { applesmc_dmi_match, "Apple MacBook Pro", { DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), DMI_MATCH(DMI_PRODUCT_NAME,"MacBookPro") }, @@ -1415,6 +1477,10 @@ DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), DMI_MATCH(DMI_PRODUCT_NAME, "MacPro") }, &applesmc_dmi_data[4]}, + { applesmc_dmi_match, "Apple iMac 9,1", { + DMI_MATCH(DMI_BOARD_VENDOR, "Apple Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "iMac9,1") }, + &applesmc_dmi_data[17]}, { applesmc_dmi_match, "Apple iMac 8", { DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), DMI_MATCH(DMI_PRODUCT_NAME, "iMac8") }, --- linux-2.6.32.orig/drivers/hwmon/coretemp.c +++ linux-2.6.32/drivers/hwmon/coretemp.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include @@ -52,6 +53,7 @@ struct mutex update_lock; const char *name; u32 id; + u16 core_id; char valid; /* zero until following fields are valid */ unsigned long last_updated; /* in jiffies */ int temp; @@ -74,7 +76,7 @@ if (attr->index == SHOW_NAME) ret = sprintf(buf, "%s\n", data->name); else /* show label */ - ret = sprintf(buf, "Core %d\n", data->id); + ret = sprintf(buf, "Core %d\n", data->core_id); return ret; } @@ -161,6 +163,7 @@ int usemsr_ee = 1; int err; u32 eax, edx; + struct pci_dev *host_bridge; /* Early chips have no MSR for TjMax */ @@ -168,11 +171,21 @@ usemsr_ee = 0; } - /* Atoms seems to have TjMax at 90C */ + /* Atom CPUs */ if (c->x86_model == 0x1c) { usemsr_ee = 0; - tjmax = 90000; + + host_bridge = pci_get_bus_and_slot(0, PCI_DEVFN(0, 0)); + + if (host_bridge && host_bridge->vendor == PCI_VENDOR_ID_INTEL + && (host_bridge->device == 0xa000 /* NM10 based nettop */ + || host_bridge->device == 0xa010)) /* NM10 based netbook */ + tjmax = 100000; + else + tjmax = 90000; + + pci_dev_put(host_bridge); } if ((c->x86_model > 0xe) && (usemsr_ee)) { @@ -216,7 +229,7 @@ if (err) { dev_warn(dev, "Unable to access MSR 0xEE, for Tjmax, left" - " at default"); + " at default\n"); } else if (eax & 0x40000000) { tjmax = tjmax_ee; } @@ -243,6 +256,9 @@ } data->id = pdev->id; +#ifdef CONFIG_SMP + data->core_id = c->cpu_core_id; +#endif data->name = "coretemp"; mutex_init(&data->update_lock); @@ -340,6 +356,10 @@ struct list_head list; struct platform_device *pdev; unsigned int cpu; +#ifdef CONFIG_SMP + u16 phys_proc_id; + u16 cpu_core_id; +#endif }; static LIST_HEAD(pdev_list); @@ -350,6 +370,22 @@ int err; struct platform_device *pdev; struct pdev_entry *pdev_entry; +#ifdef CONFIG_SMP + struct cpuinfo_x86 *c = &cpu_data(cpu); +#endif + + mutex_lock(&pdev_list_mutex); + +#ifdef CONFIG_SMP + /* Skip second HT entry of each core */ + list_for_each_entry(pdev_entry, &pdev_list, list) { + if (c->phys_proc_id == pdev_entry->phys_proc_id && + c->cpu_core_id == pdev_entry->cpu_core_id) { + err = 0; /* Not an error */ + goto exit; + } + } +#endif pdev = platform_device_alloc(DRVNAME, cpu); if (!pdev) { @@ -373,7 +409,10 @@ pdev_entry->pdev = pdev; pdev_entry->cpu = cpu; - mutex_lock(&pdev_list_mutex); +#ifdef CONFIG_SMP + pdev_entry->phys_proc_id = c->phys_proc_id; + pdev_entry->cpu_core_id = c->cpu_core_id; +#endif list_add_tail(&pdev_entry->list, &pdev_list); mutex_unlock(&pdev_list_mutex); @@ -384,6 +423,7 @@ exit_device_put: platform_device_put(pdev); exit: + mutex_unlock(&pdev_list_mutex); return err; } --- linux-2.6.32.orig/drivers/hwmon/f71805f.c +++ linux-2.6.32/drivers/hwmon/f71805f.c @@ -281,11 +281,11 @@ static inline u8 temp_to_reg(long val) { - if (val < 0) - val = 0; - else if (val > 1000 * 0xff) - val = 0xff; - return ((val + 500) / 1000); + if (val <= 0) + return 0; + if (val >= 1000 * 0xff) + return 0xff; + return (val + 500) / 1000; } /* --- linux-2.6.32.orig/drivers/hwmon/f71882fg.c +++ linux-2.6.32/drivers/hwmon/f71882fg.c @@ -1957,7 +1957,6 @@ int i; struct f71882fg_data *data = platform_get_drvdata(pdev); - platform_set_drvdata(pdev, NULL); if (data->hwmon_dev) hwmon_device_unregister(data->hwmon_dev); @@ -1982,6 +1981,7 @@ for (i = 0; i < ARRAY_SIZE(f8000_fan_attr); i++) device_remove_file(&pdev->dev, &f8000_fan_attr[i].dev_attr); + platform_set_drvdata(pdev, NULL); kfree(data); return 0; --- linux-2.6.32.orig/drivers/hwmon/f75375s.c +++ linux-2.6.32/drivers/hwmon/f75375s.c @@ -79,7 +79,7 @@ #define F75375_REG_PWM2_DROP_DUTY 0x6C #define FAN_CTRL_LINEAR(nr) (4 + nr) -#define FAN_CTRL_MODE(nr) (5 + ((nr) * 2)) +#define FAN_CTRL_MODE(nr) (4 + ((nr) * 2)) /* * Data structures and manipulation thereof @@ -159,7 +159,7 @@ static inline void f75375_write16(struct i2c_client *client, u8 reg, u16 value) { - int err = i2c_smbus_write_byte_data(client, reg, (value << 8)); + int err = i2c_smbus_write_byte_data(client, reg, (value >> 8)); if (err) return; i2c_smbus_write_byte_data(client, reg + 1, (value & 0xFF)); @@ -298,7 +298,7 @@ return -EINVAL; fanmode = f75375_read8(client, F75375_REG_FAN_TIMER); - fanmode = ~(3 << FAN_CTRL_MODE(nr)); + fanmode &= ~(3 << FAN_CTRL_MODE(nr)); switch (val) { case 0: /* Full speed */ @@ -311,7 +311,7 @@ fanmode |= (3 << FAN_CTRL_MODE(nr)); break; case 2: /* AUTOMATIC*/ - fanmode |= (2 << FAN_CTRL_MODE(nr)); + fanmode |= (1 << FAN_CTRL_MODE(nr)); break; case 3: /* fan speed */ break; @@ -350,7 +350,7 @@ mutex_lock(&data->update_lock); conf = f75375_read8(client, F75375_REG_CONFIG1); - conf = ~(1 << FAN_CTRL_LINEAR(nr)); + conf &= ~(1 << FAN_CTRL_LINEAR(nr)); if (val == 0) conf |= (1 << FAN_CTRL_LINEAR(nr)) ; --- linux-2.6.32.orig/drivers/hwmon/fschmd.c +++ linux-2.6.32/drivers/hwmon/fschmd.c @@ -767,6 +767,7 @@ static int watchdog_open(struct inode *inode, struct file *filp) { struct fschmd_data *pos, *data = NULL; + int watchdog_is_open; /* We get called from drivers/char/misc.c with misc_mtx hold, and we call misc_register() from fschmd_probe() with watchdog_data_mutex @@ -781,10 +782,12 @@ } } /* Note we can never not have found data, so we don't check for this */ - kref_get(&data->kref); + watchdog_is_open = test_and_set_bit(0, &data->watchdog_is_open); + if (!watchdog_is_open) + kref_get(&data->kref); mutex_unlock(&watchdog_data_mutex); - if (test_and_set_bit(0, &data->watchdog_is_open)) + if (watchdog_is_open) return -EBUSY; /* Start the watchdog */ --- linux-2.6.32.orig/drivers/hwmon/hp_accel.c +++ linux-2.6.32/drivers/hwmon/hp_accel.c @@ -324,8 +324,8 @@ lis3lv02d_joystick_disable(); lis3lv02d_poweroff(&lis3_dev); - flush_work(&hpled_led.work); led_classdev_unregister(&hpled_led.led_classdev); + flush_work(&hpled_led.work); return lis3lv02d_remove_fs(&lis3_dev); } --- linux-2.6.32.orig/drivers/hwmon/ibmaem.c +++ linux-2.6.32/drivers/hwmon/ibmaem.c @@ -429,13 +429,15 @@ aem_send_message(ipmi); res = wait_for_completion_timeout(&ipmi->read_complete, IPMI_TIMEOUT); - if (!res) - return -ETIMEDOUT; + if (!res) { + res = -ETIMEDOUT; + goto out; + } if (ipmi->rx_result || ipmi->rx_msg_len != rs_size || memcmp(&rs_resp->id, &system_x_id, sizeof(system_x_id))) { - kfree(rs_resp); - return -ENOENT; + res = -ENOENT; + goto out; } switch (size) { @@ -460,8 +462,11 @@ break; } } + res = 0; - return 0; +out: + kfree(rs_resp); + return res; } /* Update AEM energy registers */ --- linux-2.6.32.orig/drivers/hwmon/it87.c +++ linux-2.6.32/drivers/hwmon/it87.c @@ -80,6 +80,13 @@ return inb(VAL); } +static inline void +superio_outb(int reg, int val) +{ + outb(reg, REG); + outb(val, VAL); +} + static int superio_inw(int reg) { int val; @@ -1036,6 +1043,21 @@ sio_data->vid_value = superio_inb(IT87_SIO_VID_REG); reg = superio_inb(IT87_SIO_PINX2_REG); + /* + * The IT8720F has no VIN7 pin, so VCCH should always be + * routed internally to VIN7 with an internal divider. + * Curiously, there still is a configuration bit to control + * this, which means it can be set incorrectly. And even + * more curiously, many boards out there are improperly + * configured, even though the IT8720F datasheet claims + * that the internal routing of VCCH to VIN7 is the default + * setting. So we force the internal routing in this case. + */ + if (sio_data->type == it8720 && !(reg & (1 << 1))) { + reg |= (1 << 1); + superio_outb(IT87_SIO_PINX2_REG, reg); + pr_notice("it87: Routing internal VCCH to in7\n"); + } if (reg & (1 << 0)) pr_info("it87: in3 is VCC (+5V)\n"); if (reg & (1 << 1)) --- linux-2.6.32.orig/drivers/hwmon/k8temp.c +++ linux-2.6.32/drivers/hwmon/k8temp.c @@ -120,7 +120,7 @@ int temp; struct k8temp_data *data = k8temp_update_device(dev); - if (data->swap_core_select) + if (data->swap_core_select && (data->sensorsp & SEL_CORE)) core = core ? 0 : 1; temp = TEMP_FROM_REG(data->temp[core][place]) + data->temp_offset; @@ -143,6 +143,37 @@ MODULE_DEVICE_TABLE(pci, k8temp_ids); +static int __devinit is_rev_g_desktop(u8 model) +{ + u32 brandidx; + + if (model < 0x69) + return 0; + + if (model == 0xc1 || model == 0x6c || model == 0x7c) + return 0; + + /* + * Differentiate between AM2 and ASB1. + * See "Constructing the processor Name String" in "Revision + * Guide for AMD NPT Family 0Fh Processors" (33610). + */ + brandidx = cpuid_ebx(0x80000001); + brandidx = (brandidx >> 9) & 0x1f; + + /* Single core */ + if ((model == 0x6f || model == 0x7f) && + (brandidx == 0x7 || brandidx == 0x9 || brandidx == 0xc)) + return 0; + + /* Dual core */ + if (model == 0x6b && + (brandidx == 0xb || brandidx == 0xc)) + return 0; + + return 1; +} + static int __devinit k8temp_probe(struct pci_dev *pdev, const struct pci_device_id *id) { @@ -179,12 +210,12 @@ "wrong - check erratum #141\n"); } - if ((model >= 0x69) && - !(model == 0xc1 || model == 0x6c || model == 0x7c)) { + if (is_rev_g_desktop(model)) { /* - * RevG desktop CPUs (i.e. no socket S1G1 parts) - * need additional offset, otherwise reported - * temperature is below ambient temperature + * RevG desktop CPUs (i.e. no socket S1G1 or + * ASB1 parts) need additional offset, + * otherwise reported temperature is below + * ambient temperature */ data->temp_offset = 21000; } --- linux-2.6.32.orig/drivers/hwmon/lis3lv02d.c +++ linux-2.6.32/drivers/hwmon/lis3lv02d.c @@ -127,12 +127,14 @@ /* * Common configuration - * BDU: LSB and MSB values are not updated until both have been read. - * So the value read will always be correct. + * BDU: (12 bits sensors only) LSB and MSB values are not updated until + * both have been read. So the value read will always be correct. */ - lis3->read(lis3, CTRL_REG2, ®); - reg |= CTRL2_BDU; - lis3->write(lis3, CTRL_REG2, reg); + if (lis3->whoami == LIS_DOUBLE_ID) { + lis3->read(lis3, CTRL_REG2, ®); + reg |= CTRL2_BDU; + lis3->write(lis3, CTRL_REG2, reg); + } } EXPORT_SYMBOL_GPL(lis3lv02d_poweron); @@ -361,7 +363,8 @@ } /* conversion btw sampling rate and the register values */ -static int lis3lv02dl_df_val[4] = {40, 160, 640, 2560}; +static int lis3_12_rates[4] = {40, 160, 640, 2560}; +static int lis3_8_rates[2] = {100, 400}; static ssize_t lis3lv02d_rate_show(struct device *dev, struct device_attribute *attr, char *buf) { @@ -369,8 +372,13 @@ int val; lis3_dev.read(&lis3_dev, CTRL_REG1, &ctrl); - val = (ctrl & (CTRL1_DF0 | CTRL1_DF1)) >> 4; - return sprintf(buf, "%d\n", lis3lv02dl_df_val[val]); + + if (lis3_dev.whoami == LIS_DOUBLE_ID) + val = lis3_12_rates[(ctrl & (CTRL1_DF0 | CTRL1_DF1)) >> 4]; + else + val = lis3_8_rates[(ctrl & CTRL1_DR) >> 7]; + + return sprintf(buf, "%d\n", val); } static DEVICE_ATTR(position, S_IRUGO, lis3lv02d_position_show, NULL); --- linux-2.6.32.orig/drivers/hwmon/lis3lv02d.h +++ linux-2.6.32/drivers/hwmon/lis3lv02d.h @@ -103,6 +103,7 @@ CTRL1_DF1 = 0x20, CTRL1_PD0 = 0x40, CTRL1_PD1 = 0x80, + CTRL1_DR = 0x80, /* Data rate on 8 bits */ }; enum lis3lv02d_ctrl2 { CTRL2_DAS = 0x01, --- linux-2.6.32.orig/drivers/hwmon/lm78.c +++ linux-2.6.32/drivers/hwmon/lm78.c @@ -870,17 +870,16 @@ static int __init lm78_isa_found(unsigned short address) { int val, save, found = 0; + int port; - /* We have to request the region in two parts because some - boards declare base+4 to base+7 as a PNP device */ - if (!request_region(address, 4, "lm78")) { - pr_debug("lm78: Failed to request low part of region\n"); - return 0; - } - if (!request_region(address + 4, 4, "lm78")) { - pr_debug("lm78: Failed to request high part of region\n"); - release_region(address, 4); - return 0; + /* Some boards declare base+0 to base+7 as a PNP device, some base+4 + * to base+7 and some base+5 to base+6. So we better request each port + * individually for the probing phase. */ + for (port = address; port < address + LM78_EXTENT; port++) { + if (!request_region(port, 1, "lm78")) { + pr_debug("lm78: Failed to request port 0x%x\n", port); + goto release; + } } #define REALLY_SLOW_IO @@ -944,8 +943,8 @@ val & 0x80 ? "LM79" : "LM78", (int)address); release: - release_region(address + 4, 4); - release_region(address, 4); + for (port--; port >= address; port--) + release_region(port, 1); return found; } --- linux-2.6.32.orig/drivers/hwmon/lm85.c +++ linux-2.6.32/drivers/hwmon/lm85.c @@ -1286,6 +1286,7 @@ switch (data->type) { case adm1027: case adt7463: + case adt7468: case emc6d100: case emc6d102: data->freq_map = adm1027_freq_map; --- linux-2.6.32.orig/drivers/hwmon/ltc4245.c +++ linux-2.6.32/drivers/hwmon/ltc4245.c @@ -45,9 +45,7 @@ LTC4245_VEEIN = 0x19, LTC4245_VEESENSE = 0x1a, LTC4245_VEEOUT = 0x1b, - LTC4245_GPIOADC1 = 0x1c, - LTC4245_GPIOADC2 = 0x1d, - LTC4245_GPIOADC3 = 0x1e, + LTC4245_GPIOADC = 0x1c, }; struct ltc4245_data { @@ -61,7 +59,7 @@ u8 cregs[0x08]; /* Voltage registers */ - u8 vregs[0x0f]; + u8 vregs[0x0d]; }; static struct ltc4245_data *ltc4245_update_device(struct device *dev) @@ -86,7 +84,7 @@ data->cregs[i] = val; } - /* Read voltage registers -- 0x10 to 0x1f */ + /* Read voltage registers -- 0x10 to 0x1c */ for (i = 0; i < ARRAY_SIZE(data->vregs); i++) { val = i2c_smbus_read_byte_data(client, i+0x10); if (unlikely(val < 0)) @@ -128,9 +126,7 @@ case LTC4245_VEEOUT: voltage = regval * -55; break; - case LTC4245_GPIOADC1: - case LTC4245_GPIOADC2: - case LTC4245_GPIOADC3: + case LTC4245_GPIOADC: voltage = regval * 10; break; default: @@ -297,9 +293,7 @@ LTC4245_ALARM(in8_min_alarm, (1 << 3), LTC4245_FAULT2); /* GPIO voltages */ -LTC4245_VOLTAGE(in9_input, LTC4245_GPIOADC1); -LTC4245_VOLTAGE(in10_input, LTC4245_GPIOADC2); -LTC4245_VOLTAGE(in11_input, LTC4245_GPIOADC3); +LTC4245_VOLTAGE(in9_input, LTC4245_GPIOADC); /* Power Consumption (virtual) */ LTC4245_POWER(power1_input, LTC4245_12VSENSE); @@ -342,8 +336,6 @@ &sensor_dev_attr_in8_min_alarm.dev_attr.attr, &sensor_dev_attr_in9_input.dev_attr.attr, - &sensor_dev_attr_in10_input.dev_attr.attr, - &sensor_dev_attr_in11_input.dev_attr.attr, &sensor_dev_attr_power1_input.dev_attr.attr, &sensor_dev_attr_power2_input.dev_attr.attr, --- linux-2.6.32.orig/drivers/hwmon/max1111.c +++ linux-2.6.32/drivers/hwmon/max1111.c @@ -39,6 +39,8 @@ struct spi_transfer xfer[2]; uint8_t *tx_buf; uint8_t *rx_buf; + struct mutex drvdata_lock; + /* protect msg, xfer and buffers from multiple access */ }; static int max1111_read(struct device *dev, int channel) @@ -47,6 +49,9 @@ uint8_t v1, v2; int err; + /* writing to drvdata struct is not thread safe, wait on mutex */ + mutex_lock(&data->drvdata_lock); + data->tx_buf[0] = (channel << MAX1111_CTRL_SEL_SH) | MAX1111_CTRL_PD0 | MAX1111_CTRL_PD1 | MAX1111_CTRL_SGL | MAX1111_CTRL_UNI | MAX1111_CTRL_STR; @@ -54,12 +59,15 @@ err = spi_sync(data->spi, &data->msg); if (err < 0) { dev_err(dev, "spi_sync failed with %d\n", err); + mutex_unlock(&data->drvdata_lock); return err; } v1 = data->rx_buf[0]; v2 = data->rx_buf[1]; + mutex_unlock(&data->drvdata_lock); + if ((v1 & 0xc0) || (v2 & 0x3f)) return -EINVAL; @@ -175,6 +183,8 @@ if (err) goto err_free_data; + mutex_init(&data->drvdata_lock); + data->spi = spi; spi_set_drvdata(spi, data); @@ -212,6 +222,7 @@ hwmon_device_unregister(data->hwmon_dev); sysfs_remove_group(&spi->dev.kobj, &max1111_attr_group); + mutex_destroy(&data->drvdata_lock); kfree(data->rx_buf); kfree(data->tx_buf); kfree(data); --- linux-2.6.32.orig/drivers/hwmon/pc87360.c +++ linux-2.6.32/drivers/hwmon/pc87360.c @@ -1610,11 +1610,8 @@ static int __init pc87360_device_add(unsigned short address) { - struct resource res = { - .name = "pc87360", - .flags = IORESOURCE_IO, - }; - int err, i; + struct resource res[3]; + int err, i, res_count; pdev = platform_device_alloc("pc87360", address); if (!pdev) { @@ -1623,22 +1620,28 @@ goto exit; } + memset(res, 0, 3 * sizeof(struct resource)); + res_count = 0; for (i = 0; i < 3; i++) { if (!extra_isa[i]) continue; - res.start = extra_isa[i]; - res.end = extra_isa[i] + PC87360_EXTENT - 1; + res[res_count].start = extra_isa[i]; + res[res_count].end = extra_isa[i] + PC87360_EXTENT - 1; + res[res_count].name = "pc87360", + res[res_count].flags = IORESOURCE_IO, - err = acpi_check_resource_conflict(&res); + err = acpi_check_resource_conflict(&res[res_count]); if (err) goto exit_device_put; - err = platform_device_add_resources(pdev, &res, 1); - if (err) { - printk(KERN_ERR "pc87360: Device resource[%d] " - "addition failed (%d)\n", i, err); - goto exit_device_put; - } + res_count++; + } + + err = platform_device_add_resources(pdev, res, res_count); + if (err) { + printk(KERN_ERR "pc87360: Device resources addition failed " + "(%d)\n", err); + goto exit_device_put; } err = platform_device_add(pdev); --- linux-2.6.32.orig/drivers/hwmon/sht15.c +++ linux-2.6.32/drivers/hwmon/sht15.c @@ -302,13 +302,13 @@ **/ static inline int sht15_calc_temp(struct sht15_data *data) { - int d1 = 0; + int d1 = temppoints[0].d1; int i; - for (i = 1; i < ARRAY_SIZE(temppoints) - 1; i++) + for (i = ARRAY_SIZE(temppoints) - 1; i > 0; i--) /* Find pointer to interpolate */ if (data->supply_uV > temppoints[i - 1].vdd) { - d1 = (data->supply_uV/1000 - temppoints[i - 1].vdd) + d1 = (data->supply_uV - temppoints[i - 1].vdd) * (temppoints[i].d1 - temppoints[i - 1].d1) / (temppoints[i].vdd - temppoints[i - 1].vdd) + temppoints[i - 1].d1; @@ -332,12 +332,12 @@ const int c1 = -4; const int c2 = 40500; /* x 10 ^ -6 */ - const int c3 = 2800; /* x10 ^ -9 */ + const int c3 = -28; /* x 10 ^ -7 */ RHlinear = c1*1000 + c2 * data->val_humid/1000 - + (data->val_humid * data->val_humid * c3)/1000000; - return (temp - 25000) * (10000 + 800 * data->val_humid) + + (data->val_humid * data->val_humid * c3) / 10000; + return (temp - 25000) * (10000 + 80 * data->val_humid) / 1000000 + RHlinear; } @@ -515,7 +515,7 @@ static int __devinit sht15_probe(struct platform_device *pdev) { - int ret = 0; + int ret; struct sht15_data *data = kzalloc(sizeof(*data), GFP_KERNEL); if (!data) { @@ -532,6 +532,7 @@ init_waitqueue_head(&data->wait_queue); if (pdev->dev.platform_data == NULL) { + ret = -EINVAL; dev_err(&pdev->dev, "no platform data supplied"); goto err_free_data; } @@ -541,7 +542,12 @@ /* If a regulator is available, query what the supply voltage actually is!*/ data->reg = regulator_get(data->dev, "vcc"); if (!IS_ERR(data->reg)) { - data->supply_uV = regulator_get_voltage(data->reg); + int voltage; + + voltage = regulator_get_voltage(data->reg); + if (voltage) + data->supply_uV = voltage; + regulator_enable(data->reg); /* setup a notifier block to update this if another device * causes the voltage to change */ --- linux-2.6.32.orig/drivers/hwmon/tmp421.c +++ linux-2.6.32/drivers/hwmon/tmp421.c @@ -62,9 +62,9 @@ #define TMP423_DEVICE_ID 0x23 static const struct i2c_device_id tmp421_id[] = { - { "tmp421", tmp421 }, - { "tmp422", tmp422 }, - { "tmp423", tmp423 }, + { "tmp421", 2 }, + { "tmp422", 3 }, + { "tmp423", 4 }, { } }; MODULE_DEVICE_TABLE(i2c, tmp421_id); @@ -74,21 +74,23 @@ struct mutex update_lock; char valid; unsigned long last_updated; - int kind; + int channels; u8 config; s16 temp[4]; }; static int temp_from_s16(s16 reg) { - int temp = reg; + /* Mask out status bits */ + int temp = reg & ~0xf; return (temp * 1000 + 128) / 256; } static int temp_from_u16(u16 reg) { - int temp = reg; + /* Mask out status bits */ + int temp = reg & ~0xf; /* Add offset for extended temperature range. */ temp -= 64 * 256; @@ -108,7 +110,7 @@ data->config = i2c_smbus_read_byte_data(client, TMP421_CONFIG_REG_1); - for (i = 0; i <= data->kind; i++) { + for (i = 0; i < data->channels; i++) { data->temp[i] = i2c_smbus_read_byte_data(client, TMP421_TEMP_MSB[i]) << 8; data->temp[i] |= i2c_smbus_read_byte_data(client, @@ -167,7 +169,7 @@ devattr = container_of(a, struct device_attribute, attr); index = to_sensor_dev_attr(devattr)->index; - if (data->kind > index) + if (index < data->channels) return a->mode; return 0; @@ -275,7 +277,7 @@ i2c_set_clientdata(client, data); mutex_init(&data->update_lock); - data->kind = id->driver_data; + data->channels = id->driver_data; err = tmp421_init_client(client); if (err) --- linux-2.6.32.orig/drivers/hwmon/via686a.c +++ linux-2.6.32/drivers/hwmon/via686a.c @@ -687,6 +687,13 @@ return 0; } +static void via686a_update_fan_div(struct via686a_data *data) +{ + int reg = via686a_read_value(data, VIA686A_REG_FANDIV); + data->fan_div[0] = (reg >> 4) & 0x03; + data->fan_div[1] = reg >> 6; +} + static void __devinit via686a_init_device(struct via686a_data *data) { u8 reg; @@ -700,6 +707,9 @@ via686a_write_value(data, VIA686A_REG_TEMP_MODE, (reg & ~VIA686A_TEMP_MODE_MASK) | VIA686A_TEMP_MODE_CONTINUOUS); + + /* Pre-read fan clock divisor values */ + via686a_update_fan_div(data); } static struct via686a_data *via686a_update_device(struct device *dev) @@ -751,9 +761,7 @@ (via686a_read_value(data, VIA686A_REG_TEMP_LOW23) & 0xc0) >> 6; - i = via686a_read_value(data, VIA686A_REG_FANDIV); - data->fan_div[0] = (i >> 4) & 0x03; - data->fan_div[1] = i >> 6; + via686a_update_fan_div(data); data->alarms = via686a_read_value(data, VIA686A_REG_ALARM1) | --- linux-2.6.32.orig/drivers/hwmon/w83627ehf.c +++ linux-2.6.32/drivers/hwmon/w83627ehf.c @@ -1239,7 +1239,8 @@ } /* Get the monitoring functions started */ -static inline void __devinit w83627ehf_init_device(struct w83627ehf_data *data) +static inline void __devinit w83627ehf_init_device(struct w83627ehf_data *data, + enum kinds kind) { int i; u8 tmp, diode; @@ -1268,10 +1269,16 @@ w83627ehf_write_value(data, W83627EHF_REG_VBAT, tmp | 0x01); /* Get thermal sensor types */ - diode = w83627ehf_read_value(data, W83627EHF_REG_DIODE); + switch (kind) { + case w83627ehf: + diode = w83627ehf_read_value(data, W83627EHF_REG_DIODE); + break; + default: + diode = 0x70; + } for (i = 0; i < 3; i++) { if ((tmp & (0x02 << i))) - data->temp_type[i] = (diode & (0x10 << i)) ? 1 : 2; + data->temp_type[i] = (diode & (0x10 << i)) ? 1 : 3; else data->temp_type[i] = 4; /* thermistor */ } @@ -1319,7 +1326,7 @@ } /* Initialize the chip */ - w83627ehf_init_device(data); + w83627ehf_init_device(data, sio_data->kind); data->vrm = vid_which_vrm(); superio_enter(sio_data->sioreg); --- linux-2.6.32.orig/drivers/hwmon/w83781d.c +++ linux-2.6.32/drivers/hwmon/w83781d.c @@ -1818,17 +1818,17 @@ w83781d_isa_found(unsigned short address) { int val, save, found = 0; + int port; - /* We have to request the region in two parts because some - boards declare base+4 to base+7 as a PNP device */ - if (!request_region(address, 4, "w83781d")) { - pr_debug("w83781d: Failed to request low part of region\n"); - return 0; - } - if (!request_region(address + 4, 4, "w83781d")) { - pr_debug("w83781d: Failed to request high part of region\n"); - release_region(address, 4); - return 0; + /* Some boards declare base+0 to base+7 as a PNP device, some base+4 + * to base+7 and some base+5 to base+6. So we better request each port + * individually for the probing phase. */ + for (port = address; port < address + W83781D_EXTENT; port++) { + if (!request_region(port, 1, "w83781d")) { + pr_debug("w83781d: Failed to request port 0x%x\n", + port); + goto release; + } } #define REALLY_SLOW_IO @@ -1902,8 +1902,8 @@ val == 0x30 ? "W83782D" : "W83781D", (int)address); release: - release_region(address + 4, 4); - release_region(address, 4); + for (port--; port >= address; port--) + release_region(port, 1); return found; } --- linux-2.6.32.orig/drivers/hwmon/ams/ams-core.c +++ linux-2.6.32/drivers/hwmon/ams/ams-core.c @@ -213,7 +213,7 @@ return -ENODEV; } -void ams_exit(void) +void ams_sensor_detach(void) { /* Remove input device */ ams_input_exit(); @@ -221,9 +221,6 @@ /* Remove attributes */ device_remove_file(&ams_info.of_dev->dev, &dev_attr_current); - /* Shut down implementation */ - ams_info.exit(); - /* Flush interrupt worker * * We do this after ams_info.exit(), because an interrupt might @@ -239,6 +236,12 @@ pmf_unregister_irq_client(&ams_freefall_client); } +static void __exit ams_exit(void) +{ + /* Shut down implementation */ + ams_info.exit(); +} + MODULE_AUTHOR("Stelian Pop, Michael Hanselmann"); MODULE_DESCRIPTION("Apple Motion Sensor driver"); MODULE_LICENSE("GPL"); --- linux-2.6.32.orig/drivers/hwmon/ams/ams-i2c.c +++ linux-2.6.32/drivers/hwmon/ams/ams-i2c.c @@ -238,6 +238,8 @@ static int ams_i2c_remove(struct i2c_client *client) { if (ams_info.has_device) { + ams_sensor_detach(); + /* Disable interrupts */ ams_i2c_set_irq(AMS_IRQ_ALL, 0); --- linux-2.6.32.orig/drivers/hwmon/ams/ams-pmu.c +++ linux-2.6.32/drivers/hwmon/ams/ams-pmu.c @@ -133,6 +133,8 @@ static void ams_pmu_exit(void) { + ams_sensor_detach(); + /* Disable interrupts */ ams_pmu_set_irq(AMS_IRQ_ALL, 0); --- linux-2.6.32.orig/drivers/hwmon/ams/ams.h +++ linux-2.6.32/drivers/hwmon/ams/ams.h @@ -61,6 +61,7 @@ extern void ams_sensors(s8 *x, s8 *y, s8 *z); extern int ams_sensor_attach(void); +extern void ams_sensor_detach(void); extern int ams_pmu_init(struct device_node *np); extern int ams_i2c_init(struct device_node *np); --- linux-2.6.32.orig/drivers/i2c/i2c-core.c +++ linux-2.6.32/drivers/i2c/i2c-core.c @@ -745,6 +745,14 @@ static int __unregister_client(struct device *dev, void *dummy) { struct i2c_client *client = i2c_verify_client(dev); + if (client && strcmp(client->name, "dummy")) + i2c_unregister_device(client); + return 0; +} + +static int __unregister_dummy(struct device *dev, void *dummy) +{ + struct i2c_client *client = i2c_verify_client(dev); if (client) i2c_unregister_device(client); return 0; @@ -793,14 +801,21 @@ } /* Detach any active clients. This can't fail, thus we do not - checking the returned value. */ + * check the returned value. This is a two-pass process, because + * we can't remove the dummy devices during the first pass: they + * could have been instantiated by real devices wishing to clean + * them up properly, so we give them a chance to do that first. */ res = device_for_each_child(&adap->dev, NULL, __unregister_client); + res = device_for_each_child(&adap->dev, NULL, __unregister_dummy); #ifdef CONFIG_I2C_COMPAT class_compat_remove_link(i2c_adapter_compat_class, &adap->dev, adap->dev.parent); #endif + /* device name is gone after device_unregister */ + dev_dbg(&adap->dev, "adapter [%s] unregistered\n", adap->name); + /* clean up the sysfs representation */ init_completion(&adap->dev_released); device_unregister(&adap->dev); @@ -813,8 +828,6 @@ idr_remove(&i2c_adapter_idr, adap->nr); mutex_unlock(&core_lock); - dev_dbg(&adap->dev, "adapter [%s] unregistered\n", adap->name); - /* Clear the device structure in case this adapter is ever going to be added again */ memset(&adap->dev, 0, sizeof(adap->dev)); @@ -1201,14 +1214,24 @@ /* Make sure there is something at this address, unless forced */ if (kind < 0) { - if (i2c_smbus_xfer(adapter, addr, 0, 0, 0, - I2C_SMBUS_QUICK, NULL) < 0) - return 0; - - /* prevent 24RF08 corruption */ - if ((addr & ~0x0f) == 0x50) - i2c_smbus_xfer(adapter, addr, 0, 0, 0, - I2C_SMBUS_QUICK, NULL); + if (addr == 0x73 && (adapter->class & I2C_CLASS_HWMON)) { + /* Special probe for FSC hwmon chips */ + union i2c_smbus_data dummy; + + if (i2c_smbus_xfer(adapter, addr, 0, I2C_SMBUS_READ, 0, + I2C_SMBUS_BYTE_DATA, &dummy) < 0) + return 0; + } else { + if (i2c_smbus_xfer(adapter, addr, 0, I2C_SMBUS_WRITE, 0, + I2C_SMBUS_QUICK, NULL) < 0) + return 0; + + /* Prevent 24RF08 corruption */ + if ((addr & ~0x0f) == 0x50) + i2c_smbus_xfer(adapter, addr, 0, + I2C_SMBUS_WRITE, 0, + I2C_SMBUS_QUICK, NULL); + } } /* Finally call the custom detection function */ --- linux-2.6.32.orig/drivers/i2c/algos/i2c-algo-bit.c +++ linux-2.6.32/drivers/i2c/algos/i2c-algo-bit.c @@ -471,7 +471,7 @@ if (flags & I2C_M_TEN) { /* a ten bit address */ - addr = 0xf0 | ((msg->addr >> 7) & 0x03); + addr = 0xf0 | ((msg->addr >> 7) & 0x06); bit_dbg(2, &i2c_adap->dev, "addr0: %d\n", addr); /* try extended address code...*/ ret = try_address(i2c_adap, addr, retries); @@ -481,7 +481,7 @@ return -EREMOTEIO; } /* the remaining 8 bit address */ - ret = i2c_outb(i2c_adap, msg->addr & 0x7f); + ret = i2c_outb(i2c_adap, msg->addr & 0xff); if ((ret != 1) && !nak_ok) { /* the chip did not ack / xmission error occurred */ dev_err(&i2c_adap->dev, "died at 2nd address code\n"); --- linux-2.6.32.orig/drivers/i2c/busses/Kconfig +++ linux-2.6.32/drivers/i2c/busses/Kconfig @@ -77,7 +77,7 @@ will be called i2c-amd8111. config I2C_I801 - tristate "Intel 82801 (ICH)" + tristate "Intel 82801 (ICH/PCH)" depends on PCI help If you say yes to this option, support will be included for the Intel @@ -97,7 +97,8 @@ ICH9 Tolapai ICH10 - PCH + 3400/5 Series (PCH) + Cougar Point (PCH) This driver can also be built as a module. If so, the module will be called i2c-i801. --- linux-2.6.32.orig/drivers/i2c/busses/i2c-ali1535.c +++ linux-2.6.32/drivers/i2c/busses/i2c-ali1535.c @@ -140,7 +140,7 @@ defined to make the transition easier. */ static int ali1535_setup(struct pci_dev *dev) { - int retval = -ENODEV; + int retval; unsigned char temp; /* Check the following things: @@ -155,6 +155,7 @@ if (ali1535_smba == 0) { dev_warn(&dev->dev, "ALI1535_smb region uninitialized - upgrade BIOS?\n"); + retval = -ENODEV; goto exit; } @@ -167,6 +168,7 @@ ali1535_driver.name)) { dev_err(&dev->dev, "ALI1535_smb region 0x%x already in use!\n", ali1535_smba); + retval = -EBUSY; goto exit; } @@ -174,6 +176,7 @@ pci_read_config_byte(dev, SMBCFG, &temp); if ((temp & ALI1535_SMBIO_EN) == 0) { dev_err(&dev->dev, "SMB device not enabled - upgrade BIOS?\n"); + retval = -ENODEV; goto exit_free; } @@ -181,6 +184,7 @@ pci_read_config_byte(dev, SMBHSTCFG, &temp); if ((temp & 1) == 0) { dev_err(&dev->dev, "SMBus controller not enabled - upgrade BIOS?\n"); + retval = -ENODEV; goto exit_free; } @@ -198,12 +202,11 @@ dev_dbg(&dev->dev, "SMBREV = 0x%X\n", temp); dev_dbg(&dev->dev, "ALI1535_smba = 0x%X\n", ali1535_smba); - retval = 0; -exit: - return retval; + return 0; exit_free: release_region(ali1535_smba, ALI1535_SMB_IOSIZE); +exit: return retval; } --- linux-2.6.32.orig/drivers/i2c/busses/i2c-i801.c +++ linux-2.6.32/drivers/i2c/busses/i2c-i801.c @@ -41,7 +41,8 @@ Tolapai 0x5032 32 hard yes yes yes ICH10 0x3a30 32 hard yes yes yes ICH10 0x3a60 32 hard yes yes yes - PCH 0x3b30 32 hard yes yes yes + 3400/5 Series (PCH) 0x3b30 32 hard yes yes yes + Cougar Point (PCH) 0x1c22 32 hard yes yes yes Features supported by this driver: Software PEC no @@ -415,9 +416,11 @@ data->block[0] = 32; /* max for SMBus block reads */ } + /* Experience has shown that the block buffer can only be used for + SMBus (not I2C) block transactions, even though the datasheet + doesn't mention this limitation. */ if ((i801_features & FEATURE_BLOCK_BUFFER) - && !(command == I2C_SMBUS_I2C_BLOCK_DATA - && read_write == I2C_SMBUS_READ) + && command != I2C_SMBUS_I2C_BLOCK_DATA && i801_set_block_buffer_mode() == 0) result = i801_block_transaction_by_block(data, read_write, hwpec); @@ -578,6 +581,7 @@ { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH10_4) }, { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH10_5) }, { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PCH_SMBUS) }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_CPT_SMBUS) }, { 0, } }; @@ -707,6 +711,7 @@ case PCI_DEVICE_ID_INTEL_ICH10_4: case PCI_DEVICE_ID_INTEL_ICH10_5: case PCI_DEVICE_ID_INTEL_PCH_SMBUS: + case PCI_DEVICE_ID_INTEL_CPT_SMBUS: i801_features |= FEATURE_I2C_BLOCK_READ; /* fall through */ case PCI_DEVICE_ID_INTEL_82801DB_3: --- linux-2.6.32.orig/drivers/i2c/busses/i2c-nforce2.c +++ linux-2.6.32/drivers/i2c/busses/i2c-nforce2.c @@ -355,7 +355,7 @@ error = acpi_check_region(smbus->base, smbus->size, nforce2_driver.name); if (error) - return -1; + return error; if (!request_region(smbus->base, smbus->size, nforce2_driver.name)) { dev_err(&smbus->adapter.dev, "Error requesting region %02x .. %02X for %s\n", --- linux-2.6.32.orig/drivers/i2c/busses/i2c-pca-isa.c +++ linux-2.6.32/drivers/i2c/busses/i2c-pca-isa.c @@ -71,21 +71,25 @@ static int pca_isa_waitforcompletion(void *pd) { - long ret = ~0; unsigned long timeout; + long ret; if (irq > -1) { - ret = wait_event_interruptible_timeout(pca_wait, + ret = wait_event_timeout(pca_wait, pca_isa_readbyte(pd, I2C_PCA_CON) & I2C_PCA_CON_SI, pca_isa_ops.timeout); } else { /* Do polling */ timeout = jiffies + pca_isa_ops.timeout; - while (((pca_isa_readbyte(pd, I2C_PCA_CON) - & I2C_PCA_CON_SI) == 0) - && (ret = time_before(jiffies, timeout))) + do { + ret = time_before(jiffies, timeout); + if (pca_isa_readbyte(pd, I2C_PCA_CON) + & I2C_PCA_CON_SI) + break; udelay(100); + } while (ret); } + return ret > 0; } @@ -96,7 +100,7 @@ } static irqreturn_t pca_handler(int this_irq, void *dev_id) { - wake_up_interruptible(&pca_wait); + wake_up(&pca_wait); return IRQ_HANDLED; } --- linux-2.6.32.orig/drivers/i2c/busses/i2c-pca-platform.c +++ linux-2.6.32/drivers/i2c/busses/i2c-pca-platform.c @@ -80,20 +80,23 @@ static int i2c_pca_pf_waitforcompletion(void *pd) { struct i2c_pca_pf_data *i2c = pd; - long ret = ~0; unsigned long timeout; + long ret; if (i2c->irq) { - ret = wait_event_interruptible_timeout(i2c->wait, + ret = wait_event_timeout(i2c->wait, i2c->algo_data.read_byte(i2c, I2C_PCA_CON) & I2C_PCA_CON_SI, i2c->adap.timeout); } else { /* Do polling */ timeout = jiffies + i2c->adap.timeout; - while (((i2c->algo_data.read_byte(i2c, I2C_PCA_CON) - & I2C_PCA_CON_SI) == 0) - && (ret = time_before(jiffies, timeout))) + do { + ret = time_before(jiffies, timeout); + if (i2c->algo_data.read_byte(i2c, I2C_PCA_CON) + & I2C_PCA_CON_SI) + break; udelay(100); + } while (ret); } return ret > 0; @@ -122,7 +125,7 @@ if ((i2c->algo_data.read_byte(i2c, I2C_PCA_CON) & I2C_PCA_CON_SI) == 0) return IRQ_NONE; - wake_up_interruptible(&i2c->wait); + wake_up(&i2c->wait); return IRQ_HANDLED; } @@ -221,7 +224,7 @@ if (irq) { ret = request_irq(irq, i2c_pca_pf_handler, - IRQF_TRIGGER_FALLING, i2c->adap.name, i2c); + IRQF_TRIGGER_FALLING, pdev->name, i2c); if (ret) goto e_reqirq; } --- linux-2.6.32.orig/drivers/i2c/busses/i2c-sis5595.c +++ linux-2.6.32/drivers/i2c/busses/i2c-sis5595.c @@ -147,7 +147,7 @@ u16 a; u8 val; int *i; - int retval = -ENODEV; + int retval; /* Look for imposters */ for (i = blacklist; *i != 0; i++) { @@ -223,7 +223,7 @@ error: release_region(sis5595_base + SMB_INDEX, 2); - return retval; + return -ENODEV; } static int sis5595_transaction(struct i2c_adapter *adap) --- linux-2.6.32.orig/drivers/i2c/busses/i2c-sis630.c +++ linux-2.6.32/drivers/i2c/busses/i2c-sis630.c @@ -393,7 +393,7 @@ { unsigned char b; struct pci_dev *dummy = NULL; - int retval = -ENODEV, i; + int retval, i; /* check for supported SiS devices */ for (i=0; supported[i] > 0 ; i++) { @@ -418,18 +418,21 @@ */ if (pci_read_config_byte(sis630_dev, SIS630_BIOS_CTL_REG,&b)) { dev_err(&sis630_dev->dev, "Error: Can't read bios ctl reg\n"); + retval = -ENODEV; goto exit; } /* if ACPI already enabled , do nothing */ if (!(b & 0x80) && pci_write_config_byte(sis630_dev, SIS630_BIOS_CTL_REG, b | 0x80)) { dev_err(&sis630_dev->dev, "Error: Can't enable ACPI\n"); + retval = -ENODEV; goto exit; } /* Determine the ACPI base address */ if (pci_read_config_word(sis630_dev,SIS630_ACPI_BASE_REG,&acpi_base)) { dev_err(&sis630_dev->dev, "Error: Can't determine ACPI base address\n"); + retval = -ENODEV; goto exit; } @@ -445,6 +448,7 @@ sis630_driver.name)) { dev_err(&sis630_dev->dev, "SMBus registers 0x%04x-0x%04x already " "in use!\n", acpi_base + SMB_STS, acpi_base + SMB_SAA); + retval = -EBUSY; goto exit; } --- linux-2.6.32.orig/drivers/i2c/busses/i2c-taos-evm.c +++ linux-2.6.32/drivers/i2c/busses/i2c-taos-evm.c @@ -234,7 +234,7 @@ if (taos->state != TAOS_STATE_IDLE) { err = -ENODEV; - dev_dbg(&serio->dev, "TAOS EVM reset failed (state=%d, " + dev_err(&serio->dev, "TAOS EVM reset failed (state=%d, " "pos=%d)\n", taos->state, taos->pos); goto exit_close; } @@ -255,7 +255,7 @@ msecs_to_jiffies(250)); if (taos->state != TAOS_STATE_IDLE) { err = -ENODEV; - dev_err(&adapter->dev, "Echo off failed " + dev_err(&serio->dev, "TAOS EVM echo off failed " "(state=%d)\n", taos->state); goto exit_close; } @@ -263,7 +263,7 @@ err = i2c_add_adapter(adapter); if (err) goto exit_close; - dev_dbg(&serio->dev, "Connected to TAOS EVM\n"); + dev_info(&serio->dev, "Connected to TAOS EVM\n"); taos->client = taos_instantiate_device(adapter); return 0; @@ -288,7 +288,7 @@ serio_set_drvdata(serio, NULL); kfree(taos); - dev_dbg(&serio->dev, "Disconnected from TAOS EVM\n"); + dev_info(&serio->dev, "Disconnected from TAOS EVM\n"); } static struct serio_device_id taos_serio_ids[] = { --- linux-2.6.32.orig/drivers/i2c/busses/i2c-tiny-usb.c +++ linux-2.6.32/drivers/i2c/busses/i2c-tiny-usb.c @@ -13,6 +13,7 @@ #include #include #include +#include /* include interfaces to usb layer */ #include @@ -31,8 +32,8 @@ #define CMD_I2C_IO_END (1<<1) /* i2c bit delay, default is 10us -> 100kHz */ -static int delay = 10; -module_param(delay, int, 0); +static unsigned short delay = 10; +module_param(delay, ushort, 0); MODULE_PARM_DESC(delay, "bit delay in microseconds, " "e.g. 10 for 100kHz (default is 100kHz)"); @@ -109,7 +110,7 @@ static u32 usb_func(struct i2c_adapter *adapter) { - u32 func; + __le32 func; /* get functionality from adapter */ if (usb_read(adapter, CMD_GET_FUNC, 0, 0, &func, sizeof(func)) != @@ -118,7 +119,7 @@ return 0; } - return func; + return le32_to_cpu(func); } /* This is the actual algorithm we define */ @@ -216,8 +217,7 @@ "i2c-tiny-usb at bus %03d device %03d", dev->usb_dev->bus->busnum, dev->usb_dev->devnum); - if (usb_write(&dev->adapter, CMD_SET_DELAY, - cpu_to_le16(delay), 0, NULL, 0) != 0) { + if (usb_write(&dev->adapter, CMD_SET_DELAY, delay, 0, NULL, 0) != 0) { dev_err(&dev->adapter.dev, "failure setting delay to %dus\n", delay); retval = -EIO; --- linux-2.6.32.orig/drivers/i2c/busses/i2c-viapro.c +++ linux-2.6.32/drivers/i2c/busses/i2c-viapro.c @@ -330,7 +330,7 @@ const struct pci_device_id *id) { unsigned char temp; - int error = -ENODEV; + int error; /* Determine the address of the SMBus areas */ if (force_addr) { @@ -396,6 +396,7 @@ dev_err(&pdev->dev, "SMBUS: Error: Host SMBus " "controller not enabled! - upgrade BIOS or " "use force=1\n"); + error = -ENODEV; goto release_region; } } @@ -428,9 +429,11 @@ "SMBus Via Pro adapter at %04x", vt596_smba); vt596_pdev = pci_dev_get(pdev); - if (i2c_add_adapter(&vt596_adapter)) { + error = i2c_add_adapter(&vt596_adapter); + if (error) { pci_dev_put(vt596_pdev); vt596_pdev = NULL; + goto release_region; } /* Always return failure here. This is to allow other drivers to bind --- linux-2.6.32.orig/drivers/ide/cmd640.c +++ linux-2.6.32/drivers/ide/cmd640.c @@ -632,12 +632,10 @@ static int cmd640_test_irq(ide_hwif_t *hwif) { - struct pci_dev *dev = to_pci_dev(hwif->dev); int irq_reg = hwif->channel ? ARTTIM23 : CFR; - u8 irq_stat, irq_mask = hwif->channel ? ARTTIM23_IDE23INTR : + u8 irq_mask = hwif->channel ? ARTTIM23_IDE23INTR : CFR_IDE01INTR; - - pci_read_config_byte(dev, irq_reg, &irq_stat); + u8 irq_stat = get_cmd640_reg(irq_reg); return (irq_stat & irq_mask) ? 1 : 0; } --- linux-2.6.32.orig/drivers/ide/ide-cd.c +++ linux-2.6.32/drivers/ide/ide-cd.c @@ -506,15 +506,22 @@ return (flags & REQ_FAILED) ? -EIO : 0; } -static void ide_cd_error_cmd(ide_drive_t *drive, struct ide_cmd *cmd) +/* + * returns true if rq has been completed + */ +static bool ide_cd_error_cmd(ide_drive_t *drive, struct ide_cmd *cmd) { unsigned int nr_bytes = cmd->nbytes - cmd->nleft; if (cmd->tf_flags & IDE_TFLAG_WRITE) nr_bytes -= cmd->last_xfer_len; - if (nr_bytes > 0) + if (nr_bytes > 0) { ide_complete_rq(drive, 0, nr_bytes); + return true; + } + + return false; } static ide_startstop_t cdrom_newpc_intr(ide_drive_t *drive) @@ -679,7 +686,8 @@ } if (uptodate == 0 && rq->bio) - ide_cd_error_cmd(drive, cmd); + if (ide_cd_error_cmd(drive, cmd)) + return ide_stopped; /* make sure it's fully ended */ if (blk_fs_request(rq) == 0) { --- linux-2.6.32.orig/drivers/ide/ide-floppy_ioctl.c +++ linux-2.6.32/drivers/ide/ide-floppy_ioctl.c @@ -287,8 +287,7 @@ * and CDROM_SEND_PACKET (legacy) ioctls */ if (cmd != CDROM_SEND_PACKET && cmd != SCSI_IOCTL_SEND_COMMAND) - err = scsi_cmd_ioctl(bdev->bd_disk->queue, bdev->bd_disk, - mode, cmd, argp); + err = scsi_cmd_blk_ioctl(bdev, mode, cmd, argp); if (err == -ENOTTY) err = generic_ide_ioctl(drive, bdev, cmd, arg); --- linux-2.6.32.orig/drivers/ide/ide-taskfile.c +++ linux-2.6.32/drivers/ide/ide-taskfile.c @@ -428,13 +428,11 @@ { struct request *rq; int error; + int rw = !(cmd->tf_flags & IDE_TFLAG_WRITE) ? READ : WRITE; - rq = blk_get_request(drive->queue, READ, __GFP_WAIT); + rq = blk_get_request(drive->queue, rw, __GFP_WAIT); rq->cmd_type = REQ_TYPE_ATA_TASKFILE; - if (cmd->tf_flags & IDE_TFLAG_WRITE) - rq->cmd_flags |= REQ_RW; - /* * (ks) We transfer currently only whole sectors. * This is suffient for now. But, it would be great, --- linux-2.6.32.orig/drivers/ide/slc90e66.c +++ linux-2.6.32/drivers/ide/slc90e66.c @@ -91,8 +91,7 @@ if (!(reg48 & u_flag)) pci_write_config_word(dev, 0x48, reg48|u_flag); - /* FIXME: (reg4a & a_speed) ? */ - if ((reg4a & u_speed) != u_speed) { + if ((reg4a & a_speed) != u_speed) { pci_write_config_word(dev, 0x4a, reg4a & ~a_speed); pci_read_config_word(dev, 0x4a, ®4a); pci_write_config_word(dev, 0x4a, reg4a|u_speed); --- linux-2.6.32.orig/drivers/infiniband/core/cm.c +++ linux-2.6.32/drivers/infiniband/core/cm.c @@ -2986,6 +2986,7 @@ goto out; /* No match. */ } atomic_inc(&cur_cm_id_priv->refcount); + atomic_inc(&cm_id_priv->refcount); spin_unlock_irq(&cm.lock); cm_id_priv->id.cm_handler = cur_cm_id_priv->id.cm_handler; --- linux-2.6.32.orig/drivers/infiniband/core/cma.c +++ linux-2.6.32/drivers/infiniband/core/cma.c @@ -1138,6 +1138,11 @@ cm_id->context = conn_id; cm_id->cm_handler = cma_ib_handler; + /* + * Protect against the user destroying conn_id from another thread + * until we're done accessing it. + */ + atomic_inc(&conn_id->refcount); ret = conn_id->id.event_handler(&conn_id->id, &event); if (!ret) { /* @@ -1150,8 +1155,10 @@ ib_send_cm_mra(cm_id, CMA_CM_MRA_SETTING, NULL, 0); mutex_unlock(&lock); mutex_unlock(&conn_id->handler_mutex); + cma_deref_id(conn_id); goto out; } + cma_deref_id(conn_id); /* Destroy the CM ID by returning a non-zero value. */ conn_id->cm_id.ib = NULL; @@ -1353,17 +1360,25 @@ event.param.conn.private_data_len = iw_event->private_data_len; event.param.conn.initiator_depth = attr.max_qp_init_rd_atom; event.param.conn.responder_resources = attr.max_qp_rd_atom; + + /* + * Protect against the user destroying conn_id from another thread + * until we're done accessing it. + */ + atomic_inc(&conn_id->refcount); ret = conn_id->id.event_handler(&conn_id->id, &event); if (ret) { /* User wants to destroy the CM ID */ conn_id->cm_id.iw = NULL; cma_exch(conn_id, CMA_DESTROYING); mutex_unlock(&conn_id->handler_mutex); + cma_deref_id(conn_id); rdma_destroy_id(&conn_id->id); goto out; } mutex_unlock(&conn_id->handler_mutex); + cma_deref_id(conn_id); out: if (dev) --- linux-2.6.32.orig/drivers/infiniband/core/uverbs_cmd.c +++ linux-2.6.32/drivers/infiniband/core/uverbs_cmd.c @@ -875,68 +875,81 @@ return ret ? ret : in_len; } +static int copy_wc_to_user(void __user *dest, struct ib_wc *wc) +{ + struct ib_uverbs_wc tmp; + + tmp.wr_id = wc->wr_id; + tmp.status = wc->status; + tmp.opcode = wc->opcode; + tmp.vendor_err = wc->vendor_err; + tmp.byte_len = wc->byte_len; + tmp.ex.imm_data = (__u32 __force) wc->ex.imm_data; + tmp.qp_num = wc->qp->qp_num; + tmp.src_qp = wc->src_qp; + tmp.wc_flags = wc->wc_flags; + tmp.pkey_index = wc->pkey_index; + tmp.slid = wc->slid; + tmp.sl = wc->sl; + tmp.dlid_path_bits = wc->dlid_path_bits; + tmp.port_num = wc->port_num; + tmp.reserved = 0; + + if (copy_to_user(dest, &tmp, sizeof tmp)) + return -EFAULT; + + return 0; +} + ssize_t ib_uverbs_poll_cq(struct ib_uverbs_file *file, const char __user *buf, int in_len, int out_len) { struct ib_uverbs_poll_cq cmd; - struct ib_uverbs_poll_cq_resp *resp; + struct ib_uverbs_poll_cq_resp resp; + u8 __user *header_ptr; + u8 __user *data_ptr; struct ib_cq *cq; - struct ib_wc *wc; - int ret = 0; - int i; - int rsize; + struct ib_wc wc; + int ret; if (copy_from_user(&cmd, buf, sizeof cmd)) return -EFAULT; - wc = kmalloc(cmd.ne * sizeof *wc, GFP_KERNEL); - if (!wc) - return -ENOMEM; - - rsize = sizeof *resp + cmd.ne * sizeof(struct ib_uverbs_wc); - resp = kmalloc(rsize, GFP_KERNEL); - if (!resp) { - ret = -ENOMEM; - goto out_wc; - } - cq = idr_read_cq(cmd.cq_handle, file->ucontext, 0); - if (!cq) { - ret = -EINVAL; - goto out; - } + if (!cq) + return -EINVAL; - resp->count = ib_poll_cq(cq, cmd.ne, wc); + /* we copy a struct ib_uverbs_poll_cq_resp to user space */ + header_ptr = (void __user *)(unsigned long) cmd.response; + data_ptr = header_ptr + sizeof resp; - put_cq_read(cq); + memset(&resp, 0, sizeof resp); + while (resp.count < cmd.ne) { + ret = ib_poll_cq(cq, 1, &wc); + if (ret < 0) + goto out_put; + if (!ret) + break; + + ret = copy_wc_to_user(data_ptr, &wc); + if (ret) + goto out_put; - for (i = 0; i < resp->count; i++) { - resp->wc[i].wr_id = wc[i].wr_id; - resp->wc[i].status = wc[i].status; - resp->wc[i].opcode = wc[i].opcode; - resp->wc[i].vendor_err = wc[i].vendor_err; - resp->wc[i].byte_len = wc[i].byte_len; - resp->wc[i].ex.imm_data = (__u32 __force) wc[i].ex.imm_data; - resp->wc[i].qp_num = wc[i].qp->qp_num; - resp->wc[i].src_qp = wc[i].src_qp; - resp->wc[i].wc_flags = wc[i].wc_flags; - resp->wc[i].pkey_index = wc[i].pkey_index; - resp->wc[i].slid = wc[i].slid; - resp->wc[i].sl = wc[i].sl; - resp->wc[i].dlid_path_bits = wc[i].dlid_path_bits; - resp->wc[i].port_num = wc[i].port_num; + data_ptr += sizeof(struct ib_uverbs_wc); + ++resp.count; } - if (copy_to_user((void __user *) (unsigned long) cmd.response, resp, rsize)) + if (copy_to_user(header_ptr, &resp, sizeof resp)) { ret = -EFAULT; + goto out_put; + } -out: - kfree(resp); + ret = in_len; -out_wc: - kfree(wc); - return ret ? ret : in_len; +out_put: + put_cq_read(cq); + return ret; } ssize_t ib_uverbs_req_notify_cq(struct ib_uverbs_file *file, --- linux-2.6.32.orig/drivers/infiniband/hw/cxgb3/iwch_cm.c +++ linux-2.6.32/drivers/infiniband/hw/cxgb3/iwch_cm.c @@ -486,7 +486,8 @@ V_MSS_IDX(mtu_idx) | V_L2T_IDX(ep->l2t->idx) | V_TX_CHANNEL(ep->l2t->smt_idx); opt0l = V_TOS((ep->tos >> 2) & M_TOS) | V_RCV_BUFSIZ(rcv_win>>10); - opt2 = V_FLAVORS_VALID(1) | V_CONG_CONTROL_FLAVOR(cong_flavor); + opt2 = F_RX_COALESCE_VALID | V_RX_COALESCE(0) | V_FLAVORS_VALID(1) | + V_CONG_CONTROL_FLAVOR(cong_flavor); skb->priority = CPL_PRIORITY_SETUP; set_arp_failure_handler(skb, act_open_req_arp_failure); @@ -1303,7 +1304,8 @@ V_MSS_IDX(mtu_idx) | V_L2T_IDX(ep->l2t->idx) | V_TX_CHANNEL(ep->l2t->smt_idx); opt0l = V_TOS((ep->tos >> 2) & M_TOS) | V_RCV_BUFSIZ(rcv_win>>10); - opt2 = V_FLAVORS_VALID(1) | V_CONG_CONTROL_FLAVOR(cong_flavor); + opt2 = F_RX_COALESCE_VALID | V_RX_COALESCE(0) | V_FLAVORS_VALID(1) | + V_CONG_CONTROL_FLAVOR(cong_flavor); rpl = cplhdr(skb); rpl->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); --- linux-2.6.32.orig/drivers/infiniband/hw/ipath/ipath_fs.c +++ linux-2.6.32/drivers/infiniband/hw/ipath/ipath_fs.c @@ -346,10 +346,8 @@ list_for_each_entry_safe(dd, tmp, &ipath_dev_list, ipath_list) { spin_unlock_irqrestore(&ipath_devs_lock, flags); ret = create_device_files(sb, dd); - if (ret) { - deactivate_locked_super(sb); + if (ret) goto bail; - } spin_lock_irqsave(&ipath_devs_lock, flags); } --- linux-2.6.32.orig/drivers/infiniband/hw/mlx4/mad.c +++ linux-2.6.32/drivers/infiniband/hw/mlx4/mad.c @@ -252,12 +252,9 @@ return IB_MAD_RESULT_SUCCESS; /* - * Don't process SMInfo queries or vendor-specific - * MADs -- the SMA can't handle them. + * Don't process SMInfo queries -- the SMA can't handle them. */ - if (in_mad->mad_hdr.attr_id == IB_SMP_ATTR_SM_INFO || - ((in_mad->mad_hdr.attr_id & IB_SMP_ATTR_VENDOR_MASK) == - IB_SMP_ATTR_VENDOR_MASK)) + if (in_mad->mad_hdr.attr_id == IB_SMP_ATTR_SM_INFO) return IB_MAD_RESULT_SUCCESS; } else if (in_mad->mad_hdr.mgmt_class == IB_MGMT_CLASS_PERF_MGMT || in_mad->mad_hdr.mgmt_class == MLX4_IB_VENDOR_CLASS1 || --- linux-2.6.32.orig/drivers/infiniband/ulp/ipoib/ipoib_cm.c +++ linux-2.6.32/drivers/infiniband/ulp/ipoib/ipoib_cm.c @@ -752,6 +752,8 @@ 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); } } --- linux-2.6.32.orig/drivers/infiniband/ulp/ipoib/ipoib_main.c +++ linux-2.6.32/drivers/infiniband/ulp/ipoib/ipoib_main.c @@ -884,6 +884,7 @@ neigh->neighbour = neighbour; neigh->dev = dev; + memset(&neigh->dgid.raw, 0, sizeof (union ib_gid)); *to_ipoib_neigh(neighbour) = neigh; skb_queue_head_init(&neigh->queue); ipoib_cm_set(neigh, NULL); @@ -1162,7 +1163,7 @@ return ret ? ret : count; } -static DEVICE_ATTR(create_child, S_IWUGO, NULL, create_child); +static DEVICE_ATTR(create_child, S_IWUSR, NULL, create_child); static ssize_t delete_child(struct device *dev, struct device_attribute *attr, @@ -1182,7 +1183,7 @@ return ret ? ret : count; } -static DEVICE_ATTR(delete_child, S_IWUGO, NULL, delete_child); +static DEVICE_ATTR(delete_child, S_IWUSR, NULL, delete_child); int ipoib_add_pkey_attr(struct net_device *dev) { --- linux-2.6.32.orig/drivers/infiniband/ulp/iser/iser_memory.c +++ linux-2.6.32/drivers/infiniband/ulp/iser/iser_memory.c @@ -209,6 +209,8 @@ mem_copy->copy_buf = NULL; } +#define IS_4K_ALIGNED(addr) ((((unsigned long)addr) & ~MASK_4K) == 0) + /** * iser_sg_to_page_vec - Translates scatterlist entries to physical addresses * and returns the length of resulting physical address array (may be less than @@ -221,62 +223,52 @@ * where --few fragments of the same page-- are present in the SG as * consecutive elements. Also, it handles one entry SG. */ + static int iser_sg_to_page_vec(struct iser_data_buf *data, struct iser_page_vec *page_vec, struct ib_device *ibdev) { - struct scatterlist *sgl = (struct scatterlist *)data->buf; - struct scatterlist *sg; - u64 first_addr, last_addr, page; - int end_aligned; - unsigned int cur_page = 0; + struct scatterlist *sg, *sgl = (struct scatterlist *)data->buf; + u64 start_addr, end_addr, page, chunk_start = 0; unsigned long total_sz = 0; - int i; + unsigned int dma_len; + int i, new_chunk, cur_page, last_ent = data->dma_nents - 1; /* compute the offset of first element */ page_vec->offset = (u64) sgl[0].offset & ~MASK_4K; + new_chunk = 1; + cur_page = 0; for_each_sg(sgl, sg, data->dma_nents, i) { - unsigned int dma_len = ib_sg_dma_len(ibdev, sg); - + start_addr = ib_sg_dma_address(ibdev, sg); + if (new_chunk) + chunk_start = start_addr; + dma_len = ib_sg_dma_len(ibdev, sg); + end_addr = start_addr + dma_len; total_sz += dma_len; - first_addr = ib_sg_dma_address(ibdev, sg); - last_addr = first_addr + dma_len; - - end_aligned = !(last_addr & ~MASK_4K); - - /* continue to collect page fragments till aligned or SG ends */ - while (!end_aligned && (i + 1 < data->dma_nents)) { - sg = sg_next(sg); - i++; - dma_len = ib_sg_dma_len(ibdev, sg); - total_sz += dma_len; - last_addr = ib_sg_dma_address(ibdev, sg) + dma_len; - end_aligned = !(last_addr & ~MASK_4K); + /* collect page fragments until aligned or end of SG list */ + if (!IS_4K_ALIGNED(end_addr) && i < last_ent) { + new_chunk = 0; + continue; } + new_chunk = 1; - /* handle the 1st page in the 1st DMA element */ - if (cur_page == 0) { - page = first_addr & MASK_4K; - page_vec->pages[cur_page] = page; - cur_page++; + /* address of the first page in the contiguous chunk; + masking relevant for the very first SG entry, + which might be unaligned */ + page = chunk_start & MASK_4K; + do { + page_vec->pages[cur_page++] = page; page += SIZE_4K; - } else - page = first_addr; - - for (; page < last_addr; page += SIZE_4K) { - page_vec->pages[cur_page] = page; - cur_page++; - } - + } while (page < end_addr); } + page_vec->data_size = total_sz; iser_dbg("page_vec->data_size:%d cur_page %d\n", page_vec->data_size,cur_page); return cur_page; } -#define IS_4K_ALIGNED(addr) ((((unsigned long)addr) & ~MASK_4K) == 0) /** * iser_data_buf_aligned_len - Tries to determine the maximal correctly aligned @@ -284,42 +276,40 @@ * the number of entries which are aligned correctly. Supports the case where * consecutive SG elements are actually fragments of the same physcial page. */ -static unsigned int iser_data_buf_aligned_len(struct iser_data_buf *data, - struct ib_device *ibdev) +static int iser_data_buf_aligned_len(struct iser_data_buf *data, + struct ib_device *ibdev) { - struct scatterlist *sgl, *sg; - u64 end_addr, next_addr; - int i, cnt; - unsigned int ret_len = 0; + struct scatterlist *sgl, *sg, *next_sg = NULL; + u64 start_addr, end_addr; + int i, ret_len, start_check = 0; + + if (data->dma_nents == 1) + return 1; sgl = (struct scatterlist *)data->buf; + start_addr = ib_sg_dma_address(ibdev, sgl); - cnt = 0; for_each_sg(sgl, sg, data->dma_nents, i) { - /* iser_dbg("Checking sg iobuf [%d]: phys=0x%08lX " - "offset: %ld sz: %ld\n", i, - (unsigned long)sg_phys(sg), - (unsigned long)sg->offset, - (unsigned long)sg->length); */ - end_addr = ib_sg_dma_address(ibdev, sg) + - ib_sg_dma_len(ibdev, sg); - /* iser_dbg("Checking sg iobuf end address " - "0x%08lX\n", end_addr); */ - if (i + 1 < data->dma_nents) { - next_addr = ib_sg_dma_address(ibdev, sg_next(sg)); - /* are i, i+1 fragments of the same page? */ - if (end_addr == next_addr) { - cnt++; - continue; - } else if (!IS_4K_ALIGNED(end_addr)) { - ret_len = cnt + 1; - break; - } - } - cnt++; + if (start_check && !IS_4K_ALIGNED(start_addr)) + break; + + next_sg = sg_next(sg); + if (!next_sg) + break; + + end_addr = start_addr + ib_sg_dma_len(ibdev, sg); + start_addr = ib_sg_dma_address(ibdev, next_sg); + + if (end_addr == start_addr) { + start_check = 0; + continue; + } else + start_check = 1; + + if (!IS_4K_ALIGNED(end_addr)) + break; } - if (i == data->dma_nents) - ret_len = cnt; /* loop ended */ + ret_len = (next_sg) ? i : i+1; iser_dbg("Found %d aligned entries out of %d in sg:0x%p\n", ret_len, data->dma_nents, data); return ret_len; --- linux-2.6.32.orig/drivers/input/input.c +++ linux-2.6.32/drivers/input/input.c @@ -24,6 +24,7 @@ #include #include #include +#include "input-compat.h" MODULE_AUTHOR("Vojtech Pavlik "); MODULE_DESCRIPTION("Input core"); @@ -45,6 +46,7 @@ ABS_MT_TOOL_TYPE, ABS_MT_BLOB_ID, ABS_MT_TRACKING_ID, + ABS_MT_PRESSURE, 0 }; static unsigned long input_abs_bypass[BITS_TO_LONGS(ABS_CNT)]; @@ -90,19 +92,26 @@ */ static void input_pass_event(struct input_dev *dev, unsigned int type, unsigned int code, int value) -{ - struct input_handle *handle; + +{ struct input_handle *handle; rcu_read_lock(); handle = rcu_dereference(dev->grab); - if (handle) + if (handle) { handle->handler->event(handle, type, code, value); - else - list_for_each_entry_rcu(handle, &dev->h_list, d_node) - if (handle->open) - handle->handler->event(handle, - type, code, value); + goto out; + } + + handle = rcu_dereference(dev->filter); + if (handle && handle->handler->filter(handle, type, code, value)) + goto out; + + list_for_each_entry_rcu(handle, &dev->h_list, d_node) + if (handle->open) + handle->handler->event(handle, + type, code, value); +out: rcu_read_unlock(); } @@ -377,12 +386,15 @@ } EXPORT_SYMBOL(input_grab_device); -static void __input_release_device(struct input_handle *handle) +static void __input_release_device(struct input_handle *handle, bool filter) { struct input_dev *dev = handle->dev; - if (dev->grab == handle) { - rcu_assign_pointer(dev->grab, NULL); + if (handle == (filter ? dev->filter : dev->grab)) { + if (filter) + rcu_assign_pointer(dev->filter, NULL); + else + rcu_assign_pointer(dev->grab, NULL); /* Make sure input_pass_event() notices that grab is gone */ synchronize_rcu(); @@ -406,12 +418,65 @@ struct input_dev *dev = handle->dev; mutex_lock(&dev->mutex); - __input_release_device(handle); + __input_release_device(handle, false); mutex_unlock(&dev->mutex); } EXPORT_SYMBOL(input_release_device); /** + * input_filter_device - allow input events to be filtered from higher layers + * @handle: input handle that wants to filter the device + * + * When a device is filtered by an input handle all events generated by + * the device are to this handle. If the filter function returns true then + * the event is discarded rather than being passed to any other input handles, + * otherwise it is passed to them as normal. Grabs will be handled before + * filters, so a grabbed device will not deliver events to a filter function. + */ +int input_filter_device(struct input_handle *handle) +{ + struct input_dev *dev = handle->dev; + int retval; + + retval = mutex_lock_interruptible(&dev->mutex); + if (retval) + return retval; + + if (dev->filter) { + retval = -EBUSY; + goto out; + } + + rcu_assign_pointer(dev->filter, handle); + synchronize_rcu(); + + out: + mutex_unlock(&dev->mutex); + return retval; +} +EXPORT_SYMBOL(input_filter_device); + +/** + * input_unfilter_device - removes a filter from a device + * @handle: input handle that owns the device + * + * Removes the filter from a device so that other input handles can + * start receiving unfiltered input events. Upon release all handlers + * attached to the device have their start() method called so they + * have a change to synchronize device state with the rest of the + * system. + */ +void input_unfilter_device(struct input_handle *handle) +{ + struct input_dev *dev = handle->dev; + + mutex_lock(&dev->mutex); + __input_release_device(handle, true); + mutex_unlock(&dev->mutex); +} +EXPORT_SYMBOL(input_unfilter_device); + +/** * input_open_device - open input device * @handle: handle through which device is being accessed * @@ -484,7 +549,9 @@ mutex_lock(&dev->mutex); - __input_release_device(handle); + /* Release both grabs and filters */ + __input_release_device(handle, false); + __input_release_device(handle, true); if (!--dev->users && dev->close) dev->close(dev); @@ -758,6 +825,40 @@ return error; } +#ifdef CONFIG_COMPAT + +static int input_bits_to_string(char *buf, int buf_size, + unsigned long bits, bool skip_empty) +{ + int len = 0; + + if (INPUT_COMPAT_TEST) { + u32 dword = bits >> 32; + if (dword || !skip_empty) + len += snprintf(buf, buf_size, "%x ", dword); + + dword = bits & 0xffffffffUL; + if (dword || !skip_empty || len) + len += snprintf(buf + len, max(buf_size - len, 0), + "%x", dword); + } else { + if (bits || !skip_empty) + len += snprintf(buf, buf_size, "%lx", bits); + } + + return len; +} + +#else /* !CONFIG_COMPAT */ + +static int input_bits_to_string(char *buf, int buf_size, + unsigned long bits, bool skip_empty) +{ + return bits || !skip_empty ? + snprintf(buf, buf_size, "%lx", bits) : 0; +} + +#endif #ifdef CONFIG_PROC_FS @@ -826,14 +927,25 @@ unsigned long *bitmap, int max) { int i; - - for (i = BITS_TO_LONGS(max) - 1; i > 0; i--) - if (bitmap[i]) - break; + bool skip_empty = true; + char buf[18]; seq_printf(seq, "B: %s=", name); - for (; i >= 0; i--) - seq_printf(seq, "%lx%s", bitmap[i], i > 0 ? " " : ""); + + for (i = BITS_TO_LONGS(max) - 1; i >= 0; i--) { + if (input_bits_to_string(buf, sizeof(buf), + bitmap[i], skip_empty)) { + skip_empty = false; + seq_printf(seq, "%s%s", buf, i > 0 ? " " : ""); + } + } + + /* + * If no output was produced print a single 0. + */ + if (skip_empty) + seq_puts(seq, "0"); + seq_putc(seq, '\n'); } @@ -1122,14 +1234,23 @@ { int i; int len = 0; + bool skip_empty = true; - for (i = BITS_TO_LONGS(max) - 1; i > 0; i--) - if (bitmap[i]) - break; + for (i = BITS_TO_LONGS(max) - 1; i >= 0; i--) { + len += input_bits_to_string(buf + len, max(buf_size - len, 0), + bitmap[i], skip_empty); + if (len) { + skip_empty = false; + if (i > 0) + len += snprintf(buf + len, max(buf_size - len, 0), " "); + } + } - for (; i >= 0; i--) - len += snprintf(buf + len, max(buf_size - len, 0), - "%lx%s", bitmap[i], i > 0 ? " " : ""); + /* + * If no output was produced print a single 0. + */ + if (len == 0) + len = snprintf(buf, buf_size, "%d", 0); if (add_cr) len += snprintf(buf + len, max(buf_size - len, 0), "\n"); @@ -1144,7 +1265,8 @@ { \ struct input_dev *input_dev = to_input_dev(dev); \ int len = input_print_bitmap(buf, PAGE_SIZE, \ - input_dev->bm##bit, ev##_MAX, 1); \ + input_dev->bm##bit, ev##_MAX, \ + true); \ return min_t(int, len, PAGE_SIZE); \ } \ static DEVICE_ATTR(bm, S_IRUGO, input_dev_show_cap_##bm, NULL) @@ -1208,7 +1330,7 @@ len = input_print_bitmap(&env->buf[env->buflen - 1], sizeof(env->buf) - env->buflen, - bitmap, max, 0); + bitmap, max, false); if (len >= (sizeof(env->buf) - env->buflen)) return -ENOMEM; --- linux-2.6.32.orig/drivers/input/joydev.c +++ linux-2.6.32/drivers/input/joydev.c @@ -481,6 +481,9 @@ memcpy(joydev->abspam, abspam, len); + for (i = 0; i < joydev->nabs; i++) + joydev->absmap[joydev->abspam[i]] = i; + out: kfree(abspam); return retval; --- linux-2.6.32.orig/drivers/input/xen-kbdfront.c +++ linux-2.6.32/drivers/input/xen-kbdfront.c @@ -105,7 +105,7 @@ static int __devinit xenkbd_probe(struct xenbus_device *dev, const struct xenbus_device_id *id) { - int ret, i; + int ret, i, abs; struct xenkbd_info *info; struct input_dev *kbd, *ptr; @@ -123,6 +123,11 @@ if (!info->page) goto error_nomem; + if (xenbus_scanf(XBT_NIL, dev->otherend, "feature-abs-pointer", "%d", &abs) < 0) + abs = 0; + if (abs) + xenbus_printf(XBT_NIL, dev->nodename, "request-abs-pointer", "1"); + /* keyboard */ kbd = input_allocate_device(); if (!kbd) @@ -132,11 +137,12 @@ kbd->id.bustype = BUS_PCI; kbd->id.vendor = 0x5853; kbd->id.product = 0xffff; - kbd->evbit[0] = BIT(EV_KEY); + + __set_bit(EV_KEY, kbd->evbit); for (i = KEY_ESC; i < KEY_UNKNOWN; i++) - set_bit(i, kbd->keybit); + __set_bit(i, kbd->keybit); for (i = KEY_OK; i < KEY_MAX; i++) - set_bit(i, kbd->keybit); + __set_bit(i, kbd->keybit); ret = input_register_device(kbd); if (ret) { @@ -155,12 +161,20 @@ ptr->id.bustype = BUS_PCI; ptr->id.vendor = 0x5853; ptr->id.product = 0xfffe; - ptr->evbit[0] = BIT(EV_KEY) | BIT(EV_REL) | BIT(EV_ABS); + + if (abs) { + __set_bit(EV_ABS, ptr->evbit); + input_set_abs_params(ptr, ABS_X, 0, XENFB_WIDTH, 0, 0); + input_set_abs_params(ptr, ABS_Y, 0, XENFB_HEIGHT, 0, 0); + } else { + input_set_capability(ptr, EV_REL, REL_X); + input_set_capability(ptr, EV_REL, REL_Y); + } + input_set_capability(ptr, EV_REL, REL_WHEEL); + + __set_bit(EV_KEY, ptr->evbit); for (i = BTN_LEFT; i <= BTN_TASK; i++) - set_bit(i, ptr->keybit); - ptr->relbit[0] = BIT(REL_X) | BIT(REL_Y) | BIT(REL_WHEEL); - input_set_abs_params(ptr, ABS_X, 0, XENFB_WIDTH, 0, 0); - input_set_abs_params(ptr, ABS_Y, 0, XENFB_HEIGHT, 0, 0); + __set_bit(i, ptr->keybit); ret = input_register_device(ptr); if (ret) { @@ -286,8 +300,7 @@ ret = xenbus_printf(XBT_NIL, info->xbdev->nodename, "request-abs-pointer", "1"); if (ret) - printk(KERN_WARNING - "xenkbd: can't request abs-pointer"); + pr_warning("can't request abs-pointer\n"); } xenbus_switch_state(dev, XenbusStateConnected); break; --- linux-2.6.32.orig/drivers/input/keyboard/atkbd.c +++ linux-2.6.32/drivers/input/keyboard/atkbd.c @@ -912,6 +912,14 @@ }; /* + * Fujitsu Siemens system with broken key release on volume keys and mute key + */ + +static unsigned int atkbd_amilo_xi_2428_forced_release_keys[] = { + 0xa0, 0xae, 0xb0, -1U +}; + +/* * Soltech TA12 system with broken key release on volume keys and mute key */ static unsigned int atkdb_soltech_ta12_forced_release_keys[] = { @@ -1695,6 +1703,34 @@ .driver_data = atkbd_amilo_xi3650_forced_release_keys, }, { + .ident = "Znote 6615WD", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Zepto"), + DMI_MATCH(DMI_PRODUCT_NAME, "Znote 6615WD"), + }, + .callback = atkbd_setup_forced_release, + .driver_data = atkbd_volume_forced_release_keys, + }, + { + .ident = "Znote 6625WD", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Zepto"), + DMI_MATCH(DMI_PRODUCT_NAME, "Znote"), + DMI_MATCH(DMI_PRODUCT_VERSION, "6625WD"), + }, + .callback = atkbd_setup_forced_release, + .driver_data = atkbd_volume_forced_release_keys, + }, + { + .ident = "AMILO Xi 2428", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), + DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Xi 2428"), + }, + .callback = atkbd_setup_forced_release, + .driver_data = atkbd_amilo_xi_2428_forced_release_keys, + }, + { .ident = "Soltech Corporation TA12", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Soltech Corporation"), --- linux-2.6.32.orig/drivers/input/keyboard/twl4030_keypad.c +++ linux-2.6.32/drivers/input/keyboard/twl4030_keypad.c @@ -50,8 +50,12 @@ */ #define TWL4030_MAX_ROWS 8 /* TWL4030 hard limit */ #define TWL4030_MAX_COLS 8 -#define TWL4030_ROW_SHIFT 3 -#define TWL4030_KEYMAP_SIZE (TWL4030_MAX_ROWS * TWL4030_MAX_COLS) +/* + * Note that we add space for an extra column so that we can handle + * row lines connected to the gnd (see twl4030_col_xlate()). + */ +#define TWL4030_ROW_SHIFT 4 +#define TWL4030_KEYMAP_SIZE (TWL4030_MAX_ROWS << TWL4030_ROW_SHIFT) struct twl4030_keypad { unsigned short keymap[TWL4030_KEYMAP_SIZE]; @@ -181,7 +185,7 @@ return ret; } -static int twl4030_is_in_ghost_state(struct twl4030_keypad *kp, u16 *key_state) +static bool twl4030_is_in_ghost_state(struct twl4030_keypad *kp, u16 *key_state) { int i; u16 check = 0; @@ -190,12 +194,12 @@ u16 col = key_state[i]; if ((col & check) && hweight16(col) > 1) - return 1; + return true; check |= col; } - return 0; + return false; } static void twl4030_kp_scan(struct twl4030_keypad *kp, bool release_all) @@ -224,7 +228,8 @@ if (!changed) continue; - for (col = 0; col < kp->n_cols; col++) { + /* Extra column handles "all gnd" rows */ + for (col = 0; col < kp->n_cols + 1; col++) { int code; if (!(changed & (1 << col))) --- linux-2.6.32.orig/drivers/input/misc/winbond-cir.c +++ linux-2.6.32/drivers/input/misc/winbond-cir.c @@ -768,7 +768,7 @@ return; } - dev_info(dev, "IR-RC6 ad 0x%02X cm 0x%02X cu 0x%04X " + dev_dbg(dev, "IR-RC6 ad 0x%02X cm 0x%02X cu 0x%04X " "toggle %u mode %u scan 0x%08X\n", address, command, --- linux-2.6.32.orig/drivers/input/mouse/alps.c +++ linux-2.6.32/drivers/input/mouse/alps.c @@ -5,6 +5,7 @@ * Copyright (c) 2003-2005 Peter Osterlund * Copyright (c) 2004 Dmitry Torokhov * Copyright (c) 2005 Vojtech Pavlik + * Copyright (c) 2009 Sebastian Kapfer * * ALPS detection, tap switching and status querying info is taken from * tpconfig utility (by C. Scott Ananian and Bruce Kall). @@ -35,6 +36,8 @@ #define ALPS_OLDPROTO 0x10 #define ALPS_PASS 0x20 #define ALPS_FW_BK_2 0x40 +#define ALPS_PS2_INTERLEAVED 0x80 /* 3-byte PS/2 packet interleaved with + 6-byte ALPS packet */ static const struct alps_model_info alps_model_data[] = { { { 0x32, 0x02, 0x14 }, 0xf8, 0xf8, ALPS_PASS | ALPS_DUALPOINT }, /* Toshiba Salellite Pro M10 */ @@ -55,8 +58,12 @@ { { 0x20, 0x02, 0x0e }, 0xf8, 0xf8, ALPS_PASS | ALPS_DUALPOINT }, /* XXX */ { { 0x22, 0x02, 0x0a }, 0xf8, 0xf8, ALPS_PASS | ALPS_DUALPOINT }, { { 0x22, 0x02, 0x14 }, 0xff, 0xff, ALPS_PASS | ALPS_DUALPOINT }, /* Dell Latitude D600 */ - { { 0x62, 0x02, 0x14 }, 0xcf, 0xcf, ALPS_PASS | ALPS_DUALPOINT }, /* Dell Latitude E6500 */ + /* Dell Latitude E5500, E6400, E6500, Precision M4400 */ + { { 0x62, 0x02, 0x14 }, 0xcf, 0xcf, + ALPS_PASS | ALPS_DUALPOINT | ALPS_PS2_INTERLEAVED }, { { 0x73, 0x02, 0x50 }, 0xcf, 0xcf, ALPS_FW_BK_1 }, /* Dell Vostro 1400 */ + { { 0x52, 0x01, 0x14 }, 0xff, 0xff, + ALPS_PASS | ALPS_DUALPOINT | ALPS_PS2_INTERLEAVED }, /* Toshiba Tecra A11-11L */ }; /* @@ -66,20 +73,88 @@ */ /* - * ALPS abolute Mode - new format + * PS/2 packet format + * + * byte 0: 0 0 YSGN XSGN 1 M R L + * byte 1: X7 X6 X5 X4 X3 X2 X1 X0 + * byte 2: Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 + * + * Note that the device never signals overflow condition. + * + * ALPS absolute Mode - new format * * byte 0: 1 ? ? ? 1 ? ? ? * byte 1: 0 x6 x5 x4 x3 x2 x1 x0 - * byte 2: 0 x10 x9 x8 x7 ? fin ges + * byte 2: 0 x10 x9 x8 x7 ? fin ges * byte 3: 0 y9 y8 y7 1 M R L * byte 4: 0 y6 y5 y4 y3 y2 y1 y0 * byte 5: 0 z6 z5 z4 z3 z2 z1 z0 * + * Dualpoint device -- interleaved packet format + * + * byte 0: 1 1 0 0 1 1 1 1 + * byte 1: 0 x6 x5 x4 x3 x2 x1 x0 + * byte 2: 0 x10 x9 x8 x7 0 fin ges + * byte 3: 0 0 YSGN XSGN 1 1 1 1 + * byte 4: X7 X6 X5 X4 X3 X2 X1 X0 + * byte 5: Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 + * byte 6: 0 y9 y8 y7 1 m r l + * byte 7: 0 y6 y5 y4 y3 y2 y1 y0 + * byte 8: 0 z6 z5 z4 z3 z2 z1 z0 + * + * CAPITALS = stick, miniscules = touchpad + * * ?'s can have different meanings on different models, * such as wheel rotation, extra buttons, stick buttons * on a dualpoint, etc. */ +static bool alps_is_valid_first_byte(const struct alps_model_info *model, + unsigned char data) +{ + return (data & model->mask0) == model->byte0; +} + +static void alps_report_buttons(struct psmouse *psmouse, + struct input_dev *dev1, struct input_dev *dev2, + int left, int right, int middle) +{ + struct alps_data *priv = psmouse->private; + const struct alps_model_info *model = priv->i; + + if (model->flags & ALPS_PS2_INTERLEAVED) { + struct input_dev *dev; + + /* + * If shared button has already been reported on the + * other device (dev2) then this event should be also + * sent through that device. + */ + dev = test_bit(BTN_LEFT, dev2->key) ? dev2 : dev1; + input_report_key(dev, BTN_LEFT, left); + + dev = test_bit(BTN_RIGHT, dev2->key) ? dev2 : dev1; + input_report_key(dev, BTN_RIGHT, right); + + dev = test_bit(BTN_MIDDLE, dev2->key) ? dev2 : dev1; + input_report_key(dev, BTN_MIDDLE, middle); + + /* + * Sync the _other_ device now, we'll do the first + * device later once we report the rest of the events. + */ + input_sync(dev2); + } else { + /* + * For devices with non-interleaved packets we know what + * device buttons belong to so we can simply report them. + */ + input_report_key(dev1, BTN_LEFT, left); + input_report_key(dev1, BTN_RIGHT, right); + input_report_key(dev1, BTN_MIDDLE, middle); + } +} + static void alps_process_packet(struct psmouse *psmouse) { struct alps_data *priv = psmouse->private; @@ -89,18 +164,6 @@ int x, y, z, ges, fin, left, right, middle; int back = 0, forward = 0; - if ((packet[0] & 0xc8) == 0x08) { /* 3-byte PS/2 packet */ - input_report_key(dev2, BTN_LEFT, packet[0] & 1); - input_report_key(dev2, BTN_RIGHT, packet[0] & 2); - input_report_key(dev2, BTN_MIDDLE, packet[0] & 4); - input_report_rel(dev2, REL_X, - packet[1] ? packet[1] - ((packet[0] << 4) & 0x100) : 0); - input_report_rel(dev2, REL_Y, - packet[2] ? ((packet[0] << 3) & 0x100) - packet[2] : 0); - input_sync(dev2); - return; - } - if (priv->i->flags & ALPS_OLDPROTO) { left = packet[2] & 0x10; right = packet[2] & 0x08; @@ -136,18 +199,13 @@ input_report_rel(dev2, REL_X, (x > 383 ? (x - 768) : x)); input_report_rel(dev2, REL_Y, -(y > 255 ? (y - 512) : y)); - input_report_key(dev2, BTN_LEFT, left); - input_report_key(dev2, BTN_RIGHT, right); - input_report_key(dev2, BTN_MIDDLE, middle); + alps_report_buttons(psmouse, dev2, dev, left, right, middle); - input_sync(dev); input_sync(dev2); return; } - input_report_key(dev, BTN_LEFT, left); - input_report_key(dev, BTN_RIGHT, right); - input_report_key(dev, BTN_MIDDLE, middle); + alps_report_buttons(psmouse, dev, dev2, left, right, middle); /* Convert hardware tap to a reasonable Z value */ if (ges && !fin) z = 40; @@ -188,25 +246,168 @@ input_sync(dev); } +static void alps_report_bare_ps2_packet(struct psmouse *psmouse, + unsigned char packet[], + bool report_buttons) +{ + struct alps_data *priv = psmouse->private; + struct input_dev *dev2 = priv->dev2; + + if (report_buttons) + alps_report_buttons(psmouse, dev2, psmouse->dev, + packet[0] & 1, packet[0] & 2, packet[0] & 4); + + input_report_rel(dev2, REL_X, + packet[1] ? packet[1] - ((packet[0] << 4) & 0x100) : 0); + input_report_rel(dev2, REL_Y, + packet[2] ? ((packet[0] << 3) & 0x100) - packet[2] : 0); + + input_sync(dev2); +} + +static psmouse_ret_t alps_handle_interleaved_ps2(struct psmouse *psmouse) +{ + struct alps_data *priv = psmouse->private; + + if (psmouse->pktcnt < 6) + return PSMOUSE_GOOD_DATA; + + if (psmouse->pktcnt == 6) { + /* + * Start a timer to flush the packet if it ends up last + * 6-byte packet in the stream. Timer needs to fire + * psmouse core times out itself. 20 ms should be enough + * to decide if we are getting more data or not. + */ + mod_timer(&priv->timer, jiffies + msecs_to_jiffies(20)); + return PSMOUSE_GOOD_DATA; + } + + del_timer(&priv->timer); + + if (psmouse->packet[6] & 0x80) { + + /* + * Highest bit is set - that means we either had + * complete ALPS packet and this is start of the + * next packet or we got garbage. + */ + + if (((psmouse->packet[3] | + psmouse->packet[4] | + psmouse->packet[5]) & 0x80) || + (!alps_is_valid_first_byte(priv->i, psmouse->packet[6]))) { + dbg("refusing packet %x %x %x %x " + "(suspected interleaved ps/2)\n", + psmouse->packet[3], psmouse->packet[4], + psmouse->packet[5], psmouse->packet[6]); + return PSMOUSE_BAD_DATA; + } + + alps_process_packet(psmouse); + + /* Continue with the next packet */ + psmouse->packet[0] = psmouse->packet[6]; + psmouse->pktcnt = 1; + + } else { + + /* + * High bit is 0 - that means that we indeed got a PS/2 + * packet in the middle of ALPS packet. + * + * There is also possibility that we got 6-byte ALPS + * packet followed by 3-byte packet from trackpoint. We + * can not distinguish between these 2 scenarios but + * becase the latter is unlikely to happen in course of + * normal operation (user would need to press all + * buttons on the pad and start moving trackpoint + * without touching the pad surface) we assume former. + * Even if we are wrong the wost thing that would happen + * the cursor would jump but we should not get protocol + * desynchronization. + */ + + alps_report_bare_ps2_packet(psmouse, &psmouse->packet[3], + false); + + /* + * Continue with the standard ALPS protocol handling, + * but make sure we won't process it as an interleaved + * packet again, which may happen if all buttons are + * pressed. To avoid this let's reset the 4th bit which + * is normally 1. + */ + psmouse->packet[3] = psmouse->packet[6] & 0xf7; + psmouse->pktcnt = 4; + } + + return PSMOUSE_GOOD_DATA; +} + +static void alps_flush_packet(unsigned long data) +{ + struct psmouse *psmouse = (struct psmouse *)data; + + serio_pause_rx(psmouse->ps2dev.serio); + + if (psmouse->pktcnt == 6) { + + /* + * We did not any more data in reasonable amount of time. + * Validate the last 3 bytes and process as a standard + * ALPS packet. + */ + if ((psmouse->packet[3] | + psmouse->packet[4] | + psmouse->packet[5]) & 0x80) { + dbg("refusing packet %x %x %x " + "(suspected interleaved ps/2)\n", + psmouse->packet[3], psmouse->packet[4], + psmouse->packet[5]); + } else { + alps_process_packet(psmouse); + } + psmouse->pktcnt = 0; + } + + serio_continue_rx(psmouse->ps2dev.serio); +} + 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) { - alps_process_packet(psmouse); + alps_report_bare_ps2_packet(psmouse, psmouse->packet, + true); return PSMOUSE_FULL_PACKET; } return PSMOUSE_GOOD_DATA; } - if ((psmouse->packet[0] & priv->i->mask0) != priv->i->byte0) + /* Check for PS/2 packet stuffed in the middle of ALPS packet. */ + + if ((model->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])) { + dbg("refusing packet[0] = %x (mask0 = %x, byte0 = %x)\n", + psmouse->packet[0], model->mask0, model->byte0); return PSMOUSE_BAD_DATA; + } /* Bytes 2 - 6 should have 0 in the highest bit */ if (psmouse->pktcnt >= 2 && psmouse->pktcnt <= 6 && - (psmouse->packet[psmouse->pktcnt - 1] & 0x80)) + (psmouse->packet[psmouse->pktcnt - 1] & 0x80)) { + dbg("refusing packet[%i] = %x\n", + psmouse->pktcnt - 1, psmouse->packet[psmouse->pktcnt - 1]); return PSMOUSE_BAD_DATA; + } if (psmouse->pktcnt == 6) { alps_process_packet(psmouse); @@ -432,7 +633,8 @@ static int alps_reconnect(struct psmouse *psmouse) { - psmouse_reset(psmouse); + /* UBUNTU: Causes lockups on resume */ + /* psmouse_reset(psmouse); */ if (alps_hw_init(psmouse, NULL)) return -1; @@ -445,6 +647,7 @@ struct alps_data *priv = psmouse->private; psmouse_reset(psmouse); + del_timer_sync(&priv->timer); input_unregister_device(priv->dev2); kfree(priv); } @@ -461,6 +664,8 @@ goto init_fail; priv->dev2 = dev2; + setup_timer(&priv->timer, alps_flush_packet, (unsigned long)psmouse); + psmouse->private = priv; if (alps_hw_init(psmouse, &version)) --- linux-2.6.32.orig/drivers/input/mouse/alps.h +++ linux-2.6.32/drivers/input/mouse/alps.h @@ -23,6 +23,7 @@ char phys[32]; /* Phys */ const struct alps_model_info *i;/* Info */ int prev_fin; /* Finger bit from previous packet */ + struct timer_list timer; }; #ifdef CONFIG_MOUSE_PS2_ALPS --- linux-2.6.32.orig/drivers/input/mouse/bcm5974.c +++ linux-2.6.32/drivers/input/mouse/bcm5974.c @@ -55,6 +55,14 @@ #define USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI 0x0236 #define USB_DEVICE_ID_APPLE_WELLSPRING3_ISO 0x0237 #define USB_DEVICE_ID_APPLE_WELLSPRING3_JIS 0x0238 +/* MacbookAir3,2 (unibody), aka wellspring5 */ +#define USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI 0x023f +#define USB_DEVICE_ID_APPLE_WELLSPRING4_ISO 0x0240 +#define USB_DEVICE_ID_APPLE_WELLSPRING4_JIS 0x0241 +/* MacbookAir3,1 (unibody), aka wellspring4 */ +#define USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI 0x0242 +#define USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO 0x0243 +#define USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS 0x0244 #define BCM5974_DEVICE(prod) { \ .match_flags = (USB_DEVICE_ID_MATCH_DEVICE | \ @@ -80,6 +88,14 @@ BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI), BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING3_ISO), BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING3_JIS), + /* MacbookAir3,2 */ + BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI), + BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING4_ISO), + BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING4_JIS), + /* MacbookAir3,1 */ + BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI), + BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO), + BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS), /* Terminating entry */ {} }; @@ -233,6 +249,30 @@ { DIM_X, DIM_X / SN_COORD, -4460, 5166 }, { DIM_Y, DIM_Y / SN_COORD, -75, 6700 } }, + { + USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI, + USB_DEVICE_ID_APPLE_WELLSPRING4_ISO, + USB_DEVICE_ID_APPLE_WELLSPRING4_JIS, + HAS_INTEGRATED_BUTTON, + 0x84, sizeof(struct bt_data), + 0x81, TYPE2, FINGER_TYPE2, FINGER_TYPE2 + SIZEOF_ALL_FINGERS, + { DIM_PRESSURE, DIM_PRESSURE / SN_PRESSURE, 0, 300 }, + { DIM_WIDTH, DIM_WIDTH / SN_WIDTH, 0, 2048 }, + { DIM_X, DIM_X / SN_COORD, -4620, 5140 }, + { DIM_Y, DIM_Y / SN_COORD, -150, 6600 } + }, + { + USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI, + USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO, + USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS, + HAS_INTEGRATED_BUTTON, + 0x84, sizeof(struct bt_data), + 0x81, TYPE2, FINGER_TYPE2, FINGER_TYPE2 + SIZEOF_ALL_FINGERS, + { DIM_PRESSURE, DIM_PRESSURE / SN_PRESSURE, 0, 300 }, + { DIM_WIDTH, DIM_WIDTH / SN_WIDTH, 0, 2048 }, + { DIM_X, DIM_X / SN_COORD, -4616, 5112 }, + { DIM_Y, DIM_Y / SN_COORD, -142, 5234 } + }, {} }; --- linux-2.6.32.orig/drivers/input/mouse/elantech.c +++ linux-2.6.32/drivers/input/mouse/elantech.c @@ -24,6 +24,10 @@ printk(KERN_DEBUG format, ##arg); \ } while (0) +static bool force_elantech; +module_param_named(force_elantech, force_elantech, bool, 0644); +MODULE_PARM_DESC(force_elantech, "Force the Elantech PS/2 protocol extension to be used, 1 = enabled, 0 = disabled (default)."); + /* * Send a Synaptics style sliced query command */ @@ -178,36 +182,44 @@ struct elantech_data *etd = psmouse->private; unsigned char *packet = psmouse->packet; int fingers; - static int old_fingers; - if (etd->fw_version_maj == 0x01) { - /* byte 0: D U p1 p2 1 p3 R L - byte 1: f 0 th tw x9 x8 y9 y8 */ + if (etd->fw_version < 0x020000) { + /* + * byte 0: D U p1 p2 1 p3 R L + * byte 1: f 0 th tw x9 x8 y9 y8 + */ fingers = ((packet[1] & 0x80) >> 7) + ((packet[1] & 0x30) >> 4); } else { - /* byte 0: n1 n0 p2 p1 1 p3 R L - byte 1: 0 0 0 0 x9 x8 y9 y8 */ + /* + * byte 0: n1 n0 p2 p1 1 p3 R L + * byte 1: 0 0 0 0 x9 x8 y9 y8 + */ fingers = (packet[0] & 0xc0) >> 6; } if (etd->jumpy_cursor) { - /* Discard packets that are likely to have bogus coordinates */ - if (fingers > old_fingers) { + if (fingers != 1) { + etd->single_finger_reports = 0; + } else if (etd->single_finger_reports < 2) { + /* Discard first 2 reports of one finger, bogus */ + etd->single_finger_reports++; elantech_debug("elantech.c: discarding packet\n"); - goto discard_packet_v1; + return; } } input_report_key(dev, BTN_TOUCH, fingers != 0); - /* byte 2: x7 x6 x5 x4 x3 x2 x1 x0 - byte 3: y7 y6 y5 y4 y3 y2 y1 y0 */ + /* + * byte 2: x7 x6 x5 x4 x3 x2 x1 x0 + * byte 3: y7 y6 y5 y4 y3 y2 y1 y0 + */ if (fingers) { input_report_abs(dev, ABS_X, ((packet[1] & 0x0c) << 6) | packet[2]); - input_report_abs(dev, ABS_Y, ETP_YMAX_V1 - - (((packet[1] & 0x03) << 8) | packet[3])); + input_report_abs(dev, ABS_Y, + ETP_YMAX_V1 - (((packet[1] & 0x03) << 8) | packet[3])); } input_report_key(dev, BTN_TOOL_FINGER, fingers == 1); @@ -216,7 +228,7 @@ input_report_key(dev, BTN_LEFT, packet[0] & 0x01); input_report_key(dev, BTN_RIGHT, packet[0] & 0x02); - if ((etd->fw_version_maj == 0x01) && + if (etd->fw_version < 0x020000 && (etd->capabilities & ETP_CAP_HAS_ROCKER)) { /* rocker up */ input_report_key(dev, BTN_FORWARD, packet[0] & 0x40); @@ -225,9 +237,6 @@ } input_sync(dev); - - discard_packet_v1: - old_fingers = fingers; } /* @@ -246,34 +255,47 @@ switch (fingers) { case 1: - /* byte 1: x15 x14 x13 x12 x11 x10 x9 x8 - byte 2: x7 x6 x5 x4 x4 x2 x1 x0 */ - input_report_abs(dev, ABS_X, (packet[1] << 8) | packet[2]); - /* byte 4: y15 y14 y13 y12 y11 y10 y8 y8 - byte 5: y7 y6 y5 y4 y3 y2 y1 y0 */ - input_report_abs(dev, ABS_Y, ETP_YMAX_V2 - - ((packet[4] << 8) | packet[5])); + /* + * byte 1: . . . . . x10 x9 x8 + * byte 2: x7 x6 x5 x4 x4 x2 x1 x0 + */ + input_report_abs(dev, ABS_X, + ((packet[1] & 0x07) << 8) | packet[2]); + /* + * byte 4: . . . . . . y9 y8 + * byte 5: y7 y6 y5 y4 y3 y2 y1 y0 + */ + input_report_abs(dev, ABS_Y, + ETP_YMAX_V2 - (((packet[4] & 0x03) << 8) | packet[5])); break; case 2: - /* The coordinate of each finger is reported separately with - a lower resolution for two finger touches */ - /* byte 0: . . ay8 ax8 . . . . - byte 1: ax7 ax6 ax5 ax4 ax3 ax2 ax1 ax0 */ + /* + * The coordinate of each finger is reported separately + * with a lower resolution for two finger touches: + * byte 0: . . ay8 ax8 . . . . + * byte 1: ax7 ax6 ax5 ax4 ax3 ax2 ax1 ax0 + */ x1 = ((packet[0] & 0x10) << 4) | packet[1]; /* byte 2: ay7 ay6 ay5 ay4 ay3 ay2 ay1 ay0 */ y1 = ETP_2FT_YMAX - (((packet[0] & 0x20) << 3) | packet[2]); - /* byte 3: . . by8 bx8 . . . . - byte 4: bx7 bx6 bx5 bx4 bx3 bx2 bx1 bx0 */ + /* + * byte 3: . . by8 bx8 . . . . + * byte 4: bx7 bx6 bx5 bx4 bx3 bx2 bx1 bx0 + */ x2 = ((packet[3] & 0x10) << 4) | packet[4]; /* byte 5: by7 by8 by5 by4 by3 by2 by1 by0 */ y2 = ETP_2FT_YMAX - (((packet[3] & 0x20) << 3) | packet[5]); - /* For compatibility with the X Synaptics driver scale up one - coordinate and report as ordinary mouse movent */ + /* + * For compatibility with the X Synaptics driver scale up + * one coordinate and report as ordinary mouse movent + */ input_report_abs(dev, ABS_X, x1 << 2); input_report_abs(dev, ABS_Y, y1 << 2); - /* For compatibility with the proprietary X Elantech driver - report both coordinates as hat coordinates */ + /* + * For compatibility with the proprietary X Elantech driver + * report both coordinates as hat coordinates + */ input_report_abs(dev, ABS_HAT0X, x1); input_report_abs(dev, ABS_HAT0Y, y1); input_report_abs(dev, ABS_HAT1X, x2); @@ -297,7 +319,7 @@ unsigned char p1, p2, p3; /* Parity bits are placed differently */ - if (etd->fw_version_maj == 0x01) { + if (etd->fw_version < 0x020000) { /* byte 0: D U p1 p2 1 p3 R L */ p1 = (packet[0] & 0x20) >> 5; p2 = (packet[0] & 0x10) >> 4; @@ -420,6 +442,7 @@ __set_bit(EV_KEY, dev->evbit); __set_bit(EV_ABS, dev->evbit); + __clear_bit(EV_REL, dev->evbit); __set_bit(BTN_LEFT, dev->keybit); __set_bit(BTN_RIGHT, dev->keybit); @@ -432,7 +455,7 @@ switch (etd->hw_version) { case 1: /* Rocker button */ - if ((etd->fw_version_maj == 0x01) && + if (etd->fw_version < 0x020000 && (etd->capabilities & ETP_CAP_HAS_ROCKER)) { __set_bit(BTN_FORWARD, dev->keybit); __set_bit(BTN_BACK, dev->keybit); @@ -550,6 +573,24 @@ .attrs = elantech_attrs, }; +static bool elantech_is_signature_valid(const unsigned char *param) +{ + static const unsigned char rates[] = { 200, 100, 80, 60, 40, 20, 10 }; + int i; + + if (param[0] == 0) + return false; + + if (param[1] == 0) + return true; + + for (i = 0; i < ARRAY_SIZE(rates); i++) + if (param[2] == rates[i]) + return false; + + return true; +} + /* * Use magic knock to detect Elantech touchpad */ @@ -593,9 +634,13 @@ pr_debug("elantech.c: Elantech version query result 0x%02x, 0x%02x, 0x%02x.\n", param[0], param[1], param[2]); - if (param[0] == 0 || param[1] != 0) { - pr_debug("elantech.c: Probably not a real Elantech touchpad. Aborting.\n"); - return -1; + if (!elantech_is_signature_valid(param)) { + if (!force_elantech) { + pr_debug("elantech.c: Probably not a real Elantech touchpad. Aborting.\n"); + return -1; + } + + pr_debug("elantech.c: Probably not a real Elantech touchpad. Enabling anyway due to force_elantech.\n"); } if (set_properties) { @@ -657,14 +702,14 @@ pr_err("elantech.c: failed to query firmware version.\n"); goto init_fail; } - etd->fw_version_maj = param[0]; - etd->fw_version_min = param[2]; + + etd->fw_version = (param[0] << 16) | (param[1] << 8) | param[2]; /* * Assume every version greater than this is new EeePC style * hardware with 6 byte packets */ - if (etd->fw_version_maj >= 0x02 && etd->fw_version_min >= 0x30) { + if (etd->fw_version >= 0x020030) { etd->hw_version = 2; /* For now show extra debug information */ etd->debug = 1; @@ -674,8 +719,9 @@ etd->hw_version = 1; etd->paritycheck = 1; } - pr_info("elantech.c: assuming hardware version %d, firmware version %d.%d\n", - etd->hw_version, etd->fw_version_maj, etd->fw_version_min); + + pr_info("elantech.c: assuming hardware version %d, firmware version %d.%d.%d\n", + etd->hw_version, param[0], param[1], param[2]); if (synaptics_send_cmd(psmouse, ETP_CAPABILITIES_QUERY, param)) { pr_err("elantech.c: failed to query capabilities.\n"); @@ -686,14 +732,14 @@ etd->capabilities = param[0]; /* - * This firmware seems to suffer from misreporting coordinates when + * This firmware suffers from misreporting coordinates when * a touch action starts causing the mouse cursor or scrolled page * to jump. Enable a workaround. */ - if (etd->fw_version_maj == 0x02 && etd->fw_version_min == 0x22) { - pr_info("elantech.c: firmware version 2.34 detected, " + if (etd->fw_version == 0x020022 || etd->fw_version == 0x020600) { + pr_info("elantech.c: firmware version 2.0.34/2.6.0 detected, " "enabling jumpy cursor workaround\n"); - etd->jumpy_cursor = 1; + etd->jumpy_cursor = true; } if (elantech_set_absolute_mode(psmouse)) { --- linux-2.6.32.orig/drivers/input/mouse/elantech.h +++ linux-2.6.32/drivers/input/mouse/elantech.h @@ -100,11 +100,11 @@ unsigned char reg_26; unsigned char debug; unsigned char capabilities; - unsigned char fw_version_maj; - unsigned char fw_version_min; + bool paritycheck; + bool jumpy_cursor; unsigned char hw_version; - unsigned char paritycheck; - unsigned char jumpy_cursor; + unsigned int fw_version; + unsigned int single_finger_reports; unsigned char parity[256]; }; --- linux-2.6.32.orig/drivers/input/mouse/psmouse-base.c +++ linux-2.6.32/drivers/input/mouse/psmouse-base.c @@ -667,19 +667,6 @@ max_proto = PSMOUSE_IMEX; } -/* - * Try Finger Sensing Pad - */ - if (max_proto > PSMOUSE_IMEX) { - if (fsp_detect(psmouse, set_properties) == 0) { - if (!set_properties || fsp_init(psmouse) == 0) - return PSMOUSE_FSP; -/* - * Init failed, try basic relative protocols - */ - max_proto = PSMOUSE_IMEX; - } - } if (max_proto > PSMOUSE_IMEX) { if (genius_detect(psmouse, set_properties) == 0) @@ -696,6 +683,21 @@ } /* + * Try Finger Sensing Pad. We do it here because its probe upsets + * Trackpoint devices (causing TP_READ_ID command to time out). + */ + if (max_proto > PSMOUSE_IMEX) { + if (fsp_detect(psmouse, set_properties) == 0) { + if (!set_properties || fsp_init(psmouse) == 0) + return PSMOUSE_FSP; +/* + * Init failed, try basic relative protocols + */ + max_proto = PSMOUSE_IMEX; + } + } + +/* * Reset to defaults in case the device got confused by extended * protocol probes. Note that we follow up with full reset because * some mice put themselves to sleep when they see PSMOUSE_RESET_DIS. @@ -1347,6 +1349,7 @@ struct psmouse *psmouse = serio_get_drvdata(serio); struct psmouse *parent = NULL; struct serio_driver *drv = serio->drv; + unsigned char type; int rc = -1; if (!drv || !psmouse) { @@ -1366,10 +1369,15 @@ if (psmouse->reconnect) { if (psmouse->reconnect(psmouse)) goto out; - } else if (psmouse_probe(psmouse) < 0 || - psmouse->type != psmouse_extensions(psmouse, - psmouse_max_proto, false)) { - goto out; + } else { + psmouse_reset(psmouse); + + if (psmouse_probe(psmouse) < 0) + goto out; + + type = psmouse_extensions(psmouse, psmouse_max_proto, false); + if (psmouse->type != type) + goto out; } /* ok, the device type (and capabilities) match the old one, --- linux-2.6.32.orig/drivers/input/mouse/synaptics.c +++ linux-2.6.32/drivers/input/mouse/synaptics.c @@ -135,7 +135,8 @@ if (synaptics_send_cmd(psmouse, SYN_QUE_CAPABILITIES, cap)) return -1; priv->capabilities = (cap[0] << 16) | (cap[1] << 8) | cap[2]; - priv->ext_cap = 0; + priv->ext_cap = priv->ext_cap_0c = 0; + if (!SYN_CAP_VALID(priv->capabilities)) return -1; @@ -148,7 +149,7 @@ if (SYN_EXT_CAP_REQUESTS(priv->capabilities) >= 1) { if (synaptics_send_cmd(psmouse, SYN_QUE_EXT_CAPAB, cap)) { printk(KERN_ERR "Synaptics claims to have extended capabilities," - " but I'm not able to read them."); + " but I'm not able to read them.\n"); } else { priv->ext_cap = (cap[0] << 16) | (cap[1] << 8) | cap[2]; @@ -160,6 +161,16 @@ priv->ext_cap &= 0xff0fff; } } + + if (SYN_EXT_CAP_REQUESTS(priv->capabilities) >= 4) { + if (synaptics_send_cmd(psmouse, SYN_QUE_EXT_CAPAB_0C, cap)) { + printk(KERN_ERR "Synaptics claims to have extended capability 0x0c," + " but I'm not able to read it.\n"); + } else { + priv->ext_cap_0c = (cap[0] << 16) | (cap[1] << 8) | cap[2]; + } + } + return 0; } @@ -346,7 +357,15 @@ hw->left = (buf[0] & 0x01) ? 1 : 0; hw->right = (buf[0] & 0x02) ? 1 : 0; - if (SYN_CAP_MIDDLE_BUTTON(priv->capabilities)) { + if (SYN_CAP_CLICKPAD(priv->ext_cap_0c)) { + /* + * Clickpad's button is transmitted as middle button, + * however, since it is primary button, we will report + * it as BTN_LEFT. + */ + hw->left = ((buf[0] ^ buf[3]) & 0x01) ? 1 : 0; + + } else if (SYN_CAP_MIDDLE_BUTTON(priv->capabilities)) { hw->middle = ((buf[0] ^ buf[3]) & 0x01) ? 1 : 0; if (hw->w == 2) hw->scroll = (signed char)(buf[1]); @@ -591,6 +610,12 @@ dev->absres[ABS_X] = priv->x_res; dev->absres[ABS_Y] = priv->y_res; + + if (SYN_CAP_CLICKPAD(priv->ext_cap_0c)) { + /* Clickpads report only left button */ + __clear_bit(BTN_RIGHT, dev->keybit); + __clear_bit(BTN_MIDDLE, dev->keybit); + } } static void synaptics_disconnect(struct psmouse *psmouse) @@ -689,10 +714,10 @@ priv->pkt_type = SYN_MODEL_NEWABS(priv->model_id) ? SYN_NEWABS : SYN_OLDABS; - printk(KERN_INFO "Synaptics Touchpad, model: %ld, fw: %ld.%ld, id: %#lx, caps: %#lx/%#lx\n", + printk(KERN_INFO "Synaptics Touchpad, model: %ld, fw: %ld.%ld, id: %#lx, caps: %#lx/%#lx/%#lx\n", SYN_ID_MODEL(priv->identity), SYN_ID_MAJOR(priv->identity), SYN_ID_MINOR(priv->identity), - priv->model_id, priv->capabilities, priv->ext_cap); + priv->model_id, priv->capabilities, priv->ext_cap, priv->ext_cap_0c); set_input_params(psmouse->dev, priv); --- linux-2.6.32.orig/drivers/input/mouse/synaptics.h +++ linux-2.6.32/drivers/input/mouse/synaptics.h @@ -18,6 +18,7 @@ #define SYN_QUE_SERIAL_NUMBER_SUFFIX 0x07 #define SYN_QUE_RESOLUTION 0x08 #define SYN_QUE_EXT_CAPAB 0x09 +#define SYN_QUE_EXT_CAPAB_0C 0x0c /* synatics modes */ #define SYN_BIT_ABSOLUTE_MODE (1 << 7) @@ -48,6 +49,8 @@ #define SYN_CAP_VALID(c) ((((c) & 0x00ff00) >> 8) == 0x47) #define SYN_EXT_CAP_REQUESTS(c) (((c) & 0x700000) >> 20) #define SYN_CAP_MULTI_BUTTON_NO(ec) (((ec) & 0x00f000) >> 12) +#define SYN_CAP_PRODUCT_ID(ec) (((ec) & 0xff0000) >> 16) +#define SYN_CAP_CLICKPAD(ex0c) ((ex0c) & 0x100100) /* synaptics modes query bits */ #define SYN_MODE_ABSOLUTE(m) ((m) & (1 << 7)) @@ -96,6 +99,7 @@ unsigned long int model_id; /* Model-ID */ unsigned long int capabilities; /* Capabilities */ unsigned long int ext_cap; /* Extended Capabilities */ + unsigned long int ext_cap_0c; /* Ext Caps from 0x0c query */ unsigned long int identity; /* Identification */ int x_res; /* X resolution in units/mm */ int y_res; /* Y resolution in units/mm */ --- linux-2.6.32.orig/drivers/input/serio/i8042-x86ia64io.h +++ linux-2.6.32/drivers/input/serio/i8042-x86ia64io.h @@ -67,10 +67,12 @@ #include -static struct dmi_system_id __initdata i8042_dmi_noloop_table[] = { +static const struct dmi_system_id __initconst i8042_dmi_noloop_table[] = { { - /* AUX LOOP command does not raise AUX IRQ */ - .ident = "Arima-Rioworks HDAMB", + /* + * Arima-Rioworks HDAMB - + * AUX LOOP command does not raise AUX IRQ + */ .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "RIOWORKS"), DMI_MATCH(DMI_BOARD_NAME, "HDAMB"), @@ -78,7 +80,7 @@ }, }, { - .ident = "ASUS G1S", + /* ASUS G1S */ .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer Inc."), DMI_MATCH(DMI_BOARD_NAME, "G1S"), @@ -86,8 +88,7 @@ }, }, { - /* AUX LOOP command does not raise AUX IRQ */ - .ident = "ASUS P65UP5", + /* ASUS P65UP5 - AUX LOOP command does not raise AUX IRQ */ .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), DMI_MATCH(DMI_BOARD_NAME, "P/I-P65UP5"), @@ -95,7 +96,6 @@ }, }, { - .ident = "Compaq Proliant 8500", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Compaq"), DMI_MATCH(DMI_PRODUCT_NAME , "ProLiant"), @@ -103,7 +103,6 @@ }, }, { - .ident = "Compaq Proliant DL760", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Compaq"), DMI_MATCH(DMI_PRODUCT_NAME , "ProLiant"), @@ -111,7 +110,7 @@ }, }, { - .ident = "OQO Model 01", + /* OQO Model 01 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "OQO"), DMI_MATCH(DMI_PRODUCT_NAME, "ZEPTO"), @@ -119,8 +118,7 @@ }, }, { - /* AUX LOOP does not work properly */ - .ident = "ULI EV4873", + /* ULI EV4873 - AUX LOOP does not work properly */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "ULI"), DMI_MATCH(DMI_PRODUCT_NAME, "EV4873"), @@ -128,7 +126,7 @@ }, }, { - .ident = "Microsoft Virtual Machine", + /* Microsoft Virtual Machine */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Microsoft Corporation"), DMI_MATCH(DMI_PRODUCT_NAME, "Virtual Machine"), @@ -136,7 +134,7 @@ }, }, { - .ident = "Medion MAM 2070", + /* Medion MAM 2070 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), DMI_MATCH(DMI_PRODUCT_NAME, "MAM 2070"), @@ -144,7 +142,7 @@ }, }, { - .ident = "Blue FB5601", + /* Blue FB5601 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "blue"), DMI_MATCH(DMI_PRODUCT_NAME, "FB5601"), @@ -152,7 +150,7 @@ }, }, { - .ident = "Gigabyte M912", + /* Gigabyte M912 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), DMI_MATCH(DMI_PRODUCT_NAME, "M912"), @@ -160,7 +158,21 @@ }, }, { - .ident = "HP DV9700", + /* Gigabyte M1022M netbook */ + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Gigabyte Technology Co.,Ltd."), + DMI_MATCH(DMI_BOARD_NAME, "M1022E"), + DMI_MATCH(DMI_BOARD_VERSION, "1.02"), + }, + }, + { + /* Gigabyte Spring Peak - defines wrong chassis type */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), + DMI_MATCH(DMI_PRODUCT_NAME, "Spring Peak"), + }, + }, + { .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion dv9700"), @@ -177,72 +189,72 @@ * ... apparently some Toshibas don't like MUX mode either and * die horrible death on reboot. */ -static struct dmi_system_id __initdata i8042_dmi_nomux_table[] = { +static const struct dmi_system_id __initconst i8042_dmi_nomux_table[] = { { - .ident = "Fujitsu Lifebook P7010/P7010D", + /* Fujitsu Lifebook P7010/P7010D */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), DMI_MATCH(DMI_PRODUCT_NAME, "P7010"), }, }, { - .ident = "Fujitsu Lifebook P7010", + /* Fujitsu Lifebook P7010 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), DMI_MATCH(DMI_PRODUCT_NAME, "0000000000"), }, }, { - .ident = "Fujitsu Lifebook P5020D", + /* Fujitsu Lifebook P5020D */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook P Series"), }, }, { - .ident = "Fujitsu Lifebook S2000", + /* Fujitsu Lifebook S2000 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook S Series"), }, }, { - .ident = "Fujitsu Lifebook S6230", + /* Fujitsu Lifebook S6230 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook S6230"), }, }, { - .ident = "Fujitsu T70H", + /* Fujitsu T70H */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), DMI_MATCH(DMI_PRODUCT_NAME, "FMVLT70H"), }, }, { - .ident = "Fujitsu-Siemens Lifebook T3010", + /* Fujitsu-Siemens Lifebook T3010 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK T3010"), }, }, { - .ident = "Fujitsu-Siemens Lifebook E4010", + /* Fujitsu-Siemens Lifebook E4010 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK E4010"), }, }, { - .ident = "Fujitsu-Siemens Amilo Pro 2010", + /* Fujitsu-Siemens Amilo Pro 2010 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Pro V2010"), }, }, { - .ident = "Fujitsu-Siemens Amilo Pro 2030", + /* Fujitsu-Siemens Amilo Pro 2030 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), DMI_MATCH(DMI_PRODUCT_NAME, "AMILO PRO V2030"), @@ -253,7 +265,7 @@ * No data is coming from the touchscreen unless KBC * is in legacy mode. */ - .ident = "Panasonic CF-29", + /* Panasonic CF-29 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Matsushita"), DMI_MATCH(DMI_PRODUCT_NAME, "CF-29"), @@ -261,10 +273,10 @@ }, { /* - * Errors on MUX ports are reported without raising AUXDATA + * HP Pavilion DV4017EA - + * errors on MUX ports are reported without raising AUXDATA * causing "spurious NAK" messages. */ - .ident = "HP Pavilion DV4017EA", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), DMI_MATCH(DMI_PRODUCT_NAME, "Pavilion dv4000 (EA032EA#ABF)"), @@ -272,9 +284,9 @@ }, { /* - * Like DV4017EA does not raise AUXERR for errors on MUX ports. + * HP Pavilion ZT1000 - + * like DV4017EA does not raise AUXERR for errors on MUX ports. */ - .ident = "HP Pavilion ZT1000", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion Notebook PC"), @@ -283,44 +295,48 @@ }, { /* - * Like DV4017EA does not raise AUXERR for errors on MUX ports. + * HP Pavilion DV4270ca - + * like DV4017EA does not raise AUXERR for errors on MUX ports. */ - .ident = "HP Pavilion DV4270ca", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), DMI_MATCH(DMI_PRODUCT_NAME, "Pavilion dv4000 (EH476UA#ABL)"), }, }, { - .ident = "Toshiba P10", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), DMI_MATCH(DMI_PRODUCT_NAME, "Satellite P10"), }, }, { - .ident = "Toshiba Equium A110", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), DMI_MATCH(DMI_PRODUCT_NAME, "EQUIUM A110"), }, }, { - .ident = "Alienware Sentia", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "ALIENWARE"), DMI_MATCH(DMI_PRODUCT_NAME, "Sentia"), }, }, { - .ident = "Sharp Actius MM20", + /* Sharp Actius MM20 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "SHARP"), DMI_MATCH(DMI_PRODUCT_NAME, "PC-MM20 Series"), }, }, { - .ident = "Sony Vaio FS-115b", + /* Sony Vaio VPCZ122GX */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "VPCZ122GX"), + }, + }, + { + /* Sony Vaio FS-115b */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FS115B"), @@ -328,141 +344,154 @@ }, { /* - * Reset and GET ID commands issued via KBD port are + * Sony Vaio FZ-240E - + * reset and GET ID commands issued via KBD port are * sometimes being delivered to AUX3. */ - .ident = "Sony Vaio FZ-240E", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FZ240E"), }, }, { - .ident = "Amoi M636/A737", + /* Amoi M636/A737 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Amoi Electronics CO.,LTD."), DMI_MATCH(DMI_PRODUCT_NAME, "M636/A737 platform"), }, }, { - .ident = "Lenovo 3000 n100", + /* Lenovo 3000 n100 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), DMI_MATCH(DMI_PRODUCT_NAME, "076804U"), }, }, { - .ident = "Acer Aspire 1360", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Acer"), DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 1360"), }, }, { - .ident = "Gericom Bellagio", + /* Gericom Bellagio */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Gericom"), DMI_MATCH(DMI_PRODUCT_NAME, "N34AS6"), }, }, { - .ident = "IBM 2656", + /* IBM 2656 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "IBM"), DMI_MATCH(DMI_PRODUCT_NAME, "2656"), }, }, { - .ident = "Dell XPS M1530", + /* Dell XPS M1530 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_PRODUCT_NAME, "XPS M1530"), }, }, { - .ident = "Compal HEL80I", + /* Compal HEL80I */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "COMPAL"), DMI_MATCH(DMI_PRODUCT_NAME, "HEL80I"), }, }, { - .ident = "Dell Vostro 1510", + /* Dell Vostro 1510 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_PRODUCT_NAME, "Vostro1510"), }, }, { - .ident = "Acer Aspire 5536", + /* Acer Aspire 5536 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Acer"), DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5536"), DMI_MATCH(DMI_PRODUCT_VERSION, "0100"), }, }, + { + /* Dell Vostro V13 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Vostro V13"), + }, + }, { } }; -static struct dmi_system_id __initdata i8042_dmi_reset_table[] = { +static const struct dmi_system_id __initconst i8042_dmi_reset_table[] = { { - .ident = "MSI Wind U-100", + /* MSI Wind U-100 */ .matches = { DMI_MATCH(DMI_BOARD_NAME, "U-100"), DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"), }, }, { - .ident = "LG Electronics X110", + /* LG Electronics X110 */ .matches = { DMI_MATCH(DMI_BOARD_NAME, "X110"), DMI_MATCH(DMI_BOARD_VENDOR, "LG Electronics Inc."), }, }, { - .ident = "Acer Aspire One 150", + /* Acer Aspire One 150 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Acer"), DMI_MATCH(DMI_PRODUCT_NAME, "AOA150"), }, }, { - .ident = "Advent 4211", + /* Advent 4211 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "DIXONSXP"), DMI_MATCH(DMI_PRODUCT_NAME, "Advent 4211"), }, }, { - .ident = "Medion Akoya Mini E1210", + /* Medion Akoya Mini E1210 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "MEDION"), DMI_MATCH(DMI_PRODUCT_NAME, "E1210"), }, }, { - .ident = "Mivvy M310", + /* Medion Akoya E1222 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "MEDION"), + DMI_MATCH(DMI_PRODUCT_NAME, "E122X"), + }, + }, + { + /* Mivvy M310 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "VIOOO"), DMI_MATCH(DMI_PRODUCT_NAME, "N10"), }, }, { - .ident = "Dell Vostro 1320", + /* Dell Vostro 1320 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 1320"), }, }, { - .ident = "Dell Vostro 1520", + /* Dell Vostro 1520 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 1520"), }, }, { - .ident = "Dell Vostro 1720", + /* Dell Vostro 1720 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 1720"), @@ -472,16 +501,16 @@ }; #ifdef CONFIG_PNP -static struct dmi_system_id __initdata i8042_dmi_nopnp_table[] = { +static const struct dmi_system_id __initconst i8042_dmi_nopnp_table[] = { { - .ident = "Intel MBO Desktop D845PESV", + /* Intel MBO Desktop D845PESV */ .matches = { DMI_MATCH(DMI_BOARD_NAME, "D845PESV"), DMI_MATCH(DMI_BOARD_VENDOR, "Intel Corporation"), }, }, { - .ident = "MSI Wind U-100", + /* MSI Wind U-100 */ .matches = { DMI_MATCH(DMI_BOARD_NAME, "U-100"), DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"), @@ -490,27 +519,23 @@ { } }; -static struct dmi_system_id __initdata i8042_dmi_laptop_table[] = { +static const struct dmi_system_id __initconst i8042_dmi_laptop_table[] = { { - .ident = "Portable", .matches = { DMI_MATCH(DMI_CHASSIS_TYPE, "8"), /* Portable */ }, }, { - .ident = "Laptop", .matches = { DMI_MATCH(DMI_CHASSIS_TYPE, "9"), /* Laptop */ }, }, { - .ident = "Notebook", .matches = { DMI_MATCH(DMI_CHASSIS_TYPE, "10"), /* Notebook */ }, }, { - .ident = "Sub-Notebook", .matches = { DMI_MATCH(DMI_CHASSIS_TYPE, "14"), /* Sub-Notebook */ }, @@ -519,64 +544,82 @@ }; #endif +static const struct dmi_system_id __initconst i8042_dmi_notimeout_table[] = { + { + /* Dell Vostro V13 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Vostro V13"), + }, + }, + { } +}; + /* * Some Wistron based laptops need us to explicitly enable the 'Dritek * keyboard extension' to make their extra keys start generating scancodes. * Originally, this was just confined to older laptops, but a few Acer laptops * have turned up in 2007 that also need this again. */ -static struct dmi_system_id __initdata i8042_dmi_dritek_table[] = { +static const struct dmi_system_id __initconst i8042_dmi_dritek_table[] = { + { + /* Acer Aspire 5610 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5610"), + }, + }, { - .ident = "Acer Aspire 5630", + /* Acer Aspire 5630 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Acer"), DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5630"), }, }, { - .ident = "Acer Aspire 5650", + /* Acer Aspire 5650 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Acer"), DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5650"), }, }, { - .ident = "Acer Aspire 5680", + /* Acer Aspire 5680 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Acer"), DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5680"), }, }, { - .ident = "Acer Aspire 5720", + /* Acer Aspire 5720 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Acer"), DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5720"), }, }, { - .ident = "Acer Aspire 9110", + /* Acer Aspire 9110 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Acer"), DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 9110"), }, }, { - .ident = "Acer TravelMate 660", + /* Acer TravelMate 660 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Acer"), DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 660"), }, }, { - .ident = "Acer TravelMate 2490", + /* Acer TravelMate 2490 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Acer"), DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 2490"), }, }, { - .ident = "Acer TravelMate 4280", + /* Acer TravelMate 4280 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Acer"), DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 4280"), @@ -841,6 +884,9 @@ if (dmi_check_system(i8042_dmi_nomux_table)) i8042_nomux = true; + if (dmi_check_system(i8042_dmi_notimeout_table)) + i8042_notimeout = true; + if (dmi_check_system(i8042_dmi_dritek_table)) i8042_dritek = true; #endif /* CONFIG_X86 */ --- linux-2.6.32.orig/drivers/input/serio/i8042.c +++ linux-2.6.32/drivers/input/serio/i8042.c @@ -64,6 +64,10 @@ module_param_named(panicblink, i8042_blink_frequency, uint, 0600); MODULE_PARM_DESC(panicblink, "Frequency with which keyboard LEDs should blink when kernel panics"); +static bool i8042_notimeout; +module_param_named(notimeout, i8042_notimeout, bool, 0); +MODULE_PARM_DESC(notimeout, "Ignore timeouts signalled by i8042"); + #ifdef CONFIG_X86 static bool i8042_dritek; module_param_named(dritek, i8042_dritek, bool, 0); @@ -434,7 +438,7 @@ } else { dfl = ((str & I8042_STR_PARITY) ? SERIO_PARITY : 0) | - ((str & I8042_STR_TIMEOUT) ? SERIO_TIMEOUT : 0); + ((str & I8042_STR_TIMEOUT && !i8042_notimeout) ? SERIO_TIMEOUT : 0); port_no = (str & I8042_STR_AUXDATA) ? I8042_AUX_PORT_NO : I8042_KBD_PORT_NO; @@ -1412,8 +1416,8 @@ static void __exit i8042_exit(void) { - platform_driver_unregister(&i8042_driver); platform_device_unregister(i8042_platform_device); + platform_driver_unregister(&i8042_driver); i8042_platform_exit(); panic_blink = NULL; --- linux-2.6.32.orig/drivers/input/tablet/wacom.h +++ linux-2.6.32/drivers/input/tablet/wacom.h @@ -1,7 +1,7 @@ /* * drivers/input/tablet/wacom.h * - * USB Wacom Graphire and Wacom Intuos tablet support + * USB Wacom tablet support * * Copyright (c) 2000-2004 Vojtech Pavlik * Copyright (c) 2000 Andreas Bach Aaen @@ -69,6 +69,9 @@ * v1.49 (pc) - Added support for USB Tablet PC (0x90, 0x93, and 0x9A) * v1.50 (pc) - Fixed a TabletPC touch bug in 2.6.28 * v1.51 (pc) - Added support for Intuos4 + * v1.52 (pc) - Query Wacom data upon system resume + * - add defines for features->type + * - add new devices (0x9F, 0xE2, and 0XE3) */ /* @@ -89,9 +92,9 @@ /* * Version Information */ -#define DRIVER_VERSION "v1.51" +#define DRIVER_VERSION "v1.52" #define DRIVER_AUTHOR "Vojtech Pavlik " -#define DRIVER_DESC "USB Wacom Graphire and Wacom Intuos tablet driver" +#define DRIVER_DESC "USB Wacom tablet driver" #define DRIVER_LICENSE "GPL" MODULE_AUTHOR(DRIVER_AUTHOR); @@ -133,6 +136,8 @@ extern void input_dev_i4(struct input_dev *input_dev, struct wacom_wac *wacom_wac); extern void input_dev_pl(struct input_dev *input_dev, struct wacom_wac *wacom_wac); extern void input_dev_pt(struct input_dev *input_dev, struct wacom_wac *wacom_wac); +extern void input_dev_tpc(struct input_dev *input_dev, struct wacom_wac *wacom_wac); +extern void input_dev_tpc2fg(struct input_dev *input_dev, struct wacom_wac *wacom_wac); extern void input_dev_mo(struct input_dev *input_dev, struct wacom_wac *wacom_wac); extern void input_dev_bee(struct input_dev *input_dev, struct wacom_wac *wacom_wac); extern __u16 wacom_le16_to_cpu(unsigned char *data); --- linux-2.6.32.orig/drivers/input/tablet/wacom_sys.c +++ linux-2.6.32/drivers/input/tablet/wacom_sys.c @@ -1,7 +1,7 @@ /* * drivers/input/tablet/wacom_sys.c * - * USB Wacom Graphire and Wacom Intuos tablet support - system specific code + * USB Wacom tablet support - system specific code */ /* @@ -209,6 +209,7 @@ input_dev->keybit[BIT_WORD(BTN_MOUSE)] |= BIT_MASK(BTN_LEFT) | BIT_MASK(BTN_RIGHT) | BIT_MASK(BTN_MIDDLE); input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_RUBBER) | + BIT_MASK(BTN_TOOL_PEN) | BIT_MASK(BTN_STYLUS) | BIT_MASK(BTN_TOOL_MOUSE) | BIT_MASK(BTN_STYLUS2); input_set_abs_params(input_dev, ABS_DISTANCE, 0, wacom_wac->features->distance_max, 0, 0); } @@ -256,6 +257,7 @@ BIT_MASK(BTN_RIGHT) | BIT_MASK(BTN_MIDDLE) | BIT_MASK(BTN_SIDE) | BIT_MASK(BTN_EXTRA); input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_RUBBER) | + BIT_MASK(BTN_TOOL_PEN) | BIT_MASK(BTN_STYLUS) | BIT_MASK(BTN_TOOL_MOUSE) | BIT_MASK(BTN_TOOL_BRUSH) | BIT_MASK(BTN_TOOL_PENCIL) | BIT_MASK(BTN_TOOL_AIRBRUSH) | BIT_MASK(BTN_TOOL_LENS) | BIT_MASK(BTN_STYLUS2); @@ -269,7 +271,8 @@ void input_dev_pl(struct input_dev *input_dev, struct wacom_wac *wacom_wac) { - input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_STYLUS2); + input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_PEN) | + BIT_MASK(BTN_STYLUS) | BIT_MASK(BTN_STYLUS2); } void input_dev_pt(struct input_dev *input_dev, struct wacom_wac *wacom_wac) @@ -277,12 +280,32 @@ input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_RUBBER); } +void input_dev_tpc(struct input_dev *input_dev, struct wacom_wac *wacom_wac) +{ + if (wacom_wac->features->device_type == BTN_TOOL_DOUBLETAP || + wacom_wac->features->device_type == BTN_TOOL_TRIPLETAP) { + input_set_abs_params(input_dev, ABS_RX, 0, wacom_wac->features->x_phy, 0, 0); + input_set_abs_params(input_dev, ABS_RY, 0, wacom_wac->features->y_phy, 0, 0); + input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_DOUBLETAP); + } +} + +void input_dev_tpc2fg(struct input_dev *input_dev, struct wacom_wac *wacom_wac) +{ + if (wacom_wac->features->device_type == BTN_TOOL_TRIPLETAP) { + input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_TRIPLETAP); + input_dev->evbit[0] |= BIT_MASK(EV_MSC); + input_dev->mscbit[0] |= BIT_MASK(MSC_SERIAL); + } +} + static int wacom_parse_hid(struct usb_interface *intf, struct hid_descriptor *hid_desc, - struct wacom_wac *wacom_wac) + struct wacom_features *features) { struct usb_device *dev = interface_to_usbdev(intf); - struct wacom_features *features = wacom_wac->features; - char limit = 0, result = 0; + char limit = 0; + /* result has to be defined as int for some devices */ + int result = 0; int i = 0, usage = WCM_UNDEFINED, finger = 0, pen = 0; unsigned char *report; @@ -328,13 +351,24 @@ case HID_USAGE_X: if (usage == WCM_DESKTOP) { if (finger) { - features->touch_x_max = - features->touch_y_max = - wacom_le16_to_cpu(&report[i + 3]); + features->device_type = BTN_TOOL_DOUBLETAP; + if (features->type == TABLETPC2FG) { + /* need to reset back */ + features->pktlen = WACOM_PKGLEN_TPC2FG; + features->device_type = BTN_TOOL_TRIPLETAP; + } features->x_max = + wacom_le16_to_cpu(&report[i + 3]); + features->x_phy = wacom_le16_to_cpu(&report[i + 6]); - i += 7; + features->unit = report[i + 9]; + features->unitExpo = report[i + 11]; + i += 12; } else if (pen) { + /* penabled only accepts exact bytes of data */ + if (features->type == TABLETPC2FG) + features->pktlen = WACOM_PKGLEN_PENABLED; + features->device_type = BTN_TOOL_PEN; features->x_max = wacom_le16_to_cpu(&report[i + 3]); i += 4; @@ -350,10 +384,35 @@ break; case HID_USAGE_Y: - if (usage == WCM_DESKTOP) - features->y_max = - wacom_le16_to_cpu(&report[i + 3]); - i += 4; + if (usage == WCM_DESKTOP) { + if (finger) { + features->device_type = BTN_TOOL_DOUBLETAP; + if (features->type == TABLETPC2FG) { + /* need to reset back */ + features->pktlen = WACOM_PKGLEN_TPC2FG; + features->device_type = BTN_TOOL_TRIPLETAP; + features->y_max = + wacom_le16_to_cpu(&report[i + 3]); + features->y_phy = + wacom_le16_to_cpu(&report[i + 6]); + i += 7; + } else { + features->y_max = + features->x_max; + features->y_phy = + wacom_le16_to_cpu(&report[i + 3]); + i += 4; + } + } else if (pen) { + /* penabled only accepts exact bytes of data */ + if (features->type == TABLETPC2FG) + features->pktlen = WACOM_PKGLEN_PENABLED; + features->device_type = BTN_TOOL_PEN; + features->y_max = + wacom_le16_to_cpu(&report[i + 3]); + i += 4; + } + } break; case HID_USAGE_FINGER: @@ -376,7 +435,7 @@ break; case HID_COLLECTION: - /* reset UsagePage ans Finger */ + /* reset UsagePage and Finger */ finger = usage = 0; break; } @@ -388,43 +447,92 @@ return result; } -static int wacom_query_tablet_data(struct usb_interface *intf) +static int wacom_query_tablet_data(struct usb_interface *intf, struct wacom_features *features) { unsigned char *rep_data; - int limit = 0; - int error; + int limit = 0, report_id = 2; + int error = -ENOMEM; rep_data = kmalloc(2, GFP_KERNEL); if (!rep_data) - return -ENOMEM; + return error; - do { - rep_data[0] = 2; - rep_data[1] = 2; - error = usb_set_report(intf, WAC_HID_FEATURE_REPORT, - 2, rep_data, 2); - if (error >= 0) - error = usb_get_report(intf, - WAC_HID_FEATURE_REPORT, 2, - rep_data, 2); - } while ((error < 0 || rep_data[1] != 2) && limit++ < 5); + /* ask to report tablet data if it is 2FGT or not a Tablet PC */ + if (features->device_type == BTN_TOOL_TRIPLETAP) { + do { + rep_data[0] = 3; + rep_data[1] = 4; + report_id = 3; + error = usb_set_report(intf, WAC_HID_FEATURE_REPORT, + report_id, rep_data, 2); + if (error >= 0) + error = usb_get_report(intf, + WAC_HID_FEATURE_REPORT, report_id, + rep_data, 3); + } while ((error < 0 || rep_data[1] != 4) && limit++ < 5); + } else if (features->type != TABLETPC && features->type != TABLETPC2FG) { + do { + rep_data[0] = 2; + rep_data[1] = 2; + error = usb_set_report(intf, WAC_HID_FEATURE_REPORT, + report_id, rep_data, 2); + if (error >= 0) + error = usb_get_report(intf, + WAC_HID_FEATURE_REPORT, report_id, + rep_data, 2); + } while ((error < 0 || rep_data[1] != 2) && limit++ < 5); + } kfree(rep_data); return error < 0 ? error : 0; } +static int wacom_retrieve_hid_descriptor(struct usb_interface *intf, + struct wacom_features *features) +{ + int error = 0; + struct usb_host_interface *interface = intf->cur_altsetting; + struct hid_descriptor *hid_desc; + + /* default device to penabled */ + features->device_type = BTN_TOOL_PEN; + + /* only Tablet PCs need to retrieve the info */ + if ((features->type != TABLETPC) && (features->type != TABLETPC2FG)) + goto out; + + if (usb_get_extra_descriptor(interface, HID_DEVICET_HID, &hid_desc)) { + if (usb_get_extra_descriptor(&interface->endpoint[0], + HID_DEVICET_REPORT, &hid_desc)) { + printk("wacom: can not retrieve extra class descriptor\n"); + error = 1; + goto out; + } + } + error = wacom_parse_hid(intf, hid_desc, features); + if (error) + goto out; + + /* touch device found but size is not defined. use default */ + if (features->device_type == BTN_TOOL_DOUBLETAP && !features->x_max) { + features->x_max = 1023; + features->y_max = 1023; + } + + out: + return error; +} + static int wacom_probe(struct usb_interface *intf, const struct usb_device_id *id) { struct usb_device *dev = interface_to_usbdev(intf); - struct usb_host_interface *interface = intf->cur_altsetting; struct usb_endpoint_descriptor *endpoint; struct wacom *wacom; struct wacom_wac *wacom_wac; struct wacom_features *features; struct input_dev *input_dev; int error = -ENOMEM; - struct hid_descriptor *hid_desc; wacom = kzalloc(sizeof(struct wacom), GFP_KERNEL); wacom_wac = kzalloc(sizeof(struct wacom_wac), GFP_KERNEL); @@ -432,7 +540,7 @@ if (!wacom || !input_dev || !wacom_wac) goto fail1; - wacom_wac->data = usb_buffer_alloc(dev, 10, GFP_KERNEL, &wacom->data_dma); + wacom_wac->data = usb_buffer_alloc(dev, WACOM_PKGLEN_MAX, GFP_KERNEL, &wacom->data_dma); if (!wacom_wac->data) goto fail1; @@ -448,7 +556,7 @@ strlcat(wacom->phys, "/input0", sizeof(wacom->phys)); wacom_wac->features = features = get_wacom_feature(id); - BUG_ON(features->pktlen > 10); + BUG_ON(features->pktlen > WACOM_PKGLEN_MAX); input_dev->name = wacom_wac->features->name; wacom->wacom_wac = wacom_wac; @@ -463,47 +571,24 @@ endpoint = &intf->cur_altsetting->endpoint[0].desc; - /* Initialize touch_x_max and touch_y_max in case it is not defined */ - if (wacom_wac->features->type == TABLETPC) { - features->touch_x_max = 1023; - features->touch_y_max = 1023; - } else { - features->touch_x_max = 0; - features->touch_y_max = 0; - } - - /* TabletPC need to retrieve the physical and logical maximum from report descriptor */ - if (wacom_wac->features->type == TABLETPC) { - if (usb_get_extra_descriptor(interface, HID_DEVICET_HID, &hid_desc)) { - if (usb_get_extra_descriptor(&interface->endpoint[0], - HID_DEVICET_REPORT, &hid_desc)) { - printk("wacom: can not retrive extra class descriptor\n"); - goto fail2; - } - } - error = wacom_parse_hid(intf, hid_desc, wacom_wac); - if (error) - goto fail2; - } + /* Retrieve the physical and logical size for OEM devices */ + error = wacom_retrieve_hid_descriptor(intf, features); + if (error) + goto fail2; input_dev->evbit[0] |= BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); - input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_PEN) | - BIT_MASK(BTN_TOUCH) | BIT_MASK(BTN_STYLUS); + input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOUCH); + input_set_abs_params(input_dev, ABS_X, 0, features->x_max, 4, 0); input_set_abs_params(input_dev, ABS_Y, 0, features->y_max, 4, 0); input_set_abs_params(input_dev, ABS_PRESSURE, 0, features->pressure_max, 0, 0); - if (features->type == TABLETPC) { - input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_DOUBLETAP); - input_set_abs_params(input_dev, ABS_RX, 0, features->touch_x_max, 4, 0); - input_set_abs_params(input_dev, ABS_RY, 0, features->touch_y_max, 4, 0); - } input_dev->absbit[BIT_WORD(ABS_MISC)] |= BIT_MASK(ABS_MISC); wacom_init_input_dev(input_dev, wacom_wac); usb_fill_int_urb(wacom->irq, dev, usb_rcvintpipe(dev, endpoint->bEndpointAddress), - wacom_wac->data, wacom_wac->features->pktlen, + wacom_wac->data, features->pktlen, wacom_sys_irq, wacom, endpoint->bInterval); wacom->irq->transfer_dma = wacom->data_dma; wacom->irq->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; @@ -512,18 +597,14 @@ if (error) goto fail3; - /* - * Ask the tablet to report tablet data if it is not a Tablet PC. - * Note that if query fails it is not a hard failure. - */ - if (wacom_wac->features->type != TABLETPC) - wacom_query_tablet_data(intf); + /* Note that if query fails it is not a hard failure */ + wacom_query_tablet_data(intf, features); usb_set_intfdata(intf, wacom); return 0; fail3: usb_free_urb(wacom->irq); - fail2: usb_buffer_free(dev, 10, wacom_wac->data, wacom->data_dma); + fail2: usb_buffer_free(dev, WACOM_PKGLEN_MAX, wacom_wac->data, wacom->data_dma); fail1: input_free_device(input_dev); kfree(wacom); kfree(wacom_wac); @@ -539,7 +620,7 @@ usb_kill_urb(wacom->irq); input_unregister_device(wacom->dev); usb_free_urb(wacom->irq); - usb_buffer_free(interface_to_usbdev(intf), 10, + usb_buffer_free(interface_to_usbdev(intf), WACOM_PKGLEN_MAX, wacom->wacom_wac->data, wacom->data_dma); kfree(wacom->wacom_wac); kfree(wacom); @@ -559,13 +640,19 @@ static int wacom_resume(struct usb_interface *intf) { struct wacom *wacom = usb_get_intfdata(intf); + struct wacom_features *features = wacom->wacom_wac->features; int rv; mutex_lock(&wacom->lock); + + /* switch to wacom mode first */ + wacom_query_tablet_data(intf, features); + if (wacom->open) rv = usb_submit_urb(wacom->irq, GFP_NOIO); else rv = 0; + mutex_unlock(&wacom->lock); return rv; --- linux-2.6.32.orig/drivers/input/tablet/wacom_wac.c +++ linux-2.6.32/drivers/input/tablet/wacom_wac.c @@ -1,7 +1,7 @@ /* * drivers/input/tablet/wacom_wac.c * - * USB Wacom Graphire and Wacom Intuos tablet support - Wacom specific code + * USB Wacom tablet support - Wacom specific code * */ @@ -65,9 +65,8 @@ prox = data[1] & 0x40; - wacom->id[0] = ERASER_DEVICE_ID; if (prox) { - + wacom->id[0] = ERASER_DEVICE_ID; pressure = (signed char)((data[7] << 1) | ((data[4] >> 2) & 1)); if (wacom->features->pressure_max > 255) pressure = (pressure << 1) | ((data[4] >> 6) & 1); @@ -608,54 +607,146 @@ return 1; } + +static void wacom_tpc_finger_in(struct wacom_wac *wacom, void *wcombo, char *data, int idx) +{ + wacom_report_abs(wcombo, ABS_X, + (data[2 + idx * 2] & 0xff) | ((data[3 + idx * 2] & 0x7f) << 8)); + wacom_report_abs(wcombo, ABS_Y, + (data[6 + idx * 2] & 0xff) | ((data[7 + idx * 2] & 0x7f) << 8)); + wacom_report_abs(wcombo, ABS_MISC, wacom->id[0]); + wacom_report_key(wcombo, wacom->tool[idx], 1); + if (idx) + wacom_input_event(wcombo, EV_MSC, MSC_SERIAL, 0xf0); + else + wacom_report_key(wcombo, BTN_TOUCH, 1); +} + +static void wacom_tpc_touch_out(struct wacom_wac *wacom, void *wcombo, int idx) +{ + wacom_report_abs(wcombo, ABS_X, 0); + wacom_report_abs(wcombo, ABS_Y, 0); + wacom_report_abs(wcombo, ABS_MISC, 0); + wacom_report_key(wcombo, wacom->tool[idx], 0); + if (idx) + wacom_input_event(wcombo, EV_MSC, MSC_SERIAL, 0xf0); + else + wacom_report_key(wcombo, BTN_TOUCH, 0); + return; +} + +static void wacom_tpc_touch_in(struct wacom_wac *wacom, void *wcombo) +{ + char *data = wacom->data; + struct urb *urb = ((struct wacom_combo *)wcombo)->urb; + static int firstFinger = 0; + static int secondFinger = 0; + + wacom->tool[0] = BTN_TOOL_DOUBLETAP; + wacom->id[0] = TOUCH_DEVICE_ID; + wacom->tool[1] = BTN_TOOL_TRIPLETAP; + + if (urb->actual_length != WACOM_PKGLEN_TPC1FG) { + switch (data[0]) { + case 6: + wacom_report_abs(wcombo, ABS_X, wacom_le16_to_cpu(&data[2])); + wacom_report_abs(wcombo, ABS_Y, wacom_le16_to_cpu(&data[4])); + wacom_report_abs(wcombo, ABS_PRESSURE, wacom_le16_to_cpu(&data[6])); + wacom_report_key(wcombo, BTN_TOUCH, wacom_le16_to_cpu(&data[6])); + wacom_report_abs(wcombo, ABS_MISC, wacom->id[0]); + wacom_report_key(wcombo, wacom->tool[0], 1); + break; + case 13: + /* keep this byte to send proper out-prox event */ + wacom->id[1] = data[1] & 0x03; + + if (data[1] & 0x01) { + wacom_tpc_finger_in(wacom, wcombo, data, 0); + firstFinger = 1; + } else if (firstFinger) { + wacom_tpc_touch_out(wacom, wcombo, 0); + } + + if (data[1] & 0x02) { + /* sync first finger data */ + if (firstFinger) + wacom_input_sync(wcombo); + + wacom_tpc_finger_in(wacom, wcombo, data, 1); + secondFinger = 1; + } else if (secondFinger) { + /* sync first finger data */ + if (firstFinger) + wacom_input_sync(wcombo); + + wacom_tpc_touch_out(wacom, wcombo, 1); + secondFinger = 0; + } + if (!(data[1] & 0x01)) + firstFinger = 0; + break; + } + } else { + wacom_report_abs(wcombo, ABS_X, wacom_le16_to_cpu(&data[1])); + wacom_report_abs(wcombo, ABS_Y, wacom_le16_to_cpu(&data[3])); + wacom_report_key(wcombo, BTN_TOUCH, 1); + wacom_report_abs(wcombo, ABS_MISC, wacom->id[0]); + wacom_report_key(wcombo, wacom->tool[0], 1); + } + return; +} + static int wacom_tpc_irq(struct wacom_wac *wacom, void *wcombo) { char *data = wacom->data; - int prox = 0, pressure; + int prox = 0, pressure, idx = -1; static int stylusInProx, touchInProx = 1, touchOut; struct urb *urb = ((struct wacom_combo *)wcombo)->urb; dbg("wacom_tpc_irq: received report #%d", data[0]); - if (urb->actual_length == 5 || data[0] == 6) { /* Touch data */ - if (urb->actual_length == 5) { /* with touch */ - prox = data[0] & 0x03; + if (urb->actual_length == WACOM_PKGLEN_TPC1FG || + data[0] == 6 || /* single touch */ + data[0] == 13) { /* 2FG touch */ + if (urb->actual_length == WACOM_PKGLEN_TPC1FG) { /* with touch */ + prox = data[0] & 0x01; } else { /* with capacity */ - prox = data[1] & 0x03; + if (data[0] == 6) + /* single touch */ + prox = data[1] & 0x01; + else + /* 2FG touch data */ + prox = data[1] & 0x03; } if (!stylusInProx) { /* stylus not in prox */ if (prox) { if (touchInProx) { - wacom->tool[1] = BTN_TOOL_DOUBLETAP; - wacom->id[0] = TOUCH_DEVICE_ID; - if (urb->actual_length != 5) { - wacom_report_abs(wcombo, ABS_X, wacom_le16_to_cpu(&data[2])); - wacom_report_abs(wcombo, ABS_Y, wacom_le16_to_cpu(&data[4])); - wacom_report_abs(wcombo, ABS_PRESSURE, wacom_le16_to_cpu(&data[6])); - wacom_report_key(wcombo, BTN_TOUCH, wacom_le16_to_cpu(&data[6])); - } else { - wacom_report_abs(wcombo, ABS_X, wacom_le16_to_cpu(&data[1])); - wacom_report_abs(wcombo, ABS_Y, wacom_le16_to_cpu(&data[3])); - wacom_report_key(wcombo, BTN_TOUCH, 1); - } - wacom_report_abs(wcombo, ABS_MISC, wacom->id[0]); - wacom_report_key(wcombo, wacom->tool[1], prox & 0x01); + wacom_tpc_touch_in(wacom, wcombo); touchOut = 1; return 1; } } else { - wacom_report_abs(wcombo, ABS_MISC, wacom->id[0]); - wacom_report_key(wcombo, wacom->tool[1], prox & 0x01); - wacom_report_key(wcombo, BTN_TOUCH, 0); + /* 2FGT out-prox */ + if ((data[0] & 0xff) == 13) { + idx = (wacom->id[1] & 0x01) - 1; + if (idx == 0) { + wacom_tpc_touch_out(wacom, wcombo, idx); + /* sync first finger event */ + if (wacom->id[1] & 0x02) + wacom_input_sync(wcombo); + } + idx = (wacom->id[1] & 0x02) - 1; + if (idx == 1) + wacom_tpc_touch_out(wacom, wcombo, idx); + } else /* one finger touch */ + wacom_tpc_touch_out(wacom, wcombo, 0); touchOut = 0; touchInProx = 1; return 1; } } else if (touchOut || !prox) { /* force touch out-prox */ - wacom_report_abs(wcombo, ABS_MISC, TOUCH_DEVICE_ID); - wacom_report_key(wcombo, wacom->tool[1], 0); - wacom_report_key(wcombo, BTN_TOUCH, 0); + wacom_tpc_touch_out(wacom, wcombo, 0); touchOut = 0; touchInProx = 1; return 1; @@ -665,38 +756,14 @@ touchInProx = 0; - wacom->id[0] = ERASER_DEVICE_ID; - - /* - * if going from out of proximity into proximity select between the eraser - * and the pen based on the state of the stylus2 button, choose eraser if - * pressed else choose pen. if not a proximity change from out to in, send - * an out of proximity for previous tool then a in for new tool. - */ if (prox) { /* in prox */ - if (!wacom->tool[0]) { + if (!wacom->id[0]) { /* Going into proximity select tool */ - wacom->tool[1] = (data[1] & 0x08) ? BTN_TOOL_RUBBER : BTN_TOOL_PEN; - if (wacom->tool[1] == BTN_TOOL_PEN) + wacom->tool[0] = (data[1] & 0x0c) ? BTN_TOOL_RUBBER : BTN_TOOL_PEN; + if (wacom->tool[0] == BTN_TOOL_PEN) wacom->id[0] = STYLUS_DEVICE_ID; - } else if (wacom->tool[1] == BTN_TOOL_RUBBER && !(data[1] & 0x08)) { - /* - * was entered with stylus2 pressed - * report out proximity for previous tool - */ - wacom_report_abs(wcombo, ABS_MISC, wacom->id[0]); - wacom_report_key(wcombo, wacom->tool[1], 0); - wacom_input_sync(wcombo); - - /* set new tool */ - wacom->tool[1] = BTN_TOOL_PEN; - wacom->id[0] = STYLUS_DEVICE_ID; - return 0; - } - if (wacom->tool[1] != BTN_TOOL_RUBBER) { - /* Unknown tool selected default to pen tool */ - wacom->tool[1] = BTN_TOOL_PEN; - wacom->id[0] = STYLUS_DEVICE_ID; + else + wacom->id[0] = ERASER_DEVICE_ID; } wacom_report_key(wcombo, BTN_STYLUS, data[1] & 0x02); wacom_report_key(wcombo, BTN_STYLUS2, data[1] & 0x10); @@ -706,17 +773,21 @@ if (pressure < 0) pressure = wacom->features->pressure_max + pressure + 1; wacom_report_abs(wcombo, ABS_PRESSURE, pressure); - wacom_report_key(wcombo, BTN_TOUCH, pressure); + wacom_report_key(wcombo, BTN_TOUCH, data[1] & 0x05); } else { + wacom_report_abs(wcombo, ABS_X, 0); + wacom_report_abs(wcombo, ABS_Y, 0); wacom_report_abs(wcombo, ABS_PRESSURE, 0); wacom_report_key(wcombo, BTN_STYLUS, 0); wacom_report_key(wcombo, BTN_STYLUS2, 0); wacom_report_key(wcombo, BTN_TOUCH, 0); + wacom->id[0] = 0; + /* pen is out so touch can be enabled now */ + touchInProx = 1; } - wacom_report_key(wcombo, wacom->tool[1], prox); + wacom_report_key(wcombo, wacom->tool[0], prox); wacom_report_abs(wcombo, ABS_MISC, wacom->id[0]); stylusInProx = prox; - wacom->tool[0] = prox; return 1; } return 0; @@ -751,6 +822,7 @@ return wacom_intuos_irq(wacom_wac, wcombo); case TABLETPC: + case TABLETPC2FG: return wacom_tpc_irq(wacom_wac, wcombo); default: @@ -791,9 +863,17 @@ input_dev_i4s(input_dev, wacom_wac); input_dev_i(input_dev, wacom_wac); break; + case TABLETPC2FG: + input_dev_tpc2fg(input_dev, wacom_wac); + /* fall through */ + case TABLETPC: + input_dev_tpc(input_dev, wacom_wac); + if (wacom_wac->features->device_type != BTN_TOOL_PEN) + break; /* no need to process stylus stuff */ + + /* fall through */ case PL: case PTU: - case TABLETPC: input_dev_pl(input_dev, wacom_wac); /* fall through */ case PENPARTNER: @@ -804,66 +884,69 @@ } static struct wacom_features wacom_features[] = { - { "Wacom Penpartner", 7, 5040, 3780, 255, 0, PENPARTNER }, - { "Wacom Graphire", 8, 10206, 7422, 511, 63, GRAPHIRE }, - { "Wacom Graphire2 4x5", 8, 10206, 7422, 511, 63, GRAPHIRE }, - { "Wacom Graphire2 5x7", 8, 13918, 10206, 511, 63, GRAPHIRE }, - { "Wacom Graphire3", 8, 10208, 7424, 511, 63, GRAPHIRE }, - { "Wacom Graphire3 6x8", 8, 16704, 12064, 511, 63, GRAPHIRE }, - { "Wacom Graphire4 4x5", 8, 10208, 7424, 511, 63, WACOM_G4 }, - { "Wacom Graphire4 6x8", 8, 16704, 12064, 511, 63, WACOM_G4 }, - { "Wacom BambooFun 4x5", 9, 14760, 9225, 511, 63, WACOM_MO }, - { "Wacom BambooFun 6x8", 9, 21648, 13530, 511, 63, WACOM_MO }, - { "Wacom Bamboo1 Medium",8, 16704, 12064, 511, 63, GRAPHIRE }, - { "Wacom Volito", 8, 5104, 3712, 511, 63, GRAPHIRE }, - { "Wacom PenStation2", 8, 3250, 2320, 255, 63, GRAPHIRE }, - { "Wacom Volito2 4x5", 8, 5104, 3712, 511, 63, GRAPHIRE }, - { "Wacom Volito2 2x3", 8, 3248, 2320, 511, 63, GRAPHIRE }, - { "Wacom PenPartner2", 8, 3250, 2320, 511, 63, GRAPHIRE }, - { "Wacom Bamboo", 9, 14760, 9225, 511, 63, WACOM_MO }, - { "Wacom Bamboo1", 8, 5104, 3712, 511, 63, GRAPHIRE }, - { "Wacom Intuos 4x5", 10, 12700, 10600, 1023, 31, INTUOS }, - { "Wacom Intuos 6x8", 10, 20320, 16240, 1023, 31, INTUOS }, - { "Wacom Intuos 9x12", 10, 30480, 24060, 1023, 31, INTUOS }, - { "Wacom Intuos 12x12", 10, 30480, 31680, 1023, 31, INTUOS }, - { "Wacom Intuos 12x18", 10, 45720, 31680, 1023, 31, INTUOS }, - { "Wacom PL400", 8, 5408, 4056, 255, 0, PL }, - { "Wacom PL500", 8, 6144, 4608, 255, 0, PL }, - { "Wacom PL600", 8, 6126, 4604, 255, 0, PL }, - { "Wacom PL600SX", 8, 6260, 5016, 255, 0, PL }, - { "Wacom PL550", 8, 6144, 4608, 511, 0, PL }, - { "Wacom PL800", 8, 7220, 5780, 511, 0, PL }, - { "Wacom PL700", 8, 6758, 5406, 511, 0, PL }, - { "Wacom PL510", 8, 6282, 4762, 511, 0, PL }, - { "Wacom DTU710", 8, 34080, 27660, 511, 0, PL }, - { "Wacom DTF521", 8, 6282, 4762, 511, 0, PL }, - { "Wacom DTF720", 8, 6858, 5506, 511, 0, PL }, - { "Wacom DTF720a", 8, 6858, 5506, 511, 0, PL }, - { "Wacom Cintiq Partner",8, 20480, 15360, 511, 0, PTU }, - { "Wacom Intuos2 4x5", 10, 12700, 10600, 1023, 31, INTUOS }, - { "Wacom Intuos2 6x8", 10, 20320, 16240, 1023, 31, INTUOS }, - { "Wacom Intuos2 9x12", 10, 30480, 24060, 1023, 31, INTUOS }, - { "Wacom Intuos2 12x12", 10, 30480, 31680, 1023, 31, INTUOS }, - { "Wacom Intuos2 12x18", 10, 45720, 31680, 1023, 31, INTUOS }, - { "Wacom Intuos3 4x5", 10, 25400, 20320, 1023, 63, INTUOS3S }, - { "Wacom Intuos3 6x8", 10, 40640, 30480, 1023, 63, INTUOS3 }, - { "Wacom Intuos3 9x12", 10, 60960, 45720, 1023, 63, INTUOS3 }, - { "Wacom Intuos3 12x12", 10, 60960, 60960, 1023, 63, INTUOS3L }, - { "Wacom Intuos3 12x19", 10, 97536, 60960, 1023, 63, INTUOS3L }, - { "Wacom Intuos3 6x11", 10, 54204, 31750, 1023, 63, INTUOS3 }, - { "Wacom Intuos3 4x6", 10, 31496, 19685, 1023, 63, INTUOS3S }, - { "Wacom Intuos4 4x6", 10, 31496, 19685, 2047, 63, INTUOS4S }, - { "Wacom Intuos4 6x9", 10, 44704, 27940, 2047, 63, INTUOS4 }, - { "Wacom Intuos4 8x13", 10, 65024, 40640, 2047, 63, INTUOS4L }, - { "Wacom Intuos4 12x19", 10, 97536, 60960, 2047, 63, INTUOS4L }, - { "Wacom Cintiq 21UX", 10, 87200, 65600, 1023, 63, CINTIQ }, - { "Wacom Cintiq 20WSX", 10, 86680, 54180, 1023, 63, WACOM_BEE }, - { "Wacom Cintiq 12WX", 10, 53020, 33440, 1023, 63, WACOM_BEE }, - { "Wacom DTU1931", 8, 37832, 30305, 511, 0, PL }, - { "Wacom ISDv4 90", 8, 26202, 16325, 255, 0, TABLETPC }, - { "Wacom ISDv4 93", 8, 26202, 16325, 255, 0, TABLETPC }, - { "Wacom ISDv4 9A", 8, 26202, 16325, 255, 0, TABLETPC }, - { "Wacom Intuos2 6x8", 10, 20320, 16240, 1023, 31, INTUOS }, + { "Wacom Penpartner", WACOM_PKGLEN_PENPRTN, 5040, 3780, 255, 0, PENPARTNER }, + { "Wacom Graphire", WACOM_PKGLEN_GRAPHIRE, 10206, 7422, 511, 63, GRAPHIRE }, + { "Wacom Graphire2 4x5", WACOM_PKGLEN_GRAPHIRE, 10206, 7422, 511, 63, GRAPHIRE }, + { "Wacom Graphire2 5x7", WACOM_PKGLEN_GRAPHIRE, 13918, 10206, 511, 63, GRAPHIRE }, + { "Wacom Graphire3", WACOM_PKGLEN_GRAPHIRE, 10208, 7424, 511, 63, GRAPHIRE }, + { "Wacom Graphire3 6x8", WACOM_PKGLEN_GRAPHIRE, 16704, 12064, 511, 63, GRAPHIRE }, + { "Wacom Graphire4 4x5", WACOM_PKGLEN_GRAPHIRE, 10208, 7424, 511, 63, WACOM_G4 }, + { "Wacom Graphire4 6x8", WACOM_PKGLEN_GRAPHIRE, 16704, 12064, 511, 63, WACOM_G4 }, + { "Wacom BambooFun 4x5", WACOM_PKGLEN_BBFUN, 14760, 9225, 511, 63, WACOM_MO }, + { "Wacom BambooFun 6x8", WACOM_PKGLEN_BBFUN, 21648, 13530, 511, 63, WACOM_MO }, + { "Wacom Bamboo1 Medium", WACOM_PKGLEN_GRAPHIRE, 16704, 12064, 511, 63, GRAPHIRE }, + { "Wacom Volito", WACOM_PKGLEN_GRAPHIRE, 5104, 3712, 511, 63, GRAPHIRE }, + { "Wacom PenStation2", WACOM_PKGLEN_GRAPHIRE, 3250, 2320, 255, 63, GRAPHIRE }, + { "Wacom Volito2 4x5", WACOM_PKGLEN_GRAPHIRE, 5104, 3712, 511, 63, GRAPHIRE }, + { "Wacom Volito2 2x3", WACOM_PKGLEN_GRAPHIRE, 3248, 2320, 511, 63, GRAPHIRE }, + { "Wacom PenPartner2", WACOM_PKGLEN_GRAPHIRE, 3250, 2320, 511, 63, GRAPHIRE }, + { "Wacom Bamboo", WACOM_PKGLEN_BBFUN, 14760, 9225, 511, 63, WACOM_MO }, + { "Wacom Bamboo1", WACOM_PKGLEN_GRAPHIRE, 5104, 3712, 511, 63, GRAPHIRE }, + { "Wacom Intuos 4x5", WACOM_PKGLEN_INTUOS, 12700, 10600, 1023, 31, INTUOS }, + { "Wacom Intuos 6x8", WACOM_PKGLEN_INTUOS, 20320, 16240, 1023, 31, INTUOS }, + { "Wacom Intuos 9x12", WACOM_PKGLEN_INTUOS, 30480, 24060, 1023, 31, INTUOS }, + { "Wacom Intuos 12x12", WACOM_PKGLEN_INTUOS, 30480, 31680, 1023, 31, INTUOS }, + { "Wacom Intuos 12x18", WACOM_PKGLEN_INTUOS, 45720, 31680, 1023, 31, INTUOS }, + { "Wacom PL400", WACOM_PKGLEN_GRAPHIRE, 5408, 4056, 255, 0, PL }, + { "Wacom PL500", WACOM_PKGLEN_GRAPHIRE, 6144, 4608, 255, 0, PL }, + { "Wacom PL600", WACOM_PKGLEN_GRAPHIRE, 6126, 4604, 255, 0, PL }, + { "Wacom PL600SX", WACOM_PKGLEN_GRAPHIRE, 6260, 5016, 255, 0, PL }, + { "Wacom PL550", WACOM_PKGLEN_GRAPHIRE, 6144, 4608, 511, 0, PL }, + { "Wacom PL800", WACOM_PKGLEN_GRAPHIRE, 7220, 5780, 511, 0, PL }, + { "Wacom PL700", WACOM_PKGLEN_GRAPHIRE, 6758, 5406, 511, 0, PL }, + { "Wacom PL510", WACOM_PKGLEN_GRAPHIRE, 6282, 4762, 511, 0, PL }, + { "Wacom DTU710", WACOM_PKGLEN_GRAPHIRE, 34080, 27660, 511, 0, PL }, + { "Wacom DTF521", WACOM_PKGLEN_GRAPHIRE, 6282, 4762, 511, 0, PL }, + { "Wacom DTF720", WACOM_PKGLEN_GRAPHIRE, 6858, 5506, 511, 0, PL }, + { "Wacom DTF720a", WACOM_PKGLEN_GRAPHIRE, 6858, 5506, 511, 0, PL }, + { "Wacom Cintiq Partner", WACOM_PKGLEN_GRAPHIRE, 20480, 15360, 511, 0, PTU }, + { "Wacom Intuos2 4x5", WACOM_PKGLEN_INTUOS, 12700, 10600, 1023, 31, INTUOS }, + { "Wacom Intuos2 6x8", WACOM_PKGLEN_INTUOS, 20320, 16240, 1023, 31, INTUOS }, + { "Wacom Intuos2 9x12", WACOM_PKGLEN_INTUOS, 30480, 24060, 1023, 31, INTUOS }, + { "Wacom Intuos2 12x12", WACOM_PKGLEN_INTUOS, 30480, 31680, 1023, 31, INTUOS }, + { "Wacom Intuos2 12x18", WACOM_PKGLEN_INTUOS, 45720, 31680, 1023, 31, INTUOS }, + { "Wacom Intuos3 4x5", WACOM_PKGLEN_INTUOS, 25400, 20320, 1023, 63, INTUOS3S }, + { "Wacom Intuos3 6x8", WACOM_PKGLEN_INTUOS, 40640, 30480, 1023, 63, INTUOS3 }, + { "Wacom Intuos3 9x12", WACOM_PKGLEN_INTUOS, 60960, 45720, 1023, 63, INTUOS3 }, + { "Wacom Intuos3 12x12", WACOM_PKGLEN_INTUOS, 60960, 60960, 1023, 63, INTUOS3L }, + { "Wacom Intuos3 12x19", WACOM_PKGLEN_INTUOS, 97536, 60960, 1023, 63, INTUOS3L }, + { "Wacom Intuos3 6x11", WACOM_PKGLEN_INTUOS, 54204, 31750, 1023, 63, INTUOS3 }, + { "Wacom Intuos3 4x6", WACOM_PKGLEN_INTUOS, 31496, 19685, 1023, 63, INTUOS3S }, + { "Wacom Intuos4 4x6", WACOM_PKGLEN_INTUOS, 31496, 19685, 2047, 63, INTUOS4S }, + { "Wacom Intuos4 6x9", WACOM_PKGLEN_INTUOS, 44704, 27940, 2047, 63, INTUOS4 }, + { "Wacom Intuos4 8x13", WACOM_PKGLEN_INTUOS, 65024, 40640, 2047, 63, INTUOS4L }, + { "Wacom Intuos4 12x19", WACOM_PKGLEN_INTUOS, 97536, 60960, 2047, 63, INTUOS4L }, + { "Wacom Cintiq 21UX", WACOM_PKGLEN_INTUOS, 87200, 65600, 1023, 63, CINTIQ }, + { "Wacom Cintiq 20WSX", WACOM_PKGLEN_INTUOS, 86680, 54180, 1023, 63, WACOM_BEE }, + { "Wacom Cintiq 12WX", WACOM_PKGLEN_INTUOS, 53020, 33440, 1023, 63, WACOM_BEE }, + { "Wacom DTU1931", WACOM_PKGLEN_GRAPHIRE, 37832, 30305, 511, 0, PL }, + { "Wacom ISDv4 90", WACOM_PKGLEN_GRAPHIRE, 26202, 16325, 255, 0, TABLETPC }, + { "Wacom ISDv4 93", WACOM_PKGLEN_GRAPHIRE, 26202, 16325, 255, 0, TABLETPC }, + { "Wacom ISDv4 9A", WACOM_PKGLEN_GRAPHIRE, 26202, 16325, 255, 0, TABLETPC }, + { "Wacom ISDv4 9F", WACOM_PKGLEN_PENABLED, 26202, 16325, 255, 0, TABLETPC }, + { "Wacom ISDv4 E2", WACOM_PKGLEN_TPC2FG, 26202, 16325, 255, 0, TABLETPC2FG }, + { "Wacom ISDv4 E3", WACOM_PKGLEN_TPC2FG, 26202, 16325, 255, 0, TABLETPC2FG }, + { "Wacom Intuos2 6x8", WACOM_PKGLEN_INTUOS, 20320, 16240, 1023, 31, INTUOS }, { } }; @@ -927,6 +1010,9 @@ { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x90) }, { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x93) }, { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x9A) }, + { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x9F) }, + { USB_DEVICE(USB_VENDOR_ID_WACOM, 0xE2) }, + { USB_DEVICE(USB_VENDOR_ID_WACOM, 0xE3) }, { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x47) }, { } }; --- linux-2.6.32.orig/drivers/input/tablet/wacom_wac.h +++ linux-2.6.32/drivers/input/tablet/wacom_wac.h @@ -9,6 +9,19 @@ #ifndef WACOM_WAC_H #define WACOM_WAC_H +/* maximum packet length for USB devices */ +#define WACOM_PKGLEN_MAX 32 + +/* packet length for individual models */ +#define WACOM_PKGLEN_PENPRTN 7 +#define WACOM_PKGLEN_GRAPHIRE 8 +#define WACOM_PKGLEN_BBFUN 9 +#define WACOM_PKGLEN_INTUOS 10 +#define WACOM_PKGLEN_PENABLED 8 +#define WACOM_PKGLEN_TPC1FG 5 +#define WACOM_PKGLEN_TPC2FG 14 + +/* device IDs */ #define STYLUS_DEVICE_ID 0x02 #define TOUCH_DEVICE_ID 0x03 #define CURSOR_DEVICE_ID 0x06 @@ -32,6 +45,7 @@ WACOM_BEE, WACOM_MO, TABLETPC, + TABLETPC2FG, MAX_TYPE }; @@ -43,8 +57,11 @@ int pressure_max; int distance_max; int type; - int touch_x_max; - int touch_y_max; + int device_type; + int x_phy; + int y_phy; + unsigned char unit; + unsigned char unitExpo; }; struct wacom_wac { --- linux-2.6.32.orig/drivers/isdn/gigaset/ev-layer.c +++ linux-2.6.32/drivers/isdn/gigaset/ev-layer.c @@ -1243,14 +1243,10 @@ * note that bcs may be NULL if no B channel is free */ at_state2->ConState = 700; - kfree(at_state2->str_var[STR_NMBR]); - at_state2->str_var[STR_NMBR] = NULL; - kfree(at_state2->str_var[STR_ZCPN]); - at_state2->str_var[STR_ZCPN] = NULL; - kfree(at_state2->str_var[STR_ZBC]); - at_state2->str_var[STR_ZBC] = NULL; - kfree(at_state2->str_var[STR_ZHLC]); - at_state2->str_var[STR_ZHLC] = NULL; + for (i = 0; i < STR_NUM; ++i) { + kfree(at_state2->str_var[i]); + at_state2->str_var[i] = NULL; + } at_state2->int_var[VAR_ZCTP] = -1; spin_lock_irqsave(&cs->lock, flags); --- linux-2.6.32.orig/drivers/isdn/gigaset/interface.c +++ linux-2.6.32/drivers/isdn/gigaset/interface.c @@ -635,7 +635,6 @@ if ((tty = cs->tty) == NULL) gig_dbg(DEBUG_ANY, "receive on closed device"); else { - tty_buffer_request_room(tty, len); tty_insert_flip_string(tty, buffer, len); tty_flip_buffer_push(tty); } --- linux-2.6.32.orig/drivers/isdn/hisax/config.c +++ linux-2.6.32/drivers/isdn/hisax/config.c @@ -800,6 +800,16 @@ ll_unload(csta); } +static irqreturn_t card_irq(int intno, void *dev_id) +{ + struct IsdnCardState *cs = dev_id; + irqreturn_t ret = cs->irq_func(intno, cs); + + if (ret == IRQ_HANDLED) + cs->irq_cnt++; + return ret; +} + static int init_card(struct IsdnCardState *cs) { int irq_cnt, cnt = 3, ret; @@ -808,10 +818,10 @@ ret = cs->cardmsg(cs, CARD_INIT, NULL); return(ret); } - irq_cnt = kstat_irqs(cs->irq); + irq_cnt = cs->irq_cnt = 0; printk(KERN_INFO "%s: IRQ %d count %d\n", CardType[cs->typ], cs->irq, irq_cnt); - if (request_irq(cs->irq, cs->irq_func, cs->irq_flags, "HiSax", cs)) { + if (request_irq(cs->irq, card_irq, cs->irq_flags, "HiSax", cs)) { printk(KERN_WARNING "HiSax: couldn't get interrupt %d\n", cs->irq); return 1; @@ -821,8 +831,8 @@ /* Timeout 10ms */ msleep(10); printk(KERN_INFO "%s: IRQ %d count %d\n", - CardType[cs->typ], cs->irq, kstat_irqs(cs->irq)); - if (kstat_irqs(cs->irq) == irq_cnt) { + CardType[cs->typ], cs->irq, cs->irq_cnt); + if (cs->irq_cnt == irq_cnt) { printk(KERN_WARNING "%s: IRQ(%d) getting no interrupts during init %d\n", CardType[cs->typ], cs->irq, 4 - cnt); --- linux-2.6.32.orig/drivers/isdn/hisax/hisax.h +++ linux-2.6.32/drivers/isdn/hisax/hisax.h @@ -959,6 +959,7 @@ u_long event; struct work_struct tqueue; struct timer_list dbusytimer; + unsigned int irq_cnt; #ifdef ERROR_STATISTIC int err_crc; int err_tx; --- linux-2.6.32.orig/drivers/isdn/i4l/isdn_tty.c +++ linux-2.6.32/drivers/isdn/i4l/isdn_tty.c @@ -2635,12 +2635,6 @@ if ((info->flags & ISDN_ASYNC_CLOSING) || (!info->tty)) { return; } -#ifdef CONFIG_ISDN_AUDIO - if ( !info->vonline ) - tty_ldisc_flush(info->tty); -#else - tty_ldisc_flush(info->tty); -#endif if ((info->flags & ISDN_ASYNC_CHECK_CD) && (!((info->flags & ISDN_ASYNC_CALLOUT_ACTIVE) && (info->flags & ISDN_ASYNC_CALLOUT_NOHUP)))) { --- linux-2.6.32.orig/drivers/isdn/sc/ioctl.c +++ linux-2.6.32/drivers/isdn/sc/ioctl.c @@ -174,7 +174,7 @@ pr_debug("%s: SCIOGETSPID: ioctl received\n", sc_adapter[card]->devicename); - spid = kmalloc(SCIOC_SPIDSIZE, GFP_KERNEL); + spid = kzalloc(SCIOC_SPIDSIZE, GFP_KERNEL); if (!spid) { kfree(rcvmsg); return -ENOMEM; @@ -194,7 +194,7 @@ kfree(rcvmsg); return status; } - strcpy(spid, rcvmsg->msg_data.byte_array); + strlcpy(spid, rcvmsg->msg_data.byte_array, SCIOC_SPIDSIZE); /* * Package the switch type and send to user space @@ -272,12 +272,12 @@ return status; } - dn = kmalloc(SCIOC_DNSIZE, GFP_KERNEL); + dn = kzalloc(SCIOC_DNSIZE, GFP_KERNEL); if (!dn) { kfree(rcvmsg); return -ENOMEM; } - strcpy(dn, rcvmsg->msg_data.byte_array); + strlcpy(dn, rcvmsg->msg_data.byte_array, SCIOC_DNSIZE); kfree(rcvmsg); /* @@ -348,7 +348,7 @@ pr_debug("%s: SCIOSTAT: ioctl received\n", sc_adapter[card]->devicename); - bi = kmalloc (sizeof(boardInfo), GFP_KERNEL); + bi = kzalloc(sizeof(boardInfo), GFP_KERNEL); if (!bi) { kfree(rcvmsg); return -ENOMEM; --- linux-2.6.32.orig/drivers/leds/Kconfig +++ linux-2.6.32/drivers/leds/Kconfig @@ -236,6 +236,13 @@ This option enables support for BD2802GU RGB LED driver chips accessed via the I2C bus. +config LEDS_DELL_NETBOOKS + tristate "External LED on Dell Business Netbooks" + depends on LEDS_CLASS && X86 && ACPI_WMI + help + This adds support for the Latitude 2100 and similar + notebooks that have an external LED. + comment "LED Triggers" config LEDS_TRIGGERS --- linux-2.6.32.orig/drivers/leds/Makefile +++ linux-2.6.32/drivers/leds/Makefile @@ -29,6 +29,7 @@ obj-$(CONFIG_LEDS_WM831X_STATUS) += leds-wm831x-status.o obj-$(CONFIG_LEDS_WM8350) += leds-wm8350.o obj-$(CONFIG_LEDS_PWM) += leds-pwm.o +obj-$(CONFIG_LEDS_DELL_NETBOOKS) += dell-led.o # LED SPI Drivers obj-$(CONFIG_LEDS_DAC124S085) += leds-dac124s085.o --- linux-2.6.32.orig/drivers/leds/leds-gpio.c +++ linux-2.6.32/drivers/leds/leds-gpio.c @@ -211,7 +211,6 @@ const struct of_device_id *match) { struct device_node *np = ofdev->node, *child; - struct gpio_led led; struct gpio_led_of_platform_data *pdata; int count = 0, ret; @@ -226,8 +225,8 @@ if (!pdata) return -ENOMEM; - memset(&led, 0, sizeof(led)); for_each_child_of_node(np, child) { + struct gpio_led led = {}; enum of_gpio_flags flags; const char *state; --- linux-2.6.32.orig/drivers/leds/dell-led.c +++ linux-2.6.32/drivers/leds/dell-led.c @@ -0,0 +1,200 @@ +/* + * dell_led.c - Dell LED Driver + * + * Copyright (C) 2010 Dell Inc. + * Louis Davis + * Jim Dailey + * + * 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. + * + */ + +#include +#include + +MODULE_AUTHOR("Louis Davis/Jim Dailey"); +MODULE_DESCRIPTION("Dell LED Control Driver"); +MODULE_LICENSE("GPL"); + +#define DELL_LED_BIOS_GUID "F6E4FE6E-909D-47cb-8BAB-C9F6F2F8D396" +MODULE_ALIAS("wmi:" DELL_LED_BIOS_GUID); + +/* Error Result Codes: */ +#define INVALID_DEVICE_ID 250 +#define INVALID_PARAMETER 251 +#define INVALID_BUFFER 252 +#define INTERFACE_ERROR 253 +#define UNSUPPORTED_COMMAND 254 +#define UNSPECIFIED_ERROR 255 + +/* Device ID */ +#define DEVICE_ID_PANEL_BACK 1 + +/* LED Commands */ +#define CMD_LED_ON 16 +#define CMD_LED_OFF 17 +#define CMD_LED_BLINK 18 + +struct bios_args { + unsigned char length; + unsigned char result_code; + unsigned char device_id; + unsigned char command; + unsigned char on_time; + unsigned char off_time; +}; + +static int dell_led_perform_fn(u8 length, + u8 result_code, + u8 device_id, + u8 command, + u8 on_time, + u8 off_time) +{ + struct bios_args *bios_return; + u8 return_code; + union acpi_object *obj; + struct acpi_buffer output = { ACPI_ALLOCATE_BUFFER, NULL }; + struct acpi_buffer input; + acpi_status status; + + struct bios_args args; + args.length = length; + args.result_code = result_code; + args.device_id = device_id; + args.command = command; + args.on_time = on_time; + args.off_time = off_time; + + input.length = sizeof(struct bios_args); + input.pointer = &args; + + status = wmi_evaluate_method(DELL_LED_BIOS_GUID, + 1, + 1, + &input, + &output); + + if (ACPI_FAILURE(status)) + return status; + + obj = output.pointer; + + if (!obj) + return -EINVAL; + else if (obj->type != ACPI_TYPE_BUFFER) { + kfree(obj); + return -EINVAL; + } + + bios_return = ((struct bios_args *)obj->buffer.pointer); + return_code = bios_return->result_code; + + kfree(obj); + + return return_code; +} + +static int led_on(void) +{ + return dell_led_perform_fn(3, /* Length of command */ + INTERFACE_ERROR, /* Init to INTERFACE_ERROR */ + DEVICE_ID_PANEL_BACK, /* Device ID */ + CMD_LED_ON, /* Command */ + 0, /* not used */ + 0); /* not used */ +} + +static int led_off(void) +{ + return dell_led_perform_fn(3, /* Length of command */ + INTERFACE_ERROR, /* Init to INTERFACE_ERROR */ + DEVICE_ID_PANEL_BACK, /* Device ID */ + CMD_LED_OFF, /* Command */ + 0, /* not used */ + 0); /* not used */ +} + +static int led_blink(unsigned char on_eighths, + unsigned char off_eighths) +{ + return dell_led_perform_fn(5, /* Length of command */ + INTERFACE_ERROR, /* Init to INTERFACE_ERROR */ + DEVICE_ID_PANEL_BACK, /* Device ID */ + CMD_LED_BLINK, /* Command */ + on_eighths, /* blink on in eigths of a second */ + off_eighths); /* blink off in eights of a second */ +} + +static void dell_led_set(struct led_classdev *led_cdev, + enum led_brightness value) +{ + if (value == LED_OFF) + led_off(); + else + led_on(); +} + +static int dell_led_blink(struct led_classdev *led_cdev, + unsigned long *delay_on, + unsigned long *delay_off) +{ + unsigned long on_eighths; + unsigned long off_eighths; + + /* The Dell LED delay is based on 125ms intervals. + Need to round up to next interval. */ + + on_eighths = (*delay_on + 124) / 125; + if (0 == on_eighths) + on_eighths = 1; + if (on_eighths > 255) + on_eighths = 255; + *delay_on = on_eighths * 125; + + off_eighths = (*delay_off + 124) / 125; + if (0 == off_eighths) + off_eighths = 1; + if (off_eighths > 255) + off_eighths = 255; + *delay_off = off_eighths * 125; + + led_blink(on_eighths, off_eighths); + + return 0; +} + +static struct led_classdev dell_led = { + .name = "dell::lid", + .brightness = LED_OFF, + .max_brightness = 1, + .brightness_set = dell_led_set, + .blink_set = dell_led_blink, + .flags = LED_CORE_SUSPENDRESUME, +}; + +static int __init dell_led_init(void) +{ + int error = 0; + + if (!wmi_has_guid(DELL_LED_BIOS_GUID)) + return -ENODEV; + + error = led_off(); + if (error != 0) + return -ENODEV; + + return led_classdev_register(NULL, &dell_led); +} + +static void __exit dell_led_exit(void) +{ + led_classdev_unregister(&dell_led); + + led_off(); +} + +module_init(dell_led_init); +module_exit(dell_led_exit); --- linux-2.6.32.orig/drivers/lguest/segments.c +++ linux-2.6.32/drivers/lguest/segments.c @@ -179,8 +179,10 @@ * We assume the Guest has the same number of GDT entries as the * Host, otherwise we'd have to dynamically allocate the Guest GDT. */ - if (num >= ARRAY_SIZE(cpu->arch.gdt)) + if (num >= ARRAY_SIZE(cpu->arch.gdt)) { kill_guest(cpu, "too many gdt entries %i", num); + return; + } /* Set it up, then fix it. */ cpu->arch.gdt[num].a = lo; --- linux-2.6.32.orig/drivers/macintosh/therm_adt746x.c +++ linux-2.6.32/drivers/macintosh/therm_adt746x.c @@ -79,6 +79,7 @@ u8 limits[3]; int last_speed[2]; int last_var[2]; + int pwm_inv[2]; }; static enum {ADT7460, ADT7467} therm_type; @@ -89,6 +90,8 @@ static void write_both_fan_speed(struct thermostat *th, int speed); static void write_fan_speed(struct thermostat *th, int speed, int fan); +static void thermostat_create_files(void); +static void thermostat_remove_files(void); static int write_reg(struct thermostat* th, int reg, u8 data) @@ -160,6 +163,8 @@ struct thermostat *th = i2c_get_clientdata(client); int i; + thermostat_remove_files(); + if (thread_therm != NULL) { kthread_stop(thread_therm); } @@ -229,19 +234,23 @@ if (speed >= 0) { manual = read_reg(th, MANUAL_MODE[fan]); + manual &= ~INVERT_MASK; write_reg(th, MANUAL_MODE[fan], - (manual|MANUAL_MASK) & (~INVERT_MASK)); + manual | MANUAL_MASK | th->pwm_inv[fan]); write_reg(th, FAN_SPD_SET[fan], speed); } else { /* back to automatic */ if(therm_type == ADT7460) { manual = read_reg(th, MANUAL_MODE[fan]) & (~MANUAL_MASK); - + manual &= ~INVERT_MASK; + manual |= th->pwm_inv[fan]; write_reg(th, MANUAL_MODE[fan], manual|REM_CONTROL[fan]); } else { manual = read_reg(th, MANUAL_MODE[fan]); + manual &= ~INVERT_MASK; + manual |= th->pwm_inv[fan]; write_reg(th, MANUAL_MODE[fan], manual&(~AUTO_MASK)); } } @@ -418,6 +427,10 @@ thermostat = th; + /* record invert bit status because fw can corrupt it after suspend */ + th->pwm_inv[0] = read_reg(th, MANUAL_MODE[0]) & INVERT_MASK; + th->pwm_inv[1] = read_reg(th, MANUAL_MODE[1]) & INVERT_MASK; + /* be sure to really write fan speed the first time */ th->last_speed[0] = -2; th->last_speed[1] = -2; @@ -440,6 +453,8 @@ return -ENOMEM; } + thermostat_create_files(); + return 0; } @@ -557,7 +572,6 @@ struct device_node* np; const u32 *prop; int i = 0, offset = 0; - int err; np = of_find_node_by_name(NULL, "fan"); if (!np) @@ -624,6 +638,17 @@ return -ENODEV; } +#ifndef CONFIG_I2C_POWERMAC + request_module("i2c-powermac"); +#endif + + return i2c_add_driver(&thermostat_driver); +} + +static void thermostat_create_files(void) +{ + int err; + err = device_create_file(&of_dev->dev, &dev_attr_sensor1_temperature); err |= device_create_file(&of_dev->dev, &dev_attr_sensor2_temperature); err |= device_create_file(&of_dev->dev, &dev_attr_sensor1_limit); @@ -638,16 +663,9 @@ if (err) printk(KERN_WARNING "Failed to create tempertaure attribute file(s).\n"); - -#ifndef CONFIG_I2C_POWERMAC - request_module("i2c-powermac"); -#endif - - return i2c_add_driver(&thermostat_driver); } -static void __exit -thermostat_exit(void) +static void thermostat_remove_files(void) { if (of_dev) { device_remove_file(&of_dev->dev, &dev_attr_sensor1_temperature); @@ -664,9 +682,14 @@ device_remove_file(&of_dev->dev, &dev_attr_sensor2_fan_speed); - of_device_unregister(of_dev); } +} + +static void __exit +thermostat_exit(void) +{ i2c_del_driver(&thermostat_driver); + of_device_unregister(of_dev); } module_init(thermostat_init); --- linux-2.6.32.orig/drivers/macintosh/windfarm_smu_controls.c +++ linux-2.6.32/drivers/macintosh/windfarm_smu_controls.c @@ -202,6 +202,8 @@ fct->ctrl.name = "cpu-front-fan-1"; else if (!strcmp(l, "CPU A PUMP")) fct->ctrl.name = "cpu-pump-0"; + else if (!strcmp(l, "CPU B PUMP")) + fct->ctrl.name = "cpu-pump-1"; else if (!strcmp(l, "Slots Fan") || !strcmp(l, "Slots fan") || !strcmp(l, "EXPANSION SLOTS INTAKE")) fct->ctrl.name = "slots-fan"; --- linux-2.6.32.orig/drivers/md/bitmap.c +++ linux-2.6.32/drivers/md/bitmap.c @@ -1078,23 +1078,31 @@ * out to disk */ -void bitmap_daemon_work(struct bitmap *bitmap) +void bitmap_daemon_work(mddev_t *mddev) { + struct bitmap *bitmap; unsigned long j; unsigned long flags; struct page *page = NULL, *lastpage = NULL; int blocks; void *paddr; - if (bitmap == NULL) + /* Use a mutex to guard daemon_work against + * bitmap_destroy. + */ + mutex_lock(&mddev->bitmap_mutex); + bitmap = mddev->bitmap; + if (bitmap == NULL) { + mutex_unlock(&mddev->bitmap_mutex); return; + } if (time_before(jiffies, bitmap->daemon_lastrun + bitmap->daemon_sleep*HZ)) goto done; bitmap->daemon_lastrun = jiffies; if (bitmap->allclean) { bitmap->mddev->thread->timeout = MAX_SCHEDULE_TIMEOUT; - return; + goto done; } bitmap->allclean = 1; @@ -1203,6 +1211,7 @@ done: if (bitmap->allclean == 0) bitmap->mddev->thread->timeout = bitmap->daemon_sleep * HZ; + mutex_unlock(&mddev->bitmap_mutex); } static bitmap_counter_t *bitmap_get_counter(struct bitmap *bitmap, @@ -1308,7 +1317,8 @@ { if (!bitmap) return; if (behind) { - atomic_dec(&bitmap->behind_writes); + if (atomic_dec_and_test(&bitmap->behind_writes)) + wake_up(&bitmap->behind_wait); PRINTK(KERN_DEBUG "dec write-behind count %d/%d\n", atomic_read(&bitmap->behind_writes), bitmap->max_write_behind); } @@ -1541,9 +1551,9 @@ */ sleep = bitmap->daemon_sleep; bitmap->daemon_sleep = 0; - bitmap_daemon_work(bitmap); - bitmap_daemon_work(bitmap); - bitmap_daemon_work(bitmap); + bitmap_daemon_work(mddev); + bitmap_daemon_work(mddev); + bitmap_daemon_work(mddev); bitmap->daemon_sleep = sleep; bitmap_update_sb(bitmap); } @@ -1574,6 +1584,7 @@ kfree(bp); kfree(bitmap); } + void bitmap_destroy(mddev_t *mddev) { struct bitmap *bitmap = mddev->bitmap; @@ -1581,7 +1592,9 @@ if (!bitmap) /* there was no bitmap */ return; + mutex_lock(&mddev->bitmap_mutex); mddev->bitmap = NULL; /* disconnect from the md device */ + mutex_unlock(&mddev->bitmap_mutex); if (mddev->thread) mddev->thread->timeout = MAX_SCHEDULE_TIMEOUT; @@ -1617,6 +1630,7 @@ atomic_set(&bitmap->pending_writes, 0); init_waitqueue_head(&bitmap->write_wait); init_waitqueue_head(&bitmap->overflow_wait); + init_waitqueue_head(&bitmap->behind_wait); bitmap->mddev = mddev; --- linux-2.6.32.orig/drivers/md/bitmap.h +++ linux-2.6.32/drivers/md/bitmap.h @@ -254,6 +254,9 @@ wait_queue_head_t write_wait; wait_queue_head_t overflow_wait; +#ifndef __GENKSYMS__ + wait_queue_head_t behind_wait; +#endif }; /* the bitmap API */ @@ -282,7 +285,7 @@ void bitmap_cond_end_sync(struct bitmap *bitmap, sector_t sector); void bitmap_unplug(struct bitmap *bitmap); -void bitmap_daemon_work(struct bitmap *bitmap); +void bitmap_daemon_work(mddev_t *mddev); #endif #endif --- linux-2.6.32.orig/drivers/md/dm-crypt.c +++ linux-2.6.32/drivers/md/dm-crypt.c @@ -1,7 +1,7 @@ /* * Copyright (C) 2003 Christophe Saout * Copyright (C) 2004 Clemens Fruhwirth - * Copyright (C) 2006-2008 Red Hat, Inc. All rights reserved. + * Copyright (C) 2006-2009 Red Hat, Inc. All rights reserved. * * This file is released under the GPL. */ @@ -71,10 +71,21 @@ int (*ctr)(struct crypt_config *cc, struct dm_target *ti, const char *opts); void (*dtr)(struct crypt_config *cc); - const char *(*status)(struct crypt_config *cc); + int (*init)(struct crypt_config *cc); + int (*wipe)(struct crypt_config *cc); int (*generator)(struct crypt_config *cc, u8 *iv, sector_t sector); }; +struct iv_essiv_private { + struct crypto_cipher *tfm; + struct crypto_hash *hash_tfm; + u8 *salt; +}; + +struct iv_benbi_private { + int shift; +}; + /* * Crypt: maps a linear range of a block device * and encrypts / decrypts at the same time. @@ -102,8 +113,8 @@ struct crypt_iv_operations *iv_gen_ops; char *iv_mode; union { - struct crypto_cipher *essiv_tfm; - int benbi_shift; + struct iv_essiv_private essiv; + struct iv_benbi_private benbi; } iv_gen_private; sector_t iv_offset; unsigned int iv_size; @@ -169,88 +180,114 @@ return 0; } -static int crypt_iv_essiv_ctr(struct crypt_config *cc, struct dm_target *ti, - const char *opts) +/* Initialise ESSIV - compute salt but no local memory allocations */ +static int crypt_iv_essiv_init(struct crypt_config *cc) { - struct crypto_cipher *essiv_tfm; - struct crypto_hash *hash_tfm; + struct iv_essiv_private *essiv = &cc->iv_gen_private.essiv; struct hash_desc desc; struct scatterlist sg; - unsigned int saltsize; - u8 *salt; int err; - if (opts == NULL) { + sg_init_one(&sg, cc->key, cc->key_size); + desc.tfm = essiv->hash_tfm; + desc.flags = CRYPTO_TFM_REQ_MAY_SLEEP; + + err = crypto_hash_digest(&desc, &sg, cc->key_size, essiv->salt); + if (err) + return err; + + return crypto_cipher_setkey(essiv->tfm, essiv->salt, + crypto_hash_digestsize(essiv->hash_tfm)); +} + +/* Wipe salt and reset key derived from volume key */ +static int crypt_iv_essiv_wipe(struct crypt_config *cc) +{ + struct iv_essiv_private *essiv = &cc->iv_gen_private.essiv; + unsigned salt_size = crypto_hash_digestsize(essiv->hash_tfm); + + memset(essiv->salt, 0, salt_size); + + return crypto_cipher_setkey(essiv->tfm, essiv->salt, salt_size); +} + +static void crypt_iv_essiv_dtr(struct crypt_config *cc) +{ + struct iv_essiv_private *essiv = &cc->iv_gen_private.essiv; + + crypto_free_cipher(essiv->tfm); + essiv->tfm = NULL; + + crypto_free_hash(essiv->hash_tfm); + essiv->hash_tfm = NULL; + + kzfree(essiv->salt); + essiv->salt = NULL; +} + +static int crypt_iv_essiv_ctr(struct crypt_config *cc, struct dm_target *ti, + const char *opts) +{ + struct crypto_cipher *essiv_tfm = NULL; + struct crypto_hash *hash_tfm = NULL; + u8 *salt = NULL; + int err; + + if (!opts) { ti->error = "Digest algorithm missing for ESSIV mode"; return -EINVAL; } - /* Hash the cipher key with the given hash algorithm */ + /* Allocate hash algorithm */ hash_tfm = crypto_alloc_hash(opts, 0, CRYPTO_ALG_ASYNC); if (IS_ERR(hash_tfm)) { ti->error = "Error initializing ESSIV hash"; - return PTR_ERR(hash_tfm); + err = PTR_ERR(hash_tfm); + goto bad; } - saltsize = crypto_hash_digestsize(hash_tfm); - salt = kmalloc(saltsize, GFP_KERNEL); - if (salt == NULL) { + salt = kzalloc(crypto_hash_digestsize(hash_tfm), GFP_KERNEL); + if (!salt) { ti->error = "Error kmallocing salt storage in ESSIV"; - crypto_free_hash(hash_tfm); - return -ENOMEM; + err = -ENOMEM; + goto bad; } - sg_init_one(&sg, cc->key, cc->key_size); - desc.tfm = hash_tfm; - desc.flags = CRYPTO_TFM_REQ_MAY_SLEEP; - err = crypto_hash_digest(&desc, &sg, cc->key_size, salt); - crypto_free_hash(hash_tfm); - - if (err) { - ti->error = "Error calculating hash in ESSIV"; - kfree(salt); - return err; - } - - /* Setup the essiv_tfm with the given salt */ + /* Allocate essiv_tfm */ essiv_tfm = crypto_alloc_cipher(cc->cipher, 0, CRYPTO_ALG_ASYNC); if (IS_ERR(essiv_tfm)) { ti->error = "Error allocating crypto tfm for ESSIV"; - kfree(salt); - return PTR_ERR(essiv_tfm); + err = PTR_ERR(essiv_tfm); + goto bad; } if (crypto_cipher_blocksize(essiv_tfm) != crypto_ablkcipher_ivsize(cc->tfm)) { ti->error = "Block size of ESSIV cipher does " "not match IV size of block cipher"; - crypto_free_cipher(essiv_tfm); - kfree(salt); - return -EINVAL; - } - err = crypto_cipher_setkey(essiv_tfm, salt, saltsize); - if (err) { - ti->error = "Failed to set key for ESSIV cipher"; - crypto_free_cipher(essiv_tfm); - kfree(salt); - return err; + err = -EINVAL; + goto bad; } - kfree(salt); - cc->iv_gen_private.essiv_tfm = essiv_tfm; + cc->iv_gen_private.essiv.salt = salt; + cc->iv_gen_private.essiv.tfm = essiv_tfm; + cc->iv_gen_private.essiv.hash_tfm = hash_tfm; + return 0; -} -static void crypt_iv_essiv_dtr(struct crypt_config *cc) -{ - crypto_free_cipher(cc->iv_gen_private.essiv_tfm); - cc->iv_gen_private.essiv_tfm = NULL; +bad: + if (essiv_tfm && !IS_ERR(essiv_tfm)) + crypto_free_cipher(essiv_tfm); + if (hash_tfm && !IS_ERR(hash_tfm)) + crypto_free_hash(hash_tfm); + kfree(salt); + return err; } static int crypt_iv_essiv_gen(struct crypt_config *cc, u8 *iv, sector_t sector) { memset(iv, 0, cc->iv_size); *(u64 *)iv = cpu_to_le64(sector); - crypto_cipher_encrypt_one(cc->iv_gen_private.essiv_tfm, iv, iv); + crypto_cipher_encrypt_one(cc->iv_gen_private.essiv.tfm, iv, iv); return 0; } @@ -273,7 +310,7 @@ return -EINVAL; } - cc->iv_gen_private.benbi_shift = 9 - log; + cc->iv_gen_private.benbi.shift = 9 - log; return 0; } @@ -288,7 +325,7 @@ memset(iv, 0, cc->iv_size - sizeof(u64)); /* rest is cleared below */ - val = cpu_to_be64(((u64)sector << cc->iv_gen_private.benbi_shift) + 1); + val = cpu_to_be64(((u64)sector << cc->iv_gen_private.benbi.shift) + 1); put_unaligned(val, (__be64 *)(iv + cc->iv_size - sizeof(u64))); return 0; @@ -308,6 +345,8 @@ static struct crypt_iv_operations crypt_iv_essiv_ops = { .ctr = crypt_iv_essiv_ctr, .dtr = crypt_iv_essiv_dtr, + .init = crypt_iv_essiv_init, + .wipe = crypt_iv_essiv_wipe, .generator = crypt_iv_essiv_gen }; @@ -1039,6 +1078,12 @@ cc->iv_gen_ops->ctr(cc, ti, ivopts) < 0) goto bad_ivmode; + if (cc->iv_gen_ops && cc->iv_gen_ops->init && + cc->iv_gen_ops->init(cc) < 0) { + ti->error = "Error initialising IV"; + goto bad_slab_pool; + } + cc->iv_size = crypto_ablkcipher_ivsize(tfm); if (cc->iv_size) /* at least a 64 bit sector number should fit in our buffer */ @@ -1278,6 +1323,7 @@ static int crypt_message(struct dm_target *ti, unsigned argc, char **argv) { struct crypt_config *cc = ti->private; + int ret = -EINVAL; if (argc < 2) goto error; @@ -1287,10 +1333,22 @@ DMWARN("not suspended during key manipulation."); return -EINVAL; } - if (argc == 3 && !strnicmp(argv[1], MESG_STR("set"))) - return crypt_set_key(cc, argv[2]); - if (argc == 2 && !strnicmp(argv[1], MESG_STR("wipe"))) + if (argc == 3 && !strnicmp(argv[1], MESG_STR("set"))) { + ret = crypt_set_key(cc, argv[2]); + if (ret) + return ret; + if (cc->iv_gen_ops && cc->iv_gen_ops->init) + ret = cc->iv_gen_ops->init(cc); + return ret; + } + if (argc == 2 && !strnicmp(argv[1], MESG_STR("wipe"))) { + if (cc->iv_gen_ops && cc->iv_gen_ops->wipe) { + ret = cc->iv_gen_ops->wipe(cc); + if (ret) + return ret; + } return crypt_wipe_key(cc); + } } error: --- linux-2.6.32.orig/drivers/md/dm-exception-store.c +++ linux-2.6.32/drivers/md/dm-exception-store.c @@ -216,7 +216,8 @@ type = get_type("N"); else { ti->error = "Persistent flag is not P or N"; - return -EINVAL; + r = -EINVAL; + goto bad_type; } if (!type) { --- linux-2.6.32.orig/drivers/md/dm-exception-store.h +++ linux-2.6.32/drivers/md/dm-exception-store.h @@ -162,7 +162,7 @@ static inline chunk_t sector_to_chunk(struct dm_exception_store *store, sector_t sector) { - return (sector & ~store->chunk_mask) >> store->chunk_shift; + return sector >> store->chunk_shift; } int dm_exception_store_type_register(struct dm_exception_store_type *type); --- linux-2.6.32.orig/drivers/md/dm-ioctl.c +++ linux-2.6.32/drivers/md/dm-ioctl.c @@ -56,6 +56,11 @@ */ static DECLARE_RWSEM(_hash_lock); +/* + * Protects use of mdptr to obtain hash cell name and uuid from mapped device. + */ +static DEFINE_MUTEX(dm_hash_cells_mutex); + static void init_buckets(struct list_head *buckets) { unsigned int i; @@ -206,7 +211,9 @@ list_add(&cell->uuid_list, _uuid_buckets + hash_str(uuid)); } dm_get(md); + mutex_lock(&dm_hash_cells_mutex); dm_set_mdptr(md, cell); + mutex_unlock(&dm_hash_cells_mutex); up_write(&_hash_lock); return 0; @@ -224,7 +231,9 @@ /* remove from the dev hash */ list_del(&hc->uuid_list); list_del(&hc->name_list); + mutex_lock(&dm_hash_cells_mutex); dm_set_mdptr(hc->md, NULL); + mutex_unlock(&dm_hash_cells_mutex); table = dm_get_table(hc->md); if (table) { @@ -240,40 +249,46 @@ static void dm_hash_remove_all(int keep_open_devices) { - int i, dev_skipped, dev_removed; + int i, dev_skipped; struct hash_cell *hc; - struct list_head *tmp, *n; + struct mapped_device *md; + +retry: + dev_skipped = 0; down_write(&_hash_lock); -retry: - dev_skipped = dev_removed = 0; for (i = 0; i < NUM_BUCKETS; i++) { - list_for_each_safe (tmp, n, _name_buckets + i) { - hc = list_entry(tmp, struct hash_cell, name_list); + list_for_each_entry(hc, _name_buckets + i, name_list) { + md = hc->md; + dm_get(md); - if (keep_open_devices && - dm_lock_for_deletion(hc->md)) { + if (keep_open_devices && dm_lock_for_deletion(md)) { + dm_put(md); dev_skipped++; continue; } + __hash_remove(hc); - dev_removed = 1; - } - } - /* - * Some mapped devices may be using other mapped devices, so if any - * still exist, repeat until we make no further progress. - */ - if (dev_skipped) { - if (dev_removed) - goto retry; + up_write(&_hash_lock); - DMWARN("remove_all left %d open device(s)", dev_skipped); + dm_put(md); + + /* + * Some mapped devices may be using other mapped + * devices, so repeat until we make no further + * progress. If a new mapped device is created + * here it will also get removed. + */ + goto retry; + } } up_write(&_hash_lock); + + if (dev_skipped) + DMWARN("remove_all left %d open device(s)", dev_skipped); } static int dm_hash_rename(uint32_t cookie, const char *old, const char *new) @@ -321,7 +336,9 @@ */ list_del(&hc->name_list); old_name = hc->name; + mutex_lock(&dm_hash_cells_mutex); hc->name = new_name; + mutex_unlock(&dm_hash_cells_mutex); list_add(&hc->name_list, _name_buckets + hash_str(new_name)); /* @@ -1582,8 +1599,7 @@ if (!md) return -ENXIO; - dm_get(md); - down_read(&_hash_lock); + mutex_lock(&dm_hash_cells_mutex); hc = dm_get_mdptr(md); if (!hc || hc->md != md) { r = -ENXIO; @@ -1596,8 +1612,7 @@ strcpy(uuid, hc->uuid ? : ""); out: - up_read(&_hash_lock); - dm_put(md); + mutex_unlock(&dm_hash_cells_mutex); return r; } --- linux-2.6.32.orig/drivers/md/dm-linear.c +++ linux-2.6.32/drivers/md/dm-linear.c @@ -116,7 +116,17 @@ unsigned long arg) { struct linear_c *lc = (struct linear_c *) ti->private; - return __blkdev_driver_ioctl(lc->dev->bdev, lc->dev->mode, cmd, arg); + struct dm_dev *dev = lc->dev; + int r = 0; + + /* + * Only pass ioctls through if the device sizes match exactly. + */ + if (lc->start || + ti->len != i_size_read(dev->bdev->bd_inode) >> SECTOR_SHIFT) + r = scsi_verify_blk_ioctl(NULL, cmd); + + return r ? : __blkdev_driver_ioctl(dev->bdev, dev->mode, cmd, arg); } static int linear_merge(struct dm_target *ti, struct bvec_merge_data *bvm, --- linux-2.6.32.orig/drivers/md/dm-log-userspace-transfer.c +++ linux-2.6.32/drivers/md/dm-log-userspace-transfer.c @@ -172,11 +172,15 @@ { int r = 0; size_t dummy = 0; - int overhead_size = - sizeof(struct dm_ulog_request *) + sizeof(struct cn_msg); + int overhead_size = sizeof(struct dm_ulog_request) + sizeof(struct cn_msg); struct dm_ulog_request *tfr = prealloced_ulog_tfr; struct receiving_pkg pkg; + /* + * Given the space needed to hold the 'struct cn_msg' and + * 'struct dm_ulog_request' - do we have enough payload + * space remaining? + */ if (data_size > (DM_ULOG_PREALLOCED_SIZE - overhead_size)) { DMINFO("Size of tfr exceeds preallocated size"); return -EINVAL; @@ -191,7 +195,7 @@ */ mutex_lock(&dm_ulog_lock); - memset(tfr, 0, DM_ULOG_PREALLOCED_SIZE - overhead_size); + memset(tfr, 0, DM_ULOG_PREALLOCED_SIZE - sizeof(struct cn_msg)); memcpy(tfr->uuid, uuid, DM_UUID_LEN); tfr->luid = luid; tfr->seq = dm_ulog_seq++; --- linux-2.6.32.orig/drivers/md/dm-mpath.c +++ linux-2.6.32/drivers/md/dm-mpath.c @@ -33,7 +33,6 @@ unsigned fail_count; /* Cumulative failure count */ struct dm_path path; - struct work_struct deactivate_path; struct work_struct activate_path; }; @@ -113,7 +112,6 @@ static void process_queued_ios(struct work_struct *work); static void trigger_event(struct work_struct *work); static void activate_path(struct work_struct *work); -static void deactivate_path(struct work_struct *work); /*----------------------------------------------- @@ -126,7 +124,6 @@ if (pgpath) { pgpath->is_active = 1; - INIT_WORK(&pgpath->deactivate_path, deactivate_path); INIT_WORK(&pgpath->activate_path, activate_path); } @@ -138,14 +135,6 @@ kfree(pgpath); } -static void deactivate_path(struct work_struct *work) -{ - struct pgpath *pgpath = - container_of(work, struct pgpath, deactivate_path); - - blk_abort_queue(pgpath->path.dev->bdev->bd_disk->queue); -} - static struct priority_group *alloc_priority_group(void) { struct priority_group *pg; @@ -691,6 +680,7 @@ if (as->argc < nr_params) { ti->error = "not enough path parameters"; + r = -EINVAL; goto bad; } @@ -788,6 +778,11 @@ if (!argc) return 0; + if (argc > as->argc) { + ti->error = "not enough arguments for features"; + return -EINVAL; + } + do { param_name = shift(as); argc--; @@ -948,7 +943,6 @@ pgpath->path.dev->name, m->nr_valid_paths); schedule_work(&m->trigger_event); - queue_work(kmultipathd, &pgpath->deactivate_path); out: spin_unlock_irqrestore(&m->lock, flags); @@ -1470,6 +1464,12 @@ spin_unlock_irqrestore(&m->lock, flags); + /* + * Only pass ioctls through if the device sizes match exactly. + */ + if (!r && ti->len != i_size_read(bdev->bd_inode) >> SECTOR_SHIFT) + r = scsi_verify_blk_ioctl(NULL, cmd); + return r ? : __blkdev_driver_ioctl(bdev, mode, cmd, arg); } --- linux-2.6.32.orig/drivers/md/dm.c +++ linux-2.6.32/drivers/md/dm.c @@ -36,6 +36,8 @@ static unsigned int major = 0; static unsigned int _major = 0; +static DEFINE_IDR(_minor_idr); + static DEFINE_SPINLOCK(_minor_lock); /* * For bio-based dm. @@ -315,6 +317,12 @@ while (i--) _exits[i](); + + /* + * Should be empty by this point. + */ + idr_remove_all(&_minor_idr); + idr_destroy(&_minor_idr); } /* @@ -614,8 +622,10 @@ if (!md->barrier_error && io_error != -EOPNOTSUPP) md->barrier_error = io_error; end_io_acct(io); + free_io(md, io); } else { end_io_acct(io); + free_io(md, io); if (io_error != DM_ENDIO_REQUEUE) { trace_block_bio_complete(md->queue, bio); @@ -623,8 +633,6 @@ bio_endio(bio, io_error); } } - - free_io(md, io); } } @@ -1487,10 +1495,15 @@ return BLKPREP_OK; } -static void map_request(struct dm_target *ti, struct request *rq, - struct mapped_device *md) +/* + * Returns: + * 0 : the request has been processed (not requeued) + * !0 : the request has been requeued + */ +static int map_request(struct dm_target *ti, struct request *rq, + struct mapped_device *md) { - int r; + int r, requeued = 0; struct request *clone = rq->special; struct dm_rq_target_io *tio = clone->end_io_data; @@ -1516,6 +1529,7 @@ case DM_MAPIO_REQUEUE: /* The target wants to requeue the I/O */ dm_requeue_unmapped_request(clone); + requeued = 1; break; default: if (r > 0) { @@ -1527,6 +1541,8 @@ dm_kill_unmapped_request(clone, r); break; } + + return requeued; } /* @@ -1568,12 +1584,17 @@ blk_start_request(rq); spin_unlock(q->queue_lock); - map_request(ti, rq, md); + if (map_request(ti, rq, md)) + goto requeued; + spin_lock_irq(q->queue_lock); } goto out; +requeued: + spin_lock_irq(q->queue_lock); + plug_and_out: if (!elv_queue_empty(q)) /* Some requests still remain, retry later */ @@ -1650,8 +1671,6 @@ /*----------------------------------------------------------------- * An IDR is used to keep track of allocated minor numbers. *---------------------------------------------------------------*/ -static DEFINE_IDR(_minor_idr); - static void free_minor(int minor) { spin_lock(&_minor_lock); @@ -1912,13 +1931,14 @@ wake_up(&md->eventq); } +/* + * Protected by md->suspend_lock obtained by dm_swap_table(). + */ static void __set_size(struct mapped_device *md, sector_t size) { set_capacity(md->disk, size); - mutex_lock(&md->bdev->bd_inode->i_mutex); i_size_write(md->bdev->bd_inode, (loff_t)size << SECTOR_SHIFT); - mutex_unlock(&md->bdev->bd_inode->i_mutex); } static int __bind(struct mapped_device *md, struct dm_table *t, @@ -2573,6 +2593,7 @@ { return md->disk; } +EXPORT_SYMBOL_GPL(dm_disk); struct kobject *dm_kobject(struct mapped_device *md) { --- linux-2.6.32.orig/drivers/md/dm-raid1.c +++ linux-2.6.32/drivers/md/dm-raid1.c @@ -659,7 +659,7 @@ /* * Dispatch io. */ - if (unlikely(ms->log_failure)) { + if (unlikely(ms->log_failure) && errors_handled(ms)) { spin_lock_irq(&ms->lock); bio_list_merge(&ms->failures, &sync); spin_unlock_irq(&ms->lock); --- linux-2.6.32.orig/drivers/md/dm-region-hash.c +++ linux-2.6.32/drivers/md/dm-region-hash.c @@ -643,10 +643,9 @@ spin_lock_irq(&rh->region_lock); if (success) list_add(®->list, ®->rh->recovered_regions); - else { - reg->state = DM_RH_NOSYNC; + else list_add(®->list, ®->rh->failed_recovered_regions); - } + spin_unlock_irq(&rh->region_lock); rh->wakeup_workers(rh->context); --- linux-2.6.32.orig/drivers/md/dm-snap.c +++ linux-2.6.32/drivers/md/dm-snap.c @@ -553,6 +553,8 @@ hash_size = min(origin_dev_size, cow_dev_size) >> s->store->chunk_shift; hash_size = min(hash_size, max_buckets); + if (hash_size < 64) + hash_size = 64; hash_size = rounddown_pow_of_two(hash_size); if (init_exception_table(&s->complete, hash_size, DM_CHUNK_CONSECUTIVE_BITS)) @@ -1152,10 +1154,11 @@ unsigned sz = 0; struct dm_snapshot *snap = ti->private; - down_write(&snap->lock); - switch (type) { case STATUSTYPE_INFO: + + down_write(&snap->lock); + if (!snap->valid) DMEMIT("Invalid"); else { @@ -1171,6 +1174,9 @@ else DMEMIT("Unknown"); } + + up_write(&snap->lock); + break; case STATUSTYPE_TABLE: @@ -1185,8 +1191,6 @@ break; } - up_write(&snap->lock); - return 0; } --- linux-2.6.32.orig/drivers/md/dm-stripe.c +++ linux-2.6.32/drivers/md/dm-stripe.c @@ -110,7 +110,7 @@ } stripes = simple_strtoul(argv[0], &end, 10); - if (*end) { + if (!stripes || *end) { ti->error = "Invalid stripe count"; return -EINVAL; } --- linux-2.6.32.orig/drivers/md/dm-table.c +++ linux-2.6.32/drivers/md/dm-table.c @@ -348,6 +348,7 @@ static int device_area_is_invalid(struct dm_target *ti, struct dm_dev *dev, sector_t start, sector_t len, void *data) { + struct request_queue *q; struct queue_limits *limits = data; struct block_device *bdev = dev->bdev; sector_t dev_size = @@ -356,6 +357,22 @@ limits->logical_block_size >> SECTOR_SHIFT; char b[BDEVNAME_SIZE]; + /* + * Some devices exist without request functions, + * such as loop devices not yet bound to backing files. + * Forbid the use of such devices. + */ + q = bdev_get_queue(bdev); + if (!q || !q->make_request_fn) { + DMWARN("%s: %s is not yet initialised: " + "start=%llu, len=%llu, dev_size=%llu", + dm_device_name(ti->table->md), bdevname(bdev, b), + (unsigned long long)start, + (unsigned long long)len, + (unsigned long long)dev_size); + return 1; + } + if (!dev_size) return 0; @@ -499,16 +516,15 @@ return 0; } - if (blk_stack_limits(limits, &q->limits, start << 9) < 0) - DMWARN("%s: target device %s is misaligned: " + if (bdev_stack_limits(limits, bdev, start) < 0) + DMWARN("%s: adding target device %s caused an alignment inconsistency: " "physical_block_size=%u, logical_block_size=%u, " "alignment_offset=%u, start=%llu", dm_device_name(ti->table->md), bdevname(bdev, b), q->limits.physical_block_size, q->limits.logical_block_size, q->limits.alignment_offset, - (unsigned long long) start << 9); - + (unsigned long long) start << SECTOR_SHIFT); /* * Check if merge fn is supported. @@ -1025,9 +1041,9 @@ * for the table. */ if (blk_stack_limits(limits, &ti_limits, 0) < 0) - DMWARN("%s: target device " + DMWARN("%s: adding target device " "(start sect %llu len %llu) " - "is misaligned", + "caused an alignment inconsistency", dm_device_name(table->md), (unsigned long long) ti->begin, (unsigned long long) ti->len); @@ -1079,24 +1095,10 @@ struct queue_limits *limits) { /* - * Each target device in the table has a data area that should normally - * be aligned such that the DM device's alignment_offset is 0. - * FIXME: Propagate alignment_offsets up the stack and warn of - * sub-optimal or inconsistent settings. - */ - limits->alignment_offset = 0; - limits->misaligned = 0; - - /* * Copy table's limits to the DM device's request_queue */ q->limits = *limits; - if (limits->no_cluster) - queue_flag_clear_unlocked(QUEUE_FLAG_CLUSTER, q); - else - queue_flag_set_unlocked(QUEUE_FLAG_CLUSTER, q); - dm_table_set_integrity(t); /* --- linux-2.6.32.orig/drivers/md/dm-uevent.c +++ linux-2.6.32/drivers/md/dm-uevent.c @@ -139,14 +139,13 @@ list_del_init(&event->elist); /* - * Need to call dm_copy_name_and_uuid from here for now. - * Context of previous var adds and locking used for - * hash_cell not compatable. + * When a device is being removed this copy fails and we + * discard these unsent events. */ if (dm_copy_name_and_uuid(event->md, event->name, event->uuid)) { - DMERR("%s: dm_copy_name_and_uuid() failed", - __func__); + DMINFO("%s: skipping sending uevent for lost device", + __func__); goto uevent_free; } --- linux-2.6.32.orig/drivers/md/linear.c +++ linux-2.6.32/drivers/md/linear.c @@ -172,12 +172,14 @@ disk_stack_limits(mddev->gendisk, rdev->bdev, rdev->data_offset << 9); /* as we don't honour merge_bvec_fn, we must never risk - * violating it, so limit ->max_sector to one PAGE, as - * a one page request is never in violation. + * violating it, so limit max_phys_segments to 1 lying within + * a single page. */ - if (rdev->bdev->bd_disk->queue->merge_bvec_fn && - queue_max_sectors(mddev->queue) > (PAGE_SIZE>>9)) - blk_queue_max_sectors(mddev->queue, PAGE_SIZE>>9); + if (rdev->bdev->bd_disk->queue->merge_bvec_fn) { + blk_queue_max_phys_segments(mddev->queue, 1); + blk_queue_segment_boundary(mddev->queue, + PAGE_CACHE_SIZE - 1); + } conf->array_sectors += rdev->sectors; cnt++; --- linux-2.6.32.orig/drivers/md/linear.h +++ linux-2.6.32/drivers/md/linear.h @@ -10,9 +10,9 @@ struct linear_private_data { + struct rcu_head rcu; sector_t array_sectors; dev_info_t disks[0]; - struct rcu_head rcu; }; --- linux-2.6.32.orig/drivers/md/md.c +++ linux-2.6.32/drivers/md/md.c @@ -282,7 +282,9 @@ if (!atomic_dec_and_lock(&mddev->active, &all_mddevs_lock)) return; if (!mddev->raid_disks && list_empty(&mddev->disks) && - !mddev->hold_active) { + mddev->ctime == 0 && !mddev->hold_active) { + /* Array is not configured at all, and not held active, + * so destroy it */ list_del(&mddev->all_mddevs); if (mddev->gendisk) { /* we did a probe so need to clean up. @@ -303,6 +305,9 @@ { mddev_t *mddev, *new = NULL; + if (unit && MAJOR(unit) != MD_MAJOR) + unit &= ~((1<open_mutex); mutex_init(&new->reconfig_mutex); + mutex_init(&new->bitmap_mutex); INIT_LIST_HEAD(&new->disks); INIT_LIST_HEAD(&new->all_mddevs); init_timer(&new->safemode_timer); @@ -842,8 +848,11 @@ ret = 0; } rdev->sectors = rdev->sb_start; + /* Limit to 4TB as metadata cannot record more than that */ + if (rdev->sectors >= (2ULL << 32)) + rdev->sectors = (2ULL << 32) - 2; - if (rdev->sectors < sb->size * 2 && sb->level > 1) + if (rdev->sectors < ((sector_t)sb->size) * 2 && sb->level >= 1) /* "this cannot possibly happen" ... */ ret = -EINVAL; @@ -878,7 +887,7 @@ mddev->clevel[0] = 0; mddev->layout = sb->layout; mddev->raid_disks = sb->raid_disks; - mddev->dev_sectors = sb->size * 2; + mddev->dev_sectors = ((sector_t)sb->size) * 2; mddev->events = ev1; mddev->bitmap_offset = 0; mddev->default_bitmap_offset = MD_SB_BYTES >> 9; @@ -1116,10 +1125,15 @@ rdev->sb_start = calc_dev_sboffset(rdev->bdev); if (!num_sectors || num_sectors > rdev->sb_start) num_sectors = rdev->sb_start; + /* Limit to 4TB as metadata cannot record more than that. + * 4TB == 2^32 KB, or 2*2^32 sectors. + */ + if (num_sectors >= (2ULL << 32)) + num_sectors = (2ULL << 32) - 2; md_super_write(rdev->mddev, rdev, rdev->sb_start, rdev->sb_size, rdev->sb_page); md_super_wait(rdev->mddev); - return num_sectors / 2; /* kB for sysfs */ + return num_sectors; } @@ -1482,7 +1496,7 @@ md_super_write(rdev->mddev, rdev, rdev->sb_start, rdev->sb_size, rdev->sb_page); md_super_wait(rdev->mddev); - return num_sectors / 2; /* kB for sysfs */ + return num_sectors; } static struct super_type super_types[] = { @@ -2008,12 +2022,18 @@ if (!mddev->in_sync || mddev->recovery_cp != MaxSector) { /* not clean */ /* .. if the array isn't clean, an 'even' event must also go * to spares. */ - if ((mddev->events&1)==0) + if ((mddev->events&1)==0) { nospares = 0; + sync_req = 2; /* force a second update to get the + * even/odd in sync */ + } } else { /* otherwise an 'odd' event must go to spares */ - if ((mddev->events&1)) + if ((mddev->events&1)) { nospares = 0; + sync_req = 2; /* force a second update to get the + * even/odd in sync */ + } } } @@ -2250,7 +2270,7 @@ if (rdev->raid_disk == -1) return -EEXIST; /* personality does all needed checks */ - if (rdev->mddev->pers->hot_add_disk == NULL) + if (rdev->mddev->pers->hot_remove_disk == NULL) return -EINVAL; err = rdev->mddev->pers-> hot_remove_disk(rdev->mddev, rdev->raid_disk); @@ -3950,9 +3970,6 @@ goto abort; mddev->queue->queuedata = mddev; - /* Can be unlocked because the queue is new: no concurrency */ - queue_flag_set_unlocked(QUEUE_FLAG_CLUSTER, mddev->queue); - blk_queue_make_request(mddev->queue, md_make_request); disk = alloc_disk(1 << shift); @@ -4170,7 +4187,7 @@ mddev->barriers_work = 1; mddev->ok_start_degraded = start_dirty_degraded; - if (start_readonly) + if (start_readonly && mddev->ro == 0) mddev->ro = 2; /* read-only, but switch on first write */ err = mddev->pers->run(mddev); @@ -4793,17 +4810,21 @@ PTR_ERR(rdev)); return PTR_ERR(rdev); } - /* set save_raid_disk if appropriate */ + /* set saved_raid_disk if appropriate */ if (!mddev->persistent) { if (info->state & (1<raid_disk < mddev->raid_disks) + info->raid_disk < mddev->raid_disks) { rdev->raid_disk = info->raid_disk; - else + set_bit(In_sync, &rdev->flags); + } else rdev->raid_disk = -1; } else super_types[mddev->major_version]. validate_super(mddev, rdev); - rdev->saved_raid_disk = rdev->raid_disk; + if (test_bit(In_sync, &rdev->flags)) + rdev->saved_raid_disk = rdev->raid_disk; + else + rdev->saved_raid_disk = -1; clear_bit(In_sync, &rdev->flags); /* just to be sure */ if (info->state & (1<minor_version = info->minor_version; mddev->patch_version = info->patch_version; mddev->persistent = !info->not_persistent; + /* ensure mddev_put doesn't delete this now that there + * is some minimal configuration. + */ + mddev->ctime = get_seconds(); return 0; } mddev->major_version = MD_MAJOR_VERSION; @@ -5321,6 +5346,7 @@ int err = 0; void __user *argp = (void __user *)arg; mddev_t *mddev = NULL; + int ro; if (!capable(CAP_SYS_ADMIN)) return -EACCES; @@ -5456,6 +5482,34 @@ err = do_md_stop(mddev, 1, 1); goto done_unlock; + case BLKROSET: + if (get_user(ro, (int __user *)(arg))) { + err = -EFAULT; + goto done_unlock; + } + err = -EINVAL; + + /* if the bdev is going readonly the value of mddev->ro + * does not matter, no writes are coming + */ + if (ro) + goto done_unlock; + + /* are we are already prepared for writes? */ + if (mddev->ro != 1) + goto done_unlock; + + /* transitioning to readauto need only happen for + * arrays that call md_write_start + */ + if (mddev->pers) { + err = restart_array(mddev); + if (err == 0) { + mddev->ro = 2; + set_disk_ro(mddev->gendisk, 0); + } + } + goto done_unlock; } /* @@ -6577,6 +6631,7 @@ list_for_each_entry(rdev, &mddev->disks, same_set) { if (rdev->raid_disk >= 0 && !test_bit(In_sync, &rdev->flags) && + !test_bit(Faulty, &rdev->flags) && !test_bit(Blocked, &rdev->flags)) spares++; if (rdev->raid_disk < 0 @@ -6629,7 +6684,7 @@ if (mddev->bitmap) - bitmap_daemon_work(mddev->bitmap); + bitmap_daemon_work(mddev); if (mddev->ro) return; --- linux-2.6.32.orig/drivers/md/md.h +++ linux-2.6.32/drivers/md/md.h @@ -289,6 +289,7 @@ * hot-adding a bitmap. It should * eventually be settable by sysfs. */ + struct mutex bitmap_mutex; struct list_head all_mddevs; }; --- linux-2.6.32.orig/drivers/md/multipath.c +++ linux-2.6.32/drivers/md/multipath.c @@ -301,14 +301,16 @@ rdev->data_offset << 9); /* as we don't honour merge_bvec_fn, we must never risk - * violating it, so limit ->max_sector to one PAGE, as - * a one page request is never in violation. + * violating it, so limit ->max_phys_segments to one, lying + * within a single page. * (Note: it is very unlikely that a device with * merge_bvec_fn will be involved in multipath.) */ - if (q->merge_bvec_fn && - queue_max_sectors(q) > (PAGE_SIZE>>9)) - blk_queue_max_sectors(mddev->queue, PAGE_SIZE>>9); + if (q->merge_bvec_fn) { + blk_queue_max_phys_segments(mddev->queue, 1); + blk_queue_segment_boundary(mddev->queue, + PAGE_CACHE_SIZE - 1); + } conf->working_disks++; mddev->degraded--; @@ -476,9 +478,11 @@ /* as we don't honour merge_bvec_fn, we must never risk * violating it, not that we ever expect a device with * a merge_bvec_fn to be involved in multipath */ - if (rdev->bdev->bd_disk->queue->merge_bvec_fn && - queue_max_sectors(mddev->queue) > (PAGE_SIZE>>9)) - blk_queue_max_sectors(mddev->queue, PAGE_SIZE>>9); + if (rdev->bdev->bd_disk->queue->merge_bvec_fn) { + blk_queue_max_phys_segments(mddev->queue, 1); + blk_queue_segment_boundary(mddev->queue, + PAGE_CACHE_SIZE - 1); + } if (!test_bit(Faulty, &rdev->flags)) conf->working_disks++; --- linux-2.6.32.orig/drivers/md/raid0.c +++ linux-2.6.32/drivers/md/raid0.c @@ -176,14 +176,15 @@ disk_stack_limits(mddev->gendisk, rdev1->bdev, rdev1->data_offset << 9); /* as we don't honour merge_bvec_fn, we must never risk - * violating it, so limit ->max_sector to one PAGE, as - * a one page request is never in violation. + * violating it, so limit ->max_phys_segments to 1, lying within + * a single page. */ - if (rdev1->bdev->bd_disk->queue->merge_bvec_fn && - queue_max_sectors(mddev->queue) > (PAGE_SIZE>>9)) - blk_queue_max_sectors(mddev->queue, PAGE_SIZE>>9); - + if (rdev1->bdev->bd_disk->queue->merge_bvec_fn) { + blk_queue_max_phys_segments(mddev->queue, 1); + blk_queue_segment_boundary(mddev->queue, + PAGE_CACHE_SIZE - 1); + } if (!smallest || (rdev1->sectors < smallest->sectors)) smallest = rdev1; cnt++; --- linux-2.6.32.orig/drivers/md/raid1.c +++ linux-2.6.32/drivers/md/raid1.c @@ -417,7 +417,7 @@ */ static int read_balance(conf_t *conf, r1bio_t *r1_bio) { - const unsigned long this_sector = r1_bio->sector; + const sector_t this_sector = r1_bio->sector; int new_disk = conf->last_used, disk = new_disk; int wonly_disk = -1; const int sectors = r1_bio->sectors; @@ -433,7 +433,7 @@ retry: if (conf->mddev->recovery_cp < MaxSector && (this_sector + sectors >= conf->next_resync)) { - /* Choose the first operation device, for consistancy */ + /* Choose the first operational device, for consistancy */ new_disk = 0; for (rdev = rcu_dereference(conf->mirrors[new_disk].rdev); @@ -845,6 +845,15 @@ } mirror = conf->mirrors + rdisk; + if (test_bit(WriteMostly, &mirror->rdev->flags) && + bitmap) { + /* Reading from a write-mostly device must + * take care not to over-take any writes + * that are 'behind' + */ + wait_event(bitmap->behind_wait, + atomic_read(&bitmap->behind_writes) == 0); + } r1_bio->read_disk = rdisk; read_bio = bio_clone(bio, GFP_NOIO); @@ -891,9 +900,10 @@ if (test_bit(Faulty, &rdev->flags)) { rdev_dec_pending(rdev, mddev); r1_bio->bios[i] = NULL; - } else + } else { r1_bio->bios[i] = bio; - targets++; + targets++; + } } else r1_bio->bios[i] = NULL; } @@ -921,9 +931,13 @@ set_bit(R1BIO_Degraded, &r1_bio->state); } - /* do behind I/O ? */ + /* do behind I/O ? + * Not if there are too many, or cannot allocate memory, + * or a reader on WriteMostly is waiting for behind writes + * to flush */ if (bitmap && atomic_read(&bitmap->behind_writes) < bitmap->max_write_behind && + !waitqueue_active(&bitmap->behind_wait) && (behind_pages = alloc_behind_pages(bio)) != NULL) set_bit(R1BIO_BehindIO, &r1_bio->state); @@ -1174,6 +1188,7 @@ * is not possible. */ if (!test_bit(Faulty, &rdev->flags) && + !mddev->recovery_disabled && mddev->degraded < conf->raid_disks) { err = -EBUSY; goto abort; @@ -2104,15 +2119,13 @@ { conf_t *conf = mddev->private; struct bitmap *bitmap = mddev->bitmap; - int behind_wait = 0; /* wait for behind writes to complete */ - while (bitmap && atomic_read(&bitmap->behind_writes) > 0) { - behind_wait++; - printk(KERN_INFO "raid1: behind writes in progress on device %s, waiting to stop (%d)\n", mdname(mddev), behind_wait); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ); /* wait a second */ + if (bitmap && atomic_read(&bitmap->behind_writes) > 0) { + printk(KERN_INFO "raid1: behind writes in progress on device %s, waiting to stop.\n", mdname(mddev)); /* need to kick something here to make sure I/O goes? */ + wait_event(bitmap->behind_wait, + atomic_read(&bitmap->behind_writes) == 0); } raise_barrier(conf); --- linux-2.6.32.orig/drivers/md/raid10.c +++ linux-2.6.32/drivers/md/raid10.c @@ -493,7 +493,7 @@ */ static int read_balance(conf_t *conf, r10bio_t *r10_bio) { - const unsigned long this_sector = r10_bio->sector; + const sector_t this_sector = r10_bio->sector; int disk, slot, nslot; const int sectors = r10_bio->sectors; sector_t new_distance, current_distance; @@ -824,11 +824,29 @@ */ bp = bio_split(bio, chunk_sects - (bio->bi_sector & (chunk_sects - 1)) ); + + /* Each of these 'make_request' calls will call 'wait_barrier'. + * If the first succeeds but the second blocks due to the resync + * thread raising the barrier, we will deadlock because the + * IO to the underlying device will be queued in generic_make_request + * and will never complete, so will never reduce nr_pending. + * So increment nr_waiting here so no new raise_barriers will + * succeed, and so the second wait_barrier cannot block. + */ + spin_lock_irq(&conf->resync_lock); + conf->nr_waiting++; + spin_unlock_irq(&conf->resync_lock); + if (make_request(q, &bp->bio1)) generic_make_request(&bp->bio1); if (make_request(q, &bp->bio2)) generic_make_request(&bp->bio2); + spin_lock_irq(&conf->resync_lock); + conf->nr_waiting--; + wake_up(&conf->wait_barrier); + spin_unlock_irq(&conf->resync_lock); + bio_pair_release(bp); return 0; bad_map: @@ -1155,13 +1173,17 @@ disk_stack_limits(mddev->gendisk, rdev->bdev, rdev->data_offset << 9); - /* as we don't honour merge_bvec_fn, we must never risk - * violating it, so limit ->max_sector to one PAGE, as - * a one page request is never in violation. + /* as we don't honour merge_bvec_fn, we must + * never risk violating it, so limit + * ->max_phys_segments to one lying with a single + * page, as a one page request is never in + * violation. */ - if (rdev->bdev->bd_disk->queue->merge_bvec_fn && - queue_max_sectors(mddev->queue) > (PAGE_SIZE>>9)) - blk_queue_max_sectors(mddev->queue, PAGE_SIZE>>9); + if (rdev->bdev->bd_disk->queue->merge_bvec_fn) { + blk_queue_max_phys_segments(mddev->queue, 1); + blk_queue_segment_boundary(mddev->queue, + PAGE_CACHE_SIZE - 1); + } p->head_position = 0; rdev->raid_disk = mirror; @@ -2155,12 +2177,14 @@ disk_stack_limits(mddev->gendisk, rdev->bdev, rdev->data_offset << 9); /* as we don't honour merge_bvec_fn, we must never risk - * violating it, so limit ->max_sector to one PAGE, as - * a one page request is never in violation. + * violating it, so limit max_phys_segments to 1 lying + * within a single page. */ - if (rdev->bdev->bd_disk->queue->merge_bvec_fn && - queue_max_sectors(mddev->queue) > (PAGE_SIZE>>9)) - blk_queue_max_sectors(mddev->queue, PAGE_SIZE>>9); + if (rdev->bdev->bd_disk->queue->merge_bvec_fn) { + blk_queue_max_phys_segments(mddev->queue, 1); + blk_queue_segment_boundary(mddev->queue, + PAGE_CACHE_SIZE - 1); + } disk->head_position = 0; } --- linux-2.6.32.orig/drivers/md/raid5.c +++ linux-2.6.32/drivers/md/raid5.c @@ -127,7 +127,7 @@ static inline void raid5_set_bi_hw_segments(struct bio *bio, unsigned int cnt) { - bio->bi_phys_segments = raid5_bi_phys_segments(bio) || (cnt << 16); + bio->bi_phys_segments = raid5_bi_phys_segments(bio) | (cnt << 16); } /* Find first data disk in a raid6 stripe */ @@ -446,7 +446,7 @@ bi = &sh->dev[i].req; bi->bi_rw = rw; - if (rw == WRITE) + if (rw & WRITE) bi->bi_end_io = raid5_end_write_request; else bi->bi_end_io = raid5_end_read_request; @@ -480,13 +480,13 @@ bi->bi_io_vec[0].bv_offset = 0; bi->bi_size = STRIPE_SIZE; bi->bi_next = NULL; - if (rw == WRITE && + if ((rw & WRITE) && test_bit(R5_ReWrite, &sh->dev[i].flags)) atomic_add(STRIPE_SECTORS, &rdev->corrected_errors); generic_make_request(bi); } else { - if (rw == WRITE) + if (rw & WRITE) set_bit(STRIPE_DEGRADED, &sh->state); pr_debug("skip op %ld on disc %d for sector %llu\n", bi->bi_rw, i, (unsigned long long)sh->sector); @@ -1526,7 +1526,7 @@ clear_bit(R5_UPTODATE, &sh->dev[i].flags); atomic_inc(&rdev->read_errors); - if (conf->mddev->degraded) + if (conf->mddev->degraded >= conf->max_degraded) printk_rl(KERN_WARNING "raid5:%s: read error not correctable " "(sector %llu on %s).\n", @@ -1649,8 +1649,8 @@ int previous, int *dd_idx, struct stripe_head *sh) { - long stripe; - unsigned long chunk_number; + sector_t stripe, stripe2; + sector_t chunk_number; unsigned int chunk_offset; int pd_idx, qd_idx; int ddf_layout = 0; @@ -1670,18 +1670,13 @@ */ chunk_offset = sector_div(r_sector, sectors_per_chunk); chunk_number = r_sector; - BUG_ON(r_sector != chunk_number); /* * Compute the stripe number */ - stripe = chunk_number / data_disks; - - /* - * Compute the data disk and parity disk indexes inside the stripe - */ - *dd_idx = chunk_number % data_disks; - + stripe = chunk_number; + *dd_idx = sector_div(stripe, data_disks); + stripe2 = stripe; /* * Select the parity disk based on the user selected algorithm. */ @@ -1693,21 +1688,21 @@ case 5: switch (algorithm) { case ALGORITHM_LEFT_ASYMMETRIC: - pd_idx = data_disks - stripe % raid_disks; + pd_idx = data_disks - sector_div(stripe2, raid_disks); if (*dd_idx >= pd_idx) (*dd_idx)++; break; case ALGORITHM_RIGHT_ASYMMETRIC: - pd_idx = stripe % raid_disks; + pd_idx = sector_div(stripe2, raid_disks); if (*dd_idx >= pd_idx) (*dd_idx)++; break; case ALGORITHM_LEFT_SYMMETRIC: - pd_idx = data_disks - stripe % raid_disks; + pd_idx = data_disks - sector_div(stripe2, raid_disks); *dd_idx = (pd_idx + 1 + *dd_idx) % raid_disks; break; case ALGORITHM_RIGHT_SYMMETRIC: - pd_idx = stripe % raid_disks; + pd_idx = sector_div(stripe2, raid_disks); *dd_idx = (pd_idx + 1 + *dd_idx) % raid_disks; break; case ALGORITHM_PARITY_0: @@ -1727,7 +1722,7 @@ switch (algorithm) { case ALGORITHM_LEFT_ASYMMETRIC: - pd_idx = raid_disks - 1 - (stripe % raid_disks); + pd_idx = raid_disks - 1 - sector_div(stripe2, raid_disks); qd_idx = pd_idx + 1; if (pd_idx == raid_disks-1) { (*dd_idx)++; /* Q D D D P */ @@ -1736,7 +1731,7 @@ (*dd_idx) += 2; /* D D P Q D */ break; case ALGORITHM_RIGHT_ASYMMETRIC: - pd_idx = stripe % raid_disks; + pd_idx = sector_div(stripe2, raid_disks); qd_idx = pd_idx + 1; if (pd_idx == raid_disks-1) { (*dd_idx)++; /* Q D D D P */ @@ -1745,12 +1740,12 @@ (*dd_idx) += 2; /* D D P Q D */ break; case ALGORITHM_LEFT_SYMMETRIC: - pd_idx = raid_disks - 1 - (stripe % raid_disks); + pd_idx = raid_disks - 1 - sector_div(stripe2, raid_disks); qd_idx = (pd_idx + 1) % raid_disks; *dd_idx = (pd_idx + 2 + *dd_idx) % raid_disks; break; case ALGORITHM_RIGHT_SYMMETRIC: - pd_idx = stripe % raid_disks; + pd_idx = sector_div(stripe2, raid_disks); qd_idx = (pd_idx + 1) % raid_disks; *dd_idx = (pd_idx + 2 + *dd_idx) % raid_disks; break; @@ -1769,7 +1764,7 @@ /* Exactly the same as RIGHT_ASYMMETRIC, but or * of blocks for computing Q is different. */ - pd_idx = stripe % raid_disks; + pd_idx = sector_div(stripe2, raid_disks); qd_idx = pd_idx + 1; if (pd_idx == raid_disks-1) { (*dd_idx)++; /* Q D D D P */ @@ -1784,7 +1779,8 @@ * D D D P Q rather than * Q D D D P */ - pd_idx = raid_disks - 1 - ((stripe + 1) % raid_disks); + stripe2 += 1; + pd_idx = raid_disks - 1 - sector_div(stripe2, raid_disks); qd_idx = pd_idx + 1; if (pd_idx == raid_disks-1) { (*dd_idx)++; /* Q D D D P */ @@ -1796,7 +1792,7 @@ case ALGORITHM_ROTATING_N_CONTINUE: /* Same as left_symmetric but Q is before P */ - pd_idx = raid_disks - 1 - (stripe % raid_disks); + pd_idx = raid_disks - 1 - sector_div(stripe2, raid_disks); qd_idx = (pd_idx + raid_disks - 1) % raid_disks; *dd_idx = (pd_idx + 1 + *dd_idx) % raid_disks; ddf_layout = 1; @@ -1804,27 +1800,27 @@ case ALGORITHM_LEFT_ASYMMETRIC_6: /* RAID5 left_asymmetric, with Q on last device */ - pd_idx = data_disks - stripe % (raid_disks-1); + pd_idx = data_disks - sector_div(stripe2, raid_disks-1); if (*dd_idx >= pd_idx) (*dd_idx)++; qd_idx = raid_disks - 1; break; case ALGORITHM_RIGHT_ASYMMETRIC_6: - pd_idx = stripe % (raid_disks-1); + pd_idx = sector_div(stripe2, raid_disks-1); if (*dd_idx >= pd_idx) (*dd_idx)++; qd_idx = raid_disks - 1; break; case ALGORITHM_LEFT_SYMMETRIC_6: - pd_idx = data_disks - stripe % (raid_disks-1); + pd_idx = data_disks - sector_div(stripe2, raid_disks-1); *dd_idx = (pd_idx + 1 + *dd_idx) % (raid_disks-1); qd_idx = raid_disks - 1; break; case ALGORITHM_RIGHT_SYMMETRIC_6: - pd_idx = stripe % (raid_disks-1); + pd_idx = sector_div(stripe2, raid_disks-1); *dd_idx = (pd_idx + 1 + *dd_idx) % (raid_disks-1); qd_idx = raid_disks - 1; break; @@ -1869,14 +1865,14 @@ : conf->algorithm; sector_t stripe; int chunk_offset; - int chunk_number, dummy1, dd_idx = i; + sector_t chunk_number; + int dummy1, dd_idx = i; sector_t r_sector; struct stripe_head sh2; chunk_offset = sector_div(new_sector, sectors_per_chunk); stripe = new_sector; - BUG_ON(new_sector != stripe); if (i == sh->pd_idx) return 0; @@ -1969,7 +1965,7 @@ } chunk_number = stripe * data_disks + i; - r_sector = (sector_t)chunk_number * sectors_per_chunk + chunk_offset; + r_sector = chunk_number * sectors_per_chunk + chunk_offset; check = raid5_compute_sector(conf, r_sector, previous, &dummy1, &sh2); @@ -3042,12 +3038,16 @@ /* check if the array has lost two devices and, if so, some requests might * need to be failed */ - if (s.failed > 1 && s.to_read+s.to_write+s.written) - handle_failed_stripe(conf, sh, &s, disks, &return_bi); - if (s.failed > 1 && s.syncing) { - md_done_sync(conf->mddev, STRIPE_SECTORS,0); - clear_bit(STRIPE_SYNCING, &sh->state); - s.syncing = 0; + if (s.failed > 1) { + sh->check_state = 0; + sh->reconstruct_state = 0; + if (s.to_read+s.to_write+s.written) + handle_failed_stripe(conf, sh, &s, disks, &return_bi); + if (s.syncing) { + md_done_sync(conf->mddev, STRIPE_SECTORS,0); + clear_bit(STRIPE_SYNCING, &sh->state); + s.syncing = 0; + } } /* might be able to return some write requests if the parity block @@ -3318,12 +3318,16 @@ /* check if the array has lost >2 devices and, if so, some requests * might need to be failed */ - if (s.failed > 2 && s.to_read+s.to_write+s.written) - handle_failed_stripe(conf, sh, &s, disks, &return_bi); - if (s.failed > 2 && s.syncing) { - md_done_sync(conf->mddev, STRIPE_SECTORS,0); - clear_bit(STRIPE_SYNCING, &sh->state); - s.syncing = 0; + if (s.failed > 2) { + sh->check_state = 0; + sh->reconstruct_state = 0; + if (s.to_read+s.to_write+s.written) + handle_failed_stripe(conf, sh, &s, disks, &return_bi); + if (s.syncing) { + md_done_sync(conf->mddev, STRIPE_SECTORS,0); + clear_bit(STRIPE_SYNCING, &sh->state); + s.syncing = 0; + } } /* @@ -5432,11 +5436,11 @@ !test_bit(Faulty, &rdev->flags)) { if (raid5_add_disk(mddev, rdev) == 0) { char nm[20]; - if (rdev->raid_disk >= conf->previous_raid_disks) + if (rdev->raid_disk >= conf->previous_raid_disks) { set_bit(In_sync, &rdev->flags); - else + added_devices++; + } else rdev->recovery_offset = 0; - added_devices++; sprintf(nm, "rd%d", rdev->raid_disk); if (sysfs_create_link(&mddev->kobj, &rdev->kobj, nm)) @@ -5448,9 +5452,12 @@ break; } + /* When a reshape changes the number of devices, ->degraded + * is measured against the large of the pre and post number of + * devices.*/ if (mddev->delta_disks > 0) { spin_lock_irqsave(&conf->device_lock, flags); - mddev->degraded = (conf->raid_disks - conf->previous_raid_disks) + mddev->degraded += (conf->raid_disks - conf->previous_raid_disks) - added_devices; spin_unlock_irqrestore(&conf->device_lock, flags); } --- linux-2.6.32.orig/drivers/media/common/tuners/mxl5007t.c +++ linux-2.6.32/drivers/media/common/tuners/mxl5007t.c @@ -196,7 +196,7 @@ i = j = 0; while (reg_pair1[i].reg || reg_pair1[i].val) { - while (reg_pair2[j].reg || reg_pair2[j].reg) { + while (reg_pair2[j].reg || reg_pair2[j].val) { if (reg_pair1[i].reg != reg_pair2[j].reg) { j++; continue; --- linux-2.6.32.orig/drivers/media/dvb/b2c2/flexcop-pci.c +++ linux-2.6.32/drivers/media/dvb/b2c2/flexcop-pci.c @@ -38,7 +38,7 @@ DEBSTATUS); #define DRIVER_VERSION "0.1" -#define DRIVER_NAME "Technisat/B2C2 FlexCop II/IIb/III Digital TV PCI Driver" +#define DRIVER_NAME "flexcop-pci" #define DRIVER_AUTHOR "Patrick Boettcher " struct flexcop_pci { --- linux-2.6.32.orig/drivers/media/dvb/dvb-core/dmxdev.c +++ linux-2.6.32/drivers/media/dvb/dvb-core/dmxdev.c @@ -761,7 +761,6 @@ dvb_ringbuffer_init(&dmxdevfilter->buffer, NULL, 8192); dmxdevfilter->type = DMXDEV_TYPE_NONE; dvb_dmxdev_filter_state_set(dmxdevfilter, DMXDEV_STATE_ALLOCATED); - INIT_LIST_HEAD(&dmxdevfilter->feed.ts); init_timer(&dmxdevfilter->timer); dvbdev->users++; @@ -887,6 +886,7 @@ dmxdevfilter->type = DMXDEV_TYPE_PES; memcpy(&dmxdevfilter->params, params, sizeof(struct dmx_pes_filter_params)); + INIT_LIST_HEAD(&dmxdevfilter->feed.ts); dvb_dmxdev_filter_state_set(dmxdevfilter, DMXDEV_STATE_SET); --- linux-2.6.32.orig/drivers/media/dvb/dvb-core/dvb_net.c +++ linux-2.6.32/drivers/media/dvb/dvb-core/dvb_net.c @@ -350,6 +350,7 @@ const u8 *ts, *ts_end, *from_where = NULL; u8 ts_remain = 0, how_much = 0, new_ts = 1; struct ethhdr *ethh = NULL; + bool error = false; #ifdef ULE_DEBUG /* The code inside ULE_DEBUG keeps a history of the last 100 TS cells processed. */ @@ -459,10 +460,16 @@ /* Drop partly decoded SNDU, reset state, resync on PUSI. */ if (priv->ule_skb) { - dev_kfree_skb( priv->ule_skb ); + error = true; + dev_kfree_skb(priv->ule_skb); + } + + if (error || priv->ule_sndu_remain) { dev->stats.rx_errors++; dev->stats.rx_frame_errors++; + error = false; } + reset_ule(priv); priv->need_pusi = 1; continue; @@ -504,6 +511,7 @@ "bytes left in TS. Resyncing.\n", ts_remain); priv->ule_sndu_len = 0; priv->need_pusi = 1; + ts += TS_SZ; continue; } @@ -533,6 +541,7 @@ from_where += 2; } + priv->ule_sndu_remain = priv->ule_sndu_len + 2; /* * State of current TS: * ts_remain (remaining bytes in the current TS cell) @@ -542,6 +551,7 @@ */ switch (ts_remain) { case 1: + priv->ule_sndu_remain--; priv->ule_sndu_type = from_where[0] << 8; priv->ule_sndu_type_1 = 1; /* first byte of ule_type is set. */ ts_remain -= 1; from_where += 1; @@ -555,6 +565,7 @@ default: /* complete ULE header is present in current TS. */ /* Extract ULE type field. */ if (priv->ule_sndu_type_1) { + priv->ule_sndu_type_1 = 0; priv->ule_sndu_type |= from_where[0]; from_where += 1; /* points to payload start. */ ts_remain -= 1; --- linux-2.6.32.orig/drivers/media/dvb/dvb-usb/Kconfig +++ linux-2.6.32/drivers/media/dvb/dvb-usb/Kconfig @@ -112,8 +112,8 @@ select DVB_MT352 if !DVB_FE_CUSTOMISE select DVB_ZL10353 if !DVB_FE_CUSTOMISE select DVB_DIB7000P if !DVB_FE_CUSTOMISE - select DVB_LGS8GL5 if !DVB_FE_CUSTOMISE select DVB_TUNER_DIB0070 if !DVB_FE_CUSTOMISE + select DVB_LGS8GXX if !DVB_FE_CUSTOMISE select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMISE select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMISE select MEDIA_TUNER_MXL5005S if !MEDIA_TUNER_CUSTOMISE --- linux-2.6.32.orig/drivers/media/dvb/dvb-usb/dib0700_devices.c +++ linux-2.6.32/drivers/media/dvb/dvb-usb/dib0700_devices.c @@ -874,6 +874,43 @@ { 0x1d37, KEY_RECORD }, { 0x1d3b, KEY_GOTO }, { 0x1d3d, KEY_POWER }, + + /* Key codes for the Elgato EyeTV Diversity silver remote, + set dvb_usb_dib0700_ir_proto=0 */ + { 0x4501, KEY_POWER }, + { 0x4502, KEY_MUTE }, + { 0x4503, KEY_1 }, + { 0x4504, KEY_2 }, + { 0x4505, KEY_3 }, + { 0x4506, KEY_4 }, + { 0x4507, KEY_5 }, + { 0x4508, KEY_6 }, + { 0x4509, KEY_7 }, + { 0x450a, KEY_8 }, + { 0x450b, KEY_9 }, + { 0x450c, KEY_LAST }, + { 0x450d, KEY_0 }, + { 0x450e, KEY_ENTER }, + { 0x450f, KEY_RED }, + { 0x4510, KEY_CHANNELUP }, + { 0x4511, KEY_GREEN }, + { 0x4512, KEY_VOLUMEDOWN }, + { 0x4513, KEY_OK }, + { 0x4514, KEY_VOLUMEUP }, + { 0x4515, KEY_YELLOW }, + { 0x4516, KEY_CHANNELDOWN }, + { 0x4517, KEY_BLUE }, + { 0x4518, KEY_LEFT }, /* Skip backwards */ + { 0x4519, KEY_PLAYPAUSE }, + { 0x451a, KEY_RIGHT }, /* Skip forward */ + { 0x451b, KEY_REWIND }, + { 0x451c, KEY_L }, /* Live */ + { 0x451d, KEY_FASTFORWARD }, + { 0x451e, KEY_STOP }, /* 'Reveal' for Teletext */ + { 0x451f, KEY_MENU }, /* KEY_TEXT for Teletext */ + { 0x4540, KEY_RECORD }, /* Font 'Size' for Teletext */ + { 0x4541, KEY_SCREEN }, /* Full screen toggle, 'Hold' for Teletext */ + { 0x4542, KEY_SELECT }, /* Select video input, 'Select' for Teletext */ }; /* STK7700P: Hauppauge Nova-T Stick, AVerMedia Volar */ @@ -1861,6 +1898,7 @@ { USB_DEVICE(USB_VID_DIBCOM, USB_PID_DIBCOM_STK807XPVR) }, { USB_DEVICE(USB_VID_DIBCOM, USB_PID_DIBCOM_STK807XP) }, { USB_DEVICE(USB_VID_PIXELVIEW, USB_PID_PIXELVIEW_SBTVD) }, + { USB_DEVICE(USB_VID_ELGATO, USB_PID_ELGATO_EYETV_DIVERSITY) }, { 0 } /* Terminating entry */ }; MODULE_DEVICE_TABLE(usb, dib0700_usb_id_table); @@ -2173,7 +2211,7 @@ } }, - .num_device_descs = 6, + .num_device_descs = 7, .devices = { { "DiBcom STK7070PD reference design", { &dib0700_usb_id_table[17], NULL }, @@ -2199,7 +2237,11 @@ { "Sony PlayTV", { &dib0700_usb_id_table[44], NULL }, { NULL }, - } + }, + { "Elgato EyeTV Diversity", + { &dib0700_usb_id_table[64], NULL }, + { NULL }, + }, }, .rc_interval = DEFAULT_RC_INTERVAL, .rc_key_map = dib0700_rc_keys, --- linux-2.6.32.orig/drivers/media/dvb/dvb-usb/dvb-usb-ids.h +++ linux-2.6.32/drivers/media/dvb/dvb-usb/dvb-usb-ids.h @@ -271,6 +271,7 @@ #define USB_PID_TELESTAR_STARSTICK_2 0x8000 #define USB_PID_MSI_DIGI_VOX_MINI_III 0x8807 #define USB_PID_SONY_PLAYTV 0x0003 +#define USB_PID_ELGATO_EYETV_DIVERSITY 0x0011 #define USB_PID_ELGATO_EYETV_DTT 0x0021 #define USB_PID_ELGATO_EYETV_DTT_Dlx 0x0020 #define USB_PID_DVB_T_USB_STICK_HIGH_SPEED_COLD 0x5000 --- linux-2.6.32.orig/drivers/media/dvb/frontends/l64781.c +++ linux-2.6.32/drivers/media/dvb/frontends/l64781.c @@ -192,8 +192,8 @@ spi_bias *= qam_tab[p->constellation]; spi_bias /= p->code_rate_HP + 1; spi_bias /= (guard_tab[p->guard_interval] + 32); - spi_bias *= 1000ULL; - spi_bias /= 1000ULL + ppm/1000; + spi_bias *= 1000; + spi_bias /= 1000 + ppm/1000; spi_bias *= p->code_rate_HP; val0x04 = (p->transmission_mode << 2) | p->guard_interval; --- linux-2.6.32.orig/drivers/media/dvb/siano/smsusb.c +++ linux-2.6.32/drivers/media/dvb/siano/smsusb.c @@ -533,8 +533,18 @@ .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, { USB_DEVICE(0x2040, 0xb910), .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, + { USB_DEVICE(0x2040, 0xb980), + .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, + { USB_DEVICE(0x2040, 0xb990), + .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, { USB_DEVICE(0x2040, 0xc000), .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, + { USB_DEVICE(0x2040, 0xc010), + .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, + { USB_DEVICE(0x2040, 0xc080), + .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, + { USB_DEVICE(0x2040, 0xc090), + .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, { } /* Terminating entry */ }; --- linux-2.6.32.orig/drivers/media/dvb/ttpci/Kconfig +++ linux-2.6.32/drivers/media/dvb/ttpci/Kconfig @@ -68,13 +68,14 @@ select DVB_VES1820 if !DVB_FE_CUSTOMISE select DVB_L64781 if !DVB_FE_CUSTOMISE select DVB_TDA8083 if !DVB_FE_CUSTOMISE - select DVB_TDA10021 if !DVB_FE_CUSTOMISE - select DVB_TDA10023 if !DVB_FE_CUSTOMISE select DVB_S5H1420 if !DVB_FE_CUSTOMISE select DVB_TDA10086 if !DVB_FE_CUSTOMISE select DVB_TDA826X if !DVB_FE_CUSTOMISE select DVB_LNBP21 if !DVB_FE_CUSTOMISE select DVB_TDA1004X if !DVB_FE_CUSTOMISE + select DVB_ISL6423 if !DVB_FE_CUSTOMISE + select DVB_STV090x if !DVB_FE_CUSTOMISE + select DVB_STV6110x if !DVB_FE_CUSTOMISE help Support for simple SAA7146 based DVB cards (so called Budget- or Nova-PCI cards) without onboard MPEG2 decoder, and without --- linux-2.6.32.orig/drivers/media/dvb/ttpci/av7110_ca.c +++ linux-2.6.32/drivers/media/dvb/ttpci/av7110_ca.c @@ -277,7 +277,7 @@ { ca_slot_info_t *info=(ca_slot_info_t *)parg; - if (info->num > 1) + if (info->num < 0 || info->num > 1) return -EINVAL; av7110->ci_slot[info->num].num = info->num; av7110->ci_slot[info->num].type = FW_CI_LL_SUPPORT(av7110->arm_app) ? --- linux-2.6.32.orig/drivers/media/dvb/ttpci/budget.c +++ linux-2.6.32/drivers/media/dvb/ttpci/budget.c @@ -643,9 +643,6 @@ &budget->i2c_adap, &tt1600_isl6423_config); - } else { - dvb_frontend_detach(budget->dvb_frontend); - budget->dvb_frontend = NULL; } } break; --- linux-2.6.32.orig/drivers/media/radio/radio-aimslab.c +++ linux-2.6.32/drivers/media/radio/radio-aimslab.c @@ -31,7 +31,7 @@ #include /* Modules */ #include /* Initdata */ #include /* request_region */ -#include /* udelay */ +#include /* msleep */ #include /* kernel radio structs */ #include /* for KERNEL_VERSION MACRO */ #include /* outb, outb_p */ @@ -71,27 +71,17 @@ /* local things */ -static void sleep_delay(long n) -{ - /* Sleep nicely for 'n' uS */ - int d = n / msecs_to_jiffies(1000); - if (!d) - udelay(n); - else - msleep(jiffies_to_msecs(d)); -} - static void rt_decvol(struct rtrack *rt) { outb(0x58, rt->io); /* volume down + sigstr + on */ - sleep_delay(100000); + msleep(100); outb(0xd8, rt->io); /* volume steady + sigstr + on */ } static void rt_incvol(struct rtrack *rt) { outb(0x98, rt->io); /* volume up + sigstr + on */ - sleep_delay(100000); + msleep(100); outb(0xd8, rt->io); /* volume steady + sigstr + on */ } @@ -120,7 +110,7 @@ if (vol == 0) { /* volume = 0 means mute the card */ outb(0x48, rt->io); /* volume down but still "on" */ - sleep_delay(2000000); /* make sure it's totally down */ + msleep(2000); /* make sure it's totally down */ outb(0xd0, rt->io); /* volume steady, off */ rt->curvol = 0; /* track the volume state! */ mutex_unlock(&rt->lock); @@ -155,7 +145,7 @@ outb_p(128+64+16+8+ 1, rt->io); /* on + wr-enable + data low */ outb_p(128+64+16+8+2+1, rt->io); /* clock */ } - sleep_delay(1000); + msleep(1); } static void send_1_byte(struct rtrack *rt) @@ -169,7 +159,7 @@ outb_p(128+64+16+8+4+2+1, rt->io); /* clock */ } - sleep_delay(1000); + msleep(1); } static int rt_setfreq(struct rtrack *rt, unsigned long freq) @@ -423,7 +413,7 @@ /* this ensures that the volume is all the way down */ outb(0x48, rt->io); /* volume down but still "on" */ - sleep_delay(2000000); /* make sure it's totally down */ + msleep(2000); /* make sure it's totally down */ outb(0xc0, rt->io); /* steady volume, mute card */ return 0; --- linux-2.6.32.orig/drivers/media/radio/si4713-i2c.c +++ linux-2.6.32/drivers/media/radio/si4713-i2c.c @@ -1003,7 +1003,7 @@ char ps_name[MAX_RDS_PS_NAME + 1]; len = control->size - 1; - if (len > MAX_RDS_PS_NAME) { + if (len < 0 || len > MAX_RDS_PS_NAME) { rval = -ERANGE; goto exit; } @@ -1025,7 +1025,7 @@ char radio_text[MAX_RDS_RADIO_TEXT + 1]; len = control->size - 1; - if (len > MAX_RDS_RADIO_TEXT) { + if (len < 0 || len > MAX_RDS_RADIO_TEXT) { rval = -ERANGE; goto exit; } --- linux-2.6.32.orig/drivers/media/video/ov511.c +++ linux-2.6.32/drivers/media/video/ov511.c @@ -5878,7 +5878,7 @@ goto error; } - mutex_lock(&ov->lock); + mutex_unlock(&ov->lock); return 0; --- linux-2.6.32.orig/drivers/media/video/v4l2-compat-ioctl32.c +++ linux-2.6.32/drivers/media/video/v4l2-compat-ioctl32.c @@ -193,17 +193,24 @@ struct video_code32 { char loadwhat[16]; /* name or tag of file being passed */ compat_int_t datasize; - unsigned char *data; + compat_uptr_t data; }; -static int get_microcode32(struct video_code *kp, struct video_code32 __user *up) +static struct video_code __user *get_microcode32(struct video_code32 *kp) { - if (!access_ok(VERIFY_READ, up, sizeof(struct video_code32)) || - copy_from_user(kp->loadwhat, up->loadwhat, sizeof(up->loadwhat)) || - get_user(kp->datasize, &up->datasize) || - copy_from_user(kp->data, up->data, up->datasize)) - return -EFAULT; - return 0; + struct video_code __user *up; + + up = compat_alloc_user_space(sizeof(*up)); + + /* + * NOTE! We don't actually care if these fail. If the + * user address is invalid, the native ioctl will do + * the error handling for us + */ + (void) copy_to_user(up->loadwhat, kp->loadwhat, sizeof(up->loadwhat)); + (void) put_user(kp->datasize, &up->datasize); + (void) put_user(compat_ptr(kp->data), &up->data); + return up; } #define VIDIOCGTUNER32 _IOWR('v', 4, struct video_tuner32) @@ -741,7 +748,7 @@ struct video_tuner vt; struct video_buffer vb; struct video_window vw; - struct video_code vc; + struct video_code32 vc; struct video_audio va; #endif struct v4l2_format v2f; @@ -820,8 +827,11 @@ break; case VIDIOCSMICROCODE: - err = get_microcode32(&karg.vc, up); - compatible_arg = 0; + /* Copy the 32-bit "video_code32" to kernel space */ + if (copy_from_user(&karg.vc, up, sizeof(karg.vc))) + return -EFAULT; + /* Convert the 32-bit version to a 64-bit version in user space */ + up = get_microcode32(&karg.vc); break; case VIDIOCSFREQ: --- linux-2.6.32.orig/drivers/media/video/v4l2-ioctl.c +++ linux-2.6.32/drivers/media/video/v4l2-ioctl.c @@ -414,6 +414,9 @@ p->error_idx = p->count; user_ptr = (void __user *)p->controls; if (p->count) { + err = -EINVAL; + if (p->count > V4L2_CID_MAX_CTRLS) + goto out_ext_ctrl; ctrls_size = sizeof(struct v4l2_ext_control) * p->count; /* Note: v4l2_ext_controls fits in sbuf[] so mbuf is still NULL. */ mbuf = kmalloc(ctrls_size, GFP_KERNEL); @@ -1600,6 +1603,8 @@ if (!ops->vidioc_g_tuner) break; + p->type = (vfd->vfl_type == VFL_TYPE_RADIO) ? + V4L2_TUNER_RADIO : V4L2_TUNER_ANALOG_TV; ret = ops->vidioc_g_tuner(file, fh, p); if (!ret) dbgarg(cmd, "index=%d, name=%s, type=%d, " @@ -1618,6 +1623,8 @@ if (!ops->vidioc_s_tuner) break; + p->type = (vfd->vfl_type == VFL_TYPE_RADIO) ? + V4L2_TUNER_RADIO : V4L2_TUNER_ANALOG_TV; dbgarg(cmd, "index=%d, name=%s, type=%d, " "capability=0x%x, rangelow=%d, " "rangehigh=%d, signal=%d, afc=%d, " @@ -1636,6 +1643,8 @@ if (!ops->vidioc_g_frequency) break; + p->type = (vfd->vfl_type == VFL_TYPE_RADIO) ? + V4L2_TUNER_RADIO : V4L2_TUNER_ANALOG_TV; ret = ops->vidioc_g_frequency(file, fh, p); if (!ret) dbgarg(cmd, "tuner=%d, type=%d, frequency=%d\n", @@ -1906,6 +1915,9 @@ p->error_idx = p->count; user_ptr = (void __user *)p->controls; if (p->count) { + err = -EINVAL; + if (p->count > V4L2_CID_MAX_CTRLS) + goto out_ext_ctrl; ctrls_size = sizeof(struct v4l2_ext_control) * p->count; /* Note: v4l2_ext_controls fits in sbuf[] so mbuf is still NULL. */ mbuf = kmalloc(ctrls_size, GFP_KERNEL); --- linux-2.6.32.orig/drivers/media/video/bt8xx/bttv-driver.c +++ linux-2.6.32/drivers/media/video/bt8xx/bttv-driver.c @@ -3532,7 +3532,7 @@ if (0 != t->index) return -EINVAL; - bttv_call_all(btv, tuner, g_tuner, t); + bttv_call_all(btv, tuner, s_tuner, t); return 0; } @@ -4468,6 +4468,7 @@ request_modules(btv); } + init_bttv_i2c_ir(btv); bttv_input_init(btv); /* everything is fine */ --- linux-2.6.32.orig/drivers/media/video/bt8xx/bttv-i2c.c +++ linux-2.6.32/drivers/media/video/bt8xx/bttv-i2c.c @@ -388,7 +388,12 @@ if (0 == btv->i2c_rc && i2c_scan) do_i2c_scan(btv->c.v4l2_dev.name, &btv->i2c_client); - /* Instantiate the IR receiver device, if present */ + return btv->i2c_rc; +} + +/* Instantiate the I2C IR receiver device, if present */ +void __devinit init_bttv_i2c_ir(struct bttv *btv) +{ if (0 == btv->i2c_rc) { struct i2c_board_info info; /* The external IR receiver is at i2c address 0x34 (0x35 for @@ -408,7 +413,6 @@ strlcpy(info.type, "ir_video", I2C_NAME_SIZE); i2c_new_probed_device(&btv->c.i2c_adap, &info, addr_list); } - return btv->i2c_rc; } int __devexit fini_bttv_i2c(struct bttv *btv) --- linux-2.6.32.orig/drivers/media/video/bt8xx/bttvp.h +++ linux-2.6.32/drivers/media/video/bt8xx/bttvp.h @@ -279,6 +279,7 @@ extern unsigned int bttv_gpio; extern void bttv_gpio_tracking(struct bttv *btv, char *comment); extern int init_bttv_i2c(struct bttv *btv); +extern void init_bttv_i2c_ir(struct bttv *btv); extern int fini_bttv_i2c(struct bttv *btv); #define bttv_printk if (bttv_verbose) printk --- linux-2.6.32.orig/drivers/media/video/cx231xx/cx231xx-cards.c +++ linux-2.6.32/drivers/media/video/cx231xx/cx231xx-cards.c @@ -225,14 +225,16 @@ dev->board.name, dev->model); /* set the direction for GPIO pins */ - cx231xx_set_gpio_direction(dev, dev->board.tuner_gpio->bit, 1); - cx231xx_set_gpio_value(dev, dev->board.tuner_gpio->bit, 1); - cx231xx_set_gpio_direction(dev, dev->board.tuner_sif_gpio, 1); + if (dev->board.tuner_gpio) { + cx231xx_set_gpio_direction(dev, dev->board.tuner_gpio->bit, 1); + cx231xx_set_gpio_value(dev, dev->board.tuner_gpio->bit, 1); + cx231xx_set_gpio_direction(dev, dev->board.tuner_sif_gpio, 1); - /* request some modules if any required */ + /* request some modules if any required */ - /* reset the Tuner */ - cx231xx_gpio_set(dev, dev->board.tuner_gpio); + /* reset the Tuner */ + cx231xx_gpio_set(dev, dev->board.tuner_gpio); + } /* set the mode to Analog mode initially */ cx231xx_set_mode(dev, CX231XX_ANALOG_MODE); --- linux-2.6.32.orig/drivers/media/video/cx23885/cx23885-dvb.c +++ linux-2.6.32/drivers/media/video/cx23885/cx23885-dvb.c @@ -693,7 +693,7 @@ static struct xc2028_ctrl ctl = { .fname = XC3028L_DEFAULT_FIRMWARE, .max_len = 64, - .demod = 5000, + .demod = XC3028_FE_DIBCOM52, /* This is true for all demods with v36 firmware? */ .type = XC2028_D2633, --- linux-2.6.32.orig/drivers/media/video/cx23885/cx23885-i2c.c +++ linux-2.6.32/drivers/media/video/cx23885/cx23885-i2c.c @@ -365,7 +365,17 @@ memset(&info, 0, sizeof(struct i2c_board_info)); strlcpy(info.type, "ir_video", I2C_NAME_SIZE); - i2c_new_probed_device(&bus->i2c_adap, &info, addr_list); + /* + * We can't call i2c_new_probed_device() because it uses + * quick writes for probing and the IR receiver device only + * replies to reads. + */ + if (i2c_smbus_xfer(&bus->i2c_adap, addr_list[0], 0, + I2C_SMBUS_READ, 0, I2C_SMBUS_QUICK, + NULL) >= 0) { + info.addr = addr_list[0]; + i2c_new_device(&bus->i2c_adap, &info); + } } return bus->i2c_rc; --- linux-2.6.32.orig/drivers/media/video/cx88/cx88-i2c.c +++ linux-2.6.32/drivers/media/video/cx88/cx88-i2c.c @@ -188,10 +188,24 @@ 0x18, 0x6b, 0x71, I2C_CLIENT_END }; + const unsigned short *addrp; memset(&info, 0, sizeof(struct i2c_board_info)); strlcpy(info.type, "ir_video", I2C_NAME_SIZE); - i2c_new_probed_device(&core->i2c_adap, &info, addr_list); + /* + * We can't call i2c_new_probed_device() because it uses + * quick writes for probing and at least some R receiver + * devices only reply to reads. + */ + for (addrp = addr_list; *addrp != I2C_CLIENT_END; addrp++) { + if (i2c_smbus_xfer(&core->i2c_adap, *addrp, 0, + I2C_SMBUS_READ, 0, + I2C_SMBUS_QUICK, NULL) >= 0) { + info.addr = *addrp; + i2c_new_device(&core->i2c_adap, &info); + break; + } + } } return core->i2c_rc; } --- linux-2.6.32.orig/drivers/media/video/em28xx/em28xx-cards.c +++ linux-2.6.32/drivers/media/video/em28xx/em28xx-cards.c @@ -1525,11 +1525,11 @@ .input = { { .type = EM28XX_VMUX_COMPOSITE1, .vmux = SAA7115_COMPOSITE0, - .amux = EM28XX_AMUX_VIDEO2, + .amux = EM28XX_AMUX_LINE_IN, }, { .type = EM28XX_VMUX_SVIDEO, .vmux = SAA7115_SVIDEO3, - .amux = EM28XX_AMUX_VIDEO2, + .amux = EM28XX_AMUX_LINE_IN, } }, }, [EM2860_BOARD_TERRATEC_AV350] = { --- linux-2.6.32.orig/drivers/media/video/em28xx/em28xx-dvb.c +++ linux-2.6.32/drivers/media/video/em28xx/em28xx-dvb.c @@ -610,6 +610,7 @@ if (dev->dvb) { unregister_dvb(dev->dvb); + kfree(dev->dvb); dev->dvb = NULL; } --- linux-2.6.32.orig/drivers/media/video/gspca/mr97310a.c +++ linux-2.6.32/drivers/media/video/gspca/mr97310a.c @@ -530,6 +530,12 @@ {0x13, 0x00, {0x01}, 1}, {0, 0, {0}, 0} }; + /* Without this command the cam won't work with USB-UHCI */ + gspca_dev->usb_buf[0] = 0x0a; + gspca_dev->usb_buf[1] = 0x00; + err_code = mr_write(gspca_dev, 2); + if (err_code < 0) + return err_code; err_code = sensor_write_regs(gspca_dev, cif_sensor1_init_data, ARRAY_SIZE(cif_sensor1_init_data)); } --- linux-2.6.32.orig/drivers/media/video/gspca/ov519.c +++ linux-2.6.32/drivers/media/video/gspca/ov519.c @@ -3364,6 +3364,7 @@ {USB_DEVICE(0x041e, 0x4061), .driver_info = BRIDGE_OV519 }, {USB_DEVICE(0x041e, 0x4064), .driver_info = BRIDGE_OV519 | BRIDGE_INVERT_LED }, + {USB_DEVICE(0x041e, 0x4067), .driver_info = BRIDGE_OV519 }, {USB_DEVICE(0x041e, 0x4068), .driver_info = BRIDGE_OV519 | BRIDGE_INVERT_LED }, {USB_DEVICE(0x045e, 0x028c), .driver_info = BRIDGE_OV519 }, --- linux-2.6.32.orig/drivers/media/video/gspca/sn9c20x.c +++ linux-2.6.32/drivers/media/video/gspca/sn9c20x.c @@ -2319,7 +2319,7 @@ } } if (avg_lum > MAX_AVG_LUM) { - if (sd->gain - 1 >= 0) { + if (sd->gain >= 1) { sd->gain--; set_gain(gspca_dev); } --- linux-2.6.32.orig/drivers/media/video/gspca/sunplus.c +++ linux-2.6.32/drivers/media/video/gspca/sunplus.c @@ -705,7 +705,7 @@ rc = spca504B_PollingDataReady(gspca_dev); /* Init the cam width height with some values get on init ? */ - reg_w_riv(dev, 0x31, 0, 0x04); + reg_w_riv(dev, 0x31, 0x04, 0); spca504B_WaitCmdStatus(gspca_dev); rc = spca504B_PollingDataReady(gspca_dev); break; @@ -807,14 +807,14 @@ default: /* case BRIDGE_SPCA533: */ /* case BRIDGE_SPCA504B: */ - reg_w_riv(dev, 0, 0x00, 0x21ad); /* hue */ - reg_w_riv(dev, 0, 0x01, 0x21ac); /* sat/hue */ - reg_w_riv(dev, 0, 0x00, 0x21a3); /* gamma */ + reg_w_riv(dev, 0, 0x21ad, 0x00); /* hue */ + reg_w_riv(dev, 0, 0x21ac, 0x01); /* sat/hue */ + reg_w_riv(dev, 0, 0x21a3, 0x00); /* gamma */ break; case BRIDGE_SPCA536: - reg_w_riv(dev, 0, 0x40, 0x20f5); - reg_w_riv(dev, 0, 0x01, 0x20f4); - reg_w_riv(dev, 0, 0x00, 0x2089); + reg_w_riv(dev, 0, 0x20f5, 0x40); + reg_w_riv(dev, 0, 0x20f4, 0x01); + reg_w_riv(dev, 0, 0x2089, 0x00); break; } if (pollreg) @@ -888,11 +888,11 @@ switch (sd->bridge) { case BRIDGE_SPCA504B: reg_w_riv(dev, 0x1d, 0x00, 0); - reg_w_riv(dev, 0, 0x01, 0x2306); - reg_w_riv(dev, 0, 0x00, 0x0d04); - reg_w_riv(dev, 0, 0x00, 0x2000); - reg_w_riv(dev, 0, 0x13, 0x2301); - reg_w_riv(dev, 0, 0x00, 0x2306); + reg_w_riv(dev, 0, 0x2306, 0x01); + reg_w_riv(dev, 0, 0x0d04, 0x00); + reg_w_riv(dev, 0, 0x2000, 0x00); + reg_w_riv(dev, 0, 0x2301, 0x13); + reg_w_riv(dev, 0, 0x2306, 0x00); /* fall thru */ case BRIDGE_SPCA533: spca504B_PollingDataReady(gspca_dev); @@ -1011,7 +1011,7 @@ spca504B_WaitCmdStatus(gspca_dev); break; default: - reg_w_riv(dev, 0x31, 0, 0x04); + reg_w_riv(dev, 0x31, 0x04, 0); spca504B_WaitCmdStatus(gspca_dev); spca504B_PollingDataReady(gspca_dev); break; --- linux-2.6.32.orig/drivers/media/video/gspca/stv06xx/stv06xx.c +++ linux-2.6.32/drivers/media/video/gspca/stv06xx/stv06xx.c @@ -497,8 +497,6 @@ {USB_DEVICE(0x046D, 0x08F5), .driver_info = BRIDGE_ST6422 }, /* QuickCam Messenger (new) */ {USB_DEVICE(0x046D, 0x08F6), .driver_info = BRIDGE_ST6422 }, - /* QuickCam Messenger (new) */ - {USB_DEVICE(0x046D, 0x08DA), .driver_info = BRIDGE_ST6422 }, {} }; MODULE_DEVICE_TABLE(usb, device_table); --- linux-2.6.32.orig/drivers/media/video/hdpvr/hdpvr-video.c +++ linux-2.6.32/drivers/media/video/hdpvr/hdpvr-video.c @@ -279,12 +279,13 @@ hdpvr_config_call(dev, CTRL_START_STREAMING_VALUE, 0x00); + dev->status = STATUS_STREAMING; + INIT_WORK(&dev->worker, hdpvr_transmit_buffers); queue_work(dev->workqueue, &dev->worker); v4l2_dbg(MSG_BUFFER, hdpvr_debug, &dev->v4l2_dev, "streaming started\n"); - dev->status = STATUS_STREAMING; return 0; } --- linux-2.6.32.orig/drivers/media/video/ivtv/ivtvfb.c +++ linux-2.6.32/drivers/media/video/ivtv/ivtvfb.c @@ -457,6 +457,8 @@ struct fb_vblank vblank; u32 trace; + memset(&vblank, 0, sizeof(struct fb_vblank)); + vblank.flags = FB_VBLANK_HAVE_COUNT |FB_VBLANK_HAVE_VCOUNT | FB_VBLANK_HAVE_VSYNC; trace = read_reg(0x028c0) >> 16; --- linux-2.6.32.orig/drivers/media/video/pvrusb2/pvrusb2-hdw.c +++ linux-2.6.32/drivers/media/video/pvrusb2/pvrusb2-hdw.c @@ -2979,6 +2979,8 @@ if (hdw->input_dirty || hdw->audiomode_dirty || hdw->force_dirty) { struct v4l2_tuner vt; memset(&vt, 0, sizeof(vt)); + vt.type = (hdw->input_val == PVR2_CVAL_INPUT_RADIO) ? + V4L2_TUNER_RADIO : V4L2_TUNER_ANALOG_TV; vt.audmode = hdw->audiomode_val; v4l2_device_call_all(&hdw->v4l2_dev, 0, tuner, s_tuner, &vt); } @@ -5064,6 +5066,8 @@ { struct v4l2_tuner *vtp = &hdw->tuner_signal_info; memset(vtp, 0, sizeof(*vtp)); + vtp->type = (hdw->input_val == PVR2_CVAL_INPUT_RADIO) ? + V4L2_TUNER_RADIO : V4L2_TUNER_ANALOG_TV; hdw->tuner_signal_stale = 0; /* Note: There apparently is no replacement for VIDIOC_CROPCAP using v4l2-subdev - therefore we can't support that AT ALL right --- linux-2.6.32.orig/drivers/media/video/pwc/pwc-ctrl.c +++ linux-2.6.32/drivers/media/video/pwc/pwc-ctrl.c @@ -753,7 +753,7 @@ buf[0] = 0xff; /* fixed */ ret = send_control_msg(pdev, - SET_LUM_CTL, SHUTTER_MODE_FORMATTER, &buf, sizeof(buf)); + SET_LUM_CTL, SHUTTER_MODE_FORMATTER, &buf, 1); if (!mode && ret >= 0) { if (value < 0) --- linux-2.6.32.orig/drivers/media/video/saa7134/saa7134-cards.c +++ linux-2.6.32/drivers/media/video/saa7134/saa7134-cards.c @@ -5279,6 +5279,30 @@ .amux = TV, }, }, + [SAA7134_BOARD_ASUS_EUROPA_HYBRID] = { + .name = "Asus Europa Hybrid OEM", + .audio_clock = 0x00187de7, + .tuner_type = TUNER_PHILIPS_TD1316, + .radio_type = UNSET, + .tuner_addr = 0x61, + .radio_addr = ADDR_UNSET, + .tda9887_conf = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE, + .mpeg = SAA7134_MPEG_DVB, + .inputs = { { + .name = name_tv, + .vmux = 3, + .amux = TV, + .tv = 1, + }, { + .name = name_comp1, + .vmux = 4, + .amux = LINE2, + }, { + .name = name_svideo, + .vmux = 8, + .amux = LINE2, + } }, + }, }; @@ -6418,6 +6442,12 @@ .subdevice = 0x2004, .driver_data = SAA7134_BOARD_ZOLID_HYBRID_PCI, }, { + .vendor = PCI_VENDOR_ID_PHILIPS, + .device = PCI_DEVICE_ID_PHILIPS_SAA7134, + .subvendor = 0x1043, + .subdevice = 0x4847, + .driver_data = SAA7134_BOARD_ASUS_EUROPA_HYBRID, + }, { /* --- boards without eeprom + subsystem ID --- */ .vendor = PCI_VENDOR_ID_PHILIPS, .device = PCI_DEVICE_ID_PHILIPS_SAA7134, @@ -7079,6 +7109,7 @@ /* break intentionally omitted */ case SAA7134_BOARD_VIDEOMATE_DVBT_300: case SAA7134_BOARD_ASUS_EUROPA2_HYBRID: + case SAA7134_BOARD_ASUS_EUROPA_HYBRID: { /* The Philips EUROPA based hybrid boards have the tuner --- linux-2.6.32.orig/drivers/media/video/saa7134/saa7134-core.c +++ linux-2.6.32/drivers/media/video/saa7134/saa7134-core.c @@ -420,19 +420,6 @@ ctrl |= SAA7134_MAIN_CTRL_TE5; irq |= SAA7134_IRQ1_INTE_RA2_1 | SAA7134_IRQ1_INTE_RA2_0; - - /* dma: setup channel 5 (= TS) */ - - saa_writeb(SAA7134_TS_DMA0, (dev->ts.nr_packets - 1) & 0xff); - saa_writeb(SAA7134_TS_DMA1, - ((dev->ts.nr_packets - 1) >> 8) & 0xff); - /* TSNOPIT=0, TSCOLAP=0 */ - saa_writeb(SAA7134_TS_DMA2, - (((dev->ts.nr_packets - 1) >> 16) & 0x3f) | 0x00); - saa_writel(SAA7134_RS_PITCH(5), TS_PACKET_SIZE); - saa_writel(SAA7134_RS_CONTROL(5), SAA7134_RS_CONTROL_BURST_16 | - SAA7134_RS_CONTROL_ME | - (dev->ts.pt_ts.dma >> 12)); } /* set task conditions + field handling */ --- linux-2.6.32.orig/drivers/media/video/saa7134/saa7134-dvb.c +++ linux-2.6.32/drivers/media/video/saa7134/saa7134-dvb.c @@ -1116,6 +1116,7 @@ break; case SAA7134_BOARD_PHILIPS_EUROPA: case SAA7134_BOARD_VIDEOMATE_DVBT_300: + case SAA7134_BOARD_ASUS_EUROPA_HYBRID: fe0->dvb.frontend = dvb_attach(tda10046_attach, &philips_europa_config, &dev->i2c_adap); --- linux-2.6.32.orig/drivers/media/video/saa7134/saa7134-ts.c +++ linux-2.6.32/drivers/media/video/saa7134/saa7134-ts.c @@ -250,6 +250,19 @@ BUG_ON(dev->ts_started); + /* dma: setup channel 5 (= TS) */ + saa_writeb(SAA7134_TS_DMA0, (dev->ts.nr_packets - 1) & 0xff); + saa_writeb(SAA7134_TS_DMA1, + ((dev->ts.nr_packets - 1) >> 8) & 0xff); + /* TSNOPIT=0, TSCOLAP=0 */ + saa_writeb(SAA7134_TS_DMA2, + (((dev->ts.nr_packets - 1) >> 16) & 0x3f) | 0x00); + saa_writel(SAA7134_RS_PITCH(5), TS_PACKET_SIZE); + saa_writel(SAA7134_RS_CONTROL(5), SAA7134_RS_CONTROL_BURST_16 | + SAA7134_RS_CONTROL_ME | + (dev->ts.pt_ts.dma >> 12)); + + /* reset hardware TS buffers */ saa_writeb(SAA7134_TS_SERIAL1, 0x00); saa_writeb(SAA7134_TS_SERIAL1, 0x03); saa_writeb(SAA7134_TS_SERIAL1, 0x00); --- linux-2.6.32.orig/drivers/media/video/saa7134/saa7134.h +++ linux-2.6.32/drivers/media/video/saa7134/saa7134.h @@ -297,6 +297,7 @@ #define SAA7134_BOARD_BEHOLD_X7 171 #define SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM 172 #define SAA7134_BOARD_ZOLID_HYBRID_PCI 173 +#define SAA7134_BOARD_ASUS_EUROPA_HYBRID 174 #define SAA7134_MAXBOARDS 32 #define SAA7134_INPUT_MAX 8 --- linux-2.6.32.orig/drivers/media/video/sn9c102/sn9c102_core.c +++ linux-2.6.32/drivers/media/video/sn9c102/sn9c102_core.c @@ -1430,9 +1430,9 @@ sn9c102_show_i2c_reg, sn9c102_store_i2c_reg); static DEVICE_ATTR(i2c_val, S_IRUGO | S_IWUSR, sn9c102_show_i2c_val, sn9c102_store_i2c_val); -static DEVICE_ATTR(green, S_IWUGO, NULL, sn9c102_store_green); -static DEVICE_ATTR(blue, S_IWUGO, NULL, sn9c102_store_blue); -static DEVICE_ATTR(red, S_IWUGO, NULL, sn9c102_store_red); +static DEVICE_ATTR(green, S_IWUSR, NULL, sn9c102_store_green); +static DEVICE_ATTR(blue, S_IWUSR, NULL, sn9c102_store_blue); +static DEVICE_ATTR(red, S_IWUSR, NULL, sn9c102_store_red); static DEVICE_ATTR(frame_header, S_IRUGO, sn9c102_show_frame_header, NULL); --- linux-2.6.32.orig/drivers/media/video/uvc/uvc_ctrl.c +++ linux-2.6.32/drivers/media/video/uvc/uvc_ctrl.c @@ -826,6 +826,13 @@ ret = 0; goto out; + case V4L2_CTRL_TYPE_BUTTON: + v4l2_ctrl->minimum = 0; + v4l2_ctrl->maximum = 0; + v4l2_ctrl->step = 0; + ret = 0; + goto out; + default: break; } @@ -1405,7 +1412,7 @@ size = entity->processing.bControlSize; for (i = 0; i < ARRAY_SIZE(blacklist); ++i) { - if (!usb_match_id(dev->intf, &blacklist[i].id)) + if (!usb_match_one_id(dev->intf, &blacklist[i].id)) continue; if (blacklist[i].index >= 8 * size || --- linux-2.6.32.orig/drivers/media/video/uvc/uvc_driver.c +++ linux-2.6.32/drivers/media/video/uvc/uvc_driver.c @@ -58,6 +58,11 @@ .fcc = V4L2_PIX_FMT_YUYV, }, { + .name = "YUV 4:2:2 (YUYV)", + .guid = UVC_GUID_FORMAT_YUY2_ISIGHT, + .fcc = V4L2_PIX_FMT_YUYV, + }, + { .name = "YUV 4:2:0 (NV12)", .guid = UVC_GUID_FORMAT_NV12, .fcc = V4L2_PIX_FMT_NV12, @@ -83,11 +88,16 @@ .fcc = V4L2_PIX_FMT_UYVY, }, { - .name = "Greyscale", + .name = "Greyscale (8-bit)", .guid = UVC_GUID_FORMAT_Y800, .fcc = V4L2_PIX_FMT_GREY, }, { + .name = "Greyscale (16-bit)", + .guid = UVC_GUID_FORMAT_Y16, + .fcc = V4L2_PIX_FMT_Y16, + }, + { .name = "RGB Bayer", .guid = UVC_GUID_FORMAT_BY8, .fcc = V4L2_PIX_FMT_SBGGR8, @@ -426,7 +436,8 @@ /* Parse the frame descriptors. Only uncompressed, MJPEG and frame * based formats have frame descriptors. */ - while (buflen > 2 && buffer[2] == ftype) { + while (buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE && + buffer[2] == ftype) { frame = &format->frame[format->nframes]; if (ftype != UVC_VS_FRAME_FRAME_BASED) n = buflen > 25 ? buffer[25] : 0; @@ -503,12 +514,14 @@ buffer += buffer[0]; } - if (buflen > 2 && buffer[2] == UVC_VS_STILL_IMAGE_FRAME) { + if (buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE && + buffer[2] == UVC_VS_STILL_IMAGE_FRAME) { buflen -= buffer[0]; buffer += buffer[0]; } - if (buflen > 2 && buffer[2] == UVC_VS_COLORFORMAT) { + if (buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE && + buffer[2] == UVC_VS_COLORFORMAT) { if (buflen < 6) { uvc_trace(UVC_TRACE_DESCR, "device %d videostreaming " "interface %d COLORFORMAT error\n", @@ -749,6 +762,11 @@ buffer += buffer[0]; } + if (buflen) + uvc_trace(UVC_TRACE_DESCR, "device %d videostreaming interface " + "%d has %u bytes of trailing descriptor garbage.\n", + dev->udev->devnum, alts->desc.bInterfaceNumber, buflen); + /* Parse the alternate settings to find the maximum bandwidth. */ for (i = 0; i < intf->num_altsetting; ++i) { struct usb_host_endpoint *ep; @@ -1871,7 +1889,7 @@ list_for_each_entry(stream, &dev->streams, list) { if (stream->intf == intf) - return uvc_video_resume(stream); + return uvc_video_resume(stream, reset); } uvc_trace(UVC_TRACE_SUSPEND, "Resume: video streaming USB interface " @@ -2048,6 +2066,15 @@ .bInterfaceSubClass = 1, .bInterfaceProtocol = 0, .driver_info = UVC_QUIRK_STREAM_NO_FID }, + /* Syntek (Packard Bell EasyNote MX52 */ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE + | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = 0x174f, + .idProduct = 0x8a12, + .bInterfaceClass = USB_CLASS_VIDEO, + .bInterfaceSubClass = 1, + .bInterfaceProtocol = 0, + .driver_info = UVC_QUIRK_STREAM_NO_FID }, /* Syntek (Asus F9SG) */ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_INT_INFO, @@ -2112,6 +2139,15 @@ .bInterfaceSubClass = 1, .bInterfaceProtocol = 0, .driver_info = UVC_QUIRK_PROBE_MINMAX }, + /* Arkmicro unbranded */ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE + | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = 0x18ec, + .idProduct = 0x3290, + .bInterfaceClass = USB_CLASS_VIDEO, + .bInterfaceSubClass = 1, + .bInterfaceProtocol = 0, + .driver_info = UVC_QUIRK_PROBE_DEF }, /* Bodelin ProScopeHR */ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_DEV_HI --- linux-2.6.32.orig/drivers/media/video/uvc/uvc_queue.c +++ linux-2.6.32/drivers/media/video/uvc/uvc_queue.c @@ -165,6 +165,8 @@ } if (queue->count) { + uvc_queue_cancel(queue, 0); + INIT_LIST_HEAD(&queue->mainqueue); vfree(queue->mem); queue->count = 0; } --- linux-2.6.32.orig/drivers/media/video/uvc/uvc_video.c +++ linux-2.6.32/drivers/media/video/uvc/uvc_video.c @@ -64,15 +64,19 @@ static void uvc_fixup_video_ctrl(struct uvc_streaming *stream, struct uvc_streaming_control *ctrl) { - struct uvc_format *format; + struct uvc_format *format = NULL; struct uvc_frame *frame = NULL; unsigned int i; - if (ctrl->bFormatIndex <= 0 || - ctrl->bFormatIndex > stream->nformats) - return; + for (i = 0; i < stream->nformats; ++i) { + if (stream->format[i].index == ctrl->bFormatIndex) { + format = &stream->format[i]; + break; + } + } - format = &stream->format[ctrl->bFormatIndex - 1]; + if (format == NULL) + return; for (i = 0; i < format->nframes; ++i) { if (format->frame[i].bFrameIndex == ctrl->bFrameIndex) { @@ -1020,10 +1024,18 @@ * buffers, making sure userspace applications are notified of the problem * instead of waiting forever. */ -int uvc_video_resume(struct uvc_streaming *stream) +int uvc_video_resume(struct uvc_streaming *stream, int reset) { int ret; + /* If the bus has been reset on resume, set the alternate setting to 0. + * This should be the default value, but some devices crash or otherwise + * misbehave if they don't receive a SET_INTERFACE request before any + * other video control request. + */ + if (reset) + usb_set_interface(stream->dev->udev, stream->intfnum, 0); + stream->frozen = 0; ret = uvc_commit_video(stream, &stream->ctrl); --- linux-2.6.32.orig/drivers/media/video/uvc/uvcvideo.h +++ linux-2.6.32/drivers/media/video/uvc/uvcvideo.h @@ -112,6 +112,9 @@ #define UVC_GUID_FORMAT_YUY2 \ { 'Y', 'U', 'Y', '2', 0x00, 0x00, 0x10, 0x00, \ 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} +#define UVC_GUID_FORMAT_YUY2_ISIGHT \ + { 'Y', 'U', 'Y', '2', 0x00, 0x00, 0x10, 0x00, \ + 0x80, 0x00, 0x00, 0x00, 0x00, 0x38, 0x9b, 0x71} #define UVC_GUID_FORMAT_NV12 \ { 'N', 'V', '1', '2', 0x00, 0x00, 0x10, 0x00, \ 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} @@ -127,11 +130,13 @@ #define UVC_GUID_FORMAT_Y800 \ { 'Y', '8', '0', '0', 0x00, 0x00, 0x10, 0x00, \ 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} +#define UVC_GUID_FORMAT_Y16 \ + { 'Y', '1', '6', ' ', 0x00, 0x00, 0x10, 0x00, \ + 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} #define UVC_GUID_FORMAT_BY8 \ { 'B', 'Y', '8', ' ', 0x00, 0x00, 0x10, 0x00, \ 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} - /* ------------------------------------------------------------------------ * Driver specific constants. */ @@ -603,7 +608,7 @@ /* Video */ extern int uvc_video_init(struct uvc_streaming *stream); extern int uvc_video_suspend(struct uvc_streaming *stream); -extern int uvc_video_resume(struct uvc_streaming *stream); +extern int uvc_video_resume(struct uvc_streaming *stream, int reset); extern int uvc_video_enable(struct uvc_streaming *stream, int enable); extern int uvc_probe_video(struct uvc_streaming *stream, struct uvc_streaming_control *probe); --- linux-2.6.32.orig/drivers/media/video/zc0301/zc0301_sensor.h +++ linux-2.6.32/drivers/media/video/zc0301/zc0301_sensor.h @@ -62,7 +62,6 @@ #define ZC0301_ID_TABLE \ static const struct usb_device_id zc0301_id_table[] = { \ { ZC0301_USB_DEVICE(0x046d, 0x08ae, 0xff), }, /* PAS202 */ \ - { ZC0301_USB_DEVICE(0x0ac8, 0x303b, 0xff), }, /* PB-0330 */ \ { } \ }; #else --- linux-2.6.32.orig/drivers/memstick/core/mspro_block.c +++ linux-2.6.32/drivers/memstick/core/mspro_block.c @@ -1330,13 +1330,14 @@ struct mspro_block_data *msb = memstick_get_drvdata(card); unsigned long flags; - del_gendisk(msb->disk); - dev_dbg(&card->dev, "mspro block remove\n"); spin_lock_irqsave(&msb->q_lock, flags); msb->eject = 1; blk_start_queue(msb->queue); spin_unlock_irqrestore(&msb->q_lock, flags); + del_gendisk(msb->disk); + dev_dbg(&card->dev, "mspro block remove\n"); + blk_cleanup_queue(msb->queue); msb->queue = NULL; --- linux-2.6.32.orig/drivers/message/fusion/mptbase.c +++ linux-2.6.32/drivers/message/fusion/mptbase.c @@ -3232,6 +3232,16 @@ pfacts->IOCStatus = le16_to_cpu(pfacts->IOCStatus); pfacts->IOCLogInfo = le32_to_cpu(pfacts->IOCLogInfo); pfacts->MaxDevices = le16_to_cpu(pfacts->MaxDevices); + /* + * VMware emulation is broken, its PortFact's MaxDevices reports value + * programmed by IOC Init, so if you program IOC Init to 256 (which is 0, + * as that field is only 8 bit), it reports back 0 in port facts, instead + * of 256... And unfortunately using 256 triggers another bug in the + * code (parallel SCSI can have only 16 devices). + */ + if (pfacts->MaxDevices == 0) { + pfacts->MaxDevices = 16; + } pfacts->PortSCSIID = le16_to_cpu(pfacts->PortSCSIID); pfacts->ProtocolFlags = le16_to_cpu(pfacts->ProtocolFlags); pfacts->MaxPostedCmdBuffers = le16_to_cpu(pfacts->MaxPostedCmdBuffers); @@ -4330,6 +4340,8 @@ if (ioc->bus_type == SPI) num_chain *= MPT_SCSI_CAN_QUEUE; + else if (ioc->bus_type == SAS) + num_chain *= MPT_SAS_CAN_QUEUE; else num_chain *= MPT_FC_CAN_QUEUE; --- linux-2.6.32.orig/drivers/message/fusion/mptctl.c +++ linux-2.6.32/drivers/message/fusion/mptctl.c @@ -577,6 +577,13 @@ } static int +mptctl_release(struct inode *inode, struct file *filep) +{ + fasync_helper(-1, filep, 0, &async_queue); + return 0; +} + +static int mptctl_fasync(int fd, struct file *filep, int mode) { MPT_ADAPTER *ioc; @@ -621,11 +628,8 @@ */ iocnumX = khdr.iocnum & 0xFF; if (((iocnum = mpt_verify_adapter(iocnumX, &iocp)) < 0) || - (iocp == NULL)) { - printk(KERN_DEBUG MYNAM "%s::mptctl_ioctl() @%d - ioc%d not found!\n", - __FILE__, __LINE__, iocnumX); + (iocp == NULL)) return -ENODEV; - } if (!iocp->active) { printk(KERN_DEBUG MYNAM "%s::mptctl_ioctl() @%d - Controller disabled.\n", @@ -2781,6 +2785,7 @@ .llseek = no_llseek, .fasync = mptctl_fasync, .unlocked_ioctl = mptctl_ioctl, + .release = mptctl_release, #ifdef CONFIG_COMPAT .compat_ioctl = compat_mpctl_ioctl, #endif --- linux-2.6.32.orig/drivers/message/fusion/mptscsih.c +++ linux-2.6.32/drivers/message/fusion/mptscsih.c @@ -792,11 +792,36 @@ * precedence! */ sc->result = (DID_OK << 16) | scsi_status; - if (scsi_state & MPI_SCSI_STATE_AUTOSENSE_VALID) { - /* Have already saved the status and sense data + if (!(scsi_state & MPI_SCSI_STATE_AUTOSENSE_VALID)) { + + /* + * For an Errata on LSI53C1030 + * When the length of request data + * and transfer data are different + * with result of command (READ or VERIFY), + * DID_SOFT_ERROR is set. */ - ; - } else { + if (ioc->bus_type == SPI) { + if (pScsiReq->CDB[0] == READ_6 || + pScsiReq->CDB[0] == READ_10 || + pScsiReq->CDB[0] == READ_12 || + pScsiReq->CDB[0] == READ_16 || + pScsiReq->CDB[0] == VERIFY || + pScsiReq->CDB[0] == VERIFY_16) { + if (scsi_bufflen(sc) != + xfer_cnt) { + sc->result = + DID_SOFT_ERROR << 16; + printk(KERN_WARNING "Errata" + "on LSI53C1030 occurred." + "sc->req_bufflen=0x%02x," + "xfer_cnt=0x%02x\n", + scsi_bufflen(sc), + xfer_cnt); + } + } + } + if (xfer_cnt < sc->underflow) { if (scsi_status == SAM_STAT_BUSY) sc->result = SAM_STAT_BUSY; @@ -835,7 +860,58 @@ sc->result = (DID_OK << 16) | scsi_status; if (scsi_state == 0) { ; - } else if (scsi_state & MPI_SCSI_STATE_AUTOSENSE_VALID) { + } else if (scsi_state & + MPI_SCSI_STATE_AUTOSENSE_VALID) { + + /* + * For potential trouble on LSI53C1030. + * (date:2007.xx.) + * It is checked whether the length of + * request data is equal to + * the length of transfer and residual. + * MEDIUM_ERROR is set by incorrect data. + */ + if ((ioc->bus_type == SPI) && + (sc->sense_buffer[2] & 0x20)) { + u32 difftransfer; + difftransfer = + sc->sense_buffer[3] << 24 | + sc->sense_buffer[4] << 16 | + sc->sense_buffer[5] << 8 | + sc->sense_buffer[6]; + if (((sc->sense_buffer[3] & 0x80) == + 0x80) && (scsi_bufflen(sc) + != xfer_cnt)) { + sc->sense_buffer[2] = + MEDIUM_ERROR; + sc->sense_buffer[12] = 0xff; + sc->sense_buffer[13] = 0xff; + printk(KERN_WARNING"Errata" + "on LSI53C1030 occurred." + "sc->req_bufflen=0x%02x," + "xfer_cnt=0x%02x\n" , + scsi_bufflen(sc), + xfer_cnt); + } + if (((sc->sense_buffer[3] & 0x80) + != 0x80) && + (scsi_bufflen(sc) != + xfer_cnt + difftransfer)) { + sc->sense_buffer[2] = + MEDIUM_ERROR; + sc->sense_buffer[12] = 0xff; + sc->sense_buffer[13] = 0xff; + printk(KERN_WARNING + "Errata on LSI53C1030 occurred" + "sc->req_bufflen=0x%02x," + " xfer_cnt=0x%02x," + "difftransfer=0x%02x\n", + scsi_bufflen(sc), + xfer_cnt, + difftransfer); + } + } + /* * If running against circa 200003dd 909 MPT f/w, * may get this (AUTOSENSE_VALID) for actual TASK_SET_FULL @@ -1720,7 +1796,7 @@ dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT "task abort: " "Command not in the active list! (sc=%p)\n", ioc->name, SCpnt)); - retval = 0; + retval = SUCCESS; goto out; } @@ -1759,8 +1835,9 @@ } out: - printk(MYIOC_s_INFO_FMT "task abort: %s (sc=%p)\n", - ioc->name, ((retval == SUCCESS) ? "SUCCESS" : "FAILED"), SCpnt); + printk(MYIOC_s_INFO_FMT "task abort: %s (rv=%04x) (sc=%p) (sn=%ld)\n", + ioc->name, ((retval == SUCCESS) ? "SUCCESS" : "FAILED"), retval, + SCpnt, SCpnt->serial_number); return retval; } @@ -1797,7 +1874,7 @@ vdevice = SCpnt->device->hostdata; if (!vdevice || !vdevice->vtarget) { - retval = SUCCESS; + retval = 0; goto out; } @@ -2363,6 +2440,8 @@ ioc->name,sdev->tagged_supported, sdev->simple_tags, sdev->ordered_tags)); + blk_queue_dma_alignment (sdev->request_queue, 512 - 1); + return 0; } --- linux-2.6.32.orig/drivers/mfd/ab3100-core.c +++ linux-2.6.32/drivers/mfd/ab3100-core.c @@ -591,7 +591,7 @@ ab3100_get_priv.ab3100 = ab3100; ab3100_get_priv.mode = false; ab3100_get_reg_file = debugfs_create_file("get_reg", - S_IWUGO, ab3100_dir, &ab3100_get_priv, + S_IWUSR, ab3100_dir, &ab3100_get_priv, &ab3100_get_set_reg_fops); if (!ab3100_get_reg_file) { err = -ENOMEM; @@ -601,7 +601,7 @@ ab3100_set_priv.ab3100 = ab3100; ab3100_set_priv.mode = true; ab3100_set_reg_file = debugfs_create_file("set_reg", - S_IWUGO, ab3100_dir, &ab3100_set_priv, + S_IWUSR, ab3100_dir, &ab3100_set_priv, &ab3100_get_set_reg_fops); if (!ab3100_set_reg_file) { err = -ENOMEM; --- linux-2.6.32.orig/drivers/mfd/ucb1x00-ts.c +++ linux-2.6.32/drivers/mfd/ucb1x00-ts.c @@ -385,12 +385,18 @@ idev->close = ucb1x00_ts_close; __set_bit(EV_ABS, idev->evbit); - __set_bit(ABS_X, idev->absbit); - __set_bit(ABS_Y, idev->absbit); - __set_bit(ABS_PRESSURE, idev->absbit); input_set_drvdata(idev, ts); + ucb1x00_adc_enable(ts->ucb); + ts->x_res = ucb1x00_ts_read_xres(ts); + ts->y_res = ucb1x00_ts_read_yres(ts); + ucb1x00_adc_disable(ts->ucb); + + input_set_abs_params(idev, ABS_X, 0, ts->x_res, 0, 0); + input_set_abs_params(idev, ABS_Y, 0, ts->y_res, 0, 0); + input_set_abs_params(idev, ABS_PRESSURE, 0, 0, 0, 0); + err = input_register_device(idev); if (err) goto fail; --- linux-2.6.32.orig/drivers/mfd/wm8350-core.c +++ linux-2.6.32/drivers/mfd/wm8350-core.c @@ -134,8 +134,7 @@ wm8350->reg_cache[WM8350_SECURITY] == WM8350_UNLOCK_KEY) return 0; - if ((reg == WM8350_GPIO_CONFIGURATION_I_O) || - (reg >= WM8350_GPIO_FUNCTION_SELECT_1 && + if ((reg >= WM8350_GPIO_FUNCTION_SELECT_1 && reg <= WM8350_GPIO_FUNCTION_SELECT_4) || (reg >= WM8350_BATTERY_CHARGER_CONTROL_1 && reg <= WM8350_BATTERY_CHARGER_CONTROL_3)) --- linux-2.6.32.orig/drivers/misc/enclosure.c +++ linux-2.6.32/drivers/misc/enclosure.c @@ -284,8 +284,11 @@ cdev->groups = enclosure_groups; err = device_register(cdev); - if (err) - ERR_PTR(err); + if (err) { + ecomp->number = -1; + put_device(cdev); + return ERR_PTR(err); + } return ecomp; } @@ -391,6 +394,7 @@ [ENCLOSURE_STATUS_NOT_INSTALLED] = "not installed", [ENCLOSURE_STATUS_UNKNOWN] = "unknown", [ENCLOSURE_STATUS_UNAVAILABLE] = "unavailable", + [ENCLOSURE_STATUS_MAX] = NULL, }; static const char *const enclosure_type [] = { --- linux-2.6.32.orig/drivers/misc/ep93xx_pwm.c +++ linux-2.6.32/drivers/misc/ep93xx_pwm.c @@ -248,11 +248,11 @@ static DEVICE_ATTR(min_freq, S_IRUGO, ep93xx_pwm_get_min_freq, NULL); static DEVICE_ATTR(max_freq, S_IRUGO, ep93xx_pwm_get_max_freq, NULL); -static DEVICE_ATTR(freq, S_IWUGO | S_IRUGO, +static DEVICE_ATTR(freq, S_IWUSR | S_IRUGO, ep93xx_pwm_get_freq, ep93xx_pwm_set_freq); -static DEVICE_ATTR(duty_percent, S_IWUGO | S_IRUGO, +static DEVICE_ATTR(duty_percent, S_IWUSR | S_IRUGO, ep93xx_pwm_get_duty_percent, ep93xx_pwm_set_duty_percent); -static DEVICE_ATTR(invert, S_IWUGO | S_IRUGO, +static DEVICE_ATTR(invert, S_IWUSR | S_IRUGO, ep93xx_pwm_get_invert, ep93xx_pwm_set_invert); static struct attribute *ep93xx_pwm_attrs[] = { --- linux-2.6.32.orig/drivers/misc/cb710/core.c +++ linux-2.6.32/drivers/misc/cb710/core.c @@ -244,6 +244,7 @@ if (err) return err; + spin_lock_init(&chip->irq_lock); chip->pdev = pdev; chip->iobase = pcim_iomap_table(pdev)[0]; --- linux-2.6.32.orig/drivers/misc/sgi-xp/xpc_partition.c +++ linux-2.6.32/drivers/misc/sgi-xp/xpc_partition.c @@ -433,18 +433,23 @@ * nodes that can comprise an access protection grouping. The access * protection is in regards to memory, IOI and IPI. */ - max_regions = 64; region_size = xp_region_size; - switch (region_size) { - case 128: - max_regions *= 2; - case 64: - max_regions *= 2; - case 32: - max_regions *= 2; - region_size = 16; - DBUG_ON(!is_shub2()); + if (is_uv()) + max_regions = 256; + else { + max_regions = 64; + + switch (region_size) { + case 128: + max_regions *= 2; + case 64: + max_regions *= 2; + case 32: + max_regions *= 2; + region_size = 16; + DBUG_ON(!is_shub2()); + } } for (region = 0; region < max_regions; region++) { --- linux-2.6.32.orig/drivers/misc/sgi-xp/xpc_uv.c +++ linux-2.6.32/drivers/misc/sgi-xp/xpc_uv.c @@ -203,6 +203,7 @@ enum xp_retval xp_ret; int ret; int nid; + int nasid; int pg_order; struct page *page; struct xpc_gru_mq_uv *mq; @@ -258,9 +259,11 @@ goto out_5; } + nasid = UV_PNODE_TO_NASID(uv_cpu_to_pnode(cpu)); + mmr_value = (struct uv_IO_APIC_route_entry *)&mq->mmr_value; ret = gru_create_message_queue(mq->gru_mq_desc, mq->address, mq_size, - nid, mmr_value->vector, mmr_value->dest); + nasid, mmr_value->vector, mmr_value->dest); if (ret != 0) { dev_err(xpc_part, "gru_create_message_queue() returned " "error=%d\n", ret); @@ -409,6 +412,7 @@ static void xpc_handle_activate_mq_msg_uv(struct xpc_partition *part, struct xpc_activate_mq_msghdr_uv *msg_hdr, + int part_setup, int *wakeup_hb_checker) { unsigned long irq_flags; @@ -473,6 +477,9 @@ case XPC_ACTIVATE_MQ_MSG_CHCTL_CLOSEREQUEST_UV: { struct xpc_activate_mq_msg_chctl_closerequest_uv *msg; + if (!part_setup) + break; + msg = container_of(msg_hdr, struct xpc_activate_mq_msg_chctl_closerequest_uv, hdr); @@ -489,6 +496,9 @@ case XPC_ACTIVATE_MQ_MSG_CHCTL_CLOSEREPLY_UV: { struct xpc_activate_mq_msg_chctl_closereply_uv *msg; + if (!part_setup) + break; + msg = container_of(msg_hdr, struct xpc_activate_mq_msg_chctl_closereply_uv, hdr); @@ -503,6 +513,9 @@ case XPC_ACTIVATE_MQ_MSG_CHCTL_OPENREQUEST_UV: { struct xpc_activate_mq_msg_chctl_openrequest_uv *msg; + if (!part_setup) + break; + msg = container_of(msg_hdr, struct xpc_activate_mq_msg_chctl_openrequest_uv, hdr); @@ -520,6 +533,9 @@ case XPC_ACTIVATE_MQ_MSG_CHCTL_OPENREPLY_UV: { struct xpc_activate_mq_msg_chctl_openreply_uv *msg; + if (!part_setup) + break; + msg = container_of(msg_hdr, struct xpc_activate_mq_msg_chctl_openreply_uv, hdr); args = &part->remote_openclose_args[msg->ch_number]; @@ -537,6 +553,9 @@ case XPC_ACTIVATE_MQ_MSG_CHCTL_OPENCOMPLETE_UV: { struct xpc_activate_mq_msg_chctl_opencomplete_uv *msg; + if (!part_setup) + break; + msg = container_of(msg_hdr, struct xpc_activate_mq_msg_chctl_opencomplete_uv, hdr); spin_lock_irqsave(&part->chctl_lock, irq_flags); @@ -613,6 +632,7 @@ part_referenced = xpc_part_ref(part); xpc_handle_activate_mq_msg_uv(part, msg_hdr, + part_referenced, &wakeup_hb_checker); if (part_referenced) xpc_part_deref(part); @@ -945,11 +965,13 @@ head->first = first->next; if (head->first == NULL) head->last = NULL; + + head->n_entries--; + BUG_ON(head->n_entries < 0); + + first->next = NULL; } - head->n_entries--; - BUG_ON(head->n_entries < 0); spin_unlock_irqrestore(&head->lock, irq_flags); - first->next = NULL; return first; } @@ -1018,7 +1040,8 @@ xpc_send_activate_IRQ_part_uv(part, &msg, sizeof(msg), XPC_ACTIVATE_MQ_MSG_SYNC_ACT_STATE_UV); - while (part->sn.uv.remote_act_state != XPC_P_AS_ACTIVATING) { + while (!((part->sn.uv.remote_act_state == XPC_P_AS_ACTIVATING) || + (part->sn.uv.remote_act_state == XPC_P_AS_ACTIVE))) { dev_dbg(xpc_part, "waiting to make first contact with " "partition %d\n", XPC_PARTID(part)); @@ -1421,7 +1444,6 @@ msg_slot = ch_uv->recv_msg_slots + (msg->hdr.msg_slot_number % ch->remote_nentries) * ch->entry_size; - BUG_ON(msg->hdr.msg_slot_number != msg_slot->hdr.msg_slot_number); BUG_ON(msg_slot->hdr.size != 0); memcpy(msg_slot, msg, msg->hdr.size); @@ -1645,8 +1667,6 @@ sizeof(struct xpc_notify_mq_msghdr_uv)); if (ret != xpSuccess) XPC_DEACTIVATE_PARTITION(&xpc_partitions[ch->partid], ret); - - msg->hdr.msg_slot_number += ch->remote_nentries; } static struct xpc_arch_operations xpc_arch_ops_uv = { --- linux-2.6.32.orig/drivers/mmc/card/block.c +++ linux-2.6.32/drivers/mmc/card/block.c @@ -85,7 +85,14 @@ mutex_lock(&open_lock); md->usage--; if (md->usage == 0) { + int devmaj = MAJOR(disk_devt(md->disk)); int devidx = MINOR(disk_devt(md->disk)) >> MMC_SHIFT; + + if (!devmaj) + devidx = md->disk->first_minor >> MMC_SHIFT; + + blk_cleanup_queue(md->queue.queue); + __clear_bit(devidx, dev_use); put_disk(md->disk); @@ -613,6 +620,7 @@ return 0; out: + mmc_cleanup_queue(&md->queue); mmc_blk_put(md); return err; --- linux-2.6.32.orig/drivers/mmc/card/queue.c +++ linux-2.6.32/drivers/mmc/card/queue.c @@ -90,9 +90,10 @@ struct request *req; if (!mq) { - printk(KERN_ERR "MMC: killing requests for dead queue\n"); - while ((req = blk_fetch_request(q)) != NULL) + while ((req = blk_fetch_request(q)) != NULL) { + req->cmd_flags |= REQ_QUIET; __blk_end_request_all(req, -EIO); + } return; } @@ -223,17 +224,18 @@ struct request_queue *q = mq->queue; unsigned long flags; - /* Mark that we should start throwing out stragglers */ - spin_lock_irqsave(q->queue_lock, flags); - q->queuedata = NULL; - spin_unlock_irqrestore(q->queue_lock, flags); - /* Make sure the queue isn't suspended, as that will deadlock */ mmc_queue_resume(mq); /* Then terminate our worker thread */ kthread_stop(mq->thread); + /* Empty the queue */ + spin_lock_irqsave(q->queue_lock, flags); + q->queuedata = NULL; + blk_start_queue(q); + spin_unlock_irqrestore(q->queue_lock, flags); + if (mq->bounce_sg) kfree(mq->bounce_sg); mq->bounce_sg = NULL; @@ -245,8 +247,6 @@ kfree(mq->bounce_buf); mq->bounce_buf = NULL; - blk_cleanup_queue(mq->queue); - mq->card = NULL; } EXPORT_SYMBOL(mmc_cleanup_queue); --- linux-2.6.32.orig/drivers/mmc/core/Kconfig +++ linux-2.6.32/drivers/mmc/core/Kconfig @@ -3,7 +3,7 @@ # config MMC_UNSAFE_RESUME - bool "Allow unsafe resume (DANGEROUS)" + bool "Assume MMC/SD cards are non-removable (DANGEROUS)" help If you say Y here, the MMC layer will assume that all cards stayed in their respective slots during the suspend. The @@ -14,3 +14,5 @@ This option is usually just for embedded systems which use a MMC/SD card for rootfs. Most people should say N here. + This option sets a default which can be overridden by the + module parameter "removable=0" or "removable=1". --- linux-2.6.32.orig/drivers/mmc/core/core.c +++ linux-2.6.32/drivers/mmc/core/core.c @@ -48,6 +48,22 @@ module_param(use_spi_crc, bool, 0); /* + * We normally treat cards as removed during suspend if they are not + * known to be on a non-removable bus, to avoid the risk of writing + * back data to a different card after resume. Allow this to be + * overridden if necessary. + */ +#ifdef CONFIG_MMC_UNSAFE_RESUME +int mmc_assume_removable; +#else +int mmc_assume_removable = 1; +#endif +module_param_named(removable, mmc_assume_removable, bool, 0644); +MODULE_PARM_DESC( + removable, + "MMC/SD cards are removable and may be removed during suspend"); + +/* * Internal function. Schedule delayed work in the MMC work queue. */ static int mmc_schedule_delayed_work(struct delayed_work *work, @@ -1041,6 +1057,17 @@ container_of(work, struct mmc_host, detect.work); u32 ocr; int err; + unsigned long flags; + + spin_lock_irqsave(&host->lock, flags); + + if (host->rescan_disable) { + spin_unlock_irqrestore(&host->lock, flags); + return; + } + + spin_unlock_irqrestore(&host->lock, flags); + mmc_bus_get(host); @@ -1247,18 +1274,6 @@ if (host->bus_ops && !host->bus_dead) { if (host->bus_ops->suspend) err = host->bus_ops->suspend(host); - if (err == -ENOSYS || !host->bus_ops->resume) { - /* - * We simply "remove" the card in this case. - * It will be redetected on resume. - */ - if (host->bus_ops->remove) - host->bus_ops->remove(host); - mmc_claim_host(host); - mmc_detach_bus(host); - mmc_release_host(host); - err = 0; - } } mmc_bus_put(host); @@ -1288,28 +1303,60 @@ printk(KERN_WARNING "%s: error %d during resume " "(card was removed?)\n", mmc_hostname(host), err); - if (host->bus_ops->remove) - host->bus_ops->remove(host); - mmc_claim_host(host); - mmc_detach_bus(host); - mmc_release_host(host); - /* no need to bother upper layers */ err = 0; } } mmc_bus_put(host); - /* - * We add a slight delay here so that resume can progress - * in parallel. - */ - mmc_detect_change(host, 1); - return err; } - EXPORT_SYMBOL(mmc_resume_host); +/* Do the card removal on suspend if card is assumed removeable + * Do that in pm notifier while userspace isn't yet frozen, so we will be able + to sync the card. +*/ +int mmc_pm_notify(struct notifier_block *notify_block, + unsigned long mode, void *unused) +{ + struct mmc_host *host = container_of( + notify_block, struct mmc_host, pm_notify); + unsigned long flags; + + + switch (mode) { + case PM_HIBERNATION_PREPARE: + case PM_SUSPEND_PREPARE: + + spin_lock_irqsave(&host->lock, flags); + host->rescan_disable = 1; + spin_unlock_irqrestore(&host->lock, flags); + cancel_delayed_work_sync(&host->detect); + + if (!host->bus_ops || host->bus_ops->suspend) + break; + + mmc_claim_host(host); + + if (host->bus_ops->remove) + host->bus_ops->remove(host); + + mmc_detach_bus(host); + mmc_release_host(host); + break; + + case PM_POST_SUSPEND: + case PM_POST_HIBERNATION: + + spin_lock_irqsave(&host->lock, flags); + host->rescan_disable = 0; + spin_unlock_irqrestore(&host->lock, flags); + mmc_detect_change(host, 0); + + } + + return 0; +} #endif static int __init mmc_init(void) --- linux-2.6.32.orig/drivers/mmc/core/core.h +++ linux-2.6.32/drivers/mmc/core/core.h @@ -54,7 +54,9 @@ int mmc_attach_sd(struct mmc_host *host, u32 ocr); int mmc_attach_sdio(struct mmc_host *host, u32 ocr); +/* Module parameters */ extern int use_spi_crc; +extern int mmc_assume_removable; /* Debugfs information for hosts and cards */ void mmc_add_host_debugfs(struct mmc_host *host); --- linux-2.6.32.orig/drivers/mmc/core/host.c +++ linux-2.6.32/drivers/mmc/core/host.c @@ -16,6 +16,7 @@ #include #include #include +#include #include @@ -84,6 +85,9 @@ init_waitqueue_head(&host->wq); INIT_DELAYED_WORK(&host->detect, mmc_rescan); INIT_DELAYED_WORK_DEFERRABLE(&host->disable, mmc_host_deeper_disable); +#ifdef CONFIG_PM + host->pm_notify.notifier_call = mmc_pm_notify; +#endif /* * By default, hosts do not support SGIO or large requests. @@ -132,6 +136,7 @@ #endif mmc_start_host(host); + register_pm_notifier(&host->pm_notify); return 0; } @@ -148,6 +153,7 @@ */ void mmc_remove_host(struct mmc_host *host) { + unregister_pm_notifier(&host->pm_notify); mmc_stop_host(host); #ifdef CONFIG_DEBUG_FS --- linux-2.6.32.orig/drivers/mmc/core/mmc.c +++ linux-2.6.32/drivers/mmc/core/mmc.c @@ -602,25 +602,6 @@ return err; } -#ifdef CONFIG_MMC_UNSAFE_RESUME - -static const struct mmc_bus_ops mmc_ops = { - .awake = mmc_awake, - .sleep = mmc_sleep, - .remove = mmc_remove, - .detect = mmc_detect, - .suspend = mmc_suspend, - .resume = mmc_resume, - .power_restore = mmc_power_restore, -}; - -static void mmc_attach_bus_ops(struct mmc_host *host) -{ - mmc_attach_bus(host, &mmc_ops); -} - -#else - static const struct mmc_bus_ops mmc_ops = { .awake = mmc_awake, .sleep = mmc_sleep, @@ -645,15 +626,13 @@ { const struct mmc_bus_ops *bus_ops; - if (host->caps & MMC_CAP_NONREMOVABLE) + if (host->caps & MMC_CAP_NONREMOVABLE || !mmc_assume_removable) bus_ops = &mmc_ops_unsafe; else bus_ops = &mmc_ops; mmc_attach_bus(host, bus_ops); } -#endif - /* * Starting point for MMC card init. */ --- linux-2.6.32.orig/drivers/mmc/core/sd.c +++ linux-2.6.32/drivers/mmc/core/sd.c @@ -606,23 +606,6 @@ mmc_release_host(host); } -#ifdef CONFIG_MMC_UNSAFE_RESUME - -static const struct mmc_bus_ops mmc_sd_ops = { - .remove = mmc_sd_remove, - .detect = mmc_sd_detect, - .suspend = mmc_sd_suspend, - .resume = mmc_sd_resume, - .power_restore = mmc_sd_power_restore, -}; - -static void mmc_sd_attach_bus_ops(struct mmc_host *host) -{ - mmc_attach_bus(host, &mmc_sd_ops); -} - -#else - static const struct mmc_bus_ops mmc_sd_ops = { .remove = mmc_sd_remove, .detect = mmc_sd_detect, @@ -643,15 +626,13 @@ { const struct mmc_bus_ops *bus_ops; - if (host->caps & MMC_CAP_NONREMOVABLE) + if (host->caps & MMC_CAP_NONREMOVABLE || !mmc_assume_removable) bus_ops = &mmc_sd_ops_unsafe; else bus_ops = &mmc_sd_ops; mmc_attach_bus(host, bus_ops); } -#endif - /* * Starting point for SD card init. */ --- linux-2.6.32.orig/drivers/mmc/core/sdio.c +++ linux-2.6.32/drivers/mmc/core/sdio.c @@ -267,6 +267,14 @@ if (err) goto remove; + /* + * Update oldcard with the new RCA received from the SDIO + * device -- we're doing this so that it's updated in the + * "card" struct when oldcard overwrites that later. + */ + if (oldcard) + oldcard->rca = card->rca; + mmc_set_bus_mode(host, MMC_BUSMODE_PUSHPULL); } --- linux-2.6.32.orig/drivers/mmc/host/atmel-mci.c +++ linux-2.6.32/drivers/mmc/host/atmel-mci.c @@ -530,9 +530,10 @@ { struct mmc_data *data = host->data; - dma_unmap_sg(&host->pdev->dev, data->sg, data->sg_len, - ((data->flags & MMC_DATA_WRITE) - ? DMA_TO_DEVICE : DMA_FROM_DEVICE)); + if (data) + dma_unmap_sg(&host->pdev->dev, data->sg, data->sg_len, + ((data->flags & MMC_DATA_WRITE) + ? DMA_TO_DEVICE : DMA_FROM_DEVICE)); } static void atmci_stop_dma(struct atmel_mci *host) @@ -1037,8 +1038,8 @@ "command error: status=0x%08x\n", status); if (cmd->data) { - host->data = NULL; atmci_stop_dma(host); + host->data = NULL; mci_writel(host, IDR, MCI_NOTBUSY | MCI_TXRDY | MCI_RXRDY | ATMCI_DATA_ERROR_FLAGS); @@ -1229,6 +1230,7 @@ } else { data->bytes_xfered = data->blocks * data->blksz; data->error = 0; + mci_writel(host, IDR, ATMCI_DATA_ERROR_FLAGS); } if (!data->stop) { @@ -1669,13 +1671,13 @@ ret = -ENODEV; if (pdata->slot[0].bus_width) { ret = atmci_init_slot(host, &pdata->slot[0], - MCI_SDCSEL_SLOT_A, 0); + 0, MCI_SDCSEL_SLOT_A); if (!ret) nr_slots++; } if (pdata->slot[1].bus_width) { ret = atmci_init_slot(host, &pdata->slot[1], - MCI_SDCSEL_SLOT_B, 1); + 1, MCI_SDCSEL_SLOT_B); if (!ret) nr_slots++; } --- linux-2.6.32.orig/drivers/mmc/host/s3cmci.c +++ linux-2.6.32/drivers/mmc/host/s3cmci.c @@ -1178,7 +1178,7 @@ struct s3c24xx_mci_pdata *pdata = host->pdata; int ret; - if (pdata->gpio_detect == 0) + if (pdata->no_detect) return -ENOSYS; ret = gpio_get_value(pdata->gpio_detect) ? 0 : 1; @@ -1361,6 +1361,8 @@ static struct s3c24xx_mci_pdata s3cmci_def_pdata = { /* This is currently here to avoid a number of if (host->pdata) * checks. Any zero fields to ensure reaonable defaults are picked. */ + .no_wprotect = 1, + .no_detect = 1, }; #ifdef CONFIG_CPU_FREQ --- linux-2.6.32.orig/drivers/mmc/host/sdhci-pci.c +++ linux-2.6.32/drivers/mmc/host/sdhci-pci.c @@ -569,6 +569,7 @@ host->ioaddr = pci_ioremap_bar(pdev, bar); if (!host->ioaddr) { dev_err(&pdev->dev, "failed to remap registers\n"); + ret = -ENOMEM; goto release; } --- linux-2.6.32.orig/drivers/mmc/host/sdhci-s3c.c +++ linux-2.6.32/drivers/mmc/host/sdhci-s3c.c @@ -372,6 +372,28 @@ static int __devexit sdhci_s3c_remove(struct platform_device *pdev) { + struct sdhci_host *host = platform_get_drvdata(pdev); + struct sdhci_s3c *sc = sdhci_priv(host); + int ptr; + + sdhci_remove_host(host, 1); + + for (ptr = 0; ptr < 3; ptr++) { + if (sc->clk_bus[ptr]) { + clk_disable(sc->clk_bus[ptr]); + clk_put(sc->clk_bus[ptr]); + } + } + clk_disable(sc->clk_io); + clk_put(sc->clk_io); + + iounmap(host->ioaddr); + release_resource(sc->ioarea); + kfree(sc->ioarea); + + sdhci_free_host(host); + platform_set_drvdata(pdev, NULL); + return 0; } --- linux-2.6.32.orig/drivers/mmc/host/sdhci.c +++ linux-2.6.32/drivers/mmc/host/sdhci.c @@ -1266,6 +1266,13 @@ host = (struct sdhci_host*)param; + /* + * If this tasklet gets rescheduled while running, it will + * be run again afterwards but without any active request. + */ + if (!host->mrq) + return; + spin_lock_irqsave(&host->lock, flags); del_timer(&host->timer); @@ -1277,7 +1284,7 @@ * upon error conditions. */ if (!(host->flags & SDHCI_DEVICE_DEAD) && - (mrq->cmd->error || + ((mrq->cmd && mrq->cmd->error) || (mrq->data && (mrq->data->error || (mrq->data->stop && mrq->data->stop->error))) || (host->quirks & SDHCI_QUIRK_RESET_AFTER_REQUEST))) { --- linux-2.6.32.orig/drivers/mmc/host/tmio_mmc.c +++ linux-2.6.32/drivers/mmc/host/tmio_mmc.c @@ -161,6 +161,7 @@ static inline void tmio_mmc_pio_irq(struct tmio_mmc_host *host) { struct mmc_data *data = host->data; + void *sg_virt; unsigned short *buf; unsigned int count; unsigned long flags; @@ -170,8 +171,8 @@ return; } - buf = (unsigned short *)(tmio_mmc_kmap_atomic(host, &flags) + - host->sg_off); + sg_virt = tmio_mmc_kmap_atomic(host->sg_ptr, &flags); + buf = (unsigned short *)(sg_virt + host->sg_off); count = host->sg_ptr->length - host->sg_off; if (count > data->blksz) @@ -188,7 +189,7 @@ host->sg_off += count; - tmio_mmc_kunmap_atomic(host, &flags); + tmio_mmc_kunmap_atomic(sg_virt, &flags); if (host->sg_off == host->sg_ptr->length) tmio_mmc_next_sg(host); --- linux-2.6.32.orig/drivers/mmc/host/tmio_mmc.h +++ linux-2.6.32/drivers/mmc/host/tmio_mmc.h @@ -102,10 +102,7 @@ #define ack_mmc_irqs(host, i) \ do { \ - u32 mask;\ - mask = sd_ctrl_read32((host), CTL_STATUS); \ - mask &= ~((i) & TMIO_MASK_IRQ); \ - sd_ctrl_write32((host), CTL_STATUS, mask); \ + sd_ctrl_write32((host), CTL_STATUS, ~(i)); \ } while (0) @@ -200,19 +197,17 @@ return --host->sg_len; } -static inline char *tmio_mmc_kmap_atomic(struct tmio_mmc_host *host, +static inline char *tmio_mmc_kmap_atomic(struct scatterlist *sg, unsigned long *flags) { - struct scatterlist *sg = host->sg_ptr; - local_irq_save(*flags); return kmap_atomic(sg_page(sg), KM_BIO_SRC_IRQ) + sg->offset; } -static inline void tmio_mmc_kunmap_atomic(struct tmio_mmc_host *host, +static inline void tmio_mmc_kunmap_atomic(void *virt, unsigned long *flags) { - kunmap_atomic(sg_page(host->sg_ptr), KM_BIO_SRC_IRQ); + kunmap_atomic(virt, KM_BIO_SRC_IRQ); local_irq_restore(*flags); } --- linux-2.6.32.orig/drivers/mtd/mtdchar.c +++ linux-2.6.32/drivers/mtd/mtdchar.c @@ -290,6 +290,7 @@ ops.mode = MTD_OOB_RAW; ops.datbuf = kbuf; ops.oobbuf = NULL; + ops.ooboffs = 0; ops.len = len; ret = mtd->write_oob(mtd, *ppos, &ops); --- linux-2.6.32.orig/drivers/mtd/mtdconcat.c +++ linux-2.6.32/drivers/mtd/mtdconcat.c @@ -306,7 +306,7 @@ if (!(mtd->flags & MTD_WRITEABLE)) return -EROFS; - ops->retlen = 0; + ops->retlen = ops->oobretlen = 0; for (i = 0; i < concat->num_subdev; i++) { struct mtd_info *subdev = concat->subdev[i]; @@ -321,7 +321,7 @@ devops.len = subdev->size - to; err = subdev->write_oob(subdev, to, &devops); - ops->retlen += devops.retlen; + ops->retlen += devops.oobretlen; if (err) return err; --- linux-2.6.32.orig/drivers/mtd/nand/omap2.c +++ linux-2.6.32/drivers/mtd/nand/omap2.c @@ -1099,6 +1099,6 @@ module_init(omap_nand_init); module_exit(omap_nand_exit); -MODULE_ALIAS(DRIVER_NAME); +MODULE_ALIAS("platform:" DRIVER_NAME); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("Glue layer for NAND flash on TI OMAP boards"); --- linux-2.6.32.orig/drivers/mtd/nand/pxa3xx_nand.c +++ linux-2.6.32/drivers/mtd/nand/pxa3xx_nand.c @@ -316,7 +316,7 @@ #define tAR_NDTR1(r) (((r) >> 0) & 0xf) /* convert nano-seconds to nand flash controller clock cycles */ -#define ns2cycle(ns, clk) (int)(((ns) * (clk / 1000000) / 1000) - 1) +#define ns2cycle(ns, clk) (int)((ns) * (clk / 1000000) / 1000) /* convert nand flash controller clock cycles to nano-seconds */ #define cycle2ns(c, clk) ((((c) + 1) * 1000000 + clk / 500) / (clk / 1000)) --- linux-2.6.32.orig/drivers/mtd/onenand/generic.c +++ linux-2.6.32/drivers/mtd/onenand/generic.c @@ -131,7 +131,7 @@ .remove = __devexit_p(generic_onenand_remove), }; -MODULE_ALIAS(DRIVER_NAME); +MODULE_ALIAS("platform:" DRIVER_NAME); static int __init generic_onenand_init(void) { --- linux-2.6.32.orig/drivers/mtd/onenand/omap2.c +++ linux-2.6.32/drivers/mtd/onenand/omap2.c @@ -800,7 +800,7 @@ module_init(omap2_onenand_init); module_exit(omap2_onenand_exit); -MODULE_ALIAS(DRIVER_NAME); +MODULE_ALIAS("platform:" DRIVER_NAME); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Jarkko Lavinen "); MODULE_DESCRIPTION("Glue layer for OneNAND flash on OMAP2 / OMAP3"); --- linux-2.6.32.orig/drivers/mtd/ubi/cdev.c +++ linux-2.6.32/drivers/mtd/ubi/cdev.c @@ -628,6 +628,9 @@ if (req->alignment != 1 && n) goto bad; + if (!req->name[0] || !req->name_len) + goto bad; + if (req->name_len > UBI_VOL_NAME_MAX) { err = -ENAMETOOLONG; goto bad; @@ -853,7 +856,6 @@ break; } - req.name[req.name_len] = '\0'; err = verify_mkvol_req(ubi, &req); if (err) break; --- linux-2.6.32.orig/drivers/mtd/ubi/upd.c +++ linux-2.6.32/drivers/mtd/ubi/upd.c @@ -147,12 +147,15 @@ } if (bytes == 0) { + err = ubi_wl_flush(ubi); + if (err) + return err; + err = clear_update_marker(ubi, vol, 0); if (err) return err; - err = ubi_wl_flush(ubi); - if (!err) - vol->updating = 0; + vol->updating = 0; + return 0; } vol->upd_buf = vmalloc(ubi->leb_size); @@ -362,16 +365,16 @@ ubi_assert(vol->upd_received <= vol->upd_bytes); if (vol->upd_received == vol->upd_bytes) { + err = ubi_wl_flush(ubi); + if (err) + return err; /* The update is finished, clear the update marker */ err = clear_update_marker(ubi, vol, vol->upd_bytes); if (err) return err; - err = ubi_wl_flush(ubi); - if (err == 0) { - vol->updating = 0; - err = to_write; - vfree(vol->upd_buf); - } + vol->updating = 0; + err = to_write; + vfree(vol->upd_buf); } return err; --- linux-2.6.32.orig/drivers/mtd/ubi/vtbl.c +++ linux-2.6.32/drivers/mtd/ubi/vtbl.c @@ -566,6 +566,7 @@ vol->reserved_pebs = be32_to_cpu(vtbl[i].reserved_pebs); vol->alignment = be32_to_cpu(vtbl[i].alignment); vol->data_pad = be32_to_cpu(vtbl[i].data_pad); + vol->upd_marker = vtbl[i].upd_marker; vol->vol_type = vtbl[i].vol_type == UBI_VID_DYNAMIC ? UBI_DYNAMIC_VOLUME : UBI_STATIC_VOLUME; vol->name_len = be16_to_cpu(vtbl[i].name_len); --- linux-2.6.32.orig/drivers/mtd/ubi/wl.c +++ linux-2.6.32/drivers/mtd/ubi/wl.c @@ -1036,7 +1036,6 @@ ubi_err("failed to erase PEB %d, error %d", pnum, err); kfree(wl_wrk); - kmem_cache_free(ubi_wl_entry_slab, e); if (err == -EINTR || err == -ENOMEM || err == -EAGAIN || err == -EBUSY) { @@ -1049,14 +1048,16 @@ goto out_ro; } return err; - } else if (err != -EIO) { + } + + kmem_cache_free(ubi_wl_entry_slab, e); + if (err != -EIO) /* * If this is not %-EIO, we have no idea what to do. Scheduling * this physical eraseblock for erasure again would cause * errors again and again. Well, lets switch to R/O mode. */ goto out_ro; - } /* It is %-EIO, the PEB went bad */ --- linux-2.6.32.orig/drivers/net/3c503.c +++ linux-2.6.32/drivers/net/3c503.c @@ -380,6 +380,12 @@ return retval; } +static irqreturn_t el2_probe_interrupt(int irq, void *seen) +{ + *(bool *)seen = true; + return IRQ_HANDLED; +} + static int el2_open(struct net_device *dev) { @@ -391,22 +397,35 @@ outb(EGACFR_NORM, E33G_GACFR); /* Enable RAM and interrupts. */ do { - retval = request_irq(*irqp, NULL, 0, "bogus", dev); - if (retval >= 0) { + bool seen; + + retval = request_irq(*irqp, el2_probe_interrupt, 0, + dev->name, &seen); + if (retval == -EBUSY) + continue; + if (retval < 0) + goto err_disable; + /* Twinkle the interrupt, and check if it's seen. */ - unsigned long cookie = probe_irq_on(); + seen = false; + smp_wmb(); outb_p(0x04 << ((*irqp == 9) ? 2 : *irqp), E33G_IDCFR); outb_p(0x00, E33G_IDCFR); - if (*irqp == probe_irq_off(cookie) /* It's a good IRQ line! */ - && ((retval = request_irq(dev->irq = *irqp, - eip_interrupt, 0, dev->name, dev)) == 0)) - break; - } else { - if (retval != -EBUSY) - return retval; - } + msleep(1); + free_irq(*irqp, el2_probe_interrupt); + if (!seen) + continue; + + retval = request_irq(dev->irq = *irqp, eip_interrupt, 0, + dev->name, dev); + if (retval == -EBUSY) + continue; + if (retval < 0) + goto err_disable; } while (*++irqp); + if (*irqp == 0) { + err_disable: outb(EGACFR_IRQOFF, E33G_GACFR); /* disable interrupts. */ return -EAGAIN; } --- linux-2.6.32.orig/drivers/net/Makefile +++ linux-2.6.32/drivers/net/Makefile @@ -138,7 +138,7 @@ obj-$(CONFIG_SB1250_MAC) += sb1250-mac.o obj-$(CONFIG_B44) += b44.o obj-$(CONFIG_FORCEDETH) += forcedeth.o -obj-$(CONFIG_NE_H8300) += ne-h8300.o 8390.o +obj-$(CONFIG_NE_H8300) += ne-h8300.o obj-$(CONFIG_AX88796) += ax88796.o obj-$(CONFIG_BCM63XX_ENET) += bcm63xx_enet.o @@ -208,7 +208,7 @@ obj-$(CONFIG_LP486E) += lp486e.o obj-$(CONFIG_ETH16I) += eth16i.o -obj-$(CONFIG_ZORRO8390) += zorro8390.o 8390.o +obj-$(CONFIG_ZORRO8390) += zorro8390.o obj-$(CONFIG_HPLANCE) += hplance.o 7990.o obj-$(CONFIG_MVME147_NET) += mvme147.o 7990.o obj-$(CONFIG_EQUALIZER) += eql.o @@ -220,7 +220,7 @@ obj-$(CONFIG_DECLANCE) += declance.o obj-$(CONFIG_ATARILANCE) += atarilance.o obj-$(CONFIG_A2065) += a2065.o -obj-$(CONFIG_HYDRA) += hydra.o 8390.o +obj-$(CONFIG_HYDRA) += hydra.o obj-$(CONFIG_ARIADNE) += ariadne.o obj-$(CONFIG_CS89x0) += cs89x0.o obj-$(CONFIG_MACSONIC) += macsonic.o --- linux-2.6.32.orig/drivers/net/b44.c +++ linux-2.6.32/drivers/net/b44.c @@ -1505,8 +1505,7 @@ for (k = 0; k< ethaddr_bytes; k++) { ppattern[offset + magicsync + (j * ETH_ALEN) + k] = macaddr[k]; - len++; - set_bit(len, (unsigned long *) pmask); + set_bit(len++, (unsigned long *) pmask); } } return len - 1; @@ -2176,8 +2175,6 @@ dev->irq = sdev->irq; SET_ETHTOOL_OPS(dev, &b44_ethtool_ops); - netif_carrier_off(dev); - err = ssb_bus_powerup(sdev->bus, 0); if (err) { dev_err(sdev->dev, @@ -2217,6 +2214,8 @@ goto err_out_powerdown; } + netif_carrier_off(dev); + ssb_set_drvdata(sdev, dev); /* Chip reset provides power to the b44 MAC & PCI cores, which --- linux-2.6.32.orig/drivers/net/bnx2.c +++ linux-2.6.32/drivers/net/bnx2.c @@ -247,6 +247,9 @@ MODULE_DEVICE_TABLE(pci, bnx2_pci_tbl); +static void bnx2_init_napi(struct bnx2 *bp); +static void bnx2_del_napi(struct bnx2 *bp); + static inline u32 bnx2_tx_avail(struct bnx2 *bp, struct bnx2_tx_ring_info *txr) { u32 diff; @@ -4752,8 +4755,12 @@ rc = bnx2_alloc_bad_rbuf(bp); } - if (bp->flags & BNX2_FLAG_USING_MSIX) + if (bp->flags & BNX2_FLAG_USING_MSIX) { bnx2_setup_msix_tbl(bp); + /* Prevent MSIX table reads and write from timing out */ + REG_WR(bp, BNX2_MISC_ECO_HW_CTL, + BNX2_MISC_ECO_HW_CTL_LARGE_GRC_TMOUT_EN); + } return rc; } @@ -6169,6 +6176,7 @@ bnx2_disable_int(bp); bnx2_setup_int_mode(bp, disable_msi); + bnx2_init_napi(bp); bnx2_napi_enable(bp); rc = bnx2_alloc_mem(bp); if (rc) @@ -6230,6 +6238,7 @@ bnx2_free_skbs(bp); bnx2_free_irq(bp); bnx2_free_mem(bp); + bnx2_del_napi(bp); return rc; } @@ -6437,6 +6446,7 @@ bnx2_free_irq(bp); bnx2_free_skbs(bp); bnx2_free_mem(bp); + bnx2_del_napi(bp); bp->link_up = 0; netif_carrier_off(bp->dev); bnx2_set_power_state(bp, PCI_D3hot); @@ -8012,12 +8022,21 @@ return str; } -static void __devinit +static void +bnx2_del_napi(struct bnx2 *bp) +{ + int i; + + for (i = 0; i < bp->irq_nvecs; i++) + netif_napi_del(&bp->bnx2_napi[i].napi); +} + +static void bnx2_init_napi(struct bnx2 *bp) { int i; - for (i = 0; i < BNX2_MAX_MSIX_VEC; i++) { + for (i = 0; i < bp->irq_nvecs; i++) { struct bnx2_napi *bnapi = &bp->bnx2_napi[i]; int (*poll)(struct napi_struct *, int); @@ -8086,7 +8105,6 @@ dev->ethtool_ops = &bnx2_ethtool_ops; bp = netdev_priv(dev); - bnx2_init_napi(bp); pci_set_drvdata(pdev, dev); --- linux-2.6.32.orig/drivers/net/cnic.c +++ linux-2.6.32/drivers/net/cnic.c @@ -2718,7 +2718,7 @@ dev = cnic_from_netdev(netdev); - if (!dev && (event == NETDEV_REGISTER || event == NETDEV_UP)) { + if (!dev && (event == NETDEV_REGISTER || netif_running(netdev))) { /* Check for the hot-plug device */ dev = is_cnic_dev(netdev); if (dev) { @@ -2734,7 +2734,7 @@ else if (event == NETDEV_UNREGISTER) cnic_ulp_exit(dev); - if (event == NETDEV_UP) { + if (event == NETDEV_UP || (new_dev && netif_running(netdev))) { if (cnic_register_netdev(dev) != 0) { cnic_put(dev); goto done; --- linux-2.6.32.orig/drivers/net/bcm63xx_enet.c +++ linux-2.6.32/drivers/net/bcm63xx_enet.c @@ -1248,9 +1248,15 @@ drvinfo->n_stats = BCM_ENET_STATS_LEN; } -static int bcm_enet_get_stats_count(struct net_device *netdev) +static int bcm_enet_get_sset_count(struct net_device *netdev, + int string_set) { - return BCM_ENET_STATS_LEN; + switch (string_set) { + case ETH_SS_STATS: + return BCM_ENET_STATS_LEN; + default: + return -EINVAL; + } } static void bcm_enet_get_strings(struct net_device *netdev, @@ -1476,7 +1482,7 @@ static struct ethtool_ops bcm_enet_ethtool_ops = { .get_strings = bcm_enet_get_strings, - .get_stats_count = bcm_enet_get_stats_count, + .get_sset_count = bcm_enet_get_sset_count, .get_ethtool_stats = bcm_enet_get_ethtool_stats, .get_settings = bcm_enet_get_settings, .set_settings = bcm_enet_set_settings, --- linux-2.6.32.orig/drivers/net/cpmac.c +++ linux-2.6.32/drivers/net/cpmac.c @@ -1176,7 +1176,8 @@ if (netif_msg_drv(priv)) printk(KERN_ERR "%s: Could not attach to PHY\n", dev->name); - return PTR_ERR(priv->phy); + rc = PTR_ERR(priv->phy); + goto fail; } if ((rc = register_netdev(dev))) { --- linux-2.6.32.orig/drivers/net/dl2k.c +++ linux-2.6.32/drivers/net/dl2k.c @@ -15,6 +15,7 @@ #define DRV_RELDATE "2007/08/12" #include "dl2k.h" #include +#include static char version[] __devinitdata = KERN_INFO DRV_NAME " " DRV_VERSION " " DRV_RELDATE "\n"; @@ -1279,55 +1280,21 @@ { int phy_addr; struct netdev_private *np = netdev_priv(dev); - struct mii_data *miidata = (struct mii_data *) &rq->ifr_ifru; - - struct netdev_desc *desc; - int i; + struct mii_ioctl_data *miidata = if_mii(rq); phy_addr = np->phy_addr; switch (cmd) { - case SIOCDEVPRIVATE: - break; - - case SIOCDEVPRIVATE + 1: - miidata->out_value = mii_read (dev, phy_addr, miidata->reg_num); + case SIOCGMIIPHY: + miidata->phy_id = phy_addr; break; - case SIOCDEVPRIVATE + 2: - mii_write (dev, phy_addr, miidata->reg_num, miidata->in_value); + case SIOCGMIIREG: + miidata->val_out = mii_read (dev, phy_addr, miidata->reg_num); break; - case SIOCDEVPRIVATE + 3: - break; - case SIOCDEVPRIVATE + 4: - break; - case SIOCDEVPRIVATE + 5: - netif_stop_queue (dev); + case SIOCSMIIREG: + if (!capable(CAP_NET_ADMIN)) + return -EPERM; + mii_write (dev, phy_addr, miidata->reg_num, miidata->val_in); break; - case SIOCDEVPRIVATE + 6: - netif_wake_queue (dev); - break; - case SIOCDEVPRIVATE + 7: - printk - ("tx_full=%x cur_tx=%lx old_tx=%lx cur_rx=%lx old_rx=%lx\n", - netif_queue_stopped(dev), np->cur_tx, np->old_tx, np->cur_rx, - np->old_rx); - break; - case SIOCDEVPRIVATE + 8: - printk("TX ring:\n"); - for (i = 0; i < TX_RING_SIZE; i++) { - desc = &np->tx_ring[i]; - printk - ("%02x:cur:%08x next:%08x status:%08x frag1:%08x frag0:%08x", - i, - (u32) (np->tx_ring_dma + i * sizeof (*desc)), - (u32)le64_to_cpu(desc->next_desc), - (u32)le64_to_cpu(desc->status), - (u32)(le64_to_cpu(desc->fraginfo) >> 32), - (u32)le64_to_cpu(desc->fraginfo)); - printk ("\n"); - } - printk ("\n"); - break; - default: return -EOPNOTSUPP; } --- linux-2.6.32.orig/drivers/net/dl2k.h +++ linux-2.6.32/drivers/net/dl2k.h @@ -471,13 +471,6 @@ char *data; }; -struct mii_data { - __u16 reserved; - __u16 reg_num; - __u16 in_value; - __u16 out_value; -}; - /* The Rx and Tx buffer descriptors. */ struct netdev_desc { __le64 next_desc; --- linux-2.6.32.orig/drivers/net/dm9000.c +++ linux-2.6.32/drivers/net/dm9000.c @@ -471,17 +471,13 @@ return dm->rx_csum; } -static int dm9000_set_rx_csum(struct net_device *dev, uint32_t data) +static int dm9000_set_rx_csum_unlocked(struct net_device *dev, uint32_t data) { board_info_t *dm = to_dm9000_board(dev); - unsigned long flags; if (dm->can_csum) { dm->rx_csum = data; - - spin_lock_irqsave(&dm->lock, flags); iow(dm, DM9000_RCSR, dm->rx_csum ? RCSR_CSUM : 0); - spin_unlock_irqrestore(&dm->lock, flags); return 0; } @@ -489,6 +485,19 @@ return -EOPNOTSUPP; } +static int dm9000_set_rx_csum(struct net_device *dev, uint32_t data) +{ + board_info_t *dm = to_dm9000_board(dev); + unsigned long flags; + int ret; + + spin_lock_irqsave(&dm->lock, flags); + ret = dm9000_set_rx_csum_unlocked(dev, data); + spin_unlock_irqrestore(&dm->lock, flags); + + return ret; +} + static int dm9000_set_tx_csum(struct net_device *dev, uint32_t data) { board_info_t *dm = to_dm9000_board(dev); @@ -667,7 +676,7 @@ * Set DM9000 multicast address */ static void -dm9000_hash_table(struct net_device *dev) +dm9000_hash_table_unlocked(struct net_device *dev) { board_info_t *db = netdev_priv(dev); struct dev_mc_list *mcptr = dev->mc_list; @@ -676,12 +685,9 @@ u32 hash_val; u16 hash_table[4]; u8 rcr = RCR_DIS_LONG | RCR_DIS_CRC | RCR_RXEN; - unsigned long flags; dm9000_dbg(db, 1, "entering %s\n", __func__); - spin_lock_irqsave(&db->lock, flags); - for (i = 0, oft = DM9000_PAR; i < 6; i++, oft++) iow(db, oft, dev->dev_addr[i]); @@ -711,6 +717,16 @@ } iow(db, DM9000_RCR, rcr); +} + +static void +dm9000_hash_table(struct net_device *dev) +{ + board_info_t *db = netdev_priv(dev); + unsigned long flags; + + spin_lock_irqsave(&db->lock, flags); + dm9000_hash_table_unlocked(dev); spin_unlock_irqrestore(&db->lock, flags); } @@ -729,7 +745,7 @@ db->io_mode = ior(db, DM9000_ISR) >> 6; /* ISR bit7:6 keeps I/O mode */ /* Checksum mode */ - dm9000_set_rx_csum(dev, db->rx_csum); + dm9000_set_rx_csum_unlocked(dev, db->rx_csum); /* GPIO0 on pre-activate PHY */ iow(db, DM9000_GPR, 0); /* REG_1F bit0 activate phyxcer */ @@ -749,7 +765,7 @@ iow(db, DM9000_ISR, ISR_CLR_STATUS); /* Clear interrupt status */ /* Set address filter table */ - dm9000_hash_table(dev); + dm9000_hash_table_unlocked(dev); imr = IMR_PAR | IMR_PTM | IMR_PRM; if (db->type != TYPE_DM9000E) --- linux-2.6.32.orig/drivers/net/e100.c +++ linux-2.6.32/drivers/net/e100.c @@ -1817,6 +1817,7 @@ &nic->cbs_dma_addr); if (!nic->cbs) return -ENOMEM; + memset(nic->cbs, 0, count * sizeof(struct cb)); for (cb = nic->cbs, i = 0; i < count; cb++, i++) { cb->next = (i + 1 < count) ? cb + 1 : nic->cbs; @@ -1825,7 +1826,6 @@ cb->dma_addr = nic->cbs_dma_addr + i * sizeof(struct cb); cb->link = cpu_to_le32(nic->cbs_dma_addr + ((i+1) % count) * sizeof(struct cb)); - cb->skb = NULL; } nic->cb_to_use = nic->cb_to_send = nic->cb_to_clean = nic->cbs; --- linux-2.6.32.orig/drivers/net/eql.c +++ linux-2.6.32/drivers/net/eql.c @@ -554,6 +554,8 @@ equalizer_t *eql; master_config_t mc; + memset(&mc, 0, sizeof(master_config_t)); + if (eql_is_master(dev)) { eql = netdev_priv(dev); mc.max_slaves = eql->max_slaves; --- linux-2.6.32.orig/drivers/net/forcedeth.c +++ linux-2.6.32/drivers/net/forcedeth.c @@ -5900,7 +5900,7 @@ /* Limit the number of tx's outstanding for hw bug */ if (id->driver_data & DEV_NEED_TX_LIMIT) { np->tx_limit = 1; - if ((id->driver_data & DEV_NEED_TX_LIMIT2) && + if (((id->driver_data & DEV_NEED_TX_LIMIT2) == DEV_NEED_TX_LIMIT2) && pci_dev->revision >= 0xA2) np->tx_limit = 0; } --- linux-2.6.32.orig/drivers/net/gianfar.c +++ linux-2.6.32/drivers/net/gianfar.c @@ -1621,7 +1621,7 @@ if (skb_queue_len(&priv->rx_recycle) < priv->rx_ring_size && skb_recycle_check(skb, priv->rx_buffer_size + RXBUF_ALIGNMENT)) - __skb_queue_head(&priv->rx_recycle, skb); + skb_queue_head(&priv->rx_recycle, skb); else dev_kfree_skb_any(skb); @@ -1703,7 +1703,7 @@ struct gfar_private *priv = netdev_priv(dev); struct sk_buff *skb = NULL; - skb = __skb_dequeue(&priv->rx_recycle); + skb = skb_dequeue(&priv->rx_recycle); if (!skb) skb = netdev_alloc_skb(dev, priv->rx_buffer_size + RXBUF_ALIGNMENT); @@ -1862,7 +1862,7 @@ * recycle list. */ skb->data = skb->head + NET_SKB_PAD; - __skb_queue_head(&priv->rx_recycle, skb); + skb_queue_head(&priv->rx_recycle, skb); } } else { /* Increment the number of packets */ --- linux-2.6.32.orig/drivers/net/hydra.c +++ linux-2.6.32/drivers/net/hydra.c @@ -98,15 +98,15 @@ .ndo_open = hydra_open, .ndo_stop = hydra_close, - .ndo_start_xmit = ei_start_xmit, - .ndo_tx_timeout = ei_tx_timeout, - .ndo_get_stats = ei_get_stats, - .ndo_set_multicast_list = ei_set_multicast_list, + .ndo_start_xmit = __ei_start_xmit, + .ndo_tx_timeout = __ei_tx_timeout, + .ndo_get_stats = __ei_get_stats, + .ndo_set_multicast_list = __ei_set_multicast_list, .ndo_validate_addr = eth_validate_addr, - .ndo_set_mac_address = eth_mac_addr, + .ndo_set_mac_address = eth_mac_addr, .ndo_change_mtu = eth_change_mtu, #ifdef CONFIG_NET_POLL_CONTROLLER - .ndo_poll_controller = ei_poll, + .ndo_poll_controller = __ei_poll, #endif }; @@ -125,7 +125,7 @@ 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e, }; - dev = alloc_ei_netdev(); + dev = ____alloc_ei_netdev(0); if (!dev) return -ENOMEM; --- linux-2.6.32.orig/drivers/net/ipg.c +++ linux-2.6.32/drivers/net/ipg.c @@ -88,7 +88,6 @@ "Sundance Technology ST2021 based NIC", "Tamarack Microelectronics TC9020/9021 based NIC", "Tamarack Microelectronics TC9020/9021 based NIC", - "D-Link NIC", "D-Link NIC IP1000A" }; @@ -97,8 +96,7 @@ { PCI_VDEVICE(SUNDANCE, 0x2021), 1 }, { PCI_VDEVICE(SUNDANCE, 0x1021), 2 }, { PCI_VDEVICE(DLINK, 0x9021), 3 }, - { PCI_VDEVICE(DLINK, 0x4000), 4 }, - { PCI_VDEVICE(DLINK, 0x4020), 5 }, + { PCI_VDEVICE(DLINK, 0x4020), 4 }, { 0, } }; --- linux-2.6.32.orig/drivers/net/jme.c +++ linux-2.6.32/drivers/net/jme.c @@ -681,20 +681,28 @@ struct jme_ring *rxring = &(jme->rxring[0]); struct jme_buffer_info *rxbi = rxring->bufinf + i; struct sk_buff *skb; + dma_addr_t mapping; skb = netdev_alloc_skb(jme->dev, jme->dev->mtu + RX_EXTRA_LEN); if (unlikely(!skb)) return -ENOMEM; + mapping = pci_map_page(jme->pdev, virt_to_page(skb->data), + offset_in_page(skb->data), skb_tailroom(skb), + PCI_DMA_FROMDEVICE); + if (unlikely(pci_dma_mapping_error(jme->pdev, mapping))) { + dev_kfree_skb(skb); + return -ENOMEM; + } + + if (likely(rxbi->mapping)) + pci_unmap_page(jme->pdev, rxbi->mapping, + rxbi->len, PCI_DMA_FROMDEVICE); + rxbi->skb = skb; rxbi->len = skb_tailroom(skb); - rxbi->mapping = pci_map_page(jme->pdev, - virt_to_page(skb->data), - offset_in_page(skb->data), - rxbi->len, - PCI_DMA_FROMDEVICE); - + rxbi->mapping = mapping; return 0; } @@ -946,6 +954,8 @@ jme->jme_vlan_rx(skb, jme->vlgrp, le16_to_cpu(rxdesc->descwb.vlan)); NET_STAT(jme).rx_bytes += 4; + } else { + dev_kfree_skb(skb); } } else { jme->jme_rx(skb); @@ -1576,6 +1586,16 @@ } } +static inline void +jme_phy_on(struct jme_adapter *jme) +{ + u32 bmcr; + + bmcr = jme_mdio_read(jme->dev, jme->mii_if.phy_id, MII_BMCR); + bmcr &= ~BMCR_PDOWN; + jme_mdio_write(jme->dev, jme->mii_if.phy_id, MII_BMCR, bmcr); +} + static int jme_open(struct net_device *netdev) { @@ -1596,10 +1616,12 @@ jme_start_irq(jme); - if (test_bit(JME_FLAG_SSET, &jme->flags)) + if (test_bit(JME_FLAG_SSET, &jme->flags)) { + jme_phy_on(jme); jme_set_settings(netdev, &jme->old_ecmd); - else + } else { jme_reset_phy_processor(jme); + } jme_reset_link(jme); @@ -2085,12 +2107,45 @@ jme_reset_link(jme); } +static inline void jme_pause_rx(struct jme_adapter *jme) +{ + atomic_dec(&jme->link_changing); + + jme_set_rx_pcc(jme, PCC_OFF); + if (test_bit(JME_FLAG_POLL, &jme->flags)) { + JME_NAPI_DISABLE(jme); + } else { + tasklet_disable(&jme->rxclean_task); + tasklet_disable(&jme->rxempty_task); + } +} + +static inline void jme_resume_rx(struct jme_adapter *jme) +{ + struct dynpcc_info *dpi = &(jme->dpi); + + if (test_bit(JME_FLAG_POLL, &jme->flags)) { + JME_NAPI_ENABLE(jme); + } else { + tasklet_hi_enable(&jme->rxclean_task); + tasklet_hi_enable(&jme->rxempty_task); + } + dpi->cur = PCC_P1; + dpi->attempt = PCC_P1; + dpi->cnt = 0; + jme_set_rx_pcc(jme, PCC_P1); + + atomic_inc(&jme->link_changing); +} + static void jme_vlan_rx_register(struct net_device *netdev, struct vlan_group *grp) { struct jme_adapter *jme = netdev_priv(netdev); + jme_pause_rx(jme); jme->vlgrp = grp; + jme_resume_rx(jme); } static void @@ -2978,10 +3033,12 @@ jme_clear_pm(jme); pci_restore_state(pdev); - if (test_bit(JME_FLAG_SSET, &jme->flags)) + if (test_bit(JME_FLAG_SSET, &jme->flags)) { + jme_phy_on(jme); jme_set_settings(netdev, &jme->old_ecmd); - else + } else { jme_reset_phy_processor(jme); + } jme_start_irq(jme); netif_device_attach(netdev); --- linux-2.6.32.orig/drivers/net/ks8851_mll.c +++ linux-2.6.32/drivers/net/ks8851_mll.c @@ -854,8 +854,8 @@ static irqreturn_t ks_irq(int irq, void *pw) { - struct ks_net *ks = pw; - struct net_device *netdev = ks->netdev; + struct net_device *netdev = pw; + struct ks_net *ks = netdev_priv(netdev); u16 status; /*this should be the first in IRQ handler */ --- linux-2.6.32.orig/drivers/net/ne-h8300.c +++ linux-2.6.32/drivers/net/ne-h8300.c @@ -167,7 +167,7 @@ #ifndef MODULE struct net_device * __init ne_probe(int unit) { - struct net_device *dev = alloc_ei_netdev(); + struct net_device *dev = ____alloc_ei_netdev(0); int err; if (!dev) @@ -197,15 +197,15 @@ .ndo_open = ne_open, .ndo_stop = ne_close, - .ndo_start_xmit = ei_start_xmit, - .ndo_tx_timeout = ei_tx_timeout, - .ndo_get_stats = ei_get_stats, - .ndo_set_multicast_list = ei_set_multicast_list, + .ndo_start_xmit = __ei_start_xmit, + .ndo_tx_timeout = __ei_tx_timeout, + .ndo_get_stats = __ei_get_stats, + .ndo_set_multicast_list = __ei_set_multicast_list, .ndo_validate_addr = eth_validate_addr, - .ndo_set_mac_address = eth_mac_addr, + .ndo_set_mac_address = eth_mac_addr, .ndo_change_mtu = eth_change_mtu, #ifdef CONFIG_NET_POLL_CONTROLLER - .ndo_poll_controller = ei_poll, + .ndo_poll_controller = __ei_poll, #endif }; @@ -638,7 +638,7 @@ int err; for (this_dev = 0; this_dev < MAX_NE_CARDS; this_dev++) { - struct net_device *dev = alloc_ei_netdev(); + struct net_device *dev = ____alloc_ei_netdev(0); if (!dev) break; if (io[this_dev]) { --- linux-2.6.32.orig/drivers/net/netx-eth.c +++ linux-2.6.32/drivers/net/netx-eth.c @@ -510,3 +510,6 @@ MODULE_AUTHOR("Sascha Hauer, Pengutronix"); MODULE_LICENSE("GPL"); MODULE_ALIAS("platform:" CARDNAME); +MODULE_FIRMWARE("xc0.bin"); +MODULE_FIRMWARE("xc1.bin"); +MODULE_FIRMWARE("xc2.bin"); --- linux-2.6.32.orig/drivers/net/niu.c +++ linux-2.6.32/drivers/net/niu.c @@ -7315,33 +7315,28 @@ struct niu_parent *parent = np->parent; struct niu_tcam_entry *tp; int i, idx, cnt; - u16 n_entries; unsigned long flags; - + int ret = 0; /* put the tcam size here */ nfc->data = tcam_get_size(np); niu_lock_parent(np, flags); - n_entries = nfc->rule_cnt; for (cnt = 0, i = 0; i < nfc->data; i++) { idx = tcam_get_index(np, i); tp = &parent->tcam[idx]; if (!tp->valid) continue; + if (cnt == nfc->rule_cnt) { + ret = -EMSGSIZE; + break; + } rule_locs[cnt] = i; cnt++; } niu_unlock_parent(np, flags); - if (n_entries != cnt) { - /* print warning, this should not happen */ - pr_info(PFX "niu%d: %s In niu_get_ethtool_tcam_all, " - "n_entries[%d] != cnt[%d]!!!\n\n", - np->parent->index, np->dev->name, n_entries, cnt); - } - - return 0; + return ret; } static int niu_get_nfc(struct net_device *dev, struct ethtool_rxnfc *cmd, --- linux-2.6.32.orig/drivers/net/r6040.c +++ linux-2.6.32/drivers/net/r6040.c @@ -135,7 +135,7 @@ #define RX_DESC_SIZE (RX_DCNT * sizeof(struct r6040_descriptor)) #define TX_DESC_SIZE (TX_DCNT * sizeof(struct r6040_descriptor)) #define MBCR_DEFAULT 0x012A /* MAC Bus Control Register */ -#define MCAST_MAX 4 /* Max number multicast addresses to filter */ +#define MCAST_MAX 3 /* Max number multicast addresses to filter */ /* Descriptor status */ #define DSC_OWNER_MAC 0x8000 /* MAC is the owner of this descriptor */ @@ -985,9 +985,6 @@ crc >>= 26; hash_table[crc >> 4] |= 1 << (15 - (crc & 0xf)); } - /* Write the index of the hash table */ - for (i = 0; i < 4; i++) - iowrite16(hash_table[i] << 14, ioaddr + MCR1); /* Fill the MAC hash tables with their values */ iowrite16(hash_table[0], ioaddr + MAR0); iowrite16(hash_table[1], ioaddr + MAR1); @@ -995,6 +992,7 @@ iowrite16(hash_table[3], ioaddr + MAR3); } /* Multicast Address 1~4 case */ + dmi = dev->mc_list; for (i = 0, dmi; (i < dev->mc_count) && (i < MCAST_MAX); i++) { adrp = (u16 *)dmi->dmi_addr; iowrite16(adrp[0], ioaddr + MID_1L + 8*i); @@ -1003,9 +1001,9 @@ dmi = dmi->next; } for (i = dev->mc_count; i < MCAST_MAX; i++) { - iowrite16(0xffff, ioaddr + MID_0L + 8*i); - iowrite16(0xffff, ioaddr + MID_0M + 8*i); - iowrite16(0xffff, ioaddr + MID_0H + 8*i); + iowrite16(0xffff, ioaddr + MID_1L + 8*i); + iowrite16(0xffff, ioaddr + MID_1M + 8*i); + iowrite16(0xffff, ioaddr + MID_1H + 8*i); } } --- linux-2.6.32.orig/drivers/net/pppol2tp.c +++ linux-2.6.32/drivers/net/pppol2tp.c @@ -756,6 +756,7 @@ /* Try to dequeue as many skbs from reorder_q as we can. */ pppol2tp_recv_dequeue(session); + sock_put(sock); return 0; @@ -772,6 +773,7 @@ UDP_INC_STATS_USER(&init_net, UDP_MIB_INERRORS, 0); tunnel->stats.rx_errors++; kfree_skb(skb); + sock_put(sock); return 0; @@ -1178,7 +1180,8 @@ /* Calculate UDP checksum if configured to do so */ if (sk_tun->sk_no_check == UDP_CSUM_NOXMIT) skb->ip_summed = CHECKSUM_NONE; - else if (!(skb_dst(skb)->dev->features & NETIF_F_V4_CSUM)) { + else if ((skb_dst(skb) && skb_dst(skb)->dev) && + (!(skb_dst(skb)->dev->features & NETIF_F_V4_CSUM))) { skb->ip_summed = CHECKSUM_COMPLETE; csum = skb_checksum(skb, 0, udp_len, 0); uh->check = csum_tcpudp_magic(inet->saddr, inet->daddr, @@ -1657,6 +1660,7 @@ if (tunnel_sock == NULL) goto end; + sock_hold(tunnel_sock); tunnel = tunnel_sock->sk_user_data; } else { tunnel = pppol2tp_tunnel_find(sock_net(sk), sp->pppol2tp.s_tunnel); --- linux-2.6.32.orig/drivers/net/r8169.c +++ linux-2.6.32/drivers/net/r8169.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include @@ -186,7 +187,12 @@ MODULE_DEVICE_TABLE(pci, rtl8169_pci_tbl); -static int rx_copybreak = 200; +/* + * we set our copybreak very high so that we don't have + * to allocate 16k frames all the time (see note in + * rtl8169_open() + */ +static int rx_copybreak = 16383; static int use_dac; static struct { u32 msg_enable; @@ -552,6 +558,11 @@ break; udelay(25); } + /* + * According to hardware specs a 20us delay is required after write + * complete indication, but before sending next command. + */ + udelay(20); } static int mdio_read(void __iomem *ioaddr, int reg_addr) @@ -571,6 +582,12 @@ } udelay(25); } + /* + * According to hardware specs a 20us delay is required after read + * complete indication, but before sending next command. + */ + udelay(20); + return value; } @@ -2827,8 +2844,13 @@ spin_lock_irq(&tp->lock); RTL_W8(Cfg9346, Cfg9346_Unlock); - RTL_W32(MAC0, low); + RTL_W32(MAC4, high); + RTL_R32(MAC4); + + RTL_W32(MAC0, low); + RTL_R32(MAC0); + RTL_W8(Cfg9346, Cfg9346_Lock); spin_unlock_irq(&tp->lock); @@ -3009,6 +3031,11 @@ mii->reg_num_mask = 0x1f; mii->supports_gmii = !!(cfg->features & RTL_FEATURE_GMII); + /* disable ASPM completely as that cause random device stop working + * problems as well as full system hangs for some PCIe devices users */ + pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1 | + PCIE_LINK_STATE_CLKPM); + /* enable device (incl. PCI PM wakeup and hotplug setup) */ rc = pci_enable_device(pdev); if (rc < 0) { @@ -3169,6 +3196,13 @@ dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; #endif + /* Ubuntu temporary workaround for bug #76489, disable + * NETIF_F_TSO by default for RTL8111/8168B chipsets. + * People can re-enable if required */ + if (tp->mac_version == RTL_GIGA_MAC_VER_11 + || tp->mac_version == RTL_GIGA_MAC_VER_12) + dev->features &= ~NETIF_F_TSO; + tp->intr_mask = 0xffff; tp->align = cfg->align; tp->hw_start = cfg->hw_start; @@ -3245,9 +3279,13 @@ } static void rtl8169_set_rxbufsize(struct rtl8169_private *tp, - struct net_device *dev) + unsigned int mtu) { - unsigned int max_frame = dev->mtu + VLAN_ETH_HLEN + ETH_FCS_LEN; + unsigned int max_frame = mtu + VLAN_ETH_HLEN + ETH_FCS_LEN; + + if (max_frame != 16383) + printk(KERN_WARNING PFX "WARNING! Changing of MTU on this " + "NIC may lead to frame reception errors!\n"); tp->rx_buf_sz = (max_frame > RX_BUF_SIZE) ? max_frame : RX_BUF_SIZE; } @@ -3259,7 +3297,17 @@ int retval = -ENOMEM; - rtl8169_set_rxbufsize(tp, dev); + /* + * Note that we use a magic value here, its wierd I know + * its done because, some subset of rtl8169 hardware suffers from + * a problem in which frames received that are longer than + * the size set in RxMaxSize register return garbage sizes + * when received. To avoid this we need to turn off filtering, + * which is done by setting a value of 16383 in the RxMaxSize register + * and allocating 16k frames to handle the largest possible rx value + * thats what the magic math below does. + */ + rtl8169_set_rxbufsize(tp, 16383 - VLAN_ETH_HLEN - ETH_FCS_LEN); /* * Rx and Tx desscriptors needs 256 bytes alignment. @@ -3700,7 +3748,8 @@ RTL_W16(IntrMitigate, 0x5151); /* Work around for RxFIFO overflow. */ - if (tp->mac_version == RTL_GIGA_MAC_VER_11) { + if (tp->mac_version == RTL_GIGA_MAC_VER_11 || + tp->mac_version == RTL_GIGA_MAC_VER_22) { tp->intr_event |= RxFIFOOver | PCSTimeout; tp->intr_event &= ~RxOverflow; } @@ -3912,7 +3961,7 @@ rtl8169_down(dev); - rtl8169_set_rxbufsize(tp, dev); + rtl8169_set_rxbufsize(tp, dev->mtu); ret = rtl8169_init_ring(dev); if (ret < 0) @@ -3964,7 +4013,7 @@ static struct sk_buff *rtl8169_alloc_rx_skb(struct pci_dev *pdev, struct net_device *dev, struct RxDesc *desc, int rx_buf_sz, - unsigned int align) + unsigned int align, gfp_t gfp) { struct sk_buff *skb; dma_addr_t mapping; @@ -3972,7 +4021,7 @@ pad = align ? align : NET_IP_ALIGN; - skb = netdev_alloc_skb(dev, rx_buf_sz + pad); + skb = __netdev_alloc_skb(dev, rx_buf_sz + pad, gfp); if (!skb) goto err_out; @@ -4003,7 +4052,7 @@ } static u32 rtl8169_rx_fill(struct rtl8169_private *tp, struct net_device *dev, - u32 start, u32 end) + u32 start, u32 end, gfp_t gfp) { u32 cur; @@ -4018,7 +4067,7 @@ skb = rtl8169_alloc_rx_skb(tp->pci_dev, dev, tp->RxDescArray + i, - tp->rx_buf_sz, tp->align); + tp->rx_buf_sz, tp->align, gfp); if (!skb) break; @@ -4046,7 +4095,7 @@ memset(tp->tx_skb, 0x0, NUM_TX_DESC * sizeof(struct ring_info)); memset(tp->Rx_skbuff, 0x0, NUM_RX_DESC * sizeof(struct sk_buff *)); - if (rtl8169_rx_fill(tp, dev, 0, NUM_RX_DESC) != NUM_RX_DESC) + if (rtl8169_rx_fill(tp, dev, 0, NUM_RX_DESC, GFP_KERNEL) != NUM_RX_DESC) goto err_out; rtl8169_mark_as_last_descriptor(tp->RxDescArray + NUM_RX_DESC - 1); @@ -4297,7 +4346,7 @@ tp->cur_tx += frags + 1; - smp_wmb(); + wmb(); RTL_W8(TxPoll, NPQ); /* set polling bit */ @@ -4549,7 +4598,7 @@ count = cur_rx - tp->cur_rx; tp->cur_rx = cur_rx; - delta = rtl8169_rx_fill(tp, dev, tp->dirty_rx, tp->cur_rx); + delta = rtl8169_rx_fill(tp, dev, tp->dirty_rx, tp->cur_rx, GFP_ATOMIC); if (!delta && count && netif_msg_intr(tp)) printk(KERN_INFO "%s: no Rx buffer allocated\n", dev->name); tp->dirty_rx += delta; @@ -4592,7 +4641,8 @@ /* Work around for rx fifo overflow */ if (unlikely(status & RxFIFOOver) && - (tp->mac_version == RTL_GIGA_MAC_VER_11)) { + (tp->mac_version == RTL_GIGA_MAC_VER_11 || + tp->mac_version == RTL_GIGA_MAC_VER_22)) { netif_stop_queue(dev); rtl8169_tx_timeout(dev); break; @@ -4657,7 +4707,7 @@ * until it does. */ tp->intr_mask = 0xffff; - smp_wmb(); + wmb(); RTL_W16(IntrMask, tp->intr_event); } @@ -4795,8 +4845,8 @@ mc_filter[1] = swab32(data); } - RTL_W32(MAR0 + 0, mc_filter[0]); RTL_W32(MAR0 + 4, mc_filter[1]); + RTL_W32(MAR0 + 0, mc_filter[0]); RTL_W32(RxConfig, tmp); --- linux-2.6.32.orig/drivers/net/rionet.c +++ linux-2.6.32/drivers/net/rionet.c @@ -87,8 +87,8 @@ #define dev_rionet_capable(dev) \ is_rionet_capable(dev->pef, dev->src_ops, dev->dst_ops) -#define RIONET_MAC_MATCH(x) (*(u32 *)x == 0x00010001) -#define RIONET_GET_DESTID(x) (*(u16 *)(x + 4)) +#define RIONET_MAC_MATCH(x) (!memcmp((x), "\00\01\00\01", 4)) +#define RIONET_GET_DESTID(x) ((*((u8 *)x + 4) << 8) | *((u8 *)x + 5)) static int rionet_rx_clean(struct net_device *ndev) { --- linux-2.6.32.orig/drivers/net/skge.c +++ linux-2.6.32/drivers/net/skge.c @@ -40,6 +40,7 @@ #include #include #include +#include #include #include "skge.h" @@ -3890,6 +3891,8 @@ dev->name, dev->dev_addr); } +static int only_32bit_dma; + static int __devinit skge_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -3911,7 +3914,7 @@ pci_set_master(pdev); - if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) { + if (!only_32bit_dma && !pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) { using_dac = 1; err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)); } else if (!(err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)))) { @@ -4168,8 +4171,21 @@ .shutdown = skge_shutdown, }; +static struct dmi_system_id skge_32bit_dma_boards[] = { + { + .ident = "Gigabyte nForce boards", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Gigabyte Technology Co"), + DMI_MATCH(DMI_BOARD_NAME, "nForce"), + }, + }, + {} +}; + static int __init skge_init_module(void) { + if (dmi_check_system(skge_32bit_dma_boards)) + only_32bit_dma = 1; skge_debug_init(); return pci_register_driver(&skge_driver); } --- linux-2.6.32.orig/drivers/net/sky2.c +++ linux-2.6.32/drivers/net/sky2.c @@ -139,6 +139,7 @@ { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x436D) }, /* 88E8055 */ { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4370) }, /* 88E8075 */ { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4380) }, /* 88E8057 */ + { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4381) }, /* 88E8059 */ { 0 } }; @@ -602,6 +603,16 @@ /* apply workaround for integrated resistors calibration */ gm_phy_write(hw, port, PHY_MARV_PAGE_ADDR, 17); gm_phy_write(hw, port, PHY_MARV_PAGE_DATA, 0x3f60); + } else if (hw->chip_id == CHIP_ID_YUKON_OPT && hw->chip_rev == 0) { + /* apply fixes in PHY AFE */ + gm_phy_write(hw, port, PHY_MARV_EXT_ADR, 0x00ff); + + /* apply RDAC termination workaround */ + gm_phy_write(hw, port, 24, 0x2800); + gm_phy_write(hw, port, 23, 0x2001); + + /* set page register back to 0 */ + gm_phy_write(hw, port, PHY_MARV_EXT_ADR, 0); } else if (hw->chip_id != CHIP_ID_YUKON_EX && hw->chip_id < CHIP_ID_YUKON_SUPR) { /* no effect on Yukon-XL */ @@ -704,11 +715,24 @@ sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_OFF); } +/* Enable Rx/Tx */ +static void sky2_enable_rx_tx(struct sky2_port *sky2) +{ + struct sky2_hw *hw = sky2->hw; + unsigned port = sky2->port; + u16 reg; + + reg = gma_read16(hw, port, GM_GP_CTRL); + reg |= GM_GPCR_RX_ENA | GM_GPCR_TX_ENA; + gma_write16(hw, port, GM_GP_CTRL, reg); +} + /* Force a renegotiation */ static void sky2_phy_reinit(struct sky2_port *sky2) { spin_lock_bh(&sky2->phy_lock); sky2_phy_init(sky2->hw, sky2->port); + sky2_enable_rx_tx(sky2); spin_unlock_bh(&sky2->phy_lock); } @@ -1008,11 +1032,8 @@ static inline struct sky2_tx_le *get_tx_le(struct sky2_port *sky2, u16 *slot) { struct sky2_tx_le *le = sky2->tx_le + *slot; - struct tx_ring_info *re = sky2->tx_ring + *slot; *slot = RING_NEXT(*slot, sky2->tx_ring_size); - re->flags = 0; - re->skb = NULL; le->ctrl = 0; return le; } @@ -1580,8 +1601,7 @@ return count; } -static void sky2_tx_unmap(struct pci_dev *pdev, - const struct tx_ring_info *re) +static void sky2_tx_unmap(struct pci_dev *pdev, struct tx_ring_info *re) { if (re->flags & TX_MAP_SINGLE) pci_unmap_single(pdev, pci_unmap_addr(re, mapaddr), @@ -1591,6 +1611,7 @@ pci_unmap_page(pdev, pci_unmap_addr(re, mapaddr), pci_unmap_len(re, maplen), PCI_DMA_TODEVICE); + re->flags = 0; } /* @@ -1797,6 +1818,7 @@ dev->stats.tx_packets++; dev->stats.tx_bytes += skb->len; + re->skb = NULL; dev_kfree_skb_any(skb); sky2->tx_next = RING_NEXT(idx, sky2->tx_ring_size); @@ -1806,7 +1828,8 @@ sky2->tx_cons = idx; smp_mb(); - if (tx_avail(sky2) > MAX_SKB_TX_LE + 4) + /* Wake unless it's detached, and called e.g. from sky2_down() */ + if (tx_avail(sky2) > MAX_SKB_TX_LE + 4 && netif_device_present(dev)) netif_wake_queue(dev); } @@ -1930,7 +1953,6 @@ { struct sky2_hw *hw = sky2->hw; unsigned port = sky2->port; - u16 reg; static const char *fc_name[] = { [FC_NONE] = "none", [FC_TX] = "tx", @@ -1938,10 +1960,7 @@ [FC_BOTH] = "both", }; - /* enable Rx/Tx */ - reg = gma_read16(hw, port, GM_GP_CTRL); - reg |= GM_GPCR_RX_ENA | GM_GPCR_TX_ENA; - gma_write16(hw, port, GM_GP_CTRL, reg); + sky2_enable_rx_tx(sky2); gm_phy_write(hw, port, PHY_MARV_INT_MASK, PHY_M_DEF_MSK); @@ -2096,6 +2115,27 @@ spin_unlock(&sky2->phy_lock); } +/* Special quick link interrupt (Yukon-2 Optima only) */ +static void sky2_qlink_intr(struct sky2_hw *hw) +{ + struct sky2_port *sky2 = netdev_priv(hw->dev[0]); + u32 imask; + u16 phy; + + /* disable irq */ + imask = sky2_read32(hw, B0_IMSK); + imask &= ~Y2_IS_PHY_QLNK; + sky2_write32(hw, B0_IMSK, imask); + + /* reset PHY Link Detect */ + phy = sky2_pci_read16(hw, PSM_CONFIG_REG4); + sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_ON); + sky2_pci_write16(hw, PSM_CONFIG_REG4, phy | 1); + sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_OFF); + + sky2_link_up(sky2); +} + /* Transmit timeout is only called if we are running, carrier is up * and tx queue is full (stopped). */ @@ -2766,6 +2806,9 @@ if (status & Y2_IS_IRQ_PHY2) sky2_phy_intr(hw, 1); + if (status & Y2_IS_PHY_QLNK) + sky2_qlink_intr(hw); + while ((idx = sky2_read16(hw, STAT_PUT_IDX)) != hw->st_idx) { work_done += sky2_status_intr(hw, work_limit - work_done, idx); @@ -2815,6 +2858,7 @@ case CHIP_ID_YUKON_EX: case CHIP_ID_YUKON_SUPR: case CHIP_ID_YUKON_UL_2: + case CHIP_ID_YUKON_OPT: return 125; case CHIP_ID_YUKON_FE: @@ -2908,6 +2952,12 @@ | SKY2_HW_ADV_POWER_CTL; break; + case CHIP_ID_YUKON_OPT: + hw->flags = SKY2_HW_GIGABIT + | SKY2_HW_NEW_LE + | SKY2_HW_ADV_POWER_CTL; + break; + default: dev_err(&hw->pdev->dev, "unsupported chip type 0x%x\n", hw->chip_id); @@ -2988,6 +3038,48 @@ | GMC_BYP_RETR_ON); } + if (hw->chip_id == CHIP_ID_YUKON_OPT) { + u16 reg; + u32 msk; + + if (hw->chip_rev == 0) { + /* disable PCI-E PHY power down (set PHY reg 0x80, bit 7 */ + sky2_write32(hw, Y2_PEX_PHY_DATA, (0x80UL << 16) | (1 << 7)); + + /* set PHY Link Detect Timer to 1.1 second (11x 100ms) */ + reg = 10; + } else { + /* set PHY Link Detect Timer to 0.4 second (4x 100ms) */ + reg = 3; + } + + reg <<= PSM_CONFIG_REG4_TIMER_PHY_LINK_DETECT_BASE; + + /* reset PHY Link Detect */ + sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_ON); + sky2_pci_write16(hw, PSM_CONFIG_REG4, + reg | PSM_CONFIG_REG4_RST_PHY_LINK_DETECT); + sky2_pci_write16(hw, PSM_CONFIG_REG4, reg); + + + /* enable PHY Quick Link */ + msk = sky2_read32(hw, B0_IMSK); + msk |= Y2_IS_PHY_QLNK; + sky2_write32(hw, B0_IMSK, msk); + + /* check if PSMv2 was running before */ + reg = sky2_pci_read16(hw, PSM_CONFIG_REG3); + if (reg & PCI_EXP_LNKCTL_ASPMC) { + int cap = pci_find_capability(pdev, PCI_CAP_ID_EXP); + /* restore the PCIe Link Control register */ + sky2_pci_write16(hw, cap + PCI_EXP_LNKCTL, reg); + } + sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_OFF); + + /* re-enable PEX PM in PEX PHY debug reg. 8 (clear bit 12) */ + sky2_write32(hw, Y2_PEX_PHY_DATA, PEX_DB_ACCESS | (0x08UL << 16)); + } + /* Clear I2C IRQ noise */ sky2_write32(hw, B2_I2C_IRQ, 1); @@ -4406,9 +4498,11 @@ "FE+", /* 0xb8 */ "Supreme", /* 0xb9 */ "UL 2", /* 0xba */ + "Unknown", /* 0xbb */ + "Optima", /* 0xbc */ }; - if (chipid >= CHIP_ID_YUKON_XL && chipid < CHIP_ID_YUKON_UL_2) + if (chipid >= CHIP_ID_YUKON_XL && chipid <= CHIP_ID_YUKON_OPT) strncpy(buf, name[chipid - CHIP_ID_YUKON_XL], sz); else snprintf(buf, sz, "(chip %#x)", chipid); --- linux-2.6.32.orig/drivers/net/sky2.h +++ linux-2.6.32/drivers/net/sky2.h @@ -16,6 +16,13 @@ PCI_DEV_REG5 = 0x88, PCI_CFG_REG_0 = 0x90, PCI_CFG_REG_1 = 0x94, + + PSM_CONFIG_REG0 = 0x98, + PSM_CONFIG_REG1 = 0x9C, + PSM_CONFIG_REG2 = 0x160, + PSM_CONFIG_REG3 = 0x164, + PSM_CONFIG_REG4 = 0x168, + }; /* Yukon-2 */ @@ -48,6 +55,37 @@ PCI_USEDATA64 = 1<<0, /* Use 64Bit Data bus ext */ }; +/* PCI_OUR_REG_3 32 bit Our Register 3 (Yukon-ECU only) */ +enum pci_dev_reg_3 { + P_CLK_ASF_REGS_DIS = 1<<18,/* Disable Clock ASF (Yukon-Ext.) */ + P_CLK_COR_REGS_D0_DIS = 1<<17,/* Disable Clock Core Regs D0 */ + P_CLK_MACSEC_DIS = 1<<17,/* Disable Clock MACSec (Yukon-Ext.) */ + P_CLK_PCI_REGS_D0_DIS = 1<<16,/* Disable Clock PCI Regs D0 */ + P_CLK_COR_YTB_ARB_DIS = 1<<15,/* Disable Clock YTB Arbiter */ + P_CLK_MAC_LNK1_D3_DIS = 1<<14,/* Disable Clock MAC Link1 D3 */ + P_CLK_COR_LNK1_D0_DIS = 1<<13,/* Disable Clock Core Link1 D0 */ + P_CLK_MAC_LNK1_D0_DIS = 1<<12,/* Disable Clock MAC Link1 D0 */ + P_CLK_COR_LNK1_D3_DIS = 1<<11,/* Disable Clock Core Link1 D3 */ + P_CLK_PCI_MST_ARB_DIS = 1<<10,/* Disable Clock PCI Master Arb. */ + P_CLK_COR_REGS_D3_DIS = 1<<9, /* Disable Clock Core Regs D3 */ + P_CLK_PCI_REGS_D3_DIS = 1<<8, /* Disable Clock PCI Regs D3 */ + P_CLK_REF_LNK1_GM_DIS = 1<<7, /* Disable Clock Ref. Link1 GMAC */ + P_CLK_COR_LNK1_GM_DIS = 1<<6, /* Disable Clock Core Link1 GMAC */ + P_CLK_PCI_COMMON_DIS = 1<<5, /* Disable Clock PCI Common */ + P_CLK_COR_COMMON_DIS = 1<<4, /* Disable Clock Core Common */ + P_CLK_PCI_LNK1_BMU_DIS = 1<<3, /* Disable Clock PCI Link1 BMU */ + P_CLK_COR_LNK1_BMU_DIS = 1<<2, /* Disable Clock Core Link1 BMU */ + P_CLK_PCI_LNK1_BIU_DIS = 1<<1, /* Disable Clock PCI Link1 BIU */ + P_CLK_COR_LNK1_BIU_DIS = 1<<0, /* Disable Clock Core Link1 BIU */ + PCIE_OUR3_WOL_D3_COLD_SET = P_CLK_ASF_REGS_DIS | + P_CLK_COR_REGS_D0_DIS | + P_CLK_COR_LNK1_D0_DIS | + P_CLK_MAC_LNK1_D0_DIS | + P_CLK_PCI_MST_ARB_DIS | + P_CLK_COR_COMMON_DIS | + P_CLK_COR_LNK1_BMU_DIS, +}; + /* PCI_OUR_REG_4 32 bit Our Register 4 (Yukon-ECU only) */ enum pci_dev_reg_4 { /* (Link Training & Status State Machine) */ @@ -114,7 +152,7 @@ P_GAT_PCIE_RX_EL_IDLE, }; -#/* PCI_CFG_REG_1 32 bit Config Register 1 (Yukon-Ext only) */ +/* PCI_CFG_REG_1 32 bit Config Register 1 (Yukon-Ext only) */ enum pci_cfg_reg1 { P_CF1_DIS_REL_EVT_RST = 1<<24, /* Dis. Rel. Event during PCIE reset */ /* Bit 23..21: Release Clock on Event */ @@ -145,6 +183,72 @@ P_CF1_ENA_TXBMU_WR_IDLE, }; +/* Yukon-Optima */ +enum { + PSM_CONFIG_REG1_AC_PRESENT_STATUS = 1<<31, /* AC Present Status */ + + PSM_CONFIG_REG1_PTP_CLK_SEL = 1<<29, /* PTP Clock Select */ + PSM_CONFIG_REG1_PTP_MODE = 1<<28, /* PTP Mode */ + + PSM_CONFIG_REG1_MUX_PHY_LINK = 1<<27, /* PHY Energy Detect Event */ + + PSM_CONFIG_REG1_EN_PIN63_AC_PRESENT = 1<<26, /* Enable LED_DUPLEX for ac_present */ + PSM_CONFIG_REG1_EN_PCIE_TIMER = 1<<25, /* Enable PCIe Timer */ + PSM_CONFIG_REG1_EN_SPU_TIMER = 1<<24, /* Enable SPU Timer */ + PSM_CONFIG_REG1_POLARITY_AC_PRESENT = 1<<23, /* AC Present Polarity */ + + PSM_CONFIG_REG1_EN_AC_PRESENT = 1<<21, /* Enable AC Present */ + + PSM_CONFIG_REG1_EN_GPHY_INT_PSM = 1<<20, /* Enable GPHY INT for PSM */ + PSM_CONFIG_REG1_DIS_PSM_TIMER = 1<<19, /* Disable PSM Timer */ +}; + +/* Yukon-Supreme */ +enum { + PSM_CONFIG_REG1_GPHY_ENERGY_STS = 1<<31, /* GPHY Energy Detect Status */ + + PSM_CONFIG_REG1_UART_MODE_MSK = 3<<29, /* UART_Mode */ + PSM_CONFIG_REG1_CLK_RUN_ASF = 1<<28, /* Enable Clock Free Running for ASF Subsystem */ + PSM_CONFIG_REG1_UART_CLK_DISABLE= 1<<27, /* Disable UART clock */ + PSM_CONFIG_REG1_VAUX_ONE = 1<<26, /* Tie internal Vaux to 1'b1 */ + PSM_CONFIG_REG1_UART_FC_RI_VAL = 1<<25, /* Default value for UART_RI_n */ + PSM_CONFIG_REG1_UART_FC_DCD_VAL = 1<<24, /* Default value for UART_DCD_n */ + PSM_CONFIG_REG1_UART_FC_DSR_VAL = 1<<23, /* Default value for UART_DSR_n */ + PSM_CONFIG_REG1_UART_FC_CTS_VAL = 1<<22, /* Default value for UART_CTS_n */ + PSM_CONFIG_REG1_LATCH_VAUX = 1<<21, /* Enable Latch current Vaux_avlbl */ + PSM_CONFIG_REG1_FORCE_TESTMODE_INPUT= 1<<20, /* Force Testmode pin as input PAD */ + PSM_CONFIG_REG1_UART_RST = 1<<19, /* UART_RST */ + PSM_CONFIG_REG1_PSM_PCIE_L1_POL = 1<<18, /* PCIE L1 Event Polarity for PSM */ + PSM_CONFIG_REG1_TIMER_STAT = 1<<17, /* PSM Timer Status */ + PSM_CONFIG_REG1_GPHY_INT = 1<<16, /* GPHY INT Status */ + PSM_CONFIG_REG1_FORCE_TESTMODE_ZERO= 1<<15, /* Force internal Testmode as 1'b0 */ + PSM_CONFIG_REG1_EN_INT_ASPM_CLKREQ = 1<<14, /* ENABLE INT for CLKRUN on ASPM and CLKREQ */ + PSM_CONFIG_REG1_EN_SND_TASK_ASPM_CLKREQ = 1<<13, /* ENABLE Snd_task for CLKRUN on ASPM and CLKREQ */ + PSM_CONFIG_REG1_DIS_CLK_GATE_SND_TASK = 1<<12, /* Disable CLK_GATE control snd_task */ + PSM_CONFIG_REG1_DIS_FF_CHIAN_SND_INTA = 1<<11, /* Disable flip-flop chain for sndmsg_inta */ + + PSM_CONFIG_REG1_DIS_LOADER = 1<<9, /* Disable Loader SM after PSM Goes back to IDLE */ + PSM_CONFIG_REG1_DO_PWDN = 1<<8, /* Do Power Down, Start PSM Scheme */ + PSM_CONFIG_REG1_DIS_PIG = 1<<7, /* Disable Plug-in-Go SM after PSM Goes back to IDLE */ + PSM_CONFIG_REG1_DIS_PERST = 1<<6, /* Disable Internal PCIe Reset after PSM Goes back to IDLE */ + PSM_CONFIG_REG1_EN_REG18_PD = 1<<5, /* Enable REG18 Power Down for PSM */ + PSM_CONFIG_REG1_EN_PSM_LOAD = 1<<4, /* Disable EEPROM Loader after PSM Goes back to IDLE */ + PSM_CONFIG_REG1_EN_PSM_HOT_RST = 1<<3, /* Enable PCIe Hot Reset for PSM */ + PSM_CONFIG_REG1_EN_PSM_PERST = 1<<2, /* Enable PCIe Reset Event for PSM */ + PSM_CONFIG_REG1_EN_PSM_PCIE_L1 = 1<<1, /* Enable PCIe L1 Event for PSM */ + PSM_CONFIG_REG1_EN_PSM = 1<<0, /* Enable PSM Scheme */ +}; + +/* PSM_CONFIG_REG4 0x0168 PSM Config Register 4 */ +enum { + /* PHY Link Detect Timer */ + PSM_CONFIG_REG4_TIMER_PHY_LINK_DETECT_MSK = 0xf<<4, + PSM_CONFIG_REG4_TIMER_PHY_LINK_DETECT_BASE = 4, + + PSM_CONFIG_REG4_DEBUG_TIMER = 1<<1, /* Debug Timer */ + PSM_CONFIG_REG4_RST_PHY_LINK_DETECT = 1<<0, /* Reset GPHY Link Detect */ +}; + #define PCI_STATUS_ERROR_BITS (PCI_STATUS_DETECTED_PARITY | \ PCI_STATUS_SIG_SYSTEM_ERROR | \ @@ -197,6 +301,9 @@ B2_I2C_IRQ = 0x0168, B2_I2C_SW = 0x016c, + Y2_PEX_PHY_DATA = 0x0170, + Y2_PEX_PHY_ADDR = 0x0172, + B3_RAM_ADDR = 0x0180, B3_RAM_DATA_LO = 0x0184, B3_RAM_DATA_HI = 0x0188, @@ -317,6 +424,10 @@ Y2_IS_CHK_TXS2 = 1<<9, /* Descriptor error TXS 2 */ Y2_IS_CHK_TXA2 = 1<<8, /* Descriptor error TXA 2 */ + Y2_IS_PSM_ACK = 1<<7, /* PSM Acknowledge (Yukon-Optima only) */ + Y2_IS_PTP_TIST = 1<<6, /* PTP Time Stamp (Yukon-Optima only) */ + Y2_IS_PHY_QLNK = 1<<5, /* PHY Quick Link (Yukon-Optima only) */ + Y2_IS_IRQ_PHY1 = 1<<4, /* Interrupt from PHY 1 */ Y2_IS_IRQ_MAC1 = 1<<3, /* Interrupt from MAC 1 */ Y2_IS_CHK_RX1 = 1<<2, /* Descriptor error Rx 1 */ @@ -435,6 +546,7 @@ CHIP_ID_YUKON_FE_P = 0xb8, /* YUKON-2 FE+ */ CHIP_ID_YUKON_SUPR = 0xb9, /* YUKON-2 Supreme */ CHIP_ID_YUKON_UL_2 = 0xba, /* YUKON-2 Ultra 2 */ + CHIP_ID_YUKON_OPT = 0xbc, /* YUKON-2 Optima */ }; enum yukon_ec_rev { CHIP_REV_YU_EC_A1 = 0, /* Chip Rev. for Yukon-EC A1/A0 */ @@ -459,6 +571,8 @@ }; enum yukon_supr_rev { CHIP_REV_YU_SU_A0 = 0, + CHIP_REV_YU_SU_B0 = 1, + CHIP_REV_YU_SU_B1 = 3, }; @@ -513,6 +627,12 @@ TIM_T_STEP = 1<<0, /* Test step */ }; +/* Y2_PEX_PHY_ADDR/DATA PEX PHY address and data reg (Yukon-2 only) */ +enum { + PEX_RD_ACCESS = 1<<31, /* Access Mode Read = 1, Write = 0 */ + PEX_DB_ACCESS = 1<<30, /* Access to debug register */ +}; + /* B3_RAM_ADDR 32 bit RAM Address, to read or write */ /* Bit 31..19: reserved */ #define RAM_ADR_RAN 0x0007ffffL /* Bit 18.. 0: RAM Address Range */ @@ -754,6 +874,42 @@ BMU_TX_CLR_IRQ_TCP = 1<<11, /* Clear IRQ on TCP segment length mismatch */ }; +/* TBMU_TEST 0x06B8 Transmit BMU Test Register */ +enum { + TBMU_TEST_BMU_TX_CHK_AUTO_OFF = 1<<31, /* BMU Tx Checksum Auto Calculation Disable */ + TBMU_TEST_BMU_TX_CHK_AUTO_ON = 1<<30, /* BMU Tx Checksum Auto Calculation Enable */ + TBMU_TEST_HOME_ADD_PAD_FIX1_EN = 1<<29, /* Home Address Paddiing FIX1 Enable */ + TBMU_TEST_HOME_ADD_PAD_FIX1_DIS = 1<<28, /* Home Address Paddiing FIX1 Disable */ + TBMU_TEST_ROUTING_ADD_FIX_EN = 1<<27, /* Routing Address Fix Enable */ + TBMU_TEST_ROUTING_ADD_FIX_DIS = 1<<26, /* Routing Address Fix Disable */ + TBMU_TEST_HOME_ADD_FIX_EN = 1<<25, /* Home address checksum fix enable */ + TBMU_TEST_HOME_ADD_FIX_DIS = 1<<24, /* Home address checksum fix disable */ + + TBMU_TEST_TEST_RSPTR_ON = 1<<22, /* Testmode Shadow Read Ptr On */ + TBMU_TEST_TEST_RSPTR_OFF = 1<<21, /* Testmode Shadow Read Ptr Off */ + TBMU_TEST_TESTSTEP_RSPTR = 1<<20, /* Teststep Shadow Read Ptr */ + + TBMU_TEST_TEST_RPTR_ON = 1<<18, /* Testmode Read Ptr On */ + TBMU_TEST_TEST_RPTR_OFF = 1<<17, /* Testmode Read Ptr Off */ + TBMU_TEST_TESTSTEP_RPTR = 1<<16, /* Teststep Read Ptr */ + + TBMU_TEST_TEST_WSPTR_ON = 1<<14, /* Testmode Shadow Write Ptr On */ + TBMU_TEST_TEST_WSPTR_OFF = 1<<13, /* Testmode Shadow Write Ptr Off */ + TBMU_TEST_TESTSTEP_WSPTR = 1<<12, /* Teststep Shadow Write Ptr */ + + TBMU_TEST_TEST_WPTR_ON = 1<<10, /* Testmode Write Ptr On */ + TBMU_TEST_TEST_WPTR_OFF = 1<<9, /* Testmode Write Ptr Off */ + TBMU_TEST_TESTSTEP_WPTR = 1<<8, /* Teststep Write Ptr */ + + TBMU_TEST_TEST_REQ_NB_ON = 1<<6, /* Testmode Req Nbytes/Addr On */ + TBMU_TEST_TEST_REQ_NB_OFF = 1<<5, /* Testmode Req Nbytes/Addr Off */ + TBMU_TEST_TESTSTEP_REQ_NB = 1<<4, /* Teststep Req Nbytes/Addr */ + + TBMU_TEST_TEST_DONE_IDX_ON = 1<<2, /* Testmode Done Index On */ + TBMU_TEST_TEST_DONE_IDX_OFF = 1<<1, /* Testmode Done Index Off */ + TBMU_TEST_TESTSTEP_DONE_IDX = 1<<0, /* Teststep Done Index */ +}; + /* Queue Prefetch Unit Offsets, use Y2_QADDR() to address (Yukon-2 only)*/ /* PREF_UNIT_CTRL 32 bit Prefetch Control register */ enum { @@ -1674,6 +1830,12 @@ /* RX_GMF_CTRL_T 32 bit Rx GMAC FIFO Control/Test */ enum { + RX_GCLKMAC_ENA = 1<<31, /* RX MAC Clock Gating Enable */ + RX_GCLKMAC_OFF = 1<<30, + + RX_STFW_DIS = 1<<29, /* RX Store and Forward Enable */ + RX_STFW_ENA = 1<<28, + RX_TRUNC_ON = 1<<27, /* enable packet truncation */ RX_TRUNC_OFF = 1<<26, /* disable packet truncation */ RX_VLAN_STRIP_ON = 1<<25, /* enable VLAN stripping */ @@ -1711,6 +1873,20 @@ GMF_RX_CTRL_DEF = GMF_OPER_ON | GMF_RX_F_FL_ON, }; +/* RX_GMF_FL_CTRL 16 bit Rx GMAC FIFO Flush Control (Yukon-Supreme) */ +enum { + RX_IPV6_SA_MOB_ENA = 1<<9, /* IPv6 SA Mobility Support Enable */ + RX_IPV6_SA_MOB_DIS = 1<<8, /* IPv6 SA Mobility Support Disable */ + RX_IPV6_DA_MOB_ENA = 1<<7, /* IPv6 DA Mobility Support Enable */ + RX_IPV6_DA_MOB_DIS = 1<<6, /* IPv6 DA Mobility Support Disable */ + RX_PTR_SYNCDLY_ENA = 1<<5, /* Pointers Delay Synch Enable */ + RX_PTR_SYNCDLY_DIS = 1<<4, /* Pointers Delay Synch Disable */ + RX_ASF_NEWFLAG_ENA = 1<<3, /* RX ASF Flag New Logic Enable */ + RX_ASF_NEWFLAG_DIS = 1<<2, /* RX ASF Flag New Logic Disable */ + RX_FLSH_MISSPKT_ENA = 1<<1, /* RX Flush Miss-Packet Enable */ + RX_FLSH_MISSPKT_DIS = 1<<0, /* RX Flush Miss-Packet Disable */ +}; + /* TX_GMF_EA 32 bit Tx GMAC FIFO End Address */ enum { TX_DYN_WM_ENA = 3, /* Yukon-FE+ specific */ --- linux-2.6.32.orig/drivers/net/slip.c +++ linux-2.6.32/drivers/net/slip.c @@ -850,7 +850,9 @@ /* Done. We have linked the TTY line to a channel. */ rtnl_unlock(); tty->receive_room = 65536; /* We don't flow control */ - return sl->dev->base_addr; + + /* TTY layer expects 0 on success */ + return 0; err_free_bufs: sl_free_bufs(sl); --- linux-2.6.32.orig/drivers/net/smsc911x.c +++ linux-2.6.32/drivers/net/smsc911x.c @@ -85,8 +85,7 @@ */ spinlock_t mac_lock; - /* spinlock to ensure 16-bit accesses are serialised. - * unused with a 32-bit bus */ + /* spinlock to ensure register accesses are serialised */ spinlock_t dev_lock; struct phy_device *phy_dev; @@ -119,37 +118,33 @@ unsigned int hashlo; }; -/* The 16-bit access functions are significantly slower, due to the locking - * necessary. If your bus hardware can be configured to do this for you - * (in response to a single 32-bit operation from software), you should use - * the 32-bit access functions instead. */ - -static inline u32 smsc911x_reg_read(struct smsc911x_data *pdata, u32 reg) +static inline u32 __smsc911x_reg_read(struct smsc911x_data *pdata, u32 reg) { if (pdata->config.flags & SMSC911X_USE_32BIT) return readl(pdata->ioaddr + reg); - if (pdata->config.flags & SMSC911X_USE_16BIT) { - u32 data; - unsigned long flags; - - /* these two 16-bit reads must be performed consecutively, so - * must not be interrupted by our own ISR (which would start - * another read operation) */ - spin_lock_irqsave(&pdata->dev_lock, flags); - data = ((readw(pdata->ioaddr + reg) & 0xFFFF) | + if (pdata->config.flags & SMSC911X_USE_16BIT) + return ((readw(pdata->ioaddr + reg) & 0xFFFF) | ((readw(pdata->ioaddr + reg + 2) & 0xFFFF) << 16)); - spin_unlock_irqrestore(&pdata->dev_lock, flags); - - return data; - } BUG(); return 0; } -static inline void smsc911x_reg_write(struct smsc911x_data *pdata, u32 reg, - u32 val) +static inline u32 smsc911x_reg_read(struct smsc911x_data *pdata, u32 reg) +{ + u32 data; + unsigned long flags; + + spin_lock_irqsave(&pdata->dev_lock, flags); + data = __smsc911x_reg_read(pdata, reg); + spin_unlock_irqrestore(&pdata->dev_lock, flags); + + return data; +} + +static inline void __smsc911x_reg_write(struct smsc911x_data *pdata, u32 reg, + u32 val) { if (pdata->config.flags & SMSC911X_USE_32BIT) { writel(val, pdata->ioaddr + reg); @@ -157,44 +152,54 @@ } if (pdata->config.flags & SMSC911X_USE_16BIT) { - unsigned long flags; - - /* these two 16-bit writes must be performed consecutively, so - * must not be interrupted by our own ISR (which would start - * another read operation) */ - spin_lock_irqsave(&pdata->dev_lock, flags); writew(val & 0xFFFF, pdata->ioaddr + reg); writew((val >> 16) & 0xFFFF, pdata->ioaddr + reg + 2); - spin_unlock_irqrestore(&pdata->dev_lock, flags); return; } BUG(); } +static inline void smsc911x_reg_write(struct smsc911x_data *pdata, u32 reg, + u32 val) +{ + unsigned long flags; + + spin_lock_irqsave(&pdata->dev_lock, flags); + __smsc911x_reg_write(pdata, reg, val); + spin_unlock_irqrestore(&pdata->dev_lock, flags); +} + /* Writes a packet to the TX_DATA_FIFO */ static inline void smsc911x_tx_writefifo(struct smsc911x_data *pdata, unsigned int *buf, unsigned int wordcount) { + unsigned long flags; + + spin_lock_irqsave(&pdata->dev_lock, flags); + if (pdata->config.flags & SMSC911X_SWAP_FIFO) { while (wordcount--) - smsc911x_reg_write(pdata, TX_DATA_FIFO, swab32(*buf++)); - return; + __smsc911x_reg_write(pdata, TX_DATA_FIFO, + swab32(*buf++)); + goto out; } if (pdata->config.flags & SMSC911X_USE_32BIT) { writesl(pdata->ioaddr + TX_DATA_FIFO, buf, wordcount); - return; + goto out; } if (pdata->config.flags & SMSC911X_USE_16BIT) { while (wordcount--) - smsc911x_reg_write(pdata, TX_DATA_FIFO, *buf++); - return; + __smsc911x_reg_write(pdata, TX_DATA_FIFO, *buf++); + goto out; } BUG(); +out: + spin_unlock_irqrestore(&pdata->dev_lock, flags); } /* Reads a packet out of the RX_DATA_FIFO */ @@ -202,24 +207,31 @@ smsc911x_rx_readfifo(struct smsc911x_data *pdata, unsigned int *buf, unsigned int wordcount) { + unsigned long flags; + + spin_lock_irqsave(&pdata->dev_lock, flags); + if (pdata->config.flags & SMSC911X_SWAP_FIFO) { while (wordcount--) - *buf++ = swab32(smsc911x_reg_read(pdata, RX_DATA_FIFO)); - return; + *buf++ = swab32(__smsc911x_reg_read(pdata, + RX_DATA_FIFO)); + goto out; } if (pdata->config.flags & SMSC911X_USE_32BIT) { readsl(pdata->ioaddr + RX_DATA_FIFO, buf, wordcount); - return; + goto out; } if (pdata->config.flags & SMSC911X_USE_16BIT) { while (wordcount--) - *buf++ = smsc911x_reg_read(pdata, RX_DATA_FIFO); - return; + *buf++ = __smsc911x_reg_read(pdata, RX_DATA_FIFO); + goto out; } BUG(); +out: + spin_unlock_irqrestore(&pdata->dev_lock, flags); } /* waits for MAC not busy, with timeout. Only called by smsc911x_mac_read --- linux-2.6.32.orig/drivers/net/spider_net.c +++ linux-2.6.32/drivers/net/spider_net.c @@ -57,6 +57,7 @@ MODULE_DESCRIPTION("Spider Southbridge Gigabit Ethernet driver"); MODULE_LICENSE("GPL"); MODULE_VERSION(VERSION); +MODULE_FIRMWARE(SPIDER_NET_FIRMWARE_NAME); static int rx_descriptors = SPIDER_NET_RX_DESCRIPTORS_DEFAULT; static int tx_descriptors = SPIDER_NET_TX_DESCRIPTORS_DEFAULT; --- linux-2.6.32.orig/drivers/net/starfire.c +++ linux-2.6.32/drivers/net/starfire.c @@ -1063,7 +1063,7 @@ if (retval) { printk(KERN_ERR "starfire: Failed to load firmware \"%s\"\n", FIRMWARE_RX); - return retval; + goto out_init; } if (fw_rx->size % 4) { printk(KERN_ERR "starfire: bogus length %zu in \"%s\"\n", @@ -1108,6 +1108,9 @@ release_firmware(fw_tx); out_rx: release_firmware(fw_rx); +out_init: + if (retval) + netdev_close(dev); return retval; } --- linux-2.6.32.orig/drivers/net/tehuti.c +++ linux-2.6.32/drivers/net/tehuti.c @@ -324,7 +324,7 @@ ENTER; master = READ_REG(priv, regINIT_SEMAPHORE); if (!READ_REG(priv, regINIT_STATUS) && master) { - rc = request_firmware(&fw, "tehuti/firmware.bin", &priv->pdev->dev); + rc = request_firmware(&fw, "tehuti/bdx.bin", &priv->pdev->dev); if (rc) goto out; bdx_tx_push_desc_safe(priv, (char *)fw->data, fw->size); @@ -2524,4 +2524,4 @@ MODULE_LICENSE("GPL"); MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_DESCRIPTION(BDX_DRV_DESC); -MODULE_FIRMWARE("tehuti/firmware.bin"); +MODULE_FIRMWARE("tehuti/bdx.bin"); --- linux-2.6.32.orig/drivers/net/tg3.c +++ linux-2.6.32/drivers/net/tg3.c @@ -4995,7 +4995,7 @@ struct tg3 *tp = netdev_priv(dev); for (i = 0; i < tp->irq_cnt; i++) - tg3_interrupt(tp->napi[i].irq_vec, dev); + tg3_interrupt(tp->napi[i].irq_vec, &tp->napi[i]); } #endif @@ -5392,7 +5392,7 @@ mss = 0; if ((mss = skb_shinfo(skb)->gso_size) != 0) { struct iphdr *iph; - int tcp_opt_len, ip_tcp_len, hdr_len; + u32 tcp_opt_len, ip_tcp_len, hdr_len; if (skb_header_cloned(skb) && pskb_expand_head(skb, 0, 0, GFP_ATOMIC)) { @@ -5423,8 +5423,10 @@ IPPROTO_TCP, 0); - if ((tp->tg3_flags2 & TG3_FLG2_HW_TSO) || - (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705)) { + if (tp->tg3_flags2 & TG3_FLG2_HW_TSO_2) + mss |= hdr_len << 9; + else if ((tp->tg3_flags2 & TG3_FLG2_HW_TSO_1) || + GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705) { if (tcp_opt_len || iph->ihl > 5) { int tsflags; @@ -5459,6 +5461,9 @@ would_hit_hwbug = 0; + if ((tp->tg3_flags3 & TG3_FLG3_SHORT_DMA_BUG) && len <= 8) + would_hit_hwbug = 1; + if (tp->tg3_flags3 & TG3_FLG3_5701_DMA_BUG) would_hit_hwbug = 1; else if (tg3_4g_overflow_test(mapping, len)) @@ -5482,6 +5487,10 @@ tnapi->tx_buffers[entry].skb = NULL; + if ((tp->tg3_flags3 & TG3_FLG3_SHORT_DMA_BUG) && + len <= 8) + would_hit_hwbug = 1; + if (tg3_4g_overflow_test(mapping, len)) would_hit_hwbug = 1; @@ -8159,6 +8168,7 @@ pci_disable_msi(tp->pdev); tp->tg3_flags2 &= ~TG3_FLG2_USING_MSI; + tp->napi[0].irq_vec = tp->pdev->irq; err = tg3_request_irq(tp, 0); if (err) @@ -12608,6 +12618,9 @@ } } + if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906) + tp->tg3_flags3 |= TG3_FLG3_SHORT_DMA_BUG; + tp->irq_max = 1; #ifdef TG3_NAPI @@ -13975,8 +13988,7 @@ goto err_out_iounmap; } - if ((tp->tg3_flags3 & TG3_FLG3_5755_PLUS) || - GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906) + if (tp->tg3_flags3 & TG3_FLG3_5755_PLUS) dev->netdev_ops = &tg3_netdev_ops; else dev->netdev_ops = &tg3_netdev_ops_dma_bug; --- linux-2.6.32.orig/drivers/net/tg3.h +++ linux-2.6.32/drivers/net/tg3.h @@ -2759,6 +2759,9 @@ #define TG3_FLG3_TOGGLE_10_100_L1PLLPD 0x00008000 #define TG3_FLG3_PHY_IS_FET 0x00010000 #define TG3_FLG3_ENABLE_RSS 0x00020000 +#define TG3_FLG3_4G_DMA_BNDRY_BUG 0x00080000 +#define TG3_FLG3_40BIT_DMA_LIMIT_BUG 0x00100000 +#define TG3_FLG3_SHORT_DMA_BUG 0x00200000 struct timer_list timer; u16 timer_counter; --- linux-2.6.32.orig/drivers/net/tun.c +++ linux-2.6.32/drivers/net/tun.c @@ -721,8 +721,18 @@ gso.gso_type = VIRTIO_NET_HDR_GSO_TCPV6; else if (sinfo->gso_type & SKB_GSO_UDP) gso.gso_type = VIRTIO_NET_HDR_GSO_UDP; - else - BUG(); + else { + printk(KERN_ERR "tun: unexpected GSO type: " + "0x%x, gso_size %d, hdr_len %d\n", + sinfo->gso_type, gso.gso_size, + gso.hdr_len); + print_hex_dump(KERN_ERR, "tun: ", + DUMP_PREFIX_NONE, + 16, 1, skb->head, + min((int)gso.hdr_len, 64), true); + WARN_ON_ONCE(1); + return -EINVAL; + } if (sinfo->gso_type & SKB_GSO_TCP_ECN) gso.gso_type |= VIRTIO_NET_HDR_GSO_ECN; } else @@ -1006,7 +1016,8 @@ if (err < 0) goto err_free_sk; - if (device_create_file(&tun->dev->dev, &dev_attr_tun_flags) || + if (!net_eq(dev_net(tun->dev), &init_net) || + device_create_file(&tun->dev->dev, &dev_attr_tun_flags) || device_create_file(&tun->dev->dev, &dev_attr_owner) || device_create_file(&tun->dev->dev, &dev_attr_group)) printk(KERN_ERR "Failed to create tun sysfs files\n"); --- linux-2.6.32.orig/drivers/net/ucc_geth.c +++ linux-2.6.32/drivers/net/ucc_geth.c @@ -1563,7 +1563,10 @@ static void ugeth_quiesce(struct ucc_geth_private *ugeth) { - /* Wait for and prevent any further xmits. */ + /* Prevent any further xmits, plus detach the device. */ + netif_device_detach(ugeth->ndev); + + /* Wait for any current xmits to finish. */ netif_tx_disable(ugeth->ndev); /* Disable the interrupt to avoid NAPI rescheduling. */ @@ -1577,7 +1580,7 @@ { napi_enable(&ugeth->napi); enable_irq(ugeth->ug_info->uf_info.irq); - netif_tx_wake_all_queues(ugeth->ndev); + netif_device_attach(ugeth->ndev); } /* Called every time the controller might need to be made @@ -3273,13 +3276,12 @@ /* Handle the transmitted buffer and release */ /* the BD to be used with the current frame */ - if ((bd == ugeth->txBd[txQ]) && (netif_queue_stopped(dev) == 0)) + skb = ugeth->tx_skbuff[txQ][ugeth->skb_dirtytx[txQ]]; + if (!skb) break; dev->stats.tx_packets++; - skb = ugeth->tx_skbuff[txQ][ugeth->skb_dirtytx[txQ]]; - if (skb_queue_len(&ugeth->rx_recycle) < RX_BD_RING_LEN && skb_recycle_check(skb, ugeth->ug_info->uf_info.max_rx_buf_length + --- linux-2.6.32.orig/drivers/net/via-rhine.c +++ linux-2.6.32/drivers/net/via-rhine.c @@ -102,6 +102,7 @@ #include #include #include +#include #include /* Processor type for cache alignment. */ #include #include @@ -389,6 +390,7 @@ struct net_device *dev; struct napi_struct napi; spinlock_t lock; + struct work_struct reset_task; /* Frequently used values: keep some adjacent for cache effect. */ u32 quirks; @@ -407,6 +409,7 @@ static int mdio_read(struct net_device *dev, int phy_id, int location); static void mdio_write(struct net_device *dev, int phy_id, int location, int value); static int rhine_open(struct net_device *dev); +static void rhine_reset_task(struct work_struct *work); static void rhine_tx_timeout(struct net_device *dev); static netdev_tx_t rhine_start_tx(struct sk_buff *skb, struct net_device *dev); @@ -775,6 +778,8 @@ dev->irq = pdev->irq; spin_lock_init(&rp->lock); + INIT_WORK(&rp->reset_task, rhine_reset_task); + rp->mii_if.dev = dev; rp->mii_if.mdio_read = mdio_read; rp->mii_if.mdio_write = mdio_write; @@ -1179,22 +1184,18 @@ return 0; } -static void rhine_tx_timeout(struct net_device *dev) +static void rhine_reset_task(struct work_struct *work) { - struct rhine_private *rp = netdev_priv(dev); - void __iomem *ioaddr = rp->base; - - printk(KERN_WARNING "%s: Transmit timed out, status %4.4x, PHY status " - "%4.4x, resetting...\n", - dev->name, ioread16(ioaddr + IntrStatus), - mdio_read(dev, rp->mii_if.phy_id, MII_BMSR)); + struct rhine_private *rp = container_of(work, struct rhine_private, + reset_task); + struct net_device *dev = rp->dev; /* protect against concurrent rx interrupts */ disable_irq(rp->pdev->irq); napi_disable(&rp->napi); - spin_lock(&rp->lock); + spin_lock_bh(&rp->lock); /* clear all descriptors */ free_tbufs(dev); @@ -1206,7 +1207,7 @@ rhine_chip_reset(dev); init_registers(dev); - spin_unlock(&rp->lock); + spin_unlock_bh(&rp->lock); enable_irq(rp->pdev->irq); dev->trans_start = jiffies; @@ -1214,6 +1215,19 @@ netif_wake_queue(dev); } +static void rhine_tx_timeout(struct net_device *dev) +{ + struct rhine_private *rp = netdev_priv(dev); + void __iomem *ioaddr = rp->base; + + printk(KERN_WARNING "%s: Transmit timed out, status %4.4x, PHY status " + "%4.4x, resetting...\n", + dev->name, ioread16(ioaddr + IntrStatus), + mdio_read(dev, rp->mii_if.phy_id, MII_BMSR)); + + schedule_work(&rp->reset_task); +} + static netdev_tx_t rhine_start_tx(struct sk_buff *skb, struct net_device *dev) { @@ -1830,10 +1844,11 @@ struct rhine_private *rp = netdev_priv(dev); void __iomem *ioaddr = rp->base; - spin_lock_irq(&rp->lock); - - netif_stop_queue(dev); napi_disable(&rp->napi); + cancel_work_sync(&rp->reset_task); + netif_stop_queue(dev); + + spin_lock_irq(&rp->lock); if (debug > 1) printk(KERN_DEBUG "%s: Shutting down ethercard, " --- linux-2.6.32.orig/drivers/net/via-velocity.c +++ linux-2.6.32/drivers/net/via-velocity.c @@ -2186,8 +2186,6 @@ /* Ensure chip is running */ pci_set_power_state(vptr->pdev, PCI_D0); - velocity_give_many_rx_descs(vptr); - velocity_init_registers(vptr, VELOCITY_INIT_COLD); ret = request_irq(vptr->pdev->irq, &velocity_intr, IRQF_SHARED, @@ -2199,6 +2197,8 @@ goto out; } + velocity_give_many_rx_descs(vptr); + mac_enable_int(vptr->mac_regs); netif_start_queue(dev); vptr->flags |= VELOCITY_FLAGS_OPENED; @@ -2287,10 +2287,10 @@ dev->mtu = new_mtu; - velocity_give_many_rx_descs(vptr); - velocity_init_registers(vptr, VELOCITY_INIT_COLD); + velocity_give_many_rx_descs(vptr); + mac_enable_int(vptr->mac_regs); netif_start_queue(dev); --- linux-2.6.32.orig/drivers/net/virtio_net.c +++ linux-2.6.32/drivers/net/virtio_net.c @@ -391,6 +391,20 @@ } } +static void virtnet_napi_enable(struct virtnet_info *vi) +{ + napi_enable(&vi->napi); + + /* If all buffers were filled by other side before we napi_enabled, we + * won't get another interrupt, so process any outstanding packets + * now. virtnet_poll wants re-enable the queue, so we disable here. + * We synchronize against interrupts via NAPI_STATE_SCHED */ + if (napi_schedule_prep(&vi->napi)) { + vi->rvq->vq_ops->disable_cb(vi->rvq); + __napi_schedule(&vi->napi); + } +} + static void refill_work(struct work_struct *work) { struct virtnet_info *vi; @@ -398,9 +412,8 @@ vi = container_of(work, struct virtnet_info, refill.work); napi_disable(&vi->napi); - try_fill_recv(vi, GFP_KERNEL); - still_empty = (vi->num == 0); - napi_enable(&vi->napi); + still_empty = !try_fill_recv(vi, GFP_KERNEL); + virtnet_napi_enable(vi); /* In theory, this can happen: if we don't get any buffers in * we will *never* try to fill again. */ @@ -512,7 +525,6 @@ struct virtnet_info *vi = netdev_priv(dev); int capacity; -again: /* Free up any pending old buffers before queueing new ones. */ free_old_xmit_skbs(vi); @@ -521,14 +533,20 @@ /* This can happen with OOM and indirect buffers. */ if (unlikely(capacity < 0)) { - netif_stop_queue(dev); - dev_warn(&dev->dev, "Unexpected full queue\n"); - if (unlikely(!vi->svq->vq_ops->enable_cb(vi->svq))) { - vi->svq->vq_ops->disable_cb(vi->svq); - netif_start_queue(dev); - goto again; + if (net_ratelimit()) { + if (likely(capacity == -ENOMEM)) { + dev_warn(&dev->dev, + "TX queue failure: out of memory\n"); + } else { + dev->stats.tx_fifo_errors++; + dev_warn(&dev->dev, + "Unexpected TX queue failure: %d\n", + capacity); + } } - return NETDEV_TX_BUSY; + dev->stats.tx_dropped++; + kfree_skb(skb); + return NETDEV_TX_OK; } vi->svq->vq_ops->kick(vi->svq); @@ -592,16 +610,7 @@ { struct virtnet_info *vi = netdev_priv(dev); - napi_enable(&vi->napi); - - /* If all buffers were filled by other side before we napi_enabled, we - * won't get another interrupt, so process any outstanding packets - * now. virtnet_poll wants re-enable the queue, so we disable here. - * We synchronize against interrupts via NAPI_STATE_SCHED */ - if (napi_schedule_prep(&vi->napi)) { - vi->rvq->vq_ops->disable_cb(vi->rvq); - __napi_schedule(&vi->napi); - } + virtnet_napi_enable(vi); return 0; } --- linux-2.6.32.orig/drivers/net/xen-netfront.c +++ linux-2.6.32/drivers/net/xen-netfront.c @@ -1619,6 +1619,7 @@ if (xennet_connect(netdev) != 0) break; xenbus_switch_state(dev, XenbusStateConnected); + netif_notify_peers(netdev); break; case XenbusStateClosing: --- linux-2.6.32.orig/drivers/net/zorro8390.c +++ linux-2.6.32/drivers/net/zorro8390.c @@ -125,7 +125,7 @@ board = z->resource.start; ioaddr = board+cards[i].offset; - dev = alloc_ei_netdev(); + dev = ____alloc_ei_netdev(0); if (!dev) return -ENOMEM; if (!request_mem_region(ioaddr, NE_IO_EXTENT*2, DRV_NAME)) { @@ -145,15 +145,15 @@ static const struct net_device_ops zorro8390_netdev_ops = { .ndo_open = zorro8390_open, .ndo_stop = zorro8390_close, - .ndo_start_xmit = ei_start_xmit, - .ndo_tx_timeout = ei_tx_timeout, - .ndo_get_stats = ei_get_stats, - .ndo_set_multicast_list = ei_set_multicast_list, + .ndo_start_xmit = __ei_start_xmit, + .ndo_tx_timeout = __ei_tx_timeout, + .ndo_get_stats = __ei_get_stats, + .ndo_set_multicast_list = __ei_set_multicast_list, .ndo_validate_addr = eth_validate_addr, .ndo_set_mac_address = eth_mac_addr, .ndo_change_mtu = eth_change_mtu, #ifdef CONFIG_NET_POLL_CONTROLLER - .ndo_poll_controller = ei_poll, + .ndo_poll_controller = __ei_poll, #endif }; --- linux-2.6.32.orig/drivers/net/bnx2x_main.c +++ linux-2.6.32/drivers/net/bnx2x_main.c @@ -49,6 +49,7 @@ #include #include #include +#include #include "bnx2x.h" @@ -63,8 +64,13 @@ #include #include "bnx2x_fw_file_hdr.h" /* FW files */ -#define FW_FILE_PREFIX_E1 "bnx2x-e1-" -#define FW_FILE_PREFIX_E1H "bnx2x-e1h-" +#define FW_FILE_VERSION \ + __stringify(BCM_5710_FW_MAJOR_VERSION) "." \ + __stringify(BCM_5710_FW_MINOR_VERSION) "." \ + __stringify(BCM_5710_FW_REVISION_VERSION) "." \ + __stringify(BCM_5710_FW_ENGINEERING_VERSION) +#define FW_FILE_NAME_E1 "bnx2x-e1-" FW_FILE_VERSION ".fw" +#define FW_FILE_NAME_E1H "bnx2x-e1h-" FW_FILE_VERSION ".fw" /* Time in jiffies before concluding the transmitter is hung */ #define TX_TIMEOUT (5*HZ) @@ -77,6 +83,8 @@ MODULE_DESCRIPTION("Broadcom NetXtreme II BCM57710/57711/57711E Driver"); MODULE_LICENSE("GPL"); MODULE_VERSION(DRV_MODULE_VERSION); +MODULE_FIRMWARE(FW_FILE_NAME_E1); +MODULE_FIRMWARE(FW_FILE_NAME_E1H); static int multi_mode = 1; module_param(multi_mode, int, 0); @@ -11830,21 +11838,14 @@ static int __devinit bnx2x_init_firmware(struct bnx2x *bp, struct device *dev) { - char fw_file_name[40] = {0}; + const char *fw_file_name; struct bnx2x_fw_file_hdr *fw_hdr; - int rc, offset; + int rc; - /* Create a FW file name */ if (CHIP_IS_E1(bp)) - offset = sprintf(fw_file_name, FW_FILE_PREFIX_E1); + fw_file_name = FW_FILE_NAME_E1; else - offset = sprintf(fw_file_name, FW_FILE_PREFIX_E1H); - - sprintf(fw_file_name + offset, "%d.%d.%d.%d.fw", - BCM_5710_FW_MAJOR_VERSION, - BCM_5710_FW_MINOR_VERSION, - BCM_5710_FW_REVISION_VERSION, - BCM_5710_FW_ENGINEERING_VERSION); + fw_file_name = FW_FILE_NAME_E1H; printk(KERN_INFO PFX "Loading %s\n", fw_file_name); --- linux-2.6.32.orig/drivers/net/arcnet/com20020-pci.c +++ linux-2.6.32/drivers/net/arcnet/com20020-pci.c @@ -165,8 +165,8 @@ { 0x1571, 0xa204, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ARC_CAN_10MBIT }, { 0x1571, 0xa205, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ARC_CAN_10MBIT }, { 0x1571, 0xa206, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ARC_CAN_10MBIT }, - { 0x10B5, 0x9030, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ARC_CAN_10MBIT }, - { 0x10B5, 0x9050, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ARC_CAN_10MBIT }, + { 0x10B5, 0x9030, 0x10B5, 0x2978, 0, 0, ARC_CAN_10MBIT }, + { 0x10B5, 0x9050, 0x10B5, 0x2273, 0, 0, ARC_CAN_10MBIT }, { 0x14BA, 0x6000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ARC_CAN_10MBIT }, { 0x10B5, 0x2200, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ARC_CAN_10MBIT }, {0,} --- linux-2.6.32.orig/drivers/net/atl1c/atl1c.h +++ linux-2.6.32/drivers/net/atl1c/atl1c.h @@ -534,6 +534,9 @@ #define __AT_TESTING 0x0001 #define __AT_RESETTING 0x0002 #define __AT_DOWN 0x0003 + u8 work_event; +#define ATL1C_WORK_EVENT_RESET 0x01 +#define ATL1C_WORK_EVENT_LINK_CHANGE 0x02 u32 msg_enable; bool have_msi; @@ -545,8 +548,7 @@ spinlock_t tx_lock; atomic_t irq_sem; - struct work_struct reset_task; - struct work_struct link_chg_task; + struct work_struct common_task; struct timer_list watchdog_timer; struct timer_list phy_config_timer; --- linux-2.6.32.orig/drivers/net/atl1c/atl1c_main.c +++ linux-2.6.32/drivers/net/atl1c/atl1c_main.c @@ -198,27 +198,12 @@ void atl1c_reinit_locked(struct atl1c_adapter *adapter) { - WARN_ON(in_interrupt()); atl1c_down(adapter); atl1c_up(adapter); clear_bit(__AT_RESETTING, &adapter->flags); } -static void atl1c_reset_task(struct work_struct *work) -{ - struct atl1c_adapter *adapter; - struct net_device *netdev; - - adapter = container_of(work, struct atl1c_adapter, reset_task); - netdev = adapter->netdev; - - netif_device_detach(netdev); - atl1c_down(adapter); - atl1c_up(adapter); - netif_device_attach(netdev); -} - static void atl1c_check_link_status(struct atl1c_adapter *adapter) { struct atl1c_hw *hw = &adapter->hw; @@ -275,18 +260,6 @@ } } -/* - * atl1c_link_chg_task - deal with link change event Out of interrupt context - * @netdev: network interface device structure - */ -static void atl1c_link_chg_task(struct work_struct *work) -{ - struct atl1c_adapter *adapter; - - adapter = container_of(work, struct atl1c_adapter, link_chg_task); - atl1c_check_link_status(adapter); -} - static void atl1c_link_chg_event(struct atl1c_adapter *adapter) { struct net_device *netdev = adapter->netdev; @@ -311,20 +284,40 @@ adapter->link_speed = SPEED_0; } } - schedule_work(&adapter->link_chg_task); + + adapter->work_event |= ATL1C_WORK_EVENT_LINK_CHANGE; + schedule_work(&adapter->common_task); } -static void atl1c_del_timer(struct atl1c_adapter *adapter) +static void atl1c_common_task(struct work_struct *work) { - del_timer_sync(&adapter->phy_config_timer); + struct atl1c_adapter *adapter; + struct net_device *netdev; + + adapter = container_of(work, struct atl1c_adapter, common_task); + netdev = adapter->netdev; + + if (adapter->work_event & ATL1C_WORK_EVENT_RESET) { + netif_device_detach(netdev); + atl1c_down(adapter); + atl1c_up(adapter); + netif_device_attach(netdev); + return; + } + + if (adapter->work_event & ATL1C_WORK_EVENT_LINK_CHANGE) + atl1c_check_link_status(adapter); + + return; } -static void atl1c_cancel_work(struct atl1c_adapter *adapter) + +static void atl1c_del_timer(struct atl1c_adapter *adapter) { - cancel_work_sync(&adapter->reset_task); - cancel_work_sync(&adapter->link_chg_task); + del_timer_sync(&adapter->phy_config_timer); } + /* * atl1c_tx_timeout - Respond to a Tx Hang * @netdev: network interface device structure @@ -334,7 +327,8 @@ struct atl1c_adapter *adapter = netdev_priv(netdev); /* Do the reset outside of interrupt context */ - schedule_work(&adapter->reset_task); + adapter->work_event |= ATL1C_WORK_EVENT_RESET; + schedule_work(&adapter->common_task); } /* @@ -1536,7 +1530,8 @@ /* reset MAC */ hw->intr_mask &= ~ISR_ERROR; AT_WRITE_REG(hw, REG_IMR, hw->intr_mask); - schedule_work(&adapter->reset_task); + adapter->work_event |= ATL1C_WORK_EVENT_RESET; + schedule_work(&adapter->common_task); break; } @@ -1981,8 +1976,6 @@ else { use_tpd = atl1c_get_tpd(adapter, type); memcpy(use_tpd, tpd, sizeof(struct atl1c_tpd_desc)); - use_tpd = atl1c_get_tpd(adapter, type); - memcpy(use_tpd, tpd, sizeof(struct atl1c_tpd_desc)); } buffer_info = atl1c_get_tx_buffer(adapter, use_tpd); buffer_info->length = buf_len - mapped_len; @@ -2200,8 +2193,7 @@ struct net_device *netdev = adapter->netdev; atl1c_del_timer(adapter); - atl1c_cancel_work(adapter); - + adapter->work_event = 0; /* clear all event */ /* signal that we're down so the interrupt handler does not * reschedule our watchdog timer */ set_bit(__AT_DOWN, &adapter->flags); @@ -2601,8 +2593,8 @@ adapter->hw.mac_addr[4], adapter->hw.mac_addr[5]); atl1c_hw_set_mac_addr(&adapter->hw); - INIT_WORK(&adapter->reset_task, atl1c_reset_task); - INIT_WORK(&adapter->link_chg_task, atl1c_link_chg_task); + INIT_WORK(&adapter->common_task, atl1c_common_task); + adapter->work_event = 0; err = register_netdev(netdev); if (err) { dev_err(&pdev->dev, "register netdevice failed\n"); --- linux-2.6.32.orig/drivers/net/atl1e/atl1e_ethtool.c +++ linux-2.6.32/drivers/net/atl1e/atl1e_ethtool.c @@ -394,11 +394,13 @@ .get_eeprom = atl1e_get_eeprom, .set_eeprom = atl1e_set_eeprom, .get_tx_csum = atl1e_get_tx_csum, + .set_tx_csum = ethtool_op_set_tx_hw_csum, .get_sg = ethtool_op_get_sg, .set_sg = ethtool_op_set_sg, #ifdef NETIF_F_TSO .get_tso = ethtool_op_get_tso, #endif + .set_tso = ethtool_op_set_tso, }; void atl1e_set_ethtool_ops(struct net_device *netdev) --- linux-2.6.32.orig/drivers/net/atl1e/atl1e_main.c +++ linux-2.6.32/drivers/net/atl1e/atl1e_main.c @@ -1666,41 +1666,6 @@ } return 0; } - - if (offload_type & SKB_GSO_TCPV6) { - real_len = (((unsigned char *)ipv6_hdr(skb) - skb->data) - + ntohs(ipv6_hdr(skb)->payload_len)); - if (real_len < skb->len) - pskb_trim(skb, real_len); - - /* check payload == 0 byte ? */ - hdr_len = (skb_transport_offset(skb) + tcp_hdrlen(skb)); - if (unlikely(skb->len == hdr_len)) { - /* only xsum need */ - dev_warn(&pdev->dev, - "IPV6 tso with zero data??\n"); - goto check_sum; - } else { - tcp_hdr(skb)->check = ~csum_ipv6_magic( - &ipv6_hdr(skb)->saddr, - &ipv6_hdr(skb)->daddr, - 0, IPPROTO_TCP, 0); - tpd->word3 |= 1 << TPD_IP_VERSION_SHIFT; - hdr_len >>= 1; - tpd->word3 |= (hdr_len & TPD_V6_IPHLLO_MASK) << - TPD_V6_IPHLLO_SHIFT; - tpd->word3 |= ((hdr_len >> 3) & - TPD_V6_IPHLHI_MASK) << - TPD_V6_IPHLHI_SHIFT; - tpd->word3 |= (tcp_hdrlen(skb) >> 2 & - TPD_TCPHDRLEN_MASK) << - TPD_TCPHDRLEN_SHIFT; - tpd->word3 |= ((skb_shinfo(skb)->gso_size) & - TPD_MSS_MASK) << TPD_MSS_SHIFT; - tpd->word3 |= 1 << TPD_SEGMENT_EN_SHIFT; - } - } - return 0; } check_sum: @@ -2289,7 +2254,6 @@ NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; netdev->features |= NETIF_F_LLTX; netdev->features |= NETIF_F_TSO; - netdev->features |= NETIF_F_TSO6; return 0; } --- linux-2.6.32.orig/drivers/net/atlx/atl1.c +++ linux-2.6.32/drivers/net/atlx/atl1.c @@ -2856,10 +2856,11 @@ pci_enable_wake(pdev, PCI_D3cold, 0); atl1_reset_hw(&adapter->hw); - adapter->cmb.cmb->int_stats = 0; - if (netif_running(netdev)) + if (netif_running(netdev)) { + adapter->cmb.cmb->int_stats = 0; atl1_up(adapter); + } netif_device_attach(netdev); return 0; --- linux-2.6.32.orig/drivers/net/benet/be.h +++ linux-2.6.32/drivers/net/benet/be.h @@ -35,20 +35,31 @@ #define DRV_VER "2.101.205" #define DRV_NAME "be2net" #define BE_NAME "ServerEngines BladeEngine2 10Gbps NIC" +#define BE3_NAME "ServerEngines BladeEngine3 10Gbps NIC" #define OC_NAME "Emulex OneConnect 10Gbps NIC" +#define OC_NAME1 "Emulex OneConnect 10Gbps NIC (be3)" #define DRV_DESC BE_NAME "Driver" #define BE_VENDOR_ID 0x19a2 #define BE_DEVICE_ID1 0x211 +#define BE_DEVICE_ID2 0x221 #define OC_DEVICE_ID1 0x700 #define OC_DEVICE_ID2 0x701 +#define OC_DEVICE_ID3 0x710 static inline char *nic_name(struct pci_dev *pdev) { - if (pdev->device == OC_DEVICE_ID1 || pdev->device == OC_DEVICE_ID2) + switch (pdev->device) { + case OC_DEVICE_ID1: + case OC_DEVICE_ID2: return OC_NAME; - else + case OC_DEVICE_ID3: + return OC_NAME1; + case BE_DEVICE_ID2: + return BE3_NAME; + default: return BE_NAME; + } } /* Number of bytes of an RX frame that are copied to skb->data */ @@ -154,6 +165,7 @@ ulong be_tx_jiffies; u64 be_tx_bytes; u64 be_tx_bytes_prev; + u64 be_tx_pkts; u32 be_tx_rate; u32 cache_barrier[16]; @@ -165,6 +177,7 @@ ulong be_rx_jiffies; u64 be_rx_bytes; u64 be_rx_bytes_prev; + u64 be_rx_pkts; u32 be_rx_rate; /* number of non ether type II frames dropped where * frame len > length field of Mac Hdr */ @@ -261,8 +274,13 @@ u32 cap; u32 rx_fc; /* Rx flow control */ u32 tx_fc; /* Tx flow control */ + u8 generation; /* BladeEngine ASIC generation */ }; +/* BladeEngine Generation numbers */ +#define BE_GEN2 2 +#define BE_GEN3 3 + extern const struct ethtool_ops be_ethtool_ops; #define drvr_stats(adapter) (&adapter->stats.drvr_stats) --- linux-2.6.32.orig/drivers/net/benet/be_cmds.h +++ linux-2.6.32/drivers/net/benet/be_cmds.h @@ -154,7 +154,8 @@ u8 domain; /* dword 0 */ u32 timeout; /* dword 1 */ u32 request_length; /* dword 2 */ - u32 rsvd; /* dword 3 */ + u8 version; /* dword 3 */ + u8 rsvd[3]; /* dword 3 */ }; #define RESP_HDR_INFO_OPCODE_SHIFT 0 /* bits 0 - 7 */ --- linux-2.6.32.orig/drivers/net/benet/be_main.c +++ linux-2.6.32/drivers/net/benet/be_main.c @@ -31,8 +31,10 @@ static DEFINE_PCI_DEVICE_TABLE(be_dev_ids) = { { PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID1) }, + { PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID2) }, { PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID1) }, { PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID2) }, + { PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID3) }, { 0 } }; MODULE_DEVICE_TABLE(pci, be_dev_ids); @@ -144,13 +146,10 @@ struct net_device_stats *dev_stats = &adapter->stats.net_stats; struct be_erx_stats *erx_stats = &hw_stats->erx; - dev_stats->rx_packets = port_stats->rx_total_frames; - dev_stats->tx_packets = port_stats->tx_unicastframes + - port_stats->tx_multicastframes + port_stats->tx_broadcastframes; - dev_stats->rx_bytes = (u64) port_stats->rx_bytes_msd << 32 | - (u64) port_stats->rx_bytes_lsd; - dev_stats->tx_bytes = (u64) port_stats->tx_bytes_msd << 32 | - (u64) port_stats->tx_bytes_lsd; + dev_stats->rx_packets = drvr_stats(adapter)->be_rx_pkts; + dev_stats->tx_packets = drvr_stats(adapter)->be_tx_pkts; + dev_stats->rx_bytes = drvr_stats(adapter)->be_rx_bytes; + dev_stats->tx_bytes = drvr_stats(adapter)->be_tx_bytes; /* bad pkts received */ dev_stats->rx_errors = port_stats->rx_crc_errors + @@ -307,12 +306,13 @@ } static void be_tx_stats_update(struct be_adapter *adapter, - u32 wrb_cnt, u32 copied, bool stopped) + u32 wrb_cnt, u32 copied, u32 gso_segs, bool stopped) { struct be_drvr_stats *stats = drvr_stats(adapter); stats->be_tx_reqs++; stats->be_tx_wrbs += wrb_cnt; stats->be_tx_bytes += copied; + stats->be_tx_pkts += (gso_segs ? gso_segs : 1); if (stopped) stats->be_tx_stops++; } @@ -460,7 +460,8 @@ be_txq_notify(adapter, txq->id, wrb_cnt); - be_tx_stats_update(adapter, wrb_cnt, copied, stopped); + be_tx_stats_update(adapter, wrb_cnt, copied, + skb_shinfo(skb)->gso_segs, stopped); } else { txq->head = start; dev_kfree_skb_any(skb); @@ -603,6 +604,7 @@ stats->be_rx_compl++; stats->be_rx_frags += numfrags; stats->be_rx_bytes += pktsize; + stats->be_rx_pkts++; } static inline bool do_pkt_csum(struct be_eth_rx_compl *rxcp, bool cso) @@ -1942,6 +1944,7 @@ static int be_map_pci_bars(struct be_adapter *adapter) { u8 __iomem *addr; + int pcicfg_reg; addr = ioremap_nocache(pci_resource_start(adapter->pdev, 2), pci_resource_len(adapter->pdev, 2)); @@ -1955,8 +1958,13 @@ goto pci_map_err; adapter->db = addr; - addr = ioremap_nocache(pci_resource_start(adapter->pdev, 1), - pci_resource_len(adapter->pdev, 1)); + if (adapter->generation == BE_GEN2) + pcicfg_reg = 1; + else + pcicfg_reg = 0; + + addr = ioremap_nocache(pci_resource_start(adapter->pdev, pcicfg_reg), + pci_resource_len(adapter->pdev, pcicfg_reg)); if (addr == NULL) goto pci_map_err; adapter->pcicfg = addr; @@ -2026,6 +2034,7 @@ cmd->va = pci_alloc_consistent(adapter->pdev, cmd->size, &cmd->dma); if (cmd->va == NULL) return -1; + memset(cmd->va, 0, cmd->size); return 0; } @@ -2099,6 +2108,20 @@ goto rel_reg; } adapter = netdev_priv(netdev); + + switch (pdev->device) { + case BE_DEVICE_ID1: + case OC_DEVICE_ID1: + adapter->generation = BE_GEN2; + break; + case BE_DEVICE_ID2: + case OC_DEVICE_ID2: + adapter->generation = BE_GEN3; + break; + default: + adapter->generation = 0; + } + adapter->pdev = pdev; pci_set_drvdata(pdev, adapter); adapter->netdev = netdev; --- linux-2.6.32.orig/drivers/net/bonding/bond_3ad.c +++ linux-2.6.32/drivers/net/bonding/bond_3ad.c @@ -2451,6 +2451,13 @@ if (!(dev->flags & IFF_MASTER)) goto out; + skb = skb_share_check(skb, GFP_ATOMIC); + if (!skb) + goto out; + + if (!pskb_may_pull(skb, sizeof(struct lacpdu))) + goto out; + read_lock(&bond->lock); slave = bond_get_slave_by_dev((struct bonding *)netdev_priv(dev), orig_dev); --- linux-2.6.32.orig/drivers/net/bonding/bond_alb.c +++ linux-2.6.32/drivers/net/bonding/bond_alb.c @@ -370,6 +370,13 @@ goto out; } + skb = skb_share_check(skb, GFP_ATOMIC); + if (!skb) + goto out; + + if (!pskb_may_pull(skb, arp_hdr_len(bond_dev))) + goto out; + if (skb->len < sizeof(struct arp_pkt)) { pr_debug("Packet is too small to be an ARP\n"); goto out; --- linux-2.6.32.orig/drivers/net/bonding/bond_ipv6.c +++ linux-2.6.32/drivers/net/bonding/bond_ipv6.c @@ -66,6 +66,13 @@ }; struct sk_buff *skb; + /* The Ethernet header is built in ndisc_send_skb(), not + * ndisc_build_skb(), so we cannot insert a VLAN tag. Only an + * out-of-line tag inserted by the hardware will work. + */ + if (vlan_id && !(slave_dev->features & NETIF_F_HW_VLAN_TX)) + return; + icmp6h.icmp6_router = router; icmp6h.icmp6_solicited = 0; icmp6h.icmp6_override = 1; @@ -84,7 +91,7 @@ } if (vlan_id) { - skb = vlan_put_tag(skb, vlan_id); + skb = __vlan_hwaccel_put_tag(skb, vlan_id); if (!skb) { pr_err(DRV_NAME ": failed to insert VLAN tag\n"); return; --- linux-2.6.32.orig/drivers/net/bonding/bond_main.c +++ linux-2.6.32/drivers/net/bonding/bond_main.c @@ -2692,6 +2692,10 @@ if (!slave || !slave_do_arp_validate(bond, slave)) goto out_unlock; + skb = skb_share_check(skb, GFP_ATOMIC); + if (!skb) + goto out_unlock; + if (!pskb_may_pull(skb, arp_hdr_len(dev))) goto out_unlock; --- linux-2.6.32.orig/drivers/net/can/sja1000/sja1000.c +++ linux-2.6.32/drivers/net/can/sja1000/sja1000.c @@ -84,6 +84,20 @@ .brp_inc = 1, }; +static void sja1000_write_cmdreg(struct sja1000_priv *priv, u8 val) +{ + unsigned long flags; + + /* + * The command register needs some locking and time to settle + * the write_reg() operation - especially on SMP systems. + */ + spin_lock_irqsave(&priv->cmdreg_lock, flags); + priv->write_reg(priv, REG_CMR, val); + priv->read_reg(priv, REG_SR); + spin_unlock_irqrestore(&priv->cmdreg_lock, flags); +} + static int sja1000_probe_chip(struct net_device *dev) { struct sja1000_priv *priv = netdev_priv(dev); @@ -279,7 +293,7 @@ can_put_echo_skb(skb, dev, 0); - priv->write_reg(priv, REG_CMR, CMD_TR); + sja1000_write_cmdreg(priv, CMD_TR); return NETDEV_TX_OK; } @@ -334,7 +348,7 @@ cf->data[i++] = 0; /* release receive buffer */ - priv->write_reg(priv, REG_CMR, CMD_RRB); + sja1000_write_cmdreg(priv, CMD_RRB); netif_rx(skb); @@ -368,7 +382,7 @@ cf->data[1] = CAN_ERR_CRTL_RX_OVERFLOW; stats->rx_over_errors++; stats->rx_errors++; - priv->write_reg(priv, REG_CMR, CMD_CDO); /* clear bit */ + sja1000_write_cmdreg(priv, CMD_CDO); /* clear bit */ } if (isrc & IRQ_EI) { --- linux-2.6.32.orig/drivers/net/can/sja1000/sja1000.h +++ linux-2.6.32/drivers/net/can/sja1000/sja1000.h @@ -165,6 +165,7 @@ void __iomem *reg_base; /* ioremap'ed address to registers */ unsigned long irq_flags; /* for request_irq() */ + spinlock_t cmdreg_lock; /* lock for concurrent cmd register writes */ u16 flags; /* custom mode flags */ u8 ocr; /* output control register */ --- linux-2.6.32.orig/drivers/net/cxgb3/ael1002.c +++ linux-2.6.32/drivers/net/cxgb3/ael1002.c @@ -934,7 +934,7 @@ int t3_xaui_direct_phy_prep(struct cphy *phy, struct adapter *adapter, int phy_addr, const struct mdio_ops *mdio_ops) { - cphy_init(phy, adapter, MDIO_PRTAD_NONE, &xaui_direct_ops, mdio_ops, + cphy_init(phy, adapter, phy_addr, &xaui_direct_ops, mdio_ops, SUPPORTED_10000baseT_Full | SUPPORTED_AUI | SUPPORTED_TP, "10GBASE-CX4"); return 0; --- linux-2.6.32.orig/drivers/net/cxgb3/common.h +++ linux-2.6.32/drivers/net/cxgb3/common.h @@ -125,11 +125,9 @@ IRQ_NUM_STATS /* keep last */ }; -enum { - TP_VERSION_MAJOR = 1, - TP_VERSION_MINOR = 1, - TP_VERSION_MICRO = 0 -}; +#define TP_VERSION_MAJOR 1 +#define TP_VERSION_MINOR 1 +#define TP_VERSION_MICRO 0 #define S_TP_VERSION_MAJOR 16 #define M_TP_VERSION_MAJOR 0xFF --- linux-2.6.32.orig/drivers/net/cxgb3/cxgb3_main.c +++ linux-2.6.32/drivers/net/cxgb3/cxgb3_main.c @@ -44,6 +44,7 @@ #include #include #include +#include #include #include "common.h" @@ -989,11 +990,21 @@ return err; } -#define FW_FNAME "cxgb3/t3fw-%d.%d.%d.bin" -#define TPSRAM_NAME "cxgb3/t3%c_psram-%d.%d.%d.bin" +#define FW_VERSION __stringify(FW_VERSION_MAJOR) "." \ + __stringify(FW_VERSION_MINOR) "." __stringify(FW_VERSION_MICRO) +#define FW_FNAME "cxgb3/t3fw-" FW_VERSION ".bin" +#define TPSRAM_VERSION __stringify(TP_VERSION_MAJOR) "." \ + __stringify(TP_VERSION_MINOR) "." __stringify(TP_VERSION_MICRO) +#define TPSRAM_NAME "cxgb3/t3%c_psram-" TPSRAM_VERSION ".bin" #define AEL2005_OPT_EDC_NAME "cxgb3/ael2005_opt_edc.bin" #define AEL2005_TWX_EDC_NAME "cxgb3/ael2005_twx_edc.bin" #define AEL2020_TWX_EDC_NAME "cxgb3/ael2020_twx_edc.bin" +MODULE_FIRMWARE(FW_FNAME); +MODULE_FIRMWARE("cxgb3/t3b_psram-" TPSRAM_VERSION ".bin"); +MODULE_FIRMWARE("cxgb3/t3c_psram-" TPSRAM_VERSION ".bin"); +MODULE_FIRMWARE(AEL2005_OPT_EDC_NAME); +MODULE_FIRMWARE(AEL2005_TWX_EDC_NAME); +MODULE_FIRMWARE(AEL2020_TWX_EDC_NAME); static inline const char *get_edc_fw_name(int edc_idx) { @@ -1064,16 +1075,13 @@ static int upgrade_fw(struct adapter *adap) { int ret; - char buf[64]; const struct firmware *fw; struct device *dev = &adap->pdev->dev; - snprintf(buf, sizeof(buf), FW_FNAME, FW_VERSION_MAJOR, - FW_VERSION_MINOR, FW_VERSION_MICRO); - ret = request_firmware(&fw, buf, dev); + ret = request_firmware(&fw, FW_FNAME, dev); if (ret < 0) { dev_err(dev, "could not upgrade firmware: unable to load %s\n", - buf); + FW_FNAME); return ret; } ret = t3_load_fw(adap, fw->data, fw->size); @@ -1117,8 +1125,7 @@ if (!rev) return 0; - snprintf(buf, sizeof(buf), TPSRAM_NAME, rev, - TP_VERSION_MAJOR, TP_VERSION_MINOR, TP_VERSION_MICRO); + snprintf(buf, sizeof(buf), TPSRAM_NAME, rev); ret = request_firmware(&tpsram, buf, dev); if (ret < 0) { @@ -1274,6 +1281,7 @@ free_irq_resources(adapter); quiesce_rx(adapter); + t3_sge_stop(adapter); flush_workqueue(cxgb3_wq); /* wait for external IRQ handler */ } @@ -2274,6 +2282,8 @@ case CHELSIO_GET_QSET_NUM:{ struct ch_reg edata; + memset(&edata, 0, sizeof(struct ch_reg)); + edata.cmd = CHELSIO_GET_QSET_NUM; edata.val = pi->nqsets; if (copy_to_user(useraddr, &edata, sizeof(edata))) --- linux-2.6.32.orig/drivers/net/e1000/e1000.h +++ linux-2.6.32/drivers/net/e1000/e1000.h @@ -326,6 +326,8 @@ /* for ioport free */ int bars; int need_ioport; + + bool discarding; }; enum e1000_state_t { --- linux-2.6.32.orig/drivers/net/e1000/e1000_hw.c +++ linux-2.6.32/drivers/net/e1000/e1000_hw.c @@ -3842,6 +3842,12 @@ checksum += eeprom_data; } +#ifdef CONFIG_PARISC + /* This is a signature and not a checksum on HP c8000 */ + if ((hw->subsystem_vendor_id == 0x103C) && (eeprom_data == 0x16d6)) + return E1000_SUCCESS; + +#endif if (checksum == (u16) EEPROM_SUM) return E1000_SUCCESS; else { --- linux-2.6.32.orig/drivers/net/e1000/e1000_main.c +++ linux-2.6.32/drivers/net/e1000/e1000_main.c @@ -790,6 +790,70 @@ }; /** + * e1000_init_hw_struct - initialize members of hw struct + * @adapter: board private struct + * @hw: structure used by e1000_hw.c + * + * Factors out initialization of the e1000_hw struct to its own function + * that can be called very early at init (just after struct allocation). + * Fields are initialized based on PCI device information and + * OS network device settings (MTU size). + * Returns negative error codes if MAC type setup fails. + */ +static int e1000_init_hw_struct(struct e1000_adapter *adapter, + struct e1000_hw *hw) +{ + struct pci_dev *pdev = adapter->pdev; + + /* PCI config space info */ + hw->vendor_id = pdev->vendor; + hw->device_id = pdev->device; + hw->subsystem_vendor_id = pdev->subsystem_vendor; + hw->subsystem_id = pdev->subsystem_device; + hw->revision_id = pdev->revision; + + pci_read_config_word(pdev, PCI_COMMAND, &hw->pci_cmd_word); + + hw->max_frame_size = adapter->netdev->mtu + + ENET_HEADER_SIZE + ETHERNET_FCS_SIZE; + hw->min_frame_size = MINIMUM_ETHERNET_FRAME_SIZE; + + /* identify the MAC */ + if (e1000_set_mac_type(hw)) { + DPRINTK(PROBE, ERR, "Unknown MAC Type\n"); + return -EIO; + } + + switch (hw->mac_type) { + default: + break; + case e1000_82541: + case e1000_82547: + case e1000_82541_rev_2: + case e1000_82547_rev_2: + hw->phy_init_script = 1; + break; + } + + e1000_set_media_type(hw); + e1000_get_bus_info(hw); + + hw->wait_autoneg_complete = false; + hw->tbi_compatibility_en = true; + hw->adaptive_ifs = true; + + /* Copper options */ + + if (hw->media_type == e1000_media_type_copper) { + hw->mdix = AUTO_ALL_MODES; + hw->disable_polarity_correction = false; + hw->master_slave = E1000_MASTER_SLAVE; + } + + return 0; +} + +/** * e1000_probe - Device Initialization Routine * @pdev: PCI device information struct * @ent: entry in e1000_pci_tbl @@ -826,22 +890,6 @@ if (err) return err; - if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) && - !pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64))) { - pci_using_dac = 1; - } else { - err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); - if (err) { - err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)); - if (err) { - E1000_ERR("No usable DMA configuration, " - "aborting\n"); - goto err_dma; - } - } - pci_using_dac = 0; - } - err = pci_request_selected_regions(pdev, bars, e1000_driver_name); if (err) goto err_pci_reg; @@ -882,6 +930,32 @@ } } + /* make ready for any if (hw->...) below */ + err = e1000_init_hw_struct(adapter, hw); + if (err) + goto err_sw_init; + + /* + * there is a workaround being applied below that limits + * 64-bit DMA addresses to 64-bit hardware. There are some + * 32-bit adapters that Tx hang when given 64-bit DMA addresses + */ + pci_using_dac = 0; + if ((hw->bus_type == e1000_bus_type_pcix) && + !pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) { + /* + * according to DMA-API-HOWTO, coherent calls will always + * succeed if the set call did + */ + pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)); + pci_using_dac = 1; + } else if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) { + pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)); + } else { + E1000_ERR("No usable DMA configuration, aborting\n"); + goto err_dma; + } + netdev->netdev_ops = &e1000_netdev_ops; e1000_set_ethtool_ops(netdev); netdev->watchdog_timeo = 5 * HZ; @@ -956,8 +1030,6 @@ if (!is_valid_ether_addr(netdev->perm_addr)) DPRINTK(PROBE, ERR, "Invalid MAC Address\n"); - e1000_get_bus_info(hw); - init_timer(&adapter->tx_fifo_stall_timer); adapter->tx_fifo_stall_timer.function = &e1000_82547_tx_fifo_stall; adapter->tx_fifo_stall_timer.data = (unsigned long)adapter; @@ -1070,6 +1142,7 @@ iounmap(hw->flash_address); kfree(adapter->tx_ring); kfree(adapter->rx_ring); +err_dma: err_sw_init: iounmap(hw->hw_addr); err_ioremap: @@ -1077,7 +1150,6 @@ err_alloc_etherdev: pci_release_selected_regions(pdev, bars); err_pci_reg: -err_dma: pci_disable_device(pdev); return err; } @@ -1129,62 +1201,12 @@ * @adapter: board private structure to initialize * * e1000_sw_init initializes the Adapter private data structure. - * Fields are initialized based on PCI device information and - * OS network device settings (MTU size). + * e1000_init_hw_struct MUST be called before this function **/ static int __devinit e1000_sw_init(struct e1000_adapter *adapter) { - struct e1000_hw *hw = &adapter->hw; - struct net_device *netdev = adapter->netdev; - struct pci_dev *pdev = adapter->pdev; - - /* PCI config space info */ - - hw->vendor_id = pdev->vendor; - hw->device_id = pdev->device; - hw->subsystem_vendor_id = pdev->subsystem_vendor; - hw->subsystem_id = pdev->subsystem_device; - hw->revision_id = pdev->revision; - - pci_read_config_word(pdev, PCI_COMMAND, &hw->pci_cmd_word); - adapter->rx_buffer_len = MAXIMUM_ETHERNET_VLAN_SIZE; - hw->max_frame_size = netdev->mtu + - ENET_HEADER_SIZE + ETHERNET_FCS_SIZE; - hw->min_frame_size = MINIMUM_ETHERNET_FRAME_SIZE; - - /* identify the MAC */ - - if (e1000_set_mac_type(hw)) { - DPRINTK(PROBE, ERR, "Unknown MAC Type\n"); - return -EIO; - } - - switch (hw->mac_type) { - default: - break; - case e1000_82541: - case e1000_82547: - case e1000_82541_rev_2: - case e1000_82547_rev_2: - hw->phy_init_script = 1; - break; - } - - e1000_set_media_type(hw); - - hw->wait_autoneg_complete = false; - hw->tbi_compatibility_en = true; - hw->adaptive_ifs = true; - - /* Copper options */ - - if (hw->media_type == e1000_media_type_copper) { - hw->mdix = AUTO_ALL_MODES; - hw->disable_polarity_correction = false; - hw->master_slave = E1000_MASTER_SLAVE; - } adapter->num_tx_queues = 1; adapter->num_rx_queues = 1; @@ -1698,18 +1720,6 @@ rctl &= ~E1000_RCTL_SZ_4096; rctl |= E1000_RCTL_BSEX; switch (adapter->rx_buffer_len) { - case E1000_RXBUFFER_256: - rctl |= E1000_RCTL_SZ_256; - rctl &= ~E1000_RCTL_BSEX; - break; - case E1000_RXBUFFER_512: - rctl |= E1000_RCTL_SZ_512; - rctl &= ~E1000_RCTL_BSEX; - break; - case E1000_RXBUFFER_1024: - rctl |= E1000_RCTL_SZ_1024; - rctl &= ~E1000_RCTL_BSEX; - break; case E1000_RXBUFFER_2048: default: rctl |= E1000_RCTL_SZ_2048; @@ -3154,13 +3164,7 @@ * however with the new *_jumbo_rx* routines, jumbo receives will use * fragmented skbs */ - if (max_frame <= E1000_RXBUFFER_256) - adapter->rx_buffer_len = E1000_RXBUFFER_256; - else if (max_frame <= E1000_RXBUFFER_512) - adapter->rx_buffer_len = E1000_RXBUFFER_512; - else if (max_frame <= E1000_RXBUFFER_1024) - adapter->rx_buffer_len = E1000_RXBUFFER_1024; - else if (max_frame <= E1000_RXBUFFER_2048) + if (max_frame <= E1000_RXBUFFER_2048) adapter->rx_buffer_len = E1000_RXBUFFER_2048; else #if (PAGE_SIZE >= E1000_RXBUFFER_16384) @@ -3827,13 +3831,22 @@ length = le16_to_cpu(rx_desc->length); /* !EOP means multiple descriptors were used to store a single - * packet, also make sure the frame isn't just CRC only */ - if (unlikely(!(status & E1000_RXD_STAT_EOP) || (length <= 4))) { + * packet, if thats the case we need to toss it. In fact, we + * to toss every packet with the EOP bit clear and the next + * frame that _does_ have the EOP bit set, as it is by + * definition only a frame fragment + */ + if (unlikely(!(status & E1000_RXD_STAT_EOP))) + adapter->discarding = true; + + if (adapter->discarding) { /* All receives must fit into a single buffer */ E1000_DBG("%s: Receive packet consumed multiple" " buffers\n", netdev->name); /* recycle */ buffer_info->skb = skb; + if (status & E1000_RXD_STAT_EOP) + adapter->discarding = false; goto next_desc; } --- linux-2.6.32.orig/drivers/net/e1000e/e1000.h +++ linux-2.6.32/drivers/net/e1000e/e1000.h @@ -417,6 +417,7 @@ /* CRC Stripping defines */ #define FLAG2_CRC_STRIPPING (1 << 0) #define FLAG2_HAS_PHY_WAKEUP (1 << 1) +#define FLAG2_IS_DISCARDING (1 << 2) #define E1000_RX_DESC_PS(R, i) \ (&(((union e1000_rx_desc_packet_split *)((R).desc))[i])) --- linux-2.6.32.orig/drivers/net/e1000e/hw.h +++ linux-2.6.32/drivers/net/e1000e/hw.h @@ -304,7 +304,7 @@ #define E1000_KMRNCTRLSTA_DIAG_OFFSET 0x3 /* Kumeran Diagnostic */ #define E1000_KMRNCTRLSTA_DIAG_NELPBK 0x1000 /* Nearend Loopback mode */ #define E1000_KMRNCTRLSTA_K1_CONFIG 0x7 -#define E1000_KMRNCTRLSTA_K1_ENABLE 0x140E +#define E1000_KMRNCTRLSTA_K1_ENABLE 0x0002 #define E1000_KMRNCTRLSTA_K1_DISABLE 0x1400 #define IFE_PHY_EXTENDED_STATUS_CONTROL 0x10 @@ -356,6 +356,7 @@ #define E1000_DEV_ID_80003ES2LAN_COPPER_SPT 0x10BA #define E1000_DEV_ID_80003ES2LAN_SERDES_SPT 0x10BB +#define E1000_DEV_ID_ICH8_82567V_3 0x1501 #define E1000_DEV_ID_ICH8_IGP_M_AMT 0x1049 #define E1000_DEV_ID_ICH8_IGP_AMT 0x104A #define E1000_DEV_ID_ICH8_IGP_C 0x104B @@ -368,6 +369,7 @@ #define E1000_DEV_ID_ICH9_IGP_M_AMT 0x10F5 #define E1000_DEV_ID_ICH9_IGP_M 0x10BF #define E1000_DEV_ID_ICH9_IGP_M_V 0x10CB +#define E1000_DEV_ID_ICH9_IGP_M_V_2 0x10BE #define E1000_DEV_ID_ICH9_IGP_C 0x294C #define E1000_DEV_ID_ICH9_IFE 0x10C0 #define E1000_DEV_ID_ICH9_IFE_GT 0x10C3 --- linux-2.6.32.orig/drivers/net/e1000e/ich8lan.c +++ linux-2.6.32/drivers/net/e1000e/ich8lan.c @@ -274,6 +274,16 @@ phy->ops.write_phy_reg_locked = e1000_write_phy_reg_hv_locked; phy->autoneg_mask = AUTONEG_ADVERTISE_SPEED_DEFAULT; + /* + * Reset the PHY before any acccess to it. Doing so, ensures that + * the PHY is in a known good state before we read/write PHY registers. + * The generic reset is sufficient here, because we haven't determined + * the PHY type yet. + */ + ret_val = e1000e_phy_hw_reset_generic(hw); + if (ret_val) + goto out; + phy->id = e1000_phy_unknown; e1000e_get_phy_id(hw); phy->type = e1000e_get_phy_type_from_id(phy->id); @@ -287,6 +297,7 @@ phy->ops.commit_phy = e1000e_phy_sw_reset; } + out: return ret_val; } @@ -3209,6 +3220,7 @@ u32 phy_ctrl; switch (hw->mac.type) { + case e1000_ich8lan: case e1000_ich9lan: case e1000_ich10lan: case e1000_pchlan: --- linux-2.6.32.orig/drivers/net/e1000e/netdev.c +++ linux-2.6.32/drivers/net/e1000e/netdev.c @@ -482,14 +482,24 @@ length = le16_to_cpu(rx_desc->length); - /* !EOP means multiple descriptors were used to store a single - * packet, also make sure the frame isn't just CRC only */ - if (!(status & E1000_RXD_STAT_EOP) || (length <= 4)) { + /* + * !EOP means multiple descriptors were used to store a single + * packet, if that's the case we need to toss it. In fact, we + * need to toss every packet with the EOP bit clear and the + * next frame that _does_ have the EOP bit set, as it is by + * definition only a frame fragment + */ + if (unlikely(!(status & E1000_RXD_STAT_EOP))) + adapter->flags2 |= FLAG2_IS_DISCARDING; + + if (adapter->flags2 & FLAG2_IS_DISCARDING) { /* All receives must fit into a single buffer */ e_dbg("%s: Receive packet consumed multiple buffers\n", netdev->name); /* recycle */ buffer_info->skb = skb; + if (status & E1000_RXD_STAT_EOP) + adapter->flags2 &= ~FLAG2_IS_DISCARDING; goto next_desc; } @@ -655,6 +665,8 @@ i = 0; } + if (i == tx_ring->next_to_use) + break; eop = tx_ring->buffer_info[i].next_to_watch; eop_desc = E1000_TX_DESC(*tx_ring, eop); } @@ -747,10 +759,16 @@ PCI_DMA_FROMDEVICE); buffer_info->dma = 0; - if (!(staterr & E1000_RXD_STAT_EOP)) { + /* see !EOP comment in other rx routine */ + if (!(staterr & E1000_RXD_STAT_EOP)) + adapter->flags2 |= FLAG2_IS_DISCARDING; + + if (adapter->flags2 & FLAG2_IS_DISCARDING) { e_dbg("%s: Packet Split buffers didn't pick up the " "full packet\n", netdev->name); dev_kfree_skb_irq(skb); + if (staterr & E1000_RXD_STAT_EOP) + adapter->flags2 &= ~FLAG2_IS_DISCARDING; goto next_desc; } @@ -1120,6 +1138,7 @@ rx_ring->next_to_clean = 0; rx_ring->next_to_use = 0; + adapter->flags2 &= ~FLAG2_IS_DISCARDING; writel(0, adapter->hw.hw_addr + rx_ring->head); writel(0, adapter->hw.hw_addr + rx_ring->tail); @@ -2330,18 +2349,6 @@ rctl &= ~E1000_RCTL_SZ_4096; rctl |= E1000_RCTL_BSEX; switch (adapter->rx_buffer_len) { - case 256: - rctl |= E1000_RCTL_SZ_256; - rctl &= ~E1000_RCTL_BSEX; - break; - case 512: - rctl |= E1000_RCTL_SZ_512; - rctl &= ~E1000_RCTL_BSEX; - break; - case 1024: - rctl |= E1000_RCTL_SZ_1024; - rctl &= ~E1000_RCTL_BSEX; - break; case 2048: default: rctl |= E1000_RCTL_SZ_2048; @@ -3066,13 +3073,18 @@ /* disable SERR in case the MSI write causes a master abort */ pci_read_config_word(adapter->pdev, PCI_COMMAND, &pci_cmd); - pci_write_config_word(adapter->pdev, PCI_COMMAND, - pci_cmd & ~PCI_COMMAND_SERR); + if (pci_cmd & PCI_COMMAND_SERR) + pci_write_config_word(adapter->pdev, PCI_COMMAND, + pci_cmd & ~PCI_COMMAND_SERR); err = e1000_test_msi_interrupt(adapter); - /* restore previous setting of command word */ - pci_write_config_word(adapter->pdev, PCI_COMMAND, pci_cmd); + /* re-enable SERR */ + if (pci_cmd & PCI_COMMAND_SERR) { + pci_read_config_word(adapter->pdev, PCI_COMMAND, &pci_cmd); + pci_cmd |= PCI_COMMAND_SERR; + pci_write_config_word(adapter->pdev, PCI_COMMAND, pci_cmd); + } /* success ! */ if (!err) @@ -3795,7 +3807,7 @@ 0); cmd_length = E1000_TXD_CMD_IP; ipcse = skb_transport_offset(skb) - 1; - } else if (skb_shinfo(skb)->gso_type == SKB_GSO_TCPV6) { + } else if (skb_is_gso_v6(skb)) { ipv6_hdr(skb)->payload_len = 0; tcp_hdr(skb)->check = ~csum_ipv6_magic(&ipv6_hdr(skb)->saddr, @@ -4321,13 +4333,7 @@ * fragmented skbs */ - if (max_frame <= 256) - adapter->rx_buffer_len = 256; - else if (max_frame <= 512) - adapter->rx_buffer_len = 512; - else if (max_frame <= 1024) - adapter->rx_buffer_len = 1024; - else if (max_frame <= 2048) + if (max_frame <= 2048) adapter->rx_buffer_len = 2048; else adapter->rx_buffer_len = 4096; @@ -5180,7 +5186,8 @@ /* APME bit in EEPROM is mapped to WUC.APME */ eeprom_data = er32(WUC); eeprom_apme_mask = E1000_WUC_APME; - if (eeprom_data & E1000_WUC_PHY_WAKE) + if ((hw->mac.type > e1000_ich10lan) && + (eeprom_data & E1000_WUC_PHY_WAKE)) adapter->flags2 |= FLAG2_HAS_PHY_WAKEUP; } else if (adapter->flags & FLAG_APME_IN_CTRL3) { if (adapter->flags & FLAG_APME_CHECK_PORT_B && @@ -5361,6 +5368,7 @@ { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IGP_C), board_ich8lan }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IGP_M), board_ich8lan }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IGP_M_AMT), board_ich8lan }, + { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_82567V_3), board_ich8lan }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IFE), board_ich9lan }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IFE_G), board_ich9lan }, @@ -5371,6 +5379,7 @@ { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M), board_ich9lan }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M_AMT), board_ich9lan }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M_V), board_ich9lan }, + { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M_V_2), board_ich9lan }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_LM), board_ich9lan }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_LF), board_ich9lan }, --- linux-2.6.32.orig/drivers/net/ehea/ehea_ethtool.c +++ linux-2.6.32/drivers/net/ehea/ehea_ethtool.c @@ -53,15 +53,20 @@ cmd->duplex = -1; } - cmd->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_1000baseT_Full - | SUPPORTED_100baseT_Full | SUPPORTED_100baseT_Half - | SUPPORTED_10baseT_Full | SUPPORTED_10baseT_Half - | SUPPORTED_Autoneg | SUPPORTED_FIBRE); - - cmd->advertising = (ADVERTISED_10000baseT_Full | ADVERTISED_Autoneg - | ADVERTISED_FIBRE); + if (cmd->speed == SPEED_10000) { + cmd->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_FIBRE); + cmd->advertising = (ADVERTISED_10000baseT_Full | ADVERTISED_FIBRE); + cmd->port = PORT_FIBRE; + } else { + cmd->supported = (SUPPORTED_1000baseT_Full | SUPPORTED_100baseT_Full + | SUPPORTED_100baseT_Half | SUPPORTED_10baseT_Full + | SUPPORTED_10baseT_Half | SUPPORTED_Autoneg + | SUPPORTED_TP); + cmd->advertising = (ADVERTISED_1000baseT_Full | ADVERTISED_Autoneg + | ADVERTISED_TP); + cmd->port = PORT_TP; + } - cmd->port = PORT_FIBRE; cmd->autoneg = port->autoneg == 1 ? AUTONEG_ENABLE : AUTONEG_DISABLE; return 0; --- linux-2.6.32.orig/drivers/net/hamradio/6pack.c +++ linux-2.6.32/drivers/net/hamradio/6pack.c @@ -690,10 +690,10 @@ { struct sixpack *sp; - write_lock(&disc_data_lock); + write_lock_bh(&disc_data_lock); sp = tty->disc_data; tty->disc_data = NULL; - write_unlock(&disc_data_lock); + write_unlock_bh(&disc_data_lock); if (!sp) return; --- linux-2.6.32.orig/drivers/net/hamradio/mkiss.c +++ linux-2.6.32/drivers/net/hamradio/mkiss.c @@ -811,10 +811,10 @@ { struct mkiss *ax; - write_lock(&disc_data_lock); + write_lock_bh(&disc_data_lock); ax = tty->disc_data; tty->disc_data = NULL; - write_unlock(&disc_data_lock); + write_unlock_bh(&disc_data_lock); if (!ax) return; --- linux-2.6.32.orig/drivers/net/igb/e1000_82575.c +++ linux-2.6.32/drivers/net/igb/e1000_82575.c @@ -46,7 +46,10 @@ static s32 igb_init_hw_82575(struct e1000_hw *); static s32 igb_phy_hw_reset_sgmii_82575(struct e1000_hw *); static s32 igb_read_phy_reg_sgmii_82575(struct e1000_hw *, u32, u16 *); +static s32 igb_read_phy_reg_82580(struct e1000_hw *, u32, u16 *); +static s32 igb_write_phy_reg_82580(struct e1000_hw *, u32, u16); static s32 igb_reset_hw_82575(struct e1000_hw *); +static s32 igb_reset_hw_82580(struct e1000_hw *); static s32 igb_set_d0_lplu_state_82575(struct e1000_hw *, bool); static s32 igb_setup_copper_link_82575(struct e1000_hw *); static s32 igb_setup_serdes_link_82575(struct e1000_hw *); @@ -62,6 +65,12 @@ static s32 igb_read_mac_addr_82575(struct e1000_hw *); static s32 igb_set_pcie_completion_timeout(struct e1000_hw *hw); +static const u16 e1000_82580_rxpbs_table[] = + { 36, 72, 144, 1, 2, 4, 8, 16, + 35, 70, 140 }; +#define E1000_82580_RXPBS_TABLE_SIZE \ + (sizeof(e1000_82580_rxpbs_table)/sizeof(u16)) + static s32 igb_get_invariants_82575(struct e1000_hw *hw) { struct e1000_phy_info *phy = &hw->phy; @@ -81,12 +90,20 @@ break; case E1000_DEV_ID_82576: case E1000_DEV_ID_82576_NS: + case E1000_DEV_ID_82576_NS_SERDES: case E1000_DEV_ID_82576_FIBER: case E1000_DEV_ID_82576_SERDES: case E1000_DEV_ID_82576_QUAD_COPPER: case E1000_DEV_ID_82576_SERDES_QUAD: mac->type = e1000_82576; break; + case E1000_DEV_ID_82580_COPPER: + case E1000_DEV_ID_82580_FIBER: + case E1000_DEV_ID_82580_SERDES: + case E1000_DEV_ID_82580_SGMII: + case E1000_DEV_ID_82580_COPPER_DUAL: + mac->type = e1000_82580; + break; default: return -E1000_ERR_MAC_INIT; break; @@ -109,6 +126,7 @@ dev_spec->sgmii_active = true; ctrl_ext |= E1000_CTRL_I2C_ENA; break; + case E1000_CTRL_EXT_LINK_MODE_1000BASE_KX: case E1000_CTRL_EXT_LINK_MODE_PCIE_SERDES: hw->phy.media_type = e1000_media_type_internal_serdes; ctrl_ext |= E1000_CTRL_I2C_ENA; @@ -120,12 +138,26 @@ wr32(E1000_CTRL_EXT, ctrl_ext); + /* + * if using i2c make certain the MDICNFG register is cleared to prevent + * communications from being misrouted to the mdic registers + */ + if ((ctrl_ext & E1000_CTRL_I2C_ENA) && (hw->mac.type == e1000_82580)) + wr32(E1000_MDICNFG, 0); + /* Set mta register count */ mac->mta_reg_count = 128; /* Set rar entry count */ mac->rar_entry_count = E1000_RAR_ENTRIES_82575; if (mac->type == e1000_82576) mac->rar_entry_count = E1000_RAR_ENTRIES_82576; + if (mac->type == e1000_82580) + mac->rar_entry_count = E1000_RAR_ENTRIES_82580; + /* reset */ + if (mac->type == e1000_82580) + mac->ops.reset_hw = igb_reset_hw_82580; + else + mac->ops.reset_hw = igb_reset_hw_82575; /* Set if part includes ASF firmware */ mac->asf_firmware_present = true; /* Set if manageability features are enabled. */ @@ -193,6 +225,10 @@ phy->ops.reset = igb_phy_hw_reset_sgmii_82575; phy->ops.read_reg = igb_read_phy_reg_sgmii_82575; phy->ops.write_reg = igb_write_phy_reg_sgmii_82575; + } else if (hw->mac.type == e1000_82580) { + phy->ops.reset = igb_phy_hw_reset; + phy->ops.read_reg = igb_read_phy_reg_82580; + phy->ops.write_reg = igb_write_phy_reg_82580; } else { phy->ops.reset = igb_phy_hw_reset; phy->ops.read_reg = igb_read_phy_reg_igp; @@ -224,6 +260,12 @@ phy->ops.set_d0_lplu_state = igb_set_d0_lplu_state_82575; phy->ops.set_d3_lplu_state = igb_set_d3_lplu_state; break; + case I82580_I_PHY_ID: + phy->type = e1000_phy_82580; + phy->ops.force_speed_duplex = igb_phy_force_speed_duplex_82580; + phy->ops.get_cable_length = igb_get_cable_length_82580; + phy->ops.get_phy_info = igb_get_phy_info_82580; + break; default: return -E1000_ERR_PHY; } @@ -240,9 +282,10 @@ **/ static s32 igb_acquire_phy_82575(struct e1000_hw *hw) { - u16 mask; + u16 mask = E1000_SWFW_PHY0_SM; - mask = hw->bus.func ? E1000_SWFW_PHY1_SM : E1000_SWFW_PHY0_SM; + if (hw->bus.func == E1000_FUNC_1) + mask = E1000_SWFW_PHY1_SM; return igb_acquire_swfw_sync_82575(hw, mask); } @@ -256,9 +299,11 @@ **/ static void igb_release_phy_82575(struct e1000_hw *hw) { - u16 mask; + u16 mask = E1000_SWFW_PHY0_SM; + + if (hw->bus.func == E1000_FUNC_1) + mask = E1000_SWFW_PHY1_SM; - mask = hw->bus.func ? E1000_SWFW_PHY1_SM : E1000_SWFW_PHY0_SM; igb_release_swfw_sync_82575(hw, mask); } @@ -274,45 +319,23 @@ static s32 igb_read_phy_reg_sgmii_82575(struct e1000_hw *hw, u32 offset, u16 *data) { - struct e1000_phy_info *phy = &hw->phy; - u32 i, i2ccmd = 0; + s32 ret_val = -E1000_ERR_PARAM; if (offset > E1000_MAX_SGMII_PHY_REG_ADDR) { hw_dbg("PHY Address %u is out of range\n", offset); - return -E1000_ERR_PARAM; + goto out; } - /* - * Set up Op-code, Phy Address, and register address in the I2CCMD - * register. The MAC will take care of interfacing with the - * PHY to retrieve the desired data. - */ - i2ccmd = ((offset << E1000_I2CCMD_REG_ADDR_SHIFT) | - (phy->addr << E1000_I2CCMD_PHY_ADDR_SHIFT) | - (E1000_I2CCMD_OPCODE_READ)); - - wr32(E1000_I2CCMD, i2ccmd); + ret_val = hw->phy.ops.acquire(hw); + if (ret_val) + goto out; - /* Poll the ready bit to see if the I2C read completed */ - for (i = 0; i < E1000_I2CCMD_PHY_TIMEOUT; i++) { - udelay(50); - i2ccmd = rd32(E1000_I2CCMD); - if (i2ccmd & E1000_I2CCMD_READY) - break; - } - if (!(i2ccmd & E1000_I2CCMD_READY)) { - hw_dbg("I2CCMD Read did not complete\n"); - return -E1000_ERR_PHY; - } - if (i2ccmd & E1000_I2CCMD_ERROR) { - hw_dbg("I2CCMD Error bit set\n"); - return -E1000_ERR_PHY; - } + ret_val = igb_read_phy_reg_i2c(hw, offset, data); - /* Need to byte-swap the 16-bit value. */ - *data = ((i2ccmd >> 8) & 0x00FF) | ((i2ccmd << 8) & 0xFF00); + hw->phy.ops.release(hw); - return 0; +out: + return ret_val; } /** @@ -327,47 +350,24 @@ static s32 igb_write_phy_reg_sgmii_82575(struct e1000_hw *hw, u32 offset, u16 data) { - struct e1000_phy_info *phy = &hw->phy; - u32 i, i2ccmd = 0; - u16 phy_data_swapped; + s32 ret_val = -E1000_ERR_PARAM; + if (offset > E1000_MAX_SGMII_PHY_REG_ADDR) { hw_dbg("PHY Address %d is out of range\n", offset); - return -E1000_ERR_PARAM; + goto out; } - /* Swap the data bytes for the I2C interface */ - phy_data_swapped = ((data >> 8) & 0x00FF) | ((data << 8) & 0xFF00); - - /* - * Set up Op-code, Phy Address, and register address in the I2CCMD - * register. The MAC will take care of interfacing with the - * PHY to retrieve the desired data. - */ - i2ccmd = ((offset << E1000_I2CCMD_REG_ADDR_SHIFT) | - (phy->addr << E1000_I2CCMD_PHY_ADDR_SHIFT) | - E1000_I2CCMD_OPCODE_WRITE | - phy_data_swapped); + ret_val = hw->phy.ops.acquire(hw); + if (ret_val) + goto out; - wr32(E1000_I2CCMD, i2ccmd); + ret_val = igb_write_phy_reg_i2c(hw, offset, data); - /* Poll the ready bit to see if the I2C read completed */ - for (i = 0; i < E1000_I2CCMD_PHY_TIMEOUT; i++) { - udelay(50); - i2ccmd = rd32(E1000_I2CCMD); - if (i2ccmd & E1000_I2CCMD_READY) - break; - } - if (!(i2ccmd & E1000_I2CCMD_READY)) { - hw_dbg("I2CCMD Write did not complete\n"); - return -E1000_ERR_PHY; - } - if (i2ccmd & E1000_I2CCMD_ERROR) { - hw_dbg("I2CCMD Error bit set\n"); - return -E1000_ERR_PHY; - } + hw->phy.ops.release(hw); - return 0; +out: + return ret_val; } /** @@ -676,6 +676,10 @@ if (hw->bus.func == 1) mask = E1000_NVM_CFG_DONE_PORT_1; + else if (hw->bus.func == E1000_FUNC_2) + mask = E1000_NVM_CFG_DONE_PORT_2; + else if (hw->bus.func == E1000_FUNC_3) + mask = E1000_NVM_CFG_DONE_PORT_3; while (timeout) { if (rd32(E1000_EEMNGCTL) & mask) @@ -706,9 +710,7 @@ s32 ret_val; u16 speed, duplex; - /* SGMII link check is done through the PCS register. */ - if ((hw->phy.media_type != e1000_media_type_copper) || - (igb_sgmii_active_82575(hw))) { + if (hw->phy.media_type != e1000_media_type_copper) { ret_val = igb_get_pcs_speed_and_duplex_82575(hw, &speed, &duplex); /* @@ -723,6 +725,7 @@ return ret_val; } + /** * igb_get_pcs_speed_and_duplex_82575 - Retrieve current speed/duplex * @hw: pointer to the HW structure @@ -788,13 +791,27 @@ void igb_shutdown_serdes_link_82575(struct e1000_hw *hw) { u32 reg; + u16 eeprom_data = 0; if (hw->phy.media_type != e1000_media_type_internal_serdes || igb_sgmii_active_82575(hw)) return; - /* if the management interface is not enabled, then power down */ - if (!igb_enable_mng_pass_thru(hw)) { + if (hw->bus.func == E1000_FUNC_0) + hw->nvm.ops.read(hw, NVM_INIT_CONTROL3_PORT_A, 1, &eeprom_data); + else if (hw->mac.type == e1000_82580) + hw->nvm.ops.read(hw, NVM_INIT_CONTROL3_PORT_A + + NVM_82580_LAN_FUNC_OFFSET(hw->bus.func), 1, + &eeprom_data); + else if (hw->bus.func == E1000_FUNC_1) + hw->nvm.ops.read(hw, NVM_INIT_CONTROL3_PORT_B, 1, &eeprom_data); + + /* + * If APM is not enabled in the EEPROM and management interface is + * not enabled, then power down. + */ + if (!(eeprom_data & E1000_NVM_APME_82575) && + !igb_enable_mng_pass_thru(hw)) { /* Disable PCS to turn off link */ reg = rd32(E1000_PCS_CFG0); reg &= ~E1000_PCS_CFG_PCS_EN; @@ -908,6 +925,11 @@ for (i = 0; i < mac->mta_reg_count; i++) array_wr32(E1000_MTA, i, 0); + /* Zero out the Unicast HASH table */ + hw_dbg("Zeroing the UTA\n"); + for (i = 0; i < mac->uta_reg_count; i++) + array_wr32(E1000_UTA, i, 0); + /* Setup link and flow control */ ret_val = igb_setup_link(hw); @@ -934,18 +956,21 @@ { u32 ctrl; s32 ret_val; - bool link; ctrl = rd32(E1000_CTRL); ctrl |= E1000_CTRL_SLU; ctrl &= ~(E1000_CTRL_FRCSPD | E1000_CTRL_FRCDPX); wr32(E1000_CTRL, ctrl); + wrfl(); ret_val = igb_setup_serdes_link_82575(hw); if (ret_val) goto out; if (igb_sgmii_active_82575(hw) && !hw->phy.reset_disable) { + /* allow time for SFP cage time to power up phy */ + msleep(300); + ret_val = hw->phy.ops.reset(hw); if (ret_val) { hw_dbg("Error resetting the PHY.\n"); @@ -959,6 +984,9 @@ case e1000_phy_igp_3: ret_val = igb_copper_link_setup_igp(hw); break; + case e1000_phy_82580: + ret_val = igb_copper_link_setup_82580(hw); + break; default: ret_val = -E1000_ERR_PHY; break; @@ -967,57 +995,24 @@ if (ret_val) goto out; - if (hw->mac.autoneg) { - /* - * Setup autoneg and flow control advertisement - * and perform autonegotiation. - */ - ret_val = igb_copper_link_autoneg(hw); - if (ret_val) - goto out; - } else { - /* - * PHY will be set to 10H, 10F, 100H or 100F - * depending on user settings. - */ - hw_dbg("Forcing Speed and Duplex\n"); - ret_val = hw->phy.ops.force_speed_duplex(hw); - if (ret_val) { - hw_dbg("Error Forcing Speed and Duplex\n"); - goto out; - } - } - - /* - * Check link status. Wait up to 100 microseconds for link to become - * valid. - */ - ret_val = igb_phy_has_link(hw, COPPER_LINK_UP_LIMIT, 10, &link); - if (ret_val) - goto out; - - if (link) { - hw_dbg("Valid link established!!!\n"); - /* Config the MAC and PHY after link is up */ - igb_config_collision_dist(hw); - ret_val = igb_config_fc_after_link_up(hw); - } else { - hw_dbg("Unable to establish link!!!\n"); - } - + ret_val = igb_setup_copper_link(hw); out: return ret_val; } /** - * igb_setup_serdes_link_82575 - Setup link for fiber/serdes + * igb_setup_serdes_link_82575 - Setup link for serdes * @hw: pointer to the HW structure * - * Configures speed and duplex for fiber and serdes links. + * Configure the physical coding sub-layer (PCS) link. The PCS link is + * used on copper connections where the serialized gigabit media independent + * interface (sgmii), or serdes fiber is being used. Configures the link + * for auto-negotiation or forces speed/duplex. **/ static s32 igb_setup_serdes_link_82575(struct e1000_hw *hw) { - u32 ctrl_reg, reg; + u32 ctrl_ext, ctrl_reg, reg; + bool pcs_autoneg; if ((hw->phy.media_type != e1000_media_type_internal_serdes) && !igb_sgmii_active_82575(hw)) @@ -1032,9 +1027,9 @@ wr32(E1000_SCTL, E1000_SCTL_DISABLE_SERDES_LOOPBACK); /* power on the sfp cage if present */ - reg = rd32(E1000_CTRL_EXT); - reg &= ~E1000_CTRL_EXT_SDP3_DATA; - wr32(E1000_CTRL_EXT, reg); + ctrl_ext = rd32(E1000_CTRL_EXT); + ctrl_ext &= ~E1000_CTRL_EXT_SDP3_DATA; + wr32(E1000_CTRL_EXT, ctrl_ext); ctrl_reg = rd32(E1000_CTRL); ctrl_reg |= E1000_CTRL_SLU; @@ -1051,15 +1046,31 @@ reg = rd32(E1000_PCS_LCTL); - if (igb_sgmii_active_82575(hw)) { - /* allow time for SFP cage to power up phy */ - msleep(300); + /* default pcs_autoneg to the same setting as mac autoneg */ + pcs_autoneg = hw->mac.autoneg; - /* AN time out should be disabled for SGMII mode */ + switch (ctrl_ext & E1000_CTRL_EXT_LINK_MODE_MASK) { + case E1000_CTRL_EXT_LINK_MODE_SGMII: + /* sgmii mode lets the phy handle forcing speed/duplex */ + pcs_autoneg = true; + /* autoneg time out should be disabled for SGMII mode */ reg &= ~(E1000_PCS_LCTL_AN_TIMEOUT); - } else { + break; + case E1000_CTRL_EXT_LINK_MODE_1000BASE_KX: + /* disable PCS autoneg and support parallel detect only */ + pcs_autoneg = false; + default: + /* + * non-SGMII modes only supports a speed of 1000/Full for the + * link so it is best to just force the MAC and let the pcs + * link either autoneg or be forced to 1000/Full + */ ctrl_reg |= E1000_CTRL_SPD_1000 | E1000_CTRL_FRCSPD | E1000_CTRL_FD | E1000_CTRL_FRCDPX; + + /* set speed of 1000/Full if speed/duplex is forced */ + reg |= E1000_PCS_LCTL_FSV_1000 | E1000_PCS_LCTL_FDV_FULL; + break; } wr32(E1000_CTRL, ctrl_reg); @@ -1070,7 +1081,6 @@ * mode that will be compatible with older link partners and switches. * However, both are supported by the hardware and some drivers/tools. */ - reg &= ~(E1000_PCS_LCTL_AN_ENABLE | E1000_PCS_LCTL_FLV_LINK_UP | E1000_PCS_LCTL_FSD | E1000_PCS_LCTL_FORCE_LINK); @@ -1080,25 +1090,16 @@ */ reg |= E1000_PCS_LCTL_FORCE_FCTRL; - /* - * we always set sgmii to autoneg since it is the phy that will be - * forcing the link and the serdes is just a go-between - */ - if (hw->mac.autoneg || igb_sgmii_active_82575(hw)) { + if (pcs_autoneg) { /* Set PCS register for autoneg */ - reg |= E1000_PCS_LCTL_FSV_1000 | /* Force 1000 */ - E1000_PCS_LCTL_FDV_FULL | /* SerDes Full duplex */ - E1000_PCS_LCTL_AN_ENABLE | /* Enable Autoneg */ - E1000_PCS_LCTL_AN_RESTART; /* Restart autoneg */ - hw_dbg("Configuring Autoneg; PCS_LCTL = 0x%08X\n", reg); + reg |= E1000_PCS_LCTL_AN_ENABLE | /* Enable Autoneg */ + E1000_PCS_LCTL_AN_RESTART; /* Restart autoneg */ + hw_dbg("Configuring Autoneg:PCS_LCTL=0x%08X\n", reg); } else { - /* Set PCS register for forced speed */ - reg |= E1000_PCS_LCTL_FLV_LINK_UP | /* Force link up */ - E1000_PCS_LCTL_FSV_1000 | /* Force 1000 */ - E1000_PCS_LCTL_FDV_FULL | /* SerDes Full duplex */ - E1000_PCS_LCTL_FSD | /* Force Speed */ - E1000_PCS_LCTL_FORCE_LINK; /* Force Link */ - hw_dbg("Configuring Forced Link; PCS_LCTL = 0x%08X\n", reg); + /* Set PCS register for forced link */ + reg |= E1000_PCS_LCTL_FSD; /* Force Speed */ + + hw_dbg("Configuring Forced Link:PCS_LCTL=0x%08X\n", reg); } wr32(E1000_PCS_LCTL, reg); @@ -1167,9 +1168,18 @@ { s32 ret_val = 0; - if (igb_check_alt_mac_addr(hw)) - ret_val = igb_read_mac_addr(hw); + /* + * If there's an alternate MAC address place it in RAR0 + * so that it will override the Si installed default perm + * address. + */ + ret_val = igb_check_alt_mac_addr(hw); + if (ret_val) + goto out; + + ret_val = igb_read_mac_addr(hw); +out: return ret_val; } @@ -1181,61 +1191,59 @@ **/ static void igb_clear_hw_cntrs_82575(struct e1000_hw *hw) { - u32 temp; - igb_clear_hw_cntrs_base(hw); - temp = rd32(E1000_PRC64); - temp = rd32(E1000_PRC127); - temp = rd32(E1000_PRC255); - temp = rd32(E1000_PRC511); - temp = rd32(E1000_PRC1023); - temp = rd32(E1000_PRC1522); - temp = rd32(E1000_PTC64); - temp = rd32(E1000_PTC127); - temp = rd32(E1000_PTC255); - temp = rd32(E1000_PTC511); - temp = rd32(E1000_PTC1023); - temp = rd32(E1000_PTC1522); - - temp = rd32(E1000_ALGNERRC); - temp = rd32(E1000_RXERRC); - temp = rd32(E1000_TNCRS); - temp = rd32(E1000_CEXTERR); - temp = rd32(E1000_TSCTC); - temp = rd32(E1000_TSCTFC); - - temp = rd32(E1000_MGTPRC); - temp = rd32(E1000_MGTPDC); - temp = rd32(E1000_MGTPTC); - - temp = rd32(E1000_IAC); - temp = rd32(E1000_ICRXOC); - - temp = rd32(E1000_ICRXPTC); - temp = rd32(E1000_ICRXATC); - temp = rd32(E1000_ICTXPTC); - temp = rd32(E1000_ICTXATC); - temp = rd32(E1000_ICTXQEC); - temp = rd32(E1000_ICTXQMTC); - temp = rd32(E1000_ICRXDMTC); - - temp = rd32(E1000_CBTMPC); - temp = rd32(E1000_HTDPMC); - temp = rd32(E1000_CBRMPC); - temp = rd32(E1000_RPTHC); - temp = rd32(E1000_HGPTC); - temp = rd32(E1000_HTCBDPC); - temp = rd32(E1000_HGORCL); - temp = rd32(E1000_HGORCH); - temp = rd32(E1000_HGOTCL); - temp = rd32(E1000_HGOTCH); - temp = rd32(E1000_LENERRS); + rd32(E1000_PRC64); + rd32(E1000_PRC127); + rd32(E1000_PRC255); + rd32(E1000_PRC511); + rd32(E1000_PRC1023); + rd32(E1000_PRC1522); + rd32(E1000_PTC64); + rd32(E1000_PTC127); + rd32(E1000_PTC255); + rd32(E1000_PTC511); + rd32(E1000_PTC1023); + rd32(E1000_PTC1522); + + rd32(E1000_ALGNERRC); + rd32(E1000_RXERRC); + rd32(E1000_TNCRS); + rd32(E1000_CEXTERR); + rd32(E1000_TSCTC); + rd32(E1000_TSCTFC); + + rd32(E1000_MGTPRC); + rd32(E1000_MGTPDC); + rd32(E1000_MGTPTC); + + rd32(E1000_IAC); + rd32(E1000_ICRXOC); + + rd32(E1000_ICRXPTC); + rd32(E1000_ICRXATC); + rd32(E1000_ICTXPTC); + rd32(E1000_ICTXATC); + rd32(E1000_ICTXQEC); + rd32(E1000_ICTXQMTC); + rd32(E1000_ICRXDMTC); + + rd32(E1000_CBTMPC); + rd32(E1000_HTDPMC); + rd32(E1000_CBRMPC); + rd32(E1000_RPTHC); + rd32(E1000_HGPTC); + rd32(E1000_HTCBDPC); + rd32(E1000_HGORCL); + rd32(E1000_HGORCH); + rd32(E1000_HGOTCL); + rd32(E1000_HGOTCH); + rd32(E1000_LENERRS); /* This register should not be read in copper configurations */ if (hw->phy.media_type == e1000_media_type_internal_serdes || igb_sgmii_active_82575(hw)) - temp = rd32(E1000_SCVPC); + rd32(E1000_SCVPC); } /** @@ -1400,8 +1408,183 @@ wr32(E1000_VT_CTL, vt_ctl); } +/** + * igb_read_phy_reg_82580 - Read 82580 MDI control register + * @hw: pointer to the HW structure + * @offset: register offset to be read + * @data: pointer to the read data + * + * Reads the MDI control register in the PHY at offset and stores the + * information read to data. + **/ +static s32 igb_read_phy_reg_82580(struct e1000_hw *hw, u32 offset, u16 *data) +{ + u32 mdicnfg = 0; + s32 ret_val; + + + ret_val = hw->phy.ops.acquire(hw); + if (ret_val) + goto out; + + /* + * We config the phy address in MDICNFG register now. Same bits + * as before. The values in MDIC can be written but will be + * ignored. This allows us to call the old function after + * configuring the PHY address in the new register + */ + mdicnfg = (hw->phy.addr << E1000_MDIC_PHY_SHIFT); + wr32(E1000_MDICNFG, mdicnfg); + + ret_val = igb_read_phy_reg_mdic(hw, offset, data); + + hw->phy.ops.release(hw); + +out: + return ret_val; +} + +/** + * igb_write_phy_reg_82580 - Write 82580 MDI control register + * @hw: pointer to the HW structure + * @offset: register offset to write to + * @data: data to write to register at offset + * + * Writes data to MDI control register in the PHY at offset. + **/ +static s32 igb_write_phy_reg_82580(struct e1000_hw *hw, u32 offset, u16 data) +{ + u32 mdicnfg = 0; + s32 ret_val; + + + ret_val = hw->phy.ops.acquire(hw); + if (ret_val) + goto out; + + /* + * We config the phy address in MDICNFG register now. Same bits + * as before. The values in MDIC can be written but will be + * ignored. This allows us to call the old function after + * configuring the PHY address in the new register + */ + mdicnfg = (hw->phy.addr << E1000_MDIC_PHY_SHIFT); + wr32(E1000_MDICNFG, mdicnfg); + + ret_val = igb_write_phy_reg_mdic(hw, offset, data); + + hw->phy.ops.release(hw); + +out: + return ret_val; +} + +/** + * igb_reset_hw_82580 - Reset hardware + * @hw: pointer to the HW structure + * + * This resets function or entire device (all ports, etc.) + * to a known state. + **/ +static s32 igb_reset_hw_82580(struct e1000_hw *hw) +{ + s32 ret_val = 0; + /* BH SW mailbox bit in SW_FW_SYNC */ + u16 swmbsw_mask = E1000_SW_SYNCH_MB; + u32 ctrl, icr; + bool global_device_reset = hw->dev_spec._82575.global_device_reset; + + + hw->dev_spec._82575.global_device_reset = false; + + /* Get current control state. */ + ctrl = rd32(E1000_CTRL); + + /* + * Prevent the PCI-E bus from sticking if there is no TLP connection + * on the last TLP read/write transaction when MAC is reset. + */ + ret_val = igb_disable_pcie_master(hw); + if (ret_val) + hw_dbg("PCI-E Master disable polling has failed.\n"); + + hw_dbg("Masking off all interrupts\n"); + wr32(E1000_IMC, 0xffffffff); + wr32(E1000_RCTL, 0); + wr32(E1000_TCTL, E1000_TCTL_PSP); + wrfl(); + + msleep(10); + + /* Determine whether or not a global dev reset is requested */ + if (global_device_reset && + igb_acquire_swfw_sync_82575(hw, swmbsw_mask)) + global_device_reset = false; + + if (global_device_reset && + !(rd32(E1000_STATUS) & E1000_STAT_DEV_RST_SET)) + ctrl |= E1000_CTRL_DEV_RST; + else + ctrl |= E1000_CTRL_RST; + + wr32(E1000_CTRL, ctrl); + + /* Add delay to insure DEV_RST has time to complete */ + if (global_device_reset) + msleep(5); + + ret_val = igb_get_auto_rd_done(hw); + if (ret_val) { + /* + * When auto config read does not complete, do not + * return with an error. This can happen in situations + * where there is no eeprom and prevents getting link. + */ + hw_dbg("Auto Read Done did not complete\n"); + } + + /* If EEPROM is not present, run manual init scripts */ + if ((rd32(E1000_EECD) & E1000_EECD_PRES) == 0) + igb_reset_init_script_82575(hw); + + /* clear global device reset status bit */ + wr32(E1000_STATUS, E1000_STAT_DEV_RST_SET); + + /* Clear any pending interrupt events. */ + wr32(E1000_IMC, 0xffffffff); + icr = rd32(E1000_ICR); + + /* Install any alternate MAC address into RAR0 */ + ret_val = igb_check_alt_mac_addr(hw); + + /* Release semaphore */ + if (global_device_reset) + igb_release_swfw_sync_82575(hw, swmbsw_mask); + + return ret_val; +} + +/** + * igb_rxpbs_adjust_82580 - adjust RXPBS value to reflect actual RX PBA size + * @data: data received by reading RXPBS register + * + * The 82580 uses a table based approach for packet buffer allocation sizes. + * This function converts the retrieved value into the correct table value + * 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 + * 0x0 36 72 144 1 2 4 8 16 + * 0x8 35 70 140 rsv rsv rsv rsv rsv + */ +u16 igb_rxpbs_adjust_82580(u32 data) +{ + u16 ret_val = 0; + + if (data < E1000_82580_RXPBS_TABLE_SIZE) + ret_val = e1000_82580_rxpbs_table[data]; + + return ret_val; +} + static struct e1000_mac_operations e1000_mac_ops_82575 = { - .reset_hw = igb_reset_hw_82575, .init_hw = igb_init_hw_82575, .check_for_link = igb_check_for_link_82575, .rar_set = igb_rar_set, --- linux-2.6.32.orig/drivers/net/igb/e1000_82575.h +++ linux-2.6.32/drivers/net/igb/e1000_82575.h @@ -38,6 +38,11 @@ #define E1000_RAR_ENTRIES_82575 16 #define E1000_RAR_ENTRIES_82576 24 +#define E1000_RAR_ENTRIES_82580 24 + +#define E1000_SW_SYNCH_MB 0x00000100 +#define E1000_STAT_DEV_RST_SET 0x00100000 +#define E1000_CTRL_DEV_RST 0x20000000 /* SRRCTL bit definitions */ #define E1000_SRRCTL_BSIZEPKT_SHIFT 10 /* Shift _right_ */ @@ -66,6 +71,8 @@ E1000_EICR_RX_QUEUE3) /* Immediate Interrupt Rx (A.K.A. Low Latency Interrupt) */ +#define E1000_IMIREXT_SIZE_BP 0x00001000 /* Packet size bypass */ +#define E1000_IMIREXT_CTRL_BP 0x00080000 /* Bypass check of ctrl bits */ /* Receive Descriptor - Advanced */ union e1000_adv_rx_desc { @@ -98,6 +105,7 @@ #define E1000_RXDADV_HDRBUFLEN_MASK 0x7FE0 #define E1000_RXDADV_HDRBUFLEN_SHIFT 5 +#define E1000_RXDADV_STAT_TS 0x10000 /* Pkt was time stamped */ /* Transmit Descriptor - Advanced */ union e1000_adv_tx_desc { @@ -167,6 +175,18 @@ #define E1000_DCA_TXCTRL_CPUID_SHIFT 24 /* Tx CPUID now in the last byte */ #define E1000_DCA_RXCTRL_CPUID_SHIFT 24 /* Rx CPUID now in the last byte */ +/* ETQF register bit definitions */ +#define E1000_ETQF_FILTER_ENABLE (1 << 26) +#define E1000_ETQF_1588 (1 << 30) + +/* FTQF register bit definitions */ +#define E1000_FTQF_VF_BP 0x00008000 +#define E1000_FTQF_1588_TIME_STAMP 0x08000000 +#define E1000_FTQF_MASK 0xF0000000 +#define E1000_FTQF_MASK_PROTO_BP 0x10000000 +#define E1000_FTQF_MASK_SOURCE_PORT_BP 0x80000000 + +#define E1000_NVM_APME_82575 0x0400 #define MAX_NUM_VFS 8 #define E1000_DTXSWC_VMDQ_LOOPBACK_EN (1 << 31) /* global VF LB enable */ @@ -202,9 +222,21 @@ #define E1000_IOVCTL 0x05BBC #define E1000_IOVCTL_REUSE_VFQ 0x00000001 +#define E1000_RPLOLR_STRVLAN 0x40000000 +#define E1000_RPLOLR_STRCRC 0x80000000 + +#define E1000_DTXCTL_8023LL 0x0004 +#define E1000_DTXCTL_VLAN_ADDED 0x0008 +#define E1000_DTXCTL_OOS_ENABLE 0x0010 +#define E1000_DTXCTL_MDP_EN 0x0020 +#define E1000_DTXCTL_SPOOF_INT 0x0040 + #define ALL_QUEUES 0xFFFF +/* RX packet buffer size defines */ +#define E1000_RXPBS_SIZE_MASK_82576 0x0000007F void igb_vmdq_set_loopback_pf(struct e1000_hw *, bool); void igb_vmdq_set_replication_pf(struct e1000_hw *, bool); +u16 igb_rxpbs_adjust_82580(u32 data); #endif --- linux-2.6.32.orig/drivers/net/igb/e1000_defines.h +++ linux-2.6.32/drivers/net/igb/e1000_defines.h @@ -49,6 +49,7 @@ #define E1000_CTRL_EXT_PFRSTD 0x00004000 #define E1000_CTRL_EXT_LINK_MODE_MASK 0x00C00000 #define E1000_CTRL_EXT_LINK_MODE_PCIE_SERDES 0x00C00000 +#define E1000_CTRL_EXT_LINK_MODE_1000BASE_KX 0x00400000 #define E1000_CTRL_EXT_LINK_MODE_SGMII 0x00800000 #define E1000_CTRL_EXT_EIAME 0x01000000 #define E1000_CTRL_EXT_IRCA 0x00000001 @@ -329,6 +330,7 @@ #define E1000_ICR_RXDMT0 0x00000010 /* rx desc min. threshold (0) */ #define E1000_ICR_RXT0 0x00000080 /* rx timer intr (ring 0) */ #define E1000_ICR_VMMB 0x00000100 /* VM MB event */ +#define E1000_ICR_DRSTA 0x40000000 /* Device Reset Asserted */ /* If this bit asserted, the driver should claim the interrupt */ #define E1000_ICR_INT_ASSERTED 0x80000000 /* LAN connected device generates an interrupt */ @@ -370,6 +372,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_DRSTA E1000_ICR_DRSTA /* Device Reset Asserted */ #define E1000_IMS_DOUTSYNC E1000_ICR_DOUTSYNC /* NIC DMA out of sync */ /* Extended Interrupt Mask Set */ @@ -378,6 +381,7 @@ /* Interrupt Cause Set */ #define E1000_ICS_LSC E1000_ICR_LSC /* Link Status Change */ #define E1000_ICS_RXDMT0 E1000_ICR_RXDMT0 /* rx desc min. threshold */ +#define E1000_ICS_DRSTA E1000_ICR_DRSTA /* Device Reset Aserted */ /* Extended Interrupt Cause Set */ @@ -435,6 +439,39 @@ /* Flow Control */ #define E1000_FCRTL_XONE 0x80000000 /* Enable XON frame transmission */ +#define E1000_TSYNCTXCTL_VALID 0x00000001 /* tx timestamp valid */ +#define E1000_TSYNCTXCTL_ENABLED 0x00000010 /* enable tx timestampping */ + +#define E1000_TSYNCRXCTL_VALID 0x00000001 /* rx timestamp valid */ +#define E1000_TSYNCRXCTL_TYPE_MASK 0x0000000E /* rx type mask */ +#define E1000_TSYNCRXCTL_TYPE_L2_V2 0x00 +#define E1000_TSYNCRXCTL_TYPE_L4_V1 0x02 +#define E1000_TSYNCRXCTL_TYPE_L2_L4_V2 0x04 +#define E1000_TSYNCRXCTL_TYPE_ALL 0x08 +#define E1000_TSYNCRXCTL_TYPE_EVENT_V2 0x0A +#define E1000_TSYNCRXCTL_ENABLED 0x00000010 /* enable rx timestampping */ + +#define E1000_TSYNCRXCFG_PTP_V1_CTRLT_MASK 0x000000FF +#define E1000_TSYNCRXCFG_PTP_V1_SYNC_MESSAGE 0x00 +#define E1000_TSYNCRXCFG_PTP_V1_DELAY_REQ_MESSAGE 0x01 +#define E1000_TSYNCRXCFG_PTP_V1_FOLLOWUP_MESSAGE 0x02 +#define E1000_TSYNCRXCFG_PTP_V1_DELAY_RESP_MESSAGE 0x03 +#define E1000_TSYNCRXCFG_PTP_V1_MANAGEMENT_MESSAGE 0x04 + +#define E1000_TSYNCRXCFG_PTP_V2_MSGID_MASK 0x00000F00 +#define E1000_TSYNCRXCFG_PTP_V2_SYNC_MESSAGE 0x0000 +#define E1000_TSYNCRXCFG_PTP_V2_DELAY_REQ_MESSAGE 0x0100 +#define E1000_TSYNCRXCFG_PTP_V2_PATH_DELAY_REQ_MESSAGE 0x0200 +#define E1000_TSYNCRXCFG_PTP_V2_PATH_DELAY_RESP_MESSAGE 0x0300 +#define E1000_TSYNCRXCFG_PTP_V2_FOLLOWUP_MESSAGE 0x0800 +#define E1000_TSYNCRXCFG_PTP_V2_DELAY_RESP_MESSAGE 0x0900 +#define E1000_TSYNCRXCFG_PTP_V2_PATH_DELAY_FOLLOWUP_MESSAGE 0x0A00 +#define E1000_TSYNCRXCFG_PTP_V2_ANNOUNCE_MESSAGE 0x0B00 +#define E1000_TSYNCRXCFG_PTP_V2_SIGNALLING_MESSAGE 0x0C00 +#define E1000_TSYNCRXCFG_PTP_V2_MANAGEMENT_MESSAGE 0x0D00 + +#define E1000_TIMINCA_16NS_SHIFT 24 + /* PCI Express Control */ #define E1000_GCR_CMPL_TMOUT_MASK 0x0000F000 #define E1000_GCR_CMPL_TMOUT_10ms 0x00001000 @@ -524,8 +561,12 @@ #define NVM_ALT_MAC_ADDR_PTR 0x0037 #define NVM_CHECKSUM_REG 0x003F -#define E1000_NVM_CFG_DONE_PORT_0 0x40000 /* MNG config cycle done */ -#define E1000_NVM_CFG_DONE_PORT_1 0x80000 /* ...for second port */ +#define E1000_NVM_CFG_DONE_PORT_0 0x040000 /* MNG config cycle done */ +#define E1000_NVM_CFG_DONE_PORT_1 0x080000 /* ...for second port */ +#define E1000_NVM_CFG_DONE_PORT_2 0x100000 /* ...for third port */ +#define E1000_NVM_CFG_DONE_PORT_3 0x200000 /* ...for fourth port */ + +#define NVM_82580_LAN_FUNC_OFFSET(a) (a ? (0x40 + (0x40 * a)) : 0) /* Mask bits for fields in Word 0x0f of the NVM */ #define NVM_WORD0F_PAUSE_MASK 0x3000 @@ -592,6 +633,7 @@ */ #define M88E1111_I_PHY_ID 0x01410CC0 #define IGP03E1000_E_PHY_ID 0x02A80390 +#define I82580_I_PHY_ID 0x015403A0 #define M88_VENDOR 0x0141 /* M88E1000 Specific Registers */ @@ -678,4 +720,8 @@ #define E1000_VFTA_ENTRY_MASK 0x7F #define E1000_VFTA_ENTRY_BIT_SHIFT_MASK 0x1F +/* DMA Coalescing register fields */ +#define E1000_PCIEMISC_LX_DECISION 0x00000080 /* Lx power decision based + on DMA coal */ + #endif --- linux-2.6.32.orig/drivers/net/igb/e1000_hw.h +++ linux-2.6.32/drivers/net/igb/e1000_hw.h @@ -42,20 +42,35 @@ #define E1000_DEV_ID_82576_SERDES 0x10E7 #define E1000_DEV_ID_82576_QUAD_COPPER 0x10E8 #define E1000_DEV_ID_82576_NS 0x150A +#define E1000_DEV_ID_82576_NS_SERDES 0x1518 #define E1000_DEV_ID_82576_SERDES_QUAD 0x150D #define E1000_DEV_ID_82575EB_COPPER 0x10A7 #define E1000_DEV_ID_82575EB_FIBER_SERDES 0x10A9 #define E1000_DEV_ID_82575GB_QUAD_COPPER 0x10D6 +#define E1000_DEV_ID_82580_COPPER 0x150E +#define E1000_DEV_ID_82580_FIBER 0x150F +#define E1000_DEV_ID_82580_SERDES 0x1510 +#define E1000_DEV_ID_82580_SGMII 0x1511 +#define E1000_DEV_ID_82580_COPPER_DUAL 0x1516 #define E1000_REVISION_2 2 #define E1000_REVISION_4 4 +#define E1000_FUNC_0 0 #define E1000_FUNC_1 1 +#define E1000_FUNC_2 2 +#define E1000_FUNC_3 3 + +#define E1000_ALT_MAC_ADDRESS_OFFSET_LAN0 0 +#define E1000_ALT_MAC_ADDRESS_OFFSET_LAN1 3 +#define E1000_ALT_MAC_ADDRESS_OFFSET_LAN2 6 +#define E1000_ALT_MAC_ADDRESS_OFFSET_LAN3 9 enum e1000_mac_type { e1000_undefined = 0, e1000_82575, e1000_82576, + e1000_82580, e1000_num_macs /* List is 1-based, so subtract 1 for true count. */ }; @@ -70,7 +85,6 @@ e1000_nvm_unknown = 0, e1000_nvm_none, e1000_nvm_eeprom_spi, - e1000_nvm_eeprom_microwire, e1000_nvm_flash_hw, e1000_nvm_flash_sw }; @@ -79,8 +93,6 @@ e1000_nvm_override_none = 0, e1000_nvm_override_spi_small, e1000_nvm_override_spi_large, - e1000_nvm_override_microwire_small, - e1000_nvm_override_microwire_large }; enum e1000_phy_type { @@ -92,6 +104,7 @@ e1000_phy_gg82563, e1000_phy_igp_3, e1000_phy_ife, + e1000_phy_82580, }; enum e1000_bus_type { @@ -288,6 +301,7 @@ struct e1000_phy_operations { s32 (*acquire)(struct e1000_hw *); + s32 (*check_polarity)(struct e1000_hw *); s32 (*check_reset_block)(struct e1000_hw *); s32 (*force_speed_duplex)(struct e1000_hw *); s32 (*get_cfg_done)(struct e1000_hw *hw); @@ -339,6 +353,7 @@ u16 ifs_ratio; u16 ifs_step_size; u16 mta_reg_count; + u16 uta_reg_count; /* Maximum size of the MTA register table in all supported adapters */ #define MAX_MTA_REG 128 @@ -463,6 +478,7 @@ struct e1000_dev_spec_82575 { bool sgmii_active; + bool global_device_reset; }; struct e1000_hw { --- linux-2.6.32.orig/drivers/net/igb/e1000_mac.c +++ linux-2.6.32/drivers/net/igb/e1000_mac.c @@ -185,13 +185,12 @@ } if (nvm_alt_mac_addr_offset == 0xFFFF) { - ret_val = -(E1000_NOT_IMPLEMENTED); + /* There is no Alternate MAC Address */ goto out; } if (hw->bus.func == E1000_FUNC_1) - nvm_alt_mac_addr_offset += ETH_ALEN/sizeof(u16); - + nvm_alt_mac_addr_offset += E1000_ALT_MAC_ADDRESS_OFFSET_LAN1; for (i = 0; i < ETH_ALEN; i += 2) { offset = nvm_alt_mac_addr_offset + (i >> 1); ret_val = hw->nvm.ops.read(hw, offset, 1, &nvm_data); @@ -206,14 +205,16 @@ /* if multicast bit is set, the alternate address will not be used */ if (alt_mac_addr[0] & 0x01) { - ret_val = -(E1000_NOT_IMPLEMENTED); + hw_dbg("Ignoring Alternate Mac Address with MC bit set\n"); goto out; } - for (i = 0; i < ETH_ALEN; i++) - hw->mac.addr[i] = hw->mac.perm_addr[i] = alt_mac_addr[i]; - - hw->mac.ops.rar_set(hw, hw->mac.perm_addr, 0); + /* + * We have a valid alternate MAC address, and we want to treat it the + * same as the normal permanent MAC address stored by the HW into the + * RAR. Do this by mapping this address into RAR0. + */ + hw->mac.ops.rar_set(hw, alt_mac_addr, 0); out: return ret_val; @@ -246,8 +247,15 @@ if (rar_low || rar_high) rar_high |= E1000_RAH_AV; + /* + * Some bridges will combine consecutive 32-bit writes into + * a single burst write, which will malfunction on some parts. + * The flushes avoid this. + */ wr32(E1000_RAL(index), rar_low); + wrfl(); wr32(E1000_RAH(index), rar_high); + wrfl(); } /** @@ -399,45 +407,43 @@ **/ void igb_clear_hw_cntrs_base(struct e1000_hw *hw) { - u32 temp; - - temp = rd32(E1000_CRCERRS); - temp = rd32(E1000_SYMERRS); - temp = rd32(E1000_MPC); - temp = rd32(E1000_SCC); - temp = rd32(E1000_ECOL); - temp = rd32(E1000_MCC); - temp = rd32(E1000_LATECOL); - temp = rd32(E1000_COLC); - temp = rd32(E1000_DC); - temp = rd32(E1000_SEC); - temp = rd32(E1000_RLEC); - temp = rd32(E1000_XONRXC); - temp = rd32(E1000_XONTXC); - temp = rd32(E1000_XOFFRXC); - temp = rd32(E1000_XOFFTXC); - temp = rd32(E1000_FCRUC); - temp = rd32(E1000_GPRC); - temp = rd32(E1000_BPRC); - temp = rd32(E1000_MPRC); - temp = rd32(E1000_GPTC); - temp = rd32(E1000_GORCL); - temp = rd32(E1000_GORCH); - temp = rd32(E1000_GOTCL); - temp = rd32(E1000_GOTCH); - temp = rd32(E1000_RNBC); - temp = rd32(E1000_RUC); - temp = rd32(E1000_RFC); - temp = rd32(E1000_ROC); - temp = rd32(E1000_RJC); - temp = rd32(E1000_TORL); - temp = rd32(E1000_TORH); - temp = rd32(E1000_TOTL); - temp = rd32(E1000_TOTH); - temp = rd32(E1000_TPR); - temp = rd32(E1000_TPT); - temp = rd32(E1000_MPTC); - temp = rd32(E1000_BPTC); + rd32(E1000_CRCERRS); + rd32(E1000_SYMERRS); + rd32(E1000_MPC); + rd32(E1000_SCC); + rd32(E1000_ECOL); + rd32(E1000_MCC); + rd32(E1000_LATECOL); + rd32(E1000_COLC); + rd32(E1000_DC); + rd32(E1000_SEC); + rd32(E1000_RLEC); + rd32(E1000_XONRXC); + rd32(E1000_XONTXC); + rd32(E1000_XOFFRXC); + rd32(E1000_XOFFTXC); + rd32(E1000_FCRUC); + rd32(E1000_GPRC); + rd32(E1000_BPRC); + rd32(E1000_MPRC); + rd32(E1000_GPTC); + rd32(E1000_GORCL); + rd32(E1000_GORCH); + rd32(E1000_GOTCL); + rd32(E1000_GOTCH); + rd32(E1000_RNBC); + rd32(E1000_RUC); + rd32(E1000_RFC); + rd32(E1000_ROC); + rd32(E1000_RJC); + rd32(E1000_TORL); + rd32(E1000_TORH); + rd32(E1000_TOTL); + rd32(E1000_TOTH); + rd32(E1000_TPR); + rd32(E1000_TPT); + rd32(E1000_MPTC); + rd32(E1000_BPTC); } /** --- linux-2.6.32.orig/drivers/net/igb/e1000_mbx.c +++ linux-2.6.32/drivers/net/igb/e1000_mbx.c @@ -143,12 +143,16 @@ if (!countdown || !mbx->ops.check_for_msg) goto out; - while (mbx->ops.check_for_msg(hw, mbx_id)) { + while (countdown && mbx->ops.check_for_msg(hw, mbx_id)) { countdown--; if (!countdown) break; udelay(mbx->usec_delay); } + + /* if we failed, all future posted messages fail until reset */ + if (!countdown) + mbx->timeout = 0; out: return countdown ? 0 : -E1000_ERR_MBX; } @@ -168,12 +172,16 @@ if (!countdown || !mbx->ops.check_for_ack) goto out; - while (mbx->ops.check_for_ack(hw, mbx_id)) { + while (countdown && mbx->ops.check_for_ack(hw, mbx_id)) { countdown--; if (!countdown) break; udelay(mbx->usec_delay); } + + /* if we failed, all future posted messages fail until reset */ + if (!countdown) + mbx->timeout = 0; out: return countdown ? 0 : -E1000_ERR_MBX; } @@ -217,12 +225,13 @@ static s32 igb_write_posted_mbx(struct e1000_hw *hw, u32 *msg, u16 size, u16 mbx_id) { struct e1000_mbx_info *mbx = &hw->mbx; - s32 ret_val = 0; + s32 ret_val = -E1000_ERR_MBX; - if (!mbx->ops.write) + /* exit if either we can't write or there isn't a defined timeout */ + if (!mbx->ops.write || !mbx->timeout) goto out; - /* send msg*/ + /* send msg */ ret_val = mbx->ops.write(hw, msg, size, mbx_id); /* if msg sent wait until we receive an ack */ @@ -305,6 +314,30 @@ } /** + * igb_obtain_mbx_lock_pf - obtain mailbox lock + * @hw: pointer to the HW structure + * @vf_number: the VF index + * + * return SUCCESS if we obtained the mailbox lock + **/ +static s32 igb_obtain_mbx_lock_pf(struct e1000_hw *hw, u16 vf_number) +{ + s32 ret_val = -E1000_ERR_MBX; + u32 p2v_mailbox; + + + /* Take ownership of the buffer */ + wr32(E1000_P2VMAILBOX(vf_number), E1000_P2VMAILBOX_PFU); + + /* reserve mailbox for vf use */ + p2v_mailbox = rd32(E1000_P2VMAILBOX(vf_number)); + if (p2v_mailbox & E1000_P2VMAILBOX_PFU) + ret_val = 0; + + return ret_val; +} + +/** * igb_write_mbx_pf - Places a message in the mailbox * @hw: pointer to the HW structure * @msg: The message buffer @@ -316,27 +349,17 @@ static s32 igb_write_mbx_pf(struct e1000_hw *hw, u32 *msg, u16 size, u16 vf_number) { - u32 p2v_mailbox; - s32 ret_val = 0; + s32 ret_val; u16 i; - /* Take ownership of the buffer */ - wr32(E1000_P2VMAILBOX(vf_number), E1000_P2VMAILBOX_PFU); - - /* Make sure we have ownership now... */ - p2v_mailbox = rd32(E1000_P2VMAILBOX(vf_number)); - if (!(p2v_mailbox & E1000_P2VMAILBOX_PFU)) { - /* failed to grab ownership */ - ret_val = -E1000_ERR_MBX; + /* lock the mailbox to prevent pf/vf race condition */ + ret_val = igb_obtain_mbx_lock_pf(hw, vf_number); + if (ret_val) goto out_no_write; - } - /* - * flush any ack or msg which may already be in the queue - * as they are likely the result of an error - */ - igb_check_for_ack_pf(hw, vf_number); + /* flush msg and acks as we are overwriting the message buffer */ igb_check_for_msg_pf(hw, vf_number); + igb_check_for_ack_pf(hw, vf_number); /* copy the caller specified message to the mailbox memory buffer */ for (i = 0; i < size; i++) @@ -367,20 +390,13 @@ static s32 igb_read_mbx_pf(struct e1000_hw *hw, u32 *msg, u16 size, u16 vf_number) { - u32 p2v_mailbox; - s32 ret_val = 0; + s32 ret_val; u16 i; - /* Take ownership of the buffer */ - wr32(E1000_P2VMAILBOX(vf_number), E1000_P2VMAILBOX_PFU); - - /* Make sure we have ownership now... */ - p2v_mailbox = rd32(E1000_P2VMAILBOX(vf_number)); - if (!(p2v_mailbox & E1000_P2VMAILBOX_PFU)) { - /* failed to grab ownership */ - ret_val = -E1000_ERR_MBX; + /* lock the mailbox to prevent pf/vf race condition */ + ret_val = igb_obtain_mbx_lock_pf(hw, vf_number); + if (ret_val) goto out_no_read; - } /* copy the message to the mailbox memory buffer */ for (i = 0; i < size; i++) @@ -392,8 +408,6 @@ /* update stats */ hw->mbx.stats.msgs_rx++; - ret_val = 0; - out_no_read: return ret_val; } --- linux-2.6.32.orig/drivers/net/igb/e1000_mbx.h +++ linux-2.6.32/drivers/net/igb/e1000_mbx.h @@ -58,10 +58,12 @@ #define E1000_VT_MSGINFO_MASK (0xFF << E1000_VT_MSGINFO_SHIFT) #define E1000_VF_RESET 0x01 /* VF requests reset */ -#define E1000_VF_SET_MAC_ADDR 0x02 /* VF requests PF to set MAC addr */ -#define E1000_VF_SET_MULTICAST 0x03 /* VF requests PF to set MC addr */ -#define E1000_VF_SET_VLAN 0x04 /* VF requests PF to set VLAN */ -#define E1000_VF_SET_LPE 0x05 /* VF requests PF to set VMOLR.LPE */ +#define E1000_VF_SET_MAC_ADDR 0x02 /* VF requests to set MAC addr */ +#define E1000_VF_SET_MULTICAST 0x03 /* VF requests to set MC addr */ +#define E1000_VF_SET_VLAN 0x04 /* VF requests to set VLAN */ +#define E1000_VF_SET_LPE 0x05 /* VF requests to set VMOLR.LPE */ +#define E1000_VF_SET_PROMISC 0x06 /*VF requests to clear VMOLR.ROPE/MPME*/ +#define E1000_VF_SET_PROMISC_MULTICAST (0x02 << E1000_VT_MSGINFO_SHIFT) #define E1000_PF_CONTROL_MSG 0x0100 /* PF control message */ --- linux-2.6.32.orig/drivers/net/igb/e1000_nvm.c +++ linux-2.6.32/drivers/net/igb/e1000_nvm.c @@ -78,9 +78,7 @@ u32 mask; mask = 0x01 << (count - 1); - if (nvm->type == e1000_nvm_eeprom_microwire) - eecd &= ~E1000_EECD_DO; - else if (nvm->type == e1000_nvm_eeprom_spi) + if (nvm->type == e1000_nvm_eeprom_spi) eecd |= E1000_EECD_DO; do { @@ -220,22 +218,7 @@ struct e1000_nvm_info *nvm = &hw->nvm; u32 eecd = rd32(E1000_EECD); - if (nvm->type == e1000_nvm_eeprom_microwire) { - eecd &= ~(E1000_EECD_CS | E1000_EECD_SK); - wr32(E1000_EECD, eecd); - wrfl(); - udelay(nvm->delay_usec); - - igb_raise_eec_clk(hw, &eecd); - - /* Select EEPROM */ - eecd |= E1000_EECD_CS; - wr32(E1000_EECD, eecd); - wrfl(); - udelay(nvm->delay_usec); - - igb_lower_eec_clk(hw, &eecd); - } else if (nvm->type == e1000_nvm_eeprom_spi) { + if (nvm->type == e1000_nvm_eeprom_spi) { /* Toggle CS to flush commands */ eecd |= E1000_EECD_CS; wr32(E1000_EECD, eecd); @@ -263,12 +246,6 @@ /* Pull CS high */ eecd |= E1000_EECD_CS; igb_lower_eec_clk(hw, &eecd); - } else if (hw->nvm.type == e1000_nvm_eeprom_microwire) { - /* CS on Microcwire is active-high */ - eecd &= ~(E1000_EECD_CS | E1000_EECD_DI); - wr32(E1000_EECD, eecd); - igb_raise_eec_clk(hw, &eecd); - igb_lower_eec_clk(hw, &eecd); } } @@ -304,14 +281,7 @@ u8 spi_stat_reg; - if (nvm->type == e1000_nvm_eeprom_microwire) { - /* Clear SK and DI */ - eecd &= ~(E1000_EECD_DI | E1000_EECD_SK); - wr32(E1000_EECD, eecd); - /* Set CS */ - eecd |= E1000_EECD_CS; - wr32(E1000_EECD, eecd); - } else if (nvm->type == e1000_nvm_eeprom_spi) { + if (nvm->type == e1000_nvm_eeprom_spi) { /* Clear SK and CS */ eecd &= ~(E1000_EECD_CS | E1000_EECD_SK); wr32(E1000_EECD, eecd); --- linux-2.6.32.orig/drivers/net/igb/e1000_phy.c +++ linux-2.6.32/drivers/net/igb/e1000_phy.c @@ -39,6 +39,9 @@ /* Cable length tables */ static const u16 e1000_m88_cable_length_table[] = { 0, 50, 80, 110, 140, 140, E1000_CABLE_LENGTH_UNDEFINED }; +#define M88E1000_CABLE_LENGTH_TABLE_SIZE \ + (sizeof(e1000_m88_cable_length_table) / \ + sizeof(e1000_m88_cable_length_table[0])) static const u16 e1000_igp_2_cable_length_table[] = { 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 8, 11, 13, 16, 18, 21, @@ -109,7 +112,10 @@ **/ static s32 igb_phy_reset_dsp(struct e1000_hw *hw) { - s32 ret_val; + s32 ret_val = 0; + + if (!(hw->phy.ops.write_reg)) + goto out; ret_val = hw->phy.ops.write_reg(hw, M88E1000_PHY_GEN_CONTROL, 0xC1); if (ret_val) @@ -130,7 +136,7 @@ * Reads the MDI control regsiter in the PHY at offset and stores the * information read to data. **/ -static s32 igb_read_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 *data) +s32 igb_read_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 *data) { struct e1000_phy_info *phy = &hw->phy; u32 i, mdic = 0; @@ -188,7 +194,7 @@ * * Writes data to MDI control register in the PHY at offset. **/ -static s32 igb_write_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 data) +s32 igb_write_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 data) { struct e1000_phy_info *phy = &hw->phy; u32 i, mdic = 0; @@ -239,6 +245,103 @@ } /** + * igb_read_phy_reg_i2c - Read PHY register using i2c + * @hw: pointer to the HW structure + * @offset: register offset to be read + * @data: pointer to the read data + * + * Reads the PHY register at offset using the i2c interface and stores the + * retrieved information in data. + **/ +s32 igb_read_phy_reg_i2c(struct e1000_hw *hw, u32 offset, u16 *data) +{ + struct e1000_phy_info *phy = &hw->phy; + u32 i, i2ccmd = 0; + + + /* + * Set up Op-code, Phy Address, and register address in the I2CCMD + * register. The MAC will take care of interfacing with the + * PHY to retrieve the desired data. + */ + i2ccmd = ((offset << E1000_I2CCMD_REG_ADDR_SHIFT) | + (phy->addr << E1000_I2CCMD_PHY_ADDR_SHIFT) | + (E1000_I2CCMD_OPCODE_READ)); + + wr32(E1000_I2CCMD, i2ccmd); + + /* Poll the ready bit to see if the I2C read completed */ + for (i = 0; i < E1000_I2CCMD_PHY_TIMEOUT; i++) { + udelay(50); + i2ccmd = rd32(E1000_I2CCMD); + if (i2ccmd & E1000_I2CCMD_READY) + break; + } + if (!(i2ccmd & E1000_I2CCMD_READY)) { + hw_dbg("I2CCMD Read did not complete\n"); + return -E1000_ERR_PHY; + } + if (i2ccmd & E1000_I2CCMD_ERROR) { + hw_dbg("I2CCMD Error bit set\n"); + return -E1000_ERR_PHY; + } + + /* Need to byte-swap the 16-bit value. */ + *data = ((i2ccmd >> 8) & 0x00FF) | ((i2ccmd << 8) & 0xFF00); + + return 0; +} + +/** + * igb_write_phy_reg_i2c - Write PHY register using i2c + * @hw: pointer to the HW structure + * @offset: register offset to write to + * @data: data to write at register offset + * + * Writes the data to PHY register at the offset using the i2c interface. + **/ +s32 igb_write_phy_reg_i2c(struct e1000_hw *hw, u32 offset, u16 data) +{ + struct e1000_phy_info *phy = &hw->phy; + u32 i, i2ccmd = 0; + u16 phy_data_swapped; + + + /* Swap the data bytes for the I2C interface */ + phy_data_swapped = ((data >> 8) & 0x00FF) | ((data << 8) & 0xFF00); + + /* + * Set up Op-code, Phy Address, and register address in the I2CCMD + * register. The MAC will take care of interfacing with the + * PHY to retrieve the desired data. + */ + i2ccmd = ((offset << E1000_I2CCMD_REG_ADDR_SHIFT) | + (phy->addr << E1000_I2CCMD_PHY_ADDR_SHIFT) | + E1000_I2CCMD_OPCODE_WRITE | + phy_data_swapped); + + wr32(E1000_I2CCMD, i2ccmd); + + /* Poll the ready bit to see if the I2C read completed */ + for (i = 0; i < E1000_I2CCMD_PHY_TIMEOUT; i++) { + udelay(50); + i2ccmd = rd32(E1000_I2CCMD); + if (i2ccmd & E1000_I2CCMD_READY) + break; + } + if (!(i2ccmd & E1000_I2CCMD_READY)) { + hw_dbg("I2CCMD Write did not complete\n"); + return -E1000_ERR_PHY; + } + if (i2ccmd & E1000_I2CCMD_ERROR) { + hw_dbg("I2CCMD Error bit set\n"); + return -E1000_ERR_PHY; + } + + return 0; +} + +/** * igb_read_phy_reg_igp - Read igp PHY register * @hw: pointer to the HW structure * @offset: register offset to be read @@ -318,6 +421,48 @@ } /** + * igb_copper_link_setup_82580 - Setup 82580 PHY for copper link + * @hw: pointer to the HW structure + * + * Sets up Carrier-sense on Transmit and downshift values. + **/ +s32 igb_copper_link_setup_82580(struct e1000_hw *hw) +{ + struct e1000_phy_info *phy = &hw->phy; + s32 ret_val; + u16 phy_data; + + + if (phy->reset_disable) { + ret_val = 0; + goto out; + } + + if (phy->type == e1000_phy_82580) { + ret_val = hw->phy.ops.reset(hw); + if (ret_val) { + hw_dbg("Error resetting the PHY.\n"); + goto out; + } + } + + /* Enable CRS on TX. This must be set for half-duplex operation. */ + ret_val = phy->ops.read_reg(hw, I82580_CFG_REG, &phy_data); + if (ret_val) + goto out; + + phy_data |= I82580_CFG_ASSERT_CRS_ON_TX; + + /* Enable downshift */ + phy_data |= I82580_CFG_ENABLE_DOWNSHIFT; + + ret_val = phy->ops.write_reg(hw, I82580_CFG_REG, phy_data); + +out: + return ret_val; +} + +/** * igb_copper_link_setup_m88 - Setup m88 PHY's for copper link * @hw: pointer to the HW structure * @@ -572,7 +717,7 @@ * and restart the negotiation process between the link partner. If * autoneg_wait_to_complete, then wait for autoneg to complete before exiting. **/ -s32 igb_copper_link_autoneg(struct e1000_hw *hw) +static s32 igb_copper_link_autoneg(struct e1000_hw *hw) { struct e1000_phy_info *phy = &hw->phy; s32 ret_val; @@ -796,6 +941,65 @@ } /** + * igb_setup_copper_link - Configure copper link settings + * @hw: pointer to the HW structure + * + * Calls the appropriate function to configure the link for auto-neg or forced + * speed and duplex. Then we check for link, once link is established calls + * to configure collision distance and flow control are called. If link is + * not established, we return -E1000_ERR_PHY (-2). + **/ +s32 igb_setup_copper_link(struct e1000_hw *hw) +{ + s32 ret_val; + bool link; + + + if (hw->mac.autoneg) { + /* + * Setup autoneg and flow control advertisement and perform + * autonegotiation. + */ + ret_val = igb_copper_link_autoneg(hw); + if (ret_val) + goto out; + } else { + /* + * PHY will be set to 10H, 10F, 100H or 100F + * depending on user settings. + */ + hw_dbg("Forcing Speed and Duplex\n"); + ret_val = hw->phy.ops.force_speed_duplex(hw); + if (ret_val) { + hw_dbg("Error Forcing Speed and Duplex\n"); + goto out; + } + } + + /* + * Check link status. Wait up to 100 microseconds for link to become + * valid. + */ + ret_val = igb_phy_has_link(hw, + COPPER_LINK_UP_LIMIT, + 10, + &link); + if (ret_val) + goto out; + + if (link) { + hw_dbg("Valid link established!!!\n"); + igb_config_collision_dist(hw); + ret_val = igb_config_fc_after_link_up(hw); + } else { + hw_dbg("Unable to establish link!!!\n"); + } + +out: + return ret_val; +} + +/** * igb_phy_force_speed_duplex_igp - Force speed/duplex for igp PHY * @hw: pointer to the HW structure * @@ -903,22 +1107,19 @@ igb_phy_force_speed_duplex_setup(hw, &phy_data); - /* Reset the phy to commit changes. */ - phy_data |= MII_CR_RESET; - ret_val = phy->ops.write_reg(hw, PHY_CONTROL, phy_data); if (ret_val) goto out; - udelay(1); + /* Reset the phy to commit changes. */ + ret_val = igb_phy_sw_reset(hw); + if (ret_val) + goto out; if (phy->autoneg_wait_to_complete) { hw_dbg("Waiting for forced speed/duplex link on M88 phy.\n"); - ret_val = igb_phy_has_link(hw, - PHY_FORCE_LIMIT, - 100000, - &link); + ret_val = igb_phy_has_link(hw, PHY_FORCE_LIMIT, 100000, &link); if (ret_val) goto out; @@ -928,8 +1129,8 @@ * Reset the DSP and cross our fingers. */ ret_val = phy->ops.write_reg(hw, - M88E1000_PHY_PAGE_SELECT, - 0x001d); + M88E1000_PHY_PAGE_SELECT, + 0x001d); if (ret_val) goto out; ret_val = igb_phy_reset_dsp(hw); @@ -939,7 +1140,7 @@ /* Try once more */ ret_val = igb_phy_has_link(hw, PHY_FORCE_LIMIT, - 100000, &link); + 100000, &link); if (ret_val) goto out; } @@ -1051,9 +1252,12 @@ s32 igb_set_d3_lplu_state(struct e1000_hw *hw, bool active) { struct e1000_phy_info *phy = &hw->phy; - s32 ret_val; + s32 ret_val = 0; u16 data; + if (!(hw->phy.ops.read_reg)) + goto out; + ret_val = phy->ops.read_reg(hw, IGP02E1000_PHY_POWER_MGMT, &data); if (ret_val) goto out; @@ -1288,8 +1492,14 @@ * it across the board. */ ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS, &phy_status); - if (ret_val) - break; + if (ret_val) { + /* + * If the first read fails, another entity may have + * ownership of the resources, wait and try again to + * see if they have relinquished the resources yet. + */ + udelay(usec_interval); + } ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS, &phy_status); if (ret_val) break; @@ -1333,8 +1543,13 @@ index = (phy_data & M88E1000_PSSR_CABLE_LENGTH) >> M88E1000_PSSR_CABLE_LENGTH_SHIFT; + if (index >= M88E1000_CABLE_LENGTH_TABLE_SIZE - 1) { + ret_val = -E1000_ERR_PHY; + goto out; + } + phy->min_cable_length = e1000_m88_cable_length_table[index]; - phy->max_cable_length = e1000_m88_cable_length_table[index+1]; + phy->max_cable_length = e1000_m88_cable_length_table[index + 1]; phy->cable_length = (phy->min_cable_length + phy->max_cable_length) / 2; @@ -1715,3 +1930,194 @@ return 0; } +/** + * igb_check_polarity_82580 - Checks the polarity. + * @hw: pointer to the HW structure + * + * Success returns 0, Failure returns -E1000_ERR_PHY (-2) + * + * Polarity is determined based on the PHY specific status register. + **/ +static s32 igb_check_polarity_82580(struct e1000_hw *hw) +{ + struct e1000_phy_info *phy = &hw->phy; + s32 ret_val; + u16 data; + + + ret_val = phy->ops.read_reg(hw, I82580_PHY_STATUS_2, &data); + + if (!ret_val) + phy->cable_polarity = (data & I82580_PHY_STATUS2_REV_POLARITY) + ? e1000_rev_polarity_reversed + : e1000_rev_polarity_normal; + + return ret_val; +} + +/** + * igb_phy_force_speed_duplex_82580 - Force speed/duplex for I82580 PHY + * @hw: pointer to the HW structure + * + * Calls the PHY setup function to force speed and duplex. Clears the + * auto-crossover to force MDI manually. Waits for link and returns + * successful if link up is successful, else -E1000_ERR_PHY (-2). + **/ +s32 igb_phy_force_speed_duplex_82580(struct e1000_hw *hw) +{ + struct e1000_phy_info *phy = &hw->phy; + s32 ret_val; + u16 phy_data; + bool link; + + + ret_val = phy->ops.read_reg(hw, PHY_CONTROL, &phy_data); + if (ret_val) + goto out; + + igb_phy_force_speed_duplex_setup(hw, &phy_data); + + ret_val = phy->ops.write_reg(hw, PHY_CONTROL, phy_data); + if (ret_val) + goto out; + + /* + * Clear Auto-Crossover to force MDI manually. 82580 requires MDI + * forced whenever speed and duplex are forced. + */ + ret_val = phy->ops.read_reg(hw, I82580_PHY_CTRL_2, &phy_data); + if (ret_val) + goto out; + + phy_data &= ~I82580_PHY_CTRL2_AUTO_MDIX; + phy_data &= ~I82580_PHY_CTRL2_FORCE_MDI_MDIX; + + ret_val = phy->ops.write_reg(hw, I82580_PHY_CTRL_2, phy_data); + if (ret_val) + goto out; + + hw_dbg("I82580_PHY_CTRL_2: %X\n", phy_data); + + udelay(1); + + if (phy->autoneg_wait_to_complete) { + hw_dbg("Waiting for forced speed/duplex link on 82580 phy\n"); + + ret_val = igb_phy_has_link(hw, + PHY_FORCE_LIMIT, + 100000, + &link); + if (ret_val) + goto out; + + if (!link) + hw_dbg("Link taking longer than expected.\n"); + + /* Try once more */ + ret_val = igb_phy_has_link(hw, + PHY_FORCE_LIMIT, + 100000, + &link); + if (ret_val) + goto out; + } + +out: + return ret_val; +} + +/** + * igb_get_phy_info_82580 - Retrieve I82580 PHY information + * @hw: pointer to the HW structure + * + * Read PHY status to determine if link is up. If link is up, then + * set/determine 10base-T extended distance and polarity correction. Read + * PHY port status to determine MDI/MDIx and speed. Based on the speed, + * determine on the cable length, local and remote receiver. + **/ +s32 igb_get_phy_info_82580(struct e1000_hw *hw) +{ + struct e1000_phy_info *phy = &hw->phy; + s32 ret_val; + u16 data; + bool link; + + + ret_val = igb_phy_has_link(hw, 1, 0, &link); + if (ret_val) + goto out; + + if (!link) { + hw_dbg("Phy info is only valid if link is up\n"); + ret_val = -E1000_ERR_CONFIG; + goto out; + } + + phy->polarity_correction = true; + + ret_val = igb_check_polarity_82580(hw); + if (ret_val) + goto out; + + ret_val = phy->ops.read_reg(hw, I82580_PHY_STATUS_2, &data); + if (ret_val) + goto out; + + phy->is_mdix = (data & I82580_PHY_STATUS2_MDIX) ? true : false; + + if ((data & I82580_PHY_STATUS2_SPEED_MASK) == + I82580_PHY_STATUS2_SPEED_1000MBPS) { + ret_val = hw->phy.ops.get_cable_length(hw); + if (ret_val) + goto out; + + ret_val = phy->ops.read_reg(hw, PHY_1000T_STATUS, &data); + if (ret_val) + goto out; + + phy->local_rx = (data & SR_1000T_LOCAL_RX_STATUS) + ? e1000_1000t_rx_status_ok + : e1000_1000t_rx_status_not_ok; + + phy->remote_rx = (data & SR_1000T_REMOTE_RX_STATUS) + ? e1000_1000t_rx_status_ok + : e1000_1000t_rx_status_not_ok; + } else { + phy->cable_length = E1000_CABLE_LENGTH_UNDEFINED; + phy->local_rx = e1000_1000t_rx_status_undefined; + phy->remote_rx = e1000_1000t_rx_status_undefined; + } + +out: + return ret_val; +} + +/** + * igb_get_cable_length_82580 - Determine cable length for 82580 PHY + * @hw: pointer to the HW structure + * + * Reads the diagnostic status register and verifies result is valid before + * placing it in the phy_cable_length field. + **/ +s32 igb_get_cable_length_82580(struct e1000_hw *hw) +{ + struct e1000_phy_info *phy = &hw->phy; + s32 ret_val; + u16 phy_data, length; + + + ret_val = phy->ops.read_reg(hw, I82580_PHY_DIAG_STATUS, &phy_data); + if (ret_val) + goto out; + + length = (phy_data & I82580_DSTATUS_CABLE_LENGTH) >> + I82580_DSTATUS_CABLE_LENGTH_SHIFT; + + if (length == E1000_CABLE_LENGTH_UNDEFINED) + ret_val = -E1000_ERR_PHY; + + phy->cable_length = length; + +out: + return ret_val; +} --- linux-2.6.32.orig/drivers/net/igb/e1000_phy.h +++ linux-2.6.32/drivers/net/igb/e1000_phy.h @@ -43,7 +43,6 @@ s32 igb_check_downshift(struct e1000_hw *hw); s32 igb_check_reset_block(struct e1000_hw *hw); -s32 igb_copper_link_autoneg(struct e1000_hw *hw); s32 igb_copper_link_setup_igp(struct e1000_hw *hw); s32 igb_copper_link_setup_m88(struct e1000_hw *hw); s32 igb_phy_force_speed_duplex_igp(struct e1000_hw *hw); @@ -57,10 +56,19 @@ s32 igb_phy_hw_reset(struct e1000_hw *hw); s32 igb_read_phy_reg_igp(struct e1000_hw *hw, u32 offset, u16 *data); s32 igb_set_d3_lplu_state(struct e1000_hw *hw, bool active); +s32 igb_setup_copper_link(struct e1000_hw *hw); s32 igb_write_phy_reg_igp(struct e1000_hw *hw, u32 offset, u16 data); s32 igb_phy_has_link(struct e1000_hw *hw, u32 iterations, u32 usec_interval, bool *success); s32 igb_phy_init_script_igp3(struct e1000_hw *hw); +s32 igb_read_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 *data); +s32 igb_write_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 data); +s32 igb_read_phy_reg_i2c(struct e1000_hw *hw, u32 offset, u16 *data); +s32 igb_write_phy_reg_i2c(struct e1000_hw *hw, u32 offset, u16 data); +s32 igb_copper_link_setup_82580(struct e1000_hw *hw); +s32 igb_get_phy_info_82580(struct e1000_hw *hw); +s32 igb_phy_force_speed_duplex_82580(struct e1000_hw *hw); +s32 igb_get_cable_length_82580(struct e1000_hw *hw); /* IGP01E1000 Specific Registers */ #define IGP01E1000_PHY_PORT_CONFIG 0x10 /* Port Config */ @@ -75,6 +83,33 @@ #define IGP01E1000_PSCR_FORCE_MDI_MDIX 0x2000 /* 0=MDI, 1=MDIX */ #define IGP01E1000_PSCFR_SMART_SPEED 0x0080 +#define I82580_ADDR_REG 16 +#define I82580_CFG_REG 22 +#define I82580_CFG_ASSERT_CRS_ON_TX (1 << 15) +#define I82580_CFG_ENABLE_DOWNSHIFT (3 << 10) /* auto downshift 100/10 */ +#define I82580_CTRL_REG 23 +#define I82580_CTRL_DOWNSHIFT_MASK (7 << 10) + +/* 82580 specific PHY registers */ +#define I82580_PHY_CTRL_2 18 +#define I82580_PHY_LBK_CTRL 19 +#define I82580_PHY_STATUS_2 26 +#define I82580_PHY_DIAG_STATUS 31 + +/* I82580 PHY Status 2 */ +#define I82580_PHY_STATUS2_REV_POLARITY 0x0400 +#define I82580_PHY_STATUS2_MDIX 0x0800 +#define I82580_PHY_STATUS2_SPEED_MASK 0x0300 +#define I82580_PHY_STATUS2_SPEED_1000MBPS 0x0200 +#define I82580_PHY_STATUS2_SPEED_100MBPS 0x0100 + +/* I82580 PHY Control 2 */ +#define I82580_PHY_CTRL2_AUTO_MDIX 0x0400 +#define I82580_PHY_CTRL2_FORCE_MDI_MDIX 0x0200 + +/* I82580 PHY Diagnostics Status */ +#define I82580_DSTATUS_CABLE_LENGTH 0x03FC +#define I82580_DSTATUS_CABLE_LENGTH_SHIFT 2 /* Enable flexible speed on link-up */ #define IGP02E1000_PM_D0_LPLU 0x0002 /* For D0a states */ #define IGP02E1000_PM_D3_LPLU 0x0004 /* For all other states */ --- linux-2.6.32.orig/drivers/net/igb/e1000_regs.h +++ linux-2.6.32/drivers/net/igb/e1000_regs.h @@ -34,6 +34,7 @@ #define E1000_EERD 0x00014 /* EEPROM Read - RW */ #define E1000_CTRL_EXT 0x00018 /* Extended Device Control - RW */ #define E1000_MDIC 0x00020 /* MDI Control - RW */ +#define E1000_MDICNFG 0x00E04 /* MDI Config - RW */ #define E1000_SCTL 0x00024 /* SerDes Control - RW */ #define E1000_FCAL 0x00028 /* Flow Control Address Low - RW */ #define E1000_FCAH 0x0002C /* Flow Control Address High -RW */ @@ -76,59 +77,20 @@ #define E1000_FCRTV 0x02460 /* Flow Control Refresh Timer Value - RW */ /* IEEE 1588 TIMESYNCH */ -#define E1000_TSYNCTXCTL 0x0B614 -#define E1000_TSYNCTXCTL_VALID (1<<0) -#define E1000_TSYNCTXCTL_ENABLED (1<<4) -#define E1000_TSYNCRXCTL 0x0B620 -#define E1000_TSYNCRXCTL_VALID (1<<0) -#define E1000_TSYNCRXCTL_ENABLED (1<<4) -enum { - E1000_TSYNCRXCTL_TYPE_L2_V2 = 0, - E1000_TSYNCRXCTL_TYPE_L4_V1 = (1<<1), - E1000_TSYNCRXCTL_TYPE_L2_L4_V2 = (1<<2), - E1000_TSYNCRXCTL_TYPE_ALL = (1<<3), - E1000_TSYNCRXCTL_TYPE_EVENT_V2 = (1<<3) | (1<<1), -}; -#define E1000_TSYNCRXCFG 0x05F50 -enum { - E1000_TSYNCRXCFG_PTP_V1_SYNC_MESSAGE = 0<<0, - E1000_TSYNCRXCFG_PTP_V1_DELAY_REQ_MESSAGE = 1<<0, - E1000_TSYNCRXCFG_PTP_V1_FOLLOWUP_MESSAGE = 2<<0, - E1000_TSYNCRXCFG_PTP_V1_DELAY_RESP_MESSAGE = 3<<0, - E1000_TSYNCRXCFG_PTP_V1_MANAGEMENT_MESSAGE = 4<<0, - - E1000_TSYNCRXCFG_PTP_V2_SYNC_MESSAGE = 0<<8, - E1000_TSYNCRXCFG_PTP_V2_DELAY_REQ_MESSAGE = 1<<8, - E1000_TSYNCRXCFG_PTP_V2_PATH_DELAY_REQ_MESSAGE = 2<<8, - E1000_TSYNCRXCFG_PTP_V2_PATH_DELAY_RESP_MESSAGE = 3<<8, - E1000_TSYNCRXCFG_PTP_V2_FOLLOWUP_MESSAGE = 8<<8, - E1000_TSYNCRXCFG_PTP_V2_DELAY_RESP_MESSAGE = 9<<8, - E1000_TSYNCRXCFG_PTP_V2_PATH_DELAY_FOLLOWUP_MESSAGE = 0xA<<8, - E1000_TSYNCRXCFG_PTP_V2_ANNOUNCE_MESSAGE = 0xB<<8, - E1000_TSYNCRXCFG_PTP_V2_SIGNALLING_MESSAGE = 0xC<<8, - E1000_TSYNCRXCFG_PTP_V2_MANAGEMENT_MESSAGE = 0xD<<8, -}; -#define E1000_SYSTIML 0x0B600 -#define E1000_SYSTIMH 0x0B604 -#define E1000_TIMINCA 0x0B608 - -#define E1000_RXMTRL 0x0B634 -#define E1000_RXSTMPL 0x0B624 -#define E1000_RXSTMPH 0x0B628 -#define E1000_RXSATRL 0x0B62C -#define E1000_RXSATRH 0x0B630 - -#define E1000_TXSTMPL 0x0B618 -#define E1000_TXSTMPH 0x0B61C - -#define E1000_ETQF0 0x05CB0 -#define E1000_ETQF1 0x05CB4 -#define E1000_ETQF2 0x05CB8 -#define E1000_ETQF3 0x05CBC -#define E1000_ETQF4 0x05CC0 -#define E1000_ETQF5 0x05CC4 -#define E1000_ETQF6 0x05CC8 -#define E1000_ETQF7 0x05CCC +#define E1000_TSYNCRXCTL 0x0B620 /* Rx Time Sync Control register - RW */ +#define E1000_TSYNCTXCTL 0x0B614 /* Tx Time Sync Control register - RW */ +#define E1000_TSYNCRXCFG 0x05F50 /* Time Sync Rx Configuration - RW */ +#define E1000_RXSTMPL 0x0B624 /* Rx timestamp Low - RO */ +#define E1000_RXSTMPH 0x0B628 /* Rx timestamp High - RO */ +#define E1000_RXSATRL 0x0B62C /* Rx timestamp attribute low - RO */ +#define E1000_RXSATRH 0x0B630 /* Rx timestamp attribute high - RO */ +#define E1000_TXSTMPL 0x0B618 /* Tx timestamp value Low - RO */ +#define E1000_TXSTMPH 0x0B61C /* Tx timestamp value High - RO */ +#define E1000_SYSTIML 0x0B600 /* System time register Low - RO */ +#define E1000_SYSTIMH 0x0B604 /* System time register High - RO */ +#define E1000_TIMINCA 0x0B608 /* Increment attributes register - RW */ +#define E1000_TSAUXC 0x0B640 /* Timesync Auxiliary Control register */ +#define E1000_SYSTIMR 0x0B6F8 /* System time register Residue */ /* Filtering Registers */ #define E1000_SAQF(_n) (0x5980 + 4 * (_n)) @@ -143,7 +105,9 @@ #define E1000_ETQF(_n) (0x05CB0 + (4 * (_n))) /* EType Queue Fltr */ #define E1000_RQDPC(_n) (0x0C030 + ((_n) * 0x40)) + /* Split and Replication RX Control - RW */ +#define E1000_RXPBS 0x02404 /* Rx Packet Buffer Size - RW */ /* * Convenience macros * @@ -288,10 +252,17 @@ #define E1000_MTA 0x05200 /* Multicast Table Array - RW Array */ #define E1000_RA 0x05400 /* Receive Address - RW Array */ #define E1000_RA2 0x054E0 /* 2nd half of receive address array - RW Array */ +#define E1000_PSRTYPE(_i) (0x05480 + ((_i) * 4)) #define E1000_RAL(_i) (((_i) <= 15) ? (0x05400 + ((_i) * 8)) : \ (0x054E0 + ((_i - 16) * 8))) #define E1000_RAH(_i) (((_i) <= 15) ? (0x05404 + ((_i) * 8)) : \ (0x054E4 + ((_i - 16) * 8))) +#define E1000_IP4AT_REG(_i) (0x05840 + ((_i) * 8)) +#define E1000_IP6AT_REG(_i) (0x05880 + ((_i) * 4)) +#define E1000_WUPM_REG(_i) (0x05A00 + ((_i) * 4)) +#define E1000_FFMT_REG(_i) (0x09000 + ((_i) * 8)) +#define E1000_FFVT_REG(_i) (0x09800 + ((_i) * 8)) +#define E1000_FFLT_REG(_i) (0x05F00 + ((_i) * 8)) #define E1000_VFTA 0x05600 /* VLAN Filter Table Array - RW Array */ #define E1000_VT_CTL 0x0581C /* VMDq Control - RW */ #define E1000_WUC 0x05800 /* Wakeup Control - RW */ @@ -331,6 +302,7 @@ #define E1000_QDE 0x02408 /* Queue Drop Enable - RW */ #define E1000_DTXSWC 0x03500 /* DMA Tx Switch Control - RW */ #define E1000_RPLOLR 0x05AF0 /* Replication Offload - RW */ +#define E1000_UTA 0x0A000 /* Unicast Table Array - RW */ #define E1000_IOVTCL 0x05BBC /* IOV Control Register */ /* These act per VF so an array friendly macro is used */ #define E1000_P2VMAILBOX(_n) (0x00C00 + (4 * (_n))) @@ -348,4 +320,6 @@ #define array_rd32(reg, offset) \ (readl(hw->hw_addr + reg + ((offset) << 2))) +/* DMA Coalescing registers */ +#define E1000_PCIEMISC 0x05BB8 /* PCIE misc config register */ #endif --- linux-2.6.32.orig/drivers/net/igb/igb.h +++ linux-2.6.32/drivers/net/igb/igb.h @@ -55,12 +55,14 @@ #define IGB_DEFAULT_ITR 3 /* dynamic */ #define IGB_MAX_ITR_USECS 10000 #define IGB_MIN_ITR_USECS 10 +#define NON_Q_VECTORS 1 +#define MAX_Q_VECTORS 8 /* Transmit and receive queues */ -#define IGB_MAX_RX_QUEUES (adapter->vfs_allocated_count ? \ - (adapter->vfs_allocated_count > 6 ? 1 : 2) : 4) -#define IGB_MAX_TX_QUEUES IGB_MAX_RX_QUEUES -#define IGB_ABS_MAX_TX_QUEUES 4 +#define IGB_MAX_RX_QUEUES (adapter->vfs_allocated_count ? 2 : \ + (hw->mac.type > e1000_82575 ? 8 : 4)) +#define IGB_ABS_MAX_TX_QUEUES 8 +#define IGB_MAX_TX_QUEUES IGB_MAX_RX_QUEUES #define IGB_MAX_VF_MC_ENTRIES 30 #define IGB_MAX_VF_FUNCTIONS 8 @@ -71,9 +73,14 @@ u16 vf_mc_hashes[IGB_MAX_VF_MC_ENTRIES]; u16 num_vf_mc_hashes; u16 vlans_enabled; - bool clear_to_send; + u32 flags; + unsigned long last_nack; }; +#define IGB_VF_FLAG_CTS 0x00000001 /* VF is clear to send data */ +#define IGB_VF_FLAG_UNI_PROMISC 0x00000002 /* VF has unicast promisc */ +#define IGB_VF_FLAG_MULTI_PROMISC 0x00000004 /* VF has multicast promisc */ + /* RX descriptor control thresholds. * PTHRESH - MAC will consider prefetch if it has fewer than this number of * descriptors available in its onboard memory. @@ -85,17 +92,19 @@ * descriptors until either it has this many to write back, or the * ITR timer expires. */ -#define IGB_RX_PTHRESH 16 +#define IGB_RX_PTHRESH (hw->mac.type <= e1000_82576 ? 16 : 8) #define IGB_RX_HTHRESH 8 #define IGB_RX_WTHRESH 1 +#define IGB_TX_PTHRESH 8 +#define IGB_TX_HTHRESH 1 +#define IGB_TX_WTHRESH ((hw->mac.type == e1000_82576 && \ + adapter->msix_entries) ? 0 : 16) /* this is the size past which hardware will drop packets when setting LPE=0 */ #define MAXIMUM_ETHERNET_VLAN_SIZE 1522 /* Supported Rx Buffer Sizes */ #define IGB_RXBUFFER_128 128 /* Used for packet split */ -#define IGB_RXBUFFER_256 256 /* Used for packet split */ -#define IGB_RXBUFFER_512 512 #define IGB_RXBUFFER_1024 1024 #define IGB_RXBUFFER_2048 2048 #define IGB_RXBUFFER_16384 16384 @@ -128,12 +137,13 @@ unsigned long time_stamp; u16 length; u16 next_to_watch; + u16 mapped_as_page; }; /* RX */ struct { struct page *page; - u64 page_dma; - unsigned int page_offset; + dma_addr_t page_dma; + u16 page_offset; }; }; }; @@ -141,36 +151,55 @@ struct igb_tx_queue_stats { u64 packets; u64 bytes; + u64 restart_queue; }; struct igb_rx_queue_stats { u64 packets; u64 bytes; u64 drops; + u64 csum_err; + u64 alloc_failed; }; -struct igb_ring { +struct igb_q_vector { struct igb_adapter *adapter; /* backlink */ - void *desc; /* descriptor ring memory */ - dma_addr_t dma; /* phys address of the ring */ - unsigned int size; /* length of desc. ring in bytes */ - unsigned int count; /* number of desc. in the ring */ - u16 next_to_use; - u16 next_to_clean; - u16 head; - u16 tail; - struct igb_buffer *buffer_info; /* array of buffer info structs */ + struct igb_ring *rx_ring; + struct igb_ring *tx_ring; + struct napi_struct napi; u32 eims_value; - u32 itr_val; - u16 itr_register; u16 cpu; - u16 queue_index; - u16 reg_idx; + u16 itr_val; + u8 set_itr; + u8 itr_shift; + void __iomem *itr_register; + + char name[IFNAMSIZ + 9]; +}; + +struct igb_ring { + struct igb_q_vector *q_vector; /* backlink to q_vector */ + struct net_device *netdev; /* back pointer to net_device */ + struct pci_dev *pdev; /* pci device for dma mapping */ + dma_addr_t dma; /* phys address of the ring */ + void *desc; /* descriptor ring memory */ + unsigned int size; /* length of desc. ring in bytes */ + u16 count; /* number of desc. in the ring */ + u16 next_to_use; + u16 next_to_clean; + u8 queue_index; + u8 reg_idx; + void __iomem *head; + void __iomem *tail; + struct igb_buffer *buffer_info; /* array of buffer info structs */ + unsigned int total_bytes; unsigned int total_packets; + u32 flags; + union { /* TX */ struct { @@ -180,16 +209,18 @@ /* RX */ struct { struct igb_rx_queue_stats rx_stats; - u64 rx_queue_drops; - struct napi_struct napi; - int set_itr; - struct igb_ring *buddy; + u32 rx_buffer_len; }; }; - - char name[IFNAMSIZ + 5]; }; +#define IGB_RING_FLAG_RX_CSUM 0x00000001 /* RX CSUM enabled */ +#define IGB_RING_FLAG_RX_SCTP_CSUM 0x00000002 /* SCTP CSUM offload enabled */ + +#define IGB_RING_FLAG_TX_CTX_IDX 0x00000001 /* HW requires context index */ + +#define IGB_ADVTXD_DCMD (E1000_TXD_CMD_EOP | E1000_TXD_CMD_RS) + #define E1000_RX_DESC_ADV(R, i) \ (&(((union e1000_adv_rx_desc *)((R).desc))[i])) #define E1000_TX_DESC_ADV(R, i) \ @@ -197,6 +228,15 @@ #define E1000_TX_CTXTDESC_ADV(R, i) \ (&(((struct e1000_adv_tx_context_desc *)((R).desc))[i])) +/* igb_desc_unused - calculate if we have unused descriptors */ +static inline int igb_desc_unused(struct igb_ring *ring) +{ + if (ring->next_to_clean > ring->next_to_use) + return ring->next_to_clean - ring->next_to_use - 1; + + return ring->count + ring->next_to_clean - ring->next_to_use - 1; +} + /* board specific private data structure */ struct igb_adapter { @@ -205,18 +245,14 @@ struct vlan_group *vlgrp; u16 mng_vlan_id; u32 bd_number; - u32 rx_buffer_len; u32 wol; u32 en_mng_pt; u16 link_speed; u16 link_duplex; - unsigned int total_tx_bytes; - unsigned int total_tx_packets; - unsigned int total_rx_bytes; - unsigned int total_rx_packets; + /* Interrupt Throttle Rate */ - u32 itr; - u32 itr_setting; + u32 rx_itr_setting; + u32 tx_itr_setting; u16 tx_itr; u16 rx_itr; @@ -229,13 +265,7 @@ /* TX */ struct igb_ring *tx_ring; /* One per active queue */ - unsigned int restart_queue; unsigned long tx_queue_len; - u32 txd_cmd; - u32 gotc; - u64 gotc_old; - u64 tpt_old; - u64 colc_old; u32 tx_timeout_count; /* RX */ @@ -243,25 +273,19 @@ int num_tx_queues; int num_rx_queues; - u64 hw_csum_err; - u64 hw_csum_good; - u32 alloc_rx_buff_failed; - u32 gorc; - u64 gorc_old; - u16 rx_ps_hdr_size; u32 max_frame_size; u32 min_frame_size; /* OS defined structs */ struct net_device *netdev; - struct napi_struct napi; struct pci_dev *pdev; - struct net_device_stats net_stats; struct cyclecounter cycles; struct timecounter clock; struct timecompare compare; struct hwtstamp_config hwtstamp_config; + spinlock_t stats_lock; + /* structs defined in e1000_hw.h */ struct e1000_hw hw; struct e1000_hw_stats stats; @@ -273,6 +297,9 @@ struct igb_ring test_rx_ring; int msg_enable; + + unsigned int num_q_vectors; + struct igb_q_vector *q_vector[MAX_Q_VECTORS]; struct msix_entry *msix_entries; u32 eims_enable_mask; u32 eims_other; @@ -283,18 +310,20 @@ u32 eeprom_wol; struct igb_ring *multi_tx_table[IGB_ABS_MAX_TX_QUEUES]; - unsigned int tx_ring_count; - unsigned int rx_ring_count; + u16 tx_ring_count; + u16 rx_ring_count; unsigned int vfs_allocated_count; struct vf_data_storage *vf_data; + u32 rss_queues; }; #define IGB_FLAG_HAS_MSI (1 << 0) #define IGB_FLAG_DCA_ENABLED (1 << 1) #define IGB_FLAG_QUAD_PORT_A (1 << 2) -#define IGB_FLAG_NEED_CTX_IDX (1 << 3) -#define IGB_FLAG_RX_CSUM_DISABLED (1 << 4) +#define IGB_FLAG_QUEUE_PAIRS (1 << 3) +#define IGB_82576_TSYNC_SHIFT 19 +#define IGB_82580_TSYNC_SHIFT 24 enum e1000_state_t { __IGB_TESTING, __IGB_RESETTING, @@ -314,10 +343,18 @@ extern void igb_reinit_locked(struct igb_adapter *); extern void igb_reset(struct igb_adapter *); extern int igb_set_spd_dplx(struct igb_adapter *, u16); -extern int igb_setup_tx_resources(struct igb_adapter *, struct igb_ring *); -extern int igb_setup_rx_resources(struct igb_adapter *, struct igb_ring *); +extern int igb_setup_tx_resources(struct igb_ring *); +extern int igb_setup_rx_resources(struct igb_ring *); extern void igb_free_tx_resources(struct igb_ring *); extern void igb_free_rx_resources(struct igb_ring *); +extern void igb_configure_tx_ring(struct igb_adapter *, struct igb_ring *); +extern void igb_configure_rx_ring(struct igb_adapter *, struct igb_ring *); +extern void igb_setup_tctl(struct igb_adapter *); +extern void igb_setup_rctl(struct igb_adapter *); +extern netdev_tx_t igb_xmit_frame_ring_adv(struct sk_buff *, struct igb_ring *); +extern void igb_unmap_and_free_tx_resource(struct igb_ring *, + struct igb_buffer *); +extern void igb_alloc_rx_buffers_adv(struct igb_ring *, int); extern void igb_update_stats(struct igb_adapter *); extern void igb_set_ethtool_ops(struct net_device *); --- linux-2.6.32.orig/drivers/net/igb/igb_ethtool.c +++ linux-2.6.32/drivers/net/igb/igb_ethtool.c @@ -44,78 +44,94 @@ int stat_offset; }; -#define IGB_STAT(m) FIELD_SIZEOF(struct igb_adapter, m), \ - offsetof(struct igb_adapter, m) +#define IGB_STAT(_name, _stat) { \ + .stat_string = _name, \ + .sizeof_stat = FIELD_SIZEOF(struct igb_adapter, _stat), \ + .stat_offset = offsetof(struct igb_adapter, _stat) \ +} static const struct igb_stats igb_gstrings_stats[] = { - { "rx_packets", IGB_STAT(stats.gprc) }, - { "tx_packets", IGB_STAT(stats.gptc) }, - { "rx_bytes", IGB_STAT(stats.gorc) }, - { "tx_bytes", IGB_STAT(stats.gotc) }, - { "rx_broadcast", IGB_STAT(stats.bprc) }, - { "tx_broadcast", IGB_STAT(stats.bptc) }, - { "rx_multicast", IGB_STAT(stats.mprc) }, - { "tx_multicast", IGB_STAT(stats.mptc) }, - { "rx_errors", IGB_STAT(net_stats.rx_errors) }, - { "tx_errors", IGB_STAT(net_stats.tx_errors) }, - { "tx_dropped", IGB_STAT(net_stats.tx_dropped) }, - { "multicast", IGB_STAT(stats.mprc) }, - { "collisions", IGB_STAT(stats.colc) }, - { "rx_length_errors", IGB_STAT(net_stats.rx_length_errors) }, - { "rx_over_errors", IGB_STAT(net_stats.rx_over_errors) }, - { "rx_crc_errors", IGB_STAT(stats.crcerrs) }, - { "rx_frame_errors", IGB_STAT(net_stats.rx_frame_errors) }, - { "rx_no_buffer_count", IGB_STAT(stats.rnbc) }, - { "rx_queue_drop_packet_count", IGB_STAT(net_stats.rx_fifo_errors) }, - { "rx_missed_errors", IGB_STAT(stats.mpc) }, - { "tx_aborted_errors", IGB_STAT(stats.ecol) }, - { "tx_carrier_errors", IGB_STAT(stats.tncrs) }, - { "tx_fifo_errors", IGB_STAT(net_stats.tx_fifo_errors) }, - { "tx_heartbeat_errors", IGB_STAT(net_stats.tx_heartbeat_errors) }, - { "tx_window_errors", IGB_STAT(stats.latecol) }, - { "tx_abort_late_coll", IGB_STAT(stats.latecol) }, - { "tx_deferred_ok", IGB_STAT(stats.dc) }, - { "tx_single_coll_ok", IGB_STAT(stats.scc) }, - { "tx_multi_coll_ok", IGB_STAT(stats.mcc) }, - { "tx_timeout_count", IGB_STAT(tx_timeout_count) }, - { "tx_restart_queue", IGB_STAT(restart_queue) }, - { "rx_long_length_errors", IGB_STAT(stats.roc) }, - { "rx_short_length_errors", IGB_STAT(stats.ruc) }, - { "rx_align_errors", IGB_STAT(stats.algnerrc) }, - { "tx_tcp_seg_good", IGB_STAT(stats.tsctc) }, - { "tx_tcp_seg_failed", IGB_STAT(stats.tsctfc) }, - { "rx_flow_control_xon", IGB_STAT(stats.xonrxc) }, - { "rx_flow_control_xoff", IGB_STAT(stats.xoffrxc) }, - { "tx_flow_control_xon", IGB_STAT(stats.xontxc) }, - { "tx_flow_control_xoff", IGB_STAT(stats.xofftxc) }, - { "rx_long_byte_count", IGB_STAT(stats.gorc) }, - { "rx_csum_offload_good", IGB_STAT(hw_csum_good) }, - { "rx_csum_offload_errors", IGB_STAT(hw_csum_err) }, - { "tx_dma_out_of_sync", IGB_STAT(stats.doosync) }, - { "alloc_rx_buff_failed", IGB_STAT(alloc_rx_buff_failed) }, - { "tx_smbus", IGB_STAT(stats.mgptc) }, - { "rx_smbus", IGB_STAT(stats.mgprc) }, - { "dropped_smbus", IGB_STAT(stats.mgpdc) }, + IGB_STAT("rx_packets", stats.gprc), + IGB_STAT("tx_packets", stats.gptc), + IGB_STAT("rx_bytes", stats.gorc), + IGB_STAT("tx_bytes", stats.gotc), + IGB_STAT("rx_broadcast", stats.bprc), + IGB_STAT("tx_broadcast", stats.bptc), + IGB_STAT("rx_multicast", stats.mprc), + IGB_STAT("tx_multicast", stats.mptc), + IGB_STAT("multicast", stats.mprc), + IGB_STAT("collisions", stats.colc), + IGB_STAT("rx_crc_errors", stats.crcerrs), + IGB_STAT("rx_no_buffer_count", stats.rnbc), + IGB_STAT("rx_missed_errors", stats.mpc), + IGB_STAT("tx_aborted_errors", stats.ecol), + IGB_STAT("tx_carrier_errors", stats.tncrs), + IGB_STAT("tx_window_errors", stats.latecol), + IGB_STAT("tx_abort_late_coll", stats.latecol), + IGB_STAT("tx_deferred_ok", stats.dc), + IGB_STAT("tx_single_coll_ok", stats.scc), + IGB_STAT("tx_multi_coll_ok", stats.mcc), + IGB_STAT("tx_timeout_count", tx_timeout_count), + IGB_STAT("rx_long_length_errors", stats.roc), + IGB_STAT("rx_short_length_errors", stats.ruc), + IGB_STAT("rx_align_errors", stats.algnerrc), + IGB_STAT("tx_tcp_seg_good", stats.tsctc), + IGB_STAT("tx_tcp_seg_failed", stats.tsctfc), + IGB_STAT("rx_flow_control_xon", stats.xonrxc), + IGB_STAT("rx_flow_control_xoff", stats.xoffrxc), + IGB_STAT("tx_flow_control_xon", stats.xontxc), + IGB_STAT("tx_flow_control_xoff", stats.xofftxc), + IGB_STAT("rx_long_byte_count", stats.gorc), + IGB_STAT("tx_dma_out_of_sync", stats.doosync), + IGB_STAT("tx_smbus", stats.mgptc), + IGB_STAT("rx_smbus", stats.mgprc), + IGB_STAT("dropped_smbus", stats.mgpdc), +}; + +#define IGB_NETDEV_STAT(_net_stat) { \ + .stat_string = __stringify(_net_stat), \ + .sizeof_stat = FIELD_SIZEOF(struct net_device_stats, _net_stat), \ + .stat_offset = offsetof(struct net_device_stats, _net_stat) \ +} +static const struct igb_stats igb_gstrings_net_stats[] = { + IGB_NETDEV_STAT(rx_errors), + IGB_NETDEV_STAT(tx_errors), + IGB_NETDEV_STAT(tx_dropped), + IGB_NETDEV_STAT(rx_length_errors), + IGB_NETDEV_STAT(rx_over_errors), + IGB_NETDEV_STAT(rx_frame_errors), + IGB_NETDEV_STAT(rx_fifo_errors), + IGB_NETDEV_STAT(tx_fifo_errors), + IGB_NETDEV_STAT(tx_heartbeat_errors) }; -#define IGB_QUEUE_STATS_LEN \ - (((((struct igb_adapter *)netdev_priv(netdev))->num_rx_queues)* \ - (sizeof(struct igb_rx_queue_stats) / sizeof(u64))) + \ - ((((struct igb_adapter *)netdev_priv(netdev))->num_tx_queues) * \ - (sizeof(struct igb_tx_queue_stats) / sizeof(u64)))) #define IGB_GLOBAL_STATS_LEN \ - sizeof(igb_gstrings_stats) / sizeof(struct igb_stats) -#define IGB_STATS_LEN (IGB_GLOBAL_STATS_LEN + IGB_QUEUE_STATS_LEN) + (sizeof(igb_gstrings_stats) / sizeof(struct igb_stats)) +#define IGB_NETDEV_STATS_LEN \ + (sizeof(igb_gstrings_net_stats) / sizeof(struct igb_stats)) +#define IGB_RX_QUEUE_STATS_LEN \ + (sizeof(struct igb_rx_queue_stats) / sizeof(u64)) +#define IGB_TX_QUEUE_STATS_LEN \ + (sizeof(struct igb_tx_queue_stats) / sizeof(u64)) +#define IGB_QUEUE_STATS_LEN \ + ((((struct igb_adapter *)netdev_priv(netdev))->num_rx_queues * \ + IGB_RX_QUEUE_STATS_LEN) + \ + (((struct igb_adapter *)netdev_priv(netdev))->num_tx_queues * \ + IGB_TX_QUEUE_STATS_LEN)) +#define IGB_STATS_LEN \ + (IGB_GLOBAL_STATS_LEN + IGB_NETDEV_STATS_LEN + IGB_QUEUE_STATS_LEN) + static const char igb_gstrings_test[][ETH_GSTRING_LEN] = { "Register test (offline)", "Eeprom test (offline)", "Interrupt test (offline)", "Loopback test (offline)", "Link test (on/offline)" }; -#define IGB_TEST_LEN sizeof(igb_gstrings_test) / ETH_GSTRING_LEN +#define IGB_TEST_LEN (sizeof(igb_gstrings_test) / ETH_GSTRING_LEN) static int igb_get_settings(struct net_device *netdev, struct ethtool_cmd *ecmd) { struct igb_adapter *adapter = netdev_priv(netdev); struct e1000_hw *hw = &adapter->hw; + u32 status; if (hw->phy.media_type == e1000_media_type_copper) { @@ -150,17 +166,20 @@ ecmd->transceiver = XCVR_INTERNAL; - if (rd32(E1000_STATUS) & E1000_STATUS_LU) { + status = rd32(E1000_STATUS); - adapter->hw.mac.ops.get_speed_and_duplex(hw, - &adapter->link_speed, - &adapter->link_duplex); - ecmd->speed = adapter->link_speed; + if (status & E1000_STATUS_LU) { - /* unfortunately FULL_DUPLEX != DUPLEX_FULL - * and HALF_DUPLEX != DUPLEX_HALF */ + if ((status & E1000_STATUS_SPEED_1000) || + hw->phy.media_type != e1000_media_type_copper) + ecmd->speed = SPEED_1000; + else if (status & E1000_STATUS_SPEED_100) + ecmd->speed = SPEED_100; + else + ecmd->speed = SPEED_10; - if (adapter->link_duplex == FULL_DUPLEX) + if ((status & E1000_STATUS_FD) || + hw->phy.media_type != e1000_media_type_copper) ecmd->duplex = DUPLEX_FULL; else ecmd->duplex = DUPLEX_HALF; @@ -251,8 +270,9 @@ if (netif_running(adapter->netdev)) { igb_down(adapter); igb_up(adapter); - } else + } else { igb_reset(adapter); + } } else { if (pause->rx_pause && pause->tx_pause) hw->fc.requested_mode = e1000_fc_full; @@ -276,17 +296,20 @@ static u32 igb_get_rx_csum(struct net_device *netdev) { struct igb_adapter *adapter = netdev_priv(netdev); - return !(adapter->flags & IGB_FLAG_RX_CSUM_DISABLED); + return !!(adapter->rx_ring[0].flags & IGB_RING_FLAG_RX_CSUM); } static int igb_set_rx_csum(struct net_device *netdev, u32 data) { struct igb_adapter *adapter = netdev_priv(netdev); + int i; - if (data) - adapter->flags &= ~IGB_FLAG_RX_CSUM_DISABLED; - else - adapter->flags |= IGB_FLAG_RX_CSUM_DISABLED; + for (i = 0; i < adapter->num_rx_queues; i++) { + if (data) + adapter->rx_ring[i].flags |= IGB_RING_FLAG_RX_CSUM; + else + adapter->rx_ring[i].flags &= ~IGB_RING_FLAG_RX_CSUM; + } return 0; } @@ -302,7 +325,7 @@ if (data) { netdev->features |= (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM); - if (adapter->hw.mac.type == e1000_82576) + if (adapter->hw.mac.type >= e1000_82576) netdev->features |= NETIF_F_SCTP_CSUM; } else { netdev->features &= ~(NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | @@ -496,19 +519,10 @@ regs_buff[119] = adapter->stats.scvpc; regs_buff[120] = adapter->stats.hrmpc; - /* These should probably be added to e1000_regs.h instead */ - #define E1000_PSRTYPE_REG(_i) (0x05480 + ((_i) * 4)) - #define E1000_IP4AT_REG(_i) (0x05840 + ((_i) * 8)) - #define E1000_IP6AT_REG(_i) (0x05880 + ((_i) * 4)) - #define E1000_WUPM_REG(_i) (0x05A00 + ((_i) * 4)) - #define E1000_FFMT_REG(_i) (0x09000 + ((_i) * 8)) - #define E1000_FFVT_REG(_i) (0x09800 + ((_i) * 8)) - #define E1000_FFLT_REG(_i) (0x05F00 + ((_i) * 8)) - for (i = 0; i < 4; i++) regs_buff[121 + i] = rd32(E1000_SRRCTL(i)); for (i = 0; i < 4; i++) - regs_buff[125 + i] = rd32(E1000_PSRTYPE_REG(i)); + regs_buff[125 + i] = rd32(E1000_PSRTYPE(i)); for (i = 0; i < 4; i++) regs_buff[129 + i] = rd32(E1000_RDBAL(i)); for (i = 0; i < 4; i++) @@ -733,17 +747,17 @@ struct igb_adapter *adapter = netdev_priv(netdev); struct igb_ring *temp_ring; int i, err = 0; - u32 new_rx_count, new_tx_count; + u16 new_rx_count, new_tx_count; if ((ring->rx_mini_pending) || (ring->rx_jumbo_pending)) return -EINVAL; - new_rx_count = max(ring->rx_pending, (u32)IGB_MIN_RXD); - new_rx_count = min(new_rx_count, (u32)IGB_MAX_RXD); + new_rx_count = min_t(u32, ring->rx_pending, IGB_MAX_RXD); + new_rx_count = max_t(u16, new_rx_count, IGB_MIN_RXD); new_rx_count = ALIGN(new_rx_count, REQ_RX_DESCRIPTOR_MULTIPLE); - new_tx_count = max(ring->tx_pending, (u32)IGB_MIN_TXD); - new_tx_count = min(new_tx_count, (u32)IGB_MAX_TXD); + new_tx_count = min_t(u32, ring->tx_pending, IGB_MAX_TXD); + new_tx_count = max_t(u16, new_tx_count, IGB_MIN_TXD); new_tx_count = ALIGN(new_tx_count, REQ_TX_DESCRIPTOR_MULTIPLE); if ((new_tx_count == adapter->tx_ring_count) && @@ -788,7 +802,7 @@ for (i = 0; i < adapter->num_tx_queues; i++) { temp_ring[i].count = new_tx_count; - err = igb_setup_tx_resources(adapter, &temp_ring[i]); + err = igb_setup_tx_resources(&temp_ring[i]); if (err) { while (i) { i--; @@ -813,7 +827,7 @@ for (i = 0; i < adapter->num_rx_queues; i++) { temp_ring[i].count = new_rx_count; - err = igb_setup_rx_resources(adapter, &temp_ring[i]); + err = igb_setup_rx_resources(&temp_ring[i]); if (err) { while (i) { i--; @@ -867,6 +881,49 @@ #define TABLE64_TEST_LO 5 #define TABLE64_TEST_HI 6 +/* 82580 reg test */ +static struct igb_reg_test reg_test_82580[] = { + { E1000_FCAL, 0x100, 1, PATTERN_TEST, 0xFFFFFFFF, 0xFFFFFFFF }, + { E1000_FCAH, 0x100, 1, PATTERN_TEST, 0x0000FFFF, 0xFFFFFFFF }, + { E1000_FCT, 0x100, 1, PATTERN_TEST, 0x0000FFFF, 0xFFFFFFFF }, + { E1000_VET, 0x100, 1, PATTERN_TEST, 0xFFFFFFFF, 0xFFFFFFFF }, + { E1000_RDBAL(0), 0x100, 4, PATTERN_TEST, 0xFFFFFF80, 0xFFFFFFFF }, + { E1000_RDBAH(0), 0x100, 4, PATTERN_TEST, 0xFFFFFFFF, 0xFFFFFFFF }, + { E1000_RDLEN(0), 0x100, 4, PATTERN_TEST, 0x000FFFF0, 0x000FFFFF }, + { E1000_RDBAL(4), 0x40, 4, PATTERN_TEST, 0xFFFFFF80, 0xFFFFFFFF }, + { E1000_RDBAH(4), 0x40, 4, PATTERN_TEST, 0xFFFFFFFF, 0xFFFFFFFF }, + { E1000_RDLEN(4), 0x40, 4, PATTERN_TEST, 0x000FFFF0, 0x000FFFFF }, + /* RDH is read-only for 82580, only test RDT. */ + { E1000_RDT(0), 0x100, 4, PATTERN_TEST, 0x0000FFFF, 0x0000FFFF }, + { E1000_RDT(4), 0x40, 4, PATTERN_TEST, 0x0000FFFF, 0x0000FFFF }, + { E1000_FCRTH, 0x100, 1, PATTERN_TEST, 0x0000FFF0, 0x0000FFF0 }, + { E1000_FCTTV, 0x100, 1, PATTERN_TEST, 0x0000FFFF, 0x0000FFFF }, + { E1000_TIPG, 0x100, 1, PATTERN_TEST, 0x3FFFFFFF, 0x3FFFFFFF }, + { E1000_TDBAL(0), 0x100, 4, PATTERN_TEST, 0xFFFFFF80, 0xFFFFFFFF }, + { E1000_TDBAH(0), 0x100, 4, PATTERN_TEST, 0xFFFFFFFF, 0xFFFFFFFF }, + { E1000_TDLEN(0), 0x100, 4, PATTERN_TEST, 0x000FFFF0, 0x000FFFFF }, + { E1000_TDBAL(4), 0x40, 4, PATTERN_TEST, 0xFFFFFF80, 0xFFFFFFFF }, + { E1000_TDBAH(4), 0x40, 4, PATTERN_TEST, 0xFFFFFFFF, 0xFFFFFFFF }, + { E1000_TDLEN(4), 0x40, 4, PATTERN_TEST, 0x000FFFF0, 0x000FFFFF }, + { E1000_TDT(0), 0x100, 4, PATTERN_TEST, 0x0000FFFF, 0x0000FFFF }, + { E1000_TDT(4), 0x40, 4, PATTERN_TEST, 0x0000FFFF, 0x0000FFFF }, + { E1000_RCTL, 0x100, 1, SET_READ_TEST, 0xFFFFFFFF, 0x00000000 }, + { E1000_RCTL, 0x100, 1, SET_READ_TEST, 0x04CFB0FE, 0x003FFFFB }, + { E1000_RCTL, 0x100, 1, SET_READ_TEST, 0x04CFB0FE, 0xFFFFFFFF }, + { E1000_TCTL, 0x100, 1, SET_READ_TEST, 0xFFFFFFFF, 0x00000000 }, + { E1000_RA, 0, 16, TABLE64_TEST_LO, + 0xFFFFFFFF, 0xFFFFFFFF }, + { E1000_RA, 0, 16, TABLE64_TEST_HI, + 0x83FFFFFF, 0xFFFFFFFF }, + { E1000_RA2, 0, 8, TABLE64_TEST_LO, + 0xFFFFFFFF, 0xFFFFFFFF }, + { E1000_RA2, 0, 8, TABLE64_TEST_HI, + 0x83FFFFFF, 0xFFFFFFFF }, + { E1000_MTA, 0, 128, TABLE32_TEST, + 0xFFFFFFFF, 0xFFFFFFFF }, + { 0, 0, 0, 0 } +}; + /* 82576 reg test */ static struct igb_reg_test reg_test_82576[] = { { E1000_FCAL, 0x100, 1, PATTERN_TEST, 0xFFFFFFFF, 0xFFFFFFFF }, @@ -944,7 +1001,7 @@ { struct e1000_hw *hw = &adapter->hw; u32 pat, val; - u32 _test[] = + static const u32 _test[] = {0x5A5A5A5A, 0xA5A5A5A5, 0x00000000, 0xFFFFFFFF}; for (pat = 0; pat < ARRAY_SIZE(_test); pat++) { wr32(reg, (_test[pat] & write)); @@ -957,6 +1014,7 @@ return 1; } } + return 0; } @@ -974,6 +1032,7 @@ *data = reg; return 1; } + return 0; } @@ -996,14 +1055,18 @@ u32 value, before, after; u32 i, toggle; - toggle = 0x7FFFF3FF; - switch (adapter->hw.mac.type) { + case e1000_82580: + test = reg_test_82580; + toggle = 0x7FEFF3FF; + break; case e1000_82576: test = reg_test_82576; + toggle = 0x7FFFF3FF; break; default: test = reg_test_82575; + toggle = 0x7FFFF3FF; break; } @@ -1081,8 +1144,7 @@ *data = 0; /* Read and add up the contents of the EEPROM */ for (i = 0; i < (NVM_CHECKSUM_REG + 1); i++) { - if ((adapter->hw.nvm.ops.read(&adapter->hw, i, 1, &temp)) - < 0) { + if ((adapter->hw.nvm.ops.read(&adapter->hw, i, 1, &temp)) < 0) { *data = 1; break; } @@ -1098,8 +1160,7 @@ static irqreturn_t igb_test_intr(int irq, void *data) { - struct net_device *netdev = (struct net_device *) data; - struct igb_adapter *adapter = netdev_priv(netdev); + struct igb_adapter *adapter = (struct igb_adapter *) data; struct e1000_hw *hw = &adapter->hw; adapter->test_icr |= rd32(E1000_ICR); @@ -1117,38 +1178,45 @@ *data = 0; /* Hook up test interrupt handler just for this test */ - if (adapter->msix_entries) - /* NOTE: we don't test MSI-X interrupts here, yet */ - return 0; - - if (adapter->flags & IGB_FLAG_HAS_MSI) { + if (adapter->msix_entries) { + if (request_irq(adapter->msix_entries[0].vector, + &igb_test_intr, 0, netdev->name, adapter)) { + *data = 1; + return -1; + } + } else if (adapter->flags & IGB_FLAG_HAS_MSI) { shared_int = false; - if (request_irq(irq, &igb_test_intr, 0, netdev->name, netdev)) { + if (request_irq(irq, + &igb_test_intr, 0, netdev->name, adapter)) { *data = 1; return -1; } } else if (!request_irq(irq, &igb_test_intr, IRQF_PROBE_SHARED, - netdev->name, netdev)) { + netdev->name, adapter)) { shared_int = false; } else if (request_irq(irq, &igb_test_intr, IRQF_SHARED, - netdev->name, netdev)) { + netdev->name, adapter)) { *data = 1; return -1; } dev_info(&adapter->pdev->dev, "testing %s interrupt\n", (shared_int ? "shared" : "unshared")); + /* Disable all the interrupts */ - wr32(E1000_IMC, 0xFFFFFFFF); + wr32(E1000_IMC, ~0); msleep(10); /* Define all writable bits for ICS */ - switch(hw->mac.type) { + switch (hw->mac.type) { case e1000_82575: ics_mask = 0x37F47EDD; break; case e1000_82576: ics_mask = 0x77D4FBFD; break; + case e1000_82580: + ics_mask = 0x77DCFED5; + break; default: ics_mask = 0x7FFFFFFF; break; @@ -1232,190 +1300,61 @@ msleep(10); /* Unhook test interrupt handler */ - free_irq(irq, netdev); + if (adapter->msix_entries) + free_irq(adapter->msix_entries[0].vector, adapter); + else + free_irq(irq, adapter); return *data; } static void igb_free_desc_rings(struct igb_adapter *adapter) { - struct igb_ring *tx_ring = &adapter->test_tx_ring; - struct igb_ring *rx_ring = &adapter->test_rx_ring; - struct pci_dev *pdev = adapter->pdev; - int i; - - if (tx_ring->desc && tx_ring->buffer_info) { - for (i = 0; i < tx_ring->count; i++) { - struct igb_buffer *buf = &(tx_ring->buffer_info[i]); - if (buf->dma) - pci_unmap_single(pdev, buf->dma, buf->length, - PCI_DMA_TODEVICE); - if (buf->skb) - dev_kfree_skb(buf->skb); - } - } - - if (rx_ring->desc && rx_ring->buffer_info) { - for (i = 0; i < rx_ring->count; i++) { - struct igb_buffer *buf = &(rx_ring->buffer_info[i]); - if (buf->dma) - pci_unmap_single(pdev, buf->dma, - IGB_RXBUFFER_2048, - PCI_DMA_FROMDEVICE); - if (buf->skb) - dev_kfree_skb(buf->skb); - } - } - - if (tx_ring->desc) { - pci_free_consistent(pdev, tx_ring->size, tx_ring->desc, - tx_ring->dma); - tx_ring->desc = NULL; - } - if (rx_ring->desc) { - pci_free_consistent(pdev, rx_ring->size, rx_ring->desc, - rx_ring->dma); - rx_ring->desc = NULL; - } - - kfree(tx_ring->buffer_info); - tx_ring->buffer_info = NULL; - kfree(rx_ring->buffer_info); - rx_ring->buffer_info = NULL; - - return; + igb_free_tx_resources(&adapter->test_tx_ring); + igb_free_rx_resources(&adapter->test_rx_ring); } static int igb_setup_desc_rings(struct igb_adapter *adapter) { - struct e1000_hw *hw = &adapter->hw; struct igb_ring *tx_ring = &adapter->test_tx_ring; struct igb_ring *rx_ring = &adapter->test_rx_ring; - struct pci_dev *pdev = adapter->pdev; - struct igb_buffer *buffer_info; - u32 rctl; - int i, ret_val; + struct e1000_hw *hw = &adapter->hw; + int ret_val; /* Setup Tx descriptor ring and Tx buffers */ + tx_ring->count = IGB_DEFAULT_TXD; + tx_ring->pdev = adapter->pdev; + tx_ring->netdev = adapter->netdev; + tx_ring->reg_idx = adapter->vfs_allocated_count; - if (!tx_ring->count) - tx_ring->count = IGB_DEFAULT_TXD; - - tx_ring->buffer_info = kcalloc(tx_ring->count, - sizeof(struct igb_buffer), - GFP_KERNEL); - if (!tx_ring->buffer_info) { + if (igb_setup_tx_resources(tx_ring)) { ret_val = 1; goto err_nomem; } - tx_ring->size = tx_ring->count * sizeof(union e1000_adv_tx_desc); - tx_ring->size = ALIGN(tx_ring->size, 4096); - tx_ring->desc = pci_alloc_consistent(pdev, tx_ring->size, - &tx_ring->dma); - if (!tx_ring->desc) { - ret_val = 2; - goto err_nomem; - } - tx_ring->next_to_use = tx_ring->next_to_clean = 0; - - wr32(E1000_TDBAL(0), - ((u64) tx_ring->dma & 0x00000000FFFFFFFF)); - wr32(E1000_TDBAH(0), ((u64) tx_ring->dma >> 32)); - wr32(E1000_TDLEN(0), - tx_ring->count * sizeof(union e1000_adv_tx_desc)); - wr32(E1000_TDH(0), 0); - wr32(E1000_TDT(0), 0); - wr32(E1000_TCTL, - E1000_TCTL_PSP | E1000_TCTL_EN | - E1000_COLLISION_THRESHOLD << E1000_CT_SHIFT | - E1000_COLLISION_DISTANCE << E1000_COLD_SHIFT); - - for (i = 0; i < tx_ring->count; i++) { - union e1000_adv_tx_desc *tx_desc; - struct sk_buff *skb; - unsigned int size = 1024; - - tx_desc = E1000_TX_DESC_ADV(*tx_ring, i); - skb = alloc_skb(size, GFP_KERNEL); - if (!skb) { - ret_val = 3; - goto err_nomem; - } - skb_put(skb, size); - buffer_info = &tx_ring->buffer_info[i]; - buffer_info->skb = skb; - buffer_info->length = skb->len; - buffer_info->dma = pci_map_single(pdev, skb->data, skb->len, - PCI_DMA_TODEVICE); - tx_desc->read.buffer_addr = cpu_to_le64(buffer_info->dma); - tx_desc->read.olinfo_status = cpu_to_le32(skb->len) << - E1000_ADVTXD_PAYLEN_SHIFT; - tx_desc->read.cmd_type_len = cpu_to_le32(skb->len); - tx_desc->read.cmd_type_len |= cpu_to_le32(E1000_TXD_CMD_EOP | - E1000_TXD_CMD_IFCS | - E1000_TXD_CMD_RS | - E1000_ADVTXD_DTYP_DATA | - E1000_ADVTXD_DCMD_DEXT); - } + igb_setup_tctl(adapter); + igb_configure_tx_ring(adapter, tx_ring); /* Setup Rx descriptor ring and Rx buffers */ + rx_ring->count = IGB_DEFAULT_RXD; + rx_ring->pdev = adapter->pdev; + rx_ring->netdev = adapter->netdev; + rx_ring->rx_buffer_len = IGB_RXBUFFER_2048; + rx_ring->reg_idx = adapter->vfs_allocated_count; - if (!rx_ring->count) - rx_ring->count = IGB_DEFAULT_RXD; - - rx_ring->buffer_info = kcalloc(rx_ring->count, - sizeof(struct igb_buffer), - GFP_KERNEL); - if (!rx_ring->buffer_info) { - ret_val = 4; + if (igb_setup_rx_resources(rx_ring)) { + ret_val = 3; goto err_nomem; } - rx_ring->size = rx_ring->count * sizeof(union e1000_adv_rx_desc); - rx_ring->desc = pci_alloc_consistent(pdev, rx_ring->size, - &rx_ring->dma); - if (!rx_ring->desc) { - ret_val = 5; - goto err_nomem; - } - rx_ring->next_to_use = rx_ring->next_to_clean = 0; + /* set the default queue to queue 0 of PF */ + wr32(E1000_MRQC, adapter->vfs_allocated_count << 3); - rctl = rd32(E1000_RCTL); - wr32(E1000_RCTL, rctl & ~E1000_RCTL_EN); - wr32(E1000_RDBAL(0), - ((u64) rx_ring->dma & 0xFFFFFFFF)); - wr32(E1000_RDBAH(0), - ((u64) rx_ring->dma >> 32)); - wr32(E1000_RDLEN(0), rx_ring->size); - wr32(E1000_RDH(0), 0); - wr32(E1000_RDT(0), 0); - rctl &= ~(E1000_RCTL_LBM_TCVR | E1000_RCTL_LBM_MAC); - rctl = E1000_RCTL_EN | E1000_RCTL_BAM | E1000_RCTL_RDMTS_HALF | - (adapter->hw.mac.mc_filter_type << E1000_RCTL_MO_SHIFT); - wr32(E1000_RCTL, rctl); - wr32(E1000_SRRCTL(0), E1000_SRRCTL_DESCTYPE_ADV_ONEBUF); + /* enable receive ring */ + igb_setup_rctl(adapter); + igb_configure_rx_ring(adapter, rx_ring); - for (i = 0; i < rx_ring->count; i++) { - union e1000_adv_rx_desc *rx_desc; - struct sk_buff *skb; - - buffer_info = &rx_ring->buffer_info[i]; - rx_desc = E1000_RX_DESC_ADV(*rx_ring, i); - skb = alloc_skb(IGB_RXBUFFER_2048 + NET_IP_ALIGN, - GFP_KERNEL); - if (!skb) { - ret_val = 6; - goto err_nomem; - } - skb_reserve(skb, NET_IP_ALIGN); - buffer_info->skb = skb; - buffer_info->dma = pci_map_single(pdev, skb->data, - IGB_RXBUFFER_2048, - PCI_DMA_FROMDEVICE); - rx_desc->read.pkt_addr = cpu_to_le64(buffer_info->dma); - memset(skb->data, 0x00, skb->len); - } + igb_alloc_rx_buffers_adv(rx_ring, igb_desc_unused(rx_ring)); return 0; @@ -1449,6 +1388,9 @@ igb_write_phy_reg(hw, PHY_CONTROL, 0x9140); /* autoneg off */ igb_write_phy_reg(hw, PHY_CONTROL, 0x8140); + } else if (hw->phy.type == e1000_phy_82580) { + /* enable MII loopback */ + igb_write_phy_reg(hw, I82580_PHY_LBK_CTRL, 0x8041); } ctrl_reg = rd32(E1000_CTRL); @@ -1491,7 +1433,10 @@ struct e1000_hw *hw = &adapter->hw; u32 reg; - if (hw->phy.media_type == e1000_media_type_internal_serdes) { + reg = rd32(E1000_CTRL_EXT); + + /* use CTRL_EXT to identify link type as SGMII can appear as copper */ + if (reg & E1000_CTRL_EXT_LINK_MODE_MASK) { reg = rd32(E1000_RCTL); reg |= E1000_RCTL_LBM_TCVR; wr32(E1000_RCTL, reg); @@ -1522,11 +1467,9 @@ wr32(E1000_PCS_LCTL, reg); return 0; - } else if (hw->phy.media_type == e1000_media_type_copper) { - return igb_set_phy_loopback(adapter); } - return 7; + return igb_set_phy_loopback(adapter); } static void igb_loopback_cleanup(struct igb_adapter *adapter) @@ -1552,35 +1495,99 @@ unsigned int frame_size) { memset(skb->data, 0xFF, frame_size); - frame_size &= ~1; - memset(&skb->data[frame_size / 2], 0xAA, frame_size / 2 - 1); - memset(&skb->data[frame_size / 2 + 10], 0xBE, 1); - memset(&skb->data[frame_size / 2 + 12], 0xAF, 1); + frame_size /= 2; + memset(&skb->data[frame_size], 0xAA, frame_size - 1); + memset(&skb->data[frame_size + 10], 0xBE, 1); + memset(&skb->data[frame_size + 12], 0xAF, 1); } static int igb_check_lbtest_frame(struct sk_buff *skb, unsigned int frame_size) { - frame_size &= ~1; - if (*(skb->data + 3) == 0xFF) - if ((*(skb->data + frame_size / 2 + 10) == 0xBE) && - (*(skb->data + frame_size / 2 + 12) == 0xAF)) + frame_size /= 2; + if (*(skb->data + 3) == 0xFF) { + if ((*(skb->data + frame_size + 10) == 0xBE) && + (*(skb->data + frame_size + 12) == 0xAF)) { return 0; + } + } return 13; } +static int igb_clean_test_rings(struct igb_ring *rx_ring, + struct igb_ring *tx_ring, + unsigned int size) +{ + union e1000_adv_rx_desc *rx_desc; + struct igb_buffer *buffer_info; + int rx_ntc, tx_ntc, count = 0; + u32 staterr; + + /* initialize next to clean and descriptor values */ + rx_ntc = rx_ring->next_to_clean; + tx_ntc = tx_ring->next_to_clean; + rx_desc = E1000_RX_DESC_ADV(*rx_ring, rx_ntc); + staterr = le32_to_cpu(rx_desc->wb.upper.status_error); + + while (staterr & E1000_RXD_STAT_DD) { + /* check rx buffer */ + buffer_info = &rx_ring->buffer_info[rx_ntc]; + + /* unmap rx buffer, will be remapped by alloc_rx_buffers */ + pci_unmap_single(rx_ring->pdev, + buffer_info->dma, + rx_ring->rx_buffer_len, + PCI_DMA_FROMDEVICE); + buffer_info->dma = 0; + + /* verify contents of skb */ + if (!igb_check_lbtest_frame(buffer_info->skb, size)) + count++; + + /* unmap buffer on tx side */ + buffer_info = &tx_ring->buffer_info[tx_ntc]; + igb_unmap_and_free_tx_resource(tx_ring, buffer_info); + + /* increment rx/tx next to clean counters */ + rx_ntc++; + if (rx_ntc == rx_ring->count) + rx_ntc = 0; + tx_ntc++; + if (tx_ntc == tx_ring->count) + tx_ntc = 0; + + /* fetch next descriptor */ + rx_desc = E1000_RX_DESC_ADV(*rx_ring, rx_ntc); + staterr = le32_to_cpu(rx_desc->wb.upper.status_error); + } + + /* re-map buffers to ring, store next to clean values */ + igb_alloc_rx_buffers_adv(rx_ring, count); + rx_ring->next_to_clean = rx_ntc; + tx_ring->next_to_clean = tx_ntc; + + return count; +} + static int igb_run_loopback_test(struct igb_adapter *adapter) { - struct e1000_hw *hw = &adapter->hw; struct igb_ring *tx_ring = &adapter->test_tx_ring; struct igb_ring *rx_ring = &adapter->test_rx_ring; - struct pci_dev *pdev = adapter->pdev; - int i, j, k, l, lc, good_cnt; - int ret_val = 0; - unsigned long time; + int i, j, lc, good_cnt, ret_val = 0; + unsigned int size = 1024; + netdev_tx_t tx_ret_val; + struct sk_buff *skb; + + /* allocate test skb */ + skb = alloc_skb(size, GFP_KERNEL); + if (!skb) + return 11; + + /* place data into test skb */ + igb_create_lbtest_frame(skb, size); + skb_put(skb, size); - wr32(E1000_RDT(0), rx_ring->count - 1); - - /* Calculate the loop count based on the largest descriptor ring + /* + * Calculate the loop count based on the largest descriptor ring * The idea is to wrap the largest ring a number of times using 64 * send/receive pairs during each loop */ @@ -1590,50 +1597,36 @@ else lc = ((rx_ring->count / 64) * 2) + 1; - k = l = 0; for (j = 0; j <= lc; j++) { /* loop count loop */ - for (i = 0; i < 64; i++) { /* send the packets */ - igb_create_lbtest_frame(tx_ring->buffer_info[k].skb, - 1024); - pci_dma_sync_single_for_device(pdev, - tx_ring->buffer_info[k].dma, - tx_ring->buffer_info[k].length, - PCI_DMA_TODEVICE); - k++; - if (k == tx_ring->count) - k = 0; - } - wr32(E1000_TDT(0), k); - msleep(200); - time = jiffies; /* set the start time for the receive */ + /* reset count of good packets */ good_cnt = 0; - do { /* receive the sent packets */ - pci_dma_sync_single_for_cpu(pdev, - rx_ring->buffer_info[l].dma, - IGB_RXBUFFER_2048, - PCI_DMA_FROMDEVICE); - - ret_val = igb_check_lbtest_frame( - rx_ring->buffer_info[l].skb, 1024); - if (!ret_val) + + /* place 64 packets on the transmit queue*/ + for (i = 0; i < 64; i++) { + skb_get(skb); + tx_ret_val = igb_xmit_frame_ring_adv(skb, tx_ring); + if (tx_ret_val == NETDEV_TX_OK) good_cnt++; - l++; - if (l == rx_ring->count) - l = 0; - /* time + 20 msecs (200 msecs on 2.4) is more than - * enough time to complete the receives, if it's - * exceeded, break and error off - */ - } while (good_cnt < 64 && jiffies < (time + 20)); + } + if (good_cnt != 64) { - ret_val = 13; /* ret_val is the same as mis-compare */ + ret_val = 12; break; } - if (jiffies >= (time + 20)) { - ret_val = 14; /* error code for time out error */ + + /* allow 200 milliseconds for packets to go from tx to rx */ + msleep(200); + + good_cnt = igb_clean_test_rings(rx_ring, tx_ring, size); + if (good_cnt != 64) { + ret_val = 13; break; } } /* end loop count loop */ + + /* free the original skb */ + kfree_skb(skb); + return ret_val; } @@ -1686,8 +1679,7 @@ if (hw->mac.autoneg) msleep(4000); - if (!(rd32(E1000_STATUS) & - E1000_STATUS_LU)) + if (!(rd32(E1000_STATUS) & E1000_STATUS_LU)) *data = 1; } return *data; @@ -1803,7 +1795,7 @@ /* dual port cards only support WoL on port A from now on * unless it was enabled in the eeprom for port B * so exclude FUNC_1 ports from having WoL enabled */ - if (rd32(E1000_STATUS) & E1000_STATUS_FUNC_1 && + if ((rd32(E1000_STATUS) & E1000_STATUS_FUNC_MASK) && !adapter->eeprom_wol) { wol->supported = 0; break; @@ -1869,7 +1861,6 @@ adapter->wol |= E1000_WUFC_BC; if (wol->wolopts & WAKE_MAGIC) adapter->wol |= E1000_WUFC_MAG; - device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol); return 0; @@ -1882,12 +1873,19 @@ { struct igb_adapter *adapter = netdev_priv(netdev); struct e1000_hw *hw = &adapter->hw; + unsigned long timeout; - if (!data || data > (u32)(MAX_SCHEDULE_TIMEOUT / HZ)) - data = (u32)(MAX_SCHEDULE_TIMEOUT / HZ); + timeout = data * 1000; + + /* + * msleep_interruptable only accepts unsigned int so we are limited + * in how long a duration we can wait + */ + if (!timeout || timeout > UINT_MAX) + timeout = UINT_MAX; igb_blink_led(hw); - msleep_interruptible(data * 1000); + msleep_interruptible(timeout); igb_led_off(hw); clear_bit(IGB_LED_ON, &adapter->led_status); @@ -1900,7 +1898,6 @@ struct ethtool_coalesce *ec) { struct igb_adapter *adapter = netdev_priv(netdev); - struct e1000_hw *hw = &adapter->hw; int i; if ((ec->rx_coalesce_usecs > IGB_MAX_ITR_USECS) || @@ -1909,17 +1906,39 @@ (ec->rx_coalesce_usecs == 2)) return -EINVAL; + if ((ec->tx_coalesce_usecs > IGB_MAX_ITR_USECS) || + ((ec->tx_coalesce_usecs > 3) && + (ec->tx_coalesce_usecs < IGB_MIN_ITR_USECS)) || + (ec->tx_coalesce_usecs == 2)) + return -EINVAL; + + if ((adapter->flags & IGB_FLAG_QUEUE_PAIRS) && ec->tx_coalesce_usecs) + return -EINVAL; + /* convert to rate of irq's per second */ - if (ec->rx_coalesce_usecs && ec->rx_coalesce_usecs <= 3) { - adapter->itr_setting = ec->rx_coalesce_usecs; - adapter->itr = IGB_START_ITR; - } else { - adapter->itr_setting = ec->rx_coalesce_usecs << 2; - adapter->itr = adapter->itr_setting; - } + if (ec->rx_coalesce_usecs && ec->rx_coalesce_usecs <= 3) + adapter->rx_itr_setting = ec->rx_coalesce_usecs; + else + adapter->rx_itr_setting = ec->rx_coalesce_usecs << 2; - for (i = 0; i < adapter->num_rx_queues; i++) - wr32(adapter->rx_ring[i].itr_register, adapter->itr); + /* convert to rate of irq's per second */ + if (adapter->flags & IGB_FLAG_QUEUE_PAIRS) + adapter->tx_itr_setting = adapter->rx_itr_setting; + else if (ec->tx_coalesce_usecs && ec->tx_coalesce_usecs <= 3) + adapter->tx_itr_setting = ec->tx_coalesce_usecs; + else + adapter->tx_itr_setting = ec->tx_coalesce_usecs << 2; + + for (i = 0; i < adapter->num_q_vectors; i++) { + struct igb_q_vector *q_vector = adapter->q_vector[i]; + if (q_vector->rx_ring) + q_vector->itr_val = adapter->rx_itr_setting; + else + q_vector->itr_val = adapter->tx_itr_setting; + if (q_vector->itr_val && q_vector->itr_val <= 3) + q_vector->itr_val = IGB_START_ITR; + q_vector->set_itr = 1; + } return 0; } @@ -1929,15 +1948,21 @@ { struct igb_adapter *adapter = netdev_priv(netdev); - if (adapter->itr_setting <= 3) - ec->rx_coalesce_usecs = adapter->itr_setting; + if (adapter->rx_itr_setting <= 3) + ec->rx_coalesce_usecs = adapter->rx_itr_setting; else - ec->rx_coalesce_usecs = adapter->itr_setting >> 2; + ec->rx_coalesce_usecs = adapter->rx_itr_setting >> 2; + + if (!(adapter->flags & IGB_FLAG_QUEUE_PAIRS)) { + if (adapter->tx_itr_setting <= 3) + ec->tx_coalesce_usecs = adapter->tx_itr_setting; + else + ec->tx_coalesce_usecs = adapter->tx_itr_setting >> 2; + } return 0; } - static int igb_nway_reset(struct net_device *netdev) { struct igb_adapter *adapter = netdev_priv(netdev); @@ -1962,32 +1987,35 @@ struct ethtool_stats *stats, u64 *data) { struct igb_adapter *adapter = netdev_priv(netdev); + struct net_device_stats *net_stats = &netdev->stats; u64 *queue_stat; - int stat_count_tx = sizeof(struct igb_tx_queue_stats) / sizeof(u64); - int stat_count_rx = sizeof(struct igb_rx_queue_stats) / sizeof(u64); - int j; - int i; + int i, j, k; + char *p; + spin_lock(&adapter->stats_lock); igb_update_stats(adapter); + for (i = 0; i < IGB_GLOBAL_STATS_LEN; i++) { - char *p = (char *)adapter+igb_gstrings_stats[i].stat_offset; + p = (char *)adapter + igb_gstrings_stats[i].stat_offset; data[i] = (igb_gstrings_stats[i].sizeof_stat == sizeof(u64)) ? *(u64 *)p : *(u32 *)p; } + for (j = 0; j < IGB_NETDEV_STATS_LEN; j++, i++) { + p = (char *)net_stats + igb_gstrings_net_stats[j].stat_offset; + data[i] = (igb_gstrings_net_stats[j].sizeof_stat == + sizeof(u64)) ? *(u64 *)p : *(u32 *)p; + } for (j = 0; j < adapter->num_tx_queues; j++) { - int k; queue_stat = (u64 *)&adapter->tx_ring[j].tx_stats; - for (k = 0; k < stat_count_tx; k++) - data[i + k] = queue_stat[k]; - i += k; + for (k = 0; k < IGB_TX_QUEUE_STATS_LEN; k++, i++) + data[i] = queue_stat[k]; } for (j = 0; j < adapter->num_rx_queues; j++) { - int k; queue_stat = (u64 *)&adapter->rx_ring[j].rx_stats; - for (k = 0; k < stat_count_rx; k++) - data[i + k] = queue_stat[k]; - i += k; + for (k = 0; k < IGB_RX_QUEUE_STATS_LEN; k++, i++) + data[i] = queue_stat[k]; } + spin_unlock(&adapter->stats_lock); } static void igb_get_strings(struct net_device *netdev, u32 stringset, u8 *data) @@ -2007,11 +2035,18 @@ ETH_GSTRING_LEN); p += ETH_GSTRING_LEN; } + for (i = 0; i < IGB_NETDEV_STATS_LEN; i++) { + memcpy(p, igb_gstrings_net_stats[i].stat_string, + ETH_GSTRING_LEN); + p += ETH_GSTRING_LEN; + } for (i = 0; i < adapter->num_tx_queues; i++) { sprintf(p, "tx_queue_%u_packets", i); p += ETH_GSTRING_LEN; sprintf(p, "tx_queue_%u_bytes", i); p += ETH_GSTRING_LEN; + sprintf(p, "tx_queue_%u_restart", i); + p += ETH_GSTRING_LEN; } for (i = 0; i < adapter->num_rx_queues; i++) { sprintf(p, "rx_queue_%u_packets", i); @@ -2020,6 +2055,10 @@ p += ETH_GSTRING_LEN; sprintf(p, "rx_queue_%u_drops", i); p += ETH_GSTRING_LEN; + sprintf(p, "rx_queue_%u_csum_err", i); + p += ETH_GSTRING_LEN; + sprintf(p, "rx_queue_%u_alloc_failed", i); + p += ETH_GSTRING_LEN; } /* BUG_ON(p - data != IGB_STATS_LEN * ETH_GSTRING_LEN); */ break; --- linux-2.6.32.orig/drivers/net/igb/igb_main.c +++ linux-2.6.32/drivers/net/igb/igb_main.c @@ -49,7 +49,7 @@ #endif #include "igb.h" -#define DRV_VERSION "1.3.16-k2" +#define DRV_VERSION "2.1.0-k2" char igb_driver_name[] = "igb"; char igb_driver_version[] = DRV_VERSION; static const char igb_driver_string[] = @@ -61,8 +61,14 @@ }; static struct pci_device_id igb_pci_tbl[] = { + { PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_COPPER), board_82575 }, + { PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_FIBER), board_82575 }, + { PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_SERDES), board_82575 }, + { PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_SGMII), board_82575 }, + { PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_COPPER_DUAL), board_82575 }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576), board_82575 }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_NS), board_82575 }, + { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_NS_SERDES), board_82575 }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_FIBER), board_82575 }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_SERDES), board_82575 }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_SERDES_QUAD), board_82575 }, @@ -81,6 +87,7 @@ static int igb_setup_all_rx_resources(struct igb_adapter *); static void igb_free_all_tx_resources(struct igb_adapter *); static void igb_free_all_rx_resources(struct igb_adapter *); +static void igb_setup_mrqc(struct igb_adapter *); void igb_update_stats(struct igb_adapter *); static int igb_probe(struct pci_dev *, const struct pci_device_id *); static void __devexit igb_remove(struct pci_dev *pdev); @@ -89,7 +96,6 @@ static int igb_close(struct net_device *); static void igb_configure_tx(struct igb_adapter *); static void igb_configure_rx(struct igb_adapter *); -static void igb_setup_rctl(struct igb_adapter *); static void igb_clean_all_tx_rings(struct igb_adapter *); static void igb_clean_all_rx_rings(struct igb_adapter *); static void igb_clean_tx_ring(struct igb_ring *); @@ -98,28 +104,22 @@ static void igb_update_phy_info(unsigned long); static void igb_watchdog(unsigned long); static void igb_watchdog_task(struct work_struct *); -static netdev_tx_t igb_xmit_frame_ring_adv(struct sk_buff *, - struct net_device *, - struct igb_ring *); -static netdev_tx_t igb_xmit_frame_adv(struct sk_buff *skb, - struct net_device *); +static netdev_tx_t igb_xmit_frame_adv(struct sk_buff *skb, struct net_device *); static struct net_device_stats *igb_get_stats(struct net_device *); static int igb_change_mtu(struct net_device *, int); static int igb_set_mac(struct net_device *, void *); +static void igb_set_uta(struct igb_adapter *adapter); static irqreturn_t igb_intr(int irq, void *); static irqreturn_t igb_intr_msi(int irq, void *); static irqreturn_t igb_msix_other(int irq, void *); -static irqreturn_t igb_msix_rx(int irq, void *); -static irqreturn_t igb_msix_tx(int irq, void *); +static irqreturn_t igb_msix_ring(int irq, void *); #ifdef CONFIG_IGB_DCA -static void igb_update_rx_dca(struct igb_ring *); -static void igb_update_tx_dca(struct igb_ring *); +static void igb_update_dca(struct igb_q_vector *); static void igb_setup_dca(struct igb_adapter *); #endif /* CONFIG_IGB_DCA */ -static bool igb_clean_tx_irq(struct igb_ring *); +static bool igb_clean_tx_irq(struct igb_q_vector *); static int igb_poll(struct napi_struct *, int); -static bool igb_clean_rx_irq_adv(struct igb_ring *, int *, int); -static void igb_alloc_rx_buffers_adv(struct igb_ring *, int); +static bool igb_clean_rx_irq_adv(struct igb_q_vector *, int *, int); static int igb_ioctl(struct net_device *, struct ifreq *, int cmd); static void igb_tx_timeout(struct net_device *); static void igb_reset_task(struct work_struct *); @@ -127,57 +127,13 @@ static void igb_vlan_rx_add_vid(struct net_device *, u16); static void igb_vlan_rx_kill_vid(struct net_device *, u16); static void igb_restore_vlan(struct igb_adapter *); +static void igb_rar_set_qsel(struct igb_adapter *, u8 *, u32 , u8); static void igb_ping_all_vfs(struct igb_adapter *); static void igb_msg_task(struct igb_adapter *); -static int igb_rcv_msg_from_vf(struct igb_adapter *, u32); -static inline void igb_set_rah_pool(struct e1000_hw *, int , int); static void igb_vmm_control(struct igb_adapter *); -static int igb_set_vf_mac(struct igb_adapter *adapter, int, unsigned char *); +static int igb_set_vf_mac(struct igb_adapter *, int, unsigned char *); static void igb_restore_vf_multicasts(struct igb_adapter *adapter); -static inline void igb_set_vmolr(struct e1000_hw *hw, int vfn) -{ - u32 reg_data; - - reg_data = rd32(E1000_VMOLR(vfn)); - reg_data |= E1000_VMOLR_BAM | /* Accept broadcast */ - E1000_VMOLR_ROPE | /* Accept packets matched in UTA */ - E1000_VMOLR_ROMPE | /* Accept packets matched in MTA */ - E1000_VMOLR_AUPE | /* Accept untagged packets */ - E1000_VMOLR_STRVLAN; /* Strip vlan tags */ - wr32(E1000_VMOLR(vfn), reg_data); -} - -static inline int igb_set_vf_rlpml(struct igb_adapter *adapter, int size, - int vfn) -{ - struct e1000_hw *hw = &adapter->hw; - u32 vmolr; - - /* if it isn't the PF check to see if VFs are enabled and - * increase the size to support vlan tags */ - if (vfn < adapter->vfs_allocated_count && - adapter->vf_data[vfn].vlans_enabled) - size += VLAN_TAG_SIZE; - - vmolr = rd32(E1000_VMOLR(vfn)); - vmolr &= ~E1000_VMOLR_RLPML_MASK; - vmolr |= size | E1000_VMOLR_LPE; - wr32(E1000_VMOLR(vfn), vmolr); - - return 0; -} - -static inline void igb_set_rah_pool(struct e1000_hw *hw, int pool, int entry) -{ - u32 reg_data; - - reg_data = rd32(E1000_RAH(entry)); - reg_data &= ~E1000_RAH_POOL_MASK; - reg_data |= E1000_RAH_POOL_1 << pool;; - wr32(E1000_RAH(entry), reg_data); -} - #ifdef CONFIG_PM static int igb_suspend(struct pci_dev *, pm_message_t); static int igb_resume(struct pci_dev *); @@ -228,46 +184,12 @@ .err_handler = &igb_err_handler }; -static int global_quad_port_a; /* global quad port a indication */ - MODULE_AUTHOR("Intel Corporation, "); MODULE_DESCRIPTION("Intel(R) Gigabit Ethernet Network Driver"); MODULE_LICENSE("GPL"); MODULE_VERSION(DRV_VERSION); /** - * Scale the NIC clock cycle by a large factor so that - * relatively small clock corrections can be added or - * substracted at each clock tick. The drawbacks of a - * large factor are a) that the clock register overflows - * more quickly (not such a big deal) and b) that the - * increment per tick has to fit into 24 bits. - * - * Note that - * TIMINCA = IGB_TSYNC_CYCLE_TIME_IN_NANOSECONDS * - * IGB_TSYNC_SCALE - * TIMINCA += TIMINCA * adjustment [ppm] / 1e9 - * - * The base scale factor is intentionally a power of two - * so that the division in %struct timecounter can be done with - * a shift. - */ -#define IGB_TSYNC_SHIFT (19) -#define IGB_TSYNC_SCALE (1<= (1<<24) -# error IGB_TSYNC_SCALE and/or IGB_TSYNC_CYCLE_TIME_IN_NANOSECONDS are too large to fit into TIMINCA -#endif - -/** * igb_read_clock - read raw cycle counter (to be used by time counter) */ static cycle_t igb_read_clock(const struct cyclecounter *tc) @@ -275,11 +197,21 @@ struct igb_adapter *adapter = container_of(tc, struct igb_adapter, cycles); struct e1000_hw *hw = &adapter->hw; - u64 stamp; + u64 stamp = 0; + int shift = 0; - stamp = rd32(E1000_SYSTIML); - stamp |= (u64)rd32(E1000_SYSTIMH) << 32ULL; + /* + * The timestamp latches on lowest register read. For the 82580 + * the lowest register is SYSTIMR instead of SYSTIML. However we never + * adjusted TIMINCA so SYSTIMR will just read as all 0s so ignore it. + */ + if (hw->mac.type == e1000_82580) { + stamp = rd32(E1000_SYSTIMR) >> 8; + shift = IGB_82580_TSYNC_SHIFT; + } + stamp |= (u64)rd32(E1000_SYSTIML) << shift; + stamp |= (u64)rd32(E1000_SYSTIMH) << (shift + 32); return stamp; } @@ -320,17 +252,6 @@ #endif /** - * igb_desc_unused - calculate if we have unused descriptors - **/ -static int igb_desc_unused(struct igb_ring *ring) -{ - if (ring->next_to_clean > ring->next_to_use) - return ring->next_to_clean - ring->next_to_use - 1; - - return ring->count + ring->next_to_clean - ring->next_to_use - 1; -} - -/** * igb_init_module - Driver Registration Routine * * igb_init_module is the first routine called when the driver is @@ -344,12 +265,9 @@ printk(KERN_INFO "%s\n", igb_copyright); - global_quad_port_a = 0; - #ifdef CONFIG_IGB_DCA dca_register_notify(&dca_notifier); #endif - ret = pci_register_driver(&igb_driver); return ret; } @@ -382,8 +300,8 @@ **/ static void igb_cache_ring_register(struct igb_adapter *adapter) { - int i; - unsigned int rbase_offset = adapter->vfs_allocated_count; + int i = 0, j = 0; + u32 rbase_offset = adapter->vfs_allocated_count; switch (adapter->hw.mac.type) { case e1000_82576: @@ -392,23 +310,37 @@ * In order to avoid collision we start at the first free queue * and continue consuming queues in the same sequence */ - for (i = 0; i < adapter->num_rx_queues; i++) - adapter->rx_ring[i].reg_idx = rbase_offset + - Q_IDX_82576(i); - for (i = 0; i < adapter->num_tx_queues; i++) - adapter->tx_ring[i].reg_idx = rbase_offset + - Q_IDX_82576(i); - break; + if (adapter->vfs_allocated_count) { + for (; i < adapter->rss_queues; i++) + adapter->rx_ring[i].reg_idx = rbase_offset + + Q_IDX_82576(i); + for (; j < adapter->rss_queues; j++) + adapter->tx_ring[j].reg_idx = rbase_offset + + Q_IDX_82576(j); + } case e1000_82575: + case e1000_82580: default: - for (i = 0; i < adapter->num_rx_queues; i++) - adapter->rx_ring[i].reg_idx = i; - for (i = 0; i < adapter->num_tx_queues; i++) - adapter->tx_ring[i].reg_idx = i; + for (; i < adapter->num_rx_queues; i++) + adapter->rx_ring[i].reg_idx = rbase_offset + i; + for (; j < adapter->num_tx_queues; j++) + adapter->tx_ring[j].reg_idx = rbase_offset + j; break; } } +static void igb_free_queues(struct igb_adapter *adapter) +{ + kfree(adapter->tx_ring); + kfree(adapter->rx_ring); + + adapter->tx_ring = NULL; + adapter->rx_ring = NULL; + + adapter->num_rx_queues = 0; + adapter->num_tx_queues = 0; +} + /** * igb_alloc_queues - Allocate memory for all rings * @adapter: board private structure to initialize @@ -423,59 +355,61 @@ adapter->tx_ring = kcalloc(adapter->num_tx_queues, sizeof(struct igb_ring), GFP_KERNEL); if (!adapter->tx_ring) - return -ENOMEM; + goto err; adapter->rx_ring = kcalloc(adapter->num_rx_queues, sizeof(struct igb_ring), GFP_KERNEL); - if (!adapter->rx_ring) { - kfree(adapter->tx_ring); - return -ENOMEM; - } - - adapter->rx_ring->buddy = adapter->tx_ring; + if (!adapter->rx_ring) + goto err; for (i = 0; i < adapter->num_tx_queues; i++) { struct igb_ring *ring = &(adapter->tx_ring[i]); ring->count = adapter->tx_ring_count; - ring->adapter = adapter; ring->queue_index = i; + ring->pdev = adapter->pdev; + ring->netdev = adapter->netdev; + /* For 82575, context index must be unique per ring. */ + if (adapter->hw.mac.type == e1000_82575) + ring->flags = IGB_RING_FLAG_TX_CTX_IDX; } + for (i = 0; i < adapter->num_rx_queues; i++) { struct igb_ring *ring = &(adapter->rx_ring[i]); ring->count = adapter->rx_ring_count; - ring->adapter = adapter; ring->queue_index = i; - ring->itr_register = E1000_ITR; - - /* set a default napi handler for each rx_ring */ - netif_napi_add(adapter->netdev, &ring->napi, igb_poll, 64); + ring->pdev = adapter->pdev; + ring->netdev = adapter->netdev; + ring->rx_buffer_len = MAXIMUM_ETHERNET_VLAN_SIZE; + ring->flags = IGB_RING_FLAG_RX_CSUM; /* enable rx checksum */ + /* set flag indicating ring supports SCTP checksum offload */ + if (adapter->hw.mac.type >= e1000_82576) + ring->flags |= IGB_RING_FLAG_RX_SCTP_CSUM; } igb_cache_ring_register(adapter); - return 0; -} - -static void igb_free_queues(struct igb_adapter *adapter) -{ - int i; - for (i = 0; i < adapter->num_rx_queues; i++) - netif_napi_del(&adapter->rx_ring[i].napi); + return 0; - adapter->num_rx_queues = 0; - adapter->num_tx_queues = 0; +err: + igb_free_queues(adapter); - kfree(adapter->tx_ring); - kfree(adapter->rx_ring); + return -ENOMEM; } #define IGB_N0_QUEUE -1 -static void igb_assign_vector(struct igb_adapter *adapter, int rx_queue, - int tx_queue, int msix_vector) +static void igb_assign_vector(struct igb_q_vector *q_vector, int msix_vector) { u32 msixbm = 0; + struct igb_adapter *adapter = q_vector->adapter; struct e1000_hw *hw = &adapter->hw; u32 ivar, index; + int rx_queue = IGB_N0_QUEUE; + int tx_queue = IGB_N0_QUEUE; + + if (q_vector->rx_ring) + rx_queue = q_vector->rx_ring->reg_idx; + if (q_vector->tx_ring) + tx_queue = q_vector->tx_ring->reg_idx; switch (hw->mac.type) { case e1000_82575: @@ -483,16 +417,14 @@ bitmask for the EICR/EIMS/EIMC registers. To assign one or more queues to a vector, we write the appropriate bits into the MSIXBM register for that vector. */ - if (rx_queue > IGB_N0_QUEUE) { + if (rx_queue > IGB_N0_QUEUE) msixbm = E1000_EICR_RX_QUEUE0 << rx_queue; - adapter->rx_ring[rx_queue].eims_value = msixbm; - } - if (tx_queue > IGB_N0_QUEUE) { + if (tx_queue > IGB_N0_QUEUE) msixbm |= E1000_EICR_TX_QUEUE0 << tx_queue; - adapter->tx_ring[tx_queue].eims_value = - E1000_EICR_TX_QUEUE0 << tx_queue; - } + if (!adapter->msix_entries && msix_vector == 0) + msixbm |= E1000_EIMS_OTHER; array_wr32(E1000_MSIXBM(0), msix_vector, msixbm); + q_vector->eims_value = msixbm; break; case e1000_82576: /* 82576 uses a table-based method for assigning vectors. @@ -500,7 +432,40 @@ a vector number along with a "valid" bit. Sadly, the layout of the table is somewhat counterintuitive. */ if (rx_queue > IGB_N0_QUEUE) { - index = (rx_queue >> 1) + adapter->vfs_allocated_count; + index = (rx_queue & 0x7); + ivar = array_rd32(E1000_IVAR0, index); + if (rx_queue < 8) { + /* vector goes into low byte of register */ + ivar = ivar & 0xFFFFFF00; + ivar |= msix_vector | E1000_IVAR_VALID; + } else { + /* vector goes into third byte of register */ + ivar = ivar & 0xFF00FFFF; + ivar |= (msix_vector | E1000_IVAR_VALID) << 16; + } + array_wr32(E1000_IVAR0, index, ivar); + } + if (tx_queue > IGB_N0_QUEUE) { + index = (tx_queue & 0x7); + ivar = array_rd32(E1000_IVAR0, index); + if (tx_queue < 8) { + /* vector goes into second byte of register */ + ivar = ivar & 0xFFFF00FF; + ivar |= (msix_vector | E1000_IVAR_VALID) << 8; + } else { + /* vector goes into high byte of register */ + ivar = ivar & 0x00FFFFFF; + ivar |= (msix_vector | E1000_IVAR_VALID) << 24; + } + array_wr32(E1000_IVAR0, index, ivar); + } + q_vector->eims_value = 1 << msix_vector; + break; + case e1000_82580: + /* 82580 uses the same table-based approach as 82576 but has fewer + entries as a result we carry over for queues greater than 4. */ + if (rx_queue > IGB_N0_QUEUE) { + index = (rx_queue >> 1); ivar = array_rd32(E1000_IVAR0, index); if (rx_queue & 0x1) { /* vector goes into third byte of register */ @@ -511,11 +476,10 @@ ivar = ivar & 0xFFFFFF00; ivar |= msix_vector | E1000_IVAR_VALID; } - adapter->rx_ring[rx_queue].eims_value= 1 << msix_vector; array_wr32(E1000_IVAR0, index, ivar); } if (tx_queue > IGB_N0_QUEUE) { - index = (tx_queue >> 1) + adapter->vfs_allocated_count; + index = (tx_queue >> 1); ivar = array_rd32(E1000_IVAR0, index); if (tx_queue & 0x1) { /* vector goes into high byte of register */ @@ -526,9 +490,9 @@ ivar = ivar & 0xFFFF00FF; ivar |= (msix_vector | E1000_IVAR_VALID) << 8; } - adapter->tx_ring[tx_queue].eims_value= 1 << msix_vector; array_wr32(E1000_IVAR0, index, ivar); } + q_vector->eims_value = 1 << msix_vector; break; default: BUG(); @@ -549,43 +513,10 @@ struct e1000_hw *hw = &adapter->hw; adapter->eims_enable_mask = 0; - if (hw->mac.type == e1000_82576) - /* Turn on MSI-X capability first, or our settings - * won't stick. And it will take days to debug. */ - wr32(E1000_GPIE, E1000_GPIE_MSIX_MODE | - E1000_GPIE_PBA | E1000_GPIE_EIAME | - E1000_GPIE_NSICR); - - for (i = 0; i < adapter->num_tx_queues; i++) { - struct igb_ring *tx_ring = &adapter->tx_ring[i]; - igb_assign_vector(adapter, IGB_N0_QUEUE, i, vector++); - adapter->eims_enable_mask |= tx_ring->eims_value; - if (tx_ring->itr_val) - writel(tx_ring->itr_val, - hw->hw_addr + tx_ring->itr_register); - else - writel(1, hw->hw_addr + tx_ring->itr_register); - } - - for (i = 0; i < adapter->num_rx_queues; i++) { - struct igb_ring *rx_ring = &adapter->rx_ring[i]; - rx_ring->buddy = NULL; - igb_assign_vector(adapter, i, IGB_N0_QUEUE, vector++); - adapter->eims_enable_mask |= rx_ring->eims_value; - if (rx_ring->itr_val) - writel(rx_ring->itr_val, - hw->hw_addr + rx_ring->itr_register); - else - writel(1, hw->hw_addr + rx_ring->itr_register); - } - /* set vector for other causes, i.e. link changes */ switch (hw->mac.type) { case e1000_82575: - array_wr32(E1000_MSIXBM(0), vector++, - E1000_EIMS_OTHER); - tmp = rd32(E1000_CTRL_EXT); /* enable MSI-X PBA support*/ tmp |= E1000_CTRL_EXT_PBA_CLR; @@ -595,22 +526,41 @@ tmp |= E1000_CTRL_EXT_IRCA; wr32(E1000_CTRL_EXT, tmp); - adapter->eims_enable_mask |= E1000_EIMS_OTHER; + + /* enable msix_other interrupt */ + array_wr32(E1000_MSIXBM(0), vector++, + E1000_EIMS_OTHER); adapter->eims_other = E1000_EIMS_OTHER; break; case e1000_82576: + case e1000_82580: + /* Turn on MSI-X capability first, or our settings + * won't stick. And it will take days to debug. */ + wr32(E1000_GPIE, E1000_GPIE_MSIX_MODE | + E1000_GPIE_PBA | E1000_GPIE_EIAME | + E1000_GPIE_NSICR); + + /* enable msix_other interrupt */ + adapter->eims_other = 1 << vector; tmp = (vector++ | E1000_IVAR_VALID) << 8; - wr32(E1000_IVAR_MISC, tmp); - adapter->eims_enable_mask = (1 << (vector)) - 1; - adapter->eims_other = 1 << (vector - 1); + wr32(E1000_IVAR_MISC, tmp); break; default: /* do nothing, since nothing else supports MSI-X */ break; } /* switch (hw->mac.type) */ + + adapter->eims_enable_mask |= adapter->eims_other; + + for (i = 0; i < adapter->num_q_vectors; i++) { + struct igb_q_vector *q_vector = adapter->q_vector[i]; + igb_assign_vector(q_vector, vector++); + adapter->eims_enable_mask |= q_vector->eims_value; + } + wrfl(); } @@ -623,43 +573,40 @@ static int igb_request_msix(struct igb_adapter *adapter) { struct net_device *netdev = adapter->netdev; + struct e1000_hw *hw = &adapter->hw; int i, err = 0, vector = 0; - vector = 0; + err = request_irq(adapter->msix_entries[vector].vector, + &igb_msix_other, 0, netdev->name, adapter); + if (err) + goto out; + vector++; - for (i = 0; i < adapter->num_tx_queues; i++) { - struct igb_ring *ring = &(adapter->tx_ring[i]); - sprintf(ring->name, "%s-tx-%d", netdev->name, i); - err = request_irq(adapter->msix_entries[vector].vector, - &igb_msix_tx, 0, ring->name, - &(adapter->tx_ring[i])); - if (err) - goto out; - ring->itr_register = E1000_EITR(0) + (vector << 2); - ring->itr_val = 976; /* ~4000 ints/sec */ - vector++; - } - for (i = 0; i < adapter->num_rx_queues; i++) { - struct igb_ring *ring = &(adapter->rx_ring[i]); - if (strlen(netdev->name) < (IFNAMSIZ - 5)) - sprintf(ring->name, "%s-rx-%d", netdev->name, i); + for (i = 0; i < adapter->num_q_vectors; i++) { + struct igb_q_vector *q_vector = adapter->q_vector[i]; + + q_vector->itr_register = hw->hw_addr + E1000_EITR(vector); + + if (q_vector->rx_ring && q_vector->tx_ring) + sprintf(q_vector->name, "%s-TxRx-%u", netdev->name, + q_vector->rx_ring->queue_index); + else if (q_vector->tx_ring) + sprintf(q_vector->name, "%s-tx-%u", netdev->name, + q_vector->tx_ring->queue_index); + else if (q_vector->rx_ring) + sprintf(q_vector->name, "%s-rx-%u", netdev->name, + q_vector->rx_ring->queue_index); else - memcpy(ring->name, netdev->name, IFNAMSIZ); + sprintf(q_vector->name, "%s-unused", netdev->name); + err = request_irq(adapter->msix_entries[vector].vector, - &igb_msix_rx, 0, ring->name, - &(adapter->rx_ring[i])); + &igb_msix_ring, 0, q_vector->name, + q_vector); if (err) goto out; - ring->itr_register = E1000_EITR(0) + (vector << 2); - ring->itr_val = adapter->itr; vector++; } - err = request_irq(adapter->msix_entries[vector].vector, - &igb_msix_other, 0, netdev->name, netdev); - if (err) - goto out; - igb_configure_msix(adapter); return 0; out: @@ -672,11 +619,44 @@ pci_disable_msix(adapter->pdev); kfree(adapter->msix_entries); adapter->msix_entries = NULL; - } else if (adapter->flags & IGB_FLAG_HAS_MSI) + } else if (adapter->flags & IGB_FLAG_HAS_MSI) { pci_disable_msi(adapter->pdev); - return; + } +} + +/** + * igb_free_q_vectors - Free memory allocated for interrupt vectors + * @adapter: board private structure to initialize + * + * This function frees the memory allocated to the q_vectors. In addition if + * NAPI is enabled it will delete any references to the NAPI struct prior + * to freeing the q_vector. + **/ +static void igb_free_q_vectors(struct igb_adapter *adapter) +{ + int v_idx; + + for (v_idx = 0; v_idx < adapter->num_q_vectors; v_idx++) { + struct igb_q_vector *q_vector = adapter->q_vector[v_idx]; + adapter->q_vector[v_idx] = NULL; + netif_napi_del(&q_vector->napi); + kfree(q_vector); + } + adapter->num_q_vectors = 0; } +/** + * igb_clear_interrupt_scheme - reset the device to a state of no interrupts + * + * This function resets the device so that it has 0 rx queues, tx queues, and + * MSI-X interrupts allocated. + */ +static void igb_clear_interrupt_scheme(struct igb_adapter *adapter) +{ + igb_free_queues(adapter); + igb_free_q_vectors(adapter); + igb_reset_interrupt_capability(adapter); +} /** * igb_set_interrupt_capability - set MSI or MSI-X if supported @@ -690,11 +670,21 @@ int numvecs, i; /* Number of supported queues. */ - /* Having more queues than CPUs doesn't make sense. */ - adapter->num_rx_queues = min_t(u32, IGB_MAX_RX_QUEUES, num_online_cpus()); - adapter->num_tx_queues = min_t(u32, IGB_MAX_TX_QUEUES, num_online_cpus()); + adapter->num_rx_queues = adapter->rss_queues; + adapter->num_tx_queues = adapter->rss_queues; + + /* start with one vector for every rx queue */ + numvecs = adapter->num_rx_queues; + + /* if tx handler is seperate add 1 for every tx queue */ + if (!(adapter->flags & IGB_FLAG_QUEUE_PAIRS)) + numvecs += adapter->num_tx_queues; + + /* store the number of vectors reserved for queues */ + adapter->num_q_vectors = numvecs; - numvecs = adapter->num_tx_queues + adapter->num_rx_queues + 1; + /* add 1 vector for link status interrupts */ + numvecs++; adapter->msix_entries = kcalloc(numvecs, sizeof(struct msix_entry), GFP_KERNEL); if (!adapter->msix_entries) @@ -728,8 +718,12 @@ dev_info(&adapter->pdev->dev, "IOV Disabled\n"); } #endif + adapter->vfs_allocated_count = 0; + adapter->rss_queues = 1; + adapter->flags |= IGB_FLAG_QUEUE_PAIRS; adapter->num_rx_queues = 1; adapter->num_tx_queues = 1; + adapter->num_q_vectors = 1; if (!pci_enable_msi(adapter->pdev)) adapter->flags |= IGB_FLAG_HAS_MSI; out: @@ -739,93 +733,238 @@ } /** - * igb_request_irq - initialize interrupts + * igb_alloc_q_vectors - Allocate memory for interrupt vectors + * @adapter: board private structure to initialize * - * Attempts to configure interrupts using the best available - * capabilities of the hardware and kernel. + * We allocate one q_vector per queue interrupt. If allocation fails we + * return -ENOMEM. **/ -static int igb_request_irq(struct igb_adapter *adapter) +static int igb_alloc_q_vectors(struct igb_adapter *adapter) { - struct net_device *netdev = adapter->netdev; + struct igb_q_vector *q_vector; struct e1000_hw *hw = &adapter->hw; - int err = 0; + int v_idx; - if (adapter->msix_entries) { - err = igb_request_msix(adapter); - if (!err) - goto request_done; - /* fall back to MSI */ - igb_reset_interrupt_capability(adapter); - if (!pci_enable_msi(adapter->pdev)) - adapter->flags |= IGB_FLAG_HAS_MSI; - igb_free_all_tx_resources(adapter); - igb_free_all_rx_resources(adapter); - adapter->num_rx_queues = 1; - igb_alloc_queues(adapter); - } else { - switch (hw->mac.type) { - case e1000_82575: - wr32(E1000_MSIXBM(0), - (E1000_EICR_RX_QUEUE0 | E1000_EIMS_OTHER)); - break; - case e1000_82576: - wr32(E1000_IVAR0, E1000_IVAR_VALID); - break; - default: - break; - } + for (v_idx = 0; v_idx < adapter->num_q_vectors; v_idx++) { + q_vector = kzalloc(sizeof(struct igb_q_vector), GFP_KERNEL); + if (!q_vector) + goto err_out; + q_vector->adapter = adapter; + q_vector->itr_shift = (hw->mac.type == e1000_82575) ? 16 : 0; + q_vector->itr_register = hw->hw_addr + E1000_EITR(0); + q_vector->itr_val = IGB_START_ITR; + q_vector->set_itr = 1; + netif_napi_add(adapter->netdev, &q_vector->napi, igb_poll, 64); + adapter->q_vector[v_idx] = q_vector; } + return 0; - if (adapter->flags & IGB_FLAG_HAS_MSI) { - err = request_irq(adapter->pdev->irq, &igb_intr_msi, 0, - netdev->name, netdev); - if (!err) - goto request_done; - /* fall back to legacy interrupts */ - igb_reset_interrupt_capability(adapter); - adapter->flags &= ~IGB_FLAG_HAS_MSI; +err_out: + while (v_idx) { + v_idx--; + q_vector = adapter->q_vector[v_idx]; + netif_napi_del(&q_vector->napi); + kfree(q_vector); + adapter->q_vector[v_idx] = NULL; } + return -ENOMEM; +} - err = request_irq(adapter->pdev->irq, &igb_intr, IRQF_SHARED, - netdev->name, netdev); +static void igb_map_rx_ring_to_vector(struct igb_adapter *adapter, + int ring_idx, int v_idx) +{ + struct igb_q_vector *q_vector; - if (err) - dev_err(&adapter->pdev->dev, "Error %d getting interrupt\n", - err); + q_vector = adapter->q_vector[v_idx]; + q_vector->rx_ring = &adapter->rx_ring[ring_idx]; + q_vector->rx_ring->q_vector = q_vector; + q_vector->itr_val = adapter->rx_itr_setting; + if (q_vector->itr_val && q_vector->itr_val <= 3) + q_vector->itr_val = IGB_START_ITR; +} -request_done: - return err; +static void igb_map_tx_ring_to_vector(struct igb_adapter *adapter, + int ring_idx, int v_idx) +{ + struct igb_q_vector *q_vector; + + q_vector = adapter->q_vector[v_idx]; + q_vector->tx_ring = &adapter->tx_ring[ring_idx]; + q_vector->tx_ring->q_vector = q_vector; + q_vector->itr_val = adapter->tx_itr_setting; + if (q_vector->itr_val && q_vector->itr_val <= 3) + q_vector->itr_val = IGB_START_ITR; } -static void igb_free_irq(struct igb_adapter *adapter) +/** + * igb_map_ring_to_vector - maps allocated queues to vectors + * + * This function maps the recently allocated queues to vectors. + **/ +static int igb_map_ring_to_vector(struct igb_adapter *adapter) { - struct net_device *netdev = adapter->netdev; + int i; + int v_idx = 0; - if (adapter->msix_entries) { - int vector = 0, i; + if ((adapter->num_q_vectors < adapter->num_rx_queues) || + (adapter->num_q_vectors < adapter->num_tx_queues)) + return -ENOMEM; - for (i = 0; i < adapter->num_tx_queues; i++) - free_irq(adapter->msix_entries[vector++].vector, - &(adapter->tx_ring[i])); + if (adapter->num_q_vectors >= + (adapter->num_rx_queues + adapter->num_tx_queues)) { for (i = 0; i < adapter->num_rx_queues; i++) - free_irq(adapter->msix_entries[vector++].vector, - &(adapter->rx_ring[i])); - - free_irq(adapter->msix_entries[vector++].vector, netdev); - return; + igb_map_rx_ring_to_vector(adapter, i, v_idx++); + for (i = 0; i < adapter->num_tx_queues; i++) + igb_map_tx_ring_to_vector(adapter, i, v_idx++); + } else { + for (i = 0; i < adapter->num_rx_queues; i++) { + if (i < adapter->num_tx_queues) + igb_map_tx_ring_to_vector(adapter, i, v_idx); + igb_map_rx_ring_to_vector(adapter, i, v_idx++); + } + for (; i < adapter->num_tx_queues; i++) + igb_map_tx_ring_to_vector(adapter, i, v_idx++); } - - free_irq(adapter->pdev->irq, netdev); + return 0; } /** - * igb_irq_disable - Mask off interrupt generation on the NIC + * igb_init_interrupt_scheme - initialize interrupts, allocate queues/vectors + * + * This function initializes the interrupts and allocates all of the queues. + **/ +static int igb_init_interrupt_scheme(struct igb_adapter *adapter) +{ + struct pci_dev *pdev = adapter->pdev; + int err; + + igb_set_interrupt_capability(adapter); + + err = igb_alloc_q_vectors(adapter); + if (err) { + dev_err(&pdev->dev, "Unable to allocate memory for vectors\n"); + goto err_alloc_q_vectors; + } + + err = igb_alloc_queues(adapter); + if (err) { + dev_err(&pdev->dev, "Unable to allocate memory for queues\n"); + goto err_alloc_queues; + } + + err = igb_map_ring_to_vector(adapter); + if (err) { + dev_err(&pdev->dev, "Invalid q_vector to ring mapping\n"); + goto err_map_queues; + } + + + return 0; +err_map_queues: + igb_free_queues(adapter); +err_alloc_queues: + igb_free_q_vectors(adapter); +err_alloc_q_vectors: + igb_reset_interrupt_capability(adapter); + return err; +} + +/** + * igb_request_irq - initialize interrupts + * + * Attempts to configure interrupts using the best available + * capabilities of the hardware and kernel. + **/ +static int igb_request_irq(struct igb_adapter *adapter) +{ + struct net_device *netdev = adapter->netdev; + struct pci_dev *pdev = adapter->pdev; + int err = 0; + + if (adapter->msix_entries) { + err = igb_request_msix(adapter); + if (!err) + goto request_done; + /* fall back to MSI */ + igb_clear_interrupt_scheme(adapter); + if (!pci_enable_msi(adapter->pdev)) + adapter->flags |= IGB_FLAG_HAS_MSI; + igb_free_all_tx_resources(adapter); + igb_free_all_rx_resources(adapter); + adapter->num_tx_queues = 1; + adapter->num_rx_queues = 1; + adapter->num_q_vectors = 1; + err = igb_alloc_q_vectors(adapter); + if (err) { + dev_err(&pdev->dev, + "Unable to allocate memory for vectors\n"); + goto request_done; + } + err = igb_alloc_queues(adapter); + if (err) { + dev_err(&pdev->dev, + "Unable to allocate memory for queues\n"); + igb_free_q_vectors(adapter); + goto request_done; + } + igb_setup_all_tx_resources(adapter); + igb_setup_all_rx_resources(adapter); + } else { + igb_assign_vector(adapter->q_vector[0], 0); + } + + if (adapter->flags & IGB_FLAG_HAS_MSI) { + err = request_irq(adapter->pdev->irq, &igb_intr_msi, 0, + netdev->name, adapter); + if (!err) + goto request_done; + + /* fall back to legacy interrupts */ + igb_reset_interrupt_capability(adapter); + adapter->flags &= ~IGB_FLAG_HAS_MSI; + } + + err = request_irq(adapter->pdev->irq, &igb_intr, IRQF_SHARED, + netdev->name, adapter); + + if (err) + dev_err(&adapter->pdev->dev, "Error %d getting interrupt\n", + err); + +request_done: + return err; +} + +static void igb_free_irq(struct igb_adapter *adapter) +{ + if (adapter->msix_entries) { + int vector = 0, i; + + free_irq(adapter->msix_entries[vector++].vector, adapter); + + for (i = 0; i < adapter->num_q_vectors; i++) { + struct igb_q_vector *q_vector = adapter->q_vector[i]; + free_irq(adapter->msix_entries[vector++].vector, + q_vector); + } + } else { + free_irq(adapter->pdev->irq, adapter); + } +} + +/** + * igb_irq_disable - Mask off interrupt generation on the NIC * @adapter: board private structure **/ static void igb_irq_disable(struct igb_adapter *adapter) { struct e1000_hw *hw = &adapter->hw; + /* + * we need to be careful when disabling interrupts. The VFs are also + * mapped into these registers and so clearing the bits can cause + * issues on the VF drivers so we only need to clear what we set + */ if (adapter->msix_entries) { u32 regval = rd32(E1000_EIAM); wr32(E1000_EIAM, regval & ~adapter->eims_enable_mask); @@ -849,41 +988,47 @@ struct e1000_hw *hw = &adapter->hw; if (adapter->msix_entries) { + u32 ims = E1000_IMS_LSC | E1000_IMS_DOUTSYNC; u32 regval = rd32(E1000_EIAC); wr32(E1000_EIAC, regval | adapter->eims_enable_mask); regval = rd32(E1000_EIAM); wr32(E1000_EIAM, regval | adapter->eims_enable_mask); wr32(E1000_EIMS, adapter->eims_enable_mask); - if (adapter->vfs_allocated_count) + if (adapter->vfs_allocated_count) { wr32(E1000_MBVFIMR, 0xFF); - wr32(E1000_IMS, (E1000_IMS_LSC | E1000_IMS_VMMB | - E1000_IMS_DOUTSYNC)); + ims |= E1000_IMS_VMMB; + } + if (adapter->hw.mac.type == e1000_82580) + ims |= E1000_IMS_DRSTA; + + wr32(E1000_IMS, ims); } else { - wr32(E1000_IMS, IMS_ENABLE_MASK); - wr32(E1000_IAM, IMS_ENABLE_MASK); + wr32(E1000_IMS, IMS_ENABLE_MASK | + E1000_IMS_DRSTA); + wr32(E1000_IAM, IMS_ENABLE_MASK | + E1000_IMS_DRSTA); } } static void igb_update_mng_vlan(struct igb_adapter *adapter) { - struct net_device *netdev = adapter->netdev; + struct e1000_hw *hw = &adapter->hw; u16 vid = adapter->hw.mng_cookie.vlan_id; u16 old_vid = adapter->mng_vlan_id; - if (adapter->vlgrp) { - if (!vlan_group_get_device(adapter->vlgrp, vid)) { - if (adapter->hw.mng_cookie.status & - E1000_MNG_DHCP_COOKIE_STATUS_VLAN) { - igb_vlan_rx_add_vid(netdev, vid); - adapter->mng_vlan_id = vid; - } else - adapter->mng_vlan_id = IGB_MNG_VLAN_NONE; - - if ((old_vid != (u16)IGB_MNG_VLAN_NONE) && - (vid != old_vid) && - !vlan_group_get_device(adapter->vlgrp, old_vid)) - igb_vlan_rx_kill_vid(netdev, old_vid); - } else - adapter->mng_vlan_id = vid; + + if (hw->mng_cookie.status & E1000_MNG_DHCP_COOKIE_STATUS_VLAN) { + /* add VID to filter table */ + igb_vfta_set(hw, vid, true); + adapter->mng_vlan_id = vid; + } else { + adapter->mng_vlan_id = IGB_MNG_VLAN_NONE; + } + + if ((old_vid != (u16)IGB_MNG_VLAN_NONE) && + (vid != old_vid) && + !vlan_group_get_device(adapter->vlgrp, old_vid)) { + /* remove VID from filter table */ + igb_vfta_set(hw, old_vid, false); } } @@ -907,7 +1052,6 @@ ctrl_ext & ~E1000_CTRL_EXT_DRV_LOAD); } - /** * igb_get_hw_control - get control of the h/w from f/w * @adapter: address of board private structure @@ -942,8 +1086,11 @@ igb_restore_vlan(adapter); - igb_configure_tx(adapter); + igb_setup_tctl(adapter); + igb_setup_mrqc(adapter); igb_setup_rctl(adapter); + + igb_configure_tx(adapter); igb_configure_rx(adapter); igb_rx_fifo_flush_82575(&adapter->hw); @@ -965,7 +1112,6 @@ * igb_up - Open the interface and prepare it to handle traffic * @adapter: board private structure **/ - int igb_up(struct igb_adapter *adapter) { struct e1000_hw *hw = &adapter->hw; @@ -976,30 +1122,39 @@ clear_bit(__IGB_DOWN, &adapter->state); - for (i = 0; i < adapter->num_rx_queues; i++) - napi_enable(&adapter->rx_ring[i].napi); + for (i = 0; i < adapter->num_q_vectors; i++) { + struct igb_q_vector *q_vector = adapter->q_vector[i]; + napi_enable(&q_vector->napi); + } if (adapter->msix_entries) igb_configure_msix(adapter); - - igb_vmm_control(adapter); - igb_set_rah_pool(hw, adapter->vfs_allocated_count, 0); - igb_set_vmolr(hw, adapter->vfs_allocated_count); + else + igb_assign_vector(adapter->q_vector[0], 0); /* Clear any pending interrupts. */ rd32(E1000_ICR); igb_irq_enable(adapter); + /* notify VFs that reset has been completed */ + if (adapter->vfs_allocated_count) { + u32 reg_data = rd32(E1000_CTRL_EXT); + reg_data |= E1000_CTRL_EXT_PFRSTD; + wr32(E1000_CTRL_EXT, reg_data); + } + netif_tx_start_all_queues(adapter->netdev); - /* Fire a link change interrupt to start the watchdog. */ - wr32(E1000_ICS, E1000_ICS_LSC); + /* start the watchdog. */ + hw->mac.get_link_status = 1; + schedule_work(&adapter->watchdog_task); + return 0; } void igb_down(struct igb_adapter *adapter) { - struct e1000_hw *hw = &adapter->hw; struct net_device *netdev = adapter->netdev; + struct e1000_hw *hw = &adapter->hw; u32 tctl, rctl; int i; @@ -1022,8 +1177,10 @@ wrfl(); msleep(10); - for (i = 0; i < adapter->num_rx_queues; i++) - napi_disable(&adapter->rx_ring[i].napi); + for (i = 0; i < adapter->num_q_vectors; i++) { + struct igb_q_vector *q_vector = adapter->q_vector[i]; + napi_disable(&q_vector->napi); + } igb_irq_disable(adapter); @@ -1034,7 +1191,9 @@ netif_carrier_off(netdev); /* record the stats before reset*/ + spin_lock(&adapter->stats_lock); igb_update_stats(adapter); + spin_unlock(&adapter->stats_lock); adapter->link_speed = 0; adapter->link_duplex = 0; @@ -1062,6 +1221,7 @@ void igb_reset(struct igb_adapter *adapter) { + struct pci_dev *pdev = adapter->pdev; struct e1000_hw *hw = &adapter->hw; struct e1000_mac_info *mac = &hw->mac; struct e1000_fc_info *fc = &hw->fc; @@ -1072,8 +1232,13 @@ * To take effect CTRL.RST is required. */ switch (mac->type) { + case e1000_82580: + pba = rd32(E1000_RXPBS); + pba = igb_rxpbs_adjust_82580(pba); + break; case e1000_82576: - pba = E1000_PBA_64K; + pba = rd32(E1000_RXPBS); + pba &= E1000_RXPBS_SIZE_MASK_82576; break; case e1000_82575: default: @@ -1133,13 +1298,8 @@ hwm = min(((pba << 10) * 9 / 10), ((pba << 10) - 2 * adapter->max_frame_size)); - if (mac->type < e1000_82576) { - fc->high_water = hwm & 0xFFF8; /* 8-byte granularity */ - fc->low_water = fc->high_water - 8; - } else { - fc->high_water = hwm & 0xFFF0; /* 16-byte granularity */ - fc->low_water = fc->high_water - 16; - } + fc->high_water = hwm & 0xFFF0; /* 16-byte granularity */ + fc->low_water = fc->high_water - 16; fc->pause_time = 0xFFFF; fc->send_xon = 1; fc->current_mode = fc->requested_mode; @@ -1148,10 +1308,10 @@ if (adapter->vfs_allocated_count) { int i; for (i = 0 ; i < adapter->vfs_allocated_count; i++) - adapter->vf_data[i].clear_to_send = false; + adapter->vf_data[i].flags = 0; /* ping all the active vfs to let them know we are going down */ - igb_ping_all_vfs(adapter); + igb_ping_all_vfs(adapter); /* disable transmits and receives */ wr32(E1000_VFRE, 0); @@ -1159,23 +1319,28 @@ } /* Allow time for pending master requests to run */ - adapter->hw.mac.ops.reset_hw(&adapter->hw); + hw->mac.ops.reset_hw(hw); wr32(E1000_WUC, 0); - if (adapter->hw.mac.ops.init_hw(&adapter->hw)) - dev_err(&adapter->pdev->dev, "Hardware Error\n"); + if (hw->mac.ops.init_hw(hw)) + dev_err(&pdev->dev, "Hardware Error\n"); + if (hw->mac.type == e1000_82580) { + u32 reg = rd32(E1000_PCIEMISC); + wr32(E1000_PCIEMISC, + reg & ~E1000_PCIEMISC_LX_DECISION); + } igb_update_mng_vlan(adapter); /* Enable h/w to recognize an 802.1Q VLAN Ethernet packet */ wr32(E1000_VET, ETHERNET_IEEE_VLAN_TYPE); - igb_reset_adaptive(&adapter->hw); - igb_get_phy_info(&adapter->hw); + igb_reset_adaptive(hw); + igb_get_phy_info(hw); } static const struct net_device_ops igb_netdev_ops = { - .ndo_open = igb_open, + .ndo_open = igb_open, .ndo_stop = igb_close, .ndo_start_xmit = igb_xmit_frame_adv, .ndo_get_stats = igb_get_stats, @@ -1211,10 +1376,11 @@ struct net_device *netdev; struct igb_adapter *adapter; struct e1000_hw *hw; + u16 eeprom_data = 0; + static int global_quad_port_a; /* global quad port a indication */ const struct e1000_info *ei = igb_info_tbl[ent->driver_data]; unsigned long mmio_start, mmio_len; int err, pci_using_dac; - u16 eeprom_data = 0; u16 eeprom_apme_mask = IGB_EEPROM_APME; u32 part_num; @@ -1291,8 +1457,6 @@ hw->subsystem_vendor_id = pdev->subsystem_vendor; hw->subsystem_device_id = pdev->subsystem_device; - /* setup the private structure */ - hw->back = adapter; /* Copy the default MAC, PHY and NVM function pointers */ memcpy(&hw->mac.ops, ei->mac_ops, sizeof(hw->mac.ops)); memcpy(&hw->phy.ops, ei->phy_ops, sizeof(hw->phy.ops)); @@ -1302,46 +1466,6 @@ if (err) goto err_sw_init; -#ifdef CONFIG_PCI_IOV - /* since iov functionality isn't critical to base device function we - * can accept failure. If it fails we don't allow iov to be enabled */ - if (hw->mac.type == e1000_82576) { - /* 82576 supports a maximum of 7 VFs in addition to the PF */ - unsigned int num_vfs = (max_vfs > 7) ? 7 : max_vfs; - int i; - unsigned char mac_addr[ETH_ALEN]; - - if (num_vfs) { - adapter->vf_data = kcalloc(num_vfs, - sizeof(struct vf_data_storage), - GFP_KERNEL); - if (!adapter->vf_data) { - dev_err(&pdev->dev, - "Could not allocate VF private data - " - "IOV enable failed\n"); - } else { - err = pci_enable_sriov(pdev, num_vfs); - if (!err) { - adapter->vfs_allocated_count = num_vfs; - dev_info(&pdev->dev, - "%d vfs allocated\n", - num_vfs); - for (i = 0; - i < adapter->vfs_allocated_count; - i++) { - random_ether_addr(mac_addr); - igb_set_vf_mac(adapter, i, - mac_addr); - } - } else { - kfree(adapter->vf_data); - adapter->vf_data = NULL; - } - } - } - } - -#endif /* setup the private structure */ err = igb_sw_init(adapter); if (err) @@ -1349,16 +1473,6 @@ igb_get_bus_info_pcie(hw); - /* set flags */ - switch (hw->mac.type) { - case e1000_82575: - adapter->flags |= IGB_FLAG_NEED_CTX_IDX; - break; - case e1000_82576: - default: - break; - } - hw->phy.autoneg_wait_to_complete = false; hw->mac.adaptive_ifs = true; @@ -1382,7 +1496,6 @@ netdev->features |= NETIF_F_IPV6_CSUM; netdev->features |= NETIF_F_TSO; netdev->features |= NETIF_F_TSO6; - netdev->features |= NETIF_F_GRO; netdev->vlan_features |= NETIF_F_TSO; @@ -1394,10 +1507,10 @@ if (pci_using_dac) netdev->features |= NETIF_F_HIGHDMA; - if (adapter->hw.mac.type == e1000_82576) + if (hw->mac.type >= e1000_82576) netdev->features |= NETIF_F_SCTP_CSUM; - adapter->en_mng_pt = igb_enable_mng_pass_thru(&adapter->hw); + adapter->en_mng_pt = igb_enable_mng_pass_thru(hw); /* before reading the NVM, reset the controller to put the device in a * known good starting state */ @@ -1423,6 +1536,8 @@ goto err_eeprom; } + spin_lock_init(&adapter->stats_lock); + setup_timer(&adapter->watchdog_timer, &igb_watchdog, (unsigned long) adapter); setup_timer(&adapter->phy_info_timer, &igb_update_phy_info, @@ -1439,9 +1554,6 @@ hw->fc.requested_mode = e1000_fc_default; hw->fc.current_mode = e1000_fc_default; - adapter->itr_setting = IGB_DEFAULT_ITR; - adapter->itr = IGB_START_ITR; - igb_validate_mdi_setting(hw); /* Initial Wake on LAN setting If APM wake is enabled in the EEPROM, @@ -1450,6 +1562,10 @@ if (hw->bus.func == 0) hw->nvm.ops.read(hw, NVM_INIT_CONTROL3_PORT_A, 1, &eeprom_data); + else if (hw->mac.type == e1000_82580) + hw->nvm.ops.read(hw, NVM_INIT_CONTROL3_PORT_A + + NVM_82580_LAN_FUNC_OFFSET(hw->bus.func), 1, + &eeprom_data); else if (hw->bus.func == 1) hw->nvm.ops.read(hw, NVM_INIT_CONTROL3_PORT_B, 1, &eeprom_data); @@ -1508,66 +1624,14 @@ dev_info(&pdev->dev, "DCA enabled\n"); igb_setup_dca(adapter); } -#endif - - /* - * Initialize hardware timer: we keep it running just in case - * that some program needs it later on. - */ - memset(&adapter->cycles, 0, sizeof(adapter->cycles)); - adapter->cycles.read = igb_read_clock; - adapter->cycles.mask = CLOCKSOURCE_MASK(64); - adapter->cycles.mult = 1; - adapter->cycles.shift = IGB_TSYNC_SHIFT; - wr32(E1000_TIMINCA, - (1<<24) | - IGB_TSYNC_CYCLE_TIME_IN_NANOSECONDS * IGB_TSYNC_SCALE); -#if 0 - /* - * Avoid rollover while we initialize by resetting the time counter. - */ - wr32(E1000_SYSTIML, 0x00000000); - wr32(E1000_SYSTIMH, 0x00000000); -#else - /* - * Set registers so that rollover occurs soon to test this. - */ - wr32(E1000_SYSTIML, 0x00000000); - wr32(E1000_SYSTIMH, 0xFF800000); -#endif - wrfl(); - timecounter_init(&adapter->clock, - &adapter->cycles, - ktime_to_ns(ktime_get_real())); - - /* - * Synchronize our NIC clock against system wall clock. NIC - * time stamp reading requires ~3us per sample, each sample - * was pretty stable even under load => only require 10 - * samples for each offset comparison. - */ - memset(&adapter->compare, 0, sizeof(adapter->compare)); - adapter->compare.source = &adapter->clock; - adapter->compare.target = ktime_get_real; - adapter->compare.num_samples = 10; - timecompare_update(&adapter->compare, 0); -#ifdef DEBUG - { - char buffer[160]; - printk(KERN_DEBUG - "igb: %s: hw %p initialized timer\n", - igb_get_time_str(adapter, buffer), - &adapter->hw); - } #endif - dev_info(&pdev->dev, "Intel(R) Gigabit Ethernet Network Connection\n"); /* print bus type/speed/width info */ dev_info(&pdev->dev, "%s: (PCIe:%s:%s) %pM\n", netdev->name, - ((hw->bus.speed == e1000_bus_speed_2500) - ? "2.5Gb/s" : "unknown"), + ((hw->bus.speed == e1000_bus_speed_2500) ? "2.5Gb/s" : + "unknown"), ((hw->bus.width == e1000_bus_width_pcie_x4) ? "Width x4" : (hw->bus.width == e1000_bus_width_pcie_x2) ? "Width x2" : (hw->bus.width == e1000_bus_width_pcie_x1) ? "Width x1" : @@ -1594,15 +1658,14 @@ if (hw->flash_address) iounmap(hw->flash_address); - - igb_free_queues(adapter); err_sw_init: + igb_clear_interrupt_scheme(adapter); iounmap(hw->hw_addr); err_ioremap: free_netdev(netdev); err_alloc_etherdev: - pci_release_selected_regions(pdev, pci_select_bars(pdev, - IORESOURCE_MEM)); + pci_release_selected_regions(pdev, + pci_select_bars(pdev, IORESOURCE_MEM)); err_pci_reg: err_dma: pci_disable_device(pdev); @@ -1647,12 +1710,10 @@ unregister_netdev(netdev); - if (!igb_check_reset_block(&adapter->hw)) - igb_reset_phy(&adapter->hw); - - igb_reset_interrupt_capability(adapter); + if (!igb_check_reset_block(hw)) + igb_reset_phy(hw); - igb_free_queues(adapter); + igb_clear_interrupt_scheme(adapter); #ifdef CONFIG_PCI_IOV /* reclaim resources allocated to VFs */ @@ -1668,11 +1729,12 @@ dev_info(&pdev->dev, "IOV Disabled\n"); } #endif + iounmap(hw->hw_addr); if (hw->flash_address) iounmap(hw->flash_address); - pci_release_selected_regions(pdev, pci_select_bars(pdev, - IORESOURCE_MEM)); + pci_release_selected_regions(pdev, + pci_select_bars(pdev, IORESOURCE_MEM)); free_netdev(netdev); @@ -1682,6 +1744,160 @@ } /** + * igb_probe_vfs - Initialize vf data storage and add VFs to pci config space + * @adapter: board private structure to initialize + * + * This function initializes the vf specific data storage and then attempts to + * allocate the VFs. The reason for ordering it this way is because it is much + * mor expensive time wise to disable SR-IOV than it is to allocate and free + * the memory for the VFs. + **/ +static void __devinit igb_probe_vfs(struct igb_adapter * adapter) +{ +#ifdef CONFIG_PCI_IOV + struct pci_dev *pdev = adapter->pdev; + + if (adapter->vfs_allocated_count > 7) + adapter->vfs_allocated_count = 7; + + if (adapter->vfs_allocated_count) { + adapter->vf_data = kcalloc(adapter->vfs_allocated_count, + sizeof(struct vf_data_storage), + GFP_KERNEL); + /* if allocation failed then we do not support SR-IOV */ + if (!adapter->vf_data) { + adapter->vfs_allocated_count = 0; + dev_err(&pdev->dev, "Unable to allocate memory for VF " + "Data Storage\n"); + } + } + + if (pci_enable_sriov(pdev, adapter->vfs_allocated_count)) { + kfree(adapter->vf_data); + adapter->vf_data = NULL; +#endif /* CONFIG_PCI_IOV */ + adapter->vfs_allocated_count = 0; +#ifdef CONFIG_PCI_IOV + } else { + unsigned char mac_addr[ETH_ALEN]; + int i; + dev_info(&pdev->dev, "%d vfs allocated\n", + adapter->vfs_allocated_count); + for (i = 0; i < adapter->vfs_allocated_count; i++) { + random_ether_addr(mac_addr); + igb_set_vf_mac(adapter, i, mac_addr); + } + } +#endif /* CONFIG_PCI_IOV */ +} + + +/** + * igb_init_hw_timer - Initialize hardware timer used with IEEE 1588 timestamp + * @adapter: board private structure to initialize + * + * igb_init_hw_timer initializes the function pointer and values for the hw + * timer found in hardware. + **/ +static void igb_init_hw_timer(struct igb_adapter *adapter) +{ + struct e1000_hw *hw = &adapter->hw; + + switch (hw->mac.type) { + case e1000_82580: + memset(&adapter->cycles, 0, sizeof(adapter->cycles)); + adapter->cycles.read = igb_read_clock; + adapter->cycles.mask = CLOCKSOURCE_MASK(64); + adapter->cycles.mult = 1; + /* + * The 82580 timesync updates the system timer every 8ns by 8ns + * and the value cannot be shifted. Instead we need to shift + * the registers to generate a 64bit timer value. As a result + * SYSTIMR/L/H, TXSTMPL/H, RXSTMPL/H all have to be shifted by + * 24 in order to generate a larger value for synchronization. + */ + adapter->cycles.shift = IGB_82580_TSYNC_SHIFT; + /* disable system timer temporarily by setting bit 31 */ + wr32(E1000_TSAUXC, 0x80000000); + wrfl(); + + /* Set registers so that rollover occurs soon to test this. */ + wr32(E1000_SYSTIMR, 0x00000000); + wr32(E1000_SYSTIML, 0x80000000); + wr32(E1000_SYSTIMH, 0x000000FF); + wrfl(); + + /* enable system timer by clearing bit 31 */ + wr32(E1000_TSAUXC, 0x0); + wrfl(); + + timecounter_init(&adapter->clock, + &adapter->cycles, + ktime_to_ns(ktime_get_real())); + /* + * Synchronize our NIC clock against system wall clock. NIC + * time stamp reading requires ~3us per sample, each sample + * was pretty stable even under load => only require 10 + * samples for each offset comparison. + */ + memset(&adapter->compare, 0, sizeof(adapter->compare)); + adapter->compare.source = &adapter->clock; + adapter->compare.target = ktime_get_real; + adapter->compare.num_samples = 10; + timecompare_update(&adapter->compare, 0); + break; + case e1000_82576: + /* + * Initialize hardware timer: we keep it running just in case + * that some program needs it later on. + */ + memset(&adapter->cycles, 0, sizeof(adapter->cycles)); + adapter->cycles.read = igb_read_clock; + adapter->cycles.mask = CLOCKSOURCE_MASK(64); + adapter->cycles.mult = 1; + /** + * Scale the NIC clock cycle by a large factor so that + * relatively small clock corrections can be added or + * substracted at each clock tick. The drawbacks of a large + * factor are a) that the clock register overflows more quickly + * (not such a big deal) and b) that the increment per tick has + * to fit into 24 bits. As a result we need to use a shift of + * 19 so we can fit a value of 16 into the TIMINCA register. + */ + adapter->cycles.shift = IGB_82576_TSYNC_SHIFT; + wr32(E1000_TIMINCA, + (1 << E1000_TIMINCA_16NS_SHIFT) | + (16 << IGB_82576_TSYNC_SHIFT)); + + /* Set registers so that rollover occurs soon to test this. */ + wr32(E1000_SYSTIML, 0x00000000); + wr32(E1000_SYSTIMH, 0xFF800000); + wrfl(); + + timecounter_init(&adapter->clock, + &adapter->cycles, + ktime_to_ns(ktime_get_real())); + /* + * Synchronize our NIC clock against system wall clock. NIC + * time stamp reading requires ~3us per sample, each sample + * was pretty stable even under load => only require 10 + * samples for each offset comparison. + */ + memset(&adapter->compare, 0, sizeof(adapter->compare)); + adapter->compare.source = &adapter->clock; + adapter->compare.target = ktime_get_real; + adapter->compare.num_samples = 10; + timecompare_update(&adapter->compare, 0); + break; + case e1000_82575: + /* 82575 does not support timesync */ + default: + break; + } + +} + +/** * igb_sw_init - Initialize general software structures (struct igb_adapter) * @adapter: board private structure to initialize * @@ -1699,20 +1915,37 @@ adapter->tx_ring_count = IGB_DEFAULT_TXD; adapter->rx_ring_count = IGB_DEFAULT_RXD; - adapter->rx_buffer_len = MAXIMUM_ETHERNET_VLAN_SIZE; - adapter->rx_ps_hdr_size = 0; /* disable packet split */ + adapter->rx_itr_setting = IGB_DEFAULT_ITR; + adapter->tx_itr_setting = IGB_DEFAULT_ITR; + adapter->max_frame_size = netdev->mtu + ETH_HLEN + ETH_FCS_LEN; adapter->min_frame_size = ETH_ZLEN + ETH_FCS_LEN; - /* This call may decrease the number of queues depending on - * interrupt mode. */ - igb_set_interrupt_capability(adapter); +#ifdef CONFIG_PCI_IOV + if (hw->mac.type == e1000_82576) + adapter->vfs_allocated_count = max_vfs; + +#endif /* CONFIG_PCI_IOV */ + adapter->rss_queues = min_t(u32, IGB_MAX_RX_QUEUES, num_online_cpus()); + + /* + * 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; - if (igb_alloc_queues(adapter)) { + /* This call may decrease the number of queues */ + if (igb_init_interrupt_scheme(adapter)) { dev_err(&pdev->dev, "Unable to allocate memory for queues\n"); return -ENOMEM; } + igb_init_hw_timer(adapter); + igb_probe_vfs(adapter); + /* Explicitly disable IRQ since the NIC can be in any state. */ igb_irq_disable(adapter); @@ -1757,21 +1990,12 @@ /* e1000_power_up_phy(adapter); */ - adapter->mng_vlan_id = IGB_MNG_VLAN_NONE; - if ((adapter->hw.mng_cookie.status & - E1000_MNG_DHCP_COOKIE_STATUS_VLAN)) - igb_update_mng_vlan(adapter); - /* before we allocate an interrupt, we must be ready to handle it. * Setting DEBUG_SHIRQ in the kernel makes it fire an interrupt * as soon as we call pci_request_irq, so we have to setup our * clean_rx handler before we do so. */ igb_configure(adapter); - igb_vmm_control(adapter); - igb_set_rah_pool(hw, adapter->vfs_allocated_count, 0); - igb_set_vmolr(hw, adapter->vfs_allocated_count); - err = igb_request_irq(adapter); if (err) goto err_req_irq; @@ -1779,18 +2003,28 @@ /* From here on the code is the same as igb_up() */ clear_bit(__IGB_DOWN, &adapter->state); - for (i = 0; i < adapter->num_rx_queues; i++) - napi_enable(&adapter->rx_ring[i].napi); + for (i = 0; i < adapter->num_q_vectors; i++) { + struct igb_q_vector *q_vector = adapter->q_vector[i]; + napi_enable(&q_vector->napi); + } /* Clear any pending interrupts. */ rd32(E1000_ICR); igb_irq_enable(adapter); + /* notify VFs that reset has been completed */ + if (adapter->vfs_allocated_count) { + u32 reg_data = rd32(E1000_CTRL_EXT); + reg_data |= E1000_CTRL_EXT_PFRSTD; + wr32(E1000_CTRL_EXT, reg_data); + } + netif_tx_start_all_queues(netdev); - /* Fire a link status change interrupt to start the watchdog. */ - wr32(E1000_ICS, E1000_ICS_LSC); + /* start the watchdog. */ + hw->mac.get_link_status = 1; + schedule_work(&adapter->watchdog_task); return 0; @@ -1829,28 +2063,18 @@ igb_free_all_tx_resources(adapter); igb_free_all_rx_resources(adapter); - /* kill manageability vlan ID if supported, but not if a vlan with - * the same ID is registered on the host OS (let 8021q kill it) */ - if ((adapter->hw.mng_cookie.status & - E1000_MNG_DHCP_COOKIE_STATUS_VLAN) && - !(adapter->vlgrp && - vlan_group_get_device(adapter->vlgrp, adapter->mng_vlan_id))) - igb_vlan_rx_kill_vid(netdev, adapter->mng_vlan_id); - return 0; } /** * igb_setup_tx_resources - allocate Tx resources (Descriptors) - * @adapter: board private structure * @tx_ring: tx descriptor ring (for a specific queue) to setup * * Return 0 on success, negative on failure **/ -int igb_setup_tx_resources(struct igb_adapter *adapter, - struct igb_ring *tx_ring) +int igb_setup_tx_resources(struct igb_ring *tx_ring) { - struct pci_dev *pdev = adapter->pdev; + struct pci_dev *pdev = tx_ring->pdev; int size; size = sizeof(struct igb_buffer) * tx_ring->count; @@ -1863,20 +2087,20 @@ tx_ring->size = tx_ring->count * sizeof(union e1000_adv_tx_desc); tx_ring->size = ALIGN(tx_ring->size, 4096); - tx_ring->desc = pci_alloc_consistent(pdev, tx_ring->size, + tx_ring->desc = pci_alloc_consistent(pdev, + tx_ring->size, &tx_ring->dma); if (!tx_ring->desc) goto err; - tx_ring->adapter = adapter; tx_ring->next_to_use = 0; tx_ring->next_to_clean = 0; return 0; err: vfree(tx_ring->buffer_info); - dev_err(&adapter->pdev->dev, + dev_err(&pdev->dev, "Unable to allocate memory for the transmit descriptor ring\n"); return -ENOMEM; } @@ -1890,13 +2114,13 @@ **/ static int igb_setup_all_tx_resources(struct igb_adapter *adapter) { + struct pci_dev *pdev = adapter->pdev; int i, err = 0; - int r_idx; for (i = 0; i < adapter->num_tx_queues; i++) { - err = igb_setup_tx_resources(adapter, &adapter->tx_ring[i]); + err = igb_setup_tx_resources(&adapter->tx_ring[i]); if (err) { - dev_err(&adapter->pdev->dev, + dev_err(&pdev->dev, "Allocation for Tx Queue %u failed\n", i); for (i--; i >= 0; i--) igb_free_tx_resources(&adapter->tx_ring[i]); @@ -1904,57 +2128,24 @@ } } - for (i = 0; i < IGB_MAX_TX_QUEUES; i++) { - r_idx = i % adapter->num_tx_queues; + for (i = 0; i < IGB_ABS_MAX_TX_QUEUES; i++) { + int r_idx = i % adapter->num_tx_queues; adapter->multi_tx_table[i] = &adapter->tx_ring[r_idx]; } return err; } /** - * igb_configure_tx - Configure transmit Unit after Reset - * @adapter: board private structure - * - * Configure the Tx unit of the MAC after a reset. + * igb_setup_tctl - configure the transmit control registers + * @adapter: Board private structure **/ -static void igb_configure_tx(struct igb_adapter *adapter) +void igb_setup_tctl(struct igb_adapter *adapter) { - u64 tdba; struct e1000_hw *hw = &adapter->hw; u32 tctl; - u32 txdctl, txctrl; - int i, j; - for (i = 0; i < adapter->num_tx_queues; i++) { - struct igb_ring *ring = &adapter->tx_ring[i]; - j = ring->reg_idx; - wr32(E1000_TDLEN(j), - ring->count * sizeof(union e1000_adv_tx_desc)); - tdba = ring->dma; - wr32(E1000_TDBAL(j), - tdba & 0x00000000ffffffffULL); - wr32(E1000_TDBAH(j), tdba >> 32); - - ring->head = E1000_TDH(j); - ring->tail = E1000_TDT(j); - writel(0, hw->hw_addr + ring->tail); - writel(0, hw->hw_addr + ring->head); - txdctl = rd32(E1000_TXDCTL(j)); - txdctl |= E1000_TXDCTL_QUEUE_ENABLE; - wr32(E1000_TXDCTL(j), txdctl); - - /* Turn off Relaxed Ordering on head write-backs. The - * writebacks MUST be delivered in order or it will - * completely screw up our bookeeping. - */ - txctrl = rd32(E1000_DCA_TXCTRL(j)); - txctrl &= ~E1000_DCA_TXCTRL_TX_WB_RO_EN; - wr32(E1000_DCA_TXCTRL(j), txctrl); - } - - /* disable queue 0 to prevent tail bump w/o re-configuration */ - if (adapter->vfs_allocated_count) - wr32(E1000_TXDCTL(0), 0); + /* disable queue 0 which is enabled by default on 82575 and 82576 */ + wr32(E1000_TXDCTL(0), 0); /* Program the Transmit Control Register */ tctl = rd32(E1000_TCTL); @@ -1964,9 +2155,6 @@ igb_config_collision_dist(hw); - /* Setup Transmit Descriptor Settings for eop descriptor */ - adapter->txd_cmd = E1000_TXD_CMD_EOP | E1000_TXD_CMD_RS; - /* Enable transmits */ tctl |= E1000_TCTL_EN; @@ -1974,16 +2162,69 @@ } /** - * igb_setup_rx_resources - allocate Rx resources (Descriptors) + * igb_configure_tx_ring - Configure transmit ring after Reset + * @adapter: board private structure + * @ring: tx ring to configure + * + * Configure a transmit ring after a reset. + **/ +void igb_configure_tx_ring(struct igb_adapter *adapter, + struct igb_ring *ring) +{ + struct e1000_hw *hw = &adapter->hw; + u32 txdctl; + u64 tdba = ring->dma; + int reg_idx = ring->reg_idx; + + /* disable the queue */ + txdctl = rd32(E1000_TXDCTL(reg_idx)); + wr32(E1000_TXDCTL(reg_idx), + txdctl & ~E1000_TXDCTL_QUEUE_ENABLE); + wrfl(); + mdelay(10); + + wr32(E1000_TDLEN(reg_idx), + ring->count * sizeof(union e1000_adv_tx_desc)); + wr32(E1000_TDBAL(reg_idx), + tdba & 0x00000000ffffffffULL); + wr32(E1000_TDBAH(reg_idx), tdba >> 32); + + ring->head = hw->hw_addr + E1000_TDH(reg_idx); + ring->tail = hw->hw_addr + E1000_TDT(reg_idx); + writel(0, ring->head); + writel(0, ring->tail); + + txdctl |= IGB_TX_PTHRESH; + txdctl |= IGB_TX_HTHRESH << 8; + txdctl |= IGB_TX_WTHRESH << 16; + + txdctl |= E1000_TXDCTL_QUEUE_ENABLE; + wr32(E1000_TXDCTL(reg_idx), txdctl); +} + +/** + * igb_configure_tx - Configure transmit Unit after Reset * @adapter: board private structure + * + * Configure the Tx unit of the MAC after a reset. + **/ +static void igb_configure_tx(struct igb_adapter *adapter) +{ + int i; + + for (i = 0; i < adapter->num_tx_queues; i++) + igb_configure_tx_ring(adapter, &adapter->tx_ring[i]); +} + +/** + * igb_setup_rx_resources - allocate Rx resources (Descriptors) * @rx_ring: rx descriptor ring (for a specific queue) to setup * * Returns 0 on success, negative on failure **/ -int igb_setup_rx_resources(struct igb_adapter *adapter, - struct igb_ring *rx_ring) +int igb_setup_rx_resources(struct igb_ring *rx_ring) { - struct pci_dev *pdev = adapter->pdev; + struct pci_dev *pdev = rx_ring->pdev; int size, desc_len; size = sizeof(struct igb_buffer) * rx_ring->count; @@ -2007,13 +2248,12 @@ rx_ring->next_to_clean = 0; rx_ring->next_to_use = 0; - rx_ring->adapter = adapter; - return 0; err: vfree(rx_ring->buffer_info); - dev_err(&adapter->pdev->dev, "Unable to allocate memory for " + rx_ring->buffer_info = NULL; + dev_err(&pdev->dev, "Unable to allocate memory for " "the receive descriptor ring\n"); return -ENOMEM; } @@ -2027,12 +2267,13 @@ **/ static int igb_setup_all_rx_resources(struct igb_adapter *adapter) { + struct pci_dev *pdev = adapter->pdev; int i, err = 0; for (i = 0; i < adapter->num_rx_queues; i++) { - err = igb_setup_rx_resources(adapter, &adapter->rx_ring[i]); + err = igb_setup_rx_resources(&adapter->rx_ring[i]); if (err) { - dev_err(&adapter->pdev->dev, + dev_err(&pdev->dev, "Allocation for Rx Queue %u failed\n", i); for (i--; i >= 0; i--) igb_free_rx_resources(&adapter->rx_ring[i]); @@ -2044,15 +2285,122 @@ } /** + * igb_setup_mrqc - configure the multiple receive queue control registers + * @adapter: Board private structure + **/ +static void igb_setup_mrqc(struct igb_adapter *adapter) +{ + struct e1000_hw *hw = &adapter->hw; + u32 mrqc, rxcsum; + u32 j, num_rx_queues, shift = 0, shift2 = 0; + union e1000_reta { + u32 dword; + u8 bytes[4]; + } reta; + static const u8 rsshash[40] = { + 0x6d, 0x5a, 0x56, 0xda, 0x25, 0x5b, 0x0e, 0xc2, 0x41, 0x67, + 0x25, 0x3d, 0x43, 0xa3, 0x8f, 0xb0, 0xd0, 0xca, 0x2b, 0xcb, + 0xae, 0x7b, 0x30, 0xb4, 0x77, 0xcb, 0x2d, 0xa3, 0x80, 0x30, + 0xf2, 0x0c, 0x6a, 0x42, 0xb7, 0x3b, 0xbe, 0xac, 0x01, 0xfa }; + + /* Fill out hash function seeds */ + for (j = 0; j < 10; j++) { + u32 rsskey = rsshash[(j * 4)]; + rsskey |= rsshash[(j * 4) + 1] << 8; + rsskey |= rsshash[(j * 4) + 2] << 16; + rsskey |= rsshash[(j * 4) + 3] << 24; + array_wr32(E1000_RSSRK(0), j, rsskey); + } + + num_rx_queues = adapter->rss_queues; + + if (adapter->vfs_allocated_count) { + /* 82575 and 82576 supports 2 RSS queues for VMDq */ + switch (hw->mac.type) { + case e1000_82580: + num_rx_queues = 1; + shift = 0; + break; + case e1000_82576: + shift = 3; + num_rx_queues = 2; + break; + case e1000_82575: + shift = 2; + shift2 = 6; + default: + break; + } + } else { + if (hw->mac.type == e1000_82575) + shift = 6; + } + + for (j = 0; j < (32 * 4); j++) { + reta.bytes[j & 3] = (j % num_rx_queues) << shift; + if (shift2) + reta.bytes[j & 3] |= num_rx_queues << shift2; + if ((j & 3) == 3) + wr32(E1000_RETA(j >> 2), reta.dword); + } + + /* + * Disable raw packet checksumming so that RSS hash is placed in + * descriptor on writeback. No need to enable TCP/UDP/IP checksum + * offloads as they are enabled by default + */ + rxcsum = rd32(E1000_RXCSUM); + rxcsum |= E1000_RXCSUM_PCSD; + + if (adapter->hw.mac.type >= e1000_82576) + /* Enable Receive Checksum Offload for SCTP */ + rxcsum |= E1000_RXCSUM_CRCOFL; + + /* Don't need to set TUOFL or IPOFL, they default to 1 */ + wr32(E1000_RXCSUM, rxcsum); + + /* If VMDq is enabled then we set the appropriate mode for that, else + * we default to RSS so that an RSS hash is calculated per packet even + * if we are only using one queue */ + if (adapter->vfs_allocated_count) { + if (hw->mac.type > e1000_82575) { + /* Set the default pool for the PF's first queue */ + u32 vtctl = rd32(E1000_VT_CTL); + vtctl &= ~(E1000_VT_CTL_DEFAULT_POOL_MASK | + E1000_VT_CTL_DISABLE_DEF_POOL); + vtctl |= adapter->vfs_allocated_count << + E1000_VT_CTL_DEFAULT_POOL_SHIFT; + wr32(E1000_VT_CTL, vtctl); + } + if (adapter->rss_queues > 1) + mrqc = E1000_MRQC_ENABLE_VMDQ_RSS_2Q; + else + mrqc = E1000_MRQC_ENABLE_VMDQ; + } else { + mrqc = E1000_MRQC_ENABLE_RSS_4Q; + } + igb_vmm_control(adapter); + + mrqc |= (E1000_MRQC_RSS_FIELD_IPV4 | + E1000_MRQC_RSS_FIELD_IPV4_TCP); + mrqc |= (E1000_MRQC_RSS_FIELD_IPV6 | + E1000_MRQC_RSS_FIELD_IPV6_TCP); + mrqc |= (E1000_MRQC_RSS_FIELD_IPV4_UDP | + E1000_MRQC_RSS_FIELD_IPV6_UDP); + mrqc |= (E1000_MRQC_RSS_FIELD_IPV6_UDP_EX | + E1000_MRQC_RSS_FIELD_IPV6_TCP_EX); + + wr32(E1000_MRQC, mrqc); +} + +/** * igb_setup_rctl - configure the receive control registers * @adapter: Board private structure **/ -static void igb_setup_rctl(struct igb_adapter *adapter) +void igb_setup_rctl(struct igb_adapter *adapter) { struct e1000_hw *hw = &adapter->hw; u32 rctl; - u32 srrctl = 0; - int i; rctl = rd32(E1000_RCTL); @@ -2069,75 +2417,45 @@ */ rctl |= E1000_RCTL_SECRC; - /* - * disable store bad packets and clear size bits. - */ + /* disable store bad packets and clear size bits. */ rctl &= ~(E1000_RCTL_SBP | E1000_RCTL_SZ_256); - /* enable LPE when to prevent packets larger than max_frame_size */ - rctl |= E1000_RCTL_LPE; - - /* Setup buffer sizes */ - switch (adapter->rx_buffer_len) { - case IGB_RXBUFFER_256: - rctl |= E1000_RCTL_SZ_256; - break; - case IGB_RXBUFFER_512: - rctl |= E1000_RCTL_SZ_512; - break; - default: - srrctl = ALIGN(adapter->rx_buffer_len, 1024) - >> E1000_SRRCTL_BSIZEPKT_SHIFT; - break; - } + /* enable LPE to prevent packets larger than max_frame_size */ + rctl |= E1000_RCTL_LPE; - /* 82575 and greater support packet-split where the protocol - * header is placed in skb->data and the packet data is - * placed in pages hanging off of skb_shinfo(skb)->nr_frags. - * In the case of a non-split, skb->data is linearly filled, - * followed by the page buffers. Therefore, skb->data is - * sized to hold the largest protocol header. - */ - /* allocations using alloc_page take too long for regular MTU - * so only enable packet split for jumbo frames */ - if (adapter->netdev->mtu > ETH_DATA_LEN) { - adapter->rx_ps_hdr_size = IGB_RXBUFFER_128; - srrctl |= adapter->rx_ps_hdr_size << - E1000_SRRCTL_BSIZEHDRSIZE_SHIFT; - srrctl |= E1000_SRRCTL_DESCTYPE_HDR_SPLIT_ALWAYS; - } else { - adapter->rx_ps_hdr_size = 0; - srrctl |= E1000_SRRCTL_DESCTYPE_ADV_ONEBUF; - } + /* disable queue 0 to prevent tail write w/o re-config */ + wr32(E1000_RXDCTL(0), 0); /* Attention!!! For SR-IOV PF driver operations you must enable * queue drop for all VF and PF queues to prevent head of line blocking * if an un-trusted VF does not provide descriptors to hardware. */ if (adapter->vfs_allocated_count) { - u32 vmolr; - /* set all queue drop enable bits */ wr32(E1000_QDE, ALL_QUEUES); - srrctl |= E1000_SRRCTL_DROP_EN; + } - /* disable queue 0 to prevent tail write w/o re-config */ - wr32(E1000_RXDCTL(0), 0); + wr32(E1000_RCTL, rctl); +} - vmolr = rd32(E1000_VMOLR(adapter->vfs_allocated_count)); - if (rctl & E1000_RCTL_LPE) - vmolr |= E1000_VMOLR_LPE; - if (adapter->num_rx_queues > 1) - vmolr |= E1000_VMOLR_RSSE; - wr32(E1000_VMOLR(adapter->vfs_allocated_count), vmolr); - } +static inline int igb_set_vf_rlpml(struct igb_adapter *adapter, int size, + int vfn) +{ + struct e1000_hw *hw = &adapter->hw; + u32 vmolr; - for (i = 0; i < adapter->num_rx_queues; i++) { - int j = adapter->rx_ring[i].reg_idx; - wr32(E1000_SRRCTL(j), srrctl); - } + /* if it isn't the PF check to see if VFs are enabled and + * increase the size to support vlan tags */ + if (vfn < adapter->vfs_allocated_count && + adapter->vf_data[vfn].vlans_enabled) + size += VLAN_TAG_SIZE; - wr32(E1000_RCTL, rctl); + vmolr = rd32(E1000_VMOLR(vfn)); + vmolr &= ~E1000_VMOLR_RLPML_MASK; + vmolr |= size | E1000_VMOLR_LPE; + wr32(E1000_VMOLR(vfn), vmolr); + + return 0; } /** @@ -2159,33 +2477,107 @@ * size and set the VMOLR RLPML to the size we need */ if (pf_id) { igb_set_vf_rlpml(adapter, max_frame_size, pf_id); - max_frame_size = MAX_STD_JUMBO_FRAME_SIZE + VLAN_TAG_SIZE; + max_frame_size = MAX_JUMBO_FRAME_SIZE; } wr32(E1000_RLPML, max_frame_size); } +static inline void igb_set_vmolr(struct igb_adapter *adapter, int vfn) +{ + struct e1000_hw *hw = &adapter->hw; + u32 vmolr; + + /* + * This register exists only on 82576 and newer so if we are older then + * we should exit and do nothing + */ + if (hw->mac.type < e1000_82576) + return; + + vmolr = rd32(E1000_VMOLR(vfn)); + vmolr |= E1000_VMOLR_AUPE | /* Accept untagged packets */ + E1000_VMOLR_STRVLAN; /* Strip vlan tags */ + + /* clear all bits that might not be set */ + vmolr &= ~(E1000_VMOLR_BAM | E1000_VMOLR_RSSE); + + if (adapter->rss_queues > 1 && vfn == adapter->vfs_allocated_count) + vmolr |= E1000_VMOLR_RSSE; /* enable RSS */ + /* + * for VMDq only allow the VFs and pool 0 to accept broadcast and + * multicast packets + */ + if (vfn <= adapter->vfs_allocated_count) + vmolr |= E1000_VMOLR_BAM; /* Accept broadcast */ + + wr32(E1000_VMOLR(vfn), vmolr); +} + /** - * igb_configure_vt_default_pool - Configure VT default pool + * igb_configure_rx_ring - Configure a receive ring after Reset * @adapter: board private structure + * @ring: receive ring to be configured * - * Configure the default pool + * Configure the Rx unit of the MAC after a reset. **/ -static void igb_configure_vt_default_pool(struct igb_adapter *adapter) +void igb_configure_rx_ring(struct igb_adapter *adapter, + struct igb_ring *ring) { struct e1000_hw *hw = &adapter->hw; - u16 pf_id = adapter->vfs_allocated_count; - u32 vtctl; + u64 rdba = ring->dma; + int reg_idx = ring->reg_idx; + u32 srrctl, rxdctl; + + /* disable the queue */ + rxdctl = rd32(E1000_RXDCTL(reg_idx)); + wr32(E1000_RXDCTL(reg_idx), + rxdctl & ~E1000_RXDCTL_QUEUE_ENABLE); + + /* Set DMA base address registers */ + wr32(E1000_RDBAL(reg_idx), + rdba & 0x00000000ffffffffULL); + wr32(E1000_RDBAH(reg_idx), rdba >> 32); + wr32(E1000_RDLEN(reg_idx), + ring->count * sizeof(union e1000_adv_rx_desc)); + + /* initialize head and tail */ + ring->head = hw->hw_addr + E1000_RDH(reg_idx); + ring->tail = hw->hw_addr + E1000_RDT(reg_idx); + writel(0, ring->head); + writel(0, ring->tail); + + /* set descriptor configuration */ + if (ring->rx_buffer_len < IGB_RXBUFFER_1024) { + srrctl = ALIGN(ring->rx_buffer_len, 64) << + E1000_SRRCTL_BSIZEHDRSIZE_SHIFT; +#if (PAGE_SIZE / 2) > IGB_RXBUFFER_16384 + srrctl |= IGB_RXBUFFER_16384 >> + E1000_SRRCTL_BSIZEPKT_SHIFT; +#else + srrctl |= (PAGE_SIZE / 2) >> + E1000_SRRCTL_BSIZEPKT_SHIFT; +#endif + srrctl |= E1000_SRRCTL_DESCTYPE_HDR_SPLIT_ALWAYS; + } else { + srrctl = ALIGN(ring->rx_buffer_len, 1024) >> + E1000_SRRCTL_BSIZEPKT_SHIFT; + srrctl |= E1000_SRRCTL_DESCTYPE_ADV_ONEBUF; + } - /* not in sr-iov mode - do nothing */ - if (!pf_id) - return; + wr32(E1000_SRRCTL(reg_idx), srrctl); - vtctl = rd32(E1000_VT_CTL); - vtctl &= ~(E1000_VT_CTL_DEFAULT_POOL_MASK | - E1000_VT_CTL_DISABLE_DEF_POOL); - vtctl |= pf_id << E1000_VT_CTL_DEFAULT_POOL_SHIFT; - wr32(E1000_VT_CTL, vtctl); + /* set filtering for VMDQ pools */ + igb_set_vmolr(adapter, reg_idx & 0x7); + + /* enable receive descriptor fetching */ + rxdctl = rd32(E1000_RXDCTL(reg_idx)); + rxdctl |= E1000_RXDCTL_QUEUE_ENABLE; + rxdctl &= 0xFFF00000; + rxdctl |= IGB_RX_PTHRESH; + rxdctl |= IGB_RX_HTHRESH << 8; + rxdctl |= IGB_RX_WTHRESH << 16; + wr32(E1000_RXDCTL(reg_idx), rxdctl); } /** @@ -2196,112 +2588,19 @@ **/ static void igb_configure_rx(struct igb_adapter *adapter) { - u64 rdba; - struct e1000_hw *hw = &adapter->hw; - u32 rctl, rxcsum; - u32 rxdctl; int i; - /* disable receives while setting up the descriptors */ - rctl = rd32(E1000_RCTL); - wr32(E1000_RCTL, rctl & ~E1000_RCTL_EN); - wrfl(); - mdelay(10); + /* set UTA to appropriate mode */ + igb_set_uta(adapter); - if (adapter->itr_setting > 3) - wr32(E1000_ITR, adapter->itr); + /* set the correct pool for the PF default MAC address in entry 0 */ + igb_rar_set_qsel(adapter, adapter->hw.mac.addr, 0, + adapter->vfs_allocated_count); /* Setup the HW Rx Head and Tail Descriptor Pointers and * the Base and Length of the Rx Descriptor Ring */ - for (i = 0; i < adapter->num_rx_queues; i++) { - struct igb_ring *ring = &adapter->rx_ring[i]; - int j = ring->reg_idx; - rdba = ring->dma; - wr32(E1000_RDBAL(j), - rdba & 0x00000000ffffffffULL); - wr32(E1000_RDBAH(j), rdba >> 32); - wr32(E1000_RDLEN(j), - ring->count * sizeof(union e1000_adv_rx_desc)); - - ring->head = E1000_RDH(j); - ring->tail = E1000_RDT(j); - writel(0, hw->hw_addr + ring->tail); - writel(0, hw->hw_addr + ring->head); - - rxdctl = rd32(E1000_RXDCTL(j)); - rxdctl |= E1000_RXDCTL_QUEUE_ENABLE; - rxdctl &= 0xFFF00000; - rxdctl |= IGB_RX_PTHRESH; - rxdctl |= IGB_RX_HTHRESH << 8; - rxdctl |= IGB_RX_WTHRESH << 16; - wr32(E1000_RXDCTL(j), rxdctl); - } - - if (adapter->num_rx_queues > 1) { - u32 random[10]; - u32 mrqc; - u32 j, shift; - union e1000_reta { - u32 dword; - u8 bytes[4]; - } reta; - - get_random_bytes(&random[0], 40); - - if (hw->mac.type >= e1000_82576) - shift = 0; - else - shift = 6; - for (j = 0; j < (32 * 4); j++) { - reta.bytes[j & 3] = - adapter->rx_ring[(j % adapter->num_rx_queues)].reg_idx << shift; - if ((j & 3) == 3) - writel(reta.dword, - hw->hw_addr + E1000_RETA(0) + (j & ~3)); - } - if (adapter->vfs_allocated_count) - mrqc = E1000_MRQC_ENABLE_VMDQ_RSS_2Q; - else - mrqc = E1000_MRQC_ENABLE_RSS_4Q; - - /* Fill out hash function seeds */ - for (j = 0; j < 10; j++) - array_wr32(E1000_RSSRK(0), j, random[j]); - - mrqc |= (E1000_MRQC_RSS_FIELD_IPV4 | - E1000_MRQC_RSS_FIELD_IPV4_TCP); - mrqc |= (E1000_MRQC_RSS_FIELD_IPV6 | - E1000_MRQC_RSS_FIELD_IPV6_TCP); - mrqc |= (E1000_MRQC_RSS_FIELD_IPV4_UDP | - E1000_MRQC_RSS_FIELD_IPV6_UDP); - mrqc |= (E1000_MRQC_RSS_FIELD_IPV6_UDP_EX | - E1000_MRQC_RSS_FIELD_IPV6_TCP_EX); - - wr32(E1000_MRQC, mrqc); - } else if (adapter->vfs_allocated_count) { - /* Enable multi-queue for sr-iov */ - wr32(E1000_MRQC, E1000_MRQC_ENABLE_VMDQ); - } - - /* Enable Receive Checksum Offload for TCP and UDP */ - rxcsum = rd32(E1000_RXCSUM); - /* Disable raw packet checksumming */ - rxcsum |= E1000_RXCSUM_PCSD; - - if (adapter->hw.mac.type == e1000_82576) - /* Enable Receive Checksum Offload for SCTP */ - rxcsum |= E1000_RXCSUM_CRCOFL; - - /* Don't need to set TUOFL or IPOFL, they default to 1 */ - wr32(E1000_RXCSUM, rxcsum); - - /* Set the default pool for the PF's first queue */ - igb_configure_vt_default_pool(adapter); - - igb_rlpml_set(adapter); - - /* Enable Receives */ - wr32(E1000_RCTL, rctl); + for (i = 0; i < adapter->num_rx_queues; i++) + igb_configure_rx_ring(adapter, &adapter->rx_ring[i]); } /** @@ -2312,14 +2611,17 @@ **/ void igb_free_tx_resources(struct igb_ring *tx_ring) { - struct pci_dev *pdev = tx_ring->adapter->pdev; - igb_clean_tx_ring(tx_ring); vfree(tx_ring->buffer_info); tx_ring->buffer_info = NULL; - pci_free_consistent(pdev, tx_ring->size, tx_ring->desc, tx_ring->dma); + /* if not set, then don't free */ + if (!tx_ring->desc) + return; + + pci_free_consistent(tx_ring->pdev, tx_ring->size, + tx_ring->desc, tx_ring->dma); tx_ring->desc = NULL; } @@ -2338,18 +2640,30 @@ igb_free_tx_resources(&adapter->tx_ring[i]); } -static void igb_unmap_and_free_tx_resource(struct igb_adapter *adapter, - struct igb_buffer *buffer_info) +void igb_unmap_and_free_tx_resource(struct igb_ring *tx_ring, + struct igb_buffer *buffer_info) { - buffer_info->dma = 0; + if (buffer_info->dma) { + if (buffer_info->mapped_as_page) + pci_unmap_page(tx_ring->pdev, + buffer_info->dma, + buffer_info->length, + PCI_DMA_TODEVICE); + else + pci_unmap_single(tx_ring->pdev, + buffer_info->dma, + buffer_info->length, + PCI_DMA_TODEVICE); + buffer_info->dma = 0; + } if (buffer_info->skb) { - skb_dma_unmap(&adapter->pdev->dev, buffer_info->skb, - DMA_TO_DEVICE); dev_kfree_skb_any(buffer_info->skb); buffer_info->skb = NULL; } buffer_info->time_stamp = 0; - /* buffer_info must be completely set up in the transmit path */ + buffer_info->length = 0; + buffer_info->next_to_watch = 0; + buffer_info->mapped_as_page = false; } /** @@ -2358,7 +2672,6 @@ **/ static void igb_clean_tx_ring(struct igb_ring *tx_ring) { - struct igb_adapter *adapter = tx_ring->adapter; struct igb_buffer *buffer_info; unsigned long size; unsigned int i; @@ -2369,21 +2682,17 @@ for (i = 0; i < tx_ring->count; i++) { buffer_info = &tx_ring->buffer_info[i]; - igb_unmap_and_free_tx_resource(adapter, buffer_info); + igb_unmap_and_free_tx_resource(tx_ring, buffer_info); } size = sizeof(struct igb_buffer) * tx_ring->count; memset(tx_ring->buffer_info, 0, size); /* Zero out the descriptor ring */ - memset(tx_ring->desc, 0, tx_ring->size); tx_ring->next_to_use = 0; tx_ring->next_to_clean = 0; - - writel(0, adapter->hw.hw_addr + tx_ring->head); - writel(0, adapter->hw.hw_addr + tx_ring->tail); } /** @@ -2406,14 +2715,17 @@ **/ void igb_free_rx_resources(struct igb_ring *rx_ring) { - struct pci_dev *pdev = rx_ring->adapter->pdev; - igb_clean_rx_ring(rx_ring); vfree(rx_ring->buffer_info); rx_ring->buffer_info = NULL; - pci_free_consistent(pdev, rx_ring->size, rx_ring->desc, rx_ring->dma); + /* if not set, then don't free */ + if (!rx_ring->desc) + return; + + pci_free_consistent(rx_ring->pdev, rx_ring->size, + rx_ring->desc, rx_ring->dma); rx_ring->desc = NULL; } @@ -2438,26 +2750,21 @@ **/ static void igb_clean_rx_ring(struct igb_ring *rx_ring) { - struct igb_adapter *adapter = rx_ring->adapter; struct igb_buffer *buffer_info; - struct pci_dev *pdev = adapter->pdev; unsigned long size; unsigned int i; if (!rx_ring->buffer_info) return; + /* Free all the Rx ring sk_buffs */ for (i = 0; i < rx_ring->count; i++) { buffer_info = &rx_ring->buffer_info[i]; if (buffer_info->dma) { - if (adapter->rx_ps_hdr_size) - pci_unmap_single(pdev, buffer_info->dma, - adapter->rx_ps_hdr_size, - PCI_DMA_FROMDEVICE); - else - pci_unmap_single(pdev, buffer_info->dma, - adapter->rx_buffer_len, - PCI_DMA_FROMDEVICE); + pci_unmap_single(rx_ring->pdev, + buffer_info->dma, + rx_ring->rx_buffer_len, + PCI_DMA_FROMDEVICE); buffer_info->dma = 0; } @@ -2465,14 +2772,16 @@ dev_kfree_skb(buffer_info->skb); buffer_info->skb = NULL; } + if (buffer_info->page_dma) { + pci_unmap_page(rx_ring->pdev, + buffer_info->page_dma, + PAGE_SIZE / 2, + PCI_DMA_FROMDEVICE); + buffer_info->page_dma = 0; + } if (buffer_info->page) { - if (buffer_info->page_dma) - pci_unmap_page(pdev, buffer_info->page_dma, - PAGE_SIZE / 2, - PCI_DMA_FROMDEVICE); put_page(buffer_info->page); buffer_info->page = NULL; - buffer_info->page_dma = 0; buffer_info->page_offset = 0; } } @@ -2483,48 +2792,135 @@ /* Zero out the descriptor ring */ memset(rx_ring->desc, 0, rx_ring->size); - rx_ring->next_to_clean = 0; - rx_ring->next_to_use = 0; + rx_ring->next_to_clean = 0; + rx_ring->next_to_use = 0; +} + +/** + * igb_clean_all_rx_rings - Free Rx Buffers for all queues + * @adapter: board private structure + **/ +static void igb_clean_all_rx_rings(struct igb_adapter *adapter) +{ + int i; + + for (i = 0; i < adapter->num_rx_queues; i++) + igb_clean_rx_ring(&adapter->rx_ring[i]); +} + +/** + * igb_set_mac - Change the Ethernet Address of the NIC + * @netdev: network interface device structure + * @p: pointer to an address structure + * + * Returns 0 on success, negative on failure + **/ +static int igb_set_mac(struct net_device *netdev, void *p) +{ + struct igb_adapter *adapter = netdev_priv(netdev); + struct e1000_hw *hw = &adapter->hw; + struct sockaddr *addr = p; + + if (!is_valid_ether_addr(addr->sa_data)) + return -EADDRNOTAVAIL; + + memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len); + memcpy(hw->mac.addr, addr->sa_data, netdev->addr_len); + + /* set the correct pool for the new PF MAC address in entry 0 */ + igb_rar_set_qsel(adapter, hw->mac.addr, 0, + adapter->vfs_allocated_count); + + return 0; +} + +/** + * igb_write_mc_addr_list - write multicast addresses to MTA + * @netdev: network interface device structure + * + * Writes multicast address list to the MTA hash table. + * Returns: -ENOMEM on failure + * 0 on no addresses written + * X on writing X addresses to MTA + **/ +static int igb_write_mc_addr_list(struct net_device *netdev) +{ + struct igb_adapter *adapter = netdev_priv(netdev); + struct e1000_hw *hw = &adapter->hw; + struct dev_mc_list *mc_ptr = netdev->mc_list; + u8 *mta_list; + u32 vmolr = 0; + int i; + + if (!netdev->mc_count) { + /* nothing to program, so clear mc list */ + igb_update_mc_addr_list(hw, NULL, 0); + igb_restore_vf_multicasts(adapter); + return 0; + } + + mta_list = kzalloc(netdev->mc_count * 6, GFP_ATOMIC); + if (!mta_list) + return -ENOMEM; + + /* set vmolr receive overflow multicast bit */ + vmolr |= E1000_VMOLR_ROMPE; - writel(0, adapter->hw.hw_addr + rx_ring->head); - writel(0, adapter->hw.hw_addr + rx_ring->tail); -} + /* The shared function expects a packed array of only addresses. */ + mc_ptr = netdev->mc_list; -/** - * igb_clean_all_rx_rings - Free Rx Buffers for all queues - * @adapter: board private structure - **/ -static void igb_clean_all_rx_rings(struct igb_adapter *adapter) -{ - int i; + for (i = 0; i < netdev->mc_count; i++) { + if (!mc_ptr) + break; + memcpy(mta_list + (i*ETH_ALEN), mc_ptr->dmi_addr, ETH_ALEN); + mc_ptr = mc_ptr->next; + } + igb_update_mc_addr_list(hw, mta_list, i); + kfree(mta_list); - for (i = 0; i < adapter->num_rx_queues; i++) - igb_clean_rx_ring(&adapter->rx_ring[i]); + return netdev->mc_count; } /** - * igb_set_mac - Change the Ethernet Address of the NIC + * igb_write_uc_addr_list - write unicast addresses to RAR table * @netdev: network interface device structure - * @p: pointer to an address structure * - * Returns 0 on success, negative on failure + * Writes unicast address list to the RAR table. + * Returns: -ENOMEM on failure/insufficient address space + * 0 on no addresses written + * X on writing X addresses to the RAR table **/ -static int igb_set_mac(struct net_device *netdev, void *p) +static int igb_write_uc_addr_list(struct net_device *netdev) { struct igb_adapter *adapter = netdev_priv(netdev); struct e1000_hw *hw = &adapter->hw; - struct sockaddr *addr = p; - - if (!is_valid_ether_addr(addr->sa_data)) - return -EADDRNOTAVAIL; + unsigned int vfn = adapter->vfs_allocated_count; + unsigned int rar_entries = hw->mac.rar_entry_count - (vfn + 1); + int count = 0; - memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len); - memcpy(hw->mac.addr, addr->sa_data, netdev->addr_len); + /* return ENOMEM indicating insufficient memory for addresses */ + if (netdev->uc.count > rar_entries) + return -ENOMEM; - igb_rar_set(hw, hw->mac.addr, 0); - igb_set_rah_pool(hw, adapter->vfs_allocated_count, 0); + if (netdev->uc.count && rar_entries) { + struct netdev_hw_addr *ha; + list_for_each_entry(ha, &netdev->uc.list, list) { + if (!rar_entries) + break; + igb_rar_set_qsel(adapter, ha->addr, + rar_entries--, + vfn); + count++; + } + } + /* write the addresses in reverse order to avoid write combining */ + for (; rar_entries > 0 ; rar_entries--) { + wr32(E1000_RAH(rar_entries), 0); + wr32(E1000_RAL(rar_entries), 0); + } + wrfl(); - return 0; + return count; } /** @@ -2540,74 +2936,63 @@ { struct igb_adapter *adapter = netdev_priv(netdev); struct e1000_hw *hw = &adapter->hw; - unsigned int rar_entries = hw->mac.rar_entry_count - - (adapter->vfs_allocated_count + 1); - struct dev_mc_list *mc_ptr = netdev->mc_list; - u8 *mta_list = NULL; - u32 rctl; - int i; + unsigned int vfn = adapter->vfs_allocated_count; + u32 rctl, vmolr = 0; + int count; /* Check for Promiscuous and All Multicast modes */ rctl = rd32(E1000_RCTL); + /* clear the effected bits */ + rctl &= ~(E1000_RCTL_UPE | E1000_RCTL_MPE | E1000_RCTL_VFE); + if (netdev->flags & IFF_PROMISC) { rctl |= (E1000_RCTL_UPE | E1000_RCTL_MPE); - rctl &= ~E1000_RCTL_VFE; + vmolr |= (E1000_VMOLR_ROPE | E1000_VMOLR_MPME); } else { - if (netdev->flags & IFF_ALLMULTI) + if (netdev->flags & IFF_ALLMULTI) { rctl |= E1000_RCTL_MPE; - else - rctl &= ~E1000_RCTL_MPE; - - if (netdev->uc.count > rar_entries) + vmolr |= E1000_VMOLR_MPME; + } else { + /* + * Write addresses to the MTA, if the attempt fails + * then we should just turn on promiscous mode so + * that we can at least receive multicast traffic + */ + count = igb_write_mc_addr_list(netdev); + if (count < 0) { + rctl |= E1000_RCTL_MPE; + vmolr |= E1000_VMOLR_MPME; + } else if (count) { + vmolr |= E1000_VMOLR_ROMPE; + } + } + /* + * Write addresses to available RAR registers, if there is not + * sufficient space to store all the addresses then enable + * unicast promiscous mode + */ + count = igb_write_uc_addr_list(netdev); + if (count < 0) { rctl |= E1000_RCTL_UPE; - else - rctl &= ~E1000_RCTL_UPE; + vmolr |= E1000_VMOLR_ROPE; + } rctl |= E1000_RCTL_VFE; } wr32(E1000_RCTL, rctl); - if (netdev->uc.count && rar_entries) { - struct netdev_hw_addr *ha; - list_for_each_entry(ha, &netdev->uc.list, list) { - if (!rar_entries) - break; - igb_rar_set(hw, ha->addr, rar_entries); - igb_set_rah_pool(hw, adapter->vfs_allocated_count, - rar_entries); - rar_entries--; - } - } - /* write the addresses in reverse order to avoid write combining */ - for (; rar_entries > 0 ; rar_entries--) { - wr32(E1000_RAH(rar_entries), 0); - wr32(E1000_RAL(rar_entries), 0); - } - wrfl(); - - if (!netdev->mc_count) { - /* nothing to program, so clear mc list */ - igb_update_mc_addr_list(hw, NULL, 0); - igb_restore_vf_multicasts(adapter); - return; - } - - mta_list = kzalloc(netdev->mc_count * 6, GFP_ATOMIC); - if (!mta_list) { - dev_err(&adapter->pdev->dev, - "failed to allocate multicast filter list\n"); + /* + * In order to support SR-IOV and eventually VMDq it is necessary to set + * the VMOLR to enable the appropriate modes. Without this workaround + * we will have issues with VLAN tag stripping not being done for frames + * that are only arriving because we are the default pool + */ + if (hw->mac.type < e1000_82576) return; - } - /* The shared function expects a packed array of only addresses. */ - for (i = 0; i < netdev->mc_count; i++) { - if (!mc_ptr) - break; - memcpy(mta_list + (i*ETH_ALEN), mc_ptr->dmi_addr, ETH_ALEN); - mc_ptr = mc_ptr->next; - } - igb_update_mc_addr_list(hw, mta_list, i); - kfree(mta_list); + vmolr |= rd32(E1000_VMOLR(vfn)) & + ~(E1000_VMOLR_ROPE | E1000_VMOLR_MPME | E1000_VMOLR_ROMPE); + wr32(E1000_VMOLR(vfn), vmolr); igb_restore_vf_multicasts(adapter); } @@ -2669,37 +3054,33 @@ static void igb_watchdog_task(struct work_struct *work) { struct igb_adapter *adapter = container_of(work, - struct igb_adapter, watchdog_task); + struct igb_adapter, + watchdog_task); struct e1000_hw *hw = &adapter->hw; struct net_device *netdev = adapter->netdev; - struct igb_ring *tx_ring = adapter->tx_ring; u32 link; - u32 eics = 0; int i; link = igb_has_link(adapter); - if ((netif_carrier_ok(netdev)) && link) - goto link_up; - if (link) { if (!netif_carrier_ok(netdev)) { u32 ctrl; - hw->mac.ops.get_speed_and_duplex(&adapter->hw, - &adapter->link_speed, - &adapter->link_duplex); + hw->mac.ops.get_speed_and_duplex(hw, + &adapter->link_speed, + &adapter->link_duplex); ctrl = rd32(E1000_CTRL); /* Links status message must follow this format */ printk(KERN_INFO "igb: %s NIC Link is Up %d Mbps %s, " "Flow Control: %s\n", - netdev->name, - adapter->link_speed, - adapter->link_duplex == FULL_DUPLEX ? + netdev->name, + adapter->link_speed, + adapter->link_duplex == FULL_DUPLEX ? "Full Duplex" : "Half Duplex", - ((ctrl & E1000_CTRL_TFCE) && (ctrl & - E1000_CTRL_RFCE)) ? "RX/TX" : ((ctrl & - E1000_CTRL_RFCE) ? "RX" : ((ctrl & - E1000_CTRL_TFCE) ? "TX" : "None"))); + ((ctrl & E1000_CTRL_TFCE) && + (ctrl & E1000_CTRL_RFCE)) ? "RX/TX" : + ((ctrl & E1000_CTRL_RFCE) ? "RX" : + ((ctrl & E1000_CTRL_TFCE) ? "TX" : "None"))); /* tweak tx_queue_len according to speed/duplex and * adjust the timeout factor */ @@ -2743,46 +3124,43 @@ } } -link_up: + spin_lock(&adapter->stats_lock); igb_update_stats(adapter); + spin_unlock(&adapter->stats_lock); - hw->mac.tx_packet_delta = adapter->stats.tpt - adapter->tpt_old; - adapter->tpt_old = adapter->stats.tpt; - hw->mac.collision_delta = adapter->stats.colc - adapter->colc_old; - adapter->colc_old = adapter->stats.colc; - - adapter->gorc = adapter->stats.gorc - adapter->gorc_old; - adapter->gorc_old = adapter->stats.gorc; - adapter->gotc = adapter->stats.gotc - adapter->gotc_old; - adapter->gotc_old = adapter->stats.gotc; - - igb_update_adaptive(&adapter->hw); + igb_update_adaptive(hw); - if (!netif_carrier_ok(netdev)) { - if (igb_desc_unused(tx_ring) + 1 < tx_ring->count) { + for (i = 0; i < adapter->num_tx_queues; i++) { + struct igb_ring *tx_ring = &adapter->tx_ring[i]; + if (!netif_carrier_ok(netdev)) { /* We've lost link, so the controller stops DMA, * but we've got queued Tx work that's never going * to get done, so reset controller to flush Tx. * (Do the reset outside of interrupt context). */ - adapter->tx_timeout_count++; - schedule_work(&adapter->reset_task); - /* return immediately since reset is imminent */ - return; + if (igb_desc_unused(tx_ring) + 1 < tx_ring->count) { + adapter->tx_timeout_count++; + schedule_work(&adapter->reset_task); + /* return immediately since reset is imminent */ + return; + } } + + /* Force detection of hung controller every watchdog period */ + tx_ring->detect_tx_hung = true; } /* Cause software interrupt to ensure rx ring is cleaned */ if (adapter->msix_entries) { - for (i = 0; i < adapter->num_rx_queues; i++) - eics |= adapter->rx_ring[i].eims_value; + u32 eics = 0; + for (i = 0; i < adapter->num_q_vectors; i++) { + struct igb_q_vector *q_vector = adapter->q_vector[i]; + eics |= q_vector->eims_value; + } wr32(E1000_EICS, eics); } else { wr32(E1000_ICS, E1000_ICS_RXDMT0); } - /* Force detection of hung controller every watchdog period */ - tx_ring->detect_tx_hung = true; - /* Reset the timer */ if (!test_bit(__IGB_DOWN, &adapter->state)) mod_timer(&adapter->watchdog_timer, @@ -2796,7 +3174,6 @@ latency_invalid = 255 }; - /** * igb_update_ring_itr - update the dynamic ITR value based on packet size * @@ -2811,25 +3188,37 @@ * parameter (see igb_param.c) * NOTE: This function is called only when operating in a multiqueue * receive environment. - * @rx_ring: pointer to ring + * @q_vector: pointer to q_vector **/ -static void igb_update_ring_itr(struct igb_ring *rx_ring) +static void igb_update_ring_itr(struct igb_q_vector *q_vector) { - int new_val = rx_ring->itr_val; + int new_val = q_vector->itr_val; int avg_wire_size = 0; - struct igb_adapter *adapter = rx_ring->adapter; - - if (!rx_ring->total_packets) - goto clear_counts; /* no packets, so don't do anything */ + struct igb_adapter *adapter = q_vector->adapter; /* For non-gigabit speeds, just fix the interrupt rate at 4000 * ints/sec - ITR timer value of 120 ticks. */ if (adapter->link_speed != SPEED_1000) { - new_val = 120; + new_val = 976; goto set_itr_val; } - avg_wire_size = rx_ring->total_bytes / rx_ring->total_packets; + + if (q_vector->rx_ring && q_vector->rx_ring->total_packets) { + struct igb_ring *ring = q_vector->rx_ring; + avg_wire_size = ring->total_bytes / ring->total_packets; + } + + if (q_vector->tx_ring && q_vector->tx_ring->total_packets) { + struct igb_ring *ring = q_vector->tx_ring; + avg_wire_size = max_t(u32, avg_wire_size, + (ring->total_bytes / + ring->total_packets)); + } + + /* if avg_wire_size isn't set no work was done */ + if (!avg_wire_size) + goto clear_counts; /* Add 24 bytes to size to account for CRC, preamble, and gap */ avg_wire_size += 24; @@ -2844,13 +3233,19 @@ new_val = avg_wire_size / 2; set_itr_val: - if (new_val != rx_ring->itr_val) { - rx_ring->itr_val = new_val; - rx_ring->set_itr = 1; + if (new_val != q_vector->itr_val) { + q_vector->itr_val = new_val; + q_vector->set_itr = 1; } clear_counts: - rx_ring->total_bytes = 0; - rx_ring->total_packets = 0; + if (q_vector->rx_ring) { + q_vector->rx_ring->total_bytes = 0; + q_vector->rx_ring->total_packets = 0; + } + if (q_vector->tx_ring) { + q_vector->tx_ring->total_bytes = 0; + q_vector->tx_ring->total_packets = 0; + } } /** @@ -2867,7 +3262,7 @@ * NOTE: These calculations are only valid when operating in a single- * queue environment. * @adapter: pointer to adapter - * @itr_setting: current adapter->itr + * @itr_setting: current q_vector->itr_val * @packets: the number of packets during this measurement interval * @bytes: the number of bytes during this measurement interval **/ @@ -2919,8 +3314,9 @@ static void igb_set_itr(struct igb_adapter *adapter) { + struct igb_q_vector *q_vector = adapter->q_vector[0]; u16 current_itr; - u32 new_itr = adapter->itr; + u32 new_itr = q_vector->itr_val; /* for non-gigabit speeds, just fix the interrupt rate at 4000 */ if (adapter->link_speed != SPEED_1000) { @@ -2934,18 +3330,14 @@ adapter->rx_ring->total_packets, adapter->rx_ring->total_bytes); - if (adapter->rx_ring->buddy) { - adapter->tx_itr = igb_update_itr(adapter, - adapter->tx_itr, - adapter->tx_ring->total_packets, - adapter->tx_ring->total_bytes); - current_itr = max(adapter->rx_itr, adapter->tx_itr); - } else { - current_itr = adapter->rx_itr; - } + adapter->tx_itr = igb_update_itr(adapter, + adapter->tx_itr, + adapter->tx_ring->total_packets, + adapter->tx_ring->total_bytes); + current_itr = max(adapter->rx_itr, adapter->tx_itr); /* conservative mode (itr 3) eliminates the lowest_latency setting */ - if (adapter->itr_setting == 3 && current_itr == lowest_latency) + if (adapter->rx_itr_setting == 3 && current_itr == lowest_latency) current_itr = low_latency; switch (current_itr) { @@ -2966,18 +3358,17 @@ set_itr_now: adapter->rx_ring->total_bytes = 0; adapter->rx_ring->total_packets = 0; - if (adapter->rx_ring->buddy) { - adapter->rx_ring->buddy->total_bytes = 0; - adapter->rx_ring->buddy->total_packets = 0; - } + adapter->tx_ring->total_bytes = 0; + adapter->tx_ring->total_packets = 0; - if (new_itr != adapter->itr) { + if (new_itr != q_vector->itr_val) { /* this attempts to bias the interrupt rate towards Bulk * by adding intermediate steps when interrupt rate is * increasing */ - new_itr = new_itr > adapter->itr ? - max((new_itr * adapter->itr) / - (new_itr + (adapter->itr >> 2)), new_itr) : + new_itr = new_itr > q_vector->itr_val ? + max((new_itr * q_vector->itr_val) / + (new_itr + (q_vector->itr_val >> 2)), + new_itr) : new_itr; /* Don't write the value here; it resets the adapter's * internal timer, and causes us to delay far longer than @@ -2985,25 +3376,22 @@ * value at the beginning of the next interrupt so the timing * ends up being correct. */ - adapter->itr = new_itr; - adapter->rx_ring->itr_val = new_itr; - adapter->rx_ring->set_itr = 1; + q_vector->itr_val = new_itr; + q_vector->set_itr = 1; } return; } - #define IGB_TX_FLAGS_CSUM 0x00000001 #define IGB_TX_FLAGS_VLAN 0x00000002 #define IGB_TX_FLAGS_TSO 0x00000004 #define IGB_TX_FLAGS_IPV4 0x00000008 -#define IGB_TX_FLAGS_TSTAMP 0x00000010 -#define IGB_TX_FLAGS_VLAN_MASK 0xffff0000 -#define IGB_TX_FLAGS_VLAN_SHIFT 16 +#define IGB_TX_FLAGS_TSTAMP 0x00000010 +#define IGB_TX_FLAGS_VLAN_MASK 0xffff0000 +#define IGB_TX_FLAGS_VLAN_SHIFT 16 -static inline int igb_tso_adv(struct igb_adapter *adapter, - struct igb_ring *tx_ring, +static inline int igb_tso_adv(struct igb_ring *tx_ring, struct sk_buff *skb, u32 tx_flags, u8 *hdr_len) { struct e1000_adv_tx_context_desc *context_desc; @@ -3031,7 +3419,7 @@ iph->daddr, 0, IPPROTO_TCP, 0); - } else if (skb_shinfo(skb)->gso_type == SKB_GSO_TCPV6) { + } else if (skb_is_gso_v6(skb)) { ipv6_hdr(skb)->payload_len = 0; tcp_hdr(skb)->check = ~csum_ipv6_magic(&ipv6_hdr(skb)->saddr, &ipv6_hdr(skb)->daddr, @@ -3065,8 +3453,8 @@ mss_l4len_idx |= (l4len << E1000_ADVTXD_L4LEN_SHIFT); /* For 82575, context index must be unique per ring. */ - if (adapter->flags & IGB_FLAG_NEED_CTX_IDX) - mss_l4len_idx |= tx_ring->queue_index << 4; + if (tx_ring->flags & IGB_RING_FLAG_TX_CTX_IDX) + mss_l4len_idx |= tx_ring->reg_idx << 4; context_desc->mss_l4len_idx = cpu_to_le32(mss_l4len_idx); context_desc->seqnum_seed = 0; @@ -3083,14 +3471,14 @@ return true; } -static inline bool igb_tx_csum_adv(struct igb_adapter *adapter, - struct igb_ring *tx_ring, - struct sk_buff *skb, u32 tx_flags) +static inline bool igb_tx_csum_adv(struct igb_ring *tx_ring, + struct sk_buff *skb, u32 tx_flags) { struct e1000_adv_tx_context_desc *context_desc; - unsigned int i; + struct pci_dev *pdev = tx_ring->pdev; struct igb_buffer *buffer_info; u32 info = 0, tu_cmd = 0; + unsigned int i; if ((skb->ip_summed == CHECKSUM_PARTIAL) || (tx_flags & IGB_TX_FLAGS_VLAN)) { @@ -3100,6 +3488,7 @@ if (tx_flags & IGB_TX_FLAGS_VLAN) info |= (tx_flags & IGB_TX_FLAGS_VLAN_MASK); + info |= (skb_network_offset(skb) << E1000_ADVTXD_MACLEN_SHIFT); if (skb->ip_summed == CHECKSUM_PARTIAL) info |= skb_network_header_len(skb); @@ -3137,7 +3526,7 @@ break; default: if (unlikely(net_ratelimit())) - dev_warn(&adapter->pdev->dev, + dev_warn(&pdev->dev, "partial checksum but proto=%x!\n", skb->protocol); break; @@ -3146,11 +3535,9 @@ context_desc->type_tucmd_mlhl = cpu_to_le32(tu_cmd); context_desc->seqnum_seed = 0; - if (adapter->flags & IGB_FLAG_NEED_CTX_IDX) + if (tx_ring->flags & IGB_RING_FLAG_TX_CTX_IDX) context_desc->mss_l4len_idx = - cpu_to_le32(tx_ring->queue_index << 4); - else - context_desc->mss_l4len_idx = 0; + cpu_to_le32(tx_ring->reg_idx << 4); buffer_info->time_stamp = jiffies; buffer_info->next_to_watch = i; @@ -3169,36 +3556,32 @@ #define IGB_MAX_TXD_PWR 16 #define IGB_MAX_DATA_PER_TXD (1<pdev; unsigned int len = skb_headlen(skb); unsigned int count = 0, i; unsigned int f; - dma_addr_t *map; i = tx_ring->next_to_use; - if (skb_dma_map(&adapter->pdev->dev, skb, DMA_TO_DEVICE)) { - dev_err(&adapter->pdev->dev, "TX DMA map failed\n"); - return 0; - } - - map = skb_shinfo(skb)->dma_maps; - buffer_info = &tx_ring->buffer_info[i]; BUG_ON(len >= IGB_MAX_DATA_PER_TXD); buffer_info->length = len; /* set time_stamp *before* dma to help avoid a possible race */ buffer_info->time_stamp = jiffies; buffer_info->next_to_watch = i; - buffer_info->dma = skb_shinfo(skb)->dma_head; + buffer_info->dma = pci_map_single(pdev, skb->data, len, + PCI_DMA_TODEVICE); + if (pci_dma_mapping_error(pdev, buffer_info->dma)) + goto dma_error; for (f = 0; f < skb_shinfo(skb)->nr_frags; f++) { struct skb_frag_struct *frag; + count++; i++; if (i == tx_ring->count) i = 0; @@ -3211,25 +3594,54 @@ buffer_info->length = len; buffer_info->time_stamp = jiffies; buffer_info->next_to_watch = i; - buffer_info->dma = map[count]; - count++; + buffer_info->mapped_as_page = true; + buffer_info->dma = pci_map_page(pdev, + frag->page, + frag->page_offset, + len, + PCI_DMA_TODEVICE); + if (pci_dma_mapping_error(pdev, buffer_info->dma)) + goto dma_error; + } tx_ring->buffer_info[i].skb = skb; tx_ring->buffer_info[first].next_to_watch = i; - return count + 1; + return ++count; + +dma_error: + dev_err(&pdev->dev, "TX DMA map failed\n"); + + /* clear timestamp and dma mappings for failed buffer_info mapping */ + buffer_info->dma = 0; + buffer_info->time_stamp = 0; + buffer_info->length = 0; + buffer_info->next_to_watch = 0; + buffer_info->mapped_as_page = false; + count--; + + /* clear timestamp and dma mappings for remaining portion of packet */ + while (count >= 0) { + count--; + i--; + if (i < 0) + i += tx_ring->count; + buffer_info = &tx_ring->buffer_info[i]; + igb_unmap_and_free_tx_resource(tx_ring, buffer_info); + } + + return 0; } -static inline void igb_tx_queue_adv(struct igb_adapter *adapter, - struct igb_ring *tx_ring, +static inline void igb_tx_queue_adv(struct igb_ring *tx_ring, int tx_flags, int count, u32 paylen, u8 hdr_len) { - union e1000_adv_tx_desc *tx_desc = NULL; + union e1000_adv_tx_desc *tx_desc; struct igb_buffer *buffer_info; u32 olinfo_status = 0, cmd_type_len; - unsigned int i; + unsigned int i = tx_ring->next_to_use; cmd_type_len = (E1000_ADVTXD_DTYP_DATA | E1000_ADVTXD_DCMD_IFCS | E1000_ADVTXD_DCMD_DEXT); @@ -3254,27 +3666,28 @@ olinfo_status |= E1000_TXD_POPTS_TXSM << 8; } - if ((adapter->flags & IGB_FLAG_NEED_CTX_IDX) && - (tx_flags & (IGB_TX_FLAGS_CSUM | IGB_TX_FLAGS_TSO | + if ((tx_ring->flags & IGB_RING_FLAG_TX_CTX_IDX) && + (tx_flags & (IGB_TX_FLAGS_CSUM | + IGB_TX_FLAGS_TSO | IGB_TX_FLAGS_VLAN))) - olinfo_status |= tx_ring->queue_index << 4; + olinfo_status |= tx_ring->reg_idx << 4; olinfo_status |= ((paylen - hdr_len) << E1000_ADVTXD_PAYLEN_SHIFT); - i = tx_ring->next_to_use; - while (count--) { + do { buffer_info = &tx_ring->buffer_info[i]; tx_desc = E1000_TX_DESC_ADV(*tx_ring, i); tx_desc->read.buffer_addr = cpu_to_le64(buffer_info->dma); tx_desc->read.cmd_type_len = cpu_to_le32(cmd_type_len | buffer_info->length); tx_desc->read.olinfo_status = cpu_to_le32(olinfo_status); + count--; i++; if (i == tx_ring->count) i = 0; - } + } while (count > 0); - tx_desc->read.cmd_type_len |= cpu_to_le32(adapter->txd_cmd); + tx_desc->read.cmd_type_len |= cpu_to_le32(IGB_ADVTXD_DCMD); /* Force memory writes to complete before letting h/w * know there are new descriptors to fetch. (Only * applicable for weak-ordered memory model archs, @@ -3282,16 +3695,15 @@ wmb(); tx_ring->next_to_use = i; - writel(i, adapter->hw.hw_addr + tx_ring->tail); + writel(i, tx_ring->tail); /* we need this if more than one processor can write to our tail * at a time, it syncronizes IO on IA64/Altix systems */ mmiowb(); } -static int __igb_maybe_stop_tx(struct net_device *netdev, - struct igb_ring *tx_ring, int size) +static int __igb_maybe_stop_tx(struct igb_ring *tx_ring, int size) { - struct igb_adapter *adapter = netdev_priv(netdev); + struct net_device *netdev = tx_ring->netdev; netif_stop_subqueue(netdev, tx_ring->queue_index); @@ -3307,66 +3719,43 @@ /* A reprieve! */ netif_wake_subqueue(netdev, tx_ring->queue_index); - ++adapter->restart_queue; + tx_ring->tx_stats.restart_queue++; return 0; } -static int igb_maybe_stop_tx(struct net_device *netdev, - struct igb_ring *tx_ring, int size) +static int igb_maybe_stop_tx(struct igb_ring *tx_ring, int size) { if (igb_desc_unused(tx_ring) >= size) return 0; - return __igb_maybe_stop_tx(netdev, tx_ring, size); + return __igb_maybe_stop_tx(tx_ring, size); } -static netdev_tx_t igb_xmit_frame_ring_adv(struct sk_buff *skb, - struct net_device *netdev, - struct igb_ring *tx_ring) +netdev_tx_t igb_xmit_frame_ring_adv(struct sk_buff *skb, + struct igb_ring *tx_ring) { - struct igb_adapter *adapter = netdev_priv(netdev); + struct igb_adapter *adapter = netdev_priv(tx_ring->netdev); unsigned int first; unsigned int tx_flags = 0; u8 hdr_len = 0; - int count = 0; - int tso = 0; - union skb_shared_tx *shtx; - - if (test_bit(__IGB_DOWN, &adapter->state)) { - dev_kfree_skb_any(skb); - return NETDEV_TX_OK; - } - - if (skb->len <= 0) { - dev_kfree_skb_any(skb); - return NETDEV_TX_OK; - } + int tso = 0, count; + union skb_shared_tx *shtx = skb_tx(skb); /* need: 1 descriptor per page, * + 2 desc gap to keep tail from touching head, * + 1 desc for skb->data, * + 1 desc for context descriptor, * otherwise try next time */ - if (igb_maybe_stop_tx(netdev, tx_ring, skb_shinfo(skb)->nr_frags + 4)) { + if (igb_maybe_stop_tx(tx_ring, skb_shinfo(skb)->nr_frags + 4)) { /* this is a hard error */ return NETDEV_TX_BUSY; } - /* - * TODO: check that there currently is no other packet with - * time stamping in the queue - * - * When doing time stamping, keep the connection to the socket - * a while longer: it is still needed by skb_hwtstamp_tx(), - * called either in igb_tx_hwtstamp() or by our caller when - * doing software time stamping. - */ - shtx = skb_tx(skb); if (unlikely(shtx->hardware)) { shtx->in_progress = 1; tx_flags |= IGB_TX_FLAGS_TSTAMP; } - if (adapter->vlgrp && vlan_tx_tag_present(skb)) { + if (vlan_tx_tag_present(skb) && adapter->vlgrp) { tx_flags |= IGB_TX_FLAGS_VLAN; tx_flags |= (vlan_tx_tag_get(skb) << IGB_TX_FLAGS_VLAN_SHIFT); } @@ -3375,37 +3764,38 @@ tx_flags |= IGB_TX_FLAGS_IPV4; first = tx_ring->next_to_use; - tso = skb_is_gso(skb) ? igb_tso_adv(adapter, tx_ring, skb, tx_flags, - &hdr_len) : 0; + if (skb_is_gso(skb)) { + tso = igb_tso_adv(tx_ring, skb, tx_flags, &hdr_len); - if (tso < 0) { - dev_kfree_skb_any(skb); - return NETDEV_TX_OK; + if (tso < 0) { + dev_kfree_skb_any(skb); + return NETDEV_TX_OK; + } } if (tso) tx_flags |= IGB_TX_FLAGS_TSO; - else if (igb_tx_csum_adv(adapter, tx_ring, skb, tx_flags) && + else if (igb_tx_csum_adv(tx_ring, skb, tx_flags) && (skb->ip_summed == CHECKSUM_PARTIAL)) tx_flags |= IGB_TX_FLAGS_CSUM; /* - * count reflects descriptors mapped, if 0 then mapping error + * count reflects descriptors mapped, if 0 or less then mapping error * has occured and we need to rewind the descriptor queue */ - count = igb_tx_map_adv(adapter, tx_ring, skb, first); - - if (count) { - igb_tx_queue_adv(adapter, tx_ring, tx_flags, count, - skb->len, hdr_len); - /* Make sure there is space in the ring for the next send. */ - igb_maybe_stop_tx(netdev, tx_ring, MAX_SKB_FRAGS + 4); - } else { + count = igb_tx_map_adv(tx_ring, skb, first); + if (!count) { dev_kfree_skb_any(skb); tx_ring->buffer_info[first].time_stamp = 0; tx_ring->next_to_use = first; + return NETDEV_TX_OK; } + igb_tx_queue_adv(tx_ring, tx_flags, count, skb->len, hdr_len); + + /* Make sure there is space in the ring for the next send. */ + igb_maybe_stop_tx(tx_ring, MAX_SKB_FRAGS + 4); + return NETDEV_TX_OK; } @@ -3414,8 +3804,18 @@ { struct igb_adapter *adapter = netdev_priv(netdev); struct igb_ring *tx_ring; - int r_idx = 0; + + if (test_bit(__IGB_DOWN, &adapter->state)) { + dev_kfree_skb_any(skb); + return NETDEV_TX_OK; + } + + if (skb->len <= 0) { + dev_kfree_skb_any(skb); + return NETDEV_TX_OK; + } + r_idx = skb->queue_mapping & (IGB_ABS_MAX_TX_QUEUES - 1); tx_ring = adapter->multi_tx_table[r_idx]; @@ -3423,7 +3823,7 @@ * to a flow. Right now, performance is impacted slightly negatively * if using multiple tx queues. If the stack breaks away from a * single qdisc implementation, we can look at this again. */ - return igb_xmit_frame_ring_adv(skb, netdev, tx_ring); + return igb_xmit_frame_ring_adv(skb, tx_ring); } /** @@ -3437,6 +3837,10 @@ /* Do the reset outside of interrupt context */ adapter->tx_timeout_count++; + + if (hw->mac.type == e1000_82580) + hw->dev_spec._82575.global_device_reset = true; + schedule_work(&adapter->reset_task); wr32(E1000_EICS, (adapter->eims_enable_mask & ~adapter->eims_other)); @@ -3461,8 +3865,11 @@ { struct igb_adapter *adapter = netdev_priv(netdev); - /* only return the current stats */ - return &adapter->net_stats; + spin_lock(&adapter->stats_lock); + igb_update_stats(adapter); + spin_unlock(&adapter->stats_lock); + + return &netdev->stats; } /** @@ -3475,16 +3882,17 @@ static int igb_change_mtu(struct net_device *netdev, int new_mtu) { struct igb_adapter *adapter = netdev_priv(netdev); + struct pci_dev *pdev = adapter->pdev; int max_frame = new_mtu + ETH_HLEN + ETH_FCS_LEN; + u32 rx_buffer_len, i; - if ((max_frame < ETH_ZLEN + ETH_FCS_LEN) || - (max_frame > MAX_JUMBO_FRAME_SIZE)) { - dev_err(&adapter->pdev->dev, "Invalid MTU setting\n"); + if ((new_mtu < 68) || (max_frame > MAX_JUMBO_FRAME_SIZE)) { + dev_err(&pdev->dev, "Invalid MTU setting\n"); return -EINVAL; } if (max_frame > MAX_STD_JUMBO_FRAME_SIZE) { - dev_err(&adapter->pdev->dev, "MTU > 9216 not supported.\n"); + dev_err(&pdev->dev, "MTU > 9216 not supported.\n"); return -EINVAL; } @@ -3493,8 +3901,6 @@ /* igb_down has a dependency on max_frame_size */ adapter->max_frame_size = max_frame; - if (netif_running(netdev)) - igb_down(adapter); /* NOTE: netdev_alloc_skb reserves 16 bytes, and typically NET_IP_ALIGN * means we reserve 2 more, this pushes us to allocate from the next @@ -3502,35 +3908,23 @@ * i.e. RXBUFFER_2048 --> size-4096 slab */ - if (max_frame <= IGB_RXBUFFER_256) - adapter->rx_buffer_len = IGB_RXBUFFER_256; - else if (max_frame <= IGB_RXBUFFER_512) - adapter->rx_buffer_len = IGB_RXBUFFER_512; - else if (max_frame <= IGB_RXBUFFER_1024) - adapter->rx_buffer_len = IGB_RXBUFFER_1024; - else if (max_frame <= IGB_RXBUFFER_2048) - adapter->rx_buffer_len = IGB_RXBUFFER_2048; + if (max_frame <= IGB_RXBUFFER_1024) + rx_buffer_len = IGB_RXBUFFER_1024; + else if (max_frame <= MAXIMUM_ETHERNET_VLAN_SIZE) + rx_buffer_len = MAXIMUM_ETHERNET_VLAN_SIZE; else -#if (PAGE_SIZE / 2) > IGB_RXBUFFER_16384 - adapter->rx_buffer_len = IGB_RXBUFFER_16384; -#else - adapter->rx_buffer_len = PAGE_SIZE / 2; -#endif + rx_buffer_len = IGB_RXBUFFER_128; - /* if sr-iov is enabled we need to force buffer size to 1K or larger */ - if (adapter->vfs_allocated_count && - (adapter->rx_buffer_len < IGB_RXBUFFER_1024)) - adapter->rx_buffer_len = IGB_RXBUFFER_1024; - - /* adjust allocation if LPE protects us, and we aren't using SBP */ - if ((max_frame == ETH_FRAME_LEN + ETH_FCS_LEN) || - (max_frame == MAXIMUM_ETHERNET_VLAN_SIZE)) - adapter->rx_buffer_len = MAXIMUM_ETHERNET_VLAN_SIZE; + if (netif_running(netdev)) + igb_down(adapter); - dev_info(&adapter->pdev->dev, "changing MTU from %d to %d\n", + dev_info(&pdev->dev, "changing MTU from %d to %d\n", netdev->mtu, new_mtu); netdev->mtu = new_mtu; + for (i = 0; i < adapter->num_rx_queues; i++) + adapter->rx_ring[i].rx_buffer_len = rx_buffer_len; + if (netif_running(netdev)) igb_up(adapter); else @@ -3548,9 +3942,13 @@ void igb_update_stats(struct igb_adapter *adapter) { + struct net_device_stats *net_stats = &adapter->netdev->stats; struct e1000_hw *hw = &adapter->hw; struct pci_dev *pdev = adapter->pdev; + u32 rnbc; u16 phy_tmp; + int i; + u64 bytes, packets; #define PHY_IDLE_ERROR_COUNT_MASK 0x00FF @@ -3563,6 +3961,29 @@ if (pci_channel_offline(pdev)) return; + bytes = 0; + packets = 0; + for (i = 0; i < adapter->num_rx_queues; i++) { + u32 rqdpc_tmp = rd32(E1000_RQDPC(i)) & 0x0FFF; + adapter->rx_ring[i].rx_stats.drops += rqdpc_tmp; + net_stats->rx_fifo_errors += rqdpc_tmp; + bytes += adapter->rx_ring[i].rx_stats.bytes; + packets += adapter->rx_ring[i].rx_stats.packets; + } + + net_stats->rx_bytes = bytes; + net_stats->rx_packets = packets; + + bytes = 0; + packets = 0; + for (i = 0; i < adapter->num_tx_queues; i++) { + bytes += adapter->tx_ring[i].tx_stats.bytes; + packets += adapter->tx_ring[i].tx_stats.packets; + } + net_stats->tx_bytes = bytes; + net_stats->tx_packets = packets; + + /* read stats registers */ adapter->stats.crcerrs += rd32(E1000_CRCERRS); adapter->stats.gprc += rd32(E1000_GPRC); adapter->stats.gorc += rd32(E1000_GORCL); @@ -3595,7 +4016,9 @@ adapter->stats.gptc += rd32(E1000_GPTC); adapter->stats.gotc += rd32(E1000_GOTCL); rd32(E1000_GOTCH); /* clear GOTCL */ - adapter->stats.rnbc += rd32(E1000_RNBC); + rnbc = rd32(E1000_RNBC); + adapter->stats.rnbc += rnbc; + net_stats->rx_fifo_errors += rnbc; adapter->stats.ruc += rd32(E1000_RUC); adapter->stats.rfc += rd32(E1000_RFC); adapter->stats.rjc += rd32(E1000_RJC); @@ -3614,7 +4037,6 @@ adapter->stats.bptc += rd32(E1000_BPTC); /* used for adaptive IFS */ - hw->mac.tx_packet_delta = rd32(E1000_TPT); adapter->stats.tpt += hw->mac.tx_packet_delta; hw->mac.collision_delta = rd32(E1000_COLC); @@ -3637,56 +4059,29 @@ adapter->stats.icrxdmtc += rd32(E1000_ICRXDMTC); /* Fill out the OS statistics structure */ - adapter->net_stats.multicast = adapter->stats.mprc; - adapter->net_stats.collisions = adapter->stats.colc; + net_stats->multicast = adapter->stats.mprc; + net_stats->collisions = adapter->stats.colc; /* Rx Errors */ - if (hw->mac.type != e1000_82575) { - u32 rqdpc_tmp; - u64 rqdpc_total = 0; - int i; - /* Read out drops stats per RX queue. Notice RQDPC (Receive - * Queue Drop Packet Count) stats only gets incremented, if - * the DROP_EN but it set (in the SRRCTL register for that - * queue). If DROP_EN bit is NOT set, then the some what - * equivalent count is stored in RNBC (not per queue basis). - * Also note the drop count is due to lack of available - * descriptors. - */ - for (i = 0; i < adapter->num_rx_queues; i++) { - rqdpc_tmp = rd32(E1000_RQDPC(i)) & 0xFFF; - adapter->rx_ring[i].rx_stats.drops += rqdpc_tmp; - rqdpc_total += adapter->rx_ring[i].rx_stats.drops; - } - adapter->net_stats.rx_fifo_errors = rqdpc_total; - } - - /* Note RNBC (Receive No Buffers Count) is an not an exact - * drop count as the hardware FIFO might save the day. Thats - * one of the reason for saving it in rx_fifo_errors, as its - * potentially not a true drop. - */ - adapter->net_stats.rx_fifo_errors += adapter->stats.rnbc; - /* RLEC on some newer hardware can be incorrect so build * our own version based on RUC and ROC */ - adapter->net_stats.rx_errors = adapter->stats.rxerrc + + net_stats->rx_errors = adapter->stats.rxerrc + adapter->stats.crcerrs + adapter->stats.algnerrc + adapter->stats.ruc + adapter->stats.roc + adapter->stats.cexterr; - adapter->net_stats.rx_length_errors = adapter->stats.ruc + - adapter->stats.roc; - adapter->net_stats.rx_crc_errors = adapter->stats.crcerrs; - adapter->net_stats.rx_frame_errors = adapter->stats.algnerrc; - adapter->net_stats.rx_missed_errors = adapter->stats.mpc; + net_stats->rx_length_errors = adapter->stats.ruc + + adapter->stats.roc; + net_stats->rx_crc_errors = adapter->stats.crcerrs; + net_stats->rx_frame_errors = adapter->stats.algnerrc; + net_stats->rx_missed_errors = adapter->stats.mpc; /* Tx Errors */ - adapter->net_stats.tx_errors = adapter->stats.ecol + - adapter->stats.latecol; - adapter->net_stats.tx_aborted_errors = adapter->stats.ecol; - adapter->net_stats.tx_window_errors = adapter->stats.latecol; - adapter->net_stats.tx_carrier_errors = adapter->stats.tncrs; + net_stats->tx_errors = adapter->stats.ecol + + adapter->stats.latecol; + net_stats->tx_aborted_errors = adapter->stats.ecol; + net_stats->tx_window_errors = adapter->stats.latecol; + net_stats->tx_carrier_errors = adapter->stats.tncrs; /* Tx Dropped needs to be maintained elsewhere */ @@ -3707,14 +4102,12 @@ static irqreturn_t igb_msix_other(int irq, void *data) { - struct net_device *netdev = data; - struct igb_adapter *adapter = netdev_priv(netdev); + struct igb_adapter *adapter = data; struct e1000_hw *hw = &adapter->hw; u32 icr = rd32(E1000_ICR); - /* reading ICR causes bit 31 of EICR to be cleared */ - if(icr & E1000_ICR_DOUTSYNC) { + if (icr & E1000_ICR_DOUTSYNC) { /* HW is reporting DMA is out of sync */ adapter->stats.doosync++; } @@ -3730,125 +4123,90 @@ mod_timer(&adapter->watchdog_timer, jiffies + 1); } - wr32(E1000_IMS, E1000_IMS_LSC | E1000_IMS_DOUTSYNC | E1000_IMS_VMMB); + if (adapter->vfs_allocated_count) + wr32(E1000_IMS, E1000_IMS_LSC | + E1000_IMS_VMMB | + E1000_IMS_DOUTSYNC); + else + wr32(E1000_IMS, E1000_IMS_LSC | E1000_IMS_DOUTSYNC); wr32(E1000_EIMS, adapter->eims_other); return IRQ_HANDLED; } -static irqreturn_t igb_msix_tx(int irq, void *data) +static void igb_write_itr(struct igb_q_vector *q_vector) { - struct igb_ring *tx_ring = data; - struct igb_adapter *adapter = tx_ring->adapter; - struct e1000_hw *hw = &adapter->hw; + u32 itr_val = q_vector->itr_val & 0x7FFC; -#ifdef CONFIG_IGB_DCA - if (adapter->flags & IGB_FLAG_DCA_ENABLED) - igb_update_tx_dca(tx_ring); -#endif + if (!q_vector->set_itr) + return; - tx_ring->total_bytes = 0; - tx_ring->total_packets = 0; + if (!itr_val) + itr_val = 0x4; - /* auto mask will automatically reenable the interrupt when we write - * EICS */ - if (!igb_clean_tx_irq(tx_ring)) - /* Ring was not completely cleaned, so fire another interrupt */ - wr32(E1000_EICS, tx_ring->eims_value); + if (q_vector->itr_shift) + itr_val |= itr_val << q_vector->itr_shift; else - wr32(E1000_EIMS, tx_ring->eims_value); - - return IRQ_HANDLED; -} + itr_val |= 0x8000000; -static void igb_write_itr(struct igb_ring *ring) -{ - struct e1000_hw *hw = &ring->adapter->hw; - if ((ring->adapter->itr_setting & 3) && ring->set_itr) { - switch (hw->mac.type) { - case e1000_82576: - wr32(ring->itr_register, ring->itr_val | - 0x80000000); - break; - default: - wr32(ring->itr_register, ring->itr_val | - (ring->itr_val << 16)); - break; - } - ring->set_itr = 0; - } + writel(itr_val, q_vector->itr_register); + q_vector->set_itr = 0; } -static irqreturn_t igb_msix_rx(int irq, void *data) +static irqreturn_t igb_msix_ring(int irq, void *data) { - struct igb_ring *rx_ring = data; - - /* Write the ITR value calculated at the end of the - * previous interrupt. - */ + struct igb_q_vector *q_vector = data; - igb_write_itr(rx_ring); + /* Write the ITR value calculated from the previous interrupt. */ + igb_write_itr(q_vector); - if (napi_schedule_prep(&rx_ring->napi)) - __napi_schedule(&rx_ring->napi); - -#ifdef CONFIG_IGB_DCA - if (rx_ring->adapter->flags & IGB_FLAG_DCA_ENABLED) - igb_update_rx_dca(rx_ring); -#endif - return IRQ_HANDLED; -} - -#ifdef CONFIG_IGB_DCA -static void igb_update_rx_dca(struct igb_ring *rx_ring) -{ - u32 dca_rxctrl; - struct igb_adapter *adapter = rx_ring->adapter; - struct e1000_hw *hw = &adapter->hw; - int cpu = get_cpu(); - int q = rx_ring->reg_idx; + napi_schedule(&q_vector->napi); - if (rx_ring->cpu != cpu) { - dca_rxctrl = rd32(E1000_DCA_RXCTRL(q)); - if (hw->mac.type == e1000_82576) { - dca_rxctrl &= ~E1000_DCA_RXCTRL_CPUID_MASK_82576; - dca_rxctrl |= dca3_get_tag(&adapter->pdev->dev, cpu) << - E1000_DCA_RXCTRL_CPUID_SHIFT; - } else { - dca_rxctrl &= ~E1000_DCA_RXCTRL_CPUID_MASK; - dca_rxctrl |= dca3_get_tag(&adapter->pdev->dev, cpu); - } - dca_rxctrl |= E1000_DCA_RXCTRL_DESC_DCA_EN; - dca_rxctrl |= E1000_DCA_RXCTRL_HEAD_DCA_EN; - dca_rxctrl |= E1000_DCA_RXCTRL_DATA_DCA_EN; - wr32(E1000_DCA_RXCTRL(q), dca_rxctrl); - rx_ring->cpu = cpu; - } - put_cpu(); + return IRQ_HANDLED; } -static void igb_update_tx_dca(struct igb_ring *tx_ring) +#ifdef CONFIG_IGB_DCA +static void igb_update_dca(struct igb_q_vector *q_vector) { - u32 dca_txctrl; - struct igb_adapter *adapter = tx_ring->adapter; + struct igb_adapter *adapter = q_vector->adapter; struct e1000_hw *hw = &adapter->hw; int cpu = get_cpu(); - int q = tx_ring->reg_idx; - if (tx_ring->cpu != cpu) { - dca_txctrl = rd32(E1000_DCA_TXCTRL(q)); - if (hw->mac.type == e1000_82576) { + if (q_vector->cpu == cpu) + goto out_no_update; + + if (q_vector->tx_ring) { + int q = q_vector->tx_ring->reg_idx; + u32 dca_txctrl = rd32(E1000_DCA_TXCTRL(q)); + if (hw->mac.type == e1000_82575) { + dca_txctrl &= ~E1000_DCA_TXCTRL_CPUID_MASK; + dca_txctrl |= dca3_get_tag(&adapter->pdev->dev, cpu); + } else { dca_txctrl &= ~E1000_DCA_TXCTRL_CPUID_MASK_82576; dca_txctrl |= dca3_get_tag(&adapter->pdev->dev, cpu) << E1000_DCA_TXCTRL_CPUID_SHIFT; - } else { - dca_txctrl &= ~E1000_DCA_TXCTRL_CPUID_MASK; - dca_txctrl |= dca3_get_tag(&adapter->pdev->dev, cpu); } dca_txctrl |= E1000_DCA_TXCTRL_DESC_DCA_EN; wr32(E1000_DCA_TXCTRL(q), dca_txctrl); - tx_ring->cpu = cpu; } + if (q_vector->rx_ring) { + int q = q_vector->rx_ring->reg_idx; + u32 dca_rxctrl = rd32(E1000_DCA_RXCTRL(q)); + if (hw->mac.type == e1000_82575) { + dca_rxctrl &= ~E1000_DCA_RXCTRL_CPUID_MASK; + dca_rxctrl |= dca3_get_tag(&adapter->pdev->dev, cpu); + } else { + dca_rxctrl &= ~E1000_DCA_RXCTRL_CPUID_MASK_82576; + dca_rxctrl |= dca3_get_tag(&adapter->pdev->dev, cpu) << + E1000_DCA_RXCTRL_CPUID_SHIFT; + } + dca_rxctrl |= E1000_DCA_RXCTRL_DESC_DCA_EN; + dca_rxctrl |= E1000_DCA_RXCTRL_HEAD_DCA_EN; + dca_rxctrl |= E1000_DCA_RXCTRL_DATA_DCA_EN; + wr32(E1000_DCA_RXCTRL(q), dca_rxctrl); + } + q_vector->cpu = cpu; +out_no_update: put_cpu(); } @@ -3863,13 +4221,10 @@ /* Always use CB2 mode, difference is masked in the CB driver. */ wr32(E1000_DCA_CTRL, E1000_DCA_CTRL_DCA_MODE_CB2); - for (i = 0; i < adapter->num_tx_queues; i++) { - adapter->tx_ring[i].cpu = -1; - igb_update_tx_dca(&adapter->tx_ring[i]); - } - for (i = 0; i < adapter->num_rx_queues; i++) { - adapter->rx_ring[i].cpu = -1; - igb_update_rx_dca(&adapter->rx_ring[i]); + for (i = 0; i < adapter->num_q_vectors; i++) { + struct igb_q_vector *q_vector = adapter->q_vector[i]; + q_vector->cpu = -1; + igb_update_dca(q_vector); } } @@ -3877,6 +4232,7 @@ { struct net_device *netdev = dev_get_drvdata(dev); struct igb_adapter *adapter = netdev_priv(netdev); + struct pci_dev *pdev = adapter->pdev; struct e1000_hw *hw = &adapter->hw; unsigned long event = *(unsigned long *)data; @@ -3885,12 +4241,9 @@ /* if already enabled, don't do it again */ if (adapter->flags & IGB_FLAG_DCA_ENABLED) break; - /* Always use CB2 mode, difference is masked - * in the CB driver. */ - wr32(E1000_DCA_CTRL, E1000_DCA_CTRL_DCA_MODE_CB2); if (dca_add_requester(dev) == 0) { adapter->flags |= IGB_FLAG_DCA_ENABLED; - dev_info(&adapter->pdev->dev, "DCA enabled\n"); + dev_info(&pdev->dev, "DCA enabled\n"); igb_setup_dca(adapter); break; } @@ -3898,9 +4251,9 @@ case DCA_PROVIDER_REMOVE: if (adapter->flags & IGB_FLAG_DCA_ENABLED) { /* without this a class_device is left - * hanging around in the sysfs model */ + * hanging around in the sysfs model */ dca_remove_requester(dev); - dev_info(&adapter->pdev->dev, "DCA disabled\n"); + dev_info(&pdev->dev, "DCA disabled\n"); adapter->flags &= ~IGB_FLAG_DCA_ENABLED; wr32(E1000_DCA_CTRL, E1000_DCA_CTRL_DCA_MODE_DISABLE); } @@ -3930,12 +4283,51 @@ for (i = 0 ; i < adapter->vfs_allocated_count; i++) { ping = E1000_PF_CONTROL_MSG; - if (adapter->vf_data[i].clear_to_send) + if (adapter->vf_data[i].flags & IGB_VF_FLAG_CTS) ping |= E1000_VT_MSGTYPE_CTS; igb_write_mbx(hw, &ping, 1, i); } } +static int igb_set_vf_promisc(struct igb_adapter *adapter, u32 *msgbuf, u32 vf) +{ + struct e1000_hw *hw = &adapter->hw; + u32 vmolr = rd32(E1000_VMOLR(vf)); + struct vf_data_storage *vf_data = &adapter->vf_data[vf]; + + vf_data->flags |= ~(IGB_VF_FLAG_UNI_PROMISC | + IGB_VF_FLAG_MULTI_PROMISC); + vmolr &= ~(E1000_VMOLR_ROPE | E1000_VMOLR_ROMPE | E1000_VMOLR_MPME); + + if (*msgbuf & E1000_VF_SET_PROMISC_MULTICAST) { + vmolr |= E1000_VMOLR_MPME; + *msgbuf &= ~E1000_VF_SET_PROMISC_MULTICAST; + } else { + /* + * if we have hashes and we are clearing a multicast promisc + * flag we need to write the hashes to the MTA as this step + * was previously skipped + */ + if (vf_data->num_vf_mc_hashes > 30) { + vmolr |= E1000_VMOLR_MPME; + } else if (vf_data->num_vf_mc_hashes) { + int j; + vmolr |= E1000_VMOLR_ROMPE; + for (j = 0; j < vf_data->num_vf_mc_hashes; j++) + igb_mta_set(hw, vf_data->vf_mc_hashes[j]); + } + } + + wr32(E1000_VMOLR(vf), vmolr); + + /* there are flags left unprocessed, likely not supported */ + if (*msgbuf & E1000_VT_MSGINFO_MASK) + return -EINVAL; + + return 0; + +} + static int igb_set_vf_multicasts(struct igb_adapter *adapter, u32 *msgbuf, u32 vf) { @@ -3944,18 +4336,17 @@ struct vf_data_storage *vf_data = &adapter->vf_data[vf]; int i; - /* only up to 30 hash values supported */ - if (n > 30) - n = 30; - - /* salt away the number of multi cast addresses assigned + /* salt away the number of multicast addresses assigned * to this VF for later use to restore when the PF multi cast * list changes */ vf_data->num_vf_mc_hashes = n; - /* VFs are limited to using the MTA hash table for their multicast - * addresses */ + /* only up to 30 hash values supported */ + if (n > 30) + n = 30; + + /* store the hashes for later use */ for (i = 0; i < n; i++) vf_data->vf_mc_hashes[i] = hash_list[i]; @@ -3972,9 +4363,20 @@ int i, j; for (i = 0; i < adapter->vfs_allocated_count; i++) { + u32 vmolr = rd32(E1000_VMOLR(i)); + vmolr &= ~(E1000_VMOLR_ROMPE | E1000_VMOLR_MPME); + vf_data = &adapter->vf_data[i]; - for (j = 0; j < vf_data->num_vf_mc_hashes; j++) - igb_mta_set(hw, vf_data->vf_mc_hashes[j]); + + if ((vf_data->num_vf_mc_hashes > 30) || + (vf_data->flags & IGB_VF_FLAG_MULTI_PROMISC)) { + vmolr |= E1000_VMOLR_MPME; + } else if (vf_data->num_vf_mc_hashes) { + vmolr |= E1000_VMOLR_ROMPE; + for (j = 0; j < vf_data->num_vf_mc_hashes; j++) + igb_mta_set(hw, vf_data->vf_mc_hashes[j]); + } + wr32(E1000_VMOLR(i), vmolr); } } @@ -4012,7 +4414,11 @@ struct e1000_hw *hw = &adapter->hw; u32 reg, i; - /* It is an error to call this function when VFs are not enabled */ + /* The vlvf table only exists on 82576 hardware and newer */ + if (hw->mac.type < e1000_82576) + return -1; + + /* we only need to do this if VMDq is enabled */ if (!adapter->vfs_allocated_count) return -1; @@ -4042,16 +4448,12 @@ /* if !enabled we need to set this up in vfta */ if (!(reg & E1000_VLVF_VLANID_ENABLE)) { - /* add VID to filter table, if bit already set - * PF must have added it outside of table */ - if (igb_vfta_set(hw, vid, true)) - reg |= 1 << (E1000_VLVF_POOLSEL_SHIFT + - adapter->vfs_allocated_count); + /* add VID to filter table */ + igb_vfta_set(hw, vid, true); reg |= E1000_VLVF_VLANID_ENABLE; } reg &= ~E1000_VLVF_VLANID_MASK; reg |= vid; - wr32(E1000_VLVF(i), reg); /* do not modify RLPML for PF devices */ @@ -4067,8 +4469,8 @@ reg |= size; wr32(E1000_VMOLR(vf), reg); } - adapter->vf_data[vf].vlans_enabled++; + adapter->vf_data[vf].vlans_enabled++; return 0; } } else { @@ -4110,15 +4512,14 @@ return igb_vlvf_set(adapter, vid, add, vf); } -static inline void igb_vf_reset_event(struct igb_adapter *adapter, u32 vf) +static inline void igb_vf_reset(struct igb_adapter *adapter, u32 vf) { - struct e1000_hw *hw = &adapter->hw; - - /* disable mailbox functionality for vf */ - adapter->vf_data[vf].clear_to_send = false; + /* clear all flags */ + adapter->vf_data[vf].flags = 0; + adapter->vf_data[vf].last_nack = jiffies; /* reset offloads to defaults */ - igb_set_vmolr(hw, vf); + igb_set_vmolr(adapter, vf); /* reset vlans for device */ igb_clear_vf_vfta(adapter, vf); @@ -4130,7 +4531,18 @@ igb_set_rx_mode(adapter->netdev); } -static inline void igb_vf_reset_msg(struct igb_adapter *adapter, u32 vf) +static void igb_vf_reset_event(struct igb_adapter *adapter, u32 vf) +{ + unsigned char *vf_mac = adapter->vf_data[vf].vf_mac_addresses; + + /* generate a new mac address as we were hotplug removed/added */ + random_ether_addr(vf_mac); + + /* process remaining reset events */ + igb_vf_reset(adapter, vf); +} + +static void igb_vf_reset_msg(struct igb_adapter *adapter, u32 vf) { struct e1000_hw *hw = &adapter->hw; unsigned char *vf_mac = adapter->vf_data[vf].vf_mac_addresses; @@ -4139,11 +4551,10 @@ u8 *addr = (u8 *)(&msgbuf[1]); /* process all the same items cleared in a function level reset */ - igb_vf_reset_event(adapter, vf); + igb_vf_reset(adapter, vf); /* set vf mac address */ - igb_rar_set(hw, vf_mac, rar_entry); - igb_set_rah_pool(hw, vf, rar_entry); + igb_rar_set_qsel(adapter, vf_mac, rar_entry, vf); /* enable transmit and receive for vf */ reg = rd32(E1000_VFTE); @@ -4151,8 +4562,7 @@ reg = rd32(E1000_VFRE); wr32(E1000_VFRE, reg | (1 << vf)); - /* enable mailbox functionality for vf */ - adapter->vf_data[vf].clear_to_send = true; + adapter->vf_data[vf].flags = IGB_VF_FLAG_CTS; /* reply to reset with ack and vf mac address */ msgbuf[0] = E1000_VF_RESET | E1000_VT_MSGTYPE_ACK; @@ -4162,66 +4572,51 @@ static int igb_set_vf_mac_addr(struct igb_adapter *adapter, u32 *msg, int vf) { - unsigned char *addr = (char *)&msg[1]; - int err = -1; + unsigned char *addr = (char *)&msg[1]; + int err = -1; - if (is_valid_ether_addr(addr)) - err = igb_set_vf_mac(adapter, vf, addr); - - return err; + if (is_valid_ether_addr(addr)) + err = igb_set_vf_mac(adapter, vf, addr); + return err; } static void igb_rcv_ack_from_vf(struct igb_adapter *adapter, u32 vf) { struct e1000_hw *hw = &adapter->hw; + struct vf_data_storage *vf_data = &adapter->vf_data[vf]; u32 msg = E1000_VT_MSGTYPE_NACK; /* if device isn't clear to send it shouldn't be reading either */ - if (!adapter->vf_data[vf].clear_to_send) + if (!(vf_data->flags & IGB_VF_FLAG_CTS) && + time_after(jiffies, vf_data->last_nack + (2 * HZ))) { igb_write_mbx(hw, &msg, 1, vf); -} - - -static void igb_msg_task(struct igb_adapter *adapter) -{ - struct e1000_hw *hw = &adapter->hw; - u32 vf; - - for (vf = 0; vf < adapter->vfs_allocated_count; vf++) { - /* process any reset requests */ - if (!igb_check_for_rst(hw, vf)) { - adapter->vf_data[vf].clear_to_send = false; - igb_vf_reset_event(adapter, vf); - } - - /* process any messages pending */ - if (!igb_check_for_msg(hw, vf)) - igb_rcv_msg_from_vf(adapter, vf); - - /* process any acks */ - if (!igb_check_for_ack(hw, vf)) - igb_rcv_ack_from_vf(adapter, vf); - + vf_data->last_nack = jiffies; } } -static int igb_rcv_msg_from_vf(struct igb_adapter *adapter, u32 vf) +static void igb_rcv_msg_from_vf(struct igb_adapter *adapter, u32 vf) { - u32 mbx_size = E1000_VFMAILBOX_SIZE; - u32 msgbuf[mbx_size]; + struct pci_dev *pdev = adapter->pdev; + u32 msgbuf[E1000_VFMAILBOX_SIZE]; struct e1000_hw *hw = &adapter->hw; + struct vf_data_storage *vf_data = &adapter->vf_data[vf]; s32 retval; - retval = igb_read_mbx(hw, msgbuf, mbx_size, vf); + retval = igb_read_mbx(hw, msgbuf, E1000_VFMAILBOX_SIZE, vf); - if (retval) - dev_err(&adapter->pdev->dev, - "Error receiving message from VF\n"); + if (retval) { + /* if receive failed revoke VF CTS stats and restart init */ + dev_err(&pdev->dev, "Error receiving message from VF\n"); + vf_data->flags &= ~IGB_VF_FLAG_CTS; + if (!time_after(jiffies, vf_data->last_nack + (2 * HZ))) + return; + goto out; + } /* this is a message we already processed, do nothing */ if (msgbuf[0] & (E1000_VT_MSGTYPE_ACK | E1000_VT_MSGTYPE_NACK)) - return retval; + return; /* * until the vf completes a reset it should not be @@ -4230,20 +4625,23 @@ if (msgbuf[0] == E1000_VF_RESET) { igb_vf_reset_msg(adapter, vf); - - return retval; + return; } - if (!adapter->vf_data[vf].clear_to_send) { - msgbuf[0] |= E1000_VT_MSGTYPE_NACK; - igb_write_mbx(hw, msgbuf, 1, vf); - return retval; + if (!(vf_data->flags & IGB_VF_FLAG_CTS)) { + if (!time_after(jiffies, vf_data->last_nack + (2 * HZ))) + return; + retval = -1; + goto out; } switch ((msgbuf[0] & 0xFFFF)) { case E1000_VF_SET_MAC_ADDR: retval = igb_set_vf_mac_addr(adapter, msgbuf, vf); break; + case E1000_VF_SET_PROMISC: + retval = igb_set_vf_promisc(adapter, msgbuf, vf); + break; case E1000_VF_SET_MULTICAST: retval = igb_set_vf_multicasts(adapter, msgbuf, vf); break; @@ -4254,22 +4652,67 @@ retval = igb_set_vf_vlan(adapter, msgbuf, vf); break; default: - dev_err(&adapter->pdev->dev, "Unhandled Msg %08x\n", msgbuf[0]); + dev_err(&pdev->dev, "Unhandled Msg %08x\n", msgbuf[0]); retval = -1; break; } + msgbuf[0] |= E1000_VT_MSGTYPE_CTS; +out: /* notify the VF of the results of what it sent us */ if (retval) msgbuf[0] |= E1000_VT_MSGTYPE_NACK; else msgbuf[0] |= E1000_VT_MSGTYPE_ACK; - msgbuf[0] |= E1000_VT_MSGTYPE_CTS; - igb_write_mbx(hw, msgbuf, 1, vf); +} - return retval; +static void igb_msg_task(struct igb_adapter *adapter) +{ + struct e1000_hw *hw = &adapter->hw; + u32 vf; + + for (vf = 0; vf < adapter->vfs_allocated_count; vf++) { + /* process any reset requests */ + if (!igb_check_for_rst(hw, vf)) + igb_vf_reset_event(adapter, vf); + + /* process any messages pending */ + if (!igb_check_for_msg(hw, vf)) + igb_rcv_msg_from_vf(adapter, vf); + + /* process any acks */ + if (!igb_check_for_ack(hw, vf)) + igb_rcv_ack_from_vf(adapter, vf); + } +} + +/** + * igb_set_uta - Set unicast filter table address + * @adapter: board private structure + * + * The unicast table address is a register array of 32-bit registers. + * The table is meant to be used in a way similar to how the MTA is used + * however due to certain limitations in the hardware it is necessary to + * set all the hash bits to 1 and use the VMOLR ROPE bit as a promiscous + * enable bit to allow vlan tag stripping when promiscous mode is enabled + **/ +static void igb_set_uta(struct igb_adapter *adapter) +{ + struct e1000_hw *hw = &adapter->hw; + int i; + + /* The UTA table only exists on 82576 hardware and newer */ + if (hw->mac.type < e1000_82576) + return; + + /* we only need to do this if VMDq is enabled */ + if (!adapter->vfs_allocated_count) + return; + + for (i = 0; i < hw->mac.uta_reg_count; i++) + array_wr32(E1000_UTA, i, ~0); } /** @@ -4279,15 +4722,15 @@ **/ static irqreturn_t igb_intr_msi(int irq, void *data) { - struct net_device *netdev = data; - struct igb_adapter *adapter = netdev_priv(netdev); + struct igb_adapter *adapter = data; + struct igb_q_vector *q_vector = adapter->q_vector[0]; struct e1000_hw *hw = &adapter->hw; /* read ICR disables interrupts using IAM */ u32 icr = rd32(E1000_ICR); - igb_write_itr(adapter->rx_ring); + igb_write_itr(q_vector); - if(icr & E1000_ICR_DOUTSYNC) { + if (icr & E1000_ICR_DOUTSYNC) { /* HW is reporting DMA is out of sync */ adapter->stats.doosync++; } @@ -4298,7 +4741,7 @@ mod_timer(&adapter->watchdog_timer, jiffies + 1); } - napi_schedule(&adapter->rx_ring[0].napi); + napi_schedule(&q_vector->napi); return IRQ_HANDLED; } @@ -4310,8 +4753,8 @@ **/ static irqreturn_t igb_intr(int irq, void *data) { - struct net_device *netdev = data; - struct igb_adapter *adapter = netdev_priv(netdev); + struct igb_adapter *adapter = data; + struct igb_q_vector *q_vector = adapter->q_vector[0]; struct e1000_hw *hw = &adapter->hw; /* Interrupt Auto-Mask...upon reading ICR, interrupts are masked. No * need for the IMC write */ @@ -4319,14 +4762,14 @@ if (!icr) return IRQ_NONE; /* Not our interrupt */ - igb_write_itr(adapter->rx_ring); + igb_write_itr(q_vector); /* IMS will not auto-mask if INT_ASSERTED is not set, and if it is * not set, then the adapter didn't send an interrupt */ if (!(icr & E1000_ICR_INT_ASSERTED)) return IRQ_NONE; - if(icr & E1000_ICR_DOUTSYNC) { + if (icr & E1000_ICR_DOUTSYNC) { /* HW is reporting DMA is out of sync */ adapter->stats.doosync++; } @@ -4338,26 +4781,27 @@ mod_timer(&adapter->watchdog_timer, jiffies + 1); } - napi_schedule(&adapter->rx_ring[0].napi); + napi_schedule(&q_vector->napi); return IRQ_HANDLED; } -static inline void igb_rx_irq_enable(struct igb_ring *rx_ring) +static inline void igb_ring_irq_enable(struct igb_q_vector *q_vector) { - struct igb_adapter *adapter = rx_ring->adapter; + struct igb_adapter *adapter = q_vector->adapter; struct e1000_hw *hw = &adapter->hw; - if (adapter->itr_setting & 3) { - if (adapter->num_rx_queues == 1) + if ((q_vector->rx_ring && (adapter->rx_itr_setting & 3)) || + (!q_vector->rx_ring && (adapter->tx_itr_setting & 3))) { + if (!adapter->msix_entries) igb_set_itr(adapter); else - igb_update_ring_itr(rx_ring); + igb_update_ring_itr(q_vector); } if (!test_bit(__IGB_DOWN, &adapter->state)) { if (adapter->msix_entries) - wr32(E1000_EIMS, rx_ring->eims_value); + wr32(E1000_EIMS, q_vector->eims_value); else igb_irq_enable(adapter); } @@ -4370,76 +4814,101 @@ **/ static int igb_poll(struct napi_struct *napi, int budget) { - struct igb_ring *rx_ring = container_of(napi, struct igb_ring, napi); - int work_done = 0; + struct igb_q_vector *q_vector = container_of(napi, + struct igb_q_vector, + napi); + int tx_clean_complete = 1, work_done = 0; #ifdef CONFIG_IGB_DCA - if (rx_ring->adapter->flags & IGB_FLAG_DCA_ENABLED) - igb_update_rx_dca(rx_ring); + if (q_vector->adapter->flags & IGB_FLAG_DCA_ENABLED) + igb_update_dca(q_vector); #endif - igb_clean_rx_irq_adv(rx_ring, &work_done, budget); + if (q_vector->tx_ring) + tx_clean_complete = igb_clean_tx_irq(q_vector); - if (rx_ring->buddy) { -#ifdef CONFIG_IGB_DCA - if (rx_ring->adapter->flags & IGB_FLAG_DCA_ENABLED) - igb_update_tx_dca(rx_ring->buddy); -#endif - if (!igb_clean_tx_irq(rx_ring->buddy)) - work_done = budget; - } + if (q_vector->rx_ring) + igb_clean_rx_irq_adv(q_vector, &work_done, budget); + + if (!tx_clean_complete) + work_done = budget; /* If not enough Rx work done, exit the polling mode */ if (work_done < budget) { napi_complete(napi); - igb_rx_irq_enable(rx_ring); + igb_ring_irq_enable(q_vector); } return work_done; } /** - * igb_hwtstamp - utility function which checks for TX time stamp + * igb_systim_to_hwtstamp - convert system time value to hw timestamp * @adapter: board private structure + * @shhwtstamps: timestamp structure to update + * @regval: unsigned 64bit system time value. + * + * We need to convert the system time value stored in the RX/TXSTMP registers + * into a hwtstamp which can be used by the upper level timestamping functions + */ +static void igb_systim_to_hwtstamp(struct igb_adapter *adapter, + struct skb_shared_hwtstamps *shhwtstamps, + u64 regval) +{ + u64 ns; + + /* + * The 82580 starts with 1ns at bit 0 in RX/TXSTMPL, shift this up to + * 24 to match clock shift we setup earlier. + */ + if (adapter->hw.mac.type == e1000_82580) + regval <<= IGB_82580_TSYNC_SHIFT; + + ns = timecounter_cyc2time(&adapter->clock, regval); + timecompare_update(&adapter->compare, ns); + memset(shhwtstamps, 0, sizeof(struct skb_shared_hwtstamps)); + shhwtstamps->hwtstamp = ns_to_ktime(ns); + shhwtstamps->syststamp = timecompare_transform(&adapter->compare, ns); +} + +/** + * igb_tx_hwtstamp - utility function which checks for TX time stamp + * @q_vector: pointer to q_vector containing needed info * @skb: packet that was just sent * * If we were asked to do hardware stamping and such a time stamp is * available, then it must have been for this skb here because we only * allow only one such packet into the queue. */ -static void igb_tx_hwtstamp(struct igb_adapter *adapter, struct sk_buff *skb) +static void igb_tx_hwtstamp(struct igb_q_vector *q_vector, struct sk_buff *skb) { + struct igb_adapter *adapter = q_vector->adapter; union skb_shared_tx *shtx = skb_tx(skb); struct e1000_hw *hw = &adapter->hw; + struct skb_shared_hwtstamps shhwtstamps; + u64 regval; - if (unlikely(shtx->hardware)) { - u32 valid = rd32(E1000_TSYNCTXCTL) & E1000_TSYNCTXCTL_VALID; - if (valid) { - u64 regval = rd32(E1000_TXSTMPL); - u64 ns; - struct skb_shared_hwtstamps shhwtstamps; - - memset(&shhwtstamps, 0, sizeof(shhwtstamps)); - regval |= (u64)rd32(E1000_TXSTMPH) << 32; - ns = timecounter_cyc2time(&adapter->clock, - regval); - timecompare_update(&adapter->compare, ns); - shhwtstamps.hwtstamp = ns_to_ktime(ns); - shhwtstamps.syststamp = - timecompare_transform(&adapter->compare, ns); - skb_tstamp_tx(skb, &shhwtstamps); - } - } + /* if skb does not support hw timestamp or TX stamp not valid exit */ + if (likely(!shtx->hardware) || + !(rd32(E1000_TSYNCTXCTL) & E1000_TSYNCTXCTL_VALID)) + return; + + regval = rd32(E1000_TXSTMPL); + regval |= (u64)rd32(E1000_TXSTMPH) << 32; + + igb_systim_to_hwtstamp(adapter, &shhwtstamps, regval); + skb_tstamp_tx(skb, &shhwtstamps); } /** * igb_clean_tx_irq - Reclaim resources after transmit completes - * @adapter: board private structure + * @q_vector: pointer to q_vector containing needed info * returns true if ring is completely cleaned **/ -static bool igb_clean_tx_irq(struct igb_ring *tx_ring) +static bool igb_clean_tx_irq(struct igb_q_vector *q_vector) { - struct igb_adapter *adapter = tx_ring->adapter; - struct net_device *netdev = adapter->netdev; + struct igb_adapter *adapter = q_vector->adapter; + struct igb_ring *tx_ring = q_vector->tx_ring; + struct net_device *netdev = tx_ring->netdev; struct e1000_hw *hw = &adapter->hw; struct igb_buffer *buffer_info; struct sk_buff *skb; @@ -4470,10 +4939,10 @@ total_packets += segs; total_bytes += bytecount; - igb_tx_hwtstamp(adapter, skb); + igb_tx_hwtstamp(q_vector, skb); } - igb_unmap_and_free_tx_resource(adapter, buffer_info); + igb_unmap_and_free_tx_resource(tx_ring, buffer_info); tx_desc->wb.status = 0; i++; @@ -4496,7 +4965,7 @@ if (__netif_subqueue_stopped(netdev, tx_ring->queue_index) && !(test_bit(__IGB_DOWN, &adapter->state))) { netif_wake_subqueue(netdev, tx_ring->queue_index); - ++adapter->restart_queue; + tx_ring->tx_stats.restart_queue++; } } @@ -4511,7 +4980,7 @@ E1000_STATUS_TXOFF)) { /* detected Tx unit hang */ - dev_err(&adapter->pdev->dev, + dev_err(&tx_ring->pdev->dev, "Detected Tx Unit Hang\n" " Tx Queue <%d>\n" " TDH <%x>\n" @@ -4524,11 +4993,11 @@ " jiffies <%lx>\n" " desc.status <%x>\n", tx_ring->queue_index, - readl(adapter->hw.hw_addr + tx_ring->head), - readl(adapter->hw.hw_addr + tx_ring->tail), + readl(tx_ring->head), + readl(tx_ring->tail), tx_ring->next_to_use, tx_ring->next_to_clean, - tx_ring->buffer_info[i].time_stamp, + tx_ring->buffer_info[eop].time_stamp, eop, jiffies, eop_desc->wb.status); @@ -4539,43 +5008,38 @@ tx_ring->total_packets += total_packets; tx_ring->tx_stats.bytes += total_bytes; tx_ring->tx_stats.packets += total_packets; - adapter->net_stats.tx_bytes += total_bytes; - adapter->net_stats.tx_packets += total_packets; return (count < tx_ring->count); } /** * igb_receive_skb - helper function to handle rx indications - * @ring: pointer to receive ring receving this packet - * @status: descriptor status field as written by hardware - * @rx_desc: receive descriptor containing vlan and type information. - * @skb: pointer to sk_buff to be indicated to stack - **/ -static void igb_receive_skb(struct igb_ring *ring, u8 status, - union e1000_adv_rx_desc * rx_desc, - struct sk_buff *skb) -{ - struct igb_adapter * adapter = ring->adapter; - bool vlan_extracted = (adapter->vlgrp && (status & E1000_RXD_STAT_VP)); - - skb_record_rx_queue(skb, ring->queue_index); - if (vlan_extracted) - vlan_gro_receive(&ring->napi, adapter->vlgrp, - le16_to_cpu(rx_desc->wb.upper.vlan), - skb); + * @q_vector: structure containing interrupt and ring information + * @skb: packet to send up + * @vlan_tag: vlan tag for packet + **/ +static void igb_receive_skb(struct igb_q_vector *q_vector, + struct sk_buff *skb, + u16 vlan_tag) +{ + struct igb_adapter *adapter = q_vector->adapter; + + if (vlan_tag && adapter->vlgrp) + vlan_gro_receive(&q_vector->napi, adapter->vlgrp, + vlan_tag, skb); else - napi_gro_receive(&ring->napi, skb); + napi_gro_receive(&q_vector->napi, skb); } -static inline void igb_rx_checksum_adv(struct igb_adapter *adapter, +static inline void igb_rx_checksum_adv(struct igb_ring *ring, u32 status_err, struct sk_buff *skb) { skb->ip_summed = CHECKSUM_NONE; /* Ignore Checksum bit is set or checksum is disabled through ethtool */ - if ((status_err & E1000_RXD_STAT_IXSM) || - (adapter->flags & IGB_FLAG_RX_CSUM_DISABLED)) + if (!(ring->flags & IGB_RING_FLAG_RX_CSUM) || + (status_err & E1000_RXD_STAT_IXSM)) return; + /* TCP/UDP checksum error bit is set */ if (status_err & (E1000_RXDEXT_STATERR_TCPE | E1000_RXDEXT_STATERR_IPE)) { @@ -4584,9 +5048,10 @@ * L4E bit is set incorrectly on 64 byte (60 byte w/o crc) * packets, (aka let the stack check the crc32c) */ - if (!((adapter->hw.mac.type == e1000_82576) && - (skb->len == 60))) - adapter->hw_csum_err++; + if ((skb->len == 60) && + (ring->flags & IGB_RING_FLAG_RX_SCTP_CSUM)) + ring->rx_stats.csum_err++; + /* let the stack verify checksum errors */ return; } @@ -4594,11 +5059,38 @@ if (status_err & (E1000_RXD_STAT_TCPCS | E1000_RXD_STAT_UDPCS)) skb->ip_summed = CHECKSUM_UNNECESSARY; - dev_dbg(&adapter->pdev->dev, "cksum success: bits %08X\n", status_err); - adapter->hw_csum_good++; + dev_dbg(&ring->pdev->dev, "cksum success: bits %08X\n", status_err); } -static inline u16 igb_get_hlen(struct igb_adapter *adapter, +static inline void igb_rx_hwtstamp(struct igb_q_vector *q_vector, u32 staterr, + struct sk_buff *skb) +{ + struct igb_adapter *adapter = q_vector->adapter; + struct e1000_hw *hw = &adapter->hw; + u64 regval; + + /* + * If this bit is set, then the RX registers contain the time stamp. No + * other packet will be time stamped until we read these registers, so + * read the registers to make them available again. Because only one + * packet can be time stamped at a time, we know that the register + * values must belong to this one here and therefore we don't need to + * compare any of the additional attributes stored for it. + * + * If nothing went wrong, then it should have a skb_shared_tx that we + * can turn into a skb_shared_hwtstamps. + */ + if (likely(!(staterr & E1000_RXDADV_STAT_TS))) + return; + if (!(rd32(E1000_TSYNCRXCTL) & E1000_TSYNCRXCTL_VALID)) + return; + + regval = rd32(E1000_RXSTMPL); + regval |= (u64)rd32(E1000_RXSTMPH) << 32; + + igb_systim_to_hwtstamp(adapter, skb_hwtstamps(skb), regval); +} +static inline u16 igb_get_hlen(struct igb_ring *rx_ring, union e1000_adv_rx_desc *rx_desc) { /* HW will not DMA in data larger than the given buffer, even if it @@ -4607,27 +5099,28 @@ */ u16 hlen = (le16_to_cpu(rx_desc->wb.lower.lo_dword.hdr_info) & E1000_RXDADV_HDRBUFLEN_MASK) >> E1000_RXDADV_HDRBUFLEN_SHIFT; - if (hlen > adapter->rx_ps_hdr_size) - hlen = adapter->rx_ps_hdr_size; + if (hlen > rx_ring->rx_buffer_len) + hlen = rx_ring->rx_buffer_len; return hlen; } -static bool igb_clean_rx_irq_adv(struct igb_ring *rx_ring, - int *work_done, int budget) +static bool igb_clean_rx_irq_adv(struct igb_q_vector *q_vector, + int *work_done, int budget) { - struct igb_adapter *adapter = rx_ring->adapter; - struct net_device *netdev = adapter->netdev; - struct e1000_hw *hw = &adapter->hw; - struct pci_dev *pdev = adapter->pdev; + struct igb_ring *rx_ring = q_vector->rx_ring; + struct net_device *netdev = rx_ring->netdev; + struct pci_dev *pdev = rx_ring->pdev; union e1000_adv_rx_desc *rx_desc , *next_rxd; struct igb_buffer *buffer_info , *next_buffer; struct sk_buff *skb; bool cleaned = false; int cleaned_count = 0; + int current_node = numa_node_id(); unsigned int total_bytes = 0, total_packets = 0; unsigned int i; u32 staterr; u16 length; + u16 vlan_tag; i = rx_ring->next_to_clean; buffer_info = &rx_ring->buffer_info[i]; @@ -4646,6 +5139,7 @@ i++; if (i == rx_ring->count) i = 0; + next_rxd = E1000_RX_DESC_ADV(*rx_ring, i); prefetch(next_rxd); next_buffer = &rx_ring->buffer_info[i]; @@ -4654,23 +5148,16 @@ cleaned = true; cleaned_count++; - /* this is the fast path for the non-packet split case */ - if (!adapter->rx_ps_hdr_size) { - pci_unmap_single(pdev, buffer_info->dma, - adapter->rx_buffer_len, - PCI_DMA_FROMDEVICE); - buffer_info->dma = 0; - skb_put(skb, length); - goto send_up; - } - if (buffer_info->dma) { - u16 hlen = igb_get_hlen(adapter, rx_desc); pci_unmap_single(pdev, buffer_info->dma, - adapter->rx_ps_hdr_size, + rx_ring->rx_buffer_len, PCI_DMA_FROMDEVICE); buffer_info->dma = 0; - skb_put(skb, hlen); + if (rx_ring->rx_buffer_len >= IGB_RXBUFFER_1024) { + skb_put(skb, length); + goto send_up; + } + skb_put(skb, igb_get_hlen(rx_ring, rx_desc)); } if (length) { @@ -4683,15 +5170,14 @@ buffer_info->page_offset, length); - if ((adapter->rx_buffer_len > (PAGE_SIZE / 2)) || - (page_count(buffer_info->page) != 1)) + if ((page_count(buffer_info->page) != 1) || + (page_to_nid(buffer_info->page) != current_node)) buffer_info->page = NULL; else get_page(buffer_info->page); skb->len += length; skb->data_len += length; - skb->truesize += length; } @@ -4703,60 +5189,24 @@ goto next_desc; } send_up: - /* - * If this bit is set, then the RX registers contain - * the time stamp. No other packet will be time - * stamped until we read these registers, so read the - * registers to make them available again. Because - * only one packet can be time stamped at a time, we - * know that the register values must belong to this - * one here and therefore we don't need to compare - * any of the additional attributes stored for it. - * - * If nothing went wrong, then it should have a - * skb_shared_tx that we can turn into a - * skb_shared_hwtstamps. - * - * TODO: can time stamping be triggered (thus locking - * the registers) without the packet reaching this point - * here? In that case RX time stamping would get stuck. - * - * TODO: in "time stamp all packets" mode this bit is - * not set. Need a global flag for this mode and then - * always read the registers. Cannot be done without - * a race condition. - */ - if (unlikely(staterr & E1000_RXD_STAT_TS)) { - u64 regval; - u64 ns; - struct skb_shared_hwtstamps *shhwtstamps = - skb_hwtstamps(skb); - - WARN(!(rd32(E1000_TSYNCRXCTL) & E1000_TSYNCRXCTL_VALID), - "igb: no RX time stamp available for time stamped packet"); - regval = rd32(E1000_RXSTMPL); - regval |= (u64)rd32(E1000_RXSTMPH) << 32; - ns = timecounter_cyc2time(&adapter->clock, regval); - timecompare_update(&adapter->compare, ns); - memset(shhwtstamps, 0, sizeof(*shhwtstamps)); - shhwtstamps->hwtstamp = ns_to_ktime(ns); - shhwtstamps->syststamp = - timecompare_transform(&adapter->compare, ns); - } - if (staterr & E1000_RXDEXT_ERR_FRAME_ERR_MASK) { dev_kfree_skb_irq(skb); goto next_desc; } + igb_rx_hwtstamp(q_vector, staterr, skb); total_bytes += skb->len; total_packets++; - igb_rx_checksum_adv(adapter, staterr, skb); + igb_rx_checksum_adv(rx_ring, staterr, skb); skb->protocol = eth_type_trans(skb, netdev); + skb_record_rx_queue(skb, rx_ring->queue_index); + + vlan_tag = ((staterr & E1000_RXD_STAT_VP) ? + le16_to_cpu(rx_desc->wb.upper.vlan) : 0); - igb_receive_skb(rx_ring, staterr, rx_desc, skb); + igb_receive_skb(q_vector, skb, vlan_tag); next_desc: rx_desc->wb.upper.status_error = 0; @@ -4783,8 +5233,6 @@ rx_ring->total_bytes += total_bytes; rx_ring->rx_stats.packets += total_packets; rx_ring->rx_stats.bytes += total_bytes; - adapter->net_stats.rx_bytes += total_bytes; - adapter->net_stats.rx_packets += total_packets; return cleaned; } @@ -4792,12 +5240,9 @@ * igb_alloc_rx_buffers_adv - Replace used receive buffers; packet split * @adapter: address of board private structure **/ -static void igb_alloc_rx_buffers_adv(struct igb_ring *rx_ring, - int cleaned_count) +void igb_alloc_rx_buffers_adv(struct igb_ring *rx_ring, int cleaned_count) { - struct igb_adapter *adapter = rx_ring->adapter; - struct net_device *netdev = adapter->netdev; - struct pci_dev *pdev = adapter->pdev; + struct net_device *netdev = rx_ring->netdev; union e1000_adv_rx_desc *rx_desc; struct igb_buffer *buffer_info; struct sk_buff *skb; @@ -4807,19 +5252,16 @@ i = rx_ring->next_to_use; buffer_info = &rx_ring->buffer_info[i]; - if (adapter->rx_ps_hdr_size) - bufsz = adapter->rx_ps_hdr_size; - else - bufsz = adapter->rx_buffer_len; + bufsz = rx_ring->rx_buffer_len; while (cleaned_count--) { rx_desc = E1000_RX_DESC_ADV(*rx_ring, i); - if (adapter->rx_ps_hdr_size && !buffer_info->page_dma) { + if ((bufsz < IGB_RXBUFFER_1024) && !buffer_info->page_dma) { if (!buffer_info->page) { - buffer_info->page = alloc_page(GFP_ATOMIC); + buffer_info->page = netdev_alloc_page(netdev); if (!buffer_info->page) { - adapter->alloc_rx_buff_failed++; + rx_ring->rx_stats.alloc_failed++; goto no_buffers; } buffer_info->page_offset = 0; @@ -4827,16 +5269,23 @@ buffer_info->page_offset ^= PAGE_SIZE / 2; } buffer_info->page_dma = - pci_map_page(pdev, buffer_info->page, + pci_map_page(rx_ring->pdev, buffer_info->page, buffer_info->page_offset, PAGE_SIZE / 2, PCI_DMA_FROMDEVICE); + if (pci_dma_mapping_error(rx_ring->pdev, + buffer_info->page_dma)) { + buffer_info->page_dma = 0; + rx_ring->rx_stats.alloc_failed++; + goto no_buffers; + } } + skb = buffer_info->skb; if (!buffer_info->skb) { skb = netdev_alloc_skb(netdev, bufsz + NET_IP_ALIGN); if (!skb) { - adapter->alloc_rx_buff_failed++; + rx_ring->rx_stats.alloc_failed++; goto no_buffers; } @@ -4847,19 +5296,27 @@ skb_reserve(skb, NET_IP_ALIGN); buffer_info->skb = skb; - buffer_info->dma = pci_map_single(pdev, skb->data, + } + if (!buffer_info->dma) { + buffer_info->dma = pci_map_single(rx_ring->pdev, + skb->data, bufsz, PCI_DMA_FROMDEVICE); + if (pci_dma_mapping_error(rx_ring->pdev, + buffer_info->dma)) { + buffer_info->dma = 0; + rx_ring->rx_stats.alloc_failed++; + goto no_buffers; + } } /* Refresh the desc even if buffer_addrs didn't change because * each write-back erases this info. */ - if (adapter->rx_ps_hdr_size) { + if (bufsz < IGB_RXBUFFER_1024) { rx_desc->read.pkt_addr = cpu_to_le64(buffer_info->page_dma); rx_desc->read.hdr_addr = cpu_to_le64(buffer_info->dma); } else { - rx_desc->read.pkt_addr = - cpu_to_le64(buffer_info->dma); + rx_desc->read.pkt_addr = cpu_to_le64(buffer_info->dma); rx_desc->read.hdr_addr = 0; } @@ -4882,7 +5339,7 @@ * applicable for weak-ordered memory model archs, * such as IA-64). */ wmb(); - writel(i, adapter->hw.hw_addr + rx_ring->tail); + writel(i, rx_ring->tail); } } @@ -4941,13 +5398,11 @@ struct igb_adapter *adapter = netdev_priv(netdev); struct e1000_hw *hw = &adapter->hw; struct hwtstamp_config config; - u32 tsync_tx_ctl_bit = E1000_TSYNCTXCTL_ENABLED; - u32 tsync_rx_ctl_bit = E1000_TSYNCRXCTL_ENABLED; - u32 tsync_rx_ctl_type = 0; + u32 tsync_tx_ctl = E1000_TSYNCTXCTL_ENABLED; + u32 tsync_rx_ctl = E1000_TSYNCRXCTL_ENABLED; u32 tsync_rx_cfg = 0; - int is_l4 = 0; - int is_l2 = 0; - short port = 319; /* PTP */ + bool is_l4 = false; + bool is_l2 = false; u32 regval; if (copy_from_user(&config, ifr->ifr_data, sizeof(config))) @@ -4959,10 +5414,8 @@ switch (config.tx_type) { case HWTSTAMP_TX_OFF: - tsync_tx_ctl_bit = 0; - break; + tsync_tx_ctl = 0; case HWTSTAMP_TX_ON: - tsync_tx_ctl_bit = E1000_TSYNCTXCTL_ENABLED; break; default: return -ERANGE; @@ -4970,7 +5423,7 @@ switch (config.rx_filter) { case HWTSTAMP_FILTER_NONE: - tsync_rx_ctl_bit = 0; + tsync_rx_ctl = 0; break; case HWTSTAMP_FILTER_PTP_V1_L4_EVENT: case HWTSTAMP_FILTER_PTP_V2_L4_EVENT: @@ -4981,86 +5434,97 @@ * possible to time stamp both Sync and Delay_Req messages * => fall back to time stamping all packets */ - tsync_rx_ctl_type = E1000_TSYNCRXCTL_TYPE_ALL; + tsync_rx_ctl |= E1000_TSYNCRXCTL_TYPE_ALL; config.rx_filter = HWTSTAMP_FILTER_ALL; break; case HWTSTAMP_FILTER_PTP_V1_L4_SYNC: - tsync_rx_ctl_type = E1000_TSYNCRXCTL_TYPE_L4_V1; + tsync_rx_ctl |= E1000_TSYNCRXCTL_TYPE_L4_V1; tsync_rx_cfg = E1000_TSYNCRXCFG_PTP_V1_SYNC_MESSAGE; - is_l4 = 1; + is_l4 = true; break; case HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ: - tsync_rx_ctl_type = E1000_TSYNCRXCTL_TYPE_L4_V1; + tsync_rx_ctl |= E1000_TSYNCRXCTL_TYPE_L4_V1; tsync_rx_cfg = E1000_TSYNCRXCFG_PTP_V1_DELAY_REQ_MESSAGE; - is_l4 = 1; + is_l4 = true; break; case HWTSTAMP_FILTER_PTP_V2_L2_SYNC: case HWTSTAMP_FILTER_PTP_V2_L4_SYNC: - tsync_rx_ctl_type = E1000_TSYNCRXCTL_TYPE_L2_L4_V2; + tsync_rx_ctl |= E1000_TSYNCRXCTL_TYPE_L2_L4_V2; tsync_rx_cfg = E1000_TSYNCRXCFG_PTP_V2_SYNC_MESSAGE; - is_l2 = 1; - is_l4 = 1; + is_l2 = true; + is_l4 = true; config.rx_filter = HWTSTAMP_FILTER_SOME; break; case HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ: case HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ: - tsync_rx_ctl_type = E1000_TSYNCRXCTL_TYPE_L2_L4_V2; + tsync_rx_ctl |= E1000_TSYNCRXCTL_TYPE_L2_L4_V2; tsync_rx_cfg = E1000_TSYNCRXCFG_PTP_V2_DELAY_REQ_MESSAGE; - is_l2 = 1; - is_l4 = 1; + is_l2 = true; + is_l4 = true; config.rx_filter = HWTSTAMP_FILTER_SOME; break; case HWTSTAMP_FILTER_PTP_V2_EVENT: case HWTSTAMP_FILTER_PTP_V2_SYNC: case HWTSTAMP_FILTER_PTP_V2_DELAY_REQ: - tsync_rx_ctl_type = E1000_TSYNCRXCTL_TYPE_EVENT_V2; + tsync_rx_ctl |= E1000_TSYNCRXCTL_TYPE_EVENT_V2; config.rx_filter = HWTSTAMP_FILTER_PTP_V2_EVENT; - is_l2 = 1; + is_l2 = true; break; default: return -ERANGE; } + if (hw->mac.type == e1000_82575) { + if (tsync_rx_ctl | tsync_tx_ctl) + return -EINVAL; + return 0; + } + /* enable/disable TX */ regval = rd32(E1000_TSYNCTXCTL); - regval = (regval & ~E1000_TSYNCTXCTL_ENABLED) | tsync_tx_ctl_bit; + regval &= ~E1000_TSYNCTXCTL_ENABLED; + regval |= tsync_tx_ctl; wr32(E1000_TSYNCTXCTL, regval); - /* enable/disable RX, define which PTP packets are time stamped */ + /* enable/disable RX */ regval = rd32(E1000_TSYNCRXCTL); - regval = (regval & ~E1000_TSYNCRXCTL_ENABLED) | tsync_rx_ctl_bit; - regval = (regval & ~0xE) | tsync_rx_ctl_type; + regval &= ~(E1000_TSYNCRXCTL_ENABLED | E1000_TSYNCRXCTL_TYPE_MASK); + regval |= tsync_rx_ctl; wr32(E1000_TSYNCRXCTL, regval); - wr32(E1000_TSYNCRXCFG, tsync_rx_cfg); - /* - * Ethertype Filter Queue Filter[0][15:0] = 0x88F7 - * (Ethertype to filter on) - * Ethertype Filter Queue Filter[0][26] = 0x1 (Enable filter) - * Ethertype Filter Queue Filter[0][30] = 0x1 (Enable Timestamping) - */ - wr32(E1000_ETQF0, is_l2 ? 0x440088f7 : 0); + /* define which PTP packets are time stamped */ + wr32(E1000_TSYNCRXCFG, tsync_rx_cfg); - /* L4 Queue Filter[0]: only filter by source and destination port */ - wr32(E1000_SPQF0, htons(port)); - wr32(E1000_IMIREXT(0), is_l4 ? - ((1<<12) | (1<<19) /* bypass size and control flags */) : 0); - wr32(E1000_IMIR(0), is_l4 ? - (htons(port) - | (0<<16) /* immediate interrupt disabled */ - | 0 /* (1<<17) bit cleared: do not bypass - destination port check */) - : 0); - wr32(E1000_FTQF0, is_l4 ? - (0x11 /* UDP */ - | (1<<15) /* VF not compared */ - | (1<<27) /* Enable Timestamping */ - | (7<<28) /* only source port filter enabled, - source/target address and protocol - masked */) - : ((1<<15) | (15<<28) /* all mask bits set = filter not - enabled */)); + /* define ethertype filter for timestamped packets */ + if (is_l2) + wr32(E1000_ETQF(3), + (E1000_ETQF_FILTER_ENABLE | /* enable filter */ + E1000_ETQF_1588 | /* enable timestamping */ + ETH_P_1588)); /* 1588 eth protocol type */ + else + wr32(E1000_ETQF(3), 0); +#define PTP_PORT 319 + /* L4 Queue Filter[3]: filter by destination port and protocol */ + if (is_l4) { + u32 ftqf = (IPPROTO_UDP /* UDP */ + | E1000_FTQF_VF_BP /* VF not compared */ + | E1000_FTQF_1588_TIME_STAMP /* Enable Timestamping */ + | E1000_FTQF_MASK); /* mask all inputs */ + ftqf &= ~E1000_FTQF_MASK_PROTO_BP; /* enable protocol check */ + + wr32(E1000_IMIR(3), htons(PTP_PORT)); + wr32(E1000_IMIREXT(3), + (E1000_IMIREXT_SIZE_BP | E1000_IMIREXT_CTRL_BP)); + if (hw->mac.type == e1000_82576) { + /* enable source port check */ + wr32(E1000_SPQF(3), htons(PTP_PORT)); + ftqf &= ~E1000_FTQF_MASK_SOURCE_PORT_BP; + } + wr32(E1000_FTQF(3), ftqf); + } else { + wr32(E1000_FTQF(3), E1000_FTQF_MASK); + } wrfl(); adapter->hwtstamp_config = config; @@ -5137,21 +5601,15 @@ ctrl |= E1000_CTRL_VME; wr32(E1000_CTRL, ctrl); - /* enable VLAN receive filtering */ + /* Disable CFI check */ rctl = rd32(E1000_RCTL); rctl &= ~E1000_RCTL_CFIEN; wr32(E1000_RCTL, rctl); - igb_update_mng_vlan(adapter); } else { /* disable VLAN tag insert/strip */ ctrl = rd32(E1000_CTRL); ctrl &= ~E1000_CTRL_VME; wr32(E1000_CTRL, ctrl); - - if (adapter->mng_vlan_id != (u16)IGB_MNG_VLAN_NONE) { - igb_vlan_rx_kill_vid(netdev, adapter->mng_vlan_id); - adapter->mng_vlan_id = IGB_MNG_VLAN_NONE; - } } igb_rlpml_set(adapter); @@ -5166,16 +5624,11 @@ struct e1000_hw *hw = &adapter->hw; int pf_id = adapter->vfs_allocated_count; - if ((hw->mng_cookie.status & - E1000_MNG_DHCP_COOKIE_STATUS_VLAN) && - (vid == adapter->mng_vlan_id)) - return; - - /* add vid to vlvf if sr-iov is enabled, - * if that fails add directly to filter table */ - if (igb_vlvf_set(adapter, vid, true, pf_id)) - igb_vfta_set(hw, vid, true); + /* attempt to add filter to vlvf array */ + igb_vlvf_set(adapter, vid, true, pf_id); + /* add the filter since PF can receive vlans w/o entry in vlvf */ + igb_vfta_set(hw, vid, true); } static void igb_vlan_rx_kill_vid(struct net_device *netdev, u16 vid) @@ -5183,6 +5636,7 @@ struct igb_adapter *adapter = netdev_priv(netdev); struct e1000_hw *hw = &adapter->hw; int pf_id = adapter->vfs_allocated_count; + s32 err; igb_irq_disable(adapter); vlan_group_set_device(adapter->vlgrp, vid, NULL); @@ -5190,17 +5644,11 @@ if (!test_bit(__IGB_DOWN, &adapter->state)) igb_irq_enable(adapter); - if ((adapter->hw.mng_cookie.status & - E1000_MNG_DHCP_COOKIE_STATUS_VLAN) && - (vid == adapter->mng_vlan_id)) { - /* release control to f/w */ - igb_release_hw_control(adapter); - return; - } + /* remove vlan from VLVF table array */ + err = igb_vlvf_set(adapter, vid, false, pf_id); - /* remove vid from vlvf if sr-iov is enabled, - * if not in vlvf remove from vfta */ - if (igb_vlvf_set(adapter, vid, false, pf_id)) + /* if vid was not present in VLVF just remove it from table */ + if (err) igb_vfta_set(hw, vid, false); } @@ -5220,6 +5668,7 @@ int igb_set_spd_dplx(struct igb_adapter *adapter, u16 spddplx) { + struct pci_dev *pdev = adapter->pdev; struct e1000_mac_info *mac = &adapter->hw.mac; mac->autoneg = 0; @@ -5243,8 +5692,7 @@ break; case SPEED_1000 + DUPLEX_HALF: /* not supported */ default: - dev_err(&adapter->pdev->dev, - "Unsupported Speed/Duplex configuration\n"); + dev_err(&pdev->dev, "Unsupported Speed/Duplex configuration\n"); return -EINVAL; } return 0; @@ -5266,9 +5714,7 @@ if (netif_running(netdev)) igb_close(netdev); - igb_reset_interrupt_capability(adapter); - - igb_free_queues(adapter); + igb_clear_interrupt_scheme(adapter); #ifdef CONFIG_PM retval = pci_save_state(pdev); @@ -5300,7 +5746,7 @@ wr32(E1000_CTRL, ctrl); /* Allow time for pending master requests to run */ - igb_disable_pcie_master(&adapter->hw); + igb_disable_pcie_master(hw); wr32(E1000_WUC, E1000_WUC_PME_EN); wr32(E1000_WUFC, wufc); @@ -5363,9 +5809,7 @@ pci_enable_wake(pdev, PCI_D3hot, 0); pci_enable_wake(pdev, PCI_D3cold, 0); - igb_set_interrupt_capability(adapter); - - if (igb_alloc_queues(adapter)) { + if (igb_init_interrupt_scheme(adapter)) { dev_err(&pdev->dev, "Unable to allocate memory for queues\n"); return -ENOMEM; } @@ -5417,22 +5861,16 @@ int i; if (!adapter->msix_entries) { + struct igb_q_vector *q_vector = adapter->q_vector[0]; igb_irq_disable(adapter); - napi_schedule(&adapter->rx_ring[0].napi); + napi_schedule(&q_vector->napi); return; } - for (i = 0; i < adapter->num_tx_queues; i++) { - struct igb_ring *tx_ring = &adapter->tx_ring[i]; - wr32(E1000_EIMC, tx_ring->eims_value); - igb_clean_tx_irq(tx_ring); - wr32(E1000_EIMS, tx_ring->eims_value); - } - - for (i = 0; i < adapter->num_rx_queues; i++) { - struct igb_ring *rx_ring = &adapter->rx_ring[i]; - wr32(E1000_EIMC, rx_ring->eims_value); - napi_schedule(&rx_ring->napi); + for (i = 0; i < adapter->num_q_vectors; i++) { + struct igb_q_vector *q_vector = adapter->q_vector[i]; + wr32(E1000_EIMC, q_vector->eims_value); + napi_schedule(&q_vector->napi); } } #endif /* CONFIG_NET_POLL_CONTROLLER */ @@ -5532,6 +5970,33 @@ igb_get_hw_control(adapter); } +static void igb_rar_set_qsel(struct igb_adapter *adapter, u8 *addr, u32 index, + u8 qsel) +{ + u32 rar_low, rar_high; + struct e1000_hw *hw = &adapter->hw; + + /* HW expects these in little endian so we reverse the byte order + * from network order (big endian) to little endian + */ + rar_low = ((u32) addr[0] | ((u32) addr[1] << 8) | + ((u32) addr[2] << 16) | ((u32) addr[3] << 24)); + rar_high = ((u32) addr[4] | ((u32) addr[5] << 8)); + + /* Indicate to hardware the Address is Valid. */ + rar_high |= E1000_RAH_AV; + + if (hw->mac.type == e1000_82575) + rar_high |= E1000_RAH_POOL_1 * qsel; + else + rar_high |= E1000_RAH_POOL_1 << qsel; + + wr32(E1000_RAL(index), rar_low); + wrfl(); + wr32(E1000_RAH(index), rar_high); + wrfl(); +} + static int igb_set_vf_mac(struct igb_adapter *adapter, int vf, unsigned char *mac_addr) { @@ -5542,8 +6007,7 @@ memcpy(adapter->vf_data[vf].vf_mac_addresses, mac_addr, ETH_ALEN); - igb_rar_set(hw, mac_addr, rar_entry); - igb_set_rah_pool(hw, vf, rar_entry); + igb_rar_set_qsel(adapter, mac_addr, rar_entry, vf); return 0; } @@ -5551,19 +6015,29 @@ static void igb_vmm_control(struct igb_adapter *adapter) { struct e1000_hw *hw = &adapter->hw; - u32 reg_data; + u32 reg; - if (!adapter->vfs_allocated_count) + /* replication is not supported for 82575 */ + if (hw->mac.type == e1000_82575) return; - /* VF's need PF reset indication before they - * can send/receive mail */ - reg_data = rd32(E1000_CTRL_EXT); - reg_data |= E1000_CTRL_EXT_PFRSTD; - wr32(E1000_CTRL_EXT, reg_data); + /* enable replication vlan tag stripping */ + reg = rd32(E1000_RPLOLR); + reg |= E1000_RPLOLR_STRVLAN; + wr32(E1000_RPLOLR, reg); + + /* notify HW that the MAC is adding vlan tags */ + reg = rd32(E1000_DTXCTL); + reg |= E1000_DTXCTL_VLAN_ADDED; + wr32(E1000_DTXCTL, reg); - igb_vmdq_set_loopback_pf(hw, true); - igb_vmdq_set_replication_pf(hw, true); + if (adapter->vfs_allocated_count) { + igb_vmdq_set_loopback_pf(hw, true); + igb_vmdq_set_replication_pf(hw, true); + } else { + igb_vmdq_set_loopback_pf(hw, false); + igb_vmdq_set_replication_pf(hw, false); + } } /* igb_main.c */ --- linux-2.6.32.orig/drivers/net/igbvf/igbvf.h +++ linux-2.6.32/drivers/net/igbvf/igbvf.h @@ -125,7 +125,6 @@ unsigned int page_offset; }; }; - struct page *page; }; union igbvf_desc { --- linux-2.6.32.orig/drivers/net/igbvf/netdev.c +++ linux-2.6.32/drivers/net/igbvf/netdev.c @@ -1953,7 +1953,7 @@ iph->daddr, 0, IPPROTO_TCP, 0); - } else if (skb_shinfo(skb)->gso_type == SKB_GSO_TCPV6) { + } else if (skb_is_gso_v6(skb)) { ipv6_hdr(skb)->payload_len = 0; tcp_hdr(skb)->check = ~csum_ipv6_magic(&ipv6_hdr(skb)->saddr, &ipv6_hdr(skb)->daddr, --- linux-2.6.32.orig/drivers/net/irda/smsc-ircc2.c +++ linux-2.6.32/drivers/net/irda/smsc-ircc2.c @@ -515,7 +515,7 @@ * Try to open driver instance * */ -static int __init smsc_ircc_open(unsigned int fir_base, unsigned int sir_base, u8 dma, u8 irq) +static int __devinit smsc_ircc_open(unsigned int fir_base, unsigned int sir_base, u8 dma, u8 irq) { struct smsc_ircc_cb *self; struct net_device *dev; --- linux-2.6.32.orig/drivers/net/ixgbe/ixgbe_82599.c +++ linux-2.6.32/drivers/net/ixgbe/ixgbe_82599.c @@ -332,11 +332,13 @@ case IXGBE_DEV_ID_82599_KX4: case IXGBE_DEV_ID_82599_KX4_MEZZ: case IXGBE_DEV_ID_82599_COMBO_BACKPLANE: + case IXGBE_DEV_ID_82599_KR: case IXGBE_DEV_ID_82599_XAUI_LOM: /* Default device ID is mezzanine card KX/KX4 */ media_type = ixgbe_media_type_backplane; break; case IXGBE_DEV_ID_82599_SFP: + case IXGBE_DEV_ID_82599_SFP_EM: media_type = ixgbe_media_type_fiber; break; case IXGBE_DEV_ID_82599_CX4: --- linux-2.6.32.orig/drivers/net/ixgbe/ixgbe_main.c +++ linux-2.6.32/drivers/net/ixgbe/ixgbe_main.c @@ -96,8 +96,12 @@ board_82599 }, {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_XAUI_LOM), board_82599 }, + {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_KR), + board_82599 }, {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP), board_82599 }, + {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP_EM), + board_82599 }, {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_KX4_MEZZ), board_82599 }, {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_CX4), @@ -789,6 +793,7 @@ break; (*work_done)++; + rmb(); /* read descriptor and rx_buffer_info after status DD */ if (rx_ring->flags & IXGBE_RING_RX_PS_ENABLED) { hdr_info = le16_to_cpu(ixgbe_get_hdr_info(rx_desc)); len = (hdr_info & IXGBE_RXDADV_HDRBUFLEN_MASK) >> @@ -2129,6 +2134,10 @@ /* Decide whether to use packet split mode or not */ adapter->flags |= IXGBE_FLAG_RX_PS_ENABLED; + /* Disable packet split due to 82599 erratum #45 */ + if (hw->mac.type == ixgbe_mac_82599EB) + adapter->flags &= ~IXGBE_FLAG_RX_PS_ENABLED; + /* Set the RX buffer length according to the mode */ if (adapter->flags & IXGBE_FLAG_RX_PS_ENABLED) { rx_buf_len = IXGBE_RX_HDR_SIZE; @@ -4872,7 +4881,7 @@ IPPROTO_TCP, 0); adapter->hw_tso_ctxt++; - } else if (skb_shinfo(skb)->gso_type == SKB_GSO_TCPV6) { + } else if (skb_is_gso_v6(skb)) { ipv6_hdr(skb)->payload_len = 0; tcp_hdr(skb)->check = ~csum_ipv6_magic(&ipv6_hdr(skb)->saddr, @@ -5239,9 +5248,13 @@ static u16 ixgbe_select_queue(struct net_device *dev, struct sk_buff *skb) { struct ixgbe_adapter *adapter = netdev_priv(dev); + int txq = smp_processor_id(); - if (adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE) - return smp_processor_id(); + if (adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE) { + while (unlikely(txq >= dev->real_num_tx_queues)) + txq -= dev->real_num_tx_queues; + return txq; + } if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) return (skb->vlan_tci & IXGBE_TX_FLAGS_VLAN_PRIO_MASK) >> 13; --- linux-2.6.32.orig/drivers/net/ixgbe/ixgbe_type.h +++ linux-2.6.32/drivers/net/ixgbe/ixgbe_type.h @@ -50,8 +50,10 @@ #define IXGBE_DEV_ID_82598EB_XF_LR 0x10F4 #define IXGBE_DEV_ID_82599_KX4 0x10F7 #define IXGBE_DEV_ID_82599_KX4_MEZZ 0x1514 +#define IXGBE_DEV_ID_82599_KR 0x1517 #define IXGBE_DEV_ID_82599_CX4 0x10F9 #define IXGBE_DEV_ID_82599_SFP 0x10FB +#define IXGBE_DEV_ID_82599_SFP_EM 0x1507 #define IXGBE_DEV_ID_82599_XAUI_LOM 0x10FC #define IXGBE_DEV_ID_82599_COMBO_BACKPLANE 0x10F8 --- linux-2.6.32.orig/drivers/net/mlx4/icm.c +++ linux-2.6.32/drivers/net/mlx4/icm.c @@ -174,9 +174,10 @@ if (chunk->nsg <= 0) goto fail; + } + if (chunk->npages == MLX4_ICM_CHUNK_LEN) chunk = NULL; - } npages -= 1 << cur_order; } else { --- linux-2.6.32.orig/drivers/net/myri10ge/myri10ge.c +++ linux-2.6.32/drivers/net/myri10ge/myri10ge.c @@ -264,6 +264,10 @@ static char *myri10ge_fw_aligned = "myri10ge_eth_z8e.dat"; static char *myri10ge_fw_rss_unaligned = "myri10ge_rss_ethp_z8e.dat"; static char *myri10ge_fw_rss_aligned = "myri10ge_rss_eth_z8e.dat"; +MODULE_FIRMWARE("myri10ge_ethp_z8e.dat"); +MODULE_FIRMWARE("myri10ge_eth_z8e.dat"); +MODULE_FIRMWARE("myri10ge_rss_ethp_z8e.dat"); +MODULE_FIRMWARE("myri10ge_rss_eth_z8e.dat"); static char *myri10ge_fw_name = NULL; module_param(myri10ge_fw_name, charp, S_IRUGO | S_IWUSR); @@ -3640,6 +3644,7 @@ dma_free_coherent(&pdev->dev, bytes, ss->fw_stats, ss->fw_stats_bus); ss->fw_stats = NULL; + netif_napi_del(&ss->napi); } } kfree(mgp->ss); --- linux-2.6.32.orig/drivers/net/netxen/netxen_nic.h +++ linux-2.6.32/drivers/net/netxen/netxen_nic.h @@ -487,6 +487,11 @@ #define NX_P3_MN_ROMIMAGE 2 #define NX_FLASH_ROMIMAGE 3 +#define NX_P2_MN_ROMIMAGE_NAME "nxromimg.bin" +#define NX_P3_CT_ROMIMAGE_NAME "nx3fwct.bin" +#define NX_P3_MN_ROMIMAGE_NAME "nx3fwmn.bin" +#define NX_FLASH_ROMIMAGE_NAME "flash" + extern char netxen_nic_driver_name[]; /* Number of status descriptors to handle per interrupt */ --- linux-2.6.32.orig/drivers/net/netxen/netxen_nic_hw.c +++ linux-2.6.32/drivers/net/netxen/netxen_nic_hw.c @@ -685,6 +685,9 @@ struct list_head *head; nx_mac_list_t *cur; + if (adapter->is_up != NETXEN_ADAPTER_UP_MAGIC) + return; + list_splice_tail_init(&adapter->mac_list, &del_list); nx_p3_nic_add_mac(adapter, adapter->mac_addr, &del_list); --- linux-2.6.32.orig/drivers/net/netxen/netxen_nic_init.c +++ linux-2.6.32/drivers/net/netxen/netxen_nic_init.c @@ -673,7 +673,10 @@ } static char *fw_name[] = { - "nxromimg.bin", "nx3fwct.bin", "nx3fwmn.bin", "flash", + NX_P2_MN_ROMIMAGE_NAME, + NX_P3_CT_ROMIMAGE_NAME, + NX_P3_MN_ROMIMAGE_NAME, + NX_FLASH_ROMIMAGE_NAME, }; int @@ -1199,7 +1202,6 @@ if (pkt_offset) skb_pull(skb, pkt_offset); - skb->truesize = skb->len + sizeof(struct sk_buff); skb->protocol = eth_type_trans(skb, netdev); napi_gro_receive(&sds_ring->napi, skb); @@ -1261,8 +1263,6 @@ skb_put(skb, lro_length + data_offset); - skb->truesize = skb->len + sizeof(struct sk_buff) + skb_headroom(skb); - skb_pull(skb, l2_hdr_offset); skb->protocol = eth_type_trans(skb, netdev); --- linux-2.6.32.orig/drivers/net/netxen/netxen_nic_main.c +++ linux-2.6.32/drivers/net/netxen/netxen_nic_main.c @@ -38,6 +38,9 @@ MODULE_DESCRIPTION("NetXen Multi port (1/10) Gigabit Network Driver"); MODULE_LICENSE("GPL"); MODULE_VERSION(NETXEN_NIC_LINUX_VERSIONID); +MODULE_FIRMWARE(NX_P2_MN_ROMIMAGE_NAME); +MODULE_FIRMWARE(NX_P3_CT_ROMIMAGE_NAME); +MODULE_FIRMWARE(NX_P3_MN_ROMIMAGE_NAME); char netxen_nic_driver_name[] = "netxen_nic"; static char netxen_nic_driver_string[] = "NetXen Network Driver version " --- linux-2.6.32.orig/drivers/net/pcmcia/pcnet_cs.c +++ linux-2.6.32/drivers/net/pcmcia/pcnet_cs.c @@ -1768,6 +1768,13 @@ PCMCIA_DEVICE_NULL }; MODULE_DEVICE_TABLE(pcmcia, pcnet_ids); +MODULE_FIRMWARE("cis/PCMLM28.cis"); +MODULE_FIRMWARE("cis/DP83903.cis"); +MODULE_FIRMWARE("cis/LA-PCM.cis"); +MODULE_FIRMWARE("PE520.cis"); +MODULE_FIRMWARE("cis/NE2K.cis"); +MODULE_FIRMWARE("cis/PE-200.cis"); +MODULE_FIRMWARE("cis/tamarack.cis"); static struct pcmcia_driver pcnet_driver = { .drv = { --- linux-2.6.32.orig/drivers/net/qlge/qlge_main.c +++ linux-2.6.32/drivers/net/qlge/qlge_main.c @@ -3310,10 +3310,8 @@ /* Initialize the port and set the max framesize. */ status = qdev->nic_ops->port_initialize(qdev); - if (status) { - QPRINTK(qdev, IFUP, ERR, "Failed to start port.\n"); - return status; - } + if (status) + QPRINTK(qdev, IFUP, ERR, "Failed to start port.\n"); /* Set up the MAC address and frame routing filter. */ status = ql_cam_route_initialize(qdev); @@ -3714,9 +3712,6 @@ struct sockaddr *addr = p; int status; - if (netif_running(ndev)) - return -EBUSY; - if (!is_valid_ether_addr(addr->sa_data)) return -EADDRNOTAVAIL; memcpy(ndev->dev_addr, addr->sa_data, ndev->addr_len); @@ -3868,8 +3863,7 @@ struct net_device *ndev, int cards_found) { struct ql_adapter *qdev = netdev_priv(ndev); - int pos, err = 0; - u16 val16; + int err = 0; memset((void *)qdev, 0, sizeof(*qdev)); err = pci_enable_device(pdev); @@ -3881,18 +3875,12 @@ qdev->ndev = ndev; qdev->pdev = pdev; pci_set_drvdata(pdev, ndev); - pos = pci_find_capability(pdev, PCI_CAP_ID_EXP); - if (pos <= 0) { - dev_err(&pdev->dev, PFX "Cannot find PCI Express capability, " - "aborting.\n"); - return pos; - } else { - pci_read_config_word(pdev, pos + PCI_EXP_DEVCTL, &val16); - val16 &= ~PCI_EXP_DEVCTL_NOSNOOP_EN; - val16 |= (PCI_EXP_DEVCTL_CERE | - PCI_EXP_DEVCTL_NFERE | - PCI_EXP_DEVCTL_FERE | PCI_EXP_DEVCTL_URRE); - pci_write_config_word(pdev, pos + PCI_EXP_DEVCTL, val16); + + /* Set PCIe read request size */ + err = pcie_set_readrq(pdev, 4096); + if (err) { + dev_err(&pdev->dev, "Set readrq failed.\n"); + goto err_out; } err = pci_request_regions(pdev, DRV_NAME); --- linux-2.6.32.orig/drivers/net/qlge/qlge_mpi.c +++ linux-2.6.32/drivers/net/qlge/qlge_mpi.c @@ -446,6 +446,9 @@ ql_aen_lost(qdev, mbcp); break; + case AEN_DCBX_CHG: + /* Need to support AEN 8110 */ + break; default: QPRINTK(qdev, DRV, ERR, "Unsupported AE %.08x.\n", mbcp->mbox_out[0]); --- linux-2.6.32.orig/drivers/net/sfc/Kconfig +++ linux-2.6.32/drivers/net/sfc/Kconfig @@ -1,5 +1,5 @@ config SFC - tristate "Solarflare Solarstorm SFC4000 support" + tristate "Solarflare Solarstorm SFC4000/SFC9000-family support" depends on PCI && INET select MDIO select CRC32 @@ -7,15 +7,16 @@ select I2C_ALGOBIT help This driver supports 10-gigabit Ethernet cards based on - the Solarflare Communications Solarstorm SFC4000 controller. + the Solarflare Communications Solarstorm SFC4000 and + SFC9000-family controllers. To compile this driver as a module, choose M here. The module will be called sfc. config SFC_MTD - bool "Solarflare Solarstorm SFC4000 flash MTD support" + bool "Solarflare Solarstorm SFC4000/SFC9000-family MTD support" depends on SFC && MTD && !(SFC=y && MTD=m) default y help - This exposes the on-board flash memory as an MTD device (e.g. - /dev/mtd1). This makes it possible to upload new boot code - to the NIC. + This exposes the on-board flash memory as MTD devices (e.g. + /dev/mtd1). This makes it possible to upload new firmware + to the NIC. --- linux-2.6.32.orig/drivers/net/sfc/Makefile +++ linux-2.6.32/drivers/net/sfc/Makefile @@ -1,6 +1,7 @@ -sfc-y += efx.o falcon.o tx.o rx.o falcon_gmac.o \ - falcon_xmac.o selftest.o ethtool.o xfp_phy.o \ - mdio_10g.o tenxpress.o boards.o sfe4001.o +sfc-y += efx.o nic.o falcon.o siena.o tx.o rx.o \ + falcon_gmac.o falcon_xmac.o mcdi_mac.o \ + selftest.o ethtool.o qt202x_phy.o mdio_10g.o \ + tenxpress.o falcon_boards.o mcdi.o mcdi_phy.o sfc-$(CONFIG_SFC_MTD) += mtd.o obj-$(CONFIG_SFC) += sfc.o --- linux-2.6.32.orig/drivers/net/sfc/bitfield.h +++ linux-2.6.32/drivers/net/sfc/bitfield.h @@ -1,7 +1,7 @@ /**************************************************************************** * Driver for Solarflare Solarstorm network controllers and boards * Copyright 2005-2006 Fen Systems Ltd. - * Copyright 2006-2008 Solarflare Communications Inc. + * Copyright 2006-2009 Solarflare Communications 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 @@ -37,6 +37,8 @@ #define EFX_DWORD_2_WIDTH 32 #define EFX_DWORD_3_LBN 96 #define EFX_DWORD_3_WIDTH 32 +#define EFX_QWORD_0_LBN 0 +#define EFX_QWORD_0_WIDTH 64 /* Specified attribute (e.g. LBN) of the specified field */ #define EFX_VAL(field, attribute) field ## _ ## attribute @@ -520,19 +522,6 @@ #define EFX_SET_QWORD_FIELD EFX_SET_QWORD_FIELD32 #endif -#define EFX_SET_OWORD_FIELD_VER(efx, oword, field, value) do { \ - if (falcon_rev(efx) >= FALCON_REV_B0) { \ - EFX_SET_OWORD_FIELD((oword), field##_B0, (value)); \ - } else { \ - EFX_SET_OWORD_FIELD((oword), field##_A1, (value)); \ - } \ -} while (0) - -#define EFX_QWORD_FIELD_VER(efx, qword, field) \ - (falcon_rev(efx) >= FALCON_REV_B0 ? \ - EFX_QWORD_FIELD((qword), field##_B0) : \ - EFX_QWORD_FIELD((qword), field##_A1)) - /* Used to avoid compiler warnings about shift range exceeding width * of the data types when dma_addr_t is only 32 bits wide. */ --- linux-2.6.32.orig/drivers/net/sfc/efx.c +++ linux-2.6.32/drivers/net/sfc/efx.c @@ -1,7 +1,7 @@ /**************************************************************************** * Driver for Solarflare Solarstorm network controllers and boards * Copyright 2005-2006 Fen Systems Ltd. - * Copyright 2005-2008 Solarflare Communications Inc. + * Copyright 2005-2009 Solarflare Communications 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 @@ -21,12 +21,73 @@ #include #include #include "net_driver.h" -#include "ethtool.h" -#include "tx.h" -#include "rx.h" #include "efx.h" #include "mdio_10g.h" -#include "falcon.h" +#include "nic.h" + +#include "mcdi.h" + +/************************************************************************** + * + * Type name strings + * + ************************************************************************** + */ + +/* Loopback mode names (see LOOPBACK_MODE()) */ +const unsigned int efx_loopback_mode_max = LOOPBACK_MAX; +const char *efx_loopback_mode_names[] = { + [LOOPBACK_NONE] = "NONE", + [LOOPBACK_DATA] = "DATAPATH", + [LOOPBACK_GMAC] = "GMAC", + [LOOPBACK_XGMII] = "XGMII", + [LOOPBACK_XGXS] = "XGXS", + [LOOPBACK_XAUI] = "XAUI", + [LOOPBACK_GMII] = "GMII", + [LOOPBACK_SGMII] = "SGMII", + [LOOPBACK_XGBR] = "XGBR", + [LOOPBACK_XFI] = "XFI", + [LOOPBACK_XAUI_FAR] = "XAUI_FAR", + [LOOPBACK_GMII_FAR] = "GMII_FAR", + [LOOPBACK_SGMII_FAR] = "SGMII_FAR", + [LOOPBACK_XFI_FAR] = "XFI_FAR", + [LOOPBACK_GPHY] = "GPHY", + [LOOPBACK_PHYXS] = "PHYXS", + [LOOPBACK_PCS] = "PCS", + [LOOPBACK_PMAPMD] = "PMA/PMD", + [LOOPBACK_XPORT] = "XPORT", + [LOOPBACK_XGMII_WS] = "XGMII_WS", + [LOOPBACK_XAUI_WS] = "XAUI_WS", + [LOOPBACK_XAUI_WS_FAR] = "XAUI_WS_FAR", + [LOOPBACK_XAUI_WS_NEAR] = "XAUI_WS_NEAR", + [LOOPBACK_GMII_WS] = "GMII_WS", + [LOOPBACK_XFI_WS] = "XFI_WS", + [LOOPBACK_XFI_WS_FAR] = "XFI_WS_FAR", + [LOOPBACK_PHYXS_WS] = "PHYXS_WS", +}; + +/* Interrupt mode names (see INT_MODE())) */ +const unsigned int efx_interrupt_mode_max = EFX_INT_MODE_MAX; +const char *efx_interrupt_mode_names[] = { + [EFX_INT_MODE_MSIX] = "MSI-X", + [EFX_INT_MODE_MSI] = "MSI", + [EFX_INT_MODE_LEGACY] = "legacy", +}; + +const unsigned int efx_reset_type_max = RESET_TYPE_MAX; +const char *efx_reset_type_names[] = { + [RESET_TYPE_INVISIBLE] = "INVISIBLE", + [RESET_TYPE_ALL] = "ALL", + [RESET_TYPE_WORLD] = "WORLD", + [RESET_TYPE_DISABLE] = "DISABLE", + [RESET_TYPE_TX_WATCHDOG] = "TX_WATCHDOG", + [RESET_TYPE_INT_ERROR] = "INT_ERROR", + [RESET_TYPE_RX_RECOVERY] = "RX_RECOVERY", + [RESET_TYPE_RX_DESC_FETCH] = "RX_DESC_FETCH", + [RESET_TYPE_TX_DESC_FETCH] = "TX_DESC_FETCH", + [RESET_TYPE_TX_SKIP] = "TX_SKIP", + [RESET_TYPE_MC_FAILURE] = "MC_FAILURE", +}; #define EFX_MAX_MTU (9 * 1024) @@ -145,7 +206,8 @@ #define EFX_ASSERT_RESET_SERIALISED(efx) \ do { \ - if (efx->state == STATE_RUNNING) \ + if ((efx->state == STATE_RUNNING) || \ + (efx->state == STATE_DISABLED)) \ ASSERT_RTNL(); \ } while (0) @@ -171,7 +233,7 @@ !channel->enabled)) return 0; - rx_packets = falcon_process_eventq(channel, rx_quota); + rx_packets = efx_nic_process_eventq(channel, rx_quota); if (rx_packets == 0) return 0; @@ -203,7 +265,7 @@ channel->work_pending = false; smp_wmb(); - falcon_eventq_read_ack(channel); + efx_nic_eventq_read_ack(channel); } /* NAPI poll handler @@ -228,26 +290,20 @@ if (channel->used_flags & EFX_USED_BY_RX && efx->irq_rx_adaptive && unlikely(++channel->irq_count == 1000)) { - unsigned old_irq_moderation = channel->irq_moderation; - if (unlikely(channel->irq_mod_score < irq_adapt_low_thresh)) { - channel->irq_moderation = - max_t(int, - channel->irq_moderation - - FALCON_IRQ_MOD_RESOLUTION, - FALCON_IRQ_MOD_RESOLUTION); + if (channel->irq_moderation > 1) { + channel->irq_moderation -= 1; + efx->type->push_irq_moderation(channel); + } } else if (unlikely(channel->irq_mod_score > irq_adapt_high_thresh)) { - channel->irq_moderation = - min(channel->irq_moderation + - FALCON_IRQ_MOD_RESOLUTION, - efx->irq_rx_moderation); + if (channel->irq_moderation < + efx->irq_rx_moderation) { + channel->irq_moderation += 1; + efx->type->push_irq_moderation(channel); + } } - - if (channel->irq_moderation != old_irq_moderation) - falcon_set_int_moderation(channel); - channel->irq_count = 0; channel->irq_mod_score = 0; } @@ -280,7 +336,7 @@ BUG_ON(!channel->enabled); /* Disable interrupts and wait for ISRs to complete */ - falcon_disable_interrupts(efx); + efx_nic_disable_interrupts(efx); if (efx->legacy_irq) synchronize_irq(efx->legacy_irq); if (channel->irq) @@ -290,14 +346,14 @@ napi_disable(&channel->napi_str); /* Poll the channel */ - efx_process_channel(channel, efx->type->evq_size); + efx_process_channel(channel, EFX_EVQ_SIZE); /* Ack the eventq. This may cause an interrupt to be generated * when they are reenabled */ efx_channel_processed(channel); napi_enable(&channel->napi_str); - falcon_enable_interrupts(efx); + efx_nic_enable_interrupts(efx); } /* Create event queue @@ -309,7 +365,7 @@ { EFX_LOG(channel->efx, "chan %d create event queue\n", channel->channel); - return falcon_probe_eventq(channel); + return efx_nic_probe_eventq(channel); } /* Prepare channel's event queue */ @@ -319,21 +375,21 @@ channel->eventq_read_ptr = 0; - falcon_init_eventq(channel); + efx_nic_init_eventq(channel); } static void efx_fini_eventq(struct efx_channel *channel) { EFX_LOG(channel->efx, "chan %d fini event queue\n", channel->channel); - falcon_fini_eventq(channel); + efx_nic_fini_eventq(channel); } static void efx_remove_eventq(struct efx_channel *channel) { EFX_LOG(channel->efx, "chan %d remove event queue\n", channel->channel); - falcon_remove_eventq(channel); + efx_nic_remove_eventq(channel); } /************************************************************************** @@ -499,7 +555,7 @@ EFX_ASSERT_RESET_SERIALISED(efx); BUG_ON(efx->port_enabled); - rc = falcon_flush_queues(efx); + rc = efx_nic_flush_queues(efx); if (rc) EFX_ERR(efx, "failed to flush queues\n"); else @@ -547,8 +603,10 @@ * netif_carrier_on/off) of the link status, and also maintains the * link status's stop on the port's TX queue. */ -static void efx_link_status_changed(struct efx_nic *efx) +void efx_link_status_changed(struct efx_nic *efx) { + struct efx_link_state *link_state = &efx->link_state; + /* SFC Bug 5356: A net_dev notifier is registered, so we must ensure * that no events are triggered between unregister_netdev() and the * driver unloading. A more general condition is that NETDEV_CHANGE @@ -561,19 +619,19 @@ return; } - if (efx->link_up != netif_carrier_ok(efx->net_dev)) { + if (link_state->up != netif_carrier_ok(efx->net_dev)) { efx->n_link_state_changes++; - if (efx->link_up) + if (link_state->up) netif_carrier_on(efx->net_dev); else netif_carrier_off(efx->net_dev); } /* Status message for kernel log */ - if (efx->link_up) { + if (link_state->up) { EFX_INFO(efx, "link up at %uMbps %s-duplex (MTU %d)%s\n", - efx->link_speed, efx->link_fd ? "full" : "half", + link_state->speed, link_state->fd ? "full" : "half", efx->net_dev->mtu, (efx->promiscuous ? " [PROMISC]" : "")); } else { @@ -582,16 +640,49 @@ } +void efx_link_set_advertising(struct efx_nic *efx, u32 advertising) +{ + efx->link_advertising = advertising; + if (advertising) { + if (advertising & ADVERTISED_Pause) + efx->wanted_fc |= (EFX_FC_TX | EFX_FC_RX); + else + efx->wanted_fc &= ~(EFX_FC_TX | EFX_FC_RX); + if (advertising & ADVERTISED_Asym_Pause) + efx->wanted_fc ^= EFX_FC_TX; + } +} + +void efx_link_set_wanted_fc(struct efx_nic *efx, enum efx_fc_type wanted_fc) +{ + efx->wanted_fc = wanted_fc; + if (efx->link_advertising) { + if (wanted_fc & EFX_FC_RX) + efx->link_advertising |= (ADVERTISED_Pause | + ADVERTISED_Asym_Pause); + else + efx->link_advertising &= ~(ADVERTISED_Pause | + ADVERTISED_Asym_Pause); + if (wanted_fc & EFX_FC_TX) + efx->link_advertising ^= ADVERTISED_Asym_Pause; + } +} + static void efx_fini_port(struct efx_nic *efx); -/* This call reinitialises the MAC to pick up new PHY settings. The - * caller must hold the mac_lock */ -void __efx_reconfigure_port(struct efx_nic *efx) +/* Push loopback/power/transmit disable settings to the PHY, and reconfigure + * the MAC appropriately. All other PHY configuration changes are pushed + * through phy_op->set_settings(), and pushed asynchronously to the MAC + * through efx_monitor(). + * + * Callers must hold the mac_lock + */ +int __efx_reconfigure_port(struct efx_nic *efx) { - WARN_ON(!mutex_is_locked(&efx->mac_lock)); + enum efx_phy_mode phy_mode; + int rc; - EFX_LOG(efx, "reconfiguring MAC from PHY settings on CPU %d\n", - raw_smp_processor_id()); + WARN_ON(!mutex_is_locked(&efx->mac_lock)); /* Serialise the promiscuous flag with efx_set_multicast_list. */ if (efx_dev_registered(efx)) { @@ -599,61 +690,48 @@ netif_addr_unlock_bh(efx->net_dev); } - falcon_deconfigure_mac_wrapper(efx); - - /* Reconfigure the PHY, disabling transmit in mac level loopback. */ + /* Disable PHY transmit in mac level loopbacks */ + phy_mode = efx->phy_mode; if (LOOPBACK_INTERNAL(efx)) efx->phy_mode |= PHY_MODE_TX_DISABLED; else efx->phy_mode &= ~PHY_MODE_TX_DISABLED; - efx->phy_op->reconfigure(efx); - - if (falcon_switch_mac(efx)) - goto fail; - efx->mac_op->reconfigure(efx); + rc = efx->type->reconfigure_port(efx); - /* Inform kernel of loss/gain of carrier */ - efx_link_status_changed(efx); - return; + if (rc) + efx->phy_mode = phy_mode; -fail: - EFX_ERR(efx, "failed to reconfigure MAC\n"); - efx->port_enabled = false; - efx_fini_port(efx); + return rc; } /* Reinitialise the MAC to pick up new PHY settings, even if the port is * disabled. */ -void efx_reconfigure_port(struct efx_nic *efx) +int efx_reconfigure_port(struct efx_nic *efx) { + int rc; + EFX_ASSERT_RESET_SERIALISED(efx); mutex_lock(&efx->mac_lock); - __efx_reconfigure_port(efx); + rc = __efx_reconfigure_port(efx); mutex_unlock(&efx->mac_lock); -} - -/* Asynchronous efx_reconfigure_port work item. To speed up efx_flush_all() - * we don't efx_reconfigure_port() if the port is disabled. Care is taken - * in efx_stop_all() and efx_start_port() to prevent PHY events being lost */ -static void efx_phy_work(struct work_struct *data) -{ - struct efx_nic *efx = container_of(data, struct efx_nic, phy_work); - mutex_lock(&efx->mac_lock); - if (efx->port_enabled) - __efx_reconfigure_port(efx); - mutex_unlock(&efx->mac_lock); + return rc; } +/* Asynchronous work item for changing MAC promiscuity and multicast + * hash. Avoid a drain/rx_ingress enable by reconfiguring the current + * MAC directly. */ static void efx_mac_work(struct work_struct *data) { struct efx_nic *efx = container_of(data, struct efx_nic, mac_work); mutex_lock(&efx->mac_lock); - if (efx->port_enabled) - efx->mac_op->irq(efx); + if (efx->port_enabled) { + efx->type->push_multicast_hash(efx); + efx->mac_op->reconfigure(efx); + } mutex_unlock(&efx->mac_lock); } @@ -663,14 +741,14 @@ EFX_LOG(efx, "create port\n"); - /* Connect up MAC/PHY operations table and read MAC address */ - rc = falcon_probe_port(efx); - if (rc) - goto err; - if (phy_flash_cfg) efx->phy_mode = PHY_MODE_SPECIAL; + /* Connect up MAC/PHY operations table */ + rc = efx->type->probe_port(efx); + if (rc) + goto err; + /* Sanity check MAC address */ if (is_valid_ether_addr(efx->mac_address)) { memcpy(efx->net_dev->dev_addr, efx->mac_address, ETH_ALEN); @@ -699,29 +777,33 @@ EFX_LOG(efx, "init port\n"); - rc = efx->phy_op->init(efx); - if (rc) - return rc; mutex_lock(&efx->mac_lock); - efx->phy_op->reconfigure(efx); - rc = falcon_switch_mac(efx); - mutex_unlock(&efx->mac_lock); + + rc = efx->phy_op->init(efx); if (rc) - goto fail; - efx->mac_op->reconfigure(efx); + goto fail1; efx->port_initialized = true; - efx_stats_enable(efx); + + /* Reconfigure the MAC before creating dma queues (required for + * Falcon/A1 where RX_INGR_EN/TX_DRAIN_EN isn't supported) */ + efx->mac_op->reconfigure(efx); + + /* Ensure the PHY advertises the correct flow control settings */ + rc = efx->phy_op->reconfigure(efx); + if (rc) + goto fail2; + + mutex_unlock(&efx->mac_lock); return 0; -fail: +fail2: efx->phy_op->fini(efx); +fail1: + mutex_unlock(&efx->mac_lock); return rc; } -/* Allow efx_reconfigure_port() to be scheduled, and close the window - * between efx_stop_port and efx_flush_all whereby a previously scheduled - * efx_phy_work()/efx_mac_work() may have been cancelled */ static void efx_start_port(struct efx_nic *efx) { EFX_LOG(efx, "start port\n"); @@ -729,15 +811,16 @@ mutex_lock(&efx->mac_lock); efx->port_enabled = true; - __efx_reconfigure_port(efx); - efx->mac_op->irq(efx); + + /* efx_mac_work() might have been scheduled after efx_stop_port(), + * and then cancelled by efx_flush_all() */ + efx->type->push_multicast_hash(efx); + efx->mac_op->reconfigure(efx); + mutex_unlock(&efx->mac_lock); } -/* Prevent efx_phy_work, efx_mac_work, and efx_monitor() from executing, - * and efx_set_multicast_list() from scheduling efx_phy_work. efx_phy_work - * and efx_mac_work may still be scheduled via NAPI processing until - * efx_flush_all() is called */ +/* Prevent efx_mac_work() and efx_monitor() from working */ static void efx_stop_port(struct efx_nic *efx) { EFX_LOG(efx, "stop port\n"); @@ -760,11 +843,10 @@ if (!efx->port_initialized) return; - efx_stats_disable(efx); efx->phy_op->fini(efx); efx->port_initialized = false; - efx->link_up = false; + efx->link_state.up = false; efx_link_status_changed(efx); } @@ -772,7 +854,7 @@ { EFX_LOG(efx, "destroying port\n"); - falcon_remove_port(efx); + efx->type->remove_port(efx); } /************************************************************************** @@ -824,9 +906,8 @@ goto fail2; } - efx->membase_phys = pci_resource_start(efx->pci_dev, - efx->type->mem_bar); - rc = pci_request_region(pci_dev, efx->type->mem_bar, "sfc"); + efx->membase_phys = pci_resource_start(efx->pci_dev, EFX_MEM_BAR); + rc = pci_request_region(pci_dev, EFX_MEM_BAR, "sfc"); if (rc) { EFX_ERR(efx, "request for memory BAR failed\n"); rc = -EIO; @@ -835,21 +916,20 @@ efx->membase = ioremap_nocache(efx->membase_phys, efx->type->mem_map_size); if (!efx->membase) { - EFX_ERR(efx, "could not map memory BAR %d at %llx+%x\n", - efx->type->mem_bar, + EFX_ERR(efx, "could not map memory BAR at %llx+%x\n", (unsigned long long)efx->membase_phys, efx->type->mem_map_size); rc = -ENOMEM; goto fail4; } - EFX_LOG(efx, "memory BAR %u at %llx+%x (virtual %p)\n", - efx->type->mem_bar, (unsigned long long)efx->membase_phys, + EFX_LOG(efx, "memory BAR at %llx+%x (virtual %p)\n", + (unsigned long long)efx->membase_phys, efx->type->mem_map_size, efx->membase); return 0; fail4: - pci_release_region(efx->pci_dev, efx->type->mem_bar); + pci_release_region(efx->pci_dev, EFX_MEM_BAR); fail3: efx->membase_phys = 0; fail2: @@ -868,7 +948,7 @@ } if (efx->membase_phys) { - pci_release_region(efx->pci_dev, efx->type->mem_bar); + pci_release_region(efx->pci_dev, EFX_MEM_BAR); efx->membase_phys = 0; } @@ -1011,7 +1091,7 @@ EFX_LOG(efx, "creating NIC\n"); /* Carry out hardware-type specific initialisation */ - rc = falcon_probe_nic(efx); + rc = efx->type->probe(efx); if (rc) return rc; @@ -1032,7 +1112,7 @@ EFX_LOG(efx, "destroying NIC\n"); efx_remove_interrupts(efx); - falcon_remove_nic(efx); + efx->type->remove(efx); } /************************************************************************** @@ -1112,12 +1192,31 @@ efx_for_each_channel(channel, efx) efx_start_channel(channel); - falcon_enable_interrupts(efx); + efx_nic_enable_interrupts(efx); - /* Start hardware monitor if we're in RUNNING */ - if (efx->state == STATE_RUNNING) + /* Switch to event based MCDI completions after enabling interrupts. + * If a reset has been scheduled, then we need to stay in polled mode. + * Rather than serialising efx_mcdi_mode_event() [which sleeps] and + * reset_pending [modified from an atomic context], we instead guarantee + * that efx_mcdi_mode_poll() isn't reverted erroneously */ + efx_mcdi_mode_event(efx); + if (efx->reset_pending != RESET_TYPE_NONE) + efx_mcdi_mode_poll(efx); + + /* Start the hardware monitor if there is one. Otherwise (we're link + * event driven), we have to poll the PHY because after an event queue + * flush, we could have a missed a link state change */ + if (efx->type->monitor != NULL) { queue_delayed_work(efx->workqueue, &efx->monitor_work, efx_monitor_interval); + } else { + mutex_lock(&efx->mac_lock); + if (efx->phy_op->poll(efx)) + efx_link_status_changed(efx); + mutex_unlock(&efx->mac_lock); + } + + efx->type->start_stats(efx); } /* Flush all delayed work. Should only be called when no more delayed work @@ -1136,8 +1235,6 @@ /* Stop scheduled port reconfigurations */ cancel_work_sync(&efx->mac_work); - cancel_work_sync(&efx->phy_work); - } /* Quiesce hardware and software without bringing the link down. @@ -1155,8 +1252,13 @@ if (!efx->port_enabled) return; + efx->type->stop_stats(efx); + + /* Switch to MCDI polling on Siena before disabling interrupts */ + efx_mcdi_mode_poll(efx); + /* Disable interrupts and wait for ISR to complete */ - falcon_disable_interrupts(efx); + efx_nic_disable_interrupts(efx); if (efx->legacy_irq) synchronize_irq(efx->legacy_irq); efx_for_each_channel(channel, efx) { @@ -1173,15 +1275,9 @@ * window to loose phy events */ efx_stop_port(efx); - /* Flush efx_phy_work, efx_mac_work, refill_workqueue, monitor_work */ + /* Flush efx_mac_work(), refill_workqueue, monitor_work */ efx_flush_all(efx); - /* Isolate the MAC from the TX and RX engines, so that queue - * flushes will complete in a timely fashion. */ - falcon_deconfigure_mac_wrapper(efx); - msleep(10); /* Let the Rx FIFO drain */ - falcon_drain_tx_fifo(efx); - /* Stop the kernel transmit interface late, so the watchdog * timer isn't ticking over the flush */ if (efx_dev_registered(efx)) { @@ -1201,41 +1297,39 @@ efx_remove_nic(efx); } -/* A convinience function to safely flush all the queues */ -void efx_flush_queues(struct efx_nic *efx) -{ - EFX_ASSERT_RESET_SERIALISED(efx); - - efx_stop_all(efx); - - efx_fini_channels(efx); - efx_init_channels(efx); - - efx_start_all(efx); -} - /************************************************************************** * * Interrupt moderation * **************************************************************************/ +static unsigned irq_mod_ticks(int usecs, int resolution) +{ + if (usecs <= 0) + return 0; /* cannot receive interrupts ahead of time :-) */ + if (usecs < resolution) + return 1; /* never round down to 0 */ + return usecs / resolution; +} + /* Set interrupt moderation parameters */ void efx_init_irq_moderation(struct efx_nic *efx, int tx_usecs, int rx_usecs, bool rx_adaptive) { struct efx_tx_queue *tx_queue; struct efx_rx_queue *rx_queue; + unsigned tx_ticks = irq_mod_ticks(tx_usecs, EFX_IRQ_MOD_RESOLUTION); + unsigned rx_ticks = irq_mod_ticks(rx_usecs, EFX_IRQ_MOD_RESOLUTION); EFX_ASSERT_RESET_SERIALISED(efx); efx_for_each_tx_queue(tx_queue, efx) - tx_queue->channel->irq_moderation = tx_usecs; + tx_queue->channel->irq_moderation = tx_ticks; efx->irq_rx_adaptive = rx_adaptive; - efx->irq_rx_moderation = rx_usecs; + efx->irq_rx_moderation = rx_ticks; efx_for_each_rx_queue(rx_queue, efx) - rx_queue->channel->irq_moderation = rx_usecs; + rx_queue->channel->irq_moderation = rx_ticks; } /************************************************************************** @@ -1250,10 +1344,10 @@ { struct efx_nic *efx = container_of(data, struct efx_nic, monitor_work.work); - int rc; EFX_TRACE(efx, "hardware monitor executing on CPU %d\n", raw_smp_processor_id()); + BUG_ON(efx->type->monitor == NULL); /* If the mac_lock is already held then it is likely a port * reconfiguration is already in place, which will likely do @@ -1262,15 +1356,7 @@ goto out_requeue; if (!efx->port_enabled) goto out_unlock; - rc = efx->board_info.monitor(efx); - if (rc) { - EFX_ERR(efx, "Board sensor %s; shutting down PHY\n", - (rc == -ERANGE) ? "reported fault" : "failed"); - efx->phy_mode |= PHY_MODE_LOW_POWER; - falcon_sim_phy_event(efx); - } - efx->phy_op->poll(efx); - efx->mac_op->poll(efx); + efx->type->monitor(efx); out_unlock: mutex_unlock(&efx->mac_lock); @@ -1374,6 +1460,12 @@ return -EIO; if (efx->phy_mode & PHY_MODE_SPECIAL) return -EBUSY; + if (efx_mcdi_poll_reboot(efx) && efx_reset(efx, RESET_TYPE_ALL)) + return -EIO; + + /* Notify the kernel of the link state polled during driver load, + * before the monitor starts running */ + efx_link_status_changed(efx); efx_start_all(efx); return 0; @@ -1400,20 +1492,6 @@ return 0; } -void efx_stats_disable(struct efx_nic *efx) -{ - spin_lock(&efx->stats_lock); - ++efx->stats_disable_count; - spin_unlock(&efx->stats_lock); -} - -void efx_stats_enable(struct efx_nic *efx) -{ - spin_lock(&efx->stats_lock); - --efx->stats_disable_count; - spin_unlock(&efx->stats_lock); -} - /* Context: process, dev_base_lock or RTNL held, non-blocking. */ static struct net_device_stats *efx_net_stats(struct net_device *net_dev) { @@ -1421,17 +1499,9 @@ struct efx_mac_stats *mac_stats = &efx->mac_stats; struct net_device_stats *stats = &net_dev->stats; - /* Update stats if possible, but do not wait if another thread - * is updating them or if MAC stats fetches are temporarily - * disabled; slightly stale stats are acceptable. - */ - if (!spin_trylock(&efx->stats_lock)) - return stats; - if (!efx->stats_disable_count) { - efx->mac_op->update_stats(efx); - falcon_update_nic_stats(efx); - } - spin_unlock(&efx->stats_lock); + spin_lock_bh(&efx->stats_lock); + efx->type->update_stats(efx); + spin_unlock_bh(&efx->stats_lock); stats->rx_packets = mac_stats->rx_packets; stats->tx_packets = mac_stats->tx_packets; @@ -1490,7 +1560,14 @@ EFX_LOG(efx, "changing MTU to %d\n", new_mtu); efx_fini_channels(efx); + + mutex_lock(&efx->mac_lock); + /* Reconfigure the MAC before enabling the dma queues so that + * the RX buffers don't overflow */ net_dev->mtu = new_mtu; + efx->mac_op->reconfigure(efx); + mutex_unlock(&efx->mac_lock); + efx_init_channels(efx); efx_start_all(efx); @@ -1514,7 +1591,9 @@ memcpy(net_dev->dev_addr, new_addr, net_dev->addr_len); /* Reconfigure the MAC */ - efx_reconfigure_port(efx); + mutex_lock(&efx->mac_lock); + efx->mac_op->reconfigure(efx); + mutex_unlock(&efx->mac_lock); return 0; } @@ -1525,16 +1604,14 @@ struct efx_nic *efx = netdev_priv(net_dev); struct dev_mc_list *mc_list = net_dev->mc_list; union efx_multicast_hash *mc_hash = &efx->multicast_hash; - bool promiscuous = !!(net_dev->flags & IFF_PROMISC); - bool changed = (efx->promiscuous != promiscuous); u32 crc; int bit; int i; - efx->promiscuous = promiscuous; + efx->promiscuous = !!(net_dev->flags & IFF_PROMISC); /* Build multicast hash table */ - if (promiscuous || (net_dev->flags & IFF_ALLMULTI)) { + if (efx->promiscuous || (net_dev->flags & IFF_ALLMULTI)) { memset(mc_hash, 0xff, sizeof(*mc_hash)); } else { memset(mc_hash, 0x00, sizeof(*mc_hash)); @@ -1544,17 +1621,17 @@ set_bit_le(bit, mc_hash->byte); mc_list = mc_list->next; } - } - if (!efx->port_enabled) - /* Delay pushing settings until efx_start_port() */ - return; - - if (changed) - queue_work(efx->workqueue, &efx->phy_work); + /* Broadcast packets go through the multicast hash filter. + * ether_crc_le() of the broadcast address is 0xbe2612ff + * so we always add bit 0xff to the mask. + */ + set_bit_le(0xff, mc_hash->byte); + } - /* Create and activate new global multicast hash table */ - falcon_set_multicast_hash(efx); + if (efx->port_enabled) + queue_work(efx->workqueue, &efx->mac_work); + /* Otherwise efx_start_port() will do this */ } static const struct net_device_ops efx_netdev_ops = { @@ -1683,21 +1760,18 @@ /* Tears down the entire software state and most of the hardware state * before reset. */ -void efx_reset_down(struct efx_nic *efx, enum reset_type method, - struct ethtool_cmd *ecmd) +void efx_reset_down(struct efx_nic *efx, enum reset_type method) { EFX_ASSERT_RESET_SERIALISED(efx); - efx_stats_disable(efx); efx_stop_all(efx); mutex_lock(&efx->mac_lock); mutex_lock(&efx->spi_lock); - efx->phy_op->get_settings(efx, ecmd); - efx_fini_channels(efx); if (efx->port_initialized && method != RESET_TYPE_INVISIBLE) efx->phy_op->fini(efx); + efx->type->fini(efx); } /* This function will always ensure that the locks acquired in @@ -1705,79 +1779,67 @@ * that we were unable to reinitialise the hardware, and the * driver should be disabled. If ok is false, then the rx and tx * engines are not restarted, pending a RESET_DISABLE. */ -int efx_reset_up(struct efx_nic *efx, enum reset_type method, - struct ethtool_cmd *ecmd, bool ok) +int efx_reset_up(struct efx_nic *efx, enum reset_type method, bool ok) { int rc; EFX_ASSERT_RESET_SERIALISED(efx); - rc = falcon_init_nic(efx); + rc = efx->type->init(efx); if (rc) { EFX_ERR(efx, "failed to initialise NIC\n"); - ok = false; + goto fail; } + if (!ok) + goto fail; + if (efx->port_initialized && method != RESET_TYPE_INVISIBLE) { - if (ok) { - rc = efx->phy_op->init(efx); - if (rc) - ok = false; - } - if (!ok) - efx->port_initialized = false; + rc = efx->phy_op->init(efx); + if (rc) + goto fail; + if (efx->phy_op->reconfigure(efx)) + EFX_ERR(efx, "could not restore PHY settings\n"); } - if (ok) { - efx_init_channels(efx); + efx->mac_op->reconfigure(efx); - if (efx->phy_op->set_settings(efx, ecmd)) - EFX_ERR(efx, "could not restore PHY settings\n"); - } + efx_init_channels(efx); + + mutex_unlock(&efx->spi_lock); + mutex_unlock(&efx->mac_lock); + + efx_start_all(efx); + + return 0; + +fail: + efx->port_initialized = false; mutex_unlock(&efx->spi_lock); mutex_unlock(&efx->mac_lock); - if (ok) { - efx_start_all(efx); - efx_stats_enable(efx); - } return rc; } -/* Reset the NIC as transparently as possible. Do not reset the PHY - * Note that the reset may fail, in which case the card will be left - * in a most-probably-unusable state. +/* Reset the NIC using the specified method. Note that the reset may + * fail, in which case the card will be left in an unusable state. * - * This function will sleep. You cannot reset from within an atomic - * state; use efx_schedule_reset() instead. - * - * Grabs the rtnl_lock. + * Caller must hold the rtnl_lock. */ -static int efx_reset(struct efx_nic *efx) +int efx_reset(struct efx_nic *efx, enum reset_type method) { - struct ethtool_cmd ecmd; - enum reset_type method = efx->reset_pending; - int rc = 0; - - /* Serialise with kernel interfaces */ - rtnl_lock(); - - /* If we're not RUNNING then don't reset. Leave the reset_pending - * flag set so that efx_pci_probe_main will be retried */ - if (efx->state != STATE_RUNNING) { - EFX_INFO(efx, "scheduled reset quenched. NIC not RUNNING\n"); - goto out_unlock; - } + int rc, rc2; + bool disabled; - EFX_INFO(efx, "resetting (%d)\n", method); + EFX_INFO(efx, "resetting (%s)\n", RESET_TYPE(method)); - efx_reset_down(efx, method, &ecmd); + efx_reset_down(efx, method); - rc = falcon_reset_hw(efx, method); + rc = efx->type->reset(efx, method); if (rc) { EFX_ERR(efx, "failed to reset hardware\n"); - goto out_disable; + goto out; } /* Allow resets to be rescheduled. */ @@ -1789,25 +1851,23 @@ * can respond to requests. */ pci_set_master(efx->pci_dev); +out: /* Leave device stopped if necessary */ - if (method == RESET_TYPE_DISABLE) { - efx_reset_up(efx, method, &ecmd, false); - rc = -EIO; - } else { - rc = efx_reset_up(efx, method, &ecmd, true); + disabled = rc || method == RESET_TYPE_DISABLE; + rc2 = efx_reset_up(efx, method, !disabled); + if (rc2) { + disabled = true; + if (!rc) + rc = rc2; } -out_disable: - if (rc) { + if (disabled) { + dev_close(efx->net_dev); EFX_ERR(efx, "has been disabled\n"); efx->state = STATE_DISABLED; - dev_close(efx->net_dev); } else { EFX_LOG(efx, "reset complete\n"); } - -out_unlock: - rtnl_unlock(); return rc; } @@ -1816,9 +1876,18 @@ */ static void efx_reset_work(struct work_struct *data) { - struct efx_nic *nic = container_of(data, struct efx_nic, reset_work); + struct efx_nic *efx = container_of(data, struct efx_nic, reset_work); + + /* If we're not RUNNING then don't reset. Leave the reset_pending + * flag set so that efx_pci_probe_main will be retried */ + if (efx->state != STATE_RUNNING) { + EFX_INFO(efx, "scheduled reset quenched. NIC not RUNNING\n"); + return; + } - efx_reset(nic); + rtnl_lock(); + (void)efx_reset(efx, efx->reset_pending); + rtnl_unlock(); } void efx_schedule_reset(struct efx_nic *efx, enum reset_type type) @@ -1843,18 +1912,24 @@ case RESET_TYPE_TX_SKIP: method = RESET_TYPE_INVISIBLE; break; + case RESET_TYPE_MC_FAILURE: default: method = RESET_TYPE_ALL; break; } if (method != type) - EFX_LOG(efx, "scheduling reset (%d:%d)\n", type, method); + EFX_LOG(efx, "scheduling %s reset for %s\n", + RESET_TYPE(method), RESET_TYPE(type)); else - EFX_LOG(efx, "scheduling reset (%d)\n", method); + EFX_LOG(efx, "scheduling %s reset\n", RESET_TYPE(method)); efx->reset_pending = method; + /* efx_process_channel() will no longer read events once a + * reset is scheduled. So switch back to poll'd MCDI completions. */ + efx_mcdi_mode_poll(efx); + queue_work(reset_workqueue, &efx->reset_work); } @@ -1867,15 +1942,19 @@ /* PCI device ID table */ static struct pci_device_id efx_pci_table[] __devinitdata = { {PCI_DEVICE(EFX_VENDID_SFC, FALCON_A_P_DEVID), - .driver_data = (unsigned long) &falcon_a_nic_type}, + .driver_data = (unsigned long) &falcon_a1_nic_type}, {PCI_DEVICE(EFX_VENDID_SFC, FALCON_B_P_DEVID), - .driver_data = (unsigned long) &falcon_b_nic_type}, + .driver_data = (unsigned long) &falcon_b0_nic_type}, + {PCI_DEVICE(EFX_VENDID_SFC, BETHPAGE_A_P_DEVID), + .driver_data = (unsigned long) &siena_a0_nic_type}, + {PCI_DEVICE(EFX_VENDID_SFC, SIENA_A_P_DEVID), + .driver_data = (unsigned long) &siena_a0_nic_type}, {0} /* end of list */ }; /************************************************************************** * - * Dummy PHY/MAC/Board operations + * Dummy PHY/MAC operations * * Can be used for some unimplemented operations * Needed so all function pointers are valid and do not have to be tested @@ -1887,29 +1966,19 @@ return 0; } void efx_port_dummy_op_void(struct efx_nic *efx) {} -void efx_port_dummy_op_blink(struct efx_nic *efx, bool blink) {} - -static struct efx_mac_operations efx_dummy_mac_operations = { - .reconfigure = efx_port_dummy_op_void, - .poll = efx_port_dummy_op_void, - .irq = efx_port_dummy_op_void, -}; +void efx_port_dummy_op_set_id_led(struct efx_nic *efx, enum efx_led_mode mode) +{ +} +bool efx_port_dummy_op_poll(struct efx_nic *efx) +{ + return false; +} static struct efx_phy_operations efx_dummy_phy_operations = { .init = efx_port_dummy_op_int, - .reconfigure = efx_port_dummy_op_void, - .poll = efx_port_dummy_op_void, + .reconfigure = efx_port_dummy_op_int, + .poll = efx_port_dummy_op_poll, .fini = efx_port_dummy_op_void, - .clear_interrupt = efx_port_dummy_op_void, -}; - -static struct efx_board efx_dummy_board_info = { - .init = efx_port_dummy_op_int, - .init_leds = efx_port_dummy_op_void, - .set_id_led = efx_port_dummy_op_blink, - .monitor = efx_port_dummy_op_int, - .blink = efx_port_dummy_op_blink, - .fini = efx_port_dummy_op_void, }; /************************************************************************** @@ -1932,26 +2001,26 @@ /* Initialise common structures */ memset(efx, 0, sizeof(*efx)); spin_lock_init(&efx->biu_lock); - spin_lock_init(&efx->phy_lock); + mutex_init(&efx->mdio_lock); mutex_init(&efx->spi_lock); +#ifdef CONFIG_SFC_MTD + INIT_LIST_HEAD(&efx->mtd_list); +#endif INIT_WORK(&efx->reset_work, efx_reset_work); INIT_DELAYED_WORK(&efx->monitor_work, efx_monitor); efx->pci_dev = pci_dev; efx->state = STATE_INIT; efx->reset_pending = RESET_TYPE_NONE; strlcpy(efx->name, pci_name(pci_dev), sizeof(efx->name)); - efx->board_info = efx_dummy_board_info; efx->net_dev = net_dev; efx->rx_checksum_enabled = true; spin_lock_init(&efx->netif_stop_lock); spin_lock_init(&efx->stats_lock); - efx->stats_disable_count = 1; mutex_init(&efx->mac_lock); - efx->mac_op = &efx_dummy_mac_operations; + efx->mac_op = type->default_mac_ops; efx->phy_op = &efx_dummy_phy_operations; efx->mdio.dev = net_dev; - INIT_WORK(&efx->phy_work, efx_phy_work); INIT_WORK(&efx->mac_work, efx_mac_work); atomic_set(&efx->netif_stop_count, 1); @@ -1981,17 +2050,9 @@ efx->type = type; - /* Sanity-check NIC type */ - EFX_BUG_ON_PARANOID(efx->type->txd_ring_mask & - (efx->type->txd_ring_mask + 1)); - EFX_BUG_ON_PARANOID(efx->type->rxd_ring_mask & - (efx->type->rxd_ring_mask + 1)); - EFX_BUG_ON_PARANOID(efx->type->evq_size & - (efx->type->evq_size - 1)); /* As close as we can get to guaranteeing that we don't overflow */ - EFX_BUG_ON_PARANOID(efx->type->evq_size < - (efx->type->txd_ring_mask + 1 + - efx->type->rxd_ring_mask + 1)); + BUILD_BUG_ON(EFX_EVQ_SIZE < EFX_TXQ_SIZE + EFX_RXQ_SIZE); + EFX_BUG_ON_PARANOID(efx->type->phys_addr_channels > EFX_MAX_CHANNELS); /* Higher numbered interrupt modes are less capable! */ @@ -2027,19 +2088,10 @@ */ static void efx_pci_remove_main(struct efx_nic *efx) { - EFX_ASSERT_RESET_SERIALISED(efx); - - /* Skip everything if we never obtained a valid membase */ - if (!efx->membase) - return; - + efx_nic_fini_interrupt(efx); efx_fini_channels(efx); efx_fini_port(efx); - - /* Shutdown the board, then the NIC and board state */ - efx->board_info.fini(efx); - falcon_fini_interrupt(efx); - + efx->type->fini(efx); efx_fini_napi(efx); efx_remove_all(efx); } @@ -2063,9 +2115,6 @@ /* Allow any queued efx_resets() to complete */ rtnl_unlock(); - if (efx->membase == NULL) - goto out; - efx_unregister_netdev(efx); efx_mtd_remove(efx); @@ -2078,7 +2127,6 @@ efx_pci_remove_main(efx); -out: efx_fini_io(efx); EFX_LOG(efx, "shutdown successful\n"); @@ -2103,39 +2151,31 @@ if (rc) goto fail2; - /* Initialise the board */ - rc = efx->board_info.init(efx); - if (rc) { - EFX_ERR(efx, "failed to initialise board\n"); - goto fail3; - } - - rc = falcon_init_nic(efx); + rc = efx->type->init(efx); if (rc) { EFX_ERR(efx, "failed to initialise NIC\n"); - goto fail4; + goto fail3; } rc = efx_init_port(efx); if (rc) { EFX_ERR(efx, "failed to initialise port\n"); - goto fail5; + goto fail4; } efx_init_channels(efx); - rc = falcon_init_interrupt(efx); + rc = efx_nic_init_interrupt(efx); if (rc) - goto fail6; + goto fail5; return 0; - fail6: + fail5: efx_fini_channels(efx); efx_fini_port(efx); - fail5: fail4: - efx->board_info.fini(efx); + efx->type->fini(efx); fail3: efx_fini_napi(efx); fail2: @@ -2165,9 +2205,11 @@ net_dev = alloc_etherdev(sizeof(*efx)); if (!net_dev) return -ENOMEM; - net_dev->features |= (NETIF_F_IP_CSUM | NETIF_F_SG | + net_dev->features |= (type->offload_features | NETIF_F_SG | NETIF_F_HIGHDMA | NETIF_F_TSO | NETIF_F_GRO); + if (type->offload_features & NETIF_F_V6_CSUM) + net_dev->features |= NETIF_F_TSO6; /* Mask for features that also apply to VLAN devices */ net_dev->vlan_features |= (NETIF_F_ALL_CSUM | NETIF_F_SG | NETIF_F_HIGHDMA | NETIF_F_TSO); @@ -2219,18 +2261,19 @@ goto fail4; } - /* Switch to the running state before we expose the device to - * the OS. This is to ensure that the initial gathering of - * MAC stats succeeds. */ + /* Switch to the running state before we expose the device to the OS, + * so that dev_open()|efx_start_all() will actually start the device */ efx->state = STATE_RUNNING; - efx_mtd_probe(efx); /* allowed to fail */ - rc = efx_register_netdev(efx); if (rc) goto fail5; EFX_LOG(efx, "initialisation successful\n"); + + rtnl_lock(); + efx_mtd_probe(efx); /* allowed to fail */ + rtnl_unlock(); return 0; fail5: @@ -2241,16 +2284,113 @@ fail2: efx_fini_struct(efx); fail1: + WARN_ON(rc > 0); EFX_LOG(efx, "initialisation failed. rc=%d\n", rc); free_netdev(net_dev); return rc; } +static int efx_pm_freeze(struct device *dev) +{ + struct efx_nic *efx = pci_get_drvdata(to_pci_dev(dev)); + + efx->state = STATE_FINI; + + netif_device_detach(efx->net_dev); + + efx_stop_all(efx); + efx_fini_channels(efx); + + return 0; +} + +static int efx_pm_thaw(struct device *dev) +{ + struct efx_nic *efx = pci_get_drvdata(to_pci_dev(dev)); + + efx->state = STATE_INIT; + + efx_init_channels(efx); + + mutex_lock(&efx->mac_lock); + efx->phy_op->reconfigure(efx); + mutex_unlock(&efx->mac_lock); + + efx_start_all(efx); + + netif_device_attach(efx->net_dev); + + efx->state = STATE_RUNNING; + + efx->type->resume_wol(efx); + + return 0; +} + +static int efx_pm_poweroff(struct device *dev) +{ + struct pci_dev *pci_dev = to_pci_dev(dev); + struct efx_nic *efx = pci_get_drvdata(pci_dev); + + efx->type->fini(efx); + + efx->reset_pending = RESET_TYPE_NONE; + + pci_save_state(pci_dev); + return pci_set_power_state(pci_dev, PCI_D3hot); +} + +/* Used for both resume and restore */ +static int efx_pm_resume(struct device *dev) +{ + struct pci_dev *pci_dev = to_pci_dev(dev); + struct efx_nic *efx = pci_get_drvdata(pci_dev); + int rc; + + rc = pci_set_power_state(pci_dev, PCI_D0); + if (rc) + return rc; + pci_restore_state(pci_dev); + rc = pci_enable_device(pci_dev); + if (rc) + return rc; + pci_set_master(efx->pci_dev); + rc = efx->type->reset(efx, RESET_TYPE_ALL); + if (rc) + return rc; + rc = efx->type->init(efx); + if (rc) + return rc; + efx_pm_thaw(dev); + return 0; +} + +static int efx_pm_suspend(struct device *dev) +{ + int rc; + + efx_pm_freeze(dev); + rc = efx_pm_poweroff(dev); + if (rc) + efx_pm_resume(dev); + return rc; +} + +static struct dev_pm_ops efx_pm_ops = { + .suspend = efx_pm_suspend, + .resume = efx_pm_resume, + .freeze = efx_pm_freeze, + .thaw = efx_pm_thaw, + .poweroff = efx_pm_poweroff, + .restore = efx_pm_resume, +}; + static struct pci_driver efx_pci_driver = { .name = EFX_DRIVER_NAME, .id_table = efx_pci_table, .probe = efx_pci_probe, .remove = efx_pci_remove, + .driver.pm = &efx_pm_ops, }; /************************************************************************** @@ -2314,8 +2454,8 @@ module_init(efx_init_module); module_exit(efx_exit_module); -MODULE_AUTHOR("Michael Brown and " - "Solarflare Communications"); +MODULE_AUTHOR("Solarflare Communications and " + "Michael Brown "); MODULE_DESCRIPTION("Solarflare Communications network driver"); MODULE_LICENSE("GPL"); MODULE_DEVICE_TABLE(pci, efx_pci_table); --- linux-2.6.32.orig/drivers/net/sfc/efx.h +++ linux-2.6.32/drivers/net/sfc/efx.h @@ -1,7 +1,7 @@ /**************************************************************************** * Driver for Solarflare Solarstorm network controllers and boards * Copyright 2005-2006 Fen Systems Ltd. - * Copyright 2006-2008 Solarflare Communications Inc. + * Copyright 2006-2009 Solarflare Communications 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 @@ -18,35 +18,64 @@ #define FALCON_A_P_DEVID 0x0703 #define FALCON_A_S_DEVID 0x6703 #define FALCON_B_P_DEVID 0x0710 +#define BETHPAGE_A_P_DEVID 0x0803 +#define SIENA_A_P_DEVID 0x0813 + +/* Solarstorm controllers use BAR 0 for I/O space and BAR 2(&3) for memory */ +#define EFX_MEM_BAR 2 /* TX */ -extern netdev_tx_t efx_xmit(struct efx_nic *efx, - struct efx_tx_queue *tx_queue, - struct sk_buff *skb); +extern int efx_probe_tx_queue(struct efx_tx_queue *tx_queue); +extern void efx_remove_tx_queue(struct efx_tx_queue *tx_queue); +extern void efx_init_tx_queue(struct efx_tx_queue *tx_queue); +extern void efx_fini_tx_queue(struct efx_tx_queue *tx_queue); +extern void efx_release_tx_buffers(struct efx_tx_queue *tx_queue); +extern netdev_tx_t +efx_hard_start_xmit(struct sk_buff *skb, struct net_device *net_dev); +extern netdev_tx_t +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 void efx_stop_queue(struct efx_nic *efx); extern void efx_wake_queue(struct efx_nic *efx); +#define EFX_TXQ_SIZE 1024 +#define EFX_TXQ_MASK (EFX_TXQ_SIZE - 1) /* RX */ -extern void efx_xmit_done(struct efx_tx_queue *tx_queue, unsigned int index); +extern int efx_probe_rx_queue(struct efx_rx_queue *rx_queue); +extern void efx_remove_rx_queue(struct efx_rx_queue *rx_queue); +extern void efx_init_rx_queue(struct efx_rx_queue *rx_queue); +extern void efx_fini_rx_queue(struct efx_rx_queue *rx_queue); +extern void efx_rx_strategy(struct efx_channel *channel); +extern void efx_fast_push_rx_descriptors(struct efx_rx_queue *rx_queue); +extern void efx_rx_work(struct work_struct *data); +extern void __efx_rx_packet(struct efx_channel *channel, + struct efx_rx_buffer *rx_buf, bool checksummed); extern void efx_rx_packet(struct efx_rx_queue *rx_queue, unsigned int index, unsigned int len, bool checksummed, bool discard); extern void efx_schedule_slow_fill(struct efx_rx_queue *rx_queue, int delay); +#define EFX_RXQ_SIZE 1024 +#define EFX_RXQ_MASK (EFX_RXQ_SIZE - 1) /* Channels */ extern void efx_process_channel_now(struct efx_channel *channel); -extern void efx_flush_queues(struct efx_nic *efx); +#define EFX_EVQ_SIZE 4096 +#define EFX_EVQ_MASK (EFX_EVQ_SIZE - 1) /* Ports */ -extern void efx_stats_disable(struct efx_nic *efx); -extern void efx_stats_enable(struct efx_nic *efx); -extern void efx_reconfigure_port(struct efx_nic *efx); -extern void __efx_reconfigure_port(struct efx_nic *efx); +extern int efx_reconfigure_port(struct efx_nic *efx); +extern int __efx_reconfigure_port(struct efx_nic *efx); + +/* Ethtool support */ +extern int efx_ethtool_get_settings(struct net_device *net_dev, + struct ethtool_cmd *ecmd); +extern int efx_ethtool_set_settings(struct net_device *net_dev, + struct ethtool_cmd *ecmd); +extern const struct ethtool_ops efx_ethtool_ops; /* Reset handling */ -extern void efx_reset_down(struct efx_nic *efx, enum reset_type method, - struct ethtool_cmd *ecmd); -extern int efx_reset_up(struct efx_nic *efx, enum reset_type method, - struct ethtool_cmd *ecmd, bool ok); +extern int efx_reset(struct efx_nic *efx, enum reset_type method); +extern void efx_reset_down(struct efx_nic *efx, enum reset_type method); +extern int efx_reset_up(struct efx_nic *efx, enum reset_type method, bool ok); /* Global */ extern void efx_schedule_reset(struct efx_nic *efx, enum reset_type type); @@ -60,7 +89,9 @@ /* Dummy PHY ops for PHY drivers */ extern int efx_port_dummy_op_int(struct efx_nic *efx); extern void efx_port_dummy_op_void(struct efx_nic *efx); -extern void efx_port_dummy_op_blink(struct efx_nic *efx, bool blink); +extern void +efx_port_dummy_op_set_id_led(struct efx_nic *efx, enum efx_led_mode mode); +extern bool efx_port_dummy_op_poll(struct efx_nic *efx); /* MTD */ #ifdef CONFIG_SFC_MTD @@ -84,4 +115,8 @@ napi_schedule(&channel->napi_str); } +extern void efx_link_status_changed(struct efx_nic *efx); +extern void efx_link_set_advertising(struct efx_nic *efx, u32); +extern void efx_link_set_wanted_fc(struct efx_nic *efx, enum efx_fc_type); + #endif /* EFX_EFX_H */ --- linux-2.6.32.orig/drivers/net/sfc/enum.h +++ linux-2.6.32/drivers/net/sfc/enum.h @@ -1,6 +1,6 @@ /**************************************************************************** * Driver for Solarflare Solarstorm network controllers and boards - * Copyright 2007-2008 Solarflare Communications Inc. + * Copyright 2007-2009 Solarflare Communications 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 @@ -13,44 +13,101 @@ /** * enum efx_loopback_mode - loopback modes * @LOOPBACK_NONE: no loopback - * @LOOPBACK_GMAC: loopback within GMAC at unspecified level - * @LOOPBACK_XGMII: loopback within XMAC at XGMII level - * @LOOPBACK_XGXS: loopback within XMAC at XGXS level - * @LOOPBACK_XAUI: loopback within XMAC at XAUI level + * @LOOPBACK_DATA: data path loopback + * @LOOPBACK_GMAC: loopback within GMAC + * @LOOPBACK_XGMII: loopback after XMAC + * @LOOPBACK_XGXS: loopback within BPX after XGXS + * @LOOPBACK_XAUI: loopback within BPX before XAUI serdes + * @LOOPBACK_GMII: loopback within BPX after GMAC + * @LOOPBACK_SGMII: loopback within BPX within SGMII + * @LOOPBACK_XGBR: loopback within BPX within XGBR + * @LOOPBACK_XFI: loopback within BPX before XFI serdes + * @LOOPBACK_XAUI_FAR: loopback within BPX after XAUI serdes + * @LOOPBACK_GMII_FAR: loopback within BPX before SGMII + * @LOOPBACK_SGMII_FAR: loopback within BPX after SGMII + * @LOOPBACK_XFI_FAR: loopback after XFI serdes * @LOOPBACK_GPHY: loopback within 1G PHY at unspecified level * @LOOPBACK_PHYXS: loopback within 10G PHY at PHYXS level * @LOOPBACK_PCS: loopback within 10G PHY at PCS level * @LOOPBACK_PMAPMD: loopback within 10G PHY at PMAPMD level - * @LOOPBACK_NETWORK: reflecting loopback (even further than furthest!) + * @LOOPBACK_XPORT: cross port loopback + * @LOOPBACK_XGMII_WS: wireside loopback excluding XMAC + * @LOOPBACK_XAUI_WS: wireside loopback within BPX within XAUI serdes + * @LOOPBACK_XAUI_WS_FAR: wireside loopback within BPX including XAUI serdes + * @LOOPBACK_XAUI_WS_NEAR: wireside loopback within BPX excluding XAUI serdes + * @LOOPBACK_GMII_WS: wireside loopback excluding GMAC + * @LOOPBACK_XFI_WS: wireside loopback excluding XFI serdes + * @LOOPBACK_XFI_WS_FAR: wireside loopback including XFI serdes + * @LOOPBACK_PHYXS_WS: wireside loopback within 10G PHY at PHYXS level */ -/* Please keep in order and up-to-date w.r.t the following two #defines */ +/* Please keep up-to-date w.r.t the following two #defines */ enum efx_loopback_mode { LOOPBACK_NONE = 0, - LOOPBACK_GMAC = 1, - LOOPBACK_XGMII = 2, - LOOPBACK_XGXS = 3, - LOOPBACK_XAUI = 4, - LOOPBACK_GPHY = 5, - LOOPBACK_PHYXS = 6, - LOOPBACK_PCS = 7, - LOOPBACK_PMAPMD = 8, - LOOPBACK_NETWORK = 9, + LOOPBACK_DATA = 1, + LOOPBACK_GMAC = 2, + LOOPBACK_XGMII = 3, + LOOPBACK_XGXS = 4, + LOOPBACK_XAUI = 5, + LOOPBACK_GMII = 6, + LOOPBACK_SGMII = 7, + LOOPBACK_XGBR = 8, + LOOPBACK_XFI = 9, + LOOPBACK_XAUI_FAR = 10, + LOOPBACK_GMII_FAR = 11, + LOOPBACK_SGMII_FAR = 12, + LOOPBACK_XFI_FAR = 13, + LOOPBACK_GPHY = 14, + LOOPBACK_PHYXS = 15, + LOOPBACK_PCS = 16, + LOOPBACK_PMAPMD = 17, + LOOPBACK_XPORT = 18, + LOOPBACK_XGMII_WS = 19, + LOOPBACK_XAUI_WS = 20, + LOOPBACK_XAUI_WS_FAR = 21, + LOOPBACK_XAUI_WS_NEAR = 22, + LOOPBACK_GMII_WS = 23, + LOOPBACK_XFI_WS = 24, + LOOPBACK_XFI_WS_FAR = 25, + LOOPBACK_PHYXS_WS = 26, LOOPBACK_MAX }; - #define LOOPBACK_TEST_MAX LOOPBACK_PMAPMD -extern const char *efx_loopback_mode_names[]; -#define LOOPBACK_MODE_NAME(mode) \ - STRING_TABLE_LOOKUP(mode, efx_loopback_mode) -#define LOOPBACK_MODE(efx) \ - LOOPBACK_MODE_NAME(efx->loopback_mode) - /* These loopbacks occur within the controller */ -#define LOOPBACKS_INTERNAL ((1 << LOOPBACK_GMAC) | \ - (1 << LOOPBACK_XGMII)| \ - (1 << LOOPBACK_XGXS) | \ - (1 << LOOPBACK_XAUI)) +#define LOOPBACKS_INTERNAL ((1 << LOOPBACK_DATA) | \ + (1 << LOOPBACK_GMAC) | \ + (1 << LOOPBACK_XGMII)| \ + (1 << LOOPBACK_XGXS) | \ + (1 << LOOPBACK_XAUI) | \ + (1 << LOOPBACK_GMII) | \ + (1 << LOOPBACK_SGMII) | \ + (1 << LOOPBACK_SGMII) | \ + (1 << LOOPBACK_XGBR) | \ + (1 << LOOPBACK_XFI) | \ + (1 << LOOPBACK_XAUI_FAR) | \ + (1 << LOOPBACK_GMII_FAR) | \ + (1 << LOOPBACK_SGMII_FAR) | \ + (1 << LOOPBACK_XFI_FAR) | \ + (1 << LOOPBACK_XGMII_WS) | \ + (1 << LOOPBACK_XAUI_WS) | \ + (1 << LOOPBACK_XAUI_WS_FAR) | \ + (1 << LOOPBACK_XAUI_WS_NEAR) | \ + (1 << LOOPBACK_GMII_WS) | \ + (1 << LOOPBACK_XFI_WS) | \ + (1 << LOOPBACK_XFI_WS_FAR)) + +#define LOOPBACKS_WS ((1 << LOOPBACK_XGMII_WS) | \ + (1 << LOOPBACK_XAUI_WS) | \ + (1 << LOOPBACK_XAUI_WS_FAR) | \ + (1 << LOOPBACK_XAUI_WS_NEAR) | \ + (1 << LOOPBACK_GMII_WS) | \ + (1 << LOOPBACK_XFI_WS) | \ + (1 << LOOPBACK_XFI_WS_FAR) | \ + (1 << LOOPBACK_PHYXS_WS)) + +#define LOOPBACKS_EXTERNAL(_efx) \ + ((_efx)->loopback_modes & ~LOOPBACKS_INTERNAL & \ + ~(1 << LOOPBACK_NONE)) #define LOOPBACK_MASK(_efx) \ (1 << (_efx)->loopback_mode) @@ -58,6 +115,9 @@ #define LOOPBACK_INTERNAL(_efx) \ (!!(LOOPBACKS_INTERNAL & LOOPBACK_MASK(_efx))) +#define LOOPBACK_EXTERNAL(_efx) \ + (!!(LOOPBACK_MASK(_efx) & LOOPBACKS_EXTERNAL(_efx))) + #define LOOPBACK_CHANGED(_from, _to, _mask) \ (!!((LOOPBACK_MASK(_from) ^ LOOPBACK_MASK(_to)) & (_mask))) @@ -84,6 +144,7 @@ * @RESET_TYPE_RX_DESC_FETCH: pcie error during rx descriptor fetch * @RESET_TYPE_TX_DESC_FETCH: pcie error during tx descriptor fetch * @RESET_TYPE_TX_SKIP: hardware completed empty tx descriptors + * @RESET_TYPE_MC_FAILURE: MC reboot/assertion */ enum reset_type { RESET_TYPE_NONE = -1, @@ -98,6 +159,7 @@ RESET_TYPE_RX_DESC_FETCH, RESET_TYPE_TX_DESC_FETCH, RESET_TYPE_TX_SKIP, + RESET_TYPE_MC_FAILURE, RESET_TYPE_MAX, }; --- linux-2.6.32.orig/drivers/net/sfc/ethtool.c +++ linux-2.6.32/drivers/net/sfc/ethtool.c @@ -1,7 +1,7 @@ /**************************************************************************** * Driver for Solarflare Solarstorm network controllers and boards * Copyright 2005-2006 Fen Systems Ltd. - * Copyright 2006-2008 Solarflare Communications Inc. + * Copyright 2006-2009 Solarflare Communications 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 @@ -10,30 +10,15 @@ #include #include -#include #include #include "net_driver.h" #include "workarounds.h" #include "selftest.h" #include "efx.h" -#include "ethtool.h" -#include "falcon.h" +#include "nic.h" #include "spi.h" #include "mdio_10g.h" -const char *efx_loopback_mode_names[] = { - [LOOPBACK_NONE] = "NONE", - [LOOPBACK_GMAC] = "GMAC", - [LOOPBACK_XGMII] = "XGMII", - [LOOPBACK_XGXS] = "XGXS", - [LOOPBACK_XAUI] = "XAUI", - [LOOPBACK_GPHY] = "GPHY", - [LOOPBACK_PHYXS] = "PHYXS", - [LOOPBACK_PCS] = "PCS", - [LOOPBACK_PMAPMD] = "PMA/PMD", - [LOOPBACK_NETWORK] = "NETWORK", -}; - struct ethtool_string { char name[ETH_GSTRING_LEN]; }; @@ -167,6 +152,7 @@ EFX_ETHTOOL_UINT_CHANNEL_STAT(rx_tobe_disc), EFX_ETHTOOL_UINT_CHANNEL_STAT(rx_ip_hdr_chksum_err), EFX_ETHTOOL_UINT_CHANNEL_STAT(rx_tcp_udp_chksum_err), + EFX_ETHTOOL_UINT_CHANNEL_STAT(rx_mcast_mismatch), EFX_ETHTOOL_UINT_CHANNEL_STAT(rx_frm_trunc), }; @@ -187,13 +173,15 @@ { struct efx_nic *efx = netdev_priv(net_dev); - efx->board_info.blink(efx, 1); - set_current_state(TASK_INTERRUPTIBLE); - if (count) - schedule_timeout(count * HZ); - else - schedule(); - efx->board_info.blink(efx, 0); + do { + efx->type->set_id_led(efx, EFX_LED_ON); + schedule_timeout_interruptible(HZ / 2); + + efx->type->set_id_led(efx, EFX_LED_OFF); + schedule_timeout_interruptible(HZ / 2); + } while (!signal_pending(current) && --count != 0); + + efx->type->set_id_led(efx, EFX_LED_DEFAULT); return 0; } @@ -202,6 +190,7 @@ struct ethtool_cmd *ecmd) { struct efx_nic *efx = netdev_priv(net_dev); + struct efx_link_state *link_state = &efx->link_state; mutex_lock(&efx->mac_lock); efx->phy_op->get_settings(efx, ecmd); @@ -209,6 +198,13 @@ /* Falcon GMAC does not support 1000Mbps HD */ ecmd->supported &= ~SUPPORTED_1000baseT_Half; + /* Both MACs support pause frames (bidirectional and respond-only) */ + ecmd->supported |= SUPPORTED_Pause | SUPPORTED_Asym_Pause; + + if (LOOPBACK_INTERNAL(efx)) { + ecmd->speed = link_state->speed; + ecmd->duplex = link_state->fd ? DUPLEX_FULL : DUPLEX_HALF; + } return 0; } @@ -230,9 +226,6 @@ mutex_lock(&efx->mac_lock); rc = efx->phy_op->set_settings(efx, ecmd); mutex_unlock(&efx->mac_lock); - if (!rc) - efx_reconfigure_port(efx); - return rc; } @@ -243,6 +236,9 @@ strlcpy(info->driver, EFX_DRIVER_NAME, sizeof(info->driver)); strlcpy(info->version, EFX_DRIVER_VERSION, sizeof(info->version)); + if (efx_nic_rev(efx) >= EFX_REV_SIENA_A0) + siena_print_fwver(efx, info->fw_version, + sizeof(info->fw_version)); strlcpy(info->bus_info, pci_name(efx->pci_dev), sizeof(info->bus_info)); } @@ -289,7 +285,7 @@ #define EFX_TX_QUEUE_NAME(_tx_queue) "txq%d", _tx_queue->queue #define EFX_RX_QUEUE_NAME(_rx_queue) "rxq%d", _rx_queue->queue #define EFX_LOOPBACK_NAME(_mode, _counter) \ - "loopback.%s." _counter, LOOPBACK_MODE_NAME(mode) + "loopback.%s." _counter, STRING_TABLE_LOOKUP(_mode, efx_loopback_mode) /** * efx_fill_loopback_test - fill in a block of loopback self-test entries @@ -372,9 +368,21 @@ efx_fill_test(n++, strings, data, &tests->registers, "core", 0, "registers", NULL); - for (i = 0; i < efx->phy_op->num_tests; i++) - efx_fill_test(n++, strings, data, &tests->phy[i], - "phy", 0, efx->phy_op->test_names[i], NULL); + if (efx->phy_op->run_tests != NULL) { + EFX_BUG_ON_PARANOID(efx->phy_op->test_name == NULL); + + for (i = 0; true; ++i) { + const char *name; + + EFX_BUG_ON_PARANOID(i >= EFX_MAX_PHY_TESTS); + name = efx->phy_op->test_name(efx, i); + if (name == NULL) + break; + + efx_fill_test(n++, strings, data, &tests->phy[i], + "phy", 0, name, NULL); + } + } /* Loopback tests */ for (mode = LOOPBACK_NONE; mode <= LOOPBACK_TEST_MAX; mode++) { @@ -463,6 +471,36 @@ } } +static int efx_ethtool_set_tso(struct net_device *net_dev, u32 enable) +{ + struct efx_nic *efx __attribute__ ((unused)) = netdev_priv(net_dev); + unsigned long features; + + features = NETIF_F_TSO; + if (efx->type->offload_features & NETIF_F_V6_CSUM) + features |= NETIF_F_TSO6; + + if (enable) + net_dev->features |= features; + else + net_dev->features &= ~features; + + return 0; +} + +static int efx_ethtool_set_tx_csum(struct net_device *net_dev, u32 enable) +{ + struct efx_nic *efx = netdev_priv(net_dev); + unsigned long features = efx->type->offload_features & NETIF_F_ALL_CSUM; + + if (enable) + net_dev->features |= features; + else + net_dev->features &= ~features; + + return 0; +} + static int efx_ethtool_set_rx_csum(struct net_device *net_dev, u32 enable) { struct efx_nic *efx = netdev_priv(net_dev); @@ -537,7 +575,7 @@ { struct efx_nic *efx = netdev_priv(net_dev); - return efx->link_up; + return efx->link_state.up; } static int efx_ethtool_get_eeprom_len(struct net_device *net_dev) @@ -562,7 +600,8 @@ rc = mutex_lock_interruptible(&efx->spi_lock); if (rc) return rc; - rc = falcon_spi_read(spi, eeprom->offset + EFX_EEPROM_BOOTCONFIG_START, + rc = falcon_spi_read(efx, spi, + eeprom->offset + EFX_EEPROM_BOOTCONFIG_START, eeprom->len, &len, buf); mutex_unlock(&efx->spi_lock); @@ -585,7 +624,8 @@ rc = mutex_lock_interruptible(&efx->spi_lock); if (rc) return rc; - rc = falcon_spi_write(spi, eeprom->offset + EFX_EEPROM_BOOTCONFIG_START, + rc = falcon_spi_write(efx, spi, + eeprom->offset + EFX_EEPROM_BOOTCONFIG_START, eeprom->len, &len, buf); mutex_unlock(&efx->spi_lock); @@ -618,6 +658,9 @@ coalesce->use_adaptive_rx_coalesce = efx->irq_rx_adaptive; coalesce->rx_coalesce_usecs_irq = efx->irq_rx_moderation; + coalesce->tx_coalesce_usecs_irq *= EFX_IRQ_MOD_RESOLUTION; + coalesce->rx_coalesce_usecs_irq *= EFX_IRQ_MOD_RESOLUTION; + return 0; } @@ -656,13 +699,8 @@ } efx_init_irq_moderation(efx, tx_usecs, rx_usecs, adaptive); - - /* Reset channel to pick up new moderation value. Note that - * this may change the value of the irq_moderation field - * (e.g. to allow for hardware timer granularity). - */ efx_for_each_channel(channel, efx) - falcon_set_int_moderation(channel); + efx->type->push_irq_moderation(channel); return 0; } @@ -671,8 +709,12 @@ struct ethtool_pauseparam *pause) { struct efx_nic *efx = netdev_priv(net_dev); - enum efx_fc_type wanted_fc; + enum efx_fc_type wanted_fc, old_fc; + u32 old_adv; bool reset; + int rc = 0; + + mutex_lock(&efx->mac_lock); wanted_fc = ((pause->rx_pause ? EFX_FC_RX : 0) | (pause->tx_pause ? EFX_FC_TX : 0) | @@ -680,14 +722,14 @@ if ((wanted_fc & EFX_FC_TX) && !(wanted_fc & EFX_FC_RX)) { EFX_LOG(efx, "Flow control unsupported: tx ON rx OFF\n"); - return -EINVAL; + rc = -EINVAL; + goto out; } - if (!(efx->phy_op->mmds & MDIO_DEVS_AN) && - (wanted_fc & EFX_FC_AUTO)) { - EFX_LOG(efx, "PHY does not support flow control " - "autonegotiation\n"); - return -EINVAL; + if ((wanted_fc & EFX_FC_AUTO) && !efx->link_advertising) { + EFX_LOG(efx, "Autonegotiation is disabled\n"); + rc = -EINVAL; + goto out; } /* TX flow control may automatically turn itself off if the @@ -697,27 +739,40 @@ * and fix it be cycling transmit flow control on this end. */ reset = (wanted_fc & EFX_FC_TX) && !(efx->wanted_fc & EFX_FC_TX); if (EFX_WORKAROUND_11482(efx) && reset) { - if (falcon_rev(efx) >= FALCON_REV_B0) { + if (efx_nic_rev(efx) == EFX_REV_FALCON_B0) { /* Recover by resetting the EM block */ - if (efx->link_up) - falcon_drain_tx_fifo(efx); + falcon_stop_nic_stats(efx); + falcon_drain_tx_fifo(efx); + efx->mac_op->reconfigure(efx); + falcon_start_nic_stats(efx); } else { /* Schedule a reset to recover */ efx_schedule_reset(efx, RESET_TYPE_INVISIBLE); } } - /* Try to push the pause parameters */ - mutex_lock(&efx->mac_lock); + old_adv = efx->link_advertising; + old_fc = efx->wanted_fc; + efx_link_set_wanted_fc(efx, wanted_fc); + if (efx->link_advertising != old_adv || + (efx->wanted_fc ^ old_fc) & EFX_FC_AUTO) { + rc = efx->phy_op->reconfigure(efx); + if (rc) { + EFX_ERR(efx, "Unable to advertise requested flow " + "control setting\n"); + goto out; + } + } - efx->wanted_fc = wanted_fc; - if (efx->phy_op->mmds & MDIO_DEVS_AN) - mdio45_ethtool_spauseparam_an(&efx->mdio, pause); - __efx_reconfigure_port(efx); + /* Reconfigure the MAC. The PHY *may* generate a link state change event + * if the user just changed the advertised capabilities, but there's no + * harm doing this twice */ + efx->mac_op->reconfigure(efx); +out: mutex_unlock(&efx->mac_lock); - return 0; + return rc; } static void efx_ethtool_get_pauseparam(struct net_device *net_dev, @@ -731,6 +786,50 @@ } +static void efx_ethtool_get_wol(struct net_device *net_dev, + struct ethtool_wolinfo *wol) +{ + struct efx_nic *efx = netdev_priv(net_dev); + return efx->type->get_wol(efx, wol); +} + + +static int efx_ethtool_set_wol(struct net_device *net_dev, + struct ethtool_wolinfo *wol) +{ + struct efx_nic *efx = netdev_priv(net_dev); + return efx->type->set_wol(efx, wol->wolopts); +} + +extern int efx_ethtool_reset(struct net_device *net_dev, u32 *flags) +{ + struct efx_nic *efx = netdev_priv(net_dev); + enum reset_type method; + enum { + ETH_RESET_EFX_INVISIBLE = (ETH_RESET_DMA | ETH_RESET_FILTER | + ETH_RESET_OFFLOAD | ETH_RESET_MAC) + }; + + /* Check for minimal reset flags */ + if ((*flags & ETH_RESET_EFX_INVISIBLE) != ETH_RESET_EFX_INVISIBLE) + return -EINVAL; + *flags ^= ETH_RESET_EFX_INVISIBLE; + method = RESET_TYPE_INVISIBLE; + + if (*flags & ETH_RESET_PHY) { + *flags ^= ETH_RESET_PHY; + method = RESET_TYPE_ALL; + } + + if ((*flags & efx->type->reset_world_flags) == + efx->type->reset_world_flags) { + *flags ^= efx->type->reset_world_flags; + method = RESET_TYPE_WORLD; + } + + return efx_reset(efx, method); +} + const struct ethtool_ops efx_ethtool_ops = { .get_settings = efx_ethtool_get_settings, .set_settings = efx_ethtool_set_settings, @@ -747,11 +846,13 @@ .get_rx_csum = efx_ethtool_get_rx_csum, .set_rx_csum = efx_ethtool_set_rx_csum, .get_tx_csum = ethtool_op_get_tx_csum, - .set_tx_csum = ethtool_op_set_tx_csum, + /* Need to enable/disable IPv6 too */ + .set_tx_csum = efx_ethtool_set_tx_csum, .get_sg = ethtool_op_get_sg, .set_sg = ethtool_op_set_sg, .get_tso = ethtool_op_get_tso, - .set_tso = ethtool_op_set_tso, + /* Need to enable/disable TSO-IPv6 too */ + .set_tso = efx_ethtool_set_tso, .get_flags = ethtool_op_get_flags, .set_flags = ethtool_op_set_flags, .get_sset_count = efx_ethtool_get_sset_count, @@ -759,4 +860,7 @@ .get_strings = efx_ethtool_get_strings, .phys_id = efx_ethtool_phys_id, .get_ethtool_stats = efx_ethtool_get_stats, + .get_wol = efx_ethtool_get_wol, + .set_wol = efx_ethtool_set_wol, + .reset = efx_ethtool_reset, }; --- linux-2.6.32.orig/drivers/net/sfc/falcon.c +++ linux-2.6.32/drivers/net/sfc/falcon.c @@ -1,7 +1,7 @@ /**************************************************************************** * Driver for Solarflare Solarstorm network controllers and boards * Copyright 2005-2006 Fen Systems Ltd. - * Copyright 2006-2008 Solarflare Communications Inc. + * Copyright 2006-2009 Solarflare Communications 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 @@ -14,1344 +14,124 @@ #include #include #include -#include #include #include "net_driver.h" #include "bitfield.h" #include "efx.h" #include "mac.h" #include "spi.h" -#include "falcon.h" -#include "falcon_hwdefs.h" -#include "falcon_io.h" +#include "nic.h" +#include "regs.h" +#include "io.h" #include "mdio_10g.h" #include "phy.h" -#include "boards.h" #include "workarounds.h" -/* Falcon hardware control. - * Falcon is the internal codename for the SFC4000 controller that is - * present in SFE400X evaluation boards - */ - -/** - * struct falcon_nic_data - Falcon NIC state - * @next_buffer_table: First available buffer table id - * @pci_dev2: The secondary PCI device if present - * @i2c_data: Operations and state for I2C bit-bashing algorithm - * @int_error_count: Number of internal errors seen recently - * @int_error_expire: Time at which error count will be expired - */ -struct falcon_nic_data { - unsigned next_buffer_table; - struct pci_dev *pci_dev2; - struct i2c_algo_bit_data i2c_data; - - unsigned int_error_count; - unsigned long int_error_expire; -}; - -/************************************************************************** - * - * Configurable values - * - ************************************************************************** - */ - -static int disable_dma_stats; - -/* This is set to 16 for a good reason. In summary, if larger than - * 16, the descriptor cache holds more than a default socket - * buffer's worth of packets (for UDP we can only have at most one - * socket buffer's worth outstanding). This combined with the fact - * that we only get 1 TX event per descriptor cache means the NIC - * goes idle. - */ -#define TX_DC_ENTRIES 16 -#define TX_DC_ENTRIES_ORDER 0 -#define TX_DC_BASE 0x130000 - -#define RX_DC_ENTRIES 64 -#define RX_DC_ENTRIES_ORDER 2 -#define RX_DC_BASE 0x100000 - -static const unsigned int -/* "Large" EEPROM device: Atmel AT25640 or similar - * 8 KB, 16-bit address, 32 B write block */ -large_eeprom_type = ((13 << SPI_DEV_TYPE_SIZE_LBN) - | (2 << SPI_DEV_TYPE_ADDR_LEN_LBN) - | (5 << SPI_DEV_TYPE_BLOCK_SIZE_LBN)), -/* Default flash device: Atmel AT25F1024 - * 128 KB, 24-bit address, 32 KB erase block, 256 B write block */ -default_flash_type = ((17 << SPI_DEV_TYPE_SIZE_LBN) - | (3 << SPI_DEV_TYPE_ADDR_LEN_LBN) - | (0x52 << SPI_DEV_TYPE_ERASE_CMD_LBN) - | (15 << SPI_DEV_TYPE_ERASE_SIZE_LBN) - | (8 << SPI_DEV_TYPE_BLOCK_SIZE_LBN)); - -/* RX FIFO XOFF watermark - * - * When the amount of the RX FIFO increases used increases past this - * watermark send XOFF. Only used if RX flow control is enabled (ethtool -A) - * This also has an effect on RX/TX arbitration - */ -static int rx_xoff_thresh_bytes = -1; -module_param(rx_xoff_thresh_bytes, int, 0644); -MODULE_PARM_DESC(rx_xoff_thresh_bytes, "RX fifo XOFF threshold"); - -/* RX FIFO XON watermark - * - * When the amount of the RX FIFO used decreases below this - * watermark send XON. Only used if TX flow control is enabled (ethtool -A) - * This also has an effect on RX/TX arbitration - */ -static int rx_xon_thresh_bytes = -1; -module_param(rx_xon_thresh_bytes, int, 0644); -MODULE_PARM_DESC(rx_xon_thresh_bytes, "RX fifo XON threshold"); - -/* TX descriptor ring size - min 512 max 4k */ -#define FALCON_TXD_RING_ORDER TX_DESCQ_SIZE_1K -#define FALCON_TXD_RING_SIZE 1024 -#define FALCON_TXD_RING_MASK (FALCON_TXD_RING_SIZE - 1) - -/* RX descriptor ring size - min 512 max 4k */ -#define FALCON_RXD_RING_ORDER RX_DESCQ_SIZE_1K -#define FALCON_RXD_RING_SIZE 1024 -#define FALCON_RXD_RING_MASK (FALCON_RXD_RING_SIZE - 1) - -/* Event queue size - max 32k */ -#define FALCON_EVQ_ORDER EVQ_SIZE_4K -#define FALCON_EVQ_SIZE 4096 -#define FALCON_EVQ_MASK (FALCON_EVQ_SIZE - 1) - -/* If FALCON_MAX_INT_ERRORS internal errors occur within - * FALCON_INT_ERROR_EXPIRE seconds, we consider the NIC broken and - * disable it. - */ -#define FALCON_INT_ERROR_EXPIRE 3600 -#define FALCON_MAX_INT_ERRORS 5 - -/* We poll for events every FLUSH_INTERVAL ms, and check FLUSH_POLL_COUNT times - */ -#define FALCON_FLUSH_INTERVAL 10 -#define FALCON_FLUSH_POLL_COUNT 100 - -/************************************************************************** - * - * Falcon constants - * - ************************************************************************** - */ - -/* DMA address mask */ -#define FALCON_DMA_MASK DMA_BIT_MASK(46) - -/* TX DMA length mask (13-bit) */ -#define FALCON_TX_DMA_MASK (4096 - 1) - -/* Size and alignment of special buffers (4KB) */ -#define FALCON_BUF_SIZE 4096 - -/* Dummy SRAM size code */ -#define SRM_NB_BSZ_ONCHIP_ONLY (-1) - -#define FALCON_IS_DUAL_FUNC(efx) \ - (falcon_rev(efx) < FALCON_REV_B0) - -/************************************************************************** - * - * Falcon hardware access - * - **************************************************************************/ - -/* Read the current event from the event queue */ -static inline efx_qword_t *falcon_event(struct efx_channel *channel, - unsigned int index) -{ - return (((efx_qword_t *) (channel->eventq.addr)) + index); -} - -/* See if an event is present - * - * We check both the high and low dword of the event for all ones. We - * wrote all ones when we cleared the event, and no valid event can - * have all ones in either its high or low dwords. This approach is - * robust against reordering. - * - * Note that using a single 64-bit comparison is incorrect; even - * though the CPU read will be atomic, the DMA write may not be. - */ -static inline int falcon_event_present(efx_qword_t *event) -{ - return (!(EFX_DWORD_IS_ALL_ONES(event->dword[0]) | - EFX_DWORD_IS_ALL_ONES(event->dword[1]))); -} - -/************************************************************************** - * - * I2C bus - this is a bit-bashing interface using GPIO pins - * Note that it uses the output enables to tristate the outputs - * SDA is the data pin and SCL is the clock - * - ************************************************************************** - */ -static void falcon_setsda(void *data, int state) -{ - struct efx_nic *efx = (struct efx_nic *)data; - efx_oword_t reg; - - falcon_read(efx, ®, GPIO_CTL_REG_KER); - EFX_SET_OWORD_FIELD(reg, GPIO3_OEN, !state); - falcon_write(efx, ®, GPIO_CTL_REG_KER); -} - -static void falcon_setscl(void *data, int state) -{ - struct efx_nic *efx = (struct efx_nic *)data; - efx_oword_t reg; - - falcon_read(efx, ®, GPIO_CTL_REG_KER); - EFX_SET_OWORD_FIELD(reg, GPIO0_OEN, !state); - falcon_write(efx, ®, GPIO_CTL_REG_KER); -} - -static int falcon_getsda(void *data) -{ - struct efx_nic *efx = (struct efx_nic *)data; - efx_oword_t reg; - - falcon_read(efx, ®, GPIO_CTL_REG_KER); - return EFX_OWORD_FIELD(reg, GPIO3_IN); -} - -static int falcon_getscl(void *data) -{ - struct efx_nic *efx = (struct efx_nic *)data; - efx_oword_t reg; - - falcon_read(efx, ®, GPIO_CTL_REG_KER); - return EFX_OWORD_FIELD(reg, GPIO0_IN); -} - -static struct i2c_algo_bit_data falcon_i2c_bit_operations = { - .setsda = falcon_setsda, - .setscl = falcon_setscl, - .getsda = falcon_getsda, - .getscl = falcon_getscl, - .udelay = 5, - /* Wait up to 50 ms for slave to let us pull SCL high */ - .timeout = DIV_ROUND_UP(HZ, 20), -}; - -/************************************************************************** - * - * Falcon special buffer handling - * Special buffers are used for event queues and the TX and RX - * descriptor rings. - * - *************************************************************************/ - -/* - * Initialise a Falcon special buffer - * - * This will define a buffer (previously allocated via - * falcon_alloc_special_buffer()) in Falcon's buffer table, allowing - * it to be used for event queues, descriptor rings etc. - */ -static void -falcon_init_special_buffer(struct efx_nic *efx, - struct efx_special_buffer *buffer) -{ - efx_qword_t buf_desc; - int index; - dma_addr_t dma_addr; - int i; - - EFX_BUG_ON_PARANOID(!buffer->addr); - - /* Write buffer descriptors to NIC */ - for (i = 0; i < buffer->entries; i++) { - index = buffer->index + i; - dma_addr = buffer->dma_addr + (i * 4096); - EFX_LOG(efx, "mapping special buffer %d at %llx\n", - index, (unsigned long long)dma_addr); - EFX_POPULATE_QWORD_4(buf_desc, - IP_DAT_BUF_SIZE, IP_DAT_BUF_SIZE_4K, - BUF_ADR_REGION, 0, - BUF_ADR_FBUF, (dma_addr >> 12), - BUF_OWNER_ID_FBUF, 0); - falcon_write_sram(efx, &buf_desc, index); - } -} - -/* Unmaps a buffer from Falcon and clears the buffer table entries */ -static void -falcon_fini_special_buffer(struct efx_nic *efx, - struct efx_special_buffer *buffer) -{ - efx_oword_t buf_tbl_upd; - unsigned int start = buffer->index; - unsigned int end = (buffer->index + buffer->entries - 1); - - if (!buffer->entries) - return; - - EFX_LOG(efx, "unmapping special buffers %d-%d\n", - buffer->index, buffer->index + buffer->entries - 1); - - EFX_POPULATE_OWORD_4(buf_tbl_upd, - BUF_UPD_CMD, 0, - BUF_CLR_CMD, 1, - BUF_CLR_END_ID, end, - BUF_CLR_START_ID, start); - falcon_write(efx, &buf_tbl_upd, BUF_TBL_UPD_REG_KER); -} - -/* - * Allocate a new Falcon special buffer - * - * This allocates memory for a new buffer, clears it and allocates a - * new buffer ID range. It does not write into Falcon's buffer table. - * - * This call will allocate 4KB buffers, since Falcon can't use 8KB - * buffers for event queues and descriptor rings. - */ -static int falcon_alloc_special_buffer(struct efx_nic *efx, - struct efx_special_buffer *buffer, - unsigned int len) -{ - struct falcon_nic_data *nic_data = efx->nic_data; - - len = ALIGN(len, FALCON_BUF_SIZE); - - buffer->addr = pci_alloc_consistent(efx->pci_dev, len, - &buffer->dma_addr); - if (!buffer->addr) - return -ENOMEM; - buffer->len = len; - buffer->entries = len / FALCON_BUF_SIZE; - BUG_ON(buffer->dma_addr & (FALCON_BUF_SIZE - 1)); - - /* All zeros is a potentially valid event so memset to 0xff */ - memset(buffer->addr, 0xff, len); - - /* Select new buffer ID */ - buffer->index = nic_data->next_buffer_table; - nic_data->next_buffer_table += buffer->entries; - - EFX_LOG(efx, "allocating special buffers %d-%d at %llx+%x " - "(virt %p phys %llx)\n", buffer->index, - buffer->index + buffer->entries - 1, - (u64)buffer->dma_addr, len, - buffer->addr, (u64)virt_to_phys(buffer->addr)); - - return 0; -} - -static void falcon_free_special_buffer(struct efx_nic *efx, - struct efx_special_buffer *buffer) -{ - if (!buffer->addr) - return; - - EFX_LOG(efx, "deallocating special buffers %d-%d at %llx+%x " - "(virt %p phys %llx)\n", buffer->index, - buffer->index + buffer->entries - 1, - (u64)buffer->dma_addr, buffer->len, - buffer->addr, (u64)virt_to_phys(buffer->addr)); - - pci_free_consistent(efx->pci_dev, buffer->len, buffer->addr, - buffer->dma_addr); - buffer->addr = NULL; - buffer->entries = 0; -} - -/************************************************************************** - * - * Falcon generic buffer handling - * These buffers are used for interrupt status and MAC stats - * - **************************************************************************/ - -static int falcon_alloc_buffer(struct efx_nic *efx, - struct efx_buffer *buffer, unsigned int len) -{ - buffer->addr = pci_alloc_consistent(efx->pci_dev, len, - &buffer->dma_addr); - if (!buffer->addr) - return -ENOMEM; - buffer->len = len; - memset(buffer->addr, 0, len); - return 0; -} - -static void falcon_free_buffer(struct efx_nic *efx, struct efx_buffer *buffer) -{ - if (buffer->addr) { - pci_free_consistent(efx->pci_dev, buffer->len, - buffer->addr, buffer->dma_addr); - buffer->addr = NULL; - } -} - -/************************************************************************** - * - * Falcon TX path - * - **************************************************************************/ - -/* Returns a pointer to the specified transmit descriptor in the TX - * descriptor queue belonging to the specified channel. - */ -static inline efx_qword_t *falcon_tx_desc(struct efx_tx_queue *tx_queue, - unsigned int index) -{ - return (((efx_qword_t *) (tx_queue->txd.addr)) + index); -} - -/* This writes to the TX_DESC_WPTR; write pointer for TX descriptor ring */ -static inline void falcon_notify_tx_desc(struct efx_tx_queue *tx_queue) -{ - unsigned write_ptr; - efx_dword_t reg; - - write_ptr = tx_queue->write_count & FALCON_TXD_RING_MASK; - EFX_POPULATE_DWORD_1(reg, TX_DESC_WPTR_DWORD, write_ptr); - falcon_writel_page(tx_queue->efx, ®, - TX_DESC_UPD_REG_KER_DWORD, tx_queue->queue); -} - - -/* For each entry inserted into the software descriptor ring, create a - * descriptor in the hardware TX descriptor ring (in host memory), and - * write a doorbell. - */ -void falcon_push_buffers(struct efx_tx_queue *tx_queue) -{ - - struct efx_tx_buffer *buffer; - efx_qword_t *txd; - unsigned write_ptr; - - BUG_ON(tx_queue->write_count == tx_queue->insert_count); - - do { - write_ptr = tx_queue->write_count & FALCON_TXD_RING_MASK; - buffer = &tx_queue->buffer[write_ptr]; - txd = falcon_tx_desc(tx_queue, write_ptr); - ++tx_queue->write_count; - - /* Create TX descriptor ring entry */ - EFX_POPULATE_QWORD_5(*txd, - TX_KER_PORT, 0, - TX_KER_CONT, buffer->continuation, - TX_KER_BYTE_CNT, buffer->len, - TX_KER_BUF_REGION, 0, - TX_KER_BUF_ADR, buffer->dma_addr); - } while (tx_queue->write_count != tx_queue->insert_count); - - wmb(); /* Ensure descriptors are written before they are fetched */ - falcon_notify_tx_desc(tx_queue); -} - -/* Allocate hardware resources for a TX queue */ -int falcon_probe_tx(struct efx_tx_queue *tx_queue) -{ - struct efx_nic *efx = tx_queue->efx; - return falcon_alloc_special_buffer(efx, &tx_queue->txd, - FALCON_TXD_RING_SIZE * - sizeof(efx_qword_t)); -} - -void falcon_init_tx(struct efx_tx_queue *tx_queue) -{ - efx_oword_t tx_desc_ptr; - struct efx_nic *efx = tx_queue->efx; - - tx_queue->flushed = false; - - /* Pin TX descriptor ring */ - falcon_init_special_buffer(efx, &tx_queue->txd); - - /* Push TX descriptor ring to card */ - EFX_POPULATE_OWORD_10(tx_desc_ptr, - TX_DESCQ_EN, 1, - TX_ISCSI_DDIG_EN, 0, - TX_ISCSI_HDIG_EN, 0, - TX_DESCQ_BUF_BASE_ID, tx_queue->txd.index, - TX_DESCQ_EVQ_ID, tx_queue->channel->channel, - TX_DESCQ_OWNER_ID, 0, - TX_DESCQ_LABEL, tx_queue->queue, - TX_DESCQ_SIZE, FALCON_TXD_RING_ORDER, - TX_DESCQ_TYPE, 0, - TX_NON_IP_DROP_DIS_B0, 1); - - if (falcon_rev(efx) >= FALCON_REV_B0) { - int csum = tx_queue->queue == EFX_TX_QUEUE_OFFLOAD_CSUM; - EFX_SET_OWORD_FIELD(tx_desc_ptr, TX_IP_CHKSM_DIS_B0, !csum); - EFX_SET_OWORD_FIELD(tx_desc_ptr, TX_TCP_CHKSM_DIS_B0, !csum); - } - - falcon_write_table(efx, &tx_desc_ptr, efx->type->txd_ptr_tbl_base, - tx_queue->queue); - - if (falcon_rev(efx) < FALCON_REV_B0) { - efx_oword_t reg; - - /* Only 128 bits in this register */ - BUILD_BUG_ON(EFX_TX_QUEUE_COUNT >= 128); - - falcon_read(efx, ®, TX_CHKSM_CFG_REG_KER_A1); - if (tx_queue->queue == EFX_TX_QUEUE_OFFLOAD_CSUM) - clear_bit_le(tx_queue->queue, (void *)®); - else - set_bit_le(tx_queue->queue, (void *)®); - falcon_write(efx, ®, TX_CHKSM_CFG_REG_KER_A1); - } -} - -static void falcon_flush_tx_queue(struct efx_tx_queue *tx_queue) -{ - struct efx_nic *efx = tx_queue->efx; - efx_oword_t tx_flush_descq; - - /* Post a flush command */ - EFX_POPULATE_OWORD_2(tx_flush_descq, - TX_FLUSH_DESCQ_CMD, 1, - TX_FLUSH_DESCQ, tx_queue->queue); - falcon_write(efx, &tx_flush_descq, TX_FLUSH_DESCQ_REG_KER); -} - -void falcon_fini_tx(struct efx_tx_queue *tx_queue) -{ - struct efx_nic *efx = tx_queue->efx; - efx_oword_t tx_desc_ptr; - - /* The queue should have been flushed */ - WARN_ON(!tx_queue->flushed); - - /* Remove TX descriptor ring from card */ - EFX_ZERO_OWORD(tx_desc_ptr); - falcon_write_table(efx, &tx_desc_ptr, efx->type->txd_ptr_tbl_base, - tx_queue->queue); - - /* Unpin TX descriptor ring */ - falcon_fini_special_buffer(efx, &tx_queue->txd); -} - -/* Free buffers backing TX queue */ -void falcon_remove_tx(struct efx_tx_queue *tx_queue) -{ - falcon_free_special_buffer(tx_queue->efx, &tx_queue->txd); -} - -/************************************************************************** - * - * Falcon RX path - * - **************************************************************************/ - -/* Returns a pointer to the specified descriptor in the RX descriptor queue */ -static inline efx_qword_t *falcon_rx_desc(struct efx_rx_queue *rx_queue, - unsigned int index) -{ - return (((efx_qword_t *) (rx_queue->rxd.addr)) + index); -} - -/* This creates an entry in the RX descriptor queue */ -static inline void falcon_build_rx_desc(struct efx_rx_queue *rx_queue, - unsigned index) -{ - struct efx_rx_buffer *rx_buf; - efx_qword_t *rxd; - - rxd = falcon_rx_desc(rx_queue, index); - rx_buf = efx_rx_buffer(rx_queue, index); - EFX_POPULATE_QWORD_3(*rxd, - RX_KER_BUF_SIZE, - rx_buf->len - - rx_queue->efx->type->rx_buffer_padding, - RX_KER_BUF_REGION, 0, - RX_KER_BUF_ADR, rx_buf->dma_addr); -} - -/* This writes to the RX_DESC_WPTR register for the specified receive - * descriptor ring. - */ -void falcon_notify_rx_desc(struct efx_rx_queue *rx_queue) -{ - efx_dword_t reg; - unsigned write_ptr; - - while (rx_queue->notified_count != rx_queue->added_count) { - falcon_build_rx_desc(rx_queue, - rx_queue->notified_count & - FALCON_RXD_RING_MASK); - ++rx_queue->notified_count; - } - - wmb(); - write_ptr = rx_queue->added_count & FALCON_RXD_RING_MASK; - EFX_POPULATE_DWORD_1(reg, RX_DESC_WPTR_DWORD, write_ptr); - falcon_writel_page(rx_queue->efx, ®, - RX_DESC_UPD_REG_KER_DWORD, rx_queue->queue); -} - -int falcon_probe_rx(struct efx_rx_queue *rx_queue) -{ - struct efx_nic *efx = rx_queue->efx; - return falcon_alloc_special_buffer(efx, &rx_queue->rxd, - FALCON_RXD_RING_SIZE * - sizeof(efx_qword_t)); -} - -void falcon_init_rx(struct efx_rx_queue *rx_queue) -{ - efx_oword_t rx_desc_ptr; - struct efx_nic *efx = rx_queue->efx; - bool is_b0 = falcon_rev(efx) >= FALCON_REV_B0; - bool iscsi_digest_en = is_b0; - - EFX_LOG(efx, "RX queue %d ring in special buffers %d-%d\n", - rx_queue->queue, rx_queue->rxd.index, - rx_queue->rxd.index + rx_queue->rxd.entries - 1); - - rx_queue->flushed = false; - - /* Pin RX descriptor ring */ - falcon_init_special_buffer(efx, &rx_queue->rxd); - - /* Push RX descriptor ring to card */ - EFX_POPULATE_OWORD_10(rx_desc_ptr, - RX_ISCSI_DDIG_EN, iscsi_digest_en, - RX_ISCSI_HDIG_EN, iscsi_digest_en, - RX_DESCQ_BUF_BASE_ID, rx_queue->rxd.index, - RX_DESCQ_EVQ_ID, rx_queue->channel->channel, - RX_DESCQ_OWNER_ID, 0, - RX_DESCQ_LABEL, rx_queue->queue, - RX_DESCQ_SIZE, FALCON_RXD_RING_ORDER, - RX_DESCQ_TYPE, 0 /* kernel queue */ , - /* For >=B0 this is scatter so disable */ - RX_DESCQ_JUMBO, !is_b0, - RX_DESCQ_EN, 1); - falcon_write_table(efx, &rx_desc_ptr, efx->type->rxd_ptr_tbl_base, - rx_queue->queue); -} - -static void falcon_flush_rx_queue(struct efx_rx_queue *rx_queue) -{ - struct efx_nic *efx = rx_queue->efx; - efx_oword_t rx_flush_descq; - - /* Post a flush command */ - EFX_POPULATE_OWORD_2(rx_flush_descq, - RX_FLUSH_DESCQ_CMD, 1, - RX_FLUSH_DESCQ, rx_queue->queue); - falcon_write(efx, &rx_flush_descq, RX_FLUSH_DESCQ_REG_KER); -} - -void falcon_fini_rx(struct efx_rx_queue *rx_queue) -{ - efx_oword_t rx_desc_ptr; - struct efx_nic *efx = rx_queue->efx; - - /* The queue should already have been flushed */ - WARN_ON(!rx_queue->flushed); - - /* Remove RX descriptor ring from card */ - EFX_ZERO_OWORD(rx_desc_ptr); - falcon_write_table(efx, &rx_desc_ptr, efx->type->rxd_ptr_tbl_base, - rx_queue->queue); - - /* Unpin RX descriptor ring */ - falcon_fini_special_buffer(efx, &rx_queue->rxd); -} - -/* Free buffers backing RX queue */ -void falcon_remove_rx(struct efx_rx_queue *rx_queue) -{ - falcon_free_special_buffer(rx_queue->efx, &rx_queue->rxd); -} - -/************************************************************************** - * - * Falcon event queue processing - * Event queues are processed by per-channel tasklets. - * - **************************************************************************/ - -/* Update a channel's event queue's read pointer (RPTR) register - * - * This writes the EVQ_RPTR_REG register for the specified channel's - * event queue. - * - * Note that EVQ_RPTR_REG contains the index of the "last read" event, - * whereas channel->eventq_read_ptr contains the index of the "next to - * read" event. - */ -void falcon_eventq_read_ack(struct efx_channel *channel) -{ - efx_dword_t reg; - struct efx_nic *efx = channel->efx; - - EFX_POPULATE_DWORD_1(reg, EVQ_RPTR_DWORD, channel->eventq_read_ptr); - falcon_writel_table(efx, ®, efx->type->evq_rptr_tbl_base, - channel->channel); -} - -/* Use HW to insert a SW defined event */ -void falcon_generate_event(struct efx_channel *channel, efx_qword_t *event) -{ - efx_oword_t drv_ev_reg; - - EFX_POPULATE_OWORD_2(drv_ev_reg, - DRV_EV_QID, channel->channel, - DRV_EV_DATA, - EFX_QWORD_FIELD64(*event, WHOLE_EVENT)); - falcon_write(channel->efx, &drv_ev_reg, DRV_EV_REG_KER); -} - -/* Handle a transmit completion event - * - * Falcon batches TX completion events; the message we receive is of - * the form "complete all TX events up to this index". - */ -static void falcon_handle_tx_event(struct efx_channel *channel, - efx_qword_t *event) -{ - unsigned int tx_ev_desc_ptr; - unsigned int tx_ev_q_label; - struct efx_tx_queue *tx_queue; - struct efx_nic *efx = channel->efx; - - if (likely(EFX_QWORD_FIELD(*event, TX_EV_COMP))) { - /* Transmit completion */ - tx_ev_desc_ptr = EFX_QWORD_FIELD(*event, TX_EV_DESC_PTR); - tx_ev_q_label = EFX_QWORD_FIELD(*event, TX_EV_Q_LABEL); - tx_queue = &efx->tx_queue[tx_ev_q_label]; - channel->irq_mod_score += - (tx_ev_desc_ptr - tx_queue->read_count) & - efx->type->txd_ring_mask; - efx_xmit_done(tx_queue, tx_ev_desc_ptr); - } else if (EFX_QWORD_FIELD(*event, TX_EV_WQ_FF_FULL)) { - /* Rewrite the FIFO write pointer */ - tx_ev_q_label = EFX_QWORD_FIELD(*event, TX_EV_Q_LABEL); - tx_queue = &efx->tx_queue[tx_ev_q_label]; - - if (efx_dev_registered(efx)) - netif_tx_lock(efx->net_dev); - falcon_notify_tx_desc(tx_queue); - if (efx_dev_registered(efx)) - netif_tx_unlock(efx->net_dev); - } else if (EFX_QWORD_FIELD(*event, TX_EV_PKT_ERR) && - EFX_WORKAROUND_10727(efx)) { - efx_schedule_reset(efx, RESET_TYPE_TX_DESC_FETCH); - } else { - EFX_ERR(efx, "channel %d unexpected TX event " - EFX_QWORD_FMT"\n", channel->channel, - EFX_QWORD_VAL(*event)); - } -} - -/* Detect errors included in the rx_evt_pkt_ok bit. */ -static void falcon_handle_rx_not_ok(struct efx_rx_queue *rx_queue, - const efx_qword_t *event, - bool *rx_ev_pkt_ok, - bool *discard) -{ - struct efx_nic *efx = rx_queue->efx; - bool rx_ev_buf_owner_id_err, rx_ev_ip_hdr_chksum_err; - bool rx_ev_tcp_udp_chksum_err, rx_ev_eth_crc_err; - bool rx_ev_frm_trunc, rx_ev_drib_nib, rx_ev_tobe_disc; - bool rx_ev_other_err, rx_ev_pause_frm; - bool rx_ev_ip_frag_err, rx_ev_hdr_type, rx_ev_mcast_pkt; - unsigned rx_ev_pkt_type; - - rx_ev_hdr_type = EFX_QWORD_FIELD(*event, RX_EV_HDR_TYPE); - rx_ev_mcast_pkt = EFX_QWORD_FIELD(*event, RX_EV_MCAST_PKT); - rx_ev_tobe_disc = EFX_QWORD_FIELD(*event, RX_EV_TOBE_DISC); - rx_ev_pkt_type = EFX_QWORD_FIELD(*event, RX_EV_PKT_TYPE); - rx_ev_buf_owner_id_err = EFX_QWORD_FIELD(*event, - RX_EV_BUF_OWNER_ID_ERR); - rx_ev_ip_frag_err = EFX_QWORD_FIELD(*event, RX_EV_IF_FRAG_ERR); - rx_ev_ip_hdr_chksum_err = EFX_QWORD_FIELD(*event, - RX_EV_IP_HDR_CHKSUM_ERR); - rx_ev_tcp_udp_chksum_err = EFX_QWORD_FIELD(*event, - RX_EV_TCP_UDP_CHKSUM_ERR); - rx_ev_eth_crc_err = EFX_QWORD_FIELD(*event, RX_EV_ETH_CRC_ERR); - rx_ev_frm_trunc = EFX_QWORD_FIELD(*event, RX_EV_FRM_TRUNC); - rx_ev_drib_nib = ((falcon_rev(efx) >= FALCON_REV_B0) ? - 0 : EFX_QWORD_FIELD(*event, RX_EV_DRIB_NIB)); - rx_ev_pause_frm = EFX_QWORD_FIELD(*event, RX_EV_PAUSE_FRM_ERR); - - /* Every error apart from tobe_disc and pause_frm */ - rx_ev_other_err = (rx_ev_drib_nib | rx_ev_tcp_udp_chksum_err | - rx_ev_buf_owner_id_err | rx_ev_eth_crc_err | - rx_ev_frm_trunc | rx_ev_ip_hdr_chksum_err); - - /* Count errors that are not in MAC stats. Ignore expected - * checksum errors during self-test. */ - if (rx_ev_frm_trunc) - ++rx_queue->channel->n_rx_frm_trunc; - else if (rx_ev_tobe_disc) - ++rx_queue->channel->n_rx_tobe_disc; - else if (!efx->loopback_selftest) { - if (rx_ev_ip_hdr_chksum_err) - ++rx_queue->channel->n_rx_ip_hdr_chksum_err; - else if (rx_ev_tcp_udp_chksum_err) - ++rx_queue->channel->n_rx_tcp_udp_chksum_err; - } - if (rx_ev_ip_frag_err) - ++rx_queue->channel->n_rx_ip_frag_err; - - /* The frame must be discarded if any of these are true. */ - *discard = (rx_ev_eth_crc_err | rx_ev_frm_trunc | rx_ev_drib_nib | - rx_ev_tobe_disc | rx_ev_pause_frm); - - /* TOBE_DISC is expected on unicast mismatches; don't print out an - * error message. FRM_TRUNC indicates RXDP dropped the packet due - * to a FIFO overflow. - */ -#ifdef EFX_ENABLE_DEBUG - if (rx_ev_other_err) { - EFX_INFO_RL(efx, " RX queue %d unexpected RX event " - EFX_QWORD_FMT "%s%s%s%s%s%s%s%s\n", - rx_queue->queue, EFX_QWORD_VAL(*event), - rx_ev_buf_owner_id_err ? " [OWNER_ID_ERR]" : "", - rx_ev_ip_hdr_chksum_err ? - " [IP_HDR_CHKSUM_ERR]" : "", - rx_ev_tcp_udp_chksum_err ? - " [TCP_UDP_CHKSUM_ERR]" : "", - rx_ev_eth_crc_err ? " [ETH_CRC_ERR]" : "", - rx_ev_frm_trunc ? " [FRM_TRUNC]" : "", - rx_ev_drib_nib ? " [DRIB_NIB]" : "", - rx_ev_tobe_disc ? " [TOBE_DISC]" : "", - rx_ev_pause_frm ? " [PAUSE]" : ""); - } -#endif -} - -/* Handle receive events that are not in-order. */ -static void falcon_handle_rx_bad_index(struct efx_rx_queue *rx_queue, - unsigned index) -{ - struct efx_nic *efx = rx_queue->efx; - unsigned expected, dropped; - - expected = rx_queue->removed_count & FALCON_RXD_RING_MASK; - dropped = ((index + FALCON_RXD_RING_SIZE - expected) & - FALCON_RXD_RING_MASK); - EFX_INFO(efx, "dropped %d events (index=%d expected=%d)\n", - dropped, index, expected); - - efx_schedule_reset(efx, EFX_WORKAROUND_5676(efx) ? - RESET_TYPE_RX_RECOVERY : RESET_TYPE_DISABLE); -} - -/* Handle a packet received event - * - * Falcon silicon gives a "discard" flag if it's a unicast packet with the - * wrong destination address - * Also "is multicast" and "matches multicast filter" flags can be used to - * discard non-matching multicast packets. - */ -static void falcon_handle_rx_event(struct efx_channel *channel, - const efx_qword_t *event) -{ - unsigned int rx_ev_desc_ptr, rx_ev_byte_cnt; - unsigned int rx_ev_hdr_type, rx_ev_mcast_pkt; - unsigned expected_ptr; - bool rx_ev_pkt_ok, discard = false, checksummed; - struct efx_rx_queue *rx_queue; - struct efx_nic *efx = channel->efx; - - /* Basic packet information */ - rx_ev_byte_cnt = EFX_QWORD_FIELD(*event, RX_EV_BYTE_CNT); - rx_ev_pkt_ok = EFX_QWORD_FIELD(*event, RX_EV_PKT_OK); - rx_ev_hdr_type = EFX_QWORD_FIELD(*event, RX_EV_HDR_TYPE); - WARN_ON(EFX_QWORD_FIELD(*event, RX_EV_JUMBO_CONT)); - WARN_ON(EFX_QWORD_FIELD(*event, RX_EV_SOP) != 1); - WARN_ON(EFX_QWORD_FIELD(*event, RX_EV_Q_LABEL) != channel->channel); - - rx_queue = &efx->rx_queue[channel->channel]; - - rx_ev_desc_ptr = EFX_QWORD_FIELD(*event, RX_EV_DESC_PTR); - expected_ptr = rx_queue->removed_count & FALCON_RXD_RING_MASK; - if (unlikely(rx_ev_desc_ptr != expected_ptr)) - falcon_handle_rx_bad_index(rx_queue, rx_ev_desc_ptr); - - if (likely(rx_ev_pkt_ok)) { - /* If packet is marked as OK and packet type is TCP/IPv4 or - * UDP/IPv4, then we can rely on the hardware checksum. - */ - checksummed = RX_EV_HDR_TYPE_HAS_CHECKSUMS(rx_ev_hdr_type); - } else { - falcon_handle_rx_not_ok(rx_queue, event, &rx_ev_pkt_ok, - &discard); - checksummed = false; - } - - /* Detect multicast packets that didn't match the filter */ - rx_ev_mcast_pkt = EFX_QWORD_FIELD(*event, RX_EV_MCAST_PKT); - if (rx_ev_mcast_pkt) { - unsigned int rx_ev_mcast_hash_match = - EFX_QWORD_FIELD(*event, RX_EV_MCAST_HASH_MATCH); - - if (unlikely(!rx_ev_mcast_hash_match)) - discard = true; - } - - channel->irq_mod_score += 2; - - /* Handle received packet */ - efx_rx_packet(rx_queue, rx_ev_desc_ptr, rx_ev_byte_cnt, - checksummed, discard); -} - -/* Global events are basically PHY events */ -static void falcon_handle_global_event(struct efx_channel *channel, - efx_qword_t *event) -{ - struct efx_nic *efx = channel->efx; - bool handled = false; - - if (EFX_QWORD_FIELD(*event, G_PHY0_INTR) || - EFX_QWORD_FIELD(*event, G_PHY1_INTR) || - EFX_QWORD_FIELD(*event, XG_PHY_INTR) || - EFX_QWORD_FIELD(*event, XFP_PHY_INTR)) { - efx->phy_op->clear_interrupt(efx); - queue_work(efx->workqueue, &efx->phy_work); - handled = true; - } - - if ((falcon_rev(efx) >= FALCON_REV_B0) && - EFX_QWORD_FIELD(*event, XG_MNT_INTR_B0)) { - queue_work(efx->workqueue, &efx->mac_work); - handled = true; - } - - if (EFX_QWORD_FIELD_VER(efx, *event, RX_RECOVERY)) { - EFX_ERR(efx, "channel %d seen global RX_RESET " - "event. Resetting.\n", channel->channel); - - atomic_inc(&efx->rx_reset); - efx_schedule_reset(efx, EFX_WORKAROUND_6555(efx) ? - RESET_TYPE_RX_RECOVERY : RESET_TYPE_DISABLE); - handled = true; - } - - if (!handled) - EFX_ERR(efx, "channel %d unknown global event " - EFX_QWORD_FMT "\n", channel->channel, - EFX_QWORD_VAL(*event)); -} - -static void falcon_handle_driver_event(struct efx_channel *channel, - efx_qword_t *event) -{ - struct efx_nic *efx = channel->efx; - unsigned int ev_sub_code; - unsigned int ev_sub_data; - - ev_sub_code = EFX_QWORD_FIELD(*event, DRIVER_EV_SUB_CODE); - ev_sub_data = EFX_QWORD_FIELD(*event, DRIVER_EV_SUB_DATA); - - switch (ev_sub_code) { - case TX_DESCQ_FLS_DONE_EV_DECODE: - EFX_TRACE(efx, "channel %d TXQ %d flushed\n", - channel->channel, ev_sub_data); - break; - case RX_DESCQ_FLS_DONE_EV_DECODE: - EFX_TRACE(efx, "channel %d RXQ %d flushed\n", - channel->channel, ev_sub_data); - break; - case EVQ_INIT_DONE_EV_DECODE: - EFX_LOG(efx, "channel %d EVQ %d initialised\n", - channel->channel, ev_sub_data); - break; - case SRM_UPD_DONE_EV_DECODE: - EFX_TRACE(efx, "channel %d SRAM update done\n", - channel->channel); - break; - case WAKE_UP_EV_DECODE: - EFX_TRACE(efx, "channel %d RXQ %d wakeup event\n", - channel->channel, ev_sub_data); - break; - case TIMER_EV_DECODE: - EFX_TRACE(efx, "channel %d RX queue %d timer expired\n", - channel->channel, ev_sub_data); - break; - case RX_RECOVERY_EV_DECODE: - EFX_ERR(efx, "channel %d seen DRIVER RX_RESET event. " - "Resetting.\n", channel->channel); - atomic_inc(&efx->rx_reset); - efx_schedule_reset(efx, - EFX_WORKAROUND_6555(efx) ? - RESET_TYPE_RX_RECOVERY : - RESET_TYPE_DISABLE); - break; - case RX_DSC_ERROR_EV_DECODE: - EFX_ERR(efx, "RX DMA Q %d reports descriptor fetch error." - " RX Q %d is disabled.\n", ev_sub_data, ev_sub_data); - efx_schedule_reset(efx, RESET_TYPE_RX_DESC_FETCH); - break; - case TX_DSC_ERROR_EV_DECODE: - EFX_ERR(efx, "TX DMA Q %d reports descriptor fetch error." - " TX Q %d is disabled.\n", ev_sub_data, ev_sub_data); - efx_schedule_reset(efx, RESET_TYPE_TX_DESC_FETCH); - break; - default: - EFX_TRACE(efx, "channel %d unknown driver event code %d " - "data %04x\n", channel->channel, ev_sub_code, - ev_sub_data); - break; - } -} - -int falcon_process_eventq(struct efx_channel *channel, int rx_quota) -{ - unsigned int read_ptr; - efx_qword_t event, *p_event; - int ev_code; - int rx_packets = 0; - - read_ptr = channel->eventq_read_ptr; - - do { - p_event = falcon_event(channel, read_ptr); - event = *p_event; - - if (!falcon_event_present(&event)) - /* End of events */ - break; - - EFX_TRACE(channel->efx, "channel %d event is "EFX_QWORD_FMT"\n", - channel->channel, EFX_QWORD_VAL(event)); - - /* Clear this event by marking it all ones */ - EFX_SET_QWORD(*p_event); - - ev_code = EFX_QWORD_FIELD(event, EV_CODE); - - switch (ev_code) { - case RX_IP_EV_DECODE: - falcon_handle_rx_event(channel, &event); - ++rx_packets; - break; - case TX_IP_EV_DECODE: - falcon_handle_tx_event(channel, &event); - break; - case DRV_GEN_EV_DECODE: - channel->eventq_magic - = EFX_QWORD_FIELD(event, EVQ_MAGIC); - EFX_LOG(channel->efx, "channel %d received generated " - "event "EFX_QWORD_FMT"\n", channel->channel, - EFX_QWORD_VAL(event)); - break; - case GLOBAL_EV_DECODE: - falcon_handle_global_event(channel, &event); - break; - case DRIVER_EV_DECODE: - falcon_handle_driver_event(channel, &event); - break; - default: - EFX_ERR(channel->efx, "channel %d unknown event type %d" - " (data " EFX_QWORD_FMT ")\n", channel->channel, - ev_code, EFX_QWORD_VAL(event)); - } - - /* Increment read pointer */ - read_ptr = (read_ptr + 1) & FALCON_EVQ_MASK; - - } while (rx_packets < rx_quota); - - channel->eventq_read_ptr = read_ptr; - return rx_packets; -} - -void falcon_set_int_moderation(struct efx_channel *channel) -{ - efx_dword_t timer_cmd; - struct efx_nic *efx = channel->efx; - - /* Set timer register */ - if (channel->irq_moderation) { - /* Round to resolution supported by hardware. The value we - * program is based at 0. So actual interrupt moderation - * achieved is ((x + 1) * res). - */ - channel->irq_moderation -= (channel->irq_moderation % - FALCON_IRQ_MOD_RESOLUTION); - if (channel->irq_moderation < FALCON_IRQ_MOD_RESOLUTION) - channel->irq_moderation = FALCON_IRQ_MOD_RESOLUTION; - EFX_POPULATE_DWORD_2(timer_cmd, - TIMER_MODE, TIMER_MODE_INT_HLDOFF, - TIMER_VAL, - channel->irq_moderation / - FALCON_IRQ_MOD_RESOLUTION - 1); - } else { - EFX_POPULATE_DWORD_2(timer_cmd, - TIMER_MODE, TIMER_MODE_DIS, - TIMER_VAL, 0); - } - falcon_writel_page_locked(efx, &timer_cmd, TIMER_CMD_REG_KER, - channel->channel); - -} - -/* Allocate buffer table entries for event queue */ -int falcon_probe_eventq(struct efx_channel *channel) -{ - struct efx_nic *efx = channel->efx; - unsigned int evq_size; - - evq_size = FALCON_EVQ_SIZE * sizeof(efx_qword_t); - return falcon_alloc_special_buffer(efx, &channel->eventq, evq_size); -} - -void falcon_init_eventq(struct efx_channel *channel) -{ - efx_oword_t evq_ptr; - struct efx_nic *efx = channel->efx; - - EFX_LOG(efx, "channel %d event queue in special buffers %d-%d\n", - channel->channel, channel->eventq.index, - channel->eventq.index + channel->eventq.entries - 1); - - /* Pin event queue buffer */ - falcon_init_special_buffer(efx, &channel->eventq); - - /* Fill event queue with all ones (i.e. empty events) */ - memset(channel->eventq.addr, 0xff, channel->eventq.len); - - /* Push event queue to card */ - EFX_POPULATE_OWORD_3(evq_ptr, - EVQ_EN, 1, - EVQ_SIZE, FALCON_EVQ_ORDER, - EVQ_BUF_BASE_ID, channel->eventq.index); - falcon_write_table(efx, &evq_ptr, efx->type->evq_ptr_tbl_base, - channel->channel); - - falcon_set_int_moderation(channel); -} - -void falcon_fini_eventq(struct efx_channel *channel) -{ - efx_oword_t eventq_ptr; - struct efx_nic *efx = channel->efx; - - /* Remove event queue from card */ - EFX_ZERO_OWORD(eventq_ptr); - falcon_write_table(efx, &eventq_ptr, efx->type->evq_ptr_tbl_base, - channel->channel); - - /* Unpin event queue */ - falcon_fini_special_buffer(efx, &channel->eventq); -} - -/* Free buffers backing event queue */ -void falcon_remove_eventq(struct efx_channel *channel) -{ - falcon_free_special_buffer(channel->efx, &channel->eventq); -} +/* Hardware control for SFC4000 (aka Falcon). */ +static const unsigned int +/* "Large" EEPROM device: Atmel AT25640 or similar + * 8 KB, 16-bit address, 32 B write block */ +large_eeprom_type = ((13 << SPI_DEV_TYPE_SIZE_LBN) + | (2 << SPI_DEV_TYPE_ADDR_LEN_LBN) + | (5 << SPI_DEV_TYPE_BLOCK_SIZE_LBN)), +/* Default flash device: Atmel AT25F1024 + * 128 KB, 24-bit address, 32 KB erase block, 256 B write block */ +default_flash_type = ((17 << SPI_DEV_TYPE_SIZE_LBN) + | (3 << SPI_DEV_TYPE_ADDR_LEN_LBN) + | (0x52 << SPI_DEV_TYPE_ERASE_CMD_LBN) + | (15 << SPI_DEV_TYPE_ERASE_SIZE_LBN) + | (8 << SPI_DEV_TYPE_BLOCK_SIZE_LBN)); -/* Generates a test event on the event queue. A subsequent call to - * process_eventq() should pick up the event and place the value of - * "magic" into channel->eventq_magic; +/************************************************************************** + * + * I2C bus - this is a bit-bashing interface using GPIO pins + * Note that it uses the output enables to tristate the outputs + * SDA is the data pin and SCL is the clock + * + ************************************************************************** */ -void falcon_generate_test_event(struct efx_channel *channel, unsigned int magic) +static void falcon_setsda(void *data, int state) { - efx_qword_t test_event; + struct efx_nic *efx = (struct efx_nic *)data; + efx_oword_t reg; - EFX_POPULATE_QWORD_2(test_event, - EV_CODE, DRV_GEN_EV_DECODE, - EVQ_MAGIC, magic); - falcon_generate_event(channel, &test_event); + efx_reado(efx, ®, FR_AB_GPIO_CTL); + EFX_SET_OWORD_FIELD(reg, FRF_AB_GPIO3_OEN, !state); + efx_writeo(efx, ®, FR_AB_GPIO_CTL); } -void falcon_sim_phy_event(struct efx_nic *efx) +static void falcon_setscl(void *data, int state) { - efx_qword_t phy_event; - - EFX_POPULATE_QWORD_1(phy_event, EV_CODE, GLOBAL_EV_DECODE); - if (EFX_IS10G(efx)) - EFX_SET_QWORD_FIELD(phy_event, XG_PHY_INTR, 1); - else - EFX_SET_QWORD_FIELD(phy_event, G_PHY0_INTR, 1); + struct efx_nic *efx = (struct efx_nic *)data; + efx_oword_t reg; - falcon_generate_event(&efx->channel[0], &phy_event); + efx_reado(efx, ®, FR_AB_GPIO_CTL); + EFX_SET_OWORD_FIELD(reg, FRF_AB_GPIO0_OEN, !state); + efx_writeo(efx, ®, FR_AB_GPIO_CTL); } -/************************************************************************** - * - * Flush handling - * - **************************************************************************/ - - -static void falcon_poll_flush_events(struct efx_nic *efx) +static int falcon_getsda(void *data) { - struct efx_channel *channel = &efx->channel[0]; - struct efx_tx_queue *tx_queue; - struct efx_rx_queue *rx_queue; - unsigned int read_ptr = channel->eventq_read_ptr; - unsigned int end_ptr = (read_ptr - 1) & FALCON_EVQ_MASK; - - do { - efx_qword_t *event = falcon_event(channel, read_ptr); - int ev_code, ev_sub_code, ev_queue; - bool ev_failed; - - if (!falcon_event_present(event)) - break; - - ev_code = EFX_QWORD_FIELD(*event, EV_CODE); - ev_sub_code = EFX_QWORD_FIELD(*event, DRIVER_EV_SUB_CODE); - if (ev_code == DRIVER_EV_DECODE && - ev_sub_code == TX_DESCQ_FLS_DONE_EV_DECODE) { - ev_queue = EFX_QWORD_FIELD(*event, - DRIVER_EV_TX_DESCQ_ID); - if (ev_queue < EFX_TX_QUEUE_COUNT) { - tx_queue = efx->tx_queue + ev_queue; - tx_queue->flushed = true; - } - } else if (ev_code == DRIVER_EV_DECODE && - ev_sub_code == RX_DESCQ_FLS_DONE_EV_DECODE) { - ev_queue = EFX_QWORD_FIELD(*event, - DRIVER_EV_RX_DESCQ_ID); - ev_failed = EFX_QWORD_FIELD(*event, - DRIVER_EV_RX_FLUSH_FAIL); - if (ev_queue < efx->n_rx_queues) { - rx_queue = efx->rx_queue + ev_queue; - - /* retry the rx flush */ - if (ev_failed) - falcon_flush_rx_queue(rx_queue); - else - rx_queue->flushed = true; - } - } + struct efx_nic *efx = (struct efx_nic *)data; + efx_oword_t reg; - read_ptr = (read_ptr + 1) & FALCON_EVQ_MASK; - } while (read_ptr != end_ptr); + efx_reado(efx, ®, FR_AB_GPIO_CTL); + return EFX_OWORD_FIELD(reg, FRF_AB_GPIO3_IN); } -/* Handle tx and rx flushes at the same time, since they run in - * parallel in the hardware and there's no reason for us to - * serialise them */ -int falcon_flush_queues(struct efx_nic *efx) +static int falcon_getscl(void *data) { - struct efx_rx_queue *rx_queue; - struct efx_tx_queue *tx_queue; - int i; - bool outstanding; - - /* Issue flush requests */ - efx_for_each_tx_queue(tx_queue, efx) { - tx_queue->flushed = false; - falcon_flush_tx_queue(tx_queue); - } - efx_for_each_rx_queue(rx_queue, efx) { - rx_queue->flushed = false; - falcon_flush_rx_queue(rx_queue); - } - - /* Poll the evq looking for flush completions. Since we're not pushing - * any more rx or tx descriptors at this point, we're in no danger of - * overflowing the evq whilst we wait */ - for (i = 0; i < FALCON_FLUSH_POLL_COUNT; ++i) { - msleep(FALCON_FLUSH_INTERVAL); - falcon_poll_flush_events(efx); - - /* Check if every queue has been succesfully flushed */ - outstanding = false; - efx_for_each_tx_queue(tx_queue, efx) - outstanding |= !tx_queue->flushed; - efx_for_each_rx_queue(rx_queue, efx) - outstanding |= !rx_queue->flushed; - if (!outstanding) - return 0; - } - - /* Mark the queues as all flushed. We're going to return failure - * leading to a reset, or fake up success anyway. "flushed" now - * indicates that we tried to flush. */ - efx_for_each_tx_queue(tx_queue, efx) { - if (!tx_queue->flushed) - EFX_ERR(efx, "tx queue %d flush command timed out\n", - tx_queue->queue); - tx_queue->flushed = true; - } - efx_for_each_rx_queue(rx_queue, efx) { - if (!rx_queue->flushed) - EFX_ERR(efx, "rx queue %d flush command timed out\n", - rx_queue->queue); - rx_queue->flushed = true; - } - - if (EFX_WORKAROUND_7803(efx)) - return 0; + struct efx_nic *efx = (struct efx_nic *)data; + efx_oword_t reg; - return -ETIMEDOUT; + efx_reado(efx, ®, FR_AB_GPIO_CTL); + return EFX_OWORD_FIELD(reg, FRF_AB_GPIO0_IN); } -/************************************************************************** - * - * Falcon hardware interrupts - * The hardware interrupt handler does very little work; all the event - * queue processing is carried out by per-channel tasklets. - * - **************************************************************************/ +static struct i2c_algo_bit_data falcon_i2c_bit_operations = { + .setsda = falcon_setsda, + .setscl = falcon_setscl, + .getsda = falcon_getsda, + .getscl = falcon_getscl, + .udelay = 5, + /* Wait up to 50 ms for slave to let us pull SCL high */ + .timeout = DIV_ROUND_UP(HZ, 20), +}; -/* Enable/disable/generate Falcon interrupts */ -static inline void falcon_interrupts(struct efx_nic *efx, int enabled, - int force) +static void falcon_push_irq_moderation(struct efx_channel *channel) { - efx_oword_t int_en_reg_ker; + efx_dword_t timer_cmd; + struct efx_nic *efx = channel->efx; - EFX_POPULATE_OWORD_2(int_en_reg_ker, - KER_INT_KER, force, - DRV_INT_EN_KER, enabled); - falcon_write(efx, &int_en_reg_ker, INT_EN_REG_KER); + /* Set timer register */ + if (channel->irq_moderation) { + EFX_POPULATE_DWORD_2(timer_cmd, + FRF_AB_TC_TIMER_MODE, + FFE_BB_TIMER_MODE_INT_HLDOFF, + FRF_AB_TC_TIMER_VAL, + channel->irq_moderation - 1); + } else { + EFX_POPULATE_DWORD_2(timer_cmd, + FRF_AB_TC_TIMER_MODE, + FFE_BB_TIMER_MODE_DIS, + FRF_AB_TC_TIMER_VAL, 0); + } + BUILD_BUG_ON(FR_AA_TIMER_COMMAND_KER != FR_BZ_TIMER_COMMAND_P0); + efx_writed_page_locked(efx, &timer_cmd, FR_BZ_TIMER_COMMAND_P0, + channel->channel); } -void falcon_enable_interrupts(struct efx_nic *efx) -{ - efx_oword_t int_adr_reg_ker; - struct efx_channel *channel; - - EFX_ZERO_OWORD(*((efx_oword_t *) efx->irq_status.addr)); - wmb(); /* Ensure interrupt vector is clear before interrupts enabled */ +static void falcon_deconfigure_mac_wrapper(struct efx_nic *efx); - /* Program address */ - EFX_POPULATE_OWORD_2(int_adr_reg_ker, - NORM_INT_VEC_DIS_KER, EFX_INT_MODE_USE_MSI(efx), - INT_ADR_KER, efx->irq_status.dma_addr); - falcon_write(efx, &int_adr_reg_ker, INT_ADR_REG_KER); - - /* Enable interrupts */ - falcon_interrupts(efx, 1, 0); - - /* Force processing of all the channels to get the EVQ RPTRs up to - date */ - efx_for_each_channel(channel, efx) - efx_schedule_channel(channel); -} - -void falcon_disable_interrupts(struct efx_nic *efx) +static void falcon_prepare_flush(struct efx_nic *efx) { - /* Disable interrupts */ - falcon_interrupts(efx, 0, 0); -} + falcon_deconfigure_mac_wrapper(efx); -/* Generate a Falcon test interrupt - * Interrupt must already have been enabled, otherwise nasty things - * may happen. - */ -void falcon_generate_interrupt(struct efx_nic *efx) -{ - falcon_interrupts(efx, 1, 1); + /* Wait for the tx and rx fifo's to get to the next packet boundary + * (~1ms without back-pressure), then to drain the remainder of the + * fifo's at data path speeds (negligible), with a healthy margin. */ + msleep(10); } /* Acknowledge a legacy interrupt from Falcon @@ -1364,113 +144,17 @@ * * NB most hardware supports MSI interrupts */ -static inline void falcon_irq_ack_a1(struct efx_nic *efx) -{ - efx_dword_t reg; - - EFX_POPULATE_DWORD_1(reg, INT_ACK_DUMMY_DATA, 0xb7eb7e); - falcon_writel(efx, ®, INT_ACK_REG_KER_A1); - falcon_readl(efx, ®, WORK_AROUND_BROKEN_PCI_READS_REG_KER_A1); -} - -/* Process a fatal interrupt - * Disable bus mastering ASAP and schedule a reset - */ -static irqreturn_t falcon_fatal_interrupt(struct efx_nic *efx) -{ - struct falcon_nic_data *nic_data = efx->nic_data; - efx_oword_t *int_ker = efx->irq_status.addr; - efx_oword_t fatal_intr; - int error, mem_perr; - - falcon_read(efx, &fatal_intr, FATAL_INTR_REG_KER); - error = EFX_OWORD_FIELD(fatal_intr, INT_KER_ERROR); - - EFX_ERR(efx, "SYSTEM ERROR " EFX_OWORD_FMT " status " - EFX_OWORD_FMT ": %s\n", EFX_OWORD_VAL(*int_ker), - EFX_OWORD_VAL(fatal_intr), - error ? "disabling bus mastering" : "no recognised error"); - if (error == 0) - goto out; - - /* If this is a memory parity error dump which blocks are offending */ - mem_perr = EFX_OWORD_FIELD(fatal_intr, MEM_PERR_INT_KER); - if (mem_perr) { - efx_oword_t reg; - falcon_read(efx, ®, MEM_STAT_REG_KER); - EFX_ERR(efx, "SYSTEM ERROR: memory parity error " - EFX_OWORD_FMT "\n", EFX_OWORD_VAL(reg)); - } - - /* Disable both devices */ - pci_clear_master(efx->pci_dev); - if (FALCON_IS_DUAL_FUNC(efx)) - pci_clear_master(nic_data->pci_dev2); - falcon_disable_interrupts(efx); - - /* Count errors and reset or disable the NIC accordingly */ - if (nic_data->int_error_count == 0 || - time_after(jiffies, nic_data->int_error_expire)) { - nic_data->int_error_count = 0; - nic_data->int_error_expire = - jiffies + FALCON_INT_ERROR_EXPIRE * HZ; - } - if (++nic_data->int_error_count < FALCON_MAX_INT_ERRORS) { - EFX_ERR(efx, "SYSTEM ERROR - reset scheduled\n"); - efx_schedule_reset(efx, RESET_TYPE_INT_ERROR); - } else { - EFX_ERR(efx, "SYSTEM ERROR - max number of errors seen." - "NIC will be disabled\n"); - efx_schedule_reset(efx, RESET_TYPE_DISABLE); - } -out: - return IRQ_HANDLED; -} - -/* Handle a legacy interrupt from Falcon - * Acknowledges the interrupt and schedule event queue processing. - */ -static irqreturn_t falcon_legacy_interrupt_b0(int irq, void *dev_id) +inline void falcon_irq_ack_a1(struct efx_nic *efx) { - struct efx_nic *efx = dev_id; - efx_oword_t *int_ker = efx->irq_status.addr; - irqreturn_t result = IRQ_NONE; - struct efx_channel *channel; efx_dword_t reg; - u32 queues; - int syserr; - - /* Read the ISR which also ACKs the interrupts */ - falcon_readl(efx, ®, INT_ISR0_B0); - queues = EFX_EXTRACT_DWORD(reg, 0, 31); - - /* Check to see if we have a serious error condition */ - syserr = EFX_OWORD_FIELD(*int_ker, FATAL_INT); - if (unlikely(syserr)) - return falcon_fatal_interrupt(efx); - - /* Schedule processing of any interrupting queues */ - efx_for_each_channel(channel, efx) { - if ((queues & 1) || - falcon_event_present( - falcon_event(channel, channel->eventq_read_ptr))) { - efx_schedule_channel(channel); - result = IRQ_HANDLED; - } - queues >>= 1; - } - - if (result == IRQ_HANDLED) { - efx->last_irq_cpu = raw_smp_processor_id(); - EFX_TRACE(efx, "IRQ %d on CPU %d status " EFX_DWORD_FMT "\n", - irq, raw_smp_processor_id(), EFX_DWORD_VAL(reg)); - } - return result; + EFX_POPULATE_DWORD_1(reg, FRF_AA_INT_ACK_KER_FIELD, 0xb7eb7e); + efx_writed(efx, ®, FR_AA_INT_ACK_KER); + efx_readd(efx, ®, FR_AA_WORK_AROUND_BROKEN_PCI_READS); } -static irqreturn_t falcon_legacy_interrupt_a1(int irq, void *dev_id) +irqreturn_t falcon_legacy_interrupt_a1(int irq, void *dev_id) { struct efx_nic *efx = dev_id; efx_oword_t *int_ker = efx->irq_status.addr; @@ -1491,15 +175,15 @@ irq, raw_smp_processor_id(), EFX_OWORD_VAL(*int_ker)); /* Check to see if we have a serious error condition */ - syserr = EFX_OWORD_FIELD(*int_ker, FATAL_INT); + syserr = EFX_OWORD_FIELD(*int_ker, FSF_AZ_NET_IVEC_FATAL_INT); if (unlikely(syserr)) - return falcon_fatal_interrupt(efx); + return efx_nic_fatal_interrupt(efx); /* Determine interrupting queues, clear interrupt status * register and acknowledge the device interrupt. */ - BUILD_BUG_ON(INT_EVQS_WIDTH > EFX_MAX_CHANNELS); - queues = EFX_OWORD_FIELD(*int_ker, INT_EVQS); + BUILD_BUG_ON(FSF_AZ_NET_IVEC_INT_Q_WIDTH > EFX_MAX_CHANNELS); + queues = EFX_OWORD_FIELD(*int_ker, FSF_AZ_NET_IVEC_INT_Q); EFX_ZERO_OWORD(*int_ker); wmb(); /* Ensure the vector is cleared before interrupt ack */ falcon_irq_ack_a1(efx); @@ -1515,126 +199,6 @@ return IRQ_HANDLED; } - -/* Handle an MSI interrupt from Falcon - * - * Handle an MSI hardware interrupt. This routine schedules event - * queue processing. No interrupt acknowledgement cycle is necessary. - * Also, we never need to check that the interrupt is for us, since - * MSI interrupts cannot be shared. - */ -static irqreturn_t falcon_msi_interrupt(int irq, void *dev_id) -{ - struct efx_channel *channel = dev_id; - struct efx_nic *efx = channel->efx; - efx_oword_t *int_ker = efx->irq_status.addr; - int syserr; - - efx->last_irq_cpu = raw_smp_processor_id(); - EFX_TRACE(efx, "IRQ %d on CPU %d status " EFX_OWORD_FMT "\n", - irq, raw_smp_processor_id(), EFX_OWORD_VAL(*int_ker)); - - /* Check to see if we have a serious error condition */ - syserr = EFX_OWORD_FIELD(*int_ker, FATAL_INT); - if (unlikely(syserr)) - return falcon_fatal_interrupt(efx); - - /* Schedule processing of the channel */ - efx_schedule_channel(channel); - - return IRQ_HANDLED; -} - - -/* Setup RSS indirection table. - * This maps from the hash value of the packet to RXQ - */ -static void falcon_setup_rss_indir_table(struct efx_nic *efx) -{ - int i = 0; - unsigned long offset; - efx_dword_t dword; - - if (falcon_rev(efx) < FALCON_REV_B0) - return; - - for (offset = RX_RSS_INDIR_TBL_B0; - offset < RX_RSS_INDIR_TBL_B0 + 0x800; - offset += 0x10) { - EFX_POPULATE_DWORD_1(dword, RX_RSS_INDIR_ENT_B0, - i % efx->n_rx_queues); - falcon_writel(efx, &dword, offset); - i++; - } -} - -/* Hook interrupt handler(s) - * Try MSI and then legacy interrupts. - */ -int falcon_init_interrupt(struct efx_nic *efx) -{ - struct efx_channel *channel; - int rc; - - if (!EFX_INT_MODE_USE_MSI(efx)) { - irq_handler_t handler; - if (falcon_rev(efx) >= FALCON_REV_B0) - handler = falcon_legacy_interrupt_b0; - else - handler = falcon_legacy_interrupt_a1; - - rc = request_irq(efx->legacy_irq, handler, IRQF_SHARED, - efx->name, efx); - if (rc) { - EFX_ERR(efx, "failed to hook legacy IRQ %d\n", - efx->pci_dev->irq); - goto fail1; - } - return 0; - } - - /* Hook MSI or MSI-X interrupt */ - efx_for_each_channel(channel, efx) { - rc = request_irq(channel->irq, falcon_msi_interrupt, - IRQF_PROBE_SHARED, /* Not shared */ - channel->name, channel); - if (rc) { - EFX_ERR(efx, "failed to hook IRQ %d\n", channel->irq); - goto fail2; - } - } - - return 0; - - fail2: - efx_for_each_channel(channel, efx) - free_irq(channel->irq, channel); - fail1: - return rc; -} - -void falcon_fini_interrupt(struct efx_nic *efx) -{ - struct efx_channel *channel; - efx_oword_t reg; - - /* Disable MSI/MSI-X interrupts */ - efx_for_each_channel(channel, efx) { - if (channel->irq) - free_irq(channel->irq, channel); - } - - /* ACK legacy interrupt */ - if (falcon_rev(efx) >= FALCON_REV_B0) - falcon_read(efx, ®, INT_ISR0_B0); - else - falcon_irq_ack_a1(efx); - - /* Disable legacy interrupt */ - if (efx->legacy_irq) - free_irq(efx->legacy_irq, efx); -} - /************************************************************************** * * EEPROM/flash @@ -1647,8 +211,8 @@ static int falcon_spi_poll(struct efx_nic *efx) { efx_oword_t reg; - falcon_read(efx, ®, EE_SPI_HCMD_REG_KER); - return EFX_OWORD_FIELD(reg, EE_SPI_HCMD_CMD_EN) ? -EBUSY : 0; + efx_reado(efx, ®, FR_AB_EE_SPI_HCMD); + return EFX_OWORD_FIELD(reg, FRF_AB_EE_SPI_HCMD_CMD_EN) ? -EBUSY : 0; } /* Wait for SPI command completion */ @@ -1678,11 +242,10 @@ } } -int falcon_spi_cmd(const struct efx_spi_device *spi, +int falcon_spi_cmd(struct efx_nic *efx, const struct efx_spi_device *spi, unsigned int command, int address, const void *in, void *out, size_t len) { - struct efx_nic *efx = spi->efx; bool addressed = (address >= 0); bool reading = (out != NULL); efx_oword_t reg; @@ -1700,27 +263,27 @@ /* Program address register, if we have an address */ if (addressed) { - EFX_POPULATE_OWORD_1(reg, EE_SPI_HADR_ADR, address); - falcon_write(efx, ®, EE_SPI_HADR_REG_KER); + EFX_POPULATE_OWORD_1(reg, FRF_AB_EE_SPI_HADR_ADR, address); + efx_writeo(efx, ®, FR_AB_EE_SPI_HADR); } /* Program data register, if we have data */ if (in != NULL) { memcpy(®, in, len); - falcon_write(efx, ®, EE_SPI_HDATA_REG_KER); + efx_writeo(efx, ®, FR_AB_EE_SPI_HDATA); } /* Issue read/write command */ EFX_POPULATE_OWORD_7(reg, - EE_SPI_HCMD_CMD_EN, 1, - EE_SPI_HCMD_SF_SEL, spi->device_id, - EE_SPI_HCMD_DABCNT, len, - EE_SPI_HCMD_READ, reading, - EE_SPI_HCMD_DUBCNT, 0, - EE_SPI_HCMD_ADBCNT, + FRF_AB_EE_SPI_HCMD_CMD_EN, 1, + FRF_AB_EE_SPI_HCMD_SF_SEL, spi->device_id, + FRF_AB_EE_SPI_HCMD_DABCNT, len, + FRF_AB_EE_SPI_HCMD_READ, reading, + FRF_AB_EE_SPI_HCMD_DUBCNT, 0, + FRF_AB_EE_SPI_HCMD_ADBCNT, (addressed ? spi->addr_len : 0), - EE_SPI_HCMD_ENC, command); - falcon_write(efx, ®, EE_SPI_HCMD_REG_KER); + FRF_AB_EE_SPI_HCMD_ENC, command); + efx_writeo(efx, ®, FR_AB_EE_SPI_HCMD); /* Wait for read/write to complete */ rc = falcon_spi_wait(efx); @@ -1729,7 +292,7 @@ /* Read data */ if (out != NULL) { - falcon_read(efx, ®, EE_SPI_HDATA_REG_KER); + efx_reado(efx, ®, FR_AB_EE_SPI_HDATA); memcpy(out, ®, len); } @@ -1751,15 +314,15 @@ } /* Wait up to 10 ms for buffered write completion */ -int falcon_spi_wait_write(const struct efx_spi_device *spi) +int +falcon_spi_wait_write(struct efx_nic *efx, const struct efx_spi_device *spi) { - struct efx_nic *efx = spi->efx; unsigned long timeout = jiffies + 1 + DIV_ROUND_UP(HZ, 100); u8 status; int rc; for (;;) { - rc = falcon_spi_cmd(spi, SPI_RDSR, -1, NULL, + rc = falcon_spi_cmd(efx, spi, SPI_RDSR, -1, NULL, &status, sizeof(status)); if (rc) return rc; @@ -1775,8 +338,8 @@ } } -int falcon_spi_read(const struct efx_spi_device *spi, loff_t start, - size_t len, size_t *retlen, u8 *buffer) +int falcon_spi_read(struct efx_nic *efx, const struct efx_spi_device *spi, + loff_t start, size_t len, size_t *retlen, u8 *buffer) { size_t block_len, pos = 0; unsigned int command; @@ -1786,7 +349,7 @@ block_len = min(len - pos, FALCON_SPI_MAX_LEN); command = efx_spi_munge_command(spi, SPI_READ, start + pos); - rc = falcon_spi_cmd(spi, command, start + pos, NULL, + rc = falcon_spi_cmd(efx, spi, command, start + pos, NULL, buffer + pos, block_len); if (rc) break; @@ -1805,8 +368,9 @@ return rc; } -int falcon_spi_write(const struct efx_spi_device *spi, loff_t start, - size_t len, size_t *retlen, const u8 *buffer) +int +falcon_spi_write(struct efx_nic *efx, const struct efx_spi_device *spi, + loff_t start, size_t len, size_t *retlen, const u8 *buffer) { u8 verify_buffer[FALCON_SPI_MAX_LEN]; size_t block_len, pos = 0; @@ -1814,24 +378,24 @@ int rc = 0; while (pos < len) { - rc = falcon_spi_cmd(spi, SPI_WREN, -1, NULL, NULL, 0); + rc = falcon_spi_cmd(efx, spi, SPI_WREN, -1, NULL, NULL, 0); if (rc) break; block_len = min(len - pos, falcon_spi_write_limit(spi, start + pos)); command = efx_spi_munge_command(spi, SPI_WRITE, start + pos); - rc = falcon_spi_cmd(spi, command, start + pos, + rc = falcon_spi_cmd(efx, spi, command, start + pos, buffer + pos, NULL, block_len); if (rc) break; - rc = falcon_spi_wait_write(spi); + rc = falcon_spi_wait_write(efx, spi); if (rc) break; command = efx_spi_munge_command(spi, SPI_READ, start + pos); - rc = falcon_spi_cmd(spi, command, start + pos, + rc = falcon_spi_cmd(efx, spi, command, start + pos, NULL, verify_buffer, block_len); if (memcmp(verify_buffer, buffer + pos, block_len)) { rc = -EIO; @@ -1860,60 +424,70 @@ ************************************************************************** */ -static int falcon_reset_macs(struct efx_nic *efx) +static void falcon_push_multicast_hash(struct efx_nic *efx) { - efx_oword_t reg; + union efx_multicast_hash *mc_hash = &efx->multicast_hash; + + WARN_ON(!mutex_is_locked(&efx->mac_lock)); + + efx_writeo(efx, &mc_hash->oword[0], FR_AB_MAC_MC_HASH_REG0); + efx_writeo(efx, &mc_hash->oword[1], FR_AB_MAC_MC_HASH_REG1); +} + +static void falcon_reset_macs(struct efx_nic *efx) +{ + struct falcon_nic_data *nic_data = efx->nic_data; + efx_oword_t reg, mac_ctrl; int count; - if (falcon_rev(efx) < FALCON_REV_B0) { + if (efx_nic_rev(efx) < EFX_REV_FALCON_B0) { /* It's not safe to use GLB_CTL_REG to reset the * macs, so instead use the internal MAC resets */ if (!EFX_IS10G(efx)) { - EFX_POPULATE_OWORD_1(reg, GM_SW_RST, 1); - falcon_write(efx, ®, GM_CFG1_REG); + EFX_POPULATE_OWORD_1(reg, FRF_AB_GM_SW_RST, 1); + efx_writeo(efx, ®, FR_AB_GM_CFG1); udelay(1000); - EFX_POPULATE_OWORD_1(reg, GM_SW_RST, 0); - falcon_write(efx, ®, GM_CFG1_REG); + EFX_POPULATE_OWORD_1(reg, FRF_AB_GM_SW_RST, 0); + efx_writeo(efx, ®, FR_AB_GM_CFG1); udelay(1000); - return 0; + return; } else { - EFX_POPULATE_OWORD_1(reg, XM_CORE_RST, 1); - falcon_write(efx, ®, XM_GLB_CFG_REG); + EFX_POPULATE_OWORD_1(reg, FRF_AB_XM_CORE_RST, 1); + efx_writeo(efx, ®, FR_AB_XM_GLB_CFG); for (count = 0; count < 10000; count++) { - falcon_read(efx, ®, XM_GLB_CFG_REG); - if (EFX_OWORD_FIELD(reg, XM_CORE_RST) == 0) - return 0; + efx_reado(efx, ®, FR_AB_XM_GLB_CFG); + if (EFX_OWORD_FIELD(reg, FRF_AB_XM_CORE_RST) == + 0) + return; udelay(10); } EFX_ERR(efx, "timed out waiting for XMAC core reset\n"); - return -ETIMEDOUT; } } - /* MAC stats will fail whilst the TX fifo is draining. Serialise - * the drain sequence with the statistics fetch */ - efx_stats_disable(efx); - - falcon_read(efx, ®, MAC0_CTRL_REG_KER); - EFX_SET_OWORD_FIELD(reg, TXFIFO_DRAIN_EN_B0, 1); - falcon_write(efx, ®, MAC0_CTRL_REG_KER); - - falcon_read(efx, ®, GLB_CTL_REG_KER); - EFX_SET_OWORD_FIELD(reg, RST_XGTX, 1); - EFX_SET_OWORD_FIELD(reg, RST_XGRX, 1); - EFX_SET_OWORD_FIELD(reg, RST_EM, 1); - falcon_write(efx, ®, GLB_CTL_REG_KER); + /* Mac stats will fail whist the TX fifo is draining */ + WARN_ON(nic_data->stats_disable_count == 0); + + efx_reado(efx, &mac_ctrl, FR_AB_MAC_CTRL); + EFX_SET_OWORD_FIELD(mac_ctrl, FRF_BB_TXFIFO_DRAIN_EN, 1); + efx_writeo(efx, &mac_ctrl, FR_AB_MAC_CTRL); + + efx_reado(efx, ®, FR_AB_GLB_CTL); + EFX_SET_OWORD_FIELD(reg, FRF_AB_RST_XGTX, 1); + EFX_SET_OWORD_FIELD(reg, FRF_AB_RST_XGRX, 1); + EFX_SET_OWORD_FIELD(reg, FRF_AB_RST_EM, 1); + efx_writeo(efx, ®, FR_AB_GLB_CTL); count = 0; while (1) { - falcon_read(efx, ®, GLB_CTL_REG_KER); - if (!EFX_OWORD_FIELD(reg, RST_XGTX) && - !EFX_OWORD_FIELD(reg, RST_XGRX) && - !EFX_OWORD_FIELD(reg, RST_EM)) { + efx_reado(efx, ®, FR_AB_GLB_CTL); + if (!EFX_OWORD_FIELD(reg, FRF_AB_RST_XGTX) && + !EFX_OWORD_FIELD(reg, FRF_AB_RST_XGRX) && + !EFX_OWORD_FIELD(reg, FRF_AB_RST_EM)) { EFX_LOG(efx, "Completed MAC reset after %d loops\n", count); break; @@ -1926,55 +500,50 @@ udelay(10); } - efx_stats_enable(efx); - - /* If we've reset the EM block and the link is up, then - * we'll have to kick the XAUI link so the PHY can recover */ - if (efx->link_up && EFX_IS10G(efx) && EFX_WORKAROUND_5147(efx)) - falcon_reset_xaui(efx); - - return 0; + /* Ensure the correct MAC is selected before statistics + * are re-enabled by the caller */ + efx_writeo(efx, &mac_ctrl, FR_AB_MAC_CTRL); } void falcon_drain_tx_fifo(struct efx_nic *efx) { efx_oword_t reg; - if ((falcon_rev(efx) < FALCON_REV_B0) || + if ((efx_nic_rev(efx) < EFX_REV_FALCON_B0) || (efx->loopback_mode != LOOPBACK_NONE)) return; - falcon_read(efx, ®, MAC0_CTRL_REG_KER); + efx_reado(efx, ®, FR_AB_MAC_CTRL); /* There is no point in draining more than once */ - if (EFX_OWORD_FIELD(reg, TXFIFO_DRAIN_EN_B0)) + if (EFX_OWORD_FIELD(reg, FRF_BB_TXFIFO_DRAIN_EN)) return; falcon_reset_macs(efx); } -void falcon_deconfigure_mac_wrapper(struct efx_nic *efx) +static void falcon_deconfigure_mac_wrapper(struct efx_nic *efx) { efx_oword_t reg; - if (falcon_rev(efx) < FALCON_REV_B0) + if (efx_nic_rev(efx) < EFX_REV_FALCON_B0) return; /* Isolate the MAC -> RX */ - falcon_read(efx, ®, RX_CFG_REG_KER); - EFX_SET_OWORD_FIELD(reg, RX_INGR_EN_B0, 0); - falcon_write(efx, ®, RX_CFG_REG_KER); + efx_reado(efx, ®, FR_AZ_RX_CFG); + EFX_SET_OWORD_FIELD(reg, FRF_BZ_RX_INGR_EN, 0); + efx_writeo(efx, ®, FR_AZ_RX_CFG); - if (!efx->link_up) - falcon_drain_tx_fifo(efx); + /* Isolate TX -> MAC */ + falcon_drain_tx_fifo(efx); } void falcon_reconfigure_mac_wrapper(struct efx_nic *efx) { + struct efx_link_state *link_state = &efx->link_state; efx_oword_t reg; int link_speed; - bool tx_fc; - switch (efx->link_speed) { + switch (link_state->speed) { case 10000: link_speed = 3; break; case 1000: link_speed = 2; break; case 100: link_speed = 1; break; @@ -1985,75 +554,139 @@ * indefinitely held and TX queue can be flushed at any point * while the link is down. */ EFX_POPULATE_OWORD_5(reg, - MAC_XOFF_VAL, 0xffff /* max pause time */, - MAC_BCAD_ACPT, 1, - MAC_UC_PROM, efx->promiscuous, - MAC_LINK_STATUS, 1, /* always set */ - MAC_SPEED, link_speed); + FRF_AB_MAC_XOFF_VAL, 0xffff /* max pause time */, + FRF_AB_MAC_BCAD_ACPT, 1, + FRF_AB_MAC_UC_PROM, efx->promiscuous, + FRF_AB_MAC_LINK_STATUS, 1, /* always set */ + FRF_AB_MAC_SPEED, link_speed); /* On B0, MAC backpressure can be disabled and packets get * discarded. */ - if (falcon_rev(efx) >= FALCON_REV_B0) { - EFX_SET_OWORD_FIELD(reg, TXFIFO_DRAIN_EN_B0, - !efx->link_up); + if (efx_nic_rev(efx) >= EFX_REV_FALCON_B0) { + EFX_SET_OWORD_FIELD(reg, FRF_BB_TXFIFO_DRAIN_EN, + !link_state->up); + } + + efx_writeo(efx, ®, FR_AB_MAC_CTRL); + + /* Restore the multicast hash registers. */ + falcon_push_multicast_hash(efx); + + efx_reado(efx, ®, FR_AZ_RX_CFG); + /* Enable XOFF signal from RX FIFO (we enabled it during NIC + * initialisation but it may read back as 0) */ + EFX_SET_OWORD_FIELD(reg, FRF_AZ_RX_XOFF_MAC_EN, 1); + /* Unisolate the MAC -> RX */ + if (efx_nic_rev(efx) >= EFX_REV_FALCON_B0) + EFX_SET_OWORD_FIELD(reg, FRF_BZ_RX_INGR_EN, 1); + efx_writeo(efx, ®, FR_AZ_RX_CFG); +} + +static void falcon_stats_request(struct efx_nic *efx) +{ + struct falcon_nic_data *nic_data = efx->nic_data; + efx_oword_t reg; + + WARN_ON(nic_data->stats_pending); + WARN_ON(nic_data->stats_disable_count); + + if (nic_data->stats_dma_done == NULL) + return; /* no mac selected */ + + *nic_data->stats_dma_done = FALCON_STATS_NOT_DONE; + nic_data->stats_pending = true; + wmb(); /* ensure done flag is clear */ + + /* Initiate DMA transfer of stats */ + EFX_POPULATE_OWORD_2(reg, + FRF_AB_MAC_STAT_DMA_CMD, 1, + FRF_AB_MAC_STAT_DMA_ADR, + efx->stats_buffer.dma_addr); + efx_writeo(efx, ®, FR_AB_MAC_STAT_DMA); + + mod_timer(&nic_data->stats_timer, round_jiffies_up(jiffies + HZ / 2)); +} + +static void falcon_stats_complete(struct efx_nic *efx) +{ + struct falcon_nic_data *nic_data = efx->nic_data; + + if (!nic_data->stats_pending) + return; + + nic_data->stats_pending = 0; + if (*nic_data->stats_dma_done == FALCON_STATS_DONE) { + rmb(); /* read the done flag before the stats */ + efx->mac_op->update_stats(efx); + } else { + EFX_ERR(efx, "timed out waiting for statistics\n"); } +} + +static void falcon_stats_timer_func(unsigned long context) +{ + struct efx_nic *efx = (struct efx_nic *)context; + struct falcon_nic_data *nic_data = efx->nic_data; + + spin_lock(&efx->stats_lock); - falcon_write(efx, ®, MAC0_CTRL_REG_KER); + falcon_stats_complete(efx); + if (nic_data->stats_disable_count == 0) + falcon_stats_request(efx); - /* Restore the multicast hash registers. */ - falcon_set_multicast_hash(efx); + spin_unlock(&efx->stats_lock); +} - /* Transmission of pause frames when RX crosses the threshold is - * covered by RX_XOFF_MAC_EN and XM_TX_CFG_REG:XM_FCNTL. - * Action on receipt of pause frames is controller by XM_DIS_FCNTL */ - tx_fc = !!(efx->link_fc & EFX_FC_TX); - falcon_read(efx, ®, RX_CFG_REG_KER); - EFX_SET_OWORD_FIELD_VER(efx, reg, RX_XOFF_MAC_EN, tx_fc); +static void falcon_switch_mac(struct efx_nic *efx); - /* Unisolate the MAC -> RX */ - if (falcon_rev(efx) >= FALCON_REV_B0) - EFX_SET_OWORD_FIELD(reg, RX_INGR_EN_B0, 1); - falcon_write(efx, ®, RX_CFG_REG_KER); +static bool falcon_loopback_link_poll(struct efx_nic *efx) +{ + struct efx_link_state old_state = efx->link_state; + + WARN_ON(!mutex_is_locked(&efx->mac_lock)); + WARN_ON(!LOOPBACK_INTERNAL(efx)); + + efx->link_state.fd = true; + efx->link_state.fc = efx->wanted_fc; + efx->link_state.up = true; + + if (efx->loopback_mode == LOOPBACK_GMAC) + efx->link_state.speed = 1000; + else + efx->link_state.speed = 10000; + + return !efx_link_state_equal(&efx->link_state, &old_state); } -int falcon_dma_stats(struct efx_nic *efx, unsigned int done_offset) +static int falcon_reconfigure_port(struct efx_nic *efx) { - efx_oword_t reg; - u32 *dma_done; - int i; + int rc; - if (disable_dma_stats) - return 0; + WARN_ON(efx_nic_rev(efx) > EFX_REV_FALCON_B0); - /* Statistics fetch will fail if the MAC is in TX drain */ - if (falcon_rev(efx) >= FALCON_REV_B0) { - efx_oword_t temp; - falcon_read(efx, &temp, MAC0_CTRL_REG_KER); - if (EFX_OWORD_FIELD(temp, TXFIFO_DRAIN_EN_B0)) - return 0; - } + /* Poll the PHY link state *before* reconfiguring it. This means we + * will pick up the correct speed (in loopback) to select the correct + * MAC. + */ + if (LOOPBACK_INTERNAL(efx)) + falcon_loopback_link_poll(efx); + else + efx->phy_op->poll(efx); - dma_done = (efx->stats_buffer.addr + done_offset); - *dma_done = FALCON_STATS_NOT_DONE; - wmb(); /* ensure done flag is clear */ + falcon_stop_nic_stats(efx); + falcon_deconfigure_mac_wrapper(efx); - /* Initiate DMA transfer of stats */ - EFX_POPULATE_OWORD_2(reg, - MAC_STAT_DMA_CMD, 1, - MAC_STAT_DMA_ADR, - efx->stats_buffer.dma_addr); - falcon_write(efx, ®, MAC0_STAT_DMA_REG_KER); + falcon_switch_mac(efx); - /* Wait for transfer to complete */ - for (i = 0; i < 400; i++) { - if (*(volatile u32 *)dma_done == FALCON_STATS_DONE) { - rmb(); /* Ensure the stats are valid. */ - return 0; - } - udelay(10); - } + efx->phy_op->reconfigure(efx); + rc = efx->mac_op->reconfigure(efx); + BUG_ON(rc); - EFX_ERR(efx, "timed out waiting for statistics\n"); - return -ETIMEDOUT; + falcon_start_nic_stats(efx); + + /* Synchronise efx->link_state with the kernel */ + efx_link_status_changed(efx); + + return 0; } /************************************************************************** @@ -2066,18 +699,18 @@ /* Wait for GMII access to complete */ static int falcon_gmii_wait(struct efx_nic *efx) { - efx_dword_t md_stat; + efx_oword_t md_stat; int count; /* wait upto 50ms - taken max from datasheet */ for (count = 0; count < 5000; count++) { - falcon_readl(efx, &md_stat, MD_STAT_REG_KER); - if (EFX_DWORD_FIELD(md_stat, MD_BSY) == 0) { - if (EFX_DWORD_FIELD(md_stat, MD_LNFL) != 0 || - EFX_DWORD_FIELD(md_stat, MD_BSERR) != 0) { + efx_reado(efx, &md_stat, FR_AB_MD_STAT); + if (EFX_OWORD_FIELD(md_stat, FRF_AB_MD_BSY) == 0) { + if (EFX_OWORD_FIELD(md_stat, FRF_AB_MD_LNFL) != 0 || + EFX_OWORD_FIELD(md_stat, FRF_AB_MD_BSERR) != 0) { EFX_ERR(efx, "error from GMII access " - EFX_DWORD_FMT"\n", - EFX_DWORD_VAL(md_stat)); + EFX_OWORD_FMT"\n", + EFX_OWORD_VAL(md_stat)); return -EIO; } return 0; @@ -2099,7 +732,7 @@ EFX_REGDUMP(efx, "writing MDIO %d register %d.%d with 0x%04x\n", prtad, devad, addr, value); - spin_lock_bh(&efx->phy_lock); + mutex_lock(&efx->mdio_lock); /* Check MDIO not currently being accessed */ rc = falcon_gmii_wait(efx); @@ -2107,34 +740,35 @@ goto out; /* Write the address/ID register */ - EFX_POPULATE_OWORD_1(reg, MD_PHY_ADR, addr); - falcon_write(efx, ®, MD_PHY_ADR_REG_KER); + EFX_POPULATE_OWORD_1(reg, FRF_AB_MD_PHY_ADR, addr); + efx_writeo(efx, ®, FR_AB_MD_PHY_ADR); - EFX_POPULATE_OWORD_2(reg, MD_PRT_ADR, prtad, MD_DEV_ADR, devad); - falcon_write(efx, ®, MD_ID_REG_KER); + EFX_POPULATE_OWORD_2(reg, FRF_AB_MD_PRT_ADR, prtad, + FRF_AB_MD_DEV_ADR, devad); + efx_writeo(efx, ®, FR_AB_MD_ID); /* Write data */ - EFX_POPULATE_OWORD_1(reg, MD_TXD, value); - falcon_write(efx, ®, MD_TXD_REG_KER); + EFX_POPULATE_OWORD_1(reg, FRF_AB_MD_TXD, value); + efx_writeo(efx, ®, FR_AB_MD_TXD); EFX_POPULATE_OWORD_2(reg, - MD_WRC, 1, - MD_GC, 0); - falcon_write(efx, ®, MD_CS_REG_KER); + FRF_AB_MD_WRC, 1, + FRF_AB_MD_GC, 0); + efx_writeo(efx, ®, FR_AB_MD_CS); /* Wait for data to be written */ rc = falcon_gmii_wait(efx); if (rc) { /* Abort the write operation */ EFX_POPULATE_OWORD_2(reg, - MD_WRC, 0, - MD_GC, 1); - falcon_write(efx, ®, MD_CS_REG_KER); + FRF_AB_MD_WRC, 0, + FRF_AB_MD_GC, 1); + efx_writeo(efx, ®, FR_AB_MD_CS); udelay(10); } - out: - spin_unlock_bh(&efx->phy_lock); +out: + mutex_unlock(&efx->mdio_lock); return rc; } @@ -2146,152 +780,139 @@ efx_oword_t reg; int rc; - spin_lock_bh(&efx->phy_lock); + mutex_lock(&efx->mdio_lock); /* Check MDIO not currently being accessed */ rc = falcon_gmii_wait(efx); if (rc) goto out; - EFX_POPULATE_OWORD_1(reg, MD_PHY_ADR, addr); - falcon_write(efx, ®, MD_PHY_ADR_REG_KER); + EFX_POPULATE_OWORD_1(reg, FRF_AB_MD_PHY_ADR, addr); + efx_writeo(efx, ®, FR_AB_MD_PHY_ADR); - EFX_POPULATE_OWORD_2(reg, MD_PRT_ADR, prtad, MD_DEV_ADR, devad); - falcon_write(efx, ®, MD_ID_REG_KER); + EFX_POPULATE_OWORD_2(reg, FRF_AB_MD_PRT_ADR, prtad, + FRF_AB_MD_DEV_ADR, devad); + efx_writeo(efx, ®, FR_AB_MD_ID); /* Request data to be read */ - EFX_POPULATE_OWORD_2(reg, MD_RDC, 1, MD_GC, 0); - falcon_write(efx, ®, MD_CS_REG_KER); + EFX_POPULATE_OWORD_2(reg, FRF_AB_MD_RDC, 1, FRF_AB_MD_GC, 0); + efx_writeo(efx, ®, FR_AB_MD_CS); /* Wait for data to become available */ rc = falcon_gmii_wait(efx); if (rc == 0) { - falcon_read(efx, ®, MD_RXD_REG_KER); - rc = EFX_OWORD_FIELD(reg, MD_RXD); + efx_reado(efx, ®, FR_AB_MD_RXD); + rc = EFX_OWORD_FIELD(reg, FRF_AB_MD_RXD); EFX_REGDUMP(efx, "read from MDIO %d register %d.%d, got %04x\n", prtad, devad, addr, rc); } else { /* Abort the read operation */ EFX_POPULATE_OWORD_2(reg, - MD_RIC, 0, - MD_GC, 1); - falcon_write(efx, ®, MD_CS_REG_KER); + FRF_AB_MD_RIC, 0, + FRF_AB_MD_GC, 1); + efx_writeo(efx, ®, FR_AB_MD_CS); EFX_LOG(efx, "read from MDIO %d register %d.%d, got error %d\n", prtad, devad, addr, rc); } - out: - spin_unlock_bh(&efx->phy_lock); +out: + mutex_unlock(&efx->mdio_lock); return rc; } -static int falcon_probe_phy(struct efx_nic *efx) +static void falcon_clock_mac(struct efx_nic *efx) { - switch (efx->phy_type) { - case PHY_TYPE_SFX7101: - efx->phy_op = &falcon_sfx7101_phy_ops; - break; - case PHY_TYPE_SFT9001A: - case PHY_TYPE_SFT9001B: - efx->phy_op = &falcon_sft9001_phy_ops; - break; - case PHY_TYPE_QT2022C2: - case PHY_TYPE_QT2025C: - efx->phy_op = &falcon_xfp_phy_ops; - break; - default: - EFX_ERR(efx, "Unknown PHY type %d\n", - efx->phy_type); - return -1; - } - - if (efx->phy_op->macs & EFX_XMAC) - efx->loopback_modes |= ((1 << LOOPBACK_XGMII) | - (1 << LOOPBACK_XGXS) | - (1 << LOOPBACK_XAUI)); - if (efx->phy_op->macs & EFX_GMAC) - efx->loopback_modes |= (1 << LOOPBACK_GMAC); - efx->loopback_modes |= efx->phy_op->loopbacks; + unsigned strap_val; + efx_oword_t nic_stat; - return 0; + /* Configure the NIC generated MAC clock correctly */ + efx_reado(efx, &nic_stat, FR_AB_NIC_STAT); + strap_val = EFX_IS10G(efx) ? 5 : 3; + if (efx_nic_rev(efx) >= EFX_REV_FALCON_B0) { + EFX_SET_OWORD_FIELD(nic_stat, FRF_BB_EE_STRAP_EN, 1); + EFX_SET_OWORD_FIELD(nic_stat, FRF_BB_EE_STRAP, strap_val); + efx_writeo(efx, &nic_stat, FR_AB_NIC_STAT); + } else { + /* Falcon A1 does not support 1G/10G speed switching + * and must not be used with a PHY that does. */ + BUG_ON(EFX_OWORD_FIELD(nic_stat, FRF_AB_STRAP_PINS) != + strap_val); + } } -int falcon_switch_mac(struct efx_nic *efx) +static void falcon_switch_mac(struct efx_nic *efx) { struct efx_mac_operations *old_mac_op = efx->mac_op; - efx_oword_t nic_stat; - unsigned strap_val; - int rc = 0; - - /* Don't try to fetch MAC stats while we're switching MACs */ - efx_stats_disable(efx); - - /* Internal loopbacks override the phy speed setting */ - if (efx->loopback_mode == LOOPBACK_GMAC) { - efx->link_speed = 1000; - efx->link_fd = true; - } else if (LOOPBACK_INTERNAL(efx)) { - efx->link_speed = 10000; - efx->link_fd = true; - } + struct falcon_nic_data *nic_data = efx->nic_data; + unsigned int stats_done_offset; WARN_ON(!mutex_is_locked(&efx->mac_lock)); + WARN_ON(nic_data->stats_disable_count == 0); + efx->mac_op = (EFX_IS10G(efx) ? &falcon_xmac_operations : &falcon_gmac_operations); - /* Always push the NIC_STAT_REG setting even if the mac hasn't - * changed, because this function is run post online reset */ - falcon_read(efx, &nic_stat, NIC_STAT_REG); - strap_val = EFX_IS10G(efx) ? 5 : 3; - if (falcon_rev(efx) >= FALCON_REV_B0) { - EFX_SET_OWORD_FIELD(nic_stat, EE_STRAP_EN, 1); - EFX_SET_OWORD_FIELD(nic_stat, EE_STRAP_OVR, strap_val); - falcon_write(efx, &nic_stat, NIC_STAT_REG); - } else { - /* Falcon A1 does not support 1G/10G speed switching - * and must not be used with a PHY that does. */ - BUG_ON(EFX_OWORD_FIELD(nic_stat, STRAP_PINS) != strap_val); - } + if (EFX_IS10G(efx)) + stats_done_offset = XgDmaDone_offset; + else + stats_done_offset = GDmaDone_offset; + nic_data->stats_dma_done = efx->stats_buffer.addr + stats_done_offset; if (old_mac_op == efx->mac_op) - goto out; + return; + + falcon_clock_mac(efx); EFX_LOG(efx, "selected %cMAC\n", EFX_IS10G(efx) ? 'X' : 'G'); /* Not all macs support a mac-level link state */ - efx->mac_up = true; - - rc = falcon_reset_macs(efx); -out: - efx_stats_enable(efx); - return rc; + efx->xmac_poll_required = false; + falcon_reset_macs(efx); } /* This call is responsible for hooking in the MAC and PHY operations */ -int falcon_probe_port(struct efx_nic *efx) +static int falcon_probe_port(struct efx_nic *efx) { int rc; - /* Hook in PHY operations table */ - rc = falcon_probe_phy(efx); - if (rc) - return rc; + switch (efx->phy_type) { + case PHY_TYPE_SFX7101: + efx->phy_op = &falcon_sfx7101_phy_ops; + break; + case PHY_TYPE_SFT9001A: + case PHY_TYPE_SFT9001B: + efx->phy_op = &falcon_sft9001_phy_ops; + break; + case PHY_TYPE_QT2022C2: + case PHY_TYPE_QT2025C: + efx->phy_op = &falcon_qt202x_phy_ops; + break; + default: + EFX_ERR(efx, "Unknown PHY type %d\n", + efx->phy_type); + return -ENODEV; + } - /* Set up MDIO structure for PHY */ - efx->mdio.mmds = efx->phy_op->mmds; - efx->mdio.mode_support = MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22; + /* Fill out MDIO structure and loopback modes */ efx->mdio.mdio_read = falcon_mdio_read; efx->mdio.mdio_write = falcon_mdio_write; + rc = efx->phy_op->probe(efx); + if (rc != 0) + return rc; + + /* Initial assumption */ + efx->link_state.speed = 10000; + efx->link_state.fd = true; /* Hardware flow ctrl. FalconA RX FIFO too small for pause generation */ - if (falcon_rev(efx) >= FALCON_REV_B0) + if (efx_nic_rev(efx) >= EFX_REV_FALCON_B0) efx->wanted_fc = EFX_FC_RX | EFX_FC_TX; else efx->wanted_fc = EFX_FC_RX; /* Allocate buffer for stats */ - rc = falcon_alloc_buffer(efx, &efx->stats_buffer, - FALCON_MAC_STATS_SIZE); + rc = efx_nic_alloc_buffer(efx, &efx->stats_buffer, + FALCON_MAC_STATS_SIZE); if (rc) return rc; EFX_LOG(efx, "stats buffer at %llx (virt %p phys %llx)\n", @@ -2302,40 +923,20 @@ return 0; } -void falcon_remove_port(struct efx_nic *efx) -{ - falcon_free_buffer(efx, &efx->stats_buffer); -} - -/************************************************************************** - * - * Multicast filtering - * - ************************************************************************** - */ - -void falcon_set_multicast_hash(struct efx_nic *efx) +static void falcon_remove_port(struct efx_nic *efx) { - union efx_multicast_hash *mc_hash = &efx->multicast_hash; - - /* Broadcast packets go through the multicast hash filter. - * ether_crc_le() of the broadcast address is 0xbe2612ff - * so we always add bit 0xff to the mask. - */ - set_bit_le(0xff, mc_hash->byte); - - falcon_write(efx, &mc_hash->oword[0], MAC_MCAST_HASH_REG0_KER); - falcon_write(efx, &mc_hash->oword[1], MAC_MCAST_HASH_REG1_KER); + efx->phy_op->remove(efx); + efx_nic_free_buffer(efx, &efx->stats_buffer); } - /************************************************************************** * * Falcon test code * **************************************************************************/ -int falcon_read_nvram(struct efx_nic *efx, struct falcon_nvconfig *nvconfig_out) +static int +falcon_read_nvram(struct efx_nic *efx, struct falcon_nvconfig *nvconfig_out) { struct falcon_nvconfig *nvconfig; struct efx_spi_device *spi; @@ -2351,10 +952,10 @@ region = kmalloc(FALCON_NVCONFIG_END, GFP_KERNEL); if (!region) return -ENOMEM; - nvconfig = region + NVCONFIG_OFFSET; + nvconfig = region + FALCON_NVCONFIG_OFFSET; mutex_lock(&efx->spi_lock); - rc = falcon_spi_read(spi, 0, FALCON_NVCONFIG_END, NULL, region); + rc = falcon_spi_read(efx, spi, 0, FALCON_NVCONFIG_END, NULL, region); mutex_unlock(&efx->spi_lock); if (rc) { EFX_ERR(efx, "Failed to read %s\n", @@ -2367,7 +968,7 @@ struct_ver = le16_to_cpu(nvconfig->board_struct_ver); rc = -EINVAL; - if (magic_num != NVCONFIG_BOARD_MAGIC_NUM) { + if (magic_num != FALCON_NVCONFIG_BOARD_MAGIC_NUM) { EFX_ERR(efx, "NVRAM bad magic 0x%x\n", magic_num); goto out; } @@ -2398,107 +999,54 @@ return rc; } -/* Registers tested in the falcon register test */ -static struct { - unsigned address; - efx_oword_t mask; -} efx_test_registers[] = { - { ADR_REGION_REG_KER, +static int falcon_test_nvram(struct efx_nic *efx) +{ + return falcon_read_nvram(efx, NULL); +} + +static const struct efx_nic_register_test falcon_b0_register_tests[] = { + { FR_AZ_ADR_REGION, EFX_OWORD32(0x0001FFFF, 0x0001FFFF, 0x0001FFFF, 0x0001FFFF) }, - { RX_CFG_REG_KER, + { FR_AZ_RX_CFG, EFX_OWORD32(0xFFFFFFFE, 0x00017FFF, 0x00000000, 0x00000000) }, - { TX_CFG_REG_KER, + { FR_AZ_TX_CFG, EFX_OWORD32(0x7FFF0037, 0x00000000, 0x00000000, 0x00000000) }, - { TX_CFG2_REG_KER, + { FR_AZ_TX_RESERVED, EFX_OWORD32(0xFFFEFE80, 0x1FFFFFFF, 0x020000FE, 0x007FFFFF) }, - { MAC0_CTRL_REG_KER, + { FR_AB_MAC_CTRL, EFX_OWORD32(0xFFFF0000, 0x00000000, 0x00000000, 0x00000000) }, - { SRM_TX_DC_CFG_REG_KER, + { FR_AZ_SRM_TX_DC_CFG, EFX_OWORD32(0x001FFFFF, 0x00000000, 0x00000000, 0x00000000) }, - { RX_DC_CFG_REG_KER, + { FR_AZ_RX_DC_CFG, EFX_OWORD32(0x0000000F, 0x00000000, 0x00000000, 0x00000000) }, - { RX_DC_PF_WM_REG_KER, + { FR_AZ_RX_DC_PF_WM, EFX_OWORD32(0x000003FF, 0x00000000, 0x00000000, 0x00000000) }, - { DP_CTRL_REG, + { FR_BZ_DP_CTRL, EFX_OWORD32(0x00000FFF, 0x00000000, 0x00000000, 0x00000000) }, - { GM_CFG2_REG, + { FR_AB_GM_CFG2, EFX_OWORD32(0x00007337, 0x00000000, 0x00000000, 0x00000000) }, - { GMF_CFG0_REG, + { FR_AB_GMF_CFG0, EFX_OWORD32(0x00001F1F, 0x00000000, 0x00000000, 0x00000000) }, - { XM_GLB_CFG_REG, + { FR_AB_XM_GLB_CFG, EFX_OWORD32(0x00000C68, 0x00000000, 0x00000000, 0x00000000) }, - { XM_TX_CFG_REG, + { FR_AB_XM_TX_CFG, EFX_OWORD32(0x00080164, 0x00000000, 0x00000000, 0x00000000) }, - { XM_RX_CFG_REG, + { FR_AB_XM_RX_CFG, EFX_OWORD32(0x07100A0C, 0x00000000, 0x00000000, 0x00000000) }, - { XM_RX_PARAM_REG, + { FR_AB_XM_RX_PARAM, EFX_OWORD32(0x00001FF8, 0x00000000, 0x00000000, 0x00000000) }, - { XM_FC_REG, + { FR_AB_XM_FC, EFX_OWORD32(0xFFFF0001, 0x00000000, 0x00000000, 0x00000000) }, - { XM_ADR_LO_REG, + { FR_AB_XM_ADR_LO, EFX_OWORD32(0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000) }, - { XX_SD_CTL_REG, + { FR_AB_XX_SD_CTL, EFX_OWORD32(0x0003FF0F, 0x00000000, 0x00000000, 0x00000000) }, }; -static bool efx_masked_compare_oword(const efx_oword_t *a, const efx_oword_t *b, - const efx_oword_t *mask) -{ - return ((a->u64[0] ^ b->u64[0]) & mask->u64[0]) || - ((a->u64[1] ^ b->u64[1]) & mask->u64[1]); -} - -int falcon_test_registers(struct efx_nic *efx) +static int falcon_b0_test_registers(struct efx_nic *efx) { - 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 < ARRAY_SIZE(efx_test_registers); ++i) { - address = efx_test_registers[i].address; - mask = imask = efx_test_registers[i].mask; - EFX_INVERT_OWORD(imask); - - falcon_read(efx, &original, address); - - /* bit sweep on and off */ - for (j = 0; j < 128; j++) { - if (!EFX_EXTRACT_OWORD32(mask, j, j)) - continue; - - /* Test this testable bit can be set in isolation */ - EFX_AND_OWORD(reg, original, mask); - EFX_SET_OWORD32(reg, j, j, 1); - - falcon_write(efx, ®, address); - falcon_read(efx, &buf, address); - - if (efx_masked_compare_oword(®, &buf, &mask)) - goto fail; - - /* Test this testable bit can be cleared in isolation */ - EFX_OR_OWORD(reg, original, mask); - EFX_SET_OWORD32(reg, j, j, 0); - - falcon_write(efx, ®, address); - falcon_read(efx, &buf, address); - - if (efx_masked_compare_oword(®, &buf, &mask)) - goto fail; - } - - falcon_write(efx, &original, address); - } - - return 0; - -fail: - EFX_ERR(efx, "wrote "EFX_OWORD_FMT" read "EFX_OWORD_FMT - " at address 0x%x mask "EFX_OWORD_FMT"\n", EFX_OWORD_VAL(reg), - EFX_OWORD_VAL(buf), address, EFX_OWORD_VAL(mask)); - return -EIO; + return efx_nic_test_registers(efx, falcon_b0_register_tests, + ARRAY_SIZE(falcon_b0_register_tests)); } /************************************************************************** @@ -2510,13 +1058,13 @@ /* Resets NIC to known state. This routine must be called in process * context and is allowed to sleep. */ -int falcon_reset_hw(struct efx_nic *efx, enum reset_type method) +static int falcon_reset_hw(struct efx_nic *efx, enum reset_type method) { struct falcon_nic_data *nic_data = efx->nic_data; efx_oword_t glb_ctl_reg_ker; int rc; - EFX_LOG(efx, "performing hardware reset (%d)\n", method); + EFX_LOG(efx, "performing %s hardware reset\n", RESET_TYPE(method)); /* Initiate device reset */ if (method == RESET_TYPE_WORLD) { @@ -2526,7 +1074,7 @@ "function prior to hardware reset\n"); goto fail1; } - if (FALCON_IS_DUAL_FUNC(efx)) { + if (efx_nic_is_dual_func(efx)) { rc = pci_save_state(nic_data->pci_dev2); if (rc) { EFX_ERR(efx, "failed to backup PCI state of " @@ -2537,29 +1085,31 @@ } EFX_POPULATE_OWORD_2(glb_ctl_reg_ker, - EXT_PHY_RST_DUR, 0x7, - SWRST, 1); + FRF_AB_EXT_PHY_RST_DUR, + FFE_AB_EXT_PHY_RST_DUR_10240US, + FRF_AB_SWRST, 1); } else { - int reset_phy = (method == RESET_TYPE_INVISIBLE ? - EXCLUDE_FROM_RESET : 0); - EFX_POPULATE_OWORD_7(glb_ctl_reg_ker, - EXT_PHY_RST_CTL, reset_phy, - PCIE_CORE_RST_CTL, EXCLUDE_FROM_RESET, - PCIE_NSTCK_RST_CTL, EXCLUDE_FROM_RESET, - PCIE_SD_RST_CTL, EXCLUDE_FROM_RESET, - EE_RST_CTL, EXCLUDE_FROM_RESET, - EXT_PHY_RST_DUR, 0x7 /* 10ms */, - SWRST, 1); + /* exclude PHY from "invisible" reset */ + FRF_AB_EXT_PHY_RST_CTL, + method == RESET_TYPE_INVISIBLE, + /* exclude EEPROM/flash and PCIe */ + FRF_AB_PCIE_CORE_RST_CTL, 1, + FRF_AB_PCIE_NSTKY_RST_CTL, 1, + FRF_AB_PCIE_SD_RST_CTL, 1, + FRF_AB_EE_RST_CTL, 1, + FRF_AB_EXT_PHY_RST_DUR, + FFE_AB_EXT_PHY_RST_DUR_10240US, + FRF_AB_SWRST, 1); } - falcon_write(efx, &glb_ctl_reg_ker, GLB_CTL_REG_KER); + efx_writeo(efx, &glb_ctl_reg_ker, FR_AB_GLB_CTL); EFX_LOG(efx, "waiting for hardware reset\n"); schedule_timeout_uninterruptible(HZ / 20); /* Restore PCI configuration if needed */ if (method == RESET_TYPE_WORLD) { - if (FALCON_IS_DUAL_FUNC(efx)) { + if (efx_nic_is_dual_func(efx)) { rc = pci_restore_state(nic_data->pci_dev2); if (rc) { EFX_ERR(efx, "failed to restore PCI config for " @@ -2577,8 +1127,8 @@ } /* Assert that reset complete */ - falcon_read(efx, &glb_ctl_reg_ker, GLB_CTL_REG_KER); - if (EFX_OWORD_FIELD(glb_ctl_reg_ker, SWRST) != 0) { + efx_reado(efx, &glb_ctl_reg_ker, FR_AB_GLB_CTL); + if (EFX_OWORD_FIELD(glb_ctl_reg_ker, FRF_AB_SWRST) != 0) { rc = -ETIMEDOUT; EFX_ERR(efx, "timed out waiting for hardware reset\n"); goto fail5; @@ -2597,6 +1147,44 @@ return rc; } +static void falcon_monitor(struct efx_nic *efx) +{ + bool link_changed; + int rc; + + BUG_ON(!mutex_is_locked(&efx->mac_lock)); + + rc = falcon_board(efx)->type->monitor(efx); + if (rc) { + EFX_ERR(efx, "Board sensor %s; shutting down PHY\n", + (rc == -ERANGE) ? "reported fault" : "failed"); + efx->phy_mode |= PHY_MODE_LOW_POWER; + rc = __efx_reconfigure_port(efx); + WARN_ON(rc); + } + + if (LOOPBACK_INTERNAL(efx)) + link_changed = falcon_loopback_link_poll(efx); + else + link_changed = efx->phy_op->poll(efx); + + if (link_changed) { + falcon_stop_nic_stats(efx); + falcon_deconfigure_mac_wrapper(efx); + + falcon_switch_mac(efx); + rc = efx->mac_op->reconfigure(efx); + BUG_ON(rc); + + falcon_start_nic_stats(efx); + + efx_link_status_changed(efx); + } + + if (EFX_IS10G(efx)) + falcon_poll_xmac(efx); +} + /* Zeroes out the SRAM contents. This routine must be called in * process context and is allowed to sleep. */ @@ -2606,16 +1194,16 @@ int count; /* Set the SRAM wake/sleep GPIO appropriately. */ - falcon_read(efx, &gpio_cfg_reg_ker, GPIO_CTL_REG_KER); - EFX_SET_OWORD_FIELD(gpio_cfg_reg_ker, GPIO1_OEN, 1); - EFX_SET_OWORD_FIELD(gpio_cfg_reg_ker, GPIO1_OUT, 1); - falcon_write(efx, &gpio_cfg_reg_ker, GPIO_CTL_REG_KER); + efx_reado(efx, &gpio_cfg_reg_ker, FR_AB_GPIO_CTL); + EFX_SET_OWORD_FIELD(gpio_cfg_reg_ker, FRF_AB_GPIO1_OEN, 1); + EFX_SET_OWORD_FIELD(gpio_cfg_reg_ker, FRF_AB_GPIO1_OUT, 1); + efx_writeo(efx, &gpio_cfg_reg_ker, FR_AB_GPIO_CTL); /* Initiate SRAM reset */ EFX_POPULATE_OWORD_2(srm_cfg_reg_ker, - SRAM_OOB_BT_INIT_EN, 1, - SRM_NUM_BANKS_AND_BANK_SIZE, 0); - falcon_write(efx, &srm_cfg_reg_ker, SRM_CFG_REG_KER); + FRF_AZ_SRM_INIT_EN, 1, + FRF_AZ_SRM_NB_SZ, 0); + efx_writeo(efx, &srm_cfg_reg_ker, FR_AZ_SRM_CFG); /* Wait for SRAM reset to complete */ count = 0; @@ -2626,8 +1214,8 @@ schedule_timeout_uninterruptible(HZ / 50); /* Check for reset complete */ - falcon_read(efx, &srm_cfg_reg_ker, SRM_CFG_REG_KER); - if (!EFX_OWORD_FIELD(srm_cfg_reg_ker, SRAM_OOB_BT_INIT_EN)) { + efx_reado(efx, &srm_cfg_reg_ker, FR_AZ_SRM_CFG); + if (!EFX_OWORD_FIELD(srm_cfg_reg_ker, FRF_AZ_SRM_INIT_EN)) { EFX_LOG(efx, "SRAM reset complete\n"); return 0; @@ -2663,8 +1251,6 @@ spi_device->block_size = 1 << SPI_DEV_TYPE_FIELD(device_type, SPI_DEV_TYPE_BLOCK_SIZE); - - spi_device->efx = efx; } else { spi_device = NULL; } @@ -2674,7 +1260,6 @@ return 0; } - static void falcon_remove_spi_devices(struct efx_nic *efx) { kfree(efx->spi_eeprom); @@ -2712,16 +1297,16 @@ board_rev = le16_to_cpu(v2->board_revision); if (le16_to_cpu(nvconfig->board_struct_ver) >= 3) { - __le32 fl = v3->spi_device_type[EE_SPI_FLASH]; - __le32 ee = v3->spi_device_type[EE_SPI_EEPROM]; - rc = falcon_spi_device_init(efx, &efx->spi_flash, - EE_SPI_FLASH, - le32_to_cpu(fl)); + rc = falcon_spi_device_init( + efx, &efx->spi_flash, FFE_AB_SPI_DEVICE_FLASH, + le32_to_cpu(v3->spi_device_type + [FFE_AB_SPI_DEVICE_FLASH])); if (rc) goto fail2; - rc = falcon_spi_device_init(efx, &efx->spi_eeprom, - EE_SPI_EEPROM, - le32_to_cpu(ee)); + rc = falcon_spi_device_init( + efx, &efx->spi_eeprom, FFE_AB_SPI_DEVICE_EEPROM, + le32_to_cpu(v3->spi_device_type + [FFE_AB_SPI_DEVICE_EEPROM])); if (rc) goto fail2; } @@ -2732,7 +1317,9 @@ EFX_LOG(efx, "PHY is %d phy_id %d\n", efx->phy_type, efx->mdio.prtad); - efx_set_board_info(efx, board_rev); + rc = falcon_probe_board(efx, board_rev); + if (rc) + goto fail2; kfree(nvconfig); return 0; @@ -2744,89 +1331,49 @@ return rc; } -/* Probe the NIC variant (revision, ASIC vs FPGA, function count, port - * count, port speed). Set workaround and feature flags accordingly. - */ -static int falcon_probe_nic_variant(struct efx_nic *efx) -{ - efx_oword_t altera_build; - efx_oword_t nic_stat; - - falcon_read(efx, &altera_build, ALTERA_BUILD_REG_KER); - if (EFX_OWORD_FIELD(altera_build, VER_ALL)) { - EFX_ERR(efx, "Falcon FPGA not supported\n"); - return -ENODEV; - } - - falcon_read(efx, &nic_stat, NIC_STAT_REG); - - switch (falcon_rev(efx)) { - case FALCON_REV_A0: - case 0xff: - EFX_ERR(efx, "Falcon rev A0 not supported\n"); - return -ENODEV; - - case FALCON_REV_A1: - if (EFX_OWORD_FIELD(nic_stat, STRAP_PCIE) == 0) { - EFX_ERR(efx, "Falcon rev A1 PCI-X not supported\n"); - return -ENODEV; - } - break; - - case FALCON_REV_B0: - break; - - default: - EFX_ERR(efx, "Unknown Falcon rev %d\n", falcon_rev(efx)); - return -ENODEV; - } - - /* Initial assumed speed */ - efx->link_speed = EFX_OWORD_FIELD(nic_stat, STRAP_10G) ? 10000 : 1000; - - return 0; -} - /* Probe all SPI devices on the NIC */ static void falcon_probe_spi_devices(struct efx_nic *efx) { efx_oword_t nic_stat, gpio_ctl, ee_vpd_cfg; int boot_dev; - falcon_read(efx, &gpio_ctl, GPIO_CTL_REG_KER); - falcon_read(efx, &nic_stat, NIC_STAT_REG); - falcon_read(efx, &ee_vpd_cfg, EE_VPD_CFG_REG_KER); - - if (EFX_OWORD_FIELD(gpio_ctl, BOOTED_USING_NVDEVICE)) { - boot_dev = (EFX_OWORD_FIELD(nic_stat, SF_PRST) ? - EE_SPI_FLASH : EE_SPI_EEPROM); + efx_reado(efx, &gpio_ctl, FR_AB_GPIO_CTL); + efx_reado(efx, &nic_stat, FR_AB_NIC_STAT); + efx_reado(efx, &ee_vpd_cfg, FR_AB_EE_VPD_CFG0); + + if (EFX_OWORD_FIELD(gpio_ctl, FRF_AB_GPIO3_PWRUP_VALUE)) { + boot_dev = (EFX_OWORD_FIELD(nic_stat, FRF_AB_SF_PRST) ? + FFE_AB_SPI_DEVICE_FLASH : FFE_AB_SPI_DEVICE_EEPROM); EFX_LOG(efx, "Booted from %s\n", - boot_dev == EE_SPI_FLASH ? "flash" : "EEPROM"); + boot_dev == FFE_AB_SPI_DEVICE_FLASH ? "flash" : "EEPROM"); } else { /* Disable VPD and set clock dividers to safe * values for initial programming. */ boot_dev = -1; EFX_LOG(efx, "Booted from internal ASIC settings;" " setting SPI config\n"); - EFX_POPULATE_OWORD_3(ee_vpd_cfg, EE_VPD_EN, 0, + EFX_POPULATE_OWORD_3(ee_vpd_cfg, FRF_AB_EE_VPD_EN, 0, /* 125 MHz / 7 ~= 20 MHz */ - EE_SF_CLOCK_DIV, 7, + FRF_AB_EE_SF_CLOCK_DIV, 7, /* 125 MHz / 63 ~= 2 MHz */ - EE_EE_CLOCK_DIV, 63); - falcon_write(efx, &ee_vpd_cfg, EE_VPD_CFG_REG_KER); + FRF_AB_EE_EE_CLOCK_DIV, 63); + efx_writeo(efx, &ee_vpd_cfg, FR_AB_EE_VPD_CFG0); } - if (boot_dev == EE_SPI_FLASH) - falcon_spi_device_init(efx, &efx->spi_flash, EE_SPI_FLASH, + if (boot_dev == FFE_AB_SPI_DEVICE_FLASH) + falcon_spi_device_init(efx, &efx->spi_flash, + FFE_AB_SPI_DEVICE_FLASH, default_flash_type); - if (boot_dev == EE_SPI_EEPROM) - falcon_spi_device_init(efx, &efx->spi_eeprom, EE_SPI_EEPROM, + if (boot_dev == FFE_AB_SPI_DEVICE_EEPROM) + falcon_spi_device_init(efx, &efx->spi_eeprom, + FFE_AB_SPI_DEVICE_EEPROM, large_eeprom_type); } -int falcon_probe_nic(struct efx_nic *efx) +static int falcon_probe_nic(struct efx_nic *efx) { struct falcon_nic_data *nic_data; + struct falcon_board *board; int rc; /* Allocate storage for hardware specific data */ @@ -2835,15 +1382,33 @@ return -ENOMEM; efx->nic_data = nic_data; - /* Determine number of ports etc. */ - rc = falcon_probe_nic_variant(efx); - if (rc) + rc = -ENODEV; + + if (efx_nic_fpga_ver(efx) != 0) { + EFX_ERR(efx, "Falcon FPGA not supported\n"); goto fail1; + } - /* Probe secondary function if expected */ - if (FALCON_IS_DUAL_FUNC(efx)) { - struct pci_dev *dev = pci_dev_get(efx->pci_dev); + if (efx_nic_rev(efx) <= EFX_REV_FALCON_A1) { + efx_oword_t nic_stat; + struct pci_dev *dev; + u8 pci_rev = efx->pci_dev->revision; + + if ((pci_rev == 0xff) || (pci_rev == 0)) { + EFX_ERR(efx, "Falcon rev A0 not supported\n"); + goto fail1; + } + efx_reado(efx, &nic_stat, FR_AB_NIC_STAT); + if (EFX_OWORD_FIELD(nic_stat, FRF_AB_STRAP_10G) == 0) { + EFX_ERR(efx, "Falcon rev A1 1G not supported\n"); + goto fail1; + } + if (EFX_OWORD_FIELD(nic_stat, FRF_AA_STRAP_PCIE) == 0) { + EFX_ERR(efx, "Falcon rev A1 PCI-X not supported\n"); + goto fail1; + } + dev = pci_dev_get(efx->pci_dev); while ((dev = pci_get_device(EFX_VENDID_SFC, FALCON_A_S_DEVID, dev))) { if (dev->bus == efx->pci_dev->bus && @@ -2867,7 +1432,7 @@ } /* Allocate memory for INT_KER */ - rc = falcon_alloc_buffer(efx, &efx->irq_status, sizeof(efx_oword_t)); + rc = efx_nic_alloc_buffer(efx, &efx->irq_status, sizeof(efx_oword_t)); if (rc) goto fail4; BUG_ON(efx->irq_status.dma_addr & 0x0f); @@ -2884,21 +1449,36 @@ goto fail5; /* Initialise I2C adapter */ - efx->i2c_adap.owner = THIS_MODULE; - nic_data->i2c_data = falcon_i2c_bit_operations; - nic_data->i2c_data.data = efx; - efx->i2c_adap.algo_data = &nic_data->i2c_data; - efx->i2c_adap.dev.parent = &efx->pci_dev->dev; - strlcpy(efx->i2c_adap.name, "SFC4000 GPIO", sizeof(efx->i2c_adap.name)); - rc = i2c_bit_add_bus(&efx->i2c_adap); + board = falcon_board(efx); + board->i2c_adap.owner = THIS_MODULE; + board->i2c_data = falcon_i2c_bit_operations; + board->i2c_data.data = efx; + board->i2c_adap.algo_data = &board->i2c_data; + board->i2c_adap.dev.parent = &efx->pci_dev->dev; + strlcpy(board->i2c_adap.name, "SFC4000 GPIO", + sizeof(board->i2c_adap.name)); + rc = i2c_bit_add_bus(&board->i2c_adap); if (rc) goto fail5; + rc = falcon_board(efx)->type->init(efx); + if (rc) { + EFX_ERR(efx, "failed to initialise board\n"); + goto fail6; + } + + nic_data->stats_disable_count = 1; + setup_timer(&nic_data->stats_timer, &falcon_stats_timer_func, + (unsigned long)efx); + return 0; + fail6: + BUG_ON(i2c_del_adapter(&board->i2c_adap)); + memset(&board->i2c_adap, 0, sizeof(board->i2c_adap)); fail5: falcon_remove_spi_devices(efx); - falcon_free_buffer(efx, &efx->irq_status); + efx_nic_free_buffer(efx, &efx->irq_status); fail4: fail3: if (nic_data->pci_dev2) { @@ -2911,166 +1491,147 @@ return rc; } +static void falcon_init_rx_cfg(struct efx_nic *efx) +{ + /* Prior to Siena the RX DMA engine will split each frame at + * intervals of RX_USR_BUF_SIZE (32-byte units). We set it to + * be so large that that never happens. */ + const unsigned huge_buf_size = (3 * 4096) >> 5; + /* RX control FIFO thresholds (32 entries) */ + const unsigned ctrl_xon_thr = 20; + const unsigned ctrl_xoff_thr = 25; + /* RX data FIFO thresholds (256-byte units; size varies) */ + int data_xon_thr = efx_nic_rx_xon_thresh >> 8; + int data_xoff_thr = efx_nic_rx_xoff_thresh >> 8; + efx_oword_t reg; + + efx_reado(efx, ®, FR_AZ_RX_CFG); + if (efx_nic_rev(efx) <= EFX_REV_FALCON_A1) { + /* Data FIFO size is 5.5K */ + if (data_xon_thr < 0) + data_xon_thr = 512 >> 8; + if (data_xoff_thr < 0) + data_xoff_thr = 2048 >> 8; + EFX_SET_OWORD_FIELD(reg, FRF_AA_RX_DESC_PUSH_EN, 0); + EFX_SET_OWORD_FIELD(reg, FRF_AA_RX_USR_BUF_SIZE, + huge_buf_size); + EFX_SET_OWORD_FIELD(reg, FRF_AA_RX_XON_MAC_TH, data_xon_thr); + EFX_SET_OWORD_FIELD(reg, FRF_AA_RX_XOFF_MAC_TH, data_xoff_thr); + EFX_SET_OWORD_FIELD(reg, FRF_AA_RX_XON_TX_TH, ctrl_xon_thr); + EFX_SET_OWORD_FIELD(reg, FRF_AA_RX_XOFF_TX_TH, ctrl_xoff_thr); + } else { + /* Data FIFO size is 80K; register fields moved */ + if (data_xon_thr < 0) + data_xon_thr = 27648 >> 8; /* ~3*max MTU */ + if (data_xoff_thr < 0) + data_xoff_thr = 54272 >> 8; /* ~80Kb - 3*max MTU */ + EFX_SET_OWORD_FIELD(reg, FRF_BZ_RX_DESC_PUSH_EN, 0); + EFX_SET_OWORD_FIELD(reg, FRF_BZ_RX_USR_BUF_SIZE, + huge_buf_size); + EFX_SET_OWORD_FIELD(reg, FRF_BZ_RX_XON_MAC_TH, data_xon_thr); + EFX_SET_OWORD_FIELD(reg, FRF_BZ_RX_XOFF_MAC_TH, data_xoff_thr); + EFX_SET_OWORD_FIELD(reg, FRF_BZ_RX_XON_TX_TH, ctrl_xon_thr); + EFX_SET_OWORD_FIELD(reg, FRF_BZ_RX_XOFF_TX_TH, ctrl_xoff_thr); + EFX_SET_OWORD_FIELD(reg, FRF_BZ_RX_INGR_EN, 1); + } + /* Always enable XOFF signal from RX FIFO. We enable + * or disable transmission of pause frames at the MAC. */ + EFX_SET_OWORD_FIELD(reg, FRF_AZ_RX_XOFF_MAC_EN, 1); + efx_writeo(efx, ®, FR_AZ_RX_CFG); +} + /* This call performs hardware-specific global initialisation, such as * defining the descriptor cache sizes and number of RSS channels. * It does not set up any buffers, descriptor rings or event queues. */ -int falcon_init_nic(struct efx_nic *efx) +static int falcon_init_nic(struct efx_nic *efx) { efx_oword_t temp; - unsigned thresh; int rc; /* Use on-chip SRAM */ - falcon_read(efx, &temp, NIC_STAT_REG); - EFX_SET_OWORD_FIELD(temp, ONCHIP_SRAM, 1); - falcon_write(efx, &temp, NIC_STAT_REG); + efx_reado(efx, &temp, FR_AB_NIC_STAT); + EFX_SET_OWORD_FIELD(temp, FRF_AB_ONCHIP_SRAM, 1); + efx_writeo(efx, &temp, FR_AB_NIC_STAT); /* Set the source of the GMAC clock */ - if (falcon_rev(efx) == FALCON_REV_B0) { - falcon_read(efx, &temp, GPIO_CTL_REG_KER); - EFX_SET_OWORD_FIELD(temp, GPIO_USE_NIC_CLK, true); - falcon_write(efx, &temp, GPIO_CTL_REG_KER); + if (efx_nic_rev(efx) == EFX_REV_FALCON_B0) { + efx_reado(efx, &temp, FR_AB_GPIO_CTL); + EFX_SET_OWORD_FIELD(temp, FRF_AB_USE_NIC_CLK, true); + efx_writeo(efx, &temp, FR_AB_GPIO_CTL); } - /* Set buffer table mode */ - EFX_POPULATE_OWORD_1(temp, BUF_TBL_MODE, BUF_TBL_MODE_FULL); - falcon_write(efx, &temp, BUF_TBL_CFG_REG_KER); + /* Select the correct MAC */ + falcon_clock_mac(efx); rc = falcon_reset_sram(efx); if (rc) return rc; - /* Set positions of descriptor caches in SRAM. */ - EFX_POPULATE_OWORD_1(temp, SRM_TX_DC_BASE_ADR, TX_DC_BASE / 8); - falcon_write(efx, &temp, SRM_TX_DC_CFG_REG_KER); - EFX_POPULATE_OWORD_1(temp, SRM_RX_DC_BASE_ADR, RX_DC_BASE / 8); - falcon_write(efx, &temp, SRM_RX_DC_CFG_REG_KER); - - /* Set TX descriptor cache size. */ - BUILD_BUG_ON(TX_DC_ENTRIES != (16 << TX_DC_ENTRIES_ORDER)); - EFX_POPULATE_OWORD_1(temp, TX_DC_SIZE, TX_DC_ENTRIES_ORDER); - falcon_write(efx, &temp, TX_DC_CFG_REG_KER); - - /* Set RX descriptor cache size. Set low watermark to size-8, as - * this allows most efficient prefetching. - */ - BUILD_BUG_ON(RX_DC_ENTRIES != (16 << RX_DC_ENTRIES_ORDER)); - EFX_POPULATE_OWORD_1(temp, RX_DC_SIZE, RX_DC_ENTRIES_ORDER); - falcon_write(efx, &temp, RX_DC_CFG_REG_KER); - EFX_POPULATE_OWORD_1(temp, RX_DC_PF_LWM, RX_DC_ENTRIES - 8); - falcon_write(efx, &temp, RX_DC_PF_WM_REG_KER); - /* Clear the parity enables on the TX data fifos as * they produce false parity errors because of timing issues */ if (EFX_WORKAROUND_5129(efx)) { - falcon_read(efx, &temp, SPARE_REG_KER); - EFX_SET_OWORD_FIELD(temp, MEM_PERR_EN_TX_DATA, 0); - falcon_write(efx, &temp, SPARE_REG_KER); + efx_reado(efx, &temp, FR_AZ_CSR_SPARE); + EFX_SET_OWORD_FIELD(temp, FRF_AB_MEM_PERR_EN_TX_DATA, 0); + efx_writeo(efx, &temp, FR_AZ_CSR_SPARE); } - /* Enable all the genuinely fatal interrupts. (They are still - * masked by the overall interrupt mask, controlled by - * falcon_interrupts()). - * - * Note: All other fatal interrupts are enabled - */ - EFX_POPULATE_OWORD_3(temp, - ILL_ADR_INT_KER_EN, 1, - RBUF_OWN_INT_KER_EN, 1, - TBUF_OWN_INT_KER_EN, 1); - EFX_INVERT_OWORD(temp); - falcon_write(efx, &temp, FATAL_INTR_REG_KER); - if (EFX_WORKAROUND_7244(efx)) { - falcon_read(efx, &temp, RX_FILTER_CTL_REG); - EFX_SET_OWORD_FIELD(temp, UDP_FULL_SRCH_LIMIT, 8); - EFX_SET_OWORD_FIELD(temp, UDP_WILD_SRCH_LIMIT, 8); - EFX_SET_OWORD_FIELD(temp, TCP_FULL_SRCH_LIMIT, 8); - EFX_SET_OWORD_FIELD(temp, TCP_WILD_SRCH_LIMIT, 8); - falcon_write(efx, &temp, RX_FILTER_CTL_REG); + efx_reado(efx, &temp, FR_BZ_RX_FILTER_CTL); + EFX_SET_OWORD_FIELD(temp, FRF_BZ_UDP_FULL_SRCH_LIMIT, 8); + EFX_SET_OWORD_FIELD(temp, FRF_BZ_UDP_WILD_SRCH_LIMIT, 8); + EFX_SET_OWORD_FIELD(temp, FRF_BZ_TCP_FULL_SRCH_LIMIT, 8); + EFX_SET_OWORD_FIELD(temp, FRF_BZ_TCP_WILD_SRCH_LIMIT, 8); + efx_writeo(efx, &temp, FR_BZ_RX_FILTER_CTL); } - falcon_setup_rss_indir_table(efx); - + /* XXX This is documented only for Falcon A0/A1 */ /* Setup RX. Wait for descriptor is broken and must * be disabled. RXDP recovery shouldn't be needed, but is. */ - falcon_read(efx, &temp, RX_SELF_RST_REG_KER); - EFX_SET_OWORD_FIELD(temp, RX_NODESC_WAIT_DIS, 1); - EFX_SET_OWORD_FIELD(temp, RX_RECOVERY_EN, 1); + efx_reado(efx, &temp, FR_AA_RX_SELF_RST); + EFX_SET_OWORD_FIELD(temp, FRF_AA_RX_NODESC_WAIT_DIS, 1); + EFX_SET_OWORD_FIELD(temp, FRF_AA_RX_SELF_RST_EN, 1); if (EFX_WORKAROUND_5583(efx)) - EFX_SET_OWORD_FIELD(temp, RX_ISCSI_DIS, 1); - falcon_write(efx, &temp, RX_SELF_RST_REG_KER); - - /* Disable the ugly timer-based TX DMA backoff and allow TX DMA to be - * controlled by the RX FIFO fill level. Set arbitration to one pkt/Q. - */ - falcon_read(efx, &temp, TX_CFG2_REG_KER); - EFX_SET_OWORD_FIELD(temp, TX_RX_SPACER, 0xfe); - EFX_SET_OWORD_FIELD(temp, TX_RX_SPACER_EN, 1); - EFX_SET_OWORD_FIELD(temp, TX_ONE_PKT_PER_Q, 1); - EFX_SET_OWORD_FIELD(temp, TX_CSR_PUSH_EN, 0); - EFX_SET_OWORD_FIELD(temp, TX_DIS_NON_IP_EV, 1); - /* Enable SW_EV to inherit in char driver - assume harmless here */ - EFX_SET_OWORD_FIELD(temp, TX_SW_EV_EN, 1); - /* Prefetch threshold 2 => fetch when descriptor cache half empty */ - EFX_SET_OWORD_FIELD(temp, TX_PREF_THRESHOLD, 2); - /* Squash TX of packets of 16 bytes or less */ - if (falcon_rev(efx) >= FALCON_REV_B0 && EFX_WORKAROUND_9141(efx)) - EFX_SET_OWORD_FIELD(temp, TX_FLUSH_MIN_LEN_EN_B0, 1); - falcon_write(efx, &temp, TX_CFG2_REG_KER); + EFX_SET_OWORD_FIELD(temp, FRF_AA_RX_ISCSI_DIS, 1); + efx_writeo(efx, &temp, FR_AA_RX_SELF_RST); /* Do not enable TX_NO_EOP_DISC_EN, since it limits packets to 16 * descriptors (which is bad). */ - falcon_read(efx, &temp, TX_CFG_REG_KER); - EFX_SET_OWORD_FIELD(temp, TX_NO_EOP_DISC_EN, 0); - falcon_write(efx, &temp, TX_CFG_REG_KER); - - /* RX config */ - falcon_read(efx, &temp, RX_CFG_REG_KER); - EFX_SET_OWORD_FIELD_VER(efx, temp, RX_DESC_PUSH_EN, 0); - if (EFX_WORKAROUND_7575(efx)) - EFX_SET_OWORD_FIELD_VER(efx, temp, RX_USR_BUF_SIZE, - (3 * 4096) / 32); - if (falcon_rev(efx) >= FALCON_REV_B0) - EFX_SET_OWORD_FIELD(temp, RX_INGR_EN_B0, 1); - - /* RX FIFO flow control thresholds */ - thresh = ((rx_xon_thresh_bytes >= 0) ? - rx_xon_thresh_bytes : efx->type->rx_xon_thresh); - EFX_SET_OWORD_FIELD_VER(efx, temp, RX_XON_MAC_TH, thresh / 256); - thresh = ((rx_xoff_thresh_bytes >= 0) ? - rx_xoff_thresh_bytes : efx->type->rx_xoff_thresh); - EFX_SET_OWORD_FIELD_VER(efx, temp, RX_XOFF_MAC_TH, thresh / 256); - /* RX control FIFO thresholds [32 entries] */ - EFX_SET_OWORD_FIELD_VER(efx, temp, RX_XON_TX_TH, 20); - EFX_SET_OWORD_FIELD_VER(efx, temp, RX_XOFF_TX_TH, 25); - falcon_write(efx, &temp, RX_CFG_REG_KER); + efx_reado(efx, &temp, FR_AZ_TX_CFG); + EFX_SET_OWORD_FIELD(temp, FRF_AZ_TX_NO_EOP_DISC_EN, 0); + efx_writeo(efx, &temp, FR_AZ_TX_CFG); + + falcon_init_rx_cfg(efx); /* Set destination of both TX and RX Flush events */ - if (falcon_rev(efx) >= FALCON_REV_B0) { - EFX_POPULATE_OWORD_1(temp, FLS_EVQ_ID, 0); - falcon_write(efx, &temp, DP_CTRL_REG); + if (efx_nic_rev(efx) >= EFX_REV_FALCON_B0) { + EFX_POPULATE_OWORD_1(temp, FRF_BZ_FLS_EVQ_ID, 0); + efx_writeo(efx, &temp, FR_BZ_DP_CTRL); } + efx_nic_init_common(efx); + return 0; } -void falcon_remove_nic(struct efx_nic *efx) +static void falcon_remove_nic(struct efx_nic *efx) { struct falcon_nic_data *nic_data = efx->nic_data; + struct falcon_board *board = falcon_board(efx); int rc; + board->type->fini(efx); + /* Remove I2C adapter and clear it in preparation for a retry */ - rc = i2c_del_adapter(&efx->i2c_adap); + rc = i2c_del_adapter(&board->i2c_adap); BUG_ON(rc); - memset(&efx->i2c_adap, 0, sizeof(efx->i2c_adap)); + memset(&board->i2c_adap, 0, sizeof(board->i2c_adap)); falcon_remove_spi_devices(efx); - falcon_free_buffer(efx, &efx->irq_status); + efx_nic_free_buffer(efx, &efx->irq_status); falcon_reset_hw(efx, RESET_TYPE_ALL); @@ -3085,12 +1646,86 @@ efx->nic_data = NULL; } -void falcon_update_nic_stats(struct efx_nic *efx) +static void falcon_update_nic_stats(struct efx_nic *efx) { + struct falcon_nic_data *nic_data = efx->nic_data; efx_oword_t cnt; - falcon_read(efx, &cnt, RX_NODESC_DROP_REG_KER); - efx->n_rx_nodesc_drop_cnt += EFX_OWORD_FIELD(cnt, RX_NODESC_DROP_CNT); + if (nic_data->stats_disable_count) + return; + + efx_reado(efx, &cnt, FR_AZ_RX_NODESC_DROP); + efx->n_rx_nodesc_drop_cnt += + EFX_OWORD_FIELD(cnt, FRF_AB_RX_NODESC_DROP_CNT); + + if (nic_data->stats_pending && + *nic_data->stats_dma_done == FALCON_STATS_DONE) { + nic_data->stats_pending = false; + rmb(); /* read the done flag before the stats */ + efx->mac_op->update_stats(efx); + } +} + +void falcon_start_nic_stats(struct efx_nic *efx) +{ + struct falcon_nic_data *nic_data = efx->nic_data; + + spin_lock_bh(&efx->stats_lock); + if (--nic_data->stats_disable_count == 0) + falcon_stats_request(efx); + spin_unlock_bh(&efx->stats_lock); +} + +void falcon_stop_nic_stats(struct efx_nic *efx) +{ + struct falcon_nic_data *nic_data = efx->nic_data; + int i; + + might_sleep(); + + spin_lock_bh(&efx->stats_lock); + ++nic_data->stats_disable_count; + spin_unlock_bh(&efx->stats_lock); + + del_timer_sync(&nic_data->stats_timer); + + /* Wait enough time for the most recent transfer to + * complete. */ + for (i = 0; i < 4 && nic_data->stats_pending; i++) { + if (*nic_data->stats_dma_done == FALCON_STATS_DONE) + break; + msleep(1); + } + + spin_lock_bh(&efx->stats_lock); + falcon_stats_complete(efx); + spin_unlock_bh(&efx->stats_lock); +} + +static void falcon_set_id_led(struct efx_nic *efx, enum efx_led_mode mode) +{ + falcon_board(efx)->type->set_id_led(efx, mode); +} + +/************************************************************************** + * + * Wake on LAN + * + ************************************************************************** + */ + +static void falcon_get_wol(struct efx_nic *efx, struct ethtool_wolinfo *wol) +{ + wol->supported = 0; + wol->wolopts = 0; + memset(&wol->sopass, 0, sizeof(wol->sopass)); +} + +static int falcon_set_wol(struct efx_nic *efx, u32 type) +{ + if (type != 0) + return -EINVAL; + return 0; } /************************************************************************** @@ -3100,50 +1735,91 @@ ************************************************************************** */ -struct efx_nic_type falcon_a_nic_type = { - .mem_bar = 2, +struct efx_nic_type falcon_a1_nic_type = { + .probe = falcon_probe_nic, + .remove = falcon_remove_nic, + .init = falcon_init_nic, + .fini = efx_port_dummy_op_void, + .monitor = falcon_monitor, + .reset = falcon_reset_hw, + .probe_port = falcon_probe_port, + .remove_port = falcon_remove_port, + .prepare_flush = falcon_prepare_flush, + .update_stats = falcon_update_nic_stats, + .start_stats = falcon_start_nic_stats, + .stop_stats = falcon_stop_nic_stats, + .set_id_led = falcon_set_id_led, + .push_irq_moderation = falcon_push_irq_moderation, + .push_multicast_hash = falcon_push_multicast_hash, + .reconfigure_port = falcon_reconfigure_port, + .get_wol = falcon_get_wol, + .set_wol = falcon_set_wol, + .resume_wol = efx_port_dummy_op_void, + .test_nvram = falcon_test_nvram, + .default_mac_ops = &falcon_xmac_operations, + + .revision = EFX_REV_FALCON_A1, .mem_map_size = 0x20000, - .txd_ptr_tbl_base = TX_DESC_PTR_TBL_KER_A1, - .rxd_ptr_tbl_base = RX_DESC_PTR_TBL_KER_A1, - .buf_tbl_base = BUF_TBL_KER_A1, - .evq_ptr_tbl_base = EVQ_PTR_TBL_KER_A1, - .evq_rptr_tbl_base = EVQ_RPTR_REG_KER_A1, - .txd_ring_mask = FALCON_TXD_RING_MASK, - .rxd_ring_mask = FALCON_RXD_RING_MASK, - .evq_size = FALCON_EVQ_SIZE, - .max_dma_mask = FALCON_DMA_MASK, - .tx_dma_mask = FALCON_TX_DMA_MASK, - .bug5391_mask = 0xf, - .rx_xoff_thresh = 2048, - .rx_xon_thresh = 512, + .txd_ptr_tbl_base = FR_AA_TX_DESC_PTR_TBL_KER, + .rxd_ptr_tbl_base = FR_AA_RX_DESC_PTR_TBL_KER, + .buf_tbl_base = FR_AA_BUF_FULL_TBL_KER, + .evq_ptr_tbl_base = FR_AA_EVQ_PTR_TBL_KER, + .evq_rptr_tbl_base = FR_AA_EVQ_RPTR_KER, + .max_dma_mask = DMA_BIT_MASK(FSF_AZ_TX_KER_BUF_ADDR_WIDTH), .rx_buffer_padding = 0x24, .max_interrupt_mode = EFX_INT_MODE_MSI, .phys_addr_channels = 4, + .tx_dc_base = 0x130000, + .rx_dc_base = 0x100000, + .offload_features = NETIF_F_IP_CSUM, + .reset_world_flags = ETH_RESET_IRQ, }; -struct efx_nic_type falcon_b_nic_type = { - .mem_bar = 2, +struct efx_nic_type falcon_b0_nic_type = { + .probe = falcon_probe_nic, + .remove = falcon_remove_nic, + .init = falcon_init_nic, + .fini = efx_port_dummy_op_void, + .monitor = falcon_monitor, + .reset = falcon_reset_hw, + .probe_port = falcon_probe_port, + .remove_port = falcon_remove_port, + .prepare_flush = falcon_prepare_flush, + .update_stats = falcon_update_nic_stats, + .start_stats = falcon_start_nic_stats, + .stop_stats = falcon_stop_nic_stats, + .set_id_led = falcon_set_id_led, + .push_irq_moderation = falcon_push_irq_moderation, + .push_multicast_hash = falcon_push_multicast_hash, + .reconfigure_port = falcon_reconfigure_port, + .get_wol = falcon_get_wol, + .set_wol = falcon_set_wol, + .resume_wol = efx_port_dummy_op_void, + .test_registers = falcon_b0_test_registers, + .test_nvram = falcon_test_nvram, + .default_mac_ops = &falcon_xmac_operations, + + .revision = EFX_REV_FALCON_B0, /* Map everything up to and including the RSS indirection * table. Don't map MSI-X table, MSI-X PBA since Linux * requires that they not be mapped. */ - .mem_map_size = RX_RSS_INDIR_TBL_B0 + 0x800, - .txd_ptr_tbl_base = TX_DESC_PTR_TBL_KER_B0, - .rxd_ptr_tbl_base = RX_DESC_PTR_TBL_KER_B0, - .buf_tbl_base = BUF_TBL_KER_B0, - .evq_ptr_tbl_base = EVQ_PTR_TBL_KER_B0, - .evq_rptr_tbl_base = EVQ_RPTR_REG_KER_B0, - .txd_ring_mask = FALCON_TXD_RING_MASK, - .rxd_ring_mask = FALCON_RXD_RING_MASK, - .evq_size = FALCON_EVQ_SIZE, - .max_dma_mask = FALCON_DMA_MASK, - .tx_dma_mask = FALCON_TX_DMA_MASK, - .bug5391_mask = 0, - .rx_xoff_thresh = 54272, /* ~80Kb - 3*max MTU */ - .rx_xon_thresh = 27648, /* ~3*max MTU */ + .mem_map_size = (FR_BZ_RX_INDIRECTION_TBL + + FR_BZ_RX_INDIRECTION_TBL_STEP * + FR_BZ_RX_INDIRECTION_TBL_ROWS), + .txd_ptr_tbl_base = FR_BZ_TX_DESC_PTR_TBL, + .rxd_ptr_tbl_base = FR_BZ_RX_DESC_PTR_TBL, + .buf_tbl_base = FR_BZ_BUF_FULL_TBL, + .evq_ptr_tbl_base = FR_BZ_EVQ_PTR_TBL, + .evq_rptr_tbl_base = FR_BZ_EVQ_RPTR, + .max_dma_mask = DMA_BIT_MASK(FSF_AZ_TX_KER_BUF_ADDR_WIDTH), .rx_buffer_padding = 0, .max_interrupt_mode = EFX_INT_MODE_MSIX, .phys_addr_channels = 32, /* Hardware limit is 64, but the legacy * interrupt handler only supports 32 * channels */ + .tx_dc_base = 0x130000, + .rx_dc_base = 0x100000, + .offload_features = NETIF_F_IP_CSUM, + .reset_world_flags = ETH_RESET_IRQ, }; --- linux-2.6.32.orig/drivers/net/sfc/falcon_boards.c +++ linux-2.6.32/drivers/net/sfc/falcon_boards.c @@ -0,0 +1,754 @@ +/**************************************************************************** + * Driver for Solarflare Solarstorm network controllers and boards + * Copyright 2007-2009 Solarflare Communications 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, incorporated herein by reference. + */ + +#include + +#include "net_driver.h" +#include "phy.h" +#include "efx.h" +#include "nic.h" +#include "regs.h" +#include "io.h" +#include "workarounds.h" + +/* Macros for unpacking the board revision */ +/* The revision info is in host byte order. */ +#define FALCON_BOARD_TYPE(_rev) (_rev >> 8) +#define FALCON_BOARD_MAJOR(_rev) ((_rev >> 4) & 0xf) +#define FALCON_BOARD_MINOR(_rev) (_rev & 0xf) + +/* Board types */ +#define FALCON_BOARD_SFE4001 0x01 +#define FALCON_BOARD_SFE4002 0x02 +#define FALCON_BOARD_SFN4111T 0x51 +#define FALCON_BOARD_SFN4112F 0x52 + +/* Board temperature is about 15°C above ambient when air flow is + * limited. */ +#define FALCON_BOARD_TEMP_BIAS 15 + +/* SFC4000 datasheet says: 'The maximum permitted junction temperature + * is 125°C; the thermal design of the environment for the SFC4000 + * should aim to keep this well below 100°C.' */ +#define FALCON_JUNC_TEMP_MAX 90 + +/***************************************************************************** + * Support for LM87 sensor chip used on several boards + */ +#define LM87_REG_ALARMS1 0x41 +#define LM87_REG_ALARMS2 0x42 +#define LM87_IN_LIMITS(nr, _min, _max) \ + 0x2B + (nr) * 2, _max, 0x2C + (nr) * 2, _min +#define LM87_AIN_LIMITS(nr, _min, _max) \ + 0x3B + (nr), _max, 0x1A + (nr), _min +#define LM87_TEMP_INT_LIMITS(_min, _max) \ + 0x39, _max, 0x3A, _min +#define LM87_TEMP_EXT1_LIMITS(_min, _max) \ + 0x37, _max, 0x38, _min + +#define LM87_ALARM_TEMP_INT 0x10 +#define LM87_ALARM_TEMP_EXT1 0x20 + +#if defined(CONFIG_SENSORS_LM87) || defined(CONFIG_SENSORS_LM87_MODULE) + +static int efx_init_lm87(struct efx_nic *efx, struct i2c_board_info *info, + const u8 *reg_values) +{ + struct falcon_board *board = falcon_board(efx); + struct i2c_client *client = i2c_new_device(&board->i2c_adap, info); + int rc; + + if (!client) + return -EIO; + + while (*reg_values) { + u8 reg = *reg_values++; + u8 value = *reg_values++; + rc = i2c_smbus_write_byte_data(client, reg, value); + if (rc) + goto err; + } + + board->hwmon_client = client; + return 0; + +err: + i2c_unregister_device(client); + return rc; +} + +static void efx_fini_lm87(struct efx_nic *efx) +{ + i2c_unregister_device(falcon_board(efx)->hwmon_client); +} + +static int efx_check_lm87(struct efx_nic *efx, unsigned mask) +{ + struct i2c_client *client = falcon_board(efx)->hwmon_client; + s32 alarms1, alarms2; + + /* If link is up then do not monitor temperature */ + if (EFX_WORKAROUND_7884(efx) && efx->link_state.up) + return 0; + + alarms1 = i2c_smbus_read_byte_data(client, LM87_REG_ALARMS1); + alarms2 = i2c_smbus_read_byte_data(client, LM87_REG_ALARMS2); + if (alarms1 < 0) + return alarms1; + if (alarms2 < 0) + return alarms2; + alarms1 &= mask; + alarms2 &= mask >> 8; + if (alarms1 || alarms2) { + EFX_ERR(efx, + "LM87 detected a hardware failure (status %02x:%02x)" + "%s%s\n", + alarms1, alarms2, + (alarms1 & LM87_ALARM_TEMP_INT) ? " INTERNAL" : "", + (alarms1 & LM87_ALARM_TEMP_EXT1) ? " EXTERNAL" : ""); + return -ERANGE; + } + + return 0; +} + +#else /* !CONFIG_SENSORS_LM87 */ + +static inline int +efx_init_lm87(struct efx_nic *efx, struct i2c_board_info *info, + const u8 *reg_values) +{ + return 0; +} +static inline void efx_fini_lm87(struct efx_nic *efx) +{ +} +static inline int efx_check_lm87(struct efx_nic *efx, unsigned mask) +{ + return 0; +} + +#endif /* CONFIG_SENSORS_LM87 */ + +/***************************************************************************** + * Support for the SFE4001 and SFN4111T NICs. + * + * The SFE4001 does not power-up fully at reset due to its high power + * consumption. We control its power via a PCA9539 I/O expander. + * Both boards have a MAX6647 temperature monitor which we expose to + * the lm90 driver. + * + * This also provides minimal support for reflashing the PHY, which is + * initiated by resetting it with the FLASH_CFG_1 pin pulled down. + * On SFE4001 rev A2 and later this is connected to the 3V3X output of + * the IO-expander; on the SFN4111T it is connected to Falcon's GPIO3. + * We represent reflash mode as PHY_MODE_SPECIAL and make it mutually + * exclusive with the network device being open. + */ + +/************************************************************************** + * Support for I2C IO Expander device on SFE4001 + */ +#define PCA9539 0x74 + +#define P0_IN 0x00 +#define P0_OUT 0x02 +#define P0_INVERT 0x04 +#define P0_CONFIG 0x06 + +#define P0_EN_1V0X_LBN 0 +#define P0_EN_1V0X_WIDTH 1 +#define P0_EN_1V2_LBN 1 +#define P0_EN_1V2_WIDTH 1 +#define P0_EN_2V5_LBN 2 +#define P0_EN_2V5_WIDTH 1 +#define P0_EN_3V3X_LBN 3 +#define P0_EN_3V3X_WIDTH 1 +#define P0_EN_5V_LBN 4 +#define P0_EN_5V_WIDTH 1 +#define P0_SHORTEN_JTAG_LBN 5 +#define P0_SHORTEN_JTAG_WIDTH 1 +#define P0_X_TRST_LBN 6 +#define P0_X_TRST_WIDTH 1 +#define P0_DSP_RESET_LBN 7 +#define P0_DSP_RESET_WIDTH 1 + +#define P1_IN 0x01 +#define P1_OUT 0x03 +#define P1_INVERT 0x05 +#define P1_CONFIG 0x07 + +#define P1_AFE_PWD_LBN 0 +#define P1_AFE_PWD_WIDTH 1 +#define P1_DSP_PWD25_LBN 1 +#define P1_DSP_PWD25_WIDTH 1 +#define P1_RESERVED_LBN 2 +#define P1_RESERVED_WIDTH 2 +#define P1_SPARE_LBN 4 +#define P1_SPARE_WIDTH 4 + +/* Temperature Sensor */ +#define MAX664X_REG_RSL 0x02 +#define MAX664X_REG_WLHO 0x0B + +static void sfe4001_poweroff(struct efx_nic *efx) +{ + struct i2c_client *ioexp_client = falcon_board(efx)->ioexp_client; + struct i2c_client *hwmon_client = falcon_board(efx)->hwmon_client; + + /* Turn off all power rails and disable outputs */ + i2c_smbus_write_byte_data(ioexp_client, P0_OUT, 0xff); + i2c_smbus_write_byte_data(ioexp_client, P1_CONFIG, 0xff); + i2c_smbus_write_byte_data(ioexp_client, P0_CONFIG, 0xff); + + /* Clear any over-temperature alert */ + i2c_smbus_read_byte_data(hwmon_client, MAX664X_REG_RSL); +} + +static int sfe4001_poweron(struct efx_nic *efx) +{ + struct i2c_client *ioexp_client = falcon_board(efx)->ioexp_client; + struct i2c_client *hwmon_client = falcon_board(efx)->hwmon_client; + unsigned int i, j; + int rc; + u8 out; + + /* Clear any previous over-temperature alert */ + rc = i2c_smbus_read_byte_data(hwmon_client, MAX664X_REG_RSL); + if (rc < 0) + return rc; + + /* Enable port 0 and port 1 outputs on IO expander */ + rc = i2c_smbus_write_byte_data(ioexp_client, P0_CONFIG, 0x00); + if (rc) + return rc; + rc = i2c_smbus_write_byte_data(ioexp_client, P1_CONFIG, + 0xff & ~(1 << P1_SPARE_LBN)); + if (rc) + goto fail_on; + + /* If PHY power is on, turn it all off and wait 1 second to + * ensure a full reset. + */ + rc = i2c_smbus_read_byte_data(ioexp_client, P0_OUT); + if (rc < 0) + goto fail_on; + out = 0xff & ~((0 << P0_EN_1V2_LBN) | (0 << P0_EN_2V5_LBN) | + (0 << P0_EN_3V3X_LBN) | (0 << P0_EN_5V_LBN) | + (0 << P0_EN_1V0X_LBN)); + if (rc != out) { + EFX_INFO(efx, "power-cycling PHY\n"); + rc = i2c_smbus_write_byte_data(ioexp_client, P0_OUT, out); + if (rc) + goto fail_on; + schedule_timeout_uninterruptible(HZ); + } + + for (i = 0; i < 20; ++i) { + /* Turn on 1.2V, 2.5V, 3.3V and 5V power rails */ + out = 0xff & ~((1 << P0_EN_1V2_LBN) | (1 << P0_EN_2V5_LBN) | + (1 << P0_EN_3V3X_LBN) | (1 << P0_EN_5V_LBN) | + (1 << P0_X_TRST_LBN)); + if (efx->phy_mode & PHY_MODE_SPECIAL) + out |= 1 << P0_EN_3V3X_LBN; + + rc = i2c_smbus_write_byte_data(ioexp_client, P0_OUT, out); + if (rc) + goto fail_on; + msleep(10); + + /* Turn on 1V power rail */ + out &= ~(1 << P0_EN_1V0X_LBN); + rc = i2c_smbus_write_byte_data(ioexp_client, P0_OUT, out); + if (rc) + goto fail_on; + + EFX_INFO(efx, "waiting for DSP boot (attempt %d)...\n", i); + + /* In flash config mode, DSP does not turn on AFE, so + * just wait 1 second. + */ + if (efx->phy_mode & PHY_MODE_SPECIAL) { + schedule_timeout_uninterruptible(HZ); + return 0; + } + + for (j = 0; j < 10; ++j) { + msleep(100); + + /* Check DSP has asserted AFE power line */ + rc = i2c_smbus_read_byte_data(ioexp_client, P1_IN); + if (rc < 0) + goto fail_on; + if (rc & (1 << P1_AFE_PWD_LBN)) + return 0; + } + } + + EFX_INFO(efx, "timed out waiting for DSP boot\n"); + rc = -ETIMEDOUT; +fail_on: + sfe4001_poweroff(efx); + return rc; +} + +static int sfn4111t_reset(struct efx_nic *efx) +{ + struct falcon_board *board = falcon_board(efx); + efx_oword_t reg; + + /* GPIO 3 and the GPIO register are shared with I2C, so block that */ + i2c_lock_adapter(&board->i2c_adap); + + /* Pull RST_N (GPIO 2) low then let it up again, setting the + * FLASH_CFG_1 strap (GPIO 3) appropriately. Only change the + * output enables; the output levels should always be 0 (low) + * and we rely on external pull-ups. */ + efx_reado(efx, ®, FR_AB_GPIO_CTL); + EFX_SET_OWORD_FIELD(reg, FRF_AB_GPIO2_OEN, true); + efx_writeo(efx, ®, FR_AB_GPIO_CTL); + msleep(1000); + EFX_SET_OWORD_FIELD(reg, FRF_AB_GPIO2_OEN, false); + EFX_SET_OWORD_FIELD(reg, FRF_AB_GPIO3_OEN, + !!(efx->phy_mode & PHY_MODE_SPECIAL)); + efx_writeo(efx, ®, FR_AB_GPIO_CTL); + msleep(1); + + i2c_unlock_adapter(&board->i2c_adap); + + ssleep(1); + return 0; +} + +static ssize_t show_phy_flash_cfg(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct efx_nic *efx = pci_get_drvdata(to_pci_dev(dev)); + return sprintf(buf, "%d\n", !!(efx->phy_mode & PHY_MODE_SPECIAL)); +} + +static ssize_t set_phy_flash_cfg(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + struct efx_nic *efx = pci_get_drvdata(to_pci_dev(dev)); + enum efx_phy_mode old_mode, new_mode; + int err; + + rtnl_lock(); + old_mode = efx->phy_mode; + if (count == 0 || *buf == '0') + new_mode = old_mode & ~PHY_MODE_SPECIAL; + else + new_mode = PHY_MODE_SPECIAL; + if (old_mode == new_mode) { + err = 0; + } else if (efx->state != STATE_RUNNING || netif_running(efx->net_dev)) { + err = -EBUSY; + } else { + /* Reset the PHY, reconfigure the MAC and enable/disable + * MAC stats accordingly. */ + efx->phy_mode = new_mode; + if (new_mode & PHY_MODE_SPECIAL) + falcon_stop_nic_stats(efx); + if (falcon_board(efx)->type->id == FALCON_BOARD_SFE4001) + err = sfe4001_poweron(efx); + else + err = sfn4111t_reset(efx); + if (!err) + err = efx_reconfigure_port(efx); + if (!(new_mode & PHY_MODE_SPECIAL)) + falcon_start_nic_stats(efx); + } + rtnl_unlock(); + + return err ? err : count; +} + +static DEVICE_ATTR(phy_flash_cfg, 0644, show_phy_flash_cfg, set_phy_flash_cfg); + +static void sfe4001_fini(struct efx_nic *efx) +{ + struct falcon_board *board = falcon_board(efx); + + EFX_INFO(efx, "%s\n", __func__); + + device_remove_file(&efx->pci_dev->dev, &dev_attr_phy_flash_cfg); + sfe4001_poweroff(efx); + i2c_unregister_device(board->ioexp_client); + i2c_unregister_device(board->hwmon_client); +} + +static int sfe4001_check_hw(struct efx_nic *efx) +{ + s32 status; + + /* If XAUI link is up then do not monitor */ + if (EFX_WORKAROUND_7884(efx) && !efx->xmac_poll_required) + return 0; + + /* Check the powered status of the PHY. Lack of power implies that + * the MAX6647 has shut down power to it, probably due to a temp. + * alarm. Reading the power status rather than the MAX6647 status + * directly because the later is read-to-clear and would thus + * start to power up the PHY again when polled, causing us to blip + * the power undesirably. + * We know we can read from the IO expander because we did + * it during power-on. Assume failure now is bad news. */ + status = i2c_smbus_read_byte_data(falcon_board(efx)->ioexp_client, P1_IN); + if (status >= 0 && + (status & ((1 << P1_AFE_PWD_LBN) | (1 << P1_DSP_PWD25_LBN))) != 0) + return 0; + + /* Use board power control, not PHY power control */ + sfe4001_poweroff(efx); + efx->phy_mode = PHY_MODE_OFF; + + return (status < 0) ? -EIO : -ERANGE; +} + +static struct i2c_board_info sfe4001_hwmon_info = { + I2C_BOARD_INFO("max6647", 0x4e), +}; + +/* This board uses an I2C expander to provider power to the PHY, which needs to + * be turned on before the PHY can be used. + * Context: Process context, rtnl lock held + */ +static int sfe4001_init(struct efx_nic *efx) +{ + struct falcon_board *board = falcon_board(efx); + int rc; + +#if defined(CONFIG_SENSORS_LM90) || defined(CONFIG_SENSORS_LM90_MODULE) + board->hwmon_client = + i2c_new_device(&board->i2c_adap, &sfe4001_hwmon_info); +#else + board->hwmon_client = + i2c_new_dummy(&board->i2c_adap, sfe4001_hwmon_info.addr); +#endif + if (!board->hwmon_client) + return -EIO; + + /* Raise board/PHY high limit from 85 to 90 degrees Celsius */ + rc = i2c_smbus_write_byte_data(board->hwmon_client, + MAX664X_REG_WLHO, 90); + if (rc) + goto fail_hwmon; + + board->ioexp_client = i2c_new_dummy(&board->i2c_adap, PCA9539); + if (!board->ioexp_client) { + rc = -EIO; + goto fail_hwmon; + } + + if (efx->phy_mode & PHY_MODE_SPECIAL) { + /* PHY won't generate a 156.25 MHz clock and MAC stats fetch + * will fail. */ + falcon_stop_nic_stats(efx); + } + rc = sfe4001_poweron(efx); + if (rc) + goto fail_ioexp; + + rc = device_create_file(&efx->pci_dev->dev, &dev_attr_phy_flash_cfg); + if (rc) + goto fail_on; + + EFX_INFO(efx, "PHY is powered on\n"); + return 0; + +fail_on: + sfe4001_poweroff(efx); +fail_ioexp: + i2c_unregister_device(board->ioexp_client); +fail_hwmon: + i2c_unregister_device(board->hwmon_client); + return rc; +} + +static int sfn4111t_check_hw(struct efx_nic *efx) +{ + s32 status; + + /* If XAUI link is up then do not monitor */ + if (EFX_WORKAROUND_7884(efx) && !efx->xmac_poll_required) + return 0; + + /* Test LHIGH, RHIGH, FAULT, EOT and IOT alarms */ + status = i2c_smbus_read_byte_data(falcon_board(efx)->hwmon_client, + MAX664X_REG_RSL); + if (status < 0) + return -EIO; + if (status & 0x57) + return -ERANGE; + return 0; +} + +static void sfn4111t_fini(struct efx_nic *efx) +{ + EFX_INFO(efx, "%s\n", __func__); + + device_remove_file(&efx->pci_dev->dev, &dev_attr_phy_flash_cfg); + i2c_unregister_device(falcon_board(efx)->hwmon_client); +} + +static struct i2c_board_info sfn4111t_a0_hwmon_info = { + I2C_BOARD_INFO("max6647", 0x4e), +}; + +static struct i2c_board_info sfn4111t_r5_hwmon_info = { + I2C_BOARD_INFO("max6646", 0x4d), +}; + +static void sfn4111t_init_phy(struct efx_nic *efx) +{ + if (!(efx->phy_mode & PHY_MODE_SPECIAL)) { + if (sft9001_wait_boot(efx) != -EINVAL) + return; + + efx->phy_mode = PHY_MODE_SPECIAL; + falcon_stop_nic_stats(efx); + } + + sfn4111t_reset(efx); + sft9001_wait_boot(efx); +} + +static int sfn4111t_init(struct efx_nic *efx) +{ + struct falcon_board *board = falcon_board(efx); + int rc; + + board->hwmon_client = + i2c_new_device(&board->i2c_adap, + (board->minor < 5) ? + &sfn4111t_a0_hwmon_info : + &sfn4111t_r5_hwmon_info); + if (!board->hwmon_client) + return -EIO; + + rc = device_create_file(&efx->pci_dev->dev, &dev_attr_phy_flash_cfg); + if (rc) + goto fail_hwmon; + + if (efx->phy_mode & PHY_MODE_SPECIAL) + /* PHY may not generate a 156.25 MHz clock and MAC + * stats fetch will fail. */ + falcon_stop_nic_stats(efx); + + return 0; + +fail_hwmon: + i2c_unregister_device(board->hwmon_client); + return rc; +} + +/***************************************************************************** + * Support for the SFE4002 + * + */ +static u8 sfe4002_lm87_channel = 0x03; /* use AIN not FAN inputs */ + +static const u8 sfe4002_lm87_regs[] = { + LM87_IN_LIMITS(0, 0x7c, 0x99), /* 2.5V: 1.8V +/- 10% */ + LM87_IN_LIMITS(1, 0x4c, 0x5e), /* Vccp1: 1.2V +/- 10% */ + LM87_IN_LIMITS(2, 0xac, 0xd4), /* 3.3V: 3.3V +/- 10% */ + LM87_IN_LIMITS(3, 0xac, 0xd4), /* 5V: 5.0V +/- 10% */ + LM87_IN_LIMITS(4, 0xac, 0xe0), /* 12V: 10.8-14V */ + LM87_IN_LIMITS(5, 0x3f, 0x4f), /* Vccp2: 1.0V +/- 10% */ + LM87_AIN_LIMITS(0, 0x98, 0xbb), /* AIN1: 1.66V +/- 10% */ + LM87_AIN_LIMITS(1, 0x8a, 0xa9), /* AIN2: 1.5V +/- 10% */ + LM87_TEMP_INT_LIMITS(0, 80 + FALCON_BOARD_TEMP_BIAS), + LM87_TEMP_EXT1_LIMITS(0, FALCON_JUNC_TEMP_MAX), + 0 +}; + +static struct i2c_board_info sfe4002_hwmon_info = { + I2C_BOARD_INFO("lm87", 0x2e), + .platform_data = &sfe4002_lm87_channel, +}; + +/****************************************************************************/ +/* LED allocations. Note that on rev A0 boards the schematic and the reality + * differ: red and green are swapped. Below is the fixed (A1) layout (there + * are only 3 A0 boards in existence, so no real reason to make this + * conditional). + */ +#define SFE4002_FAULT_LED (2) /* Red */ +#define SFE4002_RX_LED (0) /* Green */ +#define SFE4002_TX_LED (1) /* Amber */ + +static void sfe4002_init_phy(struct efx_nic *efx) +{ + /* Set the TX and RX LEDs to reflect status and activity, and the + * fault LED off */ + falcon_qt202x_set_led(efx, SFE4002_TX_LED, + QUAKE_LED_TXLINK | QUAKE_LED_LINK_ACTSTAT); + falcon_qt202x_set_led(efx, SFE4002_RX_LED, + QUAKE_LED_RXLINK | QUAKE_LED_LINK_ACTSTAT); + falcon_qt202x_set_led(efx, SFE4002_FAULT_LED, QUAKE_LED_OFF); +} + +static void sfe4002_set_id_led(struct efx_nic *efx, enum efx_led_mode mode) +{ + falcon_qt202x_set_led( + efx, SFE4002_FAULT_LED, + (mode == EFX_LED_ON) ? QUAKE_LED_ON : QUAKE_LED_OFF); +} + +static int sfe4002_check_hw(struct efx_nic *efx) +{ + struct falcon_board *board = falcon_board(efx); + + /* A0 board rev. 4002s report a temperature fault the whole time + * (bad sensor) so we mask it out. */ + unsigned alarm_mask = + (board->major == 0 && board->minor == 0) ? + ~LM87_ALARM_TEMP_EXT1 : ~0; + + return efx_check_lm87(efx, alarm_mask); +} + +static int sfe4002_init(struct efx_nic *efx) +{ + return efx_init_lm87(efx, &sfe4002_hwmon_info, sfe4002_lm87_regs); +} + +/***************************************************************************** + * Support for the SFN4112F + * + */ +static u8 sfn4112f_lm87_channel = 0x03; /* use AIN not FAN inputs */ + +static const u8 sfn4112f_lm87_regs[] = { + LM87_IN_LIMITS(0, 0x7c, 0x99), /* 2.5V: 1.8V +/- 10% */ + LM87_IN_LIMITS(1, 0x4c, 0x5e), /* Vccp1: 1.2V +/- 10% */ + LM87_IN_LIMITS(2, 0xac, 0xd4), /* 3.3V: 3.3V +/- 10% */ + LM87_IN_LIMITS(4, 0xac, 0xe0), /* 12V: 10.8-14V */ + LM87_IN_LIMITS(5, 0x3f, 0x4f), /* Vccp2: 1.0V +/- 10% */ + LM87_AIN_LIMITS(1, 0x8a, 0xa9), /* AIN2: 1.5V +/- 10% */ + LM87_TEMP_INT_LIMITS(0, 60 + FALCON_BOARD_TEMP_BIAS), + LM87_TEMP_EXT1_LIMITS(0, FALCON_JUNC_TEMP_MAX), + 0 +}; + +static struct i2c_board_info sfn4112f_hwmon_info = { + I2C_BOARD_INFO("lm87", 0x2e), + .platform_data = &sfn4112f_lm87_channel, +}; + +#define SFN4112F_ACT_LED 0 +#define SFN4112F_LINK_LED 1 + +static void sfn4112f_init_phy(struct efx_nic *efx) +{ + falcon_qt202x_set_led(efx, SFN4112F_ACT_LED, + QUAKE_LED_RXLINK | QUAKE_LED_LINK_ACT); + falcon_qt202x_set_led(efx, SFN4112F_LINK_LED, + QUAKE_LED_RXLINK | QUAKE_LED_LINK_STAT); +} + +static void sfn4112f_set_id_led(struct efx_nic *efx, enum efx_led_mode mode) +{ + int reg; + + switch (mode) { + case EFX_LED_OFF: + reg = QUAKE_LED_OFF; + break; + case EFX_LED_ON: + reg = QUAKE_LED_ON; + break; + default: + reg = QUAKE_LED_RXLINK | QUAKE_LED_LINK_STAT; + break; + } + + falcon_qt202x_set_led(efx, SFN4112F_LINK_LED, reg); +} + +static int sfn4112f_check_hw(struct efx_nic *efx) +{ + /* Mask out unused sensors */ + return efx_check_lm87(efx, ~0x48); +} + +static int sfn4112f_init(struct efx_nic *efx) +{ + return efx_init_lm87(efx, &sfn4112f_hwmon_info, sfn4112f_lm87_regs); +} + +static const struct falcon_board_type board_types[] = { + { + .id = FALCON_BOARD_SFE4001, + .ref_model = "SFE4001", + .gen_type = "10GBASE-T adapter", + .init = sfe4001_init, + .init_phy = efx_port_dummy_op_void, + .fini = sfe4001_fini, + .set_id_led = tenxpress_set_id_led, + .monitor = sfe4001_check_hw, + }, + { + .id = FALCON_BOARD_SFE4002, + .ref_model = "SFE4002", + .gen_type = "XFP adapter", + .init = sfe4002_init, + .init_phy = sfe4002_init_phy, + .fini = efx_fini_lm87, + .set_id_led = sfe4002_set_id_led, + .monitor = sfe4002_check_hw, + }, + { + .id = FALCON_BOARD_SFN4111T, + .ref_model = "SFN4111T", + .gen_type = "100/1000/10GBASE-T adapter", + .init = sfn4111t_init, + .init_phy = sfn4111t_init_phy, + .fini = sfn4111t_fini, + .set_id_led = tenxpress_set_id_led, + .monitor = sfn4111t_check_hw, + }, + { + .id = FALCON_BOARD_SFN4112F, + .ref_model = "SFN4112F", + .gen_type = "SFP+ adapter", + .init = sfn4112f_init, + .init_phy = sfn4112f_init_phy, + .fini = efx_fini_lm87, + .set_id_led = sfn4112f_set_id_led, + .monitor = sfn4112f_check_hw, + }, +}; + +int falcon_probe_board(struct efx_nic *efx, u16 revision_info) +{ + struct falcon_board *board = falcon_board(efx); + u8 type_id = FALCON_BOARD_TYPE(revision_info); + int i; + + board->major = FALCON_BOARD_MAJOR(revision_info); + board->minor = FALCON_BOARD_MINOR(revision_info); + + for (i = 0; i < ARRAY_SIZE(board_types); i++) + if (board_types[i].id == type_id) + board->type = &board_types[i]; + + if (board->type) { + EFX_INFO(efx, "board is %s rev %c%d\n", + (efx->pci_dev->subsystem_vendor == EFX_VENDID_SFC) + ? board->type->ref_model : board->type->gen_type, + 'A' + board->major, board->minor); + return 0; + } else { + EFX_ERR(efx, "unknown board type %d\n", type_id); + return -ENODEV; + } +} --- linux-2.6.32.orig/drivers/net/sfc/falcon_xmac.c +++ linux-2.6.32/drivers/net/sfc/falcon_xmac.c @@ -1,7 +1,7 @@ /**************************************************************************** * Driver for Solarflare Solarstorm network controllers and boards * Copyright 2005-2006 Fen Systems Ltd. - * Copyright 2006-2008 Solarflare Communications Inc. + * Copyright 2006-2009 Solarflare Communications 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 @@ -11,13 +11,12 @@ #include #include "net_driver.h" #include "efx.h" -#include "falcon.h" -#include "falcon_hwdefs.h" -#include "falcon_io.h" +#include "nic.h" +#include "regs.h" +#include "io.h" #include "mac.h" #include "mdio_10g.h" #include "phy.h" -#include "boards.h" #include "workarounds.h" /************************************************************************** @@ -36,43 +35,47 @@ if (efx->phy_type == PHY_TYPE_NONE) return; - falcon_read(efx, &sdctl, XX_SD_CTL_REG); - EFX_SET_OWORD_FIELD(sdctl, XX_HIDRVD, XX_SD_CTL_DRV_DEFAULT); - EFX_SET_OWORD_FIELD(sdctl, XX_LODRVD, XX_SD_CTL_DRV_DEFAULT); - EFX_SET_OWORD_FIELD(sdctl, XX_HIDRVC, XX_SD_CTL_DRV_DEFAULT); - EFX_SET_OWORD_FIELD(sdctl, XX_LODRVC, XX_SD_CTL_DRV_DEFAULT); - EFX_SET_OWORD_FIELD(sdctl, XX_HIDRVB, XX_SD_CTL_DRV_DEFAULT); - EFX_SET_OWORD_FIELD(sdctl, XX_LODRVB, XX_SD_CTL_DRV_DEFAULT); - EFX_SET_OWORD_FIELD(sdctl, XX_HIDRVA, XX_SD_CTL_DRV_DEFAULT); - EFX_SET_OWORD_FIELD(sdctl, XX_LODRVA, XX_SD_CTL_DRV_DEFAULT); - falcon_write(efx, &sdctl, XX_SD_CTL_REG); + efx_reado(efx, &sdctl, FR_AB_XX_SD_CTL); + EFX_SET_OWORD_FIELD(sdctl, FRF_AB_XX_HIDRVD, FFE_AB_XX_SD_CTL_DRV_DEF); + EFX_SET_OWORD_FIELD(sdctl, FRF_AB_XX_LODRVD, FFE_AB_XX_SD_CTL_DRV_DEF); + EFX_SET_OWORD_FIELD(sdctl, FRF_AB_XX_HIDRVC, FFE_AB_XX_SD_CTL_DRV_DEF); + EFX_SET_OWORD_FIELD(sdctl, FRF_AB_XX_LODRVC, FFE_AB_XX_SD_CTL_DRV_DEF); + EFX_SET_OWORD_FIELD(sdctl, FRF_AB_XX_HIDRVB, FFE_AB_XX_SD_CTL_DRV_DEF); + EFX_SET_OWORD_FIELD(sdctl, FRF_AB_XX_LODRVB, FFE_AB_XX_SD_CTL_DRV_DEF); + EFX_SET_OWORD_FIELD(sdctl, FRF_AB_XX_HIDRVA, FFE_AB_XX_SD_CTL_DRV_DEF); + EFX_SET_OWORD_FIELD(sdctl, FRF_AB_XX_LODRVA, FFE_AB_XX_SD_CTL_DRV_DEF); + efx_writeo(efx, &sdctl, FR_AB_XX_SD_CTL); EFX_POPULATE_OWORD_8(txdrv, - XX_DEQD, XX_TXDRV_DEQ_DEFAULT, - XX_DEQC, XX_TXDRV_DEQ_DEFAULT, - XX_DEQB, XX_TXDRV_DEQ_DEFAULT, - XX_DEQA, XX_TXDRV_DEQ_DEFAULT, - XX_DTXD, XX_TXDRV_DTX_DEFAULT, - XX_DTXC, XX_TXDRV_DTX_DEFAULT, - XX_DTXB, XX_TXDRV_DTX_DEFAULT, - XX_DTXA, XX_TXDRV_DTX_DEFAULT); - falcon_write(efx, &txdrv, XX_TXDRV_CTL_REG); + FRF_AB_XX_DEQD, FFE_AB_XX_TXDRV_DEQ_DEF, + FRF_AB_XX_DEQC, FFE_AB_XX_TXDRV_DEQ_DEF, + FRF_AB_XX_DEQB, FFE_AB_XX_TXDRV_DEQ_DEF, + FRF_AB_XX_DEQA, FFE_AB_XX_TXDRV_DEQ_DEF, + FRF_AB_XX_DTXD, FFE_AB_XX_TXDRV_DTX_DEF, + FRF_AB_XX_DTXC, FFE_AB_XX_TXDRV_DTX_DEF, + FRF_AB_XX_DTXB, FFE_AB_XX_TXDRV_DTX_DEF, + FRF_AB_XX_DTXA, FFE_AB_XX_TXDRV_DTX_DEF); + efx_writeo(efx, &txdrv, FR_AB_XX_TXDRV_CTL); } int falcon_reset_xaui(struct efx_nic *efx) { + struct falcon_nic_data *nic_data = efx->nic_data; efx_oword_t reg; int count; + /* Don't fetch MAC statistics over an XMAC reset */ + WARN_ON(nic_data->stats_disable_count == 0); + /* Start reset sequence */ - EFX_POPULATE_DWORD_1(reg, XX_RST_XX_EN, 1); - falcon_write(efx, ®, XX_PWR_RST_REG); + EFX_POPULATE_OWORD_1(reg, FRF_AB_XX_RST_XX_EN, 1); + efx_writeo(efx, ®, FR_AB_XX_PWR_RST); /* Wait up to 10 ms for completion, then reinitialise */ for (count = 0; count < 1000; count++) { - falcon_read(efx, ®, XX_PWR_RST_REG); - if (EFX_OWORD_FIELD(reg, XX_RST_XX_EN) == 0 && - EFX_OWORD_FIELD(reg, XX_SD_RST_ACT) == 0) { + efx_reado(efx, ®, FR_AB_XX_PWR_RST); + if (EFX_OWORD_FIELD(reg, FRF_AB_XX_RST_XX_EN) == 0 && + EFX_OWORD_FIELD(reg, FRF_AB_XX_SD_RST_ACT) == 0) { falcon_setup_xaui(efx); return 0; } @@ -86,117 +89,118 @@ { efx_oword_t reg; - if ((falcon_rev(efx) != FALCON_REV_B0) || LOOPBACK_INTERNAL(efx)) + if ((efx_nic_rev(efx) != EFX_REV_FALCON_B0) || LOOPBACK_INTERNAL(efx)) return; /* We expect xgmii faults if the wireside link is up */ - if (!EFX_WORKAROUND_5147(efx) || !efx->link_up) + if (!EFX_WORKAROUND_5147(efx) || !efx->link_state.up) return; /* We can only use this interrupt to signal the negative edge of * xaui_align [we have to poll the positive edge]. */ - if (!efx->mac_up) + if (efx->xmac_poll_required) return; /* Flush the ISR */ if (enable) - falcon_read(efx, ®, XM_MGT_INT_REG_B0); + efx_reado(efx, ®, FR_AB_XM_MGT_INT_MSK); EFX_POPULATE_OWORD_2(reg, - XM_MSK_RMTFLT, !enable, - XM_MSK_LCLFLT, !enable); - falcon_write(efx, ®, XM_MGT_INT_MSK_REG_B0); + FRF_AB_XM_MSK_RMTFLT, !enable, + FRF_AB_XM_MSK_LCLFLT, !enable); + efx_writeo(efx, ®, FR_AB_XM_MGT_INT_MASK); } -/* Get status of XAUI link */ -bool falcon_xaui_link_ok(struct efx_nic *efx) +static bool falcon_xgxs_link_ok(struct efx_nic *efx) { efx_oword_t reg; bool align_done, link_ok = false; int sync_status; - if (LOOPBACK_INTERNAL(efx)) - return true; - /* Read link status */ - falcon_read(efx, ®, XX_CORE_STAT_REG); + efx_reado(efx, ®, FR_AB_XX_CORE_STAT); - align_done = EFX_OWORD_FIELD(reg, XX_ALIGN_DONE); - sync_status = EFX_OWORD_FIELD(reg, XX_SYNC_STAT); - if (align_done && (sync_status == XX_SYNC_STAT_DECODE_SYNCED)) + align_done = EFX_OWORD_FIELD(reg, FRF_AB_XX_ALIGN_DONE); + sync_status = EFX_OWORD_FIELD(reg, FRF_AB_XX_SYNC_STAT); + if (align_done && (sync_status == FFE_AB_XX_STAT_ALL_LANES)) link_ok = true; /* Clear link status ready for next read */ - EFX_SET_OWORD_FIELD(reg, XX_COMMA_DET, XX_COMMA_DET_RESET); - EFX_SET_OWORD_FIELD(reg, XX_CHARERR, XX_CHARERR_RESET); - EFX_SET_OWORD_FIELD(reg, XX_DISPERR, XX_DISPERR_RESET); - falcon_write(efx, ®, XX_CORE_STAT_REG); - - /* If the link is up, then check the phy side of the xaui link */ - if (efx->link_up && link_ok) - if (efx->phy_op->mmds & (1 << MDIO_MMD_PHYXS)) - link_ok = efx_mdio_phyxgxs_lane_sync(efx); + EFX_SET_OWORD_FIELD(reg, FRF_AB_XX_COMMA_DET, FFE_AB_XX_STAT_ALL_LANES); + EFX_SET_OWORD_FIELD(reg, FRF_AB_XX_CHAR_ERR, FFE_AB_XX_STAT_ALL_LANES); + EFX_SET_OWORD_FIELD(reg, FRF_AB_XX_DISPERR, FFE_AB_XX_STAT_ALL_LANES); + efx_writeo(efx, ®, FR_AB_XX_CORE_STAT); return link_ok; } -static void falcon_reconfigure_xmac_core(struct efx_nic *efx) +static bool falcon_xmac_link_ok(struct efx_nic *efx) +{ + /* + * Check MAC's XGXS link status except when using XGMII loopback + * which bypasses the XGXS block. + * If possible, check PHY's XGXS link status except when using + * MAC loopback. + */ + return (efx->loopback_mode == LOOPBACK_XGMII || + falcon_xgxs_link_ok(efx)) && + (!(efx->mdio.mmds & (1 << MDIO_MMD_PHYXS)) || + LOOPBACK_INTERNAL(efx) || + efx_mdio_phyxgxs_lane_sync(efx)); +} + +void falcon_reconfigure_xmac_core(struct efx_nic *efx) { unsigned int max_frame_len; efx_oword_t reg; - bool rx_fc = !!(efx->link_fc & EFX_FC_RX); + bool rx_fc = !!(efx->link_state.fc & EFX_FC_RX); + bool tx_fc = !!(efx->link_state.fc & EFX_FC_TX); /* Configure MAC - cut-thru mode is hard wired on */ - EFX_POPULATE_DWORD_3(reg, - XM_RX_JUMBO_MODE, 1, - XM_TX_STAT_EN, 1, - XM_RX_STAT_EN, 1); - falcon_write(efx, ®, XM_GLB_CFG_REG); + EFX_POPULATE_OWORD_3(reg, + FRF_AB_XM_RX_JUMBO_MODE, 1, + FRF_AB_XM_TX_STAT_EN, 1, + FRF_AB_XM_RX_STAT_EN, 1); + efx_writeo(efx, ®, FR_AB_XM_GLB_CFG); /* Configure TX */ - EFX_POPULATE_DWORD_6(reg, - XM_TXEN, 1, - XM_TX_PRMBL, 1, - XM_AUTO_PAD, 1, - XM_TXCRC, 1, - XM_FCNTL, 1, - XM_IPG, 0x3); - falcon_write(efx, ®, XM_TX_CFG_REG); + EFX_POPULATE_OWORD_6(reg, + FRF_AB_XM_TXEN, 1, + FRF_AB_XM_TX_PRMBL, 1, + FRF_AB_XM_AUTO_PAD, 1, + FRF_AB_XM_TXCRC, 1, + FRF_AB_XM_FCNTL, tx_fc, + FRF_AB_XM_IPG, 0x3); + efx_writeo(efx, ®, FR_AB_XM_TX_CFG); /* Configure RX */ - EFX_POPULATE_DWORD_5(reg, - XM_RXEN, 1, - XM_AUTO_DEPAD, 0, - XM_ACPT_ALL_MCAST, 1, - XM_ACPT_ALL_UCAST, efx->promiscuous, - XM_PASS_CRC_ERR, 1); - falcon_write(efx, ®, XM_RX_CFG_REG); + EFX_POPULATE_OWORD_5(reg, + FRF_AB_XM_RXEN, 1, + FRF_AB_XM_AUTO_DEPAD, 0, + FRF_AB_XM_ACPT_ALL_MCAST, 1, + FRF_AB_XM_ACPT_ALL_UCAST, efx->promiscuous, + FRF_AB_XM_PASS_CRC_ERR, 1); + efx_writeo(efx, ®, FR_AB_XM_RX_CFG); /* Set frame length */ max_frame_len = EFX_MAX_FRAME_LEN(efx->net_dev->mtu); - EFX_POPULATE_DWORD_1(reg, XM_MAX_RX_FRM_SIZE, max_frame_len); - falcon_write(efx, ®, XM_RX_PARAM_REG); - EFX_POPULATE_DWORD_2(reg, - XM_MAX_TX_FRM_SIZE, max_frame_len, - XM_TX_JUMBO_MODE, 1); - falcon_write(efx, ®, XM_TX_PARAM_REG); - - EFX_POPULATE_DWORD_2(reg, - XM_PAUSE_TIME, 0xfffe, /* MAX PAUSE TIME */ - XM_DIS_FCNTL, !rx_fc); - falcon_write(efx, ®, XM_FC_REG); + EFX_POPULATE_OWORD_1(reg, FRF_AB_XM_MAX_RX_FRM_SIZE, max_frame_len); + efx_writeo(efx, ®, FR_AB_XM_RX_PARAM); + EFX_POPULATE_OWORD_2(reg, + FRF_AB_XM_MAX_TX_FRM_SIZE, max_frame_len, + FRF_AB_XM_TX_JUMBO_MODE, 1); + efx_writeo(efx, ®, FR_AB_XM_TX_PARAM); + + EFX_POPULATE_OWORD_2(reg, + FRF_AB_XM_PAUSE_TIME, 0xfffe, /* MAX PAUSE TIME */ + FRF_AB_XM_DIS_FCNTL, !rx_fc); + efx_writeo(efx, ®, FR_AB_XM_FC); /* Set MAC address */ - EFX_POPULATE_DWORD_4(reg, - XM_ADR_0, efx->net_dev->dev_addr[0], - XM_ADR_1, efx->net_dev->dev_addr[1], - XM_ADR_2, efx->net_dev->dev_addr[2], - XM_ADR_3, efx->net_dev->dev_addr[3]); - falcon_write(efx, ®, XM_ADR_LO_REG); - EFX_POPULATE_DWORD_2(reg, - XM_ADR_4, efx->net_dev->dev_addr[4], - XM_ADR_5, efx->net_dev->dev_addr[5]); - falcon_write(efx, ®, XM_ADR_HI_REG); + memcpy(®, &efx->net_dev->dev_addr[0], 4); + efx_writeo(efx, ®, FR_AB_XM_ADR_LO); + memcpy(®, &efx->net_dev->dev_addr[4], 2); + efx_writeo(efx, ®, FR_AB_XM_ADR_HI); } static void falcon_reconfigure_xgxs_core(struct efx_nic *efx) @@ -212,12 +216,13 @@ bool old_xgmii_loopback, old_xgxs_loopback, old_xaui_loopback; bool reset_xgxs; - falcon_read(efx, ®, XX_CORE_STAT_REG); - old_xgxs_loopback = EFX_OWORD_FIELD(reg, XX_XGXS_LB_EN); - old_xgmii_loopback = EFX_OWORD_FIELD(reg, XX_XGMII_LB_EN); + efx_reado(efx, ®, FR_AB_XX_CORE_STAT); + old_xgxs_loopback = EFX_OWORD_FIELD(reg, FRF_AB_XX_XGXS_LB_EN); + old_xgmii_loopback = + EFX_OWORD_FIELD(reg, FRF_AB_XX_XGMII_LB_EN); - falcon_read(efx, ®, XX_SD_CTL_REG); - old_xaui_loopback = EFX_OWORD_FIELD(reg, XX_LPBKA); + efx_reado(efx, ®, FR_AB_XX_SD_CTL); + old_xaui_loopback = EFX_OWORD_FIELD(reg, FRF_AB_XX_LPBKA); /* The PHY driver may have turned XAUI off */ reset_xgxs = ((xgxs_loopback != old_xgxs_loopback) || @@ -228,45 +233,55 @@ falcon_reset_xaui(efx); } - falcon_read(efx, ®, XX_CORE_STAT_REG); - EFX_SET_OWORD_FIELD(reg, XX_FORCE_SIG, + efx_reado(efx, ®, FR_AB_XX_CORE_STAT); + EFX_SET_OWORD_FIELD(reg, FRF_AB_XX_FORCE_SIG, (xgxs_loopback || xaui_loopback) ? - XX_FORCE_SIG_DECODE_FORCED : 0); - EFX_SET_OWORD_FIELD(reg, XX_XGXS_LB_EN, xgxs_loopback); - EFX_SET_OWORD_FIELD(reg, XX_XGMII_LB_EN, xgmii_loopback); - falcon_write(efx, ®, XX_CORE_STAT_REG); + FFE_AB_XX_FORCE_SIG_ALL_LANES : 0); + EFX_SET_OWORD_FIELD(reg, FRF_AB_XX_XGXS_LB_EN, xgxs_loopback); + EFX_SET_OWORD_FIELD(reg, FRF_AB_XX_XGMII_LB_EN, xgmii_loopback); + efx_writeo(efx, ®, FR_AB_XX_CORE_STAT); - falcon_read(efx, ®, XX_SD_CTL_REG); - EFX_SET_OWORD_FIELD(reg, XX_LPBKD, xaui_loopback); - EFX_SET_OWORD_FIELD(reg, XX_LPBKC, xaui_loopback); - EFX_SET_OWORD_FIELD(reg, XX_LPBKB, xaui_loopback); - EFX_SET_OWORD_FIELD(reg, XX_LPBKA, xaui_loopback); - falcon_write(efx, ®, XX_SD_CTL_REG); + efx_reado(efx, ®, FR_AB_XX_SD_CTL); + EFX_SET_OWORD_FIELD(reg, FRF_AB_XX_LPBKD, xaui_loopback); + EFX_SET_OWORD_FIELD(reg, FRF_AB_XX_LPBKC, xaui_loopback); + EFX_SET_OWORD_FIELD(reg, FRF_AB_XX_LPBKB, xaui_loopback); + EFX_SET_OWORD_FIELD(reg, FRF_AB_XX_LPBKA, xaui_loopback); + efx_writeo(efx, ®, FR_AB_XX_SD_CTL); } -/* Try and bring the Falcon side of the Falcon-Phy XAUI link fails - * to come back up. Bash it until it comes back up */ -static void falcon_check_xaui_link_up(struct efx_nic *efx, int tries) +/* Try to bring up the Falcon side of the Falcon-Phy XAUI link */ +static bool falcon_xmac_link_ok_retry(struct efx_nic *efx, int tries) { - efx->mac_up = falcon_xaui_link_ok(efx); + bool mac_up = falcon_xmac_link_ok(efx); - if ((efx->loopback_mode == LOOPBACK_NETWORK) || + if (LOOPBACK_MASK(efx) & LOOPBACKS_EXTERNAL(efx) & LOOPBACKS_WS || efx_phy_mode_disabled(efx->phy_mode)) /* XAUI link is expected to be down */ - return; + return mac_up; + + falcon_stop_nic_stats(efx); - while (!efx->mac_up && tries) { + while (!mac_up && tries) { EFX_LOG(efx, "bashing xaui\n"); falcon_reset_xaui(efx); udelay(200); - efx->mac_up = falcon_xaui_link_ok(efx); + mac_up = falcon_xmac_link_ok(efx); --tries; } + + falcon_start_nic_stats(efx); + + return mac_up; +} + +static bool falcon_xmac_check_fault(struct efx_nic *efx) +{ + return !falcon_xmac_link_ok_retry(efx, 5); } -static void falcon_reconfigure_xmac(struct efx_nic *efx) +static int falcon_reconfigure_xmac(struct efx_nic *efx) { falcon_mask_status_intr(efx, false); @@ -275,18 +290,15 @@ falcon_reconfigure_mac_wrapper(efx); - falcon_check_xaui_link_up(efx, 5); + efx->xmac_poll_required = !falcon_xmac_link_ok_retry(efx, 5); falcon_mask_status_intr(efx, true); + + return 0; } static void falcon_update_stats_xmac(struct efx_nic *efx) { struct efx_mac_stats *mac_stats = &efx->mac_stats; - int rc; - - rc = falcon_dma_stats(efx, XgDmaDone_offset); - if (rc) - return; /* Update MAC stats from DMAed values */ FALCON_STAT(efx, XgRxOctets, rx_bytes); @@ -344,35 +356,19 @@ mac_stats->rx_control * 64); } -static void falcon_xmac_irq(struct efx_nic *efx) -{ - /* The XGMII link has a transient fault, which indicates either: - * - there's a transient xgmii fault - * - falcon's end of the xaui link may need a kick - * - the wire-side link may have gone down, but the lasi/poll() - * hasn't noticed yet. - * - * We only want to even bother polling XAUI if we're confident it's - * not (1) or (3). In both cases, the only reliable way to spot this - * is to wait a bit. We do this here by forcing the mac link state - * to down, and waiting for the mac poll to come round and check - */ - efx->mac_up = false; -} - -static void falcon_poll_xmac(struct efx_nic *efx) +void falcon_poll_xmac(struct efx_nic *efx) { - if (!EFX_WORKAROUND_5147(efx) || !efx->link_up || efx->mac_up) + if (!EFX_WORKAROUND_5147(efx) || !efx->link_state.up || + !efx->xmac_poll_required) return; falcon_mask_status_intr(efx, false); - falcon_check_xaui_link_up(efx, 1); + efx->xmac_poll_required = !falcon_xmac_link_ok_retry(efx, 1); falcon_mask_status_intr(efx, true); } struct efx_mac_operations falcon_xmac_operations = { .reconfigure = falcon_reconfigure_xmac, .update_stats = falcon_update_stats_xmac, - .irq = falcon_xmac_irq, - .poll = falcon_poll_xmac, + .check_fault = falcon_xmac_check_fault, }; --- linux-2.6.32.orig/drivers/net/sfc/io.h +++ linux-2.6.32/drivers/net/sfc/io.h @@ -0,0 +1,256 @@ +/**************************************************************************** + * Driver for Solarflare Solarstorm network controllers and boards + * Copyright 2005-2006 Fen Systems Ltd. + * Copyright 2006-2009 Solarflare Communications 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, incorporated herein by reference. + */ + +#ifndef EFX_IO_H +#define EFX_IO_H + +#include +#include + +/************************************************************************** + * + * NIC register I/O + * + ************************************************************************** + * + * Notes on locking strategy: + * + * Most NIC registers require 16-byte (or 8-byte, for SRAM) atomic writes + * which necessitates locking. + * Under normal operation few writes to NIC registers are made and these + * registers (EVQ_RPTR_REG, RX_DESC_UPD_REG and TX_DESC_UPD_REG) are special + * cased to allow 4-byte (hence lockless) accesses. + * + * It *is* safe to write to these 4-byte registers in the middle of an + * access to an 8-byte or 16-byte register. We therefore use a + * spinlock to protect accesses to the larger registers, but no locks + * for the 4-byte registers. + * + * A write barrier is needed to ensure that DW3 is written after DW0/1/2 + * due to the way the 16byte registers are "collected" in the BIU. + * + * We also lock when carrying out reads, to ensure consistency of the + * data (made possible since the BIU reads all 128 bits into a cache). + * Reads are very rare, so this isn't a significant performance + * impact. (Most data transferred from NIC to host is DMAed directly + * into host memory). + * + * I/O BAR access uses locks for both reads and writes (but is only provided + * for testing purposes). + */ + +#if BITS_PER_LONG == 64 +#define EFX_USE_QWORD_IO 1 +#endif + +#ifdef EFX_USE_QWORD_IO +static inline void _efx_writeq(struct efx_nic *efx, __le64 value, + unsigned int reg) +{ + __raw_writeq((__force u64)value, efx->membase + reg); +} +static inline __le64 _efx_readq(struct efx_nic *efx, unsigned int reg) +{ + return (__force __le64)__raw_readq(efx->membase + reg); +} +#endif + +static inline void _efx_writed(struct efx_nic *efx, __le32 value, + unsigned int reg) +{ + __raw_writel((__force u32)value, efx->membase + reg); +} +static inline __le32 _efx_readd(struct efx_nic *efx, unsigned int reg) +{ + return (__force __le32)__raw_readl(efx->membase + reg); +} + +/* Writes to a normal 16-byte Efx register, locking as appropriate. */ +static inline void efx_writeo(struct efx_nic *efx, efx_oword_t *value, + unsigned int reg) +{ + unsigned long flags __attribute__ ((unused)); + + EFX_REGDUMP(efx, "writing register %x with " EFX_OWORD_FMT "\n", reg, + EFX_OWORD_VAL(*value)); + + spin_lock_irqsave(&efx->biu_lock, flags); +#ifdef EFX_USE_QWORD_IO + _efx_writeq(efx, value->u64[0], reg + 0); + wmb(); + _efx_writeq(efx, value->u64[1], reg + 8); +#else + _efx_writed(efx, value->u32[0], reg + 0); + _efx_writed(efx, value->u32[1], reg + 4); + _efx_writed(efx, value->u32[2], reg + 8); + wmb(); + _efx_writed(efx, value->u32[3], reg + 12); +#endif + mmiowb(); + spin_unlock_irqrestore(&efx->biu_lock, flags); +} + +/* Write an 8-byte NIC SRAM entry through the supplied mapping, + * locking as appropriate. */ +static inline void efx_sram_writeq(struct efx_nic *efx, void __iomem *membase, + efx_qword_t *value, unsigned int index) +{ + unsigned int addr = index * sizeof(*value); + unsigned long flags __attribute__ ((unused)); + + EFX_REGDUMP(efx, "writing SRAM address %x with " EFX_QWORD_FMT "\n", + addr, EFX_QWORD_VAL(*value)); + + spin_lock_irqsave(&efx->biu_lock, flags); +#ifdef EFX_USE_QWORD_IO + __raw_writeq((__force u64)value->u64[0], membase + addr); +#else + __raw_writel((__force u32)value->u32[0], membase + addr); + wmb(); + __raw_writel((__force u32)value->u32[1], membase + addr + 4); +#endif + mmiowb(); + spin_unlock_irqrestore(&efx->biu_lock, flags); +} + +/* Write dword to NIC register that allows partial writes + * + * Some registers (EVQ_RPTR_REG, RX_DESC_UPD_REG and + * TX_DESC_UPD_REG) can be written to as a single dword. This allows + * for lockless writes. + */ +static inline void efx_writed(struct efx_nic *efx, efx_dword_t *value, + unsigned int reg) +{ + EFX_REGDUMP(efx, "writing partial register %x with "EFX_DWORD_FMT"\n", + reg, EFX_DWORD_VAL(*value)); + + /* No lock required */ + _efx_writed(efx, value->u32[0], reg); +} + +/* Read from a NIC register + * + * This reads an entire 16-byte register in one go, locking as + * appropriate. It is essential to read the first dword first, as this + * prompts the NIC to load the current value into the shadow register. + */ +static inline void efx_reado(struct efx_nic *efx, efx_oword_t *value, + unsigned int reg) +{ + unsigned long flags __attribute__ ((unused)); + + spin_lock_irqsave(&efx->biu_lock, flags); + value->u32[0] = _efx_readd(efx, reg + 0); + rmb(); + value->u32[1] = _efx_readd(efx, reg + 4); + value->u32[2] = _efx_readd(efx, reg + 8); + value->u32[3] = _efx_readd(efx, reg + 12); + spin_unlock_irqrestore(&efx->biu_lock, flags); + + EFX_REGDUMP(efx, "read from register %x, got " EFX_OWORD_FMT "\n", reg, + EFX_OWORD_VAL(*value)); +} + +/* Read an 8-byte SRAM entry through supplied mapping, + * locking as appropriate. */ +static inline void efx_sram_readq(struct efx_nic *efx, void __iomem *membase, + efx_qword_t *value, unsigned int index) +{ + unsigned int addr = index * sizeof(*value); + unsigned long flags __attribute__ ((unused)); + + spin_lock_irqsave(&efx->biu_lock, flags); +#ifdef EFX_USE_QWORD_IO + value->u64[0] = (__force __le64)__raw_readq(membase + addr); +#else + value->u32[0] = (__force __le32)__raw_readl(membase + addr); + rmb(); + value->u32[1] = (__force __le32)__raw_readl(membase + addr + 4); +#endif + spin_unlock_irqrestore(&efx->biu_lock, flags); + + EFX_REGDUMP(efx, "read from SRAM address %x, got "EFX_QWORD_FMT"\n", + addr, EFX_QWORD_VAL(*value)); +} + +/* Read dword from register that allows partial writes (sic) */ +static inline void efx_readd(struct efx_nic *efx, efx_dword_t *value, + unsigned int reg) +{ + value->u32[0] = _efx_readd(efx, reg); + EFX_REGDUMP(efx, "read from register %x, got "EFX_DWORD_FMT"\n", + reg, EFX_DWORD_VAL(*value)); +} + +/* Write to a register forming part of a table */ +static inline void efx_writeo_table(struct efx_nic *efx, efx_oword_t *value, + unsigned int reg, unsigned int index) +{ + efx_writeo(efx, value, reg + index * sizeof(efx_oword_t)); +} + +/* Read to a register forming part of a table */ +static inline void efx_reado_table(struct efx_nic *efx, efx_oword_t *value, + unsigned int reg, unsigned int index) +{ + efx_reado(efx, value, reg + index * sizeof(efx_oword_t)); +} + +/* Write to a dword register forming part of a table */ +static inline void efx_writed_table(struct efx_nic *efx, efx_dword_t *value, + unsigned int reg, unsigned int index) +{ + efx_writed(efx, value, reg + index * sizeof(efx_oword_t)); +} + +/* Page-mapped register block size */ +#define EFX_PAGE_BLOCK_SIZE 0x2000 + +/* Calculate offset to page-mapped register block */ +#define EFX_PAGED_REG(page, reg) \ + ((page) * EFX_PAGE_BLOCK_SIZE + (reg)) + +/* As for efx_writeo(), but for a page-mapped register. */ +static inline void efx_writeo_page(struct efx_nic *efx, efx_oword_t *value, + unsigned int reg, unsigned int page) +{ + efx_writeo(efx, value, EFX_PAGED_REG(page, reg)); +} + +/* As for efx_writed(), but for a page-mapped register. */ +static inline void efx_writed_page(struct efx_nic *efx, efx_dword_t *value, + unsigned int reg, unsigned int page) +{ + efx_writed(efx, value, EFX_PAGED_REG(page, reg)); +} + +/* Write dword to page-mapped register with an extra lock. + * + * As for efx_writed_page(), but for a register that suffers from + * SFC bug 3181. Take out a lock so the BIU collector cannot be + * confused. */ +static inline void efx_writed_page_locked(struct efx_nic *efx, + efx_dword_t *value, + unsigned int reg, + unsigned int page) +{ + unsigned long flags __attribute__ ((unused)); + + if (page == 0) { + spin_lock_irqsave(&efx->biu_lock, flags); + efx_writed(efx, value, EFX_PAGED_REG(page, reg)); + spin_unlock_irqrestore(&efx->biu_lock, flags); + } else { + efx_writed(efx, value, EFX_PAGED_REG(page, reg)); + } +} + +#endif /* EFX_IO_H */ --- linux-2.6.32.orig/drivers/net/sfc/mac.h +++ linux-2.6.32/drivers/net/sfc/mac.h @@ -1,7 +1,7 @@ /**************************************************************************** * Driver for Solarflare Solarstorm network controllers and boards * Copyright 2005-2006 Fen Systems Ltd. - * Copyright 2006-2008 Solarflare Communications Inc. + * Copyright 2006-2009 Solarflare Communications 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 @@ -15,5 +15,9 @@ extern struct efx_mac_operations falcon_gmac_operations; extern struct efx_mac_operations falcon_xmac_operations; +extern struct efx_mac_operations efx_mcdi_mac_operations; +extern void falcon_reconfigure_xmac_core(struct efx_nic *efx); +extern int efx_mcdi_mac_stats(struct efx_nic *efx, dma_addr_t dma_addr, + u32 dma_len, int enable, int clear); #endif --- linux-2.6.32.orig/drivers/net/sfc/mcdi.c +++ linux-2.6.32/drivers/net/sfc/mcdi.c @@ -0,0 +1,1114 @@ +/**************************************************************************** + * Driver for Solarflare Solarstorm network controllers and boards + * Copyright 2008-2009 Solarflare Communications 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, incorporated herein by reference. + */ + +#include +#include "net_driver.h" +#include "nic.h" +#include "io.h" +#include "regs.h" +#include "mcdi_pcol.h" +#include "phy.h" + +/************************************************************************** + * + * Management-Controller-to-Driver Interface + * + ************************************************************************** + */ + +/* Software-defined structure to the shared-memory */ +#define CMD_NOTIFY_PORT0 0 +#define CMD_NOTIFY_PORT1 4 +#define CMD_PDU_PORT0 0x008 +#define CMD_PDU_PORT1 0x108 +#define REBOOT_FLAG_PORT0 0x3f8 +#define REBOOT_FLAG_PORT1 0x3fc + +#define MCDI_RPC_TIMEOUT 10 /*seconds */ + +#define MCDI_PDU(efx) \ + (efx_port_num(efx) ? CMD_PDU_PORT1 : CMD_PDU_PORT0) +#define MCDI_DOORBELL(efx) \ + (efx_port_num(efx) ? CMD_NOTIFY_PORT1 : CMD_NOTIFY_PORT0) +#define MCDI_REBOOT_FLAG(efx) \ + (efx_port_num(efx) ? REBOOT_FLAG_PORT1 : REBOOT_FLAG_PORT0) + +#define SEQ_MASK \ + EFX_MASK32(EFX_WIDTH(MCDI_HEADER_SEQ)) + +static inline struct efx_mcdi_iface *efx_mcdi(struct efx_nic *efx) +{ + struct siena_nic_data *nic_data; + EFX_BUG_ON_PARANOID(efx_nic_rev(efx) < EFX_REV_SIENA_A0); + nic_data = efx->nic_data; + return &nic_data->mcdi; +} + +void efx_mcdi_init(struct efx_nic *efx) +{ + struct efx_mcdi_iface *mcdi; + + if (efx_nic_rev(efx) < EFX_REV_SIENA_A0) + return; + + mcdi = efx_mcdi(efx); + init_waitqueue_head(&mcdi->wq); + spin_lock_init(&mcdi->iface_lock); + atomic_set(&mcdi->state, MCDI_STATE_QUIESCENT); + mcdi->mode = MCDI_MODE_POLL; + + (void) efx_mcdi_poll_reboot(efx); +} + +static void efx_mcdi_copyin(struct efx_nic *efx, unsigned cmd, + const u8 *inbuf, size_t inlen) +{ + struct efx_mcdi_iface *mcdi = efx_mcdi(efx); + unsigned pdu = FR_CZ_MC_TREG_SMEM + MCDI_PDU(efx); + unsigned doorbell = FR_CZ_MC_TREG_SMEM + MCDI_DOORBELL(efx); + unsigned int i; + efx_dword_t hdr; + u32 xflags, seqno; + + BUG_ON(atomic_read(&mcdi->state) == MCDI_STATE_QUIESCENT); + BUG_ON(inlen & 3 || inlen >= 0x100); + + seqno = mcdi->seqno & SEQ_MASK; + xflags = 0; + if (mcdi->mode == MCDI_MODE_EVENTS) + xflags |= MCDI_HEADER_XFLAGS_EVREQ; + + EFX_POPULATE_DWORD_6(hdr, + MCDI_HEADER_RESPONSE, 0, + MCDI_HEADER_RESYNC, 1, + MCDI_HEADER_CODE, cmd, + MCDI_HEADER_DATALEN, inlen, + MCDI_HEADER_SEQ, seqno, + MCDI_HEADER_XFLAGS, xflags); + + efx_writed(efx, &hdr, pdu); + + for (i = 0; i < inlen; i += 4) + _efx_writed(efx, *((__le32 *)(inbuf + i)), pdu + 4 + i); + + /* Ensure the payload is written out before the header */ + wmb(); + + /* ring the doorbell with a distinctive value */ + _efx_writed(efx, (__force __le32) 0x45789abc, doorbell); +} + +static void efx_mcdi_copyout(struct efx_nic *efx, u8 *outbuf, size_t outlen) +{ + struct efx_mcdi_iface *mcdi = efx_mcdi(efx); + unsigned int pdu = FR_CZ_MC_TREG_SMEM + MCDI_PDU(efx); + int i; + + BUG_ON(atomic_read(&mcdi->state) == MCDI_STATE_QUIESCENT); + BUG_ON(outlen & 3 || outlen >= 0x100); + + for (i = 0; i < outlen; i += 4) + *((__le32 *)(outbuf + i)) = _efx_readd(efx, pdu + 4 + i); +} + +static int efx_mcdi_poll(struct efx_nic *efx) +{ + struct efx_mcdi_iface *mcdi = efx_mcdi(efx); + unsigned int time, finish; + unsigned int respseq, respcmd, error; + unsigned int pdu = FR_CZ_MC_TREG_SMEM + MCDI_PDU(efx); + unsigned int rc, spins; + efx_dword_t reg; + + /* Check for a reboot atomically with respect to efx_mcdi_copyout() */ + rc = -efx_mcdi_poll_reboot(efx); + if (rc) + goto out; + + /* Poll for completion. Poll quickly (once a us) for the 1st jiffy, + * because generally mcdi responses are fast. After that, back off + * and poll once a jiffy (approximately) + */ + spins = TICK_USEC; + finish = get_seconds() + MCDI_RPC_TIMEOUT; + + while (1) { + if (spins != 0) { + --spins; + udelay(1); + } else { + schedule_timeout_uninterruptible(1); + } + + time = get_seconds(); + + rmb(); + efx_readd(efx, ®, pdu); + + /* All 1's indicates that shared memory is in reset (and is + * not a valid header). Wait for it to come out reset before + * completing the command */ + if (EFX_DWORD_FIELD(reg, EFX_DWORD_0) != 0xffffffff && + EFX_DWORD_FIELD(reg, MCDI_HEADER_RESPONSE)) + break; + + if (time >= finish) + return -ETIMEDOUT; + } + + mcdi->resplen = EFX_DWORD_FIELD(reg, MCDI_HEADER_DATALEN); + respseq = EFX_DWORD_FIELD(reg, MCDI_HEADER_SEQ); + respcmd = EFX_DWORD_FIELD(reg, MCDI_HEADER_CODE); + error = EFX_DWORD_FIELD(reg, MCDI_HEADER_ERROR); + + if (error && mcdi->resplen == 0) { + EFX_ERR(efx, "MC rebooted\n"); + rc = EIO; + } else if ((respseq ^ mcdi->seqno) & SEQ_MASK) { + EFX_ERR(efx, "MC response mismatch tx seq 0x%x rx seq 0x%x\n", + respseq, mcdi->seqno); + rc = EIO; + } else if (error) { + efx_readd(efx, ®, pdu + 4); + switch (EFX_DWORD_FIELD(reg, EFX_DWORD_0)) { +#define TRANSLATE_ERROR(name) \ + case MC_CMD_ERR_ ## name: \ + rc = name; \ + break + TRANSLATE_ERROR(ENOENT); + TRANSLATE_ERROR(EINTR); + TRANSLATE_ERROR(EACCES); + TRANSLATE_ERROR(EBUSY); + TRANSLATE_ERROR(EINVAL); + TRANSLATE_ERROR(EDEADLK); + TRANSLATE_ERROR(ENOSYS); + TRANSLATE_ERROR(ETIME); +#undef TRANSLATE_ERROR + default: + rc = EIO; + break; + } + } else + rc = 0; + +out: + mcdi->resprc = rc; + if (rc) + mcdi->resplen = 0; + + /* Return rc=0 like wait_event_timeout() */ + return 0; +} + +/* Test and clear MC-rebooted flag for this port/function */ +int efx_mcdi_poll_reboot(struct efx_nic *efx) +{ + unsigned int addr = FR_CZ_MC_TREG_SMEM + MCDI_REBOOT_FLAG(efx); + efx_dword_t reg; + uint32_t value; + + if (efx_nic_rev(efx) < EFX_REV_SIENA_A0) + return false; + + efx_readd(efx, ®, addr); + value = EFX_DWORD_FIELD(reg, EFX_DWORD_0); + + if (value == 0) + return 0; + + EFX_ZERO_DWORD(reg); + efx_writed(efx, ®, addr); + + if (value == MC_STATUS_DWORD_ASSERT) + return -EINTR; + else + return -EIO; +} + +static void efx_mcdi_acquire(struct efx_mcdi_iface *mcdi) +{ + /* Wait until the interface becomes QUIESCENT and we win the race + * to mark it RUNNING. */ + wait_event(mcdi->wq, + atomic_cmpxchg(&mcdi->state, + MCDI_STATE_QUIESCENT, + MCDI_STATE_RUNNING) + == MCDI_STATE_QUIESCENT); +} + +static int efx_mcdi_await_completion(struct efx_nic *efx) +{ + struct efx_mcdi_iface *mcdi = efx_mcdi(efx); + + if (wait_event_timeout( + mcdi->wq, + atomic_read(&mcdi->state) == MCDI_STATE_COMPLETED, + msecs_to_jiffies(MCDI_RPC_TIMEOUT * 1000)) == 0) + return -ETIMEDOUT; + + /* Check if efx_mcdi_set_mode() switched us back to polled completions. + * In which case, poll for completions directly. If efx_mcdi_ev_cpl() + * completed the request first, then we'll just end up completing the + * request again, which is safe. + * + * We need an smp_rmb() to synchronise with efx_mcdi_mode_poll(), which + * wait_event_timeout() implicitly provides. + */ + if (mcdi->mode == MCDI_MODE_POLL) + return efx_mcdi_poll(efx); + + return 0; +} + +static bool efx_mcdi_complete(struct efx_mcdi_iface *mcdi) +{ + /* If the interface is RUNNING, then move to COMPLETED and wake any + * waiters. If the interface isn't in RUNNING then we've received a + * duplicate completion after we've already transitioned back to + * QUIESCENT. [A subsequent invocation would increment seqno, so would + * have failed the seqno check]. + */ + if (atomic_cmpxchg(&mcdi->state, + MCDI_STATE_RUNNING, + MCDI_STATE_COMPLETED) == MCDI_STATE_RUNNING) { + wake_up(&mcdi->wq); + return true; + } + + return false; +} + +static void efx_mcdi_release(struct efx_mcdi_iface *mcdi) +{ + atomic_set(&mcdi->state, MCDI_STATE_QUIESCENT); + wake_up(&mcdi->wq); +} + +static void efx_mcdi_ev_cpl(struct efx_nic *efx, unsigned int seqno, + unsigned int datalen, unsigned int errno) +{ + struct efx_mcdi_iface *mcdi = efx_mcdi(efx); + bool wake = false; + + spin_lock(&mcdi->iface_lock); + + if ((seqno ^ mcdi->seqno) & SEQ_MASK) { + if (mcdi->credits) + /* The request has been cancelled */ + --mcdi->credits; + else + EFX_ERR(efx, "MC response mismatch tx seq 0x%x rx " + "seq 0x%x\n", seqno, mcdi->seqno); + } else { + mcdi->resprc = errno; + mcdi->resplen = datalen; + + wake = true; + } + + spin_unlock(&mcdi->iface_lock); + + if (wake) + efx_mcdi_complete(mcdi); +} + +/* Issue the given command by writing the data into the shared memory PDU, + * ring the doorbell and wait for completion. Copyout the result. */ +int efx_mcdi_rpc(struct efx_nic *efx, unsigned cmd, + const u8 *inbuf, size_t inlen, u8 *outbuf, size_t outlen, + size_t *outlen_actual) +{ + struct efx_mcdi_iface *mcdi = efx_mcdi(efx); + int rc; + BUG_ON(efx_nic_rev(efx) < EFX_REV_SIENA_A0); + + efx_mcdi_acquire(mcdi); + + /* Serialise with efx_mcdi_ev_cpl() and efx_mcdi_ev_death() */ + spin_lock_bh(&mcdi->iface_lock); + ++mcdi->seqno; + spin_unlock_bh(&mcdi->iface_lock); + + efx_mcdi_copyin(efx, cmd, inbuf, inlen); + + if (mcdi->mode == MCDI_MODE_POLL) + rc = efx_mcdi_poll(efx); + else + rc = efx_mcdi_await_completion(efx); + + if (rc != 0) { + /* Close the race with efx_mcdi_ev_cpl() executing just too late + * and completing a request we've just cancelled, by ensuring + * that the seqno check therein fails. + */ + spin_lock_bh(&mcdi->iface_lock); + ++mcdi->seqno; + ++mcdi->credits; + spin_unlock_bh(&mcdi->iface_lock); + + EFX_ERR(efx, "MC command 0x%x inlen %d mode %d timed out\n", + cmd, (int)inlen, mcdi->mode); + } else { + size_t resplen; + + /* At the very least we need a memory barrier here to ensure + * we pick up changes from efx_mcdi_ev_cpl(). Protect against + * a spurious efx_mcdi_ev_cpl() running concurrently by + * acquiring the iface_lock. */ + spin_lock_bh(&mcdi->iface_lock); + rc = -mcdi->resprc; + resplen = mcdi->resplen; + spin_unlock_bh(&mcdi->iface_lock); + + if (rc == 0) { + efx_mcdi_copyout(efx, outbuf, + min(outlen, mcdi->resplen + 3) & ~0x3); + if (outlen_actual != NULL) + *outlen_actual = resplen; + } else if (cmd == MC_CMD_REBOOT && rc == -EIO) + ; /* Don't reset if MC_CMD_REBOOT returns EIO */ + else if (rc == -EIO || rc == -EINTR) { + EFX_ERR(efx, "MC fatal error %d\n", -rc); + efx_schedule_reset(efx, RESET_TYPE_MC_FAILURE); + } else + EFX_ERR(efx, "MC command 0x%x inlen %d failed rc=%d\n", + cmd, (int)inlen, -rc); + } + + efx_mcdi_release(mcdi); + return rc; +} + +void efx_mcdi_mode_poll(struct efx_nic *efx) +{ + struct efx_mcdi_iface *mcdi; + + if (efx_nic_rev(efx) < EFX_REV_SIENA_A0) + return; + + mcdi = efx_mcdi(efx); + if (mcdi->mode == MCDI_MODE_POLL) + return; + + /* We can switch from event completion to polled completion, because + * mcdi requests are always completed in shared memory. We do this by + * switching the mode to POLL'd then completing the request. + * efx_mcdi_await_completion() will then call efx_mcdi_poll(). + * + * We need an smp_wmb() to synchronise with efx_mcdi_await_completion(), + * which efx_mcdi_complete() provides for us. + */ + mcdi->mode = MCDI_MODE_POLL; + + efx_mcdi_complete(mcdi); +} + +void efx_mcdi_mode_event(struct efx_nic *efx) +{ + struct efx_mcdi_iface *mcdi; + + if (efx_nic_rev(efx) < EFX_REV_SIENA_A0) + return; + + mcdi = efx_mcdi(efx); + + if (mcdi->mode == MCDI_MODE_EVENTS) + return; + + /* We can't switch from polled to event completion in the middle of a + * request, because the completion method is specified in the request. + * So acquire the interface to serialise the requestors. We don't need + * to acquire the iface_lock to change the mode here, but we do need a + * write memory barrier ensure that efx_mcdi_rpc() sees it, which + * efx_mcdi_acquire() provides. + */ + efx_mcdi_acquire(mcdi); + mcdi->mode = MCDI_MODE_EVENTS; + efx_mcdi_release(mcdi); +} + +static void efx_mcdi_ev_death(struct efx_nic *efx, int rc) +{ + struct efx_mcdi_iface *mcdi = efx_mcdi(efx); + + /* If there is an outstanding MCDI request, it has been terminated + * either by a BADASSERT or REBOOT event. If the mcdi interface is + * in polled mode, then do nothing because the MC reboot handler will + * set the header correctly. However, if the mcdi interface is waiting + * for a CMDDONE event it won't receive it [and since all MCDI events + * are sent to the same queue, we can't be racing with + * efx_mcdi_ev_cpl()] + * + * There's a race here with efx_mcdi_rpc(), because we might receive + * a REBOOT event *before* the request has been copied out. In polled + * mode (during startup) this is irrelevent, because efx_mcdi_complete() + * is ignored. In event mode, this condition is just an edge-case of + * receiving a REBOOT event after posting the MCDI request. Did the mc + * reboot before or after the copyout? The best we can do always is + * just return failure. + */ + spin_lock(&mcdi->iface_lock); + if (efx_mcdi_complete(mcdi)) { + if (mcdi->mode == MCDI_MODE_EVENTS) { + mcdi->resprc = rc; + mcdi->resplen = 0; + } + } else + /* Nobody was waiting for an MCDI request, so trigger a reset */ + efx_schedule_reset(efx, RESET_TYPE_MC_FAILURE); + + spin_unlock(&mcdi->iface_lock); +} + +static unsigned int efx_mcdi_event_link_speed[] = { + [MCDI_EVENT_LINKCHANGE_SPEED_100M] = 100, + [MCDI_EVENT_LINKCHANGE_SPEED_1G] = 1000, + [MCDI_EVENT_LINKCHANGE_SPEED_10G] = 10000, +}; + + +static void efx_mcdi_process_link_change(struct efx_nic *efx, efx_qword_t *ev) +{ + u32 flags, fcntl, speed, lpa; + + speed = EFX_QWORD_FIELD(*ev, MCDI_EVENT_LINKCHANGE_SPEED); + EFX_BUG_ON_PARANOID(speed >= ARRAY_SIZE(efx_mcdi_event_link_speed)); + speed = efx_mcdi_event_link_speed[speed]; + + flags = EFX_QWORD_FIELD(*ev, MCDI_EVENT_LINKCHANGE_LINK_FLAGS); + fcntl = EFX_QWORD_FIELD(*ev, MCDI_EVENT_LINKCHANGE_FCNTL); + lpa = EFX_QWORD_FIELD(*ev, MCDI_EVENT_LINKCHANGE_LP_CAP); + + /* efx->link_state is only modified by efx_mcdi_phy_get_link(), + * which is only run after flushing the event queues. Therefore, it + * is safe to modify the link state outside of the mac_lock here. + */ + efx_mcdi_phy_decode_link(efx, &efx->link_state, speed, flags, fcntl); + + efx_mcdi_phy_check_fcntl(efx, lpa); + + efx_link_status_changed(efx); +} + +static const char *sensor_names[] = { + [MC_CMD_SENSOR_CONTROLLER_TEMP] = "Controller temp. sensor", + [MC_CMD_SENSOR_PHY_COMMON_TEMP] = "PHY shared temp. sensor", + [MC_CMD_SENSOR_CONTROLLER_COOLING] = "Controller cooling", + [MC_CMD_SENSOR_PHY0_TEMP] = "PHY 0 temp. sensor", + [MC_CMD_SENSOR_PHY0_COOLING] = "PHY 0 cooling", + [MC_CMD_SENSOR_PHY1_TEMP] = "PHY 1 temp. sensor", + [MC_CMD_SENSOR_PHY1_COOLING] = "PHY 1 cooling", + [MC_CMD_SENSOR_IN_1V0] = "1.0V supply sensor", + [MC_CMD_SENSOR_IN_1V2] = "1.2V supply sensor", + [MC_CMD_SENSOR_IN_1V8] = "1.8V supply sensor", + [MC_CMD_SENSOR_IN_2V5] = "2.5V supply sensor", + [MC_CMD_SENSOR_IN_3V3] = "3.3V supply sensor", + [MC_CMD_SENSOR_IN_12V0] = "12V supply sensor" +}; + +static const char *sensor_status_names[] = { + [MC_CMD_SENSOR_STATE_OK] = "OK", + [MC_CMD_SENSOR_STATE_WARNING] = "Warning", + [MC_CMD_SENSOR_STATE_FATAL] = "Fatal", + [MC_CMD_SENSOR_STATE_BROKEN] = "Device failure", +}; + +static void efx_mcdi_sensor_event(struct efx_nic *efx, efx_qword_t *ev) +{ + unsigned int monitor, state, value; + const char *name, *state_txt; + monitor = EFX_QWORD_FIELD(*ev, MCDI_EVENT_SENSOREVT_MONITOR); + state = EFX_QWORD_FIELD(*ev, MCDI_EVENT_SENSOREVT_STATE); + value = EFX_QWORD_FIELD(*ev, MCDI_EVENT_SENSOREVT_VALUE); + /* Deal gracefully with the board having more drivers than we + * know about, but do not expect new sensor states. */ + name = (monitor >= ARRAY_SIZE(sensor_names)) + ? "No sensor name available" : + sensor_names[monitor]; + EFX_BUG_ON_PARANOID(state >= ARRAY_SIZE(sensor_status_names)); + state_txt = sensor_status_names[state]; + + EFX_ERR(efx, "Sensor %d (%s) reports condition '%s' for raw value %d\n", + monitor, name, state_txt, value); +} + +/* Called from falcon_process_eventq for MCDI events */ +void efx_mcdi_process_event(struct efx_channel *channel, + efx_qword_t *event) +{ + struct efx_nic *efx = channel->efx; + int code = EFX_QWORD_FIELD(*event, MCDI_EVENT_CODE); + u32 data = EFX_QWORD_FIELD(*event, MCDI_EVENT_DATA); + + switch (code) { + case MCDI_EVENT_CODE_BADSSERT: + EFX_ERR(efx, "MC watchdog or assertion failure at 0x%x\n", data); + efx_mcdi_ev_death(efx, EINTR); + break; + + case MCDI_EVENT_CODE_PMNOTICE: + EFX_INFO(efx, "MCDI PM event.\n"); + break; + + case MCDI_EVENT_CODE_CMDDONE: + efx_mcdi_ev_cpl(efx, + MCDI_EVENT_FIELD(*event, CMDDONE_SEQ), + MCDI_EVENT_FIELD(*event, CMDDONE_DATALEN), + MCDI_EVENT_FIELD(*event, CMDDONE_ERRNO)); + break; + + case MCDI_EVENT_CODE_LINKCHANGE: + efx_mcdi_process_link_change(efx, event); + break; + case MCDI_EVENT_CODE_SENSOREVT: + efx_mcdi_sensor_event(efx, event); + break; + case MCDI_EVENT_CODE_SCHEDERR: + EFX_INFO(efx, "MC Scheduler error address=0x%x\n", data); + break; + case MCDI_EVENT_CODE_REBOOT: + EFX_INFO(efx, "MC Reboot\n"); + efx_mcdi_ev_death(efx, EIO); + break; + case MCDI_EVENT_CODE_MAC_STATS_DMA: + /* MAC stats are gather lazily. We can ignore this. */ + break; + + default: + EFX_ERR(efx, "Unknown MCDI event 0x%x\n", code); + } +} + +/************************************************************************** + * + * Specific request functions + * + ************************************************************************** + */ + +int efx_mcdi_fwver(struct efx_nic *efx, u64 *version, u32 *build) +{ + u8 outbuf[ALIGN(MC_CMD_GET_VERSION_V1_OUT_LEN, 4)]; + size_t outlength; + const __le16 *ver_words; + int rc; + + BUILD_BUG_ON(MC_CMD_GET_VERSION_IN_LEN != 0); + + rc = efx_mcdi_rpc(efx, MC_CMD_GET_VERSION, NULL, 0, + outbuf, sizeof(outbuf), &outlength); + if (rc) + goto fail; + + if (outlength == MC_CMD_GET_VERSION_V0_OUT_LEN) { + *version = 0; + *build = MCDI_DWORD(outbuf, GET_VERSION_OUT_FIRMWARE); + return 0; + } + + if (outlength < MC_CMD_GET_VERSION_V1_OUT_LEN) { + rc = -EMSGSIZE; + goto fail; + } + + ver_words = (__le16 *)MCDI_PTR(outbuf, GET_VERSION_OUT_VERSION); + *version = (((u64)le16_to_cpu(ver_words[0]) << 48) | + ((u64)le16_to_cpu(ver_words[1]) << 32) | + ((u64)le16_to_cpu(ver_words[2]) << 16) | + le16_to_cpu(ver_words[3])); + *build = MCDI_DWORD(outbuf, GET_VERSION_OUT_FIRMWARE); + + return 0; + +fail: + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; +} + +int efx_mcdi_drv_attach(struct efx_nic *efx, bool driver_operating, + bool *was_attached) +{ + u8 inbuf[MC_CMD_DRV_ATTACH_IN_LEN]; + u8 outbuf[MC_CMD_DRV_ATTACH_OUT_LEN]; + size_t outlen; + int rc; + + MCDI_SET_DWORD(inbuf, DRV_ATTACH_IN_NEW_STATE, + driver_operating ? 1 : 0); + MCDI_SET_DWORD(inbuf, DRV_ATTACH_IN_UPDATE, 1); + + rc = efx_mcdi_rpc(efx, MC_CMD_DRV_ATTACH, inbuf, sizeof(inbuf), + outbuf, sizeof(outbuf), &outlen); + if (rc) + goto fail; + if (outlen < MC_CMD_DRV_ATTACH_OUT_LEN) + goto fail; + + if (was_attached != NULL) + *was_attached = MCDI_DWORD(outbuf, DRV_ATTACH_OUT_OLD_STATE); + return 0; + +fail: + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; +} + +int efx_mcdi_get_board_cfg(struct efx_nic *efx, u8 *mac_address, + u16 *fw_subtype_list) +{ + uint8_t outbuf[MC_CMD_GET_BOARD_CFG_OUT_LEN]; + size_t outlen; + int port_num = efx_port_num(efx); + int offset; + int rc; + + BUILD_BUG_ON(MC_CMD_GET_BOARD_CFG_IN_LEN != 0); + + rc = efx_mcdi_rpc(efx, MC_CMD_GET_BOARD_CFG, NULL, 0, + outbuf, sizeof(outbuf), &outlen); + if (rc) + goto fail; + + if (outlen < MC_CMD_GET_BOARD_CFG_OUT_LEN) { + rc = -EMSGSIZE; + goto fail; + } + + offset = (port_num) + ? MC_CMD_GET_BOARD_CFG_OUT_MAC_ADDR_BASE_PORT1_OFST + : 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_LEN); + + return 0; + +fail: + EFX_ERR(efx, "%s: failed rc=%d len=%d\n", __func__, rc, (int)outlen); + + return rc; +} + +int efx_mcdi_log_ctrl(struct efx_nic *efx, bool evq, bool uart, u32 dest_evq) +{ + u8 inbuf[MC_CMD_LOG_CTRL_IN_LEN]; + u32 dest = 0; + int rc; + + if (uart) + dest |= MC_CMD_LOG_CTRL_IN_LOG_DEST_UART; + if (evq) + dest |= MC_CMD_LOG_CTRL_IN_LOG_DEST_EVQ; + + MCDI_SET_DWORD(inbuf, LOG_CTRL_IN_LOG_DEST, dest); + MCDI_SET_DWORD(inbuf, LOG_CTRL_IN_LOG_DEST_EVQ, dest_evq); + + BUILD_BUG_ON(MC_CMD_LOG_CTRL_OUT_LEN != 0); + + rc = efx_mcdi_rpc(efx, MC_CMD_LOG_CTRL, inbuf, sizeof(inbuf), + NULL, 0, NULL); + if (rc) + goto fail; + + return 0; + +fail: + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; +} + +int efx_mcdi_nvram_types(struct efx_nic *efx, u32 *nvram_types_out) +{ + u8 outbuf[MC_CMD_NVRAM_TYPES_OUT_LEN]; + size_t outlen; + int rc; + + BUILD_BUG_ON(MC_CMD_NVRAM_TYPES_IN_LEN != 0); + + rc = efx_mcdi_rpc(efx, MC_CMD_NVRAM_TYPES, NULL, 0, + outbuf, sizeof(outbuf), &outlen); + if (rc) + goto fail; + if (outlen < MC_CMD_NVRAM_TYPES_OUT_LEN) + goto fail; + + *nvram_types_out = MCDI_DWORD(outbuf, NVRAM_TYPES_OUT_TYPES); + return 0; + +fail: + EFX_ERR(efx, "%s: failed rc=%d\n", + __func__, rc); + return rc; +} + +int efx_mcdi_nvram_info(struct efx_nic *efx, unsigned int type, + size_t *size_out, size_t *erase_size_out, + bool *protected_out) +{ + u8 inbuf[MC_CMD_NVRAM_INFO_IN_LEN]; + u8 outbuf[MC_CMD_NVRAM_INFO_OUT_LEN]; + size_t outlen; + int rc; + + MCDI_SET_DWORD(inbuf, NVRAM_INFO_IN_TYPE, type); + + rc = efx_mcdi_rpc(efx, MC_CMD_NVRAM_INFO, inbuf, sizeof(inbuf), + outbuf, sizeof(outbuf), &outlen); + if (rc) + goto fail; + if (outlen < MC_CMD_NVRAM_INFO_OUT_LEN) + goto fail; + + *size_out = MCDI_DWORD(outbuf, NVRAM_INFO_OUT_SIZE); + *erase_size_out = MCDI_DWORD(outbuf, NVRAM_INFO_OUT_ERASESIZE); + *protected_out = !!(MCDI_DWORD(outbuf, NVRAM_INFO_OUT_FLAGS) & + (1 << MC_CMD_NVRAM_PROTECTED_LBN)); + return 0; + +fail: + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; +} + +int efx_mcdi_nvram_update_start(struct efx_nic *efx, unsigned int type) +{ + u8 inbuf[MC_CMD_NVRAM_UPDATE_START_IN_LEN]; + int rc; + + MCDI_SET_DWORD(inbuf, NVRAM_UPDATE_START_IN_TYPE, type); + + BUILD_BUG_ON(MC_CMD_NVRAM_UPDATE_START_OUT_LEN != 0); + + rc = efx_mcdi_rpc(efx, MC_CMD_NVRAM_UPDATE_START, inbuf, sizeof(inbuf), + NULL, 0, NULL); + if (rc) + goto fail; + + return 0; + +fail: + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; +} + +int efx_mcdi_nvram_read(struct efx_nic *efx, unsigned int type, + loff_t offset, u8 *buffer, size_t length) +{ + u8 inbuf[MC_CMD_NVRAM_READ_IN_LEN]; + u8 outbuf[MC_CMD_NVRAM_READ_OUT_LEN(EFX_MCDI_NVRAM_LEN_MAX)]; + size_t outlen; + int rc; + + MCDI_SET_DWORD(inbuf, NVRAM_READ_IN_TYPE, type); + MCDI_SET_DWORD(inbuf, NVRAM_READ_IN_OFFSET, offset); + MCDI_SET_DWORD(inbuf, NVRAM_READ_IN_LENGTH, length); + + rc = efx_mcdi_rpc(efx, MC_CMD_NVRAM_READ, inbuf, sizeof(inbuf), + outbuf, sizeof(outbuf), &outlen); + if (rc) + goto fail; + + memcpy(buffer, MCDI_PTR(outbuf, NVRAM_READ_OUT_READ_BUFFER), length); + return 0; + +fail: + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; +} + +int efx_mcdi_nvram_write(struct efx_nic *efx, unsigned int type, + loff_t offset, const u8 *buffer, size_t length) +{ + u8 inbuf[MC_CMD_NVRAM_WRITE_IN_LEN(EFX_MCDI_NVRAM_LEN_MAX)]; + int rc; + + MCDI_SET_DWORD(inbuf, NVRAM_WRITE_IN_TYPE, type); + MCDI_SET_DWORD(inbuf, NVRAM_WRITE_IN_OFFSET, offset); + MCDI_SET_DWORD(inbuf, NVRAM_WRITE_IN_LENGTH, length); + memcpy(MCDI_PTR(inbuf, NVRAM_WRITE_IN_WRITE_BUFFER), buffer, length); + + BUILD_BUG_ON(MC_CMD_NVRAM_WRITE_OUT_LEN != 0); + + rc = efx_mcdi_rpc(efx, MC_CMD_NVRAM_WRITE, inbuf, + ALIGN(MC_CMD_NVRAM_WRITE_IN_LEN(length), 4), + NULL, 0, NULL); + if (rc) + goto fail; + + return 0; + +fail: + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; +} + +int efx_mcdi_nvram_erase(struct efx_nic *efx, unsigned int type, + loff_t offset, size_t length) +{ + u8 inbuf[MC_CMD_NVRAM_ERASE_IN_LEN]; + int rc; + + MCDI_SET_DWORD(inbuf, NVRAM_ERASE_IN_TYPE, type); + MCDI_SET_DWORD(inbuf, NVRAM_ERASE_IN_OFFSET, offset); + MCDI_SET_DWORD(inbuf, NVRAM_ERASE_IN_LENGTH, length); + + BUILD_BUG_ON(MC_CMD_NVRAM_ERASE_OUT_LEN != 0); + + rc = efx_mcdi_rpc(efx, MC_CMD_NVRAM_ERASE, inbuf, sizeof(inbuf), + NULL, 0, NULL); + if (rc) + goto fail; + + return 0; + +fail: + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; +} + +int efx_mcdi_nvram_update_finish(struct efx_nic *efx, unsigned int type) +{ + u8 inbuf[MC_CMD_NVRAM_UPDATE_FINISH_IN_LEN]; + int rc; + + MCDI_SET_DWORD(inbuf, NVRAM_UPDATE_FINISH_IN_TYPE, type); + + BUILD_BUG_ON(MC_CMD_NVRAM_UPDATE_FINISH_OUT_LEN != 0); + + rc = efx_mcdi_rpc(efx, MC_CMD_NVRAM_UPDATE_FINISH, inbuf, sizeof(inbuf), + NULL, 0, NULL); + if (rc) + goto fail; + + return 0; + +fail: + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; +} + +int efx_mcdi_handle_assertion(struct efx_nic *efx) +{ + union { + u8 asserts[MC_CMD_GET_ASSERTS_IN_LEN]; + u8 reboot[MC_CMD_REBOOT_IN_LEN]; + } inbuf; + u8 assertion[MC_CMD_GET_ASSERTS_OUT_LEN]; + unsigned int flags, index, ofst; + const char *reason; + size_t outlen; + int retry; + int rc; + + /* Check if the MC is in the assertion handler, retrying twice. Once + * because a boot-time assertion might cause this command to fail + * with EINTR. And once again because GET_ASSERTS can race with + * MC_CMD_REBOOT running on the other port. */ + retry = 2; + do { + MCDI_SET_DWORD(inbuf.asserts, GET_ASSERTS_IN_CLEAR, 0); + rc = efx_mcdi_rpc(efx, MC_CMD_GET_ASSERTS, + inbuf.asserts, MC_CMD_GET_ASSERTS_IN_LEN, + assertion, sizeof(assertion), &outlen); + } while ((rc == -EINTR || rc == -EIO) && retry-- > 0); + + if (rc) + return rc; + if (outlen < MC_CMD_GET_ASSERTS_OUT_LEN) + return -EINVAL; + + flags = MCDI_DWORD(assertion, GET_ASSERTS_OUT_GLOBAL_FLAGS); + if (flags == MC_CMD_GET_ASSERTS_FLAGS_NO_FAILS) + return 0; + + /* Reset the hardware atomically such that only one port with succeed. + * This command will succeed if a reboot is no longer required (because + * the other port did it first), but fail with EIO if it succeeds. + */ + BUILD_BUG_ON(MC_CMD_REBOOT_OUT_LEN != 0); + MCDI_SET_DWORD(inbuf.reboot, REBOOT_IN_FLAGS, + MC_CMD_REBOOT_FLAGS_AFTER_ASSERTION); + efx_mcdi_rpc(efx, MC_CMD_REBOOT, inbuf.reboot, MC_CMD_REBOOT_IN_LEN, + NULL, 0, NULL); + + /* Print out the assertion */ + reason = (flags == MC_CMD_GET_ASSERTS_FLAGS_SYS_FAIL) + ? "system-level assertion" + : (flags == MC_CMD_GET_ASSERTS_FLAGS_THR_FAIL) + ? "thread-level assertion" + : (flags == MC_CMD_GET_ASSERTS_FLAGS_WDOG_FIRED) + ? "watchdog reset" + : "unknown assertion"; + EFX_ERR(efx, "MCPU %s at PC = 0x%.8x in thread 0x%.8x\n", reason, + MCDI_DWORD(assertion, GET_ASSERTS_OUT_SAVED_PC_OFFS), + MCDI_DWORD(assertion, GET_ASSERTS_OUT_THREAD_OFFS)); + + /* Print out the registers */ + ofst = MC_CMD_GET_ASSERTS_OUT_GP_REGS_OFFS_OFST; + for (index = 1; index < 32; index++) { + EFX_ERR(efx, "R%.2d (?): 0x%.8x\n", index, + MCDI_DWORD2(assertion, ofst)); + ofst += sizeof(efx_dword_t); + } + + return 0; +} + +void efx_mcdi_set_id_led(struct efx_nic *efx, enum efx_led_mode mode) +{ + u8 inbuf[MC_CMD_SET_ID_LED_IN_LEN]; + int rc; + + BUILD_BUG_ON(EFX_LED_OFF != MC_CMD_LED_OFF); + BUILD_BUG_ON(EFX_LED_ON != MC_CMD_LED_ON); + BUILD_BUG_ON(EFX_LED_DEFAULT != MC_CMD_LED_DEFAULT); + + BUILD_BUG_ON(MC_CMD_SET_ID_LED_OUT_LEN != 0); + + MCDI_SET_DWORD(inbuf, SET_ID_LED_IN_STATE, mode); + + rc = efx_mcdi_rpc(efx, MC_CMD_SET_ID_LED, inbuf, sizeof(inbuf), + NULL, 0, NULL); + if (rc) + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +} + +int efx_mcdi_reset_port(struct efx_nic *efx) +{ + int rc = efx_mcdi_rpc(efx, MC_CMD_PORT_RESET, NULL, 0, NULL, 0, NULL); + if (rc) + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; +} + +int efx_mcdi_reset_mc(struct efx_nic *efx) +{ + u8 inbuf[MC_CMD_REBOOT_IN_LEN]; + int rc; + + BUILD_BUG_ON(MC_CMD_REBOOT_OUT_LEN != 0); + MCDI_SET_DWORD(inbuf, REBOOT_IN_FLAGS, 0); + rc = efx_mcdi_rpc(efx, MC_CMD_REBOOT, inbuf, sizeof(inbuf), + NULL, 0, NULL); + /* White is black, and up is down */ + if (rc == -EIO) + return 0; + if (rc == 0) + rc = -EIO; + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; +} + +int efx_mcdi_wol_filter_set(struct efx_nic *efx, u32 type, + const u8 *mac, int *id_out) +{ + u8 inbuf[MC_CMD_WOL_FILTER_SET_IN_LEN]; + u8 outbuf[MC_CMD_WOL_FILTER_SET_OUT_LEN]; + size_t outlen; + int rc; + + MCDI_SET_DWORD(inbuf, WOL_FILTER_SET_IN_WOL_TYPE, type); + MCDI_SET_DWORD(inbuf, WOL_FILTER_SET_IN_FILTER_MODE, + MC_CMD_FILTER_MODE_SIMPLE); + memcpy(MCDI_PTR(inbuf, WOL_FILTER_SET_IN_MAGIC_MAC), mac, ETH_ALEN); + + rc = efx_mcdi_rpc(efx, MC_CMD_WOL_FILTER_SET, inbuf, sizeof(inbuf), + outbuf, sizeof(outbuf), &outlen); + if (rc) + goto fail; + + if (outlen < MC_CMD_WOL_FILTER_SET_OUT_LEN) { + rc = -EMSGSIZE; + goto fail; + } + + *id_out = (int)MCDI_DWORD(outbuf, WOL_FILTER_SET_OUT_FILTER_ID); + + return 0; + +fail: + *id_out = -1; + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; + +} + + +int +efx_mcdi_wol_filter_set_magic(struct efx_nic *efx, const u8 *mac, int *id_out) +{ + return efx_mcdi_wol_filter_set(efx, MC_CMD_WOL_TYPE_MAGIC, mac, id_out); +} + + +int efx_mcdi_wol_filter_get_magic(struct efx_nic *efx, int *id_out) +{ + u8 outbuf[MC_CMD_WOL_FILTER_GET_OUT_LEN]; + size_t outlen; + int rc; + + rc = efx_mcdi_rpc(efx, MC_CMD_WOL_FILTER_GET, NULL, 0, + outbuf, sizeof(outbuf), &outlen); + if (rc) + goto fail; + + if (outlen < MC_CMD_WOL_FILTER_GET_OUT_LEN) { + rc = -EMSGSIZE; + goto fail; + } + + *id_out = (int)MCDI_DWORD(outbuf, WOL_FILTER_GET_OUT_FILTER_ID); + + return 0; + +fail: + *id_out = -1; + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; +} + + +int efx_mcdi_wol_filter_remove(struct efx_nic *efx, int id) +{ + u8 inbuf[MC_CMD_WOL_FILTER_REMOVE_IN_LEN]; + int rc; + + MCDI_SET_DWORD(inbuf, WOL_FILTER_REMOVE_IN_FILTER_ID, (u32)id); + + rc = efx_mcdi_rpc(efx, MC_CMD_WOL_FILTER_REMOVE, inbuf, sizeof(inbuf), + NULL, 0, NULL); + if (rc) + goto fail; + + return 0; + +fail: + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; +} + + +int efx_mcdi_wol_filter_reset(struct efx_nic *efx) +{ + int rc; + + rc = efx_mcdi_rpc(efx, MC_CMD_WOL_FILTER_RESET, NULL, 0, NULL, 0, NULL); + if (rc) + goto fail; + + return 0; + +fail: + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; +} + --- linux-2.6.32.orig/drivers/net/sfc/mcdi.h +++ linux-2.6.32/drivers/net/sfc/mcdi.h @@ -0,0 +1,131 @@ +/**************************************************************************** + * Driver for Solarflare Solarstorm network controllers and boards + * Copyright 2008-2009 Solarflare Communications 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, incorporated herein by reference. + */ + +#ifndef EFX_MCDI_H +#define EFX_MCDI_H + +/** + * enum efx_mcdi_state + * @MCDI_STATE_QUIESCENT: No pending MCDI requests. If the caller holds the + * mcdi_lock then they are able to move to MCDI_STATE_RUNNING + * @MCDI_STATE_RUNNING: There is an MCDI request pending. Only the thread that + * moved into this state is allowed to move out of it. + * @MCDI_STATE_COMPLETED: An MCDI request has completed, but the owning thread + * has not yet consumed the result. For all other threads, equivalent to + * MCDI_STATE_RUNNING. + */ +enum efx_mcdi_state { + MCDI_STATE_QUIESCENT, + MCDI_STATE_RUNNING, + MCDI_STATE_COMPLETED, +}; + +enum efx_mcdi_mode { + MCDI_MODE_POLL, + MCDI_MODE_EVENTS, +}; + +/** + * struct efx_mcdi_iface + * @state: Interface state. Waited for by mcdi_wq. + * @wq: Wait queue for threads waiting for state != STATE_RUNNING + * @iface_lock: Protects @credits, @seqno, @resprc, @resplen + * @mode: Poll for mcdi completion, or wait for an mcdi_event. + * Serialised by @lock + * @seqno: The next sequence number to use for mcdi requests. + * Serialised by @lock + * @credits: Number of spurious MCDI completion events allowed before we + * trigger a fatal error. Protected by @lock + * @resprc: Returned MCDI completion + * @resplen: Returned payload length + */ +struct efx_mcdi_iface { + atomic_t state; + wait_queue_head_t wq; + spinlock_t iface_lock; + enum efx_mcdi_mode mode; + unsigned int credits; + unsigned int seqno; + unsigned int resprc; + size_t resplen; +}; + +extern void efx_mcdi_init(struct efx_nic *efx); + +extern int efx_mcdi_rpc(struct efx_nic *efx, unsigned cmd, const u8 *inbuf, + size_t inlen, u8 *outbuf, size_t outlen, + size_t *outlen_actual); + +extern int efx_mcdi_poll_reboot(struct efx_nic *efx); +extern void efx_mcdi_mode_poll(struct efx_nic *efx); +extern void efx_mcdi_mode_event(struct efx_nic *efx); + +extern void efx_mcdi_process_event(struct efx_channel *channel, + efx_qword_t *event); + +#define MCDI_PTR2(_buf, _ofst) \ + (((u8 *)_buf) + _ofst) +#define MCDI_SET_DWORD2(_buf, _ofst, _value) \ + EFX_POPULATE_DWORD_1(*((efx_dword_t *)MCDI_PTR2(_buf, _ofst)), \ + EFX_DWORD_0, _value) +#define MCDI_DWORD2(_buf, _ofst) \ + EFX_DWORD_FIELD(*((efx_dword_t *)MCDI_PTR2(_buf, _ofst)), \ + EFX_DWORD_0) +#define MCDI_QWORD2(_buf, _ofst) \ + EFX_QWORD_FIELD64(*((efx_qword_t *)MCDI_PTR2(_buf, _ofst)), \ + EFX_QWORD_0) + +#define MCDI_PTR(_buf, _ofst) \ + MCDI_PTR2(_buf, MC_CMD_ ## _ofst ## _OFST) +#define MCDI_SET_DWORD(_buf, _ofst, _value) \ + MCDI_SET_DWORD2(_buf, MC_CMD_ ## _ofst ## _OFST, _value) +#define MCDI_DWORD(_buf, _ofst) \ + MCDI_DWORD2(_buf, MC_CMD_ ## _ofst ## _OFST) +#define MCDI_QWORD(_buf, _ofst) \ + MCDI_QWORD2(_buf, MC_CMD_ ## _ofst ## _OFST) + +#define MCDI_EVENT_FIELD(_ev, _field) \ + EFX_QWORD_FIELD(_ev, MCDI_EVENT_ ## _field) + +extern int efx_mcdi_fwver(struct efx_nic *efx, u64 *version, u32 *build); +extern int efx_mcdi_drv_attach(struct efx_nic *efx, bool driver_operating, + bool *was_attached_out); +extern int efx_mcdi_get_board_cfg(struct efx_nic *efx, u8 *mac_address, + u16 *fw_subtype_list); +extern int efx_mcdi_log_ctrl(struct efx_nic *efx, bool evq, bool uart, + u32 dest_evq); +extern int efx_mcdi_nvram_types(struct efx_nic *efx, u32 *nvram_types_out); +extern int efx_mcdi_nvram_info(struct efx_nic *efx, unsigned int type, + size_t *size_out, size_t *erase_size_out, + bool *protected_out); +extern int efx_mcdi_nvram_update_start(struct efx_nic *efx, + unsigned int type); +extern int efx_mcdi_nvram_read(struct efx_nic *efx, unsigned int type, + loff_t offset, u8 *buffer, size_t length); +extern int efx_mcdi_nvram_write(struct efx_nic *efx, unsigned int type, + loff_t offset, const u8 *buffer, + size_t length); +#define EFX_MCDI_NVRAM_LEN_MAX 128 +extern int efx_mcdi_nvram_erase(struct efx_nic *efx, unsigned int type, + loff_t offset, size_t length); +extern int efx_mcdi_nvram_update_finish(struct efx_nic *efx, + unsigned int type); +extern int efx_mcdi_handle_assertion(struct efx_nic *efx); +extern void efx_mcdi_set_id_led(struct efx_nic *efx, enum efx_led_mode mode); +extern int efx_mcdi_reset_port(struct efx_nic *efx); +extern int efx_mcdi_reset_mc(struct efx_nic *efx); +extern int efx_mcdi_wol_filter_set(struct efx_nic *efx, u32 type, + const u8 *mac, int *id_out); +extern int efx_mcdi_wol_filter_set_magic(struct efx_nic *efx, + const u8 *mac, int *id_out); +extern int efx_mcdi_wol_filter_get_magic(struct efx_nic *efx, int *id_out); +extern int efx_mcdi_wol_filter_remove(struct efx_nic *efx, int id); +extern int efx_mcdi_wol_filter_reset(struct efx_nic *efx); + +#endif /* EFX_MCDI_H */ --- linux-2.6.32.orig/drivers/net/sfc/mcdi_mac.c +++ linux-2.6.32/drivers/net/sfc/mcdi_mac.c @@ -0,0 +1,152 @@ +/**************************************************************************** + * Driver for Solarflare Solarstorm network controllers and boards + * Copyright 2009 Solarflare Communications 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, incorporated herein by reference. + */ + +#include "net_driver.h" +#include "efx.h" +#include "mac.h" +#include "mcdi.h" +#include "mcdi_pcol.h" + +static int efx_mcdi_set_mac(struct efx_nic *efx) +{ + u32 reject, fcntl; + u8 cmdbytes[MC_CMD_SET_MAC_IN_LEN]; + + memcpy(cmdbytes + MC_CMD_SET_MAC_IN_ADDR_OFST, + efx->net_dev->dev_addr, ETH_ALEN); + + MCDI_SET_DWORD(cmdbytes, SET_MAC_IN_MTU, + EFX_MAX_FRAME_LEN(efx->net_dev->mtu)); + MCDI_SET_DWORD(cmdbytes, SET_MAC_IN_DRAIN, 0); + + /* The MCDI command provides for controlling accept/reject + * of broadcast packets too, but the driver doesn't currently + * expose this. */ + reject = (efx->promiscuous) ? 0 : + (1 << MC_CMD_SET_MAC_IN_REJECT_UNCST_LBN); + MCDI_SET_DWORD(cmdbytes, SET_MAC_IN_REJECT, reject); + + switch (efx->wanted_fc) { + case EFX_FC_RX | EFX_FC_TX: + fcntl = MC_CMD_FCNTL_BIDIR; + break; + case EFX_FC_RX: + fcntl = MC_CMD_FCNTL_RESPOND; + break; + default: + fcntl = MC_CMD_FCNTL_OFF; + break; + } + if (efx->wanted_fc & EFX_FC_AUTO) + fcntl = MC_CMD_FCNTL_AUTO; + + MCDI_SET_DWORD(cmdbytes, SET_MAC_IN_FCNTL, fcntl); + + return efx_mcdi_rpc(efx, MC_CMD_SET_MAC, cmdbytes, sizeof(cmdbytes), + NULL, 0, NULL); +} + +static int efx_mcdi_get_mac_faults(struct efx_nic *efx, u32 *faults) +{ + u8 outbuf[MC_CMD_GET_LINK_OUT_LEN]; + size_t outlength; + int rc; + + BUILD_BUG_ON(MC_CMD_GET_LINK_IN_LEN != 0); + + rc = efx_mcdi_rpc(efx, MC_CMD_GET_LINK, NULL, 0, + outbuf, sizeof(outbuf), &outlength); + if (rc) + goto fail; + + *faults = MCDI_DWORD(outbuf, GET_LINK_OUT_MAC_FAULT); + return 0; + +fail: + EFX_ERR(efx, "%s: failed rc=%d\n", + __func__, rc); + return rc; +} + +int efx_mcdi_mac_stats(struct efx_nic *efx, dma_addr_t dma_addr, + u32 dma_len, int enable, int clear) +{ + u8 inbuf[MC_CMD_MAC_STATS_IN_LEN]; + int rc; + efx_dword_t *cmd_ptr; + int period = 1000; + u32 addr_hi; + u32 addr_lo; + + BUILD_BUG_ON(MC_CMD_MAC_STATS_OUT_LEN != 0); + + addr_lo = ((u64)dma_addr) >> 0; + addr_hi = ((u64)dma_addr) >> 32; + + MCDI_SET_DWORD(inbuf, MAC_STATS_IN_DMA_ADDR_LO, addr_lo); + MCDI_SET_DWORD(inbuf, MAC_STATS_IN_DMA_ADDR_HI, addr_hi); + cmd_ptr = (efx_dword_t *)MCDI_PTR(inbuf, MAC_STATS_IN_CMD); + if (enable) + EFX_POPULATE_DWORD_6(*cmd_ptr, + MC_CMD_MAC_STATS_CMD_DMA, 1, + MC_CMD_MAC_STATS_CMD_CLEAR, clear, + MC_CMD_MAC_STATS_CMD_PERIODIC_CHANGE, 1, + MC_CMD_MAC_STATS_CMD_PERIODIC_ENABLE, 1, + MC_CMD_MAC_STATS_CMD_PERIODIC_CLEAR, 0, + MC_CMD_MAC_STATS_CMD_PERIOD_MS, period); + else + EFX_POPULATE_DWORD_5(*cmd_ptr, + MC_CMD_MAC_STATS_CMD_DMA, 0, + MC_CMD_MAC_STATS_CMD_CLEAR, clear, + MC_CMD_MAC_STATS_CMD_PERIODIC_CHANGE, 1, + MC_CMD_MAC_STATS_CMD_PERIODIC_ENABLE, 0, + MC_CMD_MAC_STATS_CMD_PERIODIC_CLEAR, 0); + MCDI_SET_DWORD(inbuf, MAC_STATS_IN_DMA_LEN, dma_len); + + rc = efx_mcdi_rpc(efx, MC_CMD_MAC_STATS, inbuf, sizeof(inbuf), + NULL, 0, NULL); + if (rc) + goto fail; + + return 0; + +fail: + EFX_ERR(efx, "%s: %s failed rc=%d\n", + __func__, enable ? "enable" : "disable", rc); + return rc; +} + +static int efx_mcdi_mac_reconfigure(struct efx_nic *efx) +{ + int rc; + + rc = efx_mcdi_set_mac(efx); + if (rc != 0) + return rc; + + /* Restore the multicast hash registers. */ + efx->type->push_multicast_hash(efx); + + return 0; +} + + +static bool efx_mcdi_mac_check_fault(struct efx_nic *efx) +{ + u32 faults; + int rc = efx_mcdi_get_mac_faults(efx, &faults); + return (rc != 0) || (faults != 0); +} + + +struct efx_mac_operations efx_mcdi_mac_operations = { + .reconfigure = efx_mcdi_mac_reconfigure, + .update_stats = efx_port_dummy_op_void, + .check_fault = efx_mcdi_mac_check_fault, +}; --- linux-2.6.32.orig/drivers/net/sfc/mcdi_pcol.h +++ linux-2.6.32/drivers/net/sfc/mcdi_pcol.h @@ -0,0 +1,1580 @@ +/**************************************************************************** + * Driver for Solarflare Solarstorm network controllers and boards + * Copyright 2009 Solarflare Communications 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, incorporated herein by reference. + */ + + +#ifndef MCDI_PCOL_H +#define MCDI_PCOL_H + +/* Values to be written into FMCR_CZ_RESET_STATE_REG to control boot. */ +/* Power-on reset state */ +#define MC_FW_STATE_POR (1) +/* If this is set in MC_RESET_STATE_REG then it should be + * possible to jump into IMEM without loading code from flash. */ +#define MC_FW_WARM_BOOT_OK (2) +/* The MC main image has started to boot. */ +#define MC_FW_STATE_BOOTING (4) +/* The Scheduler has started. */ +#define MC_FW_STATE_SCHED (8) + +/* Values to be written to the per-port status dword in shared + * memory on reboot and assert */ +#define MC_STATUS_DWORD_REBOOT (0xb007b007) +#define MC_STATUS_DWORD_ASSERT (0xdeaddead) + +/* The current version of the MCDI protocol. + * + * Note that the ROM burnt into the card only talks V0, so at the very + * least every driver must support version 0 and MCDI_PCOL_VERSION + */ +#define MCDI_PCOL_VERSION 1 + +/** + * MCDI version 1 + * + * Each MCDI request starts with an MCDI_HEADER, which is a 32byte + * structure, filled in by the client. + * + * 0 7 8 16 20 22 23 24 31 + * | CODE | R | LEN | SEQ | Rsvd | E | R | XFLAGS | + * | | | + * | | \--- Response + * | \------- Error + * \------------------------------ Resync (always set) + * + * The client writes it's request into MC shared memory, and rings the + * doorbell. Each request is completed by either by the MC writting + * back into shared memory, or by writting out an event. + * + * All MCDI commands support completion by shared memory response. Each + * request may also contain additional data (accounted for by HEADER.LEN), + * and some response's may also contain additional data (again, accounted + * for by HEADER.LEN). + * + * Some MCDI commands support completion by event, in which any associated + * response data is included in the event. + * + * The protocol requires one response to be delivered for every request, a + * request should not be sent unless the response for the previous request + * has been received (either by polling shared memory, or by receiving + * an event). + */ + +/** Request/Response structure */ +#define MCDI_HEADER_OFST 0 +#define MCDI_HEADER_CODE_LBN 0 +#define MCDI_HEADER_CODE_WIDTH 7 +#define MCDI_HEADER_RESYNC_LBN 7 +#define MCDI_HEADER_RESYNC_WIDTH 1 +#define MCDI_HEADER_DATALEN_LBN 8 +#define MCDI_HEADER_DATALEN_WIDTH 8 +#define MCDI_HEADER_SEQ_LBN 16 +#define MCDI_HEADER_RSVD_LBN 20 +#define MCDI_HEADER_RSVD_WIDTH 2 +#define MCDI_HEADER_SEQ_WIDTH 4 +#define MCDI_HEADER_ERROR_LBN 22 +#define MCDI_HEADER_ERROR_WIDTH 1 +#define MCDI_HEADER_RESPONSE_LBN 23 +#define MCDI_HEADER_RESPONSE_WIDTH 1 +#define MCDI_HEADER_XFLAGS_LBN 24 +#define MCDI_HEADER_XFLAGS_WIDTH 8 +/* Request response using event */ +#define MCDI_HEADER_XFLAGS_EVREQ 0x01 + +/* Maximum number of payload bytes */ +#define MCDI_CTL_SDU_LEN_MAX 0xfc + +/* The MC can generate events for two reasons: + * - To complete a shared memory request if XFLAGS_EVREQ was set + * - As a notification (link state, i2c event), controlled + * via MC_CMD_LOG_CTRL + * + * Both events share a common structure: + * + * 0 32 33 36 44 52 60 + * | Data | Cont | Level | Src | Code | Rsvd | + * | + * \ There is another event pending in this notification + * + * If Code==CMDDONE, then the fields are further interpreted as: + * + * - LEVEL==INFO Command succeded + * - LEVEL==ERR Command failed + * + * 0 8 16 24 32 + * | Seq | Datalen | Errno | Rsvd | + * + * These fields are taken directly out of the standard MCDI header, i.e., + * LEVEL==ERR, Datalen == 0 => Reboot + * + * Events can be squirted out of the UART (using LOG_CTRL) without a + * MCDI header. An event can be distinguished from a MCDI response by + * examining the first byte which is 0xc0. This corresponds to the + * non-existent MCDI command MC_CMD_DEBUG_LOG. + * + * 0 7 8 + * | command | Resync | = 0xc0 + * + * Since the event is written in big-endian byte order, this works + * providing bits 56-63 of the event are 0xc0. + * + * 56 60 63 + * | Rsvd | Code | = 0xc0 + * + * Which means for convenience the event code is 0xc for all MC + * generated events. + */ +#define FSE_AZ_EV_CODE_MCDI_EVRESPONSE 0xc + +#define MCDI_EVENT_DATA_LBN 0 +#define MCDI_EVENT_DATA_WIDTH 32 +#define MCDI_EVENT_CONT_LBN 32 +#define MCDI_EVENT_CONT_WIDTH 1 +#define MCDI_EVENT_LEVEL_LBN 33 +#define MCDI_EVENT_LEVEL_WIDTH 3 +#define MCDI_EVENT_LEVEL_INFO (0) +#define MCDI_EVENT_LEVEL_WARN (1) +#define MCDI_EVENT_LEVEL_ERR (2) +#define MCDI_EVENT_LEVEL_FATAL (3) +#define MCDI_EVENT_SRC_LBN 36 +#define MCDI_EVENT_SRC_WIDTH 8 +#define MCDI_EVENT_CODE_LBN 44 +#define MCDI_EVENT_CODE_WIDTH 8 +#define MCDI_EVENT_CODE_BADSSERT (1) +#define MCDI_EVENT_CODE_PMNOTICE (2) +#define MCDI_EVENT_CODE_CMDDONE (3) +#define MCDI_EVENT_CMDDONE_SEQ_LBN 0 +#define MCDI_EVENT_CMDDONE_SEQ_WIDTH 8 +#define MCDI_EVENT_CMDDONE_DATALEN_LBN 8 +#define MCDI_EVENT_CMDDONE_DATALEN_WIDTH 8 +#define MCDI_EVENT_CMDDONE_ERRNO_LBN 16 +#define MCDI_EVENT_CMDDONE_ERRNO_WIDTH 8 +#define MCDI_EVENT_CODE_LINKCHANGE (4) +#define MCDI_EVENT_LINKCHANGE_LP_CAP_LBN 0 +#define MCDI_EVENT_LINKCHANGE_LP_CAP_WIDTH 16 +#define MCDI_EVENT_LINKCHANGE_SPEED_LBN 16 +#define MCDI_EVENT_LINKCHANGE_SPEED_WIDTH 4 +#define MCDI_EVENT_LINKCHANGE_SPEED_100M 1 +#define MCDI_EVENT_LINKCHANGE_SPEED_1G 2 +#define MCDI_EVENT_LINKCHANGE_SPEED_10G 3 +#define MCDI_EVENT_LINKCHANGE_FCNTL_LBN 20 +#define MCDI_EVENT_LINKCHANGE_FCNTL_WIDTH 4 +#define MCDI_EVENT_LINKCHANGE_LINK_FLAGS_LBN 24 +#define MCDI_EVENT_LINKCHANGE_LINK_FLAGS_WIDTH 8 +#define MCDI_EVENT_CODE_SENSOREVT (5) +#define MCDI_EVENT_SENSOREVT_MONITOR_LBN 0 +#define MCDI_EVENT_SENSOREVT_MONITOR_WIDTH 8 +#define MCDI_EVENT_SENSOREVT_STATE_LBN 8 +#define MCDI_EVENT_SENSOREVT_STATE_WIDTH 8 +#define MCDI_EVENT_SENSOREVT_VALUE_LBN 16 +#define MCDI_EVENT_SENSOREVT_VALUE_WIDTH 16 +#define MCDI_EVENT_CODE_SCHEDERR (6) +#define MCDI_EVENT_CODE_REBOOT (7) +#define MCDI_EVENT_CODE_MAC_STATS_DMA (8) +#define MCDI_EVENT_MAC_STATS_DMA_GENERATION_LBN 0 +#define MCDI_EVENT_MAC_STATS_DMA_GENERATION_WIDTH 32 + +/* Non-existent command target */ +#define MC_CMD_ERR_ENOENT 2 +/* assert() has killed the MC */ +#define MC_CMD_ERR_EINTR 4 +/* Caller does not hold required locks */ +#define MC_CMD_ERR_EACCES 13 +/* Resource is currently unavailable (e.g. lock contention) */ +#define MC_CMD_ERR_EBUSY 16 +/* Invalid argument to target */ +#define MC_CMD_ERR_EINVAL 22 +/* Non-recursive resource is already acquired */ +#define MC_CMD_ERR_EDEADLK 35 +/* Operation not implemented */ +#define MC_CMD_ERR_ENOSYS 38 +/* Operation timed out */ +#define MC_CMD_ERR_ETIME 62 + +#define MC_CMD_ERR_CODE_OFST 0 + + +/* MC_CMD_READ32: (debug, variadic out) + * Read multiple 32byte words from MC memory + */ +#define MC_CMD_READ32 0x01 +#define MC_CMD_READ32_IN_LEN 8 +#define MC_CMD_READ32_IN_ADDR_OFST 0 +#define MC_CMD_READ32_IN_NUMWORDS_OFST 4 +#define MC_CMD_READ32_OUT_LEN(_numwords) \ + (4 * (_numwords)) +#define MC_CMD_READ32_OUT_BUFFER_OFST 0 + +/* MC_CMD_WRITE32: (debug, variadic in) + * Write multiple 32byte words to MC memory + */ +#define MC_CMD_WRITE32 0x02 +#define MC_CMD_WRITE32_IN_LEN(_numwords) (((_numwords) * 4) + 4) +#define MC_CMD_WRITE32_IN_ADDR_OFST 0 +#define MC_CMD_WRITE32_IN_BUFFER_OFST 4 +#define MC_CMD_WRITE32_OUT_LEN 0 + +/* MC_CMD_COPYCODE: (debug) + * Copy MC code between two locations and jump + */ +#define MC_CMD_COPYCODE 0x03 +#define MC_CMD_COPYCODE_IN_LEN 16 +#define MC_CMD_COPYCODE_IN_SRC_ADDR_OFST 0 +#define MC_CMD_COPYCODE_IN_DEST_ADDR_OFST 4 +#define MC_CMD_COPYCODE_IN_NUMWORDS_OFST 8 +#define MC_CMD_COPYCODE_IN_JUMP_OFST 12 +/* Control should return to the caller rather than jumping */ +#define MC_CMD_COPYCODE_JUMP_NONE 1 +#define MC_CMD_COPYCODE_OUT_LEN 0 + +/* MC_CMD_SET_FUNC: (debug) + * Select function for function-specific commands. + */ +#define MC_CMD_SET_FUNC 0x04 +#define MC_CMD_SET_FUNC_IN_LEN 4 +#define MC_CMD_SET_FUNC_IN_FUNC_OFST 0 +#define MC_CMD_SET_FUNC_OUT_LEN 0 + +/* MC_CMD_GET_BOOT_STATUS: + * Get the instruction address from which the MC booted. + */ +#define MC_CMD_GET_BOOT_STATUS 0x05 +#define MC_CMD_GET_BOOT_STATUS_IN_LEN 0 +#define MC_CMD_GET_BOOT_STATUS_OUT_LEN 8 +#define MC_CMD_GET_BOOT_STATUS_OUT_BOOT_OFFSET_OFST 0 +#define MC_CMD_GET_BOOT_STATUS_OUT_FLAGS_OFST 4 +/* Reboot caused by watchdog */ +#define MC_CMD_GET_BOOT_STATUS_FLAGS_WATCHDOG_LBN (0) +#define MC_CMD_GET_BOOT_STATUS_FLAGS_WATCHDOG_WIDTH (1) +/* MC booted from primary flash partition */ +#define MC_CMD_GET_BOOT_STATUS_FLAGS_PRIMARY_LBN (1) +#define MC_CMD_GET_BOOT_STATUS_FLAGS_PRIMARY_WIDTH (1) +/* MC booted from backup flash partition */ +#define MC_CMD_GET_BOOT_STATUS_FLAGS_BACKUP_LBN (2) +#define MC_CMD_GET_BOOT_STATUS_FLAGS_BACKUP_WIDTH (1) + +/* MC_CMD_GET_ASSERTS: (debug, variadic out) + * Get (and optionally clear) the current assertion status. + * + * Only OUT.GLOBAL_FLAGS is guaranteed to exist in the completion + * payload. The other fields will only be present if + * OUT.GLOBAL_FLAGS != NO_FAILS + */ +#define MC_CMD_GET_ASSERTS 0x06 +#define MC_CMD_GET_ASSERTS_IN_LEN 4 +#define MC_CMD_GET_ASSERTS_IN_CLEAR_OFST 0 +#define MC_CMD_GET_ASSERTS_OUT_LEN 140 +/* Assertion status flag */ +#define MC_CMD_GET_ASSERTS_OUT_GLOBAL_FLAGS_OFST 0 +/*! No assertions have failed. */ +#define MC_CMD_GET_ASSERTS_FLAGS_NO_FAILS 1 +/*! A system-level assertion has failed. */ +#define MC_CMD_GET_ASSERTS_FLAGS_SYS_FAIL 2 +/*! A thread-level assertion has failed. */ +#define MC_CMD_GET_ASSERTS_FLAGS_THR_FAIL 3 +/*! The system was reset by the watchdog. */ +#define MC_CMD_GET_ASSERTS_FLAGS_WDOG_FIRED 4 +/* Failing PC value */ +#define MC_CMD_GET_ASSERTS_OUT_SAVED_PC_OFFS_OFST 4 +/* Saved GP regs */ +#define MC_CMD_GET_ASSERTS_OUT_GP_REGS_OFFS_OFST 8 +#define MC_CMD_GET_ASSERTS_OUT_GP_REGS_LEN 124 +/* Failing thread address */ +#define MC_CMD_GET_ASSERTS_OUT_THREAD_OFFS_OFST 132 + +/* MC_CMD_LOG_CTRL: + * Determine the output stream for various events and messages + */ +#define MC_CMD_LOG_CTRL 0x07 +#define MC_CMD_LOG_CTRL_IN_LEN 8 +#define MC_CMD_LOG_CTRL_IN_LOG_DEST_OFST 0 +#define MC_CMD_LOG_CTRL_IN_LOG_DEST_UART (1) +#define MC_CMD_LOG_CTRL_IN_LOG_DEST_EVQ (2) +#define MC_CMD_LOG_CTRL_IN_LOG_DEST_EVQ_OFST 4 +#define MC_CMD_LOG_CTRL_OUT_LEN 0 + +/* MC_CMD_GET_VERSION: + * Get version information about the MC firmware + */ +#define MC_CMD_GET_VERSION 0x08 +#define MC_CMD_GET_VERSION_IN_LEN 0 +#define MC_CMD_GET_VERSION_V0_OUT_LEN 4 +#define MC_CMD_GET_VERSION_V1_OUT_LEN 32 +#define MC_CMD_GET_VERSION_OUT_FIRMWARE_OFST 0 +/* Reserved version number to indicate "any" version. */ +#define MC_CMD_GET_VERSION_OUT_FIRMWARE_ANY 0xffffffff +/* The version response of a boot ROM awaiting rescue */ +#define MC_CMD_GET_VERSION_OUT_FIRMWARE_BOOTROM 0xb0070000 +#define MC_CMD_GET_VERSION_V1_OUT_PCOL_OFST 4 +/* 128bit mask of functions supported by the current firmware */ +#define MC_CMD_GET_VERSION_V1_OUT_SUPPORTED_FUNCS_OFST 8 +/* The command set exported by the boot ROM (MCDI v0) */ +#define MC_CMD_GET_VERSION_V0_SUPPORTED_FUNCS { \ + (1 << MC_CMD_READ32) | \ + (1 << MC_CMD_WRITE32) | \ + (1 << MC_CMD_COPYCODE) | \ + (1 << MC_CMD_GET_VERSION), \ + 0, 0, 0 } +#define MC_CMD_GET_VERSION_OUT_VERSION_OFST 24 + +/* Vectors in the boot ROM */ +/* Point to the copycode entry point. */ +#define MC_BOOTROM_COPYCODE_VEC (0x7f4) +/* Points to the recovery mode entry point. */ +#define MC_BOOTROM_NOFLASH_VEC (0x7f8) + +/* Test execution limits */ +#define MC_TESTEXEC_VARIANT_COUNT 16 +#define MC_TESTEXEC_RESULT_COUNT 7 + +/* MC_CMD_SET_TESTVARS: (debug, variadic in) + * Write variant words for test. + * + * The user supplies a bitmap of the variants they wish to set. + * They must ensure that IN.LEN >= 4 + 4 * ffs(BITMAP) + */ +#define MC_CMD_SET_TESTVARS 0x09 +#define MC_CMD_SET_TESTVARS_IN_LEN(_numwords) \ + (4 + 4*(_numwords)) +#define MC_CMD_SET_TESTVARS_IN_ARGS_BITMAP_OFST 0 +/* Up to MC_TESTEXEC_VARIANT_COUNT of 32byte words start here */ +#define MC_CMD_SET_TESTVARS_IN_ARGS_BUFFER_OFST 4 +#define MC_CMD_SET_TESTVARS_OUT_LEN 0 + +/* MC_CMD_GET_TESTRCS: (debug, variadic out) + * Return result words from test. + */ +#define MC_CMD_GET_TESTRCS 0x0a +#define MC_CMD_GET_TESTRCS_IN_LEN 4 +#define MC_CMD_GET_TESTRCS_IN_NUMWORDS_OFST 0 +#define MC_CMD_GET_TESTRCS_OUT_LEN(_numwords) \ + (4 * (_numwords)) +#define MC_CMD_GET_TESTRCS_OUT_BUFFER_OFST 0 + +/* MC_CMD_RUN_TEST: (debug) + * Run the test exported by this firmware image + */ +#define MC_CMD_RUN_TEST 0x0b +#define MC_CMD_RUN_TEST_IN_LEN 0 +#define MC_CMD_RUN_TEST_OUT_LEN 0 + +/* MC_CMD_CSR_READ32: (debug, variadic out) + * Read 32bit words from the indirect memory map + */ +#define MC_CMD_CSR_READ32 0x0c +#define MC_CMD_CSR_READ32_IN_LEN 12 +#define MC_CMD_CSR_READ32_IN_ADDR_OFST 0 +#define MC_CMD_CSR_READ32_IN_STEP_OFST 4 +#define MC_CMD_CSR_READ32_IN_NUMWORDS_OFST 8 +#define MC_CMD_CSR_READ32_OUT_LEN(_numwords) \ + (((_numwords) * 4) + 4) +/* IN.NUMWORDS of 32bit words start here */ +#define MC_CMD_CSR_READ32_OUT_BUFFER_OFST 0 +#define MC_CMD_CSR_READ32_OUT_IREG_STATUS_OFST(_numwords) \ + ((_numwords) * 4) + +/* MC_CMD_CSR_WRITE32: (debug, variadic in) + * Write 32bit dwords to the indirect memory map + */ +#define MC_CMD_CSR_WRITE32 0x0d +#define MC_CMD_CSR_WRITE32_IN_LEN(_numwords) \ + (((_numwords) * 4) + 8) +#define MC_CMD_CSR_WRITE32_IN_ADDR_OFST 0 +#define MC_CMD_CSR_WRITE32_IN_STEP_OFST 4 +/* Multiple 32bit words of data to write start here */ +#define MC_CMD_CSR_WRITE32_IN_BUFFER_OFST 8 +#define MC_CMD_CSR_WRITE32_OUT_LEN 4 +#define MC_CMD_CSR_WRITE32_OUT_STATUS_OFST 0 + +/* MC_CMD_JTAG_WORK: (debug, fpga only) + * Process JTAG work buffer for RBF acceleration. + * + * Host: bit count, (up to) 32 words of data to clock out to JTAG + * (bits 1,0=TMS,TDO for first bit; bits 3,2=TMS,TDO for second bit, etc.) + * MC: bit count, (up to) 32 words of data clocked in from JTAG + * (bit 0=TDI for first bit, bit 1=TDI for second bit, etc.; [31:16] unused) + */ +#define MC_CMD_JTAG_WORK 0x0e + +/* MC_CMD_STACKINFO: (debug, variadic out) + * Get stack information + * + * Host: nothing + * MC: (thread ptr, stack size, free space) for each thread in system + */ +#define MC_CMD_STACKINFO 0x0f + +/* MC_CMD_MDIO_READ: + * MDIO register read + */ +#define MC_CMD_MDIO_READ 0x10 +#define MC_CMD_MDIO_READ_IN_LEN 16 +#define MC_CMD_MDIO_READ_IN_BUS_OFST 0 +#define MC_CMD_MDIO_READ_IN_PRTAD_OFST 4 +#define MC_CMD_MDIO_READ_IN_DEVAD_OFST 8 +#define MC_CMD_MDIO_READ_IN_ADDR_OFST 12 +#define MC_CMD_MDIO_READ_OUT_LEN 8 +#define MC_CMD_MDIO_READ_OUT_VALUE_OFST 0 +#define MC_CMD_MDIO_READ_OUT_STATUS_OFST 4 + +/* MC_CMD_MDIO_WRITE: + * MDIO register write + */ +#define MC_CMD_MDIO_WRITE 0x11 +#define MC_CMD_MDIO_WRITE_IN_LEN 20 +#define MC_CMD_MDIO_WRITE_IN_BUS_OFST 0 +#define MC_CMD_MDIO_WRITE_IN_PRTAD_OFST 4 +#define MC_CMD_MDIO_WRITE_IN_DEVAD_OFST 8 +#define MC_CMD_MDIO_WRITE_IN_ADDR_OFST 12 +#define MC_CMD_MDIO_WRITE_IN_VALUE_OFST 16 +#define MC_CMD_MDIO_WRITE_OUT_LEN 4 +#define MC_CMD_MDIO_WRITE_OUT_STATUS_OFST 0 + +/* By default all the MCDI MDIO operations perform clause45 mode. + * If you want to use clause22 then set DEVAD = MC_CMD_MDIO_CLAUSE22. + */ +#define MC_CMD_MDIO_CLAUSE22 32 + +/* There are two MDIO buses: one for the internal PHY, and one for external + * devices. + */ +#define MC_CMD_MDIO_BUS_INTERNAL 0 +#define MC_CMD_MDIO_BUS_EXTERNAL 1 + +/* The MDIO commands return the raw status bits from the MDIO block. A "good" + * transaction should have the DONE bit set and all other bits clear. + */ +#define MC_CMD_MDIO_STATUS_GOOD 0x08 + + +/* MC_CMD_DBI_WRITE: (debug) + * Write DBI register(s) + * + * Host: address, byte-enables (and VF selection, and cs2 flag), + * value [,address ...] + * MC: nothing + */ +#define MC_CMD_DBI_WRITE 0x12 +#define MC_CMD_DBI_WRITE_IN_LEN(_numwords) \ + (12 * (_numwords)) +#define MC_CMD_DBI_WRITE_IN_ADDRESS_OFST(_word) \ + (((_word) * 12) + 0) +#define MC_CMD_DBI_WRITE_IN_BYTE_MASK_OFST(_word) \ + (((_word) * 12) + 4) +#define MC_CMD_DBI_WRITE_IN_VALUE_OFST(_word) \ + (((_word) * 12) + 8) +#define MC_CMD_DBI_WRITE_OUT_LEN 0 + +/* MC_CMD_DBI_READ: (debug) + * Read DBI register(s) + * + * Host: address, [,address ...] + * MC: value [,value ...] + * (note: this does not support reading from VFs, but is retained for backwards + * compatibility; see MC_CMD_DBI_READX below) + */ +#define MC_CMD_DBI_READ 0x13 +#define MC_CMD_DBI_READ_IN_LEN(_numwords) \ + (4 * (_numwords)) +#define MC_CMD_DBI_READ_OUT_LEN(_numwords) \ + (4 * (_numwords)) + +/* MC_CMD_PORT_READ32: (debug) + * Read a 32-bit register from the indirect port register map. + * + * The port to access is implied by the Shared memory channel used. + */ +#define MC_CMD_PORT_READ32 0x14 +#define MC_CMD_PORT_READ32_IN_LEN 4 +#define MC_CMD_PORT_READ32_IN_ADDR_OFST 0 +#define MC_CMD_PORT_READ32_OUT_LEN 8 +#define MC_CMD_PORT_READ32_OUT_VALUE_OFST 0 +#define MC_CMD_PORT_READ32_OUT_STATUS_OFST 4 + +/* MC_CMD_PORT_WRITE32: (debug) + * Write a 32-bit register to the indirect port register map. + * + * The port to access is implied by the Shared memory channel used. + */ +#define MC_CMD_PORT_WRITE32 0x15 +#define MC_CMD_PORT_WRITE32_IN_LEN 8 +#define MC_CMD_PORT_WRITE32_IN_ADDR_OFST 0 +#define MC_CMD_PORT_WRITE32_IN_VALUE_OFST 4 +#define MC_CMD_PORT_WRITE32_OUT_LEN 4 +#define MC_CMD_PORT_WRITE32_OUT_STATUS_OFST 0 + +/* MC_CMD_PORT_READ128: (debug) + * Read a 128-bit register from indirect port register map + * + * The port to access is implied by the Shared memory channel used. + */ +#define MC_CMD_PORT_READ128 0x16 +#define MC_CMD_PORT_READ128_IN_LEN 4 +#define MC_CMD_PORT_READ128_IN_ADDR_OFST 0 +#define MC_CMD_PORT_READ128_OUT_LEN 20 +#define MC_CMD_PORT_READ128_OUT_VALUE_OFST 0 +#define MC_CMD_PORT_READ128_OUT_STATUS_OFST 16 + +/* MC_CMD_PORT_WRITE128: (debug) + * Write a 128-bit register to indirect port register map. + * + * The port to access is implied by the Shared memory channel used. + */ +#define MC_CMD_PORT_WRITE128 0x17 +#define MC_CMD_PORT_WRITE128_IN_LEN 20 +#define MC_CMD_PORT_WRITE128_IN_ADDR_OFST 0 +#define MC_CMD_PORT_WRITE128_IN_VALUE_OFST 4 +#define MC_CMD_PORT_WRITE128_OUT_LEN 4 +#define MC_CMD_PORT_WRITE128_OUT_STATUS_OFST 0 + +/* MC_CMD_GET_BOARD_CFG: + * Returns the MC firmware configuration structure + * + * The FW_SUBTYPE_LIST contains a 16-bit value for each of the 12 types of + * NVRAM area. The values are defined in the firmware/mc/platform/.c file + * for a specific board type, but otherwise have no meaning to the MC; they + * are used by the driver to manage selection of appropriate firmware updates. + */ +#define MC_CMD_GET_BOARD_CFG 0x18 +#define MC_CMD_GET_BOARD_CFG_IN_LEN 0 +#define MC_CMD_GET_BOARD_CFG_OUT_LEN 96 +#define MC_CMD_GET_BOARD_CFG_OUT_BOARD_TYPE_OFST 0 +#define MC_CMD_GET_BOARD_CFG_OUT_BOARD_NAME_OFST 4 +#define MC_CMD_GET_BOARD_CFG_OUT_BOARD_NAME_LEN 32 +#define MC_CMD_GET_BOARD_CFG_OUT_CAPABILITIES_PORT0_OFST 36 +#define MC_CMD_GET_BOARD_CFG_OUT_CAPABILITIES_PORT1_OFST 40 +#define MC_CMD_GET_BOARD_CFG_OUT_MAC_ADDR_BASE_PORT0_OFST 44 +#define MC_CMD_GET_BOARD_CFG_OUT_MAC_ADDR_BASE_PORT0_LEN 6 +#define MC_CMD_GET_BOARD_CFG_OUT_MAC_ADDR_BASE_PORT1_OFST 50 +#define MC_CMD_GET_BOARD_CFG_OUT_MAC_ADDR_BASE_PORT1_LEN 6 +#define MC_CMD_GET_BOARD_CFG_OUT_MAC_COUNT_PORT0_OFST 56 +#define MC_CMD_GET_BOARD_CFG_OUT_MAC_COUNT_PORT1_OFST 60 +#define MC_CMD_GET_BOARD_CFG_OUT_MAC_STRIDE_PORT0_OFST 64 +#define MC_CMD_GET_BOARD_CFG_OUT_MAC_STRIDE_PORT1_OFST 68 +#define MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_OFST 72 +#define MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_LEN 24 + +/* MC_CMD_DBI_READX: (debug) + * Read DBI register(s) -- extended functionality + * + * Host: vf selection, address, [,vf selection ...] + * MC: value [,value ...] + */ +#define MC_CMD_DBI_READX 0x19 +#define MC_CMD_DBI_READX_IN_LEN(_numwords) \ + (8*(_numwords)) +#define MC_CMD_DBI_READX_OUT_LEN(_numwords) \ + (4*(_numwords)) + +/* MC_CMD_SET_RAND_SEED: + * Set the 16byte seed for the MC psuedo-random generator + */ +#define MC_CMD_SET_RAND_SEED 0x1a +#define MC_CMD_SET_RAND_SEED_IN_LEN 16 +#define MC_CMD_SET_RAND_SEED_IN_SEED_OFST 0 +#define MC_CMD_SET_RAND_SEED_OUT_LEN 0 + +/* MC_CMD_LTSSM_HIST: (debug) + * Retrieve the history of the LTSSM, if the build supports it. + * + * Host: nothing + * MC: variable number of LTSSM values, as bytes + * The history is read-to-clear. + */ +#define MC_CMD_LTSSM_HIST 0x1b + +/* MC_CMD_DRV_ATTACH: + * Inform MCPU that this port is managed on the host (i.e. driver active) + */ +#define MC_CMD_DRV_ATTACH 0x1c +#define MC_CMD_DRV_ATTACH_IN_LEN 8 +#define MC_CMD_DRV_ATTACH_IN_NEW_STATE_OFST 0 +#define MC_CMD_DRV_ATTACH_IN_UPDATE_OFST 4 +#define MC_CMD_DRV_ATTACH_OUT_LEN 4 +#define MC_CMD_DRV_ATTACH_OUT_OLD_STATE_OFST 0 + +/* MC_CMD_NCSI_PROD: (debug) + * Trigger an NC-SI event (and possibly an AEN in response) + */ +#define MC_CMD_NCSI_PROD 0x1d +#define MC_CMD_NCSI_PROD_IN_LEN 4 +#define MC_CMD_NCSI_PROD_IN_EVENTS_OFST 0 +#define MC_CMD_NCSI_PROD_LINKCHANGE_LBN 0 +#define MC_CMD_NCSI_PROD_LINKCHANGE_WIDTH 1 +#define MC_CMD_NCSI_PROD_RESET_LBN 1 +#define MC_CMD_NCSI_PROD_RESET_WIDTH 1 +#define MC_CMD_NCSI_PROD_DRVATTACH_LBN 2 +#define MC_CMD_NCSI_PROD_DRVATTACH_WIDTH 1 +#define MC_CMD_NCSI_PROD_OUT_LEN 0 + +/* Enumeration */ +#define MC_CMD_NCSI_PROD_LINKCHANGE 0 +#define MC_CMD_NCSI_PROD_RESET 1 +#define MC_CMD_NCSI_PROD_DRVATTACH 2 + +/* MC_CMD_DEVEL: (debug) + * Reserved for development + */ +#define MC_CMD_DEVEL 0x1e + +/* MC_CMD_SHMUART: (debug) + * Route UART output to circular buffer in shared memory instead. + */ +#define MC_CMD_SHMUART 0x1f +#define MC_CMD_SHMUART_IN_FLAG_OFST 0 +#define MC_CMD_SHMUART_IN_LEN 4 +#define MC_CMD_SHMUART_OUT_LEN 0 + +/* MC_CMD_PORT_RESET: + * Generic per-port reset. There is no equivalent for per-board reset. + * + * Locks required: None + * Return code: 0, ETIME + */ +#define MC_CMD_PORT_RESET 0x20 +#define MC_CMD_PORT_RESET_IN_LEN 0 +#define MC_CMD_PORT_RESET_OUT_LEN 0 + +/* MC_CMD_RESOURCE_LOCK: + * Generic resource lock/unlock interface. + * + * Locks required: None + * Return code: 0, + * EBUSY (if trylock is contended by other port), + * EDEADLK (if trylock is already acquired by this port) + * EINVAL (if unlock doesn't own the lock) + */ +#define MC_CMD_RESOURCE_LOCK 0x21 +#define MC_CMD_RESOURCE_LOCK_IN_LEN 8 +#define MC_CMD_RESOURCE_LOCK_IN_ACTION_OFST 0 +#define MC_CMD_RESOURCE_LOCK_ACTION_TRYLOCK 1 +#define MC_CMD_RESOURCE_LOCK_ACTION_UNLOCK 0 +#define MC_CMD_RESOURCE_LOCK_IN_RESOURCE_OFST 4 +#define MC_CMD_RESOURCE_LOCK_I2C 2 +#define MC_CMD_RESOURCE_LOCK_PHY 3 +#define MC_CMD_RESOURCE_LOCK_OUT_LEN 0 + +/* MC_CMD_SPI_COMMAND: (variadic in, variadic out) + * Read/Write to/from the SPI device. + * + * Locks required: SPI_LOCK + * Return code: 0, ETIME, EINVAL, EACCES (if SPI_LOCK is not held) + */ +#define MC_CMD_SPI_COMMAND 0x22 +#define MC_CMD_SPI_COMMAND_IN_LEN(_write_bytes) (12 + (_write_bytes)) +#define MC_CMD_SPI_COMMAND_IN_ARGS_OFST 0 +#define MC_CMD_SPI_COMMAND_IN_ARGS_ADDRESS_OFST 0 +#define MC_CMD_SPI_COMMAND_IN_ARGS_READ_BYTES_OFST 4 +#define MC_CMD_SPI_COMMAND_IN_ARGS_CHIP_SELECT_OFST 8 +/* Data to write here */ +#define MC_CMD_SPI_COMMAND_IN_WRITE_BUFFER_OFST 12 +#define MC_CMD_SPI_COMMAND_OUT_LEN(_read_bytes) (_read_bytes) +/* Data read here */ +#define MC_CMD_SPI_COMMAND_OUT_READ_BUFFER_OFST 0 + +/* MC_CMD_I2C_READ_WRITE: (variadic in, variadic out) + * Read/Write to/from the I2C bus. + * + * Locks required: I2C_LOCK + * Return code: 0, ETIME, EINVAL, EACCES (if I2C_LOCK is not held) + */ +#define MC_CMD_I2C_RW 0x23 +#define MC_CMD_I2C_RW_IN_LEN(_write_bytes) (8 + (_write_bytes)) +#define MC_CMD_I2C_RW_IN_ARGS_OFST 0 +#define MC_CMD_I2C_RW_IN_ARGS_ADDR_OFST 0 +#define MC_CMD_I2C_RW_IN_ARGS_READ_BYTES_OFST 4 +/* Data to write here */ +#define MC_CMD_I2C_RW_IN_WRITE_BUFFER_OFSET 8 +#define MC_CMD_I2C_RW_OUT_LEN(_read_bytes) (_read_bytes) +/* Data read here */ +#define MC_CMD_I2C_RW_OUT_READ_BUFFER_OFST 0 + +/* Generic phy capability bitmask */ +#define MC_CMD_PHY_CAP_10HDX_LBN 1 +#define MC_CMD_PHY_CAP_10HDX_WIDTH 1 +#define MC_CMD_PHY_CAP_10FDX_LBN 2 +#define MC_CMD_PHY_CAP_10FDX_WIDTH 1 +#define MC_CMD_PHY_CAP_100HDX_LBN 3 +#define MC_CMD_PHY_CAP_100HDX_WIDTH 1 +#define MC_CMD_PHY_CAP_100FDX_LBN 4 +#define MC_CMD_PHY_CAP_100FDX_WIDTH 1 +#define MC_CMD_PHY_CAP_1000HDX_LBN 5 +#define MC_CMD_PHY_CAP_1000HDX_WIDTH 1 +#define MC_CMD_PHY_CAP_1000FDX_LBN 6 +#define MC_CMD_PHY_CAP_1000FDX_WIDTH 1 +#define MC_CMD_PHY_CAP_10000FDX_LBN 7 +#define MC_CMD_PHY_CAP_10000FDX_WIDTH 1 +#define MC_CMD_PHY_CAP_PAUSE_LBN 8 +#define MC_CMD_PHY_CAP_PAUSE_WIDTH 1 +#define MC_CMD_PHY_CAP_ASYM_LBN 9 +#define MC_CMD_PHY_CAP_ASYM_WIDTH 1 +#define MC_CMD_PHY_CAP_AN_LBN 10 +#define MC_CMD_PHY_CAP_AN_WIDTH 1 + +/* Generic loopback enumeration */ +#define MC_CMD_LOOPBACK_NONE 0 +#define MC_CMD_LOOPBACK_DATA 1 +#define MC_CMD_LOOPBACK_GMAC 2 +#define MC_CMD_LOOPBACK_XGMII 3 +#define MC_CMD_LOOPBACK_XGXS 4 +#define MC_CMD_LOOPBACK_XAUI 5 +#define MC_CMD_LOOPBACK_GMII 6 +#define MC_CMD_LOOPBACK_SGMII 7 +#define MC_CMD_LOOPBACK_XGBR 8 +#define MC_CMD_LOOPBACK_XFI 9 +#define MC_CMD_LOOPBACK_XAUI_FAR 10 +#define MC_CMD_LOOPBACK_GMII_FAR 11 +#define MC_CMD_LOOPBACK_SGMII_FAR 12 +#define MC_CMD_LOOPBACK_XFI_FAR 13 +#define MC_CMD_LOOPBACK_GPHY 14 +#define MC_CMD_LOOPBACK_PHYXS 15 +#define MC_CMD_LOOPBACK_PCS 16 +#define MC_CMD_LOOPBACK_PMAPMD 17 +#define MC_CMD_LOOPBACK_XPORT 18 +#define MC_CMD_LOOPBACK_XGMII_WS 19 +#define MC_CMD_LOOPBACK_XAUI_WS 20 +#define MC_CMD_LOOPBACK_XAUI_WS_FAR 21 +#define MC_CMD_LOOPBACK_XAUI_WS_NEAR 22 +#define MC_CMD_LOOPBACK_GMII_WS 23 +#define MC_CMD_LOOPBACK_XFI_WS 24 +#define MC_CMD_LOOPBACK_XFI_WS_FAR 25 +#define MC_CMD_LOOPBACK_PHYXS_WS 26 + +/* Generic PHY statistics enumeration */ +#define MC_CMD_OUI 0 +#define MC_CMD_PMA_PMD_LINK_UP 1 +#define MC_CMD_PMA_PMD_RX_FAULT 2 +#define MC_CMD_PMA_PMD_TX_FAULT 3 +#define MC_CMD_PMA_PMD_SIGNAL 4 +#define MC_CMD_PMA_PMD_SNR_A 5 +#define MC_CMD_PMA_PMD_SNR_B 6 +#define MC_CMD_PMA_PMD_SNR_C 7 +#define MC_CMD_PMA_PMD_SNR_D 8 +#define MC_CMD_PCS_LINK_UP 9 +#define MC_CMD_PCS_RX_FAULT 10 +#define MC_CMD_PCS_TX_FAULT 11 +#define MC_CMD_PCS_BER 12 +#define MC_CMD_PCS_BLOCK_ERRORS 13 +#define MC_CMD_PHYXS_LINK_UP 14 +#define MC_CMD_PHYXS_RX_FAULT 15 +#define MC_CMD_PHYXS_TX_FAULT 16 +#define MC_CMD_PHYXS_ALIGN 17 +#define MC_CMD_PHYXS_SYNC 18 +#define MC_CMD_AN_LINK_UP 19 +#define MC_CMD_AN_COMPLETE 20 +#define MC_CMD_AN_10GBT_STATUS 21 +#define MC_CMD_CL22_LINK_UP 22 +#define MC_CMD_PHY_NSTATS 23 + +/* MC_CMD_GET_PHY_CFG: + * Report PHY configuration. This guarantees to succeed even if the PHY is in + * a "zombie" state. + * + * Locks required: None + * Return code: 0 + */ +#define MC_CMD_GET_PHY_CFG 0x24 + +#define MC_CMD_GET_PHY_CFG_IN_LEN 0 +#define MC_CMD_GET_PHY_CFG_OUT_LEN 72 + +#define MC_CMD_GET_PHY_CFG_OUT_FLAGS_OFST 0 +#define MC_CMD_GET_PHY_CFG_PRESENT_LBN 0 +#define MC_CMD_GET_PHY_CFG_PRESENT_WIDTH 1 +#define MC_CMD_GET_PHY_CFG_SHORTBIST_LBN 1 +#define MC_CMD_GET_PHY_CFG_SHORTBIST_WIDTH 1 +#define MC_CMD_GET_PHY_CFG_LONGBIST_LBN 2 +#define MC_CMD_GET_PHY_CFG_LONGBIST_WIDTH 1 +#define MC_CMD_GET_PHY_CFG_LOWPOWER_LBN 3 +#define MC_CMD_GET_PHY_CFG_LOWPOWER_WIDTH 1 +#define MC_CMD_GET_PHY_CFG_POWEROFF_LBN 4 +#define MC_CMD_GET_PHY_CFG_POWEROFF_WIDTH 1 +#define MC_CMD_GET_PHY_CFG_TXDIS_LBN 5 +#define MC_CMD_GET_PHY_CFG_TXDIS_WIDTH 1 +#define MC_CMD_GET_PHY_CFG_OUT_TYPE_OFST 4 +/* Bitmask of supported capabilities */ +#define MC_CMD_GET_PHY_CFG_OUT_SUPPORTED_CAP_OFST 8 +#define MC_CMD_GET_PHY_CFG_OUT_CHANNEL_OFST 12 +#define MC_CMD_GET_PHY_CFG_OUT_PRT_OFST 16 +/* PHY statistics bitmap */ +#define MC_CMD_GET_PHY_CFG_OUT_STATS_MASK_OFST 20 +/* PHY type/name string */ +#define MC_CMD_GET_PHY_CFG_OUT_NAME_OFST 24 +#define MC_CMD_GET_PHY_CFG_OUT_NAME_LEN 20 +#define MC_CMD_GET_PHY_CFG_OUT_MEDIA_TYPE_OFST 44 +#define MC_CMD_MEDIA_XAUI 1 +#define MC_CMD_MEDIA_CX4 2 +#define MC_CMD_MEDIA_KX4 3 +#define MC_CMD_MEDIA_XFP 4 +#define MC_CMD_MEDIA_SFP_PLUS 5 +#define MC_CMD_MEDIA_BASE_T 6 +/* MDIO "MMDS" supported */ +#define MC_CMD_GET_PHY_CFG_OUT_MMD_MASK_OFST 48 +/* Native clause 22 */ +#define MC_CMD_MMD_CLAUSE22 0 +#define MC_CMD_MMD_CLAUSE45_PMAPMD 1 +#define MC_CMD_MMD_CLAUSE45_WIS 2 +#define MC_CMD_MMD_CLAUSE45_PCS 3 +#define MC_CMD_MMD_CLAUSE45_PHYXS 4 +#define MC_CMD_MMD_CLAUSE45_DTEXS 5 +#define MC_CMD_MMD_CLAUSE45_TC 6 +#define MC_CMD_MMD_CLAUSE45_AN 7 +/* Clause22 proxied over clause45 by PHY */ +#define MC_CMD_MMD_CLAUSE45_C22EXT 29 +#define MC_CMD_MMD_CLAUSE45_VEND1 30 +#define MC_CMD_MMD_CLAUSE45_VEND2 31 +/* PHY stepping version */ +#define MC_CMD_GET_PHY_CFG_OUT_REVISION_OFST 52 +#define MC_CMD_GET_PHY_CFG_OUT_REVISION_LEN 20 + +/* MC_CMD_START_PHY_BIST: + * Start a BIST test on the PHY. + * + * Locks required: PHY_LOCK if doing a PHY BIST + * Return code: 0, EINVAL, EACCES (if PHY_LOCK is not held) + */ +#define MC_CMD_START_BIST 0x25 +#define MC_CMD_START_BIST_IN_LEN 4 +#define MC_CMD_START_BIST_TYPE_OFST 0 + +/* Run the PHY's short BIST */ +#define MC_CMD_PHY_BIST_SHORT 1 +/* Run the PHY's long BIST */ +#define MC_CMD_PHY_BIST_LONG 2 +/* Run BIST on the currently selected BPX Serdes (XAUI or XFI) */ +#define MC_CMD_BPX_SERDES_BIST 3 + +/* MC_CMD_POLL_PHY_BIST: (variadic output) + * Poll for BIST completion + * + * Returns a single status code, and a binary blob of phy-specific + * bist output. If the driver can't succesfully parse the BIST output, + * it should still respect the Pass/Fail in OUT.RESULT. + * + * Locks required: PHY_LOCK if doing a PHY BIST + * Return code: 0, EACCES (if PHY_LOCK is not held) + */ +#define MC_CMD_POLL_BIST 0x26 +#define MC_CMD_POLL_BIST_IN_LEN 0 +#define MC_CMD_POLL_BIST_OUT_LEN UNKNOWN +#define MC_CMD_POLL_BIST_OUT_RESULT_OFST 0 +#define MC_CMD_POLL_BIST_RUNNING 1 +#define MC_CMD_POLL_BIST_PASSED 2 +#define MC_CMD_POLL_BIST_FAILED 3 +#define MC_CMD_POLL_BIST_TIMEOUT 4 +#define MC_CMD_POLL_BIST_OUT_PRIVATE_OFST 4 + +/* MC_CMD_PHY_SPI: (variadic in, variadic out) + * Read/Write/Erase the PHY SPI device + * + * Locks required: PHY_LOCK + * Return code: 0, ETIME, EINVAL, EACCES (if PHY_LOCK is not held) + */ +#define MC_CMD_PHY_SPI 0x27 +#define MC_CMD_PHY_SPI_IN_LEN(_write_bytes) (12 + (_write_bytes)) +#define MC_CMD_PHY_SPI_IN_ARGS_OFST 0 +#define MC_CMD_PHY_SPI_IN_ARGS_ADDR_OFST 0 +#define MC_CMD_PHY_SPI_IN_ARGS_READ_BYTES_OFST 4 +#define MC_CMD_PHY_SPI_IN_ARGS_ERASE_ALL_OFST 8 +/* Data to write here */ +#define MC_CMD_PHY_SPI_IN_WRITE_BUFFER_OFSET 12 +#define MC_CMD_PHY_SPI_OUT_LEN(_read_bytes) (_read_bytes) +/* Data read here */ +#define MC_CMD_PHY_SPI_OUT_READ_BUFFER_OFST 0 + + +/* MC_CMD_GET_LOOPBACK_MODES: + * Returns a bitmask of loopback modes evailable at each speed. + * + * Locks required: None + * Return code: 0 + */ +#define MC_CMD_GET_LOOPBACK_MODES 0x28 +#define MC_CMD_GET_LOOPBACK_MODES_IN_LEN 0 +#define MC_CMD_GET_LOOPBACK_MODES_OUT_LEN 32 +#define MC_CMD_GET_LOOPBACK_MODES_100M_OFST 0 +#define MC_CMD_GET_LOOPBACK_MODES_1G_OFST 8 +#define MC_CMD_GET_LOOPBACK_MODES_10G_OFST 16 +#define MC_CMD_GET_LOOPBACK_MODES_SUGGESTED_OFST 24 + +/* Flow control enumeration */ +#define MC_CMD_FCNTL_OFF 0 +#define MC_CMD_FCNTL_RESPOND 1 +#define MC_CMD_FCNTL_BIDIR 2 +/* Auto - Use what the link has autonegotiated + * - The driver should modify the advertised capabilities via SET_LINK.CAP + * to control the negotiated flow control mode. + * - Can only be set if the PHY supports PAUSE+ASYM capabilities + * - Never returned by GET_LINK as the value programmed into the MAC + */ +#define MC_CMD_FCNTL_AUTO 3 + +/* Generic mac fault bitmask */ +#define MC_CMD_MAC_FAULT_XGMII_LOCAL_LBN 0 +#define MC_CMD_MAC_FAULT_XGMII_LOCAL_WIDTH 1 +#define MC_CMD_MAC_FAULT_XGMII_REMOTE_LBN 1 +#define MC_CMD_MAC_FAULT_XGMII_REMOTE_WIDTH 1 +#define MC_CMD_MAC_FAULT_SGMII_REMOTE_LBN 2 +#define MC_CMD_MAC_FAULT_SGMII_REMOTE_WIDTH 1 + +/* MC_CMD_GET_LINK: + * Read the unified MAC/PHY link state + * + * Locks required: None + * Return code: 0, ETIME + */ +#define MC_CMD_GET_LINK 0x29 +#define MC_CMD_GET_LINK_IN_LEN 0 +#define MC_CMD_GET_LINK_OUT_LEN 28 +/* near-side and link-partner advertised capabilities */ +#define MC_CMD_GET_LINK_OUT_CAP_OFST 0 +#define MC_CMD_GET_LINK_OUT_LP_CAP_OFST 4 +/* Autonegotiated speed in mbit/s. The link may still be down + * even if this reads non-zero */ +#define MC_CMD_GET_LINK_OUT_LINK_SPEED_OFST 8 +#define MC_CMD_GET_LINK_OUT_LOOPBACK_MODE_OFST 12 +#define MC_CMD_GET_LINK_OUT_FLAGS_OFST 16 +/* Whether we have overall link up */ +#define MC_CMD_GET_LINK_LINK_UP_LBN 0 +#define MC_CMD_GET_LINK_LINK_UP_WIDTH 1 +#define MC_CMD_GET_LINK_FULL_DUPLEX_LBN 1 +#define MC_CMD_GET_LINK_FULL_DUPLEX_WIDTH 1 +/* Whether we have link at the layers provided by the BPX */ +#define MC_CMD_GET_LINK_BPX_LINK_LBN 2 +#define MC_CMD_GET_LINK_BPX_LINK_WIDTH 1 +/* Whether the PHY has external link */ +#define MC_CMD_GET_LINK_PHY_LINK_LBN 3 +#define MC_CMD_GET_LINK_PHY_LINK_WIDTH 1 +#define MC_CMD_GET_LINK_OUT_FCNTL_OFST 20 +#define MC_CMD_GET_LINK_OUT_MAC_FAULT_OFST 24 + +/* MC_CMD_SET_LINK: + * Write the unified MAC/PHY link configuration + * + * A loopback speed of "0" is supported, and means + * (choose any available speed) + * + * Locks required: None + * Return code: 0, EINVAL, ETIME + */ +#define MC_CMD_SET_LINK 0x2a +#define MC_CMD_SET_LINK_IN_LEN 16 +#define MC_CMD_SET_LINK_IN_CAP_OFST 0 +#define MC_CMD_SET_LINK_IN_FLAGS_OFST 4 +#define MC_CMD_SET_LINK_LOWPOWER_LBN 0 +#define MC_CMD_SET_LINK_LOWPOWER_WIDTH 1 +#define MC_CMD_SET_LINK_POWEROFF_LBN 1 +#define MC_CMD_SET_LINK_POWEROFF_WIDTH 1 +#define MC_CMD_SET_LINK_TXDIS_LBN 2 +#define MC_CMD_SET_LINK_TXDIS_WIDTH 1 +#define MC_CMD_SET_LINK_IN_LOOPBACK_MODE_OFST 8 +#define MC_CMD_SET_LINK_IN_LOOPBACK_SPEED_OFST 12 +#define MC_CMD_SET_LINK_OUT_LEN 0 + +/* MC_CMD_SET_ID_LED: + * Set indentification LED state + * + * Locks required: None + * Return code: 0, EINVAL + */ +#define MC_CMD_SET_ID_LED 0x2b +#define MC_CMD_SET_ID_LED_IN_LEN 4 +#define MC_CMD_SET_ID_LED_IN_STATE_OFST 0 +#define MC_CMD_LED_OFF 0 +#define MC_CMD_LED_ON 1 +#define MC_CMD_LED_DEFAULT 2 +#define MC_CMD_SET_ID_LED_OUT_LEN 0 + +/* MC_CMD_SET_MAC: + * Set MAC configuration + * + * The MTU is the MTU programmed directly into the XMAC/GMAC + * (inclusive of EtherII, VLAN, bug16011 padding) + * + * Locks required: None + * Return code: 0, EINVAL + */ +#define MC_CMD_SET_MAC 0x2c +#define MC_CMD_SET_MAC_IN_LEN 24 +#define MC_CMD_SET_MAC_IN_MTU_OFST 0 +#define MC_CMD_SET_MAC_IN_DRAIN_OFST 4 +#define MC_CMD_SET_MAC_IN_ADDR_OFST 8 +#define MC_CMD_SET_MAC_IN_REJECT_OFST 16 +#define MC_CMD_SET_MAC_IN_REJECT_UNCST_LBN 0 +#define MC_CMD_SET_MAC_IN_REJECT_UNCST_WIDTH 1 +#define MC_CMD_SET_MAC_IN_REJECT_BRDCST_LBN 1 +#define MC_CMD_SET_MAC_IN_REJECT_BRDCST_WIDTH 1 +#define MC_CMD_SET_MAC_IN_FCNTL_OFST 20 +#define MC_CMD_SET_MAC_OUT_LEN 0 + +/* MC_CMD_PHY_STATS: + * Get generic PHY statistics + * + * This call returns the statistics for a generic PHY, by direct DMA + * into host memory, in a sparse array (indexed by the enumerate). + * Each value is represented by a 32bit number. + * + * Locks required: None + * Returns: 0, ETIME + * Response methods: shared memory, event + */ +#define MC_CMD_PHY_STATS 0x2d +#define MC_CMD_PHY_STATS_IN_LEN 8 +#define MC_CMD_PHY_STATS_IN_DMA_ADDR_LO_OFST 0 +#define MC_CMD_PHY_STATS_IN_DMA_ADDR_HI_OFST 4 +#define MC_CMD_PHY_STATS_OUT_LEN 0 + +/* Unified MAC statistics enumeration */ +#define MC_CMD_MAC_GENERATION_START 0 +#define MC_CMD_MAC_TX_PKTS 1 +#define MC_CMD_MAC_TX_PAUSE_PKTS 2 +#define MC_CMD_MAC_TX_CONTROL_PKTS 3 +#define MC_CMD_MAC_TX_UNICAST_PKTS 4 +#define MC_CMD_MAC_TX_MULTICAST_PKTS 5 +#define MC_CMD_MAC_TX_BROADCAST_PKTS 6 +#define MC_CMD_MAC_TX_BYTES 7 +#define MC_CMD_MAC_TX_BAD_BYTES 8 +#define MC_CMD_MAC_TX_LT64_PKTS 9 +#define MC_CMD_MAC_TX_64_PKTS 10 +#define MC_CMD_MAC_TX_65_TO_127_PKTS 11 +#define MC_CMD_MAC_TX_128_TO_255_PKTS 12 +#define MC_CMD_MAC_TX_256_TO_511_PKTS 13 +#define MC_CMD_MAC_TX_512_TO_1023_PKTS 14 +#define MC_CMD_MAC_TX_1024_TO_15XX_PKTS 15 +#define MC_CMD_MAC_TX_15XX_TO_JUMBO_PKTS 16 +#define MC_CMD_MAC_TX_GTJUMBO_PKTS 17 +#define MC_CMD_MAC_TX_BAD_FCS_PKTS 18 +#define MC_CMD_MAC_TX_SINGLE_COLLISION_PKTS 19 +#define MC_CMD_MAC_TX_MULTIPLE_COLLISION_PKTS 20 +#define MC_CMD_MAC_TX_EXCESSIVE_COLLISION_PKTS 21 +#define MC_CMD_MAC_TX_LATE_COLLISION_PKTS 22 +#define MC_CMD_MAC_TX_DEFERRED_PKTS 23 +#define MC_CMD_MAC_TX_EXCESSIVE_DEFERRED_PKTS 24 +#define MC_CMD_MAC_TX_NON_TCPUDP_PKTS 25 +#define MC_CMD_MAC_TX_MAC_SRC_ERR_PKTS 26 +#define MC_CMD_MAC_TX_IP_SRC_ERR_PKTS 27 +#define MC_CMD_MAC_RX_PKTS 28 +#define MC_CMD_MAC_RX_PAUSE_PKTS 29 +#define MC_CMD_MAC_RX_GOOD_PKTS 30 +#define MC_CMD_MAC_RX_CONTROL_PKTS 31 +#define MC_CMD_MAC_RX_UNICAST_PKTS 32 +#define MC_CMD_MAC_RX_MULTICAST_PKTS 33 +#define MC_CMD_MAC_RX_BROADCAST_PKTS 34 +#define MC_CMD_MAC_RX_BYTES 35 +#define MC_CMD_MAC_RX_BAD_BYTES 36 +#define MC_CMD_MAC_RX_64_PKTS 37 +#define MC_CMD_MAC_RX_65_TO_127_PKTS 38 +#define MC_CMD_MAC_RX_128_TO_255_PKTS 39 +#define MC_CMD_MAC_RX_256_TO_511_PKTS 40 +#define MC_CMD_MAC_RX_512_TO_1023_PKTS 41 +#define MC_CMD_MAC_RX_1024_TO_15XX_PKTS 42 +#define MC_CMD_MAC_RX_15XX_TO_JUMBO_PKTS 43 +#define MC_CMD_MAC_RX_GTJUMBO_PKTS 44 +#define MC_CMD_MAC_RX_UNDERSIZE_PKTS 45 +#define MC_CMD_MAC_RX_BAD_FCS_PKTS 46 +#define MC_CMD_MAC_RX_OVERFLOW_PKTS 47 +#define MC_CMD_MAC_RX_FALSE_CARRIER_PKTS 48 +#define MC_CMD_MAC_RX_SYMBOL_ERROR_PKTS 49 +#define MC_CMD_MAC_RX_ALIGN_ERROR_PKTS 50 +#define MC_CMD_MAC_RX_LENGTH_ERROR_PKTS 51 +#define MC_CMD_MAC_RX_INTERNAL_ERROR_PKTS 52 +#define MC_CMD_MAC_RX_JABBER_PKTS 53 +#define MC_CMD_MAC_RX_NODESC_DROPS 54 +#define MC_CMD_MAC_RX_LANES01_CHAR_ERR 55 +#define MC_CMD_MAC_RX_LANES23_CHAR_ERR 56 +#define MC_CMD_MAC_RX_LANES01_DISP_ERR 57 +#define MC_CMD_MAC_RX_LANES23_DISP_ERR 58 +#define MC_CMD_MAC_RX_MATCH_FAULT 59 +#define MC_CMD_GMAC_DMABUF_START 64 +#define MC_CMD_GMAC_DMABUF_END 95 +/* Insert new members here. */ +#define MC_CMD_MAC_GENERATION_END 96 +#define MC_CMD_MAC_NSTATS (MC_CMD_MAC_GENERATION_END+1) + +/* MC_CMD_MAC_STATS: + * Get unified GMAC/XMAC statistics + * + * This call returns unified statistics maintained by the MC as it + * switches between the GMAC and XMAC. The MC will write out all + * supported stats. The driver should zero initialise the buffer to + * guarantee consistent results. + * + * Locks required: None + * Returns: 0 + * Response methods: shared memory, event + */ +#define MC_CMD_MAC_STATS 0x2e +#define MC_CMD_MAC_STATS_IN_LEN 16 +#define MC_CMD_MAC_STATS_IN_DMA_ADDR_LO_OFST 0 +#define MC_CMD_MAC_STATS_IN_DMA_ADDR_HI_OFST 4 +#define MC_CMD_MAC_STATS_IN_CMD_OFST 8 +#define MC_CMD_MAC_STATS_CMD_DMA_LBN 0 +#define MC_CMD_MAC_STATS_CMD_DMA_WIDTH 1 +#define MC_CMD_MAC_STATS_CMD_CLEAR_LBN 1 +#define MC_CMD_MAC_STATS_CMD_CLEAR_WIDTH 1 +#define MC_CMD_MAC_STATS_CMD_PERIODIC_CHANGE_LBN 2 +#define MC_CMD_MAC_STATS_CMD_PERIODIC_CHANGE_WIDTH 1 +/* Fields only relevent when PERIODIC_CHANGE is set */ +#define MC_CMD_MAC_STATS_CMD_PERIODIC_ENABLE_LBN 3 +#define MC_CMD_MAC_STATS_CMD_PERIODIC_ENABLE_WIDTH 1 +#define MC_CMD_MAC_STATS_CMD_PERIODIC_CLEAR_LBN 4 +#define MC_CMD_MAC_STATS_CMD_PERIODIC_CLEAR_WIDTH 1 +#define MC_CMD_MAC_STATS_CMD_PERIOD_MS_LBN 16 +#define MC_CMD_MAC_STATS_CMD_PERIOD_MS_WIDTH 16 +#define MC_CMD_MAC_STATS_IN_DMA_LEN_OFST 12 + +#define MC_CMD_MAC_STATS_OUT_LEN 0 + +/* Callisto flags */ +#define MC_CMD_SFT9001_ROBUST_LBN 0 +#define MC_CMD_SFT9001_ROBUST_WIDTH 1 +#define MC_CMD_SFT9001_SHORT_REACH_LBN 1 +#define MC_CMD_SFT9001_SHORT_REACH_WIDTH 1 + +/* MC_CMD_SFT9001_GET: + * Read current callisto specific setting + * + * Locks required: None + * Returns: 0, ETIME + */ +#define MC_CMD_SFT9001_GET 0x30 +#define MC_CMD_SFT9001_GET_IN_LEN 0 +#define MC_CMD_SFT9001_GET_OUT_LEN 4 +#define MC_CMD_SFT9001_GET_OUT_FLAGS_OFST 0 + +/* MC_CMD_SFT9001_SET: + * Write current callisto specific setting + * + * Locks required: None + * Returns: 0, ETIME, EINVAL + */ +#define MC_CMD_SFT9001_SET 0x31 +#define MC_CMD_SFT9001_SET_IN_LEN 4 +#define MC_CMD_SFT9001_SET_IN_FLAGS_OFST 0 +#define MC_CMD_SFT9001_SET_OUT_LEN 0 + + +/* MC_CMD_WOL_FILTER_SET: + * Set a WoL filter + * + * Locks required: None + * Returns: 0, EBUSY, EINVAL, ENOSYS + */ +#define MC_CMD_WOL_FILTER_SET 0x32 +#define MC_CMD_WOL_FILTER_SET_IN_LEN 192 /* 190 rounded up to a word */ +#define MC_CMD_WOL_FILTER_SET_IN_FILTER_MODE_OFST 0 +#define MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_OFST 4 + +/* There is a union at offset 8, following defines overlap due to + * this */ +#define MC_CMD_WOL_FILTER_SET_IN_DATA_OFST 8 + +#define MC_CMD_WOL_FILTER_SET_IN_MAGIC_MAC_OFST \ + MC_CMD_WOL_FILTER_SET_IN_DATA_OFST + +#define MC_CMD_WOL_FILTER_SET_IN_IPV4_SYN_SRC_IP_OFST \ + MC_CMD_WOL_FILTER_SET_IN_DATA_OFST +#define MC_CMD_WOL_FILTER_SET_IN_IPV4_SYN_DST_IP_OFST \ + (MC_CMD_WOL_FILTER_SET_IN_DATA_OFST + 4) +#define MC_CMD_WOL_FILTER_SET_IN_IPV4_SYN_SRC_PORT_OFST \ + (MC_CMD_WOL_FILTER_SET_IN_DATA_OFST + 8) +#define MC_CMD_WOL_FILTER_SET_IN_IPV4_SYN_DST_PORT_OFST \ + (MC_CMD_WOL_FILTER_SET_IN_DATA_OFST + 10) + +#define MC_CMD_WOL_FILTER_SET_IN_IPV6_SYN_SRC_IP_OFST \ + MC_CMD_WOL_FILTER_SET_IN_DATA_OFST +#define MC_CMD_WOL_FILTER_SET_IN_IPV6_SYN_DST_IP_OFST \ + (MC_CMD_WOL_FILTER_SET_IN_DATA_OFST + 16) +#define MC_CMD_WOL_FILTER_SET_IN_IPV6_SYN_SRC_PORT_OFST \ + (MC_CMD_WOL_FILTER_SET_IN_DATA_OFST + 32) +#define MC_CMD_WOL_FILTER_SET_IN_IPV6_SYN_DST_PORT_OFST \ + (MC_CMD_WOL_FILTER_SET_IN_DATA_OFST + 34) + +#define MC_CMD_WOL_FILTER_SET_IN_BITMAP_MASK_OFST \ + MC_CMD_WOL_FILTER_SET_IN_DATA_OFST +#define MC_CMD_WOL_FILTER_SET_IN_BITMAP_OFST \ + (MC_CMD_WOL_FILTER_SET_IN_DATA_OFST + 48) +#define MC_CMD_WOL_FILTER_SET_IN_BITMAP_LEN_OFST \ + (MC_CMD_WOL_FILTER_SET_IN_DATA_OFST + 176) +#define MC_CMD_WOL_FILTER_SET_IN_BITMAP_LAYER3_OFST \ + (MC_CMD_WOL_FILTER_SET_IN_DATA_OFST + 177) +#define MC_CMD_WOL_FILTER_SET_IN_BITMAP_LAYER4_OFST \ + (MC_CMD_WOL_FILTER_SET_IN_DATA_OFST + 178) + +#define MC_CMD_WOL_FILTER_SET_OUT_LEN 4 +#define MC_CMD_WOL_FILTER_SET_OUT_FILTER_ID_OFST 0 + +/* WOL Filter types enumeration */ +#define MC_CMD_WOL_TYPE_MAGIC 0x0 + /* unused 0x1 */ +#define MC_CMD_WOL_TYPE_WIN_MAGIC 0x2 +#define MC_CMD_WOL_TYPE_IPV4_SYN 0x3 +#define MC_CMD_WOL_TYPE_IPV6_SYN 0x4 +#define MC_CMD_WOL_TYPE_BITMAP 0x5 +#define MC_CMD_WOL_TYPE_MAX 0x6 + +#define MC_CMD_FILTER_MODE_SIMPLE 0x0 +#define MC_CMD_FILTER_MODE_STRUCTURED 0xffffffff + +/* MC_CMD_WOL_FILTER_REMOVE: + * Remove a WoL filter + * + * Locks required: None + * Returns: 0, EINVAL, ENOSYS + */ +#define MC_CMD_WOL_FILTER_REMOVE 0x33 +#define MC_CMD_WOL_FILTER_REMOVE_IN_LEN 4 +#define MC_CMD_WOL_FILTER_REMOVE_IN_FILTER_ID_OFST 0 +#define MC_CMD_WOL_FILTER_REMOVE_OUT_LEN 0 + + +/* MC_CMD_WOL_FILTER_RESET: + * Reset (i.e. remove all) WoL filters + * + * Locks required: None + * Returns: 0, ENOSYS + */ +#define MC_CMD_WOL_FILTER_RESET 0x34 +#define MC_CMD_WOL_FILTER_RESET_IN_LEN 0 +#define MC_CMD_WOL_FILTER_RESET_OUT_LEN 0 + +/* MC_CMD_SET_MCAST_HASH: + * Set the MCASH hash value without otherwise + * reconfiguring the MAC + */ +#define MC_CMD_SET_MCAST_HASH 0x35 +#define MC_CMD_SET_MCAST_HASH_IN_LEN 32 +#define MC_CMD_SET_MCAST_HASH_IN_HASH0_OFST 0 +#define MC_CMD_SET_MCAST_HASH_IN_HASH1_OFST 16 +#define MC_CMD_SET_MCAST_HASH_OUT_LEN 0 + +/* MC_CMD_NVRAM_TYPES: + * Return bitfield indicating available types of virtual NVRAM partitions + * + * Locks required: none + * Returns: 0 + */ +#define MC_CMD_NVRAM_TYPES 0x36 +#define MC_CMD_NVRAM_TYPES_IN_LEN 0 +#define MC_CMD_NVRAM_TYPES_OUT_LEN 4 +#define MC_CMD_NVRAM_TYPES_OUT_TYPES_OFST 0 + +/* Supported NVRAM types */ +#define MC_CMD_NVRAM_TYPE_DISABLED_CALLISTO 0 +#define MC_CMD_NVRAM_TYPE_MC_FW 1 +#define MC_CMD_NVRAM_TYPE_MC_FW_BACKUP 2 +#define MC_CMD_NVRAM_TYPE_STATIC_CFG_PORT0 3 +#define MC_CMD_NVRAM_TYPE_STATIC_CFG_PORT1 4 +#define MC_CMD_NVRAM_TYPE_DYNAMIC_CFG_PORT0 5 +#define MC_CMD_NVRAM_TYPE_DYNAMIC_CFG_PORT1 6 +#define MC_CMD_NVRAM_TYPE_EXP_ROM 7 +#define MC_CMD_NVRAM_TYPE_EXP_ROM_CFG_PORT0 8 +#define MC_CMD_NVRAM_TYPE_EXP_ROM_CFG_PORT1 9 +#define MC_CMD_NVRAM_TYPE_PHY_PORT0 10 +#define MC_CMD_NVRAM_TYPE_PHY_PORT1 11 +#define MC_CMD_NVRAM_TYPE_LOG 12 + +/* MC_CMD_NVRAM_INFO: + * Read info about a virtual NVRAM partition + * + * Locks required: none + * Returns: 0, EINVAL (bad type) + */ +#define MC_CMD_NVRAM_INFO 0x37 +#define MC_CMD_NVRAM_INFO_IN_LEN 4 +#define MC_CMD_NVRAM_INFO_IN_TYPE_OFST 0 +#define MC_CMD_NVRAM_INFO_OUT_LEN 24 +#define MC_CMD_NVRAM_INFO_OUT_TYPE_OFST 0 +#define MC_CMD_NVRAM_INFO_OUT_SIZE_OFST 4 +#define MC_CMD_NVRAM_INFO_OUT_ERASESIZE_OFST 8 +#define MC_CMD_NVRAM_INFO_OUT_FLAGS_OFST 12 +#define MC_CMD_NVRAM_PROTECTED_LBN 0 +#define MC_CMD_NVRAM_PROTECTED_WIDTH 1 +#define MC_CMD_NVRAM_INFO_OUT_PHYSDEV_OFST 16 +#define MC_CMD_NVRAM_INFO_OUT_PHYSADDR_OFST 20 + +/* MC_CMD_NVRAM_UPDATE_START: + * Start a group of update operations on a virtual NVRAM partition + * + * Locks required: PHY_LOCK if type==*PHY* + * Returns: 0, EINVAL (bad type), EACCES (if PHY_LOCK required and not held) + */ +#define MC_CMD_NVRAM_UPDATE_START 0x38 +#define MC_CMD_NVRAM_UPDATE_START_IN_LEN 4 +#define MC_CMD_NVRAM_UPDATE_START_IN_TYPE_OFST 0 +#define MC_CMD_NVRAM_UPDATE_START_OUT_LEN 0 + +/* MC_CMD_NVRAM_READ: + * Read data from a virtual NVRAM partition + * + * Locks required: PHY_LOCK if type==*PHY* + * Returns: 0, EINVAL (bad type/offset/length), EACCES (if PHY_LOCK required and not held) + */ +#define MC_CMD_NVRAM_READ 0x39 +#define MC_CMD_NVRAM_READ_IN_LEN 12 +#define MC_CMD_NVRAM_READ_IN_TYPE_OFST 0 +#define MC_CMD_NVRAM_READ_IN_OFFSET_OFST 4 +#define MC_CMD_NVRAM_READ_IN_LENGTH_OFST 8 +#define MC_CMD_NVRAM_READ_OUT_LEN(_read_bytes) (_read_bytes) +#define MC_CMD_NVRAM_READ_OUT_READ_BUFFER_OFST 0 + +/* MC_CMD_NVRAM_WRITE: + * Write data to a virtual NVRAM partition + * + * Locks required: PHY_LOCK if type==*PHY* + * Returns: 0, EINVAL (bad type/offset/length), EACCES (if PHY_LOCK required and not held) + */ +#define MC_CMD_NVRAM_WRITE 0x3a +#define MC_CMD_NVRAM_WRITE_IN_TYPE_OFST 0 +#define MC_CMD_NVRAM_WRITE_IN_OFFSET_OFST 4 +#define MC_CMD_NVRAM_WRITE_IN_LENGTH_OFST 8 +#define MC_CMD_NVRAM_WRITE_IN_WRITE_BUFFER_OFST 12 +#define MC_CMD_NVRAM_WRITE_IN_LEN(_write_bytes) (12 + _write_bytes) +#define MC_CMD_NVRAM_WRITE_OUT_LEN 0 + +/* MC_CMD_NVRAM_ERASE: + * Erase sector(s) from a virtual NVRAM partition + * + * Locks required: PHY_LOCK if type==*PHY* + * Returns: 0, EINVAL (bad type/offset/length), EACCES (if PHY_LOCK required and not held) + */ +#define MC_CMD_NVRAM_ERASE 0x3b +#define MC_CMD_NVRAM_ERASE_IN_LEN 12 +#define MC_CMD_NVRAM_ERASE_IN_TYPE_OFST 0 +#define MC_CMD_NVRAM_ERASE_IN_OFFSET_OFST 4 +#define MC_CMD_NVRAM_ERASE_IN_LENGTH_OFST 8 +#define MC_CMD_NVRAM_ERASE_OUT_LEN 0 + +/* MC_CMD_NVRAM_UPDATE_FINISH: + * Finish a group of update operations on a virtual NVRAM partition + * + * Locks required: PHY_LOCK if type==*PHY* + * Returns: 0, EINVAL (bad type/offset/length), EACCES (if PHY_LOCK required and not held) + */ +#define MC_CMD_NVRAM_UPDATE_FINISH 0x3c +#define MC_CMD_NVRAM_UPDATE_FINISH_IN_LEN 4 +#define MC_CMD_NVRAM_UPDATE_FINISH_IN_TYPE_OFST 0 +#define MC_CMD_NVRAM_UPDATE_FINISH_OUT_LEN 0 + +/* MC_CMD_REBOOT: + * Reboot the MC. The AFTER_ASSERTION flag is intended to be used + * when the driver notices an assertion failure, to allow two ports to + * both recover (semi-)gracefully. + * + * Locks required: NONE + * Returns: Nothing. You get back a response with ERR=1, DATALEN=0 + */ +#define MC_CMD_REBOOT 0x3d +#define MC_CMD_REBOOT_IN_LEN 4 +#define MC_CMD_REBOOT_IN_FLAGS_OFST 0 +#define MC_CMD_REBOOT_FLAGS_AFTER_ASSERTION 1 +#define MC_CMD_REBOOT_OUT_LEN 0 + +/* MC_CMD_SCHEDINFO: + * Request scheduler info. from the MC. + * + * Locks required: NONE + * Returns: An array of (timeslice,maximum overrun), one for each thread, + * in ascending order of thread address.s + */ +#define MC_CMD_SCHEDINFO 0x3e +#define MC_CMD_SCHEDINFO_IN_LEN 0 + + +/* MC_CMD_SET_REBOOT_MODE: (debug) + * Set the mode for the next MC reboot. + * + * Locks required: NONE + * + * Sets the reboot mode to the specified value. Returns the old mode. + */ +#define MC_CMD_REBOOT_MODE 0x3f +#define MC_CMD_REBOOT_MODE_IN_LEN 4 +#define MC_CMD_REBOOT_MODE_IN_VALUE_OFST 0 +#define MC_CMD_REBOOT_MODE_OUT_LEN 4 +#define MC_CMD_REBOOT_MODE_OUT_VALUE_OFST 0 +#define MC_CMD_REBOOT_MODE_NORMAL 0 +#define MC_CMD_REBOOT_MODE_SNAPPER 3 + +/* MC_CMD_DEBUG_LOG: + * Null request/response command (debug) + * - sequence number is always zero + * - only supported on the UART interface + * (the same set of bytes is delivered as an + * event over PCI) + */ +#define MC_CMD_DEBUG_LOG 0x40 +#define MC_CMD_DEBUG_LOG_IN_LEN 0 +#define MC_CMD_DEBUG_LOG_OUT_LEN 0 + +/* Generic sensor enumeration. Note that a dual port NIC + * will EITHER expose PHY_COMMON_TEMP OR PHY0_TEMP and + * PHY1_TEMP depending on whether there is a single sensor + * in the vicinity of the two port, or one per port. + */ +#define MC_CMD_SENSOR_CONTROLLER_TEMP 0 /* degC */ +#define MC_CMD_SENSOR_PHY_COMMON_TEMP 1 /* degC */ +#define MC_CMD_SENSOR_CONTROLLER_COOLING 2 /* bool */ +#define MC_CMD_SENSOR_PHY0_TEMP 3 /* degC */ +#define MC_CMD_SENSOR_PHY0_COOLING 4 /* bool */ +#define MC_CMD_SENSOR_PHY1_TEMP 5 /* degC */ +#define MC_CMD_SENSOR_PHY1_COOLING 6 /* bool */ +#define MC_CMD_SENSOR_IN_1V0 7 /* mV */ +#define MC_CMD_SENSOR_IN_1V2 8 /* mV */ +#define MC_CMD_SENSOR_IN_1V8 9 /* mV */ +#define MC_CMD_SENSOR_IN_2V5 10 /* mV */ +#define MC_CMD_SENSOR_IN_3V3 11 /* mV */ +#define MC_CMD_SENSOR_IN_12V0 12 /* mV */ + + +/* Sensor state */ +#define MC_CMD_SENSOR_STATE_OK 0 +#define MC_CMD_SENSOR_STATE_WARNING 1 +#define MC_CMD_SENSOR_STATE_FATAL 2 +#define MC_CMD_SENSOR_STATE_BROKEN 3 + +/* MC_CMD_SENSOR_INFO: + * Returns information about every available sensor. + * + * Each sensor has a single (16bit) value, and a corresponding state. + * The mapping between value and sensor is nominally determined by the + * MC, but in practise is implemented as zero (BROKEN), one (TEMPERATURE), + * or two (VOLTAGE) ranges per sensor per state. + * + * This call returns a mask (32bit) of the sensors that are supported + * by this platform, then an array (indexed by MC_CMD_SENSOR) of byte + * offsets to the per-sensor arrays. Each sensor array has four 16bit + * numbers, min1, max1, min2, max2. + * + * Locks required: None + * Returns: 0 + */ +#define MC_CMD_SENSOR_INFO 0x41 +#define MC_CMD_SENSOR_INFO_IN_LEN 0 +#define MC_CMD_SENSOR_INFO_OUT_MASK_OFST 0 +#define MC_CMD_SENSOR_INFO_OUT_OFFSET_OFST(_x) \ + (4 + (_x)) +#define MC_CMD_SENSOR_INFO_OUT_MIN1_OFST(_ofst) \ + ((_ofst) + 0) +#define MC_CMD_SENSOR_INFO_OUT_MAX1_OFST(_ofst) \ + ((_ofst) + 2) +#define MC_CMD_SENSOR_INFO_OUT_MIN2_OFST(_ofst) \ + ((_ofst) + 4) +#define MC_CMD_SENSOR_INFO_OUT_MAX2_OFST(_ofst) \ + ((_ofst) + 6) + +/* MC_CMD_READ_SENSORS + * Returns the current (value, state) for each sensor + * + * Returns the current (value, state) [each 16bit] of each sensor supported by + * this board, by DMA'ing a sparse array (indexed by the sensor type) into host + * memory. + * + * The MC will send a SENSOREVT event every time any sensor changes state. The + * driver is responsible for ensuring that it doesn't miss any events. The board + * will function normally if all sensors are in STATE_OK or state_WARNING. + * Otherwise the board should not be expected to function. + */ +#define MC_CMD_READ_SENSORS 0x42 +#define MC_CMD_READ_SENSORS_IN_LEN 8 +#define MC_CMD_READ_SENSORS_IN_DMA_ADDR_LO_OFST 0 +#define MC_CMD_READ_SENSORS_IN_DMA_ADDR_HI_OFST 4 +#define MC_CMD_READ_SENSORS_OUT_LEN 0 + + +/* MC_CMD_GET_PHY_STATE: + * Report current state of PHY. A "zombie" PHY is a PHY that has failed to + * boot (e.g. due to missing or corrupted firmware). + * + * Locks required: None + * Return code: 0 + */ +#define MC_CMD_GET_PHY_STATE 0x43 + +#define MC_CMD_GET_PHY_STATE_IN_LEN 0 +#define MC_CMD_GET_PHY_STATE_OUT_LEN 4 +#define MC_CMD_GET_PHY_STATE_STATE_OFST 0 +/* PHY state enumeration: */ +#define MC_CMD_PHY_STATE_OK 1 +#define MC_CMD_PHY_STATE_ZOMBIE 2 + + +/* 802.1Qbb control. 8 Tx queues that map to priorities 0 - 7. Use all 1s to + * disable 802.Qbb for a given priority. */ +#define MC_CMD_SETUP_8021QBB 0x44 +#define MC_CMD_SETUP_8021QBB_IN_LEN 32 +#define MC_CMD_SETUP_8021QBB_OUT_LEN 0 +#define MC_CMD_SETUP_8021QBB_IN_TXQS_OFFST 0 + + +/* MC_CMD_WOL_FILTER_GET: + * Retrieve ID of any WoL filters + * + * Locks required: None + * Returns: 0, ENOSYS + */ +#define MC_CMD_WOL_FILTER_GET 0x45 +#define MC_CMD_WOL_FILTER_GET_IN_LEN 0 +#define MC_CMD_WOL_FILTER_GET_OUT_LEN 4 +#define MC_CMD_WOL_FILTER_GET_OUT_FILTER_ID_OFST 0 + + +/* MC_CMD_ADD_LIGHTSOUT_OFFLOAD: + * Offload a protocol to NIC for lights-out state + * + * Locks required: None + * Returns: 0, ENOSYS + */ +#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD 0x46 + +#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_LEN 16 +#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_PROTOCOL_OFST 0 + +/* There is a union at offset 4, following defines overlap due to + * this */ +#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_DATA_OFST 4 +#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_ARPMAC_OFST 4 +#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_ARPIP_OFST 10 +#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_NSMAC_OFST 4 +#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_NSSNIPV6_OFST 10 +#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_NSIPV6_OFST 26 + +#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_OUT_LEN 4 +#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_OUT_FILTER_ID_OFST 0 + + +/* MC_CMD_REMOVE_LIGHTSOUT_PROTOCOL_OFFLOAD: + * Offload a protocol to NIC for lights-out state + * + * Locks required: None + * Returns: 0, ENOSYS + */ +#define MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD 0x47 +#define MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD_IN_LEN 8 +#define MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD_OUT_LEN 0 + +#define MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD_IN_PROTOCOL_OFST 0 +#define MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD_IN_FILTER_ID_OFST 4 + +/* Lights-out offload protocols enumeration */ +#define MC_CMD_LIGHTSOUT_OFFLOAD_PROTOCOL_ARP 0x1 +#define MC_CMD_LIGHTSOUT_OFFLOAD_PROTOCOL_NS 0x2 + + +/* MC_CMD_MAC_RESET_RESTORE: + * Restore MAC after block reset + * + * Locks required: None + * Returns: 0 + */ + +#define MC_CMD_MAC_RESET_RESTORE 0x48 +#define MC_CMD_MAC_RESET_RESTORE_IN_LEN 0 +#define MC_CMD_MAC_RESET_RESTORE_OUT_LEN 0 + +#endif /* MCDI_PCOL_H */ --- linux-2.6.32.orig/drivers/net/sfc/mdio_10g.c +++ linux-2.6.32/drivers/net/sfc/mdio_10g.c @@ -1,6 +1,6 @@ /**************************************************************************** * Driver for Solarflare Solarstorm network controllers and boards - * Copyright 2006-2008 Solarflare Communications Inc. + * Copyright 2006-2009 Solarflare Communications 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 @@ -14,8 +14,8 @@ #include #include "net_driver.h" #include "mdio_10g.h" -#include "boards.h" #include "workarounds.h" +#include "nic.h" unsigned efx_mdio_id_oui(u32 id) { @@ -174,7 +174,7 @@ * of mmd's */ if (LOOPBACK_INTERNAL(efx)) return true; - else if (efx->loopback_mode == LOOPBACK_NETWORK) + else if (LOOPBACK_MASK(efx) & LOOPBACKS_WS) return false; else if (efx_phy_mode_disabled(efx->phy_mode)) return false; @@ -211,7 +211,7 @@ efx->loopback_mode == LOOPBACK_PCS); efx_mdio_set_flag(efx, MDIO_MMD_PHYXS, MDIO_CTRL1, MDIO_PHYXS_CTRL1_LOOPBACK, - efx->loopback_mode == LOOPBACK_NETWORK); + efx->loopback_mode == LOOPBACK_PHYXS_WS); } static void efx_mdio_set_mmd_lpower(struct efx_nic *efx, @@ -249,8 +249,6 @@ int efx_mdio_set_settings(struct efx_nic *efx, struct ethtool_cmd *ecmd) { struct ethtool_cmd prev; - u32 required; - int reg; efx->phy_op->get_settings(efx, &prev); @@ -266,86 +264,74 @@ return -EINVAL; /* Check that PHY supports these settings */ - if (ecmd->autoneg) { - required = SUPPORTED_Autoneg; - } else if (ecmd->duplex) { - switch (ecmd->speed) { - case SPEED_10: required = SUPPORTED_10baseT_Full; break; - case SPEED_100: required = SUPPORTED_100baseT_Full; break; - default: return -EINVAL; - } - } else { - switch (ecmd->speed) { - case SPEED_10: required = SUPPORTED_10baseT_Half; break; - case SPEED_100: required = SUPPORTED_100baseT_Half; break; - default: return -EINVAL; - } - } - required |= ecmd->advertising; - if (required & ~prev.supported) + if (!ecmd->autoneg || + (ecmd->advertising | SUPPORTED_Autoneg) & ~prev.supported) return -EINVAL; - if (ecmd->autoneg) { - bool xnp = (ecmd->advertising & ADVERTISED_10000baseT_Full - || EFX_WORKAROUND_13204(efx)); - - /* Set up the base page */ - reg = ADVERTISE_CSMA; - if (ecmd->advertising & ADVERTISED_10baseT_Half) - reg |= ADVERTISE_10HALF; - if (ecmd->advertising & ADVERTISED_10baseT_Full) - reg |= ADVERTISE_10FULL; - if (ecmd->advertising & ADVERTISED_100baseT_Half) - reg |= ADVERTISE_100HALF; - if (ecmd->advertising & ADVERTISED_100baseT_Full) - reg |= ADVERTISE_100FULL; - if (xnp) - reg |= ADVERTISE_RESV; - else if (ecmd->advertising & (ADVERTISED_1000baseT_Half | - ADVERTISED_1000baseT_Full)) - reg |= ADVERTISE_NPAGE; - reg |= mii_advertise_flowctrl(efx->wanted_fc); - efx_mdio_write(efx, MDIO_MMD_AN, MDIO_AN_ADVERTISE, reg); - - /* Set up the (extended) next page if necessary */ - if (efx->phy_op->set_npage_adv) - efx->phy_op->set_npage_adv(efx, ecmd->advertising); - - /* Enable and restart AN */ - reg = efx_mdio_read(efx, MDIO_MMD_AN, MDIO_CTRL1); - reg |= MDIO_AN_CTRL1_ENABLE; - if (!(EFX_WORKAROUND_15195(efx) && - LOOPBACK_MASK(efx) & efx->phy_op->loopbacks)) - reg |= MDIO_AN_CTRL1_RESTART; - if (xnp) - reg |= MDIO_AN_CTRL1_XNP; - else - reg &= ~MDIO_AN_CTRL1_XNP; - efx_mdio_write(efx, MDIO_MMD_AN, MDIO_CTRL1, reg); - } else { - /* Disable AN */ - efx_mdio_set_flag(efx, MDIO_MMD_AN, MDIO_CTRL1, - MDIO_AN_CTRL1_ENABLE, false); - - /* Set the basic control bits */ - reg = efx_mdio_read(efx, MDIO_MMD_PMAPMD, MDIO_CTRL1); - reg &= ~(MDIO_CTRL1_SPEEDSEL | MDIO_CTRL1_FULLDPLX); - if (ecmd->speed == SPEED_100) - reg |= MDIO_PMA_CTRL1_SPEED100; - if (ecmd->duplex) - reg |= MDIO_CTRL1_FULLDPLX; - efx_mdio_write(efx, MDIO_MMD_PMAPMD, MDIO_CTRL1, reg); - } - + efx_link_set_advertising(efx, ecmd->advertising | ADVERTISED_Autoneg); + efx_mdio_an_reconfigure(efx); return 0; } +/** + * efx_mdio_an_reconfigure - Push advertising flags and restart autonegotiation + * @efx: Efx NIC + */ +void efx_mdio_an_reconfigure(struct efx_nic *efx) +{ + bool xnp = (efx->link_advertising & ADVERTISED_10000baseT_Full + || EFX_WORKAROUND_13204(efx)); + int reg; + + WARN_ON(!(efx->mdio.mmds & MDIO_DEVS_AN)); + + /* Set up the base page */ + reg = ADVERTISE_CSMA; + if (efx->link_advertising & ADVERTISED_10baseT_Half) + reg |= ADVERTISE_10HALF; + if (efx->link_advertising & ADVERTISED_10baseT_Full) + reg |= ADVERTISE_10FULL; + if (efx->link_advertising & ADVERTISED_100baseT_Half) + reg |= ADVERTISE_100HALF; + if (efx->link_advertising & ADVERTISED_100baseT_Full) + reg |= ADVERTISE_100FULL; + if (xnp) + reg |= ADVERTISE_RESV; + else if (efx->link_advertising & (ADVERTISED_1000baseT_Half | + ADVERTISED_1000baseT_Full)) + reg |= ADVERTISE_NPAGE; + if (efx->link_advertising & ADVERTISED_Pause) + reg |= ADVERTISE_PAUSE_CAP; + if (efx->link_advertising & ADVERTISED_Asym_Pause) + reg |= ADVERTISE_PAUSE_ASYM; + efx_mdio_write(efx, MDIO_MMD_AN, MDIO_AN_ADVERTISE, reg); + + /* Set up the (extended) next page if necessary */ + if (efx->phy_op->set_npage_adv) + efx->phy_op->set_npage_adv(efx, efx->link_advertising); + + /* Enable and restart AN */ + reg = efx_mdio_read(efx, MDIO_MMD_AN, MDIO_CTRL1); + reg |= MDIO_AN_CTRL1_ENABLE; + if (!(EFX_WORKAROUND_15195(efx) && LOOPBACK_EXTERNAL(efx))) + reg |= MDIO_AN_CTRL1_RESTART; + if (xnp) + reg |= MDIO_AN_CTRL1_XNP; + else + reg &= ~MDIO_AN_CTRL1_XNP; + efx_mdio_write(efx, MDIO_MMD_AN, MDIO_CTRL1, reg); +} + enum efx_fc_type efx_mdio_get_pause(struct efx_nic *efx) { - int lpa; + BUILD_BUG_ON(EFX_FC_AUTO & (EFX_FC_RX | EFX_FC_TX)); - if (!(efx->phy_op->mmds & MDIO_DEVS_AN)) + if (!(efx->wanted_fc & EFX_FC_AUTO)) return efx->wanted_fc; - lpa = efx_mdio_read(efx, MDIO_MMD_AN, MDIO_AN_LPA); - return efx_fc_resolve(efx->wanted_fc, lpa); + + WARN_ON(!(efx->mdio.mmds & MDIO_DEVS_AN)); + + return mii_resolve_flowctrl_fdx( + mii_advertise_flowctrl(efx->wanted_fc), + efx_mdio_read(efx, MDIO_MMD_AN, MDIO_AN_LPA)); } --- linux-2.6.32.orig/drivers/net/sfc/mdio_10g.h +++ linux-2.6.32/drivers/net/sfc/mdio_10g.h @@ -1,6 +1,6 @@ /**************************************************************************** * Driver for Solarflare Solarstorm network controllers and boards - * Copyright 2006-2008 Solarflare Communications Inc. + * Copyright 2006-2009 Solarflare Communications 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 @@ -17,7 +17,6 @@ */ #include "efx.h" -#include "boards.h" static inline unsigned efx_mdio_id_rev(u32 id) { return id & 0xf; } static inline unsigned efx_mdio_id_model(u32 id) { return (id >> 4) & 0x3f; } @@ -87,6 +86,9 @@ /* Set (some of) the PHY settings over MDIO */ extern int efx_mdio_set_settings(struct efx_nic *efx, struct ethtool_cmd *ecmd); +/* Push advertising flags and restart autonegotiation */ +extern void efx_mdio_an_reconfigure(struct efx_nic *efx); + /* Get pause parameters from AN if available (otherwise return * requested pause parameters) */ --- linux-2.6.32.orig/drivers/net/sfc/mtd.c +++ linux-2.6.32/drivers/net/sfc/mtd.c @@ -1,36 +1,79 @@ /**************************************************************************** * Driver for Solarflare Solarstorm network controllers and boards * Copyright 2005-2006 Fen Systems Ltd. - * Copyright 2006-2008 Solarflare Communications Inc. + * Copyright 2006-2009 Solarflare Communications 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, incorporated herein by reference. */ +#include #include #include #include +#include #define EFX_DRIVER_NAME "sfc_mtd" #include "net_driver.h" #include "spi.h" #include "efx.h" +#include "nic.h" +#include "mcdi.h" +#include "mcdi_pcol.h" #define EFX_SPI_VERIFY_BUF_LEN 16 -struct efx_mtd { - const struct efx_spi_device *spi; +struct efx_mtd_partition { struct mtd_info mtd; + union { + struct { + bool updating; + u8 nvram_type; + u16 fw_subtype; + } mcdi; + size_t offset; + }; + const char *type_name; char name[IFNAMSIZ + 20]; }; +struct efx_mtd_ops { + int (*read)(struct mtd_info *mtd, loff_t start, size_t len, + size_t *retlen, u8 *buffer); + int (*erase)(struct mtd_info *mtd, loff_t start, size_t len); + int (*write)(struct mtd_info *mtd, loff_t start, size_t len, + size_t *retlen, const u8 *buffer); + int (*sync)(struct mtd_info *mtd); +}; + +struct efx_mtd { + struct list_head node; + struct efx_nic *efx; + const struct efx_spi_device *spi; + const char *name; + const struct efx_mtd_ops *ops; + size_t n_parts; + struct efx_mtd_partition part[0]; +}; + +#define efx_for_each_partition(part, efx_mtd) \ + for ((part) = &(efx_mtd)->part[0]; \ + (part) != &(efx_mtd)->part[(efx_mtd)->n_parts]; \ + (part)++) + +#define to_efx_mtd_partition(mtd) \ + container_of(mtd, struct efx_mtd_partition, mtd) + +static int falcon_mtd_probe(struct efx_nic *efx); +static int siena_mtd_probe(struct efx_nic *efx); + /* SPI utilities */ static int efx_spi_slow_wait(struct efx_mtd *efx_mtd, bool uninterruptible) { const struct efx_spi_device *spi = efx_mtd->spi; - struct efx_nic *efx = spi->efx; + struct efx_nic *efx = efx_mtd->efx; u8 status; int rc, i; @@ -39,7 +82,7 @@ __set_current_state(uninterruptible ? TASK_UNINTERRUPTIBLE : TASK_INTERRUPTIBLE); schedule_timeout(HZ / 10); - rc = falcon_spi_cmd(spi, SPI_RDSR, -1, NULL, + rc = falcon_spi_cmd(efx, spi, SPI_RDSR, -1, NULL, &status, sizeof(status)); if (rc) return rc; @@ -52,32 +95,35 @@ return -ETIMEDOUT; } -static int efx_spi_unlock(const struct efx_spi_device *spi) +static int +efx_spi_unlock(struct efx_nic *efx, const struct efx_spi_device *spi) { const u8 unlock_mask = (SPI_STATUS_BP2 | SPI_STATUS_BP1 | SPI_STATUS_BP0); u8 status; int rc; - rc = falcon_spi_cmd(spi, SPI_RDSR, -1, NULL, &status, sizeof(status)); + rc = falcon_spi_cmd(efx, spi, SPI_RDSR, -1, NULL, + &status, sizeof(status)); if (rc) return rc; if (!(status & unlock_mask)) return 0; /* already unlocked */ - rc = falcon_spi_cmd(spi, SPI_WREN, -1, NULL, NULL, 0); + rc = falcon_spi_cmd(efx, spi, SPI_WREN, -1, NULL, NULL, 0); if (rc) return rc; - rc = falcon_spi_cmd(spi, SPI_SST_EWSR, -1, NULL, NULL, 0); + rc = falcon_spi_cmd(efx, spi, SPI_SST_EWSR, -1, NULL, NULL, 0); if (rc) return rc; status &= ~unlock_mask; - rc = falcon_spi_cmd(spi, SPI_WRSR, -1, &status, NULL, sizeof(status)); + rc = falcon_spi_cmd(efx, spi, SPI_WRSR, -1, &status, + NULL, sizeof(status)); if (rc) return rc; - rc = falcon_spi_wait_write(spi); + rc = falcon_spi_wait_write(efx, spi); if (rc) return rc; @@ -87,6 +133,7 @@ static int efx_spi_erase(struct efx_mtd *efx_mtd, loff_t start, size_t len) { const struct efx_spi_device *spi = efx_mtd->spi; + struct efx_nic *efx = efx_mtd->efx; unsigned pos, block_len; u8 empty[EFX_SPI_VERIFY_BUF_LEN]; u8 buffer[EFX_SPI_VERIFY_BUF_LEN]; @@ -98,13 +145,14 @@ if (spi->erase_command == 0) return -EOPNOTSUPP; - rc = efx_spi_unlock(spi); + rc = efx_spi_unlock(efx, spi); if (rc) return rc; - rc = falcon_spi_cmd(spi, SPI_WREN, -1, NULL, NULL, 0); + rc = falcon_spi_cmd(efx, spi, SPI_WREN, -1, NULL, NULL, 0); if (rc) return rc; - rc = falcon_spi_cmd(spi, spi->erase_command, start, NULL, NULL, 0); + rc = falcon_spi_cmd(efx, spi, spi->erase_command, start, NULL, + NULL, 0); if (rc) return rc; rc = efx_spi_slow_wait(efx_mtd, false); @@ -113,7 +161,8 @@ memset(empty, 0xff, sizeof(empty)); for (pos = 0; pos < len; pos += block_len) { block_len = min(len - pos, sizeof(buffer)); - rc = falcon_spi_read(spi, start + pos, block_len, NULL, buffer); + rc = falcon_spi_read(efx, spi, start + pos, block_len, + NULL, buffer); if (rc) return rc; if (memcmp(empty, buffer, block_len)) @@ -130,140 +179,473 @@ /* MTD interface */ -static int efx_mtd_read(struct mtd_info *mtd, loff_t start, size_t len, - size_t *retlen, u8 *buffer) +static int efx_mtd_erase(struct mtd_info *mtd, struct erase_info *erase) +{ + struct efx_mtd *efx_mtd = mtd->priv; + int rc; + + rc = efx_mtd->ops->erase(mtd, erase->addr, erase->len); + if (rc == 0) { + erase->state = MTD_ERASE_DONE; + } else { + erase->state = MTD_ERASE_FAILED; + erase->fail_addr = 0xffffffff; + } + mtd_erase_callback(erase); + return rc; +} + +static void efx_mtd_sync(struct mtd_info *mtd) { struct efx_mtd *efx_mtd = mtd->priv; + struct efx_nic *efx = efx_mtd->efx; + int rc; + + rc = efx_mtd->ops->sync(mtd); + if (rc) + EFX_ERR(efx, "%s sync failed (%d)\n", efx_mtd->name, rc); +} + +static void efx_mtd_remove_partition(struct efx_mtd_partition *part) +{ + int rc; + + for (;;) { + rc = del_mtd_device(&part->mtd); + if (rc != -EBUSY) + break; + ssleep(1); + } + WARN_ON(rc); +} + +static void efx_mtd_remove_device(struct efx_mtd *efx_mtd) +{ + struct efx_mtd_partition *part; + + efx_for_each_partition(part, efx_mtd) + efx_mtd_remove_partition(part); + list_del(&efx_mtd->node); + kfree(efx_mtd); +} + +static void efx_mtd_rename_device(struct efx_mtd *efx_mtd) +{ + struct efx_mtd_partition *part; + + efx_for_each_partition(part, efx_mtd) + if (efx_nic_rev(efx_mtd->efx) >= EFX_REV_SIENA_A0) + snprintf(part->name, sizeof(part->name), + "%s %s:%02x", efx_mtd->efx->name, + part->type_name, part->mcdi.fw_subtype); + else + snprintf(part->name, sizeof(part->name), + "%s %s", efx_mtd->efx->name, + part->type_name); +} + +static int efx_mtd_probe_device(struct efx_nic *efx, struct efx_mtd *efx_mtd) +{ + struct efx_mtd_partition *part; + + efx_mtd->efx = efx; + + efx_mtd_rename_device(efx_mtd); + + efx_for_each_partition(part, efx_mtd) { + part->mtd.writesize = 1; + + part->mtd.owner = THIS_MODULE; + part->mtd.priv = efx_mtd; + part->mtd.name = part->name; + part->mtd.erase = efx_mtd_erase; + part->mtd.read = efx_mtd->ops->read; + part->mtd.write = efx_mtd->ops->write; + part->mtd.sync = efx_mtd_sync; + + if (add_mtd_device(&part->mtd)) + goto fail; + } + + list_add(&efx_mtd->node, &efx->mtd_list); + return 0; + +fail: + while (part != &efx_mtd->part[0]) { + --part; + efx_mtd_remove_partition(part); + } + /* add_mtd_device() returns 1 if the MTD table is full */ + return -ENOMEM; +} + +void efx_mtd_remove(struct efx_nic *efx) +{ + struct efx_mtd *efx_mtd, *next; + + WARN_ON(efx_dev_registered(efx)); + + list_for_each_entry_safe(efx_mtd, next, &efx->mtd_list, node) + efx_mtd_remove_device(efx_mtd); +} + +void efx_mtd_rename(struct efx_nic *efx) +{ + struct efx_mtd *efx_mtd; + + ASSERT_RTNL(); + + list_for_each_entry(efx_mtd, &efx->mtd_list, node) + efx_mtd_rename_device(efx_mtd); +} + +int efx_mtd_probe(struct efx_nic *efx) +{ + if (efx_nic_rev(efx) >= EFX_REV_SIENA_A0) + return siena_mtd_probe(efx); + else + return falcon_mtd_probe(efx); +} + +/* Implementation of MTD operations for Falcon */ + +static int falcon_mtd_read(struct mtd_info *mtd, loff_t start, + size_t len, size_t *retlen, u8 *buffer) +{ + struct efx_mtd_partition *part = to_efx_mtd_partition(mtd); + struct efx_mtd *efx_mtd = mtd->priv; const struct efx_spi_device *spi = efx_mtd->spi; - struct efx_nic *efx = spi->efx; + struct efx_nic *efx = efx_mtd->efx; int rc; rc = mutex_lock_interruptible(&efx->spi_lock); if (rc) return rc; - rc = falcon_spi_read(spi, FALCON_FLASH_BOOTCODE_START + start, - len, retlen, buffer); + rc = falcon_spi_read(efx, spi, part->offset + start, len, + retlen, buffer); mutex_unlock(&efx->spi_lock); return rc; } -static int efx_mtd_erase(struct mtd_info *mtd, struct erase_info *erase) +static int falcon_mtd_erase(struct mtd_info *mtd, loff_t start, size_t len) { + struct efx_mtd_partition *part = to_efx_mtd_partition(mtd); struct efx_mtd *efx_mtd = mtd->priv; - struct efx_nic *efx = efx_mtd->spi->efx; + struct efx_nic *efx = efx_mtd->efx; int rc; rc = mutex_lock_interruptible(&efx->spi_lock); if (rc) return rc; - rc = efx_spi_erase(efx_mtd, FALCON_FLASH_BOOTCODE_START + erase->addr, - erase->len); + rc = efx_spi_erase(efx_mtd, part->offset + start, len); mutex_unlock(&efx->spi_lock); - - if (rc == 0) { - erase->state = MTD_ERASE_DONE; - } else { - erase->state = MTD_ERASE_FAILED; - erase->fail_addr = 0xffffffff; - } - mtd_erase_callback(erase); return rc; } -static int efx_mtd_write(struct mtd_info *mtd, loff_t start, - size_t len, size_t *retlen, const u8 *buffer) +static int falcon_mtd_write(struct mtd_info *mtd, loff_t start, + size_t len, size_t *retlen, const u8 *buffer) { + struct efx_mtd_partition *part = to_efx_mtd_partition(mtd); struct efx_mtd *efx_mtd = mtd->priv; const struct efx_spi_device *spi = efx_mtd->spi; - struct efx_nic *efx = spi->efx; + struct efx_nic *efx = efx_mtd->efx; int rc; rc = mutex_lock_interruptible(&efx->spi_lock); if (rc) return rc; - rc = falcon_spi_write(spi, FALCON_FLASH_BOOTCODE_START + start, - len, retlen, buffer); + rc = falcon_spi_write(efx, spi, part->offset + start, len, + retlen, buffer); mutex_unlock(&efx->spi_lock); return rc; } -static void efx_mtd_sync(struct mtd_info *mtd) +static int falcon_mtd_sync(struct mtd_info *mtd) { struct efx_mtd *efx_mtd = mtd->priv; - struct efx_nic *efx = efx_mtd->spi->efx; + struct efx_nic *efx = efx_mtd->efx; int rc; mutex_lock(&efx->spi_lock); rc = efx_spi_slow_wait(efx_mtd, true); mutex_unlock(&efx->spi_lock); + return rc; +} + +static struct efx_mtd_ops falcon_mtd_ops = { + .read = falcon_mtd_read, + .erase = falcon_mtd_erase, + .write = falcon_mtd_write, + .sync = falcon_mtd_sync, +}; + +static int falcon_mtd_probe(struct efx_nic *efx) +{ + struct efx_spi_device *spi = efx->spi_flash; + struct efx_mtd *efx_mtd; + int rc; + ASSERT_RTNL(); + + if (!spi || spi->size <= FALCON_FLASH_BOOTCODE_START) + return -ENODEV; + + efx_mtd = kzalloc(sizeof(*efx_mtd) + sizeof(efx_mtd->part[0]), + GFP_KERNEL); + if (!efx_mtd) + return -ENOMEM; + + efx_mtd->spi = spi; + efx_mtd->name = "flash"; + efx_mtd->ops = &falcon_mtd_ops; + + efx_mtd->n_parts = 1; + efx_mtd->part[0].mtd.type = MTD_NORFLASH; + efx_mtd->part[0].mtd.flags = MTD_CAP_NORFLASH; + efx_mtd->part[0].mtd.size = spi->size - FALCON_FLASH_BOOTCODE_START; + efx_mtd->part[0].mtd.erasesize = spi->erase_size; + efx_mtd->part[0].offset = FALCON_FLASH_BOOTCODE_START; + efx_mtd->part[0].type_name = "sfc_flash_bootrom"; + + rc = efx_mtd_probe_device(efx, efx_mtd); if (rc) - EFX_ERR(efx, "%s sync failed (%d)\n", efx_mtd->name, rc); - return; + kfree(efx_mtd); + return rc; } -void efx_mtd_remove(struct efx_nic *efx) +/* Implementation of MTD operations for Siena */ + +static int siena_mtd_read(struct mtd_info *mtd, loff_t start, + size_t len, size_t *retlen, u8 *buffer) { - if (efx->spi_flash && efx->spi_flash->mtd) { - struct efx_mtd *efx_mtd = efx->spi_flash->mtd; - int rc; - - for (;;) { - rc = del_mtd_device(&efx_mtd->mtd); - if (rc != -EBUSY) - break; - ssleep(1); - } - WARN_ON(rc); - kfree(efx_mtd); + struct efx_mtd_partition *part = to_efx_mtd_partition(mtd); + struct efx_mtd *efx_mtd = mtd->priv; + struct efx_nic *efx = efx_mtd->efx; + loff_t offset = start; + loff_t end = min_t(loff_t, start + len, mtd->size); + size_t chunk; + int rc = 0; + + while (offset < end) { + chunk = min_t(size_t, end - offset, EFX_MCDI_NVRAM_LEN_MAX); + rc = efx_mcdi_nvram_read(efx, part->mcdi.nvram_type, offset, + buffer, chunk); + if (rc) + goto out; + offset += chunk; + buffer += chunk; } +out: + *retlen = offset - start; + return rc; } -void efx_mtd_rename(struct efx_nic *efx) +static int siena_mtd_erase(struct mtd_info *mtd, loff_t start, size_t len) { - if (efx->spi_flash && efx->spi_flash->mtd) { - struct efx_mtd *efx_mtd = efx->spi_flash->mtd; - snprintf(efx_mtd->name, sizeof(efx_mtd->name), - "%s sfc_flash_bootrom", efx->name); + struct efx_mtd_partition *part = to_efx_mtd_partition(mtd); + struct efx_mtd *efx_mtd = mtd->priv; + struct efx_nic *efx = efx_mtd->efx; + loff_t offset = start & ~((loff_t)(mtd->erasesize - 1)); + loff_t end = min_t(loff_t, start + len, mtd->size); + size_t chunk = part->mtd.erasesize; + int rc = 0; + + if (!part->mcdi.updating) { + rc = efx_mcdi_nvram_update_start(efx, part->mcdi.nvram_type); + if (rc) + goto out; + part->mcdi.updating = 1; } + + /* The MCDI interface can in fact do multiple erase blocks at once; + * but erasing may be slow, so we make multiple calls here to avoid + * tripping the MCDI RPC timeout. */ + while (offset < end) { + rc = efx_mcdi_nvram_erase(efx, part->mcdi.nvram_type, offset, + chunk); + if (rc) + goto out; + offset += chunk; + } +out: + return rc; } -int efx_mtd_probe(struct efx_nic *efx) +static int siena_mtd_write(struct mtd_info *mtd, loff_t start, + size_t len, size_t *retlen, const u8 *buffer) { - struct efx_spi_device *spi = efx->spi_flash; - struct efx_mtd *efx_mtd; + struct efx_mtd_partition *part = to_efx_mtd_partition(mtd); + struct efx_mtd *efx_mtd = mtd->priv; + struct efx_nic *efx = efx_mtd->efx; + loff_t offset = start; + loff_t end = min_t(loff_t, start + len, mtd->size); + size_t chunk; + int rc = 0; - if (!spi || spi->size <= FALCON_FLASH_BOOTCODE_START) + if (!part->mcdi.updating) { + rc = efx_mcdi_nvram_update_start(efx, part->mcdi.nvram_type); + if (rc) + goto out; + part->mcdi.updating = 1; + } + + while (offset < end) { + chunk = min_t(size_t, end - offset, EFX_MCDI_NVRAM_LEN_MAX); + rc = efx_mcdi_nvram_write(efx, part->mcdi.nvram_type, offset, + buffer, chunk); + if (rc) + goto out; + offset += chunk; + buffer += chunk; + } +out: + *retlen = offset - start; + return rc; +} + +static int siena_mtd_sync(struct mtd_info *mtd) +{ + struct efx_mtd_partition *part = to_efx_mtd_partition(mtd); + struct efx_mtd *efx_mtd = mtd->priv; + struct efx_nic *efx = efx_mtd->efx; + int rc = 0; + + if (part->mcdi.updating) { + part->mcdi.updating = 0; + rc = efx_mcdi_nvram_update_finish(efx, part->mcdi.nvram_type); + } + + return rc; +} + +static struct efx_mtd_ops siena_mtd_ops = { + .read = siena_mtd_read, + .erase = siena_mtd_erase, + .write = siena_mtd_write, + .sync = siena_mtd_sync, +}; + +struct siena_nvram_type_info { + int port; + const char *name; +}; + +static struct siena_nvram_type_info siena_nvram_types[] = { + [MC_CMD_NVRAM_TYPE_DISABLED_CALLISTO] = { 0, "sfc_dummy_phy" }, + [MC_CMD_NVRAM_TYPE_MC_FW] = { 0, "sfc_mcfw" }, + [MC_CMD_NVRAM_TYPE_MC_FW_BACKUP] = { 0, "sfc_mcfw_backup" }, + [MC_CMD_NVRAM_TYPE_STATIC_CFG_PORT0] = { 0, "sfc_static_cfg" }, + [MC_CMD_NVRAM_TYPE_STATIC_CFG_PORT1] = { 1, "sfc_static_cfg" }, + [MC_CMD_NVRAM_TYPE_DYNAMIC_CFG_PORT0] = { 0, "sfc_dynamic_cfg" }, + [MC_CMD_NVRAM_TYPE_DYNAMIC_CFG_PORT1] = { 1, "sfc_dynamic_cfg" }, + [MC_CMD_NVRAM_TYPE_EXP_ROM] = { 0, "sfc_exp_rom" }, + [MC_CMD_NVRAM_TYPE_EXP_ROM_CFG_PORT0] = { 0, "sfc_exp_rom_cfg" }, + [MC_CMD_NVRAM_TYPE_EXP_ROM_CFG_PORT1] = { 1, "sfc_exp_rom_cfg" }, + [MC_CMD_NVRAM_TYPE_PHY_PORT0] = { 0, "sfc_phy_fw" }, + [MC_CMD_NVRAM_TYPE_PHY_PORT1] = { 1, "sfc_phy_fw" }, +}; + +static int siena_mtd_probe_partition(struct efx_nic *efx, + struct efx_mtd *efx_mtd, + unsigned int part_id, + unsigned int type) +{ + struct efx_mtd_partition *part = &efx_mtd->part[part_id]; + struct siena_nvram_type_info *info; + size_t size, erase_size; + bool protected; + int rc; + + if (type >= ARRAY_SIZE(siena_nvram_types)) + return -ENODEV; + + info = &siena_nvram_types[type]; + + if (info->port != efx_port_num(efx)) return -ENODEV; - efx_mtd = kzalloc(sizeof(*efx_mtd), GFP_KERNEL); + rc = efx_mcdi_nvram_info(efx, type, &size, &erase_size, &protected); + if (rc) + return rc; + if (protected) + return -ENODEV; /* hide it */ + + part->mcdi.nvram_type = type; + part->type_name = info->name; + + part->mtd.type = MTD_NORFLASH; + part->mtd.flags = MTD_CAP_NORFLASH; + part->mtd.size = size; + part->mtd.erasesize = erase_size; + + return 0; +} + +static int siena_mtd_get_fw_subtypes(struct efx_nic *efx, + struct efx_mtd *efx_mtd) +{ + struct efx_mtd_partition *part; + uint16_t fw_subtype_list[MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_LEN / + sizeof(uint16_t)]; + int rc; + + rc = efx_mcdi_get_board_cfg(efx, NULL, fw_subtype_list); + if (rc) + return rc; + + efx_for_each_partition(part, efx_mtd) + part->mcdi.fw_subtype = fw_subtype_list[part->mcdi.nvram_type]; + + return 0; +} + +static int siena_mtd_probe(struct efx_nic *efx) +{ + struct efx_mtd *efx_mtd; + int rc = -ENODEV; + u32 nvram_types; + unsigned int type; + + ASSERT_RTNL(); + + rc = efx_mcdi_nvram_types(efx, &nvram_types); + if (rc) + return rc; + + efx_mtd = kzalloc(sizeof(*efx_mtd) + + hweight32(nvram_types) * sizeof(efx_mtd->part[0]), + GFP_KERNEL); if (!efx_mtd) return -ENOMEM; - efx_mtd->spi = spi; - spi->mtd = efx_mtd; + efx_mtd->name = "Siena NVRAM manager"; - efx_mtd->mtd.type = MTD_NORFLASH; - efx_mtd->mtd.flags = MTD_CAP_NORFLASH; - efx_mtd->mtd.size = spi->size - FALCON_FLASH_BOOTCODE_START; - efx_mtd->mtd.erasesize = spi->erase_size; - efx_mtd->mtd.writesize = 1; - efx_mtd_rename(efx); - - efx_mtd->mtd.owner = THIS_MODULE; - efx_mtd->mtd.priv = efx_mtd; - efx_mtd->mtd.name = efx_mtd->name; - efx_mtd->mtd.erase = efx_mtd_erase; - efx_mtd->mtd.read = efx_mtd_read; - efx_mtd->mtd.write = efx_mtd_write; - efx_mtd->mtd.sync = efx_mtd_sync; + efx_mtd->ops = &siena_mtd_ops; - if (add_mtd_device(&efx_mtd->mtd)) { - kfree(efx_mtd); - spi->mtd = NULL; - /* add_mtd_device() returns 1 if the MTD table is full */ - return -ENOMEM; + type = 0; + efx_mtd->n_parts = 0; + + while (nvram_types != 0) { + if (nvram_types & 1) { + rc = siena_mtd_probe_partition(efx, efx_mtd, + efx_mtd->n_parts, type); + if (rc == 0) + efx_mtd->n_parts++; + else if (rc != -ENODEV) + goto fail; + } + type++; + nvram_types >>= 1; } - return 0; + rc = siena_mtd_get_fw_subtypes(efx, efx_mtd); + if (rc) + goto fail; + + rc = efx_mtd_probe_device(efx, efx_mtd); +fail: + if (rc) + kfree(efx_mtd); + return rc; } + --- linux-2.6.32.orig/drivers/net/sfc/net_driver.h +++ linux-2.6.32/drivers/net/sfc/net_driver.h @@ -1,7 +1,7 @@ /**************************************************************************** * Driver for Solarflare Solarstorm network controllers and boards * Copyright 2005-2006 Fen Systems Ltd. - * Copyright 2005-2008 Solarflare Communications Inc. + * Copyright 2005-2009 Solarflare Communications 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 @@ -38,7 +38,7 @@ #ifndef EFX_DRIVER_NAME #define EFX_DRIVER_NAME "sfc" #endif -#define EFX_DRIVER_VERSION "2.3" +#define EFX_DRIVER_VERSION "3.0" #ifdef EFX_ENABLE_DEBUG #define EFX_BUG_ON_PARANOID(x) BUG_ON(x) @@ -113,6 +113,13 @@ int entries; }; +enum efx_flush_state { + FLUSH_NONE, + FLUSH_PENDING, + FLUSH_FAILED, + FLUSH_DONE, +}; + /** * struct efx_tx_buffer - An Efx TX buffer * @skb: The associated socket buffer. @@ -189,7 +196,7 @@ struct efx_nic *nic; struct efx_tx_buffer *buffer; struct efx_special_buffer txd; - bool flushed; + enum efx_flush_state flushed; /* Members used mainly on the completion path */ unsigned int read_count ____cacheline_aligned_in_smp; @@ -284,7 +291,7 @@ struct page *buf_page; dma_addr_t buf_dma_addr; char *buf_data; - bool flushed; + enum efx_flush_state flushed; }; /** @@ -327,7 +334,7 @@ * @used_flags: Channel is used by net driver * @enabled: Channel enabled indicator * @irq: IRQ number (MSI and MSI-X only) - * @irq_moderation: IRQ moderation value (in us) + * @irq_moderation: IRQ moderation value (in hardware ticks) * @napi_dev: Net device used with NAPI * @napi_str: NAPI control structure * @reset_work: Scheduled reset work thread @@ -343,9 +350,9 @@ * @rx_alloc_push_pages: RX allocation method currently in use for pushing * descriptors * @n_rx_tobe_disc: Count of RX_TOBE_DISC errors - * @n_rx_ip_frag_err: Count of RX IP fragment errors * @n_rx_ip_hdr_chksum_err: Count of RX IP header checksum errors * @n_rx_tcp_udp_chksum_err: Count of RX TCP and UDP checksum errors + * @n_rx_mcast_mismatch: Count of unmatched multicast frames * @n_rx_frm_trunc: Count of RX_FRM_TRUNC errors * @n_rx_overlength: Count of RX_OVERLENGTH errors * @n_skbuff_leaks: Count of skbuffs leaked due to RX overrun @@ -373,9 +380,9 @@ int rx_alloc_push_pages; unsigned n_rx_tobe_disc; - unsigned n_rx_ip_frag_err; unsigned n_rx_ip_hdr_chksum_err; unsigned n_rx_tcp_udp_chksum_err; + unsigned n_rx_mcast_mismatch; unsigned n_rx_frm_trunc; unsigned n_rx_overlength; unsigned n_skbuff_leaks; @@ -388,53 +395,29 @@ }; -/** - * struct efx_blinker - S/W LED blinking context - * @state: Current state - on or off - * @resubmit: Timer resubmission flag - * @timer: Control timer for blinking - */ -struct efx_blinker { - bool state; - bool resubmit; - struct timer_list timer; -}; - - -/** - * struct efx_board - board information - * @type: Board model type - * @major: Major rev. ('A', 'B' ...) - * @minor: Minor rev. (0, 1, ...) - * @init: Initialisation function - * @init_leds: Sets up board LEDs. May be called repeatedly. - * @set_id_led: Turns the identification LED on or off - * @blink: Starts/stops blinking - * @monitor: Board-specific health check function - * @fini: Cleanup function - * @blinker: used to blink LEDs in software - * @hwmon_client: I2C client for hardware monitor - * @ioexp_client: I2C client for power/port control - */ -struct efx_board { - int type; - int major; - int minor; - int (*init) (struct efx_nic *nic); - /* As the LEDs are typically attached to the PHY, LEDs - * have a separate init callback that happens later than - * board init. */ - void (*init_leds)(struct efx_nic *efx); - void (*set_id_led) (struct efx_nic *efx, bool state); - int (*monitor) (struct efx_nic *nic); - void (*blink) (struct efx_nic *efx, bool start); - void (*fini) (struct efx_nic *nic); - struct efx_blinker blinker; - struct i2c_client *hwmon_client, *ioexp_client; -}; - -#define STRING_TABLE_LOOKUP(val, member) \ - member ## _names[val] +enum efx_led_mode { + EFX_LED_OFF = 0, + EFX_LED_ON = 1, + EFX_LED_DEFAULT = 2 +}; + +#define STRING_TABLE_LOOKUP(val, member) \ + ((val) < member ## _max) ? member ## _names[val] : "(invalid)" + +extern const char *efx_loopback_mode_names[]; +extern const unsigned int efx_loopback_mode_max; +#define LOOPBACK_MODE(efx) \ + STRING_TABLE_LOOKUP((efx)->loopback_mode, efx_loopback_mode) + +extern const char *efx_interrupt_mode_names[]; +extern const unsigned int efx_interrupt_mode_max; +#define INT_MODE(efx) \ + STRING_TABLE_LOOKUP(efx->interrupt_mode, efx_interrupt_mode) + +extern const char *efx_reset_type_names[]; +extern const unsigned int efx_reset_type_max; +#define RESET_TYPE(type) \ + STRING_TABLE_LOOKUP(type, efx_reset_type) enum efx_int_mode { /* Be careful if altering to correct macro below */ @@ -445,20 +428,7 @@ }; #define EFX_INT_MODE_USE_MSI(x) (((x)->interrupt_mode) <= EFX_INT_MODE_MSI) -enum phy_type { - PHY_TYPE_NONE = 0, - PHY_TYPE_TXC43128 = 1, - PHY_TYPE_88E1111 = 2, - PHY_TYPE_SFX7101 = 3, - PHY_TYPE_QT2022C2 = 4, - PHY_TYPE_PM8358 = 6, - PHY_TYPE_SFT9001A = 8, - PHY_TYPE_QT2025C = 9, - PHY_TYPE_SFT9001B = 10, - PHY_TYPE_MAX /* Insert any new items before this */ -}; - -#define EFX_IS10G(efx) ((efx)->link_speed == 10000) +#define EFX_IS10G(efx) ((efx)->link_state.speed == 10000) enum nic_state { STATE_INIT = 0, @@ -500,73 +470,70 @@ EFX_FC_AUTO = 4, }; -/* Supported MAC bit-mask */ -enum efx_mac_type { - EFX_GMAC = 1, - EFX_XMAC = 2, +/** + * struct efx_link_state - Current state of the link + * @up: Link is up + * @fd: Link is full-duplex + * @fc: Actual flow control flags + * @speed: Link speed (Mbps) + */ +struct efx_link_state { + bool up; + bool fd; + enum efx_fc_type fc; + unsigned int speed; }; -static inline enum efx_fc_type efx_fc_resolve(enum efx_fc_type wanted_fc, - unsigned int lpa) +static inline bool efx_link_state_equal(const struct efx_link_state *left, + const struct efx_link_state *right) { - BUILD_BUG_ON(EFX_FC_AUTO & (EFX_FC_RX | EFX_FC_TX)); - - if (!(wanted_fc & EFX_FC_AUTO)) - return wanted_fc; - - return mii_resolve_flowctrl_fdx(mii_advertise_flowctrl(wanted_fc), lpa); + return left->up == right->up && left->fd == right->fd && + left->fc == right->fc && left->speed == right->speed; } /** * struct efx_mac_operations - Efx MAC operations table * @reconfigure: Reconfigure MAC. Serialised by the mac_lock * @update_stats: Update statistics - * @irq: Hardware MAC event callback. Serialised by the mac_lock - * @poll: Poll for hardware state. Serialised by the mac_lock + * @check_fault: Check fault state. True if fault present. */ struct efx_mac_operations { - void (*reconfigure) (struct efx_nic *efx); + int (*reconfigure) (struct efx_nic *efx); void (*update_stats) (struct efx_nic *efx); - void (*irq) (struct efx_nic *efx); - void (*poll) (struct efx_nic *efx); + bool (*check_fault)(struct efx_nic *efx); }; /** * struct efx_phy_operations - Efx PHY operations table + * @probe: Probe PHY and initialise efx->mdio.mode_support, efx->mdio.mmds, + * efx->loopback_modes. * @init: Initialise PHY * @fini: Shut down PHY * @reconfigure: Reconfigure PHY (e.g. for new link parameters) - * @clear_interrupt: Clear down interrupt - * @blink: Blink LEDs - * @poll: Poll for hardware state. Serialised by the mac_lock. + * @poll: Update @link_state and report whether it changed. + * Serialised by the mac_lock. * @get_settings: Get ethtool settings. Serialised by the mac_lock. * @set_settings: Set ethtool settings. Serialised by the mac_lock. * @set_npage_adv: Set abilities advertised in (Extended) Next Page * (only needed where AN bit is set in mmds) - * @num_tests: Number of PHY-specific tests/results - * @test_names: Names of the tests/results + * @test_name: Get the name of a PHY-specific test/result * @run_tests: Run tests and record results as appropriate. * Flags are the ethtool tests flags. - * @mmds: MMD presence mask - * @loopbacks: Supported loopback modes mask */ struct efx_phy_operations { - enum efx_mac_type macs; + int (*probe) (struct efx_nic *efx); int (*init) (struct efx_nic *efx); void (*fini) (struct efx_nic *efx); - void (*reconfigure) (struct efx_nic *efx); - void (*clear_interrupt) (struct efx_nic *efx); - void (*poll) (struct efx_nic *efx); + void (*remove) (struct efx_nic *efx); + int (*reconfigure) (struct efx_nic *efx); + bool (*poll) (struct efx_nic *efx); void (*get_settings) (struct efx_nic *efx, struct ethtool_cmd *ecmd); int (*set_settings) (struct efx_nic *efx, struct ethtool_cmd *ecmd); void (*set_npage_adv) (struct efx_nic *efx, u32); - u32 num_tests; - const char *const *test_names; + const char *(*test_name) (struct efx_nic *efx, unsigned int index); int (*run_tests) (struct efx_nic *efx, int *results, unsigned flags); - int mmds; - unsigned loopbacks; }; /** @@ -690,36 +657,38 @@ * @interrupt_mode: Interrupt mode * @irq_rx_adaptive: Adaptive IRQ moderation enabled for RX event queues * @irq_rx_moderation: IRQ moderation time for RX event queues - * @i2c_adap: I2C adapter - * @board_info: Board-level information * @state: Device state flag. Serialised by the rtnl_lock. * @reset_pending: Pending reset method (normally RESET_TYPE_NONE) * @tx_queue: TX DMA queues * @rx_queue: RX DMA queues * @channel: Channels + * @next_buffer_table: First available buffer table id * @n_rx_queues: Number of RX queues * @n_channels: Number of channels in use * @rx_buffer_len: RX buffer length * @rx_buffer_order: Order (log2) of number of pages for each RX buffer + * @int_error_count: Number of internal errors seen recently + * @int_error_expire: Time at which error count will be expired * @irq_status: Interrupt status buffer * @last_irq_cpu: Last CPU to handle interrupt. * This register is written with the SMP processor ID whenever an * interrupt is handled. It is used by falcon_test_interrupt() * to verify that an interrupt has occurred. * @spi_flash: SPI flash device - * This field will be %NULL if no flash device is present. + * This field will be %NULL if no flash device is present (or for Siena). * @spi_eeprom: SPI EEPROM device - * This field will be %NULL if no EEPROM device is present. + * This field will be %NULL if no EEPROM device is present (or for Siena). * @spi_lock: SPI bus lock + * @mtd_list: List of MTDs attached to the NIC * @n_rx_nodesc_drop_cnt: RX no descriptor drop count * @nic_data: Hardware dependant state * @mac_lock: MAC access lock. Protects @port_enabled, @phy_mode, * @port_inhibited, efx_monitor() and efx_reconfigure_port() * @port_enabled: Port enabled indicator. - * Serialises efx_stop_all(), efx_start_all(), efx_monitor(), - * efx_phy_work(), and efx_mac_work() with kernel interfaces. Safe to read - * under any one of the rtnl_lock, mac_lock, or netif_tx_lock, but all - * three must be held to modify it. + * Serialises efx_stop_all(), efx_start_all(), efx_monitor() and + * efx_mac_work() with kernel interfaces. Safe to read under any + * one of the rtnl_lock, mac_lock, or netif_tx_lock, but all three must + * be held to modify it. * @port_inhibited: If set, the netif_carrier is always off. Hold the mac_lock * @port_initialized: Port initialized? * @net_dev: Operating system network device. Consider holding the rtnl lock @@ -731,26 +700,23 @@ * &struct net_device_stats. * @stats_buffer: DMA buffer for statistics * @stats_lock: Statistics update lock. Serialises statistics fetches - * @stats_disable_count: Nest count for disabling statistics fetches * @mac_op: MAC interface * @mac_address: Permanent MAC address * @phy_type: PHY type - * @phy_lock: PHY access lock + * @mdio_lock: MDIO lock * @phy_op: PHY interface * @phy_data: PHY private data (including PHY-specific stats) * @mdio: PHY MDIO interface + * @mdio_bus: PHY MDIO bus ID (only used by Siena) * @phy_mode: PHY operating mode. Serialised by @mac_lock. - * @mac_up: MAC link state - * @link_up: Link status - * @link_fd: Link is full duplex - * @link_fc: Actualy flow control flags - * @link_speed: Link speed (Mbps) + * @xmac_poll_required: XMAC link state needs polling + * @link_advertising: Autonegotiation advertising flags + * @link_state: Current state of the link * @n_link_state_changes: Number of times the link has changed state * @promiscuous: Promiscuous flag. Protected by netif_tx_lock. * @multicast_hash: Multicast hash table * @wanted_fc: Wanted flow control flags - * @phy_work: work item for dealing with PHY events - * @mac_work: work item for dealing with MAC events + * @mac_work: Work item for changing MAC promiscuity and multicast hash * @loopback_mode: Loopback status * @loopback_modes: Supported loopback mode bitmask * @loopback_selftest: Offline self-test private state @@ -774,9 +740,6 @@ bool irq_rx_adaptive; unsigned int irq_rx_moderation; - struct i2c_adapter i2c_adap; - struct efx_board board_info; - enum nic_state state; enum reset_type reset_pending; @@ -784,21 +747,29 @@ struct efx_rx_queue rx_queue[EFX_MAX_RX_QUEUES]; struct efx_channel channel[EFX_MAX_CHANNELS]; + unsigned next_buffer_table; int n_rx_queues; int n_channels; unsigned int rx_buffer_len; unsigned int rx_buffer_order; + unsigned int_error_count; + unsigned long int_error_expire; + struct efx_buffer irq_status; volatile signed int last_irq_cpu; + unsigned long irq_zero_count; struct efx_spi_device *spi_flash; struct efx_spi_device *spi_eeprom; struct mutex spi_lock; +#ifdef CONFIG_SFC_MTD + struct list_head mtd_list; +#endif unsigned n_rx_nodesc_drop_cnt; - struct falcon_nic_data *nic_data; + void *nic_data; struct mutex mac_lock; struct work_struct mac_work; @@ -815,24 +786,21 @@ struct efx_mac_stats mac_stats; struct efx_buffer stats_buffer; spinlock_t stats_lock; - unsigned int stats_disable_count; struct efx_mac_operations *mac_op; unsigned char mac_address[ETH_ALEN]; - enum phy_type phy_type; - spinlock_t phy_lock; - struct work_struct phy_work; + unsigned int phy_type; + struct mutex mdio_lock; struct efx_phy_operations *phy_op; void *phy_data; struct mdio_if_info mdio; + unsigned int mdio_bus; enum efx_phy_mode phy_mode; - bool mac_up; - bool link_up; - bool link_fd; - enum efx_fc_type link_fc; - unsigned int link_speed; + bool xmac_poll_required; + u32 link_advertising; + struct efx_link_state link_state; unsigned int n_link_state_changes; bool promiscuous; @@ -841,7 +809,7 @@ atomic_t rx_reset; enum efx_loopback_mode loopback_mode; - unsigned int loopback_modes; + u64 loopback_modes; void *loopback_selftest; }; @@ -860,50 +828,95 @@ return efx_dev_registered(efx) ? efx->name : ""; } +static inline unsigned int efx_port_num(struct efx_nic *efx) +{ + return PCI_FUNC(efx->pci_dev->devfn); +} + /** * struct efx_nic_type - Efx device type definition - * @mem_bar: Memory BAR number + * @probe: Probe the controller + * @remove: Free resources allocated by probe() + * @init: Initialise the controller + * @fini: Shut down the controller + * @monitor: Periodic function for polling link state and hardware monitor + * @reset: Reset the controller hardware and possibly the PHY. This will + * be called while the controller is uninitialised. + * @probe_port: Probe the MAC and PHY + * @remove_port: Free resources allocated by probe_port() + * @prepare_flush: Prepare the hardware for 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 + * @set_id_led: Set state of identifying LED or revert to automatic function + * @push_irq_moderation: Apply interrupt moderation value + * @push_multicast_hash: Apply multicast hash table + * @reconfigure_port: Push loopback/power/txdis changes to the MAC and PHY + * @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_nvram: Test validity of NVRAM contents + * @default_mac_ops: efx_mac_operations to set at startup + * @revision: Hardware architecture revision * @mem_map_size: Memory BAR mapped size * @txd_ptr_tbl_base: TX descriptor ring base address * @rxd_ptr_tbl_base: RX descriptor ring base address * @buf_tbl_base: Buffer table base address * @evq_ptr_tbl_base: Event queue pointer table base address * @evq_rptr_tbl_base: Event queue read-pointer table base address - * @txd_ring_mask: TX descriptor ring size - 1 (must be a power of two - 1) - * @rxd_ring_mask: RX descriptor ring size - 1 (must be a power of two - 1) - * @evq_size: Event queue size (must be a power of two) * @max_dma_mask: Maximum possible DMA mask - * @tx_dma_mask: TX DMA mask - * @bug5391_mask: Address mask for bug 5391 workaround - * @rx_xoff_thresh: RX FIFO XOFF watermark (bytes) - * @rx_xon_thresh: RX FIFO XON watermark (bytes) * @rx_buffer_padding: Padding added to each RX buffer * @max_interrupt_mode: Highest capability interrupt mode supported * from &enum efx_init_mode. * @phys_addr_channels: Number of channels with physically addressed * descriptors + * @tx_dc_base: Base address in SRAM of TX queue descriptor caches + * @rx_dc_base: Base address in SRAM of RX queue descriptor caches + * @offload_features: net_device feature flags for protocol offload + * features implemented in hardware + * @reset_world_flags: Flags for additional components covered by + * reset method RESET_TYPE_WORLD */ struct efx_nic_type { - unsigned int mem_bar; + int (*probe)(struct efx_nic *efx); + void (*remove)(struct efx_nic *efx); + int (*init)(struct efx_nic *efx); + void (*fini)(struct efx_nic *efx); + void (*monitor)(struct efx_nic *efx); + int (*reset)(struct efx_nic *efx, enum reset_type method); + int (*probe_port)(struct efx_nic *efx); + void (*remove_port)(struct efx_nic *efx); + void (*prepare_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); + void (*set_id_led)(struct efx_nic *efx, enum efx_led_mode mode); + void (*push_irq_moderation)(struct efx_channel *channel); + void (*push_multicast_hash)(struct efx_nic *efx); + int (*reconfigure_port)(struct efx_nic *efx); + 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_nvram)(struct efx_nic *efx); + struct efx_mac_operations *default_mac_ops; + + int revision; unsigned int mem_map_size; unsigned int txd_ptr_tbl_base; unsigned int rxd_ptr_tbl_base; unsigned int buf_tbl_base; unsigned int evq_ptr_tbl_base; unsigned int evq_rptr_tbl_base; - - unsigned int txd_ring_mask; - unsigned int rxd_ring_mask; - unsigned int evq_size; u64 max_dma_mask; - unsigned int tx_dma_mask; - unsigned bug5391_mask; - - int rx_xoff_thresh; - int rx_xon_thresh; unsigned int rx_buffer_padding; unsigned int max_interrupt_mode; unsigned int phys_addr_channels; + unsigned int tx_dc_base; + unsigned int rx_dc_base; + unsigned long offload_features; + u32 reset_world_flags; }; /************************************************************************** --- linux-2.6.32.orig/drivers/net/sfc/nic.c +++ linux-2.6.32/drivers/net/sfc/nic.c @@ -0,0 +1,1585 @@ +/**************************************************************************** + * Driver for Solarflare Solarstorm network controllers and boards + * Copyright 2005-2006 Fen Systems Ltd. + * Copyright 2006-2009 Solarflare Communications 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, incorporated herein by reference. + */ + +#include +#include +#include +#include +#include +#include "net_driver.h" +#include "bitfield.h" +#include "efx.h" +#include "nic.h" +#include "regs.h" +#include "io.h" +#include "workarounds.h" + +/************************************************************************** + * + * Configurable values + * + ************************************************************************** + */ + +/* This is set to 16 for a good reason. In summary, if larger than + * 16, the descriptor cache holds more than a default socket + * buffer's worth of packets (for UDP we can only have at most one + * socket buffer's worth outstanding). This combined with the fact + * that we only get 1 TX event per descriptor cache means the NIC + * goes idle. + */ +#define TX_DC_ENTRIES 16 +#define TX_DC_ENTRIES_ORDER 1 + +#define RX_DC_ENTRIES 64 +#define RX_DC_ENTRIES_ORDER 3 + +/* RX FIFO XOFF watermark + * + * When the amount of the RX FIFO increases used increases past this + * watermark send XOFF. Only used if RX flow control is enabled (ethtool -A) + * This also has an effect on RX/TX arbitration + */ +int efx_nic_rx_xoff_thresh = -1; +module_param_named(rx_xoff_thresh_bytes, efx_nic_rx_xoff_thresh, int, 0644); +MODULE_PARM_DESC(rx_xoff_thresh_bytes, "RX fifo XOFF threshold"); + +/* RX FIFO XON watermark + * + * When the amount of the RX FIFO used decreases below this + * watermark send XON. Only used if TX flow control is enabled (ethtool -A) + * This also has an effect on RX/TX arbitration + */ +int efx_nic_rx_xon_thresh = -1; +module_param_named(rx_xon_thresh_bytes, efx_nic_rx_xon_thresh, int, 0644); +MODULE_PARM_DESC(rx_xon_thresh_bytes, "RX fifo XON threshold"); + +/* If EFX_MAX_INT_ERRORS internal errors occur within + * EFX_INT_ERROR_EXPIRE seconds, we consider the NIC broken and + * disable it. + */ +#define EFX_INT_ERROR_EXPIRE 3600 +#define EFX_MAX_INT_ERRORS 5 + +/* We poll for events every FLUSH_INTERVAL ms, and check FLUSH_POLL_COUNT times + */ +#define EFX_FLUSH_INTERVAL 10 +#define EFX_FLUSH_POLL_COUNT 100 + +/* Size and alignment of special buffers (4KB) */ +#define EFX_BUF_SIZE 4096 + +/* Depth of RX flush request fifo */ +#define EFX_RX_FLUSH_COUNT 4 + +/************************************************************************** + * + * Solarstorm hardware access + * + **************************************************************************/ + +static inline void efx_write_buf_tbl(struct efx_nic *efx, efx_qword_t *value, + unsigned int index) +{ + efx_sram_writeq(efx, efx->membase + efx->type->buf_tbl_base, + value, index); +} + +/* Read the current event from the event queue */ +static inline efx_qword_t *efx_event(struct efx_channel *channel, + unsigned int index) +{ + return (((efx_qword_t *) (channel->eventq.addr)) + index); +} + +/* See if an event is present + * + * We check both the high and low dword of the event for all ones. We + * wrote all ones when we cleared the event, and no valid event can + * have all ones in either its high or low dwords. This approach is + * robust against reordering. + * + * Note that using a single 64-bit comparison is incorrect; even + * though the CPU read will be atomic, the DMA write may not be. + */ +static inline int efx_event_present(efx_qword_t *event) +{ + return (!(EFX_DWORD_IS_ALL_ONES(event->dword[0]) | + EFX_DWORD_IS_ALL_ONES(event->dword[1]))); +} + +static bool efx_masked_compare_oword(const efx_oword_t *a, const efx_oword_t *b, + const efx_oword_t *mask) +{ + return ((a->u64[0] ^ b->u64[0]) & mask->u64[0]) || + ((a->u64[1] ^ b->u64[1]) & mask->u64[1]); +} + +int efx_nic_test_registers(struct efx_nic *efx, + const struct efx_nic_register_test *regs, + size_t n_regs) +{ + 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; + EFX_INVERT_OWORD(imask); + + efx_reado(efx, &original, address); + + /* bit sweep on and off */ + for (j = 0; j < 128; j++) { + if (!EFX_EXTRACT_OWORD32(mask, j, j)) + continue; + + /* Test this testable bit can be set in isolation */ + EFX_AND_OWORD(reg, original, mask); + EFX_SET_OWORD32(reg, j, j, 1); + + efx_writeo(efx, ®, address); + efx_reado(efx, &buf, address); + + if (efx_masked_compare_oword(®, &buf, &mask)) + goto fail; + + /* Test this testable bit can be cleared in isolation */ + EFX_OR_OWORD(reg, original, mask); + EFX_SET_OWORD32(reg, j, j, 0); + + efx_writeo(efx, ®, address); + efx_reado(efx, &buf, address); + + if (efx_masked_compare_oword(®, &buf, &mask)) + goto fail; + } + + efx_writeo(efx, &original, address); + } + + return 0; + +fail: + EFX_ERR(efx, "wrote "EFX_OWORD_FMT" read "EFX_OWORD_FMT + " at address 0x%x mask "EFX_OWORD_FMT"\n", EFX_OWORD_VAL(reg), + EFX_OWORD_VAL(buf), address, EFX_OWORD_VAL(mask)); + return -EIO; +} + +/************************************************************************** + * + * Special buffer handling + * Special buffers are used for event queues and the TX and RX + * descriptor rings. + * + *************************************************************************/ + +/* + * Initialise a special buffer + * + * This will define a buffer (previously allocated via + * efx_alloc_special_buffer()) in the buffer table, allowing + * it to be used for event queues, descriptor rings etc. + */ +static void +efx_init_special_buffer(struct efx_nic *efx, struct efx_special_buffer *buffer) +{ + efx_qword_t buf_desc; + int index; + dma_addr_t dma_addr; + int i; + + EFX_BUG_ON_PARANOID(!buffer->addr); + + /* Write buffer descriptors to NIC */ + for (i = 0; i < buffer->entries; i++) { + index = buffer->index + i; + dma_addr = buffer->dma_addr + (i * 4096); + EFX_LOG(efx, "mapping special buffer %d at %llx\n", + index, (unsigned long long)dma_addr); + EFX_POPULATE_QWORD_3(buf_desc, + FRF_AZ_BUF_ADR_REGION, 0, + FRF_AZ_BUF_ADR_FBUF, dma_addr >> 12, + FRF_AZ_BUF_OWNER_ID_FBUF, 0); + efx_write_buf_tbl(efx, &buf_desc, index); + } +} + +/* Unmaps a buffer and clears the buffer table entries */ +static void +efx_fini_special_buffer(struct efx_nic *efx, struct efx_special_buffer *buffer) +{ + efx_oword_t buf_tbl_upd; + unsigned int start = buffer->index; + unsigned int end = (buffer->index + buffer->entries - 1); + + if (!buffer->entries) + return; + + EFX_LOG(efx, "unmapping special buffers %d-%d\n", + buffer->index, buffer->index + buffer->entries - 1); + + EFX_POPULATE_OWORD_4(buf_tbl_upd, + FRF_AZ_BUF_UPD_CMD, 0, + FRF_AZ_BUF_CLR_CMD, 1, + FRF_AZ_BUF_CLR_END_ID, end, + FRF_AZ_BUF_CLR_START_ID, start); + efx_writeo(efx, &buf_tbl_upd, FR_AZ_BUF_TBL_UPD); +} + +/* + * Allocate a new special buffer + * + * This allocates memory for a new buffer, clears it and allocates a + * new buffer ID range. It does not write into the buffer table. + * + * This call will allocate 4KB buffers, since 8KB buffers can't be + * used for event queues and descriptor rings. + */ +static int efx_alloc_special_buffer(struct efx_nic *efx, + struct efx_special_buffer *buffer, + unsigned int len) +{ + len = ALIGN(len, EFX_BUF_SIZE); + + buffer->addr = pci_alloc_consistent(efx->pci_dev, len, + &buffer->dma_addr); + if (!buffer->addr) + return -ENOMEM; + buffer->len = len; + buffer->entries = len / EFX_BUF_SIZE; + BUG_ON(buffer->dma_addr & (EFX_BUF_SIZE - 1)); + + /* All zeros is a potentially valid event so memset to 0xff */ + memset(buffer->addr, 0xff, len); + + /* Select new buffer ID */ + buffer->index = efx->next_buffer_table; + efx->next_buffer_table += buffer->entries; + + EFX_LOG(efx, "allocating special buffers %d-%d at %llx+%x " + "(virt %p phys %llx)\n", buffer->index, + buffer->index + buffer->entries - 1, + (u64)buffer->dma_addr, len, + buffer->addr, (u64)virt_to_phys(buffer->addr)); + + return 0; +} + +static void +efx_free_special_buffer(struct efx_nic *efx, struct efx_special_buffer *buffer) +{ + if (!buffer->addr) + return; + + EFX_LOG(efx, "deallocating special buffers %d-%d at %llx+%x " + "(virt %p phys %llx)\n", buffer->index, + buffer->index + buffer->entries - 1, + (u64)buffer->dma_addr, buffer->len, + buffer->addr, (u64)virt_to_phys(buffer->addr)); + + pci_free_consistent(efx->pci_dev, buffer->len, buffer->addr, + buffer->dma_addr); + buffer->addr = NULL; + buffer->entries = 0; +} + +/************************************************************************** + * + * Generic buffer handling + * These buffers are used for interrupt status and MAC stats + * + **************************************************************************/ + +int efx_nic_alloc_buffer(struct efx_nic *efx, struct efx_buffer *buffer, + unsigned int len) +{ + buffer->addr = pci_alloc_consistent(efx->pci_dev, len, + &buffer->dma_addr); + if (!buffer->addr) + return -ENOMEM; + buffer->len = len; + memset(buffer->addr, 0, len); + return 0; +} + +void efx_nic_free_buffer(struct efx_nic *efx, struct efx_buffer *buffer) +{ + if (buffer->addr) { + pci_free_consistent(efx->pci_dev, buffer->len, + buffer->addr, buffer->dma_addr); + buffer->addr = NULL; + } +} + +/************************************************************************** + * + * TX path + * + **************************************************************************/ + +/* Returns a pointer to the specified transmit descriptor in the TX + * descriptor queue belonging to the specified channel. + */ +static inline efx_qword_t * +efx_tx_desc(struct efx_tx_queue *tx_queue, unsigned int index) +{ + return (((efx_qword_t *) (tx_queue->txd.addr)) + index); +} + +/* This writes to the TX_DESC_WPTR; write pointer for TX descriptor ring */ +static inline void efx_notify_tx_desc(struct efx_tx_queue *tx_queue) +{ + unsigned write_ptr; + efx_dword_t reg; + + write_ptr = tx_queue->write_count & EFX_TXQ_MASK; + EFX_POPULATE_DWORD_1(reg, FRF_AZ_TX_DESC_WPTR_DWORD, write_ptr); + efx_writed_page(tx_queue->efx, ®, + FR_AZ_TX_DESC_UPD_DWORD_P0, tx_queue->queue); +} + + +/* For each entry inserted into the software descriptor ring, create a + * descriptor in the hardware TX descriptor ring (in host memory), and + * write a doorbell. + */ +void efx_nic_push_buffers(struct efx_tx_queue *tx_queue) +{ + + struct efx_tx_buffer *buffer; + efx_qword_t *txd; + unsigned write_ptr; + + BUG_ON(tx_queue->write_count == tx_queue->insert_count); + + do { + write_ptr = tx_queue->write_count & EFX_TXQ_MASK; + buffer = &tx_queue->buffer[write_ptr]; + txd = efx_tx_desc(tx_queue, write_ptr); + ++tx_queue->write_count; + + /* Create TX descriptor ring entry */ + EFX_POPULATE_QWORD_4(*txd, + FSF_AZ_TX_KER_CONT, buffer->continuation, + FSF_AZ_TX_KER_BYTE_COUNT, buffer->len, + FSF_AZ_TX_KER_BUF_REGION, 0, + FSF_AZ_TX_KER_BUF_ADDR, buffer->dma_addr); + } while (tx_queue->write_count != tx_queue->insert_count); + + wmb(); /* Ensure descriptors are written before they are fetched */ + efx_notify_tx_desc(tx_queue); +} + +/* Allocate hardware resources for a TX queue */ +int efx_nic_probe_tx(struct efx_tx_queue *tx_queue) +{ + struct efx_nic *efx = tx_queue->efx; + BUILD_BUG_ON(EFX_TXQ_SIZE < 512 || EFX_TXQ_SIZE > 4096 || + EFX_TXQ_SIZE & EFX_TXQ_MASK); + return efx_alloc_special_buffer(efx, &tx_queue->txd, + EFX_TXQ_SIZE * sizeof(efx_qword_t)); +} + +void efx_nic_init_tx(struct efx_tx_queue *tx_queue) +{ + efx_oword_t tx_desc_ptr; + struct efx_nic *efx = tx_queue->efx; + + tx_queue->flushed = FLUSH_NONE; + + /* Pin TX descriptor ring */ + efx_init_special_buffer(efx, &tx_queue->txd); + + /* Push TX descriptor ring to card */ + EFX_POPULATE_OWORD_10(tx_desc_ptr, + FRF_AZ_TX_DESCQ_EN, 1, + FRF_AZ_TX_ISCSI_DDIG_EN, 0, + FRF_AZ_TX_ISCSI_HDIG_EN, 0, + FRF_AZ_TX_DESCQ_BUF_BASE_ID, tx_queue->txd.index, + FRF_AZ_TX_DESCQ_EVQ_ID, + tx_queue->channel->channel, + FRF_AZ_TX_DESCQ_OWNER_ID, 0, + FRF_AZ_TX_DESCQ_LABEL, tx_queue->queue, + FRF_AZ_TX_DESCQ_SIZE, + __ffs(tx_queue->txd.entries), + FRF_AZ_TX_DESCQ_TYPE, 0, + FRF_BZ_TX_NON_IP_DROP_DIS, 1); + + if (efx_nic_rev(efx) >= EFX_REV_FALCON_B0) { + int csum = tx_queue->queue == EFX_TX_QUEUE_OFFLOAD_CSUM; + EFX_SET_OWORD_FIELD(tx_desc_ptr, FRF_BZ_TX_IP_CHKSM_DIS, !csum); + EFX_SET_OWORD_FIELD(tx_desc_ptr, FRF_BZ_TX_TCP_CHKSM_DIS, + !csum); + } + + efx_writeo_table(efx, &tx_desc_ptr, efx->type->txd_ptr_tbl_base, + tx_queue->queue); + + if (efx_nic_rev(efx) < EFX_REV_FALCON_B0) { + efx_oword_t reg; + + /* Only 128 bits in this register */ + BUILD_BUG_ON(EFX_TX_QUEUE_COUNT >= 128); + + efx_reado(efx, ®, FR_AA_TX_CHKSM_CFG); + if (tx_queue->queue == EFX_TX_QUEUE_OFFLOAD_CSUM) + clear_bit_le(tx_queue->queue, (void *)®); + else + set_bit_le(tx_queue->queue, (void *)®); + efx_writeo(efx, ®, FR_AA_TX_CHKSM_CFG); + } +} + +static void efx_flush_tx_queue(struct efx_tx_queue *tx_queue) +{ + struct efx_nic *efx = tx_queue->efx; + efx_oword_t tx_flush_descq; + + tx_queue->flushed = FLUSH_PENDING; + + /* Post a flush command */ + EFX_POPULATE_OWORD_2(tx_flush_descq, + FRF_AZ_TX_FLUSH_DESCQ_CMD, 1, + FRF_AZ_TX_FLUSH_DESCQ, tx_queue->queue); + efx_writeo(efx, &tx_flush_descq, FR_AZ_TX_FLUSH_DESCQ); +} + +void efx_nic_fini_tx(struct efx_tx_queue *tx_queue) +{ + struct efx_nic *efx = tx_queue->efx; + efx_oword_t tx_desc_ptr; + + /* The queue should have been flushed */ + WARN_ON(tx_queue->flushed != FLUSH_DONE); + + /* Remove TX descriptor ring from card */ + EFX_ZERO_OWORD(tx_desc_ptr); + efx_writeo_table(efx, &tx_desc_ptr, efx->type->txd_ptr_tbl_base, + tx_queue->queue); + + /* Unpin TX descriptor ring */ + efx_fini_special_buffer(efx, &tx_queue->txd); +} + +/* Free buffers backing TX queue */ +void efx_nic_remove_tx(struct efx_tx_queue *tx_queue) +{ + efx_free_special_buffer(tx_queue->efx, &tx_queue->txd); +} + +/************************************************************************** + * + * RX path + * + **************************************************************************/ + +/* Returns a pointer to the specified descriptor in the RX descriptor queue */ +static inline efx_qword_t * +efx_rx_desc(struct efx_rx_queue *rx_queue, unsigned int index) +{ + return (((efx_qword_t *) (rx_queue->rxd.addr)) + index); +} + +/* This creates an entry in the RX descriptor queue */ +static inline void +efx_build_rx_desc(struct efx_rx_queue *rx_queue, unsigned index) +{ + struct efx_rx_buffer *rx_buf; + efx_qword_t *rxd; + + rxd = efx_rx_desc(rx_queue, index); + rx_buf = efx_rx_buffer(rx_queue, index); + EFX_POPULATE_QWORD_3(*rxd, + FSF_AZ_RX_KER_BUF_SIZE, + rx_buf->len - + rx_queue->efx->type->rx_buffer_padding, + FSF_AZ_RX_KER_BUF_REGION, 0, + FSF_AZ_RX_KER_BUF_ADDR, rx_buf->dma_addr); +} + +/* This writes to the RX_DESC_WPTR register for the specified receive + * descriptor ring. + */ +void efx_nic_notify_rx_desc(struct efx_rx_queue *rx_queue) +{ + efx_dword_t reg; + unsigned write_ptr; + + while (rx_queue->notified_count != rx_queue->added_count) { + efx_build_rx_desc(rx_queue, + rx_queue->notified_count & + EFX_RXQ_MASK); + ++rx_queue->notified_count; + } + + wmb(); + write_ptr = rx_queue->added_count & EFX_RXQ_MASK; + EFX_POPULATE_DWORD_1(reg, FRF_AZ_RX_DESC_WPTR_DWORD, write_ptr); + efx_writed_page(rx_queue->efx, ®, + FR_AZ_RX_DESC_UPD_DWORD_P0, rx_queue->queue); +} + +int efx_nic_probe_rx(struct efx_rx_queue *rx_queue) +{ + struct efx_nic *efx = rx_queue->efx; + BUILD_BUG_ON(EFX_RXQ_SIZE < 512 || EFX_RXQ_SIZE > 4096 || + EFX_RXQ_SIZE & EFX_RXQ_MASK); + return efx_alloc_special_buffer(efx, &rx_queue->rxd, + EFX_RXQ_SIZE * sizeof(efx_qword_t)); +} + +void efx_nic_init_rx(struct efx_rx_queue *rx_queue) +{ + efx_oword_t rx_desc_ptr; + struct efx_nic *efx = rx_queue->efx; + bool is_b0 = efx_nic_rev(efx) >= EFX_REV_FALCON_B0; + bool iscsi_digest_en = is_b0; + + EFX_LOG(efx, "RX queue %d ring in special buffers %d-%d\n", + rx_queue->queue, rx_queue->rxd.index, + rx_queue->rxd.index + rx_queue->rxd.entries - 1); + + rx_queue->flushed = FLUSH_NONE; + + /* Pin RX descriptor ring */ + efx_init_special_buffer(efx, &rx_queue->rxd); + + /* Push RX descriptor ring to card */ + EFX_POPULATE_OWORD_10(rx_desc_ptr, + FRF_AZ_RX_ISCSI_DDIG_EN, iscsi_digest_en, + FRF_AZ_RX_ISCSI_HDIG_EN, iscsi_digest_en, + FRF_AZ_RX_DESCQ_BUF_BASE_ID, rx_queue->rxd.index, + FRF_AZ_RX_DESCQ_EVQ_ID, + rx_queue->channel->channel, + FRF_AZ_RX_DESCQ_OWNER_ID, 0, + FRF_AZ_RX_DESCQ_LABEL, rx_queue->queue, + FRF_AZ_RX_DESCQ_SIZE, + __ffs(rx_queue->rxd.entries), + FRF_AZ_RX_DESCQ_TYPE, 0 /* kernel queue */ , + /* For >=B0 this is scatter so disable */ + FRF_AZ_RX_DESCQ_JUMBO, !is_b0, + FRF_AZ_RX_DESCQ_EN, 1); + efx_writeo_table(efx, &rx_desc_ptr, efx->type->rxd_ptr_tbl_base, + rx_queue->queue); +} + +static void efx_flush_rx_queue(struct efx_rx_queue *rx_queue) +{ + struct efx_nic *efx = rx_queue->efx; + efx_oword_t rx_flush_descq; + + rx_queue->flushed = FLUSH_PENDING; + + /* Post a flush command */ + EFX_POPULATE_OWORD_2(rx_flush_descq, + FRF_AZ_RX_FLUSH_DESCQ_CMD, 1, + FRF_AZ_RX_FLUSH_DESCQ, rx_queue->queue); + efx_writeo(efx, &rx_flush_descq, FR_AZ_RX_FLUSH_DESCQ); +} + +void efx_nic_fini_rx(struct efx_rx_queue *rx_queue) +{ + efx_oword_t rx_desc_ptr; + struct efx_nic *efx = rx_queue->efx; + + /* The queue should already have been flushed */ + WARN_ON(rx_queue->flushed != FLUSH_DONE); + + /* Remove RX descriptor ring from card */ + EFX_ZERO_OWORD(rx_desc_ptr); + efx_writeo_table(efx, &rx_desc_ptr, efx->type->rxd_ptr_tbl_base, + rx_queue->queue); + + /* Unpin RX descriptor ring */ + efx_fini_special_buffer(efx, &rx_queue->rxd); +} + +/* Free buffers backing RX queue */ +void efx_nic_remove_rx(struct efx_rx_queue *rx_queue) +{ + efx_free_special_buffer(rx_queue->efx, &rx_queue->rxd); +} + +/************************************************************************** + * + * Event queue processing + * Event queues are processed by per-channel tasklets. + * + **************************************************************************/ + +/* Update a channel's event queue's read pointer (RPTR) register + * + * This writes the EVQ_RPTR_REG register for the specified channel's + * event queue. + * + * Note that EVQ_RPTR_REG contains the index of the "last read" event, + * whereas channel->eventq_read_ptr contains the index of the "next to + * read" event. + */ +void efx_nic_eventq_read_ack(struct efx_channel *channel) +{ + efx_dword_t reg; + struct efx_nic *efx = channel->efx; + + EFX_POPULATE_DWORD_1(reg, FRF_AZ_EVQ_RPTR, channel->eventq_read_ptr); + efx_writed_table(efx, ®, efx->type->evq_rptr_tbl_base, + channel->channel); +} + +/* Use HW to insert a SW defined event */ +void efx_generate_event(struct efx_channel *channel, efx_qword_t *event) +{ + efx_oword_t drv_ev_reg; + + BUILD_BUG_ON(FRF_AZ_DRV_EV_DATA_LBN != 0 || + FRF_AZ_DRV_EV_DATA_WIDTH != 64); + drv_ev_reg.u32[0] = event->u32[0]; + drv_ev_reg.u32[1] = event->u32[1]; + drv_ev_reg.u32[2] = 0; + drv_ev_reg.u32[3] = 0; + EFX_SET_OWORD_FIELD(drv_ev_reg, FRF_AZ_DRV_EV_QID, channel->channel); + efx_writeo(channel->efx, &drv_ev_reg, FR_AZ_DRV_EV); +} + +/* Handle a transmit completion event + * + * The NIC batches TX completion events; the message we receive is of + * the form "complete all TX events up to this index". + */ +static void +efx_handle_tx_event(struct efx_channel *channel, efx_qword_t *event) +{ + unsigned int tx_ev_desc_ptr; + unsigned int tx_ev_q_label; + struct efx_tx_queue *tx_queue; + struct efx_nic *efx = channel->efx; + + if (likely(EFX_QWORD_FIELD(*event, FSF_AZ_TX_EV_COMP))) { + /* Transmit completion */ + tx_ev_desc_ptr = EFX_QWORD_FIELD(*event, FSF_AZ_TX_EV_DESC_PTR); + tx_ev_q_label = EFX_QWORD_FIELD(*event, FSF_AZ_TX_EV_Q_LABEL); + tx_queue = &efx->tx_queue[tx_ev_q_label]; + channel->irq_mod_score += + (tx_ev_desc_ptr - tx_queue->read_count) & + EFX_TXQ_MASK; + efx_xmit_done(tx_queue, tx_ev_desc_ptr); + } else if (EFX_QWORD_FIELD(*event, FSF_AZ_TX_EV_WQ_FF_FULL)) { + /* Rewrite the FIFO write pointer */ + tx_ev_q_label = EFX_QWORD_FIELD(*event, FSF_AZ_TX_EV_Q_LABEL); + tx_queue = &efx->tx_queue[tx_ev_q_label]; + + if (efx_dev_registered(efx)) + netif_tx_lock(efx->net_dev); + efx_notify_tx_desc(tx_queue); + if (efx_dev_registered(efx)) + netif_tx_unlock(efx->net_dev); + } else if (EFX_QWORD_FIELD(*event, FSF_AZ_TX_EV_PKT_ERR) && + EFX_WORKAROUND_10727(efx)) { + efx_schedule_reset(efx, RESET_TYPE_TX_DESC_FETCH); + } else { + EFX_ERR(efx, "channel %d unexpected TX event " + EFX_QWORD_FMT"\n", channel->channel, + EFX_QWORD_VAL(*event)); + } +} + +/* Detect errors included in the rx_evt_pkt_ok bit. */ +static void efx_handle_rx_not_ok(struct efx_rx_queue *rx_queue, + const efx_qword_t *event, + bool *rx_ev_pkt_ok, + bool *discard) +{ + struct efx_nic *efx = rx_queue->efx; + bool rx_ev_buf_owner_id_err, rx_ev_ip_hdr_chksum_err; + bool rx_ev_tcp_udp_chksum_err, rx_ev_eth_crc_err; + bool rx_ev_frm_trunc, rx_ev_drib_nib, rx_ev_tobe_disc; + bool rx_ev_other_err, rx_ev_pause_frm; + bool rx_ev_hdr_type, rx_ev_mcast_pkt; + unsigned rx_ev_pkt_type; + + rx_ev_hdr_type = EFX_QWORD_FIELD(*event, FSF_AZ_RX_EV_HDR_TYPE); + rx_ev_mcast_pkt = EFX_QWORD_FIELD(*event, FSF_AZ_RX_EV_MCAST_PKT); + rx_ev_tobe_disc = EFX_QWORD_FIELD(*event, FSF_AZ_RX_EV_TOBE_DISC); + rx_ev_pkt_type = EFX_QWORD_FIELD(*event, FSF_AZ_RX_EV_PKT_TYPE); + rx_ev_buf_owner_id_err = EFX_QWORD_FIELD(*event, + FSF_AZ_RX_EV_BUF_OWNER_ID_ERR); + rx_ev_ip_hdr_chksum_err = EFX_QWORD_FIELD(*event, + FSF_AZ_RX_EV_IP_HDR_CHKSUM_ERR); + rx_ev_tcp_udp_chksum_err = EFX_QWORD_FIELD(*event, + FSF_AZ_RX_EV_TCP_UDP_CHKSUM_ERR); + rx_ev_eth_crc_err = EFX_QWORD_FIELD(*event, FSF_AZ_RX_EV_ETH_CRC_ERR); + rx_ev_frm_trunc = EFX_QWORD_FIELD(*event, FSF_AZ_RX_EV_FRM_TRUNC); + rx_ev_drib_nib = ((efx_nic_rev(efx) >= EFX_REV_FALCON_B0) ? + 0 : EFX_QWORD_FIELD(*event, FSF_AA_RX_EV_DRIB_NIB)); + rx_ev_pause_frm = EFX_QWORD_FIELD(*event, FSF_AZ_RX_EV_PAUSE_FRM_ERR); + + /* Every error apart from tobe_disc and pause_frm */ + rx_ev_other_err = (rx_ev_drib_nib | rx_ev_tcp_udp_chksum_err | + rx_ev_buf_owner_id_err | rx_ev_eth_crc_err | + rx_ev_frm_trunc | rx_ev_ip_hdr_chksum_err); + + /* Count errors that are not in MAC stats. Ignore expected + * checksum errors during self-test. */ + if (rx_ev_frm_trunc) + ++rx_queue->channel->n_rx_frm_trunc; + else if (rx_ev_tobe_disc) + ++rx_queue->channel->n_rx_tobe_disc; + else if (!efx->loopback_selftest) { + if (rx_ev_ip_hdr_chksum_err) + ++rx_queue->channel->n_rx_ip_hdr_chksum_err; + else if (rx_ev_tcp_udp_chksum_err) + ++rx_queue->channel->n_rx_tcp_udp_chksum_err; + } + + /* The frame must be discarded if any of these are true. */ + *discard = (rx_ev_eth_crc_err | rx_ev_frm_trunc | rx_ev_drib_nib | + rx_ev_tobe_disc | rx_ev_pause_frm); + + /* TOBE_DISC is expected on unicast mismatches; don't print out an + * error message. FRM_TRUNC indicates RXDP dropped the packet due + * to a FIFO overflow. + */ +#ifdef EFX_ENABLE_DEBUG + if (rx_ev_other_err) { + EFX_INFO_RL(efx, " RX queue %d unexpected RX event " + EFX_QWORD_FMT "%s%s%s%s%s%s%s%s\n", + rx_queue->queue, EFX_QWORD_VAL(*event), + rx_ev_buf_owner_id_err ? " [OWNER_ID_ERR]" : "", + rx_ev_ip_hdr_chksum_err ? + " [IP_HDR_CHKSUM_ERR]" : "", + rx_ev_tcp_udp_chksum_err ? + " [TCP_UDP_CHKSUM_ERR]" : "", + rx_ev_eth_crc_err ? " [ETH_CRC_ERR]" : "", + rx_ev_frm_trunc ? " [FRM_TRUNC]" : "", + rx_ev_drib_nib ? " [DRIB_NIB]" : "", + rx_ev_tobe_disc ? " [TOBE_DISC]" : "", + rx_ev_pause_frm ? " [PAUSE]" : ""); + } +#endif +} + +/* Handle receive events that are not in-order. */ +static void +efx_handle_rx_bad_index(struct efx_rx_queue *rx_queue, unsigned index) +{ + struct efx_nic *efx = rx_queue->efx; + unsigned expected, dropped; + + expected = rx_queue->removed_count & EFX_RXQ_MASK; + dropped = (index - expected) & EFX_RXQ_MASK; + EFX_INFO(efx, "dropped %d events (index=%d expected=%d)\n", + dropped, index, expected); + + efx_schedule_reset(efx, EFX_WORKAROUND_5676(efx) ? + RESET_TYPE_RX_RECOVERY : RESET_TYPE_DISABLE); +} + +/* Handle a packet received event + * + * The NIC gives a "discard" flag if it's a unicast packet with the + * wrong destination address + * Also "is multicast" and "matches multicast filter" flags can be used to + * discard non-matching multicast packets. + */ +static void +efx_handle_rx_event(struct efx_channel *channel, const efx_qword_t *event) +{ + unsigned int rx_ev_desc_ptr, rx_ev_byte_cnt; + unsigned int rx_ev_hdr_type, rx_ev_mcast_pkt; + unsigned expected_ptr; + bool rx_ev_pkt_ok, discard = false, checksummed; + struct efx_rx_queue *rx_queue; + struct efx_nic *efx = channel->efx; + + /* Basic packet information */ + rx_ev_byte_cnt = EFX_QWORD_FIELD(*event, FSF_AZ_RX_EV_BYTE_CNT); + rx_ev_pkt_ok = EFX_QWORD_FIELD(*event, FSF_AZ_RX_EV_PKT_OK); + rx_ev_hdr_type = EFX_QWORD_FIELD(*event, FSF_AZ_RX_EV_HDR_TYPE); + WARN_ON(EFX_QWORD_FIELD(*event, FSF_AZ_RX_EV_JUMBO_CONT)); + WARN_ON(EFX_QWORD_FIELD(*event, FSF_AZ_RX_EV_SOP) != 1); + WARN_ON(EFX_QWORD_FIELD(*event, FSF_AZ_RX_EV_Q_LABEL) != + channel->channel); + + rx_queue = &efx->rx_queue[channel->channel]; + + rx_ev_desc_ptr = EFX_QWORD_FIELD(*event, FSF_AZ_RX_EV_DESC_PTR); + expected_ptr = rx_queue->removed_count & EFX_RXQ_MASK; + if (unlikely(rx_ev_desc_ptr != expected_ptr)) + efx_handle_rx_bad_index(rx_queue, rx_ev_desc_ptr); + + if (likely(rx_ev_pkt_ok)) { + /* If packet is marked as OK and packet type is TCP/IP or + * UDP/IP, then we can rely on the hardware checksum. + */ + checksummed = + likely(efx->rx_checksum_enabled) && + (rx_ev_hdr_type == FSE_CZ_RX_EV_HDR_TYPE_IPV4V6_TCP || + rx_ev_hdr_type == FSE_CZ_RX_EV_HDR_TYPE_IPV4V6_UDP); + } else { + efx_handle_rx_not_ok(rx_queue, event, &rx_ev_pkt_ok, &discard); + checksummed = false; + } + + /* Detect multicast packets that didn't match the filter */ + rx_ev_mcast_pkt = EFX_QWORD_FIELD(*event, FSF_AZ_RX_EV_MCAST_PKT); + if (rx_ev_mcast_pkt) { + unsigned int rx_ev_mcast_hash_match = + EFX_QWORD_FIELD(*event, FSF_AZ_RX_EV_MCAST_HASH_MATCH); + + if (unlikely(!rx_ev_mcast_hash_match)) { + ++channel->n_rx_mcast_mismatch; + discard = true; + } + } + + channel->irq_mod_score += 2; + + /* Handle received packet */ + efx_rx_packet(rx_queue, rx_ev_desc_ptr, rx_ev_byte_cnt, + checksummed, discard); +} + +/* Global events are basically PHY events */ +static void +efx_handle_global_event(struct efx_channel *channel, efx_qword_t *event) +{ + struct efx_nic *efx = channel->efx; + bool handled = false; + + if (EFX_QWORD_FIELD(*event, FSF_AB_GLB_EV_G_PHY0_INTR) || + EFX_QWORD_FIELD(*event, FSF_AB_GLB_EV_XG_PHY0_INTR) || + EFX_QWORD_FIELD(*event, FSF_AB_GLB_EV_XFP_PHY0_INTR)) { + /* Ignored */ + handled = true; + } + + if ((efx_nic_rev(efx) >= EFX_REV_FALCON_B0) && + EFX_QWORD_FIELD(*event, FSF_BB_GLB_EV_XG_MGT_INTR)) { + efx->xmac_poll_required = true; + handled = true; + } + + if (efx_nic_rev(efx) <= EFX_REV_FALCON_A1 ? + EFX_QWORD_FIELD(*event, FSF_AA_GLB_EV_RX_RECOVERY) : + EFX_QWORD_FIELD(*event, FSF_BB_GLB_EV_RX_RECOVERY)) { + EFX_ERR(efx, "channel %d seen global RX_RESET " + "event. Resetting.\n", channel->channel); + + atomic_inc(&efx->rx_reset); + efx_schedule_reset(efx, EFX_WORKAROUND_6555(efx) ? + RESET_TYPE_RX_RECOVERY : RESET_TYPE_DISABLE); + handled = true; + } + + if (!handled) + EFX_ERR(efx, "channel %d unknown global event " + EFX_QWORD_FMT "\n", channel->channel, + EFX_QWORD_VAL(*event)); +} + +static void +efx_handle_driver_event(struct efx_channel *channel, efx_qword_t *event) +{ + struct efx_nic *efx = channel->efx; + unsigned int ev_sub_code; + unsigned int ev_sub_data; + + ev_sub_code = EFX_QWORD_FIELD(*event, FSF_AZ_DRIVER_EV_SUBCODE); + ev_sub_data = EFX_QWORD_FIELD(*event, FSF_AZ_DRIVER_EV_SUBDATA); + + switch (ev_sub_code) { + case FSE_AZ_TX_DESCQ_FLS_DONE_EV: + EFX_TRACE(efx, "channel %d TXQ %d flushed\n", + channel->channel, ev_sub_data); + break; + case FSE_AZ_RX_DESCQ_FLS_DONE_EV: + EFX_TRACE(efx, "channel %d RXQ %d flushed\n", + channel->channel, ev_sub_data); + break; + case FSE_AZ_EVQ_INIT_DONE_EV: + EFX_LOG(efx, "channel %d EVQ %d initialised\n", + channel->channel, ev_sub_data); + break; + case FSE_AZ_SRM_UPD_DONE_EV: + EFX_TRACE(efx, "channel %d SRAM update done\n", + channel->channel); + break; + case FSE_AZ_WAKE_UP_EV: + EFX_TRACE(efx, "channel %d RXQ %d wakeup event\n", + channel->channel, ev_sub_data); + break; + case FSE_AZ_TIMER_EV: + EFX_TRACE(efx, "channel %d RX queue %d timer expired\n", + channel->channel, ev_sub_data); + break; + case FSE_AA_RX_RECOVER_EV: + EFX_ERR(efx, "channel %d seen DRIVER RX_RESET event. " + "Resetting.\n", channel->channel); + atomic_inc(&efx->rx_reset); + efx_schedule_reset(efx, + EFX_WORKAROUND_6555(efx) ? + RESET_TYPE_RX_RECOVERY : + RESET_TYPE_DISABLE); + break; + case FSE_BZ_RX_DSC_ERROR_EV: + EFX_ERR(efx, "RX DMA Q %d reports descriptor fetch error." + " RX Q %d is disabled.\n", ev_sub_data, ev_sub_data); + efx_schedule_reset(efx, RESET_TYPE_RX_DESC_FETCH); + break; + case FSE_BZ_TX_DSC_ERROR_EV: + EFX_ERR(efx, "TX DMA Q %d reports descriptor fetch error." + " TX Q %d is disabled.\n", ev_sub_data, ev_sub_data); + efx_schedule_reset(efx, RESET_TYPE_TX_DESC_FETCH); + break; + default: + EFX_TRACE(efx, "channel %d unknown driver event code %d " + "data %04x\n", channel->channel, ev_sub_code, + ev_sub_data); + break; + } +} + +int efx_nic_process_eventq(struct efx_channel *channel, int rx_quota) +{ + unsigned int read_ptr; + efx_qword_t event, *p_event; + int ev_code; + int rx_packets = 0; + + read_ptr = channel->eventq_read_ptr; + + do { + p_event = efx_event(channel, read_ptr); + event = *p_event; + + if (!efx_event_present(&event)) + /* End of events */ + break; + + EFX_TRACE(channel->efx, "channel %d event is "EFX_QWORD_FMT"\n", + channel->channel, EFX_QWORD_VAL(event)); + + /* Clear this event by marking it all ones */ + EFX_SET_QWORD(*p_event); + + ev_code = EFX_QWORD_FIELD(event, FSF_AZ_EV_CODE); + + switch (ev_code) { + case FSE_AZ_EV_CODE_RX_EV: + efx_handle_rx_event(channel, &event); + ++rx_packets; + break; + case FSE_AZ_EV_CODE_TX_EV: + efx_handle_tx_event(channel, &event); + break; + case FSE_AZ_EV_CODE_DRV_GEN_EV: + channel->eventq_magic = EFX_QWORD_FIELD( + event, FSF_AZ_DRV_GEN_EV_MAGIC); + EFX_LOG(channel->efx, "channel %d received generated " + "event "EFX_QWORD_FMT"\n", channel->channel, + EFX_QWORD_VAL(event)); + break; + case FSE_AZ_EV_CODE_GLOBAL_EV: + efx_handle_global_event(channel, &event); + break; + case FSE_AZ_EV_CODE_DRIVER_EV: + efx_handle_driver_event(channel, &event); + break; + case FSE_CZ_EV_CODE_MCDI_EV: + efx_mcdi_process_event(channel, &event); + break; + default: + EFX_ERR(channel->efx, "channel %d unknown event type %d" + " (data " EFX_QWORD_FMT ")\n", channel->channel, + ev_code, EFX_QWORD_VAL(event)); + } + + /* Increment read pointer */ + read_ptr = (read_ptr + 1) & EFX_EVQ_MASK; + + } while (rx_packets < rx_quota); + + channel->eventq_read_ptr = read_ptr; + return rx_packets; +} + + +/* Allocate buffer table entries for event queue */ +int efx_nic_probe_eventq(struct efx_channel *channel) +{ + struct efx_nic *efx = channel->efx; + BUILD_BUG_ON(EFX_EVQ_SIZE < 512 || EFX_EVQ_SIZE > 32768 || + EFX_EVQ_SIZE & EFX_EVQ_MASK); + return efx_alloc_special_buffer(efx, &channel->eventq, + EFX_EVQ_SIZE * sizeof(efx_qword_t)); +} + +void efx_nic_init_eventq(struct efx_channel *channel) +{ + efx_oword_t reg; + struct efx_nic *efx = channel->efx; + + EFX_LOG(efx, "channel %d event queue in special buffers %d-%d\n", + channel->channel, channel->eventq.index, + channel->eventq.index + channel->eventq.entries - 1); + + if (efx_nic_rev(efx) >= EFX_REV_SIENA_A0) { + EFX_POPULATE_OWORD_3(reg, + FRF_CZ_TIMER_Q_EN, 1, + FRF_CZ_HOST_NOTIFY_MODE, 0, + FRF_CZ_TIMER_MODE, FFE_CZ_TIMER_MODE_DIS); + efx_writeo_table(efx, ®, FR_BZ_TIMER_TBL, channel->channel); + } + + /* Pin event queue buffer */ + efx_init_special_buffer(efx, &channel->eventq); + + /* Fill event queue with all ones (i.e. empty events) */ + memset(channel->eventq.addr, 0xff, channel->eventq.len); + + /* Push event queue to card */ + EFX_POPULATE_OWORD_3(reg, + FRF_AZ_EVQ_EN, 1, + FRF_AZ_EVQ_SIZE, __ffs(channel->eventq.entries), + FRF_AZ_EVQ_BUF_BASE_ID, channel->eventq.index); + efx_writeo_table(efx, ®, efx->type->evq_ptr_tbl_base, + channel->channel); + + efx->type->push_irq_moderation(channel); +} + +void efx_nic_fini_eventq(struct efx_channel *channel) +{ + efx_oword_t reg; + struct efx_nic *efx = channel->efx; + + /* Remove event queue from card */ + EFX_ZERO_OWORD(reg); + efx_writeo_table(efx, ®, efx->type->evq_ptr_tbl_base, + channel->channel); + if (efx_nic_rev(efx) >= EFX_REV_SIENA_A0) + efx_writeo_table(efx, ®, FR_BZ_TIMER_TBL, channel->channel); + + /* Unpin event queue */ + efx_fini_special_buffer(efx, &channel->eventq); +} + +/* Free buffers backing event queue */ +void efx_nic_remove_eventq(struct efx_channel *channel) +{ + efx_free_special_buffer(channel->efx, &channel->eventq); +} + + +/* Generates a test event on the event queue. A subsequent call to + * process_eventq() should pick up the event and place the value of + * "magic" into channel->eventq_magic; + */ +void efx_nic_generate_test_event(struct efx_channel *channel, unsigned int magic) +{ + efx_qword_t test_event; + + EFX_POPULATE_QWORD_2(test_event, FSF_AZ_EV_CODE, + FSE_AZ_EV_CODE_DRV_GEN_EV, + FSF_AZ_DRV_GEN_EV_MAGIC, magic); + efx_generate_event(channel, &test_event); +} + +/************************************************************************** + * + * Flush handling + * + **************************************************************************/ + + +static void efx_poll_flush_events(struct efx_nic *efx) +{ + struct efx_channel *channel = &efx->channel[0]; + struct efx_tx_queue *tx_queue; + struct efx_rx_queue *rx_queue; + unsigned int read_ptr = channel->eventq_read_ptr; + unsigned int end_ptr = (read_ptr - 1) & EFX_EVQ_MASK; + + do { + efx_qword_t *event = efx_event(channel, read_ptr); + int ev_code, ev_sub_code, ev_queue; + bool ev_failed; + + if (!efx_event_present(event)) + break; + + ev_code = EFX_QWORD_FIELD(*event, FSF_AZ_EV_CODE); + ev_sub_code = EFX_QWORD_FIELD(*event, + FSF_AZ_DRIVER_EV_SUBCODE); + if (ev_code == FSE_AZ_EV_CODE_DRIVER_EV && + ev_sub_code == FSE_AZ_TX_DESCQ_FLS_DONE_EV) { + ev_queue = EFX_QWORD_FIELD(*event, + FSF_AZ_DRIVER_EV_SUBDATA); + if (ev_queue < EFX_TX_QUEUE_COUNT) { + tx_queue = efx->tx_queue + ev_queue; + tx_queue->flushed = FLUSH_DONE; + } + } else if (ev_code == FSE_AZ_EV_CODE_DRIVER_EV && + ev_sub_code == FSE_AZ_RX_DESCQ_FLS_DONE_EV) { + ev_queue = EFX_QWORD_FIELD( + *event, FSF_AZ_DRIVER_EV_RX_DESCQ_ID); + ev_failed = EFX_QWORD_FIELD( + *event, FSF_AZ_DRIVER_EV_RX_FLUSH_FAIL); + if (ev_queue < efx->n_rx_queues) { + rx_queue = efx->rx_queue + ev_queue; + rx_queue->flushed = + ev_failed ? FLUSH_FAILED : FLUSH_DONE; + } + } + + /* We're about to destroy the queue anyway, so + * it's ok to throw away every non-flush event */ + EFX_SET_QWORD(*event); + + read_ptr = (read_ptr + 1) & EFX_EVQ_MASK; + } while (read_ptr != end_ptr); + + channel->eventq_read_ptr = read_ptr; +} + +/* Handle tx and rx flushes at the same time, since they run in + * parallel in the hardware and there's no reason for us to + * serialise them */ +int efx_nic_flush_queues(struct efx_nic *efx) +{ + struct efx_rx_queue *rx_queue; + struct efx_tx_queue *tx_queue; + int i, tx_pending, rx_pending; + + /* If necessary prepare the hardware for flushing */ + efx->type->prepare_flush(efx); + + /* Flush all tx queues in parallel */ + efx_for_each_tx_queue(tx_queue, efx) + efx_flush_tx_queue(tx_queue); + + /* The hardware supports four concurrent rx flushes, each of which may + * need to be retried if there is an outstanding descriptor fetch */ + for (i = 0; i < EFX_FLUSH_POLL_COUNT; ++i) { + rx_pending = tx_pending = 0; + efx_for_each_rx_queue(rx_queue, efx) { + if (rx_queue->flushed == FLUSH_PENDING) + ++rx_pending; + } + efx_for_each_rx_queue(rx_queue, efx) { + if (rx_pending == EFX_RX_FLUSH_COUNT) + break; + if (rx_queue->flushed == FLUSH_FAILED || + rx_queue->flushed == FLUSH_NONE) { + efx_flush_rx_queue(rx_queue); + ++rx_pending; + } + } + efx_for_each_tx_queue(tx_queue, efx) { + if (tx_queue->flushed != FLUSH_DONE) + ++tx_pending; + } + + if (rx_pending == 0 && tx_pending == 0) + return 0; + + msleep(EFX_FLUSH_INTERVAL); + efx_poll_flush_events(efx); + } + + /* Mark the queues as all flushed. We're going to return failure + * leading to a reset, or fake up success anyway */ + efx_for_each_tx_queue(tx_queue, efx) { + if (tx_queue->flushed != FLUSH_DONE) + EFX_ERR(efx, "tx queue %d flush command timed out\n", + tx_queue->queue); + tx_queue->flushed = FLUSH_DONE; + } + efx_for_each_rx_queue(rx_queue, efx) { + if (rx_queue->flushed != FLUSH_DONE) + EFX_ERR(efx, "rx queue %d flush command timed out\n", + rx_queue->queue); + rx_queue->flushed = FLUSH_DONE; + } + + if (EFX_WORKAROUND_7803(efx)) + return 0; + + return -ETIMEDOUT; +} + +/************************************************************************** + * + * Hardware interrupts + * The hardware interrupt handler does very little work; all the event + * queue processing is carried out by per-channel tasklets. + * + **************************************************************************/ + +/* Enable/disable/generate interrupts */ +static inline void efx_nic_interrupts(struct efx_nic *efx, + bool enabled, bool force) +{ + efx_oword_t int_en_reg_ker; + unsigned int level = 0; + + if (EFX_WORKAROUND_17213(efx) && !EFX_INT_MODE_USE_MSI(efx)) + /* Set the level always even if we're generating a test + * interrupt, because our legacy interrupt handler is safe */ + level = 0x1f; + + EFX_POPULATE_OWORD_3(int_en_reg_ker, + FRF_AZ_KER_INT_LEVE_SEL, level, + FRF_AZ_KER_INT_KER, force, + FRF_AZ_DRV_INT_EN_KER, enabled); + efx_writeo(efx, &int_en_reg_ker, FR_AZ_INT_EN_KER); +} + +void efx_nic_enable_interrupts(struct efx_nic *efx) +{ + struct efx_channel *channel; + + EFX_ZERO_OWORD(*((efx_oword_t *) efx->irq_status.addr)); + wmb(); /* Ensure interrupt vector is clear before interrupts enabled */ + + /* Enable interrupts */ + efx_nic_interrupts(efx, true, false); + + /* Force processing of all the channels to get the EVQ RPTRs up to + date */ + efx_for_each_channel(channel, efx) + efx_schedule_channel(channel); +} + +void efx_nic_disable_interrupts(struct efx_nic *efx) +{ + /* Disable interrupts */ + efx_nic_interrupts(efx, false, false); +} + +/* Generate a test interrupt + * Interrupt must already have been enabled, otherwise nasty things + * may happen. + */ +void efx_nic_generate_interrupt(struct efx_nic *efx) +{ + efx_nic_interrupts(efx, true, true); +} + +/* Process a fatal interrupt + * Disable bus mastering ASAP and schedule a reset + */ +irqreturn_t efx_nic_fatal_interrupt(struct efx_nic *efx) +{ + struct falcon_nic_data *nic_data = efx->nic_data; + efx_oword_t *int_ker = efx->irq_status.addr; + efx_oword_t fatal_intr; + int error, mem_perr; + + efx_reado(efx, &fatal_intr, FR_AZ_FATAL_INTR_KER); + error = EFX_OWORD_FIELD(fatal_intr, FRF_AZ_FATAL_INTR); + + EFX_ERR(efx, "SYSTEM ERROR " EFX_OWORD_FMT " status " + EFX_OWORD_FMT ": %s\n", EFX_OWORD_VAL(*int_ker), + EFX_OWORD_VAL(fatal_intr), + error ? "disabling bus mastering" : "no recognised error"); + if (error == 0) + goto out; + + /* If this is a memory parity error dump which blocks are offending */ + mem_perr = EFX_OWORD_FIELD(fatal_intr, FRF_AZ_MEM_PERR_INT_KER); + if (mem_perr) { + efx_oword_t reg; + efx_reado(efx, ®, FR_AZ_MEM_STAT); + EFX_ERR(efx, "SYSTEM ERROR: memory parity error " + EFX_OWORD_FMT "\n", EFX_OWORD_VAL(reg)); + } + + /* Disable both devices */ + pci_clear_master(efx->pci_dev); + if (efx_nic_is_dual_func(efx)) + pci_clear_master(nic_data->pci_dev2); + efx_nic_disable_interrupts(efx); + + /* Count errors and reset or disable the NIC accordingly */ + if (efx->int_error_count == 0 || + time_after(jiffies, efx->int_error_expire)) { + efx->int_error_count = 0; + efx->int_error_expire = + jiffies + EFX_INT_ERROR_EXPIRE * HZ; + } + if (++efx->int_error_count < EFX_MAX_INT_ERRORS) { + EFX_ERR(efx, "SYSTEM ERROR - reset scheduled\n"); + efx_schedule_reset(efx, RESET_TYPE_INT_ERROR); + } else { + EFX_ERR(efx, "SYSTEM ERROR - max number of errors seen." + "NIC will be disabled\n"); + efx_schedule_reset(efx, RESET_TYPE_DISABLE); + } +out: + return IRQ_HANDLED; +} + +/* Handle a legacy interrupt + * Acknowledges the interrupt and schedule event queue processing. + */ +static irqreturn_t efx_legacy_interrupt(int irq, void *dev_id) +{ + struct efx_nic *efx = dev_id; + efx_oword_t *int_ker = efx->irq_status.addr; + irqreturn_t result = IRQ_NONE; + struct efx_channel *channel; + efx_dword_t reg; + u32 queues; + int syserr; + + /* Read the ISR which also ACKs the interrupts */ + efx_readd(efx, ®, FR_BZ_INT_ISR0); + queues = EFX_EXTRACT_DWORD(reg, 0, 31); + + /* Check to see if we have a serious error condition */ + syserr = EFX_OWORD_FIELD(*int_ker, FSF_AZ_NET_IVEC_FATAL_INT); + if (unlikely(syserr)) + return efx_nic_fatal_interrupt(efx); + + if (queues != 0) { + if (EFX_WORKAROUND_15783(efx)) + efx->irq_zero_count = 0; + + /* Schedule processing of any interrupting queues */ + efx_for_each_channel(channel, efx) { + if (queues & 1) + efx_schedule_channel(channel); + queues >>= 1; + } + result = IRQ_HANDLED; + + } else if (EFX_WORKAROUND_15783(efx) && + efx->irq_zero_count++ == 0) { + efx_qword_t *event; + + /* Ensure we rearm all event queues */ + efx_for_each_channel(channel, efx) { + event = efx_event(channel, channel->eventq_read_ptr); + if (efx_event_present(event)) + efx_schedule_channel(channel); + } + + result = IRQ_HANDLED; + } + + if (result == IRQ_HANDLED) { + efx->last_irq_cpu = raw_smp_processor_id(); + EFX_TRACE(efx, "IRQ %d on CPU %d status " EFX_DWORD_FMT "\n", + irq, raw_smp_processor_id(), EFX_DWORD_VAL(reg)); + } + + return result; +} + +/* Handle an MSI interrupt + * + * Handle an MSI hardware interrupt. This routine schedules event + * queue processing. No interrupt acknowledgement cycle is necessary. + * Also, we never need to check that the interrupt is for us, since + * MSI interrupts cannot be shared. + */ +static irqreturn_t efx_msi_interrupt(int irq, void *dev_id) +{ + struct efx_channel *channel = dev_id; + struct efx_nic *efx = channel->efx; + efx_oword_t *int_ker = efx->irq_status.addr; + int syserr; + + efx->last_irq_cpu = raw_smp_processor_id(); + EFX_TRACE(efx, "IRQ %d on CPU %d status " EFX_OWORD_FMT "\n", + irq, raw_smp_processor_id(), EFX_OWORD_VAL(*int_ker)); + + /* Check to see if we have a serious error condition */ + syserr = EFX_OWORD_FIELD(*int_ker, FSF_AZ_NET_IVEC_FATAL_INT); + if (unlikely(syserr)) + return efx_nic_fatal_interrupt(efx); + + /* Schedule processing of the channel */ + efx_schedule_channel(channel); + + return IRQ_HANDLED; +} + + +/* Setup RSS indirection table. + * This maps from the hash value of the packet to RXQ + */ +static void efx_setup_rss_indir_table(struct efx_nic *efx) +{ + int i = 0; + unsigned long offset; + efx_dword_t dword; + + if (efx_nic_rev(efx) < EFX_REV_FALCON_B0) + return; + + for (offset = FR_BZ_RX_INDIRECTION_TBL; + offset < FR_BZ_RX_INDIRECTION_TBL + 0x800; + offset += 0x10) { + EFX_POPULATE_DWORD_1(dword, FRF_BZ_IT_QUEUE, + i % efx->n_rx_queues); + efx_writed(efx, &dword, offset); + i++; + } +} + +/* Hook interrupt handler(s) + * Try MSI and then legacy interrupts. + */ +int efx_nic_init_interrupt(struct efx_nic *efx) +{ + struct efx_channel *channel; + int rc; + + if (!EFX_INT_MODE_USE_MSI(efx)) { + irq_handler_t handler; + if (efx_nic_rev(efx) >= EFX_REV_FALCON_B0) + handler = efx_legacy_interrupt; + else + handler = falcon_legacy_interrupt_a1; + + rc = request_irq(efx->legacy_irq, handler, IRQF_SHARED, + efx->name, efx); + if (rc) { + EFX_ERR(efx, "failed to hook legacy IRQ %d\n", + efx->pci_dev->irq); + goto fail1; + } + return 0; + } + + /* Hook MSI or MSI-X interrupt */ + efx_for_each_channel(channel, efx) { + rc = request_irq(channel->irq, efx_msi_interrupt, + IRQF_PROBE_SHARED, /* Not shared */ + channel->name, channel); + if (rc) { + EFX_ERR(efx, "failed to hook IRQ %d\n", channel->irq); + goto fail2; + } + } + + return 0; + + fail2: + efx_for_each_channel(channel, efx) + free_irq(channel->irq, channel); + fail1: + return rc; +} + +void efx_nic_fini_interrupt(struct efx_nic *efx) +{ + struct efx_channel *channel; + efx_oword_t reg; + + /* Disable MSI/MSI-X interrupts */ + efx_for_each_channel(channel, efx) { + if (channel->irq) + free_irq(channel->irq, channel); + } + + /* ACK legacy interrupt */ + if (efx_nic_rev(efx) >= EFX_REV_FALCON_B0) + efx_reado(efx, ®, FR_BZ_INT_ISR0); + else + falcon_irq_ack_a1(efx); + + /* Disable legacy interrupt */ + if (efx->legacy_irq) + free_irq(efx->legacy_irq, efx); +} + +u32 efx_nic_fpga_ver(struct efx_nic *efx) +{ + efx_oword_t altera_build; + efx_reado(efx, &altera_build, FR_AZ_ALTERA_BUILD); + return EFX_OWORD_FIELD(altera_build, FRF_AZ_ALTERA_BUILD_VER); +} + +void efx_nic_init_common(struct efx_nic *efx) +{ + efx_oword_t temp; + + /* Set positions of descriptor caches in SRAM. */ + EFX_POPULATE_OWORD_1(temp, FRF_AZ_SRM_TX_DC_BASE_ADR, + efx->type->tx_dc_base / 8); + efx_writeo(efx, &temp, FR_AZ_SRM_TX_DC_CFG); + EFX_POPULATE_OWORD_1(temp, FRF_AZ_SRM_RX_DC_BASE_ADR, + efx->type->rx_dc_base / 8); + efx_writeo(efx, &temp, FR_AZ_SRM_RX_DC_CFG); + + /* Set TX descriptor cache size. */ + BUILD_BUG_ON(TX_DC_ENTRIES != (8 << TX_DC_ENTRIES_ORDER)); + EFX_POPULATE_OWORD_1(temp, FRF_AZ_TX_DC_SIZE, TX_DC_ENTRIES_ORDER); + efx_writeo(efx, &temp, FR_AZ_TX_DC_CFG); + + /* Set RX descriptor cache size. Set low watermark to size-8, as + * this allows most efficient prefetching. + */ + BUILD_BUG_ON(RX_DC_ENTRIES != (8 << RX_DC_ENTRIES_ORDER)); + EFX_POPULATE_OWORD_1(temp, FRF_AZ_RX_DC_SIZE, RX_DC_ENTRIES_ORDER); + efx_writeo(efx, &temp, FR_AZ_RX_DC_CFG); + EFX_POPULATE_OWORD_1(temp, FRF_AZ_RX_DC_PF_LWM, RX_DC_ENTRIES - 8); + efx_writeo(efx, &temp, FR_AZ_RX_DC_PF_WM); + + /* Program INT_KER address */ + EFX_POPULATE_OWORD_2(temp, + FRF_AZ_NORM_INT_VEC_DIS_KER, + EFX_INT_MODE_USE_MSI(efx), + FRF_AZ_INT_ADR_KER, efx->irq_status.dma_addr); + efx_writeo(efx, &temp, FR_AZ_INT_ADR_KER); + + /* Enable all the genuinely fatal interrupts. (They are still + * masked by the overall interrupt mask, controlled by + * falcon_interrupts()). + * + * Note: All other fatal interrupts are enabled + */ + EFX_POPULATE_OWORD_3(temp, + FRF_AZ_ILL_ADR_INT_KER_EN, 1, + FRF_AZ_RBUF_OWN_INT_KER_EN, 1, + FRF_AZ_TBUF_OWN_INT_KER_EN, 1); + EFX_INVERT_OWORD(temp); + efx_writeo(efx, &temp, FR_AZ_FATAL_INTR_KER); + + efx_setup_rss_indir_table(efx); + + /* Disable the ugly timer-based TX DMA backoff and allow TX DMA to be + * controlled by the RX FIFO fill level. Set arbitration to one pkt/Q. + */ + efx_reado(efx, &temp, FR_AZ_TX_RESERVED); + EFX_SET_OWORD_FIELD(temp, FRF_AZ_TX_RX_SPACER, 0xfe); + EFX_SET_OWORD_FIELD(temp, FRF_AZ_TX_RX_SPACER_EN, 1); + EFX_SET_OWORD_FIELD(temp, FRF_AZ_TX_ONE_PKT_PER_Q, 1); + EFX_SET_OWORD_FIELD(temp, FRF_AZ_TX_PUSH_EN, 0); + EFX_SET_OWORD_FIELD(temp, FRF_AZ_TX_DIS_NON_IP_EV, 1); + /* Enable SW_EV to inherit in char driver - assume harmless here */ + EFX_SET_OWORD_FIELD(temp, FRF_AZ_TX_SOFT_EVT_EN, 1); + /* Prefetch threshold 2 => fetch when descriptor cache half empty */ + EFX_SET_OWORD_FIELD(temp, FRF_AZ_TX_PREF_THRESHOLD, 2); + /* Disable hardware watchdog which can misfire */ + EFX_SET_OWORD_FIELD(temp, FRF_AZ_TX_PREF_WD_TMR, 0x3fffff); + /* Squash TX of packets of 16 bytes or less */ + if (efx_nic_rev(efx) >= EFX_REV_FALCON_B0) + EFX_SET_OWORD_FIELD(temp, FRF_BZ_TX_FLUSH_MIN_LEN_EN, 1); + efx_writeo(efx, &temp, FR_AZ_TX_RESERVED); +} --- linux-2.6.32.orig/drivers/net/sfc/phy.h +++ linux-2.6.32/drivers/net/sfc/phy.h @@ -1,6 +1,6 @@ /**************************************************************************** * Driver for Solarflare Solarstorm network controllers and boards - * Copyright 2007-2008 Solarflare Communications Inc. + * Copyright 2007-2009 Solarflare Communications 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 @@ -16,16 +16,16 @@ extern struct efx_phy_operations falcon_sfx7101_phy_ops; extern struct efx_phy_operations falcon_sft9001_phy_ops; -extern void tenxpress_phy_blink(struct efx_nic *efx, bool blink); +extern void tenxpress_set_id_led(struct efx_nic *efx, enum efx_led_mode mode); /* Wait for the PHY to boot. Return 0 on success, -EINVAL if the PHY failed * to boot due to corrupt flash, or some other negative error code. */ extern int sft9001_wait_boot(struct efx_nic *efx); /**************************************************************************** - * AMCC/Quake QT20xx PHYs + * AMCC/Quake QT202x PHYs */ -extern struct efx_phy_operations falcon_xfp_phy_ops; +extern struct efx_phy_operations falcon_qt202x_phy_ops; /* These PHYs provide various H/W control states for LEDs */ #define QUAKE_LED_LINK_INVAL (0) @@ -39,6 +39,23 @@ #define QUAKE_LED_TXLINK (0) #define QUAKE_LED_RXLINK (8) -extern void xfp_set_led(struct efx_nic *p, int led, int state); +extern void falcon_qt202x_set_led(struct efx_nic *p, int led, int state); + +/**************************************************************************** + * Siena managed PHYs + */ +extern struct efx_phy_operations efx_mcdi_phy_ops; + +extern int efx_mcdi_mdio_read(struct efx_nic *efx, unsigned int bus, + unsigned int prtad, unsigned int devad, + u16 addr, u16 *value_out, u32 *status_out); +extern int efx_mcdi_mdio_write(struct efx_nic *efx, unsigned int bus, + unsigned int prtad, unsigned int devad, + u16 addr, u16 value, u32 *status_out); +extern void efx_mcdi_phy_decode_link(struct efx_nic *efx, + struct efx_link_state *link_state, + u32 speed, u32 flags, u32 fcntl); +extern int efx_mcdi_phy_reconfigure(struct efx_nic *efx); +extern void efx_mcdi_phy_check_fcntl(struct efx_nic *efx, u32 lpa); #endif --- linux-2.6.32.orig/drivers/net/sfc/rx.c +++ linux-2.6.32/drivers/net/sfc/rx.c @@ -1,7 +1,7 @@ /**************************************************************************** * Driver for Solarflare Solarstorm network controllers and boards * Copyright 2005-2006 Fen Systems Ltd. - * Copyright 2005-2008 Solarflare Communications Inc. + * Copyright 2005-2009 Solarflare Communications 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 @@ -16,9 +16,8 @@ #include #include #include "net_driver.h" -#include "rx.h" #include "efx.h" -#include "falcon.h" +#include "nic.h" #include "selftest.h" #include "workarounds.h" @@ -61,7 +60,7 @@ * rx_alloc_method = (rx_alloc_level > RX_ALLOC_LEVEL_LRO ? * RX_ALLOC_METHOD_PAGE : RX_ALLOC_METHOD_SKB) */ -static int rx_alloc_method = RX_ALLOC_METHOD_PAGE; +static int rx_alloc_method = RX_ALLOC_METHOD_AUTO; #define RX_ALLOC_LEVEL_LRO 0x2000 #define RX_ALLOC_LEVEL_MAX 0x3000 @@ -293,8 +292,7 @@ * fill anyway. */ fill_level = (rx_queue->added_count - rx_queue->removed_count); - EFX_BUG_ON_PARANOID(fill_level > - rx_queue->efx->type->rxd_ring_mask + 1); + EFX_BUG_ON_PARANOID(fill_level > EFX_RXQ_SIZE); /* Don't fill if we don't need to */ if (fill_level >= rx_queue->fast_fill_trigger) @@ -316,8 +314,7 @@ retry: /* Recalculate current fill level now that we have the lock */ fill_level = (rx_queue->added_count - rx_queue->removed_count); - EFX_BUG_ON_PARANOID(fill_level > - rx_queue->efx->type->rxd_ring_mask + 1); + EFX_BUG_ON_PARANOID(fill_level > EFX_RXQ_SIZE); space = rx_queue->fast_fill_limit - fill_level; if (space < EFX_RX_BATCH) goto out_unlock; @@ -329,8 +326,7 @@ do { for (i = 0; i < EFX_RX_BATCH; ++i) { - index = (rx_queue->added_count & - rx_queue->efx->type->rxd_ring_mask); + index = rx_queue->added_count & EFX_RXQ_MASK; rx_buf = efx_rx_buffer(rx_queue, index); rc = efx_init_rx_buffer(rx_queue, rx_buf); if (unlikely(rc)) @@ -345,7 +341,7 @@ out: /* Send write pointer to card. */ - falcon_notify_rx_desc(rx_queue); + efx_nic_notify_rx_desc(rx_queue); /* If the fast fill is running inside from the refill tasklet, then * for SMP systems it may be running on a different CPU to @@ -448,17 +444,23 @@ bool checksummed) { struct napi_struct *napi = &channel->napi_str; + gro_result_t gro_result; /* Pass the skb/page into the LRO engine */ if (rx_buf->page) { - struct sk_buff *skb = napi_get_frags(napi); + struct page *page = rx_buf->page; + struct sk_buff *skb; + EFX_BUG_ON_PARANOID(rx_buf->skb); + rx_buf->page = NULL; + + skb = napi_get_frags(napi); if (!skb) { - put_page(rx_buf->page); - goto out; + put_page(page); + return; } - skb_shinfo(skb)->frags[0].page = rx_buf->page; + skb_shinfo(skb)->frags[0].page = page; skb_shinfo(skb)->frags[0].page_offset = efx_rx_buf_offset(rx_buf); skb_shinfo(skb)->frags[0].size = rx_buf->len; @@ -470,17 +472,24 @@ skb->ip_summed = checksummed ? CHECKSUM_UNNECESSARY : CHECKSUM_NONE; - napi_gro_frags(napi); + skb_record_rx_queue(skb, channel->channel); -out: - EFX_BUG_ON_PARANOID(rx_buf->skb); - rx_buf->page = NULL; + gro_result = napi_gro_frags(napi); } else { - EFX_BUG_ON_PARANOID(!rx_buf->skb); - EFX_BUG_ON_PARANOID(!checksummed); + struct sk_buff *skb = rx_buf->skb; - napi_gro_receive(napi, rx_buf->skb); + EFX_BUG_ON_PARANOID(!skb); + EFX_BUG_ON_PARANOID(!checksummed); rx_buf->skb = NULL; + + gro_result = napi_gro_receive(napi, skb); + } + + if (gro_result == GRO_NORMAL) { + channel->rx_alloc_level += RX_ALLOC_FACTOR_SKB; + } else if (gro_result != GRO_DROP) { + channel->rx_alloc_level += RX_ALLOC_FACTOR_LRO; + channel->irq_mod_score += 2; } } @@ -558,7 +567,7 @@ if (unlikely(efx->loopback_selftest)) { efx_loopback_rx_packet(efx, rx_buf->data, rx_buf->len); efx_free_rx_buffer(efx, rx_buf); - goto done; + return; } if (rx_buf->skb) { @@ -570,34 +579,28 @@ * at the ethernet header */ rx_buf->skb->protocol = eth_type_trans(rx_buf->skb, efx->net_dev); + + skb_record_rx_queue(rx_buf->skb, channel->channel); } if (likely(checksummed || rx_buf->page)) { efx_rx_packet_lro(channel, rx_buf, checksummed); - goto done; + return; } /* We now own the SKB */ skb = rx_buf->skb; rx_buf->skb = NULL; - - EFX_BUG_ON_PARANOID(rx_buf->page); - EFX_BUG_ON_PARANOID(rx_buf->skb); EFX_BUG_ON_PARANOID(!skb); /* Set the SKB flags */ skb->ip_summed = CHECKSUM_NONE; - skb_record_rx_queue(skb, channel->channel); - /* Pass the packet up */ netif_receive_skb(skb); /* Update allocation strategy method */ channel->rx_alloc_level += RX_ALLOC_FACTOR_SKB; - -done: - ; } void efx_rx_strategy(struct efx_channel *channel) @@ -632,12 +635,12 @@ EFX_LOG(efx, "creating RX queue %d\n", rx_queue->queue); /* Allocate RX buffers */ - rxq_size = (efx->type->rxd_ring_mask + 1) * sizeof(*rx_queue->buffer); + rxq_size = EFX_RXQ_SIZE * sizeof(*rx_queue->buffer); rx_queue->buffer = kzalloc(rxq_size, GFP_KERNEL); if (!rx_queue->buffer) return -ENOMEM; - rc = falcon_probe_rx(rx_queue); + rc = efx_nic_probe_rx(rx_queue); if (rc) { kfree(rx_queue->buffer); rx_queue->buffer = NULL; @@ -647,7 +650,6 @@ void efx_init_rx_queue(struct efx_rx_queue *rx_queue) { - struct efx_nic *efx = rx_queue->efx; unsigned int max_fill, trigger, limit; EFX_LOG(rx_queue->efx, "initialising RX queue %d\n", rx_queue->queue); @@ -660,7 +662,7 @@ rx_queue->min_overfill = -1U; /* Initialise limit fields */ - max_fill = efx->type->rxd_ring_mask + 1 - EFX_RXD_HEAD_ROOM; + max_fill = EFX_RXQ_SIZE - EFX_RXD_HEAD_ROOM; trigger = max_fill * min(rx_refill_threshold, 100U) / 100U; limit = max_fill * min(rx_refill_limit, 100U) / 100U; @@ -669,7 +671,7 @@ rx_queue->fast_fill_limit = limit; /* Set up RX descriptor ring */ - falcon_init_rx(rx_queue); + efx_nic_init_rx(rx_queue); } void efx_fini_rx_queue(struct efx_rx_queue *rx_queue) @@ -679,11 +681,11 @@ EFX_LOG(rx_queue->efx, "shutting down RX queue %d\n", rx_queue->queue); - falcon_fini_rx(rx_queue); + efx_nic_fini_rx(rx_queue); /* Release RX buffers NB start at index 0 not current HW ptr */ if (rx_queue->buffer) { - for (i = 0; i <= rx_queue->efx->type->rxd_ring_mask; i++) { + for (i = 0; i <= EFX_RXQ_MASK; i++) { rx_buf = efx_rx_buffer(rx_queue, i); efx_fini_rx_buffer(rx_queue, rx_buf); } @@ -704,7 +706,7 @@ { EFX_LOG(rx_queue->efx, "destroying RX queue %d\n", rx_queue->queue); - falcon_remove_rx(rx_queue); + efx_nic_remove_rx(rx_queue); kfree(rx_queue->buffer); rx_queue->buffer = NULL; --- linux-2.6.32.orig/drivers/net/sfc/mcdi_phy.c +++ linux-2.6.32/drivers/net/sfc/mcdi_phy.c @@ -0,0 +1,574 @@ +/**************************************************************************** + * Driver for Solarflare Solarstorm network controllers and boards + * Copyright 2009 Solarflare Communications 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, incorporated herein by reference. + */ + +/* + * Driver for PHY related operations via MCDI. + */ + +#include "efx.h" +#include "phy.h" +#include "mcdi.h" +#include "mcdi_pcol.h" +#include "mdio_10g.h" + +struct efx_mcdi_phy_cfg { + u32 flags; + u32 type; + u32 supported_cap; + u32 channel; + u32 port; + u32 stats_mask; + u8 name[20]; + u32 media; + u32 mmd_mask; + u8 revision[20]; + u32 forced_cap; +}; + +static int +efx_mcdi_get_phy_cfg(struct efx_nic *efx, struct efx_mcdi_phy_cfg *cfg) +{ + u8 outbuf[MC_CMD_GET_PHY_CFG_OUT_LEN]; + size_t outlen; + int rc; + + BUILD_BUG_ON(MC_CMD_GET_PHY_CFG_IN_LEN != 0); + BUILD_BUG_ON(MC_CMD_GET_PHY_CFG_OUT_NAME_LEN != sizeof(cfg->name)); + + rc = efx_mcdi_rpc(efx, MC_CMD_GET_PHY_CFG, NULL, 0, + outbuf, sizeof(outbuf), &outlen); + if (rc) + goto fail; + + if (outlen < MC_CMD_GET_PHY_CFG_OUT_LEN) { + rc = -EMSGSIZE; + goto fail; + } + + cfg->flags = MCDI_DWORD(outbuf, GET_PHY_CFG_OUT_FLAGS); + cfg->type = MCDI_DWORD(outbuf, GET_PHY_CFG_OUT_TYPE); + cfg->supported_cap = + MCDI_DWORD(outbuf, GET_PHY_CFG_OUT_SUPPORTED_CAP); + cfg->channel = MCDI_DWORD(outbuf, GET_PHY_CFG_OUT_CHANNEL); + cfg->port = MCDI_DWORD(outbuf, GET_PHY_CFG_OUT_PRT); + cfg->stats_mask = MCDI_DWORD(outbuf, GET_PHY_CFG_OUT_STATS_MASK); + memcpy(cfg->name, MCDI_PTR(outbuf, GET_PHY_CFG_OUT_NAME), + sizeof(cfg->name)); + cfg->media = MCDI_DWORD(outbuf, GET_PHY_CFG_OUT_MEDIA_TYPE); + cfg->mmd_mask = MCDI_DWORD(outbuf, GET_PHY_CFG_OUT_MMD_MASK); + memcpy(cfg->revision, MCDI_PTR(outbuf, GET_PHY_CFG_OUT_REVISION), + sizeof(cfg->revision)); + + return 0; + +fail: + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; +} + +static int efx_mcdi_set_link(struct efx_nic *efx, u32 capabilities, + u32 flags, u32 loopback_mode, + u32 loopback_speed) +{ + u8 inbuf[MC_CMD_SET_LINK_IN_LEN]; + int rc; + + BUILD_BUG_ON(MC_CMD_SET_LINK_OUT_LEN != 0); + + MCDI_SET_DWORD(inbuf, SET_LINK_IN_CAP, capabilities); + MCDI_SET_DWORD(inbuf, SET_LINK_IN_FLAGS, flags); + MCDI_SET_DWORD(inbuf, SET_LINK_IN_LOOPBACK_MODE, loopback_mode); + MCDI_SET_DWORD(inbuf, SET_LINK_IN_LOOPBACK_SPEED, loopback_speed); + + rc = efx_mcdi_rpc(efx, MC_CMD_SET_LINK, inbuf, sizeof(inbuf), + NULL, 0, NULL); + if (rc) + goto fail; + + return 0; + +fail: + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; +} + +static int efx_mcdi_loopback_modes(struct efx_nic *efx, u64 *loopback_modes) +{ + u8 outbuf[MC_CMD_GET_LOOPBACK_MODES_OUT_LEN]; + size_t outlen; + int rc; + + rc = efx_mcdi_rpc(efx, MC_CMD_GET_LOOPBACK_MODES, NULL, 0, + outbuf, sizeof(outbuf), &outlen); + if (rc) + goto fail; + + if (outlen < MC_CMD_GET_LOOPBACK_MODES_OUT_LEN) { + rc = -EMSGSIZE; + goto fail; + } + + *loopback_modes = MCDI_QWORD(outbuf, GET_LOOPBACK_MODES_SUGGESTED); + + return 0; + +fail: + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; +} + +int efx_mcdi_mdio_read(struct efx_nic *efx, unsigned int bus, + unsigned int prtad, unsigned int devad, u16 addr, + u16 *value_out, u32 *status_out) +{ + u8 inbuf[MC_CMD_MDIO_READ_IN_LEN]; + u8 outbuf[MC_CMD_MDIO_READ_OUT_LEN]; + size_t outlen; + int rc; + + MCDI_SET_DWORD(inbuf, MDIO_READ_IN_BUS, bus); + MCDI_SET_DWORD(inbuf, MDIO_READ_IN_PRTAD, prtad); + MCDI_SET_DWORD(inbuf, MDIO_READ_IN_DEVAD, devad); + MCDI_SET_DWORD(inbuf, MDIO_READ_IN_ADDR, addr); + + rc = efx_mcdi_rpc(efx, MC_CMD_MDIO_READ, inbuf, sizeof(inbuf), + outbuf, sizeof(outbuf), &outlen); + if (rc) + goto fail; + + *value_out = (u16)MCDI_DWORD(outbuf, MDIO_READ_OUT_VALUE); + *status_out = MCDI_DWORD(outbuf, MDIO_READ_OUT_STATUS); + return 0; + +fail: + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; +} + +int efx_mcdi_mdio_write(struct efx_nic *efx, unsigned int bus, + unsigned int prtad, unsigned int devad, u16 addr, + u16 value, u32 *status_out) +{ + u8 inbuf[MC_CMD_MDIO_WRITE_IN_LEN]; + u8 outbuf[MC_CMD_MDIO_WRITE_OUT_LEN]; + size_t outlen; + int rc; + + MCDI_SET_DWORD(inbuf, MDIO_WRITE_IN_BUS, bus); + MCDI_SET_DWORD(inbuf, MDIO_WRITE_IN_PRTAD, prtad); + MCDI_SET_DWORD(inbuf, MDIO_WRITE_IN_DEVAD, devad); + MCDI_SET_DWORD(inbuf, MDIO_WRITE_IN_ADDR, addr); + MCDI_SET_DWORD(inbuf, MDIO_WRITE_IN_VALUE, value); + + rc = efx_mcdi_rpc(efx, MC_CMD_MDIO_WRITE, inbuf, sizeof(inbuf), + outbuf, sizeof(outbuf), &outlen); + if (rc) + goto fail; + + *status_out = MCDI_DWORD(outbuf, MDIO_WRITE_OUT_STATUS); + return 0; + +fail: + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return rc; +} + +static u32 mcdi_to_ethtool_cap(u32 media, u32 cap) +{ + u32 result = 0; + + switch (media) { + case MC_CMD_MEDIA_KX4: + result |= SUPPORTED_Backplane; + if (cap & (1 << MC_CMD_PHY_CAP_1000FDX_LBN)) + result |= SUPPORTED_1000baseKX_Full; + if (cap & (1 << MC_CMD_PHY_CAP_10000FDX_LBN)) + result |= SUPPORTED_10000baseKX4_Full; + break; + + case MC_CMD_MEDIA_XFP: + case MC_CMD_MEDIA_SFP_PLUS: + result |= SUPPORTED_FIBRE; + break; + + case MC_CMD_MEDIA_BASE_T: + result |= SUPPORTED_TP; + if (cap & (1 << MC_CMD_PHY_CAP_10HDX_LBN)) + result |= SUPPORTED_10baseT_Half; + if (cap & (1 << MC_CMD_PHY_CAP_10FDX_LBN)) + result |= SUPPORTED_10baseT_Full; + if (cap & (1 << MC_CMD_PHY_CAP_100HDX_LBN)) + result |= SUPPORTED_100baseT_Half; + if (cap & (1 << MC_CMD_PHY_CAP_100FDX_LBN)) + result |= SUPPORTED_100baseT_Full; + if (cap & (1 << MC_CMD_PHY_CAP_1000HDX_LBN)) + result |= SUPPORTED_1000baseT_Half; + if (cap & (1 << MC_CMD_PHY_CAP_1000FDX_LBN)) + result |= SUPPORTED_1000baseT_Full; + if (cap & (1 << MC_CMD_PHY_CAP_10000FDX_LBN)) + result |= SUPPORTED_10000baseT_Full; + break; + } + + if (cap & (1 << MC_CMD_PHY_CAP_PAUSE_LBN)) + result |= SUPPORTED_Pause; + if (cap & (1 << MC_CMD_PHY_CAP_ASYM_LBN)) + result |= SUPPORTED_Asym_Pause; + if (cap & (1 << MC_CMD_PHY_CAP_AN_LBN)) + result |= SUPPORTED_Autoneg; + + return result; +} + +static u32 ethtool_to_mcdi_cap(u32 cap) +{ + u32 result = 0; + + if (cap & SUPPORTED_10baseT_Half) + result |= (1 << MC_CMD_PHY_CAP_10HDX_LBN); + if (cap & SUPPORTED_10baseT_Full) + result |= (1 << MC_CMD_PHY_CAP_10FDX_LBN); + if (cap & SUPPORTED_100baseT_Half) + result |= (1 << MC_CMD_PHY_CAP_100HDX_LBN); + if (cap & SUPPORTED_100baseT_Full) + result |= (1 << MC_CMD_PHY_CAP_100FDX_LBN); + if (cap & SUPPORTED_1000baseT_Half) + result |= (1 << MC_CMD_PHY_CAP_1000HDX_LBN); + if (cap & (SUPPORTED_1000baseT_Full | SUPPORTED_1000baseKX_Full)) + result |= (1 << MC_CMD_PHY_CAP_1000FDX_LBN); + if (cap & (SUPPORTED_10000baseT_Full | SUPPORTED_10000baseKX4_Full)) + result |= (1 << MC_CMD_PHY_CAP_10000FDX_LBN); + if (cap & SUPPORTED_Pause) + result |= (1 << MC_CMD_PHY_CAP_PAUSE_LBN); + if (cap & SUPPORTED_Asym_Pause) + result |= (1 << MC_CMD_PHY_CAP_ASYM_LBN); + if (cap & SUPPORTED_Autoneg) + result |= (1 << MC_CMD_PHY_CAP_AN_LBN); + + return result; +} + +static u32 efx_get_mcdi_phy_flags(struct efx_nic *efx) +{ + struct efx_mcdi_phy_cfg *phy_cfg = efx->phy_data; + enum efx_phy_mode mode, supported; + u32 flags; + + /* TODO: Advertise the capabilities supported by this PHY */ + supported = 0; + if (phy_cfg->flags & (1 << MC_CMD_GET_PHY_CFG_TXDIS_LBN)) + supported |= PHY_MODE_TX_DISABLED; + if (phy_cfg->flags & (1 << MC_CMD_GET_PHY_CFG_LOWPOWER_LBN)) + supported |= PHY_MODE_LOW_POWER; + if (phy_cfg->flags & (1 << MC_CMD_GET_PHY_CFG_POWEROFF_LBN)) + supported |= PHY_MODE_OFF; + + mode = efx->phy_mode & supported; + + flags = 0; + if (mode & PHY_MODE_TX_DISABLED) + flags |= (1 << MC_CMD_SET_LINK_TXDIS_LBN); + if (mode & PHY_MODE_LOW_POWER) + flags |= (1 << MC_CMD_SET_LINK_LOWPOWER_LBN); + if (mode & PHY_MODE_OFF) + flags |= (1 << MC_CMD_SET_LINK_POWEROFF_LBN); + + return flags; +} + +static u32 mcdi_to_ethtool_media(u32 media) +{ + switch (media) { + case MC_CMD_MEDIA_XAUI: + case MC_CMD_MEDIA_CX4: + case MC_CMD_MEDIA_KX4: + return PORT_OTHER; + + case MC_CMD_MEDIA_XFP: + case MC_CMD_MEDIA_SFP_PLUS: + return PORT_FIBRE; + + case MC_CMD_MEDIA_BASE_T: + return PORT_TP; + + default: + return PORT_OTHER; + } +} + +static int efx_mcdi_phy_probe(struct efx_nic *efx) +{ + struct efx_mcdi_phy_cfg *phy_data; + u8 outbuf[MC_CMD_GET_LINK_OUT_LEN]; + u32 caps; + int rc; + + /* Initialise and populate phy_data */ + phy_data = kzalloc(sizeof(*phy_data), GFP_KERNEL); + if (phy_data == NULL) + return -ENOMEM; + + rc = efx_mcdi_get_phy_cfg(efx, phy_data); + if (rc != 0) + goto fail; + + /* Read initial link advertisement */ + BUILD_BUG_ON(MC_CMD_GET_LINK_IN_LEN != 0); + rc = efx_mcdi_rpc(efx, MC_CMD_GET_LINK, NULL, 0, + outbuf, sizeof(outbuf), NULL); + if (rc) + goto fail; + + /* Fill out nic state */ + efx->phy_data = phy_data; + efx->phy_type = phy_data->type; + + efx->mdio_bus = phy_data->channel; + efx->mdio.prtad = phy_data->port; + efx->mdio.mmds = phy_data->mmd_mask & ~(1 << MC_CMD_MMD_CLAUSE22); + efx->mdio.mode_support = 0; + if (phy_data->mmd_mask & (1 << MC_CMD_MMD_CLAUSE22)) + efx->mdio.mode_support |= MDIO_SUPPORTS_C22; + if (phy_data->mmd_mask & ~(1 << MC_CMD_MMD_CLAUSE22)) + efx->mdio.mode_support |= MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22; + + caps = MCDI_DWORD(outbuf, GET_LINK_OUT_CAP); + if (caps & (1 << MC_CMD_PHY_CAP_AN_LBN)) + efx->link_advertising = + mcdi_to_ethtool_cap(phy_data->media, caps); + else + phy_data->forced_cap = caps; + + /* Assert that we can map efx -> mcdi loopback modes */ + BUILD_BUG_ON(LOOPBACK_NONE != MC_CMD_LOOPBACK_NONE); + BUILD_BUG_ON(LOOPBACK_DATA != MC_CMD_LOOPBACK_DATA); + BUILD_BUG_ON(LOOPBACK_GMAC != MC_CMD_LOOPBACK_GMAC); + BUILD_BUG_ON(LOOPBACK_XGMII != MC_CMD_LOOPBACK_XGMII); + BUILD_BUG_ON(LOOPBACK_XGXS != MC_CMD_LOOPBACK_XGXS); + BUILD_BUG_ON(LOOPBACK_XAUI != MC_CMD_LOOPBACK_XAUI); + BUILD_BUG_ON(LOOPBACK_GMII != MC_CMD_LOOPBACK_GMII); + BUILD_BUG_ON(LOOPBACK_SGMII != MC_CMD_LOOPBACK_SGMII); + BUILD_BUG_ON(LOOPBACK_XGBR != MC_CMD_LOOPBACK_XGBR); + BUILD_BUG_ON(LOOPBACK_XFI != MC_CMD_LOOPBACK_XFI); + BUILD_BUG_ON(LOOPBACK_XAUI_FAR != MC_CMD_LOOPBACK_XAUI_FAR); + BUILD_BUG_ON(LOOPBACK_GMII_FAR != MC_CMD_LOOPBACK_GMII_FAR); + BUILD_BUG_ON(LOOPBACK_SGMII_FAR != MC_CMD_LOOPBACK_SGMII_FAR); + BUILD_BUG_ON(LOOPBACK_XFI_FAR != MC_CMD_LOOPBACK_XFI_FAR); + BUILD_BUG_ON(LOOPBACK_GPHY != MC_CMD_LOOPBACK_GPHY); + BUILD_BUG_ON(LOOPBACK_PHYXS != MC_CMD_LOOPBACK_PHYXS); + BUILD_BUG_ON(LOOPBACK_PCS != MC_CMD_LOOPBACK_PCS); + BUILD_BUG_ON(LOOPBACK_PMAPMD != MC_CMD_LOOPBACK_PMAPMD); + BUILD_BUG_ON(LOOPBACK_XPORT != MC_CMD_LOOPBACK_XPORT); + BUILD_BUG_ON(LOOPBACK_XGMII_WS != MC_CMD_LOOPBACK_XGMII_WS); + BUILD_BUG_ON(LOOPBACK_XAUI_WS != MC_CMD_LOOPBACK_XAUI_WS); + BUILD_BUG_ON(LOOPBACK_XAUI_WS_FAR != MC_CMD_LOOPBACK_XAUI_WS_FAR); + BUILD_BUG_ON(LOOPBACK_XAUI_WS_NEAR != MC_CMD_LOOPBACK_XAUI_WS_NEAR); + BUILD_BUG_ON(LOOPBACK_GMII_WS != MC_CMD_LOOPBACK_GMII_WS); + BUILD_BUG_ON(LOOPBACK_XFI_WS != MC_CMD_LOOPBACK_XFI_WS); + BUILD_BUG_ON(LOOPBACK_XFI_WS_FAR != MC_CMD_LOOPBACK_XFI_WS_FAR); + BUILD_BUG_ON(LOOPBACK_PHYXS_WS != MC_CMD_LOOPBACK_PHYXS_WS); + + rc = efx_mcdi_loopback_modes(efx, &efx->loopback_modes); + if (rc != 0) + goto fail; + /* The MC indicates that LOOPBACK_NONE is a valid loopback mode, + * but by convention we don't */ + efx->loopback_modes &= ~(1 << LOOPBACK_NONE); + + return 0; + +fail: + kfree(phy_data); + return rc; +} + +int efx_mcdi_phy_reconfigure(struct efx_nic *efx) +{ + struct efx_mcdi_phy_cfg *phy_cfg = efx->phy_data; + u32 caps = (efx->link_advertising ? + ethtool_to_mcdi_cap(efx->link_advertising) : + phy_cfg->forced_cap); + + return efx_mcdi_set_link(efx, caps, efx_get_mcdi_phy_flags(efx), + efx->loopback_mode, 0); +} + +void efx_mcdi_phy_decode_link(struct efx_nic *efx, + struct efx_link_state *link_state, + u32 speed, u32 flags, u32 fcntl) +{ + switch (fcntl) { + case MC_CMD_FCNTL_AUTO: + WARN_ON(1); /* This is not a link mode */ + link_state->fc = EFX_FC_AUTO | EFX_FC_TX | EFX_FC_RX; + break; + case MC_CMD_FCNTL_BIDIR: + link_state->fc = EFX_FC_TX | EFX_FC_RX; + break; + case MC_CMD_FCNTL_RESPOND: + link_state->fc = EFX_FC_RX; + break; + default: + WARN_ON(1); + case MC_CMD_FCNTL_OFF: + link_state->fc = 0; + break; + } + + link_state->up = !!(flags & (1 << MC_CMD_GET_LINK_LINK_UP_LBN)); + link_state->fd = !!(flags & (1 << MC_CMD_GET_LINK_FULL_DUPLEX_LBN)); + link_state->speed = speed; +} + +/* Verify that the forced flow control settings (!EFX_FC_AUTO) are + * supported by the link partner. Warn the user if this isn't the case + */ +void efx_mcdi_phy_check_fcntl(struct efx_nic *efx, u32 lpa) +{ + struct efx_mcdi_phy_cfg *phy_cfg = efx->phy_data; + u32 rmtadv; + + /* The link partner capabilities are only relevent if the + * link supports flow control autonegotiation */ + if (~phy_cfg->supported_cap & (1 << MC_CMD_PHY_CAP_ASYM_LBN)) + return; + + /* If flow control autoneg is supported and enabled, then fine */ + if (efx->wanted_fc & EFX_FC_AUTO) + return; + + rmtadv = 0; + if (lpa & (1 << MC_CMD_PHY_CAP_PAUSE_LBN)) + rmtadv |= ADVERTISED_Pause; + if (lpa & (1 << MC_CMD_PHY_CAP_ASYM_LBN)) + rmtadv |= ADVERTISED_Asym_Pause; + + if ((efx->wanted_fc & EFX_FC_TX) && rmtadv == ADVERTISED_Asym_Pause) + EFX_ERR(efx, "warning: link partner doesn't support " + "pause frames"); +} + +static bool efx_mcdi_phy_poll(struct efx_nic *efx) +{ + struct efx_link_state old_state = efx->link_state; + u8 outbuf[MC_CMD_GET_LINK_OUT_LEN]; + int rc; + + WARN_ON(!mutex_is_locked(&efx->mac_lock)); + + BUILD_BUG_ON(MC_CMD_GET_LINK_IN_LEN != 0); + + rc = efx_mcdi_rpc(efx, MC_CMD_GET_LINK, NULL, 0, + outbuf, sizeof(outbuf), NULL); + if (rc) { + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + efx->link_state.up = false; + } else { + efx_mcdi_phy_decode_link( + efx, &efx->link_state, + MCDI_DWORD(outbuf, GET_LINK_OUT_LINK_SPEED), + MCDI_DWORD(outbuf, GET_LINK_OUT_FLAGS), + MCDI_DWORD(outbuf, GET_LINK_OUT_FCNTL)); + } + + return !efx_link_state_equal(&efx->link_state, &old_state); +} + +static void efx_mcdi_phy_remove(struct efx_nic *efx) +{ + struct efx_mcdi_phy_data *phy_data = efx->phy_data; + + efx->phy_data = NULL; + kfree(phy_data); +} + +static void efx_mcdi_phy_get_settings(struct efx_nic *efx, struct ethtool_cmd *ecmd) +{ + struct efx_mcdi_phy_cfg *phy_cfg = efx->phy_data; + u8 outbuf[MC_CMD_GET_LINK_OUT_LEN]; + int rc; + + ecmd->supported = + mcdi_to_ethtool_cap(phy_cfg->media, phy_cfg->supported_cap); + ecmd->advertising = efx->link_advertising; + ecmd->speed = efx->link_state.speed; + ecmd->duplex = efx->link_state.fd; + ecmd->port = mcdi_to_ethtool_media(phy_cfg->media); + ecmd->phy_address = phy_cfg->port; + ecmd->transceiver = XCVR_INTERNAL; + ecmd->autoneg = !!(efx->link_advertising & ADVERTISED_Autoneg); + ecmd->mdio_support = (efx->mdio.mode_support & + (MDIO_SUPPORTS_C45 | MDIO_SUPPORTS_C22)); + + BUILD_BUG_ON(MC_CMD_GET_LINK_IN_LEN != 0); + rc = efx_mcdi_rpc(efx, MC_CMD_GET_LINK, NULL, 0, + outbuf, sizeof(outbuf), NULL); + if (rc) { + EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); + return; + } + ecmd->lp_advertising = + mcdi_to_ethtool_cap(phy_cfg->media, + MCDI_DWORD(outbuf, GET_LINK_OUT_LP_CAP)); +} + +static int efx_mcdi_phy_set_settings(struct efx_nic *efx, struct ethtool_cmd *ecmd) +{ + struct efx_mcdi_phy_cfg *phy_cfg = efx->phy_data; + u32 caps; + int rc; + + if (ecmd->autoneg) { + caps = (ethtool_to_mcdi_cap(ecmd->advertising) | + 1 << MC_CMD_PHY_CAP_AN_LBN); + } else if (ecmd->duplex) { + switch (ecmd->speed) { + case 10: caps = 1 << MC_CMD_PHY_CAP_10FDX_LBN; break; + case 100: caps = 1 << MC_CMD_PHY_CAP_100FDX_LBN; break; + case 1000: caps = 1 << MC_CMD_PHY_CAP_1000FDX_LBN; break; + case 10000: caps = 1 << MC_CMD_PHY_CAP_10000FDX_LBN; break; + default: return -EINVAL; + } + } else { + switch (ecmd->speed) { + case 10: caps = 1 << MC_CMD_PHY_CAP_10HDX_LBN; break; + case 100: caps = 1 << MC_CMD_PHY_CAP_100HDX_LBN; break; + case 1000: caps = 1 << MC_CMD_PHY_CAP_1000HDX_LBN; break; + default: return -EINVAL; + } + } + + rc = efx_mcdi_set_link(efx, caps, efx_get_mcdi_phy_flags(efx), + efx->loopback_mode, 0); + if (rc) + return rc; + + if (ecmd->autoneg) { + efx_link_set_advertising( + efx, ecmd->advertising | ADVERTISED_Autoneg); + phy_cfg->forced_cap = 0; + } else { + efx_link_set_advertising(efx, 0); + phy_cfg->forced_cap = caps; + } + return 0; +} + +struct efx_phy_operations efx_mcdi_phy_ops = { + .probe = efx_mcdi_phy_probe, + .init = efx_port_dummy_op_int, + .reconfigure = efx_mcdi_phy_reconfigure, + .poll = efx_mcdi_phy_poll, + .fini = efx_port_dummy_op_void, + .remove = efx_mcdi_phy_remove, + .get_settings = efx_mcdi_phy_get_settings, + .set_settings = efx_mcdi_phy_set_settings, + .run_tests = NULL, + .test_name = NULL, +}; --- linux-2.6.32.orig/drivers/net/sfc/selftest.c +++ linux-2.6.32/drivers/net/sfc/selftest.c @@ -1,7 +1,7 @@ /**************************************************************************** * Driver for Solarflare Solarstorm network controllers and boards * Copyright 2005-2006 Fen Systems Ltd. - * Copyright 2006-2008 Solarflare Communications Inc. + * Copyright 2006-2009 Solarflare Communications 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 @@ -20,14 +20,12 @@ #include #include #include "net_driver.h" -#include "ethtool.h" #include "efx.h" -#include "falcon.h" +#include "nic.h" #include "selftest.h" -#include "boards.h" #include "workarounds.h" #include "spi.h" -#include "falcon_io.h" +#include "io.h" #include "mdio_10g.h" /* @@ -49,7 +47,7 @@ 0x00, 0x0f, 0x53, 0x1b, 0x1b, 0x1b, }; -static const char *payload_msg = +static const char payload_msg[] = "Hello world! This is an Efx loopback test in progress!"; /** @@ -57,6 +55,7 @@ * @flush: Drop all packets in efx_loopback_rx_packet * @packet_count: Number of packets being used in this test * @skbs: An array of skbs transmitted + * @offload_csum: Checksums are being offloaded * @rx_good: RX good packet count * @rx_bad: RX bad packet count * @payload: Payload used in tests @@ -65,10 +64,7 @@ bool flush; int packet_count; struct sk_buff **skbs; - - /* Checksums are being offloaded */ bool offload_csum; - atomic_t rx_good; atomic_t rx_bad; struct efx_loopback_payload payload; @@ -83,10 +79,14 @@ static int efx_test_mdio(struct efx_nic *efx, struct efx_self_tests *tests) { int rc = 0; - int devad = __ffs(efx->mdio.mmds); + int devad; u16 physid1, physid2; - if (efx->phy_type == PHY_TYPE_NONE) + if (efx->mdio.mode_support & MDIO_SUPPORTS_C45) + devad = __ffs(efx->mdio.mmds); + else if (efx->mdio.mode_support & MDIO_SUPPORTS_C22) + devad = MDIO_DEVAD_NONE; + else return 0; mutex_lock(&efx->mac_lock); @@ -104,7 +104,7 @@ } if (EFX_IS10G(efx)) { - rc = efx_mdio_check_mmds(efx, efx->phy_op->mmds, 0); + rc = efx_mdio_check_mmds(efx, efx->mdio.mmds, 0); if (rc) goto out; } @@ -117,23 +117,26 @@ static int efx_test_nvram(struct efx_nic *efx, struct efx_self_tests *tests) { - int rc; + int rc = 0; + + if (efx->type->test_nvram) { + rc = efx->type->test_nvram(efx); + tests->nvram = rc ? -1 : 1; + } - rc = falcon_read_nvram(efx, NULL); - tests->nvram = rc ? -1 : 1; return rc; } static int efx_test_chip(struct efx_nic *efx, struct efx_self_tests *tests) { - int rc; + int rc = 0; - /* Not supported on A-series silicon */ - if (falcon_rev(efx) < FALCON_REV_B0) - return 0; + /* Test register access */ + if (efx->type->test_registers) { + rc = efx->type->test_registers(efx); + tests->registers = rc ? -1 : 1; + } - rc = falcon_test_registers(efx); - tests->registers = rc ? -1 : 1; return rc; } @@ -165,7 +168,7 @@ goto success; } - falcon_generate_interrupt(efx); + efx_nic_generate_interrupt(efx); /* Wait for arrival of test interrupt. */ EFX_LOG(efx, "waiting for test interrupt\n"); @@ -177,8 +180,8 @@ return -ETIMEDOUT; success: - EFX_LOG(efx, "test interrupt (mode %d) seen on CPU%d\n", - efx->interrupt_mode, efx->last_irq_cpu); + EFX_LOG(efx, "%s test interrupt seen on CPU%d\n", INT_MODE(efx), + efx->last_irq_cpu); tests->interrupt = 1; return 0; } @@ -203,7 +206,7 @@ channel->eventq_magic = 0; smp_wmb(); - falcon_generate_test_event(channel, magic); + efx_nic_generate_test_event(channel, magic); /* Wait for arrival of interrupt */ count = 0; @@ -254,9 +257,6 @@ if (!efx->phy_op->run_tests) return 0; - EFX_BUG_ON_PARANOID(efx->phy_op->num_tests == 0 || - efx->phy_op->num_tests > EFX_MAX_PHY_TESTS); - mutex_lock(&efx->mac_lock); rc = efx->phy_op->run_tests(efx, tests->phy, flags); mutex_unlock(&efx->mac_lock); @@ -426,7 +426,7 @@ if (efx_dev_registered(efx)) netif_tx_lock_bh(efx->net_dev); - rc = efx_xmit(efx, tx_queue, skb); + rc = efx_enqueue_skb(tx_queue, skb); if (efx_dev_registered(efx)) netif_tx_unlock_bh(efx->net_dev); @@ -439,7 +439,6 @@ kfree_skb(skb); return -EPIPE; } - efx->net_dev->trans_start = jiffies; } return 0; @@ -527,7 +526,7 @@ for (i = 0; i < 3; i++) { /* Determine how many packets to send */ - state->packet_count = (efx->type->txd_ring_mask + 1) / 3; + state->packet_count = EFX_TXQ_SIZE / 3; state->packet_count = min(1 << (i << 2), state->packet_count); state->skbs = kzalloc(sizeof(state->skbs[0]) * state->packet_count, GFP_KERNEL); @@ -568,14 +567,49 @@ return 0; } +/* Wait for link up. On Falcon, we would prefer to rely on efx_monitor, but + * any contention on the mac lock (via e.g. efx_mac_mcast_work) causes it + * to delay and retry. Therefore, it's safer to just poll directly. Wait + * for link up and any faults to dissipate. */ +static int efx_wait_for_link(struct efx_nic *efx) +{ + struct efx_link_state *link_state = &efx->link_state; + int count; + bool link_up; + + for (count = 0; count < 40; count++) { + schedule_timeout_uninterruptible(HZ / 10); + + if (efx->type->monitor != NULL) { + mutex_lock(&efx->mac_lock); + efx->type->monitor(efx); + mutex_unlock(&efx->mac_lock); + } else { + struct efx_channel *channel = &efx->channel[0]; + if (channel->work_pending) + efx_process_channel_now(channel); + } + + mutex_lock(&efx->mac_lock); + link_up = link_state->up; + if (link_up) + link_up = !efx->mac_op->check_fault(efx); + mutex_unlock(&efx->mac_lock); + + if (link_up) + return 0; + } + + return -ETIMEDOUT; +} + static int efx_test_loopbacks(struct efx_nic *efx, struct efx_self_tests *tests, unsigned int loopback_modes) { enum efx_loopback_mode mode; struct efx_loopback_state *state; struct efx_tx_queue *tx_queue; - bool link_up; - int count, rc = 0; + int rc = 0; /* Set the port loopback_selftest member. From this point on * all received packets will be dropped. Mark the state as @@ -594,46 +628,23 @@ /* Move the port into the specified loopback mode. */ state->flush = true; + mutex_lock(&efx->mac_lock); efx->loopback_mode = mode; - efx_reconfigure_port(efx); - - /* Wait for the PHY to signal the link is up. Interrupts - * are enabled for PHY's using LASI, otherwise we poll() - * quickly */ - count = 0; - do { - struct efx_channel *channel = &efx->channel[0]; + rc = __efx_reconfigure_port(efx); + mutex_unlock(&efx->mac_lock); + if (rc) { + EFX_ERR(efx, "unable to move into %s loopback\n", + LOOPBACK_MODE(efx)); + goto out; + } - efx->phy_op->poll(efx); - schedule_timeout_uninterruptible(HZ / 10); - if (channel->work_pending) - efx_process_channel_now(channel); - /* Wait for PHY events to be processed */ - flush_workqueue(efx->workqueue); - rmb(); - - /* We need both the phy and xaui links to be ok. - * rather than relying on the falcon_xmac irq/poll - * regime, just poll xaui directly */ - link_up = efx->link_up; - if (link_up && EFX_IS10G(efx) && - !falcon_xaui_link_ok(efx)) - link_up = false; - - } while ((++count < 20) && !link_up); - - /* The link should now be up. If it isn't, there is no point - * in attempting a loopback test */ - if (!link_up) { + rc = efx_wait_for_link(efx); + if (rc) { EFX_ERR(efx, "loopback %s never came up\n", LOOPBACK_MODE(efx)); - rc = -EIO; goto out; } - EFX_LOG(efx, "link came up in %s loopback in %d iterations\n", - LOOPBACK_MODE(efx), count); - /* Test every TX queue */ efx_for_each_tx_queue(tx_queue, efx) { state->offload_csum = (tx_queue->queue == @@ -667,7 +678,6 @@ enum efx_loopback_mode loopback_mode = efx->loopback_mode; int phy_mode = efx->phy_mode; enum reset_type reset_method = RESET_TYPE_INVISIBLE; - struct ethtool_cmd ecmd; struct efx_channel *channel; int rc_test = 0, rc_reset = 0, rc; @@ -720,21 +730,21 @@ mutex_unlock(&efx->mac_lock); /* free up all consumers of SRAM (including all the queues) */ - efx_reset_down(efx, reset_method, &ecmd); + efx_reset_down(efx, reset_method); rc = efx_test_chip(efx, tests); if (rc && !rc_test) rc_test = rc; /* reset the chip to recover from the register test */ - rc_reset = falcon_reset_hw(efx, reset_method); + rc_reset = efx->type->reset(efx, reset_method); /* Ensure that the phy is powered and out of loopback * for the bist and loopback tests */ efx->phy_mode &= ~PHY_MODE_LOW_POWER; efx->loopback_mode = LOOPBACK_NONE; - rc = efx_reset_up(efx, reset_method, &ecmd, rc_reset == 0); + rc = efx_reset_up(efx, reset_method, rc_reset == 0); if (rc && !rc_reset) rc_reset = rc; @@ -753,10 +763,12 @@ rc_test = rc; /* restore the PHY to the previous state */ - efx->loopback_mode = loopback_mode; + mutex_lock(&efx->mac_lock); efx->phy_mode = phy_mode; efx->port_inhibited = false; - efx_ethtool_set_settings(efx->net_dev, &ecmd); + efx->loopback_mode = loopback_mode; + __efx_reconfigure_port(efx); + mutex_unlock(&efx->mac_lock); return rc_test; } --- linux-2.6.32.orig/drivers/net/sfc/tx.c +++ linux-2.6.32/drivers/net/sfc/tx.c @@ -1,7 +1,7 @@ /**************************************************************************** * Driver for Solarflare Solarstorm network controllers and boards * Copyright 2005-2006 Fen Systems Ltd. - * Copyright 2005-2008 Solarflare Communications Inc. + * Copyright 2005-2009 Solarflare Communications 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 @@ -12,12 +12,13 @@ #include #include #include +#include +#include #include #include #include "net_driver.h" -#include "tx.h" #include "efx.h" -#include "falcon.h" +#include "nic.h" #include "workarounds.h" /* @@ -26,8 +27,7 @@ * The tx_queue descriptor ring fill-level must fall below this value * before we restart the netif queue */ -#define EFX_NETDEV_TX_THRESHOLD(_tx_queue) \ - (_tx_queue->efx->type->txd_ring_mask / 2u) +#define EFX_TXQ_THRESHOLD (EFX_TXQ_MASK / 2u) /* We want to be able to nest calls to netif_stop_queue(), since each * channel can have an individual stop on the queue. @@ -125,6 +125,24 @@ } +static inline unsigned +efx_max_tx_len(struct efx_nic *efx, dma_addr_t dma_addr) +{ + /* Depending on the NIC revision, we can use descriptor + * lengths up to 8K or 8K-1. However, since PCI Express + * devices must split read requests at 4K boundaries, there is + * little benefit from using descriptors that cross those + * boundaries and we keep things simple by not doing so. + */ + unsigned len = (~dma_addr & 0xfff) + 1; + + /* Work around hardware bug for unaligned buffers. */ + if (EFX_WORKAROUND_5391(efx) && (dma_addr & 0xf)) + len = min_t(unsigned, len, 512 - (dma_addr & 0xf)); + + return len; +} + /* * Add a socket buffer to a TX queue * @@ -135,11 +153,13 @@ * If any DMA mapping fails, any mapped fragments will be unmapped, * the queue's insert pointer will be restored to its original value. * + * This function is split out from efx_hard_start_xmit to allow the + * loopback test to direct packets via specific TX queues. + * * Returns NETDEV_TX_OK or NETDEV_TX_BUSY * You must hold netif_tx_lock() to call this function. */ -static netdev_tx_t efx_enqueue_skb(struct efx_tx_queue *tx_queue, - struct sk_buff *skb) +netdev_tx_t efx_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb) { struct efx_nic *efx = tx_queue->efx; struct pci_dev *pci_dev = efx->pci_dev; @@ -147,7 +167,7 @@ skb_frag_t *fragment; struct page *page; int page_offset; - unsigned int len, unmap_len = 0, fill_level, insert_ptr, misalign; + unsigned int len, unmap_len = 0, fill_level, insert_ptr; dma_addr_t dma_addr, unmap_addr = 0; unsigned int dma_len; bool unmap_single; @@ -156,7 +176,7 @@ EFX_BUG_ON_PARANOID(tx_queue->write_count != tx_queue->insert_count); - if (skb_shinfo((struct sk_buff *)skb)->gso_size) + if (skb_shinfo(skb)->gso_size) return efx_enqueue_skb_tso(tx_queue, skb); /* Get size of the initial fragment */ @@ -171,7 +191,7 @@ } fill_level = tx_queue->insert_count - tx_queue->old_read_count; - q_space = efx->type->txd_ring_mask - 1 - fill_level; + q_space = EFX_TXQ_MASK - 1 - fill_level; /* Map for DMA. Use pci_map_single rather than pci_map_page * since this is more efficient on machines with sparse @@ -208,16 +228,14 @@ &tx_queue->read_count; fill_level = (tx_queue->insert_count - tx_queue->old_read_count); - q_space = (efx->type->txd_ring_mask - 1 - - fill_level); + q_space = EFX_TXQ_MASK - 1 - fill_level; if (unlikely(q_space-- <= 0)) goto stop; smp_mb(); --tx_queue->stopped; } - insert_ptr = (tx_queue->insert_count & - efx->type->txd_ring_mask); + insert_ptr = tx_queue->insert_count & EFX_TXQ_MASK; buffer = &tx_queue->buffer[insert_ptr]; efx_tsoh_free(tx_queue, buffer); EFX_BUG_ON_PARANOID(buffer->tsoh); @@ -226,14 +244,10 @@ EFX_BUG_ON_PARANOID(!buffer->continuation); EFX_BUG_ON_PARANOID(buffer->unmap_len); - dma_len = (((~dma_addr) & efx->type->tx_dma_mask) + 1); - if (likely(dma_len > len)) + dma_len = efx_max_tx_len(efx, dma_addr); + if (likely(dma_len >= len)) dma_len = len; - misalign = (unsigned)dma_addr & efx->type->bug5391_mask; - if (misalign && dma_len + misalign > 512) - dma_len = 512 - misalign; - /* Fill out per descriptor fields */ buffer->len = dma_len; buffer->dma_addr = dma_addr; @@ -266,7 +280,7 @@ buffer->continuation = false; /* Pass off to hardware */ - falcon_push_buffers(tx_queue); + efx_nic_push_buffers(tx_queue); return NETDEV_TX_OK; @@ -276,7 +290,7 @@ skb_shinfo(skb)->nr_frags + 1); /* Mark the packet as transmitted, and free the SKB ourselves */ - dev_kfree_skb_any((struct sk_buff *)skb); + dev_kfree_skb_any(skb); goto unwind; stop: @@ -289,7 +303,7 @@ /* Work backwards until we hit the original insert pointer value */ while (tx_queue->insert_count != tx_queue->write_count) { --tx_queue->insert_count; - insert_ptr = tx_queue->insert_count & efx->type->txd_ring_mask; + insert_ptr = tx_queue->insert_count & EFX_TXQ_MASK; buffer = &tx_queue->buffer[insert_ptr]; efx_dequeue_buffer(tx_queue, buffer); buffer->len = 0; @@ -318,10 +332,9 @@ { struct efx_nic *efx = tx_queue->efx; unsigned int stop_index, read_ptr; - unsigned int mask = tx_queue->efx->type->txd_ring_mask; - stop_index = (index + 1) & mask; - read_ptr = tx_queue->read_count & mask; + stop_index = (index + 1) & EFX_TXQ_MASK; + read_ptr = tx_queue->read_count & EFX_TXQ_MASK; while (read_ptr != stop_index) { struct efx_tx_buffer *buffer = &tx_queue->buffer[read_ptr]; @@ -338,28 +351,10 @@ buffer->len = 0; ++tx_queue->read_count; - read_ptr = tx_queue->read_count & mask; + read_ptr = tx_queue->read_count & EFX_TXQ_MASK; } } -/* Initiate a packet transmission on the specified TX queue. - * Note that returning anything other than NETDEV_TX_OK will cause the - * OS to free the skb. - * - * This function is split out from efx_hard_start_xmit to allow the - * loopback test to direct packets via specific TX queues. It is - * therefore a non-static inline, so as not to penalise performance - * for non-loopback transmissions. - * - * Context: netif_tx_lock held - */ -inline netdev_tx_t efx_xmit(struct efx_nic *efx, - struct efx_tx_queue *tx_queue, struct sk_buff *skb) -{ - /* Map fragments for DMA and add to TX queue */ - return efx_enqueue_skb(tx_queue, skb); -} - /* Initiate a packet transmission. We use one channel per CPU * (sharing when we have more CPUs than channels). On Falcon, the TX * completion events will be directed back to the CPU that transmitted @@ -383,7 +378,7 @@ else tx_queue = &efx->tx_queue[EFX_TX_QUEUE_NO_CSUM]; - return efx_xmit(efx, tx_queue, skb); + return efx_enqueue_skb(tx_queue, skb); } void efx_xmit_done(struct efx_tx_queue *tx_queue, unsigned int index) @@ -391,7 +386,7 @@ unsigned fill_level; struct efx_nic *efx = tx_queue->efx; - EFX_BUG_ON_PARANOID(index > efx->type->txd_ring_mask); + EFX_BUG_ON_PARANOID(index > EFX_TXQ_MASK); efx_dequeue_buffers(tx_queue, index); @@ -401,7 +396,7 @@ smp_mb(); if (unlikely(tx_queue->stopped) && likely(efx->port_enabled)) { fill_level = tx_queue->insert_count - tx_queue->read_count; - if (fill_level < EFX_NETDEV_TX_THRESHOLD(tx_queue)) { + if (fill_level < EFX_TXQ_THRESHOLD) { EFX_BUG_ON_PARANOID(!efx_dev_registered(efx)); /* Do this under netif_tx_lock(), to avoid racing @@ -425,15 +420,15 @@ EFX_LOG(efx, "creating TX queue %d\n", tx_queue->queue); /* Allocate software ring */ - txq_size = (efx->type->txd_ring_mask + 1) * sizeof(*tx_queue->buffer); + txq_size = EFX_TXQ_SIZE * sizeof(*tx_queue->buffer); tx_queue->buffer = kzalloc(txq_size, GFP_KERNEL); if (!tx_queue->buffer) return -ENOMEM; - for (i = 0; i <= efx->type->txd_ring_mask; ++i) + for (i = 0; i <= EFX_TXQ_MASK; ++i) tx_queue->buffer[i].continuation = true; /* Allocate hardware ring */ - rc = falcon_probe_tx(tx_queue); + rc = efx_nic_probe_tx(tx_queue); if (rc) goto fail; @@ -456,7 +451,7 @@ BUG_ON(tx_queue->stopped); /* Set up TX descriptor ring */ - falcon_init_tx(tx_queue); + efx_nic_init_tx(tx_queue); } void efx_release_tx_buffers(struct efx_tx_queue *tx_queue) @@ -468,8 +463,7 @@ /* Free any buffers left in the ring */ while (tx_queue->read_count != tx_queue->write_count) { - buffer = &tx_queue->buffer[tx_queue->read_count & - tx_queue->efx->type->txd_ring_mask]; + buffer = &tx_queue->buffer[tx_queue->read_count & EFX_TXQ_MASK]; efx_dequeue_buffer(tx_queue, buffer); buffer->continuation = true; buffer->len = 0; @@ -483,7 +477,7 @@ EFX_LOG(tx_queue->efx, "shutting down TX queue %d\n", tx_queue->queue); /* Flush TX queue, remove descriptor ring */ - falcon_fini_tx(tx_queue); + efx_nic_fini_tx(tx_queue); efx_release_tx_buffers(tx_queue); @@ -500,7 +494,7 @@ void efx_remove_tx_queue(struct efx_tx_queue *tx_queue) { EFX_LOG(tx_queue->efx, "destroying TX queue %d\n", tx_queue->queue); - falcon_remove_tx(tx_queue); + efx_nic_remove_tx(tx_queue); kfree(tx_queue->buffer); tx_queue->buffer = NULL; @@ -539,6 +533,7 @@ #define ETH_HDR_LEN(skb) (skb_network_header(skb) - (skb)->data) #define SKB_TCP_OFF(skb) PTR_DIFF(tcp_hdr(skb), (skb)->data) #define SKB_IPV4_OFF(skb) PTR_DIFF(ip_hdr(skb), (skb)->data) +#define SKB_IPV6_OFF(skb) PTR_DIFF(ipv6_hdr(skb), (skb)->data) /** * struct tso_state - TSO state for an SKB @@ -551,6 +546,7 @@ * @unmap_len: Length of SKB fragment * @unmap_addr: DMA address of SKB fragment * @unmap_single: DMA single vs page mapping flag + * @protocol: Network protocol (after any VLAN header) * @header_len: Number of bytes of header * @full_packet_size: Number of bytes to put in each outgoing segment * @@ -571,6 +567,7 @@ dma_addr_t unmap_addr; bool unmap_single; + __be16 protocol; unsigned header_len; int full_packet_size; }; @@ -578,9 +575,9 @@ /* * Verify that our various assumptions about sk_buffs and the conditions - * under which TSO will be attempted hold true. + * under which TSO will be attempted hold true. Return the protocol number. */ -static void efx_tso_check_safe(struct sk_buff *skb) +static __be16 efx_tso_check_protocol(struct sk_buff *skb) { __be16 protocol = skb->protocol; @@ -595,13 +592,22 @@ if (protocol == htons(ETH_P_IP)) skb_set_transport_header(skb, sizeof(*veh) + 4 * ip_hdr(skb)->ihl); + else if (protocol == htons(ETH_P_IPV6)) + skb_set_transport_header(skb, sizeof(*veh) + + sizeof(struct ipv6hdr)); } - EFX_BUG_ON_PARANOID(protocol != htons(ETH_P_IP)); - EFX_BUG_ON_PARANOID(ip_hdr(skb)->protocol != IPPROTO_TCP); + if (protocol == htons(ETH_P_IP)) { + EFX_BUG_ON_PARANOID(ip_hdr(skb)->protocol != IPPROTO_TCP); + } else { + EFX_BUG_ON_PARANOID(protocol != htons(ETH_P_IPV6)); + EFX_BUG_ON_PARANOID(ipv6_hdr(skb)->nexthdr != NEXTHDR_TCP); + } EFX_BUG_ON_PARANOID((PTR_DIFF(tcp_hdr(skb), skb->data) + (tcp_hdr(skb)->doff << 2u)) > skb_headlen(skb)); + + return protocol; } @@ -708,14 +714,14 @@ { struct efx_tx_buffer *buffer; struct efx_nic *efx = tx_queue->efx; - unsigned dma_len, fill_level, insert_ptr, misalign; + unsigned dma_len, fill_level, insert_ptr; int q_space; EFX_BUG_ON_PARANOID(len <= 0); fill_level = tx_queue->insert_count - tx_queue->old_read_count; /* -1 as there is no way to represent all descriptors used */ - q_space = efx->type->txd_ring_mask - 1 - fill_level; + q_space = EFX_TXQ_MASK - 1 - fill_level; while (1) { if (unlikely(q_space-- <= 0)) { @@ -731,7 +737,7 @@ *(volatile unsigned *)&tx_queue->read_count; fill_level = (tx_queue->insert_count - tx_queue->old_read_count); - q_space = efx->type->txd_ring_mask - 1 - fill_level; + q_space = EFX_TXQ_MASK - 1 - fill_level; if (unlikely(q_space-- <= 0)) { *final_buffer = NULL; return 1; @@ -740,13 +746,13 @@ --tx_queue->stopped; } - insert_ptr = tx_queue->insert_count & efx->type->txd_ring_mask; + insert_ptr = tx_queue->insert_count & EFX_TXQ_MASK; buffer = &tx_queue->buffer[insert_ptr]; ++tx_queue->insert_count; EFX_BUG_ON_PARANOID(tx_queue->insert_count - tx_queue->read_count > - efx->type->txd_ring_mask); + EFX_TXQ_MASK); efx_tsoh_free(tx_queue, buffer); EFX_BUG_ON_PARANOID(buffer->len); @@ -757,12 +763,7 @@ buffer->dma_addr = dma_addr; - /* Ensure we do not cross a boundary unsupported by H/W */ - dma_len = (~dma_addr & efx->type->tx_dma_mask) + 1; - - misalign = (unsigned)dma_addr & efx->type->bug5391_mask; - if (misalign && dma_len + misalign > 512) - dma_len = 512 - misalign; + dma_len = efx_max_tx_len(efx, dma_addr); /* If there is enough space to send then do so */ if (dma_len >= len) @@ -792,8 +793,7 @@ { struct efx_tx_buffer *buffer; - buffer = &tx_queue->buffer[tx_queue->insert_count & - tx_queue->efx->type->txd_ring_mask]; + buffer = &tx_queue->buffer[tx_queue->insert_count & EFX_TXQ_MASK]; efx_tsoh_free(tx_queue, buffer); EFX_BUG_ON_PARANOID(buffer->len); EFX_BUG_ON_PARANOID(buffer->unmap_len); @@ -818,11 +818,9 @@ while (tx_queue->insert_count != tx_queue->write_count) { --tx_queue->insert_count; buffer = &tx_queue->buffer[tx_queue->insert_count & - tx_queue->efx->type->txd_ring_mask]; + EFX_TXQ_MASK]; efx_tsoh_free(tx_queue, buffer); EFX_BUG_ON_PARANOID(buffer->skb); - buffer->len = 0; - buffer->continuation = true; if (buffer->unmap_len) { unmap_addr = (buffer->dma_addr + buffer->len - buffer->unmap_len); @@ -836,6 +834,8 @@ PCI_DMA_TODEVICE); buffer->unmap_len = 0; } + buffer->len = 0; + buffer->continuation = true; } } @@ -850,7 +850,10 @@ + PTR_DIFF(tcp_hdr(skb), skb->data)); st->full_packet_size = st->header_len + skb_shinfo(skb)->gso_size; - st->ipv4_id = ntohs(ip_hdr(skb)->id); + if (st->protocol == htons(ETH_P_IP)) + st->ipv4_id = ntohs(ip_hdr(skb)->id); + else + st->ipv4_id = 0; st->seqnum = ntohl(tcp_hdr(skb)->seq); EFX_BUG_ON_PARANOID(tcp_hdr(skb)->urg); @@ -965,7 +968,6 @@ struct tso_state *st) { struct efx_tso_header *tsoh; - struct iphdr *tsoh_iph; struct tcphdr *tsoh_th; unsigned ip_length; u8 *header; @@ -989,7 +991,6 @@ header = TSOH_BUFFER(tsoh); tsoh_th = (struct tcphdr *)(header + SKB_TCP_OFF(skb)); - tsoh_iph = (struct iphdr *)(header + SKB_IPV4_OFF(skb)); /* Copy and update the headers. */ memcpy(header, skb->data, st->header_len); @@ -1007,11 +1008,22 @@ tsoh_th->fin = tcp_hdr(skb)->fin; tsoh_th->psh = tcp_hdr(skb)->psh; } - tsoh_iph->tot_len = htons(ip_length); - /* Linux leaves suitable gaps in the IP ID space for us to fill. */ - tsoh_iph->id = htons(st->ipv4_id); - st->ipv4_id++; + if (st->protocol == htons(ETH_P_IP)) { + struct iphdr *tsoh_iph = + (struct iphdr *)(header + SKB_IPV4_OFF(skb)); + + tsoh_iph->tot_len = htons(ip_length); + + /* Linux leaves suitable gaps in the IP ID space for us to fill. */ + tsoh_iph->id = htons(st->ipv4_id); + st->ipv4_id++; + } else { + struct ipv6hdr *tsoh_iph = + (struct ipv6hdr *)(header + SKB_IPV6_OFF(skb)); + + tsoh_iph->payload_len = htons(ip_length - sizeof(*tsoh_iph)); + } st->packet_space = skb_shinfo(skb)->gso_size; ++tx_queue->tso_packets; @@ -1041,8 +1053,8 @@ int frag_i, rc, rc2 = NETDEV_TX_OK; struct tso_state state; - /* Verify TSO is safe - these checks should never fail. */ - efx_tso_check_safe(skb); + /* Find the packet protocol and sanity-check it */ + state.protocol = efx_tso_check_protocol(skb); EFX_BUG_ON_PARANOID(tx_queue->write_count != tx_queue->insert_count); @@ -1092,14 +1104,14 @@ } /* Pass off to hardware */ - falcon_push_buffers(tx_queue); + efx_nic_push_buffers(tx_queue); tx_queue->tso_bursts++; return NETDEV_TX_OK; mem_err: EFX_ERR(efx, "Out of memory for TSO headers, or PCI mapping error\n"); - dev_kfree_skb_any((struct sk_buff *)skb); + dev_kfree_skb_any(skb); goto unwind; stop: @@ -1135,7 +1147,7 @@ unsigned i; if (tx_queue->buffer) { - for (i = 0; i <= tx_queue->efx->type->txd_ring_mask; ++i) + for (i = 0; i <= EFX_TXQ_MASK; ++i) efx_tsoh_free(tx_queue, &tx_queue->buffer[i]); } --- linux-2.6.32.orig/drivers/net/sfc/nic.h +++ linux-2.6.32/drivers/net/sfc/nic.h @@ -0,0 +1,261 @@ +/**************************************************************************** + * Driver for Solarflare Solarstorm network controllers and boards + * Copyright 2005-2006 Fen Systems Ltd. + * Copyright 2006-2009 Solarflare Communications 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, incorporated herein by reference. + */ + +#ifndef EFX_NIC_H +#define EFX_NIC_H + +#include +#include "net_driver.h" +#include "efx.h" +#include "mcdi.h" + +/* + * Falcon hardware control + */ + +enum { + EFX_REV_FALCON_A0 = 0, + EFX_REV_FALCON_A1 = 1, + EFX_REV_FALCON_B0 = 2, + EFX_REV_SIENA_A0 = 3, +}; + +static inline int efx_nic_rev(struct efx_nic *efx) +{ + return efx->type->revision; +} + +extern u32 efx_nic_fpga_ver(struct efx_nic *efx); + +static inline bool efx_nic_has_mc(struct efx_nic *efx) +{ + return efx_nic_rev(efx) >= EFX_REV_SIENA_A0; +} +/* NIC has two interlinked PCI functions for the same port. */ +static inline bool efx_nic_is_dual_func(struct efx_nic *efx) +{ + return efx_nic_rev(efx) < EFX_REV_FALCON_B0; +} + +enum { + PHY_TYPE_NONE = 0, + PHY_TYPE_TXC43128 = 1, + PHY_TYPE_88E1111 = 2, + PHY_TYPE_SFX7101 = 3, + PHY_TYPE_QT2022C2 = 4, + PHY_TYPE_PM8358 = 6, + PHY_TYPE_SFT9001A = 8, + PHY_TYPE_QT2025C = 9, + PHY_TYPE_SFT9001B = 10, +}; + +#define FALCON_XMAC_LOOPBACKS \ + ((1 << LOOPBACK_XGMII) | \ + (1 << LOOPBACK_XGXS) | \ + (1 << LOOPBACK_XAUI)) + +#define FALCON_GMAC_LOOPBACKS \ + (1 << LOOPBACK_GMAC) + +/** + * struct falcon_board_type - board operations and type information + * @id: Board type id, as found in NVRAM + * @ref_model: Model number of Solarflare reference design + * @gen_type: Generic board type description + * @init: Allocate resources and initialise peripheral hardware + * @init_phy: Do board-specific PHY initialisation + * @fini: Shut down hardware and free resources + * @set_id_led: Set state of identifying LED or revert to automatic function + * @monitor: Board-specific health check function + */ +struct falcon_board_type { + u8 id; + const char *ref_model; + const char *gen_type; + int (*init) (struct efx_nic *nic); + void (*init_phy) (struct efx_nic *efx); + void (*fini) (struct efx_nic *nic); + void (*set_id_led) (struct efx_nic *efx, enum efx_led_mode mode); + int (*monitor) (struct efx_nic *nic); +}; + +/** + * struct falcon_board - board information + * @type: Type of board + * @major: Major rev. ('A', 'B' ...) + * @minor: Minor rev. (0, 1, ...) + * @i2c_adap: I2C adapter for on-board peripherals + * @i2c_data: Data for bit-banging algorithm + * @hwmon_client: I2C client for hardware monitor + * @ioexp_client: I2C client for power/port control + */ +struct falcon_board { + const struct falcon_board_type *type; + int major; + int minor; + struct i2c_adapter i2c_adap; + struct i2c_algo_bit_data i2c_data; + struct i2c_client *hwmon_client, *ioexp_client; +}; + +/** + * struct falcon_nic_data - Falcon NIC state + * @pci_dev2: Secondary function of Falcon A + * @board: Board state and functions + * @stats_disable_count: Nest count for disabling statistics fetches + * @stats_pending: Is there a pending DMA of MAC statistics. + * @stats_timer: A timer for regularly fetching MAC statistics. + * @stats_dma_done: Pointer to the flag which indicates DMA completion. + */ +struct falcon_nic_data { + struct pci_dev *pci_dev2; + struct falcon_board board; + unsigned int stats_disable_count; + bool stats_pending; + struct timer_list stats_timer; + u32 *stats_dma_done; +}; + +static inline struct falcon_board *falcon_board(struct efx_nic *efx) +{ + struct falcon_nic_data *data = efx->nic_data; + return &data->board; +} + +/** + * struct siena_nic_data - Siena NIC state + * @fw_version: Management controller firmware version + * @fw_build: Firmware build number + * @mcdi: Management-Controller-to-Driver Interface + * @wol_filter_id: Wake-on-LAN packet filter id + */ +struct siena_nic_data { + u64 fw_version; + u32 fw_build; + struct efx_mcdi_iface mcdi; + int wol_filter_id; +}; + +extern void siena_print_fwver(struct efx_nic *efx, char *buf, size_t len); + +extern struct efx_nic_type falcon_a1_nic_type; +extern struct efx_nic_type falcon_b0_nic_type; +extern struct efx_nic_type siena_a0_nic_type; + +/************************************************************************** + * + * Externs + * + ************************************************************************** + */ + +extern int falcon_probe_board(struct efx_nic *efx, u16 revision_info); + +/* TX data path */ +extern int efx_nic_probe_tx(struct efx_tx_queue *tx_queue); +extern void efx_nic_init_tx(struct efx_tx_queue *tx_queue); +extern void efx_nic_fini_tx(struct efx_tx_queue *tx_queue); +extern void efx_nic_remove_tx(struct efx_tx_queue *tx_queue); +extern void efx_nic_push_buffers(struct efx_tx_queue *tx_queue); + +/* RX data path */ +extern int efx_nic_probe_rx(struct efx_rx_queue *rx_queue); +extern void efx_nic_init_rx(struct efx_rx_queue *rx_queue); +extern void efx_nic_fini_rx(struct efx_rx_queue *rx_queue); +extern void efx_nic_remove_rx(struct efx_rx_queue *rx_queue); +extern void efx_nic_notify_rx_desc(struct efx_rx_queue *rx_queue); + +/* Event data path */ +extern int efx_nic_probe_eventq(struct efx_channel *channel); +extern void efx_nic_init_eventq(struct efx_channel *channel); +extern void efx_nic_fini_eventq(struct efx_channel *channel); +extern void efx_nic_remove_eventq(struct efx_channel *channel); +extern int efx_nic_process_eventq(struct efx_channel *channel, int rx_quota); +extern void efx_nic_eventq_read_ack(struct efx_channel *channel); + +/* MAC/PHY */ +extern void falcon_drain_tx_fifo(struct efx_nic *efx); +extern void falcon_reconfigure_mac_wrapper(struct efx_nic *efx); +extern int efx_nic_rx_xoff_thresh, efx_nic_rx_xon_thresh; + +/* Interrupts and test events */ +extern int efx_nic_init_interrupt(struct efx_nic *efx); +extern void efx_nic_enable_interrupts(struct efx_nic *efx); +extern void efx_nic_generate_test_event(struct efx_channel *channel, + unsigned int magic); +extern void efx_nic_generate_interrupt(struct efx_nic *efx); +extern void efx_nic_disable_interrupts(struct efx_nic *efx); +extern void efx_nic_fini_interrupt(struct efx_nic *efx); +extern irqreturn_t efx_nic_fatal_interrupt(struct efx_nic *efx); +extern irqreturn_t falcon_legacy_interrupt_a1(int irq, void *dev_id); +extern void falcon_irq_ack_a1(struct efx_nic *efx); + +#define EFX_IRQ_MOD_RESOLUTION 5 + +/* Global Resources */ +extern int efx_nic_flush_queues(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 int falcon_reset_xaui(struct efx_nic *efx); +extern void efx_nic_init_common(struct efx_nic *efx); + +int efx_nic_alloc_buffer(struct efx_nic *efx, struct efx_buffer *buffer, + unsigned int len); +void efx_nic_free_buffer(struct efx_nic *efx, struct efx_buffer *buffer); + +/* Tests */ +struct efx_nic_register_test { + unsigned address; + efx_oword_t mask; +}; +extern int efx_nic_test_registers(struct efx_nic *efx, + const struct efx_nic_register_test *regs, + size_t n_regs); + +/************************************************************************** + * + * Falcon MAC stats + * + ************************************************************************** + */ + +#define FALCON_STAT_OFFSET(falcon_stat) EFX_VAL(falcon_stat, offset) +#define FALCON_STAT_WIDTH(falcon_stat) EFX_VAL(falcon_stat, WIDTH) + +/* Retrieve statistic from statistics block */ +#define FALCON_STAT(efx, falcon_stat, efx_stat) do { \ + if (FALCON_STAT_WIDTH(falcon_stat) == 16) \ + (efx)->mac_stats.efx_stat += le16_to_cpu( \ + *((__force __le16 *) \ + (efx->stats_buffer.addr + \ + FALCON_STAT_OFFSET(falcon_stat)))); \ + else if (FALCON_STAT_WIDTH(falcon_stat) == 32) \ + (efx)->mac_stats.efx_stat += le32_to_cpu( \ + *((__force __le32 *) \ + (efx->stats_buffer.addr + \ + FALCON_STAT_OFFSET(falcon_stat)))); \ + else \ + (efx)->mac_stats.efx_stat += le64_to_cpu( \ + *((__force __le64 *) \ + (efx->stats_buffer.addr + \ + FALCON_STAT_OFFSET(falcon_stat)))); \ + } while (0) + +#define FALCON_MAC_STATS_SIZE 0x100 + +#define MAC_DATA_LBN 0 +#define MAC_DATA_WIDTH 32 + +extern void efx_nic_generate_event(struct efx_channel *channel, + efx_qword_t *event); + +extern void falcon_poll_xmac(struct efx_nic *efx); + +#endif /* EFX_NIC_H */ --- linux-2.6.32.orig/drivers/net/sfc/spi.h +++ linux-2.6.32/drivers/net/sfc/spi.h @@ -36,8 +36,6 @@ /** * struct efx_spi_device - an Efx SPI (Serial Peripheral Interface) device - * @efx: The Efx controller that owns this device - * @mtd: MTD state * @device_id: Controller's id for the device * @size: Size (in bytes) * @addr_len: Number of address bytes in read/write commands @@ -54,10 +52,6 @@ * Write commands are limited to blocks with this size and alignment. */ struct efx_spi_device { - struct efx_nic *efx; -#ifdef CONFIG_SFC_MTD - void *mtd; -#endif int device_id; unsigned int size; unsigned int addr_len; @@ -67,12 +61,16 @@ unsigned int block_size; }; -int falcon_spi_cmd(const struct efx_spi_device *spi, unsigned int command, +int falcon_spi_cmd(struct efx_nic *efx, + const struct efx_spi_device *spi, unsigned int command, int address, const void* in, void *out, size_t len); -int falcon_spi_wait_write(const struct efx_spi_device *spi); -int falcon_spi_read(const struct efx_spi_device *spi, loff_t start, +int falcon_spi_wait_write(struct efx_nic *efx, + const struct efx_spi_device *spi); +int falcon_spi_read(struct efx_nic *efx, + const struct efx_spi_device *spi, loff_t start, size_t len, size_t *retlen, u8 *buffer); -int falcon_spi_write(const struct efx_spi_device *spi, loff_t start, +int falcon_spi_write(struct efx_nic *efx, + const struct efx_spi_device *spi, loff_t start, size_t len, size_t *retlen, const u8 *buffer); /* --- linux-2.6.32.orig/drivers/net/sfc/falcon_gmac.c +++ linux-2.6.32/drivers/net/sfc/falcon_gmac.c @@ -1,7 +1,7 @@ /**************************************************************************** * Driver for Solarflare Solarstorm network controllers and boards * Copyright 2005-2006 Fen Systems Ltd. - * Copyright 2006-2008 Solarflare Communications Inc. + * Copyright 2006-2009 Solarflare Communications 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 @@ -11,11 +11,10 @@ #include #include "net_driver.h" #include "efx.h" -#include "falcon.h" +#include "nic.h" #include "mac.h" -#include "falcon_hwdefs.h" -#include "falcon_io.h" -#include "gmii.h" +#include "regs.h" +#include "io.h" /************************************************************************** * @@ -23,106 +22,109 @@ * *************************************************************************/ -static void falcon_reconfigure_gmac(struct efx_nic *efx) +static int falcon_reconfigure_gmac(struct efx_nic *efx) { + struct efx_link_state *link_state = &efx->link_state; bool loopback, tx_fc, rx_fc, bytemode; int if_mode; unsigned int max_frame_len; efx_oword_t reg; /* Configuration register 1 */ - tx_fc = (efx->link_fc & EFX_FC_TX) || !efx->link_fd; - rx_fc = !!(efx->link_fc & EFX_FC_RX); + tx_fc = (link_state->fc & EFX_FC_TX) || !link_state->fd; + rx_fc = !!(link_state->fc & EFX_FC_RX); loopback = (efx->loopback_mode == LOOPBACK_GMAC); - bytemode = (efx->link_speed == 1000); + bytemode = (link_state->speed == 1000); EFX_POPULATE_OWORD_5(reg, - GM_LOOP, loopback, - GM_TX_EN, 1, - GM_TX_FC_EN, tx_fc, - GM_RX_EN, 1, - GM_RX_FC_EN, rx_fc); - falcon_write(efx, ®, GM_CFG1_REG); + FRF_AB_GM_LOOP, loopback, + FRF_AB_GM_TX_EN, 1, + FRF_AB_GM_TX_FC_EN, tx_fc, + FRF_AB_GM_RX_EN, 1, + FRF_AB_GM_RX_FC_EN, rx_fc); + efx_writeo(efx, ®, FR_AB_GM_CFG1); udelay(10); /* Configuration register 2 */ if_mode = (bytemode) ? 2 : 1; EFX_POPULATE_OWORD_5(reg, - GM_IF_MODE, if_mode, - GM_PAD_CRC_EN, 1, - GM_LEN_CHK, 1, - GM_FD, efx->link_fd, - GM_PAMBL_LEN, 0x7/*datasheet recommended */); + FRF_AB_GM_IF_MODE, if_mode, + FRF_AB_GM_PAD_CRC_EN, 1, + FRF_AB_GM_LEN_CHK, 1, + FRF_AB_GM_FD, link_state->fd, + FRF_AB_GM_PAMBL_LEN, 0x7/*datasheet recommended */); - falcon_write(efx, ®, GM_CFG2_REG); + efx_writeo(efx, ®, FR_AB_GM_CFG2); udelay(10); /* Max frame len register */ max_frame_len = EFX_MAX_FRAME_LEN(efx->net_dev->mtu); - EFX_POPULATE_OWORD_1(reg, GM_MAX_FLEN, max_frame_len); - falcon_write(efx, ®, GM_MAX_FLEN_REG); + EFX_POPULATE_OWORD_1(reg, FRF_AB_GM_MAX_FLEN, max_frame_len); + efx_writeo(efx, ®, FR_AB_GM_MAX_FLEN); udelay(10); /* FIFO configuration register 0 */ EFX_POPULATE_OWORD_5(reg, - GMF_FTFENREQ, 1, - GMF_STFENREQ, 1, - GMF_FRFENREQ, 1, - GMF_SRFENREQ, 1, - GMF_WTMENREQ, 1); - falcon_write(efx, ®, GMF_CFG0_REG); + FRF_AB_GMF_FTFENREQ, 1, + FRF_AB_GMF_STFENREQ, 1, + FRF_AB_GMF_FRFENREQ, 1, + FRF_AB_GMF_SRFENREQ, 1, + FRF_AB_GMF_WTMENREQ, 1); + efx_writeo(efx, ®, FR_AB_GMF_CFG0); udelay(10); /* FIFO configuration register 1 */ EFX_POPULATE_OWORD_2(reg, - GMF_CFGFRTH, 0x12, - GMF_CFGXOFFRTX, 0xffff); - falcon_write(efx, ®, GMF_CFG1_REG); + FRF_AB_GMF_CFGFRTH, 0x12, + FRF_AB_GMF_CFGXOFFRTX, 0xffff); + efx_writeo(efx, ®, FR_AB_GMF_CFG1); udelay(10); /* FIFO configuration register 2 */ EFX_POPULATE_OWORD_2(reg, - GMF_CFGHWM, 0x3f, - GMF_CFGLWM, 0xa); - falcon_write(efx, ®, GMF_CFG2_REG); + FRF_AB_GMF_CFGHWM, 0x3f, + FRF_AB_GMF_CFGLWM, 0xa); + efx_writeo(efx, ®, FR_AB_GMF_CFG2); udelay(10); /* FIFO configuration register 3 */ EFX_POPULATE_OWORD_2(reg, - GMF_CFGHWMFT, 0x1c, - GMF_CFGFTTH, 0x08); - falcon_write(efx, ®, GMF_CFG3_REG); + FRF_AB_GMF_CFGHWMFT, 0x1c, + FRF_AB_GMF_CFGFTTH, 0x08); + efx_writeo(efx, ®, FR_AB_GMF_CFG3); udelay(10); /* FIFO configuration register 4 */ - EFX_POPULATE_OWORD_1(reg, GMF_HSTFLTRFRM_PAUSE, 1); - falcon_write(efx, ®, GMF_CFG4_REG); + EFX_POPULATE_OWORD_1(reg, FRF_AB_GMF_HSTFLTRFRM_PAUSE, 1); + efx_writeo(efx, ®, FR_AB_GMF_CFG4); udelay(10); /* FIFO configuration register 5 */ - falcon_read(efx, ®, GMF_CFG5_REG); - EFX_SET_OWORD_FIELD(reg, GMF_CFGBYTMODE, bytemode); - EFX_SET_OWORD_FIELD(reg, GMF_CFGHDPLX, !efx->link_fd); - EFX_SET_OWORD_FIELD(reg, GMF_HSTDRPLT64, !efx->link_fd); - EFX_SET_OWORD_FIELD(reg, GMF_HSTFLTRFRMDC_PAUSE, 0); - falcon_write(efx, ®, GMF_CFG5_REG); + efx_reado(efx, ®, FR_AB_GMF_CFG5); + EFX_SET_OWORD_FIELD(reg, FRF_AB_GMF_CFGBYTMODE, bytemode); + EFX_SET_OWORD_FIELD(reg, FRF_AB_GMF_CFGHDPLX, !link_state->fd); + EFX_SET_OWORD_FIELD(reg, FRF_AB_GMF_HSTDRPLT64, !link_state->fd); + EFX_SET_OWORD_FIELD(reg, FRF_AB_GMF_HSTFLTRFRMDC_PAUSE, 0); + efx_writeo(efx, ®, FR_AB_GMF_CFG5); udelay(10); /* MAC address */ EFX_POPULATE_OWORD_4(reg, - GM_HWADDR_5, efx->net_dev->dev_addr[5], - GM_HWADDR_4, efx->net_dev->dev_addr[4], - GM_HWADDR_3, efx->net_dev->dev_addr[3], - GM_HWADDR_2, efx->net_dev->dev_addr[2]); - falcon_write(efx, ®, GM_ADR1_REG); + FRF_AB_GM_ADR_B0, efx->net_dev->dev_addr[5], + FRF_AB_GM_ADR_B1, efx->net_dev->dev_addr[4], + FRF_AB_GM_ADR_B2, efx->net_dev->dev_addr[3], + FRF_AB_GM_ADR_B3, efx->net_dev->dev_addr[2]); + efx_writeo(efx, ®, FR_AB_GM_ADR1); udelay(10); EFX_POPULATE_OWORD_2(reg, - GM_HWADDR_1, efx->net_dev->dev_addr[1], - GM_HWADDR_0, efx->net_dev->dev_addr[0]); - falcon_write(efx, ®, GM_ADR2_REG); + FRF_AB_GM_ADR_B4, efx->net_dev->dev_addr[1], + FRF_AB_GM_ADR_B5, efx->net_dev->dev_addr[0]); + efx_writeo(efx, ®, FR_AB_GM_ADR2); udelay(10); falcon_reconfigure_mac_wrapper(efx); + + return 0; } static void falcon_update_stats_gmac(struct efx_nic *efx) @@ -130,11 +132,6 @@ struct efx_mac_stats *mac_stats = &efx->mac_stats; unsigned long old_rx_pause, old_tx_pause; unsigned long new_rx_pause, new_tx_pause; - int rc; - - rc = falcon_dma_stats(efx, GDmaDone_offset); - if (rc) - return; /* Pause frames are erroneously counted as errors (SFC bug 3269) */ old_rx_pause = mac_stats->rx_pause; @@ -221,9 +218,13 @@ mac_stats->rx_lt64 = mac_stats->rx_good_lt64 + mac_stats->rx_bad_lt64; } +static bool falcon_gmac_check_fault(struct efx_nic *efx) +{ + return false; +} + struct efx_mac_operations falcon_gmac_operations = { .reconfigure = falcon_reconfigure_gmac, .update_stats = falcon_update_stats_gmac, - .irq = efx_port_dummy_op_void, - .poll = efx_port_dummy_op_void, + .check_fault = falcon_gmac_check_fault, }; --- linux-2.6.32.orig/drivers/net/sfc/tenxpress.c +++ linux-2.6.32/drivers/net/sfc/tenxpress.c @@ -1,6 +1,6 @@ /**************************************************************************** * Driver for Solarflare Solarstorm network controllers and boards - * Copyright 2007-2008 Solarflare Communications Inc. + * Copyright 2007-2009 Solarflare Communications 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 @@ -12,10 +12,9 @@ #include #include "efx.h" #include "mdio_10g.h" -#include "falcon.h" +#include "nic.h" #include "phy.h" -#include "falcon_hwdefs.h" -#include "boards.h" +#include "regs.h" #include "workarounds.h" #include "selftest.h" @@ -31,13 +30,13 @@ #define SFX7101_LOOPBACKS ((1 << LOOPBACK_PHYXS) | \ (1 << LOOPBACK_PCS) | \ (1 << LOOPBACK_PMAPMD) | \ - (1 << LOOPBACK_NETWORK)) + (1 << LOOPBACK_PHYXS_WS)) #define SFT9001_LOOPBACKS ((1 << LOOPBACK_GPHY) | \ (1 << LOOPBACK_PHYXS) | \ (1 << LOOPBACK_PCS) | \ (1 << LOOPBACK_PMAPMD) | \ - (1 << LOOPBACK_NETWORK)) + (1 << LOOPBACK_PHYXS_WS)) /* We complain if we fail to see the link partner as 10G capable this many * times in a row (must be > 1 as sampling the autoneg. registers is racy) @@ -84,9 +83,9 @@ #define PMA_PMD_LED_FLASH (3) #define PMA_PMD_LED_MASK 3 /* All LEDs under hardware control */ -#define PMA_PMD_LED_FULL_AUTO (0) +#define SFT9001_PMA_PMD_LED_DEFAULT 0 /* Green and Amber under hardware control, Red off */ -#define PMA_PMD_LED_DEFAULT (PMA_PMD_LED_OFF << PMA_PMD_LED_RX_LBN) +#define SFX7101_PMA_PMD_LED_DEFAULT (PMA_PMD_LED_OFF << PMA_PMD_LED_RX_LBN) #define PMA_PMD_SPEED_ENABLE_REG 49192 #define PMA_PMD_100TX_ADV_LBN 1 @@ -200,15 +199,20 @@ const char *buf, size_t count) { struct efx_nic *efx = pci_get_drvdata(to_pci_dev(dev)); + int rc; rtnl_lock(); - efx_mdio_set_flag(efx, MDIO_MMD_PMAPMD, MDIO_PMA_10GBT_TXPWR, - MDIO_PMA_10GBT_TXPWR_SHORT, - count != 0 && *buf != '0'); - efx_reconfigure_port(efx); + if (efx->state != STATE_RUNNING) { + rc = -EBUSY; + } else { + efx_mdio_set_flag(efx, MDIO_MMD_PMAPMD, MDIO_PMA_10GBT_TXPWR, + MDIO_PMA_10GBT_TXPWR_SHORT, + count != 0 && *buf != '0'); + rc = efx_reconfigure_port(efx); + } rtnl_unlock(); - return count; + return rc < 0 ? rc : (ssize_t)count; } static DEVICE_ATTR(phy_short_reach, 0644, show_phy_short_reach, @@ -292,23 +296,68 @@ efx_mdio_set_flag(efx, MDIO_MMD_PMAPMD, PMA_PMD_LED_CTRL_REG, 1 << PMA_PMA_LED_ACTIVITY_LBN, true); efx_mdio_write(efx, MDIO_MMD_PMAPMD, PMA_PMD_LED_OVERR_REG, - PMA_PMD_LED_DEFAULT); + SFX7101_PMA_PMD_LED_DEFAULT); } return 0; } -static int tenxpress_phy_init(struct efx_nic *efx) +static int tenxpress_phy_probe(struct efx_nic *efx) { struct tenxpress_phy_data *phy_data; - int rc = 0; + int rc; + /* Allocate phy private storage */ phy_data = kzalloc(sizeof(*phy_data), GFP_KERNEL); if (!phy_data) return -ENOMEM; efx->phy_data = phy_data; phy_data->phy_mode = efx->phy_mode; + /* Create any special files */ + if (efx->phy_type == PHY_TYPE_SFT9001B) { + rc = device_create_file(&efx->pci_dev->dev, + &dev_attr_phy_short_reach); + if (rc) + goto fail; + } + + if (efx->phy_type == PHY_TYPE_SFX7101) { + efx->mdio.mmds = TENXPRESS_REQUIRED_DEVS; + efx->mdio.mode_support = MDIO_SUPPORTS_C45; + + efx->loopback_modes = SFX7101_LOOPBACKS | FALCON_XMAC_LOOPBACKS; + + efx->link_advertising = (ADVERTISED_TP | ADVERTISED_Autoneg | + ADVERTISED_10000baseT_Full); + } else { + efx->mdio.mmds = TENXPRESS_REQUIRED_DEVS; + efx->mdio.mode_support = MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22; + + efx->loopback_modes = (SFT9001_LOOPBACKS | + FALCON_XMAC_LOOPBACKS | + FALCON_GMAC_LOOPBACKS); + + efx->link_advertising = (ADVERTISED_TP | ADVERTISED_Autoneg | + ADVERTISED_10000baseT_Full | + ADVERTISED_1000baseT_Full | + ADVERTISED_100baseT_Full); + } + + return 0; + +fail: + kfree(efx->phy_data); + efx->phy_data = NULL; + return rc; +} + +static int tenxpress_phy_init(struct efx_nic *efx) +{ + int rc; + + falcon_board(efx)->type->init_phy(efx); + if (!(efx->phy_mode & PHY_MODE_SPECIAL)) { if (efx->phy_type == PHY_TYPE_SFT9001A) { int reg; @@ -322,23 +371,20 @@ rc = efx_mdio_wait_reset_mmds(efx, TENXPRESS_REQUIRED_DEVS); if (rc < 0) - goto fail; + return rc; rc = efx_mdio_check_mmds(efx, TENXPRESS_REQUIRED_DEVS, 0); if (rc < 0) - goto fail; + return rc; } rc = tenxpress_init(efx); if (rc < 0) - goto fail; + return rc; - if (efx->phy_type == PHY_TYPE_SFT9001B) { - rc = device_create_file(&efx->pci_dev->dev, - &dev_attr_phy_short_reach); - if (rc) - goto fail; - } + /* Reinitialise flow control settings */ + efx_link_set_wanted_fc(efx, efx->wanted_fc); + efx_mdio_an_reconfigure(efx); schedule_timeout_uninterruptible(HZ / 5); /* 200ms */ @@ -346,11 +392,6 @@ falcon_reset_xaui(efx); return 0; - - fail: - kfree(efx->phy_data); - efx->phy_data = NULL; - return rc; } /* Perform a "special software reset" on the PHY. The caller is @@ -363,7 +404,7 @@ /* The XGMAC clock is driven from the SFC7101/SFT9001 312MHz clock, so * a special software reset can glitch the XGMAC sufficiently for stats * requests to fail. */ - efx_stats_disable(efx); + falcon_stop_nic_stats(efx); /* Initiate reset */ reg = efx_mdio_read(efx, MDIO_MMD_PMAPMD, PMA_PMD_XCONTROL_REG); @@ -385,7 +426,7 @@ /* Wait for the XGXS state machine to churn */ mdelay(10); out: - efx_stats_enable(efx); + falcon_start_nic_stats(efx); return rc; } @@ -489,133 +530,126 @@ !!(efx->phy_mode & PHY_MODE_LOW_POWER)); } -static void tenxpress_phy_reconfigure(struct efx_nic *efx) +static int tenxpress_phy_reconfigure(struct efx_nic *efx) { struct tenxpress_phy_data *phy_data = efx->phy_data; - struct ethtool_cmd ecmd; bool phy_mode_change, loop_reset; if (efx->phy_mode & (PHY_MODE_OFF | PHY_MODE_SPECIAL)) { phy_data->phy_mode = efx->phy_mode; - return; + return 0; } - tenxpress_low_power(efx); - phy_mode_change = (efx->phy_mode == PHY_MODE_NORMAL && phy_data->phy_mode != PHY_MODE_NORMAL); - loop_reset = (LOOPBACK_OUT_OF(phy_data, efx, efx->phy_op->loopbacks) || + loop_reset = (LOOPBACK_OUT_OF(phy_data, efx, LOOPBACKS_EXTERNAL(efx)) || LOOPBACK_CHANGED(phy_data, efx, 1 << LOOPBACK_GPHY)); if (loop_reset || phy_mode_change) { - int rc; - - efx->phy_op->get_settings(efx, &ecmd); - - if (loop_reset || phy_mode_change) { - tenxpress_special_reset(efx); + tenxpress_special_reset(efx); - /* Reset XAUI if we were in 10G, and are staying - * in 10G. If we're moving into and out of 10G - * then xaui will be reset anyway */ - if (EFX_IS10G(efx)) - falcon_reset_xaui(efx); - } - - rc = efx->phy_op->set_settings(efx, &ecmd); - WARN_ON(rc); + /* Reset XAUI if we were in 10G, and are staying + * in 10G. If we're moving into and out of 10G + * then xaui will be reset anyway */ + if (EFX_IS10G(efx)) + falcon_reset_xaui(efx); } + tenxpress_low_power(efx); efx_mdio_transmit_disable(efx); efx_mdio_phy_reconfigure(efx); tenxpress_ext_loopback(efx); + efx_mdio_an_reconfigure(efx); phy_data->loopback_mode = efx->loopback_mode; phy_data->phy_mode = efx->phy_mode; - if (efx->phy_type == PHY_TYPE_SFX7101) { - efx->link_speed = 10000; - efx->link_fd = true; - efx->link_up = sfx7101_link_ok(efx); - } else { - efx->phy_op->get_settings(efx, &ecmd); - efx->link_speed = ecmd.speed; - efx->link_fd = ecmd.duplex == DUPLEX_FULL; - efx->link_up = sft9001_link_ok(efx, &ecmd); - } - efx->link_fc = efx_mdio_get_pause(efx); + return 0; } -/* Poll PHY for interrupt */ -static void tenxpress_phy_poll(struct efx_nic *efx) +static void +tenxpress_get_settings(struct efx_nic *efx, struct ethtool_cmd *ecmd); + +/* Poll for link state changes */ +static bool tenxpress_phy_poll(struct efx_nic *efx) { - struct tenxpress_phy_data *phy_data = efx->phy_data; - bool change = false; + struct efx_link_state old_state = efx->link_state; if (efx->phy_type == PHY_TYPE_SFX7101) { - bool link_ok = sfx7101_link_ok(efx); - if (link_ok != efx->link_up) { - change = true; - } else { - unsigned int link_fc = efx_mdio_get_pause(efx); - if (link_fc != efx->link_fc) - change = true; - } - sfx7101_check_bad_lp(efx, link_ok); - } else if (efx->loopback_mode) { - bool link_ok = sft9001_link_ok(efx, NULL); - if (link_ok != efx->link_up) - change = true; + efx->link_state.up = sfx7101_link_ok(efx); + efx->link_state.speed = 10000; + efx->link_state.fd = true; + efx->link_state.fc = efx_mdio_get_pause(efx); + + sfx7101_check_bad_lp(efx, efx->link_state.up); } else { - int status = efx_mdio_read(efx, MDIO_MMD_PMAPMD, - MDIO_PMA_LASI_STAT); - if (status & MDIO_PMA_LASI_LSALARM) - change = true; - } + struct ethtool_cmd ecmd; - if (change) - falcon_sim_phy_event(efx); + /* Check the LASI alarm first */ + if (efx->loopback_mode == LOOPBACK_NONE && + !(efx_mdio_read(efx, MDIO_MMD_PMAPMD, MDIO_PMA_LASI_STAT) & + MDIO_PMA_LASI_LSALARM)) + return false; - if (phy_data->phy_mode != PHY_MODE_NORMAL) - return; + tenxpress_get_settings(efx, &ecmd); + + efx->link_state.up = sft9001_link_ok(efx, &ecmd); + efx->link_state.speed = ecmd.speed; + efx->link_state.fd = (ecmd.duplex == DUPLEX_FULL); + efx->link_state.fc = efx_mdio_get_pause(efx); + } + + return !efx_link_state_equal(&efx->link_state, &old_state); } -static void tenxpress_phy_fini(struct efx_nic *efx) +static void sfx7101_phy_fini(struct efx_nic *efx) { int reg; + /* Power down the LNPGA */ + reg = (1 << PMA_PMD_LNPGA_POWERDOWN_LBN); + efx_mdio_write(efx, MDIO_MMD_PMAPMD, PMA_PMD_XCONTROL_REG, reg); + + /* Waiting here ensures that the board fini, which can turn + * off the power to the PHY, won't get run until the LNPGA + * powerdown has been given long enough to complete. */ + schedule_timeout_uninterruptible(LNPGA_PDOWN_WAIT); /* 200 ms */ +} + +static void tenxpress_phy_remove(struct efx_nic *efx) +{ if (efx->phy_type == PHY_TYPE_SFT9001B) device_remove_file(&efx->pci_dev->dev, &dev_attr_phy_short_reach); - if (efx->phy_type == PHY_TYPE_SFX7101) { - /* Power down the LNPGA */ - reg = (1 << PMA_PMD_LNPGA_POWERDOWN_LBN); - efx_mdio_write(efx, MDIO_MMD_PMAPMD, PMA_PMD_XCONTROL_REG, reg); - - /* Waiting here ensures that the board fini, which can turn - * off the power to the PHY, won't get run until the LNPGA - * powerdown has been given long enough to complete. */ - schedule_timeout_uninterruptible(LNPGA_PDOWN_WAIT); /* 200 ms */ - } - kfree(efx->phy_data); efx->phy_data = NULL; } -/* Set the RX and TX LEDs and Link LED flashing. The other LEDs - * (which probably aren't wired anyway) are left in AUTO mode */ -void tenxpress_phy_blink(struct efx_nic *efx, bool blink) +/* Override the RX, TX and link LEDs */ +void tenxpress_set_id_led(struct efx_nic *efx, enum efx_led_mode mode) { int reg; - if (blink) - reg = (PMA_PMD_LED_FLASH << PMA_PMD_LED_TX_LBN) | - (PMA_PMD_LED_FLASH << PMA_PMD_LED_RX_LBN) | - (PMA_PMD_LED_FLASH << PMA_PMD_LED_LINK_LBN); - else - reg = PMA_PMD_LED_DEFAULT; + switch (mode) { + case EFX_LED_OFF: + reg = (PMA_PMD_LED_OFF << PMA_PMD_LED_TX_LBN) | + (PMA_PMD_LED_OFF << PMA_PMD_LED_RX_LBN) | + (PMA_PMD_LED_OFF << PMA_PMD_LED_LINK_LBN); + break; + case EFX_LED_ON: + reg = (PMA_PMD_LED_ON << PMA_PMD_LED_TX_LBN) | + (PMA_PMD_LED_ON << PMA_PMD_LED_RX_LBN) | + (PMA_PMD_LED_ON << PMA_PMD_LED_LINK_LBN); + break; + default: + if (efx->phy_type == PHY_TYPE_SFX7101) + reg = SFX7101_PMA_PMD_LED_DEFAULT; + else + reg = SFT9001_PMA_PMD_LED_DEFAULT; + break; + } efx_mdio_write(efx, MDIO_MMD_PMAPMD, PMA_PMD_LED_OVERR_REG, reg); } @@ -624,6 +658,13 @@ "bist" }; +static const char *sfx7101_test_name(struct efx_nic *efx, unsigned int index) +{ + if (index < ARRAY_SIZE(sfx7101_test_names)) + return sfx7101_test_names[index]; + return NULL; +} + static int sfx7101_run_tests(struct efx_nic *efx, int *results, unsigned flags) { @@ -635,6 +676,9 @@ /* BIST is automatically run after a special software reset */ rc = tenxpress_special_reset(efx); results[0] = rc ? -1 : 1; + + efx_mdio_an_reconfigure(efx); + return rc; } @@ -650,14 +694,17 @@ "cable.pairD.length", }; +static const char *sft9001_test_name(struct efx_nic *efx, unsigned int index) +{ + if (index < ARRAY_SIZE(sft9001_test_names)) + return sft9001_test_names[index]; + return NULL; +} + static int sft9001_run_tests(struct efx_nic *efx, int *results, unsigned flags) { - struct ethtool_cmd ecmd; int rc = 0, rc2, i, ctrl_reg, res_reg; - if (flags & ETH_TEST_FL_OFFLINE) - efx->phy_op->get_settings(efx, &ecmd); - /* Initialise cable diagnostic results to unknown failure */ for (i = 1; i < 9; ++i) results[i] = -1; @@ -709,9 +756,7 @@ if (!rc) rc = rc2; - rc2 = efx->phy_op->set_settings(efx, &ecmd); - if (!rc) - rc = rc2; + efx_mdio_an_reconfigure(efx); } return rc; @@ -758,7 +803,7 @@ * but doesn't advertise the correct speed. So override it */ if (efx->loopback_mode == LOOPBACK_GPHY) ecmd->speed = SPEED_1000; - else if (LOOPBACK_MASK(efx) & efx->phy_op->loopbacks) + else if (LOOPBACK_EXTERNAL(efx)) ecmd->speed = SPEED_10000; } @@ -788,35 +833,29 @@ } struct efx_phy_operations falcon_sfx7101_phy_ops = { - .macs = EFX_XMAC, + .probe = tenxpress_phy_probe, .init = tenxpress_phy_init, .reconfigure = tenxpress_phy_reconfigure, .poll = tenxpress_phy_poll, - .fini = tenxpress_phy_fini, - .clear_interrupt = efx_port_dummy_op_void, + .fini = sfx7101_phy_fini, + .remove = tenxpress_phy_remove, .get_settings = tenxpress_get_settings, .set_settings = tenxpress_set_settings, .set_npage_adv = sfx7101_set_npage_adv, - .num_tests = ARRAY_SIZE(sfx7101_test_names), - .test_names = sfx7101_test_names, + .test_name = sfx7101_test_name, .run_tests = sfx7101_run_tests, - .mmds = TENXPRESS_REQUIRED_DEVS, - .loopbacks = SFX7101_LOOPBACKS, }; struct efx_phy_operations falcon_sft9001_phy_ops = { - .macs = EFX_GMAC | EFX_XMAC, + .probe = tenxpress_phy_probe, .init = tenxpress_phy_init, .reconfigure = tenxpress_phy_reconfigure, .poll = tenxpress_phy_poll, - .fini = tenxpress_phy_fini, - .clear_interrupt = efx_port_dummy_op_void, + .fini = efx_port_dummy_op_void, + .remove = tenxpress_phy_remove, .get_settings = tenxpress_get_settings, .set_settings = tenxpress_set_settings, .set_npage_adv = sft9001_set_npage_adv, - .num_tests = ARRAY_SIZE(sft9001_test_names), - .test_names = sft9001_test_names, + .test_name = sft9001_test_name, .run_tests = sft9001_run_tests, - .mmds = TENXPRESS_REQUIRED_DEVS, - .loopbacks = SFT9001_LOOPBACKS, }; --- linux-2.6.32.orig/drivers/net/sfc/workarounds.h +++ linux-2.6.32/drivers/net/sfc/workarounds.h @@ -1,6 +1,6 @@ /**************************************************************************** * Driver for Solarflare Solarstorm network controllers and boards - * Copyright 2006-2008 Solarflare Communications Inc. + * Copyright 2006-2009 Solarflare Communications 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 @@ -16,7 +16,9 @@ */ #define EFX_WORKAROUND_ALWAYS(efx) 1 -#define EFX_WORKAROUND_FALCON_A(efx) (falcon_rev(efx) <= FALCON_REV_A1) +#define EFX_WORKAROUND_FALCON_A(efx) (efx_nic_rev(efx) <= EFX_REV_FALCON_A1) +#define EFX_WORKAROUND_FALCON_AB(efx) (efx_nic_rev(efx) <= EFX_REV_FALCON_B0) +#define EFX_WORKAROUND_SIENA(efx) (efx_nic_rev(efx) == EFX_REV_SIENA_A0) #define EFX_WORKAROUND_10G(efx) EFX_IS10G(efx) #define EFX_WORKAROUND_SFT9001(efx) ((efx)->phy_type == PHY_TYPE_SFT9001A || \ (efx)->phy_type == PHY_TYPE_SFT9001B) @@ -27,20 +29,22 @@ #define EFX_WORKAROUND_7575 EFX_WORKAROUND_ALWAYS /* Bit-bashed I2C reads cause performance drop */ #define EFX_WORKAROUND_7884 EFX_WORKAROUND_10G -/* TX pkt parser problem with <= 16 byte TXes */ -#define EFX_WORKAROUND_9141 EFX_WORKAROUND_ALWAYS /* TX_EV_PKT_ERR can be caused by a dangling TX descriptor * or a PCIe error (bug 11028) */ #define EFX_WORKAROUND_10727 EFX_WORKAROUND_ALWAYS /* Transmit flow control may get disabled */ -#define EFX_WORKAROUND_11482 EFX_WORKAROUND_ALWAYS -/* Flush events can take a very long time to appear */ -#define EFX_WORKAROUND_11557 EFX_WORKAROUND_ALWAYS +#define EFX_WORKAROUND_11482 EFX_WORKAROUND_FALCON_AB /* Truncated IPv4 packets can confuse the TX packet parser */ -#define EFX_WORKAROUND_15592 EFX_WORKAROUND_ALWAYS +#define EFX_WORKAROUND_15592 EFX_WORKAROUND_FALCON_AB +/* Legacy ISR read can return zero once */ +#define EFX_WORKAROUND_15783 EFX_WORKAROUND_SIENA +/* Legacy interrupt storm when interrupt fifo fills */ +#define EFX_WORKAROUND_17213 EFX_WORKAROUND_SIENA /* Spurious parity errors in TSORT buffers */ #define EFX_WORKAROUND_5129 EFX_WORKAROUND_FALCON_A +/* Unaligned read request >512 bytes after aligning may break TSORT */ +#define EFX_WORKAROUND_5391 EFX_WORKAROUND_FALCON_A /* iSCSI parsing errors */ #define EFX_WORKAROUND_5583 EFX_WORKAROUND_FALCON_A /* RX events go missing */ --- linux-2.6.32.orig/drivers/net/sfc/qt202x_phy.c +++ linux-2.6.32/drivers/net/sfc/qt202x_phy.c @@ -0,0 +1,448 @@ +/**************************************************************************** + * Driver for Solarflare Solarstorm network controllers and boards + * Copyright 2006-2009 Solarflare Communications 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, incorporated herein by reference. + */ +/* + * Driver for AMCC QT202x SFP+ and XFP adapters; see www.amcc.com for details + */ + +#include +#include +#include "efx.h" +#include "mdio_10g.h" +#include "phy.h" +#include "nic.h" + +#define QT202X_REQUIRED_DEVS (MDIO_DEVS_PCS | \ + MDIO_DEVS_PMAPMD | \ + MDIO_DEVS_PHYXS) + +#define QT202X_LOOPBACKS ((1 << LOOPBACK_PCS) | \ + (1 << LOOPBACK_PMAPMD) | \ + (1 << LOOPBACK_PHYXS_WS)) + +/****************************************************************************/ +/* Quake-specific MDIO registers */ +#define MDIO_QUAKE_LED0_REG (0xD006) + +/* QT2025C only */ +#define PCS_FW_HEARTBEAT_REG 0xd7ee +#define PCS_FW_HEARTB_LBN 0 +#define PCS_FW_HEARTB_WIDTH 8 +#define PCS_FW_PRODUCT_CODE_1 0xd7f0 +#define PCS_FW_VERSION_1 0xd7f3 +#define PCS_FW_BUILD_1 0xd7f6 +#define PCS_UC8051_STATUS_REG 0xd7fd +#define PCS_UC_STATUS_LBN 0 +#define PCS_UC_STATUS_WIDTH 8 +#define PCS_UC_STATUS_FW_SAVE 0x20 +#define PMA_PMD_FTX_CTRL2_REG 0xc309 +#define PMA_PMD_FTX_STATIC_LBN 13 +#define PMA_PMD_VEND1_REG 0xc001 +#define PMA_PMD_VEND1_LBTXD_LBN 15 +#define PCS_VEND1_REG 0xc000 +#define PCS_VEND1_LBTXD_LBN 5 + +void falcon_qt202x_set_led(struct efx_nic *p, int led, int mode) +{ + int addr = MDIO_QUAKE_LED0_REG + led; + efx_mdio_write(p, MDIO_MMD_PMAPMD, addr, mode); +} + +struct qt202x_phy_data { + enum efx_phy_mode phy_mode; + bool bug17190_in_bad_state; + unsigned long bug17190_timer; + u32 firmware_ver; +}; + +#define QT2022C2_MAX_RESET_TIME 500 +#define QT2022C2_RESET_WAIT 10 + +#define QT2025C_MAX_HEARTB_TIME (5 * HZ) +#define QT2025C_HEARTB_WAIT 100 +#define QT2025C_MAX_FWSTART_TIME (25 * HZ / 10) +#define QT2025C_FWSTART_WAIT 100 + +#define BUG17190_INTERVAL (2 * HZ) + +static int qt2025c_wait_heartbeat(struct efx_nic *efx) +{ + unsigned long timeout = jiffies + QT2025C_MAX_HEARTB_TIME; + int reg, old_counter = 0; + + /* Wait for firmware heartbeat to start */ + for (;;) { + int counter; + reg = efx_mdio_read(efx, MDIO_MMD_PCS, PCS_FW_HEARTBEAT_REG); + if (reg < 0) + return reg; + counter = ((reg >> PCS_FW_HEARTB_LBN) & + ((1 << PCS_FW_HEARTB_WIDTH) - 1)); + if (old_counter == 0) + old_counter = counter; + else if (counter != old_counter) + break; + if (time_after(jiffies, timeout)) { + /* Some cables have EEPROMs that conflict with the + * PHY's on-board EEPROM so it cannot load firmware */ + EFX_ERR(efx, "If an SFP+ direct attach cable is" + " connected, please check that it complies" + " with the SFP+ specification\n"); + return -ETIMEDOUT; + } + msleep(QT2025C_HEARTB_WAIT); + } + + return 0; +} + +static int qt2025c_wait_fw_status_good(struct efx_nic *efx) +{ + unsigned long timeout = jiffies + QT2025C_MAX_FWSTART_TIME; + int reg; + + /* Wait for firmware status to look good */ + for (;;) { + reg = efx_mdio_read(efx, MDIO_MMD_PCS, PCS_UC8051_STATUS_REG); + if (reg < 0) + return reg; + if ((reg & + ((1 << PCS_UC_STATUS_WIDTH) - 1) << PCS_UC_STATUS_LBN) >= + PCS_UC_STATUS_FW_SAVE) + break; + if (time_after(jiffies, timeout)) + return -ETIMEDOUT; + msleep(QT2025C_FWSTART_WAIT); + } + + return 0; +} + +static void qt2025c_restart_firmware(struct efx_nic *efx) +{ + /* Restart microcontroller execution of firmware from RAM */ + efx_mdio_write(efx, 3, 0xe854, 0x00c0); + efx_mdio_write(efx, 3, 0xe854, 0x0040); + msleep(50); +} + +static int qt2025c_wait_reset(struct efx_nic *efx) +{ + int rc; + + rc = qt2025c_wait_heartbeat(efx); + if (rc != 0) + return rc; + + rc = qt2025c_wait_fw_status_good(efx); + if (rc == -ETIMEDOUT) { + /* Bug 17689: occasionally heartbeat starts but firmware status + * code never progresses beyond 0x00. Try again, once, after + * restarting execution of the firmware image. */ + EFX_LOG(efx, "bashing QT2025C microcontroller\n"); + qt2025c_restart_firmware(efx); + rc = qt2025c_wait_heartbeat(efx); + if (rc != 0) + return rc; + rc = qt2025c_wait_fw_status_good(efx); + } + + return rc; +} + +static void qt2025c_firmware_id(struct efx_nic *efx) +{ + struct qt202x_phy_data *phy_data = efx->phy_data; + u8 firmware_id[9]; + size_t i; + + for (i = 0; i < sizeof(firmware_id); i++) + firmware_id[i] = efx_mdio_read(efx, MDIO_MMD_PCS, + PCS_FW_PRODUCT_CODE_1 + i); + EFX_INFO(efx, "QT2025C firmware %xr%d v%d.%d.%d.%d [20%02d-%02d-%02d]\n", + (firmware_id[0] << 8) | firmware_id[1], firmware_id[2], + firmware_id[3] >> 4, firmware_id[3] & 0xf, + firmware_id[4], firmware_id[5], + firmware_id[6], firmware_id[7], firmware_id[8]); + phy_data->firmware_ver = ((firmware_id[3] & 0xf0) << 20) | + ((firmware_id[3] & 0x0f) << 16) | + (firmware_id[4] << 8) | firmware_id[5]; +} + +static void qt2025c_bug17190_workaround(struct efx_nic *efx) +{ + struct qt202x_phy_data *phy_data = efx->phy_data; + + /* The PHY can get stuck in a state where it reports PHY_XS and PMA/PMD + * layers up, but PCS down (no block_lock). If we notice this state + * persisting for a couple of seconds, we switch PMA/PMD loopback + * briefly on and then off again, which is normally sufficient to + * recover it. + */ + if (efx->link_state.up || + !efx_mdio_links_ok(efx, MDIO_DEVS_PMAPMD | MDIO_DEVS_PHYXS)) { + phy_data->bug17190_in_bad_state = false; + return; + } + + if (!phy_data->bug17190_in_bad_state) { + phy_data->bug17190_in_bad_state = true; + phy_data->bug17190_timer = jiffies + BUG17190_INTERVAL; + return; + } + + if (time_after_eq(jiffies, phy_data->bug17190_timer)) { + EFX_LOG(efx, "bashing QT2025C PMA/PMD\n"); + efx_mdio_set_flag(efx, MDIO_MMD_PMAPMD, MDIO_CTRL1, + MDIO_PMA_CTRL1_LOOPBACK, true); + msleep(100); + efx_mdio_set_flag(efx, MDIO_MMD_PMAPMD, MDIO_CTRL1, + MDIO_PMA_CTRL1_LOOPBACK, false); + phy_data->bug17190_timer = jiffies + BUG17190_INTERVAL; + } +} + +static int qt2025c_select_phy_mode(struct efx_nic *efx) +{ + struct qt202x_phy_data *phy_data = efx->phy_data; + struct falcon_board *board = falcon_board(efx); + int reg, rc, i; + uint16_t phy_op_mode; + + /* Only 2.0.1.0+ PHY firmware supports the more optimal SFP+ + * Self-Configure mode. Don't attempt any switching if we encounter + * older firmware. */ + if (phy_data->firmware_ver < 0x02000100) + return 0; + + /* In general we will get optimal behaviour in "SFP+ Self-Configure" + * mode; however, that powers down most of the PHY when no module is + * present, so we must use a different mode (any fixed mode will do) + * to be sure that loopbacks will work. */ + phy_op_mode = (efx->loopback_mode == LOOPBACK_NONE) ? 0x0038 : 0x0020; + + /* Only change mode if really necessary */ + reg = efx_mdio_read(efx, 1, 0xc319); + if ((reg & 0x0038) == phy_op_mode) + return 0; + EFX_LOG(efx, "Switching PHY to mode 0x%04x\n", phy_op_mode); + + /* This sequence replicates the register writes configured in the boot + * EEPROM (including the differences between board revisions), except + * that the operating mode is changed, and the PHY is prevented from + * unnecessarily reloading the main firmware image again. */ + efx_mdio_write(efx, 1, 0xc300, 0x0000); + /* (Note: this portion of the boot EEPROM sequence, which bit-bashes 9 + * STOPs onto the firmware/module I2C bus to reset it, varies across + * board revisions, as the bus is connected to different GPIO/LED + * outputs on the PHY.) */ + if (board->major == 0 && board->minor < 2) { + efx_mdio_write(efx, 1, 0xc303, 0x4498); + for (i = 0; i < 9; i++) { + efx_mdio_write(efx, 1, 0xc303, 0x4488); + efx_mdio_write(efx, 1, 0xc303, 0x4480); + efx_mdio_write(efx, 1, 0xc303, 0x4490); + efx_mdio_write(efx, 1, 0xc303, 0x4498); + } + } else { + efx_mdio_write(efx, 1, 0xc303, 0x0920); + efx_mdio_write(efx, 1, 0xd008, 0x0004); + for (i = 0; i < 9; i++) { + efx_mdio_write(efx, 1, 0xc303, 0x0900); + efx_mdio_write(efx, 1, 0xd008, 0x0005); + efx_mdio_write(efx, 1, 0xc303, 0x0920); + efx_mdio_write(efx, 1, 0xd008, 0x0004); + } + efx_mdio_write(efx, 1, 0xc303, 0x4900); + } + efx_mdio_write(efx, 1, 0xc303, 0x4900); + efx_mdio_write(efx, 1, 0xc302, 0x0004); + efx_mdio_write(efx, 1, 0xc316, 0x0013); + efx_mdio_write(efx, 1, 0xc318, 0x0054); + efx_mdio_write(efx, 1, 0xc319, phy_op_mode); + efx_mdio_write(efx, 1, 0xc31a, 0x0098); + efx_mdio_write(efx, 3, 0x0026, 0x0e00); + efx_mdio_write(efx, 3, 0x0027, 0x0013); + efx_mdio_write(efx, 3, 0x0028, 0xa528); + efx_mdio_write(efx, 1, 0xd006, 0x000a); + efx_mdio_write(efx, 1, 0xd007, 0x0009); + efx_mdio_write(efx, 1, 0xd008, 0x0004); + /* This additional write is not present in the boot EEPROM. It + * prevents the PHY's internal boot ROM doing another pointless (and + * slow) reload of the firmware image (the microcontroller's code + * memory is not affected by the microcontroller reset). */ + efx_mdio_write(efx, 1, 0xc317, 0x00ff); + efx_mdio_write(efx, 1, 0xc300, 0x0002); + msleep(20); + + /* Restart microcontroller execution of firmware from RAM */ + qt2025c_restart_firmware(efx); + + /* Wait for the microcontroller to be ready again */ + rc = qt2025c_wait_reset(efx); + if (rc < 0) { + EFX_ERR(efx, "PHY microcontroller reset during mode switch " + "timed out\n"); + return rc; + } + + return 0; +} + +static int qt202x_reset_phy(struct efx_nic *efx) +{ + int rc; + + if (efx->phy_type == PHY_TYPE_QT2025C) { + /* Wait for the reset triggered by falcon_reset_hw() + * to complete */ + rc = qt2025c_wait_reset(efx); + if (rc < 0) + goto fail; + } else { + /* Reset the PHYXS MMD. This is documented as doing + * a complete soft reset. */ + rc = efx_mdio_reset_mmd(efx, MDIO_MMD_PHYXS, + QT2022C2_MAX_RESET_TIME / + QT2022C2_RESET_WAIT, + QT2022C2_RESET_WAIT); + if (rc < 0) + goto fail; + } + + /* Wait 250ms for the PHY to complete bootup */ + msleep(250); + + falcon_board(efx)->type->init_phy(efx); + + return 0; + + fail: + EFX_ERR(efx, "PHY reset timed out\n"); + return rc; +} + +static int qt202x_phy_probe(struct efx_nic *efx) +{ + struct qt202x_phy_data *phy_data; + + phy_data = kzalloc(sizeof(struct qt202x_phy_data), GFP_KERNEL); + if (!phy_data) + return -ENOMEM; + efx->phy_data = phy_data; + phy_data->phy_mode = efx->phy_mode; + phy_data->bug17190_in_bad_state = false; + phy_data->bug17190_timer = 0; + + efx->mdio.mmds = QT202X_REQUIRED_DEVS; + efx->mdio.mode_support = MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22; + efx->loopback_modes = QT202X_LOOPBACKS | FALCON_XMAC_LOOPBACKS; + return 0; +} + +static int qt202x_phy_init(struct efx_nic *efx) +{ + u32 devid; + int rc; + + rc = qt202x_reset_phy(efx); + if (rc) { + EFX_ERR(efx, "PHY init failed\n"); + return rc; + } + + devid = efx_mdio_read_id(efx, MDIO_MMD_PHYXS); + EFX_INFO(efx, "PHY ID reg %x (OUI %06x model %02x revision %x)\n", + devid, efx_mdio_id_oui(devid), efx_mdio_id_model(devid), + efx_mdio_id_rev(devid)); + + if (efx->phy_type == PHY_TYPE_QT2025C) + qt2025c_firmware_id(efx); + + return 0; +} + +static int qt202x_link_ok(struct efx_nic *efx) +{ + return efx_mdio_links_ok(efx, QT202X_REQUIRED_DEVS); +} + +static bool qt202x_phy_poll(struct efx_nic *efx) +{ + bool was_up = efx->link_state.up; + + efx->link_state.up = qt202x_link_ok(efx); + efx->link_state.speed = 10000; + efx->link_state.fd = true; + efx->link_state.fc = efx->wanted_fc; + + if (efx->phy_type == PHY_TYPE_QT2025C) + qt2025c_bug17190_workaround(efx); + + return efx->link_state.up != was_up; +} + +static int qt202x_phy_reconfigure(struct efx_nic *efx) +{ + struct qt202x_phy_data *phy_data = efx->phy_data; + + if (efx->phy_type == PHY_TYPE_QT2025C) { + int rc = qt2025c_select_phy_mode(efx); + if (rc) + return rc; + + /* There are several different register bits which can + * disable TX (and save power) on direct-attach cables + * or optical transceivers, varying somewhat between + * firmware versions. Only 'static mode' appears to + * cover everything. */ + mdio_set_flag( + &efx->mdio, efx->mdio.prtad, MDIO_MMD_PMAPMD, + PMA_PMD_FTX_CTRL2_REG, 1 << PMA_PMD_FTX_STATIC_LBN, + efx->phy_mode & PHY_MODE_TX_DISABLED || + efx->phy_mode & PHY_MODE_LOW_POWER || + efx->loopback_mode == LOOPBACK_PCS || + efx->loopback_mode == LOOPBACK_PMAPMD); + } else { + /* Reset the PHY when moving from tx off to tx on */ + if (!(efx->phy_mode & PHY_MODE_TX_DISABLED) && + (phy_data->phy_mode & PHY_MODE_TX_DISABLED)) + qt202x_reset_phy(efx); + + efx_mdio_transmit_disable(efx); + } + + efx_mdio_phy_reconfigure(efx); + + phy_data->phy_mode = efx->phy_mode; + + return 0; +} + +static void qt202x_phy_get_settings(struct efx_nic *efx, struct ethtool_cmd *ecmd) +{ + mdio45_ethtool_gset(&efx->mdio, ecmd); +} + +static void qt202x_phy_remove(struct efx_nic *efx) +{ + /* Free the context block */ + kfree(efx->phy_data); + efx->phy_data = NULL; +} + +struct efx_phy_operations falcon_qt202x_phy_ops = { + .probe = qt202x_phy_probe, + .init = qt202x_phy_init, + .reconfigure = qt202x_phy_reconfigure, + .poll = qt202x_phy_poll, + .fini = efx_port_dummy_op_void, + .remove = qt202x_phy_remove, + .get_settings = qt202x_phy_get_settings, + .set_settings = efx_mdio_set_settings, +}; --- linux-2.6.32.orig/drivers/net/sfc/regs.h +++ linux-2.6.32/drivers/net/sfc/regs.h @@ -0,0 +1,3168 @@ +/**************************************************************************** + * Driver for Solarflare Solarstorm network controllers and boards + * Copyright 2005-2006 Fen Systems Ltd. + * Copyright 2006-2009 Solarflare Communications 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, incorporated herein by reference. + */ + +#ifndef EFX_REGS_H +#define EFX_REGS_H + +/* + * Falcon hardware architecture definitions have a name prefix following + * the format: + * + * F__ + * + * The following strings are used: + * + * MMIO register MC register Host memory structure + * ------------------------------------------------------------- + * Address R MCR + * Bitfield RF MCRF SF + * Enumerator FE MCFE SE + * + * is the first revision to which the definition applies: + * + * A: Falcon A1 (SFC4000AB) + * B: Falcon B0 (SFC4000BA) + * C: Siena A0 (SFL9021AA) + * + * If the definition has been changed or removed in later revisions + * then is the last revision to which the definition applies; + * otherwise it is "Z". + */ + +/************************************************************************** + * + * Falcon/Siena registers and descriptors + * + ************************************************************************** + */ + +/* ADR_REGION_REG: Address region register */ +#define FR_AZ_ADR_REGION 0x00000000 +#define FRF_AZ_ADR_REGION3_LBN 96 +#define FRF_AZ_ADR_REGION3_WIDTH 18 +#define FRF_AZ_ADR_REGION2_LBN 64 +#define FRF_AZ_ADR_REGION2_WIDTH 18 +#define FRF_AZ_ADR_REGION1_LBN 32 +#define FRF_AZ_ADR_REGION1_WIDTH 18 +#define FRF_AZ_ADR_REGION0_LBN 0 +#define FRF_AZ_ADR_REGION0_WIDTH 18 + +/* INT_EN_REG_KER: Kernel driver Interrupt enable register */ +#define FR_AZ_INT_EN_KER 0x00000010 +#define FRF_AZ_KER_INT_LEVE_SEL_LBN 8 +#define FRF_AZ_KER_INT_LEVE_SEL_WIDTH 6 +#define FRF_AZ_KER_INT_CHAR_LBN 4 +#define FRF_AZ_KER_INT_CHAR_WIDTH 1 +#define FRF_AZ_KER_INT_KER_LBN 3 +#define FRF_AZ_KER_INT_KER_WIDTH 1 +#define FRF_AZ_DRV_INT_EN_KER_LBN 0 +#define FRF_AZ_DRV_INT_EN_KER_WIDTH 1 + +/* INT_EN_REG_CHAR: Char Driver interrupt enable register */ +#define FR_BZ_INT_EN_CHAR 0x00000020 +#define FRF_BZ_CHAR_INT_LEVE_SEL_LBN 8 +#define FRF_BZ_CHAR_INT_LEVE_SEL_WIDTH 6 +#define FRF_BZ_CHAR_INT_CHAR_LBN 4 +#define FRF_BZ_CHAR_INT_CHAR_WIDTH 1 +#define FRF_BZ_CHAR_INT_KER_LBN 3 +#define FRF_BZ_CHAR_INT_KER_WIDTH 1 +#define FRF_BZ_DRV_INT_EN_CHAR_LBN 0 +#define FRF_BZ_DRV_INT_EN_CHAR_WIDTH 1 + +/* INT_ADR_REG_KER: Interrupt host address for Kernel driver */ +#define FR_AZ_INT_ADR_KER 0x00000030 +#define FRF_AZ_NORM_INT_VEC_DIS_KER_LBN 64 +#define FRF_AZ_NORM_INT_VEC_DIS_KER_WIDTH 1 +#define FRF_AZ_INT_ADR_KER_LBN 0 +#define FRF_AZ_INT_ADR_KER_WIDTH 64 + +/* INT_ADR_REG_CHAR: Interrupt host address for Char driver */ +#define FR_BZ_INT_ADR_CHAR 0x00000040 +#define FRF_BZ_NORM_INT_VEC_DIS_CHAR_LBN 64 +#define FRF_BZ_NORM_INT_VEC_DIS_CHAR_WIDTH 1 +#define FRF_BZ_INT_ADR_CHAR_LBN 0 +#define FRF_BZ_INT_ADR_CHAR_WIDTH 64 + +/* INT_ACK_KER: Kernel interrupt acknowledge register */ +#define FR_AA_INT_ACK_KER 0x00000050 +#define FRF_AA_INT_ACK_KER_FIELD_LBN 0 +#define FRF_AA_INT_ACK_KER_FIELD_WIDTH 32 + +/* INT_ISR0_REG: Function 0 Interrupt Acknowlege Status register */ +#define FR_BZ_INT_ISR0 0x00000090 +#define FRF_BZ_INT_ISR_REG_LBN 0 +#define FRF_BZ_INT_ISR_REG_WIDTH 64 + +/* HW_INIT_REG: Hardware initialization register */ +#define FR_AZ_HW_INIT 0x000000c0 +#define FRF_BB_BDMRD_CPLF_FULL_LBN 124 +#define FRF_BB_BDMRD_CPLF_FULL_WIDTH 1 +#define FRF_BB_PCIE_CPL_TIMEOUT_CTRL_LBN 121 +#define FRF_BB_PCIE_CPL_TIMEOUT_CTRL_WIDTH 3 +#define FRF_CZ_TX_MRG_TAGS_LBN 120 +#define FRF_CZ_TX_MRG_TAGS_WIDTH 1 +#define FRF_AB_TRGT_MASK_ALL_LBN 100 +#define FRF_AB_TRGT_MASK_ALL_WIDTH 1 +#define FRF_AZ_DOORBELL_DROP_LBN 92 +#define FRF_AZ_DOORBELL_DROP_WIDTH 8 +#define FRF_AB_TX_RREQ_MASK_EN_LBN 76 +#define FRF_AB_TX_RREQ_MASK_EN_WIDTH 1 +#define FRF_AB_PE_EIDLE_DIS_LBN 75 +#define FRF_AB_PE_EIDLE_DIS_WIDTH 1 +#define FRF_AA_FC_BLOCKING_EN_LBN 45 +#define FRF_AA_FC_BLOCKING_EN_WIDTH 1 +#define FRF_BZ_B2B_REQ_EN_LBN 45 +#define FRF_BZ_B2B_REQ_EN_WIDTH 1 +#define FRF_AA_B2B_REQ_EN_LBN 44 +#define FRF_AA_B2B_REQ_EN_WIDTH 1 +#define FRF_BB_FC_BLOCKING_EN_LBN 44 +#define FRF_BB_FC_BLOCKING_EN_WIDTH 1 +#define FRF_AZ_POST_WR_MASK_LBN 40 +#define FRF_AZ_POST_WR_MASK_WIDTH 4 +#define FRF_AZ_TLP_TC_LBN 34 +#define FRF_AZ_TLP_TC_WIDTH 3 +#define FRF_AZ_TLP_ATTR_LBN 32 +#define FRF_AZ_TLP_ATTR_WIDTH 2 +#define FRF_AB_INTB_VEC_LBN 24 +#define FRF_AB_INTB_VEC_WIDTH 5 +#define FRF_AB_INTA_VEC_LBN 16 +#define FRF_AB_INTA_VEC_WIDTH 5 +#define FRF_AZ_WD_TIMER_LBN 8 +#define FRF_AZ_WD_TIMER_WIDTH 8 +#define FRF_AZ_US_DISABLE_LBN 5 +#define FRF_AZ_US_DISABLE_WIDTH 1 +#define FRF_AZ_TLP_EP_LBN 4 +#define FRF_AZ_TLP_EP_WIDTH 1 +#define FRF_AZ_ATTR_SEL_LBN 3 +#define FRF_AZ_ATTR_SEL_WIDTH 1 +#define FRF_AZ_TD_SEL_LBN 1 +#define FRF_AZ_TD_SEL_WIDTH 1 +#define FRF_AZ_TLP_TD_LBN 0 +#define FRF_AZ_TLP_TD_WIDTH 1 + +/* EE_SPI_HCMD_REG: SPI host command register */ +#define FR_AB_EE_SPI_HCMD 0x00000100 +#define FRF_AB_EE_SPI_HCMD_CMD_EN_LBN 31 +#define FRF_AB_EE_SPI_HCMD_CMD_EN_WIDTH 1 +#define FRF_AB_EE_WR_TIMER_ACTIVE_LBN 28 +#define FRF_AB_EE_WR_TIMER_ACTIVE_WIDTH 1 +#define FRF_AB_EE_SPI_HCMD_SF_SEL_LBN 24 +#define FRF_AB_EE_SPI_HCMD_SF_SEL_WIDTH 1 +#define FRF_AB_EE_SPI_HCMD_DABCNT_LBN 16 +#define FRF_AB_EE_SPI_HCMD_DABCNT_WIDTH 5 +#define FRF_AB_EE_SPI_HCMD_READ_LBN 15 +#define FRF_AB_EE_SPI_HCMD_READ_WIDTH 1 +#define FRF_AB_EE_SPI_HCMD_DUBCNT_LBN 12 +#define FRF_AB_EE_SPI_HCMD_DUBCNT_WIDTH 2 +#define FRF_AB_EE_SPI_HCMD_ADBCNT_LBN 8 +#define FRF_AB_EE_SPI_HCMD_ADBCNT_WIDTH 2 +#define FRF_AB_EE_SPI_HCMD_ENC_LBN 0 +#define FRF_AB_EE_SPI_HCMD_ENC_WIDTH 8 + +/* USR_EV_CFG: User Level Event Configuration register */ +#define FR_CZ_USR_EV_CFG 0x00000100 +#define FRF_CZ_USREV_DIS_LBN 16 +#define FRF_CZ_USREV_DIS_WIDTH 1 +#define FRF_CZ_DFLT_EVQ_LBN 0 +#define FRF_CZ_DFLT_EVQ_WIDTH 10 + +/* EE_SPI_HADR_REG: SPI host address register */ +#define FR_AB_EE_SPI_HADR 0x00000110 +#define FRF_AB_EE_SPI_HADR_DUBYTE_LBN 24 +#define FRF_AB_EE_SPI_HADR_DUBYTE_WIDTH 8 +#define FRF_AB_EE_SPI_HADR_ADR_LBN 0 +#define FRF_AB_EE_SPI_HADR_ADR_WIDTH 24 + +/* EE_SPI_HDATA_REG: SPI host data register */ +#define FR_AB_EE_SPI_HDATA 0x00000120 +#define FRF_AB_EE_SPI_HDATA3_LBN 96 +#define FRF_AB_EE_SPI_HDATA3_WIDTH 32 +#define FRF_AB_EE_SPI_HDATA2_LBN 64 +#define FRF_AB_EE_SPI_HDATA2_WIDTH 32 +#define FRF_AB_EE_SPI_HDATA1_LBN 32 +#define FRF_AB_EE_SPI_HDATA1_WIDTH 32 +#define FRF_AB_EE_SPI_HDATA0_LBN 0 +#define FRF_AB_EE_SPI_HDATA0_WIDTH 32 + +/* EE_BASE_PAGE_REG: Expansion ROM base mirror register */ +#define FR_AB_EE_BASE_PAGE 0x00000130 +#define FRF_AB_EE_EXPROM_MASK_LBN 16 +#define FRF_AB_EE_EXPROM_MASK_WIDTH 13 +#define FRF_AB_EE_EXP_ROM_WINDOW_BASE_LBN 0 +#define FRF_AB_EE_EXP_ROM_WINDOW_BASE_WIDTH 13 + +/* EE_VPD_CFG0_REG: SPI/VPD configuration register 0 */ +#define FR_AB_EE_VPD_CFG0 0x00000140 +#define FRF_AB_EE_SF_FASTRD_EN_LBN 127 +#define FRF_AB_EE_SF_FASTRD_EN_WIDTH 1 +#define FRF_AB_EE_SF_CLOCK_DIV_LBN 120 +#define FRF_AB_EE_SF_CLOCK_DIV_WIDTH 7 +#define FRF_AB_EE_VPD_WIP_POLL_LBN 119 +#define FRF_AB_EE_VPD_WIP_POLL_WIDTH 1 +#define FRF_AB_EE_EE_CLOCK_DIV_LBN 112 +#define FRF_AB_EE_EE_CLOCK_DIV_WIDTH 7 +#define FRF_AB_EE_EE_WR_TMR_VALUE_LBN 96 +#define FRF_AB_EE_EE_WR_TMR_VALUE_WIDTH 16 +#define FRF_AB_EE_VPDW_LENGTH_LBN 80 +#define FRF_AB_EE_VPDW_LENGTH_WIDTH 15 +#define FRF_AB_EE_VPDW_BASE_LBN 64 +#define FRF_AB_EE_VPDW_BASE_WIDTH 15 +#define FRF_AB_EE_VPD_WR_CMD_EN_LBN 56 +#define FRF_AB_EE_VPD_WR_CMD_EN_WIDTH 8 +#define FRF_AB_EE_VPD_BASE_LBN 32 +#define FRF_AB_EE_VPD_BASE_WIDTH 24 +#define FRF_AB_EE_VPD_LENGTH_LBN 16 +#define FRF_AB_EE_VPD_LENGTH_WIDTH 15 +#define FRF_AB_EE_VPD_AD_SIZE_LBN 8 +#define FRF_AB_EE_VPD_AD_SIZE_WIDTH 5 +#define FRF_AB_EE_VPD_ACCESS_ON_LBN 5 +#define FRF_AB_EE_VPD_ACCESS_ON_WIDTH 1 +#define FRF_AB_EE_VPD_ACCESS_BLOCK_LBN 4 +#define FRF_AB_EE_VPD_ACCESS_BLOCK_WIDTH 1 +#define FRF_AB_EE_VPD_DEV_SF_SEL_LBN 2 +#define FRF_AB_EE_VPD_DEV_SF_SEL_WIDTH 1 +#define FRF_AB_EE_VPD_EN_AD9_MODE_LBN 1 +#define FRF_AB_EE_VPD_EN_AD9_MODE_WIDTH 1 +#define FRF_AB_EE_VPD_EN_LBN 0 +#define FRF_AB_EE_VPD_EN_WIDTH 1 + +/* EE_VPD_SW_CNTL_REG: VPD access SW control register */ +#define FR_AB_EE_VPD_SW_CNTL 0x00000150 +#define FRF_AB_EE_VPD_CYCLE_PENDING_LBN 31 +#define FRF_AB_EE_VPD_CYCLE_PENDING_WIDTH 1 +#define FRF_AB_EE_VPD_CYC_WRITE_LBN 28 +#define FRF_AB_EE_VPD_CYC_WRITE_WIDTH 1 +#define FRF_AB_EE_VPD_CYC_ADR_LBN 0 +#define FRF_AB_EE_VPD_CYC_ADR_WIDTH 15 + +/* EE_VPD_SW_DATA_REG: VPD access SW data register */ +#define FR_AB_EE_VPD_SW_DATA 0x00000160 +#define FRF_AB_EE_VPD_CYC_DAT_LBN 0 +#define FRF_AB_EE_VPD_CYC_DAT_WIDTH 32 + +/* PBMX_DBG_IADDR_REG: Capture Module address register */ +#define FR_CZ_PBMX_DBG_IADDR 0x000001f0 +#define FRF_CZ_PBMX_DBG_IADDR_LBN 0 +#define FRF_CZ_PBMX_DBG_IADDR_WIDTH 32 + +/* PCIE_CORE_INDIRECT_REG: Indirect Access to PCIE Core registers */ +#define FR_BB_PCIE_CORE_INDIRECT 0x000001f0 +#define FRF_BB_PCIE_CORE_TARGET_DATA_LBN 32 +#define FRF_BB_PCIE_CORE_TARGET_DATA_WIDTH 32 +#define FRF_BB_PCIE_CORE_INDIRECT_ACCESS_DIR_LBN 15 +#define FRF_BB_PCIE_CORE_INDIRECT_ACCESS_DIR_WIDTH 1 +#define FRF_BB_PCIE_CORE_TARGET_REG_ADRS_LBN 0 +#define FRF_BB_PCIE_CORE_TARGET_REG_ADRS_WIDTH 12 + +/* PBMX_DBG_IDATA_REG: Capture Module data register */ +#define FR_CZ_PBMX_DBG_IDATA 0x000001f8 +#define FRF_CZ_PBMX_DBG_IDATA_LBN 0 +#define FRF_CZ_PBMX_DBG_IDATA_WIDTH 64 + +/* NIC_STAT_REG: NIC status register */ +#define FR_AB_NIC_STAT 0x00000200 +#define FRF_BB_AER_DIS_LBN 34 +#define FRF_BB_AER_DIS_WIDTH 1 +#define FRF_BB_EE_STRAP_EN_LBN 31 +#define FRF_BB_EE_STRAP_EN_WIDTH 1 +#define FRF_BB_EE_STRAP_LBN 24 +#define FRF_BB_EE_STRAP_WIDTH 4 +#define FRF_BB_REVISION_ID_LBN 17 +#define FRF_BB_REVISION_ID_WIDTH 7 +#define FRF_AB_ONCHIP_SRAM_LBN 16 +#define FRF_AB_ONCHIP_SRAM_WIDTH 1 +#define FRF_AB_SF_PRST_LBN 9 +#define FRF_AB_SF_PRST_WIDTH 1 +#define FRF_AB_EE_PRST_LBN 8 +#define FRF_AB_EE_PRST_WIDTH 1 +#define FRF_AB_ATE_MODE_LBN 3 +#define FRF_AB_ATE_MODE_WIDTH 1 +#define FRF_AB_STRAP_PINS_LBN 0 +#define FRF_AB_STRAP_PINS_WIDTH 3 + +/* GPIO_CTL_REG: GPIO control register */ +#define FR_AB_GPIO_CTL 0x00000210 +#define FRF_AB_GPIO_OUT3_LBN 112 +#define FRF_AB_GPIO_OUT3_WIDTH 16 +#define FRF_AB_GPIO_IN3_LBN 104 +#define FRF_AB_GPIO_IN3_WIDTH 8 +#define FRF_AB_GPIO_PWRUP_VALUE3_LBN 96 +#define FRF_AB_GPIO_PWRUP_VALUE3_WIDTH 8 +#define FRF_AB_GPIO_OUT2_LBN 80 +#define FRF_AB_GPIO_OUT2_WIDTH 16 +#define FRF_AB_GPIO_IN2_LBN 72 +#define FRF_AB_GPIO_IN2_WIDTH 8 +#define FRF_AB_GPIO_PWRUP_VALUE2_LBN 64 +#define FRF_AB_GPIO_PWRUP_VALUE2_WIDTH 8 +#define FRF_AB_GPIO15_OEN_LBN 63 +#define FRF_AB_GPIO15_OEN_WIDTH 1 +#define FRF_AB_GPIO14_OEN_LBN 62 +#define FRF_AB_GPIO14_OEN_WIDTH 1 +#define FRF_AB_GPIO13_OEN_LBN 61 +#define FRF_AB_GPIO13_OEN_WIDTH 1 +#define FRF_AB_GPIO12_OEN_LBN 60 +#define FRF_AB_GPIO12_OEN_WIDTH 1 +#define FRF_AB_GPIO11_OEN_LBN 59 +#define FRF_AB_GPIO11_OEN_WIDTH 1 +#define FRF_AB_GPIO10_OEN_LBN 58 +#define FRF_AB_GPIO10_OEN_WIDTH 1 +#define FRF_AB_GPIO9_OEN_LBN 57 +#define FRF_AB_GPIO9_OEN_WIDTH 1 +#define FRF_AB_GPIO8_OEN_LBN 56 +#define FRF_AB_GPIO8_OEN_WIDTH 1 +#define FRF_AB_GPIO15_OUT_LBN 55 +#define FRF_AB_GPIO15_OUT_WIDTH 1 +#define FRF_AB_GPIO14_OUT_LBN 54 +#define FRF_AB_GPIO14_OUT_WIDTH 1 +#define FRF_AB_GPIO13_OUT_LBN 53 +#define FRF_AB_GPIO13_OUT_WIDTH 1 +#define FRF_AB_GPIO12_OUT_LBN 52 +#define FRF_AB_GPIO12_OUT_WIDTH 1 +#define FRF_AB_GPIO11_OUT_LBN 51 +#define FRF_AB_GPIO11_OUT_WIDTH 1 +#define FRF_AB_GPIO10_OUT_LBN 50 +#define FRF_AB_GPIO10_OUT_WIDTH 1 +#define FRF_AB_GPIO9_OUT_LBN 49 +#define FRF_AB_GPIO9_OUT_WIDTH 1 +#define FRF_AB_GPIO8_OUT_LBN 48 +#define FRF_AB_GPIO8_OUT_WIDTH 1 +#define FRF_AB_GPIO15_IN_LBN 47 +#define FRF_AB_GPIO15_IN_WIDTH 1 +#define FRF_AB_GPIO14_IN_LBN 46 +#define FRF_AB_GPIO14_IN_WIDTH 1 +#define FRF_AB_GPIO13_IN_LBN 45 +#define FRF_AB_GPIO13_IN_WIDTH 1 +#define FRF_AB_GPIO12_IN_LBN 44 +#define FRF_AB_GPIO12_IN_WIDTH 1 +#define FRF_AB_GPIO11_IN_LBN 43 +#define FRF_AB_GPIO11_IN_WIDTH 1 +#define FRF_AB_GPIO10_IN_LBN 42 +#define FRF_AB_GPIO10_IN_WIDTH 1 +#define FRF_AB_GPIO9_IN_LBN 41 +#define FRF_AB_GPIO9_IN_WIDTH 1 +#define FRF_AB_GPIO8_IN_LBN 40 +#define FRF_AB_GPIO8_IN_WIDTH 1 +#define FRF_AB_GPIO15_PWRUP_VALUE_LBN 39 +#define FRF_AB_GPIO15_PWRUP_VALUE_WIDTH 1 +#define FRF_AB_GPIO14_PWRUP_VALUE_LBN 38 +#define FRF_AB_GPIO14_PWRUP_VALUE_WIDTH 1 +#define FRF_AB_GPIO13_PWRUP_VALUE_LBN 37 +#define FRF_AB_GPIO13_PWRUP_VALUE_WIDTH 1 +#define FRF_AB_GPIO12_PWRUP_VALUE_LBN 36 +#define FRF_AB_GPIO12_PWRUP_VALUE_WIDTH 1 +#define FRF_AB_GPIO11_PWRUP_VALUE_LBN 35 +#define FRF_AB_GPIO11_PWRUP_VALUE_WIDTH 1 +#define FRF_AB_GPIO10_PWRUP_VALUE_LBN 34 +#define FRF_AB_GPIO10_PWRUP_VALUE_WIDTH 1 +#define FRF_AB_GPIO9_PWRUP_VALUE_LBN 33 +#define FRF_AB_GPIO9_PWRUP_VALUE_WIDTH 1 +#define FRF_AB_GPIO8_PWRUP_VALUE_LBN 32 +#define FRF_AB_GPIO8_PWRUP_VALUE_WIDTH 1 +#define FRF_AB_CLK156_OUT_EN_LBN 31 +#define FRF_AB_CLK156_OUT_EN_WIDTH 1 +#define FRF_AB_USE_NIC_CLK_LBN 30 +#define FRF_AB_USE_NIC_CLK_WIDTH 1 +#define FRF_AB_GPIO5_OEN_LBN 29 +#define FRF_AB_GPIO5_OEN_WIDTH 1 +#define FRF_AB_GPIO4_OEN_LBN 28 +#define FRF_AB_GPIO4_OEN_WIDTH 1 +#define FRF_AB_GPIO3_OEN_LBN 27 +#define FRF_AB_GPIO3_OEN_WIDTH 1 +#define FRF_AB_GPIO2_OEN_LBN 26 +#define FRF_AB_GPIO2_OEN_WIDTH 1 +#define FRF_AB_GPIO1_OEN_LBN 25 +#define FRF_AB_GPIO1_OEN_WIDTH 1 +#define FRF_AB_GPIO0_OEN_LBN 24 +#define FRF_AB_GPIO0_OEN_WIDTH 1 +#define FRF_AB_GPIO7_OUT_LBN 23 +#define FRF_AB_GPIO7_OUT_WIDTH 1 +#define FRF_AB_GPIO6_OUT_LBN 22 +#define FRF_AB_GPIO6_OUT_WIDTH 1 +#define FRF_AB_GPIO5_OUT_LBN 21 +#define FRF_AB_GPIO5_OUT_WIDTH 1 +#define FRF_AB_GPIO4_OUT_LBN 20 +#define FRF_AB_GPIO4_OUT_WIDTH 1 +#define FRF_AB_GPIO3_OUT_LBN 19 +#define FRF_AB_GPIO3_OUT_WIDTH 1 +#define FRF_AB_GPIO2_OUT_LBN 18 +#define FRF_AB_GPIO2_OUT_WIDTH 1 +#define FRF_AB_GPIO1_OUT_LBN 17 +#define FRF_AB_GPIO1_OUT_WIDTH 1 +#define FRF_AB_GPIO0_OUT_LBN 16 +#define FRF_AB_GPIO0_OUT_WIDTH 1 +#define FRF_AB_GPIO7_IN_LBN 15 +#define FRF_AB_GPIO7_IN_WIDTH 1 +#define FRF_AB_GPIO6_IN_LBN 14 +#define FRF_AB_GPIO6_IN_WIDTH 1 +#define FRF_AB_GPIO5_IN_LBN 13 +#define FRF_AB_GPIO5_IN_WIDTH 1 +#define FRF_AB_GPIO4_IN_LBN 12 +#define FRF_AB_GPIO4_IN_WIDTH 1 +#define FRF_AB_GPIO3_IN_LBN 11 +#define FRF_AB_GPIO3_IN_WIDTH 1 +#define FRF_AB_GPIO2_IN_LBN 10 +#define FRF_AB_GPIO2_IN_WIDTH 1 +#define FRF_AB_GPIO1_IN_LBN 9 +#define FRF_AB_GPIO1_IN_WIDTH 1 +#define FRF_AB_GPIO0_IN_LBN 8 +#define FRF_AB_GPIO0_IN_WIDTH 1 +#define FRF_AB_GPIO7_PWRUP_VALUE_LBN 7 +#define FRF_AB_GPIO7_PWRUP_VALUE_WIDTH 1 +#define FRF_AB_GPIO6_PWRUP_VALUE_LBN 6 +#define FRF_AB_GPIO6_PWRUP_VALUE_WIDTH 1 +#define FRF_AB_GPIO5_PWRUP_VALUE_LBN 5 +#define FRF_AB_GPIO5_PWRUP_VALUE_WIDTH 1 +#define FRF_AB_GPIO4_PWRUP_VALUE_LBN 4 +#define FRF_AB_GPIO4_PWRUP_VALUE_WIDTH 1 +#define FRF_AB_GPIO3_PWRUP_VALUE_LBN 3 +#define FRF_AB_GPIO3_PWRUP_VALUE_WIDTH 1 +#define FRF_AB_GPIO2_PWRUP_VALUE_LBN 2 +#define FRF_AB_GPIO2_PWRUP_VALUE_WIDTH 1 +#define FRF_AB_GPIO1_PWRUP_VALUE_LBN 1 +#define FRF_AB_GPIO1_PWRUP_VALUE_WIDTH 1 +#define FRF_AB_GPIO0_PWRUP_VALUE_LBN 0 +#define FRF_AB_GPIO0_PWRUP_VALUE_WIDTH 1 + +/* GLB_CTL_REG: Global control register */ +#define FR_AB_GLB_CTL 0x00000220 +#define FRF_AB_EXT_PHY_RST_CTL_LBN 63 +#define FRF_AB_EXT_PHY_RST_CTL_WIDTH 1 +#define FRF_AB_XAUI_SD_RST_CTL_LBN 62 +#define FRF_AB_XAUI_SD_RST_CTL_WIDTH 1 +#define FRF_AB_PCIE_SD_RST_CTL_LBN 61 +#define FRF_AB_PCIE_SD_RST_CTL_WIDTH 1 +#define FRF_AA_PCIX_RST_CTL_LBN 60 +#define FRF_AA_PCIX_RST_CTL_WIDTH 1 +#define FRF_BB_BIU_RST_CTL_LBN 60 +#define FRF_BB_BIU_RST_CTL_WIDTH 1 +#define FRF_AB_PCIE_STKY_RST_CTL_LBN 59 +#define FRF_AB_PCIE_STKY_RST_CTL_WIDTH 1 +#define FRF_AB_PCIE_NSTKY_RST_CTL_LBN 58 +#define FRF_AB_PCIE_NSTKY_RST_CTL_WIDTH 1 +#define FRF_AB_PCIE_CORE_RST_CTL_LBN 57 +#define FRF_AB_PCIE_CORE_RST_CTL_WIDTH 1 +#define FRF_AB_XGRX_RST_CTL_LBN 56 +#define FRF_AB_XGRX_RST_CTL_WIDTH 1 +#define FRF_AB_XGTX_RST_CTL_LBN 55 +#define FRF_AB_XGTX_RST_CTL_WIDTH 1 +#define FRF_AB_EM_RST_CTL_LBN 54 +#define FRF_AB_EM_RST_CTL_WIDTH 1 +#define FRF_AB_EV_RST_CTL_LBN 53 +#define FRF_AB_EV_RST_CTL_WIDTH 1 +#define FRF_AB_SR_RST_CTL_LBN 52 +#define FRF_AB_SR_RST_CTL_WIDTH 1 +#define FRF_AB_RX_RST_CTL_LBN 51 +#define FRF_AB_RX_RST_CTL_WIDTH 1 +#define FRF_AB_TX_RST_CTL_LBN 50 +#define FRF_AB_TX_RST_CTL_WIDTH 1 +#define FRF_AB_EE_RST_CTL_LBN 49 +#define FRF_AB_EE_RST_CTL_WIDTH 1 +#define FRF_AB_CS_RST_CTL_LBN 48 +#define FRF_AB_CS_RST_CTL_WIDTH 1 +#define FRF_AB_HOT_RST_CTL_LBN 40 +#define FRF_AB_HOT_RST_CTL_WIDTH 2 +#define FRF_AB_RST_EXT_PHY_LBN 31 +#define FRF_AB_RST_EXT_PHY_WIDTH 1 +#define FRF_AB_RST_XAUI_SD_LBN 30 +#define FRF_AB_RST_XAUI_SD_WIDTH 1 +#define FRF_AB_RST_PCIE_SD_LBN 29 +#define FRF_AB_RST_PCIE_SD_WIDTH 1 +#define FRF_AA_RST_PCIX_LBN 28 +#define FRF_AA_RST_PCIX_WIDTH 1 +#define FRF_BB_RST_BIU_LBN 28 +#define FRF_BB_RST_BIU_WIDTH 1 +#define FRF_AB_RST_PCIE_STKY_LBN 27 +#define FRF_AB_RST_PCIE_STKY_WIDTH 1 +#define FRF_AB_RST_PCIE_NSTKY_LBN 26 +#define FRF_AB_RST_PCIE_NSTKY_WIDTH 1 +#define FRF_AB_RST_PCIE_CORE_LBN 25 +#define FRF_AB_RST_PCIE_CORE_WIDTH 1 +#define FRF_AB_RST_XGRX_LBN 24 +#define FRF_AB_RST_XGRX_WIDTH 1 +#define FRF_AB_RST_XGTX_LBN 23 +#define FRF_AB_RST_XGTX_WIDTH 1 +#define FRF_AB_RST_EM_LBN 22 +#define FRF_AB_RST_EM_WIDTH 1 +#define FRF_AB_RST_EV_LBN 21 +#define FRF_AB_RST_EV_WIDTH 1 +#define FRF_AB_RST_SR_LBN 20 +#define FRF_AB_RST_SR_WIDTH 1 +#define FRF_AB_RST_RX_LBN 19 +#define FRF_AB_RST_RX_WIDTH 1 +#define FRF_AB_RST_TX_LBN 18 +#define FRF_AB_RST_TX_WIDTH 1 +#define FRF_AB_RST_SF_LBN 17 +#define FRF_AB_RST_SF_WIDTH 1 +#define FRF_AB_RST_CS_LBN 16 +#define FRF_AB_RST_CS_WIDTH 1 +#define FRF_AB_INT_RST_DUR_LBN 4 +#define FRF_AB_INT_RST_DUR_WIDTH 3 +#define FRF_AB_EXT_PHY_RST_DUR_LBN 1 +#define FRF_AB_EXT_PHY_RST_DUR_WIDTH 3 +#define FFE_AB_EXT_PHY_RST_DUR_10240US 7 +#define FFE_AB_EXT_PHY_RST_DUR_5120US 6 +#define FFE_AB_EXT_PHY_RST_DUR_2560US 5 +#define FFE_AB_EXT_PHY_RST_DUR_1280US 4 +#define FFE_AB_EXT_PHY_RST_DUR_640US 3 +#define FFE_AB_EXT_PHY_RST_DUR_320US 2 +#define FFE_AB_EXT_PHY_RST_DUR_160US 1 +#define FFE_AB_EXT_PHY_RST_DUR_80US 0 +#define FRF_AB_SWRST_LBN 0 +#define FRF_AB_SWRST_WIDTH 1 + +/* FATAL_INTR_REG_KER: Fatal interrupt register for Kernel */ +#define FR_AZ_FATAL_INTR_KER 0x00000230 +#define FRF_CZ_SRAM_PERR_INT_P_KER_EN_LBN 44 +#define FRF_CZ_SRAM_PERR_INT_P_KER_EN_WIDTH 1 +#define FRF_AB_PCI_BUSERR_INT_KER_EN_LBN 43 +#define FRF_AB_PCI_BUSERR_INT_KER_EN_WIDTH 1 +#define FRF_CZ_MBU_PERR_INT_KER_EN_LBN 43 +#define FRF_CZ_MBU_PERR_INT_KER_EN_WIDTH 1 +#define FRF_AZ_SRAM_OOB_INT_KER_EN_LBN 42 +#define FRF_AZ_SRAM_OOB_INT_KER_EN_WIDTH 1 +#define FRF_AZ_BUFID_OOB_INT_KER_EN_LBN 41 +#define FRF_AZ_BUFID_OOB_INT_KER_EN_WIDTH 1 +#define FRF_AZ_MEM_PERR_INT_KER_EN_LBN 40 +#define FRF_AZ_MEM_PERR_INT_KER_EN_WIDTH 1 +#define FRF_AZ_RBUF_OWN_INT_KER_EN_LBN 39 +#define FRF_AZ_RBUF_OWN_INT_KER_EN_WIDTH 1 +#define FRF_AZ_TBUF_OWN_INT_KER_EN_LBN 38 +#define FRF_AZ_TBUF_OWN_INT_KER_EN_WIDTH 1 +#define FRF_AZ_RDESCQ_OWN_INT_KER_EN_LBN 37 +#define FRF_AZ_RDESCQ_OWN_INT_KER_EN_WIDTH 1 +#define FRF_AZ_TDESCQ_OWN_INT_KER_EN_LBN 36 +#define FRF_AZ_TDESCQ_OWN_INT_KER_EN_WIDTH 1 +#define FRF_AZ_EVQ_OWN_INT_KER_EN_LBN 35 +#define FRF_AZ_EVQ_OWN_INT_KER_EN_WIDTH 1 +#define FRF_AZ_EVF_OFLO_INT_KER_EN_LBN 34 +#define FRF_AZ_EVF_OFLO_INT_KER_EN_WIDTH 1 +#define FRF_AZ_ILL_ADR_INT_KER_EN_LBN 33 +#define FRF_AZ_ILL_ADR_INT_KER_EN_WIDTH 1 +#define FRF_AZ_SRM_PERR_INT_KER_EN_LBN 32 +#define FRF_AZ_SRM_PERR_INT_KER_EN_WIDTH 1 +#define FRF_CZ_SRAM_PERR_INT_P_KER_LBN 12 +#define FRF_CZ_SRAM_PERR_INT_P_KER_WIDTH 1 +#define FRF_AB_PCI_BUSERR_INT_KER_LBN 11 +#define FRF_AB_PCI_BUSERR_INT_KER_WIDTH 1 +#define FRF_CZ_MBU_PERR_INT_KER_LBN 11 +#define FRF_CZ_MBU_PERR_INT_KER_WIDTH 1 +#define FRF_AZ_SRAM_OOB_INT_KER_LBN 10 +#define FRF_AZ_SRAM_OOB_INT_KER_WIDTH 1 +#define FRF_AZ_BUFID_DC_OOB_INT_KER_LBN 9 +#define FRF_AZ_BUFID_DC_OOB_INT_KER_WIDTH 1 +#define FRF_AZ_MEM_PERR_INT_KER_LBN 8 +#define FRF_AZ_MEM_PERR_INT_KER_WIDTH 1 +#define FRF_AZ_RBUF_OWN_INT_KER_LBN 7 +#define FRF_AZ_RBUF_OWN_INT_KER_WIDTH 1 +#define FRF_AZ_TBUF_OWN_INT_KER_LBN 6 +#define FRF_AZ_TBUF_OWN_INT_KER_WIDTH 1 +#define FRF_AZ_RDESCQ_OWN_INT_KER_LBN 5 +#define FRF_AZ_RDESCQ_OWN_INT_KER_WIDTH 1 +#define FRF_AZ_TDESCQ_OWN_INT_KER_LBN 4 +#define FRF_AZ_TDESCQ_OWN_INT_KER_WIDTH 1 +#define FRF_AZ_EVQ_OWN_INT_KER_LBN 3 +#define FRF_AZ_EVQ_OWN_INT_KER_WIDTH 1 +#define FRF_AZ_EVF_OFLO_INT_KER_LBN 2 +#define FRF_AZ_EVF_OFLO_INT_KER_WIDTH 1 +#define FRF_AZ_ILL_ADR_INT_KER_LBN 1 +#define FRF_AZ_ILL_ADR_INT_KER_WIDTH 1 +#define FRF_AZ_SRM_PERR_INT_KER_LBN 0 +#define FRF_AZ_SRM_PERR_INT_KER_WIDTH 1 + +/* FATAL_INTR_REG_CHAR: Fatal interrupt register for Char */ +#define FR_BZ_FATAL_INTR_CHAR 0x00000240 +#define FRF_CZ_SRAM_PERR_INT_P_CHAR_EN_LBN 44 +#define FRF_CZ_SRAM_PERR_INT_P_CHAR_EN_WIDTH 1 +#define FRF_BB_PCI_BUSERR_INT_CHAR_EN_LBN 43 +#define FRF_BB_PCI_BUSERR_INT_CHAR_EN_WIDTH 1 +#define FRF_CZ_MBU_PERR_INT_CHAR_EN_LBN 43 +#define FRF_CZ_MBU_PERR_INT_CHAR_EN_WIDTH 1 +#define FRF_BZ_SRAM_OOB_INT_CHAR_EN_LBN 42 +#define FRF_BZ_SRAM_OOB_INT_CHAR_EN_WIDTH 1 +#define FRF_BZ_BUFID_OOB_INT_CHAR_EN_LBN 41 +#define FRF_BZ_BUFID_OOB_INT_CHAR_EN_WIDTH 1 +#define FRF_BZ_MEM_PERR_INT_CHAR_EN_LBN 40 +#define FRF_BZ_MEM_PERR_INT_CHAR_EN_WIDTH 1 +#define FRF_BZ_RBUF_OWN_INT_CHAR_EN_LBN 39 +#define FRF_BZ_RBUF_OWN_INT_CHAR_EN_WIDTH 1 +#define FRF_BZ_TBUF_OWN_INT_CHAR_EN_LBN 38 +#define FRF_BZ_TBUF_OWN_INT_CHAR_EN_WIDTH 1 +#define FRF_BZ_RDESCQ_OWN_INT_CHAR_EN_LBN 37 +#define FRF_BZ_RDESCQ_OWN_INT_CHAR_EN_WIDTH 1 +#define FRF_BZ_TDESCQ_OWN_INT_CHAR_EN_LBN 36 +#define FRF_BZ_TDESCQ_OWN_INT_CHAR_EN_WIDTH 1 +#define FRF_BZ_EVQ_OWN_INT_CHAR_EN_LBN 35 +#define FRF_BZ_EVQ_OWN_INT_CHAR_EN_WIDTH 1 +#define FRF_BZ_EVF_OFLO_INT_CHAR_EN_LBN 34 +#define FRF_BZ_EVF_OFLO_INT_CHAR_EN_WIDTH 1 +#define FRF_BZ_ILL_ADR_INT_CHAR_EN_LBN 33 +#define FRF_BZ_ILL_ADR_INT_CHAR_EN_WIDTH 1 +#define FRF_BZ_SRM_PERR_INT_CHAR_EN_LBN 32 +#define FRF_BZ_SRM_PERR_INT_CHAR_EN_WIDTH 1 +#define FRF_CZ_SRAM_PERR_INT_P_CHAR_LBN 12 +#define FRF_CZ_SRAM_PERR_INT_P_CHAR_WIDTH 1 +#define FRF_BB_PCI_BUSERR_INT_CHAR_LBN 11 +#define FRF_BB_PCI_BUSERR_INT_CHAR_WIDTH 1 +#define FRF_CZ_MBU_PERR_INT_CHAR_LBN 11 +#define FRF_CZ_MBU_PERR_INT_CHAR_WIDTH 1 +#define FRF_BZ_SRAM_OOB_INT_CHAR_LBN 10 +#define FRF_BZ_SRAM_OOB_INT_CHAR_WIDTH 1 +#define FRF_BZ_BUFID_DC_OOB_INT_CHAR_LBN 9 +#define FRF_BZ_BUFID_DC_OOB_INT_CHAR_WIDTH 1 +#define FRF_BZ_MEM_PERR_INT_CHAR_LBN 8 +#define FRF_BZ_MEM_PERR_INT_CHAR_WIDTH 1 +#define FRF_BZ_RBUF_OWN_INT_CHAR_LBN 7 +#define FRF_BZ_RBUF_OWN_INT_CHAR_WIDTH 1 +#define FRF_BZ_TBUF_OWN_INT_CHAR_LBN 6 +#define FRF_BZ_TBUF_OWN_INT_CHAR_WIDTH 1 +#define FRF_BZ_RDESCQ_OWN_INT_CHAR_LBN 5 +#define FRF_BZ_RDESCQ_OWN_INT_CHAR_WIDTH 1 +#define FRF_BZ_TDESCQ_OWN_INT_CHAR_LBN 4 +#define FRF_BZ_TDESCQ_OWN_INT_CHAR_WIDTH 1 +#define FRF_BZ_EVQ_OWN_INT_CHAR_LBN 3 +#define FRF_BZ_EVQ_OWN_INT_CHAR_WIDTH 1 +#define FRF_BZ_EVF_OFLO_INT_CHAR_LBN 2 +#define FRF_BZ_EVF_OFLO_INT_CHAR_WIDTH 1 +#define FRF_BZ_ILL_ADR_INT_CHAR_LBN 1 +#define FRF_BZ_ILL_ADR_INT_CHAR_WIDTH 1 +#define FRF_BZ_SRM_PERR_INT_CHAR_LBN 0 +#define FRF_BZ_SRM_PERR_INT_CHAR_WIDTH 1 + +/* DP_CTRL_REG: Datapath control register */ +#define FR_BZ_DP_CTRL 0x00000250 +#define FRF_BZ_FLS_EVQ_ID_LBN 0 +#define FRF_BZ_FLS_EVQ_ID_WIDTH 12 + +/* MEM_STAT_REG: Memory status register */ +#define FR_AZ_MEM_STAT 0x00000260 +#define FRF_AB_MEM_PERR_VEC_LBN 53 +#define FRF_AB_MEM_PERR_VEC_WIDTH 38 +#define FRF_AB_MBIST_CORR_LBN 38 +#define FRF_AB_MBIST_CORR_WIDTH 15 +#define FRF_AB_MBIST_ERR_LBN 0 +#define FRF_AB_MBIST_ERR_WIDTH 40 +#define FRF_CZ_MEM_PERR_VEC_LBN 0 +#define FRF_CZ_MEM_PERR_VEC_WIDTH 35 + +/* CS_DEBUG_REG: Debug register */ +#define FR_AZ_CS_DEBUG 0x00000270 +#define FRF_AB_GLB_DEBUG2_SEL_LBN 50 +#define FRF_AB_GLB_DEBUG2_SEL_WIDTH 3 +#define FRF_AB_DEBUG_BLK_SEL2_LBN 47 +#define FRF_AB_DEBUG_BLK_SEL2_WIDTH 3 +#define FRF_AB_DEBUG_BLK_SEL1_LBN 44 +#define FRF_AB_DEBUG_BLK_SEL1_WIDTH 3 +#define FRF_AB_DEBUG_BLK_SEL0_LBN 41 +#define FRF_AB_DEBUG_BLK_SEL0_WIDTH 3 +#define FRF_CZ_CS_PORT_NUM_LBN 40 +#define FRF_CZ_CS_PORT_NUM_WIDTH 2 +#define FRF_AB_MISC_DEBUG_ADDR_LBN 36 +#define FRF_AB_MISC_DEBUG_ADDR_WIDTH 5 +#define FRF_AB_SERDES_DEBUG_ADDR_LBN 31 +#define FRF_AB_SERDES_DEBUG_ADDR_WIDTH 5 +#define FRF_CZ_CS_PORT_FPE_LBN 1 +#define FRF_CZ_CS_PORT_FPE_WIDTH 35 +#define FRF_AB_EM_DEBUG_ADDR_LBN 26 +#define FRF_AB_EM_DEBUG_ADDR_WIDTH 5 +#define FRF_AB_SR_DEBUG_ADDR_LBN 21 +#define FRF_AB_SR_DEBUG_ADDR_WIDTH 5 +#define FRF_AB_EV_DEBUG_ADDR_LBN 16 +#define FRF_AB_EV_DEBUG_ADDR_WIDTH 5 +#define FRF_AB_RX_DEBUG_ADDR_LBN 11 +#define FRF_AB_RX_DEBUG_ADDR_WIDTH 5 +#define FRF_AB_TX_DEBUG_ADDR_LBN 6 +#define FRF_AB_TX_DEBUG_ADDR_WIDTH 5 +#define FRF_AB_CS_BIU_DEBUG_ADDR_LBN 1 +#define FRF_AB_CS_BIU_DEBUG_ADDR_WIDTH 5 +#define FRF_AZ_CS_DEBUG_EN_LBN 0 +#define FRF_AZ_CS_DEBUG_EN_WIDTH 1 + +/* DRIVER_REG: Driver scratch register [0-7] */ +#define FR_AZ_DRIVER 0x00000280 +#define FR_AZ_DRIVER_STEP 16 +#define FR_AZ_DRIVER_ROWS 8 +#define FRF_AZ_DRIVER_DW0_LBN 0 +#define FRF_AZ_DRIVER_DW0_WIDTH 32 + +/* ALTERA_BUILD_REG: Altera build register */ +#define FR_AZ_ALTERA_BUILD 0x00000300 +#define FRF_AZ_ALTERA_BUILD_VER_LBN 0 +#define FRF_AZ_ALTERA_BUILD_VER_WIDTH 32 + +/* CSR_SPARE_REG: Spare register */ +#define FR_AZ_CSR_SPARE 0x00000310 +#define FRF_AB_MEM_PERR_EN_LBN 64 +#define FRF_AB_MEM_PERR_EN_WIDTH 38 +#define FRF_CZ_MEM_PERR_EN_LBN 64 +#define FRF_CZ_MEM_PERR_EN_WIDTH 35 +#define FRF_AB_MEM_PERR_EN_TX_DATA_LBN 72 +#define FRF_AB_MEM_PERR_EN_TX_DATA_WIDTH 2 +#define FRF_AZ_CSR_SPARE_BITS_LBN 0 +#define FRF_AZ_CSR_SPARE_BITS_WIDTH 32 + +/* PCIE_SD_CTL0123_REG: PCIE SerDes control register 0 to 3 */ +#define FR_AB_PCIE_SD_CTL0123 0x00000320 +#define FRF_AB_PCIE_TESTSIG_H_LBN 96 +#define FRF_AB_PCIE_TESTSIG_H_WIDTH 19 +#define FRF_AB_PCIE_TESTSIG_L_LBN 64 +#define FRF_AB_PCIE_TESTSIG_L_WIDTH 19 +#define FRF_AB_PCIE_OFFSET_LBN 56 +#define FRF_AB_PCIE_OFFSET_WIDTH 8 +#define FRF_AB_PCIE_OFFSETEN_H_LBN 55 +#define FRF_AB_PCIE_OFFSETEN_H_WIDTH 1 +#define FRF_AB_PCIE_OFFSETEN_L_LBN 54 +#define FRF_AB_PCIE_OFFSETEN_L_WIDTH 1 +#define FRF_AB_PCIE_HIVMODE_H_LBN 53 +#define FRF_AB_PCIE_HIVMODE_H_WIDTH 1 +#define FRF_AB_PCIE_HIVMODE_L_LBN 52 +#define FRF_AB_PCIE_HIVMODE_L_WIDTH 1 +#define FRF_AB_PCIE_PARRESET_H_LBN 51 +#define FRF_AB_PCIE_PARRESET_H_WIDTH 1 +#define FRF_AB_PCIE_PARRESET_L_LBN 50 +#define FRF_AB_PCIE_PARRESET_L_WIDTH 1 +#define FRF_AB_PCIE_LPBKWDRV_H_LBN 49 +#define FRF_AB_PCIE_LPBKWDRV_H_WIDTH 1 +#define FRF_AB_PCIE_LPBKWDRV_L_LBN 48 +#define FRF_AB_PCIE_LPBKWDRV_L_WIDTH 1 +#define FRF_AB_PCIE_LPBK_LBN 40 +#define FRF_AB_PCIE_LPBK_WIDTH 8 +#define FRF_AB_PCIE_PARLPBK_LBN 32 +#define FRF_AB_PCIE_PARLPBK_WIDTH 8 +#define FRF_AB_PCIE_RXTERMADJ_H_LBN 30 +#define FRF_AB_PCIE_RXTERMADJ_H_WIDTH 2 +#define FRF_AB_PCIE_RXTERMADJ_L_LBN 28 +#define FRF_AB_PCIE_RXTERMADJ_L_WIDTH 2 +#define FFE_AB_PCIE_RXTERMADJ_MIN15PCNT 3 +#define FFE_AB_PCIE_RXTERMADJ_PL10PCNT 2 +#define FFE_AB_PCIE_RXTERMADJ_MIN17PCNT 1 +#define FFE_AB_PCIE_RXTERMADJ_NOMNL 0 +#define FRF_AB_PCIE_TXTERMADJ_H_LBN 26 +#define FRF_AB_PCIE_TXTERMADJ_H_WIDTH 2 +#define FRF_AB_PCIE_TXTERMADJ_L_LBN 24 +#define FRF_AB_PCIE_TXTERMADJ_L_WIDTH 2 +#define FFE_AB_PCIE_TXTERMADJ_MIN15PCNT 3 +#define FFE_AB_PCIE_TXTERMADJ_PL10PCNT 2 +#define FFE_AB_PCIE_TXTERMADJ_MIN17PCNT 1 +#define FFE_AB_PCIE_TXTERMADJ_NOMNL 0 +#define FRF_AB_PCIE_RXEQCTL_H_LBN 18 +#define FRF_AB_PCIE_RXEQCTL_H_WIDTH 2 +#define FRF_AB_PCIE_RXEQCTL_L_LBN 16 +#define FRF_AB_PCIE_RXEQCTL_L_WIDTH 2 +#define FFE_AB_PCIE_RXEQCTL_OFF_ALT 3 +#define FFE_AB_PCIE_RXEQCTL_OFF 2 +#define FFE_AB_PCIE_RXEQCTL_MIN 1 +#define FFE_AB_PCIE_RXEQCTL_MAX 0 +#define FRF_AB_PCIE_HIDRV_LBN 8 +#define FRF_AB_PCIE_HIDRV_WIDTH 8 +#define FRF_AB_PCIE_LODRV_LBN 0 +#define FRF_AB_PCIE_LODRV_WIDTH 8 + +/* PCIE_SD_CTL45_REG: PCIE SerDes control register 4 and 5 */ +#define FR_AB_PCIE_SD_CTL45 0x00000330 +#define FRF_AB_PCIE_DTX7_LBN 60 +#define FRF_AB_PCIE_DTX7_WIDTH 4 +#define FRF_AB_PCIE_DTX6_LBN 56 +#define FRF_AB_PCIE_DTX6_WIDTH 4 +#define FRF_AB_PCIE_DTX5_LBN 52 +#define FRF_AB_PCIE_DTX5_WIDTH 4 +#define FRF_AB_PCIE_DTX4_LBN 48 +#define FRF_AB_PCIE_DTX4_WIDTH 4 +#define FRF_AB_PCIE_DTX3_LBN 44 +#define FRF_AB_PCIE_DTX3_WIDTH 4 +#define FRF_AB_PCIE_DTX2_LBN 40 +#define FRF_AB_PCIE_DTX2_WIDTH 4 +#define FRF_AB_PCIE_DTX1_LBN 36 +#define FRF_AB_PCIE_DTX1_WIDTH 4 +#define FRF_AB_PCIE_DTX0_LBN 32 +#define FRF_AB_PCIE_DTX0_WIDTH 4 +#define FRF_AB_PCIE_DEQ7_LBN 28 +#define FRF_AB_PCIE_DEQ7_WIDTH 4 +#define FRF_AB_PCIE_DEQ6_LBN 24 +#define FRF_AB_PCIE_DEQ6_WIDTH 4 +#define FRF_AB_PCIE_DEQ5_LBN 20 +#define FRF_AB_PCIE_DEQ5_WIDTH 4 +#define FRF_AB_PCIE_DEQ4_LBN 16 +#define FRF_AB_PCIE_DEQ4_WIDTH 4 +#define FRF_AB_PCIE_DEQ3_LBN 12 +#define FRF_AB_PCIE_DEQ3_WIDTH 4 +#define FRF_AB_PCIE_DEQ2_LBN 8 +#define FRF_AB_PCIE_DEQ2_WIDTH 4 +#define FRF_AB_PCIE_DEQ1_LBN 4 +#define FRF_AB_PCIE_DEQ1_WIDTH 4 +#define FRF_AB_PCIE_DEQ0_LBN 0 +#define FRF_AB_PCIE_DEQ0_WIDTH 4 + +/* PCIE_PCS_CTL_STAT_REG: PCIE PCS control and status register */ +#define FR_AB_PCIE_PCS_CTL_STAT 0x00000340 +#define FRF_AB_PCIE_PRBSERRCOUNT0_H_LBN 52 +#define FRF_AB_PCIE_PRBSERRCOUNT0_H_WIDTH 4 +#define FRF_AB_PCIE_PRBSERRCOUNT0_L_LBN 48 +#define FRF_AB_PCIE_PRBSERRCOUNT0_L_WIDTH 4 +#define FRF_AB_PCIE_PRBSERR_LBN 40 +#define FRF_AB_PCIE_PRBSERR_WIDTH 8 +#define FRF_AB_PCIE_PRBSERRH0_LBN 32 +#define FRF_AB_PCIE_PRBSERRH0_WIDTH 8 +#define FRF_AB_PCIE_FASTINIT_H_LBN 15 +#define FRF_AB_PCIE_FASTINIT_H_WIDTH 1 +#define FRF_AB_PCIE_FASTINIT_L_LBN 14 +#define FRF_AB_PCIE_FASTINIT_L_WIDTH 1 +#define FRF_AB_PCIE_CTCDISABLE_H_LBN 13 +#define FRF_AB_PCIE_CTCDISABLE_H_WIDTH 1 +#define FRF_AB_PCIE_CTCDISABLE_L_LBN 12 +#define FRF_AB_PCIE_CTCDISABLE_L_WIDTH 1 +#define FRF_AB_PCIE_PRBSSYNC_H_LBN 11 +#define FRF_AB_PCIE_PRBSSYNC_H_WIDTH 1 +#define FRF_AB_PCIE_PRBSSYNC_L_LBN 10 +#define FRF_AB_PCIE_PRBSSYNC_L_WIDTH 1 +#define FRF_AB_PCIE_PRBSERRACK_H_LBN 9 +#define FRF_AB_PCIE_PRBSERRACK_H_WIDTH 1 +#define FRF_AB_PCIE_PRBSERRACK_L_LBN 8 +#define FRF_AB_PCIE_PRBSERRACK_L_WIDTH 1 +#define FRF_AB_PCIE_PRBSSEL_LBN 0 +#define FRF_AB_PCIE_PRBSSEL_WIDTH 8 + +/* DEBUG_DATA_OUT_REG: Live Debug and Debug 2 out ports */ +#define FR_BB_DEBUG_DATA_OUT 0x00000350 +#define FRF_BB_DEBUG2_PORT_LBN 25 +#define FRF_BB_DEBUG2_PORT_WIDTH 15 +#define FRF_BB_DEBUG1_PORT_LBN 0 +#define FRF_BB_DEBUG1_PORT_WIDTH 25 + +/* EVQ_RPTR_REGP0: Event queue read pointer register */ +#define FR_BZ_EVQ_RPTR_P0 0x00000400 +#define FR_BZ_EVQ_RPTR_P0_STEP 8192 +#define FR_BZ_EVQ_RPTR_P0_ROWS 1024 +/* EVQ_RPTR_REG_KER: Event queue read pointer register */ +#define FR_AA_EVQ_RPTR_KER 0x00011b00 +#define FR_AA_EVQ_RPTR_KER_STEP 4 +#define FR_AA_EVQ_RPTR_KER_ROWS 4 +/* EVQ_RPTR_REG: Event queue read pointer register */ +#define FR_BZ_EVQ_RPTR 0x00fa0000 +#define FR_BZ_EVQ_RPTR_STEP 16 +#define FR_BB_EVQ_RPTR_ROWS 4096 +#define FR_CZ_EVQ_RPTR_ROWS 1024 +/* EVQ_RPTR_REGP123: Event queue read pointer register */ +#define FR_BB_EVQ_RPTR_P123 0x01000400 +#define FR_BB_EVQ_RPTR_P123_STEP 8192 +#define FR_BB_EVQ_RPTR_P123_ROWS 3072 +#define FRF_AZ_EVQ_RPTR_VLD_LBN 15 +#define FRF_AZ_EVQ_RPTR_VLD_WIDTH 1 +#define FRF_AZ_EVQ_RPTR_LBN 0 +#define FRF_AZ_EVQ_RPTR_WIDTH 15 + +/* TIMER_COMMAND_REGP0: Timer Command Registers */ +#define FR_BZ_TIMER_COMMAND_P0 0x00000420 +#define FR_BZ_TIMER_COMMAND_P0_STEP 8192 +#define FR_BZ_TIMER_COMMAND_P0_ROWS 1024 +/* TIMER_COMMAND_REG_KER: Timer Command Registers */ +#define FR_AA_TIMER_COMMAND_KER 0x00000420 +#define FR_AA_TIMER_COMMAND_KER_STEP 8192 +#define FR_AA_TIMER_COMMAND_KER_ROWS 4 +/* TIMER_COMMAND_REGP123: Timer Command Registers */ +#define FR_BB_TIMER_COMMAND_P123 0x01000420 +#define FR_BB_TIMER_COMMAND_P123_STEP 8192 +#define FR_BB_TIMER_COMMAND_P123_ROWS 3072 +#define FRF_CZ_TC_TIMER_MODE_LBN 14 +#define FRF_CZ_TC_TIMER_MODE_WIDTH 2 +#define FRF_AB_TC_TIMER_MODE_LBN 12 +#define FRF_AB_TC_TIMER_MODE_WIDTH 2 +#define FRF_CZ_TC_TIMER_VAL_LBN 0 +#define FRF_CZ_TC_TIMER_VAL_WIDTH 14 +#define FRF_AB_TC_TIMER_VAL_LBN 0 +#define FRF_AB_TC_TIMER_VAL_WIDTH 12 + +/* DRV_EV_REG: Driver generated event register */ +#define FR_AZ_DRV_EV 0x00000440 +#define FRF_AZ_DRV_EV_QID_LBN 64 +#define FRF_AZ_DRV_EV_QID_WIDTH 12 +#define FRF_AZ_DRV_EV_DATA_LBN 0 +#define FRF_AZ_DRV_EV_DATA_WIDTH 64 + +/* EVQ_CTL_REG: Event queue control register */ +#define FR_AZ_EVQ_CTL 0x00000450 +#define FRF_CZ_RX_EVQ_WAKEUP_MASK_LBN 15 +#define FRF_CZ_RX_EVQ_WAKEUP_MASK_WIDTH 10 +#define FRF_BB_RX_EVQ_WAKEUP_MASK_LBN 15 +#define FRF_BB_RX_EVQ_WAKEUP_MASK_WIDTH 6 +#define FRF_AZ_EVQ_OWNERR_CTL_LBN 14 +#define FRF_AZ_EVQ_OWNERR_CTL_WIDTH 1 +#define FRF_AZ_EVQ_FIFO_AF_TH_LBN 7 +#define FRF_AZ_EVQ_FIFO_AF_TH_WIDTH 7 +#define FRF_AZ_EVQ_FIFO_NOTAF_TH_LBN 0 +#define FRF_AZ_EVQ_FIFO_NOTAF_TH_WIDTH 7 + +/* EVQ_CNT1_REG: Event counter 1 register */ +#define FR_AZ_EVQ_CNT1 0x00000460 +#define FRF_AZ_EVQ_CNT_PRE_FIFO_LBN 120 +#define FRF_AZ_EVQ_CNT_PRE_FIFO_WIDTH 7 +#define FRF_AZ_EVQ_CNT_TOBIU_LBN 100 +#define FRF_AZ_EVQ_CNT_TOBIU_WIDTH 20 +#define FRF_AZ_EVQ_TX_REQ_CNT_LBN 80 +#define FRF_AZ_EVQ_TX_REQ_CNT_WIDTH 20 +#define FRF_AZ_EVQ_RX_REQ_CNT_LBN 60 +#define FRF_AZ_EVQ_RX_REQ_CNT_WIDTH 20 +#define FRF_AZ_EVQ_EM_REQ_CNT_LBN 40 +#define FRF_AZ_EVQ_EM_REQ_CNT_WIDTH 20 +#define FRF_AZ_EVQ_CSR_REQ_CNT_LBN 20 +#define FRF_AZ_EVQ_CSR_REQ_CNT_WIDTH 20 +#define FRF_AZ_EVQ_ERR_REQ_CNT_LBN 0 +#define FRF_AZ_EVQ_ERR_REQ_CNT_WIDTH 20 + +/* EVQ_CNT2_REG: Event counter 2 register */ +#define FR_AZ_EVQ_CNT2 0x00000470 +#define FRF_AZ_EVQ_UPD_REQ_CNT_LBN 104 +#define FRF_AZ_EVQ_UPD_REQ_CNT_WIDTH 20 +#define FRF_AZ_EVQ_CLR_REQ_CNT_LBN 84 +#define FRF_AZ_EVQ_CLR_REQ_CNT_WIDTH 20 +#define FRF_AZ_EVQ_RDY_CNT_LBN 80 +#define FRF_AZ_EVQ_RDY_CNT_WIDTH 4 +#define FRF_AZ_EVQ_WU_REQ_CNT_LBN 60 +#define FRF_AZ_EVQ_WU_REQ_CNT_WIDTH 20 +#define FRF_AZ_EVQ_WET_REQ_CNT_LBN 40 +#define FRF_AZ_EVQ_WET_REQ_CNT_WIDTH 20 +#define FRF_AZ_EVQ_INIT_REQ_CNT_LBN 20 +#define FRF_AZ_EVQ_INIT_REQ_CNT_WIDTH 20 +#define FRF_AZ_EVQ_TM_REQ_CNT_LBN 0 +#define FRF_AZ_EVQ_TM_REQ_CNT_WIDTH 20 + +/* USR_EV_REG: Event mailbox register */ +#define FR_CZ_USR_EV 0x00000540 +#define FR_CZ_USR_EV_STEP 8192 +#define FR_CZ_USR_EV_ROWS 1024 +#define FRF_CZ_USR_EV_DATA_LBN 0 +#define FRF_CZ_USR_EV_DATA_WIDTH 32 + +/* BUF_TBL_CFG_REG: Buffer table configuration register */ +#define FR_AZ_BUF_TBL_CFG 0x00000600 +#define FRF_AZ_BUF_TBL_MODE_LBN 3 +#define FRF_AZ_BUF_TBL_MODE_WIDTH 1 + +/* SRM_RX_DC_CFG_REG: SRAM receive descriptor cache configuration register */ +#define FR_AZ_SRM_RX_DC_CFG 0x00000610 +#define FRF_AZ_SRM_CLK_TMP_EN_LBN 21 +#define FRF_AZ_SRM_CLK_TMP_EN_WIDTH 1 +#define FRF_AZ_SRM_RX_DC_BASE_ADR_LBN 0 +#define FRF_AZ_SRM_RX_DC_BASE_ADR_WIDTH 21 + +/* SRM_TX_DC_CFG_REG: SRAM transmit descriptor cache configuration register */ +#define FR_AZ_SRM_TX_DC_CFG 0x00000620 +#define FRF_AZ_SRM_TX_DC_BASE_ADR_LBN 0 +#define FRF_AZ_SRM_TX_DC_BASE_ADR_WIDTH 21 + +/* SRM_CFG_REG: SRAM configuration register */ +#define FR_AZ_SRM_CFG 0x00000630 +#define FRF_AZ_SRM_OOB_ADR_INTEN_LBN 5 +#define FRF_AZ_SRM_OOB_ADR_INTEN_WIDTH 1 +#define FRF_AZ_SRM_OOB_BUF_INTEN_LBN 4 +#define FRF_AZ_SRM_OOB_BUF_INTEN_WIDTH 1 +#define FRF_AZ_SRM_INIT_EN_LBN 3 +#define FRF_AZ_SRM_INIT_EN_WIDTH 1 +#define FRF_AZ_SRM_NUM_BANK_LBN 2 +#define FRF_AZ_SRM_NUM_BANK_WIDTH 1 +#define FRF_AZ_SRM_BANK_SIZE_LBN 0 +#define FRF_AZ_SRM_BANK_SIZE_WIDTH 2 + +/* BUF_TBL_UPD_REG: Buffer table update register */ +#define FR_AZ_BUF_TBL_UPD 0x00000650 +#define FRF_AZ_BUF_UPD_CMD_LBN 63 +#define FRF_AZ_BUF_UPD_CMD_WIDTH 1 +#define FRF_AZ_BUF_CLR_CMD_LBN 62 +#define FRF_AZ_BUF_CLR_CMD_WIDTH 1 +#define FRF_AZ_BUF_CLR_END_ID_LBN 32 +#define FRF_AZ_BUF_CLR_END_ID_WIDTH 20 +#define FRF_AZ_BUF_CLR_START_ID_LBN 0 +#define FRF_AZ_BUF_CLR_START_ID_WIDTH 20 + +/* SRM_UPD_EVQ_REG: Buffer table update register */ +#define FR_AZ_SRM_UPD_EVQ 0x00000660 +#define FRF_AZ_SRM_UPD_EVQ_ID_LBN 0 +#define FRF_AZ_SRM_UPD_EVQ_ID_WIDTH 12 + +/* SRAM_PARITY_REG: SRAM parity register. */ +#define FR_AZ_SRAM_PARITY 0x00000670 +#define FRF_CZ_BYPASS_ECC_LBN 3 +#define FRF_CZ_BYPASS_ECC_WIDTH 1 +#define FRF_CZ_SEC_INT_LBN 2 +#define FRF_CZ_SEC_INT_WIDTH 1 +#define FRF_CZ_FORCE_SRAM_DOUBLE_ERR_LBN 1 +#define FRF_CZ_FORCE_SRAM_DOUBLE_ERR_WIDTH 1 +#define FRF_AB_FORCE_SRAM_PERR_LBN 0 +#define FRF_AB_FORCE_SRAM_PERR_WIDTH 1 +#define FRF_CZ_FORCE_SRAM_SINGLE_ERR_LBN 0 +#define FRF_CZ_FORCE_SRAM_SINGLE_ERR_WIDTH 1 + +/* RX_CFG_REG: Receive configuration register */ +#define FR_AZ_RX_CFG 0x00000800 +#define FRF_CZ_RX_MIN_KBUF_SIZE_LBN 72 +#define FRF_CZ_RX_MIN_KBUF_SIZE_WIDTH 14 +#define FRF_CZ_RX_HDR_SPLIT_EN_LBN 71 +#define FRF_CZ_RX_HDR_SPLIT_EN_WIDTH 1 +#define FRF_CZ_RX_HDR_SPLIT_PLD_BUF_SIZE_LBN 62 +#define FRF_CZ_RX_HDR_SPLIT_PLD_BUF_SIZE_WIDTH 9 +#define FRF_CZ_RX_HDR_SPLIT_HDR_BUF_SIZE_LBN 53 +#define FRF_CZ_RX_HDR_SPLIT_HDR_BUF_SIZE_WIDTH 9 +#define FRF_CZ_RX_PRE_RFF_IPG_LBN 49 +#define FRF_CZ_RX_PRE_RFF_IPG_WIDTH 4 +#define FRF_BZ_RX_TCP_SUP_LBN 48 +#define FRF_BZ_RX_TCP_SUP_WIDTH 1 +#define FRF_BZ_RX_INGR_EN_LBN 47 +#define FRF_BZ_RX_INGR_EN_WIDTH 1 +#define FRF_BZ_RX_IP_HASH_LBN 46 +#define FRF_BZ_RX_IP_HASH_WIDTH 1 +#define FRF_BZ_RX_HASH_ALG_LBN 45 +#define FRF_BZ_RX_HASH_ALG_WIDTH 1 +#define FRF_BZ_RX_HASH_INSRT_HDR_LBN 44 +#define FRF_BZ_RX_HASH_INSRT_HDR_WIDTH 1 +#define FRF_BZ_RX_DESC_PUSH_EN_LBN 43 +#define FRF_BZ_RX_DESC_PUSH_EN_WIDTH 1 +#define FRF_BZ_RX_RDW_PATCH_EN_LBN 42 +#define FRF_BZ_RX_RDW_PATCH_EN_WIDTH 1 +#define FRF_BB_RX_PCI_BURST_SIZE_LBN 39 +#define FRF_BB_RX_PCI_BURST_SIZE_WIDTH 3 +#define FRF_BZ_RX_OWNERR_CTL_LBN 38 +#define FRF_BZ_RX_OWNERR_CTL_WIDTH 1 +#define FRF_BZ_RX_XON_TX_TH_LBN 33 +#define FRF_BZ_RX_XON_TX_TH_WIDTH 5 +#define FRF_AA_RX_DESC_PUSH_EN_LBN 35 +#define FRF_AA_RX_DESC_PUSH_EN_WIDTH 1 +#define FRF_AA_RX_RDW_PATCH_EN_LBN 34 +#define FRF_AA_RX_RDW_PATCH_EN_WIDTH 1 +#define FRF_AA_RX_PCI_BURST_SIZE_LBN 31 +#define FRF_AA_RX_PCI_BURST_SIZE_WIDTH 3 +#define FRF_BZ_RX_XOFF_TX_TH_LBN 28 +#define FRF_BZ_RX_XOFF_TX_TH_WIDTH 5 +#define FRF_AA_RX_OWNERR_CTL_LBN 30 +#define FRF_AA_RX_OWNERR_CTL_WIDTH 1 +#define FRF_AA_RX_XON_TX_TH_LBN 25 +#define FRF_AA_RX_XON_TX_TH_WIDTH 5 +#define FRF_BZ_RX_USR_BUF_SIZE_LBN 19 +#define FRF_BZ_RX_USR_BUF_SIZE_WIDTH 9 +#define FRF_AA_RX_XOFF_TX_TH_LBN 20 +#define FRF_AA_RX_XOFF_TX_TH_WIDTH 5 +#define FRF_AA_RX_USR_BUF_SIZE_LBN 11 +#define FRF_AA_RX_USR_BUF_SIZE_WIDTH 9 +#define FRF_BZ_RX_XON_MAC_TH_LBN 10 +#define FRF_BZ_RX_XON_MAC_TH_WIDTH 9 +#define FRF_AA_RX_XON_MAC_TH_LBN 6 +#define FRF_AA_RX_XON_MAC_TH_WIDTH 5 +#define FRF_BZ_RX_XOFF_MAC_TH_LBN 1 +#define FRF_BZ_RX_XOFF_MAC_TH_WIDTH 9 +#define FRF_AA_RX_XOFF_MAC_TH_LBN 1 +#define FRF_AA_RX_XOFF_MAC_TH_WIDTH 5 +#define FRF_AZ_RX_XOFF_MAC_EN_LBN 0 +#define FRF_AZ_RX_XOFF_MAC_EN_WIDTH 1 + +/* RX_FILTER_CTL_REG: Receive filter control registers */ +#define FR_BZ_RX_FILTER_CTL 0x00000810 +#define FRF_CZ_ETHERNET_WILDCARD_SEARCH_LIMIT_LBN 94 +#define FRF_CZ_ETHERNET_WILDCARD_SEARCH_LIMIT_WIDTH 8 +#define FRF_CZ_ETHERNET_FULL_SEARCH_LIMIT_LBN 86 +#define FRF_CZ_ETHERNET_FULL_SEARCH_LIMIT_WIDTH 8 +#define FRF_CZ_RX_FILTER_ALL_VLAN_ETHERTYPES_LBN 85 +#define FRF_CZ_RX_FILTER_ALL_VLAN_ETHERTYPES_WIDTH 1 +#define FRF_CZ_RX_VLAN_MATCH_ETHERTYPE_LBN 69 +#define FRF_CZ_RX_VLAN_MATCH_ETHERTYPE_WIDTH 16 +#define FRF_CZ_MULTICAST_NOMATCH_Q_ID_LBN 57 +#define FRF_CZ_MULTICAST_NOMATCH_Q_ID_WIDTH 12 +#define FRF_CZ_MULTICAST_NOMATCH_RSS_ENABLED_LBN 56 +#define FRF_CZ_MULTICAST_NOMATCH_RSS_ENABLED_WIDTH 1 +#define FRF_CZ_MULTICAST_NOMATCH_IP_OVERRIDE_LBN 55 +#define FRF_CZ_MULTICAST_NOMATCH_IP_OVERRIDE_WIDTH 1 +#define FRF_CZ_UNICAST_NOMATCH_Q_ID_LBN 43 +#define FRF_CZ_UNICAST_NOMATCH_Q_ID_WIDTH 12 +#define FRF_CZ_UNICAST_NOMATCH_RSS_ENABLED_LBN 42 +#define FRF_CZ_UNICAST_NOMATCH_RSS_ENABLED_WIDTH 1 +#define FRF_CZ_UNICAST_NOMATCH_IP_OVERRIDE_LBN 41 +#define FRF_CZ_UNICAST_NOMATCH_IP_OVERRIDE_WIDTH 1 +#define FRF_BZ_SCATTER_ENBL_NO_MATCH_Q_LBN 40 +#define FRF_BZ_SCATTER_ENBL_NO_MATCH_Q_WIDTH 1 +#define FRF_BZ_UDP_FULL_SRCH_LIMIT_LBN 32 +#define FRF_BZ_UDP_FULL_SRCH_LIMIT_WIDTH 8 +#define FRF_BZ_NUM_KER_LBN 24 +#define FRF_BZ_NUM_KER_WIDTH 2 +#define FRF_BZ_UDP_WILD_SRCH_LIMIT_LBN 16 +#define FRF_BZ_UDP_WILD_SRCH_LIMIT_WIDTH 8 +#define FRF_BZ_TCP_WILD_SRCH_LIMIT_LBN 8 +#define FRF_BZ_TCP_WILD_SRCH_LIMIT_WIDTH 8 +#define FRF_BZ_TCP_FULL_SRCH_LIMIT_LBN 0 +#define FRF_BZ_TCP_FULL_SRCH_LIMIT_WIDTH 8 + +/* RX_FLUSH_DESCQ_REG: Receive flush descriptor queue register */ +#define FR_AZ_RX_FLUSH_DESCQ 0x00000820 +#define FRF_AZ_RX_FLUSH_DESCQ_CMD_LBN 24 +#define FRF_AZ_RX_FLUSH_DESCQ_CMD_WIDTH 1 +#define FRF_AZ_RX_FLUSH_DESCQ_LBN 0 +#define FRF_AZ_RX_FLUSH_DESCQ_WIDTH 12 + +/* RX_DESC_UPD_REGP0: Receive descriptor update register. */ +#define FR_BZ_RX_DESC_UPD_P0 0x00000830 +#define FR_BZ_RX_DESC_UPD_P0_STEP 8192 +#define FR_BZ_RX_DESC_UPD_P0_ROWS 1024 +/* RX_DESC_UPD_REG_KER: Receive descriptor update register. */ +#define FR_AA_RX_DESC_UPD_KER 0x00000830 +#define FR_AA_RX_DESC_UPD_KER_STEP 8192 +#define FR_AA_RX_DESC_UPD_KER_ROWS 4 +/* RX_DESC_UPD_REGP123: Receive descriptor update register. */ +#define FR_BB_RX_DESC_UPD_P123 0x01000830 +#define FR_BB_RX_DESC_UPD_P123_STEP 8192 +#define FR_BB_RX_DESC_UPD_P123_ROWS 3072 +#define FRF_AZ_RX_DESC_WPTR_LBN 96 +#define FRF_AZ_RX_DESC_WPTR_WIDTH 12 +#define FRF_AZ_RX_DESC_PUSH_CMD_LBN 95 +#define FRF_AZ_RX_DESC_PUSH_CMD_WIDTH 1 +#define FRF_AZ_RX_DESC_LBN 0 +#define FRF_AZ_RX_DESC_WIDTH 64 + +/* RX_DC_CFG_REG: Receive descriptor cache configuration register */ +#define FR_AZ_RX_DC_CFG 0x00000840 +#define FRF_AB_RX_MAX_PF_LBN 2 +#define FRF_AB_RX_MAX_PF_WIDTH 2 +#define FRF_AZ_RX_DC_SIZE_LBN 0 +#define FRF_AZ_RX_DC_SIZE_WIDTH 2 +#define FFE_AZ_RX_DC_SIZE_64 3 +#define FFE_AZ_RX_DC_SIZE_32 2 +#define FFE_AZ_RX_DC_SIZE_16 1 +#define FFE_AZ_RX_DC_SIZE_8 0 + +/* RX_DC_PF_WM_REG: Receive descriptor cache pre-fetch watermark register */ +#define FR_AZ_RX_DC_PF_WM 0x00000850 +#define FRF_AZ_RX_DC_PF_HWM_LBN 6 +#define FRF_AZ_RX_DC_PF_HWM_WIDTH 6 +#define FRF_AZ_RX_DC_PF_LWM_LBN 0 +#define FRF_AZ_RX_DC_PF_LWM_WIDTH 6 + +/* RX_RSS_TKEY_REG: RSS Toeplitz hash key */ +#define FR_BZ_RX_RSS_TKEY 0x00000860 +#define FRF_BZ_RX_RSS_TKEY_HI_LBN 64 +#define FRF_BZ_RX_RSS_TKEY_HI_WIDTH 64 +#define FRF_BZ_RX_RSS_TKEY_LO_LBN 0 +#define FRF_BZ_RX_RSS_TKEY_LO_WIDTH 64 + +/* RX_NODESC_DROP_REG: Receive dropped packet counter register */ +#define FR_AZ_RX_NODESC_DROP 0x00000880 +#define FRF_CZ_RX_NODESC_DROP_CNT_LBN 0 +#define FRF_CZ_RX_NODESC_DROP_CNT_WIDTH 32 +#define FRF_AB_RX_NODESC_DROP_CNT_LBN 0 +#define FRF_AB_RX_NODESC_DROP_CNT_WIDTH 16 + +/* RX_SELF_RST_REG: Receive self reset register */ +#define FR_AA_RX_SELF_RST 0x00000890 +#define FRF_AA_RX_ISCSI_DIS_LBN 17 +#define FRF_AA_RX_ISCSI_DIS_WIDTH 1 +#define FRF_AA_RX_SW_RST_REG_LBN 16 +#define FRF_AA_RX_SW_RST_REG_WIDTH 1 +#define FRF_AA_RX_NODESC_WAIT_DIS_LBN 9 +#define FRF_AA_RX_NODESC_WAIT_DIS_WIDTH 1 +#define FRF_AA_RX_SELF_RST_EN_LBN 8 +#define FRF_AA_RX_SELF_RST_EN_WIDTH 1 +#define FRF_AA_RX_MAX_PF_LAT_LBN 4 +#define FRF_AA_RX_MAX_PF_LAT_WIDTH 4 +#define FRF_AA_RX_MAX_LU_LAT_LBN 0 +#define FRF_AA_RX_MAX_LU_LAT_WIDTH 4 + +/* RX_DEBUG_REG: undocumented register */ +#define FR_AZ_RX_DEBUG 0x000008a0 +#define FRF_AZ_RX_DEBUG_LBN 0 +#define FRF_AZ_RX_DEBUG_WIDTH 64 + +/* RX_PUSH_DROP_REG: Receive descriptor push dropped counter register */ +#define FR_AZ_RX_PUSH_DROP 0x000008b0 +#define FRF_AZ_RX_PUSH_DROP_CNT_LBN 0 +#define FRF_AZ_RX_PUSH_DROP_CNT_WIDTH 32 + +/* RX_RSS_IPV6_REG1: IPv6 RSS Toeplitz hash key low bytes */ +#define FR_CZ_RX_RSS_IPV6_REG1 0x000008d0 +#define FRF_CZ_RX_RSS_IPV6_TKEY_LO_LBN 0 +#define FRF_CZ_RX_RSS_IPV6_TKEY_LO_WIDTH 128 + +/* RX_RSS_IPV6_REG2: IPv6 RSS Toeplitz hash key middle bytes */ +#define FR_CZ_RX_RSS_IPV6_REG2 0x000008e0 +#define FRF_CZ_RX_RSS_IPV6_TKEY_MID_LBN 0 +#define FRF_CZ_RX_RSS_IPV6_TKEY_MID_WIDTH 128 + +/* RX_RSS_IPV6_REG3: IPv6 RSS Toeplitz hash key upper bytes and IPv6 RSS settings */ +#define FR_CZ_RX_RSS_IPV6_REG3 0x000008f0 +#define FRF_CZ_RX_RSS_IPV6_THASH_ENABLE_LBN 66 +#define FRF_CZ_RX_RSS_IPV6_THASH_ENABLE_WIDTH 1 +#define FRF_CZ_RX_RSS_IPV6_IP_THASH_ENABLE_LBN 65 +#define FRF_CZ_RX_RSS_IPV6_IP_THASH_ENABLE_WIDTH 1 +#define FRF_CZ_RX_RSS_IPV6_TCP_SUPPRESS_LBN 64 +#define FRF_CZ_RX_RSS_IPV6_TCP_SUPPRESS_WIDTH 1 +#define FRF_CZ_RX_RSS_IPV6_TKEY_HI_LBN 0 +#define FRF_CZ_RX_RSS_IPV6_TKEY_HI_WIDTH 64 + +/* TX_FLUSH_DESCQ_REG: Transmit flush descriptor queue register */ +#define FR_AZ_TX_FLUSH_DESCQ 0x00000a00 +#define FRF_AZ_TX_FLUSH_DESCQ_CMD_LBN 12 +#define FRF_AZ_TX_FLUSH_DESCQ_CMD_WIDTH 1 +#define FRF_AZ_TX_FLUSH_DESCQ_LBN 0 +#define FRF_AZ_TX_FLUSH_DESCQ_WIDTH 12 + +/* TX_DESC_UPD_REGP0: Transmit descriptor update register. */ +#define FR_BZ_TX_DESC_UPD_P0 0x00000a10 +#define FR_BZ_TX_DESC_UPD_P0_STEP 8192 +#define FR_BZ_TX_DESC_UPD_P0_ROWS 1024 +/* TX_DESC_UPD_REG_KER: Transmit descriptor update register. */ +#define FR_AA_TX_DESC_UPD_KER 0x00000a10 +#define FR_AA_TX_DESC_UPD_KER_STEP 8192 +#define FR_AA_TX_DESC_UPD_KER_ROWS 8 +/* TX_DESC_UPD_REGP123: Transmit descriptor update register. */ +#define FR_BB_TX_DESC_UPD_P123 0x01000a10 +#define FR_BB_TX_DESC_UPD_P123_STEP 8192 +#define FR_BB_TX_DESC_UPD_P123_ROWS 3072 +#define FRF_AZ_TX_DESC_WPTR_LBN 96 +#define FRF_AZ_TX_DESC_WPTR_WIDTH 12 +#define FRF_AZ_TX_DESC_PUSH_CMD_LBN 95 +#define FRF_AZ_TX_DESC_PUSH_CMD_WIDTH 1 +#define FRF_AZ_TX_DESC_LBN 0 +#define FRF_AZ_TX_DESC_WIDTH 95 + +/* TX_DC_CFG_REG: Transmit descriptor cache configuration register */ +#define FR_AZ_TX_DC_CFG 0x00000a20 +#define FRF_AZ_TX_DC_SIZE_LBN 0 +#define FRF_AZ_TX_DC_SIZE_WIDTH 2 +#define FFE_AZ_TX_DC_SIZE_32 2 +#define FFE_AZ_TX_DC_SIZE_16 1 +#define FFE_AZ_TX_DC_SIZE_8 0 + +/* TX_CHKSM_CFG_REG: Transmit checksum configuration register */ +#define FR_AA_TX_CHKSM_CFG 0x00000a30 +#define FRF_AA_TX_Q_CHKSM_DIS_96_127_LBN 96 +#define FRF_AA_TX_Q_CHKSM_DIS_96_127_WIDTH 32 +#define FRF_AA_TX_Q_CHKSM_DIS_64_95_LBN 64 +#define FRF_AA_TX_Q_CHKSM_DIS_64_95_WIDTH 32 +#define FRF_AA_TX_Q_CHKSM_DIS_32_63_LBN 32 +#define FRF_AA_TX_Q_CHKSM_DIS_32_63_WIDTH 32 +#define FRF_AA_TX_Q_CHKSM_DIS_0_31_LBN 0 +#define FRF_AA_TX_Q_CHKSM_DIS_0_31_WIDTH 32 + +/* TX_CFG_REG: Transmit configuration register */ +#define FR_AZ_TX_CFG 0x00000a50 +#define FRF_CZ_TX_CONT_LOOKUP_THRESH_RANGE_LBN 114 +#define FRF_CZ_TX_CONT_LOOKUP_THRESH_RANGE_WIDTH 8 +#define FRF_CZ_TX_FILTER_TEST_MODE_BIT_LBN 113 +#define FRF_CZ_TX_FILTER_TEST_MODE_BIT_WIDTH 1 +#define FRF_CZ_TX_ETH_FILTER_WILD_SEARCH_RANGE_LBN 105 +#define FRF_CZ_TX_ETH_FILTER_WILD_SEARCH_RANGE_WIDTH 8 +#define FRF_CZ_TX_ETH_FILTER_FULL_SEARCH_RANGE_LBN 97 +#define FRF_CZ_TX_ETH_FILTER_FULL_SEARCH_RANGE_WIDTH 8 +#define FRF_CZ_TX_UDPIP_FILTER_WILD_SEARCH_RANGE_LBN 89 +#define FRF_CZ_TX_UDPIP_FILTER_WILD_SEARCH_RANGE_WIDTH 8 +#define FRF_CZ_TX_UDPIP_FILTER_FULL_SEARCH_RANGE_LBN 81 +#define FRF_CZ_TX_UDPIP_FILTER_FULL_SEARCH_RANGE_WIDTH 8 +#define FRF_CZ_TX_TCPIP_FILTER_WILD_SEARCH_RANGE_LBN 73 +#define FRF_CZ_TX_TCPIP_FILTER_WILD_SEARCH_RANGE_WIDTH 8 +#define FRF_CZ_TX_TCPIP_FILTER_FULL_SEARCH_RANGE_LBN 65 +#define FRF_CZ_TX_TCPIP_FILTER_FULL_SEARCH_RANGE_WIDTH 8 +#define FRF_CZ_TX_FILTER_ALL_VLAN_ETHERTYPES_BIT_LBN 64 +#define FRF_CZ_TX_FILTER_ALL_VLAN_ETHERTYPES_BIT_WIDTH 1 +#define FRF_CZ_TX_VLAN_MATCH_ETHERTYPE_RANGE_LBN 48 +#define FRF_CZ_TX_VLAN_MATCH_ETHERTYPE_RANGE_WIDTH 16 +#define FRF_CZ_TX_FILTER_EN_BIT_LBN 47 +#define FRF_CZ_TX_FILTER_EN_BIT_WIDTH 1 +#define FRF_AZ_TX_IP_ID_P0_OFS_LBN 16 +#define FRF_AZ_TX_IP_ID_P0_OFS_WIDTH 15 +#define FRF_AZ_TX_NO_EOP_DISC_EN_LBN 5 +#define FRF_AZ_TX_NO_EOP_DISC_EN_WIDTH 1 +#define FRF_AZ_TX_P1_PRI_EN_LBN 4 +#define FRF_AZ_TX_P1_PRI_EN_WIDTH 1 +#define FRF_AZ_TX_OWNERR_CTL_LBN 2 +#define FRF_AZ_TX_OWNERR_CTL_WIDTH 1 +#define FRF_AA_TX_NON_IP_DROP_DIS_LBN 1 +#define FRF_AA_TX_NON_IP_DROP_DIS_WIDTH 1 +#define FRF_AZ_TX_IP_ID_REP_EN_LBN 0 +#define FRF_AZ_TX_IP_ID_REP_EN_WIDTH 1 + +/* TX_PUSH_DROP_REG: Transmit push dropped register */ +#define FR_AZ_TX_PUSH_DROP 0x00000a60 +#define FRF_AZ_TX_PUSH_DROP_CNT_LBN 0 +#define FRF_AZ_TX_PUSH_DROP_CNT_WIDTH 32 + +/* TX_RESERVED_REG: Transmit configuration register */ +#define FR_AZ_TX_RESERVED 0x00000a80 +#define FRF_AZ_TX_EVT_CNT_LBN 121 +#define FRF_AZ_TX_EVT_CNT_WIDTH 7 +#define FRF_AZ_TX_PREF_AGE_CNT_LBN 119 +#define FRF_AZ_TX_PREF_AGE_CNT_WIDTH 2 +#define FRF_AZ_TX_RD_COMP_TMR_LBN 96 +#define FRF_AZ_TX_RD_COMP_TMR_WIDTH 23 +#define FRF_AZ_TX_PUSH_EN_LBN 89 +#define FRF_AZ_TX_PUSH_EN_WIDTH 1 +#define FRF_AZ_TX_PUSH_CHK_DIS_LBN 88 +#define FRF_AZ_TX_PUSH_CHK_DIS_WIDTH 1 +#define FRF_AZ_TX_D_FF_FULL_P0_LBN 85 +#define FRF_AZ_TX_D_FF_FULL_P0_WIDTH 1 +#define FRF_AZ_TX_DMAR_ST_P0_LBN 81 +#define FRF_AZ_TX_DMAR_ST_P0_WIDTH 1 +#define FRF_AZ_TX_DMAQ_ST_LBN 78 +#define FRF_AZ_TX_DMAQ_ST_WIDTH 1 +#define FRF_AZ_TX_RX_SPACER_LBN 64 +#define FRF_AZ_TX_RX_SPACER_WIDTH 8 +#define FRF_AZ_TX_DROP_ABORT_EN_LBN 60 +#define FRF_AZ_TX_DROP_ABORT_EN_WIDTH 1 +#define FRF_AZ_TX_SOFT_EVT_EN_LBN 59 +#define FRF_AZ_TX_SOFT_EVT_EN_WIDTH 1 +#define FRF_AZ_TX_PS_EVT_DIS_LBN 58 +#define FRF_AZ_TX_PS_EVT_DIS_WIDTH 1 +#define FRF_AZ_TX_RX_SPACER_EN_LBN 57 +#define FRF_AZ_TX_RX_SPACER_EN_WIDTH 1 +#define FRF_AZ_TX_XP_TIMER_LBN 52 +#define FRF_AZ_TX_XP_TIMER_WIDTH 5 +#define FRF_AZ_TX_PREF_SPACER_LBN 44 +#define FRF_AZ_TX_PREF_SPACER_WIDTH 8 +#define FRF_AZ_TX_PREF_WD_TMR_LBN 22 +#define FRF_AZ_TX_PREF_WD_TMR_WIDTH 22 +#define FRF_AZ_TX_ONLY1TAG_LBN 21 +#define FRF_AZ_TX_ONLY1TAG_WIDTH 1 +#define FRF_AZ_TX_PREF_THRESHOLD_LBN 19 +#define FRF_AZ_TX_PREF_THRESHOLD_WIDTH 2 +#define FRF_AZ_TX_ONE_PKT_PER_Q_LBN 18 +#define FRF_AZ_TX_ONE_PKT_PER_Q_WIDTH 1 +#define FRF_AZ_TX_DIS_NON_IP_EV_LBN 17 +#define FRF_AZ_TX_DIS_NON_IP_EV_WIDTH 1 +#define FRF_AA_TX_DMA_FF_THR_LBN 16 +#define FRF_AA_TX_DMA_FF_THR_WIDTH 1 +#define FRF_AZ_TX_DMA_SPACER_LBN 8 +#define FRF_AZ_TX_DMA_SPACER_WIDTH 8 +#define FRF_AA_TX_TCP_DIS_LBN 7 +#define FRF_AA_TX_TCP_DIS_WIDTH 1 +#define FRF_BZ_TX_FLUSH_MIN_LEN_EN_LBN 7 +#define FRF_BZ_TX_FLUSH_MIN_LEN_EN_WIDTH 1 +#define FRF_AA_TX_IP_DIS_LBN 6 +#define FRF_AA_TX_IP_DIS_WIDTH 1 +#define FRF_AZ_TX_MAX_CPL_LBN 2 +#define FRF_AZ_TX_MAX_CPL_WIDTH 2 +#define FFE_AZ_TX_MAX_CPL_16 3 +#define FFE_AZ_TX_MAX_CPL_8 2 +#define FFE_AZ_TX_MAX_CPL_4 1 +#define FFE_AZ_TX_MAX_CPL_NOLIMIT 0 +#define FRF_AZ_TX_MAX_PREF_LBN 0 +#define FRF_AZ_TX_MAX_PREF_WIDTH 2 +#define FFE_AZ_TX_MAX_PREF_32 3 +#define FFE_AZ_TX_MAX_PREF_16 2 +#define FFE_AZ_TX_MAX_PREF_8 1 +#define FFE_AZ_TX_MAX_PREF_OFF 0 + +/* TX_PACE_REG: Transmit pace control register */ +#define FR_BZ_TX_PACE 0x00000a90 +#define FRF_BZ_TX_PACE_SB_NOT_AF_LBN 19 +#define FRF_BZ_TX_PACE_SB_NOT_AF_WIDTH 10 +#define FRF_BZ_TX_PACE_SB_AF_LBN 9 +#define FRF_BZ_TX_PACE_SB_AF_WIDTH 10 +#define FRF_BZ_TX_PACE_FB_BASE_LBN 5 +#define FRF_BZ_TX_PACE_FB_BASE_WIDTH 4 +#define FRF_BZ_TX_PACE_BIN_TH_LBN 0 +#define FRF_BZ_TX_PACE_BIN_TH_WIDTH 5 + +/* TX_PACE_DROP_QID_REG: PACE Drop QID Counter */ +#define FR_BZ_TX_PACE_DROP_QID 0x00000aa0 +#define FRF_BZ_TX_PACE_QID_DRP_CNT_LBN 0 +#define FRF_BZ_TX_PACE_QID_DRP_CNT_WIDTH 16 + +/* TX_VLAN_REG: Transmit VLAN tag register */ +#define FR_BB_TX_VLAN 0x00000ae0 +#define FRF_BB_TX_VLAN_EN_LBN 127 +#define FRF_BB_TX_VLAN_EN_WIDTH 1 +#define FRF_BB_TX_VLAN7_PORT1_EN_LBN 125 +#define FRF_BB_TX_VLAN7_PORT1_EN_WIDTH 1 +#define FRF_BB_TX_VLAN7_PORT0_EN_LBN 124 +#define FRF_BB_TX_VLAN7_PORT0_EN_WIDTH 1 +#define FRF_BB_TX_VLAN7_LBN 112 +#define FRF_BB_TX_VLAN7_WIDTH 12 +#define FRF_BB_TX_VLAN6_PORT1_EN_LBN 109 +#define FRF_BB_TX_VLAN6_PORT1_EN_WIDTH 1 +#define FRF_BB_TX_VLAN6_PORT0_EN_LBN 108 +#define FRF_BB_TX_VLAN6_PORT0_EN_WIDTH 1 +#define FRF_BB_TX_VLAN6_LBN 96 +#define FRF_BB_TX_VLAN6_WIDTH 12 +#define FRF_BB_TX_VLAN5_PORT1_EN_LBN 93 +#define FRF_BB_TX_VLAN5_PORT1_EN_WIDTH 1 +#define FRF_BB_TX_VLAN5_PORT0_EN_LBN 92 +#define FRF_BB_TX_VLAN5_PORT0_EN_WIDTH 1 +#define FRF_BB_TX_VLAN5_LBN 80 +#define FRF_BB_TX_VLAN5_WIDTH 12 +#define FRF_BB_TX_VLAN4_PORT1_EN_LBN 77 +#define FRF_BB_TX_VLAN4_PORT1_EN_WIDTH 1 +#define FRF_BB_TX_VLAN4_PORT0_EN_LBN 76 +#define FRF_BB_TX_VLAN4_PORT0_EN_WIDTH 1 +#define FRF_BB_TX_VLAN4_LBN 64 +#define FRF_BB_TX_VLAN4_WIDTH 12 +#define FRF_BB_TX_VLAN3_PORT1_EN_LBN 61 +#define FRF_BB_TX_VLAN3_PORT1_EN_WIDTH 1 +#define FRF_BB_TX_VLAN3_PORT0_EN_LBN 60 +#define FRF_BB_TX_VLAN3_PORT0_EN_WIDTH 1 +#define FRF_BB_TX_VLAN3_LBN 48 +#define FRF_BB_TX_VLAN3_WIDTH 12 +#define FRF_BB_TX_VLAN2_PORT1_EN_LBN 45 +#define FRF_BB_TX_VLAN2_PORT1_EN_WIDTH 1 +#define FRF_BB_TX_VLAN2_PORT0_EN_LBN 44 +#define FRF_BB_TX_VLAN2_PORT0_EN_WIDTH 1 +#define FRF_BB_TX_VLAN2_LBN 32 +#define FRF_BB_TX_VLAN2_WIDTH 12 +#define FRF_BB_TX_VLAN1_PORT1_EN_LBN 29 +#define FRF_BB_TX_VLAN1_PORT1_EN_WIDTH 1 +#define FRF_BB_TX_VLAN1_PORT0_EN_LBN 28 +#define FRF_BB_TX_VLAN1_PORT0_EN_WIDTH 1 +#define FRF_BB_TX_VLAN1_LBN 16 +#define FRF_BB_TX_VLAN1_WIDTH 12 +#define FRF_BB_TX_VLAN0_PORT1_EN_LBN 13 +#define FRF_BB_TX_VLAN0_PORT1_EN_WIDTH 1 +#define FRF_BB_TX_VLAN0_PORT0_EN_LBN 12 +#define FRF_BB_TX_VLAN0_PORT0_EN_WIDTH 1 +#define FRF_BB_TX_VLAN0_LBN 0 +#define FRF_BB_TX_VLAN0_WIDTH 12 + +/* TX_IPFIL_PORTEN_REG: Transmit filter control register */ +#define FR_BZ_TX_IPFIL_PORTEN 0x00000af0 +#define FRF_BZ_TX_MADR0_FIL_EN_LBN 64 +#define FRF_BZ_TX_MADR0_FIL_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL31_PORT_EN_LBN 62 +#define FRF_BB_TX_IPFIL31_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL30_PORT_EN_LBN 60 +#define FRF_BB_TX_IPFIL30_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL29_PORT_EN_LBN 58 +#define FRF_BB_TX_IPFIL29_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL28_PORT_EN_LBN 56 +#define FRF_BB_TX_IPFIL28_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL27_PORT_EN_LBN 54 +#define FRF_BB_TX_IPFIL27_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL26_PORT_EN_LBN 52 +#define FRF_BB_TX_IPFIL26_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL25_PORT_EN_LBN 50 +#define FRF_BB_TX_IPFIL25_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL24_PORT_EN_LBN 48 +#define FRF_BB_TX_IPFIL24_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL23_PORT_EN_LBN 46 +#define FRF_BB_TX_IPFIL23_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL22_PORT_EN_LBN 44 +#define FRF_BB_TX_IPFIL22_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL21_PORT_EN_LBN 42 +#define FRF_BB_TX_IPFIL21_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL20_PORT_EN_LBN 40 +#define FRF_BB_TX_IPFIL20_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL19_PORT_EN_LBN 38 +#define FRF_BB_TX_IPFIL19_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL18_PORT_EN_LBN 36 +#define FRF_BB_TX_IPFIL18_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL17_PORT_EN_LBN 34 +#define FRF_BB_TX_IPFIL17_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL16_PORT_EN_LBN 32 +#define FRF_BB_TX_IPFIL16_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL15_PORT_EN_LBN 30 +#define FRF_BB_TX_IPFIL15_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL14_PORT_EN_LBN 28 +#define FRF_BB_TX_IPFIL14_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL13_PORT_EN_LBN 26 +#define FRF_BB_TX_IPFIL13_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL12_PORT_EN_LBN 24 +#define FRF_BB_TX_IPFIL12_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL11_PORT_EN_LBN 22 +#define FRF_BB_TX_IPFIL11_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL10_PORT_EN_LBN 20 +#define FRF_BB_TX_IPFIL10_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL9_PORT_EN_LBN 18 +#define FRF_BB_TX_IPFIL9_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL8_PORT_EN_LBN 16 +#define FRF_BB_TX_IPFIL8_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL7_PORT_EN_LBN 14 +#define FRF_BB_TX_IPFIL7_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL6_PORT_EN_LBN 12 +#define FRF_BB_TX_IPFIL6_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL5_PORT_EN_LBN 10 +#define FRF_BB_TX_IPFIL5_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL4_PORT_EN_LBN 8 +#define FRF_BB_TX_IPFIL4_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL3_PORT_EN_LBN 6 +#define FRF_BB_TX_IPFIL3_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL2_PORT_EN_LBN 4 +#define FRF_BB_TX_IPFIL2_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL1_PORT_EN_LBN 2 +#define FRF_BB_TX_IPFIL1_PORT_EN_WIDTH 1 +#define FRF_BB_TX_IPFIL0_PORT_EN_LBN 0 +#define FRF_BB_TX_IPFIL0_PORT_EN_WIDTH 1 + +/* TX_IPFIL_TBL: Transmit IP source address filter table */ +#define FR_BB_TX_IPFIL_TBL 0x00000b00 +#define FR_BB_TX_IPFIL_TBL_STEP 16 +#define FR_BB_TX_IPFIL_TBL_ROWS 16 +#define FRF_BB_TX_IPFIL_MASK_1_LBN 96 +#define FRF_BB_TX_IPFIL_MASK_1_WIDTH 32 +#define FRF_BB_TX_IP_SRC_ADR_1_LBN 64 +#define FRF_BB_TX_IP_SRC_ADR_1_WIDTH 32 +#define FRF_BB_TX_IPFIL_MASK_0_LBN 32 +#define FRF_BB_TX_IPFIL_MASK_0_WIDTH 32 +#define FRF_BB_TX_IP_SRC_ADR_0_LBN 0 +#define FRF_BB_TX_IP_SRC_ADR_0_WIDTH 32 + +/* MD_TXD_REG: PHY management transmit data register */ +#define FR_AB_MD_TXD 0x00000c00 +#define FRF_AB_MD_TXD_LBN 0 +#define FRF_AB_MD_TXD_WIDTH 16 + +/* MD_RXD_REG: PHY management receive data register */ +#define FR_AB_MD_RXD 0x00000c10 +#define FRF_AB_MD_RXD_LBN 0 +#define FRF_AB_MD_RXD_WIDTH 16 + +/* MD_CS_REG: PHY management configuration & status register */ +#define FR_AB_MD_CS 0x00000c20 +#define FRF_AB_MD_RD_EN_CMD_LBN 15 +#define FRF_AB_MD_RD_EN_CMD_WIDTH 1 +#define FRF_AB_MD_WR_EN_CMD_LBN 14 +#define FRF_AB_MD_WR_EN_CMD_WIDTH 1 +#define FRF_AB_MD_ADDR_CMD_LBN 13 +#define FRF_AB_MD_ADDR_CMD_WIDTH 1 +#define FRF_AB_MD_PT_LBN 7 +#define FRF_AB_MD_PT_WIDTH 3 +#define FRF_AB_MD_PL_LBN 6 +#define FRF_AB_MD_PL_WIDTH 1 +#define FRF_AB_MD_INT_CLR_LBN 5 +#define FRF_AB_MD_INT_CLR_WIDTH 1 +#define FRF_AB_MD_GC_LBN 4 +#define FRF_AB_MD_GC_WIDTH 1 +#define FRF_AB_MD_PRSP_LBN 3 +#define FRF_AB_MD_PRSP_WIDTH 1 +#define FRF_AB_MD_RIC_LBN 2 +#define FRF_AB_MD_RIC_WIDTH 1 +#define FRF_AB_MD_RDC_LBN 1 +#define FRF_AB_MD_RDC_WIDTH 1 +#define FRF_AB_MD_WRC_LBN 0 +#define FRF_AB_MD_WRC_WIDTH 1 + +/* MD_PHY_ADR_REG: PHY management PHY address register */ +#define FR_AB_MD_PHY_ADR 0x00000c30 +#define FRF_AB_MD_PHY_ADR_LBN 0 +#define FRF_AB_MD_PHY_ADR_WIDTH 16 + +/* MD_ID_REG: PHY management ID register */ +#define FR_AB_MD_ID 0x00000c40 +#define FRF_AB_MD_PRT_ADR_LBN 11 +#define FRF_AB_MD_PRT_ADR_WIDTH 5 +#define FRF_AB_MD_DEV_ADR_LBN 6 +#define FRF_AB_MD_DEV_ADR_WIDTH 5 + +/* MD_STAT_REG: PHY management status & mask register */ +#define FR_AB_MD_STAT 0x00000c50 +#define FRF_AB_MD_PINT_LBN 4 +#define FRF_AB_MD_PINT_WIDTH 1 +#define FRF_AB_MD_DONE_LBN 3 +#define FRF_AB_MD_DONE_WIDTH 1 +#define FRF_AB_MD_BSERR_LBN 2 +#define FRF_AB_MD_BSERR_WIDTH 1 +#define FRF_AB_MD_LNFL_LBN 1 +#define FRF_AB_MD_LNFL_WIDTH 1 +#define FRF_AB_MD_BSY_LBN 0 +#define FRF_AB_MD_BSY_WIDTH 1 + +/* MAC_STAT_DMA_REG: Port MAC statistical counter DMA register */ +#define FR_AB_MAC_STAT_DMA 0x00000c60 +#define FRF_AB_MAC_STAT_DMA_CMD_LBN 48 +#define FRF_AB_MAC_STAT_DMA_CMD_WIDTH 1 +#define FRF_AB_MAC_STAT_DMA_ADR_LBN 0 +#define FRF_AB_MAC_STAT_DMA_ADR_WIDTH 48 + +/* MAC_CTRL_REG: Port MAC control register */ +#define FR_AB_MAC_CTRL 0x00000c80 +#define FRF_AB_MAC_XOFF_VAL_LBN 16 +#define FRF_AB_MAC_XOFF_VAL_WIDTH 16 +#define FRF_BB_TXFIFO_DRAIN_EN_LBN 7 +#define FRF_BB_TXFIFO_DRAIN_EN_WIDTH 1 +#define FRF_AB_MAC_XG_DISTXCRC_LBN 5 +#define FRF_AB_MAC_XG_DISTXCRC_WIDTH 1 +#define FRF_AB_MAC_BCAD_ACPT_LBN 4 +#define FRF_AB_MAC_BCAD_ACPT_WIDTH 1 +#define FRF_AB_MAC_UC_PROM_LBN 3 +#define FRF_AB_MAC_UC_PROM_WIDTH 1 +#define FRF_AB_MAC_LINK_STATUS_LBN 2 +#define FRF_AB_MAC_LINK_STATUS_WIDTH 1 +#define FRF_AB_MAC_SPEED_LBN 0 +#define FRF_AB_MAC_SPEED_WIDTH 2 +#define FFE_AB_MAC_SPEED_10G 3 +#define FFE_AB_MAC_SPEED_1G 2 +#define FFE_AB_MAC_SPEED_100M 1 +#define FFE_AB_MAC_SPEED_10M 0 + +/* GEN_MODE_REG: General Purpose mode register (external interrupt mask) */ +#define FR_BB_GEN_MODE 0x00000c90 +#define FRF_BB_XFP_PHY_INT_POL_SEL_LBN 3 +#define FRF_BB_XFP_PHY_INT_POL_SEL_WIDTH 1 +#define FRF_BB_XG_PHY_INT_POL_SEL_LBN 2 +#define FRF_BB_XG_PHY_INT_POL_SEL_WIDTH 1 +#define FRF_BB_XFP_PHY_INT_MASK_LBN 1 +#define FRF_BB_XFP_PHY_INT_MASK_WIDTH 1 +#define FRF_BB_XG_PHY_INT_MASK_LBN 0 +#define FRF_BB_XG_PHY_INT_MASK_WIDTH 1 + +/* MAC_MC_HASH_REG0: Multicast address hash table */ +#define FR_AB_MAC_MC_HASH_REG0 0x00000ca0 +#define FRF_AB_MAC_MCAST_HASH0_LBN 0 +#define FRF_AB_MAC_MCAST_HASH0_WIDTH 128 + +/* MAC_MC_HASH_REG1: Multicast address hash table */ +#define FR_AB_MAC_MC_HASH_REG1 0x00000cb0 +#define FRF_AB_MAC_MCAST_HASH1_LBN 0 +#define FRF_AB_MAC_MCAST_HASH1_WIDTH 128 + +/* GM_CFG1_REG: GMAC configuration register 1 */ +#define FR_AB_GM_CFG1 0x00000e00 +#define FRF_AB_GM_SW_RST_LBN 31 +#define FRF_AB_GM_SW_RST_WIDTH 1 +#define FRF_AB_GM_SIM_RST_LBN 30 +#define FRF_AB_GM_SIM_RST_WIDTH 1 +#define FRF_AB_GM_RST_RX_MAC_CTL_LBN 19 +#define FRF_AB_GM_RST_RX_MAC_CTL_WIDTH 1 +#define FRF_AB_GM_RST_TX_MAC_CTL_LBN 18 +#define FRF_AB_GM_RST_TX_MAC_CTL_WIDTH 1 +#define FRF_AB_GM_RST_RX_FUNC_LBN 17 +#define FRF_AB_GM_RST_RX_FUNC_WIDTH 1 +#define FRF_AB_GM_RST_TX_FUNC_LBN 16 +#define FRF_AB_GM_RST_TX_FUNC_WIDTH 1 +#define FRF_AB_GM_LOOP_LBN 8 +#define FRF_AB_GM_LOOP_WIDTH 1 +#define FRF_AB_GM_RX_FC_EN_LBN 5 +#define FRF_AB_GM_RX_FC_EN_WIDTH 1 +#define FRF_AB_GM_TX_FC_EN_LBN 4 +#define FRF_AB_GM_TX_FC_EN_WIDTH 1 +#define FRF_AB_GM_SYNC_RXEN_LBN 3 +#define FRF_AB_GM_SYNC_RXEN_WIDTH 1 +#define FRF_AB_GM_RX_EN_LBN 2 +#define FRF_AB_GM_RX_EN_WIDTH 1 +#define FRF_AB_GM_SYNC_TXEN_LBN 1 +#define FRF_AB_GM_SYNC_TXEN_WIDTH 1 +#define FRF_AB_GM_TX_EN_LBN 0 +#define FRF_AB_GM_TX_EN_WIDTH 1 + +/* GM_CFG2_REG: GMAC configuration register 2 */ +#define FR_AB_GM_CFG2 0x00000e10 +#define FRF_AB_GM_PAMBL_LEN_LBN 12 +#define FRF_AB_GM_PAMBL_LEN_WIDTH 4 +#define FRF_AB_GM_IF_MODE_LBN 8 +#define FRF_AB_GM_IF_MODE_WIDTH 2 +#define FFE_AB_IF_MODE_BYTE_MODE 2 +#define FFE_AB_IF_MODE_NIBBLE_MODE 1 +#define FRF_AB_GM_HUGE_FRM_EN_LBN 5 +#define FRF_AB_GM_HUGE_FRM_EN_WIDTH 1 +#define FRF_AB_GM_LEN_CHK_LBN 4 +#define FRF_AB_GM_LEN_CHK_WIDTH 1 +#define FRF_AB_GM_PAD_CRC_EN_LBN 2 +#define FRF_AB_GM_PAD_CRC_EN_WIDTH 1 +#define FRF_AB_GM_CRC_EN_LBN 1 +#define FRF_AB_GM_CRC_EN_WIDTH 1 +#define FRF_AB_GM_FD_LBN 0 +#define FRF_AB_GM_FD_WIDTH 1 + +/* GM_IPG_REG: GMAC IPG register */ +#define FR_AB_GM_IPG 0x00000e20 +#define FRF_AB_GM_NONB2B_IPG1_LBN 24 +#define FRF_AB_GM_NONB2B_IPG1_WIDTH 7 +#define FRF_AB_GM_NONB2B_IPG2_LBN 16 +#define FRF_AB_GM_NONB2B_IPG2_WIDTH 7 +#define FRF_AB_GM_MIN_IPG_ENF_LBN 8 +#define FRF_AB_GM_MIN_IPG_ENF_WIDTH 8 +#define FRF_AB_GM_B2B_IPG_LBN 0 +#define FRF_AB_GM_B2B_IPG_WIDTH 7 + +/* GM_HD_REG: GMAC half duplex register */ +#define FR_AB_GM_HD 0x00000e30 +#define FRF_AB_GM_ALT_BOFF_VAL_LBN 20 +#define FRF_AB_GM_ALT_BOFF_VAL_WIDTH 4 +#define FRF_AB_GM_ALT_BOFF_EN_LBN 19 +#define FRF_AB_GM_ALT_BOFF_EN_WIDTH 1 +#define FRF_AB_GM_BP_NO_BOFF_LBN 18 +#define FRF_AB_GM_BP_NO_BOFF_WIDTH 1 +#define FRF_AB_GM_DIS_BOFF_LBN 17 +#define FRF_AB_GM_DIS_BOFF_WIDTH 1 +#define FRF_AB_GM_EXDEF_TX_EN_LBN 16 +#define FRF_AB_GM_EXDEF_TX_EN_WIDTH 1 +#define FRF_AB_GM_RTRY_LIMIT_LBN 12 +#define FRF_AB_GM_RTRY_LIMIT_WIDTH 4 +#define FRF_AB_GM_COL_WIN_LBN 0 +#define FRF_AB_GM_COL_WIN_WIDTH 10 + +/* GM_MAX_FLEN_REG: GMAC maximum frame length register */ +#define FR_AB_GM_MAX_FLEN 0x00000e40 +#define FRF_AB_GM_MAX_FLEN_LBN 0 +#define FRF_AB_GM_MAX_FLEN_WIDTH 16 + +/* GM_TEST_REG: GMAC test register */ +#define FR_AB_GM_TEST 0x00000e70 +#define FRF_AB_GM_MAX_BOFF_LBN 3 +#define FRF_AB_GM_MAX_BOFF_WIDTH 1 +#define FRF_AB_GM_REG_TX_FLOW_EN_LBN 2 +#define FRF_AB_GM_REG_TX_FLOW_EN_WIDTH 1 +#define FRF_AB_GM_TEST_PAUSE_LBN 1 +#define FRF_AB_GM_TEST_PAUSE_WIDTH 1 +#define FRF_AB_GM_SHORT_SLOT_LBN 0 +#define FRF_AB_GM_SHORT_SLOT_WIDTH 1 + +/* GM_ADR1_REG: GMAC station address register 1 */ +#define FR_AB_GM_ADR1 0x00000f00 +#define FRF_AB_GM_ADR_B0_LBN 24 +#define FRF_AB_GM_ADR_B0_WIDTH 8 +#define FRF_AB_GM_ADR_B1_LBN 16 +#define FRF_AB_GM_ADR_B1_WIDTH 8 +#define FRF_AB_GM_ADR_B2_LBN 8 +#define FRF_AB_GM_ADR_B2_WIDTH 8 +#define FRF_AB_GM_ADR_B3_LBN 0 +#define FRF_AB_GM_ADR_B3_WIDTH 8 + +/* GM_ADR2_REG: GMAC station address register 2 */ +#define FR_AB_GM_ADR2 0x00000f10 +#define FRF_AB_GM_ADR_B4_LBN 24 +#define FRF_AB_GM_ADR_B4_WIDTH 8 +#define FRF_AB_GM_ADR_B5_LBN 16 +#define FRF_AB_GM_ADR_B5_WIDTH 8 + +/* GMF_CFG0_REG: GMAC FIFO configuration register 0 */ +#define FR_AB_GMF_CFG0 0x00000f20 +#define FRF_AB_GMF_FTFENRPLY_LBN 20 +#define FRF_AB_GMF_FTFENRPLY_WIDTH 1 +#define FRF_AB_GMF_STFENRPLY_LBN 19 +#define FRF_AB_GMF_STFENRPLY_WIDTH 1 +#define FRF_AB_GMF_FRFENRPLY_LBN 18 +#define FRF_AB_GMF_FRFENRPLY_WIDTH 1 +#define FRF_AB_GMF_SRFENRPLY_LBN 17 +#define FRF_AB_GMF_SRFENRPLY_WIDTH 1 +#define FRF_AB_GMF_WTMENRPLY_LBN 16 +#define FRF_AB_GMF_WTMENRPLY_WIDTH 1 +#define FRF_AB_GMF_FTFENREQ_LBN 12 +#define FRF_AB_GMF_FTFENREQ_WIDTH 1 +#define FRF_AB_GMF_STFENREQ_LBN 11 +#define FRF_AB_GMF_STFENREQ_WIDTH 1 +#define FRF_AB_GMF_FRFENREQ_LBN 10 +#define FRF_AB_GMF_FRFENREQ_WIDTH 1 +#define FRF_AB_GMF_SRFENREQ_LBN 9 +#define FRF_AB_GMF_SRFENREQ_WIDTH 1 +#define FRF_AB_GMF_WTMENREQ_LBN 8 +#define FRF_AB_GMF_WTMENREQ_WIDTH 1 +#define FRF_AB_GMF_HSTRSTFT_LBN 4 +#define FRF_AB_GMF_HSTRSTFT_WIDTH 1 +#define FRF_AB_GMF_HSTRSTST_LBN 3 +#define FRF_AB_GMF_HSTRSTST_WIDTH 1 +#define FRF_AB_GMF_HSTRSTFR_LBN 2 +#define FRF_AB_GMF_HSTRSTFR_WIDTH 1 +#define FRF_AB_GMF_HSTRSTSR_LBN 1 +#define FRF_AB_GMF_HSTRSTSR_WIDTH 1 +#define FRF_AB_GMF_HSTRSTWT_LBN 0 +#define FRF_AB_GMF_HSTRSTWT_WIDTH 1 + +/* GMF_CFG1_REG: GMAC FIFO configuration register 1 */ +#define FR_AB_GMF_CFG1 0x00000f30 +#define FRF_AB_GMF_CFGFRTH_LBN 16 +#define FRF_AB_GMF_CFGFRTH_WIDTH 5 +#define FRF_AB_GMF_CFGXOFFRTX_LBN 0 +#define FRF_AB_GMF_CFGXOFFRTX_WIDTH 16 + +/* GMF_CFG2_REG: GMAC FIFO configuration register 2 */ +#define FR_AB_GMF_CFG2 0x00000f40 +#define FRF_AB_GMF_CFGHWM_LBN 16 +#define FRF_AB_GMF_CFGHWM_WIDTH 6 +#define FRF_AB_GMF_CFGLWM_LBN 0 +#define FRF_AB_GMF_CFGLWM_WIDTH 6 + +/* GMF_CFG3_REG: GMAC FIFO configuration register 3 */ +#define FR_AB_GMF_CFG3 0x00000f50 +#define FRF_AB_GMF_CFGHWMFT_LBN 16 +#define FRF_AB_GMF_CFGHWMFT_WIDTH 6 +#define FRF_AB_GMF_CFGFTTH_LBN 0 +#define FRF_AB_GMF_CFGFTTH_WIDTH 6 + +/* GMF_CFG4_REG: GMAC FIFO configuration register 4 */ +#define FR_AB_GMF_CFG4 0x00000f60 +#define FRF_AB_GMF_HSTFLTRFRM_LBN 0 +#define FRF_AB_GMF_HSTFLTRFRM_WIDTH 18 + +/* GMF_CFG5_REG: GMAC FIFO configuration register 5 */ +#define FR_AB_GMF_CFG5 0x00000f70 +#define FRF_AB_GMF_CFGHDPLX_LBN 22 +#define FRF_AB_GMF_CFGHDPLX_WIDTH 1 +#define FRF_AB_GMF_SRFULL_LBN 21 +#define FRF_AB_GMF_SRFULL_WIDTH 1 +#define FRF_AB_GMF_HSTSRFULLCLR_LBN 20 +#define FRF_AB_GMF_HSTSRFULLCLR_WIDTH 1 +#define FRF_AB_GMF_CFGBYTMODE_LBN 19 +#define FRF_AB_GMF_CFGBYTMODE_WIDTH 1 +#define FRF_AB_GMF_HSTDRPLT64_LBN 18 +#define FRF_AB_GMF_HSTDRPLT64_WIDTH 1 +#define FRF_AB_GMF_HSTFLTRFRMDC_LBN 0 +#define FRF_AB_GMF_HSTFLTRFRMDC_WIDTH 18 + +/* TX_SRC_MAC_TBL: Transmit IP source address filter table */ +#define FR_BB_TX_SRC_MAC_TBL 0x00001000 +#define FR_BB_TX_SRC_MAC_TBL_STEP 16 +#define FR_BB_TX_SRC_MAC_TBL_ROWS 16 +#define FRF_BB_TX_SRC_MAC_ADR_1_LBN 64 +#define FRF_BB_TX_SRC_MAC_ADR_1_WIDTH 48 +#define FRF_BB_TX_SRC_MAC_ADR_0_LBN 0 +#define FRF_BB_TX_SRC_MAC_ADR_0_WIDTH 48 + +/* TX_SRC_MAC_CTL_REG: Transmit MAC source address filter control */ +#define FR_BB_TX_SRC_MAC_CTL 0x00001100 +#define FRF_BB_TX_SRC_DROP_CTR_LBN 16 +#define FRF_BB_TX_SRC_DROP_CTR_WIDTH 16 +#define FRF_BB_TX_SRC_FLTR_EN_LBN 15 +#define FRF_BB_TX_SRC_FLTR_EN_WIDTH 1 +#define FRF_BB_TX_DROP_CTR_CLR_LBN 12 +#define FRF_BB_TX_DROP_CTR_CLR_WIDTH 1 +#define FRF_BB_TX_MAC_QID_SEL_LBN 0 +#define FRF_BB_TX_MAC_QID_SEL_WIDTH 3 + +/* XM_ADR_LO_REG: XGMAC address register low */ +#define FR_AB_XM_ADR_LO 0x00001200 +#define FRF_AB_XM_ADR_LO_LBN 0 +#define FRF_AB_XM_ADR_LO_WIDTH 32 + +/* XM_ADR_HI_REG: XGMAC address register high */ +#define FR_AB_XM_ADR_HI 0x00001210 +#define FRF_AB_XM_ADR_HI_LBN 0 +#define FRF_AB_XM_ADR_HI_WIDTH 16 + +/* XM_GLB_CFG_REG: XGMAC global configuration */ +#define FR_AB_XM_GLB_CFG 0x00001220 +#define FRF_AB_XM_RMTFLT_GEN_LBN 17 +#define FRF_AB_XM_RMTFLT_GEN_WIDTH 1 +#define FRF_AB_XM_DEBUG_MODE_LBN 16 +#define FRF_AB_XM_DEBUG_MODE_WIDTH 1 +#define FRF_AB_XM_RX_STAT_EN_LBN 11 +#define FRF_AB_XM_RX_STAT_EN_WIDTH 1 +#define FRF_AB_XM_TX_STAT_EN_LBN 10 +#define FRF_AB_XM_TX_STAT_EN_WIDTH 1 +#define FRF_AB_XM_RX_JUMBO_MODE_LBN 6 +#define FRF_AB_XM_RX_JUMBO_MODE_WIDTH 1 +#define FRF_AB_XM_WAN_MODE_LBN 5 +#define FRF_AB_XM_WAN_MODE_WIDTH 1 +#define FRF_AB_XM_INTCLR_MODE_LBN 3 +#define FRF_AB_XM_INTCLR_MODE_WIDTH 1 +#define FRF_AB_XM_CORE_RST_LBN 0 +#define FRF_AB_XM_CORE_RST_WIDTH 1 + +/* XM_TX_CFG_REG: XGMAC transmit configuration */ +#define FR_AB_XM_TX_CFG 0x00001230 +#define FRF_AB_XM_TX_PROG_LBN 24 +#define FRF_AB_XM_TX_PROG_WIDTH 1 +#define FRF_AB_XM_IPG_LBN 16 +#define FRF_AB_XM_IPG_WIDTH 4 +#define FRF_AB_XM_FCNTL_LBN 10 +#define FRF_AB_XM_FCNTL_WIDTH 1 +#define FRF_AB_XM_TXCRC_LBN 8 +#define FRF_AB_XM_TXCRC_WIDTH 1 +#define FRF_AB_XM_EDRC_LBN 6 +#define FRF_AB_XM_EDRC_WIDTH 1 +#define FRF_AB_XM_AUTO_PAD_LBN 5 +#define FRF_AB_XM_AUTO_PAD_WIDTH 1 +#define FRF_AB_XM_TX_PRMBL_LBN 2 +#define FRF_AB_XM_TX_PRMBL_WIDTH 1 +#define FRF_AB_XM_TXEN_LBN 1 +#define FRF_AB_XM_TXEN_WIDTH 1 +#define FRF_AB_XM_TX_RST_LBN 0 +#define FRF_AB_XM_TX_RST_WIDTH 1 + +/* XM_RX_CFG_REG: XGMAC receive configuration */ +#define FR_AB_XM_RX_CFG 0x00001240 +#define FRF_AB_XM_PASS_LENERR_LBN 26 +#define FRF_AB_XM_PASS_LENERR_WIDTH 1 +#define FRF_AB_XM_PASS_CRC_ERR_LBN 25 +#define FRF_AB_XM_PASS_CRC_ERR_WIDTH 1 +#define FRF_AB_XM_PASS_PRMBLE_ERR_LBN 24 +#define FRF_AB_XM_PASS_PRMBLE_ERR_WIDTH 1 +#define FRF_AB_XM_REJ_BCAST_LBN 20 +#define FRF_AB_XM_REJ_BCAST_WIDTH 1 +#define FRF_AB_XM_ACPT_ALL_MCAST_LBN 11 +#define FRF_AB_XM_ACPT_ALL_MCAST_WIDTH 1 +#define FRF_AB_XM_ACPT_ALL_UCAST_LBN 9 +#define FRF_AB_XM_ACPT_ALL_UCAST_WIDTH 1 +#define FRF_AB_XM_AUTO_DEPAD_LBN 8 +#define FRF_AB_XM_AUTO_DEPAD_WIDTH 1 +#define FRF_AB_XM_RXCRC_LBN 3 +#define FRF_AB_XM_RXCRC_WIDTH 1 +#define FRF_AB_XM_RX_PRMBL_LBN 2 +#define FRF_AB_XM_RX_PRMBL_WIDTH 1 +#define FRF_AB_XM_RXEN_LBN 1 +#define FRF_AB_XM_RXEN_WIDTH 1 +#define FRF_AB_XM_RX_RST_LBN 0 +#define FRF_AB_XM_RX_RST_WIDTH 1 + +/* XM_MGT_INT_MASK: documentation to be written for sum_XM_MGT_INT_MASK */ +#define FR_AB_XM_MGT_INT_MASK 0x00001250 +#define FRF_AB_XM_MSK_STA_INTR_LBN 16 +#define FRF_AB_XM_MSK_STA_INTR_WIDTH 1 +#define FRF_AB_XM_MSK_STAT_CNTR_HF_LBN 9 +#define FRF_AB_XM_MSK_STAT_CNTR_HF_WIDTH 1 +#define FRF_AB_XM_MSK_STAT_CNTR_OF_LBN 8 +#define FRF_AB_XM_MSK_STAT_CNTR_OF_WIDTH 1 +#define FRF_AB_XM_MSK_PRMBLE_ERR_LBN 2 +#define FRF_AB_XM_MSK_PRMBLE_ERR_WIDTH 1 +#define FRF_AB_XM_MSK_RMTFLT_LBN 1 +#define FRF_AB_XM_MSK_RMTFLT_WIDTH 1 +#define FRF_AB_XM_MSK_LCLFLT_LBN 0 +#define FRF_AB_XM_MSK_LCLFLT_WIDTH 1 + +/* XM_FC_REG: XGMAC flow control register */ +#define FR_AB_XM_FC 0x00001270 +#define FRF_AB_XM_PAUSE_TIME_LBN 16 +#define FRF_AB_XM_PAUSE_TIME_WIDTH 16 +#define FRF_AB_XM_RX_MAC_STAT_LBN 11 +#define FRF_AB_XM_RX_MAC_STAT_WIDTH 1 +#define FRF_AB_XM_TX_MAC_STAT_LBN 10 +#define FRF_AB_XM_TX_MAC_STAT_WIDTH 1 +#define FRF_AB_XM_MCNTL_PASS_LBN 8 +#define FRF_AB_XM_MCNTL_PASS_WIDTH 2 +#define FRF_AB_XM_REJ_CNTL_UCAST_LBN 6 +#define FRF_AB_XM_REJ_CNTL_UCAST_WIDTH 1 +#define FRF_AB_XM_REJ_CNTL_MCAST_LBN 5 +#define FRF_AB_XM_REJ_CNTL_MCAST_WIDTH 1 +#define FRF_AB_XM_ZPAUSE_LBN 2 +#define FRF_AB_XM_ZPAUSE_WIDTH 1 +#define FRF_AB_XM_XMIT_PAUSE_LBN 1 +#define FRF_AB_XM_XMIT_PAUSE_WIDTH 1 +#define FRF_AB_XM_DIS_FCNTL_LBN 0 +#define FRF_AB_XM_DIS_FCNTL_WIDTH 1 + +/* XM_PAUSE_TIME_REG: XGMAC pause time register */ +#define FR_AB_XM_PAUSE_TIME 0x00001290 +#define FRF_AB_XM_TX_PAUSE_CNT_LBN 16 +#define FRF_AB_XM_TX_PAUSE_CNT_WIDTH 16 +#define FRF_AB_XM_RX_PAUSE_CNT_LBN 0 +#define FRF_AB_XM_RX_PAUSE_CNT_WIDTH 16 + +/* XM_TX_PARAM_REG: XGMAC transmit parameter register */ +#define FR_AB_XM_TX_PARAM 0x000012d0 +#define FRF_AB_XM_TX_JUMBO_MODE_LBN 31 +#define FRF_AB_XM_TX_JUMBO_MODE_WIDTH 1 +#define FRF_AB_XM_MAX_TX_FRM_SIZE_HI_LBN 19 +#define FRF_AB_XM_MAX_TX_FRM_SIZE_HI_WIDTH 11 +#define FRF_AB_XM_MAX_TX_FRM_SIZE_LO_LBN 16 +#define FRF_AB_XM_MAX_TX_FRM_SIZE_LO_WIDTH 3 +#define FRF_AB_XM_PAD_CHAR_LBN 0 +#define FRF_AB_XM_PAD_CHAR_WIDTH 8 + +/* XM_RX_PARAM_REG: XGMAC receive parameter register */ +#define FR_AB_XM_RX_PARAM 0x000012e0 +#define FRF_AB_XM_MAX_RX_FRM_SIZE_HI_LBN 3 +#define FRF_AB_XM_MAX_RX_FRM_SIZE_HI_WIDTH 11 +#define FRF_AB_XM_MAX_RX_FRM_SIZE_LO_LBN 0 +#define FRF_AB_XM_MAX_RX_FRM_SIZE_LO_WIDTH 3 + +/* XM_MGT_INT_MSK_REG: XGMAC management interrupt mask register */ +#define FR_AB_XM_MGT_INT_MSK 0x000012f0 +#define FRF_AB_XM_STAT_CNTR_OF_LBN 9 +#define FRF_AB_XM_STAT_CNTR_OF_WIDTH 1 +#define FRF_AB_XM_STAT_CNTR_HF_LBN 8 +#define FRF_AB_XM_STAT_CNTR_HF_WIDTH 1 +#define FRF_AB_XM_PRMBLE_ERR_LBN 2 +#define FRF_AB_XM_PRMBLE_ERR_WIDTH 1 +#define FRF_AB_XM_RMTFLT_LBN 1 +#define FRF_AB_XM_RMTFLT_WIDTH 1 +#define FRF_AB_XM_LCLFLT_LBN 0 +#define FRF_AB_XM_LCLFLT_WIDTH 1 + +/* XX_PWR_RST_REG: XGXS/XAUI powerdown/reset register */ +#define FR_AB_XX_PWR_RST 0x00001300 +#define FRF_AB_XX_PWRDND_SIG_LBN 31 +#define FRF_AB_XX_PWRDND_SIG_WIDTH 1 +#define FRF_AB_XX_PWRDNC_SIG_LBN 30 +#define FRF_AB_XX_PWRDNC_SIG_WIDTH 1 +#define FRF_AB_XX_PWRDNB_SIG_LBN 29 +#define FRF_AB_XX_PWRDNB_SIG_WIDTH 1 +#define FRF_AB_XX_PWRDNA_SIG_LBN 28 +#define FRF_AB_XX_PWRDNA_SIG_WIDTH 1 +#define FRF_AB_XX_SIM_MODE_LBN 27 +#define FRF_AB_XX_SIM_MODE_WIDTH 1 +#define FRF_AB_XX_RSTPLLCD_SIG_LBN 25 +#define FRF_AB_XX_RSTPLLCD_SIG_WIDTH 1 +#define FRF_AB_XX_RSTPLLAB_SIG_LBN 24 +#define FRF_AB_XX_RSTPLLAB_SIG_WIDTH 1 +#define FRF_AB_XX_RESETD_SIG_LBN 23 +#define FRF_AB_XX_RESETD_SIG_WIDTH 1 +#define FRF_AB_XX_RESETC_SIG_LBN 22 +#define FRF_AB_XX_RESETC_SIG_WIDTH 1 +#define FRF_AB_XX_RESETB_SIG_LBN 21 +#define FRF_AB_XX_RESETB_SIG_WIDTH 1 +#define FRF_AB_XX_RESETA_SIG_LBN 20 +#define FRF_AB_XX_RESETA_SIG_WIDTH 1 +#define FRF_AB_XX_RSTXGXSRX_SIG_LBN 18 +#define FRF_AB_XX_RSTXGXSRX_SIG_WIDTH 1 +#define FRF_AB_XX_RSTXGXSTX_SIG_LBN 17 +#define FRF_AB_XX_RSTXGXSTX_SIG_WIDTH 1 +#define FRF_AB_XX_SD_RST_ACT_LBN 16 +#define FRF_AB_XX_SD_RST_ACT_WIDTH 1 +#define FRF_AB_XX_PWRDND_EN_LBN 15 +#define FRF_AB_XX_PWRDND_EN_WIDTH 1 +#define FRF_AB_XX_PWRDNC_EN_LBN 14 +#define FRF_AB_XX_PWRDNC_EN_WIDTH 1 +#define FRF_AB_XX_PWRDNB_EN_LBN 13 +#define FRF_AB_XX_PWRDNB_EN_WIDTH 1 +#define FRF_AB_XX_PWRDNA_EN_LBN 12 +#define FRF_AB_XX_PWRDNA_EN_WIDTH 1 +#define FRF_AB_XX_RSTPLLCD_EN_LBN 9 +#define FRF_AB_XX_RSTPLLCD_EN_WIDTH 1 +#define FRF_AB_XX_RSTPLLAB_EN_LBN 8 +#define FRF_AB_XX_RSTPLLAB_EN_WIDTH 1 +#define FRF_AB_XX_RESETD_EN_LBN 7 +#define FRF_AB_XX_RESETD_EN_WIDTH 1 +#define FRF_AB_XX_RESETC_EN_LBN 6 +#define FRF_AB_XX_RESETC_EN_WIDTH 1 +#define FRF_AB_XX_RESETB_EN_LBN 5 +#define FRF_AB_XX_RESETB_EN_WIDTH 1 +#define FRF_AB_XX_RESETA_EN_LBN 4 +#define FRF_AB_XX_RESETA_EN_WIDTH 1 +#define FRF_AB_XX_RSTXGXSRX_EN_LBN 2 +#define FRF_AB_XX_RSTXGXSRX_EN_WIDTH 1 +#define FRF_AB_XX_RSTXGXSTX_EN_LBN 1 +#define FRF_AB_XX_RSTXGXSTX_EN_WIDTH 1 +#define FRF_AB_XX_RST_XX_EN_LBN 0 +#define FRF_AB_XX_RST_XX_EN_WIDTH 1 + +/* XX_SD_CTL_REG: XGXS/XAUI powerdown/reset control register */ +#define FR_AB_XX_SD_CTL 0x00001310 +#define FRF_AB_XX_TERMADJ1_LBN 17 +#define FRF_AB_XX_TERMADJ1_WIDTH 1 +#define FRF_AB_XX_TERMADJ0_LBN 16 +#define FRF_AB_XX_TERMADJ0_WIDTH 1 +#define FRF_AB_XX_HIDRVD_LBN 15 +#define FRF_AB_XX_HIDRVD_WIDTH 1 +#define FRF_AB_XX_LODRVD_LBN 14 +#define FRF_AB_XX_LODRVD_WIDTH 1 +#define FRF_AB_XX_HIDRVC_LBN 13 +#define FRF_AB_XX_HIDRVC_WIDTH 1 +#define FRF_AB_XX_LODRVC_LBN 12 +#define FRF_AB_XX_LODRVC_WIDTH 1 +#define FRF_AB_XX_HIDRVB_LBN 11 +#define FRF_AB_XX_HIDRVB_WIDTH 1 +#define FRF_AB_XX_LODRVB_LBN 10 +#define FRF_AB_XX_LODRVB_WIDTH 1 +#define FRF_AB_XX_HIDRVA_LBN 9 +#define FRF_AB_XX_HIDRVA_WIDTH 1 +#define FRF_AB_XX_LODRVA_LBN 8 +#define FRF_AB_XX_LODRVA_WIDTH 1 +#define FRF_AB_XX_LPBKD_LBN 3 +#define FRF_AB_XX_LPBKD_WIDTH 1 +#define FRF_AB_XX_LPBKC_LBN 2 +#define FRF_AB_XX_LPBKC_WIDTH 1 +#define FRF_AB_XX_LPBKB_LBN 1 +#define FRF_AB_XX_LPBKB_WIDTH 1 +#define FRF_AB_XX_LPBKA_LBN 0 +#define FRF_AB_XX_LPBKA_WIDTH 1 + +/* XX_TXDRV_CTL_REG: XAUI SerDes transmit drive control register */ +#define FR_AB_XX_TXDRV_CTL 0x00001320 +#define FRF_AB_XX_DEQD_LBN 28 +#define FRF_AB_XX_DEQD_WIDTH 4 +#define FRF_AB_XX_DEQC_LBN 24 +#define FRF_AB_XX_DEQC_WIDTH 4 +#define FRF_AB_XX_DEQB_LBN 20 +#define FRF_AB_XX_DEQB_WIDTH 4 +#define FRF_AB_XX_DEQA_LBN 16 +#define FRF_AB_XX_DEQA_WIDTH 4 +#define FRF_AB_XX_DTXD_LBN 12 +#define FRF_AB_XX_DTXD_WIDTH 4 +#define FRF_AB_XX_DTXC_LBN 8 +#define FRF_AB_XX_DTXC_WIDTH 4 +#define FRF_AB_XX_DTXB_LBN 4 +#define FRF_AB_XX_DTXB_WIDTH 4 +#define FRF_AB_XX_DTXA_LBN 0 +#define FRF_AB_XX_DTXA_WIDTH 4 + +/* XX_PRBS_CTL_REG: documentation to be written for sum_XX_PRBS_CTL_REG */ +#define FR_AB_XX_PRBS_CTL 0x00001330 +#define FRF_AB_XX_CH3_RX_PRBS_SEL_LBN 30 +#define FRF_AB_XX_CH3_RX_PRBS_SEL_WIDTH 2 +#define FRF_AB_XX_CH3_RX_PRBS_INV_LBN 29 +#define FRF_AB_XX_CH3_RX_PRBS_INV_WIDTH 1 +#define FRF_AB_XX_CH3_RX_PRBS_CHKEN_LBN 28 +#define FRF_AB_XX_CH3_RX_PRBS_CHKEN_WIDTH 1 +#define FRF_AB_XX_CH2_RX_PRBS_SEL_LBN 26 +#define FRF_AB_XX_CH2_RX_PRBS_SEL_WIDTH 2 +#define FRF_AB_XX_CH2_RX_PRBS_INV_LBN 25 +#define FRF_AB_XX_CH2_RX_PRBS_INV_WIDTH 1 +#define FRF_AB_XX_CH2_RX_PRBS_CHKEN_LBN 24 +#define FRF_AB_XX_CH2_RX_PRBS_CHKEN_WIDTH 1 +#define FRF_AB_XX_CH1_RX_PRBS_SEL_LBN 22 +#define FRF_AB_XX_CH1_RX_PRBS_SEL_WIDTH 2 +#define FRF_AB_XX_CH1_RX_PRBS_INV_LBN 21 +#define FRF_AB_XX_CH1_RX_PRBS_INV_WIDTH 1 +#define FRF_AB_XX_CH1_RX_PRBS_CHKEN_LBN 20 +#define FRF_AB_XX_CH1_RX_PRBS_CHKEN_WIDTH 1 +#define FRF_AB_XX_CH0_RX_PRBS_SEL_LBN 18 +#define FRF_AB_XX_CH0_RX_PRBS_SEL_WIDTH 2 +#define FRF_AB_XX_CH0_RX_PRBS_INV_LBN 17 +#define FRF_AB_XX_CH0_RX_PRBS_INV_WIDTH 1 +#define FRF_AB_XX_CH0_RX_PRBS_CHKEN_LBN 16 +#define FRF_AB_XX_CH0_RX_PRBS_CHKEN_WIDTH 1 +#define FRF_AB_XX_CH3_TX_PRBS_SEL_LBN 14 +#define FRF_AB_XX_CH3_TX_PRBS_SEL_WIDTH 2 +#define FRF_AB_XX_CH3_TX_PRBS_INV_LBN 13 +#define FRF_AB_XX_CH3_TX_PRBS_INV_WIDTH 1 +#define FRF_AB_XX_CH3_TX_PRBS_CHKEN_LBN 12 +#define FRF_AB_XX_CH3_TX_PRBS_CHKEN_WIDTH 1 +#define FRF_AB_XX_CH2_TX_PRBS_SEL_LBN 10 +#define FRF_AB_XX_CH2_TX_PRBS_SEL_WIDTH 2 +#define FRF_AB_XX_CH2_TX_PRBS_INV_LBN 9 +#define FRF_AB_XX_CH2_TX_PRBS_INV_WIDTH 1 +#define FRF_AB_XX_CH2_TX_PRBS_CHKEN_LBN 8 +#define FRF_AB_XX_CH2_TX_PRBS_CHKEN_WIDTH 1 +#define FRF_AB_XX_CH1_TX_PRBS_SEL_LBN 6 +#define FRF_AB_XX_CH1_TX_PRBS_SEL_WIDTH 2 +#define FRF_AB_XX_CH1_TX_PRBS_INV_LBN 5 +#define FRF_AB_XX_CH1_TX_PRBS_INV_WIDTH 1 +#define FRF_AB_XX_CH1_TX_PRBS_CHKEN_LBN 4 +#define FRF_AB_XX_CH1_TX_PRBS_CHKEN_WIDTH 1 +#define FRF_AB_XX_CH0_TX_PRBS_SEL_LBN 2 +#define FRF_AB_XX_CH0_TX_PRBS_SEL_WIDTH 2 +#define FRF_AB_XX_CH0_TX_PRBS_INV_LBN 1 +#define FRF_AB_XX_CH0_TX_PRBS_INV_WIDTH 1 +#define FRF_AB_XX_CH0_TX_PRBS_CHKEN_LBN 0 +#define FRF_AB_XX_CH0_TX_PRBS_CHKEN_WIDTH 1 + +/* XX_PRBS_CHK_REG: documentation to be written for sum_XX_PRBS_CHK_REG */ +#define FR_AB_XX_PRBS_CHK 0x00001340 +#define FRF_AB_XX_REV_LB_EN_LBN 16 +#define FRF_AB_XX_REV_LB_EN_WIDTH 1 +#define FRF_AB_XX_CH3_DEG_DET_LBN 15 +#define FRF_AB_XX_CH3_DEG_DET_WIDTH 1 +#define FRF_AB_XX_CH3_LFSR_LOCK_IND_LBN 14 +#define FRF_AB_XX_CH3_LFSR_LOCK_IND_WIDTH 1 +#define FRF_AB_XX_CH3_PRBS_FRUN_LBN 13 +#define FRF_AB_XX_CH3_PRBS_FRUN_WIDTH 1 +#define FRF_AB_XX_CH3_ERR_CHK_LBN 12 +#define FRF_AB_XX_CH3_ERR_CHK_WIDTH 1 +#define FRF_AB_XX_CH2_DEG_DET_LBN 11 +#define FRF_AB_XX_CH2_DEG_DET_WIDTH 1 +#define FRF_AB_XX_CH2_LFSR_LOCK_IND_LBN 10 +#define FRF_AB_XX_CH2_LFSR_LOCK_IND_WIDTH 1 +#define FRF_AB_XX_CH2_PRBS_FRUN_LBN 9 +#define FRF_AB_XX_CH2_PRBS_FRUN_WIDTH 1 +#define FRF_AB_XX_CH2_ERR_CHK_LBN 8 +#define FRF_AB_XX_CH2_ERR_CHK_WIDTH 1 +#define FRF_AB_XX_CH1_DEG_DET_LBN 7 +#define FRF_AB_XX_CH1_DEG_DET_WIDTH 1 +#define FRF_AB_XX_CH1_LFSR_LOCK_IND_LBN 6 +#define FRF_AB_XX_CH1_LFSR_LOCK_IND_WIDTH 1 +#define FRF_AB_XX_CH1_PRBS_FRUN_LBN 5 +#define FRF_AB_XX_CH1_PRBS_FRUN_WIDTH 1 +#define FRF_AB_XX_CH1_ERR_CHK_LBN 4 +#define FRF_AB_XX_CH1_ERR_CHK_WIDTH 1 +#define FRF_AB_XX_CH0_DEG_DET_LBN 3 +#define FRF_AB_XX_CH0_DEG_DET_WIDTH 1 +#define FRF_AB_XX_CH0_LFSR_LOCK_IND_LBN 2 +#define FRF_AB_XX_CH0_LFSR_LOCK_IND_WIDTH 1 +#define FRF_AB_XX_CH0_PRBS_FRUN_LBN 1 +#define FRF_AB_XX_CH0_PRBS_FRUN_WIDTH 1 +#define FRF_AB_XX_CH0_ERR_CHK_LBN 0 +#define FRF_AB_XX_CH0_ERR_CHK_WIDTH 1 + +/* XX_PRBS_ERR_REG: documentation to be written for sum_XX_PRBS_ERR_REG */ +#define FR_AB_XX_PRBS_ERR 0x00001350 +#define FRF_AB_XX_CH3_PRBS_ERR_CNT_LBN 24 +#define FRF_AB_XX_CH3_PRBS_ERR_CNT_WIDTH 8 +#define FRF_AB_XX_CH2_PRBS_ERR_CNT_LBN 16 +#define FRF_AB_XX_CH2_PRBS_ERR_CNT_WIDTH 8 +#define FRF_AB_XX_CH1_PRBS_ERR_CNT_LBN 8 +#define FRF_AB_XX_CH1_PRBS_ERR_CNT_WIDTH 8 +#define FRF_AB_XX_CH0_PRBS_ERR_CNT_LBN 0 +#define FRF_AB_XX_CH0_PRBS_ERR_CNT_WIDTH 8 + +/* XX_CORE_STAT_REG: XAUI XGXS core status register */ +#define FR_AB_XX_CORE_STAT 0x00001360 +#define FRF_AB_XX_FORCE_SIG3_LBN 31 +#define FRF_AB_XX_FORCE_SIG3_WIDTH 1 +#define FRF_AB_XX_FORCE_SIG3_VAL_LBN 30 +#define FRF_AB_XX_FORCE_SIG3_VAL_WIDTH 1 +#define FRF_AB_XX_FORCE_SIG2_LBN 29 +#define FRF_AB_XX_FORCE_SIG2_WIDTH 1 +#define FRF_AB_XX_FORCE_SIG2_VAL_LBN 28 +#define FRF_AB_XX_FORCE_SIG2_VAL_WIDTH 1 +#define FRF_AB_XX_FORCE_SIG1_LBN 27 +#define FRF_AB_XX_FORCE_SIG1_WIDTH 1 +#define FRF_AB_XX_FORCE_SIG1_VAL_LBN 26 +#define FRF_AB_XX_FORCE_SIG1_VAL_WIDTH 1 +#define FRF_AB_XX_FORCE_SIG0_LBN 25 +#define FRF_AB_XX_FORCE_SIG0_WIDTH 1 +#define FRF_AB_XX_FORCE_SIG0_VAL_LBN 24 +#define FRF_AB_XX_FORCE_SIG0_VAL_WIDTH 1 +#define FRF_AB_XX_XGXS_LB_EN_LBN 23 +#define FRF_AB_XX_XGXS_LB_EN_WIDTH 1 +#define FRF_AB_XX_XGMII_LB_EN_LBN 22 +#define FRF_AB_XX_XGMII_LB_EN_WIDTH 1 +#define FRF_AB_XX_MATCH_FAULT_LBN 21 +#define FRF_AB_XX_MATCH_FAULT_WIDTH 1 +#define FRF_AB_XX_ALIGN_DONE_LBN 20 +#define FRF_AB_XX_ALIGN_DONE_WIDTH 1 +#define FRF_AB_XX_SYNC_STAT3_LBN 19 +#define FRF_AB_XX_SYNC_STAT3_WIDTH 1 +#define FRF_AB_XX_SYNC_STAT2_LBN 18 +#define FRF_AB_XX_SYNC_STAT2_WIDTH 1 +#define FRF_AB_XX_SYNC_STAT1_LBN 17 +#define FRF_AB_XX_SYNC_STAT1_WIDTH 1 +#define FRF_AB_XX_SYNC_STAT0_LBN 16 +#define FRF_AB_XX_SYNC_STAT0_WIDTH 1 +#define FRF_AB_XX_COMMA_DET_CH3_LBN 15 +#define FRF_AB_XX_COMMA_DET_CH3_WIDTH 1 +#define FRF_AB_XX_COMMA_DET_CH2_LBN 14 +#define FRF_AB_XX_COMMA_DET_CH2_WIDTH 1 +#define FRF_AB_XX_COMMA_DET_CH1_LBN 13 +#define FRF_AB_XX_COMMA_DET_CH1_WIDTH 1 +#define FRF_AB_XX_COMMA_DET_CH0_LBN 12 +#define FRF_AB_XX_COMMA_DET_CH0_WIDTH 1 +#define FRF_AB_XX_CGRP_ALIGN_CH3_LBN 11 +#define FRF_AB_XX_CGRP_ALIGN_CH3_WIDTH 1 +#define FRF_AB_XX_CGRP_ALIGN_CH2_LBN 10 +#define FRF_AB_XX_CGRP_ALIGN_CH2_WIDTH 1 +#define FRF_AB_XX_CGRP_ALIGN_CH1_LBN 9 +#define FRF_AB_XX_CGRP_ALIGN_CH1_WIDTH 1 +#define FRF_AB_XX_CGRP_ALIGN_CH0_LBN 8 +#define FRF_AB_XX_CGRP_ALIGN_CH0_WIDTH 1 +#define FRF_AB_XX_CHAR_ERR_CH3_LBN 7 +#define FRF_AB_XX_CHAR_ERR_CH3_WIDTH 1 +#define FRF_AB_XX_CHAR_ERR_CH2_LBN 6 +#define FRF_AB_XX_CHAR_ERR_CH2_WIDTH 1 +#define FRF_AB_XX_CHAR_ERR_CH1_LBN 5 +#define FRF_AB_XX_CHAR_ERR_CH1_WIDTH 1 +#define FRF_AB_XX_CHAR_ERR_CH0_LBN 4 +#define FRF_AB_XX_CHAR_ERR_CH0_WIDTH 1 +#define FRF_AB_XX_DISPERR_CH3_LBN 3 +#define FRF_AB_XX_DISPERR_CH3_WIDTH 1 +#define FRF_AB_XX_DISPERR_CH2_LBN 2 +#define FRF_AB_XX_DISPERR_CH2_WIDTH 1 +#define FRF_AB_XX_DISPERR_CH1_LBN 1 +#define FRF_AB_XX_DISPERR_CH1_WIDTH 1 +#define FRF_AB_XX_DISPERR_CH0_LBN 0 +#define FRF_AB_XX_DISPERR_CH0_WIDTH 1 + +/* RX_DESC_PTR_TBL_KER: Receive descriptor pointer table */ +#define FR_AA_RX_DESC_PTR_TBL_KER 0x00011800 +#define FR_AA_RX_DESC_PTR_TBL_KER_STEP 16 +#define FR_AA_RX_DESC_PTR_TBL_KER_ROWS 4 +/* RX_DESC_PTR_TBL: Receive descriptor pointer table */ +#define FR_BZ_RX_DESC_PTR_TBL 0x00f40000 +#define FR_BZ_RX_DESC_PTR_TBL_STEP 16 +#define FR_BB_RX_DESC_PTR_TBL_ROWS 4096 +#define FR_CZ_RX_DESC_PTR_TBL_ROWS 1024 +#define FRF_CZ_RX_HDR_SPLIT_LBN 90 +#define FRF_CZ_RX_HDR_SPLIT_WIDTH 1 +#define FRF_AA_RX_RESET_LBN 89 +#define FRF_AA_RX_RESET_WIDTH 1 +#define FRF_AZ_RX_ISCSI_DDIG_EN_LBN 88 +#define FRF_AZ_RX_ISCSI_DDIG_EN_WIDTH 1 +#define FRF_AZ_RX_ISCSI_HDIG_EN_LBN 87 +#define FRF_AZ_RX_ISCSI_HDIG_EN_WIDTH 1 +#define FRF_AZ_RX_DESC_PREF_ACT_LBN 86 +#define FRF_AZ_RX_DESC_PREF_ACT_WIDTH 1 +#define FRF_AZ_RX_DC_HW_RPTR_LBN 80 +#define FRF_AZ_RX_DC_HW_RPTR_WIDTH 6 +#define FRF_AZ_RX_DESCQ_HW_RPTR_LBN 68 +#define FRF_AZ_RX_DESCQ_HW_RPTR_WIDTH 12 +#define FRF_AZ_RX_DESCQ_SW_WPTR_LBN 56 +#define FRF_AZ_RX_DESCQ_SW_WPTR_WIDTH 12 +#define FRF_AZ_RX_DESCQ_BUF_BASE_ID_LBN 36 +#define FRF_AZ_RX_DESCQ_BUF_BASE_ID_WIDTH 20 +#define FRF_AZ_RX_DESCQ_EVQ_ID_LBN 24 +#define FRF_AZ_RX_DESCQ_EVQ_ID_WIDTH 12 +#define FRF_AZ_RX_DESCQ_OWNER_ID_LBN 10 +#define FRF_AZ_RX_DESCQ_OWNER_ID_WIDTH 14 +#define FRF_AZ_RX_DESCQ_LABEL_LBN 5 +#define FRF_AZ_RX_DESCQ_LABEL_WIDTH 5 +#define FRF_AZ_RX_DESCQ_SIZE_LBN 3 +#define FRF_AZ_RX_DESCQ_SIZE_WIDTH 2 +#define FFE_AZ_RX_DESCQ_SIZE_4K 3 +#define FFE_AZ_RX_DESCQ_SIZE_2K 2 +#define FFE_AZ_RX_DESCQ_SIZE_1K 1 +#define FFE_AZ_RX_DESCQ_SIZE_512 0 +#define FRF_AZ_RX_DESCQ_TYPE_LBN 2 +#define FRF_AZ_RX_DESCQ_TYPE_WIDTH 1 +#define FRF_AZ_RX_DESCQ_JUMBO_LBN 1 +#define FRF_AZ_RX_DESCQ_JUMBO_WIDTH 1 +#define FRF_AZ_RX_DESCQ_EN_LBN 0 +#define FRF_AZ_RX_DESCQ_EN_WIDTH 1 + +/* TX_DESC_PTR_TBL_KER: Transmit descriptor pointer */ +#define FR_AA_TX_DESC_PTR_TBL_KER 0x00011900 +#define FR_AA_TX_DESC_PTR_TBL_KER_STEP 16 +#define FR_AA_TX_DESC_PTR_TBL_KER_ROWS 8 +/* TX_DESC_PTR_TBL: Transmit descriptor pointer */ +#define FR_BZ_TX_DESC_PTR_TBL 0x00f50000 +#define FR_BZ_TX_DESC_PTR_TBL_STEP 16 +#define FR_BB_TX_DESC_PTR_TBL_ROWS 4096 +#define FR_CZ_TX_DESC_PTR_TBL_ROWS 1024 +#define FRF_CZ_TX_DPT_Q_MASK_WIDTH_LBN 94 +#define FRF_CZ_TX_DPT_Q_MASK_WIDTH_WIDTH 2 +#define FRF_CZ_TX_DPT_ETH_FILT_EN_LBN 93 +#define FRF_CZ_TX_DPT_ETH_FILT_EN_WIDTH 1 +#define FRF_CZ_TX_DPT_IP_FILT_EN_LBN 92 +#define FRF_CZ_TX_DPT_IP_FILT_EN_WIDTH 1 +#define FRF_BZ_TX_NON_IP_DROP_DIS_LBN 91 +#define FRF_BZ_TX_NON_IP_DROP_DIS_WIDTH 1 +#define FRF_BZ_TX_IP_CHKSM_DIS_LBN 90 +#define FRF_BZ_TX_IP_CHKSM_DIS_WIDTH 1 +#define FRF_BZ_TX_TCP_CHKSM_DIS_LBN 89 +#define FRF_BZ_TX_TCP_CHKSM_DIS_WIDTH 1 +#define FRF_AZ_TX_DESCQ_EN_LBN 88 +#define FRF_AZ_TX_DESCQ_EN_WIDTH 1 +#define FRF_AZ_TX_ISCSI_DDIG_EN_LBN 87 +#define FRF_AZ_TX_ISCSI_DDIG_EN_WIDTH 1 +#define FRF_AZ_TX_ISCSI_HDIG_EN_LBN 86 +#define FRF_AZ_TX_ISCSI_HDIG_EN_WIDTH 1 +#define FRF_AZ_TX_DC_HW_RPTR_LBN 80 +#define FRF_AZ_TX_DC_HW_RPTR_WIDTH 6 +#define FRF_AZ_TX_DESCQ_HW_RPTR_LBN 68 +#define FRF_AZ_TX_DESCQ_HW_RPTR_WIDTH 12 +#define FRF_AZ_TX_DESCQ_SW_WPTR_LBN 56 +#define FRF_AZ_TX_DESCQ_SW_WPTR_WIDTH 12 +#define FRF_AZ_TX_DESCQ_BUF_BASE_ID_LBN 36 +#define FRF_AZ_TX_DESCQ_BUF_BASE_ID_WIDTH 20 +#define FRF_AZ_TX_DESCQ_EVQ_ID_LBN 24 +#define FRF_AZ_TX_DESCQ_EVQ_ID_WIDTH 12 +#define FRF_AZ_TX_DESCQ_OWNER_ID_LBN 10 +#define FRF_AZ_TX_DESCQ_OWNER_ID_WIDTH 14 +#define FRF_AZ_TX_DESCQ_LABEL_LBN 5 +#define FRF_AZ_TX_DESCQ_LABEL_WIDTH 5 +#define FRF_AZ_TX_DESCQ_SIZE_LBN 3 +#define FRF_AZ_TX_DESCQ_SIZE_WIDTH 2 +#define FFE_AZ_TX_DESCQ_SIZE_4K 3 +#define FFE_AZ_TX_DESCQ_SIZE_2K 2 +#define FFE_AZ_TX_DESCQ_SIZE_1K 1 +#define FFE_AZ_TX_DESCQ_SIZE_512 0 +#define FRF_AZ_TX_DESCQ_TYPE_LBN 1 +#define FRF_AZ_TX_DESCQ_TYPE_WIDTH 2 +#define FRF_AZ_TX_DESCQ_FLUSH_LBN 0 +#define FRF_AZ_TX_DESCQ_FLUSH_WIDTH 1 + +/* EVQ_PTR_TBL_KER: Event queue pointer table */ +#define FR_AA_EVQ_PTR_TBL_KER 0x00011a00 +#define FR_AA_EVQ_PTR_TBL_KER_STEP 16 +#define FR_AA_EVQ_PTR_TBL_KER_ROWS 4 +/* EVQ_PTR_TBL: Event queue pointer table */ +#define FR_BZ_EVQ_PTR_TBL 0x00f60000 +#define FR_BZ_EVQ_PTR_TBL_STEP 16 +#define FR_CZ_EVQ_PTR_TBL_ROWS 1024 +#define FR_BB_EVQ_PTR_TBL_ROWS 4096 +#define FRF_BZ_EVQ_RPTR_IGN_LBN 40 +#define FRF_BZ_EVQ_RPTR_IGN_WIDTH 1 +#define FRF_AB_EVQ_WKUP_OR_INT_EN_LBN 39 +#define FRF_AB_EVQ_WKUP_OR_INT_EN_WIDTH 1 +#define FRF_CZ_EVQ_DOS_PROTECT_EN_LBN 39 +#define FRF_CZ_EVQ_DOS_PROTECT_EN_WIDTH 1 +#define FRF_AZ_EVQ_NXT_WPTR_LBN 24 +#define FRF_AZ_EVQ_NXT_WPTR_WIDTH 15 +#define FRF_AZ_EVQ_EN_LBN 23 +#define FRF_AZ_EVQ_EN_WIDTH 1 +#define FRF_AZ_EVQ_SIZE_LBN 20 +#define FRF_AZ_EVQ_SIZE_WIDTH 3 +#define FFE_AZ_EVQ_SIZE_32K 6 +#define FFE_AZ_EVQ_SIZE_16K 5 +#define FFE_AZ_EVQ_SIZE_8K 4 +#define FFE_AZ_EVQ_SIZE_4K 3 +#define FFE_AZ_EVQ_SIZE_2K 2 +#define FFE_AZ_EVQ_SIZE_1K 1 +#define FFE_AZ_EVQ_SIZE_512 0 +#define FRF_AZ_EVQ_BUF_BASE_ID_LBN 0 +#define FRF_AZ_EVQ_BUF_BASE_ID_WIDTH 20 + +/* BUF_HALF_TBL_KER: Buffer table in half buffer table mode direct access by driver */ +#define FR_AA_BUF_HALF_TBL_KER 0x00018000 +#define FR_AA_BUF_HALF_TBL_KER_STEP 8 +#define FR_AA_BUF_HALF_TBL_KER_ROWS 4096 +/* BUF_HALF_TBL: Buffer table in half buffer table mode direct access by driver */ +#define FR_BZ_BUF_HALF_TBL 0x00800000 +#define FR_BZ_BUF_HALF_TBL_STEP 8 +#define FR_CZ_BUF_HALF_TBL_ROWS 147456 +#define FR_BB_BUF_HALF_TBL_ROWS 524288 +#define FRF_AZ_BUF_ADR_HBUF_ODD_LBN 44 +#define FRF_AZ_BUF_ADR_HBUF_ODD_WIDTH 20 +#define FRF_AZ_BUF_OWNER_ID_HBUF_ODD_LBN 32 +#define FRF_AZ_BUF_OWNER_ID_HBUF_ODD_WIDTH 12 +#define FRF_AZ_BUF_ADR_HBUF_EVEN_LBN 12 +#define FRF_AZ_BUF_ADR_HBUF_EVEN_WIDTH 20 +#define FRF_AZ_BUF_OWNER_ID_HBUF_EVEN_LBN 0 +#define FRF_AZ_BUF_OWNER_ID_HBUF_EVEN_WIDTH 12 + +/* BUF_FULL_TBL_KER: Buffer table in full buffer table mode direct access by driver */ +#define FR_AA_BUF_FULL_TBL_KER 0x00018000 +#define FR_AA_BUF_FULL_TBL_KER_STEP 8 +#define FR_AA_BUF_FULL_TBL_KER_ROWS 4096 +/* BUF_FULL_TBL: Buffer table in full buffer table mode direct access by driver */ +#define FR_BZ_BUF_FULL_TBL 0x00800000 +#define FR_BZ_BUF_FULL_TBL_STEP 8 +#define FR_CZ_BUF_FULL_TBL_ROWS 147456 +#define FR_BB_BUF_FULL_TBL_ROWS 917504 +#define FRF_AZ_BUF_FULL_UNUSED_LBN 51 +#define FRF_AZ_BUF_FULL_UNUSED_WIDTH 13 +#define FRF_AZ_IP_DAT_BUF_SIZE_LBN 50 +#define FRF_AZ_IP_DAT_BUF_SIZE_WIDTH 1 +#define FRF_AZ_BUF_ADR_REGION_LBN 48 +#define FRF_AZ_BUF_ADR_REGION_WIDTH 2 +#define FFE_AZ_BUF_ADR_REGN3 3 +#define FFE_AZ_BUF_ADR_REGN2 2 +#define FFE_AZ_BUF_ADR_REGN1 1 +#define FFE_AZ_BUF_ADR_REGN0 0 +#define FRF_AZ_BUF_ADR_FBUF_LBN 14 +#define FRF_AZ_BUF_ADR_FBUF_WIDTH 34 +#define FRF_AZ_BUF_OWNER_ID_FBUF_LBN 0 +#define FRF_AZ_BUF_OWNER_ID_FBUF_WIDTH 14 + +/* RX_FILTER_TBL0: TCP/IPv4 Receive filter table */ +#define FR_BZ_RX_FILTER_TBL0 0x00f00000 +#define FR_BZ_RX_FILTER_TBL0_STEP 32 +#define FR_BZ_RX_FILTER_TBL0_ROWS 8192 +/* RX_FILTER_TBL1: TCP/IPv4 Receive filter table */ +#define FR_BB_RX_FILTER_TBL1 0x00f00010 +#define FR_BB_RX_FILTER_TBL1_STEP 32 +#define FR_BB_RX_FILTER_TBL1_ROWS 8192 +#define FRF_BZ_RSS_EN_LBN 110 +#define FRF_BZ_RSS_EN_WIDTH 1 +#define FRF_BZ_SCATTER_EN_LBN 109 +#define FRF_BZ_SCATTER_EN_WIDTH 1 +#define FRF_BZ_TCP_UDP_LBN 108 +#define FRF_BZ_TCP_UDP_WIDTH 1 +#define FRF_BZ_RXQ_ID_LBN 96 +#define FRF_BZ_RXQ_ID_WIDTH 12 +#define FRF_BZ_DEST_IP_LBN 64 +#define FRF_BZ_DEST_IP_WIDTH 32 +#define FRF_BZ_DEST_PORT_TCP_LBN 48 +#define FRF_BZ_DEST_PORT_TCP_WIDTH 16 +#define FRF_BZ_SRC_IP_LBN 16 +#define FRF_BZ_SRC_IP_WIDTH 32 +#define FRF_BZ_SRC_TCP_DEST_UDP_LBN 0 +#define FRF_BZ_SRC_TCP_DEST_UDP_WIDTH 16 + +/* RX_MAC_FILTER_TBL0: Receive Ethernet filter table */ +#define FR_CZ_RX_MAC_FILTER_TBL0 0x00f00010 +#define FR_CZ_RX_MAC_FILTER_TBL0_STEP 32 +#define FR_CZ_RX_MAC_FILTER_TBL0_ROWS 512 +#define FRF_CZ_RMFT_RSS_EN_LBN 75 +#define FRF_CZ_RMFT_RSS_EN_WIDTH 1 +#define FRF_CZ_RMFT_SCATTER_EN_LBN 74 +#define FRF_CZ_RMFT_SCATTER_EN_WIDTH 1 +#define FRF_CZ_RMFT_IP_OVERRIDE_LBN 73 +#define FRF_CZ_RMFT_IP_OVERRIDE_WIDTH 1 +#define FRF_CZ_RMFT_RXQ_ID_LBN 61 +#define FRF_CZ_RMFT_RXQ_ID_WIDTH 12 +#define FRF_CZ_RMFT_WILDCARD_MATCH_LBN 60 +#define FRF_CZ_RMFT_WILDCARD_MATCH_WIDTH 1 +#define FRF_CZ_RMFT_DEST_MAC_LBN 16 +#define FRF_CZ_RMFT_DEST_MAC_WIDTH 44 +#define FRF_CZ_RMFT_VLAN_ID_LBN 0 +#define FRF_CZ_RMFT_VLAN_ID_WIDTH 12 + +/* TIMER_TBL: Timer table */ +#define FR_BZ_TIMER_TBL 0x00f70000 +#define FR_BZ_TIMER_TBL_STEP 16 +#define FR_CZ_TIMER_TBL_ROWS 1024 +#define FR_BB_TIMER_TBL_ROWS 4096 +#define FRF_CZ_TIMER_Q_EN_LBN 33 +#define FRF_CZ_TIMER_Q_EN_WIDTH 1 +#define FRF_CZ_INT_ARMD_LBN 32 +#define FRF_CZ_INT_ARMD_WIDTH 1 +#define FRF_CZ_INT_PEND_LBN 31 +#define FRF_CZ_INT_PEND_WIDTH 1 +#define FRF_CZ_HOST_NOTIFY_MODE_LBN 30 +#define FRF_CZ_HOST_NOTIFY_MODE_WIDTH 1 +#define FRF_CZ_RELOAD_TIMER_VAL_LBN 16 +#define FRF_CZ_RELOAD_TIMER_VAL_WIDTH 14 +#define FRF_CZ_TIMER_MODE_LBN 14 +#define FRF_CZ_TIMER_MODE_WIDTH 2 +#define FFE_CZ_TIMER_MODE_INT_HLDOFF 3 +#define FFE_CZ_TIMER_MODE_TRIG_START 2 +#define FFE_CZ_TIMER_MODE_IMMED_START 1 +#define FFE_CZ_TIMER_MODE_DIS 0 +#define FRF_BB_TIMER_MODE_LBN 12 +#define FRF_BB_TIMER_MODE_WIDTH 2 +#define FFE_BB_TIMER_MODE_INT_HLDOFF 2 +#define FFE_BB_TIMER_MODE_TRIG_START 2 +#define FFE_BB_TIMER_MODE_IMMED_START 1 +#define FFE_BB_TIMER_MODE_DIS 0 +#define FRF_CZ_TIMER_VAL_LBN 0 +#define FRF_CZ_TIMER_VAL_WIDTH 14 +#define FRF_BB_TIMER_VAL_LBN 0 +#define FRF_BB_TIMER_VAL_WIDTH 12 + +/* TX_PACE_TBL: Transmit pacing table */ +#define FR_BZ_TX_PACE_TBL 0x00f80000 +#define FR_BZ_TX_PACE_TBL_STEP 16 +#define FR_CZ_TX_PACE_TBL_ROWS 1024 +#define FR_BB_TX_PACE_TBL_ROWS 4096 +#define FRF_BZ_TX_PACE_LBN 0 +#define FRF_BZ_TX_PACE_WIDTH 5 + +/* RX_INDIRECTION_TBL: RX Indirection Table */ +#define FR_BZ_RX_INDIRECTION_TBL 0x00fb0000 +#define FR_BZ_RX_INDIRECTION_TBL_STEP 16 +#define FR_BZ_RX_INDIRECTION_TBL_ROWS 128 +#define FRF_BZ_IT_QUEUE_LBN 0 +#define FRF_BZ_IT_QUEUE_WIDTH 6 + +/* TX_FILTER_TBL0: TCP/IPv4 Transmit filter table */ +#define FR_CZ_TX_FILTER_TBL0 0x00fc0000 +#define FR_CZ_TX_FILTER_TBL0_STEP 16 +#define FR_CZ_TX_FILTER_TBL0_ROWS 8192 +#define FRF_CZ_TIFT_TCP_UDP_LBN 108 +#define FRF_CZ_TIFT_TCP_UDP_WIDTH 1 +#define FRF_CZ_TIFT_TXQ_ID_LBN 96 +#define FRF_CZ_TIFT_TXQ_ID_WIDTH 12 +#define FRF_CZ_TIFT_DEST_IP_LBN 64 +#define FRF_CZ_TIFT_DEST_IP_WIDTH 32 +#define FRF_CZ_TIFT_DEST_PORT_TCP_LBN 48 +#define FRF_CZ_TIFT_DEST_PORT_TCP_WIDTH 16 +#define FRF_CZ_TIFT_SRC_IP_LBN 16 +#define FRF_CZ_TIFT_SRC_IP_WIDTH 32 +#define FRF_CZ_TIFT_SRC_TCP_DEST_UDP_LBN 0 +#define FRF_CZ_TIFT_SRC_TCP_DEST_UDP_WIDTH 16 + +/* TX_MAC_FILTER_TBL0: Transmit Ethernet filter table */ +#define FR_CZ_TX_MAC_FILTER_TBL0 0x00fe0000 +#define FR_CZ_TX_MAC_FILTER_TBL0_STEP 16 +#define FR_CZ_TX_MAC_FILTER_TBL0_ROWS 512 +#define FRF_CZ_TMFT_TXQ_ID_LBN 61 +#define FRF_CZ_TMFT_TXQ_ID_WIDTH 12 +#define FRF_CZ_TMFT_WILDCARD_MATCH_LBN 60 +#define FRF_CZ_TMFT_WILDCARD_MATCH_WIDTH 1 +#define FRF_CZ_TMFT_SRC_MAC_LBN 16 +#define FRF_CZ_TMFT_SRC_MAC_WIDTH 44 +#define FRF_CZ_TMFT_VLAN_ID_LBN 0 +#define FRF_CZ_TMFT_VLAN_ID_WIDTH 12 + +/* MC_TREG_SMEM: MC Shared Memory */ +#define FR_CZ_MC_TREG_SMEM 0x00ff0000 +#define FR_CZ_MC_TREG_SMEM_STEP 4 +#define FR_CZ_MC_TREG_SMEM_ROWS 512 +#define FRF_CZ_MC_TREG_SMEM_ROW_LBN 0 +#define FRF_CZ_MC_TREG_SMEM_ROW_WIDTH 32 + +/* MSIX_VECTOR_TABLE: MSIX Vector Table */ +#define FR_BB_MSIX_VECTOR_TABLE 0x00ff0000 +#define FR_BZ_MSIX_VECTOR_TABLE_STEP 16 +#define FR_BB_MSIX_VECTOR_TABLE_ROWS 64 +/* MSIX_VECTOR_TABLE: MSIX Vector Table */ +#define FR_CZ_MSIX_VECTOR_TABLE 0x00000000 +/* FR_BZ_MSIX_VECTOR_TABLE_STEP 16 */ +#define FR_CZ_MSIX_VECTOR_TABLE_ROWS 1024 +#define FRF_BZ_MSIX_VECTOR_RESERVED_LBN 97 +#define FRF_BZ_MSIX_VECTOR_RESERVED_WIDTH 31 +#define FRF_BZ_MSIX_VECTOR_MASK_LBN 96 +#define FRF_BZ_MSIX_VECTOR_MASK_WIDTH 1 +#define FRF_BZ_MSIX_MESSAGE_DATA_LBN 64 +#define FRF_BZ_MSIX_MESSAGE_DATA_WIDTH 32 +#define FRF_BZ_MSIX_MESSAGE_ADDRESS_HI_LBN 32 +#define FRF_BZ_MSIX_MESSAGE_ADDRESS_HI_WIDTH 32 +#define FRF_BZ_MSIX_MESSAGE_ADDRESS_LO_LBN 0 +#define FRF_BZ_MSIX_MESSAGE_ADDRESS_LO_WIDTH 32 + +/* MSIX_PBA_TABLE: MSIX Pending Bit Array */ +#define FR_BB_MSIX_PBA_TABLE 0x00ff2000 +#define FR_BZ_MSIX_PBA_TABLE_STEP 4 +#define FR_BB_MSIX_PBA_TABLE_ROWS 2 +/* MSIX_PBA_TABLE: MSIX Pending Bit Array */ +#define FR_CZ_MSIX_PBA_TABLE 0x00008000 +/* FR_BZ_MSIX_PBA_TABLE_STEP 4 */ +#define FR_CZ_MSIX_PBA_TABLE_ROWS 32 +#define FRF_BZ_MSIX_PBA_PEND_DWORD_LBN 0 +#define FRF_BZ_MSIX_PBA_PEND_DWORD_WIDTH 32 + +/* SRM_DBG_REG: SRAM debug access */ +#define FR_BZ_SRM_DBG 0x03000000 +#define FR_BZ_SRM_DBG_STEP 8 +#define FR_CZ_SRM_DBG_ROWS 262144 +#define FR_BB_SRM_DBG_ROWS 2097152 +#define FRF_BZ_SRM_DBG_LBN 0 +#define FRF_BZ_SRM_DBG_WIDTH 64 + +/* TB_MSIX_PBA_TABLE: MSIX Pending Bit Array */ +#define FR_CZ_TB_MSIX_PBA_TABLE 0x00008000 +#define FR_CZ_TB_MSIX_PBA_TABLE_STEP 4 +#define FR_CZ_TB_MSIX_PBA_TABLE_ROWS 1024 +#define FRF_CZ_TB_MSIX_PBA_PEND_DWORD_LBN 0 +#define FRF_CZ_TB_MSIX_PBA_PEND_DWORD_WIDTH 32 + +/* DRIVER_EV */ +#define FSF_AZ_DRIVER_EV_SUBCODE_LBN 56 +#define FSF_AZ_DRIVER_EV_SUBCODE_WIDTH 4 +#define FSE_BZ_TX_DSC_ERROR_EV 15 +#define FSE_BZ_RX_DSC_ERROR_EV 14 +#define FSE_AA_RX_RECOVER_EV 11 +#define FSE_AZ_TIMER_EV 10 +#define FSE_AZ_TX_PKT_NON_TCP_UDP 9 +#define FSE_AZ_WAKE_UP_EV 6 +#define FSE_AZ_SRM_UPD_DONE_EV 5 +#define FSE_AB_EVQ_NOT_EN_EV 3 +#define FSE_AZ_EVQ_INIT_DONE_EV 2 +#define FSE_AZ_RX_DESCQ_FLS_DONE_EV 1 +#define FSE_AZ_TX_DESCQ_FLS_DONE_EV 0 +#define FSF_AZ_DRIVER_EV_SUBDATA_LBN 0 +#define FSF_AZ_DRIVER_EV_SUBDATA_WIDTH 14 + +/* EVENT_ENTRY */ +#define FSF_AZ_EV_CODE_LBN 60 +#define FSF_AZ_EV_CODE_WIDTH 4 +#define FSE_CZ_EV_CODE_MCDI_EV 12 +#define FSE_CZ_EV_CODE_USER_EV 8 +#define FSE_AZ_EV_CODE_DRV_GEN_EV 7 +#define FSE_AZ_EV_CODE_GLOBAL_EV 6 +#define FSE_AZ_EV_CODE_DRIVER_EV 5 +#define FSE_AZ_EV_CODE_TX_EV 2 +#define FSE_AZ_EV_CODE_RX_EV 0 +#define FSF_AZ_EV_DATA_LBN 0 +#define FSF_AZ_EV_DATA_WIDTH 60 + +/* GLOBAL_EV */ +#define FSF_BB_GLB_EV_RX_RECOVERY_LBN 12 +#define FSF_BB_GLB_EV_RX_RECOVERY_WIDTH 1 +#define FSF_AA_GLB_EV_RX_RECOVERY_LBN 11 +#define FSF_AA_GLB_EV_RX_RECOVERY_WIDTH 1 +#define FSF_BB_GLB_EV_XG_MGT_INTR_LBN 11 +#define FSF_BB_GLB_EV_XG_MGT_INTR_WIDTH 1 +#define FSF_AB_GLB_EV_XFP_PHY0_INTR_LBN 10 +#define FSF_AB_GLB_EV_XFP_PHY0_INTR_WIDTH 1 +#define FSF_AB_GLB_EV_XG_PHY0_INTR_LBN 9 +#define FSF_AB_GLB_EV_XG_PHY0_INTR_WIDTH 1 +#define FSF_AB_GLB_EV_G_PHY0_INTR_LBN 7 +#define FSF_AB_GLB_EV_G_PHY0_INTR_WIDTH 1 + +/* LEGACY_INT_VEC */ +#define FSF_AZ_NET_IVEC_FATAL_INT_LBN 64 +#define FSF_AZ_NET_IVEC_FATAL_INT_WIDTH 1 +#define FSF_AZ_NET_IVEC_INT_Q_LBN 40 +#define FSF_AZ_NET_IVEC_INT_Q_WIDTH 4 +#define FSF_AZ_NET_IVEC_INT_FLAG_LBN 32 +#define FSF_AZ_NET_IVEC_INT_FLAG_WIDTH 1 +#define FSF_AZ_NET_IVEC_EVQ_FIFO_HF_LBN 1 +#define FSF_AZ_NET_IVEC_EVQ_FIFO_HF_WIDTH 1 +#define FSF_AZ_NET_IVEC_EVQ_FIFO_AF_LBN 0 +#define FSF_AZ_NET_IVEC_EVQ_FIFO_AF_WIDTH 1 + +/* MC_XGMAC_FLTR_RULE_DEF */ +#define FSF_CZ_MC_XFRC_MODE_LBN 416 +#define FSF_CZ_MC_XFRC_MODE_WIDTH 1 +#define FSE_CZ_MC_XFRC_MODE_LAYERED 1 +#define FSE_CZ_MC_XFRC_MODE_SIMPLE 0 +#define FSF_CZ_MC_XFRC_HASH_LBN 384 +#define FSF_CZ_MC_XFRC_HASH_WIDTH 32 +#define FSF_CZ_MC_XFRC_LAYER4_BYTE_MASK_LBN 256 +#define FSF_CZ_MC_XFRC_LAYER4_BYTE_MASK_WIDTH 128 +#define FSF_CZ_MC_XFRC_LAYER3_BYTE_MASK_LBN 128 +#define FSF_CZ_MC_XFRC_LAYER3_BYTE_MASK_WIDTH 128 +#define FSF_CZ_MC_XFRC_LAYER2_OR_SIMPLE_BYTE_MASK_LBN 0 +#define FSF_CZ_MC_XFRC_LAYER2_OR_SIMPLE_BYTE_MASK_WIDTH 128 + +/* RX_EV */ +#define FSF_CZ_RX_EV_PKT_NOT_PARSED_LBN 58 +#define FSF_CZ_RX_EV_PKT_NOT_PARSED_WIDTH 1 +#define FSF_CZ_RX_EV_IPV6_PKT_LBN 57 +#define FSF_CZ_RX_EV_IPV6_PKT_WIDTH 1 +#define FSF_AZ_RX_EV_PKT_OK_LBN 56 +#define FSF_AZ_RX_EV_PKT_OK_WIDTH 1 +#define FSF_AZ_RX_EV_PAUSE_FRM_ERR_LBN 55 +#define FSF_AZ_RX_EV_PAUSE_FRM_ERR_WIDTH 1 +#define FSF_AZ_RX_EV_BUF_OWNER_ID_ERR_LBN 54 +#define FSF_AZ_RX_EV_BUF_OWNER_ID_ERR_WIDTH 1 +#define FSF_AZ_RX_EV_IP_FRAG_ERR_LBN 53 +#define FSF_AZ_RX_EV_IP_FRAG_ERR_WIDTH 1 +#define FSF_AZ_RX_EV_IP_HDR_CHKSUM_ERR_LBN 52 +#define FSF_AZ_RX_EV_IP_HDR_CHKSUM_ERR_WIDTH 1 +#define FSF_AZ_RX_EV_TCP_UDP_CHKSUM_ERR_LBN 51 +#define FSF_AZ_RX_EV_TCP_UDP_CHKSUM_ERR_WIDTH 1 +#define FSF_AZ_RX_EV_ETH_CRC_ERR_LBN 50 +#define FSF_AZ_RX_EV_ETH_CRC_ERR_WIDTH 1 +#define FSF_AZ_RX_EV_FRM_TRUNC_LBN 49 +#define FSF_AZ_RX_EV_FRM_TRUNC_WIDTH 1 +#define FSF_AA_RX_EV_DRIB_NIB_LBN 49 +#define FSF_AA_RX_EV_DRIB_NIB_WIDTH 1 +#define FSF_AZ_RX_EV_TOBE_DISC_LBN 47 +#define FSF_AZ_RX_EV_TOBE_DISC_WIDTH 1 +#define FSF_AZ_RX_EV_PKT_TYPE_LBN 44 +#define FSF_AZ_RX_EV_PKT_TYPE_WIDTH 3 +#define FSE_AZ_RX_EV_PKT_TYPE_VLAN_JUMBO 5 +#define FSE_AZ_RX_EV_PKT_TYPE_VLAN_LLC 4 +#define FSE_AZ_RX_EV_PKT_TYPE_VLAN 3 +#define FSE_AZ_RX_EV_PKT_TYPE_JUMBO 2 +#define FSE_AZ_RX_EV_PKT_TYPE_LLC 1 +#define FSE_AZ_RX_EV_PKT_TYPE_ETH 0 +#define FSF_AZ_RX_EV_HDR_TYPE_LBN 42 +#define FSF_AZ_RX_EV_HDR_TYPE_WIDTH 2 +#define FSE_AZ_RX_EV_HDR_TYPE_OTHER 3 +#define FSE_AB_RX_EV_HDR_TYPE_IPV4_OTHER 2 +#define FSE_CZ_RX_EV_HDR_TYPE_IPV4V6_OTHER 2 +#define FSE_AB_RX_EV_HDR_TYPE_IPV4_UDP 1 +#define FSE_CZ_RX_EV_HDR_TYPE_IPV4V6_UDP 1 +#define FSE_AB_RX_EV_HDR_TYPE_IPV4_TCP 0 +#define FSE_CZ_RX_EV_HDR_TYPE_IPV4V6_TCP 0 +#define FSF_AZ_RX_EV_DESC_Q_EMPTY_LBN 41 +#define FSF_AZ_RX_EV_DESC_Q_EMPTY_WIDTH 1 +#define FSF_AZ_RX_EV_MCAST_HASH_MATCH_LBN 40 +#define FSF_AZ_RX_EV_MCAST_HASH_MATCH_WIDTH 1 +#define FSF_AZ_RX_EV_MCAST_PKT_LBN 39 +#define FSF_AZ_RX_EV_MCAST_PKT_WIDTH 1 +#define FSF_AA_RX_EV_RECOVERY_FLAG_LBN 37 +#define FSF_AA_RX_EV_RECOVERY_FLAG_WIDTH 1 +#define FSF_AZ_RX_EV_Q_LABEL_LBN 32 +#define FSF_AZ_RX_EV_Q_LABEL_WIDTH 5 +#define FSF_AZ_RX_EV_JUMBO_CONT_LBN 31 +#define FSF_AZ_RX_EV_JUMBO_CONT_WIDTH 1 +#define FSF_AZ_RX_EV_PORT_LBN 30 +#define FSF_AZ_RX_EV_PORT_WIDTH 1 +#define FSF_AZ_RX_EV_BYTE_CNT_LBN 16 +#define FSF_AZ_RX_EV_BYTE_CNT_WIDTH 14 +#define FSF_AZ_RX_EV_SOP_LBN 15 +#define FSF_AZ_RX_EV_SOP_WIDTH 1 +#define FSF_AZ_RX_EV_ISCSI_PKT_OK_LBN 14 +#define FSF_AZ_RX_EV_ISCSI_PKT_OK_WIDTH 1 +#define FSF_AZ_RX_EV_ISCSI_DDIG_ERR_LBN 13 +#define FSF_AZ_RX_EV_ISCSI_DDIG_ERR_WIDTH 1 +#define FSF_AZ_RX_EV_ISCSI_HDIG_ERR_LBN 12 +#define FSF_AZ_RX_EV_ISCSI_HDIG_ERR_WIDTH 1 +#define FSF_AZ_RX_EV_DESC_PTR_LBN 0 +#define FSF_AZ_RX_EV_DESC_PTR_WIDTH 12 + +/* RX_KER_DESC */ +#define FSF_AZ_RX_KER_BUF_SIZE_LBN 48 +#define FSF_AZ_RX_KER_BUF_SIZE_WIDTH 14 +#define FSF_AZ_RX_KER_BUF_REGION_LBN 46 +#define FSF_AZ_RX_KER_BUF_REGION_WIDTH 2 +#define FSF_AZ_RX_KER_BUF_ADDR_LBN 0 +#define FSF_AZ_RX_KER_BUF_ADDR_WIDTH 46 + +/* RX_USER_DESC */ +#define FSF_AZ_RX_USER_2BYTE_OFFSET_LBN 20 +#define FSF_AZ_RX_USER_2BYTE_OFFSET_WIDTH 12 +#define FSF_AZ_RX_USER_BUF_ID_LBN 0 +#define FSF_AZ_RX_USER_BUF_ID_WIDTH 20 + +/* TX_EV */ +#define FSF_AZ_TX_EV_PKT_ERR_LBN 38 +#define FSF_AZ_TX_EV_PKT_ERR_WIDTH 1 +#define FSF_AZ_TX_EV_PKT_TOO_BIG_LBN 37 +#define FSF_AZ_TX_EV_PKT_TOO_BIG_WIDTH 1 +#define FSF_AZ_TX_EV_Q_LABEL_LBN 32 +#define FSF_AZ_TX_EV_Q_LABEL_WIDTH 5 +#define FSF_AZ_TX_EV_PORT_LBN 16 +#define FSF_AZ_TX_EV_PORT_WIDTH 1 +#define FSF_AZ_TX_EV_WQ_FF_FULL_LBN 15 +#define FSF_AZ_TX_EV_WQ_FF_FULL_WIDTH 1 +#define FSF_AZ_TX_EV_BUF_OWNER_ID_ERR_LBN 14 +#define FSF_AZ_TX_EV_BUF_OWNER_ID_ERR_WIDTH 1 +#define FSF_AZ_TX_EV_COMP_LBN 12 +#define FSF_AZ_TX_EV_COMP_WIDTH 1 +#define FSF_AZ_TX_EV_DESC_PTR_LBN 0 +#define FSF_AZ_TX_EV_DESC_PTR_WIDTH 12 + +/* TX_KER_DESC */ +#define FSF_AZ_TX_KER_CONT_LBN 62 +#define FSF_AZ_TX_KER_CONT_WIDTH 1 +#define FSF_AZ_TX_KER_BYTE_COUNT_LBN 48 +#define FSF_AZ_TX_KER_BYTE_COUNT_WIDTH 14 +#define FSF_AZ_TX_KER_BUF_REGION_LBN 46 +#define FSF_AZ_TX_KER_BUF_REGION_WIDTH 2 +#define FSF_AZ_TX_KER_BUF_ADDR_LBN 0 +#define FSF_AZ_TX_KER_BUF_ADDR_WIDTH 46 + +/* TX_USER_DESC */ +#define FSF_AZ_TX_USER_SW_EV_EN_LBN 48 +#define FSF_AZ_TX_USER_SW_EV_EN_WIDTH 1 +#define FSF_AZ_TX_USER_CONT_LBN 46 +#define FSF_AZ_TX_USER_CONT_WIDTH 1 +#define FSF_AZ_TX_USER_BYTE_CNT_LBN 33 +#define FSF_AZ_TX_USER_BYTE_CNT_WIDTH 13 +#define FSF_AZ_TX_USER_BUF_ID_LBN 13 +#define FSF_AZ_TX_USER_BUF_ID_WIDTH 20 +#define FSF_AZ_TX_USER_BYTE_OFS_LBN 0 +#define FSF_AZ_TX_USER_BYTE_OFS_WIDTH 13 + +/* USER_EV */ +#define FSF_CZ_USER_QID_LBN 32 +#define FSF_CZ_USER_QID_WIDTH 10 +#define FSF_CZ_USER_EV_REG_VALUE_LBN 0 +#define FSF_CZ_USER_EV_REG_VALUE_WIDTH 32 + +/************************************************************************** + * + * Falcon B0 PCIe core indirect registers + * + ************************************************************************** + */ + +#define FPCR_BB_PCIE_DEVICE_CTRL_STAT 0x68 + +#define FPCR_BB_PCIE_LINK_CTRL_STAT 0x70 + +#define FPCR_BB_ACK_RPL_TIMER 0x700 +#define FPCRF_BB_ACK_TL_LBN 0 +#define FPCRF_BB_ACK_TL_WIDTH 16 +#define FPCRF_BB_RPL_TL_LBN 16 +#define FPCRF_BB_RPL_TL_WIDTH 16 + +#define FPCR_BB_ACK_FREQ 0x70C +#define FPCRF_BB_ACK_FREQ_LBN 0 +#define FPCRF_BB_ACK_FREQ_WIDTH 7 + +/************************************************************************** + * + * Pseudo-registers and fields + * + ************************************************************************** + */ + +/* Interrupt acknowledge work-around register (A0/A1 only) */ +#define FR_AA_WORK_AROUND_BROKEN_PCI_READS 0x0070 + +/* EE_SPI_HCMD_REG: SPI host command register */ +/* Values for the EE_SPI_HCMD_SF_SEL register field */ +#define FFE_AB_SPI_DEVICE_EEPROM 0 +#define FFE_AB_SPI_DEVICE_FLASH 1 + +/* NIC_STAT_REG: NIC status register */ +#define FRF_AB_STRAP_10G_LBN 2 +#define FRF_AB_STRAP_10G_WIDTH 1 +#define FRF_AA_STRAP_PCIE_LBN 0 +#define FRF_AA_STRAP_PCIE_WIDTH 1 + +/* FATAL_INTR_REG_KER: Fatal interrupt register for Kernel */ +#define FRF_AZ_FATAL_INTR_LBN 0 +#define FRF_AZ_FATAL_INTR_WIDTH 12 + +/* SRM_CFG_REG: SRAM configuration register */ +/* We treat the number of SRAM banks and bank size as a single field */ +#define FRF_AZ_SRM_NB_SZ_LBN FRF_AZ_SRM_BANK_SIZE_LBN +#define FRF_AZ_SRM_NB_SZ_WIDTH \ + (FRF_AZ_SRM_BANK_SIZE_WIDTH + FRF_AZ_SRM_NUM_BANK_WIDTH) +#define FFE_AB_SRM_NB1_SZ2M 0 +#define FFE_AB_SRM_NB1_SZ4M 1 +#define FFE_AB_SRM_NB1_SZ8M 2 +#define FFE_AB_SRM_NB_SZ_DEF 3 +#define FFE_AB_SRM_NB2_SZ4M 4 +#define FFE_AB_SRM_NB2_SZ8M 5 +#define FFE_AB_SRM_NB2_SZ16M 6 +#define FFE_AB_SRM_NB_SZ_RES 7 + +/* RX_DESC_UPD_REGP0: Receive descriptor update register. */ +/* We write just the last dword of these registers */ +#define FR_AZ_RX_DESC_UPD_DWORD_P0 \ + (BUILD_BUG_ON_ZERO(FR_AA_RX_DESC_UPD_KER != FR_BZ_RX_DESC_UPD_P0) + \ + FR_BZ_RX_DESC_UPD_P0 + 3 * 4) +#define FRF_AZ_RX_DESC_WPTR_DWORD_LBN (FRF_AZ_RX_DESC_WPTR_LBN - 3 * 32) +#define FRF_AZ_RX_DESC_WPTR_DWORD_WIDTH FRF_AZ_RX_DESC_WPTR_WIDTH + +/* TX_DESC_UPD_REGP0: Transmit descriptor update register. */ +#define FR_AZ_TX_DESC_UPD_DWORD_P0 \ + (BUILD_BUG_ON_ZERO(FR_AA_TX_DESC_UPD_KER != FR_BZ_TX_DESC_UPD_P0) + \ + FR_BZ_TX_DESC_UPD_P0 + 3 * 4) +#define FRF_AZ_TX_DESC_WPTR_DWORD_LBN (FRF_AZ_TX_DESC_WPTR_LBN - 3 * 32) +#define FRF_AZ_TX_DESC_WPTR_DWORD_WIDTH FRF_AZ_TX_DESC_WPTR_WIDTH + +/* GMF_CFG4_REG: GMAC FIFO configuration register 4 */ +#define FRF_AB_GMF_HSTFLTRFRM_PAUSE_LBN 12 +#define FRF_AB_GMF_HSTFLTRFRM_PAUSE_WIDTH 1 + +/* GMF_CFG5_REG: GMAC FIFO configuration register 5 */ +#define FRF_AB_GMF_HSTFLTRFRMDC_PAUSE_LBN 12 +#define FRF_AB_GMF_HSTFLTRFRMDC_PAUSE_WIDTH 1 + +/* XM_TX_PARAM_REG: XGMAC transmit parameter register */ +#define FRF_AB_XM_MAX_TX_FRM_SIZE_LBN FRF_AB_XM_MAX_TX_FRM_SIZE_LO_LBN +#define FRF_AB_XM_MAX_TX_FRM_SIZE_WIDTH (FRF_AB_XM_MAX_TX_FRM_SIZE_HI_WIDTH + \ + FRF_AB_XM_MAX_TX_FRM_SIZE_LO_WIDTH) + +/* XM_RX_PARAM_REG: XGMAC receive parameter register */ +#define FRF_AB_XM_MAX_RX_FRM_SIZE_LBN FRF_AB_XM_MAX_RX_FRM_SIZE_LO_LBN +#define FRF_AB_XM_MAX_RX_FRM_SIZE_WIDTH (FRF_AB_XM_MAX_RX_FRM_SIZE_HI_WIDTH + \ + FRF_AB_XM_MAX_RX_FRM_SIZE_LO_WIDTH) + +/* XX_TXDRV_CTL_REG: XAUI SerDes transmit drive control register */ +/* Default values */ +#define FFE_AB_XX_TXDRV_DEQ_DEF 0xe /* deq=.6 */ +#define FFE_AB_XX_TXDRV_DTX_DEF 0x5 /* 1.25 */ +#define FFE_AB_XX_SD_CTL_DRV_DEF 0 /* 20mA */ + +/* XX_CORE_STAT_REG: XAUI XGXS core status register */ +/* XGXS all-lanes status fields */ +#define FRF_AB_XX_SYNC_STAT_LBN FRF_AB_XX_SYNC_STAT0_LBN +#define FRF_AB_XX_SYNC_STAT_WIDTH 4 +#define FRF_AB_XX_COMMA_DET_LBN FRF_AB_XX_COMMA_DET_CH0_LBN +#define FRF_AB_XX_COMMA_DET_WIDTH 4 +#define FRF_AB_XX_CHAR_ERR_LBN FRF_AB_XX_CHAR_ERR_CH0_LBN +#define FRF_AB_XX_CHAR_ERR_WIDTH 4 +#define FRF_AB_XX_DISPERR_LBN FRF_AB_XX_DISPERR_CH0_LBN +#define FRF_AB_XX_DISPERR_WIDTH 4 +#define FFE_AB_XX_STAT_ALL_LANES 0xf +#define FRF_AB_XX_FORCE_SIG_LBN FRF_AB_XX_FORCE_SIG0_VAL_LBN +#define FRF_AB_XX_FORCE_SIG_WIDTH 8 +#define FFE_AB_XX_FORCE_SIG_ALL_LANES 0xff + +/* DRIVER_EV */ +/* Sub-fields of an RX flush completion event */ +#define FSF_AZ_DRIVER_EV_RX_FLUSH_FAIL_LBN 12 +#define FSF_AZ_DRIVER_EV_RX_FLUSH_FAIL_WIDTH 1 +#define FSF_AZ_DRIVER_EV_RX_DESCQ_ID_LBN 0 +#define FSF_AZ_DRIVER_EV_RX_DESCQ_ID_WIDTH 12 + +/* EVENT_ENTRY */ +/* Magic number field for event test */ +#define FSF_AZ_DRV_GEN_EV_MAGIC_LBN 0 +#define FSF_AZ_DRV_GEN_EV_MAGIC_WIDTH 32 + +/************************************************************************** + * + * Falcon MAC stats + * + ************************************************************************** + * + */ + +#define GRxGoodOct_offset 0x0 +#define GRxGoodOct_WIDTH 48 +#define GRxBadOct_offset 0x8 +#define GRxBadOct_WIDTH 48 +#define GRxMissPkt_offset 0x10 +#define GRxMissPkt_WIDTH 32 +#define GRxFalseCRS_offset 0x14 +#define GRxFalseCRS_WIDTH 32 +#define GRxPausePkt_offset 0x18 +#define GRxPausePkt_WIDTH 32 +#define GRxBadPkt_offset 0x1C +#define GRxBadPkt_WIDTH 32 +#define GRxUcastPkt_offset 0x20 +#define GRxUcastPkt_WIDTH 32 +#define GRxMcastPkt_offset 0x24 +#define GRxMcastPkt_WIDTH 32 +#define GRxBcastPkt_offset 0x28 +#define GRxBcastPkt_WIDTH 32 +#define GRxGoodLt64Pkt_offset 0x2C +#define GRxGoodLt64Pkt_WIDTH 32 +#define GRxBadLt64Pkt_offset 0x30 +#define GRxBadLt64Pkt_WIDTH 32 +#define GRx64Pkt_offset 0x34 +#define GRx64Pkt_WIDTH 32 +#define GRx65to127Pkt_offset 0x38 +#define GRx65to127Pkt_WIDTH 32 +#define GRx128to255Pkt_offset 0x3C +#define GRx128to255Pkt_WIDTH 32 +#define GRx256to511Pkt_offset 0x40 +#define GRx256to511Pkt_WIDTH 32 +#define GRx512to1023Pkt_offset 0x44 +#define GRx512to1023Pkt_WIDTH 32 +#define GRx1024to15xxPkt_offset 0x48 +#define GRx1024to15xxPkt_WIDTH 32 +#define GRx15xxtoJumboPkt_offset 0x4C +#define GRx15xxtoJumboPkt_WIDTH 32 +#define GRxGtJumboPkt_offset 0x50 +#define GRxGtJumboPkt_WIDTH 32 +#define GRxFcsErr64to15xxPkt_offset 0x54 +#define GRxFcsErr64to15xxPkt_WIDTH 32 +#define GRxFcsErr15xxtoJumboPkt_offset 0x58 +#define GRxFcsErr15xxtoJumboPkt_WIDTH 32 +#define GRxFcsErrGtJumboPkt_offset 0x5C +#define GRxFcsErrGtJumboPkt_WIDTH 32 +#define GTxGoodBadOct_offset 0x80 +#define GTxGoodBadOct_WIDTH 48 +#define GTxGoodOct_offset 0x88 +#define GTxGoodOct_WIDTH 48 +#define GTxSglColPkt_offset 0x90 +#define GTxSglColPkt_WIDTH 32 +#define GTxMultColPkt_offset 0x94 +#define GTxMultColPkt_WIDTH 32 +#define GTxExColPkt_offset 0x98 +#define GTxExColPkt_WIDTH 32 +#define GTxDefPkt_offset 0x9C +#define GTxDefPkt_WIDTH 32 +#define GTxLateCol_offset 0xA0 +#define GTxLateCol_WIDTH 32 +#define GTxExDefPkt_offset 0xA4 +#define GTxExDefPkt_WIDTH 32 +#define GTxPausePkt_offset 0xA8 +#define GTxPausePkt_WIDTH 32 +#define GTxBadPkt_offset 0xAC +#define GTxBadPkt_WIDTH 32 +#define GTxUcastPkt_offset 0xB0 +#define GTxUcastPkt_WIDTH 32 +#define GTxMcastPkt_offset 0xB4 +#define GTxMcastPkt_WIDTH 32 +#define GTxBcastPkt_offset 0xB8 +#define GTxBcastPkt_WIDTH 32 +#define GTxLt64Pkt_offset 0xBC +#define GTxLt64Pkt_WIDTH 32 +#define GTx64Pkt_offset 0xC0 +#define GTx64Pkt_WIDTH 32 +#define GTx65to127Pkt_offset 0xC4 +#define GTx65to127Pkt_WIDTH 32 +#define GTx128to255Pkt_offset 0xC8 +#define GTx128to255Pkt_WIDTH 32 +#define GTx256to511Pkt_offset 0xCC +#define GTx256to511Pkt_WIDTH 32 +#define GTx512to1023Pkt_offset 0xD0 +#define GTx512to1023Pkt_WIDTH 32 +#define GTx1024to15xxPkt_offset 0xD4 +#define GTx1024to15xxPkt_WIDTH 32 +#define GTx15xxtoJumboPkt_offset 0xD8 +#define GTx15xxtoJumboPkt_WIDTH 32 +#define GTxGtJumboPkt_offset 0xDC +#define GTxGtJumboPkt_WIDTH 32 +#define GTxNonTcpUdpPkt_offset 0xE0 +#define GTxNonTcpUdpPkt_WIDTH 16 +#define GTxMacSrcErrPkt_offset 0xE4 +#define GTxMacSrcErrPkt_WIDTH 16 +#define GTxIpSrcErrPkt_offset 0xE8 +#define GTxIpSrcErrPkt_WIDTH 16 +#define GDmaDone_offset 0xEC +#define GDmaDone_WIDTH 32 + +#define XgRxOctets_offset 0x0 +#define XgRxOctets_WIDTH 48 +#define XgRxOctetsOK_offset 0x8 +#define XgRxOctetsOK_WIDTH 48 +#define XgRxPkts_offset 0x10 +#define XgRxPkts_WIDTH 32 +#define XgRxPktsOK_offset 0x14 +#define XgRxPktsOK_WIDTH 32 +#define XgRxBroadcastPkts_offset 0x18 +#define XgRxBroadcastPkts_WIDTH 32 +#define XgRxMulticastPkts_offset 0x1C +#define XgRxMulticastPkts_WIDTH 32 +#define XgRxUnicastPkts_offset 0x20 +#define XgRxUnicastPkts_WIDTH 32 +#define XgRxUndersizePkts_offset 0x24 +#define XgRxUndersizePkts_WIDTH 32 +#define XgRxOversizePkts_offset 0x28 +#define XgRxOversizePkts_WIDTH 32 +#define XgRxJabberPkts_offset 0x2C +#define XgRxJabberPkts_WIDTH 32 +#define XgRxUndersizeFCSerrorPkts_offset 0x30 +#define XgRxUndersizeFCSerrorPkts_WIDTH 32 +#define XgRxDropEvents_offset 0x34 +#define XgRxDropEvents_WIDTH 32 +#define XgRxFCSerrorPkts_offset 0x38 +#define XgRxFCSerrorPkts_WIDTH 32 +#define XgRxAlignError_offset 0x3C +#define XgRxAlignError_WIDTH 32 +#define XgRxSymbolError_offset 0x40 +#define XgRxSymbolError_WIDTH 32 +#define XgRxInternalMACError_offset 0x44 +#define XgRxInternalMACError_WIDTH 32 +#define XgRxControlPkts_offset 0x48 +#define XgRxControlPkts_WIDTH 32 +#define XgRxPausePkts_offset 0x4C +#define XgRxPausePkts_WIDTH 32 +#define XgRxPkts64Octets_offset 0x50 +#define XgRxPkts64Octets_WIDTH 32 +#define XgRxPkts65to127Octets_offset 0x54 +#define XgRxPkts65to127Octets_WIDTH 32 +#define XgRxPkts128to255Octets_offset 0x58 +#define XgRxPkts128to255Octets_WIDTH 32 +#define XgRxPkts256to511Octets_offset 0x5C +#define XgRxPkts256to511Octets_WIDTH 32 +#define XgRxPkts512to1023Octets_offset 0x60 +#define XgRxPkts512to1023Octets_WIDTH 32 +#define XgRxPkts1024to15xxOctets_offset 0x64 +#define XgRxPkts1024to15xxOctets_WIDTH 32 +#define XgRxPkts15xxtoMaxOctets_offset 0x68 +#define XgRxPkts15xxtoMaxOctets_WIDTH 32 +#define XgRxLengthError_offset 0x6C +#define XgRxLengthError_WIDTH 32 +#define XgTxPkts_offset 0x80 +#define XgTxPkts_WIDTH 32 +#define XgTxOctets_offset 0x88 +#define XgTxOctets_WIDTH 48 +#define XgTxMulticastPkts_offset 0x90 +#define XgTxMulticastPkts_WIDTH 32 +#define XgTxBroadcastPkts_offset 0x94 +#define XgTxBroadcastPkts_WIDTH 32 +#define XgTxUnicastPkts_offset 0x98 +#define XgTxUnicastPkts_WIDTH 32 +#define XgTxControlPkts_offset 0x9C +#define XgTxControlPkts_WIDTH 32 +#define XgTxPausePkts_offset 0xA0 +#define XgTxPausePkts_WIDTH 32 +#define XgTxPkts64Octets_offset 0xA4 +#define XgTxPkts64Octets_WIDTH 32 +#define XgTxPkts65to127Octets_offset 0xA8 +#define XgTxPkts65to127Octets_WIDTH 32 +#define XgTxPkts128to255Octets_offset 0xAC +#define XgTxPkts128to255Octets_WIDTH 32 +#define XgTxPkts256to511Octets_offset 0xB0 +#define XgTxPkts256to511Octets_WIDTH 32 +#define XgTxPkts512to1023Octets_offset 0xB4 +#define XgTxPkts512to1023Octets_WIDTH 32 +#define XgTxPkts1024to15xxOctets_offset 0xB8 +#define XgTxPkts1024to15xxOctets_WIDTH 32 +#define XgTxPkts1519toMaxOctets_offset 0xBC +#define XgTxPkts1519toMaxOctets_WIDTH 32 +#define XgTxUndersizePkts_offset 0xC0 +#define XgTxUndersizePkts_WIDTH 32 +#define XgTxOversizePkts_offset 0xC4 +#define XgTxOversizePkts_WIDTH 32 +#define XgTxNonTcpUdpPkt_offset 0xC8 +#define XgTxNonTcpUdpPkt_WIDTH 16 +#define XgTxMacSrcErrPkt_offset 0xCC +#define XgTxMacSrcErrPkt_WIDTH 16 +#define XgTxIpSrcErrPkt_offset 0xD0 +#define XgTxIpSrcErrPkt_WIDTH 16 +#define XgDmaDone_offset 0xD4 +#define XgDmaDone_WIDTH 32 + +#define FALCON_STATS_NOT_DONE 0x00000000 +#define FALCON_STATS_DONE 0xffffffff + +/************************************************************************** + * + * Falcon non-volatile configuration + * + ************************************************************************** + */ + +/* Board configuration v2 (v1 is obsolete; later versions are compatible) */ +struct falcon_nvconfig_board_v2 { + __le16 nports; + u8 port0_phy_addr; + u8 port0_phy_type; + u8 port1_phy_addr; + u8 port1_phy_type; + __le16 asic_sub_revision; + __le16 board_revision; +} __packed; + +/* Board configuration v3 extra information */ +struct falcon_nvconfig_board_v3 { + __le32 spi_device_type[2]; +} __packed; + +/* Bit numbers for spi_device_type */ +#define SPI_DEV_TYPE_SIZE_LBN 0 +#define SPI_DEV_TYPE_SIZE_WIDTH 5 +#define SPI_DEV_TYPE_ADDR_LEN_LBN 6 +#define SPI_DEV_TYPE_ADDR_LEN_WIDTH 2 +#define SPI_DEV_TYPE_ERASE_CMD_LBN 8 +#define SPI_DEV_TYPE_ERASE_CMD_WIDTH 8 +#define SPI_DEV_TYPE_ERASE_SIZE_LBN 16 +#define SPI_DEV_TYPE_ERASE_SIZE_WIDTH 5 +#define SPI_DEV_TYPE_BLOCK_SIZE_LBN 24 +#define SPI_DEV_TYPE_BLOCK_SIZE_WIDTH 5 +#define SPI_DEV_TYPE_FIELD(type, field) \ + (((type) >> EFX_LOW_BIT(field)) & EFX_MASK32(EFX_WIDTH(field))) + +#define FALCON_NVCONFIG_OFFSET 0x300 + +#define FALCON_NVCONFIG_BOARD_MAGIC_NUM 0xFA1C +struct falcon_nvconfig { + efx_oword_t ee_vpd_cfg_reg; /* 0x300 */ + u8 mac_address[2][8]; /* 0x310 */ + efx_oword_t pcie_sd_ctl0123_reg; /* 0x320 */ + efx_oword_t pcie_sd_ctl45_reg; /* 0x330 */ + efx_oword_t pcie_pcs_ctl_stat_reg; /* 0x340 */ + efx_oword_t hw_init_reg; /* 0x350 */ + efx_oword_t nic_stat_reg; /* 0x360 */ + efx_oword_t glb_ctl_reg; /* 0x370 */ + efx_oword_t srm_cfg_reg; /* 0x380 */ + efx_oword_t spare_reg; /* 0x390 */ + __le16 board_magic_num; /* 0x3A0 */ + __le16 board_struct_ver; + __le16 board_checksum; + struct falcon_nvconfig_board_v2 board_v2; + efx_oword_t ee_base_page_reg; /* 0x3B0 */ + struct falcon_nvconfig_board_v3 board_v3; /* 0x3C0 */ +} __packed; + +#endif /* EFX_REGS_H */ --- linux-2.6.32.orig/drivers/net/sfc/siena.c +++ linux-2.6.32/drivers/net/sfc/siena.c @@ -0,0 +1,614 @@ +/**************************************************************************** + * Driver for Solarflare Solarstorm network controllers and boards + * Copyright 2005-2006 Fen Systems Ltd. + * Copyright 2006-2009 Solarflare Communications 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, incorporated herein by reference. + */ + +#include +#include +#include +#include +#include "net_driver.h" +#include "bitfield.h" +#include "efx.h" +#include "nic.h" +#include "mac.h" +#include "spi.h" +#include "regs.h" +#include "io.h" +#include "phy.h" +#include "workarounds.h" +#include "mcdi.h" +#include "mcdi_pcol.h" + +/* Hardware control for SFC9000 family including SFL9021 (aka Siena). */ + +static void siena_init_wol(struct efx_nic *efx); + + +static void siena_push_irq_moderation(struct efx_channel *channel) +{ + efx_dword_t timer_cmd; + + if (channel->irq_moderation) + EFX_POPULATE_DWORD_2(timer_cmd, + FRF_CZ_TC_TIMER_MODE, + FFE_CZ_TIMER_MODE_INT_HLDOFF, + FRF_CZ_TC_TIMER_VAL, + channel->irq_moderation - 1); + else + EFX_POPULATE_DWORD_2(timer_cmd, + FRF_CZ_TC_TIMER_MODE, + FFE_CZ_TIMER_MODE_DIS, + FRF_CZ_TC_TIMER_VAL, 0); + efx_writed_page_locked(channel->efx, &timer_cmd, FR_BZ_TIMER_COMMAND_P0, + channel->channel); +} + +static void siena_push_multicast_hash(struct efx_nic *efx) +{ + WARN_ON(!mutex_is_locked(&efx->mac_lock)); + + efx_mcdi_rpc(efx, MC_CMD_SET_MCAST_HASH, + efx->multicast_hash.byte, sizeof(efx->multicast_hash), + NULL, 0, NULL); +} + +static int siena_mdio_write(struct net_device *net_dev, + int prtad, int devad, u16 addr, u16 value) +{ + struct efx_nic *efx = netdev_priv(net_dev); + uint32_t status; + int rc; + + rc = efx_mcdi_mdio_write(efx, efx->mdio_bus, prtad, devad, + addr, value, &status); + if (rc) + return rc; + if (status != MC_CMD_MDIO_STATUS_GOOD) + return -EIO; + + return 0; +} + +static int siena_mdio_read(struct net_device *net_dev, + int prtad, int devad, u16 addr) +{ + struct efx_nic *efx = netdev_priv(net_dev); + uint16_t value; + uint32_t status; + int rc; + + rc = efx_mcdi_mdio_read(efx, efx->mdio_bus, prtad, devad, + addr, &value, &status); + if (rc) + return rc; + if (status != MC_CMD_MDIO_STATUS_GOOD) + return -EIO; + + return (int)value; +} + +/* This call is responsible for hooking in the MAC and PHY operations */ +static int siena_probe_port(struct efx_nic *efx) +{ + int rc; + + /* Hook in PHY operations table */ + efx->phy_op = &efx_mcdi_phy_ops; + + /* Set up MDIO structure for PHY */ + efx->mdio.mode_support = MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22; + efx->mdio.mdio_read = siena_mdio_read; + efx->mdio.mdio_write = siena_mdio_write; + + /* Fill out MDIO structure and loopback modes */ + rc = efx->phy_op->probe(efx); + if (rc != 0) + return rc; + + /* Initial assumption */ + efx->link_state.speed = 10000; + efx->link_state.fd = true; + efx->wanted_fc = EFX_FC_RX | EFX_FC_TX; + + /* Allocate buffer for stats */ + rc = efx_nic_alloc_buffer(efx, &efx->stats_buffer, + MC_CMD_MAC_NSTATS * sizeof(u64)); + if (rc) + return rc; + EFX_LOG(efx, "stats buffer at %llx (virt %p phys %llx)\n", + (u64)efx->stats_buffer.dma_addr, + efx->stats_buffer.addr, + (u64)virt_to_phys(efx->stats_buffer.addr)); + + efx_mcdi_mac_stats(efx, efx->stats_buffer.dma_addr, 0, 0, 1); + + return 0; +} + +void siena_remove_port(struct efx_nic *efx) +{ + efx->phy_op->remove(efx); + efx_nic_free_buffer(efx, &efx->stats_buffer); +} + +static const struct efx_nic_register_test siena_register_tests[] = { + { FR_AZ_ADR_REGION, + EFX_OWORD32(0x0001FFFF, 0x0001FFFF, 0x0001FFFF, 0x0001FFFF) }, + { FR_CZ_USR_EV_CFG, + EFX_OWORD32(0x000103FF, 0x00000000, 0x00000000, 0x00000000) }, + { FR_AZ_RX_CFG, + EFX_OWORD32(0xFFFFFFFE, 0xFFFFFFFF, 0x0003FFFF, 0x00000000) }, + { FR_AZ_TX_CFG, + EFX_OWORD32(0x7FFF0037, 0xFFFF8000, 0xFFFFFFFF, 0x03FFFFFF) }, + { FR_AZ_TX_RESERVED, + EFX_OWORD32(0xFFFEFE80, 0x1FFFFFFF, 0x020000FE, 0x007FFFFF) }, + { FR_AZ_SRM_TX_DC_CFG, + EFX_OWORD32(0x001FFFFF, 0x00000000, 0x00000000, 0x00000000) }, + { FR_AZ_RX_DC_CFG, + EFX_OWORD32(0x00000003, 0x00000000, 0x00000000, 0x00000000) }, + { FR_AZ_RX_DC_PF_WM, + EFX_OWORD32(0x000003FF, 0x00000000, 0x00000000, 0x00000000) }, + { FR_BZ_DP_CTRL, + EFX_OWORD32(0x00000FFF, 0x00000000, 0x00000000, 0x00000000) }, + { FR_BZ_RX_RSS_TKEY, + EFX_OWORD32(0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF) }, + { FR_CZ_RX_RSS_IPV6_REG1, + EFX_OWORD32(0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF) }, + { FR_CZ_RX_RSS_IPV6_REG2, + EFX_OWORD32(0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF) }, + { FR_CZ_RX_RSS_IPV6_REG3, + EFX_OWORD32(0xFFFFFFFF, 0xFFFFFFFF, 0x00000007, 0x00000000) }, +}; + +static int siena_test_registers(struct efx_nic *efx) +{ + return efx_nic_test_registers(efx, siena_register_tests, + ARRAY_SIZE(siena_register_tests)); +} + +/************************************************************************** + * + * Device reset + * + ************************************************************************** + */ + +static int siena_reset_hw(struct efx_nic *efx, enum reset_type method) +{ + + if (method == RESET_TYPE_WORLD) + return efx_mcdi_reset_mc(efx); + else + return efx_mcdi_reset_port(efx); +} + +static int siena_probe_nvconfig(struct efx_nic *efx) +{ + int rc; + + rc = efx_mcdi_get_board_cfg(efx, efx->mac_address, NULL); + if (rc) + return rc; + + return 0; +} + +static int siena_probe_nic(struct efx_nic *efx) +{ + struct siena_nic_data *nic_data; + bool already_attached = 0; + int rc; + + /* Allocate storage for hardware specific data */ + nic_data = kzalloc(sizeof(struct siena_nic_data), GFP_KERNEL); + if (!nic_data) + return -ENOMEM; + efx->nic_data = nic_data; + + if (efx_nic_fpga_ver(efx) != 0) { + EFX_ERR(efx, "Siena FPGA not supported\n"); + rc = -ENODEV; + goto fail1; + } + + efx_mcdi_init(efx); + + /* Recover from a failed assertion before probing */ + rc = efx_mcdi_handle_assertion(efx); + if (rc) + goto fail1; + + rc = efx_mcdi_fwver(efx, &nic_data->fw_version, &nic_data->fw_build); + if (rc) { + EFX_ERR(efx, "Failed to read MCPU firmware version - " + "rc %d\n", rc); + goto fail1; /* MCPU absent? */ + } + + /* Let the BMC know that the driver is now in charge of link and + * filter settings. We must do this before we reset the NIC */ + rc = efx_mcdi_drv_attach(efx, true, &already_attached); + if (rc) { + EFX_ERR(efx, "Unable to register driver with MCPU\n"); + goto fail2; + } + if (already_attached) + /* Not a fatal error */ + EFX_ERR(efx, "Host already registered with MCPU\n"); + + /* Now we can reset the NIC */ + rc = siena_reset_hw(efx, RESET_TYPE_ALL); + if (rc) { + EFX_ERR(efx, "failed to reset NIC\n"); + goto fail3; + } + + siena_init_wol(efx); + + /* Allocate memory for INT_KER */ + rc = efx_nic_alloc_buffer(efx, &efx->irq_status, sizeof(efx_oword_t)); + if (rc) + goto fail4; + BUG_ON(efx->irq_status.dma_addr & 0x0f); + + EFX_LOG(efx, "INT_KER at %llx (virt %p phys %llx)\n", + (unsigned long long)efx->irq_status.dma_addr, + efx->irq_status.addr, + (unsigned long long)virt_to_phys(efx->irq_status.addr)); + + /* Read in the non-volatile configuration */ + rc = siena_probe_nvconfig(efx); + if (rc == -EINVAL) { + EFX_ERR(efx, "NVRAM is invalid therefore using defaults\n"); + efx->phy_type = PHY_TYPE_NONE; + efx->mdio.prtad = MDIO_PRTAD_NONE; + } else if (rc) { + goto fail5; + } + + return 0; + +fail5: + efx_nic_free_buffer(efx, &efx->irq_status); +fail4: +fail3: + efx_mcdi_drv_attach(efx, false, NULL); +fail2: +fail1: + kfree(efx->nic_data); + return rc; +} + +/* This call performs hardware-specific global initialisation, such as + * defining the descriptor cache sizes and number of RSS channels. + * It does not set up any buffers, descriptor rings or event queues. + */ +static int siena_init_nic(struct efx_nic *efx) +{ + efx_oword_t temp; + int rc; + + /* Recover from a failed assertion post-reset */ + rc = efx_mcdi_handle_assertion(efx); + if (rc) + return rc; + + /* Squash TX of packets of 16 bytes or less */ + efx_reado(efx, &temp, FR_AZ_TX_RESERVED); + EFX_SET_OWORD_FIELD(temp, FRF_BZ_TX_FLUSH_MIN_LEN_EN, 1); + efx_writeo(efx, &temp, FR_AZ_TX_RESERVED); + + /* Do not enable TX_NO_EOP_DISC_EN, since it limits packets to 16 + * descriptors (which is bad). + */ + efx_reado(efx, &temp, FR_AZ_TX_CFG); + EFX_SET_OWORD_FIELD(temp, FRF_AZ_TX_NO_EOP_DISC_EN, 0); + EFX_SET_OWORD_FIELD(temp, FRF_CZ_TX_FILTER_EN_BIT, 1); + efx_writeo(efx, &temp, FR_AZ_TX_CFG); + + efx_reado(efx, &temp, FR_AZ_RX_CFG); + EFX_SET_OWORD_FIELD(temp, FRF_BZ_RX_DESC_PUSH_EN, 0); + EFX_SET_OWORD_FIELD(temp, FRF_BZ_RX_INGR_EN, 1); + efx_writeo(efx, &temp, FR_AZ_RX_CFG); + + if (efx_nic_rx_xoff_thresh >= 0 || efx_nic_rx_xon_thresh >= 0) + /* No MCDI operation has been defined to set thresholds */ + EFX_ERR(efx, "ignoring RX flow control thresholds\n"); + + /* Enable event logging */ + rc = efx_mcdi_log_ctrl(efx, true, false, 0); + if (rc) + return rc; + + /* Set destination of both TX and RX Flush events */ + EFX_POPULATE_OWORD_1(temp, FRF_BZ_FLS_EVQ_ID, 0); + efx_writeo(efx, &temp, FR_BZ_DP_CTRL); + + EFX_POPULATE_OWORD_1(temp, FRF_CZ_USREV_DIS, 1); + efx_writeo(efx, &temp, FR_CZ_USR_EV_CFG); + + efx_nic_init_common(efx); + return 0; +} + +static void siena_remove_nic(struct efx_nic *efx) +{ + efx_nic_free_buffer(efx, &efx->irq_status); + + siena_reset_hw(efx, RESET_TYPE_ALL); + + /* Relinquish the device back to the BMC */ + if (efx_nic_has_mc(efx)) + efx_mcdi_drv_attach(efx, false, NULL); + + /* Tear down the private nic state */ + kfree(efx->nic_data); + efx->nic_data = NULL; +} + +#define STATS_GENERATION_INVALID ((u64)(-1)) + +static int siena_try_update_nic_stats(struct efx_nic *efx) +{ + u64 *dma_stats; + struct efx_mac_stats *mac_stats; + u64 generation_start; + u64 generation_end; + + mac_stats = &efx->mac_stats; + dma_stats = (u64 *)efx->stats_buffer.addr; + + generation_end = dma_stats[MC_CMD_MAC_GENERATION_END]; + if (generation_end == STATS_GENERATION_INVALID) + return 0; + rmb(); + +#define MAC_STAT(M, D) \ + mac_stats->M = dma_stats[MC_CMD_MAC_ ## D] + + MAC_STAT(tx_bytes, TX_BYTES); + MAC_STAT(tx_bad_bytes, TX_BAD_BYTES); + mac_stats->tx_good_bytes = (mac_stats->tx_bytes - + mac_stats->tx_bad_bytes); + MAC_STAT(tx_packets, TX_PKTS); + MAC_STAT(tx_bad, TX_BAD_FCS_PKTS); + MAC_STAT(tx_pause, TX_PAUSE_PKTS); + MAC_STAT(tx_control, TX_CONTROL_PKTS); + MAC_STAT(tx_unicast, TX_UNICAST_PKTS); + MAC_STAT(tx_multicast, TX_MULTICAST_PKTS); + MAC_STAT(tx_broadcast, TX_BROADCAST_PKTS); + MAC_STAT(tx_lt64, TX_LT64_PKTS); + MAC_STAT(tx_64, TX_64_PKTS); + MAC_STAT(tx_65_to_127, TX_65_TO_127_PKTS); + MAC_STAT(tx_128_to_255, TX_128_TO_255_PKTS); + MAC_STAT(tx_256_to_511, TX_256_TO_511_PKTS); + MAC_STAT(tx_512_to_1023, TX_512_TO_1023_PKTS); + MAC_STAT(tx_1024_to_15xx, TX_1024_TO_15XX_PKTS); + MAC_STAT(tx_15xx_to_jumbo, TX_15XX_TO_JUMBO_PKTS); + MAC_STAT(tx_gtjumbo, TX_GTJUMBO_PKTS); + mac_stats->tx_collision = 0; + MAC_STAT(tx_single_collision, TX_SINGLE_COLLISION_PKTS); + MAC_STAT(tx_multiple_collision, TX_MULTIPLE_COLLISION_PKTS); + MAC_STAT(tx_excessive_collision, TX_EXCESSIVE_COLLISION_PKTS); + MAC_STAT(tx_deferred, TX_DEFERRED_PKTS); + MAC_STAT(tx_late_collision, TX_LATE_COLLISION_PKTS); + mac_stats->tx_collision = (mac_stats->tx_single_collision + + mac_stats->tx_multiple_collision + + mac_stats->tx_excessive_collision + + mac_stats->tx_late_collision); + MAC_STAT(tx_excessive_deferred, TX_EXCESSIVE_DEFERRED_PKTS); + MAC_STAT(tx_non_tcpudp, TX_NON_TCPUDP_PKTS); + MAC_STAT(tx_mac_src_error, TX_MAC_SRC_ERR_PKTS); + MAC_STAT(tx_ip_src_error, TX_IP_SRC_ERR_PKTS); + MAC_STAT(rx_bytes, RX_BYTES); + MAC_STAT(rx_bad_bytes, RX_BAD_BYTES); + mac_stats->rx_good_bytes = (mac_stats->rx_bytes - + mac_stats->rx_bad_bytes); + MAC_STAT(rx_packets, RX_PKTS); + MAC_STAT(rx_good, RX_GOOD_PKTS); + mac_stats->rx_bad = mac_stats->rx_packets - mac_stats->rx_good; + MAC_STAT(rx_pause, RX_PAUSE_PKTS); + MAC_STAT(rx_control, RX_CONTROL_PKTS); + MAC_STAT(rx_unicast, RX_UNICAST_PKTS); + MAC_STAT(rx_multicast, RX_MULTICAST_PKTS); + MAC_STAT(rx_broadcast, RX_BROADCAST_PKTS); + MAC_STAT(rx_lt64, RX_UNDERSIZE_PKTS); + MAC_STAT(rx_64, RX_64_PKTS); + MAC_STAT(rx_65_to_127, RX_65_TO_127_PKTS); + MAC_STAT(rx_128_to_255, RX_128_TO_255_PKTS); + MAC_STAT(rx_256_to_511, RX_256_TO_511_PKTS); + MAC_STAT(rx_512_to_1023, RX_512_TO_1023_PKTS); + MAC_STAT(rx_1024_to_15xx, RX_1024_TO_15XX_PKTS); + MAC_STAT(rx_15xx_to_jumbo, RX_15XX_TO_JUMBO_PKTS); + MAC_STAT(rx_gtjumbo, RX_GTJUMBO_PKTS); + mac_stats->rx_bad_lt64 = 0; + mac_stats->rx_bad_64_to_15xx = 0; + mac_stats->rx_bad_15xx_to_jumbo = 0; + MAC_STAT(rx_bad_gtjumbo, RX_JABBER_PKTS); + MAC_STAT(rx_overflow, RX_OVERFLOW_PKTS); + mac_stats->rx_missed = 0; + MAC_STAT(rx_false_carrier, RX_FALSE_CARRIER_PKTS); + MAC_STAT(rx_symbol_error, RX_SYMBOL_ERROR_PKTS); + MAC_STAT(rx_align_error, RX_ALIGN_ERROR_PKTS); + MAC_STAT(rx_length_error, RX_LENGTH_ERROR_PKTS); + MAC_STAT(rx_internal_error, RX_INTERNAL_ERROR_PKTS); + mac_stats->rx_good_lt64 = 0; + + efx->n_rx_nodesc_drop_cnt = dma_stats[MC_CMD_MAC_RX_NODESC_DROPS]; + +#undef MAC_STAT + + rmb(); + generation_start = dma_stats[MC_CMD_MAC_GENERATION_START]; + if (generation_end != generation_start) + return -EAGAIN; + + return 0; +} + +static void siena_update_nic_stats(struct efx_nic *efx) +{ + int retry; + + /* If we're unlucky enough to read statistics wduring the DMA, wait + * up to 10ms for it to finish (typically takes <500us) */ + for (retry = 0; retry < 100; ++retry) { + if (siena_try_update_nic_stats(efx) == 0) + return; + udelay(100); + } + + /* Use the old values instead */ +} + +static void siena_start_nic_stats(struct efx_nic *efx) +{ + u64 *dma_stats = (u64 *)efx->stats_buffer.addr; + + dma_stats[MC_CMD_MAC_GENERATION_END] = STATS_GENERATION_INVALID; + + efx_mcdi_mac_stats(efx, efx->stats_buffer.dma_addr, + MC_CMD_MAC_NSTATS * sizeof(u64), 1, 0); +} + +static void siena_stop_nic_stats(struct efx_nic *efx) +{ + efx_mcdi_mac_stats(efx, efx->stats_buffer.dma_addr, 0, 0, 0); +} + +void siena_print_fwver(struct efx_nic *efx, char *buf, size_t len) +{ + struct siena_nic_data *nic_data = efx->nic_data; + snprintf(buf, len, "%u.%u.%u.%u", + (unsigned int)(nic_data->fw_version >> 48), + (unsigned int)(nic_data->fw_version >> 32 & 0xffff), + (unsigned int)(nic_data->fw_version >> 16 & 0xffff), + (unsigned int)(nic_data->fw_version & 0xffff)); +} + +/************************************************************************** + * + * Wake on LAN + * + ************************************************************************** + */ + +static void siena_get_wol(struct efx_nic *efx, struct ethtool_wolinfo *wol) +{ + struct siena_nic_data *nic_data = efx->nic_data; + + wol->supported = WAKE_MAGIC; + if (nic_data->wol_filter_id != -1) + wol->wolopts = WAKE_MAGIC; + else + wol->wolopts = 0; + memset(&wol->sopass, 0, sizeof(wol->sopass)); +} + + +static int siena_set_wol(struct efx_nic *efx, u32 type) +{ + struct siena_nic_data *nic_data = efx->nic_data; + int rc; + + if (type & ~WAKE_MAGIC) + return -EINVAL; + + if (type & WAKE_MAGIC) { + if (nic_data->wol_filter_id != -1) + efx_mcdi_wol_filter_remove(efx, + nic_data->wol_filter_id); + rc = efx_mcdi_wol_filter_set_magic(efx, efx->mac_address, + &nic_data->wol_filter_id); + if (rc) + goto fail; + + pci_wake_from_d3(efx->pci_dev, true); + } else { + rc = efx_mcdi_wol_filter_reset(efx); + nic_data->wol_filter_id = -1; + pci_wake_from_d3(efx->pci_dev, false); + if (rc) + goto fail; + } + + return 0; + fail: + EFX_ERR(efx, "%s failed: type=%d rc=%d\n", __func__, type, rc); + return rc; +} + + +static void siena_init_wol(struct efx_nic *efx) +{ + struct siena_nic_data *nic_data = efx->nic_data; + int rc; + + rc = efx_mcdi_wol_filter_get_magic(efx, &nic_data->wol_filter_id); + + if (rc != 0) { + /* If it failed, attempt to get into a synchronised + * state with MC by resetting any set WoL filters */ + efx_mcdi_wol_filter_reset(efx); + nic_data->wol_filter_id = -1; + } else if (nic_data->wol_filter_id != -1) { + pci_wake_from_d3(efx->pci_dev, true); + } +} + + +/************************************************************************** + * + * Revision-dependent attributes used by efx.c and nic.c + * + ************************************************************************** + */ + +struct efx_nic_type siena_a0_nic_type = { + .probe = siena_probe_nic, + .remove = siena_remove_nic, + .init = siena_init_nic, + .fini = efx_port_dummy_op_void, + .monitor = NULL, + .reset = siena_reset_hw, + .probe_port = siena_probe_port, + .remove_port = siena_remove_port, + .prepare_flush = efx_port_dummy_op_void, + .update_stats = siena_update_nic_stats, + .start_stats = siena_start_nic_stats, + .stop_stats = siena_stop_nic_stats, + .set_id_led = efx_mcdi_set_id_led, + .push_irq_moderation = siena_push_irq_moderation, + .push_multicast_hash = siena_push_multicast_hash, + .reconfigure_port = efx_mcdi_phy_reconfigure, + .get_wol = siena_get_wol, + .set_wol = siena_set_wol, + .resume_wol = siena_init_wol, + .test_registers = siena_test_registers, + .default_mac_ops = &efx_mcdi_mac_operations, + + .revision = EFX_REV_SIENA_A0, + .mem_map_size = (FR_CZ_MC_TREG_SMEM + + FR_CZ_MC_TREG_SMEM_STEP * FR_CZ_MC_TREG_SMEM_ROWS), + .txd_ptr_tbl_base = FR_BZ_TX_DESC_PTR_TBL, + .rxd_ptr_tbl_base = FR_BZ_RX_DESC_PTR_TBL, + .buf_tbl_base = FR_BZ_BUF_FULL_TBL, + .evq_ptr_tbl_base = FR_BZ_EVQ_PTR_TBL, + .evq_rptr_tbl_base = FR_BZ_EVQ_RPTR, + .max_dma_mask = DMA_BIT_MASK(FSF_AZ_TX_KER_BUF_ADDR_WIDTH), + .rx_buffer_padding = 0, + .max_interrupt_mode = EFX_INT_MODE_MSIX, + .phys_addr_channels = 32, /* Hardware limit is 64, but the legacy + * interrupt handler only supports 32 + * channels */ + .tx_dc_base = 0x88000, + .rx_dc_base = 0x68000, + .offload_features = NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM, + .reset_world_flags = ETH_RESET_MGMT << ETH_RESET_SHARED_SHIFT, +}; --- linux-2.6.32.orig/drivers/net/tokenring/tms380tr.c +++ linux-2.6.32/drivers/net/tokenring/tms380tr.c @@ -1364,6 +1364,8 @@ return (-1); } +MODULE_FIRMWARE("tms380tr.bin"); + /* * Starts bring up diagnostics of token ring adapter and evaluates * diagnostic results. --- linux-2.6.32.orig/drivers/net/tulip/Kconfig +++ linux-2.6.32/drivers/net/tulip/Kconfig @@ -101,6 +101,10 @@ If in doubt, say Y. +config TULIP_DM910X + def_bool y + depends on TULIP && SPARC + config DE4X5 tristate "Generic DECchip & DIGITAL EtherWORKS PCI/EISA" depends on PCI || EISA --- linux-2.6.32.orig/drivers/net/tulip/dmfe.c +++ linux-2.6.32/drivers/net/tulip/dmfe.c @@ -92,6 +92,10 @@ #include #include +#ifdef CONFIG_TULIP_DM910X +#include +#endif + /* Board/System/Debug information/definition ---------------- */ #define PCI_DM9132_ID 0x91321282 /* Davicom DM9132 ID */ @@ -377,6 +381,23 @@ if (!printed_version++) printk(version); + /* + * SPARC on-board DM910x chips should be handled by the main + * tulip driver, except for early DM9100s. + */ +#ifdef CONFIG_TULIP_DM910X + if ((ent->driver_data == PCI_DM9100_ID && pdev->revision >= 0x30) || + ent->driver_data == PCI_DM9102_ID) { + struct device_node *dp = pci_device_to_OF_node(pdev); + + if (dp && of_get_property(dp, "local-mac-address", NULL)) { + printk(KERN_INFO DRV_NAME + ": skipping on-board DM910x (use tulip)\n"); + return -ENODEV; + } + } +#endif + /* Init network device */ dev = alloc_etherdev(sizeof(*db)); if (dev == NULL) --- linux-2.6.32.orig/drivers/net/tulip/tulip_core.c +++ linux-2.6.32/drivers/net/tulip/tulip_core.c @@ -196,9 +196,13 @@ | HAS_NWAY | HAS_PCI_MWI, tulip_timer, tulip_media_task }, /* DM910X */ +#ifdef CONFIG_TULIP_DM910X { "Davicom DM9102/DM9102A", 128, 0x0001ebef, HAS_MII | HAS_MEDIA_TABLE | CSR12_IN_SROM | HAS_ACPI, tulip_timer, tulip_media_task }, +#else + { NULL }, +#endif /* RS7112 */ { "Conexant LANfinity", 256, 0x0001ebef, @@ -228,8 +232,10 @@ { 0x1259, 0xa120, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET }, { 0x11F6, 0x9881, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMPEX9881 }, { 0x8086, 0x0039, PCI_ANY_ID, PCI_ANY_ID, 0, 0, I21145 }, +#ifdef CONFIG_TULIP_DM910X { 0x1282, 0x9100, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DM910X }, { 0x1282, 0x9102, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DM910X }, +#endif { 0x1113, 0x1216, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET }, { 0x1113, 0x1217, PCI_ANY_ID, PCI_ANY_ID, 0, 0, MX98715 }, { 0x1113, 0x9511, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET }, @@ -243,6 +249,7 @@ { 0x17B3, 0xAB08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET }, { 0x10b7, 0x9300, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET }, /* 3Com 3CSOHO100B-TX */ { 0x14ea, 0xab08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET }, /* Planex FNW-3602-TX */ + { 0x1414, 0x0001, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET }, /* Microsoft MN-120 */ { 0x1414, 0x0002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET }, { } /* terminate list */ }; @@ -1299,18 +1306,30 @@ } /* - * Early DM9100's need software CRC and the DMFE driver + * DM910x chips should be handled by the dmfe driver, except + * on-board chips on SPARC systems. Also, early DM9100s need + * software CRC which only the dmfe driver supports. */ - if (pdev->vendor == 0x1282 && pdev->device == 0x9100) - { - /* Read Chip revision */ - if (pdev->revision < 0x30) - { - printk(KERN_ERR PFX "skipping early DM9100 with Crc bug (use dmfe)\n"); +#ifdef CONFIG_TULIP_DM910X + if (chip_idx == DM910X) { + struct device_node *dp; + + if (pdev->vendor == 0x1282 && pdev->device == 0x9100 && + pdev->revision < 0x30) { + printk(KERN_INFO PFX + "skipping early DM9100 with Crc bug (use dmfe)\n"); + return -ENODEV; + } + + dp = pci_device_to_OF_node(pdev); + if (!(dp && of_get_property(dp, "local-mac-address", NULL))) { + printk(KERN_INFO PFX + "skipping DM910x expansion card (use dmfe)\n"); return -ENODEV; } } +#endif /* * Looks for early PCI chipsets where people report hangs --- linux-2.6.32.orig/drivers/net/usb/asix.c +++ linux-2.6.32/drivers/net/usb/asix.c @@ -54,6 +54,7 @@ #define AX_CMD_WRITE_IPG0 0x12 #define AX_CMD_WRITE_IPG1 0x13 #define AX_CMD_READ_NODE_ID 0x13 +#define AX_CMD_WRITE_NODE_ID 0x14 #define AX_CMD_WRITE_IPG2 0x14 #define AX_CMD_WRITE_MULTI_FILTER 0x16 #define AX88172_CMD_READ_NODE_ID 0x17 @@ -165,6 +166,7 @@ /* This structure cannot exceed sizeof(unsigned long [5]) AKA 20 bytes */ struct asix_data { u8 multi_filter[AX_MCAST_FILTER_SIZE]; + u8 mac_addr[ETH_ALEN]; u8 phymode; u8 ledmode; u8 eeprom_len; @@ -337,7 +339,7 @@ skb_pull(skb, (size + 1) & 0xfffe); - if (skb->len == 0) + if (skb->len < sizeof(header)) break; head = (u8 *) skb->data; @@ -728,6 +730,30 @@ return generic_mii_ioctl(&dev->mii, if_mii(rq), cmd, NULL); } +static int asix_set_mac_address(struct net_device *net, void *p) +{ + struct usbnet *dev = netdev_priv(net); + struct asix_data *data = (struct asix_data *)&dev->data; + struct sockaddr *addr = p; + + if (netif_running(net)) + return -EBUSY; + if (!is_valid_ether_addr(addr->sa_data)) + return -EADDRNOTAVAIL; + + memcpy(net->dev_addr, addr->sa_data, ETH_ALEN); + + /* We use the 20 byte dev->data + * for our 6 byte mac buffer + * to avoid allocating memory that + * is tricky to free later */ + memcpy(data->mac_addr, addr->sa_data, ETH_ALEN); + asix_write_cmd_async(dev, AX_CMD_WRITE_NODE_ID, 0, 0, ETH_ALEN, + data->mac_addr); + + return 0; +} + /* We need to override some ethtool_ops so we require our own structure so we don't interfere with other usbnet devices that may be connected at the same time. */ @@ -915,7 +941,7 @@ .ndo_start_xmit = usbnet_start_xmit, .ndo_tx_timeout = usbnet_tx_timeout, .ndo_change_mtu = usbnet_change_mtu, - .ndo_set_mac_address = eth_mac_addr, + .ndo_set_mac_address = asix_set_mac_address, .ndo_validate_addr = eth_validate_addr, .ndo_do_ioctl = asix_ioctl, .ndo_set_multicast_list = asix_set_multicast, @@ -1208,7 +1234,7 @@ .ndo_stop = usbnet_stop, .ndo_start_xmit = usbnet_start_xmit, .ndo_tx_timeout = usbnet_tx_timeout, - .ndo_set_mac_address = eth_mac_addr, + .ndo_set_mac_address = asix_set_mac_address, .ndo_validate_addr = eth_validate_addr, .ndo_set_multicast_list = asix_set_multicast, .ndo_do_ioctl = asix_ioctl, @@ -1441,6 +1467,10 @@ USB_DEVICE (0x04f1, 0x3008), .driver_info = (unsigned long) &ax8817x_info, }, { + // ASIX AX88772B 10/100 + USB_DEVICE (0x0b95, 0x772b), + .driver_info = (unsigned long) &ax88772_info, +}, { // ASIX AX88772 10/100 USB_DEVICE (0x0b95, 0x7720), .driver_info = (unsigned long) &ax88772_info, @@ -1492,6 +1522,10 @@ // ASIX 88772a USB_DEVICE(0x0db0, 0xa877), .driver_info = (unsigned long) &ax88772_info, +}, { + // Asus USB Ethernet Adapter + USB_DEVICE (0x0b95, 0x7e2b), + .driver_info = (unsigned long) &ax88772_info, }, { }, // END }; --- linux-2.6.32.orig/drivers/net/usb/cdc-phonet.c +++ linux-2.6.32/drivers/net/usb/cdc-phonet.c @@ -325,13 +325,13 @@ { static const char ifname[] = "usbpn%d"; const struct usb_cdc_union_desc *union_header = NULL; - const struct usb_cdc_header_desc *phonet_header = NULL; const struct usb_host_interface *data_desc; struct usb_interface *data_intf; struct usb_device *usbdev = interface_to_usbdev(intf); struct net_device *dev; struct usbpn_dev *pnd; u8 *data; + int phonet = 0; int len, err; data = intf->altsetting->extra; @@ -352,10 +352,7 @@ (struct usb_cdc_union_desc *)data; break; case 0xAB: - if (phonet_header || dlen < 5) - break; - phonet_header = - (struct usb_cdc_header_desc *)data; + phonet = 1; break; } } @@ -363,7 +360,7 @@ len -= dlen; } - if (!union_header || !phonet_header) + if (!union_header || !phonet) return -EINVAL; data_intf = usb_ifnum_to_if(usbdev, union_header->bSlaveInterface0); --- linux-2.6.32.orig/drivers/net/usb/dm9601.c +++ linux-2.6.32/drivers/net/usb/dm9601.c @@ -238,7 +238,7 @@ goto out; dm_write_reg(dev, DM_SHARED_ADDR, phy ? (reg | 0x40) : reg); - dm_write_reg(dev, DM_SHARED_CTRL, phy ? 0x1c : 0x14); + dm_write_reg(dev, DM_SHARED_CTRL, phy ? 0x1a : 0x12); for (i = 0; i < DM_TIMEOUT; i++) { u8 tmp; --- linux-2.6.32.orig/drivers/net/usb/hso.c +++ linux-2.6.32/drivers/net/usb/hso.c @@ -1634,6 +1634,8 @@ struct uart_icount cnow; struct hso_tiocmget *tiocmget = serial->tiocmget; + memset(&icount, 0, sizeof(struct serial_icounter_struct)); + if (!tiocmget) return -ENOENT; spin_lock_irq(&serial->serial_lock); --- linux-2.6.32.orig/drivers/net/usb/rtl8150.c +++ linux-2.6.32/drivers/net/usb/rtl8150.c @@ -324,7 +324,7 @@ dbg("%02X:", netdev->dev_addr[i]); dbg("%02X\n", netdev->dev_addr[i]); /* Set the IDR registers. */ - set_registers(dev, IDR, sizeof(netdev->dev_addr), netdev->dev_addr); + set_registers(dev, IDR, netdev->addr_len, netdev->dev_addr); #ifdef EEPROM_WRITE { u8 cr; --- linux-2.6.32.orig/drivers/net/usb/usbnet.c +++ linux-2.6.32/drivers/net/usb/usbnet.c @@ -584,6 +584,7 @@ entry = (struct skb_data *) skb->cb; urb = entry->urb; + spin_unlock_irqrestore(&q->lock, flags); // during some PM-driven resume scenarios, // these (async) unlinks complete immediately retval = usb_unlink_urb (urb); @@ -591,6 +592,7 @@ devdbg (dev, "unlink urb err, %d", retval); else count++; + spin_lock_irqsave(&q->lock, flags); } spin_unlock_irqrestore (&q->lock, flags); return count; --- linux-2.6.32.orig/drivers/net/wireless/airo.c +++ linux-2.6.32/drivers/net/wireless/airo.c @@ -5254,11 +5254,7 @@ WepKeyRid wkr; int rc; - if (keylen == 0) { - airo_print_err(ai->dev->name, "%s: key length to set was zero", - __func__); - return -1; - } + WARN_ON(keylen == 0); memset(&wkr, 0, sizeof(wkr)); wkr.len = cpu_to_le16(sizeof(wkr)); @@ -6404,11 +6400,7 @@ if (dwrq->length > MIN_KEY_SIZE) key.len = MAX_KEY_SIZE; else - if (dwrq->length > 0) - key.len = MIN_KEY_SIZE; - else - /* Disable the key */ - key.len = 0; + key.len = MIN_KEY_SIZE; /* Check if the key is not marked as invalid */ if(!(dwrq->flags & IW_ENCODE_NOKEY)) { /* Cleanup */ @@ -6589,12 +6581,22 @@ default: return -EINVAL; } - /* Send the key to the card */ - rc = set_wep_key(local, idx, key.key, key.len, perm, 1); - if (rc < 0) { - airo_print_err(local->dev->name, "failed to set WEP key" - " at index %d: %d.", idx, rc); - return rc; + if (key.len == 0) { + rc = set_wep_tx_idx(local, idx, perm, 1); + if (rc < 0) { + airo_print_err(local->dev->name, + "failed to set WEP transmit index to %d: %d.", + idx, rc); + return rc; + } + } else { + rc = set_wep_key(local, idx, key.key, key.len, perm, 1); + if (rc < 0) { + airo_print_err(local->dev->name, + "failed to set WEP key at index %d: %d.", + idx, rc); + return rc; + } } } --- linux-2.6.32.orig/drivers/net/wireless/rndis_wlan.c +++ linux-2.6.32/drivers/net/wireless/rndis_wlan.c @@ -83,11 +83,11 @@ "set roaming tendency: 0=aggressive, 1=moderate, " "2=conservative (default: moderate)"); -static int modparam_workaround_interval = 500; +static int modparam_workaround_interval; module_param_named(workaround_interval, modparam_workaround_interval, int, 0444); MODULE_PARM_DESC(workaround_interval, - "set stall workaround interval in msecs (default: 500)"); + "set stall workaround interval in msecs (0=disabled) (default: 0)"); /* various RNDIS OID defs */ @@ -733,12 +733,13 @@ le32_to_cpu(u.get_c->status)); if (ret == 0) { + memcpy(data, u.buf + le32_to_cpu(u.get_c->offset) + 8, *len); + ret = le32_to_cpu(u.get_c->len); if (ret > *len) *len = ret; - memcpy(data, u.buf + le32_to_cpu(u.get_c->offset) + 8, *len); - ret = rndis_error_status(u.get_c->status); + ret = rndis_error_status(u.get_c->status); if (ret < 0) devdbg(dev, "rndis_query_oid(%s): device returned " "error, 0x%08x (%d)", oid_to_string(oid), @@ -1072,6 +1073,8 @@ auth_mode = NDIS_80211_AUTH_SHARED; else if (auth_type == NL80211_AUTHTYPE_OPEN_SYSTEM) auth_mode = NDIS_80211_AUTH_OPEN; + else if (auth_type == NL80211_AUTHTYPE_AUTOMATIC) + auth_mode = NDIS_80211_AUTH_AUTO_SWITCH; else return -ENOTSUPP; @@ -2547,7 +2550,7 @@ /* Workaround transfer stalls on poor quality links. * TODO: find right way to fix these stalls (as stalls do not happen * with ndiswrapper/windows driver). */ - if (priv->last_qual <= 25) { + if (priv->param_workaround_interval > 0 && priv->last_qual <= 25) { /* Decrease stats worker interval to catch stalls. * faster. Faster than 400-500ms causes packet loss, * Slower doesn't catch stalls fast enough. --- linux-2.6.32.orig/drivers/net/wireless/ath/regd.h +++ linux-2.6.32/drivers/net/wireless/ath/regd.h @@ -31,7 +31,6 @@ #define NO_CTL 0xff #define SD_NO_CTL 0xE0 #define NO_CTL 0xff -#define CTL_MODE_M 7 #define CTL_11A 0 #define CTL_11B 1 #define CTL_11G 2 --- linux-2.6.32.orig/drivers/net/wireless/ath/regd_common.h +++ linux-2.6.32/drivers/net/wireless/ath/regd_common.h @@ -195,6 +195,7 @@ {APL9_WORLD, CTL_ETSI, CTL_ETSI}, {APL3_FCCA, CTL_FCC, CTL_FCC}, + {APL7_FCCA, CTL_FCC, CTL_FCC}, {APL1_ETSIC, CTL_FCC, CTL_ETSI}, {APL2_ETSIC, CTL_FCC, CTL_ETSI}, {APL2_APLD, CTL_FCC, NO_CTL}, --- linux-2.6.32.orig/drivers/net/wireless/ath/ath5k/ath5k.h +++ linux-2.6.32/drivers/net/wireless/ath/ath5k/ath5k.h @@ -540,13 +540,12 @@ u32 tqi_cbr_period; /* Constant bit rate period */ u32 tqi_cbr_overflow_limit; u32 tqi_burst_time; - u32 tqi_ready_time; /* Not used */ + u32 tqi_ready_time; /* Time queue waits after an event */ }; /* * Transmit packet types. * used on tx control descriptor - * TODO: Use them inside base.c corectly */ enum ath5k_pkt_type { AR5K_PKT_TYPE_NORMAL = 0, --- linux-2.6.32.orig/drivers/net/wireless/ath/ath5k/attach.c +++ linux-2.6.32/drivers/net/wireless/ath/ath5k/attach.c @@ -133,6 +133,7 @@ ah->ah_cw_min = AR5K_TUNE_CWMIN; ah->ah_limit_tx_retries = AR5K_INIT_TX_RETRY; ah->ah_software_retry = false; + ah->ah_current_channel = &sc->channels[0]; /* * Find the mac version --- linux-2.6.32.orig/drivers/net/wireless/ath/ath5k/base.c +++ linux-2.6.32/drivers/net/wireless/ath/ath5k/base.c @@ -48,6 +48,7 @@ #include #include #include +#include #include #include @@ -448,6 +449,26 @@ int ret; u8 csz; + /* + * L0s needs to be disabled on all ath5k cards. + * + * For distributions shipping with CONFIG_PCIEASPM (this will be enabled + * by default in the future in 2.6.36) this will also mean both L1 and + * L0s will be disabled when a pre 1.1 PCIe device is detected. We do + * know L1 works correctly even for all ath5k pre 1.1 PCIe devices + * though but cannot currently undue the effect of a blacklist, for + * details you can read pcie_aspm_sanity_check() and see how it adjusts + * the device link capability. + * + * It may be possible in the future to implement some PCI API to allow + * drivers to override blacklists for pre 1.1 PCIe but for now it is + * best to accept that both L0s and L1 will be disabled completely for + * distributions shipping with CONFIG_PCIEASPM rather than having this + * issue present. Motivation for adding this new API will be to help + * with power consumption for some of these devices. + */ + pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S); + ret = pci_enable_device(pdev); if (ret) { dev_err(&pdev->dev, "can't enable device\n"); @@ -1220,6 +1241,29 @@ return 0; } +static enum ath5k_pkt_type get_hw_packet_type(struct sk_buff *skb) +{ + struct ieee80211_hdr *hdr; + enum ath5k_pkt_type htype; + __le16 fc; + + hdr = (struct ieee80211_hdr *)skb->data; + fc = hdr->frame_control; + + if (ieee80211_is_beacon(fc)) + htype = AR5K_PKT_TYPE_BEACON; + else if (ieee80211_is_probe_resp(fc)) + htype = AR5K_PKT_TYPE_PROBE_RESP; + else if (ieee80211_is_atim(fc)) + htype = AR5K_PKT_TYPE_ATIM; + else if (ieee80211_is_pspoll(fc)) + htype = AR5K_PKT_TYPE_PSPOLL; + else + htype = AR5K_PKT_TYPE_NORMAL; + + return htype; +} + static int ath5k_txbuf_setup(struct ath5k_softc *sc, struct ath5k_buf *bf, struct ath5k_txq *txq) @@ -1244,6 +1288,10 @@ PCI_DMA_TODEVICE); rate = ieee80211_get_tx_rate(sc->hw, info); + if (!rate) { + ret = -EINVAL; + goto err_unmap; + } if (info->flags & IEEE80211_TX_CTL_NO_ACK) flags |= AR5K_TXDESC_NOACK; @@ -1274,7 +1322,8 @@ sc->vif, pktlen, info)); } ret = ah->ah_setup_tx_desc(ah, ds, pktlen, - ieee80211_get_hdrlen_from_skb(skb), AR5K_PKT_TYPE_NORMAL, + ieee80211_get_hdrlen_from_skb(skb), + get_hw_packet_type(skb), (sc->power_level * 2), hw_rate, info->control.rates[0].count, keyidx, ah->ah_tx_ant, flags, @@ -1487,7 +1536,8 @@ ret = ath5k_hw_get_tx_queueprops(ah, sc->bhalq, &qi); if (ret) - return ret; + goto err; + if (sc->opmode == NL80211_IFTYPE_AP || sc->opmode == NL80211_IFTYPE_MESH_POINT) { /* @@ -1514,10 +1564,25 @@ if (ret) { ATH5K_ERR(sc, "%s: unable to update parameters for beacon " "hardware queue!\n", __func__); - return ret; + goto err; } + ret = ath5k_hw_reset_tx_queue(ah, sc->bhalq); /* push to h/w */ + if (ret) + goto err; + + /* reconfigure cabq with ready time to 80% of beacon_interval */ + ret = ath5k_hw_get_tx_queueprops(ah, AR5K_TX_QUEUE_ID_CAB, &qi); + if (ret) + goto err; + + qi.tqi_ready_time = (sc->bintval * 80) / 100; + ret = ath5k_hw_set_tx_queueprops(ah, AR5K_TX_QUEUE_ID_CAB, &qi); + if (ret) + goto err; - return ath5k_hw_reset_tx_queue(ah, sc->bhalq); /* push to h/w */; + ret = ath5k_hw_reset_tx_queue(ah, AR5K_TX_QUEUE_ID_CAB); +err: + return ret; } static void @@ -1778,11 +1843,6 @@ return; } - if (unlikely(rs.rs_more)) { - ATH5K_WARN(sc, "unsupported jumbo\n"); - goto next; - } - if (unlikely(rs.rs_status)) { if (rs.rs_status & AR5K_RXERR_PHY) goto next; @@ -1812,6 +1872,8 @@ sc->opmode != NL80211_IFTYPE_MONITOR) goto next; } + if (unlikely(rs.rs_more)) + goto next; accept: next_skb = ath5k_rx_skb_alloc(sc, &next_skb_addr); @@ -2349,6 +2411,9 @@ */ ath5k_stop_locked(sc); + /* Set PHY calibration interval */ + ah->ah_cal_intval = ath5k_calinterval; + /* * The basic interface to setting the hardware in a good * state is ``reset''. On return the hardware is known to @@ -2376,10 +2441,6 @@ /* Set ack to be sent at low bit-rates */ ath5k_hw_set_ack_bitrate_high(ah, false); - - /* Set PHY calibration inteval */ - ah->ah_cal_intval = ath5k_calinterval; - ret = 0; done: mmiowb(); @@ -2936,13 +2997,15 @@ if (changed_flags & (FIF_PROMISC_IN_BSS | FIF_OTHER_BSS)) { if (*new_flags & FIF_PROMISC_IN_BSS) { - rfilt |= AR5K_RX_FILTER_PROM; __set_bit(ATH_STAT_PROMISC, sc->status); } else { __clear_bit(ATH_STAT_PROMISC, sc->status); } } + if (test_bit(ATH_STAT_PROMISC, sc->status)) + rfilt |= AR5K_RX_FILTER_PROM; + /* Note, AR5K_RX_FILTER_MCAST is already enabled */ if (*new_flags & FIF_ALLMULTI) { mfilt[0] = ~0; --- linux-2.6.32.orig/drivers/net/wireless/ath/ath5k/eeprom.c +++ linux-2.6.32/drivers/net/wireless/ath/ath5k/eeprom.c @@ -97,6 +97,7 @@ struct ath5k_eeprom_info *ee = &ah->ah_capabilities.cap_eeprom; int ret; u16 val; + u32 cksum, offset, eep_max = AR5K_EEPROM_INFO_MAX; /* * Read values from EEPROM and store them in the capability structure @@ -111,20 +112,44 @@ if (ah->ah_ee_version < AR5K_EEPROM_VERSION_3_0) return 0; -#ifdef notyet /* * Validate the checksum of the EEPROM date. There are some * devices with invalid EEPROMs. */ - for (cksum = 0, offset = 0; offset < AR5K_EEPROM_INFO_MAX; offset++) { + AR5K_EEPROM_READ(AR5K_EEPROM_SIZE_UPPER, val); + if (val) { + eep_max = (val & AR5K_EEPROM_SIZE_UPPER_MASK) << + AR5K_EEPROM_SIZE_ENDLOC_SHIFT; + AR5K_EEPROM_READ(AR5K_EEPROM_SIZE_LOWER, val); + eep_max = (eep_max | val) - AR5K_EEPROM_INFO_BASE; + + /* + * Fail safe check to prevent stupid loops due + * to busted EEPROMs. XXX: This value is likely too + * big still, waiting on a better value. + */ + if (eep_max > (3 * AR5K_EEPROM_INFO_MAX)) { + ATH5K_ERR(ah->ah_sc, "Invalid max custom EEPROM size: " + "%d (0x%04x) max expected: %d (0x%04x)\n", + eep_max, eep_max, + 3 * AR5K_EEPROM_INFO_MAX, + 3 * AR5K_EEPROM_INFO_MAX); + return -EIO; + } + } + + for (cksum = 0, offset = 0; offset < eep_max; offset++) { AR5K_EEPROM_READ(AR5K_EEPROM_INFO(offset), val); cksum ^= val; } if (cksum != AR5K_EEPROM_INFO_CKSUM) { - ATH5K_ERR(ah->ah_sc, "Invalid EEPROM checksum 0x%04x\n", cksum); + ATH5K_ERR(ah->ah_sc, "Invalid EEPROM " + "checksum: 0x%04x eep_max: 0x%04x (%s)\n", + cksum, eep_max, + eep_max == AR5K_EEPROM_INFO_MAX ? + "default size" : "custom size"); return -EIO; } -#endif AR5K_EEPROM_READ_HDR(AR5K_EEPROM_ANT_GAIN(ah->ah_ee_version), ee_ant_gain); @@ -1563,14 +1588,12 @@ if (!chinfo[pier].pd_curves) continue; - for (pdg = 0; pdg < ee->ee_pd_gains[mode]; pdg++) { + for (pdg = 0; pdg < AR5K_EEPROM_N_PD_CURVES; pdg++) { struct ath5k_pdgain_info *pd = &chinfo[pier].pd_curves[pdg]; - if (pd != NULL) { - kfree(pd->pd_step); - kfree(pd->pd_pwr); - } + kfree(pd->pd_step); + kfree(pd->pd_pwr); } kfree(chinfo[pier].pd_curves); --- linux-2.6.32.orig/drivers/net/wireless/ath/ath5k/eeprom.h +++ linux-2.6.32/drivers/net/wireless/ath/ath5k/eeprom.h @@ -37,6 +37,14 @@ #define AR5K_EEPROM_RFKILL_POLARITY_S 1 #define AR5K_EEPROM_REG_DOMAIN 0x00bf /* EEPROM regdom */ + +/* FLASH(EEPROM) Defines for AR531X chips */ +#define AR5K_EEPROM_SIZE_LOWER 0x1b /* size info -- lower */ +#define AR5K_EEPROM_SIZE_UPPER 0x1c /* size info -- upper */ +#define AR5K_EEPROM_SIZE_UPPER_MASK 0xfff0 +#define AR5K_EEPROM_SIZE_UPPER_SHIFT 4 +#define AR5K_EEPROM_SIZE_ENDLOC_SHIFT 12 + #define AR5K_EEPROM_CHECKSUM 0x00c0 /* EEPROM checksum */ #define AR5K_EEPROM_INFO_BASE 0x00c0 /* EEPROM header */ #define AR5K_EEPROM_INFO_MAX (0x400 - AR5K_EEPROM_INFO_BASE) --- linux-2.6.32.orig/drivers/net/wireless/ath/ath5k/phy.c +++ linux-2.6.32/drivers/net/wireless/ath/ath5k/phy.c @@ -2954,8 +2954,6 @@ ATH5K_ERR(ah->ah_sc, "invalid tx power: %u\n", txpower); return -EINVAL; } - if (txpower == 0) - txpower = AR5K_TUNE_DEFAULT_TXPOWER; /* Reset TX power values */ memset(&ah->ah_txpower, 0, sizeof(ah->ah_txpower)); --- linux-2.6.32.orig/drivers/net/wireless/ath/ath5k/qcu.c +++ linux-2.6.32/drivers/net/wireless/ath/ath5k/qcu.c @@ -408,12 +408,13 @@ break; case AR5K_TX_QUEUE_CAB: + /* XXX: use BCN_SENT_GT, if we can figure out how */ AR5K_REG_ENABLE_BITS(ah, AR5K_QUEUE_MISC(queue), - AR5K_QCU_MISC_FRSHED_BCN_SENT_GT | + AR5K_QCU_MISC_FRSHED_DBA_GT | AR5K_QCU_MISC_CBREXP_DIS | AR5K_QCU_MISC_CBREXP_BCN_DIS); - ath5k_hw_reg_write(ah, ((AR5K_TUNE_BEACON_INTERVAL - + ath5k_hw_reg_write(ah, ((tq->tqi_ready_time - (AR5K_TUNE_SW_BEACON_RESP - AR5K_TUNE_DMA_BEACON_RESP) - AR5K_TUNE_ADDITIONAL_SWBA_BACKOFF) * 1024) | --- linux-2.6.32.orig/drivers/net/wireless/ath/ath5k/reset.c +++ linux-2.6.32/drivers/net/wireless/ath/ath5k/reset.c @@ -1382,8 +1382,9 @@ * Set clocks to 32KHz operation and use an * external 32KHz crystal when sleeping if one * exists */ - if (ah->ah_version == AR5K_AR5212) - ath5k_hw_set_sleep_clock(ah, true); + if (ah->ah_version == AR5K_AR5212 && + ah->ah_op_mode != NL80211_IFTYPE_AP) + ath5k_hw_set_sleep_clock(ah, true); /* * Disable beacons and reset the register --- linux-2.6.32.orig/drivers/net/wireless/ath/ath9k/ath9k.h +++ linux-2.6.32/drivers/net/wireless/ath/ath9k/ath9k.h @@ -139,6 +139,7 @@ dma_addr_t bf_daddr; /* physical addr of desc */ dma_addr_t bf_buf_addr; /* physical addr of data buffer */ bool bf_stale; + bool bf_isnullfunc; u16 bf_flags; struct ath_buf_state bf_state; dma_addr_t bf_dmacontext; @@ -213,8 +214,8 @@ /* returns delimiter padding required given the packet length */ #define ATH_AGGR_GET_NDELIM(_len) \ - (((((_len) + ATH_AGGR_DELIM_SZ) < ATH_AGGR_MINPLEN) ? \ - (ATH_AGGR_MINPLEN - (_len) - ATH_AGGR_DELIM_SZ) : 0) >> 2) + (((_len) >= ATH_AGGR_MINPLEN) ? 0 : \ + DIV_ROUND_UP(ATH_AGGR_MINPLEN - (_len), ATH_AGGR_DELIM_SZ)) #define BAW_WITHIN(_start, _bawsz, _seqno) \ ((((_seqno) - (_start)) & 4095) < (_bawsz)) @@ -367,6 +368,7 @@ u16 tid, u16 *ssn); void ath_tx_aggr_stop(struct ath_softc *sc, struct ieee80211_sta *sta, u16 tid); void ath_tx_aggr_resume(struct ath_softc *sc, struct ieee80211_sta *sta, u16 tid); +void ath9k_enable_ps(struct ath_softc *sc); /********/ /* VIFs */ @@ -524,6 +526,8 @@ #define SC_OP_BEACON_SYNC BIT(19) #define SC_OP_BTCOEX_ENABLED BIT(20) #define SC_OP_BT_PRIORITY_DETECTED BIT(21) +#define SC_OP_NULLFUNC_COMPLETED BIT(22) +#define SC_OP_PS_ENABLED BIT(23) struct ath_bus_ops { void (*read_cachesize)(struct ath_softc *sc, int *csz); --- linux-2.6.32.orig/drivers/net/wireless/ath/ath9k/beacon.c +++ linux-2.6.32/drivers/net/wireless/ath/ath9k/beacon.c @@ -512,16 +512,13 @@ { u32 nexttbtt, intval; - /* Configure the timers only when the TSF has to be reset */ - - if (!(sc->sc_flags & SC_OP_TSF_RESET)) - return; - /* NB: the beacon interval is kept internally in TU's */ intval = conf->beacon_interval & ATH9K_BEACON_PERIOD; intval /= ATH_BCBUF; /* for staggered beacons */ nexttbtt = intval; - intval |= ATH9K_BEACON_RESET_TSF; + + if (sc->sc_flags & SC_OP_TSF_RESET) + intval |= ATH9K_BEACON_RESET_TSF; /* * In AP mode we enable the beacon timers and SWBA interrupts to --- linux-2.6.32.orig/drivers/net/wireless/ath/ath9k/eeprom.h +++ linux-2.6.32/drivers/net/wireless/ath/ath9k/eeprom.h @@ -60,7 +60,7 @@ #define SD_NO_CTL 0xE0 #define NO_CTL 0xff -#define CTL_MODE_M 7 +#define CTL_MODE_M 0xf #define CTL_11A 0 #define CTL_11B 1 #define CTL_11G 2 --- linux-2.6.32.orig/drivers/net/wireless/ath/ath9k/hw.c +++ linux-2.6.32/drivers/net/wireless/ath/ath9k/hw.c @@ -398,7 +398,6 @@ ah->config.pcie_clock_req = 0; ah->config.pcie_waen = 0; ah->config.analog_shiftreg = 1; - ah->config.ht_enable = 1; ah->config.ofdm_trig_low = 200; ah->config.ofdm_trig_high = 500; ah->config.cck_trig_high = 200; @@ -412,6 +411,11 @@ ah->config.spurchans[i][1] = AR_NO_SPUR; } + if (ah->hw_version.devid != AR2427_DEVID_PCIE) + ah->config.ht_enable = 1; + else + ah->config.ht_enable = 0; + ah->config.intr_mitigation = true; /* @@ -617,6 +621,7 @@ case AR9285_DEVID_PCIE: case AR5416_DEVID_AR9287_PCI: case AR5416_DEVID_AR9287_PCIE: + case AR2427_DEVID_PCIE: return true; default: break; @@ -880,12 +885,11 @@ } } -static void ath9k_hw_init_11a_eeprom_fix(struct ath_hw *ah) +static void ath9k_hw_init_eeprom_fix(struct ath_hw *ah) { u32 i, j; - if ((ah->hw_version.devid == AR9280_DEVID_PCI) && - test_bit(ATH9K_MODE_11A, ah->caps.wireless_modes)) { + if (ah->hw_version.devid == AR9280_DEVID_PCI) { /* EEPROM Fixup */ for (i = 0; i < ah->iniModes.ia_rows; i++) { @@ -913,6 +917,8 @@ ath9k_hw_init_defaults(ah); ath9k_hw_init_config(ah); + ath9k_hw_read_revisions(ah); + if (!ath9k_hw_set_reset_reg(ah, ATH9K_RESET_POWER_ON)) { DPRINTF(ah->ah_sc, ATH_DBG_FATAL, "Couldn't reset chip\n"); return -EIO; @@ -925,7 +931,8 @@ if (ah->config.serialize_regmode == SER_REG_MODE_AUTO) { if (ah->hw_version.macVersion == AR_SREV_VERSION_5416_PCI || - (AR_SREV_9280(ah) && !ah->is_pciexpress)) { + ((AR_SREV_9160(ah) || AR_SREV_9280(ah)) && + !ah->is_pciexpress)) { ah->config.serialize_regmode = SER_REG_MODE_ON; } else { @@ -937,6 +944,11 @@ DPRINTF(ah->ah_sc, ATH_DBG_RESET, "serialize_regmode is %d\n", ah->config.serialize_regmode); + if (AR_SREV_9285(ah) || AR_SREV_9271(ah)) + ah->config.max_txtrig_level = MAX_TX_FIFO_THRESHOLD >> 1; + else + ah->config.max_txtrig_level = MAX_TX_FIFO_THRESHOLD; + if (!ath9k_hw_macversion_supported(ah->hw_version.macVersion)) { DPRINTF(ah->ah_sc, ATH_DBG_FATAL, "Mac Chip Rev 0x%02x.%x is not supported by " @@ -975,7 +987,7 @@ ath9k_hw_init_mode_gain_regs(ah); ath9k_hw_fill_cap_info(ah); - ath9k_hw_init_11a_eeprom_fix(ah); + ath9k_hw_init_eeprom_fix(ah); r = ath9k_hw_init_macaddr(ah); if (r) { @@ -1291,6 +1303,16 @@ * Necessary to avoid issues on AR5416 2.0 */ REG_WRITE(ah, 0x9800 + (651 << 2), 0x11); + + /* + * Disable RIFS search on some chips to avoid baseband + * hang issues. + */ + if (AR_SREV_9100(ah) || AR_SREV_9160(ah)) { + val = REG_READ(ah, AR_PHY_HEAVY_CLIP_FACTOR_RIFS); + val &= ~AR_PHY_RIFS_INIT_DELAY; + REG_WRITE(ah, AR_PHY_HEAVY_CLIP_FACTOR_RIFS, val); + } } static u32 ath9k_hw_def_ini_fixup(struct ath_hw *ah, @@ -1738,8 +1760,6 @@ return false; } - ath9k_hw_read_revisions(ah); - return ath9k_hw_set_reset(ah, ATH9K_RESET_WARM); } @@ -2383,7 +2403,8 @@ macStaId1 = REG_READ(ah, AR_STA_ID1) & AR_STA_ID1_BASE_RATE_11B; /* For chips on which RTC reset is done, save TSF before it gets cleared */ - if (AR_SREV_9280(ah) && ah->eep_ops->get_eeprom(ah, EEP_OL_PWRCTRL)) + if (AR_SREV_9100(ah) || + (AR_SREV_9280(ah) && ah->eep_ops->get_eeprom(ah, EEP_OL_PWRCTRL))) tsf = ath9k_hw_gettsf64(ah); saveLedState = REG_READ(ah, AR_CFG_LED) & @@ -2413,7 +2434,7 @@ } /* Restore TSF */ - if (tsf && AR_SREV_9280(ah) && ah->eep_ops->get_eeprom(ah, EEP_OL_PWRCTRL)) + if (tsf) ath9k_hw_settsf64(ah, tsf); if (AR_SREV_9280_10_OR_LATER(ah)) @@ -2433,6 +2454,17 @@ if (r) return r; + /* + * Some AR91xx SoC devices frequently fail to accept TSF writes + * right after the chip reset. When that happens, write a new + * value after the initvals have been applied, with an offset + * based on measured time difference + */ + if (AR_SREV_9100(ah) && (ath9k_hw_gettsf64(ah) < tsf)) { + tsf += 1500; + ath9k_hw_settsf64(ah, tsf); + } + /* Setup MFP options for CCMP */ if (AR_SREV_9280_20_OR_LATER(ah)) { /* Mask Retry(b11), PwrMgt(b12), MoreData(b13) to 0 in mgmt @@ -3670,7 +3702,11 @@ pCap->keycache_size = AR_KEYTABLE_SIZE; pCap->hw_caps |= ATH9K_HW_CAP_FASTCC; - pCap->tx_triglevel_max = MAX_TX_FIFO_THRESHOLD; + + if (AR_SREV_9285(ah) || AR_SREV_9271(ah)) + pCap->tx_triglevel_max = MAX_TX_FIFO_THRESHOLD >> 1; + else + pCap->tx_triglevel_max = MAX_TX_FIFO_THRESHOLD; if (AR_SREV_9285_10_OR_LATER(ah)) pCap->num_gpio_pins = AR9285_NUM_GPIO; --- linux-2.6.32.orig/drivers/net/wireless/ath/ath9k/hw.h +++ linux-2.6.32/drivers/net/wireless/ath/ath9k/hw.h @@ -37,6 +37,7 @@ #define AR9280_DEVID_PCI 0x0029 #define AR9280_DEVID_PCIE 0x002a #define AR9285_DEVID_PCIE 0x002b +#define AR2427_DEVID_PCIE 0x002c #define AR5416_AR9100_DEVID 0x000b #define AR_SUBVENDOR_ID_NOG 0x0e11 #define AR_SUBVENDOR_ID_NEW_A 0x7065 @@ -218,6 +219,7 @@ #define AR_SPUR_FEEQ_BOUND_HT20 10 int spurmode; u16 spurchans[AR_EEPROM_MODAL_SPURS][2]; + u8 max_txtrig_level; }; enum ath9k_int { @@ -407,7 +409,7 @@ * Using de Bruijin sequence to to look up 1's index in a 32 bit number * debruijn32 = 0000 0111 0111 1100 1011 0101 0011 0001 */ -#define debruijn32 0x077CB531UL +#define debruijn32 0x077CB531U struct ath_gen_timer_configuration { u32 next_addr; --- linux-2.6.32.orig/drivers/net/wireless/ath/ath9k/mac.c +++ linux-2.6.32/drivers/net/wireless/ath/ath9k/mac.c @@ -70,7 +70,7 @@ u32 txcfg, curLevel, newLevel; enum ath9k_int omask; - if (ah->tx_trig_level >= MAX_TX_FIFO_THRESHOLD) + if (ah->tx_trig_level >= ah->config.max_txtrig_level) return false; omask = ath9k_hw_set_interrupts(ah, ah->mask_reg & ~ATH9K_INT_GLOBAL); @@ -79,7 +79,7 @@ curLevel = MS(txcfg, AR_FTRIG); newLevel = curLevel; if (bIncTrigLevel) { - if (curLevel < MAX_TX_FIFO_THRESHOLD) + if (curLevel < ah->config.max_txtrig_level) newLevel++; } else if (curLevel > MIN_TX_FIFO_THRESHOLD) newLevel--; @@ -155,7 +155,7 @@ wait = wait_time; while (ath9k_hw_numtxpending(ah, q)) { if ((--wait) == 0) { - DPRINTF(ah->ah_sc, ATH_DBG_QUEUE, + DPRINTF(ah->ah_sc, ATH_DBG_FATAL, "Failed to stop TX DMA in 100 " "msec after killing last frame\n"); break; @@ -222,6 +222,8 @@ ds->ds_txstat.ts_status = 0; ds->ds_txstat.ts_flags = 0; + if (ads->ds_txstatus1 & AR_FrmXmitOK) + ds->ds_txstat.ts_status |= ATH9K_TX_ACKED; if (ads->ds_txstatus1 & AR_ExcessiveRetries) ds->ds_txstat.ts_status |= ATH9K_TXERR_XRETRY; if (ads->ds_txstatus1 & AR_Filtered) --- linux-2.6.32.orig/drivers/net/wireless/ath/ath9k/mac.h +++ linux-2.6.32/drivers/net/wireless/ath/ath9k/mac.h @@ -76,6 +76,10 @@ #define ATH9K_TXERR_FIFO 0x04 #define ATH9K_TXERR_XTXOP 0x08 #define ATH9K_TXERR_TIMER_EXPIRED 0x10 +#define ATH9K_TX_ACKED 0x20 +#define ATH9K_TXERR_MASK \ + (ATH9K_TXERR_XRETRY | ATH9K_TXERR_FILT | ATH9K_TXERR_FIFO | \ + ATH9K_TXERR_XTXOP | ATH9K_TXERR_TIMER_EXPIRED) #define ATH9K_TX_BA 0x01 #define ATH9K_TX_PWRMGMT 0x02 --- linux-2.6.32.orig/drivers/net/wireless/ath/ath9k/main.c +++ linux-2.6.32/drivers/net/wireless/ath/ath9k/main.c @@ -1538,14 +1538,19 @@ void ath_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw) { + struct ath_hw *ah = sc->sc_ah; + hw->flags = IEEE80211_HW_RX_INCLUDES_FCS | IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING | IEEE80211_HW_SIGNAL_DBM | - IEEE80211_HW_AMPDU_AGGREGATION | IEEE80211_HW_SUPPORTS_PS | IEEE80211_HW_PS_NULLFUNC_STACK | + IEEE80211_HW_REPORTS_TX_ACK_STATUS | IEEE80211_HW_SPECTRUM_MGMT; + if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_HT) + hw->flags |= IEEE80211_HW_AMPDU_AGGREGATION; + if (AR_SREV_9160_10_OR_LATER(sc->sc_ah) || modparam_nohwcrypt) hw->flags |= IEEE80211_HW_MFP_CAPABLE; @@ -1555,7 +1560,10 @@ BIT(NL80211_IFTYPE_ADHOC) | BIT(NL80211_IFTYPE_MESH_POINT); - hw->wiphy->ps_default = false; + if (AR_SREV_5416(ah)) + hw->wiphy->ps_default = false; + else + hw->wiphy->ps_default = true; hw->queues = 4; hw->max_rates = 4; @@ -1910,6 +1918,8 @@ DPRINTF(sc, ATH_DBG_CONFIG, "Starting driver with " "initial channel: %d MHz\n", curchan->center_freq); + ath9k_ps_wakeup(sc); + mutex_lock(&sc->mutex); if (ath9k_wiphy_started(sc)) { @@ -2017,6 +2027,8 @@ mutex_unlock: mutex_unlock(&sc->mutex); + ath9k_ps_restore(sc); + return r; } @@ -2147,6 +2159,9 @@ return; /* another wiphy still in use */ } + /* Ensure HW is awake when we try to shut it down. */ + ath9k_ps_wakeup(sc); + if (sc->sc_flags & SC_OP_BTCOEX_ENABLED) { ath9k_hw_btcoex_disable(sc->sc_ah); if (sc->btcoex_info.btcoex_scheme == ATH_BTCOEX_CFG_3WIRE) @@ -2167,6 +2182,9 @@ /* disable HAL and put h/w to sleep */ ath9k_hw_disable(sc->sc_ah); ath9k_hw_configpcipowersave(sc->sc_ah, 1, 1); + ath9k_ps_restore(sc); + + /* Finally, put the chip in FULL SLEEP mode */ ath9k_hw_setpower(sc->sc_ah, ATH9K_PM_FULL_SLEEP); sc->sc_flags |= SC_OP_INVALID; @@ -2277,10 +2295,12 @@ if ((sc->sc_ah->opmode == NL80211_IFTYPE_AP) || (sc->sc_ah->opmode == NL80211_IFTYPE_ADHOC) || (sc->sc_ah->opmode == NL80211_IFTYPE_MESH_POINT)) { + ath9k_ps_wakeup(sc); ath9k_hw_stoptxdma(sc->sc_ah, sc->beacon.beaconq); - ath_beacon_return(sc, avp); + ath9k_ps_restore(sc); } + ath_beacon_return(sc, avp); sc->sc_flags &= ~SC_OP_BEACONS; for (i = 0; i < ARRAY_SIZE(sc->beacon.bslot); i++) { @@ -2297,6 +2317,19 @@ mutex_unlock(&sc->mutex); } +void ath9k_enable_ps(struct ath_softc *sc) +{ + sc->ps_enabled = true; + if (!(sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_AUTOSLEEP)) { + if ((sc->imask & ATH9K_INT_TIM_TIMER) == 0) { + sc->imask |= ATH9K_INT_TIM_TIMER; + ath9k_hw_set_interrupts(sc->sc_ah, + sc->imask); + } + } + ath9k_hw_setrxabort(sc->sc_ah, 1); +} + static int ath9k_config(struct ieee80211_hw *hw, u32 changed) { struct ath_wiphy *aphy = hw->priv; @@ -2327,18 +2360,15 @@ if (changed & IEEE80211_CONF_CHANGE_PS) { if (conf->flags & IEEE80211_CONF_PS) { - if (!(ah->caps.hw_caps & - ATH9K_HW_CAP_AUTOSLEEP)) { - if ((sc->imask & ATH9K_INT_TIM_TIMER) == 0) { - sc->imask |= ATH9K_INT_TIM_TIMER; - ath9k_hw_set_interrupts(sc->sc_ah, - sc->imask); - } - ath9k_hw_setrxabort(sc->sc_ah, 1); + sc->sc_flags |= SC_OP_PS_ENABLED; + if ((sc->sc_flags & SC_OP_NULLFUNC_COMPLETED)) { + sc->sc_flags &= ~SC_OP_NULLFUNC_COMPLETED; + ath9k_enable_ps(sc); } - sc->ps_enabled = true; } else { sc->ps_enabled = false; + sc->sc_flags &= ~(SC_OP_PS_ENABLED | + SC_OP_NULLFUNC_COMPLETED); ath9k_hw_setpower(sc->sc_ah, ATH9K_PM_AWAKE); if (!(ah->caps.hw_caps & ATH9K_HW_CAP_AUTOSLEEP)) { @@ -2442,6 +2472,9 @@ struct ath_wiphy *aphy = hw->priv; struct ath_softc *sc = aphy->sc; + if (!(sc->sc_flags & SC_OP_TXAGGR)) + return; + switch (cmd) { case STA_NOTIFY_ADD: ath_node_attach(sc, sta); @@ -2717,15 +2750,21 @@ case IEEE80211_AMPDU_RX_STOP: break; case IEEE80211_AMPDU_TX_START: + ath9k_ps_wakeup(sc); ath_tx_aggr_start(sc, sta, tid, ssn); ieee80211_start_tx_ba_cb_irqsafe(hw, sta->addr, tid); + ath9k_ps_restore(sc); break; case IEEE80211_AMPDU_TX_STOP: + ath9k_ps_wakeup(sc); ath_tx_aggr_stop(sc, sta, tid); ieee80211_stop_tx_ba_cb_irqsafe(hw, sta->addr, tid); + ath9k_ps_restore(sc); break; case IEEE80211_AMPDU_TX_OPERATIONAL: + ath9k_ps_wakeup(sc); ath_tx_aggr_resume(sc, sta, tid); + ath9k_ps_restore(sc); break; default: DPRINTF(sc, ATH_DBG_FATAL, "Unknown AMPDU action\n"); --- linux-2.6.32.orig/drivers/net/wireless/ath/ath9k/pci.c +++ linux-2.6.32/drivers/net/wireless/ath/ath9k/pci.c @@ -25,6 +25,7 @@ { PCI_VDEVICE(ATHEROS, 0x0029) }, /* PCI */ { PCI_VDEVICE(ATHEROS, 0x002A) }, /* PCI-E */ { PCI_VDEVICE(ATHEROS, 0x002B) }, /* PCI-E */ + { PCI_VDEVICE(ATHEROS, 0x002C) }, /* PCI-E 802.11n bonded out */ { PCI_VDEVICE(ATHEROS, 0x002D) }, /* PCI */ { PCI_VDEVICE(ATHEROS, 0x002E) }, /* PCI-E */ { 0 } --- linux-2.6.32.orig/drivers/net/wireless/ath/ath9k/phy.h +++ linux-2.6.32/drivers/net/wireless/ath/ath9k/phy.h @@ -368,6 +368,9 @@ #define AR_PHY_HEAVY_CLIP_ENABLE 0x99E0 +#define AR_PHY_HEAVY_CLIP_FACTOR_RIFS 0x99EC +#define AR_PHY_RIFS_INIT_DELAY 0x03ff0000 + #define AR_PHY_M_SLEEP 0x99f0 #define AR_PHY_REFCLKDLY 0x99f4 #define AR_PHY_REFCLKPD 0x99f8 --- linux-2.6.32.orig/drivers/net/wireless/ath/ath9k/rc.c +++ linux-2.6.32/drivers/net/wireless/ath/ath9k/rc.c @@ -757,7 +757,7 @@ struct ieee80211_tx_rate *rates = tx_info->control.rates; struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; __le16 fc = hdr->frame_control; - u8 try_per_rate, i = 0, rix, nrix; + u8 try_per_rate, i = 0, rix; int is_probe = 0; if (rate_control_send_low(sta, priv_sta, txrc)) @@ -777,26 +777,25 @@ rate_table = sc->cur_rate_table; rix = ath_rc_get_highest_rix(sc, ath_rc_priv, rate_table, &is_probe); - nrix = rix; if (is_probe) { /* set one try for probe rates. For the * probes don't enable rts */ ath_rc_rate_set_series(rate_table, &rates[i++], txrc, - 1, nrix, 0); + 1, rix, 0); /* Get the next tried/allowed rate. No RTS for the next series * after the probe rate */ - ath_rc_get_lower_rix(rate_table, ath_rc_priv, rix, &nrix); + ath_rc_get_lower_rix(rate_table, ath_rc_priv, rix, &rix); ath_rc_rate_set_series(rate_table, &rates[i++], txrc, - try_per_rate, nrix, 0); + try_per_rate, rix, 0); tx_info->flags |= IEEE80211_TX_CTL_RATE_CTRL_PROBE; } else { /* Set the choosen rate. No RTS for first series entry. */ ath_rc_rate_set_series(rate_table, &rates[i++], txrc, - try_per_rate, nrix, 0); + try_per_rate, rix, 0); } /* Fill in the other rates for multirate retry */ @@ -805,10 +804,10 @@ if (i + 1 == 4) try_per_rate = 4; - ath_rc_get_lower_rix(rate_table, ath_rc_priv, rix, &nrix); + ath_rc_get_lower_rix(rate_table, ath_rc_priv, rix, &rix); /* All other rates in the series have RTS enabled */ ath_rc_rate_set_series(rate_table, &rates[i], txrc, - try_per_rate, nrix, 1); + try_per_rate, rix, 1); } /* --- linux-2.6.32.orig/drivers/net/wireless/ath/ath9k/reg.h +++ linux-2.6.32/drivers/net/wireless/ath/ath9k/reg.h @@ -969,10 +969,10 @@ #define AR_GPIO_INPUT_EN_VAL_BT_ACTIVE_S 4 #define AR_GPIO_INPUT_EN_VAL_RFSILENT_DEF 0x00000080 #define AR_GPIO_INPUT_EN_VAL_RFSILENT_DEF_S 7 +#define AR_GPIO_INPUT_EN_VAL_BT_PRIORITY_BB 0x00000400 +#define AR_GPIO_INPUT_EN_VAL_BT_PRIORITY_BB_S 10 #define AR_GPIO_INPUT_EN_VAL_BT_ACTIVE_BB 0x00001000 #define AR_GPIO_INPUT_EN_VAL_BT_ACTIVE_BB_S 12 -#define AR_GPIO_INPUT_EN_VAL_BT_PRIORITY_BB 0x00001000 -#define AR_GPIO_INPUT_EN_VAL_BT_PRIORITY_BB_S 1 #define AR_GPIO_INPUT_EN_VAL_RFSILENT_BB 0x00008000 #define AR_GPIO_INPUT_EN_VAL_RFSILENT_BB_S 15 #define AR_GPIO_RTC_RESET_OVERRIDE_ENABLE 0x00010000 --- linux-2.6.32.orig/drivers/net/wireless/ath/ath9k/xmit.c +++ linux-2.6.32/drivers/net/wireless/ath/ath9k/xmit.c @@ -423,6 +423,14 @@ bf = bf_next; } + /* prepend un-acked frames to the beginning of the pending frame queue */ + if (!list_empty(&bf_pending)) { + spin_lock_bh(&txq->axq_lock); + list_splice(&bf_pending, &tid->buf_q); + ath_tx_queue_tid(txq, tid); + spin_unlock_bh(&txq->axq_lock); + } + if (tid->state & AGGR_CLEANUP) { if (tid->baw_head == tid->baw_tail) { tid->state &= ~AGGR_ADDBA_COMPLETE; @@ -435,14 +443,6 @@ return; } - /* prepend un-acked frames to the beginning of the pending frame queue */ - if (!list_empty(&bf_pending)) { - spin_lock_bh(&txq->axq_lock); - list_splice(&bf_pending, &tid->buf_q); - ath_tx_queue_tid(txq, tid); - spin_unlock_bh(&txq->axq_lock); - } - rcu_read_unlock(); if (needreset) @@ -1076,10 +1076,10 @@ if (npend) { int r; - DPRINTF(sc, ATH_DBG_XMIT, "Unable to stop TxDMA. Reset HAL!\n"); + DPRINTF(sc, ATH_DBG_FATAL, "Unable to stop TxDMA. Reset HAL!\n"); spin_lock_bh(&sc->sc_resetlock); - r = ath9k_hw_reset(ah, sc->sc_ah->curchan, true); + r = ath9k_hw_reset(ah, sc->sc_ah->curchan, false); if (r) DPRINTF(sc, ATH_DBG_FATAL, "Unable to reset hardware; reset status %d\n", @@ -1320,25 +1320,6 @@ return htype; } -static bool is_pae(struct sk_buff *skb) -{ - struct ieee80211_hdr *hdr; - __le16 fc; - - hdr = (struct ieee80211_hdr *)skb->data; - fc = hdr->frame_control; - - if (ieee80211_is_data(fc)) { - if (ieee80211_is_nullfunc(fc) || - /* Port Access Entity (IEEE 802.1X) */ - (skb->protocol == cpu_to_be16(ETH_P_PAE))) { - return true; - } - } - - return false; -} - static int get_hw_crypto_keytype(struct sk_buff *skb) { struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb); @@ -1563,7 +1544,7 @@ bf->bf_frmlen = skb->len + FCS_LEN - (hdrlen & 3); - if (conf_is_ht(&sc->hw->conf) && !is_pae(skb)) + if (conf_is_ht(&sc->hw->conf)) bf->bf_state.bf_type |= BUF_HT; bf->bf_flags = setup_tx_flags(sc, skb, txctl->txq); @@ -1592,6 +1573,13 @@ } bf->bf_buf_addr = bf->bf_dmacontext; + + if (ieee80211_is_nullfunc(fc) && ieee80211_has_pm(fc)) { + bf->bf_isnullfunc = true; + sc->sc_flags &= ~SC_OP_NULLFUNC_COMPLETED; + } else + bf->bf_isnullfunc = false; + return 0; } @@ -1989,6 +1977,14 @@ if (ds == txq->axq_gatingds) txq->axq_gatingds = NULL; + if (bf->bf_isnullfunc && + (ds->ds_txstat.ts_status & ATH9K_TX_ACKED)) { + if ((sc->sc_flags & SC_OP_PS_ENABLED)) + ath9k_enable_ps(sc); + else + sc->sc_flags |= SC_OP_NULLFUNC_COMPLETED; + } + /* * Remove ath_buf's of the same transmit unit from txq, * however leave the last descriptor back as the holding @@ -2004,7 +2000,7 @@ if (bf_isaggr(bf)) txq->axq_aggr_depth--; - txok = (ds->ds_txstat.ts_status == 0); + txok = !(ds->ds_txstat.ts_status & ATH9K_TXERR_MASK); txq->axq_tx_inprogress = false; spin_unlock_bh(&txq->axq_lock); @@ -2065,7 +2061,9 @@ if (needreset) { DPRINTF(sc, ATH_DBG_RESET, "tx hung, resetting the chip\n"); + ath9k_ps_wakeup(sc); ath_reset(sc, false); + ath9k_ps_restore(sc); } ieee80211_queue_delayed_work(sc->hw, &sc->tx_complete_work, --- linux-2.6.32.orig/drivers/net/wireless/ath/ath9k/eeprom_def.c +++ linux-2.6.32/drivers/net/wireless/ath/ath9k/eeprom_def.c @@ -714,7 +714,7 @@ vpdTableI[i][sizeCurrVpdTable - 2]); vpdStep = (int16_t)((vpdStep < 1) ? 1 : vpdStep); - if (tgtIndex > maxIndex) { + if (tgtIndex >= maxIndex) { while ((ss <= tgtIndex) && (k < (AR5416_NUM_PDADC_VALUES - 1))) { tmpVal = (int16_t)((vpdTableI[i][sizeCurrVpdTable - 1] + --- linux-2.6.32.orig/drivers/net/wireless/ath/ath9k/initvals.h +++ linux-2.6.32/drivers/net/wireless/ath/ath9k/initvals.h @@ -2762,7 +2762,7 @@ { 0x00008258, 0x00000000 }, { 0x0000825c, 0x400000ff }, { 0x00008260, 0x00080922 }, - { 0x00008264, 0xa8a00010 }, + { 0x00008264, 0x88a00010 }, { 0x00008270, 0x00000000 }, { 0x00008274, 0x40000000 }, { 0x00008278, 0x003e4180 }, @@ -3935,7 +3935,7 @@ { 0x00008258, 0x00000000 }, { 0x0000825c, 0x400000ff }, { 0x00008260, 0x00080922 }, - { 0x00008264, 0xa8a00010 }, + { 0x00008264, 0x88a00010 }, { 0x00008270, 0x00000000 }, { 0x00008274, 0x40000000 }, { 0x00008278, 0x003e4180 }, @@ -5072,7 +5072,7 @@ { 0x00008258, 0x00000000 }, { 0x0000825c, 0x400000ff }, { 0x00008260, 0x00080922 }, - { 0x00008264, 0xa8a00010 }, + { 0x00008264, 0x88a00010 }, { 0x00008270, 0x00000000 }, { 0x00008274, 0x40000000 }, { 0x00008278, 0x003e4180 }, @@ -6864,7 +6864,7 @@ { 0x00008258, 0x00000000 }, { 0x0000825c, 0x400000ff }, { 0x00008260, 0x00080922 }, - { 0x00008264, 0xa8a00010 }, + { 0x00008264, 0x88a00010 }, { 0x00008270, 0x00000000 }, { 0x00008274, 0x40000000 }, { 0x00008278, 0x003e4180 }, --- linux-2.6.32.orig/drivers/net/wireless/ath/ar9170/hw.h +++ linux-2.6.32/drivers/net/wireless/ath/ar9170/hw.h @@ -422,5 +422,6 @@ #define AR9170_TXQ_DEPTH 32 #define AR9170_TX_MAX_PENDING 128 +#define AR9170_RX_STREAM_MAX_SIZE 65535 #endif /* __AR9170_HW_H */ --- linux-2.6.32.orig/drivers/net/wireless/ath/ar9170/main.c +++ linux-2.6.32/drivers/net/wireless/ath/ar9170/main.c @@ -2526,7 +2526,7 @@ * tends to split the streams into seperate rx descriptors. */ - skb = __dev_alloc_skb(AR9170_MAX_RX_BUFFER_SIZE, GFP_KERNEL); + skb = __dev_alloc_skb(AR9170_RX_STREAM_MAX_SIZE, GFP_KERNEL); if (!skb) goto err_nomem; --- linux-2.6.32.orig/drivers/net/wireless/ath/ar9170/usb.c +++ linux-2.6.32/drivers/net/wireless/ath/ar9170/usb.c @@ -66,16 +66,28 @@ { USB_DEVICE(0x0cf3, 0x1001) }, /* TP-Link TL-WN821N v2 */ { USB_DEVICE(0x0cf3, 0x1002) }, + /* 3Com Dual Band 802.11n USB Adapter */ + { USB_DEVICE(0x0cf3, 0x1010) }, + /* H3C Dual Band 802.11n USB Adapter */ + { USB_DEVICE(0x0cf3, 0x1011) }, /* Cace Airpcap NX */ { USB_DEVICE(0xcace, 0x0300) }, - /* D-Link DWA 160A */ + /* D-Link DWA 160 A1 */ { USB_DEVICE(0x07d1, 0x3c10) }, + /* D-Link DWA 160 A2 */ + { USB_DEVICE(0x07d1, 0x3a09) }, + /* Netgear WNA1000 */ + { USB_DEVICE(0x0846, 0x9040) }, /* Netgear WNDA3100 */ { USB_DEVICE(0x0846, 0x9010) }, /* Netgear WN111 v2 */ { USB_DEVICE(0x0846, 0x9001) }, /* Zydas ZD1221 */ { USB_DEVICE(0x0ace, 0x1221) }, + /* Proxim ORiNOCO 802.11n USB */ + { USB_DEVICE(0x1435, 0x0804) }, + /* WNC Generic 11n USB Dongle */ + { USB_DEVICE(0x1435, 0x0326) }, /* ZyXEL NWD271N */ { USB_DEVICE(0x0586, 0x3417) }, /* Z-Com UB81 BG */ @@ -412,7 +424,7 @@ spin_unlock_irqrestore(&aru->common.cmdlock, flags); usb_fill_int_urb(urb, aru->udev, - usb_sndbulkpipe(aru->udev, AR9170_EP_CMD), + usb_sndintpipe(aru->udev, AR9170_EP_CMD), aru->common.cmdbuf, plen + 4, ar9170_usb_tx_urb_complete, NULL, 1); --- linux-2.6.32.orig/drivers/net/wireless/b43/Kconfig +++ linux-2.6.32/drivers/net/wireless/b43/Kconfig @@ -78,11 +78,11 @@ If unsure, say N. -# Data transfers to the device via PIO -# This is only needed on PCMCIA and SDIO devices. All others can do DMA properly. +#Data transfers to the device via PIO. We want it as a fallback even +# if we can do DMA. config B43_PIO bool - depends on B43 && (B43_SDIO || B43_PCMCIA || B43_FORCE_PIO) + depends on B43 select SSB_BLOCKIO default y --- linux-2.6.32.orig/drivers/net/wireless/b43/Makefile +++ linux-2.6.32/drivers/net/wireless/b43/Makefile @@ -12,7 +12,7 @@ b43-y += lo.o b43-y += wa.o b43-y += dma.o -b43-$(CONFIG_B43_PIO) += pio.o +b43-y += pio.o b43-y += rfkill.o b43-$(CONFIG_B43_LEDS) += leds.o b43-$(CONFIG_B43_PCMCIA) += pcmcia.o --- linux-2.6.32.orig/drivers/net/wireless/b43/b43.h +++ linux-2.6.32/drivers/net/wireless/b43/b43.h @@ -117,6 +117,7 @@ #define B43_MMIO_TSF_2 0x636 /* core rev < 3 only */ #define B43_MMIO_TSF_3 0x638 /* core rev < 3 only */ #define B43_MMIO_RNG 0x65A +#define B43_MMIO_IFSSLOT 0x684 /* Interframe slot time */ #define B43_MMIO_IFSCTL 0x688 /* Interframe space control */ #define B43_MMIO_IFSCTL_USE_EDCF 0x0004 #define B43_MMIO_POWERUP_DELAY 0x6A8 @@ -695,6 +696,7 @@ bool radio_hw_enable; /* saved state of radio hardware enabled state */ bool qos_enabled; /* TRUE, if QoS is used. */ bool hwcrypto_enabled; /* TRUE, if HW crypto acceleration is enabled. */ + bool use_pio; /* TRUE if next init should use PIO */ /* PHY/Radio device. */ struct b43_phy phy; @@ -749,12 +751,6 @@ #endif }; -/* - * Include goes here to avoid a dependency problem. - * A better fix would be to integrate xmit.h into b43.h. - */ -#include "xmit.h" - /* Data structure for the WLAN parts (802.11 cores) of the b43 chip. */ struct b43_wl { /* Pointer to the active wireless device on this chip */ @@ -829,15 +825,9 @@ /* The device LEDs. */ struct b43_leds leds; -#ifdef CONFIG_B43_PIO - /* - * RX/TX header/tail buffers used by the frame transmit functions. - */ - struct b43_rxhdr_fw4 rxhdr; - struct b43_txhdr txhdr; - u8 rx_tail[4]; - u8 tx_tail[4]; -#endif /* CONFIG_B43_PIO */ + /* Kmalloc'ed scratch space for PIO TX/RX. Protected by wl->mutex. */ + u8 pio_scratchspace[110] __attribute__((__aligned__(8))); + u8 pio_tailspace[4] __attribute__((__aligned__(8))); }; static inline struct b43_wl *hw_to_b43_wl(struct ieee80211_hw *hw) @@ -888,20 +878,15 @@ static inline bool b43_using_pio_transfers(struct b43_wldev *dev) { -#ifdef CONFIG_B43_PIO return dev->__using_pio_transfers; -#else - return 0; -#endif } #ifdef CONFIG_B43_FORCE_PIO -# define B43_FORCE_PIO 1 +# define B43_PIO_DEFAULT 1 #else -# define B43_FORCE_PIO 0 +# define B43_PIO_DEFAULT 0 #endif - /* Message printing */ void b43info(struct b43_wl *wl, const char *fmt, ...) __attribute__ ((format(printf, 2, 3))); --- linux-2.6.32.orig/drivers/net/wireless/b43/dma.c +++ linux-2.6.32/drivers/net/wireless/b43/dma.c @@ -1521,7 +1521,7 @@ dmaaddr = meta->dmaaddr; goto drop_recycle_buffer; } - if (unlikely(len > ring->rx_buffersize)) { + if (unlikely(len + ring->frameoffset > ring->rx_buffersize)) { /* The data did not fit into one descriptor buffer * and is split over multiple buffers. * This should never happen, as we try to allocate buffers @@ -1620,7 +1620,6 @@ b43_power_saving_ctl_bits(dev, 0); } -#ifdef CONFIG_B43_PIO static void direct_fifo_rx(struct b43_wldev *dev, enum b43_dmatype type, u16 mmio_base, bool enable) { @@ -1654,4 +1653,3 @@ mmio_base = b43_dmacontroller_base(type, engine_index); direct_fifo_rx(dev, type, mmio_base, enable); } -#endif /* CONFIG_B43_PIO */ --- linux-2.6.32.orig/drivers/net/wireless/b43/dma.h +++ linux-2.6.32/drivers/net/wireless/b43/dma.h @@ -163,7 +163,7 @@ /* DMA engine tuning knobs */ #define B43_TXRING_SLOTS 256 #define B43_RXRING_SLOTS 64 -#define B43_DMA0_RX_BUFFERSIZE IEEE80211_MAX_FRAME_LEN +#define B43_DMA0_RX_BUFFERSIZE (B43_DMA0_RX_FRAMEOFFSET + IEEE80211_MAX_FRAME_LEN) struct sk_buff; --- linux-2.6.32.orig/drivers/net/wireless/b43/main.c +++ linux-2.6.32/drivers/net/wireless/b43/main.c @@ -66,8 +66,38 @@ MODULE_AUTHOR("Gábor Stefanik"); MODULE_LICENSE("GPL"); -MODULE_FIRMWARE(B43_SUPPORTED_FIRMWARE_ID); - +MODULE_FIRMWARE("b43/a0g0bsinitvals5.fw"); +MODULE_FIRMWARE("b43/a0g0bsinitvals9.fw"); +MODULE_FIRMWARE("b43/a0g0initvals5.fw"); +MODULE_FIRMWARE("b43/a0g0initvals9.fw"); +MODULE_FIRMWARE("b43/a0g1bsinitvals13.fw"); +MODULE_FIRMWARE("b43/a0g1bsinitvals5.fw"); +MODULE_FIRMWARE("b43/a0g1bsinitvals9.fw"); +MODULE_FIRMWARE("b43/a0g1initvals13.fw"); +MODULE_FIRMWARE("b43/a0g1initvals5.fw"); +MODULE_FIRMWARE("b43/a0g1initvals9.fw"); +MODULE_FIRMWARE("b43/b0g0bsinitvals13.fw"); +MODULE_FIRMWARE("b43/b0g0bsinitvals5.fw"); +MODULE_FIRMWARE("b43/b0g0bsinitvals9.fw"); +MODULE_FIRMWARE("b43/b0g0initvals13.fw"); +MODULE_FIRMWARE("b43/b0g0initvals5.fw"); +MODULE_FIRMWARE("b43/b0g0initvals9.fw"); +MODULE_FIRMWARE("b43/lp0bsinitvals13.fw"); +MODULE_FIRMWARE("b43/lp0bsinitvals14.fw"); +MODULE_FIRMWARE("b43/lp0bsinitvals15.fw"); +MODULE_FIRMWARE("b43/lp0initvals13.fw"); +MODULE_FIRMWARE("b43/lp0initvals14.fw"); +MODULE_FIRMWARE("b43/lp0initvals15.fw"); +MODULE_FIRMWARE("b43/n0absinitvals11.fw"); +MODULE_FIRMWARE("b43/n0bsinitvals11.fw"); +MODULE_FIRMWARE("b43/n0initvals11.fw"); +MODULE_FIRMWARE("b43/pcm5.fw"); +MODULE_FIRMWARE("b43/ucode11.fw"); +MODULE_FIRMWARE("b43/ucode13.fw"); +MODULE_FIRMWARE("b43/ucode14.fw"); +MODULE_FIRMWARE("b43/ucode15.fw"); +MODULE_FIRMWARE("b43/ucode5.fw"); +MODULE_FIRMWARE("b43/ucode9.fw"); static int modparam_bad_frames_preempt; module_param_named(bad_frames_preempt, modparam_bad_frames_preempt, int, 0444); @@ -102,6 +132,9 @@ module_param_named(verbose, b43_modparam_verbose, int, 0644); MODULE_PARM_DESC(verbose, "Log message verbosity: 0=error, 1=warn, 2=info(default), 3=debug"); +int b43_modparam_pio = B43_PIO_DEFAULT; +module_param_named(pio, b43_modparam_pio, int, 0644); +MODULE_PARM_DESC(pio, "Use PIO accesses by default: 0=DMA, 1=PIO"); static const struct ssb_device_id b43_ssb_tbl[] = { SSB_DEVICE(SSB_VENDOR_BROADCOM, SSB_DEV_80211, 5), @@ -628,10 +661,17 @@ static void b43_set_slot_time(struct b43_wldev *dev, u16 slot_time) { /* slot_time is in usec. */ - if (dev->phy.type != B43_PHYTYPE_G) + /* This test used to exit for all but a G PHY. */ + if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) return; - b43_write16(dev, 0x684, 510 + slot_time); - b43_shm_write16(dev, B43_SHM_SHARED, 0x0010, slot_time); + b43_write16(dev, B43_MMIO_IFSSLOT, 510 + slot_time); + /* Shared memory location 0x0010 is the slot time and should be + * set to slot_time; however, this register is initially 0 and changing + * the value adversely affects the transmit rate for BCM4311 + * devices. Until this behavior is unterstood, delete this step + * + * b43_shm_write16(dev, B43_SHM_SHARED, 0x0010, slot_time); + */ } static void b43_short_slot_timing_enable(struct b43_wldev *dev) @@ -845,19 +885,16 @@ if (B43_WARN_ON(!modparam_hwtkip)) return; - mutex_lock(&wl->mutex); - + /* This is only called from the RX path through mac80211, where + * our mutex is already locked. */ + B43_WARN_ON(!mutex_is_locked(&wl->mutex)); dev = wl->current_dev; - if (!dev || b43_status(dev) < B43_STAT_INITIALIZED) - goto out_unlock; + B43_WARN_ON(!dev || b43_status(dev) < B43_STAT_INITIALIZED); keymac_write(dev, index, NULL); /* First zero out mac to avoid race */ rx_tkip_phase1_write(dev, index, iv32, phase1key); keymac_write(dev, index, addr); - -out_unlock: - mutex_unlock(&wl->mutex); } static void do_key_write(struct b43_wldev *dev, @@ -1519,7 +1556,8 @@ u32 cmd, beacon0_valid, beacon1_valid; if (!b43_is_mode(wl, NL80211_IFTYPE_AP) && - !b43_is_mode(wl, NL80211_IFTYPE_MESH_POINT)) + !b43_is_mode(wl, NL80211_IFTYPE_MESH_POINT) && + !b43_is_mode(wl, NL80211_IFTYPE_ADHOC)) return; /* This is the bottom half of the asynchronous beacon update. */ @@ -1784,6 +1822,10 @@ 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. Please use PIO instead.\n"); + /* Fall back to PIO transfers if we get fatal DMA errors! */ + dev->use_pio = 1; b43_controller_restart(dev, "DMA error"); return; } @@ -3960,6 +4002,7 @@ } /* We are ready to run. */ + ieee80211_wake_queues(dev->wl->hw); b43_set_status(dev, B43_STAT_STARTED); /* Start data flow (TX/RX). */ @@ -4350,7 +4393,7 @@ if ((dev->dev->bus->bustype == SSB_BUSTYPE_PCMCIA) || (dev->dev->bus->bustype == SSB_BUSTYPE_SDIO) || - B43_FORCE_PIO) { + dev->use_pio) { dev->__using_pio_transfers = 1; err = b43_pio_init(dev); } else { @@ -4369,8 +4412,6 @@ ieee80211_wake_queues(dev->wl->hw); - ieee80211_wake_queues(dev->wl->hw); - b43_set_status(dev, B43_STAT_INITIALIZED); out: @@ -4820,6 +4861,7 @@ if (!wldev) goto out; + wldev->use_pio = b43_modparam_pio; wldev->dev = dev; wldev->wl = wl; b43_set_status(wldev, B43_STAT_UNINIT); --- linux-2.6.32.orig/drivers/net/wireless/b43/pio.c +++ linux-2.6.32/drivers/net/wireless/b43/pio.c @@ -342,12 +342,15 @@ q->mmio_base + B43_PIO_TXDATA, sizeof(u16)); if (data_len & 1) { + u8 *tail = wl->pio_tailspace; + BUILD_BUG_ON(sizeof(wl->pio_tailspace) < 2); + /* Write the last byte. */ ctl &= ~B43_PIO_TXCTL_WRITEHI; b43_piotx_write16(q, B43_PIO_TXCTL, ctl); - wl->tx_tail[0] = data[data_len - 1]; - wl->tx_tail[1] = 0; - ssb_block_write(dev->dev, wl->tx_tail, 2, + tail[0] = data[data_len - 1]; + tail[1] = 0; + ssb_block_write(dev->dev, tail, 2, q->mmio_base + B43_PIO_TXDATA, sizeof(u16)); } @@ -393,31 +396,31 @@ q->mmio_base + B43_PIO8_TXDATA, sizeof(u32)); if (data_len & 3) { - wl->tx_tail[3] = 0; + u8 *tail = wl->pio_tailspace; + BUILD_BUG_ON(sizeof(wl->pio_tailspace) < 4); + + memset(tail, 0, 4); /* Write the last few bytes. */ ctl &= ~(B43_PIO8_TXCTL_8_15 | B43_PIO8_TXCTL_16_23 | B43_PIO8_TXCTL_24_31); switch (data_len & 3) { case 3: ctl |= B43_PIO8_TXCTL_16_23 | B43_PIO8_TXCTL_8_15; - wl->tx_tail[0] = data[data_len - 3]; - wl->tx_tail[1] = data[data_len - 2]; - wl->tx_tail[2] = data[data_len - 1]; + tail[0] = data[data_len - 3]; + tail[1] = data[data_len - 2]; + tail[2] = data[data_len - 1]; break; case 2: ctl |= B43_PIO8_TXCTL_8_15; - wl->tx_tail[0] = data[data_len - 2]; - wl->tx_tail[1] = data[data_len - 1]; - wl->tx_tail[2] = 0; + tail[0] = data[data_len - 2]; + tail[1] = data[data_len - 1]; break; case 1: - wl->tx_tail[0] = data[data_len - 1]; - wl->tx_tail[1] = 0; - wl->tx_tail[2] = 0; + tail[0] = data[data_len - 1]; break; } b43_piotx_write32(q, B43_PIO8_TXCTL, ctl); - ssb_block_write(dev->dev, wl->tx_tail, 4, + ssb_block_write(dev->dev, tail, 4, q->mmio_base + B43_PIO8_TXDATA, sizeof(u32)); } @@ -456,6 +459,7 @@ int err; unsigned int hdrlen; struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); + struct b43_txhdr *txhdr = (struct b43_txhdr *)wl->pio_scratchspace; B43_WARN_ON(list_empty(&q->packets_list)); pack = list_entry(q->packets_list.next, @@ -463,7 +467,9 @@ cookie = generate_cookie(q, pack); hdrlen = b43_txhdr_size(dev); - err = b43_generate_txhdr(dev, (u8 *)&wl->txhdr, skb, + BUILD_BUG_ON(sizeof(wl->pio_scratchspace) < sizeof(struct b43_txhdr)); + B43_WARN_ON(sizeof(wl->pio_scratchspace) < hdrlen); + err = b43_generate_txhdr(dev, (u8 *)txhdr, skb, info, cookie); if (err) return err; @@ -477,9 +483,9 @@ pack->skb = skb; if (q->rev >= 8) - pio_tx_frame_4byte_queue(pack, (const u8 *)&wl->txhdr, hdrlen); + pio_tx_frame_4byte_queue(pack, (const u8 *)txhdr, hdrlen); else - pio_tx_frame_2byte_queue(pack, (const u8 *)&wl->txhdr, hdrlen); + pio_tx_frame_2byte_queue(pack, (const u8 *)txhdr, hdrlen); /* Remove it from the list of available packet slots. * It will be put back when we receive the status report. */ @@ -625,8 +631,11 @@ unsigned int i, padding; struct sk_buff *skb; const char *err_msg = NULL; + struct b43_rxhdr_fw4 *rxhdr = + (struct b43_rxhdr_fw4 *)wl->pio_scratchspace; - memset(&wl->rxhdr, 0, sizeof(wl->rxhdr)); + BUILD_BUG_ON(sizeof(wl->pio_scratchspace) < sizeof(*rxhdr)); + memset(rxhdr, 0, sizeof(*rxhdr)); /* Check if we have data and wait for it to get ready. */ if (q->rev >= 8) { @@ -664,16 +673,16 @@ /* Get the preamble (RX header) */ if (q->rev >= 8) { - ssb_block_read(dev->dev, &wl->rxhdr, sizeof(wl->rxhdr), + ssb_block_read(dev->dev, rxhdr, sizeof(*rxhdr), q->mmio_base + B43_PIO8_RXDATA, sizeof(u32)); } else { - ssb_block_read(dev->dev, &wl->rxhdr, sizeof(wl->rxhdr), + ssb_block_read(dev->dev, rxhdr, sizeof(*rxhdr), q->mmio_base + B43_PIO_RXDATA, sizeof(u16)); } /* Sanity checks. */ - len = le16_to_cpu(wl->rxhdr.frame_len); + len = le16_to_cpu(rxhdr->frame_len); if (unlikely(len > 0x700)) { err_msg = "len > 0x700"; goto rx_error; @@ -683,7 +692,7 @@ goto rx_error; } - macstat = le32_to_cpu(wl->rxhdr.mac_status); + macstat = le32_to_cpu(rxhdr->mac_status); if (macstat & B43_RX_MAC_FCSERR) { if (!(q->dev->wl->filter_flags & FIF_FCSFAIL)) { /* Drop frames with failed FCS. */ @@ -708,22 +717,25 @@ q->mmio_base + B43_PIO8_RXDATA, sizeof(u32)); if (len & 3) { + u8 *tail = wl->pio_tailspace; + BUILD_BUG_ON(sizeof(wl->pio_tailspace) < 4); + /* Read the last few bytes. */ - ssb_block_read(dev->dev, wl->rx_tail, 4, + ssb_block_read(dev->dev, tail, 4, q->mmio_base + B43_PIO8_RXDATA, sizeof(u32)); switch (len & 3) { case 3: - skb->data[len + padding - 3] = wl->rx_tail[0]; - skb->data[len + padding - 2] = wl->rx_tail[1]; - skb->data[len + padding - 1] = wl->rx_tail[2]; + skb->data[len + padding - 3] = tail[0]; + skb->data[len + padding - 2] = tail[1]; + skb->data[len + padding - 1] = tail[2]; break; case 2: - skb->data[len + padding - 2] = wl->rx_tail[0]; - skb->data[len + padding - 1] = wl->rx_tail[1]; + skb->data[len + padding - 2] = tail[0]; + skb->data[len + padding - 1] = tail[1]; break; case 1: - skb->data[len + padding - 1] = wl->rx_tail[0]; + skb->data[len + padding - 1] = tail[0]; break; } } @@ -732,15 +744,18 @@ q->mmio_base + B43_PIO_RXDATA, sizeof(u16)); if (len & 1) { + u8 *tail = wl->pio_tailspace; + BUILD_BUG_ON(sizeof(wl->pio_tailspace) < 2); + /* Read the last byte. */ - ssb_block_read(dev->dev, wl->rx_tail, 2, + ssb_block_read(dev->dev, tail, 2, q->mmio_base + B43_PIO_RXDATA, sizeof(u16)); - skb->data[len + padding - 1] = wl->rx_tail[0]; + skb->data[len + padding - 1] = tail[0]; } } - b43_rx(q->dev, skb, &wl->rxhdr); + b43_rx(q->dev, skb, rxhdr); return 1; --- linux-2.6.32.orig/drivers/net/wireless/b43/pio.h +++ linux-2.6.32/drivers/net/wireless/b43/pio.h @@ -55,8 +55,6 @@ #define B43_PIO_MAX_NR_TXPACKETS 32 -#ifdef CONFIG_B43_PIO - struct b43_pio_txpacket { /* Pointer to the TX queue we belong to. */ struct b43_pio_txqueue *queue; @@ -169,42 +167,4 @@ void b43_pio_tx_suspend(struct b43_wldev *dev); void b43_pio_tx_resume(struct b43_wldev *dev); - -#else /* CONFIG_B43_PIO */ - - -static inline int b43_pio_init(struct b43_wldev *dev) -{ - return 0; -} -static inline void b43_pio_free(struct b43_wldev *dev) -{ -} -static inline void b43_pio_stop(struct b43_wldev *dev) -{ -} -static inline int b43_pio_tx(struct b43_wldev *dev, - struct sk_buff *skb) -{ - return 0; -} -static inline void b43_pio_handle_txstatus(struct b43_wldev *dev, - const struct b43_txstatus *status) -{ -} -static inline void b43_pio_get_tx_stats(struct b43_wldev *dev, - struct ieee80211_tx_queue_stats *stats) -{ -} -static inline void b43_pio_rx(struct b43_pio_rxqueue *q) -{ -} -static inline void b43_pio_tx_suspend(struct b43_wldev *dev) -{ -} -static inline void b43_pio_tx_resume(struct b43_wldev *dev) -{ -} - -#endif /* CONFIG_B43_PIO */ #endif /* B43_PIO_H_ */ --- linux-2.6.32.orig/drivers/net/wireless/b43/rfkill.c +++ linux-2.6.32/drivers/net/wireless/b43/rfkill.c @@ -33,8 +33,14 @@ & B43_MMIO_RADIO_HWENABLED_HI_MASK)) return 1; } else { - if (b43_status(dev) >= B43_STAT_STARTED && - b43_read16(dev, B43_MMIO_RADIO_HWENABLED_LO) + /* To prevent CPU fault on PPC, do not read a register + * unless the interface is started; however, on resume + * for hibernation, this routine is entered early. When + * that happens, unconditionally return TRUE. + */ + if (b43_status(dev) < B43_STAT_STARTED) + return 1; + if (b43_read16(dev, B43_MMIO_RADIO_HWENABLED_LO) & B43_MMIO_RADIO_HWENABLED_LO_MASK) return 1; } --- linux-2.6.32.orig/drivers/net/wireless/b43/xmit.c +++ linux-2.6.32/drivers/net/wireless/b43/xmit.c @@ -27,7 +27,7 @@ */ -#include "b43.h" +#include "xmit.h" #include "phy_common.h" #include "dma.h" #include "pio.h" --- linux-2.6.32.orig/drivers/net/wireless/b43/sdio.c +++ linux-2.6.32/drivers/net/wireless/b43/sdio.c @@ -162,6 +162,7 @@ err_free_ssb: kfree(sdio); err_disable_func: + sdio_claim_host(func); sdio_disable_func(func); err_release_host: sdio_release_host(func); @@ -174,7 +175,9 @@ struct b43_sdio *sdio = sdio_get_drvdata(func); ssb_bus_unregister(&sdio->ssb); + sdio_claim_host(func); sdio_disable_func(func); + sdio_release_host(func); kfree(sdio); sdio_set_drvdata(func, NULL); } --- linux-2.6.32.orig/drivers/net/wireless/b43legacy/main.c +++ linux-2.6.32/drivers/net/wireless/b43legacy/main.c @@ -2921,6 +2921,7 @@ goto out; } /* We are ready to run. */ + ieee80211_wake_queues(dev->wl->hw); b43legacy_set_status(dev, B43legacy_STAT_STARTED); /* Start data flow (TX/RX) */ @@ -3341,6 +3342,7 @@ b43legacy_security_init(dev); b43legacy_rng_init(wl); + ieee80211_wake_queues(dev->wl->hw); b43legacy_set_status(dev, B43legacy_STAT_INITIALIZED); b43legacy_leds_init(dev); --- linux-2.6.32.orig/drivers/net/wireless/b43legacy/rfkill.c +++ linux-2.6.32/drivers/net/wireless/b43legacy/rfkill.c @@ -34,6 +34,13 @@ & B43legacy_MMIO_RADIO_HWENABLED_HI_MASK)) return 1; } else { + /* To prevent CPU fault on PPC, do not read a register + * unless the interface is started; however, on resume + * for hibernation, this routine is entered early. When + * that happens, unconditionally return TRUE. + */ + if (b43legacy_status(dev) < B43legacy_STAT_STARTED) + return 1; if (b43legacy_read16(dev, B43legacy_MMIO_RADIO_HWENABLED_LO) & B43legacy_MMIO_RADIO_HWENABLED_LO_MASK) return 1; --- linux-2.6.32.orig/drivers/net/wireless/hostap/hostap_cs.c +++ linux-2.6.32/drivers/net/wireless/hostap/hostap_cs.c @@ -626,6 +626,7 @@ int ret = 1; int last_fn, last_ret; struct hostap_cs_priv *hw_priv; + unsigned long flags; PDEBUG(DEBUG_FLOW, "prism2_config()\n"); @@ -683,8 +684,11 @@ CS_CHECK(RequestConfiguration, pcmcia_request_configuration(link, &link->conf)); + /* IRQ handler cannot proceed until at dev->base_addr is initialized */ + spin_lock_irqsave(&local->irq_init_lock, flags); dev->irq = link->irq.AssignedIRQ; dev->base_addr = link->io.BasePort1; + spin_unlock_irqrestore(&local->irq_init_lock, flags); /* Finally, report what we've done */ printk(KERN_INFO "%s: index 0x%02x: ", --- linux-2.6.32.orig/drivers/net/wireless/hostap/hostap_hw.c +++ linux-2.6.32/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"); @@ -2618,9 +2618,30 @@ int events = 0; u16 ev; + /* Detect early interrupt before driver is fully configued */ + if (!dev->base_addr) { + if (net_ratelimit()) { + printk(KERN_DEBUG "%s: Interrupt, but dev not configured\n", + dev->name); + } + return IRQ_HANDLED; + } + iface = netdev_priv(dev); local = iface->local; + /* Detect early interrupt before driver is fully configued */ + spin_lock(&local->irq_init_lock); + if (!dev->base_addr) { + if (net_ratelimit()) { + printk(KERN_DEBUG "%s: Interrupt, but dev not configured\n", + dev->name); + } + spin_unlock(&local->irq_init_lock); + return IRQ_HANDLED; + } + spin_unlock(&local->irq_init_lock); + prism2_io_debug_add(dev, PRISM2_IO_DEBUG_CMD_INTERRUPT, 0, 0); if (local->func->card_present && !local->func->card_present(local)) { @@ -3138,6 +3159,7 @@ spin_lock_init(&local->cmdlock); spin_lock_init(&local->baplock); spin_lock_init(&local->lock); + spin_lock_init(&local->irq_init_lock); mutex_init(&local->rid_bap_mtx); if (card_idx < 0 || card_idx >= MAX_PARM_DEVICES) @@ -3383,6 +3405,7 @@ memset(&wrqu, 0, sizeof(wrqu)); wrqu.ap_addr.sa_family = ARPHRD_ETHER; wireless_send_event(local->dev, SIOCGIWAP, &wrqu, NULL); + wireless_send_event(local->ddev, SIOCGIWAP, &wrqu, NULL); /* Disable hardware and firmware */ prism2_hw_shutdown(dev, 0); --- linux-2.6.32.orig/drivers/net/wireless/hostap/hostap_info.c +++ linux-2.6.32/drivers/net/wireless/hostap/hostap_info.c @@ -238,6 +238,7 @@ wrqu.data.length = 0; wrqu.data.flags = 0; wireless_send_event(local->dev, SIOCGIWSCAN, &wrqu, NULL); + wireless_send_event(local->ddev, SIOCGIWSCAN, &wrqu, NULL); /* Allow SIOCGIWSCAN handling to occur since we have received * scanning result */ @@ -449,8 +450,10 @@ * frames and can confuse wpa_supplicant about the current association * status. */ - if (connected || local->prev_linkstatus_connected) + if (connected || local->prev_linkstatus_connected) { wireless_send_event(local->dev, SIOCGIWAP, &wrqu, NULL); + wireless_send_event(local->ddev, SIOCGIWAP, &wrqu, NULL); + } local->prev_linkstatus_connected = connected; } --- linux-2.6.32.orig/drivers/net/wireless/hostap/hostap_main.c +++ linux-2.6.32/drivers/net/wireless/hostap/hostap_main.c @@ -1100,6 +1100,7 @@ (u8 *) &val, 2); memset(wrqu.ap_addr.sa_data, 0, ETH_ALEN); wireless_send_event(local->dev, SIOCGIWAP, &wrqu, NULL); + wireless_send_event(local->ddev, SIOCGIWAP, &wrqu, NULL); return ret; } --- linux-2.6.32.orig/drivers/net/wireless/hostap/hostap_pci.c +++ linux-2.6.32/drivers/net/wireless/hostap/hostap_pci.c @@ -329,6 +329,7 @@ dev->irq = pdev->irq; hw_priv->mem_start = mem; + dev->base_addr = (unsigned long) mem; prism2_pci_cor_sreset(local); --- linux-2.6.32.orig/drivers/net/wireless/hostap/hostap_wlan.h +++ linux-2.6.32/drivers/net/wireless/hostap/hostap_wlan.h @@ -654,7 +654,7 @@ rwlock_t iface_lock; /* hostap_interfaces read lock; use write lock * when removing entries from the list. * TX and RX paths can use read lock. */ - spinlock_t cmdlock, baplock, lock; + spinlock_t cmdlock, baplock, lock, irq_init_lock; struct mutex rid_bap_mtx; u16 infofid; /* MAC buffer id for info frame */ /* txfid, intransmitfid, next_txtid, and next_alloc are protected by --- linux-2.6.32.orig/drivers/net/wireless/ipw2x00/ipw2100.c +++ linux-2.6.32/drivers/net/wireless/ipw2x00/ipw2100.c @@ -6487,6 +6487,16 @@ } #endif +static void ipw2100_shutdown(struct pci_dev *pci_dev) +{ + struct ipw2100_priv *priv = pci_get_drvdata(pci_dev); + + /* Take down the device; powers it off, etc. */ + ipw2100_down(priv); + + pci_disable_device(pci_dev); +} + #define IPW2100_DEV_ID(x) { PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, x } static struct pci_device_id ipw2100_pci_id_table[] __devinitdata = { @@ -6550,6 +6560,7 @@ .suspend = ipw2100_suspend, .resume = ipw2100_resume, #endif + .shutdown = ipw2100_shutdown, }; /** --- linux-2.6.32.orig/drivers/net/wireless/ipw2x00/ipw2200.c +++ linux-2.6.32/drivers/net/wireless/ipw2x00/ipw2200.c @@ -90,7 +90,7 @@ static u32 ipw_debug_level; static int associate; static int auto_create = 1; -static int led_support = 0; +static int led_support = 1; static int disable = 0; static int bt_coexist = 0; static int hwcrypto = 0; @@ -11962,7 +11962,7 @@ MODULE_PARM_DESC(auto_create, "auto create adhoc network (default on)"); module_param_named(led, led_support, int, 0444); -MODULE_PARM_DESC(led, "enable led control on some systems (default 0 off)"); +MODULE_PARM_DESC(led, "enable led control on some systems (default 1 on)"); module_param(debug, int, 0444); MODULE_PARM_DESC(debug, "debug output mask"); --- linux-2.6.32.orig/drivers/net/wireless/iwlwifi/iwl-3945.c +++ linux-2.6.32/drivers/net/wireless/iwlwifi/iwl-3945.c @@ -2545,11 +2545,9 @@ memset((void *)&priv->hw_params, 0, sizeof(struct iwl_hw_params)); - priv->shared_virt = - pci_alloc_consistent(priv->pci_dev, - sizeof(struct iwl3945_shared), - &priv->shared_phys); - + priv->shared_virt = dma_alloc_coherent(&priv->pci_dev->dev, + sizeof(struct iwl3945_shared), + &priv->shared_phys, GFP_KERNEL); if (!priv->shared_virt) { IWL_ERR(priv, "failed to allocate pci memory\n"); mutex_unlock(&priv->mutex); @@ -2895,6 +2893,7 @@ .mod_params = &iwl3945_mod_params, .use_isr_legacy = true, .ht_greenfield_support = false, + .broken_powersave = true, }; static struct iwl_cfg iwl3945_abg_cfg = { @@ -2909,6 +2908,7 @@ .mod_params = &iwl3945_mod_params, .use_isr_legacy = true, .ht_greenfield_support = false, + .broken_powersave = true, }; struct pci_device_id iwl3945_hw_card_ids[] = { --- linux-2.6.32.orig/drivers/net/wireless/iwlwifi/iwl-5000-hw.h +++ linux-2.6.32/drivers/net/wireless/iwlwifi/iwl-5000-hw.h @@ -92,11 +92,15 @@ static inline s32 iwl_temp_calib_to_offset(struct iwl_priv *priv) { - u16 *temp_calib = (u16 *)iwl_eeprom_query_addr(priv, - EEPROM_5000_TEMPERATURE); - /* offset = temperature - voltage / coef */ - s32 offset = (s32)(temp_calib[0] - temp_calib[1] / IWL_5150_VOLTAGE_TO_TEMPERATURE_COEFF); - return offset; + u16 temperature, voltage; + __le16 *temp_calib = + (__le16 *)iwl_eeprom_query_addr(priv, EEPROM_5000_TEMPERATURE); + + temperature = le16_to_cpu(temp_calib[0]); + voltage = le16_to_cpu(temp_calib[1]); + + /* offset = temp - volt / coeff */ + return (s32)(temperature - voltage / IWL_5150_VOLTAGE_TO_TEMPERATURE_COEFF); } /* Fixed (non-configurable) rx data from phy */ --- linux-2.6.32.orig/drivers/net/wireless/iwlwifi/iwl-5000.c +++ linux-2.6.32/drivers/net/wireless/iwlwifi/iwl-5000.c @@ -460,14 +460,15 @@ static int iwl5000_set_Xtal_calib(struct iwl_priv *priv) { struct iwl_calib_xtal_freq_cmd cmd; - u16 *xtal_calib = (u16 *)iwl_eeprom_query_addr(priv, EEPROM_5000_XTAL); + __le16 *xtal_calib = + (__le16 *)iwl_eeprom_query_addr(priv, EEPROM_5000_XTAL); cmd.hdr.op_code = IWL_PHY_CALIBRATE_CRYSTAL_FRQ_CMD; cmd.hdr.first_group = 0; cmd.hdr.groups_num = 1; cmd.hdr.data_valid = 1; - cmd.cap_pin1 = (u8)xtal_calib[0]; - cmd.cap_pin2 = (u8)xtal_calib[1]; + cmd.cap_pin1 = le16_to_cpu(xtal_calib[0]); + cmd.cap_pin2 = le16_to_cpu(xtal_calib[1]); return iwl_calib_set(&priv->calib_results[IWL_CALIB_XTAL], (u8 *)&cmd, sizeof(cmd)); } @@ -792,6 +793,13 @@ iwl5000_set_wr_ptrs(priv, IWL_CMD_QUEUE_NUM, 0); + /* make sure all queue are not stopped */ + memset(&priv->queue_stopped[0], 0, sizeof(priv->queue_stopped)); + for (i = 0; i < 4; i++) + atomic_set(&priv->queue_stop_count[i], 0); + + /* reset to 0 to enable all the queue first */ + priv->txq_ctx_active_msk = 0; /* map qos queues to fifos one-to-one */ for (i = 0; i < ARRAY_SIZE(iwl5000_default_queue_to_tx_fifo); i++) { int ac = iwl5000_default_queue_to_tx_fifo[i]; @@ -1263,7 +1271,7 @@ scd_ssn , index, txq_id, txq->swq_id); freed = iwl_tx_queue_reclaim(priv, txq_id, index); - priv->stations[sta_id].tid[tid].tfds_in_queue -= freed; + iwl_free_tfds_in_queue(priv, sta_id, tid, freed); if (priv->mac80211_registered && (iwl_queue_space(&txq->q) > txq->q.low_mark) && @@ -1292,16 +1300,14 @@ tx_resp->failure_frame); freed = iwl_tx_queue_reclaim(priv, txq_id, index); - if (ieee80211_is_data_qos(tx_resp->frame_ctrl)) - priv->stations[sta_id].tid[tid].tfds_in_queue -= freed; + iwl_free_tfds_in_queue(priv, sta_id, tid, freed); if (priv->mac80211_registered && (iwl_queue_space(&txq->q) > txq->q.low_mark)) iwl_wake_queue(priv, txq_id); } - if (ieee80211_is_data_qos(tx_resp->frame_ctrl)) - iwl_txq_check_empty(priv, sta_id, tid, txq_id); + iwl_txq_check_empty(priv, sta_id, tid, txq_id); if (iwl_check_bits(status, TX_ABORT_REQUIRED_MSK)) IWL_ERR(priv, "TODO: Implement Tx ABORT REQUIRED!!!\n"); @@ -1665,14 +1671,15 @@ .valid_rx_ant = ANT_ABC, .need_pll_cfg = true, .ht_greenfield_support = true, + .use_rts_for_ht = true, /* use rts/cts protection */ }; -struct iwl_cfg iwl5100_bg_cfg = { - .name = "5100BG", +struct iwl_cfg iwl5100_bgn_cfg = { + .name = "5100BGN", .fw_name_pre = IWL5000_FW_PRE, .ucode_api_max = IWL5000_UCODE_API_MAX, .ucode_api_min = IWL5000_UCODE_API_MIN, - .sku = IWL_SKU_G, + .sku = IWL_SKU_G|IWL_SKU_N, .ops = &iwl5000_ops, .eeprom_size = IWL_5000_EEPROM_IMG_SIZE, .eeprom_ver = EEPROM_5000_EEPROM_VERSION, @@ -1698,7 +1705,6 @@ .valid_tx_ant = ANT_B, .valid_rx_ant = ANT_AB, .need_pll_cfg = true, - .ht_greenfield_support = true, }; struct iwl_cfg iwl5100_agn_cfg = { @@ -1716,6 +1722,7 @@ .valid_rx_ant = ANT_AB, .need_pll_cfg = true, .ht_greenfield_support = true, + .use_rts_for_ht = true, /* use rts/cts protection */ }; struct iwl_cfg iwl5350_agn_cfg = { @@ -1733,6 +1740,7 @@ .valid_rx_ant = ANT_ABC, .need_pll_cfg = true, .ht_greenfield_support = true, + .use_rts_for_ht = true, /* use rts/cts protection */ }; struct iwl_cfg iwl5150_agn_cfg = { @@ -1750,6 +1758,23 @@ .valid_rx_ant = ANT_AB, .need_pll_cfg = true, .ht_greenfield_support = true, + .use_rts_for_ht = true, /* use rts/cts protection */ +}; + +struct iwl_cfg iwl5150_abg_cfg = { + .name = "5150ABG", + .fw_name_pre = IWL5150_FW_PRE, + .ucode_api_max = IWL5150_UCODE_API_MAX, + .ucode_api_min = IWL5150_UCODE_API_MIN, + .sku = IWL_SKU_A|IWL_SKU_G, + .ops = &iwl5150_ops, + .eeprom_size = IWL_5000_EEPROM_IMG_SIZE, + .eeprom_ver = EEPROM_5050_EEPROM_VERSION, + .eeprom_calib_ver = EEPROM_5050_TX_POWER_VERSION, + .mod_params = &iwl50_mod_params, + .valid_tx_ant = ANT_A, + .valid_rx_ant = ANT_AB, + .need_pll_cfg = true, }; MODULE_FIRMWARE(IWL5000_MODULE_FIRMWARE(IWL5000_UCODE_API_MAX)); --- linux-2.6.32.orig/drivers/net/wireless/iwlwifi/iwl-agn-rs.c +++ linux-2.6.32/drivers/net/wireless/iwlwifi/iwl-agn-rs.c @@ -402,10 +402,23 @@ struct iwl_lq_sta *lq_data, u8 tid, struct ieee80211_sta *sta) { + int ret; + if (rs_tl_get_load(lq_data, tid) > IWL_AGG_LOAD_THRESHOLD) { IWL_DEBUG_HT(priv, "Starting Tx agg: STA: %pM tid: %d\n", sta->addr, tid); - ieee80211_start_tx_ba_session(priv->hw, sta->addr, tid); + ret = ieee80211_start_tx_ba_session(priv->hw, sta->addr, tid); + if (ret == -EAGAIN) { + /* + * driver and mac80211 is out of sync + * this might be cause by reloading firmware + * stop the tx ba session here + */ + IWL_DEBUG_HT(priv, "Fail start Tx agg on tid: %d\n", + tid); + ret = ieee80211_stop_tx_ba_session(priv->hw, sta->addr, tid, + WLAN_BACK_INITIATOR); + } } } @@ -2180,9 +2193,12 @@ /* Else we have enough samples; calculate estimate of * actual average throughput */ - - BUG_ON(window->average_tpt != ((window->success_ratio * - tbl->expected_tpt[index] + 64) / 128)); + if (window->average_tpt != ((window->success_ratio * + tbl->expected_tpt[index] + 64) / 128)) { + IWL_ERR(priv, "expected_tpt should have been calculated by now\n"); + window->average_tpt = ((window->success_ratio * + tbl->expected_tpt[index] + 64) / 128); + } /* If we are searching for better modulation mode, check success. */ if (lq_sta->search_better_tbl && @@ -2808,7 +2824,7 @@ repeat_rate--; } - lq_cmd->agg_params.agg_frame_cnt_limit = LINK_QUAL_AGG_FRAME_LIMIT_MAX; + lq_cmd->agg_params.agg_frame_cnt_limit = LINK_QUAL_AGG_FRAME_LIMIT_DEF; lq_cmd->agg_params.agg_dis_start_th = LINK_QUAL_AGG_DISABLE_START_DEF; lq_cmd->agg_params.agg_time_limit = cpu_to_le16(LINK_QUAL_AGG_TIME_LIMIT_DEF); --- linux-2.6.32.orig/drivers/net/wireless/iwlwifi/iwl-4965.c +++ linux-2.6.32/drivers/net/wireless/iwlwifi/iwl-4965.c @@ -715,6 +715,13 @@ iwl4965_set_wr_ptrs(priv, IWL_CMD_QUEUE_NUM, 0); + /* make sure all queue are not stopped */ + memset(&priv->queue_stopped[0], 0, sizeof(priv->queue_stopped)); + for (i = 0; i < 4; i++) + atomic_set(&priv->queue_stop_count[i], 0); + + /* reset to 0 to enable all the queue first */ + priv->txq_ctx_active_msk = 0; /* Map each Tx/cmd queue to its corresponding fifo */ for (i = 0; i < ARRAY_SIZE(default_queue_to_tx_fifo); i++) { int ac = default_queue_to_tx_fifo[i]; @@ -1337,7 +1344,7 @@ iwl4965_interpolate_chan(priv, channel, &ch_eeprom_info); /* calculate tx gain adjustment based on power supply voltage */ - voltage = priv->calib_info->voltage; + voltage = le16_to_cpu(priv->calib_info->voltage); init_voltage = (s32)le32_to_cpu(priv->card_alive_init.voltage); voltage_compensation = iwl4965_get_voltage_compensation(voltage, init_voltage); @@ -2087,7 +2094,7 @@ struct ieee80211_tx_info *info; struct iwl4965_tx_resp *tx_resp = (void *)&pkt->u.raw[0]; u32 status = le32_to_cpu(tx_resp->u.status); - int tid = MAX_TID_COUNT; + int tid = MAX_TID_COUNT - 1; int sta_id; int freed; u8 *qc = NULL; @@ -2134,7 +2141,9 @@ IWL_DEBUG_TX_REPLY(priv, "Retry scheduler reclaim scd_ssn " "%d index %d\n", scd_ssn , index); freed = iwl_tx_queue_reclaim(priv, txq_id, index); - priv->stations[sta_id].tid[tid].tfds_in_queue -= freed; + if (qc) + iwl_free_tfds_in_queue(priv, sta_id, + tid, freed); if (priv->mac80211_registered && (iwl_queue_space(&txq->q) > txq->q.low_mark) && @@ -2162,13 +2171,14 @@ freed = iwl_tx_queue_reclaim(priv, txq_id, index); if (qc && likely(sta_id != IWL_INVALID_STATION)) - priv->stations[sta_id].tid[tid].tfds_in_queue -= freed; + iwl_free_tfds_in_queue(priv, sta_id, tid, freed); + else if (sta_id == IWL_INVALID_STATION) + IWL_DEBUG_TX_REPLY(priv, "Station not known\n"); if (priv->mac80211_registered && (iwl_queue_space(&txq->q) > txq->q.low_mark)) iwl_wake_queue(priv, txq_id); } - if (qc && likely(sta_id != IWL_INVALID_STATION)) iwl_txq_check_empty(priv, sta_id, tid, txq_id); --- linux-2.6.32.orig/drivers/net/wireless/iwlwifi/iwl-agn.c +++ linux-2.6.32/drivers/net/wireless/iwlwifi/iwl-agn.c @@ -1044,6 +1044,9 @@ /* only Re-enable if diabled by irq */ if (test_bit(STATUS_INT_ENABLED, &priv->status)) iwl_enable_interrupts(priv); + /* Re-enable RF_KILL if it occurred */ + else if (handled & CSR_INT_BIT_RF_KILL) + iwl_enable_rfkill_int(priv); #ifdef CONFIG_IWLWIFI_DEBUG if (iwl_get_debug_level(priv) & (IWL_DL_ISR)) { @@ -1245,6 +1248,9 @@ /* only Re-enable if diabled by irq */ if (test_bit(STATUS_INT_ENABLED, &priv->status)) iwl_enable_interrupts(priv); + /* Re-enable RF_KILL if it occurred */ + else if (handled & CSR_INT_BIT_RF_KILL) + iwl_enable_rfkill_int(priv); spin_unlock_irqrestore(&priv->lock, flags); @@ -2358,9 +2364,10 @@ flush_workqueue(priv->workqueue); - /* enable interrupts again in order to receive rfkill changes */ + /* User space software may expect getting rfkill changes + * even if interface is down */ iwl_write32(priv, CSR_INT, 0xFFFFFFFF); - iwl_enable_interrupts(priv); + iwl_enable_rfkill_int(priv); IWL_DEBUG_MAC80211(priv, "leave\n"); } @@ -3060,14 +3067,14 @@ * 8. Setup and register mac80211 **********************************/ - /* enable interrupts if needed: hw bug w/a */ + /* enable rfkill interrupt: hw bug w/a */ pci_read_config_word(priv->pci_dev, PCI_COMMAND, &pci_cmd); if (pci_cmd & PCI_COMMAND_INTX_DISABLE) { pci_cmd &= ~PCI_COMMAND_INTX_DISABLE; pci_write_config_word(priv->pci_dev, PCI_COMMAND, pci_cmd); } - iwl_enable_interrupts(priv); + iwl_enable_rfkill_int(priv); err = iwl_setup_mac(priv); if (err) @@ -3203,23 +3210,63 @@ {IWL_PCI_DEVICE(0x4230, PCI_ANY_ID, iwl4965_agn_cfg)}, #endif /* CONFIG_IWL4965 */ #ifdef CONFIG_IWL5000 - {IWL_PCI_DEVICE(0x4232, 0x1205, iwl5100_bg_cfg)}, - {IWL_PCI_DEVICE(0x4232, 0x1305, iwl5100_bg_cfg)}, - {IWL_PCI_DEVICE(0x4232, 0x1206, iwl5100_abg_cfg)}, - {IWL_PCI_DEVICE(0x4232, 0x1306, iwl5100_abg_cfg)}, - {IWL_PCI_DEVICE(0x4232, 0x1326, iwl5100_abg_cfg)}, - {IWL_PCI_DEVICE(0x4237, 0x1216, iwl5100_abg_cfg)}, - {IWL_PCI_DEVICE(0x4232, PCI_ANY_ID, iwl5100_agn_cfg)}, - {IWL_PCI_DEVICE(0x4235, PCI_ANY_ID, iwl5300_agn_cfg)}, - {IWL_PCI_DEVICE(0x4236, PCI_ANY_ID, iwl5300_agn_cfg)}, - {IWL_PCI_DEVICE(0x4237, PCI_ANY_ID, iwl5100_agn_cfg)}, -/* 5350 WiFi/WiMax */ - {IWL_PCI_DEVICE(0x423A, 0x1001, iwl5350_agn_cfg)}, - {IWL_PCI_DEVICE(0x423A, 0x1021, iwl5350_agn_cfg)}, - {IWL_PCI_DEVICE(0x423B, 0x1011, iwl5350_agn_cfg)}, -/* 5150 Wifi/WiMax */ - {IWL_PCI_DEVICE(0x423C, PCI_ANY_ID, iwl5150_agn_cfg)}, - {IWL_PCI_DEVICE(0x423D, PCI_ANY_ID, iwl5150_agn_cfg)}, +/* 5100 Series WiFi */ + {IWL_PCI_DEVICE(0x4232, 0x1201, iwl5100_agn_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x4232, 0x1301, iwl5100_agn_cfg)}, /* Half Mini Card */ + {IWL_PCI_DEVICE(0x4232, 0x1204, iwl5100_agn_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x4232, 0x1304, iwl5100_agn_cfg)}, /* Half Mini Card */ + {IWL_PCI_DEVICE(0x4232, 0x1205, iwl5100_bgn_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x4232, 0x1305, iwl5100_bgn_cfg)}, /* Half Mini Card */ + {IWL_PCI_DEVICE(0x4232, 0x1206, iwl5100_abg_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x4232, 0x1306, iwl5100_abg_cfg)}, /* Half Mini Card */ + {IWL_PCI_DEVICE(0x4232, 0x1221, iwl5100_agn_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x4232, 0x1321, iwl5100_agn_cfg)}, /* Half Mini Card */ + {IWL_PCI_DEVICE(0x4232, 0x1224, iwl5100_agn_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x4232, 0x1324, iwl5100_agn_cfg)}, /* Half Mini Card */ + {IWL_PCI_DEVICE(0x4232, 0x1225, iwl5100_bgn_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x4232, 0x1325, iwl5100_bgn_cfg)}, /* Half Mini Card */ + {IWL_PCI_DEVICE(0x4232, 0x1226, iwl5100_abg_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x4232, 0x1326, iwl5100_abg_cfg)}, /* Half Mini Card */ + {IWL_PCI_DEVICE(0x4237, 0x1211, iwl5100_agn_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x4237, 0x1311, iwl5100_agn_cfg)}, /* Half Mini Card */ + {IWL_PCI_DEVICE(0x4237, 0x1214, iwl5100_agn_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x4237, 0x1314, iwl5100_agn_cfg)}, /* Half Mini Card */ + {IWL_PCI_DEVICE(0x4237, 0x1215, iwl5100_bgn_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x4237, 0x1315, iwl5100_bgn_cfg)}, /* Half Mini Card */ + {IWL_PCI_DEVICE(0x4237, 0x1216, iwl5100_abg_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x4237, 0x1316, iwl5100_abg_cfg)}, /* Half Mini Card */ + +/* 5300 Series WiFi */ + {IWL_PCI_DEVICE(0x4235, 0x1021, iwl5300_agn_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x4235, 0x1121, iwl5300_agn_cfg)}, /* Half Mini Card */ + {IWL_PCI_DEVICE(0x4235, 0x1024, iwl5300_agn_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x4235, 0x1124, iwl5300_agn_cfg)}, /* Half Mini Card */ + {IWL_PCI_DEVICE(0x4235, 0x1001, iwl5300_agn_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x4235, 0x1101, iwl5300_agn_cfg)}, /* Half Mini Card */ + {IWL_PCI_DEVICE(0x4235, 0x1004, iwl5300_agn_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x4235, 0x1104, iwl5300_agn_cfg)}, /* Half Mini Card */ + {IWL_PCI_DEVICE(0x4236, 0x1011, iwl5300_agn_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x4236, 0x1111, iwl5300_agn_cfg)}, /* Half Mini Card */ + {IWL_PCI_DEVICE(0x4236, 0x1014, iwl5300_agn_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x4236, 0x1114, iwl5300_agn_cfg)}, /* Half Mini Card */ + +/* 5350 Series WiFi/WiMax */ + {IWL_PCI_DEVICE(0x423A, 0x1001, iwl5350_agn_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x423A, 0x1021, iwl5350_agn_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x423B, 0x1011, iwl5350_agn_cfg)}, /* Mini Card */ + +/* 5150 Series Wifi/WiMax */ + {IWL_PCI_DEVICE(0x423C, 0x1201, iwl5150_agn_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x423C, 0x1301, iwl5150_agn_cfg)}, /* Half Mini Card */ + {IWL_PCI_DEVICE(0x423C, 0x1206, iwl5150_abg_cfg)}, /* Mini Card */ + {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(0x423D, 0x1211, iwl5150_agn_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x423D, 0x1311, iwl5150_agn_cfg)}, /* Half Mini Card */ + {IWL_PCI_DEVICE(0x423D, 0x1216, iwl5150_abg_cfg)}, /* Mini Card */ + {IWL_PCI_DEVICE(0x423D, 0x1316, iwl5150_abg_cfg)}, /* Half Mini Card */ /* 6000/6050 Series */ {IWL_PCI_DEVICE(0x008D, PCI_ANY_ID, iwl6000h_2agn_cfg)}, {IWL_PCI_DEVICE(0x008E, PCI_ANY_ID, iwl6000h_2agn_cfg)}, --- linux-2.6.32.orig/drivers/net/wireless/iwlwifi/iwl-core.c +++ linux-2.6.32/drivers/net/wireless/iwlwifi/iwl-core.c @@ -1598,9 +1598,9 @@ void iwl_free_isr_ict(struct iwl_priv *priv) { if (priv->ict_tbl_vir) { - pci_free_consistent(priv->pci_dev, (sizeof(u32) * ICT_COUNT) + - PAGE_SIZE, priv->ict_tbl_vir, - priv->ict_tbl_dma); + dma_free_coherent(&priv->pci_dev->dev, + (sizeof(u32) * ICT_COUNT) + PAGE_SIZE, + priv->ict_tbl_vir, priv->ict_tbl_dma); priv->ict_tbl_vir = NULL; } } @@ -1616,9 +1616,9 @@ if (priv->cfg->use_isr_legacy) return 0; /* allocate shrared data table */ - priv->ict_tbl_vir = pci_alloc_consistent(priv->pci_dev, (sizeof(u32) * - ICT_COUNT) + PAGE_SIZE, - &priv->ict_tbl_dma); + priv->ict_tbl_vir = dma_alloc_coherent(&priv->pci_dev->dev, + (sizeof(u32) * ICT_COUNT) + PAGE_SIZE, + &priv->ict_tbl_dma, GFP_KERNEL); if (!priv->ict_tbl_vir) return -ENOMEM; @@ -2646,6 +2646,7 @@ priv->staging_rxon.flags = 0; iwl_set_rxon_channel(priv, conf->channel); + iwl_set_rxon_ht(priv, ht_conf); iwl_set_flags_for_band(priv, conf->channel->band); spin_unlock_irqrestore(&priv->lock, flags); --- linux-2.6.32.orig/drivers/net/wireless/iwlwifi/iwl-core.h +++ linux-2.6.32/drivers/net/wireless/iwlwifi/iwl-core.h @@ -410,6 +410,8 @@ int iwl_hw_tx_queue_init(struct iwl_priv *priv, struct iwl_tx_queue *txq); int iwl_txq_update_write_ptr(struct iwl_priv *priv, struct iwl_tx_queue *txq); +void iwl_free_tfds_in_queue(struct iwl_priv *priv, + int sta_id, int tid, int freed); int iwl_tx_queue_init(struct iwl_priv *priv, struct iwl_tx_queue *txq, int slots_num, u32 txq_id); void iwl_tx_queue_free(struct iwl_priv *priv, int txq_id); --- linux-2.6.32.orig/drivers/net/wireless/iwlwifi/iwl-dev.h +++ linux-2.6.32/drivers/net/wireless/iwlwifi/iwl-dev.h @@ -53,9 +53,10 @@ extern struct iwl_cfg iwl5300_agn_cfg; extern struct iwl_cfg iwl5100_agn_cfg; extern struct iwl_cfg iwl5350_agn_cfg; -extern struct iwl_cfg iwl5100_bg_cfg; +extern struct iwl_cfg iwl5100_bgn_cfg; extern struct iwl_cfg iwl5100_abg_cfg; extern struct iwl_cfg iwl5150_agn_cfg; +extern struct iwl_cfg iwl5150_abg_cfg; extern struct iwl_cfg iwl6000h_2agn_cfg; extern struct iwl_cfg iwl6000i_2agn_cfg; extern struct iwl_cfg iwl6000_3agn_cfg; @@ -703,7 +704,7 @@ extern int iwl_queue_space(const struct iwl_queue *q); static inline int iwl_queue_used(const struct iwl_queue *q, int i) { - return q->write_ptr > q->read_ptr ? + return q->write_ptr >= q->read_ptr ? (i >= q->read_ptr && i < q->write_ptr) : !(i < q->read_ptr && i >= q->write_ptr); } @@ -1149,7 +1150,7 @@ u32 last_beacon_time; u64 last_tsf; - /* eeprom */ + /* eeprom -- this is in the card's little endian byte order */ u8 *eeprom; int nvm_device_type; struct iwl_eeprom_calib_info *calib_info; --- linux-2.6.32.orig/drivers/net/wireless/iwlwifi/iwl-eeprom.c +++ linux-2.6.32/drivers/net/wireless/iwlwifi/iwl-eeprom.c @@ -337,7 +337,7 @@ return ret; } -static int iwl_read_otp_word(struct iwl_priv *priv, u16 addr, u16 *eeprom_data) +static int iwl_read_otp_word(struct iwl_priv *priv, u16 addr, __le16 *eeprom_data) { int ret = 0; u32 r; @@ -370,7 +370,7 @@ CSR_OTP_GP_REG_ECC_CORR_STATUS_MSK); IWL_ERR(priv, "Correctable OTP ECC error, continue read\n"); } - *eeprom_data = le16_to_cpu((__force __le16)(r >> 16)); + *eeprom_data = cpu_to_le16(r >> 16); return 0; } @@ -379,7 +379,8 @@ */ static bool iwl_is_otp_empty(struct iwl_priv *priv) { - u16 next_link_addr = 0, link_value; + u16 next_link_addr = 0; + __le16 link_value; bool is_empty = false; /* locate the beginning of OTP link list */ @@ -409,7 +410,8 @@ static int iwl_find_otp_image(struct iwl_priv *priv, u16 *validblockaddr) { - u16 next_link_addr = 0, link_value = 0, valid_addr; + u16 next_link_addr = 0, valid_addr; + __le16 link_value = 0; int usedblocks = 0; /* set addressing mode to absolute to traverse the link list */ @@ -429,7 +431,7 @@ * check for more block on the link list */ valid_addr = next_link_addr; - next_link_addr = link_value * sizeof(u16); + next_link_addr = le16_to_cpu(link_value) * sizeof(u16); IWL_DEBUG_INFO(priv, "OTP blocks %d addr 0x%x\n", usedblocks, next_link_addr); if (iwl_read_otp_word(priv, next_link_addr, &link_value)) @@ -463,7 +465,7 @@ */ int iwl_eeprom_init(struct iwl_priv *priv) { - u16 *e; + __le16 *e; u32 gp = iwl_read32(priv, CSR_EEPROM_GP); int sz; int ret; @@ -482,7 +484,7 @@ ret = -ENOMEM; goto alloc_err; } - e = (u16 *)priv->eeprom; + e = (__le16 *)priv->eeprom; ret = priv->cfg->ops->lib->eeprom_ops.verify_signature(priv); if (ret < 0) { @@ -521,7 +523,7 @@ } for (addr = validblockaddr; addr < validblockaddr + sz; addr += sizeof(u16)) { - u16 eeprom_data; + __le16 eeprom_data; ret = iwl_read_otp_word(priv, addr, &eeprom_data); if (ret) @@ -545,7 +547,7 @@ goto done; } r = _iwl_read_direct32(priv, CSR_EEPROM_REG); - e[addr / 2] = le16_to_cpu((__force __le16)(r >> 16)); + e[addr / 2] = cpu_to_le16(r >> 16); } } ret = 0; @@ -709,7 +711,8 @@ ch_info->ht40_min_power = 0; ch_info->ht40_scan_power = eeprom_ch->max_power_avg; ch_info->ht40_flags = eeprom_ch->flags; - ch_info->ht40_extension_channel &= ~clear_ht40_extension_channel; + if (eeprom_ch->flags & EEPROM_CHANNEL_VALID) + ch_info->ht40_extension_channel &= ~clear_ht40_extension_channel; return 0; } --- linux-2.6.32.orig/drivers/net/wireless/iwlwifi/iwl-eeprom.h +++ linux-2.6.32/drivers/net/wireless/iwlwifi/iwl-eeprom.h @@ -133,7 +133,7 @@ * */ struct iwl_eeprom_enhanced_txpwr { - u16 reserved; + __le16 common; s8 chain_a_max; s8 chain_b_max; s8 chain_c_max; @@ -347,7 +347,7 @@ struct iwl_eeprom_calib_info { u8 saturation_power24; /* half-dBm (e.g. "34" = 17 dBm) */ u8 saturation_power52; /* half-dBm */ - s16 voltage; /* signed */ + __le16 voltage; /* signed */ struct iwl_eeprom_calib_subband_info band_info[EEPROM_TX_POWER_BANDS]; } __attribute__ ((packed)); --- linux-2.6.32.orig/drivers/net/wireless/iwlwifi/iwl-helpers.h +++ linux-2.6.32/drivers/net/wireless/iwlwifi/iwl-helpers.h @@ -80,8 +80,8 @@ struct fw_desc *desc) { if (desc->v_addr) - pci_free_consistent(pci_dev, desc->len, - desc->v_addr, desc->p_addr); + dma_free_coherent(&pci_dev->dev, desc->len, + desc->v_addr, desc->p_addr); desc->v_addr = NULL; desc->len = 0; } @@ -89,7 +89,8 @@ static inline int iwl_alloc_fw_desc(struct pci_dev *pci_dev, struct fw_desc *desc) { - desc->v_addr = pci_alloc_consistent(pci_dev, desc->len, &desc->p_addr); + desc->v_addr = dma_alloc_coherent(&pci_dev->dev, desc->len, + &desc->p_addr, GFP_KERNEL); return (desc->v_addr != NULL) ? 0 : -ENOMEM; } @@ -159,6 +160,12 @@ IWL_DEBUG_ISR(priv, "Disabled interrupts\n"); } +static inline void iwl_enable_rfkill_int(struct iwl_priv *priv) +{ + IWL_DEBUG_ISR(priv, "Enabling rfkill interrupt\n"); + iwl_write32(priv, CSR_INT_MASK, CSR_INT_BIT_RF_KILL); +} + static inline void iwl_enable_interrupts(struct iwl_priv *priv) { IWL_DEBUG_ISR(priv, "Enabling interrupts\n"); --- linux-2.6.32.orig/drivers/net/wireless/iwlwifi/iwl-rx.c +++ linux-2.6.32/drivers/net/wireless/iwlwifi/iwl-rx.c @@ -345,10 +345,10 @@ } } - pci_free_consistent(priv->pci_dev, 4 * RX_QUEUE_SIZE, rxq->bd, - rxq->dma_addr); - pci_free_consistent(priv->pci_dev, sizeof(struct iwl_rb_status), - rxq->rb_stts, rxq->rb_stts_dma); + dma_free_coherent(&priv->pci_dev->dev, 4 * RX_QUEUE_SIZE, rxq->bd, + rxq->dma_addr); + dma_free_coherent(&priv->pci_dev->dev, sizeof(struct iwl_rb_status), + rxq->rb_stts, rxq->rb_stts_dma); rxq->bd = NULL; rxq->rb_stts = NULL; } @@ -357,7 +357,7 @@ int iwl_rx_queue_alloc(struct iwl_priv *priv) { struct iwl_rx_queue *rxq = &priv->rxq; - struct pci_dev *dev = priv->pci_dev; + struct device *dev = &priv->pci_dev->dev; int i; spin_lock_init(&rxq->lock); @@ -365,12 +365,13 @@ INIT_LIST_HEAD(&rxq->rx_used); /* Alloc the circular buffer of Read Buffer Descriptors (RBDs) */ - rxq->bd = pci_alloc_consistent(dev, 4 * RX_QUEUE_SIZE, &rxq->dma_addr); + rxq->bd = dma_alloc_coherent(dev, 4 * RX_QUEUE_SIZE, &rxq->dma_addr, + GFP_KERNEL); if (!rxq->bd) goto err_bd; - rxq->rb_stts = pci_alloc_consistent(dev, sizeof(struct iwl_rb_status), - &rxq->rb_stts_dma); + rxq->rb_stts = dma_alloc_coherent(dev, sizeof(struct iwl_rb_status), + &rxq->rb_stts_dma, GFP_KERNEL); if (!rxq->rb_stts) goto err_rb; @@ -387,8 +388,8 @@ return 0; err_rb: - pci_free_consistent(priv->pci_dev, 4 * RX_QUEUE_SIZE, rxq->bd, - rxq->dma_addr); + dma_free_coherent(&priv->pci_dev->dev, 4 * RX_QUEUE_SIZE, rxq->bd, + rxq->dma_addr); err_bd: return -ENOMEM; } --- linux-2.6.32.orig/drivers/net/wireless/iwlwifi/iwl-scan.c +++ linux-2.6.32/drivers/net/wireless/iwlwifi/iwl-scan.c @@ -405,21 +405,6 @@ static int iwl_scan_initiate(struct iwl_priv *priv) { - if (!iwl_is_ready_rf(priv)) { - IWL_DEBUG_SCAN(priv, "Aborting scan due to not ready.\n"); - return -EIO; - } - - if (test_bit(STATUS_SCANNING, &priv->status)) { - IWL_DEBUG_SCAN(priv, "Scan already in progress.\n"); - return -EAGAIN; - } - - if (test_bit(STATUS_SCAN_ABORTING, &priv->status)) { - IWL_DEBUG_SCAN(priv, "Scan request while abort pending\n"); - return -EAGAIN; - } - IWL_DEBUG_INFO(priv, "Starting scan...\n"); set_bit(STATUS_SCANNING, &priv->status); priv->scan_start = jiffies; @@ -450,6 +435,18 @@ goto out_unlock; } + if (test_bit(STATUS_SCANNING, &priv->status)) { + IWL_DEBUG_SCAN(priv, "Scan already in progress.\n"); + ret = -EAGAIN; + goto out_unlock; + } + + if (test_bit(STATUS_SCAN_ABORTING, &priv->status)) { + IWL_DEBUG_SCAN(priv, "Scan request while abort pending\n"); + ret = -EAGAIN; + goto out_unlock; + } + /* We don't schedule scan within next_scan_jiffies period. * Avoid scanning during possible EAPOL exchange, return * success immediately. @@ -500,11 +497,10 @@ return; mutex_lock(&priv->mutex); - if (test_bit(STATUS_SCANNING, &priv->status) || - test_bit(STATUS_SCAN_ABORTING, &priv->status)) { - IWL_DEBUG_SCAN(priv, "Scan completion watchdog resetting " - "adapter (%dms)\n", - jiffies_to_msecs(IWL_SCAN_CHECK_WATCHDOG)); + if (test_bit(STATUS_SCANNING, &priv->status) && + !test_bit(STATUS_SCAN_ABORTING, &priv->status)) { + IWL_DEBUG_SCAN(priv, "Scan completion watchdog (%dms)\n", + jiffies_to_msecs(IWL_SCAN_CHECK_WATCHDOG)); if (!test_bit(STATUS_EXIT_PENDING, &priv->status)) iwl_send_scan_abort(priv); @@ -800,11 +796,11 @@ !test_bit(STATUS_GEO_CONFIGURED, &priv->status)) return; - mutex_lock(&priv->mutex); - - set_bit(STATUS_SCAN_ABORTING, &priv->status); - iwl_send_scan_abort(priv); + cancel_delayed_work(&priv->scan_check); + mutex_lock(&priv->mutex); + if (test_bit(STATUS_SCAN_ABORTING, &priv->status)) + iwl_send_scan_abort(priv); mutex_unlock(&priv->mutex); } EXPORT_SYMBOL(iwl_bg_abort_scan); --- linux-2.6.32.orig/drivers/net/wireless/iwlwifi/iwl-tx.c +++ linux-2.6.32/drivers/net/wireless/iwlwifi/iwl-tx.c @@ -60,7 +60,8 @@ static inline int iwl_alloc_dma_ptr(struct iwl_priv *priv, struct iwl_dma_ptr *ptr, size_t size) { - ptr->addr = pci_alloc_consistent(priv->pci_dev, size, &ptr->dma); + ptr->addr = dma_alloc_coherent(&priv->pci_dev->dev, size, &ptr->dma, + GFP_KERNEL); if (!ptr->addr) return -ENOMEM; ptr->size = size; @@ -73,7 +74,7 @@ if (unlikely(!ptr->addr)) return; - pci_free_consistent(priv->pci_dev, ptr->size, ptr->addr, ptr->dma); + dma_free_coherent(&priv->pci_dev->dev, ptr->size, ptr->addr, ptr->dma); memset(ptr, 0, sizeof(*ptr)); } @@ -119,6 +120,20 @@ EXPORT_SYMBOL(iwl_txq_update_write_ptr); +void iwl_free_tfds_in_queue(struct iwl_priv *priv, + int sta_id, int tid, int freed) +{ + if (priv->stations[sta_id].tid[tid].tfds_in_queue >= freed) + priv->stations[sta_id].tid[tid].tfds_in_queue -= freed; + else { + IWL_DEBUG_TX(priv, "free more than tfds_in_queue (%u:%d)\n", + priv->stations[sta_id].tid[tid].tfds_in_queue, + freed); + priv->stations[sta_id].tid[tid].tfds_in_queue = 0; + } +} +EXPORT_SYMBOL(iwl_free_tfds_in_queue); + /** * iwl_tx_queue_free - Deallocate DMA queue. * @txq: Transmit queue to deallocate. @@ -131,7 +146,7 @@ { struct iwl_tx_queue *txq = &priv->txq[txq_id]; struct iwl_queue *q = &txq->q; - struct pci_dev *dev = priv->pci_dev; + struct device *dev = &priv->pci_dev->dev; int i, len; if (q->n_bd == 0) @@ -150,8 +165,8 @@ /* De-alloc circular buffer of TFDs */ if (txq->q.n_bd) - pci_free_consistent(dev, priv->hw_params.tfd_size * - txq->q.n_bd, txq->tfds, txq->q.dma_addr); + dma_free_coherent(dev, priv->hw_params.tfd_size * + txq->q.n_bd, txq->tfds, txq->q.dma_addr); /* De-alloc array of per-TFD driver data */ kfree(txq->txb); @@ -180,7 +195,7 @@ { struct iwl_tx_queue *txq = &priv->txq[IWL_CMD_QUEUE_NUM]; struct iwl_queue *q = &txq->q; - struct pci_dev *dev = priv->pci_dev; + struct device *dev = &priv->pci_dev->dev; int i, len; if (q->n_bd == 0) @@ -195,8 +210,8 @@ /* De-alloc circular buffer of TFDs */ if (txq->q.n_bd) - pci_free_consistent(dev, priv->hw_params.tfd_size * - txq->q.n_bd, txq->tfds, txq->q.dma_addr); + dma_free_coherent(dev, priv->hw_params.tfd_size * txq->q.n_bd, + txq->tfds, txq->q.dma_addr); /* deallocate arrays */ kfree(txq->cmd); @@ -287,7 +302,7 @@ static int iwl_tx_queue_alloc(struct iwl_priv *priv, struct iwl_tx_queue *txq, u32 id) { - struct pci_dev *dev = priv->pci_dev; + struct device *dev = &priv->pci_dev->dev; size_t tfd_sz = priv->hw_params.tfd_size * TFD_QUEUE_SIZE_MAX; /* Driver private data, only for Tx (not command) queues, @@ -306,8 +321,8 @@ /* Circular buffer of transmit frame descriptors (TFDs), * shared with device */ - txq->tfds = pci_alloc_consistent(dev, tfd_sz, &txq->q.dma_addr); - + txq->tfds = dma_alloc_coherent(dev, tfd_sz, &txq->q.dma_addr, + GFP_KERNEL); if (!txq->tfds) { IWL_ERR(priv, "pci_alloc_consistent(%zd) failed\n", tfd_sz); goto error; @@ -776,8 +791,10 @@ hdr->seq_ctrl |= cpu_to_le16(seq_number); seq_number += 0x10; /* aggregation is on for this */ - if (info->flags & IEEE80211_TX_CTL_AMPDU) + if (info->flags & IEEE80211_TX_CTL_AMPDU && + priv->stations[sta_id].tid[tid].agg.state == IWL_AGG_ON) { txq_id = priv->stations[sta_id].tid[tid].agg.txq_id; + } } txq = &priv->txq[txq_id]; @@ -1057,6 +1074,7 @@ struct iwl_queue *q = &txq->q; struct iwl_tx_info *tx_info; int nfreed = 0; + struct ieee80211_hdr *hdr; if ((index >= q->n_bd) || (iwl_queue_used(q, index) == 0)) { IWL_ERR(priv, "Read index for DMA queue txq id (%d), index %d, " @@ -1070,6 +1088,14 @@ q->read_ptr = iwl_queue_inc_wrap(q->read_ptr, q->n_bd)) { tx_info = &txq->txb[txq->q.read_ptr]; + + if (WARN_ON_ONCE(tx_info->skb == NULL)) + continue; + + hdr = (struct ieee80211_hdr *)tx_info->skb[0]->data; + if (ieee80211_is_data_qos(hdr->frame_control)) + nfreed++; + ieee80211_tx_status_irqsafe(priv->hw, tx_info->skb[0]); tx_info->skb[0] = NULL; @@ -1077,7 +1103,6 @@ priv->cfg->ops->lib->txq_inval_byte_cnt_tbl(priv, txq); priv->cfg->ops->lib->txq_free_tfd(priv, txq); - nfreed++; } return nfreed; } @@ -1254,7 +1279,7 @@ { int tx_fifo_id, txq_id, sta_id, ssn = -1; struct iwl_tid_data *tid_data; - int ret, write_ptr, read_ptr; + int write_ptr, read_ptr; unsigned long flags; if (!ra) { @@ -1306,13 +1331,17 @@ priv->stations[sta_id].tid[tid].agg.state = IWL_AGG_OFF; spin_lock_irqsave(&priv->lock, flags); - ret = priv->cfg->ops->lib->txq_agg_disable(priv, txq_id, ssn, + /* + * the only reason this call can fail is queue number out of range, + * which can happen if uCode is reloaded and all the station + * information are lost. if it is outside the range, there is no need + * to deactivate the uCode queue, just return "success" to allow + * mac80211 to clean up it own data. + */ + priv->cfg->ops->lib->txq_agg_disable(priv, txq_id, ssn, tx_fifo_id); spin_unlock_irqrestore(&priv->lock, flags); - if (ret) - return ret; - ieee80211_stop_tx_ba_cb_irqsafe(priv->hw, ra, tid); return 0; @@ -1454,6 +1483,11 @@ sta_id = ba_resp->sta_id; tid = ba_resp->tid; agg = &priv->stations[sta_id].tid[tid].agg; + if (unlikely(agg->txq_id != scd_flow)) { + IWL_ERR(priv, "BA scd_flow %d does not match txq_id %d\n", + scd_flow, agg->txq_id); + return; + } /* Find index just before block-ack window */ index = iwl_queue_dec_wrap(ba_resp_scd_ssn & 0xff, txq->q.n_bd); @@ -1485,7 +1519,7 @@ if (txq->q.read_ptr != (ba_resp_scd_ssn & 0xff)) { /* calculate mac80211 ampdu sw queue to wake */ int freed = iwl_tx_queue_reclaim(priv, scd_flow, index); - priv->stations[sta_id].tid[tid].tfds_in_queue -= freed; + iwl_free_tfds_in_queue(priv, sta_id, tid, freed); if ((iwl_queue_space(&txq->q) > txq->q.low_mark) && priv->mac80211_registered && --- linux-2.6.32.orig/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ linux-2.6.32/drivers/net/wireless/iwlwifi/iwl3945-base.c @@ -356,10 +356,10 @@ static void iwl3945_unset_hw_params(struct iwl_priv *priv) { if (priv->shared_virt) - pci_free_consistent(priv->pci_dev, - sizeof(struct iwl3945_shared), - priv->shared_virt, - priv->shared_phys); + dma_free_coherent(&priv->pci_dev->dev, + sizeof(struct iwl3945_shared), + priv->shared_virt, + priv->shared_phys); } static void iwl3945_build_tx_cmd_hwcrypto(struct iwl_priv *priv, @@ -562,6 +562,9 @@ txq = &priv->txq[txq_id]; q = &txq->q; + if ((iwl_queue_space(q) < q->high_mark)) + goto drop; + spin_lock_irqsave(&priv->lock, flags); idx = get_cmd_index(q, q->write_ptr, 0); @@ -1269,10 +1272,10 @@ } } - pci_free_consistent(priv->pci_dev, 4 * RX_QUEUE_SIZE, rxq->bd, - rxq->dma_addr); - pci_free_consistent(priv->pci_dev, sizeof(struct iwl_rb_status), - rxq->rb_stts, rxq->rb_stts_dma); + dma_free_coherent(&priv->pci_dev->dev, 4 * RX_QUEUE_SIZE, rxq->bd, + rxq->dma_addr); + dma_free_coherent(&priv->pci_dev->dev, sizeof(struct iwl_rb_status), + rxq->rb_stts, rxq->rb_stts_dma); rxq->bd = NULL; rxq->rb_stts = NULL; } @@ -1901,7 +1904,7 @@ { int i; - for (i = 0; i < IWL_RATE_COUNT; i++) { + for (i = 0; i < IWL_RATE_COUNT_LEGACY; i++) { rates[i].bitrate = iwl3945_rates[i].ieee * 5; rates[i].hw_value = i; /* Rate scaling will work on indexes */ rates[i].hw_value_short = i; @@ -3854,9 +3857,11 @@ /* Tell mac80211 our characteristics */ hw->flags = IEEE80211_HW_SIGNAL_DBM | IEEE80211_HW_NOISE_DBM | - IEEE80211_HW_SPECTRUM_MGMT | - IEEE80211_HW_SUPPORTS_PS | - IEEE80211_HW_SUPPORTS_DYNAMIC_PS; + IEEE80211_HW_SPECTRUM_MGMT; + + if (!priv->cfg->broken_powersave) + hw->flags |= IEEE80211_HW_SUPPORTS_PS | + IEEE80211_HW_SUPPORTS_DYNAMIC_PS; hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | --- linux-2.6.32.orig/drivers/net/wireless/iwmc3200wifi/iwm.h +++ linux-2.6.32/drivers/net/wireless/iwmc3200wifi/iwm.h @@ -258,7 +258,7 @@ struct sk_buff_head rx_list; struct list_head rx_tickets; - struct list_head rx_packets[IWM_RX_ID_HASH]; + struct list_head rx_packets[IWM_RX_ID_HASH + 1]; struct workqueue_struct *rx_wq; struct work_struct rx_worker; --- linux-2.6.32.orig/drivers/net/wireless/libertas/cmd.c +++ linux-2.6.32/drivers/net/wireless/libertas/cmd.c @@ -1758,8 +1758,8 @@ cpu_to_le16(CMD_SUBCMD_EXIT_PS)) { lbs_deb_host( "EXEC_NEXT_CMD: ignore ENTER_PS cmd\n"); - list_del(&cmdnode->list); spin_lock_irqsave(&priv->driver_lock, flags); + list_del(&cmdnode->list); lbs_complete_command(priv, cmdnode, 0); spin_unlock_irqrestore(&priv->driver_lock, flags); @@ -1771,8 +1771,8 @@ (priv->psstate == PS_STATE_PRE_SLEEP)) { lbs_deb_host( "EXEC_NEXT_CMD: ignore EXIT_PS cmd in sleep\n"); - list_del(&cmdnode->list); spin_lock_irqsave(&priv->driver_lock, flags); + list_del(&cmdnode->list); lbs_complete_command(priv, cmdnode, 0); spin_unlock_irqrestore(&priv->driver_lock, flags); priv->needtowakeup = 1; @@ -1785,7 +1785,9 @@ "EXEC_NEXT_CMD: sending EXIT_PS\n"); } } + spin_lock_irqsave(&priv->driver_lock, flags); list_del(&cmdnode->list); + spin_unlock_irqrestore(&priv->driver_lock, flags); lbs_deb_host("EXEC_NEXT_CMD: sending command 0x%04x\n", le16_to_cpu(cmd->command)); lbs_submit_command(priv, cmdnode); --- linux-2.6.32.orig/drivers/net/wireless/libertas/if_sdio.c +++ linux-2.6.32/drivers/net/wireless/libertas/if_sdio.c @@ -34,6 +34,8 @@ #include #include #include +#include +#include #include "host.h" #include "decl.h" @@ -883,6 +885,7 @@ int ret, i; unsigned int model; struct if_sdio_packet *packet; + struct mmc_host *host = func->card->host; lbs_deb_enter(LBS_DEB_SDIO); @@ -963,6 +966,25 @@ if (ret) goto disable; + /* For 1-bit transfers to the 8686 model, we need to enable the + * interrupt flag in the CCCR register. Set the MMC_QUIRK_LENIENT_FN0 + * bit to allow access to non-vendor registers. */ + if ((card->model == IF_SDIO_MODEL_8686) && + (host->caps & MMC_CAP_SDIO_IRQ) && + (host->ios.bus_width == MMC_BUS_WIDTH_1)) { + u8 reg; + + func->card->quirks |= MMC_QUIRK_LENIENT_FN0; + reg = sdio_f0_readb(func, SDIO_CCCR_IF, &ret); + if (ret) + goto release_int; + + reg |= SDIO_BUS_ECSI; + sdio_f0_writeb(func, reg, SDIO_CCCR_IF, &ret); + if (ret) + goto release_int; + } + card->ioport = sdio_readb(func, IF_SDIO_IOPORT, &ret); if (ret) goto release_int; --- linux-2.6.32.orig/drivers/net/wireless/libertas/scan.c +++ linux-2.6.32/drivers/net/wireless/libertas/scan.c @@ -399,11 +399,8 @@ chan_count = lbs_scan_create_channel_list(priv, chan_list); netif_stop_queue(priv->dev); - netif_carrier_off(priv->dev); - if (priv->mesh_dev) { + if (priv->mesh_dev) netif_stop_queue(priv->mesh_dev); - netif_carrier_off(priv->mesh_dev); - } /* Prepare to continue an interrupted scan */ lbs_deb_scan("chan_count %d, scan_channel %d\n", @@ -467,16 +464,13 @@ priv->scan_channel = 0; out: - if (priv->connect_status == LBS_CONNECTED) { - netif_carrier_on(priv->dev); - if (!priv->tx_pending_len) - netif_wake_queue(priv->dev); - } - if (priv->mesh_dev && (priv->mesh_connect_status == LBS_CONNECTED)) { - netif_carrier_on(priv->mesh_dev); - if (!priv->tx_pending_len) - netif_wake_queue(priv->mesh_dev); - } + if (priv->connect_status == LBS_CONNECTED && !priv->tx_pending_len) + netif_wake_queue(priv->dev); + + if (priv->mesh_dev && (priv->mesh_connect_status == LBS_CONNECTED) && + !priv->tx_pending_len) + netif_wake_queue(priv->mesh_dev); + kfree(chan_list); lbs_deb_leave_args(LBS_DEB_SCAN, "ret %d", ret); --- linux-2.6.32.orig/drivers/net/wireless/libertas/wext.c +++ linux-2.6.32/drivers/net/wireless/libertas/wext.c @@ -1953,10 +1953,8 @@ if (priv->connect_status == LBS_CONNECTED) { memcpy(extra, priv->curbssparams.ssid, priv->curbssparams.ssid_len); - extra[priv->curbssparams.ssid_len] = '\0'; } else { memset(extra, 0, 32); - extra[priv->curbssparams.ssid_len] = '\0'; } /* * If none, we may want to get the one that was set --- linux-2.6.32.orig/drivers/net/wireless/orinoco/main.c +++ linux-2.6.32/drivers/net/wireless/orinoco/main.c @@ -1767,6 +1767,12 @@ struct net_device *dev = priv->ndev; int err = 0; + /* If we've called commit, we are reconfiguring or bringing the + * interface up. Maintaining countermeasures across this would + * be confusing, so note that we've disabled them. The port will + * be enabled later in orinoco_commit or __orinoco_up. */ + priv->tkip_cm_active = 0; + err = orinoco_hw_program_rids(priv); /* FIXME: what about netif_tx_lock */ --- linux-2.6.32.orig/drivers/net/wireless/orinoco/wext.c +++ linux-2.6.32/drivers/net/wireless/orinoco/wext.c @@ -23,7 +23,7 @@ #define MAX_RID_LEN 1024 /* Helper routine to record keys - * Do not call from interrupt context */ + * It is called under orinoco_lock so it may not sleep */ static int orinoco_set_key(struct orinoco_private *priv, int index, enum orinoco_alg alg, const u8 *key, int key_len, const u8 *seq, int seq_len) @@ -32,14 +32,14 @@ kzfree(priv->keys[index].seq); if (key_len) { - priv->keys[index].key = kzalloc(key_len, GFP_KERNEL); + priv->keys[index].key = kzalloc(key_len, GFP_ATOMIC); if (!priv->keys[index].key) goto nomem; } else priv->keys[index].key = NULL; if (seq_len) { - priv->keys[index].seq = kzalloc(seq_len, GFP_KERNEL); + priv->keys[index].seq = kzalloc(seq_len, GFP_ATOMIC); if (!priv->keys[index].seq) goto free_key; } else @@ -1022,10 +1022,10 @@ */ if (param->value) { priv->tkip_cm_active = 1; - ret = hermes_enable_port(hw, 0); + ret = hermes_disable_port(hw, 0); } else { priv->tkip_cm_active = 0; - ret = hermes_disable_port(hw, 0); + ret = hermes_enable_port(hw, 0); } break; --- linux-2.6.32.orig/drivers/net/wireless/p54/eeprom.c +++ linux-2.6.32/drivers/net/wireless/p54/eeprom.c @@ -126,7 +126,7 @@ int ret = -ENOMEM; if ((!list->entries) || (!list->band_channel_num[band])) - return 0; + return -EINVAL; tmp = kzalloc(sizeof(*tmp), GFP_KERNEL); if (!tmp) @@ -158,6 +158,7 @@ (list->channels[i].data & CHAN_HAS_CURVE ? "" : " [curve data]"), list->channels[i].index, list->channels[i].freq); + continue; } tmp->channels[j].band = list->channels[i].band; @@ -165,7 +166,16 @@ j++; } - tmp->n_channels = list->band_channel_num[band]; + if (j == 0) { + printk(KERN_ERR "%s: Disabling totally damaged %s band.\n", + wiphy_name(dev->wiphy), (band == IEEE80211_BAND_2GHZ) ? + "2 GHz" : "5 GHz"); + + ret = -ENODATA; + goto err_out; + } + + tmp->n_channels = j; old = priv->band_table[band]; priv->band_table[band] = tmp; if (old) { @@ -228,13 +238,13 @@ struct p54_common *priv = dev->priv; struct p54_channel_list *list; unsigned int i, j, max_channel_num; - int ret = -ENOMEM; + int ret = 0; u16 freq; if ((priv->iq_autocal_len != priv->curve_data->entries) || (priv->iq_autocal_len != priv->output_limit->entries)) - printk(KERN_ERR "%s: EEPROM is damaged... you may not be able" - "to use all channels with this device.\n", + printk(KERN_ERR "%s: Unsupported or damaged EEPROM detected. " + "You may not be able to use all channels.\n", wiphy_name(dev->wiphy)); max_channel_num = max_t(unsigned int, priv->output_limit->entries, @@ -243,14 +253,18 @@ priv->curve_data->entries); list = kzalloc(sizeof(*list), GFP_KERNEL); - if (!list) + if (!list) { + ret = -ENOMEM; goto free; + } list->max_entries = max_channel_num; list->channels = kzalloc(sizeof(struct p54_channel_entry) * max_channel_num, GFP_KERNEL); - if (!list->channels) + if (!list->channels) { + ret = -ENOMEM; goto free; + } for (i = 0; i < max_channel_num; i++) { if (i < priv->iq_autocal_len) { @@ -282,13 +296,8 @@ p54_compare_channels, NULL); for (i = 0, j = 0; i < IEEE80211_NUM_BANDS; i++) { - if (list->band_channel_num[i]) { - ret = p54_generate_band(dev, list, i); - if (ret) - goto free; - + if (p54_generate_band(dev, list, i) == 0) j++; - } } if (j == 0) { /* no useable band available. */ --- linux-2.6.32.orig/drivers/net/wireless/p54/p54pci.c +++ linux-2.6.32/drivers/net/wireless/p54/p54pci.c @@ -40,6 +40,8 @@ { PCI_DEVICE(0x1260, 0x3877) }, /* Intersil PRISM Javelin/Xbow Wireless LAN adapter */ { PCI_DEVICE(0x1260, 0x3886) }, + /* Intersil PRISM Xbow Wireless LAN adapter (Symbol AP-300) */ + { PCI_DEVICE(0x1260, 0xffff) }, { }, }; @@ -157,6 +159,14 @@ skb_tail_pointer(skb), priv->common.rx_mtu + 32, PCI_DMA_FROMDEVICE); + + if (pci_dma_mapping_error(priv->pdev, mapping)) { + dev_kfree_skb_any(skb); + dev_err(&priv->pdev->dev, + "RX DMA Mapping error\n"); + break; + } + desc->host_addr = cpu_to_le32(mapping); desc->device_addr = 0; // FIXME: necessary? desc->len = cpu_to_le16(priv->common.rx_mtu + 32); @@ -188,6 +198,7 @@ while (i != idx) { u16 len; struct sk_buff *skb; + dma_addr_t dma_addr; desc = &ring[i]; len = le16_to_cpu(desc->len); skb = rx_buf[i]; @@ -197,17 +208,28 @@ i %= ring_limit; continue; } + + if (unlikely(len > priv->common.rx_mtu)) { + if (net_ratelimit()) + dev_err(&priv->pdev->dev, "rx'd frame size " + "exceeds length threshold.\n"); + + len = priv->common.rx_mtu; + } + dma_addr = le32_to_cpu(desc->host_addr); + pci_dma_sync_single_for_cpu(priv->pdev, dma_addr, + priv->common.rx_mtu + 32, PCI_DMA_FROMDEVICE); skb_put(skb, len); if (p54_rx(dev, skb)) { - pci_unmap_single(priv->pdev, - le32_to_cpu(desc->host_addr), - priv->common.rx_mtu + 32, - PCI_DMA_FROMDEVICE); + pci_unmap_single(priv->pdev, dma_addr, + priv->common.rx_mtu + 32, PCI_DMA_FROMDEVICE); rx_buf[i] = NULL; - desc->host_addr = 0; + desc->host_addr = cpu_to_le32(0); } else { skb_trim(skb, 0); + pci_dma_sync_single_for_device(priv->pdev, dma_addr, + priv->common.rx_mtu + 32, PCI_DMA_FROMDEVICE); desc->len = cpu_to_le16(priv->common.rx_mtu + 32); } @@ -229,7 +251,7 @@ u32 idx, i; i = (*index) % ring_limit; - (*index) = idx = le32_to_cpu(ring_control->device_idx[1]); + (*index) = idx = le32_to_cpu(ring_control->device_idx[ring_index]); idx %= ring_limit; while (i != idx) { @@ -317,14 +339,20 @@ u32 device_idx, idx, i; spin_lock_irqsave(&priv->lock, flags); - device_idx = le32_to_cpu(ring_control->device_idx[1]); idx = le32_to_cpu(ring_control->host_idx[1]); i = idx % ARRAY_SIZE(ring_control->tx_data); - priv->tx_buf_data[i] = skb; mapping = pci_map_single(priv->pdev, skb->data, skb->len, PCI_DMA_TODEVICE); + if (pci_dma_mapping_error(priv->pdev, mapping)) { + spin_unlock_irqrestore(&priv->lock, flags); + p54_free_skb(dev, skb); + dev_err(&priv->pdev->dev, "TX DMA mapping error\n"); + return ; + } + priv->tx_buf_data[i] = skb; + desc = &ring_control->tx_data[i]; desc->host_addr = cpu_to_le32(mapping); desc->device_addr = ((struct p54_hdr *)skb->data)->req_id; --- linux-2.6.32.orig/drivers/net/wireless/p54/p54spi.c +++ linux-2.6.32/drivers/net/wireless/p54/p54spi.c @@ -581,8 +581,6 @@ WARN_ON(priv->fw_state != FW_STATE_READY); - cancel_work_sync(&priv->work); - p54spi_power_off(priv); spin_lock_irqsave(&priv->tx_lock, flags); INIT_LIST_HEAD(&priv->tx_pending); @@ -590,6 +588,8 @@ priv->fw_state = FW_STATE_OFF; mutex_unlock(&priv->mutex); + + cancel_work_sync(&priv->work); } static int __devinit p54spi_probe(struct spi_device *spi) @@ -650,6 +650,7 @@ init_completion(&priv->fw_comp); INIT_LIST_HEAD(&priv->tx_pending); mutex_init(&priv->mutex); + spin_lock_init(&priv->tx_lock); SET_IEEE80211_DEV(hw, &spi->dev); priv->common.open = p54spi_op_start; priv->common.stop = p54spi_op_stop; --- linux-2.6.32.orig/drivers/net/wireless/p54/p54usb.c +++ linux-2.6.32/drivers/net/wireless/p54/p54usb.c @@ -32,10 +32,21 @@ MODULE_FIRMWARE("isl3886usb"); MODULE_FIRMWARE("isl3887usb"); +/* + * Note: + * + * Always update our wiki's device list (located at: + * http://wireless.kernel.org/en/users/Drivers/p54/devices ), + * whenever you add a new device. + */ + static struct usb_device_id p54u_table[] __devinitdata = { /* 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(0x0707, 0xee06)}, /* SMC 2862W-G */ + {USB_DEVICE(0x07aa, 0x001c)}, /* Corega CG-WLUSB2GT */ {USB_DEVICE(0x083a, 0x4501)}, /* Accton 802.11g WN4501 USB */ {USB_DEVICE(0x083a, 0x4502)}, /* Siemens Gigaset USB Adapter */ {USB_DEVICE(0x083a, 0x5501)}, /* Phillips CPWUA054 */ @@ -43,12 +54,20 @@ {USB_DEVICE(0x0846, 0x4210)}, /* Netgear WG121 the second ? */ {USB_DEVICE(0x0846, 0x4220)}, /* Netgear WG111 */ {USB_DEVICE(0x09aa, 0x1000)}, /* Spinnaker Proto board */ + {USB_DEVICE(0x0bf8, 0x1007)}, /* Fujitsu E-5400 USB */ {USB_DEVICE(0x0cde, 0x0006)}, /* Medion 40900, Roper Europe */ + {USB_DEVICE(0x0db0, 0x6826)}, /* MSI UB54G (MS-6826) */ + {USB_DEVICE(0x107b, 0x55f2)}, /* Gateway WGU-210 (Gemtek) */ {USB_DEVICE(0x124a, 0x4023)}, /* Shuttle PN15, Airvast WM168g, IOGear GWU513 */ + {USB_DEVICE(0x1435, 0x0210)}, /* Inventel UR054G */ + {USB_DEVICE(0x15a9, 0x0002)}, /* Gemtek WUBI-100GW 802.11g */ + {USB_DEVICE(0x1630, 0x0005)}, /* 2Wire 802.11g USB (v1) / Z-Com */ + {USB_DEVICE(0x182d, 0x096b)}, /* Sitecom WL-107 */ {USB_DEVICE(0x1915, 0x2234)}, /* Linksys WUSB54G OEM */ {USB_DEVICE(0x1915, 0x2235)}, /* Linksys WUSB54G Portable OEM */ {USB_DEVICE(0x2001, 0x3701)}, /* DLink DWL-G120 Spinnaker */ {USB_DEVICE(0x2001, 0x3703)}, /* DLink DWL-G122 */ + {USB_DEVICE(0x2001, 0x3762)}, /* Conceptronic C54U */ {USB_DEVICE(0x5041, 0x2234)}, /* Linksys WUSB54G */ {USB_DEVICE(0x5041, 0x2235)}, /* Linksys WUSB54G Portable */ @@ -57,15 +76,18 @@ {USB_DEVICE(0x050d, 0x7050)}, /* Belkin F5D7050 ver 1000 */ {USB_DEVICE(0x0572, 0x2000)}, /* Cohiba Proto board */ {USB_DEVICE(0x0572, 0x2002)}, /* Cohiba Proto board */ + {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(0x083a, 0x4521)}, /* Siemens Gigaset USB Adapter 54 version 2 */ + {USB_DEVICE(0x083a, 0xc501)}, /* Zoom Wireless-G 4410 */ + {USB_DEVICE(0x083a, 0xf503)}, /* Accton FD7050E ver 1010ec */ {USB_DEVICE(0x0846, 0x4240)}, /* Netgear WG111 (v2) */ {USB_DEVICE(0x0915, 0x2000)}, /* Cohiba Proto board */ {USB_DEVICE(0x0915, 0x2002)}, /* Cohiba Proto board */ {USB_DEVICE(0x0baf, 0x0118)}, /* U.S. Robotics U5 802.11g Adapter*/ {USB_DEVICE(0x0bf8, 0x1009)}, /* FUJITSU E-5400 USB D1700*/ - {USB_DEVICE(0x0cde, 0x0006)}, /* Medion MD40900 */ +// DUPE {USB_DEVICE(0x0cde, 0x0006)}, /* Medion MD40900 */ {USB_DEVICE(0x0cde, 0x0008)}, /* Sagem XG703A */ {USB_DEVICE(0x0cde, 0x0015)}, /* Zcomax XG-705A */ {USB_DEVICE(0x0d8e, 0x3762)}, /* DLink DWL-G120 Cohiba */ @@ -75,7 +97,11 @@ {USB_DEVICE(0x13B1, 0x000C)}, /* Linksys WUSB54AG */ {USB_DEVICE(0x1413, 0x5400)}, /* Telsey 802.11g USB2.0 Adapter */ {USB_DEVICE(0x1435, 0x0427)}, /* Inventel UR054G */ + {USB_DEVICE(0x1668, 0x1050)}, /* Actiontec 802UIG-1 */ + {USB_DEVICE(0x1740, 0x1000)}, /* Senao NUB-350 */ {USB_DEVICE(0x2001, 0x3704)}, /* DLink DWL-G122 rev A2 */ + {USB_DEVICE(0x2001, 0x3705)}, /* D-Link DWL-G120 rev C1 */ + {USB_DEVICE(0x413c, 0x5513)}, /* Dell WLA3310 USB Wireless Adapter */ {USB_DEVICE(0x413c, 0x8102)}, /* Spinnaker DUT */ {USB_DEVICE(0x413c, 0x8104)}, /* Cohiba Proto board */ {} @@ -926,8 +952,8 @@ #ifdef CONFIG_PM /* ISL3887 needs a full reset on resume */ udev->reset_resume = 1; +#endif /* CONFIG_PM */ err = p54u_device_reset(dev); -#endif priv->hw_type = P54U_3887; dev->extra_tx_headroom += sizeof(struct lm87_tx_hdr); --- linux-2.6.32.orig/drivers/net/wireless/p54/txrx.c +++ linux-2.6.32/drivers/net/wireless/p54/txrx.c @@ -186,7 +186,7 @@ struct ieee80211_tx_queue_stats *queue; unsigned long flags; - if (WARN_ON(p54_queue > P54_QUEUE_NUM)) + if (WARN_ON(p54_queue >= P54_QUEUE_NUM)) return -EINVAL; queue = &priv->tx_stats[p54_queue]; @@ -445,7 +445,7 @@ } if (!(info->flags & IEEE80211_TX_CTL_NO_ACK) && - (!payload->status)) + !(payload->status & P54_TX_FAILED)) info->flags |= IEEE80211_TX_STAT_ACK; if (payload->status & P54_TX_PSM_CANCELLED) info->flags |= IEEE80211_TX_STAT_TX_FILTERED; @@ -617,7 +617,7 @@ else *burst_possible = false; - if (info->flags & IEEE80211_TX_CTL_ASSIGN_SEQ) + if (!(info->flags & IEEE80211_TX_CTL_ASSIGN_SEQ)) *flags |= P54_HDR_FLAG_DATA_OUT_SEQNR; if (info->flags & IEEE80211_TX_CTL_PSPOLL_RESPONSE) @@ -703,7 +703,7 @@ struct p54_tx_info *p54info; struct p54_hdr *hdr; struct p54_tx_data *txhdr; - unsigned int padding, len, extra_len; + unsigned int padding, len, extra_len = 0; int i, j, ridx; u16 hdr_flags = 0, aid = 0; u8 rate, queue = 0, crypt_offset = 0; --- linux-2.6.32.orig/drivers/net/wireless/rt2x00/rt2400pci.c +++ linux-2.6.32/drivers/net/wireless/rt2x00/rt2400pci.c @@ -1431,7 +1431,6 @@ IEEE80211_HW_SIGNAL_DBM | IEEE80211_HW_SUPPORTS_PS | IEEE80211_HW_PS_NULLFUNC_STACK; - rt2x00dev->hw->extra_tx_headroom = 0; SET_IEEE80211_DEV(rt2x00dev->hw, rt2x00dev->dev); SET_IEEE80211_PERM_ADDR(rt2x00dev->hw, @@ -1628,6 +1627,7 @@ .eeprom_size = EEPROM_SIZE, .rf_size = RF_SIZE, .tx_queues = NUM_TX_QUEUES, + .extra_tx_headroom = 0, .rx = &rt2400pci_queue_rx, .tx = &rt2400pci_queue_tx, .bcn = &rt2400pci_queue_bcn, --- linux-2.6.32.orig/drivers/net/wireless/rt2x00/rt2500pci.c +++ linux-2.6.32/drivers/net/wireless/rt2x00/rt2500pci.c @@ -1732,8 +1732,6 @@ IEEE80211_HW_SUPPORTS_PS | IEEE80211_HW_PS_NULLFUNC_STACK; - rt2x00dev->hw->extra_tx_headroom = 0; - SET_IEEE80211_DEV(rt2x00dev->hw, rt2x00dev->dev); SET_IEEE80211_PERM_ADDR(rt2x00dev->hw, rt2x00_eeprom_addr(rt2x00dev, @@ -1927,6 +1925,7 @@ .eeprom_size = EEPROM_SIZE, .rf_size = RF_SIZE, .tx_queues = NUM_TX_QUEUES, + .extra_tx_headroom = 0, .rx = &rt2500pci_queue_rx, .tx = &rt2500pci_queue_tx, .bcn = &rt2500pci_queue_bcn, --- linux-2.6.32.orig/drivers/net/wireless/rt2x00/rt2500usb.c +++ linux-2.6.32/drivers/net/wireless/rt2x00/rt2500usb.c @@ -347,6 +347,7 @@ int timeout; u32 mask; u16 reg; + enum cipher curr_cipher; if (crypto->cmd == SET_KEY) { /* @@ -357,6 +358,7 @@ mask = TXRX_CSR0_KEY_ID.bit_mask; rt2500usb_register_read(rt2x00dev, TXRX_CSR0, ®); + curr_cipher = rt2x00_get_field16(reg, TXRX_CSR0_ALGORITHM); reg &= mask; if (reg && reg == mask) @@ -365,6 +367,14 @@ reg = rt2x00_get_field16(reg, TXRX_CSR0_KEY_ID); key->hw_key_idx += reg ? ffz(reg) : 0; + /* + * Hardware requires that all keys use the same cipher + * (e.g. TKIP-only, AES-only, but not TKIP+AES). + * If this is not the first key, compare the cipher with the + * first one and fall back to SW crypto if not the same. + */ + if (key->hw_key_idx > 0 && crypto->cipher != curr_cipher) + return -EOPNOTSUPP; /* * The encryption key doesn't fit within the CSR cache, @@ -1788,8 +1798,6 @@ IEEE80211_HW_SUPPORTS_PS | IEEE80211_HW_PS_NULLFUNC_STACK; - rt2x00dev->hw->extra_tx_headroom = TXD_DESC_SIZE; - SET_IEEE80211_DEV(rt2x00dev->hw, rt2x00dev->dev); SET_IEEE80211_PERM_ADDR(rt2x00dev->hw, rt2x00_eeprom_addr(rt2x00dev, @@ -1962,6 +1970,7 @@ .eeprom_size = EEPROM_SIZE, .rf_size = RF_SIZE, .tx_queues = NUM_TX_QUEUES, + .extra_tx_headroom = TXD_DESC_SIZE, .rx = &rt2500usb_queue_rx, .tx = &rt2500usb_queue_tx, .bcn = &rt2500usb_queue_bcn, --- linux-2.6.32.orig/drivers/net/wireless/rt2x00/rt2800usb.c +++ linux-2.6.32/drivers/net/wireless/rt2x00/rt2800usb.c @@ -2509,7 +2509,6 @@ IEEE80211_HW_SIGNAL_DBM | IEEE80211_HW_SUPPORTS_PS | IEEE80211_HW_PS_NULLFUNC_STACK; - rt2x00dev->hw->extra_tx_headroom = TXINFO_DESC_SIZE + TXWI_DESC_SIZE; SET_IEEE80211_DEV(rt2x00dev->hw, rt2x00dev->dev); SET_IEEE80211_PERM_ADDR(rt2x00dev->hw, @@ -2858,6 +2857,7 @@ .eeprom_size = EEPROM_SIZE, .rf_size = RF_SIZE, .tx_queues = NUM_TX_QUEUES, + .extra_tx_headroom = TXINFO_DESC_SIZE + TXWI_DESC_SIZE, .rx = &rt2800usb_queue_rx, .tx = &rt2800usb_queue_tx, .bcn = &rt2800usb_queue_bcn, --- linux-2.6.32.orig/drivers/net/wireless/rt2x00/rt2x00.h +++ linux-2.6.32/drivers/net/wireless/rt2x00/rt2x00.h @@ -112,6 +112,12 @@ ( ((unsigned long)((__skb)->data + (__header))) & 3 ) /* + * Constants for extra TX headroom for alignment purposes. + */ +#define RT2X00_ALIGN_SIZE 4 /* Only whole frame needs alignment */ +#define RT2X00_L2PAD_SIZE 8 /* Both header & payload need alignment */ + +/* * Standard timing and size defines. * These values should follow the ieee80211 specifications. */ @@ -579,6 +585,7 @@ const unsigned int eeprom_size; const unsigned int rf_size; const unsigned int tx_queues; + const unsigned int extra_tx_headroom; const struct data_queue_desc *rx; const struct data_queue_desc *tx; const struct data_queue_desc *bcn; --- linux-2.6.32.orig/drivers/net/wireless/rt2x00/rt2x00dev.c +++ linux-2.6.32/drivers/net/wireless/rt2x00/rt2x00dev.c @@ -684,6 +684,21 @@ rt2x00dev->hw->queues = rt2x00dev->ops->tx_queues; /* + * Initialize extra TX headroom required. + */ + rt2x00dev->hw->extra_tx_headroom = + max_t(unsigned int, IEEE80211_TX_STATUS_HEADROOM, + rt2x00dev->ops->extra_tx_headroom); + + /* + * Take TX headroom required for alignment into account. + */ + if (test_bit(DRIVER_REQUIRE_L2PAD, &rt2x00dev->flags)) + rt2x00dev->hw->extra_tx_headroom += RT2X00_L2PAD_SIZE; + else if (test_bit(DRIVER_REQUIRE_DMA, &rt2x00dev->flags)) + rt2x00dev->hw->extra_tx_headroom += RT2X00_ALIGN_SIZE; + + /* * Register HW. */ status = ieee80211_register_hw(rt2x00dev->hw); --- linux-2.6.32.orig/drivers/net/wireless/rt2x00/rt2x00queue.c +++ linux-2.6.32/drivers/net/wireless/rt2x00/rt2x00queue.c @@ -103,7 +103,7 @@ * is also mapped to the DMA so it can be used for transfering * additional descriptor information to the hardware. */ - skb_push(skb, rt2x00dev->hw->extra_tx_headroom); + skb_push(skb, rt2x00dev->ops->extra_tx_headroom); skbdesc->skb_dma = dma_map_single(rt2x00dev->dev, skb->data, skb->len, DMA_TO_DEVICE); @@ -111,7 +111,7 @@ /* * Restore data pointer to original location again. */ - skb_pull(skb, rt2x00dev->hw->extra_tx_headroom); + skb_pull(skb, rt2x00dev->ops->extra_tx_headroom); skbdesc->flags |= SKBDESC_DMA_MAPPED_TX; } @@ -133,7 +133,7 @@ * by the driver, but it was actually mapped to DMA. */ dma_unmap_single(rt2x00dev->dev, skbdesc->skb_dma, - skb->len + rt2x00dev->hw->extra_tx_headroom, + skb->len + rt2x00dev->ops->extra_tx_headroom, DMA_TO_DEVICE); skbdesc->flags &= ~SKBDESC_DMA_MAPPED_TX; } --- linux-2.6.32.orig/drivers/net/wireless/rt2x00/rt2x00usb.c +++ linux-2.6.32/drivers/net/wireless/rt2x00/rt2x00usb.c @@ -703,18 +703,8 @@ { struct ieee80211_hw *hw = usb_get_intfdata(usb_intf); struct rt2x00_dev *rt2x00dev = hw->priv; - int retval; - retval = rt2x00lib_suspend(rt2x00dev, state); - if (retval) - return retval; - - /* - * Decrease usbdev refcount. - */ - usb_put_dev(interface_to_usbdev(usb_intf)); - - return 0; + return rt2x00lib_suspend(rt2x00dev, state); } EXPORT_SYMBOL_GPL(rt2x00usb_suspend); @@ -723,8 +713,6 @@ struct ieee80211_hw *hw = usb_get_intfdata(usb_intf); struct rt2x00_dev *rt2x00dev = hw->priv; - usb_get_dev(interface_to_usbdev(usb_intf)); - return rt2x00lib_resume(rt2x00dev); } EXPORT_SYMBOL_GPL(rt2x00usb_resume); --- linux-2.6.32.orig/drivers/net/wireless/rt2x00/rt61pci.c +++ linux-2.6.32/drivers/net/wireless/rt2x00/rt61pci.c @@ -2538,6 +2538,11 @@ unsigned int i; /* + * Disable powersaving as default. + */ + rt2x00dev->hw->wiphy->ps_default = false; + + /* * Initialize all hw fields. */ rt2x00dev->hw->flags = @@ -2545,7 +2550,6 @@ IEEE80211_HW_SIGNAL_DBM | IEEE80211_HW_SUPPORTS_PS | IEEE80211_HW_PS_NULLFUNC_STACK; - rt2x00dev->hw->extra_tx_headroom = 0; SET_IEEE80211_DEV(rt2x00dev->hw, rt2x00dev->dev); SET_IEEE80211_PERM_ADDR(rt2x00dev->hw, @@ -2793,6 +2797,7 @@ .eeprom_size = EEPROM_SIZE, .rf_size = RF_SIZE, .tx_queues = NUM_TX_QUEUES, + .extra_tx_headroom = 0, .rx = &rt61pci_queue_rx, .tx = &rt61pci_queue_tx, .bcn = &rt61pci_queue_bcn, --- linux-2.6.32.orig/drivers/net/wireless/rt2x00/rt73usb.c +++ linux-2.6.32/drivers/net/wireless/rt2x00/rt73usb.c @@ -2068,7 +2068,6 @@ IEEE80211_HW_SIGNAL_DBM | IEEE80211_HW_SUPPORTS_PS | IEEE80211_HW_PS_NULLFUNC_STACK; - rt2x00dev->hw->extra_tx_headroom = TXD_DESC_SIZE; SET_IEEE80211_DEV(rt2x00dev->hw, rt2x00dev->dev); SET_IEEE80211_PERM_ADDR(rt2x00dev->hw, @@ -2311,6 +2310,7 @@ .eeprom_size = EEPROM_SIZE, .rf_size = RF_SIZE, .tx_queues = NUM_TX_QUEUES, + .extra_tx_headroom = TXD_DESC_SIZE, .rx = &rt73usb_queue_rx, .tx = &rt73usb_queue_tx, .bcn = &rt73usb_queue_bcn, @@ -2400,6 +2400,7 @@ { USB_DEVICE(0x04bb, 0x093d), USB_DEVICE_DATA(&rt73usb_ops) }, { USB_DEVICE(0x148f, 0x2573), USB_DEVICE_DATA(&rt73usb_ops) }, { USB_DEVICE(0x148f, 0x2671), USB_DEVICE_DATA(&rt73usb_ops) }, + { USB_DEVICE(0x0812, 0x3101), USB_DEVICE_DATA(&rt73usb_ops) }, /* Qcom */ { USB_DEVICE(0x18e8, 0x6196), USB_DEVICE_DATA(&rt73usb_ops) }, { USB_DEVICE(0x18e8, 0x6229), USB_DEVICE_DATA(&rt73usb_ops) }, --- linux-2.6.32.orig/drivers/net/wireless/rtl818x/rtl8180_dev.c +++ linux-2.6.32/drivers/net/wireless/rtl818x/rtl8180_dev.c @@ -190,6 +190,7 @@ info->flags |= IEEE80211_TX_STAT_ACK; info->status.rates[0].count = (flags & 0xFF) + 1; + info->status.rates[1].idx = -1; ieee80211_tx_status_irqsafe(dev, skb); if (ring->entries - skb_queue_len(&ring->queue) == 2) --- linux-2.6.32.orig/drivers/net/wireless/rtl818x/rtl8187.h +++ linux-2.6.32/drivers/net/wireless/rtl818x/rtl8187.h @@ -23,6 +23,7 @@ #define RTL8187_EEPROM_TXPWR_CHAN_1 0x16 /* 3 channels */ #define RTL8187_EEPROM_TXPWR_CHAN_6 0x1B /* 2 channels */ #define RTL8187_EEPROM_TXPWR_CHAN_4 0x3D /* 2 channels */ +#define RTL8187_EEPROM_SELECT_GPIO 0x3B #define RTL8187_REQT_READ 0xC0 #define RTL8187_REQT_WRITE 0x40 @@ -31,6 +32,9 @@ #define RTL8187_MAX_RX 0x9C4 +#define RFKILL_MASK_8187_89_97 0x2 +#define RFKILL_MASK_8198 0x4 + struct rtl8187_rx_info { struct urb *urb; struct ieee80211_hw *dev; @@ -123,6 +127,7 @@ u8 noise; u8 slot_time; u8 aifsn[4]; + u8 rfkill_mask; struct { __le64 buf; struct sk_buff_head queue; --- linux-2.6.32.orig/drivers/net/wireless/rtl818x/rtl8187_dev.c +++ linux-2.6.32/drivers/net/wireless/rtl818x/rtl8187_dev.c @@ -65,6 +65,7 @@ /* Sitecom */ {USB_DEVICE(0x0df6, 0x000d), .driver_info = DEVICE_RTL8187}, {USB_DEVICE(0x0df6, 0x0028), .driver_info = DEVICE_RTL8187B}, + {USB_DEVICE(0x0df6, 0x0029), .driver_info = DEVICE_RTL8187B}, /* Sphairon Access Systems GmbH */ {USB_DEVICE(0x114B, 0x0150), .driver_info = DEVICE_RTL8187}, /* Dick Smith Electronics */ @@ -1329,6 +1330,7 @@ struct ieee80211_channel *channel; const char *chip_name; u16 txpwr, reg; + u16 product_id = le16_to_cpu(udev->descriptor.idProduct); int err, i; dev = ieee80211_alloc_hw(sizeof(*priv), &rtl8187_ops); @@ -1488,6 +1490,13 @@ (*channel++).hw_value = txpwr & 0xFF; (*channel++).hw_value = txpwr >> 8; } + /* Handle the differing rfkill GPIO bit in different models */ + priv->rfkill_mask = RFKILL_MASK_8187_89_97; + if (product_id == 0x8197 || product_id == 0x8198) { + eeprom_93cx6_read(&eeprom, RTL8187_EEPROM_SELECT_GPIO, ®); + if (reg & 0xFF00) + priv->rfkill_mask = RFKILL_MASK_8198; + } /* * XXX: Once this driver supports anything that requires @@ -1516,9 +1525,9 @@ mutex_init(&priv->conf_mutex); skb_queue_head_init(&priv->b_tx_status.queue); - printk(KERN_INFO "%s: hwaddr %pM, %s V%d + %s\n", + printk(KERN_INFO "%s: hwaddr %pM, %s V%d + %s, rfkill mask %d\n", wiphy_name(dev->wiphy), dev->wiphy->perm_addr, - chip_name, priv->asic_rev, priv->rf->name); + chip_name, priv->asic_rev, priv->rf->name, priv->rfkill_mask); #ifdef CONFIG_RTL8187_LEDS eeprom_93cx6_read(&eeprom, 0x3F, ®); --- linux-2.6.32.orig/drivers/net/wireless/rtl818x/rtl8187_rfkill.c +++ linux-2.6.32/drivers/net/wireless/rtl818x/rtl8187_rfkill.c @@ -25,10 +25,10 @@ u8 gpio; gpio = rtl818x_ioread8(priv, &priv->map->GPIO0); - rtl818x_iowrite8(priv, &priv->map->GPIO0, gpio & ~0x02); + rtl818x_iowrite8(priv, &priv->map->GPIO0, gpio & ~priv->rfkill_mask); gpio = rtl818x_ioread8(priv, &priv->map->GPIO1); - return gpio & 0x02; + return gpio & priv->rfkill_mask; } void rtl8187_rfkill_init(struct ieee80211_hw *hw) --- linux-2.6.32.orig/drivers/net/wireless/wl12xx/wl1251_debugfs.c +++ linux-2.6.32/drivers/net/wireless/wl12xx/wl1251_debugfs.c @@ -443,7 +443,8 @@ void wl1251_debugfs_reset(struct wl1251 *wl) { - memset(wl->stats.fw_stats, 0, sizeof(*wl->stats.fw_stats)); + if (wl->stats.fw_stats != NULL) + memset(wl->stats.fw_stats, 0, sizeof(*wl->stats.fw_stats)); wl->stats.retry_count = 0; wl->stats.excessive_retries = 0; } --- linux-2.6.32.orig/drivers/net/wireless/wl12xx/wl1251_sdio.c +++ linux-2.6.32/drivers/net/wireless/wl12xx/wl1251_sdio.c @@ -160,6 +160,7 @@ sdio_disable_func(func); release: sdio_release_host(func); + wl1251_free_hw(wl); return ret; } --- linux-2.6.32.orig/drivers/net/vmxnet3/vmxnet3_ethtool.c +++ linux-2.6.32/drivers/net/vmxnet3/vmxnet3_ethtool.c @@ -288,6 +288,9 @@ /* toggle the LRO feature*/ netdev->features ^= NETIF_F_LRO; + /* Update private LRO flag */ + adapter->lro = lro_requested; + /* update harware LRO capability accordingly */ if (lro_requested) adapter->shared->devRead.misc.uptFeatures &= UPT1_F_LRO; --- linux-2.6.32.orig/drivers/oprofile/buffer_sync.c +++ linux-2.6.32/drivers/oprofile/buffer_sync.c @@ -140,16 +140,13 @@ .notifier_call = module_load_notify, }; - -static void end_sync(void) +static void free_all_tasks(void) { - end_cpu_work(); /* make sure we don't leak task structs */ process_task_mortuary(); process_task_mortuary(); } - int sync_start(void) { int err; @@ -157,8 +154,6 @@ if (!zalloc_cpumask_var(&marked_cpus, GFP_KERNEL)) return -ENOMEM; - start_cpu_work(); - err = task_handoff_register(&task_free_nb); if (err) goto out1; @@ -172,6 +167,8 @@ if (err) goto out4; + start_cpu_work(); + out: return err; out4: @@ -180,8 +177,8 @@ profile_event_unregister(PROFILE_TASK_EXIT, &task_exit_nb); out2: task_handoff_unregister(&task_free_nb); + free_all_tasks(); out1: - end_sync(); free_cpumask_var(marked_cpus); goto out; } @@ -189,11 +186,16 @@ void sync_stop(void) { + end_cpu_work(); unregister_module_notifier(&module_load_nb); profile_event_unregister(PROFILE_MUNMAP, &munmap_nb); profile_event_unregister(PROFILE_TASK_EXIT, &task_exit_nb); task_handoff_unregister(&task_free_nb); - end_sync(); + barrier(); /* do all of the above first */ + + flush_scheduled_work(); + + free_all_tasks(); free_cpumask_var(marked_cpus); } --- linux-2.6.32.orig/drivers/oprofile/cpu_buffer.c +++ linux-2.6.32/drivers/oprofile/cpu_buffer.c @@ -30,23 +30,7 @@ #define OP_BUFFER_FLAGS 0 -/* - * Read and write access is using spin locking. Thus, writing to the - * buffer by NMI handler (x86) could occur also during critical - * sections when reading the buffer. To avoid this, there are 2 - * buffers for independent read and write access. Read access is in - * process context only, write access only in the NMI handler. If the - * read buffer runs empty, both buffers are swapped atomically. There - * is potentially a small window during swapping where the buffers are - * disabled and samples could be lost. - * - * Using 2 buffers is a little bit overhead, but the solution is clear - * and does not require changes in the ring buffer implementation. It - * can be changed to a single buffer solution when the ring buffer - * access is implemented as non-locking atomic code. - */ -static struct ring_buffer *op_ring_buffer_read; -static struct ring_buffer *op_ring_buffer_write; +static struct ring_buffer *op_ring_buffer; DEFINE_PER_CPU(struct oprofile_cpu_buffer, cpu_buffer); static void wq_sync_buffer(struct work_struct *work); @@ -69,12 +53,9 @@ void free_cpu_buffers(void) { - if (op_ring_buffer_read) - ring_buffer_free(op_ring_buffer_read); - op_ring_buffer_read = NULL; - if (op_ring_buffer_write) - ring_buffer_free(op_ring_buffer_write); - op_ring_buffer_write = NULL; + if (op_ring_buffer) + ring_buffer_free(op_ring_buffer); + op_ring_buffer = NULL; } #define RB_EVENT_HDR_SIZE 4 @@ -87,11 +68,8 @@ unsigned long byte_size = buffer_size * (sizeof(struct op_sample) + RB_EVENT_HDR_SIZE); - op_ring_buffer_read = ring_buffer_alloc(byte_size, OP_BUFFER_FLAGS); - if (!op_ring_buffer_read) - goto fail; - op_ring_buffer_write = ring_buffer_alloc(byte_size, OP_BUFFER_FLAGS); - if (!op_ring_buffer_write) + op_ring_buffer = ring_buffer_alloc(byte_size, OP_BUFFER_FLAGS); + if (!op_ring_buffer) goto fail; for_each_possible_cpu(i) { @@ -143,8 +121,6 @@ cancel_delayed_work(&b->work); } - - flush_scheduled_work(); } /* @@ -163,16 +139,11 @@ *op_cpu_buffer_write_reserve(struct op_entry *entry, unsigned long size) { entry->event = ring_buffer_lock_reserve - (op_ring_buffer_write, sizeof(struct op_sample) + + (op_ring_buffer, sizeof(struct op_sample) + size * sizeof(entry->sample->data[0])); - if (entry->event) - entry->sample = ring_buffer_event_data(entry->event); - else - entry->sample = NULL; - - if (!entry->sample) + if (!entry->event) return NULL; - + entry->sample = ring_buffer_event_data(entry->event); entry->size = size; entry->data = entry->sample->data; @@ -181,25 +152,16 @@ int op_cpu_buffer_write_commit(struct op_entry *entry) { - return ring_buffer_unlock_commit(op_ring_buffer_write, entry->event); + return ring_buffer_unlock_commit(op_ring_buffer, entry->event); } struct op_sample *op_cpu_buffer_read_entry(struct op_entry *entry, int cpu) { struct ring_buffer_event *e; - e = ring_buffer_consume(op_ring_buffer_read, cpu, NULL); - if (e) - goto event; - if (ring_buffer_swap_cpu(op_ring_buffer_read, - op_ring_buffer_write, - cpu)) + e = ring_buffer_consume(op_ring_buffer, cpu, NULL); + if (!e) return NULL; - e = ring_buffer_consume(op_ring_buffer_read, cpu, NULL); - if (e) - goto event; - return NULL; -event: entry->event = e; entry->sample = ring_buffer_event_data(e); entry->size = (ring_buffer_event_length(e) - sizeof(struct op_sample)) @@ -210,8 +172,7 @@ unsigned long op_cpu_buffer_entries(int cpu) { - return ring_buffer_entries_cpu(op_ring_buffer_read, cpu) - + ring_buffer_entries_cpu(op_ring_buffer_write, cpu); + return ring_buffer_entries_cpu(op_ring_buffer, cpu); } static int --- linux-2.6.32.orig/drivers/parisc/led.c +++ linux-2.6.32/drivers/parisc/led.c @@ -182,16 +182,18 @@ static int led_proc_write(struct file *file, const char *buf, unsigned long count, void *data) { - char *cur, lbuf[count + 1]; + char *cur, lbuf[32]; int d; if (!capable(CAP_SYS_ADMIN)) return -EACCES; - memset(lbuf, 0, count + 1); + if (count >= sizeof(lbuf)) + count = sizeof(lbuf)-1; if (copy_from_user(lbuf, buf, count)) return -EFAULT; + lbuf[count] = 0; cur = lbuf; --- linux-2.6.32.orig/drivers/pci/dmar.c +++ linux-2.6.32/drivers/pci/dmar.c @@ -582,6 +582,8 @@ return 0; } +static int bios_warned; + int __init check_zero_address(void) { struct acpi_table_dmar *dmar; @@ -601,6 +603,9 @@ } if (entry_header->type == ACPI_DMAR_TYPE_HARDWARE_UNIT) { + void __iomem *addr; + u64 cap, ecap; + drhd = (void *)entry_header; if (!drhd->address) { /* Promote an attitude of violence to a BIOS engineer today */ @@ -609,17 +614,40 @@ dmi_get_system_info(DMI_BIOS_VENDOR), dmi_get_system_info(DMI_BIOS_VERSION), dmi_get_system_info(DMI_PRODUCT_VERSION)); -#ifdef CONFIG_DMAR - dmar_disabled = 1; -#endif - return 0; + bios_warned = 1; + goto failed; + } + + addr = early_ioremap(drhd->address, VTD_PAGE_SIZE); + if (!addr ) { + printk("IOMMU: can't validate: %llx\n", drhd->address); + goto failed; + } + cap = dmar_readq(addr + DMAR_CAP_REG); + ecap = dmar_readq(addr + DMAR_ECAP_REG); + early_iounmap(addr, VTD_PAGE_SIZE); + if (cap == (uint64_t)-1 && ecap == (uint64_t)-1) { + /* Promote an attitude of violence to a BIOS engineer today */ + WARN(1, "Your BIOS is broken; DMAR reported at address %llx returns all ones!\n" + "BIOS vendor: %s; Ver: %s; Product Version: %s\n", + drhd->address, + dmi_get_system_info(DMI_BIOS_VENDOR), + dmi_get_system_info(DMI_BIOS_VERSION), + dmi_get_system_info(DMI_PRODUCT_VERSION)); + bios_warned = 1; + goto failed; } - break; } entry_header = ((void *)entry_header + entry_header->length); } return 1; + +failed: +#ifdef CONFIG_DMAR + dmar_disabled = 1; +#endif + return 0; } void __init detect_intel_iommu(void) @@ -664,6 +692,18 @@ int agaw = 0; int msagaw = 0; + if (!drhd->reg_base_addr) { + if (!bios_warned) { + WARN(1, "Your BIOS is broken; DMAR reported at address zero!\n" + "BIOS vendor: %s; Ver: %s; Product Version: %s\n", + dmi_get_system_info(DMI_BIOS_VENDOR), + dmi_get_system_info(DMI_BIOS_VERSION), + dmi_get_system_info(DMI_PRODUCT_VERSION)); + bios_warned = 1; + } + return -EINVAL; + } + iommu = kzalloc(sizeof(*iommu), GFP_KERNEL); if (!iommu) return -ENOMEM; @@ -680,13 +720,16 @@ iommu->ecap = dmar_readq(iommu->reg + DMAR_ECAP_REG); if (iommu->cap == (uint64_t)-1 && iommu->ecap == (uint64_t)-1) { - /* Promote an attitude of violence to a BIOS engineer today */ - WARN(1, "Your BIOS is broken; DMAR reported at address %llx returns all ones!\n" - "BIOS vendor: %s; Ver: %s; Product Version: %s\n", - drhd->reg_base_addr, - dmi_get_system_info(DMI_BIOS_VENDOR), - dmi_get_system_info(DMI_BIOS_VERSION), - dmi_get_system_info(DMI_PRODUCT_VERSION)); + if (!bios_warned) { + /* Promote an attitude of violence to a BIOS engineer today */ + WARN(1, "Your BIOS is broken; DMAR reported at address %llx returns all ones!\n" + "BIOS vendor: %s; Ver: %s; Product Version: %s\n", + drhd->reg_base_addr, + dmi_get_system_info(DMI_BIOS_VENDOR), + dmi_get_system_info(DMI_BIOS_VERSION), + dmi_get_system_info(DMI_PRODUCT_VERSION)); + bios_warned = 1; + } goto err_unmap; } @@ -1337,6 +1380,11 @@ (unsigned long long)drhd->reg_base_addr, ret); return -1; } + + /* + * Clear any previous faults. + */ + dmar_fault(iommu->irq, iommu); } return 0; --- linux-2.6.32.orig/drivers/pci/intel-iommu.c +++ linux-2.6.32/drivers/pci/intel-iommu.c @@ -71,6 +71,49 @@ #define DMA_32BIT_PFN IOVA_PFN(DMA_BIT_MASK(32)) #define DMA_64BIT_PFN IOVA_PFN(DMA_BIT_MASK(64)) +/* page table handling */ +#define LEVEL_STRIDE (9) +#define LEVEL_MASK (((u64)1 << LEVEL_STRIDE) - 1) + +static inline int agaw_to_level(int agaw) +{ + return agaw + 2; +} + +static inline int agaw_to_width(int agaw) +{ + return 30 + agaw * LEVEL_STRIDE; +} + +static inline int width_to_agaw(int width) +{ + return (width - 30) / LEVEL_STRIDE; +} + +static inline unsigned int level_to_offset_bits(int level) +{ + return (level - 1) * LEVEL_STRIDE; +} + +static inline int pfn_level_offset(unsigned long pfn, int level) +{ + return (pfn >> level_to_offset_bits(level)) & LEVEL_MASK; +} + +static inline unsigned long level_mask(int level) +{ + return -1UL << level_to_offset_bits(level); +} + +static inline unsigned long level_size(int level) +{ + return 1UL << level_to_offset_bits(level); +} + +static inline unsigned long align_to_level(unsigned long pfn, int level) +{ + return (pfn + level_size(level) - 1) & level_mask(level); +} /* VT-d pages must always be _smaller_ than MM pages. Otherwise things are never going to work. */ @@ -339,7 +382,7 @@ int dmar_disabled = 1; #endif /*CONFIG_DMAR_DEFAULT_ON*/ -static int __initdata dmar_map_gfx = 1; +static int dmar_map_gfx = 1; static int dmar_forcedac; static int intel_iommu_strict; @@ -449,8 +492,6 @@ } -static inline int width_to_agaw(int width); - static int __iommu_calculate_agaw(struct intel_iommu *iommu, int max_gaw) { unsigned long sagaw; @@ -664,51 +705,6 @@ spin_unlock_irqrestore(&iommu->lock, flags); } -/* page table handling */ -#define LEVEL_STRIDE (9) -#define LEVEL_MASK (((u64)1 << LEVEL_STRIDE) - 1) - -static inline int agaw_to_level(int agaw) -{ - return agaw + 2; -} - -static inline int agaw_to_width(int agaw) -{ - return 30 + agaw * LEVEL_STRIDE; - -} - -static inline int width_to_agaw(int width) -{ - return (width - 30) / LEVEL_STRIDE; -} - -static inline unsigned int level_to_offset_bits(int level) -{ - return (level - 1) * LEVEL_STRIDE; -} - -static inline int pfn_level_offset(unsigned long pfn, int level) -{ - return (pfn >> level_to_offset_bits(level)) & LEVEL_MASK; -} - -static inline unsigned long level_mask(int level) -{ - return -1UL << level_to_offset_bits(level); -} - -static inline unsigned long level_size(int level) -{ - return 1UL << level_to_offset_bits(level); -} - -static inline unsigned long align_to_level(unsigned long pfn, int level) -{ - return (pfn + level_size(level) - 1) & level_mask(level); -} - static struct dma_pte *pfn_to_dma_pte(struct dmar_domain *domain, unsigned long pfn) { @@ -1523,12 +1519,15 @@ /* Skip top levels of page tables for * iommu which has less agaw than default. + * Unnecessary for PT mode. */ - for (agaw = domain->agaw; agaw != iommu->agaw; agaw--) { - pgd = phys_to_virt(dma_pte_addr(pgd)); - if (!dma_pte_present(pgd)) { - spin_unlock_irqrestore(&iommu->lock, flags); - return -ENOMEM; + if (translation != CONTEXT_TT_PASS_THROUGH) { + for (agaw = domain->agaw; agaw != iommu->agaw; agaw--) { + pgd = phys_to_virt(dma_pte_addr(pgd)); + if (!dma_pte_present(pgd)) { + spin_unlock_irqrestore(&iommu->lock, flags); + return -ENOMEM; + } } } } @@ -1859,7 +1858,7 @@ ret = iommu_attach_domain(domain, iommu); if (ret) { - domain_exit(domain); + free_domain_mem(domain); goto error; } @@ -1991,6 +1990,16 @@ "IOMMU: Setting identity map for device %s [0x%Lx - 0x%Lx]\n", pci_name(pdev), start, end); + if (end < start) { + WARN(1, "Your BIOS is broken; RMRR ends before it starts!\n" + "BIOS vendor: %s; Ver: %s; Product Version: %s\n", + dmi_get_system_info(DMI_BIOS_VENDOR), + dmi_get_system_info(DMI_BIOS_VERSION), + dmi_get_system_info(DMI_PRODUCT_VERSION)); + ret = -EIO; + goto error; + } + if (end >> agaw_to_width(domain->agaw)) { WARN(1, "Your BIOS is broken; RMRR exceeds permitted address width (%d bits)\n" "BIOS vendor: %s; Ver: %s; Product Version: %s\n", @@ -3228,13 +3237,22 @@ struct pci_dev *pdev = to_pci_dev(dev); struct dmar_domain *domain; + if (iommu_no_mapping(dev)) + return 0; + domain = find_domain(pdev); if (!domain) return 0; - if (action == BUS_NOTIFY_UNBOUND_DRIVER && !iommu_pass_through) + if (action == BUS_NOTIFY_UNBOUND_DRIVER && !iommu_pass_through) { domain_remove_one_dev_info(domain, pdev); + if (!(domain->flags & DOMAIN_FLAG_VIRTUAL_MACHINE) && + !(domain->flags & DOMAIN_FLAG_STATIC_IDENTITY) && + list_empty(&domain->devices)) + domain_exit(domain); + } + return 0; } @@ -3381,6 +3399,11 @@ domain->iommu_count--; domain_update_iommu_cap(domain); spin_unlock_irqrestore(&domain->iommu_lock, tmp_flags); + + spin_lock_irqsave(&iommu->lock, tmp_flags); + clear_bit(domain->id, iommu->domain_ids); + iommu->domains[domain->id] = NULL; + spin_unlock_irqrestore(&iommu->lock, tmp_flags); } spin_unlock_irqrestore(&device_domain_lock, flags); @@ -3718,6 +3741,12 @@ */ 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); --- linux-2.6.32.orig/drivers/pci/msi.c +++ linux-2.6.32/drivers/pci/msi.c @@ -195,6 +195,9 @@ void read_msi_msg_desc(struct irq_desc *desc, struct msi_msg *msg) { struct msi_desc *entry = get_irq_desc_msi(desc); + + BUG_ON(entry->dev->current_state != PCI_D0); + if (entry->msi_attrib.is_msix) { void __iomem *base = entry->mask_base + entry->msi_attrib.entry_nr * PCI_MSIX_ENTRY_SIZE; @@ -228,10 +231,32 @@ read_msi_msg_desc(desc, msg); } +void get_cached_msi_msg_desc(struct irq_desc *desc, struct msi_msg *msg) +{ + struct msi_desc *entry = get_irq_desc_msi(desc); + + /* Assert that the cache is valid, assuming that + * valid messages are not all-zeroes. */ + BUG_ON(!(entry->msg.address_hi | entry->msg.address_lo | + entry->msg.data)); + + *msg = entry->msg; +} + +void get_cached_msi_msg(unsigned int irq, struct msi_msg *msg) +{ + struct irq_desc *desc = irq_to_desc(irq); + + get_cached_msi_msg_desc(desc, msg); +} + void write_msi_msg_desc(struct irq_desc *desc, struct msi_msg *msg) { struct msi_desc *entry = get_irq_desc_msi(desc); - if (entry->msi_attrib.is_msix) { + + if (entry->dev->current_state != PCI_D0) { + /* Don't touch the hardware now */ + } else if (entry->msi_attrib.is_msix) { void __iomem *base; base = entry->mask_base + entry->msi_attrib.entry_nr * PCI_MSIX_ENTRY_SIZE; @@ -838,5 +863,15 @@ void pci_msi_init_pci_dev(struct pci_dev *dev) { + int pos; INIT_LIST_HEAD(&dev->msi_list); + + /* Disable the msi hardware to avoid screaming interrupts + * during boot. This is the power on reset default so + * usually this should be a noop. + */ + pos = pci_find_capability(dev, PCI_CAP_ID_MSI); + if (pos) + msi_set_enable(dev, pos, 0); + msix_set_enable(dev, 0); } --- linux-2.6.32.orig/drivers/pci/pci.c +++ linux-2.6.32/drivers/pci/pci.c @@ -373,8 +373,12 @@ continue; /* Wrong type */ if (!((res->flags ^ r->flags) & IORESOURCE_PREFETCH)) return r; /* Exact match */ - if ((res->flags & IORESOURCE_PREFETCH) && !(r->flags & IORESOURCE_PREFETCH)) - best = r; /* Approximating prefetchable by non-prefetchable */ + /* We can't insert a non-prefetch resource inside a prefetchable parent .. */ + if (r->flags & IORESOURCE_PREFETCH) + continue; + /* .. but we can put a prefetchable resource inside a non-prefetchable one */ + if (!best) + best = r; } return best; } @@ -601,7 +605,7 @@ */ int __pci_complete_power_transition(struct pci_dev *dev, pci_power_t state) { - return state > PCI_D0 ? + return state >= PCI_D0 ? pci_platform_power_transition(dev, state) : -EINVAL; } EXPORT_SYMBOL_GPL(__pci_complete_power_transition); @@ -638,10 +642,6 @@ */ return 0; - /* Check if we're already there */ - if (dev->current_state == state) - return 0; - __pci_start_power_transition(dev, state); /* This device is quirked not to be put into D3, so @@ -1507,7 +1507,7 @@ { int pos; u32 cap; - u16 ctrl; + u16 flags, ctrl; struct pci_dev *bridge; if (!dev->is_pcie || dev->devfn) @@ -1525,6 +1525,11 @@ if (!pos) return; + /* ARI is a PCIe v2 feature */ + pci_read_config_word(bridge, pos + PCI_EXP_FLAGS, &flags); + if ((flags & PCI_EXP_FLAGS_VERS) < 2) + return; + pci_read_config_dword(bridge, pos + PCI_EXP_DEVCAP2, &cap); if (!(cap & PCI_EXP_DEVCAP2_ARI)) return; @@ -2050,6 +2055,7 @@ pci_write_config_word(dev, pos + PCI_MSIX_FLAGS, control); } } +EXPORT_SYMBOL_GPL(pci_msi_off); #ifndef HAVE_ARCH_PCI_SET_DMA_MASK /* @@ -2350,18 +2356,17 @@ */ int pcix_get_max_mmrbc(struct pci_dev *dev) { - int err, cap; + int cap; u32 stat; cap = pci_find_capability(dev, PCI_CAP_ID_PCIX); if (!cap) return -EINVAL; - err = pci_read_config_dword(dev, cap + PCI_X_STATUS, &stat); - if (err) + if (pci_read_config_dword(dev, cap + PCI_X_STATUS, &stat)) return -EINVAL; - return (stat & PCI_X_STATUS_MAX_READ) >> 12; + return 512 << ((stat & PCI_X_STATUS_MAX_READ) >> 21); } EXPORT_SYMBOL(pcix_get_max_mmrbc); @@ -2374,18 +2379,17 @@ */ int pcix_get_mmrbc(struct pci_dev *dev) { - int ret, cap; - u32 cmd; + int cap; + u16 cmd; cap = pci_find_capability(dev, PCI_CAP_ID_PCIX); if (!cap) return -EINVAL; - ret = pci_read_config_dword(dev, cap + PCI_X_CMD, &cmd); - if (!ret) - ret = 512 << ((cmd & PCI_X_CMD_MAX_READ) >> 2); + if (pci_read_config_word(dev, cap + PCI_X_CMD, &cmd)) + return -EINVAL; - return ret; + return 512 << ((cmd & PCI_X_CMD_MAX_READ) >> 2); } EXPORT_SYMBOL(pcix_get_mmrbc); @@ -2400,28 +2404,27 @@ */ int pcix_set_mmrbc(struct pci_dev *dev, int mmrbc) { - int cap, err = -EINVAL; - u32 stat, cmd, v, o; + int cap; + u32 stat, v, o; + u16 cmd; if (mmrbc < 512 || mmrbc > 4096 || !is_power_of_2(mmrbc)) - goto out; + return -EINVAL; v = ffs(mmrbc) - 10; cap = pci_find_capability(dev, PCI_CAP_ID_PCIX); if (!cap) - goto out; + return -EINVAL; - err = pci_read_config_dword(dev, cap + PCI_X_STATUS, &stat); - if (err) - goto out; + if (pci_read_config_dword(dev, cap + PCI_X_STATUS, &stat)) + return -EINVAL; if (v > (stat & PCI_X_STATUS_MAX_READ) >> 21) return -E2BIG; - err = pci_read_config_dword(dev, cap + PCI_X_CMD, &cmd); - if (err) - goto out; + if (pci_read_config_word(dev, cap + PCI_X_CMD, &cmd)) + return -EINVAL; o = (cmd & PCI_X_CMD_MAX_READ) >> 2; if (o != v) { @@ -2431,10 +2434,10 @@ cmd &= ~PCI_X_CMD_MAX_READ; cmd |= v << 2; - err = pci_write_config_dword(dev, cap + PCI_X_CMD, cmd); + if (pci_write_config_word(dev, cap + PCI_X_CMD, cmd)) + return -EIO; } -out: - return err; + return 0; } EXPORT_SYMBOL(pcix_set_mmrbc); @@ -2544,6 +2547,23 @@ return 0; } +/* Some architectures require additional programming to enable VGA */ +static arch_set_vga_state_t arch_set_vga_state; + +void __init pci_register_set_vga_state(arch_set_vga_state_t func) +{ + arch_set_vga_state = func; /* NULL disables */ +} + +static int pci_set_vga_state_arch(struct pci_dev *dev, bool decode, + unsigned int command_bits, bool change_bridge) +{ + if (arch_set_vga_state) + return arch_set_vga_state(dev, decode, command_bits, + change_bridge); + return 0; +} + /** * pci_set_vga_state - set VGA decode state on device and parents if requested * @dev: the PCI device @@ -2557,9 +2577,15 @@ struct pci_bus *bus; struct pci_dev *bridge; u16 cmd; + int rc; WARN_ON(command_bits & ~(PCI_COMMAND_IO|PCI_COMMAND_MEMORY)); + /* ARCH specific VGA enables */ + rc = pci_set_vga_state_arch(dev, decode, command_bits, change_bridge); + if (rc) + return rc; + pci_read_config_word(dev, PCI_COMMAND, &cmd); if (decode == true) cmd |= command_bits; @@ -2723,6 +2749,11 @@ return 1; } +void __weak pci_fixup_cardbus(struct pci_bus *bus) +{ +} +EXPORT_SYMBOL(pci_fixup_cardbus); + static int __init pci_setup(char *str) { while (str) { @@ -2801,4 +2832,3 @@ EXPORT_SYMBOL(pci_prepare_to_sleep); EXPORT_SYMBOL(pci_back_from_sleep); EXPORT_SYMBOL_GPL(pci_set_pcie_reset_state); - --- linux-2.6.32.orig/drivers/pci/pci-stub.c +++ linux-2.6.32/drivers/pci/pci-stub.c @@ -54,6 +54,9 @@ subdevice = PCI_ANY_ID, class=0, class_mask=0; int fields; + if (!strlen(id)) + continue; + fields = sscanf(id, "%x:%x:%x:%x:%x:%x", &vendor, &device, &subvendor, &subdevice, &class, &class_mask); --- linux-2.6.32.orig/drivers/pci/pci-sysfs.c +++ linux-2.6.32/drivers/pci/pci-sysfs.c @@ -662,17 +662,21 @@ #ifdef HAVE_PCI_MMAP -int pci_mmap_fits(struct pci_dev *pdev, int resno, struct vm_area_struct *vma) +int pci_mmap_fits(struct pci_dev *pdev, int resno, struct vm_area_struct *vma, + enum pci_mmap_api mmap_api) { - unsigned long nr, start, size; + unsigned long nr, start, size, pci_start; + if (pci_resource_len(pdev, resno) == 0) + return 0; nr = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; start = vma->vm_pgoff; size = ((pci_resource_len(pdev, resno) - 1) >> PAGE_SHIFT) + 1; - if (start < size && size - start >= nr) + pci_start = (mmap_api == PCI_MMAP_PROCFS) ? + pci_resource_start(pdev, resno) >> PAGE_SHIFT : 0; + if (start >= pci_start && start < pci_start + size && + start + nr <= pci_start + size) return 1; - WARN(1, "process \"%s\" tried to map 0x%08lx-0x%08lx on %s BAR %d (size 0x%08lx)\n", - current->comm, start, start+nr, pci_name(pdev), resno, size); return 0; } @@ -702,8 +706,14 @@ if (i >= PCI_ROM_RESOURCE) return -ENODEV; - if (!pci_mmap_fits(pdev, i, vma)) + if (!pci_mmap_fits(pdev, i, vma, PCI_MMAP_SYSFS)) { + WARN(1, "process \"%s\" tried to map 0x%08lx bytes " + "at page 0x%08lx on %s BAR %d (start 0x%16Lx, size 0x%16Lx)\n", + current->comm, vma->vm_end-vma->vm_start, vma->vm_pgoff, + pci_name(pdev), i, + pci_resource_start(pdev, i), pci_resource_len(pdev, i)); return -EINVAL; + } /* pci_mmap_page_range() expects the same kind of entry as coming * from /proc/bus/pci/ which is a "user visible" value. If this is @@ -929,7 +939,12 @@ if (val != 1) return -EINVAL; - return pci_reset_function(pdev); + + result = pci_reset_function(pdev); + if (result < 0) + return result; + + return count; } static struct device_attribute reset_attr = __ATTR(reset, 0200, NULL, reset_store); @@ -952,7 +967,7 @@ attr->write = write_vpd_attr; retval = sysfs_create_bin_file(&dev->dev.kobj, attr); if (retval) { - kfree(dev->vpd->attr); + kfree(attr); return retval; } dev->vpd->attr = attr; --- linux-2.6.32.orig/drivers/pci/pci.h +++ linux-2.6.32/drivers/pci/pci.h @@ -13,8 +13,13 @@ extern void pci_remove_sysfs_dev_files(struct pci_dev *pdev); extern void pci_cleanup_rom(struct pci_dev *dev); #ifdef HAVE_PCI_MMAP +enum pci_mmap_api { + PCI_MMAP_SYSFS, /* mmap on /sys/bus/pci/devices//resource */ + PCI_MMAP_PROCFS /* mmap on /proc/bus/pci/ */ +}; extern int pci_mmap_fits(struct pci_dev *pdev, int resno, - struct vm_area_struct *vma); + struct vm_area_struct *vmai, + enum pci_mmap_api mmap_api); #endif int pci_probe_reset_function(struct pci_dev *dev); --- linux-2.6.32.orig/drivers/pci/proc.c +++ linux-2.6.32/drivers/pci/proc.c @@ -259,7 +259,7 @@ /* Make sure the caller is mapping a real resource for this device */ for (i = 0; i < PCI_ROM_RESOURCE; i++) { - if (pci_mmap_fits(dev, i, vma)) + if (pci_mmap_fits(dev, i, vma, PCI_MMAP_PROCFS)) break; } --- linux-2.6.32.orig/drivers/pci/quirks.c +++ linux-2.6.32/drivers/pci/quirks.c @@ -155,6 +155,26 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_3, quirk_isa_dma_hangs); /* + * Intel NM10 "TigerPoint" LPC PM1a_STS.BM_STS must be clear + * for some HT machines to use C4 w/o hanging. + */ +static void __devinit quirk_tigerpoint_bm_sts(struct pci_dev *dev) +{ + u32 pmbase; + u16 pm1a; + + pci_read_config_dword(dev, 0x40, &pmbase); + pmbase = pmbase & 0xff80; + pm1a = inw(pmbase); + + if (pm1a & 0x10) { + dev_info(&dev->dev, FW_BUG "TigerPoint LPC.BM_STS cleared\n"); + outw(0x10, pmbase); + } +} +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_TGP_LPC, quirk_tigerpoint_bm_sts); + +/* * Chipsets where PCI->PCI transfers vanish or hang */ static void __devinit quirk_nopcipci(struct pci_dev *dev) @@ -486,6 +506,17 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371AB_3, quirk_piix4_acpi); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443MX_3, quirk_piix4_acpi); +#define ICH_PMBASE 0x40 +#define ICH_ACPI_CNTL 0x44 +#define ICH4_ACPI_EN 0x10 +#define ICH6_ACPI_EN 0x80 +#define ICH4_GPIOBASE 0x58 +#define ICH4_GPIO_CNTL 0x5c +#define ICH4_GPIO_EN 0x10 +#define ICH6_GPIOBASE 0x48 +#define ICH6_GPIO_CNTL 0x4c +#define ICH6_GPIO_EN 0x10 + /* * ICH4, ICH4-M, ICH5, ICH5-M ACPI: Three IO regions pointed to by longwords at * 0x40 (128 bytes of ACPI, GPIO & TCO registers) @@ -494,12 +525,33 @@ static void __devinit quirk_ich4_lpc_acpi(struct pci_dev *dev) { u32 region; + u8 enable; - pci_read_config_dword(dev, 0x40, ®ion); - quirk_io_region(dev, region, 128, PCI_BRIDGE_RESOURCES, "ICH4 ACPI/GPIO/TCO"); + /* + * The check for PCIBIOS_MIN_IO is to ensure we won't create a conflict + * with low legacy (and fixed) ports. We don't know the decoding + * priority and can't tell whether the legacy device or the one created + * here is really at that address. This happens on boards with broken + * BIOSes. + */ + + pci_read_config_byte(dev, ICH_ACPI_CNTL, &enable); + if (enable & ICH4_ACPI_EN) { + pci_read_config_dword(dev, ICH_PMBASE, ®ion); + region &= PCI_BASE_ADDRESS_IO_MASK; + if (region >= PCIBIOS_MIN_IO) + quirk_io_region(dev, region, 128, PCI_BRIDGE_RESOURCES, + "ICH4 ACPI/GPIO/TCO"); + } - pci_read_config_dword(dev, 0x58, ®ion); - quirk_io_region(dev, region, 64, PCI_BRIDGE_RESOURCES+1, "ICH4 GPIO"); + pci_read_config_byte(dev, ICH4_GPIO_CNTL, &enable); + if (enable & ICH4_GPIO_EN) { + pci_read_config_dword(dev, ICH4_GPIOBASE, ®ion); + region &= PCI_BASE_ADDRESS_IO_MASK; + if (region >= PCIBIOS_MIN_IO) + quirk_io_region(dev, region, 64, + PCI_BRIDGE_RESOURCES + 1, "ICH4 GPIO"); + } } DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801AA_0, quirk_ich4_lpc_acpi); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801AB_0, quirk_ich4_lpc_acpi); @@ -515,12 +567,25 @@ static void __devinit ich6_lpc_acpi_gpio(struct pci_dev *dev) { u32 region; + u8 enable; - pci_read_config_dword(dev, 0x40, ®ion); - quirk_io_region(dev, region, 128, PCI_BRIDGE_RESOURCES, "ICH6 ACPI/GPIO/TCO"); + pci_read_config_byte(dev, ICH_ACPI_CNTL, &enable); + if (enable & ICH6_ACPI_EN) { + pci_read_config_dword(dev, ICH_PMBASE, ®ion); + region &= PCI_BASE_ADDRESS_IO_MASK; + if (region >= PCIBIOS_MIN_IO) + quirk_io_region(dev, region, 128, PCI_BRIDGE_RESOURCES, + "ICH6 ACPI/GPIO/TCO"); + } - pci_read_config_dword(dev, 0x48, ®ion); - quirk_io_region(dev, region, 64, PCI_BRIDGE_RESOURCES+1, "ICH6 GPIO"); + pci_read_config_byte(dev, ICH6_GPIO_CNTL, &enable); + if (enable & ICH4_GPIO_EN) { + pci_read_config_dword(dev, ICH6_GPIOBASE, ®ion); + region &= PCI_BASE_ADDRESS_IO_MASK; + if (region >= PCIBIOS_MIN_IO) + quirk_io_region(dev, region, 64, + PCI_BRIDGE_RESOURCES + 1, "ICH6 GPIO"); + } } static void __devinit ich6_lpc_generic_decode(struct pci_dev *dev, unsigned reg, const char *name, int dynsize) @@ -1444,7 +1509,8 @@ conf5 &= ~(1 << 24); /* Clear bit 24 */ switch (pdev->device) { - case PCI_DEVICE_ID_JMICRON_JMB360: + case PCI_DEVICE_ID_JMICRON_JMB360: /* SATA single port */ + case PCI_DEVICE_ID_JMICRON_JMB362: /* SATA dual ports */ /* The controller should be in single function ahci mode */ conf1 |= 0x0002A100; /* Set 8, 13, 15, 17 */ break; @@ -1480,12 +1546,14 @@ } DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB360, quirk_jmicron_ata); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB361, quirk_jmicron_ata); +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB362, quirk_jmicron_ata); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB363, quirk_jmicron_ata); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB365, quirk_jmicron_ata); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB366, quirk_jmicron_ata); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB368, quirk_jmicron_ata); DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB360, quirk_jmicron_ata); DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB361, quirk_jmicron_ata); +DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB362, quirk_jmicron_ata); DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB363, quirk_jmicron_ata); DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB365, quirk_jmicron_ata); DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB366, quirk_jmicron_ata); @@ -2081,6 +2149,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT3336, quirk_disable_all_msi); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT3351, quirk_disable_all_msi); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT3364, quirk_disable_all_msi); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8380_0, quirk_disable_all_msi); /* Disable MSI on chipsets that are known to not support it */ static void __devinit quirk_disable_msi(struct pci_dev *dev) @@ -2092,6 +2161,8 @@ } } DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8131_BRIDGE, quirk_disable_msi); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, 0xa238, quirk_disable_msi); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x5a3f, quirk_disable_msi); /* Go through the list of Hypertransport capabilities and * return 1 if a HT MSI capability is found and enabled */ @@ -2183,15 +2254,16 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8132_BRIDGE, ht_enable_msi_mapping); -/* The P5N32-SLI Premium motherboard from Asus has a problem with msi +/* The P5N32-SLI motherboards from Asus have a problem with msi * for the MCP55 NIC. It is not yet determined whether the msi problem * also affects other devices. As for now, turn off msi for this device. */ static void __devinit nvenet_msi_disable(struct pci_dev *dev) { - if (dmi_name_in_vendors("P5N32-SLI PREMIUM")) { + if (dmi_name_in_vendors("P5N32-SLI PREMIUM") || + dmi_name_in_vendors("P5N32-E SLI")) { dev_info(&dev->dev, - "Disabling msi for MCP55 NIC on P5N32-SLI Premium\n"); + "Disabling msi for MCP55 NIC on P5N32-SLI\n"); dev->no_msi = 1; } } @@ -2350,6 +2422,9 @@ int pos; int found; + if (!pci_msi_enabled()) + return; + /* check if there is HT MSI cap or enabled on this device */ found = ht_check_msi_mapping(dev); @@ -2465,56 +2540,15 @@ #endif /* CONFIG_PCI_MSI */ -#ifdef CONFIG_PCI_IOV - -/* - * For Intel 82576 SR-IOV NIC, if BIOS doesn't allocate resources for the - * SR-IOV BARs, zero the Flash BAR and program the SR-IOV BARs to use the - * old Flash Memory Space. - */ -static void __devinit quirk_i82576_sriov(struct pci_dev *dev) +static void __devinit fixup_ti816x_class(struct pci_dev* dev) { - int pos, flags; - u32 bar, start, size; - - if (PAGE_SIZE > 0x10000) - return; - - flags = pci_resource_flags(dev, 0); - if ((flags & PCI_BASE_ADDRESS_SPACE) != - PCI_BASE_ADDRESS_SPACE_MEMORY || - (flags & PCI_BASE_ADDRESS_MEM_TYPE_MASK) != - PCI_BASE_ADDRESS_MEM_TYPE_32) - return; - - pos = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_SRIOV); - if (!pos) - return; - - pci_read_config_dword(dev, pos + PCI_SRIOV_BAR, &bar); - if (bar & PCI_BASE_ADDRESS_MEM_MASK) - return; - - start = pci_resource_start(dev, 1); - size = pci_resource_len(dev, 1); - if (!start || size != 0x400000 || start & (size - 1)) - return; - - pci_resource_flags(dev, 1) = 0; - pci_write_config_dword(dev, PCI_BASE_ADDRESS_1, 0); - pci_write_config_dword(dev, pos + PCI_SRIOV_BAR, start); - pci_write_config_dword(dev, pos + PCI_SRIOV_BAR + 12, start + size / 2); - - dev_info(&dev->dev, "use Flash Memory Space for SR-IOV BARs\n"); + /* TI 816x devices do not have class code set when in PCIe boot mode */ + if (dev->class == PCI_CLASS_NOT_DEFINED) { + dev_info(&dev->dev, "Setting PCI class for 816x PCIe device\n"); + dev->class = PCI_CLASS_MULTIMEDIA_VIDEO; + } } -DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x10c9, quirk_i82576_sriov); -DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x10e6, quirk_i82576_sriov); -DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x10e7, quirk_i82576_sriov); -DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x10e8, quirk_i82576_sriov); -DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x150a, quirk_i82576_sriov); -DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x150d, quirk_i82576_sriov); - -#endif /* CONFIG_PCI_IOV */ +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_TI, 0xb800, fixup_ti816x_class); static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f, struct pci_fixup *end) @@ -2544,6 +2578,29 @@ extern struct pci_fixup __start_pci_fixups_suspend[]; extern struct pci_fixup __end_pci_fixups_suspend[]; +#if defined(CONFIG_DMAR) || defined(CONFIG_INTR_REMAP) +#define VTUNCERRMSK_REG 0x1ac +#define VTD_MSK_SPEC_ERRORS (1 << 31) +/* + * This is a quirk for masking vt-d spec defined errors to platform error + * handling logic. With out this, platforms using Intel 7500, 5500 chipsets + * (and the derivative chipsets like X58 etc) seem to generate NMI/SMI (based + * on the RAS config settings of the platform) when a vt-d fault happens. + * The resulting SMI caused the system to hang. + * + * VT-d spec related errors are already handled by the VT-d OS code, so no + * need to report the same error through other channels. + */ +static void vtd_mask_spec_errors(struct pci_dev *dev) +{ + u32 word; + + pci_read_config_dword(dev, VTUNCERRMSK_REG, &word); + pci_write_config_dword(dev, VTUNCERRMSK_REG, word | VTD_MSK_SPEC_ERRORS); +} +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x342e, vtd_mask_spec_errors); +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x3c28, vtd_mask_spec_errors); +#endif void pci_fixup_device(enum pci_fixup_pass pass, struct pci_dev *dev) { --- linux-2.6.32.orig/drivers/pci/setup-bus.c +++ linux-2.6.32/drivers/pci/setup-bus.c @@ -142,7 +142,6 @@ struct pci_dev *bridge = bus->self; struct pci_bus_region region; u32 l, bu, lu, io_upper16; - int pref_mem64; if (pci_is_enabled(bridge)) return; @@ -198,7 +197,6 @@ pci_write_config_dword(bridge, PCI_PREF_LIMIT_UPPER32, 0); /* Set up PREF base/limit. */ - pref_mem64 = 0; bu = lu = 0; pcibios_resource_to_bus(bridge, ®ion, bus->resource[2]); if (bus->resource[2]->flags & IORESOURCE_PREFETCH) { @@ -206,7 +204,6 @@ l = (region.start >> 16) & 0xfff0; l |= region.end & 0xfff00000; if (bus->resource[2]->flags & IORESOURCE_MEM_64) { - pref_mem64 = 1; bu = upper_32_bits(region.start); lu = upper_32_bits(region.end); width = 16; @@ -221,11 +218,9 @@ } pci_write_config_dword(bridge, PCI_PREF_MEMORY_BASE, l); - if (pref_mem64) { - /* Set the upper 32 bits of PREF base & limit. */ - pci_write_config_dword(bridge, PCI_PREF_BASE_UPPER32, bu); - pci_write_config_dword(bridge, PCI_PREF_LIMIT_UPPER32, lu); - } + /* Set the upper 32 bits of PREF base & limit. */ + pci_write_config_dword(bridge, PCI_PREF_BASE_UPPER32, bu); + pci_write_config_dword(bridge, PCI_PREF_LIMIT_UPPER32, lu); pci_write_config_word(bridge, PCI_BRIDGE_CONTROL, bus->bridge_ctl); } --- linux-2.6.32.orig/drivers/pci/hotplug/acpiphp_glue.c +++ linux-2.6.32/drivers/pci/hotplug/acpiphp_glue.c @@ -213,6 +213,7 @@ pdev = pci_get_slot(pbus, PCI_DEVFN(device, function)); if (pdev) { + pdev->current_state = PCI_D0; slot->flags |= (SLOT_ENABLED | SLOT_POWEREDON); pci_dev_put(pdev); } --- linux-2.6.32.orig/drivers/pci/hotplug/ibmphp_ebda.c +++ linux-2.6.32/drivers/pci/hotplug/ibmphp_ebda.c @@ -245,7 +245,7 @@ int __init ibmphp_access_ebda (void) { - u8 format, num_ctlrs, rio_complete, hs_complete; + u8 format, num_ctlrs, rio_complete, hs_complete, ebda_sz; u16 ebda_seg, num_entries, next_offset, offset, blk_id, sub_addr, re, rc_id, re_id, base; int rc = 0; @@ -260,7 +260,16 @@ iounmap (io_mem); debug ("returned ebda segment: %x\n", ebda_seg); - io_mem = ioremap(ebda_seg<<4, 1024); + io_mem = ioremap(ebda_seg<<4, 1); + if (!io_mem) + return -ENOMEM; + ebda_sz = readb(io_mem); + iounmap(io_mem); + debug("ebda size: %d(KiB)\n", ebda_sz); + if (ebda_sz == 0) + return -ENOMEM; + + io_mem = ioremap(ebda_seg<<4, (ebda_sz * 1024)); if (!io_mem ) return -ENOMEM; next_offset = 0x180; --- linux-2.6.32.orig/drivers/pci/hotplug/shpchp_core.c +++ linux-2.6.32/drivers/pci/hotplug/shpchp_core.c @@ -312,8 +312,8 @@ static int is_shpc_capable(struct pci_dev *dev) { - if ((dev->vendor == PCI_VENDOR_ID_AMD) || (dev->device == - PCI_DEVICE_ID_AMD_GOLAM_7450)) + if (dev->vendor == PCI_VENDOR_ID_AMD && + dev->device == PCI_DEVICE_ID_AMD_GOLAM_7450) return 1; if (!pci_find_capability(dev, PCI_CAP_ID_SHPC)) return 0; --- linux-2.6.32.orig/drivers/pci/hotplug/shpchp_hpc.c +++ linux-2.6.32/drivers/pci/hotplug/shpchp_hpc.c @@ -951,8 +951,8 @@ ctrl->pci_dev = pdev; /* pci_dev of the P2P bridge */ ctrl_dbg(ctrl, "Hotplug Controller:\n"); - if ((pdev->vendor == PCI_VENDOR_ID_AMD) || (pdev->device == - PCI_DEVICE_ID_AMD_GOLAM_7450)) { + if (pdev->vendor == PCI_VENDOR_ID_AMD && + pdev->device == PCI_DEVICE_ID_AMD_GOLAM_7450) { /* amd shpc driver doesn't use Base Offset; assume 0 */ ctrl->mmio_base = pci_resource_start(pdev, 0); ctrl->mmio_size = pci_resource_len(pdev, 0); --- linux-2.6.32.orig/drivers/pci/hotplug/pcihp_slot.c +++ linux-2.6.32/drivers/pci/hotplug/pcihp_slot.c @@ -158,6 +158,47 @@ */ } +/* Program PCIE MaxPayload setting on device: ensure parent maxpayload <= device */ +static int pci_set_payload(struct pci_dev *dev) +{ + int pos, ppos; + u16 pctl, psz; + u16 dctl, dsz, dcap, dmax; + struct pci_dev *parent; + + parent = dev->bus->self; + pos = pci_find_capability(dev, PCI_CAP_ID_EXP); + if (!pos) + return 0; + + /* Read Device MaxPayload capability and setting */ + pci_read_config_word(dev, pos + PCI_EXP_DEVCTL, &dctl); + pci_read_config_word(dev, pos + PCI_EXP_DEVCAP, &dcap); + dsz = (dctl & PCI_EXP_DEVCTL_PAYLOAD) >> 5; + dmax = (dcap & PCI_EXP_DEVCAP_PAYLOAD); + + /* Read Parent MaxPayload setting */ + ppos = pci_find_capability(parent, PCI_CAP_ID_EXP); + if (!ppos) + return 0; + pci_read_config_word(parent, ppos + PCI_EXP_DEVCTL, &pctl); + psz = (pctl & PCI_EXP_DEVCTL_PAYLOAD) >> 5; + + /* If parent payload > device max payload -> error + * If parent payload > device payload -> set speed + * If parent payload <= device payload -> do nothing + */ + if (psz > dmax) + return -1; + else if (psz > dsz) { + dev_info(&dev->dev, "Setting MaxPayload to %d\n", 128 << psz); + pci_write_config_word(dev, pos + PCI_EXP_DEVCTL, + (dctl & ~PCI_EXP_DEVCTL_PAYLOAD) + + (psz << 5)); + } + return 0; +} + void pci_configure_slot(struct pci_dev *dev) { struct pci_dev *cdev; @@ -169,6 +210,10 @@ (dev->class >> 8) == PCI_CLASS_BRIDGE_PCI))) return; + ret = pci_set_payload(dev); + if (ret) + dev_warn(&dev->dev, "could not set device max payload\n"); + memset(&hpp, 0, sizeof(hpp)); ret = pci_get_hp_params(dev, &hpp); if (ret) --- linux-2.6.32.orig/drivers/pci/pcie/aer/aer_inject.c +++ linux-2.6.32/drivers/pci/pcie/aer/aer_inject.c @@ -302,7 +302,7 @@ unsigned long flags; unsigned int devfn = PCI_DEVFN(einj->dev, einj->fn); int pos_cap_err, rp_pos_cap_err; - u32 sever; + u32 sever, cor_mask, uncor_mask; int ret = 0; dev = pci_get_bus_and_slot(einj->bus, devfn); @@ -320,6 +320,9 @@ goto out_put; } pci_read_config_dword(dev, pos_cap_err + PCI_ERR_UNCOR_SEVER, &sever); + pci_read_config_dword(dev, pos_cap_err + PCI_ERR_COR_MASK, &cor_mask); + pci_read_config_dword(dev, pos_cap_err + PCI_ERR_UNCOR_MASK, + &uncor_mask); rp_pos_cap_err = pci_find_ext_capability(rpdev, PCI_EXT_CAP_ID_ERR); if (!rp_pos_cap_err) { @@ -354,6 +357,21 @@ err->header_log2 = einj->header_log2; err->header_log3 = einj->header_log3; + if (einj->cor_status && !(einj->cor_status & ~cor_mask)) { + ret = -EINVAL; + printk(KERN_WARNING "The correctable error(s) is masked " + "by device\n"); + spin_unlock_irqrestore(&inject_lock, flags); + goto out_put; + } + if (einj->uncor_status && !(einj->uncor_status & ~uncor_mask)) { + ret = -EINVAL; + printk(KERN_WARNING "The uncorrectable error(s) is masked " + "by device\n"); + spin_unlock_irqrestore(&inject_lock, flags); + goto out_put; + } + rperr = __find_aer_error_by_dev(rpdev); if (!rperr) { rperr = rperr_alloc; @@ -392,8 +410,14 @@ if (ret) goto out_put; - if (find_aer_device(rpdev, &edev)) + if (find_aer_device(rpdev, &edev)) { + if (!get_service_data(edev)) { + printk(KERN_WARNING "AER service is not initialized\n"); + ret = -EINVAL; + goto out_put; + } aer_irq(-1, edev); + } else ret = -EINVAL; out_put: --- linux-2.6.32.orig/drivers/pci/pcie/aer/aerdrv_core.c +++ linux-2.6.32/drivers/pci/pcie/aer/aerdrv_core.c @@ -78,19 +78,15 @@ int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev) { int pos; - u32 status, mask; + u32 status; pos = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_ERR); if (!pos) return -EIO; pci_read_config_dword(dev, pos + PCI_ERR_UNCOR_STATUS, &status); - pci_read_config_dword(dev, pos + PCI_ERR_UNCOR_SEVER, &mask); - if (dev->error_state == pci_channel_io_normal) - status &= ~mask; /* Clear corresponding nonfatal bits */ - else - status &= mask; /* Clear corresponding fatal bits */ - pci_write_config_dword(dev, pos + PCI_ERR_UNCOR_STATUS, status); + if (status) + pci_write_config_dword(dev, pos + PCI_ERR_UNCOR_STATUS, status); return 0; } --- linux-2.6.32.orig/drivers/pcmcia/cardbus.c +++ linux-2.6.32/drivers/pcmcia/cardbus.c @@ -214,7 +214,7 @@ unsigned int max, pass; s->functions = pci_scan_slot(bus, PCI_DEVFN(0, 0)); -// pcibios_fixup_bus(bus); + pci_fixup_cardbus(bus); max = bus->secondary; for (pass = 0; pass < 2; pass++) --- linux-2.6.32.orig/drivers/pcmcia/pcmcia_resource.c +++ linux-2.6.32/drivers/pcmcia/pcmcia_resource.c @@ -39,7 +39,7 @@ #ifdef CONFIG_PCMCIA_PROBE #include /* mask of IRQs already reserved by other cards, we should avoid using them */ -static u8 pcmcia_used_irq[NR_IRQS]; +static u8 pcmcia_used_irq[32]; #endif @@ -719,6 +719,9 @@ for (try = 0; try < 64; try++) { irq = try % 32; + if (irq > NR_IRQS) + continue; + /* marked as available by driver, and not blocked by userspace? */ if (!((mask >> irq) & 1)) continue; --- linux-2.6.32.orig/drivers/platform/x86/Kconfig +++ linux-2.6.32/drivers/platform/x86/Kconfig @@ -233,6 +233,29 @@ If you have an IBM or Lenovo ThinkPad laptop, say Y or M here. +config THINKPAD_ACPI_ALSA_SUPPORT + bool "Console audio control ALSA interface" + depends on THINKPAD_ACPI + depends on SND + depends on SND = y || THINKPAD_ACPI = SND + default y + ---help--- + Enables monitoring of the built-in console audio output control + (headphone and speakers), which is operated by the mute and (in + some ThinkPad models) volume hotkeys. + + If this option is enabled, ThinkPad-ACPI will export an ALSA card + with a single read-only mixer control, which should be used for + on-screen-display feedback purposes by the Desktop Environment. + + Optionally, the driver will also allow software control (the + ALSA mixer will be made read-write). Please refer to the driver + documentation for details. + + All IBM models have both volume and mute control. Newer Lenovo + models only have mute control (the volume hotkeys are just normal + keys and volume control is done through the main HDA mixer). + config THINKPAD_ACPI_DEBUGFACILITIES bool "Maintainer debug facilities" depends on THINKPAD_ACPI --- linux-2.6.32.orig/drivers/platform/x86/acer-wmi.c +++ linux-2.6.32/drivers/platform/x86/acer-wmi.c @@ -90,7 +90,7 @@ */ #define AMW0_GUID1 "67C3371D-95A3-4C37-BB61-DD47B491DAAB" #define AMW0_GUID2 "431F16ED-0C2B-444C-B267-27DEB140CF9C" -#define WMID_GUID1 "6AF4F258-B401-42fd-BE91-3D4AC2D7C0D3" +#define WMID_GUID1 "6AF4F258-B401-42FD-BE91-3D4AC2D7C0D3" #define WMID_GUID2 "95764E09-FB56-4e83-B31A-37761F60994A" MODULE_ALIAS("wmi:67C3371D-95A3-4C37-BB61-DD47B491DAAB"); @@ -1065,7 +1065,7 @@ return -EINVAL; return count; } -static DEVICE_ATTR(threeg, S_IWUGO | S_IRUGO | S_IWUSR, show_bool_threeg, +static DEVICE_ATTR(threeg, S_IRUGO | S_IWUSR, show_bool_threeg, set_bool_threeg); static ssize_t show_interface(struct device *dev, struct device_attribute *attr, --- linux-2.6.32.orig/drivers/platform/x86/acerhdf.c +++ linux-2.6.32/drivers/platform/x86/acerhdf.c @@ -52,7 +52,7 @@ */ #undef START_IN_KERNEL_MODE -#define DRV_VER "0.5.18" +#define DRV_VER "0.5.20" /* * According to the Atom N270 datasheet, @@ -112,12 +112,14 @@ MODULE_PARM_DESC(force_product, "Force BIOS product and omit BIOS check"); /* - * cmd_off: to switch the fan completely off / to check if the fan is off + * cmd_off: to switch the fan completely off + * chk_off: to check if the fan is off * cmd_auto: to set the BIOS in control of the fan. The BIOS regulates then * the fan speed depending on the temperature */ struct fancmd { u8 cmd_off; + u8 chk_off; u8 cmd_auto; }; @@ -134,32 +136,41 @@ /* Register addresses and values for different BIOS versions */ static const struct bios_settings_t bios_tbl[] = { /* AOA110 */ - {"Acer", "AOA110", "v0.3109", 0x55, 0x58, {0x1f, 0x00} }, - {"Acer", "AOA110", "v0.3114", 0x55, 0x58, {0x1f, 0x00} }, - {"Acer", "AOA110", "v0.3301", 0x55, 0x58, {0xaf, 0x00} }, - {"Acer", "AOA110", "v0.3304", 0x55, 0x58, {0xaf, 0x00} }, - {"Acer", "AOA110", "v0.3305", 0x55, 0x58, {0xaf, 0x00} }, - {"Acer", "AOA110", "v0.3307", 0x55, 0x58, {0xaf, 0x00} }, - {"Acer", "AOA110", "v0.3308", 0x55, 0x58, {0x21, 0x00} }, - {"Acer", "AOA110", "v0.3309", 0x55, 0x58, {0x21, 0x00} }, - {"Acer", "AOA110", "v0.3310", 0x55, 0x58, {0x21, 0x00} }, + {"Acer", "AOA110", "v0.3109", 0x55, 0x58, {0x1f, 0x1f, 0x00} }, + {"Acer", "AOA110", "v0.3114", 0x55, 0x58, {0x1f, 0x1f, 0x00} }, + {"Acer", "AOA110", "v0.3301", 0x55, 0x58, {0xaf, 0xaf, 0x00} }, + {"Acer", "AOA110", "v0.3304", 0x55, 0x58, {0xaf, 0xaf, 0x00} }, + {"Acer", "AOA110", "v0.3305", 0x55, 0x58, {0xaf, 0xaf, 0x00} }, + {"Acer", "AOA110", "v0.3307", 0x55, 0x58, {0xaf, 0xaf, 0x00} }, + {"Acer", "AOA110", "v0.3308", 0x55, 0x58, {0x21, 0x21, 0x00} }, + {"Acer", "AOA110", "v0.3309", 0x55, 0x58, {0x21, 0x21, 0x00} }, + {"Acer", "AOA110", "v0.3310", 0x55, 0x58, {0x21, 0x21, 0x00} }, /* AOA150 */ - {"Acer", "AOA150", "v0.3114", 0x55, 0x58, {0x20, 0x00} }, - {"Acer", "AOA150", "v0.3301", 0x55, 0x58, {0x20, 0x00} }, - {"Acer", "AOA150", "v0.3304", 0x55, 0x58, {0x20, 0x00} }, - {"Acer", "AOA150", "v0.3305", 0x55, 0x58, {0x20, 0x00} }, - {"Acer", "AOA150", "v0.3307", 0x55, 0x58, {0x20, 0x00} }, - {"Acer", "AOA150", "v0.3308", 0x55, 0x58, {0x20, 0x00} }, - {"Acer", "AOA150", "v0.3309", 0x55, 0x58, {0x20, 0x00} }, - {"Acer", "AOA150", "v0.3310", 0x55, 0x58, {0x20, 0x00} }, + {"Acer", "AOA150", "v0.3114", 0x55, 0x58, {0x20, 0x20, 0x00} }, + {"Acer", "AOA150", "v0.3301", 0x55, 0x58, {0x20, 0x20, 0x00} }, + {"Acer", "AOA150", "v0.3304", 0x55, 0x58, {0x20, 0x20, 0x00} }, + {"Acer", "AOA150", "v0.3305", 0x55, 0x58, {0x20, 0x20, 0x00} }, + {"Acer", "AOA150", "v0.3307", 0x55, 0x58, {0x20, 0x20, 0x00} }, + {"Acer", "AOA150", "v0.3308", 0x55, 0x58, {0x20, 0x20, 0x00} }, + {"Acer", "AOA150", "v0.3309", 0x55, 0x58, {0x20, 0x20, 0x00} }, + {"Acer", "AOA150", "v0.3310", 0x55, 0x58, {0x20, 0x20, 0x00} }, + /* Acer 1410 */ + {"Acer", "Aspire 1410", "v0.3120", 0x55, 0x58, {0x9e, 0x9e, 0x00} }, /* special BIOS / other */ - {"Gateway", "AOA110", "v0.3103", 0x55, 0x58, {0x21, 0x00} }, - {"Gateway", "AOA150", "v0.3103", 0x55, 0x58, {0x20, 0x00} }, - {"Packard Bell", "DOA150", "v0.3104", 0x55, 0x58, {0x21, 0x00} }, - {"Packard Bell", "AOA110", "v0.3105", 0x55, 0x58, {0x21, 0x00} }, - {"Packard Bell", "AOA150", "v0.3105", 0x55, 0x58, {0x20, 0x00} }, + {"Gateway", "AOA110", "v0.3103", 0x55, 0x58, {0x21, 0x21, 0x00} }, + {"Gateway", "AOA150", "v0.3103", 0x55, 0x58, {0x20, 0x20, 0x00} }, + {"Gateway ", "LT31 ", "v1.3103 ", 0x55, 0x58, + {0x10, 0x0f, 0x00} }, + {"Gateway ", "LT31 ", "v1.3201 ", 0x55, 0x58, + {0x10, 0x0f, 0x00} }, + {"Gateway ", "LT31 ", "v1.3302 ", 0x55, 0x58, + {0x10, 0x0f, 0x00} }, + {"Packard Bell", "DOA150", "v0.3104", 0x55, 0x58, {0x21, 0x21, 0x00} }, + {"Packard Bell", "DOA150", "v0.3105", 0x55, 0x58, {0x20, 0x20, 0x00} }, + {"Packard Bell", "AOA110", "v0.3105", 0x55, 0x58, {0x21, 0x21, 0x00} }, + {"Packard Bell", "AOA150", "v0.3105", 0x55, 0x58, {0x20, 0x20, 0x00} }, /* pewpew-terminator */ - {"", "", "", 0, 0, {0, 0} } + {"", "", "", 0, 0, {0, 0, 0} } }; static const struct bios_settings_t *bios_cfg __read_mostly; @@ -183,7 +194,7 @@ if (ec_read(bios_cfg->fanreg, &fan)) return -EINVAL; - if (fan != bios_cfg->cmd.cmd_off) + if (fan != bios_cfg->cmd.chk_off) *state = ACERHDF_FAN_AUTO; else *state = ACERHDF_FAN_OFF; @@ -629,9 +640,10 @@ MODULE_LICENSE("GPL"); MODULE_AUTHOR("Peter Feuerer"); MODULE_DESCRIPTION("Aspire One temperature and fan driver"); -MODULE_ALIAS("dmi:*:*Acer*:*:"); -MODULE_ALIAS("dmi:*:*Gateway*:*:"); -MODULE_ALIAS("dmi:*:*Packard Bell*:*:"); +MODULE_ALIAS("dmi:*:*Acer*:pnAOA*:"); +MODULE_ALIAS("dmi:*:*Gateway*:pnAOA*:"); +MODULE_ALIAS("dmi:*:*Packard Bell*:pnAOA*:"); +MODULE_ALIAS("dmi:*:*Packard Bell*:pnDOA*:"); module_init(acerhdf_init); module_exit(acerhdf_exit); --- linux-2.6.32.orig/drivers/platform/x86/asus-laptop.c +++ linux-2.6.32/drivers/platform/x86/asus-laptop.c @@ -221,6 +221,7 @@ */ static const struct acpi_device_id asus_device_ids[] = { {"ATK0100", 0}, + {"ATK0101", 0}, {"", 0}, }; MODULE_DEVICE_TABLE(acpi, asus_device_ids); @@ -293,6 +294,11 @@ enum { KE_KEY, KE_END }; static struct key_entry asus_keymap[] = { + {KE_KEY, 0x02, KEY_SCREENLOCK}, + {KE_KEY, 0x05, KEY_WLAN}, + {KE_KEY, 0x08, BTN_TOUCH}, + {KE_KEY, 0x17, KEY_ZOOM}, + {KE_KEY, 0x1f, KEY_BATTERY}, {KE_KEY, 0x30, KEY_VOLUMEUP}, {KE_KEY, 0x31, KEY_VOLUMEDOWN}, {KE_KEY, 0x32, KEY_MUTE}, @@ -312,6 +318,8 @@ {KE_KEY, 0x5F, KEY_WLAN}, {KE_KEY, 0x60, KEY_SWITCHVIDEOMODE}, {KE_KEY, 0x61, KEY_SWITCHVIDEOMODE}, + {KE_KEY, 0x62, KEY_SWITCHVIDEOMODE}, + {KE_KEY, 0x63, KEY_SWITCHVIDEOMODE}, {KE_KEY, 0x6B, BTN_TOUCH}, /* Lock Mouse */ {KE_KEY, 0x82, KEY_CAMERA}, {KE_KEY, 0x8A, KEY_PROG1}, @@ -1283,8 +1291,8 @@ hotk->ledd_status = 0xFFF; /* Set initial values of light sensor and level */ - hotk->light_switch = 1; /* Default to light sensor disabled */ - hotk->light_level = 0; /* level 5 for sensor sensitivity */ + hotk->light_switch = 0; /* Default to light sensor disabled */ + hotk->light_level = 5; /* level 5 for sensor sensitivity */ if (ls_switch_handle) set_light_sens_switch(hotk->light_switch); --- linux-2.6.32.orig/drivers/platform/x86/asus_acpi.c +++ linux-2.6.32/drivers/platform/x86/asus_acpi.c @@ -1001,14 +1001,8 @@ struct proc_dir_entry *proc; mode_t mode; - /* - * If parameter uid or gid is not changed, keep the default setting for - * our proc entries (-rw-rw-rw-) else, it means we care about security, - * and then set to -rw-rw---- - */ - if ((asus_uid == 0) && (asus_gid == 0)) { - mode = S_IFREG | S_IRUGO | S_IWUGO; + mode = S_IFREG | S_IRUGO | S_IWUSR | S_IWGRP; } else { mode = S_IFREG | S_IRUSR | S_IRGRP | S_IWUSR | S_IWGRP; printk(KERN_WARNING " asus_uid and asus_gid parameters are " --- linux-2.6.32.orig/drivers/platform/x86/compal-laptop.c +++ linux-2.6.32/drivers/platform/x86/compal-laptop.c @@ -26,17 +26,8 @@ /* * comapl-laptop.c - Compal laptop support. * - * This driver exports a few files in /sys/devices/platform/compal-laptop/: - * - * wlan - wlan subsystem state: contains 0 or 1 (rw) - * - * bluetooth - Bluetooth subsystem state: contains 0 or 1 (rw) - * - * raw - raw value taken from embedded controller register (ro) - * - * In addition to these platform device attributes the driver - * registers itself in the Linux backlight control subsystem and is - * available to userspace under /sys/class/backlight/compal-laptop/. + * The driver registers itself with the rfkill subsystem and + * the Linux backlight control subsystem. * * This driver might work on other laptops produced by Compal. If you * want to try it you can pass force=1 as argument to the module which @@ -52,6 +43,7 @@ #include #include #include +#include #define COMPAL_DRIVER_VERSION "0.2.6" @@ -64,6 +56,10 @@ #define WLAN_MASK 0x01 #define BT_MASK 0x02 +static struct rfkill *wifi_rfkill; +static struct rfkill *bt_rfkill; +static struct platform_device *compal_device; + static int force; module_param(force, bool, 0); MODULE_PARM_DESC(force, "Force driver load, ignore DMI data"); @@ -89,65 +85,75 @@ return (int) result; } -static int set_wlan_state(int state) +static int compal_rfkill_set(void *data, bool blocked) { + unsigned long radio = (unsigned long) data; u8 result, value; ec_read(COMPAL_EC_COMMAND_WIRELESS, &result); - if ((result & KILLSWITCH_MASK) == 0) - return -EINVAL; - else { - if (state) - value = (u8) (result | WLAN_MASK); - else - value = (u8) (result & ~WLAN_MASK); - ec_write(COMPAL_EC_COMMAND_WIRELESS, value); - } + if (!blocked) + value = (u8) (result | radio); + else + value = (u8) (result & ~radio); + ec_write(COMPAL_EC_COMMAND_WIRELESS, value); return 0; } -static int set_bluetooth_state(int state) +static void compal_rfkill_poll(struct rfkill *rfkill, void *data) { - u8 result, value; + u8 result; + bool hw_blocked; ec_read(COMPAL_EC_COMMAND_WIRELESS, &result); - if ((result & KILLSWITCH_MASK) == 0) - return -EINVAL; - else { - if (state) - value = (u8) (result | BT_MASK); - else - value = (u8) (result & ~BT_MASK); - ec_write(COMPAL_EC_COMMAND_WIRELESS, value); - } - - return 0; + hw_blocked = !(result & KILLSWITCH_MASK); + rfkill_set_hw_state(rfkill, hw_blocked); } -static int get_wireless_state(int *wlan, int *bluetooth) +static const struct rfkill_ops compal_rfkill_ops = { + .poll = compal_rfkill_poll, + .set_block = compal_rfkill_set, +}; + +static int setup_rfkill(void) { - u8 result; + int ret; - ec_read(COMPAL_EC_COMMAND_WIRELESS, &result); + wifi_rfkill = rfkill_alloc("compal-wifi", &compal_device->dev, + RFKILL_TYPE_WLAN, &compal_rfkill_ops, + (void *) WLAN_MASK); + if (!wifi_rfkill) + return -ENOMEM; - if (wlan) { - if ((result & KILLSWITCH_MASK) == 0) - *wlan = 0; - else - *wlan = result & WLAN_MASK; - } + ret = rfkill_register(wifi_rfkill); + if (ret) + goto err_wifi; - if (bluetooth) { - if ((result & KILLSWITCH_MASK) == 0) - *bluetooth = 0; - else - *bluetooth = (result & BT_MASK) >> 1; + bt_rfkill = rfkill_alloc("compal-bluetooth", &compal_device->dev, + RFKILL_TYPE_BLUETOOTH, &compal_rfkill_ops, + (void *) BT_MASK); + if (!bt_rfkill) { + ret = -ENOMEM; + goto err_allocate_bt; } + ret = rfkill_register(bt_rfkill); + if (ret) + goto err_register_bt; return 0; + +err_register_bt: + rfkill_destroy(bt_rfkill); + +err_allocate_bt: + rfkill_unregister(wifi_rfkill); + +err_wifi: + rfkill_destroy(wifi_rfkill); + + return ret; } /* Backlight device stuff */ @@ -170,86 +176,6 @@ static struct backlight_device *compalbl_device; -/* Platform device */ - -static ssize_t show_wlan(struct device *dev, - struct device_attribute *attr, char *buf) -{ - int ret, enabled; - - ret = get_wireless_state(&enabled, NULL); - if (ret < 0) - return ret; - - return sprintf(buf, "%i\n", enabled); -} - -static ssize_t show_raw(struct device *dev, - struct device_attribute *attr, char *buf) -{ - u8 result; - - ec_read(COMPAL_EC_COMMAND_WIRELESS, &result); - - return sprintf(buf, "%i\n", result); -} - -static ssize_t show_bluetooth(struct device *dev, - struct device_attribute *attr, char *buf) -{ - int ret, enabled; - - ret = get_wireless_state(NULL, &enabled); - if (ret < 0) - return ret; - - return sprintf(buf, "%i\n", enabled); -} - -static ssize_t store_wlan_state(struct device *dev, - struct device_attribute *attr, const char *buf, size_t count) -{ - int state, ret; - - if (sscanf(buf, "%i", &state) != 1 || (state < 0 || state > 1)) - return -EINVAL; - - ret = set_wlan_state(state); - if (ret < 0) - return ret; - - return count; -} - -static ssize_t store_bluetooth_state(struct device *dev, - struct device_attribute *attr, const char *buf, size_t count) -{ - int state, ret; - - if (sscanf(buf, "%i", &state) != 1 || (state < 0 || state > 1)) - return -EINVAL; - - ret = set_bluetooth_state(state); - if (ret < 0) - return ret; - - return count; -} - -static DEVICE_ATTR(bluetooth, 0644, show_bluetooth, store_bluetooth_state); -static DEVICE_ATTR(wlan, 0644, show_wlan, store_wlan_state); -static DEVICE_ATTR(raw, 0444, show_raw, NULL); - -static struct attribute *compal_attributes[] = { - &dev_attr_bluetooth.attr, - &dev_attr_wlan.attr, - &dev_attr_raw.attr, - NULL -}; - -static struct attribute_group compal_attribute_group = { - .attrs = compal_attributes -}; static struct platform_driver compal_driver = { .driver = { @@ -258,8 +184,6 @@ } }; -static struct platform_device *compal_device; - /* Initialization */ static int dmi_check_cb(const struct dmi_system_id *id) @@ -311,6 +235,47 @@ }, .callback = dmi_check_cb }, + { + .ident = "Dell Mini 9", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 910"), + }, + .callback = dmi_check_cb + }, + { + .ident = "Dell Mini 10", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1010"), + }, + .callback = dmi_check_cb + }, + { + .ident = "Dell Mini 10v", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1011"), + }, + .callback = dmi_check_cb + }, + { + .ident = "Dell Inspiron 11z", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1110"), + }, + .callback = dmi_check_cb + }, + { + .ident = "Dell Mini 12", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1210"), + }, + .callback = dmi_check_cb + }, + { } }; @@ -349,23 +314,21 @@ ret = platform_device_add(compal_device); if (ret) - goto fail_platform_device1; + goto fail_platform_device; - ret = sysfs_create_group(&compal_device->dev.kobj, - &compal_attribute_group); + ret = setup_rfkill(); if (ret) - goto fail_platform_device2; + goto fail_rfkill; printk(KERN_INFO "compal-laptop: driver "COMPAL_DRIVER_VERSION " successfully loaded.\n"); return 0; -fail_platform_device2: - +fail_rfkill: platform_device_del(compal_device); -fail_platform_device1: +fail_platform_device: platform_device_put(compal_device); @@ -383,10 +346,13 @@ static void __exit compal_cleanup(void) { - sysfs_remove_group(&compal_device->dev.kobj, &compal_attribute_group); platform_device_unregister(compal_device); platform_driver_unregister(&compal_driver); backlight_device_unregister(compalbl_device); + rfkill_unregister(wifi_rfkill); + rfkill_destroy(wifi_rfkill); + rfkill_unregister(bt_rfkill); + rfkill_destroy(bt_rfkill); printk(KERN_INFO "compal-laptop: driver unloaded.\n"); } @@ -404,3 +370,8 @@ MODULE_ALIAS("dmi:*:rnIFL91:rvrIFT00:*"); MODULE_ALIAS("dmi:*:rnJFL92:rvrIFT00:*"); MODULE_ALIAS("dmi:*:rnIFT00:rvrIFT00:*"); +MODULE_ALIAS("dmi:*:svnDellInc.:pnInspiron910:*"); +MODULE_ALIAS("dmi:*:svnDellInc.:pnInspiron1010:*"); +MODULE_ALIAS("dmi:*:svnDellInc.:pnInspiron1011:*"); +MODULE_ALIAS("dmi:*:svnDellInc.:pnInspiron1110:*"); +MODULE_ALIAS("dmi:*:svnDellInc.:pnInspiron1210:*"); --- linux-2.6.32.orig/drivers/platform/x86/dell-laptop.c +++ linux-2.6.32/drivers/platform/x86/dell-laptop.c @@ -22,9 +22,15 @@ #include #include #include +#include #include "../../firmware/dcdbas.h" #define BRIGHTNESS_TOKEN 0x7d +#define WLAN_SWITCH_MASK 0 +#define BT_SWITCH_MASK 1 +#define WWAN_SWITCH_MASK 2 +#define HW_SWITCH_SUPPORT 3 +#define HW_SWITCH_MASK 16 /* This structure will be modified by the firmware when we enter * system management mode, hence the volatiles */ @@ -63,6 +69,13 @@ static struct rfkill *bluetooth_rfkill; static struct rfkill *wwan_rfkill; +/* + * RFkill status is maintained in software because the BIOS has an annoying + * habit of emitting a KEY_WLAN key press event before the BIOS state is updated, making + * dell_send_request() racy. + */ +static int hw_switch_status; + static const struct dmi_system_id __initdata dell_device_table[] = { { .ident = "Dell laptop", @@ -71,9 +84,70 @@ DMI_MATCH(DMI_CHASSIS_TYPE, "8"), }, }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_CHASSIS_TYPE, "9"), /*Laptop*/ + }, + }, + { + .ident = "Dell Computer Corporation", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Computer Corporation"), + DMI_MATCH(DMI_CHASSIS_TYPE, "8"), + }, + }, { } }; +static struct dmi_system_id __devinitdata dell_blacklist[] = { + /* BIOS always returns HW switch disabled */ + { + .ident = "Dell Vostro 1720", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 1720"), + }, + }, + /* Supported by compal-laptop */ + { + .ident = "Dell Mini 9", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 910"), + }, + }, + { + .ident = "Dell Mini 10", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1010"), + }, + }, + { + .ident = "Dell Mini 10v", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1011"), + }, + }, + { + .ident = "Dell Inspiron 11z", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1110"), + }, + }, + { + .ident = "Dell Mini 12", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1210"), + }, + }, + {} +}; + static void parse_da_table(const struct dmi_header *dm) { /* Final token is a terminator, so we don't want to copy it */ @@ -180,10 +254,12 @@ int disable = blocked ? 1 : 0; unsigned long radio = (unsigned long)data; - memset(&buffer, 0, sizeof(struct calling_interface_buffer)); - buffer.input[0] = (1 | (radio<<8) | (disable << 16)); - dell_send_request(&buffer, 17, 11); - + if (!(hw_switch_status & BIT(radio-1)) || !(hw_switch_status & BIT(HW_SWITCH_MASK)) || \ + !(hw_switch_status & BIT(HW_SWITCH_SUPPORT))) { + memset(&buffer, 0, sizeof(struct calling_interface_buffer)); + buffer.input[0] = (1 | (radio<<8) | (disable << 16)); + dell_send_request(&buffer, 17, 11); + } return 0; } @@ -191,14 +267,33 @@ { struct calling_interface_buffer buffer; int status; - int bit = (unsigned long)data + 16; + int bit = (unsigned long)data - 1; memset(&buffer, 0, sizeof(struct calling_interface_buffer)); dell_send_request(&buffer, 17, 11); status = buffer.output[1]; - if (status & BIT(bit)) - rfkill_set_hw_state(rfkill, !!(status & BIT(16))); + hw_switch_status |= (status & BIT(0)) << BIT(HW_SWITCH_SUPPORT); + hw_switch_status |= (status & BIT(HW_SWITCH_MASK)) ^ BIT(HW_SWITCH_MASK); + + /* HW switch control not supported + explicitly set it to all 3 as they'll change in unison then */ + if (!(status & BIT(0))) + hw_switch_status |= BIT(WLAN_SWITCH_MASK) | BIT(BT_SWITCH_MASK) | (WWAN_SWITCH_MASK); + else { + /* rerun the query to see what is really supported */ + memset(&buffer, 0, sizeof(struct calling_interface_buffer)); + buffer.input[0] = 2; + dell_send_request(&buffer, 17, 11); + status = buffer.output[1]; + + hw_switch_status |= status & BIT(bit); + } + + if (hw_switch_status & BIT(bit)) + rfkill_set_hw_state(rfkill, hw_switch_status & BIT(HW_SWITCH_MASK)); + else + rfkill_set_hw_state(rfkill, 0); } static const struct rfkill_ops dell_rfkill_ops = { @@ -206,11 +301,38 @@ .query = dell_rfkill_query, }; +/* + * Called for each KEY_WLAN key press event. Note that a physical + * rf-kill switch change also causes the BIOS to emit a KEY_WLAN. + * + * dell_rfkill_set may block, so schedule it on a worker thread. + */ +static void dell_rfkill_update(struct work_struct *work) +{ + hw_switch_status ^= BIT(HW_SWITCH_MASK); + if (wifi_rfkill && (hw_switch_status & BIT(WLAN_SWITCH_MASK))) { + rfkill_set_hw_state(wifi_rfkill, hw_switch_status & BIT(HW_SWITCH_MASK)); + dell_rfkill_set((void*)1, rfkill_blocked(wifi_rfkill)); + } + + if (bluetooth_rfkill && (hw_switch_status & BIT(BT_SWITCH_MASK))) { + rfkill_set_hw_state(bluetooth_rfkill, hw_switch_status & BIT(HW_SWITCH_MASK)); + dell_rfkill_set((void*)2, rfkill_blocked(bluetooth_rfkill)); + } + + if (wwan_rfkill && (hw_switch_status & BIT(WWAN_SWITCH_MASK))) { + rfkill_set_hw_state(wwan_rfkill, hw_switch_status & BIT(HW_SWITCH_MASK)); + dell_rfkill_set((void*)3, rfkill_blocked(wwan_rfkill)); + } +} +DECLARE_WORK(dell_rfkill_update_work, &dell_rfkill_update); + static int dell_setup_rfkill(void) { struct calling_interface_buffer buffer; int status; int ret; + hw_switch_status = 0; memset(&buffer, 0, sizeof(struct calling_interface_buffer)); dell_send_request(&buffer, 17, 11); @@ -310,6 +432,92 @@ .update_status = dell_send_intensity, }; +static const struct input_device_id dell_input_ids[] = { + { + .bustype = 0x11, + .vendor = 0x01, + .product = 0x01, + .version = 0xab41, + .flags = INPUT_DEVICE_ID_MATCH_BUS | + INPUT_DEVICE_ID_MATCH_VENDOR | + INPUT_DEVICE_ID_MATCH_PRODUCT | + INPUT_DEVICE_ID_MATCH_VERSION + }, + { }, +}; + +static bool dell_input_filter(struct input_handle *handle, unsigned int type, + unsigned int code, int value) +{ + if (type == EV_KEY && code == KEY_WLAN && value == 1) { + if (!schedule_work(&dell_rfkill_update_work)) + printk(KERN_NOTICE "rfkill switch handling already " + "scheduled, dropping this event\n"); + return 1; + } + + return 0; +} + +static void dell_input_event(struct input_handle *handle, unsigned int type, + unsigned int code, int value) +{ +} + +static int dell_input_connect(struct input_handler *handler, + struct input_dev *dev, + const struct input_device_id *id) +{ + struct input_handle *handle; + int error; + + handle = kzalloc(sizeof(struct input_handle), GFP_KERNEL); + if (!handle) + return -ENOMEM; + + handle->dev = dev; + handle->handler = handler; + handle->name = "dell-laptop"; + + error = input_register_handle(handle); + if (error) + goto err_free_handle; + + error = input_open_device(handle); + if (error) + goto err_unregister_handle; + + error = input_filter_device(handle); + if (error) + goto err_close_handle; + + return 0; + +err_close_handle: + input_close_device(handle); +err_unregister_handle: + input_unregister_handle(handle); +err_free_handle: + kfree(handle); + return error; +} + +static void dell_input_disconnect(struct input_handle *handle) +{ + input_close_device(handle); + input_unregister_handle(handle); + kfree(handle); +} + +static struct input_handler dell_input_handler = { + .name = "dell-laptop", + .filter = dell_input_filter, + .event = dell_input_event, + .connect = dell_input_connect, + .disconnect = dell_input_disconnect, + .id_table = dell_input_ids, +}; + static int __init dell_init(void) { struct calling_interface_buffer buffer; @@ -319,6 +527,12 @@ if (!dmi_check_system(dell_device_table)) return -ENODEV; + if (dmi_check_system(dell_blacklist)) { + printk(KERN_INFO "dell-laptop: Blacklisted hardware detected - " + "not loading\n"); + return -ENODEV; + } + dmi_walk(find_tokens, NULL); if (!da_tokens) { @@ -333,6 +547,10 @@ goto out; } + if (input_register_handler(&dell_input_handler)) + printk(KERN_INFO + "dell-laptop: Could not register input filter\n"); + #ifdef CONFIG_ACPI /* In the event of an ACPI backlight being available, don't * register the platform controller. @@ -388,6 +606,7 @@ rfkill_unregister(bluetooth_rfkill); if (wwan_rfkill) rfkill_unregister(wwan_rfkill); + input_unregister_handler(&dell_input_handler); } module_init(dell_init); @@ -397,3 +616,5 @@ MODULE_DESCRIPTION("Dell laptop driver"); MODULE_LICENSE("GPL"); MODULE_ALIAS("dmi:*svnDellInc.:*:ct8:*"); +MODULE_ALIAS("dmi:*svnDellInc.:*:ct9:*"); +MODULE_ALIAS("dmi:*svnDellComputerCorporation.:*:ct8:*"); --- linux-2.6.32.orig/drivers/platform/x86/dell-wmi.c +++ linux-2.6.32/drivers/platform/x86/dell-wmi.c @@ -40,6 +40,10 @@ MODULE_ALIAS("wmi:"DELL_EVENT_GUID); +/* Temporary workaround until the WMI sysfs interface goes in. + Borrowed from acer-wmi */ +MODULE_ALIAS("dmi:*:*Dell*:*:"); + struct key_entry { char type; /* See KE_* below */ u16 code; @@ -158,8 +162,13 @@ struct acpi_buffer response = { ACPI_ALLOCATE_BUFFER, NULL }; static struct key_entry *key; union acpi_object *obj; + acpi_status status; - wmi_get_event_data(value, &response); + status = wmi_get_event_data(value, &response); + if (status != AE_OK) { + printk(KERN_INFO "dell-wmi: bad event status 0x%x\n", status); + return; + } obj = (union acpi_object *)response.pointer; @@ -180,6 +189,7 @@ printk(KERN_INFO "dell-wmi: Unknown key %x pressed\n", buffer[1] & 0xFFFF); } + kfree(obj); } static int __init dell_wmi_input_setup(void) --- linux-2.6.32.orig/drivers/platform/x86/eeepc-laptop.c +++ linux-2.6.32/drivers/platform/x86/eeepc-laptop.c @@ -34,6 +34,7 @@ #include #include #include +#include #define EEEPC_LAPTOP_VERSION "0.1" @@ -135,6 +136,8 @@ acpi_handle handle; /* the handle of the hotk device */ u32 cm_supported; /* the control methods supported by this BIOS */ + bool cpufv_disabled; + bool hotplug_disabled; uint init_flag; /* Init flags */ u16 event_count[128]; /* count for each event */ struct input_dev *inputdev; @@ -251,6 +254,14 @@ MODULE_DESCRIPTION(EEEPC_HOTK_NAME); MODULE_LICENSE("GPL"); +static bool hotplug_disabled; + +module_param(hotplug_disabled, bool, 0644); +MODULE_PARM_DESC(hotplug_disabled, + "Disable hotplug for wireless device. " + "If your laptop need that, please report to " + "acpi4asus-user@lists.sourceforge.net."); + /* * ACPI Helpers */ @@ -467,6 +478,8 @@ struct eeepc_cpufv c; int rv, value; + if (ehotk->cpufv_disabled) + return -EPERM; if (get_cpufv(&c)) return -ENODEV; rv = parse_arg(buf, count, &value); @@ -478,6 +491,38 @@ return rv; } +static ssize_t show_cpufv_disabled(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + return sprintf(buf, "%d\n", ehotk->cpufv_disabled); +} + +static ssize_t store_cpufv_disabled(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + int rv, value; + + rv = parse_arg(buf, count, &value); + if (rv < 0) + return rv; + + switch (value) { + case 0: + if (ehotk->cpufv_disabled) + pr_warning("cpufv enabled (not officially supported " + "on this model)\n"); + ehotk->cpufv_disabled = false; + return rv; + case 1: + return -EPERM; + default: + return -EINVAL; + } +} + + static struct device_attribute dev_attr_cpufv = { .attr = { .name = "cpufv", @@ -493,12 +538,22 @@ .show = show_available_cpufv }; +static struct device_attribute dev_attr_cpufv_disabled = { + .attr = { + .name = "cpufv_disabled", + .mode = 0644 }, + .show = show_cpufv_disabled, + .store = store_cpufv_disabled +}; + + static struct attribute *platform_attributes[] = { &dev_attr_camera.attr, &dev_attr_cardr.attr, &dev_attr_disp.attr, &dev_attr_cpufv.attr, &dev_attr_available_cpufv.attr, + &dev_attr_cpufv_disabled.attr, NULL }; @@ -564,6 +619,54 @@ return -EINVAL; } +static void eeepc_dmi_check(void) +{ + const char *model; + + model = dmi_get_system_info(DMI_PRODUCT_NAME); + if (!model) + return; + + /* + * Blacklist for setting cpufv (cpu speed). + * + * EeePC 4G ("701") implements CFVS, but it is not supported + * by the pre-installed OS, and the original option to change it + * in the BIOS setup screen was removed in later versions. + * + * Judging by the lack of "Super Hybrid Engine" on Asus product pages, + * this applies to all "701" models (4G/4G Surf/2G Surf). + * + * So Asus made a deliberate decision not to support it on this model. + * We have several reports that using it can cause the system to hang + * + * The hang has also been reported on a "702" (Model name "8G"?). + * + * We avoid dmi_check_system() / dmi_match(), because they use + * substring matching. We don't want to affect the "701SD" + * and "701SDX" models, because they do support S.H.E. + */ + if (strcmp(model, "701") == 0 || strcmp(model, "702") == 0) { + ehotk->cpufv_disabled = true; + pr_info("model %s does not officially support setting cpu " + "speed\n", model); + pr_info("cpufv disabled to avoid instability\n"); + } + + /* + * Blacklist for wlan hotplug + * + * Eeepc 1005HA doesn't work like others models and don't need the + * hotplug code. In fact, current hotplug code seems to unplug another + * device... + */ + if (strcmp(model, "1005HA") == 0 || strcmp(model, "1201N") == 0 || + strcmp(model, "1005PE") == 0) { + ehotk->hotplug_disabled = true; + pr_info("wlan hotplug disabled\n"); + } +} + static void cmsg_quirk(int cm, const char *name) { int dummy; @@ -649,6 +752,8 @@ struct pci_dev *dev; struct pci_bus *bus; bool blocked = eeepc_wlan_rfkill_blocked(); + bool absent; + u32 l; if (ehotk->wlan_rfkill) rfkill_set_sw_state(ehotk->wlan_rfkill, blocked); @@ -662,6 +767,22 @@ goto out_unlock; } + if (pci_bus_read_config_dword(bus, 0, PCI_VENDOR_ID, &l)) { + pr_err("Unable to read PCI config space?\n"); + goto out_unlock; + } + absent = (l == 0xffffffff); + + if (blocked != absent) { + pr_warning("BIOS says wireless lan is %s, " + "but the pci device is %s\n", + blocked ? "blocked" : "unblocked", + absent ? "absent" : "present"); + pr_warning("skipped wireless hotplug as probably " + "inappropriate for this model\n"); + goto out_unlock; + } + if (!blocked) { dev = pci_get_slot(bus, 0); if (dev) { @@ -1095,6 +1216,9 @@ if (result && result != -ENODEV) goto exit; + if (ehotk->hotplug_disabled) + return 0; + result = eeepc_setup_pci_hotplug(); /* * If we get -EBUSY then something else is handling the PCI hotplug - @@ -1208,6 +1332,10 @@ device->driver_data = ehotk; ehotk->device = device; + ehotk->hotplug_disabled = hotplug_disabled; + + eeepc_dmi_check(); + result = eeepc_hotk_check(); if (result) goto fail_platform_driver; --- linux-2.6.32.orig/drivers/platform/x86/hp-wmi.c +++ linux-2.6.32/drivers/platform/x86/hp-wmi.c @@ -334,8 +334,13 @@ struct acpi_buffer response = { ACPI_ALLOCATE_BUFFER, NULL }; static struct key_entry *key; union acpi_object *obj; + acpi_status status; - wmi_get_event_data(value, &response); + status = wmi_get_event_data(value, &response); + if (status != AE_OK) { + printk(KERN_INFO "hp-wmi: bad event status 0x%x\n", status); + return; + } obj = (union acpi_object *)response.pointer; @@ -377,6 +382,8 @@ eventcode); } else printk(KERN_INFO "HP WMI: Unknown response received\n"); + + kfree(obj); } static int __init hp_wmi_input_setup(void) --- linux-2.6.32.orig/drivers/platform/x86/sony-laptop.c +++ linux-2.6.32/drivers/platform/x86/sony-laptop.c @@ -1390,6 +1390,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; @@ -1400,6 +1404,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; @@ -2828,6 +2833,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: @@ -2898,6 +2909,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", @@ -2912,6 +2933,8 @@ DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), DMI_MATCH(DMI_PRODUCT_NAME, "VGN-"), }, + .callback = dmi_matched, + .driver_data = &sony_pic_vaio_vgn, }, { } }; --- linux-2.6.32.orig/drivers/platform/x86/tc1100-wmi.c +++ linux-2.6.32/drivers/platform/x86/tc1100-wmi.c @@ -177,7 +177,7 @@ return -EINVAL; \ return count; \ } \ -static DEVICE_ATTR(value, S_IWUGO | S_IRUGO | S_IWUSR, \ +static DEVICE_ATTR(value, S_IRUGO | S_IWUSR, \ show_bool_##value, set_bool_##value); show_set_bool(wireless, TC1100_INSTANCE_WIRELESS); --- linux-2.6.32.orig/drivers/platform/x86/thinkpad_acpi.c +++ linux-2.6.32/drivers/platform/x86/thinkpad_acpi.c @@ -21,8 +21,8 @@ * 02110-1301, USA. */ -#define TPACPI_VERSION "0.23" -#define TPACPI_SYSFS_VERSION 0x020500 +#define TPACPI_VERSION "0.24" +#define TPACPI_SYSFS_VERSION 0x020700 /* * Changelog: @@ -61,6 +61,7 @@ #include #include +#include #include #include #include @@ -76,6 +77,10 @@ #include #include +#include +#include +#include + #include #include @@ -117,7 +122,9 @@ }; /* ACPI HIDs */ -#define TPACPI_ACPI_HKEY_HID "IBM0068" +#define TPACPI_ACPI_IBM_HKEY_HID "IBM0068" +#define TPACPI_ACPI_LENOVO_HKEY_HID "LEN0068" +#define TPACPI_ACPI_EC_HID "PNP0C09" /* Input IDs */ #define TPACPI_HKEY_INPUT_PRODUCT 0x5054 /* "TP" */ @@ -231,6 +238,7 @@ #define TPACPI_DBG_HKEY 0x0008 #define TPACPI_DBG_FAN 0x0010 #define TPACPI_DBG_BRGHT 0x0020 +#define TPACPI_DBG_MIXER 0x0040 #define onoff(status, bit) ((status) & (1 << (bit)) ? "on" : "off") #define enabled(status, bit) ((status) & (1 << (bit)) ? "enabled" : "disabled") @@ -256,7 +264,7 @@ struct ibm_struct { char *name; - int (*read) (char *); + int (*read) (struct seq_file *); int (*write) (char *); void (*exit) (void); void (*resume) (void); @@ -280,6 +288,7 @@ char param[32]; int (*init) (struct ibm_init_struct *); + mode_t base_procfs_mode; struct ibm_struct *data; }; @@ -298,6 +307,7 @@ u32 fan_ctrl_status_undef:1; u32 second_fan:1; u32 beep_needs_two_args:1; + u32 mixer_no_level_control:1; u32 input_device_registered:1; u32 platform_drv_registered:1; u32 platform_drv_attrs_registered:1; @@ -309,6 +319,7 @@ static struct { u16 hotkey_mask_ff:1; + u16 volume_ctrl_forbidden:1; } tp_warned; struct thinkpad_id_data { @@ -425,6 +436,12 @@ .ec = TPACPI_MATCH_ANY, \ .quirks = (__quirk) } +#define TPACPI_QEC_LNV(__id1, __id2, __quirk) \ + { .vendor = PCI_VENDOR_ID_LENOVO, \ + .bios = TPACPI_MATCH_ANY, \ + .ec = TPID(__id1, __id2), \ + .quirks = (__quirk) } + struct tpacpi_quirk { unsigned int vendor; u16 bios; @@ -776,36 +793,25 @@ **************************************************************************** ****************************************************************************/ -static int dispatch_procfs_read(char *page, char **start, off_t off, - int count, int *eof, void *data) +static int dispatch_proc_show(struct seq_file *m, void *v) { - struct ibm_struct *ibm = data; - int len; + struct ibm_struct *ibm = m->private; if (!ibm || !ibm->read) return -EINVAL; + return ibm->read(m); +} - len = ibm->read(page); - if (len < 0) - return len; - - if (len <= off + count) - *eof = 1; - *start = page + off; - len -= off; - if (len > count) - len = count; - if (len < 0) - len = 0; - - return len; +static int dispatch_proc_open(struct inode *inode, struct file *file) +{ + return single_open(file, dispatch_proc_show, PDE(inode)->data); } -static int dispatch_procfs_write(struct file *file, +static ssize_t dispatch_proc_write(struct file *file, const char __user *userbuf, - unsigned long count, void *data) + size_t count, loff_t *pos) { - struct ibm_struct *ibm = data; + struct ibm_struct *ibm = PDE(file->f_path.dentry->d_inode)->data; char *kernbuf; int ret; @@ -834,6 +840,15 @@ return ret; } +static const struct file_operations dispatch_proc_fops = { + .owner = THIS_MODULE, + .open = dispatch_proc_open, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, + .write = dispatch_proc_write, +}; + static char *next_cmd(char **cmds) { char *start = *cmds; @@ -1264,6 +1279,7 @@ struct tpacpi_rfk *atp_rfk; int res; bool sw_state = false; + bool hw_state; int sw_status; BUG_ON(id >= TPACPI_RFK_SW_MAX || tpacpi_rfkill_switches[id]); @@ -1298,7 +1314,8 @@ rfkill_init_sw_state(atp_rfk->rfkill, sw_state); } } - rfkill_set_hw_state(atp_rfk->rfkill, tpacpi_rfk_check_hwblock_state()); + hw_state = tpacpi_rfk_check_hwblock_state(); + rfkill_set_hw_state(atp_rfk->rfkill, hw_state); res = rfkill_register(atp_rfk->rfkill); if (res < 0) { @@ -1311,6 +1328,9 @@ } tpacpi_rfkill_switches[id] = atp_rfk; + + printk(TPACPI_INFO "rfkill switch %s: radio is %sblocked\n", + name, (sw_state || hw_state) ? "" : "un"); return 0; } @@ -1383,12 +1403,10 @@ } /* procfs -------------------------------------------------------------- */ -static int tpacpi_rfk_procfs_read(const enum tpacpi_rfk_id id, char *p) +static int tpacpi_rfk_procfs_read(const enum tpacpi_rfk_id id, struct seq_file *m) { - int len = 0; - if (id >= TPACPI_RFK_SW_MAX) - len += sprintf(p + len, "status:\t\tnot supported\n"); + seq_printf(m, "status:\t\tnot supported\n"); else { int status; @@ -1402,13 +1420,13 @@ return status; } - len += sprintf(p + len, "status:\t\t%s\n", + seq_printf(m, "status:\t\t%s\n", (status == TPACPI_RFK_RADIO_ON) ? "enabled" : "disabled"); - len += sprintf(p + len, "commands:\tenable, disable\n"); + seq_printf(m, "commands:\tenable, disable\n"); } - return len; + return 0; } static int tpacpi_rfk_procfs_write(const enum tpacpi_rfk_id id, char *buf) @@ -1655,7 +1673,7 @@ * Table of recommended minimum BIOS versions * * Reasons for listing: - * 1. Stable BIOS, listed because the unknown ammount of + * 1. Stable BIOS, listed because the unknown amount of * bugs and bad ACPI behaviour on older versions * * 2. BIOS or EC fw with known bugs that trigger on Linux @@ -1779,7 +1797,7 @@ TPV_QL1('7', '9', 'E', '3', '5', '0'), /* T60/p */ TPV_QL1('7', 'C', 'D', '2', '2', '2'), /* R60, R60i */ - TPV_QL0('7', 'E', 'D', '0'), /* R60e, R60i */ + TPV_QL1('7', 'E', 'D', '0', '1', '5'), /* R60e, R60i */ /* BIOS FW BIOS VERS EC FW EC VERS */ TPV_QI2('1', 'W', '9', '0', '1', 'V', '2', '8'), /* R50e (1) */ @@ -1795,8 +1813,8 @@ TPV_QI1('7', '4', '6', '4', '2', '7'), /* X41 (0) */ TPV_QI1('7', '5', '6', '0', '2', '0'), /* X41t (0) */ - TPV_QL0('7', 'B', 'D', '7'), /* X60/s */ - TPV_QL0('7', 'J', '3', '0'), /* X60t */ + TPV_QL1('7', 'B', 'D', '7', '4', '0'), /* X60/s */ + TPV_QL1('7', 'J', '3', '0', '1', '3'), /* X60t */ /* (0) - older versions lack DMI EC fw string and functionality */ /* (1) - older versions known to lack functionality */ @@ -1886,14 +1904,11 @@ return 0; } -static int thinkpad_acpi_driver_read(char *p) +static int thinkpad_acpi_driver_read(struct seq_file *m) { - int len = 0; - - len += sprintf(p + len, "driver:\t\t%s\n", TPACPI_DESC); - len += sprintf(p + len, "version:\t%s\n", TPACPI_VERSION); - - return len; + seq_printf(m, "driver:\t\t%s\n", TPACPI_DESC); + seq_printf(m, "version:\t%s\n", TPACPI_VERSION); + return 0; } static struct ibm_struct thinkpad_acpi_driver_data = { @@ -2073,6 +2088,7 @@ static void tpacpi_driver_event(const unsigned int hkey_event); static void hotkey_driver_event(const unsigned int scancode); +static void hotkey_poll_setup(const bool may_warn); /* HKEY.MHKG() return bits */ #define TP_HOTKEY_TABLET_MASK (1 << 3) @@ -2189,7 +2205,8 @@ fwmask, hotkey_acpi_mask); } - hotkey_mask_warn_incomplete_mask(); + if (tpacpi_lifecycle != TPACPI_LIFE_EXITING) + hotkey_mask_warn_incomplete_mask(); return rc; } @@ -2254,6 +2271,8 @@ rc = hotkey_mask_set((hotkey_acpi_mask | hotkey_driver_mask) & ~hotkey_source_mask); + hotkey_poll_setup(true); + mutex_unlock(&hotkey_mutex); return rc; @@ -2538,7 +2557,7 @@ } /* call with hotkey_mutex held */ -static void hotkey_poll_setup(bool may_warn) +static void hotkey_poll_setup(const bool may_warn) { const u32 poll_driver_mask = hotkey_driver_mask & hotkey_source_mask; const u32 poll_user_mask = hotkey_user_mask & hotkey_source_mask; @@ -2569,7 +2588,7 @@ } } -static void hotkey_poll_setup_safe(bool may_warn) +static void hotkey_poll_setup_safe(const bool may_warn) { mutex_lock(&hotkey_mutex); hotkey_poll_setup(may_warn); @@ -2587,7 +2606,11 @@ #else /* CONFIG_THINKPAD_ACPI_HOTKEY_POLL */ -static void hotkey_poll_setup_safe(bool __unused) +static void hotkey_poll_setup(const bool __unused) +{ +} + +static void hotkey_poll_setup_safe(const bool __unused) { } @@ -2597,16 +2620,11 @@ { switch (tpacpi_lifecycle) { case TPACPI_LIFE_INIT: - /* - * hotkey_init will call hotkey_poll_setup_safe - * at the appropriate moment - */ - return 0; - case TPACPI_LIFE_EXITING: - return -EBUSY; case TPACPI_LIFE_RUNNING: hotkey_poll_setup_safe(false); return 0; + case TPACPI_LIFE_EXITING: + return -EBUSY; } /* Should only happen if tpacpi_lifecycle is corrupt */ @@ -2617,7 +2635,7 @@ static void hotkey_inputdev_close(struct input_dev *dev) { /* disable hotkey polling when possible */ - if (tpacpi_lifecycle == TPACPI_LIFE_RUNNING && + if (tpacpi_lifecycle != TPACPI_LIFE_EXITING && !(hotkey_source_mask & hotkey_driver_mask)) hotkey_poll_setup_safe(false); } @@ -3185,6 +3203,8 @@ int res, i; int status; int hkeyv; + bool radiosw_state = false; + bool tabletsw_state = false; unsigned long quirks; @@ -3290,6 +3310,7 @@ #ifdef CONFIG_THINKPAD_ACPI_DEBUGFACILITIES if (dbg_wlswemul) { tp_features.hotkey_wlsw = 1; + radiosw_state = !!tpacpi_wlsw_emulstate; printk(TPACPI_INFO "radio switch emulation enabled\n"); } else @@ -3297,6 +3318,7 @@ /* Not all thinkpads have a hardware radio switch */ if (acpi_evalf(hkey_handle, &status, "WLSW", "qd")) { tp_features.hotkey_wlsw = 1; + radiosw_state = !!status; printk(TPACPI_INFO "radio switch found; radios are %s\n", enabled(status, 0)); @@ -3308,11 +3330,11 @@ /* For X41t, X60t, X61t Tablets... */ if (!res && acpi_evalf(hkey_handle, &status, "MHKG", "qd")) { tp_features.hotkey_tablet = 1; + tabletsw_state = !!(status & TP_HOTKEY_TABLET_MASK); printk(TPACPI_INFO "possible tablet mode switch found; " "ThinkPad in %s mode\n", - (status & TP_HOTKEY_TABLET_MASK)? - "tablet" : "laptop"); + (tabletsw_state) ? "tablet" : "laptop"); res = add_to_attr_set(hotkey_dev_attributes, &dev_attr_hotkey_tablet_mode.attr); } @@ -3347,16 +3369,14 @@ TPACPI_HOTKEY_MAP_SIZE); } - set_bit(EV_KEY, tpacpi_inputdev->evbit); - set_bit(EV_MSC, tpacpi_inputdev->evbit); - set_bit(MSC_SCAN, tpacpi_inputdev->mscbit); + input_set_capability(tpacpi_inputdev, EV_MSC, MSC_SCAN); tpacpi_inputdev->keycodesize = TPACPI_HOTKEY_MAP_TYPESIZE; tpacpi_inputdev->keycodemax = TPACPI_HOTKEY_MAP_LEN; tpacpi_inputdev->keycode = hotkey_keycode_map; for (i = 0; i < TPACPI_HOTKEY_MAP_LEN; i++) { if (hotkey_keycode_map[i] != KEY_RESERVED) { - set_bit(hotkey_keycode_map[i], - tpacpi_inputdev->keybit); + input_set_capability(tpacpi_inputdev, EV_KEY, + hotkey_keycode_map[i]); } else { if (i < sizeof(hotkey_reserved_mask)*8) hotkey_reserved_mask |= 1 << i; @@ -3364,12 +3384,14 @@ } if (tp_features.hotkey_wlsw) { - set_bit(EV_SW, tpacpi_inputdev->evbit); - set_bit(SW_RFKILL_ALL, tpacpi_inputdev->swbit); + input_set_capability(tpacpi_inputdev, EV_SW, SW_RFKILL_ALL); + input_report_switch(tpacpi_inputdev, + SW_RFKILL_ALL, radiosw_state); } if (tp_features.hotkey_tablet) { - set_bit(EV_SW, tpacpi_inputdev->evbit); - set_bit(SW_TABLET_MODE, tpacpi_inputdev->swbit); + input_set_capability(tpacpi_inputdev, EV_SW, SW_TABLET_MODE); + input_report_switch(tpacpi_inputdev, + SW_TABLET_MODE, tabletsw_state); } /* Do not issue duplicate brightness change events to @@ -3436,8 +3458,6 @@ tpacpi_inputdev->close = &hotkey_inputdev_close; hotkey_poll_setup_safe(true); - tpacpi_send_radiosw_update(); - tpacpi_input_send_tabletsw(); return 0; @@ -3545,49 +3565,57 @@ } } +static void thermal_dump_all_sensors(void); + static bool hotkey_notify_thermal(const u32 hkey, bool *send_acpi_ev, bool *ignore_acpi_ev) { + bool known = true; + /* 0x6000-0x6FFF: thermal alarms */ *send_acpi_ev = true; *ignore_acpi_ev = false; switch (hkey) { + case TP_HKEY_EV_THM_TABLE_CHANGED: + printk(TPACPI_INFO + "EC reports that Thermal Table has changed\n"); + /* recommended action: do nothing, we don't have + * Lenovo ATM information */ + return true; case TP_HKEY_EV_ALARM_BAT_HOT: printk(TPACPI_CRIT "THERMAL ALARM: battery is too hot!\n"); /* recommended action: warn user through gui */ - return true; + break; case TP_HKEY_EV_ALARM_BAT_XHOT: printk(TPACPI_ALERT "THERMAL EMERGENCY: battery is extremely hot!\n"); /* recommended action: immediate sleep/hibernate */ - return true; + break; case TP_HKEY_EV_ALARM_SENSOR_HOT: printk(TPACPI_CRIT "THERMAL ALARM: " "a sensor reports something is too hot!\n"); /* recommended action: warn user through gui, that */ /* some internal component is too hot */ - return true; + break; case TP_HKEY_EV_ALARM_SENSOR_XHOT: printk(TPACPI_ALERT "THERMAL EMERGENCY: " "a sensor reports something is extremely hot!\n"); /* recommended action: immediate sleep/hibernate */ - return true; - case TP_HKEY_EV_THM_TABLE_CHANGED: - printk(TPACPI_INFO - "EC reports that Thermal Table has changed\n"); - /* recommended action: do nothing, we don't have - * Lenovo ATM information */ - return true; + break; default: printk(TPACPI_ALERT "THERMAL ALERT: unknown thermal alarm received\n"); - return false; + known = false; } + + thermal_dump_all_sensors(); + + return known; } static void hotkey_notify(struct ibm_struct *ibm, u32 event) @@ -3635,13 +3663,19 @@ break; case 3: /* 0x3000-0x3FFF: bay-related wakeups */ - if (hkey == TP_HKEY_EV_BAYEJ_ACK) { + switch (hkey) { + case TP_HKEY_EV_BAYEJ_ACK: hotkey_autosleep_ack = 1; printk(TPACPI_INFO "bay ejected\n"); hotkey_wakeup_hotunplug_complete_notify_change(); known_ev = true; - } else { + break; + case TP_HKEY_EV_OPTDRV_EJ: + /* FIXME: kick libata if SATA link offline */ + known_ev = true; + break; + default: known_ev = false; } break; @@ -3730,14 +3764,13 @@ } /* procfs -------------------------------------------------------------- */ -static int hotkey_read(char *p) +static int hotkey_read(struct seq_file *m) { int res, status; - int len = 0; if (!tp_features.hotkey) { - len += sprintf(p + len, "status:\t\tnot supported\n"); - return len; + seq_printf(m, "status:\t\tnot supported\n"); + return 0; } if (mutex_lock_killable(&hotkey_mutex)) @@ -3749,17 +3782,16 @@ if (res) return res; - len += sprintf(p + len, "status:\t\t%s\n", enabled(status, 0)); + seq_printf(m, "status:\t\t%s\n", enabled(status, 0)); if (hotkey_all_mask) { - len += sprintf(p + len, "mask:\t\t0x%08x\n", hotkey_user_mask); - len += sprintf(p + len, - "commands:\tenable, disable, reset, \n"); + seq_printf(m, "mask:\t\t0x%08x\n", hotkey_user_mask); + seq_printf(m, "commands:\tenable, disable, reset, \n"); } else { - len += sprintf(p + len, "mask:\t\tnot supported\n"); - len += sprintf(p + len, "commands:\tenable, disable, reset\n"); + seq_printf(m, "mask:\t\tnot supported\n"); + seq_printf(m, "commands:\tenable, disable, reset\n"); } - return len; + return 0; } static void hotkey_enabledisable_warn(bool enable) @@ -3822,7 +3854,8 @@ } static const struct acpi_device_id ibm_htk_device_ids[] = { - {TPACPI_ACPI_HKEY_HID, 0}, + {TPACPI_ACPI_IBM_HKEY_HID, 0}, + {TPACPI_ACPI_LENOVO_HKEY_HID, 0}, {"", 0}, }; @@ -3852,7 +3885,7 @@ TP_ACPI_BLUETOOTH_HWPRESENT = 0x01, /* Bluetooth hw available */ TP_ACPI_BLUETOOTH_RADIOSSW = 0x02, /* Bluetooth radio enabled */ TP_ACPI_BLUETOOTH_RESUMECTRL = 0x04, /* Bluetooth state at resume: - off / last state */ + 0 = disable, 1 = enable */ }; enum { @@ -3866,15 +3899,6 @@ #define TPACPI_RFK_BLUETOOTH_SW_NAME "tpacpi_bluetooth_sw" -static void bluetooth_suspend(pm_message_t state) -{ - /* Try to make sure radio will resume powered off */ - if (!acpi_evalf(NULL, NULL, "\\BLTH", "vd", - TP_ACPI_BLTH_PWR_OFF_ON_RESUME)) - vdbg_printk(TPACPI_DBG_RFKILL, - "bluetooth power down on resume request failed\n"); -} - static int bluetooth_get_status(void) { int status; @@ -3907,9 +3931,9 @@ } #endif - /* We make sure to keep TP_ACPI_BLUETOOTH_RESUMECTRL off */ if (state == TPACPI_RFK_RADIO_ON) - status = TP_ACPI_BLUETOOTH_RADIOSSW; + status = TP_ACPI_BLUETOOTH_RADIOSSW + | TP_ACPI_BLUETOOTH_RESUMECTRL; else status = 0; @@ -4035,9 +4059,9 @@ } /* procfs -------------------------------------------------------------- */ -static int bluetooth_read(char *p) +static int bluetooth_read(struct seq_file *m) { - return tpacpi_rfk_procfs_read(TPACPI_RFK_BLUETOOTH_SW_ID, p); + return tpacpi_rfk_procfs_read(TPACPI_RFK_BLUETOOTH_SW_ID, m); } static int bluetooth_write(char *buf) @@ -4050,7 +4074,6 @@ .read = bluetooth_read, .write = bluetooth_write, .exit = bluetooth_exit, - .suspend = bluetooth_suspend, .shutdown = bluetooth_shutdown, }; @@ -4063,20 +4086,11 @@ TP_ACPI_WANCARD_HWPRESENT = 0x01, /* Wan hw available */ TP_ACPI_WANCARD_RADIOSSW = 0x02, /* Wan radio enabled */ TP_ACPI_WANCARD_RESUMECTRL = 0x04, /* Wan state at resume: - off / last state */ + 0 = disable, 1 = enable */ }; #define TPACPI_RFK_WWAN_SW_NAME "tpacpi_wwan_sw" -static void wan_suspend(pm_message_t state) -{ - /* Try to make sure radio will resume powered off */ - if (!acpi_evalf(NULL, NULL, "\\WGSV", "qvd", - TP_ACPI_WGSV_PWR_OFF_ON_RESUME)) - vdbg_printk(TPACPI_DBG_RFKILL, - "WWAN power down on resume request failed\n"); -} - static int wan_get_status(void) { int status; @@ -4109,9 +4123,9 @@ } #endif - /* We make sure to keep TP_ACPI_WANCARD_RESUMECTRL off */ if (state == TPACPI_RFK_RADIO_ON) - status = TP_ACPI_WANCARD_RADIOSSW; + status = TP_ACPI_WANCARD_RADIOSSW + | TP_ACPI_WANCARD_RESUMECTRL; else status = 0; @@ -4236,9 +4250,9 @@ } /* procfs -------------------------------------------------------------- */ -static int wan_read(char *p) +static int wan_read(struct seq_file *m) { - return tpacpi_rfk_procfs_read(TPACPI_RFK_WWAN_SW_ID, p); + return tpacpi_rfk_procfs_read(TPACPI_RFK_WWAN_SW_ID, m); } static int wan_write(char *buf) @@ -4251,7 +4265,6 @@ .read = wan_read, .write = wan_write, .exit = wan_exit, - .suspend = wan_suspend, .shutdown = wan_shutdown, }; @@ -4614,16 +4627,19 @@ /* not reached */ } -static int video_read(char *p) +static int video_read(struct seq_file *m) { int status, autosw; - int len = 0; if (video_supported == TPACPI_VIDEO_NONE) { - len += sprintf(p + len, "status:\t\tnot supported\n"); - return len; + seq_printf(m, "status:\t\tnot supported\n"); + return 0; } + /* Even reads can crash X.org, so... */ + if (!capable(CAP_SYS_ADMIN)) + return -EPERM; + status = video_outputsw_get(); if (status < 0) return status; @@ -4632,20 +4648,20 @@ if (autosw < 0) return autosw; - len += sprintf(p + len, "status:\t\tsupported\n"); - len += sprintf(p + len, "lcd:\t\t%s\n", enabled(status, 0)); - len += sprintf(p + len, "crt:\t\t%s\n", enabled(status, 1)); + seq_printf(m, "status:\t\tsupported\n"); + seq_printf(m, "lcd:\t\t%s\n", enabled(status, 0)); + seq_printf(m, "crt:\t\t%s\n", enabled(status, 1)); if (video_supported == TPACPI_VIDEO_NEW) - len += sprintf(p + len, "dvi:\t\t%s\n", enabled(status, 3)); - len += sprintf(p + len, "auto:\t\t%s\n", enabled(autosw, 0)); - len += sprintf(p + len, "commands:\tlcd_enable, lcd_disable\n"); - len += sprintf(p + len, "commands:\tcrt_enable, crt_disable\n"); + seq_printf(m, "dvi:\t\t%s\n", enabled(status, 3)); + seq_printf(m, "auto:\t\t%s\n", enabled(autosw, 0)); + seq_printf(m, "commands:\tlcd_enable, lcd_disable\n"); + seq_printf(m, "commands:\tcrt_enable, crt_disable\n"); if (video_supported == TPACPI_VIDEO_NEW) - len += sprintf(p + len, "commands:\tdvi_enable, dvi_disable\n"); - len += sprintf(p + len, "commands:\tauto_enable, auto_disable\n"); - len += sprintf(p + len, "commands:\tvideo_switch, expand_toggle\n"); + seq_printf(m, "commands:\tdvi_enable, dvi_disable\n"); + seq_printf(m, "commands:\tauto_enable, auto_disable\n"); + seq_printf(m, "commands:\tvideo_switch, expand_toggle\n"); - return len; + return 0; } static int video_write(char *buf) @@ -4657,6 +4673,10 @@ if (video_supported == TPACPI_VIDEO_NONE) return -ENODEV; + /* Even reads can crash X.org, let alone writes... */ + if (!capable(CAP_SYS_ADMIN)) + return -EPERM; + enable = 0; disable = 0; @@ -4837,25 +4857,24 @@ flush_workqueue(tpacpi_wq); } -static int light_read(char *p) +static int light_read(struct seq_file *m) { - int len = 0; int status; if (!tp_features.light) { - len += sprintf(p + len, "status:\t\tnot supported\n"); + seq_printf(m, "status:\t\tnot supported\n"); } else if (!tp_features.light_status) { - len += sprintf(p + len, "status:\t\tunknown\n"); - len += sprintf(p + len, "commands:\ton, off\n"); + seq_printf(m, "status:\t\tunknown\n"); + seq_printf(m, "commands:\ton, off\n"); } else { status = light_get_status(); if (status < 0) return status; - len += sprintf(p + len, "status:\t\t%s\n", onoff(status, 0)); - len += sprintf(p + len, "commands:\ton, off\n"); + seq_printf(m, "status:\t\t%s\n", onoff(status, 0)); + seq_printf(m, "commands:\ton, off\n"); } - return len; + return 0; } static int light_write(char *buf) @@ -4933,20 +4952,18 @@ device_remove_file(&tpacpi_pdev->dev, &dev_attr_cmos_command); } -static int cmos_read(char *p) +static int cmos_read(struct seq_file *m) { - int len = 0; - /* cmos not supported on 570, 600e/x, 770e, 770x, A21e, A2xm/p, R30, R31, T20-22, X20-21 */ if (!cmos_handle) - len += sprintf(p + len, "status:\t\tnot supported\n"); + seq_printf(m, "status:\t\tnot supported\n"); else { - len += sprintf(p + len, "status:\t\tsupported\n"); - len += sprintf(p + len, "commands:\t ( is 0-21)\n"); + seq_printf(m, "status:\t\tsupported\n"); + seq_printf(m, "commands:\t ( is 0-21)\n"); } - return len; + return 0; } static int cmos_write(char *buf) @@ -5321,15 +5338,13 @@ ((s) == TPACPI_LED_OFF ? "off" : \ ((s) == TPACPI_LED_ON ? "on" : "blinking")) -static int led_read(char *p) +static int led_read(struct seq_file *m) { - int len = 0; - if (!led_supported) { - len += sprintf(p + len, "status:\t\tnot supported\n"); - return len; + seq_printf(m, "status:\t\tnot supported\n"); + return 0; } - len += sprintf(p + len, "status:\t\tsupported\n"); + seq_printf(m, "status:\t\tsupported\n"); if (led_supported == TPACPI_LED_570) { /* 570 */ @@ -5338,15 +5353,15 @@ status = led_get_status(i); if (status < 0) return -EIO; - len += sprintf(p + len, "%d:\t\t%s\n", + seq_printf(m, "%d:\t\t%s\n", i, str_led_status(status)); } } - len += sprintf(p + len, "commands:\t" + seq_printf(m, "commands:\t" " on, off, blink ( is 0-15)\n"); - return len; + return 0; } static int led_write(char *buf) @@ -5419,18 +5434,16 @@ return (beep_handle)? 0 : 1; } -static int beep_read(char *p) +static int beep_read(struct seq_file *m) { - int len = 0; - if (!beep_handle) - len += sprintf(p + len, "status:\t\tnot supported\n"); + seq_printf(m, "status:\t\tnot supported\n"); else { - len += sprintf(p + len, "status:\t\tsupported\n"); - len += sprintf(p + len, "commands:\t ( is 0-17)\n"); + seq_printf(m, "status:\t\tsupported\n"); + seq_printf(m, "commands:\t ( is 0-17)\n"); } - return len; + return 0; } static int beep_write(char *buf) @@ -5483,8 +5496,11 @@ TP_EC_THERMAL_TMP0 = 0x78, /* ACPI EC regs TMP 0..7 */ TP_EC_THERMAL_TMP8 = 0xC0, /* ACPI EC regs TMP 8..15 */ TP_EC_THERMAL_TMP_NA = -128, /* ACPI EC sensor not available */ + + TPACPI_THERMAL_SENSOR_NA = -128000, /* Sensor not available */ }; + #define TPACPI_MAX_THERMAL_SENSORS 16 /* Max thermal sensors supported */ struct ibm_thermal_sensors_struct { s32 temp[TPACPI_MAX_THERMAL_SENSORS]; @@ -5574,6 +5590,28 @@ return n; } +static void thermal_dump_all_sensors(void) +{ + int n, i; + struct ibm_thermal_sensors_struct t; + + n = thermal_get_sensors(&t); + if (n <= 0) + return; + + printk(TPACPI_NOTICE + "temperatures (Celsius):"); + + for (i = 0; i < n; i++) { + if (t.temp[i] != TPACPI_THERMAL_SENSOR_NA) + printk(KERN_CONT " %d", (int)(t.temp[i] / 1000)); + else + printk(KERN_CONT " N/A"); + } + + printk(KERN_CONT "\n"); +} + /* sysfs temp##_input -------------------------------------------------- */ static ssize_t thermal_temp_input_show(struct device *dev, @@ -5589,7 +5627,7 @@ res = thermal_get_sensor(idx, &value); if (res) return res; - if (value == TP_EC_THERMAL_TMP_NA * 1000) + if (value == TPACPI_THERMAL_SENSOR_NA) return -ENXIO; return snprintf(buf, PAGE_SIZE, "%d\n", value); @@ -5758,7 +5796,7 @@ case TPACPI_THERMAL_ACPI_TMP07: case TPACPI_THERMAL_ACPI_UPDT: sysfs_remove_group(&tpacpi_sensors_pdev->dev.kobj, - &thermal_temp_input16_group); + &thermal_temp_input8_group); break; case TPACPI_THERMAL_NONE: default: @@ -5766,9 +5804,8 @@ } } -static int thermal_read(char *p) +static int thermal_read(struct seq_file *m) { - int len = 0; int n, i; struct ibm_thermal_sensors_struct t; @@ -5776,16 +5813,16 @@ if (unlikely(n < 0)) return n; - len += sprintf(p + len, "temperatures:\t"); + seq_printf(m, "temperatures:\t"); if (n > 0) { for (i = 0; i < (n - 1); i++) - len += sprintf(p + len, "%d ", t.temp[i] / 1000); - len += sprintf(p + len, "%d\n", t.temp[i] / 1000); + seq_printf(m, "%d ", t.temp[i] / 1000); + seq_printf(m, "%d\n", t.temp[i] / 1000); } else - len += sprintf(p + len, "not supported\n"); + seq_printf(m, "not supported\n"); - return len; + return 0; } static struct ibm_struct thermal_driver_data = { @@ -5800,39 +5837,38 @@ static u8 ecdump_regs[256]; -static int ecdump_read(char *p) +static int ecdump_read(struct seq_file *m) { - int len = 0; int i, j; u8 v; - len += sprintf(p + len, "EC " + seq_printf(m, "EC " " +00 +01 +02 +03 +04 +05 +06 +07" " +08 +09 +0a +0b +0c +0d +0e +0f\n"); for (i = 0; i < 256; i += 16) { - len += sprintf(p + len, "EC 0x%02x:", i); + seq_printf(m, "EC 0x%02x:", i); for (j = 0; j < 16; j++) { if (!acpi_ec_read(i + j, &v)) break; if (v != ecdump_regs[i + j]) - len += sprintf(p + len, " *%02x", v); + seq_printf(m, " *%02x", v); else - len += sprintf(p + len, " %02x", v); + seq_printf(m, " %02x", v); ecdump_regs[i + j] = v; } - len += sprintf(p + len, "\n"); + seq_putc(m, '\n'); if (j != 16) break; } /* These are way too dangerous to advertise openly... */ #if 0 - len += sprintf(p + len, "commands:\t0x 0x" + seq_printf(m, "commands:\t0x 0x" " ( is 00-ff, is 00-ff)\n"); - len += sprintf(p + len, "commands:\t0x " + seq_printf(m, "commands:\t0x " " ( is 00-ff, is 0-255)\n"); #endif - return len; + return 0; } static int ecdump_write(char *buf) @@ -6095,6 +6131,12 @@ return status & TP_EC_BACKLIGHT_LVLMSK; } +static void tpacpi_brightness_notify_change(void) +{ + backlight_force_update(ibm_backlight_device, + BACKLIGHT_UPDATE_HOTKEY); +} + static struct backlight_ops ibm_backlight_data = { .get_brightness = brightness_get, .update_status = brightness_update_status, @@ -6116,15 +6158,15 @@ TPACPI_Q_IBM('1', 'Y', TPACPI_BRGHT_Q_EC), /* T43/p ATI */ /* Models with ATI GPUs that can use ECNVRAM */ - TPACPI_Q_IBM('1', 'R', TPACPI_BRGHT_Q_EC), + TPACPI_Q_IBM('1', 'R', TPACPI_BRGHT_Q_EC), /* R50,51 T40-42 */ TPACPI_Q_IBM('1', 'Q', TPACPI_BRGHT_Q_ASK|TPACPI_BRGHT_Q_EC), - TPACPI_Q_IBM('7', '6', TPACPI_BRGHT_Q_ASK|TPACPI_BRGHT_Q_EC), + TPACPI_Q_IBM('7', '6', TPACPI_BRGHT_Q_EC), /* R52 */ TPACPI_Q_IBM('7', '8', TPACPI_BRGHT_Q_ASK|TPACPI_BRGHT_Q_EC), /* Models with Intel Extreme Graphics 2 */ - TPACPI_Q_IBM('1', 'U', TPACPI_BRGHT_Q_NOEC), - TPACPI_Q_IBM('1', 'V', TPACPI_BRGHT_Q_ASK|TPACPI_BRGHT_Q_NOEC), - TPACPI_Q_IBM('1', 'W', TPACPI_BRGHT_Q_ASK|TPACPI_BRGHT_Q_NOEC), + TPACPI_Q_IBM('1', 'U', TPACPI_BRGHT_Q_NOEC), /* X40 */ + TPACPI_Q_IBM('1', 'V', TPACPI_BRGHT_Q_ASK|TPACPI_BRGHT_Q_EC), + TPACPI_Q_IBM('1', 'W', TPACPI_BRGHT_Q_ASK|TPACPI_BRGHT_Q_EC), /* Models with Intel GMA900 */ TPACPI_Q_IBM('7', '0', TPACPI_BRGHT_Q_NOEC), /* T43, R52 */ @@ -6223,9 +6265,9 @@ printk(TPACPI_INFO "detected a 16-level brightness capable ThinkPad\n"); - ibm_backlight_device = backlight_device_register( - TPACPI_BACKLIGHT_DEV_NAME, NULL, NULL, - &ibm_backlight_data); + ibm_backlight_device = backlight_device_register(TPACPI_BACKLIGHT_DEV_NAME, + NULL, NULL, + &ibm_backlight_data); if (IS_ERR(ibm_backlight_device)) { int rc = PTR_ERR(ibm_backlight_device); ibm_backlight_device = NULL; @@ -6244,11 +6286,15 @@ "or not on your ThinkPad\n", TPACPI_MAIL); } - ibm_backlight_device->props.max_brightness = - (tp_features.bright_16levels)? 15 : 7; ibm_backlight_device->props.brightness = b & TP_EC_BACKLIGHT_LVLMSK; backlight_update_status(ibm_backlight_device); + vdbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_BRGHT, + "brightness: registering brightness hotkeys " + "as change notification\n"); + tpacpi_hotkey_driver_mask_set(hotkey_driver_mask + | TP_ACPI_HKEY_BRGHTUP_MASK + | TP_ACPI_HKEY_BRGHTDWN_MASK);; return 0; } @@ -6273,23 +6319,22 @@ tpacpi_brightness_checkpoint_nvram(); } -static int brightness_read(char *p) +static int brightness_read(struct seq_file *m) { - int len = 0; int level; level = brightness_get(NULL); if (level < 0) { - len += sprintf(p + len, "level:\t\tunreadable\n"); + seq_printf(m, "level:\t\tunreadable\n"); } else { - len += sprintf(p + len, "level:\t\t%d\n", level); - len += sprintf(p + len, "commands:\tup, down\n"); - len += sprintf(p + len, "commands:\tlevel " + seq_printf(m, "level:\t\t%d\n", level); + seq_printf(m, "commands:\tup, down\n"); + seq_printf(m, "commands:\tlevel " " ( is 0-%d)\n", (tp_features.bright_16levels) ? 15 : 7); } - return len; + return 0; } static int brightness_write(char *buf) @@ -6325,6 +6370,9 @@ * Doing it this way makes the syscall restartable in case of EINTR */ rc = brightness_set(level); + if (!rc && ibm_backlight_device) + backlight_force_update(ibm_backlight_device, + BACKLIGHT_UPDATE_SYSFS); return (rc == -EINTR)? -ERESTARTSYS : rc; } @@ -6341,101 +6389,704 @@ * Volume subdriver */ -static int volume_offset = 0x30; +/* + * IBM ThinkPads have a simple volume controller with MUTE gating. + * Very early Lenovo ThinkPads follow the IBM ThinkPad spec. + * + * Since the *61 series (and probably also the later *60 series), Lenovo + * ThinkPads only implement the MUTE gate. + * + * EC register 0x30 + * Bit 6: MUTE (1 mutes sound) + * Bit 3-0: Volume + * Other bits should be zero as far as we know. + * + * This is also stored in CMOS NVRAM, byte 0x60, bit 6 (MUTE), and + * bits 3-0 (volume). Other bits in NVRAM may have other functions, + * such as bit 7 which is used to detect repeated presses of MUTE, + * and we leave them unchanged. + */ + +#ifdef CONFIG_THINKPAD_ACPI_ALSA_SUPPORT + +#define TPACPI_ALSA_DRVNAME "ThinkPad EC" +#define TPACPI_ALSA_SHRTNAME "ThinkPad Console Audio Control" +#define TPACPI_ALSA_MIXERNAME TPACPI_ALSA_SHRTNAME + +static int alsa_index = ~((1 << (SNDRV_CARDS - 3)) - 1); /* last three slots */ +static char *alsa_id = "ThinkPadEC"; +static int alsa_enable = SNDRV_DEFAULT_ENABLE1; + +struct tpacpi_alsa_data { + struct snd_card *card; + struct snd_ctl_elem_id *ctl_mute_id; + struct snd_ctl_elem_id *ctl_vol_id; +}; + +static struct snd_card *alsa_card; + +enum { + TP_EC_AUDIO = 0x30, + + /* TP_EC_AUDIO bits */ + TP_EC_AUDIO_MUTESW = 6, + + /* TP_EC_AUDIO bitmasks */ + TP_EC_AUDIO_LVL_MSK = 0x0F, + TP_EC_AUDIO_MUTESW_MSK = (1 << TP_EC_AUDIO_MUTESW), + + /* Maximum volume */ + TP_EC_VOLUME_MAX = 14, +}; + +enum tpacpi_volume_access_mode { + TPACPI_VOL_MODE_AUTO = 0, /* Not implemented yet */ + TPACPI_VOL_MODE_EC, /* Pure EC control */ + TPACPI_VOL_MODE_UCMS_STEP, /* UCMS step-based control: N/A */ + TPACPI_VOL_MODE_ECNVRAM, /* EC control w/ NVRAM store */ + TPACPI_VOL_MODE_MAX +}; + +enum tpacpi_volume_capabilities { + TPACPI_VOL_CAP_AUTO = 0, /* Use white/blacklist */ + TPACPI_VOL_CAP_VOLMUTE, /* Output vol and mute */ + TPACPI_VOL_CAP_MUTEONLY, /* Output mute only */ + TPACPI_VOL_CAP_MAX +}; -static int volume_read(char *p) +static enum tpacpi_volume_access_mode volume_mode = + TPACPI_VOL_MODE_MAX; + +static enum tpacpi_volume_capabilities volume_capabilities; +static int volume_control_allowed; + +/* + * Used to syncronize writers to TP_EC_AUDIO and + * TP_NVRAM_ADDR_MIXER, as we need to do read-modify-write + */ +static struct mutex volume_mutex; + +static void tpacpi_volume_checkpoint_nvram(void) { - int len = 0; - u8 level; + u8 lec = 0; + u8 b_nvram; + u8 ec_mask; + + if (volume_mode != TPACPI_VOL_MODE_ECNVRAM) + return; + if (!volume_control_allowed) + return; + + vdbg_printk(TPACPI_DBG_MIXER, + "trying to checkpoint mixer state to NVRAM...\n"); + + if (tp_features.mixer_no_level_control) + ec_mask = TP_EC_AUDIO_MUTESW_MSK; + else + ec_mask = TP_EC_AUDIO_MUTESW_MSK | TP_EC_AUDIO_LVL_MSK; - if (!acpi_ec_read(volume_offset, &level)) { - len += sprintf(p + len, "level:\t\tunreadable\n"); + if (mutex_lock_killable(&volume_mutex) < 0) + return; + + if (unlikely(!acpi_ec_read(TP_EC_AUDIO, &lec))) + goto unlock; + lec &= ec_mask; + b_nvram = nvram_read_byte(TP_NVRAM_ADDR_MIXER); + + if (lec != (b_nvram & ec_mask)) { + /* NVRAM needs update */ + b_nvram &= ~ec_mask; + b_nvram |= lec; + nvram_write_byte(b_nvram, TP_NVRAM_ADDR_MIXER); + dbg_printk(TPACPI_DBG_MIXER, + "updated NVRAM mixer status to 0x%02x (0x%02x)\n", + (unsigned int) lec, (unsigned int) b_nvram); } else { - len += sprintf(p + len, "level:\t\t%d\n", level & 0xf); - len += sprintf(p + len, "mute:\t\t%s\n", onoff(level, 6)); - len += sprintf(p + len, "commands:\tup, down, mute\n"); - len += sprintf(p + len, "commands:\tlevel " - " ( is 0-15)\n"); + vdbg_printk(TPACPI_DBG_MIXER, + "NVRAM mixer status already is 0x%02x (0x%02x)\n", + (unsigned int) lec, (unsigned int) b_nvram); } - return len; +unlock: + mutex_unlock(&volume_mutex); } -static int volume_write(char *buf) +static int volume_get_status_ec(u8 *status) { - int cmos_cmd, inc, i; - u8 level, mute; - int new_level, new_mute; - char *cmd; + u8 s; - while ((cmd = next_cmd(&buf))) { - if (!acpi_ec_read(volume_offset, &level)) - return -EIO; - new_mute = mute = level & 0x40; - new_level = level = level & 0xf; + if (!acpi_ec_read(TP_EC_AUDIO, &s)) + return -EIO; - if (strlencmp(cmd, "up") == 0) { - if (mute) - new_mute = 0; - else - new_level = level == 15 ? 15 : level + 1; - } else if (strlencmp(cmd, "down") == 0) { - if (mute) - new_mute = 0; - else - new_level = level == 0 ? 0 : level - 1; - } else if (sscanf(cmd, "level %d", &new_level) == 1 && - new_level >= 0 && new_level <= 15) { - /* new_level set */ - } else if (strlencmp(cmd, "mute") == 0) { - new_mute = 0x40; - } else - return -EINVAL; + *status = s; - if (new_level != level) { - /* mute doesn't change */ + dbg_printk(TPACPI_DBG_MIXER, "status 0x%02x\n", s); - cmos_cmd = (new_level > level) ? - TP_CMOS_VOLUME_UP : TP_CMOS_VOLUME_DOWN; - inc = new_level > level ? 1 : -1; + return 0; +} - if (mute && (issue_thinkpad_cmos_command(cmos_cmd) || - !acpi_ec_write(volume_offset, level))) - return -EIO; +static int volume_get_status(u8 *status) +{ + return volume_get_status_ec(status); +} - for (i = level; i != new_level; i += inc) - if (issue_thinkpad_cmos_command(cmos_cmd) || - !acpi_ec_write(volume_offset, i + inc)) - return -EIO; - - if (mute && - (issue_thinkpad_cmos_command(TP_CMOS_VOLUME_MUTE) || - !acpi_ec_write(volume_offset, new_level + mute))) { - return -EIO; - } +static int volume_set_status_ec(const u8 status) +{ + if (!acpi_ec_write(TP_EC_AUDIO, status)) + return -EIO; + + dbg_printk(TPACPI_DBG_MIXER, "set EC mixer to 0x%02x\n", status); + + return 0; +} + +static int volume_set_status(const u8 status) +{ + return volume_set_status_ec(status); +} + +/* returns < 0 on error, 0 on no change, 1 on change */ +static int __volume_set_mute_ec(const bool mute) +{ + int rc; + u8 s, n; + + if (mutex_lock_killable(&volume_mutex) < 0) + return -EINTR; + + rc = volume_get_status_ec(&s); + if (rc) + goto unlock; + + n = (mute) ? s | TP_EC_AUDIO_MUTESW_MSK : + s & ~TP_EC_AUDIO_MUTESW_MSK; + + if (n != s) { + rc = volume_set_status_ec(n); + if (!rc) + rc = 1; + } + +unlock: + mutex_unlock(&volume_mutex); + return rc; +} + +static int volume_alsa_set_mute(const bool mute) +{ + dbg_printk(TPACPI_DBG_MIXER, "ALSA: trying to %smute\n", + (mute) ? "" : "un"); + return __volume_set_mute_ec(mute); +} + +static int volume_set_mute(const bool mute) +{ + int rc; + + dbg_printk(TPACPI_DBG_MIXER, "trying to %smute\n", + (mute) ? "" : "un"); + + rc = __volume_set_mute_ec(mute); + return (rc < 0) ? rc : 0; +} + +/* returns < 0 on error, 0 on no change, 1 on change */ +static int __volume_set_volume_ec(const u8 vol) +{ + int rc; + u8 s, n; + + if (vol > TP_EC_VOLUME_MAX) + return -EINVAL; + + if (mutex_lock_killable(&volume_mutex) < 0) + return -EINTR; + + rc = volume_get_status_ec(&s); + if (rc) + goto unlock; + + n = (s & ~TP_EC_AUDIO_LVL_MSK) | vol; + + if (n != s) { + rc = volume_set_status_ec(n); + if (!rc) + rc = 1; + } + +unlock: + mutex_unlock(&volume_mutex); + return rc; +} + +static int volume_alsa_set_volume(const u8 vol) +{ + dbg_printk(TPACPI_DBG_MIXER, + "ALSA: trying to set volume level to %hu\n", vol); + return __volume_set_volume_ec(vol); +} + +static void volume_alsa_notify_change(void) +{ + struct tpacpi_alsa_data *d; + + if (alsa_card && alsa_card->private_data) { + d = alsa_card->private_data; + if (d->ctl_mute_id) + snd_ctl_notify(alsa_card, + SNDRV_CTL_EVENT_MASK_VALUE, + d->ctl_mute_id); + if (d->ctl_vol_id) + snd_ctl_notify(alsa_card, + SNDRV_CTL_EVENT_MASK_VALUE, + d->ctl_vol_id); + } +} + +static int volume_alsa_vol_info(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_info *uinfo) +{ + uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; + uinfo->count = 1; + uinfo->value.integer.min = 0; + uinfo->value.integer.max = TP_EC_VOLUME_MAX; + return 0; +} + +static int volume_alsa_vol_get(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol) +{ + u8 s; + int rc; + + rc = volume_get_status(&s); + if (rc < 0) + return rc; + + ucontrol->value.integer.value[0] = s & TP_EC_AUDIO_LVL_MSK; + return 0; +} + +static int volume_alsa_vol_put(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol) +{ + return volume_alsa_set_volume(ucontrol->value.integer.value[0]); +} + +#define volume_alsa_mute_info snd_ctl_boolean_mono_info + +static int volume_alsa_mute_get(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol) +{ + u8 s; + int rc; + + rc = volume_get_status(&s); + if (rc < 0) + return rc; + + ucontrol->value.integer.value[0] = + (s & TP_EC_AUDIO_MUTESW_MSK) ? 0 : 1; + return 0; +} + +static int volume_alsa_mute_put(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol) +{ + return volume_alsa_set_mute(!ucontrol->value.integer.value[0]); +} + +static struct snd_kcontrol_new volume_alsa_control_vol __devinitdata = { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Console Playback Volume", + .index = 0, + .access = SNDRV_CTL_ELEM_ACCESS_READ, + .info = volume_alsa_vol_info, + .get = volume_alsa_vol_get, +}; + +static struct snd_kcontrol_new volume_alsa_control_mute __devinitdata = { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Console Playback Switch", + .index = 0, + .access = SNDRV_CTL_ELEM_ACCESS_READ, + .info = volume_alsa_mute_info, + .get = volume_alsa_mute_get, +}; + +static void volume_suspend(pm_message_t state) +{ + tpacpi_volume_checkpoint_nvram(); +} + +static void volume_resume(void) +{ + volume_alsa_notify_change(); +} + +static void volume_shutdown(void) +{ + tpacpi_volume_checkpoint_nvram(); +} + +static void volume_exit(void) +{ + if (alsa_card) { + snd_card_free(alsa_card); + alsa_card = NULL; + } + + tpacpi_volume_checkpoint_nvram(); +} + +static int __init volume_create_alsa_mixer(void) +{ + struct snd_card *card; + struct tpacpi_alsa_data *data; + struct snd_kcontrol *ctl_vol; + struct snd_kcontrol *ctl_mute; + int rc; + + rc = snd_card_create(alsa_index, alsa_id, THIS_MODULE, + sizeof(struct tpacpi_alsa_data), &card); + if (rc < 0 || !card) { + printk(TPACPI_ERR + "Failed to create ALSA card structures: %d\n", rc); + return 1; + } + + BUG_ON(!card->private_data); + data = card->private_data; + data->card = card; + + strlcpy(card->driver, TPACPI_ALSA_DRVNAME, + sizeof(card->driver)); + strlcpy(card->shortname, TPACPI_ALSA_SHRTNAME, + sizeof(card->shortname)); + snprintf(card->mixername, sizeof(card->mixername), "ThinkPad EC %s", + (thinkpad_id.ec_version_str) ? + thinkpad_id.ec_version_str : "(unknown)"); + snprintf(card->longname, sizeof(card->longname), + "%s at EC reg 0x%02x, fw %s", card->shortname, TP_EC_AUDIO, + (thinkpad_id.ec_version_str) ? + thinkpad_id.ec_version_str : "unknown"); + + if (volume_control_allowed) { + volume_alsa_control_vol.put = volume_alsa_vol_put; + volume_alsa_control_vol.access = + SNDRV_CTL_ELEM_ACCESS_READWRITE; + + volume_alsa_control_mute.put = volume_alsa_mute_put; + volume_alsa_control_mute.access = + SNDRV_CTL_ELEM_ACCESS_READWRITE; + } + + if (!tp_features.mixer_no_level_control) { + ctl_vol = snd_ctl_new1(&volume_alsa_control_vol, NULL); + rc = snd_ctl_add(card, ctl_vol); + if (rc < 0) { + printk(TPACPI_ERR + "Failed to create ALSA volume control: %d\n", + rc); + goto err_exit; } + data->ctl_vol_id = &ctl_vol->id; + } - if (new_mute != mute) { - /* level doesn't change */ + ctl_mute = snd_ctl_new1(&volume_alsa_control_mute, NULL); + rc = snd_ctl_add(card, ctl_mute); + if (rc < 0) { + printk(TPACPI_ERR "Failed to create ALSA mute control: %d\n", + rc); + goto err_exit; + } + data->ctl_mute_id = &ctl_mute->id; - cmos_cmd = (new_mute) ? - TP_CMOS_VOLUME_MUTE : TP_CMOS_VOLUME_UP; + snd_card_set_dev(card, &tpacpi_pdev->dev); + rc = snd_card_register(card); + if (rc < 0) { + printk(TPACPI_ERR "Failed to register ALSA card: %d\n", rc); + goto err_exit; + } - if (issue_thinkpad_cmos_command(cmos_cmd) || - !acpi_ec_write(volume_offset, level + new_mute)) - return -EIO; + alsa_card = card; + return 0; + +err_exit: + snd_card_free(card); + return 1; +} + +#define TPACPI_VOL_Q_MUTEONLY 0x0001 /* Mute-only control available */ +#define TPACPI_VOL_Q_LEVEL 0x0002 /* Volume control available */ + +static const struct tpacpi_quirk volume_quirk_table[] __initconst = { + /* Whitelist volume level on all IBM by default */ + { .vendor = PCI_VENDOR_ID_IBM, + .bios = TPACPI_MATCH_ANY, + .ec = TPACPI_MATCH_ANY, + .quirks = TPACPI_VOL_Q_LEVEL }, + + /* Lenovo models with volume control (needs confirmation) */ + TPACPI_QEC_LNV('7', 'C', TPACPI_VOL_Q_LEVEL), /* R60/i */ + TPACPI_QEC_LNV('7', 'E', TPACPI_VOL_Q_LEVEL), /* R60e/i */ + TPACPI_QEC_LNV('7', '9', TPACPI_VOL_Q_LEVEL), /* T60/p */ + TPACPI_QEC_LNV('7', 'B', TPACPI_VOL_Q_LEVEL), /* X60/s */ + TPACPI_QEC_LNV('7', 'J', TPACPI_VOL_Q_LEVEL), /* X60t */ + TPACPI_QEC_LNV('7', '7', TPACPI_VOL_Q_LEVEL), /* Z60 */ + TPACPI_QEC_LNV('7', 'F', TPACPI_VOL_Q_LEVEL), /* Z61 */ + + /* Whitelist mute-only on all Lenovo by default */ + { .vendor = PCI_VENDOR_ID_LENOVO, + .bios = TPACPI_MATCH_ANY, + .ec = TPACPI_MATCH_ANY, + .quirks = TPACPI_VOL_Q_MUTEONLY } +}; + +static int __init volume_init(struct ibm_init_struct *iibm) +{ + unsigned long quirks; + int rc; + + vdbg_printk(TPACPI_DBG_INIT, "initializing volume subdriver\n"); + + mutex_init(&volume_mutex); + + /* + * Check for module parameter bogosity, note that we + * init volume_mode to TPACPI_VOL_MODE_MAX in order to be + * able to detect "unspecified" + */ + if (volume_mode > TPACPI_VOL_MODE_MAX) + return -EINVAL; + + if (volume_mode == TPACPI_VOL_MODE_UCMS_STEP) { + printk(TPACPI_ERR + "UCMS step volume mode not implemented, " + "please contact %s\n", TPACPI_MAIL); + return 1; + } + + if (volume_capabilities >= TPACPI_VOL_CAP_MAX) + return -EINVAL; + + /* + * The ALSA mixer is our primary interface. + * When disabled, don't install the subdriver at all + */ + if (!alsa_enable) { + vdbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_MIXER, + "ALSA mixer disabled by parameter, " + "not loading volume subdriver...\n"); + return 1; + } + + quirks = tpacpi_check_quirks(volume_quirk_table, + ARRAY_SIZE(volume_quirk_table)); + + switch (volume_capabilities) { + case TPACPI_VOL_CAP_AUTO: + if (quirks & TPACPI_VOL_Q_MUTEONLY) + tp_features.mixer_no_level_control = 1; + else if (quirks & TPACPI_VOL_Q_LEVEL) + tp_features.mixer_no_level_control = 0; + else + return 1; /* no mixer */ + break; + case TPACPI_VOL_CAP_VOLMUTE: + tp_features.mixer_no_level_control = 0; + break; + case TPACPI_VOL_CAP_MUTEONLY: + tp_features.mixer_no_level_control = 1; + break; + default: + return 1; + } + + if (volume_capabilities != TPACPI_VOL_CAP_AUTO) + dbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_MIXER, + "using user-supplied volume_capabilities=%d\n", + volume_capabilities); + + if (volume_mode == TPACPI_VOL_MODE_AUTO || + volume_mode == TPACPI_VOL_MODE_MAX) { + volume_mode = TPACPI_VOL_MODE_ECNVRAM; + + dbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_MIXER, + "driver auto-selected volume_mode=%d\n", + volume_mode); + } else { + dbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_MIXER, + "using user-supplied volume_mode=%d\n", + volume_mode); + } + + vdbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_MIXER, + "mute is supported, volume control is %s\n", + str_supported(!tp_features.mixer_no_level_control)); + + rc = volume_create_alsa_mixer(); + if (rc) { + printk(TPACPI_ERR + "Could not create the ALSA mixer interface\n"); + return rc; + } + + printk(TPACPI_INFO + "Console audio control enabled, mode: %s\n", + (volume_control_allowed) ? + "override (read/write)" : + "monitor (read only)"); + + vdbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_MIXER, + "registering volume hotkeys as change notification\n"); + tpacpi_hotkey_driver_mask_set(hotkey_driver_mask + | TP_ACPI_HKEY_VOLUP_MASK + | TP_ACPI_HKEY_VOLDWN_MASK + | TP_ACPI_HKEY_MUTE_MASK); + + return 0; +} + +static int volume_read(struct seq_file *m) +{ + u8 status; + + if (volume_get_status(&status) < 0) { + seq_printf(m, "level:\t\tunreadable\n"); + } else { + if (tp_features.mixer_no_level_control) + seq_printf(m, "level:\t\tunsupported\n"); + else + seq_printf(m, "level:\t\t%d\n", + status & TP_EC_AUDIO_LVL_MSK); + + seq_printf(m, "mute:\t\t%s\n", + onoff(status, TP_EC_AUDIO_MUTESW)); + + if (volume_control_allowed) { + seq_printf(m, "commands:\tunmute, mute\n"); + if (!tp_features.mixer_no_level_control) { + seq_printf(m, + "commands:\tup, down\n"); + seq_printf(m, + "commands:\tlevel " + " ( is 0-%d)\n", + TP_EC_VOLUME_MAX); + } } } return 0; } +static int volume_write(char *buf) +{ + u8 s; + u8 new_level, new_mute; + int l; + char *cmd; + int rc; + + /* + * We do allow volume control at driver startup, so that the + * user can set initial state through the volume=... parameter hack. + */ + if (!volume_control_allowed && tpacpi_lifecycle != TPACPI_LIFE_INIT) { + if (unlikely(!tp_warned.volume_ctrl_forbidden)) { + tp_warned.volume_ctrl_forbidden = 1; + printk(TPACPI_NOTICE + "Console audio control in monitor mode, " + "changes are not allowed.\n"); + printk(TPACPI_NOTICE + "Use the volume_control=1 module parameter " + "to enable volume control\n"); + } + return -EPERM; + } + + rc = volume_get_status(&s); + if (rc < 0) + return rc; + + new_level = s & TP_EC_AUDIO_LVL_MSK; + new_mute = s & TP_EC_AUDIO_MUTESW_MSK; + + while ((cmd = next_cmd(&buf))) { + if (!tp_features.mixer_no_level_control) { + if (strlencmp(cmd, "up") == 0) { + if (new_mute) + new_mute = 0; + else if (new_level < TP_EC_VOLUME_MAX) + new_level++; + continue; + } else if (strlencmp(cmd, "down") == 0) { + if (new_mute) + new_mute = 0; + else if (new_level > 0) + new_level--; + continue; + } else if (sscanf(cmd, "level %u", &l) == 1 && + l >= 0 && l <= TP_EC_VOLUME_MAX) { + new_level = l; + continue; + } + } + if (strlencmp(cmd, "mute") == 0) + new_mute = TP_EC_AUDIO_MUTESW_MSK; + else if (strlencmp(cmd, "unmute") == 0) + new_mute = 0; + else + return -EINVAL; + } + + if (tp_features.mixer_no_level_control) { + tpacpi_disclose_usertask("procfs volume", "%smute\n", + new_mute ? "" : "un"); + rc = volume_set_mute(!!new_mute); + } else { + tpacpi_disclose_usertask("procfs volume", + "%smute and set level to %d\n", + new_mute ? "" : "un", new_level); + rc = volume_set_status(new_mute | new_level); + } + volume_alsa_notify_change(); + + return (rc == -EINTR) ? -ERESTARTSYS : rc; +} + static struct ibm_struct volume_driver_data = { .name = "volume", .read = volume_read, .write = volume_write, + .exit = volume_exit, + .suspend = volume_suspend, + .resume = volume_resume, + .shutdown = volume_shutdown, +}; + +#else /* !CONFIG_THINKPAD_ACPI_ALSA_SUPPORT */ + +#define alsa_card NULL + +static void inline volume_alsa_notify_change(void) +{ +} + +static int __init volume_init(struct ibm_init_struct *iibm) +{ + printk(TPACPI_INFO + "volume: disabled as there is no ALSA support in this kernel\n"); + + return 1; +} + +static struct ibm_struct volume_driver_data = { + .name = "volume", }; +#endif /* CONFIG_THINKPAD_ACPI_ALSA_SUPPORT */ + /************************************************************************* * Fan subdriver */ @@ -6461,7 +7112,7 @@ * * Fan speed changes of any sort (including those caused by the * disengaged mode) are usually done slowly by the firmware as the - * maximum ammount of fan duty cycle change per second seems to be + * maximum amount of fan duty cycle change per second seems to be * limited. * * Reading is not available if GFAN exists. @@ -6545,7 +7196,7 @@ * The speeds are stored on handles * (FANA:FAN9), (FANC:FANB), (FANE:FAND). * - * There are three default speed sets, acessible as handles: + * There are three default speed sets, accessible as handles: * FS1L,FS1M,FS1H; FS2L,FS2M,FS2H; FS3L,FS3M,FS3H * * ACPI DSDT switches which set is in use depending on various @@ -7510,9 +8161,8 @@ } } -static int fan_read(char *p) +static int fan_read(struct seq_file *m) { - int len = 0; int rc; u8 status; unsigned int speed = 0; @@ -7524,7 +8174,7 @@ if (rc < 0) return rc; - len += sprintf(p + len, "status:\t\t%s\n" + seq_printf(m, "status:\t\t%s\n" "level:\t\t%d\n", (status != 0) ? "enabled" : "disabled", status); break; @@ -7535,54 +8185,54 @@ if (rc < 0) return rc; - len += sprintf(p + len, "status:\t\t%s\n", + seq_printf(m, "status:\t\t%s\n", (status != 0) ? "enabled" : "disabled"); rc = fan_get_speed(&speed); if (rc < 0) return rc; - len += sprintf(p + len, "speed:\t\t%d\n", speed); + seq_printf(m, "speed:\t\t%d\n", speed); if (status & TP_EC_FAN_FULLSPEED) /* Disengaged mode takes precedence */ - len += sprintf(p + len, "level:\t\tdisengaged\n"); + seq_printf(m, "level:\t\tdisengaged\n"); else if (status & TP_EC_FAN_AUTO) - len += sprintf(p + len, "level:\t\tauto\n"); + seq_printf(m, "level:\t\tauto\n"); else - len += sprintf(p + len, "level:\t\t%d\n", status); + seq_printf(m, "level:\t\t%d\n", status); break; case TPACPI_FAN_NONE: default: - len += sprintf(p + len, "status:\t\tnot supported\n"); + seq_printf(m, "status:\t\tnot supported\n"); } if (fan_control_commands & TPACPI_FAN_CMD_LEVEL) { - len += sprintf(p + len, "commands:\tlevel "); + seq_printf(m, "commands:\tlevel "); switch (fan_control_access_mode) { case TPACPI_FAN_WR_ACPI_SFAN: - len += sprintf(p + len, " ( is 0-7)\n"); + seq_printf(m, " ( is 0-7)\n"); break; default: - len += sprintf(p + len, " ( is 0-7, " + seq_printf(m, " ( is 0-7, " "auto, disengaged, full-speed)\n"); break; } } if (fan_control_commands & TPACPI_FAN_CMD_ENABLE) - len += sprintf(p + len, "commands:\tenable, disable\n" + seq_printf(m, "commands:\tenable, disable\n" "commands:\twatchdog ( " "is 0 (off), 1-120 (seconds))\n"); if (fan_control_commands & TPACPI_FAN_CMD_SPEED) - len += sprintf(p + len, "commands:\tspeed " + seq_printf(m, "commands:\tspeed " " ( is 0-65535)\n"); - return len; + return 0; } static int fan_write_cmd_level(const char *cmd, int *rc) @@ -7724,10 +8374,23 @@ */ static void tpacpi_driver_event(const unsigned int hkey_event) { + if (ibm_backlight_device) { + switch (hkey_event) { + case TP_HKEY_EV_BRGHT_UP: + case TP_HKEY_EV_BRGHT_DOWN: + tpacpi_brightness_notify_change(); + } + } + if (alsa_card) { + switch (hkey_event) { + case TP_HKEY_EV_VOL_UP: + case TP_HKEY_EV_VOL_DOWN: + case TP_HKEY_EV_VOL_MUTE: + volume_alsa_notify_change(); + } + } } - - static void hotkey_driver_event(const unsigned int scancode) { tpacpi_driver_event(TP_HKEY_EV_HOTKEY_BASE + scancode); @@ -7856,19 +8519,20 @@ "%s installed\n", ibm->name); if (ibm->read) { - entry = create_proc_entry(ibm->name, - S_IFREG | S_IRUGO | S_IWUSR, - proc_dir); + mode_t mode = iibm->base_procfs_mode; + + if (!mode) + mode = S_IRUGO; + if (ibm->write) + mode |= S_IWUSR; + entry = proc_create_data(ibm->name, mode, proc_dir, + &dispatch_proc_fops, ibm); if (!entry) { printk(TPACPI_ERR "unable to create proc entry %s\n", ibm->name); ret = -ENODEV; goto err_out; } - entry->data = ibm; - entry->read_proc = &dispatch_procfs_read; - if (ibm->write) - entry->write_proc = &dispatch_procfs_write; ibm->flags.proc_created = 1; } @@ -8049,6 +8713,7 @@ #ifdef CONFIG_THINKPAD_ACPI_VIDEO { .init = video_init, + .base_procfs_mode = S_IRUSR, .data = &video_driver_data, }, #endif @@ -8080,6 +8745,7 @@ .data = &brightness_driver_data, }, { + .init = volume_init, .data = &volume_driver_data, }, { @@ -8115,36 +8781,61 @@ return -EINVAL; } -module_param(experimental, int, 0); +module_param(experimental, int, 0444); MODULE_PARM_DESC(experimental, "Enables experimental features when non-zero"); module_param_named(debug, dbg_level, uint, 0); MODULE_PARM_DESC(debug, "Sets debug level bit-mask"); -module_param(force_load, bool, 0); +module_param(force_load, bool, 0444); MODULE_PARM_DESC(force_load, "Attempts to load the driver even on a " "mis-identified ThinkPad when true"); -module_param_named(fan_control, fan_control_allowed, bool, 0); +module_param_named(fan_control, fan_control_allowed, bool, 0444); MODULE_PARM_DESC(fan_control, "Enables setting fan parameters features when true"); -module_param_named(brightness_mode, brightness_mode, uint, 0); +module_param_named(brightness_mode, brightness_mode, uint, 0444); MODULE_PARM_DESC(brightness_mode, "Selects brightness control strategy: " "0=auto, 1=EC, 2=UCMS, 3=EC+NVRAM"); -module_param(brightness_enable, uint, 0); +module_param(brightness_enable, uint, 0444); MODULE_PARM_DESC(brightness_enable, "Enables backlight control when 1, disables when 0"); -module_param(hotkey_report_mode, uint, 0); +module_param(hotkey_report_mode, uint, 0444); MODULE_PARM_DESC(hotkey_report_mode, "used for backwards compatibility with userspace, " "see documentation"); +#ifdef CONFIG_THINKPAD_ACPI_ALSA_SUPPORT +module_param_named(volume_mode, volume_mode, uint, 0444); +MODULE_PARM_DESC(volume_mode, + "Selects volume control strategy: " + "0=auto, 1=EC, 2=N/A, 3=EC+NVRAM"); + +module_param_named(volume_capabilities, volume_capabilities, uint, 0444); +MODULE_PARM_DESC(volume_capabilities, + "Selects the mixer capabilites: " + "0=auto, 1=volume and mute, 2=mute only"); + +module_param_named(volume_control, volume_control_allowed, bool, 0444); +MODULE_PARM_DESC(volume_control, + "Enables software override for the console audio " + "control when true"); + +/* ALSA module API parameters */ +module_param_named(index, alsa_index, int, 0444); +MODULE_PARM_DESC(index, "ALSA index for the ACPI EC Mixer"); +module_param_named(id, alsa_id, charp, 0444); +MODULE_PARM_DESC(id, "ALSA id for the ACPI EC Mixer"); +module_param_named(enable, alsa_enable, bool, 0444); +MODULE_PARM_DESC(enable, "Enable the ALSA interface for the ACPI EC Mixer"); +#endif /* CONFIG_THINKPAD_ACPI_ALSA_SUPPORT */ + #define TPACPI_PARAM(feature) \ module_param_call(feature, set_ibm_param, NULL, NULL, 0); \ MODULE_PARM_DESC(feature, "Simulates thinkpad-acpi procfs command " \ @@ -8163,25 +8854,25 @@ TPACPI_PARAM(fan); #ifdef CONFIG_THINKPAD_ACPI_DEBUGFACILITIES -module_param(dbg_wlswemul, uint, 0); +module_param(dbg_wlswemul, uint, 0444); MODULE_PARM_DESC(dbg_wlswemul, "Enables WLSW emulation"); module_param_named(wlsw_state, tpacpi_wlsw_emulstate, bool, 0); MODULE_PARM_DESC(wlsw_state, "Initial state of the emulated WLSW switch"); -module_param(dbg_bluetoothemul, uint, 0); +module_param(dbg_bluetoothemul, uint, 0444); MODULE_PARM_DESC(dbg_bluetoothemul, "Enables bluetooth switch emulation"); module_param_named(bluetooth_state, tpacpi_bluetooth_emulstate, bool, 0); MODULE_PARM_DESC(bluetooth_state, "Initial state of the emulated bluetooth switch"); -module_param(dbg_wwanemul, uint, 0); +module_param(dbg_wwanemul, uint, 0444); MODULE_PARM_DESC(dbg_wwanemul, "Enables WWAN switch emulation"); module_param_named(wwan_state, tpacpi_wwan_emulstate, bool, 0); MODULE_PARM_DESC(wwan_state, "Initial state of the emulated WWAN switch"); -module_param(dbg_uwbemul, uint, 0); +module_param(dbg_uwbemul, uint, 0444); MODULE_PARM_DESC(dbg_uwbemul, "Enables UWB switch emulation"); module_param_named(uwb_state, tpacpi_uwb_emulstate, bool, 0); MODULE_PARM_DESC(uwb_state, @@ -8374,6 +9065,7 @@ PCI_VENDOR_ID_IBM; tpacpi_inputdev->id.product = TPACPI_HKEY_INPUT_PRODUCT; tpacpi_inputdev->id.version = TPACPI_HKEY_INPUT_VERSION; + tpacpi_inputdev->dev.parent = &tpacpi_pdev->dev; } for (i = 0; i < ARRAY_SIZE(ibms_init); i++) { ret = ibm_init(&ibms_init[i]); @@ -8384,6 +9076,9 @@ return ret; } } + + tpacpi_lifecycle = TPACPI_LIFE_RUNNING; + ret = input_register_device(tpacpi_inputdev); if (ret < 0) { printk(TPACPI_ERR "unable to register input device\n"); @@ -8393,7 +9088,6 @@ tp_features.input_device_registered = 1; } - tpacpi_lifecycle = TPACPI_LIFE_RUNNING; return 0; } --- linux-2.6.32.orig/drivers/platform/x86/wmi.c +++ linux-2.6.32/drivers/platform/x86/wmi.c @@ -510,8 +510,8 @@ /** * wmi_get_event_data - Get WMI data associated with an event * - * @event - Event to find - * &out - Buffer to hold event data + * @event: Event to find + * @out: Buffer to hold event data. out->pointer should be freed with kfree() * * Returns extra data associated with an event in WMI. */ --- linux-2.6.32.orig/drivers/platform/x86/toshiba_acpi.c +++ linux-2.6.32/drivers/platform/x86/toshiba_acpi.c @@ -28,13 +28,28 @@ * engineering the Windows drivers * Yasushi Nagato - changes for linux kernel 2.4 -> 2.5 * Rob Miller - TV out and hotkeys help + * Daniel Silverstone - Punting of hotkeys via acpi using a thread * + * PLEASE NOTE + * + * This is an experimental version of toshiba_acpi which includes emulation + * of the original toshiba driver's /proc/toshiba and /dev/toshiba, + * allowing Toshiba userspace utilities to work. The relevant code was + * based on toshiba.c (copyright 1996-2001 Jonathan A. Buzzard) and + * incorporated into this driver with help from Gintautas Miliauskas, + * Charles Schwieters, and Christoph Burger-Scheidlin. + * + * Caveats: + * * hotkey status in /proc/toshiba is not implemented + * * to make accesses to /dev/toshiba load this driver instead of + * the original driver, you will have to modify your module + * auto-loading configuration * * TODO * */ -#define TOSHIBA_ACPI_VERSION "0.19" +#define TOSHIBA_ACPI_VERSION "0.19-dev-acpikeys" #define PROC_INTERFACE_VERSION 1 #include @@ -42,9 +57,15 @@ #include #include #include +#include +#include +#include +#include #include #include #include +#include +#include #include @@ -356,6 +377,11 @@ static int force_fan; static int last_key_event; static int key_event_valid; +static int hotkeys_over_acpi = 1; +static int hotkeys_check_per_sec = 2; + +module_param(hotkeys_over_acpi, uint, 0400); +module_param(hotkeys_check_per_sec, uint, 0400); typedef struct _ProcItem { const char *name; @@ -583,27 +609,34 @@ u32 hci_result; u32 value; - if (!key_event_valid) { - hci_read1(HCI_SYSTEM_EVENT, &value, &hci_result); - if (hci_result == HCI_SUCCESS) { - key_event_valid = 1; - last_key_event = value; - } else if (hci_result == HCI_EMPTY) { - /* better luck next time */ - } else if (hci_result == HCI_NOT_SUPPORTED) { - /* This is a workaround for an unresolved issue on - * some machines where system events sporadically - * become disabled. */ - hci_write1(HCI_SYSTEM_EVENT, 1, &hci_result); - printk(MY_NOTICE "Re-enabled hotkeys\n"); - } else { - printk(MY_ERR "Error reading hotkey status\n"); - goto end; + if (!hotkeys_over_acpi) { + if (!key_event_valid) { + hci_read1(HCI_SYSTEM_EVENT, &value, &hci_result); + if (hci_result == HCI_SUCCESS) { + key_event_valid = 1; + last_key_event = value; + } else if (hci_result == HCI_EMPTY) { + /* better luck next time */ + } else if (hci_result == HCI_NOT_SUPPORTED) { + /* This is a workaround for an + * unresolved issue on some machines + * where system events sporadically + * become disabled. */ + hci_write1(HCI_SYSTEM_EVENT, 1, &hci_result); + printk(MY_NOTICE "Re-enabled hotkeys\n"); + } else { + printk(MY_ERR "Error reading hotkey status\n"); + goto end; + } } + } else { + key_event_valid = 0; + last_key_event = 0; } p += sprintf(p, "hotkey_ready: %d\n", key_event_valid); p += sprintf(p, "hotkey: 0x%04x\n", last_key_event); + p += sprintf(p, "hotkeys_via_acpi: %d\n", hotkeys_over_acpi); end: return p; @@ -630,6 +663,191 @@ return p; } +/* /dev/toshiba and /proc/toshiba handlers {{{ + * + * ISSUE: lots of magic numbers and mysterious code + */ + +#define TOSH_MINOR_DEV 181 +#define OLD_PROC_TOSHIBA "toshiba" + +static int +tosh_acpi_bridge(SMMRegisters* regs) +{ + acpi_status status; + + /* assert(sizeof(SMMRegisters) == sizeof(u32)*HCI_WORDS); */ + status = hci_raw((u32*)regs, (u32*)regs); + if (status == AE_OK && (regs->eax & 0xff00) == HCI_SUCCESS) + return 0; + + return -EINVAL; +} + +static int +tosh_ioctl(struct inode* ip, struct file* fp, unsigned int cmd, + unsigned long arg) +{ + SMMRegisters regs; + unsigned short ax,bx; + int err; + + if ((!arg) || (cmd != TOSH_SMM)) + return -EINVAL; + + if (copy_from_user(®s, (SMMRegisters*)arg, sizeof(SMMRegisters))) + return -EFAULT; + + ax = regs.eax & 0xff00; + bx = regs.ebx & 0xffff; + + /* block HCI calls to read/write memory & PCI devices */ + if (((ax==HCI_SET) || (ax==HCI_GET)) && (bx>0x0069)) + return -EINVAL; + + err = tosh_acpi_bridge(®s); + + if (copy_to_user((SMMRegisters*)arg, ®s, sizeof(SMMRegisters))) + return -EFAULT; + + return err; +} + +static int +tosh_get_machine_id(void __iomem *bios) +{ + int id; + unsigned short bx,cx; + unsigned long address; + + id = (0x100*(int) readb(bios+0xfffe))+((int) readb(bios+0xfffa)); + + /* do we have a SCTTable machine identication number on our hands */ + if (id==0xfc2f) { + bx = 0xe6f5; /* cheat */ + /* now twiddle with our pointer a bit */ + address = 0x00000000 + bx; + cx = readw(bios + address); + address = 0x00000009 + bx + cx; + cx = readw(bios + address); + address = 0x0000000a + cx; + cx = readw(bios + address); + /* now construct our machine identification number */ + id = ((cx & 0xff)<<8)+((cx & 0xff00)>>8); + } + + return id; +} + +static int tosh_id; +static int tosh_bios; +static int tosh_date; +static int tosh_sci; + +static struct file_operations tosh_fops = { + .owner = THIS_MODULE, + .ioctl = tosh_ioctl +}; + +static struct miscdevice tosh_device = { + TOSH_MINOR_DEV, + "toshiba", + &tosh_fops +}; + +static void +setup_tosh_info(void __iomem *bios) +{ + int major, minor; + int day, month, year; + + tosh_id = tosh_get_machine_id(bios); + + /* get the BIOS version */ + major = readb(bios + 0xe009)-'0'; + minor = ((readb(bios + 0xe00b)-'0')*10)+(readb(bios + 0xe00c)-'0'); + tosh_bios = (major*0x100)+minor; + + /* get the BIOS date */ + day = ((readb(bios + 0xfff5)-'0')*10)+(readb(bios + 0xfff6)-'0'); + month = ((readb(bios + 0xfff8)-'0')*10)+(readb(bios + 0xfff9)-'0'); + year = ((readb(bios + 0xfffb)-'0')*10)+(readb(bios + 0xfffc)-'0'); + tosh_date = (((year-90) & 0x1f)<<10) | ((month & 0xf)<<6) + | ((day & 0x1f)<<1); +} + +/* /proc/toshiba read handler */ +static int +tosh_proc_show(struct seq_file *m, void *v) +{ + /* TODO: tosh_fn_status() */ + int key = 0; + + /* Format: + * 0) Linux driver version (this will change if format changes) + * 1) Machine ID + * 2) SCI version + * 3) BIOS version (major, minor) + * 4) BIOS date (in SCI date format) + * 5) Fn Key status + */ + + seq_printf(m, "1.1 0x%04x %d.%d %d.%d 0x%04x 0x%02x\n", + tosh_id, + (tosh_sci & 0xff00)>>8, + tosh_sci & 0xff, + (tosh_bios & 0xff00)>>8, + tosh_bios & 0xff, + tosh_date, + key); + + return 0; +} + +static int tosh_proc_open(struct inode *inode, struct file *file) +{ + return single_open(file, tosh_proc_show, NULL); +} + +static const struct file_operations tosh_proc_fops = { + .owner = THIS_MODULE, + .open = tosh_proc_open, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; + +static int __init +old_driver_emulation_init(void) +{ + int status; + void __iomem *bios = ioremap(0xf0000, 0x10000); + if (!bios) + return -ENOMEM; + + if ((status = misc_register(&tosh_device))) { + printk(MY_ERR "failed to register misc device %d (\"%s\")\n", + tosh_device.minor, tosh_device.name); + return status; + } + + setup_tosh_info(bios); + proc_create(OLD_PROC_TOSHIBA, 0, NULL, &tosh_proc_fops); + + iounmap(bios); + + return 0; +} + +static void __exit +old_driver_emulation_exit(void) +{ + remove_proc_entry(OLD_PROC_TOSHIBA, NULL); + misc_deregister(&tosh_device); +} + +/* }}} end of /dev/toshiba and /proc/toshiba handlers */ + /* proc and module init */ @@ -676,6 +894,133 @@ .update_status = set_lcd_status, }; +static struct semaphore thread_sem; +static int thread_should_die; + +static struct acpi_device *threaded_device = 0; + +static void thread_deliver_button_event(u32 value) +{ + if (!threaded_device) return; + if( value == 0x0100 ) { + /* Ignore FN on its own */ + } else if( value & 0x80 ) { + acpi_bus_generate_proc_event( threaded_device, 1, value & ~0x80 ); + } else { + acpi_bus_generate_proc_event( threaded_device, 0, value ); + } +} + +static int toshiba_acpi_thread(void *data) +{ + int dropped = 0; + u32 hci_result, value; + + daemonize("ktoshkeyd"); + set_user_nice(current, 4); + thread_should_die = 0; + + up(&thread_sem); + + do { + /* In case we get stuck; we can rmmod the module here */ + if (thread_should_die) + break; + + hci_read1(HCI_SYSTEM_EVENT, &value, &hci_result); + if (hci_result == HCI_SUCCESS) { + dropped++; + } else if (hci_result == HCI_EMPTY) { + /* better luck next time */ + } else if (hci_result == HCI_NOT_SUPPORTED) { + /* This is a workaround for an unresolved issue on + * some machines where system events sporadically + * become disabled. */ + hci_write1(HCI_SYSTEM_EVENT, 1, &hci_result); + printk(MY_NOTICE "Re-enabled hotkeys\n"); + } + } while (hci_result != HCI_EMPTY); + + printk(MY_INFO "Dropped %d keys from the queue on startup\n", dropped); + + for (;;) { + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(HZ / hotkeys_check_per_sec); + + if (thread_should_die) + break; + + if (try_to_freeze()) + continue; + + do { + hci_read1(HCI_SYSTEM_EVENT, &value, &hci_result); + if (hci_result == HCI_SUCCESS) { + thread_deliver_button_event(value); + } else if (hci_result == HCI_EMPTY) { + /* better luck next time */ + } else if (hci_result == HCI_NOT_SUPPORTED) { + /* This is a workaround for an + * unresolved issue on some machines + * where system events sporadically + * become disabled. */ + hci_write1(HCI_SYSTEM_EVENT, 1, &hci_result); + printk(MY_NOTICE "Re-enabled hotkeys\n"); + } + } while (hci_result == HCI_SUCCESS); + } + set_user_nice(current, -20); /* Become nasty so we are cleaned up + * before the module exits making us oops */ + up(&thread_sem); + return 0; +} + +static int acpi_toshkeys_add (struct acpi_device *device) +{ + threaded_device = device; + strcpy(acpi_device_name(device), "Toshiba laptop hotkeys"); + strcpy(acpi_device_class(device), "hkey"); + return 0; +} + +static int acpi_toshkeys_remove (struct acpi_device *device, int type) +{ + if (threaded_device == device) + threaded_device = 0; + return 0; +} + +static const struct acpi_device_id acpi_toshkeys_ids[] = { + { "TOS6200", 0 }, + { "TOS6207", 0 }, + { "TOS6208", 0 }, + {"", 0} +}; + +static struct acpi_driver acpi_threaded_toshkeys = { + .name = "Toshiba laptop hotkeys driver", + .class = "hkey", + .ids = acpi_toshkeys_ids, + .ops = { + .add = acpi_toshkeys_add, + .remove = acpi_toshkeys_remove, + }, +}; + +static int __init init_threaded_acpi(void) +{ + acpi_status result = AE_OK; + result = acpi_bus_register_driver(&acpi_threaded_toshkeys); + if( result < 0 ) + printk(MY_ERR "Registration of toshkeys acpi device failed\n"); + return result; +} + +static void kill_threaded_acpi(void) +{ + acpi_bus_unregister_driver(&acpi_threaded_toshkeys); +} + static void toshiba_acpi_exit(void) { if (toshiba_acpi.bt_rfk) { @@ -686,11 +1031,19 @@ if (toshiba_backlight_device) backlight_device_unregister(toshiba_backlight_device); + if (hotkeys_over_acpi) { + thread_should_die = 1; + down(&thread_sem); + kill_threaded_acpi(); + } + remove_device(); if (toshiba_proc_dir) remove_proc_entry(PROC_TOSHIBA, acpi_root_dir); + old_driver_emulation_exit(); + platform_device_unregister(toshiba_acpi.p_dev); return; @@ -730,6 +1083,9 @@ return ret; } + if ((ret = old_driver_emulation_init())) + return ret; + force_fan = 0; key_event_valid = 0; @@ -762,6 +1118,26 @@ } toshiba_backlight_device->props.max_brightness = HCI_LCD_BRIGHTNESS_LEVELS - 1; + if (hotkeys_over_acpi && ACPI_SUCCESS(status)) { + printk(MY_INFO "Toshiba hotkeys are sent as ACPI events\n"); + if (hotkeys_check_per_sec < 1) + hotkeys_check_per_sec = 1; + if (hotkeys_check_per_sec > 10) + hotkeys_check_per_sec = 10; + printk(MY_INFO "ktoshkeyd will check %d time%s per second\n", + hotkeys_check_per_sec, hotkeys_check_per_sec==1?"":"s"); + if (init_threaded_acpi() >= 0) { + init_MUTEX_LOCKED(&thread_sem); + kernel_thread(toshiba_acpi_thread, NULL, CLONE_KERNEL); + down(&thread_sem); + } else { + remove_device(); + remove_proc_entry(PROC_TOSHIBA, acpi_root_dir); + status = AE_ERROR; + printk(MY_INFO "ktoshkeyd initialisation failed. Refusing to load module\n"); + } + } + /* Register rfkill switch for Bluetooth */ if (hci_get_bt_present(&bt_present) == HCI_SUCCESS && bt_present) { toshiba_acpi.bt_rfk = rfkill_alloc(toshiba_acpi.bt_name, --- linux-2.6.32.orig/drivers/pnp/quirks.c +++ linux-2.6.32/drivers/pnp/quirks.c @@ -300,6 +300,45 @@ } } +#ifdef CONFIG_AMD_NB + +#include + +static void quirk_amd_mmconfig_area(struct pnp_dev *dev) +{ + resource_size_t start, end; + struct pnp_resource *pnp_res; + struct resource *res; + struct resource mmconfig_res, *mmconfig; + + mmconfig = amd_get_mmconfig_range(&mmconfig_res); + if (!mmconfig) + return; + + list_for_each_entry(pnp_res, &dev->resources, list) { + res = &pnp_res->res; + if (res->end < mmconfig->start || res->start > mmconfig->end || + (res->start == mmconfig->start && res->end == mmconfig->end)) + continue; + + dev_info(&dev->dev, FW_BUG + "%pR covers only part of AMD MMCONFIG area %pR; adding more reservations\n", + res, mmconfig); + if (mmconfig->start < res->start) { + start = mmconfig->start; + end = res->start - 1; + pnp_add_mem_resource(dev, start, end, 0); + } + if (mmconfig->end > res->end) { + start = res->end + 1; + end = mmconfig->end; + pnp_add_mem_resource(dev, start, end, 0); + } + break; + } +} +#endif + /* * PnP Quirks * Cards or devices that need some tweaking due to incomplete resource info @@ -327,6 +366,9 @@ /* PnP resources that might overlap PCI BARs */ {"PNP0c01", quirk_system_pci_resources}, {"PNP0c02", quirk_system_pci_resources}, +#ifdef CONFIG_AMD_NB + {"PNP0c01", quirk_amd_mmconfig_area}, +#endif {""} }; --- linux-2.6.32.orig/drivers/pnp/isapnp/core.c +++ linux-2.6.32/drivers/pnp/isapnp/core.c @@ -42,6 +42,7 @@ #include #include #include +#include #include #include "../base.h" @@ -1002,7 +1003,7 @@ .disable = isapnp_disable_resources, }; -static int __init isapnp_init(void) +static int __init real_isapnp_init(void) { int cards; struct pnp_card *card; @@ -1096,6 +1097,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-2.6.32.orig/drivers/power/apm_power.c +++ linux-2.6.32/drivers/power/apm_power.c @@ -233,6 +233,7 @@ empty_design_prop = POWER_SUPPLY_PROP_ENERGY_EMPTY_DESIGN; now_prop = POWER_SUPPLY_PROP_ENERGY_NOW; avg_prop = POWER_SUPPLY_PROP_ENERGY_AVG; + break; case SOURCE_VOLTAGE: full_prop = POWER_SUPPLY_PROP_VOLTAGE_MAX; empty_prop = POWER_SUPPLY_PROP_VOLTAGE_MIN; --- linux-2.6.32.orig/drivers/power/ds2760_battery.c +++ linux-2.6.32/drivers/power/ds2760_battery.c @@ -211,7 +211,7 @@ if (di->rem_capacity > 100) di->rem_capacity = 100; - if (di->current_uA >= 100L) + if (di->current_uA < -100L) di->life_sec = -((di->accum_current_uAh - di->empty_uAh) * 36L) / (di->current_uA / 100L); else --- linux-2.6.32.orig/drivers/power/olpc_battery.c +++ linux-2.6.32/drivers/power/olpc_battery.c @@ -271,14 +271,14 @@ if (ret) return ret; - val->intval = (int)be16_to_cpu(ec_word) * 9760L / 32; + val->intval = (s16)be16_to_cpu(ec_word) * 9760L / 32; break; case POWER_SUPPLY_PROP_CURRENT_AVG: ret = olpc_ec_cmd(EC_BAT_CURRENT, NULL, 0, (void *)&ec_word, 2); if (ret) return ret; - val->intval = (int)be16_to_cpu(ec_word) * 15625L / 120; + val->intval = (s16)be16_to_cpu(ec_word) * 15625L / 120; break; case POWER_SUPPLY_PROP_CAPACITY: ret = olpc_ec_cmd(EC_BAT_SOC, NULL, 0, &ec_byte, 1); @@ -299,7 +299,7 @@ if (ret) return ret; - val->intval = (int)be16_to_cpu(ec_word) * 100 / 256; + val->intval = (s16)be16_to_cpu(ec_word) * 100 / 256; break; case POWER_SUPPLY_PROP_TEMP_AMBIENT: ret = olpc_ec_cmd(EC_AMB_TEMP, NULL, 0, (void *)&ec_word, 2); @@ -313,7 +313,7 @@ if (ret) return ret; - val->intval = (int)be16_to_cpu(ec_word) * 6250 / 15; + val->intval = (s16)be16_to_cpu(ec_word) * 6250 / 15; break; case POWER_SUPPLY_PROP_SERIAL_NUMBER: ret = olpc_ec_cmd(EC_BAT_SERIAL, NULL, 0, (void *)&ser_buf, 8); --- linux-2.6.32.orig/drivers/regulator/core.c +++ linux-2.6.32/drivers/regulator/core.c @@ -640,7 +640,7 @@ static void print_constraints(struct regulator_dev *rdev) { struct regulation_constraints *constraints = rdev->constraints; - char buf[80]; + char buf[80] = ""; int count; if (rdev->desc->type == REGULATOR_VOLTAGE) { --- linux-2.6.32.orig/drivers/regulator/wm8350-regulator.c +++ linux-2.6.32/drivers/regulator/wm8350-regulator.c @@ -1504,7 +1504,8 @@ led->isink_init.consumer_supplies = &led->isink_consumer; led->isink_init.constraints.min_uA = 0; led->isink_init.constraints.max_uA = pdata->max_uA; - led->isink_init.constraints.valid_ops_mask = REGULATOR_CHANGE_CURRENT; + led->isink_init.constraints.valid_ops_mask + = REGULATOR_CHANGE_CURRENT | REGULATOR_CHANGE_STATUS; led->isink_init.constraints.valid_modes_mask = REGULATOR_MODE_NORMAL; ret = wm8350_register_regulator(wm8350, isink, &led->isink_init); if (ret != 0) { @@ -1517,6 +1518,7 @@ led->dcdc_init.num_consumer_supplies = 1; led->dcdc_init.consumer_supplies = &led->dcdc_consumer; led->dcdc_init.constraints.valid_modes_mask = REGULATOR_MODE_NORMAL; + led->dcdc_init.constraints.valid_ops_mask = REGULATOR_CHANGE_STATUS; ret = wm8350_register_regulator(wm8350, dcdc, &led->dcdc_init); if (ret != 0) { platform_device_put(pdev); --- linux-2.6.32.orig/drivers/rtc/class.c +++ linux-2.6.32/drivers/rtc/class.c @@ -226,6 +226,7 @@ { rtc_dev_exit(); class_destroy(rtc_class); + idr_destroy(&rtc_idr); } subsys_initcall(rtc_init); --- linux-2.6.32.orig/drivers/rtc/rtc-cmos.c +++ linux-2.6.32/drivers/rtc/rtc-cmos.c @@ -36,6 +36,7 @@ #include #include #include +#include /* this is for "generic access to PC-style RTC" using CMOS_READ/CMOS_WRITE */ #include @@ -723,6 +724,9 @@ } } + cmos_rtc.dev = dev; + dev_set_drvdata(dev, &cmos_rtc); + cmos_rtc.rtc = rtc_device_register(driver_name, dev, &cmos_rtc_ops, THIS_MODULE); if (IS_ERR(cmos_rtc.rtc)) { @@ -730,8 +734,6 @@ goto cleanup0; } - cmos_rtc.dev = dev; - dev_set_drvdata(dev, &cmos_rtc); rename_region(ports, dev_name(&cmos_rtc.rtc->dev)); spin_lock_irq(&rtc_lock); @@ -854,7 +856,7 @@ #ifdef CONFIG_PM -static int cmos_suspend(struct device *dev, pm_message_t mesg) +static int cmos_suspend(struct device *dev) { struct cmos_rtc *cmos = dev_get_drvdata(dev); unsigned char tmp; @@ -901,7 +903,7 @@ */ static inline int cmos_poweroff(struct device *dev) { - return cmos_suspend(dev, PMSG_HIBERNATE); + return cmos_suspend(dev); } static int cmos_resume(struct device *dev) @@ -948,9 +950,9 @@ return 0; } +static SIMPLE_DEV_PM_OPS(cmos_pm_ops, cmos_suspend, cmos_resume); + #else -#define cmos_suspend NULL -#define cmos_resume NULL static inline int cmos_poweroff(struct device *dev) { @@ -1086,7 +1088,7 @@ static int cmos_pnp_suspend(struct pnp_dev *pnp, pm_message_t mesg) { - return cmos_suspend(&pnp->dev, mesg); + return cmos_suspend(&pnp->dev); } static int cmos_pnp_resume(struct pnp_dev *pnp) @@ -1099,9 +1101,9 @@ #define cmos_pnp_resume NULL #endif -static void cmos_pnp_shutdown(struct device *pdev) +static void cmos_pnp_shutdown(struct pnp_dev *pnp) { - if (system_state == SYSTEM_POWER_OFF && !cmos_poweroff(pdev)) + if (system_state == SYSTEM_POWER_OFF && !cmos_poweroff(&pnp->dev)) return; cmos_do_shutdown(); @@ -1120,15 +1122,12 @@ .id_table = rtc_ids, .probe = cmos_pnp_probe, .remove = __exit_p(cmos_pnp_remove), + .shutdown = cmos_pnp_shutdown, /* flag ensures resume() gets called, and stops syslog spam */ .flags = PNP_DRIVER_RES_DO_NOT_CHANGE, .suspend = cmos_pnp_suspend, .resume = cmos_pnp_resume, - .driver = { - .name = (char *)driver_name, - .shutdown = cmos_pnp_shutdown, - } }; #endif /* CONFIG_PNP */ @@ -1169,8 +1168,9 @@ .shutdown = cmos_platform_shutdown, .driver = { .name = (char *) driver_name, - .suspend = cmos_suspend, - .resume = cmos_resume, +#ifdef CONFIG_PM + .pm = &cmos_pm_ops, +#endif } }; --- linux-2.6.32.orig/drivers/rtc/rtc-ds1307.c +++ linux-2.6.32/drivers/rtc/rtc-ds1307.c @@ -775,7 +775,7 @@ read_rtc: /* read RTC registers */ - tmp = ds1307->read_block_data(ds1307->client, 0, 8, buf); + tmp = ds1307->read_block_data(ds1307->client, ds1307->offset, 8, buf); if (tmp != 8) { pr_debug("read error %d\n", tmp); err = -EIO; @@ -860,7 +860,7 @@ if (ds1307->regs[DS1307_REG_HOUR] & DS1307_BIT_PM) tmp += 12; i2c_smbus_write_byte_data(client, - DS1307_REG_HOUR, + ds1307->offset + DS1307_REG_HOUR, bin2bcd(tmp)); } --- linux-2.6.32.orig/drivers/rtc/rtc-ds1511.c +++ linux-2.6.32/drivers/rtc/rtc-ds1511.c @@ -480,7 +480,7 @@ static struct bin_attribute ds1511_nvram_attr = { .attr = { .name = "nvram", - .mode = S_IRUGO | S_IWUGO, + .mode = S_IRUGO | S_IWUSR, }, .size = DS1511_RAM_MAX, .read = ds1511_nvram_read, --- linux-2.6.32.orig/drivers/rtc/rtc-fm3130.c +++ linux-2.6.32/drivers/rtc/rtc-fm3130.c @@ -376,20 +376,22 @@ } /* Disabling calibration mode */ - if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_CAL) + if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_CAL) { i2c_smbus_write_byte_data(client, FM3130_RTC_CONTROL, fm3130->regs[FM3130_RTC_CONTROL] & ~(FM3130_RTC_CONTROL_BIT_CAL)); dev_warn(&client->dev, "Disabling calibration mode!\n"); + } /* Disabling read and write modes */ if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_WRITE || - fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_READ) + fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_READ) { i2c_smbus_write_byte_data(client, FM3130_RTC_CONTROL, fm3130->regs[FM3130_RTC_CONTROL] & ~(FM3130_RTC_CONTROL_BIT_READ | FM3130_RTC_CONTROL_BIT_WRITE)); dev_warn(&client->dev, "Disabling READ or WRITE mode!\n"); + } /* oscillator off? turn it on, so clock can tick. */ if (fm3130->regs[FM3130_CAL_CONTROL] & FM3130_CAL_CONTROL_BIT_nOSCEN) --- linux-2.6.32.orig/drivers/rtc/rtc-coh901331.c +++ linux-2.6.32/drivers/rtc/rtc-coh901331.c @@ -271,12 +271,13 @@ { struct coh901331_port *rtap = dev_get_drvdata(&pdev->dev); - if (device_may_wakeup(&pdev->dev)) + if (device_may_wakeup(&pdev->dev)) { disable_irq_wake(rtap->irq); - else + } else { clk_enable(rtap->clk); writel(rtap->irqmaskstore, rtap->virtbase + COH901331_IRQ_MASK); clk_disable(rtap->clk); + } return 0; } #else --- linux-2.6.32.orig/drivers/rtc/rtc-s3c.c +++ linux-2.6.32/drivers/rtc/rtc-s3c.c @@ -456,8 +456,6 @@ pr_debug("s3c2410_rtc: RTCCON=%02x\n", readb(s3c_rtc_base + S3C2410_RTCCON)); - s3c_rtc_setfreq(&pdev->dev, 1); - device_init_wakeup(&pdev->dev, 1); /* register RTC and exit */ @@ -474,6 +472,9 @@ rtc->max_user_freq = 128; platform_set_drvdata(pdev, rtc); + + s3c_rtc_setfreq(&pdev->dev, 1); + return 0; err_nortc: --- linux-2.6.32.orig/drivers/s390/block/dasd.c +++ linux-2.6.32/drivers/s390/block/dasd.c @@ -994,10 +994,9 @@ return; cqr = (struct dasd_ccw_req *) intparm; if (cqr->status != DASD_CQR_IN_IO) { - DBF_EVENT(DBF_DEBUG, - "invalid status in handle_killed_request: " - "bus_id %s, status %02x", - dev_name(&cdev->dev), cqr->status); + DBF_EVENT_DEVID(DBF_DEBUG, cdev, + "invalid status in handle_killed_request: " + "%02x", cqr->status); return; } @@ -1005,8 +1004,8 @@ if (device == NULL || device != dasd_device_from_cdev_locked(cdev) || strncmp(device->discipline->ebcname, (char *) &cqr->magic, 4)) { - DBF_DEV_EVENT(DBF_DEBUG, device, "invalid device in request: " - "bus_id %s", dev_name(&cdev->dev)); + DBF_EVENT_DEVID(DBF_DEBUG, cdev, "%s", + "invalid device in request"); return; } @@ -1045,12 +1044,13 @@ case -EIO: break; case -ETIMEDOUT: - DBF_EVENT(DBF_WARNING, "%s(%s): request timed out\n", - __func__, dev_name(&cdev->dev)); + DBF_EVENT_DEVID(DBF_WARNING, cdev, "%s: " + "request timed out\n", __func__); break; default: - DBF_EVENT(DBF_WARNING, "%s(%s): unknown error %ld\n", - __func__, dev_name(&cdev->dev), PTR_ERR(irb)); + DBF_EVENT_DEVID(DBF_WARNING, cdev, "%s: " + "unknown error %ld\n", __func__, + PTR_ERR(irb)); } dasd_handle_killed_request(cdev, intparm); return; @@ -1078,8 +1078,8 @@ device = (struct dasd_device *) cqr->startdev; if (!device || strncmp(device->discipline->ebcname, (char *) &cqr->magic, 4)) { - DBF_DEV_EVENT(DBF_DEBUG, device, "invalid device in request: " - "bus_id %s", dev_name(&cdev->dev)); + DBF_EVENT_DEVID(DBF_DEBUG, cdev, "%s", + "invalid device in request"); return; } @@ -2217,9 +2217,9 @@ } ret = dasd_add_sysfs_files(cdev); if (ret) { - DBF_EVENT(DBF_WARNING, - "dasd_generic_probe: could not add sysfs entries " - "for %s\n", dev_name(&cdev->dev)); + DBF_EVENT_DEVID(DBF_WARNING, cdev, "%s", + "dasd_generic_probe: could not add " + "sysfs entries"); return ret; } cdev->handler = &dasd_int_handler; --- linux-2.6.32.orig/drivers/s390/block/dasd_diag.c +++ linux-2.6.32/drivers/s390/block/dasd_diag.c @@ -145,6 +145,15 @@ mdsk_term_io(device); rc = mdsk_init_io(device, device->block->bp_block, 0, NULL); + if (rc == 4) { + if (!(device->features & DASD_FEATURE_READONLY)) { + dev_warn(&device->cdev->dev, + "The access mode of a DIAG device changed" + " to read-only"); + device->features |= DASD_FEATURE_READONLY; + } + rc = 0; + } if (rc) dev_warn(&device->cdev->dev, "DIAG ERP failed with " "rc=%d\n", rc); @@ -433,16 +442,20 @@ for (sb = 512; sb < bsize; sb = sb << 1) block->s2b_shift++; rc = mdsk_init_io(device, block->bp_block, 0, NULL); - if (rc) { + if (rc && (rc != 4)) { dev_warn(&device->cdev->dev, "DIAG initialization " "failed with rc=%d\n", rc); rc = -EIO; } else { + if (rc == 4) + device->features |= DASD_FEATURE_READONLY; dev_info(&device->cdev->dev, - "New DASD with %ld byte/block, total size %ld KB\n", + "New DASD with %ld byte/block, total size %ld KB%s\n", (unsigned long) block->bp_block, (unsigned long) (block->blocks << - block->s2b_shift) >> 1); + block->s2b_shift) >> 1, + (rc == 4) ? ", read-only device" : ""); + rc = 0; } out_label: free_page((long) label); --- linux-2.6.32.orig/drivers/s390/block/dasd_eckd.c +++ linux-2.6.32/drivers/s390/block/dasd_eckd.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -63,7 +64,7 @@ static struct ccw_device_id dasd_eckd_ids[] = { { CCW_DEVICE_DEVTYPE (0x3990, 0, 0x3390, 0), .driver_info = 0x1}, { CCW_DEVICE_DEVTYPE (0x2105, 0, 0x3390, 0), .driver_info = 0x2}, - { CCW_DEVICE_DEVTYPE (0x3880, 0, 0x3390, 0), .driver_info = 0x3}, + { CCW_DEVICE_DEVTYPE (0x3880, 0, 0x3380, 0), .driver_info = 0x3}, { CCW_DEVICE_DEVTYPE (0x3990, 0, 0x3380, 0), .driver_info = 0x4}, { CCW_DEVICE_DEVTYPE (0x2105, 0, 0x3380, 0), .driver_info = 0x5}, { CCW_DEVICE_DEVTYPE (0x9343, 0, 0x9345, 0), .driver_info = 0x6}, @@ -88,9 +89,9 @@ /* set ECKD specific ccw-device options */ ret = ccw_device_set_options(cdev, CCWDEV_ALLOW_FORCE); if (ret) { - DBF_EVENT(DBF_WARNING, - "dasd_eckd_probe: could not set ccw-device options " - "for %s\n", dev_name(&cdev->dev)); + DBF_EVENT_DEVID(DBF_WARNING, cdev, "%s", + "dasd_eckd_probe: could not set " + "ccw-device options"); return ret; } ret = dasd_generic_probe(cdev, &dasd_eckd_discipline); @@ -885,16 +886,15 @@ rc = dasd_eckd_read_conf_lpm(device, &conf_data, &conf_len, lpm); if (rc && rc != -EOPNOTSUPP) { /* -EOPNOTSUPP is ok */ - DBF_EVENT(DBF_WARNING, + DBF_EVENT_DEVID(DBF_WARNING, device->cdev, "Read configuration data returned " - "error %d for device: %s", rc, - dev_name(&device->cdev->dev)); + "error %d", rc); return rc; } if (conf_data == NULL) { - DBF_EVENT(DBF_WARNING, "No configuration " - "data retrieved for device: %s", - dev_name(&device->cdev->dev)); + DBF_EVENT_DEVID(DBF_WARNING, device->cdev, "%s", + "No configuration data " + "retrieved"); continue; /* no error */ } /* save first valid configuration data */ @@ -941,9 +941,8 @@ sizeof(struct dasd_rssd_features)), device); if (IS_ERR(cqr)) { - DBF_EVENT(DBF_WARNING, "Could not allocate initialization " - "request for device: %s", - dev_name(&device->cdev->dev)); + DBF_EVENT_DEVID(DBF_WARNING, device->cdev, "%s", "Could not " + "allocate initialization request"); return PTR_ERR(cqr); } cqr->startdev = device; @@ -1071,10 +1070,8 @@ /* may be requested feature is not available on server, * therefore just report error and go ahead */ private = (struct dasd_eckd_private *) device->private; - DBF_EVENT(DBF_WARNING, "PSF-SSC on storage subsystem %s.%s.%04x " - "returned rc=%d for device: %s", - private->uid.vendor, private->uid.serial, - private->uid.ssid, rc, dev_name(&device->cdev->dev)); + DBF_EVENT_DEVID(DBF_WARNING, device->cdev, "PSF-SSC for SSID %04x " + "returned rc=%d", private->uid.ssid, rc); /* RE-Read Configuration Data */ return dasd_eckd_read_conf(device); } @@ -1123,9 +1120,9 @@ if (private->uid.type == UA_BASE_DEVICE) { block = dasd_alloc_block(); if (IS_ERR(block)) { - DBF_EVENT(DBF_WARNING, "could not allocate dasd " - "block structure for device: %s", - dev_name(&device->cdev->dev)); + DBF_EVENT_DEVID(DBF_WARNING, device->cdev, "%s", + "could not allocate dasd " + "block structure"); rc = PTR_ERR(block); goto out_err1; } @@ -1153,9 +1150,8 @@ rc = dasd_generic_read_dev_chars(device, DASD_ECKD_MAGIC, &private->rdc_data, 64); if (rc) { - DBF_EVENT(DBF_WARNING, - "Read device characteristics failed, rc=%d for " - "device: %s", rc, dev_name(&device->cdev->dev)); + DBF_EVENT_DEVID(DBF_WARNING, device->cdev, + "Read device characteristic failed, rc=%d", rc); goto out_err3; } /* find the vaild cylinder size */ @@ -2980,7 +2976,7 @@ len += sprintf(page + len, KERN_ERR PRINTK_HEADER " in req: %p CS: 0x%02X DS: 0x%02X CC: 0x%02X RC: %d\n", req, scsw_cstat(&irb->scsw), scsw_dstat(&irb->scsw), - scsw_cc(&irb->scsw), req->intrc); + scsw_cc(&irb->scsw), req ? req->intrc : 0); len += sprintf(page + len, KERN_ERR PRINTK_HEADER " device %s: Failing CCW: %p\n", dev_name(&device->cdev->dev), @@ -3253,9 +3249,8 @@ rc = dasd_generic_read_dev_chars(device, DASD_ECKD_MAGIC, &temp_rdc_data, 64); if (rc) { - DBF_EVENT(DBF_WARNING, - "Read device characteristics failed, rc=%d for " - "device: %s", rc, dev_name(&device->cdev->dev)); + DBF_EVENT_DEVID(DBF_WARNING, device->cdev, + "Read device characteristic failed, rc=%d", rc); goto out_err; } spin_lock_irqsave(get_ccwdev_lock(device->cdev), flags); --- linux-2.6.32.orig/drivers/s390/block/dasd_fba.c +++ linux-2.6.32/drivers/s390/block/dasd_fba.c @@ -141,9 +141,8 @@ } block = dasd_alloc_block(); if (IS_ERR(block)) { - DBF_EVENT(DBF_WARNING, "could not allocate dasd block " - "structure for device: %s", - dev_name(&device->cdev->dev)); + DBF_EVENT_DEVID(DBF_WARNING, cdev, "%s", "could not allocate " + "dasd block structure"); device->private = NULL; kfree(private); return PTR_ERR(block); @@ -155,9 +154,8 @@ rc = dasd_generic_read_dev_chars(device, DASD_FBA_MAGIC, &private->rdc_data, 32); if (rc) { - DBF_EVENT(DBF_WARNING, "Read device characteristics returned " - "error %d for device: %s", - rc, dev_name(&device->cdev->dev)); + DBF_EVENT_DEVID(DBF_WARNING, cdev, "Read device " + "characteristics returned error %d", rc); device->block = NULL; dasd_free_block(block); device->private = NULL; --- linux-2.6.32.orig/drivers/s390/block/dasd_int.h +++ linux-2.6.32/drivers/s390/block/dasd_int.h @@ -108,6 +108,16 @@ d_data); \ } while(0) +#define DBF_EVENT_DEVID(d_level, d_cdev, d_str, d_data...) \ +do { \ + struct ccw_dev_id __dev_id; \ + ccw_device_get_id(d_cdev, &__dev_id); \ + debug_sprintf_event(dasd_debug_area, \ + d_level, \ + "0.%x.%04x " d_str "\n", \ + __dev_id.ssid, __dev_id.devno, d_data); \ +} while (0) + #define DBF_EXC(d_level, d_str, d_data...)\ do { \ debug_sprintf_exception(dasd_debug_area, \ --- linux-2.6.32.orig/drivers/s390/block/dasd_ioctl.c +++ linux-2.6.32/drivers/s390/block/dasd_ioctl.c @@ -13,6 +13,7 @@ #define KMSG_COMPONENT "dasd" #include +#include #include #include #include @@ -260,7 +261,7 @@ struct ccw_dev_id dev_id; base = block->base; - if (!base->discipline->fill_info) + if (!base->discipline || !base->discipline->fill_info) return -EINVAL; dasd_info = kzalloc(sizeof(struct dasd_information2_t), GFP_KERNEL); @@ -303,10 +304,7 @@ dasd_info->features |= ((base->features & DASD_FEATURE_READONLY) != 0); - if (base->discipline) - memcpy(dasd_info->type, base->discipline->name, 4); - else - memcpy(dasd_info->type, "none", 4); + memcpy(dasd_info->type, base->discipline->name, 4); if (block->request_queue->request_fn) { struct list_head *l; --- linux-2.6.32.orig/drivers/s390/block/dasd_proc.c +++ linux-2.6.32/drivers/s390/block/dasd_proc.c @@ -71,7 +71,7 @@ /* Print device number. */ seq_printf(m, "%s", dev_name(&device->cdev->dev)); /* Print discipline string. */ - if (device != NULL && device->discipline != NULL) + if (device->discipline != NULL) seq_printf(m, "(%s)", device->discipline->name); else seq_printf(m, "(none)"); @@ -91,10 +91,7 @@ substr = (device->features & DASD_FEATURE_READONLY) ? "(ro)" : " "; seq_printf(m, "%4s: ", substr); /* Print device status information. */ - switch ((device != NULL) ? device->state : -1) { - case -1: - seq_printf(m, "unknown"); - break; + switch (device->state) { case DASD_STATE_NEW: seq_printf(m, "new"); break; --- linux-2.6.32.orig/drivers/s390/char/fs3270.c +++ linux-2.6.32/drivers/s390/char/fs3270.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include --- linux-2.6.32.orig/drivers/s390/char/keyboard.c +++ linux-2.6.32/drivers/s390/char/keyboard.c @@ -462,7 +462,8 @@ unsigned int cmd, unsigned long arg) { void __user *argp; - int ct, perm; + unsigned int ct; + int perm; argp = (void __user *)arg; --- linux-2.6.32.orig/drivers/s390/char/vmcp.c +++ linux-2.6.32/drivers/s390/char/vmcp.c @@ -16,6 +16,7 @@ #include #include +#include #include #include #include --- linux-2.6.32.orig/drivers/s390/cio/ccwgroup.c +++ linux-2.6.32/drivers/s390/cio/ccwgroup.c @@ -66,6 +66,12 @@ } +static ssize_t ccwgroup_online_store(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count); +static ssize_t ccwgroup_online_show(struct device *dev, + struct device_attribute *attr, + char *buf); /* * Provide an 'ungroup' attribute so the user can remove group devices no * longer needed or accidentially created. Saves memory :) @@ -112,6 +118,20 @@ } static DEVICE_ATTR(ungroup, 0200, NULL, ccwgroup_ungroup_store); +static DEVICE_ATTR(online, 0644, ccwgroup_online_show, ccwgroup_online_store); + +static struct attribute *ccwgroup_attrs[] = { + &dev_attr_online.attr, + &dev_attr_ungroup.attr, + NULL, +}; +static struct attribute_group ccwgroup_attr_group = { + .attrs = ccwgroup_attrs, +}; +static const struct attribute_group *ccwgroup_attr_groups[] = { + &ccwgroup_attr_group, + NULL, +}; static void ccwgroup_release (struct device *dev) @@ -280,25 +300,17 @@ } dev_set_name(&gdev->dev, "%s", dev_name(&gdev->cdev[0]->dev)); - + gdev->dev.groups = ccwgroup_attr_groups; rc = device_add(&gdev->dev); if (rc) goto error; get_device(&gdev->dev); - rc = device_create_file(&gdev->dev, &dev_attr_ungroup); - - if (rc) { - device_unregister(&gdev->dev); - goto error; - } - rc = __ccwgroup_create_symlinks(gdev); if (!rc) { mutex_unlock(&gdev->reg_mutex); put_device(&gdev->dev); return 0; } - device_remove_file(&gdev->dev, &dev_attr_ungroup); device_unregister(&gdev->dev); error: for (i = 0; i < num_devices; i++) @@ -408,7 +420,7 @@ int ret; if (!dev->driver) - return -ENODEV; + return -EINVAL; gdev = to_ccwgroupdev(dev); gdrv = to_ccwgroupdrv(dev->driver); @@ -441,8 +453,6 @@ return sprintf(buf, online ? "1\n" : "0\n"); } -static DEVICE_ATTR(online, 0644, ccwgroup_online_show, ccwgroup_online_store); - static int ccwgroup_probe (struct device *dev) { @@ -454,12 +464,7 @@ gdev = to_ccwgroupdev(dev); gdrv = to_ccwgroupdrv(dev->driver); - if ((ret = device_create_file(dev, &dev_attr_online))) - return ret; - ret = gdrv->probe ? gdrv->probe(gdev) : -ENODEV; - if (ret) - device_remove_file(dev, &dev_attr_online); return ret; } @@ -470,9 +475,6 @@ struct ccwgroup_device *gdev; struct ccwgroup_driver *gdrv; - device_remove_file(dev, &dev_attr_online); - device_remove_file(dev, &dev_attr_ungroup); - if (!dev->driver) return 0; --- linux-2.6.32.orig/drivers/s390/cio/chsc_sch.c +++ linux-2.6.32/drivers/s390/cio/chsc_sch.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include --- linux-2.6.32.orig/drivers/s390/cio/cio.c +++ linux-2.6.32/drivers/s390/cio/cio.c @@ -618,6 +618,7 @@ old_regs = set_irq_regs(regs); s390_idle_check(); irq_enter(); + __get_cpu_var(s390_idle).nohz_delay = 1; if (S390_lowcore.int_clock >= S390_lowcore.clock_comparator) /* Serve timer interrupts first. */ clock_comparator_work(); --- linux-2.6.32.orig/drivers/s390/cio/device.c +++ linux-2.6.32/drivers/s390/cio/device.c @@ -1292,7 +1292,7 @@ sch->private = kzalloc(sizeof(struct io_subchannel_private), GFP_KERNEL | GFP_DMA); if (!sch->private) - goto out_err; + goto out_schedule; /* * First check if a fitting device may be found amongst the * disconnected devices or in the orphanage. @@ -1317,7 +1317,7 @@ } cdev = io_subchannel_create_ccwdev(sch); if (IS_ERR(cdev)) - goto out_err; + goto out_schedule; rc = io_subchannel_recog(cdev, sch); if (rc) { spin_lock_irqsave(sch->lock, flags); @@ -1325,9 +1325,7 @@ spin_unlock_irqrestore(sch->lock, flags); } return 0; -out_err: - kfree(sch->private); - sysfs_remove_group(&sch->dev.kobj, &io_subchannel_attr_group); + out_schedule: io_subchannel_schedule_removal(sch); return 0; @@ -1341,13 +1339,14 @@ cdev = sch_get_cdev(sch); if (!cdev) - return 0; + goto out_free; /* Set ccw device to not operational and drop reference. */ spin_lock_irqsave(cdev->ccwlock, flags); sch_set_cdev(sch, NULL); cdev->private->state = DEV_STATE_NOT_OPER; spin_unlock_irqrestore(cdev->ccwlock, flags); ccw_device_unregister(cdev); +out_free: kfree(sch->private); sysfs_remove_group(&sch->dev.kobj, &io_subchannel_attr_group); return 0; --- linux-2.6.32.orig/drivers/s390/cio/device_fsm.c +++ linux-2.6.32/drivers/s390/cio/device_fsm.c @@ -1080,14 +1080,14 @@ ccw_device_start_id(cdev, 0); } -static void -ccw_device_offline_irq(struct ccw_device *cdev, enum dev_event dev_event) +static void ccw_device_disabled_irq(struct ccw_device *cdev, + enum dev_event dev_event) { struct subchannel *sch; sch = to_subchannel(cdev->dev.parent); /* - * An interrupt in state offline means a previous disable was not + * An interrupt in a disabled state means a previous disable was not * successful - should not happen, but we try to disable again. */ cio_disable_subchannel(sch); @@ -1150,25 +1150,12 @@ } /* - * Bug operation action. - */ -static void -ccw_device_bug(struct ccw_device *cdev, enum dev_event dev_event) -{ - CIO_MSG_EVENT(0, "Internal state [%i][%i] not handled for device " - "0.%x.%04x\n", cdev->private->state, dev_event, - cdev->private->dev_id.ssid, - cdev->private->dev_id.devno); - BUG(); -} - -/* * device statemachine */ fsm_func_t *dev_jumptable[NR_DEV_STATES][NR_DEV_EVENTS] = { [DEV_STATE_NOT_OPER] = { [DEV_EVENT_NOTOPER] = ccw_device_nop, - [DEV_EVENT_INTERRUPT] = ccw_device_bug, + [DEV_EVENT_INTERRUPT] = ccw_device_disabled_irq, [DEV_EVENT_TIMEOUT] = ccw_device_nop, [DEV_EVENT_VERIFY] = ccw_device_nop, }, @@ -1186,7 +1173,7 @@ }, [DEV_STATE_OFFLINE] = { [DEV_EVENT_NOTOPER] = ccw_device_generic_notoper, - [DEV_EVENT_INTERRUPT] = ccw_device_offline_irq, + [DEV_EVENT_INTERRUPT] = ccw_device_disabled_irq, [DEV_EVENT_TIMEOUT] = ccw_device_nop, [DEV_EVENT_VERIFY] = ccw_device_offline_verify, }, @@ -1243,7 +1230,7 @@ [DEV_STATE_DISCONNECTED] = { [DEV_EVENT_NOTOPER] = ccw_device_nop, [DEV_EVENT_INTERRUPT] = ccw_device_start_id, - [DEV_EVENT_TIMEOUT] = ccw_device_bug, + [DEV_EVENT_TIMEOUT] = ccw_device_nop, [DEV_EVENT_VERIFY] = ccw_device_start_id, }, [DEV_STATE_DISCONNECTED_SENSE_ID] = { --- linux-2.6.32.orig/drivers/s390/crypto/zcrypt_pcicc.c +++ linux-2.6.32/drivers/s390/crypto/zcrypt_pcicc.c @@ -373,6 +373,8 @@ zdev->max_mod_size = PCICC_MAX_MOD_SIZE_OLD; return -EAGAIN; } + if (service_rc == 8 && service_rs == 72) + return -EINVAL; zdev->online = 0; return -EAGAIN; /* repeat the request on a different device. */ } --- linux-2.6.32.orig/drivers/s390/crypto/zcrypt_pcixcc.c +++ linux-2.6.32/drivers/s390/crypto/zcrypt_pcixcc.c @@ -462,6 +462,8 @@ } if (service_rc == 12 && service_rs == 769) return -EINVAL; + if (service_rc == 8 && service_rs == 72) + return -EINVAL; zdev->online = 0; return -EAGAIN; /* repeat the request on a different device. */ } --- linux-2.6.32.orig/drivers/s390/net/netiucv.c +++ linux-2.6.32/drivers/s390/net/netiucv.c @@ -741,13 +741,13 @@ if (single_flag) { if ((skb = skb_dequeue(&conn->commit_queue))) { atomic_dec(&skb->users); - dev_kfree_skb_any(skb); if (privptr) { privptr->stats.tx_packets++; privptr->stats.tx_bytes += (skb->len - NETIUCV_HDRLEN - - NETIUCV_HDRLEN); + - NETIUCV_HDRLEN); } + dev_kfree_skb_any(skb); } } conn->tx_buff->data = conn->tx_buff->head; --- linux-2.6.32.orig/drivers/s390/scsi/zfcp_cfdc.c +++ linux-2.6.32/drivers/s390/scsi/zfcp_cfdc.c @@ -12,6 +12,7 @@ #include #include +#include #include #include "zfcp_def.h" #include "zfcp_ext.h" --- linux-2.6.32.orig/drivers/scsi/3w-9xxx.c +++ linux-2.6.32/drivers/scsi/3w-9xxx.c @@ -76,6 +76,7 @@ Fix bug in twa_get_param() on 4GB+. Use pci_resource_len() for ioremap(). 2.26.02.012 - Add power management support. + 2.26.02.013 - Fix bug in twa_load_sgl(). */ #include @@ -100,7 +101,7 @@ #include "3w-9xxx.h" /* Globals */ -#define TW_DRIVER_VERSION "2.26.02.012" +#define TW_DRIVER_VERSION "2.26.02.013" static TW_Device_Extension *twa_device_extension_list[TW_MAX_SLOT]; static unsigned int twa_device_extension_count; static int twa_major = -1; @@ -1378,10 +1379,12 @@ newcommand = &full_command_packet->command.newcommand; newcommand->request_id__lunl = cpu_to_le16(TW_REQ_LUN_IN(TW_LUN_OUT(newcommand->request_id__lunl), request_id)); - newcommand->sg_list[0].address = TW_CPU_TO_SGL(dma_handle + sizeof(TW_Ioctl_Buf_Apache) - 1); - newcommand->sg_list[0].length = cpu_to_le32(length); + if (length) { + newcommand->sg_list[0].address = TW_CPU_TO_SGL(dma_handle + sizeof(TW_Ioctl_Buf_Apache) - 1); + newcommand->sg_list[0].length = cpu_to_le32(length); + } newcommand->sgl_entries__lunh = - cpu_to_le16(TW_REQ_LUN_IN(TW_LUN_OUT(newcommand->sgl_entries__lunh), 1)); + cpu_to_le16(TW_REQ_LUN_IN(TW_LUN_OUT(newcommand->sgl_entries__lunh), length ? 1 : 0)); } else { oldcommand = &full_command_packet->command.oldcommand; oldcommand->request_id = request_id; @@ -1786,10 +1789,12 @@ switch (retval) { case SCSI_MLQUEUE_HOST_BUSY: twa_free_request_id(tw_dev, request_id); + twa_unmap_scsi_data(tw_dev, request_id); break; case 1: tw_dev->state[request_id] = TW_S_COMPLETED; twa_free_request_id(tw_dev, request_id); + twa_unmap_scsi_data(tw_dev, request_id); SCpnt->result = (DID_ERROR << 16); done(SCpnt); retval = 0; --- linux-2.6.32.orig/drivers/scsi/Kconfig +++ linux-2.6.32/drivers/scsi/Kconfig @@ -621,6 +621,14 @@ substantial, so users of MultiMaster Host Adapters may not wish to include it. +config VMWARE_PVSCSI + tristate "VMware PVSCSI driver support" + depends on PCI && SCSI && X86 + help + This driver supports VMware's para virtualized SCSI HBA. + To compile this driver as a module, choose M here: the + module will be called vmw_pvscsi. + config LIBFC tristate "LibFC module" select SCSI_FC_ATTRS --- linux-2.6.32.orig/drivers/scsi/Makefile +++ linux-2.6.32/drivers/scsi/Makefile @@ -133,6 +133,7 @@ obj-$(CONFIG_SCSI_BNX2_ISCSI) += libiscsi.o bnx2i/ obj-$(CONFIG_BE2ISCSI) += libiscsi.o be2iscsi/ obj-$(CONFIG_SCSI_PMCRAID) += pmcraid.o +obj-$(CONFIG_VMWARE_PVSCSI) += vmw_pvscsi.o obj-$(CONFIG_ARM) += arm/ --- linux-2.6.32.orig/drivers/scsi/hosts.c +++ linux-2.6.32/drivers/scsi/hosts.c @@ -180,14 +180,20 @@ EXPORT_SYMBOL(scsi_remove_host); /** - * scsi_add_host - add a scsi host + * scsi_add_host_with_dma - add a scsi host with dma device * @shost: scsi host pointer to add * @dev: a struct device of type scsi class + * @dma_dev: dma device for the host + * + * Note: You rarely need to worry about this unless you're in a + * virtualised host environments, so use the simpler scsi_add_host() + * function instead. * * Return value: * 0 on success / != 0 for error **/ -int scsi_add_host(struct Scsi_Host *shost, struct device *dev) +int scsi_add_host_with_dma(struct Scsi_Host *shost, struct device *dev, + struct device *dma_dev) { struct scsi_host_template *sht = shost->hostt; int error = -EINVAL; @@ -207,6 +213,7 @@ if (!shost->shost_gendev.parent) shost->shost_gendev.parent = dev ? dev : &platform_bus; + shost->dma_dev = dma_dev; error = device_add(&shost->shost_gendev); if (error) @@ -262,12 +269,13 @@ fail: return error; } -EXPORT_SYMBOL(scsi_add_host); +EXPORT_SYMBOL(scsi_add_host_with_dma); static void scsi_host_dev_release(struct device *dev) { struct Scsi_Host *shost = dev_to_shost(dev); struct device *parent = dev->parent; + struct request_queue *q; scsi_proc_hostdir_rm(shost->hostt); @@ -275,9 +283,11 @@ kthread_stop(shost->ehandler); if (shost->work_q) destroy_workqueue(shost->work_q); - if (shost->uspace_req_q) { - kfree(shost->uspace_req_q->queuedata); - scsi_free_queue(shost->uspace_req_q); + q = shost->uspace_req_q; + if (q) { + kfree(q->queuedata); + q->queuedata = NULL; + scsi_free_queue(q); } scsi_destroy_command_freelist(shost); --- linux-2.6.32.orig/drivers/scsi/sd.c +++ linux-2.6.32/drivers/scsi/sd.c @@ -817,6 +817,10 @@ SCSI_LOG_IOCTL(1, printk("sd_ioctl: disk=%s, cmd=0x%x\n", disk->disk_name, cmd)); + error = scsi_verify_blk_ioctl(bdev, cmd); + if (error < 0) + return error; + /* * If we are in the middle of error recovery, don't let anyone * else try and use this device. Also, if error recovery fails, it @@ -838,7 +842,7 @@ case SCSI_IOCTL_GET_BUS_NUMBER: return scsi_ioctl(sdp, cmd, p); default: - error = scsi_cmd_ioctl(disk->queue, disk, mode, cmd, p); + error = scsi_cmd_blk_ioctl(bdev, mode, cmd, p); if (error != -ENOTTY) return error; } @@ -971,6 +975,7 @@ { rq->cmd_type = REQ_TYPE_BLOCK_PC; rq->timeout = SD_TIMEOUT; + rq->retries = SD_MAX_RETRIES; rq->cmd[0] = SYNCHRONIZE_CACHE; rq->cmd_len = 10; } @@ -995,6 +1000,11 @@ unsigned int cmd, unsigned long arg) { struct scsi_device *sdev = scsi_disk(bdev->bd_disk)->device; + int ret; + + ret = scsi_verify_blk_ioctl(bdev, cmd); + if (ret < 0) + return -ENOIOCTLCMD; /* * If we are in the middle of error recovery, don't let anyone @@ -1006,8 +1016,6 @@ return -ENODEV; if (sdev->host->hostt->compat_ioctl) { - int ret; - ret = sdev->host->hostt->compat_ioctl(sdev, cmd, (void __user *)arg); return ret; @@ -1039,6 +1047,12 @@ u64 end_lba = blk_rq_pos(scmd->request) + (scsi_bufflen(scmd) / 512); u64 bad_lba; int info_valid; + /* + * resid is optional but mostly filled in. When it's unused, + * its value is zero, so we assume the whole buffer transferred + */ + unsigned int transferred = scsi_bufflen(scmd) - scsi_get_resid(scmd); + unsigned int good_bytes; if (!blk_fs_request(scmd->request)) return 0; @@ -1072,7 +1086,8 @@ /* This computation should always be done in terms of * the resolution of the device's medium. */ - return (bad_lba - start_lba) * scmd->device->sector_size; + good_bytes = (bad_lba - start_lba) * scmd->device->sector_size; + return min(good_bytes, transferred); } /** @@ -2048,11 +2063,10 @@ index = sdkp->index; dev = &sdp->sdev_gendev; - if (index < SD_MAX_DISKS) { - gd->major = sd_major((index & 0xf0) >> 4); - gd->first_minor = ((index & 0xf) << 4) | (index & 0xfff00); - gd->minors = SD_MINORS; - } + gd->major = sd_major((index & 0xf0) >> 4); + gd->first_minor = ((index & 0xf) << 4) | (index & 0xfff00); + gd->minors = SD_MINORS; + gd->fops = &sd_fops; gd->private_data = &sdkp->driver; gd->queue = sdkp->device->request_queue; @@ -2141,6 +2155,12 @@ if (error) goto out_put; + if (index >= SD_MAX_DISKS) { + error = -ENODEV; + sdev_printk(KERN_WARNING, sdp, "SCSI disk (sd) name space exhausted.\n"); + goto out_free_index; + } + error = sd_format_disk_name("sd", index, gd->disk_name, DISK_NAME_LEN); if (error) goto out_free_index; --- linux-2.6.32.orig/drivers/scsi/gdth.c +++ linux-2.6.32/drivers/scsi/gdth.c @@ -4174,6 +4174,14 @@ ha = gdth_find_ha(gen.ionode); if (!ha) return -EFAULT; + + if (gen.data_len > INT_MAX) + return -EINVAL; + if (gen.sense_len > INT_MAX) + return -EINVAL; + if (gen.data_len + gen.sense_len > INT_MAX) + return -EINVAL; + if (gen.data_len + gen.sense_len != 0) { if (!(buf = gdth_ioctl_alloc(ha, gen.data_len + gen.sense_len, FALSE, &paddr))) --- linux-2.6.32.orig/drivers/scsi/ipr.c +++ linux-2.6.32/drivers/scsi/ipr.c @@ -6516,6 +6516,7 @@ int rc; ENTER; + ioa_cfg->pdev->state_saved = true; rc = pci_restore_state(ioa_cfg->pdev); if (rc != PCIBIOS_SUCCESSFUL) { @@ -7667,7 +7668,7 @@ uproc = readl(ioa_cfg->regs.sense_uproc_interrupt_reg); if ((mask & IPR_PCII_HRRQ_UPDATED) == 0 || (uproc & IPR_UPROCI_RESET_ALERT)) ioa_cfg->needs_hard_reset = 1; - if (interrupts & IPR_PCII_ERROR_INTERRUPTS) + if ((interrupts & IPR_PCII_ERROR_INTERRUPTS) || reset_devices) ioa_cfg->needs_hard_reset = 1; if (interrupts & IPR_PCII_IOA_UNIT_CHECKED) ioa_cfg->ioa_unit_checked = 1; --- linux-2.6.32.orig/drivers/scsi/libiscsi.c +++ linux-2.6.32/drivers/scsi/libiscsi.c @@ -384,12 +384,12 @@ WARN_ON(hdrlength >= 256); hdr->hlength = hdrlength & 0xFF; + hdr->cmdsn = task->cmdsn = cpu_to_be32(session->cmdsn); if (session->tt->init_task && session->tt->init_task(task)) return -EIO; task->state = ISCSI_TASK_RUNNING; - hdr->cmdsn = task->cmdsn = cpu_to_be32(session->cmdsn); session->cmdsn++; conn->scsicmd_pdus_cnt++; @@ -2823,14 +2823,15 @@ session->state = ISCSI_STATE_TERMINATE; else if (conn->stop_stage != STOP_CONN_RECOVER) session->state = ISCSI_STATE_IN_RECOVERY; + + old_stop_stage = conn->stop_stage; + conn->stop_stage = flag; spin_unlock_bh(&session->lock); del_timer_sync(&conn->transport_timer); iscsi_suspend_tx(conn); spin_lock_bh(&session->lock); - old_stop_stage = conn->stop_stage; - conn->stop_stage = flag; conn->c_stage = ISCSI_CONN_STOPPED; spin_unlock_bh(&session->lock); --- linux-2.6.32.orig/drivers/scsi/libiscsi_tcp.c +++ linux-2.6.32/drivers/scsi/libiscsi_tcp.c @@ -1069,7 +1069,8 @@ struct iscsi_cls_conn *cls_conn; struct iscsi_tcp_conn *tcp_conn; - cls_conn = iscsi_conn_setup(cls_session, sizeof(*tcp_conn), conn_idx); + cls_conn = iscsi_conn_setup(cls_session, + sizeof(*tcp_conn) + dd_data_size, conn_idx); if (!cls_conn) return NULL; conn = cls_conn->dd_data; @@ -1081,22 +1082,13 @@ tcp_conn = conn->dd_data; tcp_conn->iscsi_conn = conn; - - tcp_conn->dd_data = kzalloc(dd_data_size, GFP_KERNEL); - if (!tcp_conn->dd_data) { - iscsi_conn_teardown(cls_conn); - return NULL; - } + tcp_conn->dd_data = conn->dd_data + sizeof(*tcp_conn); return cls_conn; } EXPORT_SYMBOL_GPL(iscsi_tcp_conn_setup); void iscsi_tcp_conn_teardown(struct iscsi_cls_conn *cls_conn) { - struct iscsi_conn *conn = cls_conn->dd_data; - struct iscsi_tcp_conn *tcp_conn = conn->dd_data; - - kfree(tcp_conn->dd_data); iscsi_conn_teardown(cls_conn); } EXPORT_SYMBOL_GPL(iscsi_tcp_conn_teardown); --- linux-2.6.32.orig/drivers/scsi/qla1280.c +++ linux-2.6.32/drivers/scsi/qla1280.c @@ -1640,8 +1640,10 @@ uint16_t mb[MAILBOX_REGISTER_COUNT], i; int err; + spin_unlock_irq(ha->host->host_lock); err = request_firmware(&fw, ql1280_board_tbl[ha->devnum].fwname, &ha->pdev->dev); + spin_lock_irq(ha->host->host_lock); if (err) { printk(KERN_ERR "Failed to load image \"%s\" err %d\n", ql1280_board_tbl[ha->devnum].fwname, err); @@ -1699,8 +1701,10 @@ return -ENOMEM; #endif + spin_unlock_irq(ha->host->host_lock); err = request_firmware(&fw, ql1280_board_tbl[ha->devnum].fwname, &ha->pdev->dev); + spin_lock_irq(ha->host->host_lock); if (err) { printk(KERN_ERR "Failed to load image \"%s\" err %d\n", ql1280_board_tbl[ha->devnum].fwname, err); --- linux-2.6.32.orig/drivers/scsi/scsi_debug.c +++ linux-2.6.32/drivers/scsi/scsi_debug.c @@ -914,7 +914,8 @@ static sector_t get_sdebug_capacity(void) { if (scsi_debug_virtual_gb > 0) - return 2048 * 1024 * (sector_t)scsi_debug_virtual_gb; + return (sector_t)scsi_debug_virtual_gb * + (1073741824 / scsi_debug_sector_size); else return sdebug_store_sectors; } --- linux-2.6.32.orig/drivers/scsi/scsi_error.c +++ linux-2.6.32/drivers/scsi/scsi_error.c @@ -301,7 +301,20 @@ if (scmd->device->allow_restart && (sshdr.asc == 0x04) && (sshdr.ascq == 0x02)) return FAILED; - return SUCCESS; + + if (blk_barrier_rq(scmd->request)) + /* + * barrier requests should always retry on UA + * otherwise block will get a spurious error + */ + return NEEDS_RETRY; + else + /* + * for normal (non barrier) commands, pass the + * UA upwards for a determination in the + * completion functions + */ + return SUCCESS; /* these three are not supported */ case COPY_ABORTED: --- linux-2.6.32.orig/drivers/scsi/scsi_devinfo.c +++ linux-2.6.32/drivers/scsi/scsi_devinfo.c @@ -168,11 +168,10 @@ {"Generic", "USB SD Reader", "1.00", BLIST_FORCELUN | BLIST_INQUIRY_36}, {"Generic", "USB Storage-SMC", "0180", BLIST_FORCELUN | BLIST_INQUIRY_36}, {"Generic", "USB Storage-SMC", "0207", BLIST_FORCELUN | BLIST_INQUIRY_36}, - {"HITACHI", "DF400", "*", BLIST_SPARSELUN}, - {"HITACHI", "DF500", "*", BLIST_SPARSELUN}, - {"HITACHI", "DF600", "*", BLIST_SPARSELUN}, - {"HITACHI", "DISK-SUBSYSTEM", "*", BLIST_ATTACH_PQ3 | BLIST_SPARSELUN | BLIST_LARGELUN}, - {"HITACHI", "OPEN-E", "*", BLIST_ATTACH_PQ3 | BLIST_SPARSELUN | BLIST_LARGELUN}, + {"HITACHI", "DF400", "*", BLIST_REPORTLUN2}, + {"HITACHI", "DF500", "*", BLIST_REPORTLUN2}, + {"HITACHI", "DISK-SUBSYSTEM", "*", BLIST_REPORTLUN2}, + {"HITACHI", "OPEN-", "*", BLIST_REPORTLUN2}, {"HITACHI", "OP-C-", "*", BLIST_SPARSELUN | BLIST_LARGELUN}, {"HITACHI", "3380-", "*", BLIST_SPARSELUN | BLIST_LARGELUN}, {"HITACHI", "3390-", "*", BLIST_SPARSELUN | BLIST_LARGELUN}, @@ -197,6 +196,7 @@ {"IBM", "ProFibre 4000R", "*", BLIST_SPARSELUN | BLIST_LARGELUN}, {"IBM", "2105", NULL, BLIST_RETRY_HWERROR}, {"iomega", "jaz 1GB", "J.86", BLIST_NOTQ | BLIST_NOLUN}, + {"IOMEGA", "ZIP", NULL, BLIST_NOTQ | BLIST_NOLUN}, {"IOMEGA", "Io20S *F", NULL, BLIST_KEY}, {"INSITE", "Floptical F*8I", NULL, BLIST_KEY}, {"INSITE", "I325VM", NULL, BLIST_KEY}, @@ -243,6 +243,7 @@ {"Tornado-", "F4", "*", BLIST_NOREPORTLUN}, {"TOSHIBA", "CDROM", NULL, BLIST_ISROM}, {"TOSHIBA", "CD-ROM", NULL, BLIST_ISROM}, + {"Traxdata", "CDR4120", NULL, BLIST_NOLUN}, /* locks up */ {"USB2.0", "SMARTMEDIA/XD", NULL, BLIST_FORCELUN | BLIST_INQUIRY_36}, {"WangDAT", "Model 2600", "01.7", BLIST_SELECT_NO_ATN}, {"WangDAT", "Model 3200", "02.2", BLIST_SELECT_NO_ATN}, --- linux-2.6.32.orig/drivers/scsi/scsi_ioctl.c +++ linux-2.6.32/drivers/scsi/scsi_ioctl.c @@ -308,6 +308,9 @@ case SG_SCSI_RESET_DEVICE: val = SCSI_TRY_RESET_DEVICE; break; + case SG_SCSI_RESET_TARGET: + val = SCSI_TRY_RESET_TARGET; + break; case SG_SCSI_RESET_BUS: val = SCSI_TRY_RESET_BUS; break; --- linux-2.6.32.orig/drivers/scsi/scsi_lib.c +++ linux-2.6.32/drivers/scsi/scsi_lib.c @@ -749,9 +749,9 @@ */ req->next_rq->resid_len = scsi_in(cmd)->resid; + scsi_release_buffers(cmd); blk_end_request_all(req, 0); - scsi_release_buffers(cmd); scsi_next_command(cmd); return; } @@ -773,8 +773,14 @@ * we already took a copy of the original into rq->errors which * is what gets returned to the user */ - if (sense_valid && sshdr.sense_key == RECOVERED_ERROR) { - if (!(req->cmd_flags & REQ_QUIET)) + if (sense_valid && (sshdr.sense_key == RECOVERED_ERROR)) { + /* if ATA PASS-THROUGH INFORMATION AVAILABLE skip + * print since caller wants ATA registers. Only occurs on + * SCSI ATA PASS_THROUGH commands when CK_COND=1 + */ + if ((sshdr.asc == 0x0) && (sshdr.ascq == 0x1d)) + ; + else if (!(req->cmd_flags & REQ_QUIET)) scsi_print_sense("", cmd); result = 0; /* BLOCK_PC may have set error */ @@ -1359,9 +1365,9 @@ static void scsi_kill_request(struct request *req, struct request_queue *q) { struct scsi_cmnd *cmd = req->special; - struct scsi_device *sdev = cmd->device; - struct scsi_target *starget = scsi_target(sdev); - struct Scsi_Host *shost = sdev->host; + struct scsi_device *sdev; + struct scsi_target *starget; + struct Scsi_Host *shost; blk_start_request(req); @@ -1371,6 +1377,11 @@ BUG(); } + scmd_printk(KERN_INFO, cmd, "killing request\n"); + + sdev = cmd->device; + starget = scsi_target(sdev); + shost = sdev->host; scsi_init_cmd_errh(cmd); cmd->result = DID_NO_CONNECT << 16; atomic_inc(&cmd->device->iorequest_cnt); @@ -1454,7 +1465,6 @@ struct request *req; if (!sdev) { - printk("scsi: killing requests for dead queue\n"); while ((req = blk_peek_request(q)) != NULL) scsi_kill_request(req, q); return; @@ -1630,9 +1640,8 @@ blk_queue_max_segment_size(q, dma_get_max_seg_size(dev)); - /* New queue, no concurrency on queue_flags */ if (!shost->use_clustering) - queue_flag_clear_unlocked(QUEUE_FLAG_CLUSTER, q); + q->limits.cluster = 0; /* * set a reasonable default alignment on word boundaries: the @@ -1662,6 +1671,15 @@ 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); } @@ -2426,7 +2444,8 @@ sdev->sdev_state = SDEV_RUNNING; else if (sdev->sdev_state == SDEV_CREATED_BLOCK) sdev->sdev_state = SDEV_CREATED; - else + else if (sdev->sdev_state != SDEV_CANCEL && + sdev->sdev_state != SDEV_OFFLINE) return -EINVAL; spin_lock_irqsave(q->queue_lock, flags); --- linux-2.6.32.orig/drivers/scsi/scsi_scan.c +++ linux-2.6.32/drivers/scsi/scsi_scan.c @@ -1336,8 +1336,10 @@ sdev = scsi_alloc_sdev(starget, 0, NULL); if (!sdev) return 0; - if (scsi_device_get(sdev)) + if (scsi_device_get(sdev)) { + __scsi_remove_device(sdev); return 0; + } } sprintf(devname, "host %d channel %d id %d", @@ -1904,10 +1906,9 @@ goto out; sdev = scsi_alloc_sdev(starget, 0, NULL); - if (sdev) { - sdev->sdev_gendev.parent = get_device(&starget->dev); + if (sdev) sdev->borken = 0; - } else + else scsi_target_reap(starget); put_device(&starget->dev); out: --- linux-2.6.32.orig/drivers/scsi/scsi_lib_dma.c +++ linux-2.6.32/drivers/scsi/scsi_lib_dma.c @@ -23,7 +23,7 @@ int nseg = 0; if (scsi_sg_count(cmd)) { - struct device *dev = cmd->device->host->shost_gendev.parent; + struct device *dev = cmd->device->host->dma_dev; nseg = dma_map_sg(dev, scsi_sglist(cmd), scsi_sg_count(cmd), cmd->sc_data_direction); @@ -41,7 +41,7 @@ void scsi_dma_unmap(struct scsi_cmnd *cmd) { if (scsi_sg_count(cmd)) { - struct device *dev = cmd->device->host->shost_gendev.parent; + struct device *dev = cmd->device->host->dma_dev; dma_unmap_sg(dev, scsi_sglist(cmd), scsi_sg_count(cmd), cmd->sc_data_direction); --- linux-2.6.32.orig/drivers/scsi/scsi_sysfs.c +++ linux-2.6.32/drivers/scsi/scsi_sysfs.c @@ -844,7 +844,8 @@ struct request_queue *rq = sdev->request_queue; struct scsi_target *starget = sdev->sdev_target; - if ((error = scsi_device_set_state(sdev, SDEV_RUNNING)) != 0) + error = scsi_device_set_state(sdev, SDEV_RUNNING); + if (error) return error; error = scsi_target_add(starget); @@ -855,13 +856,13 @@ error = device_add(&sdev->sdev_gendev); if (error) { printk(KERN_INFO "error 1\n"); - goto out_remove; + return error; } error = device_add(&sdev->sdev_dev); if (error) { printk(KERN_INFO "error 2\n"); device_del(&sdev->sdev_gendev); - goto out_remove; + return error; } transport_add_device(&sdev->sdev_gendev); sdev->is_visible = 1; @@ -872,14 +873,14 @@ else error = device_create_file(&sdev->sdev_gendev, &dev_attr_queue_depth); if (error) - goto out_remove; + return error; if (sdev->host->hostt->change_queue_type) error = device_create_file(&sdev->sdev_gendev, &sdev_attr_queue_type_rw); else error = device_create_file(&sdev->sdev_gendev, &dev_attr_queue_type); if (error) - goto out_remove; + return error; error = bsg_register_queue(rq, &sdev->sdev_gendev, NULL, NULL); @@ -895,16 +896,11 @@ error = device_create_file(&sdev->sdev_gendev, sdev->host->hostt->sdev_attrs[i]); if (error) - goto out_remove; + return error; } } - return 0; - - out_remove: - __scsi_remove_device(sdev); return error; - } void __scsi_remove_device(struct scsi_device *sdev) @@ -954,10 +950,11 @@ list_for_each_entry(sdev, &shost->__devices, siblings) { if (sdev->channel != starget->channel || sdev->id != starget->id || - sdev->sdev_state == SDEV_DEL) + scsi_device_get(sdev)) continue; spin_unlock_irqrestore(shost->host_lock, flags); scsi_remove_device(sdev); + scsi_device_put(sdev); spin_lock_irqsave(shost->host_lock, flags); goto restart; } --- linux-2.6.32.orig/drivers/scsi/ses.c +++ linux-2.6.32/drivers/scsi/ses.c @@ -157,6 +157,10 @@ return NULL; } +/* For device slot and array device slot elements, byte 3 bit 6 + * is "fault sensed" while byte 3 bit 5 is "fault reqstd". As this + * code stands these bits are shifted 4 positions right so in + * sysfs they will appear as bits 2 and 1 respectively. Strange. */ static void ses_get_fault(struct enclosure_device *edev, struct enclosure_component *ecomp) { @@ -178,7 +182,7 @@ /* zero is disabled */ break; case ENCLOSURE_SETTING_ENABLED: - desc[2] = 0x02; + desc[3] = 0x20; break; default: /* SES doesn't do the SGPIO blink settings */ @@ -389,9 +393,9 @@ len = (desc_ptr[2] << 8) + desc_ptr[3]; /* skip past overall descriptor */ desc_ptr += len + 4; - if (ses_dev->page10) - addl_desc_ptr = ses_dev->page10 + 8; } + if (ses_dev->page10) + addl_desc_ptr = ses_dev->page10 + 8; type_ptr = ses_dev->page1 + 12 + ses_dev->page1[11]; components = 0; for (i = 0; i < types; i++, type_ptr += 4) { @@ -591,8 +595,6 @@ ses_dev->page10_len = len; buf = NULL; } - kfree(hdr_buf); - scomp = kzalloc(sizeof(struct ses_component) * components, GFP_KERNEL); if (!scomp) goto err_free; @@ -604,6 +606,8 @@ goto err_free; } + kfree(hdr_buf); + edev->scratch = ses_dev; for (i = 0; i < components; i++) edev->component[i].scratch = scomp + i; --- linux-2.6.32.orig/drivers/scsi/scsi_transport_fc.c +++ linux-2.6.32/drivers/scsi/scsi_transport_fc.c @@ -648,11 +648,22 @@ return error; error = transport_class_register(&fc_vport_class); if (error) - return error; + goto unreg_host_class; error = transport_class_register(&fc_rport_class); if (error) - return error; - return transport_class_register(&fc_transport_class); + goto unreg_vport_class; + error = transport_class_register(&fc_transport_class); + if (error) + goto unreg_rport_class; + return 0; + +unreg_rport_class: + transport_class_unregister(&fc_rport_class); +unreg_vport_class: + transport_class_unregister(&fc_vport_class); +unreg_host_class: + transport_class_unregister(&fc_host_class); + return error; } static void __exit fc_transport_exit(void) @@ -1204,6 +1215,15 @@ { struct fc_vport *vport = transport_class_to_vport(dev); struct Scsi_Host *shost = vport_to_shost(vport); + unsigned long flags; + + spin_lock_irqsave(shost->host_lock, flags); + if (vport->flags & (FC_VPORT_DEL | FC_VPORT_CREATING)) { + spin_unlock_irqrestore(shost->host_lock, flags); + return -EBUSY; + } + vport->flags |= FC_VPORT_DELETING; + spin_unlock_irqrestore(shost->host_lock, flags); fc_queue_work(shost, &vport->vport_delete_work); return count; @@ -1793,6 +1813,9 @@ list_for_each_entry(vport, &fc_host->vports, peers) { if ((vport->channel == 0) && (vport->port_name == wwpn) && (vport->node_name == wwnn)) { + if (vport->flags & (FC_VPORT_DEL | FC_VPORT_CREATING)) + break; + vport->flags |= FC_VPORT_DELETING; match = 1; break; } @@ -2384,6 +2407,7 @@ struct Scsi_Host *shost = rport_to_shost(rport); struct fc_internal *i = to_fc_internal(shost->transportt); unsigned long flags; + int do_callback = 0; /* * if a scan is pending, flush the SCSI Host work_q so that @@ -2422,8 +2446,15 @@ * Avoid this call if we already called it when we preserved the * rport for the binding. */ + spin_lock_irqsave(shost->host_lock, flags); if (!(rport->flags & FC_RPORT_DEVLOSS_CALLBK_DONE) && - (i->f->dev_loss_tmo_callbk)) + (i->f->dev_loss_tmo_callbk)) { + rport->flags |= FC_RPORT_DEVLOSS_CALLBK_DONE; + do_callback = 1; + } + spin_unlock_irqrestore(shost->host_lock, flags); + + if (do_callback) i->f->dev_loss_tmo_callbk(rport); fc_bsg_remove(rport->rqst_q); @@ -2970,6 +3001,7 @@ struct fc_internal *i = to_fc_internal(shost->transportt); struct fc_host_attrs *fc_host = shost_to_fc_host(shost); unsigned long flags; + int do_callback = 0; spin_lock_irqsave(shost->host_lock, flags); @@ -3035,7 +3067,6 @@ rport->roles = FC_PORT_ROLE_UNKNOWN; rport->port_state = FC_PORTSTATE_NOTPRESENT; rport->flags &= ~FC_RPORT_FAST_FAIL_TIMEDOUT; - rport->flags |= FC_RPORT_DEVLOSS_CALLBK_DONE; /* * Pre-emptively kill I/O rather than waiting for the work queue @@ -3045,32 +3076,40 @@ spin_unlock_irqrestore(shost->host_lock, flags); fc_terminate_rport_io(rport); - BUG_ON(rport->port_state != FC_PORTSTATE_NOTPRESENT); + spin_lock_irqsave(shost->host_lock, flags); - /* remove the identifiers that aren't used in the consisting binding */ - switch (fc_host->tgtid_bind_type) { - case FC_TGTID_BIND_BY_WWPN: - rport->node_name = -1; - rport->port_id = -1; - break; - case FC_TGTID_BIND_BY_WWNN: - rport->port_name = -1; - rport->port_id = -1; - break; - case FC_TGTID_BIND_BY_ID: - rport->node_name = -1; - rport->port_name = -1; - break; - case FC_TGTID_BIND_NONE: /* to keep compiler happy */ - break; + if (rport->port_state == FC_PORTSTATE_NOTPRESENT) { /* still missing */ + + /* remove the identifiers that aren't used in the consisting binding */ + switch (fc_host->tgtid_bind_type) { + case FC_TGTID_BIND_BY_WWPN: + rport->node_name = -1; + rport->port_id = -1; + break; + case FC_TGTID_BIND_BY_WWNN: + rport->port_name = -1; + rport->port_id = -1; + break; + case FC_TGTID_BIND_BY_ID: + rport->node_name = -1; + rport->port_name = -1; + break; + case FC_TGTID_BIND_NONE: /* to keep compiler happy */ + break; + } + + /* + * As this only occurs if the remote port (scsi target) + * went away and didn't come back - we'll remove + * all attached scsi devices. + */ + rport->flags |= FC_RPORT_DEVLOSS_CALLBK_DONE; + fc_queue_work(shost, &rport->stgt_delete_work); + + do_callback = 1; } - /* - * As this only occurs if the remote port (scsi target) - * went away and didn't come back - we'll remove - * all attached scsi devices. - */ - fc_queue_work(shost, &rport->stgt_delete_work); + spin_unlock_irqrestore(shost->host_lock, flags); /* * Notify the driver that the rport is now dead. The LLDD will @@ -3078,7 +3117,7 @@ * * Note: we set the CALLBK_DONE flag above to correspond */ - if (i->f->dev_loss_tmo_callbk) + if (do_callback && i->f->dev_loss_tmo_callbk) i->f->dev_loss_tmo_callbk(rport); } @@ -3301,18 +3340,6 @@ unsigned long flags; int stat; - spin_lock_irqsave(shost->host_lock, flags); - if (vport->flags & FC_VPORT_CREATING) { - spin_unlock_irqrestore(shost->host_lock, flags); - return -EBUSY; - } - if (vport->flags & (FC_VPORT_DEL)) { - spin_unlock_irqrestore(shost->host_lock, flags); - return -EALREADY; - } - vport->flags |= FC_VPORT_DELETING; - spin_unlock_irqrestore(shost->host_lock, flags); - if (i->f->vport_delete) stat = i->f->vport_delete(vport); else @@ -3769,8 +3796,9 @@ return; while (!blk_queue_plugged(q)) { - if (rport && (rport->port_state == FC_PORTSTATE_BLOCKED)) - break; + if (rport && (rport->port_state == FC_PORTSTATE_BLOCKED) && + !(rport->flags & FC_RPORT_FAST_FAIL_TIMEDOUT)) + break; req = blk_fetch_request(q); if (!req) --- linux-2.6.32.orig/drivers/scsi/scsi_transport_iscsi.c +++ linux-2.6.32/drivers/scsi/scsi_transport_iscsi.c @@ -627,8 +627,10 @@ spin_unlock_irqrestore(&session->lock, flags); scsi_target_block(&session->dev); ISCSI_DBG_TRANS_SESSION(session, "Completed SCSI target blocking\n"); - queue_delayed_work(iscsi_eh_timer_workq, &session->recovery_work, - session->recovery_tmo * HZ); + if (session->recovery_tmo >= 0) + queue_delayed_work(iscsi_eh_timer_workq, + &session->recovery_work, + session->recovery_tmo * HZ); } void iscsi_block_session(struct iscsi_cls_session *session) @@ -1348,8 +1350,7 @@ switch (ev->u.set_param.param) { case ISCSI_PARAM_SESS_RECOVERY_TMO: sscanf(data, "%d", &value); - if (value != 0) - session->recovery_tmo = value; + session->recovery_tmo = value; break; default: err = transport->set_param(conn, ev->u.set_param.param, --- linux-2.6.32.orig/drivers/scsi/st.c +++ linux-2.6.32/drivers/scsi/st.c @@ -461,14 +461,16 @@ { struct st_request *SRpnt = req->end_io_data; struct scsi_tape *STp = SRpnt->stp; + struct bio *tmp; STp->buffer->cmdstat.midlevel_result = SRpnt->result = req->errors; STp->buffer->cmdstat.residual = req->resid_len; + tmp = SRpnt->bio; if (SRpnt->waiting) complete(SRpnt->waiting); - blk_rq_unmap_user(SRpnt->bio); + blk_rq_unmap_user(tmp); __blk_put_request(req->q, req); } @@ -552,13 +554,15 @@ SRpnt->waiting = waiting; if (STp->buffer->do_dio) { + mdata->page_order = 0; mdata->nr_entries = STp->buffer->sg_segs; mdata->pages = STp->buffer->mapped_pages; } else { + mdata->page_order = STp->buffer->reserved_page_order; mdata->nr_entries = DIV_ROUND_UP(bytes, PAGE_SIZE << mdata->page_order); - STp->buffer->map_data.pages = STp->buffer->reserved_pages; - STp->buffer->map_data.offset = 0; + mdata->pages = STp->buffer->reserved_pages; + mdata->offset = 0; } memcpy(SRpnt->cmd, cmd, sizeof(SRpnt->cmd)); @@ -3718,7 +3722,7 @@ priority |= __GFP_ZERO; if (STbuffer->frp_segs) { - order = STbuffer->map_data.page_order; + order = STbuffer->reserved_page_order; b_size = PAGE_SIZE << order; } else { for (b_size = PAGE_SIZE, order = 0; @@ -3751,7 +3755,7 @@ segs++; } STbuffer->b_data = page_address(STbuffer->reserved_pages[0]); - STbuffer->map_data.page_order = order; + STbuffer->reserved_page_order = order; return 1; } @@ -3764,7 +3768,7 @@ for (i=0; i < st_bp->frp_segs; i++) memset(page_address(st_bp->reserved_pages[i]), 0, - PAGE_SIZE << st_bp->map_data.page_order); + PAGE_SIZE << st_bp->reserved_page_order); st_bp->cleared = 1; } @@ -3772,7 +3776,7 @@ /* Release the extra buffer */ static void normalize_buffer(struct st_buffer * STbuffer) { - int i, order = STbuffer->map_data.page_order; + int i, order = STbuffer->reserved_page_order; for (i = 0; i < STbuffer->frp_segs; i++) { __free_pages(STbuffer->reserved_pages[i], order); @@ -3780,7 +3784,7 @@ } STbuffer->frp_segs = 0; STbuffer->sg_segs = 0; - STbuffer->map_data.page_order = 0; + STbuffer->reserved_page_order = 0; STbuffer->map_data.offset = 0; } @@ -3790,7 +3794,7 @@ static int append_to_buffer(const char __user *ubp, struct st_buffer * st_bp, int do_count) { int i, cnt, res, offset; - int length = PAGE_SIZE << st_bp->map_data.page_order; + int length = PAGE_SIZE << st_bp->reserved_page_order; for (i = 0, offset = st_bp->buffer_bytes; i < st_bp->frp_segs && offset >= length; i++) @@ -3822,7 +3826,7 @@ static int from_buffer(struct st_buffer * st_bp, char __user *ubp, int do_count) { int i, cnt, res, offset; - int length = PAGE_SIZE << st_bp->map_data.page_order; + int length = PAGE_SIZE << st_bp->reserved_page_order; for (i = 0, offset = st_bp->read_pointer; i < st_bp->frp_segs && offset >= length; i++) @@ -3855,7 +3859,7 @@ { int src_seg, dst_seg, src_offset = 0, dst_offset; int count, total; - int length = PAGE_SIZE << st_bp->map_data.page_order; + int length = PAGE_SIZE << st_bp->reserved_page_order; if (offset == 0) return; @@ -4577,7 +4581,6 @@ } mdata->offset = uaddr & ~PAGE_MASK; - mdata->page_order = 0; STbp->mapped_pages = pages; return nr_pages; --- linux-2.6.32.orig/drivers/scsi/st.h +++ linux-2.6.32/drivers/scsi/st.h @@ -46,6 +46,7 @@ struct st_request *last_SRpnt; struct st_cmdstatus cmdstat; struct page **reserved_pages; + int reserved_page_order; struct page **mapped_pages; struct rq_map_data map_data; unsigned char *b_data; --- linux-2.6.32.orig/drivers/scsi/ultrastor.c +++ linux-2.6.32/drivers/scsi/ultrastor.c @@ -306,7 +306,7 @@ "0: bsfw %1,%w0\n\t" "btr %0,%1\n\t" "jnc 0b" - : "=&r" (rv), "=m" (*field) :); + : "=&r" (rv), "+m" (*field) :); return rv; } --- linux-2.6.32.orig/drivers/scsi/pmcraid.c +++ linux-2.6.32/drivers/scsi/pmcraid.c @@ -3508,6 +3508,9 @@ rc = -EFAULT; goto out_free_buffer; } + } else if (request_size < 0) { + rc = -EINVAL; + goto out_free_buffer; } /* check if we have any additional command parameters */ @@ -3554,6 +3557,9 @@ pmcraid_err("couldn't build passthrough ioadls\n"); goto out_free_buffer; } + } else if (request_size < 0) { + rc = -EINVAL; + goto out_free_buffer; } /* If data is being written into the device, copy the data from user --- linux-2.6.32.orig/drivers/scsi/vmw_pvscsi.c +++ linux-2.6.32/drivers/scsi/vmw_pvscsi.c @@ -0,0 +1,1407 @@ +/* + * Linux driver for VMware's para-virtualized SCSI HBA. + * + * Copyright (C) 2008-2009, VMware, Inc. 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; version 2 of the License and no 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, GOOD TITLE or + * NON INFRINGEMENT. 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. + * + * Maintained by: Alok N Kataria + * + */ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "vmw_pvscsi.h" + +#define PVSCSI_LINUX_DRIVER_DESC "VMware PVSCSI driver" + +MODULE_DESCRIPTION(PVSCSI_LINUX_DRIVER_DESC); +MODULE_AUTHOR("VMware, Inc."); +MODULE_LICENSE("GPL"); +MODULE_VERSION(PVSCSI_DRIVER_VERSION_STRING); + +#define PVSCSI_DEFAULT_NUM_PAGES_PER_RING 8 +#define PVSCSI_DEFAULT_NUM_PAGES_MSG_RING 1 +#define PVSCSI_DEFAULT_QUEUE_DEPTH 64 +#define SGL_SIZE PAGE_SIZE + +struct pvscsi_sg_list { + struct PVSCSISGElement sge[PVSCSI_MAX_NUM_SG_ENTRIES_PER_SEGMENT]; +}; + +struct pvscsi_ctx { + /* + * The index of the context in cmd_map serves as the context ID for a + * 1-to-1 mapping completions back to requests. + */ + struct scsi_cmnd *cmd; + struct pvscsi_sg_list *sgl; + struct list_head list; + dma_addr_t dataPA; + dma_addr_t sensePA; + dma_addr_t sglPA; +}; + +struct pvscsi_adapter { + char *mmioBase; + unsigned int irq; + u8 rev; + bool use_msi; + bool use_msix; + bool use_msg; + + spinlock_t hw_lock; + + struct workqueue_struct *workqueue; + struct work_struct work; + + struct PVSCSIRingReqDesc *req_ring; + unsigned req_pages; + unsigned req_depth; + dma_addr_t reqRingPA; + + struct PVSCSIRingCmpDesc *cmp_ring; + unsigned cmp_pages; + dma_addr_t cmpRingPA; + + struct PVSCSIRingMsgDesc *msg_ring; + unsigned msg_pages; + dma_addr_t msgRingPA; + + struct PVSCSIRingsState *rings_state; + dma_addr_t ringStatePA; + + struct pci_dev *dev; + struct Scsi_Host *host; + + struct list_head cmd_pool; + struct pvscsi_ctx *cmd_map; +}; + + +/* Command line parameters */ +static int pvscsi_ring_pages = PVSCSI_DEFAULT_NUM_PAGES_PER_RING; +static int pvscsi_msg_ring_pages = PVSCSI_DEFAULT_NUM_PAGES_MSG_RING; +static int pvscsi_cmd_per_lun = PVSCSI_DEFAULT_QUEUE_DEPTH; +static bool pvscsi_disable_msi; +static bool pvscsi_disable_msix; +static bool pvscsi_use_msg = true; + +#define PVSCSI_RW (S_IRUSR | S_IWUSR) + +module_param_named(ring_pages, pvscsi_ring_pages, int, PVSCSI_RW); +MODULE_PARM_DESC(ring_pages, "Number of pages per req/cmp ring - (default=" + __stringify(PVSCSI_DEFAULT_NUM_PAGES_PER_RING) ")"); + +module_param_named(msg_ring_pages, pvscsi_msg_ring_pages, int, PVSCSI_RW); +MODULE_PARM_DESC(msg_ring_pages, "Number of pages for the msg ring - (default=" + __stringify(PVSCSI_DEFAULT_NUM_PAGES_MSG_RING) ")"); + +module_param_named(cmd_per_lun, pvscsi_cmd_per_lun, int, PVSCSI_RW); +MODULE_PARM_DESC(cmd_per_lun, "Maximum commands per lun - (default=" + __stringify(PVSCSI_MAX_REQ_QUEUE_DEPTH) ")"); + +module_param_named(disable_msi, pvscsi_disable_msi, bool, PVSCSI_RW); +MODULE_PARM_DESC(disable_msi, "Disable MSI use in driver - (default=0)"); + +module_param_named(disable_msix, pvscsi_disable_msix, bool, PVSCSI_RW); +MODULE_PARM_DESC(disable_msix, "Disable MSI-X use in driver - (default=0)"); + +module_param_named(use_msg, pvscsi_use_msg, bool, PVSCSI_RW); +MODULE_PARM_DESC(use_msg, "Use msg ring when available - (default=1)"); + +static const struct pci_device_id pvscsi_pci_tbl[] = { + { PCI_VDEVICE(VMWARE, PCI_DEVICE_ID_VMWARE_PVSCSI) }, + { 0 } +}; + +MODULE_DEVICE_TABLE(pci, pvscsi_pci_tbl); + +static struct device * +pvscsi_dev(const struct pvscsi_adapter *adapter) +{ + return &(adapter->dev->dev); +} + +static struct pvscsi_ctx * +pvscsi_find_context(const struct pvscsi_adapter *adapter, struct scsi_cmnd *cmd) +{ + struct pvscsi_ctx *ctx, *end; + + end = &adapter->cmd_map[adapter->req_depth]; + for (ctx = adapter->cmd_map; ctx < end; ctx++) + if (ctx->cmd == cmd) + return ctx; + + return NULL; +} + +static struct pvscsi_ctx * +pvscsi_acquire_context(struct pvscsi_adapter *adapter, struct scsi_cmnd *cmd) +{ + struct pvscsi_ctx *ctx; + + if (list_empty(&adapter->cmd_pool)) + return NULL; + + ctx = list_first_entry(&adapter->cmd_pool, struct pvscsi_ctx, list); + ctx->cmd = cmd; + list_del(&ctx->list); + + return ctx; +} + +static void pvscsi_release_context(struct pvscsi_adapter *adapter, + struct pvscsi_ctx *ctx) +{ + ctx->cmd = NULL; + list_add(&ctx->list, &adapter->cmd_pool); +} + +/* + * Map a pvscsi_ctx struct to a context ID field value; we map to a simple + * non-zero integer. ctx always points to an entry in cmd_map array, hence + * the return value is always >=1. + */ +static u64 pvscsi_map_context(const struct pvscsi_adapter *adapter, + const struct pvscsi_ctx *ctx) +{ + return ctx - adapter->cmd_map + 1; +} + +static struct pvscsi_ctx * +pvscsi_get_context(const struct pvscsi_adapter *adapter, u64 context) +{ + return &adapter->cmd_map[context - 1]; +} + +static void pvscsi_reg_write(const struct pvscsi_adapter *adapter, + u32 offset, u32 val) +{ + writel(val, adapter->mmioBase + offset); +} + +static u32 pvscsi_reg_read(const struct pvscsi_adapter *adapter, u32 offset) +{ + return readl(adapter->mmioBase + offset); +} + +static u32 pvscsi_read_intr_status(const struct pvscsi_adapter *adapter) +{ + return pvscsi_reg_read(adapter, PVSCSI_REG_OFFSET_INTR_STATUS); +} + +static void pvscsi_write_intr_status(const struct pvscsi_adapter *adapter, + u32 val) +{ + pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_INTR_STATUS, val); +} + +static void pvscsi_unmask_intr(const struct pvscsi_adapter *adapter) +{ + u32 intr_bits; + + intr_bits = PVSCSI_INTR_CMPL_MASK; + if (adapter->use_msg) + intr_bits |= PVSCSI_INTR_MSG_MASK; + + pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_INTR_MASK, intr_bits); +} + +static void pvscsi_mask_intr(const struct pvscsi_adapter *adapter) +{ + pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_INTR_MASK, 0); +} + +static void pvscsi_write_cmd_desc(const struct pvscsi_adapter *adapter, + u32 cmd, const void *desc, size_t len) +{ + const u32 *ptr = desc; + size_t i; + + len /= sizeof(*ptr); + pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_COMMAND, cmd); + for (i = 0; i < len; i++) + pvscsi_reg_write(adapter, + PVSCSI_REG_OFFSET_COMMAND_DATA, ptr[i]); +} + +static void pvscsi_abort_cmd(const struct pvscsi_adapter *adapter, + const struct pvscsi_ctx *ctx) +{ + struct PVSCSICmdDescAbortCmd cmd = { 0 }; + + cmd.target = ctx->cmd->device->id; + cmd.context = pvscsi_map_context(adapter, ctx); + + pvscsi_write_cmd_desc(adapter, PVSCSI_CMD_ABORT_CMD, &cmd, sizeof(cmd)); +} + +static void pvscsi_kick_rw_io(const struct pvscsi_adapter *adapter) +{ + pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_KICK_RW_IO, 0); +} + +static void pvscsi_process_request_ring(const struct pvscsi_adapter *adapter) +{ + pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_KICK_NON_RW_IO, 0); +} + +static int scsi_is_rw(unsigned char op) +{ + return op == READ_6 || op == WRITE_6 || + op == READ_10 || op == WRITE_10 || + op == READ_12 || op == WRITE_12 || + op == READ_16 || op == WRITE_16; +} + +static void pvscsi_kick_io(const struct pvscsi_adapter *adapter, + unsigned char op) +{ + if (scsi_is_rw(op)) + pvscsi_kick_rw_io(adapter); + else + pvscsi_process_request_ring(adapter); +} + +static void ll_adapter_reset(const struct pvscsi_adapter *adapter) +{ + dev_dbg(pvscsi_dev(adapter), "Adapter Reset on %p\n", adapter); + + pvscsi_write_cmd_desc(adapter, PVSCSI_CMD_ADAPTER_RESET, NULL, 0); +} + +static void ll_bus_reset(const struct pvscsi_adapter *adapter) +{ + dev_dbg(pvscsi_dev(adapter), "Reseting bus on %p\n", adapter); + + pvscsi_write_cmd_desc(adapter, PVSCSI_CMD_RESET_BUS, NULL, 0); +} + +static void ll_device_reset(const struct pvscsi_adapter *adapter, u32 target) +{ + struct PVSCSICmdDescResetDevice cmd = { 0 }; + + dev_dbg(pvscsi_dev(adapter), "Reseting device: target=%u\n", target); + + cmd.target = target; + + pvscsi_write_cmd_desc(adapter, PVSCSI_CMD_RESET_DEVICE, + &cmd, sizeof(cmd)); +} + +static void pvscsi_create_sg(struct pvscsi_ctx *ctx, + struct scatterlist *sg, unsigned count) +{ + unsigned i; + struct PVSCSISGElement *sge; + + BUG_ON(count > PVSCSI_MAX_NUM_SG_ENTRIES_PER_SEGMENT); + + sge = &ctx->sgl->sge[0]; + for (i = 0; i < count; i++, sg++) { + sge[i].addr = sg_dma_address(sg); + sge[i].length = sg_dma_len(sg); + sge[i].flags = 0; + } +} + +/* + * Map all data buffers for a command into PCI space and + * setup the scatter/gather list if needed. + */ +static void pvscsi_map_buffers(struct pvscsi_adapter *adapter, + struct pvscsi_ctx *ctx, struct scsi_cmnd *cmd, + struct PVSCSIRingReqDesc *e) +{ + unsigned count; + unsigned bufflen = scsi_bufflen(cmd); + struct scatterlist *sg; + + e->dataLen = bufflen; + e->dataAddr = 0; + if (bufflen == 0) + return; + + sg = scsi_sglist(cmd); + count = scsi_sg_count(cmd); + if (count != 0) { + int segs = scsi_dma_map(cmd); + if (segs > 1) { + pvscsi_create_sg(ctx, sg, segs); + + e->flags |= PVSCSI_FLAG_CMD_WITH_SG_LIST; + ctx->sglPA = pci_map_single(adapter->dev, ctx->sgl, + SGL_SIZE, PCI_DMA_TODEVICE); + e->dataAddr = ctx->sglPA; + } else + e->dataAddr = sg_dma_address(sg); + } else { + /* + * In case there is no S/G list, scsi_sglist points + * directly to the buffer. + */ + ctx->dataPA = pci_map_single(adapter->dev, sg, bufflen, + cmd->sc_data_direction); + e->dataAddr = ctx->dataPA; + } +} + +static void pvscsi_unmap_buffers(const struct pvscsi_adapter *adapter, + struct pvscsi_ctx *ctx) +{ + struct scsi_cmnd *cmd; + unsigned bufflen; + + cmd = ctx->cmd; + bufflen = scsi_bufflen(cmd); + + if (bufflen != 0) { + unsigned count = scsi_sg_count(cmd); + + if (count != 0) { + scsi_dma_unmap(cmd); + if (ctx->sglPA) { + pci_unmap_single(adapter->dev, ctx->sglPA, + SGL_SIZE, PCI_DMA_TODEVICE); + ctx->sglPA = 0; + } + } else + pci_unmap_single(adapter->dev, ctx->dataPA, bufflen, + cmd->sc_data_direction); + } + if (cmd->sense_buffer) + pci_unmap_single(adapter->dev, ctx->sensePA, + SCSI_SENSE_BUFFERSIZE, PCI_DMA_FROMDEVICE); +} + +static int __devinit pvscsi_allocate_rings(struct pvscsi_adapter *adapter) +{ + adapter->rings_state = pci_alloc_consistent(adapter->dev, PAGE_SIZE, + &adapter->ringStatePA); + if (!adapter->rings_state) + return -ENOMEM; + + adapter->req_pages = min(PVSCSI_MAX_NUM_PAGES_REQ_RING, + pvscsi_ring_pages); + adapter->req_depth = adapter->req_pages + * PVSCSI_MAX_NUM_REQ_ENTRIES_PER_PAGE; + adapter->req_ring = pci_alloc_consistent(adapter->dev, + adapter->req_pages * PAGE_SIZE, + &adapter->reqRingPA); + if (!adapter->req_ring) + return -ENOMEM; + + adapter->cmp_pages = min(PVSCSI_MAX_NUM_PAGES_CMP_RING, + pvscsi_ring_pages); + adapter->cmp_ring = pci_alloc_consistent(adapter->dev, + adapter->cmp_pages * PAGE_SIZE, + &adapter->cmpRingPA); + if (!adapter->cmp_ring) + return -ENOMEM; + + BUG_ON(!IS_ALIGNED(adapter->ringStatePA, PAGE_SIZE)); + BUG_ON(!IS_ALIGNED(adapter->reqRingPA, PAGE_SIZE)); + BUG_ON(!IS_ALIGNED(adapter->cmpRingPA, PAGE_SIZE)); + + if (!adapter->use_msg) + return 0; + + adapter->msg_pages = min(PVSCSI_MAX_NUM_PAGES_MSG_RING, + pvscsi_msg_ring_pages); + adapter->msg_ring = pci_alloc_consistent(adapter->dev, + adapter->msg_pages * PAGE_SIZE, + &adapter->msgRingPA); + if (!adapter->msg_ring) + return -ENOMEM; + BUG_ON(!IS_ALIGNED(adapter->msgRingPA, PAGE_SIZE)); + + return 0; +} + +static void pvscsi_setup_all_rings(const struct pvscsi_adapter *adapter) +{ + struct PVSCSICmdDescSetupRings cmd = { 0 }; + dma_addr_t base; + unsigned i; + + cmd.ringsStatePPN = adapter->ringStatePA >> PAGE_SHIFT; + cmd.reqRingNumPages = adapter->req_pages; + cmd.cmpRingNumPages = adapter->cmp_pages; + + base = adapter->reqRingPA; + for (i = 0; i < adapter->req_pages; i++) { + cmd.reqRingPPNs[i] = base >> PAGE_SHIFT; + base += PAGE_SIZE; + } + + base = adapter->cmpRingPA; + for (i = 0; i < adapter->cmp_pages; i++) { + cmd.cmpRingPPNs[i] = base >> PAGE_SHIFT; + base += PAGE_SIZE; + } + + memset(adapter->rings_state, 0, PAGE_SIZE); + memset(adapter->req_ring, 0, adapter->req_pages * PAGE_SIZE); + memset(adapter->cmp_ring, 0, adapter->cmp_pages * PAGE_SIZE); + + pvscsi_write_cmd_desc(adapter, PVSCSI_CMD_SETUP_RINGS, + &cmd, sizeof(cmd)); + + if (adapter->use_msg) { + struct PVSCSICmdDescSetupMsgRing cmd_msg = { 0 }; + + cmd_msg.numPages = adapter->msg_pages; + + base = adapter->msgRingPA; + for (i = 0; i < adapter->msg_pages; i++) { + cmd_msg.ringPPNs[i] = base >> PAGE_SHIFT; + base += PAGE_SIZE; + } + memset(adapter->msg_ring, 0, adapter->msg_pages * PAGE_SIZE); + + pvscsi_write_cmd_desc(adapter, PVSCSI_CMD_SETUP_MSG_RING, + &cmd_msg, sizeof(cmd_msg)); + } +} + +/* + * Pull a completion descriptor off and pass the completion back + * to the SCSI mid layer. + */ +static void pvscsi_complete_request(struct pvscsi_adapter *adapter, + const struct PVSCSIRingCmpDesc *e) +{ + struct pvscsi_ctx *ctx; + struct scsi_cmnd *cmd; + u32 btstat = e->hostStatus; + u32 sdstat = e->scsiStatus; + + ctx = pvscsi_get_context(adapter, e->context); + cmd = ctx->cmd; + pvscsi_unmap_buffers(adapter, ctx); + pvscsi_release_context(adapter, ctx); + cmd->result = 0; + + if (sdstat != SAM_STAT_GOOD && + (btstat == BTSTAT_SUCCESS || + btstat == BTSTAT_LINKED_COMMAND_COMPLETED || + btstat == BTSTAT_LINKED_COMMAND_COMPLETED_WITH_FLAG)) { + cmd->result = (DID_OK << 16) | sdstat; + if (sdstat == SAM_STAT_CHECK_CONDITION && cmd->sense_buffer) + cmd->result |= (DRIVER_SENSE << 24); + } else + switch (btstat) { + case BTSTAT_SUCCESS: + case BTSTAT_LINKED_COMMAND_COMPLETED: + case BTSTAT_LINKED_COMMAND_COMPLETED_WITH_FLAG: + /* If everything went fine, let's move on.. */ + cmd->result = (DID_OK << 16); + break; + + case BTSTAT_DATARUN: + case BTSTAT_DATA_UNDERRUN: + /* Report residual data in underruns */ + scsi_set_resid(cmd, scsi_bufflen(cmd) - e->dataLen); + cmd->result = (DID_ERROR << 16); + break; + + case BTSTAT_SELTIMEO: + /* Our emulation returns this for non-connected devs */ + cmd->result = (DID_BAD_TARGET << 16); + break; + + case BTSTAT_LUNMISMATCH: + case BTSTAT_TAGREJECT: + case BTSTAT_BADMSG: + cmd->result = (DRIVER_INVALID << 24); + /* fall through */ + + case BTSTAT_HAHARDWARE: + case BTSTAT_INVPHASE: + case BTSTAT_HATIMEOUT: + case BTSTAT_NORESPONSE: + case BTSTAT_DISCONNECT: + case BTSTAT_HASOFTWARE: + case BTSTAT_BUSFREE: + case BTSTAT_SENSFAILED: + cmd->result |= (DID_ERROR << 16); + break; + + case BTSTAT_SENTRST: + case BTSTAT_RECVRST: + case BTSTAT_BUSRESET: + cmd->result = (DID_RESET << 16); + break; + + case BTSTAT_ABORTQUEUE: + cmd->result = (DID_ABORT << 16); + break; + + case BTSTAT_SCSIPARITY: + cmd->result = (DID_PARITY << 16); + break; + + default: + cmd->result = (DID_ERROR << 16); + scmd_printk(KERN_DEBUG, cmd, + "Unknown completion status: 0x%x\n", + btstat); + } + + dev_dbg(&cmd->device->sdev_gendev, + "cmd=%p %x ctx=%p result=0x%x status=0x%x,%x\n", + cmd, cmd->cmnd[0], ctx, cmd->result, btstat, sdstat); + + cmd->scsi_done(cmd); +} + +/* + * barrier usage : Since the PVSCSI device is emulated, there could be cases + * where we may want to serialize some accesses between the driver and the + * emulation layer. We use compiler barriers instead of the more expensive + * memory barriers because PVSCSI is only supported on X86 which has strong + * memory access ordering. + */ +static void pvscsi_process_completion_ring(struct pvscsi_adapter *adapter) +{ + struct PVSCSIRingsState *s = adapter->rings_state; + struct PVSCSIRingCmpDesc *ring = adapter->cmp_ring; + u32 cmp_entries = s->cmpNumEntriesLog2; + + while (s->cmpConsIdx != s->cmpProdIdx) { + struct PVSCSIRingCmpDesc *e = ring + (s->cmpConsIdx & + MASK(cmp_entries)); + /* + * This barrier() ensures that *e is not dereferenced while + * the device emulation still writes data into the slot. + * Since the device emulation advances s->cmpProdIdx only after + * updating the slot we want to check it first. + */ + barrier(); + pvscsi_complete_request(adapter, e); + /* + * This barrier() ensures that compiler doesn't reorder write + * to s->cmpConsIdx before the read of (*e) inside + * pvscsi_complete_request. Otherwise, device emulation may + * overwrite *e before we had a chance to read it. + */ + barrier(); + s->cmpConsIdx++; + } +} + +/* + * Translate a Linux SCSI request into a request ring entry. + */ +static int pvscsi_queue_ring(struct pvscsi_adapter *adapter, + struct pvscsi_ctx *ctx, struct scsi_cmnd *cmd) +{ + struct PVSCSIRingsState *s; + struct PVSCSIRingReqDesc *e; + struct scsi_device *sdev; + u32 req_entries; + + s = adapter->rings_state; + sdev = cmd->device; + req_entries = s->reqNumEntriesLog2; + + /* + * If this condition holds, we might have room on the request ring, but + * we might not have room on the completion ring for the response. + * However, we have already ruled out this possibility - we would not + * have successfully allocated a context if it were true, since we only + * have one context per request entry. Check for it anyway, since it + * would be a serious bug. + */ + if (s->reqProdIdx - s->cmpConsIdx >= 1 << req_entries) { + scmd_printk(KERN_ERR, cmd, "vmw_pvscsi: " + "ring full: reqProdIdx=%d cmpConsIdx=%d\n", + s->reqProdIdx, s->cmpConsIdx); + return -1; + } + + e = adapter->req_ring + (s->reqProdIdx & MASK(req_entries)); + + e->bus = sdev->channel; + e->target = sdev->id; + memset(e->lun, 0, sizeof(e->lun)); + e->lun[1] = sdev->lun; + + if (cmd->sense_buffer) { + ctx->sensePA = pci_map_single(adapter->dev, cmd->sense_buffer, + SCSI_SENSE_BUFFERSIZE, + PCI_DMA_FROMDEVICE); + e->senseAddr = ctx->sensePA; + e->senseLen = SCSI_SENSE_BUFFERSIZE; + } else { + e->senseLen = 0; + e->senseAddr = 0; + } + e->cdbLen = cmd->cmd_len; + e->vcpuHint = smp_processor_id(); + memcpy(e->cdb, cmd->cmnd, e->cdbLen); + + e->tag = SIMPLE_QUEUE_TAG; + if (sdev->tagged_supported && + (cmd->tag == HEAD_OF_QUEUE_TAG || + cmd->tag == ORDERED_QUEUE_TAG)) + e->tag = cmd->tag; + + if (cmd->sc_data_direction == DMA_FROM_DEVICE) + e->flags = PVSCSI_FLAG_CMD_DIR_TOHOST; + else if (cmd->sc_data_direction == DMA_TO_DEVICE) + e->flags = PVSCSI_FLAG_CMD_DIR_TODEVICE; + else if (cmd->sc_data_direction == DMA_NONE) + e->flags = PVSCSI_FLAG_CMD_DIR_NONE; + else + e->flags = 0; + + pvscsi_map_buffers(adapter, ctx, cmd, e); + + e->context = pvscsi_map_context(adapter, ctx); + + barrier(); + + s->reqProdIdx++; + + return 0; +} + +static int pvscsi_queue(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *)) +{ + struct Scsi_Host *host = cmd->device->host; + struct pvscsi_adapter *adapter = shost_priv(host); + struct pvscsi_ctx *ctx; + unsigned long flags; + + spin_lock_irqsave(&adapter->hw_lock, flags); + + ctx = pvscsi_acquire_context(adapter, cmd); + if (!ctx || pvscsi_queue_ring(adapter, ctx, cmd) != 0) { + if (ctx) + pvscsi_release_context(adapter, ctx); + spin_unlock_irqrestore(&adapter->hw_lock, flags); + return SCSI_MLQUEUE_HOST_BUSY; + } + + cmd->scsi_done = done; + + dev_dbg(&cmd->device->sdev_gendev, + "queued cmd %p, ctx %p, op=%x\n", cmd, ctx, cmd->cmnd[0]); + + spin_unlock_irqrestore(&adapter->hw_lock, flags); + + pvscsi_kick_io(adapter, cmd->cmnd[0]); + + return 0; +} + +static int pvscsi_abort(struct scsi_cmnd *cmd) +{ + struct pvscsi_adapter *adapter = shost_priv(cmd->device->host); + struct pvscsi_ctx *ctx; + unsigned long flags; + + scmd_printk(KERN_DEBUG, cmd, "task abort on host %u, %p\n", + adapter->host->host_no, cmd); + + spin_lock_irqsave(&adapter->hw_lock, flags); + + /* + * Poll the completion ring first - we might be trying to abort + * a command that is waiting to be dispatched in the completion ring. + */ + pvscsi_process_completion_ring(adapter); + + /* + * If there is no context for the command, it either already succeeded + * or else was never properly issued. Not our problem. + */ + ctx = pvscsi_find_context(adapter, cmd); + if (!ctx) { + scmd_printk(KERN_DEBUG, cmd, "Failed to abort cmd %p\n", cmd); + goto out; + } + + pvscsi_abort_cmd(adapter, ctx); + + pvscsi_process_completion_ring(adapter); + +out: + spin_unlock_irqrestore(&adapter->hw_lock, flags); + return SUCCESS; +} + +/* + * Abort all outstanding requests. This is only safe to use if the completion + * ring will never be walked again or the device has been reset, because it + * destroys the 1-1 mapping between context field passed to emulation and our + * request structure. + */ +static void pvscsi_reset_all(struct pvscsi_adapter *adapter) +{ + unsigned i; + + for (i = 0; i < adapter->req_depth; i++) { + struct pvscsi_ctx *ctx = &adapter->cmd_map[i]; + struct scsi_cmnd *cmd = ctx->cmd; + if (cmd) { + scmd_printk(KERN_ERR, cmd, + "Forced reset on cmd %p\n", cmd); + pvscsi_unmap_buffers(adapter, ctx); + pvscsi_release_context(adapter, ctx); + cmd->result = (DID_RESET << 16); + cmd->scsi_done(cmd); + } + } +} + +static int pvscsi_host_reset(struct scsi_cmnd *cmd) +{ + struct Scsi_Host *host = cmd->device->host; + struct pvscsi_adapter *adapter = shost_priv(host); + unsigned long flags; + bool use_msg; + + scmd_printk(KERN_INFO, cmd, "SCSI Host reset\n"); + + spin_lock_irqsave(&adapter->hw_lock, flags); + + use_msg = adapter->use_msg; + + if (use_msg) { + adapter->use_msg = 0; + spin_unlock_irqrestore(&adapter->hw_lock, flags); + + /* + * Now that we know that the ISR won't add more work on the + * workqueue we can safely flush any outstanding work. + */ + flush_workqueue(adapter->workqueue); + spin_lock_irqsave(&adapter->hw_lock, flags); + } + + /* + * We're going to tear down the entire ring structure and set it back + * up, so stalling new requests until all completions are flushed and + * the rings are back in place. + */ + + pvscsi_process_request_ring(adapter); + + ll_adapter_reset(adapter); + + /* + * Now process any completions. Note we do this AFTER adapter reset, + * which is strange, but stops races where completions get posted + * between processing the ring and issuing the reset. The backend will + * not touch the ring memory after reset, so the immediately pre-reset + * completion ring state is still valid. + */ + pvscsi_process_completion_ring(adapter); + + pvscsi_reset_all(adapter); + adapter->use_msg = use_msg; + pvscsi_setup_all_rings(adapter); + pvscsi_unmask_intr(adapter); + + spin_unlock_irqrestore(&adapter->hw_lock, flags); + + return SUCCESS; +} + +static int pvscsi_bus_reset(struct scsi_cmnd *cmd) +{ + struct Scsi_Host *host = cmd->device->host; + struct pvscsi_adapter *adapter = shost_priv(host); + unsigned long flags; + + scmd_printk(KERN_INFO, cmd, "SCSI Bus reset\n"); + + /* + * We don't want to queue new requests for this bus after + * flushing all pending requests to emulation, since new + * requests could then sneak in during this bus reset phase, + * so take the lock now. + */ + spin_lock_irqsave(&adapter->hw_lock, flags); + + pvscsi_process_request_ring(adapter); + ll_bus_reset(adapter); + pvscsi_process_completion_ring(adapter); + + spin_unlock_irqrestore(&adapter->hw_lock, flags); + + return SUCCESS; +} + +static int pvscsi_device_reset(struct scsi_cmnd *cmd) +{ + struct Scsi_Host *host = cmd->device->host; + struct pvscsi_adapter *adapter = shost_priv(host); + unsigned long flags; + + scmd_printk(KERN_INFO, cmd, "SCSI device reset on scsi%u:%u\n", + host->host_no, cmd->device->id); + + /* + * We don't want to queue new requests for this device after flushing + * all pending requests to emulation, since new requests could then + * sneak in during this device reset phase, so take the lock now. + */ + spin_lock_irqsave(&adapter->hw_lock, flags); + + pvscsi_process_request_ring(adapter); + ll_device_reset(adapter, cmd->device->id); + pvscsi_process_completion_ring(adapter); + + spin_unlock_irqrestore(&adapter->hw_lock, flags); + + return SUCCESS; +} + +static struct scsi_host_template pvscsi_template; + +static const char *pvscsi_info(struct Scsi_Host *host) +{ + struct pvscsi_adapter *adapter = shost_priv(host); + static char buf[256]; + + sprintf(buf, "VMware PVSCSI storage adapter rev %d, req/cmp/msg rings: " + "%u/%u/%u pages, cmd_per_lun=%u", adapter->rev, + adapter->req_pages, adapter->cmp_pages, adapter->msg_pages, + pvscsi_template.cmd_per_lun); + + return buf; +} + +static struct scsi_host_template pvscsi_template = { + .module = THIS_MODULE, + .name = "VMware PVSCSI Host Adapter", + .proc_name = "vmw_pvscsi", + .info = pvscsi_info, + .queuecommand = pvscsi_queue, + .this_id = -1, + .sg_tablesize = PVSCSI_MAX_NUM_SG_ENTRIES_PER_SEGMENT, + .dma_boundary = UINT_MAX, + .max_sectors = 0xffff, + .use_clustering = ENABLE_CLUSTERING, + .eh_abort_handler = pvscsi_abort, + .eh_device_reset_handler = pvscsi_device_reset, + .eh_bus_reset_handler = pvscsi_bus_reset, + .eh_host_reset_handler = pvscsi_host_reset, +}; + +static void pvscsi_process_msg(const struct pvscsi_adapter *adapter, + const struct PVSCSIRingMsgDesc *e) +{ + struct PVSCSIRingsState *s = adapter->rings_state; + struct Scsi_Host *host = adapter->host; + struct scsi_device *sdev; + + printk(KERN_INFO "vmw_pvscsi: msg type: 0x%x - MSG RING: %u/%u (%u) \n", + e->type, s->msgProdIdx, s->msgConsIdx, s->msgNumEntriesLog2); + + BUILD_BUG_ON(PVSCSI_MSG_LAST != 2); + + if (e->type == PVSCSI_MSG_DEV_ADDED) { + struct PVSCSIMsgDescDevStatusChanged *desc; + desc = (struct PVSCSIMsgDescDevStatusChanged *)e; + + printk(KERN_INFO + "vmw_pvscsi: msg: device added at scsi%u:%u:%u\n", + desc->bus, desc->target, desc->lun[1]); + + if (!scsi_host_get(host)) + return; + + sdev = scsi_device_lookup(host, desc->bus, desc->target, + desc->lun[1]); + if (sdev) { + printk(KERN_INFO "vmw_pvscsi: device already exists\n"); + scsi_device_put(sdev); + } else + scsi_add_device(adapter->host, desc->bus, + desc->target, desc->lun[1]); + + scsi_host_put(host); + } else if (e->type == PVSCSI_MSG_DEV_REMOVED) { + struct PVSCSIMsgDescDevStatusChanged *desc; + desc = (struct PVSCSIMsgDescDevStatusChanged *)e; + + printk(KERN_INFO + "vmw_pvscsi: msg: device removed at scsi%u:%u:%u\n", + desc->bus, desc->target, desc->lun[1]); + + if (!scsi_host_get(host)) + return; + + sdev = scsi_device_lookup(host, desc->bus, desc->target, + desc->lun[1]); + if (sdev) { + scsi_remove_device(sdev); + scsi_device_put(sdev); + } else + printk(KERN_INFO + "vmw_pvscsi: failed to lookup scsi%u:%u:%u\n", + desc->bus, desc->target, desc->lun[1]); + + scsi_host_put(host); + } +} + +static int pvscsi_msg_pending(const struct pvscsi_adapter *adapter) +{ + struct PVSCSIRingsState *s = adapter->rings_state; + + return s->msgProdIdx != s->msgConsIdx; +} + +static void pvscsi_process_msg_ring(const struct pvscsi_adapter *adapter) +{ + struct PVSCSIRingsState *s = adapter->rings_state; + struct PVSCSIRingMsgDesc *ring = adapter->msg_ring; + u32 msg_entries = s->msgNumEntriesLog2; + + while (pvscsi_msg_pending(adapter)) { + struct PVSCSIRingMsgDesc *e = ring + (s->msgConsIdx & + MASK(msg_entries)); + + barrier(); + pvscsi_process_msg(adapter, e); + barrier(); + s->msgConsIdx++; + } +} + +static void pvscsi_msg_workqueue_handler(struct work_struct *data) +{ + struct pvscsi_adapter *adapter; + + adapter = container_of(data, struct pvscsi_adapter, work); + + pvscsi_process_msg_ring(adapter); +} + +static int pvscsi_setup_msg_workqueue(struct pvscsi_adapter *adapter) +{ + char name[32]; + + if (!pvscsi_use_msg) + return 0; + + pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_COMMAND, + PVSCSI_CMD_SETUP_MSG_RING); + + if (pvscsi_reg_read(adapter, PVSCSI_REG_OFFSET_COMMAND_STATUS) == -1) + return 0; + + snprintf(name, sizeof(name), + "vmw_pvscsi_wq_%u", adapter->host->host_no); + + adapter->workqueue = create_singlethread_workqueue(name); + if (!adapter->workqueue) { + printk(KERN_ERR "vmw_pvscsi: failed to create work queue\n"); + return 0; + } + INIT_WORK(&adapter->work, pvscsi_msg_workqueue_handler); + + return 1; +} + +static irqreturn_t pvscsi_isr(int irq, void *devp) +{ + struct pvscsi_adapter *adapter = devp; + int handled; + + if (adapter->use_msi || adapter->use_msix) + handled = true; + else { + u32 val = pvscsi_read_intr_status(adapter); + handled = (val & PVSCSI_INTR_ALL_SUPPORTED) != 0; + if (handled) + pvscsi_write_intr_status(devp, val); + } + + if (handled) { + unsigned long flags; + + spin_lock_irqsave(&adapter->hw_lock, flags); + + pvscsi_process_completion_ring(adapter); + if (adapter->use_msg && pvscsi_msg_pending(adapter)) + queue_work(adapter->workqueue, &adapter->work); + + spin_unlock_irqrestore(&adapter->hw_lock, flags); + } + + return IRQ_RETVAL(handled); +} + +static void pvscsi_free_sgls(const struct pvscsi_adapter *adapter) +{ + struct pvscsi_ctx *ctx = adapter->cmd_map; + unsigned i; + + for (i = 0; i < adapter->req_depth; ++i, ++ctx) + free_pages((unsigned long)ctx->sgl, get_order(SGL_SIZE)); +} + +static int pvscsi_setup_msix(const struct pvscsi_adapter *adapter, int *irq) +{ + struct msix_entry entry = { 0, PVSCSI_VECTOR_COMPLETION }; + int ret; + + ret = pci_enable_msix(adapter->dev, &entry, 1); + if (ret) + return ret; + + *irq = entry.vector; + + return 0; +} + +static void pvscsi_shutdown_intr(struct pvscsi_adapter *adapter) +{ + if (adapter->irq) { + free_irq(adapter->irq, adapter); + adapter->irq = 0; + } + if (adapter->use_msi) { + pci_disable_msi(adapter->dev); + adapter->use_msi = 0; + } else if (adapter->use_msix) { + pci_disable_msix(adapter->dev); + adapter->use_msix = 0; + } +} + +static void pvscsi_release_resources(struct pvscsi_adapter *adapter) +{ + pvscsi_shutdown_intr(adapter); + + if (adapter->workqueue) + destroy_workqueue(adapter->workqueue); + + if (adapter->mmioBase) + pci_iounmap(adapter->dev, adapter->mmioBase); + + pci_release_regions(adapter->dev); + + if (adapter->cmd_map) { + pvscsi_free_sgls(adapter); + kfree(adapter->cmd_map); + } + + if (adapter->rings_state) + pci_free_consistent(adapter->dev, PAGE_SIZE, + adapter->rings_state, adapter->ringStatePA); + + if (adapter->req_ring) + pci_free_consistent(adapter->dev, + adapter->req_pages * PAGE_SIZE, + adapter->req_ring, adapter->reqRingPA); + + if (adapter->cmp_ring) + pci_free_consistent(adapter->dev, + adapter->cmp_pages * PAGE_SIZE, + adapter->cmp_ring, adapter->cmpRingPA); + + if (adapter->msg_ring) + pci_free_consistent(adapter->dev, + adapter->msg_pages * PAGE_SIZE, + adapter->msg_ring, adapter->msgRingPA); +} + +/* + * Allocate scatter gather lists. + * + * These are statically allocated. Trying to be clever was not worth it. + * + * Dynamic allocation can fail, and we can't go deeep into the memory + * allocator, since we're a SCSI driver, and trying too hard to allocate + * memory might generate disk I/O. We also don't want to fail disk I/O + * in that case because we can't get an allocation - the I/O could be + * trying to swap out data to free memory. Since that is pathological, + * just use a statically allocated scatter list. + * + */ +static int __devinit pvscsi_allocate_sg(struct pvscsi_adapter *adapter) +{ + struct pvscsi_ctx *ctx; + int i; + + ctx = adapter->cmd_map; + BUILD_BUG_ON(sizeof(struct pvscsi_sg_list) > SGL_SIZE); + + for (i = 0; i < adapter->req_depth; ++i, ++ctx) { + ctx->sgl = (void *)__get_free_pages(GFP_KERNEL, + get_order(SGL_SIZE)); + ctx->sglPA = 0; + BUG_ON(!IS_ALIGNED(((unsigned long)ctx->sgl), PAGE_SIZE)); + if (!ctx->sgl) { + for (; i >= 0; --i, --ctx) { + free_pages((unsigned long)ctx->sgl, + get_order(SGL_SIZE)); + ctx->sgl = NULL; + } + return -ENOMEM; + } + } + + return 0; +} + +static int __devinit pvscsi_probe(struct pci_dev *pdev, + const struct pci_device_id *id) +{ + struct pvscsi_adapter *adapter; + struct Scsi_Host *host; + unsigned int i; + unsigned long flags = 0; + int error; + + error = -ENODEV; + + if (pci_enable_device(pdev)) + return error; + + if (pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) == 0 && + pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)) == 0) { + printk(KERN_INFO "vmw_pvscsi: using 64bit dma\n"); + } else if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32)) == 0 && + pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)) == 0) { + printk(KERN_INFO "vmw_pvscsi: using 32bit dma\n"); + } else { + printk(KERN_ERR "vmw_pvscsi: failed to set DMA mask\n"); + goto out_disable_device; + } + + pvscsi_template.can_queue = + min(PVSCSI_MAX_NUM_PAGES_REQ_RING, pvscsi_ring_pages) * + PVSCSI_MAX_NUM_REQ_ENTRIES_PER_PAGE; + pvscsi_template.cmd_per_lun = + min(pvscsi_template.can_queue, pvscsi_cmd_per_lun); + host = scsi_host_alloc(&pvscsi_template, sizeof(struct pvscsi_adapter)); + if (!host) { + printk(KERN_ERR "vmw_pvscsi: failed to allocate host\n"); + goto out_disable_device; + } + + adapter = shost_priv(host); + memset(adapter, 0, sizeof(*adapter)); + adapter->dev = pdev; + adapter->host = host; + + spin_lock_init(&adapter->hw_lock); + + host->max_channel = 0; + host->max_id = 16; + host->max_lun = 1; + host->max_cmd_len = 16; + + adapter->rev = pdev->revision; + + if (pci_request_regions(pdev, "vmw_pvscsi")) { + printk(KERN_ERR "vmw_pvscsi: pci memory selection failed\n"); + goto out_free_host; + } + + for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) { + if ((pci_resource_flags(pdev, i) & PCI_BASE_ADDRESS_SPACE_IO)) + continue; + + if (pci_resource_len(pdev, i) < PVSCSI_MEM_SPACE_SIZE) + continue; + + break; + } + + if (i == DEVICE_COUNT_RESOURCE) { + printk(KERN_ERR + "vmw_pvscsi: adapter has no suitable MMIO region\n"); + goto out_release_resources; + } + + adapter->mmioBase = pci_iomap(pdev, i, PVSCSI_MEM_SPACE_SIZE); + + if (!adapter->mmioBase) { + printk(KERN_ERR + "vmw_pvscsi: can't iomap for BAR %d memsize %lu\n", + i, PVSCSI_MEM_SPACE_SIZE); + goto out_release_resources; + } + + pci_set_master(pdev); + pci_set_drvdata(pdev, host); + + ll_adapter_reset(adapter); + + adapter->use_msg = pvscsi_setup_msg_workqueue(adapter); + + error = pvscsi_allocate_rings(adapter); + if (error) { + printk(KERN_ERR "vmw_pvscsi: unable to allocate ring memory\n"); + goto out_release_resources; + } + + /* + * From this point on we should reset the adapter if anything goes + * wrong. + */ + pvscsi_setup_all_rings(adapter); + + adapter->cmd_map = kcalloc(adapter->req_depth, + sizeof(struct pvscsi_ctx), GFP_KERNEL); + if (!adapter->cmd_map) { + printk(KERN_ERR "vmw_pvscsi: failed to allocate memory.\n"); + error = -ENOMEM; + goto out_reset_adapter; + } + + INIT_LIST_HEAD(&adapter->cmd_pool); + for (i = 0; i < adapter->req_depth; i++) { + struct pvscsi_ctx *ctx = adapter->cmd_map + i; + list_add(&ctx->list, &adapter->cmd_pool); + } + + error = pvscsi_allocate_sg(adapter); + if (error) { + printk(KERN_ERR "vmw_pvscsi: unable to allocate s/g table\n"); + goto out_reset_adapter; + } + + if (!pvscsi_disable_msix && + pvscsi_setup_msix(adapter, &adapter->irq) == 0) { + printk(KERN_INFO "vmw_pvscsi: using MSI-X\n"); + adapter->use_msix = 1; + } else if (!pvscsi_disable_msi && pci_enable_msi(pdev) == 0) { + printk(KERN_INFO "vmw_pvscsi: using MSI\n"); + adapter->use_msi = 1; + adapter->irq = pdev->irq; + } else { + printk(KERN_INFO "vmw_pvscsi: using INTx\n"); + adapter->irq = pdev->irq; + flags = IRQF_SHARED; + } + + error = request_irq(adapter->irq, pvscsi_isr, flags, + "vmw_pvscsi", adapter); + if (error) { + printk(KERN_ERR + "vmw_pvscsi: unable to request IRQ: %d\n", error); + adapter->irq = 0; + goto out_reset_adapter; + } + + error = scsi_add_host(host, &pdev->dev); + if (error) { + printk(KERN_ERR + "vmw_pvscsi: scsi_add_host failed: %d\n", error); + goto out_reset_adapter; + } + + dev_info(&pdev->dev, "VMware PVSCSI rev %d host #%u\n", + adapter->rev, host->host_no); + + pvscsi_unmask_intr(adapter); + + scsi_scan_host(host); + + return 0; + +out_reset_adapter: + ll_adapter_reset(adapter); +out_release_resources: + pvscsi_release_resources(adapter); +out_free_host: + scsi_host_put(host); +out_disable_device: + pci_set_drvdata(pdev, NULL); + pci_disable_device(pdev); + + return error; +} + +static void __pvscsi_shutdown(struct pvscsi_adapter *adapter) +{ + pvscsi_mask_intr(adapter); + + if (adapter->workqueue) + flush_workqueue(adapter->workqueue); + + pvscsi_shutdown_intr(adapter); + + pvscsi_process_request_ring(adapter); + pvscsi_process_completion_ring(adapter); + ll_adapter_reset(adapter); +} + +static void pvscsi_shutdown(struct pci_dev *dev) +{ + struct Scsi_Host *host = pci_get_drvdata(dev); + struct pvscsi_adapter *adapter = shost_priv(host); + + __pvscsi_shutdown(adapter); +} + +static void pvscsi_remove(struct pci_dev *pdev) +{ + struct Scsi_Host *host = pci_get_drvdata(pdev); + struct pvscsi_adapter *adapter = shost_priv(host); + + scsi_remove_host(host); + + __pvscsi_shutdown(adapter); + pvscsi_release_resources(adapter); + + scsi_host_put(host); + + pci_set_drvdata(pdev, NULL); + pci_disable_device(pdev); +} + +static struct pci_driver pvscsi_pci_driver = { + .name = "vmw_pvscsi", + .id_table = pvscsi_pci_tbl, + .probe = pvscsi_probe, + .remove = __devexit_p(pvscsi_remove), + .shutdown = pvscsi_shutdown, +}; + +static int __init pvscsi_init(void) +{ + pr_info("%s - version %s\n", + PVSCSI_LINUX_DRIVER_DESC, PVSCSI_DRIVER_VERSION_STRING); + return pci_register_driver(&pvscsi_pci_driver); +} + +static void __exit pvscsi_exit(void) +{ + pci_unregister_driver(&pvscsi_pci_driver); +} + +module_init(pvscsi_init); +module_exit(pvscsi_exit); --- linux-2.6.32.orig/drivers/scsi/vmw_pvscsi.h +++ linux-2.6.32/drivers/scsi/vmw_pvscsi.h @@ -0,0 +1,397 @@ +/* + * VMware PVSCSI header file + * + * Copyright (C) 2008-2009, VMware, Inc. 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; version 2 of the License and no 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, GOOD TITLE or + * NON INFRINGEMENT. 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. + * + * Maintained by: Alok N Kataria + * + */ + +#ifndef _VMW_PVSCSI_H_ +#define _VMW_PVSCSI_H_ + +#include + +#define PVSCSI_DRIVER_VERSION_STRING "1.0.1.0-k" + +#define PVSCSI_MAX_NUM_SG_ENTRIES_PER_SEGMENT 128 + +#define MASK(n) ((1 << (n)) - 1) /* make an n-bit mask */ + +#define PCI_VENDOR_ID_VMWARE 0x15AD +#define PCI_DEVICE_ID_VMWARE_PVSCSI 0x07C0 + +/* + * host adapter status/error codes + */ +enum HostBusAdapterStatus { + BTSTAT_SUCCESS = 0x00, /* CCB complete normally with no errors */ + BTSTAT_LINKED_COMMAND_COMPLETED = 0x0a, + BTSTAT_LINKED_COMMAND_COMPLETED_WITH_FLAG = 0x0b, + BTSTAT_DATA_UNDERRUN = 0x0c, + BTSTAT_SELTIMEO = 0x11, /* SCSI selection timeout */ + BTSTAT_DATARUN = 0x12, /* data overrun/underrun */ + BTSTAT_BUSFREE = 0x13, /* unexpected bus free */ + BTSTAT_INVPHASE = 0x14, /* invalid bus phase or sequence requested by target */ + BTSTAT_LUNMISMATCH = 0x17, /* linked CCB has different LUN from first CCB */ + BTSTAT_SENSFAILED = 0x1b, /* auto request sense failed */ + BTSTAT_TAGREJECT = 0x1c, /* SCSI II tagged queueing message rejected by target */ + BTSTAT_BADMSG = 0x1d, /* unsupported message received by the host adapter */ + BTSTAT_HAHARDWARE = 0x20, /* host adapter hardware failed */ + BTSTAT_NORESPONSE = 0x21, /* target did not respond to SCSI ATN, sent a SCSI RST */ + BTSTAT_SENTRST = 0x22, /* host adapter asserted a SCSI RST */ + BTSTAT_RECVRST = 0x23, /* other SCSI devices asserted a SCSI RST */ + BTSTAT_DISCONNECT = 0x24, /* target device reconnected improperly (w/o tag) */ + BTSTAT_BUSRESET = 0x25, /* host adapter issued BUS device reset */ + BTSTAT_ABORTQUEUE = 0x26, /* abort queue generated */ + BTSTAT_HASOFTWARE = 0x27, /* host adapter software error */ + BTSTAT_HATIMEOUT = 0x30, /* host adapter hardware timeout error */ + BTSTAT_SCSIPARITY = 0x34, /* SCSI parity error detected */ +}; + +/* + * Register offsets. + * + * These registers are accessible both via i/o space and mm i/o. + */ + +enum PVSCSIRegOffset { + PVSCSI_REG_OFFSET_COMMAND = 0x0, + PVSCSI_REG_OFFSET_COMMAND_DATA = 0x4, + PVSCSI_REG_OFFSET_COMMAND_STATUS = 0x8, + PVSCSI_REG_OFFSET_LAST_STS_0 = 0x100, + PVSCSI_REG_OFFSET_LAST_STS_1 = 0x104, + PVSCSI_REG_OFFSET_LAST_STS_2 = 0x108, + PVSCSI_REG_OFFSET_LAST_STS_3 = 0x10c, + PVSCSI_REG_OFFSET_INTR_STATUS = 0x100c, + PVSCSI_REG_OFFSET_INTR_MASK = 0x2010, + PVSCSI_REG_OFFSET_KICK_NON_RW_IO = 0x3014, + PVSCSI_REG_OFFSET_DEBUG = 0x3018, + PVSCSI_REG_OFFSET_KICK_RW_IO = 0x4018, +}; + +/* + * Virtual h/w commands. + */ + +enum PVSCSICommands { + PVSCSI_CMD_FIRST = 0, /* has to be first */ + + PVSCSI_CMD_ADAPTER_RESET = 1, + PVSCSI_CMD_ISSUE_SCSI = 2, + PVSCSI_CMD_SETUP_RINGS = 3, + PVSCSI_CMD_RESET_BUS = 4, + PVSCSI_CMD_RESET_DEVICE = 5, + PVSCSI_CMD_ABORT_CMD = 6, + PVSCSI_CMD_CONFIG = 7, + PVSCSI_CMD_SETUP_MSG_RING = 8, + PVSCSI_CMD_DEVICE_UNPLUG = 9, + + PVSCSI_CMD_LAST = 10 /* has to be last */ +}; + +/* + * Command descriptor for PVSCSI_CMD_RESET_DEVICE -- + */ + +struct PVSCSICmdDescResetDevice { + u32 target; + u8 lun[8]; +} __packed; + +/* + * Command descriptor for PVSCSI_CMD_ABORT_CMD -- + * + * - currently does not support specifying the LUN. + * - _pad should be 0. + */ + +struct PVSCSICmdDescAbortCmd { + u64 context; + u32 target; + u32 _pad; +} __packed; + +/* + * Command descriptor for PVSCSI_CMD_SETUP_RINGS -- + * + * Notes: + * - reqRingNumPages and cmpRingNumPages need to be power of two. + * - reqRingNumPages and cmpRingNumPages need to be different from 0, + * - reqRingNumPages and cmpRingNumPages need to be inferior to + * PVSCSI_SETUP_RINGS_MAX_NUM_PAGES. + */ + +#define PVSCSI_SETUP_RINGS_MAX_NUM_PAGES 32 +struct PVSCSICmdDescSetupRings { + u32 reqRingNumPages; + u32 cmpRingNumPages; + u64 ringsStatePPN; + u64 reqRingPPNs[PVSCSI_SETUP_RINGS_MAX_NUM_PAGES]; + u64 cmpRingPPNs[PVSCSI_SETUP_RINGS_MAX_NUM_PAGES]; +} __packed; + +/* + * Command descriptor for PVSCSI_CMD_SETUP_MSG_RING -- + * + * Notes: + * - this command was not supported in the initial revision of the h/w + * interface. Before using it, you need to check that it is supported by + * writing PVSCSI_CMD_SETUP_MSG_RING to the 'command' register, then + * immediately after read the 'command status' register: + * * a value of -1 means that the cmd is NOT supported, + * * a value != -1 means that the cmd IS supported. + * If it's supported the 'command status' register should return: + * sizeof(PVSCSICmdDescSetupMsgRing) / sizeof(u32). + * - this command should be issued _after_ the usual SETUP_RINGS so that the + * RingsState page is already setup. If not, the command is a nop. + * - numPages needs to be a power of two, + * - numPages needs to be different from 0, + * - _pad should be zero. + */ + +#define PVSCSI_SETUP_MSG_RING_MAX_NUM_PAGES 16 + +struct PVSCSICmdDescSetupMsgRing { + u32 numPages; + u32 _pad; + u64 ringPPNs[PVSCSI_SETUP_MSG_RING_MAX_NUM_PAGES]; +} __packed; + +enum PVSCSIMsgType { + PVSCSI_MSG_DEV_ADDED = 0, + PVSCSI_MSG_DEV_REMOVED = 1, + PVSCSI_MSG_LAST = 2, +}; + +/* + * Msg descriptor. + * + * sizeof(struct PVSCSIRingMsgDesc) == 128. + * + * - type is of type enum PVSCSIMsgType. + * - the content of args depend on the type of event being delivered. + */ + +struct PVSCSIRingMsgDesc { + u32 type; + u32 args[31]; +} __packed; + +struct PVSCSIMsgDescDevStatusChanged { + u32 type; /* PVSCSI_MSG_DEV _ADDED / _REMOVED */ + u32 bus; + u32 target; + u8 lun[8]; + u32 pad[27]; +} __packed; + +/* + * Rings state. + * + * - the fields: + * . msgProdIdx, + * . msgConsIdx, + * . msgNumEntriesLog2, + * .. are only used once the SETUP_MSG_RING cmd has been issued. + * - '_pad' helps to ensure that the msg related fields are on their own + * cache-line. + */ + +struct PVSCSIRingsState { + u32 reqProdIdx; + u32 reqConsIdx; + u32 reqNumEntriesLog2; + + u32 cmpProdIdx; + u32 cmpConsIdx; + u32 cmpNumEntriesLog2; + + u8 _pad[104]; + + u32 msgProdIdx; + u32 msgConsIdx; + u32 msgNumEntriesLog2; +} __packed; + +/* + * Request descriptor. + * + * sizeof(RingReqDesc) = 128 + * + * - context: is a unique identifier of a command. It could normally be any + * 64bit value, however we currently store it in the serialNumber variable + * of struct SCSI_Command, so we have the following restrictions due to the + * way this field is handled in the vmkernel storage stack: + * * this value can't be 0, + * * the upper 32bit need to be 0 since serialNumber is as a u32. + * Currently tracked as PR 292060. + * - dataLen: contains the total number of bytes that need to be transferred. + * - dataAddr: + * * if PVSCSI_FLAG_CMD_WITH_SG_LIST is set: dataAddr is the PA of the first + * s/g table segment, each s/g segment is entirely contained on a single + * page of physical memory, + * * if PVSCSI_FLAG_CMD_WITH_SG_LIST is NOT set, then dataAddr is the PA of + * the buffer used for the DMA transfer, + * - flags: + * * PVSCSI_FLAG_CMD_WITH_SG_LIST: see dataAddr above, + * * PVSCSI_FLAG_CMD_DIR_NONE: no DMA involved, + * * PVSCSI_FLAG_CMD_DIR_TOHOST: transfer from device to main memory, + * * PVSCSI_FLAG_CMD_DIR_TODEVICE: transfer from main memory to device, + * * PVSCSI_FLAG_CMD_OUT_OF_BAND_CDB: reserved to handle CDBs larger than + * 16bytes. To be specified. + * - vcpuHint: vcpuId of the processor that will be most likely waiting for the + * completion of the i/o. For guest OSes that use lowest priority message + * delivery mode (such as windows), we use this "hint" to deliver the + * completion action to the proper vcpu. For now, we can use the vcpuId of + * the processor that initiated the i/o as a likely candidate for the vcpu + * that will be waiting for the completion.. + * - bus should be 0: we currently only support bus 0 for now. + * - unused should be zero'd. + */ + +#define PVSCSI_FLAG_CMD_WITH_SG_LIST (1 << 0) +#define PVSCSI_FLAG_CMD_OUT_OF_BAND_CDB (1 << 1) +#define PVSCSI_FLAG_CMD_DIR_NONE (1 << 2) +#define PVSCSI_FLAG_CMD_DIR_TOHOST (1 << 3) +#define PVSCSI_FLAG_CMD_DIR_TODEVICE (1 << 4) + +struct PVSCSIRingReqDesc { + u64 context; + u64 dataAddr; + u64 dataLen; + u64 senseAddr; + u32 senseLen; + u32 flags; + u8 cdb[16]; + u8 cdbLen; + u8 lun[8]; + u8 tag; + u8 bus; + u8 target; + u8 vcpuHint; + u8 unused[59]; +} __packed; + +/* + * Scatter-gather list management. + * + * As described above, when PVSCSI_FLAG_CMD_WITH_SG_LIST is set in the + * RingReqDesc.flags, then RingReqDesc.dataAddr is the PA of the first s/g + * table segment. + * + * - each segment of the s/g table contain a succession of struct + * PVSCSISGElement. + * - each segment is entirely contained on a single physical page of memory. + * - a "chain" s/g element has the flag PVSCSI_SGE_FLAG_CHAIN_ELEMENT set in + * PVSCSISGElement.flags and in this case: + * * addr is the PA of the next s/g segment, + * * length is undefined, assumed to be 0. + */ + +struct PVSCSISGElement { + u64 addr; + u32 length; + u32 flags; +} __packed; + +/* + * Completion descriptor. + * + * sizeof(RingCmpDesc) = 32 + * + * - context: identifier of the command. The same thing that was specified + * under "context" as part of struct RingReqDesc at initiation time, + * - dataLen: number of bytes transferred for the actual i/o operation, + * - senseLen: number of bytes written into the sense buffer, + * - hostStatus: adapter status, + * - scsiStatus: device status, + * - _pad should be zero. + */ + +struct PVSCSIRingCmpDesc { + u64 context; + u64 dataLen; + u32 senseLen; + u16 hostStatus; + u16 scsiStatus; + u32 _pad[2]; +} __packed; + +/* + * Interrupt status / IRQ bits. + */ + +#define PVSCSI_INTR_CMPL_0 (1 << 0) +#define PVSCSI_INTR_CMPL_1 (1 << 1) +#define PVSCSI_INTR_CMPL_MASK MASK(2) + +#define PVSCSI_INTR_MSG_0 (1 << 2) +#define PVSCSI_INTR_MSG_1 (1 << 3) +#define PVSCSI_INTR_MSG_MASK (MASK(2) << 2) + +#define PVSCSI_INTR_ALL_SUPPORTED MASK(4) + +/* + * Number of MSI-X vectors supported. + */ +#define PVSCSI_MAX_INTRS 24 + +/* + * Enumeration of supported MSI-X vectors + */ +#define PVSCSI_VECTOR_COMPLETION 0 + +/* + * Misc constants for the rings. + */ + +#define PVSCSI_MAX_NUM_PAGES_REQ_RING PVSCSI_SETUP_RINGS_MAX_NUM_PAGES +#define PVSCSI_MAX_NUM_PAGES_CMP_RING PVSCSI_SETUP_RINGS_MAX_NUM_PAGES +#define PVSCSI_MAX_NUM_PAGES_MSG_RING PVSCSI_SETUP_MSG_RING_MAX_NUM_PAGES + +#define PVSCSI_MAX_NUM_REQ_ENTRIES_PER_PAGE \ + (PAGE_SIZE / sizeof(struct PVSCSIRingReqDesc)) + +#define PVSCSI_MAX_REQ_QUEUE_DEPTH \ + (PVSCSI_MAX_NUM_PAGES_REQ_RING * PVSCSI_MAX_NUM_REQ_ENTRIES_PER_PAGE) + +#define PVSCSI_MEM_SPACE_COMMAND_NUM_PAGES 1 +#define PVSCSI_MEM_SPACE_INTR_STATUS_NUM_PAGES 1 +#define PVSCSI_MEM_SPACE_MISC_NUM_PAGES 2 +#define PVSCSI_MEM_SPACE_KICK_IO_NUM_PAGES 2 +#define PVSCSI_MEM_SPACE_MSIX_NUM_PAGES 2 + +enum PVSCSIMemSpace { + PVSCSI_MEM_SPACE_COMMAND_PAGE = 0, + PVSCSI_MEM_SPACE_INTR_STATUS_PAGE = 1, + PVSCSI_MEM_SPACE_MISC_PAGE = 2, + PVSCSI_MEM_SPACE_KICK_IO_PAGE = 4, + PVSCSI_MEM_SPACE_MSIX_TABLE_PAGE = 6, + PVSCSI_MEM_SPACE_MSIX_PBA_PAGE = 7, +}; + +#define PVSCSI_MEM_SPACE_NUM_PAGES \ + (PVSCSI_MEM_SPACE_COMMAND_NUM_PAGES + \ + PVSCSI_MEM_SPACE_INTR_STATUS_NUM_PAGES + \ + PVSCSI_MEM_SPACE_MISC_NUM_PAGES + \ + PVSCSI_MEM_SPACE_KICK_IO_NUM_PAGES + \ + PVSCSI_MEM_SPACE_MSIX_NUM_PAGES) + +#define PVSCSI_MEM_SPACE_SIZE (PVSCSI_MEM_SPACE_NUM_PAGES * PAGE_SIZE) + +#endif /* _VMW_PVSCSI_H_ */ --- linux-2.6.32.orig/drivers/scsi/aacraid/commctrl.c +++ linux-2.6.32/drivers/scsi/aacraid/commctrl.c @@ -655,9 +655,9 @@ /* Does this really need to be GFP_DMA? */ p = kmalloc(usg->sg[i].count,GFP_KERNEL|__GFP_DMA); if(!p) { - kfree (usg); - dprintk((KERN_DEBUG"aacraid: Could not allocate SG buffer - size = %d buffer number %d of %d\n", + dprintk((KERN_DEBUG "aacraid: Could not allocate SG buffer - size = %d buffer number %d of %d\n", usg->sg[i].count,i,usg->count)); + kfree(usg); rcode = -ENOMEM; goto cleanup; } --- linux-2.6.32.orig/drivers/scsi/aacraid/commsup.c +++ linux-2.6.32/drivers/scsi/aacraid/commsup.c @@ -1202,6 +1202,8 @@ kfree(aac->queues); aac->queues = NULL; free_irq(aac->pdev->irq, aac); + if (aac->msi) + pci_disable_msi(aac->pdev); kfree(aac->fsa_dev); aac->fsa_dev = NULL; quirks = aac_get_driver_ident(index)->quirks; --- linux-2.6.32.orig/drivers/scsi/aic7xxx/aic79xx_core.c +++ linux-2.6.32/drivers/scsi/aic7xxx/aic79xx_core.c @@ -3171,13 +3171,16 @@ tinfo->curr.transport_version = 2; tinfo->goal.transport_version = 2; tinfo->goal.ppr_options = 0; - /* - * Remove any SCBs in the waiting for selection - * queue that may also be for this target so - * that command ordering is preserved. - */ - ahd_freeze_devq(ahd, scb); - ahd_qinfifo_requeue_tail(ahd, scb); + if (scb != NULL) { + /* + * Remove any SCBs in the waiting + * for selection queue that may + * also be for this target so that + * command ordering is preserved. + */ + ahd_freeze_devq(ahd, scb); + ahd_qinfifo_requeue_tail(ahd, scb); + } printerror = 0; } } else if (ahd_sent_msg(ahd, AHDMSG_EXT, MSG_EXT_WDTR, FALSE) @@ -3194,13 +3197,16 @@ MSG_EXT_WDTR_BUS_8_BIT, AHD_TRANS_CUR|AHD_TRANS_GOAL, /*paused*/TRUE); - /* - * Remove any SCBs in the waiting for selection - * queue that may also be for this target so that - * command ordering is preserved. - */ - ahd_freeze_devq(ahd, scb); - ahd_qinfifo_requeue_tail(ahd, scb); + if (scb != NULL) { + /* + * Remove any SCBs in the waiting for + * selection queue that may also be for + * this target so that command ordering + * is preserved. + */ + ahd_freeze_devq(ahd, scb); + ahd_qinfifo_requeue_tail(ahd, scb); + } printerror = 0; } else if (ahd_sent_msg(ahd, AHDMSG_EXT, MSG_EXT_SDTR, FALSE) && ppr_busfree == 0) { @@ -3217,13 +3223,16 @@ /*ppr_options*/0, AHD_TRANS_CUR|AHD_TRANS_GOAL, /*paused*/TRUE); - /* - * Remove any SCBs in the waiting for selection - * queue that may also be for this target so that - * command ordering is preserved. - */ - ahd_freeze_devq(ahd, scb); - ahd_qinfifo_requeue_tail(ahd, scb); + if (scb != NULL) { + /* + * Remove any SCBs in the waiting for + * selection queue that may also be for + * this target so that command ordering + * is preserved. + */ + ahd_freeze_devq(ahd, scb); + ahd_qinfifo_requeue_tail(ahd, scb); + } printerror = 0; } else if ((ahd->msg_flags & MSG_FLAG_EXPECT_IDE_BUSFREE) != 0 && ahd_sent_msg(ahd, AHDMSG_1B, @@ -3251,7 +3260,7 @@ * the message phases. We check it last in case we * had to send some other message that caused a busfree. */ - if (printerror != 0 + if (scb != NULL && printerror != 0 && (lastphase == P_MESGIN || lastphase == P_MESGOUT) && ((ahd->msg_flags & MSG_FLAG_EXPECT_PPR_BUSFREE) != 0)) { --- linux-2.6.32.orig/drivers/scsi/arm/fas216.c +++ linux-2.6.32/drivers/scsi/arm/fas216.c @@ -2516,7 +2516,7 @@ if (info->scsi.phase == PHASE_IDLE) fas216_kick(info); - mod_timer(&info->eh_timer, 30 * HZ); + mod_timer(&info->eh_timer, jiffies + 30 * HZ); spin_unlock_irqrestore(&info->host_lock, flags); /* --- linux-2.6.32.orig/drivers/scsi/device_handler/scsi_dh.c +++ linux-2.6.32/drivers/scsi/device_handler/scsi_dh.c @@ -304,18 +304,15 @@ sdev = to_scsi_device(dev); if (action == BUS_NOTIFY_ADD_DEVICE) { + err = device_create_file(dev, &scsi_dh_state_attr); + /* don't care about err */ devinfo = device_handler_match(NULL, sdev); - if (!devinfo) - goto out; - - err = scsi_dh_handler_attach(sdev, devinfo); - if (!err) - err = device_create_file(dev, &scsi_dh_state_attr); + if (devinfo) + err = scsi_dh_handler_attach(sdev, devinfo); } else if (action == BUS_NOTIFY_DEL_DEVICE) { device_remove_file(dev, &scsi_dh_state_attr); scsi_dh_handler_detach(sdev, NULL); } -out: return err; } @@ -435,7 +432,12 @@ spin_lock_irqsave(q->queue_lock, flags); sdev = q->queuedata; - if (sdev && sdev->scsi_dh_data) + if (!sdev) { + spin_unlock_irqrestore(q->queue_lock, flags); + return SCSI_DH_NOSYS; + } + + if (sdev->scsi_dh_data) scsi_dh = sdev->scsi_dh_data->scsi_dh; if (!scsi_dh || !get_device(&sdev->sdev_gendev)) err = SCSI_DH_NOSYS; --- linux-2.6.32.orig/drivers/scsi/device_handler/scsi_dh_alua.c +++ linux-2.6.32/drivers/scsi/device_handler/scsi_dh_alua.c @@ -701,6 +701,8 @@ {"IBM", "2145" }, {"Pillar", "Axiom" }, {"Intel", "Multi-Flex"}, + {"NETAPP", "LUN"}, + {"AIX", "NVDISK"}, {NULL, NULL} }; --- linux-2.6.32.orig/drivers/scsi/device_handler/scsi_dh_emc.c +++ linux-2.6.32/drivers/scsi/device_handler/scsi_dh_emc.c @@ -272,7 +272,7 @@ int len = 0; rq = blk_get_request(sdev->request_queue, - (cmd == MODE_SELECT) ? WRITE : READ, GFP_NOIO); + (cmd != INQUIRY) ? WRITE : READ, GFP_NOIO); if (!rq) { sdev_printk(KERN_INFO, sdev, "get_req: blk_get_request failed"); return NULL; @@ -284,16 +284,17 @@ switch (cmd) { case MODE_SELECT: len = sizeof(short_trespass); - rq->cmd_flags |= REQ_RW; rq->cmd[1] = 0x10; + rq->cmd[4] = len; break; case MODE_SELECT_10: len = sizeof(long_trespass); - rq->cmd_flags |= REQ_RW; rq->cmd[1] = 0x10; + rq->cmd[8] = len; break; case INQUIRY: len = CLARIION_BUFFER_SIZE; + rq->cmd[4] = len; memset(buffer, 0, len); break; default: @@ -301,7 +302,6 @@ break; } - rq->cmd[4] = len; rq->cmd_type = REQ_TYPE_BLOCK_PC; rq->cmd_flags |= REQ_FAILFAST_DEV | REQ_FAILFAST_TRANSPORT | REQ_FAILFAST_DRIVER; --- linux-2.6.32.orig/drivers/scsi/fcoe/fcoe.c +++ linux-2.6.32/drivers/scsi/fcoe/fcoe.c @@ -137,7 +137,7 @@ .change_queue_depth = fc_change_queue_depth, .change_queue_type = fc_change_queue_type, .this_id = -1, - .cmd_per_lun = 32, + .cmd_per_lun = 3, .can_queue = FCOE_MAX_OUTSTANDING_COMMANDS, .use_clustering = ENABLE_CLUSTERING, .sg_tablesize = SG_ALL, @@ -160,6 +160,7 @@ { struct fcoe_ctlr *fip = &fcoe->ctlr; struct netdev_hw_addr *ha; + struct net_device *real_dev; u8 flogi_maddr[ETH_ALEN]; fcoe->netdev = netdev; @@ -173,10 +174,12 @@ /* look for SAN MAC address, if multiple SAN MACs exist, only * use the first one for SPMA */ + real_dev = (netdev->priv_flags & IFF_802_1Q_VLAN) ? + vlan_dev_real_dev(netdev) : netdev; rcu_read_lock(); - for_each_dev_addr(netdev, ha) { + for_each_dev_addr(real_dev, ha) { if ((ha->type == NETDEV_HW_ADDR_T_SAN) && - (is_valid_ether_addr(fip->ctl_src_addr))) { + (is_valid_ether_addr(ha->addr))) { memcpy(fip->ctl_src_addr, ha->addr, ETH_ALEN); fip->spma = 1; break; @@ -664,7 +667,7 @@ { struct net_device *n = fcoe_netdev(lp); - if (n->netdev_ops && n->netdev_ops->ndo_fcoe_ddp_setup) + if (n->netdev_ops->ndo_fcoe_ddp_setup) return n->netdev_ops->ndo_fcoe_ddp_setup(n, xid, sgl, sgc); return 0; @@ -681,7 +684,7 @@ { struct net_device *n = fcoe_netdev(lp); - if (n->netdev_ops && n->netdev_ops->ndo_fcoe_ddp_done) + if (n->netdev_ops->ndo_fcoe_ddp_done) return n->netdev_ops->ndo_fcoe_ddp_done(n, xid); return 0; } @@ -1631,7 +1634,7 @@ { struct fcoe_interface *fcoe; struct net_device *netdev; - int rc; + int rc = 0; mutex_lock(&fcoe_config_mutex); #ifdef CONFIG_FCOE_MODULE --- linux-2.6.32.orig/drivers/scsi/ibmvscsi/ibmvfc.c +++ linux-2.6.32/drivers/scsi/ibmvscsi/ibmvfc.c @@ -1969,7 +1969,7 @@ DECLARE_COMPLETION_ONSTACK(comp); int wait; unsigned long flags; - signed long timeout = init_timeout * HZ; + signed long timeout = IBMVFC_ABORT_WAIT_TIMEOUT * HZ; ENTER; do { @@ -2720,6 +2720,7 @@ if (crq->valid & 0x80) { if (++async_crq->cur == async_crq->size) async_crq->cur = 0; + rmb(); } else crq = NULL; @@ -2742,6 +2743,7 @@ if (crq->valid & 0x80) { if (++queue->cur == queue->size) queue->cur = 0; + rmb(); } else crq = NULL; @@ -2790,12 +2792,14 @@ while ((async = ibmvfc_next_async_crq(vhost)) != NULL) { ibmvfc_handle_async(async, vhost); async->valid = 0; + wmb(); } /* Pull all the valid messages off the CRQ */ while ((crq = ibmvfc_next_crq(vhost)) != NULL) { ibmvfc_handle_crq(crq, vhost); crq->valid = 0; + wmb(); } vio_enable_interrupts(vdev); @@ -2803,10 +2807,12 @@ vio_disable_interrupts(vdev); ibmvfc_handle_async(async, vhost); async->valid = 0; + wmb(); } else if ((crq = ibmvfc_next_crq(vhost)) != NULL) { vio_disable_interrupts(vdev); ibmvfc_handle_crq(crq, vhost); crq->valid = 0; + wmb(); } else done = 1; } --- linux-2.6.32.orig/drivers/scsi/ibmvscsi/ibmvfc.h +++ linux-2.6.32/drivers/scsi/ibmvscsi/ibmvfc.h @@ -38,6 +38,7 @@ #define IBMVFC_ADISC_PLUS_CANCEL_TIMEOUT \ (IBMVFC_ADISC_TIMEOUT + IBMVFC_ADISC_CANCEL_TIMEOUT) #define IBMVFC_INIT_TIMEOUT 120 +#define IBMVFC_ABORT_WAIT_TIMEOUT 40 #define IBMVFC_MAX_REQUESTS_DEFAULT 100 #define IBMVFC_DEBUG 0 --- linux-2.6.32.orig/drivers/scsi/libfc/fc_disc.c +++ linux-2.6.32/drivers/scsi/libfc/fc_disc.c @@ -371,7 +371,7 @@ disc, lport->e_d_tov)) return; err: - fc_disc_error(disc, fp); + fc_disc_error(disc, NULL); } /** --- linux-2.6.32.orig/drivers/scsi/libfc/fc_elsct.c +++ linux-2.6.32/drivers/scsi/libfc/fc_elsct.c @@ -53,8 +53,10 @@ did = FC_FID_DIR_SERV; } - if (rc) + if (rc) { + fc_frame_free(fp); return NULL; + } fc_fill_fc_hdr(fp, r_ctl, did, fc_host_port_id(lport->host), fh_type, FC_FC_FIRST_SEQ | FC_FC_END_SEQ | FC_FC_SEQ_INIT, 0); --- linux-2.6.32.orig/drivers/scsi/libfc/fc_fcp.c +++ linux-2.6.32/drivers/scsi/libfc/fc_fcp.c @@ -302,10 +302,13 @@ if (!fsp) return; + if (fsp->xfer_ddp == FC_XID_UNKNOWN) + return; + lp = fsp->lp; - if (fsp->xfer_ddp && lp->tt.ddp_done) { + if (lp->tt.ddp_done) { fsp->xfer_len = lp->tt.ddp_done(lp, fsp->xfer_ddp); - fsp->xfer_ddp = 0; + fsp->xfer_ddp = FC_XID_UNKNOWN; } } @@ -572,7 +575,8 @@ tlen -= sg_bytes; remaining -= sg_bytes; - if (tlen) + if ((skb_shinfo(fp_skb(fp))->nr_frags < FC_FRAME_SG_LEN) && + (tlen)) continue; /* @@ -1048,7 +1052,6 @@ seq = lp->tt.exch_seq_send(lp, fp, resp, fc_fcp_pkt_destroy, fsp, 0); if (!seq) { - fc_frame_free(fp); rc = -1; goto unlock; } @@ -1313,7 +1316,6 @@ fc_fcp_pkt_hold(fsp); /* hold while REC outstanding */ return; } - fc_frame_free(fp); retry: if (fsp->recov_retry++ < FC_MAX_RECOV_RETRY) fc_fcp_timer_set(fsp, FC_SCSI_REC_TOV); @@ -1561,10 +1563,9 @@ seq = lp->tt.exch_seq_send(lp, fp, fc_fcp_srr_resp, NULL, fsp, jiffies_to_msecs(FC_SCSI_REC_TOV)); - if (!seq) { - fc_frame_free(fp); + if (!seq) goto retry; - } + fsp->recov_seq = seq; fsp->xfer_len = offset; fsp->xfer_contig_end = offset; @@ -1708,6 +1709,7 @@ fsp->cmd = sc_cmd; /* save the cmd */ fsp->lp = lp; /* save the softc ptr */ fsp->rport = rport; /* set the remote port ptr */ + fsp->xfer_ddp = FC_XID_UNKNOWN; sc_cmd->scsi_done = done; /* @@ -1846,7 +1848,8 @@ * scsi status is good but transport level * underrun. */ - sc_cmd->result = DID_OK << 16; + sc_cmd->result = (fsp->state & FC_SRB_RCV_STATUS ? + DID_OK : DID_ERROR) << 16; } else { /* * scsi got underrun, this is an error @@ -2046,18 +2049,16 @@ int fc_slave_alloc(struct scsi_device *sdev) { struct fc_rport *rport = starget_to_rport(scsi_target(sdev)); - int queue_depth; if (!rport || fc_remote_port_chkready(rport)) return -ENXIO; - if (sdev->tagged_supported) { - if (sdev->host->hostt->cmd_per_lun) - queue_depth = sdev->host->hostt->cmd_per_lun; - else - queue_depth = FC_FCP_DFLT_QUEUE_DEPTH; - scsi_activate_tcq(sdev, queue_depth); - } + if (sdev->tagged_supported) + scsi_activate_tcq(sdev, FC_FCP_DFLT_QUEUE_DEPTH); + else + scsi_adjust_queue_depth(sdev, scsi_get_tag_type(sdev), + FC_FCP_DFLT_QUEUE_DEPTH); + return 0; } EXPORT_SYMBOL(fc_slave_alloc); --- linux-2.6.32.orig/drivers/scsi/libfc/fc_lport.c +++ linux-2.6.32/drivers/scsi/libfc/fc_lport.c @@ -329,7 +329,7 @@ * @sp: current sequence in the RLIR exchange * @fp: RLIR request frame * - * Locking Note: The lport lock is exected to be held before calling + * Locking Note: The lport lock is expected to be held before calling * this function. */ static void fc_lport_recv_rlir_req(struct fc_seq *sp, struct fc_frame *fp, @@ -348,7 +348,7 @@ * @sp: current sequence in the ECHO exchange * @fp: ECHO request frame * - * Locking Note: The lport lock is exected to be held before calling + * Locking Note: The lport lock is expected to be held before calling * this function. */ static void fc_lport_recv_echo_req(struct fc_seq *sp, struct fc_frame *in_fp, @@ -361,7 +361,7 @@ void *dp; u32 f_ctl; - FC_LPORT_DBG(lport, "Received RLIR request while in state %s\n", + FC_LPORT_DBG(lport, "Received ECHO request while in state %s\n", fc_lport_state(lport)); len = fr_len(in_fp) - sizeof(struct fc_frame_header); @@ -374,7 +374,7 @@ if (fp) { dp = fc_frame_payload_get(fp, len); memcpy(dp, pp, len); - *((u32 *)dp) = htonl(ELS_LS_ACC << 24); + *((__be32 *)dp) = htonl(ELS_LS_ACC << 24); sp = lport->tt.seq_start_next(sp); f_ctl = FC_FC_EX_CTX | FC_FC_LAST_SEQ | FC_FC_END_SEQ; fc_fill_fc_hdr(fp, FC_RCTL_ELS_REP, ep->did, ep->sid, @@ -385,12 +385,12 @@ } /** - * fc_lport_recv_echo_req() - Handle received Request Node ID data request - * @lport: Fibre Channel local port recieving the RNID - * @sp: current sequence in the RNID exchange - * @fp: RNID request frame + * fc_lport_recv_rnid_req() - Handle received Request Node ID data request + * @sp: The sequence in the RNID exchange + * @fp: The RNID request frame + * @lport: The local port recieving the RNID * - * Locking Note: The lport lock is exected to be held before calling + * Locking Note: The lport lock is expected to be held before calling * this function. */ static void fc_lport_recv_rnid_req(struct fc_seq *sp, struct fc_frame *in_fp, @@ -667,7 +667,7 @@ * Accept it with the common service parameters indicating our N port. * Set up to do a PLOGI if we have the higher-number WWPN. * - * Locking Note: The lport lock is exected to be held before calling + * Locking Note: The lport lock is expected to be held before calling * this function. */ static void fc_lport_recv_flogi_req(struct fc_seq *sp_in, @@ -1115,7 +1115,7 @@ if (!lport->tt.elsct_send(lport, FC_FID_FCTRL, fp, ELS_SCR, fc_lport_scr_resp, lport, lport->e_d_tov)) - fc_lport_error(lport, fp); + fc_lport_error(lport, NULL); } /** @@ -1186,7 +1186,7 @@ if (!lport->tt.elsct_send(lport, FC_FID_DIR_SERV, fp, FC_NS_RPN_ID, fc_lport_rpn_id_resp, lport, lport->e_d_tov)) - fc_lport_error(lport, fp); + fc_lport_error(lport, NULL); } static struct fc_rport_operations fc_lport_rport_ops = { @@ -1237,10 +1237,13 @@ switch (lport->state) { case LPORT_ST_DISABLED: + WARN_ON(1); + break; case LPORT_ST_READY: - case LPORT_ST_RESET: WARN_ON(1); break; + case LPORT_ST_RESET: + break; case LPORT_ST_FLOGI: fc_lport_enter_flogi(lport); break; @@ -1337,7 +1340,7 @@ if (!lport->tt.elsct_send(lport, FC_FID_FLOGI, fp, ELS_LOGO, fc_lport_logo_resp, lport, lport->e_d_tov)) - fc_lport_error(lport, fp); + fc_lport_error(lport, NULL); } /** @@ -1453,7 +1456,7 @@ if (!lport->tt.elsct_send(lport, FC_FID_FLOGI, fp, ELS_FLOGI, fc_lport_flogi_resp, lport, lport->e_d_tov)) - fc_lport_error(lport, fp); + fc_lport_error(lport, NULL); } /* Configure a fc_lport */ --- linux-2.6.32.orig/drivers/scsi/libfc/fc_rport.c +++ linux-2.6.32/drivers/scsi/libfc/fc_rport.c @@ -86,6 +86,7 @@ [RPORT_ST_LOGO] = "LOGO", [RPORT_ST_ADISC] = "ADISC", [RPORT_ST_DELETE] = "Delete", + [RPORT_ST_RESTART] = "Restart", }; /** @@ -99,8 +100,7 @@ struct fc_rport_priv *rdata; list_for_each_entry(rdata, &lport->disc.rports, peers) - if (rdata->ids.port_id == port_id && - rdata->rp_state != RPORT_ST_DELETE) + if (rdata->ids.port_id == port_id) return rdata; return NULL; } @@ -235,6 +235,7 @@ struct fc_rport_operations *rport_ops; struct fc_rport_identifiers ids; struct fc_rport *rport; + int restart = 0; mutex_lock(&rdata->rp_mutex); event = rdata->event; @@ -287,8 +288,20 @@ mutex_unlock(&rdata->rp_mutex); if (port_id != FC_FID_DIR_SERV) { + /* + * We must drop rp_mutex before taking disc_mutex. + * Re-evaluate state to allow for restart. + * A transition to RESTART state must only happen + * while disc_mutex is held and rdata is on the list. + */ mutex_lock(&lport->disc.disc_mutex); - list_del(&rdata->peers); + mutex_lock(&rdata->rp_mutex); + if (rdata->rp_state == RPORT_ST_RESTART) + restart = 1; + else + list_del(&rdata->peers); + rdata->event = RPORT_EV_NONE; + mutex_unlock(&rdata->rp_mutex); mutex_unlock(&lport->disc.disc_mutex); } @@ -312,7 +325,13 @@ mutex_unlock(&rdata->rp_mutex); fc_remote_port_delete(rport); } - kref_put(&rdata->kref, lport->tt.rport_destroy); + if (restart) { + mutex_lock(&rdata->rp_mutex); + FC_RPORT_DBG(rdata, "work restart\n"); + fc_rport_enter_plogi(rdata); + mutex_unlock(&rdata->rp_mutex); + } else + kref_put(&rdata->kref, lport->tt.rport_destroy); break; default: @@ -342,6 +361,12 @@ FC_RPORT_DBG(rdata, "ADISC port\n"); fc_rport_enter_adisc(rdata); break; + case RPORT_ST_RESTART: + break; + case RPORT_ST_DELETE: + FC_RPORT_DBG(rdata, "Restart deleted port\n"); + fc_rport_state_enter(rdata, RPORT_ST_RESTART); + break; default: FC_RPORT_DBG(rdata, "Login to port\n"); fc_rport_enter_plogi(rdata); @@ -397,20 +422,21 @@ if (rdata->rp_state == RPORT_ST_DELETE) { FC_RPORT_DBG(rdata, "Port in Delete state, not removing\n"); - mutex_unlock(&rdata->rp_mutex); goto out; } - fc_rport_enter_logo(rdata); + if (rdata->rp_state == RPORT_ST_RESTART) + FC_RPORT_DBG(rdata, "Port in Restart state, deleting\n"); + else + fc_rport_enter_logo(rdata); /* * Change the state to Delete so that we discard * the response. */ fc_rport_enter_delete(rdata, RPORT_EV_STOP); - mutex_unlock(&rdata->rp_mutex); - out: + mutex_unlock(&rdata->rp_mutex); return 0; } @@ -466,6 +492,7 @@ case RPORT_ST_READY: case RPORT_ST_INIT: case RPORT_ST_DELETE: + case RPORT_ST_RESTART: break; } @@ -499,6 +526,7 @@ fc_rport_enter_logo(rdata); break; case RPORT_ST_DELETE: + case RPORT_ST_RESTART: case RPORT_ST_READY: case RPORT_ST_INIT: break; @@ -632,7 +660,7 @@ if (!lport->tt.elsct_send(lport, rdata->ids.port_id, fp, ELS_PLOGI, fc_rport_plogi_resp, rdata, lport->e_d_tov)) - fc_rport_error_retry(rdata, fp); + fc_rport_error_retry(rdata, NULL); else kref_get(&rdata->kref); } @@ -793,7 +821,7 @@ if (!lport->tt.elsct_send(lport, rdata->ids.port_id, fp, ELS_PRLI, fc_rport_prli_resp, rdata, lport->e_d_tov)) - fc_rport_error_retry(rdata, fp); + fc_rport_error_retry(rdata, NULL); else kref_get(&rdata->kref); } @@ -889,7 +917,7 @@ if (!lport->tt.elsct_send(lport, rdata->ids.port_id, fp, ELS_RTV, fc_rport_rtv_resp, rdata, lport->e_d_tov)) - fc_rport_error_retry(rdata, fp); + fc_rport_error_retry(rdata, NULL); else kref_get(&rdata->kref); } @@ -919,7 +947,7 @@ if (!lport->tt.elsct_send(lport, rdata->ids.port_id, fp, ELS_LOGO, fc_rport_logo_resp, rdata, lport->e_d_tov)) - fc_rport_error_retry(rdata, fp); + fc_rport_error_retry(rdata, NULL); else kref_get(&rdata->kref); } @@ -1006,7 +1034,7 @@ } if (!lport->tt.elsct_send(lport, rdata->ids.port_id, fp, ELS_ADISC, fc_rport_adisc_resp, rdata, lport->e_d_tov)) - fc_rport_error_retry(rdata, fp); + fc_rport_error_retry(rdata, NULL); else kref_get(&rdata->kref); } @@ -1248,6 +1276,7 @@ } break; case RPORT_ST_PRLI: + case RPORT_ST_RTV: case RPORT_ST_READY: case RPORT_ST_ADISC: FC_RPORT_DBG(rdata, "Received PLOGI in logged-in state %d " @@ -1255,11 +1284,14 @@ /* XXX TBD - should reset */ break; case RPORT_ST_DELETE: - default: - FC_RPORT_DBG(rdata, "Received PLOGI in unexpected state %d\n", - rdata->rp_state); - fc_frame_free(rx_fp); - goto out; + case RPORT_ST_LOGO: + case RPORT_ST_RESTART: + FC_RPORT_DBG(rdata, "Received PLOGI in state %s - send busy\n", + fc_rport_state(rdata)); + mutex_unlock(&rdata->rp_mutex); + rjt_data.reason = ELS_RJT_BUSY; + rjt_data.explan = ELS_EXPL_NONE; + goto reject; } /* @@ -1402,7 +1434,7 @@ break; case FC_TYPE_FCP: fcp_parm = ntohl(rspp->spp_params); - if (fcp_parm * FCP_SPPF_RETRY) + if (fcp_parm & FCP_SPPF_RETRY) rdata->flags |= FC_RP_FLAGS_RETRY; rdata->supported_classes = FC_COS_CLASS3; if (fcp_parm & FCP_SPPF_INIT_FCN) @@ -1510,14 +1542,14 @@ FC_RPORT_DBG(rdata, "Received LOGO request while in state %s\n", fc_rport_state(rdata)); + fc_rport_enter_delete(rdata, RPORT_EV_LOGO); + /* - * If the remote port was created due to discovery, - * log back in. It may have seen a stale RSCN about us. + * If the remote port was created due to discovery, set state + * to log back in. It may have seen a stale RSCN about us. */ - if (rdata->rp_state != RPORT_ST_DELETE && rdata->disc_id) - fc_rport_enter_plogi(rdata); - else - fc_rport_enter_delete(rdata, RPORT_EV_LOGO); + if (rdata->disc_id) + fc_rport_state_enter(rdata, RPORT_ST_RESTART); mutex_unlock(&rdata->rp_mutex); } else FC_RPORT_ID_DBG(lport, sid, --- linux-2.6.32.orig/drivers/scsi/libsas/sas_ata.c +++ linux-2.6.32/drivers/scsi/libsas/sas_ata.c @@ -346,6 +346,7 @@ static struct ata_port_operations sas_sata_ops = { .phy_reset = sas_ata_phy_reset, .post_internal_cmd = sas_ata_post_internal, + .qc_defer = ata_std_qc_defer, .qc_prep = ata_noop_qc_prep, .qc_issue = sas_ata_qc_issue, .qc_fill_rtf = sas_ata_qc_fill_rtf, @@ -394,11 +395,15 @@ void sas_ata_task_abort(struct sas_task *task) { struct ata_queued_cmd *qc = task->uldd_task; + struct request_queue *q = qc->scsicmd->device->request_queue; struct completion *waiting; + unsigned long flags; /* Bounce SCSI-initiated commands to the SCSI EH */ if (qc->scsicmd) { + spin_lock_irqsave(q->queue_lock, flags); blk_abort_request(qc->scsicmd->request); + spin_unlock_irqrestore(q->queue_lock, flags); scsi_schedule_eh(qc->scsicmd->device->host); return; } --- linux-2.6.32.orig/drivers/scsi/libsas/sas_expander.c +++ linux-2.6.32/drivers/scsi/libsas/sas_expander.c @@ -198,6 +198,8 @@ phy->virtual = dr->virtual; phy->last_da_index = -1; + phy->phy->identify.sas_address = SAS_ADDR(phy->attached_sas_addr); + phy->phy->identify.device_type = phy->attached_dev_type; phy->phy->identify.initiator_port_protocols = phy->attached_iproto; phy->phy->identify.target_port_protocols = phy->attached_tproto; phy->phy->identify.phy_identifier = phy_id; @@ -840,6 +842,9 @@ res = sas_discover_expander(child); if (res) { + spin_lock_irq(&parent->port->dev_list_lock); + list_del(&child->dev_list_node); + spin_unlock_irq(&parent->port->dev_list_lock); kfree(child); return NULL; } @@ -1709,7 +1714,7 @@ list_for_each_entry(ch, &ex->children, siblings) { if (ch->dev_type == EDGE_DEV || ch->dev_type == FANOUT_DEV) { res = sas_find_bcast_dev(ch, src_dev); - if (src_dev) + if (*src_dev) return res; } } @@ -1754,10 +1759,12 @@ sas_disable_routing(parent, phy->attached_sas_addr); } memset(phy->attached_sas_addr, 0, SAS_ADDR_SIZE); - sas_port_delete_phy(phy->port, phy->phy); - if (phy->port->num_phys == 0) - sas_port_delete(phy->port); - phy->port = NULL; + if (phy->port) { + sas_port_delete_phy(phy->port, phy->phy); + if (phy->port->num_phys == 0) + sas_port_delete(phy->port); + phy->port = NULL; + } } static int sas_discover_bfs_by_root_level(struct domain_device *root, --- linux-2.6.32.orig/drivers/scsi/libsas/sas_scsi_host.c +++ linux-2.6.32/drivers/scsi/libsas/sas_scsi_host.c @@ -648,6 +648,7 @@ spin_lock_irqsave(shost->host_lock, flags); list_splice_init(&shost->eh_cmd_q, &eh_work_q); + shost->host_eh_scheduled = 0; spin_unlock_irqrestore(shost->host_lock, flags); SAS_DPRINTK("Enter %s\n", __func__); @@ -1025,6 +1026,8 @@ void sas_task_abort(struct sas_task *task) { struct scsi_cmnd *sc = task->uldd_task; + struct request_queue *q = sc->device->request_queue; + unsigned long flags; /* Escape for libsas internal commands */ if (!sc) { @@ -1039,7 +1042,9 @@ return; } + spin_lock_irqsave(q->queue_lock, flags); blk_abort_request(sc->request); + spin_unlock_irqrestore(q->queue_lock, flags); scsi_schedule_eh(sc->device->host); } --- linux-2.6.32.orig/drivers/scsi/lpfc/lpfc_init.c +++ linux-2.6.32/drivers/scsi/lpfc/lpfc_init.c @@ -2408,7 +2408,7 @@ vport->els_tmofunc.function = lpfc_els_timeout; vport->els_tmofunc.data = (unsigned long)vport; - error = scsi_add_host(shost, dev); + error = scsi_add_host_with_dma(shost, dev, &phba->pcidev->dev); if (error) goto out_put_shost; @@ -4384,9 +4384,13 @@ pdev = phba->pcidev; /* Set the device DMA mask size */ - if (pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) != 0) - if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32)) != 0) + if (pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) != 0 + || pci_set_consistent_dma_mask(pdev,DMA_BIT_MASK(64)) != 0) { + if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32)) != 0 + || pci_set_consistent_dma_mask(pdev,DMA_BIT_MASK(32)) != 0) { return error; + } + } /* Get the bus address of Bar0 and Bar2 and the number of bytes * required by each mapping. @@ -5940,9 +5944,13 @@ pdev = phba->pcidev; /* Set the device DMA mask size */ - if (pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) != 0) - if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32)) != 0) + if (pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) != 0 + || pci_set_consistent_dma_mask(pdev,DMA_BIT_MASK(64)) != 0) { + if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32)) != 0 + || pci_set_consistent_dma_mask(pdev,DMA_BIT_MASK(32)) != 0) { return error; + } + } /* Get the bus address of SLI4 device Bar0, Bar1, and Bar2 and the * number of bytes required by each mapping. They are actually --- linux-2.6.32.orig/drivers/scsi/megaraid/megaraid_sas.h +++ linux-2.6.32/drivers/scsi/megaraid/megaraid_sas.h @@ -30,6 +30,8 @@ #define PCI_DEVICE_ID_LSI_VERDE_ZCR 0x0413 #define PCI_DEVICE_ID_LSI_SAS1078GEN2 0x0078 #define PCI_DEVICE_ID_LSI_SAS0079GEN2 0x0079 +#define PCI_DEVICE_ID_LSI_SAS0073SKINNY 0x0073 +#define PCI_DEVICE_ID_LSI_SAS0071SKINNY 0x0071 /* * ===================================== @@ -570,6 +572,7 @@ * is shown below */ #define MEGASAS_INT_CMDS 32 +#define MEGASAS_SKINNY_INT_CMDS 5 /* * FW can accept both 32 and 64 bit SGLs. We want to allocate 32/64 bit @@ -584,6 +587,8 @@ #define MFI_REPLY_1078_MESSAGE_INTERRUPT 0x80000000 #define MFI_REPLY_GEN2_MESSAGE_INTERRUPT 0x00000001 #define MFI_GEN2_ENABLE_INTERRUPT_MASK (0x00000001 | 0x00000004) +#define MFI_REPLY_SKINNY_MESSAGE_INTERRUPT 0x40000000 +#define MFI_SKINNY_ENABLE_INTERRUPT_MASK (0x00000001) /* * register set for both 1068 and 1078 controllers --- linux-2.6.32.orig/drivers/scsi/megaraid/megaraid_sas.c +++ linux-2.6.32/drivers/scsi/megaraid/megaraid_sas.c @@ -75,6 +75,10 @@ /* gen2*/ {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS0079GEN2)}, /* gen2*/ + {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS0073SKINNY)}, + /* skinny*/ + {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS0071SKINNY)}, + /* skinny*/ {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_VERDE_ZCR)}, /* xscale IOP, vega */ {PCI_DEVICE(PCI_VENDOR_ID_DELL, PCI_DEVICE_ID_DELL_PERC5)}, @@ -328,6 +332,99 @@ }; /** + * megasas_enable_intr_skinny - Enables interrupts + * @regs: MFI register set + */ +static inline void +megasas_enable_intr_skinny(struct megasas_register_set __iomem *regs) +{ + writel(0xFFFFFFFF, &(regs)->outbound_intr_mask); + + writel(~MFI_SKINNY_ENABLE_INTERRUPT_MASK, &(regs)->outbound_intr_mask); + + /* Dummy readl to force pci flush */ + readl(®s->outbound_intr_mask); +} + +/** + * megasas_disable_intr_skinny - Disables interrupt + * @regs: MFI register set + */ +static inline void +megasas_disable_intr_skinny(struct megasas_register_set __iomem *regs) +{ + u32 mask = 0xFFFFFFFF; + writel(mask, ®s->outbound_intr_mask); + /* Dummy readl to force pci flush */ + readl(®s->outbound_intr_mask); +} + +/** + * megasas_read_fw_status_reg_skinny - returns the current FW status value + * @regs: MFI register set + */ +static u32 +megasas_read_fw_status_reg_skinny(struct megasas_register_set __iomem *regs) +{ + return readl(&(regs)->outbound_scratch_pad); +} + +/** + * megasas_clear_interrupt_skinny - Check & clear interrupt + * @regs: MFI register set + */ +static int +megasas_clear_intr_skinny(struct megasas_register_set __iomem *regs) +{ + u32 status; + /* + * Check if it is our interrupt + */ + status = readl(®s->outbound_intr_status); + + if (!(status & MFI_SKINNY_ENABLE_INTERRUPT_MASK)) { + return 1; + } + + /* + * Clear the interrupt by writing back the same value + */ + writel(status, ®s->outbound_intr_status); + + /* + * dummy read to flush PCI + */ + readl(®s->outbound_intr_status); + + return 0; +} + +/** + * megasas_fire_cmd_skinny - Sends command to the FW + * @frame_phys_addr : Physical address of cmd + * @frame_count : Number of frames for the command + * @regs : MFI register set + */ +static inline void +megasas_fire_cmd_skinny(dma_addr_t frame_phys_addr, u32 frame_count, + struct megasas_register_set __iomem *regs) +{ + writel(0, &(regs)->inbound_high_queue_port); + writel((frame_phys_addr | (frame_count<<1))|1, + &(regs)->inbound_low_queue_port); +} + +static struct megasas_instance_template megasas_instance_template_skinny = { + + .fire_cmd = megasas_fire_cmd_skinny, + .enable_intr = megasas_enable_intr_skinny, + .disable_intr = megasas_disable_intr_skinny, + .clear_intr = megasas_clear_intr_skinny, + .read_fw_status_reg = megasas_read_fw_status_reg_skinny, +}; + + +/** * The following functions are defined for gen2 (deviceid : 0x78 0x79) * controllers */ @@ -1072,7 +1169,14 @@ spin_lock_irqsave(instance->host->host_lock, flags); instance->flag &= ~MEGASAS_FW_BUSY; - instance->host->can_queue = + if ((instance->pdev->device == + PCI_DEVICE_ID_LSI_SAS0073SKINNY) || + (instance->pdev->device == + PCI_DEVICE_ID_LSI_SAS0071SKINNY)) { + instance->host->can_queue = + instance->max_fw_cmds - MEGASAS_SKINNY_INT_CMDS; + } else + instance->host->can_queue = instance->max_fw_cmds - MEGASAS_INT_CMDS; spin_unlock_irqrestore(instance->host->host_lock, flags); @@ -1556,16 +1660,34 @@ /* * Set the CLR bit in inbound doorbell */ - writel(MFI_INIT_CLEAR_HANDSHAKE|MFI_INIT_HOTPLUG, - &instance->reg_set->inbound_doorbell); + if ((instance->pdev->device == \ + PCI_DEVICE_ID_LSI_SAS0073SKINNY) || + (instance->pdev->device == + PCI_DEVICE_ID_LSI_SAS0071SKINNY)) { + + writel( + MFI_INIT_CLEAR_HANDSHAKE|MFI_INIT_HOTPLUG, + &instance->reg_set->reserved_0[0]); + } else { + writel( + MFI_INIT_CLEAR_HANDSHAKE|MFI_INIT_HOTPLUG, + &instance->reg_set->inbound_doorbell); + } max_wait = 2; cur_state = MFI_STATE_WAIT_HANDSHAKE; break; case MFI_STATE_BOOT_MESSAGE_PENDING: - writel(MFI_INIT_HOTPLUG, - &instance->reg_set->inbound_doorbell); + if ((instance->pdev->device == + PCI_DEVICE_ID_LSI_SAS0073SKINNY) || + (instance->pdev->device == + PCI_DEVICE_ID_LSI_SAS0071SKINNY)) { + writel(MFI_INIT_HOTPLUG, + &instance->reg_set->reserved_0[0]); + } else + writel(MFI_INIT_HOTPLUG, + &instance->reg_set->inbound_doorbell); max_wait = 10; cur_state = MFI_STATE_BOOT_MESSAGE_PENDING; @@ -1576,7 +1698,15 @@ * Bring it to READY state; assuming max wait 10 secs */ instance->instancet->disable_intr(instance->reg_set); - writel(MFI_RESET_FLAGS, &instance->reg_set->inbound_doorbell); + if ((instance->pdev->device == + PCI_DEVICE_ID_LSI_SAS0073SKINNY) || + (instance->pdev->device == + PCI_DEVICE_ID_LSI_SAS0071SKINNY)) { + writel(MFI_RESET_FLAGS, + &instance->reg_set->reserved_0[0]); + } else + writel(MFI_RESET_FLAGS, + &instance->reg_set->inbound_doorbell); max_wait = 60; cur_state = MFI_STATE_OPERATIONAL; @@ -2081,6 +2211,8 @@ * Map the message registers */ if ((instance->pdev->device == PCI_DEVICE_ID_LSI_SAS1078GEN2) || + (instance->pdev->device == PCI_DEVICE_ID_LSI_SAS0071SKINNY) || + (instance->pdev->device == PCI_DEVICE_ID_LSI_SAS0073SKINNY) || (instance->pdev->device == PCI_DEVICE_ID_LSI_SAS0079GEN2)) { instance->base_addr = pci_resource_start(instance->pdev, 1); } else { @@ -2111,6 +2243,10 @@ case PCI_DEVICE_ID_LSI_SAS0079GEN2: instance->instancet = &megasas_instance_template_gen2; break; + case PCI_DEVICE_ID_LSI_SAS0073SKINNY: + case PCI_DEVICE_ID_LSI_SAS0071SKINNY: + instance->instancet = &megasas_instance_template_skinny; + break; case PCI_DEVICE_ID_LSI_SAS1064R: case PCI_DEVICE_ID_DELL_PERC5: default: @@ -2465,7 +2601,13 @@ */ host->irq = instance->pdev->irq; host->unique_id = instance->unique_id; - host->can_queue = instance->max_fw_cmds - MEGASAS_INT_CMDS; + if ((instance->pdev->device == PCI_DEVICE_ID_LSI_SAS0073SKINNY) || + (instance->pdev->device == PCI_DEVICE_ID_LSI_SAS0071SKINNY)) { + host->can_queue = + instance->max_fw_cmds - MEGASAS_SKINNY_INT_CMDS; + } else + host->can_queue = + instance->max_fw_cmds - MEGASAS_INT_CMDS; host->this_id = instance->init_id; host->sg_tablesize = instance->max_num_sge; host->max_sectors = instance->max_sectors_per_req; @@ -2598,7 +2740,6 @@ spin_lock_init(&instance->completion_lock); mutex_init(&instance->aen_mutex); - sema_init(&instance->ioctl_sem, MEGASAS_INT_CMDS); /* * Initialize PCI related and misc parameters @@ -2608,6 +2749,12 @@ instance->unique_id = pdev->bus->number << 8 | pdev->devfn; instance->init_id = MEGASAS_DEFAULT_INIT_ID; + if ((instance->pdev->device == PCI_DEVICE_ID_LSI_SAS0073SKINNY) || + (instance->pdev->device == PCI_DEVICE_ID_LSI_SAS0071SKINNY)) { + sema_init(&instance->ioctl_sem, MEGASAS_SKINNY_INT_CMDS); + } else + sema_init(&instance->ioctl_sem, MEGASAS_INT_CMDS); + megasas_dbg_lvl = 0; instance->flag = 0; instance->last_time = 0; @@ -3032,7 +3179,7 @@ int error = 0, i; void *sense = NULL; dma_addr_t sense_handle; - u32 *sense_ptr; + unsigned long *sense_ptr; memset(kbuff_arr, 0, sizeof(kbuff_arr)); @@ -3072,6 +3219,9 @@ * For each user buffer, create a mirror buffer and copy in */ for (i = 0; i < ioc->sge_count; i++) { + if (!ioc->sgl[i].iov_len) + continue; + kbuff_arr[i] = dma_alloc_coherent(&instance->pdev->dev, ioc->sgl[i].iov_len, &buf_handle, GFP_KERNEL); @@ -3109,7 +3259,7 @@ } sense_ptr = - (u32 *) ((unsigned long)cmd->frame + ioc->sense_off); + (unsigned long *) ((unsigned long)cmd->frame + ioc->sense_off); *sense_ptr = sense_handle; } @@ -3140,8 +3290,8 @@ * sense_ptr points to the location that has the user * sense buffer address */ - sense_ptr = (u32 *) ((unsigned long)ioc->frame.raw + - ioc->sense_off); + sense_ptr = (unsigned long *) ((unsigned long)ioc->frame.raw + + ioc->sense_off); if (copy_to_user((void __user *)((unsigned long)(*sense_ptr)), sense, ioc->sense_len)) { @@ -3282,6 +3432,7 @@ compat_alloc_user_space(sizeof(struct megasas_iocpacket)); int i; int error = 0; + compat_uptr_t ptr; if (clear_user(ioc, sizeof(*ioc))) return -EFAULT; @@ -3294,9 +3445,22 @@ copy_in_user(&ioc->sge_count, &cioc->sge_count, sizeof(u32))) return -EFAULT; - for (i = 0; i < MAX_IOCTL_SGE; i++) { - compat_uptr_t ptr; + /* + * The sense_ptr is used in megasas_mgmt_fw_ioctl only when + * sense_len is not null, so prepare the 64bit value under + * the same condition. + */ + if (ioc->sense_len) { + void __user **sense_ioc_ptr = + (void __user **)(ioc->frame.raw + ioc->sense_off); + compat_uptr_t *sense_cioc_ptr = + (compat_uptr_t *)(cioc->frame.raw + cioc->sense_off); + if (get_user(ptr, sense_cioc_ptr) || + put_user(compat_ptr(ptr), sense_ioc_ptr)) + return -EFAULT; + } + for (i = 0; i < MAX_IOCTL_SGE; i++) { if (get_user(ptr, &cioc->sgl[i].iov_base) || put_user(compat_ptr(ptr), &ioc->sgl[i].iov_base) || copy_in_user(&ioc->sgl[i].iov_len, @@ -3451,7 +3615,7 @@ return retval; } -static DRIVER_ATTR(poll_mode_io, S_IRUGO|S_IWUGO, +static DRIVER_ATTR(poll_mode_io, S_IRUGO|S_IWUSR, megasas_sysfs_show_poll_mode_io, megasas_sysfs_set_poll_mode_io); --- linux-2.6.32.orig/drivers/scsi/mpt2sas/mpt2sas_base.c +++ linux-2.6.32/drivers/scsi/mpt2sas/mpt2sas_base.c @@ -1947,9 +1947,9 @@ /* adjust hba_queue_depth, reply_free_queue_depth, * and queue_size */ - ioc->hba_queue_depth -= queue_diff; - ioc->reply_free_queue_depth -= queue_diff; - queue_size -= queue_diff; + ioc->hba_queue_depth -= (queue_diff / 2); + ioc->reply_free_queue_depth -= (queue_diff / 2); + queue_size = facts->MaxReplyDescriptorPostQueueDepth; } ioc->reply_post_queue_depth = queue_size; @@ -3595,6 +3595,8 @@ static void _base_reset_handler(struct MPT2SAS_ADAPTER *ioc, int reset_phase) { + mpt2sas_scsih_reset_handler(ioc, reset_phase); + mpt2sas_ctl_reset_handler(ioc, reset_phase); switch (reset_phase) { case MPT2_IOC_PRE_RESET: dtmprintk(ioc, printk(MPT2SAS_DEBUG_FMT "%s: " @@ -3625,8 +3627,6 @@ "MPT2_IOC_DONE_RESET\n", ioc->name, __func__)); break; } - mpt2sas_scsih_reset_handler(ioc, reset_phase); - mpt2sas_ctl_reset_handler(ioc, reset_phase); } /** @@ -3680,6 +3680,7 @@ { int r; unsigned long flags; + u8 pe_complete = ioc->wait_for_port_enable_to_complete; dtmprintk(ioc, printk(MPT2SAS_DEBUG_FMT "%s: enter\n", ioc->name, __func__)); @@ -3701,6 +3702,14 @@ if (r) goto out; _base_reset_handler(ioc, MPT2_IOC_AFTER_RESET); + + /* If this hard reset is called while port enable is active, then + * there is no reason to call make_ioc_operational + */ + if (pe_complete) { + r = -EFAULT; + goto out; + } r = _base_make_ioc_operational(ioc, sleep_flag); if (!r) _base_reset_handler(ioc, MPT2_IOC_DONE_RESET); --- linux-2.6.32.orig/drivers/scsi/mpt2sas/mpt2sas_ctl.c +++ linux-2.6.32/drivers/scsi/mpt2sas/mpt2sas_ctl.c @@ -636,6 +636,13 @@ data_out_sz = karg.data_out_size; data_in_sz = karg.data_in_size; + /* Check for overflow and wraparound */ + if (karg.data_sge_offset * 4 > ioc->request_sz || + karg.data_sge_offset > (UINT_MAX / 4)) { + ret = -EINVAL; + goto out; + } + /* copy in request message frame from user */ if (copy_from_user(mpi_request, mf, karg.data_sge_offset*4)) { printk(KERN_ERR "failure at %s:%d/%s()!\n", __FILE__, __LINE__, @@ -1809,7 +1816,7 @@ Mpi2DiagBufferPostReply_t *mpi_reply; int rc, i; u8 buffer_type; - unsigned long timeleft; + unsigned long timeleft, request_size, copy_size; u16 smid; u16 ioc_status; u8 issue_reset = 0; @@ -1845,6 +1852,8 @@ return -ENOMEM; } + request_size = ioc->diag_buffer_sz[buffer_type]; + if ((karg.starting_offset % 4) || (karg.bytes_to_read % 4)) { printk(MPT2SAS_ERR_FMT "%s: either the starting_offset " "or bytes_to_read are not 4 byte aligned\n", ioc->name, @@ -1852,13 +1861,23 @@ return -EINVAL; } + if (karg.starting_offset > request_size) + return -EINVAL; + diag_data = (void *)(request_data + karg.starting_offset); dctlprintk(ioc, printk(MPT2SAS_DEBUG_FMT "%s: diag_buffer(%p), " "offset(%d), sz(%d)\n", ioc->name, __func__, diag_data, karg.starting_offset, karg.bytes_to_read)); + /* Truncate data on requests that are too large */ + if ((diag_data + karg.bytes_to_read < diag_data) || + (diag_data + karg.bytes_to_read > request_data + request_size)) + copy_size = request_size - karg.starting_offset; + else + copy_size = karg.bytes_to_read; + if (copy_to_user((void __user *)uarg->diagnostic_data, - diag_data, karg.bytes_to_read)) { + diag_data, copy_size)) { printk(MPT2SAS_ERR_FMT "%s: Unable to write " "mpt_diag_read_buffer_t data @ %p\n", ioc->name, __func__, diag_data); --- linux-2.6.32.orig/drivers/scsi/mpt2sas/mpt2sas_scsih.c +++ linux-2.6.32/drivers/scsi/mpt2sas/mpt2sas_scsih.c @@ -196,10 +196,28 @@ PCI_ANY_ID, PCI_ANY_ID }, { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2108_3, PCI_ANY_ID, PCI_ANY_ID }, + /* Meteor ~ 2116 */ { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2116_1, PCI_ANY_ID, PCI_ANY_ID }, { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2116_2, PCI_ANY_ID, PCI_ANY_ID }, + /* Thunderbolt ~ 2208 */ + { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_1, + PCI_ANY_ID, PCI_ANY_ID }, + { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_2, + PCI_ANY_ID, PCI_ANY_ID }, + { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_3, + PCI_ANY_ID, PCI_ANY_ID }, + { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_4, + PCI_ANY_ID, PCI_ANY_ID }, + { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_5, + PCI_ANY_ID, PCI_ANY_ID }, + { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_6, + PCI_ANY_ID, PCI_ANY_ID }, + { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_7, + PCI_ANY_ID, PCI_ANY_ID }, + { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_8, + PCI_ANY_ID, PCI_ANY_ID }, {0} /* Terminating entry */ }; MODULE_DEVICE_TABLE(pci, scsih_pci_table); @@ -927,7 +945,7 @@ u32 chain_offset; u32 chain_length; u32 chain_flags; - u32 sges_left; + int sges_left; u32 sges_in_segment; u32 sgl_flags; u32 sgl_flags_last_element; @@ -948,7 +966,7 @@ sg_scmd = scsi_sglist(scmd); sges_left = scsi_dma_map(scmd); - if (!sges_left) { + if (sges_left < 0) { sdev_printk(KERN_ERR, scmd->device, "pci_map_sg" " failed: request for %d bytes!\n", scsi_bufflen(scmd)); return -ENOMEM; @@ -2567,9 +2585,6 @@ u16 handle; for (i = 0 ; i < event_data->NumEntries; i++) { - if (event_data->PHY[i].PhyStatus & - MPI2_EVENT_SAS_TOPO_PHYSTATUS_VACANT) - continue; handle = le16_to_cpu(event_data->PHY[i].AttachedDevHandle); if (!handle) continue; @@ -3130,7 +3145,7 @@ /* insert into event log */ sz = offsetof(Mpi2EventNotificationReply_t, EventData) + sizeof(Mpi2EventDataSasDeviceStatusChange_t); - event_reply = kzalloc(sz, GFP_KERNEL); + event_reply = kzalloc(sz, GFP_ATOMIC); if (!event_reply) { printk(MPT2SAS_ERR_FMT "failure at %s:%d/%s()!\n", ioc->name, __FILE__, __LINE__, __func__); @@ -5703,6 +5718,8 @@ struct _sas_port *mpt2sas_port; struct _sas_device *sas_device; struct _sas_node *expander_sibling; + struct _raid_device *raid_device, *next; + struct MPT2SAS_TARGET *sas_target_priv_data; struct workqueue_struct *wq; unsigned long flags; @@ -5716,6 +5733,21 @@ if (wq) destroy_workqueue(wq); + /* release all the volumes */ + list_for_each_entry_safe(raid_device, next, &ioc->raid_device_list, + list) { + if (raid_device->starget) { + sas_target_priv_data = + raid_device->starget->hostdata; + sas_target_priv_data->deleted = 1; + scsi_remove_target(&raid_device->starget->dev); + } + printk(MPT2SAS_INFO_FMT "removing handle(0x%04x), wwid" + "(0x%016llx)\n", ioc->name, raid_device->handle, + (unsigned long long) raid_device->wwid); + _scsih_raid_device_remove(ioc, raid_device); + } + /* free ports attached to the sas_host */ retry_again: list_for_each_entry(mpt2sas_port, --- linux-2.6.32.orig/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h +++ linux-2.6.32/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h @@ -348,6 +348,14 @@ #define MPI2_MFGPAGE_DEVID_SAS2108_3 (0x0077) #define MPI2_MFGPAGE_DEVID_SAS2116_1 (0x0064) #define MPI2_MFGPAGE_DEVID_SAS2116_2 (0x0065) +#define MPI2_MFGPAGE_DEVID_SAS2208_1 (0x0080) +#define MPI2_MFGPAGE_DEVID_SAS2208_2 (0x0081) +#define MPI2_MFGPAGE_DEVID_SAS2208_3 (0x0082) +#define MPI2_MFGPAGE_DEVID_SAS2208_4 (0x0083) +#define MPI2_MFGPAGE_DEVID_SAS2208_5 (0x0084) +#define MPI2_MFGPAGE_DEVID_SAS2208_6 (0x0085) +#define MPI2_MFGPAGE_DEVID_SAS2208_7 (0x0086) +#define MPI2_MFGPAGE_DEVID_SAS2208_8 (0x0087) /* Manufacturing Page 0 */ --- linux-2.6.32.orig/drivers/scsi/mvsas/mv_init.c +++ linux-2.6.32/drivers/scsi/mvsas/mv_init.c @@ -657,6 +657,7 @@ { PCI_VDEVICE(MARVELL, 0x9180), chip_9180 }, { PCI_VDEVICE(ARECA, PCI_DEVICE_ID_ARECA_1300), chip_1300 }, { PCI_VDEVICE(ARECA, PCI_DEVICE_ID_ARECA_1320), chip_1320 }, + { PCI_VDEVICE(ADAPTEC2, 0x0450), chip_6440 }, { } /* terminate list */ }; --- linux-2.6.32.orig/drivers/scsi/qla2xxx/qla_attr.c +++ linux-2.6.32/drivers/scsi/qla2xxx/qla_attr.c @@ -1654,7 +1654,8 @@ fc_vport_set_state(fc_vport, FC_VPORT_LINKDOWN); } - if (scsi_add_host(vha->host, &fc_vport->dev)) { + if (scsi_add_host_with_dma(vha->host, &fc_vport->dev, + &ha->pdev->dev)) { DEBUG15(printk("scsi(%ld): scsi_add_host failure for VP[%d].\n", vha->host_no, vha->vp_idx)); goto vport_create_failed_2; --- linux-2.6.32.orig/drivers/scsi/qla2xxx/qla_gbl.h +++ linux-2.6.32/drivers/scsi/qla2xxx/qla_gbl.h @@ -453,6 +453,5 @@ extern void qla25xx_wrt_req_reg(struct qla_hw_data *, uint16_t, uint16_t); extern void qla25xx_wrt_rsp_reg(struct qla_hw_data *, uint16_t, uint16_t); extern void qla24xx_wrt_rsp_reg(struct qla_hw_data *, uint16_t, uint16_t); -extern struct scsi_qla_host * qla25xx_get_host(struct rsp_que *); #endif /* _QLA_GBL_H */ --- linux-2.6.32.orig/drivers/scsi/qla2xxx/qla_init.c +++ linux-2.6.32/drivers/scsi/qla2xxx/qla_init.c @@ -3459,15 +3459,12 @@ req = vha->req; rsp = req->rsp; - atomic_set(&vha->loop_state, LOOP_UPDATE); clear_bit(ISP_ABORT_RETRY, &vha->dpc_flags); if (vha->flags.online) { if (!(rval = qla2x00_fw_ready(vha))) { /* Wait at most MAX_TARGET RSCNs for a stable link. */ wait_time = 256; do { - atomic_set(&vha->loop_state, LOOP_UPDATE); - /* Issue a marker after FW becomes ready. */ qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL); --- linux-2.6.32.orig/drivers/scsi/qla2xxx/qla_isr.c +++ linux-2.6.32/drivers/scsi/qla2xxx/qla_isr.c @@ -717,7 +717,6 @@ vha->flags.rscn_queue_overflow = 1; } - atomic_set(&vha->loop_state, LOOP_UPDATE); atomic_set(&vha->loop_down_timer, 0); vha->flags.management_server_logged_in = 0; @@ -1347,16 +1346,22 @@ sense_len = rsp_info_len = resid_len = fw_resid_len = 0; if (IS_FWI2_CAPABLE(ha)) { - sense_len = le32_to_cpu(sts24->sense_len); - rsp_info_len = le32_to_cpu(sts24->rsp_data_len); - resid_len = le32_to_cpu(sts24->rsp_residual_count); - fw_resid_len = le32_to_cpu(sts24->residual_len); + if (scsi_status & SS_SENSE_LEN_VALID) + sense_len = le32_to_cpu(sts24->sense_len); + if (scsi_status & SS_RESPONSE_INFO_LEN_VALID) + rsp_info_len = le32_to_cpu(sts24->rsp_data_len); + if (scsi_status & (SS_RESIDUAL_UNDER | SS_RESIDUAL_OVER)) + resid_len = le32_to_cpu(sts24->rsp_residual_count); + if (comp_status == CS_DATA_UNDERRUN) + fw_resid_len = le32_to_cpu(sts24->residual_len); rsp_info = sts24->data; sense_data = sts24->data; host_to_fcp_swap(sts24->data, sizeof(sts24->data)); } else { - sense_len = le16_to_cpu(sts->req_sense_length); - rsp_info_len = le16_to_cpu(sts->rsp_info_len); + if (scsi_status & SS_SENSE_LEN_VALID) + sense_len = le16_to_cpu(sts->req_sense_length); + if (scsi_status & SS_RESPONSE_INFO_LEN_VALID) + rsp_info_len = le16_to_cpu(sts->rsp_info_len); resid_len = le32_to_cpu(sts->residual_length); rsp_info = sts->rsp_info; sense_data = sts->req_sense_data; @@ -1443,38 +1448,62 @@ break; case CS_DATA_UNDERRUN: - resid = resid_len; + DEBUG2(printk(KERN_INFO + "scsi(%ld:%d:%d) UNDERRUN status detected 0x%x-0x%x. " + "resid=0x%x fw_resid=0x%x cdb=0x%x os_underflow=0x%x\n", + vha->host_no, cp->device->id, cp->device->lun, comp_status, + scsi_status, resid_len, fw_resid_len, cp->cmnd[0], + cp->underflow)); + /* Use F/W calculated residual length. */ - if (IS_FWI2_CAPABLE(ha)) { - if (!(scsi_status & SS_RESIDUAL_UNDER)) { - lscsi_status = 0; - } else if (resid != fw_resid_len) { - scsi_status &= ~SS_RESIDUAL_UNDER; - lscsi_status = 0; + resid = IS_FWI2_CAPABLE(ha) ? fw_resid_len : resid_len; + scsi_set_resid(cp, resid); + if (scsi_status & SS_RESIDUAL_UNDER) { + if (IS_FWI2_CAPABLE(ha) && fw_resid_len != resid_len) { + DEBUG2(printk( + "scsi(%ld:%d:%d:%d) Dropped frame(s) " + "detected (%x of %x bytes)...residual " + "length mismatch...retrying command.\n", + vha->host_no, cp->device->channel, + cp->device->id, cp->device->lun, resid, + scsi_bufflen(cp))); + + cp->result = DID_ERROR << 16 | lscsi_status; + break; } - resid = fw_resid_len; - } - if (scsi_status & SS_RESIDUAL_UNDER) { - scsi_set_resid(cp, resid); - } else { - DEBUG2(printk(KERN_INFO - "scsi(%ld:%d:%d) UNDERRUN status detected " - "0x%x-0x%x. resid=0x%x fw_resid=0x%x cdb=0x%x " - "os_underflow=0x%x\n", vha->host_no, - cp->device->id, cp->device->lun, comp_status, - scsi_status, resid_len, resid, cp->cmnd[0], - cp->underflow)); + if (!lscsi_status && + ((unsigned)(scsi_bufflen(cp) - resid) < + cp->underflow)) { + qla_printk(KERN_INFO, ha, + "scsi(%ld:%d:%d:%d): Mid-layer underflow " + "detected (%x of %x bytes)...returning " + "error status.\n", vha->host_no, + cp->device->channel, cp->device->id, + cp->device->lun, resid, scsi_bufflen(cp)); + + cp->result = DID_ERROR << 16; + break; + } + } else if (!lscsi_status) { + DEBUG2(printk( + "scsi(%ld:%d:%d:%d) Dropped frame(s) detected " + "(%x of %x bytes)...firmware reported underrun..." + "retrying command.\n", vha->host_no, + cp->device->channel, cp->device->id, + cp->device->lun, resid, scsi_bufflen(cp))); + cp->result = DID_ERROR << 16; + break; } + cp->result = DID_OK << 16 | lscsi_status; + /* * Check to see if SCSI Status is non zero. If so report SCSI * Status. */ if (lscsi_status != 0) { - cp->result = DID_OK << 16 | lscsi_status; - if (lscsi_status == SAM_STAT_TASK_SET_FULL) { DEBUG2(printk(KERN_INFO "scsi(%ld): QUEUE FULL status detected " @@ -1501,42 +1530,6 @@ break; qla2x00_handle_sense(sp, sense_data, sense_len, rsp); - } else { - /* - * If RISC reports underrun and target does not report - * it then we must have a lost frame, so tell upper - * layer to retry it by reporting an error. - */ - if (!(scsi_status & SS_RESIDUAL_UNDER)) { - DEBUG2(printk("scsi(%ld:%d:%d:%d) Dropped " - "frame(s) detected (%x of %x bytes)..." - "retrying command.\n", - vha->host_no, cp->device->channel, - cp->device->id, cp->device->lun, resid, - scsi_bufflen(cp))); - - scsi_set_resid(cp, resid); - cp->result = DID_ERROR << 16; - break; - } - - /* Handle mid-layer underflow */ - if ((unsigned)(scsi_bufflen(cp) - resid) < - cp->underflow) { - qla_printk(KERN_INFO, ha, - "scsi(%ld:%d:%d:%d): Mid-layer underflow " - "detected (%x of %x bytes)...returning " - "error status.\n", vha->host_no, - cp->device->channel, cp->device->id, - cp->device->lun, resid, - scsi_bufflen(cp)); - - cp->result = DID_ERROR << 16; - break; - } - - /* Everybody online, looking good... */ - cp->result = DID_OK << 16; } break; @@ -2018,7 +2011,7 @@ spin_lock_irq(&ha->hardware_lock); - vha = qla25xx_get_host(rsp); + vha = pci_get_drvdata(ha->pdev); qla24xx_process_response_queue(vha, rsp); if (!ha->mqenable) { WRT_REG_DWORD(®->hccr, HCCRX_CLR_RISC_INT); @@ -2246,30 +2239,28 @@ /* If possible, enable MSI-X. */ if (!IS_QLA2432(ha) && !IS_QLA2532(ha) && - !IS_QLA8432(ha) && !IS_QLA8001(ha)) - goto skip_msix; + !IS_QLA8432(ha) && !IS_QLA8001(ha)) + goto skip_msi; + + if (ha->pdev->subsystem_vendor == PCI_VENDOR_ID_HP && + (ha->pdev->subsystem_device == 0x7040 || + ha->pdev->subsystem_device == 0x7041 || + ha->pdev->subsystem_device == 0x1705)) { + DEBUG2(qla_printk(KERN_WARNING, ha, + "MSI-X: Unsupported ISP2432 SSVID/SSDID (0x%X,0x%X).\n", + ha->pdev->subsystem_vendor, + ha->pdev->subsystem_device)); + goto skip_msi; + } if (IS_QLA2432(ha) && (ha->pdev->revision < QLA_MSIX_CHIP_REV_24XX || !QLA_MSIX_FW_MODE_1(ha->fw_attributes))) { DEBUG2(qla_printk(KERN_WARNING, ha, "MSI-X: Unsupported ISP2432 (0x%X, 0x%X).\n", ha->pdev->revision, ha->fw_attributes)); - goto skip_msix; } - if (ha->pdev->subsystem_vendor == PCI_VENDOR_ID_HP && - (ha->pdev->subsystem_device == 0x7040 || - ha->pdev->subsystem_device == 0x7041 || - ha->pdev->subsystem_device == 0x1705)) { - DEBUG2(qla_printk(KERN_WARNING, ha, - "MSI-X: Unsupported ISP2432 SSVID/SSDID (0x%X, 0x%X).\n", - ha->pdev->subsystem_vendor, - ha->pdev->subsystem_device)); - - goto skip_msi; - } - ret = qla24xx_enable_msix(ha, rsp); if (!ret) { DEBUG2(qla_printk(KERN_INFO, ha, @@ -2357,30 +2348,3 @@ msix->rsp = rsp; return ret; } - -struct scsi_qla_host * -qla25xx_get_host(struct rsp_que *rsp) -{ - srb_t *sp; - struct qla_hw_data *ha = rsp->hw; - struct scsi_qla_host *vha = NULL; - struct sts_entry_24xx *pkt; - struct req_que *req; - uint16_t que; - uint32_t handle; - - pkt = (struct sts_entry_24xx *) rsp->ring_ptr; - que = MSW(pkt->handle); - handle = (uint32_t) LSW(pkt->handle); - req = ha->req_q_map[que]; - if (handle < MAX_OUTSTANDING_COMMANDS) { - sp = req->outstanding_cmds[handle]; - if (sp) - return sp->fcport->vha; - else - goto base_que; - } -base_que: - vha = pci_get_drvdata(ha->pdev); - return vha; -} --- linux-2.6.32.orig/drivers/scsi/qla2xxx/qla_mid.c +++ linux-2.6.32/drivers/scsi/qla2xxx/qla_mid.c @@ -638,11 +638,15 @@ static void qla_do_work(struct work_struct *work) { + unsigned long flags; struct rsp_que *rsp = container_of(work, struct rsp_que, q_work); struct scsi_qla_host *vha; + struct qla_hw_data *ha = rsp->hw; - vha = qla25xx_get_host(rsp); + spin_lock_irqsave(&rsp->hw->hardware_lock, flags); + vha = pci_get_drvdata(ha->pdev); qla24xx_process_response_queue(vha, rsp); + spin_unlock_irqrestore(&rsp->hw->hardware_lock, flags); } /* create response queue */ --- linux-2.6.32.orig/drivers/scsi/qla2xxx/qla_os.c +++ linux-2.6.32/drivers/scsi/qla2xxx/qla_os.c @@ -2016,13 +2016,13 @@ DEBUG2(printk("DEBUG: detect hba %ld at address = %p\n", base_vha->host_no, ha)); - base_vha->flags.init_done = 1; - base_vha->flags.online = 1; - ret = scsi_add_host(host, &pdev->dev); if (ret) goto probe_failed; + base_vha->flags.init_done = 1; + base_vha->flags.online = 1; + ha->isp_ops->enable_intrs(ha); scsi_scan_host(host); --- linux-2.6.32.orig/drivers/scsi/bfa/bfa_core.c +++ linux-2.6.32/drivers/scsi/bfa/bfa_core.c @@ -84,11 +84,32 @@ for (i = 0; hal_mods[i]; i++) hal_mods[i]->meminfo(cfg, &km_len, &dm_len); + dm_len += bfa_port_meminfo(); meminfo->meminfo[BFA_MEM_TYPE_KVA - 1].mem_len = km_len; meminfo->meminfo[BFA_MEM_TYPE_DMA - 1].mem_len = dm_len; } +static void +bfa_com_port_attach(struct bfa_s *bfa, struct bfa_meminfo_s *mi) +{ + struct bfa_port_s *port = &bfa->modules.port; + uint32_t dm_len; + uint8_t *dm_kva; + uint64_t dm_pa; + + dm_len = bfa_port_meminfo(); + dm_kva = bfa_meminfo_dma_virt(mi); + dm_pa = bfa_meminfo_dma_phys(mi); + + memset(port, 0, sizeof(struct bfa_port_s)); + bfa_port_attach(port, &bfa->ioc, bfa, bfa->trcmod, bfa->logm); + bfa_port_mem_claim(port, dm_kva, dm_pa); + + bfa_meminfo_dma_virt(mi) = dm_kva + dm_len; + bfa_meminfo_dma_phys(mi) = dm_pa + dm_len; +} + /** * Use this function to do attach the driver instance with the BFA * library. This function will not trigger any HW initialization @@ -140,6 +161,7 @@ for (i = 0; hal_mods[i]; i++) hal_mods[i]->attach(bfa, bfad, cfg, meminfo, pcidev); + bfa_com_port_attach(bfa, meminfo); } /** --- linux-2.6.32.orig/drivers/scsi/sym53c8xx_2/sym_glue.c +++ linux-2.6.32/drivers/scsi/sym53c8xx_2/sym_glue.c @@ -837,6 +837,10 @@ struct sym_lcb *lp = sym_lp(tp, sdev->lun); unsigned long flags; + /* if slave_alloc returned before allocating a sym_lcb, return */ + if (!lp) + return; + spin_lock_irqsave(np->s.host->host_lock, flags); if (lp->busy_itlq || lp->busy_itl) { --- linux-2.6.32.orig/drivers/serial/68360serial.c +++ linux-2.6.32/drivers/serial/68360serial.c @@ -1381,6 +1381,30 @@ } +/* + * Get counter of input serial line interrupts (DCD,RI,DSR,CTS) + * Return: write counters to the user passed counter struct + * NB: both 1->0 and 0->1 transitions are counted except for + * RI where only 0->1 is counted. + */ +static int rs_360_get_icount(struct tty_struct *tty, + struct serial_icounter_struct *icount) +{ + ser_info_t *info = (ser_info_t *)tty->driver_data; + struct async_icount cnow; + + local_irq_disable(); + cnow = info->state->icount; + local_irq_enable(); + + icount->cts = cnow.cts; + icount->dsr = cnow.dsr; + icount->rng = cnow.rng; + icount->dcd = cnow.dcd; + + return 0; +} + static int rs_360_ioctl(struct tty_struct *tty, struct file * file, unsigned int cmd, unsigned long arg) { @@ -1394,7 +1418,7 @@ if (serial_paranoia_check(info, tty->name, "rs_ioctl")) return -ENODEV; - if ((cmd != TIOCMIWAIT) && (cmd != TIOCGICOUNT)) { + if (cmd != TIOCMIWAIT) { if (tty->flags & (1 << TTY_IO_ERROR)) return -EIO; } @@ -1477,31 +1501,6 @@ return 0; #endif - /* - * Get counter of input serial line interrupts (DCD,RI,DSR,CTS) - * Return: write counters to the user passed counter struct - * NB: both 1->0 and 0->1 transitions are counted except for - * RI where only 0->1 is counted. - */ - case TIOCGICOUNT: - local_irq_disable(); - cnow = info->state->icount; - local_irq_enable(); - p_cuser = (struct serial_icounter_struct *) arg; -/* error = put_user(cnow.cts, &p_cuser->cts); */ -/* if (error) return error; */ -/* error = put_user(cnow.dsr, &p_cuser->dsr); */ -/* if (error) return error; */ -/* error = put_user(cnow.rng, &p_cuser->rng); */ -/* if (error) return error; */ -/* error = put_user(cnow.dcd, &p_cuser->dcd); */ -/* if (error) return error; */ - - put_user(cnow.cts, &p_cuser->cts); - put_user(cnow.dsr, &p_cuser->dsr); - put_user(cnow.rng, &p_cuser->rng); - put_user(cnow.dcd, &p_cuser->dcd); - return 0; default: return -ENOIOCTLCMD; --- linux-2.6.32.orig/drivers/serial/8250.c +++ linux-2.6.32/drivers/serial/8250.c @@ -83,6 +83,9 @@ #define PASS_LIMIT 256 +#define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE) + + /* * We default to IRQ0 for the "no irq" hack. Some * machine types want others as well - they're free @@ -252,7 +255,8 @@ .fifo_size = 128, .tx_loadsz = 128, .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10, - .flags = UART_CAP_FIFO | UART_CAP_EFR | UART_CAP_SLEEP, + /* UART_CAP_EFR breaks billionon CF bluetooth card. */ + .flags = UART_CAP_FIFO | UART_CAP_SLEEP, }, [PORT_RSA] = { .name = "RSA", @@ -1339,14 +1343,12 @@ serial_out(up, UART_IER, up->ier); if (up->bugs & UART_BUG_TXEN) { - unsigned char lsr, iir; + unsigned char lsr; lsr = serial_in(up, UART_LSR); up->lsr_saved_flags |= lsr & LSR_SAVE_FLAGS; - iir = serial_in(up, UART_IIR) & 0x0f; if ((up->port.type == PORT_RM9000) ? - (lsr & UART_LSR_THRE && - (iir == UART_IIR_NO_INT || iir == UART_IIR_THRI)) : - (lsr & UART_LSR_TEMT && iir & UART_IIR_NO_INT)) + (lsr & UART_LSR_THRE) : + (lsr & UART_LSR_TEMT)) transmit_chars(up); } } @@ -1794,7 +1796,7 @@ up->lsr_saved_flags |= lsr & LSR_SAVE_FLAGS; spin_unlock_irqrestore(&up->port.lock, flags); - return lsr & UART_LSR_TEMT ? TIOCSER_TEMT : 0; + return (lsr & BOTH_EMPTY) == BOTH_EMPTY ? TIOCSER_TEMT : 0; } static unsigned int serial8250_get_mctrl(struct uart_port *port) @@ -1852,8 +1854,6 @@ spin_unlock_irqrestore(&up->port.lock, flags); } -#define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE) - /* * Wait for transmitter & holding register to empty */ --- linux-2.6.32.orig/drivers/serial/8250_pnp.c +++ linux-2.6.32/drivers/serial/8250_pnp.c @@ -328,15 +328,7 @@ /* U.S. Robotics 56K Voice INT PnP*/ { "USR9190", 0 }, /* Wacom tablets */ - { "WACF004", 0 }, - { "WACF005", 0 }, - { "WACF006", 0 }, - { "WACF007", 0 }, - { "WACF008", 0 }, - { "WACF009", 0 }, - { "WACF00A", 0 }, - { "WACF00B", 0 }, - { "WACF00C", 0 }, + { "WACFXXX", 0 }, /* Compaq touchscreen */ { "FPI2002", 0 }, /* Fujitsu Stylistic touchscreens */ @@ -354,6 +346,10 @@ { "FUJ02E5", 0 }, /* Fujitsu P-series tablet PC device */ { "FUJ02E6", 0 }, + /* Fujitsu Wacom 2FGT Tablet PC device */ + { "FUJ02E7", 0 }, + /* Fujitsu Wacom 1FGT Tablet PC device */ + { "FUJ02E9", 0 }, /* * LG C1 EXPRESS DUAL (C1-PB11A3) touch screen (actually a FUJ02E6 in * disguise) --- linux-2.6.32.orig/drivers/serial/imx.c +++ linux-2.6.32/drivers/serial/imx.c @@ -119,7 +119,8 @@ #define MX2_UCR3_RXDMUXSEL (1<<2) /* RXD Muxed Input Select, on mx2/mx3 */ #define UCR3_INVT (1<<1) /* Inverted Infrared transmission */ #define UCR3_BPEN (1<<0) /* Preset registers enable */ -#define UCR4_CTSTL_32 (32<<10) /* CTS trigger level (32 chars) */ +#define UCR4_CTSTL_SHF 10 /* CTS trigger level shift */ +#define UCR4_CTSTL_MASK 0x3F /* CTS trigger is 6 bits wide */ #define UCR4_INVR (1<<9) /* Inverted infrared reception */ #define UCR4_ENIRI (1<<8) /* Serial infrared interrupt enable */ #define UCR4_WKEN (1<<7) /* Wake interrupt enable */ @@ -381,12 +382,13 @@ static irqreturn_t imx_rtsint(int irq, void *dev_id) { struct imx_port *sport = dev_id; - unsigned int val = readl(sport->port.membase + USR1) & USR1_RTSS; + unsigned int val; unsigned long flags; spin_lock_irqsave(&sport->port.lock, flags); writel(USR1_RTSD, sport->port.membase + USR1); + val = readl(sport->port.membase + USR1) & USR1_RTSS; uart_handle_cts_change(&sport->port, !!val); wake_up_interruptible(&sport->port.state->port.delta_msr_wait); @@ -590,6 +592,9 @@ return 0; } +/* half the RX buffer size */ +#define CTSTL 16 + static int imx_startup(struct uart_port *port) { struct imx_port *sport = (struct imx_port *)port; @@ -606,6 +611,10 @@ if (USE_IRDA(sport)) temp |= UCR4_IRSC; + /* set the trigger level for CTS */ + temp &= ~(UCR4_CTSTL_MASK<< UCR4_CTSTL_SHF); + temp |= CTSTL<< UCR4_CTSTL_SHF; + writel(temp & ~UCR4_DREN, sport->port.membase + UCR4); if (USE_IRDA(sport)) { @@ -1279,7 +1288,7 @@ sport->use_irda = 1; #endif - if (pdata->init) { + if (pdata && pdata->init) { ret = pdata->init(pdev); if (ret) goto clkput; @@ -1292,7 +1301,7 @@ return 0; deinit: - if (pdata->exit) + if (pdata && pdata->exit) pdata->exit(pdev); clkput: clk_put(sport->clk); @@ -1321,7 +1330,7 @@ clk_disable(sport->clk); - if (pdata->exit) + if (pdata && pdata->exit) pdata->exit(pdev); iounmap(sport->port.membase); --- linux-2.6.32.orig/drivers/serial/serial_core.c +++ linux-2.6.32/drivers/serial/serial_core.c @@ -1067,10 +1067,10 @@ * NB: both 1->0 and 0->1 transitions are counted except for * RI where only 0->1 is counted. */ -static int uart_get_count(struct uart_state *state, - struct serial_icounter_struct __user *icnt) +static int uart_get_icount(struct tty_struct *tty, + struct serial_icounter_struct *icount) { - struct serial_icounter_struct icount; + struct uart_state *state = tty->driver_data; struct uart_icount cnow; struct uart_port *uport = state->uart_port; @@ -1078,19 +1078,19 @@ memcpy(&cnow, &uport->icount, sizeof(struct uart_icount)); spin_unlock_irq(&uport->lock); - icount.cts = cnow.cts; - icount.dsr = cnow.dsr; - icount.rng = cnow.rng; - icount.dcd = cnow.dcd; - icount.rx = cnow.rx; - icount.tx = cnow.tx; - icount.frame = cnow.frame; - icount.overrun = cnow.overrun; - icount.parity = cnow.parity; - icount.brk = cnow.brk; - icount.buf_overrun = cnow.buf_overrun; + icount->cts = cnow.cts; + icount->dsr = cnow.dsr; + icount->rng = cnow.rng; + icount->dcd = cnow.dcd; + icount->rx = cnow.rx; + icount->tx = cnow.tx; + icount->frame = cnow.frame; + icount->overrun = cnow.overrun; + icount->parity = cnow.parity; + icount->brk = cnow.brk; + icount->buf_overrun = cnow.buf_overrun; - return copy_to_user(icnt, &icount, sizeof(icount)) ? -EFAULT : 0; + return 0; } /* @@ -1143,10 +1143,6 @@ case TIOCMIWAIT: ret = uart_wait_modem_status(state, arg); break; - - case TIOCGICOUNT: - ret = uart_get_count(state, uarg); - break; } if (ret != -ENOIOCTLCMD) @@ -2322,6 +2318,7 @@ #endif .tiocmget = uart_tiocmget, .tiocmset = uart_tiocmset, + .get_icount = uart_get_icount, #ifdef CONFIG_CONSOLE_POLL .poll_init = uart_poll_init, .poll_get_char = uart_poll_get_char, --- linux-2.6.32.orig/drivers/serial/uartlite.c +++ linux-2.6.32/drivers/serial/uartlite.c @@ -394,7 +394,7 @@ spin_unlock_irqrestore(&port->lock, flags); } -static int __init ulite_console_setup(struct console *co, char *options) +static int __devinit ulite_console_setup(struct console *co, char *options) { struct uart_port *port; int baud = 9600; --- linux-2.6.32.orig/drivers/serial/cpm_uart/cpm_uart_core.c +++ linux-2.6.32/drivers/serial/cpm_uart/cpm_uart_core.c @@ -930,6 +930,83 @@ } } +#if defined(CONFIG_CONSOLE_POLL) || defined(CONFIG_SERIAL_CPM_CONSOLE) +/* + * Write a string to the serial port + * Note that this is called with interrupts already disabled + */ +static void cpm_uart_early_write(struct uart_cpm_port *pinfo, + const char *string, u_int count) +{ + unsigned int i; + cbd_t __iomem *bdp, *bdbase; + unsigned char *cpm_outp_addr; + + /* Get the address of the host memory buffer. + */ + bdp = pinfo->tx_cur; + bdbase = pinfo->tx_bd_base; + + /* + * Now, do each character. This is not as bad as it looks + * since this is a holding FIFO and not a transmitting FIFO. + * We could add the complexity of filling the entire transmit + * buffer, but we would just wait longer between accesses...... + */ + for (i = 0; i < count; i++, string++) { + /* Wait for transmitter fifo to empty. + * Ready indicates output is ready, and xmt is doing + * that, not that it is ready for us to send. + */ + while ((in_be16(&bdp->cbd_sc) & BD_SC_READY) != 0) + ; + + /* Send the character out. + * If the buffer address is in the CPM DPRAM, don't + * convert it. + */ + cpm_outp_addr = cpm2cpu_addr(in_be32(&bdp->cbd_bufaddr), + pinfo); + *cpm_outp_addr = *string; + + out_be16(&bdp->cbd_datlen, 1); + setbits16(&bdp->cbd_sc, BD_SC_READY); + + if (in_be16(&bdp->cbd_sc) & BD_SC_WRAP) + bdp = bdbase; + else + bdp++; + + /* if a LF, also do CR... */ + if (*string == 10) { + while ((in_be16(&bdp->cbd_sc) & BD_SC_READY) != 0) + ; + + cpm_outp_addr = cpm2cpu_addr(in_be32(&bdp->cbd_bufaddr), + pinfo); + *cpm_outp_addr = 13; + + out_be16(&bdp->cbd_datlen, 1); + setbits16(&bdp->cbd_sc, BD_SC_READY); + + if (in_be16(&bdp->cbd_sc) & BD_SC_WRAP) + bdp = bdbase; + else + bdp++; + } + } + + /* + * Finally, Wait for transmitter & holding register to empty + * and restore the IER + */ + while ((in_be16(&bdp->cbd_sc) & BD_SC_READY) != 0) + ; + + pinfo->tx_cur = bdp; +} +#endif + #ifdef CONFIG_CONSOLE_POLL /* Serial polling routines for writing and reading from the uart while * in an interrupt or debug context. @@ -999,7 +1076,7 @@ static char ch[2]; ch[0] = (char)c; - cpm_uart_early_write(pinfo->port.line, ch, 1); + cpm_uart_early_write(pinfo, ch, 1); } #endif /* CONFIG_CONSOLE_POLL */ @@ -1130,9 +1207,6 @@ u_int count) { struct uart_cpm_port *pinfo = &cpm_uart_ports[co->index]; - unsigned int i; - cbd_t __iomem *bdp, *bdbase; - unsigned char *cp; unsigned long flags; int nolock = oops_in_progress; @@ -1142,66 +1216,7 @@ spin_lock_irqsave(&pinfo->port.lock, flags); } - /* Get the address of the host memory buffer. - */ - bdp = pinfo->tx_cur; - bdbase = pinfo->tx_bd_base; - - /* - * Now, do each character. This is not as bad as it looks - * since this is a holding FIFO and not a transmitting FIFO. - * We could add the complexity of filling the entire transmit - * buffer, but we would just wait longer between accesses...... - */ - for (i = 0; i < count; i++, s++) { - /* Wait for transmitter fifo to empty. - * Ready indicates output is ready, and xmt is doing - * that, not that it is ready for us to send. - */ - while ((in_be16(&bdp->cbd_sc) & BD_SC_READY) != 0) - ; - - /* Send the character out. - * If the buffer address is in the CPM DPRAM, don't - * convert it. - */ - cp = cpm2cpu_addr(in_be32(&bdp->cbd_bufaddr), pinfo); - *cp = *s; - - out_be16(&bdp->cbd_datlen, 1); - setbits16(&bdp->cbd_sc, BD_SC_READY); - - if (in_be16(&bdp->cbd_sc) & BD_SC_WRAP) - bdp = bdbase; - else - bdp++; - - /* if a LF, also do CR... */ - if (*s == 10) { - while ((in_be16(&bdp->cbd_sc) & BD_SC_READY) != 0) - ; - - cp = cpm2cpu_addr(in_be32(&bdp->cbd_bufaddr), pinfo); - *cp = 13; - - out_be16(&bdp->cbd_datlen, 1); - setbits16(&bdp->cbd_sc, BD_SC_READY); - - if (in_be16(&bdp->cbd_sc) & BD_SC_WRAP) - bdp = bdbase; - else - bdp++; - } - } - - /* - * Finally, Wait for transmitter & holding register to empty - * and restore the IER - */ - while ((in_be16(&bdp->cbd_sc) & BD_SC_READY) != 0) - ; - - pinfo->tx_cur = bdp; + cpm_uart_early_write(pinfo, s, count); if (unlikely(nolock)) { local_irq_restore(flags); --- linux-2.6.32.orig/drivers/ssb/b43_pci_bridge.c +++ linux-2.6.32/drivers/ssb/b43_pci_bridge.c @@ -24,6 +24,7 @@ { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4312) }, { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4315) }, { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4318) }, + { PCI_DEVICE(PCI_VENDOR_ID_BCM_GVC, 0x4318) }, { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4319) }, { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4320) }, { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4321) }, --- linux-2.6.32.orig/drivers/ssb/driver_chipcommon.c +++ linux-2.6.32/drivers/ssb/driver_chipcommon.c @@ -233,6 +233,9 @@ { if (!cc->dev) return; /* We don't have a ChipCommon */ + if (cc->dev->id.revision >= 11) + cc->status = chipco_read32(cc, SSB_CHIPCO_CHIPSTAT); + ssb_dprintk(KERN_INFO PFX "chipcommon status is 0x%x\n", cc->status); ssb_pmu_init(cc); chipco_powercontrol_init(cc); ssb_chipco_set_clockmode(cc, SSB_CLKMODE_FAST); --- linux-2.6.32.orig/drivers/ssb/pci.c +++ linux-2.6.32/drivers/ssb/pci.c @@ -167,7 +167,7 @@ } /* Get the word-offset for a SSB_SPROM_XXX define. */ -#define SPOFF(offset) (((offset) - SSB_SPROM_BASE) / sizeof(u16)) +#define SPOFF(offset) (((offset) - SSB_SPROM_BASE1) / sizeof(u16)) /* Helper to extract some _offset, which is one of the SSB_SPROM_XXX defines. */ #define SPEX16(_outvar, _offset, _mask, _shift) \ out->_outvar = ((in[SPOFF(_offset)] & (_mask)) >> (_shift)) @@ -253,7 +253,7 @@ int i; for (i = 0; i < bus->sprom_size; i++) - sprom[i] = ioread16(bus->mmio + SSB_SPROM_BASE + (i * 2)); + sprom[i] = ioread16(bus->mmio + bus->sprom_offset + (i * 2)); return 0; } @@ -284,7 +284,7 @@ ssb_printk("75%%"); else if (i % 2) ssb_printk("."); - writew(sprom[i], bus->mmio + SSB_SPROM_BASE + (i * 2)); + writew(sprom[i], bus->mmio + bus->sprom_offset + (i * 2)); mmiowb(); msleep(20); } @@ -620,6 +620,28 @@ int err = -ENOMEM; u16 *buf; + if (!ssb_is_sprom_available(bus)) { + ssb_printk(KERN_ERR PFX "No SPROM available!\n"); + return -ENODEV; + } + if (bus->chipco.dev) { /* can be unavailible! */ + /* + * get SPROM offset: SSB_SPROM_BASE1 except for + * chipcommon rev >= 31 or chip ID is 0x4312 and + * chipcommon status & 3 == 2 + */ + if (bus->chipco.dev->id.revision >= 31) + bus->sprom_offset = SSB_SPROM_BASE31; + else if (bus->chip_id == 0x4312 && + (bus->chipco.status & 0x03) == 2) + bus->sprom_offset = SSB_SPROM_BASE31; + else + bus->sprom_offset = SSB_SPROM_BASE1; + } else { + bus->sprom_offset = SSB_SPROM_BASE1; + } + ssb_dprintk(KERN_INFO PFX "SPROM offset is 0x%x\n", bus->sprom_offset); + buf = kcalloc(SSB_SPROMSIZE_WORDS_R123, sizeof(u16), GFP_KERNEL); if (!buf) goto out; --- linux-2.6.32.orig/drivers/ssb/sprom.c +++ linux-2.6.32/drivers/ssb/sprom.c @@ -13,6 +13,8 @@ #include "ssb_private.h" +#include + static const struct ssb_sprom *fallback_sprom; @@ -33,17 +35,27 @@ static int hex2sprom(u16 *sprom, const char *dump, size_t len, size_t sprom_size_words) { - char tmp[5] = { 0 }; - int cnt = 0; + char c, tmp[5] = { 0 }; + int err, cnt = 0; unsigned long parsed; - if (len < sprom_size_words * 2) + /* Strip whitespace at the end. */ + while (len) { + c = dump[len - 1]; + if (!isspace(c) && c != '\0') + break; + len--; + } + /* Length must match exactly. */ + if (len != sprom_size_words * 4) return -EINVAL; while (cnt < sprom_size_words) { memcpy(tmp, dump, 4); dump += 4; - parsed = simple_strtoul(tmp, NULL, 16); + err = strict_strtoul(tmp, 16, &parsed); + if (err) + return err; sprom[cnt++] = swab16((u16)parsed); } @@ -167,3 +179,18 @@ { return fallback_sprom; } + +/* http://bcm-v4.sipsolutions.net/802.11/IsSpromAvailable */ +bool ssb_is_sprom_available(struct ssb_bus *bus) +{ + /* status register only exists on chipcomon rev >= 11 and we need check + for >= 31 only */ + /* this routine differs from specs as we do not access SPROM directly + on PCMCIA */ + if (bus->bustype == SSB_BUSTYPE_PCI && + bus->chipco.dev && /* can be unavailible! */ + bus->chipco.dev->id.revision >= 31) + return bus->chipco.capabilities & SSB_CHIPCO_CAP_SPROM; + + return true; +} --- linux-2.6.32.orig/drivers/staging/Kconfig +++ linux-2.6.32/drivers/staging/Kconfig @@ -81,8 +81,6 @@ source "drivers/staging/rtl8192e/Kconfig" -source "drivers/staging/mimio/Kconfig" - source "drivers/staging/frontier/Kconfig" source "drivers/staging/android/Kconfig" @@ -101,7 +99,7 @@ source "drivers/staging/line6/Kconfig" -source "drivers/gpu/drm/radeon/Kconfig" +source "drivers/gpu/drm/nouveau/Kconfig" source "drivers/staging/octeon/Kconfig" --- linux-2.6.32.orig/drivers/staging/Makefile +++ linux-2.6.32/drivers/staging/Makefile @@ -5,10 +5,10 @@ obj-$(CONFIG_ET131X) += et131x/ obj-$(CONFIG_SLICOSS) += slicoss/ -obj-$(CONFIG_VIDEO_GO7007) += go7007/ +#obj-$(CONFIG_VIDEO_GO7007) += go7007/ obj-$(CONFIG_VIDEO_CX25821) += cx25821/ obj-$(CONFIG_USB_IP_COMMON) += usbip/ -obj-$(CONFIG_W35UND) += winbond/ +#obj-$(CONFIG_W35UND) += winbond/ obj-$(CONFIG_PRISM2_USB) += wlan-ng/ obj-$(CONFIG_ECHO) += echo/ obj-$(CONFIG_POCH) += poch/ @@ -23,10 +23,9 @@ obj-$(CONFIG_RTL8187SE) += rtl8187se/ obj-$(CONFIG_RTL8192SU) += rtl8192su/ obj-$(CONFIG_RTL8192E) += rtl8192e/ -obj-$(CONFIG_INPUT_MIMIO) += mimio/ obj-$(CONFIG_TRANZPORT) += frontier/ -obj-$(CONFIG_ANDROID) += android/ -obj-$(CONFIG_ANDROID) += dream/ +#obj-$(CONFIG_ANDROID) += android/ +#obj-$(CONFIG_ANDROID) += dream/ obj-$(CONFIG_DST) += dst/ obj-$(CONFIG_POHMELFS) += pohmelfs/ obj-$(CONFIG_B3DFG) += b3dfg/ --- linux-2.6.32.orig/drivers/staging/android/binder.c +++ linux-2.6.32/drivers/staging/android/binder.c @@ -36,6 +36,7 @@ static DEFINE_MUTEX(binder_lock); static DEFINE_MUTEX(binder_deferred_lock); +static DEFINE_MUTEX(binder_mmap_lock); static HLIST_HEAD(binder_procs); static HLIST_HEAD(binder_deferred_list); @@ -614,6 +615,11 @@ if (mm) { down_write(&mm->mmap_sem); vma = proc->vma; + if (vma && mm != vma->vm_mm) { + pr_err("binder: %d: vma mm and task mm mismatch\n", + proc->pid); + vma = NULL; + } } if (allocate == 0) @@ -2741,7 +2747,6 @@ proc->pid, vma->vm_start, vma->vm_end, (vma->vm_end - vma->vm_start) / SZ_1K, vma->vm_flags, (unsigned long)pgprot_val(vma->vm_page_prot)); - dump_stack(); } static void binder_vma_close(struct vm_area_struct *vma) @@ -2785,6 +2790,7 @@ } vma->vm_flags = (vma->vm_flags | VM_DONTCOPY) & ~VM_MAYWRITE; + mutex_lock(&binder_mmap_lock); if (proc->buffer) { ret = -EBUSY; failure_string = "already mapped"; @@ -2799,6 +2805,7 @@ } proc->buffer = area->addr; proc->user_buffer_offset = vma->vm_start - (uintptr_t)proc->buffer; + mutex_unlock(&binder_mmap_lock); #ifdef CONFIG_CPU_CACHE_VIPT if (cache_is_vipt_aliasing()) { @@ -2831,7 +2838,7 @@ binder_insert_free_buffer(proc, buffer); proc->free_async_space = proc->buffer_size / 2; barrier(); - proc->files = get_files_struct(current); + proc->files = get_files_struct(proc->tsk); proc->vma = vma; /*printk(KERN_INFO "binder_mmap: %d %lx-%lx maps %p\n", @@ -2842,10 +2849,12 @@ kfree(proc->pages); proc->pages = NULL; err_alloc_pages_failed: + mutex_lock(&binder_mmap_lock); vfree(proc->buffer); proc->buffer = NULL; err_get_vm_area_failed: err_already_mapped: + mutex_unlock(&binder_mmap_lock); err_bad_arg: printk(KERN_ERR "binder_mmap: %d %lx-%lx %s failed %d\n", proc->pid, vma->vm_start, vma->vm_end, failure_string, ret); --- linux-2.6.32.orig/drivers/staging/asus_oled/asus_oled.c +++ linux-2.6.32/drivers/staging/asus_oled/asus_oled.c @@ -194,9 +194,11 @@ { struct usb_interface *intf = to_usb_interface(dev); struct asus_oled_dev *odev = usb_get_intfdata(intf); - int temp = strict_strtoul(buf, 10, NULL); + unsigned long value; + if (strict_strtoul(buf, 10, &value)) + return -EINVAL; - enable_oled(odev, temp); + enable_oled(odev, value); return count; } @@ -207,10 +209,12 @@ { struct asus_oled_dev *odev = (struct asus_oled_dev *) dev_get_drvdata(device); + unsigned long value; - int temp = strict_strtoul(buf, 10, NULL); + if (strict_strtoul(buf, 10, &value)) + return -EINVAL; - enable_oled(odev, temp); + enable_oled(odev, value); return count; } @@ -345,7 +349,14 @@ static int append_values(struct asus_oled_dev *odev, uint8_t val, size_t count) { - while (count-- > 0 && val) { + odev->last_val = val; + + if (val == 0) { + odev->buf_offs += count; + return 0; + } + + while (count-- > 0) { size_t x = odev->buf_offs % odev->width; size_t y = odev->buf_offs / odev->width; size_t i; @@ -396,7 +407,6 @@ ; } - odev->last_val = val; odev->buf_offs++; } @@ -605,13 +615,13 @@ #define ASUS_OLED_DEVICE_ATTR(_file) dev_attr_asus_oled_##_file -static DEVICE_ATTR(asus_oled_enabled, S_IWUGO | S_IRUGO, +static DEVICE_ATTR(asus_oled_enabled, S_IWUSR | S_IRUGO, get_enabled, set_enabled); -static DEVICE_ATTR(asus_oled_picture, S_IWUGO , NULL, set_picture); +static DEVICE_ATTR(asus_oled_picture, S_IWUSR , NULL, set_picture); -static DEVICE_ATTR(enabled, S_IWUGO | S_IRUGO, +static DEVICE_ATTR(enabled, S_IWUSR | S_IRUGO, class_get_enabled, class_set_enabled); -static DEVICE_ATTR(picture, S_IWUGO, NULL, class_set_picture); +static DEVICE_ATTR(picture, S_IWUSR, NULL, class_set_picture); static int asus_oled_probe(struct usb_interface *interface, const struct usb_device_id *id) --- linux-2.6.32.orig/drivers/staging/comedi/Kconfig +++ linux-2.6.32/drivers/staging/comedi/Kconfig @@ -16,6 +16,7 @@ config COMEDI_PCI_DRIVERS tristate "Comedi PCI drivers" depends on COMEDI && PCI + select COMEDI_8255 default N ---help--- Enable lots of comedi PCI drivers to be built @@ -23,6 +24,7 @@ config COMEDI_PCMCIA_DRIVERS tristate "Comedi PCMCIA drivers" depends on COMEDI && PCMCIA && PCCARD + select COMEDI_8255 default N ---help--- Enable lots of comedi PCMCIA and PCCARD drivers to be built @@ -33,3 +35,6 @@ default N ---help--- Enable lots of comedi USB drivers to be built + +config COMEDI_8255 + tristate --- linux-2.6.32.orig/drivers/staging/comedi/comedi.h +++ linux-2.6.32/drivers/staging/comedi/comedi.h @@ -455,7 +455,7 @@ #define COMEDI_CB_EOS 1 /* end of scan */ #define COMEDI_CB_EOA 2 /* end of acquisition */ -#define COMEDI_CB_BLOCK 4 /* DEPRECATED: convenient block size */ +#define COMEDI_CB_BLOCK 4 /* data has arrived: wakes up read() / write() */ #define COMEDI_CB_EOBUF 8 /* DEPRECATED: end of buffer */ #define COMEDI_CB_ERROR 16 /* card error during acquisition */ #define COMEDI_CB_OVERFLOW 32 /* buffer overflow/underflow */ --- linux-2.6.32.orig/drivers/staging/comedi/comedi_fops.c +++ linux-2.6.32/drivers/staging/comedi/comedi_fops.c @@ -367,8 +367,8 @@ /* fill devinfo structure */ devinfo.version_code = COMEDI_VERSION_CODE; devinfo.n_subdevs = dev->n_subdevices; - memcpy(devinfo.driver_name, dev->driver->driver_name, COMEDI_NAMELEN); - memcpy(devinfo.board_name, dev->board_name, COMEDI_NAMELEN); + strlcpy(devinfo.driver_name, dev->driver->driver_name, COMEDI_NAMELEN); + strlcpy(devinfo.board_name, dev->board_name, COMEDI_NAMELEN); if (read_subdev) devinfo.read_subdevice = read_subdev - dev->subdevices; @@ -1396,9 +1396,6 @@ static int comedi_mmap(struct file *file, struct vm_area_struct *vma) { const unsigned minor = iminor(file->f_dentry->d_inode); - struct comedi_device_file_info *dev_file_info = - comedi_get_device_file_info(minor); - struct comedi_device *dev = dev_file_info->device; struct comedi_async *async = NULL; unsigned long start = vma->vm_start; unsigned long size; @@ -1406,6 +1403,15 @@ int i; int retval; struct comedi_subdevice *s; + struct comedi_device_file_info *dev_file_info; + struct comedi_device *dev; + + dev_file_info = comedi_get_device_file_info(minor); + if (dev_file_info == NULL) + return -ENODEV; + dev = dev_file_info->device; + if (dev == NULL) + return -ENODEV; mutex_lock(&dev->mutex); if (!dev->attached) { @@ -1472,11 +1478,17 @@ { unsigned int mask = 0; const unsigned minor = iminor(file->f_dentry->d_inode); - struct comedi_device_file_info *dev_file_info = - comedi_get_device_file_info(minor); - struct comedi_device *dev = dev_file_info->device; struct comedi_subdevice *read_subdev; struct comedi_subdevice *write_subdev; + struct comedi_device_file_info *dev_file_info; + struct comedi_device *dev; + dev_file_info = comedi_get_device_file_info(minor); + + if (dev_file_info == NULL) + return -ENODEV; + dev = dev_file_info->device; + if (dev == NULL) + return -ENODEV; mutex_lock(&dev->mutex); if (!dev->attached) { @@ -1522,9 +1534,15 @@ int n, m, count = 0, retval = 0; DECLARE_WAITQUEUE(wait, current); const unsigned minor = iminor(file->f_dentry->d_inode); - struct comedi_device_file_info *dev_file_info = - comedi_get_device_file_info(minor); - struct comedi_device *dev = dev_file_info->device; + struct comedi_device_file_info *dev_file_info; + struct comedi_device *dev; + dev_file_info = comedi_get_device_file_info(minor); + + if (dev_file_info == NULL) + return -ENODEV; + dev = dev_file_info->device; + if (dev == NULL) + return -ENODEV; if (!dev->attached) { DPRINTK("no driver configured on comedi%i\n", dev->minor); @@ -1581,11 +1599,11 @@ retval = -EAGAIN; break; } + schedule(); if (signal_pending(current)) { retval = -ERESTARTSYS; break; } - schedule(); if (!s->busy) break; if (s->busy != file) { @@ -1624,9 +1642,15 @@ int n, m, count = 0, retval = 0; DECLARE_WAITQUEUE(wait, current); const unsigned minor = iminor(file->f_dentry->d_inode); - struct comedi_device_file_info *dev_file_info = - comedi_get_device_file_info(minor); - struct comedi_device *dev = dev_file_info->device; + struct comedi_device_file_info *dev_file_info; + struct comedi_device *dev; + dev_file_info = comedi_get_device_file_info(minor); + + if (dev_file_info == NULL) + return -ENODEV; + dev = dev_file_info->device; + if (dev == NULL) + return -ENODEV; if (!dev->attached) { DPRINTK("no driver configured on comedi%i\n", dev->minor); @@ -1682,11 +1706,11 @@ retval = -EAGAIN; break; } + schedule(); if (signal_pending(current)) { retval = -ERESTARTSYS; break; } - schedule(); if (!s->busy) { retval = 0; break; @@ -1819,11 +1843,17 @@ static int comedi_close(struct inode *inode, struct file *file) { const unsigned minor = iminor(inode); - struct comedi_device_file_info *dev_file_info = - comedi_get_device_file_info(minor); - struct comedi_device *dev = dev_file_info->device; struct comedi_subdevice *s = NULL; int i; + struct comedi_device_file_info *dev_file_info; + struct comedi_device *dev; + dev_file_info = comedi_get_device_file_info(minor); + + if (dev_file_info == NULL) + return -ENODEV; + dev = dev_file_info->device; + if (dev == NULL) + return -ENODEV; mutex_lock(&dev->mutex); @@ -1857,10 +1887,15 @@ static int comedi_fasync(int fd, struct file *file, int on) { const unsigned minor = iminor(file->f_dentry->d_inode); - struct comedi_device_file_info *dev_file_info = - comedi_get_device_file_info(minor); + struct comedi_device_file_info *dev_file_info; + struct comedi_device *dev; + dev_file_info = comedi_get_device_file_info(minor); - struct comedi_device *dev = dev_file_info->device; + if (dev_file_info == NULL) + return -ENODEV; + dev = dev_file_info->device; + if (dev == NULL) + return -ENODEV; return fasync_helper(fd, file, on, &dev->async_queue); } --- linux-2.6.32.orig/drivers/staging/comedi/drivers/Makefile +++ linux-2.6.32/drivers/staging/comedi/drivers/Makefile @@ -8,8 +8,10 @@ obj-$(CONFIG_COMEDI) += comedi_parport.o obj-$(CONFIG_COMEDI) += pcm_common.o +# Comedi 8255 module +obj-$(CONFIG_COMEDI_8255) += 8255.o + # Comedi PCI drivers -obj-$(CONFIG_COMEDI_PCI_DRIVERS) += 8255.o obj-$(CONFIG_COMEDI_PCI_DRIVERS) += acl7225b.o obj-$(CONFIG_COMEDI_PCI_DRIVERS) += addi_apci_035.o obj-$(CONFIG_COMEDI_PCI_DRIVERS) += addi_apci_1032.o --- linux-2.6.32.orig/drivers/staging/comedi/drivers/jr3_pci.c +++ linux-2.6.32/drivers/staging/comedi/drivers/jr3_pci.c @@ -52,6 +52,7 @@ #define PCI_VENDOR_ID_JR3 0x1762 #define PCI_DEVICE_ID_JR3_1_CHANNEL 0x3111 +#define PCI_DEVICE_ID_JR3_1_CHANNEL_NEW 0x1111 #define PCI_DEVICE_ID_JR3_2_CHANNEL 0x3112 #define PCI_DEVICE_ID_JR3_3_CHANNEL 0x3113 #define PCI_DEVICE_ID_JR3_4_CHANNEL 0x3114 @@ -71,6 +72,8 @@ { PCI_VENDOR_ID_JR3, PCI_DEVICE_ID_JR3_1_CHANNEL, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { + PCI_VENDOR_ID_JR3, PCI_DEVICE_ID_JR3_1_CHANNEL_NEW, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { PCI_VENDOR_ID_JR3, PCI_DEVICE_ID_JR3_2_CHANNEL, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { PCI_VENDOR_ID_JR3, PCI_DEVICE_ID_JR3_3_CHANNEL, @@ -807,6 +810,10 @@ devpriv->n_channels = 1; } break; + case PCI_DEVICE_ID_JR3_1_CHANNEL_NEW:{ + devpriv->n_channels = 1; + } + break; case PCI_DEVICE_ID_JR3_2_CHANNEL:{ devpriv->n_channels = 2; } @@ -849,8 +856,11 @@ } devpriv->pci_enabled = 1; - devpriv->iobase = - ioremap(pci_resource_start(card, 0), sizeof(struct jr3_t)); + devpriv->iobase = ioremap(pci_resource_start(card, 0), + offsetof(struct jr3_t, channel[devpriv->n_channels])); + if (!devpriv->iobase) + return -ENOMEM; + result = alloc_subdevices(dev, devpriv->n_channels); if (result < 0) goto out; --- linux-2.6.32.orig/drivers/staging/comedi/drivers/ni_labpc.c +++ linux-2.6.32/drivers/staging/comedi/drivers/ni_labpc.c @@ -528,7 +528,8 @@ /* grab our IRQ */ if (irq) { isr_flags = 0; - if (thisboard->bustype == pci_bustype) + if (thisboard->bustype == pci_bustype + || thisboard->bustype == pcmcia_bustype) isr_flags |= IRQF_SHARED; if (request_irq(irq, labpc_interrupt, isr_flags, driver_labpc.driver_name, dev)) { --- linux-2.6.32.orig/drivers/staging/comedi/drivers/ni_mio_cs.c +++ linux-2.6.32/drivers/staging/comedi/drivers/ni_mio_cs.c @@ -123,7 +123,7 @@ .adbits = 12, .ai_fifo_depth = 1024, .alwaysdither = 0, - .gainlkup = ai_gain_16, + .gainlkup = ai_gain_4, .ai_speed = 5000, .n_aochan = 2, .aobits = 12, --- linux-2.6.32.orig/drivers/staging/comedi/drivers/usbdux.c +++ linux-2.6.32/drivers/staging/comedi/drivers/usbdux.c @@ -1,4 +1,4 @@ -#define DRIVER_VERSION "v2.2" +#define DRIVER_VERSION "v2.4" #define DRIVER_AUTHOR "Bernd Porr, BerndPorr@f2s.com" #define DRIVER_DESC "Stirling/ITL USB-DUX -- Bernd.Porr@f2s.com" /* @@ -80,6 +80,9 @@ * 2.0: PWM seems to be stable and is not interfering with the other functions * 2.1: changed PWM API * 2.2: added firmware kernel request to fix an udev problem + * 2.3: corrected a bug in bulk timeouts which were far too short + * 2.4: fixed a bug which causes the driver to hang when it ran out of data. + * Thanks to Jan-Matthias Braun and Ian to spot the bug and fix it. * */ @@ -101,8 +104,8 @@ #define BOARDNAME "usbdux" -/* timeout for the USB-transfer */ -#define EZTIMEOUT 30 +/* timeout for the USB-transfer in ms*/ +#define BULK_TIMEOUT 1000 /* constants for "firmware" upload and download */ #define USBDUXSUB_FIRMWARE 0xA0 @@ -531,6 +534,7 @@ } } /* tell comedi that data is there */ + s->async->events |= COMEDI_CB_BLOCK | COMEDI_CB_EOS; comedi_event(this_usbduxsub->comedidev, s); } @@ -750,7 +754,7 @@ /* Length */ 1, /* Timeout */ - EZTIMEOUT); + BULK_TIMEOUT); if (errcode < 0) { dev_err(&usbduxsub->interface->dev, "comedi_: control msg failed (start)\n"); @@ -780,7 +784,7 @@ /* Length */ 1, /* Timeout */ - EZTIMEOUT); + BULK_TIMEOUT); if (errcode < 0) { dev_err(&usbduxsub->interface->dev, "comedi_: control msg failed (stop)\n"); @@ -810,7 +814,7 @@ /* length */ len, /* timeout */ - EZTIMEOUT); + BULK_TIMEOUT); dev_dbg(&usbduxsub->interface->dev, "comedi_: result=%d\n", errcode); if (errcode < 0) { dev_err(&usbduxsub->interface->dev, "comedi_: upload failed\n"); @@ -1110,7 +1114,7 @@ usb_sndbulkpipe(this_usbduxsub->usbdev, COMMAND_OUT_EP), this_usbduxsub->dux_commands, SIZEOFDUXBUFFER, - &nsent, 10); + &nsent, BULK_TIMEOUT); if (result < 0) dev_err(&this_usbduxsub->interface->dev, "comedi%d: " "could not transmit dux_command to the usb-device, " @@ -1130,7 +1134,7 @@ usb_rcvbulkpipe(this_usbduxsub->usbdev, COMMAND_IN_EP), this_usbduxsub->insnBuffer, SIZEINSNBUF, - &nrec, 1); + &nrec, BULK_TIMEOUT); if (result < 0) { dev_err(&this_usbduxsub->interface->dev, "comedi%d: " "insn: USB error %d while receiving DUX command" --- linux-2.6.32.orig/drivers/staging/frontier/tranzport.c +++ linux-2.6.32/drivers/staging/frontier/tranzport.c @@ -202,7 +202,7 @@ t->value = temp; \ return count; \ } \ - static DEVICE_ATTR(value, S_IWUGO | S_IRUGO, show_##value, set_##value); + static DEVICE_ATTR(value, S_IWUSR | S_IRUGO, show_##value, set_##value); show_int(enable); show_int(offline); --- linux-2.6.32.orig/drivers/staging/hv/blkvsc_drv.c +++ linux-2.6.32/drivers/staging/hv/blkvsc_drv.c @@ -378,6 +378,7 @@ blkdev->gd->first_minor = 0; blkdev->gd->fops = &block_ops; blkdev->gd->private_data = blkdev; + blkdev->gd->driverfs_dev = &(blkdev->device_ctx->device); sprintf(blkdev->gd->disk_name, "hd%c", 'a' + devnum); blkvsc_do_inquiry(blkdev); --- linux-2.6.32.orig/drivers/staging/hv/Channel.c +++ linux-2.6.32/drivers/staging/hv/Channel.c @@ -75,14 +75,14 @@ if (Channel->OfferMsg.MonitorAllocated) { /* Each u32 represents 32 channels */ - set_bit(Channel->OfferMsg.ChildRelId & 31, + sync_set_bit(Channel->OfferMsg.ChildRelId & 31, (unsigned long *) gVmbusConnection.SendInterruptPage + (Channel->OfferMsg.ChildRelId >> 5)); monitorPage = gVmbusConnection.MonitorPages; monitorPage++; /* Get the child to parent monitor page */ - set_bit(Channel->MonitorBit, + sync_set_bit(Channel->MonitorBit, (unsigned long *)&monitorPage->TriggerGroup [Channel->MonitorGroup].Pending); @@ -102,7 +102,7 @@ if (Channel->OfferMsg.MonitorAllocated) { /* Each u32 represents 32 channels */ - clear_bit(Channel->OfferMsg.ChildRelId & 31, + sync_clear_bit(Channel->OfferMsg.ChildRelId & 31, (unsigned long *)gVmbusConnection.SendInterruptPage + (Channel->OfferMsg.ChildRelId >> 5)); @@ -110,7 +110,7 @@ (struct hv_monitor_page *)gVmbusConnection.MonitorPages; monitorPage++; /* Get the child to parent monitor page */ - clear_bit(Channel->MonitorBit, + sync_clear_bit(Channel->MonitorBit, (unsigned long *)&monitorPage->TriggerGroup [Channel->MonitorGroup].Pending); } --- linux-2.6.32.orig/drivers/staging/hv/Connection.c +++ linux-2.6.32/drivers/staging/hv/Connection.c @@ -284,7 +284,9 @@ for (dword = 0; dword < maxdword; dword++) { if (recvInterruptPage[dword]) { for (bit = 0; bit < 32; bit++) { - if (test_and_clear_bit(bit, (unsigned long *)&recvInterruptPage[dword])) { + if (sync_test_and_clear_bit(bit, + (unsigned long *) + &recvInterruptPage[dword])) { relid = (dword << 5) + bit; DPRINT_DBG(VMBUS, "event detected for relid - %d", relid); @@ -329,7 +331,7 @@ DPRINT_ENTER(VMBUS); /* Each u32 represents 32 channels */ - set_bit(childRelId & 31, + sync_set_bit(childRelId & 31, (unsigned long *)gVmbusConnection.SendInterruptPage + (childRelId >> 5)); --- linux-2.6.32.orig/drivers/staging/hv/Hv.c +++ linux-2.6.32/drivers/staging/hv/Hv.c @@ -306,9 +306,9 @@ DPRINT_ENTER(VMBUS); if (gHvContext.SignalEventBuffer) { + kfree(gHvContext.SignalEventBuffer); gHvContext.SignalEventBuffer = NULL; gHvContext.SignalEventParam = NULL; - kfree(gHvContext.SignalEventBuffer); } if (gHvContext.GuestId == HV_LINUX_GUEST_ID) { @@ -386,7 +386,7 @@ * retrieve the initialized message and event pages. Otherwise, we create and * initialize the message and event pages. */ -int HvSynicInit(u32 irqVector) +void HvSynicInit(void *irqarg) { u64 version; union hv_synic_simp simp; @@ -394,13 +394,14 @@ union hv_synic_sint sharedSint; union hv_synic_scontrol sctrl; u64 guestID; - int ret = 0; + u32 irqVector = *((u32 *)(irqarg)); + int cpu = smp_processor_id(); DPRINT_ENTER(VMBUS); if (!gHvContext.HypercallPage) { DPRINT_EXIT(VMBUS); - return ret; + return; } /* Check the version */ @@ -425,27 +426,27 @@ */ rdmsrl(HV_X64_MSR_GUEST_OS_ID, guestID); if (guestID == HV_LINUX_GUEST_ID) { - gHvContext.synICMessagePage[0] = + gHvContext.synICMessagePage[cpu] = phys_to_virt(simp.BaseSimpGpa << PAGE_SHIFT); - gHvContext.synICEventPage[0] = + gHvContext.synICEventPage[cpu] = phys_to_virt(siefp.BaseSiefpGpa << PAGE_SHIFT); } else { DPRINT_ERR(VMBUS, "unknown guest id!!"); goto Cleanup; } DPRINT_DBG(VMBUS, "MAPPED: Simp: %p, Sifep: %p", - gHvContext.synICMessagePage[0], - gHvContext.synICEventPage[0]); + gHvContext.synICMessagePage[cpu], + gHvContext.synICEventPage[cpu]); } else { - gHvContext.synICMessagePage[0] = osd_PageAlloc(1); - if (gHvContext.synICMessagePage[0] == NULL) { + gHvContext.synICMessagePage[cpu] = (void *)get_zeroed_page(GFP_ATOMIC); + if (gHvContext.synICMessagePage[cpu] == NULL) { DPRINT_ERR(VMBUS, "unable to allocate SYNIC message page!!"); goto Cleanup; } - gHvContext.synICEventPage[0] = osd_PageAlloc(1); - if (gHvContext.synICEventPage[0] == NULL) { + gHvContext.synICEventPage[cpu] = (void *)get_zeroed_page(GFP_ATOMIC); + if (gHvContext.synICEventPage[cpu] == NULL) { DPRINT_ERR(VMBUS, "unable to allocate SYNIC event page!!"); goto Cleanup; @@ -454,7 +455,7 @@ /* Setup the Synic's message page */ rdmsrl(HV_X64_MSR_SIMP, simp.AsUINT64); simp.SimpEnabled = 1; - simp.BaseSimpGpa = virt_to_phys(gHvContext.synICMessagePage[0]) + simp.BaseSimpGpa = virt_to_phys(gHvContext.synICMessagePage[cpu]) >> PAGE_SHIFT; DPRINT_DBG(VMBUS, "HV_X64_MSR_SIMP msr set to: %llx", @@ -465,7 +466,7 @@ /* Setup the Synic's event page */ rdmsrl(HV_X64_MSR_SIEFP, siefp.AsUINT64); siefp.SiefpEnabled = 1; - siefp.BaseSiefpGpa = virt_to_phys(gHvContext.synICEventPage[0]) + siefp.BaseSiefpGpa = virt_to_phys(gHvContext.synICEventPage[cpu]) >> PAGE_SHIFT; DPRINT_DBG(VMBUS, "HV_X64_MSR_SIEFP msr set to: %llx", @@ -501,32 +502,30 @@ DPRINT_EXIT(VMBUS); - return ret; + return; Cleanup: - ret = -1; - if (gHvContext.GuestId == HV_LINUX_GUEST_ID) { - if (gHvContext.synICEventPage[0]) - osd_PageFree(gHvContext.synICEventPage[0], 1); + if (gHvContext.synICEventPage[cpu]) + osd_PageFree(gHvContext.synICEventPage[cpu], 1); - if (gHvContext.synICMessagePage[0]) - osd_PageFree(gHvContext.synICMessagePage[0], 1); + if (gHvContext.synICMessagePage[cpu]) + osd_PageFree(gHvContext.synICMessagePage[cpu], 1); } DPRINT_EXIT(VMBUS); - - return ret; + return; } /** * HvSynicCleanup - Cleanup routine for HvSynicInit(). */ -void HvSynicCleanup(void) +void HvSynicCleanup(void *arg) { union hv_synic_sint sharedSint; union hv_synic_simp simp; union hv_synic_siefp siefp; + int cpu = smp_processor_id(); DPRINT_ENTER(VMBUS); @@ -539,6 +538,7 @@ sharedSint.Masked = 1; + /* Need to correctly cleanup in the case of SMP!!! */ /* Disable the interrupt */ wrmsrl(HV_X64_MSR_SINT0 + VMBUS_MESSAGE_SINT, sharedSint.AsUINT64); @@ -560,8 +560,8 @@ wrmsrl(HV_X64_MSR_SIEFP, siefp.AsUINT64); - osd_PageFree(gHvContext.synICMessagePage[0], 1); - osd_PageFree(gHvContext.synICEventPage[0], 1); + osd_PageFree(gHvContext.synICMessagePage[cpu], 1); + osd_PageFree(gHvContext.synICEventPage[cpu], 1); } DPRINT_EXIT(VMBUS); --- linux-2.6.32.orig/drivers/staging/hv/Hv.h +++ linux-2.6.32/drivers/staging/hv/Hv.h @@ -93,7 +93,7 @@ }, }; -#define MAX_NUM_CPUS 1 +#define MAX_NUM_CPUS 32 struct hv_input_signal_event_buffer { @@ -137,8 +137,8 @@ extern u16 HvSignalEvent(void); -extern int HvSynicInit(u32 irqVector); +extern void HvSynicInit(void *irqarg); -extern void HvSynicCleanup(void); +extern void HvSynicCleanup(void *arg); #endif /* __HV_H__ */ --- linux-2.6.32.orig/drivers/staging/hv/netvsc_drv.c +++ linux-2.6.32/drivers/staging/hv/netvsc_drv.c @@ -44,6 +44,7 @@ /* point back to our device context */ struct device_context *device_ctx; struct net_device_stats stats; + struct work_struct work; }; struct netvsc_driver_context { @@ -284,6 +285,7 @@ { struct device_context *device_ctx = to_device_context(device_obj); struct net_device *net = dev_get_drvdata(&device_ctx->device); + struct net_device_context *ndev_ctx; DPRINT_ENTER(NETVSC_DRV); @@ -296,6 +298,9 @@ if (status == 1) { netif_carrier_on(net); netif_wake_queue(net); + netif_notify_peers(net); + ndev_ctx = netdev_priv(net); + schedule_work(&ndev_ctx->work); } else { netif_carrier_off(net); netif_stop_queue(net); @@ -392,8 +397,30 @@ .ndo_start_xmit = netvsc_start_xmit, .ndo_get_stats = netvsc_get_stats, .ndo_set_multicast_list = netvsc_set_multicast_list, + .ndo_change_mtu = eth_change_mtu, + .ndo_validate_addr = eth_validate_addr, + .ndo_set_mac_address = eth_mac_addr, }; +/* + * Send GARP packet to network peers after migrations. + * After Quick Migration, the network is not immediately operational in the + * current context when receiving RNDIS_STATUS_MEDIA_CONNECT event. So, add + * another netif_notify_peers() into a scheduled work, otherwise GARP packet + * will not be sent after quick migration, and cause network disconnection. + */ +static void netvsc_send_garp(struct work_struct *w) +{ + struct net_device_context *ndev_ctx; + struct net_device *net; + + msleep(20); + ndev_ctx = container_of(w, struct net_device_context, work); + net = dev_get_drvdata(&ndev_ctx->device_ctx->device); + netif_notify_peers(net); +} + + static int netvsc_probe(struct device *device) { struct driver_context *driver_ctx = @@ -413,8 +440,7 @@ if (!net_drv_obj->Base.OnDeviceAdd) return -1; - net = alloc_netdev(sizeof(struct net_device_context), "seth%d", - ether_setup); + net = alloc_etherdev(sizeof(struct net_device_context)); if (!net) return -1; @@ -425,6 +451,7 @@ net_device_ctx = netdev_priv(net); net_device_ctx->device_ctx = device_ctx; dev_set_drvdata(device, net); + INIT_WORK(&net_device_ctx->work, netvsc_send_garp); /* Notify the netvsc driver of the new device */ ret = net_drv_obj->Base.OnDeviceAdd(device_obj, &device_info); --- linux-2.6.32.orig/drivers/staging/hv/RingBuffer.c +++ linux-2.6.32/drivers/staging/hv/RingBuffer.c @@ -192,7 +192,7 @@ static inline u64 GetRingBufferIndices(RING_BUFFER_INFO* RingInfo) { - return ((u64)RingInfo->RingBuffer->WriteIndex << 32) || RingInfo->RingBuffer->ReadIndex; + return (u64)RingInfo->RingBuffer->WriteIndex << 32; } --- linux-2.6.32.orig/drivers/staging/hv/RndisFilter.c +++ linux-2.6.32/drivers/staging/hv/RndisFilter.c @@ -756,6 +756,7 @@ ret = RndisFilterSetPacketFilter(Device, NDIS_PACKET_TYPE_BROADCAST | + NDIS_PACKET_TYPE_ALL_MULTICAST | NDIS_PACKET_TYPE_DIRECTED); if (ret == 0) Device->State = RNDIS_DEV_DATAINITIALIZED; --- linux-2.6.32.orig/drivers/staging/hv/storvsc_drv.c +++ linux-2.6.32/drivers/staging/hv/storvsc_drv.c @@ -532,7 +532,7 @@ ASSERT(orig_sgl[i].offset + orig_sgl[i].length <= PAGE_SIZE); - if (j == 0) + if (bounce_addr == 0) bounce_addr = (unsigned long)kmap_atomic(sg_page((&bounce_sgl[j])), KM_IRQ0); while (srclen) { @@ -593,7 +593,7 @@ destlen = orig_sgl[i].length; ASSERT(orig_sgl[i].offset + orig_sgl[i].length <= PAGE_SIZE); - if (j == 0) + if (bounce_addr == 0) bounce_addr = (unsigned long)kmap_atomic(sg_page((&bounce_sgl[j])), KM_IRQ0); while (destlen) { @@ -652,6 +652,7 @@ unsigned int request_size = 0; int i; struct scatterlist *sgl; + unsigned int sg_count = 0; DPRINT_ENTER(STORVSC_DRV); @@ -736,6 +737,7 @@ request->DataBuffer.Length = scsi_bufflen(scmnd); if (scsi_sg_count(scmnd)) { sgl = (struct scatterlist *)scsi_sglist(scmnd); + sg_count = scsi_sg_count(scmnd); /* check if we need to bounce the sgl */ if (do_bounce_buffer(sgl, scsi_sg_count(scmnd)) != -1) { @@ -770,11 +772,12 @@ scsi_sg_count(scmnd)); sgl = cmd_request->bounce_sgl; + sg_count = cmd_request->bounce_sgl_count; } request->DataBuffer.Offset = sgl[0].offset; - for (i = 0; i < scsi_sg_count(scmnd); i++) { + for (i = 0; i < sg_count; i++) { DPRINT_DBG(STORVSC_DRV, "sgl[%d] len %d offset %d \n", i, sgl[i].length, sgl[i].offset); request->DataBuffer.PfnArray[i] = --- linux-2.6.32.orig/drivers/staging/hv/Vmbus.c +++ linux-2.6.32/drivers/staging/hv/Vmbus.c @@ -129,7 +129,7 @@ /* strcpy(dev->name, "vmbus"); */ /* SynIC setup... */ - ret = HvSynicInit(*irqvector); + on_each_cpu(HvSynicInit, (void *)irqvector, 1); /* Connect to VMBus in the root partition */ ret = VmbusConnect(); @@ -150,7 +150,7 @@ DPRINT_ENTER(VMBUS); VmbusChannelReleaseUnattachedChannels(); VmbusDisconnect(); - HvSynicCleanup(); + on_each_cpu(HvSynicCleanup, NULL, 1); DPRINT_EXIT(VMBUS); return ret; @@ -173,7 +173,8 @@ */ static void VmbusOnMsgDPC(struct hv_driver *drv) { - void *page_addr = gHvContext.synICMessagePage[0]; + int cpu = smp_processor_id(); + void *page_addr = gHvContext.synICMessagePage[cpu]; struct hv_message *msg = (struct hv_message *)page_addr + VMBUS_MESSAGE_SINT; struct hv_message *copied; @@ -230,11 +231,12 @@ static int VmbusOnISR(struct hv_driver *drv) { int ret = 0; + int cpu = smp_processor_id(); void *page_addr; struct hv_message *msg; union hv_synic_event_flags *event; - page_addr = gHvContext.synICMessagePage[0]; + page_addr = gHvContext.synICMessagePage[cpu]; msg = (struct hv_message *)page_addr + VMBUS_MESSAGE_SINT; DPRINT_ENTER(VMBUS); @@ -248,11 +250,11 @@ } /* TODO: Check if there are events to be process */ - page_addr = gHvContext.synICEventPage[0]; + page_addr = gHvContext.synICEventPage[cpu]; event = (union hv_synic_event_flags *)page_addr + VMBUS_MESSAGE_SINT; /* Since we are a child, we only need to check bit 0 */ - if (test_and_clear_bit(0, (unsigned long *) &event->Flags32[0])) { + if (sync_test_and_clear_bit(0, (unsigned long *) &event->Flags32[0])) { DPRINT_DBG(VMBUS, "received event %d", event->Flags32[0]); ret |= 0x2; } --- linux-2.6.32.orig/drivers/staging/hv/vmbus_drv.c +++ linux-2.6.32/drivers/staging/hv/vmbus_drv.c @@ -24,6 +24,8 @@ #include #include #include +#include +#include #include "osd.h" #include "logging.h" #include "vmbus.h" @@ -946,6 +948,19 @@ } } +static struct dmi_system_id __initdata microsoft_hv_dmi_table[] = { + { + .ident = "Hyper-V", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Microsoft Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "Virtual Machine"), + DMI_MATCH(DMI_BOARD_NAME, "Virtual Machine"), + }, + }, + { }, +}; +MODULE_DEVICE_TABLE(dmi, microsoft_hv_dmi_table); + static int __init vmbus_init(void) { int ret = 0; @@ -957,6 +972,9 @@ vmbus_loglevel, HIWORD(vmbus_loglevel), LOWORD(vmbus_loglevel)); /* Todo: it is used for loglevel, to be ported to new kernel. */ + if (!dmi_check_system(microsoft_hv_dmi_table)) + return -ENODEV; + ret = vmbus_bus_init(VmbusInitialize); DPRINT_EXIT(VMBUS_DRV); @@ -973,6 +991,18 @@ return; } +/* + * We use a PCI table to determine if we should autoload this driver This is + * needed by distro tools to determine if the hyperv drivers should be + * installed and/or configured. We don't do anything else with the table, but + * it needs to be present. + */ +const static struct pci_device_id microsoft_hv_pci_table[] = { + { PCI_DEVICE(0x1414, 0x5353) }, /* VGA compatible controller */ + { 0 } +}; +MODULE_DEVICE_TABLE(pci, microsoft_hv_pci_table); + MODULE_LICENSE("GPL"); module_param(vmbus_irq, int, S_IRUGO); module_param(vmbus_loglevel, int, S_IRUGO); --- linux-2.6.32.orig/drivers/staging/hv/StorVscApi.h +++ linux-2.6.32/drivers/staging/hv/StorVscApi.h @@ -28,10 +28,10 @@ #include "VmbusApi.h" /* Defines */ -#define STORVSC_RING_BUFFER_SIZE (10*PAGE_SIZE) +#define STORVSC_RING_BUFFER_SIZE (20*PAGE_SIZE) #define BLKVSC_RING_BUFFER_SIZE (20*PAGE_SIZE) -#define STORVSC_MAX_IO_REQUESTS 64 +#define STORVSC_MAX_IO_REQUESTS 128 /* * In Hyper-V, each port/path/target maps to 1 scsi host adapter. In --- linux-2.6.32.orig/drivers/staging/hv/VmbusPrivate.h +++ linux-2.6.32/drivers/staging/hv/VmbusPrivate.h @@ -32,6 +32,7 @@ #include "ChannelInterface.h" #include "RingBuffer.h" #include +#include /* --- linux-2.6.32.orig/drivers/staging/line6/Kconfig +++ linux-2.6.32/drivers/staging/line6/Kconfig @@ -2,6 +2,7 @@ tristate "Line6 USB support" depends on USB && SND select SND_RAWMIDI + select SND_PCM help This is a driver for the guitar amp, cab, and effects modeller PODxt Pro by Line6 (and similar devices), supporting the --- linux-2.6.32.orig/drivers/staging/line6/control.c +++ linux-2.6.32/drivers/staging/line6/control.c @@ -259,108 +259,108 @@ VARIAX_PARAM_R(float, mix1); VARIAX_PARAM_R(int, pickup_wiring); -static DEVICE_ATTR(tweak, S_IWUGO | S_IRUGO, pod_get_tweak, pod_set_tweak); -static DEVICE_ATTR(wah_position, S_IWUGO | S_IRUGO, pod_get_wah_position, pod_set_wah_position); -static DEVICE_ATTR(compression_gain, S_IWUGO | S_IRUGO, pod_get_compression_gain, pod_set_compression_gain); -static DEVICE_ATTR(vol_pedal_position, S_IWUGO | S_IRUGO, pod_get_vol_pedal_position, pod_set_vol_pedal_position); -static DEVICE_ATTR(compression_threshold, S_IWUGO | S_IRUGO, pod_get_compression_threshold, pod_set_compression_threshold); -static DEVICE_ATTR(pan, S_IWUGO | S_IRUGO, pod_get_pan, pod_set_pan); -static DEVICE_ATTR(amp_model_setup, S_IWUGO | S_IRUGO, pod_get_amp_model_setup, pod_set_amp_model_setup); -static DEVICE_ATTR(amp_model, S_IWUGO | S_IRUGO, pod_get_amp_model, pod_set_amp_model); -static DEVICE_ATTR(drive, S_IWUGO | S_IRUGO, pod_get_drive, pod_set_drive); -static DEVICE_ATTR(bass, S_IWUGO | S_IRUGO, pod_get_bass, pod_set_bass); -static DEVICE_ATTR(mid, S_IWUGO | S_IRUGO, pod_get_mid, pod_set_mid); -static DEVICE_ATTR(lowmid, S_IWUGO | S_IRUGO, pod_get_lowmid, pod_set_lowmid); -static DEVICE_ATTR(treble, S_IWUGO | S_IRUGO, pod_get_treble, pod_set_treble); -static DEVICE_ATTR(highmid, S_IWUGO | S_IRUGO, pod_get_highmid, pod_set_highmid); -static DEVICE_ATTR(chan_vol, S_IWUGO | S_IRUGO, pod_get_chan_vol, pod_set_chan_vol); -static DEVICE_ATTR(reverb_mix, S_IWUGO | S_IRUGO, pod_get_reverb_mix, pod_set_reverb_mix); -static DEVICE_ATTR(effect_setup, S_IWUGO | S_IRUGO, pod_get_effect_setup, pod_set_effect_setup); -static DEVICE_ATTR(band_1_frequency, S_IWUGO | S_IRUGO, pod_get_band_1_frequency, pod_set_band_1_frequency); -static DEVICE_ATTR(presence, S_IWUGO | S_IRUGO, pod_get_presence, pod_set_presence); -static DEVICE_ATTR2(treble__bass, treble, S_IWUGO | S_IRUGO, pod_get_treble__bass, pod_set_treble__bass); -static DEVICE_ATTR(noise_gate_enable, S_IWUGO | S_IRUGO, pod_get_noise_gate_enable, pod_set_noise_gate_enable); -static DEVICE_ATTR(gate_threshold, S_IWUGO | S_IRUGO, pod_get_gate_threshold, pod_set_gate_threshold); -static DEVICE_ATTR(gate_decay_time, S_IWUGO | S_IRUGO, pod_get_gate_decay_time, pod_set_gate_decay_time); -static DEVICE_ATTR(stomp_enable, S_IWUGO | S_IRUGO, pod_get_stomp_enable, pod_set_stomp_enable); -static DEVICE_ATTR(comp_enable, S_IWUGO | S_IRUGO, pod_get_comp_enable, pod_set_comp_enable); -static DEVICE_ATTR(stomp_time, S_IWUGO | S_IRUGO, pod_get_stomp_time, pod_set_stomp_time); -static DEVICE_ATTR(delay_enable, S_IWUGO | S_IRUGO, pod_get_delay_enable, pod_set_delay_enable); -static DEVICE_ATTR(mod_param_1, S_IWUGO | S_IRUGO, pod_get_mod_param_1, pod_set_mod_param_1); -static DEVICE_ATTR(delay_param_1, S_IWUGO | S_IRUGO, pod_get_delay_param_1, pod_set_delay_param_1); -static DEVICE_ATTR(delay_param_1_note_value, S_IWUGO | S_IRUGO, pod_get_delay_param_1_note_value, pod_set_delay_param_1_note_value); -static DEVICE_ATTR2(band_2_frequency__bass, band_2_frequency, S_IWUGO | S_IRUGO, pod_get_band_2_frequency__bass, pod_set_band_2_frequency__bass); -static DEVICE_ATTR(delay_param_2, S_IWUGO | S_IRUGO, pod_get_delay_param_2, pod_set_delay_param_2); -static DEVICE_ATTR(delay_volume_mix, S_IWUGO | S_IRUGO, pod_get_delay_volume_mix, pod_set_delay_volume_mix); -static DEVICE_ATTR(delay_param_3, S_IWUGO | S_IRUGO, pod_get_delay_param_3, pod_set_delay_param_3); -static DEVICE_ATTR(reverb_enable, S_IWUGO | S_IRUGO, pod_get_reverb_enable, pod_set_reverb_enable); -static DEVICE_ATTR(reverb_type, S_IWUGO | S_IRUGO, pod_get_reverb_type, pod_set_reverb_type); -static DEVICE_ATTR(reverb_decay, S_IWUGO | S_IRUGO, pod_get_reverb_decay, pod_set_reverb_decay); -static DEVICE_ATTR(reverb_tone, S_IWUGO | S_IRUGO, pod_get_reverb_tone, pod_set_reverb_tone); -static DEVICE_ATTR(reverb_pre_delay, S_IWUGO | S_IRUGO, pod_get_reverb_pre_delay, pod_set_reverb_pre_delay); -static DEVICE_ATTR(reverb_pre_post, S_IWUGO | S_IRUGO, pod_get_reverb_pre_post, pod_set_reverb_pre_post); -static DEVICE_ATTR(band_2_frequency, S_IWUGO | S_IRUGO, pod_get_band_2_frequency, pod_set_band_2_frequency); -static DEVICE_ATTR2(band_3_frequency__bass, band_3_frequency, S_IWUGO | S_IRUGO, pod_get_band_3_frequency__bass, pod_set_band_3_frequency__bass); -static DEVICE_ATTR(wah_enable, S_IWUGO | S_IRUGO, pod_get_wah_enable, pod_set_wah_enable); -static DEVICE_ATTR(modulation_lo_cut, S_IWUGO | S_IRUGO, pod_get_modulation_lo_cut, pod_set_modulation_lo_cut); -static DEVICE_ATTR(delay_reverb_lo_cut, S_IWUGO | S_IRUGO, pod_get_delay_reverb_lo_cut, pod_set_delay_reverb_lo_cut); -static DEVICE_ATTR(volume_pedal_minimum, S_IWUGO | S_IRUGO, pod_get_volume_pedal_minimum, pod_set_volume_pedal_minimum); -static DEVICE_ATTR(eq_pre_post, S_IWUGO | S_IRUGO, pod_get_eq_pre_post, pod_set_eq_pre_post); -static DEVICE_ATTR(volume_pre_post, S_IWUGO | S_IRUGO, pod_get_volume_pre_post, pod_set_volume_pre_post); -static DEVICE_ATTR(di_model, S_IWUGO | S_IRUGO, pod_get_di_model, pod_set_di_model); -static DEVICE_ATTR(di_delay, S_IWUGO | S_IRUGO, pod_get_di_delay, pod_set_di_delay); -static DEVICE_ATTR(mod_enable, S_IWUGO | S_IRUGO, pod_get_mod_enable, pod_set_mod_enable); -static DEVICE_ATTR(mod_param_1_note_value, S_IWUGO | S_IRUGO, pod_get_mod_param_1_note_value, pod_set_mod_param_1_note_value); -static DEVICE_ATTR(mod_param_2, S_IWUGO | S_IRUGO, pod_get_mod_param_2, pod_set_mod_param_2); -static DEVICE_ATTR(mod_param_3, S_IWUGO | S_IRUGO, pod_get_mod_param_3, pod_set_mod_param_3); -static DEVICE_ATTR(mod_param_4, S_IWUGO | S_IRUGO, pod_get_mod_param_4, pod_set_mod_param_4); -static DEVICE_ATTR(mod_param_5, S_IWUGO | S_IRUGO, pod_get_mod_param_5, pod_set_mod_param_5); -static DEVICE_ATTR(mod_volume_mix, S_IWUGO | S_IRUGO, pod_get_mod_volume_mix, pod_set_mod_volume_mix); -static DEVICE_ATTR(mod_pre_post, S_IWUGO | S_IRUGO, pod_get_mod_pre_post, pod_set_mod_pre_post); -static DEVICE_ATTR(modulation_model, S_IWUGO | S_IRUGO, pod_get_modulation_model, pod_set_modulation_model); -static DEVICE_ATTR(band_3_frequency, S_IWUGO | S_IRUGO, pod_get_band_3_frequency, pod_set_band_3_frequency); -static DEVICE_ATTR2(band_4_frequency__bass, band_4_frequency, S_IWUGO | S_IRUGO, pod_get_band_4_frequency__bass, pod_set_band_4_frequency__bass); -static DEVICE_ATTR(mod_param_1_double_precision, S_IWUGO | S_IRUGO, pod_get_mod_param_1_double_precision, pod_set_mod_param_1_double_precision); -static DEVICE_ATTR(delay_param_1_double_precision, S_IWUGO | S_IRUGO, pod_get_delay_param_1_double_precision, pod_set_delay_param_1_double_precision); -static DEVICE_ATTR(eq_enable, S_IWUGO | S_IRUGO, pod_get_eq_enable, pod_set_eq_enable); -static DEVICE_ATTR(tap, S_IWUGO | S_IRUGO, pod_get_tap, pod_set_tap); -static DEVICE_ATTR(volume_tweak_pedal_assign, S_IWUGO | S_IRUGO, pod_get_volume_tweak_pedal_assign, pod_set_volume_tweak_pedal_assign); -static DEVICE_ATTR(band_5_frequency, S_IWUGO | S_IRUGO, pod_get_band_5_frequency, pod_set_band_5_frequency); -static DEVICE_ATTR(tuner, S_IWUGO | S_IRUGO, pod_get_tuner, pod_set_tuner); -static DEVICE_ATTR(mic_selection, S_IWUGO | S_IRUGO, pod_get_mic_selection, pod_set_mic_selection); -static DEVICE_ATTR(cabinet_model, S_IWUGO | S_IRUGO, pod_get_cabinet_model, pod_set_cabinet_model); -static DEVICE_ATTR(stomp_model, S_IWUGO | S_IRUGO, pod_get_stomp_model, pod_set_stomp_model); -static DEVICE_ATTR(roomlevel, S_IWUGO | S_IRUGO, pod_get_roomlevel, pod_set_roomlevel); -static DEVICE_ATTR(band_4_frequency, S_IWUGO | S_IRUGO, pod_get_band_4_frequency, pod_set_band_4_frequency); -static DEVICE_ATTR(band_6_frequency, S_IWUGO | S_IRUGO, pod_get_band_6_frequency, pod_set_band_6_frequency); -static DEVICE_ATTR(stomp_param_1_note_value, S_IWUGO | S_IRUGO, pod_get_stomp_param_1_note_value, pod_set_stomp_param_1_note_value); -static DEVICE_ATTR(stomp_param_2, S_IWUGO | S_IRUGO, pod_get_stomp_param_2, pod_set_stomp_param_2); -static DEVICE_ATTR(stomp_param_3, S_IWUGO | S_IRUGO, pod_get_stomp_param_3, pod_set_stomp_param_3); -static DEVICE_ATTR(stomp_param_4, S_IWUGO | S_IRUGO, pod_get_stomp_param_4, pod_set_stomp_param_4); -static DEVICE_ATTR(stomp_param_5, S_IWUGO | S_IRUGO, pod_get_stomp_param_5, pod_set_stomp_param_5); -static DEVICE_ATTR(stomp_param_6, S_IWUGO | S_IRUGO, pod_get_stomp_param_6, pod_set_stomp_param_6); -static DEVICE_ATTR(amp_switch_select, S_IWUGO | S_IRUGO, pod_get_amp_switch_select, pod_set_amp_switch_select); -static DEVICE_ATTR(delay_param_4, S_IWUGO | S_IRUGO, pod_get_delay_param_4, pod_set_delay_param_4); -static DEVICE_ATTR(delay_param_5, S_IWUGO | S_IRUGO, pod_get_delay_param_5, pod_set_delay_param_5); -static DEVICE_ATTR(delay_pre_post, S_IWUGO | S_IRUGO, pod_get_delay_pre_post, pod_set_delay_pre_post); -static DEVICE_ATTR(delay_model, S_IWUGO | S_IRUGO, pod_get_delay_model, pod_set_delay_model); -static DEVICE_ATTR(delay_verb_model, S_IWUGO | S_IRUGO, pod_get_delay_verb_model, pod_set_delay_verb_model); -static DEVICE_ATTR(tempo_msb, S_IWUGO | S_IRUGO, pod_get_tempo_msb, pod_set_tempo_msb); -static DEVICE_ATTR(tempo_lsb, S_IWUGO | S_IRUGO, pod_get_tempo_lsb, pod_set_tempo_lsb); -static DEVICE_ATTR(wah_model, S_IWUGO | S_IRUGO, pod_get_wah_model, pod_set_wah_model); -static DEVICE_ATTR(bypass_volume, S_IWUGO | S_IRUGO, pod_get_bypass_volume, pod_set_bypass_volume); -static DEVICE_ATTR(fx_loop_on_off, S_IWUGO | S_IRUGO, pod_get_fx_loop_on_off, pod_set_fx_loop_on_off); -static DEVICE_ATTR(tweak_param_select, S_IWUGO | S_IRUGO, pod_get_tweak_param_select, pod_set_tweak_param_select); -static DEVICE_ATTR(amp1_engage, S_IWUGO | S_IRUGO, pod_get_amp1_engage, pod_set_amp1_engage); -static DEVICE_ATTR(band_1_gain, S_IWUGO | S_IRUGO, pod_get_band_1_gain, pod_set_band_1_gain); -static DEVICE_ATTR2(band_2_gain__bass, band_2_gain, S_IWUGO | S_IRUGO, pod_get_band_2_gain__bass, pod_set_band_2_gain__bass); -static DEVICE_ATTR(band_2_gain, S_IWUGO | S_IRUGO, pod_get_band_2_gain, pod_set_band_2_gain); -static DEVICE_ATTR2(band_3_gain__bass, band_3_gain, S_IWUGO | S_IRUGO, pod_get_band_3_gain__bass, pod_set_band_3_gain__bass); -static DEVICE_ATTR(band_3_gain, S_IWUGO | S_IRUGO, pod_get_band_3_gain, pod_set_band_3_gain); -static DEVICE_ATTR2(band_4_gain__bass, band_4_gain, S_IWUGO | S_IRUGO, pod_get_band_4_gain__bass, pod_set_band_4_gain__bass); -static DEVICE_ATTR2(band_5_gain__bass, band_5_gain, S_IWUGO | S_IRUGO, pod_get_band_5_gain__bass, pod_set_band_5_gain__bass); -static DEVICE_ATTR(band_4_gain, S_IWUGO | S_IRUGO, pod_get_band_4_gain, pod_set_band_4_gain); -static DEVICE_ATTR2(band_6_gain__bass, band_6_gain, S_IWUGO | S_IRUGO, pod_get_band_6_gain__bass, pod_set_band_6_gain__bass); +static DEVICE_ATTR(tweak, S_IWUSR | S_IRUGO, pod_get_tweak, pod_set_tweak); +static DEVICE_ATTR(wah_position, S_IWUSR | S_IRUGO, pod_get_wah_position, pod_set_wah_position); +static DEVICE_ATTR(compression_gain, S_IWUSR | S_IRUGO, pod_get_compression_gain, pod_set_compression_gain); +static DEVICE_ATTR(vol_pedal_position, S_IWUSR | S_IRUGO, pod_get_vol_pedal_position, pod_set_vol_pedal_position); +static DEVICE_ATTR(compression_threshold, S_IWUSR | S_IRUGO, pod_get_compression_threshold, pod_set_compression_threshold); +static DEVICE_ATTR(pan, S_IWUSR | S_IRUGO, pod_get_pan, pod_set_pan); +static DEVICE_ATTR(amp_model_setup, S_IWUSR | S_IRUGO, pod_get_amp_model_setup, pod_set_amp_model_setup); +static DEVICE_ATTR(amp_model, S_IWUSR | S_IRUGO, pod_get_amp_model, pod_set_amp_model); +static DEVICE_ATTR(drive, S_IWUSR | S_IRUGO, pod_get_drive, pod_set_drive); +static DEVICE_ATTR(bass, S_IWUSR | S_IRUGO, pod_get_bass, pod_set_bass); +static DEVICE_ATTR(mid, S_IWUSR | S_IRUGO, pod_get_mid, pod_set_mid); +static DEVICE_ATTR(lowmid, S_IWUSR | S_IRUGO, pod_get_lowmid, pod_set_lowmid); +static DEVICE_ATTR(treble, S_IWUSR | S_IRUGO, pod_get_treble, pod_set_treble); +static DEVICE_ATTR(highmid, S_IWUSR | S_IRUGO, pod_get_highmid, pod_set_highmid); +static DEVICE_ATTR(chan_vol, S_IWUSR | S_IRUGO, pod_get_chan_vol, pod_set_chan_vol); +static DEVICE_ATTR(reverb_mix, S_IWUSR | S_IRUGO, pod_get_reverb_mix, pod_set_reverb_mix); +static DEVICE_ATTR(effect_setup, S_IWUSR | S_IRUGO, pod_get_effect_setup, pod_set_effect_setup); +static DEVICE_ATTR(band_1_frequency, S_IWUSR | S_IRUGO, pod_get_band_1_frequency, pod_set_band_1_frequency); +static DEVICE_ATTR(presence, S_IWUSR | S_IRUGO, pod_get_presence, pod_set_presence); +static DEVICE_ATTR2(treble__bass, treble, S_IWUSR | S_IRUGO, pod_get_treble__bass, pod_set_treble__bass); +static DEVICE_ATTR(noise_gate_enable, S_IWUSR | S_IRUGO, pod_get_noise_gate_enable, pod_set_noise_gate_enable); +static DEVICE_ATTR(gate_threshold, S_IWUSR | S_IRUGO, pod_get_gate_threshold, pod_set_gate_threshold); +static DEVICE_ATTR(gate_decay_time, S_IWUSR | S_IRUGO, pod_get_gate_decay_time, pod_set_gate_decay_time); +static DEVICE_ATTR(stomp_enable, S_IWUSR | S_IRUGO, pod_get_stomp_enable, pod_set_stomp_enable); +static DEVICE_ATTR(comp_enable, S_IWUSR | S_IRUGO, pod_get_comp_enable, pod_set_comp_enable); +static DEVICE_ATTR(stomp_time, S_IWUSR | S_IRUGO, pod_get_stomp_time, pod_set_stomp_time); +static DEVICE_ATTR(delay_enable, S_IWUSR | S_IRUGO, pod_get_delay_enable, pod_set_delay_enable); +static DEVICE_ATTR(mod_param_1, S_IWUSR | S_IRUGO, pod_get_mod_param_1, pod_set_mod_param_1); +static DEVICE_ATTR(delay_param_1, S_IWUSR | S_IRUGO, pod_get_delay_param_1, pod_set_delay_param_1); +static DEVICE_ATTR(delay_param_1_note_value, S_IWUSR | S_IRUGO, pod_get_delay_param_1_note_value, pod_set_delay_param_1_note_value); +static DEVICE_ATTR2(band_2_frequency__bass, band_2_frequency, S_IWUSR | S_IRUGO, pod_get_band_2_frequency__bass, pod_set_band_2_frequency__bass); +static DEVICE_ATTR(delay_param_2, S_IWUSR | S_IRUGO, pod_get_delay_param_2, pod_set_delay_param_2); +static DEVICE_ATTR(delay_volume_mix, S_IWUSR | S_IRUGO, pod_get_delay_volume_mix, pod_set_delay_volume_mix); +static DEVICE_ATTR(delay_param_3, S_IWUSR | S_IRUGO, pod_get_delay_param_3, pod_set_delay_param_3); +static DEVICE_ATTR(reverb_enable, S_IWUSR | S_IRUGO, pod_get_reverb_enable, pod_set_reverb_enable); +static DEVICE_ATTR(reverb_type, S_IWUSR | S_IRUGO, pod_get_reverb_type, pod_set_reverb_type); +static DEVICE_ATTR(reverb_decay, S_IWUSR | S_IRUGO, pod_get_reverb_decay, pod_set_reverb_decay); +static DEVICE_ATTR(reverb_tone, S_IWUSR | S_IRUGO, pod_get_reverb_tone, pod_set_reverb_tone); +static DEVICE_ATTR(reverb_pre_delay, S_IWUSR | S_IRUGO, pod_get_reverb_pre_delay, pod_set_reverb_pre_delay); +static DEVICE_ATTR(reverb_pre_post, S_IWUSR | S_IRUGO, pod_get_reverb_pre_post, pod_set_reverb_pre_post); +static DEVICE_ATTR(band_2_frequency, S_IWUSR | S_IRUGO, pod_get_band_2_frequency, pod_set_band_2_frequency); +static DEVICE_ATTR2(band_3_frequency__bass, band_3_frequency, S_IWUSR | S_IRUGO, pod_get_band_3_frequency__bass, pod_set_band_3_frequency__bass); +static DEVICE_ATTR(wah_enable, S_IWUSR | S_IRUGO, pod_get_wah_enable, pod_set_wah_enable); +static DEVICE_ATTR(modulation_lo_cut, S_IWUSR | S_IRUGO, pod_get_modulation_lo_cut, pod_set_modulation_lo_cut); +static DEVICE_ATTR(delay_reverb_lo_cut, S_IWUSR | S_IRUGO, pod_get_delay_reverb_lo_cut, pod_set_delay_reverb_lo_cut); +static DEVICE_ATTR(volume_pedal_minimum, S_IWUSR | S_IRUGO, pod_get_volume_pedal_minimum, pod_set_volume_pedal_minimum); +static DEVICE_ATTR(eq_pre_post, S_IWUSR | S_IRUGO, pod_get_eq_pre_post, pod_set_eq_pre_post); +static DEVICE_ATTR(volume_pre_post, S_IWUSR | S_IRUGO, pod_get_volume_pre_post, pod_set_volume_pre_post); +static DEVICE_ATTR(di_model, S_IWUSR | S_IRUGO, pod_get_di_model, pod_set_di_model); +static DEVICE_ATTR(di_delay, S_IWUSR | S_IRUGO, pod_get_di_delay, pod_set_di_delay); +static DEVICE_ATTR(mod_enable, S_IWUSR | S_IRUGO, pod_get_mod_enable, pod_set_mod_enable); +static DEVICE_ATTR(mod_param_1_note_value, S_IWUSR | S_IRUGO, pod_get_mod_param_1_note_value, pod_set_mod_param_1_note_value); +static DEVICE_ATTR(mod_param_2, S_IWUSR | S_IRUGO, pod_get_mod_param_2, pod_set_mod_param_2); +static DEVICE_ATTR(mod_param_3, S_IWUSR | S_IRUGO, pod_get_mod_param_3, pod_set_mod_param_3); +static DEVICE_ATTR(mod_param_4, S_IWUSR | S_IRUGO, pod_get_mod_param_4, pod_set_mod_param_4); +static DEVICE_ATTR(mod_param_5, S_IWUSR | S_IRUGO, pod_get_mod_param_5, pod_set_mod_param_5); +static DEVICE_ATTR(mod_volume_mix, S_IWUSR | S_IRUGO, pod_get_mod_volume_mix, pod_set_mod_volume_mix); +static DEVICE_ATTR(mod_pre_post, S_IWUSR | S_IRUGO, pod_get_mod_pre_post, pod_set_mod_pre_post); +static DEVICE_ATTR(modulation_model, S_IWUSR | S_IRUGO, pod_get_modulation_model, pod_set_modulation_model); +static DEVICE_ATTR(band_3_frequency, S_IWUSR | S_IRUGO, pod_get_band_3_frequency, pod_set_band_3_frequency); +static DEVICE_ATTR2(band_4_frequency__bass, band_4_frequency, S_IWUSR | S_IRUGO, pod_get_band_4_frequency__bass, pod_set_band_4_frequency__bass); +static DEVICE_ATTR(mod_param_1_double_precision, S_IWUSR | S_IRUGO, pod_get_mod_param_1_double_precision, pod_set_mod_param_1_double_precision); +static DEVICE_ATTR(delay_param_1_double_precision, S_IWUSR | S_IRUGO, pod_get_delay_param_1_double_precision, pod_set_delay_param_1_double_precision); +static DEVICE_ATTR(eq_enable, S_IWUSR | S_IRUGO, pod_get_eq_enable, pod_set_eq_enable); +static DEVICE_ATTR(tap, S_IWUSR | S_IRUGO, pod_get_tap, pod_set_tap); +static DEVICE_ATTR(volume_tweak_pedal_assign, S_IWUSR | S_IRUGO, pod_get_volume_tweak_pedal_assign, pod_set_volume_tweak_pedal_assign); +static DEVICE_ATTR(band_5_frequency, S_IWUSR | S_IRUGO, pod_get_band_5_frequency, pod_set_band_5_frequency); +static DEVICE_ATTR(tuner, S_IWUSR | S_IRUGO, pod_get_tuner, pod_set_tuner); +static DEVICE_ATTR(mic_selection, S_IWUSR | S_IRUGO, pod_get_mic_selection, pod_set_mic_selection); +static DEVICE_ATTR(cabinet_model, S_IWUSR | S_IRUGO, pod_get_cabinet_model, pod_set_cabinet_model); +static DEVICE_ATTR(stomp_model, S_IWUSR | S_IRUGO, pod_get_stomp_model, pod_set_stomp_model); +static DEVICE_ATTR(roomlevel, S_IWUSR | S_IRUGO, pod_get_roomlevel, pod_set_roomlevel); +static DEVICE_ATTR(band_4_frequency, S_IWUSR | S_IRUGO, pod_get_band_4_frequency, pod_set_band_4_frequency); +static DEVICE_ATTR(band_6_frequency, S_IWUSR | S_IRUGO, pod_get_band_6_frequency, pod_set_band_6_frequency); +static DEVICE_ATTR(stomp_param_1_note_value, S_IWUSR | S_IRUGO, pod_get_stomp_param_1_note_value, pod_set_stomp_param_1_note_value); +static DEVICE_ATTR(stomp_param_2, S_IWUSR | S_IRUGO, pod_get_stomp_param_2, pod_set_stomp_param_2); +static DEVICE_ATTR(stomp_param_3, S_IWUSR | S_IRUGO, pod_get_stomp_param_3, pod_set_stomp_param_3); +static DEVICE_ATTR(stomp_param_4, S_IWUSR | S_IRUGO, pod_get_stomp_param_4, pod_set_stomp_param_4); +static DEVICE_ATTR(stomp_param_5, S_IWUSR | S_IRUGO, pod_get_stomp_param_5, pod_set_stomp_param_5); +static DEVICE_ATTR(stomp_param_6, S_IWUSR | S_IRUGO, pod_get_stomp_param_6, pod_set_stomp_param_6); +static DEVICE_ATTR(amp_switch_select, S_IWUSR | S_IRUGO, pod_get_amp_switch_select, pod_set_amp_switch_select); +static DEVICE_ATTR(delay_param_4, S_IWUSR | S_IRUGO, pod_get_delay_param_4, pod_set_delay_param_4); +static DEVICE_ATTR(delay_param_5, S_IWUSR | S_IRUGO, pod_get_delay_param_5, pod_set_delay_param_5); +static DEVICE_ATTR(delay_pre_post, S_IWUSR | S_IRUGO, pod_get_delay_pre_post, pod_set_delay_pre_post); +static DEVICE_ATTR(delay_model, S_IWUSR | S_IRUGO, pod_get_delay_model, pod_set_delay_model); +static DEVICE_ATTR(delay_verb_model, S_IWUSR | S_IRUGO, pod_get_delay_verb_model, pod_set_delay_verb_model); +static DEVICE_ATTR(tempo_msb, S_IWUSR | S_IRUGO, pod_get_tempo_msb, pod_set_tempo_msb); +static DEVICE_ATTR(tempo_lsb, S_IWUSR | S_IRUGO, pod_get_tempo_lsb, pod_set_tempo_lsb); +static DEVICE_ATTR(wah_model, S_IWUSR | S_IRUGO, pod_get_wah_model, pod_set_wah_model); +static DEVICE_ATTR(bypass_volume, S_IWUSR | S_IRUGO, pod_get_bypass_volume, pod_set_bypass_volume); +static DEVICE_ATTR(fx_loop_on_off, S_IWUSR | S_IRUGO, pod_get_fx_loop_on_off, pod_set_fx_loop_on_off); +static DEVICE_ATTR(tweak_param_select, S_IWUSR | S_IRUGO, pod_get_tweak_param_select, pod_set_tweak_param_select); +static DEVICE_ATTR(amp1_engage, S_IWUSR | S_IRUGO, pod_get_amp1_engage, pod_set_amp1_engage); +static DEVICE_ATTR(band_1_gain, S_IWUSR | S_IRUGO, pod_get_band_1_gain, pod_set_band_1_gain); +static DEVICE_ATTR2(band_2_gain__bass, band_2_gain, S_IWUSR | S_IRUGO, pod_get_band_2_gain__bass, pod_set_band_2_gain__bass); +static DEVICE_ATTR(band_2_gain, S_IWUSR | S_IRUGO, pod_get_band_2_gain, pod_set_band_2_gain); +static DEVICE_ATTR2(band_3_gain__bass, band_3_gain, S_IWUSR | S_IRUGO, pod_get_band_3_gain__bass, pod_set_band_3_gain__bass); +static DEVICE_ATTR(band_3_gain, S_IWUSR | S_IRUGO, pod_get_band_3_gain, pod_set_band_3_gain); +static DEVICE_ATTR2(band_4_gain__bass, band_4_gain, S_IWUSR | S_IRUGO, pod_get_band_4_gain__bass, pod_set_band_4_gain__bass); +static DEVICE_ATTR2(band_5_gain__bass, band_5_gain, S_IWUSR | S_IRUGO, pod_get_band_5_gain__bass, pod_set_band_5_gain__bass); +static DEVICE_ATTR(band_4_gain, S_IWUSR | S_IRUGO, pod_get_band_4_gain, pod_set_band_4_gain); +static DEVICE_ATTR2(band_6_gain__bass, band_6_gain, S_IWUSR | S_IRUGO, pod_get_band_6_gain__bass, pod_set_band_6_gain__bass); static DEVICE_ATTR(body, S_IRUGO, variax_get_body, line6_nop_write); static DEVICE_ATTR(pickup1_enable, S_IRUGO, variax_get_pickup1_enable, line6_nop_write); static DEVICE_ATTR(pickup1_type, S_IRUGO, variax_get_pickup1_type, line6_nop_write); --- linux-2.6.32.orig/drivers/staging/line6/midi.c +++ linux-2.6.32/drivers/staging/line6/midi.c @@ -349,8 +349,8 @@ return count; } -static DEVICE_ATTR(midi_mask_transmit, S_IWUGO | S_IRUGO, midi_get_midi_mask_transmit, midi_set_midi_mask_transmit); -static DEVICE_ATTR(midi_mask_receive, S_IWUGO | S_IRUGO, midi_get_midi_mask_receive, midi_set_midi_mask_receive); +static DEVICE_ATTR(midi_mask_transmit, S_IWUSR | S_IRUGO, midi_get_midi_mask_transmit, midi_set_midi_mask_transmit); +static DEVICE_ATTR(midi_mask_receive, S_IWUSR | S_IRUGO, midi_get_midi_mask_receive, midi_set_midi_mask_receive); /* MIDI device destructor */ static int snd_line6_midi_free(struct snd_device *device) --- linux-2.6.32.orig/drivers/staging/line6/pod.c +++ linux-2.6.32/drivers/staging/line6/pod.c @@ -912,33 +912,33 @@ #undef GET_SYSTEM_PARAM /* POD special files: */ -static DEVICE_ATTR(channel, S_IWUGO | S_IRUGO, pod_get_channel, pod_set_channel); +static DEVICE_ATTR(channel, S_IWUSR | S_IRUGO, pod_get_channel, pod_set_channel); static DEVICE_ATTR(clip, S_IRUGO, pod_wait_for_clip, line6_nop_write); static DEVICE_ATTR(device_id, S_IRUGO, pod_get_device_id, line6_nop_write); static DEVICE_ATTR(dirty, S_IRUGO, pod_get_dirty, line6_nop_write); -static DEVICE_ATTR(dump, S_IWUGO | S_IRUGO, pod_get_dump, pod_set_dump); -static DEVICE_ATTR(dump_buf, S_IWUGO | S_IRUGO, pod_get_dump_buf, pod_set_dump_buf); -static DEVICE_ATTR(finish, S_IWUGO, line6_nop_read, pod_set_finish); +static DEVICE_ATTR(dump, S_IWUSR | S_IRUGO, pod_get_dump, pod_set_dump); +static DEVICE_ATTR(dump_buf, S_IWUSR | S_IRUGO, pod_get_dump_buf, pod_set_dump_buf); +static DEVICE_ATTR(finish, S_IWUSR, line6_nop_read, pod_set_finish); static DEVICE_ATTR(firmware_version, S_IRUGO, pod_get_firmware_version, line6_nop_write); -static DEVICE_ATTR(midi_postprocess, S_IWUGO | S_IRUGO, pod_get_midi_postprocess, pod_set_midi_postprocess); -static DEVICE_ATTR(monitor_level, S_IWUGO | S_IRUGO, pod_get_monitor_level, pod_set_monitor_level); +static DEVICE_ATTR(midi_postprocess, S_IWUSR | S_IRUGO, pod_get_midi_postprocess, pod_set_midi_postprocess); +static DEVICE_ATTR(monitor_level, S_IWUSR | S_IRUGO, pod_get_monitor_level, pod_set_monitor_level); static DEVICE_ATTR(name, S_IRUGO, pod_get_name, line6_nop_write); static DEVICE_ATTR(name_buf, S_IRUGO, pod_get_name_buf, line6_nop_write); -static DEVICE_ATTR(retrieve_amp_setup, S_IWUGO, line6_nop_read, pod_set_retrieve_amp_setup); -static DEVICE_ATTR(retrieve_channel, S_IWUGO, line6_nop_read, pod_set_retrieve_channel); -static DEVICE_ATTR(retrieve_effects_setup, S_IWUGO, line6_nop_read, pod_set_retrieve_effects_setup); -static DEVICE_ATTR(routing, S_IWUGO | S_IRUGO, pod_get_routing, pod_set_routing); +static DEVICE_ATTR(retrieve_amp_setup, S_IWUSR, line6_nop_read, pod_set_retrieve_amp_setup); +static DEVICE_ATTR(retrieve_channel, S_IWUSR, line6_nop_read, pod_set_retrieve_channel); +static DEVICE_ATTR(retrieve_effects_setup, S_IWUSR, line6_nop_read, pod_set_retrieve_effects_setup); +static DEVICE_ATTR(routing, S_IWUSR | S_IRUGO, pod_get_routing, pod_set_routing); static DEVICE_ATTR(serial_number, S_IRUGO, pod_get_serial_number, line6_nop_write); -static DEVICE_ATTR(store_amp_setup, S_IWUGO, line6_nop_read, pod_set_store_amp_setup); -static DEVICE_ATTR(store_channel, S_IWUGO, line6_nop_read, pod_set_store_channel); -static DEVICE_ATTR(store_effects_setup, S_IWUGO, line6_nop_read, pod_set_store_effects_setup); -static DEVICE_ATTR(tuner_freq, S_IWUGO | S_IRUGO, pod_get_tuner_freq, pod_set_tuner_freq); -static DEVICE_ATTR(tuner_mute, S_IWUGO | S_IRUGO, pod_get_tuner_mute, pod_set_tuner_mute); +static DEVICE_ATTR(store_amp_setup, S_IWUSR, line6_nop_read, pod_set_store_amp_setup); +static DEVICE_ATTR(store_channel, S_IWUSR, line6_nop_read, pod_set_store_channel); +static DEVICE_ATTR(store_effects_setup, S_IWUSR, line6_nop_read, pod_set_store_effects_setup); +static DEVICE_ATTR(tuner_freq, S_IWUSR | S_IRUGO, pod_get_tuner_freq, pod_set_tuner_freq); +static DEVICE_ATTR(tuner_mute, S_IWUSR | S_IRUGO, pod_get_tuner_mute, pod_set_tuner_mute); static DEVICE_ATTR(tuner_note, S_IRUGO, pod_get_tuner_note, line6_nop_write); static DEVICE_ATTR(tuner_pitch, S_IRUGO, pod_get_tuner_pitch, line6_nop_write); #if CREATE_RAW_FILE -static DEVICE_ATTR(raw, S_IWUGO, line6_nop_read, line6_set_raw); +static DEVICE_ATTR(raw, S_IWUSR, line6_nop_read, line6_set_raw); #endif /* --- linux-2.6.32.orig/drivers/staging/line6/toneport.c +++ linux-2.6.32/drivers/staging/line6/toneport.c @@ -117,8 +117,8 @@ return count; } -static DEVICE_ATTR(led_red, S_IWUGO | S_IRUGO, line6_nop_read, toneport_set_led_red); -static DEVICE_ATTR(led_green, S_IWUGO | S_IRUGO, line6_nop_read, toneport_set_led_green); +static DEVICE_ATTR(led_red, S_IWUSR | S_IRUGO, line6_nop_read, toneport_set_led_red); +static DEVICE_ATTR(led_green, S_IWUSR | S_IRUGO, line6_nop_read, toneport_set_led_green); static int toneport_send_cmd(struct usb_device *usbdev, int cmd1, int cmd2) --- linux-2.6.32.orig/drivers/staging/line6/variax.c +++ linux-2.6.32/drivers/staging/line6/variax.c @@ -366,17 +366,17 @@ #endif /* Variax workbench special files: */ -static DEVICE_ATTR(model, S_IWUGO | S_IRUGO, variax_get_model, variax_set_model); -static DEVICE_ATTR(volume, S_IWUGO | S_IRUGO, variax_get_volume, variax_set_volume); -static DEVICE_ATTR(tone, S_IWUGO | S_IRUGO, variax_get_tone, variax_set_tone); +static DEVICE_ATTR(model, S_IWUSR | S_IRUGO, variax_get_model, variax_set_model); +static DEVICE_ATTR(volume, S_IWUSR | S_IRUGO, variax_get_volume, variax_set_volume); +static DEVICE_ATTR(tone, S_IWUSR | S_IRUGO, variax_get_tone, variax_set_tone); static DEVICE_ATTR(name, S_IRUGO, variax_get_name, line6_nop_write); static DEVICE_ATTR(bank, S_IRUGO, variax_get_bank, line6_nop_write); static DEVICE_ATTR(dump, S_IRUGO, variax_get_dump, line6_nop_write); -static DEVICE_ATTR(active, S_IWUGO | S_IRUGO, variax_get_active, variax_set_active); +static DEVICE_ATTR(active, S_IWUSR | S_IRUGO, variax_get_active, variax_set_active); #if CREATE_RAW_FILE -static DEVICE_ATTR(raw, S_IWUGO, line6_nop_read, line6_set_raw); -static DEVICE_ATTR(raw2, S_IWUGO, line6_nop_read, variax_set_raw2); +static DEVICE_ATTR(raw, S_IWUSR, line6_nop_read, line6_set_raw); +static DEVICE_ATTR(raw2, S_IWUSR, line6_nop_read, variax_set_raw2); #endif --- linux-2.6.32.orig/drivers/staging/panel/panel.c +++ linux-2.6.32/drivers/staging/panel/panel.c @@ -2181,6 +2181,7 @@ if (pprt) { parport_release(pprt); parport_unregister_device(pprt); + pprt = NULL; } parport_unregister_driver(&panel_driver); printk(KERN_ERR "Panel driver version " PANEL_VERSION @@ -2230,6 +2231,7 @@ /* TODO: free all input signals */ parport_release(pprt); parport_unregister_device(pprt); + pprt = NULL; } parport_unregister_driver(&panel_driver); } --- linux-2.6.32.orig/drivers/staging/pohmelfs/inode.c +++ linux-2.6.32/drivers/staging/pohmelfs/inode.c @@ -143,7 +143,6 @@ struct inode *inode = mapping->host; struct pohmelfs_inode *pi = POHMELFS_I(inode); struct pohmelfs_sb *psb = POHMELFS_SB(inode->i_sb); - struct backing_dev_info *bdi = mapping->backing_dev_info; int err = 0; int done = 0; int nr_pages; @@ -152,11 +151,6 @@ int scanned = 0; int range_whole = 0; - if (wbc->nonblocking && bdi_write_congested(bdi)) { - wbc->encountered_congestion = 1; - return 0; - } - if (wbc->range_cyclic) { index = mapping->writeback_index; /* Start from prev offset */ end = -1; @@ -248,10 +242,6 @@ if (wbc->nr_to_write <= 0) done = 1; - if (wbc->nonblocking && bdi_write_congested(bdi)) { - wbc->encountered_congestion = 1; - done = 1; - } continue; out_continue: --- linux-2.6.32.orig/drivers/staging/quatech_usb2/quatech_usb2.c +++ linux-2.6.32/drivers/staging/quatech_usb2/quatech_usb2.c @@ -921,9 +921,10 @@ dbg("%s() port %d, cmd == TIOCMIWAIT enter", __func__, port->number); prev_msr_value = port_extra->shadowMSR & QT2_SERIAL_MSR_MASK; + barrier(); + __set_current_state(TASK_INTERRUPTIBLE); while (1) { add_wait_queue(&port_extra->wait, &wait); - set_current_state(TASK_INTERRUPTIBLE); schedule(); dbg("%s(): port %d, cmd == TIOCMIWAIT here\n", __func__, port->number); @@ -931,9 +932,12 @@ /* see if a signal woke us up */ if (signal_pending(current)) return -ERESTARTSYS; + set_current_state(TASK_INTERRUPTIBLE); msr_value = port_extra->shadowMSR & QT2_SERIAL_MSR_MASK; - if (msr_value == prev_msr_value) + if (msr_value == prev_msr_value) { + __set_current_state(TASK_RUNNING); return -EIO; /* no change - error */ + } if ((arg & TIOCM_RNG && ((prev_msr_value & QT2_SERIAL_MSR_RI) == (msr_value & QT2_SERIAL_MSR_RI))) || @@ -946,6 +950,7 @@ (arg & TIOCM_CTS && ((prev_msr_value & QT2_SERIAL_MSR_CTS) == (msr_value & QT2_SERIAL_MSR_CTS)))) { + __set_current_state(TASK_RUNNING); return 0; } } /* end inifinite while */ --- linux-2.6.32.orig/drivers/staging/rt2860/common/2860_rtmp_init.c +++ linux-2.6.32/drivers/staging/rt2860/common/2860_rtmp_init.c @@ -716,7 +716,7 @@ { if ((pAd->RxRing.Cell[index].DmaBuf.AllocVa) && (pAd->RxRing.Cell[index].pNdisPacket)) { - PCI_UNMAP_SINGLE(pObj->pci_dev, pAd->RxRing.Cell[index].DmaBuf.AllocPa, pAd->RxRing.Cell[index].DmaBuf.AllocSize, PCI_DMA_FROMDEVICE); + PCI_UNMAP_SINGLE(pAd, pAd->RxRing.Cell[index].DmaBuf.AllocPa, pAd->RxRing.Cell[index].DmaBuf.AllocSize, PCI_DMA_FROMDEVICE); RELEASE_NDIS_PACKET(pAd, pAd->RxRing.Cell[index].pNdisPacket, NDIS_STATUS_SUCCESS); } } --- linux-2.6.32.orig/drivers/staging/rt2870/2870_main_dev.c +++ linux-2.6.32/drivers/staging/rt2870/2870_main_dev.c @@ -142,6 +142,7 @@ { USB_DEVICE(0x7392, 0x7717) }, /* Edimax */ { USB_DEVICE(0x1EDA, 0x2310) }, /* AirTies 3070 */ { USB_DEVICE(0x1737, 0x0077) }, /* Linksys WUSB54GC-EU v3 */ + { USB_DEVICE(0x0411, 0x015D) }, /* Buffalo Airstation WLI-UC-GN */ { } /* Terminating entry */ }; --- linux-2.6.32.orig/drivers/staging/rtl8187se/r8180_core.c +++ linux-2.6.32/drivers/staging/rtl8187se/r8180_core.c @@ -1830,7 +1830,7 @@ if(priv->rx_skb->len > 4) skb_trim(priv->rx_skb,priv->rx_skb->len-4); #ifndef RX_DONT_PASS_UL - if(!ieee80211_rx(priv->ieee80211, + if(!ieee80211_rtl_rx(priv->ieee80211, priv->rx_skb, &stats)){ #endif // RX_DONT_PASS_UL @@ -1936,11 +1936,11 @@ if (!check_nic_enought_desc(dev, priority)){ DMESGW("Error: no descriptor left by previous TX (avail %d) ", get_curr_tx_free_desc(dev, priority)); - ieee80211_stop_queue(priv->ieee80211); + ieee80211_rtl_stop_queue(priv->ieee80211); } rtl8180_tx(dev, skb->data, skb->len, priority, morefrag,0,rate); if (!check_nic_enought_desc(dev, priority)) - ieee80211_stop_queue(priv->ieee80211); + ieee80211_rtl_stop_queue(priv->ieee80211); spin_unlock_irqrestore(&priv->tx_lock,flags); } @@ -3846,7 +3846,7 @@ .ndo_set_mac_address = r8180_set_mac_adr, .ndo_validate_addr = eth_validate_addr, .ndo_change_mtu = eth_change_mtu, - .ndo_start_xmit = ieee80211_xmit, + .ndo_start_xmit = ieee80211_rtl_xmit, }; static int __devinit rtl8180_pci_probe(struct pci_dev *pdev, @@ -4066,7 +4066,7 @@ spin_unlock_irqrestore(&priv->tx_lock,flags); if(enough_desc) - ieee80211_wake_queue(priv->ieee80211); + ieee80211_rtl_wake_queue(priv->ieee80211); } void rtl8180_tx_isr(struct net_device *dev, int pri,short error) @@ -4453,7 +4453,7 @@ argv[0] = RadioPowerPath; argv[2] = NULL; - call_usermodehelper(RadioPowerPath,argv,envp,1); + call_usermodehelper(RadioPowerPath,argv,envp,UMH_WAIT_PROC); } } } --- linux-2.6.32.orig/drivers/staging/rtl8187se/r8180_wx.c +++ linux-2.6.32/drivers/staging/rtl8187se/r8180_wx.c @@ -377,7 +377,7 @@ // queue_work(priv->ieee80211->wq, &priv->ieee80211->wx_sync_scan_wq); //printk("start scan============================>\n"); ieee80211_softmac_ips_scan_syncro(priv->ieee80211); -//ieee80211_start_scan(priv->ieee80211); +//ieee80211_rtl_start_scan(priv->ieee80211); /* intentionally forget to up sem */ // up(&priv->ieee80211->wx_sem); ret = 0; --- linux-2.6.32.orig/drivers/staging/rtl8187se/r8185b_init.c +++ linux-2.6.32/drivers/staging/rtl8187se/r8185b_init.c @@ -356,8 +356,12 @@ } udelay(10); } - if (TryCnt == TC_3W_POLL_MAX_TRY_CNT) - panic("HwThreeWire(): CmdReg: %#X RE|WE bits are not clear!!\n", u1bTmp); + if (TryCnt == TC_3W_POLL_MAX_TRY_CNT) { + printk(KERN_ERR "rtl8187se: HwThreeWire(): CmdReg:" + " %#X RE|WE bits are not clear!!\n", u1bTmp); + dump_stack(); + return 0; + } // RTL8187S HSSI Read/Write Function u1bTmp = read_nic_byte(dev, RF_SW_CONFIG); @@ -397,13 +401,23 @@ int idx; int ByteCnt = nDataBufBitCnt / 8; //printk("%d\n",nDataBufBitCnt); - if ((nDataBufBitCnt % 8) != 0) - panic("HwThreeWire(): nDataBufBitCnt(%d) should be multiple of 8!!!\n", - nDataBufBitCnt); + if ((nDataBufBitCnt % 8) != 0) { + printk(KERN_ERR "rtl8187se: " + "HwThreeWire(): nDataBufBitCnt(%d)" + " should be multiple of 8!!!\n", + nDataBufBitCnt); + dump_stack(); + nDataBufBitCnt += 8; + nDataBufBitCnt &= ~7; + } - if (nDataBufBitCnt > 64) - panic("HwThreeWire(): nDataBufBitCnt(%d) should <= 64!!!\n", - nDataBufBitCnt); + if (nDataBufBitCnt > 64) { + printk(KERN_ERR "rtl8187se: HwThreeWire():" + " nDataBufBitCnt(%d) should <= 64!!!\n", + nDataBufBitCnt); + dump_stack(); + nDataBufBitCnt = 64; + } for(idx = 0; idx < ByteCnt; idx++) { --- linux-2.6.32.orig/drivers/staging/rtl8187se/ieee80211/ieee80211.h +++ linux-2.6.32/drivers/staging/rtl8187se/ieee80211/ieee80211.h @@ -1318,13 +1318,13 @@ struct sk_buff *frag, int hdr_len); -extern int ieee80211_xmit(struct sk_buff *skb, +extern int ieee80211_rtl_xmit(struct sk_buff *skb, struct net_device *dev); extern void ieee80211_txb_free(struct ieee80211_txb *); /* ieee80211_rx.c */ -extern int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb, +extern int ieee80211_rtl_rx(struct ieee80211_device *ieee, struct sk_buff *skb, struct ieee80211_rx_stats *rx_stats); extern void ieee80211_rx_mgt(struct ieee80211_device *ieee, struct ieee80211_hdr_4addr *header, @@ -1376,8 +1376,8 @@ extern void ieee80211_softmac_start_protocol(struct ieee80211_device *ieee); extern void ieee80211_softmac_stop_protocol(struct ieee80211_device *ieee); extern void ieee80211_reset_queue(struct ieee80211_device *ieee); -extern void ieee80211_wake_queue(struct ieee80211_device *ieee); -extern void ieee80211_stop_queue(struct ieee80211_device *ieee); +extern void ieee80211_rtl_wake_queue(struct ieee80211_device *ieee); +extern void ieee80211_rtl_stop_queue(struct ieee80211_device *ieee); extern struct sk_buff *ieee80211_get_beacon(struct ieee80211_device *ieee); extern void ieee80211_start_send_beacons(struct ieee80211_device *ieee); extern void ieee80211_stop_send_beacons(struct ieee80211_device *ieee); @@ -1385,7 +1385,7 @@ extern void notify_wx_assoc_event(struct ieee80211_device *ieee); extern void ieee80211_ps_tx_ack(struct ieee80211_device *ieee, short success); extern void SendDisassociation(struct ieee80211_device *ieee,u8* asSta,u8 asRsn); -extern void ieee80211_start_scan(struct ieee80211_device *ieee); +extern void ieee80211_rtl_start_scan(struct ieee80211_device *ieee); //Add for RF power on power off by lizhaoming 080512 extern void SendDisassociation(struct ieee80211_device *ieee, --- linux-2.6.32.orig/drivers/staging/rtl8187se/ieee80211/ieee80211_rx.c +++ linux-2.6.32/drivers/staging/rtl8187se/ieee80211/ieee80211_rx.c @@ -470,7 +470,7 @@ /* All received frames are sent to this function. @skb contains the frame in * IEEE 802.11 format, i.e., in the format it was sent over air. * This function is called only as a tasklet (software IRQ). */ -int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb, +int ieee80211_rtl_rx(struct ieee80211_device *ieee, struct sk_buff *skb, struct ieee80211_rx_stats *rx_stats) { struct net_device *dev = ieee->dev; --- linux-2.6.32.orig/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c +++ linux-2.6.32/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c @@ -689,7 +689,7 @@ } /* called with ieee->lock held */ -void ieee80211_start_scan(struct ieee80211_device *ieee) +void ieee80211_rtl_start_scan(struct ieee80211_device *ieee) { if(IS_DOT11D_ENABLE(ieee) ) { @@ -1196,7 +1196,7 @@ } } -void ieee80211_auth_challenge(struct ieee80211_device *ieee, u8 *challenge, int chlen) +void ieee80211_rtl_auth_challenge(struct ieee80211_device *ieee, u8 *challenge, int chlen) { u8 *c; struct sk_buff *skb; @@ -1898,7 +1898,7 @@ ieee80211_associate_step2(ieee); }else{ - ieee80211_auth_challenge(ieee, challenge, chlen); + ieee80211_rtl_auth_challenge(ieee, challenge, chlen); } }else{ ieee->softmac_stats.rx_auth_rs_err++; @@ -2047,7 +2047,7 @@ } -void ieee80211_wake_queue(struct ieee80211_device *ieee) +void ieee80211_rtl_wake_queue(struct ieee80211_device *ieee) { unsigned long flags; @@ -2089,7 +2089,7 @@ } -void ieee80211_stop_queue(struct ieee80211_device *ieee) +void ieee80211_rtl_stop_queue(struct ieee80211_device *ieee) { //unsigned long flags; //spin_lock_irqsave(&ieee->lock,flags); @@ -2301,7 +2301,7 @@ //#else if (ieee->state == IEEE80211_NOLINK){ ieee->actscanning = true; - ieee80211_start_scan(ieee); + ieee80211_rtl_start_scan(ieee); } //#endif spin_unlock_irqrestore(&ieee->lock, flags); @@ -2357,7 +2357,7 @@ if(ieee->state == IEEE80211_NOLINK){ ieee->beinretry = false; ieee->actscanning = true; - ieee80211_start_scan(ieee); + ieee80211_rtl_start_scan(ieee); } //YJ,add,080828, notify os here if(ieee->state == IEEE80211_NOLINK) --- linux-2.6.32.orig/drivers/staging/rtl8187se/ieee80211/ieee80211_tx.c +++ linux-2.6.32/drivers/staging/rtl8187se/ieee80211/ieee80211_tx.c @@ -305,7 +305,7 @@ } /* SKBs are added to the ieee->tx_queue. */ -int ieee80211_xmit(struct sk_buff *skb, +int ieee80211_rtl_xmit(struct sk_buff *skb, struct net_device *dev) { struct ieee80211_device *ieee = netdev_priv(dev); --- linux-2.6.32.orig/drivers/staging/rtl8192su/r8192S_firmware.c +++ linux-2.6.32/drivers/staging/rtl8192su/r8192S_firmware.c @@ -68,6 +68,11 @@ /* Allocate skb buffer to contain firmware info and tx descriptor info. */ skb = dev_alloc_skb(frag_length); + if (skb == NULL) { + RT_TRACE(COMP_ERR, "(%s): unable to alloc skb buffer\n", + __func__); + goto cmdsend_downloadcode_fail; + } memcpy((unsigned char *)(skb->cb),&dev,sizeof(dev)); tcb_desc = (cb_desc*)(skb->cb + MAX_DEV_ADDR_SIZE); --- linux-2.6.32.orig/drivers/staging/rtl8192su/r8192U_core.c +++ linux-2.6.32/drivers/staging/rtl8192su/r8192U_core.c @@ -25,6 +25,7 @@ */ #include +#include #undef LOOP_TEST #undef DUMP_RX @@ -111,23 +112,30 @@ #define CAM_CONTENT_COUNT 8 static struct usb_device_id rtl8192_usb_id_tbl[] = { - /* Realtek */ - {USB_DEVICE(0x0bda, 0x8192)}, - {USB_DEVICE(0x0bda, 0x8709)}, - /* Corega */ - {USB_DEVICE(0x07aa, 0x0043)}, - /* Belkin */ - {USB_DEVICE(0x050d, 0x805E)}, - /* Sitecom */ - {USB_DEVICE(0x0df6, 0x0031)}, - /* EnGenius */ - {USB_DEVICE(0x1740, 0x9201)}, - /* Dlink */ - {USB_DEVICE(0x2001, 0x3301)}, - /* Zinwell */ - {USB_DEVICE(0x5a57, 0x0290)}, - //92SU + {USB_DEVICE(0x0bda, 0x8171)}, /* Realtek */ {USB_DEVICE(0x0bda, 0x8172)}, + {USB_DEVICE(0x0bda, 0x8173)}, + {USB_DEVICE(0x0bda, 0x8174)}, + {USB_DEVICE(0x0bda, 0x8712)}, + {USB_DEVICE(0x0bda, 0x8713)}, + {USB_DEVICE(0x07aa, 0x0047)}, + {USB_DEVICE(0x07d1, 0x3303)}, + {USB_DEVICE(0x07d1, 0x3302)}, + {USB_DEVICE(0x07d1, 0x3300)}, + {USB_DEVICE(0x1740, 0x9603)}, + {USB_DEVICE(0x1740, 0x9605)}, + {USB_DEVICE(0x050d, 0x815F)}, + {USB_DEVICE(0x06f8, 0xe031)}, + {USB_DEVICE(0x7392, 0x7611)}, + {USB_DEVICE(0x7392, 0x7612)}, + {USB_DEVICE(0x7392, 0x7622)}, + {USB_DEVICE(0x0DF6, 0x0045)}, + {USB_DEVICE(0x0E66, 0x0015)}, + {USB_DEVICE(0x0E66, 0x0016)}, + {USB_DEVICE(0x0b05, 0x1786)}, + /* these are not in the official list */ + {USB_DEVICE(0x050d, 0x815F)}, /* Belkin F5D8053 v6 */ + {USB_DEVICE(0x0df6, 0x004b)}, /* WL-349 */ {} }; @@ -155,6 +163,8 @@ static int __devinit rtl8192_usb_probe(struct usb_interface *intf, const struct usb_device_id *id); static void __devexit rtl8192_usb_disconnect(struct usb_interface *intf); +static const struct net_device_ops rtl8192_netdev_ops; +static struct notifier_block proc_netdev_notifier; static struct usb_driver rtl8192_usb_driver = { .name = RTL819xU_MODULE_NAME, /* Driver name */ @@ -954,15 +964,24 @@ return len; } -void rtl8192_proc_module_init(void) +int rtl8192_proc_module_init(void) { + int ret; + RT_TRACE(COMP_INIT, "Initializing proc filesystem"); rtl8192_proc=create_proc_entry(RTL819xU_MODULE_NAME, S_IFDIR, init_net.proc_net); + if (!rtl8192_proc) + return -ENOMEM; + ret = register_netdevice_notifier(&proc_netdev_notifier); + if (ret) + remove_proc_entry(RTL819xU_MODULE_NAME, init_net.proc_net); + return ret; } void rtl8192_proc_module_remove(void) { + unregister_netdevice_notifier(&proc_netdev_notifier); remove_proc_entry(RTL819xU_MODULE_NAME, init_net.proc_net); } @@ -990,8 +1009,7 @@ remove_proc_entry("registers-e", priv->dir_dev); // remove_proc_entry("cck-registers",priv->dir_dev); // remove_proc_entry("ofdm-registers",priv->dir_dev); - //remove_proc_entry(dev->name, rtl8192_proc); - remove_proc_entry("wlan0", rtl8192_proc); + remove_proc_entry(priv->dir_dev->name, rtl8192_proc); priv->dir_dev = NULL; } } @@ -1108,6 +1126,25 @@ dev->name); } } + +static int proc_netdev_event(struct notifier_block *this, + unsigned long event, void *ptr) +{ + struct net_device *net_dev = ptr; + + if (net_dev->netdev_ops == &rtl8192_netdev_ops && + event == NETDEV_CHANGENAME) { + rtl8192_proc_remove_one(net_dev); + rtl8192_proc_init_one(net_dev); + } + + return NOTIFY_DONE; +} + +static struct notifier_block proc_netdev_notifier = { + .notifier_call = proc_netdev_event, +}; + /**************************************************************************** -----------------------------MISC STUFF------------------------- *****************************************************************************/ @@ -7559,35 +7596,63 @@ ret = ieee80211_crypto_init(); if (ret) { printk(KERN_ERR "ieee80211_crypto_init() failed %d\n", ret); - return ret; + goto fail_crypto; } ret = ieee80211_crypto_tkip_init(); if (ret) { printk(KERN_ERR "ieee80211_crypto_tkip_init() failed %d\n", ret); - return ret; + goto fail_crypto_tkip; } ret = ieee80211_crypto_ccmp_init(); if (ret) { printk(KERN_ERR "ieee80211_crypto_ccmp_init() failed %d\n", ret); - return ret; + goto fail_crypto_ccmp; } ret = ieee80211_crypto_wep_init(); if (ret) { printk(KERN_ERR "ieee80211_crypto_wep_init() failed %d\n", ret); - return ret; + goto fail_crypto_wep; } printk(KERN_INFO "\nLinux kernel driver for RTL8192 based WLAN cards\n"); printk(KERN_INFO "Copyright (c) 2007-2008, Realsil Wlan\n"); RT_TRACE(COMP_INIT, "Initializing module"); RT_TRACE(COMP_INIT, "Wireless extensions version %d", WIRELESS_EXT); - rtl8192_proc_module_init(); - return usb_register(&rtl8192_usb_driver); + + ret = rtl8192_proc_module_init(); + if (ret) { + pr_err("rtl8192_proc_module_init() failed %d\n", ret); + goto fail_proc; + } + + ret = usb_register(&rtl8192_usb_driver); + if (ret) { + pr_err("usb_register() failed %d\n", ret); + goto fail_usb; + } + + return 0; + +fail_usb: + rtl8192_proc_module_remove(); +fail_proc: + ieee80211_crypto_wep_exit(); +fail_crypto_wep: + ieee80211_crypto_ccmp_exit(); +fail_crypto_ccmp: + ieee80211_crypto_tkip_exit(); +fail_crypto_tkip: + ieee80211_crypto_deinit(); +fail_crypto: +#ifdef CONFIG_IEEE80211_DEBUG + ieee80211_debug_exit(); +#endif + return ret; } --- linux-2.6.32.orig/drivers/staging/rtl8192su/r819xU_cmdpkt.c +++ linux-2.6.32/drivers/staging/rtl8192su/r819xU_cmdpkt.c @@ -56,6 +56,12 @@ //Get TCB and local buffer from common pool. (It is shared by CmdQ, MgntQ, and USB coalesce DataQ) skb = dev_alloc_skb(USB_HWDESC_HEADER_LEN + DataLen + 4); + if (skb == NULL) { + RT_TRACE(COMP_ERR, "(%s): unable to alloc skb buffer\n", + __func__); + rtStatus = false; + return rtStatus; + } memcpy((unsigned char *)(skb->cb),&dev,sizeof(dev)); tcb_desc = (cb_desc*)(skb->cb + MAX_DEV_ADDR_SIZE); tcb_desc->queue_index = TXCMD_QUEUE; --- linux-2.6.32.orig/drivers/staging/usbip/stub_rx.c +++ linux-2.6.32/drivers/staging/usbip/stub_rx.c @@ -168,33 +168,23 @@ static int tweak_reset_device_cmd(struct urb *urb) { - struct usb_ctrlrequest *req; - __u16 value; - __u16 index; - int ret; - - req = (struct usb_ctrlrequest *) urb->setup_packet; - value = le16_to_cpu(req->wValue); - index = le16_to_cpu(req->wIndex); - - usbip_uinfo("reset_device (port %d) to %s\n", index, - dev_name(&urb->dev->dev)); - - /* all interfaces should be owned by usbip driver, so just reset it. */ - ret = usb_lock_device_for_reset(urb->dev, NULL); - if (ret < 0) { - dev_err(&urb->dev->dev, "lock for reset\n"); - return ret; - } + struct stub_priv *priv = (struct stub_priv *) urb->context; + struct stub_device *sdev = priv->sdev; - /* try to reset the device */ - ret = usb_reset_device(urb->dev); - if (ret < 0) - dev_err(&urb->dev->dev, "device reset\n"); + usbip_uinfo("reset_device %s\n", dev_name(&urb->dev->dev)); - usb_unlock_device(urb->dev); - - return ret; + /* + * usb_lock_device_for_reset caused a deadlock: it causes the driver + * to unbind. In the shutdown the rx thread is signalled to shut down + * but this thread is pending in the usb_lock_device_for_reset. + * + * Instead queue the reset. + * + * Unfortunatly an existing usbip connection will be dropped due to + * driver unbinding. + */ + usb_queue_reset_device(sdev->interface); + return 0; } /* --- linux-2.6.32.orig/drivers/staging/usbip/stub_tx.c +++ linux-2.6.32/drivers/staging/usbip/stub_tx.c @@ -167,7 +167,6 @@ struct stub_priv *priv, *tmp; struct msghdr msg; - struct kvec iov[3]; size_t txsize; size_t total_size = 0; @@ -177,28 +176,73 @@ struct urb *urb = priv->urb; struct usbip_header pdu_header; void *iso_buffer = NULL; + struct kvec *iov = NULL; + int iovnum = 0; txsize = 0; memset(&pdu_header, 0, sizeof(pdu_header)); memset(&msg, 0, sizeof(msg)); - memset(&iov, 0, sizeof(iov)); - usbip_dbg_stub_tx("setup txdata urb %p\n", urb); + if (usb_pipetype(urb->pipe) == PIPE_ISOCHRONOUS) + iovnum = 2 + urb->number_of_packets; + else + iovnum = 2; + + iov = kzalloc(iovnum * sizeof(struct kvec), GFP_KERNEL); + if (!iov) { + usbip_event_add(&sdev->ud, SDEV_EVENT_ERROR_MALLOC); + return -1; + } + + iovnum = 0; /* 1. setup usbip_header */ setup_ret_submit_pdu(&pdu_header, urb); + usbip_dbg_stub_tx("setup txdata seqnum: %d urb: %p\n", + pdu_header.base.seqnum, urb); + /*usbip_dump_header(pdu_header);*/ usbip_header_correct_endian(&pdu_header, 1); - iov[0].iov_base = &pdu_header; - iov[0].iov_len = sizeof(pdu_header); + iov[iovnum].iov_base = &pdu_header; + iov[iovnum].iov_len = sizeof(pdu_header); + iovnum++; txsize += sizeof(pdu_header); /* 2. setup transfer buffer */ - if (usb_pipein(urb->pipe) && urb->actual_length > 0) { - iov[1].iov_base = urb->transfer_buffer; - iov[1].iov_len = urb->actual_length; + if (usb_pipein(urb->pipe) && + usb_pipetype(urb->pipe) != PIPE_ISOCHRONOUS && + urb->actual_length > 0) { + iov[iovnum].iov_base = urb->transfer_buffer; + iov[iovnum].iov_len = urb->actual_length; + iovnum++; txsize += urb->actual_length; + } else if (usb_pipein(urb->pipe) && + usb_pipetype(urb->pipe) == PIPE_ISOCHRONOUS) { + /* + * For isochronous packets: actual length is the sum of + * the actual length of the individual, packets, but as + * the packet offsets are not changed there will be + * padding between the packets. To optimally use the + * bandwidth the padding is not transmitted. + */ + + int i; + for (i = 0; i < urb->number_of_packets; i++) { + iov[iovnum].iov_base = urb->transfer_buffer + urb->iso_frame_desc[i].offset; + iov[iovnum].iov_len = urb->iso_frame_desc[i].actual_length; + iovnum++; + txsize += urb->iso_frame_desc[i].actual_length; + } + + if (txsize != sizeof(pdu_header) + urb->actual_length) { + dev_err(&sdev->interface->dev, + "actual length of urb (%d) does not match iso packet sizes (%d)\n", + urb->actual_length, txsize-sizeof(pdu_header)); + kfree(iov); + usbip_event_add(&sdev->ud, SDEV_EVENT_ERROR_TCP); + return -1; + } } /* 3. setup iso_packet_descriptor */ @@ -209,32 +253,34 @@ if (!iso_buffer) { usbip_event_add(&sdev->ud, SDEV_EVENT_ERROR_MALLOC); + kfree(iov); return -1; } - iov[2].iov_base = iso_buffer; - iov[2].iov_len = len; + iov[iovnum].iov_base = iso_buffer; + iov[iovnum].iov_len = len; txsize += len; + iovnum++; } - ret = kernel_sendmsg(sdev->ud.tcp_socket, &msg, iov, - 3, txsize); + ret = kernel_sendmsg(sdev->ud.tcp_socket, &msg, + iov, iovnum, txsize); if (ret != txsize) { dev_err(&sdev->interface->dev, "sendmsg failed!, retval %d for %zd\n", ret, txsize); + kfree(iov); kfree(iso_buffer); usbip_event_add(&sdev->ud, SDEV_EVENT_ERROR_TCP); return -1; } + kfree(iov); kfree(iso_buffer); - usbip_dbg_stub_tx("send txdata\n"); total_size += txsize; } - spin_lock_irqsave(&sdev->priv_lock, flags); list_for_each_entry_safe(priv, tmp, &sdev->priv_free, list) { --- linux-2.6.32.orig/drivers/staging/usbip/usbip_common.c +++ linux-2.6.32/drivers/staging/usbip/usbip_common.c @@ -361,10 +361,11 @@ usbip_udbg("CMD_UNLINK: seq %u\n", pdu->u.cmd_unlink.seqnum); break; case USBIP_RET_SUBMIT: - usbip_udbg("RET_SUBMIT: st %d al %u sf %d ec %d\n", + usbip_udbg("RET_SUBMIT: st %d al %u sf %d #p %d ec %d\n", pdu->u.ret_submit.status, pdu->u.ret_submit.actual_length, pdu->u.ret_submit.start_frame, + pdu->u.ret_submit.number_of_packets, pdu->u.ret_submit.error_count); case USBIP_RET_UNLINK: usbip_udbg("RET_UNLINK: status %d\n", pdu->u.ret_unlink.status); @@ -686,6 +687,7 @@ rpdu->status = urb->status; rpdu->actual_length = urb->actual_length; rpdu->start_frame = urb->start_frame; + rpdu->number_of_packets = urb->number_of_packets; rpdu->error_count = urb->error_count; } else { /* vhci_rx.c */ @@ -693,6 +695,7 @@ urb->status = rpdu->status; urb->actual_length = rpdu->actual_length; urb->start_frame = rpdu->start_frame; + urb->number_of_packets = rpdu->number_of_packets; urb->error_count = rpdu->error_count; } } @@ -761,11 +764,13 @@ cpu_to_be32s(&pdu->status); cpu_to_be32s(&pdu->actual_length); cpu_to_be32s(&pdu->start_frame); + cpu_to_be32s(&pdu->number_of_packets); cpu_to_be32s(&pdu->error_count); } else { be32_to_cpus(&pdu->status); be32_to_cpus(&pdu->actual_length); be32_to_cpus(&pdu->start_frame); + be32_to_cpus(&pdu->number_of_packets); be32_to_cpus(&pdu->error_count); } } @@ -891,6 +896,7 @@ int size = np * sizeof(*iso); int i; int ret; + int total_length = 0; if (!usb_pipeisoc(urb->pipe)) return 0; @@ -920,19 +926,75 @@ return -EPIPE; } + for (i = 0; i < np; i++) { iso = buff + (i * sizeof(*iso)); usbip_iso_pakcet_correct_endian(iso, 0); usbip_pack_iso(iso, &urb->iso_frame_desc[i], 0); + total_length += urb->iso_frame_desc[i].actual_length; } kfree(buff); + if (total_length != urb->actual_length) { + dev_err(&urb->dev->dev, + "total length of iso packets (%d) not equal to actual length of buffer (%d)\n", + total_length, urb->actual_length); + + if (ud->side == USBIP_STUB) + usbip_event_add(ud, SDEV_EVENT_ERROR_TCP); + else + usbip_event_add(ud, VDEV_EVENT_ERROR_TCP); + + return -EPIPE; + } + return ret; } EXPORT_SYMBOL_GPL(usbip_recv_iso); +/* + * This functions restores the padding which was removed for optimizing + * the bandwidth during transfer over tcp/ip + * + * buffer and iso packets need to be stored and be in propeper endian in urb + * before calling this function + */ +int usbip_pad_iso(struct usbip_device *ud, struct urb *urb) +{ + int np = urb->number_of_packets; + int i; + int ret; + int actualoffset = urb->actual_length; + + if (!usb_pipeisoc(urb->pipe)) + return 0; + + /* if no packets or length of data is 0, then nothing to unpack */ + if (np == 0 || urb->actual_length == 0) + return 0; + + /* + * if actual_length is transfer_buffer_length then no padding is + * present. + */ + if (urb->actual_length == urb->transfer_buffer_length) + return 0; + + /* + * loop over all packets from last to first (to prevent overwritting + * memory when padding) and move them into the proper place + */ + for (i = np-1; i > 0; i--) { + actualoffset -= urb->iso_frame_desc[i].actual_length; + memmove(urb->transfer_buffer + urb->iso_frame_desc[i].offset, + urb->transfer_buffer + actualoffset, + urb->iso_frame_desc[i].actual_length); + } + return ret; +} +EXPORT_SYMBOL_GPL(usbip_pad_iso); /* some members of urb must be substituted before. */ int usbip_recv_xbuff(struct usbip_device *ud, struct urb *urb) --- linux-2.6.32.orig/drivers/staging/usbip/usbip_common.h +++ linux-2.6.32/drivers/staging/usbip/usbip_common.h @@ -393,6 +393,8 @@ int usbip_recv_xbuff(struct usbip_device *ud, struct urb *urb); /* some members of urb must be substituted before. */ int usbip_recv_iso(struct usbip_device *ud, struct urb *urb); +/* some members of urb must be substituted before. */ +int usbip_pad_iso(struct usbip_device *ud, struct urb *urb); void *usbip_alloc_iso_desc_pdu(struct urb *urb, ssize_t *bufflen); --- linux-2.6.32.orig/drivers/staging/usbip/usbip_event.c +++ linux-2.6.32/drivers/staging/usbip/usbip_event.c @@ -38,21 +38,13 @@ ud->eh_ops.shutdown(ud); ud->event &= ~USBIP_EH_SHUTDOWN; - - break; } - /* Stop the error handler. */ - if (ud->event & USBIP_EH_BYE) - return -1; - /* Reset the device. */ if (ud->event & USBIP_EH_RESET) { ud->eh_ops.reset(ud); ud->event &= ~USBIP_EH_RESET; - - break; } /* Mark the device as unusable. */ @@ -60,13 +52,11 @@ ud->eh_ops.unusable(ud); ud->event &= ~USBIP_EH_UNUSABLE; - - break; } - /* NOTREACHED */ - printk(KERN_ERR "%s: unknown event\n", __func__); - return -1; + /* Stop the error handler. */ + if (ud->event & USBIP_EH_BYE) + return -1; } return 0; @@ -117,6 +107,9 @@ { struct usbip_task *eh = &ud->eh; + if (eh->thread == current) + return; /* do not wait for myself */ + wait_for_completion(&eh->thread_done); usbip_dbg_eh("usbip_eh has finished\n"); } --- linux-2.6.32.orig/drivers/staging/usbip/vhci.h +++ linux-2.6.32/drivers/staging/usbip/vhci.h @@ -100,9 +100,6 @@ * But, the index of this array begins from 0. */ struct vhci_device vdev[VHCI_NPORTS]; - - /* vhci_device which has not been assiged its address yet */ - int pending_port; }; @@ -119,6 +116,9 @@ void vhci_rx_loop(struct usbip_task *ut); void vhci_tx_loop(struct usbip_task *ut); +struct urb *pickup_urb_and_free_priv(struct vhci_device *vdev, + __u32 seqnum); + #define hardware (&the_controller->pdev.dev) static inline struct vhci_device *port_to_vdev(__u32 port) --- linux-2.6.32.orig/drivers/staging/usbip/vhci_hcd.c +++ linux-2.6.32/drivers/staging/usbip/vhci_hcd.c @@ -137,8 +137,6 @@ * the_controller->vdev[rhport].ud.status = VDEV_CONNECT; * spin_unlock(&the_controller->vdev[rhport].ud.lock); */ - the_controller->pending_port = rhport; - spin_unlock_irqrestore(&the_controller->lock, flags); usb_hcd_poll_rh_status(vhci_to_hcd(the_controller)); @@ -163,6 +161,8 @@ * spin_unlock(&vdev->ud.lock); */ spin_unlock_irqrestore(&the_controller->lock, flags); + + usb_hcd_poll_rh_status(vhci_to_hcd(the_controller)); } @@ -556,6 +556,7 @@ struct device *dev = &urb->dev->dev; int ret = 0; unsigned long flags; + struct vhci_device *vdev; usbip_dbg_vhci_hc("enter, usb_hcd %p urb %p mem_flags %d\n", hcd, urb, mem_flags); @@ -571,6 +572,18 @@ return urb->status; } + vdev = port_to_vdev(urb->dev->portnum-1); + + /* refuse enqueue for dead connection */ + spin_lock(&vdev->ud.lock); + if (vdev->ud.status == VDEV_ST_NULL || vdev->ud.status == VDEV_ST_ERROR) { + usbip_uerr("enqueue for inactive port %d\n", vdev->rhport); + spin_unlock(&vdev->ud.lock); + spin_unlock_irqrestore(&the_controller->lock, flags); + return -ENODEV; + } + spin_unlock(&vdev->ud.lock); + ret = usb_hcd_link_urb_to_ep(hcd, urb); if (ret) goto no_need_unlink; @@ -589,8 +602,6 @@ __u8 type = usb_pipetype(urb->pipe); struct usb_ctrlrequest *ctrlreq = (struct usb_ctrlrequest *) urb->setup_packet; - struct vhci_device *vdev = - port_to_vdev(the_controller->pending_port); if (type != PIPE_CONTROL || !ctrlreq) { dev_err(dev, "invalid request to devnum 0\n"); @@ -604,7 +615,9 @@ dev_info(dev, "SetAddress Request (%d) to port %d\n", ctrlreq->wValue, vdev->rhport); - vdev->udev = urb->dev; + if (vdev->udev) + usb_put_dev(vdev->udev); + vdev->udev = usb_get_dev(urb->dev); spin_lock(&vdev->ud.lock); vdev->ud.status = VDEV_ST_USED; @@ -624,8 +637,9 @@ "Get_Descriptor to device 0 " "(get max pipe size)\n"); - /* FIXME: reference count? (usb_get_dev()) */ - vdev->udev = urb->dev; + if (vdev->udev) + usb_put_dev(vdev->udev); + vdev->udev = usb_get_dev(urb->dev); goto out; default: @@ -796,27 +810,12 @@ spin_unlock_irqrestore(&vdev->priv_lock, flags2); } - - if (!vdev->ud.tcp_socket) { - /* tcp connection is closed */ - usbip_uinfo("vhci_hcd: vhci_urb_dequeue() gives back urb %p\n", - urb); - - usb_hcd_unlink_urb_from_ep(hcd, urb); - - spin_unlock_irqrestore(&the_controller->lock, flags); - usb_hcd_giveback_urb(vhci_to_hcd(the_controller), urb, - urb->status); - spin_lock_irqsave(&the_controller->lock, flags); - } - spin_unlock_irqrestore(&the_controller->lock, flags); usbip_dbg_vhci_hc("leave\n"); return 0; } - static void vhci_device_unlink_cleanup(struct vhci_device *vdev) { struct vhci_unlink *unlink, *tmp; @@ -824,11 +823,34 @@ spin_lock(&vdev->priv_lock); list_for_each_entry_safe(unlink, tmp, &vdev->unlink_tx, list) { + usbip_uinfo("unlink cleanup tx %lu\n", unlink->unlink_seqnum); list_del(&unlink->list); kfree(unlink); } list_for_each_entry_safe(unlink, tmp, &vdev->unlink_rx, list) { + struct urb *urb; + + /* give back URB of unanswered unlink request */ + usbip_uinfo("unlink cleanup rx %lu\n", unlink->unlink_seqnum); + + urb = pickup_urb_and_free_priv(vdev, unlink->unlink_seqnum); + if (!urb) { + usbip_uinfo("the urb (seqnum %lu) was already given back\n", + unlink->unlink_seqnum); + list_del(&unlink->list); + kfree(unlink); + continue; + } + + urb->status = -ENODEV; + + spin_lock(&the_controller->lock); + usb_hcd_unlink_urb_from_ep(vhci_to_hcd(the_controller), urb); + spin_unlock(&the_controller->lock); + + usb_hcd_giveback_urb(vhci_to_hcd(the_controller), urb, urb->status); + list_del(&unlink->list); kfree(unlink); } @@ -898,6 +920,10 @@ vdev->speed = 0; vdev->devid = 0; + if (vdev->udev) + usb_put_dev(vdev->udev); + vdev->udev = NULL; + ud->tcp_socket = NULL; ud->status = VDEV_ST_NULL; @@ -1108,7 +1134,7 @@ usbip_uerr("create hcd failed\n"); return -ENOMEM; } - + hcd->has_tt = 1; /* this is private data for vhci_hcd */ the_controller = hcd_to_vhci(hcd); --- linux-2.6.32.orig/drivers/staging/usbip/vhci_rx.c +++ linux-2.6.32/drivers/staging/usbip/vhci_rx.c @@ -21,16 +21,14 @@ #include "vhci.h" -/* get URB from transmitted urb queue */ -static struct urb *pickup_urb_and_free_priv(struct vhci_device *vdev, +/* get URB from transmitted urb queue. caller must hold vdev->priv_lock */ +struct urb *pickup_urb_and_free_priv(struct vhci_device *vdev, __u32 seqnum) { struct vhci_priv *priv, *tmp; struct urb *urb = NULL; int status; - spin_lock(&vdev->priv_lock); - list_for_each_entry_safe(priv, tmp, &vdev->priv_rx, list) { if (priv->seqnum == seqnum) { urb = priv->urb; @@ -61,8 +59,6 @@ } } - spin_unlock(&vdev->priv_lock); - return urb; } @@ -71,10 +67,13 @@ { struct usbip_device *ud = &vdev->ud; struct urb *urb; + unsigned long flags; + spin_lock(&vdev->priv_lock); urb = pickup_urb_and_free_priv(vdev, pdu->base.seqnum); + spin_unlock(&vdev->priv_lock); if (!urb) { usbip_uerr("cannot find a urb of seqnum %u\n", @@ -99,6 +98,9 @@ if (usbip_recv_iso(ud, urb) < 0) return; + /* restore the padding in iso packets */ + if (usbip_pad_iso(ud, urb) < 0) + return; if (usbip_dbg_flag_vhci_rx) usbip_dump_urb(urb); @@ -106,9 +108,9 @@ usbip_dbg_vhci_rx("now giveback urb %p\n", urb); - spin_lock(&the_controller->lock); + spin_lock_irqsave(&the_controller->lock, flags); usb_hcd_unlink_urb_from_ep(vhci_to_hcd(the_controller), urb); - spin_unlock(&the_controller->lock); + spin_unlock_irqrestore(&the_controller->lock, flags); usb_hcd_giveback_urb(vhci_to_hcd(the_controller), urb, urb->status); @@ -149,6 +151,7 @@ { struct vhci_unlink *unlink; struct urb *urb; + unsigned long flags; usbip_dump_header(pdu); @@ -159,7 +162,12 @@ return; } + spin_lock(&vdev->priv_lock); + urb = pickup_urb_and_free_priv(vdev, unlink->unlink_seqnum); + + spin_unlock(&vdev->priv_lock); + if (!urb) { /* * I get the result of a unlink request. But, it seems that I @@ -175,9 +183,9 @@ urb->status = pdu->u.ret_unlink.status; usbip_uinfo("%d\n", urb->status); - spin_lock(&the_controller->lock); + spin_lock_irqsave(&the_controller->lock, flags); usb_hcd_unlink_urb_from_ep(vhci_to_hcd(the_controller), urb); - spin_unlock(&the_controller->lock); + spin_unlock_irqrestore(&the_controller->lock, flags); usb_hcd_giveback_urb(vhci_to_hcd(the_controller), urb, urb->status); --- linux-2.6.32.orig/drivers/staging/vt6655/device_main.c +++ linux-2.6.32/drivers/staging/vt6655/device_main.c @@ -1089,11 +1089,13 @@ } //2008-07-21-01by MikeLiu //register wpadev +#if 0 if(wpa_set_wpadev(pDevice, 1)!=0) { printk("Fail to Register WPADEV?\n"); unregister_netdev(pDevice->dev); free_netdev(dev); } +#endif device_print_info(pDevice); pci_set_drvdata(pcid, pDevice); return 0; --- linux-2.6.32.orig/drivers/staging/vt6655/wpactl.c +++ linux-2.6.32/drivers/staging/vt6655/wpactl.c @@ -767,9 +767,14 @@ DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "wpa_ie_len = %d\n", param->u.wpa_associate.wpa_ie_len); - if (param->u.wpa_associate.wpa_ie && - copy_from_user(&abyWPAIE[0], param->u.wpa_associate.wpa_ie, param->u.wpa_associate.wpa_ie_len)) - return -EINVAL; + if (param->u.wpa_associate.wpa_ie_len) { + if (!param->u.wpa_associate.wpa_ie) + return -EINVAL; + if (param->u.wpa_associate.wpa_ie_len > sizeof(abyWPAIE)) + return -EINVAL; + if (copy_from_user(&abyWPAIE[0], param->u.wpa_associate.wpa_ie, param->u.wpa_associate.wpa_ie_len)) + return -EFAULT; + } if (param->u.wpa_associate.mode == 1) pMgmt->eConfigMode = WMAC_CONFIG_IBSS_STA; --- linux-2.6.32.orig/drivers/usb/atm/ueagle-atm.c +++ linux-2.6.32/drivers/usb/atm/ueagle-atm.c @@ -2259,7 +2259,7 @@ return ret; } -static DEVICE_ATTR(stat_status, S_IWUGO | S_IRUGO, read_status, reboot); +static DEVICE_ATTR(stat_status, S_IWUSR | S_IRUGO, read_status, reboot); static ssize_t read_human_status(struct device *dev, struct device_attribute *attr, char *buf) @@ -2322,7 +2322,7 @@ return ret; } -static DEVICE_ATTR(stat_human_status, S_IWUGO | S_IRUGO, read_human_status, NULL); +static DEVICE_ATTR(stat_human_status, S_IRUGO, read_human_status, NULL); static ssize_t read_delin(struct device *dev, struct device_attribute *attr, char *buf) @@ -2354,7 +2354,7 @@ return ret; } -static DEVICE_ATTR(stat_delin, S_IWUGO | S_IRUGO, read_delin, NULL); +static DEVICE_ATTR(stat_delin, S_IRUGO, read_delin, NULL); #define UEA_ATTR(name, reset) \ \ --- linux-2.6.32.orig/drivers/usb/class/cdc-acm.c +++ linux-2.6.32/drivers/usb/class/cdc-acm.c @@ -170,6 +170,7 @@ { wb->use = 0; acm->transmitting--; + usb_autopm_put_interface_async(acm->control); } /* @@ -211,9 +212,12 @@ } dbg("%s susp_count: %d", __func__, acm->susp_count); + usb_autopm_get_interface_async(acm->control); if (acm->susp_count) { - acm->delayed_wb = wb; - schedule_work(&acm->waker); + if (!acm->delayed_wb) + acm->delayed_wb = wb; + else + usb_autopm_put_interface_async(acm->control); spin_unlock_irqrestore(&acm->write_lock, flags); return 0; /* A white lie */ } @@ -293,6 +297,8 @@ if (!ACM_READY(acm)) goto exit; + usb_mark_last_busy(acm->dev); + data = (unsigned char *)(dr + 1); switch (dr->bNotificationType) { case USB_CDC_NOTIFY_NETWORK_CONNECTION: @@ -332,7 +338,6 @@ break; } exit: - usb_mark_last_busy(acm->dev); retval = usb_submit_urb(urb, GFP_ATOMIC); if (retval) dev_err(&urb->dev->dev, "%s - usb_submit_urb failed with " @@ -530,27 +535,12 @@ if (!ACM_READY(acm)) return; tty = tty_port_tty_get(&acm->port); + if (!tty) + return; tty_wakeup(tty); tty_kref_put(tty); } -static void acm_waker(struct work_struct *waker) -{ - struct acm *acm = container_of(waker, struct acm, waker); - int rv; - - rv = usb_autopm_get_interface(acm->control); - if (rv < 0) { - dev_err(&acm->dev->dev, "Autopm failure in %s\n", __func__); - return; - } - if (acm->delayed_wb) { - acm_start_wb(acm, acm->delayed_wb); - acm->delayed_wb = NULL; - } - usb_autopm_put_interface(acm->control); -} - /* * TTY handlers */ @@ -665,8 +655,10 @@ usb_kill_urb(acm->ctrlurb); for (i = 0; i < ACM_NW; i++) usb_kill_urb(acm->wb[i].urb); + tasklet_disable(&acm->urb_task); for (i = 0; i < nr; i++) usb_kill_urb(acm->ru[i].urb); + tasklet_enable(&acm->urb_task); acm->control->needs_remote_wakeup = 0; usb_autopm_put_interface(acm->control); } @@ -984,7 +976,8 @@ } if (!buflen) { - if (intf->cur_altsetting->endpoint->extralen && + if (intf->cur_altsetting->endpoint && + intf->cur_altsetting->endpoint->extralen && intf->cur_altsetting->endpoint->extra) { dev_dbg(&intf->dev, "Seeking extra descriptors on endpoint\n"); @@ -1178,7 +1171,6 @@ acm->urb_task.func = acm_rx_tasklet; acm->urb_task.data = (unsigned long) acm; INIT_WORK(&acm->work, acm_softint); - INIT_WORK(&acm->waker, acm_waker); init_waitqueue_head(&acm->drain_wait); spin_lock_init(&acm->throttle_lock); spin_lock_init(&acm->write_lock); @@ -1215,7 +1207,7 @@ if (rcv->urb == NULL) { dev_dbg(&intf->dev, "out of memory (read urbs usb_alloc_urb)\n"); - goto alloc_fail7; + goto alloc_fail6; } rcv->urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; @@ -1239,7 +1231,7 @@ if (snd->urb == NULL) { dev_dbg(&intf->dev, "out of memory (write urbs usb_alloc_urb)"); - goto alloc_fail7; + goto alloc_fail8; } if (usb_endpoint_xfer_int(epwrite)) @@ -1272,13 +1264,18 @@ i = device_create_file(&intf->dev, &dev_attr_wCountryCodes); if (i < 0) { kfree(acm->country_codes); + acm->country_codes = NULL; + acm->country_code_size = 0; goto skip_countries; } i = device_create_file(&intf->dev, &dev_attr_iCountryCodeRelDate); if (i < 0) { + device_remove_file(&intf->dev, &dev_attr_wCountryCodes); kfree(acm->country_codes); + acm->country_codes = NULL; + acm->country_code_size = 0; goto skip_countries; } } @@ -1314,6 +1311,7 @@ usb_free_urb(acm->wb[i].urb); alloc_fail7: acm_read_buffers_free(acm); +alloc_fail6: for (i = 0; i < num_rx_buf; i++) usb_free_urb(acm->ru[i].urb); usb_free_urb(acm->ctrlurb); @@ -1343,7 +1341,6 @@ tasklet_enable(&acm->urb_task); cancel_work_sync(&acm->work); - cancel_work_sync(&acm->waker); } static void acm_disconnect(struct usb_interface *intf) @@ -1435,6 +1432,7 @@ static int acm_resume(struct usb_interface *intf) { struct acm *acm = usb_get_intfdata(intf); + struct acm_wb *wb; int rv = 0; int cnt; @@ -1449,6 +1447,21 @@ mutex_lock(&acm->mutex); if (acm->port.count) { rv = usb_submit_urb(acm->ctrlurb, GFP_NOIO); + + spin_lock_irq(&acm->write_lock); + if (acm->delayed_wb) { + wb = acm->delayed_wb; + acm->delayed_wb = NULL; + spin_unlock_irq(&acm->write_lock); + acm_start_wb(acm, wb); + } else { + spin_unlock_irq(&acm->write_lock); + } + + /* + * delayed error checking because we must + * do the write path at all cost + */ if (rv < 0) goto err_out; @@ -1461,6 +1474,17 @@ } #endif /* CONFIG_PM */ + +#define NOKIA_PCSUITE_ACM_INFO(x) \ + USB_DEVICE_AND_INTERFACE_INFO(0x0421, x, \ + USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, \ + USB_CDC_ACM_PROTO_VENDOR) + +#define SAMSUNG_PCSUITE_ACM_INFO(x) \ + USB_DEVICE_AND_INTERFACE_INFO(0x04e7, x, \ + USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, \ + USB_CDC_ACM_PROTO_VENDOR) + /* * USB driver structure. */ @@ -1508,6 +1532,16 @@ }, { USB_DEVICE(0x22b8, 0x6425), /* Motorola MOTOMAGX phones */ }, + /* Motorola H24 HSPA module: */ + { USB_DEVICE(0x22b8, 0x2d91) }, /* modem */ + { USB_DEVICE(0x22b8, 0x2d92) }, /* modem + diagnostics */ + { USB_DEVICE(0x22b8, 0x2d93) }, /* modem + AT port */ + { USB_DEVICE(0x22b8, 0x2d95) }, /* modem + AT port + diagnostics */ + { USB_DEVICE(0x22b8, 0x2d96) }, /* modem + NMEA */ + { USB_DEVICE(0x22b8, 0x2d97) }, /* modem + diagnostics + NMEA */ + { USB_DEVICE(0x22b8, 0x2d99) }, /* modem + AT port + NMEA */ + { USB_DEVICE(0x22b8, 0x2d9a) }, /* modem + AT port + diagnostics + NMEA */ + { USB_DEVICE(0x0572, 0x1329), /* Hummingbird huc56s (Conexant) */ .driver_info = NO_UNION_NORMAL, /* union descriptor misplaced on data interface instead of @@ -1518,6 +1552,82 @@ { USB_DEVICE(0x1bbb, 0x0003), /* Alcatel OT-I650 */ .driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */ }, + { USB_DEVICE(0x1576, 0x03b1), /* Maretron USB100 */ + .driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */ + }, + + /* Nokia S60 phones expose two ACM channels. The first is + * a modem and is picked up by the standard AT-command + * information below. The second is 'vendor-specific' but + * is treated as a serial device at the S60 end, so we want + * to expose it on Linux too. */ + { NOKIA_PCSUITE_ACM_INFO(0x042D), }, /* Nokia 3250 */ + { NOKIA_PCSUITE_ACM_INFO(0x04D8), }, /* Nokia 5500 Sport */ + { NOKIA_PCSUITE_ACM_INFO(0x04C9), }, /* Nokia E50 */ + { NOKIA_PCSUITE_ACM_INFO(0x0419), }, /* Nokia E60 */ + { NOKIA_PCSUITE_ACM_INFO(0x044D), }, /* Nokia E61 */ + { NOKIA_PCSUITE_ACM_INFO(0x0001), }, /* Nokia E61i */ + { NOKIA_PCSUITE_ACM_INFO(0x0475), }, /* Nokia E62 */ + { NOKIA_PCSUITE_ACM_INFO(0x0508), }, /* Nokia E65 */ + { NOKIA_PCSUITE_ACM_INFO(0x0418), }, /* Nokia E70 */ + { NOKIA_PCSUITE_ACM_INFO(0x0425), }, /* Nokia N71 */ + { NOKIA_PCSUITE_ACM_INFO(0x0486), }, /* Nokia N73 */ + { NOKIA_PCSUITE_ACM_INFO(0x04DF), }, /* Nokia N75 */ + { NOKIA_PCSUITE_ACM_INFO(0x000e), }, /* Nokia N77 */ + { NOKIA_PCSUITE_ACM_INFO(0x0445), }, /* Nokia N80 */ + { NOKIA_PCSUITE_ACM_INFO(0x042F), }, /* Nokia N91 & N91 8GB */ + { NOKIA_PCSUITE_ACM_INFO(0x048E), }, /* Nokia N92 */ + { NOKIA_PCSUITE_ACM_INFO(0x0420), }, /* Nokia N93 */ + { NOKIA_PCSUITE_ACM_INFO(0x04E6), }, /* Nokia N93i */ + { NOKIA_PCSUITE_ACM_INFO(0x04B2), }, /* Nokia 5700 XpressMusic */ + { NOKIA_PCSUITE_ACM_INFO(0x0134), }, /* Nokia 6110 Navigator (China) */ + { NOKIA_PCSUITE_ACM_INFO(0x046E), }, /* Nokia 6110 Navigator */ + { NOKIA_PCSUITE_ACM_INFO(0x002f), }, /* Nokia 6120 classic & */ + { NOKIA_PCSUITE_ACM_INFO(0x0088), }, /* Nokia 6121 classic */ + { NOKIA_PCSUITE_ACM_INFO(0x00fc), }, /* Nokia 6124 classic */ + { NOKIA_PCSUITE_ACM_INFO(0x0042), }, /* Nokia E51 */ + { NOKIA_PCSUITE_ACM_INFO(0x00b0), }, /* Nokia E66 */ + { NOKIA_PCSUITE_ACM_INFO(0x00ab), }, /* Nokia E71 */ + { NOKIA_PCSUITE_ACM_INFO(0x0481), }, /* Nokia N76 */ + { NOKIA_PCSUITE_ACM_INFO(0x0007), }, /* Nokia N81 & N81 8GB */ + { NOKIA_PCSUITE_ACM_INFO(0x0071), }, /* Nokia N82 */ + { NOKIA_PCSUITE_ACM_INFO(0x04F0), }, /* Nokia N95 & N95-3 NAM */ + { NOKIA_PCSUITE_ACM_INFO(0x0070), }, /* Nokia N95 8GB */ + { NOKIA_PCSUITE_ACM_INFO(0x00e9), }, /* Nokia 5320 XpressMusic */ + { NOKIA_PCSUITE_ACM_INFO(0x0099), }, /* Nokia 6210 Navigator, RM-367 */ + { NOKIA_PCSUITE_ACM_INFO(0x0128), }, /* Nokia 6210 Navigator, RM-419 */ + { NOKIA_PCSUITE_ACM_INFO(0x008f), }, /* Nokia 6220 Classic */ + { NOKIA_PCSUITE_ACM_INFO(0x00a0), }, /* Nokia 6650 */ + { NOKIA_PCSUITE_ACM_INFO(0x007b), }, /* Nokia N78 */ + { NOKIA_PCSUITE_ACM_INFO(0x0094), }, /* Nokia N85 */ + { NOKIA_PCSUITE_ACM_INFO(0x003a), }, /* Nokia N96 & N96-3 */ + { NOKIA_PCSUITE_ACM_INFO(0x00e9), }, /* Nokia 5320 XpressMusic */ + { NOKIA_PCSUITE_ACM_INFO(0x0108), }, /* Nokia 5320 XpressMusic 2G */ + { NOKIA_PCSUITE_ACM_INFO(0x01f5), }, /* Nokia N97, RM-505 */ + { NOKIA_PCSUITE_ACM_INFO(0x02e3), }, /* Nokia 5230, RM-588 */ + { NOKIA_PCSUITE_ACM_INFO(0x0178), }, /* Nokia E63 */ + { NOKIA_PCSUITE_ACM_INFO(0x010e), }, /* Nokia E75 */ + { NOKIA_PCSUITE_ACM_INFO(0x02d9), }, /* Nokia 6760 Slide */ + { NOKIA_PCSUITE_ACM_INFO(0x01d0), }, /* Nokia E52 */ + { NOKIA_PCSUITE_ACM_INFO(0x0223), }, /* Nokia E72 */ + { NOKIA_PCSUITE_ACM_INFO(0x0275), }, /* Nokia X6 */ + { NOKIA_PCSUITE_ACM_INFO(0x026c), }, /* Nokia N97 Mini */ + { NOKIA_PCSUITE_ACM_INFO(0x0154), }, /* Nokia 5800 XpressMusic */ + { NOKIA_PCSUITE_ACM_INFO(0x04ce), }, /* Nokia E90 */ + { NOKIA_PCSUITE_ACM_INFO(0x01d4), }, /* Nokia E55 */ + { NOKIA_PCSUITE_ACM_INFO(0x0302), }, /* Nokia N8 */ + { NOKIA_PCSUITE_ACM_INFO(0x0335), }, /* Nokia E7 */ + { NOKIA_PCSUITE_ACM_INFO(0x03cd), }, /* Nokia C7 */ + { SAMSUNG_PCSUITE_ACM_INFO(0x6651), }, /* Samsung GTi8510 (INNOV8) */ + + /* Support for Owen devices */ + { USB_DEVICE(0x03eb, 0x0030), }, /* Owen SI30 */ + + /* NOTE: non-Nokia COMM/ACM/0xff is likely MSFT RNDIS... NOT a modem! */ + + /* control interfaces without any protocol set */ + { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, + USB_CDC_PROTO_NONE) }, /* control interfaces with various AT-command sets */ { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, @@ -1533,7 +1643,6 @@ { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, USB_CDC_ACM_PROTO_AT_CDMA) }, - /* NOTE: COMM/ACM/0xff is likely MSFT RNDIS ... NOT a modem!! */ { } }; --- linux-2.6.32.orig/drivers/usb/class/cdc-acm.h +++ linux-2.6.32/drivers/usb/class/cdc-acm.h @@ -112,7 +112,6 @@ struct mutex mutex; struct usb_cdc_line_coding line; /* bits, stop, parity */ struct work_struct work; /* work queue entry for line discipline waking up */ - struct work_struct waker; wait_queue_head_t drain_wait; /* close processing */ struct tasklet_struct urb_task; /* rx processing */ spinlock_t throttle_lock; /* synchronize throtteling and read callback */ --- linux-2.6.32.orig/drivers/usb/class/cdc-wdm.c +++ linux-2.6.32/drivers/usb/class/cdc-wdm.c @@ -277,7 +277,7 @@ desc->sbuf, desc->validity->transfer_dma); usb_buffer_free(interface_to_usbdev(desc->intf), - desc->wMaxCommand, + desc->bMaxPacketSize0, desc->inbuf, desc->response->transfer_dma); kfree(desc->orq); @@ -314,7 +314,7 @@ if (r < 0) goto outnp; - if (!file->f_flags && O_NONBLOCK) + if (!(file->f_flags & O_NONBLOCK)) r = wait_event_interruptible(desc->wait, !test_bit(WDM_IN_USE, &desc->flags)); else @@ -458,7 +458,9 @@ for (i = 0; i < desc->length - cntr; i++) desc->ubuf[i] = desc->ubuf[i + cntr]; + spin_lock_irq(&desc->iuspin); desc->length -= cntr; + spin_unlock_irq(&desc->iuspin); /* in case we had outstanding data */ if (!desc->length) clear_bit(WDM_READ, &desc->flags); --- linux-2.6.32.orig/drivers/usb/class/usbtmc.c +++ linux-2.6.32/drivers/usb/class/usbtmc.c @@ -267,7 +267,7 @@ dev_err(dev, "usb_bulk_msg returned %d\n", rv); goto exit; } - } while ((actual = max_size) && + } while ((actual == max_size) && (n < USBTMC_MAX_READS_TO_CLEAR_BULK_IN)); if (actual == max_size) { @@ -562,10 +562,16 @@ n_bytes = roundup(12 + this_part, 4); memset(buffer + 12 + this_part, 0, n_bytes - (12 + this_part)); - retval = usb_bulk_msg(data->usb_dev, - usb_sndbulkpipe(data->usb_dev, - data->bulk_out), - buffer, n_bytes, &actual, USBTMC_TIMEOUT); + do { + retval = usb_bulk_msg(data->usb_dev, + usb_sndbulkpipe(data->usb_dev, + data->bulk_out), + buffer, n_bytes, + &actual, USBTMC_TIMEOUT); + if (retval != 0) + break; + n_bytes -= actual; + } while (n_bytes); data->bTag_last_write = data->bTag; data->bTag++; --- linux-2.6.32.orig/drivers/usb/core/devices.c +++ linux-2.6.32/drivers/usb/core/devices.c @@ -65,8 +65,8 @@ #define ALLOW_SERIAL_NUMBER static const char *format_topo = -/* T: Bus=dd Lev=dd Prnt=dd Port=dd Cnt=dd Dev#=ddd Spd=ddd MxCh=dd */ -"\nT: Bus=%2.2d Lev=%2.2d Prnt=%2.2d Port=%2.2d Cnt=%2.2d Dev#=%3d Spd=%3s MxCh=%2d\n"; +/* T: Bus=dd Lev=dd Prnt=dd Port=dd Cnt=dd Dev#=ddd Spd=dddd MxCh=dd */ +"\nT: Bus=%2.2d Lev=%2.2d Prnt=%2.2d Port=%2.2d Cnt=%2.2d Dev#=%3d Spd=%-4s MxCh=%2d\n"; static const char *format_string_manufacturer = /* S: Manufacturer=xxxx */ @@ -211,7 +211,7 @@ break; case USB_ENDPOINT_XFER_INT: type = "Int."; - if (speed == USB_SPEED_HIGH) + if (speed == USB_SPEED_HIGH || speed == USB_SPEED_SUPER) interval = 1 << (desc->bInterval - 1); else interval = desc->bInterval; @@ -219,7 +219,8 @@ default: /* "can't happen" */ return start; } - interval *= (speed == USB_SPEED_HIGH) ? 125 : 1000; + interval *= (speed == USB_SPEED_HIGH || + speed == USB_SPEED_SUPER) ? 125 : 1000; if (interval % 1000) unit = 'u'; else { @@ -494,7 +495,7 @@ return 0; /* allocate 2^1 pages = 8K (on i386); * should be more than enough for one device */ - pages_start = (char *)__get_free_pages(GFP_KERNEL, 1); + pages_start = (char *)__get_free_pages(GFP_NOIO, 1); if (!pages_start) return -ENOMEM; @@ -509,11 +510,13 @@ speed = "1.5"; break; case USB_SPEED_UNKNOWN: /* usb 1.1 root hub code */ case USB_SPEED_FULL: - speed = "12 "; break; + speed = "12"; break; case USB_SPEED_HIGH: speed = "480"; break; + case USB_SPEED_SUPER: + speed = "5000"; break; default: - speed = "?? "; + speed = "??"; } data_end = pages_start + sprintf(pages_start, format_topo, bus->busnum, level, parent_devnum, @@ -529,8 +532,9 @@ if (level == 0) { int max; - /* high speed reserves 80%, full/low reserves 90% */ - if (usbdev->speed == USB_SPEED_HIGH) + /* super/high speed reserves 80%, full/low reserves 90% */ + if (usbdev->speed == USB_SPEED_HIGH || + usbdev->speed == USB_SPEED_SUPER) max = 800; else max = FRAME_TIME_MAX_USECS_ALLOC; --- linux-2.6.32.orig/drivers/usb/core/devio.c +++ linux-2.6.32/drivers/usb/core/devio.c @@ -403,7 +403,7 @@ sinfo.si_errno = as->status; sinfo.si_code = SI_ASYNCIO; sinfo.si_addr = as->userurb; - pid = as->pid; + pid = get_pid(as->pid); uid = as->uid; euid = as->euid; secid = as->secid; @@ -416,9 +416,11 @@ cancel_bulk_urbs(ps, as->bulk_addr); spin_unlock(&ps->lock); - if (signr) + if (signr) { kill_pid_info_as_uid(sinfo.si_signo, &sinfo, pid, uid, euid, secid); + put_pid(pid); + } wake_up(&ps->wait); } @@ -946,10 +948,11 @@ static int proc_connectinfo(struct dev_state *ps, void __user *arg) { - struct usbdevfs_connectinfo ci; + struct usbdevfs_connectinfo ci = { + .devnum = ps->dev->devnum, + .slow = ps->dev->speed == USB_SPEED_LOW + }; - ci.devnum = ps->dev->devnum; - ci.slow = ps->dev->speed == USB_SPEED_LOW; if (copy_to_user(arg, &ci, sizeof(ci))) return -EFAULT; return 0; @@ -1176,6 +1179,13 @@ free_async(as); return -ENOMEM; } + /* Isochronous input data may end up being discontiguous + * if some of the packets are short. Clear the buffer so + * that the gaps don't leak kernel data to userspace. + */ + if (is_in && uurb->type == USBDEVFS_URB_TYPE_ISO) + memset(as->urb->transfer_buffer, 0, + uurb->buffer_length); } as->urb->dev = ps->dev; as->urb->pipe = (uurb->type << 30) | @@ -1312,10 +1322,14 @@ void __user *addr = as->userurb; unsigned int i; - if (as->userbuffer) - if (copy_to_user(as->userbuffer, urb->transfer_buffer, - urb->transfer_buffer_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)) goto err_out; + } if (put_user(as->status, &userurb->status)) goto err_out; if (put_user(urb->actual_length, &userurb->actual_length)) @@ -1334,14 +1348,11 @@ } } - free_async(as); - if (put_user(addr, (void __user * __user *)arg)) return -EFAULT; return 0; err_out: - free_async(as); return -EFAULT; } @@ -1371,8 +1382,11 @@ static int proc_reapurb(struct dev_state *ps, void __user *arg) { struct async *as = reap_as(ps); - if (as) - return processcompl(as, (void __user * __user *)arg); + if (as) { + int retval = processcompl(as, (void __user * __user *)arg); + free_async(as); + return retval; + } if (signal_pending(current)) return -EINTR; return -EIO; @@ -1380,11 +1394,16 @@ static int proc_reapurbnonblock(struct dev_state *ps, void __user *arg) { + int retval; struct async *as; - if (!(as = async_getcompleted(ps))) - return -EAGAIN; - return processcompl(as, (void __user * __user *)arg); + as = async_getcompleted(ps); + retval = -EAGAIN; + if (as) { + retval = processcompl(as, (void __user * __user *)arg); + free_async(as); + } + return retval; } #ifdef CONFIG_COMPAT @@ -1435,9 +1454,9 @@ void __user *addr = as->userurb; unsigned int i; - if (as->userbuffer) + if (as->userbuffer && urb->actual_length) if (copy_to_user(as->userbuffer, urb->transfer_buffer, - urb->transfer_buffer_length)) + urb->actual_length)) return -EFAULT; if (put_user(as->status, &userurb->status)) return -EFAULT; @@ -1457,7 +1476,6 @@ } } - free_async(as); if (put_user(ptr_to_compat(addr), (u32 __user *)arg)) return -EFAULT; return 0; @@ -1466,8 +1484,11 @@ static int proc_reapurb_compat(struct dev_state *ps, void __user *arg) { struct async *as = reap_as(ps); - if (as) - return processcompl_compat(as, (void __user * __user *)arg); + if (as) { + int retval = processcompl_compat(as, (void __user * __user *)arg); + free_async(as); + return retval; + } if (signal_pending(current)) return -EINTR; return -EIO; @@ -1475,11 +1496,16 @@ static int proc_reapurbnonblock_compat(struct dev_state *ps, void __user *arg) { + int retval; struct async *as; - if (!(as = async_getcompleted(ps))) - return -EAGAIN; - return processcompl_compat(as, (void __user * __user *)arg); + retval = -EAGAIN; + as = async_getcompleted(ps); + if (as) { + retval = processcompl_compat(as, (void __user * __user *)arg); + free_async(as); + } + return retval; } #endif --- linux-2.6.32.orig/drivers/usb/core/driver.c +++ linux-2.6.32/drivers/usb/core/driver.c @@ -625,9 +625,6 @@ { struct usb_device *usb_dev; - /* driver is often null here; dev_dbg() would oops */ - pr_debug("usb %s: uevent\n", dev_name(dev)); - if (is_usb_device(dev)) { usb_dev = to_usb_device(dev); } else if (is_usb_interface(dev)) { @@ -639,6 +636,7 @@ } if (usb_dev->devnum < 0) { + /* driver is often null here; dev_dbg() would oops */ pr_debug("usb %s: already deleted?\n", dev_name(dev)); return -ENODEV; } @@ -1177,9 +1175,8 @@ udev->state == USB_STATE_SUSPENDED) goto done; - udev->do_remote_wakeup = device_may_wakeup(&udev->dev); - if (msg.event & PM_EVENT_AUTO) { + udev->do_remote_wakeup = device_may_wakeup(&udev->dev); status = autosuspend_check(udev, 0); if (status < 0) goto done; @@ -1190,13 +1187,22 @@ for (; i < udev->actconfig->desc.bNumInterfaces; i++) { intf = udev->actconfig->interface[i]; status = usb_suspend_interface(udev, intf, msg); + + /* Ignore errors during system sleep transitions */ + if (!(msg.event & PM_EVENT_AUTO)) + status = 0; if (status != 0) break; } } - if (status == 0) + if (status == 0) { status = usb_suspend_device(udev, msg); + /* Again, ignore errors during system sleep transitions */ + if (!(msg.event & PM_EVENT_AUTO)) + status = 0; + } + /* If the suspend failed, resume interfaces that did get suspended */ if (status != 0) { pm_message_t msg2; @@ -1744,6 +1750,23 @@ return status; } +static void choose_wakeup(struct usb_device *udev, pm_message_t msg) +{ + /* Remote wakeup is needed only when we actually go to sleep. + * For things like FREEZE and QUIESCE, if the device is already + * autosuspended then its current wakeup setting is okay. + */ + if (msg.event == PM_EVENT_FREEZE || msg.event == PM_EVENT_QUIESCE) { + udev->do_remote_wakeup = 0; + return; + } + + /* Allow remote wakeup if it is enabled, even if no interface drivers + * actually want it. + */ + udev->do_remote_wakeup = device_may_wakeup(&udev->dev); +} + int usb_suspend(struct device *dev, pm_message_t msg) { struct usb_device *udev; @@ -1763,6 +1786,7 @@ } udev->skip_sys_resume = 0; + choose_wakeup(udev, msg); return usb_external_suspend_device(udev, msg); } --- linux-2.6.32.orig/drivers/usb/core/file.c +++ linux-2.6.32/drivers/usb/core/file.c @@ -159,9 +159,9 @@ int usb_register_dev(struct usb_interface *intf, struct usb_class_driver *class_driver) { - int retval = -EINVAL; + int retval; int minor_base = class_driver->minor_base; - int minor = 0; + int minor; char name[20]; char *temp; @@ -173,12 +173,17 @@ */ minor_base = 0; #endif - intf->minor = -1; - - dbg ("looking for a minor, starting at %d", minor_base); if (class_driver->fops == NULL) - goto exit; + return -EINVAL; + if (intf->minor >= 0) + return -EADDRINUSE; + + retval = init_usb_class(); + if (retval) + return retval; + + dev_dbg(&intf->dev, "looking for a minor, starting at %d", minor_base); down_write(&minor_rwsem); for (minor = minor_base; minor < MAX_USB_MINORS; ++minor) { @@ -186,20 +191,12 @@ continue; usb_minors[minor] = class_driver->fops; - - retval = 0; + intf->minor = minor; break; } up_write(&minor_rwsem); - - if (retval) - goto exit; - - retval = init_usb_class(); - if (retval) - goto exit; - - intf->minor = minor; + if (intf->minor < 0) + return -EXFULL; /* create a usb class device for this usb interface */ snprintf(name, sizeof(name), class_driver->name, minor - minor_base); @@ -213,11 +210,11 @@ "%s", temp); if (IS_ERR(intf->usb_dev)) { down_write(&minor_rwsem); - usb_minors[intf->minor] = NULL; + usb_minors[minor] = NULL; + intf->minor = -1; up_write(&minor_rwsem); retval = PTR_ERR(intf->usb_dev); } -exit: return retval; } EXPORT_SYMBOL_GPL(usb_register_dev); --- linux-2.6.32.orig/drivers/usb/core/generic.c +++ linux-2.6.32/drivers/usb/core/generic.c @@ -120,7 +120,7 @@ * than a vendor-specific driver. */ else if (udev->descriptor.bDeviceClass != USB_CLASS_VENDOR_SPEC && - (!desc || desc->bInterfaceClass != + (desc && desc->bInterfaceClass != USB_CLASS_VENDOR_SPEC)) { best = c; break; --- linux-2.6.32.orig/drivers/usb/core/hcd-pci.c +++ linux-2.6.32/drivers/usb/core/hcd-pci.c @@ -197,8 +197,10 @@ if (!hcd) return; - if (hcd->driver->shutdown) + if (hcd->driver->shutdown) { hcd->driver->shutdown(hcd); + pci_disable_device(dev); + } } EXPORT_SYMBOL_GPL(usb_hcd_pci_shutdown); --- linux-2.6.32.orig/drivers/usb/core/hcd.c +++ linux-2.6.32/drivers/usb/core/hcd.c @@ -140,7 +140,7 @@ 0x09, /* __u8 bMaxPacketSize0; 2^9 = 512 Bytes */ 0x6b, 0x1d, /* __le16 idVendor; Linux Foundation */ - 0x02, 0x00, /* __le16 idProduct; device 0x0002 */ + 0x03, 0x00, /* __le16 idProduct; device 0x0003 */ KERNEL_VER, KERNEL_REL, /* __le16 bcdDevice */ 0x03, /* __u8 iManufacturer; */ --- linux-2.6.32.orig/drivers/usb/core/hub.c +++ linux-2.6.32/drivers/usb/core/hub.c @@ -22,6 +22,8 @@ #include #include #include +#include +#include #include #include @@ -325,7 +327,8 @@ { int i, status = -ETIMEDOUT; - for (i = 0; i < USB_STS_RETRIES && status == -ETIMEDOUT; i++) { + for (i = 0; i < USB_STS_RETRIES && + (status == -ETIMEDOUT || status == -EPIPE); i++) { status = usb_control_msg(hdev, usb_rcvctrlpipe(hdev, 0), USB_REQ_GET_STATUS, USB_DIR_IN | USB_RT_HUB, 0, 0, data, sizeof(*data), USB_STS_TIMEOUT); @@ -341,7 +344,8 @@ { int i, status = -ETIMEDOUT; - for (i = 0; i < USB_STS_RETRIES && status == -ETIMEDOUT; i++) { + for (i = 0; i < USB_STS_RETRIES && + (status == -ETIMEDOUT || status == -EPIPE); i++) { status = usb_control_msg(hdev, usb_rcvctrlpipe(hdev, 0), USB_REQ_GET_STATUS, USB_DIR_IN | USB_RT_PORT, 0, port1, data, sizeof(*data), USB_STS_TIMEOUT); @@ -647,6 +651,8 @@ static void hub_activate(struct usb_hub *hub, enum hub_activation_type type) { struct usb_device *hdev = hub->hdev; + struct usb_hcd *hcd; + int ret; int port1; int status; bool need_debounce_delay = false; @@ -685,6 +691,25 @@ atomic_set(&to_usb_interface(hub->intfdev)-> pm_usage_cnt, 1); return; /* Continues at init2: below */ + } else if (type == HUB_RESET_RESUME) { + /* The internal host controller state for the hub device + * may be gone after a host power loss on system resume. + * Update the device's info so the HW knows it's a hub. + */ + hcd = bus_to_hcd(hdev->bus); + if (hcd->driver->update_hub_device) { + ret = hcd->driver->update_hub_device(hcd, hdev, + &hub->tt, GFP_NOIO); + if (ret < 0) { + dev_err(hub->intfdev, "Host not " + "accepting hub info " + "update.\n"); + dev_err(hub->intfdev, "LS/FS devices " + "and hubs may not work " + "under this hub\n."); + } + } + hub_power_on(hub, true); } else { hub_power_on(hub, true); } @@ -1402,11 +1427,11 @@ || new_state == USB_STATE_SUSPENDED) ; /* No change to wakeup settings */ else if (new_state == USB_STATE_CONFIGURED) - device_init_wakeup(&udev->dev, + device_set_wakeup_capable(&udev->dev, (udev->actconfig->desc.bmAttributes & USB_CONFIG_ATT_WAKEUP)); else - device_init_wakeup(&udev->dev, 0); + device_set_wakeup_capable(&udev->dev, 0); } if (udev->state == USB_STATE_SUSPENDED && new_state != USB_STATE_SUSPENDED) @@ -1508,6 +1533,15 @@ #endif +static void hub_free_dev(struct usb_device *udev) +{ + struct usb_hcd *hcd = bus_to_hcd(udev->bus); + + /* Root hubs aren't real devices, so don't free HCD resources */ + if (hcd->driver->free_dev && udev->parent) + hcd->driver->free_dev(hcd, udev); +} + /** * usb_disconnect - disconnect a device (usbcore-internal) * @pdev: pointer to device being disconnected @@ -1578,6 +1612,8 @@ usb_stop_pm(udev); + hub_free_dev(udev); + put_device(&udev->dev); } @@ -1612,12 +1648,12 @@ #endif /** - * usb_configure_device_otg - FIXME (usbcore-internal) + * usb_enumerate_device_otg - FIXME (usbcore-internal) * @udev: newly addressed device (in ADDRESS state) * - * Do configuration for On-The-Go devices + * Finish enumeration for On-The-Go devices */ -static int usb_configure_device_otg(struct usb_device *udev) +static int usb_enumerate_device_otg(struct usb_device *udev) { int err = 0; @@ -1688,7 +1724,7 @@ /** - * usb_configure_device - Detect and probe device intfs/otg (usbcore-internal) + * usb_enumerate_device - Read device configs/intfs/otg (usbcore-internal) * @udev: newly addressed device (in ADDRESS state) * * This is only called by usb_new_device() and usb_authorize_device() @@ -1699,7 +1735,7 @@ * the string descriptors, as they will be errored out by the device * until it has been authorized. */ -static int usb_configure_device(struct usb_device *udev) +static int usb_enumerate_device(struct usb_device *udev) { int err; @@ -1723,7 +1759,7 @@ udev->descriptor.iManufacturer); udev->serial = usb_cache_string(udev, udev->descriptor.iSerialNumber); } - err = usb_configure_device_otg(udev); + err = usb_enumerate_device_otg(udev); fail: return err; } @@ -1733,8 +1769,8 @@ * usb_new_device - perform initial device setup (usbcore-internal) * @udev: newly addressed device (in ADDRESS state) * - * This is called with devices which have been enumerated, but not yet - * configured. The device descriptor is available, but not descriptors + * This is called with devices which have been detected but not fully + * enumerated. The device descriptor is available, but not descriptors * for any device configuration. The caller must have locked either * the parent hub (if udev is a normal device) or else the * usb_bus_list_lock (if udev is a root hub). The parent's pointer to @@ -1753,12 +1789,18 @@ { int err; - /* Increment the parent's count of unsuspended children */ - if (udev->parent) + if (udev->parent) { + /* Increment the parent's count of unsuspended children */ usb_autoresume_device(udev->parent); - usb_detect_quirks(udev); /* Determine quirks */ - err = usb_configure_device(udev); /* detect & probe dev/intfs */ + /* Initialize non-root-hub device wakeup to disabled; + * device (un)configuration controls wakeup capable + * sysfs power/wakeup controls wakeup enabled/disabled + */ + device_init_wakeup(&udev->dev, 0); + } + + err = usb_enumerate_device(udev); /* Read descriptors */ if (err < 0) goto fail; dev_dbg(&udev->dev, "udev %d, busnum %d, minor = %d\n", @@ -1803,23 +1845,36 @@ */ int usb_deauthorize_device(struct usb_device *usb_dev) { - unsigned cnt; + char *product = NULL; + char *manufacturer = NULL; + char *serial = NULL; + usb_lock_device(usb_dev); if (usb_dev->authorized == 0) goto out_unauthorized; + usb_dev->authorized = 0; usb_set_configuration(usb_dev, -1); + + product = usb_dev->product; + manufacturer = usb_dev->manufacturer; + serial = usb_dev->serial; + usb_dev->product = kstrdup("n/a (unauthorized)", GFP_KERNEL); usb_dev->manufacturer = kstrdup("n/a (unauthorized)", GFP_KERNEL); usb_dev->serial = kstrdup("n/a (unauthorized)", GFP_KERNEL); - kfree(usb_dev->config); - usb_dev->config = NULL; - for (cnt = 0; cnt < usb_dev->descriptor.bNumConfigurations; cnt++) - kfree(usb_dev->rawdescriptors[cnt]); + + usb_destroy_configuration(usb_dev); usb_dev->descriptor.bNumConfigurations = 0; - kfree(usb_dev->rawdescriptors); + out_unauthorized: usb_unlock_device(usb_dev); + if (product || manufacturer || serial) { + synchronize_rcu(); + kfree(product); + kfree(manufacturer); + kfree(serial); + } return 0; } @@ -1827,15 +1882,14 @@ 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) goto out_authorized; - kfree(usb_dev->product); - usb_dev->product = NULL; - kfree(usb_dev->manufacturer); - usb_dev->manufacturer = NULL; - kfree(usb_dev->serial); - usb_dev->serial = NULL; + result = usb_autoresume_device(usb_dev); if (result < 0) { dev_err(&usb_dev->dev, @@ -1848,10 +1902,19 @@ "authorization: %d\n", result); goto error_device_descriptor; } + + product = usb_dev->product; + manufacturer = usb_dev->manufacturer; + serial = usb_dev->serial; + + usb_dev->product = NULL; + usb_dev->manufacturer = NULL; + usb_dev->serial = NULL; + usb_dev->authorized = 1; - result = usb_configure_device(usb_dev); + result = usb_enumerate_device(usb_dev); if (result < 0) - goto error_configure; + goto error_enumerate; /* Choose and set the configuration. This registers the interfaces * with the driver core and lets interface drivers bind to them. */ @@ -1866,11 +1929,19 @@ } } dev_info(&usb_dev->dev, "authorized to connect\n"); -error_configure: + +error_enumerate: error_device_descriptor: + usb_autosuspend_device(usb_dev); 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; } @@ -2139,6 +2210,10 @@ USB_DEVICE_REMOTE_WAKEUP, 0, NULL, 0, USB_CTRL_SET_TIMEOUT); + + /* System sleep transitions should never fail */ + if (!(msg.event & PM_EVENT_AUTO)) + status = 0; } else { /* device has up to 10 msec to fully suspend */ dev_dbg(&udev->dev, "usb %ssuspend\n", @@ -2378,16 +2453,15 @@ struct usb_device *hdev = hub->hdev; unsigned port1; - /* fail if children aren't already suspended */ + /* Warn if children aren't already suspended */ for (port1 = 1; port1 <= hdev->maxchild; port1++) { struct usb_device *udev; udev = hdev->children [port1-1]; if (udev && udev->can_submit) { - if (!(msg.event & PM_EVENT_AUTO)) - dev_dbg(&intf->dev, "port %d nyet suspended\n", - port1); - return -EBUSY; + dev_warn(&intf->dev, "port %d nyet suspended\n", port1); + if (msg.event & PM_EVENT_AUTO) + return -EBUSY; } } @@ -2664,6 +2738,11 @@ udev->ttport = hdev->ttport; } else if (udev->speed != USB_SPEED_HIGH && hdev->speed == USB_SPEED_HIGH) { + if (!hub->tt.hub) { + dev_err(&udev->dev, "parent hub has no TT\n"); + retval = -EINVAL; + goto fail; + } udev->tt = &hub->tt; udev->ttport = port1; } @@ -2802,13 +2881,16 @@ else i = udev->descriptor.bMaxPacketSize0; if (le16_to_cpu(udev->ep0.desc.wMaxPacketSize) != i) { - if (udev->speed != USB_SPEED_FULL || + if (udev->speed == USB_SPEED_LOW || !(i == 8 || i == 16 || i == 32 || i == 64)) { - dev_err(&udev->dev, "ep0 maxpacket = %d\n", i); + dev_err(&udev->dev, "Invalid ep0 maxpacket: %d\n", i); retval = -EMSGSIZE; goto fail; } - dev_dbg(&udev->dev, "ep0 maxpacket = %d\n", i); + if (udev->speed == USB_SPEED_FULL) + dev_dbg(&udev->dev, "ep0 maxpacket = %d\n", i); + else + dev_warn(&udev->dev, "Using ep0 maxpacket: %d\n", i); udev->ep0.desc.wMaxPacketSize = cpu_to_le16(i); usb_ep0_reinit(udev); } @@ -3044,6 +3126,10 @@ if (status < 0) goto loop; + usb_detect_quirks(udev); + if (udev->quirks & USB_QUIRK_DELAY_INIT) + msleep(1000); + /* consecutive bus-powered hubs aren't reliable; they can * violate the voltage drop budget. if the new child has * a "powered" LED, users should notice we didn't enable it @@ -3122,6 +3208,7 @@ loop: usb_ep0_reinit(udev); release_address(udev); + hub_free_dev(udev); usb_put_dev(udev); if ((status == -ENOTCONN) || (status == -ENOTSUPP)) break; @@ -3278,6 +3365,9 @@ USB_PORT_FEAT_C_SUSPEND); udev = hdev->children[i-1]; if (udev) { + /* TRSMRCY = 10 msec */ + msleep(10); + usb_lock_device(udev); ret = remote_wakeup(hdev-> children[i-1]); --- linux-2.6.32.orig/drivers/usb/core/inode.c +++ linux-2.6.32/drivers/usb/core/inode.c @@ -515,13 +515,13 @@ *dentry = NULL; mutex_lock(&parent->d_inode->i_mutex); *dentry = lookup_one_len(name, parent, strlen(name)); - if (!IS_ERR(dentry)) { + if (!IS_ERR(*dentry)) { if ((mode & S_IFMT) == S_IFDIR) error = usbfs_mkdir (parent->d_inode, *dentry, mode); else error = usbfs_create (parent->d_inode, *dentry, mode); } else - error = PTR_ERR(dentry); + error = PTR_ERR(*dentry); mutex_unlock(&parent->d_inode->i_mutex); return error; --- linux-2.6.32.orig/drivers/usb/core/message.c +++ linux-2.6.32/drivers/usb/core/message.c @@ -911,11 +911,11 @@ if (index <= 0) return NULL; - buf = kmalloc(MAX_USB_STRING_SIZE, GFP_KERNEL); + buf = kmalloc(MAX_USB_STRING_SIZE, GFP_NOIO); if (buf) { len = usb_string(udev, index, buf, MAX_USB_STRING_SIZE); if (len > 0) { - smallbuf = kmalloc(++len, GFP_KERNEL); + smallbuf = kmalloc(++len, GFP_NOIO); if (!smallbuf) return buf; memcpy(smallbuf, buf, len); @@ -1185,13 +1185,6 @@ { int i; - dev_dbg(&dev->dev, "%s nuking %s URBs\n", __func__, - skip_ep0 ? "non-ep0" : "all"); - for (i = skip_ep0; i < 16; ++i) { - usb_disable_endpoint(dev, i, true); - usb_disable_endpoint(dev, i + USB_DIR_IN, true); - } - /* getting rid of interfaces will disconnect * any drivers bound to them (a key side effect) */ @@ -1221,6 +1214,13 @@ if (dev->state == USB_STATE_CONFIGURED) usb_set_device_state(dev, USB_STATE_ADDRESS); } + + dev_dbg(&dev->dev, "%s nuking %s URBs\n", __func__, + skip_ep0 ? "non-ep0" : "all"); + for (i = skip_ep0; i < 16; ++i) { + usb_disable_endpoint(dev, i, true); + usb_disable_endpoint(dev, i + USB_DIR_IN, true); + } } /** @@ -1682,7 +1682,7 @@ if (cp) { nintf = cp->desc.bNumInterfaces; new_interfaces = kmalloc(nintf * sizeof(*new_interfaces), - GFP_KERNEL); + GFP_NOIO); if (!new_interfaces) { dev_err(&dev->dev, "Out of memory\n"); return -ENOMEM; @@ -1691,7 +1691,7 @@ for (; n < nintf; ++n) { new_interfaces[n] = kzalloc( sizeof(struct usb_interface), - GFP_KERNEL); + GFP_NOIO); if (!new_interfaces[n]) { dev_err(&dev->dev, "Out of memory\n"); ret = -ENOMEM; @@ -1792,6 +1792,7 @@ intf->dev.groups = usb_interface_groups; intf->dev.dma_mask = dev->dev.dma_mask; INIT_WORK(&intf->reset_ws, __usb_queue_reset_device); + intf->minor = -1; device_initialize(&intf->dev); mark_quiesced(intf); dev_set_name(&intf->dev, "%d-%s:%d.%d", --- linux-2.6.32.orig/drivers/usb/core/quirks.c +++ linux-2.6.32/drivers/usb/core/quirks.c @@ -38,9 +38,65 @@ /* Creative SB Audigy 2 NX */ { USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME }, + /* Logitech Webcam C200 */ + { USB_DEVICE(0x046d, 0x0802), .driver_info = USB_QUIRK_RESET_RESUME }, + + /* Logitech Webcam C250 */ + { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME }, + + /* Logitech Webcam B/C500 */ + { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME }, + + /* Logitech Webcam C600 */ + { USB_DEVICE(0x046d, 0x0808), .driver_info = USB_QUIRK_RESET_RESUME }, + + /* Logitech Webcam Pro 9000 */ + { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME }, + + /* Logitech Webcam C905 */ + { USB_DEVICE(0x046d, 0x080a), .driver_info = USB_QUIRK_RESET_RESUME }, + + /* Logitech Webcam C210 */ + { USB_DEVICE(0x046d, 0x0819), .driver_info = USB_QUIRK_RESET_RESUME }, + + /* Logitech Webcam C260 */ + { USB_DEVICE(0x046d, 0x081a), .driver_info = USB_QUIRK_RESET_RESUME }, + + /* Logitech Webcam C310 */ + { USB_DEVICE(0x046d, 0x081b), .driver_info = USB_QUIRK_RESET_RESUME }, + + /* Logitech Webcam C910 */ + { USB_DEVICE(0x046d, 0x0821), .driver_info = USB_QUIRK_RESET_RESUME }, + + /* Logitech Webcam C160 */ + { USB_DEVICE(0x046d, 0x0824), .driver_info = USB_QUIRK_RESET_RESUME }, + + /* Logitech Webcam C270 */ + { USB_DEVICE(0x046d, 0x0825), .driver_info = USB_QUIRK_RESET_RESUME }, + + /* Logitech Quickcam Pro 9000 */ + { USB_DEVICE(0x046d, 0x0990), .driver_info = USB_QUIRK_RESET_RESUME }, + + /* Logitech Quickcam E3500 */ + { USB_DEVICE(0x046d, 0x09a4), .driver_info = USB_QUIRK_RESET_RESUME }, + + /* Logitech Quickcam Vision Pro */ + { USB_DEVICE(0x046d, 0x09a6), .driver_info = USB_QUIRK_RESET_RESUME }, + + /* Logitech Harmony 700-series */ + { USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT }, + /* Philips PSC805 audio device */ { USB_DEVICE(0x0471, 0x0155), .driver_info = USB_QUIRK_RESET_RESUME }, + /* Artisman Watchdog Dongle */ + { USB_DEVICE(0x04b4, 0x0526), .driver_info = + USB_QUIRK_CONFIG_INTF_STRINGS }, + + /* Samsung Android phone modem - ID conflict with SPH-I500 */ + { USB_DEVICE(0x04e8, 0x6601), .driver_info = + USB_QUIRK_CONFIG_INTF_STRINGS }, + /* Roland SC-8820 */ { USB_DEVICE(0x0582, 0x0007), .driver_info = USB_QUIRK_RESET_RESUME }, @@ -58,12 +114,25 @@ { USB_DEVICE(0x06a3, 0x0006), .driver_info = USB_QUIRK_CONFIG_INTF_STRINGS }, + /* Guillemot Webcam Hercules Dualpix Exchange (2nd ID) */ + { USB_DEVICE(0x06f8, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME }, + + /* Guillemot Webcam Hercules Dualpix Exchange*/ + { USB_DEVICE(0x06f8, 0x3005), .driver_info = USB_QUIRK_RESET_RESUME }, + /* M-Systems Flash Disk Pioneers */ { USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME }, + /* Keytouch QWERTY Panel keyboard */ + { USB_DEVICE(0x0926, 0x3333), .driver_info = + USB_QUIRK_CONFIG_INTF_STRINGS }, + /* X-Rite/Gretag-Macbeth Eye-One Pro display colorimeter */ { USB_DEVICE(0x0971, 0x2000), .driver_info = USB_QUIRK_NO_SET_INTF }, + /* Broadcom BCM92035DGROM BT dongle */ + { USB_DEVICE(0x0a5c, 0x2021), .driver_info = USB_QUIRK_RESET_RESUME }, + /* Action Semiconductor flash disk */ { USB_DEVICE(0x10d6, 0x2200), .driver_info = USB_QUIRK_STRING_FETCH_255 }, --- linux-2.6.32.orig/drivers/usb/core/sysfs.c +++ linux-2.6.32/drivers/usb/core/sysfs.c @@ -82,9 +82,13 @@ struct device_attribute *attr, char *buf) \ { \ struct usb_device *udev; \ + int retval; \ \ udev = to_usb_device(dev); \ - return sprintf(buf, "%s\n", udev->name); \ + 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); @@ -111,6 +115,12 @@ case USB_SPEED_HIGH: speed = "480"; break; + case USB_SPEED_VARIABLE: + speed = "480"; + break; + case USB_SPEED_SUPER: + speed = "5000"; + break; default: speed = "unknown"; } --- linux-2.6.32.orig/drivers/usb/core/urb.c +++ linux-2.6.32/drivers/usb/core/urb.c @@ -137,6 +137,16 @@ } EXPORT_SYMBOL_GPL(usb_anchor_urb); +/* Callers must hold anchor->lock */ +static void __usb_unanchor_urb(struct urb *urb, struct usb_anchor *anchor) +{ + urb->anchor = NULL; + list_del(&urb->anchor_list); + usb_put_urb(urb); + if (list_empty(&anchor->urb_list)) + wake_up(&anchor->wait); +} + /** * usb_unanchor_urb - unanchors an URB * @urb: pointer to the urb to anchor @@ -156,17 +166,14 @@ return; spin_lock_irqsave(&anchor->lock, flags); - if (unlikely(anchor != urb->anchor)) { - /* we've lost the race to another thread */ - spin_unlock_irqrestore(&anchor->lock, flags); - return; - } - urb->anchor = NULL; - list_del(&urb->anchor_list); + /* + * At this point, we could be competing with another thread which + * has the same intention. To protect the urb from being unanchored + * twice, only the winner of the race gets the job. + */ + if (likely(anchor == urb->anchor)) + __usb_unanchor_urb(urb, anchor); spin_unlock_irqrestore(&anchor->lock, flags); - usb_put_urb(urb); - if (list_empty(&anchor->urb_list)) - wake_up(&anchor->wait); } EXPORT_SYMBOL_GPL(usb_unanchor_urb); @@ -725,20 +732,11 @@ void usb_unlink_anchored_urbs(struct usb_anchor *anchor) { struct urb *victim; - unsigned long flags; - spin_lock_irqsave(&anchor->lock, flags); - while (!list_empty(&anchor->urb_list)) { - victim = list_entry(anchor->urb_list.prev, struct urb, - anchor_list); - usb_get_urb(victim); - spin_unlock_irqrestore(&anchor->lock, flags); - /* this will unanchor the URB */ + while ((victim = usb_get_from_anchor(anchor)) != NULL) { usb_unlink_urb(victim); usb_put_urb(victim); - spin_lock_irqsave(&anchor->lock, flags); } - spin_unlock_irqrestore(&anchor->lock, flags); } EXPORT_SYMBOL_GPL(usb_unlink_anchored_urbs); @@ -775,12 +773,11 @@ victim = list_entry(anchor->urb_list.next, struct urb, anchor_list); usb_get_urb(victim); - spin_unlock_irqrestore(&anchor->lock, flags); - usb_unanchor_urb(victim); + __usb_unanchor_urb(victim, anchor); } else { - spin_unlock_irqrestore(&anchor->lock, flags); victim = NULL; } + spin_unlock_irqrestore(&anchor->lock, flags); return victim; } @@ -802,12 +799,7 @@ while (!list_empty(&anchor->urb_list)) { victim = list_entry(anchor->urb_list.prev, struct urb, anchor_list); - usb_get_urb(victim); - spin_unlock_irqrestore(&anchor->lock, flags); - /* this may free the URB */ - usb_unanchor_urb(victim); - usb_put_urb(victim); - spin_lock_irqsave(&anchor->lock, flags); + __usb_unanchor_urb(victim, anchor); } spin_unlock_irqrestore(&anchor->lock, flags); } --- linux-2.6.32.orig/drivers/usb/core/usb.c +++ linux-2.6.32/drivers/usb/core/usb.c @@ -132,7 +132,7 @@ struct find_interface_arg { int minor; - struct usb_interface *interface; + struct device_driver *drv; }; static int __find_interface(struct device *dev, void *data) @@ -143,12 +143,10 @@ if (!is_usb_interface(dev)) return 0; + if (dev->driver != arg->drv) + return 0; intf = to_usb_interface(dev); - if (intf->minor != -1 && intf->minor == arg->minor) { - arg->interface = intf; - return 1; - } - return 0; + return intf->minor == arg->minor; } /** @@ -156,21 +154,24 @@ * @drv: the driver whose current configuration is considered * @minor: the minor number of the desired device * - * This walks the driver device list and returns a pointer to the interface - * with the matching minor. Note, this only works for devices that share the - * USB major number. + * This walks the bus device list and returns a pointer to the interface + * with the matching minor and driver. Note, this only works for devices + * that share the USB major number. */ struct usb_interface *usb_find_interface(struct usb_driver *drv, int minor) { struct find_interface_arg argb; - int retval; + struct device *dev; argb.minor = minor; - argb.interface = NULL; - /* eat the error, it will be in argb.interface */ - retval = driver_for_each_device(&drv->drvwrap.driver, NULL, &argb, - __find_interface); - return argb.interface; + argb.drv = &drv->drvwrap.driver; + + dev = bus_find_device(&usb_bus_type, NULL, &argb, __find_interface); + + /* Drop reference count from bus_find_device */ + put_device(dev); + + return dev ? to_usb_interface(dev) : NULL; } EXPORT_SYMBOL_GPL(usb_find_interface); @@ -190,9 +191,6 @@ hcd = bus_to_hcd(udev->bus); usb_destroy_configuration(udev); - /* Root hubs aren't real devices, so don't free HCD resources */ - if (hcd->driver->free_dev && udev->parent) - hcd->driver->free_dev(hcd, udev); usb_put_hcd(hcd); kfree(udev->product); kfree(udev->manufacturer); --- linux-2.6.32.orig/drivers/usb/core/hcd.h +++ linux-2.6.32/drivers/usb/core/hcd.h @@ -234,7 +234,7 @@ /* xHCI specific functions */ /* Called by usb_alloc_dev to alloc HC device structures */ int (*alloc_dev)(struct usb_hcd *, struct usb_device *); - /* Called by usb_release_dev to free HC device structures */ + /* Called by usb_disconnect to free HC device structures */ void (*free_dev)(struct usb_hcd *, struct usb_device *); /* Bandwidth computation functions */ --- linux-2.6.32.orig/drivers/usb/gadget/at91_udc.c +++ linux-2.6.32/drivers/usb/gadget/at91_udc.c @@ -1687,7 +1687,7 @@ } /* newer chips have more FIFO memory than rm9200 */ - if (cpu_is_at91sam9260()) { + if (cpu_is_at91sam9260() || cpu_is_at91sam9g20()) { udc->ep[0].maxpacket = 64; udc->ep[3].maxpacket = 64; udc->ep[4].maxpacket = 512; --- linux-2.6.32.orig/drivers/usb/gadget/atmel_usba_udc.c +++ linux-2.6.32/drivers/usb/gadget/atmel_usba_udc.c @@ -2013,6 +2013,9 @@ } else { disable_irq(gpio_to_irq(udc->vbus_pin)); } + } else { + /* gpio_request fail so use -EINVAL for gpio_is_valid */ + udc->vbus_pin = -EINVAL; } } --- linux-2.6.32.orig/drivers/usb/gadget/dummy_hcd.c +++ linux-2.6.32/drivers/usb/gadget/dummy_hcd.c @@ -1886,6 +1886,7 @@ if (!hcd) return -ENOMEM; the_controller = hcd_to_dummy (hcd); + hcd->has_tt = 1; retval = usb_add_hcd(hcd, 0, 0); if (retval != 0) { --- linux-2.6.32.orig/drivers/usb/gadget/f_loopback.c +++ linux-2.6.32/drivers/usb/gadget/f_loopback.c @@ -373,7 +373,7 @@ /* support autoresume for remote wakeup testing */ if (autoresume) - sourcesink_driver.bmAttributes |= USB_CONFIG_ATT_WAKEUP; + loopback_driver.bmAttributes |= USB_CONFIG_ATT_WAKEUP; /* support OTG systems */ if (gadget_is_otg(cdev->gadget)) { --- linux-2.6.32.orig/drivers/usb/gadget/f_rndis.c +++ linux-2.6.32/drivers/usb/gadget/f_rndis.c @@ -400,8 +400,7 @@ */ case ((USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE) << 8) | USB_CDC_SEND_ENCAPSULATED_COMMAND: - if (w_length > req->length || w_value - || w_index != rndis->ctrl_id) + if (w_value || w_index != rndis->ctrl_id) goto invalid; /* read the request; process it later */ value = w_length; --- linux-2.6.32.orig/drivers/usb/gadget/fsl_udc_core.c +++ linux-2.6.32/drivers/usb/gadget/fsl_udc_core.c @@ -489,7 +489,7 @@ case USB_ENDPOINT_XFER_ISOC: /* Calculate transactions needed for high bandwidth iso */ mult = (unsigned char)(1 + ((max >> 11) & 0x03)); - max = max & 0x8ff; /* bit 0~10 */ + max = max & 0x7ff; /* bit 0~10 */ /* 3 transactions at most */ if (mult > 3) goto en_done; --- linux-2.6.32.orig/drivers/usb/gadget/rndis.c +++ linux-2.6.32/drivers/usb/gadget/rndis.c @@ -291,9 +291,13 @@ /* mandatory */ case OID_GEN_VENDOR_DESCRIPTION: pr_debug("%s: OID_GEN_VENDOR_DESCRIPTION\n", __func__); - length = strlen (rndis_per_dev_params [configNr].vendorDescr); - memcpy (outbuf, - rndis_per_dev_params [configNr].vendorDescr, length); + if ( rndis_per_dev_params [configNr].vendorDescr ) { + length = strlen (rndis_per_dev_params [configNr].vendorDescr); + memcpy (outbuf, + rndis_per_dev_params [configNr].vendorDescr, length); + } else { + outbuf[0] = 0; + } retval = 0; break; --- linux-2.6.32.orig/drivers/usb/gadget/printer.c +++ linux-2.6.32/drivers/usb/gadget/printer.c @@ -130,31 +130,31 @@ * parameters are in UTF-8 (superset of ASCII's 7 bit characters). */ -static ushort __initdata idVendor; +static ushort idVendor; module_param(idVendor, ushort, S_IRUGO); MODULE_PARM_DESC(idVendor, "USB Vendor ID"); -static ushort __initdata idProduct; +static ushort idProduct; module_param(idProduct, ushort, S_IRUGO); MODULE_PARM_DESC(idProduct, "USB Product ID"); -static ushort __initdata bcdDevice; +static ushort bcdDevice; module_param(bcdDevice, ushort, S_IRUGO); MODULE_PARM_DESC(bcdDevice, "USB Device version (BCD)"); -static char *__initdata iManufacturer; +static char *iManufacturer; module_param(iManufacturer, charp, S_IRUGO); MODULE_PARM_DESC(iManufacturer, "USB Manufacturer string"); -static char *__initdata iProduct; +static char *iProduct; module_param(iProduct, charp, S_IRUGO); MODULE_PARM_DESC(iProduct, "USB Product string"); -static char *__initdata iSerialNum; +static char *iSerialNum; module_param(iSerialNum, charp, S_IRUGO); MODULE_PARM_DESC(iSerialNum, "1"); -static char *__initdata iPNPstring; +static char *iPNPstring; module_param(iPNPstring, charp, S_IRUGO); MODULE_PARM_DESC(iPNPstring, "MFG:linux;MDL:g_printer;CLS:PRINTER;SN:1;"); --- linux-2.6.32.orig/drivers/usb/gadget/u_serial.c +++ linux-2.6.32/drivers/usb/gadget/u_serial.c @@ -535,17 +535,11 @@ list_move(&req->list, &port->read_pool); } - /* Push from tty to ldisc; this is immediate with low_latency, and - * may trigger callbacks to this driver ... so drop the spinlock. + /* Push from tty to ldisc; without low_latency set this is handled by + * a workqueue, so we won't get callbacks and can hold port_lock */ if (tty && do_push) { - spin_unlock_irq(&port->port_lock); tty_flip_buffer_push(tty); - wake_up_interruptible(&tty->read_wait); - spin_lock_irq(&port->port_lock); - - /* tty may have been closed */ - tty = port->port_tty; } @@ -783,11 +777,6 @@ port->open_count = 1; port->openclose = false; - /* low_latency means ldiscs work in tasklet context, without - * needing a workqueue schedule ... easier to keep up. - */ - tty->low_latency = 1; - /* if connected, start the I/O stream */ if (port->port_usb) { struct gserial *gser = port->port_usb; @@ -1194,6 +1183,7 @@ n_ports = 0; tty_unregister_driver(gs_tty_driver); + put_tty_driver(gs_tty_driver); gs_tty_driver = NULL; pr_debug("%s: cleaned up ttyGS* support\n", __func__); --- linux-2.6.32.orig/drivers/usb/host/ehci-hcd.c +++ linux-2.6.32/drivers/usb/host/ehci-hcd.c @@ -84,7 +84,8 @@ #define EHCI_IAA_MSECS 10 /* arbitrary */ #define EHCI_IO_JIFFIES (HZ/10) /* io watchdog > irq_thresh */ #define EHCI_ASYNC_JIFFIES (HZ/20) /* async idle timeout */ -#define EHCI_SHRINK_FRAMES 5 /* async qh unlink delay */ +#define EHCI_SHRINK_JIFFIES (DIV_ROUND_UP(HZ, 200) + 1) + /* 200-ms async qh unlink delay */ /* Initial IRQ latency: faster than hw default */ static int log2_irq_thresh = 0; // 0 to 6 @@ -103,6 +104,9 @@ #define INTR_MASK (STS_IAA | STS_FATAL | STS_PCD | STS_ERR | STS_INT) +/* for ASPM quirk of ISOC on AMD SB800 */ +static struct pci_dev *amd_nb_dev; + /*-------------------------------------------------------------------------*/ #include "ehci.h" @@ -136,10 +140,7 @@ break; /* case TIMER_ASYNC_SHRINK: */ default: - /* add a jiffie since we synch against the - * 8 KHz uframe counter. - */ - t = DIV_ROUND_UP(EHCI_SHRINK_FRAMES * HZ, 1000) + 1; + t = EHCI_SHRINK_JIFFIES; break; } mod_timer(&ehci->watchdog, t + jiffies); @@ -502,6 +503,11 @@ spin_unlock_irq (&ehci->lock); ehci_mem_cleanup (ehci); + if (amd_nb_dev) { + pci_dev_put(amd_nb_dev); + amd_nb_dev = NULL; + } + #ifdef EHCI_STATS ehci_dbg (ehci, "irq normal %ld err %ld reclaim %ld (lost %ld)\n", ehci->stats.normal, ehci->stats.error, ehci->stats.reclaim, @@ -537,17 +543,29 @@ ehci->iaa_watchdog.function = ehci_iaa_watchdog; ehci->iaa_watchdog.data = (unsigned long) ehci; + hcc_params = ehci_readl(ehci, &ehci->caps->hcc_params); + /* * hw default: 1K periodic list heads, one per frame. * periodic_size can shrink by USBCMD update if hcc_params allows. */ ehci->periodic_size = DEFAULT_I_TDPS; INIT_LIST_HEAD(&ehci->cached_itd_list); + INIT_LIST_HEAD(&ehci->cached_sitd_list); + + if (HCC_PGM_FRAMELISTLEN(hcc_params)) { + /* periodic schedule size can be smaller than default */ + switch (EHCI_TUNE_FLS) { + case 0: ehci->periodic_size = 1024; break; + case 1: ehci->periodic_size = 512; break; + case 2: ehci->periodic_size = 256; break; + default: BUG(); + } + } if ((retval = ehci_mem_init(ehci, GFP_KERNEL)) < 0) return retval; /* controllers may cache some of the periodic schedule ... */ - hcc_params = ehci_readl(ehci, &ehci->caps->hcc_params); if (HCC_ISOC_CACHE(hcc_params)) // full frame cache ehci->i_thresh = 8; else // N microframes cached @@ -596,12 +614,6 @@ /* periodic schedule size can be smaller than default */ temp &= ~(3 << 2); temp |= (EHCI_TUNE_FLS << 2); - switch (EHCI_TUNE_FLS) { - case 0: ehci->periodic_size = 1024; break; - case 1: ehci->periodic_size = 512; break; - case 2: ehci->periodic_size = 256; break; - default: BUG(); - } } ehci->command = temp; @@ -785,9 +797,10 @@ /* start 20 msec resume signaling from this port, * and make khubd collect PORT_STAT_C_SUSPEND to - * stop that signaling. + * stop that signaling. Use 5 ms extra for safety, + * like usb_port_resume() does. */ - ehci->reset_done [i] = jiffies + msecs_to_jiffies (20); + ehci->reset_done[i] = jiffies + msecs_to_jiffies(25); ehci_dbg (ehci, "port %d remote wakeup\n", i + 1); mod_timer(&hcd->rh_timer, ehci->reset_done[i]); } @@ -992,7 +1005,7 @@ /* endpoints can be iso streams. for now, we don't * accelerate iso completions ... so spin a while. */ - if (qh->hw->hw_info1 == 0) { + if (qh->hw == NULL) { ehci_vdbg (ehci, "iso delay\n"); goto idle_timeout; } @@ -1006,10 +1019,11 @@ tmp && tmp != qh; tmp = tmp->qh_next.qh) continue; - /* periodic qh self-unlinks on empty */ - if (!tmp) - goto nogood; - unlink_async (ehci, qh); + /* periodic qh self-unlinks on empty, and a COMPLETING qh + * may already be unlinked. + */ + if (tmp) + unlink_async(ehci, qh); /* FALL THROUGH */ case QH_STATE_UNLINK: /* wait for hw to finish? */ case QH_STATE_UNLINK_WAIT: @@ -1026,7 +1040,6 @@ } /* else FALL THROUGH */ default: -nogood: /* caller was supposed to have unlinked any requests; * that's not our job. just leak this memory. */ --- linux-2.6.32.orig/drivers/usb/host/ehci-hub.c +++ linux-2.6.32/drivers/usb/host/ehci-hub.c @@ -120,9 +120,26 @@ del_timer_sync(&ehci->watchdog); del_timer_sync(&ehci->iaa_watchdog); - port = HCS_N_PORTS (ehci->hcs_params); spin_lock_irq (&ehci->lock); + /* Once the controller is stopped, port resumes that are already + * in progress won't complete. Hence if remote wakeup is enabled + * for the root hub and any ports are in the middle of a resume or + * remote wakeup, we must fail the suspend. + */ + if (hcd->self.root_hub->do_remote_wakeup) { + port = HCS_N_PORTS(ehci->hcs_params); + while (port--) { + if (ehci->reset_done[port] != 0) { + spin_unlock_irq(&ehci->lock); + ehci_dbg(ehci, "suspend failed because " + "port %d is resuming\n", + port + 1); + return -EBUSY; + } + } + } + /* stop schedules, clean any completed work */ if (HC_IS_RUNNING(hcd->state)) { ehci_quiesce (ehci); @@ -138,6 +155,7 @@ */ ehci->bus_suspended = 0; ehci->owned_ports = 0; + port = HCS_N_PORTS(ehci->hcs_params); while (port--) { u32 __iomem *reg = &ehci->regs->port_status [port]; u32 t1 = ehci_readl(ehci, reg) & ~PORT_RWC_BITS; @@ -225,7 +243,7 @@ u32 temp; u32 power_okay; int i; - u8 resume_needed = 0; + unsigned long resume_needed = 0; if (time_before (jiffies, ehci->next_statechange)) msleep(5); @@ -274,12 +292,22 @@ /* manually resume the ports we suspended during bus_suspend() */ i = HCS_N_PORTS (ehci->hcs_params); while (i--) { + /* clear phy low power mode before resume */ + if (ehci->has_hostpc) { + u32 __iomem *hostpc_reg = + (u32 __iomem *)((u8 *)ehci->regs + + HOSTPC0 + 4 * (i & 0xff)); + temp = ehci_readl(ehci, hostpc_reg); + ehci_writel(ehci, temp & ~HOSTPC_PHCD, + hostpc_reg); + mdelay(5); + } temp = ehci_readl(ehci, &ehci->regs->port_status [i]); temp &= ~(PORT_RWC_BITS | PORT_WAKE_BITS); if (test_bit(i, &ehci->bus_suspended) && (temp & PORT_SUSPEND)) { temp |= PORT_RESUME; - resume_needed = 1; + set_bit(i, &resume_needed); } ehci_writel(ehci, temp, &ehci->regs->port_status [i]); } @@ -294,8 +322,7 @@ i = HCS_N_PORTS (ehci->hcs_params); while (i--) { temp = ehci_readl(ehci, &ehci->regs->port_status [i]); - if (test_bit(i, &ehci->bus_suspended) && - (temp & PORT_SUSPEND)) { + if (test_bit(i, &resume_needed)) { temp &= ~(PORT_RWC_BITS | PORT_RESUME); ehci_writel(ehci, temp, &ehci->regs->port_status [i]); ehci_vdbg (ehci, "resumed port %d\n", i + 1); @@ -658,6 +685,13 @@ if (temp & PORT_SUSPEND) { if ((temp & PORT_PE) == 0) goto error; + /* clear phy low power mode before resume */ + if (hostpc_reg) { + temp1 = ehci_readl(ehci, hostpc_reg); + ehci_writel(ehci, temp1 & ~HOSTPC_PHCD, + hostpc_reg); + mdelay(5); + } /* resume signaling for 20 msec */ temp &= ~(PORT_RWC_BITS | PORT_WAKE_BITS); ehci_writel(ehci, temp | PORT_RESUME, @@ -723,10 +757,11 @@ * power switching; they're allowed to just limit the * current. khubd will turn the power back on. */ - if (HCS_PPC (ehci->hcs_params)){ + if ((temp & PORT_OC) && HCS_PPC(ehci->hcs_params)) { ehci_writel(ehci, temp & ~(PORT_RWC_BITS | PORT_POWER), status_reg); + temp = ehci_readl(ehci, status_reg); } } --- linux-2.6.32.orig/drivers/usb/host/ehci-mem.c +++ linux-2.6.32/drivers/usb/host/ehci-mem.c @@ -136,7 +136,7 @@ static void ehci_mem_cleanup (struct ehci_hcd *ehci) { - free_cached_itd_list(ehci); + free_cached_lists(ehci); if (ehci->async) qh_put (ehci->async); ehci->async = NULL; --- linux-2.6.32.orig/drivers/usb/host/ehci-pci.c +++ linux-2.6.32/drivers/usb/host/ehci-pci.c @@ -41,6 +41,42 @@ return 0; } +static int ehci_quirk_amd_hudson(struct ehci_hcd *ehci) +{ + struct pci_dev *amd_smbus_dev; + u8 rev = 0; + + amd_smbus_dev = pci_get_device(PCI_VENDOR_ID_ATI, 0x4385, NULL); + if (amd_smbus_dev) { + pci_read_config_byte(amd_smbus_dev, PCI_REVISION_ID, &rev); + if (rev < 0x40) { + pci_dev_put(amd_smbus_dev); + amd_smbus_dev = NULL; + return 0; + } + } else { + amd_smbus_dev = pci_get_device(PCI_VENDOR_ID_AMD, 0x780b, NULL); + if (!amd_smbus_dev) + return 0; + pci_read_config_byte(amd_smbus_dev, PCI_REVISION_ID, &rev); + if (rev < 0x11 || rev > 0x18) { + pci_dev_put(amd_smbus_dev); + amd_smbus_dev = NULL; + return 0; + } + } + + if (!amd_nb_dev) + amd_nb_dev = pci_get_device(PCI_VENDOR_ID_AMD, 0x1510, NULL); + + ehci_info(ehci, "QUIRK: Enable exception for AMD Hudson ASPM\n"); + + pci_dev_put(amd_smbus_dev); + amd_smbus_dev = NULL; + + return 1; +} + /* called during probe() after chip reset completes */ static int ehci_pci_setup(struct usb_hcd *hcd) { @@ -99,6 +135,9 @@ /* cache this readonly data; minimize chip reads */ ehci->hcs_params = ehci_readl(ehci, &ehci->caps->hcs_params); + if (ehci_quirk_amd_hudson(ehci)) + ehci->amd_l1_fix = 1; + retval = ehci_halt(ehci); if (retval) return retval; --- linux-2.6.32.orig/drivers/usb/host/ehci-ppc-of.c +++ linux-2.6.32/drivers/usb/host/ehci-ppc-of.c @@ -192,17 +192,19 @@ } rv = usb_add_hcd(hcd, irq, 0); - if (rv == 0) - return 0; + if (rv) + goto err_ehci; + return 0; + +err_ehci: + if (ehci->has_amcc_usb23) + iounmap(ehci->ohci_hcctrl_reg); iounmap(hcd->regs); err_ioremap: irq_dispose_mapping(irq); err_irq: release_mem_region(hcd->rsrc_start, hcd->rsrc_len); - - if (ehci->has_amcc_usb23) - iounmap(ehci->ohci_hcctrl_reg); err_rmr: usb_put_hcd(hcd); --- linux-2.6.32.orig/drivers/usb/host/ehci-q.c +++ linux-2.6.32/drivers/usb/host/ehci-q.c @@ -103,7 +103,7 @@ if (!(hw->hw_info1 & cpu_to_hc32(ehci, 1 << 14))) { unsigned is_out, epnum; - is_out = !(qtd->hw_token & cpu_to_hc32(ehci, 1 << 8)); + is_out = qh->is_out; epnum = (hc32_to_cpup(ehci, &hw->hw_info1) >> 8) & 0x0f; if (unlikely (!usb_gettoggle (qh->dev, epnum, is_out))) { hw->hw_token &= ~cpu_to_hc32(ehci, QTD_TOGGLE); @@ -315,7 +315,6 @@ int stopped; unsigned count = 0; u8 state; - const __le32 halt = HALT_BIT(ehci); struct ehci_qh_hw *hw = qh->hw; if (unlikely (list_empty (&qh->qtd_list))) @@ -422,7 +421,6 @@ && !(qtd->hw_alt_next & EHCI_LIST_END(ehci))) { stopped = 1; - goto halt; } /* stop scanning when we reach qtds the hc is using */ @@ -456,16 +454,6 @@ */ ehci_clear_tt_buffer(ehci, qh, urb, token); } - - /* force halt for unlinked or blocked qh, so we'll - * patch the qh later and so that completions can't - * activate it while we "know" it's stopped. - */ - if ((halt & hw->hw_token) == 0) { -halt: - hw->hw_token |= halt; - wmb (); - } } /* unless we already know the urb's status, collect qtd status @@ -827,9 +815,10 @@ * But interval 1 scheduling is simpler, and * includes high bandwidth. */ - dbg ("intr period %d uframes, NYET!", - urb->interval); - goto done; + urb->interval = 1; + } else if (qh->period > ehci->periodic_size) { + qh->period = ehci->periodic_size; + urb->interval = qh->period << 3; } } else { int think_time; @@ -852,6 +841,10 @@ usb_calc_bus_time (urb->dev->speed, is_input, 0, max_packet (maxp))); qh->period = urb->interval; + if (qh->period > ehci->periodic_size) { + qh->period = ehci->periodic_size; + urb->interval = qh->period; + } } } @@ -930,6 +923,7 @@ hw = qh->hw; hw->hw_info1 = cpu_to_hc32(ehci, info1); hw->hw_info2 = cpu_to_hc32(ehci, info2); + qh->is_out = !is_input; usb_settoggle (urb->dev, usb_pipeendpoint (urb->pipe), !is_input, 1); qh_refresh (ehci, qh); return qh; @@ -1210,6 +1204,8 @@ prev->hw->hw_next = qh->hw->hw_next; prev->qh_next = qh->qh_next; + if (ehci->qh_scan_next == qh) + ehci->qh_scan_next = qh->qh_next.qh; wmb (); /* If the controller isn't running, we don't have to wait for it */ @@ -1231,54 +1227,53 @@ static void scan_async (struct ehci_hcd *ehci) { + bool stopped; struct ehci_qh *qh; enum ehci_timer_action action = TIMER_IO_WATCHDOG; - ehci->stamp = ehci_readl(ehci, &ehci->regs->frame_index); timer_action_done (ehci, TIMER_ASYNC_SHRINK); -rescan: - qh = ehci->async->qh_next.qh; - if (likely (qh != NULL)) { - do { - /* clean any finished work for this qh */ - if (!list_empty (&qh->qtd_list) - && qh->stamp != ehci->stamp) { - int temp; - - /* unlinks could happen here; completion - * reporting drops the lock. rescan using - * the latest schedule, but don't rescan - * qhs we already finished (no looping). - */ - qh = qh_get (qh); - qh->stamp = ehci->stamp; - temp = qh_completions (ehci, qh); - if (qh->needs_rescan) - unlink_async(ehci, qh); - qh_put (qh); - if (temp != 0) { - goto rescan; - } - } + stopped = !HC_IS_RUNNING(ehci_to_hcd(ehci)->state); - /* unlink idle entries, reducing DMA usage as well - * as HCD schedule-scanning costs. delay for any qh - * we just scanned, there's a not-unusual case that it - * doesn't stay idle for long. - * (plus, avoids some kind of re-activation race.) + ehci->qh_scan_next = ehci->async->qh_next.qh; + while (ehci->qh_scan_next) { + qh = ehci->qh_scan_next; + ehci->qh_scan_next = qh->qh_next.qh; + rescan: + /* clean any finished work for this qh */ + if (!list_empty(&qh->qtd_list)) { + int temp; + + /* + * Unlinks could happen here; completion reporting + * drops the lock. That's why ehci->qh_scan_next + * always holds the next qh to scan; if the next qh + * gets unlinked then ehci->qh_scan_next is adjusted + * in start_unlink_async(). */ - if (list_empty(&qh->qtd_list) - && qh->qh_state == QH_STATE_LINKED) { - if (!ehci->reclaim - && ((ehci->stamp - qh->stamp) & 0x1fff) - >= (EHCI_SHRINK_FRAMES * 8)) - start_unlink_async(ehci, qh); - else - action = TIMER_ASYNC_SHRINK; - } + qh = qh_get(qh); + temp = qh_completions(ehci, qh); + if (qh->needs_rescan) + unlink_async(ehci, qh); + qh->unlink_time = jiffies + EHCI_SHRINK_JIFFIES; + qh_put(qh); + if (temp != 0) + goto rescan; + } - qh = qh->qh_next.qh; - } while (qh); + /* unlink idle entries, reducing DMA usage as well + * as HCD schedule-scanning costs. delay for any qh + * we just scanned, there's a not-unusual case that it + * doesn't stay idle for long. + * (plus, avoids some kind of re-activation race.) + */ + if (list_empty(&qh->qtd_list) + && qh->qh_state == QH_STATE_LINKED) { + if (!ehci->reclaim && (stopped || + time_after_eq(jiffies, qh->unlink_time))) + start_unlink_async(ehci, qh); + else + action = TIMER_ASYNC_SHRINK; + } } if (action == TIMER_ASYNC_SHRINK) timer_action (ehci, TIMER_ASYNC_SHRINK); --- linux-2.6.32.orig/drivers/usb/host/ehci-sched.c +++ linux-2.6.32/drivers/usb/host/ehci-sched.c @@ -1121,8 +1121,8 @@ urb->interval); } - /* if dev->ep [epnum] is a QH, info1.maxpacket is nonzero */ - } else if (unlikely (stream->hw_info1 != 0)) { + /* if dev->ep [epnum] is a QH, hw is set */ + } else if (unlikely (stream->hw != NULL)) { ehci_dbg (ehci, "dev %s ep%d%s, not iso??\n", urb->dev->devpath, epnum, usb_pipein(urb->pipe) ? "in" : "out"); @@ -1553,13 +1553,84 @@ static inline void itd_link (struct ehci_hcd *ehci, unsigned frame, struct ehci_itd *itd) { - /* always prepend ITD/SITD ... only QH tree is order-sensitive */ - itd->itd_next = ehci->pshadow [frame]; - itd->hw_next = ehci->periodic [frame]; - ehci->pshadow [frame].itd = itd; + union ehci_shadow *prev = &ehci->pshadow[frame]; + __hc32 *hw_p = &ehci->periodic[frame]; + union ehci_shadow here = *prev; + __hc32 type = 0; + + /* skip any iso nodes which might belong to previous microframes */ + while (here.ptr) { + type = Q_NEXT_TYPE(ehci, *hw_p); + if (type == cpu_to_hc32(ehci, Q_TYPE_QH)) + break; + prev = periodic_next_shadow(ehci, prev, type); + hw_p = shadow_next_periodic(ehci, &here, type); + here = *prev; + } + + itd->itd_next = here; + itd->hw_next = *hw_p; + prev->itd = itd; itd->frame = frame; wmb (); - ehci->periodic[frame] = cpu_to_hc32(ehci, itd->itd_dma | Q_TYPE_ITD); + *hw_p = cpu_to_hc32(ehci, itd->itd_dma | Q_TYPE_ITD); +} + +#define AB_REG_BAR_LOW 0xe0 +#define AB_REG_BAR_HIGH 0xe1 +#define AB_INDX(addr) ((addr) + 0x00) +#define AB_DATA(addr) ((addr) + 0x04) +#define NB_PCIE_INDX_ADDR 0xe0 +#define NB_PCIE_INDX_DATA 0xe4 +#define NB_PIF0_PWRDOWN_0 0x01100012 +#define NB_PIF0_PWRDOWN_1 0x01100013 + +static void ehci_quirk_amd_L1(struct ehci_hcd *ehci, int disable) +{ + u32 addr, addr_low, addr_high, val; + + outb_p(AB_REG_BAR_LOW, 0xcd6); + addr_low = inb_p(0xcd7); + outb_p(AB_REG_BAR_HIGH, 0xcd6); + addr_high = inb_p(0xcd7); + addr = addr_high << 8 | addr_low; + outl_p(0x30, AB_INDX(addr)); + outl_p(0x40, AB_DATA(addr)); + outl_p(0x34, AB_INDX(addr)); + val = inl_p(AB_DATA(addr)); + + if (disable) { + val &= ~0x8; + val |= (1 << 4) | (1 << 9); + } else { + val |= 0x8; + val &= ~((1 << 4) | (1 << 9)); + } + outl_p(val, AB_DATA(addr)); + + if (amd_nb_dev) { + addr = NB_PIF0_PWRDOWN_0; + pci_write_config_dword(amd_nb_dev, NB_PCIE_INDX_ADDR, addr); + pci_read_config_dword(amd_nb_dev, NB_PCIE_INDX_DATA, &val); + if (disable) + val &= ~(0x3f << 7); + else + val |= 0x3f << 7; + + pci_write_config_dword(amd_nb_dev, NB_PCIE_INDX_DATA, val); + + addr = NB_PIF0_PWRDOWN_1; + pci_write_config_dword(amd_nb_dev, NB_PCIE_INDX_ADDR, addr); + pci_read_config_dword(amd_nb_dev, NB_PCIE_INDX_DATA, &val); + if (disable) + val &= ~(0x3f << 7); + else + val |= 0x3f << 7; + + pci_write_config_dword(amd_nb_dev, NB_PCIE_INDX_DATA, val); + } + + return; } /* fit urb's itds into the selected schedule slot; activate as needed */ @@ -1589,6 +1660,12 @@ next_uframe >> 3, next_uframe & 0x7); stream->start = jiffies; } + + if (ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs == 0) { + if (ehci->amd_l1_fix == 1) + ehci_quirk_amd_L1(ehci, 1); + } + ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs++; /* fill iTDs uframe by uframe */ @@ -1715,6 +1792,11 @@ (void) disable_periodic(ehci); ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs--; + if (ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs == 0) { + if (ehci->amd_l1_fix == 1) + ehci_quirk_amd_L1(ehci, 0); + } + if (unlikely(list_is_singular(&stream->td_list))) { ehci_to_hcd(ehci)->self.bandwidth_allocated -= stream->bandwidth; @@ -2002,6 +2084,12 @@ stream->interval, hc32_to_cpu(ehci, stream->splits)); stream->start = jiffies; } + + if (ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs == 0) { + if (ehci->amd_l1_fix == 1) + ehci_quirk_amd_L1(ehci, 1); + } + ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs++; /* fill sITDs frame by frame */ @@ -2104,6 +2192,11 @@ (void) disable_periodic(ehci); ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs--; + if (ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs == 0) { + if (ehci->amd_l1_fix == 1) + ehci_quirk_amd_L1(ehci, 0); + } + if (list_is_singular(&stream->td_list)) { ehci_to_hcd(ehci)->self.bandwidth_allocated -= stream->bandwidth; @@ -2113,13 +2206,27 @@ (stream->bEndpointAddress & USB_DIR_IN) ? "in" : "out"); } iso_stream_put (ehci, stream); - /* OK to recycle this SITD now that its completion callback ran. */ + done: sitd->urb = NULL; - sitd->stream = NULL; - list_move(&sitd->sitd_list, &stream->free_list); - iso_stream_put(ehci, stream); - + if (ehci->clock_frame != sitd->frame) { + /* OK to recycle this SITD now. */ + sitd->stream = NULL; + list_move(&sitd->sitd_list, &stream->free_list); + iso_stream_put(ehci, stream); + } else { + /* HW might remember this SITD, so we can't recycle it yet. + * Move it to a safe place until a new frame starts. + */ + list_move(&sitd->sitd_list, &ehci->cached_sitd_list); + if (stream->refcount == 2) { + /* If iso_stream_put() were called here, stream + * would be freed. Instead, just prevent reuse. + */ + stream->ep->hcpriv = NULL; + stream->ep = NULL; + } + } return retval; } @@ -2185,9 +2292,10 @@ /*-------------------------------------------------------------------------*/ -static void free_cached_itd_list(struct ehci_hcd *ehci) +static void free_cached_lists(struct ehci_hcd *ehci) { struct ehci_itd *itd, *n; + struct ehci_sitd *sitd, *sn; list_for_each_entry_safe(itd, n, &ehci->cached_itd_list, itd_list) { struct ehci_iso_stream *stream = itd->stream; @@ -2195,6 +2303,13 @@ list_move(&itd->itd_list, &stream->free_list); iso_stream_put(ehci, stream); } + + list_for_each_entry_safe(sitd, sn, &ehci->cached_sitd_list, sitd_list) { + struct ehci_iso_stream *stream = sitd->stream; + sitd->stream = NULL; + list_move(&sitd->sitd_list, &stream->free_list); + iso_stream_put(ehci, stream); + } } /*-------------------------------------------------------------------------*/ @@ -2221,7 +2336,7 @@ clock_frame = -1; } if (ehci->clock_frame != clock_frame) { - free_cached_itd_list(ehci); + free_cached_lists(ehci); ehci->clock_frame = clock_frame; } clock %= mod; @@ -2384,7 +2499,7 @@ clock = now; clock_frame = clock >> 3; if (ehci->clock_frame != clock_frame) { - free_cached_itd_list(ehci); + free_cached_lists(ehci); ehci->clock_frame = clock_frame; } } else { --- linux-2.6.32.orig/drivers/usb/host/ehci.h +++ linux-2.6.32/drivers/usb/host/ehci.h @@ -74,6 +74,7 @@ /* async schedule support */ struct ehci_qh *async; struct ehci_qh *reclaim; + struct ehci_qh *qh_scan_next; unsigned scanning : 1; /* periodic schedule support */ @@ -87,8 +88,9 @@ int next_uframe; /* scan periodic, start here */ unsigned periodic_sched; /* periodic activity count */ - /* list of itds completed while clock_frame was still active */ + /* list of itds & sitds completed while clock_frame was still active */ struct list_head cached_itd_list; + struct list_head cached_sitd_list; unsigned clock_frame; /* per root hub port */ @@ -115,7 +117,7 @@ struct timer_list iaa_watchdog; struct timer_list watchdog; unsigned long actions; - unsigned stamp; + unsigned periodic_stamp; unsigned random_frame; unsigned long next_statechange; ktime_t last_periodic_enable; @@ -129,6 +131,7 @@ unsigned has_amcc_usb23:1; unsigned need_io_watchdog:1; unsigned broken_periodic:1; + unsigned amd_l1_fix:1; /* required for usb32 quirk */ #define OHCI_CTRL_HCFS (3 << 6) @@ -195,7 +198,7 @@ clear_bit (action, &ehci->actions); } -static void free_cached_itd_list(struct ehci_hcd *ehci); +static void free_cached_lists(struct ehci_hcd *ehci); /*-------------------------------------------------------------------------*/ @@ -333,6 +336,7 @@ struct ehci_qh *reclaim; /* next to reclaim */ struct ehci_hcd *ehci; + unsigned long unlink_time; /* * Do NOT use atomic operations for QH refcounting. On some CPUs @@ -364,6 +368,7 @@ #define NO_FRAME ((unsigned short)~0) /* pick new start */ struct usb_device *dev; /* access to TT */ + unsigned is_out:1; /* bulk or intr OUT */ unsigned clearing_tt:1; /* Clear-TT-Buf in progress */ }; @@ -394,9 +399,8 @@ * acts like a qh would, if EHCI had them for ISO. */ struct ehci_iso_stream { - /* first two fields match QH, but info1 == 0 */ - __hc32 hw_next; - __hc32 hw_info1; + /* first field matches ehci_hq, but is NULL */ + struct ehci_qh_hw *hw; u32 refcount; u8 bEndpointAddress; --- linux-2.6.32.orig/drivers/usb/host/fhci-sched.c +++ linux-2.6.32/drivers/usb/host/fhci-sched.c @@ -1,7 +1,7 @@ /* * Freescale QUICC Engine USB Host Controller Driver * - * Copyright (c) Freescale Semicondutor, Inc. 2006. + * Copyright (c) Freescale Semicondutor, Inc. 2006, 2011. * Shlomi Gridish * Jerry Huang * Copyright (c) Logic Product Development, Inc. 2007 @@ -810,9 +810,11 @@ ed->dev_addr = usb_pipedevice(urb->pipe); ed->max_pkt_size = usb_maxpacket(urb->dev, urb->pipe, usb_pipeout(urb->pipe)); + /* setup stage */ td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, FHCI_TA_SETUP, USB_TD_TOGGLE_DATA0, urb->setup_packet, 8, 0, 0, true); + /* data stage */ if (data_len > 0) { td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, usb_pipeout(urb->pipe) ? FHCI_TA_OUT : @@ -820,9 +822,18 @@ USB_TD_TOGGLE_DATA1, data, data_len, 0, 0, true); } - td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, - usb_pipeout(urb->pipe) ? FHCI_TA_IN : FHCI_TA_OUT, - USB_TD_TOGGLE_DATA1, data, 0, 0, 0, true); + + /* status stage */ + if (data_len > 0) + td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, + (usb_pipeout(urb->pipe) ? FHCI_TA_IN : + FHCI_TA_OUT), + USB_TD_TOGGLE_DATA1, data, 0, 0, 0, true); + else + td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, + FHCI_TA_IN, + USB_TD_TOGGLE_DATA1, data, 0, 0, 0, true); + urb_state = US_CTRL_SETUP; break; case FHCI_TF_ISO: --- linux-2.6.32.orig/drivers/usb/host/ohci-hcd.c +++ linux-2.6.32/drivers/usb/host/ohci-hcd.c @@ -398,7 +398,14 @@ ohci = hcd_to_ohci (hcd); ohci_writel (ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable); - ohci_usb_reset (ohci); + ohci->hc_control = ohci_readl(ohci, &ohci->regs->control); + + /* If the SHUTDOWN quirk is set, don't put the controller in RESET */ + ohci->hc_control &= (ohci->flags & OHCI_QUIRK_SHUTDOWN ? + OHCI_CTRL_RWC | OHCI_CTRL_HCFS : + OHCI_CTRL_RWC); + ohci_writel(ohci, ohci->hc_control, &ohci->regs->control); + /* flush the writes */ (void) ohci_readl (ohci, &ohci->regs->control); } --- linux-2.6.32.orig/drivers/usb/host/ohci-hub.c +++ linux-2.6.32/drivers/usb/host/ohci-hub.c @@ -697,7 +697,7 @@ u16 wLength ) { struct ohci_hcd *ohci = hcd_to_ohci (hcd); - int ports = hcd_to_bus (hcd)->root_hub->maxchild; + int ports = ohci->num_ports; u32 temp; int retval = 0; --- linux-2.6.32.orig/drivers/usb/host/ohci-pci.c +++ linux-2.6.32/drivers/usb/host/ohci-pci.c @@ -201,6 +201,28 @@ return 0; } +/* nVidia controllers continue to drive Reset signalling on the bus + * even after system shutdown, wasting power. This flag tells the + * shutdown routine to leave the controller OPERATIONAL instead of RESET. + */ +static int ohci_quirk_nvidia_shutdown(struct usb_hcd *hcd) +{ + struct pci_dev *pdev = to_pci_dev(hcd->self.controller); + struct ohci_hcd *ohci = hcd_to_ohci(hcd); + + /* Evidently nVidia fixed their later hardware; this is a guess at + * the changeover point. + */ +#define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_USB 0x026d + + if (pdev->device < PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_USB) { + ohci->flags |= OHCI_QUIRK_SHUTDOWN; + ohci_dbg(ohci, "enabled nVidia shutdown quirk\n"); + } + + return 0; +} + /* * The hardware normally enables the A-link power management feature, which * lets the system lower the power consumption in idle states. @@ -332,6 +354,10 @@ PCI_DEVICE(PCI_VENDOR_ID_ATI, 0x4399), .driver_data = (unsigned long)ohci_quirk_amd700, }, + { + PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID), + .driver_data = (unsigned long) ohci_quirk_nvidia_shutdown, + }, /* FIXME for some of the early AMD 760 southbridges, OHCI * won't work at all. blacklist them. --- linux-2.6.32.orig/drivers/usb/host/ohci-pnx4008.c +++ linux-2.6.32/drivers/usb/host/ohci-pnx4008.c @@ -327,7 +327,7 @@ } i2c_adap = i2c_get_adapter(2); memset(&i2c_info, 0, sizeof(struct i2c_board_info)); - strlcpy(i2c_info.name, "isp1301_pnx", I2C_NAME_SIZE); + strlcpy(i2c_info.type, "isp1301_pnx", I2C_NAME_SIZE); isp1301_i2c_client = i2c_new_probed_device(i2c_adap, &i2c_info, normal_i2c); i2c_put_adapter(i2c_adap); @@ -411,7 +411,7 @@ out2: clk_put(usb_clk); out1: - i2c_unregister_client(isp1301_i2c_client); + i2c_unregister_device(isp1301_i2c_client); isp1301_i2c_client = NULL; out_i2c_driver: i2c_del_driver(&isp1301_driver); @@ -430,7 +430,7 @@ pnx4008_unset_usb_bits(); clk_disable(usb_clk); clk_put(usb_clk); - i2c_unregister_client(isp1301_i2c_client); + i2c_unregister_device(isp1301_i2c_client); isp1301_i2c_client = NULL; i2c_del_driver(&isp1301_driver); --- linux-2.6.32.orig/drivers/usb/host/ohci.h +++ linux-2.6.32/drivers/usb/host/ohci.h @@ -403,6 +403,7 @@ #define OHCI_QUIRK_HUB_POWER 0x100 /* distrust firmware power/oc setup */ #define OHCI_QUIRK_AMD_ISO 0x200 /* ISO transfers*/ #define OHCI_QUIRK_AMD_PREFETCH 0x400 /* pre-fetch for ISO transfer */ +#define OHCI_QUIRK_SHUTDOWN 0x800 /* nVidia power bug */ // there are also chip quirks/bugs in init logic struct work_struct nec_work; /* Worker for NEC quirk */ --- linux-2.6.32.orig/drivers/usb/host/pci-quirks.c +++ linux-2.6.32/drivers/usb/host/pci-quirks.c @@ -34,6 +34,8 @@ #define OHCI_INTRSTATUS 0x0c #define OHCI_INTRENABLE 0x10 #define OHCI_INTRDISABLE 0x14 +#define OHCI_FMINTERVAL 0x34 +#define OHCI_HCR (1 << 0) /* host controller reset */ #define OHCI_OCR (1 << 3) /* ownership change request */ #define OHCI_CTRL_RWC (1 << 9) /* remote wakeup connected */ #define OHCI_CTRL_IR (1 << 8) /* interrupt routing */ @@ -169,6 +171,7 @@ static void __devinit quirk_usb_handoff_ohci(struct pci_dev *pdev) { void __iomem *base; + u32 control; if (!mmio_resource_enabled(pdev, 0)) return; @@ -177,10 +180,14 @@ if (base == NULL) return; + control = readl(base + OHCI_CONTROL); + /* On PA-RISC, PDC can leave IR set incorrectly; ignore it there. */ -#ifndef __hppa__ -{ - u32 control = readl(base + OHCI_CONTROL); +#ifdef __hppa__ +#define OHCI_CTRL_MASK (OHCI_CTRL_RWC | OHCI_CTRL_IR) +#else +#define OHCI_CTRL_MASK OHCI_CTRL_RWC + if (control & OHCI_CTRL_IR) { int wait_time = 500; /* arbitrary; 5 seconds */ writel(OHCI_INTR_OC, base + OHCI_INTRENABLE); @@ -194,13 +201,38 @@ dev_warn(&pdev->dev, "OHCI: BIOS handoff failed" " (BIOS bug?) %08x\n", readl(base + OHCI_CONTROL)); - - /* reset controller, preserving RWC */ - writel(control & OHCI_CTRL_RWC, base + OHCI_CONTROL); } -} #endif + /* reset controller, preserving RWC (and possibly IR) */ + writel(control & OHCI_CTRL_MASK, base + OHCI_CONTROL); + readl(base + OHCI_CONTROL); + + /* Some NVIDIA controllers stop working if kept in RESET for too long */ + if (pdev->vendor == PCI_VENDOR_ID_NVIDIA) { + u32 fminterval; + int cnt; + + /* drive reset for at least 50 ms (7.1.7.5) */ + msleep(50); + + /* software reset of the controller, preserving HcFmInterval */ + fminterval = readl(base + OHCI_FMINTERVAL); + writel(OHCI_HCR, base + OHCI_CMDSTATUS); + + /* reset requires max 10 us delay */ + for (cnt = 30; cnt > 0; --cnt) { /* ... allow extra time */ + if ((readl(base + OHCI_CMDSTATUS) & OHCI_HCR) == 0) + break; + udelay(1); + } + writel(fminterval, base + OHCI_FMINTERVAL); + + /* Now we're in the SUSPEND state with all devices reset + * and wakeups and interrupts disabled + */ + } + /* * disable interrupts */ @@ -412,7 +444,7 @@ /* If the BIOS owns the HC, signal that the OS wants it, and wait */ if (val & XHCI_HC_BIOS_OWNED) { - writel(val & XHCI_HC_OS_OWNED, base + ext_cap_offset); + writel(val | XHCI_HC_OS_OWNED, base + ext_cap_offset); /* Wait for 5 seconds with 10 microsecond polling interval */ timeout = handshake(base + ext_cap_offset, XHCI_HC_BIOS_OWNED, @@ -466,6 +498,22 @@ static void __devinit quirk_usb_early_handoff(struct pci_dev *pdev) { + /* Skip Netlogic mips SoC's internal PCI USB controller. + * This device does not need/support EHCI/OHCI handoff + */ + if (pdev->vendor == 0x184e) /* vendor Netlogic */ + return; + if (pdev->class != PCI_CLASS_SERIAL_USB_UHCI && + pdev->class != PCI_CLASS_SERIAL_USB_OHCI && + pdev->class != PCI_CLASS_SERIAL_USB_EHCI && + pdev->class != PCI_CLASS_SERIAL_USB_XHCI) + return; + + if (pci_enable_device(pdev) < 0) { + dev_warn(&pdev->dev, "Can't enable PCI device, " + "BIOS handoff failed.\n"); + return; + } if (pdev->class == PCI_CLASS_SERIAL_USB_UHCI) quirk_usb_handoff_uhci(pdev); else if (pdev->class == PCI_CLASS_SERIAL_USB_OHCI) @@ -474,5 +522,6 @@ quirk_usb_disable_ehci(pdev); else if (pdev->class == PCI_CLASS_SERIAL_USB_XHCI) quirk_usb_handoff_xhci(pdev); + pci_disable_device(pdev); } DECLARE_PCI_FIXUP_FINAL(PCI_ANY_ID, PCI_ANY_ID, quirk_usb_early_handoff); --- linux-2.6.32.orig/drivers/usb/host/r8a66597-hcd.c +++ linux-2.6.32/drivers/usb/host/r8a66597-hcd.c @@ -35,7 +35,9 @@ #include #include #include +#include #include +#include #include "../core/hcd.h" #include "r8a66597.h" @@ -216,8 +218,17 @@ { int port; + /* disable interrupts */ r8a66597_write(r8a66597, 0, INTENB0); - r8a66597_write(r8a66597, 0, INTSTS0); + r8a66597_write(r8a66597, 0, INTENB1); + r8a66597_write(r8a66597, 0, BRDYENB); + r8a66597_write(r8a66597, 0, BEMPENB); + r8a66597_write(r8a66597, 0, NRDYENB); + + /* clear status */ + r8a66597_write(r8a66597, 0, BRDYSTS); + r8a66597_write(r8a66597, 0, NRDYSTS); + r8a66597_write(r8a66597, 0, BEMPSTS); for (port = 0; port < r8a66597->max_root_hub; port++) r8a66597_disable_port(r8a66597, port); @@ -407,7 +418,7 @@ /* this function must be called with interrupt disabled */ static void free_usb_address(struct r8a66597 *r8a66597, - struct r8a66597_device *dev) + struct r8a66597_device *dev, int reset) { int port; @@ -419,7 +430,13 @@ dev->state = USB_STATE_DEFAULT; r8a66597->address_map &= ~(1 << dev->address); dev->address = 0; - dev_set_drvdata(&dev->udev->dev, NULL); + /* + * Only when resetting USB, it is necessary to erase drvdata. When + * a usb device with usb hub is disconnect, "dev->udev" is already + * freed on usb_desconnect(). So we cannot access the data. + */ + if (reset) + dev_set_drvdata(&dev->udev->dev, NULL); list_del(&dev->device_list); kfree(dev); @@ -811,6 +828,26 @@ enable_r8a66597_pipe_dma(r8a66597, dev, pipe, urb); } +static void r8a66597_urb_done(struct r8a66597 *r8a66597, struct urb *urb, + int status) +__releases(r8a66597->lock) +__acquires(r8a66597->lock) +{ + if (usb_pipein(urb->pipe) && usb_pipetype(urb->pipe) != PIPE_CONTROL) { + void *ptr; + + for (ptr = urb->transfer_buffer; + ptr < urb->transfer_buffer + urb->transfer_buffer_length; + ptr += PAGE_SIZE) + flush_dcache_page(virt_to_page(ptr)); + } + + usb_hcd_unlink_urb_from_ep(r8a66597_to_hcd(r8a66597), urb); + spin_unlock(&r8a66597->lock); + usb_hcd_giveback_urb(r8a66597_to_hcd(r8a66597), urb, status); + spin_lock(&r8a66597->lock); +} + /* this function must be called with interrupt disabled */ static void force_dequeue(struct r8a66597 *r8a66597, u16 pipenum, u16 address) { @@ -831,15 +868,9 @@ list_del(&td->queue); kfree(td); - if (urb) { - usb_hcd_unlink_urb_from_ep(r8a66597_to_hcd(r8a66597), - urb); - - spin_unlock(&r8a66597->lock); - usb_hcd_giveback_urb(r8a66597_to_hcd(r8a66597), urb, - -ENODEV); - spin_lock(&r8a66597->lock); - } + if (urb) + r8a66597_urb_done(r8a66597, urb, -ENODEV); + break; } } @@ -1042,7 +1073,7 @@ struct r8a66597_device *dev = r8a66597->root_hub[port].dev; disable_r8a66597_pipe_all(r8a66597, dev); - free_usb_address(r8a66597, dev); + free_usb_address(r8a66597, dev, 0); start_root_hub_sampling(r8a66597, port, 0); } @@ -1276,10 +1307,7 @@ if (usb_pipeisoc(urb->pipe)) urb->start_frame = r8a66597_get_frame(hcd); - usb_hcd_unlink_urb_from_ep(r8a66597_to_hcd(r8a66597), urb); - spin_unlock(&r8a66597->lock); - usb_hcd_giveback_urb(hcd, urb, status); - spin_lock(&r8a66597->lock); + r8a66597_urb_done(r8a66597, urb, status); } if (restart) { @@ -2063,7 +2091,7 @@ spin_lock_irqsave(&r8a66597->lock, flags); dev = get_r8a66597_device(r8a66597, addr); disable_r8a66597_pipe_all(r8a66597, dev); - free_usb_address(r8a66597, dev); + free_usb_address(r8a66597, dev, 0); put_child_connect_map(r8a66597, addr); spin_unlock_irqrestore(&r8a66597->lock, flags); } @@ -2206,7 +2234,7 @@ rh->port |= (1 << USB_PORT_FEAT_RESET); disable_r8a66597_pipe_all(r8a66597, dev); - free_usb_address(r8a66597, dev); + free_usb_address(r8a66597, dev, 1); r8a66597_mdfy(r8a66597, USBRST, USBRST | UACT, get_dvstctr_reg(port)); @@ -2470,6 +2498,12 @@ r8a66597->rh_timer.data = (unsigned long)r8a66597; r8a66597->reg = (unsigned long)reg; + /* make sure no interrupts are pending */ + ret = r8a66597_clock_enable(r8a66597); + if (ret < 0) + goto clean_up3; + disable_controller(r8a66597); + for (i = 0; i < R8A66597_MAX_NUM_PIPE; i++) { INIT_LIST_HEAD(&r8a66597->pipe_queue[i]); init_timer(&r8a66597->td_timer[i]); --- linux-2.6.32.orig/drivers/usb/host/uhci-hcd.c +++ linux-2.6.32/drivers/usb/host/uhci-hcd.c @@ -735,6 +735,7 @@ uhci_hc_died(uhci); uhci_scan_schedule(uhci); spin_unlock_irq(&uhci->lock); + synchronize_irq(hcd->irq); del_timer_sync(&uhci->fsbr_timer); release_uhci(uhci); @@ -749,7 +750,20 @@ spin_lock_irq(&uhci->lock); if (!test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags)) rc = -ESHUTDOWN; - else if (!uhci->dead) + else if (uhci->dead) + ; /* Dead controllers tell no tales */ + + /* Once the controller is stopped, port resumes that are already + * in progress won't complete. Hence if remote wakeup is enabled + * for the root hub and any ports are in the middle of a resume or + * remote wakeup, we must fail the suspend. + */ + else if (hcd->self.root_hub->do_remote_wakeup && + uhci->resuming_ports) { + dev_dbg(uhci_dev(uhci), "suspend failed because a port " + "is resuming\n"); + rc = -EBUSY; + } else suspend_rh(uhci, UHCI_RH_SUSPENDED); spin_unlock_irq(&uhci->lock); return rc; --- linux-2.6.32.orig/drivers/usb/host/uhci-hub.c +++ linux-2.6.32/drivers/usb/host/uhci-hub.c @@ -167,7 +167,7 @@ /* Port received a wakeup request */ set_bit(port, &uhci->resuming_ports); uhci->ports_timeout = jiffies + - msecs_to_jiffies(20); + msecs_to_jiffies(25); /* Make sure we see the port again * after the resuming period is over. */ --- linux-2.6.32.orig/drivers/usb/host/xhci.h +++ linux-2.6.32/drivers/usb/host/xhci.h @@ -232,7 +232,7 @@ * notification type that matches a bit set in this bit field. */ #define DEV_NOTE_MASK (0xffff) -#define ENABLE_DEV_NOTE(x) (1 << x) +#define ENABLE_DEV_NOTE(x) (1 << (x)) /* Most of the device notification types should only be used for debug. * SW does need to pay attention to function wake notifications. */ @@ -579,11 +579,11 @@ #define EP_STATE_STOPPED 3 #define EP_STATE_ERROR 4 /* Mult - Max number of burtst within an interval, in EP companion desc. */ -#define EP_MULT(p) ((p & 0x3) << 8) +#define EP_MULT(p) (((p) & 0x3) << 8) /* bits 10:14 are Max Primary Streams */ /* bit 15 is Linear Stream Array */ /* Interval - period between requests to an endpoint - 125u increments. */ -#define EP_INTERVAL(p) ((p & 0xff) << 16) +#define EP_INTERVAL(p) (((p) & 0xff) << 16) #define EP_INTERVAL_TO_UFRAMES(p) (1 << (((p) >> 16) & 0xff)) /* ep_info2 bitmasks */ @@ -609,6 +609,10 @@ #define MAX_PACKET_MASK (0xffff << 16) #define MAX_PACKET_DECODED(p) (((p) >> 16) & 0xffff) +/* tx_info bitmasks */ +#define AVG_TRB_LENGTH_FOR_EP(p) ((p) & 0xffff) +#define MAX_ESIT_PAYLOAD_FOR_EP(p) (((p) & 0xffff) << 16) + /** * struct xhci_input_control_context --- linux-2.6.32.orig/drivers/usb/host/xhci-ext-caps.h +++ linux-2.6.32/drivers/usb/host/xhci-ext-caps.h @@ -101,12 +101,15 @@ next = readl(base + ext_offset); - if (ext_offset == XHCI_HCC_PARAMS_OFFSET) + if (ext_offset == XHCI_HCC_PARAMS_OFFSET) { /* Find the first extended capability */ next = XHCI_HCC_EXT_CAPS(next); - else + ext_offset = 0; + } else { /* Find the next extended capability */ next = XHCI_EXT_CAPS_NEXT(next); + } + if (!next) return 0; /* --- linux-2.6.32.orig/drivers/usb/host/xhci-hcd.c +++ linux-2.6.32/drivers/usb/host/xhci-hcd.c @@ -97,6 +97,33 @@ } /* + * Set the run bit and wait for the host to be running. + */ +int xhci_start(struct xhci_hcd *xhci) +{ + u32 temp; + int ret; + + temp = xhci_readl(xhci, &xhci->op_regs->command); + temp |= (CMD_RUN); + xhci_dbg(xhci, "// Turn on HC, cmd = 0x%x.\n", + temp); + xhci_writel(xhci, temp, &xhci->op_regs->command); + + /* + * Wait for the HCHalted Status bit to be 0 to indicate the host is + * running. + */ + ret = handshake(xhci, &xhci->op_regs->status, + STS_HALT, 0, XHCI_MAX_HALT_USEC); + if (ret == -ETIMEDOUT) + xhci_err(xhci, "Host took too long to start, " + "waited %u microseconds.\n", + XHCI_MAX_HALT_USEC); + return ret; +} + +/* * Reset a halted HC, and set the internal HC state to HC_STATE_HALT. * * This resets pipelines, timers, counters, state machines, etc. @@ -107,6 +134,7 @@ { u32 command; u32 state; + int ret; state = xhci_readl(xhci, &xhci->op_regs->status); if ((state & STS_HALT) == 0) { @@ -121,7 +149,17 @@ /* XXX: Why does EHCI set this here? Shouldn't other code do this? */ xhci_to_hcd(xhci)->state = HC_STATE_HALT; - return handshake(xhci, &xhci->op_regs->command, CMD_RESET, 0, 250 * 1000); + ret = handshake(xhci, &xhci->op_regs->command, + CMD_RESET, 0, 250 * 1000); + if (ret) + return ret; + + xhci_dbg(xhci, "Wait for controller to be ready for doorbell rings\n"); + /* + * xHCI cannot write to any doorbells or operational registers other + * than status until the "Controller Not Ready" flag is cleared. + */ + return handshake(xhci, &xhci->op_regs->status, STS_CNR, 0, 250 * 1000); } /* @@ -460,13 +498,11 @@ if (NUM_TEST_NOOPS > 0) doorbell = xhci_setup_one_noop(xhci); - temp = xhci_readl(xhci, &xhci->op_regs->command); - temp |= (CMD_RUN); - xhci_dbg(xhci, "// Turn on HC, cmd = 0x%x.\n", - temp); - xhci_writel(xhci, temp, &xhci->op_regs->command); - /* Flush PCI posted writes */ - temp = xhci_readl(xhci, &xhci->op_regs->command); + if (xhci_start(xhci)) { + xhci_halt(xhci); + return -ENODEV; + } + xhci_dbg(xhci, "// @%p = 0x%x\n", &xhci->op_regs->command, temp); if (doorbell) (*doorbell)(xhci); @@ -943,6 +979,7 @@ u32 added_ctxs; unsigned int last_ctx; u32 new_add_flags, new_drop_flags, new_slot_info; + struct xhci_virt_device *virt_dev; int ret = 0; ret = xhci_check_args(hcd, udev, ep, 1, __func__); @@ -971,11 +1008,25 @@ return -EINVAL; } - in_ctx = xhci->devs[udev->slot_id]->in_ctx; - out_ctx = xhci->devs[udev->slot_id]->out_ctx; + virt_dev = xhci->devs[udev->slot_id]; + in_ctx = virt_dev->in_ctx; + out_ctx = virt_dev->out_ctx; ctrl_ctx = xhci_get_input_control_ctx(xhci, in_ctx); ep_index = xhci_get_endpoint_index(&ep->desc); ep_ctx = xhci_get_ep_ctx(xhci, out_ctx, ep_index); + + /* If this endpoint is already in use, and the upper layers are trying + * to add it again without dropping it, reject the addition. + */ + if (virt_dev->eps[ep_index].ring && + !(le32_to_cpu(ctrl_ctx->drop_flags) & + xhci_get_endpoint_flag(&ep->desc))) { + xhci_warn(xhci, "Trying to add endpoint 0x%x " + "without dropping it.\n", + (unsigned int) ep->desc.bEndpointAddress); + return -EINVAL; + } + /* If the HCD has already noted the endpoint is enabled, * ignore this request. */ @@ -990,8 +1041,7 @@ * process context, not interrupt context (or so documenation * for usb_set_interface() and usb_set_configuration() claim). */ - if (xhci_endpoint_init(xhci, xhci->devs[udev->slot_id], - udev, ep, GFP_KERNEL) < 0) { + if (xhci_endpoint_init(xhci, virt_dev, udev, ep, GFP_NOIO) < 0) { dev_dbg(&udev->dev, "%s - could not initialize ep %#x\n", __func__, ep->desc.bEndpointAddress); return -ENOMEM; @@ -1157,6 +1207,7 @@ cmd_completion = &virt_dev->cmd_completion; cmd_status = &virt_dev->cmd_status; } + init_completion(cmd_completion); if (!ctx_change) ret = xhci_queue_configure_endpoint(xhci, in_ctx->dma, @@ -1413,6 +1464,8 @@ kfree(virt_ep->stopped_td); xhci_ring_cmd_db(xhci); } + virt_ep->stopped_td = NULL; + virt_ep->stopped_trb = NULL; spin_unlock_irqrestore(&xhci->lock, flags); if (ret) --- linux-2.6.32.orig/drivers/usb/host/xhci-mem.c +++ linux-2.6.32/drivers/usb/host/xhci-mem.c @@ -110,18 +110,20 @@ struct xhci_segment *seg; struct xhci_segment *first_seg; - if (!ring || !ring->first_seg) + if (!ring) return; - first_seg = ring->first_seg; - seg = first_seg->next; - xhci_dbg(xhci, "Freeing ring at %p\n", ring); - while (seg != first_seg) { - struct xhci_segment *next = seg->next; - xhci_segment_free(xhci, seg); - seg = next; + if (ring->first_seg) { + first_seg = ring->first_seg; + seg = first_seg->next; + xhci_dbg(xhci, "Freeing ring at %p\n", ring); + while (seg != first_seg) { + struct xhci_segment *next = seg->next; + xhci_segment_free(xhci, seg); + seg = next; + } + xhci_segment_free(xhci, first_seg); + ring->first_seg = NULL; } - xhci_segment_free(xhci, first_seg); - ring->first_seg = NULL; kfree(ring); } @@ -439,6 +441,63 @@ return 0; } +/* + * Convert interval expressed as 2^(bInterval - 1) == interval into + * straight exponent value 2^n == interval. + * + */ +static unsigned int xhci_parse_exponent_interval(struct usb_device *udev, + struct usb_host_endpoint *ep) +{ + unsigned int interval; + + interval = clamp_val(ep->desc.bInterval, 1, 16) - 1; + if (interval != ep->desc.bInterval - 1) + dev_warn(&udev->dev, + "ep %#x - rounding interval to %d microframes\n", + ep->desc.bEndpointAddress, + 1 << interval); + + return interval; +} + +/* + * Convert bInterval expressed in microframes (in 1-255 range) to exponent of + * microframes, rounded down to nearest power of 2. + */ +static unsigned int xhci_microframes_to_exponent(struct usb_device *udev, + struct usb_host_endpoint *ep, unsigned int desc_interval, + unsigned int min_exponent, unsigned int max_exponent) +{ + unsigned int interval; + + interval = fls(desc_interval) - 1; + interval = clamp_val(interval, min_exponent, max_exponent); + if ((1 << interval) != desc_interval) + dev_warn(&udev->dev, + "ep %#x - rounding interval to %d microframes, ep desc says %d microframes\n", + ep->desc.bEndpointAddress, + 1 << interval, + desc_interval); + + return interval; +} + +static unsigned int xhci_parse_microframe_interval(struct usb_device *udev, + struct usb_host_endpoint *ep) +{ + return xhci_microframes_to_exponent(udev, ep, + ep->desc.bInterval, 0, 15); +} + + +static unsigned int xhci_parse_frame_interval(struct usb_device *udev, + struct usb_host_endpoint *ep) +{ + return xhci_microframes_to_exponent(udev, ep, + ep->desc.bInterval * 8, 3, 10); +} + /* Return the polling or NAK interval. * * The polling interval is expressed in "microframes". If xHCI's Interval field @@ -456,46 +515,57 @@ case USB_SPEED_HIGH: /* Max NAK rate */ if (usb_endpoint_xfer_control(&ep->desc) || - usb_endpoint_xfer_bulk(&ep->desc)) - interval = ep->desc.bInterval; + usb_endpoint_xfer_bulk(&ep->desc)) { + interval = xhci_parse_microframe_interval(udev, ep); + break; + } /* Fall through - SS and HS isoc/int have same decoding */ + case USB_SPEED_SUPER: if (usb_endpoint_xfer_int(&ep->desc) || - usb_endpoint_xfer_isoc(&ep->desc)) { - if (ep->desc.bInterval == 0) - interval = 0; - else - interval = ep->desc.bInterval - 1; - if (interval > 15) - interval = 15; - if (interval != ep->desc.bInterval + 1) - dev_warn(&udev->dev, "ep %#x - rounding interval to %d microframes\n", - ep->desc.bEndpointAddress, 1 << interval); + usb_endpoint_xfer_isoc(&ep->desc)) { + interval = xhci_parse_exponent_interval(udev, ep); } break; - /* Convert bInterval (in 1-255 frames) to microframes and round down to - * nearest power of 2. - */ + case USB_SPEED_FULL: + if (usb_endpoint_xfer_isoc(&ep->desc)) { + interval = xhci_parse_exponent_interval(udev, ep); + break; + } + /* + * Fall through for interrupt endpoint interval decoding + * since it uses the same rules as low speed interrupt + * endpoints. + */ + case USB_SPEED_LOW: if (usb_endpoint_xfer_int(&ep->desc) || - usb_endpoint_xfer_isoc(&ep->desc)) { - interval = fls(8*ep->desc.bInterval) - 1; - if (interval > 10) - interval = 10; - if (interval < 3) - interval = 3; - if ((1 << interval) != 8*ep->desc.bInterval) - dev_warn(&udev->dev, "ep %#x - rounding interval to %d microframes\n", - ep->desc.bEndpointAddress, 1 << interval); + usb_endpoint_xfer_isoc(&ep->desc)) { + + interval = xhci_parse_frame_interval(udev, ep); } break; + default: BUG(); } return EP_INTERVAL(interval); } +/* The "Mult" field in the endpoint context is only set for SuperSpeed devices. + * High speed endpoint descriptors can define "the number of additional + * transaction opportunities per microframe", but that goes in the Max Burst + * endpoint context field. + */ +static inline u32 xhci_get_endpoint_mult(struct usb_device *udev, + struct usb_host_endpoint *ep) +{ + if (udev->speed != USB_SPEED_SUPER || !ep->ss_ep_comp) + return 0; + return ep->ss_ep_comp->desc.bmAttributes; +} + static inline u32 xhci_get_endpoint_type(struct usb_device *udev, struct usb_host_endpoint *ep) { @@ -526,6 +596,36 @@ return type; } +/* Return the maximum endpoint service interval time (ESIT) payload. + * Basically, this is the maxpacket size, multiplied by the burst size + * and mult size. + */ +static inline u32 xhci_get_max_esit_payload(struct xhci_hcd *xhci, + struct usb_device *udev, + struct usb_host_endpoint *ep) +{ + int max_burst; + int max_packet; + + /* Only applies for interrupt or isochronous endpoints */ + if (usb_endpoint_xfer_control(&ep->desc) || + usb_endpoint_xfer_bulk(&ep->desc)) + return 0; + + if (udev->speed == USB_SPEED_SUPER) { + if (ep->ss_ep_comp) + return ep->ss_ep_comp->desc.wBytesPerInterval; + xhci_warn(xhci, "WARN no SS endpoint companion descriptor.\n"); + /* Assume no bursts, no multiple opportunities to send. */ + return ep->desc.wMaxPacketSize; + } + + max_packet = ep->desc.wMaxPacketSize & 0x3ff; + max_burst = (ep->desc.wMaxPacketSize & 0x1800) >> 11; + /* A 0 in max burst means 1 transfer per ESIT */ + return max_packet * (max_burst + 1); +} + int xhci_endpoint_init(struct xhci_hcd *xhci, struct xhci_virt_device *virt_dev, struct usb_device *udev, @@ -537,6 +637,7 @@ struct xhci_ring *ep_ring; unsigned int max_packet; unsigned int max_burst; + u32 max_esit_payload; ep_index = xhci_get_endpoint_index(&ep->desc); ep_ctx = xhci_get_ep_ctx(xhci, virt_dev->in_ctx, ep_index); @@ -550,6 +651,7 @@ ep_ctx->deq = ep_ring->first_seg->dma | ep_ring->cycle_state; ep_ctx->ep_info = xhci_get_endpoint_interval(udev, ep); + ep_ctx->ep_info |= EP_MULT(xhci_get_endpoint_mult(udev, ep)); /* FIXME dig Mult and streams info out of ep companion desc */ @@ -595,6 +697,26 @@ default: BUG(); } + max_esit_payload = xhci_get_max_esit_payload(xhci, udev, ep); + ep_ctx->tx_info = MAX_ESIT_PAYLOAD_FOR_EP(max_esit_payload); + + /* + * XXX no idea how to calculate the average TRB buffer length for bulk + * endpoints, as the driver gives us no clue how big each scatter gather + * list entry (or buffer) is going to be. + * + * For isochronous and interrupt endpoints, we set it to the max + * available, until we have new API in the USB core to allow drivers to + * declare how much bandwidth they actually need. + * + * Normally, it would be calculated by taking the total of the buffer + * lengths in the TD and then dividing by the number of TRBs in a TD, + * including link TRBs, No-op TRBs, and Event data TRBs. Since we don't + * use Event Data TRBs, and we don't chain in a link TRB on short + * transfers, we're basically dividing by 1. + */ + ep_ctx->tx_info |= AVG_TRB_LENGTH_FOR_EP(max_esit_payload); + /* FIXME Debug endpoint context */ return 0; } --- linux-2.6.32.orig/drivers/usb/host/xhci-ring.c +++ linux-2.6.32/drivers/usb/host/xhci-ring.c @@ -124,7 +124,7 @@ *seg = (*seg)->next; *trb = ((*seg)->trbs); } else { - *trb = (*trb)++; + (*trb)++; } } @@ -241,10 +241,27 @@ int i; union xhci_trb *enq = ring->enqueue; struct xhci_segment *enq_seg = ring->enq_seg; + struct xhci_segment *cur_seg; + unsigned int left_on_ring; /* Check if ring is empty */ - if (enq == ring->dequeue) + if (enq == ring->dequeue) { + /* Can't use link trbs */ + left_on_ring = TRBS_PER_SEGMENT - 1; + for (cur_seg = enq_seg->next; cur_seg != enq_seg; + cur_seg = cur_seg->next) + left_on_ring += TRBS_PER_SEGMENT - 1; + + /* Always need one TRB free in the ring. */ + left_on_ring -= 1; + if (num_trbs > left_on_ring) { + xhci_warn(xhci, "Not enough room on ring; " + "need %u TRBs, %u TRBs left\n", + num_trbs, left_on_ring); + return 0; + } return 1; + } /* Make sure there's an extra empty TRB available */ for (i = 0; i <= num_trbs; ++i) { if (enq == ring->dequeue) @@ -333,7 +350,8 @@ while (cur_seg->trbs > trb || &cur_seg->trbs[TRBS_PER_SEGMENT - 1] < trb) { generic_trb = &cur_seg->trbs[TRBS_PER_SEGMENT - 1].generic; - if (TRB_TYPE(generic_trb->field[3]) == TRB_LINK && + if ((generic_trb->field[3] & TRB_TYPE_BITMASK) == + TRB_TYPE(TRB_LINK) && (generic_trb->field[3] & LINK_TOGGLE)) *cycle_state = ~(*cycle_state) & 0x1; cur_seg = cur_seg->next; @@ -373,8 +391,11 @@ state->new_deq_seg = find_trb_seg(cur_td->start_seg, dev->eps[ep_index].stopped_trb, &state->new_cycle_state); - if (!state->new_deq_seg) - BUG(); + if (!state->new_deq_seg) { + WARN_ON(1); + return; + } + /* Dig out the cycle state saved by the xHC during the stop ep cmd */ xhci_dbg(xhci, "Finding endpoint context\n"); ep_ctx = xhci_get_ep_ctx(xhci, dev->out_ctx, ep_index); @@ -385,15 +406,31 @@ state->new_deq_seg = find_trb_seg(state->new_deq_seg, state->new_deq_ptr, &state->new_cycle_state); - if (!state->new_deq_seg) - BUG(); + if (!state->new_deq_seg) { + WARN_ON(1); + return; + } trb = &state->new_deq_ptr->generic; - if (TRB_TYPE(trb->field[3]) == TRB_LINK && + if ((trb->field[3] & TRB_TYPE_BITMASK) == TRB_TYPE(TRB_LINK) && (trb->field[3] & LINK_TOGGLE)) state->new_cycle_state = ~(state->new_cycle_state) & 0x1; next_trb(xhci, ep_ring, &state->new_deq_seg, &state->new_deq_ptr); + /* + * If there is only one segment in a ring, find_trb_seg()'s while loop + * will not run, and it will return before it has a chance to see if it + * needs to toggle the cycle bit. It can't tell if the stalled transfer + * ended just before the link TRB on a one-segment ring, or if the TD + * wrapped around the top of the ring, because it doesn't have the TD in + * question. Look for the one-segment case where stalled TRB's address + * is greater than the new dequeue pointer address. + */ + if (ep_ring->first_seg == ep_ring->first_seg->next && + state->new_deq_ptr < dev->eps[ep_index].stopped_trb) + state->new_cycle_state ^= 0x1; + xhci_dbg(xhci, "Cycle state = 0x%x\n", state->new_cycle_state); + /* Don't update the ring cycle state for the producer (us). */ xhci_dbg(xhci, "New dequeue segment = %p (virtual)\n", state->new_deq_seg); @@ -548,6 +585,8 @@ /* Otherwise just ring the doorbell to restart the ring */ ring_ep_doorbell(xhci, slot_id, ep_index); } + ep->stopped_td = NULL; + ep->stopped_trb = NULL; /* * Drop the lock and complete the URBs in the cancelled TD list. @@ -1065,8 +1104,13 @@ ep->stopped_td = td; ep->stopped_trb = event_trb; + xhci_queue_reset_ep(xhci, slot_id, ep_index); xhci_cleanup_stalled_ring(xhci, td->urb->dev, ep_index); + + ep->stopped_td = NULL; + ep->stopped_trb = NULL; + xhci_ring_cmd_db(xhci); goto td_cleanup; default: @@ -1186,8 +1230,10 @@ for (cur_trb = ep_ring->dequeue, cur_seg = ep_ring->deq_seg; cur_trb != event_trb; next_trb(xhci, ep_ring, &cur_seg, &cur_trb)) { - if (TRB_TYPE(cur_trb->generic.field[3]) != TRB_TR_NOOP && - TRB_TYPE(cur_trb->generic.field[3]) != TRB_LINK) + if ((cur_trb->generic.field[3] & + TRB_TYPE_BITMASK) != TRB_TYPE(TRB_TR_NOOP) && + (cur_trb->generic.field[3] & + TRB_TYPE_BITMASK) != TRB_TYPE(TRB_LINK)) td->urb->actual_length += TRB_LEN(cur_trb->generic.field[2]); } @@ -1458,12 +1504,13 @@ /* Scatter gather list entries may cross 64KB boundaries */ running_total = TRB_MAX_BUFF_SIZE - - (sg_dma_address(sg) & ((1 << TRB_MAX_BUFF_SHIFT) - 1)); + (sg_dma_address(sg) & (TRB_MAX_BUFF_SIZE - 1)); + running_total &= TRB_MAX_BUFF_SIZE - 1; if (running_total != 0) num_trbs++; /* How many more 64KB chunks to transfer, how many more TRBs? */ - while (running_total < sg_dma_len(sg)) { + while (running_total < sg_dma_len(sg) && running_total < temp) { num_trbs++; running_total += TRB_MAX_BUFF_SIZE; } @@ -1488,11 +1535,11 @@ static void check_trb_math(struct urb *urb, int num_trbs, int running_total) { if (num_trbs != 0) - dev_dbg(&urb->dev->dev, "%s - ep %#x - Miscalculated number of " + dev_err(&urb->dev->dev, "%s - ep %#x - Miscalculated number of " "TRBs, %d left\n", __func__, urb->ep->desc.bEndpointAddress, num_trbs); if (running_total != urb->transfer_buffer_length) - dev_dbg(&urb->dev->dev, "%s - ep %#x - Miscalculated tx length, " + dev_err(&urb->dev->dev, "%s - ep %#x - Miscalculated tx length, " "queued %#x (%d), asked for %#x (%d)\n", __func__, urb->ep->desc.bEndpointAddress, @@ -1599,8 +1646,7 @@ sg = urb->sg->sg; addr = (u64) sg_dma_address(sg); this_sg_len = sg_dma_len(sg); - trb_buff_len = TRB_MAX_BUFF_SIZE - - (addr & ((1 << TRB_MAX_BUFF_SHIFT) - 1)); + trb_buff_len = TRB_MAX_BUFF_SIZE - (addr & (TRB_MAX_BUFF_SIZE - 1)); trb_buff_len = min_t(int, trb_buff_len, this_sg_len); if (trb_buff_len > urb->transfer_buffer_length) trb_buff_len = urb->transfer_buffer_length; @@ -1635,7 +1681,7 @@ (unsigned int) (addr + TRB_MAX_BUFF_SIZE) & ~(TRB_MAX_BUFF_SIZE - 1), (unsigned int) addr + trb_buff_len); if (TRB_MAX_BUFF_SIZE - - (addr & ((1 << TRB_MAX_BUFF_SHIFT) - 1)) < trb_buff_len) { + (addr & (TRB_MAX_BUFF_SIZE - 1)) < trb_buff_len) { xhci_warn(xhci, "WARN: sg dma xfer crosses 64KB boundaries!\n"); xhci_dbg(xhci, "Next boundary at %#x, end dma = %#x\n", (unsigned int) (addr + TRB_MAX_BUFF_SIZE) & ~(TRB_MAX_BUFF_SIZE - 1), @@ -1673,7 +1719,7 @@ } trb_buff_len = TRB_MAX_BUFF_SIZE - - (addr & ((1 << TRB_MAX_BUFF_SHIFT) - 1)); + (addr & (TRB_MAX_BUFF_SIZE - 1)); trb_buff_len = min_t(int, trb_buff_len, this_sg_len); if (running_total + trb_buff_len > urb->transfer_buffer_length) trb_buff_len = @@ -1708,7 +1754,8 @@ num_trbs = 0; /* How much data is (potentially) left before the 64KB boundary? */ running_total = TRB_MAX_BUFF_SIZE - - (urb->transfer_dma & ((1 << TRB_MAX_BUFF_SHIFT) - 1)); + (urb->transfer_dma & (TRB_MAX_BUFF_SIZE - 1)); + running_total &= TRB_MAX_BUFF_SIZE - 1; /* If there's some data on this 64KB chunk, or we have to send a * zero-length transfer, we need at least one TRB @@ -1747,8 +1794,8 @@ /* How much data is in the first TRB? */ addr = (u64) urb->transfer_dma; trb_buff_len = TRB_MAX_BUFF_SIZE - - (urb->transfer_dma & ((1 << TRB_MAX_BUFF_SHIFT) - 1)); - if (urb->transfer_buffer_length < trb_buff_len) + (urb->transfer_dma & (TRB_MAX_BUFF_SIZE - 1)); + if (trb_buff_len > urb->transfer_buffer_length) trb_buff_len = urb->transfer_buffer_length; first_trb = true; --- linux-2.6.32.orig/drivers/usb/host/whci/qset.c +++ linux-2.6.32/drivers/usb/host/whci/qset.c @@ -104,7 +104,7 @@ { qset->td_start = qset->td_end = qset->ntds = 0; - qset->qh.link = cpu_to_le32(QH_LINK_NTDS(8) | QH_LINK_T); + qset->qh.link = cpu_to_le64(QH_LINK_NTDS(8) | QH_LINK_T); qset->qh.status = qset->qh.status & QH_STATUS_SEQ_MASK; qset->qh.err_count = 0; qset->qh.scratch[0] = 0; --- linux-2.6.32.orig/drivers/usb/misc/appledisplay.c +++ linux-2.6.32/drivers/usb/misc/appledisplay.c @@ -72,8 +72,8 @@ struct usb_device *udev; /* usb device */ struct urb *urb; /* usb request block */ struct backlight_device *bd; /* backlight device */ - char *urbdata; /* interrupt URB data buffer */ - char *msgdata; /* control message data buffer */ + u8 *urbdata; /* interrupt URB data buffer */ + u8 *msgdata; /* control message data buffer */ struct delayed_work work; int button_pressed; --- linux-2.6.32.orig/drivers/usb/misc/cypress_cy7c63.c +++ linux-2.6.32/drivers/usb/misc/cypress_cy7c63.c @@ -195,11 +195,9 @@ return read_port(dev, attr, buf, 1, CYPRESS_READ_PORT_ID1); } -static DEVICE_ATTR(port0, S_IWUGO | S_IRUGO, - get_port0_handler, set_port0_handler); +static DEVICE_ATTR(port0, S_IRUGO | S_IWUSR, get_port0_handler, set_port0_handler); -static DEVICE_ATTR(port1, S_IWUGO | S_IRUGO, - get_port1_handler, set_port1_handler); +static DEVICE_ATTR(port1, S_IRUGO | S_IWUSR, get_port1_handler, set_port1_handler); static int cypress_probe(struct usb_interface *interface, --- linux-2.6.32.orig/drivers/usb/misc/emi62.c +++ linux-2.6.32/drivers/usb/misc/emi62.c @@ -167,7 +167,7 @@ err("%s - error loading firmware: error = %d", __func__, err); goto wraperr; } - } while (i > 0); + } while (rec); /* Assert reset (stop the CPU in the EMI) */ err = emi62_set_reset(dev,1); --- linux-2.6.32.orig/drivers/usb/misc/iowarrior.c +++ linux-2.6.32/drivers/usb/misc/iowarrior.c @@ -373,7 +373,7 @@ case USB_DEVICE_ID_CODEMERCS_IOWPV2: case USB_DEVICE_ID_CODEMERCS_IOW40: /* IOW24 and IOW40 use a synchronous call */ - buf = kmalloc(8, GFP_KERNEL); /* 8 bytes are enough for both products */ + buf = kmalloc(count, GFP_KERNEL); if (!buf) { retval = -ENOMEM; goto exit; @@ -552,6 +552,7 @@ /* needed for power consumption */ struct usb_config_descriptor *cfg_descriptor = &dev->udev->actconfig->desc; + memset(&info, 0, sizeof(info)); /* directly from the descriptor */ info.vendor = le16_to_cpu(dev->udev->descriptor.idVendor); info.product = dev->product_id; --- linux-2.6.32.orig/drivers/usb/misc/isight_firmware.c +++ linux-2.6.32/drivers/usb/misc/isight_firmware.c @@ -54,8 +54,9 @@ ptr = firmware->data; + buf[0] = 0x01; if (usb_control_msg - (dev, usb_sndctrlpipe(dev, 0), 0xa0, 0x40, 0xe600, 0, "\1", 1, + (dev, usb_sndctrlpipe(dev, 0), 0xa0, 0x40, 0xe600, 0, buf, 1, 300) != 1) { printk(KERN_ERR "Failed to initialise isight firmware loader\n"); @@ -99,8 +100,9 @@ } } + buf[0] = 0x00; if (usb_control_msg - (dev, usb_sndctrlpipe(dev, 0), 0xa0, 0x40, 0xe600, 0, "\0", 1, + (dev, usb_sndctrlpipe(dev, 0), 0xa0, 0x40, 0xe600, 0, buf, 1, 300) != 1) { printk(KERN_ERR "isight firmware loading completion failed\n"); ret = -ENODEV; --- linux-2.6.32.orig/drivers/usb/misc/trancevibrator.c +++ linux-2.6.32/drivers/usb/misc/trancevibrator.c @@ -85,7 +85,7 @@ return count; } -static DEVICE_ATTR(speed, S_IWUGO | S_IRUGO, show_speed, set_speed); +static DEVICE_ATTR(speed, S_IRUGO | S_IWUSR, show_speed, set_speed); static int tv_probe(struct usb_interface *interface, const struct usb_device_id *id) --- linux-2.6.32.orig/drivers/usb/misc/usbled.c +++ linux-2.6.32/drivers/usb/misc/usbled.c @@ -94,7 +94,7 @@ change_color(led); \ return count; \ } \ -static DEVICE_ATTR(value, S_IWUGO | S_IRUGO, show_##value, set_##value); +static DEVICE_ATTR(value, S_IRUGO | S_IWUSR, show_##value, set_##value); show_set(blue); show_set(red); show_set(green); --- linux-2.6.32.orig/drivers/usb/misc/usbsevseg.c +++ linux-2.6.32/drivers/usb/misc/usbsevseg.c @@ -24,7 +24,7 @@ #define VENDOR_ID 0x0fc5 #define PRODUCT_ID 0x1227 -#define MAXLEN 6 +#define MAXLEN 8 /* table of devices that work with this driver */ static struct usb_device_id id_table[] = { @@ -185,7 +185,7 @@ \ return count; \ } \ -static DEVICE_ATTR(name, S_IWUGO | S_IRUGO, show_attr_##name, set_attr_##name); +static DEVICE_ATTR(name, S_IRUGO | S_IWUSR, show_attr_##name, set_attr_##name); static ssize_t show_attr_text(struct device *dev, struct device_attribute *attr, char *buf) @@ -216,7 +216,7 @@ return count; } -static DEVICE_ATTR(text, S_IWUGO | S_IRUGO, show_attr_text, set_attr_text); +static DEVICE_ATTR(text, S_IRUGO | S_IWUSR, show_attr_text, set_attr_text); static ssize_t show_attr_decimals(struct device *dev, struct device_attribute *attr, char *buf) @@ -265,8 +265,7 @@ return count; } -static DEVICE_ATTR(decimals, S_IWUGO | S_IRUGO, - show_attr_decimals, set_attr_decimals); +static DEVICE_ATTR(decimals, S_IRUGO | S_IWUSR, show_attr_decimals, set_attr_decimals); static ssize_t show_attr_textmode(struct device *dev, struct device_attribute *attr, char *buf) @@ -312,8 +311,7 @@ return -EINVAL; } -static DEVICE_ATTR(textmode, S_IWUGO | S_IRUGO, - show_attr_textmode, set_attr_textmode); +static DEVICE_ATTR(textmode, S_IRUGO | S_IWUSR, show_attr_textmode, set_attr_textmode); MYDEV_ATTR_SIMPLE_UNSIGNED(powered, update_display_powered); --- linux-2.6.32.orig/drivers/usb/misc/usbtest.c +++ linux-2.6.32/drivers/usb/misc/usbtest.c @@ -1382,7 +1382,6 @@ break; } } - simple_free_urb (urb); ctx->pending--; if (ctx->pending == 0) { @@ -1499,6 +1498,7 @@ } simple_free_urb (urbs [i]); + urbs[i] = NULL; context.pending--; context.submit_error = 1; break; @@ -1508,6 +1508,10 @@ wait_for_completion (&context.done); + for (i = 0; i < param->sglen; i++) { + if (urbs[i]) + simple_free_urb(urbs[i]); + } /* * Isochronous transfers are expected to fail sometimes. As an * arbitrary limit, we will report an error if any submissions --- linux-2.6.32.orig/drivers/usb/misc/uss720.c +++ linux-2.6.32/drivers/usb/misc/uss720.c @@ -3,7 +3,7 @@ /* * uss720.c -- USS720 USB Parport Cable. * - * Copyright (C) 1999, 2005 + * Copyright (C) 1999, 2005, 2010 * Thomas Sailer (t.sailer@alumni.ethz.ch) * * This program is free software; you can redistribute it and/or modify @@ -176,12 +176,11 @@ spin_lock_irqsave(&priv->asynclock, flags); list_add_tail(&rq->asynclist, &priv->asynclist); spin_unlock_irqrestore(&priv->asynclock, flags); + kref_get(&rq->ref_count); ret = usb_submit_urb(rq->urb, mem_flags); - if (!ret) { - kref_get(&rq->ref_count); + if (!ret) return rq; - } - kref_put(&rq->ref_count, destroy_async); + destroy_async(&rq->ref_count); err("submit_async_request submit_urb failed with %d", ret); return NULL; } @@ -775,6 +774,8 @@ { USB_DEVICE(0x0557, 0x2001) }, { USB_DEVICE(0x0729, 0x1284) }, { USB_DEVICE(0x1293, 0x0002) }, + { USB_DEVICE(0x1293, 0x0002) }, + { USB_DEVICE(0x050d, 0x0002) }, { } /* Terminating entry */ }; --- linux-2.6.32.orig/drivers/usb/misc/sisusbvga/sisusb.c +++ linux-2.6.32/drivers/usb/misc/sisusbvga/sisusb.c @@ -2435,7 +2435,8 @@ } if (!sisusb->devinit) { - if (sisusb->sisusb_dev->speed == USB_SPEED_HIGH) { + if (sisusb->sisusb_dev->speed == USB_SPEED_HIGH || + sisusb->sisusb_dev->speed == USB_SPEED_SUPER) { if (sisusb_init_gfxdevice(sisusb, 0)) { mutex_unlock(&sisusb->lock); dev_err(&sisusb->sisusb_dev->dev, "Failed to initialize device\n"); @@ -3007,6 +3008,7 @@ #else x.sisusb_conactive = 0; #endif + memset(x.sisusb_reserved, 0, sizeof(x.sisusb_reserved)); if (copy_to_user((void __user *)arg, &x, sizeof(x))) retval = -EFAULT; @@ -3167,7 +3169,7 @@ sisusb->present = 1; - if (dev->speed == USB_SPEED_HIGH) { + if (dev->speed == USB_SPEED_HIGH || dev->speed == USB_SPEED_SUPER) { int initscreen = 1; #ifdef INCL_SISUSB_CON if (sisusb_first_vc > 0 && @@ -3245,6 +3247,7 @@ { USB_DEVICE(0x0711, 0x0902) }, { USB_DEVICE(0x0711, 0x0903) }, { USB_DEVICE(0x0711, 0x0918) }, + { USB_DEVICE(0x0711, 0x0920) }, { USB_DEVICE(0x182d, 0x021c) }, { USB_DEVICE(0x182d, 0x0269) }, { } --- linux-2.6.32.orig/drivers/usb/mon/mon_bin.c +++ linux-2.6.32/drivers/usb/mon/mon_bin.c @@ -971,7 +971,7 @@ mutex_lock(&rp->fetch_lock); spin_lock_irqsave(&rp->b_lock, flags); - mon_free_buff(rp->b_vec, size/CHUNK_SIZE); + mon_free_buff(rp->b_vec, rp->b_size/CHUNK_SIZE); kfree(rp->b_vec); rp->b_vec = vec; rp->b_size = size; @@ -1041,7 +1041,7 @@ nevents = mon_bin_queued(rp); sp = (struct mon_bin_stats __user *)arg; - if (put_user(rp->cnt_lost, &sp->dropped)) + if (put_user(ndropped, &sp->dropped)) return -EFAULT; if (put_user(nevents, &sp->queued)) return -EFAULT; --- linux-2.6.32.orig/drivers/usb/musb/blackfin.c +++ linux-2.6.32/drivers/usb/musb/blackfin.c @@ -248,8 +248,10 @@ usb_nop_xceiv_register(); musb->xceiv = otg_get_transceiver(); - if (!musb->xceiv) + if (!musb->xceiv) { + gpio_free(musb->config->gpio_vrsel); return -ENODEV; + } if (ANOMALY_05000346) { bfin_write_USB_APHY_CALIB(ANOMALY_05000346_value); --- linux-2.6.32.orig/drivers/usb/musb/musb_core.c +++ linux-2.6.32/drivers/usb/musb/musb_core.c @@ -1792,6 +1792,7 @@ INIT_LIST_HEAD(&musb->out_bulk); hcd->uses_new_polling = 1; + hcd->has_tt = 1; musb->vbuserr_retry = VBUSERR_RETRY_COUNT; musb->a_wait_bcon = OTG_TIME_A_WAIT_BCON; --- linux-2.6.32.orig/drivers/usb/musb/musb_gadget.c +++ linux-2.6.32/drivers/usb/musb/musb_gadget.c @@ -577,11 +577,19 @@ { const u8 epnum = req->epnum; struct usb_request *request = &req->request; - struct musb_ep *musb_ep = &musb->endpoints[epnum].ep_out; + struct musb_ep *musb_ep; void __iomem *epio = musb->endpoints[epnum].regs; unsigned fifo_count = 0; - u16 len = musb_ep->packet_sz; + u16 len; u16 csr = musb_readw(epio, MUSB_RXCSR); + struct musb_hw_ep *hw_ep = &musb->endpoints[epnum]; + + if (hw_ep->is_shared_fifo) + musb_ep = &hw_ep->ep_in; + else + musb_ep = &hw_ep->ep_out; + + len = musb_ep->packet_sz; /* We shouldn't get here while DMA is active, but we do... */ if (dma_channel_status(musb_ep->dma) == MUSB_DMA_STATUS_BUSY) { @@ -749,9 +757,15 @@ u16 csr; struct usb_request *request; void __iomem *mbase = musb->mregs; - struct musb_ep *musb_ep = &musb->endpoints[epnum].ep_out; + struct musb_ep *musb_ep; void __iomem *epio = musb->endpoints[epnum].regs; struct dma_channel *dma; + struct musb_hw_ep *hw_ep = &musb->endpoints[epnum]; + + if (hw_ep->is_shared_fifo) + musb_ep = &hw_ep->ep_in; + else + musb_ep = &hw_ep->ep_out; musb_ep_select(mbase, epnum); @@ -1074,7 +1088,7 @@ /* * Context: controller locked, IRQs blocked. */ -static void musb_ep_restart(struct musb *musb, struct musb_request *req) +void musb_ep_restart(struct musb *musb, struct musb_request *req) { DBG(3, "<== %s request %p len %u on hw_ep%d\n", req->tx ? "TX/IN" : "RX/OUT", --- linux-2.6.32.orig/drivers/usb/musb/musb_gadget.h +++ linux-2.6.32/drivers/usb/musb/musb_gadget.h @@ -105,4 +105,6 @@ extern int musb_gadget_set_halt(struct usb_ep *ep, int value); +extern void musb_ep_restart(struct musb *, struct musb_request *); + #endif /* __MUSB_GADGET_H */ --- linux-2.6.32.orig/drivers/usb/musb/musb_gadget_ep0.c +++ linux-2.6.32/drivers/usb/musb/musb_gadget_ep0.c @@ -199,7 +199,6 @@ static void musb_g_ep0_giveback(struct musb *musb, struct usb_request *req) { musb_g_giveback(&musb->endpoints[0].ep_in, req, 0); - musb->ep0_state = MUSB_EP0_STAGE_SETUP; } /* @@ -370,6 +369,7 @@ ctrlrequest->wIndex & 0x0f; struct musb_ep *musb_ep; struct musb_hw_ep *ep; + struct musb_request *request; void __iomem *regs; int is_in; u16 csr; @@ -412,6 +412,14 @@ csr); } + /* Maybe start the first request in the queue */ + request = to_musb_request( + next_request(musb_ep)); + if (!musb_ep->busy && request) { + DBG(3, "restarting the request\n"); + musb_ep_restart(musb, request); + } + /* select ep0 again */ musb_ep_select(mbase, 0); handled = 1; @@ -648,7 +656,7 @@ musb->ep0_state = MUSB_EP0_STAGE_STATUSIN; break; default: - ERR("SetupEnd came in a wrong ep0stage %s", + ERR("SetupEnd came in a wrong ep0stage %s\n", decode_ep0stage(musb->ep0_state)); } csr = musb_readw(regs, MUSB_CSR0); @@ -771,12 +779,18 @@ handled = service_zero_data_request( musb, &setup); + /* + * We're expecting no data in any case, so + * always set the DATAEND bit -- doing this + * here helps avoid SetupEnd interrupt coming + * in the idle stage when we're stalling... + */ + musb->ackpend |= MUSB_CSR0_P_DATAEND; + /* status stage might be immediate */ - if (handled > 0) { - musb->ackpend |= MUSB_CSR0_P_DATAEND; + if (handled > 0) musb->ep0_state = MUSB_EP0_STAGE_STATUSIN; - } break; /* sequence #1 (IN to host), includes GET_STATUS --- linux-2.6.32.orig/drivers/usb/musb/omap2430.c +++ linux-2.6.32/drivers/usb/musb/omap2430.c @@ -309,6 +309,7 @@ int musb_platform_exit(struct musb *musb) { + del_timer_sync(&musb_idle_timer); omap_vbus_power(musb, 0 /*off*/, 1); --- linux-2.6.32.orig/drivers/usb/serial/ch341.c +++ linux-2.6.32/drivers/usb/serial/ch341.c @@ -73,6 +73,7 @@ static struct usb_device_id id_table [] = { { USB_DEVICE(0x4348, 0x5523) }, { USB_DEVICE(0x1a86, 0x7523) }, + { USB_DEVICE(0x1a86, 0x5523) }, { }, }; MODULE_DEVICE_TABLE(usb, id_table); @@ -479,12 +480,22 @@ if (actual_length >= 4) { struct ch341_private *priv = usb_get_serial_port_data(port); unsigned long flags; + u8 prev_line_status = priv->line_status; spin_lock_irqsave(&priv->lock, flags); priv->line_status = (~(data[2])) & CH341_BITS_MODEM_STAT; if ((data[1] & CH341_MULT_STAT)) priv->multi_status_change = 1; spin_unlock_irqrestore(&priv->lock, flags); + + if ((priv->line_status ^ prev_line_status) & CH341_BIT_DCD) { + struct tty_struct *tty = tty_port_tty_get(&port->port); + if (tty) + usb_serial_handle_dcd_change(port, tty, + priv->line_status & CH341_BIT_DCD); + tty_kref_put(tty); + } + wake_up_interruptible(&priv->delta_msr_wait); } --- linux-2.6.32.orig/drivers/usb/serial/cp210x.c +++ linux-2.6.32/drivers/usb/serial/cp210x.c @@ -51,16 +51,18 @@ static int cp210x_startup(struct usb_serial *); static void cp210x_disconnect(struct usb_serial *); static void cp210x_dtr_rts(struct usb_serial_port *p, int on); -static int cp210x_carrier_raised(struct usb_serial_port *p); static int debug; static struct usb_device_id id_table [] = { + { USB_DEVICE(0x045B, 0x0053) }, /* Renesas RX610 RX-Stick */ { USB_DEVICE(0x0471, 0x066A) }, /* AKTAKOM ACE-1001 cable */ { USB_DEVICE(0x0489, 0xE000) }, /* Pirelli Broadband S.p.A, DP-L10 SIP/GSM Mobile */ { USB_DEVICE(0x0745, 0x1000) }, /* CipherLab USB CCD Barcode Scanner 1000 */ { 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 */ + { USB_DEVICE(0x0BED, 0x1101) }, /* MEI series 2000 Combo Acceptor */ { USB_DEVICE(0x0FCF, 0x1003) }, /* Dynastream ANT development board */ { USB_DEVICE(0x0FCF, 0x1004) }, /* Dynastream ANT2USB */ { USB_DEVICE(0x0FCF, 0x1006) }, /* Dynastream ANT development board */ @@ -72,9 +74,12 @@ { USB_DEVICE(0x10C4, 0x1601) }, /* Arkham Technology DS101 Adapter */ { USB_DEVICE(0x10C4, 0x800A) }, /* SPORTident BSM7-D-USB main station */ { USB_DEVICE(0x10C4, 0x803B) }, /* Pololu USB-serial converter */ + { USB_DEVICE(0x10C4, 0x8044) }, /* Cygnal Debug Adapter */ + { USB_DEVICE(0x10C4, 0x804E) }, /* Software Bisque Paramount ME build-in converter */ { USB_DEVICE(0x10C4, 0x8053) }, /* Enfora EDG1228 */ { USB_DEVICE(0x10C4, 0x8054) }, /* Enfora GSM2228 */ { USB_DEVICE(0x10C4, 0x8066) }, /* Argussoft In-System Programmer */ + { USB_DEVICE(0x10C4, 0x806F) }, /* IMS USB to RS422 Converter Cable */ { USB_DEVICE(0x10C4, 0x807A) }, /* Crumb128 board */ { USB_DEVICE(0x10C4, 0x80CA) }, /* Degree Controls Inc */ { USB_DEVICE(0x10C4, 0x80DD) }, /* Tracient RFID */ @@ -84,26 +89,39 @@ { 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(0x10C4, 0x8156) }, /* B&G H3000 link cable */ { USB_DEVICE(0x10C4, 0x815E) }, /* Helicomm IP-Link 1220-DVM */ + { USB_DEVICE(0x10C4, 0x818B) }, /* AVIT Research USB to TTL */ { USB_DEVICE(0x10C4, 0x819F) }, /* MJS USB Toslink Switcher */ { USB_DEVICE(0x10C4, 0x81A6) }, /* ThinkOptics WavIt */ + { USB_DEVICE(0x10C4, 0x81A9) }, /* Multiplex RC Interface */ { USB_DEVICE(0x10C4, 0x81AC) }, /* MSD Dash Hawk */ + { USB_DEVICE(0x10C4, 0x81AD) }, /* INSYS USB Modem */ { USB_DEVICE(0x10C4, 0x81C8) }, /* Lipowsky Industrie Elektronik GmbH, Baby-JTAG */ { USB_DEVICE(0x10C4, 0x81E2) }, /* Lipowsky Industrie Elektronik GmbH, Baby-LIN */ { USB_DEVICE(0x10C4, 0x81E7) }, /* Aerocomm Radio */ + { USB_DEVICE(0x10C4, 0x81E8) }, /* Zephyr Bioharness */ { USB_DEVICE(0x10C4, 0x81F2) }, /* C1007 HF band RFID controller */ { USB_DEVICE(0x10C4, 0x8218) }, /* Lipowsky Industrie Elektronik GmbH, HARP-1 */ { USB_DEVICE(0x10C4, 0x822B) }, /* Modem EDGE(GSM) Comander 2 */ { USB_DEVICE(0x10C4, 0x826B) }, /* Cygnal Integrated Products, Inc., Fasttrax GPS demostration module */ - { USB_DEVICE(0x10c4, 0x8293) }, /* Telegesys ETRX2USB */ + { USB_DEVICE(0x10C4, 0x8293) }, /* Telegesys ETRX2USB */ { USB_DEVICE(0x10C4, 0x82F9) }, /* Procyon AVS */ { USB_DEVICE(0x10C4, 0x8341) }, /* Siemens MC35PU GPRS Modem */ { USB_DEVICE(0x10C4, 0x8382) }, /* Cygnal Integrated Products, Inc. */ { USB_DEVICE(0x10C4, 0x83A8) }, /* Amber Wireless AMB2560 */ + { USB_DEVICE(0x10C4, 0x83D8) }, /* DekTec DTA Plus VHF/UHF Booster/Attenuator */ { USB_DEVICE(0x10C4, 0x8411) }, /* Kyocera GPS Module */ + { USB_DEVICE(0x10C4, 0x8418) }, /* IRZ Automation Teleport SG-10 GSM/GPRS Modem */ { USB_DEVICE(0x10C4, 0x846E) }, /* BEI USB Sensor Interface (VCP) */ + { 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, 0x8664) }, /* AC-Services CAN-IF */ + { USB_DEVICE(0x10C4, 0x8665) }, /* AC-Services OBD-IF */ { USB_DEVICE(0x10C4, 0xEA60) }, /* Silicon Labs factory default */ { USB_DEVICE(0x10C4, 0xEA61) }, /* Silicon Labs factory default */ + { USB_DEVICE(0x10C4, 0xEA71) }, /* Infinity GPS-MIC-1 Radio Monophone */ { USB_DEVICE(0x10C4, 0xF001) }, /* Elan Digital Systems USBscope50 */ { USB_DEVICE(0x10C4, 0xF002) }, /* Elan Digital Systems USBwave12 */ { USB_DEVICE(0x10C4, 0xF003) }, /* Elan Digital Systems USBpulse100 */ @@ -114,7 +132,17 @@ { USB_DEVICE(0x1555, 0x0004) }, /* Owen AC4 USB-RS485 Converter */ { USB_DEVICE(0x166A, 0x0303) }, /* Clipsal 5500PCU C-Bus USB interface */ { USB_DEVICE(0x16D6, 0x0001) }, /* Jablotron serial interface */ + { USB_DEVICE(0x16DC, 0x0010) }, /* W-IE-NE-R Plein & Baus GmbH PL512 Power Supply */ + { USB_DEVICE(0x16DC, 0x0011) }, /* W-IE-NE-R Plein & Baus GmbH RCM Remote Control for MARATON Power Supply */ + { USB_DEVICE(0x16DC, 0x0012) }, /* W-IE-NE-R Plein & Baus GmbH MPOD Multi Channel Power Supply */ + { USB_DEVICE(0x16DC, 0x0015) }, /* W-IE-NE-R Plein & Baus GmbH CML Control, Monitoring and Data Logger */ + { USB_DEVICE(0x17A8, 0x0001) }, /* Kamstrup Optical Eye/3-wire */ + { USB_DEVICE(0x17A8, 0x0005) }, /* Kamstrup M-Bus Master MultiPort 250D */ + { 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(0x1BE3, 0x07A6) }, /* WAGO 750-923 USB Service Cable */ + { USB_DEVICE(0x3195, 0xF190) }, /* Link Instruments MSO-19 */ { USB_DEVICE(0x413C, 0x9500) }, /* DW700 GPS USB interface */ { } /* Terminating Entry */ }; @@ -145,8 +173,7 @@ .tiocmset = cp210x_tiocmset, .attach = cp210x_startup, .disconnect = cp210x_disconnect, - .dtr_rts = cp210x_dtr_rts, - .carrier_raised = cp210x_carrier_raised + .dtr_rts = cp210x_dtr_rts }; /* Config request types */ @@ -207,8 +234,8 @@ #define BITS_STOP_2 0x0002 /* CP210X_SET_BREAK */ -#define BREAK_ON 0x0000 -#define BREAK_OFF 0x0001 +#define BREAK_ON 0x0001 +#define BREAK_OFF 0x0000 /* CP210X_(SET_MHS|GET_MDMSTS) */ #define CONTROL_DTR 0x0001 @@ -336,8 +363,8 @@ * Quantises the baud rate as per AN205 Table 1 */ static unsigned int cp210x_quantise_baudrate(unsigned int baud) { - if (baud <= 56) baud = 0; - else if (baud <= 300) baud = 300; + if (baud <= 300) + baud = 300; else if (baud <= 600) baud = 600; else if (baud <= 1200) baud = 1200; else if (baud <= 1800) baud = 1800; @@ -780,15 +807,6 @@ return result; } -static int cp210x_carrier_raised(struct usb_serial_port *p) -{ - unsigned int control; - cp210x_get_config(p, CP210X_GET_MDMSTS, &control, 1); - if (control & CONTROL_DCD) - return 1; - return 0; -} - static void cp210x_break_ctl (struct tty_struct *tty, int break_state) { struct usb_serial_port *port = tty->driver_data; --- linux-2.6.32.orig/drivers/usb/serial/digi_acceleport.c +++ linux-2.6.32/drivers/usb/serial/digi_acceleport.c @@ -455,7 +455,6 @@ static int digi_chars_in_buffer(struct tty_struct *tty); static int digi_open(struct tty_struct *tty, struct usb_serial_port *port); static void digi_close(struct usb_serial_port *port); -static int digi_carrier_raised(struct usb_serial_port *port); static void digi_dtr_rts(struct usb_serial_port *port, int on); static int digi_startup_device(struct usb_serial *serial); static int digi_startup(struct usb_serial *serial); @@ -511,7 +510,6 @@ .open = digi_open, .close = digi_close, .dtr_rts = digi_dtr_rts, - .carrier_raised = digi_carrier_raised, .write = digi_write, .write_room = digi_write_room, .write_bulk_callback = digi_write_bulk_callback, @@ -1338,14 +1336,6 @@ digi_set_modem_signals(port, on * (TIOCM_DTR|TIOCM_RTS), 1); } -static int digi_carrier_raised(struct usb_serial_port *port) -{ - struct digi_port *priv = usb_get_serial_port_data(port); - if (priv->dp_modem_signals & TIOCM_CD) - return 1; - return 0; -} - static int digi_open(struct tty_struct *tty, struct usb_serial_port *port) { int ret; --- linux-2.6.32.orig/drivers/usb/serial/ftdi_sio.c +++ linux-2.6.32/drivers/usb/serial/ftdi_sio.c @@ -44,12 +44,13 @@ #include #include #include "ftdi_sio.h" +#include "ftdi_sio_ids.h" /* * Version Information */ #define DRIVER_VERSION "v1.5.0" -#define DRIVER_AUTHOR "Greg Kroah-Hartman , Bill Ryder , Kuba Ober " +#define DRIVER_AUTHOR "Greg Kroah-Hartman , Bill Ryder , Kuba Ober , Andreas Mohr" #define DRIVER_DESC "USB FTDI Serial Converters Driver" static int debug; @@ -103,6 +104,8 @@ static int ftdi_jtag_probe(struct usb_serial *serial); static int ftdi_mtxorb_hack_setup(struct usb_serial *serial); static int ftdi_NDI_device_setup(struct usb_serial *serial); +static int ftdi_stmclite_probe(struct usb_serial *serial); +static int ftdi_8u2232c_probe(struct usb_serial *serial); static void ftdi_USB_UIRT_setup(struct ftdi_private *priv); static void ftdi_HE_TIRA1_setup(struct ftdi_private *priv); @@ -126,6 +129,14 @@ .port_probe = ftdi_HE_TIRA1_setup, }; +static struct ftdi_sio_quirk ftdi_stmclite_quirk = { + .probe = ftdi_stmclite_probe, +}; + +static struct ftdi_sio_quirk ftdi_8u2232c_quirk = { + .probe = ftdi_8u2232c_probe, +}; + /* * The 8U232AM has the same API as the sio except for: * - it can support MUCH higher baudrates; up to: @@ -144,10 +155,18 @@ +/* + * Device ID not listed? Test via module params product/vendor or + * /sys/bus/usb/ftdi_sio/new_id, then send patch/report! + */ static struct usb_device_id id_table_combined [] = { + { USB_DEVICE(FTDI_VID, FTDI_ZEITCONTROL_TAGTRACE_MIFARE_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_CTI_MINI_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_CTI_NANO_PID) }, { USB_DEVICE(FTDI_VID, FTDI_AMC232_PID) }, { USB_DEVICE(FTDI_VID, FTDI_CANUSB_PID) }, { USB_DEVICE(FTDI_VID, FTDI_CANDAPTER_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_NXTCAM_PID) }, { USB_DEVICE(FTDI_VID, FTDI_SCS_DEVICE_0_PID) }, { USB_DEVICE(FTDI_VID, FTDI_SCS_DEVICE_1_PID) }, { USB_DEVICE(FTDI_VID, FTDI_SCS_DEVICE_2_PID) }, @@ -156,6 +175,9 @@ { USB_DEVICE(FTDI_VID, FTDI_SCS_DEVICE_5_PID) }, { USB_DEVICE(FTDI_VID, FTDI_SCS_DEVICE_6_PID) }, { USB_DEVICE(FTDI_VID, FTDI_SCS_DEVICE_7_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_USINT_CAT_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_USINT_WKEY_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_USINT_RS232_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ACTZWAVE_PID) }, { USB_DEVICE(FTDI_VID, FTDI_IRTRANS_PID) }, { USB_DEVICE(FTDI_VID, FTDI_IPLUS_PID) }, @@ -165,7 +187,8 @@ { USB_DEVICE(FTDI_VID, FTDI_8U232AM_PID) }, { USB_DEVICE(FTDI_VID, FTDI_8U232AM_ALT_PID) }, { USB_DEVICE(FTDI_VID, FTDI_232RL_PID) }, - { USB_DEVICE(FTDI_VID, FTDI_8U2232C_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_8U2232C_PID) , + .driver_info = (kernel_ulong_t)&ftdi_8u2232c_quirk }, { USB_DEVICE(FTDI_VID, FTDI_4232H_PID) }, { USB_DEVICE(FTDI_VID, FTDI_MICRO_CHAMELEON_PID) }, { USB_DEVICE(FTDI_VID, FTDI_RELAIS_PID) }, @@ -173,9 +196,11 @@ { USB_DEVICE(FTDI_VID, FTDI_OPENDCC_SNIFFER_PID) }, { 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(INTERBIOMETRICS_VID, INTERBIOMETRICS_IOBOARD_PID) }, { USB_DEVICE(INTERBIOMETRICS_VID, INTERBIOMETRICS_MINI_IOBOARD_PID) }, { USB_DEVICE(FTDI_VID, FTDI_SPROG_II) }, + { USB_DEVICE(FTDI_VID, FTDI_LENZ_LIUSB_PID) }, { USB_DEVICE(FTDI_VID, FTDI_XF_632_PID) }, { USB_DEVICE(FTDI_VID, FTDI_XF_634_PID) }, { USB_DEVICE(FTDI_VID, FTDI_XF_547_PID) }, @@ -185,6 +210,8 @@ { USB_DEVICE(FTDI_VID, FTDI_XF_640_PID) }, { USB_DEVICE(FTDI_VID, FTDI_XF_642_PID) }, { USB_DEVICE(FTDI_VID, FTDI_DSS20_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_URBAN_0_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_URBAN_1_PID) }, { USB_DEVICE(FTDI_NF_RIC_VID, FTDI_NF_RIC_PID) }, { USB_DEVICE(FTDI_VID, FTDI_VNHCPCUSB_D_PID) }, { USB_DEVICE(FTDI_VID, FTDI_MTXORB_0_PID) }, @@ -195,6 +222,7 @@ { USB_DEVICE(FTDI_VID, FTDI_MTXORB_5_PID) }, { USB_DEVICE(FTDI_VID, FTDI_MTXORB_6_PID) }, { USB_DEVICE(FTDI_VID, FTDI_R2000KU_TRUE_RNG) }, + { USB_DEVICE(FTDI_VID, FTDI_VARDAAN_PID) }, { USB_DEVICE(MTXORB_VID, MTXORB_FTDI_RANGE_0100_PID) }, { USB_DEVICE(MTXORB_VID, MTXORB_FTDI_RANGE_0101_PID) }, { USB_DEVICE(MTXORB_VID, MTXORB_FTDI_RANGE_0102_PID) }, @@ -512,6 +540,7 @@ { USB_DEVICE(SEALEVEL_VID, SEALEVEL_2803_8_PID) }, { USB_DEVICE(IDTECH_VID, IDTECH_IDT1221U_PID) }, { USB_DEVICE(OCT_VID, OCT_US101_PID) }, + { USB_DEVICE(OCT_VID, OCT_DK201_PID) }, { USB_DEVICE(FTDI_VID, FTDI_HE_TIRA1_PID), .driver_info = (kernel_ulong_t)&ftdi_HE_TIRA1_quirk }, { USB_DEVICE(FTDI_VID, FTDI_USB_UIRT_PID), @@ -550,10 +579,18 @@ { USB_DEVICE(FTDI_VID, FTDI_IBS_APP70_PID) }, { USB_DEVICE(FTDI_VID, FTDI_IBS_PEDO_PID) }, { USB_DEVICE(FTDI_VID, FTDI_IBS_PROD_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_TAVIR_STK500_PID) }, /* - * Due to many user requests for multiple ELV devices we enable - * them by default. + * ELV devices: */ + { USB_DEVICE(FTDI_VID, FTDI_ELV_USR_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_ELV_MSM1_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_ELV_KL100_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_ELV_WS550_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_ELV_EC3000_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_ELV_WS888_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_ELV_TWS550_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_ELV_FEM_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ELV_CLI7000_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ELV_PPS7330_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ELV_TFM100_PID) }, @@ -570,11 +607,17 @@ { USB_DEVICE(FTDI_VID, FTDI_ELV_PCK100_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ELV_RFP500_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ELV_FS20SIG_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_ELV_UTP8_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ELV_WS300PC_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_ELV_WS444PC_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ELV_FHZ1300PC_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ELV_EM1010PC_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ELV_WS500_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ELV_HS485_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_ELV_UMS100_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_ELV_TFD128_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_ELV_FM3RX_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_ELV_WS777_PID) }, { USB_DEVICE(FTDI_VID, LINX_SDMUSBQSS_PID) }, { USB_DEVICE(FTDI_VID, LINX_MASTERDEVEL2_PID) }, { USB_DEVICE(FTDI_VID, LINX_FUTURE_0_PID) }, @@ -595,12 +638,29 @@ { USB_DEVICE(FTDI_VID, FTDI_OCEANIC_PID) }, { USB_DEVICE(TTI_VID, TTI_QL355P_PID) }, { USB_DEVICE(FTDI_VID, FTDI_RM_CANVIEW_PID) }, + { USB_DEVICE(ACTON_VID, ACTON_SPECTRAPRO_PID) }, + { USB_DEVICE(CONTEC_VID, CONTEC_COM1USBH_PID) }, { USB_DEVICE(BANDB_VID, BANDB_USOTL4_PID) }, { USB_DEVICE(BANDB_VID, BANDB_USTL4_PID) }, { USB_DEVICE(BANDB_VID, BANDB_USO9ML2_PID) }, + { USB_DEVICE(BANDB_VID, BANDB_USOPTL4_PID) }, + { USB_DEVICE(BANDB_VID, BANDB_USPTL4_PID) }, + { USB_DEVICE(BANDB_VID, BANDB_USO9ML2DR_2_PID) }, + { USB_DEVICE(BANDB_VID, BANDB_USO9ML2DR_PID) }, + { USB_DEVICE(BANDB_VID, BANDB_USOPTL4DR2_PID) }, + { USB_DEVICE(BANDB_VID, BANDB_USOPTL4DR_PID) }, + { USB_DEVICE(BANDB_VID, BANDB_485USB9F_2W_PID) }, + { USB_DEVICE(BANDB_VID, BANDB_485USB9F_4W_PID) }, + { USB_DEVICE(BANDB_VID, BANDB_232USB9M_PID) }, + { USB_DEVICE(BANDB_VID, BANDB_485USBTB_2W_PID) }, + { USB_DEVICE(BANDB_VID, BANDB_485USBTB_4W_PID) }, + { USB_DEVICE(BANDB_VID, BANDB_TTL5USB9M_PID) }, + { USB_DEVICE(BANDB_VID, BANDB_TTL3USB9M_PID) }, + { USB_DEVICE(BANDB_VID, BANDB_ZZ_PROG1_USB_PID) }, { USB_DEVICE(FTDI_VID, EVER_ECO_PRO_CDS) }, { USB_DEVICE(FTDI_VID, FTDI_4N_GALAXY_DE_1_PID) }, { USB_DEVICE(FTDI_VID, FTDI_4N_GALAXY_DE_2_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_4N_GALAXY_DE_3_PID) }, { USB_DEVICE(FTDI_VID, XSENS_CONVERTER_0_PID) }, { USB_DEVICE(FTDI_VID, XSENS_CONVERTER_1_PID) }, { USB_DEVICE(FTDI_VID, XSENS_CONVERTER_2_PID) }, @@ -624,6 +684,7 @@ { USB_DEVICE(EVOLUTION_VID, EVOLUTION_ER1_PID) }, { USB_DEVICE(EVOLUTION_VID, EVO_HYBRID_PID) }, { USB_DEVICE(EVOLUTION_VID, EVO_RCM4_PID) }, + { USB_DEVICE(CONTEC_VID, CONTEC_COM1USBH_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ARTEMIS_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ATIK_ATK16_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ATIK_ATK16C_PID) }, @@ -640,8 +701,17 @@ { 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(ICOM_ID1_VID, ICOM_ID1_PID) }, - { USB_DEVICE(PAPOUCH_VID, PAPOUCH_TMU_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) }, + { USB_DEVICE(ICOM_VID, ICOM_ID_RP2C2_PID) }, + { USB_DEVICE(ICOM_VID, ICOM_ID_RP2D_PID) }, + { USB_DEVICE(ICOM_VID, ICOM_ID_RP2VT_PID) }, + { USB_DEVICE(ICOM_VID, ICOM_ID_RP2VR_PID) }, + { USB_DEVICE(ICOM_VID, ICOM_ID_RP4KVT_PID) }, + { USB_DEVICE(ICOM_VID, ICOM_ID_RP4KVR_PID) }, + { USB_DEVICE(ICOM_VID, ICOM_ID_RP2KVT_PID) }, + { USB_DEVICE(ICOM_VID, ICOM_ID_RP2KVR_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ACG_HFDUAL_PID) }, { USB_DEVICE(FTDI_VID, FTDI_YEI_SERVOCENTER31_PID) }, { USB_DEVICE(FTDI_VID, FTDI_THORLABS_PID) }, @@ -662,11 +732,14 @@ { 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(FTDI_VID, FTDI_MAXSTREAM_PID) }, { USB_DEVICE(FTDI_VID, FTDI_PHI_FISCO_PID) }, { USB_DEVICE(TML_VID, TML_USB_SERIAL_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ELSTER_UNICOM_PID) }, { USB_DEVICE(FTDI_VID, FTDI_PROPOX_JTAGCABLEII_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_PROPOX_ISPCABLEIII_PID) }, { USB_DEVICE(OLIMEX_VID, OLIMEX_ARM_USB_OCD_PID), .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, { USB_DEVICE(FIC_VID, FIC_NEO1973_DEBUG_PID), @@ -677,11 +750,43 @@ .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, { USB_DEVICE(FTDI_VID, LMI_LM3S_EVAL_BOARD_PID), .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, + { USB_DEVICE(FTDI_VID, LMI_LM3S_ICDI_BOARD_PID), + .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, { USB_DEVICE(FTDI_VID, FTDI_TURTELIZER_PID), .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, { USB_DEVICE(RATOC_VENDOR_ID, RATOC_PRODUCT_ID_USB60F) }, { USB_DEVICE(FTDI_VID, FTDI_REU_TINY_PID) }, + + /* Papouch devices based on FTDI chip */ + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_SB485_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_AP485_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_SB422_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_SB485_2_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_AP485_2_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_SB422_2_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_SB485S_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_SB485C_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_LEC_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_SB232_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_TMU_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_IRAMP_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_DRAK5_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_QUIDO8x8_PID) }, { USB_DEVICE(PAPOUCH_VID, PAPOUCH_QUIDO4x4_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_QUIDO2x2_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_QUIDO10x1_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_QUIDO30x3_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_QUIDO60x3_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_QUIDO2x16_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_QUIDO3x32_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_DRAK6_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_UPSUSB_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_MU_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_SIMUKEY_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_AD4USB_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_GMUX_PID) }, + { USB_DEVICE(PAPOUCH_VID, PAPOUCH_GMSR_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_DOMINTELL_DGQG_PID) }, { USB_DEVICE(FTDI_VID, FTDI_DOMINTELL_DUSB_PID) }, { USB_DEVICE(ALTI2_VID, ALTI2_N3_PID) }, @@ -693,6 +798,7 @@ .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(HORNBY_VID, HORNBY_ELITE_PID) }, { USB_DEVICE(JETI_VID, JETI_SPC1201_PID) }, { USB_DEVICE(MARVELL_VID, MARVELL_SHEEVAPLUG_PID), .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, @@ -701,8 +807,46 @@ { USB_DEVICE(BAYER_VID, BAYER_CONTOUR_CABLE_PID) }, { USB_DEVICE(FTDI_VID, MARVELL_OPENRD_PID), .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, + { USB_DEVICE(FTDI_VID, TI_XDS100V2_PID), + .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, { USB_DEVICE(FTDI_VID, HAMEG_HO820_PID) }, + { USB_DEVICE(FTDI_VID, HAMEG_HO720_PID) }, + { USB_DEVICE(FTDI_VID, HAMEG_HO730_PID) }, { USB_DEVICE(FTDI_VID, HAMEG_HO870_PID) }, + { USB_DEVICE(FTDI_VID, MJSG_GENERIC_PID) }, + { USB_DEVICE(FTDI_VID, MJSG_SR_RADIO_PID) }, + { USB_DEVICE(FTDI_VID, MJSG_HD_RADIO_PID) }, + { USB_DEVICE(FTDI_VID, MJSG_XM_RADIO_PID) }, + { USB_DEVICE(FTDI_VID, XVERVE_SIGNALYZER_ST_PID), + .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, + { USB_DEVICE(FTDI_VID, XVERVE_SIGNALYZER_SLITE_PID), + .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, + { USB_DEVICE(FTDI_VID, XVERVE_SIGNALYZER_SH2_PID), + .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, + { USB_DEVICE(FTDI_VID, XVERVE_SIGNALYZER_SH4_PID), + .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, + { USB_DEVICE(FTDI_VID, SEGWAY_RMP200_PID) }, + { USB_DEVICE(FTDI_VID, ACCESIO_COM4SM_PID) }, + { USB_DEVICE(IONICS_VID, IONICS_PLUGCOMPUTER_PID), + .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, + { USB_DEVICE(FTDI_VID, FTDI_CHAMSYS_24_MASTER_WING_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_CHAMSYS_PC_WING_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_CHAMSYS_USB_DMX_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_CHAMSYS_MIDI_TIMECODE_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_CHAMSYS_MINI_WING_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_CHAMSYS_MAXI_WING_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_CHAMSYS_MEDIA_WING_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_CHAMSYS_WING_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_SCIENCESCOPE_LOGBOOKML_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_SCIENCESCOPE_LS_LOGBOOK_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_SCIENCESCOPE_HS_LOGBOOK_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_CINTERION_MC55I_PID) }, + { 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), + .driver_info = (kernel_ulong_t)&ftdi_stmclite_quirk }, + { USB_DEVICE(FTDI_VID, FTDI_RF_R106) }, { }, /* Optional parameter entry */ { } /* Terminating entry */ }; @@ -1212,8 +1356,7 @@ goto check_and_exit; } - if ((new_serial.baud_base != priv->baud_base) && - (new_serial.baud_base < 9600)) { + if (new_serial.baud_base != priv->baud_base) { unlock_kernel(); return -EINVAL; } @@ -1357,7 +1500,7 @@ } /* set max packet size based on descriptor */ - priv->max_packet_size = ep_desc->wMaxPacketSize; + priv->max_packet_size = le16_to_cpu(ep_desc->wMaxPacketSize); dev_info(&udev->dev, "Setting MaxPacketSize %d\n", priv->max_packet_size); } @@ -1635,6 +1778,37 @@ return 0; } +static int ftdi_8u2232c_probe(struct usb_serial *serial) +{ + struct usb_device *udev = serial->dev; + + dbg("%s", __func__); + + if (strcmp(udev->manufacturer, "CALAO Systems") == 0) + return ftdi_jtag_probe(serial); + + return 0; +} + +/* + * First and second port on STMCLiteadaptors is reserved for JTAG interface + * and the forth port for pio + */ +static int ftdi_stmclite_probe(struct usb_serial *serial) +{ + struct usb_device *udev = serial->dev; + struct usb_interface *interface = serial->interface; + + dbg("%s", __func__); + + if (interface == udev->actconfig->interface[2]) + return 0; + + dev_info(&udev->dev, "Ignoring serial port reserved for JTAG\n"); + + return -ENODEV; +} + /* * The Matrix Orbital VK204-25-USB has an invalid IN endpoint. * We have to correct it if we want to read from it. @@ -1695,6 +1869,7 @@ static int ftdi_open(struct tty_struct *tty, struct usb_serial_port *port) { /* ftdi_open */ + struct ktermios dummy; struct usb_device *dev = port->serial->dev; struct ftdi_private *priv = usb_get_serial_port_data(port); unsigned long flags; @@ -1722,8 +1897,10 @@ This is same behaviour as serial.c/rs_open() - Kuba */ /* ftdi_set_termios will send usb control messages */ - if (tty) - ftdi_set_termios(tty, port, tty->termios); + if (tty) { + memset(&dummy, 0, sizeof(dummy)); + ftdi_set_termios(tty, port, &dummy); + } /* Not throttled */ spin_lock_irqsave(&port->lock, flags); @@ -2186,13 +2363,19 @@ cflag = termios->c_cflag; - /* FIXME -For this cut I don't care if the line is really changing or - not - so just do the change regardless - should be able to - compare old_termios and tty->termios */ + if (old_termios->c_cflag == termios->c_cflag + && old_termios->c_ispeed == termios->c_ispeed + && old_termios->c_ospeed == termios->c_ospeed) + goto no_c_cflag_changes; + /* NOTE These routines can get interrupted by ftdi_sio_read_bulk_callback - need to examine what this means - don't see any problems yet */ + if ((old_termios->c_cflag & (CSIZE|PARODD|PARENB|CMSPAR|CSTOPB)) == + (termios->c_cflag & (CSIZE|PARODD|PARENB|CMSPAR|CSTOPB))) + goto no_data_parity_stop_changes; + /* Set number of data bits, parity, stop bits */ termios->c_cflag &= ~CMSPAR; @@ -2229,6 +2412,7 @@ } /* Now do the baudrate */ +no_data_parity_stop_changes: if ((cflag & CBAUD) == B0) { /* Disable flow control */ if (usb_control_msg(dev, usb_sndctrlpipe(dev, 0), @@ -2254,6 +2438,7 @@ /* Set flow control */ /* Note device also supports DTR/CD (ugh) and Xon/Xoff in hardware */ +no_c_cflag_changes: if (cflag & CRTSCTS) { dbg("%s Setting to CRTSCTS flow control", __func__); if (usb_control_msg(dev, --- linux-2.6.32.orig/drivers/usb/serial/ftdi_sio.h +++ linux-2.6.32/drivers/usb/serial/ftdi_sio.h @@ -1,7 +1,10 @@ /* - * Definitions for the FTDI USB Single Port Serial Converter - + * Driver definitions for the FTDI USB Single Port Serial Converter - * known as FTDI_SIO (Serial Input/Output application of the chipset) * + * For USB vendor/product IDs (VID/PID), please see ftdi_sio_ids.h + * + * * The example I have is known as the USC-1000 which is available from * http://www.dse.co.nz - cat no XH4214 It looks similar to this: * http://www.dansdata.com/usbser.htm but I can't be sure There are other @@ -17,866 +20,7 @@ * Bill Ryder - bryder@sgi.com formerly of Silicon Graphics, Inc.- wrote the * FTDI_SIO implementation. * - * Philipp Gühring - pg@futureware.at - added the Device ID of the USB relais - * from Rudolf Gugler - * - */ - -#define FTDI_VID 0x0403 /* Vendor Id */ -#define FTDI_SIO_PID 0x8372 /* Product Id SIO application of 8U100AX */ -#define FTDI_8U232AM_PID 0x6001 /* Similar device to SIO above */ -#define FTDI_8U232AM_ALT_PID 0x6006 /* FTDI's alternate PID for above */ -#define FTDI_8U2232C_PID 0x6010 /* Dual channel device */ -#define FTDI_232RL_PID 0xFBFA /* Product ID for FT232RL */ -#define FTDI_4232H_PID 0x6011 /* Quad channel hi-speed device */ -#define FTDI_RELAIS_PID 0xFA10 /* Relais device from Rudolf Gugler */ -#define FTDI_NF_RIC_VID 0x0DCD /* Vendor Id */ -#define FTDI_NF_RIC_PID 0x0001 /* Product Id */ -#define FTDI_USBX_707_PID 0xF857 /* ADSTech IR Blaster USBX-707 */ - -/* Larsen and Brusgaard AltiTrack/USBtrack */ -#define LARSENBRUSGAARD_VID 0x0FD8 -#define LB_ALTITRACK_PID 0x0001 - -/* www.canusb.com Lawicel CANUSB device */ -#define FTDI_CANUSB_PID 0xFFA8 /* Product Id */ - -/* AlphaMicro Components AMC-232USB01 device */ -#define FTDI_AMC232_PID 0xFF00 /* Product Id */ - -/* www.candapter.com Ewert Energy Systems CANdapter device */ -#define FTDI_CANDAPTER_PID 0x9F80 /* Product Id */ - -/* SCS HF Radio Modems PID's (http://www.scs-ptc.com) */ -/* the VID is the standard ftdi vid (FTDI_VID) */ -#define FTDI_SCS_DEVICE_0_PID 0xD010 /* SCS PTC-IIusb */ -#define FTDI_SCS_DEVICE_1_PID 0xD011 /* SCS Tracker / DSP TNC */ -#define FTDI_SCS_DEVICE_2_PID 0xD012 -#define FTDI_SCS_DEVICE_3_PID 0xD013 -#define FTDI_SCS_DEVICE_4_PID 0xD014 -#define FTDI_SCS_DEVICE_5_PID 0xD015 -#define FTDI_SCS_DEVICE_6_PID 0xD016 -#define FTDI_SCS_DEVICE_7_PID 0xD017 - -/* ACT Solutions HomePro ZWave interface (http://www.act-solutions.com/HomePro.htm) */ -#define FTDI_ACTZWAVE_PID 0xF2D0 - - -/* www.starting-point-systems.com µChameleon device */ -#define FTDI_MICRO_CHAMELEON_PID 0xCAA0 /* Product Id */ - -/* www.irtrans.de device */ -#define FTDI_IRTRANS_PID 0xFC60 /* Product Id */ - - -/* www.thoughttechnology.com/ TT-USB provide with procomp use ftdi_sio */ -#define FTDI_TTUSB_PID 0xFF20 /* Product Id */ - -/* iPlus device */ -#define FTDI_IPLUS_PID 0xD070 /* Product Id */ -#define FTDI_IPLUS2_PID 0xD071 /* Product Id */ - -/* DMX4ALL DMX Interfaces */ -#define FTDI_DMX4ALL 0xC850 - -/* OpenDCC (www.opendcc.de) product id */ -#define FTDI_OPENDCC_PID 0xBFD8 -#define FTDI_OPENDCC_SNIFFER_PID 0xBFD9 -#define FTDI_OPENDCC_THROTTLE_PID 0xBFDA -#define FTDI_OPENDCC_GATEWAY_PID 0xBFDB - -/* Sprog II (Andrew Crosland's SprogII DCC interface) */ -#define FTDI_SPROG_II 0xF0C8 - -/* www.crystalfontz.com devices - thanx for providing free devices for evaluation ! */ -/* they use the ftdi chipset for the USB interface and the vendor id is the same */ -#define FTDI_XF_632_PID 0xFC08 /* 632: 16x2 Character Display */ -#define FTDI_XF_634_PID 0xFC09 /* 634: 20x4 Character Display */ -#define FTDI_XF_547_PID 0xFC0A /* 547: Two line Display */ -#define FTDI_XF_633_PID 0xFC0B /* 633: 16x2 Character Display with Keys */ -#define FTDI_XF_631_PID 0xFC0C /* 631: 20x2 Character Display */ -#define FTDI_XF_635_PID 0xFC0D /* 635: 20x4 Character Display */ -#define FTDI_XF_640_PID 0xFC0E /* 640: Two line Display */ -#define FTDI_XF_642_PID 0xFC0F /* 642: Two line Display */ - -/* Video Networks Limited / Homechoice in the UK use an ftdi-based device for their 1Mb */ -/* broadband internet service. The following PID is exhibited by the usb device supplied */ -/* (the VID is the standard ftdi vid (FTDI_VID) */ -#define FTDI_VNHCPCUSB_D_PID 0xfe38 /* Product Id */ - -/* - * PCDJ use ftdi based dj-controllers. The following PID is for their DAC-2 device - * http://www.pcdjhardware.com/DAC2.asp (PID sent by Wouter Paesen) - * (the VID is the standard ftdi vid (FTDI_VID) */ -#define FTDI_PCDJ_DAC2_PID 0xFA88 - -/* - * The following are the values for the Matrix Orbital LCD displays, - * which are the FT232BM ( similar to the 8U232AM ) - */ -#define FTDI_MTXORB_0_PID 0xFA00 /* Matrix Orbital Product Id */ -#define FTDI_MTXORB_1_PID 0xFA01 /* Matrix Orbital Product Id */ -#define FTDI_MTXORB_2_PID 0xFA02 /* Matrix Orbital Product Id */ -#define FTDI_MTXORB_3_PID 0xFA03 /* Matrix Orbital Product Id */ -#define FTDI_MTXORB_4_PID 0xFA04 /* Matrix Orbital Product Id */ -#define FTDI_MTXORB_5_PID 0xFA05 /* Matrix Orbital Product Id */ -#define FTDI_MTXORB_6_PID 0xFA06 /* Matrix Orbital Product Id */ - -/* OOCDlink by Joern Kaipf - * (http://www.joernonline.de/dw/doku.php?id=start&idx=projects:oocdlink) */ -#define FTDI_OOCDLINK_PID 0xbaf8 /* Amontec JTAGkey */ - -/* - * The following are the values for the Matrix Orbital FTDI Range - * Anything in this range will use an FT232RL. - */ -#define MTXORB_VID 0x1B3D -#define MTXORB_FTDI_RANGE_0100_PID 0x0100 -#define MTXORB_FTDI_RANGE_0101_PID 0x0101 -#define MTXORB_FTDI_RANGE_0102_PID 0x0102 -#define MTXORB_FTDI_RANGE_0103_PID 0x0103 -#define MTXORB_FTDI_RANGE_0104_PID 0x0104 -#define MTXORB_FTDI_RANGE_0105_PID 0x0105 -#define MTXORB_FTDI_RANGE_0106_PID 0x0106 -#define MTXORB_FTDI_RANGE_0107_PID 0x0107 -#define MTXORB_FTDI_RANGE_0108_PID 0x0108 -#define MTXORB_FTDI_RANGE_0109_PID 0x0109 -#define MTXORB_FTDI_RANGE_010A_PID 0x010A -#define MTXORB_FTDI_RANGE_010B_PID 0x010B -#define MTXORB_FTDI_RANGE_010C_PID 0x010C -#define MTXORB_FTDI_RANGE_010D_PID 0x010D -#define MTXORB_FTDI_RANGE_010E_PID 0x010E -#define MTXORB_FTDI_RANGE_010F_PID 0x010F -#define MTXORB_FTDI_RANGE_0110_PID 0x0110 -#define MTXORB_FTDI_RANGE_0111_PID 0x0111 -#define MTXORB_FTDI_RANGE_0112_PID 0x0112 -#define MTXORB_FTDI_RANGE_0113_PID 0x0113 -#define MTXORB_FTDI_RANGE_0114_PID 0x0114 -#define MTXORB_FTDI_RANGE_0115_PID 0x0115 -#define MTXORB_FTDI_RANGE_0116_PID 0x0116 -#define MTXORB_FTDI_RANGE_0117_PID 0x0117 -#define MTXORB_FTDI_RANGE_0118_PID 0x0118 -#define MTXORB_FTDI_RANGE_0119_PID 0x0119 -#define MTXORB_FTDI_RANGE_011A_PID 0x011A -#define MTXORB_FTDI_RANGE_011B_PID 0x011B -#define MTXORB_FTDI_RANGE_011C_PID 0x011C -#define MTXORB_FTDI_RANGE_011D_PID 0x011D -#define MTXORB_FTDI_RANGE_011E_PID 0x011E -#define MTXORB_FTDI_RANGE_011F_PID 0x011F -#define MTXORB_FTDI_RANGE_0120_PID 0x0120 -#define MTXORB_FTDI_RANGE_0121_PID 0x0121 -#define MTXORB_FTDI_RANGE_0122_PID 0x0122 -#define MTXORB_FTDI_RANGE_0123_PID 0x0123 -#define MTXORB_FTDI_RANGE_0124_PID 0x0124 -#define MTXORB_FTDI_RANGE_0125_PID 0x0125 -#define MTXORB_FTDI_RANGE_0126_PID 0x0126 -#define MTXORB_FTDI_RANGE_0127_PID 0x0127 -#define MTXORB_FTDI_RANGE_0128_PID 0x0128 -#define MTXORB_FTDI_RANGE_0129_PID 0x0129 -#define MTXORB_FTDI_RANGE_012A_PID 0x012A -#define MTXORB_FTDI_RANGE_012B_PID 0x012B -#define MTXORB_FTDI_RANGE_012C_PID 0x012C -#define MTXORB_FTDI_RANGE_012D_PID 0x012D -#define MTXORB_FTDI_RANGE_012E_PID 0x012E -#define MTXORB_FTDI_RANGE_012F_PID 0x012F -#define MTXORB_FTDI_RANGE_0130_PID 0x0130 -#define MTXORB_FTDI_RANGE_0131_PID 0x0131 -#define MTXORB_FTDI_RANGE_0132_PID 0x0132 -#define MTXORB_FTDI_RANGE_0133_PID 0x0133 -#define MTXORB_FTDI_RANGE_0134_PID 0x0134 -#define MTXORB_FTDI_RANGE_0135_PID 0x0135 -#define MTXORB_FTDI_RANGE_0136_PID 0x0136 -#define MTXORB_FTDI_RANGE_0137_PID 0x0137 -#define MTXORB_FTDI_RANGE_0138_PID 0x0138 -#define MTXORB_FTDI_RANGE_0139_PID 0x0139 -#define MTXORB_FTDI_RANGE_013A_PID 0x013A -#define MTXORB_FTDI_RANGE_013B_PID 0x013B -#define MTXORB_FTDI_RANGE_013C_PID 0x013C -#define MTXORB_FTDI_RANGE_013D_PID 0x013D -#define MTXORB_FTDI_RANGE_013E_PID 0x013E -#define MTXORB_FTDI_RANGE_013F_PID 0x013F -#define MTXORB_FTDI_RANGE_0140_PID 0x0140 -#define MTXORB_FTDI_RANGE_0141_PID 0x0141 -#define MTXORB_FTDI_RANGE_0142_PID 0x0142 -#define MTXORB_FTDI_RANGE_0143_PID 0x0143 -#define MTXORB_FTDI_RANGE_0144_PID 0x0144 -#define MTXORB_FTDI_RANGE_0145_PID 0x0145 -#define MTXORB_FTDI_RANGE_0146_PID 0x0146 -#define MTXORB_FTDI_RANGE_0147_PID 0x0147 -#define MTXORB_FTDI_RANGE_0148_PID 0x0148 -#define MTXORB_FTDI_RANGE_0149_PID 0x0149 -#define MTXORB_FTDI_RANGE_014A_PID 0x014A -#define MTXORB_FTDI_RANGE_014B_PID 0x014B -#define MTXORB_FTDI_RANGE_014C_PID 0x014C -#define MTXORB_FTDI_RANGE_014D_PID 0x014D -#define MTXORB_FTDI_RANGE_014E_PID 0x014E -#define MTXORB_FTDI_RANGE_014F_PID 0x014F -#define MTXORB_FTDI_RANGE_0150_PID 0x0150 -#define MTXORB_FTDI_RANGE_0151_PID 0x0151 -#define MTXORB_FTDI_RANGE_0152_PID 0x0152 -#define MTXORB_FTDI_RANGE_0153_PID 0x0153 -#define MTXORB_FTDI_RANGE_0154_PID 0x0154 -#define MTXORB_FTDI_RANGE_0155_PID 0x0155 -#define MTXORB_FTDI_RANGE_0156_PID 0x0156 -#define MTXORB_FTDI_RANGE_0157_PID 0x0157 -#define MTXORB_FTDI_RANGE_0158_PID 0x0158 -#define MTXORB_FTDI_RANGE_0159_PID 0x0159 -#define MTXORB_FTDI_RANGE_015A_PID 0x015A -#define MTXORB_FTDI_RANGE_015B_PID 0x015B -#define MTXORB_FTDI_RANGE_015C_PID 0x015C -#define MTXORB_FTDI_RANGE_015D_PID 0x015D -#define MTXORB_FTDI_RANGE_015E_PID 0x015E -#define MTXORB_FTDI_RANGE_015F_PID 0x015F -#define MTXORB_FTDI_RANGE_0160_PID 0x0160 -#define MTXORB_FTDI_RANGE_0161_PID 0x0161 -#define MTXORB_FTDI_RANGE_0162_PID 0x0162 -#define MTXORB_FTDI_RANGE_0163_PID 0x0163 -#define MTXORB_FTDI_RANGE_0164_PID 0x0164 -#define MTXORB_FTDI_RANGE_0165_PID 0x0165 -#define MTXORB_FTDI_RANGE_0166_PID 0x0166 -#define MTXORB_FTDI_RANGE_0167_PID 0x0167 -#define MTXORB_FTDI_RANGE_0168_PID 0x0168 -#define MTXORB_FTDI_RANGE_0169_PID 0x0169 -#define MTXORB_FTDI_RANGE_016A_PID 0x016A -#define MTXORB_FTDI_RANGE_016B_PID 0x016B -#define MTXORB_FTDI_RANGE_016C_PID 0x016C -#define MTXORB_FTDI_RANGE_016D_PID 0x016D -#define MTXORB_FTDI_RANGE_016E_PID 0x016E -#define MTXORB_FTDI_RANGE_016F_PID 0x016F -#define MTXORB_FTDI_RANGE_0170_PID 0x0170 -#define MTXORB_FTDI_RANGE_0171_PID 0x0171 -#define MTXORB_FTDI_RANGE_0172_PID 0x0172 -#define MTXORB_FTDI_RANGE_0173_PID 0x0173 -#define MTXORB_FTDI_RANGE_0174_PID 0x0174 -#define MTXORB_FTDI_RANGE_0175_PID 0x0175 -#define MTXORB_FTDI_RANGE_0176_PID 0x0176 -#define MTXORB_FTDI_RANGE_0177_PID 0x0177 -#define MTXORB_FTDI_RANGE_0178_PID 0x0178 -#define MTXORB_FTDI_RANGE_0179_PID 0x0179 -#define MTXORB_FTDI_RANGE_017A_PID 0x017A -#define MTXORB_FTDI_RANGE_017B_PID 0x017B -#define MTXORB_FTDI_RANGE_017C_PID 0x017C -#define MTXORB_FTDI_RANGE_017D_PID 0x017D -#define MTXORB_FTDI_RANGE_017E_PID 0x017E -#define MTXORB_FTDI_RANGE_017F_PID 0x017F -#define MTXORB_FTDI_RANGE_0180_PID 0x0180 -#define MTXORB_FTDI_RANGE_0181_PID 0x0181 -#define MTXORB_FTDI_RANGE_0182_PID 0x0182 -#define MTXORB_FTDI_RANGE_0183_PID 0x0183 -#define MTXORB_FTDI_RANGE_0184_PID 0x0184 -#define MTXORB_FTDI_RANGE_0185_PID 0x0185 -#define MTXORB_FTDI_RANGE_0186_PID 0x0186 -#define MTXORB_FTDI_RANGE_0187_PID 0x0187 -#define MTXORB_FTDI_RANGE_0188_PID 0x0188 -#define MTXORB_FTDI_RANGE_0189_PID 0x0189 -#define MTXORB_FTDI_RANGE_018A_PID 0x018A -#define MTXORB_FTDI_RANGE_018B_PID 0x018B -#define MTXORB_FTDI_RANGE_018C_PID 0x018C -#define MTXORB_FTDI_RANGE_018D_PID 0x018D -#define MTXORB_FTDI_RANGE_018E_PID 0x018E -#define MTXORB_FTDI_RANGE_018F_PID 0x018F -#define MTXORB_FTDI_RANGE_0190_PID 0x0190 -#define MTXORB_FTDI_RANGE_0191_PID 0x0191 -#define MTXORB_FTDI_RANGE_0192_PID 0x0192 -#define MTXORB_FTDI_RANGE_0193_PID 0x0193 -#define MTXORB_FTDI_RANGE_0194_PID 0x0194 -#define MTXORB_FTDI_RANGE_0195_PID 0x0195 -#define MTXORB_FTDI_RANGE_0196_PID 0x0196 -#define MTXORB_FTDI_RANGE_0197_PID 0x0197 -#define MTXORB_FTDI_RANGE_0198_PID 0x0198 -#define MTXORB_FTDI_RANGE_0199_PID 0x0199 -#define MTXORB_FTDI_RANGE_019A_PID 0x019A -#define MTXORB_FTDI_RANGE_019B_PID 0x019B -#define MTXORB_FTDI_RANGE_019C_PID 0x019C -#define MTXORB_FTDI_RANGE_019D_PID 0x019D -#define MTXORB_FTDI_RANGE_019E_PID 0x019E -#define MTXORB_FTDI_RANGE_019F_PID 0x019F -#define MTXORB_FTDI_RANGE_01A0_PID 0x01A0 -#define MTXORB_FTDI_RANGE_01A1_PID 0x01A1 -#define MTXORB_FTDI_RANGE_01A2_PID 0x01A2 -#define MTXORB_FTDI_RANGE_01A3_PID 0x01A3 -#define MTXORB_FTDI_RANGE_01A4_PID 0x01A4 -#define MTXORB_FTDI_RANGE_01A5_PID 0x01A5 -#define MTXORB_FTDI_RANGE_01A6_PID 0x01A6 -#define MTXORB_FTDI_RANGE_01A7_PID 0x01A7 -#define MTXORB_FTDI_RANGE_01A8_PID 0x01A8 -#define MTXORB_FTDI_RANGE_01A9_PID 0x01A9 -#define MTXORB_FTDI_RANGE_01AA_PID 0x01AA -#define MTXORB_FTDI_RANGE_01AB_PID 0x01AB -#define MTXORB_FTDI_RANGE_01AC_PID 0x01AC -#define MTXORB_FTDI_RANGE_01AD_PID 0x01AD -#define MTXORB_FTDI_RANGE_01AE_PID 0x01AE -#define MTXORB_FTDI_RANGE_01AF_PID 0x01AF -#define MTXORB_FTDI_RANGE_01B0_PID 0x01B0 -#define MTXORB_FTDI_RANGE_01B1_PID 0x01B1 -#define MTXORB_FTDI_RANGE_01B2_PID 0x01B2 -#define MTXORB_FTDI_RANGE_01B3_PID 0x01B3 -#define MTXORB_FTDI_RANGE_01B4_PID 0x01B4 -#define MTXORB_FTDI_RANGE_01B5_PID 0x01B5 -#define MTXORB_FTDI_RANGE_01B6_PID 0x01B6 -#define MTXORB_FTDI_RANGE_01B7_PID 0x01B7 -#define MTXORB_FTDI_RANGE_01B8_PID 0x01B8 -#define MTXORB_FTDI_RANGE_01B9_PID 0x01B9 -#define MTXORB_FTDI_RANGE_01BA_PID 0x01BA -#define MTXORB_FTDI_RANGE_01BB_PID 0x01BB -#define MTXORB_FTDI_RANGE_01BC_PID 0x01BC -#define MTXORB_FTDI_RANGE_01BD_PID 0x01BD -#define MTXORB_FTDI_RANGE_01BE_PID 0x01BE -#define MTXORB_FTDI_RANGE_01BF_PID 0x01BF -#define MTXORB_FTDI_RANGE_01C0_PID 0x01C0 -#define MTXORB_FTDI_RANGE_01C1_PID 0x01C1 -#define MTXORB_FTDI_RANGE_01C2_PID 0x01C2 -#define MTXORB_FTDI_RANGE_01C3_PID 0x01C3 -#define MTXORB_FTDI_RANGE_01C4_PID 0x01C4 -#define MTXORB_FTDI_RANGE_01C5_PID 0x01C5 -#define MTXORB_FTDI_RANGE_01C6_PID 0x01C6 -#define MTXORB_FTDI_RANGE_01C7_PID 0x01C7 -#define MTXORB_FTDI_RANGE_01C8_PID 0x01C8 -#define MTXORB_FTDI_RANGE_01C9_PID 0x01C9 -#define MTXORB_FTDI_RANGE_01CA_PID 0x01CA -#define MTXORB_FTDI_RANGE_01CB_PID 0x01CB -#define MTXORB_FTDI_RANGE_01CC_PID 0x01CC -#define MTXORB_FTDI_RANGE_01CD_PID 0x01CD -#define MTXORB_FTDI_RANGE_01CE_PID 0x01CE -#define MTXORB_FTDI_RANGE_01CF_PID 0x01CF -#define MTXORB_FTDI_RANGE_01D0_PID 0x01D0 -#define MTXORB_FTDI_RANGE_01D1_PID 0x01D1 -#define MTXORB_FTDI_RANGE_01D2_PID 0x01D2 -#define MTXORB_FTDI_RANGE_01D3_PID 0x01D3 -#define MTXORB_FTDI_RANGE_01D4_PID 0x01D4 -#define MTXORB_FTDI_RANGE_01D5_PID 0x01D5 -#define MTXORB_FTDI_RANGE_01D6_PID 0x01D6 -#define MTXORB_FTDI_RANGE_01D7_PID 0x01D7 -#define MTXORB_FTDI_RANGE_01D8_PID 0x01D8 -#define MTXORB_FTDI_RANGE_01D9_PID 0x01D9 -#define MTXORB_FTDI_RANGE_01DA_PID 0x01DA -#define MTXORB_FTDI_RANGE_01DB_PID 0x01DB -#define MTXORB_FTDI_RANGE_01DC_PID 0x01DC -#define MTXORB_FTDI_RANGE_01DD_PID 0x01DD -#define MTXORB_FTDI_RANGE_01DE_PID 0x01DE -#define MTXORB_FTDI_RANGE_01DF_PID 0x01DF -#define MTXORB_FTDI_RANGE_01E0_PID 0x01E0 -#define MTXORB_FTDI_RANGE_01E1_PID 0x01E1 -#define MTXORB_FTDI_RANGE_01E2_PID 0x01E2 -#define MTXORB_FTDI_RANGE_01E3_PID 0x01E3 -#define MTXORB_FTDI_RANGE_01E4_PID 0x01E4 -#define MTXORB_FTDI_RANGE_01E5_PID 0x01E5 -#define MTXORB_FTDI_RANGE_01E6_PID 0x01E6 -#define MTXORB_FTDI_RANGE_01E7_PID 0x01E7 -#define MTXORB_FTDI_RANGE_01E8_PID 0x01E8 -#define MTXORB_FTDI_RANGE_01E9_PID 0x01E9 -#define MTXORB_FTDI_RANGE_01EA_PID 0x01EA -#define MTXORB_FTDI_RANGE_01EB_PID 0x01EB -#define MTXORB_FTDI_RANGE_01EC_PID 0x01EC -#define MTXORB_FTDI_RANGE_01ED_PID 0x01ED -#define MTXORB_FTDI_RANGE_01EE_PID 0x01EE -#define MTXORB_FTDI_RANGE_01EF_PID 0x01EF -#define MTXORB_FTDI_RANGE_01F0_PID 0x01F0 -#define MTXORB_FTDI_RANGE_01F1_PID 0x01F1 -#define MTXORB_FTDI_RANGE_01F2_PID 0x01F2 -#define MTXORB_FTDI_RANGE_01F3_PID 0x01F3 -#define MTXORB_FTDI_RANGE_01F4_PID 0x01F4 -#define MTXORB_FTDI_RANGE_01F5_PID 0x01F5 -#define MTXORB_FTDI_RANGE_01F6_PID 0x01F6 -#define MTXORB_FTDI_RANGE_01F7_PID 0x01F7 -#define MTXORB_FTDI_RANGE_01F8_PID 0x01F8 -#define MTXORB_FTDI_RANGE_01F9_PID 0x01F9 -#define MTXORB_FTDI_RANGE_01FA_PID 0x01FA -#define MTXORB_FTDI_RANGE_01FB_PID 0x01FB -#define MTXORB_FTDI_RANGE_01FC_PID 0x01FC -#define MTXORB_FTDI_RANGE_01FD_PID 0x01FD -#define MTXORB_FTDI_RANGE_01FE_PID 0x01FE -#define MTXORB_FTDI_RANGE_01FF_PID 0x01FF - - - -/* Interbiometrics USB I/O Board */ -/* Developed for Interbiometrics by Rudolf Gugler */ -#define INTERBIOMETRICS_VID 0x1209 -#define INTERBIOMETRICS_IOBOARD_PID 0x1002 -#define INTERBIOMETRICS_MINI_IOBOARD_PID 0x1006 - -/* - * The following are the values for the Perle Systems - * UltraPort USB serial converters - */ -#define FTDI_PERLE_ULTRAPORT_PID 0xF0C0 /* Perle UltraPort Product Id */ - -/* - * The following are the values for the Sealevel SeaLINK+ adapters. - * (Original list sent by Tuan Hoang. Ian Abbott renamed the macros and - * removed some PIDs that don't seem to match any existing products.) - */ -#define SEALEVEL_VID 0x0c52 /* Sealevel Vendor ID */ -#define SEALEVEL_2101_PID 0x2101 /* SeaLINK+232 (2101/2105) */ -#define SEALEVEL_2102_PID 0x2102 /* SeaLINK+485 (2102) */ -#define SEALEVEL_2103_PID 0x2103 /* SeaLINK+232I (2103) */ -#define SEALEVEL_2104_PID 0x2104 /* SeaLINK+485I (2104) */ -#define SEALEVEL_2106_PID 0x9020 /* SeaLINK+422 (2106) */ -#define SEALEVEL_2201_1_PID 0x2211 /* SeaPORT+2/232 (2201) Port 1 */ -#define SEALEVEL_2201_2_PID 0x2221 /* SeaPORT+2/232 (2201) Port 2 */ -#define SEALEVEL_2202_1_PID 0x2212 /* SeaPORT+2/485 (2202) Port 1 */ -#define SEALEVEL_2202_2_PID 0x2222 /* SeaPORT+2/485 (2202) Port 2 */ -#define SEALEVEL_2203_1_PID 0x2213 /* SeaPORT+2 (2203) Port 1 */ -#define SEALEVEL_2203_2_PID 0x2223 /* SeaPORT+2 (2203) Port 2 */ -#define SEALEVEL_2401_1_PID 0x2411 /* SeaPORT+4/232 (2401) Port 1 */ -#define SEALEVEL_2401_2_PID 0x2421 /* SeaPORT+4/232 (2401) Port 2 */ -#define SEALEVEL_2401_3_PID 0x2431 /* SeaPORT+4/232 (2401) Port 3 */ -#define SEALEVEL_2401_4_PID 0x2441 /* SeaPORT+4/232 (2401) Port 4 */ -#define SEALEVEL_2402_1_PID 0x2412 /* SeaPORT+4/485 (2402) Port 1 */ -#define SEALEVEL_2402_2_PID 0x2422 /* SeaPORT+4/485 (2402) Port 2 */ -#define SEALEVEL_2402_3_PID 0x2432 /* SeaPORT+4/485 (2402) Port 3 */ -#define SEALEVEL_2402_4_PID 0x2442 /* SeaPORT+4/485 (2402) Port 4 */ -#define SEALEVEL_2403_1_PID 0x2413 /* SeaPORT+4 (2403) Port 1 */ -#define SEALEVEL_2403_2_PID 0x2423 /* SeaPORT+4 (2403) Port 2 */ -#define SEALEVEL_2403_3_PID 0x2433 /* SeaPORT+4 (2403) Port 3 */ -#define SEALEVEL_2403_4_PID 0x2443 /* SeaPORT+4 (2403) Port 4 */ -#define SEALEVEL_2801_1_PID 0X2811 /* SeaLINK+8/232 (2801) Port 1 */ -#define SEALEVEL_2801_2_PID 0X2821 /* SeaLINK+8/232 (2801) Port 2 */ -#define SEALEVEL_2801_3_PID 0X2831 /* SeaLINK+8/232 (2801) Port 3 */ -#define SEALEVEL_2801_4_PID 0X2841 /* SeaLINK+8/232 (2801) Port 4 */ -#define SEALEVEL_2801_5_PID 0X2851 /* SeaLINK+8/232 (2801) Port 5 */ -#define SEALEVEL_2801_6_PID 0X2861 /* SeaLINK+8/232 (2801) Port 6 */ -#define SEALEVEL_2801_7_PID 0X2871 /* SeaLINK+8/232 (2801) Port 7 */ -#define SEALEVEL_2801_8_PID 0X2881 /* SeaLINK+8/232 (2801) Port 8 */ -#define SEALEVEL_2802_1_PID 0X2812 /* SeaLINK+8/485 (2802) Port 1 */ -#define SEALEVEL_2802_2_PID 0X2822 /* SeaLINK+8/485 (2802) Port 2 */ -#define SEALEVEL_2802_3_PID 0X2832 /* SeaLINK+8/485 (2802) Port 3 */ -#define SEALEVEL_2802_4_PID 0X2842 /* SeaLINK+8/485 (2802) Port 4 */ -#define SEALEVEL_2802_5_PID 0X2852 /* SeaLINK+8/485 (2802) Port 5 */ -#define SEALEVEL_2802_6_PID 0X2862 /* SeaLINK+8/485 (2802) Port 6 */ -#define SEALEVEL_2802_7_PID 0X2872 /* SeaLINK+8/485 (2802) Port 7 */ -#define SEALEVEL_2802_8_PID 0X2882 /* SeaLINK+8/485 (2802) Port 8 */ -#define SEALEVEL_2803_1_PID 0X2813 /* SeaLINK+8 (2803) Port 1 */ -#define SEALEVEL_2803_2_PID 0X2823 /* SeaLINK+8 (2803) Port 2 */ -#define SEALEVEL_2803_3_PID 0X2833 /* SeaLINK+8 (2803) Port 3 */ -#define SEALEVEL_2803_4_PID 0X2843 /* SeaLINK+8 (2803) Port 4 */ -#define SEALEVEL_2803_5_PID 0X2853 /* SeaLINK+8 (2803) Port 5 */ -#define SEALEVEL_2803_6_PID 0X2863 /* SeaLINK+8 (2803) Port 6 */ -#define SEALEVEL_2803_7_PID 0X2873 /* SeaLINK+8 (2803) Port 7 */ -#define SEALEVEL_2803_8_PID 0X2883 /* SeaLINK+8 (2803) Port 8 */ - -/* - * The following are the values for two KOBIL chipcard terminals. - */ -#define KOBIL_VID 0x0d46 /* KOBIL Vendor ID */ -#define KOBIL_CONV_B1_PID 0x2020 /* KOBIL Konverter for B1 */ -#define KOBIL_CONV_KAAN_PID 0x2021 /* KOBIL_Konverter for KAAN */ - -/* - * Icom ID-1 digital transceiver - */ - -#define ICOM_ID1_VID 0x0C26 -#define ICOM_ID1_PID 0x0004 - -/* - * ASK.fr devices - */ -#define FTDI_ASK_RDR400_PID 0xC991 /* ASK RDR 400 series card reader */ - -/* - * FTDI USB UART chips used in construction projects from the - * Elektor Electronics magazine (http://elektor-electronics.co.uk) - */ -#define ELEKTOR_VID 0x0C7D -#define ELEKTOR_FT323R_PID 0x0005 /* RFID-Reader, issue 09-2006 */ - -/* - * DSS-20 Sync Station for Sony Ericsson P800 - */ -#define FTDI_DSS20_PID 0xFC82 - -/* - * Home Electronics (www.home-electro.com) USB gadgets - */ -#define FTDI_HE_TIRA1_PID 0xFA78 /* Tira-1 IR transceiver */ - -/* USB-UIRT - An infrared receiver and transmitter using the 8U232AM chip */ -/* http://home.earthlink.net/~jrhees/USBUIRT/index.htm */ -#define FTDI_USB_UIRT_PID 0xF850 /* Product Id */ - -/* TNC-X USB-to-packet-radio adapter, versions prior to 3.0 (DLP module) */ - -#define FTDI_TNC_X_PID 0xEBE0 - -/* - * ELV USB devices submitted by Christian Abt of ELV (www.elv.de). - * All of these devices use FTDI's vendor ID (0x0403). - * - * The previously included PID for the UO 100 module was incorrect. - * In fact, that PID was for ELV's UR 100 USB-RS232 converter (0xFB58). - * - * Armin Laeuger originally sent the PID for the UM 100 module. - */ -#define FTDI_R2000KU_TRUE_RNG 0xFB80 /* R2000KU TRUE RNG */ -#define FTDI_ELV_UR100_PID 0xFB58 /* USB-RS232-Umsetzer (UR 100) */ -#define FTDI_ELV_UM100_PID 0xFB5A /* USB-Modul UM 100 */ -#define FTDI_ELV_UO100_PID 0xFB5B /* USB-Modul UO 100 */ -#define FTDI_ELV_ALC8500_PID 0xF06E /* ALC 8500 Expert */ -/* Additional ELV PIDs that default to using the FTDI D2XX drivers on - * MS Windows, rather than the FTDI Virtual Com Port drivers. - * Maybe these will be easier to use with the libftdi/libusb user-space - * drivers, or possibly the Comedi drivers in some cases. */ -#define FTDI_ELV_CLI7000_PID 0xFB59 /* Computer-Light-Interface (CLI 7000) */ -#define FTDI_ELV_PPS7330_PID 0xFB5C /* Processor-Power-Supply (PPS 7330) */ -#define FTDI_ELV_TFM100_PID 0xFB5D /* Temperartur-Feuchte Messgeraet (TFM 100) */ -#define FTDI_ELV_UDF77_PID 0xFB5E /* USB DCF Funkurh (UDF 77) */ -#define FTDI_ELV_UIO88_PID 0xFB5F /* USB-I/O Interface (UIO 88) */ -#define FTDI_ELV_UAD8_PID 0xF068 /* USB-AD-Wandler (UAD 8) */ -#define FTDI_ELV_UDA7_PID 0xF069 /* USB-DA-Wandler (UDA 7) */ -#define FTDI_ELV_USI2_PID 0xF06A /* USB-Schrittmotoren-Interface (USI 2) */ -#define FTDI_ELV_T1100_PID 0xF06B /* Thermometer (T 1100) */ -#define FTDI_ELV_PCD200_PID 0xF06C /* PC-Datenlogger (PCD 200) */ -#define FTDI_ELV_ULA200_PID 0xF06D /* USB-LCD-Ansteuerung (ULA 200) */ -#define FTDI_ELV_FHZ1000PC_PID 0xF06F /* FHZ 1000 PC */ -#define FTDI_ELV_CSI8_PID 0xE0F0 /* Computer-Schalt-Interface (CSI 8) */ -#define FTDI_ELV_EM1000DL_PID 0xE0F1 /* PC-Datenlogger fuer Energiemonitor (EM 1000 DL) */ -#define FTDI_ELV_PCK100_PID 0xE0F2 /* PC-Kabeltester (PCK 100) */ -#define FTDI_ELV_RFP500_PID 0xE0F3 /* HF-Leistungsmesser (RFP 500) */ -#define FTDI_ELV_FS20SIG_PID 0xE0F4 /* Signalgeber (FS 20 SIG) */ -#define FTDI_ELV_WS300PC_PID 0xE0F6 /* PC-Wetterstation (WS 300 PC) */ -#define FTDI_ELV_FHZ1300PC_PID 0xE0E8 /* FHZ 1300 PC */ -#define FTDI_ELV_WS500_PID 0xE0E9 /* PC-Wetterstation (WS 500) */ -#define FTDI_ELV_HS485_PID 0xE0EA /* USB to RS-485 adapter */ -#define FTDI_ELV_EM1010PC_PID 0xE0EF /* Engery monitor EM 1010 PC */ -#define FTDI_PHI_FISCO_PID 0xE40B /* PHI Fisco USB to Serial cable */ - -/* - * Definitions for ID TECH (www.idt-net.com) devices - */ -#define IDTECH_VID 0x0ACD /* ID TECH Vendor ID */ -#define IDTECH_IDT1221U_PID 0x0300 /* IDT1221U USB to RS-232 adapter */ - -/* - * Definitions for Omnidirectional Control Technology, Inc. devices - */ -#define OCT_VID 0x0B39 /* OCT vendor ID */ -/* Note: OCT US101 is also rebadged as Dick Smith Electronics (NZ) XH6381 */ -/* Also rebadged as Dick Smith Electronics (Aus) XH6451 */ -/* Also rebadged as SIIG Inc. model US2308 hardware version 1 */ -#define OCT_US101_PID 0x0421 /* OCT US101 USB to RS-232 */ - -/* an infrared receiver for user access control with IR tags */ -#define FTDI_PIEGROUP_PID 0xF208 /* Product Id */ - -/* - * Definitions for Artemis astronomical USB based cameras - * Check it at http://www.artemisccd.co.uk/ - */ -#define FTDI_ARTEMIS_PID 0xDF28 /* All Artemis Cameras */ - -/* - * Definitions for ATIK Instruments astronomical USB based cameras - * Check it at http://www.atik-instruments.com/ - */ -#define FTDI_ATIK_ATK16_PID 0xDF30 /* ATIK ATK-16 Grayscale Camera */ -#define FTDI_ATIK_ATK16C_PID 0xDF32 /* ATIK ATK-16C Colour Camera */ -#define FTDI_ATIK_ATK16HR_PID 0xDF31 /* ATIK ATK-16HR Grayscale Camera */ -#define FTDI_ATIK_ATK16HRC_PID 0xDF33 /* ATIK ATK-16HRC Colour Camera */ -#define FTDI_ATIK_ATK16IC_PID 0xDF35 /* ATIK ATK-16IC Grayscale Camera */ - -/* - * Protego product ids - */ -#define PROTEGO_SPECIAL_1 0xFC70 /* special/unknown device */ -#define PROTEGO_R2X0 0xFC71 /* R200-USB TRNG unit (R210, R220, and R230) */ -#define PROTEGO_SPECIAL_3 0xFC72 /* special/unknown device */ -#define PROTEGO_SPECIAL_4 0xFC73 /* special/unknown device */ - -/* - * Gude Analog- und Digitalsysteme GmbH - */ -#define FTDI_GUDEADS_E808_PID 0xE808 -#define FTDI_GUDEADS_E809_PID 0xE809 -#define FTDI_GUDEADS_E80A_PID 0xE80A -#define FTDI_GUDEADS_E80B_PID 0xE80B -#define FTDI_GUDEADS_E80C_PID 0xE80C -#define FTDI_GUDEADS_E80D_PID 0xE80D -#define FTDI_GUDEADS_E80E_PID 0xE80E -#define FTDI_GUDEADS_E80F_PID 0xE80F -#define FTDI_GUDEADS_E888_PID 0xE888 /* Expert ISDN Control USB */ -#define FTDI_GUDEADS_E889_PID 0xE889 /* USB RS-232 OptoBridge */ -#define FTDI_GUDEADS_E88A_PID 0xE88A -#define FTDI_GUDEADS_E88B_PID 0xE88B -#define FTDI_GUDEADS_E88C_PID 0xE88C -#define FTDI_GUDEADS_E88D_PID 0xE88D -#define FTDI_GUDEADS_E88E_PID 0xE88E -#define FTDI_GUDEADS_E88F_PID 0xE88F - -/* - * Linx Technologies product ids - */ -#define LINX_SDMUSBQSS_PID 0xF448 /* Linx SDM-USB-QS-S */ -#define LINX_MASTERDEVEL2_PID 0xF449 /* Linx Master Development 2.0 */ -#define LINX_FUTURE_0_PID 0xF44A /* Linx future device */ -#define LINX_FUTURE_1_PID 0xF44B /* Linx future device */ -#define LINX_FUTURE_2_PID 0xF44C /* Linx future device */ - -/* CCS Inc. ICDU/ICDU40 product ID - the FT232BM is used in an in-circuit-debugger */ -/* unit for PIC16's/PIC18's */ -#define FTDI_CCSICDU20_0_PID 0xF9D0 -#define FTDI_CCSICDU40_1_PID 0xF9D1 -#define FTDI_CCSMACHX_2_PID 0xF9D2 -#define FTDI_CCSLOAD_N_GO_3_PID 0xF9D3 -#define FTDI_CCSICDU64_4_PID 0xF9D4 -#define FTDI_CCSPRIME8_5_PID 0xF9D5 - -/* Inside Accesso contactless reader (http://www.insidefr.com) */ -#define INSIDE_ACCESSO 0xFAD0 - -/* - * Intrepid Control Systems (http://www.intrepidcs.com/) ValueCAN and NeoVI - */ -#define INTREPID_VID 0x093C -#define INTREPID_VALUECAN_PID 0x0601 -#define INTREPID_NEOVI_PID 0x0701 - -/* - * Falcom Wireless Communications GmbH - */ -#define FALCOM_VID 0x0F94 /* Vendor Id */ -#define FALCOM_TWIST_PID 0x0001 /* Falcom Twist USB GPRS modem */ -#define FALCOM_SAMBA_PID 0x0005 /* Falcom Samba USB GPRS modem */ - -/* - * SUUNTO product ids - */ -#define FTDI_SUUNTO_SPORTS_PID 0xF680 /* Suunto Sports instrument */ - -/* - * Oceanic product ids - */ -#define FTDI_OCEANIC_PID 0xF460 /* Oceanic dive instrument */ - -/* - * TTi (Thurlby Thandar Instruments) - */ -#define TTI_VID 0x103E /* Vendor Id */ -#define TTI_QL355P_PID 0x03E8 /* TTi QL355P power supply */ - -/* - * Definitions for B&B Electronics products. - */ -#define BANDB_VID 0x0856 /* B&B Electronics Vendor ID */ -#define BANDB_USOTL4_PID 0xAC01 /* USOTL4 Isolated RS-485 Converter */ -#define BANDB_USTL4_PID 0xAC02 /* USTL4 RS-485 Converter */ -#define BANDB_USO9ML2_PID 0xAC03 /* USO9ML2 Isolated RS-232 Converter */ - -/* - * RM Michaelides CANview USB (http://www.rmcan.com) - * CAN fieldbus interface adapter, added by port GmbH www.port.de) - * Ian Abbott changed the macro names for consistency. - */ -#define FTDI_RM_CANVIEW_PID 0xfd60 /* Product Id */ - -/* - * EVER Eco Pro UPS (http://www.ever.com.pl/) - */ - -#define EVER_ECO_PRO_CDS 0xe520 /* RS-232 converter */ - -/* - * 4N-GALAXY.DE PIDs for CAN-USB, USB-RS232, USB-RS422, USB-RS485, - * USB-TTY activ, USB-TTY passiv. Some PIDs are used by several devices - * and I'm not entirely sure which are used by which. - */ -#define FTDI_4N_GALAXY_DE_1_PID 0xF3C0 -#define FTDI_4N_GALAXY_DE_2_PID 0xF3C1 - -/* - * Mobility Electronics products. - */ -#define MOBILITY_VID 0x1342 -#define MOBILITY_USB_SERIAL_PID 0x0202 /* EasiDock USB 200 serial */ - -/* - * microHAM product IDs (http://www.microham.com). - * Submitted by Justin Burket (KL1RL) - * and Mike Studer (K6EEP) . - * Ian Abbott added a few more from the driver INF file. - */ -#define FTDI_MHAM_KW_PID 0xEEE8 /* USB-KW interface */ -#define FTDI_MHAM_YS_PID 0xEEE9 /* USB-YS interface */ -#define FTDI_MHAM_Y6_PID 0xEEEA /* USB-Y6 interface */ -#define FTDI_MHAM_Y8_PID 0xEEEB /* USB-Y8 interface */ -#define FTDI_MHAM_IC_PID 0xEEEC /* USB-IC interface */ -#define FTDI_MHAM_DB9_PID 0xEEED /* USB-DB9 interface */ -#define FTDI_MHAM_RS232_PID 0xEEEE /* USB-RS232 interface */ -#define FTDI_MHAM_Y9_PID 0xEEEF /* USB-Y9 interface */ - -/* - * Active Robots product ids. - */ -#define FTDI_ACTIVE_ROBOTS_PID 0xE548 /* USB comms board */ - -/* - * Xsens Technologies BV products (http://www.xsens.com). - */ -#define XSENS_CONVERTER_0_PID 0xD388 -#define XSENS_CONVERTER_1_PID 0xD389 -#define XSENS_CONVERTER_2_PID 0xD38A -#define XSENS_CONVERTER_3_PID 0xD38B -#define XSENS_CONVERTER_4_PID 0xD38C -#define XSENS_CONVERTER_5_PID 0xD38D -#define XSENS_CONVERTER_6_PID 0xD38E -#define XSENS_CONVERTER_7_PID 0xD38F - -/* - * Teratronik product ids. - * Submitted by O. Wölfelschneider. - */ -#define FTDI_TERATRONIK_VCP_PID 0xEC88 /* Teratronik device (preferring VCP driver on windows) */ -#define FTDI_TERATRONIK_D2XX_PID 0xEC89 /* Teratronik device (preferring D2XX driver on windows) */ - -/* - * Evolution Robotics products (http://www.evolution.com/). - * Submitted by Shawn M. Lavelle. - */ -#define EVOLUTION_VID 0xDEEE /* Vendor ID */ -#define EVOLUTION_ER1_PID 0x0300 /* ER1 Control Module */ -#define EVO_8U232AM_PID 0x02FF /* Evolution robotics RCM2 (FT232AM)*/ -#define EVO_HYBRID_PID 0x0302 /* Evolution robotics RCM4 PID (FT232BM)*/ -#define EVO_RCM4_PID 0x0303 /* Evolution robotics RCM4 PID */ - -/* Pyramid Computer GmbH */ -#define FTDI_PYRAMID_PID 0xE6C8 /* Pyramid Appliance Display */ - -/* - * NDI (www.ndigital.com) product ids - */ -#define FTDI_NDI_HUC_PID 0xDA70 /* NDI Host USB Converter */ -#define FTDI_NDI_SPECTRA_SCU_PID 0xDA71 /* NDI Spectra SCU */ -#define FTDI_NDI_FUTURE_2_PID 0xDA72 /* NDI future device #2 */ -#define FTDI_NDI_FUTURE_3_PID 0xDA73 /* NDI future device #3 */ -#define FTDI_NDI_AURORA_SCU_PID 0xDA74 /* NDI Aurora SCU */ - -/* - * Posiflex inc retail equipment (http://www.posiflex.com.tw) - */ -#define POSIFLEX_VID 0x0d3a /* Vendor ID */ -#define POSIFLEX_PP7000_PID 0x0300 /* PP-7000II thermal printer */ - -/* - * Westrex International devices submitted by Cory Lee - */ -#define FTDI_WESTREX_MODEL_777_PID 0xDC00 /* Model 777 */ -#define FTDI_WESTREX_MODEL_8900F_PID 0xDC01 /* Model 8900F */ - -/* - * RR-CirKits LocoBuffer USB (http://www.rr-cirkits.com) - */ -#define FTDI_RRCIRKITS_LOCOBUFFER_PID 0xc7d0 /* LocoBuffer USB */ - -/* - * Eclo (http://www.eclo.pt/) product IDs. - * PID 0xEA90 submitted by Martin Grill. - */ -#define FTDI_ECLO_COM_1WIRE_PID 0xEA90 /* COM to 1-Wire USB adaptor */ - -/* - * Papouch products (http://www.papouch.com/) - * Submitted by Folkert van Heusden - */ - -#define PAPOUCH_VID 0x5050 /* Vendor ID */ -#define PAPOUCH_TMU_PID 0x0400 /* TMU USB Thermometer */ -#define PAPOUCH_QUIDO4x4_PID 0x0900 /* Quido 4/4 Module */ - -/* - * ACG Identification Technologies GmbH products (http://www.acg.de/). - * Submitted by anton -at- goto10 -dot- org. - */ -#define FTDI_ACG_HFDUAL_PID 0xDD20 /* HF Dual ISO Reader (RFID) */ - -/* - * Yost Engineering, Inc. products (www.yostengineering.com). - * PID 0xE050 submitted by Aaron Prose. - */ -#define FTDI_YEI_SERVOCENTER31_PID 0xE050 /* YEI ServoCenter3.1 USB */ - -/* - * ThorLabs USB motor drivers - */ -#define FTDI_THORLABS_PID 0xfaf0 /* ThorLabs USB motor drivers */ - -/* - * Testo products (http://www.testo.com/) - * Submitted by Colin Leroy - */ -#define TESTO_VID 0x128D -#define TESTO_USB_INTERFACE_PID 0x0001 - -/* - * Gamma Scout (http://gamma-scout.com/). Submitted by rsc@runtux.com. - */ -#define FTDI_GAMMA_SCOUT_PID 0xD678 /* Gamma Scout online */ - -/* - * Tactrix OpenPort (ECU) devices. - * OpenPort 1.3M submitted by Donour Sizemore. - * OpenPort 1.3S and 1.3U submitted by Ian Abbott. - */ -#define FTDI_TACTRIX_OPENPORT_13M_PID 0xCC48 /* OpenPort 1.3 Mitsubishi */ -#define FTDI_TACTRIX_OPENPORT_13S_PID 0xCC49 /* OpenPort 1.3 Subaru */ -#define FTDI_TACTRIX_OPENPORT_13U_PID 0xCC4A /* OpenPort 1.3 Universal */ - -/* - * Telldus Technologies */ -#define TELLDUS_VID 0x1781 /* Vendor ID */ -#define TELLDUS_TELLSTICK_PID 0x0C30 /* RF control dongle 433 MHz using FT232RL */ - -/* - * IBS elektronik product ids - * Submitted by Thomas Schleusener - */ -#define FTDI_IBS_US485_PID 0xff38 /* IBS US485 (USB<-->RS422/485 interface) */ -#define FTDI_IBS_PICPRO_PID 0xff39 /* IBS PIC-Programmer */ -#define FTDI_IBS_PCMCIA_PID 0xff3a /* IBS Card reader for PCMCIA SRAM-cards */ -#define FTDI_IBS_PK1_PID 0xff3b /* IBS PK1 - Particel counter */ -#define FTDI_IBS_RS232MON_PID 0xff3c /* IBS RS232 - Monitor */ -#define FTDI_IBS_APP70_PID 0xff3d /* APP 70 (dust monitoring system) */ -#define FTDI_IBS_PEDO_PID 0xff3e /* IBS PEDO-Modem (RF modem 868.35 MHz) */ -#define FTDI_IBS_PROD_PID 0xff3f /* future device */ - -/* - * MaxStream devices www.maxstream.net - */ -#define FTDI_MAXSTREAM_PID 0xEE18 /* Xbee PKG-U Module */ - -/* Olimex */ -#define OLIMEX_VID 0x15BA -#define OLIMEX_ARM_USB_OCD_PID 0x0003 - -/* Luminary Micro Stellaris Boards, VID = FTDI_VID */ -/* FTDI 2332C Dual channel device, side A=245 FIFO (JTAG), Side B=RS232 UART */ -#define LMI_LM3S_DEVEL_BOARD_PID 0xbcd8 -#define LMI_LM3S_EVAL_BOARD_PID 0xbcd9 - -/* www.elsterelectricity.com Elster Unicom III Optical Probe */ -#define FTDI_ELSTER_UNICOM_PID 0xE700 /* Product Id */ - -/* - * The Mobility Lab (TML) - * Submitted by Pierre Castella - */ -#define TML_VID 0x1B91 /* Vendor ID */ -#define TML_USB_SERIAL_PID 0x0064 /* USB - Serial Converter */ - -/* Propox devices */ -#define FTDI_PROPOX_JTAGCABLEII_PID 0xD738 - -/* Rig Expert Ukraine devices */ -#define FTDI_REU_TINY_PID 0xED22 /* RigExpert Tiny */ - -/* Domintell products http://www.domintell.com */ -#define FTDI_DOMINTELL_DGQG_PID 0xEF50 /* Master */ -#define FTDI_DOMINTELL_DUSB_PID 0xEF51 /* DUSB01 module */ - -/* Alti-2 products http://www.alti-2.com */ -#define ALTI2_VID 0x1BC9 -#define ALTI2_N3_PID 0x6001 /* Neptune 3 */ /* Commands */ #define FTDI_SIO_RESET 0 /* Reset the port */ @@ -896,86 +40,6 @@ #define INTERFACE_C 3 #define INTERFACE_D 4 -/* - * FIC / OpenMoko, Inc. http://wiki.openmoko.org/wiki/Neo1973_Debug_Board_v3 - * Submitted by Harald Welte - */ -#define FIC_VID 0x1457 -#define FIC_NEO1973_DEBUG_PID 0x5118 - -/* - * RATOC REX-USB60F - */ -#define RATOC_VENDOR_ID 0x0584 -#define RATOC_PRODUCT_ID_USB60F 0xb020 - -/* - * DIEBOLD BCS SE923 - */ -#define DIEBOLD_BCS_SE923_PID 0xfb99 - -/* - * Atmel STK541 - */ -#define ATMEL_VID 0x03eb /* Vendor ID */ -#define STK541_PID 0x2109 /* Zigbee Controller */ - -/* - * Dresden Elektronic Sensor Terminal Board - */ -#define DE_VID 0x1cf1 /* Vendor ID */ -#define STB_PID 0x0001 /* Sensor Terminal Board */ -#define WHT_PID 0x0004 /* Wireless Handheld Terminal */ - -/* - * Blackfin gnICE JTAG - * http://docs.blackfin.uclinux.org/doku.php?id=hw:jtag:gnice - */ -#define ADI_VID 0x0456 -#define ADI_GNICE_PID 0xF000 -#define ADI_GNICEPLUS_PID 0xF001 - -/* - * JETI SPECTROMETER SPECBOS 1201 - * http://www.jeti.com/products/sys/scb/scb1201.php - */ -#define JETI_VID 0x0c6c -#define JETI_SPC1201_PID 0x04b2 - -/* - * Marvell SheevaPlug - */ -#define MARVELL_VID 0x9e88 -#define MARVELL_SHEEVAPLUG_PID 0x9e8f - -#define FTDI_TURTELIZER_PID 0xBDC8 /* JTAG/RS-232 adapter by egnite GmBH */ - -/* - * GN Otometrics (http://www.otometrics.com) - * Submitted by Ville Sundberg. - */ -#define GN_OTOMETRICS_VID 0x0c33 /* Vendor ID */ -#define AURICAL_USB_PID 0x0010 /* Aurical USB Audiometer */ - -/* - * Bayer Ascensia Contour blood glucose meter USB-converter cable. - * http://winglucofacts.com/cables/ - */ -#define BAYER_VID 0x1A79 -#define BAYER_CONTOUR_CABLE_PID 0x6001 - -/* - * Marvell OpenRD Base, Client - * http://www.open-rd.org - * OpenRD Base, Client use VID 0x0403 - */ -#define MARVELL_OPENRD_PID 0x9e90 - -/* - * Hameg HO820 and HO870 interface (using VID 0x0403) - */ -#define HAMEG_HO820_PID 0xed74 -#define HAMEG_HO870_PID 0xed71 /* * BmRequestType: 1100 0000b @@ -1490,4 +554,3 @@ * B2..7 Length of message - (not including Byte 0) * */ - --- linux-2.6.32.orig/drivers/usb/serial/garmin_gps.c +++ linux-2.6.32/drivers/usb/serial/garmin_gps.c @@ -1,7 +1,7 @@ /* * Garmin GPS driver * - * Copyright (C) 2006-2009 Hermann Kneissel herkne@users.sourceforge.net + * Copyright (C) 2006-2011 Hermann Kneissel herkne@gmx.de * * The latest version of the driver can be found at * http://sourceforge.net/projects/garmin-gps/ @@ -51,7 +51,7 @@ */ #define VERSION_MAJOR 0 -#define VERSION_MINOR 33 +#define VERSION_MINOR 36 #define _STR(s) #s #define _DRIVER_VERSION(a, b) "v" _STR(a) "." _STR(b) @@ -411,6 +411,7 @@ */ static int gsp_rec_packet(struct garmin_data *garmin_data_p, int count) { + unsigned long flags; const __u8 *recpkt = garmin_data_p->inbuffer+GSP_INITIAL_OFFSET; __le32 *usbdata = (__le32 *) garmin_data_p->inbuffer; @@ -459,7 +460,9 @@ /* if this was an abort-transfer command, flush all queued data. */ if (isAbortTrfCmnd(garmin_data_p->inbuffer)) { + spin_lock_irqsave(&garmin_data_p->lock, flags); garmin_data_p->flags |= FLAGS_DROP_DATA; + spin_unlock_irqrestore(&garmin_data_p->lock, flags); pkt_clear(garmin_data_p); } @@ -944,7 +947,7 @@ spin_lock_irqsave(&garmin_data_p->lock, flags); garmin_data_p->mode = initial_mode; garmin_data_p->count = 0; - garmin_data_p->flags = 0; + garmin_data_p->flags &= FLAGS_SESSION_REPLY1_SEEN; spin_unlock_irqrestore(&garmin_data_p->lock, flags); /* shutdown any bulk reads that might be going on */ @@ -1179,7 +1182,8 @@ static void garmin_read_process(struct garmin_data *garmin_data_p, - unsigned char *data, unsigned data_length) + unsigned char *data, unsigned data_length, + int bulk_data) { unsigned long flags; @@ -1194,7 +1198,8 @@ send it directly to the tty port */ if (garmin_data_p->flags & FLAGS_QUEUING) { pkt_add(garmin_data_p, data, data_length); - } else if (getLayerId(data) == GARMIN_LAYERID_APPL) { + } else if (bulk_data || + getLayerId(data) == GARMIN_LAYERID_APPL) { spin_lock_irqsave(&garmin_data_p->lock, flags); garmin_data_p->flags |= APP_RESP_SEEN; @@ -1238,7 +1243,7 @@ usb_serial_debug_data(debug, &port->dev, __func__, urb->actual_length, data); - garmin_read_process(garmin_data_p, data, urb->actual_length); + garmin_read_process(garmin_data_p, data, urb->actual_length, 1); if (urb->actual_length == 0 && 0 != (garmin_data_p->flags & FLAGS_BULK_IN_RESTART)) { @@ -1348,7 +1353,7 @@ __func__, garmin_data_p->serial_num); } - garmin_read_process(garmin_data_p, data, urb->actual_length); + garmin_read_process(garmin_data_p, data, urb->actual_length, 0); port->interrupt_in_urb->dev = port->serial->dev; retval = usb_submit_urb(urb, GFP_ATOMIC); @@ -1463,6 +1468,7 @@ garmin_data_p->timer.function = timeout_handler; garmin_data_p->port = port; garmin_data_p->state = 0; + garmin_data_p->flags = 0; garmin_data_p->count = 0; usb_set_serial_port_data(port, garmin_data_p); --- linux-2.6.32.orig/drivers/usb/serial/generic.c +++ linux-2.6.32/drivers/usb/serial/generic.c @@ -489,6 +489,8 @@ dbg("%s - port %d", __func__, port->number); if (port->serial->type->max_in_flight_urbs) { + kfree(urb->transfer_buffer); + spin_lock_irqsave(&port->lock, flags); --port->urbs_in_flight; port->tx_bytes_flight -= urb->transfer_buffer_length; @@ -576,6 +578,26 @@ } EXPORT_SYMBOL_GPL(usb_serial_handle_break); +/** + * usb_serial_handle_dcd_change - handle a change of carrier detect state + * @port: usb_serial_port structure for the open port + * @tty: tty_struct structure for the port + * @status: new carrier detect status, nonzero if active + */ +void usb_serial_handle_dcd_change(struct usb_serial_port *usb_port, + struct tty_struct *tty, unsigned int status) +{ + struct tty_port *port = &usb_port->port; + + dbg("%s - port %d, status %d", __func__, usb_port->number, status); + + if (status) + wake_up_interruptible(&port->open_wait); + else if (tty && !C_CLOCAL(tty)) + tty_hangup(tty); +} +EXPORT_SYMBOL_GPL(usb_serial_handle_dcd_change); + int usb_serial_generic_resume(struct usb_serial *serial) { struct usb_serial_port *port; --- linux-2.6.32.orig/drivers/usb/serial/io_ti.c +++ linux-2.6.32/drivers/usb/serial/io_ti.c @@ -1157,7 +1157,7 @@ /* Check if we have an old version in the I2C and update if necessary */ - if (download_cur_ver != download_new_ver) { + if (download_cur_ver < download_new_ver) { dbg("%s - Update I2C dld from %d.%d to %d.%d", __func__, firmware_version->Ver_Major, @@ -2664,15 +2664,7 @@ static void edge_disconnect(struct usb_serial *serial) { - int i; - struct edgeport_port *edge_port; - dbg("%s", __func__); - - for (i = 0; i < serial->num_ports; ++i) { - edge_port = usb_get_serial_port_data(serial->port[i]); - edge_remove_sysfs_attrs(edge_port->port); - } } static void edge_release(struct usb_serial *serial) @@ -2927,6 +2919,7 @@ .disconnect = edge_disconnect, .release = edge_release, .port_probe = edge_create_sysfs_attrs, + .port_remove = edge_remove_sysfs_attrs, .ioctl = edge_ioctl, .set_termios = edge_set_termios, .tiocmget = edge_tiocmget, @@ -2957,6 +2950,7 @@ .disconnect = edge_disconnect, .release = edge_release, .port_probe = edge_create_sysfs_attrs, + .port_remove = edge_remove_sysfs_attrs, .ioctl = edge_ioctl, .set_termios = edge_set_termios, .tiocmget = edge_tiocmget, --- linux-2.6.32.orig/drivers/usb/serial/io_edgeport.c +++ linux-2.6.32/drivers/usb/serial/io_edgeport.c @@ -2935,8 +2935,8 @@ dbg("%s %d.%d.%d", fw_info, rec->data[0], rec->data[1], build); - edge_serial->product_info.FirmwareMajorVersion = fw->data[0]; - edge_serial->product_info.FirmwareMinorVersion = fw->data[1]; + edge_serial->product_info.FirmwareMajorVersion = rec->data[0]; + edge_serial->product_info.FirmwareMinorVersion = rec->data[1]; edge_serial->product_info.FirmwareBuildNumber = cpu_to_le16(build); for (rec = ihex_next_binrec(rec); rec; --- linux-2.6.32.orig/drivers/usb/serial/ipaq.c +++ linux-2.6.32/drivers/usb/serial/ipaq.c @@ -547,7 +547,6 @@ { USB_DEVICE(0x413C, 0x4009) }, /* Dell Axim USB Sync */ { USB_DEVICE(0x4505, 0x0010) }, /* Smartphone */ { USB_DEVICE(0x5E04, 0xCE00) }, /* SAGEM Wireless Assistant */ - { USB_DEVICE(0x0BB4, 0x00CF) }, /* HTC smartphone modems */ { } /* Terminating entry */ }; --- linux-2.6.32.orig/drivers/usb/serial/ir-usb.c +++ linux-2.6.32/drivers/usb/serial/ir-usb.c @@ -312,6 +312,7 @@ kfree(port->read_urb->transfer_buffer); port->read_urb->transfer_buffer = buffer; port->read_urb->transfer_buffer_length = buffer_size; + port->bulk_in_buffer = buffer; buffer = kmalloc(buffer_size, GFP_KERNEL); if (!buffer) { @@ -321,6 +322,7 @@ kfree(port->write_urb->transfer_buffer); port->write_urb->transfer_buffer = buffer; port->write_urb->transfer_buffer_length = buffer_size; + port->bulk_out_buffer = buffer; port->bulk_out_size = buffer_size; } --- linux-2.6.32.orig/drivers/usb/serial/navman.c +++ linux-2.6.32/drivers/usb/serial/navman.c @@ -24,6 +24,7 @@ static struct usb_device_id id_table [] = { { USB_DEVICE(0x0a99, 0x0001) }, /* Talon Technology device */ + { USB_DEVICE(0x0df7, 0x0900) }, /* Mobile Action i-gotU */ { }, }; MODULE_DEVICE_TABLE(usb, id_table); --- linux-2.6.32.orig/drivers/usb/serial/option.c +++ linux-2.6.32/drivers/usb/serial/option.c @@ -165,7 +165,10 @@ #define HUAWEI_PRODUCT_E143D 0x143D #define HUAWEI_PRODUCT_E143E 0x143E #define HUAWEI_PRODUCT_E143F 0x143F +#define HUAWEI_PRODUCT_K4505 0x1464 +#define HUAWEI_PRODUCT_K3765 0x1465 #define HUAWEI_PRODUCT_E14AC 0x14AC +#define HUAWEI_PRODUCT_ETS1220 0x1803 #define QUANTA_VENDOR_ID 0x0408 #define QUANTA_PRODUCT_Q101 0xEA02 @@ -225,7 +228,9 @@ #define AMOI_VENDOR_ID 0x1614 #define AMOI_PRODUCT_H01 0x0800 #define AMOI_PRODUCT_H01A 0x7002 +#define AMOI_PRODUCT_9508 0x0800 #define AMOI_PRODUCT_H02 0x0802 +#define AMOI_PRODUCT_SKYPEPHONE_S2 0x0407 #define DELL_VENDOR_ID 0x413C @@ -283,12 +288,11 @@ #define BANDRICH_PRODUCT_1011 0x1011 #define BANDRICH_PRODUCT_1012 0x1012 -#define AMOI_VENDOR_ID 0x1614 -#define AMOI_PRODUCT_9508 0x0800 - #define QUALCOMM_VENDOR_ID 0x05C6 -#define MAXON_VENDOR_ID 0x16d8 +#define CMOTECH_VENDOR_ID 0x16d8 +#define CMOTECH_PRODUCT_6008 0x6008 +#define CMOTECH_PRODUCT_6280 0x6280 #define TELIT_VENDOR_ID 0x1bc7 #define TELIT_PRODUCT_UC864E 0x1003 @@ -314,6 +318,7 @@ #define QISDA_PRODUCT_H21_4512 0x4512 #define QISDA_PRODUCT_H21_4523 0x4523 #define QISDA_PRODUCT_H20_4515 0x4515 +#define QISDA_PRODUCT_H20_4518 0x4518 #define QISDA_PRODUCT_H20_4519 0x4519 /* TLAYTECH PRODUCTS */ @@ -332,6 +337,24 @@ #define ALCATEL_VENDOR_ID 0x1bbb #define ALCATEL_PRODUCT_X060S 0x0000 +#define PIRELLI_VENDOR_ID 0x1266 +#define PIRELLI_PRODUCT_C100_1 0x1002 +#define PIRELLI_PRODUCT_C100_2 0x1003 +#define PIRELLI_PRODUCT_1004 0x1004 +#define PIRELLI_PRODUCT_1005 0x1005 +#define PIRELLI_PRODUCT_1006 0x1006 +#define PIRELLI_PRODUCT_1007 0x1007 +#define PIRELLI_PRODUCT_1008 0x1008 +#define PIRELLI_PRODUCT_1009 0x1009 +#define PIRELLI_PRODUCT_100A 0x100a +#define PIRELLI_PRODUCT_100B 0x100b +#define PIRELLI_PRODUCT_100C 0x100c +#define PIRELLI_PRODUCT_100D 0x100d +#define PIRELLI_PRODUCT_100E 0x100e +#define PIRELLI_PRODUCT_100F 0x100f +#define PIRELLI_PRODUCT_1011 0x1011 +#define PIRELLI_PRODUCT_1012 0x1012 + /* Airplus products */ #define AIRPLUS_VENDOR_ID 0x1011 #define AIRPLUS_PRODUCT_MCD650 0x3198 @@ -340,6 +363,39 @@ #define FOUR_G_SYSTEMS_VENDOR_ID 0x1c9e #define FOUR_G_SYSTEMS_PRODUCT_W14 0x9603 +/* Haier products */ +#define HAIER_VENDOR_ID 0x201e +#define HAIER_PRODUCT_CE100 0x2009 + +/* Cinterion (formerly Siemens) products */ +#define SIEMENS_VENDOR_ID 0x0681 +#define CINTERION_VENDOR_ID 0x1e2d +#define CINTERION_PRODUCT_HC25_MDM 0x0047 +#define CINTERION_PRODUCT_HC25_MDMNET 0x0040 +#define CINTERION_PRODUCT_HC28_MDM 0x004C +#define CINTERION_PRODUCT_HC28_MDMNET 0x004A /* same for HC28J */ +#define CINTERION_PRODUCT_EU3_E 0x0051 +#define CINTERION_PRODUCT_EU3_P 0x0052 +#define CINTERION_PRODUCT_PH8 0x0053 + +/* Olivetti products */ +#define OLIVETTI_VENDOR_ID 0x0b3c +#define OLIVETTI_PRODUCT_OLICARD100 0xc000 + +/* 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 + static struct usb_device_id option_ids[] = { { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) }, { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) }, @@ -437,7 +493,10 @@ { 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(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E14AC) }, + { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K4505, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K3765, 0xff, 0xff, 0xff) }, + { 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(AMOI_VENDOR_ID, AMOI_PRODUCT_9508) }, { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V640) }, /* Novatel Merlin V640/XV620 */ { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V620) }, /* Novatel Merlin V620/S620 */ @@ -473,6 +532,7 @@ { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01) }, { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01A) }, { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H02) }, + { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_SKYPEPHONE_S2) }, { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5700_MINICARD) }, /* Dell Wireless 5700 Mobile Broadband CDMA/EVDO Mini-Card == Novatel Expedite EV620 CDMA/EV-DO */ { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5500_MINICARD) }, /* Dell Wireless 5500 Mobile Broadband HSDPA Mini-Card == Novatel Expedite EU740 HSDPA/3G */ @@ -516,7 +576,9 @@ { 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(MAXON_VENDOR_ID, 0x6280) }, /* BP3-USB & BP3-EXT HSDPA */ + { 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) }, { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UC864E) }, { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UC864G) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF622, 0xff, 0xff, 0xff) }, /* ZTE WCDMA products */ @@ -538,6 +600,7 @@ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0011, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0012, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0013, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0014, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF628, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0016, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0017, 0xff, 0xff, 0xff) }, @@ -549,43 +612,269 @@ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0023, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0024, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0025, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0026, 0xff, 0xff, 0xff) }, + /* { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0026, 0xff, 0xff, 0xff) }, */ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0028, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0029, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0030, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF626, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0032, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0033, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0034, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0037, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0038, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0039, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0040, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0042, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0043, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0044, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0048, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0049, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0050, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0051, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0052, 0xff, 0xff, 0xff) }, + /* { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0053, 0xff, 0xff, 0xff) }, */ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0054, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0055, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0056, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0057, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0058, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0059, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0061, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0062, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0063, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0064, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0065, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0066, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0067, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0069, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0070, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0076, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0077, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0078, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0079, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0082, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0083, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0086, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x2002, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x2003, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0087, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0104, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0105, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0106, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0108, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0113, 0xff, 0xff, 0xff) }, + { 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, 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, 0x0128, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0142, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0143, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0144, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0145, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0146, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0147, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0148, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0149, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0150, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0151, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0152, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0153, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0154, 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, 0x0159, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0160, 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) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1008, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1010, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1012, 0xff, 0xff, 0xff) }, + { 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) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1060, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1061, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1062, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1063, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1064, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1065, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1066, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1067, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1068, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1069, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1070, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1071, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1072, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1073, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1074, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1075, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1076, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1077, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1078, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1079, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1080, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1081, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1082, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1083, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1084, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1085, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1086, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1087, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1088, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1089, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1090, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1091, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1092, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1093, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1094, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1095, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1096, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1097, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1098, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1099, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1100, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1101, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1102, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1103, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1104, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1105, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1106, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1107, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1108, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1109, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1110, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1111, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1112, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1113, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1114, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1115, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1116, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1117, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1118, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1119, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1120, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1121, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1122, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1123, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1124, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1125, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1126, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1127, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1128, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1129, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1130, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1131, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1132, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1133, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1134, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1135, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1136, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1137, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1138, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1139, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1140, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1141, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1142, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1143, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1144, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1145, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1146, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1147, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1148, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1149, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1150, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1151, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1152, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1153, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1154, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1155, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1156, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1157, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1158, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1159, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1160, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1161, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1162, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1163, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1164, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1165, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1166, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1167, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1168, 0xff, 0xff, 0xff) }, + { 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, 0x1246, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1247, 0xff, 0xff, 0xff) }, + { 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, 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, 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) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1260, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1261, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1262, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1263, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1264, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1265, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1266, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1267, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1268, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1269, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1270, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1271, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1272, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1273, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1274, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1275, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1276, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1277, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1278, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1279, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1280, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1281, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1282, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1283, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1284, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1285, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1286, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1287, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1288, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1289, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1290, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1291, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1292, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1293, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1294, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1295, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1296, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1297, 0xff, 0xff, 0xff) }, + { 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, 0x0014, 0xff, 0xff, 0xff) }, /* ZTE CDMA products */ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0027, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0059, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0060, 0xff, 0xff, 0xff) }, { 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, 0x0130, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0141, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x2002, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x2003, 0xff, 0xff, 0xff) }, { 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) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_AC2726, 0xff, 0xff, 0xff) }, @@ -595,15 +884,50 @@ { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H21_4512) }, { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H21_4523) }, { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H20_4515) }, + { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H20_4518) }, { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H20_4519) }, { USB_DEVICE(TOSHIBA_VENDOR_ID, TOSHIBA_PRODUCT_G450) }, { USB_DEVICE(TOSHIBA_VENDOR_ID, TOSHIBA_PRODUCT_HSDPA_MINICARD ) }, /* Toshiba 3G HSDPA == Novatel Expedite EU870D MiniCard */ { USB_DEVICE(ALINK_VENDOR_ID, 0x9000) }, + { USB_DEVICE(ALINK_VENDOR_ID, 0xce16) }, { USB_DEVICE_AND_INTERFACE_INFO(ALINK_VENDOR_ID, ALINK_PRODUCT_3GU, 0xff, 0xff, 0xff) }, { USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_X060S) }, { USB_DEVICE(AIRPLUS_VENDOR_ID, AIRPLUS_PRODUCT_MCD650) }, { USB_DEVICE(TLAYTECH_VENDOR_ID, TLAYTECH_PRODUCT_TEU800) }, { USB_DEVICE(FOUR_G_SYSTEMS_VENDOR_ID, FOUR_G_SYSTEMS_PRODUCT_W14) }, + { USB_DEVICE(HAIER_VENDOR_ID, HAIER_PRODUCT_CE100) }, + /* Pirelli */ + { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_C100_1)}, + { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_C100_2)}, + { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_1004)}, + { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_1005)}, + { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_1006)}, + { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_1007)}, + { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_1008)}, + { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_1009)}, + { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_100A)}, + { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_100B) }, + { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_100C) }, + { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_100D) }, + { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_100E) }, + { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_100F) }, + { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_1011)}, + { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_1012)}, + /* Cinterion */ + { 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_HC28_MDM) }, + { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_HC28_MDMNET) }, + { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC25_MDM) }, + { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC25_MDMNET) }, + { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC28_MDM) }, /* HC28 enumerates with Siemens or Cinterion VID depending on FW revision */ + { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC28_MDMNET) }, + + { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD100) }, + { 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/GT-B3710 LTE USB modem.*/ { } /* Terminating entry */ }; MODULE_DEVICE_TABLE(usb, option_ids); @@ -726,12 +1050,26 @@ const struct usb_device_id *id) { struct option_intf_private *data; + /* D-Link DWM 652 still exposes CD-Rom emulation interface in modem mode */ if (serial->dev->descriptor.idVendor == DLINK_VENDOR_ID && serial->dev->descriptor.idProduct == DLINK_PRODUCT_DWM_652 && serial->interface->cur_altsetting->desc.bInterfaceClass == 0x8) return -ENODEV; + /* Bandrich modem and AT command interface is 0xff */ + if ((serial->dev->descriptor.idVendor == BANDRICH_VENDOR_ID || + serial->dev->descriptor.idVendor == PIRELLI_VENDOR_ID) && + serial->interface->cur_altsetting->desc.bInterfaceClass != 0xff) + return -ENODEV; + + /* Don't bind network interfaces on Huawei K3765 & K4505 */ + if (serial->dev->descriptor.idVendor == HUAWEI_VENDOR_ID && + (serial->dev->descriptor.idProduct == HUAWEI_PRODUCT_K3765 || + serial->dev->descriptor.idProduct == HUAWEI_PRODUCT_K4505) && + serial->interface->cur_altsetting->desc.bInterfaceNumber == 1) + return -ENODEV; + data = serial->private = kzalloc(sizeof(struct option_intf_private), GFP_KERNEL); if (!data) return -ENOMEM; --- linux-2.6.32.orig/drivers/usb/serial/keyspan_pda.c +++ linux-2.6.32/drivers/usb/serial/keyspan_pda.c @@ -663,22 +663,6 @@ } } -static int keyspan_pda_carrier_raised(struct usb_serial_port *port) -{ - struct usb_serial *serial = port->serial; - unsigned char modembits; - - /* If we can read the modem status and the DCD is low then - carrier is not raised yet */ - if (keyspan_pda_get_modem_info(serial, &modembits) >= 0) { - if (!(modembits & (1>>6))) - return 0; - } - /* Carrier raised, or we failed (eg disconnected) so - progress accordingly */ - return 1; -} - static int keyspan_pda_open(struct tty_struct *tty, struct usb_serial_port *port) @@ -854,7 +838,6 @@ .id_table = id_table_std, .num_ports = 1, .dtr_rts = keyspan_pda_dtr_rts, - .carrier_raised = keyspan_pda_carrier_raised, .open = keyspan_pda_open, .close = keyspan_pda_close, .write = keyspan_pda_write, --- linux-2.6.32.orig/drivers/usb/serial/kl5kusb105.c +++ linux-2.6.32/drivers/usb/serial/kl5kusb105.c @@ -310,6 +310,7 @@ usb_free_urb(priv->write_urb_pool[j]); } } + kfree(priv); usb_set_serial_port_data(serial->port[i], NULL); } return -ENOMEM; --- linux-2.6.32.orig/drivers/usb/serial/kobil_sct.c +++ linux-2.6.32/drivers/usb/serial/kobil_sct.c @@ -345,7 +345,8 @@ /* FIXME: Add rts/dtr methods */ if (port->write_urb) { - usb_kill_urb(port->write_urb); + usb_poison_urb(port->write_urb); + kfree(port->write_urb->transfer_buffer); usb_free_urb(port->write_urb); port->write_urb = NULL; } @@ -371,7 +372,7 @@ } tty = tty_port_tty_get(&port->port); - if (urb->actual_length) { + if (tty && urb->actual_length) { /* BEGIN DEBUG */ /* --- linux-2.6.32.orig/drivers/usb/serial/mos7720.c +++ linux-2.6.32/drivers/usb/serial/mos7720.c @@ -1466,6 +1466,9 @@ case TIOCGICOUNT: cnow = mos7720_port->icount; + + memset(&icount, 0, sizeof(struct serial_icounter_struct)); + icount.cts = cnow.cts; icount.dsr = cnow.dsr; icount.rng = cnow.rng; --- linux-2.6.32.orig/drivers/usb/serial/mos7840.c +++ linux-2.6.32/drivers/usb/serial/mos7840.c @@ -120,9 +120,20 @@ * by making a change here, in moschip_port_id_table, and in * moschip_id_table_combined */ -#define USB_VENDOR_ID_BANDB 0x0856 -#define BANDB_DEVICE_ID_USOPTL4_4 0xAC44 -#define BANDB_DEVICE_ID_USOPTL4_2 0xAC42 +#define USB_VENDOR_ID_BANDB 0x0856 +#define BANDB_DEVICE_ID_USO9ML2_2 0xAC22 +#define BANDB_DEVICE_ID_USO9ML2_2P 0xBC00 +#define BANDB_DEVICE_ID_USO9ML2_4 0xAC24 +#define BANDB_DEVICE_ID_USO9ML2_4P 0xBC01 +#define BANDB_DEVICE_ID_US9ML2_2 0xAC29 +#define BANDB_DEVICE_ID_US9ML2_4 0xAC30 +#define BANDB_DEVICE_ID_USPTL4_2 0xAC31 +#define BANDB_DEVICE_ID_USPTL4_4 0xAC32 +#define BANDB_DEVICE_ID_USOPTL4_2 0xAC42 +#define BANDB_DEVICE_ID_USOPTL4_2P 0xBC02 +#define BANDB_DEVICE_ID_USOPTL4_4 0xAC44 +#define BANDB_DEVICE_ID_USOPTL4_4P 0xBC03 +#define BANDB_DEVICE_ID_USOPTL2_4 0xAC24 /* This driver also supports * ATEN UC2324 device using Moschip MCS7840 @@ -177,8 +188,19 @@ static struct usb_device_id moschip_port_id_table[] = { {USB_DEVICE(USB_VENDOR_ID_MOSCHIP, MOSCHIP_DEVICE_ID_7840)}, {USB_DEVICE(USB_VENDOR_ID_MOSCHIP, MOSCHIP_DEVICE_ID_7820)}, - {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USOPTL4_4)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USO9ML2_2)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USO9ML2_2P)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USO9ML2_4)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USO9ML2_4P)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_US9ML2_2)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_US9ML2_4)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USPTL4_2)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USPTL4_4)}, {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USOPTL4_2)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USOPTL4_2P)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USOPTL4_4)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USOPTL4_4P)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USOPTL2_4)}, {USB_DEVICE(USB_VENDOR_ID_ATENINTL, ATENINTL_DEVICE_ID_UC2324)}, {USB_DEVICE(USB_VENDOR_ID_ATENINTL, ATENINTL_DEVICE_ID_UC2322)}, {} /* terminating entry */ @@ -187,8 +209,19 @@ static __devinitdata struct usb_device_id moschip_id_table_combined[] = { {USB_DEVICE(USB_VENDOR_ID_MOSCHIP, MOSCHIP_DEVICE_ID_7840)}, {USB_DEVICE(USB_VENDOR_ID_MOSCHIP, MOSCHIP_DEVICE_ID_7820)}, - {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USOPTL4_4)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USO9ML2_2)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USO9ML2_2P)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USO9ML2_4)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USO9ML2_4P)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_US9ML2_2)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_US9ML2_4)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USPTL4_2)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USPTL4_4)}, {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USOPTL4_2)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USOPTL4_2P)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USOPTL4_4)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USOPTL4_4P)}, + {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USOPTL2_4)}, {USB_DEVICE(USB_VENDOR_ID_ATENINTL, ATENINTL_DEVICE_ID_UC2324)}, {USB_DEVICE(USB_VENDOR_ID_ATENINTL, ATENINTL_DEVICE_ID_UC2322)}, {} /* terminating entry */ @@ -262,12 +295,19 @@ { struct usb_device *dev = port->serial->dev; int ret = 0; + u8 *buf; + + buf = kmalloc(VENDOR_READ_LENGTH, GFP_KERNEL); + if (!buf) + return -ENOMEM; ret = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), MCS_RDREQ, - MCS_RD_RTYPE, 0, reg, val, VENDOR_READ_LENGTH, + MCS_RD_RTYPE, 0, reg, buf, VENDOR_READ_LENGTH, MOS_WDR_TIMEOUT); + *val = buf[0]; dbg("mos7840_get_reg_sync offset is %x, return val %x", reg, *val); - *val = (*val) & 0x00ff; + + kfree(buf); return ret; } @@ -320,6 +360,11 @@ struct usb_device *dev = port->serial->dev; int ret = 0; __u16 Wval; + u8 *buf; + + buf = kmalloc(VENDOR_READ_LENGTH, GFP_KERNEL); + if (!buf) + return -ENOMEM; /* dbg("application number is %4x", (((__u16)port->number - (__u16)(port->serial->minor))+1)<<8); */ @@ -343,9 +388,11 @@ } } ret = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), MCS_RDREQ, - MCS_RD_RTYPE, Wval, reg, val, VENDOR_READ_LENGTH, + MCS_RD_RTYPE, Wval, reg, buf, VENDOR_READ_LENGTH, MOS_WDR_TIMEOUT); - *val = (*val) & 0x00ff; + *val = buf[0]; + + kfree(buf); return ret; } @@ -696,7 +743,6 @@ mos7840_port = urb->context; if (!mos7840_port) { dbg("%s", "NULL mos7840_port pointer"); - mos7840_port->read_urb_busy = false; return; } @@ -2241,6 +2287,9 @@ case TIOCGICOUNT: cnow = mos7840_port->icount; smp_rmb(); + + memset(&icount, 0, sizeof(struct serial_icounter_struct)); + icount.cts = cnow.cts; icount.dsr = cnow.dsr; icount.rng = cnow.rng; --- linux-2.6.32.orig/drivers/usb/serial/moto_modem.c +++ linux-2.6.32/drivers/usb/serial/moto_modem.c @@ -25,6 +25,7 @@ { USB_DEVICE(0x05c6, 0x3197) }, /* unknown Motorola phone */ { USB_DEVICE(0x0c44, 0x0022) }, /* unknown Mororola phone */ { USB_DEVICE(0x22b8, 0x2a64) }, /* Motorola KRZR K1m */ + { USB_DEVICE(0x22b8, 0x2c84) }, /* Motorola VE240 phone */ { USB_DEVICE(0x22b8, 0x2c64) }, /* Motorola V950 phone */ { }, }; --- linux-2.6.32.orig/drivers/usb/serial/omninet.c +++ linux-2.6.32/drivers/usb/serial/omninet.c @@ -317,7 +317,7 @@ int room = 0; /* Default: no room */ /* FIXME: no consistent locking for write_urb_busy */ - if (wport->write_urb_busy) + if (!wport->write_urb_busy) room = wport->bulk_out_size - OMNINET_HEADERLEN; dbg("%s - returns %d", __func__, room); --- linux-2.6.32.orig/drivers/usb/serial/opticon.c +++ linux-2.6.32/drivers/usb/serial/opticon.c @@ -99,8 +99,8 @@ available_room = tty_buffer_request_room(tty, data_length); if (available_room) { - tty_insert_flip_string(tty, data, - available_room); + tty_insert_flip_string(tty, data + 2, + data_length); tty_flip_buffer_push(tty); } tty_kref_put(tty); @@ -134,7 +134,7 @@ priv->bulk_address), priv->bulk_in_buffer, priv->buffer_size, opticon_bulk_callback, priv); - result = usb_submit_urb(port->read_urb, GFP_ATOMIC); + result = usb_submit_urb(priv->bulk_read_urb, GFP_ATOMIC); if (result) dev_err(&port->dev, "%s - failed resubmitting read urb, error %d\n", --- linux-2.6.32.orig/drivers/usb/serial/pl2303.c +++ linux-2.6.32/drivers/usb/serial/pl2303.c @@ -59,6 +59,8 @@ { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_ALDIGA) }, { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_MMX) }, { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_GPRS) }, + { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_HCR331) }, + { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_MOTOROLA) }, { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID) }, { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID_RSAQ5) }, { USB_DEVICE(ATEN_VENDOR_ID, ATEN_PRODUCT_ID) }, @@ -95,8 +97,11 @@ { USB_DEVICE(SUPERIAL_VENDOR_ID, SUPERIAL_PRODUCT_ID) }, { USB_DEVICE(HP_VENDOR_ID, HP_LD220_PRODUCT_ID) }, { USB_DEVICE(CRESSI_VENDOR_ID, CRESSI_EDY_PRODUCT_ID) }, + { USB_DEVICE(ZEAGLE_VENDOR_ID, ZEAGLE_N2ITION3_PRODUCT_ID) }, { USB_DEVICE(SONY_VENDOR_ID, SONY_QN3USB_PRODUCT_ID) }, { USB_DEVICE(SANWA_VENDOR_ID, SANWA_PRODUCT_ID) }, + { USB_DEVICE(ADLINK_VENDOR_ID, ADLINK_ND6530_PRODUCT_ID) }, + { USB_DEVICE(SMART_VENDOR_ID, SMART_PRODUCT_ID) }, { } /* Terminating entry */ }; @@ -612,10 +617,28 @@ baud = 6000000; } dbg("%s - baud set = %d", __func__, baud); - buf[0] = baud & 0xff; - buf[1] = (baud >> 8) & 0xff; - buf[2] = (baud >> 16) & 0xff; - buf[3] = (baud >> 24) & 0xff; + if (baud <= 115200) { + buf[0] = baud & 0xff; + buf[1] = (baud >> 8) & 0xff; + buf[2] = (baud >> 16) & 0xff; + buf[3] = (baud >> 24) & 0xff; + } else { + /* apparently the formula for higher speeds is: + * baudrate = 12M * 32 / (2^buf[1]) / buf[0] + */ + unsigned tmp = 12*1000*1000*32 / baud; + buf[3] = 0x80; + buf[2] = 0; + buf[1] = (tmp >= 256); + while (tmp >= 256) { + tmp >>= 2; + buf[1] <<= 1; + } + if (tmp > 256) { + tmp %= 256; + } + buf[0] = tmp; + } } /* For reference buf[4]=0 is 1 stop bits */ @@ -954,9 +977,11 @@ { struct pl2303_private *priv = usb_get_serial_port_data(port); + struct tty_struct *tty; unsigned long flags; u8 status_idx = UART_STATE; u8 length = UART_STATE + 1; + u8 prev_line_status; u16 idv, idp; idv = le16_to_cpu(port->serial->dev->descriptor.idVendor); @@ -978,11 +1003,20 @@ /* Save off the uart status for others to look at */ spin_lock_irqsave(&priv->lock, flags); + prev_line_status = priv->line_status; priv->line_status = data[status_idx]; 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); + + tty = tty_port_tty_get(&port->port); + if (!tty) + return; + if ((priv->line_status ^ prev_line_status) & UART_DCD) + usb_serial_handle_dcd_change(port, tty, + priv->line_status & UART_DCD); + tty_kref_put(tty); } static void pl2303_read_int_callback(struct urb *urb) --- linux-2.6.32.orig/drivers/usb/serial/pl2303.h +++ linux-2.6.32/drivers/usb/serial/pl2303.h @@ -5,7 +5,7 @@ * 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. - * + * */ #define BENQ_VENDOR_ID 0x04a5 @@ -20,6 +20,8 @@ #define PL2303_PRODUCT_ID_ALDIGA 0x0611 #define PL2303_PRODUCT_ID_MMX 0x0612 #define PL2303_PRODUCT_ID_GPRS 0x0609 +#define PL2303_PRODUCT_ID_HCR331 0x331a +#define PL2303_PRODUCT_ID_MOTOROLA 0x0307 #define ATEN_VENDOR_ID 0x0557 #define ATEN_VENDOR_ID2 0x0547 @@ -127,6 +129,10 @@ #define CRESSI_VENDOR_ID 0x04b8 #define CRESSI_EDY_PRODUCT_ID 0x0521 +/* Zeagle dive computer interface */ +#define ZEAGLE_VENDOR_ID 0x04b8 +#define ZEAGLE_N2ITION3_PRODUCT_ID 0x0522 + /* Sony, USB data cable for CMD-Jxx mobile phones */ #define SONY_VENDOR_ID 0x054c #define SONY_QN3USB_PRODUCT_ID 0x0437 @@ -134,3 +140,12 @@ /* Sanwa KB-USB2 multimeter cable (ID: 11ad:0001) */ #define SANWA_VENDOR_ID 0x11ad #define SANWA_PRODUCT_ID 0x0001 + +/* ADLINK ND-6530 RS232,RS485 and RS422 adapter */ +#define ADLINK_VENDOR_ID 0x0b63 +#define ADLINK_ND6530_PRODUCT_ID 0x6530 + +/* SMART USB Serial Adapter */ +#define SMART_VENDOR_ID 0x0b8c +#define SMART_PRODUCT_ID 0x2303 + --- linux-2.6.32.orig/drivers/usb/serial/qcserial.c +++ linux-2.6.32/drivers/usb/serial/qcserial.c @@ -26,6 +26,7 @@ {USB_DEVICE(0x05c6, 0x9212)}, /* Acer Gobi Modem Device */ {USB_DEVICE(0x03f0, 0x1f1d)}, /* HP un2400 Gobi Modem Device */ {USB_DEVICE(0x03f0, 0x201d)}, /* HP un2400 Gobi QDL Device */ + {USB_DEVICE(0x03f0, 0x371d)}, /* HP un2430 Mobile Broadband Module */ {USB_DEVICE(0x04da, 0x250d)}, /* Panasonic Gobi Modem device */ {USB_DEVICE(0x04da, 0x250c)}, /* Panasonic Gobi QDL device */ {USB_DEVICE(0x413c, 0x8172)}, /* Dell Gobi Modem device */ @@ -43,10 +44,41 @@ {USB_DEVICE(0x05c6, 0x9203)}, /* Generic Gobi Modem device */ {USB_DEVICE(0x05c6, 0x9222)}, /* Generic Gobi Modem device */ {USB_DEVICE(0x05c6, 0x9008)}, /* Generic Gobi QDL device */ + {USB_DEVICE(0x05c6, 0x9009)}, /* Generic Gobi Modem device */ {USB_DEVICE(0x05c6, 0x9201)}, /* Generic Gobi QDL device */ {USB_DEVICE(0x05c6, 0x9221)}, /* Generic Gobi QDL device */ {USB_DEVICE(0x05c6, 0x9231)}, /* Generic Gobi QDL device */ {USB_DEVICE(0x1f45, 0x0001)}, /* Unknown Gobi QDL device */ + {USB_DEVICE(0x413c, 0x8185)}, /* Dell Gobi 2000 QDL device (N0218, VU936) */ + {USB_DEVICE(0x413c, 0x8186)}, /* Dell Gobi 2000 Modem device (N0218, VU936) */ + {USB_DEVICE(0x05c6, 0x9224)}, /* Sony Gobi 2000 QDL device (N0279, VU730) */ + {USB_DEVICE(0x05c6, 0x9225)}, /* Sony Gobi 2000 Modem device (N0279, VU730) */ + {USB_DEVICE(0x05c6, 0x9244)}, /* Samsung Gobi 2000 QDL device (VL176) */ + {USB_DEVICE(0x05c6, 0x9245)}, /* Samsung Gobi 2000 Modem device (VL176) */ + {USB_DEVICE(0x03f0, 0x241d)}, /* HP Gobi 2000 QDL device (VP412) */ + {USB_DEVICE(0x03f0, 0x251d)}, /* HP Gobi 2000 Modem device (VP412) */ + {USB_DEVICE(0x05c6, 0x9214)}, /* Acer Gobi 2000 QDL device (VP413) */ + {USB_DEVICE(0x05c6, 0x9215)}, /* Acer Gobi 2000 Modem device (VP413) */ + {USB_DEVICE(0x05c6, 0x9264)}, /* Asus Gobi 2000 QDL device (VR305) */ + {USB_DEVICE(0x05c6, 0x9265)}, /* Asus Gobi 2000 Modem device (VR305) */ + {USB_DEVICE(0x05c6, 0x9234)}, /* Top Global Gobi 2000 QDL device (VR306) */ + {USB_DEVICE(0x05c6, 0x9235)}, /* Top Global Gobi 2000 Modem device (VR306) */ + {USB_DEVICE(0x05c6, 0x9274)}, /* iRex Technologies Gobi 2000 QDL device (VR307) */ + {USB_DEVICE(0x05c6, 0x9275)}, /* iRex Technologies Gobi 2000 Modem device (VR307) */ + {USB_DEVICE(0x1199, 0x9000)}, /* Sierra Wireless Gobi 2000 QDL device (VT773) */ + {USB_DEVICE(0x1199, 0x9001)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */ + {USB_DEVICE(0x1199, 0x9002)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */ + {USB_DEVICE(0x1199, 0x9003)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */ + {USB_DEVICE(0x1199, 0x9004)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */ + {USB_DEVICE(0x1199, 0x9005)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */ + {USB_DEVICE(0x1199, 0x9006)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */ + {USB_DEVICE(0x1199, 0x9007)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */ + {USB_DEVICE(0x1199, 0x9008)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */ + {USB_DEVICE(0x1199, 0x9009)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */ + {USB_DEVICE(0x1199, 0x900a)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */ + {USB_DEVICE(0x1199, 0x9011)}, /* Sierra Wireless Gobi 2000 Modem device (MC8305) */ + {USB_DEVICE(0x16d8, 0x8001)}, /* CMDTech Gobi 2000 QDL device (VU922) */ + {USB_DEVICE(0x16d8, 0x8002)}, /* CMDTech Gobi 2000 Modem device (VU922) */ { } /* Terminating entry */ }; MODULE_DEVICE_TABLE(usb, id_table); --- linux-2.6.32.orig/drivers/usb/serial/sierra.c +++ linux-2.6.32/drivers/usb/serial/sierra.c @@ -195,6 +195,7 @@ static struct usb_device_id id_table [] = { { USB_DEVICE(0x0F3D, 0x0112) }, /* Airprime/Sierra PC 5220 */ { USB_DEVICE(0x03F0, 0x1B1D) }, /* HP ev2200 a.k.a MC5720 */ + { USB_DEVICE(0x03F0, 0x211D) }, /* HP ev2210 a.k.a MC5725 */ { USB_DEVICE(0x03F0, 0x1E1D) }, /* HP hs2300 a.k.a MC8775 */ { USB_DEVICE(0x1199, 0x0017) }, /* Sierra Wireless EM5625 */ @@ -209,6 +210,7 @@ { USB_DEVICE(0x1199, 0x0021) }, /* Sierra Wireless AirCard 597E */ { USB_DEVICE(0x1199, 0x0112) }, /* Sierra Wireless AirCard 580 */ { USB_DEVICE(0x1199, 0x0120) }, /* Sierra Wireless USB Dongle 595U */ + { USB_DEVICE(0x1199, 0x0301) }, /* Sierra Wireless USB Dongle 250U */ /* Sierra Wireless C597 */ { USB_DEVICE_AND_INTERFACE_INFO(0x1199, 0x0023, 0xFF, 0xFF, 0xFF) }, /* Sierra Wireless T598 */ @@ -264,6 +266,9 @@ { USB_DEVICE(0x1199, 0x68A3), /* Sierra Wireless Direct IP modems */ .driver_info = (kernel_ulong_t)&direct_ip_interface_blacklist }, + { USB_DEVICE(0x0f3d, 0x68A3), /* Airprime/Sierra Wireless Direct IP modems */ + .driver_info = (kernel_ulong_t)&direct_ip_interface_blacklist + }, { } }; @@ -567,14 +572,17 @@ } else { if (urb->actual_length) { tty = tty_port_tty_get(&port->port); - - tty_buffer_request_room(tty, urb->actual_length); - tty_insert_flip_string(tty, data, urb->actual_length); - tty_flip_buffer_push(tty); - - tty_kref_put(tty); - usb_serial_debug_data(debug, &port->dev, __func__, - urb->actual_length, data); + if (tty) { + tty_buffer_request_room(tty, + urb->actual_length); + tty_insert_flip_string(tty, data, + urb->actual_length); + tty_flip_buffer_push(tty); + + tty_kref_put(tty); + usb_serial_debug_data(debug, &port->dev, + __func__, urb->actual_length, data); + } } else { dev_dbg(&port->dev, "%s: empty read urb" " received\n", __func__); --- linux-2.6.32.orig/drivers/usb/serial/spcp8x5.c +++ linux-2.6.32/drivers/usb/serial/spcp8x5.c @@ -137,7 +137,7 @@ /* how come ??? */ #define UART_STATE 0x08 -#define UART_STATE_TRANSIENT_MASK 0x74 +#define UART_STATE_TRANSIENT_MASK 0x75 #define UART_DCD 0x01 #define UART_DSR 0x02 #define UART_BREAK_ERROR 0x04 @@ -734,6 +734,10 @@ tty_insert_flip_char(tty, data[i], tty_flag); tty_flip_buffer_push(tty); } + + if (status & UART_DCD) + usb_serial_handle_dcd_change(port, tty, + priv->line_status & MSR_STATUS_LINE_DCD); tty_kref_put(tty); /* Schedule the next read _if_ we are still open */ --- linux-2.6.32.orig/drivers/usb/serial/ti_usb_3410_5052.c +++ linux-2.6.32/drivers/usb/serial/ti_usb_3410_5052.c @@ -366,9 +366,9 @@ static void __exit ti_exit(void) { + usb_deregister(&ti_usb_driver); usb_serial_deregister(&ti_1port_device); usb_serial_deregister(&ti_2port_device); - usb_deregister(&ti_usb_driver); } --- linux-2.6.32.orig/drivers/usb/serial/visor.c +++ linux-2.6.32/drivers/usb/serial/visor.c @@ -27,6 +27,7 @@ #include #include #include +#include #include "visor.h" /* @@ -249,6 +250,7 @@ .throttle = visor_throttle, .unthrottle = visor_unthrottle, .attach = clie_3_5_startup, + .release = visor_release, .write = visor_write, .write_room = visor_write_room, .write_bulk_callback = visor_write_bulk_callback, @@ -757,6 +759,17 @@ dbg("%s", __func__); + /* + * some Samsung Android phones in modem mode have the same ID + * as SPH-I500, but they are ACM devices, so dont bind to them + */ + if (id->idVendor == SAMSUNG_VENDOR_ID && + id->idProduct == SAMSUNG_SPH_I500_ID && + serial->dev->descriptor.bDeviceClass == USB_CLASS_COMM && + serial->dev->descriptor.bDeviceSubClass == + USB_CDC_SUBCLASS_ACM) + return -ENODEV; + if (serial->dev->actconfig->desc.bConfigurationValue != 1) { dev_err(&serial->dev->dev, "active config #%d != 1 ??\n", serial->dev->actconfig->desc.bConfigurationValue); --- linux-2.6.32.orig/drivers/usb/serial/usb-serial.c +++ linux-2.6.32/drivers/usb/serial/usb-serial.c @@ -562,6 +562,18 @@ return -EINVAL; } +static int serial_get_icount(struct tty_struct *tty, + struct serial_icounter_struct *icount) +{ + struct usb_serial_port *port = tty->driver_data; + + dbg("%s - port %d", __func__, port->number); + + if (port->serial->type->get_icount) + return port->serial->type->get_icount(tty, icount); + return -EINVAL; +} + /* * We would be calling tty_wakeup here, but unfortunately some line * disciplines have an annoying habit of calling tty->write from @@ -1214,6 +1226,7 @@ .chars_in_buffer = serial_chars_in_buffer, .tiocmget = serial_tiocmget, .tiocmset = serial_tiocmset, + .get_icount = serial_get_icount, .cleanup = serial_cleanup, .install = serial_install, .proc_fops = &serial_proc_fops, --- linux-2.6.32.orig/drivers/usb/serial/ftdi_sio_ids.h +++ linux-2.6.32/drivers/usb/serial/ftdi_sio_ids.h @@ -0,0 +1,1201 @@ +/* + * vendor/product IDs (VID/PID) of devices using FTDI USB serial converters. + * Please keep numerically sorted within individual areas, thanks! + * + * Philipp Gühring - pg@futureware.at - added the Device ID of the USB relais + * from Rudolf Gugler + * + */ + + +/**********************************/ +/***** devices using FTDI VID *****/ +/**********************************/ + + +#define FTDI_VID 0x0403 /* Vendor Id */ + + +/*** "original" FTDI device PIDs ***/ + +#define FTDI_8U232AM_PID 0x6001 /* Similar device to SIO above */ +#define FTDI_8U232AM_ALT_PID 0x6006 /* FTDI's alternate PID for above */ +#define FTDI_8U2232C_PID 0x6010 /* Dual channel device */ +#define FTDI_4232H_PID 0x6011 /* Quad channel hi-speed device */ +#define FTDI_SIO_PID 0x8372 /* Product Id SIO application of 8U100AX */ +#define FTDI_232RL_PID 0xFBFA /* Product ID for FT232RL */ + + +/*** third-party PIDs (using FTDI_VID) ***/ + +/* + * Marvell OpenRD Base, Client + * http://www.open-rd.org + * OpenRD Base, Client use VID 0x0403 + */ +#define MARVELL_OPENRD_PID 0x9e90 + +/* www.candapter.com Ewert Energy Systems CANdapter device */ +#define FTDI_CANDAPTER_PID 0x9F80 /* Product Id */ + +/* + * Texas Instruments XDS100v2 JTAG / BeagleBone A3 + * http://processors.wiki.ti.com/index.php/XDS100 + * http://beagleboard.org/bone + */ +#define TI_XDS100V2_PID 0xa6d0 + +#define FTDI_NXTCAM_PID 0xABB8 /* NXTCam for Mindstorms NXT */ + +/* US Interface Navigator (http://www.usinterface.com/) */ +#define FTDI_USINT_CAT_PID 0xb810 /* Navigator CAT and 2nd PTT lines */ +#define FTDI_USINT_WKEY_PID 0xb811 /* Navigator WKEY and FSK lines */ +#define FTDI_USINT_RS232_PID 0xb812 /* Navigator RS232 and CONFIG lines */ + +/* OOCDlink by Joern Kaipf + * (http://www.joernonline.de/dw/doku.php?id=start&idx=projects:oocdlink) */ +#define FTDI_OOCDLINK_PID 0xbaf8 /* Amontec JTAGkey */ + +/* Luminary Micro Stellaris Boards, VID = FTDI_VID */ +/* FTDI 2332C Dual channel device, side A=245 FIFO (JTAG), Side B=RS232 UART */ +#define LMI_LM3S_DEVEL_BOARD_PID 0xbcd8 +#define LMI_LM3S_EVAL_BOARD_PID 0xbcd9 +#define LMI_LM3S_ICDI_BOARD_PID 0xbcda + +#define FTDI_TURTELIZER_PID 0xBDC8 /* JTAG/RS-232 adapter by egnite GmBH */ + +/* OpenDCC (www.opendcc.de) product id */ +#define FTDI_OPENDCC_PID 0xBFD8 +#define FTDI_OPENDCC_SNIFFER_PID 0xBFD9 +#define FTDI_OPENDCC_THROTTLE_PID 0xBFDA +#define FTDI_OPENDCC_GATEWAY_PID 0xBFDB +#define FTDI_OPENDCC_GBM_PID 0xBFDC + +/* + * RR-CirKits LocoBuffer USB (http://www.rr-cirkits.com) + */ +#define FTDI_RRCIRKITS_LOCOBUFFER_PID 0xc7d0 /* LocoBuffer USB */ + +/* DMX4ALL DMX Interfaces */ +#define FTDI_DMX4ALL 0xC850 + +/* + * ASK.fr devices + */ +#define FTDI_ASK_RDR400_PID 0xC991 /* ASK RDR 400 series card reader */ + +/* www.starting-point-systems.com µChameleon device */ +#define FTDI_MICRO_CHAMELEON_PID 0xCAA0 /* Product Id */ + +/* + * Tactrix OpenPort (ECU) devices. + * OpenPort 1.3M submitted by Donour Sizemore. + * OpenPort 1.3S and 1.3U submitted by Ian Abbott. + */ +#define FTDI_TACTRIX_OPENPORT_13M_PID 0xCC48 /* OpenPort 1.3 Mitsubishi */ +#define FTDI_TACTRIX_OPENPORT_13S_PID 0xCC49 /* OpenPort 1.3 Subaru */ +#define FTDI_TACTRIX_OPENPORT_13U_PID 0xCC4A /* OpenPort 1.3 Universal */ + +/* SCS HF Radio Modems PID's (http://www.scs-ptc.com) */ +/* the VID is the standard ftdi vid (FTDI_VID) */ +#define FTDI_SCS_DEVICE_0_PID 0xD010 /* SCS PTC-IIusb */ +#define FTDI_SCS_DEVICE_1_PID 0xD011 /* SCS Tracker / DSP TNC */ +#define FTDI_SCS_DEVICE_2_PID 0xD012 +#define FTDI_SCS_DEVICE_3_PID 0xD013 +#define FTDI_SCS_DEVICE_4_PID 0xD014 +#define FTDI_SCS_DEVICE_5_PID 0xD015 +#define FTDI_SCS_DEVICE_6_PID 0xD016 +#define FTDI_SCS_DEVICE_7_PID 0xD017 + +/* iPlus device */ +#define FTDI_IPLUS_PID 0xD070 /* Product Id */ +#define FTDI_IPLUS2_PID 0xD071 /* Product Id */ + +/* + * Gamma Scout (http://gamma-scout.com/). Submitted by rsc@runtux.com. + */ +#define FTDI_GAMMA_SCOUT_PID 0xD678 /* Gamma Scout online */ + +/* Propox devices */ +#define FTDI_PROPOX_JTAGCABLEII_PID 0xD738 +#define FTDI_PROPOX_ISPCABLEIII_PID 0xD739 + +/* Lenz LI-USB Computer Interface. */ +#define FTDI_LENZ_LIUSB_PID 0xD780 + +/* Vardaan Enterprises Serial Interface VEUSB422R3 */ +#define FTDI_VARDAAN_PID 0xF070 + +/* + * Xsens Technologies BV products (http://www.xsens.com). + */ +#define XSENS_CONVERTER_0_PID 0xD388 +#define XSENS_CONVERTER_1_PID 0xD389 +#define XSENS_CONVERTER_2_PID 0xD38A +#define XSENS_CONVERTER_3_PID 0xD38B +#define XSENS_CONVERTER_4_PID 0xD38C +#define XSENS_CONVERTER_5_PID 0xD38D +#define XSENS_CONVERTER_6_PID 0xD38E +#define XSENS_CONVERTER_7_PID 0xD38F + +/* + * NDI (www.ndigital.com) product ids + */ +#define FTDI_NDI_HUC_PID 0xDA70 /* NDI Host USB Converter */ +#define FTDI_NDI_SPECTRA_SCU_PID 0xDA71 /* NDI Spectra SCU */ +#define FTDI_NDI_FUTURE_2_PID 0xDA72 /* NDI future device #2 */ +#define FTDI_NDI_FUTURE_3_PID 0xDA73 /* NDI future device #3 */ +#define FTDI_NDI_AURORA_SCU_PID 0xDA74 /* NDI Aurora SCU */ + +/* + * ChamSys Limited (www.chamsys.co.uk) USB wing/interface product IDs + */ +#define FTDI_CHAMSYS_24_MASTER_WING_PID 0xDAF8 +#define FTDI_CHAMSYS_PC_WING_PID 0xDAF9 +#define FTDI_CHAMSYS_USB_DMX_PID 0xDAFA +#define FTDI_CHAMSYS_MIDI_TIMECODE_PID 0xDAFB +#define FTDI_CHAMSYS_MINI_WING_PID 0xDAFC +#define FTDI_CHAMSYS_MAXI_WING_PID 0xDAFD +#define FTDI_CHAMSYS_MEDIA_WING_PID 0xDAFE +#define FTDI_CHAMSYS_WING_PID 0xDAFF + +/* + * Westrex International devices submitted by Cory Lee + */ +#define FTDI_WESTREX_MODEL_777_PID 0xDC00 /* Model 777 */ +#define FTDI_WESTREX_MODEL_8900F_PID 0xDC01 /* Model 8900F */ + +/* + * ACG Identification Technologies GmbH products (http://www.acg.de/). + * Submitted by anton -at- goto10 -dot- org. + */ +#define FTDI_ACG_HFDUAL_PID 0xDD20 /* HF Dual ISO Reader (RFID) */ + +/* + * Definitions for Artemis astronomical USB based cameras + * Check it at http://www.artemisccd.co.uk/ + */ +#define FTDI_ARTEMIS_PID 0xDF28 /* All Artemis Cameras */ + +/* + * Definitions for ATIK Instruments astronomical USB based cameras + * Check it at http://www.atik-instruments.com/ + */ +#define FTDI_ATIK_ATK16_PID 0xDF30 /* ATIK ATK-16 Grayscale Camera */ +#define FTDI_ATIK_ATK16C_PID 0xDF32 /* ATIK ATK-16C Colour Camera */ +#define FTDI_ATIK_ATK16HR_PID 0xDF31 /* ATIK ATK-16HR Grayscale Camera */ +#define FTDI_ATIK_ATK16HRC_PID 0xDF33 /* ATIK ATK-16HRC Colour Camera */ +#define FTDI_ATIK_ATK16IC_PID 0xDF35 /* ATIK ATK-16IC Grayscale Camera */ + +/* + * Yost Engineering, Inc. products (www.yostengineering.com). + * PID 0xE050 submitted by Aaron Prose. + */ +#define FTDI_YEI_SERVOCENTER31_PID 0xE050 /* YEI ServoCenter3.1 USB */ + +/* + * ELV USB devices submitted by Christian Abt of ELV (www.elv.de). + * 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. + * In fact, that PID was for ELV's UR 100 USB-RS232 converter (0xFB58). + * + * Armin Laeuger originally sent the PID for the UM 100 module. + */ +#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 */ +#define FTDI_ELV_WS550_PID 0xE004 /* WS 550 */ +#define FTDI_ELV_EC3000_PID 0xE006 /* ENERGY CONTROL 3000 USB */ +#define FTDI_ELV_WS888_PID 0xE008 /* WS 888 */ +#define FTDI_ELV_TWS550_PID 0xE009 /* Technoline WS 550 */ +#define FTDI_ELV_FEM_PID 0xE00A /* Funk Energie Monitor */ +#define FTDI_ELV_FHZ1300PC_PID 0xE0E8 /* FHZ 1300 PC */ +#define FTDI_ELV_WS500_PID 0xE0E9 /* PC-Wetterstation (WS 500) */ +#define FTDI_ELV_HS485_PID 0xE0EA /* USB to RS-485 adapter */ +#define FTDI_ELV_UMS100_PID 0xE0EB /* ELV USB Master-Slave Schaltsteckdose UMS 100 */ +#define FTDI_ELV_TFD128_PID 0xE0EC /* ELV Temperatur-Feuchte-Datenlogger TFD 128 */ +#define FTDI_ELV_FM3RX_PID 0xE0ED /* ELV Messwertuebertragung FM3 RX */ +#define FTDI_ELV_WS777_PID 0xE0EE /* Conrad WS 777 */ +#define FTDI_ELV_EM1010PC_PID 0xE0EF /* Engery monitor EM 1010 PC */ +#define FTDI_ELV_CSI8_PID 0xE0F0 /* Computer-Schalt-Interface (CSI 8) */ +#define FTDI_ELV_EM1000DL_PID 0xE0F1 /* PC-Datenlogger fuer Energiemonitor (EM 1000 DL) */ +#define FTDI_ELV_PCK100_PID 0xE0F2 /* PC-Kabeltester (PCK 100) */ +#define FTDI_ELV_RFP500_PID 0xE0F3 /* HF-Leistungsmesser (RFP 500) */ +#define FTDI_ELV_FS20SIG_PID 0xE0F4 /* Signalgeber (FS 20 SIG) */ +#define FTDI_ELV_UTP8_PID 0xE0F5 /* ELV UTP 8 */ +#define FTDI_ELV_WS300PC_PID 0xE0F6 /* PC-Wetterstation (WS 300 PC) */ +#define FTDI_ELV_WS444PC_PID 0xE0F7 /* Conrad WS 444 PC */ +#define FTDI_PHI_FISCO_PID 0xE40B /* PHI Fisco USB to Serial cable */ +#define FTDI_ELV_UAD8_PID 0xF068 /* USB-AD-Wandler (UAD 8) */ +#define FTDI_ELV_UDA7_PID 0xF069 /* USB-DA-Wandler (UDA 7) */ +#define FTDI_ELV_USI2_PID 0xF06A /* USB-Schrittmotoren-Interface (USI 2) */ +#define FTDI_ELV_T1100_PID 0xF06B /* Thermometer (T 1100) */ +#define FTDI_ELV_PCD200_PID 0xF06C /* PC-Datenlogger (PCD 200) */ +#define FTDI_ELV_ULA200_PID 0xF06D /* USB-LCD-Ansteuerung (ULA 200) */ +#define FTDI_ELV_ALC8500_PID 0xF06E /* ALC 8500 Expert */ +#define FTDI_ELV_FHZ1000PC_PID 0xF06F /* FHZ 1000 PC */ +#define FTDI_ELV_UR100_PID 0xFB58 /* USB-RS232-Umsetzer (UR 100) */ +#define FTDI_ELV_UM100_PID 0xFB5A /* USB-Modul UM 100 */ +#define FTDI_ELV_UO100_PID 0xFB5B /* USB-Modul UO 100 */ +/* Additional ELV PIDs that default to using the FTDI D2XX drivers on + * MS Windows, rather than the FTDI Virtual Com Port drivers. + * Maybe these will be easier to use with the libftdi/libusb user-space + * drivers, or possibly the Comedi drivers in some cases. */ +#define FTDI_ELV_CLI7000_PID 0xFB59 /* Computer-Light-Interface (CLI 7000) */ +#define FTDI_ELV_PPS7330_PID 0xFB5C /* Processor-Power-Supply (PPS 7330) */ +#define FTDI_ELV_TFM100_PID 0xFB5D /* Temperartur-Feuchte Messgeraet (TFM 100) */ +#define FTDI_ELV_UDF77_PID 0xFB5E /* USB DCF Funkurh (UDF 77) */ +#define FTDI_ELV_UIO88_PID 0xFB5F /* USB-I/O Interface (UIO 88) */ + +/* + * EVER Eco Pro UPS (http://www.ever.com.pl/) + */ + +#define EVER_ECO_PRO_CDS 0xe520 /* RS-232 converter */ + +/* + * Active Robots product ids. + */ +#define FTDI_ACTIVE_ROBOTS_PID 0xE548 /* USB comms board */ + +/* Pyramid Computer GmbH */ +#define FTDI_PYRAMID_PID 0xE6C8 /* Pyramid Appliance Display */ + +/* www.elsterelectricity.com Elster Unicom III Optical Probe */ +#define FTDI_ELSTER_UNICOM_PID 0xE700 /* Product Id */ + +/* + * Gude Analog- und Digitalsysteme GmbH + */ +#define FTDI_GUDEADS_E808_PID 0xE808 +#define FTDI_GUDEADS_E809_PID 0xE809 +#define FTDI_GUDEADS_E80A_PID 0xE80A +#define FTDI_GUDEADS_E80B_PID 0xE80B +#define FTDI_GUDEADS_E80C_PID 0xE80C +#define FTDI_GUDEADS_E80D_PID 0xE80D +#define FTDI_GUDEADS_E80E_PID 0xE80E +#define FTDI_GUDEADS_E80F_PID 0xE80F +#define FTDI_GUDEADS_E888_PID 0xE888 /* Expert ISDN Control USB */ +#define FTDI_GUDEADS_E889_PID 0xE889 /* USB RS-232 OptoBridge */ +#define FTDI_GUDEADS_E88A_PID 0xE88A +#define FTDI_GUDEADS_E88B_PID 0xE88B +#define FTDI_GUDEADS_E88C_PID 0xE88C +#define FTDI_GUDEADS_E88D_PID 0xE88D +#define FTDI_GUDEADS_E88E_PID 0xE88E +#define FTDI_GUDEADS_E88F_PID 0xE88F + +/* + * Eclo (http://www.eclo.pt/) product IDs. + * PID 0xEA90 submitted by Martin Grill. + */ +#define FTDI_ECLO_COM_1WIRE_PID 0xEA90 /* COM to 1-Wire USB adaptor */ + +/* TNC-X USB-to-packet-radio adapter, versions prior to 3.0 (DLP module) */ +#define FTDI_TNC_X_PID 0xEBE0 + +/* + * Teratronik product ids. + * Submitted by O. Wölfelschneider. + */ +#define FTDI_TERATRONIK_VCP_PID 0xEC88 /* Teratronik device (preferring VCP driver on windows) */ +#define FTDI_TERATRONIK_D2XX_PID 0xEC89 /* Teratronik device (preferring D2XX driver on windows) */ + +/* Rig Expert Ukraine devices */ +#define FTDI_REU_TINY_PID 0xED22 /* RigExpert Tiny */ + +/* + * Hameg HO820 and HO870 interface (using VID 0x0403) + */ +#define HAMEG_HO820_PID 0xed74 +#define HAMEG_HO730_PID 0xed73 +#define HAMEG_HO720_PID 0xed72 +#define HAMEG_HO870_PID 0xed71 + +/* + * MaxStream devices www.maxstream.net + */ +#define FTDI_MAXSTREAM_PID 0xEE18 /* Xbee PKG-U Module */ + +/* + * microHAM product IDs (http://www.microham.com). + * Submitted by Justin Burket (KL1RL) + * and Mike Studer (K6EEP) . + * Ian Abbott added a few more from the driver INF file. + */ +#define FTDI_MHAM_KW_PID 0xEEE8 /* USB-KW interface */ +#define FTDI_MHAM_YS_PID 0xEEE9 /* USB-YS interface */ +#define FTDI_MHAM_Y6_PID 0xEEEA /* USB-Y6 interface */ +#define FTDI_MHAM_Y8_PID 0xEEEB /* USB-Y8 interface */ +#define FTDI_MHAM_IC_PID 0xEEEC /* USB-IC interface */ +#define FTDI_MHAM_DB9_PID 0xEEED /* USB-DB9 interface */ +#define FTDI_MHAM_RS232_PID 0xEEEE /* USB-RS232 interface */ +#define FTDI_MHAM_Y9_PID 0xEEEF /* USB-Y9 interface */ + +/* Domintell products http://www.domintell.com */ +#define FTDI_DOMINTELL_DGQG_PID 0xEF50 /* Master */ +#define FTDI_DOMINTELL_DUSB_PID 0xEF51 /* DUSB01 module */ + +/* + * The following are the values for the Perle Systems + * UltraPort USB serial converters + */ +#define FTDI_PERLE_ULTRAPORT_PID 0xF0C0 /* Perle UltraPort Product Id */ + +/* Sprog II (Andrew Crosland's SprogII DCC interface) */ +#define FTDI_SPROG_II 0xF0C8 + +/* an infrared receiver for user access control with IR tags */ +#define FTDI_PIEGROUP_PID 0xF208 /* Product Id */ + +/* ACT Solutions HomePro ZWave interface + (http://www.act-solutions.com/HomePro.htm) */ +#define FTDI_ACTZWAVE_PID 0xF2D0 + +/* + * 4N-GALAXY.DE PIDs for CAN-USB, USB-RS232, USB-RS422, USB-RS485, + * USB-TTY activ, USB-TTY passiv. Some PIDs are used by several devices + * and I'm not entirely sure which are used by which. + */ +#define FTDI_4N_GALAXY_DE_1_PID 0xF3C0 +#define FTDI_4N_GALAXY_DE_2_PID 0xF3C1 +#define FTDI_4N_GALAXY_DE_3_PID 0xF3C2 + +/* + * Linx Technologies product ids + */ +#define LINX_SDMUSBQSS_PID 0xF448 /* Linx SDM-USB-QS-S */ +#define LINX_MASTERDEVEL2_PID 0xF449 /* Linx Master Development 2.0 */ +#define LINX_FUTURE_0_PID 0xF44A /* Linx future device */ +#define LINX_FUTURE_1_PID 0xF44B /* Linx future device */ +#define LINX_FUTURE_2_PID 0xF44C /* Linx future device */ + +/* + * Oceanic product ids + */ +#define FTDI_OCEANIC_PID 0xF460 /* Oceanic dive instrument */ + +/* + * SUUNTO product ids + */ +#define FTDI_SUUNTO_SPORTS_PID 0xF680 /* Suunto Sports instrument */ + +/* USB-UIRT - An infrared receiver and transmitter using the 8U232AM chip */ +/* http://home.earthlink.net/~jrhees/USBUIRT/index.htm */ +#define FTDI_USB_UIRT_PID 0xF850 /* Product Id */ + +/* CCS Inc. ICDU/ICDU40 product ID - + * the FT232BM is used in an in-circuit-debugger unit for PIC16's/PIC18's */ +#define FTDI_CCSICDU20_0_PID 0xF9D0 +#define FTDI_CCSICDU40_1_PID 0xF9D1 +#define FTDI_CCSMACHX_2_PID 0xF9D2 +#define FTDI_CCSLOAD_N_GO_3_PID 0xF9D3 +#define FTDI_CCSICDU64_4_PID 0xF9D4 +#define FTDI_CCSPRIME8_5_PID 0xF9D5 + +/* + * The following are the values for the Matrix Orbital LCD displays, + * which are the FT232BM ( similar to the 8U232AM ) + */ +#define FTDI_MTXORB_0_PID 0xFA00 /* Matrix Orbital Product Id */ +#define FTDI_MTXORB_1_PID 0xFA01 /* Matrix Orbital Product Id */ +#define FTDI_MTXORB_2_PID 0xFA02 /* Matrix Orbital Product Id */ +#define FTDI_MTXORB_3_PID 0xFA03 /* Matrix Orbital Product Id */ +#define FTDI_MTXORB_4_PID 0xFA04 /* Matrix Orbital Product Id */ +#define FTDI_MTXORB_5_PID 0xFA05 /* Matrix Orbital Product Id */ +#define FTDI_MTXORB_6_PID 0xFA06 /* Matrix Orbital Product Id */ + +/* + * Home Electronics (www.home-electro.com) USB gadgets + */ +#define FTDI_HE_TIRA1_PID 0xFA78 /* Tira-1 IR transceiver */ + +/* Inside Accesso contactless reader (http://www.insidefr.com) */ +#define INSIDE_ACCESSO 0xFAD0 + +/* + * ThorLabs USB motor drivers + */ +#define FTDI_THORLABS_PID 0xfaf0 /* ThorLabs USB motor drivers */ + +/* + * Protego product ids + */ +#define PROTEGO_SPECIAL_1 0xFC70 /* special/unknown device */ +#define PROTEGO_R2X0 0xFC71 /* R200-USB TRNG unit (R210, R220, and R230) */ +#define PROTEGO_SPECIAL_3 0xFC72 /* special/unknown device */ +#define PROTEGO_SPECIAL_4 0xFC73 /* special/unknown device */ + +/* + * Sony Ericsson product ids + */ +#define FTDI_DSS20_PID 0xFC82 /* DSS-20 Sync Station for Sony Ericsson P800 */ +#define FTDI_URBAN_0_PID 0xFC8A /* Sony Ericsson Urban, uart #0 */ +#define FTDI_URBAN_1_PID 0xFC8B /* Sony Ericsson Urban, uart #1 */ + +/* www.irtrans.de device */ +#define FTDI_IRTRANS_PID 0xFC60 /* Product Id */ + +/* + * RM Michaelides CANview USB (http://www.rmcan.com) (FTDI_VID) + * CAN fieldbus interface adapter, added by port GmbH www.port.de) + * Ian Abbott changed the macro names for consistency. + */ +#define FTDI_RM_CANVIEW_PID 0xfd60 /* Product Id */ +/* www.thoughttechnology.com/ TT-USB provide with procomp use ftdi_sio */ +#define FTDI_TTUSB_PID 0xFF20 /* Product Id */ + +#define FTDI_USBX_707_PID 0xF857 /* ADSTech IR Blaster USBX-707 (FTDI_VID) */ + +#define FTDI_RELAIS_PID 0xFA10 /* Relais device from Rudolf Gugler */ + +/* + * PCDJ use ftdi based dj-controllers. The following PID is + * for their DAC-2 device http://www.pcdjhardware.com/DAC2.asp + * (the VID is the standard ftdi vid (FTDI_VID), PID sent by Wouter Paesen) + */ +#define FTDI_PCDJ_DAC2_PID 0xFA88 + +#define FTDI_R2000KU_TRUE_RNG 0xFB80 /* R2000KU TRUE RNG (FTDI_VID) */ + +/* + * DIEBOLD BCS SE923 (FTDI_VID) + */ +#define DIEBOLD_BCS_SE923_PID 0xfb99 + +/* www.crystalfontz.com devices + * - thanx for providing free devices for evaluation ! + * they use the ftdi chipset for the USB interface + * and the vendor id is the same + */ +#define FTDI_XF_632_PID 0xFC08 /* 632: 16x2 Character Display */ +#define FTDI_XF_634_PID 0xFC09 /* 634: 20x4 Character Display */ +#define FTDI_XF_547_PID 0xFC0A /* 547: Two line Display */ +#define FTDI_XF_633_PID 0xFC0B /* 633: 16x2 Character Display with Keys */ +#define FTDI_XF_631_PID 0xFC0C /* 631: 20x2 Character Display */ +#define FTDI_XF_635_PID 0xFC0D /* 635: 20x4 Character Display */ +#define FTDI_XF_640_PID 0xFC0E /* 640: Two line Display */ +#define FTDI_XF_642_PID 0xFC0F /* 642: Two line Display */ + +/* + * Video Networks Limited / Homechoice in the UK use an ftdi-based device + * for their 1Mb broadband internet service. The following PID is exhibited + * by the usb device supplied (the VID is the standard ftdi vid (FTDI_VID) + */ +#define FTDI_VNHCPCUSB_D_PID 0xfe38 /* Product Id */ + +/* AlphaMicro Components AMC-232USB01 device (FTDI_VID) */ +#define FTDI_AMC232_PID 0xFF00 /* Product Id */ + +/* + * IBS elektronik product ids (FTDI_VID) + * Submitted by Thomas Schleusener + */ +#define FTDI_IBS_US485_PID 0xff38 /* IBS US485 (USB<-->RS422/485 interface) */ +#define FTDI_IBS_PICPRO_PID 0xff39 /* IBS PIC-Programmer */ +#define FTDI_IBS_PCMCIA_PID 0xff3a /* IBS Card reader for PCMCIA SRAM-cards */ +#define FTDI_IBS_PK1_PID 0xff3b /* IBS PK1 - Particel counter */ +#define FTDI_IBS_RS232MON_PID 0xff3c /* IBS RS232 - Monitor */ +#define FTDI_IBS_APP70_PID 0xff3d /* APP 70 (dust monitoring system) */ +#define FTDI_IBS_PEDO_PID 0xff3e /* IBS PEDO-Modem (RF modem 868.35 MHz) */ +#define FTDI_IBS_PROD_PID 0xff3f /* future device */ +/* www.canusb.com Lawicel CANUSB device (FTDI_VID) */ +#define FTDI_CANUSB_PID 0xFFA8 /* Product Id */ + +/* + * TavIR AVR product ids (FTDI_VID) + */ +#define FTDI_TAVIR_STK500_PID 0xFA33 /* STK500 AVR programmer */ + + + +/********************************/ +/** third-party VID/PID combos **/ +/********************************/ + + + +/* + * Atmel STK541 + */ +#define ATMEL_VID 0x03eb /* Vendor ID */ +#define STK541_PID 0x2109 /* Zigbee Controller */ + +/* + * Blackfin gnICE JTAG + * http://docs.blackfin.uclinux.org/doku.php?id=hw:jtag:gnice + */ +#define ADI_VID 0x0456 +#define ADI_GNICE_PID 0xF000 +#define ADI_GNICEPLUS_PID 0xF001 + +/* + * Hornby Elite + */ +#define HORNBY_VID 0x04D8 +#define HORNBY_ELITE_PID 0x000A + +/* + * RATOC REX-USB60F + */ +#define RATOC_VENDOR_ID 0x0584 +#define RATOC_PRODUCT_ID_USB60F 0xb020 + +/* + * Acton Research Corp. + */ +#define ACTON_VID 0x0647 /* Vendor ID */ +#define ACTON_SPECTRAPRO_PID 0x0100 + +/* + * Contec products (http://www.contec.com) + * Submitted by Daniel Sangorrin + */ +#define CONTEC_VID 0x06CE /* Vendor ID */ +#define CONTEC_COM1USBH_PID 0x8311 /* COM-1(USB)H */ + +/* + * Contec products (http://www.contec.com) + * Submitted by Daniel Sangorrin + */ +#define CONTEC_VID 0x06CE /* Vendor ID */ +#define CONTEC_COM1USBH_PID 0x8311 /* COM-1(USB)H */ + +/* + * Definitions for B&B Electronics products. + */ +#define BANDB_VID 0x0856 /* B&B Electronics Vendor ID */ +#define BANDB_USOTL4_PID 0xAC01 /* USOTL4 Isolated RS-485 Converter */ +#define BANDB_USTL4_PID 0xAC02 /* USTL4 RS-485 Converter */ +#define BANDB_USO9ML2_PID 0xAC03 /* USO9ML2 Isolated RS-232 Converter */ +#define BANDB_USOPTL4_PID 0xAC11 +#define BANDB_USPTL4_PID 0xAC12 +#define BANDB_USO9ML2DR_2_PID 0xAC16 +#define BANDB_USO9ML2DR_PID 0xAC17 +#define BANDB_USOPTL4DR2_PID 0xAC18 /* USOPTL4R-2 2-port Isolated RS-232 Converter */ +#define BANDB_USOPTL4DR_PID 0xAC19 +#define BANDB_485USB9F_2W_PID 0xAC25 +#define BANDB_485USB9F_4W_PID 0xAC26 +#define BANDB_232USB9M_PID 0xAC27 +#define BANDB_485USBTB_2W_PID 0xAC33 +#define BANDB_485USBTB_4W_PID 0xAC34 +#define BANDB_TTL5USB9M_PID 0xAC49 +#define BANDB_TTL3USB9M_PID 0xAC50 +#define BANDB_ZZ_PROG1_USB_PID 0xBA02 + +/* + * Intrepid Control Systems (http://www.intrepidcs.com/) ValueCAN and NeoVI + */ +#define INTREPID_VID 0x093C +#define INTREPID_VALUECAN_PID 0x0601 +#define INTREPID_NEOVI_PID 0x0701 + +/* + * Definitions for ID TECH (www.idt-net.com) devices + */ +#define IDTECH_VID 0x0ACD /* ID TECH Vendor ID */ +#define IDTECH_IDT1221U_PID 0x0300 /* IDT1221U USB to RS-232 adapter */ + +/* + * Definitions for Omnidirectional Control Technology, Inc. devices + */ +#define OCT_VID 0x0B39 /* OCT vendor ID */ +/* Note: OCT US101 is also rebadged as Dick Smith Electronics (NZ) XH6381 */ +/* Also rebadged as Dick Smith Electronics (Aus) XH6451 */ +/* Also rebadged as SIIG Inc. model US2308 hardware version 1 */ +#define OCT_DK201_PID 0x0103 /* OCT DK201 USB docking station */ +#define OCT_US101_PID 0x0421 /* OCT US101 USB to RS-232 */ + +/* + * Definitions for Icom Inc. devices + */ +#define ICOM_VID 0x0C26 /* Icom vendor ID */ +/* Note: ID-1 is a communications tranceiver for HAM-radio operators */ +#define ICOM_ID_1_PID 0x0004 /* ID-1 USB to RS-232 */ +/* Note: OPC is an Optional cable to connect an Icom Tranceiver */ +#define ICOM_OPC_U_UC_PID 0x0018 /* OPC-478UC, OPC-1122U cloning cable */ +/* Note: ID-RP* devices are Icom Repeater Devices for HAM-radio */ +#define ICOM_ID_RP2C1_PID 0x0009 /* ID-RP2C Asset 1 to RS-232 */ +#define ICOM_ID_RP2C2_PID 0x000A /* ID-RP2C Asset 2 to RS-232 */ +#define ICOM_ID_RP2D_PID 0x000B /* ID-RP2D configuration port*/ +#define ICOM_ID_RP2VT_PID 0x000C /* ID-RP2V Transmit config port */ +#define ICOM_ID_RP2VR_PID 0x000D /* ID-RP2V Receive config port */ +#define ICOM_ID_RP4KVT_PID 0x0010 /* ID-RP4000V Transmit config port */ +#define ICOM_ID_RP4KVR_PID 0x0011 /* ID-RP4000V Receive config port */ +#define ICOM_ID_RP2KVT_PID 0x0012 /* ID-RP2000V Transmit config port */ +#define ICOM_ID_RP2KVR_PID 0x0013 /* ID-RP2000V Receive config port */ + +/* + * GN Otometrics (http://www.otometrics.com) + * Submitted by Ville Sundberg. + */ +#define GN_OTOMETRICS_VID 0x0c33 /* Vendor ID */ +#define AURICAL_USB_PID 0x0010 /* Aurical USB Audiometer */ + +/* + * The following are the values for the Sealevel SeaLINK+ adapters. + * (Original list sent by Tuan Hoang. Ian Abbott renamed the macros and + * removed some PIDs that don't seem to match any existing products.) + */ +#define SEALEVEL_VID 0x0c52 /* Sealevel Vendor ID */ +#define SEALEVEL_2101_PID 0x2101 /* SeaLINK+232 (2101/2105) */ +#define SEALEVEL_2102_PID 0x2102 /* SeaLINK+485 (2102) */ +#define SEALEVEL_2103_PID 0x2103 /* SeaLINK+232I (2103) */ +#define SEALEVEL_2104_PID 0x2104 /* SeaLINK+485I (2104) */ +#define SEALEVEL_2106_PID 0x9020 /* SeaLINK+422 (2106) */ +#define SEALEVEL_2201_1_PID 0x2211 /* SeaPORT+2/232 (2201) Port 1 */ +#define SEALEVEL_2201_2_PID 0x2221 /* SeaPORT+2/232 (2201) Port 2 */ +#define SEALEVEL_2202_1_PID 0x2212 /* SeaPORT+2/485 (2202) Port 1 */ +#define SEALEVEL_2202_2_PID 0x2222 /* SeaPORT+2/485 (2202) Port 2 */ +#define SEALEVEL_2203_1_PID 0x2213 /* SeaPORT+2 (2203) Port 1 */ +#define SEALEVEL_2203_2_PID 0x2223 /* SeaPORT+2 (2203) Port 2 */ +#define SEALEVEL_2401_1_PID 0x2411 /* SeaPORT+4/232 (2401) Port 1 */ +#define SEALEVEL_2401_2_PID 0x2421 /* SeaPORT+4/232 (2401) Port 2 */ +#define SEALEVEL_2401_3_PID 0x2431 /* SeaPORT+4/232 (2401) Port 3 */ +#define SEALEVEL_2401_4_PID 0x2441 /* SeaPORT+4/232 (2401) Port 4 */ +#define SEALEVEL_2402_1_PID 0x2412 /* SeaPORT+4/485 (2402) Port 1 */ +#define SEALEVEL_2402_2_PID 0x2422 /* SeaPORT+4/485 (2402) Port 2 */ +#define SEALEVEL_2402_3_PID 0x2432 /* SeaPORT+4/485 (2402) Port 3 */ +#define SEALEVEL_2402_4_PID 0x2442 /* SeaPORT+4/485 (2402) Port 4 */ +#define SEALEVEL_2403_1_PID 0x2413 /* SeaPORT+4 (2403) Port 1 */ +#define SEALEVEL_2403_2_PID 0x2423 /* SeaPORT+4 (2403) Port 2 */ +#define SEALEVEL_2403_3_PID 0x2433 /* SeaPORT+4 (2403) Port 3 */ +#define SEALEVEL_2403_4_PID 0x2443 /* SeaPORT+4 (2403) Port 4 */ +#define SEALEVEL_2801_1_PID 0X2811 /* SeaLINK+8/232 (2801) Port 1 */ +#define SEALEVEL_2801_2_PID 0X2821 /* SeaLINK+8/232 (2801) Port 2 */ +#define SEALEVEL_2801_3_PID 0X2831 /* SeaLINK+8/232 (2801) Port 3 */ +#define SEALEVEL_2801_4_PID 0X2841 /* SeaLINK+8/232 (2801) Port 4 */ +#define SEALEVEL_2801_5_PID 0X2851 /* SeaLINK+8/232 (2801) Port 5 */ +#define SEALEVEL_2801_6_PID 0X2861 /* SeaLINK+8/232 (2801) Port 6 */ +#define SEALEVEL_2801_7_PID 0X2871 /* SeaLINK+8/232 (2801) Port 7 */ +#define SEALEVEL_2801_8_PID 0X2881 /* SeaLINK+8/232 (2801) Port 8 */ +#define SEALEVEL_2802_1_PID 0X2812 /* SeaLINK+8/485 (2802) Port 1 */ +#define SEALEVEL_2802_2_PID 0X2822 /* SeaLINK+8/485 (2802) Port 2 */ +#define SEALEVEL_2802_3_PID 0X2832 /* SeaLINK+8/485 (2802) Port 3 */ +#define SEALEVEL_2802_4_PID 0X2842 /* SeaLINK+8/485 (2802) Port 4 */ +#define SEALEVEL_2802_5_PID 0X2852 /* SeaLINK+8/485 (2802) Port 5 */ +#define SEALEVEL_2802_6_PID 0X2862 /* SeaLINK+8/485 (2802) Port 6 */ +#define SEALEVEL_2802_7_PID 0X2872 /* SeaLINK+8/485 (2802) Port 7 */ +#define SEALEVEL_2802_8_PID 0X2882 /* SeaLINK+8/485 (2802) Port 8 */ +#define SEALEVEL_2803_1_PID 0X2813 /* SeaLINK+8 (2803) Port 1 */ +#define SEALEVEL_2803_2_PID 0X2823 /* SeaLINK+8 (2803) Port 2 */ +#define SEALEVEL_2803_3_PID 0X2833 /* SeaLINK+8 (2803) Port 3 */ +#define SEALEVEL_2803_4_PID 0X2843 /* SeaLINK+8 (2803) Port 4 */ +#define SEALEVEL_2803_5_PID 0X2853 /* SeaLINK+8 (2803) Port 5 */ +#define SEALEVEL_2803_6_PID 0X2863 /* SeaLINK+8 (2803) Port 6 */ +#define SEALEVEL_2803_7_PID 0X2873 /* SeaLINK+8 (2803) Port 7 */ +#define SEALEVEL_2803_8_PID 0X2883 /* SeaLINK+8 (2803) Port 8 */ + +/* + * JETI SPECTROMETER SPECBOS 1201 + * http://www.jeti.com/products/sys/scb/scb1201.php + */ +#define JETI_VID 0x0c6c +#define JETI_SPC1201_PID 0x04b2 + +/* + * FTDI USB UART chips used in construction projects from the + * Elektor Electronics magazine (http://elektor-electronics.co.uk) + */ +#define ELEKTOR_VID 0x0C7D +#define ELEKTOR_FT323R_PID 0x0005 /* RFID-Reader, issue 09-2006 */ + +/* + * Posiflex inc retail equipment (http://www.posiflex.com.tw) + */ +#define POSIFLEX_VID 0x0d3a /* Vendor ID */ +#define POSIFLEX_PP7000_PID 0x0300 /* PP-7000II thermal printer */ + +/* + * The following are the values for two KOBIL chipcard terminals. + */ +#define KOBIL_VID 0x0d46 /* KOBIL Vendor ID */ +#define KOBIL_CONV_B1_PID 0x2020 /* KOBIL Konverter for B1 */ +#define KOBIL_CONV_KAAN_PID 0x2021 /* KOBIL_Konverter for KAAN */ + +#define FTDI_NF_RIC_VID 0x0DCD /* Vendor Id */ +#define FTDI_NF_RIC_PID 0x0001 /* Product Id */ + +/* + * Falcom Wireless Communications GmbH + */ +#define FALCOM_VID 0x0F94 /* Vendor Id */ +#define FALCOM_TWIST_PID 0x0001 /* Falcom Twist USB GPRS modem */ +#define FALCOM_SAMBA_PID 0x0005 /* Falcom Samba USB GPRS modem */ + +/* Larsen and Brusgaard AltiTrack/USBtrack */ +#define LARSENBRUSGAARD_VID 0x0FD8 +#define LB_ALTITRACK_PID 0x0001 + +/* + * TTi (Thurlby Thandar Instruments) + */ +#define TTI_VID 0x103E /* Vendor Id */ +#define TTI_QL355P_PID 0x03E8 /* TTi QL355P power supply */ + +/* Interbiometrics USB I/O Board */ +/* Developed for Interbiometrics by Rudolf Gugler */ +#define INTERBIOMETRICS_VID 0x1209 +#define INTERBIOMETRICS_IOBOARD_PID 0x1002 +#define INTERBIOMETRICS_MINI_IOBOARD_PID 0x1006 + +/* + * Testo products (http://www.testo.com/) + * Submitted by Colin Leroy + */ +#define TESTO_VID 0x128D +#define TESTO_USB_INTERFACE_PID 0x0001 + +/* + * Mobility Electronics products. + */ +#define MOBILITY_VID 0x1342 +#define MOBILITY_USB_SERIAL_PID 0x0202 /* EasiDock USB 200 serial */ + +/* + * FIC / OpenMoko, Inc. http://wiki.openmoko.org/wiki/Neo1973_Debug_Board_v3 + * Submitted by Harald Welte + */ +#define FIC_VID 0x1457 +#define FIC_NEO1973_DEBUG_PID 0x5118 + +/* Olimex */ +#define OLIMEX_VID 0x15BA +#define OLIMEX_ARM_USB_OCD_PID 0x0003 + +/* + * Telldus Technologies + */ +#define TELLDUS_VID 0x1781 /* Vendor ID */ +#define TELLDUS_TELLSTICK_PID 0x0C30 /* RF control dongle 433 MHz using FT232RL */ + +/* + * 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 */ + +/* + * Bayer Ascensia Contour blood glucose meter USB-converter cable. + * http://winglucofacts.com/cables/ + */ +#define BAYER_VID 0x1A79 +#define BAYER_CONTOUR_CABLE_PID 0x6001 + +/* + * The following are the values for the Matrix Orbital FTDI Range + * Anything in this range will use an FT232RL. + */ +#define MTXORB_VID 0x1B3D +#define MTXORB_FTDI_RANGE_0100_PID 0x0100 +#define MTXORB_FTDI_RANGE_0101_PID 0x0101 +#define MTXORB_FTDI_RANGE_0102_PID 0x0102 +#define MTXORB_FTDI_RANGE_0103_PID 0x0103 +#define MTXORB_FTDI_RANGE_0104_PID 0x0104 +#define MTXORB_FTDI_RANGE_0105_PID 0x0105 +#define MTXORB_FTDI_RANGE_0106_PID 0x0106 +#define MTXORB_FTDI_RANGE_0107_PID 0x0107 +#define MTXORB_FTDI_RANGE_0108_PID 0x0108 +#define MTXORB_FTDI_RANGE_0109_PID 0x0109 +#define MTXORB_FTDI_RANGE_010A_PID 0x010A +#define MTXORB_FTDI_RANGE_010B_PID 0x010B +#define MTXORB_FTDI_RANGE_010C_PID 0x010C +#define MTXORB_FTDI_RANGE_010D_PID 0x010D +#define MTXORB_FTDI_RANGE_010E_PID 0x010E +#define MTXORB_FTDI_RANGE_010F_PID 0x010F +#define MTXORB_FTDI_RANGE_0110_PID 0x0110 +#define MTXORB_FTDI_RANGE_0111_PID 0x0111 +#define MTXORB_FTDI_RANGE_0112_PID 0x0112 +#define MTXORB_FTDI_RANGE_0113_PID 0x0113 +#define MTXORB_FTDI_RANGE_0114_PID 0x0114 +#define MTXORB_FTDI_RANGE_0115_PID 0x0115 +#define MTXORB_FTDI_RANGE_0116_PID 0x0116 +#define MTXORB_FTDI_RANGE_0117_PID 0x0117 +#define MTXORB_FTDI_RANGE_0118_PID 0x0118 +#define MTXORB_FTDI_RANGE_0119_PID 0x0119 +#define MTXORB_FTDI_RANGE_011A_PID 0x011A +#define MTXORB_FTDI_RANGE_011B_PID 0x011B +#define MTXORB_FTDI_RANGE_011C_PID 0x011C +#define MTXORB_FTDI_RANGE_011D_PID 0x011D +#define MTXORB_FTDI_RANGE_011E_PID 0x011E +#define MTXORB_FTDI_RANGE_011F_PID 0x011F +#define MTXORB_FTDI_RANGE_0120_PID 0x0120 +#define MTXORB_FTDI_RANGE_0121_PID 0x0121 +#define MTXORB_FTDI_RANGE_0122_PID 0x0122 +#define MTXORB_FTDI_RANGE_0123_PID 0x0123 +#define MTXORB_FTDI_RANGE_0124_PID 0x0124 +#define MTXORB_FTDI_RANGE_0125_PID 0x0125 +#define MTXORB_FTDI_RANGE_0126_PID 0x0126 +#define MTXORB_FTDI_RANGE_0127_PID 0x0127 +#define MTXORB_FTDI_RANGE_0128_PID 0x0128 +#define MTXORB_FTDI_RANGE_0129_PID 0x0129 +#define MTXORB_FTDI_RANGE_012A_PID 0x012A +#define MTXORB_FTDI_RANGE_012B_PID 0x012B +#define MTXORB_FTDI_RANGE_012C_PID 0x012C +#define MTXORB_FTDI_RANGE_012D_PID 0x012D +#define MTXORB_FTDI_RANGE_012E_PID 0x012E +#define MTXORB_FTDI_RANGE_012F_PID 0x012F +#define MTXORB_FTDI_RANGE_0130_PID 0x0130 +#define MTXORB_FTDI_RANGE_0131_PID 0x0131 +#define MTXORB_FTDI_RANGE_0132_PID 0x0132 +#define MTXORB_FTDI_RANGE_0133_PID 0x0133 +#define MTXORB_FTDI_RANGE_0134_PID 0x0134 +#define MTXORB_FTDI_RANGE_0135_PID 0x0135 +#define MTXORB_FTDI_RANGE_0136_PID 0x0136 +#define MTXORB_FTDI_RANGE_0137_PID 0x0137 +#define MTXORB_FTDI_RANGE_0138_PID 0x0138 +#define MTXORB_FTDI_RANGE_0139_PID 0x0139 +#define MTXORB_FTDI_RANGE_013A_PID 0x013A +#define MTXORB_FTDI_RANGE_013B_PID 0x013B +#define MTXORB_FTDI_RANGE_013C_PID 0x013C +#define MTXORB_FTDI_RANGE_013D_PID 0x013D +#define MTXORB_FTDI_RANGE_013E_PID 0x013E +#define MTXORB_FTDI_RANGE_013F_PID 0x013F +#define MTXORB_FTDI_RANGE_0140_PID 0x0140 +#define MTXORB_FTDI_RANGE_0141_PID 0x0141 +#define MTXORB_FTDI_RANGE_0142_PID 0x0142 +#define MTXORB_FTDI_RANGE_0143_PID 0x0143 +#define MTXORB_FTDI_RANGE_0144_PID 0x0144 +#define MTXORB_FTDI_RANGE_0145_PID 0x0145 +#define MTXORB_FTDI_RANGE_0146_PID 0x0146 +#define MTXORB_FTDI_RANGE_0147_PID 0x0147 +#define MTXORB_FTDI_RANGE_0148_PID 0x0148 +#define MTXORB_FTDI_RANGE_0149_PID 0x0149 +#define MTXORB_FTDI_RANGE_014A_PID 0x014A +#define MTXORB_FTDI_RANGE_014B_PID 0x014B +#define MTXORB_FTDI_RANGE_014C_PID 0x014C +#define MTXORB_FTDI_RANGE_014D_PID 0x014D +#define MTXORB_FTDI_RANGE_014E_PID 0x014E +#define MTXORB_FTDI_RANGE_014F_PID 0x014F +#define MTXORB_FTDI_RANGE_0150_PID 0x0150 +#define MTXORB_FTDI_RANGE_0151_PID 0x0151 +#define MTXORB_FTDI_RANGE_0152_PID 0x0152 +#define MTXORB_FTDI_RANGE_0153_PID 0x0153 +#define MTXORB_FTDI_RANGE_0154_PID 0x0154 +#define MTXORB_FTDI_RANGE_0155_PID 0x0155 +#define MTXORB_FTDI_RANGE_0156_PID 0x0156 +#define MTXORB_FTDI_RANGE_0157_PID 0x0157 +#define MTXORB_FTDI_RANGE_0158_PID 0x0158 +#define MTXORB_FTDI_RANGE_0159_PID 0x0159 +#define MTXORB_FTDI_RANGE_015A_PID 0x015A +#define MTXORB_FTDI_RANGE_015B_PID 0x015B +#define MTXORB_FTDI_RANGE_015C_PID 0x015C +#define MTXORB_FTDI_RANGE_015D_PID 0x015D +#define MTXORB_FTDI_RANGE_015E_PID 0x015E +#define MTXORB_FTDI_RANGE_015F_PID 0x015F +#define MTXORB_FTDI_RANGE_0160_PID 0x0160 +#define MTXORB_FTDI_RANGE_0161_PID 0x0161 +#define MTXORB_FTDI_RANGE_0162_PID 0x0162 +#define MTXORB_FTDI_RANGE_0163_PID 0x0163 +#define MTXORB_FTDI_RANGE_0164_PID 0x0164 +#define MTXORB_FTDI_RANGE_0165_PID 0x0165 +#define MTXORB_FTDI_RANGE_0166_PID 0x0166 +#define MTXORB_FTDI_RANGE_0167_PID 0x0167 +#define MTXORB_FTDI_RANGE_0168_PID 0x0168 +#define MTXORB_FTDI_RANGE_0169_PID 0x0169 +#define MTXORB_FTDI_RANGE_016A_PID 0x016A +#define MTXORB_FTDI_RANGE_016B_PID 0x016B +#define MTXORB_FTDI_RANGE_016C_PID 0x016C +#define MTXORB_FTDI_RANGE_016D_PID 0x016D +#define MTXORB_FTDI_RANGE_016E_PID 0x016E +#define MTXORB_FTDI_RANGE_016F_PID 0x016F +#define MTXORB_FTDI_RANGE_0170_PID 0x0170 +#define MTXORB_FTDI_RANGE_0171_PID 0x0171 +#define MTXORB_FTDI_RANGE_0172_PID 0x0172 +#define MTXORB_FTDI_RANGE_0173_PID 0x0173 +#define MTXORB_FTDI_RANGE_0174_PID 0x0174 +#define MTXORB_FTDI_RANGE_0175_PID 0x0175 +#define MTXORB_FTDI_RANGE_0176_PID 0x0176 +#define MTXORB_FTDI_RANGE_0177_PID 0x0177 +#define MTXORB_FTDI_RANGE_0178_PID 0x0178 +#define MTXORB_FTDI_RANGE_0179_PID 0x0179 +#define MTXORB_FTDI_RANGE_017A_PID 0x017A +#define MTXORB_FTDI_RANGE_017B_PID 0x017B +#define MTXORB_FTDI_RANGE_017C_PID 0x017C +#define MTXORB_FTDI_RANGE_017D_PID 0x017D +#define MTXORB_FTDI_RANGE_017E_PID 0x017E +#define MTXORB_FTDI_RANGE_017F_PID 0x017F +#define MTXORB_FTDI_RANGE_0180_PID 0x0180 +#define MTXORB_FTDI_RANGE_0181_PID 0x0181 +#define MTXORB_FTDI_RANGE_0182_PID 0x0182 +#define MTXORB_FTDI_RANGE_0183_PID 0x0183 +#define MTXORB_FTDI_RANGE_0184_PID 0x0184 +#define MTXORB_FTDI_RANGE_0185_PID 0x0185 +#define MTXORB_FTDI_RANGE_0186_PID 0x0186 +#define MTXORB_FTDI_RANGE_0187_PID 0x0187 +#define MTXORB_FTDI_RANGE_0188_PID 0x0188 +#define MTXORB_FTDI_RANGE_0189_PID 0x0189 +#define MTXORB_FTDI_RANGE_018A_PID 0x018A +#define MTXORB_FTDI_RANGE_018B_PID 0x018B +#define MTXORB_FTDI_RANGE_018C_PID 0x018C +#define MTXORB_FTDI_RANGE_018D_PID 0x018D +#define MTXORB_FTDI_RANGE_018E_PID 0x018E +#define MTXORB_FTDI_RANGE_018F_PID 0x018F +#define MTXORB_FTDI_RANGE_0190_PID 0x0190 +#define MTXORB_FTDI_RANGE_0191_PID 0x0191 +#define MTXORB_FTDI_RANGE_0192_PID 0x0192 +#define MTXORB_FTDI_RANGE_0193_PID 0x0193 +#define MTXORB_FTDI_RANGE_0194_PID 0x0194 +#define MTXORB_FTDI_RANGE_0195_PID 0x0195 +#define MTXORB_FTDI_RANGE_0196_PID 0x0196 +#define MTXORB_FTDI_RANGE_0197_PID 0x0197 +#define MTXORB_FTDI_RANGE_0198_PID 0x0198 +#define MTXORB_FTDI_RANGE_0199_PID 0x0199 +#define MTXORB_FTDI_RANGE_019A_PID 0x019A +#define MTXORB_FTDI_RANGE_019B_PID 0x019B +#define MTXORB_FTDI_RANGE_019C_PID 0x019C +#define MTXORB_FTDI_RANGE_019D_PID 0x019D +#define MTXORB_FTDI_RANGE_019E_PID 0x019E +#define MTXORB_FTDI_RANGE_019F_PID 0x019F +#define MTXORB_FTDI_RANGE_01A0_PID 0x01A0 +#define MTXORB_FTDI_RANGE_01A1_PID 0x01A1 +#define MTXORB_FTDI_RANGE_01A2_PID 0x01A2 +#define MTXORB_FTDI_RANGE_01A3_PID 0x01A3 +#define MTXORB_FTDI_RANGE_01A4_PID 0x01A4 +#define MTXORB_FTDI_RANGE_01A5_PID 0x01A5 +#define MTXORB_FTDI_RANGE_01A6_PID 0x01A6 +#define MTXORB_FTDI_RANGE_01A7_PID 0x01A7 +#define MTXORB_FTDI_RANGE_01A8_PID 0x01A8 +#define MTXORB_FTDI_RANGE_01A9_PID 0x01A9 +#define MTXORB_FTDI_RANGE_01AA_PID 0x01AA +#define MTXORB_FTDI_RANGE_01AB_PID 0x01AB +#define MTXORB_FTDI_RANGE_01AC_PID 0x01AC +#define MTXORB_FTDI_RANGE_01AD_PID 0x01AD +#define MTXORB_FTDI_RANGE_01AE_PID 0x01AE +#define MTXORB_FTDI_RANGE_01AF_PID 0x01AF +#define MTXORB_FTDI_RANGE_01B0_PID 0x01B0 +#define MTXORB_FTDI_RANGE_01B1_PID 0x01B1 +#define MTXORB_FTDI_RANGE_01B2_PID 0x01B2 +#define MTXORB_FTDI_RANGE_01B3_PID 0x01B3 +#define MTXORB_FTDI_RANGE_01B4_PID 0x01B4 +#define MTXORB_FTDI_RANGE_01B5_PID 0x01B5 +#define MTXORB_FTDI_RANGE_01B6_PID 0x01B6 +#define MTXORB_FTDI_RANGE_01B7_PID 0x01B7 +#define MTXORB_FTDI_RANGE_01B8_PID 0x01B8 +#define MTXORB_FTDI_RANGE_01B9_PID 0x01B9 +#define MTXORB_FTDI_RANGE_01BA_PID 0x01BA +#define MTXORB_FTDI_RANGE_01BB_PID 0x01BB +#define MTXORB_FTDI_RANGE_01BC_PID 0x01BC +#define MTXORB_FTDI_RANGE_01BD_PID 0x01BD +#define MTXORB_FTDI_RANGE_01BE_PID 0x01BE +#define MTXORB_FTDI_RANGE_01BF_PID 0x01BF +#define MTXORB_FTDI_RANGE_01C0_PID 0x01C0 +#define MTXORB_FTDI_RANGE_01C1_PID 0x01C1 +#define MTXORB_FTDI_RANGE_01C2_PID 0x01C2 +#define MTXORB_FTDI_RANGE_01C3_PID 0x01C3 +#define MTXORB_FTDI_RANGE_01C4_PID 0x01C4 +#define MTXORB_FTDI_RANGE_01C5_PID 0x01C5 +#define MTXORB_FTDI_RANGE_01C6_PID 0x01C6 +#define MTXORB_FTDI_RANGE_01C7_PID 0x01C7 +#define MTXORB_FTDI_RANGE_01C8_PID 0x01C8 +#define MTXORB_FTDI_RANGE_01C9_PID 0x01C9 +#define MTXORB_FTDI_RANGE_01CA_PID 0x01CA +#define MTXORB_FTDI_RANGE_01CB_PID 0x01CB +#define MTXORB_FTDI_RANGE_01CC_PID 0x01CC +#define MTXORB_FTDI_RANGE_01CD_PID 0x01CD +#define MTXORB_FTDI_RANGE_01CE_PID 0x01CE +#define MTXORB_FTDI_RANGE_01CF_PID 0x01CF +#define MTXORB_FTDI_RANGE_01D0_PID 0x01D0 +#define MTXORB_FTDI_RANGE_01D1_PID 0x01D1 +#define MTXORB_FTDI_RANGE_01D2_PID 0x01D2 +#define MTXORB_FTDI_RANGE_01D3_PID 0x01D3 +#define MTXORB_FTDI_RANGE_01D4_PID 0x01D4 +#define MTXORB_FTDI_RANGE_01D5_PID 0x01D5 +#define MTXORB_FTDI_RANGE_01D6_PID 0x01D6 +#define MTXORB_FTDI_RANGE_01D7_PID 0x01D7 +#define MTXORB_FTDI_RANGE_01D8_PID 0x01D8 +#define MTXORB_FTDI_RANGE_01D9_PID 0x01D9 +#define MTXORB_FTDI_RANGE_01DA_PID 0x01DA +#define MTXORB_FTDI_RANGE_01DB_PID 0x01DB +#define MTXORB_FTDI_RANGE_01DC_PID 0x01DC +#define MTXORB_FTDI_RANGE_01DD_PID 0x01DD +#define MTXORB_FTDI_RANGE_01DE_PID 0x01DE +#define MTXORB_FTDI_RANGE_01DF_PID 0x01DF +#define MTXORB_FTDI_RANGE_01E0_PID 0x01E0 +#define MTXORB_FTDI_RANGE_01E1_PID 0x01E1 +#define MTXORB_FTDI_RANGE_01E2_PID 0x01E2 +#define MTXORB_FTDI_RANGE_01E3_PID 0x01E3 +#define MTXORB_FTDI_RANGE_01E4_PID 0x01E4 +#define MTXORB_FTDI_RANGE_01E5_PID 0x01E5 +#define MTXORB_FTDI_RANGE_01E6_PID 0x01E6 +#define MTXORB_FTDI_RANGE_01E7_PID 0x01E7 +#define MTXORB_FTDI_RANGE_01E8_PID 0x01E8 +#define MTXORB_FTDI_RANGE_01E9_PID 0x01E9 +#define MTXORB_FTDI_RANGE_01EA_PID 0x01EA +#define MTXORB_FTDI_RANGE_01EB_PID 0x01EB +#define MTXORB_FTDI_RANGE_01EC_PID 0x01EC +#define MTXORB_FTDI_RANGE_01ED_PID 0x01ED +#define MTXORB_FTDI_RANGE_01EE_PID 0x01EE +#define MTXORB_FTDI_RANGE_01EF_PID 0x01EF +#define MTXORB_FTDI_RANGE_01F0_PID 0x01F0 +#define MTXORB_FTDI_RANGE_01F1_PID 0x01F1 +#define MTXORB_FTDI_RANGE_01F2_PID 0x01F2 +#define MTXORB_FTDI_RANGE_01F3_PID 0x01F3 +#define MTXORB_FTDI_RANGE_01F4_PID 0x01F4 +#define MTXORB_FTDI_RANGE_01F5_PID 0x01F5 +#define MTXORB_FTDI_RANGE_01F6_PID 0x01F6 +#define MTXORB_FTDI_RANGE_01F7_PID 0x01F7 +#define MTXORB_FTDI_RANGE_01F8_PID 0x01F8 +#define MTXORB_FTDI_RANGE_01F9_PID 0x01F9 +#define MTXORB_FTDI_RANGE_01FA_PID 0x01FA +#define MTXORB_FTDI_RANGE_01FB_PID 0x01FB +#define MTXORB_FTDI_RANGE_01FC_PID 0x01FC +#define MTXORB_FTDI_RANGE_01FD_PID 0x01FD +#define MTXORB_FTDI_RANGE_01FE_PID 0x01FE +#define MTXORB_FTDI_RANGE_01FF_PID 0x01FF + + + +/* + * The Mobility Lab (TML) + * Submitted by Pierre Castella + */ +#define TML_VID 0x1B91 /* Vendor ID */ +#define TML_USB_SERIAL_PID 0x0064 /* USB - Serial Converter */ + +/* Alti-2 products http://www.alti-2.com */ +#define ALTI2_VID 0x1BC9 +#define ALTI2_N3_PID 0x6001 /* Neptune 3 */ + +/* + * Ionics PlugComputer + */ +#define IONICS_VID 0x1c0c +#define IONICS_PLUGCOMPUTER_PID 0x0102 + +/* + * Dresden Elektronic Sensor Terminal Board + */ +#define DE_VID 0x1cf1 /* Vendor ID */ +#define STB_PID 0x0001 /* Sensor Terminal Board */ +#define WHT_PID 0x0004 /* Wireless Handheld Terminal */ + +/* + * STMicroelectonics + */ +#define ST_VID 0x0483 +#define ST_STMCLT1030_PID 0x3747 /* ST Micro Connect Lite STMCLT1030 */ + +/* + * Papouch products (http://www.papouch.com/) + * Submitted by Folkert van Heusden + */ + +#define PAPOUCH_VID 0x5050 /* Vendor ID */ +#define PAPOUCH_SB485_PID 0x0100 /* Papouch SB485 USB-485/422 Converter */ +#define PAPOUCH_AP485_PID 0x0101 /* AP485 USB-RS485 Converter */ +#define PAPOUCH_SB422_PID 0x0102 /* Papouch SB422 USB-RS422 Converter */ +#define PAPOUCH_SB485_2_PID 0x0103 /* Papouch SB485 USB-485/422 Converter */ +#define PAPOUCH_AP485_2_PID 0x0104 /* AP485 USB-RS485 Converter */ +#define PAPOUCH_SB422_2_PID 0x0105 /* Papouch SB422 USB-RS422 Converter */ +#define PAPOUCH_SB485S_PID 0x0106 /* Papouch SB485S USB-485/422 Converter */ +#define PAPOUCH_SB485C_PID 0x0107 /* Papouch SB485C USB-485/422 Converter */ +#define PAPOUCH_LEC_PID 0x0300 /* LEC USB Converter */ +#define PAPOUCH_SB232_PID 0x0301 /* Papouch SB232 USB-RS232 Converter */ +#define PAPOUCH_TMU_PID 0x0400 /* TMU USB Thermometer */ +#define PAPOUCH_IRAMP_PID 0x0500 /* Papouch IRAmp Duplex */ +#define PAPOUCH_DRAK5_PID 0x0700 /* Papouch DRAK5 */ +#define PAPOUCH_QUIDO8x8_PID 0x0800 /* Papouch Quido 8/8 Module */ +#define PAPOUCH_QUIDO4x4_PID 0x0900 /* Papouch Quido 4/4 Module */ +#define PAPOUCH_QUIDO2x2_PID 0x0a00 /* Papouch Quido 2/2 Module */ +#define PAPOUCH_QUIDO10x1_PID 0x0b00 /* Papouch Quido 10/1 Module */ +#define PAPOUCH_QUIDO30x3_PID 0x0c00 /* Papouch Quido 30/3 Module */ +#define PAPOUCH_QUIDO60x3_PID 0x0d00 /* Papouch Quido 60(100)/3 Module */ +#define PAPOUCH_QUIDO2x16_PID 0x0e00 /* Papouch Quido 2/16 Module */ +#define PAPOUCH_QUIDO3x32_PID 0x0f00 /* Papouch Quido 3/32 Module */ +#define PAPOUCH_DRAK6_PID 0x1000 /* Papouch DRAK6 */ +#define PAPOUCH_UPSUSB_PID 0x8000 /* Papouch UPS-USB adapter */ +#define PAPOUCH_MU_PID 0x8001 /* MU controller */ +#define PAPOUCH_SIMUKEY_PID 0x8002 /* Papouch SimuKey */ +#define PAPOUCH_AD4USB_PID 0x8003 /* AD4USB Measurement Module */ +#define PAPOUCH_GMUX_PID 0x8004 /* Papouch GOLIATH MUX */ +#define PAPOUCH_GMSR_PID 0x8005 /* Papouch GOLIATH MSR */ + +/* + * Marvell SheevaPlug + */ +#define MARVELL_VID 0x9e88 +#define MARVELL_SHEEVAPLUG_PID 0x9e8f + +/* + * Evolution Robotics products (http://www.evolution.com/). + * Submitted by Shawn M. Lavelle. + */ +#define EVOLUTION_VID 0xDEEE /* Vendor ID */ +#define EVOLUTION_ER1_PID 0x0300 /* ER1 Control Module */ +#define EVO_8U232AM_PID 0x02FF /* Evolution robotics RCM2 (FT232AM)*/ +#define EVO_HYBRID_PID 0x0302 /* Evolution robotics RCM4 PID (FT232BM)*/ +#define EVO_RCM4_PID 0x0303 /* Evolution robotics RCM4 PID */ + +/* + * MJS Gadgets HD Radio / XM Radio / Sirius Radio interfaces (using VID 0x0403) + */ +#define MJSG_GENERIC_PID 0x9378 +#define MJSG_SR_RADIO_PID 0x9379 +#define MJSG_XM_RADIO_PID 0x937A +#define MJSG_HD_RADIO_PID 0x937C + +/* + * D.O.Tec products (http://www.directout.eu) + */ +#define FTDI_DOTEC_PID 0x9868 + +/* + * Xverve Signalyzer tools (http://www.signalyzer.com/) + */ +#define XVERVE_SIGNALYZER_ST_PID 0xBCA0 +#define XVERVE_SIGNALYZER_SLITE_PID 0xBCA1 +#define XVERVE_SIGNALYZER_SH2_PID 0xBCA2 +#define XVERVE_SIGNALYZER_SH4_PID 0xBCA4 + +/* + * Segway Robotic Mobility Platform USB interface (using VID 0x0403) + * Submitted by John G. Rogers + */ +#define SEGWAY_RMP200_PID 0xe729 + + +/* + * Accesio USB Data Acquisition products (http://www.accesio.com/) + */ +#define ACCESIO_COM4SM_PID 0xD578 + +/* www.sciencescope.co.uk educational dataloggers */ +#define FTDI_SCIENCESCOPE_LOGBOOKML_PID 0xFF18 +#define FTDI_SCIENCESCOPE_LS_LOGBOOK_PID 0xFF1C +#define FTDI_SCIENCESCOPE_HS_LOGBOOK_PID 0xFF1D + +/* + * Milkymist One JTAG/Serial + */ +#define QIHARDWARE_VID 0x20B7 +#define MILKYMISTONE_JTAGSERIAL_PID 0x0713 + +/* + * CTI GmbH RS485 Converter http://www.cti-lean.com/ + */ +/* USB-485-Mini*/ +#define FTDI_CTI_MINI_PID 0xF608 +/* USB-Nano-485*/ +#define FTDI_CTI_NANO_PID 0xF60B + +/* + * ZeitControl cardsystems GmbH rfid-readers http://zeitconrol.de + */ +/* TagTracer MIFARE*/ +#define FTDI_ZEITCONTROL_TAGTRACE_MIFARE_PID 0xF7C0 + +/* + * Rainforest Automation + */ +/* ZigBee controller */ +#define FTDI_RF_R106 0x8A28 + +/* + * Product: HCP HIT GPRS modem + * Manufacturer: HCP d.o.o. + * ATI command output: Cinterion MC55i + */ +#define FTDI_CINTERION_MC55I_PID 0xA951 --- linux-2.6.32.orig/drivers/usb/storage/protocol.c +++ linux-2.6.32/drivers/usb/storage/protocol.c @@ -58,7 +58,9 @@ void usb_stor_pad12_command(struct scsi_cmnd *srb, struct us_data *us) { - /* Pad the SCSI command with zeros out to 12 bytes + /* + * Pad the SCSI command with zeros out to 12 bytes. If the + * command already is 12 bytes or longer, leave it alone. * * NOTE: This only works because a scsi_cmnd struct field contains * a unsigned char cmnd[16], so we know we have storage available @@ -66,9 +68,6 @@ for (; srb->cmd_len<12; srb->cmd_len++) srb->cmnd[srb->cmd_len] = 0; - /* set command length to 12 bytes */ - srb->cmd_len = 12; - /* send the command to the transport layer */ usb_stor_invoke_transport(srb, us); } --- linux-2.6.32.orig/drivers/usb/storage/sierra_ms.c +++ linux-2.6.32/drivers/usb/storage/sierra_ms.c @@ -120,7 +120,7 @@ } return result; } -static DEVICE_ATTR(truinst, S_IWUGO | S_IRUGO, show_truinst, NULL); +static DEVICE_ATTR(truinst, S_IRUGO, show_truinst, NULL); int sierra_ms_init(struct us_data *us) { --- linux-2.6.32.orig/drivers/usb/storage/transport.c +++ linux-2.6.32/drivers/usb/storage/transport.c @@ -666,10 +666,11 @@ * to wait for at least one CHECK_CONDITION to determine * SANE_SENSE support */ - if ((srb->cmnd[0] == ATA_16 || srb->cmnd[0] == ATA_12) && + if (unlikely((srb->cmnd[0] == ATA_16 || srb->cmnd[0] == ATA_12) && result == USB_STOR_TRANSPORT_GOOD && !(us->fflags & US_FL_SANE_SENSE) && - !(srb->cmnd[2] & 0x20)) { + !(us->fflags & US_FL_BAD_SENSE) && + !(srb->cmnd[2] & 0x20))) { US_DEBUGP("-- SAT supported, increasing auto-sense\n"); us->fflags |= US_FL_SANE_SENSE; } @@ -692,6 +693,9 @@ int temp_result; struct scsi_eh_save ses; int sense_size = US_SENSE_SIZE; + struct scsi_sense_hdr sshdr; + const u8 *scdd; + u8 fm_ili; /* device supports and needs bigger sense buffer */ if (us->fflags & US_FL_SANE_SENSE) @@ -718,6 +722,12 @@ if (test_bit(US_FLIDX_TIMED_OUT, &us->dflags)) { US_DEBUGP("-- auto-sense aborted\n"); srb->result = DID_ABORT << 16; + + /* If SANE_SENSE caused this problem, disable it */ + if (sense_size != US_SENSE_SIZE) { + us->fflags &= ~US_FL_SANE_SENSE; + us->fflags |= US_FL_BAD_SENSE; + } goto Handle_Errors; } @@ -727,10 +737,11 @@ * (small) sense request. This fixes some USB GSM modems */ if (temp_result == USB_STOR_TRANSPORT_FAILED && - (us->fflags & US_FL_SANE_SENSE) && - sense_size != US_SENSE_SIZE) { + sense_size != US_SENSE_SIZE) { US_DEBUGP("-- auto-sense failure, retry small sense\n"); sense_size = US_SENSE_SIZE; + us->fflags &= ~US_FL_SANE_SENSE; + us->fflags |= US_FL_BAD_SENSE; goto Retry_Sense; } @@ -754,6 +765,7 @@ */ if (srb->sense_buffer[7] > (US_SENSE_SIZE - 8) && !(us->fflags & US_FL_SANE_SENSE) && + !(us->fflags & US_FL_BAD_SENSE) && (srb->sense_buffer[0] & 0x7C) == 0x70) { US_DEBUGP("-- SANE_SENSE support enabled\n"); us->fflags |= US_FL_SANE_SENSE; @@ -767,32 +779,30 @@ srb->sense_buffer[7] = (US_SENSE_SIZE - 8); } + scsi_normalize_sense(srb->sense_buffer, SCSI_SENSE_BUFFERSIZE, + &sshdr); + US_DEBUGP("-- Result from auto-sense is %d\n", temp_result); US_DEBUGP("-- code: 0x%x, key: 0x%x, ASC: 0x%x, ASCQ: 0x%x\n", - srb->sense_buffer[0], - srb->sense_buffer[2] & 0xf, - srb->sense_buffer[12], - srb->sense_buffer[13]); + sshdr.response_code, sshdr.sense_key, + sshdr.asc, sshdr.ascq); #ifdef CONFIG_USB_STORAGE_DEBUG - usb_stor_show_sense( - srb->sense_buffer[2] & 0xf, - srb->sense_buffer[12], - srb->sense_buffer[13]); + usb_stor_show_sense(sshdr.sense_key, sshdr.asc, sshdr.ascq); #endif /* set the result so the higher layers expect this data */ srb->result = SAM_STAT_CHECK_CONDITION; + scdd = scsi_sense_desc_find(srb->sense_buffer, + SCSI_SENSE_BUFFERSIZE, 4); + fm_ili = (scdd ? scdd[3] : srb->sense_buffer[2]) & 0xA0; + /* We often get empty sense data. This could indicate that * everything worked or that there was an unspecified * problem. We have to decide which. */ - if ( /* Filemark 0, ignore EOM, ILI 0, no sense */ - (srb->sense_buffer[2] & 0xaf) == 0 && - /* No ASC or ASCQ */ - srb->sense_buffer[12] == 0 && - srb->sense_buffer[13] == 0) { - + if (sshdr.sense_key == 0 && sshdr.asc == 0 && sshdr.ascq == 0 && + fm_ili == 0) { /* If things are really okay, then let's show that. * Zero out the sense buffer so the higher layers * won't realize we did an unsolicited auto-sense. @@ -807,7 +817,10 @@ */ } else { srb->result = DID_ERROR << 16; - srb->sense_buffer[2] = HARDWARE_ERROR; + if ((sshdr.response_code & 0x72) == 0x72) + srb->sense_buffer[1] = HARDWARE_ERROR; + else + srb->sense_buffer[2] = HARDWARE_ERROR; } } } --- linux-2.6.32.orig/drivers/usb/storage/unusual_cypress.h +++ linux-2.6.32/drivers/usb/storage/unusual_cypress.h @@ -31,4 +31,9 @@ "Cypress ISD-300LP", US_SC_CYP_ATACB, US_PR_DEVICE, NULL, 0), +UNUSUAL_DEV( 0x14cd, 0x6116, 0x0000, 0x9999, + "Super Top", + "USB 2.0 SATA BRIDGE", + US_SC_CYP_ATACB, US_PR_DEVICE, NULL, 0), + #endif /* defined(CONFIG_USB_STORAGE_CYPRESS_ATACB) || ... */ --- linux-2.6.32.orig/drivers/usb/storage/unusual_devs.h +++ linux-2.6.32/drivers/usb/storage/unusual_devs.h @@ -481,6 +481,13 @@ US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_MAX_SECTORS_64), +/* Reported by Vitaly Kuznetsov */ +UNUSUAL_DEV( 0x04e8, 0x5122, 0x0000, 0x9999, + "Samsung", + "YP-CP3", + US_SC_DEVICE, US_PR_DEVICE, NULL, + US_FL_MAX_SECTORS_64 | US_FL_BULK_IGNORE_TAG), + /* 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. @@ -818,6 +825,13 @@ US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_CAPACITY ), +/* Reported by Daniel Kukula */ +UNUSUAL_DEV( 0x067b, 0x1063, 0x0100, 0x0100, + "Prolific Technology, Inc.", + "Prolific Storage Gadget", + US_SC_DEVICE, US_PR_DEVICE, NULL, + US_FL_BAD_SENSE ), + /* Reported by Rogerio Brito */ UNUSUAL_DEV( 0x067b, 0x2317, 0x0001, 0x001, "Prolific Technology, Inc.", @@ -1029,6 +1043,15 @@ US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_BULK32), +/* Reported by + * The device reports a vendor-specific device class, requiring an + * explicit vendor/product match. + */ +UNUSUAL_DEV( 0x0851, 0x1542, 0x0002, 0x0002, + "MagicPixel", + "FW_Omega2", + US_SC_DEVICE, US_PR_DEVICE, NULL, 0), + /* Andrew Lunn * PanDigital Digital Picture Frame. Does not like ALLOW_MEDIUM_REMOVAL * on LUN 4. @@ -1129,6 +1152,13 @@ US_SC_DEVICE, US_PR_DEVICE, option_ms_init, 0), +/* Reported by Timo Aaltonen */ +UNUSUAL_DEV( 0x0af0, 0x7011, 0x0000, 0x9999, + "Option", + "Mass Storage", + US_SC_DEVICE, US_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 @@ -1140,8 +1170,8 @@ 0 ), /* Reported by Jan Dumon - * This device (wrongly) has a vendor-specific device descriptor. - * The entry is needed so usb-storage can bind to it's mass-storage + * These devices (wrongly) have a vendor-specific device descriptor. + * These entries are needed so usb-storage can bind to their mass-storage * interface as an interface driver */ UNUSUAL_DEV( 0x0af0, 0x7501, 0x0000, 0x0000, "Option", @@ -1149,6 +1179,90 @@ US_SC_DEVICE, US_PR_DEVICE, NULL, 0 ), +UNUSUAL_DEV( 0x0af0, 0x7701, 0x0000, 0x0000, + "Option", + "GI 0451 SD-Card", + US_SC_DEVICE, US_PR_DEVICE, NULL, + 0 ), + +UNUSUAL_DEV( 0x0af0, 0x7706, 0x0000, 0x0000, + "Option", + "GI 0451 SD-Card", + US_SC_DEVICE, US_PR_DEVICE, NULL, + 0 ), + +UNUSUAL_DEV( 0x0af0, 0x7901, 0x0000, 0x0000, + "Option", + "GI 0452 SD-Card", + US_SC_DEVICE, US_PR_DEVICE, NULL, + 0 ), + +UNUSUAL_DEV( 0x0af0, 0x7A01, 0x0000, 0x0000, + "Option", + "GI 0461 SD-Card", + US_SC_DEVICE, US_PR_DEVICE, NULL, + 0 ), + +UNUSUAL_DEV( 0x0af0, 0x7A05, 0x0000, 0x0000, + "Option", + "GI 0461 SD-Card", + US_SC_DEVICE, US_PR_DEVICE, NULL, + 0 ), + +UNUSUAL_DEV( 0x0af0, 0x8300, 0x0000, 0x0000, + "Option", + "GI 033x SD-Card", + US_SC_DEVICE, US_PR_DEVICE, NULL, + 0 ), + +UNUSUAL_DEV( 0x0af0, 0x8302, 0x0000, 0x0000, + "Option", + "GI 033x SD-Card", + US_SC_DEVICE, US_PR_DEVICE, NULL, + 0 ), + +UNUSUAL_DEV( 0x0af0, 0x8304, 0x0000, 0x0000, + "Option", + "GI 033x SD-Card", + US_SC_DEVICE, US_PR_DEVICE, NULL, + 0 ), + +UNUSUAL_DEV( 0x0af0, 0xc100, 0x0000, 0x0000, + "Option", + "GI 070x SD-Card", + US_SC_DEVICE, US_PR_DEVICE, NULL, + 0 ), + +UNUSUAL_DEV( 0x0af0, 0xd057, 0x0000, 0x0000, + "Option", + "GI 1505 SD-Card", + US_SC_DEVICE, US_PR_DEVICE, NULL, + 0 ), + +UNUSUAL_DEV( 0x0af0, 0xd058, 0x0000, 0x0000, + "Option", + "GI 1509 SD-Card", + US_SC_DEVICE, US_PR_DEVICE, NULL, + 0 ), + +UNUSUAL_DEV( 0x0af0, 0xd157, 0x0000, 0x0000, + "Option", + "GI 1515 SD-Card", + US_SC_DEVICE, US_PR_DEVICE, NULL, + 0 ), + +UNUSUAL_DEV( 0x0af0, 0xd257, 0x0000, 0x0000, + "Option", + "GI 1215 SD-Card", + US_SC_DEVICE, US_PR_DEVICE, NULL, + 0 ), + +UNUSUAL_DEV( 0x0af0, 0xd357, 0x0000, 0x0000, + "Option", + "GI 1505 SD-Card", + US_SC_DEVICE, US_PR_DEVICE, NULL, + 0 ), + /* Reported by Ben Efros */ UNUSUAL_DEV( 0x0bc2, 0x3010, 0x0000, 0x0000, "Seagate", @@ -1303,6 +1417,13 @@ US_FL_IGNORE_DEVICE ), #endif +/* Submitted by Nick Holloway */ +UNUSUAL_DEV( 0x0f88, 0x042e, 0x0100, 0x0100, + "VTech", + "Kidizoom", + US_SC_DEVICE, US_PR_DEVICE, NULL, + US_FL_FIX_CAPACITY ), + /* Reported by Michael Stattmann */ UNUSUAL_DEV( 0x0fce, 0xd008, 0x0000, 0x0000, "Sony Ericsson", @@ -1743,6 +1864,13 @@ US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_IGNORE_RESIDUE ), +/* Reported by Qinglin Ye */ +UNUSUAL_DEV( 0x13fe, 0x3600, 0x0100, 0x0100, + "Kingston", + "DT 101 G2", + US_SC_DEVICE, US_PR_DEVICE, NULL, + US_FL_BULK_IGNORE_TAG ), + /* Reported by Francesco Foresti */ UNUSUAL_DEV( 0x14cd, 0x6600, 0x0201, 0x0201, "Super Top", @@ -1767,6 +1895,37 @@ US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_IGNORE_RESIDUE ), +/* Reported by Hans de Goede + * These Appotech controllers are found in Picture Frames, they provide a + * (buggy) emulation of a cdrom drive which contains the windows software + * Uploading of pictures happens over the corresponding /dev/sg device. */ +UNUSUAL_DEV( 0x1908, 0x1315, 0x0000, 0x0000, + "BUILDWIN", + "Photo Frame", + US_SC_DEVICE, US_PR_DEVICE, NULL, + US_FL_BAD_SENSE ), +UNUSUAL_DEV( 0x1908, 0x1320, 0x0000, 0x0000, + "BUILDWIN", + "Photo Frame", + US_SC_DEVICE, US_PR_DEVICE, NULL, + US_FL_BAD_SENSE ), + +/* Patch by Richard Schütz + * This external hard drive enclosure uses a JMicron chip which + * needs the US_FL_IGNORE_RESIDUE flag to work properly. */ +UNUSUAL_DEV( 0x1e68, 0x001b, 0x0000, 0x0000, + "TrekStor GmbH & Co. KG", + "DataStation maxi g.u", + US_SC_DEVICE, US_PR_DEVICE, NULL, + US_FL_IGNORE_RESIDUE | US_FL_SANE_SENSE ), + +/* Reported by Jasper Mackenzie */ +UNUSUAL_DEV( 0x1e74, 0x4621, 0x0000, 0x0000, + "Coby Electronics", + "MP3 Player", + US_SC_DEVICE, US_PR_DEVICE, NULL, + US_FL_BULK_IGNORE_TAG | US_FL_MAX_SECTORS_64 ), + UNUSUAL_DEV( 0x2116, 0x0320, 0x0001, 0x0001, "ST", "2A", @@ -1800,13 +1959,6 @@ US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_GO_SLOW ), -/* Reported by Rohan Hart */ -UNUSUAL_DEV( 0x2770, 0x915d, 0x0010, 0x0010, - "INTOVA", - "Pixtreme", - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_FIX_CAPACITY ), - /* Reported by Frederic Marchal * Mio Moov 330 */ @@ -1839,6 +1991,16 @@ "Micro Mini 1GB", US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_NOT_LOCKABLE ), +/* + * Nick Bowler + * SCSI stack spams (otherwise harmless) error messages. + */ +UNUSUAL_DEV( 0xc251, 0x4003, 0x0100, 0x0100, + "Keil Software, Inc.", + "V2M MotherBoard", + US_SC_DEVICE, US_PR_DEVICE, NULL, + US_FL_NOT_LOCKABLE), + /* Reported by Andrew Simmons */ UNUSUAL_DEV( 0xed06, 0x4500, 0x0001, 0x0001, "DataStor", --- linux-2.6.32.orig/drivers/usb/storage/usb.c +++ linux-2.6.32/drivers/usb/storage/usb.c @@ -228,6 +228,7 @@ if (data_len<36) // You lose. return; + memset(data+8, ' ', 28); if(data[0]&0x20) { /* USB device currently not connected. Return peripheral qualifier 001b ("...however, the physical device is not currently connected @@ -237,15 +238,15 @@ device, it may return zeros or ASCII spaces (20h) in those fields until the data is available from the device."). */ - memset(data+8,0,28); } else { u16 bcdDevice = le16_to_cpu(us->pusb_dev->descriptor.bcdDevice); - memcpy(data+8, us->unusual_dev->vendorName, - strlen(us->unusual_dev->vendorName) > 8 ? 8 : - strlen(us->unusual_dev->vendorName)); - memcpy(data+16, us->unusual_dev->productName, - strlen(us->unusual_dev->productName) > 16 ? 16 : - strlen(us->unusual_dev->productName)); + int n; + + n = strlen(us->unusual_dev->vendorName); + memcpy(data+8, us->unusual_dev->vendorName, min(8, n)); + n = strlen(us->unusual_dev->productName); + memcpy(data+16, us->unusual_dev->productName, min(16, n)); + data[32] = 0x30 + ((bcdDevice>>12) & 0x0F); data[33] = 0x30 + ((bcdDevice>>8) & 0x0F); data[34] = 0x30 + ((bcdDevice>>4) & 0x0F); @@ -429,7 +430,8 @@ u16 vid = le16_to_cpu(us->pusb_dev->descriptor.idVendor); u16 pid = le16_to_cpu(us->pusb_dev->descriptor.idProduct); unsigned f = 0; - unsigned int mask = (US_FL_SANE_SENSE | US_FL_FIX_CAPACITY | + unsigned int mask = (US_FL_SANE_SENSE | US_FL_BAD_SENSE | + US_FL_FIX_CAPACITY | US_FL_CAPACITY_HEURISTICS | US_FL_IGNORE_DEVICE | US_FL_NOT_LOCKABLE | US_FL_MAX_SECTORS_64 | US_FL_CAPACITY_OK | US_FL_IGNORE_RESIDUE | @@ -459,6 +461,9 @@ case 'a': f |= US_FL_SANE_SENSE; break; + case 'b': + f |= US_FL_BAD_SENSE; + break; case 'c': f |= US_FL_FIX_CAPACITY; break; @@ -1020,6 +1025,7 @@ .post_reset = usb_stor_post_reset, .id_table = usb_storage_usb_ids, .soft_unbind = 1, + .no_dynamic_id = 1, }; static int __init usb_stor_init(void) --- linux-2.6.32.orig/drivers/video/Kconfig +++ linux-2.6.32/drivers/video/Kconfig @@ -688,8 +688,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-2.6.32.orig/drivers/video/atmel_lcdfb.c +++ linux-2.6.32/drivers/video/atmel_lcdfb.c @@ -1052,7 +1052,7 @@ */ lcdc_writel(sinfo, ATMEL_LCDC_IDR, ~0UL); - sinfo->saved_lcdcon = lcdc_readl(sinfo, ATMEL_LCDC_CONTRAST_VAL); + sinfo->saved_lcdcon = lcdc_readl(sinfo, ATMEL_LCDC_CONTRAST_CTR); lcdc_writel(sinfo, ATMEL_LCDC_CONTRAST_CTR, 0); if (sinfo->atmel_lcdfb_power_control) sinfo->atmel_lcdfb_power_control(0); --- linux-2.6.32.orig/drivers/video/bfin-t350mcqb-fb.c +++ linux-2.6.32/drivers/video/bfin-t350mcqb-fb.c @@ -515,9 +515,9 @@ fbinfo->fbops = &bfin_t350mcqb_fb_ops; fbinfo->flags = FBINFO_FLAG_DEFAULT; - info->fb_buffer = - dma_alloc_coherent(NULL, fbinfo->fix.smem_len, &info->dma_handle, - GFP_KERNEL); + info->fb_buffer = dma_alloc_coherent(NULL, fbinfo->fix.smem_len + + ACTIVE_VIDEO_MEM_OFFSET, + &info->dma_handle, GFP_KERNEL); if (NULL == info->fb_buffer) { printk(KERN_ERR DRIVER_NAME @@ -587,8 +587,8 @@ out6: fb_dealloc_cmap(&fbinfo->cmap); out4: - dma_free_coherent(NULL, fbinfo->fix.smem_len, info->fb_buffer, - info->dma_handle); + dma_free_coherent(NULL, fbinfo->fix.smem_len + ACTIVE_VIDEO_MEM_OFFSET, + info->fb_buffer, info->dma_handle); out3: framebuffer_release(fbinfo); out2: @@ -611,8 +611,9 @@ free_irq(info->irq, info); if (info->fb_buffer != NULL) - dma_free_coherent(NULL, fbinfo->fix.smem_len, info->fb_buffer, - info->dma_handle); + dma_free_coherent(NULL, fbinfo->fix.smem_len + + ACTIVE_VIDEO_MEM_OFFSET, info->fb_buffer, + info->dma_handle); fb_dealloc_cmap(&fbinfo->cmap); --- linux-2.6.32.orig/drivers/video/carminefb.c +++ linux-2.6.32/drivers/video/carminefb.c @@ -31,11 +31,11 @@ #define CARMINEFB_DEFAULT_VIDEO_MODE 1 static unsigned int fb_mode = CARMINEFB_DEFAULT_VIDEO_MODE; -module_param(fb_mode, uint, 444); +module_param(fb_mode, uint, 0444); MODULE_PARM_DESC(fb_mode, "Initial video mode as integer."); static char *fb_mode_str; -module_param(fb_mode_str, charp, 444); +module_param(fb_mode_str, charp, 0444); MODULE_PARM_DESC(fb_mode_str, "Initial video mode in characters."); /* @@ -45,7 +45,7 @@ * 0b010 Display 1 */ static int fb_displays = CARMINE_USE_DISPLAY0 | CARMINE_USE_DISPLAY1; -module_param(fb_displays, int, 444); +module_param(fb_displays, int, 0444); MODULE_PARM_DESC(fb_displays, "Bit mode, which displays are used"); struct carmine_hw { --- linux-2.6.32.orig/drivers/video/efifb.c +++ linux-2.6.32/drivers/video/efifb.c @@ -13,7 +13,7 @@ #include #include #include - +#include #include